nih-gov/cit.nih.gov/themes/custom/customer_portal_theme/css/style.css?sk17fb
2025-02-26 17:28:32 -05:00

22181 lines
2.2 MiB

/*
Theme Name: Bootstrap 4 Sass
Description: Bootstrap 4 with Sass
*/
/* VARIABLES */
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Fjalla+One&display=swap");
:root,
[data-bs-theme=light] {
--bs-blue: #0d6efd;
--bs-indigo: #6610f2;
--bs-purple: #6f42c1;
--bs-pink: #d63384;
--bs-red: #20588A;
--bs-orange: #fd7e14;
--bs-yellow: #ffc107;
--bs-green: #28a745;
--bs-teal: #20c997;
--bs-cyan: #17a2b8;
--bs-black: #000;
--bs-white: #fff;
--bs-gray: #6c757d;
--bs-gray-dark: #343a40;
--bs-gray-100: #f8f9fa;
--bs-gray-200: #e9ecef;
--bs-gray-300: #dee2e6;
--bs-gray-400: #ced4da;
--bs-gray-500: #adb5bd;
--bs-gray-600: #6c757d;
--bs-gray-700: #495057;
--bs-gray-800: #343a40;
--bs-gray-900: #212529;
--bs-primary: #0079C0;
--bs-secondary: rgb(255, 78, 46);
--bs-success: #28a745;
--bs-info: #17a2b8;
--bs-warning: #ffc107;
--bs-danger: #20588A;
--bs-light: #f8f9fa;
--bs-dark: #343a40;
--bs-primary-rgb: 0, 121, 192;
--bs-secondary-rgb: 255, 78, 46;
--bs-success-rgb: 40, 167, 69;
--bs-info-rgb: 23, 162, 184;
--bs-warning-rgb: 255, 193, 7;
--bs-danger-rgb: 32, 88, 138;
--bs-light-rgb: 248, 249, 250;
--bs-dark-rgb: 52, 58, 64;
--bs-primary-text-emphasis: #00304d;
--bs-secondary-text-emphasis: #661f12;
--bs-success-text-emphasis: #10431c;
--bs-info-text-emphasis: #09414a;
--bs-warning-text-emphasis: #664d03;
--bs-danger-text-emphasis: #0d2337;
--bs-light-text-emphasis: #495057;
--bs-dark-text-emphasis: #495057;
--bs-primary-bg-subtle: #cce4f2;
--bs-secondary-bg-subtle: #ffdcd5;
--bs-success-bg-subtle: #d4edda;
--bs-info-bg-subtle: #d1ecf1;
--bs-warning-bg-subtle: #fff3cd;
--bs-danger-bg-subtle: #d2dee8;
--bs-light-bg-subtle: #fcfcfd;
--bs-dark-bg-subtle: #ced4da;
--bs-primary-border-subtle: #99c9e6;
--bs-secondary-border-subtle: #ffb8ab;
--bs-success-border-subtle: #a9dcb5;
--bs-info-border-subtle: #a2dae3;
--bs-warning-border-subtle: #ffe69c;
--bs-danger-border-subtle: #a6bcd0;
--bs-light-border-subtle: #e9ecef;
--bs-dark-border-subtle: #adb5bd;
--bs-white-rgb: 255, 255, 255;
--bs-black-rgb: 0, 0, 0;
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
--bs-body-font-family: var(--bs-font-sans-serif);
--bs-body-font-size: 1rem;
--bs-body-font-weight: 400;
--bs-body-line-height: 1.5;
--bs-body-color: #343a40;
--bs-body-color-rgb: 52, 58, 64;
--bs-body-bg: #fff;
--bs-body-bg-rgb: 255, 255, 255;
--bs-emphasis-color: #000;
--bs-emphasis-color-rgb: 0, 0, 0;
--bs-secondary-color: rgba(52, 58, 64, 0.75);
--bs-secondary-color-rgb: 52, 58, 64;
--bs-secondary-bg: #e9ecef;
--bs-secondary-bg-rgb: 233, 236, 239;
--bs-tertiary-color: rgba(52, 58, 64, 0.5);
--bs-tertiary-color-rgb: 52, 58, 64;
--bs-tertiary-bg: #f8f9fa;
--bs-tertiary-bg-rgb: 248, 249, 250;
--bs-heading-color: inherit;
--bs-link-color: #0079C0;
--bs-link-color-rgb: 0, 121, 192;
--bs-link-decoration: none;
--bs-link-hover-color: #00619a;
--bs-link-hover-color-rgb: 0, 97, 154;
--bs-code-color: #d63384;
--bs-highlight-color: #343a40;
--bs-highlight-bg: #fff3cd;
--bs-border-width: 1px;
--bs-border-style: solid;
--bs-border-color: #dee2e6;
--bs-border-color-translucent: rgba(0, 0, 0, 0.175);
--bs-border-radius: 0.375rem;
--bs-border-radius-sm: 0.25rem;
--bs-border-radius-lg: 0.5rem;
--bs-border-radius-xl: 1rem;
--bs-border-radius-xxl: 2rem;
--bs-border-radius-2xl: var(--bs-border-radius-xxl);
--bs-border-radius-pill: 50rem;
--bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
--bs-focus-ring-width: 0.25rem;
--bs-focus-ring-opacity: 0.25;
--bs-focus-ring-color: rgba(0, 121, 192, 0.25);
--bs-form-valid-color: #28a745;
--bs-form-valid-border-color: #28a745;
--bs-form-invalid-color: #20588A;
--bs-form-invalid-border-color: #20588A;
}
[data-bs-theme=dark] {
color-scheme: dark;
--bs-body-color: #dee2e6;
--bs-body-color-rgb: 222, 226, 230;
--bs-body-bg: #212529;
--bs-body-bg-rgb: 33, 37, 41;
--bs-emphasis-color: #fff;
--bs-emphasis-color-rgb: 255, 255, 255;
--bs-secondary-color: rgba(222, 226, 230, 0.75);
--bs-secondary-color-rgb: 222, 226, 230;
--bs-secondary-bg: #343a40;
--bs-secondary-bg-rgb: 52, 58, 64;
--bs-tertiary-color: rgba(222, 226, 230, 0.5);
--bs-tertiary-color-rgb: 222, 226, 230;
--bs-tertiary-bg: #2b3035;
--bs-tertiary-bg-rgb: 43, 48, 53;
--bs-primary-text-emphasis: #66afd9;
--bs-secondary-text-emphasis: #ff9582;
--bs-success-text-emphasis: #7eca8f;
--bs-info-text-emphasis: #74c7d4;
--bs-warning-text-emphasis: #ffda6a;
--bs-danger-text-emphasis: #799bb9;
--bs-light-text-emphasis: #f8f9fa;
--bs-dark-text-emphasis: #dee2e6;
--bs-primary-bg-subtle: #001826;
--bs-secondary-bg-subtle: #331009;
--bs-success-bg-subtle: #08210e;
--bs-info-bg-subtle: #052025;
--bs-warning-bg-subtle: #332701;
--bs-danger-bg-subtle: #06121c;
--bs-light-bg-subtle: #343a40;
--bs-dark-bg-subtle: #1a1d20;
--bs-primary-border-subtle: #004973;
--bs-secondary-border-subtle: #992f1c;
--bs-success-border-subtle: #186429;
--bs-info-border-subtle: #0e616e;
--bs-warning-border-subtle: #997404;
--bs-danger-border-subtle: #133553;
--bs-light-border-subtle: #495057;
--bs-dark-border-subtle: #343a40;
--bs-heading-color: inherit;
--bs-link-color: #66afd9;
--bs-link-hover-color: #85bfe1;
--bs-link-color-rgb: 102, 175, 217;
--bs-link-hover-color-rgb: 133, 191, 225;
--bs-code-color: #e685b5;
--bs-highlight-color: #dee2e6;
--bs-highlight-bg: #664d03;
--bs-border-color: #495057;
--bs-border-color-translucent: rgba(255, 255, 255, 0.15);
--bs-form-valid-color: #7eca8f;
--bs-form-valid-border-color: #7eca8f;
--bs-form-invalid-color: #799bb9;
--bs-form-invalid-border-color: #799bb9;
}
*,
*::before,
*::after {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
@media (prefers-reduced-motion: no-preference) {
:root {
scroll-behavior: smooth;
}
}
body {
margin: 0;
font-family: var(--bs-body-font-family);
font-size: var(--bs-body-font-size);
font-weight: var(--bs-body-font-weight);
line-height: var(--bs-body-line-height);
color: var(--bs-body-color);
text-align: var(--bs-body-text-align);
background-color: var(--bs-body-bg);
-webkit-text-size-adjust: 100%;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
hr {
margin: 1rem 0;
color: inherit;
border: 0;
border-top: var(--bs-border-width) solid;
opacity: 0.25;
}
h6, h5, h4, h3, h2, h1 {
margin-top: 0;
margin-bottom: 0.5rem;
font-weight: 500;
line-height: 1.2;
color: var(--bs-heading-color);
}
h1 {
font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 75rem) {
h1 {
font-size: 2.5rem;
}
}
h2 {
font-size: calc(1.325rem + 0.9vw);
}
@media (min-width: 75rem) {
h2 {
font-size: 2rem;
}
}
h3 {
font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 75rem) {
h3 {
font-size: 1.75rem;
}
}
h4 {
font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 75rem) {
h4 {
font-size: 1.5rem;
}
}
h5 {
font-size: 1.25rem;
}
h6 {
font-size: 1rem;
}
p {
margin-top: 0;
margin-bottom: 1rem;
}
abbr[title] {
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
cursor: help;
text-decoration-skip-ink: none;
}
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}
ol,
ul {
padding-left: 2rem;
}
ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem;
}
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
dt {
font-weight: 700;
}
dd {
margin-bottom: 0.5rem;
margin-left: 0;
}
blockquote {
margin: 0 0 1rem;
}
b,
strong {
font-weight: bolder;
}
small {
font-size: 0.875em;
}
mark {
padding: 0.1875em;
color: var(--bs-highlight-color);
background-color: var(--bs-highlight-bg);
}
sub,
sup {
position: relative;
font-size: 0.75em;
line-height: 0;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
a {
color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
text-decoration: none;
}
a:hover {
--bs-link-color-rgb: var(--bs-link-hover-color-rgb);
}
a:not([href]):not([class]), a:not([href]):not([class]):hover {
color: inherit;
text-decoration: none;
}
pre,
code,
kbd,
samp {
font-family: var(--bs-font-monospace);
font-size: 1em;
}
pre {
display: block;
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
font-size: 0.875em;
}
pre code {
font-size: inherit;
color: inherit;
word-break: normal;
}
code {
font-size: 0.875em;
color: var(--bs-code-color);
word-wrap: break-word;
}
a > code {
color: inherit;
}
kbd {
padding: 0.1875rem 0.375rem;
font-size: 0.875em;
color: var(--bs-body-bg);
background-color: var(--bs-body-color);
border-radius: 0.25rem;
}
kbd kbd {
padding: 0;
font-size: 1em;
}
figure {
margin: 0 0 1rem;
}
img,
svg {
vertical-align: middle;
}
table {
caption-side: bottom;
border-collapse: collapse;
}
caption {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
color: var(--bs-secondary-color);
text-align: left;
}
th {
text-align: inherit;
text-align: -webkit-match-parent;
}
thead,
tbody,
tfoot,
tr,
td,
th {
border-color: inherit;
border-style: solid;
border-width: 0;
}
label {
display: inline-block;
}
button {
border-radius: 0;
}
button:focus:not(:focus-visible) {
outline: 0;
}
input,
button,
select,
optgroup,
textarea {
margin: 0;
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
button,
select {
text-transform: none;
}
[role=button] {
cursor: pointer;
}
select {
word-wrap: normal;
}
select:disabled {
opacity: 1;
}
[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
display: none !important;
}
button,
[type=button],
[type=reset],
[type=submit] {
-webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
cursor: pointer;
}
::-moz-focus-inner {
padding: 0;
border-style: none;
}
textarea {
resize: vertical;
}
fieldset {
min-width: 0;
padding: 0;
margin: 0;
border: 0;
}
legend {
float: left;
width: 100%;
padding: 0;
margin-bottom: 0.5rem;
font-size: calc(1.275rem + 0.3vw);
line-height: inherit;
}
@media (min-width: 75rem) {
legend {
font-size: 1.5rem;
}
}
legend + * {
clear: left;
}
::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
padding: 0;
}
::-webkit-inner-spin-button {
height: auto;
}
[type=search] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
direction: ltr;
}
*/
::-webkit-search-decoration {
-webkit-appearance: none;
}
::-webkit-color-swatch-wrapper {
padding: 0;
}
::file-selector-button {
font: inherit;
-webkit-appearance: button;
}
output {
display: inline-block;
}
iframe {
border: 0;
}
summary {
display: list-item;
cursor: pointer;
}
progress {
vertical-align: baseline;
}
[hidden] {
display: none !important;
}
.img-fluid {
max-width: 100%;
height: auto;
}
.img-thumbnail {
padding: 0.25rem;
background-color: var(--bs-body-bg);
border: var(--bs-border-width) solid var(--bs-border-color);
border-radius: var(--bs-border-radius);
max-width: 100%;
height: auto;
}
.figure {
display: inline-block;
}
.figure-img {
margin-bottom: 0.5rem;
line-height: 1;
}
.figure-caption {
font-size: 0.875em;
color: var(--bs-secondary-color);
}
.clearfix::after {
display: block;
clear: both;
content: "";
}
.text-bg-primary {
color: #fff !important;
background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-secondary {
color: #000 !important;
background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-success {
color: #000 !important;
background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-info {
color: #000 !important;
background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-warning {
color: #000 !important;
background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-danger {
color: #fff !important;
background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-light {
color: #000 !important;
background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;
}
.text-bg-dark {
color: #fff !important;
background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
}
.link-primary {
color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-primary:hover, .link-primary:focus {
color: RGBA(0, 97, 154, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(0, 97, 154, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(0, 97, 154, var(--bs-link-underline-opacity, 1)) !important;
}
.link-secondary {
color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-secondary:hover, .link-secondary:focus {
color: RGBA(255, 113, 88, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(255, 113, 88, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(255, 113, 88, var(--bs-link-underline-opacity, 1)) !important;
}
.link-success {
color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-success:hover, .link-success:focus {
color: RGBA(83, 185, 106, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(83, 185, 106, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(83, 185, 106, var(--bs-link-underline-opacity, 1)) !important;
}
.link-info {
color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-info:hover, .link-info:focus {
color: RGBA(69, 181, 198, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(69, 181, 198, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(69, 181, 198, var(--bs-link-underline-opacity, 1)) !important;
}
.link-warning {
color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-warning:hover, .link-warning:focus {
color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
}
.link-danger {
color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-danger:hover, .link-danger:focus {
color: RGBA(26, 70, 110, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(26, 70, 110, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(26, 70, 110, var(--bs-link-underline-opacity, 1)) !important;
}
.link-light {
color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-light:hover, .link-light:focus {
color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
}
.link-dark {
color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-dark:hover, .link-dark:focus {
color: RGBA(42, 46, 51, var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(42, 46, 51, var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(42, 46, 51, var(--bs-link-underline-opacity, 1)) !important;
}
.link-body-emphasis {
color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-body-emphasis:hover, .link-body-emphasis:focus {
color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;
-webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
}
.focus-ring:focus {
outline: 0;
-webkit-box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
}
.icon-link {
display: -webkit-inline-box;
display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
gap: 0.375rem;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
text-underline-offset: 0.25em;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.icon-link > .bi {
-webkit-flex-shrink: 0;
-ms-flex-negative: 0;
flex-shrink: 0;
width: 1em;
height: 1em;
fill: currentcolor;
-webkit-transition: 0.2s ease-in-out transform;
-o-transition: 0.2s ease-in-out transform;
transition: 0.2s ease-in-out transform;
}
@media (prefers-reduced-motion: reduce) {
.icon-link > .bi {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
-webkit-transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));
transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));
}
.ratio {
position: relative;
width: 100%;
}
.ratio::before {
display: block;
padding-top: var(--bs-aspect-ratio);
content: "";
}
.ratio > * {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.ratio-1x1 {
--bs-aspect-ratio: 100%;
}
.ratio-4x3 {
--bs-aspect-ratio: 75%;
}
.ratio-16x9 {
--bs-aspect-ratio: 56.25%;
}
.ratio-21x9 {
--bs-aspect-ratio: 42.8571428571%;
}
.fixed-top {
position: fixed;
top: 0;
right: 0;
left: 0;
z-index: 1030;
}
.fixed-bottom {
position: fixed;
right: 0;
bottom: 0;
left: 0;
z-index: 1030;
}
.sticky-top {
position: -webkit-sticky;
position: sticky;
top: 0;
z-index: 1020;
}
.sticky-bottom {
position: -webkit-sticky;
position: sticky;
bottom: 0;
z-index: 1020;
}
@media (min-width: 36rem) {
.sticky-sm-top {
position: -webkit-sticky;
position: sticky;
top: 0;
z-index: 1020;
}
.sticky-sm-bottom {
position: -webkit-sticky;
position: sticky;
bottom: 0;
z-index: 1020;
}
}
@media (min-width: 48rem) {
.sticky-md-top {
position: -webkit-sticky;
position: sticky;
top: 0;
z-index: 1020;
}
.sticky-md-bottom {
position: -webkit-sticky;
position: sticky;
bottom: 0;
z-index: 1020;
}
}
@media (min-width: 62rem) {
.sticky-lg-top {
position: -webkit-sticky;
position: sticky;
top: 0;
z-index: 1020;
}
.sticky-lg-bottom {
position: -webkit-sticky;
position: sticky;
bottom: 0;
z-index: 1020;
}
}
@media (min-width: 75rem) {
.sticky-xl-top {
position: -webkit-sticky;
position: sticky;
top: 0;
z-index: 1020;
}
.sticky-xl-bottom {
position: -webkit-sticky;
position: sticky;
bottom: 0;
z-index: 1020;
}
}
@media (min-width: 87.5rem) {
.sticky-xxl-top {
position: -webkit-sticky;
position: sticky;
top: 0;
z-index: 1020;
}
.sticky-xxl-bottom {
position: -webkit-sticky;
position: sticky;
bottom: 0;
z-index: 1020;
}
}
.hstack {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-align-self: stretch;
-ms-flex-item-align: stretch;
align-self: stretch;
}
.vstack {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-align-self: stretch;
-ms-flex-item-align: stretch;
align-self: stretch;
}
.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
width: 1px !important;
height: 1px !important;
padding: 0 !important;
margin: -0.0625rem !important;
overflow: hidden !important;
clip: rect(0, 0, 0, 0) !important;
white-space: nowrap !important;
border: 0 !important;
}
.visually-hidden:not(caption),
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
position: absolute !important;
}
.stretched-link::after {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1;
content: "";
}
.text-truncate {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.vr {
display: inline-block;
-webkit-align-self: stretch;
-ms-flex-item-align: stretch;
align-self: stretch;
width: var(--bs-border-width);
min-height: 1em;
background-color: currentcolor;
opacity: 0.25;
}
.table {
--bs-table-color-type: initial;
--bs-table-bg-type: initial;
--bs-table-color-state: initial;
--bs-table-bg-state: initial;
--bs-table-color: var(--bs-emphasis-color);
--bs-table-bg: var(--bs-body-bg);
--bs-table-border-color: var(--bs-border-color);
--bs-table-accent-bg: transparent;
--bs-table-striped-color: var(--bs-emphasis-color);
--bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
--bs-table-active-color: var(--bs-emphasis-color);
--bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
--bs-table-hover-color: var(--bs-emphasis-color);
--bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
width: 100%;
margin-bottom: 1rem;
vertical-align: top;
border-color: var(--bs-table-border-color);
}
.table > :not(caption) > * > * {
padding: 0.5rem 0.5rem;
color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
background-color: var(--bs-table-bg);
border-bottom-width: var(--bs-border-width);
-webkit-box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
}
.table > tbody {
vertical-align: inherit;
}
.table > thead {
vertical-align: bottom;
}
.table-group-divider {
border-top: calc(var(--bs-border-width) * 2) solid currentcolor;
}
.caption-top {
caption-side: top;
}
.table-sm > :not(caption) > * > * {
padding: 0.25rem 0.25rem;
}
.table-bordered > :not(caption) > * {
border-width: var(--bs-border-width) 0;
}
.table-bordered > :not(caption) > * > * {
border-width: 0 var(--bs-border-width);
}
.table-borderless > :not(caption) > * > * {
border-bottom-width: 0;
}
.table-borderless > :not(:first-child) {
border-top-width: 0;
}
.table-striped > tbody > tr:nth-of-type(odd) > * {
--bs-table-color-type: var(--bs-table-striped-color);
--bs-table-bg-type: var(--bs-table-striped-bg);
}
.table-striped-columns > :not(caption) > tr > :nth-child(even) {
--bs-table-color-type: var(--bs-table-striped-color);
--bs-table-bg-type: var(--bs-table-striped-bg);
}
.table-active {
--bs-table-color-state: var(--bs-table-active-color);
--bs-table-bg-state: var(--bs-table-active-bg);
}
.table-hover > tbody > tr:hover > * {
--bs-table-color-state: var(--bs-table-hover-color);
--bs-table-bg-state: var(--bs-table-hover-bg);
}
.table-primary {
--bs-table-color: #000;
--bs-table-bg: #cce4f2;
--bs-table-border-color: #a3b6c2;
--bs-table-striped-bg: #c2d9e6;
--bs-table-striped-color: #000;
--bs-table-active-bg: #b8cdda;
--bs-table-active-color: #000;
--bs-table-hover-bg: #bdd3e0;
--bs-table-hover-color: #000;
color: var(--bs-table-color);
border-color: var(--bs-table-border-color);
}
.table-secondary {
--bs-table-color: #000;
--bs-table-bg: #ffdcd5;
--bs-table-border-color: #ccb0aa;
--bs-table-striped-bg: #f2d1ca;
--bs-table-striped-color: #000;
--bs-table-active-bg: #e6c6c0;
--bs-table-active-color: #000;
--bs-table-hover-bg: #ecccc5;
--bs-table-hover-color: #000;
color: var(--bs-table-color);
border-color: var(--bs-table-border-color);
}
.table-success {
--bs-table-color: #000;
--bs-table-bg: #d4edda;
--bs-table-border-color: #aabeae;
--bs-table-striped-bg: #c9e1cf;
--bs-table-striped-color: #000;
--bs-table-active-bg: #bfd5c4;
--bs-table-active-color: #000;
--bs-table-hover-bg: #c4dbca;
--bs-table-hover-color: #000;
color: var(--bs-table-color);
border-color: var(--bs-table-border-color);
}
.table-info {
--bs-table-color: #000;
--bs-table-bg: #d1ecf1;
--bs-table-border-color: #a7bdc1;
--bs-table-striped-bg: #c7e0e5;
--bs-table-striped-color: #000;
--bs-table-active-bg: #bcd4d9;
--bs-table-active-color: #000;
--bs-table-hover-bg: #c1dadf;
--bs-table-hover-color: #000;
color: var(--bs-table-color);
border-color: var(--bs-table-border-color);
}
.table-warning {
--bs-table-color: #000;
--bs-table-bg: #fff3cd;
--bs-table-border-color: #ccc2a4;
--bs-table-striped-bg: #f2e7c3;
--bs-table-striped-color: #000;
--bs-table-active-bg: #e6dbb9;
--bs-table-active-color: #000;
--bs-table-hover-bg: #ece1be;
--bs-table-hover-color: #000;
color: var(--bs-table-color);
border-color: var(--bs-table-border-color);
}
.table-danger {
--bs-table-color: #000;
--bs-table-bg: #d2dee8;
--bs-table-border-color: #a8b2ba;
--bs-table-striped-bg: #c8d3dc;
--bs-table-striped-color: #000;
--bs-table-active-bg: #bdc8d1;
--bs-table-active-color: #000;
--bs-table-hover-bg: #c2cdd7;
--bs-table-hover-color: #000;
color: var(--bs-table-color);
border-color: var(--bs-table-border-color);
}
.table-light {
--bs-table-color: #000;
--bs-table-bg: #f8f9fa;
--bs-table-border-color: #c6c7c8;
--bs-table-striped-bg: #ecedee;
--bs-table-striped-color: #000;
--bs-table-active-bg: #dfe0e1;
--bs-table-active-color: #000;
--bs-table-hover-bg: #e5e6e7;
--bs-table-hover-color: #000;
color: var(--bs-table-color);
border-color: var(--bs-table-border-color);
}
.table-dark {
--bs-table-color: #fff;
--bs-table-bg: #343a40;
--bs-table-border-color: #5d6166;
--bs-table-striped-bg: #3e444a;
--bs-table-striped-color: #fff;
--bs-table-active-bg: #484e53;
--bs-table-active-color: #fff;
--bs-table-hover-bg: #43494e;
--bs-table-hover-color: #fff;
color: var(--bs-table-color);
border-color: var(--bs-table-border-color);
}
.table-responsive {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
@media (max-width: 35.99875rem) {
.table-responsive-sm {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
}
@media (max-width: 47.99875rem) {
.table-responsive-md {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
}
@media (max-width: 61.99875rem) {
.table-responsive-lg {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
}
@media (max-width: 74.99875rem) {
.table-responsive-xl {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
}
@media (max-width: 87.49875rem) {
.table-responsive-xxl {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
}
.form-label {
margin-bottom: 0.5rem;
}
.col-form-label {
padding-top: calc(0.375rem + var(--bs-border-width));
padding-bottom: calc(0.375rem + var(--bs-border-width));
margin-bottom: 0;
font-size: inherit;
line-height: 1.5;
}
.col-form-label-lg {
padding-top: calc(0.5rem + var(--bs-border-width));
padding-bottom: calc(0.5rem + var(--bs-border-width));
font-size: 1.25rem;
}
.col-form-label-sm {
padding-top: calc(0.25rem + var(--bs-border-width));
padding-bottom: calc(0.25rem + var(--bs-border-width));
font-size: 0.875rem;
}
.form-text {
margin-top: 0.25rem;
font-size: 0.875em;
color: var(--bs-secondary-color);
}
.form-control {
display: block;
width: 100%;
padding: 0.375rem 0.75rem;
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: var(--bs-body-color);
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-color: var(--bs-body-bg);
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: var(--bs-border-width) solid var(--bs-border-color);
border-radius: var(--bs-border-radius);
-webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
-o-transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
.form-control {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
.form-control[type=file] {
overflow: hidden;
}
.form-control[type=file]:not(:disabled):not([readonly]) {
cursor: pointer;
}
.form-control:focus {
color: var(--bs-body-color);
background-color: var(--bs-body-bg);
border-color: #80bce0;
outline: 0;
-webkit-box-shadow: 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
box-shadow: 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
}
.form-control::-webkit-date-and-time-value {
min-width: 85px;
height: 1.5em;
margin: 0;
}
.form-control::-webkit-datetime-edit {
display: block;
padding: 0;
}
.form-control::-webkit-input-placeholder {
color: var(--bs-secondary-color);
opacity: 1;
}
.form-control::-moz-placeholder {
color: var(--bs-secondary-color);
opacity: 1;
}
.form-control::-ms-input-placeholder {
color: var(--bs-secondary-color);
opacity: 1;
}
.form-control::placeholder {
color: var(--bs-secondary-color);
opacity: 1;
}
.form-control:disabled {
background-color: var(--bs-secondary-bg);
opacity: 1;
}
.form-control::file-selector-button {
padding: 0.375rem 0.75rem;
margin: -0.375rem -0.75rem;
-webkit-margin-end: 0.75rem;
-moz-margin-end: 0.75rem;
margin-inline-end: 0.75rem;
color: var(--bs-body-color);
background-color: var(--bs-tertiary-bg);
pointer-events: none;
border-color: inherit;
border-style: solid;
border-width: 0;
border-inline-end-width: var(--bs-border-width);
border-radius: 0;
-webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
-o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
.form-control::file-selector-button {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
background-color: var(--bs-secondary-bg);
}
.form-control-plaintext {
display: block;
width: 100%;
padding: 0.375rem 0;
margin-bottom: 0;
line-height: 1.5;
color: var(--bs-body-color);
background-color: transparent;
border: solid transparent;
border-width: var(--bs-border-width) 0;
}
.form-control-plaintext:focus {
outline: 0;
}
.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
padding-right: 0;
padding-left: 0;
}
.form-control-sm {
min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
border-radius: var(--bs-border-radius-sm);
}
.form-control-sm::file-selector-button {
padding: 0.25rem 0.5rem;
margin: -0.25rem -0.5rem;
-webkit-margin-end: 0.5rem;
-moz-margin-end: 0.5rem;
margin-inline-end: 0.5rem;
}
.form-control-lg {
min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
padding: 0.5rem 1rem;
font-size: 1.25rem;
border-radius: var(--bs-border-radius-lg);
}
.form-control-lg::file-selector-button {
padding: 0.5rem 1rem;
margin: -0.5rem -1rem;
-webkit-margin-end: 1rem;
-moz-margin-end: 1rem;
margin-inline-end: 1rem;
}
textarea.form-control {
min-height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
}
textarea.form-control-sm {
min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
}
textarea.form-control-lg {
min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
}
.form-control-color {
width: 3rem;
height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
padding: 0.375rem;
}
.form-control-color:not(:disabled):not([readonly]) {
cursor: pointer;
}
.form-control-color::-moz-color-swatch {
border: 0 !important;
border-radius: var(--bs-border-radius);
}
.form-control-color::-webkit-color-swatch {
border: 0 !important;
border-radius: var(--bs-border-radius);
}
.form-control-color.form-control-sm {
height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
}
.form-control-color.form-control-lg {
height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
}
.form-select {
--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
display: block;
width: 100%;
padding: 0.375rem 2.25rem 0.375rem 0.75rem;
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: var(--bs-body-color);
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-color: var(--bs-body-bg);
background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
background-repeat: no-repeat;
background-position: right 0.75rem center;
-webkit-background-size: 16px 12px;
background-size: 16px 12px;
border: var(--bs-border-width) solid var(--bs-border-color);
border-radius: var(--bs-border-radius);
-webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
-o-transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
.form-select {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
.form-select:focus {
border-color: #80bce0;
outline: 0;
-webkit-box-shadow: 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
box-shadow: 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
}
.form-select[multiple], .form-select[size]:not([size="1"]) {
padding-right: 0.75rem;
background-image: none;
}
.form-select:disabled {
background-color: var(--bs-secondary-bg);
}
.form-select:-moz-focusring {
color: transparent;
text-shadow: 0 0 0 var(--bs-body-color);
}
.form-select-sm {
padding-top: 0.25rem;
padding-bottom: 0.25rem;
padding-left: 0.5rem;
font-size: 0.875rem;
border-radius: var(--bs-border-radius-sm);
}
.form-select-lg {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
padding-left: 1rem;
font-size: 1.25rem;
border-radius: var(--bs-border-radius-lg);
}
[data-bs-theme=dark] .form-select {
--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}
.form-check {
display: block;
min-height: 1.5rem;
padding-left: 1.5em;
margin-bottom: 0.125rem;
}
.form-check .form-check-input {
float: left;
margin-left: -1.5em;
}
.form-check-reverse {
padding-right: 1.5em;
padding-left: 0;
text-align: right;
}
.form-check-reverse .form-check-input {
float: right;
margin-right: -1.5em;
margin-left: 0;
}
.form-check-input {
--bs-form-check-bg: var(--bs-body-bg);
-webkit-flex-shrink: 0;
-ms-flex-negative: 0;
flex-shrink: 0;
width: 1em;
height: 1em;
margin-top: 0.25em;
vertical-align: top;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-color: var(--bs-form-check-bg);
background-image: var(--bs-form-check-bg-image);
background-repeat: no-repeat;
background-position: center;
-webkit-background-size: contain;
background-size: contain;
border: var(--bs-border-width) solid var(--bs-border-color);
print-color-adjust: exact;
}
.form-check-input[type=checkbox] {
border-radius: 0.25em;
}
.form-check-input[type=radio] {
border-radius: 50%;
}
.form-check-input:active {
-webkit-filter: brightness(90%);
filter: brightness(90%);
}
.form-check-input:focus {
border-color: #80bce0;
outline: 0;
-webkit-box-shadow: 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
box-shadow: 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
}
.form-check-input:checked {
background-color: #0079C0;
border-color: #0079C0;
}
.form-check-input:checked[type=checkbox] {
--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}
.form-check-input:checked[type=radio] {
--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}
.form-check-input[type=checkbox]:indeterminate {
background-color: #0079C0;
border-color: #0079C0;
--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}
.form-check-input:disabled {
pointer-events: none;
-webkit-filter: none;
filter: none;
opacity: 0.5;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
cursor: default;
opacity: 0.5;
}
.form-switch {
padding-left: 2.5em;
}
.form-switch .form-check-input {
--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
width: 2em;
margin-left: -2.5em;
background-image: var(--bs-form-switch-bg);
background-position: left center;
border-radius: 2em;
-webkit-transition: background-position 0.15s ease-in-out;
-o-transition: background-position 0.15s ease-in-out;
transition: background-position 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
.form-switch .form-check-input {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
.form-switch .form-check-input:focus {
--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380bce0'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked {
background-position: right center;
--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}
.form-switch.form-check-reverse {
padding-right: 2.5em;
padding-left: 0;
}
.form-switch.form-check-reverse .form-check-input {
margin-right: -2.5em;
margin-left: 0;
}
.form-check-inline {
display: inline-block;
margin-right: 1rem;
}
.btn-check {
position: absolute;
clip: rect(0, 0, 0, 0);
pointer-events: none;
}
.btn-check[disabled] + .btn, .btn-check:disabled + .btn {
pointer-events: none;
-webkit-filter: none;
filter: none;
opacity: 0.65;
}
[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) {
--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e");
}
.form-range {
width: 100%;
height: 1.5rem;
padding: 0;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-color: transparent;
}
.form-range:focus {
outline: 0;
}
.form-range:focus::-webkit-slider-thumb {
-webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
}
.form-range:focus::-moz-range-thumb {
box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
}
.form-range::-moz-focus-outer {
border: 0;
}
.form-range::-webkit-slider-thumb {
width: 1rem;
height: 1rem;
margin-top: -0.25rem;
-webkit-appearance: none;
appearance: none;
background-color: #0079C0;
border: 0;
border-radius: 1rem;
-webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
-o-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
.form-range::-webkit-slider-thumb {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
.form-range::-webkit-slider-thumb:active {
background-color: #b3d7ec;
}
.form-range::-webkit-slider-runnable-track {
width: 100%;
height: 0.5rem;
color: transparent;
cursor: pointer;
background-color: var(--bs-secondary-bg);
border-color: transparent;
border-radius: 1rem;
}
.form-range::-moz-range-thumb {
width: 1rem;
height: 1rem;
-moz-appearance: none;
appearance: none;
background-color: #0079C0;
border: 0;
border-radius: 1rem;
-webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
-o-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
.form-range::-moz-range-thumb {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
.form-range::-moz-range-thumb:active {
background-color: #b3d7ec;
}
.form-range::-moz-range-track {
width: 100%;
height: 0.5rem;
color: transparent;
cursor: pointer;
background-color: var(--bs-secondary-bg);
border-color: transparent;
border-radius: 1rem;
}
.form-range:disabled {
pointer-events: none;
}
.form-range:disabled::-webkit-slider-thumb {
background-color: var(--bs-secondary-color);
}
.form-range:disabled::-moz-range-thumb {
background-color: var(--bs-secondary-color);
}
.form-floating {
position: relative;
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext,
.form-floating > .form-select {
height: calc(3.5rem + calc(var(--bs-border-width) * 2));
min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));
line-height: 1.25;
}
.form-floating > label {
position: absolute;
top: 0;
left: 0;
z-index: 2;
height: 100%;
padding: 1rem 0.75rem;
overflow: hidden;
text-align: start;
text-overflow: ellipsis;
white-space: nowrap;
pointer-events: none;
border: var(--bs-border-width) solid transparent;
-webkit-transform-origin: 0 0;
-o-transform-origin: 0 0;
transform-origin: 0 0;
-webkit-transition: opacity 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out;
transition: opacity 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out;
-o-transition: opacity 0.1s ease-in-out, -o-transform 0.1s ease-in-out;
transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out, -o-transform 0.1s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
.form-floating > label {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext {
padding: 1rem 0.75rem;
}
.form-floating > .form-control::-webkit-input-placeholder,
.form-floating > .form-control-plaintext::-webkit-input-placeholder {
color: transparent;
}
.form-floating > .form-control::-moz-placeholder,
.form-floating > .form-control-plaintext::-moz-placeholder {
color: transparent;
}
.form-floating > .form-control::-ms-input-placeholder,
.form-floating > .form-control-plaintext::-ms-input-placeholder {
color: transparent;
}
.form-floating > .form-control::placeholder,
.form-floating > .form-control-plaintext::placeholder {
color: transparent;
}
.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),
.form-floating > .form-control-plaintext:focus,
.form-floating > .form-control-plaintext:not(:placeholder-shown) {
padding-top: 1.625rem;
padding-bottom: 0.625rem;
}
.form-floating > .form-control:-webkit-autofill,
.form-floating > .form-control-plaintext:-webkit-autofill {
padding-top: 1.625rem;
padding-bottom: 0.625rem;
}
.form-floating > .form-select {
padding-top: 1.625rem;
padding-bottom: 0.625rem;
}
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-control-plaintext ~ label,
.form-floating > .form-select ~ label {
color: rgba(var(--bs-body-color-rgb), 0.65);
-webkit-transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
-o-transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:focus ~ label::after,
.form-floating > .form-control:not(:placeholder-shown) ~ label::after,
.form-floating > .form-control-plaintext ~ label::after,
.form-floating > .form-select ~ label::after {
position: absolute;
inset: 1rem 0.375rem;
z-index: -1;
height: 1.5em;
content: "";
background-color: var(--bs-body-bg);
border-radius: var(--bs-border-radius);
}
.form-floating > .form-control:-webkit-autofill ~ label {
color: rgba(var(--bs-body-color-rgb), 0.65);
-webkit-transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control-plaintext ~ label {
border-width: var(--bs-border-width) 0;
}
.form-floating > :disabled ~ label,
.form-floating > .form-control:disabled ~ label {
color: #6c757d;
}
.form-floating > :disabled ~ label::after,
.form-floating > .form-control:disabled ~ label::after {
background-color: var(--bs-secondary-bg);
}
.input-group {
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-box-align: stretch;
-webkit-align-items: stretch;
-ms-flex-align: stretch;
align-items: stretch;
width: 100%;
}
.input-group > .form-control,
.input-group > .form-select,
.input-group > .form-floating {
position: relative;
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
width: 1%;
min-width: 0;
}
.input-group > .form-control:focus,
.input-group > .form-select:focus,
.input-group > .form-floating:focus-within {
z-index: 5;
}
.input-group .btn {
position: relative;
z-index: 2;
}
.input-group .btn:focus {
z-index: 5;
}
.input-group-text {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
padding: 0.375rem 0.75rem;
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: var(--bs-body-color);
text-align: center;
white-space: nowrap;
background-color: var(--bs-tertiary-bg);
border: var(--bs-border-width) solid var(--bs-border-color);
border-radius: var(--bs-border-radius);
}
.input-group-lg > .form-control,
.input-group-lg > .form-select,
.input-group-lg > .input-group-text,
.input-group-lg > .btn {
padding: 0.5rem 1rem;
font-size: 1.25rem;
border-radius: var(--bs-border-radius-lg);
}
.input-group-sm > .form-control,
.input-group-sm > .form-select,
.input-group-sm > .input-group-text,
.input-group-sm > .btn {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
border-radius: var(--bs-border-radius-sm);
}
.input-group-lg > .form-select,
.input-group-sm > .form-select {
padding-right: 3rem;
}
.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
margin-left: calc(var(--bs-border-width) * -1);
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.input-group > .form-floating:not(:first-child) > .form-control,
.input-group > .form-floating:not(:first-child) > .form-select {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.valid-feedback {
display: none;
width: 100%;
margin-top: 0.25rem;
font-size: 0.875em;
color: var(--bs-form-valid-color);
}
.valid-tooltip {
position: absolute;
top: 100%;
z-index: 5;
display: none;
max-width: 100%;
padding: 0.25rem 0.5rem;
margin-top: 0.1rem;
font-size: 0.875rem;
color: #fff;
background-color: var(--bs-success);
border-radius: var(--bs-border-radius);
}
.was-validated :valid ~ .valid-feedback,
.was-validated :valid ~ .valid-tooltip,
.is-valid ~ .valid-feedback,
.is-valid ~ .valid-tooltip {
display: block;
}
.was-validated .form-control:valid, .form-control.is-valid {
border-color: var(--bs-form-valid-border-color);
padding-right: calc(1.5em + 0.75rem);
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
background-repeat: no-repeat;
background-position: right calc(0.375em + 0.1875rem) center;
-webkit-background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
border-color: var(--bs-form-valid-border-color);
-webkit-box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}
.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
padding-right: calc(1.5em + 0.75rem);
background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}
.was-validated .form-select:valid, .form-select.is-valid {
border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] {
--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
padding-right: 4.125rem;
background-position: right 0.75rem center, center right 2.25rem;
-webkit-background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
border-color: var(--bs-form-valid-border-color);
-webkit-box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}
.was-validated .form-control-color:valid, .form-control-color.is-valid {
width: calc(3rem + calc(1.5em + 0.75rem));
}
.was-validated .form-check-input:valid, .form-check-input.is-valid {
border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
background-color: var(--bs-form-valid-color);
}
.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
-webkit-box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
color: var(--bs-form-valid-color);
}
.form-check-inline .form-check-input ~ .valid-feedback {
margin-left: 0.5em;
}
.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,
.was-validated .input-group > .form-select:not(:focus):valid,
.input-group > .form-select:not(:focus).is-valid,
.was-validated .input-group > .form-floating:not(:focus-within):valid,
.input-group > .form-floating:not(:focus-within).is-valid {
z-index: 3;
}
.invalid-feedback {
display: none;
width: 100%;
margin-top: 0.25rem;
font-size: 0.875em;
color: var(--bs-form-invalid-color);
}
.invalid-tooltip {
position: absolute;
top: 100%;
z-index: 5;
display: none;
max-width: 100%;
padding: 0.25rem 0.5rem;
margin-top: 0.1rem;
font-size: 0.875rem;
color: #fff;
background-color: var(--bs-danger);
border-radius: var(--bs-border-radius);
}
.was-validated :invalid ~ .invalid-feedback,
.was-validated :invalid ~ .invalid-tooltip,
.is-invalid ~ .invalid-feedback,
.is-invalid ~ .invalid-tooltip {
display: block;
}
.was-validated .form-control:invalid, .form-control.is-invalid {
border-color: var(--bs-form-invalid-border-color);
padding-right: calc(1.5em + 0.75rem);
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%2320588A'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%2320588A' stroke='none'/%3e%3c/svg%3e");
background-repeat: no-repeat;
background-position: right calc(0.375em + 0.1875rem) center;
-webkit-background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
border-color: var(--bs-form-invalid-border-color);
-webkit-box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}
.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
padding-right: calc(1.5em + 0.75rem);
background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}
.was-validated .form-select:invalid, .form-select.is-invalid {
border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%2320588A'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%2320588A' stroke='none'/%3e%3c/svg%3e");
padding-right: 4.125rem;
background-position: right 0.75rem center, center right 2.25rem;
-webkit-background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
border-color: var(--bs-form-invalid-border-color);
-webkit-box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}
.was-validated .form-control-color:invalid, .form-control-color.is-invalid {
width: calc(3rem + calc(1.5em + 0.75rem));
}
.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
background-color: var(--bs-form-invalid-color);
}
.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
-webkit-box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}
.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
color: var(--bs-form-invalid-color);
}
.form-check-inline .form-check-input ~ .invalid-feedback {
margin-left: 0.5em;
}
.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,
.was-validated .input-group > .form-select:not(:focus):invalid,
.input-group > .form-select:not(:focus).is-invalid,
.was-validated .input-group > .form-floating:not(:focus-within):invalid,
.input-group > .form-floating:not(:focus-within).is-invalid {
z-index: 4;
}
.btn {
--bs-btn-padding-x: 0.75rem;
--bs-btn-padding-y: 0.375rem;
--bs-btn-font-family: ;
--bs-btn-font-size: 1rem;
--bs-btn-font-weight: 400;
--bs-btn-line-height: 1.5;
--bs-btn-color: var(--bs-body-color);
--bs-btn-bg: transparent;
--bs-btn-border-width: var(--bs-border-width);
--bs-btn-border-color: transparent;
--bs-btn-border-radius: var(--bs-border-radius);
--bs-btn-hover-border-color: transparent;
--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
--bs-btn-disabled-opacity: 0.65;
--bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
display: inline-block;
padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
font-family: var(--bs-btn-font-family);
font-size: var(--bs-btn-font-size);
font-weight: var(--bs-btn-font-weight);
line-height: var(--bs-btn-line-height);
color: var(--bs-btn-color);
text-align: center;
vertical-align: middle;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
border-radius: var(--bs-btn-border-radius);
background-color: var(--bs-btn-bg);
-webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
-o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
.btn {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
.btn:hover {
color: var(--bs-btn-hover-color);
background-color: var(--bs-btn-hover-bg);
border-color: var(--bs-btn-hover-border-color);
}
.btn-check + .btn:hover {
color: var(--bs-btn-color);
background-color: var(--bs-btn-bg);
border-color: var(--bs-btn-border-color);
}
.btn:focus-visible {
color: var(--bs-btn-hover-color);
background-color: var(--bs-btn-hover-bg);
border-color: var(--bs-btn-hover-border-color);
outline: 0;
-webkit-box-shadow: var(--bs-btn-focus-box-shadow);
box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:focus-visible + .btn {
border-color: var(--bs-btn-hover-border-color);
outline: 0;
-webkit-box-shadow: var(--bs-btn-focus-box-shadow);
box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {
color: var(--bs-btn-active-color);
background-color: var(--bs-btn-active-bg);
border-color: var(--bs-btn-active-border-color);
}
.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {
-webkit-box-shadow: var(--bs-btn-focus-box-shadow);
box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn:disabled, .btn.disabled, fieldset:disabled .btn {
color: var(--bs-btn-disabled-color);
pointer-events: none;
background-color: var(--bs-btn-disabled-bg);
border-color: var(--bs-btn-disabled-border-color);
opacity: var(--bs-btn-disabled-opacity);
}
.btn-primary {
--bs-btn-color: #fff;
--bs-btn-bg: #0079C0;
--bs-btn-border-color: #0079C0;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #0067a3;
--bs-btn-hover-border-color: #00619a;
--bs-btn-focus-shadow-rgb: 38, 141, 201;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #00619a;
--bs-btn-active-border-color: #005b90;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #fff;
--bs-btn-disabled-bg: #0079C0;
--bs-btn-disabled-border-color: #0079C0;
}
.btn-secondary {
--bs-btn-color: #000;
--bs-btn-bg: rgb(255, 78, 46);
--bs-btn-border-color: rgb(255, 78, 46);
--bs-btn-hover-color: #000;
--bs-btn-hover-bg: #ff694d;
--bs-btn-hover-border-color: #ff6043;
--bs-btn-focus-shadow-rgb: 217, 66, 39;
--bs-btn-active-color: #000;
--bs-btn-active-bg: #ff7158;
--bs-btn-active-border-color: #ff6043;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #000;
--bs-btn-disabled-bg: rgb(255, 78, 46);
--bs-btn-disabled-border-color: rgb(255, 78, 46);
}
.btn-success {
--bs-btn-color: #000;
--bs-btn-bg: #28a745;
--bs-btn-border-color: #28a745;
--bs-btn-hover-color: #000;
--bs-btn-hover-bg: #48b461;
--bs-btn-hover-border-color: #3eb058;
--bs-btn-focus-shadow-rgb: 34, 142, 59;
--bs-btn-active-color: #000;
--bs-btn-active-bg: #53b96a;
--bs-btn-active-border-color: #3eb058;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #000;
--bs-btn-disabled-bg: #28a745;
--bs-btn-disabled-border-color: #28a745;
}
.btn-info {
--bs-btn-color: #000;
--bs-btn-bg: #17a2b8;
--bs-btn-border-color: #17a2b8;
--bs-btn-hover-color: #000;
--bs-btn-hover-bg: #3ab0c3;
--bs-btn-hover-border-color: #2eabbf;
--bs-btn-focus-shadow-rgb: 20, 138, 156;
--bs-btn-active-color: #000;
--bs-btn-active-bg: #45b5c6;
--bs-btn-active-border-color: #2eabbf;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #000;
--bs-btn-disabled-bg: #17a2b8;
--bs-btn-disabled-border-color: #17a2b8;
}
.btn-warning {
--bs-btn-color: #000;
--bs-btn-bg: #ffc107;
--bs-btn-border-color: #ffc107;
--bs-btn-hover-color: #000;
--bs-btn-hover-bg: #ffca2c;
--bs-btn-hover-border-color: #ffc720;
--bs-btn-focus-shadow-rgb: 217, 164, 6;
--bs-btn-active-color: #000;
--bs-btn-active-bg: #ffcd39;
--bs-btn-active-border-color: #ffc720;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #000;
--bs-btn-disabled-bg: #ffc107;
--bs-btn-disabled-border-color: #ffc107;
}
.btn-danger {
--bs-btn-color: #fff;
--bs-btn-bg: #20588A;
--bs-btn-border-color: #20588A;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #1b4b75;
--bs-btn-hover-border-color: #1a466e;
--bs-btn-focus-shadow-rgb: 65, 113, 156;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #1a466e;
--bs-btn-active-border-color: #184268;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #fff;
--bs-btn-disabled-bg: #20588A;
--bs-btn-disabled-border-color: #20588A;
}
.btn-light {
--bs-btn-color: #000;
--bs-btn-bg: #f8f9fa;
--bs-btn-border-color: #f8f9fa;
--bs-btn-hover-color: #000;
--bs-btn-hover-bg: #d3d4d5;
--bs-btn-hover-border-color: #c6c7c8;
--bs-btn-focus-shadow-rgb: 211, 212, 213;
--bs-btn-active-color: #000;
--bs-btn-active-bg: #c6c7c8;
--bs-btn-active-border-color: #babbbc;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #000;
--bs-btn-disabled-bg: #f8f9fa;
--bs-btn-disabled-border-color: #f8f9fa;
}
.btn-dark {
--bs-btn-color: #fff;
--bs-btn-bg: #343a40;
--bs-btn-border-color: #343a40;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #52585d;
--bs-btn-hover-border-color: #484e53;
--bs-btn-focus-shadow-rgb: 82, 88, 93;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #5d6166;
--bs-btn-active-border-color: #484e53;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #fff;
--bs-btn-disabled-bg: #343a40;
--bs-btn-disabled-border-color: #343a40;
}
.btn-outline-primary {
--bs-btn-color: #0079C0;
--bs-btn-border-color: #0079C0;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #0079C0;
--bs-btn-hover-border-color: #0079C0;
--bs-btn-focus-shadow-rgb: 0, 121, 192;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #0079C0;
--bs-btn-active-border-color: #0079C0;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #0079C0;
--bs-btn-disabled-bg: transparent;
--bs-btn-disabled-border-color: #0079C0;
--bs-gradient: none;
}
.btn-outline-secondary {
--bs-btn-color: rgb(255, 78, 46);
--bs-btn-border-color: rgb(255, 78, 46);
--bs-btn-hover-color: #000;
--bs-btn-hover-bg: rgb(255, 78, 46);
--bs-btn-hover-border-color: rgb(255, 78, 46);
--bs-btn-focus-shadow-rgb: 255, 78, 46;
--bs-btn-active-color: #000;
--bs-btn-active-bg: rgb(255, 78, 46);
--bs-btn-active-border-color: rgb(255, 78, 46);
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: rgb(255, 78, 46);
--bs-btn-disabled-bg: transparent;
--bs-btn-disabled-border-color: rgb(255, 78, 46);
--bs-gradient: none;
}
.btn-outline-success {
--bs-btn-color: #28a745;
--bs-btn-border-color: #28a745;
--bs-btn-hover-color: #000;
--bs-btn-hover-bg: #28a745;
--bs-btn-hover-border-color: #28a745;
--bs-btn-focus-shadow-rgb: 40, 167, 69;
--bs-btn-active-color: #000;
--bs-btn-active-bg: #28a745;
--bs-btn-active-border-color: #28a745;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #28a745;
--bs-btn-disabled-bg: transparent;
--bs-btn-disabled-border-color: #28a745;
--bs-gradient: none;
}
.btn-outline-info {
--bs-btn-color: #17a2b8;
--bs-btn-border-color: #17a2b8;
--bs-btn-hover-color: #000;
--bs-btn-hover-bg: #17a2b8;
--bs-btn-hover-border-color: #17a2b8;
--bs-btn-focus-shadow-rgb: 23, 162, 184;
--bs-btn-active-color: #000;
--bs-btn-active-bg: #17a2b8;
--bs-btn-active-border-color: #17a2b8;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #17a2b8;
--bs-btn-disabled-bg: transparent;
--bs-btn-disabled-border-color: #17a2b8;
--bs-gradient: none;
}
.btn-outline-warning {
--bs-btn-color: #ffc107;
--bs-btn-border-color: #ffc107;
--bs-btn-hover-color: #000;
--bs-btn-hover-bg: #ffc107;
--bs-btn-hover-border-color: #ffc107;
--bs-btn-focus-shadow-rgb: 255, 193, 7;
--bs-btn-active-color: #000;
--bs-btn-active-bg: #ffc107;
--bs-btn-active-border-color: #ffc107;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #ffc107;
--bs-btn-disabled-bg: transparent;
--bs-btn-disabled-border-color: #ffc107;
--bs-gradient: none;
}
.btn-outline-danger {
--bs-btn-color: #20588A;
--bs-btn-border-color: #20588A;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #20588A;
--bs-btn-hover-border-color: #20588A;
--bs-btn-focus-shadow-rgb: 32, 88, 138;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #20588A;
--bs-btn-active-border-color: #20588A;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #20588A;
--bs-btn-disabled-bg: transparent;
--bs-btn-disabled-border-color: #20588A;
--bs-gradient: none;
}
.btn-outline-light {
--bs-btn-color: #f8f9fa;
--bs-btn-border-color: #f8f9fa;
--bs-btn-hover-color: #000;
--bs-btn-hover-bg: #f8f9fa;
--bs-btn-hover-border-color: #f8f9fa;
--bs-btn-focus-shadow-rgb: 248, 249, 250;
--bs-btn-active-color: #000;
--bs-btn-active-bg: #f8f9fa;
--bs-btn-active-border-color: #f8f9fa;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #f8f9fa;
--bs-btn-disabled-bg: transparent;
--bs-btn-disabled-border-color: #f8f9fa;
--bs-gradient: none;
}
.btn-outline-dark {
--bs-btn-color: #343a40;
--bs-btn-border-color: #343a40;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #343a40;
--bs-btn-hover-border-color: #343a40;
--bs-btn-focus-shadow-rgb: 52, 58, 64;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #343a40;
--bs-btn-active-border-color: #343a40;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #343a40;
--bs-btn-disabled-bg: transparent;
--bs-btn-disabled-border-color: #343a40;
--bs-gradient: none;
}
.btn-link {
--bs-btn-font-weight: 400;
--bs-btn-color: var(--bs-link-color);
--bs-btn-bg: transparent;
--bs-btn-border-color: transparent;
--bs-btn-hover-color: var(--bs-link-hover-color);
--bs-btn-hover-border-color: transparent;
--bs-btn-active-color: var(--bs-link-hover-color);
--bs-btn-active-border-color: transparent;
--bs-btn-disabled-color: #6c757d;
--bs-btn-disabled-border-color: transparent;
--bs-btn-box-shadow: 0 0 0 #000;
--bs-btn-focus-shadow-rgb: 38, 141, 201;
text-decoration: none;
}
.btn-link:focus-visible {
color: var(--bs-btn-color);
}
.btn-link:hover {
color: var(--bs-btn-hover-color);
}
.btn-lg, .btn-group-lg > .btn {
--bs-btn-padding-y: 0.5rem;
--bs-btn-padding-x: 1rem;
--bs-btn-font-size: 1.25rem;
--bs-btn-border-radius: var(--bs-border-radius-lg);
}
.btn-sm, .btn-group-sm > .btn {
--bs-btn-padding-y: 0.25rem;
--bs-btn-padding-x: 0.5rem;
--bs-btn-font-size: 0.875rem;
--bs-btn-border-radius: var(--bs-border-radius-sm);
}
.fade {
-webkit-transition: opacity 0.15s linear;
-o-transition: opacity 0.15s linear;
transition: opacity 0.15s linear;
}
@media (prefers-reduced-motion: reduce) {
.fade {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
.fade:not(.show) {
opacity: 0;
}
.collapse:not(.show) {
display: none;
}
.collapsing {
height: 0;
overflow: hidden;
-webkit-transition: height 0.35s ease;
-o-transition: height 0.35s ease;
transition: height 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
.collapsing {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
.collapsing.collapse-horizontal {
width: 0;
height: auto;
-webkit-transition: width 0.35s ease;
-o-transition: width 0.35s ease;
transition: width 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
.collapsing.collapse-horizontal {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
.dropup,
.dropend,
.dropdown,
.dropstart,
.dropup-center,
.dropdown-center {
position: relative;
}
.dropdown-toggle {
white-space: nowrap;
}
.dropdown-toggle::after {
display: inline-block;
margin-left: 0.255em;
vertical-align: 0.255em;
content: "";
border-top: 0.3em solid;
border-right: 0.3em solid transparent;
border-bottom: 0;
border-left: 0.3em solid transparent;
}
.dropdown-toggle:empty::after {
margin-left: 0;
}
.dropdown-menu {
--bs-dropdown-zindex: 1000;
--bs-dropdown-min-width: 10rem;
--bs-dropdown-padding-x: 0;
--bs-dropdown-padding-y: 0.5rem;
--bs-dropdown-spacer: 0.125rem;
--bs-dropdown-font-size: 1rem;
--bs-dropdown-color: var(--bs-body-color);
--bs-dropdown-bg: var(--bs-body-bg);
--bs-dropdown-border-color: var(--bs-border-color-translucent);
--bs-dropdown-border-radius: var(--bs-border-radius);
--bs-dropdown-border-width: var(--bs-border-width);
--bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
--bs-dropdown-divider-bg: var(--bs-border-color-translucent);
--bs-dropdown-divider-margin-y: 0.5rem;
--bs-dropdown-box-shadow: var(--bs-box-shadow);
--bs-dropdown-link-color: var(--bs-body-color);
--bs-dropdown-link-hover-color: var(--bs-body-color);
--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);
--bs-dropdown-link-active-color: #fff;
--bs-dropdown-link-active-bg: #0079C0;
--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
--bs-dropdown-item-padding-x: 1rem;
--bs-dropdown-item-padding-y: 0.25rem;
--bs-dropdown-header-color: #6c757d;
--bs-dropdown-header-padding-x: 1rem;
--bs-dropdown-header-padding-y: 0.5rem;
position: absolute;
z-index: var(--bs-dropdown-zindex);
display: none;
min-width: var(--bs-dropdown-min-width);
padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
margin: 0;
font-size: var(--bs-dropdown-font-size);
color: var(--bs-dropdown-color);
text-align: left;
list-style: none;
background-color: var(--bs-dropdown-bg);
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
border-radius: var(--bs-dropdown-border-radius);
}
.dropdown-menu[data-bs-popper] {
top: 100%;
left: 0;
margin-top: var(--bs-dropdown-spacer);
}
.dropdown-menu-start {
--bs-position: start;
}
.dropdown-menu-start[data-bs-popper] {
right: auto;
left: 0;
}
.dropdown-menu-end {
--bs-position: end;
}
.dropdown-menu-end[data-bs-popper] {
right: 0;
left: auto;
}
@media (min-width: 36rem) {
.dropdown-menu-sm-start {
--bs-position: start;
}
.dropdown-menu-sm-start[data-bs-popper] {
right: auto;
left: 0;
}
.dropdown-menu-sm-end {
--bs-position: end;
}
.dropdown-menu-sm-end[data-bs-popper] {
right: 0;
left: auto;
}
}
@media (min-width: 48rem) {
.dropdown-menu-md-start {
--bs-position: start;
}
.dropdown-menu-md-start[data-bs-popper] {
right: auto;
left: 0;
}
.dropdown-menu-md-end {
--bs-position: end;
}
.dropdown-menu-md-end[data-bs-popper] {
right: 0;
left: auto;
}
}
@media (min-width: 62rem) {
.dropdown-menu-lg-start {
--bs-position: start;
}
.dropdown-menu-lg-start[data-bs-popper] {
right: auto;
left: 0;
}
.dropdown-menu-lg-end {
--bs-position: end;
}
.dropdown-menu-lg-end[data-bs-popper] {
right: 0;
left: auto;
}
}
@media (min-width: 75rem) {
.dropdown-menu-xl-start {
--bs-position: start;
}
.dropdown-menu-xl-start[data-bs-popper] {
right: auto;
left: 0;
}
.dropdown-menu-xl-end {
--bs-position: end;
}
.dropdown-menu-xl-end[data-bs-popper] {
right: 0;
left: auto;
}
}
@media (min-width: 87.5rem) {
.dropdown-menu-xxl-start {
--bs-position: start;
}
.dropdown-menu-xxl-start[data-bs-popper] {
right: auto;
left: 0;
}
.dropdown-menu-xxl-end {
--bs-position: end;
}
.dropdown-menu-xxl-end[data-bs-popper] {
right: 0;
left: auto;
}
}
.dropup .dropdown-menu[data-bs-popper] {
top: auto;
bottom: 100%;
margin-top: 0;
margin-bottom: var(--bs-dropdown-spacer);
}
.dropup .dropdown-toggle::after {
display: inline-block;
margin-left: 0.255em;
vertical-align: 0.255em;
content: "";
border-top: 0;
border-right: 0.3em solid transparent;
border-bottom: 0.3em solid;
border-left: 0.3em solid transparent;
}
.dropup .dropdown-toggle:empty::after {
margin-left: 0;
}
.dropend .dropdown-menu[data-bs-popper] {
top: 0;
right: auto;
left: 100%;
margin-top: 0;
margin-left: var(--bs-dropdown-spacer);
}
.dropend .dropdown-toggle::after {
display: inline-block;
margin-left: 0.255em;
vertical-align: 0.255em;
content: "";
border-top: 0.3em solid transparent;
border-right: 0;
border-bottom: 0.3em solid transparent;
border-left: 0.3em solid;
}
.dropend .dropdown-toggle:empty::after {
margin-left: 0;
}
.dropend .dropdown-toggle::after {
vertical-align: 0;
}
.dropstart .dropdown-menu[data-bs-popper] {
top: 0;
right: 100%;
left: auto;
margin-top: 0;
margin-right: var(--bs-dropdown-spacer);
}
.dropstart .dropdown-toggle::after {
display: inline-block;
margin-left: 0.255em;
vertical-align: 0.255em;
content: "";
}
.dropstart .dropdown-toggle::after {
display: none;
}
.dropstart .dropdown-toggle::before {
display: inline-block;
margin-right: 0.255em;
vertical-align: 0.255em;
content: "";
border-top: 0.3em solid transparent;
border-right: 0.3em solid;
border-bottom: 0.3em solid transparent;
}
.dropstart .dropdown-toggle:empty::after {
margin-left: 0;
}
.dropstart .dropdown-toggle::before {
vertical-align: 0;
}
.dropdown-divider {
height: 0;
margin: var(--bs-dropdown-divider-margin-y) 0;
overflow: hidden;
border-top: 1px solid var(--bs-dropdown-divider-bg);
opacity: 1;
}
.dropdown-item {
display: block;
width: 100%;
padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
clear: both;
font-weight: 400;
color: var(--bs-dropdown-link-color);
text-align: inherit;
white-space: nowrap;
background-color: transparent;
border: 0;
border-radius: var(--bs-dropdown-item-border-radius, 0);
}
.dropdown-item:hover, .dropdown-item:focus {
color: var(--bs-dropdown-link-hover-color);
background-color: var(--bs-dropdown-link-hover-bg);
}
.dropdown-item.active, .dropdown-item:active {
color: var(--bs-dropdown-link-active-color);
text-decoration: none;
background-color: var(--bs-dropdown-link-active-bg);
}
.dropdown-item.disabled, .dropdown-item:disabled {
color: var(--bs-dropdown-link-disabled-color);
pointer-events: none;
background-color: transparent;
}
.dropdown-menu.show {
display: block;
}
.dropdown-header {
display: block;
padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);
margin-bottom: 0;
font-size: 0.875rem;
color: var(--bs-dropdown-header-color);
white-space: nowrap;
}
.dropdown-item-text {
display: block;
padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
color: var(--bs-dropdown-link-color);
}
.dropdown-menu-dark {
--bs-dropdown-color: #dee2e6;
--bs-dropdown-bg: #343a40;
--bs-dropdown-border-color: var(--bs-border-color-translucent);
--bs-dropdown-box-shadow: ;
--bs-dropdown-link-color: #dee2e6;
--bs-dropdown-link-hover-color: #fff;
--bs-dropdown-divider-bg: var(--bs-border-color-translucent);
--bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
--bs-dropdown-link-active-color: #fff;
--bs-dropdown-link-active-bg: #0079C0;
--bs-dropdown-link-disabled-color: #adb5bd;
--bs-dropdown-header-color: #adb5bd;
}
.btn-group,
.btn-group-vertical {
position: relative;
display: -webkit-inline-box;
display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
position: relative;
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
}
.btn-group > .btn-check:checked + .btn,
.btn-group > .btn-check:focus + .btn,
.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn-check:checked + .btn,
.btn-group-vertical > .btn-check:focus + .btn,
.btn-group-vertical > .btn:hover,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
z-index: 1;
}
.btn-toolbar {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-box-pack: start;
-webkit-justify-content: flex-start;
-ms-flex-pack: start;
justify-content: flex-start;
}
.btn-toolbar .input-group {
width: auto;
}
.btn-group {
border-radius: var(--bs-border-radius);
}
.btn-group > :not(.btn-check:first-child) + .btn,
.btn-group > .btn-group:not(:first-child) {
margin-left: calc(var(--bs-border-width) * -1);
}
.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn.dropdown-toggle-split:first-child,
.btn-group > .btn-group:not(:last-child) > .btn {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.btn-group > .btn:nth-child(n+3),
.btn-group > :not(.btn-check) + .btn,
.btn-group > .btn-group:not(:first-child) > .btn {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.dropdown-toggle-split {
padding-right: 0.5625rem;
padding-left: 0.5625rem;
}
.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {
margin-left: 0;
}
.dropstart .dropdown-toggle-split::before {
margin-right: 0;
}
.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
padding-right: 0.375rem;
padding-left: 0.375rem;
}
.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
padding-right: 0.75rem;
padding-left: 0.75rem;
}
.btn-group-vertical {
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: start;
-webkit-align-items: flex-start;
-ms-flex-align: start;
align-items: flex-start;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group {
width: 100%;
}
.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
margin-top: calc(var(--bs-border-width) * -1);
}
.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn {
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn ~ .btn,
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.nav {
--bs-nav-link-padding-x: 1rem;
--bs-nav-link-padding-y: 0.5rem;
--bs-nav-link-font-weight: ;
--bs-nav-link-color: var(--bs-link-color);
--bs-nav-link-hover-color: var(--bs-link-hover-color);
--bs-nav-link-disabled-color: var(--bs-secondary-color);
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
padding-left: 0;
margin-bottom: 0;
list-style: none;
}
.nav-link {
display: block;
padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
font-size: var(--bs-nav-link-font-size);
font-weight: var(--bs-nav-link-font-weight);
color: var(--bs-nav-link-color);
background: none;
border: 0;
-webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
-o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
.nav-link {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
.nav-link:hover, .nav-link:focus {
color: var(--bs-nav-link-hover-color);
}
.nav-link:focus-visible {
outline: 0;
-webkit-box-shadow: 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
box-shadow: 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
}
.nav-link.disabled, .nav-link:disabled {
color: var(--bs-nav-link-disabled-color);
pointer-events: none;
cursor: default;
}
.nav-tabs {
--bs-nav-tabs-border-width: var(--bs-border-width);
--bs-nav-tabs-border-color: var(--bs-border-color);
--bs-nav-tabs-border-radius: var(--bs-border-radius);
--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);
--bs-nav-tabs-link-active-bg: var(--bs-body-bg);
--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
}
.nav-tabs .nav-link {
margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
border: var(--bs-nav-tabs-border-width) solid transparent;
border-top-left-radius: var(--bs-nav-tabs-border-radius);
border-top-right-radius: var(--bs-nav-tabs-border-radius);
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
isolation: isolate;
border-color: var(--bs-nav-tabs-link-hover-border-color);
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
color: var(--bs-nav-tabs-link-active-color);
background-color: var(--bs-nav-tabs-link-active-bg);
border-color: var(--bs-nav-tabs-link-active-border-color);
}
.nav-tabs .dropdown-menu {
margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.nav-pills {
--bs-nav-pills-border-radius: var(--bs-border-radius);
--bs-nav-pills-link-active-color: #fff;
--bs-nav-pills-link-active-bg: #0079C0;
}
.nav-pills .nav-link {
border-radius: var(--bs-nav-pills-border-radius);
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
color: var(--bs-nav-pills-link-active-color);
background-color: var(--bs-nav-pills-link-active-bg);
}
.nav-underline {
--bs-nav-underline-gap: 1rem;
--bs-nav-underline-border-width: 0.125rem;
--bs-nav-underline-link-active-color: var(--bs-emphasis-color);
gap: var(--bs-nav-underline-gap);
}
.nav-underline .nav-link {
padding-right: 0;
padding-left: 0;
border-bottom: var(--bs-nav-underline-border-width) solid transparent;
}
.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {
border-bottom-color: currentcolor;
}
.nav-underline .nav-link.active,
.nav-underline .show > .nav-link {
font-weight: 700;
color: var(--bs-nav-underline-link-active-color);
border-bottom-color: currentcolor;
}
.nav-fill > .nav-link,
.nav-fill .nav-item {
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
text-align: center;
}
.nav-justified > .nav-link,
.nav-justified .nav-item {
-webkit-flex-basis: 0;
-ms-flex-preferred-size: 0;
flex-basis: 0;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
text-align: center;
}
.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
width: 100%;
}
.tab-content > .tab-pane {
display: none;
}
.tab-content > .active {
display: block;
}
.navbar {
--bs-navbar-padding-x: 0;
--bs-navbar-padding-y: 0.5rem;
--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65);
--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8);
--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);
--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);
--bs-navbar-brand-padding-y: 0.3125rem;
--bs-navbar-brand-margin-end: 1rem;
--bs-navbar-brand-font-size: 1.25rem;
--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);
--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);
--bs-navbar-nav-link-padding-x: 0.5rem;
--bs-navbar-toggler-padding-y: 0.25rem;
--bs-navbar-toggler-padding-x: 0.75rem;
--bs-navbar-toggler-font-size: 1.25rem;
--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2852, 58, 64, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);
--bs-navbar-toggler-border-radius: var(--bs-border-radius);
--bs-navbar-toggler-focus-width: 0.25rem;
--bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: justify;
-webkit-justify-content: space-between;
-ms-flex-pack: justify;
justify-content: space-between;
padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);
}
.navbar > .container-xxl, .navbar > .container-xl, .navbar > .container-lg, .navbar > .container-md, .navbar > .container-sm, .navbar > .container,
.navbar > .container-fluid {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: inherit;
-ms-flex-wrap: inherit;
flex-wrap: inherit;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: justify;
-webkit-justify-content: space-between;
-ms-flex-pack: justify;
justify-content: space-between;
}
.navbar-brand {
padding-top: var(--bs-navbar-brand-padding-y);
padding-bottom: var(--bs-navbar-brand-padding-y);
margin-right: var(--bs-navbar-brand-margin-end);
font-size: var(--bs-navbar-brand-font-size);
color: var(--bs-navbar-brand-color);
white-space: nowrap;
}
.navbar-brand:hover, .navbar-brand:focus {
color: var(--bs-navbar-brand-hover-color);
}
.navbar-nav {
--bs-nav-link-padding-x: 0;
--bs-nav-link-padding-y: 0.5rem;
--bs-nav-link-font-weight: ;
--bs-nav-link-color: var(--bs-navbar-color);
--bs-nav-link-hover-color: var(--bs-navbar-hover-color);
--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
padding-left: 0;
margin-bottom: 0;
list-style: none;
}
.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
color: var(--bs-navbar-active-color);
}
.navbar-nav .dropdown-menu {
position: static;
}
.navbar-text {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
color: var(--bs-navbar-color);
}
.navbar-text a,
.navbar-text a:hover,
.navbar-text a:focus {
color: var(--bs-navbar-active-color);
}
.navbar-collapse {
-webkit-flex-basis: 100%;
-ms-flex-preferred-size: 100%;
flex-basis: 100%;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.navbar-toggler {
padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
font-size: var(--bs-navbar-toggler-font-size);
line-height: 1;
color: var(--bs-navbar-color);
background-color: transparent;
border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);
border-radius: var(--bs-navbar-toggler-border-radius);
-webkit-transition: var(--bs-navbar-toggler-transition);
-o-transition: var(--bs-navbar-toggler-transition);
transition: var(--bs-navbar-toggler-transition);
}
@media (prefers-reduced-motion: reduce) {
.navbar-toggler {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
.navbar-toggler:hover {
text-decoration: none;
}
.navbar-toggler:focus {
text-decoration: none;
outline: 0;
-webkit-box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);
box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);
}
.navbar-toggler-icon {
display: inline-block;
width: 1.5em;
height: 1.5em;
vertical-align: middle;
background-image: var(--bs-navbar-toggler-icon-bg);
background-repeat: no-repeat;
background-position: center;
-webkit-background-size: 100% 100%;
background-size: 100%;
}
.navbar-nav-scroll {
max-height: var(--bs-scroll-height, 75vh);
overflow-y: auto;
}
@media (min-width: 36rem) {
.navbar-expand-sm {
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-pack: start;
-webkit-justify-content: flex-start;
-ms-flex-pack: start;
justify-content: flex-start;
}
.navbar-expand-sm .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-expand-sm .navbar-nav .dropdown-menu {
position: absolute;
}
.navbar-expand-sm .navbar-nav .nav-link {
padding-right: var(--bs-navbar-nav-link-padding-x);
padding-left: var(--bs-navbar-nav-link-padding-x);
}
.navbar-expand-sm .navbar-nav-scroll {
overflow: visible;
}
.navbar-expand-sm .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
-webkit-flex-basis: auto;
-ms-flex-preferred-size: auto;
flex-basis: auto;
}
.navbar-expand-sm .navbar-toggler {
display: none;
}
.navbar-expand-sm .offcanvas {
position: static;
z-index: auto;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
width: auto !important;
height: auto !important;
visibility: visible !important;
background-color: transparent !important;
border: 0 !important;
-webkit-transform: none !important;
-o-transform: none !important;
transform: none !important;
-webkit-transition: none;
-o-transition: none;
transition: none;
}
.navbar-expand-sm .offcanvas .offcanvas-header {
display: none;
}
.navbar-expand-sm .offcanvas .offcanvas-body {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 0;
-webkit-flex-grow: 0;
-ms-flex-positive: 0;
flex-grow: 0;
padding: 0;
overflow-y: visible;
}
}
@media (min-width: 48rem) {
.navbar-expand-md {
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-pack: start;
-webkit-justify-content: flex-start;
-ms-flex-pack: start;
justify-content: flex-start;
}
.navbar-expand-md .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-expand-md .navbar-nav .dropdown-menu {
position: absolute;
}
.navbar-expand-md .navbar-nav .nav-link {
padding-right: var(--bs-navbar-nav-link-padding-x);
padding-left: var(--bs-navbar-nav-link-padding-x);
}
.navbar-expand-md .navbar-nav-scroll {
overflow: visible;
}
.navbar-expand-md .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
-webkit-flex-basis: auto;
-ms-flex-preferred-size: auto;
flex-basis: auto;
}
.navbar-expand-md .navbar-toggler {
display: none;
}
.navbar-expand-md .offcanvas {
position: static;
z-index: auto;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
width: auto !important;
height: auto !important;
visibility: visible !important;
background-color: transparent !important;
border: 0 !important;
-webkit-transform: none !important;
-o-transform: none !important;
transform: none !important;
-webkit-transition: none;
-o-transition: none;
transition: none;
}
.navbar-expand-md .offcanvas .offcanvas-header {
display: none;
}
.navbar-expand-md .offcanvas .offcanvas-body {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 0;
-webkit-flex-grow: 0;
-ms-flex-positive: 0;
flex-grow: 0;
padding: 0;
overflow-y: visible;
}
}
@media (min-width: 62rem) {
.navbar-expand-lg {
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-pack: start;
-webkit-justify-content: flex-start;
-ms-flex-pack: start;
justify-content: flex-start;
}
.navbar-expand-lg .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-expand-lg .navbar-nav .dropdown-menu {
position: absolute;
}
.navbar-expand-lg .navbar-nav .nav-link {
padding-right: var(--bs-navbar-nav-link-padding-x);
padding-left: var(--bs-navbar-nav-link-padding-x);
}
.navbar-expand-lg .navbar-nav-scroll {
overflow: visible;
}
.navbar-expand-lg .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
-webkit-flex-basis: auto;
-ms-flex-preferred-size: auto;
flex-basis: auto;
}
.navbar-expand-lg .navbar-toggler {
display: none;
}
.navbar-expand-lg .offcanvas {
position: static;
z-index: auto;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
width: auto !important;
height: auto !important;
visibility: visible !important;
background-color: transparent !important;
border: 0 !important;
-webkit-transform: none !important;
-o-transform: none !important;
transform: none !important;
-webkit-transition: none;
-o-transition: none;
transition: none;
}
.navbar-expand-lg .offcanvas .offcanvas-header {
display: none;
}
.navbar-expand-lg .offcanvas .offcanvas-body {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 0;
-webkit-flex-grow: 0;
-ms-flex-positive: 0;
flex-grow: 0;
padding: 0;
overflow-y: visible;
}
}
@media (min-width: 75rem) {
.navbar-expand-xl {
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-pack: start;
-webkit-justify-content: flex-start;
-ms-flex-pack: start;
justify-content: flex-start;
}
.navbar-expand-xl .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-expand-xl .navbar-nav .dropdown-menu {
position: absolute;
}
.navbar-expand-xl .navbar-nav .nav-link {
padding-right: var(--bs-navbar-nav-link-padding-x);
padding-left: var(--bs-navbar-nav-link-padding-x);
}
.navbar-expand-xl .navbar-nav-scroll {
overflow: visible;
}
.navbar-expand-xl .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
-webkit-flex-basis: auto;
-ms-flex-preferred-size: auto;
flex-basis: auto;
}
.navbar-expand-xl .navbar-toggler {
display: none;
}
.navbar-expand-xl .offcanvas {
position: static;
z-index: auto;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
width: auto !important;
height: auto !important;
visibility: visible !important;
background-color: transparent !important;
border: 0 !important;
-webkit-transform: none !important;
-o-transform: none !important;
transform: none !important;
-webkit-transition: none;
-o-transition: none;
transition: none;
}
.navbar-expand-xl .offcanvas .offcanvas-header {
display: none;
}
.navbar-expand-xl .offcanvas .offcanvas-body {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 0;
-webkit-flex-grow: 0;
-ms-flex-positive: 0;
flex-grow: 0;
padding: 0;
overflow-y: visible;
}
}
@media (min-width: 87.5rem) {
.navbar-expand-xxl {
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-pack: start;
-webkit-justify-content: flex-start;
-ms-flex-pack: start;
justify-content: flex-start;
}
.navbar-expand-xxl .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-expand-xxl .navbar-nav .dropdown-menu {
position: absolute;
}
.navbar-expand-xxl .navbar-nav .nav-link {
padding-right: var(--bs-navbar-nav-link-padding-x);
padding-left: var(--bs-navbar-nav-link-padding-x);
}
.navbar-expand-xxl .navbar-nav-scroll {
overflow: visible;
}
.navbar-expand-xxl .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
-webkit-flex-basis: auto;
-ms-flex-preferred-size: auto;
flex-basis: auto;
}
.navbar-expand-xxl .navbar-toggler {
display: none;
}
.navbar-expand-xxl .offcanvas {
position: static;
z-index: auto;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
width: auto !important;
height: auto !important;
visibility: visible !important;
background-color: transparent !important;
border: 0 !important;
-webkit-transform: none !important;
-o-transform: none !important;
transform: none !important;
-webkit-transition: none;
-o-transition: none;
transition: none;
}
.navbar-expand-xxl .offcanvas .offcanvas-header {
display: none;
}
.navbar-expand-xxl .offcanvas .offcanvas-body {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 0;
-webkit-flex-grow: 0;
-ms-flex-positive: 0;
flex-grow: 0;
padding: 0;
overflow-y: visible;
}
}
.navbar-expand {
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-box-pack: start;
-webkit-justify-content: flex-start;
-ms-flex-pack: start;
justify-content: flex-start;
}
.navbar-expand .navbar-nav {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-expand .navbar-nav .dropdown-menu {
position: absolute;
}
.navbar-expand .navbar-nav .nav-link {
padding-right: var(--bs-navbar-nav-link-padding-x);
padding-left: var(--bs-navbar-nav-link-padding-x);
}
.navbar-expand .navbar-nav-scroll {
overflow: visible;
}
.navbar-expand .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
-webkit-flex-basis: auto;
-ms-flex-preferred-size: auto;
flex-basis: auto;
}
.navbar-expand .navbar-toggler {
display: none;
}
.navbar-expand .offcanvas {
position: static;
z-index: auto;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
width: auto !important;
height: auto !important;
visibility: visible !important;
background-color: transparent !important;
border: 0 !important;
-webkit-transform: none !important;
-o-transform: none !important;
transform: none !important;
-webkit-transition: none;
-o-transition: none;
transition: none;
}
.navbar-expand .offcanvas .offcanvas-header {
display: none;
}
.navbar-expand .offcanvas .offcanvas-body {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 0;
-webkit-flex-grow: 0;
-ms-flex-positive: 0;
flex-grow: 0;
padding: 0;
overflow-y: visible;
}
.navbar-dark,
.navbar[data-bs-theme=dark] {
--bs-navbar-color: rgba(255, 255, 255, 0.55);
--bs-navbar-hover-color: rgba(255, 255, 255, 0.75);
--bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);
--bs-navbar-active-color: #fff;
--bs-navbar-brand-color: #fff;
--bs-navbar-brand-hover-color: #fff;
--bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);
--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
[data-bs-theme=dark] .navbar-toggler-icon {
--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.card {
--bs-card-spacer-y: 1rem;
--bs-card-spacer-x: 1rem;
--bs-card-title-spacer-y: 0.5rem;
--bs-card-title-color: ;
--bs-card-subtitle-color: ;
--bs-card-border-width: var(--bs-border-width);
--bs-card-border-color: var(--bs-border-color-translucent);
--bs-card-border-radius: var(--bs-border-radius);
--bs-card-box-shadow: ;
--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
--bs-card-cap-padding-y: 0.5rem;
--bs-card-cap-padding-x: 1rem;
--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
--bs-card-cap-color: ;
--bs-card-height: ;
--bs-card-color: ;
--bs-card-bg: var(--bs-body-bg);
--bs-card-img-overlay-padding: 1rem;
--bs-card-group-margin: 0.75rem;
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
min-width: 0;
height: var(--bs-card-height);
color: var(--bs-body-color);
word-wrap: break-word;
background-color: var(--bs-card-bg);
-webkit-background-clip: border-box;
background-clip: border-box;
border: var(--bs-card-border-width) solid var(--bs-card-border-color);
border-radius: var(--bs-card-border-radius);
}
.card > hr {
margin-right: 0;
margin-left: 0;
}
.card > .list-group {
border-top: inherit;
border-bottom: inherit;
}
.card > .list-group:first-child {
border-top-width: 0;
border-top-left-radius: var(--bs-card-inner-border-radius);
border-top-right-radius: var(--bs-card-inner-border-radius);
}
.card > .list-group:last-child {
border-bottom-width: 0;
border-bottom-right-radius: var(--bs-card-inner-border-radius);
border-bottom-left-radius: var(--bs-card-inner-border-radius);
}
.card > .card-header + .list-group,
.card > .list-group + .card-footer {
border-top: 0;
}
.card-body {
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
color: var(--bs-card-color);
}
.card-title {
margin-bottom: var(--bs-card-title-spacer-y);
color: var(--bs-card-title-color);
}
.card-subtitle {
margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));
margin-bottom: 0;
color: var(--bs-card-subtitle-color);
}
.card-text:last-child {
margin-bottom: 0;
}
.card-link + .card-link {
margin-left: var(--bs-card-spacer-x);
}
.card-header {
padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
margin-bottom: 0;
color: var(--bs-card-cap-color);
background-color: var(--bs-card-cap-bg);
border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color);
}
.card-header:first-child {
border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;
}
.card-footer {
padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
color: var(--bs-card-cap-color);
background-color: var(--bs-card-cap-bg);
border-top: var(--bs-card-border-width) solid var(--bs-card-border-color);
}
.card-footer:last-child {
border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);
}
.card-header-tabs {
margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
border-bottom: 0;
}
.card-header-tabs .nav-link.active {
background-color: var(--bs-card-bg);
border-bottom-color: var(--bs-card-bg);
}
.card-header-pills {
margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
}
.card-img-overlay {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
padding: var(--bs-card-img-overlay-padding);
border-radius: var(--bs-card-inner-border-radius);
}
.card-img,
.card-img-top,
.card-img-bottom {
width: 100%;
}
.card-img,
.card-img-top {
border-top-left-radius: var(--bs-card-inner-border-radius);
border-top-right-radius: var(--bs-card-inner-border-radius);
}
.card-img,
.card-img-bottom {
border-bottom-right-radius: var(--bs-card-inner-border-radius);
border-bottom-left-radius: var(--bs-card-inner-border-radius);
}
.card-group > .card {
margin-bottom: var(--bs-card-group-margin);
}
@media (min-width: 36rem) {
.card-group {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
}
.card-group > .card {
-webkit-box-flex: 1;
-webkit-flex: 1 0 0%;
-ms-flex: 1 0 0%;
flex: 1 0 0%;
margin-bottom: 0;
}
.card-group > .card + .card {
margin-left: 0;
border-left: 0;
}
.card-group > .card:not(:last-child) {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.card-group > .card:not(:last-child) .card-img-top,
.card-group > .card:not(:last-child) .card-header {
border-top-right-radius: 0;
}
.card-group > .card:not(:last-child) .card-img-bottom,
.card-group > .card:not(:last-child) .card-footer {
border-bottom-right-radius: 0;
}
.card-group > .card:not(:first-child) {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.card-group > .card:not(:first-child) .card-img-top,
.card-group > .card:not(:first-child) .card-header {
border-top-left-radius: 0;
}
.card-group > .card:not(:first-child) .card-img-bottom,
.card-group > .card:not(:first-child) .card-footer {
border-bottom-left-radius: 0;
}
}
.accordion {
--bs-accordion-color: var(--bs-body-color);
--bs-accordion-bg: var(--bs-body-bg);
--bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
--bs-accordion-border-color: var(--bs-border-color);
--bs-accordion-border-width: var(--bs-border-width);
--bs-accordion-border-radius: var(--bs-border-radius);
--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
--bs-accordion-btn-padding-x: 1.25rem;
--bs-accordion-btn-padding-y: 1rem;
--bs-accordion-btn-color: var(--bs-body-color);
--bs-accordion-btn-bg: var(--bs-accordion-bg);
--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23343a40'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
--bs-accordion-btn-icon-width: 1.25rem;
--bs-accordion-btn-icon-transform: rotate(-180deg);
--bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2300304d'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
--bs-accordion-btn-focus-border-color: #80bce0;
--bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
--bs-accordion-body-padding-x: 1.25rem;
--bs-accordion-body-padding-y: 1rem;
--bs-accordion-active-color: var(--bs-primary-text-emphasis);
--bs-accordion-active-bg: var(--bs-primary-bg-subtle);
}
.accordion-button {
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
width: 100%;
padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
font-size: 1rem;
color: var(--bs-accordion-btn-color);
text-align: left;
background-color: var(--bs-accordion-btn-bg);
border: 0;
border-radius: 0;
overflow-anchor: none;
-webkit-transition: var(--bs-accordion-transition);
-o-transition: var(--bs-accordion-transition);
transition: var(--bs-accordion-transition);
}
@media (prefers-reduced-motion: reduce) {
.accordion-button {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
.accordion-button:not(.collapsed) {
color: var(--bs-accordion-active-color);
background-color: var(--bs-accordion-active-bg);
-webkit-box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}
.accordion-button:not(.collapsed)::after {
background-image: var(--bs-accordion-btn-active-icon);
-webkit-transform: var(--bs-accordion-btn-icon-transform);
-o-transform: var(--bs-accordion-btn-icon-transform);
transform: var(--bs-accordion-btn-icon-transform);
}
.accordion-button::after {
-webkit-flex-shrink: 0;
-ms-flex-negative: 0;
flex-shrink: 0;
width: var(--bs-accordion-btn-icon-width);
height: var(--bs-accordion-btn-icon-width);
margin-left: auto;
content: "";
background-image: var(--bs-accordion-btn-icon);
background-repeat: no-repeat;
-webkit-background-size: var(--bs-accordion-btn-icon-width) var(--bs-accordion-btn-icon-width);
background-size: var(--bs-accordion-btn-icon-width);
-webkit-transition: var(--bs-accordion-btn-icon-transition);
-o-transition: var(--bs-accordion-btn-icon-transition);
transition: var(--bs-accordion-btn-icon-transition);
}
@media (prefers-reduced-motion: reduce) {
.accordion-button::after {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
.accordion-button:hover {
z-index: 2;
}
.accordion-button:focus {
z-index: 3;
border-color: var(--bs-accordion-btn-focus-border-color);
outline: 0;
-webkit-box-shadow: var(--bs-accordion-btn-focus-box-shadow);
box-shadow: var(--bs-accordion-btn-focus-box-shadow);
}
.accordion-header {
margin-bottom: 0;
}
.accordion-item {
color: var(--bs-accordion-color);
background-color: var(--bs-accordion-bg);
border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
}
.accordion-item:first-of-type {
border-top-left-radius: var(--bs-accordion-border-radius);
border-top-right-radius: var(--bs-accordion-border-radius);
}
.accordion-item:first-of-type .accordion-button {
border-top-left-radius: var(--bs-accordion-inner-border-radius);
border-top-right-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:not(:first-of-type) {
border-top: 0;
}
.accordion-item:last-of-type {
border-bottom-right-radius: var(--bs-accordion-border-radius);
border-bottom-left-radius: var(--bs-accordion-border-radius);
}
.accordion-item:last-of-type .accordion-button.collapsed {
border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:last-of-type .accordion-collapse {
border-bottom-right-radius: var(--bs-accordion-border-radius);
border-bottom-left-radius: var(--bs-accordion-border-radius);
}
.accordion-body {
padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
}
.accordion-flush .accordion-collapse {
border-width: 0;
}
.accordion-flush .accordion-item {
border-right: 0;
border-left: 0;
border-radius: 0;
}
.accordion-flush .accordion-item:first-child {
border-top: 0;
}
.accordion-flush .accordion-item:last-child {
border-bottom: 0;
}
.accordion-flush .accordion-item .accordion-button, .accordion-flush .accordion-item .accordion-button.collapsed {
border-radius: 0;
}
[data-bs-theme=dark] .accordion-button::after {
--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2366afd9'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2366afd9'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.breadcrumb {
--bs-breadcrumb-padding-x: 0;
--bs-breadcrumb-padding-y: 0;
--bs-breadcrumb-margin-bottom: 1rem;
--bs-breadcrumb-bg: ;
--bs-breadcrumb-border-radius: ;
--bs-breadcrumb-divider-color: var(--bs-secondary-color);
--bs-breadcrumb-item-padding-x: 0.5rem;
--bs-breadcrumb-item-active-color: var(--bs-secondary-color);
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
margin-bottom: var(--bs-breadcrumb-margin-bottom);
font-size: var(--bs-breadcrumb-font-size);
list-style: none;
background-color: var(--bs-breadcrumb-bg);
border-radius: var(--bs-breadcrumb-border-radius);
}
.breadcrumb-item + .breadcrumb-item {
padding-left: var(--bs-breadcrumb-item-padding-x);
}
.breadcrumb-item + .breadcrumb-item::before {
float: left;
padding-right: var(--bs-breadcrumb-item-padding-x);
color: var(--bs-breadcrumb-divider-color);
content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */;
}
.breadcrumb-item.active {
color: var(--bs-breadcrumb-item-active-color);
}
.pagination {
--bs-pagination-padding-x: 0.75rem;
--bs-pagination-padding-y: 0.375rem;
--bs-pagination-font-size: 1rem;
--bs-pagination-color: var(--bs-link-color);
--bs-pagination-bg: var(--bs-body-bg);
--bs-pagination-border-width: var(--bs-border-width);
--bs-pagination-border-color: var(--bs-border-color);
--bs-pagination-border-radius: var(--bs-border-radius);
--bs-pagination-hover-color: var(--bs-link-hover-color);
--bs-pagination-hover-bg: var(--bs-tertiary-bg);
--bs-pagination-hover-border-color: var(--bs-border-color);
--bs-pagination-focus-color: var(--bs-link-hover-color);
--bs-pagination-focus-bg: var(--bs-secondary-bg);
--bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
--bs-pagination-active-color: #fff;
--bs-pagination-active-bg: #0079C0;
--bs-pagination-active-border-color: #0079C0;
--bs-pagination-disabled-color: var(--bs-secondary-color);
--bs-pagination-disabled-bg: var(--bs-secondary-bg);
--bs-pagination-disabled-border-color: var(--bs-border-color);
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
padding-left: 0;
list-style: none;
}
.page-link {
position: relative;
display: block;
padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
font-size: var(--bs-pagination-font-size);
color: var(--bs-pagination-color);
background-color: var(--bs-pagination-bg);
border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
-webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
-o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
.page-link {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
.page-link:hover {
z-index: 2;
color: var(--bs-pagination-hover-color);
background-color: var(--bs-pagination-hover-bg);
border-color: var(--bs-pagination-hover-border-color);
}
.page-link:focus {
z-index: 3;
color: var(--bs-pagination-focus-color);
background-color: var(--bs-pagination-focus-bg);
outline: 0;
-webkit-box-shadow: var(--bs-pagination-focus-box-shadow);
box-shadow: var(--bs-pagination-focus-box-shadow);
}
.page-link.active, .active > .page-link {
z-index: 3;
color: var(--bs-pagination-active-color);
background-color: var(--bs-pagination-active-bg);
border-color: var(--bs-pagination-active-border-color);
}
.page-link.disabled, .disabled > .page-link {
color: var(--bs-pagination-disabled-color);
pointer-events: none;
background-color: var(--bs-pagination-disabled-bg);
border-color: var(--bs-pagination-disabled-border-color);
}
.page-item:not(:first-child) .page-link {
margin-left: calc(var(--bs-border-width) * -1);
}
.page-item:first-child .page-link {
border-top-left-radius: var(--bs-pagination-border-radius);
border-bottom-left-radius: var(--bs-pagination-border-radius);
}
.page-item:last-child .page-link {
border-top-right-radius: var(--bs-pagination-border-radius);
border-bottom-right-radius: var(--bs-pagination-border-radius);
}
.pagination-lg {
--bs-pagination-padding-x: 1.5rem;
--bs-pagination-padding-y: 0.75rem;
--bs-pagination-font-size: 1.25rem;
--bs-pagination-border-radius: var(--bs-border-radius-lg);
}
.pagination-sm {
--bs-pagination-padding-x: 0.5rem;
--bs-pagination-padding-y: 0.25rem;
--bs-pagination-font-size: 0.875rem;
--bs-pagination-border-radius: var(--bs-border-radius-sm);
}
.badge {
--bs-badge-padding-x: 0.65em;
--bs-badge-padding-y: 0.35em;
--bs-badge-font-size: 0.75em;
--bs-badge-font-weight: 700;
--bs-badge-color: #fff;
--bs-badge-border-radius: var(--bs-border-radius);
display: inline-block;
padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
font-size: var(--bs-badge-font-size);
font-weight: var(--bs-badge-font-weight);
line-height: 1;
color: var(--bs-badge-color);
text-align: center;
white-space: nowrap;
vertical-align: baseline;
border-radius: var(--bs-badge-border-radius);
}
.badge:empty {
display: none;
}
.btn .badge {
position: relative;
top: -1px;
}
.alert {
--bs-alert-bg: transparent;
--bs-alert-padding-x: 1rem;
--bs-alert-padding-y: 1rem;
--bs-alert-margin-bottom: 1rem;
--bs-alert-color: inherit;
--bs-alert-border-color: transparent;
--bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
--bs-alert-border-radius: var(--bs-border-radius);
--bs-alert-link-color: inherit;
position: relative;
padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
margin-bottom: var(--bs-alert-margin-bottom);
color: var(--bs-alert-color);
background-color: var(--bs-alert-bg);
border: var(--bs-alert-border);
border-radius: var(--bs-alert-border-radius);
}
.alert-heading {
color: inherit;
}
.alert-link {
font-weight: 700;
color: var(--bs-alert-link-color);
}
.alert-dismissible {
padding-right: 3rem;
}
.alert-dismissible .btn-close {
position: absolute;
top: 0;
right: 0;
z-index: 2;
padding: 1.25rem 1rem;
}
.alert-primary {
--bs-alert-color: var(--bs-primary-text-emphasis);
--bs-alert-bg: var(--bs-primary-bg-subtle);
--bs-alert-border-color: var(--bs-primary-border-subtle);
--bs-alert-link-color: var(--bs-primary-text-emphasis);
}
.alert-secondary {
--bs-alert-color: var(--bs-secondary-text-emphasis);
--bs-alert-bg: var(--bs-secondary-bg-subtle);
--bs-alert-border-color: var(--bs-secondary-border-subtle);
--bs-alert-link-color: var(--bs-secondary-text-emphasis);
}
.alert-success {
--bs-alert-color: var(--bs-success-text-emphasis);
--bs-alert-bg: var(--bs-success-bg-subtle);
--bs-alert-border-color: var(--bs-success-border-subtle);
--bs-alert-link-color: var(--bs-success-text-emphasis);
}
.alert-info {
--bs-alert-color: var(--bs-info-text-emphasis);
--bs-alert-bg: var(--bs-info-bg-subtle);
--bs-alert-border-color: var(--bs-info-border-subtle);
--bs-alert-link-color: var(--bs-info-text-emphasis);
}
.alert-warning {
--bs-alert-color: var(--bs-warning-text-emphasis);
--bs-alert-bg: var(--bs-warning-bg-subtle);
--bs-alert-border-color: var(--bs-warning-border-subtle);
--bs-alert-link-color: var(--bs-warning-text-emphasis);
}
.alert-danger {
--bs-alert-color: var(--bs-danger-text-emphasis);
--bs-alert-bg: var(--bs-danger-bg-subtle);
--bs-alert-border-color: var(--bs-danger-border-subtle);
--bs-alert-link-color: var(--bs-danger-text-emphasis);
}
.alert-light {
--bs-alert-color: var(--bs-light-text-emphasis);
--bs-alert-bg: var(--bs-light-bg-subtle);
--bs-alert-border-color: var(--bs-light-border-subtle);
--bs-alert-link-color: var(--bs-light-text-emphasis);
}
.alert-dark {
--bs-alert-color: var(--bs-dark-text-emphasis);
--bs-alert-bg: var(--bs-dark-bg-subtle);
--bs-alert-border-color: var(--bs-dark-border-subtle);
--bs-alert-link-color: var(--bs-dark-text-emphasis);
}
@-webkit-keyframes progress-bar-stripes {
0% {
background-position-x: 1rem;
}
}
@-o-keyframes progress-bar-stripes {
0% {
background-position-x: 1rem;
}
}
@keyframes progress-bar-stripes {
0% {
background-position-x: 1rem;
}
}
.progress,
.progress-stacked {
--bs-progress-height: 1rem;
--bs-progress-font-size: 0.75rem;
--bs-progress-bg: var(--bs-secondary-bg);
--bs-progress-border-radius: var(--bs-border-radius);
--bs-progress-box-shadow: var(--bs-box-shadow-inset);
--bs-progress-bar-color: #fff;
--bs-progress-bar-bg: #0079C0;
--bs-progress-bar-transition: width 0.6s ease;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
height: var(--bs-progress-height);
overflow: hidden;
font-size: var(--bs-progress-font-size);
background-color: var(--bs-progress-bg);
border-radius: var(--bs-progress-border-radius);
}
.progress-bar {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
overflow: hidden;
color: var(--bs-progress-bar-color);
text-align: center;
white-space: nowrap;
background-color: var(--bs-progress-bar-bg);
-webkit-transition: var(--bs-progress-bar-transition);
-o-transition: var(--bs-progress-bar-transition);
transition: var(--bs-progress-bar-transition);
}
@media (prefers-reduced-motion: reduce) {
.progress-bar {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
.progress-bar-striped {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-webkit-background-size: var(--bs-progress-height) var(--bs-progress-height);
background-size: var(--bs-progress-height) var(--bs-progress-height);
}
.progress-stacked > .progress {
overflow: visible;
}
.progress-stacked > .progress > .progress-bar {
width: 100%;
}
.progress-bar-animated {
-webkit-animation: 1s linear infinite progress-bar-stripes;
-o-animation: 1s linear infinite progress-bar-stripes;
animation: 1s linear infinite progress-bar-stripes;
}
@media (prefers-reduced-motion: reduce) {
.progress-bar-animated {
-webkit-animation: none;
-o-animation: none;
animation: none;
}
}
.list-group {
--bs-list-group-color: var(--bs-body-color);
--bs-list-group-bg: var(--bs-body-bg);
--bs-list-group-border-color: var(--bs-border-color);
--bs-list-group-border-width: var(--bs-border-width);
--bs-list-group-border-radius: var(--bs-border-radius);
--bs-list-group-item-padding-x: 1rem;
--bs-list-group-item-padding-y: 0.5rem;
--bs-list-group-action-color: var(--bs-secondary-color);
--bs-list-group-action-hover-color: var(--bs-emphasis-color);
--bs-list-group-action-hover-bg: var(--bs-tertiary-bg);
--bs-list-group-action-active-color: var(--bs-body-color);
--bs-list-group-action-active-bg: var(--bs-secondary-bg);
--bs-list-group-disabled-color: var(--bs-secondary-color);
--bs-list-group-disabled-bg: var(--bs-body-bg);
--bs-list-group-active-color: #fff;
--bs-list-group-active-bg: #0079C0;
--bs-list-group-active-border-color: #0079C0;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
padding-left: 0;
margin-bottom: 0;
border-radius: var(--bs-list-group-border-radius);
}
.list-group-numbered {
list-style-type: none;
counter-reset: section;
}
.list-group-numbered > .list-group-item::before {
content: counters(section, ".") ". ";
counter-increment: section;
}
.list-group-item-action {
width: 100%;
color: var(--bs-list-group-action-color);
text-align: inherit;
}
.list-group-item-action:hover, .list-group-item-action:focus {
z-index: 1;
color: var(--bs-list-group-action-hover-color);
text-decoration: none;
background-color: var(--bs-list-group-action-hover-bg);
}
.list-group-item-action:active {
color: var(--bs-list-group-action-active-color);
background-color: var(--bs-list-group-action-active-bg);
}
.list-group-item {
position: relative;
display: block;
padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
color: var(--bs-list-group-color);
background-color: var(--bs-list-group-bg);
border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);
}
.list-group-item:first-child {
border-top-left-radius: inherit;
border-top-right-radius: inherit;
}
.list-group-item:last-child {
border-bottom-right-radius: inherit;
border-bottom-left-radius: inherit;
}
.list-group-item.disabled, .list-group-item:disabled {
color: var(--bs-list-group-disabled-color);
pointer-events: none;
background-color: var(--bs-list-group-disabled-bg);
}
.list-group-item.active {
z-index: 2;
color: var(--bs-list-group-active-color);
background-color: var(--bs-list-group-active-bg);
border-color: var(--bs-list-group-active-border-color);
}
.list-group-item + .list-group-item {
border-top-width: 0;
}
.list-group-item + .list-group-item.active {
margin-top: calc(-1 * var(--bs-list-group-border-width));
border-top-width: var(--bs-list-group-border-width);
}
.list-group-horizontal {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.list-group-horizontal > .list-group-item:first-child:not(:last-child) {
border-bottom-left-radius: var(--bs-list-group-border-radius);
border-top-right-radius: 0;
}
.list-group-horizontal > .list-group-item:last-child:not(:first-child) {
border-top-right-radius: var(--bs-list-group-border-radius);
border-bottom-left-radius: 0;
}
.list-group-horizontal > .list-group-item.active {
margin-top: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item {
border-top-width: var(--bs-list-group-border-width);
border-left-width: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item.active {
margin-left: calc(-1 * var(--bs-list-group-border-width));
border-left-width: var(--bs-list-group-border-width);
}
@media (min-width: 36rem) {
.list-group-horizontal-sm {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {
border-bottom-left-radius: var(--bs-list-group-border-radius);
border-top-right-radius: 0;
}
.list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {
border-top-right-radius: var(--bs-list-group-border-radius);
border-bottom-left-radius: 0;
}
.list-group-horizontal-sm > .list-group-item.active {
margin-top: 0;
}
.list-group-horizontal-sm > .list-group-item + .list-group-item {
border-top-width: var(--bs-list-group-border-width);
border-left-width: 0;
}
.list-group-horizontal-sm > .list-group-item + .list-group-item.active {
margin-left: calc(-1 * var(--bs-list-group-border-width));
border-left-width: var(--bs-list-group-border-width);
}
}
@media (min-width: 48rem) {
.list-group-horizontal-md {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {
border-bottom-left-radius: var(--bs-list-group-border-radius);
border-top-right-radius: 0;
}
.list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {
border-top-right-radius: var(--bs-list-group-border-radius);
border-bottom-left-radius: 0;
}
.list-group-horizontal-md > .list-group-item.active {
margin-top: 0;
}
.list-group-horizontal-md > .list-group-item + .list-group-item {
border-top-width: var(--bs-list-group-border-width);
border-left-width: 0;
}
.list-group-horizontal-md > .list-group-item + .list-group-item.active {
margin-left: calc(-1 * var(--bs-list-group-border-width));
border-left-width: var(--bs-list-group-border-width);
}
}
@media (min-width: 62rem) {
.list-group-horizontal-lg {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {
border-bottom-left-radius: var(--bs-list-group-border-radius);
border-top-right-radius: 0;
}
.list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {
border-top-right-radius: var(--bs-list-group-border-radius);
border-bottom-left-radius: 0;
}
.list-group-horizontal-lg > .list-group-item.active {
margin-top: 0;
}
.list-group-horizontal-lg > .list-group-item + .list-group-item {
border-top-width: var(--bs-list-group-border-width);
border-left-width: 0;
}
.list-group-horizontal-lg > .list-group-item + .list-group-item.active {
margin-left: calc(-1 * var(--bs-list-group-border-width));
border-left-width: var(--bs-list-group-border-width);
}
}
@media (min-width: 75rem) {
.list-group-horizontal-xl {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {
border-bottom-left-radius: var(--bs-list-group-border-radius);
border-top-right-radius: 0;
}
.list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {
border-top-right-radius: var(--bs-list-group-border-radius);
border-bottom-left-radius: 0;
}
.list-group-horizontal-xl > .list-group-item.active {
margin-top: 0;
}
.list-group-horizontal-xl > .list-group-item + .list-group-item {
border-top-width: var(--bs-list-group-border-width);
border-left-width: 0;
}
.list-group-horizontal-xl > .list-group-item + .list-group-item.active {
margin-left: calc(-1 * var(--bs-list-group-border-width));
border-left-width: var(--bs-list-group-border-width);
}
}
@media (min-width: 87.5rem) {
.list-group-horizontal-xxl {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {
border-bottom-left-radius: var(--bs-list-group-border-radius);
border-top-right-radius: 0;
}
.list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {
border-top-right-radius: var(--bs-list-group-border-radius);
border-bottom-left-radius: 0;
}
.list-group-horizontal-xxl > .list-group-item.active {
margin-top: 0;
}
.list-group-horizontal-xxl > .list-group-item + .list-group-item {
border-top-width: var(--bs-list-group-border-width);
border-left-width: 0;
}
.list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
margin-left: calc(-1 * var(--bs-list-group-border-width));
border-left-width: var(--bs-list-group-border-width);
}
}
.list-group-flush {
border-radius: 0;
}
.list-group-flush > .list-group-item {
border-width: 0 0 var(--bs-list-group-border-width);
}
.list-group-flush > .list-group-item:last-child {
border-bottom-width: 0;
}
.list-group-item-primary {
--bs-list-group-color: var(--bs-primary-text-emphasis);
--bs-list-group-bg: var(--bs-primary-bg-subtle);
--bs-list-group-border-color: var(--bs-primary-border-subtle);
--bs-list-group-action-hover-color: var(--bs-emphasis-color);
--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);
--bs-list-group-action-active-color: var(--bs-emphasis-color);
--bs-list-group-action-active-bg: var(--bs-primary-border-subtle);
--bs-list-group-active-color: var(--bs-primary-bg-subtle);
--bs-list-group-active-bg: var(--bs-primary-text-emphasis);
--bs-list-group-active-border-color: var(--bs-primary-text-emphasis);
}
.list-group-item-secondary {
--bs-list-group-color: var(--bs-secondary-text-emphasis);
--bs-list-group-bg: var(--bs-secondary-bg-subtle);
--bs-list-group-border-color: var(--bs-secondary-border-subtle);
--bs-list-group-action-hover-color: var(--bs-emphasis-color);
--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);
--bs-list-group-action-active-color: var(--bs-emphasis-color);
--bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);
--bs-list-group-active-color: var(--bs-secondary-bg-subtle);
--bs-list-group-active-bg: var(--bs-secondary-text-emphasis);
--bs-list-group-active-border-color: var(--bs-secondary-text-emphasis);
}
.list-group-item-success {
--bs-list-group-color: var(--bs-success-text-emphasis);
--bs-list-group-bg: var(--bs-success-bg-subtle);
--bs-list-group-border-color: var(--bs-success-border-subtle);
--bs-list-group-action-hover-color: var(--bs-emphasis-color);
--bs-list-group-action-hover-bg: var(--bs-success-border-subtle);
--bs-list-group-action-active-color: var(--bs-emphasis-color);
--bs-list-group-action-active-bg: var(--bs-success-border-subtle);
--bs-list-group-active-color: var(--bs-success-bg-subtle);
--bs-list-group-active-bg: var(--bs-success-text-emphasis);
--bs-list-group-active-border-color: var(--bs-success-text-emphasis);
}
.list-group-item-info {
--bs-list-group-color: var(--bs-info-text-emphasis);
--bs-list-group-bg: var(--bs-info-bg-subtle);
--bs-list-group-border-color: var(--bs-info-border-subtle);
--bs-list-group-action-hover-color: var(--bs-emphasis-color);
--bs-list-group-action-hover-bg: var(--bs-info-border-subtle);
--bs-list-group-action-active-color: var(--bs-emphasis-color);
--bs-list-group-action-active-bg: var(--bs-info-border-subtle);
--bs-list-group-active-color: var(--bs-info-bg-subtle);
--bs-list-group-active-bg: var(--bs-info-text-emphasis);
--bs-list-group-active-border-color: var(--bs-info-text-emphasis);
}
.list-group-item-warning {
--bs-list-group-color: var(--bs-warning-text-emphasis);
--bs-list-group-bg: var(--bs-warning-bg-subtle);
--bs-list-group-border-color: var(--bs-warning-border-subtle);
--bs-list-group-action-hover-color: var(--bs-emphasis-color);
--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);
--bs-list-group-action-active-color: var(--bs-emphasis-color);
--bs-list-group-action-active-bg: var(--bs-warning-border-subtle);
--bs-list-group-active-color: var(--bs-warning-bg-subtle);
--bs-list-group-active-bg: var(--bs-warning-text-emphasis);
--bs-list-group-active-border-color: var(--bs-warning-text-emphasis);
}
.list-group-item-danger {
--bs-list-group-color: var(--bs-danger-text-emphasis);
--bs-list-group-bg: var(--bs-danger-bg-subtle);
--bs-list-group-border-color: var(--bs-danger-border-subtle);
--bs-list-group-action-hover-color: var(--bs-emphasis-color);
--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);
--bs-list-group-action-active-color: var(--bs-emphasis-color);
--bs-list-group-action-active-bg: var(--bs-danger-border-subtle);
--bs-list-group-active-color: var(--bs-danger-bg-subtle);
--bs-list-group-active-bg: var(--bs-danger-text-emphasis);
--bs-list-group-active-border-color: var(--bs-danger-text-emphasis);
}
.list-group-item-light {
--bs-list-group-color: var(--bs-light-text-emphasis);
--bs-list-group-bg: var(--bs-light-bg-subtle);
--bs-list-group-border-color: var(--bs-light-border-subtle);
--bs-list-group-action-hover-color: var(--bs-emphasis-color);
--bs-list-group-action-hover-bg: var(--bs-light-border-subtle);
--bs-list-group-action-active-color: var(--bs-emphasis-color);
--bs-list-group-action-active-bg: var(--bs-light-border-subtle);
--bs-list-group-active-color: var(--bs-light-bg-subtle);
--bs-list-group-active-bg: var(--bs-light-text-emphasis);
--bs-list-group-active-border-color: var(--bs-light-text-emphasis);
}
.list-group-item-dark {
--bs-list-group-color: var(--bs-dark-text-emphasis);
--bs-list-group-bg: var(--bs-dark-bg-subtle);
--bs-list-group-border-color: var(--bs-dark-border-subtle);
--bs-list-group-action-hover-color: var(--bs-emphasis-color);
--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);
--bs-list-group-action-active-color: var(--bs-emphasis-color);
--bs-list-group-action-active-bg: var(--bs-dark-border-subtle);
--bs-list-group-active-color: var(--bs-dark-bg-subtle);
--bs-list-group-active-bg: var(--bs-dark-text-emphasis);
--bs-list-group-active-border-color: var(--bs-dark-text-emphasis);
}
.btn-close {
--bs-btn-close-color: #000;
--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
--bs-btn-close-opacity: 0.5;
--bs-btn-close-hover-opacity: 0.75;
--bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(0, 121, 192, 0.25);
--bs-btn-close-focus-opacity: 1;
--bs-btn-close-disabled-opacity: 0.25;
--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);
-webkit-box-sizing: content-box;
box-sizing: content-box;
width: 1em;
height: 1em;
padding: 0.25em 0.25em;
color: var(--bs-btn-close-color);
background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;
border: 0;
border-radius: 0.375rem;
opacity: var(--bs-btn-close-opacity);
}
.btn-close:hover {
color: var(--bs-btn-close-color);
text-decoration: none;
opacity: var(--bs-btn-close-hover-opacity);
}
.btn-close:focus {
outline: 0;
-webkit-box-shadow: var(--bs-btn-close-focus-shadow);
box-shadow: var(--bs-btn-close-focus-shadow);
opacity: var(--bs-btn-close-focus-opacity);
}
.btn-close:disabled, .btn-close.disabled {
pointer-events: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
opacity: var(--bs-btn-close-disabled-opacity);
}
.btn-close-white {
-webkit-filter: var(--bs-btn-close-white-filter);
filter: var(--bs-btn-close-white-filter);
}
[data-bs-theme=dark] .btn-close {
-webkit-filter: var(--bs-btn-close-white-filter);
filter: var(--bs-btn-close-white-filter);
}
.toast {
--bs-toast-zindex: 1090;
--bs-toast-padding-x: 0.75rem;
--bs-toast-padding-y: 0.5rem;
--bs-toast-spacing: 1.5rem;
--bs-toast-max-width: 350px;
--bs-toast-font-size: 0.875rem;
--bs-toast-color: ;
--bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);
--bs-toast-border-width: var(--bs-border-width);
--bs-toast-border-color: var(--bs-border-color-translucent);
--bs-toast-border-radius: var(--bs-border-radius);
--bs-toast-box-shadow: var(--bs-box-shadow);
--bs-toast-header-color: var(--bs-secondary-color);
--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);
--bs-toast-header-border-color: var(--bs-border-color-translucent);
width: var(--bs-toast-max-width);
max-width: 100%;
font-size: var(--bs-toast-font-size);
color: var(--bs-toast-color);
pointer-events: auto;
background-color: var(--bs-toast-bg);
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);
-webkit-box-shadow: var(--bs-toast-box-shadow);
box-shadow: var(--bs-toast-box-shadow);
border-radius: var(--bs-toast-border-radius);
}
.toast.showing {
opacity: 0;
}
.toast:not(.show) {
display: none;
}
.toast-container {
--bs-toast-zindex: 1090;
position: absolute;
z-index: var(--bs-toast-zindex);
width: -webkit-max-content;
width: -moz-max-content;
width: max-content;
max-width: 100%;
pointer-events: none;
}
.toast-container > :not(:last-child) {
margin-bottom: var(--bs-toast-spacing);
}
.toast-header {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);
color: var(--bs-toast-header-color);
background-color: var(--bs-toast-header-bg);
-webkit-background-clip: padding-box;
background-clip: padding-box;
border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);
border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
}
.toast-header .btn-close {
margin-right: calc(-0.5 * var(--bs-toast-padding-x));
margin-left: var(--bs-toast-padding-x);
}
.toast-body {
padding: var(--bs-toast-padding-x);
word-wrap: break-word;
}
.modal {
--bs-modal-zindex: 1055;
--bs-modal-width: 500px;
--bs-modal-padding: 1rem;
--bs-modal-margin: 0.5rem;
--bs-modal-color: ;
--bs-modal-bg: var(--bs-body-bg);
--bs-modal-border-color: var(--bs-border-color-translucent);
--bs-modal-border-width: var(--bs-border-width);
--bs-modal-border-radius: var(--bs-border-radius-lg);
--bs-modal-box-shadow: var(--bs-box-shadow-sm);
--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));
--bs-modal-header-padding-x: 1rem;
--bs-modal-header-padding-y: 1rem;
--bs-modal-header-padding: 1rem 1rem;
--bs-modal-header-border-color: var(--bs-border-color);
--bs-modal-header-border-width: var(--bs-border-width);
--bs-modal-title-line-height: 1.5;
--bs-modal-footer-gap: 0.5rem;
--bs-modal-footer-bg: ;
--bs-modal-footer-border-color: var(--bs-border-color);
--bs-modal-footer-border-width: var(--bs-border-width);
position: fixed;
top: 0;
left: 0;
z-index: var(--bs-modal-zindex);
display: none;
width: 100%;
height: 100%;
overflow-x: hidden;
overflow-y: auto;
outline: 0;
}
.modal-dialog {
position: relative;
width: auto;
margin: var(--bs-modal-margin);
pointer-events: none;
}
.modal.fade .modal-dialog {
-webkit-transition: -webkit-transform 0.3s ease-out;
transition: -webkit-transform 0.3s ease-out;
-o-transition: -o-transform 0.3s ease-out;
transition: transform 0.3s ease-out;
transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out, -o-transform 0.3s ease-out;
-webkit-transform: translate(0, -50px);
-o-transform: translate(0, -50px);
transform: translate(0, -50px);
}
@media (prefers-reduced-motion: reduce) {
.modal.fade .modal-dialog {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
.modal.show .modal-dialog {
-webkit-transform: none;
-o-transform: none;
transform: none;
}
.modal.modal-static .modal-dialog {
-webkit-transform: scale(1.02);
-o-transform: scale(1.02);
transform: scale(1.02);
}
.modal-dialog-scrollable {
height: calc(100% - var(--bs-modal-margin) * 2);
}
.modal-dialog-scrollable .modal-content {
max-height: 100%;
overflow: hidden;
}
.modal-dialog-scrollable .modal-body {
overflow-y: auto;
}
.modal-dialog-centered {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
min-height: calc(100% - var(--bs-modal-margin) * 2);
}
.modal-content {
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
width: 100%;
color: var(--bs-modal-color);
pointer-events: auto;
background-color: var(--bs-modal-bg);
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
border-radius: var(--bs-modal-border-radius);
outline: 0;
}
.modal-backdrop {
--bs-backdrop-zindex: 1050;
--bs-backdrop-bg: #000;
--bs-backdrop-opacity: 0.5;
position: fixed;
top: 0;
left: 0;
z-index: var(--bs-backdrop-zindex);
width: 100vw;
height: 100vh;
background-color: var(--bs-backdrop-bg);
}
.modal-backdrop.fade {
opacity: 0;
}
.modal-backdrop.show {
opacity: var(--bs-backdrop-opacity);
}
.modal-header {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-shrink: 0;
-ms-flex-negative: 0;
flex-shrink: 0;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: justify;
-webkit-justify-content: space-between;
-ms-flex-pack: justify;
justify-content: space-between;
padding: var(--bs-modal-header-padding);
border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
border-top-left-radius: var(--bs-modal-inner-border-radius);
border-top-right-radius: var(--bs-modal-inner-border-radius);
}
.modal-header .btn-close {
padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);
margin: calc(-0.5 * var(--bs-modal-header-padding-y)) calc(-0.5 * var(--bs-modal-header-padding-x)) calc(-0.5 * var(--bs-modal-header-padding-y)) auto;
}
.modal-title {
margin-bottom: 0;
line-height: var(--bs-modal-title-line-height);
}
.modal-body {
position: relative;
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
padding: var(--bs-modal-padding);
}
.modal-footer {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-shrink: 0;
-ms-flex-negative: 0;
flex-shrink: 0;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: end;
-webkit-justify-content: flex-end;
-ms-flex-pack: end;
justify-content: flex-end;
padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5);
background-color: var(--bs-modal-footer-bg);
border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);
border-bottom-right-radius: var(--bs-modal-inner-border-radius);
border-bottom-left-radius: var(--bs-modal-inner-border-radius);
}
.modal-footer > * {
margin: calc(var(--bs-modal-footer-gap) * 0.5);
}
@media (min-width: 36rem) {
.modal {
--bs-modal-margin: 1.75rem;
--bs-modal-box-shadow: var(--bs-box-shadow);
}
.modal-dialog {
max-width: var(--bs-modal-width);
margin-right: auto;
margin-left: auto;
}
.modal-sm {
--bs-modal-width: 300px;
}
}
@media (min-width: 62rem) {
.modal-lg,
.modal-xl {
--bs-modal-width: 800px;
}
}
@media (min-width: 75rem) {
.modal-xl {
--bs-modal-width: 1140px;
}
}
.modal-fullscreen {
width: 100vw;
max-width: none;
height: 100%;
margin: 0;
}
.modal-fullscreen .modal-content {
height: 100%;
border: 0;
border-radius: 0;
}
.modal-fullscreen .modal-header,
.modal-fullscreen .modal-footer {
border-radius: 0;
}
.modal-fullscreen .modal-body {
overflow-y: auto;
}
@media (max-width: 35.99875rem) {
.modal-fullscreen-sm-down {
width: 100vw;
max-width: none;
height: 100%;
margin: 0;
}
.modal-fullscreen-sm-down .modal-content {
height: 100%;
border: 0;
border-radius: 0;
}
.modal-fullscreen-sm-down .modal-header,
.modal-fullscreen-sm-down .modal-footer {
border-radius: 0;
}
.modal-fullscreen-sm-down .modal-body {
overflow-y: auto;
}
}
@media (max-width: 47.99875rem) {
.modal-fullscreen-md-down {
width: 100vw;
max-width: none;
height: 100%;
margin: 0;
}
.modal-fullscreen-md-down .modal-content {
height: 100%;
border: 0;
border-radius: 0;
}
.modal-fullscreen-md-down .modal-header,
.modal-fullscreen-md-down .modal-footer {
border-radius: 0;
}
.modal-fullscreen-md-down .modal-body {
overflow-y: auto;
}
}
@media (max-width: 61.99875rem) {
.modal-fullscreen-lg-down {
width: 100vw;
max-width: none;
height: 100%;
margin: 0;
}
.modal-fullscreen-lg-down .modal-content {
height: 100%;
border: 0;
border-radius: 0;
}
.modal-fullscreen-lg-down .modal-header,
.modal-fullscreen-lg-down .modal-footer {
border-radius: 0;
}
.modal-fullscreen-lg-down .modal-body {
overflow-y: auto;
}
}
@media (max-width: 74.99875rem) {
.modal-fullscreen-xl-down {
width: 100vw;
max-width: none;
height: 100%;
margin: 0;
}
.modal-fullscreen-xl-down .modal-content {
height: 100%;
border: 0;
border-radius: 0;
}
.modal-fullscreen-xl-down .modal-header,
.modal-fullscreen-xl-down .modal-footer {
border-radius: 0;
}
.modal-fullscreen-xl-down .modal-body {
overflow-y: auto;
}
}
@media (max-width: 87.49875rem) {
.modal-fullscreen-xxl-down {
width: 100vw;
max-width: none;
height: 100%;
margin: 0;
}
.modal-fullscreen-xxl-down .modal-content {
height: 100%;
border: 0;
border-radius: 0;
}
.modal-fullscreen-xxl-down .modal-header,
.modal-fullscreen-xxl-down .modal-footer {
border-radius: 0;
}
.modal-fullscreen-xxl-down .modal-body {
overflow-y: auto;
}
}
.tooltip {
--bs-tooltip-zindex: 1080;
--bs-tooltip-max-width: 200px;
--bs-tooltip-padding-x: 0.5rem;
--bs-tooltip-padding-y: 0.25rem;
--bs-tooltip-margin: ;
--bs-tooltip-font-size: 0.875rem;
--bs-tooltip-color: var(--bs-body-bg);
--bs-tooltip-bg: var(--bs-emphasis-color);
--bs-tooltip-border-radius: var(--bs-border-radius);
--bs-tooltip-opacity: 0.9;
--bs-tooltip-arrow-width: 0.8rem;
--bs-tooltip-arrow-height: 0.4rem;
z-index: var(--bs-tooltip-zindex);
display: block;
margin: var(--bs-tooltip-margin);
font-family: var(--bs-font-sans-serif);
font-style: normal;
font-weight: 400;
line-height: 1.5;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
letter-spacing: normal;
word-break: normal;
white-space: normal;
word-spacing: normal;
line-break: auto;
font-size: var(--bs-tooltip-font-size);
word-wrap: break-word;
opacity: 0;
}
.tooltip.show {
opacity: var(--bs-tooltip-opacity);
}
.tooltip .tooltip-arrow {
display: block;
width: var(--bs-tooltip-arrow-width);
height: var(--bs-tooltip-arrow-height);
}
.tooltip .tooltip-arrow::before {
position: absolute;
content: "";
border-color: transparent;
border-style: solid;
}
.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {
bottom: calc(-1 * var(--bs-tooltip-arrow-height));
}
.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
top: -1px;
border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
border-top-color: var(--bs-tooltip-bg);
}
/* rtl:begin:ignore */
.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
left: calc(-1 * var(--bs-tooltip-arrow-height));
width: var(--bs-tooltip-arrow-height);
height: var(--bs-tooltip-arrow-width);
}
.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {
right: -1px;
border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
border-right-color: var(--bs-tooltip-bg);
}
/* rtl:end:ignore */
.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
top: calc(-1 * var(--bs-tooltip-arrow-height));
}
.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
bottom: -1px;
border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
border-bottom-color: var(--bs-tooltip-bg);
}
/* rtl:begin:ignore */
.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
right: calc(-1 * var(--bs-tooltip-arrow-height));
width: var(--bs-tooltip-arrow-height);
height: var(--bs-tooltip-arrow-width);
}
.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
left: -1px;
border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
border-left-color: var(--bs-tooltip-bg);
}
/* rtl:end:ignore */
.tooltip-inner {
max-width: var(--bs-tooltip-max-width);
padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);
color: var(--bs-tooltip-color);
text-align: center;
background-color: var(--bs-tooltip-bg);
border-radius: var(--bs-tooltip-border-radius);
}
.popover {
--bs-popover-zindex: 1070;
--bs-popover-max-width: 276px;
--bs-popover-font-size: 0.875rem;
--bs-popover-bg: var(--bs-body-bg);
--bs-popover-border-width: var(--bs-border-width);
--bs-popover-border-color: var(--bs-border-color-translucent);
--bs-popover-border-radius: var(--bs-border-radius-lg);
--bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
--bs-popover-box-shadow: var(--bs-box-shadow);
--bs-popover-header-padding-x: 1rem;
--bs-popover-header-padding-y: 0.5rem;
--bs-popover-header-font-size: 1rem;
--bs-popover-header-color: inherit;
--bs-popover-header-bg: var(--bs-secondary-bg);
--bs-popover-body-padding-x: 1rem;
--bs-popover-body-padding-y: 1rem;
--bs-popover-body-color: var(--bs-body-color);
--bs-popover-arrow-width: 1rem;
--bs-popover-arrow-height: 0.5rem;
--bs-popover-arrow-border: var(--bs-popover-border-color);
z-index: var(--bs-popover-zindex);
display: block;
max-width: var(--bs-popover-max-width);
font-family: var(--bs-font-sans-serif);
font-style: normal;
font-weight: 400;
line-height: 1.5;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
letter-spacing: normal;
word-break: normal;
white-space: normal;
word-spacing: normal;
line-break: auto;
font-size: var(--bs-popover-font-size);
word-wrap: break-word;
background-color: var(--bs-popover-bg);
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
border-radius: var(--bs-popover-border-radius);
}
.popover .popover-arrow {
display: block;
width: var(--bs-popover-arrow-width);
height: var(--bs-popover-arrow-height);
}
.popover .popover-arrow::before, .popover .popover-arrow::after {
position: absolute;
display: block;
content: "";
border-color: transparent;
border-style: solid;
border-width: 0;
}
.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {
bottom: 0;
border-top-color: var(--bs-popover-arrow-border);
}
.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
bottom: var(--bs-popover-border-width);
border-top-color: var(--bs-popover-bg);
}
/* rtl:begin:ignore */
.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
width: var(--bs-popover-arrow-height);
height: var(--bs-popover-arrow-width);
}
.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
}
.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
left: 0;
border-right-color: var(--bs-popover-arrow-border);
}
.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
left: var(--bs-popover-border-width);
border-right-color: var(--bs-popover-bg);
}
/* rtl:end:ignore */
.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {
top: 0;
border-bottom-color: var(--bs-popover-arrow-border);
}
.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
top: var(--bs-popover-border-width);
border-bottom-color: var(--bs-popover-bg);
}
.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {
position: absolute;
top: 0;
left: 50%;
display: block;
width: var(--bs-popover-arrow-width);
margin-left: calc(-0.5 * var(--bs-popover-arrow-width));
content: "";
border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);
}
/* rtl:begin:ignore */
.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
width: var(--bs-popover-arrow-height);
height: var(--bs-popover-arrow-width);
}
.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
}
.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
right: 0;
border-left-color: var(--bs-popover-arrow-border);
}
.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
right: var(--bs-popover-border-width);
border-left-color: var(--bs-popover-bg);
}
/* rtl:end:ignore */
.popover-header {
padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);
margin-bottom: 0;
font-size: var(--bs-popover-header-font-size);
color: var(--bs-popover-header-color);
background-color: var(--bs-popover-header-bg);
border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
border-top-left-radius: var(--bs-popover-inner-border-radius);
border-top-right-radius: var(--bs-popover-inner-border-radius);
}
.popover-header:empty {
display: none;
}
.popover-body {
padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);
color: var(--bs-popover-body-color);
}
.carousel {
position: relative;
}
.carousel.pointer-event {
-ms-touch-action: pan-y;
touch-action: pan-y;
}
.carousel-inner {
position: relative;
width: 100%;
overflow: hidden;
}
.carousel-inner::after {
display: block;
clear: both;
content: "";
}
.carousel-item {
position: relative;
display: none;
float: left;
width: 100%;
margin-right: -100%;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-transition: -webkit-transform 0.6s ease-in-out;
transition: -webkit-transform 0.6s ease-in-out;
-o-transition: -o-transform 0.6s ease-in-out;
transition: transform 0.6s ease-in-out;
transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
.carousel-item {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
display: block;
}
.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end {
-webkit-transform: translateX(100%);
-o-transform: translateX(100%);
transform: translateX(100%);
}
.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start {
-webkit-transform: translateX(-100%);
-o-transform: translateX(-100%);
transform: translateX(-100%);
}
.carousel-fade .carousel-item {
opacity: 0;
-webkit-transition-property: opacity;
-o-transition-property: opacity;
transition-property: opacity;
-webkit-transform: none;
-o-transform: none;
transform: none;
}
.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-start,
.carousel-fade .carousel-item-prev.carousel-item-end {
z-index: 1;
opacity: 1;
}
.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
z-index: 0;
opacity: 0;
-webkit-transition: opacity 0s 0.6s;
-o-transition: opacity 0s 0.6s;
transition: opacity 0s 0.6s;
}
@media (prefers-reduced-motion: reduce) {
.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
.carousel-control-prev,
.carousel-control-next {
position: absolute;
top: 0;
bottom: 0;
z-index: 1;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
width: 15%;
padding: 0;
color: #fff;
text-align: center;
background: none;
border: 0;
opacity: 0.5;
-webkit-transition: opacity 0.15s ease;
-o-transition: opacity 0.15s ease;
transition: opacity 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
.carousel-control-prev,
.carousel-control-next {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
color: #fff;
text-decoration: none;
outline: 0;
opacity: 0.9;
}
.carousel-control-prev {
left: 0;
}
.carousel-control-next {
right: 0;
}
.carousel-control-prev-icon,
.carousel-control-next-icon {
display: inline-block;
width: 2rem;
height: 2rem;
background-repeat: no-repeat;
background-position: 50%;
-webkit-background-size: 100% 100%;
background-size: 100% 100%;
}
/* rtl:options: {
"autoRename": true,
"stringMap":[ {
"name" : "prev-next",
"search" : "prev",
"replace" : "next"
} ]
} */
.carousel-control-prev-icon {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}
.carousel-control-next-icon {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.carousel-indicators {
position: absolute;
right: 0;
bottom: 0;
left: 0;
z-index: 2;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
padding: 0;
margin-right: 15%;
margin-bottom: 1rem;
margin-left: 15%;
}
.carousel-indicators [data-bs-target] {
-webkit-box-sizing: content-box;
box-sizing: content-box;
-webkit-box-flex: 0;
-webkit-flex: 0 1 auto;
-ms-flex: 0 1 auto;
flex: 0 1 auto;
width: 30px;
height: 3px;
padding: 0;
margin-right: 0.1875rem;
margin-left: 0.1875rem;
text-indent: -999px;
cursor: pointer;
background-color: #fff;
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: 0;
border-top: 10px solid transparent;
border-bottom: 10px solid transparent;
opacity: 0.5;
-webkit-transition: opacity 0.6s ease;
-o-transition: opacity 0.6s ease;
transition: opacity 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
.carousel-indicators [data-bs-target] {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
.carousel-indicators .active {
opacity: 1;
}
.carousel-caption {
position: absolute;
right: 15%;
bottom: 1.25rem;
left: 15%;
padding-top: 1.25rem;
padding-bottom: 1.25rem;
color: #fff;
text-align: center;
}
.carousel-dark .carousel-control-prev-icon,
.carousel-dark .carousel-control-next-icon {
-webkit-filter: invert(1) grayscale(100);
filter: invert(1) grayscale(100);
}
.carousel-dark .carousel-indicators [data-bs-target] {
background-color: #000;
}
.carousel-dark .carousel-caption {
color: #000;
}
[data-bs-theme=dark] .carousel .carousel-control-prev-icon,
[data-bs-theme=dark] .carousel .carousel-control-next-icon, [data-bs-theme=dark].carousel .carousel-control-prev-icon,
[data-bs-theme=dark].carousel .carousel-control-next-icon {
-webkit-filter: invert(1) grayscale(100);
filter: invert(1) grayscale(100);
}
[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target], [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target] {
background-color: #000;
}
[data-bs-theme=dark] .carousel .carousel-caption, [data-bs-theme=dark].carousel .carousel-caption {
color: #000;
}
.spinner-grow,
.spinner-border {
display: inline-block;
width: var(--bs-spinner-width);
height: var(--bs-spinner-height);
vertical-align: var(--bs-spinner-vertical-align);
border-radius: 50%;
-webkit-animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
-o-animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
}
@-webkit-keyframes spinner-border {
to {
-webkit-transform: rotate(360deg) /* rtl:ignore */;
transform: rotate(360deg) /* rtl:ignore */;
}
}
@-o-keyframes spinner-border {
to {
-o-transform: rotate(360deg) /* rtl:ignore */;
transform: rotate(360deg) /* rtl:ignore */;
}
}
@keyframes spinner-border {
to {
-webkit-transform: rotate(360deg) /* rtl:ignore */;
-o-transform: rotate(360deg) /* rtl:ignore */;
transform: rotate(360deg) /* rtl:ignore */;
}
}
.spinner-border {
--bs-spinner-width: 2rem;
--bs-spinner-height: 2rem;
--bs-spinner-vertical-align: -0.125em;
--bs-spinner-border-width: 0.25em;
--bs-spinner-animation-speed: 0.75s;
--bs-spinner-animation-name: spinner-border;
border: var(--bs-spinner-border-width) solid currentcolor;
border-right-color: transparent;
}
.spinner-border-sm {
--bs-spinner-width: 1rem;
--bs-spinner-height: 1rem;
--bs-spinner-border-width: 0.2em;
}
@-webkit-keyframes spinner-grow {
0% {
-webkit-transform: scale(0);
transform: scale(0);
}
50% {
opacity: 1;
-webkit-transform: none;
transform: none;
}
}
@-o-keyframes spinner-grow {
0% {
-o-transform: scale(0);
transform: scale(0);
}
50% {
opacity: 1;
-o-transform: none;
transform: none;
}
}
@keyframes spinner-grow {
0% {
-webkit-transform: scale(0);
-o-transform: scale(0);
transform: scale(0);
}
50% {
opacity: 1;
-webkit-transform: none;
-o-transform: none;
transform: none;
}
}
.spinner-grow {
--bs-spinner-width: 2rem;
--bs-spinner-height: 2rem;
--bs-spinner-vertical-align: -0.125em;
--bs-spinner-animation-speed: 0.75s;
--bs-spinner-animation-name: spinner-grow;
background-color: currentcolor;
opacity: 0;
}
.spinner-grow-sm {
--bs-spinner-width: 1rem;
--bs-spinner-height: 1rem;
}
@media (prefers-reduced-motion: reduce) {
.spinner-border,
.spinner-grow {
--bs-spinner-animation-speed: 1.5s;
}
}
.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {
--bs-offcanvas-zindex: 1045;
--bs-offcanvas-width: 400px;
--bs-offcanvas-height: 30vh;
--bs-offcanvas-padding-x: 1rem;
--bs-offcanvas-padding-y: 1rem;
--bs-offcanvas-color: var(--bs-body-color);
--bs-offcanvas-bg: var(--bs-body-bg);
--bs-offcanvas-border-width: var(--bs-border-width);
--bs-offcanvas-border-color: var(--bs-border-color-translucent);
--bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);
--bs-offcanvas-transition: transform 0.3s ease-in-out;
--bs-offcanvas-title-line-height: 1.5;
}
@media (max-width: 35.99875rem) {
.offcanvas-sm {
position: fixed;
bottom: 0;
z-index: var(--bs-offcanvas-zindex);
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
max-width: 100%;
color: var(--bs-offcanvas-color);
visibility: hidden;
background-color: var(--bs-offcanvas-bg);
-webkit-background-clip: padding-box;
background-clip: padding-box;
outline: 0;
-webkit-transition: var(--bs-offcanvas-transition);
-o-transition: var(--bs-offcanvas-transition);
transition: var(--bs-offcanvas-transition);
}
}
@media (max-width: 35.99875rem) and (prefers-reduced-motion: reduce) {
.offcanvas-sm {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
@media (max-width: 35.99875rem) {
.offcanvas-sm.offcanvas-start {
top: 0;
left: 0;
width: var(--bs-offcanvas-width);
border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-webkit-transform: translateX(-100%);
-o-transform: translateX(-100%);
transform: translateX(-100%);
}
.offcanvas-sm.offcanvas-end {
top: 0;
right: 0;
width: var(--bs-offcanvas-width);
border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-webkit-transform: translateX(100%);
-o-transform: translateX(100%);
transform: translateX(100%);
}
.offcanvas-sm.offcanvas-top {
top: 0;
right: 0;
left: 0;
height: var(--bs-offcanvas-height);
max-height: 100%;
border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-webkit-transform: translateY(-100%);
-o-transform: translateY(-100%);
transform: translateY(-100%);
}
.offcanvas-sm.offcanvas-bottom {
right: 0;
left: 0;
height: var(--bs-offcanvas-height);
max-height: 100%;
border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-webkit-transform: translateY(100%);
-o-transform: translateY(100%);
transform: translateY(100%);
}
.offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
-webkit-transform: none;
-o-transform: none;
transform: none;
}
.offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {
visibility: visible;
}
}
@media (min-width: 36rem) {
.offcanvas-sm {
--bs-offcanvas-height: auto;
--bs-offcanvas-border-width: 0;
background-color: transparent !important;
}
.offcanvas-sm .offcanvas-header {
display: none;
}
.offcanvas-sm .offcanvas-body {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 0;
-webkit-flex-grow: 0;
-ms-flex-positive: 0;
flex-grow: 0;
padding: 0;
overflow-y: visible;
background-color: transparent !important;
}
}
@media (max-width: 47.99875rem) {
.offcanvas-md {
position: fixed;
bottom: 0;
z-index: var(--bs-offcanvas-zindex);
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
max-width: 100%;
color: var(--bs-offcanvas-color);
visibility: hidden;
background-color: var(--bs-offcanvas-bg);
-webkit-background-clip: padding-box;
background-clip: padding-box;
outline: 0;
-webkit-transition: var(--bs-offcanvas-transition);
-o-transition: var(--bs-offcanvas-transition);
transition: var(--bs-offcanvas-transition);
}
}
@media (max-width: 47.99875rem) and (prefers-reduced-motion: reduce) {
.offcanvas-md {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
@media (max-width: 47.99875rem) {
.offcanvas-md.offcanvas-start {
top: 0;
left: 0;
width: var(--bs-offcanvas-width);
border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-webkit-transform: translateX(-100%);
-o-transform: translateX(-100%);
transform: translateX(-100%);
}
.offcanvas-md.offcanvas-end {
top: 0;
right: 0;
width: var(--bs-offcanvas-width);
border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-webkit-transform: translateX(100%);
-o-transform: translateX(100%);
transform: translateX(100%);
}
.offcanvas-md.offcanvas-top {
top: 0;
right: 0;
left: 0;
height: var(--bs-offcanvas-height);
max-height: 100%;
border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-webkit-transform: translateY(-100%);
-o-transform: translateY(-100%);
transform: translateY(-100%);
}
.offcanvas-md.offcanvas-bottom {
right: 0;
left: 0;
height: var(--bs-offcanvas-height);
max-height: 100%;
border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-webkit-transform: translateY(100%);
-o-transform: translateY(100%);
transform: translateY(100%);
}
.offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
-webkit-transform: none;
-o-transform: none;
transform: none;
}
.offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {
visibility: visible;
}
}
@media (min-width: 48rem) {
.offcanvas-md {
--bs-offcanvas-height: auto;
--bs-offcanvas-border-width: 0;
background-color: transparent !important;
}
.offcanvas-md .offcanvas-header {
display: none;
}
.offcanvas-md .offcanvas-body {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 0;
-webkit-flex-grow: 0;
-ms-flex-positive: 0;
flex-grow: 0;
padding: 0;
overflow-y: visible;
background-color: transparent !important;
}
}
@media (max-width: 61.99875rem) {
.offcanvas-lg {
position: fixed;
bottom: 0;
z-index: var(--bs-offcanvas-zindex);
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
max-width: 100%;
color: var(--bs-offcanvas-color);
visibility: hidden;
background-color: var(--bs-offcanvas-bg);
-webkit-background-clip: padding-box;
background-clip: padding-box;
outline: 0;
-webkit-transition: var(--bs-offcanvas-transition);
-o-transition: var(--bs-offcanvas-transition);
transition: var(--bs-offcanvas-transition);
}
}
@media (max-width: 61.99875rem) and (prefers-reduced-motion: reduce) {
.offcanvas-lg {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
@media (max-width: 61.99875rem) {
.offcanvas-lg.offcanvas-start {
top: 0;
left: 0;
width: var(--bs-offcanvas-width);
border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-webkit-transform: translateX(-100%);
-o-transform: translateX(-100%);
transform: translateX(-100%);
}
.offcanvas-lg.offcanvas-end {
top: 0;
right: 0;
width: var(--bs-offcanvas-width);
border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-webkit-transform: translateX(100%);
-o-transform: translateX(100%);
transform: translateX(100%);
}
.offcanvas-lg.offcanvas-top {
top: 0;
right: 0;
left: 0;
height: var(--bs-offcanvas-height);
max-height: 100%;
border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-webkit-transform: translateY(-100%);
-o-transform: translateY(-100%);
transform: translateY(-100%);
}
.offcanvas-lg.offcanvas-bottom {
right: 0;
left: 0;
height: var(--bs-offcanvas-height);
max-height: 100%;
border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-webkit-transform: translateY(100%);
-o-transform: translateY(100%);
transform: translateY(100%);
}
.offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
-webkit-transform: none;
-o-transform: none;
transform: none;
}
.offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {
visibility: visible;
}
}
@media (min-width: 62rem) {
.offcanvas-lg {
--bs-offcanvas-height: auto;
--bs-offcanvas-border-width: 0;
background-color: transparent !important;
}
.offcanvas-lg .offcanvas-header {
display: none;
}
.offcanvas-lg .offcanvas-body {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 0;
-webkit-flex-grow: 0;
-ms-flex-positive: 0;
flex-grow: 0;
padding: 0;
overflow-y: visible;
background-color: transparent !important;
}
}
@media (max-width: 74.99875rem) {
.offcanvas-xl {
position: fixed;
bottom: 0;
z-index: var(--bs-offcanvas-zindex);
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
max-width: 100%;
color: var(--bs-offcanvas-color);
visibility: hidden;
background-color: var(--bs-offcanvas-bg);
-webkit-background-clip: padding-box;
background-clip: padding-box;
outline: 0;
-webkit-transition: var(--bs-offcanvas-transition);
-o-transition: var(--bs-offcanvas-transition);
transition: var(--bs-offcanvas-transition);
}
}
@media (max-width: 74.99875rem) and (prefers-reduced-motion: reduce) {
.offcanvas-xl {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
@media (max-width: 74.99875rem) {
.offcanvas-xl.offcanvas-start {
top: 0;
left: 0;
width: var(--bs-offcanvas-width);
border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-webkit-transform: translateX(-100%);
-o-transform: translateX(-100%);
transform: translateX(-100%);
}
.offcanvas-xl.offcanvas-end {
top: 0;
right: 0;
width: var(--bs-offcanvas-width);
border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-webkit-transform: translateX(100%);
-o-transform: translateX(100%);
transform: translateX(100%);
}
.offcanvas-xl.offcanvas-top {
top: 0;
right: 0;
left: 0;
height: var(--bs-offcanvas-height);
max-height: 100%;
border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-webkit-transform: translateY(-100%);
-o-transform: translateY(-100%);
transform: translateY(-100%);
}
.offcanvas-xl.offcanvas-bottom {
right: 0;
left: 0;
height: var(--bs-offcanvas-height);
max-height: 100%;
border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-webkit-transform: translateY(100%);
-o-transform: translateY(100%);
transform: translateY(100%);
}
.offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
-webkit-transform: none;
-o-transform: none;
transform: none;
}
.offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {
visibility: visible;
}
}
@media (min-width: 75rem) {
.offcanvas-xl {
--bs-offcanvas-height: auto;
--bs-offcanvas-border-width: 0;
background-color: transparent !important;
}
.offcanvas-xl .offcanvas-header {
display: none;
}
.offcanvas-xl .offcanvas-body {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 0;
-webkit-flex-grow: 0;
-ms-flex-positive: 0;
flex-grow: 0;
padding: 0;
overflow-y: visible;
background-color: transparent !important;
}
}
@media (max-width: 87.49875rem) {
.offcanvas-xxl {
position: fixed;
bottom: 0;
z-index: var(--bs-offcanvas-zindex);
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
max-width: 100%;
color: var(--bs-offcanvas-color);
visibility: hidden;
background-color: var(--bs-offcanvas-bg);
-webkit-background-clip: padding-box;
background-clip: padding-box;
outline: 0;
-webkit-transition: var(--bs-offcanvas-transition);
-o-transition: var(--bs-offcanvas-transition);
transition: var(--bs-offcanvas-transition);
}
}
@media (max-width: 87.49875rem) and (prefers-reduced-motion: reduce) {
.offcanvas-xxl {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
@media (max-width: 87.49875rem) {
.offcanvas-xxl.offcanvas-start {
top: 0;
left: 0;
width: var(--bs-offcanvas-width);
border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-webkit-transform: translateX(-100%);
-o-transform: translateX(-100%);
transform: translateX(-100%);
}
.offcanvas-xxl.offcanvas-end {
top: 0;
right: 0;
width: var(--bs-offcanvas-width);
border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-webkit-transform: translateX(100%);
-o-transform: translateX(100%);
transform: translateX(100%);
}
.offcanvas-xxl.offcanvas-top {
top: 0;
right: 0;
left: 0;
height: var(--bs-offcanvas-height);
max-height: 100%;
border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-webkit-transform: translateY(-100%);
-o-transform: translateY(-100%);
transform: translateY(-100%);
}
.offcanvas-xxl.offcanvas-bottom {
right: 0;
left: 0;
height: var(--bs-offcanvas-height);
max-height: 100%;
border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-webkit-transform: translateY(100%);
-o-transform: translateY(100%);
transform: translateY(100%);
}
.offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {
-webkit-transform: none;
-o-transform: none;
transform: none;
}
.offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {
visibility: visible;
}
}
@media (min-width: 87.5rem) {
.offcanvas-xxl {
--bs-offcanvas-height: auto;
--bs-offcanvas-border-width: 0;
background-color: transparent !important;
}
.offcanvas-xxl .offcanvas-header {
display: none;
}
.offcanvas-xxl .offcanvas-body {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 0;
-webkit-flex-grow: 0;
-ms-flex-positive: 0;
flex-grow: 0;
padding: 0;
overflow-y: visible;
background-color: transparent !important;
}
}
.offcanvas {
position: fixed;
bottom: 0;
z-index: var(--bs-offcanvas-zindex);
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
max-width: 100%;
color: var(--bs-offcanvas-color);
visibility: hidden;
background-color: var(--bs-offcanvas-bg);
-webkit-background-clip: padding-box;
background-clip: padding-box;
outline: 0;
-webkit-transition: var(--bs-offcanvas-transition);
-o-transition: var(--bs-offcanvas-transition);
transition: var(--bs-offcanvas-transition);
}
@media (prefers-reduced-motion: reduce) {
.offcanvas {
-webkit-transition: none;
-o-transition: none;
transition: none;
}
}
.offcanvas.offcanvas-start {
top: 0;
left: 0;
width: var(--bs-offcanvas-width);
border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-webkit-transform: translateX(-100%);
-o-transform: translateX(-100%);
transform: translateX(-100%);
}
.offcanvas.offcanvas-end {
top: 0;
right: 0;
width: var(--bs-offcanvas-width);
border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-webkit-transform: translateX(100%);
-o-transform: translateX(100%);
transform: translateX(100%);
}
.offcanvas.offcanvas-top {
top: 0;
right: 0;
left: 0;
height: var(--bs-offcanvas-height);
max-height: 100%;
border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-webkit-transform: translateY(-100%);
-o-transform: translateY(-100%);
transform: translateY(-100%);
}
.offcanvas.offcanvas-bottom {
right: 0;
left: 0;
height: var(--bs-offcanvas-height);
max-height: 100%;
border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-webkit-transform: translateY(100%);
-o-transform: translateY(100%);
transform: translateY(100%);
}
.offcanvas.showing, .offcanvas.show:not(.hiding) {
-webkit-transform: none;
-o-transform: none;
transform: none;
}
.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {
visibility: visible;
}
.offcanvas-backdrop {
position: fixed;
top: 0;
left: 0;
z-index: 1040;
width: 100vw;
height: 100vh;
background-color: #000;
}
.offcanvas-backdrop.fade {
opacity: 0;
}
.offcanvas-backdrop.show {
opacity: 0.5;
}
.offcanvas-header {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: justify;
-webkit-justify-content: space-between;
-ms-flex-pack: justify;
justify-content: space-between;
padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
}
.offcanvas-header .btn-close {
padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);
margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y));
margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x));
margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));
}
.offcanvas-title {
margin-bottom: 0;
line-height: var(--bs-offcanvas-title-line-height);
}
.offcanvas-body {
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
overflow-y: auto;
}
.placeholder {
display: inline-block;
min-height: 1em;
vertical-align: middle;
cursor: wait;
background-color: currentcolor;
opacity: 0.5;
}
.placeholder.btn::before {
display: inline-block;
content: "";
}
.placeholder-xs {
min-height: 0.6em;
}
.placeholder-sm {
min-height: 0.8em;
}
.placeholder-lg {
min-height: 1.2em;
}
.placeholder-glow .placeholder {
-webkit-animation: placeholder-glow 2s ease-in-out infinite;
-o-animation: placeholder-glow 2s ease-in-out infinite;
animation: placeholder-glow 2s ease-in-out infinite;
}
@-webkit-keyframes placeholder-glow {
50% {
opacity: 0.2;
}
}
@-o-keyframes placeholder-glow {
50% {
opacity: 0.2;
}
}
@keyframes placeholder-glow {
50% {
opacity: 0.2;
}
}
.placeholder-wave {
-webkit-mask-image: -webkit-linear-gradient(320deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
-webkit-mask-size: 200% 100%;
mask-size: 200% 100%;
-webkit-animation: placeholder-wave 2s linear infinite;
-o-animation: placeholder-wave 2s linear infinite;
animation: placeholder-wave 2s linear infinite;
}
@-webkit-keyframes placeholder-wave {
100% {
-webkit-mask-position: -200% 0%;
mask-position: -200% 0%;
}
}
@-o-keyframes placeholder-wave {
100% {
mask-position: -200% 0%;
}
}
@keyframes placeholder-wave {
100% {
-webkit-mask-position: -200% 0%;
mask-position: -200% 0%;
}
}
.align-baseline {
vertical-align: baseline !important;
}
.align-top {
vertical-align: top !important;
}
.align-middle {
vertical-align: middle !important;
}
.align-bottom {
vertical-align: bottom !important;
}
.align-text-bottom {
vertical-align: text-bottom !important;
}
.align-text-top {
vertical-align: text-top !important;
}
.float-start {
float: left !important;
}
.float-end {
float: right !important;
}
.float-none {
float: none !important;
}
.object-fit-contain {
-o-object-fit: contain !important;
object-fit: contain !important;
}
.object-fit-cover {
-o-object-fit: cover !important;
object-fit: cover !important;
}
.object-fit-fill {
-o-object-fit: fill !important;
object-fit: fill !important;
}
.object-fit-scale {
-o-object-fit: scale-down !important;
object-fit: scale-down !important;
}
.object-fit-none {
-o-object-fit: none !important;
object-fit: none !important;
}
.opacity-0 {
opacity: 0 !important;
}
.opacity-25 {
opacity: 0.25 !important;
}
.opacity-50 {
opacity: 0.5 !important;
}
.opacity-75 {
opacity: 0.75 !important;
}
.opacity-100 {
opacity: 1 !important;
}
.overflow-auto {
overflow: auto !important;
}
.overflow-hidden {
overflow: hidden !important;
}
.overflow-visible {
overflow: visible !important;
}
.overflow-scroll {
overflow: scroll !important;
}
.overflow-x-auto {
overflow-x: auto !important;
}
.overflow-x-hidden {
overflow-x: hidden !important;
}
.overflow-x-visible {
overflow-x: visible !important;
}
.overflow-x-scroll {
overflow-x: scroll !important;
}
.overflow-y-auto {
overflow-y: auto !important;
}
.overflow-y-hidden {
overflow-y: hidden !important;
}
.overflow-y-visible {
overflow-y: visible !important;
}
.overflow-y-scroll {
overflow-y: scroll !important;
}
.d-inline {
display: inline !important;
}
.d-inline-block {
display: inline-block !important;
}
.d-block {
display: block !important;
}
.d-grid {
display: grid !important;
}
.d-inline-grid {
display: inline-grid !important;
}
.d-table {
display: table !important;
}
.d-table-row {
display: table-row !important;
}
.d-table-cell {
display: table-cell !important;
}
.d-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
.d-none {
display: none !important;
}
.shadow {
-webkit-box-shadow: var(--bs-box-shadow) !important;
box-shadow: var(--bs-box-shadow) !important;
}
.shadow-sm {
-webkit-box-shadow: var(--bs-box-shadow-sm) !important;
box-shadow: var(--bs-box-shadow-sm) !important;
}
.shadow-lg {
-webkit-box-shadow: var(--bs-box-shadow-lg) !important;
box-shadow: var(--bs-box-shadow-lg) !important;
}
.shadow-none {
-webkit-box-shadow: none !important;
box-shadow: none !important;
}
.focus-ring-primary {
--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-secondary {
--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-success {
--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-info {
--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-warning {
--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-danger {
--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-light {
--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-dark {
--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity));
}
.position-static {
position: static !important;
}
.position-relative {
position: relative !important;
}
.position-absolute {
position: absolute !important;
}
.position-fixed {
position: fixed !important;
}
.position-sticky {
position: -webkit-sticky !important;
position: sticky !important;
}
.top-0 {
top: 0 !important;
}
.top-50 {
top: 50% !important;
}
.top-100 {
top: 100% !important;
}
.bottom-0 {
bottom: 0 !important;
}
.bottom-50 {
bottom: 50% !important;
}
.bottom-100 {
bottom: 100% !important;
}
.start-0 {
left: 0 !important;
}
.start-50 {
left: 50% !important;
}
.start-100 {
left: 100% !important;
}
.end-0 {
right: 0 !important;
}
.end-50 {
right: 50% !important;
}
.end-100 {
right: 100% !important;
}
.translate-middle {
-webkit-transform: translate(-50%, -50%) !important;
-o-transform: translate(-50%, -50%) !important;
transform: translate(-50%, -50%) !important;
}
.translate-middle-x {
-webkit-transform: translateX(-50%) !important;
-o-transform: translateX(-50%) !important;
transform: translateX(-50%) !important;
}
.translate-middle-y {
-webkit-transform: translateY(-50%) !important;
-o-transform: translateY(-50%) !important;
transform: translateY(-50%) !important;
}
.border {
border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}
.border-0 {
border: 0 !important;
}
.border-top {
border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}
.border-top-0 {
border-top: 0 !important;
}
.border-end {
border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}
.border-end-0 {
border-right: 0 !important;
}
.border-bottom {
border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}
.border-bottom-0 {
border-bottom: 0 !important;
}
.border-start {
border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}
.border-start-0 {
border-left: 0 !important;
}
.border-primary {
--bs-border-opacity: 1;
border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;
}
.border-secondary {
--bs-border-opacity: 1;
border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;
}
.border-success {
--bs-border-opacity: 1;
border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;
}
.border-info {
--bs-border-opacity: 1;
border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;
}
.border-warning {
--bs-border-opacity: 1;
border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;
}
.border-danger {
--bs-border-opacity: 1;
border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;
}
.border-light {
--bs-border-opacity: 1;
border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important;
}
.border-dark {
--bs-border-opacity: 1;
border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;
}
.border-black {
--bs-border-opacity: 1;
border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important;
}
.border-white {
--bs-border-opacity: 1;
border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;
}
.border-primary-subtle {
border-color: var(--bs-primary-border-subtle) !important;
}
.border-secondary-subtle {
border-color: var(--bs-secondary-border-subtle) !important;
}
.border-success-subtle {
border-color: var(--bs-success-border-subtle) !important;
}
.border-info-subtle {
border-color: var(--bs-info-border-subtle) !important;
}
.border-warning-subtle {
border-color: var(--bs-warning-border-subtle) !important;
}
.border-danger-subtle {
border-color: var(--bs-danger-border-subtle) !important;
}
.border-light-subtle {
border-color: var(--bs-light-border-subtle) !important;
}
.border-dark-subtle {
border-color: var(--bs-dark-border-subtle) !important;
}
.border-1 {
border-width: 1px !important;
}
.border-2 {
border-width: 2px !important;
}
.border-3 {
border-width: 3px !important;
}
.border-4 {
border-width: 4px !important;
}
.border-5 {
border-width: 5px !important;
}
.border-opacity-10 {
--bs-border-opacity: 0.1;
}
.border-opacity-25 {
--bs-border-opacity: 0.25;
}
.border-opacity-50 {
--bs-border-opacity: 0.5;
}
.border-opacity-75 {
--bs-border-opacity: 0.75;
}
.border-opacity-100 {
--bs-border-opacity: 1;
}
.w-25 {
width: 25% !important;
}
.w-50 {
width: 50% !important;
}
.w-75 {
width: 75% !important;
}
.w-100 {
width: 100% !important;
}
.w-auto {
width: auto !important;
}
.mw-100 {
max-width: 100% !important;
}
.vw-100 {
width: 100vw !important;
}
.min-vw-100 {
min-width: 100vw !important;
}
.h-25 {
height: 25% !important;
}
.h-50 {
height: 50% !important;
}
.h-75 {
height: 75% !important;
}
.h-100 {
height: 100% !important;
}
.h-auto {
height: auto !important;
}
.mh-100 {
max-height: 100% !important;
}
.vh-100 {
height: 100vh !important;
}
.min-vh-100 {
min-height: 100vh !important;
}
.flex-fill {
-webkit-box-flex: 1 !important;
-webkit-flex: 1 1 auto !important;
-ms-flex: 1 1 auto !important;
flex: 1 1 auto !important;
}
.flex-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
.flex-grow-0 {
-webkit-box-flex: 0 !important;
-webkit-flex-grow: 0 !important;
-ms-flex-positive: 0 !important;
flex-grow: 0 !important;
}
.flex-grow-1 {
-webkit-box-flex: 1 !important;
-webkit-flex-grow: 1 !important;
-ms-flex-positive: 1 !important;
flex-grow: 1 !important;
}
.flex-shrink-0 {
-webkit-flex-shrink: 0 !important;
-ms-flex-negative: 0 !important;
flex-shrink: 0 !important;
}
.flex-shrink-1 {
-webkit-flex-shrink: 1 !important;
-ms-flex-negative: 1 !important;
flex-shrink: 1 !important;
}
.flex-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
.flex-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
.flex-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
.justify-content-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
.justify-content-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
.justify-content-evenly {
-webkit-box-pack: space-evenly !important;
-webkit-justify-content: space-evenly !important;
-ms-flex-pack: space-evenly !important;
justify-content: space-evenly !important;
}
.align-items-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
.align-content-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
.align-content-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
.align-content-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
.align-content-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
.align-content-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
.align-content-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
.align-self-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
align-self: auto !important;
}
.align-self-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
.align-self-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
.align-self-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
align-self: center !important;
}
.align-self-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
.align-self-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
align-self: stretch !important;
}
.order-first {
-webkit-box-ordinal-group: 0 !important;
-webkit-order: -1 !important;
-ms-flex-order: -1 !important;
order: -1 !important;
}
.order-0 {
-webkit-box-ordinal-group: 1 !important;
-webkit-order: 0 !important;
-ms-flex-order: 0 !important;
order: 0 !important;
}
.order-1 {
-webkit-box-ordinal-group: 2 !important;
-webkit-order: 1 !important;
-ms-flex-order: 1 !important;
order: 1 !important;
}
.order-2 {
-webkit-box-ordinal-group: 3 !important;
-webkit-order: 2 !important;
-ms-flex-order: 2 !important;
order: 2 !important;
}
.order-3 {
-webkit-box-ordinal-group: 4 !important;
-webkit-order: 3 !important;
-ms-flex-order: 3 !important;
order: 3 !important;
}
.order-4 {
-webkit-box-ordinal-group: 5 !important;
-webkit-order: 4 !important;
-ms-flex-order: 4 !important;
order: 4 !important;
}
.order-5 {
-webkit-box-ordinal-group: 6 !important;
-webkit-order: 5 !important;
-ms-flex-order: 5 !important;
order: 5 !important;
}
.order-last {
-webkit-box-ordinal-group: 7 !important;
-webkit-order: 6 !important;
-ms-flex-order: 6 !important;
order: 6 !important;
}
.m-0 {
margin: 0 !important;
}
.m-1 {
margin: 0.25rem !important;
}
.m-2 {
margin: 0.5rem !important;
}
.m-3 {
margin: 1rem !important;
}
.m-4 {
margin: 1.5rem !important;
}
.m-5 {
margin: 3rem !important;
}
.m-auto {
margin: auto !important;
}
.mx-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
.mx-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
.mx-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
.mx-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
.mx-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
.mx-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
.mx-auto {
margin-right: auto !important;
margin-left: auto !important;
}
.my-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.my-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.my-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
.my-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.my-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.my-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
.my-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
.mt-0 {
margin-top: 0 !important;
}
.mt-1 {
margin-top: 0.25rem !important;
}
.mt-2 {
margin-top: 0.5rem !important;
}
.mt-3 {
margin-top: 1rem !important;
}
.mt-4 {
margin-top: 1.5rem !important;
}
.mt-5 {
margin-top: 3rem !important;
}
.mt-auto {
margin-top: auto !important;
}
.me-0 {
margin-right: 0 !important;
}
.me-1 {
margin-right: 0.25rem !important;
}
.me-2 {
margin-right: 0.5rem !important;
}
.me-3 {
margin-right: 1rem !important;
}
.me-4 {
margin-right: 1.5rem !important;
}
.me-5 {
margin-right: 3rem !important;
}
.me-auto {
margin-right: auto !important;
}
.mb-0 {
margin-bottom: 0 !important;
}
.mb-1 {
margin-bottom: 0.25rem !important;
}
.mb-2 {
margin-bottom: 0.5rem !important;
}
.mb-3 {
margin-bottom: 1rem !important;
}
.mb-4 {
margin-bottom: 1.5rem !important;
}
.mb-5 {
margin-bottom: 3rem !important;
}
.mb-auto {
margin-bottom: auto !important;
}
.ms-0 {
margin-left: 0 !important;
}
.ms-1 {
margin-left: 0.25rem !important;
}
.ms-2 {
margin-left: 0.5rem !important;
}
.ms-3 {
margin-left: 1rem !important;
}
.ms-4 {
margin-left: 1.5rem !important;
}
.ms-5 {
margin-left: 3rem !important;
}
.ms-auto {
margin-left: auto !important;
}
.p-0 {
padding: 0 !important;
}
.p-1 {
padding: 0.25rem !important;
}
.p-2 {
padding: 0.5rem !important;
}
.p-3 {
padding: 1rem !important;
}
.p-4 {
padding: 1.5rem !important;
}
.p-5 {
padding: 3rem !important;
}
.px-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
.px-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
.px-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
.px-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
.px-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
.px-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
.py-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.py-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
.py-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.py-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.py-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.py-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
.pt-0 {
padding-top: 0 !important;
}
.pt-1 {
padding-top: 0.25rem !important;
}
.pt-2 {
padding-top: 0.5rem !important;
}
.pt-3 {
padding-top: 1rem !important;
}
.pt-4 {
padding-top: 1.5rem !important;
}
.pt-5 {
padding-top: 3rem !important;
}
.pe-0 {
padding-right: 0 !important;
}
.pe-1 {
padding-right: 0.25rem !important;
}
.pe-2 {
padding-right: 0.5rem !important;
}
.pe-3 {
padding-right: 1rem !important;
}
.pe-4 {
padding-right: 1.5rem !important;
}
.pe-5 {
padding-right: 3rem !important;
}
.pb-0 {
padding-bottom: 0 !important;
}
.pb-1 {
padding-bottom: 0.25rem !important;
}
.pb-2 {
padding-bottom: 0.5rem !important;
}
.pb-3 {
padding-bottom: 1rem !important;
}
.pb-4 {
padding-bottom: 1.5rem !important;
}
.pb-5 {
padding-bottom: 3rem !important;
}
.ps-0 {
padding-left: 0 !important;
}
.ps-1 {
padding-left: 0.25rem !important;
}
.ps-2 {
padding-left: 0.5rem !important;
}
.ps-3 {
padding-left: 1rem !important;
}
.ps-4 {
padding-left: 1.5rem !important;
}
.ps-5 {
padding-left: 3rem !important;
}
.gap-0 {
gap: 0 !important;
}
.gap-1 {
gap: 0.25rem !important;
}
.gap-2 {
gap: 0.5rem !important;
}
.gap-3 {
gap: 1rem !important;
}
.gap-4 {
gap: 1.5rem !important;
}
.gap-5 {
gap: 3rem !important;
}
.row-gap-0 {
row-gap: 0 !important;
}
.row-gap-1 {
row-gap: 0.25rem !important;
}
.row-gap-2 {
row-gap: 0.5rem !important;
}
.row-gap-3 {
row-gap: 1rem !important;
}
.row-gap-4 {
row-gap: 1.5rem !important;
}
.row-gap-5 {
row-gap: 3rem !important;
}
.column-gap-0 {
-webkit-column-gap: 0 !important;
-moz-column-gap: 0 !important;
column-gap: 0 !important;
}
.column-gap-1 {
-webkit-column-gap: 0.25rem !important;
-moz-column-gap: 0.25rem !important;
column-gap: 0.25rem !important;
}
.column-gap-2 {
-webkit-column-gap: 0.5rem !important;
-moz-column-gap: 0.5rem !important;
column-gap: 0.5rem !important;
}
.column-gap-3 {
-webkit-column-gap: 1rem !important;
-moz-column-gap: 1rem !important;
column-gap: 1rem !important;
}
.column-gap-4 {
-webkit-column-gap: 1.5rem !important;
-moz-column-gap: 1.5rem !important;
column-gap: 1.5rem !important;
}
.column-gap-5 {
-webkit-column-gap: 3rem !important;
-moz-column-gap: 3rem !important;
column-gap: 3rem !important;
}
.font-monospace {
font-family: var(--bs-font-monospace) !important;
}
.fs-1 {
font-size: calc(1.375rem + 1.5vw) !important;
}
.fs-2 {
font-size: calc(1.325rem + 0.9vw) !important;
}
.fs-3 {
font-size: calc(1.3rem + 0.6vw) !important;
}
.fs-4 {
font-size: calc(1.275rem + 0.3vw) !important;
}
.fs-5 {
font-size: 1.25rem !important;
}
.fs-6 {
font-size: 1rem !important;
}
.fst-italic {
font-style: italic !important;
}
.fst-normal {
font-style: normal !important;
}
.fw-lighter {
font-weight: lighter !important;
}
.fw-light {
font-weight: 300 !important;
}
.fw-normal {
font-weight: 400 !important;
}
.fw-medium {
font-weight: 500 !important;
}
.fw-semibold {
font-weight: 600 !important;
}
.fw-bold {
font-weight: 700 !important;
}
.fw-bolder {
font-weight: bolder !important;
}
.lh-1 {
line-height: 1 !important;
}
.lh-sm {
line-height: 1.25 !important;
}
.lh-base {
line-height: 1.5 !important;
}
.lh-lg {
line-height: 2 !important;
}
.text-start {
text-align: left !important;
}
.text-end {
text-align: right !important;
}
.text-center {
text-align: center !important;
}
.text-decoration-none {
text-decoration: none !important;
}
.text-decoration-underline {
text-decoration: underline !important;
}
.text-decoration-line-through {
text-decoration: line-through !important;
}
.text-lowercase {
text-transform: lowercase !important;
}
.text-uppercase {
text-transform: uppercase !important;
}
.text-capitalize {
text-transform: capitalize !important;
}
.text-wrap {
white-space: normal !important;
}
.text-nowrap {
white-space: nowrap !important;
}
/* rtl:begin:remove */
.text-break {
word-wrap: break-word !important;
word-break: break-word !important;
}
/* rtl:end:remove */
.text-primary {
--bs-text-opacity: 1;
color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
}
.text-secondary {
--bs-text-opacity: 1;
color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;
}
.text-success {
--bs-text-opacity: 1;
color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;
}
.text-info {
--bs-text-opacity: 1;
color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important;
}
.text-warning {
--bs-text-opacity: 1;
color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;
}
.text-danger {
--bs-text-opacity: 1;
color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;
}
.text-light {
--bs-text-opacity: 1;
color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;
}
.text-dark {
--bs-text-opacity: 1;
color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
}
.text-black {
--bs-text-opacity: 1;
color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;
}
.text-white {
--bs-text-opacity: 1;
color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}
.text-body {
--bs-text-opacity: 1;
color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;
}
.text-muted {
--bs-text-opacity: 1;
color: var(--bs-secondary-color) !important;
}
.text-black-50 {
--bs-text-opacity: 1;
color: rgba(0, 0, 0, 0.5) !important;
}
.text-white-50 {
--bs-text-opacity: 1;
color: rgba(255, 255, 255, 0.5) !important;
}
.text-body-secondary {
--bs-text-opacity: 1;
color: var(--bs-secondary-color) !important;
}
.text-body-tertiary {
--bs-text-opacity: 1;
color: var(--bs-tertiary-color) !important;
}
.text-body-emphasis {
--bs-text-opacity: 1;
color: var(--bs-emphasis-color) !important;
}
.text-reset {
--bs-text-opacity: 1;
color: inherit !important;
}
.text-opacity-25 {
--bs-text-opacity: 0.25;
}
.text-opacity-50 {
--bs-text-opacity: 0.5;
}
.text-opacity-75 {
--bs-text-opacity: 0.75;
}
.text-opacity-100 {
--bs-text-opacity: 1;
}
.text-primary-emphasis {
color: var(--bs-primary-text-emphasis) !important;
}
.text-secondary-emphasis {
color: var(--bs-secondary-text-emphasis) !important;
}
.text-success-emphasis {
color: var(--bs-success-text-emphasis) !important;
}
.text-info-emphasis {
color: var(--bs-info-text-emphasis) !important;
}
.text-warning-emphasis {
color: var(--bs-warning-text-emphasis) !important;
}
.text-danger-emphasis {
color: var(--bs-danger-text-emphasis) !important;
}
.text-light-emphasis {
color: var(--bs-light-text-emphasis) !important;
}
.text-dark-emphasis {
color: var(--bs-dark-text-emphasis) !important;
}
.link-opacity-10 {
--bs-link-opacity: 0.1;
}
.link-opacity-10-hover:hover {
--bs-link-opacity: 0.1;
}
.link-opacity-25 {
--bs-link-opacity: 0.25;
}
.link-opacity-25-hover:hover {
--bs-link-opacity: 0.25;
}
.link-opacity-50 {
--bs-link-opacity: 0.5;
}
.link-opacity-50-hover:hover {
--bs-link-opacity: 0.5;
}
.link-opacity-75 {
--bs-link-opacity: 0.75;
}
.link-opacity-75-hover:hover {
--bs-link-opacity: 0.75;
}
.link-opacity-100 {
--bs-link-opacity: 1;
}
.link-opacity-100-hover:hover {
--bs-link-opacity: 1;
}
.link-offset-1 {
text-underline-offset: 0.125em !important;
}
.link-offset-1-hover:hover {
text-underline-offset: 0.125em !important;
}
.link-offset-2 {
text-underline-offset: 0.25em !important;
}
.link-offset-2-hover:hover {
text-underline-offset: 0.25em !important;
}
.link-offset-3 {
text-underline-offset: 0.375em !important;
}
.link-offset-3-hover:hover {
text-underline-offset: 0.375em !important;
}
.link-underline-primary {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-secondary {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-success {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-info {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-warning {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-danger {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-light {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline-dark {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
}
.link-underline {
--bs-link-underline-opacity: 1;
-webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-underline-opacity-0 {
--bs-link-underline-opacity: 0;
}
.link-underline-opacity-0-hover:hover {
--bs-link-underline-opacity: 0;
}
.link-underline-opacity-10 {
--bs-link-underline-opacity: 0.1;
}
.link-underline-opacity-10-hover:hover {
--bs-link-underline-opacity: 0.1;
}
.link-underline-opacity-25 {
--bs-link-underline-opacity: 0.25;
}
.link-underline-opacity-25-hover:hover {
--bs-link-underline-opacity: 0.25;
}
.link-underline-opacity-50 {
--bs-link-underline-opacity: 0.5;
}
.link-underline-opacity-50-hover:hover {
--bs-link-underline-opacity: 0.5;
}
.link-underline-opacity-75 {
--bs-link-underline-opacity: 0.75;
}
.link-underline-opacity-75-hover:hover {
--bs-link-underline-opacity: 0.75;
}
.link-underline-opacity-100 {
--bs-link-underline-opacity: 1;
}
.link-underline-opacity-100-hover:hover {
--bs-link-underline-opacity: 1;
}
.bg-primary {
--bs-bg-opacity: 1;
background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
}
.bg-secondary {
--bs-bg-opacity: 1;
background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;
}
.bg-success {
--bs-bg-opacity: 1;
background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;
}
.bg-info {
--bs-bg-opacity: 1;
background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;
}
.bg-warning {
--bs-bg-opacity: 1;
background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important;
}
.bg-danger {
--bs-bg-opacity: 1;
background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;
}
.bg-light {
--bs-bg-opacity: 1;
background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
}
.bg-dark {
--bs-bg-opacity: 1;
background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
}
.bg-black {
--bs-bg-opacity: 1;
background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;
}
.bg-white {
--bs-bg-opacity: 1;
background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;
}
.bg-body {
--bs-bg-opacity: 1;
background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;
}
.bg-transparent {
--bs-bg-opacity: 1;
background-color: transparent !important;
}
.bg-body-secondary {
--bs-bg-opacity: 1;
background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important;
}
.bg-body-tertiary {
--bs-bg-opacity: 1;
background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;
}
.bg-opacity-10 {
--bs-bg-opacity: 0.1;
}
.bg-opacity-25 {
--bs-bg-opacity: 0.25;
}
.bg-opacity-50 {
--bs-bg-opacity: 0.5;
}
.bg-opacity-75 {
--bs-bg-opacity: 0.75;
}
.bg-opacity-100 {
--bs-bg-opacity: 1;
}
.bg-primary-subtle {
background-color: var(--bs-primary-bg-subtle) !important;
}
.bg-secondary-subtle {
background-color: var(--bs-secondary-bg-subtle) !important;
}
.bg-success-subtle {
background-color: var(--bs-success-bg-subtle) !important;
}
.bg-info-subtle {
background-color: var(--bs-info-bg-subtle) !important;
}
.bg-warning-subtle {
background-color: var(--bs-warning-bg-subtle) !important;
}
.bg-danger-subtle {
background-color: var(--bs-danger-bg-subtle) !important;
}
.bg-light-subtle {
background-color: var(--bs-light-bg-subtle) !important;
}
.bg-dark-subtle {
background-color: var(--bs-dark-bg-subtle) !important;
}
.bg-gradient {
background-image: var(--bs-gradient) !important;
}
.user-select-all {
-webkit-user-select: all !important;
-moz-user-select: all !important;
-ms-user-select: all !important;
user-select: all !important;
}
.user-select-auto {
-webkit-user-select: auto !important;
-moz-user-select: auto !important;
-ms-user-select: auto !important;
user-select: auto !important;
}
.user-select-none {
-webkit-user-select: none !important;
-moz-user-select: none !important;
-ms-user-select: none !important;
user-select: none !important;
}
.pe-none {
pointer-events: none !important;
}
.pe-auto {
pointer-events: auto !important;
}
.rounded {
border-radius: var(--bs-border-radius) !important;
}
.rounded-0 {
border-radius: 0 !important;
}
.rounded-1 {
border-radius: var(--bs-border-radius-sm) !important;
}
.rounded-2 {
border-radius: var(--bs-border-radius) !important;
}
.rounded-3 {
border-radius: var(--bs-border-radius-lg) !important;
}
.rounded-4 {
border-radius: var(--bs-border-radius-xl) !important;
}
.rounded-5 {
border-radius: var(--bs-border-radius-xxl) !important;
}
.rounded-circle {
border-radius: 50% !important;
}
.rounded-pill {
border-radius: var(--bs-border-radius-pill) !important;
}
.rounded-top {
border-top-left-radius: var(--bs-border-radius) !important;
border-top-right-radius: var(--bs-border-radius) !important;
}
.rounded-top-0 {
border-top-left-radius: 0 !important;
border-top-right-radius: 0 !important;
}
.rounded-top-1 {
border-top-left-radius: var(--bs-border-radius-sm) !important;
border-top-right-radius: var(--bs-border-radius-sm) !important;
}
.rounded-top-2 {
border-top-left-radius: var(--bs-border-radius) !important;
border-top-right-radius: var(--bs-border-radius) !important;
}
.rounded-top-3 {
border-top-left-radius: var(--bs-border-radius-lg) !important;
border-top-right-radius: var(--bs-border-radius-lg) !important;
}
.rounded-top-4 {
border-top-left-radius: var(--bs-border-radius-xl) !important;
border-top-right-radius: var(--bs-border-radius-xl) !important;
}
.rounded-top-5 {
border-top-left-radius: var(--bs-border-radius-xxl) !important;
border-top-right-radius: var(--bs-border-radius-xxl) !important;
}
.rounded-top-circle {
border-top-left-radius: 50% !important;
border-top-right-radius: 50% !important;
}
.rounded-top-pill {
border-top-left-radius: var(--bs-border-radius-pill) !important;
border-top-right-radius: var(--bs-border-radius-pill) !important;
}
.rounded-end {
border-top-right-radius: var(--bs-border-radius) !important;
border-bottom-right-radius: var(--bs-border-radius) !important;
}
.rounded-end-0 {
border-top-right-radius: 0 !important;
border-bottom-right-radius: 0 !important;
}
.rounded-end-1 {
border-top-right-radius: var(--bs-border-radius-sm) !important;
border-bottom-right-radius: var(--bs-border-radius-sm) !important;
}
.rounded-end-2 {
border-top-right-radius: var(--bs-border-radius) !important;
border-bottom-right-radius: var(--bs-border-radius) !important;
}
.rounded-end-3 {
border-top-right-radius: var(--bs-border-radius-lg) !important;
border-bottom-right-radius: var(--bs-border-radius-lg) !important;
}
.rounded-end-4 {
border-top-right-radius: var(--bs-border-radius-xl) !important;
border-bottom-right-radius: var(--bs-border-radius-xl) !important;
}
.rounded-end-5 {
border-top-right-radius: var(--bs-border-radius-xxl) !important;
border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
}
.rounded-end-circle {
border-top-right-radius: 50% !important;
border-bottom-right-radius: 50% !important;
}
.rounded-end-pill {
border-top-right-radius: var(--bs-border-radius-pill) !important;
border-bottom-right-radius: var(--bs-border-radius-pill) !important;
}
.rounded-bottom {
border-bottom-right-radius: var(--bs-border-radius) !important;
border-bottom-left-radius: var(--bs-border-radius) !important;
}
.rounded-bottom-0 {
border-bottom-right-radius: 0 !important;
border-bottom-left-radius: 0 !important;
}
.rounded-bottom-1 {
border-bottom-right-radius: var(--bs-border-radius-sm) !important;
border-bottom-left-radius: var(--bs-border-radius-sm) !important;
}
.rounded-bottom-2 {
border-bottom-right-radius: var(--bs-border-radius) !important;
border-bottom-left-radius: var(--bs-border-radius) !important;
}
.rounded-bottom-3 {
border-bottom-right-radius: var(--bs-border-radius-lg) !important;
border-bottom-left-radius: var(--bs-border-radius-lg) !important;
}
.rounded-bottom-4 {
border-bottom-right-radius: var(--bs-border-radius-xl) !important;
border-bottom-left-radius: var(--bs-border-radius-xl) !important;
}
.rounded-bottom-5 {
border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
}
.rounded-bottom-circle {
border-bottom-right-radius: 50% !important;
border-bottom-left-radius: 50% !important;
}
.rounded-bottom-pill {
border-bottom-right-radius: var(--bs-border-radius-pill) !important;
border-bottom-left-radius: var(--bs-border-radius-pill) !important;
}
.rounded-start {
border-bottom-left-radius: var(--bs-border-radius) !important;
border-top-left-radius: var(--bs-border-radius) !important;
}
.rounded-start-0 {
border-bottom-left-radius: 0 !important;
border-top-left-radius: 0 !important;
}
.rounded-start-1 {
border-bottom-left-radius: var(--bs-border-radius-sm) !important;
border-top-left-radius: var(--bs-border-radius-sm) !important;
}
.rounded-start-2 {
border-bottom-left-radius: var(--bs-border-radius) !important;
border-top-left-radius: var(--bs-border-radius) !important;
}
.rounded-start-3 {
border-bottom-left-radius: var(--bs-border-radius-lg) !important;
border-top-left-radius: var(--bs-border-radius-lg) !important;
}
.rounded-start-4 {
border-bottom-left-radius: var(--bs-border-radius-xl) !important;
border-top-left-radius: var(--bs-border-radius-xl) !important;
}
.rounded-start-5 {
border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
border-top-left-radius: var(--bs-border-radius-xxl) !important;
}
.rounded-start-circle {
border-bottom-left-radius: 50% !important;
border-top-left-radius: 50% !important;
}
.rounded-start-pill {
border-bottom-left-radius: var(--bs-border-radius-pill) !important;
border-top-left-radius: var(--bs-border-radius-pill) !important;
}
.visible {
visibility: visible !important;
}
.invisible {
visibility: hidden !important;
}
.z-n1 {
z-index: -1 !important;
}
.z-0 {
z-index: 0 !important;
}
.z-1 {
z-index: 1 !important;
}
.z-2 {
z-index: 2 !important;
}
.z-3 {
z-index: 3 !important;
}
@media (min-width: 36rem) {
.float-sm-start {
float: left !important;
}
.float-sm-end {
float: right !important;
}
.float-sm-none {
float: none !important;
}
.object-fit-sm-contain {
-o-object-fit: contain !important;
object-fit: contain !important;
}
.object-fit-sm-cover {
-o-object-fit: cover !important;
object-fit: cover !important;
}
.object-fit-sm-fill {
-o-object-fit: fill !important;
object-fit: fill !important;
}
.object-fit-sm-scale {
-o-object-fit: scale-down !important;
object-fit: scale-down !important;
}
.object-fit-sm-none {
-o-object-fit: none !important;
object-fit: none !important;
}
.d-sm-inline {
display: inline !important;
}
.d-sm-inline-block {
display: inline-block !important;
}
.d-sm-block {
display: block !important;
}
.d-sm-grid {
display: grid !important;
}
.d-sm-inline-grid {
display: inline-grid !important;
}
.d-sm-table {
display: table !important;
}
.d-sm-table-row {
display: table-row !important;
}
.d-sm-table-cell {
display: table-cell !important;
}
.d-sm-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-sm-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
.d-sm-none {
display: none !important;
}
.flex-sm-fill {
-webkit-box-flex: 1 !important;
-webkit-flex: 1 1 auto !important;
-ms-flex: 1 1 auto !important;
flex: 1 1 auto !important;
}
.flex-sm-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-sm-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-sm-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-sm-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
.flex-sm-grow-0 {
-webkit-box-flex: 0 !important;
-webkit-flex-grow: 0 !important;
-ms-flex-positive: 0 !important;
flex-grow: 0 !important;
}
.flex-sm-grow-1 {
-webkit-box-flex: 1 !important;
-webkit-flex-grow: 1 !important;
-ms-flex-positive: 1 !important;
flex-grow: 1 !important;
}
.flex-sm-shrink-0 {
-webkit-flex-shrink: 0 !important;
-ms-flex-negative: 0 !important;
flex-shrink: 0 !important;
}
.flex-sm-shrink-1 {
-webkit-flex-shrink: 1 !important;
-ms-flex-negative: 1 !important;
flex-shrink: 1 !important;
}
.flex-sm-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
.flex-sm-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
.flex-sm-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
.justify-content-sm-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-sm-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-sm-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-sm-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
.justify-content-sm-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
.justify-content-sm-evenly {
-webkit-box-pack: space-evenly !important;
-webkit-justify-content: space-evenly !important;
-ms-flex-pack: space-evenly !important;
justify-content: space-evenly !important;
}
.align-items-sm-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-sm-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-sm-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-sm-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-sm-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
.align-content-sm-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
.align-content-sm-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
.align-content-sm-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
.align-content-sm-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
.align-content-sm-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
.align-content-sm-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
.align-self-sm-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
align-self: auto !important;
}
.align-self-sm-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
.align-self-sm-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
.align-self-sm-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
align-self: center !important;
}
.align-self-sm-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
.align-self-sm-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
align-self: stretch !important;
}
.order-sm-first {
-webkit-box-ordinal-group: 0 !important;
-webkit-order: -1 !important;
-ms-flex-order: -1 !important;
order: -1 !important;
}
.order-sm-0 {
-webkit-box-ordinal-group: 1 !important;
-webkit-order: 0 !important;
-ms-flex-order: 0 !important;
order: 0 !important;
}
.order-sm-1 {
-webkit-box-ordinal-group: 2 !important;
-webkit-order: 1 !important;
-ms-flex-order: 1 !important;
order: 1 !important;
}
.order-sm-2 {
-webkit-box-ordinal-group: 3 !important;
-webkit-order: 2 !important;
-ms-flex-order: 2 !important;
order: 2 !important;
}
.order-sm-3 {
-webkit-box-ordinal-group: 4 !important;
-webkit-order: 3 !important;
-ms-flex-order: 3 !important;
order: 3 !important;
}
.order-sm-4 {
-webkit-box-ordinal-group: 5 !important;
-webkit-order: 4 !important;
-ms-flex-order: 4 !important;
order: 4 !important;
}
.order-sm-5 {
-webkit-box-ordinal-group: 6 !important;
-webkit-order: 5 !important;
-ms-flex-order: 5 !important;
order: 5 !important;
}
.order-sm-last {
-webkit-box-ordinal-group: 7 !important;
-webkit-order: 6 !important;
-ms-flex-order: 6 !important;
order: 6 !important;
}
.m-sm-0 {
margin: 0 !important;
}
.m-sm-1 {
margin: 0.25rem !important;
}
.m-sm-2 {
margin: 0.5rem !important;
}
.m-sm-3 {
margin: 1rem !important;
}
.m-sm-4 {
margin: 1.5rem !important;
}
.m-sm-5 {
margin: 3rem !important;
}
.m-sm-auto {
margin: auto !important;
}
.mx-sm-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
.mx-sm-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
.mx-sm-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
.mx-sm-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
.mx-sm-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
.mx-sm-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
.mx-sm-auto {
margin-right: auto !important;
margin-left: auto !important;
}
.my-sm-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.my-sm-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.my-sm-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
.my-sm-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.my-sm-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.my-sm-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
.my-sm-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
.mt-sm-0 {
margin-top: 0 !important;
}
.mt-sm-1 {
margin-top: 0.25rem !important;
}
.mt-sm-2 {
margin-top: 0.5rem !important;
}
.mt-sm-3 {
margin-top: 1rem !important;
}
.mt-sm-4 {
margin-top: 1.5rem !important;
}
.mt-sm-5 {
margin-top: 3rem !important;
}
.mt-sm-auto {
margin-top: auto !important;
}
.me-sm-0 {
margin-right: 0 !important;
}
.me-sm-1 {
margin-right: 0.25rem !important;
}
.me-sm-2 {
margin-right: 0.5rem !important;
}
.me-sm-3 {
margin-right: 1rem !important;
}
.me-sm-4 {
margin-right: 1.5rem !important;
}
.me-sm-5 {
margin-right: 3rem !important;
}
.me-sm-auto {
margin-right: auto !important;
}
.mb-sm-0 {
margin-bottom: 0 !important;
}
.mb-sm-1 {
margin-bottom: 0.25rem !important;
}
.mb-sm-2 {
margin-bottom: 0.5rem !important;
}
.mb-sm-3 {
margin-bottom: 1rem !important;
}
.mb-sm-4 {
margin-bottom: 1.5rem !important;
}
.mb-sm-5 {
margin-bottom: 3rem !important;
}
.mb-sm-auto {
margin-bottom: auto !important;
}
.ms-sm-0 {
margin-left: 0 !important;
}
.ms-sm-1 {
margin-left: 0.25rem !important;
}
.ms-sm-2 {
margin-left: 0.5rem !important;
}
.ms-sm-3 {
margin-left: 1rem !important;
}
.ms-sm-4 {
margin-left: 1.5rem !important;
}
.ms-sm-5 {
margin-left: 3rem !important;
}
.ms-sm-auto {
margin-left: auto !important;
}
.p-sm-0 {
padding: 0 !important;
}
.p-sm-1 {
padding: 0.25rem !important;
}
.p-sm-2 {
padding: 0.5rem !important;
}
.p-sm-3 {
padding: 1rem !important;
}
.p-sm-4 {
padding: 1.5rem !important;
}
.p-sm-5 {
padding: 3rem !important;
}
.px-sm-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
.px-sm-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
.px-sm-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
.px-sm-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
.px-sm-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
.px-sm-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
.py-sm-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.py-sm-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
.py-sm-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.py-sm-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.py-sm-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.py-sm-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
.pt-sm-0 {
padding-top: 0 !important;
}
.pt-sm-1 {
padding-top: 0.25rem !important;
}
.pt-sm-2 {
padding-top: 0.5rem !important;
}
.pt-sm-3 {
padding-top: 1rem !important;
}
.pt-sm-4 {
padding-top: 1.5rem !important;
}
.pt-sm-5 {
padding-top: 3rem !important;
}
.pe-sm-0 {
padding-right: 0 !important;
}
.pe-sm-1 {
padding-right: 0.25rem !important;
}
.pe-sm-2 {
padding-right: 0.5rem !important;
}
.pe-sm-3 {
padding-right: 1rem !important;
}
.pe-sm-4 {
padding-right: 1.5rem !important;
}
.pe-sm-5 {
padding-right: 3rem !important;
}
.pb-sm-0 {
padding-bottom: 0 !important;
}
.pb-sm-1 {
padding-bottom: 0.25rem !important;
}
.pb-sm-2 {
padding-bottom: 0.5rem !important;
}
.pb-sm-3 {
padding-bottom: 1rem !important;
}
.pb-sm-4 {
padding-bottom: 1.5rem !important;
}
.pb-sm-5 {
padding-bottom: 3rem !important;
}
.ps-sm-0 {
padding-left: 0 !important;
}
.ps-sm-1 {
padding-left: 0.25rem !important;
}
.ps-sm-2 {
padding-left: 0.5rem !important;
}
.ps-sm-3 {
padding-left: 1rem !important;
}
.ps-sm-4 {
padding-left: 1.5rem !important;
}
.ps-sm-5 {
padding-left: 3rem !important;
}
.gap-sm-0 {
gap: 0 !important;
}
.gap-sm-1 {
gap: 0.25rem !important;
}
.gap-sm-2 {
gap: 0.5rem !important;
}
.gap-sm-3 {
gap: 1rem !important;
}
.gap-sm-4 {
gap: 1.5rem !important;
}
.gap-sm-5 {
gap: 3rem !important;
}
.row-gap-sm-0 {
row-gap: 0 !important;
}
.row-gap-sm-1 {
row-gap: 0.25rem !important;
}
.row-gap-sm-2 {
row-gap: 0.5rem !important;
}
.row-gap-sm-3 {
row-gap: 1rem !important;
}
.row-gap-sm-4 {
row-gap: 1.5rem !important;
}
.row-gap-sm-5 {
row-gap: 3rem !important;
}
.column-gap-sm-0 {
-webkit-column-gap: 0 !important;
-moz-column-gap: 0 !important;
column-gap: 0 !important;
}
.column-gap-sm-1 {
-webkit-column-gap: 0.25rem !important;
-moz-column-gap: 0.25rem !important;
column-gap: 0.25rem !important;
}
.column-gap-sm-2 {
-webkit-column-gap: 0.5rem !important;
-moz-column-gap: 0.5rem !important;
column-gap: 0.5rem !important;
}
.column-gap-sm-3 {
-webkit-column-gap: 1rem !important;
-moz-column-gap: 1rem !important;
column-gap: 1rem !important;
}
.column-gap-sm-4 {
-webkit-column-gap: 1.5rem !important;
-moz-column-gap: 1.5rem !important;
column-gap: 1.5rem !important;
}
.column-gap-sm-5 {
-webkit-column-gap: 3rem !important;
-moz-column-gap: 3rem !important;
column-gap: 3rem !important;
}
.text-sm-start {
text-align: left !important;
}
.text-sm-end {
text-align: right !important;
}
.text-sm-center {
text-align: center !important;
}
}
@media (min-width: 48rem) {
.float-md-start {
float: left !important;
}
.float-md-end {
float: right !important;
}
.float-md-none {
float: none !important;
}
.object-fit-md-contain {
-o-object-fit: contain !important;
object-fit: contain !important;
}
.object-fit-md-cover {
-o-object-fit: cover !important;
object-fit: cover !important;
}
.object-fit-md-fill {
-o-object-fit: fill !important;
object-fit: fill !important;
}
.object-fit-md-scale {
-o-object-fit: scale-down !important;
object-fit: scale-down !important;
}
.object-fit-md-none {
-o-object-fit: none !important;
object-fit: none !important;
}
.d-md-inline {
display: inline !important;
}
.d-md-inline-block {
display: inline-block !important;
}
.d-md-block {
display: block !important;
}
.d-md-grid {
display: grid !important;
}
.d-md-inline-grid {
display: inline-grid !important;
}
.d-md-table {
display: table !important;
}
.d-md-table-row {
display: table-row !important;
}
.d-md-table-cell {
display: table-cell !important;
}
.d-md-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-md-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
.d-md-none {
display: none !important;
}
.flex-md-fill {
-webkit-box-flex: 1 !important;
-webkit-flex: 1 1 auto !important;
-ms-flex: 1 1 auto !important;
flex: 1 1 auto !important;
}
.flex-md-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-md-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-md-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-md-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
.flex-md-grow-0 {
-webkit-box-flex: 0 !important;
-webkit-flex-grow: 0 !important;
-ms-flex-positive: 0 !important;
flex-grow: 0 !important;
}
.flex-md-grow-1 {
-webkit-box-flex: 1 !important;
-webkit-flex-grow: 1 !important;
-ms-flex-positive: 1 !important;
flex-grow: 1 !important;
}
.flex-md-shrink-0 {
-webkit-flex-shrink: 0 !important;
-ms-flex-negative: 0 !important;
flex-shrink: 0 !important;
}
.flex-md-shrink-1 {
-webkit-flex-shrink: 1 !important;
-ms-flex-negative: 1 !important;
flex-shrink: 1 !important;
}
.flex-md-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
.flex-md-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
.flex-md-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
.justify-content-md-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-md-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-md-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-md-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
.justify-content-md-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
.justify-content-md-evenly {
-webkit-box-pack: space-evenly !important;
-webkit-justify-content: space-evenly !important;
-ms-flex-pack: space-evenly !important;
justify-content: space-evenly !important;
}
.align-items-md-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-md-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-md-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-md-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-md-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
.align-content-md-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
.align-content-md-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
.align-content-md-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
.align-content-md-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
.align-content-md-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
.align-content-md-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
.align-self-md-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
align-self: auto !important;
}
.align-self-md-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
.align-self-md-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
.align-self-md-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
align-self: center !important;
}
.align-self-md-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
.align-self-md-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
align-self: stretch !important;
}
.order-md-first {
-webkit-box-ordinal-group: 0 !important;
-webkit-order: -1 !important;
-ms-flex-order: -1 !important;
order: -1 !important;
}
.order-md-0 {
-webkit-box-ordinal-group: 1 !important;
-webkit-order: 0 !important;
-ms-flex-order: 0 !important;
order: 0 !important;
}
.order-md-1 {
-webkit-box-ordinal-group: 2 !important;
-webkit-order: 1 !important;
-ms-flex-order: 1 !important;
order: 1 !important;
}
.order-md-2 {
-webkit-box-ordinal-group: 3 !important;
-webkit-order: 2 !important;
-ms-flex-order: 2 !important;
order: 2 !important;
}
.order-md-3 {
-webkit-box-ordinal-group: 4 !important;
-webkit-order: 3 !important;
-ms-flex-order: 3 !important;
order: 3 !important;
}
.order-md-4 {
-webkit-box-ordinal-group: 5 !important;
-webkit-order: 4 !important;
-ms-flex-order: 4 !important;
order: 4 !important;
}
.order-md-5 {
-webkit-box-ordinal-group: 6 !important;
-webkit-order: 5 !important;
-ms-flex-order: 5 !important;
order: 5 !important;
}
.order-md-last {
-webkit-box-ordinal-group: 7 !important;
-webkit-order: 6 !important;
-ms-flex-order: 6 !important;
order: 6 !important;
}
.m-md-0 {
margin: 0 !important;
}
.m-md-1 {
margin: 0.25rem !important;
}
.m-md-2 {
margin: 0.5rem !important;
}
.m-md-3 {
margin: 1rem !important;
}
.m-md-4 {
margin: 1.5rem !important;
}
.m-md-5 {
margin: 3rem !important;
}
.m-md-auto {
margin: auto !important;
}
.mx-md-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
.mx-md-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
.mx-md-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
.mx-md-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
.mx-md-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
.mx-md-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
.mx-md-auto {
margin-right: auto !important;
margin-left: auto !important;
}
.my-md-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.my-md-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.my-md-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
.my-md-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.my-md-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.my-md-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
.my-md-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
.mt-md-0 {
margin-top: 0 !important;
}
.mt-md-1 {
margin-top: 0.25rem !important;
}
.mt-md-2 {
margin-top: 0.5rem !important;
}
.mt-md-3 {
margin-top: 1rem !important;
}
.mt-md-4 {
margin-top: 1.5rem !important;
}
.mt-md-5 {
margin-top: 3rem !important;
}
.mt-md-auto {
margin-top: auto !important;
}
.me-md-0 {
margin-right: 0 !important;
}
.me-md-1 {
margin-right: 0.25rem !important;
}
.me-md-2 {
margin-right: 0.5rem !important;
}
.me-md-3 {
margin-right: 1rem !important;
}
.me-md-4 {
margin-right: 1.5rem !important;
}
.me-md-5 {
margin-right: 3rem !important;
}
.me-md-auto {
margin-right: auto !important;
}
.mb-md-0 {
margin-bottom: 0 !important;
}
.mb-md-1 {
margin-bottom: 0.25rem !important;
}
.mb-md-2 {
margin-bottom: 0.5rem !important;
}
.mb-md-3 {
margin-bottom: 1rem !important;
}
.mb-md-4 {
margin-bottom: 1.5rem !important;
}
.mb-md-5 {
margin-bottom: 3rem !important;
}
.mb-md-auto {
margin-bottom: auto !important;
}
.ms-md-0 {
margin-left: 0 !important;
}
.ms-md-1 {
margin-left: 0.25rem !important;
}
.ms-md-2 {
margin-left: 0.5rem !important;
}
.ms-md-3 {
margin-left: 1rem !important;
}
.ms-md-4 {
margin-left: 1.5rem !important;
}
.ms-md-5 {
margin-left: 3rem !important;
}
.ms-md-auto {
margin-left: auto !important;
}
.p-md-0 {
padding: 0 !important;
}
.p-md-1 {
padding: 0.25rem !important;
}
.p-md-2 {
padding: 0.5rem !important;
}
.p-md-3 {
padding: 1rem !important;
}
.p-md-4 {
padding: 1.5rem !important;
}
.p-md-5 {
padding: 3rem !important;
}
.px-md-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
.px-md-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
.px-md-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
.px-md-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
.px-md-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
.px-md-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
.py-md-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.py-md-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
.py-md-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.py-md-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.py-md-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.py-md-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
.pt-md-0 {
padding-top: 0 !important;
}
.pt-md-1 {
padding-top: 0.25rem !important;
}
.pt-md-2 {
padding-top: 0.5rem !important;
}
.pt-md-3 {
padding-top: 1rem !important;
}
.pt-md-4 {
padding-top: 1.5rem !important;
}
.pt-md-5 {
padding-top: 3rem !important;
}
.pe-md-0 {
padding-right: 0 !important;
}
.pe-md-1 {
padding-right: 0.25rem !important;
}
.pe-md-2 {
padding-right: 0.5rem !important;
}
.pe-md-3 {
padding-right: 1rem !important;
}
.pe-md-4 {
padding-right: 1.5rem !important;
}
.pe-md-5 {
padding-right: 3rem !important;
}
.pb-md-0 {
padding-bottom: 0 !important;
}
.pb-md-1 {
padding-bottom: 0.25rem !important;
}
.pb-md-2 {
padding-bottom: 0.5rem !important;
}
.pb-md-3 {
padding-bottom: 1rem !important;
}
.pb-md-4 {
padding-bottom: 1.5rem !important;
}
.pb-md-5 {
padding-bottom: 3rem !important;
}
.ps-md-0 {
padding-left: 0 !important;
}
.ps-md-1 {
padding-left: 0.25rem !important;
}
.ps-md-2 {
padding-left: 0.5rem !important;
}
.ps-md-3 {
padding-left: 1rem !important;
}
.ps-md-4 {
padding-left: 1.5rem !important;
}
.ps-md-5 {
padding-left: 3rem !important;
}
.gap-md-0 {
gap: 0 !important;
}
.gap-md-1 {
gap: 0.25rem !important;
}
.gap-md-2 {
gap: 0.5rem !important;
}
.gap-md-3 {
gap: 1rem !important;
}
.gap-md-4 {
gap: 1.5rem !important;
}
.gap-md-5 {
gap: 3rem !important;
}
.row-gap-md-0 {
row-gap: 0 !important;
}
.row-gap-md-1 {
row-gap: 0.25rem !important;
}
.row-gap-md-2 {
row-gap: 0.5rem !important;
}
.row-gap-md-3 {
row-gap: 1rem !important;
}
.row-gap-md-4 {
row-gap: 1.5rem !important;
}
.row-gap-md-5 {
row-gap: 3rem !important;
}
.column-gap-md-0 {
-webkit-column-gap: 0 !important;
-moz-column-gap: 0 !important;
column-gap: 0 !important;
}
.column-gap-md-1 {
-webkit-column-gap: 0.25rem !important;
-moz-column-gap: 0.25rem !important;
column-gap: 0.25rem !important;
}
.column-gap-md-2 {
-webkit-column-gap: 0.5rem !important;
-moz-column-gap: 0.5rem !important;
column-gap: 0.5rem !important;
}
.column-gap-md-3 {
-webkit-column-gap: 1rem !important;
-moz-column-gap: 1rem !important;
column-gap: 1rem !important;
}
.column-gap-md-4 {
-webkit-column-gap: 1.5rem !important;
-moz-column-gap: 1.5rem !important;
column-gap: 1.5rem !important;
}
.column-gap-md-5 {
-webkit-column-gap: 3rem !important;
-moz-column-gap: 3rem !important;
column-gap: 3rem !important;
}
.text-md-start {
text-align: left !important;
}
.text-md-end {
text-align: right !important;
}
.text-md-center {
text-align: center !important;
}
}
@media (min-width: 62rem) {
.float-lg-start {
float: left !important;
}
.float-lg-end {
float: right !important;
}
.float-lg-none {
float: none !important;
}
.object-fit-lg-contain {
-o-object-fit: contain !important;
object-fit: contain !important;
}
.object-fit-lg-cover {
-o-object-fit: cover !important;
object-fit: cover !important;
}
.object-fit-lg-fill {
-o-object-fit: fill !important;
object-fit: fill !important;
}
.object-fit-lg-scale {
-o-object-fit: scale-down !important;
object-fit: scale-down !important;
}
.object-fit-lg-none {
-o-object-fit: none !important;
object-fit: none !important;
}
.d-lg-inline {
display: inline !important;
}
.d-lg-inline-block {
display: inline-block !important;
}
.d-lg-block {
display: block !important;
}
.d-lg-grid {
display: grid !important;
}
.d-lg-inline-grid {
display: inline-grid !important;
}
.d-lg-table {
display: table !important;
}
.d-lg-table-row {
display: table-row !important;
}
.d-lg-table-cell {
display: table-cell !important;
}
.d-lg-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-lg-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
.d-lg-none {
display: none !important;
}
.flex-lg-fill {
-webkit-box-flex: 1 !important;
-webkit-flex: 1 1 auto !important;
-ms-flex: 1 1 auto !important;
flex: 1 1 auto !important;
}
.flex-lg-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-lg-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-lg-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-lg-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
.flex-lg-grow-0 {
-webkit-box-flex: 0 !important;
-webkit-flex-grow: 0 !important;
-ms-flex-positive: 0 !important;
flex-grow: 0 !important;
}
.flex-lg-grow-1 {
-webkit-box-flex: 1 !important;
-webkit-flex-grow: 1 !important;
-ms-flex-positive: 1 !important;
flex-grow: 1 !important;
}
.flex-lg-shrink-0 {
-webkit-flex-shrink: 0 !important;
-ms-flex-negative: 0 !important;
flex-shrink: 0 !important;
}
.flex-lg-shrink-1 {
-webkit-flex-shrink: 1 !important;
-ms-flex-negative: 1 !important;
flex-shrink: 1 !important;
}
.flex-lg-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
.flex-lg-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
.flex-lg-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
.justify-content-lg-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-lg-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-lg-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-lg-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
.justify-content-lg-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
.justify-content-lg-evenly {
-webkit-box-pack: space-evenly !important;
-webkit-justify-content: space-evenly !important;
-ms-flex-pack: space-evenly !important;
justify-content: space-evenly !important;
}
.align-items-lg-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-lg-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-lg-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-lg-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-lg-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
.align-content-lg-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
.align-content-lg-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
.align-content-lg-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
.align-content-lg-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
.align-content-lg-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
.align-content-lg-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
.align-self-lg-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
align-self: auto !important;
}
.align-self-lg-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
.align-self-lg-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
.align-self-lg-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
align-self: center !important;
}
.align-self-lg-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
.align-self-lg-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
align-self: stretch !important;
}
.order-lg-first {
-webkit-box-ordinal-group: 0 !important;
-webkit-order: -1 !important;
-ms-flex-order: -1 !important;
order: -1 !important;
}
.order-lg-0 {
-webkit-box-ordinal-group: 1 !important;
-webkit-order: 0 !important;
-ms-flex-order: 0 !important;
order: 0 !important;
}
.order-lg-1 {
-webkit-box-ordinal-group: 2 !important;
-webkit-order: 1 !important;
-ms-flex-order: 1 !important;
order: 1 !important;
}
.order-lg-2 {
-webkit-box-ordinal-group: 3 !important;
-webkit-order: 2 !important;
-ms-flex-order: 2 !important;
order: 2 !important;
}
.order-lg-3 {
-webkit-box-ordinal-group: 4 !important;
-webkit-order: 3 !important;
-ms-flex-order: 3 !important;
order: 3 !important;
}
.order-lg-4 {
-webkit-box-ordinal-group: 5 !important;
-webkit-order: 4 !important;
-ms-flex-order: 4 !important;
order: 4 !important;
}
.order-lg-5 {
-webkit-box-ordinal-group: 6 !important;
-webkit-order: 5 !important;
-ms-flex-order: 5 !important;
order: 5 !important;
}
.order-lg-last {
-webkit-box-ordinal-group: 7 !important;
-webkit-order: 6 !important;
-ms-flex-order: 6 !important;
order: 6 !important;
}
.m-lg-0 {
margin: 0 !important;
}
.m-lg-1 {
margin: 0.25rem !important;
}
.m-lg-2 {
margin: 0.5rem !important;
}
.m-lg-3 {
margin: 1rem !important;
}
.m-lg-4 {
margin: 1.5rem !important;
}
.m-lg-5 {
margin: 3rem !important;
}
.m-lg-auto {
margin: auto !important;
}
.mx-lg-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
.mx-lg-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
.mx-lg-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
.mx-lg-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
.mx-lg-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
.mx-lg-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
.mx-lg-auto {
margin-right: auto !important;
margin-left: auto !important;
}
.my-lg-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.my-lg-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.my-lg-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
.my-lg-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.my-lg-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.my-lg-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
.my-lg-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
.mt-lg-0 {
margin-top: 0 !important;
}
.mt-lg-1 {
margin-top: 0.25rem !important;
}
.mt-lg-2 {
margin-top: 0.5rem !important;
}
.mt-lg-3 {
margin-top: 1rem !important;
}
.mt-lg-4 {
margin-top: 1.5rem !important;
}
.mt-lg-5 {
margin-top: 3rem !important;
}
.mt-lg-auto {
margin-top: auto !important;
}
.me-lg-0 {
margin-right: 0 !important;
}
.me-lg-1 {
margin-right: 0.25rem !important;
}
.me-lg-2 {
margin-right: 0.5rem !important;
}
.me-lg-3 {
margin-right: 1rem !important;
}
.me-lg-4 {
margin-right: 1.5rem !important;
}
.me-lg-5 {
margin-right: 3rem !important;
}
.me-lg-auto {
margin-right: auto !important;
}
.mb-lg-0 {
margin-bottom: 0 !important;
}
.mb-lg-1 {
margin-bottom: 0.25rem !important;
}
.mb-lg-2 {
margin-bottom: 0.5rem !important;
}
.mb-lg-3 {
margin-bottom: 1rem !important;
}
.mb-lg-4 {
margin-bottom: 1.5rem !important;
}
.mb-lg-5 {
margin-bottom: 3rem !important;
}
.mb-lg-auto {
margin-bottom: auto !important;
}
.ms-lg-0 {
margin-left: 0 !important;
}
.ms-lg-1 {
margin-left: 0.25rem !important;
}
.ms-lg-2 {
margin-left: 0.5rem !important;
}
.ms-lg-3 {
margin-left: 1rem !important;
}
.ms-lg-4 {
margin-left: 1.5rem !important;
}
.ms-lg-5 {
margin-left: 3rem !important;
}
.ms-lg-auto {
margin-left: auto !important;
}
.p-lg-0 {
padding: 0 !important;
}
.p-lg-1 {
padding: 0.25rem !important;
}
.p-lg-2 {
padding: 0.5rem !important;
}
.p-lg-3 {
padding: 1rem !important;
}
.p-lg-4 {
padding: 1.5rem !important;
}
.p-lg-5 {
padding: 3rem !important;
}
.px-lg-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
.px-lg-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
.px-lg-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
.px-lg-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
.px-lg-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
.px-lg-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
.py-lg-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.py-lg-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
.py-lg-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.py-lg-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.py-lg-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.py-lg-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
.pt-lg-0 {
padding-top: 0 !important;
}
.pt-lg-1 {
padding-top: 0.25rem !important;
}
.pt-lg-2 {
padding-top: 0.5rem !important;
}
.pt-lg-3 {
padding-top: 1rem !important;
}
.pt-lg-4 {
padding-top: 1.5rem !important;
}
.pt-lg-5 {
padding-top: 3rem !important;
}
.pe-lg-0 {
padding-right: 0 !important;
}
.pe-lg-1 {
padding-right: 0.25rem !important;
}
.pe-lg-2 {
padding-right: 0.5rem !important;
}
.pe-lg-3 {
padding-right: 1rem !important;
}
.pe-lg-4 {
padding-right: 1.5rem !important;
}
.pe-lg-5 {
padding-right: 3rem !important;
}
.pb-lg-0 {
padding-bottom: 0 !important;
}
.pb-lg-1 {
padding-bottom: 0.25rem !important;
}
.pb-lg-2 {
padding-bottom: 0.5rem !important;
}
.pb-lg-3 {
padding-bottom: 1rem !important;
}
.pb-lg-4 {
padding-bottom: 1.5rem !important;
}
.pb-lg-5 {
padding-bottom: 3rem !important;
}
.ps-lg-0 {
padding-left: 0 !important;
}
.ps-lg-1 {
padding-left: 0.25rem !important;
}
.ps-lg-2 {
padding-left: 0.5rem !important;
}
.ps-lg-3 {
padding-left: 1rem !important;
}
.ps-lg-4 {
padding-left: 1.5rem !important;
}
.ps-lg-5 {
padding-left: 3rem !important;
}
.gap-lg-0 {
gap: 0 !important;
}
.gap-lg-1 {
gap: 0.25rem !important;
}
.gap-lg-2 {
gap: 0.5rem !important;
}
.gap-lg-3 {
gap: 1rem !important;
}
.gap-lg-4 {
gap: 1.5rem !important;
}
.gap-lg-5 {
gap: 3rem !important;
}
.row-gap-lg-0 {
row-gap: 0 !important;
}
.row-gap-lg-1 {
row-gap: 0.25rem !important;
}
.row-gap-lg-2 {
row-gap: 0.5rem !important;
}
.row-gap-lg-3 {
row-gap: 1rem !important;
}
.row-gap-lg-4 {
row-gap: 1.5rem !important;
}
.row-gap-lg-5 {
row-gap: 3rem !important;
}
.column-gap-lg-0 {
-webkit-column-gap: 0 !important;
-moz-column-gap: 0 !important;
column-gap: 0 !important;
}
.column-gap-lg-1 {
-webkit-column-gap: 0.25rem !important;
-moz-column-gap: 0.25rem !important;
column-gap: 0.25rem !important;
}
.column-gap-lg-2 {
-webkit-column-gap: 0.5rem !important;
-moz-column-gap: 0.5rem !important;
column-gap: 0.5rem !important;
}
.column-gap-lg-3 {
-webkit-column-gap: 1rem !important;
-moz-column-gap: 1rem !important;
column-gap: 1rem !important;
}
.column-gap-lg-4 {
-webkit-column-gap: 1.5rem !important;
-moz-column-gap: 1.5rem !important;
column-gap: 1.5rem !important;
}
.column-gap-lg-5 {
-webkit-column-gap: 3rem !important;
-moz-column-gap: 3rem !important;
column-gap: 3rem !important;
}
.text-lg-start {
text-align: left !important;
}
.text-lg-end {
text-align: right !important;
}
.text-lg-center {
text-align: center !important;
}
}
@media (min-width: 75rem) {
.float-xl-start {
float: left !important;
}
.float-xl-end {
float: right !important;
}
.float-xl-none {
float: none !important;
}
.object-fit-xl-contain {
-o-object-fit: contain !important;
object-fit: contain !important;
}
.object-fit-xl-cover {
-o-object-fit: cover !important;
object-fit: cover !important;
}
.object-fit-xl-fill {
-o-object-fit: fill !important;
object-fit: fill !important;
}
.object-fit-xl-scale {
-o-object-fit: scale-down !important;
object-fit: scale-down !important;
}
.object-fit-xl-none {
-o-object-fit: none !important;
object-fit: none !important;
}
.d-xl-inline {
display: inline !important;
}
.d-xl-inline-block {
display: inline-block !important;
}
.d-xl-block {
display: block !important;
}
.d-xl-grid {
display: grid !important;
}
.d-xl-inline-grid {
display: inline-grid !important;
}
.d-xl-table {
display: table !important;
}
.d-xl-table-row {
display: table-row !important;
}
.d-xl-table-cell {
display: table-cell !important;
}
.d-xl-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-xl-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
.d-xl-none {
display: none !important;
}
.flex-xl-fill {
-webkit-box-flex: 1 !important;
-webkit-flex: 1 1 auto !important;
-ms-flex: 1 1 auto !important;
flex: 1 1 auto !important;
}
.flex-xl-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-xl-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-xl-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-xl-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
.flex-xl-grow-0 {
-webkit-box-flex: 0 !important;
-webkit-flex-grow: 0 !important;
-ms-flex-positive: 0 !important;
flex-grow: 0 !important;
}
.flex-xl-grow-1 {
-webkit-box-flex: 1 !important;
-webkit-flex-grow: 1 !important;
-ms-flex-positive: 1 !important;
flex-grow: 1 !important;
}
.flex-xl-shrink-0 {
-webkit-flex-shrink: 0 !important;
-ms-flex-negative: 0 !important;
flex-shrink: 0 !important;
}
.flex-xl-shrink-1 {
-webkit-flex-shrink: 1 !important;
-ms-flex-negative: 1 !important;
flex-shrink: 1 !important;
}
.flex-xl-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
.flex-xl-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
.flex-xl-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
.justify-content-xl-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-xl-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-xl-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-xl-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
.justify-content-xl-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
.justify-content-xl-evenly {
-webkit-box-pack: space-evenly !important;
-webkit-justify-content: space-evenly !important;
-ms-flex-pack: space-evenly !important;
justify-content: space-evenly !important;
}
.align-items-xl-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-xl-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-xl-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-xl-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-xl-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
.align-content-xl-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
.align-content-xl-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
.align-content-xl-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
.align-content-xl-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
.align-content-xl-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
.align-content-xl-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
.align-self-xl-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
align-self: auto !important;
}
.align-self-xl-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
.align-self-xl-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
.align-self-xl-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
align-self: center !important;
}
.align-self-xl-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
.align-self-xl-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
align-self: stretch !important;
}
.order-xl-first {
-webkit-box-ordinal-group: 0 !important;
-webkit-order: -1 !important;
-ms-flex-order: -1 !important;
order: -1 !important;
}
.order-xl-0 {
-webkit-box-ordinal-group: 1 !important;
-webkit-order: 0 !important;
-ms-flex-order: 0 !important;
order: 0 !important;
}
.order-xl-1 {
-webkit-box-ordinal-group: 2 !important;
-webkit-order: 1 !important;
-ms-flex-order: 1 !important;
order: 1 !important;
}
.order-xl-2 {
-webkit-box-ordinal-group: 3 !important;
-webkit-order: 2 !important;
-ms-flex-order: 2 !important;
order: 2 !important;
}
.order-xl-3 {
-webkit-box-ordinal-group: 4 !important;
-webkit-order: 3 !important;
-ms-flex-order: 3 !important;
order: 3 !important;
}
.order-xl-4 {
-webkit-box-ordinal-group: 5 !important;
-webkit-order: 4 !important;
-ms-flex-order: 4 !important;
order: 4 !important;
}
.order-xl-5 {
-webkit-box-ordinal-group: 6 !important;
-webkit-order: 5 !important;
-ms-flex-order: 5 !important;
order: 5 !important;
}
.order-xl-last {
-webkit-box-ordinal-group: 7 !important;
-webkit-order: 6 !important;
-ms-flex-order: 6 !important;
order: 6 !important;
}
.m-xl-0 {
margin: 0 !important;
}
.m-xl-1 {
margin: 0.25rem !important;
}
.m-xl-2 {
margin: 0.5rem !important;
}
.m-xl-3 {
margin: 1rem !important;
}
.m-xl-4 {
margin: 1.5rem !important;
}
.m-xl-5 {
margin: 3rem !important;
}
.m-xl-auto {
margin: auto !important;
}
.mx-xl-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
.mx-xl-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
.mx-xl-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
.mx-xl-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
.mx-xl-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
.mx-xl-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
.mx-xl-auto {
margin-right: auto !important;
margin-left: auto !important;
}
.my-xl-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.my-xl-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.my-xl-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
.my-xl-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.my-xl-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.my-xl-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
.my-xl-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
.mt-xl-0 {
margin-top: 0 !important;
}
.mt-xl-1 {
margin-top: 0.25rem !important;
}
.mt-xl-2 {
margin-top: 0.5rem !important;
}
.mt-xl-3 {
margin-top: 1rem !important;
}
.mt-xl-4 {
margin-top: 1.5rem !important;
}
.mt-xl-5 {
margin-top: 3rem !important;
}
.mt-xl-auto {
margin-top: auto !important;
}
.me-xl-0 {
margin-right: 0 !important;
}
.me-xl-1 {
margin-right: 0.25rem !important;
}
.me-xl-2 {
margin-right: 0.5rem !important;
}
.me-xl-3 {
margin-right: 1rem !important;
}
.me-xl-4 {
margin-right: 1.5rem !important;
}
.me-xl-5 {
margin-right: 3rem !important;
}
.me-xl-auto {
margin-right: auto !important;
}
.mb-xl-0 {
margin-bottom: 0 !important;
}
.mb-xl-1 {
margin-bottom: 0.25rem !important;
}
.mb-xl-2 {
margin-bottom: 0.5rem !important;
}
.mb-xl-3 {
margin-bottom: 1rem !important;
}
.mb-xl-4 {
margin-bottom: 1.5rem !important;
}
.mb-xl-5 {
margin-bottom: 3rem !important;
}
.mb-xl-auto {
margin-bottom: auto !important;
}
.ms-xl-0 {
margin-left: 0 !important;
}
.ms-xl-1 {
margin-left: 0.25rem !important;
}
.ms-xl-2 {
margin-left: 0.5rem !important;
}
.ms-xl-3 {
margin-left: 1rem !important;
}
.ms-xl-4 {
margin-left: 1.5rem !important;
}
.ms-xl-5 {
margin-left: 3rem !important;
}
.ms-xl-auto {
margin-left: auto !important;
}
.p-xl-0 {
padding: 0 !important;
}
.p-xl-1 {
padding: 0.25rem !important;
}
.p-xl-2 {
padding: 0.5rem !important;
}
.p-xl-3 {
padding: 1rem !important;
}
.p-xl-4 {
padding: 1.5rem !important;
}
.p-xl-5 {
padding: 3rem !important;
}
.px-xl-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
.px-xl-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
.px-xl-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
.px-xl-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
.px-xl-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
.px-xl-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
.py-xl-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.py-xl-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
.py-xl-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.py-xl-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.py-xl-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.py-xl-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
.pt-xl-0 {
padding-top: 0 !important;
}
.pt-xl-1 {
padding-top: 0.25rem !important;
}
.pt-xl-2 {
padding-top: 0.5rem !important;
}
.pt-xl-3 {
padding-top: 1rem !important;
}
.pt-xl-4 {
padding-top: 1.5rem !important;
}
.pt-xl-5 {
padding-top: 3rem !important;
}
.pe-xl-0 {
padding-right: 0 !important;
}
.pe-xl-1 {
padding-right: 0.25rem !important;
}
.pe-xl-2 {
padding-right: 0.5rem !important;
}
.pe-xl-3 {
padding-right: 1rem !important;
}
.pe-xl-4 {
padding-right: 1.5rem !important;
}
.pe-xl-5 {
padding-right: 3rem !important;
}
.pb-xl-0 {
padding-bottom: 0 !important;
}
.pb-xl-1 {
padding-bottom: 0.25rem !important;
}
.pb-xl-2 {
padding-bottom: 0.5rem !important;
}
.pb-xl-3 {
padding-bottom: 1rem !important;
}
.pb-xl-4 {
padding-bottom: 1.5rem !important;
}
.pb-xl-5 {
padding-bottom: 3rem !important;
}
.ps-xl-0 {
padding-left: 0 !important;
}
.ps-xl-1 {
padding-left: 0.25rem !important;
}
.ps-xl-2 {
padding-left: 0.5rem !important;
}
.ps-xl-3 {
padding-left: 1rem !important;
}
.ps-xl-4 {
padding-left: 1.5rem !important;
}
.ps-xl-5 {
padding-left: 3rem !important;
}
.gap-xl-0 {
gap: 0 !important;
}
.gap-xl-1 {
gap: 0.25rem !important;
}
.gap-xl-2 {
gap: 0.5rem !important;
}
.gap-xl-3 {
gap: 1rem !important;
}
.gap-xl-4 {
gap: 1.5rem !important;
}
.gap-xl-5 {
gap: 3rem !important;
}
.row-gap-xl-0 {
row-gap: 0 !important;
}
.row-gap-xl-1 {
row-gap: 0.25rem !important;
}
.row-gap-xl-2 {
row-gap: 0.5rem !important;
}
.row-gap-xl-3 {
row-gap: 1rem !important;
}
.row-gap-xl-4 {
row-gap: 1.5rem !important;
}
.row-gap-xl-5 {
row-gap: 3rem !important;
}
.column-gap-xl-0 {
-webkit-column-gap: 0 !important;
-moz-column-gap: 0 !important;
column-gap: 0 !important;
}
.column-gap-xl-1 {
-webkit-column-gap: 0.25rem !important;
-moz-column-gap: 0.25rem !important;
column-gap: 0.25rem !important;
}
.column-gap-xl-2 {
-webkit-column-gap: 0.5rem !important;
-moz-column-gap: 0.5rem !important;
column-gap: 0.5rem !important;
}
.column-gap-xl-3 {
-webkit-column-gap: 1rem !important;
-moz-column-gap: 1rem !important;
column-gap: 1rem !important;
}
.column-gap-xl-4 {
-webkit-column-gap: 1.5rem !important;
-moz-column-gap: 1.5rem !important;
column-gap: 1.5rem !important;
}
.column-gap-xl-5 {
-webkit-column-gap: 3rem !important;
-moz-column-gap: 3rem !important;
column-gap: 3rem !important;
}
.text-xl-start {
text-align: left !important;
}
.text-xl-end {
text-align: right !important;
}
.text-xl-center {
text-align: center !important;
}
}
@media (min-width: 87.5rem) {
.float-xxl-start {
float: left !important;
}
.float-xxl-end {
float: right !important;
}
.float-xxl-none {
float: none !important;
}
.object-fit-xxl-contain {
-o-object-fit: contain !important;
object-fit: contain !important;
}
.object-fit-xxl-cover {
-o-object-fit: cover !important;
object-fit: cover !important;
}
.object-fit-xxl-fill {
-o-object-fit: fill !important;
object-fit: fill !important;
}
.object-fit-xxl-scale {
-o-object-fit: scale-down !important;
object-fit: scale-down !important;
}
.object-fit-xxl-none {
-o-object-fit: none !important;
object-fit: none !important;
}
.d-xxl-inline {
display: inline !important;
}
.d-xxl-inline-block {
display: inline-block !important;
}
.d-xxl-block {
display: block !important;
}
.d-xxl-grid {
display: grid !important;
}
.d-xxl-inline-grid {
display: inline-grid !important;
}
.d-xxl-table {
display: table !important;
}
.d-xxl-table-row {
display: table-row !important;
}
.d-xxl-table-cell {
display: table-cell !important;
}
.d-xxl-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-xxl-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
.d-xxl-none {
display: none !important;
}
.flex-xxl-fill {
-webkit-box-flex: 1 !important;
-webkit-flex: 1 1 auto !important;
-ms-flex: 1 1 auto !important;
flex: 1 1 auto !important;
}
.flex-xxl-row {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: row !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-xxl-column {
-webkit-box-orient: vertical !important;
-webkit-box-direction: normal !important;
-webkit-flex-direction: column !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-xxl-row-reverse {
-webkit-box-orient: horizontal !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: row-reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-xxl-column-reverse {
-webkit-box-orient: vertical !important;
-webkit-box-direction: reverse !important;
-webkit-flex-direction: column-reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
.flex-xxl-grow-0 {
-webkit-box-flex: 0 !important;
-webkit-flex-grow: 0 !important;
-ms-flex-positive: 0 !important;
flex-grow: 0 !important;
}
.flex-xxl-grow-1 {
-webkit-box-flex: 1 !important;
-webkit-flex-grow: 1 !important;
-ms-flex-positive: 1 !important;
flex-grow: 1 !important;
}
.flex-xxl-shrink-0 {
-webkit-flex-shrink: 0 !important;
-ms-flex-negative: 0 !important;
flex-shrink: 0 !important;
}
.flex-xxl-shrink-1 {
-webkit-flex-shrink: 1 !important;
-ms-flex-negative: 1 !important;
flex-shrink: 1 !important;
}
.flex-xxl-wrap {
-webkit-flex-wrap: wrap !important;
-ms-flex-wrap: wrap !important;
flex-wrap: wrap !important;
}
.flex-xxl-nowrap {
-webkit-flex-wrap: nowrap !important;
-ms-flex-wrap: nowrap !important;
flex-wrap: nowrap !important;
}
.flex-xxl-wrap-reverse {
-webkit-flex-wrap: wrap-reverse !important;
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
.justify-content-xxl-start {
-webkit-box-pack: start !important;
-webkit-justify-content: flex-start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-xxl-end {
-webkit-box-pack: end !important;
-webkit-justify-content: flex-end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-xxl-center {
-webkit-box-pack: center !important;
-webkit-justify-content: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-xxl-between {
-webkit-box-pack: justify !important;
-webkit-justify-content: space-between !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
.justify-content-xxl-around {
-webkit-justify-content: space-around !important;
-ms-flex-pack: distribute !important;
justify-content: space-around !important;
}
.justify-content-xxl-evenly {
-webkit-box-pack: space-evenly !important;
-webkit-justify-content: space-evenly !important;
-ms-flex-pack: space-evenly !important;
justify-content: space-evenly !important;
}
.align-items-xxl-start {
-webkit-box-align: start !important;
-webkit-align-items: flex-start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-xxl-end {
-webkit-box-align: end !important;
-webkit-align-items: flex-end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-xxl-center {
-webkit-box-align: center !important;
-webkit-align-items: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-xxl-baseline {
-webkit-box-align: baseline !important;
-webkit-align-items: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-xxl-stretch {
-webkit-box-align: stretch !important;
-webkit-align-items: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
.align-content-xxl-start {
-webkit-align-content: flex-start !important;
-ms-flex-line-pack: start !important;
align-content: flex-start !important;
}
.align-content-xxl-end {
-webkit-align-content: flex-end !important;
-ms-flex-line-pack: end !important;
align-content: flex-end !important;
}
.align-content-xxl-center {
-webkit-align-content: center !important;
-ms-flex-line-pack: center !important;
align-content: center !important;
}
.align-content-xxl-between {
-webkit-align-content: space-between !important;
-ms-flex-line-pack: justify !important;
align-content: space-between !important;
}
.align-content-xxl-around {
-webkit-align-content: space-around !important;
-ms-flex-line-pack: distribute !important;
align-content: space-around !important;
}
.align-content-xxl-stretch {
-webkit-align-content: stretch !important;
-ms-flex-line-pack: stretch !important;
align-content: stretch !important;
}
.align-self-xxl-auto {
-webkit-align-self: auto !important;
-ms-flex-item-align: auto !important;
align-self: auto !important;
}
.align-self-xxl-start {
-webkit-align-self: flex-start !important;
-ms-flex-item-align: start !important;
align-self: flex-start !important;
}
.align-self-xxl-end {
-webkit-align-self: flex-end !important;
-ms-flex-item-align: end !important;
align-self: flex-end !important;
}
.align-self-xxl-center {
-webkit-align-self: center !important;
-ms-flex-item-align: center !important;
align-self: center !important;
}
.align-self-xxl-baseline {
-webkit-align-self: baseline !important;
-ms-flex-item-align: baseline !important;
align-self: baseline !important;
}
.align-self-xxl-stretch {
-webkit-align-self: stretch !important;
-ms-flex-item-align: stretch !important;
align-self: stretch !important;
}
.order-xxl-first {
-webkit-box-ordinal-group: 0 !important;
-webkit-order: -1 !important;
-ms-flex-order: -1 !important;
order: -1 !important;
}
.order-xxl-0 {
-webkit-box-ordinal-group: 1 !important;
-webkit-order: 0 !important;
-ms-flex-order: 0 !important;
order: 0 !important;
}
.order-xxl-1 {
-webkit-box-ordinal-group: 2 !important;
-webkit-order: 1 !important;
-ms-flex-order: 1 !important;
order: 1 !important;
}
.order-xxl-2 {
-webkit-box-ordinal-group: 3 !important;
-webkit-order: 2 !important;
-ms-flex-order: 2 !important;
order: 2 !important;
}
.order-xxl-3 {
-webkit-box-ordinal-group: 4 !important;
-webkit-order: 3 !important;
-ms-flex-order: 3 !important;
order: 3 !important;
}
.order-xxl-4 {
-webkit-box-ordinal-group: 5 !important;
-webkit-order: 4 !important;
-ms-flex-order: 4 !important;
order: 4 !important;
}
.order-xxl-5 {
-webkit-box-ordinal-group: 6 !important;
-webkit-order: 5 !important;
-ms-flex-order: 5 !important;
order: 5 !important;
}
.order-xxl-last {
-webkit-box-ordinal-group: 7 !important;
-webkit-order: 6 !important;
-ms-flex-order: 6 !important;
order: 6 !important;
}
.m-xxl-0 {
margin: 0 !important;
}
.m-xxl-1 {
margin: 0.25rem !important;
}
.m-xxl-2 {
margin: 0.5rem !important;
}
.m-xxl-3 {
margin: 1rem !important;
}
.m-xxl-4 {
margin: 1.5rem !important;
}
.m-xxl-5 {
margin: 3rem !important;
}
.m-xxl-auto {
margin: auto !important;
}
.mx-xxl-0 {
margin-right: 0 !important;
margin-left: 0 !important;
}
.mx-xxl-1 {
margin-right: 0.25rem !important;
margin-left: 0.25rem !important;
}
.mx-xxl-2 {
margin-right: 0.5rem !important;
margin-left: 0.5rem !important;
}
.mx-xxl-3 {
margin-right: 1rem !important;
margin-left: 1rem !important;
}
.mx-xxl-4 {
margin-right: 1.5rem !important;
margin-left: 1.5rem !important;
}
.mx-xxl-5 {
margin-right: 3rem !important;
margin-left: 3rem !important;
}
.mx-xxl-auto {
margin-right: auto !important;
margin-left: auto !important;
}
.my-xxl-0 {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.my-xxl-1 {
margin-top: 0.25rem !important;
margin-bottom: 0.25rem !important;
}
.my-xxl-2 {
margin-top: 0.5rem !important;
margin-bottom: 0.5rem !important;
}
.my-xxl-3 {
margin-top: 1rem !important;
margin-bottom: 1rem !important;
}
.my-xxl-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.my-xxl-5 {
margin-top: 3rem !important;
margin-bottom: 3rem !important;
}
.my-xxl-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
.mt-xxl-0 {
margin-top: 0 !important;
}
.mt-xxl-1 {
margin-top: 0.25rem !important;
}
.mt-xxl-2 {
margin-top: 0.5rem !important;
}
.mt-xxl-3 {
margin-top: 1rem !important;
}
.mt-xxl-4 {
margin-top: 1.5rem !important;
}
.mt-xxl-5 {
margin-top: 3rem !important;
}
.mt-xxl-auto {
margin-top: auto !important;
}
.me-xxl-0 {
margin-right: 0 !important;
}
.me-xxl-1 {
margin-right: 0.25rem !important;
}
.me-xxl-2 {
margin-right: 0.5rem !important;
}
.me-xxl-3 {
margin-right: 1rem !important;
}
.me-xxl-4 {
margin-right: 1.5rem !important;
}
.me-xxl-5 {
margin-right: 3rem !important;
}
.me-xxl-auto {
margin-right: auto !important;
}
.mb-xxl-0 {
margin-bottom: 0 !important;
}
.mb-xxl-1 {
margin-bottom: 0.25rem !important;
}
.mb-xxl-2 {
margin-bottom: 0.5rem !important;
}
.mb-xxl-3 {
margin-bottom: 1rem !important;
}
.mb-xxl-4 {
margin-bottom: 1.5rem !important;
}
.mb-xxl-5 {
margin-bottom: 3rem !important;
}
.mb-xxl-auto {
margin-bottom: auto !important;
}
.ms-xxl-0 {
margin-left: 0 !important;
}
.ms-xxl-1 {
margin-left: 0.25rem !important;
}
.ms-xxl-2 {
margin-left: 0.5rem !important;
}
.ms-xxl-3 {
margin-left: 1rem !important;
}
.ms-xxl-4 {
margin-left: 1.5rem !important;
}
.ms-xxl-5 {
margin-left: 3rem !important;
}
.ms-xxl-auto {
margin-left: auto !important;
}
.p-xxl-0 {
padding: 0 !important;
}
.p-xxl-1 {
padding: 0.25rem !important;
}
.p-xxl-2 {
padding: 0.5rem !important;
}
.p-xxl-3 {
padding: 1rem !important;
}
.p-xxl-4 {
padding: 1.5rem !important;
}
.p-xxl-5 {
padding: 3rem !important;
}
.px-xxl-0 {
padding-right: 0 !important;
padding-left: 0 !important;
}
.px-xxl-1 {
padding-right: 0.25rem !important;
padding-left: 0.25rem !important;
}
.px-xxl-2 {
padding-right: 0.5rem !important;
padding-left: 0.5rem !important;
}
.px-xxl-3 {
padding-right: 1rem !important;
padding-left: 1rem !important;
}
.px-xxl-4 {
padding-right: 1.5rem !important;
padding-left: 1.5rem !important;
}
.px-xxl-5 {
padding-right: 3rem !important;
padding-left: 3rem !important;
}
.py-xxl-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.py-xxl-1 {
padding-top: 0.25rem !important;
padding-bottom: 0.25rem !important;
}
.py-xxl-2 {
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
}
.py-xxl-3 {
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}
.py-xxl-4 {
padding-top: 1.5rem !important;
padding-bottom: 1.5rem !important;
}
.py-xxl-5 {
padding-top: 3rem !important;
padding-bottom: 3rem !important;
}
.pt-xxl-0 {
padding-top: 0 !important;
}
.pt-xxl-1 {
padding-top: 0.25rem !important;
}
.pt-xxl-2 {
padding-top: 0.5rem !important;
}
.pt-xxl-3 {
padding-top: 1rem !important;
}
.pt-xxl-4 {
padding-top: 1.5rem !important;
}
.pt-xxl-5 {
padding-top: 3rem !important;
}
.pe-xxl-0 {
padding-right: 0 !important;
}
.pe-xxl-1 {
padding-right: 0.25rem !important;
}
.pe-xxl-2 {
padding-right: 0.5rem !important;
}
.pe-xxl-3 {
padding-right: 1rem !important;
}
.pe-xxl-4 {
padding-right: 1.5rem !important;
}
.pe-xxl-5 {
padding-right: 3rem !important;
}
.pb-xxl-0 {
padding-bottom: 0 !important;
}
.pb-xxl-1 {
padding-bottom: 0.25rem !important;
}
.pb-xxl-2 {
padding-bottom: 0.5rem !important;
}
.pb-xxl-3 {
padding-bottom: 1rem !important;
}
.pb-xxl-4 {
padding-bottom: 1.5rem !important;
}
.pb-xxl-5 {
padding-bottom: 3rem !important;
}
.ps-xxl-0 {
padding-left: 0 !important;
}
.ps-xxl-1 {
padding-left: 0.25rem !important;
}
.ps-xxl-2 {
padding-left: 0.5rem !important;
}
.ps-xxl-3 {
padding-left: 1rem !important;
}
.ps-xxl-4 {
padding-left: 1.5rem !important;
}
.ps-xxl-5 {
padding-left: 3rem !important;
}
.gap-xxl-0 {
gap: 0 !important;
}
.gap-xxl-1 {
gap: 0.25rem !important;
}
.gap-xxl-2 {
gap: 0.5rem !important;
}
.gap-xxl-3 {
gap: 1rem !important;
}
.gap-xxl-4 {
gap: 1.5rem !important;
}
.gap-xxl-5 {
gap: 3rem !important;
}
.row-gap-xxl-0 {
row-gap: 0 !important;
}
.row-gap-xxl-1 {
row-gap: 0.25rem !important;
}
.row-gap-xxl-2 {
row-gap: 0.5rem !important;
}
.row-gap-xxl-3 {
row-gap: 1rem !important;
}
.row-gap-xxl-4 {
row-gap: 1.5rem !important;
}
.row-gap-xxl-5 {
row-gap: 3rem !important;
}
.column-gap-xxl-0 {
-webkit-column-gap: 0 !important;
-moz-column-gap: 0 !important;
column-gap: 0 !important;
}
.column-gap-xxl-1 {
-webkit-column-gap: 0.25rem !important;
-moz-column-gap: 0.25rem !important;
column-gap: 0.25rem !important;
}
.column-gap-xxl-2 {
-webkit-column-gap: 0.5rem !important;
-moz-column-gap: 0.5rem !important;
column-gap: 0.5rem !important;
}
.column-gap-xxl-3 {
-webkit-column-gap: 1rem !important;
-moz-column-gap: 1rem !important;
column-gap: 1rem !important;
}
.column-gap-xxl-4 {
-webkit-column-gap: 1.5rem !important;
-moz-column-gap: 1.5rem !important;
column-gap: 1.5rem !important;
}
.column-gap-xxl-5 {
-webkit-column-gap: 3rem !important;
-moz-column-gap: 3rem !important;
column-gap: 3rem !important;
}
.text-xxl-start {
text-align: left !important;
}
.text-xxl-end {
text-align: right !important;
}
.text-xxl-center {
text-align: center !important;
}
}
@media (min-width: 75rem) {
.fs-1 {
font-size: 2.5rem !important;
}
.fs-2 {
font-size: 2rem !important;
}
.fs-3 {
font-size: 1.75rem !important;
}
.fs-4 {
font-size: 1.5rem !important;
}
}
@media print {
.d-print-inline {
display: inline !important;
}
.d-print-inline-block {
display: inline-block !important;
}
.d-print-block {
display: block !important;
}
.d-print-grid {
display: grid !important;
}
.d-print-inline-grid {
display: inline-grid !important;
}
.d-print-table {
display: table !important;
}
.d-print-table-row {
display: table-row !important;
}
.d-print-table-cell {
display: table-cell !important;
}
.d-print-flex {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-print-inline-flex {
display: -webkit-inline-box !important;
display: -webkit-inline-flex !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
.d-print-none {
display: none !important;
}
}
/*
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
========================================
========================================
========================================
----------------------------------------
GENERAL SETTINGS
----------------------------------------
Read more about settings and
USWDS style tokens in the documentation:
https://designsystem.digital.gov/design-tokens
----------------------------------------
*/
/*
----------------------------------------
Image path
----------------------------------------
Relative image file path
----------------------------------------
*/
/*
----------------------------------------
Show compile warnings
----------------------------------------
Show Sass warnings when functions and
mixins use non-standard tokens.
AND
Show updates and notifications.
----------------------------------------
*/
/*
----------------------------------------
Namespace
----------------------------------------
*/
/*
----------------------------------------
Prefix separator
----------------------------------------
Set the character the separates
responsive and state prefixes from the
main class name.
The default (":") needs to be preceded
by two backslashes to be properly
escaped.
----------------------------------------
*/
/*
----------------------------------------
Layout grid
----------------------------------------
Should the layout grid classes output
with !important
----------------------------------------
*/
/*
----------------------------------------
Border box sizing
----------------------------------------
When set to true, sets the box-sizing
property of all site elements to
`border-box`.
----------------------------------------
*/
/*
----------------------------------------
Focus styles
----------------------------------------
*/
/*
----------------------------------------
Icons
----------------------------------------
*/
/*
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
========================================
========================================
========================================
----------------------------------------
TYPOGRAPHY SETTINGS
----------------------------------------
Read more about settings and
USWDS typography tokens in the documentation:
https://designsystem.digital.gov/design-tokens/typesetting/overview/
----------------------------------------
*/
/*
----------------------------------------
Root font size
----------------------------------------
Setting $theme-respect-user-font-size to
true sets the root font size to 100% and
uses ems for media queries
----------------------------------------
$theme-root-font-size only applies when
$theme-respect-user-font-size is set to
false.
This will set the root font size
as a specific px value and use px values
for media queries.
Accepts true or false
----------------------------------------
*/
/*
----------------------------------------
Global styles
----------------------------------------
Adds basic styling for the following
unclassed elements:
- paragraph: paragraph text
- link: links
- content: paragraph text, links,
headings, lists, and tables
----------------------------------------
*/
/*
----------------------------------------
Broswer compatibility mode
----------------------------------------
When true, outputs woff and ttf font
formats in addition to woff2
----------------------------------------
*/
/*
----------------------------------------
Font path
----------------------------------------
Relative font file path
----------------------------------------
*/
/*
----------------------------------------
Custom typeface tokens
----------------------------------------
Add a new custom typeface token if
your project uses a typeface not already
defined by USWDS.
----------------------------------------
USWDS defines the following tokens
by default:
----------------------------------------
'georgia'
'helvetica'
'merriweather'
'open-sans'
'public-sans'
'roboto-mono'
'source-sans-pro'
'system'
'tahoma'
'verdana'
----------------------------------------
Add as many new tokens as you have
custom typefaces. Reference your new
token(s) in the type-based font settings
using the quoted name of the token.
For example:
$theme-font-type-cond: 'example-font-token';
display-name:
The display name of your font
cap-height:
The height of a 500px `N` in Sketch
----------------------------------------
You should change `example-[style]-token`
names to something more descriptive.
----------------------------------------
*/
/*
----------------------------------------
Type-based font settings
----------------------------------------
Set the type-based tokens for your
project from the following tokens,
or from any new font tokens you added in
$theme-typeface-tokens.
----------------------------------------
'georgia'
'helvetica'
'merriweather'
'open-sans'
'public-sans'
'roboto-mono'
'source-sans-pro'
'system'
'tahoma'
'verdana'
----------------------------------------
*/
/*
----------------------------------------
Custom font stacks
----------------------------------------
Add custom font stacks to any of the
type-based fonts. Any USWDS typeface
token already has a default stack.
Custom stacks don't need to include the
font's display name. It will
automatically appear at the start of
the stack.
----------------------------------------
Example:
$theme-font-type-sans: 'source-sans-pro';
$theme-font-sans-custom-stack: "Helvetica Neue", Helvetica, Arial, sans;
Output:
font-family: "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, sans;
----------------------------------------
*/
/*
----------------------------------------
Add any custom font source files
----------------------------------------
If you want USWDS to generate additional
@font-face declarations, add your font
data below, following the example that
follows.
----------------------------------------
USWDS automatically generates @font-face
declarations for the following
'merriweather'
'public-sans'
'roboto-mono'
'source-sans-pro'
These typefaces not require custom
source files.
----------------------------------------
EXAMPLE
- dir:
Directory relative to $theme-font-path
- This directory should include fonts saved as
.woff2
ExampleSerif-Normal.woff2
$theme-font-serif-custom-src: (
dir: 'custom/example-serif',
roman: (
100: false,
200: false,
300: 'ExampleSerif-Light',
400: 'ExampleSerif-Normal',
500: false,
600: false,
700: 'ExampleSerif-Bold',
800: false,
900: false,
),
italic: (
100: false,
200: false,
300: 'ExampleSerif-LightItalic',
400: 'ExampleSerif-Italic',
500: false,
600: false,
700: 'ExampleSerif-BoldItalic',
800: false,
900: false,
),
);
----------------------------------------
*/
/*
----------------------------------------
Role-based font settings
----------------------------------------
Set the role-based tokens for your
project from the following font-type
tokens.
----------------------------------------
'cond'
'icon'
'lang'
'mono'
'sans'
'serif'
----------------------------------------
*/
/*
----------------------------------------
Type scale
----------------------------------------
Define your project's type scale using
values from the USWDS system type scale
1-20
----------------------------------------
*/
/*
----------------------------------------
Font weights
----------------------------------------
Assign weights 100-900
Or use `false` for unneeded weights.
----------------------------------------
*/
/*
----------------------------------------
General typography settings
----------------------------------------
Type scale tokens
----------------------------------------
micro: 10px
1: 12px
2: 13px
3: 14px
4: 15px
5: 16px
6: 17px
7: 18px
8: 20px
9: 22px
10: 24px
11: 28px
12: 32px
13: 36px
14: 40px
15: 48px
16: 56px
17: 64px
18: 80px
19: 120px
20: 140px
----------------------------------------
Line height tokens
----------------------------------------
1: 1
2: 1.15
3: 1.35
4: 1.5
5: 1.62
6: 1.75
----------------------------------------
Font role tokens
----------------------------------------
'ui'
'heading'
'body'
'code'
'alt'
----------------------------------------
Measure (max-width) tokens
----------------------------------------
1: 44ex
2: 60ex
3: 64ex
4: 68ex
5: 74ex
6: 88ex
none: none
----------------------------------------
*/
/*
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
========================================
========================================
========================================
----------------------------------------
COLOR SETTINGS
----------------------------------------
Read more about settings and
USWDS color tokens in the documentation:
https://designsystem.digital.gov/design-tokens/color
----------------------------------------
*/
/*
----------------------------------------
Theme palette colors
----------------------------------------
*/
/*
----------------------------------------
State palette colors
----------------------------------------
*/
/*
----------------------------------------
General colors
----------------------------------------
*/
/*
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
========================================
========================================
========================================
----------------------------------------
COMPONENT SETTINGS
----------------------------------------
Read more about settings and
USWDS style tokens in the documentation:
https://designsystem.digital.gov/design-tokens
----------------------------------------
*/
/*
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
========================================
========================================
========================================
----------------------------------------
SPACING SETTINGS
----------------------------------------
Read more about settings and
USWDS spacing units tokens in the
documentation:
https://designsystem.digital.gov/design-tokens/spacing-units
----------------------------------------
*/
/*
----------------------------------------
Border radius
----------------------------------------
2px 2px
0.5 4px
1 8px
1.5 12px
2 16px
2.5 20px
3 24px
4 32px
5 40px
6 48px
7 56px
8 64px
9 72px
----------------------------------------
*/
/*
----------------------------------------
Column gap
----------------------------------------
2px 2px
0.5 4px
1 8px
2 16px
3 24px
4 32px
5 40px
6 48px
----------------------------------------
*/
/*
----------------------------------------
Grid container max-width
----------------------------------------
mobile
mobile-lg
tablet
tablet-lg
desktop
desktop-lg
widescreen
----------------------------------------
*/
/*
----------------------------------------
Site
----------------------------------------
*/
/*
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
========================================
========================================
========================================
----------------------------------------
UTILITIES SETTINGS
----------------------------------------
Read more about settings and
USWDS utilities in the documentation:
https://designsystem.digital.gov/utilities
----------------------------------------
*/
/*
----------------------------------------
Utility breakpoints
----------------------------------------
Which breakpoints does your project
need? Select as `true` any breakpoint
used by utilities or layout grid
----------------------------------------
*/
/*
----------------------------------------
Global colors
----------------------------------------
The following palettes will be added to
- background-color
- border-color
- color
- text-decoration-color
----------------------------------------
*/
/*
----------------------------------------
Settings
----------------------------------------
*/
/*
----------------------------------------
Values
----------------------------------------
*/
/*
----------------------------------------
color()
----------------------------------------
Derive a color from a color shortcode
----------------------------------------
*/
/*
----------------------------------------
append-important()
----------------------------------------
Append `!important` to a list
----------------------------------------
*/
/*
----------------------------------------
get-last()
----------------------------------------
Return the last item of a list,
Return null if the value is null
----------------------------------------
*/
/*
----------------------------------------
de-list()
----------------------------------------
Transform a one-element list or arglist
into that single element.
----------------------------------------
(1) => 1
((1)) => (1)
----------------------------------------
*/
/*
----------------------------------------
error-not-token()
----------------------------------------
Returns a common not-a-token error.
----------------------------------------
*/
/*
----------------------------------------
uswds-error()
----------------------------------------
Allow the system to pass an error as text
to test error states in unit testing
----------------------------------------
*/
/*
----------------------------------------
get-default()
----------------------------------------
Returns the default value from a map
of project defaults
get-default("bg-color")
> $theme-body-background-color
----------------------------------------
*/
/*
----------------------------------------
has-important()
----------------------------------------
Check to see if `!important` is
being passed in a mixin's props
----------------------------------------
*/
/*
----------------------------------------
map-collect()
----------------------------------------
Collect multiple maps into a single
large map
source: https://gist.github.com/bigglesrocks/d75091700f8f2be5abfe
----------------------------------------
*/
/*
----------------------------------------
map-deep-get()
----------------------------------------
@author Hugo Giraudel
@access public
@param {Map} $map - Map
@param {Arglist} $keys - Key chain
@return {*} - Desired value
----------------------------------------
*/
/*
----------------------------------------
multi-cat()
----------------------------------------
Concatenate two lists
----------------------------------------
*/
/*
----------------------------------------
remove()
----------------------------------------
Remove a value from a list
----------------------------------------
*/
/*
----------------------------------------
smart-quote()
----------------------------------------
Quotes strings
Inspects `px`, `xs`, and `xl` numbers
Leaves bools as is
----------------------------------------
*/
/*
----------------------------------------
str-replace()
----------------------------------------
Replace any substring with another
string
----------------------------------------
*/
/*
----------------------------------------
str-split()
----------------------------------------
Split a string at a given separator
and convert into a list of substrings
----------------------------------------
*/
/*
----------------------------------------
strip-unit()
----------------------------------------
Remove the unit of a length
@author Hugo Giraudel
@param {Number} $number - Number to remove unit from
@return {Number} - Unitless number
----------------------------------------
*/
/*
----------------------------------------
base-to-map()
@TODO: Deprecate and delete
----------------------------------------
Convert a single base to a USWDS
value map.
Candidate for deprecation if we remove
isReadable
----------------------------------------
*/
/*
----------------------------------------
to-number()
----------------------------------------
Casts a string into a number
----------------------------------------
@param {String | Number} $value - Value to be parsed
@return {Number}
----------------------------------------
*/
/*
----------------------------------------
unpack()
----------------------------------------
Create lists of single items from lists
of lists.
----------------------------------------
(1, (2.1, 2.2), 3) -->
(1, 2.1, 2.2, 3)
----------------------------------------
*/
/*
----------------------------------------
color()
----------------------------------------
Derive a color from a color shortcode
----------------------------------------
*/
/*
----------------------------------------
color()
----------------------------------------
Derive a color from a color shortcode
----------------------------------------
*/
/*
----------------------------------------
color()
----------------------------------------
Derive a color from a color shortcode
----------------------------------------
*/
/*
----------------------------------------
set-theme-color()
----------------------------------------
Derive a color from a system color token
or a hex value
----------------------------------------
*/
/*
----------------------------------------
px-to-rem()
----------------------------------------
Converts a value in px to a value in rem
----------------------------------------
*/
/*
----------------------------------------
rem-to-px()
----------------------------------------
Converts a value in rem to a value in px
----------------------------------------
*/
/*
----------------------------------------
rem-to-user-em()
----------------------------------------
Converts a value in rem to a value in
[user-settings] em for use in media
queries
----------------------------------------
*/
/*
----------------------------------------
spacing-multiple()
----------------------------------------
Converts a spacing unit multiple into
the desired final units (currently rem)
----------------------------------------
*/
/*
----------------------------------------
units()
----------------------------------------
Converts a spacing unit into
the desired final units (currently rem)
----------------------------------------
*/
/*
----------------------------------------
number-to-token()
----------------------------------------
Converts an integer or numeric value
into a system value
Ex: 0.5 --> '05'
-1px --> 'neg-1px'
----------------------------------------
*/
/*
----------------------------------------
Project fonts
----------------------------------------
Collects font settings in a map for
looping.
----------------------------------------
*/
/*
----------------------------------------
Luminance ranges
----------------------------------------
*/
/*
----------------------------------------
ns()
----------------------------------------
Add a namesspace of $type if that
namespace is set to output
----------------------------------------
*/
/*
----------------------------------------
get-system-color()
----------------------------------------
Derive a system color from its
family, value, and vivid or a passed
variable that is, itself, a list
----------------------------------------
*/
/*
----------------------------------------
Line height
----------------------------------------
*/
/*
----------------------------------------
Measure
----------------------------------------
*/
/*
----------------------------------------
cap-height()
----------------------------------------
Get the cap height of a valid typeface
----------------------------------------
*/
/*
----------------------------------------
validate-typeface-token()
----------------------------------------
Check to see if a typeface-token exists.
Throw an error if a passed token does
not exist in the typeface-token map.
----------------------------------------
*/
/*
----------------------------------------
convert-to-font-type()
----------------------------------------
Converts a font-role token into a
font-type token. Leaves font-type tokens
unchanged.
----------------------------------------
*/
/*
----------------------------------------
font-sources()
----------------------------------------
Outputs a list of font sources used in
a @font-face declaration.
$theme-font-browser-compatibility: true - output woff2, woff, ttf
$theme-font-browser-compatibility: false - output woff2
@param stem: string - [font path]/[custom-src.dir]/[custom-src.[style].[weight]]
@output: string
filetypes must be one of the filetypes set in variables/$project-font-face-filetypes (woff, woff2, ttf)
----------------------------------------
*/
/*
----------------------------------------
get-font-stack()
----------------------------------------
Get a font stack from a style- or
role-based font token.
----------------------------------------
*/
/*
----------------------------------------
get-typeface-token()
----------------------------------------
Get a typeface token from a font-type or
font-role token.
----------------------------------------
*/
/*
----------------------------------------
normalize-type-scale()
----------------------------------------
Normalizes a specific face's optical size
to a set target
----------------------------------------
*/
/*
----------------------------------------
system-type-scale()
----------------------------------------
Get a value from the system type scale
----------------------------------------
*/
/*
----------------------------------------
Easing
----------------------------------------
*/
/* deprecated.scss
---
Occasionally the design system will deprecate
old variables or functionality. If we replace
the old functionality with something new, this is a
place to connect the old functionality to the
new functionality, in the service of better
continuity and backwards compatibility within a
major release cycle.
Note the USWDS version where we deprecated the
old functionality in a comment.
Be sure to update notifications.scss.
This file should started fresh at each
major version.
*/
/*
----------------------------------------
advanced-color()
----------------------------------------
Derive a color from a color triplet:
[family], [grade], [variant]
----------------------------------------
*/
/*
----------------------------------------
calculate-grade()
----------------------------------------
Derive the grade equivalent any color,
even non-token colors
----------------------------------------
*/
/*
----------------------------------------
color-token-assignment()
----------------------------------------
Get the system token equivalent of any
theme color token
----------------------------------------
*/
/*
----------------------------------------
is-system-color-token()
----------------------------------------
Return whether a token is a system
color token
----------------------------------------
*/
/*
----------------------------------------
is-theme-color-token()
----------------------------------------
Return whether a token is a theme
color token
----------------------------------------
*/
/*
----------------------------------------
color-token-family()
----------------------------------------
Returns the family of a color token.
Returns: color-family
color-token-family("accent-warm-vivid")
> "accent-warm"
color-token-family("red-50v")
> "red"
color-token-variant(("red", 50, "vivid"))
> "red"
----------------------------------------
*/
/*
----------------------------------------
decompose()
----------------------------------------
Convert a color token into into a list
of form [family], [grade], [variant]
Vivid variants return "vivid" as the
variant.
If neither grade nor variant exists,
returns 'null'
----------------------------------------
*/
/*
----------------------------------------
color-token-family()
----------------------------------------
Returns the family of a color token.
Returns: color-family
color-token-family("accent-warm-vivid")
> "accent-warm"
color-token-family("red-50v")
> "red"
color-token-variant(("red", 50, "vivid"))
> "red"
----------------------------------------
*/
/*
----------------------------------------
color-token-grade()
----------------------------------------
Returns the grade of a USWDS color token.
Returns: color-grade
color-token-grade("accent-warm")
> "root"
color-token-grade("accent-warm-vivid")
> "root"
color-token-grade("accent-warm-darker")
> "darker"
color-token-grade("red-50v")
> 50
color-token-variant(("red", 50, "vivid"))
> 50
----------------------------------------
*/
/*
----------------------------------------
color-token-family()
----------------------------------------
Returns the family of a color token.
Returns: color-family
color-token-family("accent-warm-vivid")
> "accent-warm"
color-token-family("red-50v")
> "red"
color-token-variant(("red", 50, "vivid"))
> "red"
----------------------------------------
*/
/*
----------------------------------------
is-color-token()
----------------------------------------
Returns whether a given string is a
USWDS color token.
----------------------------------------
*/
/*
----------------------------------------
pow()
----------------------------------------
Raises a unitless number to the power
of another unitless number
Includes helper functions
----------------------------------------
*/
/*
----------------------------------------
Helper functions
----------------------------------------
*/
/* factorial()
----------------------------------------
*/
/* summation()
----------------------------------------
*/
/* exp-maclaurin()
----------------------------------------
*/
/* ln()
----------------------------------------
*/
/*
----------------------------------------
color-token-type()
----------------------------------------
Returns the type of a color token.
Returns: "system" | "theme"
----------------------------------------
*/
/*
----------------------------------------
color-token-variant()
----------------------------------------
Returns the variant of color token.
Returns: "vivid" | false
color-token-variant("accent-warm")
> false
color-token-variant("accent-warm-vivid")
> "vivid"
color-token-variant("red-50v")
> "vivid"
color-token-variant(("red", 50, "vivid"))
> "vivid"
----------------------------------------
*/
/*
----------------------------------------
magic-number()
----------------------------------------
Returns the magic number of two color
grades. Takes numbers or color tokens.
magic-number(50, 10)
return: 40
magic-number("red-50", "red-10")
return: 40
----------------------------------------
*/
/*
----------------------------------------
is-accessible-magic-number()
----------------------------------------
Returns whether two grades achieve
specified target color contrast
Returns: true | false
is-accessible-magic-number(10, 50, "AA")
> false
is-accessible-magic-number(10, 60, "AA")
> true
----------------------------------------
*/
/*
----------------------------------------
wcag-magic-number()
----------------------------------------
Returns the magic number of a specific
wcag grade:
"AA"
"AA-Large"
"AAA"
wcag-magic-number("AA")
> 50
----------------------------------------
*/
/*
----------------------------------------
get-link-tokens-from-bg()
----------------------------------------
Get accessible link colors for a given
background color
returns: link-token, hover-token
get-link-tokens-from-bg(
"black",
"red-60",
"red-10",
"AA")
> "red-10", "red-5"
get-link-tokens-from-bg(
"black",
"red-60v",
"red-10v",
"AA-large")
> "red-60v", "red-50v"
get-link-tokens-from-bg(
"black",
"red-5v",
"red-60v",
"AA")
> "red-5v", "white"
get-link-tokens-from-bg(
"black",
"white",
"red-60v",
"AA")
> "white", "white"
----------------------------------------
*/
/*
----------------------------------------
next-token()
----------------------------------------
Returns next "darker" or "lighter" color
token of the same token type and variant.
Returns: color-token | false
next-token("accent-warm", "lighter")
> "accent-warm-light"
next-token("gray-10", "lighter")
> "gray-5"
next-token("gray-5", "lighter")
> "white"
next-token("white", "lighter")
> false
next-token("red-50v", "darker")
> "red-60v"
next-token("red-50", "darker")
> "red-60"
next-token("red-80v", "darker")
> "red-90"
next-token("red-90", "darker")
> "black"
next-token("white", "darker")
> "gray-5"
next-token("black", "lighter")
> "gray-90"
----------------------------------------
*/
/*
----------------------------------------
test-colors()
----------------------------------------
Check to see if all system colors
fall between the proper relative
luminance range for their grade.
Has a couple quirks, as the luminance()
function returns slightly different
results than expected.
----------------------------------------
*/
/*
----------------------------------------
columns()
----------------------------------------
outputs a grid-col number based on
the number of desired columns in the
12-column grid
Ex: columns(2) --> 6
grid-col(columns(2))
----------------------------------------
*/
/*
----------------------------------------
USWDS Properties
----------------------------------------
*/
/*
----------------------------------------
get-uswds-value()
----------------------------------------
Finds and outputs a value from the
USWDS standard values.
Used to build other standard utility
functions and mixins.
----------------------------------------
*/
/*
----------------------------------------
get-standard-values()
----------------------------------------
Gets a map of USWDS standard values
for a property
----------------------------------------
*/
/*
----------------------------------------
border-radius()
----------------------------------------
Get a border-radius from the system
border-radii
----------------------------------------
*/
/*
----------------------------------------
font-weight()
fw()
----------------------------------------
Get a font-weight value from the
system font-weight
----------------------------------------
*/
/*
----------------------------------------
feature()
----------------------------------------
Gets a valid USWDS font feature setting
----------------------------------------
*/
/*
----------------------------------------
flex()
----------------------------------------
Gets a valid USWDS flex value
----------------------------------------
*/
/*
----------------------------------------
font-family()
family()
----------------------------------------
Get a font-family stack from a
role-based or type-based font family
----------------------------------------
*/
/*
----------------------------------------
letter-spacing()
ls()
----------------------------------------
Get a letter-spacing value from the
system letter-spacing
----------------------------------------
*/
/*
----------------------------------------
measure()
----------------------------------------
Gets a valid USWDS reading line length
----------------------------------------
*/
/*
----------------------------------------
opacity()
----------------------------------------
Get an opacity from the system
opacities
----------------------------------------
*/
/*
----------------------------------------
order()
----------------------------------------
Get an order value from the
system orders
----------------------------------------
*/
/*
----------------------------------------
radius()
----------------------------------------
Get a border-radius value from the
system letter-spacing
----------------------------------------
*/
/*
----------------------------------------
font-size()
----------------------------------------
Get type scale value from a [family] and
[scale]
----------------------------------------
*/
/*
----------------------------------------
z-index()
z()
----------------------------------------
Get a z-index value from the
system z-index
----------------------------------------
*/
/*
----------------------------------------
utility-font()
----------------------------------------
Get a normalized font-size in rem from
a family and a type size in either
system scale or project scale
----------------------------------------
Not the public-facing function.
Used for building the utilities and
withholds certain errors.
----------------------------------------
*/
/*
----------------------------------------
family()
----------------------------------------
Get a font-family stack
----------------------------------------
*/
/*
----------------------------------------
size()
----------------------------------------
Get a normalized font-size in rem from
a family and a type size in either
system scale or project scale
----------------------------------------
*/
/*
----------------------------------------
font()
----------------------------------------
Get a font-family stack
AND
Get a normalized font-size in rem from
a family and a type size in either
system scale or project scale
----------------------------------------
*/
/*
----------------------------------------
typeset()
----------------------------------------
Sets:
- family
- size
- line-height
----------------------------------------
*/
/* stylelint-disable max-nesting-depth */
/*
----------------------------------------
@render-pseudoclass
----------------------------------------
Build a pseucoclass utiliy from values
calculated in the @render-utilities-in
loop
----------------------------------------
*/
/*
----------------------------------------
@render-utility
----------------------------------------
Build a utility from values calculated
in the @render-utilities-in loop
----------------------------------------
TODO: Determine the proper use of
unquote() in the following. Changed to
account for a 'interpolation near
operators will be simplified in a
future version of Sass' warning.
----------------------------------------
*/
/*
----------------------------------------
@render-utilities-in
----------------------------------------
The master loop that sets the building
blocks of utilities from the values
in individual rule settings and loops
through all possible variants
----------------------------------------
*/
/* stylelint-enable */
/* notifications.scss
---
Adds a notification at the top of each USWDS
compile. Use this file for important notifications
and updates to the design system.
This file should started fresh at each
major version.
*/
/* prettier-ignore */
/* prettier-ignore */
/*
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
========================================
========================================
========================================
----------------------------------------
GENERAL SETTINGS
----------------------------------------
Read more about settings and
USWDS style tokens in the documentation:
https://designsystem.digital.gov/design-tokens
----------------------------------------
*/
/*
----------------------------------------
Image path
----------------------------------------
Relative image file path
----------------------------------------
*/
/*
----------------------------------------
Show compile warnings
----------------------------------------
Show Sass warnings when functions and
mixins use non-standard tokens.
AND
Show updates and notifications.
----------------------------------------
*/
/*
----------------------------------------
Namespace
----------------------------------------
*/
/*
----------------------------------------
Prefix separator
----------------------------------------
Set the character the separates
responsive and state prefixes from the
main class name.
The default (":") needs to be preceded
by two backslashes to be properly
escaped.
----------------------------------------
*/
/*
----------------------------------------
Layout grid
----------------------------------------
Should the layout grid classes output
with !important
----------------------------------------
*/
/*
----------------------------------------
Border box sizing
----------------------------------------
When set to true, sets the box-sizing
property of all site elements to
`border-box`.
----------------------------------------
*/
/*
----------------------------------------
Focus styles
----------------------------------------
*/
/*
----------------------------------------
Icons
----------------------------------------
*/
/*
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
========================================
========================================
========================================
----------------------------------------
TYPOGRAPHY SETTINGS
----------------------------------------
Read more about settings and
USWDS typography tokens in the documentation:
https://designsystem.digital.gov/design-tokens/typesetting/overview/
----------------------------------------
*/
/*
----------------------------------------
Root font size
----------------------------------------
Setting $theme-respect-user-font-size to
true sets the root font size to 100% and
uses ems for media queries
----------------------------------------
$theme-root-font-size only applies when
$theme-respect-user-font-size is set to
false.
This will set the root font size
as a specific px value and use px values
for media queries.
Accepts true or false
----------------------------------------
*/
/*
----------------------------------------
Global styles
----------------------------------------
Adds basic styling for the following
unclassed elements:
- paragraph: paragraph text
- link: links
- content: paragraph text, links,
headings, lists, and tables
----------------------------------------
*/
/*
----------------------------------------
Broswer compatibility mode
----------------------------------------
When true, outputs woff and ttf font
formats in addition to woff2
----------------------------------------
*/
/*
----------------------------------------
Font path
----------------------------------------
Relative font file path
----------------------------------------
*/
/*
----------------------------------------
Custom typeface tokens
----------------------------------------
Add a new custom typeface token if
your project uses a typeface not already
defined by USWDS.
----------------------------------------
USWDS defines the following tokens
by default:
----------------------------------------
'georgia'
'helvetica'
'merriweather'
'open-sans'
'public-sans'
'roboto-mono'
'source-sans-pro'
'system'
'tahoma'
'verdana'
----------------------------------------
Add as many new tokens as you have
custom typefaces. Reference your new
token(s) in the type-based font settings
using the quoted name of the token.
For example:
$theme-font-type-cond: 'example-font-token';
display-name:
The display name of your font
cap-height:
The height of a 500px `N` in Sketch
----------------------------------------
You should change `example-[style]-token`
names to something more descriptive.
----------------------------------------
*/
/*
----------------------------------------
Type-based font settings
----------------------------------------
Set the type-based tokens for your
project from the following tokens,
or from any new font tokens you added in
$theme-typeface-tokens.
----------------------------------------
'georgia'
'helvetica'
'merriweather'
'open-sans'
'public-sans'
'roboto-mono'
'source-sans-pro'
'system'
'tahoma'
'verdana'
----------------------------------------
*/
/*
----------------------------------------
Custom font stacks
----------------------------------------
Add custom font stacks to any of the
type-based fonts. Any USWDS typeface
token already has a default stack.
Custom stacks don't need to include the
font's display name. It will
automatically appear at the start of
the stack.
----------------------------------------
Example:
$theme-font-type-sans: 'source-sans-pro';
$theme-font-sans-custom-stack: "Helvetica Neue", Helvetica, Arial, sans;
Output:
font-family: "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, sans;
----------------------------------------
*/
/*
----------------------------------------
Add any custom font source files
----------------------------------------
If you want USWDS to generate additional
@font-face declarations, add your font
data below, following the example that
follows.
----------------------------------------
USWDS automatically generates @font-face
declarations for the following
'merriweather'
'public-sans'
'roboto-mono'
'source-sans-pro'
These typefaces not require custom
source files.
----------------------------------------
EXAMPLE
- dir:
Directory relative to $theme-font-path
- This directory should include fonts saved as
.woff2
ExampleSerif-Normal.woff2
$theme-font-serif-custom-src: (
dir: 'custom/example-serif',
roman: (
100: false,
200: false,
300: 'ExampleSerif-Light',
400: 'ExampleSerif-Normal',
500: false,
600: false,
700: 'ExampleSerif-Bold',
800: false,
900: false,
),
italic: (
100: false,
200: false,
300: 'ExampleSerif-LightItalic',
400: 'ExampleSerif-Italic',
500: false,
600: false,
700: 'ExampleSerif-BoldItalic',
800: false,
900: false,
),
);
----------------------------------------
*/
/*
----------------------------------------
Role-based font settings
----------------------------------------
Set the role-based tokens for your
project from the following font-type
tokens.
----------------------------------------
'cond'
'icon'
'lang'
'mono'
'sans'
'serif'
----------------------------------------
*/
/*
----------------------------------------
Type scale
----------------------------------------
Define your project's type scale using
values from the USWDS system type scale
1-20
----------------------------------------
*/
/*
----------------------------------------
Font weights
----------------------------------------
Assign weights 100-900
Or use `false` for unneeded weights.
----------------------------------------
*/
/*
----------------------------------------
General typography settings
----------------------------------------
Type scale tokens
----------------------------------------
micro: 10px
1: 12px
2: 13px
3: 14px
4: 15px
5: 16px
6: 17px
7: 18px
8: 20px
9: 22px
10: 24px
11: 28px
12: 32px
13: 36px
14: 40px
15: 48px
16: 56px
17: 64px
18: 80px
19: 120px
20: 140px
----------------------------------------
Line height tokens
----------------------------------------
1: 1
2: 1.15
3: 1.35
4: 1.5
5: 1.62
6: 1.75
----------------------------------------
Font role tokens
----------------------------------------
'ui'
'heading'
'body'
'code'
'alt'
----------------------------------------
Measure (max-width) tokens
----------------------------------------
1: 44ex
2: 60ex
3: 64ex
4: 68ex
5: 74ex
6: 88ex
none: none
----------------------------------------
*/
/*
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
========================================
========================================
========================================
----------------------------------------
COLOR SETTINGS
----------------------------------------
Read more about settings and
USWDS color tokens in the documentation:
https://designsystem.digital.gov/design-tokens/color
----------------------------------------
*/
/*
----------------------------------------
Theme palette colors
----------------------------------------
*/
/*
----------------------------------------
State palette colors
----------------------------------------
*/
/*
----------------------------------------
General colors
----------------------------------------
*/
/*
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
========================================
========================================
========================================
----------------------------------------
COMPONENT SETTINGS
----------------------------------------
Read more about settings and
USWDS style tokens in the documentation:
https://designsystem.digital.gov/design-tokens
----------------------------------------
*/
/*
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
========================================
========================================
========================================
----------------------------------------
SPACING SETTINGS
----------------------------------------
Read more about settings and
USWDS spacing units tokens in the
documentation:
https://designsystem.digital.gov/design-tokens/spacing-units
----------------------------------------
*/
/*
----------------------------------------
Border radius
----------------------------------------
2px 2px
0.5 4px
1 8px
1.5 12px
2 16px
2.5 20px
3 24px
4 32px
5 40px
6 48px
7 56px
8 64px
9 72px
----------------------------------------
*/
/*
----------------------------------------
Column gap
----------------------------------------
2px 2px
0.5 4px
1 8px
2 16px
3 24px
4 32px
5 40px
6 48px
----------------------------------------
*/
/*
----------------------------------------
Grid container max-width
----------------------------------------
mobile
mobile-lg
tablet
tablet-lg
desktop
desktop-lg
widescreen
----------------------------------------
*/
/*
----------------------------------------
Site
----------------------------------------
*/
/*
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
========================================
========================================
========================================
----------------------------------------
UTILITIES SETTINGS
----------------------------------------
Read more about settings and
USWDS utilities in the documentation:
https://designsystem.digital.gov/utilities
----------------------------------------
*/
/*
----------------------------------------
Utility breakpoints
----------------------------------------
Which breakpoints does your project
need? Select as `true` any breakpoint
used by utilities or layout grid
----------------------------------------
*/
/*
----------------------------------------
Global colors
----------------------------------------
The following palettes will be added to
- background-color
- border-color
- color
- text-decoration-color
----------------------------------------
*/
/*
----------------------------------------
Settings
----------------------------------------
*/
/*
----------------------------------------
Values
----------------------------------------
*/
/*
----------------------------------------
color()
----------------------------------------
Derive a color from a color shortcode
----------------------------------------
*/
/*
----------------------------------------
append-important()
----------------------------------------
Append `!important` to a list
----------------------------------------
*/
/*
----------------------------------------
get-last()
----------------------------------------
Return the last item of a list,
Return null if the value is null
----------------------------------------
*/
/*
----------------------------------------
de-list()
----------------------------------------
Transform a one-element list or arglist
into that single element.
----------------------------------------
(1) => 1
((1)) => (1)
----------------------------------------
*/
/*
----------------------------------------
error-not-token()
----------------------------------------
Returns a common not-a-token error.
----------------------------------------
*/
/*
----------------------------------------
uswds-error()
----------------------------------------
Allow the system to pass an error as text
to test error states in unit testing
----------------------------------------
*/
/*
----------------------------------------
get-default()
----------------------------------------
Returns the default value from a map
of project defaults
get-default("bg-color")
> $theme-body-background-color
----------------------------------------
*/
/*
----------------------------------------
has-important()
----------------------------------------
Check to see if `!important` is
being passed in a mixin's props
----------------------------------------
*/
/*
----------------------------------------
map-collect()
----------------------------------------
Collect multiple maps into a single
large map
source: https://gist.github.com/bigglesrocks/d75091700f8f2be5abfe
----------------------------------------
*/
/*
----------------------------------------
map-deep-get()
----------------------------------------
@author Hugo Giraudel
@access public
@param {Map} $map - Map
@param {Arglist} $keys - Key chain
@return {*} - Desired value
----------------------------------------
*/
/*
----------------------------------------
multi-cat()
----------------------------------------
Concatenate two lists
----------------------------------------
*/
/*
----------------------------------------
remove()
----------------------------------------
Remove a value from a list
----------------------------------------
*/
/*
----------------------------------------
smart-quote()
----------------------------------------
Quotes strings
Inspects `px`, `xs`, and `xl` numbers
Leaves bools as is
----------------------------------------
*/
/*
----------------------------------------
str-replace()
----------------------------------------
Replace any substring with another
string
----------------------------------------
*/
/*
----------------------------------------
str-split()
----------------------------------------
Split a string at a given separator
and convert into a list of substrings
----------------------------------------
*/
/*
----------------------------------------
strip-unit()
----------------------------------------
Remove the unit of a length
@author Hugo Giraudel
@param {Number} $number - Number to remove unit from
@return {Number} - Unitless number
----------------------------------------
*/
/*
----------------------------------------
base-to-map()
@TODO: Deprecate and delete
----------------------------------------
Convert a single base to a USWDS
value map.
Candidate for deprecation if we remove
isReadable
----------------------------------------
*/
/*
----------------------------------------
to-number()
----------------------------------------
Casts a string into a number
----------------------------------------
@param {String | Number} $value - Value to be parsed
@return {Number}
----------------------------------------
*/
/*
----------------------------------------
unpack()
----------------------------------------
Create lists of single items from lists
of lists.
----------------------------------------
(1, (2.1, 2.2), 3) -->
(1, 2.1, 2.2, 3)
----------------------------------------
*/
/*
----------------------------------------
color()
----------------------------------------
Derive a color from a color shortcode
----------------------------------------
*/
/*
----------------------------------------
color()
----------------------------------------
Derive a color from a color shortcode
----------------------------------------
*/
/*
----------------------------------------
color()
----------------------------------------
Derive a color from a color shortcode
----------------------------------------
*/
/*
----------------------------------------
set-theme-color()
----------------------------------------
Derive a color from a system color token
or a hex value
----------------------------------------
*/
/*
----------------------------------------
px-to-rem()
----------------------------------------
Converts a value in px to a value in rem
----------------------------------------
*/
/*
----------------------------------------
rem-to-px()
----------------------------------------
Converts a value in rem to a value in px
----------------------------------------
*/
/*
----------------------------------------
rem-to-user-em()
----------------------------------------
Converts a value in rem to a value in
[user-settings] em for use in media
queries
----------------------------------------
*/
/*
----------------------------------------
spacing-multiple()
----------------------------------------
Converts a spacing unit multiple into
the desired final units (currently rem)
----------------------------------------
*/
/*
----------------------------------------
units()
----------------------------------------
Converts a spacing unit into
the desired final units (currently rem)
----------------------------------------
*/
/*
----------------------------------------
number-to-token()
----------------------------------------
Converts an integer or numeric value
into a system value
Ex: 0.5 --> '05'
-1px --> 'neg-1px'
----------------------------------------
*/
/*
----------------------------------------
Project fonts
----------------------------------------
Collects font settings in a map for
looping.
----------------------------------------
*/
/*
----------------------------------------
Luminance ranges
----------------------------------------
*/
/*
----------------------------------------
ns()
----------------------------------------
Add a namesspace of $type if that
namespace is set to output
----------------------------------------
*/
/*
----------------------------------------
get-system-color()
----------------------------------------
Derive a system color from its
family, value, and vivid or a passed
variable that is, itself, a list
----------------------------------------
*/
/*
----------------------------------------
Line height
----------------------------------------
*/
/*
----------------------------------------
Measure
----------------------------------------
*/
/*
----------------------------------------
cap-height()
----------------------------------------
Get the cap height of a valid typeface
----------------------------------------
*/
/*
----------------------------------------
validate-typeface-token()
----------------------------------------
Check to see if a typeface-token exists.
Throw an error if a passed token does
not exist in the typeface-token map.
----------------------------------------
*/
/*
----------------------------------------
convert-to-font-type()
----------------------------------------
Converts a font-role token into a
font-type token. Leaves font-type tokens
unchanged.
----------------------------------------
*/
/*
----------------------------------------
font-sources()
----------------------------------------
Outputs a list of font sources used in
a @font-face declaration.
$theme-font-browser-compatibility: true - output woff2, woff, ttf
$theme-font-browser-compatibility: false - output woff2
@param stem: string - [font path]/[custom-src.dir]/[custom-src.[style].[weight]]
@output: string
filetypes must be one of the filetypes set in variables/$project-font-face-filetypes (woff, woff2, ttf)
----------------------------------------
*/
/*
----------------------------------------
get-font-stack()
----------------------------------------
Get a font stack from a style- or
role-based font token.
----------------------------------------
*/
/*
----------------------------------------
get-typeface-token()
----------------------------------------
Get a typeface token from a font-type or
font-role token.
----------------------------------------
*/
/*
----------------------------------------
normalize-type-scale()
----------------------------------------
Normalizes a specific face's optical size
to a set target
----------------------------------------
*/
/*
----------------------------------------
system-type-scale()
----------------------------------------
Get a value from the system type scale
----------------------------------------
*/
/*
----------------------------------------
Easing
----------------------------------------
*/
/* deprecated.scss
---
Occasionally the design system will deprecate
old variables or functionality. If we replace
the old functionality with something new, this is a
place to connect the old functionality to the
new functionality, in the service of better
continuity and backwards compatibility within a
major release cycle.
Note the USWDS version where we deprecated the
old functionality in a comment.
Be sure to update notifications.scss.
This file should started fresh at each
major version.
*/
/*
----------------------------------------
advanced-color()
----------------------------------------
Derive a color from a color triplet:
[family], [grade], [variant]
----------------------------------------
*/
/*
----------------------------------------
calculate-grade()
----------------------------------------
Derive the grade equivalent any color,
even non-token colors
----------------------------------------
*/
/*
----------------------------------------
color-token-assignment()
----------------------------------------
Get the system token equivalent of any
theme color token
----------------------------------------
*/
/*
----------------------------------------
is-system-color-token()
----------------------------------------
Return whether a token is a system
color token
----------------------------------------
*/
/*
----------------------------------------
is-theme-color-token()
----------------------------------------
Return whether a token is a theme
color token
----------------------------------------
*/
/*
----------------------------------------
color-token-family()
----------------------------------------
Returns the family of a color token.
Returns: color-family
color-token-family("accent-warm-vivid")
> "accent-warm"
color-token-family("red-50v")
> "red"
color-token-variant(("red", 50, "vivid"))
> "red"
----------------------------------------
*/
/*
----------------------------------------
decompose()
----------------------------------------
Convert a color token into into a list
of form [family], [grade], [variant]
Vivid variants return "vivid" as the
variant.
If neither grade nor variant exists,
returns 'null'
----------------------------------------
*/
/*
----------------------------------------
color-token-family()
----------------------------------------
Returns the family of a color token.
Returns: color-family
color-token-family("accent-warm-vivid")
> "accent-warm"
color-token-family("red-50v")
> "red"
color-token-variant(("red", 50, "vivid"))
> "red"
----------------------------------------
*/
/*
----------------------------------------
color-token-grade()
----------------------------------------
Returns the grade of a USWDS color token.
Returns: color-grade
color-token-grade("accent-warm")
> "root"
color-token-grade("accent-warm-vivid")
> "root"
color-token-grade("accent-warm-darker")
> "darker"
color-token-grade("red-50v")
> 50
color-token-variant(("red", 50, "vivid"))
> 50
----------------------------------------
*/
/*
----------------------------------------
color-token-family()
----------------------------------------
Returns the family of a color token.
Returns: color-family
color-token-family("accent-warm-vivid")
> "accent-warm"
color-token-family("red-50v")
> "red"
color-token-variant(("red", 50, "vivid"))
> "red"
----------------------------------------
*/
/*
----------------------------------------
is-color-token()
----------------------------------------
Returns whether a given string is a
USWDS color token.
----------------------------------------
*/
/*
----------------------------------------
pow()
----------------------------------------
Raises a unitless number to the power
of another unitless number
Includes helper functions
----------------------------------------
*/
/*
----------------------------------------
Helper functions
----------------------------------------
*/
/* factorial()
----------------------------------------
*/
/* summation()
----------------------------------------
*/
/* exp-maclaurin()
----------------------------------------
*/
/* ln()
----------------------------------------
*/
/*
----------------------------------------
color-token-type()
----------------------------------------
Returns the type of a color token.
Returns: "system" | "theme"
----------------------------------------
*/
/*
----------------------------------------
color-token-variant()
----------------------------------------
Returns the variant of color token.
Returns: "vivid" | false
color-token-variant("accent-warm")
> false
color-token-variant("accent-warm-vivid")
> "vivid"
color-token-variant("red-50v")
> "vivid"
color-token-variant(("red", 50, "vivid"))
> "vivid"
----------------------------------------
*/
/*
----------------------------------------
magic-number()
----------------------------------------
Returns the magic number of two color
grades. Takes numbers or color tokens.
magic-number(50, 10)
return: 40
magic-number("red-50", "red-10")
return: 40
----------------------------------------
*/
/*
----------------------------------------
is-accessible-magic-number()
----------------------------------------
Returns whether two grades achieve
specified target color contrast
Returns: true | false
is-accessible-magic-number(10, 50, "AA")
> false
is-accessible-magic-number(10, 60, "AA")
> true
----------------------------------------
*/
/*
----------------------------------------
wcag-magic-number()
----------------------------------------
Returns the magic number of a specific
wcag grade:
"AA"
"AA-Large"
"AAA"
wcag-magic-number("AA")
> 50
----------------------------------------
*/
/*
----------------------------------------
get-link-tokens-from-bg()
----------------------------------------
Get accessible link colors for a given
background color
returns: link-token, hover-token
get-link-tokens-from-bg(
"black",
"red-60",
"red-10",
"AA")
> "red-10", "red-5"
get-link-tokens-from-bg(
"black",
"red-60v",
"red-10v",
"AA-large")
> "red-60v", "red-50v"
get-link-tokens-from-bg(
"black",
"red-5v",
"red-60v",
"AA")
> "red-5v", "white"
get-link-tokens-from-bg(
"black",
"white",
"red-60v",
"AA")
> "white", "white"
----------------------------------------
*/
/*
----------------------------------------
next-token()
----------------------------------------
Returns next "darker" or "lighter" color
token of the same token type and variant.
Returns: color-token | false
next-token("accent-warm", "lighter")
> "accent-warm-light"
next-token("gray-10", "lighter")
> "gray-5"
next-token("gray-5", "lighter")
> "white"
next-token("white", "lighter")
> false
next-token("red-50v", "darker")
> "red-60v"
next-token("red-50", "darker")
> "red-60"
next-token("red-80v", "darker")
> "red-90"
next-token("red-90", "darker")
> "black"
next-token("white", "darker")
> "gray-5"
next-token("black", "lighter")
> "gray-90"
----------------------------------------
*/
/*
----------------------------------------
test-colors()
----------------------------------------
Check to see if all system colors
fall between the proper relative
luminance range for their grade.
Has a couple quirks, as the luminance()
function returns slightly different
results than expected.
----------------------------------------
*/
/*
----------------------------------------
columns()
----------------------------------------
outputs a grid-col number based on
the number of desired columns in the
12-column grid
Ex: columns(2) --> 6
grid-col(columns(2))
----------------------------------------
*/
/*
----------------------------------------
USWDS Properties
----------------------------------------
*/
/*
----------------------------------------
get-uswds-value()
----------------------------------------
Finds and outputs a value from the
USWDS standard values.
Used to build other standard utility
functions and mixins.
----------------------------------------
*/
/*
----------------------------------------
get-standard-values()
----------------------------------------
Gets a map of USWDS standard values
for a property
----------------------------------------
*/
/*
----------------------------------------
border-radius()
----------------------------------------
Get a border-radius from the system
border-radii
----------------------------------------
*/
/*
----------------------------------------
font-weight()
fw()
----------------------------------------
Get a font-weight value from the
system font-weight
----------------------------------------
*/
/*
----------------------------------------
feature()
----------------------------------------
Gets a valid USWDS font feature setting
----------------------------------------
*/
/*
----------------------------------------
flex()
----------------------------------------
Gets a valid USWDS flex value
----------------------------------------
*/
/*
----------------------------------------
font-family()
family()
----------------------------------------
Get a font-family stack from a
role-based or type-based font family
----------------------------------------
*/
/*
----------------------------------------
letter-spacing()
ls()
----------------------------------------
Get a letter-spacing value from the
system letter-spacing
----------------------------------------
*/
/*
----------------------------------------
measure()
----------------------------------------
Gets a valid USWDS reading line length
----------------------------------------
*/
/*
----------------------------------------
opacity()
----------------------------------------
Get an opacity from the system
opacities
----------------------------------------
*/
/*
----------------------------------------
order()
----------------------------------------
Get an order value from the
system orders
----------------------------------------
*/
/*
----------------------------------------
radius()
----------------------------------------
Get a border-radius value from the
system letter-spacing
----------------------------------------
*/
/*
----------------------------------------
font-size()
----------------------------------------
Get type scale value from a [family] and
[scale]
----------------------------------------
*/
/*
----------------------------------------
z-index()
z()
----------------------------------------
Get a z-index value from the
system z-index
----------------------------------------
*/
/*
----------------------------------------
utility-font()
----------------------------------------
Get a normalized font-size in rem from
a family and a type size in either
system scale or project scale
----------------------------------------
Not the public-facing function.
Used for building the utilities and
withholds certain errors.
----------------------------------------
*/
/*
----------------------------------------
family()
----------------------------------------
Get a font-family stack
----------------------------------------
*/
/*
----------------------------------------
size()
----------------------------------------
Get a normalized font-size in rem from
a family and a type size in either
system scale or project scale
----------------------------------------
*/
/*
----------------------------------------
font()
----------------------------------------
Get a font-family stack
AND
Get a normalized font-size in rem from
a family and a type size in either
system scale or project scale
----------------------------------------
*/
/*
----------------------------------------
typeset()
----------------------------------------
Sets:
- family
- size
- line-height
----------------------------------------
*/
/* stylelint-disable max-nesting-depth */
/*
----------------------------------------
@render-pseudoclass
----------------------------------------
Build a pseucoclass utiliy from values
calculated in the @render-utilities-in
loop
----------------------------------------
*/
/*
----------------------------------------
@render-utility
----------------------------------------
Build a utility from values calculated
in the @render-utilities-in loop
----------------------------------------
TODO: Determine the proper use of
unquote() in the following. Changed to
account for a 'interpolation near
operators will be simplified in a
future version of Sass' warning.
----------------------------------------
*/
/*
----------------------------------------
@render-utilities-in
----------------------------------------
The master loop that sets the building
blocks of utilities from the values
in individual rule settings and loops
through all possible variants
----------------------------------------
*/
/* stylelint-enable */
/* notifications.scss
---
Adds a notification at the top of each USWDS
compile. Use this file for important notifications
and updates to the design system.
This file should started fresh at each
major version.
*/
/* prettier-ignore */
/* prettier-ignore */
/* stylelint-disable */
/* stylelint-enable */
/*
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
========================================
========================================
========================================
----------------------------------------
GENERAL SETTINGS
----------------------------------------
Read more about settings and
USWDS style tokens in the documentation:
https://designsystem.digital.gov/design-tokens
----------------------------------------
*/
/*
----------------------------------------
Image path
----------------------------------------
Relative image file path
----------------------------------------
*/
/*
----------------------------------------
Show compile warnings
----------------------------------------
Show Sass warnings when functions and
mixins use non-standard tokens.
AND
Show updates and notifications.
----------------------------------------
*/
/*
----------------------------------------
Namespace
----------------------------------------
*/
/*
----------------------------------------
Prefix separator
----------------------------------------
Set the character the separates
responsive and state prefixes from the
main class name.
The default (":") needs to be preceded
by two backslashes to be properly
escaped.
----------------------------------------
*/
/*
----------------------------------------
Layout grid
----------------------------------------
Should the layout grid classes output
with !important
----------------------------------------
*/
/*
----------------------------------------
Border box sizing
----------------------------------------
When set to true, sets the box-sizing
property of all site elements to
`border-box`.
----------------------------------------
*/
/*
----------------------------------------
Focus styles
----------------------------------------
*/
/*
----------------------------------------
Icons
----------------------------------------
*/
/*
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
========================================
========================================
========================================
----------------------------------------
TYPOGRAPHY SETTINGS
----------------------------------------
Read more about settings and
USWDS typography tokens in the documentation:
https://designsystem.digital.gov/design-tokens/typesetting/overview/
----------------------------------------
*/
/*
----------------------------------------
Root font size
----------------------------------------
Setting $theme-respect-user-font-size to
true sets the root font size to 100% and
uses ems for media queries
----------------------------------------
$theme-root-font-size only applies when
$theme-respect-user-font-size is set to
false.
This will set the root font size
as a specific px value and use px values
for media queries.
Accepts true or false
----------------------------------------
*/
/*
----------------------------------------
Global styles
----------------------------------------
Adds basic styling for the following
unclassed elements:
- paragraph: paragraph text
- link: links
- content: paragraph text, links,
headings, lists, and tables
----------------------------------------
*/
/*
----------------------------------------
Broswer compatibility mode
----------------------------------------
When true, outputs woff and ttf font
formats in addition to woff2
----------------------------------------
*/
/*
----------------------------------------
Font path
----------------------------------------
Relative font file path
----------------------------------------
*/
/*
----------------------------------------
Custom typeface tokens
----------------------------------------
Add a new custom typeface token if
your project uses a typeface not already
defined by USWDS.
----------------------------------------
USWDS defines the following tokens
by default:
----------------------------------------
'georgia'
'helvetica'
'merriweather'
'open-sans'
'public-sans'
'roboto-mono'
'source-sans-pro'
'system'
'tahoma'
'verdana'
----------------------------------------
Add as many new tokens as you have
custom typefaces. Reference your new
token(s) in the type-based font settings
using the quoted name of the token.
For example:
$theme-font-type-cond: 'example-font-token';
display-name:
The display name of your font
cap-height:
The height of a 500px `N` in Sketch
----------------------------------------
You should change `example-[style]-token`
names to something more descriptive.
----------------------------------------
*/
/*
----------------------------------------
Type-based font settings
----------------------------------------
Set the type-based tokens for your
project from the following tokens,
or from any new font tokens you added in
$theme-typeface-tokens.
----------------------------------------
'georgia'
'helvetica'
'merriweather'
'open-sans'
'public-sans'
'roboto-mono'
'source-sans-pro'
'system'
'tahoma'
'verdana'
----------------------------------------
*/
/*
----------------------------------------
Custom font stacks
----------------------------------------
Add custom font stacks to any of the
type-based fonts. Any USWDS typeface
token already has a default stack.
Custom stacks don't need to include the
font's display name. It will
automatically appear at the start of
the stack.
----------------------------------------
Example:
$theme-font-type-sans: 'source-sans-pro';
$theme-font-sans-custom-stack: "Helvetica Neue", Helvetica, Arial, sans;
Output:
font-family: "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, sans;
----------------------------------------
*/
/*
----------------------------------------
Add any custom font source files
----------------------------------------
If you want USWDS to generate additional
@font-face declarations, add your font
data below, following the example that
follows.
----------------------------------------
USWDS automatically generates @font-face
declarations for the following
'merriweather'
'public-sans'
'roboto-mono'
'source-sans-pro'
These typefaces not require custom
source files.
----------------------------------------
EXAMPLE
- dir:
Directory relative to $theme-font-path
- This directory should include fonts saved as
.woff2
ExampleSerif-Normal.woff2
$theme-font-serif-custom-src: (
dir: 'custom/example-serif',
roman: (
100: false,
200: false,
300: 'ExampleSerif-Light',
400: 'ExampleSerif-Normal',
500: false,
600: false,
700: 'ExampleSerif-Bold',
800: false,
900: false,
),
italic: (
100: false,
200: false,
300: 'ExampleSerif-LightItalic',
400: 'ExampleSerif-Italic',
500: false,
600: false,
700: 'ExampleSerif-BoldItalic',
800: false,
900: false,
),
);
----------------------------------------
*/
/*
----------------------------------------
Role-based font settings
----------------------------------------
Set the role-based tokens for your
project from the following font-type
tokens.
----------------------------------------
'cond'
'icon'
'lang'
'mono'
'sans'
'serif'
----------------------------------------
*/
/*
----------------------------------------
Type scale
----------------------------------------
Define your project's type scale using
values from the USWDS system type scale
1-20
----------------------------------------
*/
/*
----------------------------------------
Font weights
----------------------------------------
Assign weights 100-900
Or use `false` for unneeded weights.
----------------------------------------
*/
/*
----------------------------------------
General typography settings
----------------------------------------
Type scale tokens
----------------------------------------
micro: 10px
1: 12px
2: 13px
3: 14px
4: 15px
5: 16px
6: 17px
7: 18px
8: 20px
9: 22px
10: 24px
11: 28px
12: 32px
13: 36px
14: 40px
15: 48px
16: 56px
17: 64px
18: 80px
19: 120px
20: 140px
----------------------------------------
Line height tokens
----------------------------------------
1: 1
2: 1.15
3: 1.35
4: 1.5
5: 1.62
6: 1.75
----------------------------------------
Font role tokens
----------------------------------------
'ui'
'heading'
'body'
'code'
'alt'
----------------------------------------
Measure (max-width) tokens
----------------------------------------
1: 44ex
2: 60ex
3: 64ex
4: 68ex
5: 74ex
6: 88ex
none: none
----------------------------------------
*/
/*
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
========================================
========================================
========================================
----------------------------------------
COLOR SETTINGS
----------------------------------------
Read more about settings and
USWDS color tokens in the documentation:
https://designsystem.digital.gov/design-tokens/color
----------------------------------------
*/
/*
----------------------------------------
Theme palette colors
----------------------------------------
*/
/*
----------------------------------------
State palette colors
----------------------------------------
*/
/*
----------------------------------------
General colors
----------------------------------------
*/
/*
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
========================================
========================================
========================================
----------------------------------------
COMPONENT SETTINGS
----------------------------------------
Read more about settings and
USWDS style tokens in the documentation:
https://designsystem.digital.gov/design-tokens
----------------------------------------
*/
/*
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
========================================
========================================
========================================
----------------------------------------
SPACING SETTINGS
----------------------------------------
Read more about settings and
USWDS spacing units tokens in the
documentation:
https://designsystem.digital.gov/design-tokens/spacing-units
----------------------------------------
*/
/*
----------------------------------------
Border radius
----------------------------------------
2px 2px
0.5 4px
1 8px
1.5 12px
2 16px
2.5 20px
3 24px
4 32px
5 40px
6 48px
7 56px
8 64px
9 72px
----------------------------------------
*/
/*
----------------------------------------
Column gap
----------------------------------------
2px 2px
0.5 4px
1 8px
2 16px
3 24px
4 32px
5 40px
6 48px
----------------------------------------
*/
/*
----------------------------------------
Grid container max-width
----------------------------------------
mobile
mobile-lg
tablet
tablet-lg
desktop
desktop-lg
widescreen
----------------------------------------
*/
/*
----------------------------------------
Site
----------------------------------------
*/
/*
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
========================================
========================================
========================================
----------------------------------------
UTILITIES SETTINGS
----------------------------------------
Read more about settings and
USWDS utilities in the documentation:
https://designsystem.digital.gov/utilities
----------------------------------------
*/
/*
----------------------------------------
Utility breakpoints
----------------------------------------
Which breakpoints does your project
need? Select as `true` any breakpoint
used by utilities or layout grid
----------------------------------------
*/
/*
----------------------------------------
Global colors
----------------------------------------
The following palettes will be added to
- background-color
- border-color
- color
- text-decoration-color
----------------------------------------
*/
/*
----------------------------------------
Settings
----------------------------------------
*/
/*
----------------------------------------
Values
----------------------------------------
*/
/*
----------------------------------------
color()
----------------------------------------
Derive a color from a color shortcode
----------------------------------------
*/
/*
----------------------------------------
append-important()
----------------------------------------
Append `!important` to a list
----------------------------------------
*/
/*
----------------------------------------
get-last()
----------------------------------------
Return the last item of a list,
Return null if the value is null
----------------------------------------
*/
/*
----------------------------------------
de-list()
----------------------------------------
Transform a one-element list or arglist
into that single element.
----------------------------------------
(1) => 1
((1)) => (1)
----------------------------------------
*/
/*
----------------------------------------
error-not-token()
----------------------------------------
Returns a common not-a-token error.
----------------------------------------
*/
/*
----------------------------------------
uswds-error()
----------------------------------------
Allow the system to pass an error as text
to test error states in unit testing
----------------------------------------
*/
/*
----------------------------------------
get-default()
----------------------------------------
Returns the default value from a map
of project defaults
get-default("bg-color")
> $theme-body-background-color
----------------------------------------
*/
/*
----------------------------------------
has-important()
----------------------------------------
Check to see if `!important` is
being passed in a mixin's props
----------------------------------------
*/
/*
----------------------------------------
map-collect()
----------------------------------------
Collect multiple maps into a single
large map
source: https://gist.github.com/bigglesrocks/d75091700f8f2be5abfe
----------------------------------------
*/
/*
----------------------------------------
map-deep-get()
----------------------------------------
@author Hugo Giraudel
@access public
@param {Map} $map - Map
@param {Arglist} $keys - Key chain
@return {*} - Desired value
----------------------------------------
*/
/*
----------------------------------------
multi-cat()
----------------------------------------
Concatenate two lists
----------------------------------------
*/
/*
----------------------------------------
remove()
----------------------------------------
Remove a value from a list
----------------------------------------
*/
/*
----------------------------------------
smart-quote()
----------------------------------------
Quotes strings
Inspects `px`, `xs`, and `xl` numbers
Leaves bools as is
----------------------------------------
*/
/*
----------------------------------------
str-replace()
----------------------------------------
Replace any substring with another
string
----------------------------------------
*/
/*
----------------------------------------
str-split()
----------------------------------------
Split a string at a given separator
and convert into a list of substrings
----------------------------------------
*/
/*
----------------------------------------
strip-unit()
----------------------------------------
Remove the unit of a length
@author Hugo Giraudel
@param {Number} $number - Number to remove unit from
@return {Number} - Unitless number
----------------------------------------
*/
/*
----------------------------------------
base-to-map()
@TODO: Deprecate and delete
----------------------------------------
Convert a single base to a USWDS
value map.
Candidate for deprecation if we remove
isReadable
----------------------------------------
*/
/*
----------------------------------------
to-number()
----------------------------------------
Casts a string into a number
----------------------------------------
@param {String | Number} $value - Value to be parsed
@return {Number}
----------------------------------------
*/
/*
----------------------------------------
unpack()
----------------------------------------
Create lists of single items from lists
of lists.
----------------------------------------
(1, (2.1, 2.2), 3) -->
(1, 2.1, 2.2, 3)
----------------------------------------
*/
/*
----------------------------------------
color()
----------------------------------------
Derive a color from a color shortcode
----------------------------------------
*/
/*
----------------------------------------
color()
----------------------------------------
Derive a color from a color shortcode
----------------------------------------
*/
/*
----------------------------------------
color()
----------------------------------------
Derive a color from a color shortcode
----------------------------------------
*/
/*
----------------------------------------
set-theme-color()
----------------------------------------
Derive a color from a system color token
or a hex value
----------------------------------------
*/
/*
----------------------------------------
px-to-rem()
----------------------------------------
Converts a value in px to a value in rem
----------------------------------------
*/
/*
----------------------------------------
rem-to-px()
----------------------------------------
Converts a value in rem to a value in px
----------------------------------------
*/
/*
----------------------------------------
rem-to-user-em()
----------------------------------------
Converts a value in rem to a value in
[user-settings] em for use in media
queries
----------------------------------------
*/
/*
----------------------------------------
spacing-multiple()
----------------------------------------
Converts a spacing unit multiple into
the desired final units (currently rem)
----------------------------------------
*/
/*
----------------------------------------
units()
----------------------------------------
Converts a spacing unit into
the desired final units (currently rem)
----------------------------------------
*/
/*
----------------------------------------
number-to-token()
----------------------------------------
Converts an integer or numeric value
into a system value
Ex: 0.5 --> '05'
-1px --> 'neg-1px'
----------------------------------------
*/
/*
----------------------------------------
Project fonts
----------------------------------------
Collects font settings in a map for
looping.
----------------------------------------
*/
/*
----------------------------------------
Luminance ranges
----------------------------------------
*/
/*
----------------------------------------
ns()
----------------------------------------
Add a namesspace of $type if that
namespace is set to output
----------------------------------------
*/
/*
----------------------------------------
get-system-color()
----------------------------------------
Derive a system color from its
family, value, and vivid or a passed
variable that is, itself, a list
----------------------------------------
*/
/*
----------------------------------------
Line height
----------------------------------------
*/
/*
----------------------------------------
Measure
----------------------------------------
*/
/*
----------------------------------------
cap-height()
----------------------------------------
Get the cap height of a valid typeface
----------------------------------------
*/
/*
----------------------------------------
validate-typeface-token()
----------------------------------------
Check to see if a typeface-token exists.
Throw an error if a passed token does
not exist in the typeface-token map.
----------------------------------------
*/
/*
----------------------------------------
convert-to-font-type()
----------------------------------------
Converts a font-role token into a
font-type token. Leaves font-type tokens
unchanged.
----------------------------------------
*/
/*
----------------------------------------
font-sources()
----------------------------------------
Outputs a list of font sources used in
a @font-face declaration.
$theme-font-browser-compatibility: true - output woff2, woff, ttf
$theme-font-browser-compatibility: false - output woff2
@param stem: string - [font path]/[custom-src.dir]/[custom-src.[style].[weight]]
@output: string
filetypes must be one of the filetypes set in variables/$project-font-face-filetypes (woff, woff2, ttf)
----------------------------------------
*/
/*
----------------------------------------
get-font-stack()
----------------------------------------
Get a font stack from a style- or
role-based font token.
----------------------------------------
*/
/*
----------------------------------------
get-typeface-token()
----------------------------------------
Get a typeface token from a font-type or
font-role token.
----------------------------------------
*/
/*
----------------------------------------
normalize-type-scale()
----------------------------------------
Normalizes a specific face's optical size
to a set target
----------------------------------------
*/
/*
----------------------------------------
system-type-scale()
----------------------------------------
Get a value from the system type scale
----------------------------------------
*/
/*
----------------------------------------
Easing
----------------------------------------
*/
/* deprecated.scss
---
Occasionally the design system will deprecate
old variables or functionality. If we replace
the old functionality with something new, this is a
place to connect the old functionality to the
new functionality, in the service of better
continuity and backwards compatibility within a
major release cycle.
Note the USWDS version where we deprecated the
old functionality in a comment.
Be sure to update notifications.scss.
This file should started fresh at each
major version.
*/
/*
----------------------------------------
advanced-color()
----------------------------------------
Derive a color from a color triplet:
[family], [grade], [variant]
----------------------------------------
*/
/*
----------------------------------------
calculate-grade()
----------------------------------------
Derive the grade equivalent any color,
even non-token colors
----------------------------------------
*/
/*
----------------------------------------
color-token-assignment()
----------------------------------------
Get the system token equivalent of any
theme color token
----------------------------------------
*/
/*
----------------------------------------
is-system-color-token()
----------------------------------------
Return whether a token is a system
color token
----------------------------------------
*/
/*
----------------------------------------
is-theme-color-token()
----------------------------------------
Return whether a token is a theme
color token
----------------------------------------
*/
/*
----------------------------------------
color-token-family()
----------------------------------------
Returns the family of a color token.
Returns: color-family
color-token-family("accent-warm-vivid")
> "accent-warm"
color-token-family("red-50v")
> "red"
color-token-variant(("red", 50, "vivid"))
> "red"
----------------------------------------
*/
/*
----------------------------------------
decompose()
----------------------------------------
Convert a color token into into a list
of form [family], [grade], [variant]
Vivid variants return "vivid" as the
variant.
If neither grade nor variant exists,
returns 'null'
----------------------------------------
*/
/*
----------------------------------------
color-token-family()
----------------------------------------
Returns the family of a color token.
Returns: color-family
color-token-family("accent-warm-vivid")
> "accent-warm"
color-token-family("red-50v")
> "red"
color-token-variant(("red", 50, "vivid"))
> "red"
----------------------------------------
*/
/*
----------------------------------------
color-token-grade()
----------------------------------------
Returns the grade of a USWDS color token.
Returns: color-grade
color-token-grade("accent-warm")
> "root"
color-token-grade("accent-warm-vivid")
> "root"
color-token-grade("accent-warm-darker")
> "darker"
color-token-grade("red-50v")
> 50
color-token-variant(("red", 50, "vivid"))
> 50
----------------------------------------
*/
/*
----------------------------------------
color-token-family()
----------------------------------------
Returns the family of a color token.
Returns: color-family
color-token-family("accent-warm-vivid")
> "accent-warm"
color-token-family("red-50v")
> "red"
color-token-variant(("red", 50, "vivid"))
> "red"
----------------------------------------
*/
/*
----------------------------------------
is-color-token()
----------------------------------------
Returns whether a given string is a
USWDS color token.
----------------------------------------
*/
/*
----------------------------------------
pow()
----------------------------------------
Raises a unitless number to the power
of another unitless number
Includes helper functions
----------------------------------------
*/
/*
----------------------------------------
Helper functions
----------------------------------------
*/
/* factorial()
----------------------------------------
*/
/* summation()
----------------------------------------
*/
/* exp-maclaurin()
----------------------------------------
*/
/* ln()
----------------------------------------
*/
/*
----------------------------------------
color-token-type()
----------------------------------------
Returns the type of a color token.
Returns: "system" | "theme"
----------------------------------------
*/
/*
----------------------------------------
color-token-variant()
----------------------------------------
Returns the variant of color token.
Returns: "vivid" | false
color-token-variant("accent-warm")
> false
color-token-variant("accent-warm-vivid")
> "vivid"
color-token-variant("red-50v")
> "vivid"
color-token-variant(("red", 50, "vivid"))
> "vivid"
----------------------------------------
*/
/*
----------------------------------------
magic-number()
----------------------------------------
Returns the magic number of two color
grades. Takes numbers or color tokens.
magic-number(50, 10)
return: 40
magic-number("red-50", "red-10")
return: 40
----------------------------------------
*/
/*
----------------------------------------
is-accessible-magic-number()
----------------------------------------
Returns whether two grades achieve
specified target color contrast
Returns: true | false
is-accessible-magic-number(10, 50, "AA")
> false
is-accessible-magic-number(10, 60, "AA")
> true
----------------------------------------
*/
/*
----------------------------------------
wcag-magic-number()
----------------------------------------
Returns the magic number of a specific
wcag grade:
"AA"
"AA-Large"
"AAA"
wcag-magic-number("AA")
> 50
----------------------------------------
*/
/*
----------------------------------------
get-link-tokens-from-bg()
----------------------------------------
Get accessible link colors for a given
background color
returns: link-token, hover-token
get-link-tokens-from-bg(
"black",
"red-60",
"red-10",
"AA")
> "red-10", "red-5"
get-link-tokens-from-bg(
"black",
"red-60v",
"red-10v",
"AA-large")
> "red-60v", "red-50v"
get-link-tokens-from-bg(
"black",
"red-5v",
"red-60v",
"AA")
> "red-5v", "white"
get-link-tokens-from-bg(
"black",
"white",
"red-60v",
"AA")
> "white", "white"
----------------------------------------
*/
/*
----------------------------------------
next-token()
----------------------------------------
Returns next "darker" or "lighter" color
token of the same token type and variant.
Returns: color-token | false
next-token("accent-warm", "lighter")
> "accent-warm-light"
next-token("gray-10", "lighter")
> "gray-5"
next-token("gray-5", "lighter")
> "white"
next-token("white", "lighter")
> false
next-token("red-50v", "darker")
> "red-60v"
next-token("red-50", "darker")
> "red-60"
next-token("red-80v", "darker")
> "red-90"
next-token("red-90", "darker")
> "black"
next-token("white", "darker")
> "gray-5"
next-token("black", "lighter")
> "gray-90"
----------------------------------------
*/
/*
----------------------------------------
test-colors()
----------------------------------------
Check to see if all system colors
fall between the proper relative
luminance range for their grade.
Has a couple quirks, as the luminance()
function returns slightly different
results than expected.
----------------------------------------
*/
/*
----------------------------------------
columns()
----------------------------------------
outputs a grid-col number based on
the number of desired columns in the
12-column grid
Ex: columns(2) --> 6
grid-col(columns(2))
----------------------------------------
*/
/*
----------------------------------------
USWDS Properties
----------------------------------------
*/
/*
----------------------------------------
get-uswds-value()
----------------------------------------
Finds and outputs a value from the
USWDS standard values.
Used to build other standard utility
functions and mixins.
----------------------------------------
*/
/*
----------------------------------------
get-standard-values()
----------------------------------------
Gets a map of USWDS standard values
for a property
----------------------------------------
*/
/*
----------------------------------------
border-radius()
----------------------------------------
Get a border-radius from the system
border-radii
----------------------------------------
*/
/*
----------------------------------------
font-weight()
fw()
----------------------------------------
Get a font-weight value from the
system font-weight
----------------------------------------
*/
/*
----------------------------------------
feature()
----------------------------------------
Gets a valid USWDS font feature setting
----------------------------------------
*/
/*
----------------------------------------
flex()
----------------------------------------
Gets a valid USWDS flex value
----------------------------------------
*/
/*
----------------------------------------
font-family()
family()
----------------------------------------
Get a font-family stack from a
role-based or type-based font family
----------------------------------------
*/
/*
----------------------------------------
letter-spacing()
ls()
----------------------------------------
Get a letter-spacing value from the
system letter-spacing
----------------------------------------
*/
/*
----------------------------------------
measure()
----------------------------------------
Gets a valid USWDS reading line length
----------------------------------------
*/
/*
----------------------------------------
opacity()
----------------------------------------
Get an opacity from the system
opacities
----------------------------------------
*/
/*
----------------------------------------
order()
----------------------------------------
Get an order value from the
system orders
----------------------------------------
*/
/*
----------------------------------------
radius()
----------------------------------------
Get a border-radius value from the
system letter-spacing
----------------------------------------
*/
/*
----------------------------------------
font-size()
----------------------------------------
Get type scale value from a [family] and
[scale]
----------------------------------------
*/
/*
----------------------------------------
z-index()
z()
----------------------------------------
Get a z-index value from the
system z-index
----------------------------------------
*/
/*
----------------------------------------
utility-font()
----------------------------------------
Get a normalized font-size in rem from
a family and a type size in either
system scale or project scale
----------------------------------------
Not the public-facing function.
Used for building the utilities and
withholds certain errors.
----------------------------------------
*/
/*
----------------------------------------
family()
----------------------------------------
Get a font-family stack
----------------------------------------
*/
/*
----------------------------------------
size()
----------------------------------------
Get a normalized font-size in rem from
a family and a type size in either
system scale or project scale
----------------------------------------
*/
/*
----------------------------------------
font()
----------------------------------------
Get a font-family stack
AND
Get a normalized font-size in rem from
a family and a type size in either
system scale or project scale
----------------------------------------
*/
/*
----------------------------------------
typeset()
----------------------------------------
Sets:
- family
- size
- line-height
----------------------------------------
*/
/* stylelint-disable max-nesting-depth */
/*
----------------------------------------
@render-pseudoclass
----------------------------------------
Build a pseucoclass utiliy from values
calculated in the @render-utilities-in
loop
----------------------------------------
*/
/*
----------------------------------------
@render-utility
----------------------------------------
Build a utility from values calculated
in the @render-utilities-in loop
----------------------------------------
TODO: Determine the proper use of
unquote() in the following. Changed to
account for a 'interpolation near
operators will be simplified in a
future version of Sass' warning.
----------------------------------------
*/
/*
----------------------------------------
@render-utilities-in
----------------------------------------
The master loop that sets the building
blocks of utilities from the values
in individual rule settings and loops
through all possible variants
----------------------------------------
*/
/* stylelint-enable */
/* notifications.scss
---
Adds a notification at the top of each USWDS
compile. Use this file for important notifications
and updates to the design system.
This file should started fresh at each
major version.
*/
/* prettier-ignore */
/* prettier-ignore */
.usa-media-block {
-webkit-box-align: start;
-webkit-align-items: flex-start;
-ms-flex-align: start;
align-items: flex-start;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
.usa-media-block__img {
-webkit-flex-shrink: 0;
-ms-flex-negative: 0;
flex-shrink: 0;
margin-right: 0.5rem;
}
.usa-media-block__body {
-webkit-box-flex: 1;
-webkit-flex: 1 1 0%;
-ms-flex: 1 1 0%;
flex: 1 1 0%;
}
/*
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
========================================
========================================
========================================
----------------------------------------
GENERAL SETTINGS
----------------------------------------
Read more about settings and
USWDS style tokens in the documentation:
https://designsystem.digital.gov/design-tokens
----------------------------------------
*/
/*
----------------------------------------
Image path
----------------------------------------
Relative image file path
----------------------------------------
*/
/*
----------------------------------------
Show compile warnings
----------------------------------------
Show Sass warnings when functions and
mixins use non-standard tokens.
AND
Show updates and notifications.
----------------------------------------
*/
/*
----------------------------------------
Namespace
----------------------------------------
*/
/*
----------------------------------------
Prefix separator
----------------------------------------
Set the character the separates
responsive and state prefixes from the
main class name.
The default (":") needs to be preceded
by two backslashes to be properly
escaped.
----------------------------------------
*/
/*
----------------------------------------
Layout grid
----------------------------------------
Should the layout grid classes output
with !important
----------------------------------------
*/
/*
----------------------------------------
Border box sizing
----------------------------------------
When set to true, sets the box-sizing
property of all site elements to
`border-box`.
----------------------------------------
*/
/*
----------------------------------------
Focus styles
----------------------------------------
*/
/*
----------------------------------------
Icons
----------------------------------------
*/
/*
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
========================================
========================================
========================================
----------------------------------------
TYPOGRAPHY SETTINGS
----------------------------------------
Read more about settings and
USWDS typography tokens in the documentation:
https://designsystem.digital.gov/design-tokens/typesetting/overview/
----------------------------------------
*/
/*
----------------------------------------
Root font size
----------------------------------------
Setting $theme-respect-user-font-size to
true sets the root font size to 100% and
uses ems for media queries
----------------------------------------
$theme-root-font-size only applies when
$theme-respect-user-font-size is set to
false.
This will set the root font size
as a specific px value and use px values
for media queries.
Accepts true or false
----------------------------------------
*/
/*
----------------------------------------
Global styles
----------------------------------------
Adds basic styling for the following
unclassed elements:
- paragraph: paragraph text
- link: links
- content: paragraph text, links,
headings, lists, and tables
----------------------------------------
*/
/*
----------------------------------------
Broswer compatibility mode
----------------------------------------
When true, outputs woff and ttf font
formats in addition to woff2
----------------------------------------
*/
/*
----------------------------------------
Font path
----------------------------------------
Relative font file path
----------------------------------------
*/
/*
----------------------------------------
Custom typeface tokens
----------------------------------------
Add a new custom typeface token if
your project uses a typeface not already
defined by USWDS.
----------------------------------------
USWDS defines the following tokens
by default:
----------------------------------------
'georgia'
'helvetica'
'merriweather'
'open-sans'
'public-sans'
'roboto-mono'
'source-sans-pro'
'system'
'tahoma'
'verdana'
----------------------------------------
Add as many new tokens as you have
custom typefaces. Reference your new
token(s) in the type-based font settings
using the quoted name of the token.
For example:
$theme-font-type-cond: 'example-font-token';
display-name:
The display name of your font
cap-height:
The height of a 500px `N` in Sketch
----------------------------------------
You should change `example-[style]-token`
names to something more descriptive.
----------------------------------------
*/
/*
----------------------------------------
Type-based font settings
----------------------------------------
Set the type-based tokens for your
project from the following tokens,
or from any new font tokens you added in
$theme-typeface-tokens.
----------------------------------------
'georgia'
'helvetica'
'merriweather'
'open-sans'
'public-sans'
'roboto-mono'
'source-sans-pro'
'system'
'tahoma'
'verdana'
----------------------------------------
*/
/*
----------------------------------------
Custom font stacks
----------------------------------------
Add custom font stacks to any of the
type-based fonts. Any USWDS typeface
token already has a default stack.
Custom stacks don't need to include the
font's display name. It will
automatically appear at the start of
the stack.
----------------------------------------
Example:
$theme-font-type-sans: 'source-sans-pro';
$theme-font-sans-custom-stack: "Helvetica Neue", Helvetica, Arial, sans;
Output:
font-family: "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, sans;
----------------------------------------
*/
/*
----------------------------------------
Add any custom font source files
----------------------------------------
If you want USWDS to generate additional
@font-face declarations, add your font
data below, following the example that
follows.
----------------------------------------
USWDS automatically generates @font-face
declarations for the following
'merriweather'
'public-sans'
'roboto-mono'
'source-sans-pro'
These typefaces not require custom
source files.
----------------------------------------
EXAMPLE
- dir:
Directory relative to $theme-font-path
- This directory should include fonts saved as
.woff2
ExampleSerif-Normal.woff2
$theme-font-serif-custom-src: (
dir: 'custom/example-serif',
roman: (
100: false,
200: false,
300: 'ExampleSerif-Light',
400: 'ExampleSerif-Normal',
500: false,
600: false,
700: 'ExampleSerif-Bold',
800: false,
900: false,
),
italic: (
100: false,
200: false,
300: 'ExampleSerif-LightItalic',
400: 'ExampleSerif-Italic',
500: false,
600: false,
700: 'ExampleSerif-BoldItalic',
800: false,
900: false,
),
);
----------------------------------------
*/
/*
----------------------------------------
Role-based font settings
----------------------------------------
Set the role-based tokens for your
project from the following font-type
tokens.
----------------------------------------
'cond'
'icon'
'lang'
'mono'
'sans'
'serif'
----------------------------------------
*/
/*
----------------------------------------
Type scale
----------------------------------------
Define your project's type scale using
values from the USWDS system type scale
1-20
----------------------------------------
*/
/*
----------------------------------------
Font weights
----------------------------------------
Assign weights 100-900
Or use `false` for unneeded weights.
----------------------------------------
*/
/*
----------------------------------------
General typography settings
----------------------------------------
Type scale tokens
----------------------------------------
micro: 10px
1: 12px
2: 13px
3: 14px
4: 15px
5: 16px
6: 17px
7: 18px
8: 20px
9: 22px
10: 24px
11: 28px
12: 32px
13: 36px
14: 40px
15: 48px
16: 56px
17: 64px
18: 80px
19: 120px
20: 140px
----------------------------------------
Line height tokens
----------------------------------------
1: 1
2: 1.15
3: 1.35
4: 1.5
5: 1.62
6: 1.75
----------------------------------------
Font role tokens
----------------------------------------
'ui'
'heading'
'body'
'code'
'alt'
----------------------------------------
Measure (max-width) tokens
----------------------------------------
1: 44ex
2: 60ex
3: 64ex
4: 68ex
5: 74ex
6: 88ex
none: none
----------------------------------------
*/
/*
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
========================================
========================================
========================================
----------------------------------------
COLOR SETTINGS
----------------------------------------
Read more about settings and
USWDS color tokens in the documentation:
https://designsystem.digital.gov/design-tokens/color
----------------------------------------
*/
/*
----------------------------------------
Theme palette colors
----------------------------------------
*/
/*
----------------------------------------
State palette colors
----------------------------------------
*/
/*
----------------------------------------
General colors
----------------------------------------
*/
/*
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
========================================
========================================
========================================
----------------------------------------
COMPONENT SETTINGS
----------------------------------------
Read more about settings and
USWDS style tokens in the documentation:
https://designsystem.digital.gov/design-tokens
----------------------------------------
*/
/*
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
========================================
========================================
========================================
----------------------------------------
SPACING SETTINGS
----------------------------------------
Read more about settings and
USWDS spacing units tokens in the
documentation:
https://designsystem.digital.gov/design-tokens/spacing-units
----------------------------------------
*/
/*
----------------------------------------
Border radius
----------------------------------------
2px 2px
0.5 4px
1 8px
1.5 12px
2 16px
2.5 20px
3 24px
4 32px
5 40px
6 48px
7 56px
8 64px
9 72px
----------------------------------------
*/
/*
----------------------------------------
Column gap
----------------------------------------
2px 2px
0.5 4px
1 8px
2 16px
3 24px
4 32px
5 40px
6 48px
----------------------------------------
*/
/*
----------------------------------------
Grid container max-width
----------------------------------------
mobile
mobile-lg
tablet
tablet-lg
desktop
desktop-lg
widescreen
----------------------------------------
*/
/*
----------------------------------------
Site
----------------------------------------
*/
/*
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
========================================
========================================
========================================
----------------------------------------
UTILITIES SETTINGS
----------------------------------------
Read more about settings and
USWDS utilities in the documentation:
https://designsystem.digital.gov/utilities
----------------------------------------
*/
/*
----------------------------------------
Utility breakpoints
----------------------------------------
Which breakpoints does your project
need? Select as `true` any breakpoint
used by utilities or layout grid
----------------------------------------
*/
/*
----------------------------------------
Global colors
----------------------------------------
The following palettes will be added to
- background-color
- border-color
- color
- text-decoration-color
----------------------------------------
*/
/*
----------------------------------------
Settings
----------------------------------------
*/
/*
----------------------------------------
Values
----------------------------------------
*/
/*
----------------------------------------
color()
----------------------------------------
Derive a color from a color shortcode
----------------------------------------
*/
/*
----------------------------------------
append-important()
----------------------------------------
Append `!important` to a list
----------------------------------------
*/
/*
----------------------------------------
get-last()
----------------------------------------
Return the last item of a list,
Return null if the value is null
----------------------------------------
*/
/*
----------------------------------------
de-list()
----------------------------------------
Transform a one-element list or arglist
into that single element.
----------------------------------------
(1) => 1
((1)) => (1)
----------------------------------------
*/
/*
----------------------------------------
error-not-token()
----------------------------------------
Returns a common not-a-token error.
----------------------------------------
*/
/*
----------------------------------------
uswds-error()
----------------------------------------
Allow the system to pass an error as text
to test error states in unit testing
----------------------------------------
*/
/*
----------------------------------------
get-default()
----------------------------------------
Returns the default value from a map
of project defaults
get-default("bg-color")
> $theme-body-background-color
----------------------------------------
*/
/*
----------------------------------------
has-important()
----------------------------------------
Check to see if `!important` is
being passed in a mixin's props
----------------------------------------
*/
/*
----------------------------------------
map-collect()
----------------------------------------
Collect multiple maps into a single
large map
source: https://gist.github.com/bigglesrocks/d75091700f8f2be5abfe
----------------------------------------
*/
/*
----------------------------------------
map-deep-get()
----------------------------------------
@author Hugo Giraudel
@access public
@param {Map} $map - Map
@param {Arglist} $keys - Key chain
@return {*} - Desired value
----------------------------------------
*/
/*
----------------------------------------
multi-cat()
----------------------------------------
Concatenate two lists
----------------------------------------
*/
/*
----------------------------------------
remove()
----------------------------------------
Remove a value from a list
----------------------------------------
*/
/*
----------------------------------------
smart-quote()
----------------------------------------
Quotes strings
Inspects `px`, `xs`, and `xl` numbers
Leaves bools as is
----------------------------------------
*/
/*
----------------------------------------
str-replace()
----------------------------------------
Replace any substring with another
string
----------------------------------------
*/
/*
----------------------------------------
str-split()
----------------------------------------
Split a string at a given separator
and convert into a list of substrings
----------------------------------------
*/
/*
----------------------------------------
strip-unit()
----------------------------------------
Remove the unit of a length
@author Hugo Giraudel
@param {Number} $number - Number to remove unit from
@return {Number} - Unitless number
----------------------------------------
*/
/*
----------------------------------------
base-to-map()
@TODO: Deprecate and delete
----------------------------------------
Convert a single base to a USWDS
value map.
Candidate for deprecation if we remove
isReadable
----------------------------------------
*/
/*
----------------------------------------
to-number()
----------------------------------------
Casts a string into a number
----------------------------------------
@param {String | Number} $value - Value to be parsed
@return {Number}
----------------------------------------
*/
/*
----------------------------------------
unpack()
----------------------------------------
Create lists of single items from lists
of lists.
----------------------------------------
(1, (2.1, 2.2), 3) -->
(1, 2.1, 2.2, 3)
----------------------------------------
*/
/*
----------------------------------------
color()
----------------------------------------
Derive a color from a color shortcode
----------------------------------------
*/
/*
----------------------------------------
color()
----------------------------------------
Derive a color from a color shortcode
----------------------------------------
*/
/*
----------------------------------------
color()
----------------------------------------
Derive a color from a color shortcode
----------------------------------------
*/
/*
----------------------------------------
set-theme-color()
----------------------------------------
Derive a color from a system color token
or a hex value
----------------------------------------
*/
/*
----------------------------------------
px-to-rem()
----------------------------------------
Converts a value in px to a value in rem
----------------------------------------
*/
/*
----------------------------------------
rem-to-px()
----------------------------------------
Converts a value in rem to a value in px
----------------------------------------
*/
/*
----------------------------------------
rem-to-user-em()
----------------------------------------
Converts a value in rem to a value in
[user-settings] em for use in media
queries
----------------------------------------
*/
/*
----------------------------------------
spacing-multiple()
----------------------------------------
Converts a spacing unit multiple into
the desired final units (currently rem)
----------------------------------------
*/
/*
----------------------------------------
units()
----------------------------------------
Converts a spacing unit into
the desired final units (currently rem)
----------------------------------------
*/
/*
----------------------------------------
number-to-token()
----------------------------------------
Converts an integer or numeric value
into a system value
Ex: 0.5 --> '05'
-1px --> 'neg-1px'
----------------------------------------
*/
/*
----------------------------------------
Project fonts
----------------------------------------
Collects font settings in a map for
looping.
----------------------------------------
*/
/*
----------------------------------------
Luminance ranges
----------------------------------------
*/
/*
----------------------------------------
ns()
----------------------------------------
Add a namesspace of $type if that
namespace is set to output
----------------------------------------
*/
/*
----------------------------------------
get-system-color()
----------------------------------------
Derive a system color from its
family, value, and vivid or a passed
variable that is, itself, a list
----------------------------------------
*/
/*
----------------------------------------
Line height
----------------------------------------
*/
/*
----------------------------------------
Measure
----------------------------------------
*/
/*
----------------------------------------
cap-height()
----------------------------------------
Get the cap height of a valid typeface
----------------------------------------
*/
/*
----------------------------------------
validate-typeface-token()
----------------------------------------
Check to see if a typeface-token exists.
Throw an error if a passed token does
not exist in the typeface-token map.
----------------------------------------
*/
/*
----------------------------------------
convert-to-font-type()
----------------------------------------
Converts a font-role token into a
font-type token. Leaves font-type tokens
unchanged.
----------------------------------------
*/
/*
----------------------------------------
font-sources()
----------------------------------------
Outputs a list of font sources used in
a @font-face declaration.
$theme-font-browser-compatibility: true - output woff2, woff, ttf
$theme-font-browser-compatibility: false - output woff2
@param stem: string - [font path]/[custom-src.dir]/[custom-src.[style].[weight]]
@output: string
filetypes must be one of the filetypes set in variables/$project-font-face-filetypes (woff, woff2, ttf)
----------------------------------------
*/
/*
----------------------------------------
get-font-stack()
----------------------------------------
Get a font stack from a style- or
role-based font token.
----------------------------------------
*/
/*
----------------------------------------
get-typeface-token()
----------------------------------------
Get a typeface token from a font-type or
font-role token.
----------------------------------------
*/
/*
----------------------------------------
normalize-type-scale()
----------------------------------------
Normalizes a specific face's optical size
to a set target
----------------------------------------
*/
/*
----------------------------------------
system-type-scale()
----------------------------------------
Get a value from the system type scale
----------------------------------------
*/
/*
----------------------------------------
Easing
----------------------------------------
*/
/* deprecated.scss
---
Occasionally the design system will deprecate
old variables or functionality. If we replace
the old functionality with something new, this is a
place to connect the old functionality to the
new functionality, in the service of better
continuity and backwards compatibility within a
major release cycle.
Note the USWDS version where we deprecated the
old functionality in a comment.
Be sure to update notifications.scss.
This file should started fresh at each
major version.
*/
/*
----------------------------------------
advanced-color()
----------------------------------------
Derive a color from a color triplet:
[family], [grade], [variant]
----------------------------------------
*/
/*
----------------------------------------
calculate-grade()
----------------------------------------
Derive the grade equivalent any color,
even non-token colors
----------------------------------------
*/
/*
----------------------------------------
color-token-assignment()
----------------------------------------
Get the system token equivalent of any
theme color token
----------------------------------------
*/
/*
----------------------------------------
is-system-color-token()
----------------------------------------
Return whether a token is a system
color token
----------------------------------------
*/
/*
----------------------------------------
is-theme-color-token()
----------------------------------------
Return whether a token is a theme
color token
----------------------------------------
*/
/*
----------------------------------------
color-token-family()
----------------------------------------
Returns the family of a color token.
Returns: color-family
color-token-family("accent-warm-vivid")
> "accent-warm"
color-token-family("red-50v")
> "red"
color-token-variant(("red", 50, "vivid"))
> "red"
----------------------------------------
*/
/*
----------------------------------------
decompose()
----------------------------------------
Convert a color token into into a list
of form [family], [grade], [variant]
Vivid variants return "vivid" as the
variant.
If neither grade nor variant exists,
returns 'null'
----------------------------------------
*/
/*
----------------------------------------
color-token-family()
----------------------------------------
Returns the family of a color token.
Returns: color-family
color-token-family("accent-warm-vivid")
> "accent-warm"
color-token-family("red-50v")
> "red"
color-token-variant(("red", 50, "vivid"))
> "red"
----------------------------------------
*/
/*
----------------------------------------
color-token-grade()
----------------------------------------
Returns the grade of a USWDS color token.
Returns: color-grade
color-token-grade("accent-warm")
> "root"
color-token-grade("accent-warm-vivid")
> "root"
color-token-grade("accent-warm-darker")
> "darker"
color-token-grade("red-50v")
> 50
color-token-variant(("red", 50, "vivid"))
> 50
----------------------------------------
*/
/*
----------------------------------------
color-token-family()
----------------------------------------
Returns the family of a color token.
Returns: color-family
color-token-family("accent-warm-vivid")
> "accent-warm"
color-token-family("red-50v")
> "red"
color-token-variant(("red", 50, "vivid"))
> "red"
----------------------------------------
*/
/*
----------------------------------------
is-color-token()
----------------------------------------
Returns whether a given string is a
USWDS color token.
----------------------------------------
*/
/*
----------------------------------------
pow()
----------------------------------------
Raises a unitless number to the power
of another unitless number
Includes helper functions
----------------------------------------
*/
/*
----------------------------------------
Helper functions
----------------------------------------
*/
/* factorial()
----------------------------------------
*/
/* summation()
----------------------------------------
*/
/* exp-maclaurin()
----------------------------------------
*/
/* ln()
----------------------------------------
*/
/*
----------------------------------------
color-token-type()
----------------------------------------
Returns the type of a color token.
Returns: "system" | "theme"
----------------------------------------
*/
/*
----------------------------------------
color-token-variant()
----------------------------------------
Returns the variant of color token.
Returns: "vivid" | false
color-token-variant("accent-warm")
> false
color-token-variant("accent-warm-vivid")
> "vivid"
color-token-variant("red-50v")
> "vivid"
color-token-variant(("red", 50, "vivid"))
> "vivid"
----------------------------------------
*/
/*
----------------------------------------
magic-number()
----------------------------------------
Returns the magic number of two color
grades. Takes numbers or color tokens.
magic-number(50, 10)
return: 40
magic-number("red-50", "red-10")
return: 40
----------------------------------------
*/
/*
----------------------------------------
is-accessible-magic-number()
----------------------------------------
Returns whether two grades achieve
specified target color contrast
Returns: true | false
is-accessible-magic-number(10, 50, "AA")
> false
is-accessible-magic-number(10, 60, "AA")
> true
----------------------------------------
*/
/*
----------------------------------------
wcag-magic-number()
----------------------------------------
Returns the magic number of a specific
wcag grade:
"AA"
"AA-Large"
"AAA"
wcag-magic-number("AA")
> 50
----------------------------------------
*/
/*
----------------------------------------
get-link-tokens-from-bg()
----------------------------------------
Get accessible link colors for a given
background color
returns: link-token, hover-token
get-link-tokens-from-bg(
"black",
"red-60",
"red-10",
"AA")
> "red-10", "red-5"
get-link-tokens-from-bg(
"black",
"red-60v",
"red-10v",
"AA-large")
> "red-60v", "red-50v"
get-link-tokens-from-bg(
"black",
"red-5v",
"red-60v",
"AA")
> "red-5v", "white"
get-link-tokens-from-bg(
"black",
"white",
"red-60v",
"AA")
> "white", "white"
----------------------------------------
*/
/*
----------------------------------------
next-token()
----------------------------------------
Returns next "darker" or "lighter" color
token of the same token type and variant.
Returns: color-token | false
next-token("accent-warm", "lighter")
> "accent-warm-light"
next-token("gray-10", "lighter")
> "gray-5"
next-token("gray-5", "lighter")
> "white"
next-token("white", "lighter")
> false
next-token("red-50v", "darker")
> "red-60v"
next-token("red-50", "darker")
> "red-60"
next-token("red-80v", "darker")
> "red-90"
next-token("red-90", "darker")
> "black"
next-token("white", "darker")
> "gray-5"
next-token("black", "lighter")
> "gray-90"
----------------------------------------
*/
/*
----------------------------------------
test-colors()
----------------------------------------
Check to see if all system colors
fall between the proper relative
luminance range for their grade.
Has a couple quirks, as the luminance()
function returns slightly different
results than expected.
----------------------------------------
*/
/*
----------------------------------------
columns()
----------------------------------------
outputs a grid-col number based on
the number of desired columns in the
12-column grid
Ex: columns(2) --> 6
grid-col(columns(2))
----------------------------------------
*/
/*
----------------------------------------
USWDS Properties
----------------------------------------
*/
/*
----------------------------------------
get-uswds-value()
----------------------------------------
Finds and outputs a value from the
USWDS standard values.
Used to build other standard utility
functions and mixins.
----------------------------------------
*/
/*
----------------------------------------
get-standard-values()
----------------------------------------
Gets a map of USWDS standard values
for a property
----------------------------------------
*/
/*
----------------------------------------
border-radius()
----------------------------------------
Get a border-radius from the system
border-radii
----------------------------------------
*/
/*
----------------------------------------
font-weight()
fw()
----------------------------------------
Get a font-weight value from the
system font-weight
----------------------------------------
*/
/*
----------------------------------------
feature()
----------------------------------------
Gets a valid USWDS font feature setting
----------------------------------------
*/
/*
----------------------------------------
flex()
----------------------------------------
Gets a valid USWDS flex value
----------------------------------------
*/
/*
----------------------------------------
font-family()
family()
----------------------------------------
Get a font-family stack from a
role-based or type-based font family
----------------------------------------
*/
/*
----------------------------------------
letter-spacing()
ls()
----------------------------------------
Get a letter-spacing value from the
system letter-spacing
----------------------------------------
*/
/*
----------------------------------------
measure()
----------------------------------------
Gets a valid USWDS reading line length
----------------------------------------
*/
/*
----------------------------------------
opacity()
----------------------------------------
Get an opacity from the system
opacities
----------------------------------------
*/
/*
----------------------------------------
order()
----------------------------------------
Get an order value from the
system orders
----------------------------------------
*/
/*
----------------------------------------
radius()
----------------------------------------
Get a border-radius value from the
system letter-spacing
----------------------------------------
*/
/*
----------------------------------------
font-size()
----------------------------------------
Get type scale value from a [family] and
[scale]
----------------------------------------
*/
/*
----------------------------------------
z-index()
z()
----------------------------------------
Get a z-index value from the
system z-index
----------------------------------------
*/
/*
----------------------------------------
utility-font()
----------------------------------------
Get a normalized font-size in rem from
a family and a type size in either
system scale or project scale
----------------------------------------
Not the public-facing function.
Used for building the utilities and
withholds certain errors.
----------------------------------------
*/
/*
----------------------------------------
family()
----------------------------------------
Get a font-family stack
----------------------------------------
*/
/*
----------------------------------------
size()
----------------------------------------
Get a normalized font-size in rem from
a family and a type size in either
system scale or project scale
----------------------------------------
*/
/*
----------------------------------------
font()
----------------------------------------
Get a font-family stack
AND
Get a normalized font-size in rem from
a family and a type size in either
system scale or project scale
----------------------------------------
*/
/*
----------------------------------------
typeset()
----------------------------------------
Sets:
- family
- size
- line-height
----------------------------------------
*/
/* stylelint-disable max-nesting-depth */
/*
----------------------------------------
@render-pseudoclass
----------------------------------------
Build a pseucoclass utiliy from values
calculated in the @render-utilities-in
loop
----------------------------------------
*/
/*
----------------------------------------
@render-utility
----------------------------------------
Build a utility from values calculated
in the @render-utilities-in loop
----------------------------------------
TODO: Determine the proper use of
unquote() in the following. Changed to
account for a 'interpolation near
operators will be simplified in a
future version of Sass' warning.
----------------------------------------
*/
/*
----------------------------------------
@render-utilities-in
----------------------------------------
The master loop that sets the building
blocks of utilities from the values
in individual rule settings and loops
through all possible variants
----------------------------------------
*/
/* stylelint-enable */
/* notifications.scss
---
Adds a notification at the top of each USWDS
compile. Use this file for important notifications
and updates to the design system.
This file should started fresh at each
major version.
*/
/* prettier-ignore */
/* prettier-ignore */
/* stylelint-disable */
/* stylelint-enable */
.usa-media-block {
-webkit-box-align: start;
-webkit-align-items: flex-start;
-ms-flex-align: start;
align-items: flex-start;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
.usa-media-block__img {
-webkit-flex-shrink: 0;
-ms-flex-negative: 0;
flex-shrink: 0;
margin-right: 0.5rem;
}
.usa-media-block__body {
-webkit-box-flex: 1;
-webkit-flex: 1 1 0%;
-ms-flex: 1 1 0%;
flex: 1 1 0%;
}
.usa-banner {
font-family: Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;
font-size: 1.06rem;
line-height: 1.5;
background-color: #f0f0f0;
}
@media all and (min-width: 40em) {
.usa-banner {
font-size: 0.87rem;
padding-bottom: 0rem;
}
}
.usa-banner .usa-accordion {
font-family: Source Sans Pro Web, Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;
font-size: 1.06rem;
line-height: 1.5;
}
.usa-banner .grid-row {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
.usa-banner .grid-row.grid-gap-lg {
margin-left: -0.75rem;
margin-right: -0.75rem;
}
.usa-banner .grid-row.grid-gap-lg > * {
padding-left: 0.75rem;
padding-right: 0.75rem;
}
@media all and (min-width: 40em) {
.usa-banner .grid-row .tablet\:grid-col-6 {
-webkit-box-flex: 0;
-webkit-flex: 0 1 auto;
-ms-flex: 0 1 auto;
flex: 0 1 auto;
width: 50%;
}
}
.usa-banner__header,
.usa-banner__content {
color: get-system-color("gray", 90);
}
.usa-banner__content {
margin-left: auto;
margin-right: auto;
max-width: 64rem;
padding-left: 1rem;
padding-right: 1rem;
padding-left: 1rem;
padding-right: 1rem;
background-color: transparent;
font-size: 1rem;
overflow: hidden;
padding-bottom: 1rem;
padding-left: 0.5rem;
padding-top: 0.25rem;
width: 100%;
}
@media all and (min-width: 64em) {
.usa-banner__content {
padding-left: 2rem;
padding-right: 2rem;
}
}
@media all and (min-width: 64em) {
.usa-banner__content {
padding-left: 2rem;
padding-right: 2rem;
}
}
@media all and (min-width: 40em) {
.usa-banner__content {
padding-bottom: 1.5rem;
padding-top: 1.5rem;
}
}
.usa-banner__content p:first-child {
margin: 0;
}
.usa-banner__guidance {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: start;
-webkit-align-items: flex-start;
-ms-flex-align: start;
align-items: flex-start;
max-width: 64ex;
padding-top: 1rem;
}
@media all and (min-width: 40em) {
.usa-banner__guidance {
padding-top: 0rem;
}
}
.usa-banner__lock-image {
height: 1.5ex;
width: 1.21875ex;
}
.usa-banner__lock-image path {
fill: currentColor;
}
@media (forced-colors: active) {
.usa-banner__lock-image path {
fill: CanvasText;
}
}
.usa-banner__inner {
padding-left: 1rem;
padding-right: 1rem;
margin-left: auto;
margin-right: auto;
max-width: 64rem;
padding-left: 1rem;
padding-right: 1rem;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-box-align: start;
-webkit-align-items: flex-start;
-ms-flex-align: start;
align-items: flex-start;
padding-right: 0rem;
}
@media all and (min-width: 64em) {
.usa-banner__inner {
padding-left: 2rem;
padding-right: 2rem;
}
}
@media all and (min-width: 64em) {
.usa-banner__inner {
padding-left: 2rem;
padding-right: 2rem;
}
}
@media all and (min-width: 40em) {
.usa-banner__inner {
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
}
.usa-banner__header {
padding-bottom: 0.5rem;
padding-top: 0.5rem;
font-size: 0.8rem;
font-weight: normal;
min-height: 3rem;
position: relative;
}
@media all and (min-width: 40em) {
.usa-banner__header {
padding-bottom: 0.25rem;
padding-top: 0.25rem;
min-height: 0;
}
}
.usa-banner__header-text {
margin-bottom: 0;
margin-top: 0;
font-size: 0.8rem;
line-height: 1.1;
}
.usa-banner__header-action {
color: get-system-color("blue", 60, "vivid");
line-height: 1.1;
margin-bottom: 0rem;
margin-top: 0.125rem;
text-decoration: underline;
}
.usa-banner__header-action::after {
background-image: url("../img/usa-icons/expand_more.svg");
background-repeat: no-repeat;
background-position: center center;
-webkit-background-size: 1rem 1rem;
background-size: 1rem 1rem;
display: inline-block;
height: 1rem;
width: 1rem;
content: "";
vertical-align: middle;
margin-left: auto;
}
@supports ((-webkit-mask: url("")) or (mask: url(""))) {
.usa-banner__header-action::after {
background: none;
background-color: get-system-color("blue", 60, "vivid");
-webkit-mask-image: url("../img/usa-icons/expand_more.svg"), -webkit-gradient(linear, left top, left bottom, from(transparent), to(transparent));
-webkit-mask-image: url("../img/usa-icons/expand_more.svg"), -webkit-linear-gradient(transparent, transparent);
mask-image: url("../img/usa-icons/expand_more.svg"), -webkit-gradient(linear, left top, left bottom, from(transparent), to(transparent));
mask-image: url("../img/usa-icons/expand_more.svg"), linear-gradient(transparent, transparent);
-webkit-mask-position: center center;
mask-position: center center;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
-webkit-mask-size: 1rem 1rem;
mask-size: 1rem 1rem;
}
.usa-banner__header-action::after:hover {
background-color: get-system-color("blue-warm", 70, "vivid");
}
}
.usa-banner__header-action:hover::after {
content: "";
background-color: get-system-color("blue-warm", 70, "vivid");
}
.usa-banner__header-action:visited {
color: get-system-color("violet", 70, "vivid");
}
.usa-banner__header-action:hover, .usa-banner__header-action:active {
color: get-system-color("blue-warm", 70, "vivid");
}
.usa-banner__header--expanded .usa-banner__header-action {
display: none;
}
@media all and (min-width: 40em) {
.usa-banner__header-action {
display: none;
}
}
@media (forced-colors: active) {
.usa-banner__header-action {
color: LinkText;
}
.usa-banner__header-action::after {
background-color: ButtonText;
}
}
.usa-banner__header-flag {
float: left;
margin-right: 0.5rem;
width: 1rem;
}
@media all and (min-width: 40em) {
.usa-banner__header-flag {
margin-right: 0.5rem;
padding-top: 0rem;
}
}
.usa-banner__header--expanded {
padding-right: 3.5rem;
}
@media all and (min-width: 40em) {
.usa-banner__header--expanded {
background-color: transparent;
display: block;
font-size: 0.8rem;
font-weight: normal;
min-height: 0rem;
padding-right: 0rem;
}
}
.usa-banner__header--expanded .usa-banner__inner {
margin-left: 0rem;
}
@media all and (min-width: 40em) {
.usa-banner__header--expanded .usa-banner__inner {
margin-left: auto;
}
}
.usa-banner__header--expanded .usa-banner__header-action {
display: none;
}
.usa-banner__button {
color: get-system-color("blue", 60, "vivid");
text-decoration: underline;
background-color: transparent;
border: 0;
border-radius: 0;
-webkit-box-shadow: none;
box-shadow: none;
font-weight: normal;
margin: 0;
padding: 0;
text-align: left;
position: absolute;
left: 0;
position: absolute;
bottom: 0;
top: 0;
color: get-system-color("blue", 60, "vivid");
text-decoration: underline;
vertical-align: baseline;
color: get-system-color("blue", 60, "vivid");
display: block;
font-size: 0.8rem;
height: auto;
line-height: 1.1;
padding-top: 0rem;
padding-left: 0rem;
text-decoration: none;
width: auto;
}
.usa-banner__button:visited {
color: get-system-color("violet", 70, "vivid");
}
.usa-banner__button:hover {
color: get-system-color("blue-warm", 70, "vivid");
}
.usa-banner__button:active {
color: get-system-color("blue-warm", 80, "vivid");
}
.usa-banner__button:focus {
outline: 0.25rem solid get-system-color("blue", 40, "vivid");
outline-offset: 0rem;
}
.usa-banner__button:hover, .usa-banner__button.usa-button--hover, .usa-banner__button:disabled:hover, .usa-banner__button[aria-disabled=true]:hover, .usa-banner__button:disabled.usa-button--hover, .usa-banner__button[aria-disabled=true].usa-button--hover, .usa-banner__button:active, .usa-banner__button.usa-button--active, .usa-banner__button:disabled:active, .usa-banner__button[aria-disabled=true]:active, .usa-banner__button:disabled.usa-button--active, .usa-banner__button[aria-disabled=true].usa-button--active, .usa-banner__button:disabled:focus, .usa-banner__button[aria-disabled=true]:focus, .usa-banner__button:disabled.usa-focus, .usa-banner__button[aria-disabled=true].usa-focus, .usa-banner__button:disabled, .usa-banner__button[aria-disabled=true], .usa-banner__button.usa-button--disabled {
background-color: transparent;
-webkit-box-shadow: none;
box-shadow: none;
text-decoration: underline;
}
.usa-banner__button.usa-button--hover {
color: get-system-color("blue-warm", 70, "vivid");
}
.usa-banner__button.usa-button--active {
color: get-system-color("blue-warm", 80, "vivid");
}
.usa-banner__button:disabled, .usa-banner__button[aria-disabled=true], .usa-banner__button:disabled:hover, .usa-banner__button[aria-disabled=true]:hover, .usa-banner__button[aria-disabled=true]:focus {
color: get-system-color("gray", 50);
}
@media (forced-colors: active) {
.usa-banner__button:disabled, .usa-banner__button[aria-disabled=true], .usa-banner__button:disabled:hover, .usa-banner__button[aria-disabled=true]:hover, .usa-banner__button[aria-disabled=true]:focus {
color: GrayText;
}
}
.usa-banner__button:visited {
color: get-system-color("violet", 70, "vivid");
}
.usa-banner__button:hover, .usa-banner__button:active {
color: get-system-color("blue-warm", 70, "vivid");
}
@media all and (max-width: 39.99em) {
.usa-banner__button {
width: 100%;
}
.usa-banner__button:enabled:focus {
outline-offset: -0.25rem;
}
}
@media all and (min-width: 40em) {
.usa-banner__button {
color: get-system-color("blue", 60, "vivid");
position: static;
bottom: auto;
left: auto;
right: auto;
top: auto;
display: inline;
margin-left: 0.5rem;
position: relative;
}
.usa-banner__button::after {
background-image: url("../img/usa-icons/expand_more.svg");
background-repeat: no-repeat;
background-position: center center;
-webkit-background-size: 1rem 1rem;
background-size: 1rem 1rem;
display: inline-block;
height: 1rem;
width: 1rem;
content: "";
vertical-align: middle;
margin-left: 0.125rem;
}
@supports ((-webkit-mask: url("")) or (mask: url(""))) {
.usa-banner__button::after {
background: none;
background-color: get-system-color("blue", 60, "vivid");
-webkit-mask-image: url("../img/usa-icons/expand_more.svg"), -webkit-gradient(linear, left top, left bottom, from(transparent), to(transparent));
-webkit-mask-image: url("../img/usa-icons/expand_more.svg"), -webkit-linear-gradient(transparent, transparent);
mask-image: url("../img/usa-icons/expand_more.svg"), -webkit-gradient(linear, left top, left bottom, from(transparent), to(transparent));
mask-image: url("../img/usa-icons/expand_more.svg"), linear-gradient(transparent, transparent);
-webkit-mask-position: center center;
mask-position: center center;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
-webkit-mask-size: 1rem 1rem;
mask-size: 1rem 1rem;
}
.usa-banner__button::after:hover {
background-color: get-system-color("blue-warm", 70, "vivid");
}
}
.usa-banner__button:hover::after {
content: "";
background-color: get-system-color("blue-warm", 70, "vivid");
}
.usa-banner__button:visited {
color: get-system-color("violet", 70, "vivid");
}
.usa-banner__button:hover, .usa-banner__button:active {
color: get-system-color("blue-warm", 70, "vivid");
}
.usa-banner__button::after, .usa-banner__button:hover::after {
position: absolute;
}
}
@media (min-width: 40em) and (forced-colors: active) {
.usa-banner__button::after, .usa-banner__button:hover::after {
background-color: ButtonText;
}
}
@media all and (min-width: 40em) {
.usa-banner__button:hover {
text-decoration: none;
}
}
.usa-banner__button[aria-expanded=false], .usa-banner__button[aria-expanded=false]:hover, .usa-banner__button[aria-expanded=true], .usa-banner__button[aria-expanded=true]:hover {
background-image: none;
}
@media (forced-colors: active) {
.usa-banner__button[aria-expanded=false]::before, .usa-banner__button[aria-expanded=false]:hover::before, .usa-banner__button[aria-expanded=true]::before, .usa-banner__button[aria-expanded=true]:hover::before {
content: none;
}
}
@media all and (max-width: 39.99em) {
.usa-banner__button[aria-expanded=true]::after {
background-image: url("../img/usa-icons/close.svg");
background-repeat: no-repeat;
background-position: center center;
-webkit-background-size: 1.5rem 1.5rem;
background-size: 1.5rem 1.5rem;
display: inline-block;
height: 3rem;
width: 3rem;
content: "";
vertical-align: middle;
margin-left: 0rem;
}
@supports ((-webkit-mask: url("")) or (mask: url(""))) {
.usa-banner__button[aria-expanded=true]::after {
background: none;
background-color: get-system-color("blue", 60, "vivid");
-webkit-mask-image: url("../img/usa-icons/close.svg"), -webkit-gradient(linear, left top, left bottom, from(transparent), to(transparent));
-webkit-mask-image: url("../img/usa-icons/close.svg"), -webkit-linear-gradient(transparent, transparent);
mask-image: url("../img/usa-icons/close.svg"), -webkit-gradient(linear, left top, left bottom, from(transparent), to(transparent));
mask-image: url("../img/usa-icons/close.svg"), linear-gradient(transparent, transparent);
-webkit-mask-position: center center;
mask-position: center center;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
-webkit-mask-size: 1.5rem 1.5rem;
mask-size: 1.5rem 1.5rem;
}
}
.usa-banner__button[aria-expanded=true]::before {
position: absolute;
bottom: 0;
top: 0;
position: absolute;
right: 0;
background-color: get-system-color("gray-cool", 10);
content: "";
display: block;
height: 3rem;
width: 3rem;
}
.usa-banner__button[aria-expanded=true]::after {
position: absolute;
bottom: 0;
top: 0;
position: absolute;
right: 0;
}
}
@media all and (min-width: 40em) {
.usa-banner__button[aria-expanded=true] {
height: auto;
padding: 0rem;
position: relative;
}
.usa-banner__button[aria-expanded=true]::after {
background-image: url("../img/usa-icons/expand_less.svg");
background-repeat: no-repeat;
background-position: center center;
-webkit-background-size: 1rem 1rem;
background-size: 1rem 1rem;
display: inline-block;
height: 1rem;
width: 1rem;
content: "";
vertical-align: middle;
margin-left: 0.125rem;
}
@supports ((-webkit-mask: url("")) or (mask: url(""))) {
.usa-banner__button[aria-expanded=true]::after {
background: none;
background-color: get-system-color("blue", 60, "vivid");
-webkit-mask-image: url("../img/usa-icons/expand_less.svg"), -webkit-gradient(linear, left top, left bottom, from(transparent), to(transparent));
-webkit-mask-image: url("../img/usa-icons/expand_less.svg"), -webkit-linear-gradient(transparent, transparent);
mask-image: url("../img/usa-icons/expand_less.svg"), -webkit-gradient(linear, left top, left bottom, from(transparent), to(transparent));
mask-image: url("../img/usa-icons/expand_less.svg"), linear-gradient(transparent, transparent);
-webkit-mask-position: center center;
mask-position: center center;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
-webkit-mask-size: 1rem 1rem;
mask-size: 1rem 1rem;
}
.usa-banner__button[aria-expanded=true]::after:hover {
background-color: get-system-color("blue-warm", 70, "vivid");
}
}
.usa-banner__button[aria-expanded=true]:hover::after {
content: "";
background-color: get-system-color("blue-warm", 70, "vivid");
}
.usa-banner__button[aria-expanded=true]::after, .usa-banner__button[aria-expanded=true]:hover::after {
position: absolute;
}
}
@media (min-width: 40em) and (forced-colors: active) {
.usa-banner__button[aria-expanded=true]::after, .usa-banner__button[aria-expanded=true]:hover::after {
background-color: ButtonText;
}
}
.usa-banner__button-text {
position: absolute;
left: -999em;
right: auto;
text-decoration: underline;
}
@media all and (min-width: 40em) {
.usa-banner__button-text {
position: static;
display: inline;
}
}
@media (forced-colors: active) {
.usa-banner__button-text {
color: LinkText;
}
}
.usa-banner__icon {
width: 2.5rem;
}
.usa-js-loading .usa-banner__content {
position: absolute;
left: -999em;
right: auto;
}
/* TYPOGRAPHY */
/* Google Fonts */
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
p {
color: #050D15;
}
h1,
.h1 {
font-family: "Fjalla One", sans-serif;
font-size: 3rem;
font-style: normal;
font-weight: 400;
line-height: normal;
}
h2,
.h2 {
font-family: "Fjalla One", sans-serif;
font-size: 2.5rem;
font-style: normal;
font-weight: 400;
line-height: normal;
}
h3,
.h3 {
font-family: "Open Sans", sans-serif;
font-size: 1.5rem;
font-style: normal;
font-weight: 700;
line-height: normal;
text-transform: uppercase;
}
h4,
.h4 {
font-family: "Fjalla One", sans-serif;
font-size: 1.5rem;
font-style: normal;
font-weight: 400;
line-height: normal;
text-transform: uppercase;
}
h5,
.h5 {
font-family: "Fjalla One", sans-serif;
font-size: 1.125rem;
font-style: normal;
font-weight: 400;
line-height: normal;
text-transform: uppercase;
}
p {
font-family: "Open Sans", sans-serif;
font-size: 1rem;
font-style: normal;
font-weight: 400;
line-height: 1.5rem;
}
p.large {
font-size: 1.125rem;
}
button,
a.button,
a.lock-icon-button,
a.lock-icon-button-white {
font-weight: 700;
}
.card-heading {
font-family: "Fjalla One", sans-serif;
font-size: 1.125rem;
text-transform: uppercase;
}
.bold {
font-weight: 700;
}
p > a {
color: inherit;
text-decoration: underline;
}
.mv-0 {
margin-top: 0;
margin-bottom: 0;
}
.mr-8 {
margin-right: 0.5rem;
}
.ml-8 {
margin-left: 0.5rem;
}
.mr-16 {
margin-right: 1rem;
}
.ml-16 {
margin-left: 1rem;
}
.wrapper {
margin: auto;
max-width: 1140px;
right: 0;
}
.grid {
display: grid;
grid-auto-columns: minmax(1fr, auto);
grid-template-columns: repeat(12, [col-start] 1fr);
gap: 24px;
grid-auto-rows: auto;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
}
.grid .col-1,
.grid .col-2,
.grid .col-3,
.grid .col-4,
.grid .col-5,
.grid .col-6,
.grid .col-7,
.grid .col-8,
.grid .col-9,
.grid .col-10,
.grid .col-11,
.grid .col-12 {
-webkit-box-sizing: border-box;
box-sizing: border-box;
grid-column-end: span 1;
width: 100%;
}
.grid .col-2 {
grid-column-end: span 2;
}
.grid .col-3 {
grid-column-end: span 3;
}
.grid .col-4 {
grid-column-end: span 4;
}
.grid .col-5 {
grid-column-end: span 5;
}
.grid .col-6 {
grid-column-end: span 6;
}
.grid .col-7 {
grid-column-end: span 7;
}
.grid .col-8 {
grid-column-end: span 8;
}
.grid .col-9 {
grid-column-end: span 9;
}
.grid .col-10 {
grid-column-end: span 10;
}
.grid .col-11 {
grid-column-end: span 11;
}
.grid .col-12 {
grid-column-end: span 12;
}
.grid .col-start-1 {
grid-column-start: 1;
}
.grid .col-start-2 {
grid-column-start: 2;
}
.grid .col-start-3 {
grid-column-start: 3;
}
.grid .col-start-4 {
grid-column-start: 4;
}
.grid .col-start-5 {
grid-column-start: 5;
}
.grid .col-start-6 {
grid-column-start: 6;
}
.grid .col-start-7 {
grid-column-start: 7;
}
.grid .col-start-8 {
grid-column-start: 8;
}
.grid .col-start-9 {
grid-column-start: 9;
}
.grid .col-start-10 {
grid-column-start: 10;
}
.grid .col-start-11 {
grid-column-start: 11;
}
.grid .col-start-12 {
grid-column-start: 12;
}
@media screen and (max-width: 49.3125rem) {
.grid {
grid-template-columns: minmax(0, 1fr);
grid-template-rows: auto;
}
.grid .col-1,
.grid .col-2,
.grid .col-3,
.grid .col-4,
.grid .col-5,
.grid .col-6,
.grid .col-7,
.grid .col-8,
.grid .col-9,
.grid .col-10,
.grid .col-11,
.grid .col-12,
.grid .col {
grid-column: auto;
}
}
img {
max-width: 100%;
height: 100%;
}
.nav {
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
color: #616265;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
list-style: none;
margin-bottom: 0;
padding: 1rem;
position: relative;
text-transform: uppercase;
}
.nav > .menu-item--active-trail > a {
border-radius: 4px 4px 0px 0px;
border-bottom: 2px solid #20588A;
background: #F4FBFF;
color: #20588A;
}
.nav > .menu-item--active-trail > a:hover {
border-radius: 4px 4px 0px 0px;
}
.nav > .menu-item--active-trail > a:focus-visible {
outline: -webkit-focus-ring-color auto 1px;
}
.nav .log-out-icon::after {
background-image: url("../images/logout.svg");
background-repeat: no-repeat;
content: "";
display: inline-block;
height: 22px;
margin-left: 1rem;
vertical-align: middle;
width: 22px;
}
.nav-item > a:not(.button-primary, .button-secondary):hover {
border-radius: 5px;
background: var(--Light-blue, #F4FBFF);
}
.nav-item.menu-item--expanded .menu {
background-color: #FFFFFF;
border-radius: 10px;
-webkit-box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.08);
box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.08);
list-style-type: none;
padding: 0.625rem;
position: absolute;
visibility: hidden;
z-index: 99999;
}
.nav-item.menu-item--expanded .menu li[icon=_services_icon],
.nav-item.menu-item--expanded .menu li[icon=_roadmap_icon],
.nav-item.menu-item--expanded .menu li[icon=_organization_icon],
.nav-item.menu-item--expanded .menu li[icon=_leadership_icon],
.nav-item.menu-item--expanded .menu li[icon=_diversity_icon],
.nav-item.menu-item--expanded .menu li[icon=_health_icon] {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
padding: 1.125rem 1.25rem;
}
.nav-item.menu-item--expanded .menu li[icon=_services_icon] a::before,
.nav-item.menu-item--expanded .menu li[icon=_roadmap_icon] a::before,
.nav-item.menu-item--expanded .menu li[icon=_organization_icon] a::before,
.nav-item.menu-item--expanded .menu li[icon=_leadership_icon] a::before,
.nav-item.menu-item--expanded .menu li[icon=_diversity_icon] a::before,
.nav-item.menu-item--expanded .menu li[icon=_health_icon] a::before {
content: "";
height: 48px;
left: 10px;
position: absolute;
width: 54px;
}
.nav-item.menu-item--expanded .menu li[icon=_services_icon] a::before {
background-image: url("../images/services_icon.svg");
}
.nav-item.menu-item--expanded .menu li[icon=_roadmap_icon] a::before {
background-image: url("../images/roadmap_icon.svg");
}
.nav-item.menu-item--expanded .menu li[icon=_organization_icon] a::before {
background-image: url("../images/organization_icon.svg");
}
.nav-item.menu-item--expanded .menu li[icon=_leadership_icon] a::before {
background-image: url("../images/leadership_icon.svg");
}
.nav-item.menu-item--expanded .menu li[icon=_diversity_icon] a::before {
background-image: url("../images/diversity_icon.svg");
}
.nav-item.menu-item--expanded .menu li[icon=_health_icon] a::before {
background-image: url("../images/health_icon.svg");
}
.nav-item.menu-item--expanded .menu li:hover {
border-radius: 5px;
background: var(--Light-blue, #F4FBFF);
}
.nav-item.menu-item--expanded .menu a {
color: #050D15;
font-size: 0.75rem;
font-family: "Open Sans", sans-serif;
padding: 0;
padding-left: 3.125rem;
}
.nav-item.menu-item--expanded .menu a span {
display: block;
font-weight: 400;
}
.nav-item.menu-item--expanded .menu span {
font-size: 0.75rem;
text-transform: initial;
}
.nav-item.menu-item--expanded:hover .menu, .nav-item.menu-item--expanded:focus-within .menu {
visibility: visible;
}
.nav-link {
color: #616265;
font-size: 0.875rem;
font-family: "Open Sans", sans-serif;
font-weight: 700;
}
.navbar-expand-lg {
margin: auto;
max-width: 1140px;
right: 0;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-webkit-justify-content: space-between;
-ms-flex-pack: justify;
justify-content: space-between;
}
.navbar-brand {
width: 126px;
}
@media only screen and (max-width: 61.9375rem) {
.nav {
-webkit-box-align: start;
-webkit-align-items: flex-start;
-ms-flex-align: start;
align-items: flex-start;
padding: 1rem 0;
}
.nav > .menu-item--active-trail > a {
background: transparent;
border-radius: 0;
border-bottom: none;
color: #20588A;
}
.nav-link {
padding: 0;
}
.nav-item > a:hover {
border-radius: 0;
background: transparent;
}
.navbar-expand-lg {
padding: 0 1rem;
}
.nav-item.menu-item--expanded .menu {
padding: 0;
margin-top: 0.5rem;
visibility: visible;
}
.nav-item.menu-item--expanded .menu a {
font-size: 0.875rem;
font-weight: normal;
padding: 0;
text-transform: initial;
}
.nav-item.menu-item--expanded .menu a span {
display: none;
}
.nav-item.menu-item--expanded .menu a:hover {
color: #20588A;
}
.nav-item.menu-item--expanded .menu li[icon=_services_icon],
.nav-item.menu-item--expanded .menu li[icon=_roadmap_icon],
.nav-item.menu-item--expanded .menu li[icon=_organization_icon],
.nav-item.menu-item--expanded .menu li[icon=_leadership_icon],
.nav-item.menu-item--expanded .menu li[icon=_diversity_icon],
.nav-item.menu-item--expanded .menu li[icon=_health_icon] {
padding: 1rem 0;
}
.nav-item.menu-item--expanded .menu li[icon=_services_icon] a::before,
.nav-item.menu-item--expanded .menu li[icon=_roadmap_icon] a::before,
.nav-item.menu-item--expanded .menu li[icon=_organization_icon] a::before,
.nav-item.menu-item--expanded .menu li[icon=_leadership_icon] a::before,
.nav-item.menu-item--expanded .menu li[icon=_diversity_icon] a::before,
.nav-item.menu-item--expanded .menu li[icon=_health_icon] a::before {
display: none;
}
.nav-item.menu-item--expanded .menu li:hover {
border-radius: 0;
background: transparent;
}
}
@media screen and (max-width: 49.3125rem) {
ul > li.nav-item.header-nav-action-item {
margin-left: 0;
margin-top: 1.5rem;
}
}
#block-customer-portal-theme-mainmenu-2 > ul > li.nav-item.header-nav-action-item {
display: none;
}
.navbar-toggler {
background-color: #20588A;
border-radius: 50%;
height: 38px;
padding: 0;
width: 38px;
}
.navbar-toggler.collapsed .navbar-toggler-icon {
background-image: url("../images/mobile_icons.svg");
border: none;
}
.navbar-toggler > .navbar-toggler-icon {
background-image: url("../images/close_mobile_icon.svg");
}
.navbar-toggler > .navbar-toggler-icon .nav, .navbar-collapse.show .nav {
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
}
.navbar-toggler > .navbar-toggler-icon .nav .nav-item.menu-item--expanded::after, .navbar-collapse.show .nav .nav-item.menu-item--expanded::after {
background-image: url("../images/drop_down_arrow.svg");
content: "";
height: 24px;
margin-top: -1.875rem;
position: absolute;
right: 20px;
width: 24px;
}
.navbar-toggler > .navbar-toggler-icon .nav .nav-item.menu-item--expanded .menu, .navbar-collapse.show .nav .nav-item.menu-item--expanded .menu {
border-radius: 0;
-webkit-box-shadow: none;
box-shadow: none;
position: relative;
margin-top: 0;
}
@media only screen and (max-width: 61.9375rem) {
.navbar-toggler > .navbar-toggler-icon .nav .nav-item.menu-item--expanded::after, .navbar-collapse.show .nav .nav-item.menu-item--expanded::after {
display: none;
}
.navbar-toggler > .navbar-toggler-icon .nav .nav-item.menu-item--expanded .menu, .navbar-collapse.show .nav .nav-item.menu-item--expanded .menu {
margin-top: 0.5rem;
}
}
.site-footer {
background: #050D15 !important;
}
.site-footer .region-footer-first,
.site-footer .region-footer-second,
.site-footer .region-footer-third {
margin: auto;
max-width: 1140px;
right: 0;
}
.site-footer .region-footer-first .footer-wrapper,
.site-footer .region-footer-second .footer-wrapper,
.site-footer .region-footer-third .footer-wrapper {
max-width: 1026px;
}
.site-footer .region-footer-first {
padding: 3.75rem 0 0 0;
}
.site-footer .region-footer-first nav .nav {
-webkit-box-align: start;
-webkit-align-items: flex-start;
-ms-flex-align: start;
align-items: flex-start;
padding: 0 0 1rem;
}
.site-footer .region-footer-first nav .nav .nav-link.button-primary.button-primary--login, .site-footer .region-footer-first nav .nav .log-out-icon {
display: none;
}
.site-footer .region-footer-first nav li {
width: 150px;
}
.site-footer .region-footer-first nav .nav-link {
color: #FFFFFF;
font-size: 0.875rem;
padding: 0.625rem;
text-decoration: underline;
text-transform: none;
}
.site-footer .region-footer-first nav .nav-link:hover {
color: #48A4B6;
background-color: transparent;
}
.site-footer .region-footer-first nav .nav-link:visited {
background: transparent;
}
.site-footer .region-footer-first nav .nav-link:focus-visible, .site-footer .region-footer-first nav .nav-link:focus {
-webkit-box-shadow: 0 0 0 0.25rem #FFFFFF;
box-shadow: 0 0 0 0.25rem #FFFFFF;
}
.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu {
background-color: transparent;
border-radius: 0;
-webkit-box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.08);
box-shadow: none;
list-style-type: none;
padding: 0;
position: relative;
visibility: visible;
}
.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu a {
color: #FFFFFF;
font-size: 0.875rem;
font-weight: 400;
text-decoration: underline;
text-transform: none;
}
.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu span {
display: none;
}
.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_services_icon],
.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_roadmap_icon],
.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_organization_icon],
.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_leadership_icon],
.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_diversity_icon],
.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_health_icon] {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
margin-left: 0;
padding: 0;
}
.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_services_icon]::before,
.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_roadmap_icon]::before,
.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_organization_icon]::before,
.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_leadership_icon]::before,
.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_diversity_icon]::before,
.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_health_icon]::before {
background-image: none;
content: "";
height: 0;
left: 0;
position: absolute;
width: 0;
}
.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_services_icon]:hover a,
.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_roadmap_icon]:hover a,
.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_organization_icon]:hover a,
.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_leadership_icon]:hover a,
.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_diversity_icon]:hover a,
.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_health_icon]:hover a {
background-color: transparent;
color: #48A4B6;
}
.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_services_icon] a::before,
.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_roadmap_icon] a::before,
.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_organization_icon] a::before,
.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_leadership_icon] a::before,
.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_diversity_icon] a::before,
.site-footer .region-footer-first nav .nav-item.menu-item--expanded .menu li[icon=_health_icon] a::before {
display: none;
}
.site-footer .region-footer-first .nav > .menu-item--active-trail > a {
background: transparent;
border: 0;
color: #909193;
}
.site-footer .region-footer-second {
border-top: 1px solid #616265;
padding: 2.5rem 0;
}
.site-footer .region-footer-second .nav {
-webkit-column-gap: 20px;
-moz-column-gap: 20px;
column-gap: 20px;
padding: 0;
}
.site-footer .region-footer-second .nav li a {
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-webkit-justify-content: space-between;
-ms-flex-pack: justify;
justify-content: space-between;
}
.site-footer .region-footer-second .nav li {
padding: 0;
}
.site-footer .region-footer-second .block-content-footer_links {
margin-bottom: 2.5rem;
}
.site-footer .region-footer-second .block-content-footer_links .field--name-field-footer-content {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
}
.site-footer .region-footer-second .block-content-footer_links .field--name-field-footer-content .field__item:first-of-type .field--name-field-footer-title::before, .site-footer .region-footer-second .block-content-footer_links .field--name-field-footer-content .field__item:nth-of-type(2) .field--name-field-footer-title::before, .site-footer .region-footer-second .block-content-footer_links .field--name-field-footer-content .field__item:nth-of-type(3) .field--name-field-footer-title::before {
background-image: url("../images/laptop.svg");
content: "";
display: -webkit-inline-box;
display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
height: 18px;
margin-right: 0.5rem;
vertical-align: middle;
width: 18px;
}
.site-footer .region-footer-second .block-content-footer_links .field--name-field-footer-content .field__item:nth-of-type(2) .field--name-field-footer-title::before {
background-image: url("../images/phone.svg");
}
.site-footer .region-footer-second .block-content-footer_links .field--name-field-footer-content .field__item:nth-of-type(3) .field--name-field-footer-title::before {
background-image: url("../images/location.svg");
}
.site-footer .region-footer-second .block-content-footer_links .paragraph--type--footer-links .field--name-field-footer-description p,
.site-footer .region-footer-second .block-content-footer_links .paragraph--type--footer-links .field--name-field-footer-title {
color: #FFFFFF;
}
.site-footer .region-footer-second .block-content-footer_links .paragraph--type--footer-links .field--name-field-footer-title {
font-size: 0.875rem;
text-transform: uppercase;
margin-bottom: 1rem;
}
.site-footer .region-footer-second .block-content-footer_links .paragraph--type--footer-links .field--name-field-footer-link a:not(.outline-icon-btn-white) {
border-radius: initial;
border-top: none;
border-right: none;
border-left: none;
border-bottom: 2px solid transparent;
padding: 0.375rem 0.25rem;
font-family: "Open Sans", sans-serif;
font-weight: 700;
text-transform: uppercase;
text-decoration: none;
cursor: pointer;
border-bottom-color: #FFFFFF;
color: #FFFFFF;
font-size: 0.75rem;
font-weight: 700;
text-transform: uppercase;
}
.site-footer .region-footer-second .block-content-footer_links .paragraph--type--footer-links .field--name-field-footer-link a:not(.outline-icon-btn-white)::after {
-webkit-filter: brightness(0) invert(1);
filter: brightness(0) invert(1);
}
.site-footer .region-footer-second .block-content-footer_links .paragraph--type--footer-links .field--name-field-footer-link a:not(.outline-icon-btn-white)::after {
content: "";
background-image: url("../images/open-gray.svg");
-webkit-background-size: contain;
background-size: contain;
display: inline-block;
fill: currentColor;
height: 18px;
margin-left: 0.5rem;
position: relative;
top: 0;
vertical-align: text-bottom;
width: 18px;
}
.site-footer .region-footer-second .block-content-footer_links .paragraph--type--footer-links .field--name-field-footer-link a:not(.outline-icon-btn-white)::after {
margin-left: 0.5rem;
}
.site-footer .region-footer-second .block-content-footer_links .paragraph--type--footer-links .field--name-field-footer-link a:not(.outline-icon-btn-white):hover {
color: #48A4B6;
background-color: transparent;
border-bottom-color: #48A4B6;
border-left-color: transparent;
border-right-color: transparent;
border-top-color: transparent;
}
.site-footer .region-footer-second .block-content-footer_links .paragraph--type--footer-links .field--name-field-footer-link a:not(.outline-icon-btn-white):hover::after {
-webkit-filter: invert(55%) sepia(10%) saturate(2052%) hue-rotate(142deg) brightness(102%) contrast(91%);
filter: invert(55%) sepia(10%) saturate(2052%) hue-rotate(142deg) brightness(102%) contrast(91%);
}
.site-footer .region-footer-second .block-content-footer_links .paragraph--type--footer-links .field--name-field-footer-link a:not(.outline-icon-btn-white):focus {
outline: none;
-webkit-box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.5);
box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.5);
}
.site-footer .region-footer-second .block-content-footer_links .paragraph--type--footer-links .field--name-field-footer-link a:not(.outline-icon-btn-white):focus {
-webkit-box-shadow: 0 0 0 2px #FFFFFF;
box-shadow: 0 0 0 2px #FFFFFF;
}
.site-footer .region-footer-second .block-content-footer_links .paragraph--type--footer-links .field--name-field-footer-description p {
font-size: 0.75rem;
}
.site-footer .region-footer-second .block-content-basic .field--name-body p {
color: #FFFFFF;
font-size: 0.75rem;
margin-top: 2.5rem;
}
.site-footer .region-footer-third {
border-top: 1px solid #616265;
padding: 2.5rem 0 3.75rem 0;
}
.site-footer .region-footer-third .nav {
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
padding: 0;
}
.site-footer .region-footer-third .nav a {
color: #FFFFFF;
font-size: 0.75rem;
font-weight: 400;
text-decoration: underline;
}
.site-footer .region-footer-third .nav a:hover {
color: #48A4B6;
background: transparent;
}
.site-footer .region-footer-third .nav-link:focus {
-webkit-box-shadow: 0 0 0 0.25rem #FFFFFF;
box-shadow: 0 0 0 0.25rem #FFFFFF;
}
.site-footer .nav-item.menu-item--expanded .menu li:hover {
background: transparent;
}
#block-customer-portal-theme-mainmenu-2 > ul > li[icon=_services_icon]::before,
#block-customer-portal-theme-mainmenu-2 > ul > li[icon=_support_icon]::before,
#block-customer-portal-theme-mainmenu-2 > ul > li[icon=_about_icon]::before,
#block-customer-portal-theme-mainmenu-2 > ul > li[icon=_connect_icon]::before {
content: "";
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
height: 48px;
width: 54px;
}
#block-customer-portal-theme-mainmenu-2 > ul > li[icon=_services_icon]::before {
background-image: url("../images/services_icon.svg");
}
#block-customer-portal-theme-mainmenu-2 > ul > li[icon=_support_icon]::before {
background-image: url("../images/support.svg");
}
#block-customer-portal-theme-mainmenu-2 > ul > li[icon=_about_icon]::before {
background-image: url("../images/people.svg");
}
#block-customer-portal-theme-mainmenu-2 > ul > li[icon=_connect_icon]::before {
background-image: url("../images/connect.svg");
}
@media only screen and (max-width: 45rem) {
.site-footer {
padding: 1rem;
}
.site-footer .region-footer-first {
padding: 0;
}
.site-footer .region-footer-first .nav {
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
}
.site-footer .region-footer-second .block-content-footer_links .field--name-field-footer-content {
grid-template-columns: 1fr;
row-gap: 40px;
}
.site-footer .region-footer-third .nav {
-webkit-box-pack: start;
-webkit-justify-content: flex-start;
-ms-flex-pack: start;
justify-content: flex-start;
}
}
.primary-button,
.button-primary {
border-radius: 5px;
border: 2px solid transparent;
cursor: pointer;
display: inline-block;
font-style: normal;
font-weight: 700;
padding: 0.625rem 1.25rem;
text-align: center;
text-decoration: none;
text-transform: uppercase;
border-color: #20588A;
background-color: #20588A;
color: #FFFFFF;
}
.primary-button:disabled,
.button-primary:disabled {
opacity: 0.5;
cursor: not-allowed;
pointer-events: none;
}
.primary-button:focus,
.button-primary:focus {
outline-offset: 2px;
}
.primary-button:hover,
.button-primary:hover {
background-color: #133553;
border-color: #133553;
color: #FFFFFF;
}
.primary-button:focus,
.button-primary:focus {
border-color: #050D15;
color: #FFFFFF;
}
.primary-button::before, .primary-button::after,
.button-primary::before,
.button-primary::after {
-webkit-filter: brightness(0) invert(1);
filter: brightness(0) invert(1);
}
.primary-button:hover::before, .primary-button:hover::after, .primary-button:focus::before, .primary-button:focus::after,
.button-primary:hover::before,
.button-primary:hover::after,
.button-primary:focus::before,
.button-primary:focus::after {
-webkit-filter: brightness(0) invert(1);
filter: brightness(0) invert(1);
}
.primary-button:hover::before, .primary-button:hover::after, .primary-button:active::before, .primary-button:active::after, .primary-button:focus::before, .primary-button:focus::after,
.button-primary:hover::before,
.button-primary:hover::after,
.button-primary:active::before,
.button-primary:active::after,
.button-primary:focus::before,
.button-primary:focus::after {
fill: currentColor;
}
.button-primary--arrow {
border-radius: 5px;
border: 2px solid transparent;
cursor: pointer;
display: inline-block;
font-style: normal;
font-weight: 700;
padding: 0.625rem 1.25rem;
text-align: center;
text-decoration: none;
text-transform: uppercase;
border-color: #20588A;
background-color: #20588A;
color: #FFFFFF;
}
.button-primary--arrow:disabled {
opacity: 0.5;
cursor: not-allowed;
pointer-events: none;
}
.button-primary--arrow:focus {
outline-offset: 2px;
}
.button-primary--arrow:hover {
background-color: #133553;
border-color: #133553;
color: #FFFFFF;
}
.button-primary--arrow:focus {
border-color: #050D15;
color: #FFFFFF;
}
.button-primary--arrow::before, .button-primary--arrow::after {
-webkit-filter: brightness(0) invert(1);
filter: brightness(0) invert(1);
}
.button-primary--arrow:hover::before, .button-primary--arrow:hover::after, .button-primary--arrow:focus::before, .button-primary--arrow:focus::after {
-webkit-filter: brightness(0) invert(1);
filter: brightness(0) invert(1);
}
.button-primary--arrow::after {
content: "";
background-image: url("../images/arrow-forward.svg");
-webkit-background-size: contain;
background-size: contain;
display: inline-block;
fill: currentColor;
height: 18px;
margin-left: 0.625rem;
margin-right: 0;
position: relative;
top: 0;
vertical-align: text-bottom;
width: 18px;
}
.button-primary--arrow:hover::before, .button-primary--arrow:hover::after, .button-primary--arrow:active::before, .button-primary--arrow:active::after, .button-primary--arrow:focus::before, .button-primary--arrow:focus::after {
fill: currentColor;
}
.button-primary--download {
border-radius: 5px;
border: 2px solid transparent;
cursor: pointer;
display: inline-block;
font-style: normal;
font-weight: 700;
padding: 0.625rem 1.25rem;
text-align: center;
text-decoration: none;
text-transform: uppercase;
border-color: #20588A;
background-color: #20588A;
color: #FFFFFF;
}
.button-primary--download:disabled {
opacity: 0.5;
cursor: not-allowed;
pointer-events: none;
}
.button-primary--download:focus {
outline-offset: 2px;
}
.button-primary--download:hover {
background-color: #133553;
border-color: #133553;
color: #FFFFFF;
}
.button-primary--download:focus {
border-color: #050D15;
color: #FFFFFF;
}
.button-primary--download::before, .button-primary--download::after {
-webkit-filter: brightness(0) invert(1);
filter: brightness(0) invert(1);
}
.button-primary--download:hover::before, .button-primary--download:hover::after, .button-primary--download:focus::before, .button-primary--download:focus::after {
-webkit-filter: brightness(0) invert(1);
filter: brightness(0) invert(1);
}
.button-primary--download::after {
content: "";
background-image: url("../images/download.svg");
-webkit-background-size: contain;
background-size: contain;
display: inline-block;
fill: currentColor;
height: 18px;
margin-left: 0.625rem;
margin-right: 0;
position: relative;
top: 0;
vertical-align: text-bottom;
width: 18px;
}
.button-primary--download:hover::before, .button-primary--download:hover::after, .button-primary--download:active::before, .button-primary--download:active::after, .button-primary--download:focus::before, .button-primary--download:focus::after {
fill: currentColor;
}
.button-primary--login {
border-radius: 5px;
border: 2px solid transparent;
cursor: pointer;
display: inline-block;
font-style: normal;
font-weight: 700;
padding: 0.625rem 1.25rem;
text-align: center;
text-decoration: none;
text-transform: uppercase;
border-color: #20588A;
background-color: #20588A;
color: #FFFFFF;
}
.button-primary--login:disabled {
opacity: 0.5;
cursor: not-allowed;
pointer-events: none;
}
.button-primary--login:focus {
outline-offset: 2px;
}
.button-primary--login:hover {
background-color: #133553;
border-color: #133553;
color: #FFFFFF;
}
.button-primary--login:focus {
border-color: #050D15;
color: #FFFFFF;
}
.button-primary--login::before, .button-primary--login::after {
-webkit-filter: brightness(0) invert(1);
filter: brightness(0) invert(1);
}
.button-primary--login:hover::before, .button-primary--login:hover::after, .button-primary--login:focus::before, .button-primary--login:focus::after {
-webkit-filter: brightness(0) invert(1);
filter: brightness(0) invert(1);
}
.button-primary--login::after {
content: "";
background-image: url("../images/login.svg");
-webkit-background-size: contain;
background-size: contain;
display: inline-block;
fill: currentColor;
height: 18px;
margin-left: 0.625rem;
margin-right: 0;
position: relative;
top: 0;
vertical-align: text-bottom;
width: 18px;
}
.button-primary--login:hover::before, .button-primary--login:hover::after, .button-primary--login:active::before, .button-primary--login:active::after, .button-primary--login:focus::before, .button-primary--login:focus::after {
fill: currentColor;
}
.button-primary--external {
border-radius: 5px;
border: 2px solid transparent;
cursor: pointer;
display: inline-block;
font-style: normal;
font-weight: 700;
padding: 0.625rem 1.25rem;
text-align: center;
text-decoration: none;
text-transform: uppercase;
border-color: #20588A;
background-color: #20588A;
color: #FFFFFF;
}
.button-primary--external:disabled {
opacity: 0.5;
cursor: not-allowed;
pointer-events: none;
}
.button-primary--external:focus {
outline-offset: 2px;
}
.button-primary--external:hover {
background-color: #133553;
border-color: #133553;
color: #FFFFFF;
}
.button-primary--external:focus {
border-color: #050D15;
color: #FFFFFF;
}
.button-primary--external::before, .button-primary--external::after {
-webkit-filter: brightness(0) invert(1);
filter: brightness(0) invert(1);
}
.button-primary--external:hover::before, .button-primary--external:hover::after, .button-primary--external:focus::before, .button-primary--external:focus::after {
-webkit-filter: brightness(0) invert(1);
filter: brightness(0) invert(1);
}
.button-primary--external::after {
content: "";
background-image: url("../images/open-gray.svg");
-webkit-background-size: contain;
background-size: contain;
display: inline-block;
fill: currentColor;
height: 18px;
margin-left: 0.625rem;
margin-right: 0;
position: relative;
top: 0;
vertical-align: text-bottom;
width: 18px;
}
.button-primary--external:hover::before, .button-primary--external:hover::after, .button-primary--external:active::before, .button-primary--external:active::after, .button-primary--external:focus::before, .button-primary--external:focus::after {
fill: currentColor;
}
.button-tertiary--login {
border-radius: 5px;
border: 2px solid transparent;
cursor: pointer;
display: inline-block;
font-style: normal;
font-weight: 700;
padding: 0.625rem 1.25rem;
text-align: center;
text-decoration: none;
text-transform: uppercase;
border-color: #C3D8DF;
background-color: #C3D8DF;
color: #050D15;
margin-top: 1.5rem;
}
.button-tertiary--login:disabled {
opacity: 0.5;
cursor: not-allowed;
pointer-events: none;
}
.button-tertiary--login:focus {
outline-offset: 2px;
}
.button-tertiary--login:hover {
border-color: #48A4B6;
background-color: #48A4B6;
}
.button-tertiary--login:focus {
border-color: #050D15;
-webkit-box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
}
.button-tertiary--login::after {
content: "";
background-image: url("../images/login.svg");
-webkit-background-size: contain;
background-size: contain;
display: inline-block;
fill: currentColor;
height: 18px;
margin-left: 0.625rem;
margin-right: 0;
position: relative;
top: 0;
vertical-align: text-bottom;
width: 18px;
}
.button-tertiary--login:hover::before, .button-tertiary--login:hover::after, .button-tertiary--login:active::before, .button-tertiary--login:active::after, .button-tertiary--login:focus::before, .button-tertiary--login:focus::after {
fill: currentColor;
}
.button-tertiary--external {
border-radius: 5px;
border: 2px solid transparent;
cursor: pointer;
display: inline-block;
font-style: normal;
font-weight: 700;
padding: 0.625rem 1.25rem;
text-align: center;
text-decoration: none;
text-transform: uppercase;
border-color: #C3D8DF;
background-color: #C3D8DF;
color: #050D15;
margin-top: 1.5rem;
}
.button-tertiary--external:disabled {
opacity: 0.5;
cursor: not-allowed;
pointer-events: none;
}
.button-tertiary--external:focus {
outline-offset: 2px;
}
.button-tertiary--external:hover {
border-color: #48A4B6;
background-color: #48A4B6;
}
.button-tertiary--external:focus {
border-color: #050D15;
-webkit-box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
}
.button-tertiary--external::after {
content: "";
background-image: url("../images/open-gray.svg");
-webkit-background-size: contain;
background-size: contain;
display: inline-block;
fill: currentColor;
height: 18px;
margin-left: 0.625rem;
margin-right: 0;
position: relative;
top: 0;
vertical-align: text-bottom;
width: 18px;
}
.button-tertiary--external:hover::before, .button-tertiary--external:hover::after, .button-tertiary--external:active::before, .button-tertiary--external:active::after, .button-tertiary--external:focus::before, .button-tertiary--external:focus::after {
fill: currentColor;
}
.outline-icon-btn-white {
border-radius: 5px;
border: 2px solid transparent;
cursor: pointer;
display: inline-block;
font-style: normal;
font-weight: 700;
padding: 0.625rem 1.25rem;
text-align: center;
text-decoration: none;
text-transform: uppercase;
border-color: #FFFFFF;
background-color: transparent;
color: #FFFFFF;
}
.outline-icon-btn-white:disabled {
opacity: 0.5;
cursor: not-allowed;
pointer-events: none;
}
.outline-icon-btn-white:focus {
outline-offset: 2px;
}
.outline-icon-btn-white:hover {
border-color: #C3D8DF;
background-color: #C3D8DF;
color: #050D15;
}
.outline-icon-btn-white:focus {
border-color: #6991AC;
-webkit-box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
}
.outline-icon-btn-white::before, .outline-icon-btn-white::after {
-webkit-filter: brightness(0) invert(1);
filter: brightness(0) invert(1);
}
.outline-icon-btn-white:hover::before, .outline-icon-btn-white:hover::after {
-webkit-filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
}
.outline-icon-btn-white::after {
content: "";
background-image: url("../images/open-gray.svg");
-webkit-background-size: contain;
background-size: contain;
display: inline-block;
fill: currentColor;
height: 18px;
margin-left: 0.625rem;
margin-right: 0;
position: relative;
top: 0;
vertical-align: text-bottom;
width: 18px;
}
.outline-icon-btn-white:hover::before, .outline-icon-btn-white:hover::after, .outline-icon-btn-white:active::before, .outline-icon-btn-white:active::after, .outline-icon-btn-white:focus::before, .outline-icon-btn-white:focus::after {
fill: currentColor;
}
.button-secondary,
.secondary-button {
border-radius: 5px;
border: 2px solid transparent;
cursor: pointer;
display: inline-block;
font-style: normal;
font-weight: 700;
padding: 0.625rem 1.25rem;
text-align: center;
text-decoration: none;
text-transform: uppercase;
border-color: #050D15;
color: #050D15;
}
.button-secondary:disabled,
.secondary-button:disabled {
opacity: 0.5;
cursor: not-allowed;
pointer-events: none;
}
.button-secondary:focus,
.secondary-button:focus {
outline-offset: 2px;
}
.button-secondary:hover,
.secondary-button:hover {
border-color: #050D15;
background-color: black;
color: #FFFFFF;
}
.button-secondary:focus,
.secondary-button:focus {
border-color: #050D15;
-webkit-box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
}
.button-secondary::before, .button-secondary::after,
.secondary-button::before,
.secondary-button::after {
-webkit-filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
}
.button-secondary:hover::before, .button-secondary:hover::after, .button-secondary:focus::before, .button-secondary:focus::after,
.secondary-button:hover::before,
.secondary-button:hover::after,
.secondary-button:focus::before,
.secondary-button:focus::after {
-webkit-filter: brightness(0) invert(1);
filter: brightness(0) invert(1);
}
.button-secondary:hover::before, .button-secondary:hover::after, .button-secondary:active::before, .button-secondary:active::after, .button-secondary:focus::before, .button-secondary:focus::after,
.secondary-button:hover::before,
.secondary-button:hover::after,
.secondary-button:active::before,
.secondary-button:active::after,
.secondary-button:focus::before,
.secondary-button:focus::after {
fill: currentColor;
}
.button-secondary--arrow {
border-radius: 5px;
border: 2px solid transparent;
cursor: pointer;
display: inline-block;
font-style: normal;
font-weight: 700;
padding: 0.625rem 1.25rem;
text-align: center;
text-decoration: none;
text-transform: uppercase;
border-color: #050D15;
color: #050D15;
}
.button-secondary--arrow:disabled {
opacity: 0.5;
cursor: not-allowed;
pointer-events: none;
}
.button-secondary--arrow:focus {
outline-offset: 2px;
}
.button-secondary--arrow:hover {
border-color: #050D15;
background-color: black;
color: #FFFFFF;
}
.button-secondary--arrow:focus {
border-color: #050D15;
-webkit-box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
}
.button-secondary--arrow::before, .button-secondary--arrow::after {
-webkit-filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
}
.button-secondary--arrow:hover::before, .button-secondary--arrow:hover::after, .button-secondary--arrow:focus::before, .button-secondary--arrow:focus::after {
-webkit-filter: brightness(0) invert(1);
filter: brightness(0) invert(1);
}
.button-secondary--arrow::after {
content: "";
background-image: url("../images/arrow-forward.svg");
-webkit-background-size: contain;
background-size: contain;
display: inline-block;
fill: currentColor;
height: 18px;
margin-left: 0.625rem;
margin-right: 0;
position: relative;
top: 0;
vertical-align: text-bottom;
width: 18px;
}
.button-secondary--arrow:hover::before, .button-secondary--arrow:hover::after, .button-secondary--arrow:active::before, .button-secondary--arrow:active::after, .button-secondary--arrow:focus::before, .button-secondary--arrow:focus::after {
fill: currentColor;
}
.button-secondary--download {
border-radius: 5px;
border: 2px solid transparent;
cursor: pointer;
display: inline-block;
font-style: normal;
font-weight: 700;
padding: 0.625rem 1.25rem;
text-align: center;
text-decoration: none;
text-transform: uppercase;
border-color: #050D15;
color: #050D15;
}
.button-secondary--download:disabled {
opacity: 0.5;
cursor: not-allowed;
pointer-events: none;
}
.button-secondary--download:focus {
outline-offset: 2px;
}
.button-secondary--download:hover {
border-color: #050D15;
background-color: black;
color: #FFFFFF;
}
.button-secondary--download:focus {
border-color: #050D15;
-webkit-box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
}
.button-secondary--download::before, .button-secondary--download::after {
-webkit-filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
}
.button-secondary--download:hover::before, .button-secondary--download:hover::after, .button-secondary--download:focus::before, .button-secondary--download:focus::after {
-webkit-filter: brightness(0) invert(1);
filter: brightness(0) invert(1);
}
.button-secondary--download::after {
content: "";
background-image: url("../images/download.svg");
-webkit-background-size: contain;
background-size: contain;
display: inline-block;
fill: currentColor;
height: 18px;
margin-left: 0.625rem;
margin-right: 0;
position: relative;
top: 0;
vertical-align: text-bottom;
width: 18px;
}
.button-secondary--download:hover::before, .button-secondary--download:hover::after, .button-secondary--download:active::before, .button-secondary--download:active::after, .button-secondary--download:focus::before, .button-secondary--download:focus::after {
fill: currentColor;
}
.button-secondary--external,
.outline-button-black {
border-radius: 5px;
border: 2px solid transparent;
cursor: pointer;
display: inline-block;
font-style: normal;
font-weight: 700;
padding: 0.625rem 1.25rem;
text-align: center;
text-decoration: none;
text-transform: uppercase;
border-color: #050D15;
color: #050D15;
}
.button-secondary--external:disabled,
.outline-button-black:disabled {
opacity: 0.5;
cursor: not-allowed;
pointer-events: none;
}
.button-secondary--external:focus,
.outline-button-black:focus {
outline-offset: 2px;
}
.button-secondary--external:hover,
.outline-button-black:hover {
border-color: #050D15;
background-color: black;
color: #FFFFFF;
}
.button-secondary--external:focus,
.outline-button-black:focus {
border-color: #050D15;
-webkit-box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
}
.button-secondary--external::before, .button-secondary--external::after,
.outline-button-black::before,
.outline-button-black::after {
-webkit-filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
}
.button-secondary--external:hover::before, .button-secondary--external:hover::after, .button-secondary--external:focus::before, .button-secondary--external:focus::after,
.outline-button-black:hover::before,
.outline-button-black:hover::after,
.outline-button-black:focus::before,
.outline-button-black:focus::after {
-webkit-filter: brightness(0) invert(1);
filter: brightness(0) invert(1);
}
.button-secondary--external::after,
.outline-button-black::after {
content: "";
background-image: url("../images/open-gray.svg");
-webkit-background-size: contain;
background-size: contain;
display: inline-block;
fill: currentColor;
height: 18px;
margin-left: 0.625rem;
margin-right: 0;
position: relative;
top: 0;
vertical-align: text-bottom;
width: 18px;
}
.button-secondary--external:hover::before, .button-secondary--external:hover::after, .button-secondary--external:active::before, .button-secondary--external:active::after, .button-secondary--external:focus::before, .button-secondary--external:focus::after,
.outline-button-black:hover::before,
.outline-button-black:hover::after,
.outline-button-black:active::before,
.outline-button-black:active::after,
.outline-button-black:focus::before,
.outline-button-black:focus::after {
fill: currentColor;
}
.button-secondary--login {
border-radius: 5px;
border: 2px solid transparent;
cursor: pointer;
display: inline-block;
font-style: normal;
font-weight: 700;
padding: 0.625rem 1.25rem;
text-align: center;
text-decoration: none;
text-transform: uppercase;
border-color: #050D15;
color: #050D15;
}
.button-secondary--login:disabled {
opacity: 0.5;
cursor: not-allowed;
pointer-events: none;
}
.button-secondary--login:focus {
outline-offset: 2px;
}
.button-secondary--login:hover {
border-color: #050D15;
background-color: black;
color: #FFFFFF;
}
.button-secondary--login:focus {
border-color: #050D15;
-webkit-box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
}
.button-secondary--login::before, .button-secondary--login::after {
-webkit-filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
}
.button-secondary--login:hover::before, .button-secondary--login:hover::after, .button-secondary--login:focus::before, .button-secondary--login:focus::after {
-webkit-filter: brightness(0) invert(1);
filter: brightness(0) invert(1);
}
.button-secondary--login::after {
content: "";
background-image: url("../images/login.svg");
-webkit-background-size: contain;
background-size: contain;
display: inline-block;
fill: currentColor;
height: 18px;
margin-left: 0.625rem;
margin-right: 0;
position: relative;
top: 0;
vertical-align: text-bottom;
width: 18px;
}
.button-secondary--login:hover::before, .button-secondary--login:hover::after, .button-secondary--login:active::before, .button-secondary--login:active::after, .button-secondary--login:focus::before, .button-secondary--login:focus::after {
fill: currentColor;
}
.link-icon {
border-radius: initial;
border-top: none;
border-right: none;
border-left: none;
border-bottom: 2px solid transparent;
padding: 0.375rem 0.25rem;
font-family: "Open Sans", sans-serif;
font-weight: 700;
text-transform: uppercase;
text-decoration: none;
cursor: pointer;
border-bottom-color: #050D15;
color: #050D15;
}
.link-icon::after {
-webkit-filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
}
.link-icon::after {
content: "";
background-image: url("../images/open-gray.svg");
-webkit-background-size: contain;
background-size: contain;
display: inline-block;
fill: currentColor;
height: 18px;
margin-left: 0.5rem;
position: relative;
top: 0;
vertical-align: text-bottom;
width: 18px;
}
.link-icon::after {
margin-left: 0.5rem;
}
.link-icon:hover {
color: #20588A;
background-color: transparent;
border-bottom-color: #20588A;
border-left-color: transparent;
border-right-color: transparent;
border-top-color: transparent;
}
.link-icon:hover::after {
-webkit-filter: brightness(0) saturate(100%) invert(25%) sepia(81%) saturate(593%) hue-rotate(169deg) brightness(100%) contrast(89%);
filter: brightness(0) saturate(100%) invert(25%) sepia(81%) saturate(593%) hue-rotate(169deg) brightness(100%) contrast(89%);
}
.link-icon:focus {
outline: none;
-webkit-box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.5);
box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.5);
}
.link-icon--download {
border-radius: initial;
border-top: none;
border-right: none;
border-left: none;
border-bottom: 2px solid transparent;
padding: 0.375rem 0.25rem;
font-family: "Open Sans", sans-serif;
font-weight: 700;
text-transform: uppercase;
text-decoration: none;
cursor: pointer;
border-bottom-color: #050D15;
color: #050D15;
}
.link-icon--download::after {
-webkit-filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
}
.link-icon--download::after {
content: "";
background-image: url("../images/download.svg");
-webkit-background-size: contain;
background-size: contain;
display: inline-block;
fill: currentColor;
height: 18px;
margin-left: 0.5rem;
position: relative;
top: 0;
vertical-align: text-bottom;
width: 18px;
}
.link-icon--download::after {
margin-left: 0.5rem;
}
.link-icon--download:hover {
color: #20588A;
background-color: transparent;
border-bottom-color: #20588A;
border-left-color: transparent;
border-right-color: transparent;
border-top-color: transparent;
}
.link-icon--download:hover::after {
-webkit-filter: brightness(0) saturate(100%) invert(25%) sepia(81%) saturate(593%) hue-rotate(169deg) brightness(100%) contrast(89%);
filter: brightness(0) saturate(100%) invert(25%) sepia(81%) saturate(593%) hue-rotate(169deg) brightness(100%) contrast(89%);
}
.link-icon--download:focus {
outline: none;
-webkit-box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.5);
box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.5);
}
.link-icon--light {
border-radius: initial;
border-top: none;
border-right: none;
border-left: none;
border-bottom: 2px solid transparent;
padding: 0.375rem 0.25rem;
font-family: "Open Sans", sans-serif;
font-weight: 700;
text-transform: uppercase;
text-decoration: none;
cursor: pointer;
border-bottom-color: #FFFFFF;
color: #FFFFFF;
}
.link-icon--light::after {
-webkit-filter: brightness(0) invert(1);
filter: brightness(0) invert(1);
}
.link-icon--light::after {
content: "";
background-image: url("../images/open-gray.svg");
-webkit-background-size: contain;
background-size: contain;
display: inline-block;
fill: currentColor;
height: 18px;
margin-left: 0.5rem;
position: relative;
top: 0;
vertical-align: text-bottom;
width: 18px;
}
.link-icon--light::after {
margin-left: 0.5rem;
}
.link-icon--light:hover {
color: #48A4B6;
background-color: transparent;
border-bottom-color: #48A4B6;
border-left-color: transparent;
border-right-color: transparent;
border-top-color: transparent;
}
.link-icon--light:hover::after {
-webkit-filter: invert(55%) sepia(10%) saturate(2052%) hue-rotate(142deg) brightness(102%) contrast(91%);
filter: invert(55%) sepia(10%) saturate(2052%) hue-rotate(142deg) brightness(102%) contrast(91%);
}
.link-icon--light:focus {
outline: none;
-webkit-box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.5);
box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.5);
}
.inline-buttons > .field--name-field-cta-buttons-selector {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-column-gap: 24px;
-moz-column-gap: 24px;
column-gap: 24px;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin: 2rem 0;
row-gap: 24px;
}
.lock-icon-button,
.lock-icon-button-white,
.outline-button-white {
border-radius: 5px;
border: 2px solid #050D15;
padding: 0.5rem 1rem;
text-transform: uppercase;
}
a.lock-icon-button,
a.lock-icon-button-white {
color: #050D15;
display: inline-block;
}
a.lock-icon-button:hover,
a.lock-icon-button-white:hover {
background: #133553;
border: 2px solid #133553;
color: #FFFFFF;
}
.lock-icon-button,
.lock-icon-button-white {
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
.lock-icon-button::before,
.lock-icon-button-white::before {
content: "";
height: 18px;
width: 18px;
}
.lock-icon-button:focus-visible,
.lock-icon-button-white:focus-visible {
border: 1px solid #050D15;
-webkit-box-shadow: none;
box-shadow: none;
}
.lock-icon-button {
background-color: #20588A;
border: 1px solid #20588A;
color: #FFFFFF;
}
.lock-icon-button::before {
background-image: url("../images/lock.svg");
}
.lock-icon-button:hover, .lock-icon-button:focus {
background-color: #326393;
color: #FFFFFF;
}
.lock-icon-button-white {
background-color: #FFFFFF;
border: 1px solid #20588A;
color: #20588A;
}
.lock-icon-button-white::before {
background-image: url("../images/lock-icon-blue.svg");
content: "";
}
.lock-icon-button-white:hover, .lock-icon-button-white:focus {
background-color: rgba(32, 88, 138, 0.0784313725);
color: #20588A;
}
.login-icon-button-black {
background-color: #C3D8DF;
border-radius: 5px;
font-size: 1rem;
font-weight: 700;
padding: 0.5rem 1rem;
text-transform: uppercase;
}
.login-icon-button-black a {
color: #050D15;
}
.login-icon-button-black:hover {
background-color: #48A4B6;
color: #050D15;
}
.login-icon-button-black:focus {
background-color: #C3D8DF;
border: #050D15 2px solid;
}
.login-icon-button-black::after {
background-image: url("../images/login.svg");
content: "";
height: 18px;
width: 18px;
}
.outline-button-white {
border: #FFFFFF solid;
}
.light-yellow,
.light-gray,
.light-blue,
.light-green {
border-radius: 24px;
display: inline-block;
padding: 0.25rem 0.5rem;
}
.light-yellow {
background-color: #fff9f3;
color: #B35C00;
}
.light-gray {
background-color: #E3E7EB;
color: #050D15;
}
.light-blue {
background-color: #F4FBFF;
color: #20588A;
}
.light-green {
background-color: #E9F9F9;
color: #0E4F4D;
}
/**
* Card Link Mixin
*
* Mixin that support cards that are treated as links.
* Intended to be applied to directly to an <a> anchor tag
* Provides visual style, hover pattern, iconography options
* Has no opinions on how the image should be styled. There are a couple different patterns. Those are currently left to the card itself.
*/
.card-link {
background: #FFFFFF;
border-radius: 24px;
-webkit-box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.08);
box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.08);
margin: 1.25rem 0;
padding: 1.25rem;
text-align: left;
color: #050D15;
display: block;
height: 100%;
margin: 0;
position: relative;
}
.card-link:hover {
-webkit-box-shadow: 10px 20px 40px 0px rgba(0, 0, 0, 0.4);
box-shadow: 10px 20px 40px 0px rgba(0, 0, 0, 0.4);
}
.card-link::after {
background-image: url("../images/arrow-forward.svg");
-webkit-background-size: contain;
background-size: contain;
bottom: 15px;
content: "";
display: block;
height: 19px;
position: absolute;
right: 15px;
width: 19px;
}
.card-link.card-link-arrow::after {
background-image: url("../images/arrow-forward.svg");
}
.card-link.card-link--login::after {
background-image: url("../images/login.svg");
}
.card-link.card-link--lock::after {
background-image: url("../images/lock.svg");
}
.card-link.card-link--external::after {
background-image: url("../images/open-gray.svg");
}
.card-link .paragraph--type--three-column-content {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
height: 100%;
-webkit-box-pack: justify;
-webkit-justify-content: space-between;
-ms-flex-pack: justify;
justify-content: space-between;
}
.paragraph--type--three-image-card {
padding: 2rem 0;
}
.paragraph--type--three-image-card div {
margin: auto;
max-width: 1140px;
right: 0;
}
.paragraph--type--three-image-card div .wrapper--col-3 .field--name-field-content-three-column {
grid-template-columns: 1fr 1fr 1fr;
}
.paragraph--type--three-image-card div .wrapper--col-4 .field--name-field-content-three-column {
grid-template-columns: 1fr 1fr 1fr 1fr;
}
.paragraph--type--three-image-card div .wrapper--col-3 .field--name-field-content-three-column,
.paragraph--type--three-image-card div .wrapper--col-4 .field--name-field-content-three-column {
display: grid;
gap: 24px;
grid-auto-rows: auto;
}
@media screen and (max-width: 49.3125rem) {
.paragraph--type--three-image-card div .wrapper--col-3 .field--name-field-content-three-column,
.paragraph--type--three-image-card div .wrapper--col-4 .field--name-field-content-three-column {
grid-template-columns: 1fr;
}
}
.paragraph--type--three-image-card div .wrapper--col-3 .field--name-field-content-three-column > .field__item,
.paragraph--type--three-image-card div .wrapper--col-4 .field--name-field-content-three-column > .field__item {
-webkit-box-sizing: border-box;
box-sizing: border-box;
display: block;
grid-column-end: span 1;
height: 100%;
width: 100%;
}
.paragraph--type--three-image-card div .wrapper--col-3 .field--name-field-content-three-column > .field__item a.card-link img,
.paragraph--type--three-image-card div .wrapper--col-4 .field--name-field-content-three-column > .field__item a.card-link img {
max-width: -webkit-max-content;
max-width: -moz-max-content;
max-width: max-content;
max-height: 75px;
width: auto;
}
.paragraph--type--three-image-card div .field--name-field-url {
padding: 1rem;
}
.paragraph--type--three-image-card div .field--name-field-url a {
color: #050D15;
font-family: "Open Sans", sans-serif;
font-size: 0.875rem;
font-weight: 700;
}
.paragraph--type--three-image-card div .field--name-field-text p {
margin: 0 0 2rem;
}
.paragraph--type--three-image-card div .field--name-field-subtitle-header {
font-size: 1.125rem;
font-weight: 700;
text-transform: uppercase;
}
.paragraph--type--three-image-card div .field--name-field-title {
margin: 1rem 0;
}
.paragraph--type--three-image-card .three-column-grid-cta-button-wrapper .paragraph--type--icon-button-repeater {
margin-top: 1.5rem;
}
.paragraph--type--three-column-content a {
color: #050D15;
}
.paragraph--type--three-column-content .field--name-field-subtitle p {
margin-top: 0.625rem;
font-size: 0.875rem;
text-align: left;
}
@media only screen and (max-width: 35.99875rem) {
.paragraph--type--three-image-card {
padding: 1rem;
}
.paragraph--type--three-image-card .field--name-field-content-three-column {
margin: 1rem 0;
grid-template-columns: 1fr;
}
.paragraph--type--three-image-card div .field--name-field-content-three-column {
margin: 1rem 0;
grid-template-columns: 1fr;
}
}
@media (min-width: 36rem) and (max-width: 47.99875rem) {
.paragraph--type--three-image-card {
padding: 1.875rem 3.75rem;
}
}
.paragraph--type--two-component-card {
display: block;
position: relative;
}
.paragraph--type--two-component-card::before {
background-image: var(--background-img);
background-position: center;
background-repeat: no-repeat;
-webkit-background-size: cover;
background-size: cover;
content: "";
display: none;
height: 100%;
left: 50%;
opacity: 1;
position: absolute;
top: 0;
width: 50%;
}
.paragraph--type--two-component-card.image-left::before {
left: 0;
}
.paragraph--type--two-component-card .image-block {
overflow: hidden;
display: block;
}
.paragraph--type--two-component-card .content-block {
padding: 3.5rem 0;
}
.paragraph--type--two-component-card.image-margin::before {
-webkit-background-size: auto auto;
background-size: auto;
content: "";
}
@media only screen and (min-width: 49.3125rem) {
.paragraph--type--two-component-card .image-block {
visibility: hidden;
}
.paragraph--type--two-component-card .image-block.image-left {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
.paragraph--type--two-component-card .image-block.image-right {
-webkit-box-ordinal-group: 3;
-webkit-order: 2;
-ms-flex-order: 2;
order: 2;
}
.paragraph--type--two-component-card .content-block.image-left {
-webkit-box-ordinal-group: 3;
-webkit-order: 2;
-ms-flex-order: 2;
order: 2;
padding-left: 3.5rem;
}
.paragraph--type--two-component-card .content-block.image-right {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
.paragraph--type--two-component-card::before {
display: block;
}
}
@media screen and (max-width: 45rem) {
.paragraph--type--two-component-card .content-block {
padding: 1rem;
}
}
.paragraph--type--landing-page-hero .image-backgrounds,
.paragraph--type--secondary-landing-page-hero .image-backgrounds {
-webkit-background-size: cover;
background-size: cover;
}
.paragraph--type--landing-page-hero .hero-container,
.paragraph--type--secondary-landing-page-hero .hero-container {
padding-top: 3rem;
padding-bottom: 6rem;
color: #FFFFFF;
}
.paragraph--type--landing-page-hero .hero-container h1,
.paragraph--type--secondary-landing-page-hero .hero-container h1 {
color: #FFFFFF;
}
.paragraph--type--landing-page-hero .hero-container p,
.paragraph--type--secondary-landing-page-hero .hero-container p {
font-weight: 400;
color: #FFFFFF;
}
.paragraph--type--landing-page-hero .hero-container a,
.paragraph--type--secondary-landing-page-hero .hero-container a {
font-weight: 700;
}
.paragraph--type--landing-page-hero .hero-container a:focus,
.paragraph--type--secondary-landing-page-hero .hero-container a:focus {
-webkit-box-shadow: 0 0 0 2px #FFFFFF;
box-shadow: 0 0 0 2px #FFFFFF;
}
.paragraph--type--landing-page-hero .hero-container .cta-primary-button,
.paragraph--type--secondary-landing-page-hero .hero-container .cta-primary-button {
margin-top: 2rem;
}
.paragraph--type--landing-page-hero .hero-container .cta-secondary-button,
.paragraph--type--secondary-landing-page-hero .hero-container .cta-secondary-button {
margin: 1.5rem 0;
}
.paragraph--type--landing-page-hero .hero-container .cta-secondary-button .login-icon-button-black,
.paragraph--type--secondary-landing-page-hero .hero-container .cta-secondary-button .login-icon-button-black {
background-color: transparent;
border-bottom: 2px solid #FFFFFF;
border-radius: 0;
color: #FFFFFF;
padding: 1rem 0;
}
.paragraph--type--landing-page-hero .hero-container .cta-secondary-button .login-icon-button-black::after,
.paragraph--type--secondary-landing-page-hero .hero-container .cta-secondary-button .login-icon-button-black::after {
background-image: url("../images/open.svg");
content: "";
display: -webkit-inline-box;
display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
vertical-align: middle;
}
.paragraph--type--landing-page-hero .hero-container .cta-secondary-button .login-icon-button-black:hover,
.paragraph--type--secondary-landing-page-hero .hero-container .cta-secondary-button .login-icon-button-black:hover {
color: #48A4B6;
border-bottom: 2px solid #48A4B6;
}
.paragraph--type--landing-page-hero .hero-container .cta-secondary-button .login-icon-button-black:hover::after,
.paragraph--type--secondary-landing-page-hero .hero-container .cta-secondary-button .login-icon-button-black:hover::after {
background-image: url("../images/teal-open.svg");
content: "";
display: -webkit-inline-box;
display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
vertical-align: middle;
}
.paragraph--type--landing-page-hero .hero-container .cta-secondary-button .login-icon-button-black:focus,
.paragraph--type--secondary-landing-page-hero .hero-container .cta-secondary-button .login-icon-button-black:focus {
border: #FFFFFF solid;
}
.paragraph--type--landing-page-hero .field--name-field-background-image,
.paragraph--type--secondary-landing-page-hero .field--name-field-background-image {
position: relative;
}
.paragraph--type--landing-page-hero .field--name-field-background-image img,
.paragraph--type--secondary-landing-page-hero .field--name-field-background-image img {
height: 460px;
width: 100%;
}
.paragraph--type--landing-page-hero .field--name-field-cta-button-icon,
.paragraph--type--secondary-landing-page-hero .field--name-field-cta-button-icon {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-column-gap: 20px;
-moz-column-gap: 20px;
column-gap: 20px;
}
.paragraph--type--landing-page-hero .field--name-field-cta-button-icon .field__item:first-of-type,
.paragraph--type--secondary-landing-page-hero .field--name-field-cta-button-icon .field__item:first-of-type {
background-color: #C3D8DF;
border-radius: 5px;
font-size: 1rem;
font-weight: 700;
padding: 0.5rem 1rem;
text-transform: uppercase;
}
.paragraph--type--landing-page-hero .field--name-field-cta-button-icon .field__item:first-of-type a,
.paragraph--type--secondary-landing-page-hero .field--name-field-cta-button-icon .field__item:first-of-type a {
color: #050D15;
}
.paragraph--type--landing-page-hero .field--name-field-cta-button-icon .field__item:first-of-type:hover,
.paragraph--type--secondary-landing-page-hero .field--name-field-cta-button-icon .field__item:first-of-type:hover {
background-color: #48A4B6;
color: #050D15;
}
.paragraph--type--landing-page-hero .field--name-field-cta-button-icon .field__item:first-of-type:focus,
.paragraph--type--secondary-landing-page-hero .field--name-field-cta-button-icon .field__item:first-of-type:focus {
background-color: #C3D8DF;
border: #050D15 2px solid;
}
.paragraph--type--landing-page-hero .field--name-field-cta-button-icon .field__item a,
.paragraph--type--secondary-landing-page-hero .field--name-field-cta-button-icon .field__item a {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.paragraph--type--landing-page-hero .cta-lock-icon,
.paragraph--type--landing-page-hero .cta-login-icon,
.paragraph--type--secondary-landing-page-hero .cta-lock-icon,
.paragraph--type--secondary-landing-page-hero .cta-login-icon {
width: 20px;
height: 20px;
display: block;
}
.paragraph--type--landing-page-hero .cta-lock-icon,
.paragraph--type--secondary-landing-page-hero .cta-lock-icon {
background-image: url("../images/lock.svg");
}
.paragraph--type--landing-page-hero .node--type-landing-page .field--name-field-content > .field__item:nth-child(2),
.paragraph--type--landing-page-hero .node--type-landing-page .field--name-field-content .field__item:nth-child(4),
.paragraph--type--secondary-landing-page-hero .node--type-landing-page .field--name-field-content > .field__item:nth-child(2),
.paragraph--type--secondary-landing-page-hero .node--type-landing-page .field--name-field-content .field__item:nth-child(4) {
background-color: rgba(32, 88, 138, 0.0509803922);
}
.paragraph--type--landing-page-hero .node--type-landing-page .field--name-field-content > .field__item:nth-child(3),
.paragraph--type--landing-page-hero .node--type-landing-page .field--name-field-content .field__item:nth-child(5),
.paragraph--type--secondary-landing-page-hero .node--type-landing-page .field--name-field-content > .field__item:nth-child(3),
.paragraph--type--secondary-landing-page-hero .node--type-landing-page .field--name-field-content .field__item:nth-child(5) {
background-color: rgba(32, 88, 138, 0.1215686275);
}
@media only screen and (min-width: 45.0625rem) and (max-width: 65.625rem) {
.paragraph--type--landing-page-hero .paragraph--type--landing-page-hero .people-image,
.paragraph--type--secondary-landing-page-hero .paragraph--type--landing-page-hero .people-image {
padding: 2rem 0 0;
}
.paragraph--type--landing-page-hero .paragraph--type--landing-page-hero .people-image .field--name-field-content,
.paragraph--type--secondary-landing-page-hero .paragraph--type--landing-page-hero .people-image .field--name-field-content {
margin: 0.625rem 0.625rem;
top: 140px;
}
}
.paragraph--type--secondary-landing-page-hero .font-color h1,
.paragraph--type--secondary-landing-page-hero .font-color p {
color: #050D15;
}
.paragraph--type--secondary-landing-page-hero .field--name-field-button {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-column-gap: 20px;
-moz-column-gap: 20px;
column-gap: 20px;
}
.paragraph--type--secondary-landing-page-hero .field--name-field-button .field__item:first-of-type {
background-color: #C3D8DF;
border-radius: 5px;
font-size: 1rem;
font-weight: 700;
padding: 0.5rem 1rem;
text-transform: uppercase;
}
.paragraph--type--secondary-landing-page-hero .field--name-field-button .field__item:first-of-type a {
color: #050D15;
}
.paragraph--type--secondary-landing-page-hero .field--name-field-button .field__item:first-of-type:hover {
background-color: #48A4B6;
color: #050D15;
}
.paragraph--type--secondary-landing-page-hero .field--name-field-button .field__item:first-of-type:focus {
background-color: #C3D8DF;
border: #050D15 2px solid;
}
.paragraph--type--secondary-landing-page-hero .field--name-field-button .field__item a {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.paragraph--type--secondary-landing-page-hero .breadcrumb a,
.paragraph--type--secondary-landing-page-hero .breadcrumb-item.active {
color: #FFFFFF;
font-family: "Fjalla One", sans-serif;
font-size: 1.125rem;
text-transform: uppercase;
}
.paragraph--type--two-component-card.image-margin .wrapper .grid {
gap: 0;
}
.paragraph--type--two-component-card.image-margin .wrapper .grid .content-block {
border-left: 1px #909193 solid;
}
@media only screen and (max-width: 47.99875rem) {
.paragraph--type--landing-page-hero .hero-container, .paragraph--type--secondary-landing-page-hero .hero-container {
padding: 2rem 1.5rem;
}
}
@media only screen and (max-width: 45rem) {
.paragraph--type--landing-page-hero .people-image {
padding: 1.5rem 0 0;
top: 30px;
}
.paragraph--type--landing-page-hero .people-image h1 {
font-size: 1.5rem;
}
.paragraph--type--landing-page-hero .people-image .field--name-field-content {
margin: 0;
position: relative;
text-align: center;
top: 0;
width: 100%;
}
.paragraph--type--landing-page-hero .people-image .field--name-field-content p {
font-weight: 600;
font-size: 1rem;
}
.paragraph--type--landing-page-hero .image-backgrounds {
-webkit-background-size: contain;
background-size: contain;
}
.paragraph--type--secondary-landing-page-hero .secondary-image-backgrounds {
background-image: none !important;
}
}
.paragraph--type--cloud-lab .cloud-lab-container {
background: rgb(5, 13, 21);
background-position: center;
font-family: "Open Sans", sans-serif;
font-size: 1rem;
font-weight: 700;
margin: 0 7.5rem;
padding: 2rem;
}
.paragraph--type--cloud-lab .button-secondary--arrow {
background-color: #C3D8DF;
border-radius: 5px;
font-size: 1rem;
font-weight: 700;
padding: 0.5rem 1rem;
text-transform: uppercase;
margin: 1.5rem 0 0;
}
.paragraph--type--cloud-lab .button-secondary--arrow a {
color: #050D15;
}
.paragraph--type--cloud-lab .button-secondary--arrow:hover {
background-color: #48A4B6;
color: #050D15;
}
.paragraph--type--cloud-lab .button-secondary--arrow:focus {
background-color: #C3D8DF;
border: #050D15 2px solid;
}
.paragraph--type--cloud-lab .button-secondary--arrow:hover {
color: #050D15;
}
.paragraph--type--cloud-lab .button-secondary--arrow:hover::after {
-webkit-filter: none;
filter: none;
}
.paragraph--type--cloud-lab .hero-container {
padding: 2.75rem 0 2.75rem;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-cit-connect-cards-content {
display: grid;
gap: 24px;
grid-auto-rows: auto;
grid-template-columns: 1fr 1fr 1fr;
}
@media screen and (max-width: 49.3125rem) {
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-cit-connect-cards-content {
grid-template-columns: 1fr;
}
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-cit-connect-cards-content > .field__item {
background: #FFFFFF;
border-radius: 24px;
-webkit-box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.08);
box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.08);
margin: 1.25rem 0;
padding: 1.25rem;
text-align: left;
-webkit-box-sizing: border-box;
box-sizing: border-box;
display: block;
grid-column-end: span 1;
width: 100%;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-cit-connect-cards-content > .field__item:hover {
-webkit-box-shadow: 10px 20px 40px 0px rgba(0, 0, 0, 0.4);
box-shadow: 10px 20px 40px 0px rgba(0, 0, 0, 0.4);
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-tag {
margin-bottom: 1.5rem;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-tag a {
background-color: #F4FBFF;
border-radius: 20px;
color: #20588A;
font-size: 0.75rem;
margin-bottom: 1.5rem;
padding: 0.25rem 0.5rem;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-tag,
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-description,
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-button {
font-family: "Open Sans", sans-serif;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-title,
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-cadence,
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-pocs {
margin-bottom: 1rem;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-title {
color: #050D15;
font-family: "Fjalla One", sans-serif;
font-size: 1.125rem;
text-transform: uppercase;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-description p {
font-size: 0.875rem;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-cadence,
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-pocs {
-webkit-column-gap: 5px;
-moz-column-gap: 5px;
column-gap: 5px;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
font-family: "Open Sans", sans-serif;
font-size: 0.875rem;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-cadence .field__label,
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-pocs .field__label {
font-weight: bold;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-button .field__item a {
border-radius: initial;
border-top: none;
border-right: none;
border-left: none;
border-bottom: 2px solid transparent;
padding: 0.375rem 0.25rem;
font-family: "Open Sans", sans-serif;
font-weight: 700;
text-transform: uppercase;
text-decoration: none;
cursor: pointer;
border-bottom-color: #050D15;
color: #050D15;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-button .field__item a::after {
-webkit-filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-button .field__item a::after {
content: "";
background-image: url("../images/download.svg");
-webkit-background-size: contain;
background-size: contain;
display: inline-block;
fill: currentColor;
height: 18px;
margin-left: 0.5rem;
position: relative;
top: 0;
vertical-align: text-bottom;
width: 18px;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-button .field__item a::after {
margin-left: 0.5rem;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-button .field__item a:hover {
color: #20588A;
background-color: transparent;
border-bottom-color: #20588A;
border-left-color: transparent;
border-right-color: transparent;
border-top-color: transparent;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-button .field__item a:hover::after {
-webkit-filter: brightness(0) saturate(100%) invert(25%) sepia(81%) saturate(593%) hue-rotate(169deg) brightness(100%) contrast(89%);
filter: brightness(0) saturate(100%) invert(25%) sepia(81%) saturate(593%) hue-rotate(169deg) brightness(100%) contrast(89%);
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .paragraph--type--cit-connect-cards- .field--name-field-button .field__item a:focus {
outline: none;
-webkit-box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.5);
box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.5);
}
.paragraph--type--accordion-content .accordion {
margin: 3.75rem 0;
padding: 0;
}
.container {
max-width: 100%;
}
.paragraph--type--accordion {
margin: auto;
max-width: 1140px;
right: 0;
margin: 2.5rem auto;
}
.paragraph--type--accordion ul {
padding: 0;
margin: 0;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content li {
list-style: none;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content button svg {
display: none;
height: 16px;
float: right;
margin-left: 1rem;
padding: 0;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content h3 {
font-size: 1rem;
margin: 0;
text-transform: none;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content > div {
list-style-type: none;
border: 1px solid #E3E7EB;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__header button {
all: inherit;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-webkit-justify-content: space-between;
-ms-flex-pack: justify;
justify-content: space-between;
padding: 1rem 1.5rem;
width: 100%;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__header button:hover, .paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__header button:focus {
cursor: pointer;
background-color: #E3E7EB;
color: #050D15;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__header button:focus {
border: solid 2px #050D15;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__header button:focus rect {
fill: #050D15;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__header button[aria-expanded=false] {
background-image: url("../images/add.svg");
background-repeat: no-repeat;
background-position: right 1.25rem center;
-webkit-background-size: 1.5rem 1.5rem;
background-size: 1.5rem;
display: inline-block;
font-size: 1rem;
font-weight: 400;
text-transform: none;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__header button[aria-expanded=false] rect {
fill: #050D15;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__header button:focus {
outline: #050D15 1px;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content [aria-expanded=true] .vert {
display: none;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel {
padding: 1.5rem;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-column-gap: 16px;
-moz-column-gap: 16px;
column-gap: 16px;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin: 2rem 0;
row-gap: 16px;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a {
border-radius: 5px;
border: 2px solid transparent;
cursor: pointer;
display: inline-block;
font-style: normal;
font-weight: 700;
padding: 0.625rem 1.25rem;
text-align: center;
text-decoration: none;
text-transform: uppercase;
border-color: #050D15;
color: #050D15;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:disabled {
opacity: 0.5;
cursor: not-allowed;
pointer-events: none;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:focus {
outline-offset: 2px;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:hover {
border-color: #050D15;
background-color: black;
color: #FFFFFF;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:focus {
border-color: #050D15;
-webkit-box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
box-shadow: 0 0 0 2px rgba(5, 13, 21, 0.5);
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a::before, .paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a::after {
-webkit-filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
filter: brightness(0) saturate(100%) invert(6%) sepia(38%) saturate(572%) hue-rotate(168deg) brightness(104%) contrast(105%);
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:hover::before, .paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:hover::after, .paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:focus::before, .paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:focus::after {
-webkit-filter: brightness(0) invert(1);
filter: brightness(0) invert(1);
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:hover::before, .paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:hover::after, .paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:active::before, .paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:active::after, .paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:focus::before, .paragraph--type--accordion .accordion .paragraph--type--accordion-content .accordion__panel .field--name-field-button .field__item a:focus::after {
fill: currentColor;
}
.paragraph--type--accordion .accordion .paragraph--type--accordion-content .field--name-field-accordion-body img {
margin: 0.5rem 1rem 0 0;
border-radius: 8px;
}
.paragraph--type--accordion .field__item .accordion__header button[aria-expanded=true] {
background-color: #133553;
background-image: url("../images/remove.svg");
background-repeat: no-repeat;
background-position: right 1.25rem center;
-webkit-background-size: 1.5rem 1.5rem;
background-size: 1.5rem;
color: #FFFFFF;
font-family: "Open Sans", sans-serif;
font-size: 1.125rem;
text-transform: initial;
}
.paragraph--type--accordion .field__item .accordion__header button[aria-expanded=true] rect {
fill: #FFFFFF;
}
.paragraph--type--accordion .field__item .accordion__header button[aria-expanded=true]:hover, .paragraph--type--accordion .field__item .accordion__header button[aria-expanded=true]:active, .paragraph--type--accordion .field__item .accordion__header button[aria-expanded=true]:focus {
background-color: #E3E7EB;
background-image: url("../images/minus.svg");
background-repeat: no-repeat;
background-position: right 1.25rem center;
-webkit-background-size: 1.5rem 1.5rem;
background-size: 1.5rem;
color: #050D15;
}
.paragraph--type--accordion .field__item .accordion__header button[aria-expanded=true]:hover rect, .paragraph--type--accordion .field__item .accordion__header button[aria-expanded=true]:active rect, .paragraph--type--accordion .field__item .accordion__header button[aria-expanded=true]:focus rect {
fill: #050D15;
}
.paragraph--type--accordion .field__item:first-of-type div,
.paragraph--type--accordion .field__item:first-of-type button[aria-expanded=true] {
border-radius: 8px 8px 0 0;
}
.paragraph--type--accordion .field__item:last-of-type div {
border-radius: 0 0 8px 8px;
}
@media screen and (min-width: 49.3125rem) {
.node--type-service .node__content,
.node--type-offices .node__content {
background: -webkit-gradient(linear, left top, right top, color-stop(20%, #C3D8DF), color-stop(0%, #FFFFFF));
background: -webkit-linear-gradient(left, #C3D8DF 20%, #FFFFFF 0%);
background: -o-linear-gradient(left, #C3D8DF 20%, #FFFFFF 0%);
background: linear-gradient(to right, #C3D8DF 20%, #FFFFFF 0%);
}
}
.node--type-service .layout--twocol-section,
.node--type-offices .layout--twocol-section {
display: grid;
grid-template-columns: 1fr 3fr;
grid-template-areas: "sidebar content";
}
@media screen and (max-width: 49.3125rem) {
.node--type-service .layout--twocol-section,
.node--type-offices .layout--twocol-section {
grid-template-columns: 1fr;
grid-template-areas: "content" "sidebar";
}
}
.node--type-service .layout--twocol-section .layout__region--first,
.node--type-offices .layout--twocol-section .layout__region--first {
background: #C3D8DF;
grid-area: sidebar;
}
@media screen and (min-width: 49.3125rem) {
.node--type-service .layout--twocol-section .layout__region--first,
.node--type-offices .layout--twocol-section .layout__region--first {
border-radius: 0px 20px 0px 0px;
}
}
.node--type-service .layout--twocol-section .layout__region--first .view-content,
.node--type-offices .layout--twocol-section .layout__region--first .view-content {
margin: 2rem 1rem 0 0;
}
.node--type-service .layout--twocol-section .layout__region--first .view-content .views-row,
.node--type-offices .layout--twocol-section .layout__region--first .view-content .views-row {
padding: 0.5rem 0;
}
.node--type-service .layout--twocol-section .layout__region--first .view-content .views-row:not(:last-of-type),
.node--type-offices .layout--twocol-section .layout__region--first .view-content .views-row:not(:last-of-type) {
border-bottom: 1px solid #616265;
}
.node--type-service .layout--twocol-section .layout__region--first .view-content .views-row a,
.node--type-offices .layout--twocol-section .layout__region--first .view-content .views-row a {
color: #050D15;
font-family: "Open Sans", sans-serif;
font-size: 0.875rem;
font-weight: 700;
text-transform: uppercase;
display: inline-block;
border-radius: 5px;
padding: 0.5rem 1rem;
}
.node--type-service .layout--twocol-section .layout__region--first .view-content .views-row a:active, .node--type-service .layout--twocol-section .layout__region--first .view-content .views-row a:hover, .node--type-service .layout--twocol-section .layout__region--first .view-content .views-row a:focus,
.node--type-offices .layout--twocol-section .layout__region--first .view-content .views-row a:active,
.node--type-offices .layout--twocol-section .layout__region--first .view-content .views-row a:hover,
.node--type-offices .layout--twocol-section .layout__region--first .view-content .views-row a:focus {
background-color: #133553;
color: #FFFFFF;
}
.node--type-service .layout--twocol-section .layout__region--first .nav,
.node--type-offices .layout--twocol-section .layout__region--first .nav {
display: block;
}
.node--type-service .layout--twocol-section .layout__region--first ul li,
.node--type-offices .layout--twocol-section .layout__region--first ul li {
padding: 0.5rem 0;
}
.node--type-service .layout--twocol-section .layout__region--first ul li:not(:last-of-type),
.node--type-offices .layout--twocol-section .layout__region--first ul li:not(:last-of-type) {
border-bottom: 1px solid #616265;
}
.node--type-service .layout--twocol-section .layout__region--first .nav-link,
.node--type-offices .layout--twocol-section .layout__region--first .nav-link {
color: #050D15;
font-family: "Open Sans", sans-serif;
font-size: 0.875rem;
font-weight: 700;
text-transform: uppercase;
display: inline-block;
border-radius: 5px;
padding: 0.5rem 1rem;
}
.node--type-service .layout--twocol-section .layout__region--first .nav-link:active, .node--type-service .layout--twocol-section .layout__region--first .nav-link:hover, .node--type-service .layout--twocol-section .layout__region--first .nav-link:focus,
.node--type-offices .layout--twocol-section .layout__region--first .nav-link:active,
.node--type-offices .layout--twocol-section .layout__region--first .nav-link:hover,
.node--type-offices .layout--twocol-section .layout__region--first .nav-link:focus {
background-color: #E3E7EB;
color: #050D15;
}
.node--type-service .layout--twocol-section .layout__region--first .nav > .menu-item--active-trail > a,
.node--type-offices .layout--twocol-section .layout__region--first .nav > .menu-item--active-trail > a {
background: #133553;
color: #FFFFFF;
}
.node--type-service .layout--twocol-section .layout__region--second,
.node--type-offices .layout--twocol-section .layout__region--second {
grid-area: content;
padding: 2.5rem;
}
.node--type-service .layout--twocol-section .layout__region--second .field--name-field-audience,
.node--type-offices .layout--twocol-section .layout__region--second .field--name-field-audience {
-webkit-column-gap: 5px;
-moz-column-gap: 5px;
column-gap: 5px;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
font-family: "Open Sans", sans-serif;
font-size: 1rem;
padding: 0 0 2.5rem;
}
.node--type-service .layout--twocol-section .layout__region--second .field--name-field-audience .field__label,
.node--type-offices .layout--twocol-section .layout__region--second .field--name-field-audience .field__label {
font-weight: bold;
}
.node--type-service .layout--twocol-section .layout__region--second .field--name-field-audience .field__item,
.node--type-offices .layout--twocol-section .layout__region--second .field--name-field-audience .field__item {
display: inline;
}
.node--type-service .layout--twocol-section .layout__region--second .field--name-field-audience .field__item a,
.node--type-offices .layout--twocol-section .layout__region--second .field--name-field-audience .field__item a {
color: #050D15;
text-transform: initial;
cursor: auto;
}
.node--type-service .layout--twocol-section .layout__region--second .accordion,
.node--type-offices .layout--twocol-section .layout__region--second .accordion {
padding: 0;
}
.node--type-service .layout--twocol-section .layout__region--second .paragraph--type--three-image-card,
.node--type-offices .layout--twocol-section .layout__region--second .paragraph--type--three-image-card {
padding: 0;
}
.node--type-service .layout--twocol-section .layout__region--second .field--name-title,
.node--type-offices .layout--twocol-section .layout__region--second .field--name-title {
padding: 1rem 0;
display: block;
}
.node--type-service .layout--twocol-section .paragraph--type--content-section,
.node--type-offices .layout--twocol-section .paragraph--type--content-section {
border-top: #909193 2px solid;
padding: 2.5rem 0;
}
.node--type-service .breadcrumb a,
.node--type-service .breadcrumb-item.active,
.node--type-offices .breadcrumb a,
.node--type-offices .breadcrumb-item.active {
color: #050D15;
font-family: "Fjalla One", sans-serif;
font-size: 1.125rem;
text-transform: uppercase;
}
.node--type-offices .paragraph--type--two-image-card .field--name-field-content-three-column {
grid-template-columns: 1fr 1fr 1fr 1fr;
}
.node--type-page {
border-top: #133553 32px solid;
}
.node--type-page .wrapper {
padding: 3.5rem 0;
text-align: center;
}
.node--type-leadership-bio .node__content {
padding: 3.75rem 0;
}
.node--type-leadership-bio h1, .node--type-leadership-bio .field--name-field-position-title {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
.node--type-leadership-bio .field--name-field-image {
float: left;
padding: 0 1.25rem 0 0;
}
.node--type-leadership-bio .field--name-field-image img {
border-radius: 24px;
width: 237px;
}
.node--type-leadership-bio .accordion {
padding: 1.25rem 0;
}
.node--type-leadership-bio .breadcrumb a, .node--type-leadership-bio .breadcrumb-item.active {
color: #050D15;
font-family: "Fjalla One", sans-serif;
font-size: 1.125rem;
text-transform: uppercase;
}
.block-views-blockleadership-block-1 {
padding: 3.75rem 0;
}
.block-views-blockleadership-block-1 h2 {
text-align: center;
margin-bottom: 1.875rem;
}
.block-views-blockleadership-block-1 .view-leadership .view-content.row {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
gap: 24px;
}
.block-views-blockleadership-block-1 .view-leadership .view-content.row a {
color: #050D15;
}
.block-views-blockleadership-block-1 .view-leadership .view-content.row > .views-row .card-link {
padding: 0 0 2.5rem;
}
.block-views-blockleadership-block-1 .view-leadership .view-content.row > .views-row .card-link .leadership-bio-card-img img {
border-radius: 24px 24px 0 0;
width: 100%;
}
.block-views-blockleadership-block-1 .view-leadership .view-content.row > .views-row .card-link .leadership-bio-content {
padding: 1rem;
}
.block-views-blockleadership-block-1 .view-leadership .view-content.row .our-leaders-wrapper {
background-color: #FFFFFF;
border-radius: 24px;
-webkit-box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.08);
box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.08);
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
height: 100%;
}
@media only screen and (max-width: 35.99875rem) {
.block-views-blockleadership-block-1 .view-leadership .view-content.row {
grid-template-columns: 1fr;
padding: 1rem;
}
}
@media (min-width: 36rem) and (max-width: 47.99875rem) {
.block-views-blockleadership-block-1 .view-leadership .view-content.row {
grid-template-columns: 1fr 1fr;
padding: 1rem;
}
}
.view-product-roadmap .view-header,
.view-product-roadmap h1 {
background-color: #133553;
color: #FFFFFF;
}
.view-product-roadmap .view-header .wrapper,
.view-product-roadmap h1 .wrapper {
padding: 1.875rem 0;
}
.view-product-roadmap .view-filters {
margin: 2rem 2.5rem;
}
.view-product-roadmap .view-filters .flex-wrap {
-webkit-column-gap: 20px;
-moz-column-gap: 20px;
column-gap: 20px;
}
.view-product-roadmap .view-filters .form-select {
border-radius: 8px;
color: #133553;
font-family: "Open Sans", sans-serif;
padding: 0 1.5rem;
}
.view-product-roadmap .view-filters .form-select:focus {
border-color: #20588A;
-webkit-box-shadow: 0 0 0 0 #20588A;
box-shadow: 0 0 0 0 #20588A;
}
.view-product-roadmap .view-content.row {
border: 1px solid #E3E7EB;
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
}
.view-product-roadmap .view-content.row .views-row {
background: #FFFFFF;
border-radius: 24px;
-webkit-box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.08);
box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.08);
margin: 1.25rem 0;
padding: 1.25rem;
text-align: left;
margin: 1rem;
padding: 0.75rem;
}
.view-product-roadmap .view-content.row .views-row:hover {
-webkit-box-shadow: 10px 20px 40px 0px rgba(0, 0, 0, 0.4);
box-shadow: 10px 20px 40px 0px rgba(0, 0, 0, 0.4);
}
.view-product-roadmap .view-content.row .views-row h5 a {
color: #050D15;
font-family: "Fjalla One", sans-serif;
}
.view-product-roadmap .view-content.row .views-row .views-field-title {
padding: 1rem 0;
}
.view-product-roadmap .view-content.row .views-row .views-field-title h5 {
margin: 0;
}
.view-product-roadmap .view-content.row .views-row .views-field-field-cit-service-area-owner,
.view-product-roadmap .view-content.row .views-row .views-field-field-timestamp {
font-size: 0.875rem;
}
.view-product-roadmap .view-content.row .views-row .views-field-field-cit-service-area-owner .field-content,
.view-product-roadmap .view-content.row .views-row .views-field-field-timestamp .field-content {
display: inline-block;
}
.view-product-roadmap .view-content.row .views-row .light-gray,
.view-product-roadmap .view-content.row .views-row .light-yellow,
.view-product-roadmap .view-content.row .views-row .light-green,
.view-product-roadmap .view-content.row .views-row .light-blue {
margin-bottom: 1rem;
}
.roadmap-quarter:not(:last-child) {
border-right: solid 1px #E3E7EB;
}
.roadmap-header {
background-color: #133553;
text-align: center;
padding: 0 1rem 0 0.5rem;
}
.roadmap-header h2,
.roadmap-header p {
color: #FFFFFF;
font-family: "Open Sans", sans-serif;
}
.roadmap-header p {
margin-bottom: 0;
}
@media only screen and (max-width: 49.3125rem) {
.view-product-roadmap .view-content.row {
grid-template-columns: 1fr;
}
}
.modal-wrapper a {
color: #050D15;
border-radius: 10px;
cursor: pointer;
}
.modal {
position: fixed;
width: 100vw;
height: 100vh;
opacity: 0;
visibility: hidden;
-webkit-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all 0.3s ease;
top: 0;
left: 0;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
}
.modal.open {
visibility: visible;
opacity: 1;
-webkit-transition-delay: 0s;
-o-transition-delay: 0s;
transition-delay: 0s;
}
.modal-bg {
position: absolute;
background-color: rgba(5, 13, 21, 0.8);
width: 100%;
height: 100%;
}
.modal-container {
border-radius: 10px;
background: #fff;
max-width: 550px;
position: relative;
padding: 2.5rem 3.5rem;
}
.modal-container div {
margin-bottom: 0.5rem;
}
.modal-close {
position: absolute;
right: 15px;
top: 15px;
outline: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
color: #050D15;
background: none;
border: 0px;
font-weight: bold;
cursor: pointer;
}
.paragraph--type--two-image-card {
padding: 3.5rem 0;
margin: auto;
max-width: 1140px;
right: 0;
}
.paragraph--type--two-image-card .field--name-field-content-three-column {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
text-align: center;
}
.paragraph--type--two-image-card .field--name-field-content-three-column > .field__item {
background: #FFFFFF;
border-radius: 24px;
-webkit-box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.08);
box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.08);
margin: 1.25rem 0;
padding: 1.25rem;
text-align: left;
margin: 0;
padding: 0;
}
.paragraph--type--two-image-card .field--name-field-content-three-column > .field__item:hover {
-webkit-box-shadow: 10px 20px 40px 0px rgba(0, 0, 0, 0.4);
box-shadow: 10px 20px 40px 0px rgba(0, 0, 0, 0.4);
}
.paragraph--type--two-image-card .field--name-field-content-three-column .field--name-field-image img {
border-radius: 24px 24px 0 0;
width: 100%;
}
.paragraph--type--two-image-card .paragraph--type--two-image-card-content .two-image-card-paragraph {
padding: 1rem;
}
.paragraph--type--two-image-card .paragraph--type--two-image-card-content .two-image-card-paragraph span {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: end;
-webkit-justify-content: flex-end;
-ms-flex-pack: end;
justify-content: flex-end;
bottom: 0;
right: 0;
text-align: right;
}
.paragraph--type--two-image-card .paragraph--type--two-image-card-content .two-image-card-paragraph span img {
width: 20px;
}
.paragraph--type--two-image-card .paragraph--type--two-image-card-content .two-image-card-paragraph .field--name-field-title {
color: #050D15;
}
@media only screen and (max-width: 35.99875rem) {
.paragraph--type--two-image-card .field--name-field-content-three-column {
grid-template-columns: 1fr;
}
}
.field--name-field-leadership-bios {
display: grid;
gap: 24px;
grid-auto-rows: auto;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}
@media screen and (max-width: 49.3125rem) {
.field--name-field-leadership-bios {
grid-template-columns: 1fr 1fr 1fr;
}
}
@media screen and (max-width: 33.75rem) {
.field--name-field-leadership-bios {
grid-template-columns: 1fr;
}
}
.field--name-field-leadership-bios .leadership-bio-content {
font-family: "Open Sans", sans-serif;
font-size: 0.875rem;
padding: 1rem;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-flow: column nowrap;
-ms-flex-flow: column nowrap;
flex-flow: column nowrap;
-webkit-box-pack: justify;
-webkit-justify-content: space-between;
-ms-flex-pack: justify;
justify-content: space-between;
}
.field--name-field-leadership-bios .leadership-bio-content .card-heading > span {
padding-bottom: 0 !important;
}
.field--name-field-leadership-bios > .field__item {
-webkit-box-sizing: border-box;
box-sizing: border-box;
display: block;
grid-column-end: span 1;
height: 100%;
width: 100%;
}
.field--name-field-leadership-bios > .field__item .card-link {
padding: 0 0 2.5rem;
}
.field--name-field-leadership-bios > .field__item img {
border-radius: 24px 24px 0 0;
width: 100%;
}
.node--type-offices .field--name-title {
display: block;
}
.node--type-offices .paragraph--type--leadership-bios {
background-color: transparent;
}
.node--type-offices .paragraph--type--leadership-bios .node__content {
background: transparent;
}
.node--type-offices .paragraph--type--leadership-bios .field--name-field-leadership-bios {
grid-template-columns: 1fr 1fr 1fr 1fr;
}
.paragraph--type--leadership-bios {
background-color: #C3D8DF;
padding: 2.5rem 0;
}
/* GENERAL STYLES
-------------------------------------------------*/
body {
background: #fff;
}
/* COLORS
--------------------------------------------------*/
a {
color: #0079C0;
}
.bg-inverse {
background: rgb(255, 78, 46) !important;
}
.site-footer {
background: #0079C0;
}
.menu--main li a {
color: rgb(255, 78, 46);
}
.menu--account li a {
color: rgb(255, 78, 46);
}
.site-name-slogan a {
text-decoration: none;
}
.card-group img {
margin: 0;
width: 100%;
height: auto;
}
.card-group .field--type-image {
margin: 0;
}
.slick {
width: 100%;
}
.slick > div {
margin: 0 0.9375rem;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJ2YXJpYWJsZXMuc2NzcyIsInR5cG9ncmFwaHkuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcm9vdC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZlbmRvci9fcmZzLnNjc3MiLCJzdHlsZS5jc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jb2xvci1tb2RlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3JlYm9vdC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL192YXJpYWJsZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW1hZ2VzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19pbWFnZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2xlYXJmaXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19jb2xvci1iZy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX2NvbG9yZWQtbGlua3Muc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19mb2N1cy1yaW5nLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9faWNvbi1saW5rLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fcmF0aW8uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19wb3NpdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19zdGFja3Muc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Zpc3VhbGx5LWhpZGRlbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3N0cmV0Y2hlZC1saW5rLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fdGV4dC10cnVuY2F0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LXRydW5jYXRlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fdnIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdGFibGVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS12YXJpYW50cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19sYWJlbHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZm9ybS10ZXh0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tY29udHJvbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tc2VsZWN0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tY2hlY2suc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZm9ybS1yYW5nZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mbG9hdGluZy1sYWJlbHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHJhbnNpdGlvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZHJvcGRvd24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXYuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2YmFyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYWNjb3JkaW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JyZWFkY3J1bWIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYmFkZ2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYWxlcnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJvZ3Jlc3Muc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jbG9zZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b2FzdHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbW9kYWwuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tkcm9wLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Rvb2x0aXAuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcG9wb3Zlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJvdXNlbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19zcGlubmVycy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19vZmZjYW52YXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcGxhY2Vob2xkZXJzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL191dGlsaXRpZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2FwaS5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL3NldHRpbmdzL19zZXR0aW5ncy1nZW5lcmFsLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvc2V0dGluZ3MvX3NldHRpbmdzLXR5cG9ncmFwaHkuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9zZXR0aW5ncy9fc2V0dGluZ3MtY29sb3Iuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9zZXR0aW5ncy9fc2V0dGluZ3MtY29tcG9uZW50cy5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL3NldHRpbmdzL19zZXR0aW5ncy1zcGFjaW5nLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvc2V0dGluZ3MvX3NldHRpbmdzLXV0aWxpdGllcy5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy91dGlsaXRpZXMvY29sb3Iuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvZ2VuZXJhbC9hcHBlbmQtaW1wb3J0YW50LnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2dlbmVyYWwvZ2V0LWxhc3Quc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvZ2VuZXJhbC9kZS1saXN0LnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2dlbmVyYWwvZXJyb3Itbm90LXRva2VuLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2dlbmVyYWwvZXJyb3Iuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvZ2VuZXJhbC9nZXQtZGVmYXVsdC5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy9nZW5lcmFsL2hhcy1pbXBvcnRhbnQuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvZ2VuZXJhbC9tYXAtY29sbGVjdC5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy9nZW5lcmFsL21hcC1kZWVwLWdldC5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy9nZW5lcmFsL211bHRpLWNhdC5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy9nZW5lcmFsL3JlbW92ZS5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy9nZW5lcmFsL3NtYXJ0LXF1b3RlLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2dlbmVyYWwvc3RyLXJlcGxhY2Uuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvZ2VuZXJhbC9zdHItc3BsaXQuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvZ2VuZXJhbC9zdHJpcC11bml0LnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2dlbmVyYWwvdG8tbWFwLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2dlbmVyYWwvdG8tbnVtYmVyLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2dlbmVyYWwvdW5wYWNrLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2NvbG9yL3NldC10aGVtZS1jb2xvci5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy91bml0cy9weC10by1yZW0uc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvdW5pdHMvcmVtLXRvLXB4LnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL3VuaXRzL3JlbS10by11c2VyLWVtLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL3VuaXRzL3NwYWNpbmctbXVsdGlwbGUuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvdW5pdHMvdW5pdHMuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvb3V0cHV0L251bWJlci10by10b2tlbi5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL3ZhcmlhYmxlcy9mb250LXR5cGUtdG9rZW5zLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvdmFyaWFibGVzL2x1bWluYW5jZS1ncmFkZS1yYW5nZXMuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvb3V0cHV0L25zLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2NvbG9yL2dldC1zeXN0ZW0tY29sb3Iuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy90b2tlbnMvZm9udC9saW5lLWhlaWdodC5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL3Rva2Vucy9mb250L21lYXN1cmUuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvZm9udC9jYXAtaGVpZ2h0LnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2ZvbnQvdmFsaWRhdGUtdHlwZWZhY2UtdG9rZW4uc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvZm9udC9jb252ZXJ0LXRvLWZvbnQtdHlwZS5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy9mb250L2ZvbnQtc291cmNlcy5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy9mb250L2dldC1mb250LXN0YWNrLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2ZvbnQvZ2V0LXR5cGVmYWNlLXRva2VuLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2ZvbnQvbm9ybWFsaXplLXR5cGUtc2NhbGUuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvZm9udC9zeXN0ZW0tdHlwZS1zY2FsZS5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL3ZhcmlhYmxlcy9wcm9qZWN0LWVhc2luZy5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL19kZXByZWNhdGVkLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2NvbG9yL2FkdmFuY2VkLWNvbG9yLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2NvbG9yL2NhbGN1bGF0ZS1ncmFkZS5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy9jb2xvci9jb2xvci10b2tlbi1hc3NpZ25tZW50LnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2NvbG9yL2lzLXN5c3RlbS1jb2xvci10b2tlbi5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy9jb2xvci9pcy10aGVtZS1jb2xvci10b2tlbi5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy9jb2xvci9jb2xvci10b2tlbi1mYW1pbHkuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvY29sb3IvZGVjb21wb3NlLWNvbG9yLXRva2VuLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2NvbG9yL2NvbG9yLXRva2VuLWdyYWRlLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2NvbG9yL2lzLWNvbG9yLXRva2VuLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL21hdGgvcG93LnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2NvbG9yL2NvbG9yLXRva2VuLXR5cGUuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvY29sb3IvY29sb3ItdG9rZW4tdmFyaWFudC5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy9jb2xvci9tYWdpYy1udW1iZXIuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvY29sb3IvaXMtYWNjZXNzaWJsZS1tYWdpYy1udW1iZXIuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvY29sb3Ivd2NhZy1tYWdpYy1udW1iZXIuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvY29sb3IvZ2V0LWxpbmstdG9rZW5zLWZyb20tYmcuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvY29sb3IvbmV4dC10b2tlbi5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy9jb2xvci90ZXN0LWNvbG9yLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL2dyaWQvY29sdW1ucy5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL19wcm9wZXJ0aWVzLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvZnVuY3Rpb25zL291dHB1dC9nZXQtdXN3ZHMtdmFsdWUuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvb3V0cHV0L2dldC1zdGFuZGFyZC12YWx1ZXMuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9mdW5jdGlvbnMvdXRpbGl0aWVzL2V0Yy5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL2Z1bmN0aW9ucy91dGlsaXRpZXMvdXRpbGl0eS1mb250LnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvbWl4aW5zL3V0aWxpdGllcy9fZm9udC5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL21peGlucy90eXBvZ3JhcGh5L3R5cGVzZXQuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9taXhpbnMvX3V0aWxpdHktYnVpbGRlci5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL19ub3RpZmljYXRpb25zLnNjc3MiLCIuLi91c3dkcy91c3dkcy1mb250cy9zcmMvc3R5bGVzL19mb250LWZhY2Uuc2NzcyIsIi4uL3Vzd2RzL3VzYS1tZWRpYS1ibG9jay9zcmMvc3R5bGVzL191c2EtbWVkaWEtYmxvY2suc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9taXhpbnMvdXRpbGl0aWVzL19hbGlnbi1pdGVtcy5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL21peGlucy91dGlsaXRpZXMvX2Rpc3BsYXkuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9taXhpbnMvZ2VuZXJhbC9tZWRpYS1ibG9jay1pbWcuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9taXhpbnMvdXRpbGl0aWVzL19mbGV4LnNjc3MiLCIuLi91c3dkcy91c2EtYmFubmVyL3NyYy9zdHlsZXMvX3VzYS1iYW5uZXIuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9taXhpbnMvdXRpbGl0aWVzL19saW5lLWhlaWdodC5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL21peGlucy9oZWxwZXJzL2F0LW1lZGlhLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvbWl4aW5zL3V0aWxpdGllcy9fbWFyZ2luLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvbWl4aW5zL2dlbmVyYWwvbGF5b3V0LWdyaWQuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9taXhpbnMvdXRpbGl0aWVzL19wYWRkaW5nLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvbWl4aW5zL3V0aWxpdGllcy9fd2lkdGguc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9taXhpbnMvaGVscGVycy9zZXQtdGV4dC1mcm9tLWJnLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvbWl4aW5zL3V0aWxpdGllcy9fbWF4LXdpZHRoLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvbWl4aW5zL3V0aWxpdGllcy9fbWVhc3VyZS5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL21peGlucy9oZWxwZXJzL3NldC1saW5rLWZyb20tYmcuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9taXhpbnMvZ2VuZXJhbC9pY29uLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvbWl4aW5zL3V0aWxpdGllcy9fZmxvYXQuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9taXhpbnMvZ2VuZXJhbC9idXR0b24tdW5zdHlsZWQuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9taXhpbnMvdXRpbGl0aWVzL19wb3NpdGlvbi5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL21peGlucy91dGlsaXRpZXMvX3Bpbi5zY3NzIiwiLi4vdXN3ZHMvdXN3ZHMtY29yZS9zcmMvc3R5bGVzL21peGlucy91dGlsaXRpZXMvX3RleHQuc2NzcyIsIi4uL3Vzd2RzL3Vzd2RzLWNvcmUvc3JjL3N0eWxlcy9taXhpbnMvZ2VuZXJhbC9mb2N1cy1vdXRsaW5lLnNjc3MiLCIuLi91c3dkcy91c3dkcy1jb3JlL3NyYy9zdHlsZXMvbWl4aW5zL2dlbmVyYWwvc2NyZWVuLXJlYWRlci5zY3NzIiwiX3NwYWNpbmcuc2NzcyIsIl9ncmlkLnNjc3MiLCJtaXhpbnMuc2NzcyIsIl9pbWFnZXMuc2NzcyIsIl9uYXYuc2NzcyIsIl9uYXZiYXIuc2NzcyIsIl9mb290ZXIuc2NzcyIsIl9idXR0b25zLnNjc3MiLCJfY2FyZC1saW5rLnNjc3MiLCJwYXJhZ3JhcGhzL19wYXJhZ3JhcGgtLXR5cGUtLXRocmVlLWltYWdlLWNhcmQuc2NzcyIsInBhcmFncmFwaHMvX3BhcmFncmFwaC0tdHlwZS0tdHdvLWNvbXBvbmVudC1jYXJkLnNjc3MiLCJwYXJhZ3JhcGhzL19wYXJhZ3JhcGgtLXR5cGUtLWxhbmRpbmctcGFnZS1oZXJvLnNjc3MiLCJwYXJhZ3JhcGhzL19wYXJhZ3JhcGgtLXR5cGUtLWNpdC1jb25uZWN0LWNhcmRzLS5zY3NzIiwiX2NvbnRhaW5lcnMuc2NzcyIsInBhcmFncmFwaHMvX2FjY29yZGlvbi1jb250ZW50LnNjc3MiLCJwYWdlcy9fbm9kZS0tdHlwZS1zZXJ2aWNlLnNjc3MiLCJwYWdlcy9fbm9kZS0tdHlwZS1sZWFkZXJzaGlwLWJpby5zY3NzIiwiX3ZpZXdzLWxlYWRlcnNoaXAuc2NzcyIsInBhZ2VzL19jaXRfZGVwbG95bWVudF9jYWxlbmRhci5zY3NzIiwiX21vZGFsLnNjc3MiLCJwYXJhZ3JhcGhzL19wYXJhZ3JhcGgtLXR5cGUtLXR3by1pbWFnZS1jYXJkLnNjc3MiLCJwYXJhZ3JhcGhzL19wYXJhZ3JhcGgtLXR5cGUtLWxlYWRlcnNoaXAtYmlvcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FBQTtBQ0FBLGNBQUE7QUNPUSxtR0FBQTtBQUNBLCtFQUFBO0FDUlI7O0VBU0ksa0JBQUE7RUFBQSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsa0JBQUE7RUFBQSxpQkFBQTtFQUFBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxtQkFBQTtFQUFBLGtCQUFBO0VBQUEsa0JBQUE7RUFBQSxnQkFBQTtFQUFBLGdCQUFBO0VBQUEsa0JBQUE7RUFBQSx1QkFBQTtFQUlBLHNCQUFBO0VBQUEsc0JBQUE7RUFBQSxzQkFBQTtFQUFBLHNCQUFBO0VBQUEsc0JBQUE7RUFBQSxzQkFBQTtFQUFBLHNCQUFBO0VBQUEsc0JBQUE7RUFBQSxzQkFBQTtFQUlBLHFCQUFBO0VBQUEsZ0NBQUE7RUFBQSxxQkFBQTtFQUFBLGtCQUFBO0VBQUEscUJBQUE7RUFBQSxvQkFBQTtFQUFBLG1CQUFBO0VBQUEsa0JBQUE7RUFJQSw2QkFBQTtFQUFBLCtCQUFBO0VBQUEsNkJBQUE7RUFBQSwyQkFBQTtFQUFBLDZCQUFBO0VBQUEsNEJBQUE7RUFBQSw2QkFBQTtFQUFBLHlCQUFBO0VBSUEsbUNBQUE7RUFBQSxxQ0FBQTtFQUFBLG1DQUFBO0VBQUEsZ0NBQUE7RUFBQSxtQ0FBQTtFQUFBLGtDQUFBO0VBQUEsaUNBQUE7RUFBQSxnQ0FBQTtFQUlBLCtCQUFBO0VBQUEsaUNBQUE7RUFBQSwrQkFBQTtFQUFBLDRCQUFBO0VBQUEsK0JBQUE7RUFBQSw4QkFBQTtFQUFBLDZCQUFBO0VBQUEsNEJBQUE7RUFJQSxtQ0FBQTtFQUFBLHFDQUFBO0VBQUEsbUNBQUE7RUFBQSxnQ0FBQTtFQUFBLG1DQUFB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QUhpakI5Qjs7QXlCNW9DQTtFQUNFLGtEQUFBO0VBQ0EscURBQUE7RTFCb1FJLGtCQUxJO0FDaTVCVjs7QXlCNW9DQTtFQUNFLG1EQUFBO0VBQ0Esc0RBQUE7RTFCOFBJLG1CQUxJO0FDdTVCVjs7QTBCN3FDQTtFQUNFLG1CdkIrMUJzQztFSnJrQmxDLGtCQUxJO0UyQmpSUixnQ3ZCKzFCc0M7QUgrVXhDOztBMkJuckNBO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSx5QkFBQTtFNUJ3UkksZUFMSTtFNEJoUlIsZ0J4QmttQjRCO0V3QmptQjVCLGdCeEJ5bUI0QjtFd0J4bUI1QiwyQnhCNDNCc0M7RXdCMzNCdEMsd0JBQUE7S0FBQSxxQkFBQTtVQUFBLGdCQUFBO0VBQ0EsbUN4QnEzQnNDO0V3QnAzQnRDLG9DQUFBO1VBQUEsNEJBQUE7RUFDQSwyREFBQTtFdkJHRSxzQ0FBQTtFUUhFLHdGZU1KO0VmTkksZ0ZlTUo7RWZOSSwyRWVNSjtFZk5JLHdFZU1KO0VmTkksOEdlTUo7QTNCaXJDRjtBWW5yQ007RWVoQk47SWZpQlEsd0JBQUE7SUFBQSxtQkFBQTtJQUFBLGdCQUFBO0Vac3JDTjtBQUNGO0EyQnByQ0U7RUFDRSxnQkFBQTtBM0JzckNKO0EyQnByQ0k7RUFDRSxlQUFBO0EzQnNyQ047QTJCanJDRTtFQUNFLDJCeEJzMkJvQztFd0JyMkJwQyxtQ3hCZzJCb0M7RXdCLzFCcEMscUJ4QjgyQm9DO0V3QjcyQnBDLFVBQUE7RUFLRSx5RHhCa2hCa0I7VXdCbGhCbEIsaUR4QmtoQmtCO0FINnBCeEI7QTJCM3FDRTtFQU1FLGVBQUE7RUFNQSxhQUFBO0VBS0EsU0FBQTtBM0IrcENKO0EyQjFwQ0U7RUFDRSxjQUFBO0VBQ0EsVUFBQTtBM0I0cENKO0EyQnhwQ0U7RUFDRSxnQ3hCNDBCb0M7RXdCMTBCcEMsVUFBQTtBM0J5cENKO0EyQjVwQ0U7RUFDRSxnQ3hCNDBCb0M7RXdCMTBCcEMsVUFBQTtBM0J5cENKO0EyQjVwQ0U7RUFDRSxnQ3hCNDBCb0M7RXdCMTBCcEMsVUFBQTtBM0J5cENKO0EyQjVwQ0U7RUFDRSxnQ3hCNDBCb0M7RXdCMTBCcEMsVUFBQTtBM0J5cENKO0EyQmpwQ0U7RUFFRSx3Q3hCOHlCb0M7RXdCM3lCcEMsVUFBQTtBM0JncENKO0EyQjVvQ0U7RUFDRSx5QkFBQTtFQUNBLDBCQUFBO0VBQ0EsMkJ4Qm9yQjBCO0t3QnByQjFCLHdCeEJvckIwQjtVd0JwckIxQiwwQnhCb3JCMEI7RXdCbnJCMUIsMkJ4QnN5Qm9DO0V5QnA0QnRDLHVDekJxaUNnQztFd0JyOEI5QixvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0VBQ0EsK0N4QmdzQjBCO0V3Qi9yQjFCLGdCQUFBO0VmekZFLHFKZTBGRjtFZjFGRSw2SWUwRkY7RWYxRkUsd0llMEZGO0VmMUZFLHFJZTBGRjtFZjFGRSwyS2UwRkY7QTNCOG9DSjtBWXB1Q007RWUwRUo7SWZ6RU0sd0JBQUE7SUFBQSxtQkFBQTtJQUFBLGdCQUFBO0VadXVDTjtBQUNGO0EyQmhwQ0U7RUFDRSx3Q3hCNDdCOEI7QUhzTmxDOztBMkJ6b0NBO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0J4QndmNEI7RXdCdmY1QiwyQnhCMnhCc0M7RXdCMXhCdEMsNkJBQUE7RUFDQSx5QkFBQTtFQUNBLHNDQUFBO0EzQjRvQ0Y7QTJCMW9DRTtFQUNFLFVBQUE7QTNCNG9DSjtBMkJ6b0NFO0VBRUUsZ0JBQUE7RUFDQSxlQUFBO0EzQjBvQ0o7O0EyQi9uQ0E7RUFDRSxtRXhCNHdCc0M7RXdCM3dCdEMsdUJBQUE7RTVCeUlJLG1CQUxJO0VLdlFOLHlDQUFBO0FKdXdDSjtBMkJob0NFO0VBQ0UsdUJBQUE7RUFDQSx3QkFBQTtFQUNBLDBCeEJvb0IwQjtLd0Jwb0IxQix1QnhCb29CMEI7VXdCcG9CMUIseUJ4Qm9vQjBCO0FIOGY5Qjs7QTJCOW5DQTtFQUNFLGlFeEJnd0JzQztFd0IvdkJ0QyxvQkFBQTtFNUI0SEksa0JBTEk7RUt2UU4seUNBQUE7QUpteENKO0EyQi9uQ0U7RUFDRSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0Esd0J4QjJuQjBCO0t3QjNuQjFCLHFCeEIybkIwQjtVd0IzbkIxQix1QnhCMm5CMEI7QUhzZ0I5Qjs7QTJCem5DRTtFQUNFLG9FeEI2dUJvQztBSCtZeEM7QTJCem5DRTtFQUNFLG1FeEIwdUJvQztBSGlaeEM7QTJCeG5DRTtFQUNFLGlFeEJ1dUJvQztBSG1aeEM7O0EyQnJuQ0E7RUFDRSxXeEJxdUJzQztFd0JwdUJ0QyxnRXhCOHRCc0M7RXdCN3RCdEMsaUJ4QmlsQjRCO0FIdWlCOUI7QTJCdG5DRTtFQUNFLGVBQUE7QTNCd25DSjtBMkJybkNFO0VBQ0Usb0JBQUE7RXZCdkxBLHNDQUFBO0FKK3lDSjtBMkJwbkNFO0VBQ0Usb0JBQUE7RXZCNUxBLHNDQUFBO0FKbXpDSjtBMkJubkNFO0VBQW9CLCtEeEI4c0JrQjtBSHdheEM7QTJCcm5DRTtFQUFvQiw2RHhCOHNCa0I7QUgwYXhDOztBNkJ2MENBO0VBQ0Usd1BBQUE7RUFFQSxjQUFBO0VBQ0EsV0FBQTtFQUNBLDBDQUFBO0U5QnFSSSxlQUxJO0U4QjdRUixnQjFCK2xCNEI7RTBCOWxCNUIsZ0IxQnNtQjRCO0UwQnJtQjVCLDJCMUJ5M0JzQztFMEJ4M0J0Qyx3QkFBQTtLQUFBLHFCQUFBO1VBQUEsZ0JBQUE7RUFDQSxtQzFCazNCc0M7RTBCajNCdEMsbUZBQUE7RUFDQSw0QkFBQTtFQUNBLHlDMUIrOUJrQztFMEI5OUJsQyxrQzFCKzlCa0M7VTBCLzlCbEMsMEIxQis5QmtDO0UwQjk5QmxDLDJEQUFBO0V6QkhFLHNDQUFBO0VRSEUsd0ZpQlNKO0VqQlRJLGdGaUJTSjtFakJUSSwyRWlCU0o7RWpCVEksd0VpQlNKO0VqQlRJLDhHaUJTSjtBN0J1MENGO0FZNTBDTTtFaUJmTjtJakJnQlEsd0JBQUE7SUFBQSxtQkFBQTtJQUFBLGdCQUFBO0VaKzBDTjtBQUNGO0E2QjEwQ0U7RUFDRSxxQjFCczNCb0M7RTBCcjNCcEMsVUFBQTtFQUtFLHlEMUJpK0I0QjtVMEJqK0I1QixpRDFCaStCNEI7QUh1V2xDO0E2QnAwQ0U7RUFFRSxzQjFCNnVCMEI7RTBCNXVCMUIsc0JBQUE7QTdCcTBDSjtBNkJsMENFO0VBRUUsd0MxQnUxQm9DO0FINGV4QztBNkI5ekNFO0VBQ0Usa0JBQUE7RUFDQSx1Q0FBQTtBN0JnMENKOztBNkI1ekNBO0VBQ0Usb0IxQnN1QjRCO0UwQnJ1QjVCLHVCMUJxdUI0QjtFMEJwdUI1QixvQjFCcXVCNEI7RUpsZ0J4QixtQkFMSTtFS3ZRTix5Q0FBQTtBSjAyQ0o7O0E2QjV6Q0E7RUFDRSxtQjFCa3VCNEI7RTBCanVCNUIsc0IxQml1QjRCO0UwQmh1QjVCLGtCMUJpdUI0QjtFSnRnQnhCLGtCQUxJO0VLdlFOLHlDQUFBO0FKazNDSjs7QTZCMXpDSTtFQUNFLHdQQUFBO0E3QjZ6Q047O0E4QnI0Q0E7RUFDRSxjQUFBO0VBQ0Esa0IzQnE2QndDO0UyQnA2QnhDLG1CM0JxNkJ3QztFMkJwNkJ4Qyx1QjNCcTZCd0M7QUhtZTFDO0E4QnQ0Q0U7RUFDRSxXQUFBO0VBQ0EsbUJBQUE7QTlCdzRDSjs7QThCcDRDQTtFQUNFLG9CM0IyNUJ3QztFMkIxNUJ4QyxlQUFBO0VBQ0EsaUJBQUE7QTlCdTRDRjtBOEJyNENFO0VBQ0UsWUFBQTtFQUNBLG9CQUFBO0VBQ0EsY0FBQTtBOUJ1NENKOztBOEJuNENBO0VBQ0UscUNBQUE7RUFFQSxzQkFBQTtNQUFBLG9CQUFBO1VBQUEsY0FBQTtFQUNBLFUzQjA0QndDO0UyQno0QnhDLFczQnk0QndDO0UyQng0QnhDLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSx3QkFBQTtLQUFBLHFCQUFBO1VBQUEsZ0JBQUE7RUFDQSx5Q0FBQTtFQUNBLCtDQUFBO0VBQ0EsNEJBQUE7RUFDQSwyQkFBQTtFQUNBLGdDQUFBO1VBQUEsd0JBQUE7RUFDQSwyRDNCMjRCd0M7RTJCMTRCeEMseUJBQUE7QTlCcTRDRjtBOEJsNENFO0UxQjNCRSxxQkFBQTtBSmc2Q0o7QThCajRDRTtFQUVFLGtCM0JtNEJzQztBSCtmMUM7QThCLzNDRTtFQUNFLCtCM0IwM0JzQztVMkIxM0J0Qyx1QjNCMDNCc0M7QUh1Z0IxQztBOEI5M0NFO0VBQ0UscUIzQnMxQm9DO0UyQnIxQnBDLFVBQUE7RUFDQSx5RDNCOGZvQjtVMkI5ZnBCLGlEM0I4Zm9CO0FIazRCeEI7QThCNzNDRTtFQUNFLHlCbEM1RFc7RWtDNkRYLHFCbEM3RFc7QUk0N0NmO0E4QjczQ0k7RUFJSSx1UEFBQTtBOUI0M0NSO0E4QngzQ0k7RUFJSSwrSkFBQTtBOUJ1M0NSO0E4QmwzQ0U7RUFDRSx5QmxDakZXO0VrQ2tGWCxxQmxDbEZXO0VrQ3VGVCxpUEFBQTtBOUJnM0NOO0E4QjUyQ0U7RUFDRSxvQkFBQTtFQUNBLG9CQUFBO1VBQUEsWUFBQTtFQUNBLFkzQmsyQnVDO0FINGdCM0M7QThCdjJDSTtFQUNFLGVBQUE7RUFDQSxZM0J5MUJxQztBSGdoQjNDOztBOEIzMUNBO0VBQ0UsbUIzQm8xQmdDO0FIMGdCbEM7QThCNTFDRTtFQUNFLDJLQUFBO0VBRUEsVTNCODBCOEI7RTJCNzBCOUIsbUJBQUE7RUFDQSwwQ0FBQTtFQUNBLGdDQUFBO0UxQmpIQSxrQkFBQTtFUUhFLHlEa0JzSEY7RWxCdEhFLG9Ea0JzSEY7RWxCdEhFLGlEa0JzSEY7QTlCNjFDSjtBWS84Q007RWtCMEdKO0lsQnpHTSx3QkFBQTtJQUFBLG1CQUFBO0lBQUEsZ0JBQUE7RVprOUNOO0FBQ0Y7QThCaDJDSTtFQUNFLDZKQUFBO0E5QmsyQ047QThCLzFDSTtFQUNFLGlDM0I2MEI0QjtFMkJ4MEIxQiwwSkFBQTtBOUI2MUNSO0E4QngxQ0U7RUFDRSxvQjNCd3pCOEI7RTJCdnpCOUIsZUFBQTtBOUIwMUNKO0E4QngxQ0k7RUFDRSxvQkFBQTtFQUNBLGNBQUE7QTlCMDFDTjs7QThCcjFDQTtFQUNFLHFCQUFBO0VBQ0Esa0IzQnN5QmdDO0FIa2pCbEM7O0E4QnIxQ0E7RUFDRSxrQkFBQTtFQUNBLHNCQUFBO0VBQ0Esb0JBQUE7QTlCdzFDRjtBOEJwMUNJO0VBQ0Usb0JBQUE7RUFDQSxvQkFBQTtVQUFBLFlBQUE7RUFDQSxhM0JzcEJ3QjtBSGdzQjlCOztBOEIvMENJO0VBQ0UsaUxBQUE7QTlCazFDTjs7QStCcmdEQTtFQUNFLFdBQUE7RUFDQSxjQUFBO0VBQ0EsVUFBQTtFQUNBLHdCQUFBO0tBQUEscUJBQUE7VUFBQSxnQkFBQTtFQUNBLDZCQUFBO0EvQndnREY7QStCdGdERTtFQUNFLFVBQUE7QS9Cd2dESjtBK0JwZ0RJO0VBQTBCLHlFNUI4Z0NhO1U0QjlnQ2IsaUU1QjhnQ2E7QUh5ZjNDO0ErQnRnREk7RUFBMEIsaUU1QjZnQ2E7QUg0ZjNDO0ErQnRnREU7RUFDRSxTQUFBO0EvQndnREo7QStCcmdERTtFQUNFLFc1QisvQnVDO0U0QjkvQnZDLFk1QjgvQnVDO0U0QjcvQnZDLG9CQUFBO0VBQ0Esd0JBQUE7VUFBQSxnQkFBQTtFSDFCRix5QmhDRWE7RW1DMEJYLFM1QjYvQnVDO0VDMWdDdkMsbUJBQUE7RVFIRSw0SG1CbUJGO0VuQm5CRSxvSG1CbUJGO0VuQm5CRSwrR21CbUJGO0VuQm5CRSw0R21CbUJGO0VuQm5CRSxrSm1CbUJGO0EvQnNnREo7QVlyaERNO0VtQk1KO0luQkxNLHdCQUFBO0lBQUEsbUJBQUE7SUFBQSxnQkFBQTtFWndoRE47QUFDRjtBK0J6Z0RJO0VIakNGLHlCekI4aEN5QztBSCtnQjNDO0ErQnZnREU7RUFDRSxXNUJ3K0I4QjtFNEJ2K0I5QixjNUJ3K0I4QjtFNEJ2K0I5QixrQkFBQTtFQUNBLGU1QnUrQjhCO0U0QnQrQjlCLHdDNUJ1K0I4QjtFNEJ0K0I5Qix5QkFBQTtFM0I3QkEsbUJBQUE7QUp1aURKO0ErQnJnREU7RUFDRSxXNUJvK0J1QztFNEJuK0J2QyxZNUJtK0J1QztFNEJsK0J2QyxxQkFBQTtPQUFBLGdCQUFBO0VIcERGLHlCaENFYTtFbUNvRFgsUzVCbStCdUM7RUMxZ0N2QyxtQkFBQTtFUUhFLDRIbUI2Q0Y7RW5CN0NFLG9IbUI2Q0Y7RW5CN0NFLCtHbUI2Q0Y7RW5CN0NFLDRHbUI2Q0Y7RW5CN0NFLGtKbUI2Q0Y7QS9Cc2dESjtBWS9pRE07RW1CaUNKO0luQmhDTSx3QkFBQTtJQUFBLG1CQUFBO0lBQUEsZ0JBQUE7RVprakROO0FBQ0Y7QStCemdESTtFSDNERix5QnpCOGhDeUM7QUh5aUIzQztBK0J2Z0RFO0VBQ0UsVzVCODhCOEI7RTRCNzhCOUIsYzVCODhCOEI7RTRCNzhCOUIsa0JBQUE7RUFDQSxlNUI2OEI4QjtFNEI1OEI5Qix3QzVCNjhCOEI7RTRCNThCOUIseUJBQUE7RTNCdkRBLG1CQUFBO0FKaWtESjtBK0JyZ0RFO0VBQ0Usb0JBQUE7QS9CdWdESjtBK0JyZ0RJO0VBQ0UsMkM1Qmc5QnFDO0FIdWpCM0M7QStCcGdESTtFQUNFLDJDNUI0OEJxQztBSDBqQjNDOztBZ0M3bERBO0VBQ0Usa0JBQUE7QWhDZ21ERjtBZ0M5bERFOzs7RUFHRSx1RDdCd2lDb0M7RTZCdmlDcEMsMkQ3QnVpQ29DO0U2QnRpQ3BDLGlCN0J1aUNvQztBSHlqQnhDO0FnQzdsREU7RUFDRSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsVUFBQTtFQUNBLFlBQUE7RUFDQSxxQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSxnREFBQTtFQUNBLDZCQUFBO09BQUEsd0JBQUE7VUFBQSxxQkFBQTtFcEJSRSxnRm9CU0Y7RXBCVEUsd0VvQlNGO0VwQlRFLHNFb0JTRjtFcEJURSxnRW9CU0Y7RXBCVEUsbUlvQlNGO0FoQytsREo7QVlwbURNO0VvQlRKO0lwQlVNLHdCQUFBO0lBQUEsbUJBQUE7SUFBQSxnQkFBQTtFWnVtRE47QUFDRjtBZ0NqbURFOztFQUVFLHFCQUFBO0FoQ21tREo7QWdDam1ESTs7RUFDRSxrQkFBQTtBaENvbUROO0FnQ3JtREk7O0VBQ0Usa0JBQUE7QWhDb21ETjtBZ0NybURJOztFQUNFLGtCQUFBO0FoQ29tRE47QWdDcm1ESTs7RUFDRSxrQkFBQTtBaENvbUROO0FnQ2ptREk7OztFQUVFLHFCN0I0Z0NrQztFNkIzZ0NsQyx3QjdCNGdDa0M7QUh3bEJ4QztBZ0NqbURJOztFQUNFLHFCN0J1Z0NrQztFNkJ0Z0NsQyx3QjdCdWdDa0M7QUg2bEJ4QztBZ0NobURFO0VBQ0UscUI3QmlnQ29DO0U2QmhnQ3BDLHdCN0JpZ0NvQztBSGltQnhDO0FnQzNsREk7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QiwrREFBQTtFQUNBLG1GQUFBO1VBQUEsMkVBQUE7QWxDMHVEVjtBa0N0dURNO0VBQ0UsK0MvQjYrQmlCO0UrQjUrQmpCLG1FL0I0K0JpQjtVK0I1K0JqQiwyRC9CNCtCaUI7QUg0dkJ6Qjs7QWtDeDBESTtFQXdHSSx5Q0FBQTtBbENvdURSOztBa0M1MERJO0VBK0dFLCtDL0I2OUJtQjtBSG93QnpCO0FrQy90RE07RUFDRSw0Qy9CMDlCaUI7QUh1d0J6QjtBa0M5dERNO0VBQ0UsbUUvQnM5QmlCO1UrQnQ5QmpCLDJEL0JzOUJpQjtBSDB3QnpCO0FrQzd0RE07RUFDRSxpQy9CazlCaUI7QUg2d0J6Qjs7QWtDMXRESTtFQUNFLGtCQUFBO0FsQzZ0RE47O0FrQzcxREk7Ozs7O0VBMElNLFVBQUE7QWxDMnREVjs7QWtDajFERTtFQUNFLGFBQUE7RUFDQSxXQUFBO0VBQ0EsbUIvQnUwQm9DO0VKcmtCbEMsa0JBTEk7RW1DMVBOLG1DL0JrakNxQjtBSGl5QnpCOztBa0NoMURFO0VBQ0Usa0JBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLGFBQUE7RUFDQSxlQUFBO0VBQ0EsdUJBQUE7RUFDQSxrQkFBQTtFbkNxUEUsbUJBTEk7RW1DN09OLFcvQnFpQ3FCO0UrQnBpQ3JCLGtDL0JvaUNxQjtFQy9qQ3JCLHNDQUFBO0FKODJESjs7QWtDOTBESTs7OztFQUVFLGNBQUE7QWxDbTFETjs7QWtDbDRESTtFQXFERSxpRC9CdWhDbUI7RStCcGhDakIsb0MvQjgxQmdDO0UrQjcxQmhDLDRVQUFBO0VBQ0EsNEJBQUE7RUFDQSwyREFBQTtFQUNBLHdFQUFBO1VBQUEsZ0VBQUE7QWxDKzBEUjtBa0M1MERNO0VBQ0UsaUQvQjRnQ2lCO0UrQjNnQ2pCLGtFL0IyZ0NpQjtVK0IzZ0NqQiwwRC9CMmdDaUI7QUhtMEJ6Qjs7QWtDLzRESTtFQTBFSSxvQy9CNDBCZ0M7RStCMzBCaEMsa0ZBQUE7QWxDeTBEUjs7QWtDcDVESTtFQWtGRSxpRC9CMC9CbUI7QUg0MEJ6QjtBa0NuMERRO0VBRUUsb1ZBQUE7RUFDQSx1Qi9CMDVCOEI7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QUFBO0VoRXE1UlY7RWdFNTVSTTtJQU9JLDhCQUFBO0VoRXc1UlY7RWdFLzVSTTtJQU9JLDZCQUFBO0VoRTI1UlY7RWdFbDZSTTtJQU9JLDJCQUFBO0VoRTg1UlY7RWdFcjZSTTtJQU9JLDZCQUFBO0VoRWk2UlY7RWdFeDZSTTtJQU9JLDJCQUFBO0VoRW82UlY7RWdFMzZSTTtJQU9JLDJCQUFBO0VoRXU2UlY7RWdFOTZSTTtJQU9JLDBCQUFBO0VoRTA2UlY7RWdFajdSTTtJQU9JLGdDQUFBO0VoRTY2UlY7RWdFcDdSTTtJQU9JLCtCQUFBO0VoRWc3UlY7RWdFdjdSTTtJQU9JLDZCQUFBO0VoRW03UlY7RWdFMTdSTTtJQU9JLCtCQUFBO0VoRXM3UlY7RWdFNzdSTTtJQU9JLDZCQUFBO0VoRXk3UlY7RWdFaDhSTTtJQU9JLDZCQUFBO0VoRTQ3UlY7RWdFbjhSTTtJQU9JLDJCQUFBO0VoRSs3UlY7RWdFdDhSTTtJQU9JLGlDQUFBO0VoRWs4UlY7RWdFejhSTTtJQU9JLGdDQUFBO0VoRXE4UlY7RWdFNThSTTtJQU9JLDhCQUFBO0VoRXc4UlY7RWdFLzhSTTtJQU9JLGdDQUFBO0VoRTI4UlY7RWdFbDlSTTtJQU9JLDhCQUFBO0VoRTg4UlY7RWdFcjlSTTtJQU9JLDhCQUFBO0VoRWk5UlY7RWdFeDlSTTtJQU9JLHlCQUFBO0VoRW85UlY7RWdFMzlSTTtJQU9JLCtCQUFBO0VoRXU5UlY7RWdFOTlSTTtJQU9JLDhCQUFBO0VoRTA5UlY7RWdFaitSTTtJQU9JLDRCQUFBO0VoRTY5UlY7RWdFcCtSTTtJQU9JLDhCQUFBO0VoRWcrUlY7RWdFditSTTtJQU9JLDRCQUFBO0VoRW0rUlY7RWdFMStSTTtJQU9JLDRCQUFBO0VoRXMrUlY7RWdFNytSTTtJQU9JLHFCQUFBO0VoRXkrUlY7RWdFaC9STTtJQU9JLDJCQUFBO0VoRTQrUlY7RWdFbi9STTtJQU9JLDBCQUFBO0VoRSsrUlY7RWdFdC9STTtJQU9JLHdCQUFBO0VoRWsvUlY7RWdFei9STTtJQU9JLDBCQUFBO0VoRXEvUlY7RWdFNS9STTtJQU9JLHdCQUFBO0VoRXcv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QTtFaEV1blVWO0VnRTluVU07SUFPSSwrQkFBQTtFaEUwblVWO0VnRWpvVU07SUFPSSw4QkFBQTtFaEU2blVWO0VnRXBvVU07SUFPSSw0QkFBQTtFaEVnb1VWO0VnRXZvVU07SUFPSSw4QkFBQTtFaEVtb1VWO0VnRTFvVU07SUFPSSw0QkFBQTtFaEVzb1VWO0VnRTdvVU07SUFPSSwyQkFBQTtFaEV5b1VWO0VnRWhwVU07SUFPSSxpQ0FBQTtFaEU0b1VWO0VnRW5wVU07SUFPSSxnQ0FBQTtFaEUrb1VWO0VnRXRwVU07SUFPSSw4QkFBQTtFaEVrcFVWO0VnRXpwVU07SUFPSSxnQ0FBQTtFaEVxcFVWO0VnRTVwVU07SUFPSSw4QkFBQTtFaEV3cFVWO0VnRS9wVU07SUFPSSw0QkFBQTtFaEUycFVWO0VnRWxxVU07SUFPSSxrQ0FBQTtFaEU4cFVWO0VnRXJxVU07SUFPSSxpQ0FBQTtFaEVpcVVWO0VnRXhxVU07SUFPSSwrQkFBQTtFaEVvcVVWO0VnRTNxVU07SUFPSSxpQ0FBQTtFaEV1cVVWO0VnRTlxVU07SUFPSSwrQkFBQTtFaEUwcVVWO0VnRWpyVU07SUFPSSwwQkFBQTtFaEU2cVVWO0VnRXByVU07SUFPSSxnQ0FBQTtFaEVnclVWO0VnRXZyVU07SUFPSSwrQkFBQTtFaEVtclVWO0VnRTFyVU07SUFPSSw2QkFBQTtFaEVzclVWO0VnRTdyVU07SUFPSSwrQkFBQTtFaEV5clVWO0VnRWhzVU07SUFPSSw2QkFBQTtFaEU0clVWO0VnRW5zVU07SUFPSSxpQkFBQTtFaEUrclVWO0VnRXRzVU07SUFPSSx1QkFBQTtFaEVrc1VWO0VnRXpzVU07SUFPSSxzQkFBQTtFaEVxc1VWO0VnRTVzVU07SUFPSSxvQkFBQTtFaEV3c1VWO0VnRS9zVU07SUFPSSxzQkFBQTtFaEUyc1VWO0VnRWx0VU07SUFPSSxvQkFBQTtFaEU4c1VWO0VnRXJ0VU07SUFPSSxxQkFBQTtFaEVpdFVWO0VnRXh0VU07SUFPSSwyQkFBQTtFaEVvdFVWO0VnRTN0VU07SUFPSSwwQkFBQTtFaEV1dFVWO0VnRTl0VU07SUFPSSx3QkFBQTtFaEUwdFVW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QUNBQTs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7OztDQUFBO0FDQUE7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7O0NBQUE7QUNFQTs7Ozs7OztDQUFBO0FDQ0E7Ozs7Ozs7Q0FBQTtBQ0hBOzs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7Q0FBQTtBbEJBQTs7Ozs7O0NBQUE7QUFBQTs7Ozs7O0NBQUE7QUFBQTs7Ozs7O0NBQUE7QW1CQUE7Ozs7Ozs7Q0FBQTtBQ0dBOzs7Ozs7Q0FBQTtBQ0hBOzs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7O0NBQUE7QUNBQTs7OztDQUFBO0FDQUE7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7O0NBQUE7QUNNQTs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUNOQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7O0NBQUE7QUNBQTs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Ozs7Q0FBQTtBREFBOzs7Ozs7Ozs7Ozs7O0NBQUE7QUVBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBRkFBOzs7Ozs7Ozs7Ozs7O0NBQUE7QUdBQTs7Ozs7OztDQUFBO0FDTUE7Ozs7Ozs7O0NBQUE7QUE4QkE7Ozs7Q0FBQTtBQU1BOztDQUFBO0FBa0JBOztDQUFBO0FBYUE7O0NBQUE7QUF5QkE7O0NBQUE7QUNsR0E7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FDUUE7Ozs7Ozs7Ozs7O0NBQUE7QUNKQTs7Ozs7Ozs7Ozs7Q0FBQTtBQ0pBOzs7O0NBQUE7QUNVQTs7Ozs7Ozs7OztDQUFBO0FDUEE7Ozs7Ozs7Q0FBQTtBQ1FBOzs7Ozs7O0NBQUE7QUFvQkE7Ozs7Ozs7O0NBQUE7QUFxQkE7Ozs7OztDQUFBO0FBZUE7Ozs7OztDQUFBO0FBZUE7Ozs7Ozs7O0NBQUE7QUF5QkE7Ozs7Ozs7O0NBQUE7QUE4QkE7Ozs7OztDQUFBO0FBZUE7Ozs7Ozs7Q0FBQTtBQWdCQTs7Ozs7OztDQUFBO0FBZ0JBOzs7Ozs7O0NBQUE7QUFnQkE7Ozs7Ozs7Q0FBQTtBQWdEQTs7Ozs7Ozs7Q0FBQTtBQ2hQQTs7Ozs7Ozs7Ozs7O0NBQUE7QUNOQTs7Ozs7O0NBQUE7QUFZQTs7Ozs7Ozs7Q0FBQTtBQWNBOzs7Ozs7Ozs7O0NBQUE7QUNwQkE7Ozs7Ozs7OztDQUFBO0FDUkEsd0NBQUE7QUFhQTs7Ozs7Ozs7Q0FBQTtBQW1DQTs7Ozs7Ozs7Ozs7OztDQUFBO0FBZ0dBOzs7Ozs7Ozs7Q0FBQTtBQTZOQSxxQkFBQTtBQzdXQTs7Ozs7Ozs7O0NBQUE7QUFhQSxvQkFBQTtBQTBHQSxvQkFBQTtBM0V2SEE7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FBbUJBOzs7Ozs7Q0FBQTtBQVVBOzs7Ozs7Ozs7Q0FBQTtBQWNBOzs7O0NBQUE7QUFxQkE7Ozs7Ozs7Ozs7O0NBQUE7QUFlQTs7Ozs7OztDQUFBO0FBV0E7Ozs7Ozs7O0NBQUE7QUFZQTs7OztDQUFBO0FBV0E7Ozs7Q0FBQTtBQ2pIQTs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUFpQkE7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FBa0NBOzs7Ozs7Ozs7Ozs7Q0FBQTtBQWtCQTs7Ozs7OztDQUFBO0FBV0E7Ozs7OztDQUFBO0FBVUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQXFEQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQXdDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQTZCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUErREE7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FBdUJBOzs7Ozs7Ozs7Q0FBQTtBQXFCQTs7Ozs7OztDQUFBO0FBdUJBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUN0VkE7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FBbUJBOzs7O0NBQUE7QUEyREE7Ozs7Q0FBQTtBQWtEQTs7OztDQUFBO0FDOUhBOzs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQ0ZBOzs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUFrQkE7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FBd0JBOzs7Ozs7Ozs7Ozs7O0NBQUE7QUF1QkE7Ozs7Ozs7Ozs7OztDQUFBO0FBZ0JBOzs7O0NBQUE7QUNqRkE7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FBc0JBOzs7Ozs7OztDQUFBO0FBbUNBOzs7Ozs7Ozs7O0NBQUE7QUFjQTs7OztDQUFBO0FBMnVCQTs7OztDQUFBO0FDbHpCQTs7Ozs7O0NBQUE7QUNBQTs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7OztDQUFBO0FDQUE7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7O0NBQUE7QUNFQTs7Ozs7OztDQUFBO0FDQ0E7Ozs7Ozs7Q0FBQTtBQ0hBOzs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7Q0FBQTtBbEJBQTs7Ozs7O0NBQUE7QUFBQTs7Ozs7O0NBQUE7QUFBQTs7Ozs7O0NBQUE7QW1CQUE7Ozs7Ozs7Q0FBQTtBQ0dBOzs7Ozs7Q0FBQTtBQ0hBOzs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7O0NBQUE7QUNBQTs7OztDQUFBO0FDQUE7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7O0NBQUE7QUNNQTs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUNOQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7O0NBQUE7QUNBQTs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Ozs7Q0FBQTtBREFBOzs7Ozs7Ozs7Ozs7O0NBQUE7QUVBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBRkFBOzs7Ozs7Ozs7Ozs7O0NBQUE7QUdBQTs7Ozs7OztDQUFBO0FDTUE7Ozs7Ozs7O0NBQUE7QUE4QkE7Ozs7Q0FBQTtBQU1BOztDQUFBO0FBa0JBOztDQUFBO0FBYUE7O0NBQUE7QUF5QkE7O0NBQUE7QUNsR0E7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FDUUE7Ozs7Ozs7Ozs7O0NBQUE7QUNKQTs7Ozs7Ozs7Ozs7Q0FBQTtBQ0pBOzs7O0NBQUE7QUNVQTs7Ozs7Ozs7OztDQUFBO0FDUEE7Ozs7Ozs7Q0FBQTtBQ1FBOzs7Ozs7O0NBQUE7QUFvQkE7Ozs7Ozs7O0NBQUE7QUFxQkE7Ozs7OztDQUFBO0FBZUE7Ozs7OztDQUFBO0FBZUE7Ozs7Ozs7O0NBQUE7QUF5QkE7Ozs7Ozs7O0NBQUE7QUE4QkE7Ozs7OztDQUFBO0FBZUE7Ozs7Ozs7Q0FBQTtBQWdCQTs7Ozs7OztDQUFBO0FBZ0JBOzs7Ozs7O0NBQUE7QUFnQkE7Ozs7Ozs7Q0FBQTtBQWdEQTs7Ozs7Ozs7Q0FBQTtBQ2hQQTs7Ozs7Ozs7Ozs7O0NBQUE7QUNOQTs7Ozs7O0NBQUE7QUFZQTs7Ozs7Ozs7Q0FBQTtBQWNBOzs7Ozs7Ozs7O0NBQUE7QUNwQkE7Ozs7Ozs7OztDQUFBO0FDUkEsd0NBQUE7QUFhQTs7Ozs7Ozs7Q0FBQTtBQW1DQTs7Ozs7Ozs7Ozs7OztDQUFBO0FBZ0dBOzs7Ozs7Ozs7Q0FBQTtBQTZOQSxxQkFBQTtBQzdXQTs7Ozs7Ozs7O0NBQUE7QUFhQSxvQkFBQTtBQTBHQSxvQkFBQTtBQ3ZIQSxzQkFBQTtBQWVBLHFCQUFBO0E1RWZBOzs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQW1CQTs7Ozs7O0NBQUE7QUFVQTs7Ozs7Ozs7O0NBQUE7QUFjQTs7OztDQUFBO0FBcUJBOzs7Ozs7Ozs7OztDQUFBO0FBZUE7Ozs7Ozs7Q0FBQTtBQVdBOzs7Ozs7OztDQUFBO0FBWUE7Ozs7Q0FBQTtBQVdBOzs7O0NBQUE7QUNqSEE7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FBaUJBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQWtDQTs7Ozs7Ozs7Ozs7O0NBQUE7QUFrQkE7Ozs7Ozs7Q0FBQTtBQVdBOzs7Ozs7Q0FBQTtBQVVBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUFxREE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUF3Q0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUE2QkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FBK0RBOzs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQXVCQTs7Ozs7Ozs7O0NBQUE7QUFxQkE7Ozs7Ozs7Q0FBQTtBQXVCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FDdFZBOzs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQW1CQTs7OztDQUFBO0FBMkRBOzs7O0NBQUE7QUFrREE7Ozs7Q0FBQTtBQzlIQTs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUNGQTs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FBa0JBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQXdCQTs7Ozs7Ozs7Ozs7OztDQUFBO0FBdUJBOzs7Ozs7Ozs7Ozs7Q0FBQTtBQWdCQTs7OztDQUFBO0FDakZBOzs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQXNCQTs7Ozs7Ozs7Q0FBQTtBQW1DQTs7Ozs7Ozs7OztDQUFBO0FBY0E7Ozs7Q0FBQTtBQTJ1QkE7Ozs7Q0FBQTtBQ2x6QkE7Ozs7OztDQUFBO0FDQUE7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7OztDQUFBO0FDRUE7Ozs7Ozs7Q0FBQTtBQ0NBOzs7Ozs7O0NBQUE7QUNIQTs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7O0NBQUE7QWxCQUE7Ozs7OztDQUFBO0FBQUE7Ozs7OztDQUFBO0FBQUE7Ozs7OztDQUFBO0FtQkFBOzs7Ozs7O0NBQUE7QUNHQTs7Ozs7O0NBQUE7QUNIQTs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7OztDQUFBO0FDQUE7Ozs7Q0FBQTtBQ0FBOzs7O0NBQUE7QUNBQTs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7OztDQUFBO0FDTUE7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FDTkE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7OztDQUFBO0FDQUE7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7O0NBQUE7QURBQTs7Ozs7Ozs7Ozs7OztDQUFBO0FFQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUZBQTs7Ozs7Ozs7Ozs7OztDQUFBO0FHQUE7Ozs7Ozs7Q0FBQTtBQ01BOzs7Ozs7OztDQUFBO0FBOEJBOzs7O0NBQUE7QUFNQTs7Q0FBQTtBQWtCQTs7Q0FBQTtBQWFBOztDQUFBO0FBeUJBOztDQUFBO0FDbEdBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQ1FBOzs7Ozs7Ozs7OztDQUFBO0FDSkE7Ozs7Ozs7Ozs7O0NBQUE7QUNKQTs7OztDQUFBO0FDVUE7Ozs7Ozs7Ozs7Q0FBQTtBQ1BBOzs7Ozs7O0NBQUE7QUNRQTs7Ozs7OztDQUFBO0FBb0JBOzs7Ozs7OztDQUFBO0FBcUJBOzs7Ozs7Q0FBQTtBQWVBOzs7Ozs7Q0FBQTtBQWVBOzs7Ozs7OztDQUFBO0FBeUJBOzs7Ozs7OztDQUFBO0FBOEJBOzs7Ozs7Q0FBQTtBQWVBOzs7Ozs7O0NBQUE7QUFnQkE7Ozs7Ozs7Q0FBQTtBQWdCQTs7Ozs7OztDQUFBO0FBZ0JBOzs7Ozs7O0NBQUE7QUFnREE7Ozs7Ozs7O0NBQUE7QUNoUEE7Ozs7Ozs7Ozs7OztDQUFBO0FDTkE7Ozs7OztDQUFBO0FBWUE7Ozs7Ozs7O0NBQUE7QUFjQTs7Ozs7Ozs7OztDQUFBO0FDcEJBOzs7Ozs7Ozs7Q0FBQTtBQ1JBLHdDQUFBO0FBYUE7Ozs7Ozs7O0NBQUE7QUFtQ0E7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQWdHQTs7Ozs7Ozs7O0NBQUE7QUE2TkEscUJBQUE7QUM3V0E7Ozs7Ozs7OztDQUFBO0FBYUEsb0JBQUE7QUEwR0Esb0JBQUE7QUVySEE7RUNlRSx3QkFBQTtFQUFBLCtCQUFBO01BQUEscUJBQUE7VUFBQSx1QkFBQTtFQ0ZBLG9CQUFBO0VBQUEscUJBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7QWpKMGhkRjs7QStJbGlkQTtFR0pFLHNCQUFBO01BQUEsb0JBQUE7VUFBQSxjQUFBO0VBQ0Esb0JBRm9DO0FsSjRpZHRDOztBK0luaWRBO0VJMkNRLG1CQUFBO0VBQUEsb0JBQUE7TUFBQSxnQkFBQTtVQUFBLFlBQUE7QW5KNC9jUjs7QWtFbGpkQTs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUFtQkE7Ozs7OztDQUFBO0FBVUE7Ozs7Ozs7OztDQUFBO0FBY0E7Ozs7Q0FBQTtBQXFCQTs7Ozs7Ozs7Ozs7Q0FBQTtBQWVBOzs7Ozs7O0NBQUE7QUFXQTs7Ozs7Ozs7Q0FBQTtBQVlBOzs7O0NBQUE7QUFXQTs7OztDQUFBO0FDakhBOzs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQWlCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUFrQ0E7Ozs7Ozs7Ozs7OztDQUFBO0FBa0JBOzs7Ozs7O0NBQUE7QUFXQTs7Ozs7O0NBQUE7QUFVQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FBcURBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FBd0NBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FBNkJBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQStEQTs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUF1QkE7Ozs7Ozs7OztDQUFBO0FBcUJBOzs7Ozs7O0NBQUE7QUF1QkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQ3RWQTs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUFtQkE7Ozs7Q0FBQTtBQTJEQTs7OztDQUFBO0FBa0RBOzs7O0NBQUE7QUM5SEE7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FDRkE7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQWtCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUF3QkE7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQXVCQTs7Ozs7Ozs7Ozs7O0NBQUE7QUFnQkE7Ozs7Q0FBQTtBQ2pGQTs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUFzQkE7Ozs7Ozs7O0NBQUE7QUFtQ0E7Ozs7Ozs7Ozs7Q0FBQTtBQWNBOzs7O0NBQUE7QUEydUJBOzs7O0NBQUE7QUNsekJBOzs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7O0NBQUE7QUNBQTs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Q0FBQTtBQ0VBOzs7Ozs7O0NBQUE7QUNDQTs7Ozs7OztDQUFBO0FDSEE7Ozs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7OztDQUFBO0FsQkFBOzs7Ozs7Q0FBQTtBQUFBOzs7Ozs7Q0FBQTtBQUFBOzs7Ozs7Q0FBQTtBbUJBQTs7Ozs7OztDQUFBO0FDR0E7Ozs7OztDQUFBO0FDSEE7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7O0NBQUE7QUNBQTs7OztDQUFBO0FDQUE7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7O0NBQUE7QUNBQTs7Ozs7Ozs7Q0FBQTtBQ01BOzs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQ05BOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Q0FBQTtBQ0FBOzs7O0NBQUE7QUNBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7O0NBQUE7QUNBQTs7Ozs7OztDQUFBO0FDQUE7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQ0FBOzs7Ozs7Ozs7OztDQUFBO0FEQUE7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBRUFBOzs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FGQUE7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBR0FBOzs7Ozs7O0NBQUE7QUNNQTs7Ozs7Ozs7Q0FBQTtBQThCQTs7OztDQUFBO0FBTUE7O0NBQUE7QUFrQkE7O0NBQUE7QUFhQTs7Q0FBQTtBQXlCQTs7Q0FBQTtBQ2xHQTs7Ozs7OztDQUFBO0FDQUE7Ozs7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UjtBOEsxaGtCSTtFQUVJLHlCQUFBO0VBQ0EsY2xMekVZO0FJb21rQnBCOztBOEt0aGtCQTtFQUNJLHlCbEwvRWdCO0VrTGdGaEIseUJBQUE7RUFDQSxjbExyRmU7QUk4bWtCbkI7QThLdmhrQkk7RUFDSSxxREFBQTtFQUNBLFdBQUE7QTlLeWhrQlI7QThLdGhrQkk7RUFFSSxpRGxMekVtQjtFa0wwRW5CLGNsTC9GVztBSXNua0JuQjs7QThLbmhrQkE7RUx5SEUseUI3S3ZOcUI7RTZLd05yQixrQkFBQTtFQUNBLGU1SzVRdUI7RTRLNlF2QixnQkFBQTtFQUNBLG9CQUFBO0VBQ0EseUJBQUE7QXpLODVqQkY7QXlLNTVqQkU7RUFDRSxjN0tqT29CO0FJK25rQnhCO0F5SzM1akJFO0VBQ0UseUI3SzdNc0I7RTZLOE10QixjN0t0T29CO0FJbW9rQnhCO0F5SzE1akJFO0VBQ0UseUI3S3hPbUI7RTZLeU9uQix5QkFBQTtBeks0NWpCSjtBOEtwaWtCSTtFQUNJLDRDQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0E5S3Npa0JSOztBOEtoaWtCQTtFQUNJLHFCQUFBO0E5S21pa0JKOztBOEsvaGtCQTs7OztFQUlJLG1CQUFBO0VBQ0EscUJBQUE7RUFDQSx1QkFBQTtBOUtraWtCSjs7QThLL2hrQkE7RUFDSSx5QmxML0d5QjtFa0xnSHpCLGNsTC9Hd0I7QUlpcGtCNUI7O0E4Sy9oa0JBO0VBQ0kseUJsTHhIcUI7RWtMeUhyQixjbExsSW9CO0FJb3FrQnhCOztBOEsvaGtCQTtFQUNJLHlCbExuSXFCO0VrTG9JckIsY2xMMUllO0FJNHFrQm5COztBOEsvaGtCQTtFQUNJLHlCbExsSHdCO0VrTG1IeEIsY2xMdklxQjtBSXlxa0J6Qjs7QStLNXVrQkE7Ozs7Ozs7Q0FBQTtBQXNEQTtFTnNWRSxtQjdLN1VrQjtFNks4VWxCLG1CQUFBO0VBQ0EseURBQUE7VUFBQSxpREFBQTtFQUNBLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFTXRZQSxjbkxtRHNCO0VtTGxEdEIsY0FBQTtFQUNBLFlBQUE7RUFD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O0FMbjdtQkE7RUFDSSxTQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7QUtzN21CSjs7QUxuN21CQTtFQUNJLFNBQUE7QUtzN21CSjs7QUxuN21CQTtFQUNJLFdBQUE7QUtzN21CSjs7QUxuN21CQTtFQUNJLG1CQUFBO0FLczdtQkoiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogXG5UaGVtZSBOYW1lOiBCb290c3RyYXAgNCBTYXNzXG5EZXNjcmlwdGlvbjogQm9vdHN0cmFwIDQgd2l0aCBTYXNzXG4qL1xuXG4vLyBpbXBvcnQgZmlsZXNcbkBpbXBvcnQgXCJpbXBvcnRcIjtcblxuLyogR0VORVJBTCBTVFlMRVNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5ib2R5IHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG59XG5cblxuLyogQ09MT1JTIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5hIHtcbiAgICBjb2xvcjogJGFjY2VudC1zaGFkZTtcbn1cblxuLmJnLWludmVyc2Uge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LXNoYWRlICFpbXBvcnRhbnQ7XG59XG5cbi5zaXRlLWZvb3RlciB7XG4gICAgYmFja2dyb3VuZDogJGFjY2VudC1zaGFkZTtcbn1cblxuLm1lbnUtLW1haW4gbGkgYSB7XG4gICAgY29sb3I6ICRwcmltYXJ5LXNoYWRlO1xufVxuXG4ubWVudS0tYWNjb3VudCBsaSBhIHtcbiAgICBjb2xvcjogJHByaW1hcnktc2hhZGU7XG59XG5cbi5zaXRlLW5hbWUtc2xvZ2FuIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmNhcmQtZ3JvdXAgaW1nIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uY2FyZC1ncm91cCAuZmllbGQtLXR5cGUtaW1hZ2Uge1xuICAgIG1hcmdpbjogMFxufVxuXG4uc2xpY2sge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2xpY2s+ZGl2IHtcbiAgICBtYXJnaW46IDAgMTVweDtcbn0iLCIvKiBWQVJJQUJMRVMgKi9cblxuLy8gY29sb3JzXG4kcHJpbWFyeS1zaGFkZTogcmdiKDI1NSwgNzgsIDQ2KTtcbiRwcmltYXJ5LWxpZ2h0OiB0aW50LWNvbG9yKCRwcmltYXJ5LXNoYWRlLCAzNyUpO1xuJHByaW1hcnktZGFyazogc2hhZGUtY29sb3IoJHByaW1hcnktc2hhZGUsIDEyJSk7XG4kYWNjZW50LXNoYWRlOiAjMDA3OUMwO1xuJGFjY2VudC1saWdodDogdGludC1jb2xvcigkYWNjZW50LXNoYWRlLCAzNyUpO1xuJGFjY2VudC1kYXJrOiBzaGFkZS1jb2xvcigkYWNjZW50LXNoYWRlLCAxMiUpO1xuLy8gUmVhc3NpZ24gY29sb3IgdmFycyB0byBzZW1hbnRpYyBjb2xvciBzY2hlbWVcbiRyZWQ6ICMyMDU4OEE7XG4keWVsbG93OiAjZmZjMTA3O1xuJGdyZWVuOiAjMjhhNzQ1O1xuJGN5YW46ICMxN2EyYjg7XG4kd2hpdGU6ICNmZmY7XG4kZ3JheS0xMDA6ICNmOGY5ZmE7XG4kZ3JheS04MDA6ICMzNDNhNDA7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvci12YXJpYWJsZXNcbiRwcmltYXJ5OiAkYWNjZW50LXNoYWRlO1xuJHNlY29uZGFyeTogJHByaW1hcnktc2hhZGU7XG4kc3VjY2VzczogJGdyZWVuO1xuJGluZm86ICRjeWFuO1xuJHdhcm5pbmc6ICR5ZWxsb3c7XG4kZGFuZ2VyOiAkcmVkO1xuJGJyYW5kLXByaW1hcnk6ICRhY2NlbnQtc2hhZGU7XG4kbGlnaHQ6ICRncmF5LTEwMDtcbiRkYXJrOiAkZ3JheS04MDA7XG4vLyRicmFuZC1zdWNjZXNzOiAkZ3JlZW47XG4vLyRicmFuZC1pbmZvOiAkdGVhbDtcbi8vJGJyYW5kLXdhcm5pbmc6ICRvcmFuZ2U7XG4vLyRicmFuZC1kYW5nZXI6ICRyZWQ7XG4kYnJhbmQtaW52ZXJzZTogJHByaW1hcnktc2hhZGU7XG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuJGJvZHktYmc6ICR3aGl0ZTtcbiRib2R5LWNvbG9yOiAkZ3JheS04MDA7XG4kaW52ZXJzZS1iZzogJHByaW1hcnktc2hhZGU7XG4kaW52ZXJzZS1jb2xvcjogJHdoaXRlO1xuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG4vLyRsaW5rLWNvbG9yOiAkYWNjZW50LXNoYWRlO1xuJGxpbmstZGVjb3JhdGlvbjogbm9uZTtcbi8vJGxpbmstaG92ZXItY29sb3I6ICRhY2NlbnQtZGFyaztcbi8vJGxpbmstaG92ZXItZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuLy8gQ29tbWVudHNcbiRjb21tZW50LXNwYWNlci14OiAxLjI1ZW07XG4kY29tbWVudC1zcGFjZXIteTogMS4yNWVtO1xuLy8gUmVzcG9uc2l2ZSBmb250IHNpemVzXG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogdHJ1ZTtcbiRlbmFibGUtc2hhZG93czogZmFsc2U7XG4kZW5hYmxlLWdyYWRpZW50czogZmFsc2U7XG4vLyBCcmVhZGNydW1icyAoV29ya3Mgb25seSBvbiBCb290c3RyYXAgNSspXG4vLyAkYnJlYWRjcnVtYi1kaXZpZGVyOiBxdW90ZShcIj5cIik7XG4kZW5hYmxlLWNhcmV0OiB0cnVlO1xuXG4vL0NJVCBQcmltYXJ5IENvbG9yc1xuJG5paC1wcmltYXJ5LWJsdWU6ICMyMDU4OEE7XG4kbmloLXByaW1hcnktZ3JlZW46ICMxNzg0ODE7XG4kbmloLXByaW1hcnktZ3JheTogIzYxNjI2NTtcbiRuaWgtcHJpbWFyeS1kYXJrLWdyYXk6ICMwNTBEMTU7XG4kbmloLXByaW1hcnktd2hpdGU6ICNGRkZGRkY7XG4kbmloLXByaW1hcnktc2t5LWJsdWU6ICNDM0Q4REY7XG4kbmloLXByaW1hcnktbGlnaHQtYmx1ZTogI0Y0RkJGRjtcbiRuaWgtcHJpbWFyeS1kYXJrLWJsdWU6ICMxMzM1NTM7XG4kbmloLXByaW1hcnktZGFyay1ncmVlbjogIzBFNEY0RDtcblxuLy9DSVQgU2Vjb25kYXJ5IENvbG9yc1xuJG5paC1wcmltYXJ5LW1lZGl1bS1ncmF5OiAjOTA5MTkzO1xuJG5paC1wcmltYXJ5LWxpZ2h0LWdyYXk6ICNFM0U3RUI7XG4kbmloLXNlY29uZGFyeS1ncmF5OiAjQTBBMEEyO1xuJG5paC1zZWNvbmRhcnktYmx1ZS1ncmF5OiAjNjk5MUFDO1xuJG5paC1zZWNvbmRhcnkteWVsbG93OiAjRTZCMTc0O1xuJG5paC1zZWNvbmRhcnktbGlnaHQteWVsbG93OiAjZmZmOWYzO1xuJG5paC1zZWNvbmRhcnktZGFyay15ZWxsb3c6ICNCMzVDMDA7XG4kbmloLXNlY29uZGFyeS1yZWQ6ICNDMDE0M0M7XG4kbmloLXNlY29uZGFyeS1saWdodC1ncmF5OiAjREZERkUwO1xuJG5paC1zZWNvbmRhcnktc2t5LWJsdWU6ICNDM0Q4REY7XG4kbmloLXNlY29uZGFyeS1ibHVlLXdoaXRlOiAjMjA1ODhhMTQ7XG4kbmloLXNlY29uZGFyeS1ncmVlbjogIzE3ODQ4MTFmO1xuJG5paC1zZWNvbmRhcnktcmVkLXdoaXRlOiAjYzAxNDNjMWY7XG4kbmloLXNlY29uZGFyeS1ncmF5LXdoaXRlOiAjMjA1ODhhMGQ7XG4kbmloLXNlY29uZGFyeS1kYXJrZ3JheS13aGl0ZTogIzIwNTg4YTFmO1xuJG5paC1zZWNvbmRhcnktb3ZlcmxheTogI2Y1ZjlmZGIzO1xuJG5paC1zZWNvbmRhcnktdGVhbC1ibHVlOiAjNDhBNEI2O1xuJG5paC1zZWNvbmRhcnktbGlnaHQtZ3JlZW46ICNFOUY5Rjk7XG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb250YWluZXItbWF4LXdpZHRoc1xuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHgsXG4gIHh4bDogMTAwJSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbnRhaW5lci1tYXgtd2lkdGhzXG5cbi8vIG1lZGlhIHF1ZXJ5IHdpZHRoc1xuJHNjcmVlbi1zbTogNTQwcHg7XG4kc2NyZWVuLW1kOiA3ODlweDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiXG4pOyIsIi8qIFRZUE9HUkFQSFkgKi9cblxuLyogR29vZ2xlIEZvbnRzICovXG5cbi8vQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TGF0bzo0MDAsMzAwLDMwMGl0YWxpYyw0MDBpdGFsaWMsNzAwLDcwMGl0YWxpYyw5MDAsOTAwaXRhbGljXCIpO1xuLy9AaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1SYWxld2F5OjQwMCwzMDAsNTAwLDYwMCw3MDAsODAwLDkwMFwiKTtcblxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9T3BlbitTYW5zOndnaHRAMzAwOzQwMDs2MDA7NzAwJmRpc3BsYXk9c3dhcCcpO1xuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9RmphbGxhK09uZSZkaXNwbGF5PXN3YXAnKTtcblxuLy9DSVQgRm9udCBTaXplc1xuJGZvbnQtc2l6ZS1zbWFsbDogMTJweDtcbiRmb250LXNpemUtbWVkaXVtOiAxNHB4O1xuJGZvbnQtc2l6ZS1tZWRpdW0tbGFyZ2U6IDE2cHg7XG4kZm9udC1zaXplLW1lZGl1bS14bGFyZ2U6IDE4cHg7XG4kZm9udC1zaXplLWxhcmdlOiAyMHB4O1xuJGZvbnQtc2l6ZS14LWxhcmdlOiAyNHB4O1xuJGZvbnQtc2l6ZS14eC1sYXJnZTogMzJweDtcbiRmb250LXNpemUteHh4LWxhcmdlOiA0MHB4O1xuJGZvbnQtc2l6ZS00eC1sYXJnZTogNDhweDtcblxuJGZvbnQtd2VpZ2h0LW5vcm1hbDogNDAwO1xuJGZvbnQtd2VpZ2h0LWJvbGQ6IDcwMDtcblxuLy9OSUggRm9udCBGYW1pbHlcbiRmamFsbGEtb24tcHJpbWFyeTogJ0ZqYWxsYSBPbmUnLCBzYW5zLXNlcmlmO1xuJG9wZW4tc2Fucy1wcmltYXJ5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcblxuaDEsXG4uaDEsXG5oMixcbi5oMixcbmgzLFxuLmgzLFxuaDQsXG4uaDQsXG5wIHtcbiAgICBjb2xvcjogJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcbn1cblxuaDEsXG4uaDEge1xuICAgIGZvbnQtZmFtaWx5OiAkZmphbGxhLW9uLXByaW1hcnk7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLTR4LWxhcmdlO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbmgyLFxuLmgyIHtcbiAgICBmb250LWZhbWlseTogJGZqYWxsYS1vbi1wcmltYXJ5O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14eHgtbGFyZ2U7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuaDMsXG4uaDMge1xuICAgIGZvbnQtZmFtaWx5OiAkb3Blbi1zYW5zLXByaW1hcnk7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXgtbGFyZ2U7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5oNCxcbi5oNCB7XG4gICAgZm9udC1mYW1pbHk6ICRmamFsbGEtb24tcHJpbWFyeTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUteC1sYXJnZTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbmg1LFxuLmg1IHtcbiAgICBmb250LWZhbWlseTogJGZqYWxsYS1vbi1wcmltYXJ5O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tZWRpdW0teGxhcmdlO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxucCB7XG4gICAgZm9udC1mYW1pbHk6ICRvcGVuLXNhbnMtcHJpbWFyeTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtbWVkaXVtLWxhcmdlO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG4gICAgJi5sYXJnZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tZWRpdW0teGxhcmdlO1xuICAgIH1cbn1cblxuYnV0dG9uLFxuYS5idXR0b24sXG5hLmxvY2staWNvbi1idXR0b24sXG5hLmxvY2staWNvbi1idXR0b24td2hpdGUge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5jYXJkLWhlYWRpbmcge1xuICAgIGZvbnQtZmFtaWx5OiAkZmphbGxhLW9uLXByaW1hcnk7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bS14bGFyZ2U7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmJvbGQge1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZFxufVxuXG5wPmEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufSIsIjpyb290LFxuW2RhdGEtYnMtdGhlbWU9XCJsaWdodFwiXSB7XG4gIC8vIE5vdGU6IEN1c3RvbSB2YXJpYWJsZSB2YWx1ZXMgb25seSBzdXBwb3J0IFNhc3NTY3JpcHQgaW5zaWRlIGAje31gLlxuXG4gIC8vIENvbG9yc1xuICAvL1xuICAvLyBHZW5lcmF0ZSBwYWxldHRlcyBmb3IgZnVsbCBjb2xvcnMsIGdyYXlzLCBhbmQgdGhlbWUgY29sb3JzLlxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRjb2xvcnMge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGdyYXlzIHtcbiAgICAtLSN7JHByZWZpeH1ncmF5LSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLXJnYiB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LXJnYjogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy10ZXh0IHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tdGV4dC1lbXBoYXNpczogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1iZy1zdWJ0bGUge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1iZy1zdWJ0bGU6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtYm9yZGVyLXN1YnRsZSB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LWJvcmRlci1zdWJ0bGU6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIC0tI3skcHJlZml4fXdoaXRlLXJnYjogI3t0by1yZ2IoJHdoaXRlKX07XG4gIC0tI3skcHJlZml4fWJsYWNrLXJnYjogI3t0by1yZ2IoJGJsYWNrKX07XG5cbiAgLy8gRm9udHNcblxuICAvLyBOb3RlOiBVc2UgYGluc3BlY3RgIGZvciBsaXN0cyBzbyB0aGF0IHF1b3RlZCBpdGVtcyBrZWVwIHRoZSBxdW90ZXMuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8yMzgzI2lzc3VlY29tbWVudC0zMzYzNDkxNzJcbiAgLS0jeyRwcmVmaXh9Zm9udC1zYW5zLXNlcmlmOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpfTtcbiAgLS0jeyRwcmVmaXh9Zm9udC1tb25vc3BhY2U6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktbW9ub3NwYWNlKX07XG4gIC0tI3skcHJlZml4fWdyYWRpZW50OiAjeyRncmFkaWVudH07XG5cbiAgLy8gUm9vdCBhbmQgYm9keVxuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1ib2R5LXZhcmlhYmxlc1xuICBAaWYgJGZvbnQtc2l6ZS1yb290ICE9IG51bGwge1xuICAgIC0tI3skcHJlZml4fXJvb3QtZm9udC1zaXplOiAjeyRmb250LXNpemUtcm9vdH07XG4gIH1cbiAgLS0jeyRwcmVmaXh9Ym9keS1mb250LWZhbWlseTogI3tpbnNwZWN0KCRmb250LWZhbWlseS1iYXNlKX07XG4gIEBpbmNsdWRlIHJmcygkZm9udC1zaXplLWJhc2UsIC0tI3skcHJlZml4fWJvZHktZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1mb250LXdlaWdodDogI3skZm9udC13ZWlnaHQtYmFzZX07XG4gIC0tI3skcHJlZml4fWJvZHktbGluZS1oZWlnaHQ6ICN7JGxpbmUtaGVpZ2h0LWJhc2V9O1xuICBAaWYgJGJvZHktdGV4dC1hbGlnbiAhPSBudWxsIHtcbiAgICAtLSN7JHByZWZpeH1ib2R5LXRleHQtYWxpZ246ICN7JGJvZHktdGV4dC1hbGlnbn07XG4gIH1cblxuICAtLSN7JHByZWZpeH1ib2R5LWNvbG9yOiAjeyRib2R5LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWNvbG9yKX07XG4gIC0tI3skcHJlZml4fWJvZHktYmc6ICN7JGJvZHktYmd9O1xuICAtLSN7JHByZWZpeH1ib2R5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktYmcpfTtcblxuICAtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcjogI3skYm9keS1lbXBoYXNpcy1jb2xvcn07XG4gIC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktZW1waGFzaXMtY29sb3IpfTtcblxuICAtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3I6ICN7JGJvZHktc2Vjb25kYXJ5LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktc2Vjb25kYXJ5LWNvbG9yKX07XG4gIC0tI3skcHJlZml4fXNlY29uZGFyeS1iZzogI3skYm9keS1zZWNvbmRhcnktYmd9O1xuICAtLSN7JHByZWZpeH1zZWNvbmRhcnktYmctcmdiOiAje3RvLXJnYigkYm9keS1zZWNvbmRhcnktYmcpfTtcblxuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcjogI3skYm9keS10ZXJ0aWFyeS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktdGVydGlhcnktY29sb3IpfTtcbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmc6ICN7JGJvZHktdGVydGlhcnktYmd9O1xuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LXRlcnRpYXJ5LWJnKX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1ib2R5LXZhcmlhYmxlc1xuXG4gIC0tI3skcHJlZml4fWhlYWRpbmctY29sb3I6ICN7JGhlYWRpbmdzLWNvbG9yfTtcblxuICAtLSN7JHByZWZpeH1saW5rLWNvbG9yOiAjeyRsaW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2I6ICN7dG8tcmdiKCRsaW5rLWNvbG9yKX07XG4gIC0tI3skcHJlZml4fWxpbmstZGVjb3JhdGlvbjogI3skbGluay1kZWNvcmF0aW9ufTtcblxuICAtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yOiAjeyRsaW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvci1yZ2I6ICN7dG8tcmdiKCRsaW5rLWhvdmVyLWNvbG9yKX07XG5cbiAgQGlmICRsaW5rLWhvdmVyLWRlY29yYXRpb24gIT0gbnVsbCB7XG4gICAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1kZWNvcmF0aW9uOiAjeyRsaW5rLWhvdmVyLWRlY29yYXRpb259O1xuICB9XG5cbiAgLS0jeyRwcmVmaXh9Y29kZS1jb2xvcjogI3skY29kZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWhpZ2hsaWdodC1jb2xvcjogI3skbWFyay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWhpZ2hsaWdodC1iZzogI3skbWFyay1iZ307XG5cbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtYm9yZGVyLXZhclxuICAtLSN7JHByZWZpeH1ib3JkZXItd2lkdGg6ICN7JGJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWJvcmRlci1zdHlsZTogI3skYm9yZGVyLXN0eWxlfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yOiAjeyRib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6ICN7JGJvcmRlci1jb2xvci10cmFuc2x1Y2VudH07XG5cbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1czogI3skYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc206ICN7JGJvcmRlci1yYWRpdXMtc219O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnOiAjeyRib3JkZXItcmFkaXVzLWxnfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy14bDogI3skYm9yZGVyLXJhZGl1cy14bH07XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMteHhsOiAjeyRib3JkZXItcmFkaXVzLXh4bH07XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtMnhsOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy14eGwpOyAvLyBEZXByZWNhdGVkIGluIHY1LjMuMCBmb3IgY29uc2lzdGVuY3lcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1waWxsOiAjeyRib3JkZXItcmFkaXVzLXBpbGx9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtYm9yZGVyLXZhclxuXG4gIC0tI3skcHJlZml4fWJveC1zaGFkb3c6ICN7JGJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1ib3gtc2hhZG93LXNtOiAjeyRib3gtc2hhZG93LXNtfTtcbiAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1sZzogI3skYm94LXNoYWRvdy1sZ307XG4gIC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQ6ICN7JGJveC1zaGFkb3ctaW5zZXR9O1xuXG4gIC8vIEZvY3VzIHN0eWxlc1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1mb2N1cy12YXJpYWJsZXNcbiAgLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy13aWR0aDogI3skZm9jdXMtcmluZy13aWR0aH07XG4gIC0tI3skcHJlZml4fWZvY3VzLXJpbmctb3BhY2l0eTogI3skZm9jdXMtcmluZy1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy1jb2xvcjogI3skZm9jdXMtcmluZy1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1mb2N1cy12YXJpYWJsZXNcblxuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1mb3JtLXZhbGlkYXRpb24tdmFyaWFibGVzXG4gIC0tI3skcHJlZml4fWZvcm0tdmFsaWQtY29sb3I6ICN7JGZvcm0tdmFsaWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWJvcmRlci1jb2xvcjogI3skZm9ybS12YWxpZC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtY29sb3I6ICN7JGZvcm0taW52YWxpZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1ib3JkZXItY29sb3I6ICN7JGZvcm0taW52YWxpZC1ib3JkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtZm9ybS12YWxpZGF0aW9uLXZhcmlhYmxlc1xufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmssIHRydWUpIHtcbiAgICBjb2xvci1zY2hlbWU6IGRhcms7XG5cbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1kYXJrLW1vZGUtdmFyc1xuICAgIC0tI3skcHJlZml4fWJvZHktY29sb3I6ICN7JGJvZHktY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWNvbG9yLWRhcmspfTtcbiAgICAtLSN7JHByZWZpeH1ib2R5LWJnOiAjeyRib2R5LWJnLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWJvZHktYmctcmdiOiAje3RvLXJnYigkYm9keS1iZy1kYXJrKX07XG5cbiAgICAtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcjogI3skYm9keS1lbXBoYXNpcy1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWVtcGhhc2lzLWNvbG9yLWRhcmspfTtcblxuICAgIC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcjogI3skYm9keS1zZWNvbmRhcnktY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktc2Vjb25kYXJ5LWNvbG9yLWRhcmspfTtcbiAgICAtLSN7JHByZWZpeH1zZWNvbmRhcnktYmc6ICN7JGJvZHktc2Vjb25kYXJ5LWJnLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fXNlY29uZGFyeS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LXNlY29uZGFyeS1iZy1kYXJrKX07XG5cbiAgICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcjogI3skYm9keS10ZXJ0aWFyeS1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXRlcnRpYXJ5LWNvbG9yLWRhcmspfTtcbiAgICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZzogI3skYm9keS10ZXJ0aWFyeS1iZy1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LXRlcnRpYXJ5LWJnLWRhcmspfTtcblxuICAgIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtdGV4dC1kYXJrIHtcbiAgICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS10ZXh0LWVtcGhhc2lzOiAjeyR2YWx1ZX07XG4gICAgfVxuXG4gICAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1iZy1zdWJ0bGUtZGFyayB7XG4gICAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tYmctc3VidGxlOiAjeyR2YWx1ZX07XG4gICAgfVxuXG4gICAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1ib3JkZXItc3VidGxlLWRhcmsge1xuICAgICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LWJvcmRlci1zdWJ0bGU6ICN7JHZhbHVlfTtcbiAgICB9XG5cbiAgICAtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yOiAjeyRoZWFkaW5ncy1jb2xvci1kYXJrfTtcblxuICAgIC0tI3skcHJlZml4fWxpbmstY29sb3I6ICN7JGxpbmstY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcjogI3skbGluay1ob3Zlci1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1saW5rLWNvbG9yLXJnYjogI3t0by1yZ2IoJGxpbmstY29sb3ItZGFyayl9O1xuICAgIC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3ItcmdiOiAje3RvLXJnYigkbGluay1ob3Zlci1jb2xvci1kYXJrKX07XG5cbiAgICAtLSN7JHByZWZpeH1jb2RlLWNvbG9yOiAjeyRjb2RlLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWhpZ2hsaWdodC1jb2xvcjogI3skbWFyay1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1oaWdobGlnaHQtYmc6ICN7JG1hcmstYmctZGFya307XG5cbiAgICAtLSN7JHByZWZpeH1ib3JkZXItY29sb3I6ICN7JGJvcmRlci1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6ICN7JGJvcmRlci1jb2xvci10cmFuc2x1Y2VudC1kYXJrfTtcblxuICAgIC0tI3skcHJlZml4fWZvcm0tdmFsaWQtY29sb3I6ICN7JGZvcm0tdmFsaWQtY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1ib3JkZXItY29sb3I6ICN7JGZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1jb2xvcjogI3skZm9ybS1pbnZhbGlkLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1ib3JkZXItY29sb3I6ICN7JGZvcm0taW52YWxpZC1ib3JkZXItY29sb3ItZGFya307XG4gICAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWRhcmstbW9kZS12YXJzXG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNjc3MvZGltZW5zaW9uLW5vLW5vbi1udW1lcmljLXZhbHVlc1xuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCByZXNwb25zaXZlIHZhbHVlcyBmb3IgZm9udCBzaXplcywgcGFkZGluZ3MsIG1hcmdpbnMgYW5kIG11Y2ggbW9yZVxuLy9cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2Jsb2IvbWFpbi9MSUNFTlNFKVxuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgdmFsdWVcbiRyZnMtYmFzZS12YWx1ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtdW5pdDogcmVtICFkZWZhdWx0O1xuXG5AaWYgJHJmcy11bml0ICE9IHJlbSBhbmQgJHJmcy11bml0ICE9IHB4IHtcbiAgQGVycm9yIFwiYCN7JHJmcy11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbn1cblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSB2YWx1ZXMgc3RhcnQgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBweCBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gZW0gYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHJlbSB7XG4gIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xufVxuXG4vLyBSZXNpemUgdmFsdWVzIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gbnVtYmVyIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gTW9kZS4gUG9zc2liaWxpdGllczogXCJtaW4tbWVkaWEtcXVlcnlcIiwgXCJtYXgtbWVkaWEtcXVlcnlcIlxuJHJmcy1tb2RlOiBtaW4tbWVkaWEtcXVlcnkgIWRlZmF1bHQ7XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZnMgdG8gZmFsc2VcbiRlbmFibGUtcmZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtdmFsdWUgdW5pdFxuJHJmcy1iYXNlLXZhbHVlLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLXZhbHVlKTtcblxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS12YWx1ZS11bml0ID09IHB4IHtcbiAgJHJmcy1iYXNlLXZhbHVlOiBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlLCAkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSByZW0ge1xuICAkcmZzLWJhc2UtdmFsdWU6IGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUsIGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IHB4IHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSByZW0gb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCBkaXZpZGUoJHJmcy1icmVha3BvaW50ICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhbGN1bGF0ZSB0aGUgbWVkaWEgcXVlcnkgdmFsdWVcbiRyZnMtbXEtdmFsdWU6IGlmKCRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4LCAjeyRyZnMtYnJlYWtwb2ludH1weCwgI3tkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLXJlbS12YWx1ZSl9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH0pO1xuJHJmcy1tcS1wcm9wZXJ0eS13aWR0aDogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgbWF4LXdpZHRoLCBtaW4td2lkdGgpO1xuJHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHQ6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC1oZWlnaHQsIG1pbi1oZWlnaHQpO1xuXG4vLyBJbnRlcm5hbCBtaXhpbiB1c2VkIHRvIGRldGVybWluZSB3aGljaCBtZWRpYSBxdWVyeSBuZWVkcyB0byBiZSB1c2VkXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeSB7XG4gIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgQGlmICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSwgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIGFuZCAoI3skcmZzLW1xLXByb3BlcnR5LWhlaWdodH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZGlzYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1ydWxlIHtcbiAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSB7XG4gICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSwgd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBwcm9wZXJ0eVxuICAgICYsXG4gICAgLmRpc2FibGUtcmZzICYsXG4gICAgJi5kaXNhYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgIC5lbmFibGUtcmZzICYsXG4gICAgJi5lbmFibGUtcmZzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGVuYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeS1ydWxlIHtcblxuICBAaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkgKCkge1xuICAgICAgLmVuYWJsZS1yZnMgJixcbiAgICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICAuZGlzYWJsZS1yZnMgJixcbiAgICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSAoKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgZm9ybWF0dGVkIG5vbi1yZXNwb25zaXZlIHZhbHVlXG5AZnVuY3Rpb24gcmZzLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogXCJcIjtcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArIFwiIDBcIjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQ2FjaGUgJHZhbHVlIHVuaXRcbiAgICAgICR1bml0OiBpZih0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiwgdW5pdCgkdmFsdWUpLCBmYWxzZSk7XG5cbiAgICAgIEBpZiAkdW5pdCA9PSBweCB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gcmVtIGlmIG5lZWRlZFxuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAkcmZzLXJlbS12YWx1ZSl9cmVtLCAkdmFsdWUpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHVuaXQgPT0gcmVtIHtcbiAgICAgICAgLy8gQ29udmVydCB0byBweCBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgaWYoJHJmcy11bml0ID09IHB4LCAje2RpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAxKSAqICRyZnMtcmVtLXZhbHVlfXB4LCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIElmICR2YWx1ZSBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkdmFsdWUgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlIGZpcnN0IHNwYWNlXG4gIEByZXR1cm4gdW5xdW90ZShzdHItc2xpY2UoJHZhbCwgMikpO1xufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSByZXNwb25zaXZlIHZhbHVlIGNhbGN1bGF0ZWQgYnkgUkZTXG5AZnVuY3Rpb24gcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogXCJcIjtcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArIFwiIDBcIjtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgIEBpZiBub3QgJHVuaXQgb3IgJHVuaXQgIT0gcHggYW5kICR1bml0ICE9IHJlbSB7XG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArICR2YWx1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBSZW1vdmUgdW5pdCBmcm9tICR2YWx1ZSBmb3IgY2FsY3VsYXRpb25zXG4gICAgICAgICR2YWx1ZTogZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArIGlmKCR1bml0ID09IHB4LCAxLCBkaXZpZGUoMSwgJHJmcy1yZW0tdmFsdWUpKSk7XG5cbiAgICAgICAgLy8gT25seSBhZGQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZSB2YWx1ZSBpcyBncmVhdGVyIHRoYW4gdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgQGlmIGFicygkdmFsdWUpIDw9ICRyZnMtYmFzZS12YWx1ZSBvciBub3QgJGVuYWJsZS1yZnMge1xuICAgICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZSwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skdmFsdWV9cHgpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtbWluOiAkcmZzLWJhc2UtdmFsdWUgKyBkaXZpZGUoYWJzKCR2YWx1ZSkgLSAkcmZzLWJhc2UtdmFsdWUsICRyZnMtZmFjdG9yKTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gJHZhbHVlIGFuZCB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICAgICR2YWx1ZS1kaWZmOiBhYnMoJHZhbHVlKSAtICR2YWx1ZS1taW47XG5cbiAgICAgICAgICAvLyBCYXNlIHZhbHVlIGZvcm1hdHRpbmdcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUtbWluLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyR2YWx1ZS1taW59cHgpO1xuXG4gICAgICAgICAgLy8gVXNlIG5lZ2F0aXZlIHZhbHVlIGlmIG5lZWRlZFxuICAgICAgICAgICRtaW4td2lkdGg6IGlmKCR2YWx1ZSA8IDAsIC0kbWluLXdpZHRoLCAkbWluLXdpZHRoKTtcblxuICAgICAgICAgIC8vIFVzZSBgdm1pbmAgaWYgdHdvLWRpbWVuc2lvbmFsIGlzIGVuYWJsZWRcbiAgICAgICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICAgICAkdmFyaWFibGUtd2lkdGg6ICN7ZGl2aWRlKCR2YWx1ZS1kaWZmICogMTAwLCAkcmZzLWJyZWFrcG9pbnQpfSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAgICAgLy8gUmV0dXJuIHRoZSBjYWxjdWxhdGVkIHZhbHVlXG4gICAgICAgICAgJHZhbDogJHZhbCArIFwiIGNhbGMoXCIgKyAkbWluLXdpZHRoICsgaWYoJHZhbHVlIDwgMCwgXCIgLSBcIiwgXCIgKyBcIikgKyAkdmFyaWFibGUtd2lkdGggKyBcIilcIjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gUkZTIG1peGluXG5AbWl4aW4gcmZzKCR2YWx1ZXMsICRwcm9wZXJ0eTogZm9udC1zaXplKSB7XG4gIEBpZiAkdmFsdWVzICE9IG51bGwge1xuICAgICR2YWw6IHJmcy12YWx1ZSgkdmFsdWVzKTtcbiAgICAkZmx1aWQtdmFsOiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlcyk7XG5cbiAgICAvLyBEbyBub3QgcHJpbnQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHJlc3BvbnNpdmUgJiBub24tcmVzcG9uc2l2ZSB2YWx1ZXMgYXJlIHRoZSBzYW1lXG4gICAgQGlmICR2YWwgPT0gJGZsdWlkLXZhbCB7XG4gICAgICAjeyRwcm9wZXJ0eX06ICR2YWw7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIF9yZnMtcnVsZSAoKSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgJHZhbCwgJGZsdWlkLXZhbCk7XG5cbiAgICAgICAgLy8gSW5jbHVkZSBzYWZhcmkgaWZyYW1lIHJlc2l6ZSBmaXggaWYgbmVlZGVkXG4gICAgICAgIG1pbi13aWR0aDogaWYoJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4LCAoMCAqIDF2dyksIG51bGwpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5LXJ1bGUgKCkge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICRmbHVpZC12YWwsICR2YWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBTaG9ydGhhbmQgaGVscGVyIG1peGluc1xuQG1peGluIGZvbnQtc2l6ZSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nKTtcbn1cblxuQG1peGluIHBhZGRpbmctdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXRvcCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXJpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXJpZ2h0KTtcbn1cblxuQG1peGluIHBhZGRpbmctYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWJvdHRvbSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctbGVmdCk7XG59XG5cbkBtaXhpbiBtYXJnaW4oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbik7XG59XG5cbkBtaXhpbiBtYXJnaW4tdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tdG9wKTtcbn1cblxuQG1peGluIG1hcmdpbi1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXJpZ2h0KTtcbn1cblxuQG1peGluIG1hcmdpbi1ib3R0b20oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1ib3R0b20pO1xufVxuXG5AbWl4aW4gbWFyZ2luLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1sZWZ0KTtcbn1cbiIsIi8qIFxuVGhlbWUgTmFtZTogQm9vdHN0cmFwIDQgU2Fzc1xuRGVzY3JpcHRpb246IEJvb3RzdHJhcCA0IHdpdGggU2Fzc1xuKi9cbi8qIFZBUklBQkxFUyAqL1xuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PU9wZW4rU2Fuczp3Z2h0QDMwMDs0MDA7NjAwOzcwMCZkaXNwbGF5PXN3YXBcIik7XG5AaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9RmphbGxhK09uZSZkaXNwbGF5PXN3YXBcIik7XG46cm9vdCxcbltkYXRhLWJzLXRoZW1lPWxpZ2h0XSB7XG4gIC0tYnMtYmx1ZTogIzBkNmVmZDtcbiAgLS1icy1pbmRpZ286ICM2NjEwZjI7XG4gIC0tYnMtcHVycGxlOiAjNmY0MmMxO1xuICAtLWJzLXBpbms6ICNkNjMzODQ7XG4gIC0tYnMtcmVkOiAjMjA1ODhBO1xuICAtLWJzLW9yYW5nZTogI2ZkN2UxNDtcbiAgLS1icy15ZWxsb3c6ICNmZmMxMDc7XG4gIC0tYnMtZ3JlZW46ICMyOGE3NDU7XG4gIC0tYnMtdGVhbDogIzIwYzk5NztcbiAgLS1icy1jeWFuOiAjMTdhMmI4O1xuICAtLWJzLWJsYWNrOiAjMDAwO1xuICAtLWJzLXdoaXRlOiAjZmZmO1xuICAtLWJzLWdyYXk6ICM2Yzc1N2Q7XG4gIC0tYnMtZ3JheS1kYXJrOiAjMzQzYTQwO1xuICAtLWJzLWdyYXktMTAwOiAjZjhmOWZhO1xuICAtLWJzLWdyYXktMjAwOiAjZTllY2VmO1xuICAtLWJzLWdyYXktMzAwOiAjZGVlMmU2O1xuICAtLWJzLWdyYXktNDAwOiAjY2VkNGRhO1xuICAtLWJzLWdyYXktNTAwOiAjYWRiNWJkO1xuICAtLWJzLWdyYXktNjAwOiAjNmM3NTdkO1xuICAtLWJzLWdyYXktNzAwOiAjNDk1MDU3O1xuICAtLWJzLWdyYXktODAwOiAjMzQzYTQwO1xuICAtLWJzLWdyYXktOTAwOiAjMjEyNTI5O1xuICAtLWJzLXByaW1hcnk6ICMwMDc5QzA7XG4gIC0tYnMtc2Vjb25kYXJ5OiByZ2IoMjU1LCA3OCwgNDYpO1xuICAtLWJzLXN1Y2Nlc3M6ICMyOGE3NDU7XG4gIC0tYnMtaW5mbzogIzE3YTJiODtcbiAgLS1icy13YXJuaW5nOiAjZmZjMTA3O1xuICAtLWJzLWRhbmdlcjogIzIwNTg4QTtcbiAgLS1icy1saWdodDogI2Y4ZjlmYTtcbiAgLS1icy1kYXJrOiAjMzQzYTQwO1xuICAtLWJzLXByaW1hcnktcmdiOiAwLCAxMjEsIDE5MjtcbiAgLS1icy1zZWNvbmRhcnktcmdiOiAyNTUsIDc4LCA0NjtcbiAgLS1icy1zdWNjZXNzLXJnYjogNDAsIDE2NywgNjk7XG4gIC0tYnMtaW5mby1yZ2I6IDIzLCAxNjIsIDE4NDtcbiAgLS1icy13YXJuaW5nLXJnYjogMjU1LCAxOTMsIDc7XG4gIC0tYnMtZGFuZ2VyLXJnYjogMzIsIDg4LCAxMzg7XG4gIC0tYnMtbGlnaHQtcmdiOiAyNDgsIDI0OSwgMjUwO1xuICAtLWJzLWRhcmstcmdiOiA1MiwgNTgsIDY0O1xuICAtLWJzLXByaW1hcnktdGV4dC1lbXBoYXNpczogIzAwMzA0ZDtcbiAgLS1icy1zZWNvbmRhcnktdGV4dC1lbXBoYXNpczogIzY2MWYxMjtcbiAgLS1icy1zdWNjZXNzLXRleHQtZW1waGFzaXM6ICMxMDQzMWM7XG4gIC0tYnMtaW5mby10ZXh0LWVtcGhhc2lzOiAjMDk0MTRhO1xuICAtLWJzLXdhcm5pbmctdGV4dC1lbXBoYXNpczogIzY2NGQwMztcbiAgLS1icy1kYW5nZXItdGV4dC1lbXBoYXNpczogIzBkMjMzNztcbiAgLS1icy1saWdodC10ZXh0LWVtcGhhc2lzOiAjNDk1MDU3O1xuICAtLWJzLWRhcmstdGV4dC1lbXBoYXNpczogIzQ5NTA1NztcbiAgLS1icy1wcmltYXJ5LWJnLXN1YnRsZTogI2NjZTRmMjtcbiAgLS1icy1zZWNvbmRhcnktYmctc3VidGxlOiAjZmZkY2Q1O1xuICAtLWJzLXN1Y2Nlc3MtYmctc3VidGxlOiAjZDRlZGRhO1xuICAtLWJzLWluZm8tYmctc3VidGxlOiAjZDFlY2YxO1xuICAtLWJzLXdhcm5pbmctYmctc3VidGxlOiAjZmZmM2NkO1xuICAtLWJzLWRhbmdlci1iZy1zdWJ0bGU6ICNkMmRlZTg7XG4gIC0tYnMtbGlnaHQtYmctc3VidGxlOiAjZmNmY2ZkO1xuICAtLWJzLWRhcmstYmctc3VidGxlOiAjY2VkNGRhO1xuICAtLWJzLXByaW1hcnktYm9yZGVyLXN1YnRsZTogIzk5YzllNjtcbiAgLS1icy1zZWNvbmRhcnktYm9yZGVyLXN1YnRsZTogI2ZmYjhhYjtcbiAgLS1icy1zdWNjZXNzLWJvcmRlci1zdWJ0bGU6ICNhOWRjYjU7XG4gIC0tYnMtaW5mby1ib3JkZXItc3VidGxlOiAjYTJkYWUzO1xuICAtLWJzLXdhcm5pbmctYm9yZGVyLXN1YnRsZTogI2ZmZTY5YztcbiAgLS1icy1kYW5nZXItYm9yZGVyLXN1YnRsZTogI2E2YmNkMDtcbiAgLS1icy1saWdodC1ib3JkZXItc3VidGxlOiAjZTllY2VmO1xuICAtLWJzLWRhcmstYm9yZGVyLXN1YnRsZTogI2FkYjViZDtcbiAgLS1icy13aGl0ZS1yZ2I6IDI1NSwgMjU1LCAyNTU7XG4gIC0tYnMtYmxhY2stcmdiOiAwLCAwLCAwO1xuICAtLWJzLWZvbnQtc2Fucy1zZXJpZjogc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICAtLWJzLWZvbnQtbW9ub3NwYWNlOiBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuICAtLWJzLWdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApKTtcbiAgLS1icy1ib2R5LWZvbnQtZmFtaWx5OiB2YXIoLS1icy1mb250LXNhbnMtc2VyaWYpO1xuICAtLWJzLWJvZHktZm9udC1zaXplOiAxcmVtO1xuICAtLWJzLWJvZHktZm9udC13ZWlnaHQ6IDQwMDtcbiAgLS1icy1ib2R5LWxpbmUtaGVpZ2h0OiAxLjU7XG4gIC0tYnMtYm9keS1jb2xvcjogIzM0M2E0MDtcbiAgLS1icy1ib2R5LWNvbG9yLXJnYjogNTIsIDU4LCA2NDtcbiAgLS1icy1ib2R5LWJnOiAjZmZmO1xuICAtLWJzLWJvZHktYmctcmdiOiAyNTUsIDI1NSwgMjU1O1xuICAtLWJzLWVtcGhhc2lzLWNvbG9yOiAjMDAwO1xuICAtLWJzLWVtcGhhc2lzLWNvbG9yLXJnYjogMCwgMCwgMDtcbiAgLS1icy1zZWNvbmRhcnktY29sb3I6IHJnYmEoNTIsIDU4LCA2NCwgMC43NSk7XG4gIC0tYnMtc2Vjb25kYXJ5LWNvbG9yLXJnYjogNTIsIDU4LCA2NDtcbiAgLS1icy1zZWNvbmRhcnktYmc6ICNlOWVjZWY7XG4gIC0tYnMtc2Vjb25kYXJ5LWJnLXJnYjogMjMzLCAyMzYsIDIzOTtcbiAgLS1icy10ZXJ0aWFyeS1jb2xvcjogcmdiYSg1MiwgNTgsIDY0LCAwLjUpO1xuICAtLWJzLXRlcnRpYXJ5LWNvbG9yLXJnYjogNTIsIDU4LCA2NDtcbiAgLS1icy10ZXJ0aWFyeS1iZzogI2Y4ZjlmYTtcbiAgLS1icy10ZXJ0aWFyeS1iZy1yZ2I6IDI0OCwgMjQ5LCAyNTA7XG4gIC0tYnMtaGVhZGluZy1jb2xvcjogaW5oZXJpdDtcbiAgLS1icy1saW5rLWNvbG9yOiAjMDA3OUMwO1xuICAtLWJzLWxpbmstY29sb3ItcmdiOiAwLCAxMjEsIDE5MjtcbiAgLS1icy1saW5rLWRlY29yYXRpb246IG5vbmU7XG4gIC0tYnMtbGluay1ob3Zlci1jb2xvcjogIzAwNjE5YTtcbiAgLS1icy1saW5rLWhvdmVyLWNvbG9yLXJnYjogMCwgOTcsIDE1NDtcbiAgLS1icy1jb2RlLWNvbG9yOiAjZDYzMzg0O1xuICAtLWJzLWhpZ2hsaWdodC1jb2xvcjogIzM0M2E0MDtcbiAgLS1icy1oaWdobGlnaHQtYmc6ICNmZmYzY2Q7XG4gIC0tYnMtYm9yZGVyLXdpZHRoOiAxcHg7XG4gIC0tYnMtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgLS1icy1ib3JkZXItY29sb3I6ICNkZWUyZTY7XG4gIC0tYnMtYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50OiByZ2JhKDAsIDAsIDAsIDAuMTc1KTtcbiAgLS1icy1ib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgLS1icy1ib3JkZXItcmFkaXVzLXNtOiAwLjI1cmVtO1xuICAtLWJzLWJvcmRlci1yYWRpdXMtbGc6IDAuNXJlbTtcbiAgLS1icy1ib3JkZXItcmFkaXVzLXhsOiAxcmVtO1xuICAtLWJzLWJvcmRlci1yYWRpdXMteHhsOiAycmVtO1xuICAtLWJzLWJvcmRlci1yYWRpdXMtMnhsOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXh4bCk7XG4gIC0tYnMtYm9yZGVyLXJhZGl1cy1waWxsOiA1MHJlbTtcbiAgLS1icy1ib3gtc2hhZG93OiAwIDAuNXJlbSAxcmVtIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIC0tYnMtYm94LXNoYWRvdy1zbTogMCAwLjEyNXJlbSAwLjI1cmVtIHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xuICAtLWJzLWJveC1zaGFkb3ctbGc6IDAgMXJlbSAzcmVtIHJnYmEoMCwgMCwgMCwgMC4xNzUpO1xuICAtLWJzLWJveC1zaGFkb3ctaW5zZXQ6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgLS1icy1mb2N1cy1yaW5nLXdpZHRoOiAwLjI1cmVtO1xuICAtLWJzLWZvY3VzLXJpbmctb3BhY2l0eTogMC4yNTtcbiAgLS1icy1mb2N1cy1yaW5nLWNvbG9yOiByZ2JhKDAsIDEyMSwgMTkyLCAwLjI1KTtcbiAgLS1icy1mb3JtLXZhbGlkLWNvbG9yOiAjMjhhNzQ1O1xuICAtLWJzLWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yOiAjMjhhNzQ1O1xuICAtLWJzLWZvcm0taW52YWxpZC1jb2xvcjogIzIwNTg4QTtcbiAgLS1icy1mb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yOiAjMjA1ODhBO1xufVxuXG5bZGF0YS1icy10aGVtZT1kYXJrXSB7XG4gIGNvbG9yLXNjaGVtZTogZGFyaztcbiAgLS1icy1ib2R5LWNvbG9yOiAjZGVlMmU2O1xuICAtLWJzLWJvZHktY29sb3ItcmdiOiAyMjIsIDIyNiwgMjMwO1xuICAtLWJzLWJvZHktYmc6ICMyMTI1Mjk7XG4gIC0tYnMtYm9keS1iZy1yZ2I6IDMzLCAzNywgNDE7XG4gIC0tYnMtZW1waGFzaXMtY29sb3I6ICNmZmY7XG4gIC0tYnMtZW1waGFzaXMtY29sb3ItcmdiOiAyNTUsIDI1NSwgMjU1O1xuICAtLWJzLXNlY29uZGFyeS1jb2xvcjogcmdiYSgyMjIsIDIyNiwgMjMwLCAwLjc1KTtcbiAgLS1icy1zZWNvbmRhcnktY29sb3ItcmdiOiAyMjIsIDIyNiwgMjMwO1xuICAtLWJzLXNlY29uZGFyeS1iZzogIzM0M2E0MDtcbiAgLS1icy1zZWNvbmRhcnktYmctcmdiOiA1MiwgNTgsIDY0O1xuICAtLWJzLXRlcnRpYXJ5LWNvbG9yOiByZ2JhKDIyMiwgMjI2LCAyMzAsIDAuNSk7XG4gIC0tYnMtdGVydGlhcnktY29sb3ItcmdiOiAyMjIsIDIyNiwgMjMwO1xuICAtLWJzLXRlcnRpYXJ5LWJnOiAjMmIzMDM1O1xuICAtLWJzLXRlcnRpYXJ5LWJnLXJnYjogNDMsIDQ4LCA1MztcbiAgLS1icy1wcmltYXJ5LXRleHQtZW1waGFzaXM6ICM2NmFmZDk7XG4gIC0tYnMtc2Vjb25kYXJ5LXRleHQtZW1waGFzaXM6ICNmZjk1ODI7XG4gIC0tYnMtc3VjY2Vzcy10ZXh0LWVtcGhhc2lzOiAjN2VjYThmO1xuICAtLWJzLWluZm8tdGV4dC1lbXBoYXNpczogIzc0YzdkNDtcbiAgLS1icy13YXJuaW5nLXRleHQtZW1waGFzaXM6ICNmZmRhNmE7XG4gIC0tYnMtZGFuZ2VyLXRleHQtZW1waGFzaXM6ICM3OTliYjk7XG4gIC0tYnMtbGlnaHQtdGV4dC1lbXBoYXNpczogI2Y4ZjlmYTtcbiAgLS1icy1kYXJrLXRleHQtZW1waGFzaXM6ICNkZWUyZTY7XG4gIC0tYnMtcHJpbWFyeS1iZy1zdWJ0bGU6ICMwMDE4MjY7XG4gIC0tYnMtc2Vjb25kYXJ5LWJnLXN1YnRsZTogIzMzMTAwOTtcbiAgLS1icy1zdWNjZXNzLWJnLXN1YnRsZTogIzA4MjEwZTtcbiAgLS1icy1pbmZvLWJnLXN1YnRsZTogIzA1MjAyNTtcbiAgLS1icy13YXJuaW5nLWJnLXN1YnRsZTogIzMzMjcwMTtcbiAgLS1icy1kYW5nZXItYmctc3VidGxlOiAjMDYxMjFjO1xuICAtLWJzLWxpZ2h0LWJnLXN1YnRsZTogIzM0M2E0MDtcbiAgLS1icy1kYXJrLWJnLXN1YnRsZTogIzFhMWQyMDtcbiAgLS1icy1wcmltYXJ5LWJvcmRlci1zdWJ0bGU6ICMwMDQ5NzM7XG4gIC0tYnMtc2Vjb25kYXJ5LWJvcmRlci1zdWJ0bGU6ICM5OTJmMWM7XG4gIC0tYnMtc3VjY2Vzcy1ib3JkZXItc3VidGxlOiAjMTg2NDI5O1xuICAtLWJzLWluZm8tYm9yZGVyLXN1YnRsZTogIzBlNjE2ZTtcbiAgLS1icy13YXJuaW5nLWJvcmRlci1zdWJ0bGU6ICM5OTc0MDQ7XG4gIC0tYnMtZGFuZ2VyLWJvcmRlci1zdWJ0bGU6ICMxMzM1NTM7XG4gIC0tYnMtbGlnaHQtYm9yZGVyLXN1YnRsZTogIzQ5NTA1NztcbiAgLS1icy1kYXJrLWJvcmRlci1zdWJ0bGU6ICMzNDNhNDA7XG4gIC0tYnMtaGVhZGluZy1jb2xvcjogaW5oZXJpdDtcbiAgLS1icy1saW5rLWNvbG9yOiAjNjZhZmQ5O1xuICAtLWJzLWxpbmstaG92ZXItY29sb3I6ICM4NWJmZTE7XG4gIC0tYnMtbGluay1jb2xvci1yZ2I6IDEwMiwgMTc1LCAyMTc7XG4gIC0tYnMtbGluay1ob3Zlci1jb2xvci1yZ2I6IDEzMywgMTkxLCAyMjU7XG4gIC0tYnMtY29kZS1jb2xvcjogI2U2ODViNTtcbiAgLS1icy1oaWdobGlnaHQtY29sb3I6ICNkZWUyZTY7XG4gIC0tYnMtaGlnaGxpZ2h0LWJnOiAjNjY0ZDAzO1xuICAtLWJzLWJvcmRlci1jb2xvcjogIzQ5NTA1NztcbiAgLS1icy1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIC0tYnMtZm9ybS12YWxpZC1jb2xvcjogIzdlY2E4ZjtcbiAgLS1icy1mb3JtLXZhbGlkLWJvcmRlci1jb2xvcjogIzdlY2E4ZjtcbiAgLS1icy1mb3JtLWludmFsaWQtY29sb3I6ICM3OTliYjk7XG4gIC0tYnMtZm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcjogIzc5OWJiOTtcbn1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gIDpyb290IHtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgfVxufVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogdmFyKC0tYnMtYm9keS1mb250LWZhbWlseSk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYnMtYm9keS1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogdmFyKC0tYnMtYm9keS1mb250LXdlaWdodCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1icy1ib2R5LWxpbmUtaGVpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpO1xuICB0ZXh0LWFsaWduOiB2YXIoLS1icy1ib2R5LXRleHQtYWxpZ24pO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1ib2R5LWJnKTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbmhyIHtcbiAgbWFyZ2luOiAxcmVtIDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IHZhcigtLWJzLWJvcmRlci13aWR0aCkgc29saWQ7XG4gIG9wYWNpdHk6IDAuMjU7XG59XG5cbmg2LCBoNSwgaDQsIGgzLCBoMiwgaDEge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGNvbG9yOiB2YXIoLS1icy1oZWFkaW5nLWNvbG9yKTtcbn1cblxuaDEge1xuICBmb250LXNpemU6IGNhbGMoMS4zNzVyZW0gKyAxLjV2dyk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgfVxufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogY2FsYygxLjMyNXJlbSArIDAuOXZ3KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgfVxufVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogY2FsYygxLjNyZW0gKyAwLjZ2dyk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gIH1cbn1cblxuaDQge1xuICBmb250LXNpemU6IGNhbGMoMS4yNzVyZW0gKyAwLjN2dyk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIGg0IHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgfVxufVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cblxuaDYge1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5hYmJyW3RpdGxlXSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgY3Vyc29yOiBoZWxwO1xuICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7XG59XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5vbCxcbnVsIHtcbiAgcGFkZGluZy1sZWZ0OiAycmVtO1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xufVxuXG5tYXJrIHtcbiAgcGFkZGluZzogMC4xODc1ZW07XG4gIGNvbG9yOiB2YXIoLS1icy1oaWdobGlnaHQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1oaWdobGlnaHQtYmcpO1xufVxuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5hIHtcbiAgY29sb3I6IHJnYmEodmFyKC0tYnMtbGluay1jb2xvci1yZ2IpLCB2YXIoLS1icy1saW5rLW9wYWNpdHksIDEpKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuYTpob3ZlciB7XG4gIC0tYnMtbGluay1jb2xvci1yZ2I6IHZhcigtLWJzLWxpbmstaG92ZXItY29sb3ItcmdiKTtcbn1cblxuYTpub3QoW2hyZWZdKTpub3QoW2NsYXNzXSksIGE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pOmhvdmVyIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogdmFyKC0tYnMtZm9udC1tb25vc3BhY2UpO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG92ZXJmbG93OiBhdXRvO1xuICBmb250LXNpemU6IDAuODc1ZW07XG59XG5wcmUgY29kZSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbn1cblxuY29kZSB7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgY29sb3I6IHZhcigtLWJzLWNvZGUtY29sb3IpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5hID4gY29kZSB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5rYmQge1xuICBwYWRkaW5nOiAwLjE4NzVyZW0gMC4zNzVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgY29sb3I6IHZhcigtLWJzLWJvZHktYmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1ib2R5LWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cbmtiZCBrYmQge1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuaW1nLFxuc3ZnIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxudGFibGUge1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gIGNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktY29sb3IpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG50aCB7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IC13ZWJraXQtbWF0Y2gtcGFyZW50O1xufVxuXG50aGVhZCxcbnRib2R5LFxudGZvb3QsXG50cixcbnRkLFxudGgge1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cblxubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbmJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMDtcbn1cblxuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG5vcHRncm91cCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbltyb2xlPWJ1dHRvbl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnNlbGVjdCB7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuc2VsZWN0OmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuW2xpc3RdOm5vdChbdHlwZT1kYXRlXSk6bm90KFt0eXBlPWRhdGV0aW1lLWxvY2FsXSk6bm90KFt0eXBlPW1vbnRoXSk6bm90KFt0eXBlPXdlZWtdKTpub3QoW3R5cGU9dGltZV0pOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3Ige1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmJ1dHRvbixcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1zdWJtaXRdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5idXR0b246bm90KDpkaXNhYmxlZCksXG5bdHlwZT1idXR0b25dOm5vdCg6ZGlzYWJsZWQpLFxuW3R5cGU9cmVzZXRdOm5vdCg6ZGlzYWJsZWQpLFxuW3R5cGU9c3VibWl0XTpub3QoOmRpc2FibGVkKSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbmZpZWxkc2V0IHtcbiAgbWluLXdpZHRoOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbn1cblxubGVnZW5kIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogY2FsYygxLjI3NXJlbSArIDAuM3Z3KTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIGxlZ2VuZCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbn1cbmxlZ2VuZCArICoge1xuICBjbGVhcjogbGVmdDtcbn1cblxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZmllbGRzLXdyYXBwZXIsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC10ZXh0LFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1maWVsZCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWRheS1maWVsZCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1vbnRoLWZpZWxkLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuW3R5cGU9c2VhcmNoXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuLyogcnRsOnJhdzpcblt0eXBlPVwidGVsXCJdLFxuW3R5cGU9XCJ1cmxcIl0sXG5bdHlwZT1cImVtYWlsXCJdLFxuW3R5cGU9XCJudW1iZXJcIl0ge1xuICBkaXJlY3Rpb246IGx0cjtcbn1cbiovXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbjo6LXdlYmtpdC1jb2xvci1zd2F0Y2gtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbjo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBmb250OiBpbmhlcml0O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5pZnJhbWUge1xuICBib3JkZXI6IDA7XG59XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uaW1nLWZsdWlkIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogMC4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYm9keS1iZyk7XG4gIGJvcmRlcjogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5maWd1cmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5maWd1cmUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xuICBjb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWNvbG9yKTtcbn1cblxuLmNsZWFyZml4OjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLnRleHQtYmctcHJpbWFyeSB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IFJHQkEodmFyKC0tYnMtcHJpbWFyeS1yZ2IpLCB2YXIoLS1icy1iZy1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtYmctc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogUkdCQSh2YXIoLS1icy1zZWNvbmRhcnktcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWJnLXN1Y2Nlc3Mge1xuICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBSR0JBKHZhcigtLWJzLXN1Y2Nlc3MtcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWJnLWluZm8ge1xuICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBSR0JBKHZhcigtLWJzLWluZm8tcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWJnLXdhcm5pbmcge1xuICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBSR0JBKHZhcigtLWJzLXdhcm5pbmctcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWJnLWRhbmdlciB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IFJHQkEodmFyKC0tYnMtZGFuZ2VyLXJnYiksIHZhcigtLWJzLWJnLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1iZy1saWdodCB7XG4gIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IFJHQkEodmFyKC0tYnMtbGlnaHQtcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWJnLWRhcmsge1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBSR0JBKHZhcigtLWJzLWRhcmstcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLXByaW1hcnkge1xuICBjb2xvcjogUkdCQSh2YXIoLS1icy1wcmltYXJ5LXJnYiksIHZhcigtLWJzLWxpbmstb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS1icy1wcmltYXJ5LXJnYiksIHZhcigtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xufVxuLmxpbmstcHJpbWFyeTpob3ZlciwgLmxpbmstcHJpbWFyeTpmb2N1cyB7XG4gIGNvbG9yOiBSR0JBKDAsIDk3LCAxNTQsIHZhcigtLWJzLWxpbmstb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSgwLCA5NywgMTU0LCB2YXIoLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbn1cblxuLmxpbmstc2Vjb25kYXJ5IHtcbiAgY29sb3I6IFJHQkEodmFyKC0tYnMtc2Vjb25kYXJ5LXJnYiksIHZhcigtLWJzLWxpbmstb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS1icy1zZWNvbmRhcnktcmdiKSwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG4ubGluay1zZWNvbmRhcnk6aG92ZXIsIC5saW5rLXNlY29uZGFyeTpmb2N1cyB7XG4gIGNvbG9yOiBSR0JBKDI1NSwgMTEzLCA4OCwgdmFyKC0tYnMtbGluay1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKDI1NSwgMTEzLCA4OCwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLXN1Y2Nlc3Mge1xuICBjb2xvcjogUkdCQSh2YXIoLS1icy1zdWNjZXNzLXJnYiksIHZhcigtLWJzLWxpbmstb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS1icy1zdWNjZXNzLXJnYiksIHZhcigtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xufVxuLmxpbmstc3VjY2Vzczpob3ZlciwgLmxpbmstc3VjY2Vzczpmb2N1cyB7XG4gIGNvbG9yOiBSR0JBKDgzLCAxODUsIDEwNiwgdmFyKC0tYnMtbGluay1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKDgzLCAxODUsIDEwNiwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLWluZm8ge1xuICBjb2xvcjogUkdCQSh2YXIoLS1icy1pbmZvLXJnYiksIHZhcigtLWJzLWxpbmstb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS1icy1pbmZvLXJnYiksIHZhcigtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xufVxuLmxpbmstaW5mbzpob3ZlciwgLmxpbmstaW5mbzpmb2N1cyB7XG4gIGNvbG9yOiBSR0JBKDY5LCAxODEsIDE5OCwgdmFyKC0tYnMtbGluay1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKDY5LCAxODEsIDE5OCwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLXdhcm5pbmcge1xuICBjb2xvcjogUkdCQSh2YXIoLS1icy13YXJuaW5nLXJnYiksIHZhcigtLWJzLWxpbmstb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS1icy13YXJuaW5nLXJnYiksIHZhcigtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xufVxuLmxpbmstd2FybmluZzpob3ZlciwgLmxpbmstd2FybmluZzpmb2N1cyB7XG4gIGNvbG9yOiBSR0JBKDI1NSwgMjA1LCA1NywgdmFyKC0tYnMtbGluay1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKDI1NSwgMjA1LCA1NywgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLWRhbmdlciB7XG4gIGNvbG9yOiBSR0JBKHZhcigtLWJzLWRhbmdlci1yZ2IpLCB2YXIoLS1icy1saW5rLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IFJHQkEodmFyKC0tYnMtZGFuZ2VyLXJnYiksIHZhcigtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xufVxuLmxpbmstZGFuZ2VyOmhvdmVyLCAubGluay1kYW5nZXI6Zm9jdXMge1xuICBjb2xvcjogUkdCQSgyNiwgNzAsIDExMCwgdmFyKC0tYnMtbGluay1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKDI2LCA3MCwgMTEwLCB2YXIoLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbn1cblxuLmxpbmstbGlnaHQge1xuICBjb2xvcjogUkdCQSh2YXIoLS1icy1saWdodC1yZ2IpLCB2YXIoLS1icy1saW5rLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IFJHQkEodmFyKC0tYnMtbGlnaHQtcmdiKSwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG4ubGluay1saWdodDpob3ZlciwgLmxpbmstbGlnaHQ6Zm9jdXMge1xuICBjb2xvcjogUkdCQSgyNDksIDI1MCwgMjUxLCB2YXIoLS1icy1saW5rLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IFJHQkEoMjQ5LCAyNTAsIDI1MSwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLWRhcmsge1xuICBjb2xvcjogUkdCQSh2YXIoLS1icy1kYXJrLXJnYiksIHZhcigtLWJzLWxpbmstb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS1icy1kYXJrLXJnYiksIHZhcigtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSAhaW1wb3J0YW50O1xufVxuLmxpbmstZGFyazpob3ZlciwgLmxpbmstZGFyazpmb2N1cyB7XG4gIGNvbG9yOiBSR0JBKDQyLCA0NiwgNTEsIHZhcigtLWJzLWxpbmstb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSg0MiwgNDYsIDUxLCB2YXIoLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbn1cblxuLmxpbmstYm9keS1lbXBoYXNpcyB7XG4gIGNvbG9yOiBSR0JBKHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yLXJnYiksIHZhcigtLWJzLWxpbmstb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS1icy1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSkgIWltcG9ydGFudDtcbn1cbi5saW5rLWJvZHktZW1waGFzaXM6aG92ZXIsIC5saW5rLWJvZHktZW1waGFzaXM6Zm9jdXMge1xuICBjb2xvcjogUkdCQSh2YXIoLS1icy1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS1icy1saW5rLW9wYWNpdHksIDAuNzUpKSAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IFJHQkEodmFyKC0tYnMtZW1waGFzaXMtY29sb3ItcmdiKSwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSwgMC43NSkpICFpbXBvcnRhbnQ7XG59XG5cbi5mb2N1cy1yaW5nOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogdmFyKC0tYnMtZm9jdXMtcmluZy14LCAwKSB2YXIoLS1icy1mb2N1cy1yaW5nLXksIDApIHZhcigtLWJzLWZvY3VzLXJpbmctYmx1ciwgMCkgdmFyKC0tYnMtZm9jdXMtcmluZy13aWR0aCkgdmFyKC0tYnMtZm9jdXMtcmluZy1jb2xvcik7XG59XG5cbi5pY29uLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZ2FwOiAwLjM3NXJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKHZhcigtLWJzLWxpbmstY29sb3ItcmdiKSwgdmFyKC0tYnMtbGluay1vcGFjaXR5LCAwLjUpKTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjI1ZW07XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5pY29uLWxpbmsgPiAuYmkge1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIGZpbGw6IGN1cnJlbnRjb2xvcjtcbiAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dCB0cmFuc2Zvcm07XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuaWNvbi1saW5rID4gLmJpIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5cbi5pY29uLWxpbmstaG92ZXI6aG92ZXIgPiAuYmksIC5pY29uLWxpbmstaG92ZXI6Zm9jdXMtdmlzaWJsZSA+IC5iaSB7XG4gIHRyYW5zZm9ybTogdmFyKC0tYnMtaWNvbi1saW5rLXRyYW5zZm9ybSwgdHJhbnNsYXRlM2QoMC4yNWVtLCAwLCAwKSk7XG59XG5cbi5yYXRpbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG4ucmF0aW86OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogdmFyKC0tYnMtYXNwZWN0LXJhdGlvKTtcbiAgY29udGVudDogXCJcIjtcbn1cbi5yYXRpbyA+ICoge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnJhdGlvLTF4MSB7XG4gIC0tYnMtYXNwZWN0LXJhdGlvOiAxMDAlO1xufVxuXG4ucmF0aW8tNHgzIHtcbiAgLS1icy1hc3BlY3QtcmF0aW86IDc1JTtcbn1cblxuLnJhdGlvLTE2eDkge1xuICAtLWJzLWFzcGVjdC1yYXRpbzogNTYuMjUlO1xufVxuXG4ucmF0aW8tMjF4OSB7XG4gIC0tYnMtYXNwZWN0LXJhdGlvOiA0Mi44NTcxNDI4NTcxJTtcbn1cblxuLmZpeGVkLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAzMDtcbn1cblxuLmZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAzMDtcbn1cblxuLnN0aWNreS10b3Age1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMjA7XG59XG5cbi5zdGlja3ktYm90dG9tIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxMDIwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLnN0aWNreS1zbS10b3Age1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDEwMjA7XG4gIH1cbiAgLnN0aWNreS1zbS1ib3R0b20ge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDEwMjA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc3RpY2t5LW1kLXRvcCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTAyMDtcbiAgfVxuICAuc3RpY2t5LW1kLWJvdHRvbSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMTAyMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5zdGlja3ktbGctdG9wIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxMDIwO1xuICB9XG4gIC5zdGlja3ktbGctYm90dG9tIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAxMDIwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5zdGlja3kteGwtdG9wIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxMDIwO1xuICB9XG4gIC5zdGlja3kteGwtYm90dG9tIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAxMDIwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5zdGlja3kteHhsLXRvcCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTAyMDtcbiAgfVxuICAuc3RpY2t5LXh4bC1ib3R0b20ge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDEwMjA7XG4gIH1cbn1cbi5oc3RhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuXG4udnN0YWNrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMSAxIGF1dG87XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi52aXN1YWxseS1oaWRkZW4sXG4udmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZTpub3QoOmZvY3VzKTpub3QoOmZvY3VzLXdpdGhpbikge1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuLnZpc3VhbGx5LWhpZGRlbjpub3QoY2FwdGlvbiksXG4udmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZTpub3QoOmZvY3VzKTpub3QoOmZvY3VzLXdpdGhpbik6bm90KGNhcHRpb24pIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG59XG5cbi5zdHJldGNoZWQtbGluazo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLnRleHQtdHJ1bmNhdGUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnZyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICB3aWR0aDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKTtcbiAgbWluLWhlaWdodDogMWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIG9wYWNpdHk6IDAuMjU7XG59XG5cbi50YWJsZSB7XG4gIC0tYnMtdGFibGUtY29sb3ItdHlwZTogaW5pdGlhbDtcbiAgLS1icy10YWJsZS1iZy10eXBlOiBpbml0aWFsO1xuICAtLWJzLXRhYmxlLWNvbG9yLXN0YXRlOiBpbml0aWFsO1xuICAtLWJzLXRhYmxlLWJnLXN0YXRlOiBpbml0aWFsO1xuICAtLWJzLXRhYmxlLWNvbG9yOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvcik7XG4gIC0tYnMtdGFibGUtYmc6IHZhcigtLWJzLWJvZHktYmcpO1xuICAtLWJzLXRhYmxlLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtYm9yZGVyLWNvbG9yKTtcbiAgLS1icy10YWJsZS1hY2NlbnQtYmc6IHRyYW5zcGFyZW50O1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtY29sb3I6IHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yKTtcbiAgLS1icy10YWJsZS1zdHJpcGVkLWJnOiByZ2JhKHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yLXJnYiksIDAuMDUpO1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3IpO1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1iZzogcmdiYSh2YXIoLS1icy1lbXBoYXNpcy1jb2xvci1yZ2IpLCAwLjEpO1xuICAtLWJzLXRhYmxlLWhvdmVyLWNvbG9yOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvcik7XG4gIC0tYnMtdGFibGUtaG92ZXItYmc6IHJnYmEodmFyKC0tYnMtZW1waGFzaXMtY29sb3ItcmdiKSwgMC4wNzUpO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy10YWJsZS1ib3JkZXItY29sb3IpO1xufVxuLnRhYmxlID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgcGFkZGluZzogMC41cmVtIDAuNXJlbTtcbiAgY29sb3I6IHZhcigtLWJzLXRhYmxlLWNvbG9yLXN0YXRlLCB2YXIoLS1icy10YWJsZS1jb2xvci10eXBlLCB2YXIoLS1icy10YWJsZS1jb2xvcikpKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtdGFibGUtYmcpO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA5OTk5cHggdmFyKC0tYnMtdGFibGUtYmctc3RhdGUsIHZhcigtLWJzLXRhYmxlLWJnLXR5cGUsIHZhcigtLWJzLXRhYmxlLWFjY2VudC1iZykpKTtcbn1cbi50YWJsZSA+IHRib2R5IHtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG59XG4udGFibGUgPiB0aGVhZCB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbi50YWJsZS1ncm91cC1kaXZpZGVyIHtcbiAgYm9yZGVyLXRvcDogY2FsYyh2YXIoLS1icy1ib3JkZXItd2lkdGgpICogMikgc29saWQgY3VycmVudGNvbG9yO1xufVxuXG4uY2FwdGlvbi10b3Age1xuICBjYXB0aW9uLXNpZGU6IHRvcDtcbn1cblxuLnRhYmxlLXNtID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjI1cmVtO1xufVxuXG4udGFibGUtYm9yZGVyZWQgPiA6bm90KGNhcHRpb24pID4gKiB7XG4gIGJvcmRlci13aWR0aDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSAwO1xufVxuLnRhYmxlLWJvcmRlcmVkID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgYm9yZGVyLXdpZHRoOiAwIHZhcigtLWJzLWJvcmRlci13aWR0aCk7XG59XG5cbi50YWJsZS1ib3JkZXJsZXNzID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbn1cbi50YWJsZS1ib3JkZXJsZXNzID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbn1cblxuLnRhYmxlLXN0cmlwZWQgPiB0Ym9keSA+IHRyOm50aC1vZi10eXBlKG9kZCkgPiAqIHtcbiAgLS1icy10YWJsZS1jb2xvci10eXBlOiB2YXIoLS1icy10YWJsZS1zdHJpcGVkLWNvbG9yKTtcbiAgLS1icy10YWJsZS1iZy10eXBlOiB2YXIoLS1icy10YWJsZS1zdHJpcGVkLWJnKTtcbn1cblxuLnRhYmxlLXN0cmlwZWQtY29sdW1ucyA+IDpub3QoY2FwdGlvbikgPiB0ciA+IDpudGgtY2hpbGQoZXZlbikge1xuICAtLWJzLXRhYmxlLWNvbG9yLXR5cGU6IHZhcigtLWJzLXRhYmxlLXN0cmlwZWQtY29sb3IpO1xuICAtLWJzLXRhYmxlLWJnLXR5cGU6IHZhcigtLWJzLXRhYmxlLXN0cmlwZWQtYmcpO1xufVxuXG4udGFibGUtYWN0aXZlIHtcbiAgLS1icy10YWJsZS1jb2xvci1zdGF0ZTogdmFyKC0tYnMtdGFibGUtYWN0aXZlLWNvbG9yKTtcbiAgLS1icy10YWJsZS1iZy1zdGF0ZTogdmFyKC0tYnMtdGFibGUtYWN0aXZlLWJnKTtcbn1cblxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpob3ZlciA+ICoge1xuICAtLWJzLXRhYmxlLWNvbG9yLXN0YXRlOiB2YXIoLS1icy10YWJsZS1ob3Zlci1jb2xvcik7XG4gIC0tYnMtdGFibGUtYmctc3RhdGU6IHZhcigtLWJzLXRhYmxlLWhvdmVyLWJnKTtcbn1cblxuLnRhYmxlLXByaW1hcnkge1xuICAtLWJzLXRhYmxlLWNvbG9yOiAjMDAwO1xuICAtLWJzLXRhYmxlLWJnOiAjY2NlNGYyO1xuICAtLWJzLXRhYmxlLWJvcmRlci1jb2xvcjogI2EzYjZjMjtcbiAgLS1icy10YWJsZS1zdHJpcGVkLWJnOiAjYzJkOWU2O1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtY29sb3I6ICMwMDA7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWJnOiAjYjhjZGRhO1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1jb2xvcjogIzAwMDtcbiAgLS1icy10YWJsZS1ob3Zlci1iZzogI2JkZDNlMDtcbiAgLS1icy10YWJsZS1ob3Zlci1jb2xvcjogIzAwMDtcbiAgY29sb3I6IHZhcigtLWJzLXRhYmxlLWNvbG9yKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy10YWJsZS1ib3JkZXItY29sb3IpO1xufVxuXG4udGFibGUtc2Vjb25kYXJ5IHtcbiAgLS1icy10YWJsZS1jb2xvcjogIzAwMDtcbiAgLS1icy10YWJsZS1iZzogI2ZmZGNkNTtcbiAgLS1icy10YWJsZS1ib3JkZXItY29sb3I6ICNjY2IwYWE7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1iZzogI2YyZDFjYTtcbiAgLS1icy10YWJsZS1zdHJpcGVkLWNvbG9yOiAjMDAwO1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1iZzogI2U2YzZjMDtcbiAgLS1icy10YWJsZS1hY3RpdmUtY29sb3I6ICMwMDA7XG4gIC0tYnMtdGFibGUtaG92ZXItYmc6ICNlY2NjYzU7XG4gIC0tYnMtdGFibGUtaG92ZXItY29sb3I6ICMwMDA7XG4gIGNvbG9yOiB2YXIoLS1icy10YWJsZS1jb2xvcik7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtdGFibGUtYm9yZGVyLWNvbG9yKTtcbn1cblxuLnRhYmxlLXN1Y2Nlc3Mge1xuICAtLWJzLXRhYmxlLWNvbG9yOiAjMDAwO1xuICAtLWJzLXRhYmxlLWJnOiAjZDRlZGRhO1xuICAtLWJzLXRhYmxlLWJvcmRlci1jb2xvcjogI2FhYmVhZTtcbiAgLS1icy10YWJsZS1zdHJpcGVkLWJnOiAjYzllMWNmO1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtY29sb3I6ICMwMDA7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWJnOiAjYmZkNWM0O1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1jb2xvcjogIzAwMDtcbiAgLS1icy10YWJsZS1ob3Zlci1iZzogI2M0ZGJjYTtcbiAgLS1icy10YWJsZS1ob3Zlci1jb2xvcjogIzAwMDtcbiAgY29sb3I6IHZhcigtLWJzLXRhYmxlLWNvbG9yKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy10YWJsZS1ib3JkZXItY29sb3IpO1xufVxuXG4udGFibGUtaW5mbyB7XG4gIC0tYnMtdGFibGUtY29sb3I6ICMwMDA7XG4gIC0tYnMtdGFibGUtYmc6ICNkMWVjZjE7XG4gIC0tYnMtdGFibGUtYm9yZGVyLWNvbG9yOiAjYTdiZGMxO1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtYmc6ICNjN2UwZTU7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1jb2xvcjogIzAwMDtcbiAgLS1icy10YWJsZS1hY3RpdmUtYmc6ICNiY2Q0ZDk7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWNvbG9yOiAjMDAwO1xuICAtLWJzLXRhYmxlLWhvdmVyLWJnOiAjYzFkYWRmO1xuICAtLWJzLXRhYmxlLWhvdmVyLWNvbG9yOiAjMDAwO1xuICBjb2xvcjogdmFyKC0tYnMtdGFibGUtY29sb3IpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLXRhYmxlLWJvcmRlci1jb2xvcik7XG59XG5cbi50YWJsZS13YXJuaW5nIHtcbiAgLS1icy10YWJsZS1jb2xvcjogIzAwMDtcbiAgLS1icy10YWJsZS1iZzogI2ZmZjNjZDtcbiAgLS1icy10YWJsZS1ib3JkZXItY29sb3I6ICNjY2MyYTQ7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1iZzogI2YyZTdjMztcbiAgLS1icy10YWJsZS1zdHJpcGVkLWNvbG9yOiAjMDAwO1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1iZzogI2U2ZGJiOTtcbiAgLS1icy10YWJsZS1hY3RpdmUtY29sb3I6ICMwMDA7XG4gIC0tYnMtdGFibGUtaG92ZXItYmc6ICNlY2UxYmU7XG4gIC0tYnMtdGFibGUtaG92ZXItY29sb3I6ICMwMDA7XG4gIGNvbG9yOiB2YXIoLS1icy10YWJsZS1jb2xvcik7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtdGFibGUtYm9yZGVyLWNvbG9yKTtcbn1cblxuLnRhYmxlLWRhbmdlciB7XG4gIC0tYnMtdGFibGUtY29sb3I6ICMwMDA7XG4gIC0tYnMtdGFibGUtYmc6ICNkMmRlZTg7XG4gIC0tYnMtdGFibGUtYm9yZGVyLWNvbG9yOiAjYThiMmJhO1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtYmc6ICNjOGQzZGM7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1jb2xvcjogIzAwMDtcbiAgLS1icy10YWJsZS1hY3RpdmUtYmc6ICNiZGM4ZDE7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWNvbG9yOiAjMDAwO1xuICAtLWJzLXRhYmxlLWhvdmVyLWJnOiAjYzJjZGQ3O1xuICAtLWJzLXRhYmxlLWhvdmVyLWNvbG9yOiAjMDAwO1xuICBjb2xvcjogdmFyKC0tYnMtdGFibGUtY29sb3IpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLXRhYmxlLWJvcmRlci1jb2xvcik7XG59XG5cbi50YWJsZS1saWdodCB7XG4gIC0tYnMtdGFibGUtY29sb3I6ICMwMDA7XG4gIC0tYnMtdGFibGUtYmc6ICNmOGY5ZmE7XG4gIC0tYnMtdGFibGUtYm9yZGVyLWNvbG9yOiAjYzZjN2M4O1xuICAtLWJzLXRhYmxlLXN0cmlwZWQtYmc6ICNlY2VkZWU7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1jb2xvcjogIzAwMDtcbiAgLS1icy10YWJsZS1hY3RpdmUtYmc6ICNkZmUwZTE7XG4gIC0tYnMtdGFibGUtYWN0aXZlLWNvbG9yOiAjMDAwO1xuICAtLWJzLXRhYmxlLWhvdmVyLWJnOiAjZTVlNmU3O1xuICAtLWJzLXRhYmxlLWhvdmVyLWNvbG9yOiAjMDAwO1xuICBjb2xvcjogdmFyKC0tYnMtdGFibGUtY29sb3IpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLXRhYmxlLWJvcmRlci1jb2xvcik7XG59XG5cbi50YWJsZS1kYXJrIHtcbiAgLS1icy10YWJsZS1jb2xvcjogI2ZmZjtcbiAgLS1icy10YWJsZS1iZzogIzM0M2E0MDtcbiAgLS1icy10YWJsZS1ib3JkZXItY29sb3I6ICM1ZDYxNjY7XG4gIC0tYnMtdGFibGUtc3RyaXBlZC1iZzogIzNlNDQ0YTtcbiAgLS1icy10YWJsZS1zdHJpcGVkLWNvbG9yOiAjZmZmO1xuICAtLWJzLXRhYmxlLWFjdGl2ZS1iZzogIzQ4NGU1MztcbiAgLS1icy10YWJsZS1hY3RpdmUtY29sb3I6ICNmZmY7XG4gIC0tYnMtdGFibGUtaG92ZXItYmc6ICM0MzQ5NGU7XG4gIC0tYnMtdGFibGUtaG92ZXItY29sb3I6ICNmZmY7XG4gIGNvbG9yOiB2YXIoLS1icy10YWJsZS1jb2xvcik7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtdGFibGUtYm9yZGVyLWNvbG9yKTtcbn1cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xuICAudGFibGUtcmVzcG9uc2l2ZS1zbSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudGFibGUtcmVzcG9uc2l2ZS1tZCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAudGFibGUtcmVzcG9uc2l2ZS1sZyB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcbiAgLnRhYmxlLXJlc3BvbnNpdmUteGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTM5OS45OHB4KSB7XG4gIC50YWJsZS1yZXNwb25zaXZlLXh4bCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cbn1cbi5mb3JtLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4uY29sLWZvcm0tbGFiZWwge1xuICBwYWRkaW5nLXRvcDogY2FsYygwLjM3NXJlbSArIHZhcigtLWJzLWJvcmRlci13aWR0aCkpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygwLjM3NXJlbSArIHZhcigtLWJzLWJvcmRlci13aWR0aCkpO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1sZyB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDAuNXJlbSArIHZhcigtLWJzLWJvcmRlci13aWR0aCkpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygwLjVyZW0gKyB2YXIoLS1icy1ib3JkZXItd2lkdGgpKTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogY2FsYygwLjI1cmVtICsgdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDAuMjVyZW0gKyB2YXIoLS1icy1ib3JkZXItd2lkdGgpKTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbn1cblxuLmZvcm0tdGV4dCB7XG4gIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1jb2xvcik7XG59XG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1ib2R5LWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuZm9ybS1jb250cm9sIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4uZm9ybS1jb250cm9sW3R5cGU9ZmlsZV0ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmZvcm0tY29udHJvbFt0eXBlPWZpbGVdOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICBjb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWJvZHktYmcpO1xuICBib3JkZXItY29sb3I6ICM4MGJjZTA7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMjVyZW0gcmdiYSgwLCAxMjEsIDE5MiwgMC4yNSk7XG59XG4uZm9ybS1jb250cm9sOjotd2Via2l0LWRhdGUtYW5kLXRpbWUtdmFsdWUge1xuICBtaW4td2lkdGg6IDg1cHg7XG4gIGhlaWdodDogMS41ZW07XG4gIG1hcmdpbjogMDtcbn1cbi5mb3JtLWNvbnRyb2w6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwO1xufVxuLmZvcm0tY29udHJvbDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWNvbG9yKTtcbiAgb3BhY2l0eTogMTtcbn1cbi5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktYmcpO1xuICBvcGFjaXR5OiAxO1xufVxuLmZvcm0tY29udHJvbDo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtO1xuICBtYXJnaW46IC0wLjM3NXJlbSAtMC43NXJlbTtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IDAuNzVyZW07XG4gIGNvbG9yOiB2YXIoLS1icy1ib2R5LWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtdGVydGlhcnktYmcpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGJvcmRlci1pbmxpbmUtZW5kLXdpZHRoOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmZvcm0tY29udHJvbDo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5mb3JtLWNvbnRyb2w6aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1iZyk7XG59XG5cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjM3NXJlbSAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IHZhcigtLWJzLWJvcmRlci13aWR0aCkgMDtcbn1cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0OmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmZvcm0tY29udHJvbC1zbSwgLmZvcm0tY29udHJvbC1wbGFpbnRleHQuZm9ybS1jb250cm9sLWxnIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uZm9ybS1jb250cm9sLXNtIHtcbiAgbWluLWhlaWdodDogY2FsYygxLjVlbSArIDAuNXJlbSArIGNhbGModmFyKC0tYnMtYm9yZGVyLXdpZHRoKSAqIDIpKTtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtc20pO1xufVxuLmZvcm0tY29udHJvbC1zbTo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgbWFyZ2luOiAtMC4yNXJlbSAtMC41cmVtO1xuICBtYXJnaW4taW5saW5lLWVuZDogMC41cmVtO1xufVxuXG4uZm9ybS1jb250cm9sLWxnIHtcbiAgbWluLWhlaWdodDogY2FsYygxLjVlbSArIDFyZW0gKyBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAyKSk7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuLmZvcm0tY29udHJvbC1sZzo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgbWFyZ2luOiAtMC41cmVtIC0xcmVtO1xuICBtYXJnaW4taW5saW5lLWVuZDogMXJlbTtcbn1cblxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgbWluLWhlaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0gKyBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAyKSk7XG59XG50ZXh0YXJlYS5mb3JtLWNvbnRyb2wtc20ge1xuICBtaW4taGVpZ2h0OiBjYWxjKDEuNWVtICsgMC41cmVtICsgY2FsYyh2YXIoLS1icy1ib3JkZXItd2lkdGgpICogMikpO1xufVxudGV4dGFyZWEuZm9ybS1jb250cm9sLWxnIHtcbiAgbWluLWhlaWdodDogY2FsYygxLjVlbSArIDFyZW0gKyBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAyKSk7XG59XG5cbi5mb3JtLWNvbnRyb2wtY29sb3Ige1xuICB3aWR0aDogM3JlbTtcbiAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSArIGNhbGModmFyKC0tYnMtYm9yZGVyLXdpZHRoKSAqIDIpKTtcbiAgcGFkZGluZzogMC4zNzVyZW07XG59XG4uZm9ybS1jb250cm9sLWNvbG9yOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5mb3JtLWNvbnRyb2wtY29sb3I6Oi1tb3otY29sb3Itc3dhdGNoIHtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpO1xufVxuLmZvcm0tY29udHJvbC1jb2xvcjo6LXdlYmtpdC1jb2xvci1zd2F0Y2gge1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG59XG4uZm9ybS1jb250cm9sLWNvbG9yLmZvcm0tY29udHJvbC1zbSB7XG4gIGhlaWdodDogY2FsYygxLjVlbSArIDAuNXJlbSArIGNhbGModmFyKC0tYnMtYm9yZGVyLXdpZHRoKSAqIDIpKTtcbn1cbi5mb3JtLWNvbnRyb2wtY29sb3IuZm9ybS1jb250cm9sLWxnIHtcbiAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMXJlbSArIGNhbGModmFyKC0tYnMtYm9yZGVyLXdpZHRoKSAqIDIpKTtcbn1cblxuLmZvcm0tc2VsZWN0IHtcbiAgLS1icy1mb3JtLXNlbGVjdC1iZy1pbWc6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNlJTNjcGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyUyMzM0M2E0MCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J20yIDUgNiA2IDYtNicvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjM3NXJlbSAyLjI1cmVtIDAuMzc1cmVtIDAuNzVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1ib2R5LWJnKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tYnMtZm9ybS1zZWxlY3QtYmctaW1nKSwgdmFyKC0tYnMtZm9ybS1zZWxlY3QtYmctaWNvbiwgbm9uZSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuNzVyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTJweDtcbiAgYm9yZGVyOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuZm9ybS1zZWxlY3Qge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5mb3JtLXNlbGVjdDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzgwYmNlMDtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSByZ2JhKDAsIDEyMSwgMTkyLCAwLjI1KTtcbn1cbi5mb3JtLXNlbGVjdFttdWx0aXBsZV0sIC5mb3JtLXNlbGVjdFtzaXplXTpub3QoW3NpemU9XCIxXCJdKSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4uZm9ybS1zZWxlY3Q6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktYmcpO1xufVxuLmZvcm0tc2VsZWN0Oi1tb3otZm9jdXNyaW5nIHtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogMCAwIDAgdmFyKC0tYnMtYm9keS1jb2xvcik7XG59XG5cbi5mb3JtLXNlbGVjdC1zbSB7XG4gIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uZm9ybS1zZWxlY3QtbGcge1xuICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbltkYXRhLWJzLXRoZW1lPWRhcmtdIC5mb3JtLXNlbGVjdCB7XG4gIC0tYnMtZm9ybS1zZWxlY3QtYmctaW1nOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzZSUzY3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNkZWUyZTYnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdtMiA1IDYgNiA2LTYnLyUzZSUzYy9zdmclM2VcIik7XG59XG5cbi5mb3JtLWNoZWNrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IDEuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC4xMjVyZW07XG59XG4uZm9ybS1jaGVjayAuZm9ybS1jaGVjay1pbnB1dCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogLTEuNWVtO1xufVxuXG4uZm9ybS1jaGVjay1yZXZlcnNlIHtcbiAgcGFkZGluZy1yaWdodDogMS41ZW07XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4uZm9ybS1jaGVjay1yZXZlcnNlIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6IC0xLjVlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgLS1icy1mb3JtLWNoZWNrLWJnOiB2YXIoLS1icy1ib2R5LWJnKTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtO1xuICBtYXJnaW4tdG9wOiAwLjI1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWZvcm0tY2hlY2stYmcpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1icy1mb3JtLWNoZWNrLWJnLWltYWdlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJvcmRlcjogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1ib3JkZXItY29sb3IpO1xuICBwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xufVxuLmZvcm0tY2hlY2staW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICBib3JkZXItcmFkaXVzOiAwLjI1ZW07XG59XG4uZm9ybS1jaGVjay1pbnB1dFt0eXBlPXJhZGlvXSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cbi5mb3JtLWNoZWNrLWlucHV0OmFjdGl2ZSB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcyg5MCUpO1xufVxuLmZvcm0tY2hlY2staW5wdXQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM4MGJjZTA7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMjVyZW0gcmdiYSgwLCAxMjEsIDE5MiwgMC4yNSk7XG59XG4uZm9ybS1jaGVjay1pbnB1dDpjaGVja2VkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzlDMDtcbiAgYm9yZGVyLWNvbG9yOiAjMDA3OUMwO1xufVxuLmZvcm0tY2hlY2staW5wdXQ6Y2hlY2tlZFt0eXBlPWNoZWNrYm94XSB7XG4gIC0tYnMtZm9ybS1jaGVjay1iZy1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyMCclM2UlM2NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMycgZD0nbTYgMTAgMyAzIDYtNicvJTNlJTNjL3N2ZyUzZVwiKTtcbn1cbi5mb3JtLWNoZWNrLWlucHV0OmNoZWNrZWRbdHlwZT1yYWRpb10ge1xuICAtLWJzLWZvcm0tY2hlY2stYmctaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNlJTNjY2lyY2xlIHI9JzInIGZpbGw9JyUyM2ZmZicvJTNlJTNjL3N2ZyUzZVwiKTtcbn1cbi5mb3JtLWNoZWNrLWlucHV0W3R5cGU9Y2hlY2tib3hdOmluZGV0ZXJtaW5hdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3OUMwO1xuICBib3JkZXItY29sb3I6ICMwMDc5QzA7XG4gIC0tYnMtZm9ybS1jaGVjay1iZy1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyMCclM2UlM2NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMycgZD0nTTYgMTBoOCcvJTNlJTNjL3N2ZyUzZVwiKTtcbn1cbi5mb3JtLWNoZWNrLWlucHV0OmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGZpbHRlcjogbm9uZTtcbiAgb3BhY2l0eTogMC41O1xufVxuLmZvcm0tY2hlY2staW5wdXRbZGlzYWJsZWRdIH4gLmZvcm0tY2hlY2stbGFiZWwsIC5mb3JtLWNoZWNrLWlucHV0OmRpc2FibGVkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLmZvcm0tc3dpdGNoIHtcbiAgcGFkZGluZy1sZWZ0OiAyLjVlbTtcbn1cbi5mb3JtLXN3aXRjaCAuZm9ybS1jaGVjay1pbnB1dCB7XG4gIC0tYnMtZm9ybS1zd2l0Y2gtYmc6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNlJTNjY2lyY2xlIHI9JzMnIGZpbGw9J3JnYmElMjgwLCAwLCAwLCAwLjI1JTI5Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICB3aWR0aDogMmVtO1xuICBtYXJnaW4tbGVmdDogLTIuNWVtO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1icy1mb3JtLXN3aXRjaC1iZyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuZm9ybS1zd2l0Y2ggLmZvcm0tY2hlY2staW5wdXQge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5mb3JtLXN3aXRjaCAuZm9ybS1jaGVjay1pbnB1dDpmb2N1cyB7XG4gIC0tYnMtZm9ybS1zd2l0Y2gtYmc6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNlJTNjY2lyY2xlIHI9JzMnIGZpbGw9JyUyMzgwYmNlMCcvJTNlJTNjL3N2ZyUzZVwiKTtcbn1cbi5mb3JtLXN3aXRjaCAuZm9ybS1jaGVjay1pbnB1dDpjaGVja2VkIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICAtLWJzLWZvcm0tc3dpdGNoLWJnOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzZSUzY2NpcmNsZSByPSczJyBmaWxsPSclMjNmZmYnLyUzZSUzYy9zdmclM2VcIik7XG59XG4uZm9ybS1zd2l0Y2guZm9ybS1jaGVjay1yZXZlcnNlIHtcbiAgcGFkZGluZy1yaWdodDogMi41ZW07XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi5mb3JtLXN3aXRjaC5mb3JtLWNoZWNrLXJldmVyc2UgLmZvcm0tY2hlY2staW5wdXQge1xuICBtYXJnaW4tcmlnaHQ6IC0yLjVlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5mb3JtLWNoZWNrLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuXG4uYnRuLWNoZWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5idG4tY2hlY2tbZGlzYWJsZWRdICsgLmJ0biwgLmJ0bi1jaGVjazpkaXNhYmxlZCArIC5idG4ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgZmlsdGVyOiBub25lO1xuICBvcGFjaXR5OiAwLjY1O1xufVxuXG5bZGF0YS1icy10aGVtZT1kYXJrXSAuZm9ybS1zd2l0Y2ggLmZvcm0tY2hlY2staW5wdXQ6bm90KDpjaGVja2VkKTpub3QoOmZvY3VzKSB7XG4gIC0tYnMtZm9ybS1zd2l0Y2gtYmc6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNlJTNjY2lyY2xlIHI9JzMnIGZpbGw9J3JnYmElMjgyNTUsIDI1NSwgMjU1LCAwLjI1JTI5Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xufVxuXG4uZm9ybS1yYW5nZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uZm9ybS1yYW5nZTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG4uZm9ybS1yYW5nZTpmb2N1czo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgMC4yNXJlbSByZ2JhKDAsIDEyMSwgMTkyLCAwLjI1KTtcbn1cbi5mb3JtLXJhbmdlOmZvY3VzOjotbW96LXJhbmdlLXRodW1iIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmYsIDAgMCAwIDAuMjVyZW0gcmdiYSgwLCAxMjEsIDE5MiwgMC4yNSk7XG59XG4uZm9ybS1yYW5nZTo6LW1vei1mb2N1cy1vdXRlciB7XG4gIGJvcmRlcjogMDtcbn1cbi5mb3JtLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07XG4gIG1hcmdpbi10b3A6IC0wLjI1cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3OUMwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5mb3JtLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuLmZvcm0tcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXRodW1iOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiM2Q3ZWM7XG59XG4uZm9ybS1yYW5nZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktYmcpO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAxcmVtO1xufVxuLmZvcm0tcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3OUMwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5mb3JtLXJhbmdlOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4uZm9ybS1yYW5nZTo6LW1vei1yYW5nZS10aHVtYjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNkN2VjO1xufVxuLmZvcm0tcmFuZ2U6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktYmcpO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAxcmVtO1xufVxuLmZvcm0tcmFuZ2U6ZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5mb3JtLXJhbmdlOmRpc2FibGVkOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1jb2xvcik7XG59XG4uZm9ybS1yYW5nZTpkaXNhYmxlZDo6LW1vei1yYW5nZS10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1jb2xvcik7XG59XG5cbi5mb3JtLWZsb2F0aW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sLFxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tc2VsZWN0IHtcbiAgaGVpZ2h0OiBjYWxjKDMuNXJlbSArIGNhbGModmFyKC0tYnMtYm9yZGVyLXdpZHRoKSAqIDIpKTtcbiAgbWluLWhlaWdodDogY2FsYygzLjVyZW0gKyBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAyKSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xufVxuLmZvcm0tZmxvYXRpbmcgPiBsYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDFyZW0gMC43NXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYm9yZGVyOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuMXMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuZm9ybS1mbG9hdGluZyA+IGxhYmVsIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLWNvbnRyb2wsXG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgcGFkZGluZzogMXJlbSAwLjc1cmVtO1xufVxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sOjpwbGFjZWhvbGRlcixcbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sOmZvY3VzLCAuZm9ybS1mbG9hdGluZyA+IC5mb3JtLWNvbnRyb2w6bm90KDpwbGFjZWhvbGRlci1zaG93biksXG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0OmZvY3VzLFxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dDpub3QoOnBsYWNlaG9sZGVyLXNob3duKSB7XG4gIHBhZGRpbmctdG9wOiAxLjYyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtO1xufVxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwsXG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0Oi13ZWJraXQtYXV0b2ZpbGwge1xuICBwYWRkaW5nLXRvcDogMS42MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTtcbn1cbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tc2VsZWN0IHtcbiAgcGFkZGluZy10b3A6IDEuNjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07XG59XG4uZm9ybS1mbG9hdGluZyA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMgfiBsYWJlbCxcbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbDpub3QoOnBsYWNlaG9sZGVyLXNob3duKSB+IGxhYmVsLFxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCB+IGxhYmVsLFxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1zZWxlY3QgfiBsYWJlbCB7XG4gIGNvbG9yOiByZ2JhKHZhcigtLWJzLWJvZHktY29sb3ItcmdiKSwgMC42NSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC44NSkgdHJhbnNsYXRlWSgtMC41cmVtKSB0cmFuc2xhdGVYKDAuMTVyZW0pO1xufVxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sOmZvY3VzIH4gbGFiZWw6OmFmdGVyLFxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pIH4gbGFiZWw6OmFmdGVyLFxuLmZvcm0tZmxvYXRpbmcgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCB+IGxhYmVsOjphZnRlcixcbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tc2VsZWN0IH4gbGFiZWw6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMXJlbSAwLjM3NXJlbTtcbiAgei1pbmRleDogLTE7XG4gIGhlaWdodDogMS41ZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWJvZHktYmcpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTtcbn1cbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbDotd2Via2l0LWF1dG9maWxsIH4gbGFiZWwge1xuICBjb2xvcjogcmdiYSh2YXIoLS1icy1ib2R5LWNvbG9yLXJnYiksIDAuNjUpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuODUpIHRyYW5zbGF0ZVkoLTAuNXJlbSkgdHJhbnNsYXRlWCgwLjE1cmVtKTtcbn1cbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQgfiBsYWJlbCB7XG4gIGJvcmRlci13aWR0aDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSAwO1xufVxuLmZvcm0tZmxvYXRpbmcgPiA6ZGlzYWJsZWQgfiBsYWJlbCxcbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbDpkaXNhYmxlZCB+IGxhYmVsIHtcbiAgY29sb3I6ICM2Yzc1N2Q7XG59XG4uZm9ybS1mbG9hdGluZyA+IDpkaXNhYmxlZCB+IGxhYmVsOjphZnRlcixcbi5mb3JtLWZsb2F0aW5nID4gLmZvcm0tY29udHJvbDpkaXNhYmxlZCB+IGxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1iZyk7XG59XG5cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCU7XG59XG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwID4gLmZvcm0tc2VsZWN0LFxuLmlucHV0LWdyb3VwID4gLmZvcm0tZmxvYXRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICB3aWR0aDogMSU7XG4gIG1pbi13aWR0aDogMDtcbn1cbi5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1zZWxlY3Q6Zm9jdXMsXG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1mbG9hdGluZzpmb2N1cy13aXRoaW4ge1xuICB6LWluZGV4OiA1O1xufVxuLmlucHV0LWdyb3VwIC5idG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG59XG4uaW5wdXQtZ3JvdXAgLmJ0bjpmb2N1cyB7XG4gIHotaW5kZXg6IDU7XG59XG5cbi5pbnB1dC1ncm91cC10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtdGVydGlhcnktYmcpO1xuICBib3JkZXI6IHZhcigtLWJzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5idG4ge1xuICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmJ0biB7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tc2VsZWN0IHtcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcbn1cblxuLmlucHV0LWdyb3VwOm5vdCguaGFzLXZhbGlkYXRpb24pID4gOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpOm5vdCguZHJvcGRvd24tbWVudSk6bm90KC5mb3JtLWZsb2F0aW5nKSxcbi5pbnB1dC1ncm91cDpub3QoLmhhcy12YWxpZGF0aW9uKSA+IC5kcm9wZG93bi10b2dnbGU6bnRoLWxhc3QtY2hpbGQobiszKSxcbi5pbnB1dC1ncm91cDpub3QoLmhhcy12YWxpZGF0aW9uKSA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6bGFzdC1jaGlsZCkgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwOm5vdCguaGFzLXZhbGlkYXRpb24pID4gLmZvcm0tZmxvYXRpbmc6bm90KDpsYXN0LWNoaWxkKSA+IC5mb3JtLXNlbGVjdCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cbi5pbnB1dC1ncm91cC5oYXMtdmFsaWRhdGlvbiA+IDpudGgtbGFzdC1jaGlsZChuKzMpOm5vdCguZHJvcGRvd24tdG9nZ2xlKTpub3QoLmRyb3Bkb3duLW1lbnUpOm5vdCguZm9ybS1mbG9hdGluZyksXG4uaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24gPiAuZHJvcGRvd24tdG9nZ2xlOm50aC1sYXN0LWNoaWxkKG4rNCksXG4uaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24gPiAuZm9ybS1mbG9hdGluZzpudGgtbGFzdC1jaGlsZChuKzMpID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC5oYXMtdmFsaWRhdGlvbiA+IC5mb3JtLWZsb2F0aW5nOm50aC1sYXN0LWNoaWxkKG4rMykgPiAuZm9ybS1zZWxlY3Qge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG4uaW5wdXQtZ3JvdXAgPiA6bm90KDpmaXJzdC1jaGlsZCk6bm90KC5kcm9wZG93bi1tZW51KTpub3QoLnZhbGlkLXRvb2x0aXApOm5vdCgudmFsaWQtZmVlZGJhY2spOm5vdCguaW52YWxpZC10b29sdGlwKTpub3QoLmludmFsaWQtZmVlZGJhY2spIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tYnMtYm9yZGVyLXdpZHRoKSAqIC0xKTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbi5pbnB1dC1ncm91cCA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cCA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmZvcm0tc2VsZWN0IHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cblxuLnZhbGlkLWZlZWRiYWNrIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgY29sb3I6IHZhcigtLWJzLWZvcm0tdmFsaWQtY29sb3IpO1xufVxuXG4udmFsaWQtdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICB6LWluZGV4OiA1O1xuICBkaXNwbGF5OiBub25lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICBtYXJnaW4tdG9wOiAwLjFyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1zdWNjZXNzKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi53YXMtdmFsaWRhdGVkIDp2YWxpZCB+IC52YWxpZC1mZWVkYmFjayxcbi53YXMtdmFsaWRhdGVkIDp2YWxpZCB+IC52YWxpZC10b29sdGlwLFxuLmlzLXZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLFxuLmlzLXZhbGlkIH4gLnZhbGlkLXRvb2x0aXAge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZCwgLmZvcm0tY29udHJvbC5pcy12YWxpZCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtZm9ybS12YWxpZC1ib3JkZXItY29sb3IpO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZmlsbD0nJTIzMjhhNzQ1JyBkPSdNMi4zIDYuNzMuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzZSUzYy9zdmclM2VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNhbGMoMC4zNzVlbSArIDAuMTg3NXJlbSkgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMC43NWVtICsgMC4zNzVyZW0pIGNhbGMoMC43NWVtICsgMC4zNzVyZW0pO1xufVxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZDpmb2N1cywgLmZvcm0tY29udHJvbC5pcy12YWxpZDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtZm9ybS12YWxpZC1ib3JkZXItY29sb3IpO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEodmFyKC0tYnMtc3VjY2Vzcy1yZ2IpLCAwLjI1KTtcbn1cblxuLndhcy12YWxpZGF0ZWQgdGV4dGFyZWEuZm9ybS1jb250cm9sOnZhbGlkLCB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wuaXMtdmFsaWQge1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKDAuMzc1ZW0gKyAwLjE4NzVyZW0pIHJpZ2h0IGNhbGMoMC4zNzVlbSArIDAuMTg3NXJlbSk7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5mb3JtLXNlbGVjdDp2YWxpZCwgLmZvcm0tc2VsZWN0LmlzLXZhbGlkIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1mb3JtLXZhbGlkLWJvcmRlci1jb2xvcik7XG59XG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1zZWxlY3Q6dmFsaWQ6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLCAud2FzLXZhbGlkYXRlZCAuZm9ybS1zZWxlY3Q6dmFsaWQ6bm90KFttdWx0aXBsZV0pW3NpemU9XCIxXCJdLCAuZm9ybS1zZWxlY3QuaXMtdmFsaWQ6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLCAuZm9ybS1zZWxlY3QuaXMtdmFsaWQ6bm90KFttdWx0aXBsZV0pW3NpemU9XCIxXCJdIHtcbiAgLS1icy1mb3JtLXNlbGVjdC1iZy1pY29uOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGZpbGw9JyUyMzI4YTc0NScgZD0nTTIuMyA2LjczLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICBwYWRkaW5nLXJpZ2h0OiA0LjEyNXJlbTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMC43NXJlbSBjZW50ZXIsIGNlbnRlciByaWdodCAyLjI1cmVtO1xuICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTJweCwgY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSkgY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSk7XG59XG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1zZWxlY3Q6dmFsaWQ6Zm9jdXMsIC5mb3JtLXNlbGVjdC5pcy12YWxpZDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtZm9ybS12YWxpZC1ib3JkZXItY29sb3IpO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEodmFyKC0tYnMtc3VjY2Vzcy1yZ2IpLCAwLjI1KTtcbn1cblxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbC1jb2xvcjp2YWxpZCwgLmZvcm0tY29udHJvbC1jb2xvci5pcy12YWxpZCB7XG4gIHdpZHRoOiBjYWxjKDNyZW0gKyBjYWxjKDEuNWVtICsgMC43NXJlbSkpO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDp2YWxpZCwgLmZvcm0tY2hlY2staW5wdXQuaXMtdmFsaWQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yKTtcbn1cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OnZhbGlkOmNoZWNrZWQsIC5mb3JtLWNoZWNrLWlucHV0LmlzLXZhbGlkOmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1mb3JtLXZhbGlkLWNvbG9yKTtcbn1cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OnZhbGlkOmZvY3VzLCAuZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZDpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMjVyZW0gcmdiYSh2YXIoLS1icy1zdWNjZXNzLXJnYiksIDAuMjUpO1xufVxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6dmFsaWQgfiAuZm9ybS1jaGVjay1sYWJlbCwgLmZvcm0tY2hlY2staW5wdXQuaXMtdmFsaWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1icy1mb3JtLXZhbGlkLWNvbG9yKTtcbn1cblxuLmZvcm0tY2hlY2staW5saW5lIC5mb3JtLWNoZWNrLWlucHV0IH4gLnZhbGlkLWZlZWRiYWNrIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sOm5vdCg6Zm9jdXMpOnZhbGlkLCAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sOm5vdCg6Zm9jdXMpLmlzLXZhbGlkLFxuLndhcy12YWxpZGF0ZWQgLmlucHV0LWdyb3VwID4gLmZvcm0tc2VsZWN0Om5vdCg6Zm9jdXMpOnZhbGlkLFxuLmlucHV0LWdyb3VwID4gLmZvcm0tc2VsZWN0Om5vdCg6Zm9jdXMpLmlzLXZhbGlkLFxuLndhcy12YWxpZGF0ZWQgLmlucHV0LWdyb3VwID4gLmZvcm0tZmxvYXRpbmc6bm90KDpmb2N1cy13aXRoaW4pOnZhbGlkLFxuLmlucHV0LWdyb3VwID4gLmZvcm0tZmxvYXRpbmc6bm90KDpmb2N1cy13aXRoaW4pLmlzLXZhbGlkIHtcbiAgei1pbmRleDogMztcbn1cblxuLmludmFsaWQtZmVlZGJhY2sge1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xuICBjb2xvcjogdmFyKC0tYnMtZm9ybS1pbnZhbGlkLWNvbG9yKTtcbn1cblxuLmludmFsaWQtdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICB6LWluZGV4OiA1O1xuICBkaXNwbGF5OiBub25lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICBtYXJnaW4tdG9wOiAwLjFyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1kYW5nZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLndhcy12YWxpZGF0ZWQgOmludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjayxcbi53YXMtdmFsaWRhdGVkIDppbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCxcbi5pcy1pbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssXG4uaXMtaW52YWxpZCB+IC5pbnZhbGlkLXRvb2x0aXAge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkLCAuZm9ybS1jb250cm9sLmlzLWludmFsaWQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLWZvcm0taW52YWxpZC1ib3JkZXItY29sb3IpO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMyMDU4OEEnJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8lM2UlM2NwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nJTIzMjA1ODhBJyBzdHJva2U9J25vbmUnLyUzZSUzYy9zdmclM2VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNhbGMoMC4zNzVlbSArIDAuMTg3NXJlbSkgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMC43NWVtICsgMC4zNzVyZW0pIGNhbGMoMC43NWVtICsgMC4zNzVyZW0pO1xufVxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkOmZvY3VzLCAuZm9ybS1jb250cm9sLmlzLWludmFsaWQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLWZvcm0taW52YWxpZC1ib3JkZXItY29sb3IpO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEodmFyKC0tYnMtZGFuZ2VyLXJnYiksIDAuMjUpO1xufVxuXG4ud2FzLXZhbGlkYXRlZCB0ZXh0YXJlYS5mb3JtLWNvbnRyb2w6aW52YWxpZCwgdGV4dGFyZWEuZm9ybS1jb250cm9sLmlzLWludmFsaWQge1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKDAuMzc1ZW0gKyAwLjE4NzVyZW0pIHJpZ2h0IGNhbGMoMC4zNzVlbSArIDAuMTg3NXJlbSk7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5mb3JtLXNlbGVjdDppbnZhbGlkLCAuZm9ybS1zZWxlY3QuaXMtaW52YWxpZCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtZm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcik7XG59XG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1zZWxlY3Q6aW52YWxpZDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksIC53YXMtdmFsaWRhdGVkIC5mb3JtLXNlbGVjdDppbnZhbGlkOm5vdChbbXVsdGlwbGVdKVtzaXplPVwiMVwiXSwgLmZvcm0tc2VsZWN0LmlzLWludmFsaWQ6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLCAuZm9ybS1zZWxlY3QuaXMtaW52YWxpZDpub3QoW211bHRpcGxlXSlbc2l6ZT1cIjFcIl0ge1xuICAtLWJzLWZvcm0tc2VsZWN0LWJnLWljb246IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMyMDU4OEEnJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8lM2UlM2NwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nJTIzMjA1ODhBJyBzdHJva2U9J25vbmUnLyUzZSUzYy9zdmclM2VcIik7XG4gIHBhZGRpbmctcmlnaHQ6IDQuMTI1cmVtO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjc1cmVtIGNlbnRlciwgY2VudGVyIHJpZ2h0IDIuMjVyZW07XG4gIGJhY2tncm91bmQtc2l6ZTogMTZweCAxMnB4LCBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKSBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKTtcbn1cbi53YXMtdmFsaWRhdGVkIC5mb3JtLXNlbGVjdDppbnZhbGlkOmZvY3VzLCAuZm9ybS1zZWxlY3QuaXMtaW52YWxpZDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtZm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcik7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMjVyZW0gcmdiYSh2YXIoLS1icy1kYW5nZXItcmdiKSwgMC4yNSk7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2wtY29sb3I6aW52YWxpZCwgLmZvcm0tY29udHJvbC1jb2xvci5pcy1pbnZhbGlkIHtcbiAgd2lkdGg6IGNhbGMoM3JlbSArIGNhbGMoMS41ZW0gKyAwLjc1cmVtKSk7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OmludmFsaWQsIC5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLWZvcm0taW52YWxpZC1ib3JkZXItY29sb3IpO1xufVxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZDpjaGVja2VkLCAuZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkOmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1mb3JtLWludmFsaWQtY29sb3IpO1xufVxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZDpmb2N1cywgLmZvcm0tY2hlY2staW5wdXQuaXMtaW52YWxpZDpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMjVyZW0gcmdiYSh2YXIoLS1icy1kYW5nZXItcmdiKSwgMC4yNSk7XG59XG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDppbnZhbGlkIH4gLmZvcm0tY2hlY2stbGFiZWwsIC5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1icy1mb3JtLWludmFsaWQtY29sb3IpO1xufVxuXG4uZm9ybS1jaGVjay1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXQgfiAuaW52YWxpZC1mZWVkYmFjayB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbn1cblxuLndhcy12YWxpZGF0ZWQgLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbDpub3QoOmZvY3VzKTppbnZhbGlkLCAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sOm5vdCg6Zm9jdXMpLmlzLWludmFsaWQsXG4ud2FzLXZhbGlkYXRlZCAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1zZWxlY3Q6bm90KDpmb2N1cyk6aW52YWxpZCxcbi5pbnB1dC1ncm91cCA+IC5mb3JtLXNlbGVjdDpub3QoOmZvY3VzKS5pcy1pbnZhbGlkLFxuLndhcy12YWxpZGF0ZWQgLmlucHV0LWdyb3VwID4gLmZvcm0tZmxvYXRpbmc6bm90KDpmb2N1cy13aXRoaW4pOmludmFsaWQsXG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmZvY3VzLXdpdGhpbikuaXMtaW52YWxpZCB7XG4gIHotaW5kZXg6IDQ7XG59XG5cbi5idG4ge1xuICAtLWJzLWJ0bi1wYWRkaW5nLXg6IDAuNzVyZW07XG4gIC0tYnMtYnRuLXBhZGRpbmcteTogMC4zNzVyZW07XG4gIC0tYnMtYnRuLWZvbnQtZmFtaWx5OiA7XG4gIC0tYnMtYnRuLWZvbnQtc2l6ZTogMXJlbTtcbiAgLS1icy1idG4tZm9udC13ZWlnaHQ6IDQwMDtcbiAgLS1icy1idG4tbGluZS1oZWlnaHQ6IDEuNTtcbiAgLS1icy1idG4tY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpO1xuICAtLWJzLWJ0bi1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tYnMtYnRuLWJvcmRlci13aWR0aDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKTtcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS1icy1idG4tYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tYnMtYnRuLWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSwgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAwLjY1O1xuICAtLWJzLWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEodmFyKC0tYnMtYnRuLWZvY3VzLXNoYWRvdy1yZ2IpLCAuNSk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogdmFyKC0tYnMtYnRuLXBhZGRpbmcteSkgdmFyKC0tYnMtYnRuLXBhZGRpbmcteCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1icy1idG4tZm9udC1mYW1pbHkpO1xuICBmb250LXNpemU6IHZhcigtLWJzLWJ0bi1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogdmFyKC0tYnMtYnRuLWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWJzLWJ0bi1saW5lLWhlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icy1idG4tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJvcmRlcjogdmFyKC0tYnMtYnRuLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtYnRuLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJ0bi1ib3JkZXItcmFkaXVzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYnRuLWJnKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5idG4ge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5idG46aG92ZXIge1xuICBjb2xvcjogdmFyKC0tYnMtYnRuLWhvdmVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYnRuLWhvdmVyLWJnKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1idG4taG92ZXItYm9yZGVyLWNvbG9yKTtcbn1cbi5idG4tY2hlY2sgKyAuYnRuOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWJzLWJ0bi1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWJ0bi1iZyk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtYnRuLWJvcmRlci1jb2xvcik7XG59XG4uYnRuOmZvY3VzLXZpc2libGUge1xuICBjb2xvcjogdmFyKC0tYnMtYnRuLWhvdmVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYnRuLWhvdmVyLWJnKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1idG4taG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogdmFyKC0tYnMtYnRuLWZvY3VzLWJveC1zaGFkb3cpO1xufVxuLmJ0bi1jaGVjazpmb2N1cy12aXNpYmxlICsgLmJ0biB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IHZhcigtLWJzLWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbn1cbi5idG4tY2hlY2s6Y2hlY2tlZCArIC5idG4sIDpub3QoLmJ0bi1jaGVjaykgKyAuYnRuOmFjdGl2ZSwgLmJ0bjpmaXJzdC1jaGlsZDphY3RpdmUsIC5idG4uYWN0aXZlLCAuYnRuLnNob3cge1xuICBjb2xvcjogdmFyKC0tYnMtYnRuLWFjdGl2ZS1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWJ0bi1hY3RpdmUtYmcpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbn1cbi5idG4tY2hlY2s6Y2hlY2tlZCArIC5idG46Zm9jdXMtdmlzaWJsZSwgOm5vdCguYnRuLWNoZWNrKSArIC5idG46YWN0aXZlOmZvY3VzLXZpc2libGUsIC5idG46Zmlyc3QtY2hpbGQ6YWN0aXZlOmZvY3VzLXZpc2libGUsIC5idG4uYWN0aXZlOmZvY3VzLXZpc2libGUsIC5idG4uc2hvdzpmb2N1cy12aXNpYmxlIHtcbiAgYm94LXNoYWRvdzogdmFyKC0tYnMtYnRuLWZvY3VzLWJveC1zaGFkb3cpO1xufVxuLmJ0bjpkaXNhYmxlZCwgLmJ0bi5kaXNhYmxlZCwgZmllbGRzZXQ6ZGlzYWJsZWQgLmJ0biB7XG4gIGNvbG9yOiB2YXIoLS1icy1idG4tZGlzYWJsZWQtY29sb3IpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYnRuLWRpc2FibGVkLWJnKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yKTtcbiAgb3BhY2l0eTogdmFyKC0tYnMtYnRuLWRpc2FibGVkLW9wYWNpdHkpO1xufVxuXG4uYnRuLXByaW1hcnkge1xuICAtLWJzLWJ0bi1jb2xvcjogI2ZmZjtcbiAgLS1icy1idG4tYmc6ICMwMDc5QzA7XG4gIC0tYnMtYnRuLWJvcmRlci1jb2xvcjogIzAwNzlDMDtcbiAgLS1icy1idG4taG92ZXItY29sb3I6ICNmZmY7XG4gIC0tYnMtYnRuLWhvdmVyLWJnOiAjMDA2N2EzO1xuICAtLWJzLWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICMwMDYxOWE7XG4gIC0tYnMtYnRuLWZvY3VzLXNoYWRvdy1yZ2I6IDM4LCAxNDEsIDIwMTtcbiAgLS1icy1idG4tYWN0aXZlLWNvbG9yOiAjZmZmO1xuICAtLWJzLWJ0bi1hY3RpdmUtYmc6ICMwMDYxOWE7XG4gIC0tYnMtYnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICMwMDViOTA7XG4gIC0tYnMtYnRuLWFjdGl2ZS1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgLS1icy1idG4tZGlzYWJsZWQtY29sb3I6ICNmZmY7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJnOiAjMDA3OUMwO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICMwMDc5QzA7XG59XG5cbi5idG4tc2Vjb25kYXJ5IHtcbiAgLS1icy1idG4tY29sb3I6ICMwMDA7XG4gIC0tYnMtYnRuLWJnOiByZ2IoMjU1LCA3OCwgNDYpO1xuICAtLWJzLWJ0bi1ib3JkZXItY29sb3I6IHJnYigyNTUsIDc4LCA0Nik7XG4gIC0tYnMtYnRuLWhvdmVyLWNvbG9yOiAjMDAwO1xuICAtLWJzLWJ0bi1ob3Zlci1iZzogI2ZmNjk0ZDtcbiAgLS1icy1idG4taG92ZXItYm9yZGVyLWNvbG9yOiAjZmY2MDQzO1xuICAtLWJzLWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAyMTcsIDY2LCAzOTtcbiAgLS1icy1idG4tYWN0aXZlLWNvbG9yOiAjMDAwO1xuICAtLWJzLWJ0bi1hY3RpdmUtYmc6ICNmZjcxNTg7XG4gIC0tYnMtYnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICNmZjYwNDM7XG4gIC0tYnMtYnRuLWFjdGl2ZS1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgLS1icy1idG4tZGlzYWJsZWQtY29sb3I6ICMwMDA7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJnOiByZ2IoMjU1LCA3OCwgNDYpO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6IHJnYigyNTUsIDc4LCA0Nik7XG59XG5cbi5idG4tc3VjY2VzcyB7XG4gIC0tYnMtYnRuLWNvbG9yOiAjMDAwO1xuICAtLWJzLWJ0bi1iZzogIzI4YTc0NTtcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiAjMjhhNzQ1O1xuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4taG92ZXItYmc6ICM0OGI0NjE7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogIzNlYjA1ODtcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogMzQsIDE0MiwgNTk7XG4gIC0tYnMtYnRuLWFjdGl2ZS1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4tYWN0aXZlLWJnOiAjNTNiOTZhO1xuICAtLWJzLWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjM2ViMDU4O1xuICAtLWJzLWJ0bi1hY3RpdmUtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWNvbG9yOiAjMDAwO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1iZzogIzI4YTc0NTtcbiAgLS1icy1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjMjhhNzQ1O1xufVxuXG4uYnRuLWluZm8ge1xuICAtLWJzLWJ0bi1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4tYmc6ICMxN2EyYjg7XG4gIC0tYnMtYnRuLWJvcmRlci1jb2xvcjogIzE3YTJiODtcbiAgLS1icy1idG4taG92ZXItY29sb3I6ICMwMDA7XG4gIC0tYnMtYnRuLWhvdmVyLWJnOiAjM2FiMGMzO1xuICAtLWJzLWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICMyZWFiYmY7XG4gIC0tYnMtYnRuLWZvY3VzLXNoYWRvdy1yZ2I6IDIwLCAxMzgsIDE1NjtcbiAgLS1icy1idG4tYWN0aXZlLWNvbG9yOiAjMDAwO1xuICAtLWJzLWJ0bi1hY3RpdmUtYmc6ICM0NWI1YzY7XG4gIC0tYnMtYnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICMyZWFiYmY7XG4gIC0tYnMtYnRuLWFjdGl2ZS1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgLS1icy1idG4tZGlzYWJsZWQtY29sb3I6ICMwMDA7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJnOiAjMTdhMmI4O1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICMxN2EyYjg7XG59XG5cbi5idG4td2FybmluZyB7XG4gIC0tYnMtYnRuLWNvbG9yOiAjMDAwO1xuICAtLWJzLWJ0bi1iZzogI2ZmYzEwNztcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiAjZmZjMTA3O1xuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4taG92ZXItYmc6ICNmZmNhMmM7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogI2ZmYzcyMDtcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogMjE3LCAxNjQsIDY7XG4gIC0tYnMtYnRuLWFjdGl2ZS1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4tYWN0aXZlLWJnOiAjZmZjZDM5O1xuICAtLWJzLWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjZmZjNzIwO1xuICAtLWJzLWJ0bi1hY3RpdmUtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWNvbG9yOiAjMDAwO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1iZzogI2ZmYzEwNztcbiAgLS1icy1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjZmZjMTA3O1xufVxuXG4uYnRuLWRhbmdlciB7XG4gIC0tYnMtYnRuLWNvbG9yOiAjZmZmO1xuICAtLWJzLWJ0bi1iZzogIzIwNTg4QTtcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiAjMjA1ODhBO1xuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogI2ZmZjtcbiAgLS1icy1idG4taG92ZXItYmc6ICMxYjRiNzU7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogIzFhNDY2ZTtcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogNjUsIDExMywgMTU2O1xuICAtLWJzLWJ0bi1hY3RpdmUtY29sb3I6ICNmZmY7XG4gIC0tYnMtYnRuLWFjdGl2ZS1iZzogIzFhNDY2ZTtcbiAgLS1icy1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogIzE4NDI2ODtcbiAgLS1icy1idG4tYWN0aXZlLXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1jb2xvcjogI2ZmZjtcbiAgLS1icy1idG4tZGlzYWJsZWQtYmc6ICMyMDU4OEE7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogIzIwNTg4QTtcbn1cblxuLmJ0bi1saWdodCB7XG4gIC0tYnMtYnRuLWNvbG9yOiAjMDAwO1xuICAtLWJzLWJ0bi1iZzogI2Y4ZjlmYTtcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiAjZjhmOWZhO1xuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4taG92ZXItYmc6ICNkM2Q0ZDU7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogI2M2YzdjODtcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogMjExLCAyMTIsIDIxMztcbiAgLS1icy1idG4tYWN0aXZlLWNvbG9yOiAjMDAwO1xuICAtLWJzLWJ0bi1hY3RpdmUtYmc6ICNjNmM3Yzg7XG4gIC0tYnMtYnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICNiYWJiYmM7XG4gIC0tYnMtYnRuLWFjdGl2ZS1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgLS1icy1idG4tZGlzYWJsZWQtY29sb3I6ICMwMDA7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJnOiAjZjhmOWZhO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICNmOGY5ZmE7XG59XG5cbi5idG4tZGFyayB7XG4gIC0tYnMtYnRuLWNvbG9yOiAjZmZmO1xuICAtLWJzLWJ0bi1iZzogIzM0M2E0MDtcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiAjMzQzYTQwO1xuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogI2ZmZjtcbiAgLS1icy1idG4taG92ZXItYmc6ICM1MjU4NWQ7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogIzQ4NGU1MztcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogODIsIDg4LCA5MztcbiAgLS1icy1idG4tYWN0aXZlLWNvbG9yOiAjZmZmO1xuICAtLWJzLWJ0bi1hY3RpdmUtYmc6ICM1ZDYxNjY7XG4gIC0tYnMtYnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICM0ODRlNTM7XG4gIC0tYnMtYnRuLWFjdGl2ZS1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgLS1icy1idG4tZGlzYWJsZWQtY29sb3I6ICNmZmY7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJnOiAjMzQzYTQwO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICMzNDNhNDA7XG59XG5cbi5idG4tb3V0bGluZS1wcmltYXJ5IHtcbiAgLS1icy1idG4tY29sb3I6ICMwMDc5QzA7XG4gIC0tYnMtYnRuLWJvcmRlci1jb2xvcjogIzAwNzlDMDtcbiAgLS1icy1idG4taG92ZXItY29sb3I6ICNmZmY7XG4gIC0tYnMtYnRuLWhvdmVyLWJnOiAjMDA3OUMwO1xuICAtLWJzLWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICMwMDc5QzA7XG4gIC0tYnMtYnRuLWZvY3VzLXNoYWRvdy1yZ2I6IDAsIDEyMSwgMTkyO1xuICAtLWJzLWJ0bi1hY3RpdmUtY29sb3I6ICNmZmY7XG4gIC0tYnMtYnRuLWFjdGl2ZS1iZzogIzAwNzlDMDtcbiAgLS1icy1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogIzAwNzlDMDtcbiAgLS1icy1idG4tYWN0aXZlLXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1jb2xvcjogIzAwNzlDMDtcbiAgLS1icy1idG4tZGlzYWJsZWQtYmc6IHRyYW5zcGFyZW50O1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICMwMDc5QzA7XG4gIC0tYnMtZ3JhZGllbnQ6IG5vbmU7XG59XG5cbi5idG4tb3V0bGluZS1zZWNvbmRhcnkge1xuICAtLWJzLWJ0bi1jb2xvcjogcmdiKDI1NSwgNzgsIDQ2KTtcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiByZ2IoMjU1LCA3OCwgNDYpO1xuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4taG92ZXItYmc6IHJnYigyNTUsIDc4LCA0Nik7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogcmdiKDI1NSwgNzgsIDQ2KTtcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogMjU1LCA3OCwgNDY7XG4gIC0tYnMtYnRuLWFjdGl2ZS1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4tYWN0aXZlLWJnOiByZ2IoMjU1LCA3OCwgNDYpO1xuICAtLWJzLWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiByZ2IoMjU1LCA3OCwgNDYpO1xuICAtLWJzLWJ0bi1hY3RpdmUtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWNvbG9yOiByZ2IoMjU1LCA3OCwgNDYpO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogcmdiKDI1NSwgNzgsIDQ2KTtcbiAgLS1icy1ncmFkaWVudDogbm9uZTtcbn1cblxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3Mge1xuICAtLWJzLWJ0bi1jb2xvcjogIzI4YTc0NTtcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiAjMjhhNzQ1O1xuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4taG92ZXItYmc6ICMyOGE3NDU7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogIzI4YTc0NTtcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogNDAsIDE2NywgNjk7XG4gIC0tYnMtYnRuLWFjdGl2ZS1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4tYWN0aXZlLWJnOiAjMjhhNzQ1O1xuICAtLWJzLWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjMjhhNzQ1O1xuICAtLWJzLWJ0bi1hY3RpdmUtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWNvbG9yOiAjMjhhNzQ1O1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogIzI4YTc0NTtcbiAgLS1icy1ncmFkaWVudDogbm9uZTtcbn1cblxuLmJ0bi1vdXRsaW5lLWluZm8ge1xuICAtLWJzLWJ0bi1jb2xvcjogIzE3YTJiODtcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiAjMTdhMmI4O1xuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4taG92ZXItYmc6ICMxN2EyYjg7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogIzE3YTJiODtcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogMjMsIDE2MiwgMTg0O1xuICAtLWJzLWJ0bi1hY3RpdmUtY29sb3I6ICMwMDA7XG4gIC0tYnMtYnRuLWFjdGl2ZS1iZzogIzE3YTJiODtcbiAgLS1icy1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogIzE3YTJiODtcbiAgLS1icy1idG4tYWN0aXZlLXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1jb2xvcjogIzE3YTJiODtcbiAgLS1icy1idG4tZGlzYWJsZWQtYmc6IHRyYW5zcGFyZW50O1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICMxN2EyYjg7XG4gIC0tYnMtZ3JhZGllbnQ6IG5vbmU7XG59XG5cbi5idG4tb3V0bGluZS13YXJuaW5nIHtcbiAgLS1icy1idG4tY29sb3I6ICNmZmMxMDc7XG4gIC0tYnMtYnRuLWJvcmRlci1jb2xvcjogI2ZmYzEwNztcbiAgLS1icy1idG4taG92ZXItY29sb3I6ICMwMDA7XG4gIC0tYnMtYnRuLWhvdmVyLWJnOiAjZmZjMTA3O1xuICAtLWJzLWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICNmZmMxMDc7XG4gIC0tYnMtYnRuLWZvY3VzLXNoYWRvdy1yZ2I6IDI1NSwgMTkzLCA3O1xuICAtLWJzLWJ0bi1hY3RpdmUtY29sb3I6ICMwMDA7XG4gIC0tYnMtYnRuLWFjdGl2ZS1iZzogI2ZmYzEwNztcbiAgLS1icy1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogI2ZmYzEwNztcbiAgLS1icy1idG4tYWN0aXZlLXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1jb2xvcjogI2ZmYzEwNztcbiAgLS1icy1idG4tZGlzYWJsZWQtYmc6IHRyYW5zcGFyZW50O1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICNmZmMxMDc7XG4gIC0tYnMtZ3JhZGllbnQ6IG5vbmU7XG59XG5cbi5idG4tb3V0bGluZS1kYW5nZXIge1xuICAtLWJzLWJ0bi1jb2xvcjogIzIwNTg4QTtcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiAjMjA1ODhBO1xuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogI2ZmZjtcbiAgLS1icy1idG4taG92ZXItYmc6ICMyMDU4OEE7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogIzIwNTg4QTtcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogMzIsIDg4LCAxMzg7XG4gIC0tYnMtYnRuLWFjdGl2ZS1jb2xvcjogI2ZmZjtcbiAgLS1icy1idG4tYWN0aXZlLWJnOiAjMjA1ODhBO1xuICAtLWJzLWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjMjA1ODhBO1xuICAtLWJzLWJ0bi1hY3RpdmUtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWNvbG9yOiAjMjA1ODhBO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogIzIwNTg4QTtcbiAgLS1icy1ncmFkaWVudDogbm9uZTtcbn1cblxuLmJ0bi1vdXRsaW5lLWxpZ2h0IHtcbiAgLS1icy1idG4tY29sb3I6ICNmOGY5ZmE7XG4gIC0tYnMtYnRuLWJvcmRlci1jb2xvcjogI2Y4ZjlmYTtcbiAgLS1icy1idG4taG92ZXItY29sb3I6ICMwMDA7XG4gIC0tYnMtYnRuLWhvdmVyLWJnOiAjZjhmOWZhO1xuICAtLWJzLWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICNmOGY5ZmE7XG4gIC0tYnMtYnRuLWZvY3VzLXNoYWRvdy1yZ2I6IDI0OCwgMjQ5LCAyNTA7XG4gIC0tYnMtYnRuLWFjdGl2ZS1jb2xvcjogIzAwMDtcbiAgLS1icy1idG4tYWN0aXZlLWJnOiAjZjhmOWZhO1xuICAtLWJzLWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjZjhmOWZhO1xuICAtLWJzLWJ0bi1hY3RpdmUtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWNvbG9yOiAjZjhmOWZhO1xuICAtLWJzLWJ0bi1kaXNhYmxlZC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogI2Y4ZjlmYTtcbiAgLS1icy1ncmFkaWVudDogbm9uZTtcbn1cblxuLmJ0bi1vdXRsaW5lLWRhcmsge1xuICAtLWJzLWJ0bi1jb2xvcjogIzM0M2E0MDtcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiAjMzQzYTQwO1xuICAtLWJzLWJ0bi1ob3Zlci1jb2xvcjogI2ZmZjtcbiAgLS1icy1idG4taG92ZXItYmc6ICMzNDNhNDA7XG4gIC0tYnMtYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogIzM0M2E0MDtcbiAgLS1icy1idG4tZm9jdXMtc2hhZG93LXJnYjogNTIsIDU4LCA2NDtcbiAgLS1icy1idG4tYWN0aXZlLWNvbG9yOiAjZmZmO1xuICAtLWJzLWJ0bi1hY3RpdmUtYmc6ICMzNDNhNDA7XG4gIC0tYnMtYnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICMzNDNhNDA7XG4gIC0tYnMtYnRuLWFjdGl2ZS1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgLS1icy1idG4tZGlzYWJsZWQtY29sb3I6ICMzNDNhNDA7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJnOiB0cmFuc3BhcmVudDtcbiAgLS1icy1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjMzQzYTQwO1xuICAtLWJzLWdyYWRpZW50OiBub25lO1xufVxuXG4uYnRuLWxpbmsge1xuICAtLWJzLWJ0bi1mb250LXdlaWdodDogNDAwO1xuICAtLWJzLWJ0bi1jb2xvcjogdmFyKC0tYnMtbGluay1jb2xvcik7XG4gIC0tYnMtYnRuLWJnOiB0cmFuc3BhcmVudDtcbiAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS1icy1idG4taG92ZXItY29sb3I6IHZhcigtLWJzLWxpbmstaG92ZXItY29sb3IpO1xuICAtLWJzLWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLWJzLWJ0bi1hY3RpdmUtY29sb3I6IHZhcigtLWJzLWxpbmstaG92ZXItY29sb3IpO1xuICAtLWJzLWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS1icy1idG4tZGlzYWJsZWQtY29sb3I6ICM2Yzc1N2Q7XG4gIC0tYnMtYnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tYnMtYnRuLWJveC1zaGFkb3c6IDAgMCAwICMwMDA7XG4gIC0tYnMtYnRuLWZvY3VzLXNoYWRvdy1yZ2I6IDM4LCAxNDEsIDIwMTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmJ0bi1saW5rOmZvY3VzLXZpc2libGUge1xuICBjb2xvcjogdmFyKC0tYnMtYnRuLWNvbG9yKTtcbn1cbi5idG4tbGluazpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1icy1idG4taG92ZXItY29sb3IpO1xufVxuXG4uYnRuLWxnLCAuYnRuLWdyb3VwLWxnID4gLmJ0biB7XG4gIC0tYnMtYnRuLXBhZGRpbmcteTogMC41cmVtO1xuICAtLWJzLWJ0bi1wYWRkaW5nLXg6IDFyZW07XG4gIC0tYnMtYnRuLWZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgLS1icy1idG4tYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5idG4tc20sIC5idG4tZ3JvdXAtc20gPiAuYnRuIHtcbiAgLS1icy1idG4tcGFkZGluZy15OiAwLjI1cmVtO1xuICAtLWJzLWJ0bi1wYWRkaW5nLXg6IDAuNXJlbTtcbiAgLS1icy1idG4tZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgLS1icy1idG4tYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5mYWRlIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuZmFkZSB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuLmZhZGU6bm90KC5zaG93KSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5jb2xsYXBzZTpub3QoLnNob3cpIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNvbGxhcHNpbmcge1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjM1cyBlYXNlO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmNvbGxhcHNpbmcge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5jb2xsYXBzaW5nLmNvbGxhcHNlLWhvcml6b250YWwge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjM1cyBlYXNlO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmNvbGxhcHNpbmcuY29sbGFwc2UtaG9yaXpvbnRhbCB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuXG4uZHJvcHVwLFxuLmRyb3BlbmQsXG4uZHJvcGRvd24sXG4uZHJvcHN0YXJ0LFxuLmRyb3B1cC1jZW50ZXIsXG4uZHJvcGRvd24tY2VudGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC4yNTVlbTtcbiAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci10b3A6IDAuM2VtIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG59XG4uZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uZHJvcGRvd24tbWVudSB7XG4gIC0tYnMtZHJvcGRvd24temluZGV4OiAxMDAwO1xuICAtLWJzLWRyb3Bkb3duLW1pbi13aWR0aDogMTByZW07XG4gIC0tYnMtZHJvcGRvd24tcGFkZGluZy14OiAwO1xuICAtLWJzLWRyb3Bkb3duLXBhZGRpbmcteTogMC41cmVtO1xuICAtLWJzLWRyb3Bkb3duLXNwYWNlcjogMC4xMjVyZW07XG4gIC0tYnMtZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuICAtLWJzLWRyb3Bkb3duLWNvbG9yOiB2YXIoLS1icy1ib2R5LWNvbG9yKTtcbiAgLS1icy1kcm9wZG93bi1iZzogdmFyKC0tYnMtYm9keS1iZyk7XG4gIC0tYnMtZHJvcGRvd24tYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpO1xuICAtLWJzLWRyb3Bkb3duLWJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpO1xuICAtLWJzLWRyb3Bkb3duLWJvcmRlci13aWR0aDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKTtcbiAgLS1icy1kcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJzLWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSk7XG4gIC0tYnMtZHJvcGRvd24tZGl2aWRlci1iZzogdmFyKC0tYnMtYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KTtcbiAgLS1icy1kcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15OiAwLjVyZW07XG4gIC0tYnMtZHJvcGRvd24tYm94LXNoYWRvdzogdmFyKC0tYnMtYm94LXNoYWRvdyk7XG4gIC0tYnMtZHJvcGRvd24tbGluay1jb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7XG4gIC0tYnMtZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7XG4gIC0tYnMtZHJvcGRvd24tbGluay1ob3Zlci1iZzogdmFyKC0tYnMtdGVydGlhcnktYmcpO1xuICAtLWJzLWRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAjZmZmO1xuICAtLWJzLWRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAjMDA3OUMwO1xuICAtLWJzLWRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6IHZhcigtLWJzLXRlcnRpYXJ5LWNvbG9yKTtcbiAgLS1icy1kcm9wZG93bi1pdGVtLXBhZGRpbmcteDogMXJlbTtcbiAgLS1icy1kcm9wZG93bi1pdGVtLXBhZGRpbmcteTogMC4yNXJlbTtcbiAgLS1icy1kcm9wZG93bi1oZWFkZXItY29sb3I6ICM2Yzc1N2Q7XG4gIC0tYnMtZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteDogMXJlbTtcbiAgLS1icy1kcm9wZG93bi1oZWFkZXItcGFkZGluZy15OiAwLjVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogdmFyKC0tYnMtZHJvcGRvd24temluZGV4KTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiB2YXIoLS1icy1kcm9wZG93bi1taW4td2lkdGgpO1xuICBwYWRkaW5nOiB2YXIoLS1icy1kcm9wZG93bi1wYWRkaW5nLXkpIHZhcigtLWJzLWRyb3Bkb3duLXBhZGRpbmcteCk7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiB2YXIoLS1icy1kcm9wZG93bi1mb250LXNpemUpO1xuICBjb2xvcjogdmFyKC0tYnMtZHJvcGRvd24tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1kcm9wZG93bi1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogdmFyKC0tYnMtZHJvcGRvd24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1kcm9wZG93bi1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1kcm9wZG93bi1ib3JkZXItcmFkaXVzKTtcbn1cbi5kcm9wZG93bi1tZW51W2RhdGEtYnMtcG9wcGVyXSB7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogdmFyKC0tYnMtZHJvcGRvd24tc3BhY2VyKTtcbn1cblxuLmRyb3Bkb3duLW1lbnUtc3RhcnQge1xuICAtLWJzLXBvc2l0aW9uOiBzdGFydDtcbn1cbi5kcm9wZG93bi1tZW51LXN0YXJ0W2RhdGEtYnMtcG9wcGVyXSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xufVxuXG4uZHJvcGRvd24tbWVudS1lbmQge1xuICAtLWJzLXBvc2l0aW9uOiBlbmQ7XG59XG4uZHJvcGRvd24tbWVudS1lbmRbZGF0YS1icy1wb3BwZXJdIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAuZHJvcGRvd24tbWVudS1zbS1zdGFydCB7XG4gICAgLS1icy1wb3NpdGlvbjogc3RhcnQ7XG4gIH1cbiAgLmRyb3Bkb3duLW1lbnUtc20tc3RhcnRbZGF0YS1icy1wb3BwZXJdIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC5kcm9wZG93bi1tZW51LXNtLWVuZCB7XG4gICAgLS1icy1wb3NpdGlvbjogZW5kO1xuICB9XG4gIC5kcm9wZG93bi1tZW51LXNtLWVuZFtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZHJvcGRvd24tbWVudS1tZC1zdGFydCB7XG4gICAgLS1icy1wb3NpdGlvbjogc3RhcnQ7XG4gIH1cbiAgLmRyb3Bkb3duLW1lbnUtbWQtc3RhcnRbZGF0YS1icy1wb3BwZXJdIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC5kcm9wZG93bi1tZW51LW1kLWVuZCB7XG4gICAgLS1icy1wb3NpdGlvbjogZW5kO1xuICB9XG4gIC5kcm9wZG93bi1tZW51LW1kLWVuZFtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZHJvcGRvd24tbWVudS1sZy1zdGFydCB7XG4gICAgLS1icy1wb3NpdGlvbjogc3RhcnQ7XG4gIH1cbiAgLmRyb3Bkb3duLW1lbnUtbGctc3RhcnRbZGF0YS1icy1wb3BwZXJdIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC5kcm9wZG93bi1tZW51LWxnLWVuZCB7XG4gICAgLS1icy1wb3NpdGlvbjogZW5kO1xuICB9XG4gIC5kcm9wZG93bi1tZW51LWxnLWVuZFtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmRyb3Bkb3duLW1lbnUteGwtc3RhcnQge1xuICAgIC0tYnMtcG9zaXRpb246IHN0YXJ0O1xuICB9XG4gIC5kcm9wZG93bi1tZW51LXhsLXN0YXJ0W2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxuICAuZHJvcGRvd24tbWVudS14bC1lbmQge1xuICAgIC0tYnMtcG9zaXRpb246IGVuZDtcbiAgfVxuICAuZHJvcGRvd24tbWVudS14bC1lbmRbZGF0YS1icy1wb3BwZXJdIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5kcm9wZG93bi1tZW51LXh4bC1zdGFydCB7XG4gICAgLS1icy1wb3NpdGlvbjogc3RhcnQ7XG4gIH1cbiAgLmRyb3Bkb3duLW1lbnUteHhsLXN0YXJ0W2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxuICAuZHJvcGRvd24tbWVudS14eGwtZW5kIHtcbiAgICAtLWJzLXBvc2l0aW9uOiBlbmQ7XG4gIH1cbiAgLmRyb3Bkb3duLW1lbnUteHhsLWVuZFtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cbi5kcm9wdXAgLmRyb3Bkb3duLW1lbnVbZGF0YS1icy1wb3BwZXJdIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDEwMCU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWJzLWRyb3Bkb3duLXNwYWNlcik7XG59XG4uZHJvcHVwIC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC4yNTVlbTtcbiAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDAuM2VtIHNvbGlkO1xuICBib3JkZXItbGVmdDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG59XG4uZHJvcHVwIC5kcm9wZG93bi10b2dnbGU6ZW1wdHk6OmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5kcm9wZW5kIC5kcm9wZG93bi1tZW51W2RhdGEtYnMtcG9wcGVyXSB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1icy1kcm9wZG93bi1zcGFjZXIpO1xufVxuLmRyb3BlbmQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1NWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogMC4yNTVlbTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXRvcDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAwLjNlbSBzb2xpZDtcbn1cbi5kcm9wZW5kIC5kcm9wZG93bi10b2dnbGU6ZW1wdHk6OmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uZHJvcGVuZCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIHZlcnRpY2FsLWFsaWduOiAwO1xufVxuXG4uZHJvcHN0YXJ0IC5kcm9wZG93bi1tZW51W2RhdGEtYnMtcG9wcGVyXSB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tYnMtZHJvcGRvd24tc3BhY2VyKTtcbn1cbi5kcm9wc3RhcnQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1NWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogMC4yNTVlbTtcbiAgY29udGVudDogXCJcIjtcbn1cbi5kcm9wc3RhcnQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmRyb3BzdGFydCAuZHJvcGRvd24tdG9nZ2xlOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC4yNTVlbTtcbiAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci10b3A6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDAuM2VtIHNvbGlkO1xuICBib3JkZXItYm90dG9tOiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcbn1cbi5kcm9wc3RhcnQgLmRyb3Bkb3duLXRvZ2dsZTplbXB0eTo6YWZ0ZXIge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5kcm9wc3RhcnQgLmRyb3Bkb3duLXRvZ2dsZTo6YmVmb3JlIHtcbiAgdmVydGljYWwtYWxpZ246IDA7XG59XG5cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IHZhcigtLWJzLWRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXkpIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1icy1kcm9wZG93bi1kaXZpZGVyLWJnKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IHZhcigtLWJzLWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15KSB2YXIoLS1icy1kcm9wZG93bi1pdGVtLXBhZGRpbmcteCk7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogdmFyKC0tYnMtZHJvcGRvd24tbGluay1jb2xvcik7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWRyb3Bkb3duLWl0ZW0tYm9yZGVyLXJhZGl1cywgMCk7XG59XG4uZHJvcGRvd24taXRlbTpob3ZlciwgLmRyb3Bkb3duLWl0ZW06Zm9jdXMge1xuICBjb2xvcjogdmFyKC0tYnMtZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWRyb3Bkb3duLWxpbmstaG92ZXItYmcpO1xufVxuLmRyb3Bkb3duLWl0ZW0uYWN0aXZlLCAuZHJvcGRvd24taXRlbTphY3RpdmUge1xuICBjb2xvcjogdmFyKC0tYnMtZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWRyb3Bkb3duLWxpbmstYWN0aXZlLWJnKTtcbn1cbi5kcm9wZG93bi1pdGVtLmRpc2FibGVkLCAuZHJvcGRvd24taXRlbTpkaXNhYmxlZCB7XG4gIGNvbG9yOiB2YXIoLS1icy1kcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uZHJvcGRvd24tbWVudS5zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tYnMtZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteSkgdmFyKC0tYnMtZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiB2YXIoLS1icy1kcm9wZG93bi1oZWFkZXItY29sb3IpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZHJvcGRvd24taXRlbS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLWJzLWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15KSB2YXIoLS1icy1kcm9wZG93bi1pdGVtLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS1icy1kcm9wZG93bi1saW5rLWNvbG9yKTtcbn1cblxuLmRyb3Bkb3duLW1lbnUtZGFyayB7XG4gIC0tYnMtZHJvcGRvd24tY29sb3I6ICNkZWUyZTY7XG4gIC0tYnMtZHJvcGRvd24tYmc6ICMzNDNhNDA7XG4gIC0tYnMtZHJvcGRvd24tYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpO1xuICAtLWJzLWRyb3Bkb3duLWJveC1zaGFkb3c6IDtcbiAgLS1icy1kcm9wZG93bi1saW5rLWNvbG9yOiAjZGVlMmU2O1xuICAtLWJzLWRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICNmZmY7XG4gIC0tYnMtZHJvcGRvd24tZGl2aWRlci1iZzogdmFyKC0tYnMtYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KTtcbiAgLS1icy1kcm9wZG93bi1saW5rLWhvdmVyLWJnOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICAtLWJzLWRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAjZmZmO1xuICAtLWJzLWRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAjMDA3OUMwO1xuICAtLWJzLWRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICNhZGI1YmQ7XG4gIC0tYnMtZHJvcGRvd24taGVhZGVyLWNvbG9yOiAjYWRiNWJkO1xufVxuXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uYnRuLWdyb3VwID4gLmJ0bixcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAxIDEgYXV0bztcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLFxuLmJ0bi1ncm91cCA+IC5idG4tY2hlY2s6Zm9jdXMgKyAuYnRuLFxuLmJ0bi1ncm91cCA+IC5idG46aG92ZXIsXG4uYnRuLWdyb3VwID4gLmJ0bjpmb2N1cyxcbi5idG4tZ3JvdXAgPiAuYnRuOmFjdGl2ZSxcbi5idG4tZ3JvdXAgPiAuYnRuLmFjdGl2ZSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tY2hlY2s6Zm9jdXMgKyAuYnRuLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46aG92ZXIsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpmb2N1cyxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmFjdGl2ZSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLmFjdGl2ZSB7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5idG4tdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLmJ0bi10b29sYmFyIC5pbnB1dC1ncm91cCB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4uYnRuLWdyb3VwIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG59XG4uYnRuLWdyb3VwID4gOm5vdCguYnRuLWNoZWNrOmZpcnN0LWNoaWxkKSArIC5idG4sXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAtMSk7XG59XG4uYnRuLWdyb3VwID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5idG4tZ3JvdXAgPiAuYnRuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDpmaXJzdC1jaGlsZCxcbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuLmJ0bi1ncm91cCA+IC5idG46bnRoLWNoaWxkKG4rMyksXG4uYnRuLWdyb3VwID4gOm5vdCguYnRuLWNoZWNrKSArIC5idG4sXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogMC41NjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNTYyNXJlbTtcbn1cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyLCAuZHJvcHVwIC5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyLCAuZHJvcGVuZCAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmRyb3BzdGFydCAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjpiZWZvcmUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5idG4tc20gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LCAuYnRuLWdyb3VwLXNtID4gLmJ0biArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjM3NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjM3NXJlbTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQsIC5idG4tZ3JvdXAtbGcgPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbn1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXAge1xuICB3aWR0aDogMTAwJTtcbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAtMSk7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biB+IC5idG4sXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLm5hdiB7XG4gIC0tYnMtbmF2LWxpbmstcGFkZGluZy14OiAxcmVtO1xuICAtLWJzLW5hdi1saW5rLXBhZGRpbmcteTogMC41cmVtO1xuICAtLWJzLW5hdi1saW5rLWZvbnQtd2VpZ2h0OiA7XG4gIC0tYnMtbmF2LWxpbmstY29sb3I6IHZhcigtLWJzLWxpbmstY29sb3IpO1xuICAtLWJzLW5hdi1saW5rLWhvdmVyLWNvbG9yOiB2YXIoLS1icy1saW5rLWhvdmVyLWNvbG9yKTtcbiAgLS1icy1uYXYtbGluay1kaXNhYmxlZC1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWNvbG9yKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5uYXYtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS1icy1uYXYtbGluay1wYWRkaW5nLXkpIHZhcigtLWJzLW5hdi1saW5rLXBhZGRpbmcteCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYnMtbmF2LWxpbmstZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWJzLW5hdi1saW5rLWZvbnQtd2VpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWJzLW5hdi1saW5rLWNvbG9yKTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLm5hdi1saW5rIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4ubmF2LWxpbms6aG92ZXIsIC5uYXYtbGluazpmb2N1cyB7XG4gIGNvbG9yOiB2YXIoLS1icy1uYXYtbGluay1ob3Zlci1jb2xvcik7XG59XG4ubmF2LWxpbms6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMjVyZW0gcmdiYSgwLCAxMjEsIDE5MiwgMC4yNSk7XG59XG4ubmF2LWxpbmsuZGlzYWJsZWQsIC5uYXYtbGluazpkaXNhYmxlZCB7XG4gIGNvbG9yOiB2YXIoLS1icy1uYXYtbGluay1kaXNhYmxlZC1jb2xvcik7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5uYXYtdGFicyB7XG4gIC0tYnMtbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpO1xuICAtLWJzLW5hdi10YWJzLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtYm9yZGVyLWNvbG9yKTtcbiAgLS1icy1uYXYtdGFicy1ib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTtcbiAgLS1icy1uYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWJnKSB2YXIoLS1icy1zZWNvbmRhcnktYmcpIHZhcigtLWJzLWJvcmRlci1jb2xvcik7XG4gIC0tYnMtbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6IHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yKTtcbiAgLS1icy1uYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogdmFyKC0tYnMtYm9keS1iZyk7XG4gIC0tYnMtbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1ib3JkZXItY29sb3IpIHZhcigtLWJzLWJvcmRlci1jb2xvcikgdmFyKC0tYnMtYm9keS1iZyk7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLWJzLW5hdi10YWJzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtbmF2LXRhYnMtYm9yZGVyLWNvbG9yKTtcbn1cbi5uYXYtdGFicyAubmF2LWxpbmsge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKC0xICogdmFyKC0tYnMtbmF2LXRhYnMtYm9yZGVyLXdpZHRoKSk7XG4gIGJvcmRlcjogdmFyKC0tYnMtbmF2LXRhYnMtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tYnMtbmF2LXRhYnMtYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1uYXYtdGFicy1ib3JkZXItcmFkaXVzKTtcbn1cbi5uYXYtdGFicyAubmF2LWxpbms6aG92ZXIsIC5uYXYtdGFicyAubmF2LWxpbms6Zm9jdXMge1xuICBpc29sYXRpb246IGlzb2xhdGU7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IpO1xufVxuLm5hdi10YWJzIC5uYXYtbGluay5hY3RpdmUsXG4ubmF2LXRhYnMgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgY29sb3I6IHZhcigtLWJzLW5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtbmF2LXRhYnMtbGluay1hY3RpdmUtYmcpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLW5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcik7XG59XG4ubmF2LXRhYnMgLmRyb3Bkb3duLW1lbnUge1xuICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tYnMtbmF2LXRhYnMtYm9yZGVyLXdpZHRoKSk7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4ubmF2LXBpbGxzIHtcbiAgLS1icy1uYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG4gIC0tYnMtbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAjZmZmO1xuICAtLWJzLW5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogIzAwNzlDMDtcbn1cbi5uYXYtcGlsbHMgLm5hdi1saW5rIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtbmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpO1xufVxuLm5hdi1waWxscyAubmF2LWxpbmsuYWN0aXZlLFxuLm5hdi1waWxscyAuc2hvdyA+IC5uYXYtbGluayB7XG4gIGNvbG9yOiB2YXIoLS1icy1uYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1uYXYtcGlsbHMtbGluay1hY3RpdmUtYmcpO1xufVxuXG4ubmF2LXVuZGVybGluZSB7XG4gIC0tYnMtbmF2LXVuZGVybGluZS1nYXA6IDFyZW07XG4gIC0tYnMtbmF2LXVuZGVybGluZS1ib3JkZXItd2lkdGg6IDAuMTI1cmVtO1xuICAtLWJzLW5hdi11bmRlcmxpbmUtbGluay1hY3RpdmUtY29sb3I6IHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yKTtcbiAgZ2FwOiB2YXIoLS1icy1uYXYtdW5kZXJsaW5lLWdhcCk7XG59XG4ubmF2LXVuZGVybGluZSAubmF2LWxpbmsge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLWJzLW5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbn1cbi5uYXYtdW5kZXJsaW5lIC5uYXYtbGluazpob3ZlciwgLm5hdi11bmRlcmxpbmUgLm5hdi1saW5rOmZvY3VzIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudGNvbG9yO1xufVxuLm5hdi11bmRlcmxpbmUgLm5hdi1saW5rLmFjdGl2ZSxcbi5uYXYtdW5kZXJsaW5lIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6IHZhcigtLWJzLW5hdi11bmRlcmxpbmUtbGluay1hY3RpdmUtY29sb3IpO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiBjdXJyZW50Y29sb3I7XG59XG5cbi5uYXYtZmlsbCA+IC5uYXYtbGluayxcbi5uYXYtZmlsbCAubmF2LWl0ZW0ge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubmF2LWp1c3RpZmllZCA+IC5uYXYtbGluayxcbi5uYXYtanVzdGlmaWVkIC5uYXYtaXRlbSB7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIGZsZXgtZ3JvdzogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubmF2LWZpbGwgLm5hdi1pdGVtIC5uYXYtbGluayxcbi5uYXYtanVzdGlmaWVkIC5uYXYtaXRlbSAubmF2LWxpbmsge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnRhYi1jb250ZW50ID4gLnRhYi1wYW5lIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi50YWItY29udGVudCA+IC5hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm5hdmJhciB7XG4gIC0tYnMtbmF2YmFyLXBhZGRpbmcteDogMDtcbiAgLS1icy1uYXZiYXItcGFkZGluZy15OiAwLjVyZW07XG4gIC0tYnMtbmF2YmFyLWNvbG9yOiByZ2JhKHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yLXJnYiksIDAuNjUpO1xuICAtLWJzLW5hdmJhci1ob3Zlci1jb2xvcjogcmdiYSh2YXIoLS1icy1lbXBoYXNpcy1jb2xvci1yZ2IpLCAwLjgpO1xuICAtLWJzLW5hdmJhci1kaXNhYmxlZC1jb2xvcjogcmdiYSh2YXIoLS1icy1lbXBoYXNpcy1jb2xvci1yZ2IpLCAwLjMpO1xuICAtLWJzLW5hdmJhci1hY3RpdmUtY29sb3I6IHJnYmEodmFyKC0tYnMtZW1waGFzaXMtY29sb3ItcmdiKSwgMSk7XG4gIC0tYnMtbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogMC4zMTI1cmVtO1xuICAtLWJzLW5hdmJhci1icmFuZC1tYXJnaW4tZW5kOiAxcmVtO1xuICAtLWJzLW5hdmJhci1icmFuZC1mb250LXNpemU6IDEuMjVyZW07XG4gIC0tYnMtbmF2YmFyLWJyYW5kLWNvbG9yOiByZ2JhKHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yLXJnYiksIDEpO1xuICAtLWJzLW5hdmJhci1icmFuZC1ob3Zlci1jb2xvcjogcmdiYSh2YXIoLS1icy1lbXBoYXNpcy1jb2xvci1yZ2IpLCAxKTtcbiAgLS1icy1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAwLjVyZW07XG4gIC0tYnMtbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAwLjI1cmVtO1xuICAtLWJzLW5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogMC43NXJlbTtcbiAgLS1icy1uYXZiYXItdG9nZ2xlci1mb250LXNpemU6IDEuMjVyZW07XG4gIC0tYnMtbmF2YmFyLXRvZ2dsZXItaWNvbi1iZzogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCclM2UlM2NwYXRoIHN0cm9rZT0ncmdiYSUyODUyLCA1OCwgNjQsIDAuNzUlMjknIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICAtLWJzLW5hdmJhci10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS1icy1lbXBoYXNpcy1jb2xvci1yZ2IpLCAwLjE1KTtcbiAgLS1icy1uYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTtcbiAgLS1icy1uYXZiYXItdG9nZ2xlci1mb2N1cy13aWR0aDogMC4yNXJlbTtcbiAgLS1icy1uYXZiYXItdG9nZ2xlci10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiB2YXIoLS1icy1uYXZiYXItcGFkZGluZy15KSB2YXIoLS1icy1uYXZiYXItcGFkZGluZy14KTtcbn1cbi5uYXZiYXIgPiAuY29udGFpbmVyLXh4bCwgLm5hdmJhciA+IC5jb250YWluZXIteGwsIC5uYXZiYXIgPiAuY29udGFpbmVyLWxnLCAubmF2YmFyID4gLmNvbnRhaW5lci1tZCwgLm5hdmJhciA+IC5jb250YWluZXItc20sIC5uYXZiYXIgPiAuY29udGFpbmVyLFxuLm5hdmJhciA+IC5jb250YWluZXItZmx1aWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IGluaGVyaXQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbi5uYXZiYXItYnJhbmQge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tYnMtbmF2YmFyLWJyYW5kLXBhZGRpbmcteSk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1icy1uYXZiYXItYnJhbmQtcGFkZGluZy15KTtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1icy1uYXZiYXItYnJhbmQtbWFyZ2luLWVuZCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYnMtbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiB2YXIoLS1icy1uYXZiYXItYnJhbmQtY29sb3IpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLm5hdmJhci1icmFuZDpob3ZlciwgLm5hdmJhci1icmFuZDpmb2N1cyB7XG4gIGNvbG9yOiB2YXIoLS1icy1uYXZiYXItYnJhbmQtaG92ZXItY29sb3IpO1xufVxuXG4ubmF2YmFyLW5hdiB7XG4gIC0tYnMtbmF2LWxpbmstcGFkZGluZy14OiAwO1xuICAtLWJzLW5hdi1saW5rLXBhZGRpbmcteTogMC41cmVtO1xuICAtLWJzLW5hdi1saW5rLWZvbnQtd2VpZ2h0OiA7XG4gIC0tYnMtbmF2LWxpbmstY29sb3I6IHZhcigtLWJzLW5hdmJhci1jb2xvcik7XG4gIC0tYnMtbmF2LWxpbmstaG92ZXItY29sb3I6IHZhcigtLWJzLW5hdmJhci1ob3Zlci1jb2xvcik7XG4gIC0tYnMtbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6IHZhcigtLWJzLW5hdmJhci1kaXNhYmxlZC1jb2xvcik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmUsIC5uYXZiYXItbmF2IC5uYXYtbGluay5zaG93IHtcbiAgY29sb3I6IHZhcigtLWJzLW5hdmJhci1hY3RpdmUtY29sb3IpO1xufVxuLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogc3RhdGljO1xufVxuXG4ubmF2YmFyLXRleHQge1xuICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICBjb2xvcjogdmFyKC0tYnMtbmF2YmFyLWNvbG9yKTtcbn1cbi5uYXZiYXItdGV4dCBhLFxuLm5hdmJhci10ZXh0IGE6aG92ZXIsXG4ubmF2YmFyLXRleHQgYTpmb2N1cyB7XG4gIGNvbG9yOiB2YXIoLS1icy1uYXZiYXItYWN0aXZlLWNvbG9yKTtcbn1cblxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm5hdmJhci10b2dnbGVyIHtcbiAgcGFkZGluZzogdmFyKC0tYnMtbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15KSB2YXIoLS1icy1uYXZiYXItdG9nZ2xlci1wYWRkaW5nLXgpO1xuICBmb250LXNpemU6IHZhcigtLWJzLW5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogdmFyKC0tYnMtbmF2YmFyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1uYXZiYXItdG9nZ2xlci1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1uYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzKTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tYnMtbmF2YmFyLXRvZ2dsZXItdHJhbnNpdGlvbik7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5uYXZiYXItdG9nZ2xlcjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5uYXZiYXItdG9nZ2xlcjpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tYnMtbmF2YmFyLXRvZ2dsZXItZm9jdXMtd2lkdGgpO1xufVxuXG4ubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1icy1uYXZiYXItdG9nZ2xlci1pY29uLWJnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG59XG5cbi5uYXZiYXItbmF2LXNjcm9sbCB7XG4gIG1heC1oZWlnaHQ6IHZhcigtLWJzLXNjcm9sbC1oZWlnaHQsIDc1dmgpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm5hdmJhci1leHBhbmQtc20ge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLW5hdiB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tYnMtbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1icy1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14KTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLW5hdi1zY3JvbGwge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItY29sbGFwc2Uge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1zbSAub2ZmY2FudmFzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1zbSAub2ZmY2FudmFzIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXNtIC5vZmZjYW52YXMgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmF2YmFyLWV4cGFuZC1tZCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1icy1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14KTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWJzLW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXgpO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2LXNjcm9sbCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci10b2dnbGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLW1kIC5vZmZjYW52YXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLW1kIC5vZmZjYW52YXMgLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbWQgLm9mZmNhbnZhcyAub2ZmY2FudmFzLWJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5uYXZiYXItZXhwYW5kLWxnIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWJzLW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXgpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tYnMtbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteCk7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbGcgLm9mZmNhbnZhcyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbGcgLm9mZmNhbnZhcyAub2ZmY2FudmFzLWhlYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1sZyAub2ZmY2FudmFzIC5vZmZjYW52YXMtYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5uYXZiYXItZXhwYW5kLXhsIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1uYXYge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWJzLW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXgpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tYnMtbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteCk7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteGwgLm9mZmNhbnZhcyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteGwgLm9mZmNhbnZhcyAub2ZmY2FudmFzLWhlYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14bCAub2ZmY2FudmFzIC5vZmZjYW52YXMtYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5uYXZiYXItZXhwYW5kLXh4bCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXh4bCAubmF2YmFyLW5hdiB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14eGwgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14eGwgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1icy1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14KTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWJzLW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXgpO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXh4bCAubmF2YmFyLW5hdi1zY3JvbGwge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXh4bCAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14eGwgLm5hdmJhci10b2dnbGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXh4bCAub2ZmY2FudmFzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14eGwgLm9mZmNhbnZhcyAub2ZmY2FudmFzLWhlYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14eGwgLm9mZmNhbnZhcyAub2ZmY2FudmFzLWJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgfVxufVxuLm5hdmJhci1leHBhbmQge1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXYge1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuLm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4ubmF2YmFyLWV4cGFuZCAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1icy1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14KTtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1icy1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14KTtcbn1cbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2LXNjcm9sbCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLm5hdmJhci1leHBhbmQgLm5hdmJhci1jb2xsYXBzZSB7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgZmxleC1iYXNpczogYXV0bztcbn1cbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItdG9nZ2xlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubmF2YmFyLWV4cGFuZCAub2ZmY2FudmFzIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgei1pbmRleDogYXV0bztcbiAgZmxleC1ncm93OiAxO1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG4ubmF2YmFyLWV4cGFuZCAub2ZmY2FudmFzIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5uYXZiYXItZXhwYW5kIC5vZmZjYW52YXMgLm9mZmNhbnZhcy1ib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1ncm93OiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdy15OiB2aXNpYmxlO1xufVxuXG4ubmF2YmFyLWRhcmssXG4ubmF2YmFyW2RhdGEtYnMtdGhlbWU9ZGFya10ge1xuICAtLWJzLW5hdmJhci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU1KTtcbiAgLS1icy1uYXZiYXItaG92ZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XG4gIC0tYnMtbmF2YmFyLWRpc2FibGVkLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICAtLWJzLW5hdmJhci1hY3RpdmUtY29sb3I6ICNmZmY7XG4gIC0tYnMtbmF2YmFyLWJyYW5kLWNvbG9yOiAjZmZmO1xuICAtLWJzLW5hdmJhci1icmFuZC1ob3Zlci1jb2xvcjogI2ZmZjtcbiAgLS1icy1uYXZiYXItdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgLS1icy1uYXZiYXItdG9nZ2xlci1pY29uLWJnOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwIDMwJyUzZSUzY3BhdGggc3Ryb2tlPSdyZ2JhJTI4MjU1LCAyNTUsIDI1NSwgMC41NSUyOScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzZSUzYy9zdmclM2VcIik7XG59XG5cbltkYXRhLWJzLXRoZW1lPWRhcmtdIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgLS1icy1uYXZiYXItdG9nZ2xlci1pY29uLWJnOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwIDMwJyUzZSUzY3BhdGggc3Ryb2tlPSdyZ2JhJTI4MjU1LCAyNTUsIDI1NSwgMC41NSUyOScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzZSUzYy9zdmclM2VcIik7XG59XG5cbi5jYXJkIHtcbiAgLS1icy1jYXJkLXNwYWNlci15OiAxcmVtO1xuICAtLWJzLWNhcmQtc3BhY2VyLXg6IDFyZW07XG4gIC0tYnMtY2FyZC10aXRsZS1zcGFjZXIteTogMC41cmVtO1xuICAtLWJzLWNhcmQtdGl0bGUtY29sb3I6IDtcbiAgLS1icy1jYXJkLXN1YnRpdGxlLWNvbG9yOiA7XG4gIC0tYnMtY2FyZC1ib3JkZXItd2lkdGg6IHZhcigtLWJzLWJvcmRlci13aWR0aCk7XG4gIC0tYnMtY2FyZC1ib3JkZXItY29sb3I6IHZhcigtLWJzLWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCk7XG4gIC0tYnMtY2FyZC1ib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTtcbiAgLS1icy1jYXJkLWJveC1zaGFkb3c6IDtcbiAgLS1icy1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgLSAodmFyKC0tYnMtYm9yZGVyLXdpZHRoKSkpO1xuICAtLWJzLWNhcmQtY2FwLXBhZGRpbmcteTogMC41cmVtO1xuICAtLWJzLWNhcmQtY2FwLXBhZGRpbmcteDogMXJlbTtcbiAgLS1icy1jYXJkLWNhcC1iZzogcmdiYSh2YXIoLS1icy1ib2R5LWNvbG9yLXJnYiksIDAuMDMpO1xuICAtLWJzLWNhcmQtY2FwLWNvbG9yOiA7XG4gIC0tYnMtY2FyZC1oZWlnaHQ6IDtcbiAgLS1icy1jYXJkLWNvbG9yOiA7XG4gIC0tYnMtY2FyZC1iZzogdmFyKC0tYnMtYm9keS1iZyk7XG4gIC0tYnMtY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAxcmVtO1xuICAtLWJzLWNhcmQtZ3JvdXAtbWFyZ2luOiAwLjc1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDtcbiAgaGVpZ2h0OiB2YXIoLS1icy1jYXJkLWhlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1icy1ib2R5LWNvbG9yKTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1jYXJkLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuICBib3JkZXI6IHZhcigtLWJzLWNhcmQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1jYXJkLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWNhcmQtYm9yZGVyLXJhZGl1cyk7XG59XG4uY2FyZCA+IGhyIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5jYXJkID4gLmxpc3QtZ3JvdXAge1xuICBib3JkZXItdG9wOiBpbmhlcml0O1xuICBib3JkZXItYm90dG9tOiBpbmhlcml0O1xufVxuLmNhcmQgPiAubGlzdC1ncm91cDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuLmNhcmQgPiAubGlzdC1ncm91cDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG4uY2FyZCA+IC5jYXJkLWhlYWRlciArIC5saXN0LWdyb3VwLFxuLmNhcmQgPiAubGlzdC1ncm91cCArIC5jYXJkLWZvb3RlciB7XG4gIGJvcmRlci10b3A6IDA7XG59XG5cbi5jYXJkLWJvZHkge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogdmFyKC0tYnMtY2FyZC1zcGFjZXIteSkgdmFyKC0tYnMtY2FyZC1zcGFjZXIteCk7XG4gIGNvbG9yOiB2YXIoLS1icy1jYXJkLWNvbG9yKTtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1icy1jYXJkLXRpdGxlLXNwYWNlci15KTtcbiAgY29sb3I6IHZhcigtLWJzLWNhcmQtdGl0bGUtY29sb3IpO1xufVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IGNhbGMoLTAuNSAqIHZhcigtLWJzLWNhcmQtdGl0bGUtc3BhY2VyLXkpKTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6IHZhcigtLWJzLWNhcmQtc3VidGl0bGUtY29sb3IpO1xufVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1saW5rICsgLmNhcmQtbGluayB7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1icy1jYXJkLXNwYWNlci14KTtcbn1cblxuLmNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogdmFyKC0tYnMtY2FyZC1jYXAtcGFkZGluZy15KSB2YXIoLS1icy1jYXJkLWNhcC1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogdmFyKC0tYnMtY2FyZC1jYXAtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1jYXJkLWNhcC1iZyk7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLWJzLWNhcmQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1jYXJkLWJvcmRlci1jb2xvcik7XG59XG4uY2FyZC1oZWFkZXI6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpIHZhcigtLWJzLWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykgMCAwO1xufVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiB2YXIoLS1icy1jYXJkLWNhcC1wYWRkaW5nLXkpIHZhcigtLWJzLWNhcmQtY2FwLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS1icy1jYXJkLWNhcC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWNhcmQtY2FwLWJnKTtcbiAgYm9yZGVyLXRvcDogdmFyKC0tYnMtY2FyZC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLWNhcmQtYm9yZGVyLWNvbG9yKTtcbn1cbi5jYXJkLWZvb3RlcjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLWJzLWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykgdmFyKC0tYnMtY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTAuNSAqIHZhcigtLWJzLWNhcmQtY2FwLXBhZGRpbmcteCkpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKC0xICogdmFyKC0tYnMtY2FyZC1jYXAtcGFkZGluZy15KSk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0wLjUgKiB2YXIoLS1icy1jYXJkLWNhcC1wYWRkaW5nLXgpKTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cbi5jYXJkLWhlYWRlci10YWJzIC5uYXYtbGluay5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1jYXJkLWJnKTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tYnMtY2FyZC1iZyk7XG59XG5cbi5jYXJkLWhlYWRlci1waWxscyB7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtMC41ICogdmFyKC0tYnMtY2FyZC1jYXAtcGFkZGluZy14KSk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0wLjUgKiB2YXIoLS1icy1jYXJkLWNhcC1wYWRkaW5nLXgpKTtcbn1cblxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogdmFyKC0tYnMtY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCxcbi5jYXJkLWltZy1ib3R0b20ge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jYXJkLWdyb3VwID4gLmNhcmQge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1icy1jYXJkLWdyb3VwLW1hcmdpbik7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmNhcmQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkIHtcbiAgICBmbGV4OiAxIDAgMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkICsgLmNhcmQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG4gIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIH1cbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIC5jYXJkLWltZy10b3AsXG4gIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSAuY2FyZC1oZWFkZXIge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSAuY2FyZC1pbWctYm90dG9tLFxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6bGFzdC1jaGlsZCkgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIH1cbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmZpcnN0LWNoaWxkKSAuY2FyZC1pbWctdG9wLFxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpIC5jYXJkLWhlYWRlciB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpIC5jYXJkLWltZy1ib3R0b20sXG4gIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpmaXJzdC1jaGlsZCkgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG59XG5cbi5hY2NvcmRpb24ge1xuICAtLWJzLWFjY29yZGlvbi1jb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7XG4gIC0tYnMtYWNjb3JkaW9uLWJnOiB2YXIoLS1icy1ib2R5LWJnKTtcbiAgLS1icy1hY2NvcmRpb24tdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLXJhZGl1cyAwLjE1cyBlYXNlO1xuICAtLWJzLWFjY29yZGlvbi1ib3JkZXItY29sb3I6IHZhcigtLWJzLWJvcmRlci1jb2xvcik7XG4gIC0tYnMtYWNjb3JkaW9uLWJvcmRlci13aWR0aDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKTtcbiAgLS1icy1hY2NvcmRpb24tYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG4gIC0tYnMtYWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgLSAodmFyKC0tYnMtYm9yZGVyLXdpZHRoKSkpO1xuICAtLWJzLWFjY29yZGlvbi1idG4tcGFkZGluZy14OiAxLjI1cmVtO1xuICAtLWJzLWFjY29yZGlvbi1idG4tcGFkZGluZy15OiAxcmVtO1xuICAtLWJzLWFjY29yZGlvbi1idG4tY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpO1xuICAtLWJzLWFjY29yZGlvbi1idG4tYmc6IHZhcigtLWJzLWFjY29yZGlvbi1iZyk7XG4gIC0tYnMtYWNjb3JkaW9uLWJ0bi1pY29uOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSclMjMzNDNhNDAnJTNlJTNjcGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGQ9J00xLjY0NiA0LjY0NmEuNS41IDAgMCAxIC43MDggMEw4IDEwLjI5M2w1LjY0Ni01LjY0N2EuNS41IDAgMCAxIC43MDguNzA4bC02IDZhLjUuNSAwIDAgMS0uNzA4IDBsLTYtNmEuNS41IDAgMCAxIDAtLjcwOHonLyUzZSUzYy9zdmclM2VcIik7XG4gIC0tYnMtYWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoOiAxLjI1cmVtO1xuICAtLWJzLWFjY29yZGlvbi1idG4taWNvbi10cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgLS1icy1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC0tYnMtYWNjb3JkaW9uLWJ0bi1hY3RpdmUtaWNvbjogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nJTIzMDAzMDRkJyUzZSUzY3BhdGggZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNMS42NDYgNC42NDZhLjUuNSAwIDAgMSAuNzA4IDBMOCAxMC4yOTNsNS42NDYtNS42NDdhLjUuNSAwIDAgMSAuNzA4LjcwOGwtNiA2YS41LjUgMCAwIDEtLjcwOCAwbC02LTZhLjUuNSAwIDAgMSAwLS43MDh6Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICAtLWJzLWFjY29yZGlvbi1idG4tZm9jdXMtYm9yZGVyLWNvbG9yOiAjODBiY2UwO1xuICAtLWJzLWFjY29yZGlvbi1idG4tZm9jdXMtYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSByZ2JhKDAsIDEyMSwgMTkyLCAwLjI1KTtcbiAgLS1icy1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXg6IDEuMjVyZW07XG4gIC0tYnMtYWNjb3JkaW9uLWJvZHktcGFkZGluZy15OiAxcmVtO1xuICAtLWJzLWFjY29yZGlvbi1hY3RpdmUtY29sb3I6IHZhcigtLWJzLXByaW1hcnktdGV4dC1lbXBoYXNpcyk7XG4gIC0tYnMtYWNjb3JkaW9uLWFjdGl2ZS1iZzogdmFyKC0tYnMtcHJpbWFyeS1iZy1zdWJ0bGUpO1xufVxuXG4uYWNjb3JkaW9uLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IHZhcigtLWJzLWFjY29yZGlvbi1idG4tcGFkZGluZy15KSB2YXIoLS1icy1hY2NvcmRpb24tYnRuLXBhZGRpbmcteCk7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6IHZhcigtLWJzLWFjY29yZGlvbi1idG4tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1hY2NvcmRpb24tYnRuLWJnKTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBvdmVyZmxvdy1hbmNob3I6IG5vbmU7XG4gIHRyYW5zaXRpb246IHZhcigtLWJzLWFjY29yZGlvbi10cmFuc2l0aW9uKTtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4uYWNjb3JkaW9uLWJ1dHRvbjpub3QoLmNvbGxhcHNlZCkge1xuICBjb2xvcjogdmFyKC0tYnMtYWNjb3JkaW9uLWFjdGl2ZS1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWFjY29yZGlvbi1hY3RpdmUtYmcpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIGNhbGMoLTEgKiB2YXIoLS1icy1hY2NvcmRpb24tYm9yZGVyLXdpZHRoKSkgMCB2YXIoLS1icy1hY2NvcmRpb24tYm9yZGVyLWNvbG9yKTtcbn1cbi5hY2NvcmRpb24tYnV0dG9uOm5vdCguY29sbGFwc2VkKTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1icy1hY2NvcmRpb24tYnRuLWFjdGl2ZS1pY29uKTtcbiAgdHJhbnNmb3JtOiB2YXIoLS1icy1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNmb3JtKTtcbn1cbi5hY2NvcmRpb24tYnV0dG9uOjphZnRlciB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogdmFyKC0tYnMtYWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS1icy1hY2NvcmRpb24tYnRuLWljb24td2lkdGgpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tYnMtYWNjb3JkaW9uLWJ0bi1pY29uKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS1icy1hY2NvcmRpb24tYnRuLWljb24td2lkdGgpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS1icy1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNpdGlvbik7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuYWNjb3JkaW9uLWJ1dHRvbjo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5hY2NvcmRpb24tYnV0dG9uOmhvdmVyIHtcbiAgei1pbmRleDogMjtcbn1cbi5hY2NvcmRpb24tYnV0dG9uOmZvY3VzIHtcbiAgei1pbmRleDogMztcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1hY2NvcmRpb24tYnRuLWZvY3VzLWJvcmRlci1jb2xvcik7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IHZhcigtLWJzLWFjY29yZGlvbi1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG59XG5cbi5hY2NvcmRpb24taGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmFjY29yZGlvbi1pdGVtIHtcbiAgY29sb3I6IHZhcigtLWJzLWFjY29yZGlvbi1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWFjY29yZGlvbi1iZyk7XG4gIGJvcmRlcjogdmFyKC0tYnMtYWNjb3JkaW9uLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtYWNjb3JkaW9uLWJvcmRlci1jb2xvcik7XG59XG4uYWNjb3JkaW9uLWl0ZW06Zmlyc3Qtb2YtdHlwZSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKTtcbn1cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1vZi10eXBlIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuLmFjY29yZGlvbi1pdGVtOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICBib3JkZXItdG9wOiAwO1xufVxuLmFjY29yZGlvbi1pdGVtOmxhc3Qtb2YtdHlwZSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1hY2NvcmRpb24tYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKTtcbn1cbi5hY2NvcmRpb24taXRlbTpsYXN0LW9mLXR5cGUgLmFjY29yZGlvbi1idXR0b24uY29sbGFwc2VkIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuLmFjY29yZGlvbi1pdGVtOmxhc3Qtb2YtdHlwZSAuYWNjb3JkaW9uLWNvbGxhcHNlIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYWNjb3JkaW9uLWJvZHkge1xuICBwYWRkaW5nOiB2YXIoLS1icy1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXkpIHZhcigtLWJzLWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteCk7XG59XG5cbi5hY2NvcmRpb24tZmx1c2ggLmFjY29yZGlvbi1jb2xsYXBzZSB7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cbi5hY2NvcmRpb24tZmx1c2ggLmFjY29yZGlvbi1pdGVtIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItbGVmdDogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5hY2NvcmRpb24tZmx1c2ggLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcDogMDtcbn1cbi5hY2NvcmRpb24tZmx1c2ggLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuLmFjY29yZGlvbi1mbHVzaCAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1idXR0b24sIC5hY2NvcmRpb24tZmx1c2ggLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tYnV0dG9uLmNvbGxhcHNlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbltkYXRhLWJzLXRoZW1lPWRhcmtdIC5hY2NvcmRpb24tYnV0dG9uOjphZnRlciB7XG4gIC0tYnMtYWNjb3JkaW9uLWJ0bi1pY29uOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSclMjM2NmFmZDknJTNlJTNjcGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGQ9J00xLjY0NiA0LjY0NmEuNS41IDAgMCAxIC43MDggMEw4IDEwLjI5M2w1LjY0Ni01LjY0N2EuNS41IDAgMCAxIC43MDguNzA4bC02IDZhLjUuNSAwIDAgMS0uNzA4IDBsLTYtNmEuNS41IDAgMCAxIDAtLjcwOHonLyUzZSUzYy9zdmclM2VcIik7XG4gIC0tYnMtYWNjb3JkaW9uLWJ0bi1hY3RpdmUtaWNvbjogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nJTIzNjZhZmQ5JyUzZSUzY3BhdGggZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNMS42NDYgNC42NDZhLjUuNSAwIDAgMSAuNzA4IDBMOCAxMC4yOTNsNS42NDYtNS42NDdhLjUuNSAwIDAgMSAuNzA4LjcwOGwtNiA2YS41LjUgMCAwIDEtLjcwOCAwbC02LTZhLjUuNSAwIDAgMSAwLS43MDh6Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xufVxuXG4uYnJlYWRjcnVtYiB7XG4gIC0tYnMtYnJlYWRjcnVtYi1wYWRkaW5nLXg6IDA7XG4gIC0tYnMtYnJlYWRjcnVtYi1wYWRkaW5nLXk6IDA7XG4gIC0tYnMtYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAxcmVtO1xuICAtLWJzLWJyZWFkY3J1bWItYmc6IDtcbiAgLS1icy1icmVhZGNydW1iLWJvcmRlci1yYWRpdXM6IDtcbiAgLS1icy1icmVhZGNydW1iLWRpdmlkZXItY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1jb2xvcik7XG4gIC0tYnMtYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteDogMC41cmVtO1xuICAtLWJzLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1jb2xvcik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogdmFyKC0tYnMtYnJlYWRjcnVtYi1wYWRkaW5nLXkpIHZhcigtLWJzLWJyZWFkY3J1bWItcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tYnMtYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tKTtcbiAgZm9udC1zaXplOiB2YXIoLS1icy1icmVhZGNydW1iLWZvbnQtc2l6ZSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWJyZWFkY3J1bWItYmcpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1icmVhZGNydW1iLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tYnMtYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteCk7XG59XG4uYnJlYWRjcnVtYi1pdGVtICsgLmJyZWFkY3J1bWItaXRlbTo6YmVmb3JlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLWJzLWJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tYnMtYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yKTtcbiAgY29udGVudDogdmFyKC0tYnMtYnJlYWRjcnVtYi1kaXZpZGVyLCBcIi9cIikgLyogcnRsOiB2YXIoLS1icy1icmVhZGNydW1iLWRpdmlkZXIsIFwiL1wiKSAqLztcbn1cbi5icmVhZGNydW1iLWl0ZW0uYWN0aXZlIHtcbiAgY29sb3I6IHZhcigtLWJzLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3IpO1xufVxuXG4ucGFnaW5hdGlvbiB7XG4gIC0tYnMtcGFnaW5hdGlvbi1wYWRkaW5nLXg6IDAuNzVyZW07XG4gIC0tYnMtcGFnaW5hdGlvbi1wYWRkaW5nLXk6IDAuMzc1cmVtO1xuICAtLWJzLXBhZ2luYXRpb24tZm9udC1zaXplOiAxcmVtO1xuICAtLWJzLXBhZ2luYXRpb24tY29sb3I6IHZhcigtLWJzLWxpbmstY29sb3IpO1xuICAtLWJzLXBhZ2luYXRpb24tYmc6IHZhcigtLWJzLWJvZHktYmcpO1xuICAtLWJzLXBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpO1xuICAtLWJzLXBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1ib3JkZXItY29sb3IpO1xuICAtLWJzLXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG4gIC0tYnMtcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogdmFyKC0tYnMtbGluay1ob3Zlci1jb2xvcik7XG4gIC0tYnMtcGFnaW5hdGlvbi1ob3Zlci1iZzogdmFyKC0tYnMtdGVydGlhcnktYmcpO1xuICAtLWJzLXBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1ib3JkZXItY29sb3IpO1xuICAtLWJzLXBhZ2luYXRpb24tZm9jdXMtY29sb3I6IHZhcigtLWJzLWxpbmstaG92ZXItY29sb3IpO1xuICAtLWJzLXBhZ2luYXRpb24tZm9jdXMtYmc6IHZhcigtLWJzLXNlY29uZGFyeS1iZyk7XG4gIC0tYnMtcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEoMCwgMTIxLCAxOTIsIDAuMjUpO1xuICAtLWJzLXBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAjZmZmO1xuICAtLWJzLXBhZ2luYXRpb24tYWN0aXZlLWJnOiAjMDA3OUMwO1xuICAtLWJzLXBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogIzAwNzlDMDtcbiAgLS1icy1wYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktY29sb3IpO1xuICAtLWJzLXBhZ2luYXRpb24tZGlzYWJsZWQtYmc6IHZhcigtLWJzLXNlY29uZGFyeS1iZyk7XG4gIC0tYnMtcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6IHZhcigtLWJzLWJvcmRlci1jb2xvcik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnBhZ2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLWJzLXBhZ2luYXRpb24tcGFkZGluZy15KSB2YXIoLS1icy1wYWdpbmF0aW9uLXBhZGRpbmcteCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYnMtcGFnaW5hdGlvbi1mb250LXNpemUpO1xuICBjb2xvcjogdmFyKC0tYnMtcGFnaW5hdGlvbi1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXBhZ2luYXRpb24tYmcpO1xuICBib3JkZXI6IHZhcigtLWJzLXBhZ2luYXRpb24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1wYWdpbmF0aW9uLWJvcmRlci1jb2xvcik7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAucGFnZS1saW5rIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4ucGFnZS1saW5rOmhvdmVyIHtcbiAgei1pbmRleDogMjtcbiAgY29sb3I6IHZhcigtLWJzLXBhZ2luYXRpb24taG92ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1wYWdpbmF0aW9uLWhvdmVyLWJnKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1wYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcik7XG59XG4ucGFnZS1saW5rOmZvY3VzIHtcbiAgei1pbmRleDogMztcbiAgY29sb3I6IHZhcigtLWJzLXBhZ2luYXRpb24tZm9jdXMtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1wYWdpbmF0aW9uLWZvY3VzLWJnKTtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogdmFyKC0tYnMtcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93KTtcbn1cbi5wYWdlLWxpbmsuYWN0aXZlLCAuYWN0aXZlID4gLnBhZ2UtbGluayB7XG4gIHotaW5kZXg6IDM7XG4gIGNvbG9yOiB2YXIoLS1icy1wYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXBhZ2luYXRpb24tYWN0aXZlLWJnKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1wYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xufVxuLnBhZ2UtbGluay5kaXNhYmxlZCwgLmRpc2FibGVkID4gLnBhZ2UtbGluayB7XG4gIGNvbG9yOiB2YXIoLS1icy1wYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXBhZ2luYXRpb24tZGlzYWJsZWQtYmcpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLXBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yKTtcbn1cblxuLnBhZ2UtaXRlbTpub3QoOmZpcnN0LWNoaWxkKSAucGFnZS1saW5rIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tYnMtYm9yZGVyLXdpZHRoKSAqIC0xKTtcbn1cbi5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cyk7XG59XG4ucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGluayB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMpO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzKTtcbn1cblxuLnBhZ2luYXRpb24tbGcge1xuICAtLWJzLXBhZ2luYXRpb24tcGFkZGluZy14OiAxLjVyZW07XG4gIC0tYnMtcGFnaW5hdGlvbi1wYWRkaW5nLXk6IDAuNzVyZW07XG4gIC0tYnMtcGFnaW5hdGlvbi1mb250LXNpemU6IDEuMjVyZW07XG4gIC0tYnMtcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLnBhZ2luYXRpb24tc20ge1xuICAtLWJzLXBhZ2luYXRpb24tcGFkZGluZy14OiAwLjVyZW07XG4gIC0tYnMtcGFnaW5hdGlvbi1wYWRkaW5nLXk6IDAuMjVyZW07XG4gIC0tYnMtcGFnaW5hdGlvbi1mb250LXNpemU6IDAuODc1cmVtO1xuICAtLWJzLXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5iYWRnZSB7XG4gIC0tYnMtYmFkZ2UtcGFkZGluZy14OiAwLjY1ZW07XG4gIC0tYnMtYmFkZ2UtcGFkZGluZy15OiAwLjM1ZW07XG4gIC0tYnMtYmFkZ2UtZm9udC1zaXplOiAwLjc1ZW07XG4gIC0tYnMtYmFkZ2UtZm9udC13ZWlnaHQ6IDcwMDtcbiAgLS1icy1iYWRnZS1jb2xvcjogI2ZmZjtcbiAgLS1icy1iYWRnZS1ib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS1icy1iYWRnZS1wYWRkaW5nLXkpIHZhcigtLWJzLWJhZGdlLXBhZGRpbmcteCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYnMtYmFkZ2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWJzLWJhZGdlLWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS1icy1iYWRnZS1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1iYWRnZS1ib3JkZXItcmFkaXVzKTtcbn1cbi5iYWRnZTplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG5cbi5hbGVydCB7XG4gIC0tYnMtYWxlcnQtYmc6IHRyYW5zcGFyZW50O1xuICAtLWJzLWFsZXJ0LXBhZGRpbmcteDogMXJlbTtcbiAgLS1icy1hbGVydC1wYWRkaW5nLXk6IDFyZW07XG4gIC0tYnMtYWxlcnQtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgLS1icy1hbGVydC1jb2xvcjogaW5oZXJpdDtcbiAgLS1icy1hbGVydC1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLWJzLWFsZXJ0LWJvcmRlcjogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1hbGVydC1ib3JkZXItY29sb3IpO1xuICAtLWJzLWFsZXJ0LWJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpO1xuICAtLWJzLWFsZXJ0LWxpbmstY29sb3I6IGluaGVyaXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogdmFyKC0tYnMtYWxlcnQtcGFkZGluZy15KSB2YXIoLS1icy1hbGVydC1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1icy1hbGVydC1tYXJnaW4tYm90dG9tKTtcbiAgY29sb3I6IHZhcigtLWJzLWFsZXJ0LWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYWxlcnQtYmcpO1xuICBib3JkZXI6IHZhcigtLWJzLWFsZXJ0LWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWFsZXJ0LWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYWxlcnQtaGVhZGluZyB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4uYWxlcnQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiB2YXIoLS1icy1hbGVydC1saW5rLWNvbG9yKTtcbn1cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcbn1cbi5hbGVydC1kaXNtaXNzaWJsZSAuYnRuLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAyO1xuICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG59XG5cbi5hbGVydC1wcmltYXJ5IHtcbiAgLS1icy1hbGVydC1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeS10ZXh0LWVtcGhhc2lzKTtcbiAgLS1icy1hbGVydC1iZzogdmFyKC0tYnMtcHJpbWFyeS1iZy1zdWJ0bGUpO1xuICAtLWJzLWFsZXJ0LWJvcmRlci1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeS1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1hbGVydC1saW5rLWNvbG9yOiB2YXIoLS1icy1wcmltYXJ5LXRleHQtZW1waGFzaXMpO1xufVxuXG4uYWxlcnQtc2Vjb25kYXJ5IHtcbiAgLS1icy1hbGVydC1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWFsZXJ0LWJnOiB2YXIoLS1icy1zZWNvbmRhcnktYmctc3VidGxlKTtcbiAgLS1icy1hbGVydC1ib3JkZXItY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1hbGVydC1saW5rLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktdGV4dC1lbXBoYXNpcyk7XG59XG5cbi5hbGVydC1zdWNjZXNzIHtcbiAgLS1icy1hbGVydC1jb2xvcjogdmFyKC0tYnMtc3VjY2Vzcy10ZXh0LWVtcGhhc2lzKTtcbiAgLS1icy1hbGVydC1iZzogdmFyKC0tYnMtc3VjY2Vzcy1iZy1zdWJ0bGUpO1xuICAtLWJzLWFsZXJ0LWJvcmRlci1jb2xvcjogdmFyKC0tYnMtc3VjY2Vzcy1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1hbGVydC1saW5rLWNvbG9yOiB2YXIoLS1icy1zdWNjZXNzLXRleHQtZW1waGFzaXMpO1xufVxuXG4uYWxlcnQtaW5mbyB7XG4gIC0tYnMtYWxlcnQtY29sb3I6IHZhcigtLWJzLWluZm8tdGV4dC1lbXBoYXNpcyk7XG4gIC0tYnMtYWxlcnQtYmc6IHZhcigtLWJzLWluZm8tYmctc3VidGxlKTtcbiAgLS1icy1hbGVydC1ib3JkZXItY29sb3I6IHZhcigtLWJzLWluZm8tYm9yZGVyLXN1YnRsZSk7XG4gIC0tYnMtYWxlcnQtbGluay1jb2xvcjogdmFyKC0tYnMtaW5mby10ZXh0LWVtcGhhc2lzKTtcbn1cblxuLmFsZXJ0LXdhcm5pbmcge1xuICAtLWJzLWFsZXJ0LWNvbG9yOiB2YXIoLS1icy13YXJuaW5nLXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWFsZXJ0LWJnOiB2YXIoLS1icy13YXJuaW5nLWJnLXN1YnRsZSk7XG4gIC0tYnMtYWxlcnQtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy13YXJuaW5nLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWFsZXJ0LWxpbmstY29sb3I6IHZhcigtLWJzLXdhcm5pbmctdGV4dC1lbXBoYXNpcyk7XG59XG5cbi5hbGVydC1kYW5nZXIge1xuICAtLWJzLWFsZXJ0LWNvbG9yOiB2YXIoLS1icy1kYW5nZXItdGV4dC1lbXBoYXNpcyk7XG4gIC0tYnMtYWxlcnQtYmc6IHZhcigtLWJzLWRhbmdlci1iZy1zdWJ0bGUpO1xuICAtLWJzLWFsZXJ0LWJvcmRlci1jb2xvcjogdmFyKC0tYnMtZGFuZ2VyLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWFsZXJ0LWxpbmstY29sb3I6IHZhcigtLWJzLWRhbmdlci10ZXh0LWVtcGhhc2lzKTtcbn1cblxuLmFsZXJ0LWxpZ2h0IHtcbiAgLS1icy1hbGVydC1jb2xvcjogdmFyKC0tYnMtbGlnaHQtdGV4dC1lbXBoYXNpcyk7XG4gIC0tYnMtYWxlcnQtYmc6IHZhcigtLWJzLWxpZ2h0LWJnLXN1YnRsZSk7XG4gIC0tYnMtYWxlcnQtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1saWdodC1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1hbGVydC1saW5rLWNvbG9yOiB2YXIoLS1icy1saWdodC10ZXh0LWVtcGhhc2lzKTtcbn1cblxuLmFsZXJ0LWRhcmsge1xuICAtLWJzLWFsZXJ0LWNvbG9yOiB2YXIoLS1icy1kYXJrLXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWFsZXJ0LWJnOiB2YXIoLS1icy1kYXJrLWJnLXN1YnRsZSk7XG4gIC0tYnMtYWxlcnQtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1kYXJrLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWFsZXJ0LWxpbmstY29sb3I6IHZhcigtLWJzLWRhcmstdGV4dC1lbXBoYXNpcyk7XG59XG5cbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiAxcmVtO1xuICB9XG59XG4ucHJvZ3Jlc3MsXG4ucHJvZ3Jlc3Mtc3RhY2tlZCB7XG4gIC0tYnMtcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuICAtLWJzLXByb2dyZXNzLWZvbnQtc2l6ZTogMC43NXJlbTtcbiAgLS1icy1wcm9ncmVzcy1iZzogdmFyKC0tYnMtc2Vjb25kYXJ5LWJnKTtcbiAgLS1icy1wcm9ncmVzcy1ib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTtcbiAgLS1icy1wcm9ncmVzcy1ib3gtc2hhZG93OiB2YXIoLS1icy1ib3gtc2hhZG93LWluc2V0KTtcbiAgLS1icy1wcm9ncmVzcy1iYXItY29sb3I6ICNmZmY7XG4gIC0tYnMtcHJvZ3Jlc3MtYmFyLWJnOiAjMDA3OUMwO1xuICAtLWJzLXByb2dyZXNzLWJhci10cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGVhc2U7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogdmFyKC0tYnMtcHJvZ3Jlc3MtaGVpZ2h0KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiB2YXIoLS1icy1wcm9ncmVzcy1mb250LXNpemUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1wcm9ncmVzcy1iZyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLXByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiB2YXIoLS1icy1wcm9ncmVzcy1iYXItY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXByb2dyZXNzLWJhci1iZyk7XG4gIHRyYW5zaXRpb246IHZhcigtLWJzLXByb2dyZXNzLWJhci10cmFuc2l0aW9uKTtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5wcm9ncmVzcy1iYXIge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cblxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtc2l6ZTogdmFyKC0tYnMtcHJvZ3Jlc3MtaGVpZ2h0KSB2YXIoLS1icy1wcm9ncmVzcy1oZWlnaHQpO1xufVxuXG4ucHJvZ3Jlc3Mtc3RhY2tlZCA+IC5wcm9ncmVzcyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4ucHJvZ3Jlc3Mtc3RhY2tlZCA+IC5wcm9ncmVzcyA+IC5wcm9ncmVzcy1iYXIge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gIGFuaW1hdGlvbjogMXMgbGluZWFyIGluZmluaXRlIHByb2dyZXNzLWJhci1zdHJpcGVzO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICB9XG59XG5cbi5saXN0LWdyb3VwIHtcbiAgLS1icy1saXN0LWdyb3VwLWNvbG9yOiB2YXIoLS1icy1ib2R5LWNvbG9yKTtcbiAgLS1icy1saXN0LWdyb3VwLWJnOiB2YXIoLS1icy1ib2R5LWJnKTtcbiAgLS1icy1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtYm9yZGVyLWNvbG9yKTtcbiAgLS1icy1saXN0LWdyb3VwLWJvcmRlci13aWR0aDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKTtcbiAgLS1icy1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpO1xuICAtLWJzLWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6IDFyZW07XG4gIC0tYnMtbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogMC41cmVtO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvcik7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24taG92ZXItYmc6IHZhcigtLWJzLXRlcnRpYXJ5LWJnKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogdmFyKC0tYnMtc2Vjb25kYXJ5LWJnKTtcbiAgLS1icy1saXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6IHZhcigtLWJzLWJvZHktYmcpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAjZmZmO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAjMDA3OUMwO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogIzAwNzlDMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ubGlzdC1ncm91cC1udW1iZXJlZCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgY291bnRlci1yZXNldDogc2VjdGlvbjtcbn1cbi5saXN0LWdyb3VwLW51bWJlcmVkID4gLmxpc3QtZ3JvdXAtaXRlbTo6YmVmb3JlIHtcbiAgY29udGVudDogY291bnRlcnMoc2VjdGlvbiwgXCIuXCIpIFwiLiBcIjtcbiAgY291bnRlci1pbmNyZW1lbnQ6IHNlY3Rpb247XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiB2YXIoLS1icy1saXN0LWdyb3VwLWFjdGlvbi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG59XG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xuICB6LWluZGV4OiAxO1xuICBjb2xvcjogdmFyKC0tYnMtbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnKTtcbn1cbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmFjdGl2ZSB7XG4gIGNvbG9yOiB2YXIoLS1icy1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmcpO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tYnMtbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteSkgdmFyKC0tYnMtbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS1icy1saXN0LWdyb3VwLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtbGlzdC1ncm91cC1iZyk7XG4gIGJvcmRlcjogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yKTtcbn1cbi5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogaW5oZXJpdDtcbn1cbi5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xufVxuLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZCwgLmxpc3QtZ3JvdXAtaXRlbTpkaXNhYmxlZCB7XG4gIGNvbG9yOiB2YXIoLS1icy1saXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWxpc3QtZ3JvdXAtZGlzYWJsZWQtYmcpO1xufVxuLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICB6LWluZGV4OiAyO1xuICBjb2xvcjogdmFyKC0tYnMtbGlzdC1ncm91cC1hY3RpdmUtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1iZyk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbn1cbi5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbn1cbi5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci13aWR0aCkpO1xuICBib3JkZXItdG9wLXdpZHRoOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG59XG5cbi5saXN0LWdyb3VwLWhvcml6b250YWwge1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCA+IC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xufVxuLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCA+IC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCA+IC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5saXN0LWdyb3VwLWhvcml6b250YWwgPiAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIGJvcmRlci10b3Atd2lkdGg6IHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG59XG4ubGlzdC1ncm91cC1ob3Jpem9udGFsID4gLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci13aWR0aCkpO1xuICBib3JkZXItbGVmdC13aWR0aDogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXNtID4gLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtc20gPiAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbSA+IC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtc20gPiAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtc20gPiAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpKTtcbiAgICBib3JkZXItbGVmdC13aWR0aDogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1tZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLW1kID4gLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbWQgPiAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1tZCA+IC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbWQgPiAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbWQgPiAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpKTtcbiAgICBib3JkZXItbGVmdC13aWR0aDogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1sZyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLWxnID4gLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbGcgPiAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1sZyA+IC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbGcgPiAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbGcgPiAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpKTtcbiAgICBib3JkZXItbGVmdC13aWR0aDogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteGwge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14bCA+IC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXhsID4gLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteGwgPiAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXhsID4gLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXhsID4gLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKSk7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXh4bCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXh4bCA+IC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYnMtbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXh4bCA+IC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXh4bCA+IC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteHhsID4gLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXh4bCA+IC5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci13aWR0aCkpO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiB2YXIoLS1icy1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG4gIH1cbn1cbi5saXN0LWdyb3VwLWZsdXNoIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5saXN0LWdyb3VwLWZsdXNoID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIGJvcmRlci13aWR0aDogMCAwIHZhcigtLWJzLWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcbn1cbi5saXN0LWdyb3VwLWZsdXNoID4gLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5IHtcbiAgLS1icy1saXN0LWdyb3VwLWNvbG9yOiB2YXIoLS1icy1wcmltYXJ5LXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYmc6IHZhcigtLWJzLXByaW1hcnktYmctc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeS1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnOiB2YXIoLS1icy1wcmltYXJ5LWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogdmFyKC0tYnMtcHJpbWFyeS1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeS1iZy1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJnOiB2YXIoLS1icy1wcmltYXJ5LXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeS10ZXh0LWVtcGhhc2lzKTtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnkge1xuICAtLWJzLWxpc3QtZ3JvdXAtY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS10ZXh0LWVtcGhhc2lzKTtcbiAgLS1icy1saXN0LWdyb3VwLWJnOiB2YXIoLS1icy1zZWNvbmRhcnktYmctc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvcik7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24taG92ZXItYmc6IHZhcigtLWJzLXNlY29uZGFyeS1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6IHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6IHZhcigtLWJzLXNlY29uZGFyeS1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWJnLXN1YnRsZSk7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3RpdmUtYmc6IHZhcigtLWJzLXNlY29uZGFyeS10ZXh0LWVtcGhhc2lzKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS10ZXh0LWVtcGhhc2lzKTtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzIHtcbiAgLS1icy1saXN0LWdyb3VwLWNvbG9yOiB2YXIoLS1icy1zdWNjZXNzLXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYmc6IHZhcigtLWJzLXN1Y2Nlc3MtYmctc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtc3VjY2Vzcy1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnOiB2YXIoLS1icy1zdWNjZXNzLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogdmFyKC0tYnMtc3VjY2Vzcy1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtc3VjY2Vzcy1iZy1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJnOiB2YXIoLS1icy1zdWNjZXNzLXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtc3VjY2Vzcy10ZXh0LWVtcGhhc2lzKTtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1pbmZvIHtcbiAgLS1icy1saXN0LWdyb3VwLWNvbG9yOiB2YXIoLS1icy1pbmZvLXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYmc6IHZhcigtLWJzLWluZm8tYmctc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtaW5mby1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnOiB2YXIoLS1icy1pbmZvLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogdmFyKC0tYnMtaW5mby1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtaW5mby1iZy1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJnOiB2YXIoLS1icy1pbmZvLXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtaW5mby10ZXh0LWVtcGhhc2lzKTtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nIHtcbiAgLS1icy1saXN0LWdyb3VwLWNvbG9yOiB2YXIoLS1icy13YXJuaW5nLXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYmc6IHZhcigtLWJzLXdhcm5pbmctYmctc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtd2FybmluZy1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnOiB2YXIoLS1icy13YXJuaW5nLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogdmFyKC0tYnMtd2FybmluZy1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtd2FybmluZy1iZy1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJnOiB2YXIoLS1icy13YXJuaW5nLXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtd2FybmluZy10ZXh0LWVtcGhhc2lzKTtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIge1xuICAtLWJzLWxpc3QtZ3JvdXAtY29sb3I6IHZhcigtLWJzLWRhbmdlci10ZXh0LWVtcGhhc2lzKTtcbiAgLS1icy1saXN0LWdyb3VwLWJnOiB2YXIoLS1icy1kYW5nZXItYmctc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtZGFuZ2VyLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvcik7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24taG92ZXItYmc6IHZhcigtLWJzLWRhbmdlci1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6IHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6IHZhcigtLWJzLWRhbmdlci1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtZGFuZ2VyLWJnLXN1YnRsZSk7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3RpdmUtYmc6IHZhcigtLWJzLWRhbmdlci10ZXh0LWVtcGhhc2lzKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLWJzLWRhbmdlci10ZXh0LWVtcGhhc2lzKTtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1saWdodCB7XG4gIC0tYnMtbGlzdC1ncm91cC1jb2xvcjogdmFyKC0tYnMtbGlnaHQtdGV4dC1lbXBoYXNpcyk7XG4gIC0tYnMtbGlzdC1ncm91cC1iZzogdmFyKC0tYnMtbGlnaHQtYmctc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtbGlnaHQtYm9yZGVyLXN1YnRsZSk7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6IHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1iZzogdmFyKC0tYnMtbGlnaHQtYm9yZGVyLXN1YnRsZSk7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvcik7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiB2YXIoLS1icy1saWdodC1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtbGlnaHQtYmctc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1iZzogdmFyKC0tYnMtbGlnaHQtdGV4dC1lbXBoYXNpcyk7XG4gIC0tYnMtbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1saWdodC10ZXh0LWVtcGhhc2lzKTtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1kYXJrIHtcbiAgLS1icy1saXN0LWdyb3VwLWNvbG9yOiB2YXIoLS1icy1kYXJrLXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYmc6IHZhcigtLWJzLWRhcmstYmctc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtZGFyay1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnOiB2YXIoLS1icy1kYXJrLWJvcmRlci1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3IpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogdmFyKC0tYnMtZGFyay1ib3JkZXItc3VidGxlKTtcbiAgLS1icy1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogdmFyKC0tYnMtZGFyay1iZy1zdWJ0bGUpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJnOiB2YXIoLS1icy1kYXJrLXRleHQtZW1waGFzaXMpO1xuICAtLWJzLWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tYnMtZGFyay10ZXh0LWVtcGhhc2lzKTtcbn1cblxuLmJ0bi1jbG9zZSB7XG4gIC0tYnMtYnRuLWNsb3NlLWNvbG9yOiAjMDAwO1xuICAtLWJzLWJ0bi1jbG9zZS1iZzogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nJTIzMDAwJyUzZSUzY3BhdGggZD0nTS4yOTMuMjkzYTEgMSAwIDAgMSAxLjQxNCAwTDggNi41ODYgMTQuMjkzLjI5M2ExIDEgMCAxIDEgMS40MTQgMS40MTRMOS40MTQgOGw2LjI5MyA2LjI5M2ExIDEgMCAwIDEtMS40MTQgMS40MTRMOCA5LjQxNGwtNi4yOTMgNi4yOTNhMSAxIDAgMCAxLTEuNDE0LTEuNDE0TDYuNTg2IDggLjI5MyAxLjcwN2ExIDEgMCAwIDEgMC0xLjQxNHonLyUzZSUzYy9zdmclM2VcIik7XG4gIC0tYnMtYnRuLWNsb3NlLW9wYWNpdHk6IDAuNTtcbiAgLS1icy1idG4tY2xvc2UtaG92ZXItb3BhY2l0eTogMC43NTtcbiAgLS1icy1idG4tY2xvc2UtZm9jdXMtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEoMCwgMTIxLCAxOTIsIDAuMjUpO1xuICAtLWJzLWJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5OiAxO1xuICAtLWJzLWJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5OiAwLjI1O1xuICAtLWJzLWJ0bi1jbG9zZS13aGl0ZS1maWx0ZXI6IGludmVydCgxKSBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcygyMDAlKTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtO1xuICBwYWRkaW5nOiAwLjI1ZW0gMC4yNWVtO1xuICBjb2xvcjogdmFyKC0tYnMtYnRuLWNsb3NlLWNvbG9yKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdmFyKC0tYnMtYnRuLWNsb3NlLWJnKSBjZW50ZXIvMWVtIGF1dG8gbm8tcmVwZWF0O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICBvcGFjaXR5OiB2YXIoLS1icy1idG4tY2xvc2Utb3BhY2l0eSk7XG59XG4uYnRuLWNsb3NlOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWJzLWJ0bi1jbG9zZS1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3BhY2l0eTogdmFyKC0tYnMtYnRuLWNsb3NlLWhvdmVyLW9wYWNpdHkpO1xufVxuLmJ0bi1jbG9zZTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IHZhcigtLWJzLWJ0bi1jbG9zZS1mb2N1cy1zaGFkb3cpO1xuICBvcGFjaXR5OiB2YXIoLS1icy1idG4tY2xvc2UtZm9jdXMtb3BhY2l0eSk7XG59XG4uYnRuLWNsb3NlOmRpc2FibGVkLCAuYnRuLWNsb3NlLmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBvcGFjaXR5OiB2YXIoLS1icy1idG4tY2xvc2UtZGlzYWJsZWQtb3BhY2l0eSk7XG59XG5cbi5idG4tY2xvc2Utd2hpdGUge1xuICBmaWx0ZXI6IHZhcigtLWJzLWJ0bi1jbG9zZS13aGl0ZS1maWx0ZXIpO1xufVxuXG5bZGF0YS1icy10aGVtZT1kYXJrXSAuYnRuLWNsb3NlIHtcbiAgZmlsdGVyOiB2YXIoLS1icy1idG4tY2xvc2Utd2hpdGUtZmlsdGVyKTtcbn1cblxuLnRvYXN0IHtcbiAgLS1icy10b2FzdC16aW5kZXg6IDEwOTA7XG4gIC0tYnMtdG9hc3QtcGFkZGluZy14OiAwLjc1cmVtO1xuICAtLWJzLXRvYXN0LXBhZGRpbmcteTogMC41cmVtO1xuICAtLWJzLXRvYXN0LXNwYWNpbmc6IDEuNXJlbTtcbiAgLS1icy10b2FzdC1tYXgtd2lkdGg6IDM1MHB4O1xuICAtLWJzLXRvYXN0LWZvbnQtc2l6ZTogMC44NzVyZW07XG4gIC0tYnMtdG9hc3QtY29sb3I6IDtcbiAgLS1icy10b2FzdC1iZzogcmdiYSh2YXIoLS1icy1ib2R5LWJnLXJnYiksIDAuODUpO1xuICAtLWJzLXRvYXN0LWJvcmRlci13aWR0aDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKTtcbiAgLS1icy10b2FzdC1ib3JkZXItY29sb3I6IHZhcigtLWJzLWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCk7XG4gIC0tYnMtdG9hc3QtYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7XG4gIC0tYnMtdG9hc3QtYm94LXNoYWRvdzogdmFyKC0tYnMtYm94LXNoYWRvdyk7XG4gIC0tYnMtdG9hc3QtaGVhZGVyLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktY29sb3IpO1xuICAtLWJzLXRvYXN0LWhlYWRlci1iZzogcmdiYSh2YXIoLS1icy1ib2R5LWJnLXJnYiksIDAuODUpO1xuICAtLWJzLXRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6IHZhcigtLWJzLWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCk7XG4gIHdpZHRoOiB2YXIoLS1icy10b2FzdC1tYXgtd2lkdGgpO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYnMtdG9hc3QtZm9udC1zaXplKTtcbiAgY29sb3I6IHZhcigtLWJzLXRvYXN0LWNvbG9yKTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXRvYXN0LWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS1icy10b2FzdC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLXRvYXN0LWJvcmRlci1jb2xvcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLWJzLXRvYXN0LWJveC1zaGFkb3cpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy10b2FzdC1ib3JkZXItcmFkaXVzKTtcbn1cbi50b2FzdC5zaG93aW5nIHtcbiAgb3BhY2l0eTogMDtcbn1cbi50b2FzdDpub3QoLnNob3cpIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRvYXN0LWNvbnRhaW5lciB7XG4gIC0tYnMtdG9hc3QtemluZGV4OiAxMDkwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IHZhcigtLWJzLXRvYXN0LXppbmRleCk7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi50b2FzdC1jb250YWluZXIgPiA6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWJzLXRvYXN0LXNwYWNpbmcpO1xufVxuXG4udG9hc3QtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tYnMtdG9hc3QtcGFkZGluZy15KSB2YXIoLS1icy10b2FzdC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tYnMtdG9hc3QtaGVhZGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtdG9hc3QtaGVhZGVyLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYnMtdG9hc3QtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy10b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogY2FsYyh2YXIoLS1icy10b2FzdC1ib3JkZXItcmFkaXVzKSAtIHZhcigtLWJzLXRvYXN0LWJvcmRlci13aWR0aCkpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogY2FsYyh2YXIoLS1icy10b2FzdC1ib3JkZXItcmFkaXVzKSAtIHZhcigtLWJzLXRvYXN0LWJvcmRlci13aWR0aCkpO1xufVxuLnRvYXN0LWhlYWRlciAuYnRuLWNsb3NlIHtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0wLjUgKiB2YXIoLS1icy10b2FzdC1wYWRkaW5nLXgpKTtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLWJzLXRvYXN0LXBhZGRpbmcteCk7XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogdmFyKC0tYnMtdG9hc3QtcGFkZGluZy14KTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4ubW9kYWwge1xuICAtLWJzLW1vZGFsLXppbmRleDogMTA1NTtcbiAgLS1icy1tb2RhbC13aWR0aDogNTAwcHg7XG4gIC0tYnMtbW9kYWwtcGFkZGluZzogMXJlbTtcbiAgLS1icy1tb2RhbC1tYXJnaW46IDAuNXJlbTtcbiAgLS1icy1tb2RhbC1jb2xvcjogO1xuICAtLWJzLW1vZGFsLWJnOiB2YXIoLS1icy1ib2R5LWJnKTtcbiAgLS1icy1tb2RhbC1ib3JkZXItY29sb3I6IHZhcigtLWJzLWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCk7XG4gIC0tYnMtbW9kYWwtYm9yZGVyLXdpZHRoOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpO1xuICAtLWJzLW1vZGFsLWJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtbGcpO1xuICAtLWJzLW1vZGFsLWJveC1zaGFkb3c6IHZhcigtLWJzLWJveC1zaGFkb3ctc20pO1xuICAtLWJzLW1vZGFsLWlubmVyLWJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1sZykgLSAodmFyKC0tYnMtYm9yZGVyLXdpZHRoKSkpO1xuICAtLWJzLW1vZGFsLWhlYWRlci1wYWRkaW5nLXg6IDFyZW07XG4gIC0tYnMtbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogMXJlbTtcbiAgLS1icy1tb2RhbC1oZWFkZXItcGFkZGluZzogMXJlbSAxcmVtO1xuICAtLWJzLW1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6IHZhcigtLWJzLWJvcmRlci1jb2xvcik7XG4gIC0tYnMtbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKTtcbiAgLS1icy1tb2RhbC10aXRsZS1saW5lLWhlaWdodDogMS41O1xuICAtLWJzLW1vZGFsLWZvb3Rlci1nYXA6IDAuNXJlbTtcbiAgLS1icy1tb2RhbC1mb290ZXItYmc6IDtcbiAgLS1icy1tb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1ib3JkZXItY29sb3IpO1xuICAtLWJzLW1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6IHZhcigtLWJzLWJvcmRlci13aWR0aCk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiB2YXIoLS1icy1tb2RhbC16aW5kZXgpO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG91dGxpbmU6IDA7XG59XG5cbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IHZhcigtLWJzLW1vZGFsLW1hcmdpbik7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLm1vZGFsLmZhZGUgLm1vZGFsLWRpYWxvZyB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTBweCk7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAubW9kYWwuZmFkZSAubW9kYWwtZGlhbG9nIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4ubW9kYWwuc2hvdyAubW9kYWwtZGlhbG9nIHtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuLm1vZGFsLm1vZGFsLXN0YXRpYyAubW9kYWwtZGlhbG9nIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcbn1cblxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1icy1tb2RhbC1tYXJnaW4pICogMik7XG59XG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUgLm1vZGFsLWNvbnRlbnQge1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1ib2R5IHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLWJzLW1vZGFsLW1hcmdpbikgKiAyKTtcbn1cblxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogdmFyKC0tYnMtbW9kYWwtY29sb3IpO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtbW9kYWwtYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLWJzLW1vZGFsLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtbW9kYWwtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtbW9kYWwtYm9yZGVyLXJhZGl1cyk7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5tb2RhbC1iYWNrZHJvcCB7XG4gIC0tYnMtYmFja2Ryb3AtemluZGV4OiAxMDUwO1xuICAtLWJzLWJhY2tkcm9wLWJnOiAjMDAwO1xuICAtLWJzLWJhY2tkcm9wLW9wYWNpdHk6IDAuNTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IHZhcigtLWJzLWJhY2tkcm9wLXppbmRleCk7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYmFja2Ryb3AtYmcpO1xufVxuLm1vZGFsLWJhY2tkcm9wLmZhZGUge1xuICBvcGFjaXR5OiAwO1xufVxuLm1vZGFsLWJhY2tkcm9wLnNob3cge1xuICBvcGFjaXR5OiB2YXIoLS1icy1iYWNrZHJvcC1vcGFjaXR5KTtcbn1cblxuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IHZhcigtLWJzLW1vZGFsLWhlYWRlci1wYWRkaW5nKTtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYnMtbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLW1vZGFsLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtbW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG4ubW9kYWwtaGVhZGVyIC5idG4tY2xvc2Uge1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWJzLW1vZGFsLWhlYWRlci1wYWRkaW5nLXkpICogMC41KSBjYWxjKHZhcigtLWJzLW1vZGFsLWhlYWRlci1wYWRkaW5nLXgpICogMC41KTtcbiAgbWFyZ2luOiBjYWxjKC0wLjUgKiB2YXIoLS1icy1tb2RhbC1oZWFkZXItcGFkZGluZy15KSkgY2FsYygtMC41ICogdmFyKC0tYnMtbW9kYWwtaGVhZGVyLXBhZGRpbmcteCkpIGNhbGMoLTAuNSAqIHZhcigtLWJzLW1vZGFsLWhlYWRlci1wYWRkaW5nLXkpKSBhdXRvO1xufVxuXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tYnMtbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQpO1xufVxuXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6IHZhcigtLWJzLW1vZGFsLXBhZGRpbmcpO1xufVxuXG4ubW9kYWwtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1icy1tb2RhbC1wYWRkaW5nKSAtIHZhcigtLWJzLW1vZGFsLWZvb3Rlci1nYXApICogMC41KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtbW9kYWwtZm9vdGVyLWJnKTtcbiAgYm9yZGVyLXRvcDogdmFyKC0tYnMtbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1tb2RhbC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYnMtbW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG4ubW9kYWwtZm9vdGVyID4gKiB7XG4gIG1hcmdpbjogY2FsYyh2YXIoLS1icy1tb2RhbC1mb290ZXItZ2FwKSAqIDAuNSk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAubW9kYWwge1xuICAgIC0tYnMtbW9kYWwtbWFyZ2luOiAxLjc1cmVtO1xuICAgIC0tYnMtbW9kYWwtYm94LXNoYWRvdzogdmFyKC0tYnMtYm94LXNoYWRvdyk7XG4gIH1cbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1icy1tb2RhbC13aWR0aCk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG4gIC5tb2RhbC1zbSB7XG4gICAgLS1icy1tb2RhbC13aWR0aDogMzAwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgLS1icy1tb2RhbC13aWR0aDogODAwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1vZGFsLXhsIHtcbiAgICAtLWJzLW1vZGFsLXdpZHRoOiAxMTQwcHg7XG4gIH1cbn1cbi5tb2RhbC1mdWxsc2NyZWVuIHtcbiAgd2lkdGg6IDEwMHZ3O1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuLm1vZGFsLWZ1bGxzY3JlZW4gLm1vZGFsLWNvbnRlbnQge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5tb2RhbC1mdWxsc2NyZWVuIC5tb2RhbC1oZWFkZXIsXG4ubW9kYWwtZnVsbHNjcmVlbiAubW9kYWwtZm9vdGVyIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5tb2RhbC1mdWxsc2NyZWVuIC5tb2RhbC1ib2R5IHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gIC5tb2RhbC1mdWxsc2NyZWVuLXNtLWRvd24ge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAubW9kYWwtZnVsbHNjcmVlbi1zbS1kb3duIC5tb2RhbC1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgLm1vZGFsLWZ1bGxzY3JlZW4tc20tZG93biAubW9kYWwtaGVhZGVyLFxuICAubW9kYWwtZnVsbHNjcmVlbi1zbS1kb3duIC5tb2RhbC1mb290ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgLm1vZGFsLWZ1bGxzY3JlZW4tc20tZG93biAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC5tb2RhbC1mdWxsc2NyZWVuLW1kLWRvd24ge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAubW9kYWwtZnVsbHNjcmVlbi1tZC1kb3duIC5tb2RhbC1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgLm1vZGFsLWZ1bGxzY3JlZW4tbWQtZG93biAubW9kYWwtaGVhZGVyLFxuICAubW9kYWwtZnVsbHNjcmVlbi1tZC1kb3duIC5tb2RhbC1mb290ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgLm1vZGFsLWZ1bGxzY3JlZW4tbWQtZG93biAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gIC5tb2RhbC1mdWxsc2NyZWVuLWxnLWRvd24ge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAubW9kYWwtZnVsbHNjcmVlbi1sZy1kb3duIC5tb2RhbC1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgLm1vZGFsLWZ1bGxzY3JlZW4tbGctZG93biAubW9kYWwtaGVhZGVyLFxuICAubW9kYWwtZnVsbHNjcmVlbi1sZy1kb3duIC5tb2RhbC1mb290ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgLm1vZGFsLWZ1bGxzY3JlZW4tbGctZG93biAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAubW9kYWwtZnVsbHNjcmVlbi14bC1kb3duIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLm1vZGFsLWZ1bGxzY3JlZW4teGwtZG93biAubW9kYWwtY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gIC5tb2RhbC1mdWxsc2NyZWVuLXhsLWRvd24gLm1vZGFsLWhlYWRlcixcbiAgLm1vZGFsLWZ1bGxzY3JlZW4teGwtZG93biAubW9kYWwtZm9vdGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gIC5tb2RhbC1mdWxsc2NyZWVuLXhsLWRvd24gLm1vZGFsLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMzk5Ljk4cHgpIHtcbiAgLm1vZGFsLWZ1bGxzY3JlZW4teHhsLWRvd24ge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAubW9kYWwtZnVsbHNjcmVlbi14eGwtZG93biAubW9kYWwtY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gIC5tb2RhbC1mdWxsc2NyZWVuLXh4bC1kb3duIC5tb2RhbC1oZWFkZXIsXG4gIC5tb2RhbC1mdWxsc2NyZWVuLXh4bC1kb3duIC5tb2RhbC1mb290ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgLm1vZGFsLWZ1bGxzY3JlZW4teHhsLWRvd24gLm1vZGFsLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cbi50b29sdGlwIHtcbiAgLS1icy10b29sdGlwLXppbmRleDogMTA4MDtcbiAgLS1icy10b29sdGlwLW1heC13aWR0aDogMjAwcHg7XG4gIC0tYnMtdG9vbHRpcC1wYWRkaW5nLXg6IDAuNXJlbTtcbiAgLS1icy10b29sdGlwLXBhZGRpbmcteTogMC4yNXJlbTtcbiAgLS1icy10b29sdGlwLW1hcmdpbjogO1xuICAtLWJzLXRvb2x0aXAtZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgLS1icy10b29sdGlwLWNvbG9yOiB2YXIoLS1icy1ib2R5LWJnKTtcbiAgLS1icy10b29sdGlwLWJnOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvcik7XG4gIC0tYnMtdG9vbHRpcC1ib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTtcbiAgLS1icy10b29sdGlwLW9wYWNpdHk6IDAuOTtcbiAgLS1icy10b29sdGlwLWFycm93LXdpZHRoOiAwLjhyZW07XG4gIC0tYnMtdG9vbHRpcC1hcnJvdy1oZWlnaHQ6IDAuNHJlbTtcbiAgei1pbmRleDogdmFyKC0tYnMtdG9vbHRpcC16aW5kZXgpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiB2YXIoLS1icy10b29sdGlwLW1hcmdpbik7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1icy1mb250LXNhbnMtc2VyaWYpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgZm9udC1zaXplOiB2YXIoLS1icy10b29sdGlwLWZvbnQtc2l6ZSk7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcbn1cbi50b29sdGlwLnNob3cge1xuICBvcGFjaXR5OiB2YXIoLS1icy10b29sdGlwLW9wYWNpdHkpO1xufVxuLnRvb2x0aXAgLnRvb2x0aXAtYXJyb3cge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IHZhcigtLWJzLXRvb2x0aXAtYXJyb3ctd2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLWJzLXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTtcbn1cbi50b29sdGlwIC50b29sdGlwLWFycm93OjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG5cbi5icy10b29sdGlwLXRvcCAudG9vbHRpcC1hcnJvdywgLmJzLXRvb2x0aXAtYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePXRvcF0gLnRvb2x0aXAtYXJyb3cge1xuICBib3R0b206IGNhbGMoLTEgKiB2YXIoLS1icy10b29sdGlwLWFycm93LWhlaWdodCkpO1xufVxuLmJzLXRvb2x0aXAtdG9wIC50b29sdGlwLWFycm93OjpiZWZvcmUsIC5icy10b29sdGlwLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj10b3BdIC50b29sdGlwLWFycm93OjpiZWZvcmUge1xuICB0b3A6IC0xcHg7XG4gIGJvcmRlci13aWR0aDogdmFyKC0tYnMtdG9vbHRpcC1hcnJvdy1oZWlnaHQpIGNhbGModmFyKC0tYnMtdG9vbHRpcC1hcnJvdy13aWR0aCkgKiAwLjUpIDA7XG4gIGJvcmRlci10b3AtY29sb3I6IHZhcigtLWJzLXRvb2x0aXAtYmcpO1xufVxuXG4vKiBydGw6YmVnaW46aWdub3JlICovXG4uYnMtdG9vbHRpcC1lbmQgLnRvb2x0aXAtYXJyb3csIC5icy10b29sdGlwLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1yaWdodF0gLnRvb2x0aXAtYXJyb3cge1xuICBsZWZ0OiBjYWxjKC0xICogdmFyKC0tYnMtdG9vbHRpcC1hcnJvdy1oZWlnaHQpKTtcbiAgd2lkdGg6IHZhcigtLWJzLXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS1icy10b29sdGlwLWFycm93LXdpZHRoKTtcbn1cbi5icy10b29sdGlwLWVuZCAudG9vbHRpcC1hcnJvdzo6YmVmb3JlLCAuYnMtdG9vbHRpcC1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49cmlnaHRdIC50b29sdGlwLWFycm93OjpiZWZvcmUge1xuICByaWdodDogLTFweDtcbiAgYm9yZGVyLXdpZHRoOiBjYWxjKHZhcigtLWJzLXRvb2x0aXAtYXJyb3ctd2lkdGgpICogMC41KSB2YXIoLS1icy10b29sdGlwLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS1icy10b29sdGlwLWFycm93LXdpZHRoKSAqIDAuNSkgMDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS1icy10b29sdGlwLWJnKTtcbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cbi5icy10b29sdGlwLWJvdHRvbSAudG9vbHRpcC1hcnJvdywgLmJzLXRvb2x0aXAtYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePWJvdHRvbV0gLnRvb2x0aXAtYXJyb3cge1xuICB0b3A6IGNhbGMoLTEgKiB2YXIoLS1icy10b29sdGlwLWFycm93LWhlaWdodCkpO1xufVxuLmJzLXRvb2x0aXAtYm90dG9tIC50b29sdGlwLWFycm93OjpiZWZvcmUsIC5icy10b29sdGlwLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1ib3R0b21dIC50b29sdGlwLWFycm93OjpiZWZvcmUge1xuICBib3R0b206IC0xcHg7XG4gIGJvcmRlci13aWR0aDogMCBjYWxjKHZhcigtLWJzLXRvb2x0aXAtYXJyb3ctd2lkdGgpICogMC41KSB2YXIoLS1icy10b29sdGlwLWFycm93LWhlaWdodCk7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWJzLXRvb2x0aXAtYmcpO1xufVxuXG4vKiBydGw6YmVnaW46aWdub3JlICovXG4uYnMtdG9vbHRpcC1zdGFydCAudG9vbHRpcC1hcnJvdywgLmJzLXRvb2x0aXAtYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePWxlZnRdIC50b29sdGlwLWFycm93IHtcbiAgcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS1icy10b29sdGlwLWFycm93LWhlaWdodCkpO1xuICB3aWR0aDogdmFyKC0tYnMtdG9vbHRpcC1hcnJvdy1oZWlnaHQpO1xuICBoZWlnaHQ6IHZhcigtLWJzLXRvb2x0aXAtYXJyb3ctd2lkdGgpO1xufVxuLmJzLXRvb2x0aXAtc3RhcnQgLnRvb2x0aXAtYXJyb3c6OmJlZm9yZSwgLmJzLXRvb2x0aXAtYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePWxlZnRdIC50b29sdGlwLWFycm93OjpiZWZvcmUge1xuICBsZWZ0OiAtMXB4O1xuICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tYnMtdG9vbHRpcC1hcnJvdy13aWR0aCkgKiAwLjUpIDAgY2FsYyh2YXIoLS1icy10b29sdGlwLWFycm93LXdpZHRoKSAqIDAuNSkgdmFyKC0tYnMtdG9vbHRpcC1hcnJvdy1oZWlnaHQpO1xuICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tYnMtdG9vbHRpcC1iZyk7XG59XG5cbi8qIHJ0bDplbmQ6aWdub3JlICovXG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogdmFyKC0tYnMtdG9vbHRpcC1tYXgtd2lkdGgpO1xuICBwYWRkaW5nOiB2YXIoLS1icy10b29sdGlwLXBhZGRpbmcteSkgdmFyKC0tYnMtdG9vbHRpcC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tYnMtdG9vbHRpcC1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtdG9vbHRpcC1iZyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5wb3BvdmVyIHtcbiAgLS1icy1wb3BvdmVyLXppbmRleDogMTA3MDtcbiAgLS1icy1wb3BvdmVyLW1heC13aWR0aDogMjc2cHg7XG4gIC0tYnMtcG9wb3Zlci1mb250LXNpemU6IDAuODc1cmVtO1xuICAtLWJzLXBvcG92ZXItYmc6IHZhcigtLWJzLWJvZHktYmcpO1xuICAtLWJzLXBvcG92ZXItYm9yZGVyLXdpZHRoOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpO1xuICAtLWJzLXBvcG92ZXItYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpO1xuICAtLWJzLXBvcG92ZXItYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1sZyk7XG4gIC0tYnMtcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJzLWJvcmRlci1yYWRpdXMtbGcpIC0gdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSk7XG4gIC0tYnMtcG9wb3Zlci1ib3gtc2hhZG93OiB2YXIoLS1icy1ib3gtc2hhZG93KTtcbiAgLS1icy1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6IDFyZW07XG4gIC0tYnMtcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAwLjVyZW07XG4gIC0tYnMtcG9wb3Zlci1oZWFkZXItZm9udC1zaXplOiAxcmVtO1xuICAtLWJzLXBvcG92ZXItaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuICAtLWJzLXBvcG92ZXItaGVhZGVyLWJnOiB2YXIoLS1icy1zZWNvbmRhcnktYmcpO1xuICAtLWJzLXBvcG92ZXItYm9keS1wYWRkaW5nLXg6IDFyZW07XG4gIC0tYnMtcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogMXJlbTtcbiAgLS1icy1wb3BvdmVyLWJvZHktY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpO1xuICAtLWJzLXBvcG92ZXItYXJyb3ctd2lkdGg6IDFyZW07XG4gIC0tYnMtcG9wb3Zlci1hcnJvdy1oZWlnaHQ6IDAuNXJlbTtcbiAgLS1icy1wb3BvdmVyLWFycm93LWJvcmRlcjogdmFyKC0tYnMtcG9wb3Zlci1ib3JkZXItY29sb3IpO1xuICB6LWluZGV4OiB2YXIoLS1icy1wb3BvdmVyLXppbmRleCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IHZhcigtLWJzLXBvcG92ZXItbWF4LXdpZHRoKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWJzLWZvbnQtc2Fucy1zZXJpZik7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xuICBmb250LXNpemU6IHZhcigtLWJzLXBvcG92ZXItZm9udC1zaXplKTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1wb3BvdmVyLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS1icy1wb3BvdmVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtcG9wb3Zlci1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1wb3BvdmVyLWJvcmRlci1yYWRpdXMpO1xufVxuLnBvcG92ZXIgLnBvcG92ZXItYXJyb3cge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IHZhcigtLWJzLXBvcG92ZXItYXJyb3ctd2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLWJzLXBvcG92ZXItYXJyb3ctaGVpZ2h0KTtcbn1cbi5wb3BvdmVyIC5wb3BvdmVyLWFycm93OjpiZWZvcmUsIC5wb3BvdmVyIC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cblxuLmJzLXBvcG92ZXItdG9wID4gLnBvcG92ZXItYXJyb3csIC5icy1wb3BvdmVyLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj10b3BdID4gLnBvcG92ZXItYXJyb3cge1xuICBib3R0b206IGNhbGMoLTEgKiAodmFyKC0tYnMtcG9wb3Zlci1hcnJvdy1oZWlnaHQpKSAtIHZhcigtLWJzLXBvcG92ZXItYm9yZGVyLXdpZHRoKSk7XG59XG4uYnMtcG9wb3Zlci10b3AgPiAucG9wb3Zlci1hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49dG9wXSA+IC5wb3BvdmVyLWFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLXRvcCA+IC5wb3BvdmVyLWFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePXRvcF0gPiAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIge1xuICBib3JkZXItd2lkdGg6IHZhcigtLWJzLXBvcG92ZXItYXJyb3ctaGVpZ2h0KSBjYWxjKHZhcigtLWJzLXBvcG92ZXItYXJyb3ctd2lkdGgpICogMC41KSAwO1xufVxuLmJzLXBvcG92ZXItdG9wID4gLnBvcG92ZXItYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePXRvcF0gPiAucG9wb3Zlci1hcnJvdzo6YmVmb3JlIHtcbiAgYm90dG9tOiAwO1xuICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1icy1wb3BvdmVyLWFycm93LWJvcmRlcik7XG59XG4uYnMtcG9wb3Zlci10b3AgPiAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIsIC5icy1wb3BvdmVyLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj10b3BdID4gLnBvcG92ZXItYXJyb3c6OmFmdGVyIHtcbiAgYm90dG9tOiB2YXIoLS1icy1wb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gIGJvcmRlci10b3AtY29sb3I6IHZhcigtLWJzLXBvcG92ZXItYmcpO1xufVxuXG4vKiBydGw6YmVnaW46aWdub3JlICovXG4uYnMtcG9wb3Zlci1lbmQgPiAucG9wb3Zlci1hcnJvdywgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePXJpZ2h0XSA+IC5wb3BvdmVyLWFycm93IHtcbiAgbGVmdDogY2FsYygtMSAqICh2YXIoLS1icy1wb3BvdmVyLWFycm93LWhlaWdodCkpIC0gdmFyKC0tYnMtcG9wb3Zlci1ib3JkZXItd2lkdGgpKTtcbiAgd2lkdGg6IHZhcigtLWJzLXBvcG92ZXItYXJyb3ctaGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS1icy1wb3BvdmVyLWFycm93LXdpZHRoKTtcbn1cbi5icy1wb3BvdmVyLWVuZCA+IC5wb3BvdmVyLWFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1yaWdodF0gPiAucG9wb3Zlci1hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1lbmQgPiAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIsIC5icy1wb3BvdmVyLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1yaWdodF0gPiAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIge1xuICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tYnMtcG9wb3Zlci1hcnJvdy13aWR0aCkgKiAwLjUpIHZhcigtLWJzLXBvcG92ZXItYXJyb3ctaGVpZ2h0KSBjYWxjKHZhcigtLWJzLXBvcG92ZXItYXJyb3ctd2lkdGgpICogMC41KSAwO1xufVxuLmJzLXBvcG92ZXItZW5kID4gLnBvcG92ZXItYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePXJpZ2h0XSA+IC5wb3BvdmVyLWFycm93OjpiZWZvcmUge1xuICBsZWZ0OiAwO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLWJzLXBvcG92ZXItYXJyb3ctYm9yZGVyKTtcbn1cbi5icy1wb3BvdmVyLWVuZCA+IC5wb3BvdmVyLWFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePXJpZ2h0XSA+IC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gIGxlZnQ6IHZhcigtLWJzLXBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS1icy1wb3BvdmVyLWJnKTtcbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cbi5icy1wb3BvdmVyLWJvdHRvbSA+IC5wb3BvdmVyLWFycm93LCAuYnMtcG9wb3Zlci1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49Ym90dG9tXSA+IC5wb3BvdmVyLWFycm93IHtcbiAgdG9wOiBjYWxjKC0xICogKHZhcigtLWJzLXBvcG92ZXItYXJyb3ctaGVpZ2h0KSkgLSB2YXIoLS1icy1wb3BvdmVyLWJvcmRlci13aWR0aCkpO1xufVxuLmJzLXBvcG92ZXItYm90dG9tID4gLnBvcG92ZXItYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePWJvdHRvbV0gPiAucG9wb3Zlci1hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1ib3R0b20gPiAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIsIC5icy1wb3BvdmVyLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1ib3R0b21dID4gLnBvcG92ZXItYXJyb3c6OmFmdGVyIHtcbiAgYm9yZGVyLXdpZHRoOiAwIGNhbGModmFyKC0tYnMtcG9wb3Zlci1hcnJvdy13aWR0aCkgKiAwLjUpIHZhcigtLWJzLXBvcG92ZXItYXJyb3ctaGVpZ2h0KTtcbn1cbi5icy1wb3BvdmVyLWJvdHRvbSA+IC5wb3BvdmVyLWFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1ib3R0b21dID4gLnBvcG92ZXItYXJyb3c6OmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tYnMtcG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xufVxuLmJzLXBvcG92ZXItYm90dG9tID4gLnBvcG92ZXItYXJyb3c6OmFmdGVyLCAuYnMtcG9wb3Zlci1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49Ym90dG9tXSA+IC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gIHRvcDogdmFyKC0tYnMtcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1icy1wb3BvdmVyLWJnKTtcbn1cbi5icy1wb3BvdmVyLWJvdHRvbSAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePWJvdHRvbV0gLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IHZhcigtLWJzLXBvcG92ZXItYXJyb3ctd2lkdGgpO1xuICBtYXJnaW4tbGVmdDogY2FsYygtMC41ICogdmFyKC0tYnMtcG9wb3Zlci1hcnJvdy13aWR0aCkpO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS1icy1wb3BvdmVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtcG9wb3Zlci1oZWFkZXItYmcpO1xufVxuXG4vKiBydGw6YmVnaW46aWdub3JlICovXG4uYnMtcG9wb3Zlci1zdGFydCA+IC5wb3BvdmVyLWFycm93LCAuYnMtcG9wb3Zlci1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49bGVmdF0gPiAucG9wb3Zlci1hcnJvdyB7XG4gIHJpZ2h0OiBjYWxjKC0xICogKHZhcigtLWJzLXBvcG92ZXItYXJyb3ctaGVpZ2h0KSkgLSB2YXIoLS1icy1wb3BvdmVyLWJvcmRlci13aWR0aCkpO1xuICB3aWR0aDogdmFyKC0tYnMtcG9wb3Zlci1hcnJvdy1oZWlnaHQpO1xuICBoZWlnaHQ6IHZhcigtLWJzLXBvcG92ZXItYXJyb3ctd2lkdGgpO1xufVxuLmJzLXBvcG92ZXItc3RhcnQgPiAucG9wb3Zlci1hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49bGVmdF0gPiAucG9wb3Zlci1hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1zdGFydCA+IC5wb3BvdmVyLWFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePWxlZnRdID4gLnBvcG92ZXItYXJyb3c6OmFmdGVyIHtcbiAgYm9yZGVyLXdpZHRoOiBjYWxjKHZhcigtLWJzLXBvcG92ZXItYXJyb3ctd2lkdGgpICogMC41KSAwIGNhbGModmFyKC0tYnMtcG9wb3Zlci1hcnJvdy13aWR0aCkgKiAwLjUpIHZhcigtLWJzLXBvcG92ZXItYXJyb3ctaGVpZ2h0KTtcbn1cbi5icy1wb3BvdmVyLXN0YXJ0ID4gLnBvcG92ZXItYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1tkYXRhLXBvcHBlci1wbGFjZW1lbnRePWxlZnRdID4gLnBvcG92ZXItYXJyb3c6OmJlZm9yZSB7XG4gIHJpZ2h0OiAwO1xuICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tYnMtcG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xufVxuLmJzLXBvcG92ZXItc3RhcnQgPiAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIsIC5icy1wb3BvdmVyLWF1dG9bZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1sZWZ0XSA+IC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gIHJpZ2h0OiB2YXIoLS1icy1wb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1icy1wb3BvdmVyLWJnKTtcbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6IHZhcigtLWJzLXBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSkgdmFyKC0tYnMtcG9wb3Zlci1oZWFkZXItcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiB2YXIoLS1icy1wb3BvdmVyLWhlYWRlci1mb250LXNpemUpO1xuICBjb2xvcjogdmFyKC0tYnMtcG9wb3Zlci1oZWFkZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1wb3BvdmVyLWhlYWRlci1iZyk7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLWJzLXBvcG92ZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1wb3BvdmVyLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLXBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1wb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuLnBvcG92ZXItaGVhZGVyOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBvcG92ZXItYm9keSB7XG4gIHBhZGRpbmc6IHZhcigtLWJzLXBvcG92ZXItYm9keS1wYWRkaW5nLXkpIHZhcigtLWJzLXBvcG92ZXItYm9keS1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tYnMtcG9wb3Zlci1ib2R5LWNvbG9yKTtcbn1cblxuLmNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2Fyb3VzZWwucG9pbnRlci1ldmVudCB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uY2Fyb3VzZWwtaW5uZXI6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4uY2Fyb3VzZWwtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzIGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmNhcm91c2VsLWl0ZW0ge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cblxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dDpub3QoLmNhcm91c2VsLWl0ZW0tc3RhcnQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWVuZCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0tcHJldjpub3QoLmNhcm91c2VsLWl0ZW0tZW5kKSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1zdGFydCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pdGVtIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLXN0YXJ0LFxuLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLWVuZCB7XG4gIHotaW5kZXg6IDE7XG4gIG9wYWNpdHk6IDE7XG59XG4uY2Fyb3VzZWwtZmFkZSAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tc3RhcnQsXG4uY2Fyb3VzZWwtZmFkZSAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tZW5kIHtcbiAgei1pbmRleDogMDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwcyAwLjZzO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXN0YXJ0LFxuICAuY2Fyb3VzZWwtZmFkZSAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tZW5kIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxNSU7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgb3BhY2l0eTogMC41O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2U7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuY2Fyb3VzZWwtY29udHJvbC1wcmV2LFxuICAuY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2OmhvdmVyLCAuY2Fyb3VzZWwtY29udHJvbC1wcmV2OmZvY3VzLFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dDpob3Zlcixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQ6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdXRsaW5lOiAwO1xuICBvcGFjaXR5OiAwLjk7XG59XG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xufVxuXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcmlnaHQ6IDA7XG59XG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cblxuLyogcnRsOm9wdGlvbnM6IHtcbiAgXCJhdXRvUmVuYW1lXCI6IHRydWUsXG4gIFwic3RyaW5nTWFwXCI6WyB7XG4gICAgXCJuYW1lXCIgICAgOiBcInByZXYtbmV4dFwiLFxuICAgIFwic2VhcmNoXCIgIDogXCJwcmV2XCIsXG4gICAgXCJyZXBsYWNlXCIgOiBcIm5leHRcIlxuICB9IF1cbn0gKi9cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyUyM2ZmZiclM2UlM2NwYXRoIGQ9J00xMS4zNTQgMS42NDZhLjUuNSAwIDAgMSAwIC43MDhMNS43MDcgOGw1LjY0NyA1LjY0NmEuNS41IDAgMCAxLS43MDguNzA4bC02LTZhLjUuNSAwIDAgMSAwLS43MDhsNi02YS41LjUgMCAwIDEgLjcwOCAweicvJTNlJTNjL3N2ZyUzZVwiKTtcbn1cblxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nJTIzZmZmJyUzZSUzY3BhdGggZD0nTTQuNjQ2IDEuNjQ2YS41LjUgMCAwIDEgLjcwOCAwbDYgNmEuNS41IDAgMCAxIDAgLjcwOGwtNiA2YS41LjUgMCAwIDEtLjcwOC0uNzA4TDEwLjI5MyA4IDQuNjQ2IDIuMzU0YS41LjUgMCAwIDEgMC0uNzA4eicvJTNlJTNjL3N2ZyUzZVwiKTtcbn1cblxuLmNhcm91c2VsLWluZGljYXRvcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDE1JTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDE1JTtcbn1cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIFtkYXRhLWJzLXRhcmdldF0ge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDNweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gIG1hcmdpbi1sZWZ0OiAzcHg7XG4gIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBvcGFjaXR5OiAwLjU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cyBlYXNlO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmNhcm91c2VsLWluZGljYXRvcnMgW2RhdGEtYnMtdGFyZ2V0XSB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuLmNhcm91c2VsLWluZGljYXRvcnMgLmFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTUlO1xuICBib3R0b206IDEuMjVyZW07XG4gIGxlZnQ6IDE1JTtcbiAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY2Fyb3VzZWwtZGFyayAuY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4uY2Fyb3VzZWwtZGFyayAuY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBmaWx0ZXI6IGludmVydCgxKSBncmF5c2NhbGUoMTAwKTtcbn1cbi5jYXJvdXNlbC1kYXJrIC5jYXJvdXNlbC1pbmRpY2F0b3JzIFtkYXRhLWJzLXRhcmdldF0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuLmNhcm91c2VsLWRhcmsgLmNhcm91c2VsLWNhcHRpb24ge1xuICBjb2xvcjogIzAwMDtcbn1cblxuW2RhdGEtYnMtdGhlbWU9ZGFya10gLmNhcm91c2VsIC5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbltkYXRhLWJzLXRoZW1lPWRhcmtdIC5jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24sIFtkYXRhLWJzLXRoZW1lPWRhcmtdLmNhcm91c2VsIC5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbltkYXRhLWJzLXRoZW1lPWRhcmtdLmNhcm91c2VsIC5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGZpbHRlcjogaW52ZXJ0KDEpIGdyYXlzY2FsZSgxMDApO1xufVxuW2RhdGEtYnMtdGhlbWU9ZGFya10gLmNhcm91c2VsIC5jYXJvdXNlbC1pbmRpY2F0b3JzIFtkYXRhLWJzLXRhcmdldF0sIFtkYXRhLWJzLXRoZW1lPWRhcmtdLmNhcm91c2VsIC5jYXJvdXNlbC1pbmRpY2F0b3JzIFtkYXRhLWJzLXRhcmdldF0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuW2RhdGEtYnMtdGhlbWU9ZGFya10gLmNhcm91c2VsIC5jYXJvdXNlbC1jYXB0aW9uLCBbZGF0YS1icy10aGVtZT1kYXJrXS5jYXJvdXNlbCAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4uc3Bpbm5lci1ncm93LFxuLnNwaW5uZXItYm9yZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogdmFyKC0tYnMtc3Bpbm5lci13aWR0aCk7XG4gIGhlaWdodDogdmFyKC0tYnMtc3Bpbm5lci1oZWlnaHQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogdmFyKC0tYnMtc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbik7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiB2YXIoLS1icy1zcGlubmVyLWFuaW1hdGlvbi1zcGVlZCkgbGluZWFyIGluZmluaXRlIHZhcigtLWJzLXNwaW5uZXItYW5pbWF0aW9uLW5hbWUpO1xufVxuXG5Aa2V5ZnJhbWVzIHNwaW5uZXItYm9yZGVyIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZykgLyogcnRsOmlnbm9yZSAqLztcbiAgfVxufVxuLnNwaW5uZXItYm9yZGVyIHtcbiAgLS1icy1zcGlubmVyLXdpZHRoOiAycmVtO1xuICAtLWJzLXNwaW5uZXItaGVpZ2h0OiAycmVtO1xuICAtLWJzLXNwaW5uZXItdmVydGljYWwtYWxpZ246IC0wLjEyNWVtO1xuICAtLWJzLXNwaW5uZXItYm9yZGVyLXdpZHRoOiAwLjI1ZW07XG4gIC0tYnMtc3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6IDAuNzVzO1xuICAtLWJzLXNwaW5uZXItYW5pbWF0aW9uLW5hbWU6IHNwaW5uZXItYm9yZGVyO1xuICBib3JkZXI6IHZhcigtLWJzLXNwaW5uZXItYm9yZGVyLXdpZHRoKSBzb2xpZCBjdXJyZW50Y29sb3I7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5zcGlubmVyLWJvcmRlci1zbSB7XG4gIC0tYnMtc3Bpbm5lci13aWR0aDogMXJlbTtcbiAgLS1icy1zcGlubmVyLWhlaWdodDogMXJlbTtcbiAgLS1icy1zcGlubmVyLWJvcmRlci13aWR0aDogMC4yZW07XG59XG5cbkBrZXlmcmFtZXMgc3Bpbm5lci1ncm93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLnNwaW5uZXItZ3JvdyB7XG4gIC0tYnMtc3Bpbm5lci13aWR0aDogMnJlbTtcbiAgLS1icy1zcGlubmVyLWhlaWdodDogMnJlbTtcbiAgLS1icy1zcGlubmVyLXZlcnRpY2FsLWFsaWduOiAtMC4xMjVlbTtcbiAgLS1icy1zcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogMC43NXM7XG4gIC0tYnMtc3Bpbm5lci1hbmltYXRpb24tbmFtZTogc3Bpbm5lci1ncm93O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zcGlubmVyLWdyb3ctc20ge1xuICAtLWJzLXNwaW5uZXItd2lkdGg6IDFyZW07XG4gIC0tYnMtc3Bpbm5lci1oZWlnaHQ6IDFyZW07XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5zcGlubmVyLWJvcmRlcixcbiAgLnNwaW5uZXItZ3JvdyB7XG4gICAgLS1icy1zcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogMS41cztcbiAgfVxufVxuLm9mZmNhbnZhcywgLm9mZmNhbnZhcy14eGwsIC5vZmZjYW52YXMteGwsIC5vZmZjYW52YXMtbGcsIC5vZmZjYW52YXMtbWQsIC5vZmZjYW52YXMtc20ge1xuICAtLWJzLW9mZmNhbnZhcy16aW5kZXg6IDEwNDU7XG4gIC0tYnMtb2ZmY2FudmFzLXdpZHRoOiA0MDBweDtcbiAgLS1icy1vZmZjYW52YXMtaGVpZ2h0OiAzMHZoO1xuICAtLWJzLW9mZmNhbnZhcy1wYWRkaW5nLXg6IDFyZW07XG4gIC0tYnMtb2ZmY2FudmFzLXBhZGRpbmcteTogMXJlbTtcbiAgLS1icy1vZmZjYW52YXMtY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpO1xuICAtLWJzLW9mZmNhbnZhcy1iZzogdmFyKC0tYnMtYm9keS1iZyk7XG4gIC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKTtcbiAgLS1icy1vZmZjYW52YXMtYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpO1xuICAtLWJzLW9mZmNhbnZhcy1ib3gtc2hhZG93OiB2YXIoLS1icy1ib3gtc2hhZG93LXNtKTtcbiAgLS1icy1vZmZjYW52YXMtdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIC0tYnMtb2ZmY2FudmFzLXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xuICAub2ZmY2FudmFzLXNtIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IHZhcigtLWJzLW9mZmNhbnZhcy16aW5kZXgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6IHZhcigtLWJzLW9mZmNhbnZhcy1jb2xvcik7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLW9mZmNhbnZhcy1iZyk7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBvdXRsaW5lOiAwO1xuICAgIHRyYW5zaXRpb246IHZhcigtLWJzLW9mZmNhbnZhcy10cmFuc2l0aW9uKTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAub2ZmY2FudmFzLXNtIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgLm9mZmNhbnZhcy1zbS5vZmZjYW52YXMtc3RhcnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiB2YXIoLS1icy1vZmZjYW52YXMtd2lkdGgpO1xuICAgIGJvcmRlci1yaWdodDogdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgfVxuICAub2ZmY2FudmFzLXNtLm9mZmNhbnZhcy1lbmQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogdmFyKC0tYnMtb2ZmY2FudmFzLXdpZHRoKTtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB9XG4gIC5vZmZjYW52YXMtc20ub2ZmY2FudmFzLXRvcCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiB2YXIoLS1icy1vZmZjYW52YXMtaGVpZ2h0KTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIH1cbiAgLm9mZmNhbnZhcy1zbS5vZmZjYW52YXMtYm90dG9tIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogdmFyKC0tYnMtb2ZmY2FudmFzLWhlaWdodCk7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIH1cbiAgLm9mZmNhbnZhcy1zbS5zaG93aW5nLCAub2ZmY2FudmFzLXNtLnNob3c6bm90KC5oaWRpbmcpIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZmNhbnZhcy1zbS5zaG93aW5nLCAub2ZmY2FudmFzLXNtLmhpZGluZywgLm9mZmNhbnZhcy1zbS5zaG93IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm9mZmNhbnZhcy1zbSB7XG4gICAgLS1icy1vZmZjYW52YXMtaGVpZ2h0OiBhdXRvO1xuICAgIC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB9XG4gIC5vZmZjYW52YXMtc20gLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZmNhbnZhcy1zbSAub2ZmY2FudmFzLWJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAub2ZmY2FudmFzLW1kIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IHZhcigtLWJzLW9mZmNhbnZhcy16aW5kZXgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6IHZhcigtLWJzLW9mZmNhbnZhcy1jb2xvcik7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLW9mZmNhbnZhcy1iZyk7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBvdXRsaW5lOiAwO1xuICAgIHRyYW5zaXRpb246IHZhcigtLWJzLW9mZmNhbnZhcy10cmFuc2l0aW9uKTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAub2ZmY2FudmFzLW1kIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLm9mZmNhbnZhcy1tZC5vZmZjYW52YXMtc3RhcnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiB2YXIoLS1icy1vZmZjYW52YXMtd2lkdGgpO1xuICAgIGJvcmRlci1yaWdodDogdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgfVxuICAub2ZmY2FudmFzLW1kLm9mZmNhbnZhcy1lbmQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogdmFyKC0tYnMtb2ZmY2FudmFzLXdpZHRoKTtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB9XG4gIC5vZmZjYW52YXMtbWQub2ZmY2FudmFzLXRvcCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiB2YXIoLS1icy1vZmZjYW52YXMtaGVpZ2h0KTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIH1cbiAgLm9mZmNhbnZhcy1tZC5vZmZjYW52YXMtYm90dG9tIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogdmFyKC0tYnMtb2ZmY2FudmFzLWhlaWdodCk7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIH1cbiAgLm9mZmNhbnZhcy1tZC5zaG93aW5nLCAub2ZmY2FudmFzLW1kLnNob3c6bm90KC5oaWRpbmcpIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZmNhbnZhcy1tZC5zaG93aW5nLCAub2ZmY2FudmFzLW1kLmhpZGluZywgLm9mZmNhbnZhcy1tZC5zaG93IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm9mZmNhbnZhcy1tZCB7XG4gICAgLS1icy1vZmZjYW52YXMtaGVpZ2h0OiBhdXRvO1xuICAgIC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB9XG4gIC5vZmZjYW52YXMtbWQgLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZmNhbnZhcy1tZCAub2ZmY2FudmFzLWJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAub2ZmY2FudmFzLWxnIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IHZhcigtLWJzLW9mZmNhbnZhcy16aW5kZXgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6IHZhcigtLWJzLW9mZmNhbnZhcy1jb2xvcik7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLW9mZmNhbnZhcy1iZyk7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBvdXRsaW5lOiAwO1xuICAgIHRyYW5zaXRpb246IHZhcigtLWJzLW9mZmNhbnZhcy10cmFuc2l0aW9uKTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAub2ZmY2FudmFzLWxnIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgLm9mZmNhbnZhcy1sZy5vZmZjYW52YXMtc3RhcnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiB2YXIoLS1icy1vZmZjYW52YXMtd2lkdGgpO1xuICAgIGJvcmRlci1yaWdodDogdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgfVxuICAub2ZmY2FudmFzLWxnLm9mZmNhbnZhcy1lbmQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogdmFyKC0tYnMtb2ZmY2FudmFzLXdpZHRoKTtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB9XG4gIC5vZmZjYW52YXMtbGcub2ZmY2FudmFzLXRvcCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiB2YXIoLS1icy1vZmZjYW52YXMtaGVpZ2h0KTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIH1cbiAgLm9mZmNhbnZhcy1sZy5vZmZjYW52YXMtYm90dG9tIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogdmFyKC0tYnMtb2ZmY2FudmFzLWhlaWdodCk7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIH1cbiAgLm9mZmNhbnZhcy1sZy5zaG93aW5nLCAub2ZmY2FudmFzLWxnLnNob3c6bm90KC5oaWRpbmcpIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZmNhbnZhcy1sZy5zaG93aW5nLCAub2ZmY2FudmFzLWxnLmhpZGluZywgLm9mZmNhbnZhcy1sZy5zaG93IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm9mZmNhbnZhcy1sZyB7XG4gICAgLS1icy1vZmZjYW52YXMtaGVpZ2h0OiBhdXRvO1xuICAgIC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB9XG4gIC5vZmZjYW52YXMtbGcgLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZmNhbnZhcy1sZyAub2ZmY2FudmFzLWJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcbiAgLm9mZmNhbnZhcy14bCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiB2YXIoLS1icy1vZmZjYW52YXMtemluZGV4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiB2YXIoLS1icy1vZmZjYW52YXMtY29sb3IpO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1vZmZjYW52YXMtYmcpO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgb3V0bGluZTogMDtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS1icy1vZmZjYW52YXMtdHJhbnNpdGlvbik7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5vZmZjYW52YXMteGwge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcbiAgLm9mZmNhbnZhcy14bC5vZmZjYW52YXMtc3RhcnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiB2YXIoLS1icy1vZmZjYW52YXMtd2lkdGgpO1xuICAgIGJvcmRlci1yaWdodDogdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgfVxuICAub2ZmY2FudmFzLXhsLm9mZmNhbnZhcy1lbmQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogdmFyKC0tYnMtb2ZmY2FudmFzLXdpZHRoKTtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB9XG4gIC5vZmZjYW52YXMteGwub2ZmY2FudmFzLXRvcCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiB2YXIoLS1icy1vZmZjYW52YXMtaGVpZ2h0KTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIH1cbiAgLm9mZmNhbnZhcy14bC5vZmZjYW52YXMtYm90dG9tIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogdmFyKC0tYnMtb2ZmY2FudmFzLWhlaWdodCk7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIH1cbiAgLm9mZmNhbnZhcy14bC5zaG93aW5nLCAub2ZmY2FudmFzLXhsLnNob3c6bm90KC5oaWRpbmcpIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZmNhbnZhcy14bC5zaG93aW5nLCAub2ZmY2FudmFzLXhsLmhpZGluZywgLm9mZmNhbnZhcy14bC5zaG93IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5vZmZjYW52YXMteGwge1xuICAgIC0tYnMtb2ZmY2FudmFzLWhlaWdodDogYXV0bztcbiAgICAtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGg6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgfVxuICAub2ZmY2FudmFzLXhsIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmZjYW52YXMteGwgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTM5OS45OHB4KSB7XG4gIC5vZmZjYW52YXMteHhsIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IHZhcigtLWJzLW9mZmNhbnZhcy16aW5kZXgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6IHZhcigtLWJzLW9mZmNhbnZhcy1jb2xvcik7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLW9mZmNhbnZhcy1iZyk7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBvdXRsaW5lOiAwO1xuICAgIHRyYW5zaXRpb246IHZhcigtLWJzLW9mZmNhbnZhcy10cmFuc2l0aW9uKTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEzOTkuOThweCkgYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLm9mZmNhbnZhcy14eGwge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMzk5Ljk4cHgpIHtcbiAgLm9mZmNhbnZhcy14eGwub2ZmY2FudmFzLXN0YXJ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogdmFyKC0tYnMtb2ZmY2FudmFzLXdpZHRoKTtcbiAgICBib3JkZXItcmlnaHQ6IHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIH1cbiAgLm9mZmNhbnZhcy14eGwub2ZmY2FudmFzLWVuZCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiB2YXIoLS1icy1vZmZjYW52YXMtd2lkdGgpO1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIH1cbiAgLm9mZmNhbnZhcy14eGwub2ZmY2FudmFzLXRvcCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiB2YXIoLS1icy1vZmZjYW52YXMtaGVpZ2h0KTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIH1cbiAgLm9mZmNhbnZhcy14eGwub2ZmY2FudmFzLWJvdHRvbSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IHZhcigtLWJzLW9mZmNhbnZhcy1oZWlnaHQpO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB9XG4gIC5vZmZjYW52YXMteHhsLnNob3dpbmcsIC5vZmZjYW52YXMteHhsLnNob3c6bm90KC5oaWRpbmcpIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZmNhbnZhcy14eGwuc2hvd2luZywgLm9mZmNhbnZhcy14eGwuaGlkaW5nLCAub2ZmY2FudmFzLXh4bC5zaG93IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5vZmZjYW52YXMteHhsIHtcbiAgICAtLWJzLW9mZmNhbnZhcy1oZWlnaHQ6IGF1dG87XG4gICAgLS1icy1vZmZjYW52YXMtYm9yZGVyLXdpZHRoOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9mZmNhbnZhcy14eGwgLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZmNhbnZhcy14eGwgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgfVxufVxuXG4ub2ZmY2FudmFzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IHZhcigtLWJzLW9mZmNhbnZhcy16aW5kZXgpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiB2YXIoLS1icy1vZmZjYW52YXMtY29sb3IpO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLW9mZmNhbnZhcy1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIG91dGxpbmU6IDA7XG4gIHRyYW5zaXRpb246IHZhcigtLWJzLW9mZmNhbnZhcy10cmFuc2l0aW9uKTtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5vZmZjYW52YXMge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5vZmZjYW52YXMub2ZmY2FudmFzLXN0YXJ0IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogdmFyKC0tYnMtb2ZmY2FudmFzLXdpZHRoKTtcbiAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1icy1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cbi5vZmZjYW52YXMub2ZmY2FudmFzLWVuZCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiB2YXIoLS1icy1vZmZjYW52YXMtd2lkdGgpO1xuICBib3JkZXItbGVmdDogdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnMtb2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cbi5vZmZjYW52YXMub2ZmY2FudmFzLXRvcCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogdmFyKC0tYnMtb2ZmY2FudmFzLWhlaWdodCk7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xufVxuLm9mZmNhbnZhcy5vZmZjYW52YXMtYm90dG9tIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogdmFyKC0tYnMtb2ZmY2FudmFzLWhlaWdodCk7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci10b3A6IHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJzLW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG59XG4ub2ZmY2FudmFzLnNob3dpbmcsIC5vZmZjYW52YXMuc2hvdzpub3QoLmhpZGluZykge1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG4ub2ZmY2FudmFzLnNob3dpbmcsIC5vZmZjYW52YXMuaGlkaW5nLCAub2ZmY2FudmFzLnNob3cge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4ub2ZmY2FudmFzLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwNDA7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbn1cbi5vZmZjYW52YXMtYmFja2Ryb3AuZmFkZSB7XG4gIG9wYWNpdHk6IDA7XG59XG4ub2ZmY2FudmFzLWJhY2tkcm9wLnNob3cge1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbi5vZmZjYW52YXMtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiB2YXIoLS1icy1vZmZjYW52YXMtcGFkZGluZy15KSB2YXIoLS1icy1vZmZjYW52YXMtcGFkZGluZy14KTtcbn1cbi5vZmZjYW52YXMtaGVhZGVyIC5idG4tY2xvc2Uge1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWJzLW9mZmNhbnZhcy1wYWRkaW5nLXkpICogMC41KSBjYWxjKHZhcigtLWJzLW9mZmNhbnZhcy1wYWRkaW5nLXgpICogMC41KTtcbiAgbWFyZ2luLXRvcDogY2FsYygtMC41ICogdmFyKC0tYnMtb2ZmY2FudmFzLXBhZGRpbmcteSkpO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTAuNSAqIHZhcigtLWJzLW9mZmNhbnZhcy1wYWRkaW5nLXgpKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygtMC41ICogdmFyKC0tYnMtb2ZmY2FudmFzLXBhZGRpbmcteSkpO1xufVxuXG4ub2ZmY2FudmFzLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWJzLW9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodCk7XG59XG5cbi5vZmZjYW52YXMtYm9keSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgcGFkZGluZzogdmFyKC0tYnMtb2ZmY2FudmFzLXBhZGRpbmcteSkgdmFyKC0tYnMtb2ZmY2FudmFzLXBhZGRpbmcteCk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5wbGFjZWhvbGRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHdhaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgb3BhY2l0eTogMC41O1xufVxuLnBsYWNlaG9sZGVyLmJ0bjo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4ucGxhY2Vob2xkZXIteHMge1xuICBtaW4taGVpZ2h0OiAwLjZlbTtcbn1cblxuLnBsYWNlaG9sZGVyLXNtIHtcbiAgbWluLWhlaWdodDogMC44ZW07XG59XG5cbi5wbGFjZWhvbGRlci1sZyB7XG4gIG1pbi1oZWlnaHQ6IDEuMmVtO1xufVxuXG4ucGxhY2Vob2xkZXItZ2xvdyAucGxhY2Vob2xkZXIge1xuICBhbmltYXRpb246IHBsYWNlaG9sZGVyLWdsb3cgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgcGxhY2Vob2xkZXItZ2xvdyB7XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4yO1xuICB9XG59XG4ucGxhY2Vob2xkZXItd2F2ZSB7XG4gIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxMzBkZWcsICMwMDAgNTUlLCByZ2JhKDAsIDAsIDAsIDAuOCkgNzUlLCAjMDAwIDk1JSk7XG4gIG1hc2stc2l6ZTogMjAwJSAxMDAlO1xuICBhbmltYXRpb246IHBsYWNlaG9sZGVyLXdhdmUgMnMgbGluZWFyIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHBsYWNlaG9sZGVyLXdhdmUge1xuICAxMDAlIHtcbiAgICBtYXNrLXBvc2l0aW9uOiAtMjAwJSAwJTtcbiAgfVxufVxuLmFsaWduLWJhc2VsaW5lIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi10b3Age1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1taWRkbGUge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1ib3R0b20ge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi10ZXh0LWJvdHRvbSB7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbSAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tdGV4dC10b3Age1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3AgIWltcG9ydGFudDtcbn1cblxuLmZsb2F0LXN0YXJ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLmZsb2F0LWVuZCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuXG4uZmxvYXQtbm9uZSB7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5vYmplY3QtZml0LWNvbnRhaW4ge1xuICBvYmplY3QtZml0OiBjb250YWluICFpbXBvcnRhbnQ7XG59XG5cbi5vYmplY3QtZml0LWNvdmVyIHtcbiAgb2JqZWN0LWZpdDogY292ZXIgIWltcG9ydGFudDtcbn1cblxuLm9iamVjdC1maXQtZmlsbCB7XG4gIG9iamVjdC1maXQ6IGZpbGwgIWltcG9ydGFudDtcbn1cblxuLm9iamVjdC1maXQtc2NhbGUge1xuICBvYmplY3QtZml0OiBzY2FsZS1kb3duICFpbXBvcnRhbnQ7XG59XG5cbi5vYmplY3QtZml0LW5vbmUge1xuICBvYmplY3QtZml0OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5vcGFjaXR5LTAge1xuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5vcGFjaXR5LTI1IHtcbiAgb3BhY2l0eTogMC4yNSAhaW1wb3J0YW50O1xufVxuXG4ub3BhY2l0eS01MCB7XG4gIG9wYWNpdHk6IDAuNSAhaW1wb3J0YW50O1xufVxuXG4ub3BhY2l0eS03NSB7XG4gIG9wYWNpdHk6IDAuNzUgIWltcG9ydGFudDtcbn1cblxuLm9wYWNpdHktMTAwIHtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuXG4ub3ZlcmZsb3ctYXV0byB7XG4gIG92ZXJmbG93OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy1oaWRkZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy12aXNpYmxlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LXNjcm9sbCB7XG4gIG92ZXJmbG93OiBzY3JvbGwgIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LXgtYXV0byB7XG4gIG92ZXJmbG93LXg6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LXgtaGlkZGVuIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy14LXZpc2libGUge1xuICBvdmVyZmxvdy14OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy14LXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IHNjcm9sbCAhaW1wb3J0YW50O1xufVxuXG4ub3ZlcmZsb3cteS1hdXRvIHtcbiAgb3ZlcmZsb3cteTogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ub3ZlcmZsb3cteS1oaWRkZW4ge1xuICBvdmVyZmxvdy15OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LXktdmlzaWJsZSB7XG4gIG92ZXJmbG93LXk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LXktc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsICFpbXBvcnRhbnQ7XG59XG5cbi5kLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xufVxuXG4uZC1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLmQtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4uZC1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xufVxuXG4uZC1pbmxpbmUtZ3JpZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ncmlkICFpbXBvcnRhbnQ7XG59XG5cbi5kLXRhYmxlIHtcbiAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbn1cblxuLmQtdGFibGUtcm93IHtcbiAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG59XG5cbi5kLXRhYmxlLWNlbGwge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG59XG5cbi5kLWZsZXgge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG59XG5cbi5kLWlubGluZS1mbGV4IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbn1cblxuLmQtbm9uZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnNoYWRvdyB7XG4gIGJveC1zaGFkb3c6IHZhcigtLWJzLWJveC1zaGFkb3cpICFpbXBvcnRhbnQ7XG59XG5cbi5zaGFkb3ctc20ge1xuICBib3gtc2hhZG93OiB2YXIoLS1icy1ib3gtc2hhZG93LXNtKSAhaW1wb3J0YW50O1xufVxuXG4uc2hhZG93LWxnIHtcbiAgYm94LXNoYWRvdzogdmFyKC0tYnMtYm94LXNoYWRvdy1sZykgIWltcG9ydGFudDtcbn1cblxuLnNoYWRvdy1ub25lIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZm9jdXMtcmluZy1wcmltYXJ5IHtcbiAgLS1icy1mb2N1cy1yaW5nLWNvbG9yOiByZ2JhKHZhcigtLWJzLXByaW1hcnktcmdiKSwgdmFyKC0tYnMtZm9jdXMtcmluZy1vcGFjaXR5KSk7XG59XG5cbi5mb2N1cy1yaW5nLXNlY29uZGFyeSB7XG4gIC0tYnMtZm9jdXMtcmluZy1jb2xvcjogcmdiYSh2YXIoLS1icy1zZWNvbmRhcnktcmdiKSwgdmFyKC0tYnMtZm9jdXMtcmluZy1vcGFjaXR5KSk7XG59XG5cbi5mb2N1cy1yaW5nLXN1Y2Nlc3Mge1xuICAtLWJzLWZvY3VzLXJpbmctY29sb3I6IHJnYmEodmFyKC0tYnMtc3VjY2Vzcy1yZ2IpLCB2YXIoLS1icy1mb2N1cy1yaW5nLW9wYWNpdHkpKTtcbn1cblxuLmZvY3VzLXJpbmctaW5mbyB7XG4gIC0tYnMtZm9jdXMtcmluZy1jb2xvcjogcmdiYSh2YXIoLS1icy1pbmZvLXJnYiksIHZhcigtLWJzLWZvY3VzLXJpbmctb3BhY2l0eSkpO1xufVxuXG4uZm9jdXMtcmluZy13YXJuaW5nIHtcbiAgLS1icy1mb2N1cy1yaW5nLWNvbG9yOiByZ2JhKHZhcigtLWJzLXdhcm5pbmctcmdiKSwgdmFyKC0tYnMtZm9jdXMtcmluZy1vcGFjaXR5KSk7XG59XG5cbi5mb2N1cy1yaW5nLWRhbmdlciB7XG4gIC0tYnMtZm9jdXMtcmluZy1jb2xvcjogcmdiYSh2YXIoLS1icy1kYW5nZXItcmdiKSwgdmFyKC0tYnMtZm9jdXMtcmluZy1vcGFjaXR5KSk7XG59XG5cbi5mb2N1cy1yaW5nLWxpZ2h0IHtcbiAgLS1icy1mb2N1cy1yaW5nLWNvbG9yOiByZ2JhKHZhcigtLWJzLWxpZ2h0LXJnYiksIHZhcigtLWJzLWZvY3VzLXJpbmctb3BhY2l0eSkpO1xufVxuXG4uZm9jdXMtcmluZy1kYXJrIHtcbiAgLS1icy1mb2N1cy1yaW5nLWNvbG9yOiByZ2JhKHZhcigtLWJzLWRhcmstcmdiKSwgdmFyKC0tYnMtZm9jdXMtcmluZy1vcGFjaXR5KSk7XG59XG5cbi5wb3NpdGlvbi1zdGF0aWMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG59XG5cbi5wb3NpdGlvbi1yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xufVxuXG4ucG9zaXRpb24tYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbn1cblxuLnBvc2l0aW9uLWZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG59XG5cbi5wb3NpdGlvbi1zdGlja3kge1xuICBwb3NpdGlvbjogc3RpY2t5ICFpbXBvcnRhbnQ7XG59XG5cbi50b3AtMCB7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4udG9wLTUwIHtcbiAgdG9wOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnRvcC0xMDAge1xuICB0b3A6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLmJvdHRvbS0wIHtcbiAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5ib3R0b20tNTAge1xuICBib3R0b206IDUwJSAhaW1wb3J0YW50O1xufVxuXG4uYm90dG9tLTEwMCB7XG4gIGJvdHRvbTogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4uc3RhcnQtMCB7XG4gIGxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnN0YXJ0LTUwIHtcbiAgbGVmdDogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5zdGFydC0xMDAge1xuICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5lbmQtMCB7XG4gIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5lbmQtNTAge1xuICByaWdodDogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5lbmQtMTAwIHtcbiAgcmlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLnRyYW5zbGF0ZS1taWRkbGUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSAhaW1wb3J0YW50O1xufVxuXG4udHJhbnNsYXRlLW1pZGRsZS14IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpICFpbXBvcnRhbnQ7XG59XG5cbi50cmFuc2xhdGUtbWlkZGxlLXkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlciB7XG4gIGJvcmRlcjogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSB2YXIoLS1icy1ib3JkZXItc3R5bGUpIHZhcigtLWJzLWJvcmRlci1jb2xvcikgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci0wIHtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItdG9wIHtcbiAgYm9yZGVyLXRvcDogdmFyKC0tYnMtYm9yZGVyLXdpZHRoKSB2YXIoLS1icy1ib3JkZXItc3R5bGUpIHZhcigtLWJzLWJvcmRlci1jb2xvcikgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci10b3AtMCB7XG4gIGJvcmRlci10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1lbmQge1xuICBib3JkZXItcmlnaHQ6IHZhcigtLWJzLWJvcmRlci13aWR0aCkgdmFyKC0tYnMtYm9yZGVyLXN0eWxlKSB2YXIoLS1icy1ib3JkZXItY29sb3IpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItZW5kLTAge1xuICBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1ib3R0b20ge1xuICBib3JkZXItYm90dG9tOiB2YXIoLS1icy1ib3JkZXItd2lkdGgpIHZhcigtLWJzLWJvcmRlci1zdHlsZSkgdmFyKC0tYnMtYm9yZGVyLWNvbG9yKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWJvdHRvbS0wIHtcbiAgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXN0YXJ0IHtcbiAgYm9yZGVyLWxlZnQ6IHZhcigtLWJzLWJvcmRlci13aWR0aCkgdmFyKC0tYnMtYm9yZGVyLXN0eWxlKSB2YXIoLS1icy1ib3JkZXItY29sb3IpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItc3RhcnQtMCB7XG4gIGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItcHJpbWFyeSB7XG4gIC0tYnMtYm9yZGVyLW9wYWNpdHk6IDE7XG4gIGJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS1icy1wcmltYXJ5LXJnYiksIHZhcigtLWJzLWJvcmRlci1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1zZWNvbmRhcnkge1xuICAtLWJzLWJvcmRlci1vcGFjaXR5OiAxO1xuICBib3JkZXItY29sb3I6IHJnYmEodmFyKC0tYnMtc2Vjb25kYXJ5LXJnYiksIHZhcigtLWJzLWJvcmRlci1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1zdWNjZXNzIHtcbiAgLS1icy1ib3JkZXItb3BhY2l0eTogMTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLWJzLXN1Y2Nlc3MtcmdiKSwgdmFyKC0tYnMtYm9yZGVyLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWluZm8ge1xuICAtLWJzLWJvcmRlci1vcGFjaXR5OiAxO1xuICBib3JkZXItY29sb3I6IHJnYmEodmFyKC0tYnMtaW5mby1yZ2IpLCB2YXIoLS1icy1ib3JkZXItb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItd2FybmluZyB7XG4gIC0tYnMtYm9yZGVyLW9wYWNpdHk6IDE7XG4gIGJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS1icy13YXJuaW5nLXJnYiksIHZhcigtLWJzLWJvcmRlci1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1kYW5nZXIge1xuICAtLWJzLWJvcmRlci1vcGFjaXR5OiAxO1xuICBib3JkZXItY29sb3I6IHJnYmEodmFyKC0tYnMtZGFuZ2VyLXJnYiksIHZhcigtLWJzLWJvcmRlci1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1saWdodCB7XG4gIC0tYnMtYm9yZGVyLW9wYWNpdHk6IDE7XG4gIGJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS1icy1saWdodC1yZ2IpLCB2YXIoLS1icy1ib3JkZXItb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItZGFyayB7XG4gIC0tYnMtYm9yZGVyLW9wYWNpdHk6IDE7XG4gIGJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS1icy1kYXJrLXJnYiksIHZhcigtLWJzLWJvcmRlci1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1ibGFjayB7XG4gIC0tYnMtYm9yZGVyLW9wYWNpdHk6IDE7XG4gIGJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS1icy1ibGFjay1yZ2IpLCB2YXIoLS1icy1ib3JkZXItb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItd2hpdGUge1xuICAtLWJzLWJvcmRlci1vcGFjaXR5OiAxO1xuICBib3JkZXItY29sb3I6IHJnYmEodmFyKC0tYnMtd2hpdGUtcmdiKSwgdmFyKC0tYnMtYm9yZGVyLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXByaW1hcnktc3VidGxlIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1wcmltYXJ5LWJvcmRlci1zdWJ0bGUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItc2Vjb25kYXJ5LXN1YnRsZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWJvcmRlci1zdWJ0bGUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItc3VjY2Vzcy1zdWJ0bGUge1xuICBib3JkZXItY29sb3I6IHZhcigtLWJzLXN1Y2Nlc3MtYm9yZGVyLXN1YnRsZSkgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1pbmZvLXN1YnRsZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtaW5mby1ib3JkZXItc3VidGxlKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXdhcm5pbmctc3VidGxlIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy13YXJuaW5nLWJvcmRlci1zdWJ0bGUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItZGFuZ2VyLXN1YnRsZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtZGFuZ2VyLWJvcmRlci1zdWJ0bGUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItbGlnaHQtc3VidGxlIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1saWdodC1ib3JkZXItc3VidGxlKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWRhcmstc3VidGxlIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1kYXJrLWJvcmRlci1zdWJ0bGUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItMSB7XG4gIGJvcmRlci13aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItMiB7XG4gIGJvcmRlci13aWR0aDogMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItMyB7XG4gIGJvcmRlci13aWR0aDogM3B4ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItNCB7XG4gIGJvcmRlci13aWR0aDogNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItNSB7XG4gIGJvcmRlci13aWR0aDogNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItb3BhY2l0eS0xMCB7XG4gIC0tYnMtYm9yZGVyLW9wYWNpdHk6IDAuMTtcbn1cblxuLmJvcmRlci1vcGFjaXR5LTI1IHtcbiAgLS1icy1ib3JkZXItb3BhY2l0eTogMC4yNTtcbn1cblxuLmJvcmRlci1vcGFjaXR5LTUwIHtcbiAgLS1icy1ib3JkZXItb3BhY2l0eTogMC41O1xufVxuXG4uYm9yZGVyLW9wYWNpdHktNzUge1xuICAtLWJzLWJvcmRlci1vcGFjaXR5OiAwLjc1O1xufVxuXG4uYm9yZGVyLW9wYWNpdHktMTAwIHtcbiAgLS1icy1ib3JkZXItb3BhY2l0eTogMTtcbn1cblxuLnctMjUge1xuICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG59XG5cbi53LTUwIHtcbiAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4udy03NSB7XG4gIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbn1cblxuLnctMTAwIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLnctYXV0byB7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5tdy0xMDAge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLnZ3LTEwMCB7XG4gIHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xufVxuXG4ubWluLXZ3LTEwMCB7XG4gIG1pbi13aWR0aDogMTAwdncgIWltcG9ydGFudDtcbn1cblxuLmgtMjUge1xuICBoZWlnaHQ6IDI1JSAhaW1wb3J0YW50O1xufVxuXG4uaC01MCB7XG4gIGhlaWdodDogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5oLTc1IHtcbiAgaGVpZ2h0OiA3NSUgIWltcG9ydGFudDtcbn1cblxuLmgtMTAwIHtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5oLWF1dG8ge1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLm1oLTEwMCB7XG4gIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLnZoLTEwMCB7XG4gIGhlaWdodDogMTAwdmggIWltcG9ydGFudDtcbn1cblxuLm1pbi12aC0xMDAge1xuICBtaW4taGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50O1xufVxuXG4uZmxleC1maWxsIHtcbiAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDtcbn1cblxuLmZsZXgtcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xufVxuXG4uZmxleC1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LXJvdy1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LWdyb3ctMCB7XG4gIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50O1xufVxuXG4uZmxleC1ncm93LTEge1xuICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDtcbn1cblxuLmZsZXgtc2hyaW5rLTAge1xuICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50O1xufVxuXG4uZmxleC1zaHJpbmstMSB7XG4gIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LXdyYXAge1xuICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbn1cblxuLmZsZXgtbm93cmFwIHtcbiAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLmZsZXgtd3JhcC1yZXZlcnNlIHtcbiAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDtcbn1cblxuLmp1c3RpZnktY29udGVudC1zdGFydCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xufVxuXG4uanVzdGlmeS1jb250ZW50LWVuZCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbn1cblxuLmp1c3RpZnktY29udGVudC1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4uanVzdGlmeS1jb250ZW50LWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbn1cblxuLmp1c3RpZnktY29udGVudC1hcm91bmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xufVxuXG4uanVzdGlmeS1jb250ZW50LWV2ZW5seSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5ICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1pdGVtcy1zdGFydCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1pdGVtcy1lbmQge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWl0ZW1zLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWl0ZW1zLWJhc2VsaW5lIHtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1pdGVtcy1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWNvbnRlbnQtc3RhcnQge1xuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1jb250ZW50LWVuZCB7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1jb250ZW50LWNlbnRlciB7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tY29udGVudC1iZXR3ZWVuIHtcbiAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tY29udGVudC1hcm91bmQge1xuICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWNvbnRlbnQtc3RyZXRjaCB7XG4gIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDtcbn1cblxuLmFsaWduLXNlbGYtYXV0byB7XG4gIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLmFsaWduLXNlbGYtc3RhcnQge1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1zZWxmLWVuZCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1zZWxmLWNlbnRlciB7XG4gIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tc2VsZi1iYXNlbGluZSB7XG4gIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci1maXJzdCB7XG4gIG9yZGVyOiAtMSAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItMCB7XG4gIG9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci0xIHtcbiAgb3JkZXI6IDEgIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTIge1xuICBvcmRlcjogMiAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItMyB7XG4gIG9yZGVyOiAzICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci00IHtcbiAgb3JkZXI6IDQgIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTUge1xuICBvcmRlcjogNSAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItbGFzdCB7XG4gIG9yZGVyOiA2ICFpbXBvcnRhbnQ7XG59XG5cbi5tLTAge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuLm0tMSB7XG4gIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubS0yIHtcbiAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm0tMyB7XG4gIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubS00IHtcbiAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm0tNSB7XG4gIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubS1hdXRvIHtcbiAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5teC0wIHtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5teC0xIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5teC0yIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXgtMyB7XG4gIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXgtNCB7XG4gIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm14LTUge1xuICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLm14LWF1dG8ge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLm15LTAge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLm15LTEge1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm15LTIge1xuICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5teS0zIHtcbiAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5teS00IHtcbiAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXktNSB7XG4gIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubXktYXV0byB7XG4gIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ubXQtMCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLm10LTEge1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tdC0yIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tdC0zIHtcbiAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXQtNCB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXQtNSB7XG4gIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLm10LWF1dG8ge1xuICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5tZS0wIHtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tZS0xIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tZS0yIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1lLTMge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLm1lLTQge1xuICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWUtNSB7XG4gIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubWUtYXV0byB7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ubWItMCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLm1iLTEge1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYi0yIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYi0zIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWItNCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWItNSB7XG4gIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLm1iLWF1dG8ge1xuICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5tcy0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLm1zLTEge1xuICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXMtMiB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1zLTMge1xuICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXMtNCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1zLTUge1xuICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubXMtYXV0byB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5wLTAge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wLTEge1xuICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wLTIge1xuICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnAtMyB7XG4gIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnAtNCB7XG4gIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucC01IHtcbiAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucHgtMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5weC0xIHtcbiAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnB4LTIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnB4LTMge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHgtNCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHgtNSB7XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5weS0wIHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLnB5LTEge1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHktMiB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHktMyB7XG4gIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5weS00IHtcbiAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5weS01IHtcbiAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLnB0LTAge1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4ucHQtMSB7XG4gIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wdC0yIHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHQtMyB7XG4gIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wdC00IHtcbiAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHQtNSB7XG4gIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wZS0wIHtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4ucGUtMSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnBlLTIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnBlLTMge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wZS00IHtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wZS01IHtcbiAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucGItMCB7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wYi0xIHtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnBiLTIge1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYi0zIHtcbiAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnBiLTQge1xuICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYi01IHtcbiAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLnBzLTAge1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnBzLTEge1xuICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnBzLTIge1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHMtMyB7XG4gIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHMtNCB7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wcy01IHtcbiAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5nYXAtMCB7XG4gIGdhcDogMCAhaW1wb3J0YW50O1xufVxuXG4uZ2FwLTEge1xuICBnYXA6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLmdhcC0yIHtcbiAgZ2FwOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLmdhcC0zIHtcbiAgZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5nYXAtNCB7XG4gIGdhcDogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5nYXAtNSB7XG4gIGdhcDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucm93LWdhcC0wIHtcbiAgcm93LWdhcDogMCAhaW1wb3J0YW50O1xufVxuXG4ucm93LWdhcC0xIHtcbiAgcm93LWdhcDogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucm93LWdhcC0yIHtcbiAgcm93LWdhcDogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5yb3ctZ2FwLTMge1xuICByb3ctZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5yb3ctZ2FwLTQge1xuICByb3ctZ2FwOiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnJvdy1nYXAtNSB7XG4gIHJvdy1nYXA6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLmNvbHVtbi1nYXAtMCB7XG4gIGNvbHVtbi1nYXA6IDAgIWltcG9ydGFudDtcbn1cblxuLmNvbHVtbi1nYXAtMSB7XG4gIGNvbHVtbi1nYXA6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLmNvbHVtbi1nYXAtMiB7XG4gIGNvbHVtbi1nYXA6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4uY29sdW1uLWdhcC0zIHtcbiAgY29sdW1uLWdhcDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4uY29sdW1uLWdhcC00IHtcbiAgY29sdW1uLWdhcDogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5jb2x1bW4tZ2FwLTUge1xuICBjb2x1bW4tZ2FwOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5mb250LW1vbm9zcGFjZSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1icy1mb250LW1vbm9zcGFjZSkgIWltcG9ydGFudDtcbn1cblxuLmZzLTEge1xuICBmb250LXNpemU6IGNhbGMoMS4zNzVyZW0gKyAxLjV2dykgIWltcG9ydGFudDtcbn1cblxuLmZzLTIge1xuICBmb250LXNpemU6IGNhbGMoMS4zMjVyZW0gKyAwLjl2dykgIWltcG9ydGFudDtcbn1cblxuLmZzLTMge1xuICBmb250LXNpemU6IGNhbGMoMS4zcmVtICsgMC42dncpICFpbXBvcnRhbnQ7XG59XG5cbi5mcy00IHtcbiAgZm9udC1zaXplOiBjYWxjKDEuMjc1cmVtICsgMC4zdncpICFpbXBvcnRhbnQ7XG59XG5cbi5mcy01IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5mcy02IHtcbiAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5mc3QtaXRhbGljIHtcbiAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7XG59XG5cbi5mc3Qtbm9ybWFsIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG59XG5cbi5mdy1saWdodGVyIHtcbiAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXIgIWltcG9ydGFudDtcbn1cblxuLmZ3LWxpZ2h0IHtcbiAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xufVxuXG4uZnctbm9ybWFsIHtcbiAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xufVxuXG4uZnctbWVkaXVtIHtcbiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xufVxuXG4uZnctc2VtaWJvbGQge1xuICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG59XG5cbi5mdy1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xufVxuXG4uZnctYm9sZGVyIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlciAhaW1wb3J0YW50O1xufVxuXG4ubGgtMSB7XG4gIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG59XG5cbi5saC1zbSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1ICFpbXBvcnRhbnQ7XG59XG5cbi5saC1iYXNlIHtcbiAgbGluZS1oZWlnaHQ6IDEuNSAhaW1wb3J0YW50O1xufVxuXG4ubGgtbGcge1xuICBsaW5lLWhlaWdodDogMiAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1zdGFydCB7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLnRleHQtZW5kIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWRlY29yYXRpb24tbm9uZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1kZWNvcmF0aW9uLXVuZGVybGluZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWRlY29yYXRpb24tbGluZS10aHJvdWdoIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2ggIWltcG9ydGFudDtcbn1cblxuLnRleHQtbG93ZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC13cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi8qIHJ0bDpiZWdpbjpyZW1vdmUgKi9cbi50ZXh0LWJyZWFrIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcbn1cblxuLyogcnRsOmVuZDpyZW1vdmUgKi9cbi50ZXh0LXByaW1hcnkge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMTtcbiAgY29sb3I6IHJnYmEodmFyKC0tYnMtcHJpbWFyeS1yZ2IpLCB2YXIoLS1icy10ZXh0LW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1zZWNvbmRhcnkge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMTtcbiAgY29sb3I6IHJnYmEodmFyKC0tYnMtc2Vjb25kYXJ5LXJnYiksIHZhcigtLWJzLXRleHQtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXN1Y2Nlc3Mge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMTtcbiAgY29sb3I6IHJnYmEodmFyKC0tYnMtc3VjY2Vzcy1yZ2IpLCB2YXIoLS1icy10ZXh0LW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1pbmZvIHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2JhKHZhcigtLWJzLWluZm8tcmdiKSwgdmFyKC0tYnMtdGV4dC1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtd2FybmluZyB7XG4gIC0tYnMtdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiYSh2YXIoLS1icy13YXJuaW5nLXJnYiksIHZhcigtLWJzLXRleHQtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWRhbmdlciB7XG4gIC0tYnMtdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiYSh2YXIoLS1icy1kYW5nZXItcmdiKSwgdmFyKC0tYnMtdGV4dC1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtbGlnaHQge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMTtcbiAgY29sb3I6IHJnYmEodmFyKC0tYnMtbGlnaHQtcmdiKSwgdmFyKC0tYnMtdGV4dC1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtZGFyayB7XG4gIC0tYnMtdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiYSh2YXIoLS1icy1kYXJrLXJnYiksIHZhcigtLWJzLXRleHQtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWJsYWNrIHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2JhKHZhcigtLWJzLWJsYWNrLXJnYiksIHZhcigtLWJzLXRleHQtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXdoaXRlIHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2JhKHZhcigtLWJzLXdoaXRlLXJnYiksIHZhcigtLWJzLXRleHQtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWJvZHkge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMTtcbiAgY29sb3I6IHJnYmEodmFyKC0tYnMtYm9keS1jb2xvci1yZ2IpLCB2YXIoLS1icy10ZXh0LW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1tdXRlZCB7XG4gIC0tYnMtdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWNvbG9yKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1ibGFjay01MCB7XG4gIC0tYnMtdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXdoaXRlLTUwIHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtYm9keS1zZWNvbmRhcnkge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMTtcbiAgY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeS1jb2xvcikgIWltcG9ydGFudDtcbn1cblxuLnRleHQtYm9keS10ZXJ0aWFyeSB7XG4gIC0tYnMtdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogdmFyKC0tYnMtdGVydGlhcnktY29sb3IpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWJvZHktZW1waGFzaXMge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMTtcbiAgY29sb3I6IHZhcigtLWJzLWVtcGhhc2lzLWNvbG9yKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1yZXNldCB7XG4gIC0tYnMtdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1vcGFjaXR5LTI1IHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDAuMjU7XG59XG5cbi50ZXh0LW9wYWNpdHktNTAge1xuICAtLWJzLXRleHQtb3BhY2l0eTogMC41O1xufVxuXG4udGV4dC1vcGFjaXR5LTc1IHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDAuNzU7XG59XG5cbi50ZXh0LW9wYWNpdHktMTAwIHtcbiAgLS1icy10ZXh0LW9wYWNpdHk6IDE7XG59XG5cbi50ZXh0LXByaW1hcnktZW1waGFzaXMge1xuICBjb2xvcjogdmFyKC0tYnMtcHJpbWFyeS10ZXh0LWVtcGhhc2lzKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1zZWNvbmRhcnktZW1waGFzaXMge1xuICBjb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LXRleHQtZW1waGFzaXMpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXN1Y2Nlc3MtZW1waGFzaXMge1xuICBjb2xvcjogdmFyKC0tYnMtc3VjY2Vzcy10ZXh0LWVtcGhhc2lzKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1pbmZvLWVtcGhhc2lzIHtcbiAgY29sb3I6IHZhcigtLWJzLWluZm8tdGV4dC1lbXBoYXNpcykgIWltcG9ydGFudDtcbn1cblxuLnRleHQtd2FybmluZy1lbXBoYXNpcyB7XG4gIGNvbG9yOiB2YXIoLS1icy13YXJuaW5nLXRleHQtZW1waGFzaXMpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWRhbmdlci1lbXBoYXNpcyB7XG4gIGNvbG9yOiB2YXIoLS1icy1kYW5nZXItdGV4dC1lbXBoYXNpcykgIWltcG9ydGFudDtcbn1cblxuLnRleHQtbGlnaHQtZW1waGFzaXMge1xuICBjb2xvcjogdmFyKC0tYnMtbGlnaHQtdGV4dC1lbXBoYXNpcykgIWltcG9ydGFudDtcbn1cblxuLnRleHQtZGFyay1lbXBoYXNpcyB7XG4gIGNvbG9yOiB2YXIoLS1icy1kYXJrLXRleHQtZW1waGFzaXMpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLW9wYWNpdHktMTAge1xuICAtLWJzLWxpbmstb3BhY2l0eTogMC4xO1xufVxuXG4ubGluay1vcGFjaXR5LTEwLWhvdmVyOmhvdmVyIHtcbiAgLS1icy1saW5rLW9wYWNpdHk6IDAuMTtcbn1cblxuLmxpbmstb3BhY2l0eS0yNSB7XG4gIC0tYnMtbGluay1vcGFjaXR5OiAwLjI1O1xufVxuXG4ubGluay1vcGFjaXR5LTI1LWhvdmVyOmhvdmVyIHtcbiAgLS1icy1saW5rLW9wYWNpdHk6IDAuMjU7XG59XG5cbi5saW5rLW9wYWNpdHktNTAge1xuICAtLWJzLWxpbmstb3BhY2l0eTogMC41O1xufVxuXG4ubGluay1vcGFjaXR5LTUwLWhvdmVyOmhvdmVyIHtcbiAgLS1icy1saW5rLW9wYWNpdHk6IDAuNTtcbn1cblxuLmxpbmstb3BhY2l0eS03NSB7XG4gIC0tYnMtbGluay1vcGFjaXR5OiAwLjc1O1xufVxuXG4ubGluay1vcGFjaXR5LTc1LWhvdmVyOmhvdmVyIHtcbiAgLS1icy1saW5rLW9wYWNpdHk6IDAuNzU7XG59XG5cbi5saW5rLW9wYWNpdHktMTAwIHtcbiAgLS1icy1saW5rLW9wYWNpdHk6IDE7XG59XG5cbi5saW5rLW9wYWNpdHktMTAwLWhvdmVyOmhvdmVyIHtcbiAgLS1icy1saW5rLW9wYWNpdHk6IDE7XG59XG5cbi5saW5rLW9mZnNldC0xIHtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjEyNWVtICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLW9mZnNldC0xLWhvdmVyOmhvdmVyIHtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjEyNWVtICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLW9mZnNldC0yIHtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjI1ZW0gIWltcG9ydGFudDtcbn1cblxuLmxpbmstb2Zmc2V0LTItaG92ZXI6aG92ZXIge1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuMjVlbSAhaW1wb3J0YW50O1xufVxuXG4ubGluay1vZmZzZXQtMyB7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4zNzVlbSAhaW1wb3J0YW50O1xufVxuXG4ubGluay1vZmZzZXQtMy1ob3Zlcjpob3ZlciB7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4zNzVlbSAhaW1wb3J0YW50O1xufVxuXG4ubGluay11bmRlcmxpbmUtcHJpbWFyeSB7XG4gIC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eTogMTtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKHZhcigtLWJzLXByaW1hcnktcmdiKSwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLXVuZGVybGluZS1zZWNvbmRhcnkge1xuICAtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHk6IDE7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSh2YXIoLS1icy1zZWNvbmRhcnktcmdiKSwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLXVuZGVybGluZS1zdWNjZXNzIHtcbiAgLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5OiAxO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHJnYmEodmFyKC0tYnMtc3VjY2Vzcy1yZ2IpLCB2YXIoLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLmxpbmstdW5kZXJsaW5lLWluZm8ge1xuICAtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHk6IDE7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSh2YXIoLS1icy1pbmZvLXJnYiksIHZhcigtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4ubGluay11bmRlcmxpbmUtd2FybmluZyB7XG4gIC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eTogMTtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKHZhcigtLWJzLXdhcm5pbmctcmdiKSwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLXVuZGVybGluZS1kYW5nZXIge1xuICAtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHk6IDE7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSh2YXIoLS1icy1kYW5nZXItcmdiKSwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLXVuZGVybGluZS1saWdodCB7XG4gIC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eTogMTtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKHZhcigtLWJzLWxpZ2h0LXJnYiksIHZhcigtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4ubGluay11bmRlcmxpbmUtZGFyayB7XG4gIC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eTogMTtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKHZhcigtLWJzLWRhcmstcmdiKSwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLXVuZGVybGluZSB7XG4gIC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eTogMTtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKHZhcigtLWJzLWxpbmstY29sb3ItcmdiKSwgdmFyKC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLXVuZGVybGluZS1vcGFjaXR5LTAge1xuICAtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHk6IDA7XG59XG5cbi5saW5rLXVuZGVybGluZS1vcGFjaXR5LTAtaG92ZXI6aG92ZXIge1xuICAtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHk6IDA7XG59XG5cbi5saW5rLXVuZGVybGluZS1vcGFjaXR5LTEwIHtcbiAgLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5OiAwLjE7XG59XG5cbi5saW5rLXVuZGVybGluZS1vcGFjaXR5LTEwLWhvdmVyOmhvdmVyIHtcbiAgLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5OiAwLjE7XG59XG5cbi5saW5rLXVuZGVybGluZS1vcGFjaXR5LTI1IHtcbiAgLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5OiAwLjI1O1xufVxuXG4ubGluay11bmRlcmxpbmUtb3BhY2l0eS0yNS1ob3Zlcjpob3ZlciB7XG4gIC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eTogMC4yNTtcbn1cblxuLmxpbmstdW5kZXJsaW5lLW9wYWNpdHktNTAge1xuICAtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHk6IDAuNTtcbn1cblxuLmxpbmstdW5kZXJsaW5lLW9wYWNpdHktNTAtaG92ZXI6aG92ZXIge1xuICAtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHk6IDAuNTtcbn1cblxuLmxpbmstdW5kZXJsaW5lLW9wYWNpdHktNzUge1xuICAtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHk6IDAuNzU7XG59XG5cbi5saW5rLXVuZGVybGluZS1vcGFjaXR5LTc1LWhvdmVyOmhvdmVyIHtcbiAgLS1icy1saW5rLXVuZGVybGluZS1vcGFjaXR5OiAwLjc1O1xufVxuXG4ubGluay11bmRlcmxpbmUtb3BhY2l0eS0xMDAge1xuICAtLWJzLWxpbmstdW5kZXJsaW5lLW9wYWNpdHk6IDE7XG59XG5cbi5saW5rLXVuZGVybGluZS1vcGFjaXR5LTEwMC1ob3Zlcjpob3ZlciB7XG4gIC0tYnMtbGluay11bmRlcmxpbmUtb3BhY2l0eTogMTtcbn1cblxuLmJnLXByaW1hcnkge1xuICAtLWJzLWJnLW9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tYnMtcHJpbWFyeS1yZ2IpLCB2YXIoLS1icy1iZy1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLmJnLXNlY29uZGFyeSB7XG4gIC0tYnMtYmctb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1icy1zZWNvbmRhcnktcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1zdWNjZXNzIHtcbiAgLS1icy1iZy1vcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWJzLXN1Y2Nlc3MtcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1pbmZvIHtcbiAgLS1icy1iZy1vcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWJzLWluZm8tcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy13YXJuaW5nIHtcbiAgLS1icy1iZy1vcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWJzLXdhcm5pbmctcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1kYW5nZXIge1xuICAtLWJzLWJnLW9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tYnMtZGFuZ2VyLXJnYiksIHZhcigtLWJzLWJnLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYmctbGlnaHQge1xuICAtLWJzLWJnLW9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tYnMtbGlnaHQtcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1kYXJrIHtcbiAgLS1icy1iZy1vcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWJzLWRhcmstcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1ibGFjayB7XG4gIC0tYnMtYmctb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1icy1ibGFjay1yZ2IpLCB2YXIoLS1icy1iZy1vcGFjaXR5KSkgIWltcG9ydGFudDtcbn1cblxuLmJnLXdoaXRlIHtcbiAgLS1icy1iZy1vcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWJzLXdoaXRlLXJnYiksIHZhcigtLWJzLWJnLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYmctYm9keSB7XG4gIC0tYnMtYmctb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1icy1ib2R5LWJnLXJnYiksIHZhcigtLWJzLWJnLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYmctdHJhbnNwYXJlbnQge1xuICAtLWJzLWJnLW9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1ib2R5LXNlY29uZGFyeSB7XG4gIC0tYnMtYmctb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1icy1zZWNvbmRhcnktYmctcmdiKSwgdmFyKC0tYnMtYmctb3BhY2l0eSkpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1ib2R5LXRlcnRpYXJ5IHtcbiAgLS1icy1iZy1vcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWJzLXRlcnRpYXJ5LWJnLXJnYiksIHZhcigtLWJzLWJnLW9wYWNpdHkpKSAhaW1wb3J0YW50O1xufVxuXG4uYmctb3BhY2l0eS0xMCB7XG4gIC0tYnMtYmctb3BhY2l0eTogMC4xO1xufVxuXG4uYmctb3BhY2l0eS0yNSB7XG4gIC0tYnMtYmctb3BhY2l0eTogMC4yNTtcbn1cblxuLmJnLW9wYWNpdHktNTAge1xuICAtLWJzLWJnLW9wYWNpdHk6IDAuNTtcbn1cblxuLmJnLW9wYWNpdHktNzUge1xuICAtLWJzLWJnLW9wYWNpdHk6IDAuNzU7XG59XG5cbi5iZy1vcGFjaXR5LTEwMCB7XG4gIC0tYnMtYmctb3BhY2l0eTogMTtcbn1cblxuLmJnLXByaW1hcnktc3VidGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeS1iZy1zdWJ0bGUpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1zZWNvbmRhcnktc3VidGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWJnLXN1YnRsZSkgIWltcG9ydGFudDtcbn1cblxuLmJnLXN1Y2Nlc3Mtc3VidGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtc3VjY2Vzcy1iZy1zdWJ0bGUpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1pbmZvLXN1YnRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWluZm8tYmctc3VidGxlKSAhaW1wb3J0YW50O1xufVxuXG4uYmctd2FybmluZy1zdWJ0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy13YXJuaW5nLWJnLXN1YnRsZSkgIWltcG9ydGFudDtcbn1cblxuLmJnLWRhbmdlci1zdWJ0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1kYW5nZXItYmctc3VidGxlKSAhaW1wb3J0YW50O1xufVxuXG4uYmctbGlnaHQtc3VidGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtbGlnaHQtYmctc3VidGxlKSAhaW1wb3J0YW50O1xufVxuXG4uYmctZGFyay1zdWJ0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1kYXJrLWJnLXN1YnRsZSkgIWltcG9ydGFudDtcbn1cblxuLmJnLWdyYWRpZW50IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tYnMtZ3JhZGllbnQpICFpbXBvcnRhbnQ7XG59XG5cbi51c2VyLXNlbGVjdC1hbGwge1xuICB1c2VyLXNlbGVjdDogYWxsICFpbXBvcnRhbnQ7XG59XG5cbi51c2VyLXNlbGVjdC1hdXRvIHtcbiAgdXNlci1zZWxlY3Q6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLnVzZXItc2VsZWN0LW5vbmUge1xuICB1c2VyLXNlbGVjdDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ucGUtbm9uZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5wZS1hdXRvIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC0wIHtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC0xIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1zbSkgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtMiB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLTMge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLWxnKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC00IHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy14bCkgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtNSB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMteHhsKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtcGlsbCB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtcGlsbCkgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtdG9wIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXRvcC0wIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC10b3AtMSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtc20pICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXNtKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC10b3AtMiB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC10b3AtMyB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtbGcpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLWxnKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC10b3AtNCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMteGwpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXhsKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC10b3AtNSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMteHhsKSAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy14eGwpICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXRvcC1jaXJjbGUge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC10b3AtcGlsbCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtcGlsbCkgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtcGlsbCkgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtZW5kIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1lbmQtMCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWVuZC0xIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtc20pICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXNtKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1lbmQtMiB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtZW5kLTMge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1sZykgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtbGcpICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWVuZC00IHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMteGwpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXhsKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1lbmQtNSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXh4bCkgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMteHhsKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1lbmQtY2lyY2xlIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWVuZC1waWxsIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtcGlsbCkgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtcGlsbCkgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWJvdHRvbS0wIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1ib3R0b20tMSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXNtKSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXNtKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1ib3R0b20tMiB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1ib3R0b20tMyB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLWxnKSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLWxnKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1ib3R0b20tNCB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXhsKSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXhsKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1ib3R0b20tNSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXh4bCkgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy14eGwpICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWJvdHRvbS1jaXJjbGUge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1ib3R0b20tcGlsbCB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXBpbGwpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtcGlsbCkgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtc3RhcnQge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1zdGFydC0wIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXN0YXJ0LTEge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXNtKSAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXNtKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1zdGFydC0yIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtc3RhcnQtMyB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtbGcpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtbGcpICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXN0YXJ0LTQge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXhsKSAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXhsKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1zdGFydC01IHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy14eGwpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMteHhsKSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1zdGFydC1jaXJjbGUge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXN0YXJ0LXBpbGwge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLXBpbGwpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtcGlsbCkgIWltcG9ydGFudDtcbn1cblxuLnZpc2libGUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLnotbjEge1xuICB6LWluZGV4OiAtMSAhaW1wb3J0YW50O1xufVxuXG4uei0wIHtcbiAgei1pbmRleDogMCAhaW1wb3J0YW50O1xufVxuXG4uei0xIHtcbiAgei1pbmRleDogMSAhaW1wb3J0YW50O1xufVxuXG4uei0yIHtcbiAgei1pbmRleDogMiAhaW1wb3J0YW50O1xufVxuXG4uei0zIHtcbiAgei1pbmRleDogMyAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmZsb2F0LXNtLXN0YXJ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbG9hdC1zbS1lbmQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbG9hdC1zbS1ub25lIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5vYmplY3QtZml0LXNtLWNvbnRhaW4ge1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW4gIWltcG9ydGFudDtcbiAgfVxuICAub2JqZWN0LWZpdC1zbS1jb3ZlciB7XG4gICAgb2JqZWN0LWZpdDogY292ZXIgIWltcG9ydGFudDtcbiAgfVxuICAub2JqZWN0LWZpdC1zbS1maWxsIHtcbiAgICBvYmplY3QtZml0OiBmaWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQtc20tc2NhbGUge1xuICAgIG9iamVjdC1maXQ6IHNjYWxlLWRvd24gIWltcG9ydGFudDtcbiAgfVxuICAub2JqZWN0LWZpdC1zbS1ub25lIHtcbiAgICBvYmplY3QtZml0OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtc20taW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuZC1zbS1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXNtLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXNtLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgfVxuICAuZC1zbS1pbmxpbmUtZ3JpZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQgIWltcG9ydGFudDtcbiAgfVxuICAuZC1zbS10YWJsZSB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuICAuZC1zbS10YWJsZS1yb3cge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXNtLXRhYmxlLWNlbGwge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxuICAuZC1zbS1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtc20taW5saW5lLWZsZXgge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtc20tbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXNtLWZpbGwge1xuICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtc20tcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtc20tY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtc20tcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXNtLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1zbS1ncm93LTAge1xuICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXNtLWdyb3ctMSB7XG4gICAgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtc20tc2hyaW5rLTAge1xuICAgIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtc20tc2hyaW5rLTEge1xuICAgIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtc20td3JhcCB7XG4gICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtc20tbm93cmFwIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXNtLXdyYXAtcmV2ZXJzZSB7XG4gICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LXNtLXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LXNtLWVuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtc20tY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtc20tYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1zbS1hcm91bmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1zbS1ldmVubHkge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLXNtLXN0YXJ0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy1zbS1lbmQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy1zbS1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtc20tYmFzZWxpbmUge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy1zbS1zdHJldGNoIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LXNtLXN0YXJ0IHtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQtc20tZW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LXNtLWNlbnRlciB7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQtc20tYmV0d2VlbiB7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LXNtLWFyb3VuZCB7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQtc20tc3RyZXRjaCB7XG4gICAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLXNtLWF1dG8ge1xuICAgIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1zbS1zdGFydCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLXNtLWVuZCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1zbS1jZW50ZXIge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLXNtLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLXNtLXN0cmV0Y2gge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItc20tZmlyc3Qge1xuICAgIG9yZGVyOiAtMSAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1zbS0wIHtcbiAgICBvcmRlcjogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1zbS0xIHtcbiAgICBvcmRlcjogMSAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1zbS0yIHtcbiAgICBvcmRlcjogMiAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1zbS0zIHtcbiAgICBvcmRlcjogMyAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1zbS00IHtcbiAgICBvcmRlcjogNCAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1zbS01IHtcbiAgICBvcmRlcjogNSAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1zbS1sYXN0IHtcbiAgICBvcmRlcjogNiAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXNtLTAge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXNtLTEge1xuICAgIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXNtLTIge1xuICAgIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tc20tMyB7XG4gICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tc20tNCB7XG4gICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1zbS01IHtcbiAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1zbS1hdXRvIHtcbiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubXgtc20tMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubXgtc20tMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXgtc20tMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LXNtLTMge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LXNtLTQge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC1zbS01IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC1zbS1hdXRvIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5teS1zbS0wIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5teS1zbS0xIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS1zbS0yIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXktc20tMyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXktc20tNCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LXNtLTUge1xuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LXNtLWF1dG8ge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXNtLTAge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubXQtc20tMSB7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1zbS0yIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtc20tMyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1zbS00IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtc20tNSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1zbS1hdXRvIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLXNtLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS1zbS0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWUtc20tMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWUtc20tMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLXNtLTQge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLXNtLTUge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS1zbS1hdXRvIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubWItc20tMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1zbS0xIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXNtLTIge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1zbS0zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXNtLTQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1zbS01IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXNtLWF1dG8ge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubXMtc20tMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubXMtc20tMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXMtc20tMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy1zbS0zIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy1zbS00IHtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLXNtLTUge1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLXNtLWF1dG8ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtc20tMCB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wLXNtLTEge1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC1zbS0yIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC1zbS0zIHtcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtc20tNCB7XG4gICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtc20tNSB7XG4gICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weC1zbS0wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LXNtLTEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHgtc20tMiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHgtc20tMyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weC1zbS00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weC1zbS01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LXNtLTAge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAucHktc20tMSB7XG4gICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weS1zbS0yIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weS1zbS0zIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LXNtLTQge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LXNtLTUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQtc20tMCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucHQtc20tMSB7XG4gICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQtc20tMiB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1zbS0zIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1zbS00IHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LXNtLTUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLXNtLTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucGUtc20tMSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS1zbS0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGUtc20tMyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS1zbS00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGUtc20tNSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1zbS0wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1zbS0xIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1zbS0yIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLXNtLTMge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLXNtLTQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGItc20tNSB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHMtc20tMCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLXNtLTEge1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy1zbS0yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy1zbS0zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHMtc20tNCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHMtc20tNSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC1zbS0wIHtcbiAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLXNtLTEge1xuICAgIGdhcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAtc20tMiB7XG4gICAgZ2FwOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLXNtLTMge1xuICAgIGdhcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAtc20tNCB7XG4gICAgZ2FwOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLXNtLTUge1xuICAgIGdhcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLXNtLTAge1xuICAgIHJvdy1nYXA6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC1zbS0xIHtcbiAgICByb3ctZ2FwOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAtc20tMiB7XG4gICAgcm93LWdhcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAtc20tMyB7XG4gICAgcm93LWdhcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLXNtLTQge1xuICAgIHJvdy1nYXA6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLXNtLTUge1xuICAgIHJvdy1nYXA6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC1zbS0wIHtcbiAgICBjb2x1bW4tZ2FwOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAtc20tMSB7XG4gICAgY29sdW1uLWdhcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLXNtLTIge1xuICAgIGNvbHVtbi1nYXA6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLXNtLTMge1xuICAgIGNvbHVtbi1nYXA6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC1zbS00IHtcbiAgICBjb2x1bW4tZ2FwOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC1zbS01IHtcbiAgICBjb2x1bW4tZ2FwOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRleHQtc20tc3RhcnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAudGV4dC1zbS1lbmQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRleHQtc20tY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mbG9hdC1tZC1zdGFydCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAuZmxvYXQtbWQtZW5kIHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAuZmxvYXQtbWQtbm9uZSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAub2JqZWN0LWZpdC1tZC1jb250YWluIHtcbiAgICBvYmplY3QtZml0OiBjb250YWluICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQtbWQtY292ZXIge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQtbWQtZmlsbCB7XG4gICAgb2JqZWN0LWZpdDogZmlsbCAhaW1wb3J0YW50O1xuICB9XG4gIC5vYmplY3QtZml0LW1kLXNjYWxlIHtcbiAgICBvYmplY3QtZml0OiBzY2FsZS1kb3duICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQtbWQtbm9uZSB7XG4gICAgb2JqZWN0LWZpdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLW1kLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbWQtaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuZC1tZC1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuZC1tZC1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbWQtaW5saW5lLWdyaWQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbWQtdGFibGUge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbWQtdGFibGUtcm93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuICAuZC1tZC10YWJsZS1jZWxsIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbWQtZmxleCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLW1kLWlubGluZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLW1kLW5vbmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1tZC1maWxsIHtcbiAgICBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LW1kLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LW1kLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LW1kLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1tZC1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbWQtZ3Jvdy0wIHtcbiAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1tZC1ncm93LTEge1xuICAgIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LW1kLXNocmluay0wIHtcbiAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LW1kLXNocmluay0xIHtcbiAgICBmbGV4LXNocmluazogMSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LW1kLXdyYXAge1xuICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LW1kLW5vd3JhcCB7XG4gICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1tZC13cmFwLXJldmVyc2Uge1xuICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1tZC1zdGFydCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1tZC1lbmQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LW1kLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LW1kLWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtbWQtYXJvdW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtbWQtZXZlbmx5IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seSAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy1tZC1zdGFydCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtbWQtZW5kIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtbWQtY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLW1kLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtbWQtc3RyZXRjaCB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1tZC1zdGFydCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LW1kLWVuZCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1tZC1jZW50ZXIge1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LW1kLWJldHdlZW4ge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1tZC1hcm91bmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LW1kLXN0cmV0Y2gge1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1tZC1hdXRvIHtcbiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtbWQtc3RhcnQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1tZC1lbmQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtbWQtY2VudGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1tZC1iYXNlbGluZSB7XG4gICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1tZC1zdHJldGNoIHtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLW1kLWZpcnN0IHtcbiAgICBvcmRlcjogLTEgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbWQtMCB7XG4gICAgb3JkZXI6IDAgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbWQtMSB7XG4gICAgb3JkZXI6IDEgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbWQtMiB7XG4gICAgb3JkZXI6IDIgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbWQtMyB7XG4gICAgb3JkZXI6IDMgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbWQtNCB7XG4gICAgb3JkZXI6IDQgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbWQtNSB7XG4gICAgb3JkZXI6IDUgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbWQtbGFzdCB7XG4gICAgb3JkZXI6IDYgIWltcG9ydGFudDtcbiAgfVxuICAubS1tZC0wIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuICAubS1tZC0xIHtcbiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1tZC0yIHtcbiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLW1kLTMge1xuICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLW1kLTQge1xuICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbWQtNSB7XG4gICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbWQtYXV0byB7XG4gICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LW1kLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LW1kLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LW1kLTIge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC1tZC0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC1tZC00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXgtbWQtNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXgtbWQtYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubXktbWQtMCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAubXktbWQtMSB7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXktbWQtMiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LW1kLTMge1xuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LW1kLTQge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS1tZC01IHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS1tZC1hdXRvIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1tZC0wIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LW1kLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtbWQtMiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LW1kLTMge1xuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtbWQtNCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LW1kLTUge1xuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtbWQtYXV0byB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS1tZC0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWUtbWQtMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLW1kLTIge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLW1kLTMge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS1tZC00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS1tZC01IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWUtbWQtYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLW1kLTAge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWItbWQtMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1tZC0yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItbWQtMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1tZC00IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItbWQtNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1tZC1hdXRvIHtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLW1kLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLW1kLTEge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLW1kLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXMtbWQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXMtbWQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy1tZC01IHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy1tZC1hdXRvIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5wLW1kLTAge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucC1tZC0xIHtcbiAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtbWQtMiB7XG4gICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtbWQtMyB7XG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLW1kLTQge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLW1kLTUge1xuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHgtbWQtMCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5weC1tZC0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LW1kLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LW1kLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHgtbWQtNCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHgtbWQtNSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weS1tZC0wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LW1kLTEge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHktbWQtMiB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHktbWQtMyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weS1tZC00IHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weS1tZC01IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LW1kLTAge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LW1kLTEge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LW1kLTIge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQtbWQtMyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQtbWQtNCB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1tZC01IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS1tZC0wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLW1kLTEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGUtbWQtMiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLW1kLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGUtbWQtNCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLW1kLTUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGItbWQtMCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAucGItbWQtMSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGItbWQtMiB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1tZC0zIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1tZC00IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLW1kLTUge1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLW1kLTAge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy1tZC0xIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHMtbWQtMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHMtbWQtMyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLW1kLTQge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLW1kLTUge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAtbWQtMCB7XG4gICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC1tZC0xIHtcbiAgICBnYXA6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLW1kLTIge1xuICAgIGdhcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC1tZC0zIHtcbiAgICBnYXA6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLW1kLTQge1xuICAgIGdhcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC1tZC01IHtcbiAgICBnYXA6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC1tZC0wIHtcbiAgICByb3ctZ2FwOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAtbWQtMSB7XG4gICAgcm93LWdhcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLW1kLTIge1xuICAgIHJvdy1nYXA6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLW1kLTMge1xuICAgIHJvdy1nYXA6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC1tZC00IHtcbiAgICByb3ctZ2FwOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC1tZC01IHtcbiAgICByb3ctZ2FwOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAtbWQtMCB7XG4gICAgY29sdW1uLWdhcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLW1kLTEge1xuICAgIGNvbHVtbi1nYXA6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC1tZC0yIHtcbiAgICBjb2x1bW4tZ2FwOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC1tZC0zIHtcbiAgICBjb2x1bW4tZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAtbWQtNCB7XG4gICAgY29sdW1uLWdhcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAtbWQtNSB7XG4gICAgY29sdW1uLWdhcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC50ZXh0LW1kLXN0YXJ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRleHQtbWQtZW5kIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICB9XG4gIC50ZXh0LW1kLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZmxvYXQtbGctc3RhcnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsb2F0LWxnLWVuZCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsb2F0LWxnLW5vbmUge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQtbGctY29udGFpbiB7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbiAhaW1wb3J0YW50O1xuICB9XG4gIC5vYmplY3QtZml0LWxnLWNvdmVyIHtcbiAgICBvYmplY3QtZml0OiBjb3ZlciAhaW1wb3J0YW50O1xuICB9XG4gIC5vYmplY3QtZml0LWxnLWZpbGwge1xuICAgIG9iamVjdC1maXQ6IGZpbGwgIWltcG9ydGFudDtcbiAgfVxuICAub2JqZWN0LWZpdC1sZy1zY2FsZSB7XG4gICAgb2JqZWN0LWZpdDogc2NhbGUtZG93biAhaW1wb3J0YW50O1xuICB9XG4gIC5vYmplY3QtZml0LWxnLW5vbmUge1xuICAgIG9iamVjdC1maXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuZC1sZy1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLWxnLWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbGctYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbGctZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLWxnLWlubGluZS1ncmlkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLWxnLXRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLWxnLXRhYmxlLXJvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbGctdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLWxnLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgfVxuICAuZC1sZy1pbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgfVxuICAuZC1sZy1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbGctZmlsbCB7XG4gICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1sZy1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1sZy1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1sZy1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbGctY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LWxnLWdyb3ctMCB7XG4gICAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbGctZ3Jvdy0xIHtcbiAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1sZy1zaHJpbmstMCB7XG4gICAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1sZy1zaHJpbmstMSB7XG4gICAgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1sZy13cmFwIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1sZy1ub3dyYXAge1xuICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbGctd3JhcC1yZXZlcnNlIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctc3RhcnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1sZy1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1sZy1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LWxnLWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LWxnLWV2ZW5seSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHkgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtbGctc3RhcnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLWxnLWVuZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLWxnLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy1sZy1iYXNlbGluZSB7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLWxnLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQtbGctc3RhcnQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1sZy1lbmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQtbGctY2VudGVyIHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1sZy1iZXR3ZWVuIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQtbGctYXJvdW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1sZy1zdHJldGNoIHtcbiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtbGctYXV0byB7XG4gICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLWxnLXN0YXJ0IHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtbGctZW5kIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLWxnLWNlbnRlciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtbGctYmFzZWxpbmUge1xuICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtbGctc3RyZXRjaCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy1maXJzdCB7XG4gICAgb3JkZXI6IC0xICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLWxnLTAge1xuICAgIG9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLWxnLTEge1xuICAgIG9yZGVyOiAxICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLWxnLTIge1xuICAgIG9yZGVyOiAyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLWxnLTMge1xuICAgIG9yZGVyOiAzICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLWxnLTQge1xuICAgIG9yZGVyOiA0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLWxnLTUge1xuICAgIG9yZGVyOiA1ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLWxnLWxhc3Qge1xuICAgIG9yZGVyOiA2ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbGctMCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbGctMSB7XG4gICAgbWFyZ2luOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbGctMiB7XG4gICAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1sZy0zIHtcbiAgICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1sZy00IHtcbiAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLWxnLTUge1xuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLWxnLWF1dG8ge1xuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5teC1sZy0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5teC1sZy0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC1sZy0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXgtbGctMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXgtbGctNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LWxnLTUge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LWxnLWF1dG8ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LWxnLTAge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LWxnLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LWxnLTIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS1sZy0zIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS1sZy00IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXktbGctNSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXktbGctYXV0byB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubXQtbGctMCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1sZy0xIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LWxnLTIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1sZy0zIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LWxnLTQge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1sZy01IHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LWxnLWF1dG8ge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubWUtbGctMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLWxnLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS1sZy0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS1sZy0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWUtbGctNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWUtbGctNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLWxnLWF1dG8ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1sZy0wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLWxnLTEge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItbGctMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLWxnLTMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItbGctNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLWxnLTUge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItbGctYXV0byB7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy1sZy0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy1sZy0xIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy1sZy0yIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLWxnLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLWxnLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXMtbGctNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXMtbGctYXV0byB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAucC1sZy0wIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtbGctMSB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLWxnLTIge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLWxnLTMge1xuICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC1sZy00IHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC1sZy01IHtcbiAgICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LWxnLTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucHgtbGctMSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weC1sZy0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weC1sZy0zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LWxnLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LWxnLTUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHktbGctMCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5weS1sZy0xIHtcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LWxnLTIge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LWxnLTMge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHktbGctNCB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHktbGctNSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1sZy0wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1sZy0xIHtcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1sZy0yIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LWxnLTMge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LWxnLTQge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQtbGctNSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGUtbGctMCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS1sZy0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLWxnLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS1sZy0zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLWxnLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS1sZy01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLWxnLTAge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLWxnLTEge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLWxnLTIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGItbGctMyB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGItbGctNCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1sZy01IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy1sZy0wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucHMtbGctMSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLWxnLTIge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLWxnLTMge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy1sZy00IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy1sZy01IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLWxnLTAge1xuICAgIGdhcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAtbGctMSB7XG4gICAgZ2FwOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC1sZy0yIHtcbiAgICBnYXA6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAtbGctMyB7XG4gICAgZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC1sZy00IHtcbiAgICBnYXA6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAtbGctNSB7XG4gICAgZ2FwOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAtbGctMCB7XG4gICAgcm93LWdhcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLWxnLTEge1xuICAgIHJvdy1nYXA6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC1sZy0yIHtcbiAgICByb3ctZ2FwOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC1sZy0zIHtcbiAgICByb3ctZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAtbGctNCB7XG4gICAgcm93LWdhcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAtbGctNSB7XG4gICAgcm93LWdhcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLWxnLTAge1xuICAgIGNvbHVtbi1nYXA6IDAgIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC1sZy0xIHtcbiAgICBjb2x1bW4tZ2FwOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAtbGctMiB7XG4gICAgY29sdW1uLWdhcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAtbGctMyB7XG4gICAgY29sdW1uLWdhcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLWxnLTQge1xuICAgIGNvbHVtbi1nYXA6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLWxnLTUge1xuICAgIGNvbHVtbi1nYXA6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAudGV4dC1sZy1zdGFydCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG4gIC50ZXh0LWxnLWVuZCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAudGV4dC1sZy1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mbG9hdC14bC1zdGFydCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAuZmxvYXQteGwtZW5kIHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAuZmxvYXQteGwtbm9uZSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAub2JqZWN0LWZpdC14bC1jb250YWluIHtcbiAgICBvYmplY3QtZml0OiBjb250YWluICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQteGwtY292ZXIge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQteGwtZmlsbCB7XG4gICAgb2JqZWN0LWZpdDogZmlsbCAhaW1wb3J0YW50O1xuICB9XG4gIC5vYmplY3QtZml0LXhsLXNjYWxlIHtcbiAgICBvYmplY3QtZml0OiBzY2FsZS1kb3duICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQteGwtbm9uZSB7XG4gICAgb2JqZWN0LWZpdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXhsLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteGwtaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuZC14bC1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuZC14bC1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteGwtaW5saW5lLWdyaWQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteGwtdGFibGUge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteGwtdGFibGUtcm93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuICAuZC14bC10YWJsZS1jZWxsIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteGwtZmxleCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXhsLWlubGluZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXhsLW5vbmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14bC1maWxsIHtcbiAgICBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXhsLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXhsLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXhsLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14bC1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgteGwtZ3Jvdy0wIHtcbiAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14bC1ncm93LTEge1xuICAgIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXhsLXNocmluay0wIHtcbiAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXhsLXNocmluay0xIHtcbiAgICBmbGV4LXNocmluazogMSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXhsLXdyYXAge1xuICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXhsLW5vd3JhcCB7XG4gICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14bC13cmFwLXJldmVyc2Uge1xuICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC14bC1zdGFydCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC14bC1lbmQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LXhsLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LXhsLWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQteGwtYXJvdW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQteGwtZXZlbmx5IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seSAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy14bC1zdGFydCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMteGwtZW5kIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMteGwtY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLXhsLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMteGwtc3RyZXRjaCB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC14bC1zdGFydCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LXhsLWVuZCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC14bC1jZW50ZXIge1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LXhsLWJldHdlZW4ge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC14bC1hcm91bmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LXhsLXN0cmV0Y2gge1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi14bC1hdXRvIHtcbiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYteGwtc3RhcnQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi14bC1lbmQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYteGwtY2VudGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi14bC1iYXNlbGluZSB7XG4gICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi14bC1zdHJldGNoIHtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLXhsLWZpcnN0IHtcbiAgICBvcmRlcjogLTEgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXIteGwtMCB7XG4gICAgb3JkZXI6IDAgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXIteGwtMSB7XG4gICAgb3JkZXI6IDEgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXIteGwtMiB7XG4gICAgb3JkZXI6IDIgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXIteGwtMyB7XG4gICAgb3JkZXI6IDMgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXIteGwtNCB7XG4gICAgb3JkZXI6IDQgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXIteGwtNSB7XG4gICAgb3JkZXI6IDUgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXIteGwtbGFzdCB7XG4gICAgb3JkZXI6IDYgIWltcG9ydGFudDtcbiAgfVxuICAubS14bC0wIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuICAubS14bC0xIHtcbiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS14bC0yIHtcbiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXhsLTMge1xuICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXhsLTQge1xuICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0teGwtNSB7XG4gICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0teGwtYXV0byB7XG4gICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LXhsLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LXhsLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LXhsLTIge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC14bC0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC14bC00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXgteGwtNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXgteGwtYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubXkteGwtMCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAubXkteGwtMSB7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXkteGwtMiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LXhsLTMge1xuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LXhsLTQge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS14bC01IHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS14bC1hdXRvIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC14bC0wIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXhsLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQteGwtMiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXhsLTMge1xuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQteGwtNCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXhsLTUge1xuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQteGwtYXV0byB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS14bC0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWUteGwtMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLXhsLTIge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLXhsLTMge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS14bC00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS14bC01IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWUteGwtYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXhsLTAge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWIteGwtMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi14bC0yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWIteGwtMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi14bC00IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWIteGwtNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi14bC1hdXRvIHtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLXhsLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLXhsLTEge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLXhsLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXMteGwtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXMteGwtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy14bC01IHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy14bC1hdXRvIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5wLXhsLTAge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucC14bC0xIHtcbiAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAteGwtMiB7XG4gICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAteGwtMyB7XG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLXhsLTQge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLXhsLTUge1xuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHgteGwtMCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5weC14bC0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LXhsLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LXhsLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHgteGwtNCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHgteGwtNSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weS14bC0wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LXhsLTEge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHkteGwtMiB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHkteGwtMyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weS14bC00IHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weS14bC01IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LXhsLTAge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LXhsLTEge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LXhsLTIge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQteGwtMyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQteGwtNCB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC14bC01IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS14bC0wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLXhsLTEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGUteGwtMiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLXhsLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGUteGwtNCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLXhsLTUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGIteGwtMCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAucGIteGwtMSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGIteGwtMiB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi14bC0zIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi14bC00IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLXhsLTUge1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLXhsLTAge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy14bC0xIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHMteGwtMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHMteGwtMyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLXhsLTQge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLXhsLTUge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAteGwtMCB7XG4gICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC14bC0xIHtcbiAgICBnYXA6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLXhsLTIge1xuICAgIGdhcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC14bC0zIHtcbiAgICBnYXA6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLXhsLTQge1xuICAgIGdhcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC14bC01IHtcbiAgICBnYXA6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC14bC0wIHtcbiAgICByb3ctZ2FwOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAteGwtMSB7XG4gICAgcm93LWdhcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLXhsLTIge1xuICAgIHJvdy1nYXA6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLXhsLTMge1xuICAgIHJvdy1nYXA6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC14bC00IHtcbiAgICByb3ctZ2FwOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC14bC01IHtcbiAgICByb3ctZ2FwOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAteGwtMCB7XG4gICAgY29sdW1uLWdhcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLXhsLTEge1xuICAgIGNvbHVtbi1nYXA6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC14bC0yIHtcbiAgICBjb2x1bW4tZ2FwOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC14bC0zIHtcbiAgICBjb2x1bW4tZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAteGwtNCB7XG4gICAgY29sdW1uLWdhcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAteGwtNSB7XG4gICAgY29sdW1uLWdhcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC50ZXh0LXhsLXN0YXJ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRleHQteGwtZW5kIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICB9XG4gIC50ZXh0LXhsLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLmZsb2F0LXh4bC1zdGFydCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAuZmxvYXQteHhsLWVuZCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsb2F0LXh4bC1ub25lIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5vYmplY3QtZml0LXh4bC1jb250YWluIHtcbiAgICBvYmplY3QtZml0OiBjb250YWluICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQteHhsLWNvdmVyIHtcbiAgICBvYmplY3QtZml0OiBjb3ZlciAhaW1wb3J0YW50O1xuICB9XG4gIC5vYmplY3QtZml0LXh4bC1maWxsIHtcbiAgICBvYmplY3QtZml0OiBmaWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQteHhsLXNjYWxlIHtcbiAgICBvYmplY3QtZml0OiBzY2FsZS1kb3duICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9iamVjdC1maXQteHhsLW5vbmUge1xuICAgIG9iamVjdC1maXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuZC14eGwtaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuZC14eGwtaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuZC14eGwtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteHhsLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgfVxuICAuZC14eGwtaW5saW5lLWdyaWQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteHhsLXRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXh4bC10YWJsZS1yb3cge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXh4bC10YWJsZS1jZWxsIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteHhsLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgfVxuICAuZC14eGwtaW5saW5lLWZsZXgge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteHhsLW5vbmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14eGwtZmlsbCB7XG4gICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14eGwtcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgteHhsLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXh4bC1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgteHhsLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14eGwtZ3Jvdy0wIHtcbiAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14eGwtZ3Jvdy0xIHtcbiAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14eGwtc2hyaW5rLTAge1xuICAgIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgteHhsLXNocmluay0xIHtcbiAgICBmbGV4LXNocmluazogMSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXh4bC13cmFwIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14eGwtbm93cmFwIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXh4bC13cmFwLXJldmVyc2Uge1xuICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC14eGwtc3RhcnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQteHhsLWVuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQteHhsLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LXh4bC1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LXh4bC1hcm91bmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC14eGwtZXZlbmx5IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seSAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy14eGwtc3RhcnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLXh4bC1lbmQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy14eGwtY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLXh4bC1iYXNlbGluZSB7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLXh4bC1zdHJldGNoIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LXh4bC1zdGFydCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LXh4bC1lbmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQteHhsLWNlbnRlciB7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQteHhsLWJldHdlZW4ge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC14eGwtYXJvdW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC14eGwtc3RyZXRjaCB7XG4gICAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLXh4bC1hdXRvIHtcbiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYteHhsLXN0YXJ0IHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYteHhsLWVuZCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi14eGwtY2VudGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi14eGwtYmFzZWxpbmUge1xuICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYteHhsLXN0cmV0Y2gge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXIteHhsLWZpcnN0IHtcbiAgICBvcmRlcjogLTEgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXIteHhsLTAge1xuICAgIG9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLXh4bC0xIHtcbiAgICBvcmRlcjogMSAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci14eGwtMiB7XG4gICAgb3JkZXI6IDIgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXIteHhsLTMge1xuICAgIG9yZGVyOiAzICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLXh4bC00IHtcbiAgICBvcmRlcjogNCAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci14eGwtNSB7XG4gICAgb3JkZXI6IDUgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXIteHhsLWxhc3Qge1xuICAgIG9yZGVyOiA2ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0teHhsLTAge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXh4bC0xIHtcbiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS14eGwtMiB7XG4gICAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS14eGwtMyB7XG4gICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0teHhsLTQge1xuICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0teHhsLTUge1xuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXh4bC1hdXRvIHtcbiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubXgteHhsLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LXh4bC0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC14eGwtMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LXh4bC0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC14eGwtNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm14LXh4bC01IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teC14eGwtYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubXkteHhsLTAge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LXh4bC0xIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS14eGwtMiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LXh4bC0zIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS14eGwtNCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm15LXh4bC01IHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5teS14eGwtYXV0byB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubXQteHhsLTAge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubXQteHhsLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQteHhsLTIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC14eGwtMyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC14eGwtNCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXh4bC01IHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXh4bC1hdXRvIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lLXh4bC0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWUteHhsLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS14eGwtMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWUteHhsLTMge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS14eGwtNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWUteHhsLTUge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZS14eGwtYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXh4bC0wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXh4bC0xIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXh4bC0yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWIteHhsLTMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWIteHhsLTQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi14eGwtNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi14eGwtYXV0byB7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy14eGwtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubXMteHhsLTEge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLXh4bC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1zLXh4bC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy14eGwtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tcy14eGwtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXMteHhsLWF1dG8ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAteHhsLTAge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucC14eGwtMSB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLXh4bC0yIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC14eGwtMyB7XG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLXh4bC00IHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC14eGwtNSB7XG4gICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weC14eGwtMCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5weC14eGwtMSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weC14eGwtMiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHgteHhsLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHgteHhsLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB4LXh4bC01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LXh4bC0wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LXh4bC0xIHtcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB5LXh4bC0yIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weS14eGwtMyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5weS14eGwtNCB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHkteHhsLTUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQteHhsLTAge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LXh4bC0xIHtcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC14eGwtMiB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC14eGwtMyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQteHhsLTQge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQteHhsLTUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLXh4bC0wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLXh4bC0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBlLXh4bC0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGUteHhsLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGUteHhsLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wZS14eGwtNSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi14eGwtMCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAucGIteHhsLTEge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLXh4bC0yIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLXh4bC0zIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi14eGwtNCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi14eGwtNSB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHMteHhsLTAge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy14eGwtMSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLXh4bC0yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy14eGwtMyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBzLXh4bC00IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wcy14eGwtNSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC14eGwtMCB7XG4gICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC14eGwtMSB7XG4gICAgZ2FwOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmdhcC14eGwtMiB7XG4gICAgZ2FwOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLXh4bC0zIHtcbiAgICBnYXA6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZ2FwLXh4bC00IHtcbiAgICBnYXA6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5nYXAteHhsLTUge1xuICAgIGdhcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5yb3ctZ2FwLXh4bC0wIHtcbiAgICByb3ctZ2FwOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAteHhsLTEge1xuICAgIHJvdy1nYXA6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC14eGwtMiB7XG4gICAgcm93LWdhcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAteHhsLTMge1xuICAgIHJvdy1nYXA6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucm93LWdhcC14eGwtNCB7XG4gICAgcm93LWdhcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJvdy1nYXAteHhsLTUge1xuICAgIHJvdy1nYXA6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuY29sdW1uLWdhcC14eGwtMCB7XG4gICAgY29sdW1uLWdhcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLXh4bC0xIHtcbiAgICBjb2x1bW4tZ2FwOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAteHhsLTIge1xuICAgIGNvbHVtbi1nYXA6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLXh4bC0zIHtcbiAgICBjb2x1bW4tZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbHVtbi1nYXAteHhsLTQge1xuICAgIGNvbHVtbi1nYXA6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2x1bW4tZ2FwLXh4bC01IHtcbiAgICBjb2x1bW4tZ2FwOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRleHQteHhsLXN0YXJ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRleHQteHhsLWVuZCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAudGV4dC14eGwtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZnMtMSB7XG4gICAgZm9udC1zaXplOiAyLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuZnMtMiB7XG4gICAgZm9udC1zaXplOiAycmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZzLTMge1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5mcy00IHtcbiAgICBmb250LXNpemU6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQge1xuICAuZC1wcmludC1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXByaW50LWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtcHJpbnQtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtcHJpbnQtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXByaW50LWlubGluZS1ncmlkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXByaW50LXRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXByaW50LXRhYmxlLXJvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtcHJpbnQtdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXByaW50LWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgfVxuICAuZC1wcmludC1pbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgfVxuICAuZC1wcmludC1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qXG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HRU5FUkFMIFNFVFRJTkdTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZWFkIG1vcmUgYWJvdXQgc2V0dGluZ3MgYW5kXG5VU1dEUyBzdHlsZSB0b2tlbnMgaW4gdGhlIGRvY3VtZW50YXRpb246XG5odHRwczovL2Rlc2lnbnN5c3RlbS5kaWdpdGFsLmdvdi9kZXNpZ24tdG9rZW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkltYWdlIHBhdGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlbGF0aXZlIGltYWdlIGZpbGUgcGF0aFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TaG93IGNvbXBpbGUgd2FybmluZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNob3cgU2FzcyB3YXJuaW5ncyB3aGVuIGZ1bmN0aW9ucyBhbmRcbm1peGlucyB1c2Ugbm9uLXN0YW5kYXJkIHRva2Vucy5cbkFORFxuU2hvdyB1cGRhdGVzIGFuZCBub3RpZmljYXRpb25zLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5OYW1lc3BhY2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUHJlZml4IHNlcGFyYXRvclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2V0IHRoZSBjaGFyYWN0ZXIgdGhlIHNlcGFyYXRlc1xucmVzcG9uc2l2ZSBhbmQgc3RhdGUgcHJlZml4ZXMgZnJvbSB0aGVcbm1haW4gY2xhc3MgbmFtZS5cblRoZSBkZWZhdWx0IChcIjpcIikgbmVlZHMgdG8gYmUgcHJlY2VkZWRcbmJ5IHR3byBiYWNrc2xhc2hlcyB0byBiZSBwcm9wZXJseVxuZXNjYXBlZC5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuTGF5b3V0IGdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNob3VsZCB0aGUgbGF5b3V0IGdyaWQgY2xhc3NlcyBvdXRwdXRcbndpdGggIWltcG9ydGFudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Cb3JkZXIgYm94IHNpemluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuV2hlbiBzZXQgdG8gdHJ1ZSwgc2V0cyB0aGUgYm94LXNpemluZ1xucHJvcGVydHkgb2YgYWxsIHNpdGUgZWxlbWVudHMgdG9cbmBib3JkZXItYm94YC5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRm9jdXMgc3R5bGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblRZUE9HUkFQSFkgU0VUVElOR1Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlYWQgbW9yZSBhYm91dCBzZXR0aW5ncyBhbmRcblVTV0RTIHR5cG9ncmFwaHkgdG9rZW5zIGluIHRoZSBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9kZXNpZ25zeXN0ZW0uZGlnaXRhbC5nb3YvZGVzaWduLXRva2Vucy90eXBlc2V0dGluZy9vdmVydmlldy9cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUm9vdCBmb250IHNpemVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNldHRpbmcgJHRoZW1lLXJlc3BlY3QtdXNlci1mb250LXNpemUgdG9cbnRydWUgc2V0cyB0aGUgcm9vdCBmb250IHNpemUgdG8gMTAwJSBhbmRcbnVzZXMgZW1zIGZvciBtZWRpYSBxdWVyaWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kdGhlbWUtcm9vdC1mb250LXNpemUgb25seSBhcHBsaWVzIHdoZW5cbiR0aGVtZS1yZXNwZWN0LXVzZXItZm9udC1zaXplIGlzIHNldCB0b1xuZmFsc2UuXG5cblRoaXMgd2lsbCBzZXQgdGhlIHJvb3QgZm9udCBzaXplXG5hcyBhIHNwZWNpZmljIHB4IHZhbHVlIGFuZCB1c2UgcHggdmFsdWVzXG5mb3IgbWVkaWEgcXVlcmllcy5cblxuQWNjZXB0cyB0cnVlIG9yIGZhbHNlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdsb2JhbCBzdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZHMgYmFzaWMgc3R5bGluZyBmb3IgdGhlIGZvbGxvd2luZ1xudW5jbGFzc2VkIGVsZW1lbnRzOlxuXG4tIHBhcmFncmFwaDogcGFyYWdyYXBoIHRleHRcbi0gbGluazogbGlua3Ncbi0gY29udGVudDogcGFyYWdyYXBoIHRleHQsIGxpbmtzLFxuICBoZWFkaW5ncywgbGlzdHMsIGFuZCB0YWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQnJvc3dlciBjb21wYXRpYmlsaXR5IG1vZGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbldoZW4gdHJ1ZSwgb3V0cHV0cyB3b2ZmIGFuZCB0dGYgZm9udCBcbmZvcm1hdHMgaW4gYWRkaXRpb24gdG8gd29mZjJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRm9udCBwYXRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZWxhdGl2ZSBmb250IGZpbGUgcGF0aFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DdXN0b20gdHlwZWZhY2UgdG9rZW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BZGQgYSBuZXcgY3VzdG9tIHR5cGVmYWNlIHRva2VuIGlmXG55b3VyIHByb2plY3QgdXNlcyBhIHR5cGVmYWNlIG5vdCBhbHJlYWR5XG5kZWZpbmVkIGJ5IFVTV0RTLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVVNXRFMgZGVmaW5lcyB0aGUgZm9sbG93aW5nIHRva2Vuc1xuYnkgZGVmYXVsdDpcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbidnZW9yZ2lhJ1xuJ2hlbHZldGljYSdcbidtZXJyaXdlYXRoZXInXG4nb3Blbi1zYW5zJ1xuJ3B1YmxpYy1zYW5zJ1xuJ3JvYm90by1tb25vJ1xuJ3NvdXJjZS1zYW5zLXBybydcbidzeXN0ZW0nXG4ndGFob21hJ1xuJ3ZlcmRhbmEnXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BZGQgYXMgbWFueSBuZXcgdG9rZW5zIGFzIHlvdSBoYXZlXG5jdXN0b20gdHlwZWZhY2VzLiBSZWZlcmVuY2UgeW91ciBuZXdcbnRva2VuKHMpIGluIHRoZSB0eXBlLWJhc2VkIGZvbnQgc2V0dGluZ3NcbnVzaW5nIHRoZSBxdW90ZWQgbmFtZSBvZiB0aGUgdG9rZW4uXG5cbkZvciBleGFtcGxlOlxuXG4kdGhlbWUtZm9udC10eXBlLWNvbmQ6ICdleGFtcGxlLWZvbnQtdG9rZW4nO1xuXG5kaXNwbGF5LW5hbWU6XG5UaGUgZGlzcGxheSBuYW1lIG9mIHlvdXIgZm9udFxuXG5jYXAtaGVpZ2h0OlxuVGhlIGhlaWdodCBvZiBhIDUwMHB4IGBOYCBpbiBTa2V0Y2hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbllvdSBzaG91bGQgY2hhbmdlIGBleGFtcGxlLVtzdHlsZV0tdG9rZW5gXG5uYW1lcyB0byBzb21ldGhpbmcgbW9yZSBkZXNjcmlwdGl2ZS5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVHlwZS1iYXNlZCBmb250IHNldHRpbmdzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TZXQgdGhlIHR5cGUtYmFzZWQgdG9rZW5zIGZvciB5b3VyXG5wcm9qZWN0IGZyb20gdGhlIGZvbGxvd2luZyB0b2tlbnMsXG5vciBmcm9tIGFueSBuZXcgZm9udCB0b2tlbnMgeW91IGFkZGVkIGluXG4kdGhlbWUtdHlwZWZhY2UtdG9rZW5zLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJ2dlb3JnaWEnXG4naGVsdmV0aWNhJ1xuJ21lcnJpd2VhdGhlcidcbidvcGVuLXNhbnMnXG4ncHVibGljLXNhbnMnXG4ncm9ib3RvLW1vbm8nXG4nc291cmNlLXNhbnMtcHJvJ1xuJ3N5c3RlbSdcbid0YWhvbWEnXG4ndmVyZGFuYSdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ3VzdG9tIGZvbnQgc3RhY2tzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BZGQgY3VzdG9tIGZvbnQgc3RhY2tzIHRvIGFueSBvZiB0aGVcbnR5cGUtYmFzZWQgZm9udHMuIEFueSBVU1dEUyB0eXBlZmFjZVxudG9rZW4gYWxyZWFkeSBoYXMgYSBkZWZhdWx0IHN0YWNrLlxuXG5DdXN0b20gc3RhY2tzIGRvbid0IG5lZWQgdG8gaW5jbHVkZSB0aGVcbmZvbnQncyBkaXNwbGF5IG5hbWUuIEl0IHdpbGxcbmF1dG9tYXRpY2FsbHkgYXBwZWFyIGF0IHRoZSBzdGFydCBvZlxudGhlIHN0YWNrLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRXhhbXBsZTpcbiR0aGVtZS1mb250LXR5cGUtc2FuczogJ3NvdXJjZS1zYW5zLXBybyc7XG4kdGhlbWUtZm9udC1zYW5zLWN1c3RvbS1zdGFjazogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zO1xuXG5PdXRwdXQ6XG5mb250LWZhbWlseTogXCJTb3VyY2UgU2FucyBQcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zO1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BZGQgYW55IGN1c3RvbSBmb250IHNvdXJjZSBmaWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuSWYgeW91IHdhbnQgVVNXRFMgdG8gZ2VuZXJhdGUgYWRkaXRpb25hbFxuQGZvbnQtZmFjZSBkZWNsYXJhdGlvbnMsIGFkZCB5b3VyIGZvbnRcbmRhdGEgYmVsb3csIGZvbGxvd2luZyB0aGUgZXhhbXBsZSB0aGF0XG5mb2xsb3dzLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVVNXRFMgYXV0b21hdGljYWxseSBnZW5lcmF0ZXMgQGZvbnQtZmFjZVxuZGVjbGFyYXRpb25zIGZvciB0aGUgZm9sbG93aW5nXG5cbidtZXJyaXdlYXRoZXInXG4ncHVibGljLXNhbnMnXG4ncm9ib3RvLW1vbm8nXG4nc291cmNlLXNhbnMtcHJvJ1xuXG5UaGVzZSB0eXBlZmFjZXMgbm90IHJlcXVpcmUgY3VzdG9tXG5zb3VyY2UgZmlsZXMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5FWEFNUExFXG5cbi0gZGlyOlxuICBEaXJlY3RvcnkgcmVsYXRpdmUgdG8gJHRoZW1lLWZvbnQtcGF0aFxuLSBUaGlzIGRpcmVjdG9yeSBzaG91bGQgaW5jbHVkZSBmb250cyBzYXZlZCBhc1xuICAud29mZjJcbiAgRXhhbXBsZVNlcmlmLU5vcm1hbC53b2ZmMlxuXG4kdGhlbWUtZm9udC1zZXJpZi1jdXN0b20tc3JjOiAoXG4gIGRpcjogJ2N1c3RvbS9leGFtcGxlLXNlcmlmJyxcbiAgcm9tYW46IChcbiAgICAxMDA6IGZhbHNlLFxuICAgIDIwMDogZmFsc2UsXG4gICAgMzAwOiAnRXhhbXBsZVNlcmlmLUxpZ2h0JyxcbiAgICA0MDA6ICdFeGFtcGxlU2VyaWYtTm9ybWFsJyxcbiAgICA1MDA6IGZhbHNlLFxuICAgIDYwMDogZmFsc2UsXG4gICAgNzAwOiAnRXhhbXBsZVNlcmlmLUJvbGQnLFxuICAgIDgwMDogZmFsc2UsXG4gICAgOTAwOiBmYWxzZSxcbiAgKSxcbiAgaXRhbGljOiAoXG4gICAgMTAwOiBmYWxzZSxcbiAgICAyMDA6IGZhbHNlLFxuICAgIDMwMDogJ0V4YW1wbGVTZXJpZi1MaWdodEl0YWxpYycsXG4gICAgNDAwOiAnRXhhbXBsZVNlcmlmLUl0YWxpYycsXG4gICAgNTAwOiBmYWxzZSxcbiAgICA2MDA6IGZhbHNlLFxuICAgIDcwMDogJ0V4YW1wbGVTZXJpZi1Cb2xkSXRhbGljJyxcbiAgICA4MDA6IGZhbHNlLFxuICAgIDkwMDogZmFsc2UsXG4gICksXG4pO1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Sb2xlLWJhc2VkIGZvbnQgc2V0dGluZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNldCB0aGUgcm9sZS1iYXNlZCB0b2tlbnMgZm9yIHlvdXJcbnByb2plY3QgZnJvbSB0aGUgZm9sbG93aW5nIGZvbnQtdHlwZVxudG9rZW5zLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJ2NvbmQnXG4naWNvbidcbidsYW5nJ1xuJ21vbm8nXG4nc2FucydcbidzZXJpZidcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVHlwZSBzY2FsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVmaW5lIHlvdXIgcHJvamVjdCdzIHR5cGUgc2NhbGUgdXNpbmdcbnZhbHVlcyBmcm9tIHRoZSBVU1dEUyBzeXN0ZW0gdHlwZSBzY2FsZVxuXG4xLTIwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkZvbnQgd2VpZ2h0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQXNzaWduIHdlaWdodHMgMTAwLTkwMFxuT3IgdXNlIGBmYWxzZWAgZm9yIHVubmVlZGVkIHdlaWdodHMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdlbmVyYWwgdHlwb2dyYXBoeSBzZXR0aW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVHlwZSBzY2FsZSB0b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm1pY3JvOiAgICAgIDEwcHhcbjE6ICAgICAgICAgIDEycHhcbjI6ICAgICAgICAgIDEzcHhcbjM6ICAgICAgICAgIDE0cHhcbjQ6ICAgICAgICAgIDE1cHhcbjU6ICAgICAgICAgIDE2cHhcbjY6ICAgICAgICAgIDE3cHhcbjc6ICAgICAgICAgIDE4cHhcbjg6ICAgICAgICAgIDIwcHhcbjk6ICAgICAgICAgIDIycHhcbjEwOiAgICAgICAgIDI0cHhcbjExOiAgICAgICAgIDI4cHhcbjEyOiAgICAgICAgIDMycHhcbjEzOiAgICAgICAgIDM2cHhcbjE0OiAgICAgICAgIDQwcHhcbjE1OiAgICAgICAgIDQ4cHhcbjE2OiAgICAgICAgIDU2cHhcbjE3OiAgICAgICAgIDY0cHhcbjE4OiAgICAgICAgIDgwcHhcbjE5OiAgICAgICAgIDEyMHB4XG4yMDogICAgICAgICAxNDBweFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuTGluZSBoZWlnaHQgdG9rZW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4xOiAgICAxXG4yOiAgICAxLjE1XG4zOiAgICAxLjM1XG40OiAgICAxLjVcbjU6ICAgIDEuNjJcbjY6ICAgIDEuNzVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkZvbnQgcm9sZSB0b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbid1aSdcbidoZWFkaW5nJ1xuJ2JvZHknXG4nY29kZSdcbidhbHQnXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5NZWFzdXJlIChtYXgtd2lkdGgpIHRva2Vuc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMTogICAgICAgNDRleFxuMjogICAgICAgNjBleFxuMzogICAgICAgNjRleFxuNDogICAgICAgNjhleFxuNTogICAgICAgNzRleFxuNjogICAgICAgODhleFxubm9uZTogICAgbm9uZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DT0xPUiBTRVRUSU5HU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVhZCBtb3JlIGFib3V0IHNldHRpbmdzIGFuZFxuVVNXRFMgY29sb3IgdG9rZW5zIGluIHRoZSBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9kZXNpZ25zeXN0ZW0uZGlnaXRhbC5nb3YvZGVzaWduLXRva2Vucy9jb2xvclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UaGVtZSBwYWxldHRlIGNvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TdGF0ZSBwYWxldHRlIGNvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZW5lcmFsIGNvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DT01QT05FTlQgU0VUVElOR1Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlYWQgbW9yZSBhYm91dCBzZXR0aW5ncyBhbmRcblVTV0RTIHN0eWxlIHRva2VucyBpbiB0aGUgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vZGVzaWduc3lzdGVtLmRpZ2l0YWwuZ292L2Rlc2lnbi10b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU1BBQ0lORyBTRVRUSU5HU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVhZCBtb3JlIGFib3V0IHNldHRpbmdzIGFuZFxuVVNXRFMgc3BhY2luZyB1bml0cyB0b2tlbnMgaW4gdGhlXG5kb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9kZXNpZ25zeXN0ZW0uZGlnaXRhbC5nb3YvZGVzaWduLXRva2Vucy9zcGFjaW5nLXVuaXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkJvcmRlciByYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjJweCAgICAgICAgICAgMnB4XG4wLjUgICAgICAgICAgIDRweFxuMSAgICAgICAgICAgICA4cHhcbjEuNSAgICAgICAgICAgMTJweFxuMiAgICAgICAgICAgICAxNnB4XG4yLjUgICAgICAgICAgIDIwcHhcbjMgICAgICAgICAgICAgMjRweFxuNCAgICAgICAgICAgICAzMnB4XG41ICAgICAgICAgICAgIDQwcHhcbjYgICAgICAgICAgICAgNDhweFxuNyAgICAgICAgICAgICA1NnB4XG44ICAgICAgICAgICAgIDY0cHhcbjkgICAgICAgICAgICAgNzJweFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db2x1bW4gZ2FwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ycHggICAgICAgICAycHhcbjAuNSAgICAgICAgIDRweFxuMSAgICAgICAgICAgOHB4XG4yICAgICAgICAgICAxNnB4XG4zICAgICAgICAgICAyNHB4XG40ICAgICAgICAgICAzMnB4XG41ICAgICAgICAgICA0MHB4XG42ICAgICAgICAgICA0OHB4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdyaWQgY29udGFpbmVyIG1heC13aWR0aFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubW9iaWxlXG5tb2JpbGUtbGdcbnRhYmxldFxudGFibGV0LWxnXG5kZXNrdG9wXG5kZXNrdG9wLWxnXG53aWRlc2NyZWVuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNpdGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVVRJTElUSUVTIFNFVFRJTkdTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZWFkIG1vcmUgYWJvdXQgc2V0dGluZ3MgYW5kXG5VU1dEUyB1dGlsaXRpZXMgaW4gdGhlIGRvY3VtZW50YXRpb246XG5odHRwczovL2Rlc2lnbnN5c3RlbS5kaWdpdGFsLmdvdi91dGlsaXRpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVXRpbGl0eSBicmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuV2hpY2ggYnJlYWtwb2ludHMgZG9lcyB5b3VyIHByb2plY3Rcbm5lZWQ/IFNlbGVjdCBhcyBgdHJ1ZWAgYW55IGJyZWFrcG9pbnRcbnVzZWQgYnkgdXRpbGl0aWVzIG9yIGxheW91dCBncmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdsb2JhbCBjb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblRoZSBmb2xsb3dpbmcgcGFsZXR0ZXMgd2lsbCBiZSBhZGRlZCB0b1xuLSBiYWNrZ3JvdW5kLWNvbG9yXG4tIGJvcmRlci1jb2xvclxuLSBjb2xvclxuLSB0ZXh0LWRlY29yYXRpb24tY29sb3Jcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2V0dGluZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbG9yKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkRlcml2ZSBhIGNvbG9yIGZyb20gYSBjb2xvciBzaG9ydGNvZGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuYXBwZW5kLWltcG9ydGFudCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BcHBlbmQgYCFpbXBvcnRhbnRgIHRvIGEgbGlzdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtbGFzdCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm4gdGhlIGxhc3QgaXRlbSBvZiBhIGxpc3QsXG5SZXR1cm4gbnVsbCBpZiB0aGUgdmFsdWUgaXMgbnVsbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5kZS1saXN0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblRyYW5zZm9ybSBhIG9uZS1lbGVtZW50IGxpc3Qgb3IgYXJnbGlzdFxuaW50byB0aGF0IHNpbmdsZSBlbGVtZW50LlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKDEpID0+IDFcbigoMSkpID0+ICgxKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5lcnJvci1ub3QtdG9rZW4oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyBhIGNvbW1vbiBub3QtYS10b2tlbiBlcnJvci5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudXN3ZHMtZXJyb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQWxsb3cgdGhlIHN5c3RlbSB0byBwYXNzIGFuIGVycm9yIGFzIHRleHRcbnRvIHRlc3QgZXJyb3Igc3RhdGVzIGluIHVuaXQgdGVzdGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtZGVmYXVsdCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSBkZWZhdWx0IHZhbHVlIGZyb20gYSBtYXBcbm9mIHByb2plY3QgZGVmYXVsdHNcbmdldC1kZWZhdWx0KFwiYmctY29sb3JcIilcbj4gJHRoZW1lLWJvZHktYmFja2dyb3VuZC1jb2xvclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5oYXMtaW1wb3J0YW50KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNoZWNrIHRvIHNlZSBpZiBgIWltcG9ydGFudGAgaXNcbmJlaW5nIHBhc3NlZCBpbiBhIG1peGluJ3MgcHJvcHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubWFwLWNvbGxlY3QoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29sbGVjdCBtdWx0aXBsZSBtYXBzIGludG8gYSBzaW5nbGVcbmxhcmdlIG1hcFxuc291cmNlOiBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9iaWdnbGVzcm9ja3MvZDc1MDkxNzAwZjhmMmJlNWFiZmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubWFwLWRlZXAtZ2V0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBhdXRob3IgSHVnbyBHaXJhdWRlbFxuQGFjY2VzcyBwdWJsaWNcbkBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwXG5AcGFyYW0ge0FyZ2xpc3R9ICRrZXlzIC0gS2V5IGNoYWluXG5AcmV0dXJuIHsqfSAtIERlc2lyZWQgdmFsdWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubXVsdGktY2F0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbmNhdGVuYXRlIHR3byBsaXN0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5yZW1vdmUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVtb3ZlIGEgdmFsdWUgZnJvbSBhIGxpc3Rcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc21hcnQtcXVvdGUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUXVvdGVzIHN0cmluZ3Ncbkluc3BlY3RzIGBweGAsIGB4c2AsIGFuZCBgeGxgIG51bWJlcnNcbkxlYXZlcyBib29scyBhcyBpc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5zdHItcmVwbGFjZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXBsYWNlIGFueSBzdWJzdHJpbmcgd2l0aCBhbm90aGVyXG5zdHJpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc3RyLXNwbGl0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNwbGl0IGEgc3RyaW5nIGF0IGEgZ2l2ZW4gc2VwYXJhdG9yXG5hbmQgY29udmVydCBpbnRvIGEgbGlzdCBvZiBzdWJzdHJpbmdzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnN0cmlwLXVuaXQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVtb3ZlIHRoZSB1bml0IG9mIGEgbGVuZ3RoXG5AYXV0aG9yIEh1Z28gR2lyYXVkZWxcbkBwYXJhbSB7TnVtYmVyfSAkbnVtYmVyIC0gTnVtYmVyIHRvIHJlbW92ZSB1bml0IGZyb21cbkByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuYmFzZS10by1tYXAoKVxuQFRPRE86IERlcHJlY2F0ZSBhbmQgZGVsZXRlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db252ZXJ0IGEgc2luZ2xlIGJhc2UgdG8gYSBVU1dEU1xudmFsdWUgbWFwLlxuXG5DYW5kaWRhdGUgZm9yIGRlcHJlY2F0aW9uIGlmIHdlIHJlbW92ZVxuaXNSZWFkYWJsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG50by1udW1iZXIoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuQHJldHVybiB7TnVtYmVyfVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG51bnBhY2soKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ3JlYXRlIGxpc3RzIG9mIHNpbmdsZSBpdGVtcyBmcm9tIGxpc3RzXG5vZiBsaXN0cy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbigxLCAoMi4xLCAyLjIpLCAzKSAtLT5cbigxLCAyLjEsIDIuMiwgMylcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgY29sb3IgZnJvbSBhIGNvbG9yIHNob3J0Y29kZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5EZXJpdmUgYSBjb2xvciBmcm9tIGEgY29sb3Igc2hvcnRjb2RlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbG9yKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkRlcml2ZSBhIGNvbG9yIGZyb20gYSBjb2xvciBzaG9ydGNvZGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc2V0LXRoZW1lLWNvbG9yKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkRlcml2ZSBhIGNvbG9yIGZyb20gYSBzeXN0ZW0gY29sb3IgdG9rZW5cbm9yIGEgaGV4IHZhbHVlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnB4LXRvLXJlbSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db252ZXJ0cyBhIHZhbHVlIGluIHB4IHRvIGEgdmFsdWUgaW4gcmVtXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnJlbS10by1weCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db252ZXJ0cyBhIHZhbHVlIGluIHJlbSB0byBhIHZhbHVlIGluIHB4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnJlbS10by11c2VyLWVtKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnRzIGEgdmFsdWUgaW4gcmVtIHRvIGEgdmFsdWUgaW5cblt1c2VyLXNldHRpbmdzXSBlbSBmb3IgdXNlIGluIG1lZGlhXG5xdWVyaWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnNwYWNpbmctbXVsdGlwbGUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29udmVydHMgYSBzcGFjaW5nIHVuaXQgbXVsdGlwbGUgaW50b1xudGhlIGRlc2lyZWQgZmluYWwgdW5pdHMgKGN1cnJlbnRseSByZW0pXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnVuaXRzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnRzIGEgc3BhY2luZyB1bml0IGludG9cbnRoZSBkZXNpcmVkIGZpbmFsIHVuaXRzIChjdXJyZW50bHkgcmVtKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5udW1iZXItdG8tdG9rZW4oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29udmVydHMgYW4gaW50ZWdlciBvciBudW1lcmljIHZhbHVlXG5pbnRvIGEgc3lzdGVtIHZhbHVlXG5cbkV4OiAwLjUgICAtLT4gJzA1J1xuICAgIC0xcHggIC0tPiAnbmVnLTFweCdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUHJvamVjdCBmb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29sbGVjdHMgZm9udCBzZXR0aW5ncyBpbiBhIG1hcCBmb3Jcbmxvb3BpbmcuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkx1bWluYW5jZSByYW5nZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubnMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQWRkIGEgbmFtZXNzcGFjZSBvZiAkdHlwZSBpZiB0aGF0XG5uYW1lc3BhY2UgaXMgc2V0IHRvIG91dHB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtc3lzdGVtLWNvbG9yKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkRlcml2ZSBhIHN5c3RlbSBjb2xvciBmcm9tIGl0c1xuZmFtaWx5LCB2YWx1ZSwgYW5kIHZpdmlkIG9yIGEgcGFzc2VkXG52YXJpYWJsZSB0aGF0IGlzLCBpdHNlbGYsIGEgbGlzdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5MaW5lIGhlaWdodFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5NZWFzdXJlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNhcC1oZWlnaHQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IHRoZSBjYXAgaGVpZ2h0IG9mIGEgdmFsaWQgdHlwZWZhY2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudmFsaWRhdGUtdHlwZWZhY2UtdG9rZW4oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ2hlY2sgdG8gc2VlIGlmIGEgdHlwZWZhY2UtdG9rZW4gZXhpc3RzLlxuVGhyb3cgYW4gZXJyb3IgaWYgYSBwYXNzZWQgdG9rZW4gZG9lc1xubm90IGV4aXN0IGluIHRoZSB0eXBlZmFjZS10b2tlbiBtYXAuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbnZlcnQtdG8tZm9udC10eXBlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnRzIGEgZm9udC1yb2xlIHRva2VuIGludG8gYVxuZm9udC10eXBlIHRva2VuLiBMZWF2ZXMgZm9udC10eXBlIHRva2Vuc1xudW5jaGFuZ2VkLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mb250LXNvdXJjZXMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuT3V0cHV0cyBhIGxpc3Qgb2YgZm9udCBzb3VyY2VzIHVzZWQgaW5cbmEgQGZvbnQtZmFjZSBkZWNsYXJhdGlvbi5cblxuJHRoZW1lLWZvbnQtYnJvd3Nlci1jb21wYXRpYmlsaXR5OiB0cnVlIC0gb3V0cHV0IHdvZmYyLCB3b2ZmLCB0dGZcbiR0aGVtZS1mb250LWJyb3dzZXItY29tcGF0aWJpbGl0eTogZmFsc2UgLSBvdXRwdXQgd29mZjJcblxuQHBhcmFtIHN0ZW06IHN0cmluZyAtIFtmb250IHBhdGhdL1tjdXN0b20tc3JjLmRpcl0vW2N1c3RvbS1zcmMuW3N0eWxlXS5bd2VpZ2h0XV1cbkBvdXRwdXQ6IHN0cmluZ1xuXG5maWxldHlwZXMgbXVzdCBiZSBvbmUgb2YgdGhlIGZpbGV0eXBlcyBzZXQgaW4gdmFyaWFibGVzLyRwcm9qZWN0LWZvbnQtZmFjZS1maWxldHlwZXMgKHdvZmYsIHdvZmYyLCB0dGYpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC1mb250LXN0YWNrKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIGZvbnQgc3RhY2sgZnJvbSBhIHN0eWxlLSBvclxucm9sZS1iYXNlZCBmb250IHRva2VuLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtdHlwZWZhY2UtdG9rZW4oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgdHlwZWZhY2UgdG9rZW4gZnJvbSBhIGZvbnQtdHlwZSBvclxuZm9udC1yb2xlIHRva2VuLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5ub3JtYWxpemUtdHlwZS1zY2FsZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Ob3JtYWxpemVzIGEgc3BlY2lmaWMgZmFjZSdzIG9wdGljYWwgc2l6ZVxudG8gYSBzZXQgdGFyZ2V0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnN5c3RlbS10eXBlLXNjYWxlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIHZhbHVlIGZyb20gdGhlIHN5c3RlbSB0eXBlIHNjYWxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkVhc2luZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qICBkZXByZWNhdGVkLnNjc3NcbiAgICAtLS1cbiAgICBPY2Nhc2lvbmFsbHkgdGhlIGRlc2lnbiBzeXN0ZW0gd2lsbCBkZXByZWNhdGVcbiAgICBvbGQgdmFyaWFibGVzIG9yIGZ1bmN0aW9uYWxpdHkuIElmIHdlIHJlcGxhY2VcbiAgICB0aGUgb2xkIGZ1bmN0aW9uYWxpdHkgd2l0aCBzb21ldGhpbmcgbmV3LCB0aGlzIGlzIGFcbiAgICBwbGFjZSB0byBjb25uZWN0IHRoZSBvbGQgZnVuY3Rpb25hbGl0eSB0byB0aGVcbiAgICBuZXcgZnVuY3Rpb25hbGl0eSwgaW4gdGhlIHNlcnZpY2Ugb2YgYmV0dGVyXG4gICAgY29udGludWl0eSBhbmQgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgd2l0aGluIGFcbiAgICBtYWpvciByZWxlYXNlIGN5Y2xlLlxuXG4gICAgTm90ZSB0aGUgVVNXRFMgdmVyc2lvbiB3aGVyZSB3ZSBkZXByZWNhdGVkIHRoZVxuICAgIG9sZCBmdW5jdGlvbmFsaXR5IGluIGEgY29tbWVudC5cblxuICAgIEJlIHN1cmUgdG8gdXBkYXRlIG5vdGlmaWNhdGlvbnMuc2Nzcy5cblxuICAgIFRoaXMgZmlsZSBzaG91bGQgc3RhcnRlZCBmcmVzaCBhdCBlYWNoXG4gICAgbWFqb3IgdmVyc2lvbi5cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuYWR2YW5jZWQtY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgY29sb3IgZnJvbSBhIGNvbG9yIHRyaXBsZXQ6XG5bZmFtaWx5XSwgW2dyYWRlXSwgW3ZhcmlhbnRdXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNhbGN1bGF0ZS1ncmFkZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5EZXJpdmUgdGhlIGdyYWRlIGVxdWl2YWxlbnQgYW55IGNvbG9yLFxuZXZlbiBub24tdG9rZW4gY29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbG9yLXRva2VuLWFzc2lnbm1lbnQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IHRoZSBzeXN0ZW0gdG9rZW4gZXF1aXZhbGVudCBvZiBhbnlcbnRoZW1lIGNvbG9yIHRva2VuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmlzLXN5c3RlbS1jb2xvci10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm4gd2hldGhlciBhIHRva2VuIGlzIGEgc3lzdGVtXG5jb2xvciB0b2tlblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5pcy10aGVtZS1jb2xvci10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm4gd2hldGhlciBhIHRva2VuIGlzIGEgdGhlbWVcbmNvbG9yIHRva2VuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbG9yLXRva2VuLWZhbWlseSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSBmYW1pbHkgb2YgYSBjb2xvciB0b2tlbi5cblJldHVybnM6IGNvbG9yLWZhbWlseVxuY29sb3ItdG9rZW4tZmFtaWx5KFwiYWNjZW50LXdhcm0tdml2aWRcIilcbj4gXCJhY2NlbnQtd2FybVwiXG5jb2xvci10b2tlbi1mYW1pbHkoXCJyZWQtNTB2XCIpXG4+IFwicmVkXCJcbmNvbG9yLXRva2VuLXZhcmlhbnQoKFwicmVkXCIsIDUwLCBcInZpdmlkXCIpKVxuPiBcInJlZFwiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmRlY29tcG9zZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db252ZXJ0IGEgY29sb3IgdG9rZW4gaW50byBpbnRvIGEgbGlzdFxub2YgZm9ybSBbZmFtaWx5XSwgW2dyYWRlXSwgW3ZhcmlhbnRdXG5WaXZpZCB2YXJpYW50cyByZXR1cm4gXCJ2aXZpZFwiIGFzIHRoZVxudmFyaWFudC5cbklmIG5laXRoZXIgZ3JhZGUgbm9yIHZhcmlhbnQgZXhpc3RzLFxucmV0dXJucyAnbnVsbCdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3ItdG9rZW4tZmFtaWx5KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgdGhlIGZhbWlseSBvZiBhIGNvbG9yIHRva2VuLlxuUmV0dXJuczogY29sb3ItZmFtaWx5XG5jb2xvci10b2tlbi1mYW1pbHkoXCJhY2NlbnQtd2FybS12aXZpZFwiKVxuPiBcImFjY2VudC13YXJtXCJcbmNvbG9yLXRva2VuLWZhbWlseShcInJlZC01MHZcIilcbj4gXCJyZWRcIlxuY29sb3ItdG9rZW4tdmFyaWFudCgoXCJyZWRcIiwgNTAsIFwidml2aWRcIikpXG4+IFwicmVkXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3ItdG9rZW4tZ3JhZGUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB0aGUgZ3JhZGUgb2YgYSBVU1dEUyBjb2xvciB0b2tlbi5cblJldHVybnM6IGNvbG9yLWdyYWRlXG5jb2xvci10b2tlbi1ncmFkZShcImFjY2VudC13YXJtXCIpXG4+IFwicm9vdFwiXG5jb2xvci10b2tlbi1ncmFkZShcImFjY2VudC13YXJtLXZpdmlkXCIpXG4+IFwicm9vdFwiXG5jb2xvci10b2tlbi1ncmFkZShcImFjY2VudC13YXJtLWRhcmtlclwiKVxuPiBcImRhcmtlclwiXG5jb2xvci10b2tlbi1ncmFkZShcInJlZC01MHZcIilcbj4gNTBcbmNvbG9yLXRva2VuLXZhcmlhbnQoKFwicmVkXCIsIDUwLCBcInZpdmlkXCIpKVxuPiA1MFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvci10b2tlbi1mYW1pbHkoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB0aGUgZmFtaWx5IG9mIGEgY29sb3IgdG9rZW4uXG5SZXR1cm5zOiBjb2xvci1mYW1pbHlcbmNvbG9yLXRva2VuLWZhbWlseShcImFjY2VudC13YXJtLXZpdmlkXCIpXG4+IFwiYWNjZW50LXdhcm1cIlxuY29sb3ItdG9rZW4tZmFtaWx5KFwicmVkLTUwdlwiKVxuPiBcInJlZFwiXG5jb2xvci10b2tlbi12YXJpYW50KChcInJlZFwiLCA1MCwgXCJ2aXZpZFwiKSlcbj4gXCJyZWRcIlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5pcy1jb2xvci10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHdoZXRoZXIgYSBnaXZlbiBzdHJpbmcgaXMgYVxuVVNXRFMgY29sb3IgdG9rZW4uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnBvdygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SYWlzZXMgYSB1bml0bGVzcyBudW1iZXIgdG8gdGhlIHBvd2VyXG5vZiBhbm90aGVyIHVuaXRsZXNzIG51bWJlclxuSW5jbHVkZXMgaGVscGVyIGZ1bmN0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5IZWxwZXIgZnVuY3Rpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogZmFjdG9yaWFsKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKiBzdW1tYXRpb24oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qIGV4cC1tYWNsYXVyaW4oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qIGxuKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3ItdG9rZW4tdHlwZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSB0eXBlIG9mIGEgY29sb3IgdG9rZW4uXG5SZXR1cm5zOiBcInN5c3RlbVwiIHwgXCJ0aGVtZVwiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbG9yLXRva2VuLXZhcmlhbnQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB0aGUgdmFyaWFudCBvZiBjb2xvciB0b2tlbi5cblJldHVybnM6IFwidml2aWRcIiB8IGZhbHNlXG5jb2xvci10b2tlbi12YXJpYW50KFwiYWNjZW50LXdhcm1cIilcbj4gZmFsc2VcbmNvbG9yLXRva2VuLXZhcmlhbnQoXCJhY2NlbnQtd2FybS12aXZpZFwiKVxuPiBcInZpdmlkXCJcbmNvbG9yLXRva2VuLXZhcmlhbnQoXCJyZWQtNTB2XCIpXG4+IFwidml2aWRcIlxuY29sb3ItdG9rZW4tdmFyaWFudCgoXCJyZWRcIiwgNTAsIFwidml2aWRcIikpXG4+IFwidml2aWRcIlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tYWdpYy1udW1iZXIoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB0aGUgbWFnaWMgbnVtYmVyIG9mIHR3byBjb2xvclxuZ3JhZGVzLiBUYWtlcyBudW1iZXJzIG9yIGNvbG9yIHRva2Vucy5cbm1hZ2ljLW51bWJlcig1MCwgMTApXG5yZXR1cm46IDQwXG5tYWdpYy1udW1iZXIoXCJyZWQtNTBcIiwgXCJyZWQtMTBcIilcbnJldHVybjogNDBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuaXMtYWNjZXNzaWJsZS1tYWdpYy1udW1iZXIoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB3aGV0aGVyIHR3byBncmFkZXMgYWNoaWV2ZVxuc3BlY2lmaWVkIHRhcmdldCBjb2xvciBjb250cmFzdFxuUmV0dXJuczogdHJ1ZSB8IGZhbHNlXG5pcy1hY2Nlc3NpYmxlLW1hZ2ljLW51bWJlcigxMCwgNTAsIFwiQUFcIilcbj4gZmFsc2VcbmlzLWFjY2Vzc2libGUtbWFnaWMtbnVtYmVyKDEwLCA2MCwgXCJBQVwiKVxuPiB0cnVlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbndjYWctbWFnaWMtbnVtYmVyKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgdGhlIG1hZ2ljIG51bWJlciBvZiBhIHNwZWNpZmljXG53Y2FnIGdyYWRlOlxuXCJBQVwiXG5cIkFBLUxhcmdlXCJcblwiQUFBXCJcbndjYWctbWFnaWMtbnVtYmVyKFwiQUFcIilcbj4gNTBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZ2V0LWxpbmstdG9rZW5zLWZyb20tYmcoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGFjY2Vzc2libGUgbGluayBjb2xvcnMgZm9yIGEgZ2l2ZW5cbmJhY2tncm91bmQgY29sb3JcbnJldHVybnM6IGxpbmstdG9rZW4sIGhvdmVyLXRva2VuXG5nZXQtbGluay10b2tlbnMtZnJvbS1iZyhcbiAgXCJibGFja1wiLFxuICBcInJlZC02MFwiLFxuICBcInJlZC0xMFwiLFxuICBcIkFBXCIpXG4+IFwicmVkLTEwXCIsIFwicmVkLTVcIlxuZ2V0LWxpbmstdG9rZW5zLWZyb20tYmcoXG4gIFwiYmxhY2tcIixcbiAgXCJyZWQtNjB2XCIsXG4gIFwicmVkLTEwdlwiLFxuICBcIkFBLWxhcmdlXCIpXG4+IFwicmVkLTYwdlwiLCBcInJlZC01MHZcIlxuZ2V0LWxpbmstdG9rZW5zLWZyb20tYmcoXG4gIFwiYmxhY2tcIixcbiAgXCJyZWQtNXZcIixcbiAgXCJyZWQtNjB2XCIsXG4gIFwiQUFcIilcbj4gXCJyZWQtNXZcIiwgXCJ3aGl0ZVwiXG5nZXQtbGluay10b2tlbnMtZnJvbS1iZyhcbiAgXCJibGFja1wiLFxuICBcIndoaXRlXCIsXG4gIFwicmVkLTYwdlwiLFxuICBcIkFBXCIpXG4+IFwid2hpdGVcIiwgXCJ3aGl0ZVwiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm5leHQtdG9rZW4oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyBuZXh0IFwiZGFya2VyXCIgb3IgXCJsaWdodGVyXCIgY29sb3JcbnRva2VuIG9mIHRoZSBzYW1lIHRva2VuIHR5cGUgYW5kIHZhcmlhbnQuXG5SZXR1cm5zOiBjb2xvci10b2tlbiB8IGZhbHNlXG5uZXh0LXRva2VuKFwiYWNjZW50LXdhcm1cIiwgXCJsaWdodGVyXCIpXG4+IFwiYWNjZW50LXdhcm0tbGlnaHRcIlxubmV4dC10b2tlbihcImdyYXktMTBcIiwgXCJsaWdodGVyXCIpXG4+IFwiZ3JheS01XCJcbm5leHQtdG9rZW4oXCJncmF5LTVcIiwgXCJsaWdodGVyXCIpXG4+IFwid2hpdGVcIlxubmV4dC10b2tlbihcIndoaXRlXCIsIFwibGlnaHRlclwiKVxuPiBmYWxzZVxubmV4dC10b2tlbihcInJlZC01MHZcIiwgXCJkYXJrZXJcIilcbj4gXCJyZWQtNjB2XCJcbm5leHQtdG9rZW4oXCJyZWQtNTBcIiwgXCJkYXJrZXJcIilcbj4gXCJyZWQtNjBcIlxubmV4dC10b2tlbihcInJlZC04MHZcIiwgXCJkYXJrZXJcIilcbj4gXCJyZWQtOTBcIlxubmV4dC10b2tlbihcInJlZC05MFwiLCBcImRhcmtlclwiKVxuPiBcImJsYWNrXCJcbm5leHQtdG9rZW4oXCJ3aGl0ZVwiLCBcImRhcmtlclwiKVxuPiBcImdyYXktNVwiXG5uZXh0LXRva2VuKFwiYmxhY2tcIiwgXCJsaWdodGVyXCIpXG4+IFwiZ3JheS05MFwiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnRlc3QtY29sb3JzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNoZWNrIHRvIHNlZSBpZiBhbGwgc3lzdGVtIGNvbG9yc1xuZmFsbCBiZXR3ZWVuIHRoZSBwcm9wZXIgcmVsYXRpdmVcbmx1bWluYW5jZSByYW5nZSBmb3IgdGhlaXIgZ3JhZGUuXG5IYXMgYSBjb3VwbGUgcXVpcmtzLCBhcyB0aGUgbHVtaW5hbmNlKClcbmZ1bmN0aW9uIHJldHVybnMgc2xpZ2h0bHkgZGlmZmVyZW50XG5yZXN1bHRzIHRoYW4gZXhwZWN0ZWQuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbHVtbnMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxub3V0cHV0cyBhIGdyaWQtY29sIG51bWJlciBiYXNlZCBvblxudGhlIG51bWJlciBvZiBkZXNpcmVkIGNvbHVtbnMgaW4gdGhlXG4xMi1jb2x1bW4gZ3JpZFxuXG5FeDogY29sdW1ucygyKSAtLT4gNlxuICAgIGdyaWQtY29sKGNvbHVtbnMoMikpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblVTV0RTIFByb3BlcnRpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZ2V0LXVzd2RzLXZhbHVlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkZpbmRzIGFuZCBvdXRwdXRzIGEgdmFsdWUgZnJvbSB0aGVcblVTV0RTIHN0YW5kYXJkIHZhbHVlcy5cblxuVXNlZCB0byBidWlsZCBvdGhlciBzdGFuZGFyZCB1dGlsaXR5XG5mdW5jdGlvbnMgYW5kIG1peGlucy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZ2V0LXN0YW5kYXJkLXZhbHVlcygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXRzIGEgbWFwIG9mIFVTV0RTIHN0YW5kYXJkIHZhbHVlc1xuZm9yIGEgcHJvcGVydHlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuYm9yZGVyLXJhZGl1cygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBib3JkZXItcmFkaXVzIGZyb20gdGhlIHN5c3RlbVxuYm9yZGVyLXJhZGlpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZvbnQtd2VpZ2h0KClcbmZ3KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIGZvbnQtd2VpZ2h0IHZhbHVlIGZyb20gdGhlXG5zeXN0ZW0gZm9udC13ZWlnaHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZmVhdHVyZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXRzIGEgdmFsaWQgVVNXRFMgZm9udCBmZWF0dXJlIHNldHRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZmxleCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXRzIGEgdmFsaWQgVVNXRFMgZmxleCB2YWx1ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mb250LWZhbWlseSgpXG5mYW1pbHkoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgZm9udC1mYW1pbHkgc3RhY2sgZnJvbSBhXG5yb2xlLWJhc2VkIG9yIHR5cGUtYmFzZWQgZm9udCBmYW1pbHlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubGV0dGVyLXNwYWNpbmcoKVxubHMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgbGV0dGVyLXNwYWNpbmcgdmFsdWUgZnJvbSB0aGVcbnN5c3RlbSBsZXR0ZXItc3BhY2luZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tZWFzdXJlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldHMgYSB2YWxpZCBVU1dEUyByZWFkaW5nIGxpbmUgbGVuZ3RoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm9wYWNpdHkoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGFuIG9wYWNpdHkgZnJvbSB0aGUgc3lzdGVtXG5vcGFjaXRpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxub3JkZXIoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGFuIG9yZGVyIHZhbHVlIGZyb20gdGhlXG5zeXN0ZW0gb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnJhZGl1cygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBib3JkZXItcmFkaXVzIHZhbHVlIGZyb20gdGhlXG5zeXN0ZW0gbGV0dGVyLXNwYWNpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZm9udC1zaXplKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCB0eXBlIHNjYWxlIHZhbHVlIGZyb20gYSBbZmFtaWx5XSBhbmRcbltzY2FsZV1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuei1pbmRleCgpXG56KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIHotaW5kZXggdmFsdWUgZnJvbSB0aGVcbnN5c3RlbSB6LWluZGV4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnV0aWxpdHktZm9udCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBub3JtYWxpemVkIGZvbnQtc2l6ZSBpbiByZW0gZnJvbVxuYSBmYW1pbHkgYW5kIGEgdHlwZSBzaXplIGluIGVpdGhlclxuc3lzdGVtIHNjYWxlIG9yIHByb2plY3Qgc2NhbGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk5vdCB0aGUgcHVibGljLWZhY2luZyBmdW5jdGlvbi5cblVzZWQgZm9yIGJ1aWxkaW5nIHRoZSB1dGlsaXRpZXMgYW5kXG53aXRoaG9sZHMgY2VydGFpbiBlcnJvcnMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZhbWlseSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBmb250LWZhbWlseSBzdGFja1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5zaXplKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIG5vcm1hbGl6ZWQgZm9udC1zaXplIGluIHJlbSBmcm9tXG5hIGZhbWlseSBhbmQgYSB0eXBlIHNpemUgaW4gZWl0aGVyXG5zeXN0ZW0gc2NhbGUgb3IgcHJvamVjdCBzY2FsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mb250KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIGZvbnQtZmFtaWx5IHN0YWNrXG5BTkRcbkdldCBhIG5vcm1hbGl6ZWQgZm9udC1zaXplIGluIHJlbSBmcm9tXG5hIGZhbWlseSBhbmQgYSB0eXBlIHNpemUgaW4gZWl0aGVyXG5zeXN0ZW0gc2NhbGUgb3IgcHJvamVjdCBzY2FsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG50eXBlc2V0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNldHM6XG4tIGZhbWlseVxuLSBzaXplXG4tIGxpbmUtaGVpZ2h0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgbWF4LW5lc3RpbmctZGVwdGggKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AcmVuZGVyLXBzZXVkb2NsYXNzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5CdWlsZCBhIHBzZXVjb2NsYXNzIHV0aWxpeSBmcm9tIHZhbHVlc1xuY2FsY3VsYXRlZCBpbiB0aGUgQHJlbmRlci11dGlsaXRpZXMtaW5cbmxvb3Bcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQHJlbmRlci11dGlsaXR5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5CdWlsZCBhIHV0aWxpdHkgZnJvbSB2YWx1ZXMgY2FsY3VsYXRlZFxuaW4gdGhlIEByZW5kZXItdXRpbGl0aWVzLWluIGxvb3Bcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblRPRE86IERldGVybWluZSB0aGUgcHJvcGVyIHVzZSBvZlxudW5xdW90ZSgpIGluIHRoZSBmb2xsb3dpbmcuIENoYW5nZWQgdG9cbmFjY291bnQgZm9yIGEgJ2ludGVycG9sYXRpb24gbmVhclxub3BlcmF0b3JzIHdpbGwgYmUgc2ltcGxpZmllZCBpbiBhXG5mdXR1cmUgdmVyc2lvbiBvZiBTYXNzJyB3YXJuaW5nLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AcmVuZGVyLXV0aWxpdGllcy1pblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVGhlIG1hc3RlciBsb29wIHRoYXQgc2V0cyB0aGUgYnVpbGRpbmdcbmJsb2NrcyBvZiB1dGlsaXRpZXMgZnJvbSB0aGUgdmFsdWVzXG5pbiBpbmRpdmlkdWFsIHJ1bGUgc2V0dGluZ3MgYW5kIGxvb3BzXG50aHJvdWdoIGFsbCBwb3NzaWJsZSB2YXJpYW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qICBub3RpZmljYXRpb25zLnNjc3NcbiAgICAtLS1cbiAgICBBZGRzIGEgbm90aWZpY2F0aW9uIGF0IHRoZSB0b3Agb2YgZWFjaCBVU1dEU1xuICAgIGNvbXBpbGUuIFVzZSB0aGlzIGZpbGUgZm9yIGltcG9ydGFudCBub3RpZmljYXRpb25zXG4gICAgYW5kIHVwZGF0ZXMgdG8gdGhlIGRlc2lnbiBzeXN0ZW0uXG5cbiAgICBUaGlzIGZpbGUgc2hvdWxkIHN0YXJ0ZWQgZnJlc2ggYXQgZWFjaFxuICAgIG1ham9yIHZlcnNpb24uXG5cbiovXG4vKiBwcmV0dGllci1pZ25vcmUgKi9cbi8qIHByZXR0aWVyLWlnbm9yZSAqL1xuLypcbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdFTkVSQUwgU0VUVElOR1Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlYWQgbW9yZSBhYm91dCBzZXR0aW5ncyBhbmRcblVTV0RTIHN0eWxlIHRva2VucyBpbiB0aGUgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vZGVzaWduc3lzdGVtLmRpZ2l0YWwuZ292L2Rlc2lnbi10b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuSW1hZ2UgcGF0aFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVsYXRpdmUgaW1hZ2UgZmlsZSBwYXRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNob3cgY29tcGlsZSB3YXJuaW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2hvdyBTYXNzIHdhcm5pbmdzIHdoZW4gZnVuY3Rpb25zIGFuZFxubWl4aW5zIHVzZSBub24tc3RhbmRhcmQgdG9rZW5zLlxuQU5EXG5TaG93IHVwZGF0ZXMgYW5kIG5vdGlmaWNhdGlvbnMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk5hbWVzcGFjZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5QcmVmaXggc2VwYXJhdG9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TZXQgdGhlIGNoYXJhY3RlciB0aGUgc2VwYXJhdGVzXG5yZXNwb25zaXZlIGFuZCBzdGF0ZSBwcmVmaXhlcyBmcm9tIHRoZVxubWFpbiBjbGFzcyBuYW1lLlxuVGhlIGRlZmF1bHQgKFwiOlwiKSBuZWVkcyB0byBiZSBwcmVjZWRlZFxuYnkgdHdvIGJhY2tzbGFzaGVzIHRvIGJlIHByb3Blcmx5XG5lc2NhcGVkLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5MYXlvdXQgZ3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2hvdWxkIHRoZSBsYXlvdXQgZ3JpZCBjbGFzc2VzIG91dHB1dFxud2l0aCAhaW1wb3J0YW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkJvcmRlciBib3ggc2l6aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5XaGVuIHNldCB0byB0cnVlLCBzZXRzIHRoZSBib3gtc2l6aW5nXG5wcm9wZXJ0eSBvZiBhbGwgc2l0ZSBlbGVtZW50cyB0b1xuYGJvcmRlci1ib3hgLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Gb2N1cyBzdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVFlQT0dSQVBIWSBTRVRUSU5HU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVhZCBtb3JlIGFib3V0IHNldHRpbmdzIGFuZFxuVVNXRFMgdHlwb2dyYXBoeSB0b2tlbnMgaW4gdGhlIGRvY3VtZW50YXRpb246XG5odHRwczovL2Rlc2lnbnN5c3RlbS5kaWdpdGFsLmdvdi9kZXNpZ24tdG9rZW5zL3R5cGVzZXR0aW5nL292ZXJ2aWV3L1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Sb290IGZvbnQgc2l6ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2V0dGluZyAkdGhlbWUtcmVzcGVjdC11c2VyLWZvbnQtc2l6ZSB0b1xudHJ1ZSBzZXRzIHRoZSByb290IGZvbnQgc2l6ZSB0byAxMDAlIGFuZFxudXNlcyBlbXMgZm9yIG1lZGlhIHF1ZXJpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiR0aGVtZS1yb290LWZvbnQtc2l6ZSBvbmx5IGFwcGxpZXMgd2hlblxuJHRoZW1lLXJlc3BlY3QtdXNlci1mb250LXNpemUgaXMgc2V0IHRvXG5mYWxzZS5cblxuVGhpcyB3aWxsIHNldCB0aGUgcm9vdCBmb250IHNpemVcbmFzIGEgc3BlY2lmaWMgcHggdmFsdWUgYW5kIHVzZSBweCB2YWx1ZXNcbmZvciBtZWRpYSBxdWVyaWVzLlxuXG5BY2NlcHRzIHRydWUgb3IgZmFsc2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2xvYmFsIHN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQWRkcyBiYXNpYyBzdHlsaW5nIGZvciB0aGUgZm9sbG93aW5nXG51bmNsYXNzZWQgZWxlbWVudHM6XG5cbi0gcGFyYWdyYXBoOiBwYXJhZ3JhcGggdGV4dFxuLSBsaW5rOiBsaW5rc1xuLSBjb250ZW50OiBwYXJhZ3JhcGggdGV4dCwgbGlua3MsXG4gIGhlYWRpbmdzLCBsaXN0cywgYW5kIHRhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Ccm9zd2VyIGNvbXBhdGliaWxpdHkgbW9kZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuV2hlbiB0cnVlLCBvdXRwdXRzIHdvZmYgYW5kIHR0ZiBmb250IFxuZm9ybWF0cyBpbiBhZGRpdGlvbiB0byB3b2ZmMlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Gb250IHBhdGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlbGF0aXZlIGZvbnQgZmlsZSBwYXRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkN1c3RvbSB0eXBlZmFjZSB0b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBhIG5ldyBjdXN0b20gdHlwZWZhY2UgdG9rZW4gaWZcbnlvdXIgcHJvamVjdCB1c2VzIGEgdHlwZWZhY2Ugbm90IGFscmVhZHlcbmRlZmluZWQgYnkgVVNXRFMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VU1dEUyBkZWZpbmVzIHRoZSBmb2xsb3dpbmcgdG9rZW5zXG5ieSBkZWZhdWx0OlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJ2dlb3JnaWEnXG4naGVsdmV0aWNhJ1xuJ21lcnJpd2VhdGhlcidcbidvcGVuLXNhbnMnXG4ncHVibGljLXNhbnMnXG4ncm9ib3RvLW1vbm8nXG4nc291cmNlLXNhbnMtcHJvJ1xuJ3N5c3RlbSdcbid0YWhvbWEnXG4ndmVyZGFuYSdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBhcyBtYW55IG5ldyB0b2tlbnMgYXMgeW91IGhhdmVcbmN1c3RvbSB0eXBlZmFjZXMuIFJlZmVyZW5jZSB5b3VyIG5ld1xudG9rZW4ocykgaW4gdGhlIHR5cGUtYmFzZWQgZm9udCBzZXR0aW5nc1xudXNpbmcgdGhlIHF1b3RlZCBuYW1lIG9mIHRoZSB0b2tlbi5cblxuRm9yIGV4YW1wbGU6XG5cbiR0aGVtZS1mb250LXR5cGUtY29uZDogJ2V4YW1wbGUtZm9udC10b2tlbic7XG5cbmRpc3BsYXktbmFtZTpcblRoZSBkaXNwbGF5IG5hbWUgb2YgeW91ciBmb250XG5cbmNhcC1oZWlnaHQ6XG5UaGUgaGVpZ2h0IG9mIGEgNTAwcHggYE5gIGluIFNrZXRjaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuWW91IHNob3VsZCBjaGFuZ2UgYGV4YW1wbGUtW3N0eWxlXS10b2tlbmBcbm5hbWVzIHRvIHNvbWV0aGluZyBtb3JlIGRlc2NyaXB0aXZlLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UeXBlLWJhc2VkIGZvbnQgc2V0dGluZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNldCB0aGUgdHlwZS1iYXNlZCB0b2tlbnMgZm9yIHlvdXJcbnByb2plY3QgZnJvbSB0aGUgZm9sbG93aW5nIHRva2Vucyxcbm9yIGZyb20gYW55IG5ldyBmb250IHRva2VucyB5b3UgYWRkZWQgaW5cbiR0aGVtZS10eXBlZmFjZS10b2tlbnMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4nZ2VvcmdpYSdcbidoZWx2ZXRpY2EnXG4nbWVycml3ZWF0aGVyJ1xuJ29wZW4tc2FucydcbidwdWJsaWMtc2Fucydcbidyb2JvdG8tbW9ubydcbidzb3VyY2Utc2Fucy1wcm8nXG4nc3lzdGVtJ1xuJ3RhaG9tYSdcbid2ZXJkYW5hJ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DdXN0b20gZm9udCBzdGFja3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBjdXN0b20gZm9udCBzdGFja3MgdG8gYW55IG9mIHRoZVxudHlwZS1iYXNlZCBmb250cy4gQW55IFVTV0RTIHR5cGVmYWNlXG50b2tlbiBhbHJlYWR5IGhhcyBhIGRlZmF1bHQgc3RhY2suXG5cbkN1c3RvbSBzdGFja3MgZG9uJ3QgbmVlZCB0byBpbmNsdWRlIHRoZVxuZm9udCdzIGRpc3BsYXkgbmFtZS4gSXQgd2lsbFxuYXV0b21hdGljYWxseSBhcHBlYXIgYXQgdGhlIHN0YXJ0IG9mXG50aGUgc3RhY2suXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5FeGFtcGxlOlxuJHRoZW1lLWZvbnQtdHlwZS1zYW5zOiAnc291cmNlLXNhbnMtcHJvJztcbiR0aGVtZS1mb250LXNhbnMtY3VzdG9tLXN0YWNrOiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnM7XG5cbk91dHB1dDpcbmZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTYW5zIFByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnM7XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBhbnkgY3VzdG9tIGZvbnQgc291cmNlIGZpbGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5JZiB5b3Ugd2FudCBVU1dEUyB0byBnZW5lcmF0ZSBhZGRpdGlvbmFsXG5AZm9udC1mYWNlIGRlY2xhcmF0aW9ucywgYWRkIHlvdXIgZm9udFxuZGF0YSBiZWxvdywgZm9sbG93aW5nIHRoZSBleGFtcGxlIHRoYXRcbmZvbGxvd3MuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VU1dEUyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcyBAZm9udC1mYWNlXG5kZWNsYXJhdGlvbnMgZm9yIHRoZSBmb2xsb3dpbmdcblxuJ21lcnJpd2VhdGhlcidcbidwdWJsaWMtc2Fucydcbidyb2JvdG8tbW9ubydcbidzb3VyY2Utc2Fucy1wcm8nXG5cblRoZXNlIHR5cGVmYWNlcyBub3QgcmVxdWlyZSBjdXN0b21cbnNvdXJjZSBmaWxlcy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkVYQU1QTEVcblxuLSBkaXI6XG4gIERpcmVjdG9yeSByZWxhdGl2ZSB0byAkdGhlbWUtZm9udC1wYXRoXG4tIFRoaXMgZGlyZWN0b3J5IHNob3VsZCBpbmNsdWRlIGZvbnRzIHNhdmVkIGFzXG4gIC53b2ZmMlxuICBFeGFtcGxlU2VyaWYtTm9ybWFsLndvZmYyXG5cbiR0aGVtZS1mb250LXNlcmlmLWN1c3RvbS1zcmM6IChcbiAgZGlyOiAnY3VzdG9tL2V4YW1wbGUtc2VyaWYnLFxuICByb21hbjogKFxuICAgIDEwMDogZmFsc2UsXG4gICAgMjAwOiBmYWxzZSxcbiAgICAzMDA6ICdFeGFtcGxlU2VyaWYtTGlnaHQnLFxuICAgIDQwMDogJ0V4YW1wbGVTZXJpZi1Ob3JtYWwnLFxuICAgIDUwMDogZmFsc2UsXG4gICAgNjAwOiBmYWxzZSxcbiAgICA3MDA6ICdFeGFtcGxlU2VyaWYtQm9sZCcsXG4gICAgODAwOiBmYWxzZSxcbiAgICA5MDA6IGZhbHNlLFxuICApLFxuICBpdGFsaWM6IChcbiAgICAxMDA6IGZhbHNlLFxuICAgIDIwMDogZmFsc2UsXG4gICAgMzAwOiAnRXhhbXBsZVNlcmlmLUxpZ2h0SXRhbGljJyxcbiAgICA0MDA6ICdFeGFtcGxlU2VyaWYtSXRhbGljJyxcbiAgICA1MDA6IGZhbHNlLFxuICAgIDYwMDogZmFsc2UsXG4gICAgNzAwOiAnRXhhbXBsZVNlcmlmLUJvbGRJdGFsaWMnLFxuICAgIDgwMDogZmFsc2UsXG4gICAgOTAwOiBmYWxzZSxcbiAgKSxcbik7XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJvbGUtYmFzZWQgZm9udCBzZXR0aW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2V0IHRoZSByb2xlLWJhc2VkIHRva2VucyBmb3IgeW91clxucHJvamVjdCBmcm9tIHRoZSBmb2xsb3dpbmcgZm9udC10eXBlXG50b2tlbnMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4nY29uZCdcbidpY29uJ1xuJ2xhbmcnXG4nbW9ubydcbidzYW5zJ1xuJ3NlcmlmJ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UeXBlIHNjYWxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5EZWZpbmUgeW91ciBwcm9qZWN0J3MgdHlwZSBzY2FsZSB1c2luZ1xudmFsdWVzIGZyb20gdGhlIFVTV0RTIHN5c3RlbSB0eXBlIHNjYWxlXG5cbjEtMjBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRm9udCB3ZWlnaHRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Bc3NpZ24gd2VpZ2h0cyAxMDAtOTAwXG5PciB1c2UgYGZhbHNlYCBmb3IgdW5uZWVkZWQgd2VpZ2h0cy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2VuZXJhbCB0eXBvZ3JhcGh5IHNldHRpbmdzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UeXBlIHNjYWxlIHRva2Vuc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubWljcm86ICAgICAgMTBweFxuMTogICAgICAgICAgMTJweFxuMjogICAgICAgICAgMTNweFxuMzogICAgICAgICAgMTRweFxuNDogICAgICAgICAgMTVweFxuNTogICAgICAgICAgMTZweFxuNjogICAgICAgICAgMTdweFxuNzogICAgICAgICAgMThweFxuODogICAgICAgICAgMjBweFxuOTogICAgICAgICAgMjJweFxuMTA6ICAgICAgICAgMjRweFxuMTE6ICAgICAgICAgMjhweFxuMTI6ICAgICAgICAgMzJweFxuMTM6ICAgICAgICAgMzZweFxuMTQ6ICAgICAgICAgNDBweFxuMTU6ICAgICAgICAgNDhweFxuMTY6ICAgICAgICAgNTZweFxuMTc6ICAgICAgICAgNjRweFxuMTg6ICAgICAgICAgODBweFxuMTk6ICAgICAgICAgMTIwcHhcbjIwOiAgICAgICAgIDE0MHB4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5MaW5lIGhlaWdodCB0b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjE6ICAgIDFcbjI6ICAgIDEuMTVcbjM6ICAgIDEuMzVcbjQ6ICAgIDEuNVxuNTogICAgMS42MlxuNjogICAgMS43NVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRm9udCByb2xlIHRva2Vuc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJ3VpJ1xuJ2hlYWRpbmcnXG4nYm9keSdcbidjb2RlJ1xuJ2FsdCdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk1lYXN1cmUgKG1heC13aWR0aCkgdG9rZW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4xOiAgICAgICA0NGV4XG4yOiAgICAgICA2MGV4XG4zOiAgICAgICA2NGV4XG40OiAgICAgICA2OGV4XG41OiAgICAgICA3NGV4XG42OiAgICAgICA4OGV4XG5ub25lOiAgICBub25lXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNPTE9SIFNFVFRJTkdTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZWFkIG1vcmUgYWJvdXQgc2V0dGluZ3MgYW5kXG5VU1dEUyBjb2xvciB0b2tlbnMgaW4gdGhlIGRvY3VtZW50YXRpb246XG5odHRwczovL2Rlc2lnbnN5c3RlbS5kaWdpdGFsLmdvdi9kZXNpZ24tdG9rZW5zL2NvbG9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblRoZW1lIHBhbGV0dGUgY29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblN0YXRlIHBhbGV0dGUgY29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdlbmVyYWwgY29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNPTVBPTkVOVCBTRVRUSU5HU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVhZCBtb3JlIGFib3V0IHNldHRpbmdzIGFuZFxuVVNXRFMgc3R5bGUgdG9rZW5zIGluIHRoZSBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9kZXNpZ25zeXN0ZW0uZGlnaXRhbC5nb3YvZGVzaWduLXRva2Vuc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TUEFDSU5HIFNFVFRJTkdTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZWFkIG1vcmUgYWJvdXQgc2V0dGluZ3MgYW5kXG5VU1dEUyBzcGFjaW5nIHVuaXRzIHRva2VucyBpbiB0aGVcbmRvY3VtZW50YXRpb246XG5odHRwczovL2Rlc2lnbnN5c3RlbS5kaWdpdGFsLmdvdi9kZXNpZ24tdG9rZW5zL3NwYWNpbmctdW5pdHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQm9yZGVyIHJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMnB4ICAgICAgICAgICAycHhcbjAuNSAgICAgICAgICAgNHB4XG4xICAgICAgICAgICAgIDhweFxuMS41ICAgICAgICAgICAxMnB4XG4yICAgICAgICAgICAgIDE2cHhcbjIuNSAgICAgICAgICAgMjBweFxuMyAgICAgICAgICAgICAyNHB4XG40ICAgICAgICAgICAgIDMycHhcbjUgICAgICAgICAgICAgNDBweFxuNiAgICAgICAgICAgICA0OHB4XG43ICAgICAgICAgICAgIDU2cHhcbjggICAgICAgICAgICAgNjRweFxuOSAgICAgICAgICAgICA3MnB4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbHVtbiBnYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjJweCAgICAgICAgIDJweFxuMC41ICAgICAgICAgNHB4XG4xICAgICAgICAgICA4cHhcbjIgICAgICAgICAgIDE2cHhcbjMgICAgICAgICAgIDI0cHhcbjQgICAgICAgICAgIDMycHhcbjUgICAgICAgICAgIDQwcHhcbjYgICAgICAgICAgIDQ4cHhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR3JpZCBjb250YWluZXIgbWF4LXdpZHRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tb2JpbGVcbm1vYmlsZS1sZ1xudGFibGV0XG50YWJsZXQtbGdcbmRlc2t0b3BcbmRlc2t0b3AtbGdcbndpZGVzY3JlZW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VVElMSVRJRVMgU0VUVElOR1Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlYWQgbW9yZSBhYm91dCBzZXR0aW5ncyBhbmRcblVTV0RTIHV0aWxpdGllcyBpbiB0aGUgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vZGVzaWduc3lzdGVtLmRpZ2l0YWwuZ292L3V0aWxpdGllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VdGlsaXR5IGJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5XaGljaCBicmVha3BvaW50cyBkb2VzIHlvdXIgcHJvamVjdFxubmVlZD8gU2VsZWN0IGFzIGB0cnVlYCBhbnkgYnJlYWtwb2ludFxudXNlZCBieSB1dGlsaXRpZXMgb3IgbGF5b3V0IGdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2xvYmFsIGNvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVGhlIGZvbGxvd2luZyBwYWxldHRlcyB3aWxsIGJlIGFkZGVkIHRvXG4tIGJhY2tncm91bmQtY29sb3Jcbi0gYm9yZGVyLWNvbG9yXG4tIGNvbG9yXG4tIHRleHQtZGVjb3JhdGlvbi1jb2xvclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TZXR0aW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5WYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgY29sb3IgZnJvbSBhIGNvbG9yIHNob3J0Y29kZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5hcHBlbmQtaW1wb3J0YW50KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFwcGVuZCBgIWltcG9ydGFudGAgdG8gYSBsaXN0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC1sYXN0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybiB0aGUgbGFzdCBpdGVtIG9mIGEgbGlzdCxcblJldHVybiBudWxsIGlmIHRoZSB2YWx1ZSBpcyBudWxsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmRlLWxpc3QoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVHJhbnNmb3JtIGEgb25lLWVsZW1lbnQgbGlzdCBvciBhcmdsaXN0XG5pbnRvIHRoYXQgc2luZ2xlIGVsZW1lbnQuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4oMSkgPT4gMVxuKCgxKSkgPT4gKDEpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmVycm9yLW5vdC10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIGEgY29tbW9uIG5vdC1hLXRva2VuIGVycm9yLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG51c3dkcy1lcnJvcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BbGxvdyB0aGUgc3lzdGVtIHRvIHBhc3MgYW4gZXJyb3IgYXMgdGV4dFxudG8gdGVzdCBlcnJvciBzdGF0ZXMgaW4gdW5pdCB0ZXN0aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC1kZWZhdWx0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgdGhlIGRlZmF1bHQgdmFsdWUgZnJvbSBhIG1hcFxub2YgcHJvamVjdCBkZWZhdWx0c1xuZ2V0LWRlZmF1bHQoXCJiZy1jb2xvclwiKVxuPiAkdGhlbWUtYm9keS1iYWNrZ3JvdW5kLWNvbG9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmhhcy1pbXBvcnRhbnQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ2hlY2sgdG8gc2VlIGlmIGAhaW1wb3J0YW50YCBpc1xuYmVpbmcgcGFzc2VkIGluIGEgbWl4aW4ncyBwcm9wc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tYXAtY29sbGVjdCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db2xsZWN0IG11bHRpcGxlIG1hcHMgaW50byBhIHNpbmdsZVxubGFyZ2UgbWFwXG5zb3VyY2U6IGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2JpZ2dsZXNyb2Nrcy9kNzUwOTE3MDBmOGYyYmU1YWJmZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tYXAtZGVlcC1nZXQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG5AYWNjZXNzIHB1YmxpY1xuQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXBcbkBwYXJhbSB7QXJnbGlzdH0gJGtleXMgLSBLZXkgY2hhaW5cbkByZXR1cm4geyp9IC0gRGVzaXJlZCB2YWx1ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tdWx0aS1jYXQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29uY2F0ZW5hdGUgdHdvIGxpc3RzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnJlbW92ZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZW1vdmUgYSB2YWx1ZSBmcm9tIGEgbGlzdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5zbWFydC1xdW90ZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5RdW90ZXMgc3RyaW5nc1xuSW5zcGVjdHMgYHB4YCwgYHhzYCwgYW5kIGB4bGAgbnVtYmVyc1xuTGVhdmVzIGJvb2xzIGFzIGlzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnN0ci1yZXBsYWNlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlcGxhY2UgYW55IHN1YnN0cmluZyB3aXRoIGFub3RoZXJcbnN0cmluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5zdHItc3BsaXQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU3BsaXQgYSBzdHJpbmcgYXQgYSBnaXZlbiBzZXBhcmF0b3JcbmFuZCBjb252ZXJ0IGludG8gYSBsaXN0IG9mIHN1YnN0cmluZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc3RyaXAtdW5pdCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZW1vdmUgdGhlIHVuaXQgb2YgYSBsZW5ndGhcbkBhdXRob3IgSHVnbyBHaXJhdWRlbFxuQHBhcmFtIHtOdW1iZXJ9ICRudW1iZXIgLSBOdW1iZXIgdG8gcmVtb3ZlIHVuaXQgZnJvbVxuQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5iYXNlLXRvLW1hcCgpXG5AVE9ETzogRGVwcmVjYXRlIGFuZCBkZWxldGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnQgYSBzaW5nbGUgYmFzZSB0byBhIFVTV0RTXG52YWx1ZSBtYXAuXG5cbkNhbmRpZGF0ZSBmb3IgZGVwcmVjYXRpb24gaWYgd2UgcmVtb3ZlXG5pc1JlYWRhYmxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnRvLW51bWJlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG5AcmV0dXJuIHtOdW1iZXJ9XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnVucGFjaygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DcmVhdGUgbGlzdHMgb2Ygc2luZ2xlIGl0ZW1zIGZyb20gbGlzdHNcbm9mIGxpc3RzLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKDEsICgyLjEsIDIuMiksIDMpIC0tPlxuKDEsIDIuMSwgMi4yLCAzKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5EZXJpdmUgYSBjb2xvciBmcm9tIGEgY29sb3Igc2hvcnRjb2RlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbG9yKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkRlcml2ZSBhIGNvbG9yIGZyb20gYSBjb2xvciBzaG9ydGNvZGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgY29sb3IgZnJvbSBhIGNvbG9yIHNob3J0Y29kZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5zZXQtdGhlbWUtY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgY29sb3IgZnJvbSBhIHN5c3RlbSBjb2xvciB0b2tlblxub3IgYSBoZXggdmFsdWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucHgtdG8tcmVtKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnRzIGEgdmFsdWUgaW4gcHggdG8gYSB2YWx1ZSBpbiByZW1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucmVtLXRvLXB4KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnRzIGEgdmFsdWUgaW4gcmVtIHRvIGEgdmFsdWUgaW4gcHhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucmVtLXRvLXVzZXItZW0oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29udmVydHMgYSB2YWx1ZSBpbiByZW0gdG8gYSB2YWx1ZSBpblxuW3VzZXItc2V0dGluZ3NdIGVtIGZvciB1c2UgaW4gbWVkaWFcbnF1ZXJpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc3BhY2luZy1tdWx0aXBsZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db252ZXJ0cyBhIHNwYWNpbmcgdW5pdCBtdWx0aXBsZSBpbnRvXG50aGUgZGVzaXJlZCBmaW5hbCB1bml0cyAoY3VycmVudGx5IHJlbSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudW5pdHMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29udmVydHMgYSBzcGFjaW5nIHVuaXQgaW50b1xudGhlIGRlc2lyZWQgZmluYWwgdW5pdHMgKGN1cnJlbnRseSByZW0pXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm51bWJlci10by10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db252ZXJ0cyBhbiBpbnRlZ2VyIG9yIG51bWVyaWMgdmFsdWVcbmludG8gYSBzeXN0ZW0gdmFsdWVcblxuRXg6IDAuNSAgIC0tPiAnMDUnXG4gICAgLTFweCAgLS0+ICduZWctMXB4J1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Qcm9qZWN0IGZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db2xsZWN0cyBmb250IHNldHRpbmdzIGluIGEgbWFwIGZvclxubG9vcGluZy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuTHVtaW5hbmNlIHJhbmdlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5ucygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BZGQgYSBuYW1lc3NwYWNlIG9mICR0eXBlIGlmIHRoYXRcbm5hbWVzcGFjZSBpcyBzZXQgdG8gb3V0cHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC1zeXN0ZW0tY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgc3lzdGVtIGNvbG9yIGZyb20gaXRzXG5mYW1pbHksIHZhbHVlLCBhbmQgdml2aWQgb3IgYSBwYXNzZWRcbnZhcmlhYmxlIHRoYXQgaXMsIGl0c2VsZiwgYSBsaXN0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkxpbmUgaGVpZ2h0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk1lYXN1cmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY2FwLWhlaWdodCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgdGhlIGNhcCBoZWlnaHQgb2YgYSB2YWxpZCB0eXBlZmFjZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG52YWxpZGF0ZS10eXBlZmFjZS10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DaGVjayB0byBzZWUgaWYgYSB0eXBlZmFjZS10b2tlbiBleGlzdHMuXG5UaHJvdyBhbiBlcnJvciBpZiBhIHBhc3NlZCB0b2tlbiBkb2VzXG5ub3QgZXhpc3QgaW4gdGhlIHR5cGVmYWNlLXRva2VuIG1hcC5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29udmVydC10by1mb250LXR5cGUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29udmVydHMgYSBmb250LXJvbGUgdG9rZW4gaW50byBhXG5mb250LXR5cGUgdG9rZW4uIExlYXZlcyBmb250LXR5cGUgdG9rZW5zXG51bmNoYW5nZWQuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZvbnQtc291cmNlcygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5PdXRwdXRzIGEgbGlzdCBvZiBmb250IHNvdXJjZXMgdXNlZCBpblxuYSBAZm9udC1mYWNlIGRlY2xhcmF0aW9uLlxuXG4kdGhlbWUtZm9udC1icm93c2VyLWNvbXBhdGliaWxpdHk6IHRydWUgLSBvdXRwdXQgd29mZjIsIHdvZmYsIHR0ZlxuJHRoZW1lLWZvbnQtYnJvd3Nlci1jb21wYXRpYmlsaXR5OiBmYWxzZSAtIG91dHB1dCB3b2ZmMlxuXG5AcGFyYW0gc3RlbTogc3RyaW5nIC0gW2ZvbnQgcGF0aF0vW2N1c3RvbS1zcmMuZGlyXS9bY3VzdG9tLXNyYy5bc3R5bGVdLlt3ZWlnaHRdXVxuQG91dHB1dDogc3RyaW5nXG5cbmZpbGV0eXBlcyBtdXN0IGJlIG9uZSBvZiB0aGUgZmlsZXR5cGVzIHNldCBpbiB2YXJpYWJsZXMvJHByb2plY3QtZm9udC1mYWNlLWZpbGV0eXBlcyAod29mZiwgd29mZjIsIHR0Zilcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZ2V0LWZvbnQtc3RhY2soKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgZm9udCBzdGFjayBmcm9tIGEgc3R5bGUtIG9yXG5yb2xlLWJhc2VkIGZvbnQgdG9rZW4uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC10eXBlZmFjZS10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSB0eXBlZmFjZSB0b2tlbiBmcm9tIGEgZm9udC10eXBlIG9yXG5mb250LXJvbGUgdG9rZW4uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm5vcm1hbGl6ZS10eXBlLXNjYWxlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk5vcm1hbGl6ZXMgYSBzcGVjaWZpYyBmYWNlJ3Mgb3B0aWNhbCBzaXplXG50byBhIHNldCB0YXJnZXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc3lzdGVtLXR5cGUtc2NhbGUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgdmFsdWUgZnJvbSB0aGUgc3lzdGVtIHR5cGUgc2NhbGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRWFzaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogIGRlcHJlY2F0ZWQuc2Nzc1xuICAgIC0tLVxuICAgIE9jY2FzaW9uYWxseSB0aGUgZGVzaWduIHN5c3RlbSB3aWxsIGRlcHJlY2F0ZVxuICAgIG9sZCB2YXJpYWJsZXMgb3IgZnVuY3Rpb25hbGl0eS4gSWYgd2UgcmVwbGFjZVxuICAgIHRoZSBvbGQgZnVuY3Rpb25hbGl0eSB3aXRoIHNvbWV0aGluZyBuZXcsIHRoaXMgaXMgYVxuICAgIHBsYWNlIHRvIGNvbm5lY3QgdGhlIG9sZCBmdW5jdGlvbmFsaXR5IHRvIHRoZVxuICAgIG5ldyBmdW5jdGlvbmFsaXR5LCBpbiB0aGUgc2VydmljZSBvZiBiZXR0ZXJcbiAgICBjb250aW51aXR5IGFuZCBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoaW4gYVxuICAgIG1ham9yIHJlbGVhc2UgY3ljbGUuXG5cbiAgICBOb3RlIHRoZSBVU1dEUyB2ZXJzaW9uIHdoZXJlIHdlIGRlcHJlY2F0ZWQgdGhlXG4gICAgb2xkIGZ1bmN0aW9uYWxpdHkgaW4gYSBjb21tZW50LlxuXG4gICAgQmUgc3VyZSB0byB1cGRhdGUgbm90aWZpY2F0aW9ucy5zY3NzLlxuXG4gICAgVGhpcyBmaWxlIHNob3VsZCBzdGFydGVkIGZyZXNoIGF0IGVhY2hcbiAgICBtYWpvciB2ZXJzaW9uLlxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5hZHZhbmNlZC1jb2xvcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5EZXJpdmUgYSBjb2xvciBmcm9tIGEgY29sb3IgdHJpcGxldDpcbltmYW1pbHldLCBbZ3JhZGVdLCBbdmFyaWFudF1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY2FsY3VsYXRlLWdyYWRlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkRlcml2ZSB0aGUgZ3JhZGUgZXF1aXZhbGVudCBhbnkgY29sb3IsXG5ldmVuIG5vbi10b2tlbiBjb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3ItdG9rZW4tYXNzaWdubWVudCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgdGhlIHN5c3RlbSB0b2tlbiBlcXVpdmFsZW50IG9mIGFueVxudGhlbWUgY29sb3IgdG9rZW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuaXMtc3lzdGVtLWNvbG9yLXRva2VuKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybiB3aGV0aGVyIGEgdG9rZW4gaXMgYSBzeXN0ZW1cbmNvbG9yIHRva2VuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmlzLXRoZW1lLWNvbG9yLXRva2VuKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybiB3aGV0aGVyIGEgdG9rZW4gaXMgYSB0aGVtZVxuY29sb3IgdG9rZW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3ItdG9rZW4tZmFtaWx5KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgdGhlIGZhbWlseSBvZiBhIGNvbG9yIHRva2VuLlxuUmV0dXJuczogY29sb3ItZmFtaWx5XG5jb2xvci10b2tlbi1mYW1pbHkoXCJhY2NlbnQtd2FybS12aXZpZFwiKVxuPiBcImFjY2VudC13YXJtXCJcbmNvbG9yLXRva2VuLWZhbWlseShcInJlZC01MHZcIilcbj4gXCJyZWRcIlxuY29sb3ItdG9rZW4tdmFyaWFudCgoXCJyZWRcIiwgNTAsIFwidml2aWRcIikpXG4+IFwicmVkXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZGVjb21wb3NlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnQgYSBjb2xvciB0b2tlbiBpbnRvIGludG8gYSBsaXN0XG5vZiBmb3JtIFtmYW1pbHldLCBbZ3JhZGVdLCBbdmFyaWFudF1cblZpdmlkIHZhcmlhbnRzIHJldHVybiBcInZpdmlkXCIgYXMgdGhlXG52YXJpYW50LlxuSWYgbmVpdGhlciBncmFkZSBub3IgdmFyaWFudCBleGlzdHMsXG5yZXR1cm5zICdudWxsJ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvci10b2tlbi1mYW1pbHkoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB0aGUgZmFtaWx5IG9mIGEgY29sb3IgdG9rZW4uXG5SZXR1cm5zOiBjb2xvci1mYW1pbHlcbmNvbG9yLXRva2VuLWZhbWlseShcImFjY2VudC13YXJtLXZpdmlkXCIpXG4+IFwiYWNjZW50LXdhcm1cIlxuY29sb3ItdG9rZW4tZmFtaWx5KFwicmVkLTUwdlwiKVxuPiBcInJlZFwiXG5jb2xvci10b2tlbi12YXJpYW50KChcInJlZFwiLCA1MCwgXCJ2aXZpZFwiKSlcbj4gXCJyZWRcIlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvci10b2tlbi1ncmFkZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSBncmFkZSBvZiBhIFVTV0RTIGNvbG9yIHRva2VuLlxuUmV0dXJuczogY29sb3ItZ3JhZGVcbmNvbG9yLXRva2VuLWdyYWRlKFwiYWNjZW50LXdhcm1cIilcbj4gXCJyb290XCJcbmNvbG9yLXRva2VuLWdyYWRlKFwiYWNjZW50LXdhcm0tdml2aWRcIilcbj4gXCJyb290XCJcbmNvbG9yLXRva2VuLWdyYWRlKFwiYWNjZW50LXdhcm0tZGFya2VyXCIpXG4+IFwiZGFya2VyXCJcbmNvbG9yLXRva2VuLWdyYWRlKFwicmVkLTUwdlwiKVxuPiA1MFxuY29sb3ItdG9rZW4tdmFyaWFudCgoXCJyZWRcIiwgNTAsIFwidml2aWRcIikpXG4+IDUwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbG9yLXRva2VuLWZhbWlseSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSBmYW1pbHkgb2YgYSBjb2xvciB0b2tlbi5cblJldHVybnM6IGNvbG9yLWZhbWlseVxuY29sb3ItdG9rZW4tZmFtaWx5KFwiYWNjZW50LXdhcm0tdml2aWRcIilcbj4gXCJhY2NlbnQtd2FybVwiXG5jb2xvci10b2tlbi1mYW1pbHkoXCJyZWQtNTB2XCIpXG4+IFwicmVkXCJcbmNvbG9yLXRva2VuLXZhcmlhbnQoKFwicmVkXCIsIDUwLCBcInZpdmlkXCIpKVxuPiBcInJlZFwiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmlzLWNvbG9yLXRva2VuKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgd2hldGhlciBhIGdpdmVuIHN0cmluZyBpcyBhXG5VU1dEUyBjb2xvciB0b2tlbi5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucG93KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJhaXNlcyBhIHVuaXRsZXNzIG51bWJlciB0byB0aGUgcG93ZXJcbm9mIGFub3RoZXIgdW5pdGxlc3MgbnVtYmVyXG5JbmNsdWRlcyBoZWxwZXIgZnVuY3Rpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkhlbHBlciBmdW5jdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKiBmYWN0b3JpYWwoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qIHN1bW1hdGlvbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogZXhwLW1hY2xhdXJpbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogbG4oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvci10b2tlbi10eXBlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgdGhlIHR5cGUgb2YgYSBjb2xvciB0b2tlbi5cblJldHVybnM6IFwic3lzdGVtXCIgfCBcInRoZW1lXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3ItdG9rZW4tdmFyaWFudCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSB2YXJpYW50IG9mIGNvbG9yIHRva2VuLlxuUmV0dXJuczogXCJ2aXZpZFwiIHwgZmFsc2VcbmNvbG9yLXRva2VuLXZhcmlhbnQoXCJhY2NlbnQtd2FybVwiKVxuPiBmYWxzZVxuY29sb3ItdG9rZW4tdmFyaWFudChcImFjY2VudC13YXJtLXZpdmlkXCIpXG4+IFwidml2aWRcIlxuY29sb3ItdG9rZW4tdmFyaWFudChcInJlZC01MHZcIilcbj4gXCJ2aXZpZFwiXG5jb2xvci10b2tlbi12YXJpYW50KChcInJlZFwiLCA1MCwgXCJ2aXZpZFwiKSlcbj4gXCJ2aXZpZFwiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm1hZ2ljLW51bWJlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSBtYWdpYyBudW1iZXIgb2YgdHdvIGNvbG9yXG5ncmFkZXMuIFRha2VzIG51bWJlcnMgb3IgY29sb3IgdG9rZW5zLlxubWFnaWMtbnVtYmVyKDUwLCAxMClcbnJldHVybjogNDBcbm1hZ2ljLW51bWJlcihcInJlZC01MFwiLCBcInJlZC0xMFwiKVxucmV0dXJuOiA0MFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5pcy1hY2Nlc3NpYmxlLW1hZ2ljLW51bWJlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHdoZXRoZXIgdHdvIGdyYWRlcyBhY2hpZXZlXG5zcGVjaWZpZWQgdGFyZ2V0IGNvbG9yIGNvbnRyYXN0XG5SZXR1cm5zOiB0cnVlIHwgZmFsc2VcbmlzLWFjY2Vzc2libGUtbWFnaWMtbnVtYmVyKDEwLCA1MCwgXCJBQVwiKVxuPiBmYWxzZVxuaXMtYWNjZXNzaWJsZS1tYWdpYy1udW1iZXIoMTAsIDYwLCBcIkFBXCIpXG4+IHRydWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxud2NhZy1tYWdpYy1udW1iZXIoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB0aGUgbWFnaWMgbnVtYmVyIG9mIGEgc3BlY2lmaWNcbndjYWcgZ3JhZGU6XG5cIkFBXCJcblwiQUEtTGFyZ2VcIlxuXCJBQUFcIlxud2NhZy1tYWdpYy1udW1iZXIoXCJBQVwiKVxuPiA1MFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtbGluay10b2tlbnMtZnJvbS1iZygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYWNjZXNzaWJsZSBsaW5rIGNvbG9ycyBmb3IgYSBnaXZlblxuYmFja2dyb3VuZCBjb2xvclxucmV0dXJuczogbGluay10b2tlbiwgaG92ZXItdG9rZW5cbmdldC1saW5rLXRva2Vucy1mcm9tLWJnKFxuICBcImJsYWNrXCIsXG4gIFwicmVkLTYwXCIsXG4gIFwicmVkLTEwXCIsXG4gIFwiQUFcIilcbj4gXCJyZWQtMTBcIiwgXCJyZWQtNVwiXG5nZXQtbGluay10b2tlbnMtZnJvbS1iZyhcbiAgXCJibGFja1wiLFxuICBcInJlZC02MHZcIixcbiAgXCJyZWQtMTB2XCIsXG4gIFwiQUEtbGFyZ2VcIilcbj4gXCJyZWQtNjB2XCIsIFwicmVkLTUwdlwiXG5nZXQtbGluay10b2tlbnMtZnJvbS1iZyhcbiAgXCJibGFja1wiLFxuICBcInJlZC01dlwiLFxuICBcInJlZC02MHZcIixcbiAgXCJBQVwiKVxuPiBcInJlZC01dlwiLCBcIndoaXRlXCJcbmdldC1saW5rLXRva2Vucy1mcm9tLWJnKFxuICBcImJsYWNrXCIsXG4gIFwid2hpdGVcIixcbiAgXCJyZWQtNjB2XCIsXG4gIFwiQUFcIilcbj4gXCJ3aGl0ZVwiLCBcIndoaXRlXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubmV4dC10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIG5leHQgXCJkYXJrZXJcIiBvciBcImxpZ2h0ZXJcIiBjb2xvclxudG9rZW4gb2YgdGhlIHNhbWUgdG9rZW4gdHlwZSBhbmQgdmFyaWFudC5cblJldHVybnM6IGNvbG9yLXRva2VuIHwgZmFsc2Vcbm5leHQtdG9rZW4oXCJhY2NlbnQtd2FybVwiLCBcImxpZ2h0ZXJcIilcbj4gXCJhY2NlbnQtd2FybS1saWdodFwiXG5uZXh0LXRva2VuKFwiZ3JheS0xMFwiLCBcImxpZ2h0ZXJcIilcbj4gXCJncmF5LTVcIlxubmV4dC10b2tlbihcImdyYXktNVwiLCBcImxpZ2h0ZXJcIilcbj4gXCJ3aGl0ZVwiXG5uZXh0LXRva2VuKFwid2hpdGVcIiwgXCJsaWdodGVyXCIpXG4+IGZhbHNlXG5uZXh0LXRva2VuKFwicmVkLTUwdlwiLCBcImRhcmtlclwiKVxuPiBcInJlZC02MHZcIlxubmV4dC10b2tlbihcInJlZC01MFwiLCBcImRhcmtlclwiKVxuPiBcInJlZC02MFwiXG5uZXh0LXRva2VuKFwicmVkLTgwdlwiLCBcImRhcmtlclwiKVxuPiBcInJlZC05MFwiXG5uZXh0LXRva2VuKFwicmVkLTkwXCIsIFwiZGFya2VyXCIpXG4+IFwiYmxhY2tcIlxubmV4dC10b2tlbihcIndoaXRlXCIsIFwiZGFya2VyXCIpXG4+IFwiZ3JheS01XCJcbm5leHQtdG9rZW4oXCJibGFja1wiLCBcImxpZ2h0ZXJcIilcbj4gXCJncmF5LTkwXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudGVzdC1jb2xvcnMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ2hlY2sgdG8gc2VlIGlmIGFsbCBzeXN0ZW0gY29sb3JzXG5mYWxsIGJldHdlZW4gdGhlIHByb3BlciByZWxhdGl2ZVxubHVtaW5hbmNlIHJhbmdlIGZvciB0aGVpciBncmFkZS5cbkhhcyBhIGNvdXBsZSBxdWlya3MsIGFzIHRoZSBsdW1pbmFuY2UoKVxuZnVuY3Rpb24gcmV0dXJucyBzbGlnaHRseSBkaWZmZXJlbnRcbnJlc3VsdHMgdGhhbiBleHBlY3RlZC5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sdW1ucygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5vdXRwdXRzIGEgZ3JpZC1jb2wgbnVtYmVyIGJhc2VkIG9uXG50aGUgbnVtYmVyIG9mIGRlc2lyZWQgY29sdW1ucyBpbiB0aGVcbjEyLWNvbHVtbiBncmlkXG5cbkV4OiBjb2x1bW5zKDIpIC0tPiA2XG4gICAgZ3JpZC1jb2woY29sdW1ucygyKSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVVNXRFMgUHJvcGVydGllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtdXN3ZHMtdmFsdWUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRmluZHMgYW5kIG91dHB1dHMgYSB2YWx1ZSBmcm9tIHRoZVxuVVNXRFMgc3RhbmRhcmQgdmFsdWVzLlxuXG5Vc2VkIHRvIGJ1aWxkIG90aGVyIHN0YW5kYXJkIHV0aWxpdHlcbmZ1bmN0aW9ucyBhbmQgbWl4aW5zLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtc3RhbmRhcmQtdmFsdWVzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldHMgYSBtYXAgb2YgVVNXRFMgc3RhbmRhcmQgdmFsdWVzXG5mb3IgYSBwcm9wZXJ0eVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5ib3JkZXItcmFkaXVzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIGJvcmRlci1yYWRpdXMgZnJvbSB0aGUgc3lzdGVtXG5ib3JkZXItcmFkaWlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZm9udC13ZWlnaHQoKVxuZncoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgZm9udC13ZWlnaHQgdmFsdWUgZnJvbSB0aGVcbnN5c3RlbSBmb250LXdlaWdodFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mZWF0dXJlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldHMgYSB2YWxpZCBVU1dEUyBmb250IGZlYXR1cmUgc2V0dGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mbGV4KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldHMgYSB2YWxpZCBVU1dEUyBmbGV4IHZhbHVlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZvbnQtZmFtaWx5KClcbmZhbWlseSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBmb250LWZhbWlseSBzdGFjayBmcm9tIGFcbnJvbGUtYmFzZWQgb3IgdHlwZS1iYXNlZCBmb250IGZhbWlseVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5sZXR0ZXItc3BhY2luZygpXG5scygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBsZXR0ZXItc3BhY2luZyB2YWx1ZSBmcm9tIHRoZVxuc3lzdGVtIGxldHRlci1zcGFjaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm1lYXN1cmUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0cyBhIHZhbGlkIFVTV0RTIHJlYWRpbmcgbGluZSBsZW5ndGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxub3BhY2l0eSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYW4gb3BhY2l0eSBmcm9tIHRoZSBzeXN0ZW1cbm9wYWNpdGllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5vcmRlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYW4gb3JkZXIgdmFsdWUgZnJvbSB0aGVcbnN5c3RlbSBvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucmFkaXVzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIGJvcmRlci1yYWRpdXMgdmFsdWUgZnJvbSB0aGVcbnN5c3RlbSBsZXR0ZXItc3BhY2luZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mb250LXNpemUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IHR5cGUgc2NhbGUgdmFsdWUgZnJvbSBhIFtmYW1pbHldIGFuZFxuW3NjYWxlXVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG56LWluZGV4KClcbnooKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgei1pbmRleCB2YWx1ZSBmcm9tIHRoZVxuc3lzdGVtIHotaW5kZXhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudXRpbGl0eS1mb250KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIG5vcm1hbGl6ZWQgZm9udC1zaXplIGluIHJlbSBmcm9tXG5hIGZhbWlseSBhbmQgYSB0eXBlIHNpemUgaW4gZWl0aGVyXG5zeXN0ZW0gc2NhbGUgb3IgcHJvamVjdCBzY2FsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuTm90IHRoZSBwdWJsaWMtZmFjaW5nIGZ1bmN0aW9uLlxuVXNlZCBmb3IgYnVpbGRpbmcgdGhlIHV0aWxpdGllcyBhbmRcbndpdGhob2xkcyBjZXJ0YWluIGVycm9ycy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZmFtaWx5KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIGZvbnQtZmFtaWx5IHN0YWNrXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnNpemUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgbm9ybWFsaXplZCBmb250LXNpemUgaW4gcmVtIGZyb21cbmEgZmFtaWx5IGFuZCBhIHR5cGUgc2l6ZSBpbiBlaXRoZXJcbnN5c3RlbSBzY2FsZSBvciBwcm9qZWN0IHNjYWxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZvbnQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgZm9udC1mYW1pbHkgc3RhY2tcbkFORFxuR2V0IGEgbm9ybWFsaXplZCBmb250LXNpemUgaW4gcmVtIGZyb21cbmEgZmFtaWx5IGFuZCBhIHR5cGUgc2l6ZSBpbiBlaXRoZXJcbnN5c3RlbSBzY2FsZSBvciBwcm9qZWN0IHNjYWxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnR5cGVzZXQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2V0czpcbi0gZmFtaWx5XG4tIHNpemVcbi0gbGluZS1oZWlnaHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBtYXgtbmVzdGluZy1kZXB0aCAqL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkByZW5kZXItcHNldWRvY2xhc3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkJ1aWxkIGEgcHNldWNvY2xhc3MgdXRpbGl5IGZyb20gdmFsdWVzXG5jYWxjdWxhdGVkIGluIHRoZSBAcmVuZGVyLXV0aWxpdGllcy1pblxubG9vcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AcmVuZGVyLXV0aWxpdHlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkJ1aWxkIGEgdXRpbGl0eSBmcm9tIHZhbHVlcyBjYWxjdWxhdGVkXG5pbiB0aGUgQHJlbmRlci11dGlsaXRpZXMtaW4gbG9vcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVE9ETzogRGV0ZXJtaW5lIHRoZSBwcm9wZXIgdXNlIG9mXG51bnF1b3RlKCkgaW4gdGhlIGZvbGxvd2luZy4gQ2hhbmdlZCB0b1xuYWNjb3VudCBmb3IgYSAnaW50ZXJwb2xhdGlvbiBuZWFyXG5vcGVyYXRvcnMgd2lsbCBiZSBzaW1wbGlmaWVkIGluIGFcbmZ1dHVyZSB2ZXJzaW9uIG9mIFNhc3MnIHdhcm5pbmcuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkByZW5kZXItdXRpbGl0aWVzLWluXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UaGUgbWFzdGVyIGxvb3AgdGhhdCBzZXRzIHRoZSBidWlsZGluZ1xuYmxvY2tzIG9mIHV0aWxpdGllcyBmcm9tIHRoZSB2YWx1ZXNcbmluIGluZGl2aWR1YWwgcnVsZSBzZXR0aW5ncyBhbmQgbG9vcHNcbnRocm91Z2ggYWxsIHBvc3NpYmxlIHZhcmlhbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogIG5vdGlmaWNhdGlvbnMuc2Nzc1xuICAgIC0tLVxuICAgIEFkZHMgYSBub3RpZmljYXRpb24gYXQgdGhlIHRvcCBvZiBlYWNoIFVTV0RTXG4gICAgY29tcGlsZS4gVXNlIHRoaXMgZmlsZSBmb3IgaW1wb3J0YW50IG5vdGlmaWNhdGlvbnNcbiAgICBhbmQgdXBkYXRlcyB0byB0aGUgZGVzaWduIHN5c3RlbS5cblxuICAgIFRoaXMgZmlsZSBzaG91bGQgc3RhcnRlZCBmcmVzaCBhdCBlYWNoXG4gICAgbWFqb3IgdmVyc2lvbi5cblxuKi9cbi8qIHByZXR0aWVyLWlnbm9yZSAqL1xuLyogcHJldHRpZXItaWdub3JlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdFTkVSQUwgU0VUVElOR1Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlYWQgbW9yZSBhYm91dCBzZXR0aW5ncyBhbmRcblVTV0RTIHN0eWxlIHRva2VucyBpbiB0aGUgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vZGVzaWduc3lzdGVtLmRpZ2l0YWwuZ292L2Rlc2lnbi10b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuSW1hZ2UgcGF0aFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVsYXRpdmUgaW1hZ2UgZmlsZSBwYXRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNob3cgY29tcGlsZSB3YXJuaW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2hvdyBTYXNzIHdhcm5pbmdzIHdoZW4gZnVuY3Rpb25zIGFuZFxubWl4aW5zIHVzZSBub24tc3RhbmRhcmQgdG9rZW5zLlxuQU5EXG5TaG93IHVwZGF0ZXMgYW5kIG5vdGlmaWNhdGlvbnMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk5hbWVzcGFjZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5QcmVmaXggc2VwYXJhdG9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TZXQgdGhlIGNoYXJhY3RlciB0aGUgc2VwYXJhdGVzXG5yZXNwb25zaXZlIGFuZCBzdGF0ZSBwcmVmaXhlcyBmcm9tIHRoZVxubWFpbiBjbGFzcyBuYW1lLlxuVGhlIGRlZmF1bHQgKFwiOlwiKSBuZWVkcyB0byBiZSBwcmVjZWRlZFxuYnkgdHdvIGJhY2tzbGFzaGVzIHRvIGJlIHByb3Blcmx5XG5lc2NhcGVkLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5MYXlvdXQgZ3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2hvdWxkIHRoZSBsYXlvdXQgZ3JpZCBjbGFzc2VzIG91dHB1dFxud2l0aCAhaW1wb3J0YW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkJvcmRlciBib3ggc2l6aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5XaGVuIHNldCB0byB0cnVlLCBzZXRzIHRoZSBib3gtc2l6aW5nXG5wcm9wZXJ0eSBvZiBhbGwgc2l0ZSBlbGVtZW50cyB0b1xuYGJvcmRlci1ib3hgLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Gb2N1cyBzdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVFlQT0dSQVBIWSBTRVRUSU5HU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVhZCBtb3JlIGFib3V0IHNldHRpbmdzIGFuZFxuVVNXRFMgdHlwb2dyYXBoeSB0b2tlbnMgaW4gdGhlIGRvY3VtZW50YXRpb246XG5odHRwczovL2Rlc2lnbnN5c3RlbS5kaWdpdGFsLmdvdi9kZXNpZ24tdG9rZW5zL3R5cGVzZXR0aW5nL292ZXJ2aWV3L1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Sb290IGZvbnQgc2l6ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2V0dGluZyAkdGhlbWUtcmVzcGVjdC11c2VyLWZvbnQtc2l6ZSB0b1xudHJ1ZSBzZXRzIHRoZSByb290IGZvbnQgc2l6ZSB0byAxMDAlIGFuZFxudXNlcyBlbXMgZm9yIG1lZGlhIHF1ZXJpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiR0aGVtZS1yb290LWZvbnQtc2l6ZSBvbmx5IGFwcGxpZXMgd2hlblxuJHRoZW1lLXJlc3BlY3QtdXNlci1mb250LXNpemUgaXMgc2V0IHRvXG5mYWxzZS5cblxuVGhpcyB3aWxsIHNldCB0aGUgcm9vdCBmb250IHNpemVcbmFzIGEgc3BlY2lmaWMgcHggdmFsdWUgYW5kIHVzZSBweCB2YWx1ZXNcbmZvciBtZWRpYSBxdWVyaWVzLlxuXG5BY2NlcHRzIHRydWUgb3IgZmFsc2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2xvYmFsIHN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQWRkcyBiYXNpYyBzdHlsaW5nIGZvciB0aGUgZm9sbG93aW5nXG51bmNsYXNzZWQgZWxlbWVudHM6XG5cbi0gcGFyYWdyYXBoOiBwYXJhZ3JhcGggdGV4dFxuLSBsaW5rOiBsaW5rc1xuLSBjb250ZW50OiBwYXJhZ3JhcGggdGV4dCwgbGlua3MsXG4gIGhlYWRpbmdzLCBsaXN0cywgYW5kIHRhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Ccm9zd2VyIGNvbXBhdGliaWxpdHkgbW9kZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuV2hlbiB0cnVlLCBvdXRwdXRzIHdvZmYgYW5kIHR0ZiBmb250IFxuZm9ybWF0cyBpbiBhZGRpdGlvbiB0byB3b2ZmMlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Gb250IHBhdGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlbGF0aXZlIGZvbnQgZmlsZSBwYXRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkN1c3RvbSB0eXBlZmFjZSB0b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBhIG5ldyBjdXN0b20gdHlwZWZhY2UgdG9rZW4gaWZcbnlvdXIgcHJvamVjdCB1c2VzIGEgdHlwZWZhY2Ugbm90IGFscmVhZHlcbmRlZmluZWQgYnkgVVNXRFMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VU1dEUyBkZWZpbmVzIHRoZSBmb2xsb3dpbmcgdG9rZW5zXG5ieSBkZWZhdWx0OlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJ2dlb3JnaWEnXG4naGVsdmV0aWNhJ1xuJ21lcnJpd2VhdGhlcidcbidvcGVuLXNhbnMnXG4ncHVibGljLXNhbnMnXG4ncm9ib3RvLW1vbm8nXG4nc291cmNlLXNhbnMtcHJvJ1xuJ3N5c3RlbSdcbid0YWhvbWEnXG4ndmVyZGFuYSdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBhcyBtYW55IG5ldyB0b2tlbnMgYXMgeW91IGhhdmVcbmN1c3RvbSB0eXBlZmFjZXMuIFJlZmVyZW5jZSB5b3VyIG5ld1xudG9rZW4ocykgaW4gdGhlIHR5cGUtYmFzZWQgZm9udCBzZXR0aW5nc1xudXNpbmcgdGhlIHF1b3RlZCBuYW1lIG9mIHRoZSB0b2tlbi5cblxuRm9yIGV4YW1wbGU6XG5cbiR0aGVtZS1mb250LXR5cGUtY29uZDogJ2V4YW1wbGUtZm9udC10b2tlbic7XG5cbmRpc3BsYXktbmFtZTpcblRoZSBkaXNwbGF5IG5hbWUgb2YgeW91ciBmb250XG5cbmNhcC1oZWlnaHQ6XG5UaGUgaGVpZ2h0IG9mIGEgNTAwcHggYE5gIGluIFNrZXRjaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuWW91IHNob3VsZCBjaGFuZ2UgYGV4YW1wbGUtW3N0eWxlXS10b2tlbmBcbm5hbWVzIHRvIHNvbWV0aGluZyBtb3JlIGRlc2NyaXB0aXZlLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UeXBlLWJhc2VkIGZvbnQgc2V0dGluZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNldCB0aGUgdHlwZS1iYXNlZCB0b2tlbnMgZm9yIHlvdXJcbnByb2plY3QgZnJvbSB0aGUgZm9sbG93aW5nIHRva2Vucyxcbm9yIGZyb20gYW55IG5ldyBmb250IHRva2VucyB5b3UgYWRkZWQgaW5cbiR0aGVtZS10eXBlZmFjZS10b2tlbnMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4nZ2VvcmdpYSdcbidoZWx2ZXRpY2EnXG4nbWVycml3ZWF0aGVyJ1xuJ29wZW4tc2FucydcbidwdWJsaWMtc2Fucydcbidyb2JvdG8tbW9ubydcbidzb3VyY2Utc2Fucy1wcm8nXG4nc3lzdGVtJ1xuJ3RhaG9tYSdcbid2ZXJkYW5hJ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DdXN0b20gZm9udCBzdGFja3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBjdXN0b20gZm9udCBzdGFja3MgdG8gYW55IG9mIHRoZVxudHlwZS1iYXNlZCBmb250cy4gQW55IFVTV0RTIHR5cGVmYWNlXG50b2tlbiBhbHJlYWR5IGhhcyBhIGRlZmF1bHQgc3RhY2suXG5cbkN1c3RvbSBzdGFja3MgZG9uJ3QgbmVlZCB0byBpbmNsdWRlIHRoZVxuZm9udCdzIGRpc3BsYXkgbmFtZS4gSXQgd2lsbFxuYXV0b21hdGljYWxseSBhcHBlYXIgYXQgdGhlIHN0YXJ0IG9mXG50aGUgc3RhY2suXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5FeGFtcGxlOlxuJHRoZW1lLWZvbnQtdHlwZS1zYW5zOiAnc291cmNlLXNhbnMtcHJvJztcbiR0aGVtZS1mb250LXNhbnMtY3VzdG9tLXN0YWNrOiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnM7XG5cbk91dHB1dDpcbmZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTYW5zIFByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnM7XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBhbnkgY3VzdG9tIGZvbnQgc291cmNlIGZpbGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5JZiB5b3Ugd2FudCBVU1dEUyB0byBnZW5lcmF0ZSBhZGRpdGlvbmFsXG5AZm9udC1mYWNlIGRlY2xhcmF0aW9ucywgYWRkIHlvdXIgZm9udFxuZGF0YSBiZWxvdywgZm9sbG93aW5nIHRoZSBleGFtcGxlIHRoYXRcbmZvbGxvd3MuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VU1dEUyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcyBAZm9udC1mYWNlXG5kZWNsYXJhdGlvbnMgZm9yIHRoZSBmb2xsb3dpbmdcblxuJ21lcnJpd2VhdGhlcidcbidwdWJsaWMtc2Fucydcbidyb2JvdG8tbW9ubydcbidzb3VyY2Utc2Fucy1wcm8nXG5cblRoZXNlIHR5cGVmYWNlcyBub3QgcmVxdWlyZSBjdXN0b21cbnNvdXJjZSBmaWxlcy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkVYQU1QTEVcblxuLSBkaXI6XG4gIERpcmVjdG9yeSByZWxhdGl2ZSB0byAkdGhlbWUtZm9udC1wYXRoXG4tIFRoaXMgZGlyZWN0b3J5IHNob3VsZCBpbmNsdWRlIGZvbnRzIHNhdmVkIGFzXG4gIC53b2ZmMlxuICBFeGFtcGxlU2VyaWYtTm9ybWFsLndvZmYyXG5cbiR0aGVtZS1mb250LXNlcmlmLWN1c3RvbS1zcmM6IChcbiAgZGlyOiAnY3VzdG9tL2V4YW1wbGUtc2VyaWYnLFxuICByb21hbjogKFxuICAgIDEwMDogZmFsc2UsXG4gICAgMjAwOiBmYWxzZSxcbiAgICAzMDA6ICdFeGFtcGxlU2VyaWYtTGlnaHQnLFxuICAgIDQwMDogJ0V4YW1wbGVTZXJpZi1Ob3JtYWwnLFxuICAgIDUwMDogZmFsc2UsXG4gICAgNjAwOiBmYWxzZSxcbiAgICA3MDA6ICdFeGFtcGxlU2VyaWYtQm9sZCcsXG4gICAgODAwOiBmYWxzZSxcbiAgICA5MDA6IGZhbHNlLFxuICApLFxuICBpdGFsaWM6IChcbiAgICAxMDA6IGZhbHNlLFxuICAgIDIwMDogZmFsc2UsXG4gICAgMzAwOiAnRXhhbXBsZVNlcmlmLUxpZ2h0SXRhbGljJyxcbiAgICA0MDA6ICdFeGFtcGxlU2VyaWYtSXRhbGljJyxcbiAgICA1MDA6IGZhbHNlLFxuICAgIDYwMDogZmFsc2UsXG4gICAgNzAwOiAnRXhhbXBsZVNlcmlmLUJvbGRJdGFsaWMnLFxuICAgIDgwMDogZmFsc2UsXG4gICAgOTAwOiBmYWxzZSxcbiAgKSxcbik7XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJvbGUtYmFzZWQgZm9udCBzZXR0aW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2V0IHRoZSByb2xlLWJhc2VkIHRva2VucyBmb3IgeW91clxucHJvamVjdCBmcm9tIHRoZSBmb2xsb3dpbmcgZm9udC10eXBlXG50b2tlbnMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4nY29uZCdcbidpY29uJ1xuJ2xhbmcnXG4nbW9ubydcbidzYW5zJ1xuJ3NlcmlmJ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UeXBlIHNjYWxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5EZWZpbmUgeW91ciBwcm9qZWN0J3MgdHlwZSBzY2FsZSB1c2luZ1xudmFsdWVzIGZyb20gdGhlIFVTV0RTIHN5c3RlbSB0eXBlIHNjYWxlXG5cbjEtMjBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRm9udCB3ZWlnaHRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Bc3NpZ24gd2VpZ2h0cyAxMDAtOTAwXG5PciB1c2UgYGZhbHNlYCBmb3IgdW5uZWVkZWQgd2VpZ2h0cy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2VuZXJhbCB0eXBvZ3JhcGh5IHNldHRpbmdzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UeXBlIHNjYWxlIHRva2Vuc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubWljcm86ICAgICAgMTBweFxuMTogICAgICAgICAgMTJweFxuMjogICAgICAgICAgMTNweFxuMzogICAgICAgICAgMTRweFxuNDogICAgICAgICAgMTVweFxuNTogICAgICAgICAgMTZweFxuNjogICAgICAgICAgMTdweFxuNzogICAgICAgICAgMThweFxuODogICAgICAgICAgMjBweFxuOTogICAgICAgICAgMjJweFxuMTA6ICAgICAgICAgMjRweFxuMTE6ICAgICAgICAgMjhweFxuMTI6ICAgICAgICAgMzJweFxuMTM6ICAgICAgICAgMzZweFxuMTQ6ICAgICAgICAgNDBweFxuMTU6ICAgICAgICAgNDhweFxuMTY6ICAgICAgICAgNTZweFxuMTc6ICAgICAgICAgNjRweFxuMTg6ICAgICAgICAgODBweFxuMTk6ICAgICAgICAgMTIwcHhcbjIwOiAgICAgICAgIDE0MHB4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5MaW5lIGhlaWdodCB0b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjE6ICAgIDFcbjI6ICAgIDEuMTVcbjM6ICAgIDEuMzVcbjQ6ICAgIDEuNVxuNTogICAgMS42MlxuNjogICAgMS43NVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRm9udCByb2xlIHRva2Vuc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJ3VpJ1xuJ2hlYWRpbmcnXG4nYm9keSdcbidjb2RlJ1xuJ2FsdCdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk1lYXN1cmUgKG1heC13aWR0aCkgdG9rZW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4xOiAgICAgICA0NGV4XG4yOiAgICAgICA2MGV4XG4zOiAgICAgICA2NGV4XG40OiAgICAgICA2OGV4XG41OiAgICAgICA3NGV4XG42OiAgICAgICA4OGV4XG5ub25lOiAgICBub25lXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNPTE9SIFNFVFRJTkdTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZWFkIG1vcmUgYWJvdXQgc2V0dGluZ3MgYW5kXG5VU1dEUyBjb2xvciB0b2tlbnMgaW4gdGhlIGRvY3VtZW50YXRpb246XG5odHRwczovL2Rlc2lnbnN5c3RlbS5kaWdpdGFsLmdvdi9kZXNpZ24tdG9rZW5zL2NvbG9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblRoZW1lIHBhbGV0dGUgY29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblN0YXRlIHBhbGV0dGUgY29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdlbmVyYWwgY29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNPTVBPTkVOVCBTRVRUSU5HU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVhZCBtb3JlIGFib3V0IHNldHRpbmdzIGFuZFxuVVNXRFMgc3R5bGUgdG9rZW5zIGluIHRoZSBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9kZXNpZ25zeXN0ZW0uZGlnaXRhbC5nb3YvZGVzaWduLXRva2Vuc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TUEFDSU5HIFNFVFRJTkdTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZWFkIG1vcmUgYWJvdXQgc2V0dGluZ3MgYW5kXG5VU1dEUyBzcGFjaW5nIHVuaXRzIHRva2VucyBpbiB0aGVcbmRvY3VtZW50YXRpb246XG5odHRwczovL2Rlc2lnbnN5c3RlbS5kaWdpdGFsLmdvdi9kZXNpZ24tdG9rZW5zL3NwYWNpbmctdW5pdHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQm9yZGVyIHJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMnB4ICAgICAgICAgICAycHhcbjAuNSAgICAgICAgICAgNHB4XG4xICAgICAgICAgICAgIDhweFxuMS41ICAgICAgICAgICAxMnB4XG4yICAgICAgICAgICAgIDE2cHhcbjIuNSAgICAgICAgICAgMjBweFxuMyAgICAgICAgICAgICAyNHB4XG40ICAgICAgICAgICAgIDMycHhcbjUgICAgICAgICAgICAgNDBweFxuNiAgICAgICAgICAgICA0OHB4XG43ICAgICAgICAgICAgIDU2cHhcbjggICAgICAgICAgICAgNjRweFxuOSAgICAgICAgICAgICA3MnB4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbHVtbiBnYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjJweCAgICAgICAgIDJweFxuMC41ICAgICAgICAgNHB4XG4xICAgICAgICAgICA4cHhcbjIgICAgICAgICAgIDE2cHhcbjMgICAgICAgICAgIDI0cHhcbjQgICAgICAgICAgIDMycHhcbjUgICAgICAgICAgIDQwcHhcbjYgICAgICAgICAgIDQ4cHhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR3JpZCBjb250YWluZXIgbWF4LXdpZHRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tb2JpbGVcbm1vYmlsZS1sZ1xudGFibGV0XG50YWJsZXQtbGdcbmRlc2t0b3BcbmRlc2t0b3AtbGdcbndpZGVzY3JlZW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VVElMSVRJRVMgU0VUVElOR1Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlYWQgbW9yZSBhYm91dCBzZXR0aW5ncyBhbmRcblVTV0RTIHV0aWxpdGllcyBpbiB0aGUgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vZGVzaWduc3lzdGVtLmRpZ2l0YWwuZ292L3V0aWxpdGllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VdGlsaXR5IGJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5XaGljaCBicmVha3BvaW50cyBkb2VzIHlvdXIgcHJvamVjdFxubmVlZD8gU2VsZWN0IGFzIGB0cnVlYCBhbnkgYnJlYWtwb2ludFxudXNlZCBieSB1dGlsaXRpZXMgb3IgbGF5b3V0IGdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2xvYmFsIGNvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVGhlIGZvbGxvd2luZyBwYWxldHRlcyB3aWxsIGJlIGFkZGVkIHRvXG4tIGJhY2tncm91bmQtY29sb3Jcbi0gYm9yZGVyLWNvbG9yXG4tIGNvbG9yXG4tIHRleHQtZGVjb3JhdGlvbi1jb2xvclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TZXR0aW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5WYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgY29sb3IgZnJvbSBhIGNvbG9yIHNob3J0Y29kZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5hcHBlbmQtaW1wb3J0YW50KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFwcGVuZCBgIWltcG9ydGFudGAgdG8gYSBsaXN0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC1sYXN0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybiB0aGUgbGFzdCBpdGVtIG9mIGEgbGlzdCxcblJldHVybiBudWxsIGlmIHRoZSB2YWx1ZSBpcyBudWxsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmRlLWxpc3QoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVHJhbnNmb3JtIGEgb25lLWVsZW1lbnQgbGlzdCBvciBhcmdsaXN0XG5pbnRvIHRoYXQgc2luZ2xlIGVsZW1lbnQuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4oMSkgPT4gMVxuKCgxKSkgPT4gKDEpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmVycm9yLW5vdC10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIGEgY29tbW9uIG5vdC1hLXRva2VuIGVycm9yLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG51c3dkcy1lcnJvcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BbGxvdyB0aGUgc3lzdGVtIHRvIHBhc3MgYW4gZXJyb3IgYXMgdGV4dFxudG8gdGVzdCBlcnJvciBzdGF0ZXMgaW4gdW5pdCB0ZXN0aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC1kZWZhdWx0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgdGhlIGRlZmF1bHQgdmFsdWUgZnJvbSBhIG1hcFxub2YgcHJvamVjdCBkZWZhdWx0c1xuZ2V0LWRlZmF1bHQoXCJiZy1jb2xvclwiKVxuPiAkdGhlbWUtYm9keS1iYWNrZ3JvdW5kLWNvbG9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmhhcy1pbXBvcnRhbnQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ2hlY2sgdG8gc2VlIGlmIGAhaW1wb3J0YW50YCBpc1xuYmVpbmcgcGFzc2VkIGluIGEgbWl4aW4ncyBwcm9wc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tYXAtY29sbGVjdCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db2xsZWN0IG11bHRpcGxlIG1hcHMgaW50byBhIHNpbmdsZVxubGFyZ2UgbWFwXG5zb3VyY2U6IGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2JpZ2dsZXNyb2Nrcy9kNzUwOTE3MDBmOGYyYmU1YWJmZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tYXAtZGVlcC1nZXQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG5AYWNjZXNzIHB1YmxpY1xuQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXBcbkBwYXJhbSB7QXJnbGlzdH0gJGtleXMgLSBLZXkgY2hhaW5cbkByZXR1cm4geyp9IC0gRGVzaXJlZCB2YWx1ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tdWx0aS1jYXQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29uY2F0ZW5hdGUgdHdvIGxpc3RzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnJlbW92ZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZW1vdmUgYSB2YWx1ZSBmcm9tIGEgbGlzdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5zbWFydC1xdW90ZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5RdW90ZXMgc3RyaW5nc1xuSW5zcGVjdHMgYHB4YCwgYHhzYCwgYW5kIGB4bGAgbnVtYmVyc1xuTGVhdmVzIGJvb2xzIGFzIGlzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnN0ci1yZXBsYWNlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlcGxhY2UgYW55IHN1YnN0cmluZyB3aXRoIGFub3RoZXJcbnN0cmluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5zdHItc3BsaXQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU3BsaXQgYSBzdHJpbmcgYXQgYSBnaXZlbiBzZXBhcmF0b3JcbmFuZCBjb252ZXJ0IGludG8gYSBsaXN0IG9mIHN1YnN0cmluZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc3RyaXAtdW5pdCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZW1vdmUgdGhlIHVuaXQgb2YgYSBsZW5ndGhcbkBhdXRob3IgSHVnbyBHaXJhdWRlbFxuQHBhcmFtIHtOdW1iZXJ9ICRudW1iZXIgLSBOdW1iZXIgdG8gcmVtb3ZlIHVuaXQgZnJvbVxuQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5iYXNlLXRvLW1hcCgpXG5AVE9ETzogRGVwcmVjYXRlIGFuZCBkZWxldGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnQgYSBzaW5nbGUgYmFzZSB0byBhIFVTV0RTXG52YWx1ZSBtYXAuXG5cbkNhbmRpZGF0ZSBmb3IgZGVwcmVjYXRpb24gaWYgd2UgcmVtb3ZlXG5pc1JlYWRhYmxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnRvLW51bWJlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG5AcmV0dXJuIHtOdW1iZXJ9XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnVucGFjaygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DcmVhdGUgbGlzdHMgb2Ygc2luZ2xlIGl0ZW1zIGZyb20gbGlzdHNcbm9mIGxpc3RzLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKDEsICgyLjEsIDIuMiksIDMpIC0tPlxuKDEsIDIuMSwgMi4yLCAzKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5EZXJpdmUgYSBjb2xvciBmcm9tIGEgY29sb3Igc2hvcnRjb2RlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbG9yKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkRlcml2ZSBhIGNvbG9yIGZyb20gYSBjb2xvciBzaG9ydGNvZGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgY29sb3IgZnJvbSBhIGNvbG9yIHNob3J0Y29kZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5zZXQtdGhlbWUtY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgY29sb3IgZnJvbSBhIHN5c3RlbSBjb2xvciB0b2tlblxub3IgYSBoZXggdmFsdWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucHgtdG8tcmVtKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnRzIGEgdmFsdWUgaW4gcHggdG8gYSB2YWx1ZSBpbiByZW1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucmVtLXRvLXB4KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnRzIGEgdmFsdWUgaW4gcmVtIHRvIGEgdmFsdWUgaW4gcHhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucmVtLXRvLXVzZXItZW0oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29udmVydHMgYSB2YWx1ZSBpbiByZW0gdG8gYSB2YWx1ZSBpblxuW3VzZXItc2V0dGluZ3NdIGVtIGZvciB1c2UgaW4gbWVkaWFcbnF1ZXJpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc3BhY2luZy1tdWx0aXBsZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db252ZXJ0cyBhIHNwYWNpbmcgdW5pdCBtdWx0aXBsZSBpbnRvXG50aGUgZGVzaXJlZCBmaW5hbCB1bml0cyAoY3VycmVudGx5IHJlbSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudW5pdHMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29udmVydHMgYSBzcGFjaW5nIHVuaXQgaW50b1xudGhlIGRlc2lyZWQgZmluYWwgdW5pdHMgKGN1cnJlbnRseSByZW0pXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm51bWJlci10by10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db252ZXJ0cyBhbiBpbnRlZ2VyIG9yIG51bWVyaWMgdmFsdWVcbmludG8gYSBzeXN0ZW0gdmFsdWVcblxuRXg6IDAuNSAgIC0tPiAnMDUnXG4gICAgLTFweCAgLS0+ICduZWctMXB4J1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Qcm9qZWN0IGZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db2xsZWN0cyBmb250IHNldHRpbmdzIGluIGEgbWFwIGZvclxubG9vcGluZy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuTHVtaW5hbmNlIHJhbmdlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5ucygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BZGQgYSBuYW1lc3NwYWNlIG9mICR0eXBlIGlmIHRoYXRcbm5hbWVzcGFjZSBpcyBzZXQgdG8gb3V0cHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC1zeXN0ZW0tY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgc3lzdGVtIGNvbG9yIGZyb20gaXRzXG5mYW1pbHksIHZhbHVlLCBhbmQgdml2aWQgb3IgYSBwYXNzZWRcbnZhcmlhYmxlIHRoYXQgaXMsIGl0c2VsZiwgYSBsaXN0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkxpbmUgaGVpZ2h0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk1lYXN1cmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY2FwLWhlaWdodCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgdGhlIGNhcCBoZWlnaHQgb2YgYSB2YWxpZCB0eXBlZmFjZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG52YWxpZGF0ZS10eXBlZmFjZS10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DaGVjayB0byBzZWUgaWYgYSB0eXBlZmFjZS10b2tlbiBleGlzdHMuXG5UaHJvdyBhbiBlcnJvciBpZiBhIHBhc3NlZCB0b2tlbiBkb2VzXG5ub3QgZXhpc3QgaW4gdGhlIHR5cGVmYWNlLXRva2VuIG1hcC5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29udmVydC10by1mb250LXR5cGUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29udmVydHMgYSBmb250LXJvbGUgdG9rZW4gaW50byBhXG5mb250LXR5cGUgdG9rZW4uIExlYXZlcyBmb250LXR5cGUgdG9rZW5zXG51bmNoYW5nZWQuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZvbnQtc291cmNlcygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5PdXRwdXRzIGEgbGlzdCBvZiBmb250IHNvdXJjZXMgdXNlZCBpblxuYSBAZm9udC1mYWNlIGRlY2xhcmF0aW9uLlxuXG4kdGhlbWUtZm9udC1icm93c2VyLWNvbXBhdGliaWxpdHk6IHRydWUgLSBvdXRwdXQgd29mZjIsIHdvZmYsIHR0ZlxuJHRoZW1lLWZvbnQtYnJvd3Nlci1jb21wYXRpYmlsaXR5OiBmYWxzZSAtIG91dHB1dCB3b2ZmMlxuXG5AcGFyYW0gc3RlbTogc3RyaW5nIC0gW2ZvbnQgcGF0aF0vW2N1c3RvbS1zcmMuZGlyXS9bY3VzdG9tLXNyYy5bc3R5bGVdLlt3ZWlnaHRdXVxuQG91dHB1dDogc3RyaW5nXG5cbmZpbGV0eXBlcyBtdXN0IGJlIG9uZSBvZiB0aGUgZmlsZXR5cGVzIHNldCBpbiB2YXJpYWJsZXMvJHByb2plY3QtZm9udC1mYWNlLWZpbGV0eXBlcyAod29mZiwgd29mZjIsIHR0Zilcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZ2V0LWZvbnQtc3RhY2soKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgZm9udCBzdGFjayBmcm9tIGEgc3R5bGUtIG9yXG5yb2xlLWJhc2VkIGZvbnQgdG9rZW4uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC10eXBlZmFjZS10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSB0eXBlZmFjZSB0b2tlbiBmcm9tIGEgZm9udC10eXBlIG9yXG5mb250LXJvbGUgdG9rZW4uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm5vcm1hbGl6ZS10eXBlLXNjYWxlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk5vcm1hbGl6ZXMgYSBzcGVjaWZpYyBmYWNlJ3Mgb3B0aWNhbCBzaXplXG50byBhIHNldCB0YXJnZXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc3lzdGVtLXR5cGUtc2NhbGUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgdmFsdWUgZnJvbSB0aGUgc3lzdGVtIHR5cGUgc2NhbGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRWFzaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogIGRlcHJlY2F0ZWQuc2Nzc1xuICAgIC0tLVxuICAgIE9jY2FzaW9uYWxseSB0aGUgZGVzaWduIHN5c3RlbSB3aWxsIGRlcHJlY2F0ZVxuICAgIG9sZCB2YXJpYWJsZXMgb3IgZnVuY3Rpb25hbGl0eS4gSWYgd2UgcmVwbGFjZVxuICAgIHRoZSBvbGQgZnVuY3Rpb25hbGl0eSB3aXRoIHNvbWV0aGluZyBuZXcsIHRoaXMgaXMgYVxuICAgIHBsYWNlIHRvIGNvbm5lY3QgdGhlIG9sZCBmdW5jdGlvbmFsaXR5IHRvIHRoZVxuICAgIG5ldyBmdW5jdGlvbmFsaXR5LCBpbiB0aGUgc2VydmljZSBvZiBiZXR0ZXJcbiAgICBjb250aW51aXR5IGFuZCBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoaW4gYVxuICAgIG1ham9yIHJlbGVhc2UgY3ljbGUuXG5cbiAgICBOb3RlIHRoZSBVU1dEUyB2ZXJzaW9uIHdoZXJlIHdlIGRlcHJlY2F0ZWQgdGhlXG4gICAgb2xkIGZ1bmN0aW9uYWxpdHkgaW4gYSBjb21tZW50LlxuXG4gICAgQmUgc3VyZSB0byB1cGRhdGUgbm90aWZpY2F0aW9ucy5zY3NzLlxuXG4gICAgVGhpcyBmaWxlIHNob3VsZCBzdGFydGVkIGZyZXNoIGF0IGVhY2hcbiAgICBtYWpvciB2ZXJzaW9uLlxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5hZHZhbmNlZC1jb2xvcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5EZXJpdmUgYSBjb2xvciBmcm9tIGEgY29sb3IgdHJpcGxldDpcbltmYW1pbHldLCBbZ3JhZGVdLCBbdmFyaWFudF1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY2FsY3VsYXRlLWdyYWRlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkRlcml2ZSB0aGUgZ3JhZGUgZXF1aXZhbGVudCBhbnkgY29sb3IsXG5ldmVuIG5vbi10b2tlbiBjb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3ItdG9rZW4tYXNzaWdubWVudCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgdGhlIHN5c3RlbSB0b2tlbiBlcXVpdmFsZW50IG9mIGFueVxudGhlbWUgY29sb3IgdG9rZW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuaXMtc3lzdGVtLWNvbG9yLXRva2VuKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybiB3aGV0aGVyIGEgdG9rZW4gaXMgYSBzeXN0ZW1cbmNvbG9yIHRva2VuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmlzLXRoZW1lLWNvbG9yLXRva2VuKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybiB3aGV0aGVyIGEgdG9rZW4gaXMgYSB0aGVtZVxuY29sb3IgdG9rZW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3ItdG9rZW4tZmFtaWx5KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgdGhlIGZhbWlseSBvZiBhIGNvbG9yIHRva2VuLlxuUmV0dXJuczogY29sb3ItZmFtaWx5XG5jb2xvci10b2tlbi1mYW1pbHkoXCJhY2NlbnQtd2FybS12aXZpZFwiKVxuPiBcImFjY2VudC13YXJtXCJcbmNvbG9yLXRva2VuLWZhbWlseShcInJlZC01MHZcIilcbj4gXCJyZWRcIlxuY29sb3ItdG9rZW4tdmFyaWFudCgoXCJyZWRcIiwgNTAsIFwidml2aWRcIikpXG4+IFwicmVkXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZGVjb21wb3NlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnQgYSBjb2xvciB0b2tlbiBpbnRvIGludG8gYSBsaXN0XG5vZiBmb3JtIFtmYW1pbHldLCBbZ3JhZGVdLCBbdmFyaWFudF1cblZpdmlkIHZhcmlhbnRzIHJldHVybiBcInZpdmlkXCIgYXMgdGhlXG52YXJpYW50LlxuSWYgbmVpdGhlciBncmFkZSBub3IgdmFyaWFudCBleGlzdHMsXG5yZXR1cm5zICdudWxsJ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvci10b2tlbi1mYW1pbHkoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB0aGUgZmFtaWx5IG9mIGEgY29sb3IgdG9rZW4uXG5SZXR1cm5zOiBjb2xvci1mYW1pbHlcbmNvbG9yLXRva2VuLWZhbWlseShcImFjY2VudC13YXJtLXZpdmlkXCIpXG4+IFwiYWNjZW50LXdhcm1cIlxuY29sb3ItdG9rZW4tZmFtaWx5KFwicmVkLTUwdlwiKVxuPiBcInJlZFwiXG5jb2xvci10b2tlbi12YXJpYW50KChcInJlZFwiLCA1MCwgXCJ2aXZpZFwiKSlcbj4gXCJyZWRcIlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvci10b2tlbi1ncmFkZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSBncmFkZSBvZiBhIFVTV0RTIGNvbG9yIHRva2VuLlxuUmV0dXJuczogY29sb3ItZ3JhZGVcbmNvbG9yLXRva2VuLWdyYWRlKFwiYWNjZW50LXdhcm1cIilcbj4gXCJyb290XCJcbmNvbG9yLXRva2VuLWdyYWRlKFwiYWNjZW50LXdhcm0tdml2aWRcIilcbj4gXCJyb290XCJcbmNvbG9yLXRva2VuLWdyYWRlKFwiYWNjZW50LXdhcm0tZGFya2VyXCIpXG4+IFwiZGFya2VyXCJcbmNvbG9yLXRva2VuLWdyYWRlKFwicmVkLTUwdlwiKVxuPiA1MFxuY29sb3ItdG9rZW4tdmFyaWFudCgoXCJyZWRcIiwgNTAsIFwidml2aWRcIikpXG4+IDUwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbG9yLXRva2VuLWZhbWlseSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSBmYW1pbHkgb2YgYSBjb2xvciB0b2tlbi5cblJldHVybnM6IGNvbG9yLWZhbWlseVxuY29sb3ItdG9rZW4tZmFtaWx5KFwiYWNjZW50LXdhcm0tdml2aWRcIilcbj4gXCJhY2NlbnQtd2FybVwiXG5jb2xvci10b2tlbi1mYW1pbHkoXCJyZWQtNTB2XCIpXG4+IFwicmVkXCJcbmNvbG9yLXRva2VuLXZhcmlhbnQoKFwicmVkXCIsIDUwLCBcInZpdmlkXCIpKVxuPiBcInJlZFwiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmlzLWNvbG9yLXRva2VuKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgd2hldGhlciBhIGdpdmVuIHN0cmluZyBpcyBhXG5VU1dEUyBjb2xvciB0b2tlbi5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucG93KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJhaXNlcyBhIHVuaXRsZXNzIG51bWJlciB0byB0aGUgcG93ZXJcbm9mIGFub3RoZXIgdW5pdGxlc3MgbnVtYmVyXG5JbmNsdWRlcyBoZWxwZXIgZnVuY3Rpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkhlbHBlciBmdW5jdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKiBmYWN0b3JpYWwoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qIHN1bW1hdGlvbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogZXhwLW1hY2xhdXJpbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogbG4oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvci10b2tlbi10eXBlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgdGhlIHR5cGUgb2YgYSBjb2xvciB0b2tlbi5cblJldHVybnM6IFwic3lzdGVtXCIgfCBcInRoZW1lXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3ItdG9rZW4tdmFyaWFudCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSB2YXJpYW50IG9mIGNvbG9yIHRva2VuLlxuUmV0dXJuczogXCJ2aXZpZFwiIHwgZmFsc2VcbmNvbG9yLXRva2VuLXZhcmlhbnQoXCJhY2NlbnQtd2FybVwiKVxuPiBmYWxzZVxuY29sb3ItdG9rZW4tdmFyaWFudChcImFjY2VudC13YXJtLXZpdmlkXCIpXG4+IFwidml2aWRcIlxuY29sb3ItdG9rZW4tdmFyaWFudChcInJlZC01MHZcIilcbj4gXCJ2aXZpZFwiXG5jb2xvci10b2tlbi12YXJpYW50KChcInJlZFwiLCA1MCwgXCJ2aXZpZFwiKSlcbj4gXCJ2aXZpZFwiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm1hZ2ljLW51bWJlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSBtYWdpYyBudW1iZXIgb2YgdHdvIGNvbG9yXG5ncmFkZXMuIFRha2VzIG51bWJlcnMgb3IgY29sb3IgdG9rZW5zLlxubWFnaWMtbnVtYmVyKDUwLCAxMClcbnJldHVybjogNDBcbm1hZ2ljLW51bWJlcihcInJlZC01MFwiLCBcInJlZC0xMFwiKVxucmV0dXJuOiA0MFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5pcy1hY2Nlc3NpYmxlLW1hZ2ljLW51bWJlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHdoZXRoZXIgdHdvIGdyYWRlcyBhY2hpZXZlXG5zcGVjaWZpZWQgdGFyZ2V0IGNvbG9yIGNvbnRyYXN0XG5SZXR1cm5zOiB0cnVlIHwgZmFsc2VcbmlzLWFjY2Vzc2libGUtbWFnaWMtbnVtYmVyKDEwLCA1MCwgXCJBQVwiKVxuPiBmYWxzZVxuaXMtYWNjZXNzaWJsZS1tYWdpYy1udW1iZXIoMTAsIDYwLCBcIkFBXCIpXG4+IHRydWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxud2NhZy1tYWdpYy1udW1iZXIoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB0aGUgbWFnaWMgbnVtYmVyIG9mIGEgc3BlY2lmaWNcbndjYWcgZ3JhZGU6XG5cIkFBXCJcblwiQUEtTGFyZ2VcIlxuXCJBQUFcIlxud2NhZy1tYWdpYy1udW1iZXIoXCJBQVwiKVxuPiA1MFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtbGluay10b2tlbnMtZnJvbS1iZygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYWNjZXNzaWJsZSBsaW5rIGNvbG9ycyBmb3IgYSBnaXZlblxuYmFja2dyb3VuZCBjb2xvclxucmV0dXJuczogbGluay10b2tlbiwgaG92ZXItdG9rZW5cbmdldC1saW5rLXRva2Vucy1mcm9tLWJnKFxuICBcImJsYWNrXCIsXG4gIFwicmVkLTYwXCIsXG4gIFwicmVkLTEwXCIsXG4gIFwiQUFcIilcbj4gXCJyZWQtMTBcIiwgXCJyZWQtNVwiXG5nZXQtbGluay10b2tlbnMtZnJvbS1iZyhcbiAgXCJibGFja1wiLFxuICBcInJlZC02MHZcIixcbiAgXCJyZWQtMTB2XCIsXG4gIFwiQUEtbGFyZ2VcIilcbj4gXCJyZWQtNjB2XCIsIFwicmVkLTUwdlwiXG5nZXQtbGluay10b2tlbnMtZnJvbS1iZyhcbiAgXCJibGFja1wiLFxuICBcInJlZC01dlwiLFxuICBcInJlZC02MHZcIixcbiAgXCJBQVwiKVxuPiBcInJlZC01dlwiLCBcIndoaXRlXCJcbmdldC1saW5rLXRva2Vucy1mcm9tLWJnKFxuICBcImJsYWNrXCIsXG4gIFwid2hpdGVcIixcbiAgXCJyZWQtNjB2XCIsXG4gIFwiQUFcIilcbj4gXCJ3aGl0ZVwiLCBcIndoaXRlXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubmV4dC10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIG5leHQgXCJkYXJrZXJcIiBvciBcImxpZ2h0ZXJcIiBjb2xvclxudG9rZW4gb2YgdGhlIHNhbWUgdG9rZW4gdHlwZSBhbmQgdmFyaWFudC5cblJldHVybnM6IGNvbG9yLXRva2VuIHwgZmFsc2Vcbm5leHQtdG9rZW4oXCJhY2NlbnQtd2FybVwiLCBcImxpZ2h0ZXJcIilcbj4gXCJhY2NlbnQtd2FybS1saWdodFwiXG5uZXh0LXRva2VuKFwiZ3JheS0xMFwiLCBcImxpZ2h0ZXJcIilcbj4gXCJncmF5LTVcIlxubmV4dC10b2tlbihcImdyYXktNVwiLCBcImxpZ2h0ZXJcIilcbj4gXCJ3aGl0ZVwiXG5uZXh0LXRva2VuKFwid2hpdGVcIiwgXCJsaWdodGVyXCIpXG4+IGZhbHNlXG5uZXh0LXRva2VuKFwicmVkLTUwdlwiLCBcImRhcmtlclwiKVxuPiBcInJlZC02MHZcIlxubmV4dC10b2tlbihcInJlZC01MFwiLCBcImRhcmtlclwiKVxuPiBcInJlZC02MFwiXG5uZXh0LXRva2VuKFwicmVkLTgwdlwiLCBcImRhcmtlclwiKVxuPiBcInJlZC05MFwiXG5uZXh0LXRva2VuKFwicmVkLTkwXCIsIFwiZGFya2VyXCIpXG4+IFwiYmxhY2tcIlxubmV4dC10b2tlbihcIndoaXRlXCIsIFwiZGFya2VyXCIpXG4+IFwiZ3JheS01XCJcbm5leHQtdG9rZW4oXCJibGFja1wiLCBcImxpZ2h0ZXJcIilcbj4gXCJncmF5LTkwXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudGVzdC1jb2xvcnMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ2hlY2sgdG8gc2VlIGlmIGFsbCBzeXN0ZW0gY29sb3JzXG5mYWxsIGJldHdlZW4gdGhlIHByb3BlciByZWxhdGl2ZVxubHVtaW5hbmNlIHJhbmdlIGZvciB0aGVpciBncmFkZS5cbkhhcyBhIGNvdXBsZSBxdWlya3MsIGFzIHRoZSBsdW1pbmFuY2UoKVxuZnVuY3Rpb24gcmV0dXJucyBzbGlnaHRseSBkaWZmZXJlbnRcbnJlc3VsdHMgdGhhbiBleHBlY3RlZC5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sdW1ucygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5vdXRwdXRzIGEgZ3JpZC1jb2wgbnVtYmVyIGJhc2VkIG9uXG50aGUgbnVtYmVyIG9mIGRlc2lyZWQgY29sdW1ucyBpbiB0aGVcbjEyLWNvbHVtbiBncmlkXG5cbkV4OiBjb2x1bW5zKDIpIC0tPiA2XG4gICAgZ3JpZC1jb2woY29sdW1ucygyKSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVVNXRFMgUHJvcGVydGllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtdXN3ZHMtdmFsdWUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRmluZHMgYW5kIG91dHB1dHMgYSB2YWx1ZSBmcm9tIHRoZVxuVVNXRFMgc3RhbmRhcmQgdmFsdWVzLlxuXG5Vc2VkIHRvIGJ1aWxkIG90aGVyIHN0YW5kYXJkIHV0aWxpdHlcbmZ1bmN0aW9ucyBhbmQgbWl4aW5zLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtc3RhbmRhcmQtdmFsdWVzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldHMgYSBtYXAgb2YgVVNXRFMgc3RhbmRhcmQgdmFsdWVzXG5mb3IgYSBwcm9wZXJ0eVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5ib3JkZXItcmFkaXVzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIGJvcmRlci1yYWRpdXMgZnJvbSB0aGUgc3lzdGVtXG5ib3JkZXItcmFkaWlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZm9udC13ZWlnaHQoKVxuZncoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgZm9udC13ZWlnaHQgdmFsdWUgZnJvbSB0aGVcbnN5c3RlbSBmb250LXdlaWdodFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mZWF0dXJlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldHMgYSB2YWxpZCBVU1dEUyBmb250IGZlYXR1cmUgc2V0dGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mbGV4KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldHMgYSB2YWxpZCBVU1dEUyBmbGV4IHZhbHVlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZvbnQtZmFtaWx5KClcbmZhbWlseSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBmb250LWZhbWlseSBzdGFjayBmcm9tIGFcbnJvbGUtYmFzZWQgb3IgdHlwZS1iYXNlZCBmb250IGZhbWlseVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5sZXR0ZXItc3BhY2luZygpXG5scygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBsZXR0ZXItc3BhY2luZyB2YWx1ZSBmcm9tIHRoZVxuc3lzdGVtIGxldHRlci1zcGFjaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm1lYXN1cmUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0cyBhIHZhbGlkIFVTV0RTIHJlYWRpbmcgbGluZSBsZW5ndGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxub3BhY2l0eSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYW4gb3BhY2l0eSBmcm9tIHRoZSBzeXN0ZW1cbm9wYWNpdGllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5vcmRlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYW4gb3JkZXIgdmFsdWUgZnJvbSB0aGVcbnN5c3RlbSBvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucmFkaXVzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIGJvcmRlci1yYWRpdXMgdmFsdWUgZnJvbSB0aGVcbnN5c3RlbSBsZXR0ZXItc3BhY2luZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mb250LXNpemUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IHR5cGUgc2NhbGUgdmFsdWUgZnJvbSBhIFtmYW1pbHldIGFuZFxuW3NjYWxlXVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG56LWluZGV4KClcbnooKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgei1pbmRleCB2YWx1ZSBmcm9tIHRoZVxuc3lzdGVtIHotaW5kZXhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudXRpbGl0eS1mb250KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIG5vcm1hbGl6ZWQgZm9udC1zaXplIGluIHJlbSBmcm9tXG5hIGZhbWlseSBhbmQgYSB0eXBlIHNpemUgaW4gZWl0aGVyXG5zeXN0ZW0gc2NhbGUgb3IgcHJvamVjdCBzY2FsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuTm90IHRoZSBwdWJsaWMtZmFjaW5nIGZ1bmN0aW9uLlxuVXNlZCBmb3IgYnVpbGRpbmcgdGhlIHV0aWxpdGllcyBhbmRcbndpdGhob2xkcyBjZXJ0YWluIGVycm9ycy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZmFtaWx5KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIGZvbnQtZmFtaWx5IHN0YWNrXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnNpemUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgbm9ybWFsaXplZCBmb250LXNpemUgaW4gcmVtIGZyb21cbmEgZmFtaWx5IGFuZCBhIHR5cGUgc2l6ZSBpbiBlaXRoZXJcbnN5c3RlbSBzY2FsZSBvciBwcm9qZWN0IHNjYWxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZvbnQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgZm9udC1mYW1pbHkgc3RhY2tcbkFORFxuR2V0IGEgbm9ybWFsaXplZCBmb250LXNpemUgaW4gcmVtIGZyb21cbmEgZmFtaWx5IGFuZCBhIHR5cGUgc2l6ZSBpbiBlaXRoZXJcbnN5c3RlbSBzY2FsZSBvciBwcm9qZWN0IHNjYWxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnR5cGVzZXQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2V0czpcbi0gZmFtaWx5XG4tIHNpemVcbi0gbGluZS1oZWlnaHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBtYXgtbmVzdGluZy1kZXB0aCAqL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkByZW5kZXItcHNldWRvY2xhc3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkJ1aWxkIGEgcHNldWNvY2xhc3MgdXRpbGl5IGZyb20gdmFsdWVzXG5jYWxjdWxhdGVkIGluIHRoZSBAcmVuZGVyLXV0aWxpdGllcy1pblxubG9vcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AcmVuZGVyLXV0aWxpdHlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkJ1aWxkIGEgdXRpbGl0eSBmcm9tIHZhbHVlcyBjYWxjdWxhdGVkXG5pbiB0aGUgQHJlbmRlci11dGlsaXRpZXMtaW4gbG9vcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVE9ETzogRGV0ZXJtaW5lIHRoZSBwcm9wZXIgdXNlIG9mXG51bnF1b3RlKCkgaW4gdGhlIGZvbGxvd2luZy4gQ2hhbmdlZCB0b1xuYWNjb3VudCBmb3IgYSAnaW50ZXJwb2xhdGlvbiBuZWFyXG5vcGVyYXRvcnMgd2lsbCBiZSBzaW1wbGlmaWVkIGluIGFcbmZ1dHVyZSB2ZXJzaW9uIG9mIFNhc3MnIHdhcm5pbmcuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkByZW5kZXItdXRpbGl0aWVzLWluXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UaGUgbWFzdGVyIGxvb3AgdGhhdCBzZXRzIHRoZSBidWlsZGluZ1xuYmxvY2tzIG9mIHV0aWxpdGllcyBmcm9tIHRoZSB2YWx1ZXNcbmluIGluZGl2aWR1YWwgcnVsZSBzZXR0aW5ncyBhbmQgbG9vcHNcbnRocm91Z2ggYWxsIHBvc3NpYmxlIHZhcmlhbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogIG5vdGlmaWNhdGlvbnMuc2Nzc1xuICAgIC0tLVxuICAgIEFkZHMgYSBub3RpZmljYXRpb24gYXQgdGhlIHRvcCBvZiBlYWNoIFVTV0RTXG4gICAgY29tcGlsZS4gVXNlIHRoaXMgZmlsZSBmb3IgaW1wb3J0YW50IG5vdGlmaWNhdGlvbnNcbiAgICBhbmQgdXBkYXRlcyB0byB0aGUgZGVzaWduIHN5c3RlbS5cblxuICAgIFRoaXMgZmlsZSBzaG91bGQgc3RhcnRlZCBmcmVzaCBhdCBlYWNoXG4gICAgbWFqb3IgdmVyc2lvbi5cblxuKi9cbi8qIHByZXR0aWVyLWlnbm9yZSAqL1xuLyogcHJldHRpZXItaWdub3JlICovXG4udXNhLW1lZGlhLWJsb2NrIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi51c2EtbWVkaWEtYmxvY2tfX2ltZyB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cblxuLnVzYS1tZWRpYS1ibG9ja19fYm9keSB7XG4gIGZsZXg6IDEgMSAwJTtcbn1cblxuLypcbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdFTkVSQUwgU0VUVElOR1Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlYWQgbW9yZSBhYm91dCBzZXR0aW5ncyBhbmRcblVTV0RTIHN0eWxlIHRva2VucyBpbiB0aGUgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vZGVzaWduc3lzdGVtLmRpZ2l0YWwuZ292L2Rlc2lnbi10b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuSW1hZ2UgcGF0aFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVsYXRpdmUgaW1hZ2UgZmlsZSBwYXRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNob3cgY29tcGlsZSB3YXJuaW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2hvdyBTYXNzIHdhcm5pbmdzIHdoZW4gZnVuY3Rpb25zIGFuZFxubWl4aW5zIHVzZSBub24tc3RhbmRhcmQgdG9rZW5zLlxuQU5EXG5TaG93IHVwZGF0ZXMgYW5kIG5vdGlmaWNhdGlvbnMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk5hbWVzcGFjZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5QcmVmaXggc2VwYXJhdG9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TZXQgdGhlIGNoYXJhY3RlciB0aGUgc2VwYXJhdGVzXG5yZXNwb25zaXZlIGFuZCBzdGF0ZSBwcmVmaXhlcyBmcm9tIHRoZVxubWFpbiBjbGFzcyBuYW1lLlxuVGhlIGRlZmF1bHQgKFwiOlwiKSBuZWVkcyB0byBiZSBwcmVjZWRlZFxuYnkgdHdvIGJhY2tzbGFzaGVzIHRvIGJlIHByb3Blcmx5XG5lc2NhcGVkLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5MYXlvdXQgZ3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2hvdWxkIHRoZSBsYXlvdXQgZ3JpZCBjbGFzc2VzIG91dHB1dFxud2l0aCAhaW1wb3J0YW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkJvcmRlciBib3ggc2l6aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5XaGVuIHNldCB0byB0cnVlLCBzZXRzIHRoZSBib3gtc2l6aW5nXG5wcm9wZXJ0eSBvZiBhbGwgc2l0ZSBlbGVtZW50cyB0b1xuYGJvcmRlci1ib3hgLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Gb2N1cyBzdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVFlQT0dSQVBIWSBTRVRUSU5HU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVhZCBtb3JlIGFib3V0IHNldHRpbmdzIGFuZFxuVVNXRFMgdHlwb2dyYXBoeSB0b2tlbnMgaW4gdGhlIGRvY3VtZW50YXRpb246XG5odHRwczovL2Rlc2lnbnN5c3RlbS5kaWdpdGFsLmdvdi9kZXNpZ24tdG9rZW5zL3R5cGVzZXR0aW5nL292ZXJ2aWV3L1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Sb290IGZvbnQgc2l6ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2V0dGluZyAkdGhlbWUtcmVzcGVjdC11c2VyLWZvbnQtc2l6ZSB0b1xudHJ1ZSBzZXRzIHRoZSByb290IGZvbnQgc2l6ZSB0byAxMDAlIGFuZFxudXNlcyBlbXMgZm9yIG1lZGlhIHF1ZXJpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiR0aGVtZS1yb290LWZvbnQtc2l6ZSBvbmx5IGFwcGxpZXMgd2hlblxuJHRoZW1lLXJlc3BlY3QtdXNlci1mb250LXNpemUgaXMgc2V0IHRvXG5mYWxzZS5cblxuVGhpcyB3aWxsIHNldCB0aGUgcm9vdCBmb250IHNpemVcbmFzIGEgc3BlY2lmaWMgcHggdmFsdWUgYW5kIHVzZSBweCB2YWx1ZXNcbmZvciBtZWRpYSBxdWVyaWVzLlxuXG5BY2NlcHRzIHRydWUgb3IgZmFsc2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2xvYmFsIHN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQWRkcyBiYXNpYyBzdHlsaW5nIGZvciB0aGUgZm9sbG93aW5nXG51bmNsYXNzZWQgZWxlbWVudHM6XG5cbi0gcGFyYWdyYXBoOiBwYXJhZ3JhcGggdGV4dFxuLSBsaW5rOiBsaW5rc1xuLSBjb250ZW50OiBwYXJhZ3JhcGggdGV4dCwgbGlua3MsXG4gIGhlYWRpbmdzLCBsaXN0cywgYW5kIHRhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Ccm9zd2VyIGNvbXBhdGliaWxpdHkgbW9kZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuV2hlbiB0cnVlLCBvdXRwdXRzIHdvZmYgYW5kIHR0ZiBmb250IFxuZm9ybWF0cyBpbiBhZGRpdGlvbiB0byB3b2ZmMlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Gb250IHBhdGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlbGF0aXZlIGZvbnQgZmlsZSBwYXRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkN1c3RvbSB0eXBlZmFjZSB0b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBhIG5ldyBjdXN0b20gdHlwZWZhY2UgdG9rZW4gaWZcbnlvdXIgcHJvamVjdCB1c2VzIGEgdHlwZWZhY2Ugbm90IGFscmVhZHlcbmRlZmluZWQgYnkgVVNXRFMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VU1dEUyBkZWZpbmVzIHRoZSBmb2xsb3dpbmcgdG9rZW5zXG5ieSBkZWZhdWx0OlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJ2dlb3JnaWEnXG4naGVsdmV0aWNhJ1xuJ21lcnJpd2VhdGhlcidcbidvcGVuLXNhbnMnXG4ncHVibGljLXNhbnMnXG4ncm9ib3RvLW1vbm8nXG4nc291cmNlLXNhbnMtcHJvJ1xuJ3N5c3RlbSdcbid0YWhvbWEnXG4ndmVyZGFuYSdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBhcyBtYW55IG5ldyB0b2tlbnMgYXMgeW91IGhhdmVcbmN1c3RvbSB0eXBlZmFjZXMuIFJlZmVyZW5jZSB5b3VyIG5ld1xudG9rZW4ocykgaW4gdGhlIHR5cGUtYmFzZWQgZm9udCBzZXR0aW5nc1xudXNpbmcgdGhlIHF1b3RlZCBuYW1lIG9mIHRoZSB0b2tlbi5cblxuRm9yIGV4YW1wbGU6XG5cbiR0aGVtZS1mb250LXR5cGUtY29uZDogJ2V4YW1wbGUtZm9udC10b2tlbic7XG5cbmRpc3BsYXktbmFtZTpcblRoZSBkaXNwbGF5IG5hbWUgb2YgeW91ciBmb250XG5cbmNhcC1oZWlnaHQ6XG5UaGUgaGVpZ2h0IG9mIGEgNTAwcHggYE5gIGluIFNrZXRjaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuWW91IHNob3VsZCBjaGFuZ2UgYGV4YW1wbGUtW3N0eWxlXS10b2tlbmBcbm5hbWVzIHRvIHNvbWV0aGluZyBtb3JlIGRlc2NyaXB0aXZlLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UeXBlLWJhc2VkIGZvbnQgc2V0dGluZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNldCB0aGUgdHlwZS1iYXNlZCB0b2tlbnMgZm9yIHlvdXJcbnByb2plY3QgZnJvbSB0aGUgZm9sbG93aW5nIHRva2Vucyxcbm9yIGZyb20gYW55IG5ldyBmb250IHRva2VucyB5b3UgYWRkZWQgaW5cbiR0aGVtZS10eXBlZmFjZS10b2tlbnMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4nZ2VvcmdpYSdcbidoZWx2ZXRpY2EnXG4nbWVycml3ZWF0aGVyJ1xuJ29wZW4tc2FucydcbidwdWJsaWMtc2Fucydcbidyb2JvdG8tbW9ubydcbidzb3VyY2Utc2Fucy1wcm8nXG4nc3lzdGVtJ1xuJ3RhaG9tYSdcbid2ZXJkYW5hJ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DdXN0b20gZm9udCBzdGFja3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBjdXN0b20gZm9udCBzdGFja3MgdG8gYW55IG9mIHRoZVxudHlwZS1iYXNlZCBmb250cy4gQW55IFVTV0RTIHR5cGVmYWNlXG50b2tlbiBhbHJlYWR5IGhhcyBhIGRlZmF1bHQgc3RhY2suXG5cbkN1c3RvbSBzdGFja3MgZG9uJ3QgbmVlZCB0byBpbmNsdWRlIHRoZVxuZm9udCdzIGRpc3BsYXkgbmFtZS4gSXQgd2lsbFxuYXV0b21hdGljYWxseSBhcHBlYXIgYXQgdGhlIHN0YXJ0IG9mXG50aGUgc3RhY2suXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5FeGFtcGxlOlxuJHRoZW1lLWZvbnQtdHlwZS1zYW5zOiAnc291cmNlLXNhbnMtcHJvJztcbiR0aGVtZS1mb250LXNhbnMtY3VzdG9tLXN0YWNrOiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnM7XG5cbk91dHB1dDpcbmZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTYW5zIFByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnM7XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBhbnkgY3VzdG9tIGZvbnQgc291cmNlIGZpbGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5JZiB5b3Ugd2FudCBVU1dEUyB0byBnZW5lcmF0ZSBhZGRpdGlvbmFsXG5AZm9udC1mYWNlIGRlY2xhcmF0aW9ucywgYWRkIHlvdXIgZm9udFxuZGF0YSBiZWxvdywgZm9sbG93aW5nIHRoZSBleGFtcGxlIHRoYXRcbmZvbGxvd3MuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VU1dEUyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcyBAZm9udC1mYWNlXG5kZWNsYXJhdGlvbnMgZm9yIHRoZSBmb2xsb3dpbmdcblxuJ21lcnJpd2VhdGhlcidcbidwdWJsaWMtc2Fucydcbidyb2JvdG8tbW9ubydcbidzb3VyY2Utc2Fucy1wcm8nXG5cblRoZXNlIHR5cGVmYWNlcyBub3QgcmVxdWlyZSBjdXN0b21cbnNvdXJjZSBmaWxlcy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkVYQU1QTEVcblxuLSBkaXI6XG4gIERpcmVjdG9yeSByZWxhdGl2ZSB0byAkdGhlbWUtZm9udC1wYXRoXG4tIFRoaXMgZGlyZWN0b3J5IHNob3VsZCBpbmNsdWRlIGZvbnRzIHNhdmVkIGFzXG4gIC53b2ZmMlxuICBFeGFtcGxlU2VyaWYtTm9ybWFsLndvZmYyXG5cbiR0aGVtZS1mb250LXNlcmlmLWN1c3RvbS1zcmM6IChcbiAgZGlyOiAnY3VzdG9tL2V4YW1wbGUtc2VyaWYnLFxuICByb21hbjogKFxuICAgIDEwMDogZmFsc2UsXG4gICAgMjAwOiBmYWxzZSxcbiAgICAzMDA6ICdFeGFtcGxlU2VyaWYtTGlnaHQnLFxuICAgIDQwMDogJ0V4YW1wbGVTZXJpZi1Ob3JtYWwnLFxuICAgIDUwMDogZmFsc2UsXG4gICAgNjAwOiBmYWxzZSxcbiAgICA3MDA6ICdFeGFtcGxlU2VyaWYtQm9sZCcsXG4gICAgODAwOiBmYWxzZSxcbiAgICA5MDA6IGZhbHNlLFxuICApLFxuICBpdGFsaWM6IChcbiAgICAxMDA6IGZhbHNlLFxuICAgIDIwMDogZmFsc2UsXG4gICAgMzAwOiAnRXhhbXBsZVNlcmlmLUxpZ2h0SXRhbGljJyxcbiAgICA0MDA6ICdFeGFtcGxlU2VyaWYtSXRhbGljJyxcbiAgICA1MDA6IGZhbHNlLFxuICAgIDYwMDogZmFsc2UsXG4gICAgNzAwOiAnRXhhbXBsZVNlcmlmLUJvbGRJdGFsaWMnLFxuICAgIDgwMDogZmFsc2UsXG4gICAgOTAwOiBmYWxzZSxcbiAgKSxcbik7XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJvbGUtYmFzZWQgZm9udCBzZXR0aW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2V0IHRoZSByb2xlLWJhc2VkIHRva2VucyBmb3IgeW91clxucHJvamVjdCBmcm9tIHRoZSBmb2xsb3dpbmcgZm9udC10eXBlXG50b2tlbnMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4nY29uZCdcbidpY29uJ1xuJ2xhbmcnXG4nbW9ubydcbidzYW5zJ1xuJ3NlcmlmJ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UeXBlIHNjYWxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5EZWZpbmUgeW91ciBwcm9qZWN0J3MgdHlwZSBzY2FsZSB1c2luZ1xudmFsdWVzIGZyb20gdGhlIFVTV0RTIHN5c3RlbSB0eXBlIHNjYWxlXG5cbjEtMjBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRm9udCB3ZWlnaHRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Bc3NpZ24gd2VpZ2h0cyAxMDAtOTAwXG5PciB1c2UgYGZhbHNlYCBmb3IgdW5uZWVkZWQgd2VpZ2h0cy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2VuZXJhbCB0eXBvZ3JhcGh5IHNldHRpbmdzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UeXBlIHNjYWxlIHRva2Vuc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubWljcm86ICAgICAgMTBweFxuMTogICAgICAgICAgMTJweFxuMjogICAgICAgICAgMTNweFxuMzogICAgICAgICAgMTRweFxuNDogICAgICAgICAgMTVweFxuNTogICAgICAgICAgMTZweFxuNjogICAgICAgICAgMTdweFxuNzogICAgICAgICAgMThweFxuODogICAgICAgICAgMjBweFxuOTogICAgICAgICAgMjJweFxuMTA6ICAgICAgICAgMjRweFxuMTE6ICAgICAgICAgMjhweFxuMTI6ICAgICAgICAgMzJweFxuMTM6ICAgICAgICAgMzZweFxuMTQ6ICAgICAgICAgNDBweFxuMTU6ICAgICAgICAgNDhweFxuMTY6ICAgICAgICAgNTZweFxuMTc6ICAgICAgICAgNjRweFxuMTg6ICAgICAgICAgODBweFxuMTk6ICAgICAgICAgMTIwcHhcbjIwOiAgICAgICAgIDE0MHB4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5MaW5lIGhlaWdodCB0b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjE6ICAgIDFcbjI6ICAgIDEuMTVcbjM6ICAgIDEuMzVcbjQ6ICAgIDEuNVxuNTogICAgMS42MlxuNjogICAgMS43NVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRm9udCByb2xlIHRva2Vuc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJ3VpJ1xuJ2hlYWRpbmcnXG4nYm9keSdcbidjb2RlJ1xuJ2FsdCdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk1lYXN1cmUgKG1heC13aWR0aCkgdG9rZW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4xOiAgICAgICA0NGV4XG4yOiAgICAgICA2MGV4XG4zOiAgICAgICA2NGV4XG40OiAgICAgICA2OGV4XG41OiAgICAgICA3NGV4XG42OiAgICAgICA4OGV4XG5ub25lOiAgICBub25lXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNPTE9SIFNFVFRJTkdTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZWFkIG1vcmUgYWJvdXQgc2V0dGluZ3MgYW5kXG5VU1dEUyBjb2xvciB0b2tlbnMgaW4gdGhlIGRvY3VtZW50YXRpb246XG5odHRwczovL2Rlc2lnbnN5c3RlbS5kaWdpdGFsLmdvdi9kZXNpZ24tdG9rZW5zL2NvbG9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblRoZW1lIHBhbGV0dGUgY29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblN0YXRlIHBhbGV0dGUgY29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdlbmVyYWwgY29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNPTVBPTkVOVCBTRVRUSU5HU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVhZCBtb3JlIGFib3V0IHNldHRpbmdzIGFuZFxuVVNXRFMgc3R5bGUgdG9rZW5zIGluIHRoZSBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9kZXNpZ25zeXN0ZW0uZGlnaXRhbC5nb3YvZGVzaWduLXRva2Vuc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TUEFDSU5HIFNFVFRJTkdTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZWFkIG1vcmUgYWJvdXQgc2V0dGluZ3MgYW5kXG5VU1dEUyBzcGFjaW5nIHVuaXRzIHRva2VucyBpbiB0aGVcbmRvY3VtZW50YXRpb246XG5odHRwczovL2Rlc2lnbnN5c3RlbS5kaWdpdGFsLmdvdi9kZXNpZ24tdG9rZW5zL3NwYWNpbmctdW5pdHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQm9yZGVyIHJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMnB4ICAgICAgICAgICAycHhcbjAuNSAgICAgICAgICAgNHB4XG4xICAgICAgICAgICAgIDhweFxuMS41ICAgICAgICAgICAxMnB4XG4yICAgICAgICAgICAgIDE2cHhcbjIuNSAgICAgICAgICAgMjBweFxuMyAgICAgICAgICAgICAyNHB4XG40ICAgICAgICAgICAgIDMycHhcbjUgICAgICAgICAgICAgNDBweFxuNiAgICAgICAgICAgICA0OHB4XG43ICAgICAgICAgICAgIDU2cHhcbjggICAgICAgICAgICAgNjRweFxuOSAgICAgICAgICAgICA3MnB4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbHVtbiBnYXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjJweCAgICAgICAgIDJweFxuMC41ICAgICAgICAgNHB4XG4xICAgICAgICAgICA4cHhcbjIgICAgICAgICAgIDE2cHhcbjMgICAgICAgICAgIDI0cHhcbjQgICAgICAgICAgIDMycHhcbjUgICAgICAgICAgIDQwcHhcbjYgICAgICAgICAgIDQ4cHhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR3JpZCBjb250YWluZXIgbWF4LXdpZHRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tb2JpbGVcbm1vYmlsZS1sZ1xudGFibGV0XG50YWJsZXQtbGdcbmRlc2t0b3BcbmRlc2t0b3AtbGdcbndpZGVzY3JlZW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VVElMSVRJRVMgU0VUVElOR1Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlYWQgbW9yZSBhYm91dCBzZXR0aW5ncyBhbmRcblVTV0RTIHV0aWxpdGllcyBpbiB0aGUgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vZGVzaWduc3lzdGVtLmRpZ2l0YWwuZ292L3V0aWxpdGllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VdGlsaXR5IGJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5XaGljaCBicmVha3BvaW50cyBkb2VzIHlvdXIgcHJvamVjdFxubmVlZD8gU2VsZWN0IGFzIGB0cnVlYCBhbnkgYnJlYWtwb2ludFxudXNlZCBieSB1dGlsaXRpZXMgb3IgbGF5b3V0IGdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2xvYmFsIGNvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVGhlIGZvbGxvd2luZyBwYWxldHRlcyB3aWxsIGJlIGFkZGVkIHRvXG4tIGJhY2tncm91bmQtY29sb3Jcbi0gYm9yZGVyLWNvbG9yXG4tIGNvbG9yXG4tIHRleHQtZGVjb3JhdGlvbi1jb2xvclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TZXR0aW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5WYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgY29sb3IgZnJvbSBhIGNvbG9yIHNob3J0Y29kZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5hcHBlbmQtaW1wb3J0YW50KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFwcGVuZCBgIWltcG9ydGFudGAgdG8gYSBsaXN0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC1sYXN0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybiB0aGUgbGFzdCBpdGVtIG9mIGEgbGlzdCxcblJldHVybiBudWxsIGlmIHRoZSB2YWx1ZSBpcyBudWxsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmRlLWxpc3QoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVHJhbnNmb3JtIGEgb25lLWVsZW1lbnQgbGlzdCBvciBhcmdsaXN0XG5pbnRvIHRoYXQgc2luZ2xlIGVsZW1lbnQuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4oMSkgPT4gMVxuKCgxKSkgPT4gKDEpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmVycm9yLW5vdC10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIGEgY29tbW9uIG5vdC1hLXRva2VuIGVycm9yLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG51c3dkcy1lcnJvcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BbGxvdyB0aGUgc3lzdGVtIHRvIHBhc3MgYW4gZXJyb3IgYXMgdGV4dFxudG8gdGVzdCBlcnJvciBzdGF0ZXMgaW4gdW5pdCB0ZXN0aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC1kZWZhdWx0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgdGhlIGRlZmF1bHQgdmFsdWUgZnJvbSBhIG1hcFxub2YgcHJvamVjdCBkZWZhdWx0c1xuZ2V0LWRlZmF1bHQoXCJiZy1jb2xvclwiKVxuPiAkdGhlbWUtYm9keS1iYWNrZ3JvdW5kLWNvbG9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmhhcy1pbXBvcnRhbnQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ2hlY2sgdG8gc2VlIGlmIGAhaW1wb3J0YW50YCBpc1xuYmVpbmcgcGFzc2VkIGluIGEgbWl4aW4ncyBwcm9wc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tYXAtY29sbGVjdCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db2xsZWN0IG11bHRpcGxlIG1hcHMgaW50byBhIHNpbmdsZVxubGFyZ2UgbWFwXG5zb3VyY2U6IGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2JpZ2dsZXNyb2Nrcy9kNzUwOTE3MDBmOGYyYmU1YWJmZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tYXAtZGVlcC1nZXQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG5AYWNjZXNzIHB1YmxpY1xuQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXBcbkBwYXJhbSB7QXJnbGlzdH0gJGtleXMgLSBLZXkgY2hhaW5cbkByZXR1cm4geyp9IC0gRGVzaXJlZCB2YWx1ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tdWx0aS1jYXQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29uY2F0ZW5hdGUgdHdvIGxpc3RzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnJlbW92ZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZW1vdmUgYSB2YWx1ZSBmcm9tIGEgbGlzdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5zbWFydC1xdW90ZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5RdW90ZXMgc3RyaW5nc1xuSW5zcGVjdHMgYHB4YCwgYHhzYCwgYW5kIGB4bGAgbnVtYmVyc1xuTGVhdmVzIGJvb2xzIGFzIGlzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnN0ci1yZXBsYWNlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlcGxhY2UgYW55IHN1YnN0cmluZyB3aXRoIGFub3RoZXJcbnN0cmluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5zdHItc3BsaXQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU3BsaXQgYSBzdHJpbmcgYXQgYSBnaXZlbiBzZXBhcmF0b3JcbmFuZCBjb252ZXJ0IGludG8gYSBsaXN0IG9mIHN1YnN0cmluZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc3RyaXAtdW5pdCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZW1vdmUgdGhlIHVuaXQgb2YgYSBsZW5ndGhcbkBhdXRob3IgSHVnbyBHaXJhdWRlbFxuQHBhcmFtIHtOdW1iZXJ9ICRudW1iZXIgLSBOdW1iZXIgdG8gcmVtb3ZlIHVuaXQgZnJvbVxuQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5iYXNlLXRvLW1hcCgpXG5AVE9ETzogRGVwcmVjYXRlIGFuZCBkZWxldGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnQgYSBzaW5nbGUgYmFzZSB0byBhIFVTV0RTXG52YWx1ZSBtYXAuXG5cbkNhbmRpZGF0ZSBmb3IgZGVwcmVjYXRpb24gaWYgd2UgcmVtb3ZlXG5pc1JlYWRhYmxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnRvLW51bWJlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG5AcmV0dXJuIHtOdW1iZXJ9XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnVucGFjaygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DcmVhdGUgbGlzdHMgb2Ygc2luZ2xlIGl0ZW1zIGZyb20gbGlzdHNcbm9mIGxpc3RzLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKDEsICgyLjEsIDIuMiksIDMpIC0tPlxuKDEsIDIuMSwgMi4yLCAzKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5EZXJpdmUgYSBjb2xvciBmcm9tIGEgY29sb3Igc2hvcnRjb2RlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbG9yKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkRlcml2ZSBhIGNvbG9yIGZyb20gYSBjb2xvciBzaG9ydGNvZGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgY29sb3IgZnJvbSBhIGNvbG9yIHNob3J0Y29kZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5zZXQtdGhlbWUtY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgY29sb3IgZnJvbSBhIHN5c3RlbSBjb2xvciB0b2tlblxub3IgYSBoZXggdmFsdWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucHgtdG8tcmVtKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnRzIGEgdmFsdWUgaW4gcHggdG8gYSB2YWx1ZSBpbiByZW1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucmVtLXRvLXB4KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnRzIGEgdmFsdWUgaW4gcmVtIHRvIGEgdmFsdWUgaW4gcHhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucmVtLXRvLXVzZXItZW0oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29udmVydHMgYSB2YWx1ZSBpbiByZW0gdG8gYSB2YWx1ZSBpblxuW3VzZXItc2V0dGluZ3NdIGVtIGZvciB1c2UgaW4gbWVkaWFcbnF1ZXJpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc3BhY2luZy1tdWx0aXBsZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db252ZXJ0cyBhIHNwYWNpbmcgdW5pdCBtdWx0aXBsZSBpbnRvXG50aGUgZGVzaXJlZCBmaW5hbCB1bml0cyAoY3VycmVudGx5IHJlbSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudW5pdHMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29udmVydHMgYSBzcGFjaW5nIHVuaXQgaW50b1xudGhlIGRlc2lyZWQgZmluYWwgdW5pdHMgKGN1cnJlbnRseSByZW0pXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm51bWJlci10by10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db252ZXJ0cyBhbiBpbnRlZ2VyIG9yIG51bWVyaWMgdmFsdWVcbmludG8gYSBzeXN0ZW0gdmFsdWVcblxuRXg6IDAuNSAgIC0tPiAnMDUnXG4gICAgLTFweCAgLS0+ICduZWctMXB4J1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Qcm9qZWN0IGZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db2xsZWN0cyBmb250IHNldHRpbmdzIGluIGEgbWFwIGZvclxubG9vcGluZy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuTHVtaW5hbmNlIHJhbmdlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5ucygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BZGQgYSBuYW1lc3NwYWNlIG9mICR0eXBlIGlmIHRoYXRcbm5hbWVzcGFjZSBpcyBzZXQgdG8gb3V0cHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC1zeXN0ZW0tY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgc3lzdGVtIGNvbG9yIGZyb20gaXRzXG5mYW1pbHksIHZhbHVlLCBhbmQgdml2aWQgb3IgYSBwYXNzZWRcbnZhcmlhYmxlIHRoYXQgaXMsIGl0c2VsZiwgYSBsaXN0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkxpbmUgaGVpZ2h0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk1lYXN1cmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY2FwLWhlaWdodCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgdGhlIGNhcCBoZWlnaHQgb2YgYSB2YWxpZCB0eXBlZmFjZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG52YWxpZGF0ZS10eXBlZmFjZS10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DaGVjayB0byBzZWUgaWYgYSB0eXBlZmFjZS10b2tlbiBleGlzdHMuXG5UaHJvdyBhbiBlcnJvciBpZiBhIHBhc3NlZCB0b2tlbiBkb2VzXG5ub3QgZXhpc3QgaW4gdGhlIHR5cGVmYWNlLXRva2VuIG1hcC5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29udmVydC10by1mb250LXR5cGUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29udmVydHMgYSBmb250LXJvbGUgdG9rZW4gaW50byBhXG5mb250LXR5cGUgdG9rZW4uIExlYXZlcyBmb250LXR5cGUgdG9rZW5zXG51bmNoYW5nZWQuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZvbnQtc291cmNlcygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5PdXRwdXRzIGEgbGlzdCBvZiBmb250IHNvdXJjZXMgdXNlZCBpblxuYSBAZm9udC1mYWNlIGRlY2xhcmF0aW9uLlxuXG4kdGhlbWUtZm9udC1icm93c2VyLWNvbXBhdGliaWxpdHk6IHRydWUgLSBvdXRwdXQgd29mZjIsIHdvZmYsIHR0ZlxuJHRoZW1lLWZvbnQtYnJvd3Nlci1jb21wYXRpYmlsaXR5OiBmYWxzZSAtIG91dHB1dCB3b2ZmMlxuXG5AcGFyYW0gc3RlbTogc3RyaW5nIC0gW2ZvbnQgcGF0aF0vW2N1c3RvbS1zcmMuZGlyXS9bY3VzdG9tLXNyYy5bc3R5bGVdLlt3ZWlnaHRdXVxuQG91dHB1dDogc3RyaW5nXG5cbmZpbGV0eXBlcyBtdXN0IGJlIG9uZSBvZiB0aGUgZmlsZXR5cGVzIHNldCBpbiB2YXJpYWJsZXMvJHByb2plY3QtZm9udC1mYWNlLWZpbGV0eXBlcyAod29mZiwgd29mZjIsIHR0Zilcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZ2V0LWZvbnQtc3RhY2soKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgZm9udCBzdGFjayBmcm9tIGEgc3R5bGUtIG9yXG5yb2xlLWJhc2VkIGZvbnQgdG9rZW4uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC10eXBlZmFjZS10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSB0eXBlZmFjZSB0b2tlbiBmcm9tIGEgZm9udC10eXBlIG9yXG5mb250LXJvbGUgdG9rZW4uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm5vcm1hbGl6ZS10eXBlLXNjYWxlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk5vcm1hbGl6ZXMgYSBzcGVjaWZpYyBmYWNlJ3Mgb3B0aWNhbCBzaXplXG50byBhIHNldCB0YXJnZXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc3lzdGVtLXR5cGUtc2NhbGUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgdmFsdWUgZnJvbSB0aGUgc3lzdGVtIHR5cGUgc2NhbGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRWFzaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogIGRlcHJlY2F0ZWQuc2Nzc1xuICAgIC0tLVxuICAgIE9jY2FzaW9uYWxseSB0aGUgZGVzaWduIHN5c3RlbSB3aWxsIGRlcHJlY2F0ZVxuICAgIG9sZCB2YXJpYWJsZXMgb3IgZnVuY3Rpb25hbGl0eS4gSWYgd2UgcmVwbGFjZVxuICAgIHRoZSBvbGQgZnVuY3Rpb25hbGl0eSB3aXRoIHNvbWV0aGluZyBuZXcsIHRoaXMgaXMgYVxuICAgIHBsYWNlIHRvIGNvbm5lY3QgdGhlIG9sZCBmdW5jdGlvbmFsaXR5IHRvIHRoZVxuICAgIG5ldyBmdW5jdGlvbmFsaXR5LCBpbiB0aGUgc2VydmljZSBvZiBiZXR0ZXJcbiAgICBjb250aW51aXR5IGFuZCBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoaW4gYVxuICAgIG1ham9yIHJlbGVhc2UgY3ljbGUuXG5cbiAgICBOb3RlIHRoZSBVU1dEUyB2ZXJzaW9uIHdoZXJlIHdlIGRlcHJlY2F0ZWQgdGhlXG4gICAgb2xkIGZ1bmN0aW9uYWxpdHkgaW4gYSBjb21tZW50LlxuXG4gICAgQmUgc3VyZSB0byB1cGRhdGUgbm90aWZpY2F0aW9ucy5zY3NzLlxuXG4gICAgVGhpcyBmaWxlIHNob3VsZCBzdGFydGVkIGZyZXNoIGF0IGVhY2hcbiAgICBtYWpvciB2ZXJzaW9uLlxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5hZHZhbmNlZC1jb2xvcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5EZXJpdmUgYSBjb2xvciBmcm9tIGEgY29sb3IgdHJpcGxldDpcbltmYW1pbHldLCBbZ3JhZGVdLCBbdmFyaWFudF1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY2FsY3VsYXRlLWdyYWRlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkRlcml2ZSB0aGUgZ3JhZGUgZXF1aXZhbGVudCBhbnkgY29sb3IsXG5ldmVuIG5vbi10b2tlbiBjb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3ItdG9rZW4tYXNzaWdubWVudCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgdGhlIHN5c3RlbSB0b2tlbiBlcXVpdmFsZW50IG9mIGFueVxudGhlbWUgY29sb3IgdG9rZW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuaXMtc3lzdGVtLWNvbG9yLXRva2VuKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybiB3aGV0aGVyIGEgdG9rZW4gaXMgYSBzeXN0ZW1cbmNvbG9yIHRva2VuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmlzLXRoZW1lLWNvbG9yLXRva2VuKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybiB3aGV0aGVyIGEgdG9rZW4gaXMgYSB0aGVtZVxuY29sb3IgdG9rZW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3ItdG9rZW4tZmFtaWx5KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgdGhlIGZhbWlseSBvZiBhIGNvbG9yIHRva2VuLlxuUmV0dXJuczogY29sb3ItZmFtaWx5XG5jb2xvci10b2tlbi1mYW1pbHkoXCJhY2NlbnQtd2FybS12aXZpZFwiKVxuPiBcImFjY2VudC13YXJtXCJcbmNvbG9yLXRva2VuLWZhbWlseShcInJlZC01MHZcIilcbj4gXCJyZWRcIlxuY29sb3ItdG9rZW4tdmFyaWFudCgoXCJyZWRcIiwgNTAsIFwidml2aWRcIikpXG4+IFwicmVkXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZGVjb21wb3NlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnQgYSBjb2xvciB0b2tlbiBpbnRvIGludG8gYSBsaXN0XG5vZiBmb3JtIFtmYW1pbHldLCBbZ3JhZGVdLCBbdmFyaWFudF1cblZpdmlkIHZhcmlhbnRzIHJldHVybiBcInZpdmlkXCIgYXMgdGhlXG52YXJpYW50LlxuSWYgbmVpdGhlciBncmFkZSBub3IgdmFyaWFudCBleGlzdHMsXG5yZXR1cm5zICdudWxsJ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvci10b2tlbi1mYW1pbHkoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB0aGUgZmFtaWx5IG9mIGEgY29sb3IgdG9rZW4uXG5SZXR1cm5zOiBjb2xvci1mYW1pbHlcbmNvbG9yLXRva2VuLWZhbWlseShcImFjY2VudC13YXJtLXZpdmlkXCIpXG4+IFwiYWNjZW50LXdhcm1cIlxuY29sb3ItdG9rZW4tZmFtaWx5KFwicmVkLTUwdlwiKVxuPiBcInJlZFwiXG5jb2xvci10b2tlbi12YXJpYW50KChcInJlZFwiLCA1MCwgXCJ2aXZpZFwiKSlcbj4gXCJyZWRcIlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvci10b2tlbi1ncmFkZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSBncmFkZSBvZiBhIFVTV0RTIGNvbG9yIHRva2VuLlxuUmV0dXJuczogY29sb3ItZ3JhZGVcbmNvbG9yLXRva2VuLWdyYWRlKFwiYWNjZW50LXdhcm1cIilcbj4gXCJyb290XCJcbmNvbG9yLXRva2VuLWdyYWRlKFwiYWNjZW50LXdhcm0tdml2aWRcIilcbj4gXCJyb290XCJcbmNvbG9yLXRva2VuLWdyYWRlKFwiYWNjZW50LXdhcm0tZGFya2VyXCIpXG4+IFwiZGFya2VyXCJcbmNvbG9yLXRva2VuLWdyYWRlKFwicmVkLTUwdlwiKVxuPiA1MFxuY29sb3ItdG9rZW4tdmFyaWFudCgoXCJyZWRcIiwgNTAsIFwidml2aWRcIikpXG4+IDUwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbG9yLXRva2VuLWZhbWlseSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSBmYW1pbHkgb2YgYSBjb2xvciB0b2tlbi5cblJldHVybnM6IGNvbG9yLWZhbWlseVxuY29sb3ItdG9rZW4tZmFtaWx5KFwiYWNjZW50LXdhcm0tdml2aWRcIilcbj4gXCJhY2NlbnQtd2FybVwiXG5jb2xvci10b2tlbi1mYW1pbHkoXCJyZWQtNTB2XCIpXG4+IFwicmVkXCJcbmNvbG9yLXRva2VuLXZhcmlhbnQoKFwicmVkXCIsIDUwLCBcInZpdmlkXCIpKVxuPiBcInJlZFwiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmlzLWNvbG9yLXRva2VuKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgd2hldGhlciBhIGdpdmVuIHN0cmluZyBpcyBhXG5VU1dEUyBjb2xvciB0b2tlbi5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucG93KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJhaXNlcyBhIHVuaXRsZXNzIG51bWJlciB0byB0aGUgcG93ZXJcbm9mIGFub3RoZXIgdW5pdGxlc3MgbnVtYmVyXG5JbmNsdWRlcyBoZWxwZXIgZnVuY3Rpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkhlbHBlciBmdW5jdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKiBmYWN0b3JpYWwoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qIHN1bW1hdGlvbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogZXhwLW1hY2xhdXJpbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogbG4oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvci10b2tlbi10eXBlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgdGhlIHR5cGUgb2YgYSBjb2xvciB0b2tlbi5cblJldHVybnM6IFwic3lzdGVtXCIgfCBcInRoZW1lXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3ItdG9rZW4tdmFyaWFudCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSB2YXJpYW50IG9mIGNvbG9yIHRva2VuLlxuUmV0dXJuczogXCJ2aXZpZFwiIHwgZmFsc2VcbmNvbG9yLXRva2VuLXZhcmlhbnQoXCJhY2NlbnQtd2FybVwiKVxuPiBmYWxzZVxuY29sb3ItdG9rZW4tdmFyaWFudChcImFjY2VudC13YXJtLXZpdmlkXCIpXG4+IFwidml2aWRcIlxuY29sb3ItdG9rZW4tdmFyaWFudChcInJlZC01MHZcIilcbj4gXCJ2aXZpZFwiXG5jb2xvci10b2tlbi12YXJpYW50KChcInJlZFwiLCA1MCwgXCJ2aXZpZFwiKSlcbj4gXCJ2aXZpZFwiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm1hZ2ljLW51bWJlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSBtYWdpYyBudW1iZXIgb2YgdHdvIGNvbG9yXG5ncmFkZXMuIFRha2VzIG51bWJlcnMgb3IgY29sb3IgdG9rZW5zLlxubWFnaWMtbnVtYmVyKDUwLCAxMClcbnJldHVybjogNDBcbm1hZ2ljLW51bWJlcihcInJlZC01MFwiLCBcInJlZC0xMFwiKVxucmV0dXJuOiA0MFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5pcy1hY2Nlc3NpYmxlLW1hZ2ljLW51bWJlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHdoZXRoZXIgdHdvIGdyYWRlcyBhY2hpZXZlXG5zcGVjaWZpZWQgdGFyZ2V0IGNvbG9yIGNvbnRyYXN0XG5SZXR1cm5zOiB0cnVlIHwgZmFsc2VcbmlzLWFjY2Vzc2libGUtbWFnaWMtbnVtYmVyKDEwLCA1MCwgXCJBQVwiKVxuPiBmYWxzZVxuaXMtYWNjZXNzaWJsZS1tYWdpYy1udW1iZXIoMTAsIDYwLCBcIkFBXCIpXG4+IHRydWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxud2NhZy1tYWdpYy1udW1iZXIoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB0aGUgbWFnaWMgbnVtYmVyIG9mIGEgc3BlY2lmaWNcbndjYWcgZ3JhZGU6XG5cIkFBXCJcblwiQUEtTGFyZ2VcIlxuXCJBQUFcIlxud2NhZy1tYWdpYy1udW1iZXIoXCJBQVwiKVxuPiA1MFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtbGluay10b2tlbnMtZnJvbS1iZygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYWNjZXNzaWJsZSBsaW5rIGNvbG9ycyBmb3IgYSBnaXZlblxuYmFja2dyb3VuZCBjb2xvclxucmV0dXJuczogbGluay10b2tlbiwgaG92ZXItdG9rZW5cbmdldC1saW5rLXRva2Vucy1mcm9tLWJnKFxuICBcImJsYWNrXCIsXG4gIFwicmVkLTYwXCIsXG4gIFwicmVkLTEwXCIsXG4gIFwiQUFcIilcbj4gXCJyZWQtMTBcIiwgXCJyZWQtNVwiXG5nZXQtbGluay10b2tlbnMtZnJvbS1iZyhcbiAgXCJibGFja1wiLFxuICBcInJlZC02MHZcIixcbiAgXCJyZWQtMTB2XCIsXG4gIFwiQUEtbGFyZ2VcIilcbj4gXCJyZWQtNjB2XCIsIFwicmVkLTUwdlwiXG5nZXQtbGluay10b2tlbnMtZnJvbS1iZyhcbiAgXCJibGFja1wiLFxuICBcInJlZC01dlwiLFxuICBcInJlZC02MHZcIixcbiAgXCJBQVwiKVxuPiBcInJlZC01dlwiLCBcIndoaXRlXCJcbmdldC1saW5rLXRva2Vucy1mcm9tLWJnKFxuICBcImJsYWNrXCIsXG4gIFwid2hpdGVcIixcbiAgXCJyZWQtNjB2XCIsXG4gIFwiQUFcIilcbj4gXCJ3aGl0ZVwiLCBcIndoaXRlXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubmV4dC10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIG5leHQgXCJkYXJrZXJcIiBvciBcImxpZ2h0ZXJcIiBjb2xvclxudG9rZW4gb2YgdGhlIHNhbWUgdG9rZW4gdHlwZSBhbmQgdmFyaWFudC5cblJldHVybnM6IGNvbG9yLXRva2VuIHwgZmFsc2Vcbm5leHQtdG9rZW4oXCJhY2NlbnQtd2FybVwiLCBcImxpZ2h0ZXJcIilcbj4gXCJhY2NlbnQtd2FybS1saWdodFwiXG5uZXh0LXRva2VuKFwiZ3JheS0xMFwiLCBcImxpZ2h0ZXJcIilcbj4gXCJncmF5LTVcIlxubmV4dC10b2tlbihcImdyYXktNVwiLCBcImxpZ2h0ZXJcIilcbj4gXCJ3aGl0ZVwiXG5uZXh0LXRva2VuKFwid2hpdGVcIiwgXCJsaWdodGVyXCIpXG4+IGZhbHNlXG5uZXh0LXRva2VuKFwicmVkLTUwdlwiLCBcImRhcmtlclwiKVxuPiBcInJlZC02MHZcIlxubmV4dC10b2tlbihcInJlZC01MFwiLCBcImRhcmtlclwiKVxuPiBcInJlZC02MFwiXG5uZXh0LXRva2VuKFwicmVkLTgwdlwiLCBcImRhcmtlclwiKVxuPiBcInJlZC05MFwiXG5uZXh0LXRva2VuKFwicmVkLTkwXCIsIFwiZGFya2VyXCIpXG4+IFwiYmxhY2tcIlxubmV4dC10b2tlbihcIndoaXRlXCIsIFwiZGFya2VyXCIpXG4+IFwiZ3JheS01XCJcbm5leHQtdG9rZW4oXCJibGFja1wiLCBcImxpZ2h0ZXJcIilcbj4gXCJncmF5LTkwXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudGVzdC1jb2xvcnMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ2hlY2sgdG8gc2VlIGlmIGFsbCBzeXN0ZW0gY29sb3JzXG5mYWxsIGJldHdlZW4gdGhlIHByb3BlciByZWxhdGl2ZVxubHVtaW5hbmNlIHJhbmdlIGZvciB0aGVpciBncmFkZS5cbkhhcyBhIGNvdXBsZSBxdWlya3MsIGFzIHRoZSBsdW1pbmFuY2UoKVxuZnVuY3Rpb24gcmV0dXJucyBzbGlnaHRseSBkaWZmZXJlbnRcbnJlc3VsdHMgdGhhbiBleHBlY3RlZC5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sdW1ucygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5vdXRwdXRzIGEgZ3JpZC1jb2wgbnVtYmVyIGJhc2VkIG9uXG50aGUgbnVtYmVyIG9mIGRlc2lyZWQgY29sdW1ucyBpbiB0aGVcbjEyLWNvbHVtbiBncmlkXG5cbkV4OiBjb2x1bW5zKDIpIC0tPiA2XG4gICAgZ3JpZC1jb2woY29sdW1ucygyKSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVVNXRFMgUHJvcGVydGllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtdXN3ZHMtdmFsdWUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRmluZHMgYW5kIG91dHB1dHMgYSB2YWx1ZSBmcm9tIHRoZVxuVVNXRFMgc3RhbmRhcmQgdmFsdWVzLlxuXG5Vc2VkIHRvIGJ1aWxkIG90aGVyIHN0YW5kYXJkIHV0aWxpdHlcbmZ1bmN0aW9ucyBhbmQgbWl4aW5zLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtc3RhbmRhcmQtdmFsdWVzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldHMgYSBtYXAgb2YgVVNXRFMgc3RhbmRhcmQgdmFsdWVzXG5mb3IgYSBwcm9wZXJ0eVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5ib3JkZXItcmFkaXVzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIGJvcmRlci1yYWRpdXMgZnJvbSB0aGUgc3lzdGVtXG5ib3JkZXItcmFkaWlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZm9udC13ZWlnaHQoKVxuZncoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgZm9udC13ZWlnaHQgdmFsdWUgZnJvbSB0aGVcbnN5c3RlbSBmb250LXdlaWdodFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mZWF0dXJlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldHMgYSB2YWxpZCBVU1dEUyBmb250IGZlYXR1cmUgc2V0dGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mbGV4KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldHMgYSB2YWxpZCBVU1dEUyBmbGV4IHZhbHVlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZvbnQtZmFtaWx5KClcbmZhbWlseSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBmb250LWZhbWlseSBzdGFjayBmcm9tIGFcbnJvbGUtYmFzZWQgb3IgdHlwZS1iYXNlZCBmb250IGZhbWlseVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5sZXR0ZXItc3BhY2luZygpXG5scygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBsZXR0ZXItc3BhY2luZyB2YWx1ZSBmcm9tIHRoZVxuc3lzdGVtIGxldHRlci1zcGFjaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm1lYXN1cmUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0cyBhIHZhbGlkIFVTV0RTIHJlYWRpbmcgbGluZSBsZW5ndGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxub3BhY2l0eSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYW4gb3BhY2l0eSBmcm9tIHRoZSBzeXN0ZW1cbm9wYWNpdGllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5vcmRlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYW4gb3JkZXIgdmFsdWUgZnJvbSB0aGVcbnN5c3RlbSBvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucmFkaXVzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIGJvcmRlci1yYWRpdXMgdmFsdWUgZnJvbSB0aGVcbnN5c3RlbSBsZXR0ZXItc3BhY2luZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mb250LXNpemUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IHR5cGUgc2NhbGUgdmFsdWUgZnJvbSBhIFtmYW1pbHldIGFuZFxuW3NjYWxlXVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG56LWluZGV4KClcbnooKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgei1pbmRleCB2YWx1ZSBmcm9tIHRoZVxuc3lzdGVtIHotaW5kZXhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudXRpbGl0eS1mb250KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIG5vcm1hbGl6ZWQgZm9udC1zaXplIGluIHJlbSBmcm9tXG5hIGZhbWlseSBhbmQgYSB0eXBlIHNpemUgaW4gZWl0aGVyXG5zeXN0ZW0gc2NhbGUgb3IgcHJvamVjdCBzY2FsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuTm90IHRoZSBwdWJsaWMtZmFjaW5nIGZ1bmN0aW9uLlxuVXNlZCBmb3IgYnVpbGRpbmcgdGhlIHV0aWxpdGllcyBhbmRcbndpdGhob2xkcyBjZXJ0YWluIGVycm9ycy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZmFtaWx5KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIGZvbnQtZmFtaWx5IHN0YWNrXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnNpemUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgbm9ybWFsaXplZCBmb250LXNpemUgaW4gcmVtIGZyb21cbmEgZmFtaWx5IGFuZCBhIHR5cGUgc2l6ZSBpbiBlaXRoZXJcbnN5c3RlbSBzY2FsZSBvciBwcm9qZWN0IHNjYWxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZvbnQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgZm9udC1mYW1pbHkgc3RhY2tcbkFORFxuR2V0IGEgbm9ybWFsaXplZCBmb250LXNpemUgaW4gcmVtIGZyb21cbmEgZmFtaWx5IGFuZCBhIHR5cGUgc2l6ZSBpbiBlaXRoZXJcbnN5c3RlbSBzY2FsZSBvciBwcm9qZWN0IHNjYWxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnR5cGVzZXQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2V0czpcbi0gZmFtaWx5XG4tIHNpemVcbi0gbGluZS1oZWlnaHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBtYXgtbmVzdGluZy1kZXB0aCAqL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkByZW5kZXItcHNldWRvY2xhc3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkJ1aWxkIGEgcHNldWNvY2xhc3MgdXRpbGl5IGZyb20gdmFsdWVzXG5jYWxjdWxhdGVkIGluIHRoZSBAcmVuZGVyLXV0aWxpdGllcy1pblxubG9vcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AcmVuZGVyLXV0aWxpdHlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkJ1aWxkIGEgdXRpbGl0eSBmcm9tIHZhbHVlcyBjYWxjdWxhdGVkXG5pbiB0aGUgQHJlbmRlci11dGlsaXRpZXMtaW4gbG9vcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVE9ETzogRGV0ZXJtaW5lIHRoZSBwcm9wZXIgdXNlIG9mXG51bnF1b3RlKCkgaW4gdGhlIGZvbGxvd2luZy4gQ2hhbmdlZCB0b1xuYWNjb3VudCBmb3IgYSAnaW50ZXJwb2xhdGlvbiBuZWFyXG5vcGVyYXRvcnMgd2lsbCBiZSBzaW1wbGlmaWVkIGluIGFcbmZ1dHVyZSB2ZXJzaW9uIG9mIFNhc3MnIHdhcm5pbmcuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkByZW5kZXItdXRpbGl0aWVzLWluXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UaGUgbWFzdGVyIGxvb3AgdGhhdCBzZXRzIHRoZSBidWlsZGluZ1xuYmxvY2tzIG9mIHV0aWxpdGllcyBmcm9tIHRoZSB2YWx1ZXNcbmluIGluZGl2aWR1YWwgcnVsZSBzZXR0aW5ncyBhbmQgbG9vcHNcbnRocm91Z2ggYWxsIHBvc3NpYmxlIHZhcmlhbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogIG5vdGlmaWNhdGlvbnMuc2Nzc1xuICAgIC0tLVxuICAgIEFkZHMgYSBub3RpZmljYXRpb24gYXQgdGhlIHRvcCBvZiBlYWNoIFVTV0RTXG4gICAgY29tcGlsZS4gVXNlIHRoaXMgZmlsZSBmb3IgaW1wb3J0YW50IG5vdGlmaWNhdGlvbnNcbiAgICBhbmQgdXBkYXRlcyB0byB0aGUgZGVzaWduIHN5c3RlbS5cblxuICAgIFRoaXMgZmlsZSBzaG91bGQgc3RhcnRlZCBmcmVzaCBhdCBlYWNoXG4gICAgbWFqb3IgdmVyc2lvbi5cblxuKi9cbi8qIHByZXR0aWVyLWlnbm9yZSAqL1xuLyogcHJldHRpZXItaWdub3JlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLnVzYS1tZWRpYS1ibG9jayB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4udXNhLW1lZGlhLWJsb2NrX19pbWcge1xuICBmbGV4LXNocmluazogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG59XG5cbi51c2EtbWVkaWEtYmxvY2tfX2JvZHkge1xuICBmbGV4OiAxIDEgMCU7XG59XG5cbi51c2EtYmFubmVyIHtcbiAgZm9udC1mYW1pbHk6IFNvdXJjZSBTYW5zIFBybyBXZWIsIEhlbHZldGljYSBOZXVlLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS4wNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbn1cblxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudXNhLWJhbm5lciB7XG4gICAgZm9udC1zaXplOiAwLjg3cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwcmVtO1xuICB9XG59XG4udXNhLWJhbm5lciAudXNhLWFjY29yZGlvbiB7XG4gIGZvbnQtZmFtaWx5OiBTb3VyY2UgU2FucyBQcm8gV2ViLCBIZWx2ZXRpY2EgTmV1ZSwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuMDZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi51c2EtYmFubmVyIC5ncmlkLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnVzYS1iYW5uZXIgLmdyaWQtcm93LmdyaWQtZ2FwLWxnIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjc1cmVtO1xufVxuXG4udXNhLWJhbm5lciAuZ3JpZC1yb3cuZ3JpZC1nYXAtbGcgPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xufVxuXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC51c2EtYmFubmVyIC5ncmlkLXJvdyAudGFibGV0XFw6Z3JpZC1jb2wtNiB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuLnVzYS1iYW5uZXJfX2hlYWRlcixcbi51c2EtYmFubmVyX19jb250ZW50IHtcbiAgY29sb3I6IGdldC1zeXN0ZW0tY29sb3IoXCJncmF5XCIsIDkwKTtcbn1cblxuLnVzYS1iYW5uZXJfX2NvbnRlbnQge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDY0cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnVzYS1iYW5uZXJfX2NvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICB9XG59XG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC51c2EtYmFubmVyX19jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgfVxufVxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudXNhLWJhbm5lcl9fY29udGVudCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICB9XG59XG4udXNhLWJhbm5lcl9fY29udGVudCBwOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4udXNhLWJhbm5lcl9fZ3VpZGFuY2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgbWF4LXdpZHRoOiA2NGV4O1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbn1cblxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudXNhLWJhbm5lcl9fZ3VpZGFuY2Uge1xuICAgIHBhZGRpbmctdG9wOiAwcmVtO1xuICB9XG59XG4udXNhLWJhbm5lcl9fbG9jay1pbWFnZSB7XG4gIGhlaWdodDogMS41ZXg7XG4gIHdpZHRoOiAxLjIxODc1ZXg7XG59XG5cbi51c2EtYmFubmVyX19sb2NrLWltYWdlIHBhdGgge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gIC51c2EtYmFubmVyX19sb2NrLWltYWdlIHBhdGgge1xuICAgIGZpbGw6IENhbnZhc1RleHQ7XG4gIH1cbn1cbi51c2EtYmFubmVyX19pbm5lciB7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiA2NHJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwcmVtO1xufVxuXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC51c2EtYmFubmVyX19pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gIH1cbn1cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnVzYS1iYW5uZXJfX2lubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgfVxufVxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudXNhLWJhbm5lcl9faW5uZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbn1cbi51c2EtYmFubmVyX19oZWFkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWluLWhlaWdodDogM3JlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC51c2EtYmFubmVyX19oZWFkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtO1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cbn1cbi51c2EtYmFubmVyX19oZWFkZXItdGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4xO1xufVxuXG4udXNhLWJhbm5lcl9faGVhZGVyLWFjdGlvbiB7XG4gIGNvbG9yOiBnZXQtc3lzdGVtLWNvbG9yKFwiYmx1ZVwiLCA2MCwgXCJ2aXZpZFwiKTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgbWFyZ2luLXRvcDogMnB4O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnVzYS1iYW5uZXJfX2hlYWRlci1hY3Rpb246OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3VzYS1pY29ucy9leHBhbmRfbW9yZS5zdmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMXJlbSAxcmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMXJlbTtcbiAgd2lkdGg6IDFyZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5Ac3VwcG9ydHMgKG1hc2s6IHVybChcIlwiKSkge1xuICAudXNhLWJhbm5lcl9faGVhZGVyLWFjdGlvbjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ2V0LXN5c3RlbS1jb2xvcihcImJsdWVcIiwgNjAsIFwidml2aWRcIik7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiLi4vaW1nL3VzYS1pY29ucy9leHBhbmRfbW9yZS5zdmdcIiksIGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpO1xuICAgIG1hc2stcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBtYXNrLXNpemU6IDFyZW0gMXJlbTtcbiAgfVxuICAudXNhLWJhbm5lcl9faGVhZGVyLWFjdGlvbjo6YWZ0ZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdldC1zeXN0ZW0tY29sb3IoXCJibHVlLXdhcm1cIiwgNzAsIFwidml2aWRcIik7XG4gIH1cbn1cbi51c2EtYmFubmVyX19oZWFkZXItYWN0aW9uOmhvdmVyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtY29sb3I6IGdldC1zeXN0ZW0tY29sb3IoXCJibHVlLXdhcm1cIiwgNzAsIFwidml2aWRcIik7XG59XG5cbi51c2EtYmFubmVyX19oZWFkZXItYWN0aW9uOnZpc2l0ZWQge1xuICBjb2xvcjogZ2V0LXN5c3RlbS1jb2xvcihcInZpb2xldFwiLCA3MCwgXCJ2aXZpZFwiKTtcbn1cblxuLnVzYS1iYW5uZXJfX2hlYWRlci1hY3Rpb246aG92ZXIsIC51c2EtYmFubmVyX19oZWFkZXItYWN0aW9uOmFjdGl2ZSB7XG4gIGNvbG9yOiBnZXQtc3lzdGVtLWNvbG9yKFwiYmx1ZS13YXJtXCIsIDcwLCBcInZpdmlkXCIpO1xufVxuXG4udXNhLWJhbm5lcl9faGVhZGVyLS1leHBhbmRlZCAudXNhLWJhbm5lcl9faGVhZGVyLWFjdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnVzYS1iYW5uZXJfX2hlYWRlci1hY3Rpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gIC51c2EtYmFubmVyX19oZWFkZXItYWN0aW9uIHtcbiAgICBjb2xvcjogTGlua1RleHQ7XG4gIH1cbiAgLnVzYS1iYW5uZXJfX2hlYWRlci1hY3Rpb246OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBCdXR0b25UZXh0O1xuICB9XG59XG4udXNhLWJhbm5lcl9faGVhZGVyLWZsYWcge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIHdpZHRoOiAxcmVtO1xufVxuXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC51c2EtYmFubmVyX19oZWFkZXItZmxhZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy10b3A6IDByZW07XG4gIH1cbn1cbi51c2EtYmFubmVyX19oZWFkZXItLWV4cGFuZGVkIHtcbiAgcGFkZGluZy1yaWdodDogMy41cmVtO1xufVxuXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC51c2EtYmFubmVyX19oZWFkZXItLWV4cGFuZGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1pbi1oZWlnaHQ6IDByZW07XG4gICAgcGFkZGluZy1yaWdodDogMHJlbTtcbiAgfVxufVxuLnVzYS1iYW5uZXJfX2hlYWRlci0tZXhwYW5kZWQgLnVzYS1iYW5uZXJfX2lubmVyIHtcbiAgbWFyZ2luLWxlZnQ6IDByZW07XG59XG5cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnVzYS1iYW5uZXJfX2hlYWRlci0tZXhwYW5kZWQgLnVzYS1iYW5uZXJfX2lubmVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxufVxuLnVzYS1iYW5uZXJfX2hlYWRlci0tZXhwYW5kZWQgLnVzYS1iYW5uZXJfX2hlYWRlci1hY3Rpb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udXNhLWJhbm5lcl9fYnV0dG9uIHtcbiAgY29sb3I6IGdldC1zeXN0ZW0tY29sb3IoXCJibHVlXCIsIDYwLCBcInZpdmlkXCIpO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB0b3A6IDA7XG4gIGNvbG9yOiBnZXQtc3lzdGVtLWNvbG9yKFwiYmx1ZVwiLCA2MCwgXCJ2aXZpZFwiKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgY29sb3I6IGdldC1zeXN0ZW0tY29sb3IoXCJibHVlXCIsIDYwLCBcInZpdmlkXCIpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGhlaWdodDogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgcGFkZGluZy10b3A6IDByZW07XG4gIHBhZGRpbmctbGVmdDogMHJlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB3aWR0aDogYXV0bztcbn1cblxuLnVzYS1iYW5uZXJfX2J1dHRvbjp2aXNpdGVkIHtcbiAgY29sb3I6IGdldC1zeXN0ZW0tY29sb3IoXCJ2aW9sZXRcIiwgNzAsIFwidml2aWRcIik7XG59XG5cbi51c2EtYmFubmVyX19idXR0b246aG92ZXIge1xuICBjb2xvcjogZ2V0LXN5c3RlbS1jb2xvcihcImJsdWUtd2FybVwiLCA3MCwgXCJ2aXZpZFwiKTtcbn1cblxuLnVzYS1iYW5uZXJfX2J1dHRvbjphY3RpdmUge1xuICBjb2xvcjogZ2V0LXN5c3RlbS1jb2xvcihcImJsdWUtd2FybVwiLCA4MCwgXCJ2aXZpZFwiKTtcbn1cblxuLnVzYS1iYW5uZXJfX2J1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IDAuMjVyZW0gc29saWQgZ2V0LXN5c3RlbS1jb2xvcihcImJsdWVcIiwgNDAsIFwidml2aWRcIik7XG4gIG91dGxpbmUtb2Zmc2V0OiAwcmVtO1xufVxuXG4udXNhLWJhbm5lcl9fYnV0dG9uOmhvdmVyLCAudXNhLWJhbm5lcl9fYnV0dG9uLnVzYS1idXR0b24tLWhvdmVyLCAudXNhLWJhbm5lcl9fYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAudXNhLWJhbm5lcl9fYnV0dG9uW2FyaWEtZGlzYWJsZWQ9dHJ1ZV06aG92ZXIsIC51c2EtYmFubmVyX19idXR0b246ZGlzYWJsZWQudXNhLWJ1dHRvbi0taG92ZXIsIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1kaXNhYmxlZD10cnVlXS51c2EtYnV0dG9uLS1ob3ZlciwgLnVzYS1iYW5uZXJfX2J1dHRvbjphY3RpdmUsIC51c2EtYmFubmVyX19idXR0b24udXNhLWJ1dHRvbi0tYWN0aXZlLCAudXNhLWJhbm5lcl9fYnV0dG9uOmRpc2FibGVkOmFjdGl2ZSwgLnVzYS1iYW5uZXJfX2J1dHRvblthcmlhLWRpc2FibGVkPXRydWVdOmFjdGl2ZSwgLnVzYS1iYW5uZXJfX2J1dHRvbjpkaXNhYmxlZC51c2EtYnV0dG9uLS1hY3RpdmUsIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1kaXNhYmxlZD10cnVlXS51c2EtYnV0dG9uLS1hY3RpdmUsIC51c2EtYmFubmVyX19idXR0b246ZGlzYWJsZWQ6Zm9jdXMsIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1kaXNhYmxlZD10cnVlXTpmb2N1cywgLnVzYS1iYW5uZXJfX2J1dHRvbjpkaXNhYmxlZC51c2EtZm9jdXMsIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1kaXNhYmxlZD10cnVlXS51c2EtZm9jdXMsIC51c2EtYmFubmVyX19idXR0b246ZGlzYWJsZWQsIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1kaXNhYmxlZD10cnVlXSwgLnVzYS1iYW5uZXJfX2J1dHRvbi51c2EtYnV0dG9uLS1kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnVzYS1iYW5uZXJfX2J1dHRvbi51c2EtYnV0dG9uLS1ob3ZlciB7XG4gIGNvbG9yOiBnZXQtc3lzdGVtLWNvbG9yKFwiYmx1ZS13YXJtXCIsIDcwLCBcInZpdmlkXCIpO1xufVxuXG4udXNhLWJhbm5lcl9fYnV0dG9uLnVzYS1idXR0b24tLWFjdGl2ZSB7XG4gIGNvbG9yOiBnZXQtc3lzdGVtLWNvbG9yKFwiYmx1ZS13YXJtXCIsIDgwLCBcInZpdmlkXCIpO1xufVxuXG4udXNhLWJhbm5lcl9fYnV0dG9uOmRpc2FibGVkLCAudXNhLWJhbm5lcl9fYnV0dG9uW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0sIC51c2EtYmFubmVyX19idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1kaXNhYmxlZD10cnVlXTpob3ZlciwgLnVzYS1iYW5uZXJfX2J1dHRvblthcmlhLWRpc2FibGVkPXRydWVdOmZvY3VzIHtcbiAgY29sb3I6IGdldC1zeXN0ZW0tY29sb3IoXCJncmF5XCIsIDUwKTtcbn1cblxuQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgLnVzYS1iYW5uZXJfX2J1dHRvbjpkaXNhYmxlZCwgLnVzYS1iYW5uZXJfX2J1dHRvblthcmlhLWRpc2FibGVkPXRydWVdLCAudXNhLWJhbm5lcl9fYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAudXNhLWJhbm5lcl9fYnV0dG9uW2FyaWEtZGlzYWJsZWQ9dHJ1ZV06aG92ZXIsIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1kaXNhYmxlZD10cnVlXTpmb2N1cyB7XG4gICAgY29sb3I6IEdyYXlUZXh0O1xuICB9XG59XG4udXNhLWJhbm5lcl9fYnV0dG9uOnZpc2l0ZWQge1xuICBjb2xvcjogZ2V0LXN5c3RlbS1jb2xvcihcInZpb2xldFwiLCA3MCwgXCJ2aXZpZFwiKTtcbn1cblxuLnVzYS1iYW5uZXJfX2J1dHRvbjpob3ZlciwgLnVzYS1iYW5uZXJfX2J1dHRvbjphY3RpdmUge1xuICBjb2xvcjogZ2V0LXN5c3RlbS1jb2xvcihcImJsdWUtd2FybVwiLCA3MCwgXCJ2aXZpZFwiKTtcbn1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMzkuOTllbSkge1xuICAudXNhLWJhbm5lcl9fYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAudXNhLWJhbm5lcl9fYnV0dG9uOmVuYWJsZWQ6Zm9jdXMge1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMC4yNXJlbTtcbiAgfVxufVxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudXNhLWJhbm5lcl9fYnV0dG9uIHtcbiAgICBjb2xvcjogZ2V0LXN5c3RlbS1jb2xvcihcImJsdWVcIiwgNjAsIFwidml2aWRcIik7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgICB0b3A6IGF1dG87XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC51c2EtYmFubmVyX19idXR0b246OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvdXNhLWljb25zL2V4cGFuZF9tb3JlLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxcmVtIDFyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgfVxuICBAc3VwcG9ydHMgKG1hc2s6IHVybChcIlwiKSkge1xuICAgIC51c2EtYmFubmVyX19idXR0b246OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnZXQtc3lzdGVtLWNvbG9yKFwiYmx1ZVwiLCA2MCwgXCJ2aXZpZFwiKTtcbiAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uL2ltZy91c2EtaWNvbnMvZXhwYW5kX21vcmUuc3ZnXCIpLCBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50KTtcbiAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgbWFzay1zaXplOiAxcmVtIDFyZW07XG4gICAgfVxuICAgIC51c2EtYmFubmVyX19idXR0b246OmFmdGVyOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGdldC1zeXN0ZW0tY29sb3IoXCJibHVlLXdhcm1cIiwgNzAsIFwidml2aWRcIik7XG4gICAgfVxuICB9XG4gIC51c2EtYmFubmVyX19idXR0b246aG92ZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdldC1zeXN0ZW0tY29sb3IoXCJibHVlLXdhcm1cIiwgNzAsIFwidml2aWRcIik7XG4gIH1cbiAgLnVzYS1iYW5uZXJfX2J1dHRvbjp2aXNpdGVkIHtcbiAgICBjb2xvcjogZ2V0LXN5c3RlbS1jb2xvcihcInZpb2xldFwiLCA3MCwgXCJ2aXZpZFwiKTtcbiAgfVxuICAudXNhLWJhbm5lcl9fYnV0dG9uOmhvdmVyLCAudXNhLWJhbm5lcl9fYnV0dG9uOmFjdGl2ZSB7XG4gICAgY29sb3I6IGdldC1zeXN0ZW0tY29sb3IoXCJibHVlLXdhcm1cIiwgNzAsIFwidml2aWRcIik7XG4gIH1cbiAgLnVzYS1iYW5uZXJfX2J1dHRvbjo6YWZ0ZXIsIC51c2EtYmFubmVyX19idXR0b246aG92ZXI6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSBhbmQgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAudXNhLWJhbm5lcl9fYnV0dG9uOjphZnRlciwgLnVzYS1iYW5uZXJfX2J1dHRvbjpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEJ1dHRvblRleHQ7XG4gIH1cbn1cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnVzYS1iYW5uZXJfX2J1dHRvbjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG4udXNhLWJhbm5lcl9fYnV0dG9uW2FyaWEtZXhwYW5kZWQ9ZmFsc2VdLCAudXNhLWJhbm5lcl9fYnV0dG9uW2FyaWEtZXhwYW5kZWQ9ZmFsc2VdOmhvdmVyLCAudXNhLWJhbm5lcl9fYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0sIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1leHBhbmRlZD10cnVlXTpob3ZlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1leHBhbmRlZD1mYWxzZV06OmJlZm9yZSwgLnVzYS1iYW5uZXJfX2J1dHRvblthcmlhLWV4cGFuZGVkPWZhbHNlXTpob3Zlcjo6YmVmb3JlLCAudXNhLWJhbm5lcl9fYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV06OmJlZm9yZSwgLnVzYS1iYW5uZXJfX2J1dHRvblthcmlhLWV4cGFuZGVkPXRydWVdOmhvdmVyOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDM5Ljk5ZW0pIHtcbiAgLnVzYS1iYW5uZXJfX2J1dHRvblthcmlhLWV4cGFuZGVkPXRydWVdOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3VzYS1pY29ucy9jbG9zZS5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMS41cmVtIDEuNXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAzcmVtO1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW4tbGVmdDogMHJlbTtcbiAgfVxuICBAc3VwcG9ydHMgKG1hc2s6IHVybChcIlwiKSkge1xuICAgIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1leHBhbmRlZD10cnVlXTo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGdldC1zeXN0ZW0tY29sb3IoXCJibHVlXCIsIDYwLCBcInZpdmlkXCIpO1xuICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vaW1nL3VzYS1pY29ucy9jbG9zZS5zdmdcIiksIGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpO1xuICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBtYXNrLXNpemU6IDEuNXJlbSAxLjVyZW07XG4gICAgfVxuICB9XG4gIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1leHBhbmRlZD10cnVlXTo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ2V0LXN5c3RlbS1jb2xvcihcImdyYXktY29vbFwiLCAxMCk7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgd2lkdGg6IDNyZW07XG4gIH1cbiAgLnVzYS1iYW5uZXJfX2J1dHRvblthcmlhLWV4cGFuZGVkPXRydWVdOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICB0b3A6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICB9XG59XG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1leHBhbmRlZD10cnVlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDByZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1leHBhbmRlZD10cnVlXTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy91c2EtaWNvbnMvZXhwYW5kX2xlc3Muc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gMXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW4tbGVmdDogMnB4O1xuICB9XG4gIEBzdXBwb3J0cyAobWFzazogdXJsKFwiXCIpKSB7XG4gICAgLnVzYS1iYW5uZXJfX2J1dHRvblthcmlhLWV4cGFuZGVkPXRydWVdOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ2V0LXN5c3RlbS1jb2xvcihcImJsdWVcIiwgNjAsIFwidml2aWRcIik7XG4gICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi9pbWcvdXNhLWljb25zL2V4cGFuZF9sZXNzLnN2Z1wiKSwgbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudCk7XG4gICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIG1hc2stc2l6ZTogMXJlbSAxcmVtO1xuICAgIH1cbiAgICAudXNhLWJhbm5lcl9fYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV06OmFmdGVyOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGdldC1zeXN0ZW0tY29sb3IoXCJibHVlLXdhcm1cIiwgNzAsIFwidml2aWRcIik7XG4gICAgfVxuICB9XG4gIC51c2EtYmFubmVyX19idXR0b25bYXJpYS1leHBhbmRlZD10cnVlXTpob3Zlcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ2V0LXN5c3RlbS1jb2xvcihcImJsdWUtd2FybVwiLCA3MCwgXCJ2aXZpZFwiKTtcbiAgfVxuICAudXNhLWJhbm5lcl9fYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV06OmFmdGVyLCAudXNhLWJhbm5lcl9fYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV06aG92ZXI6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSBhbmQgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAudXNhLWJhbm5lcl9fYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV06OmFmdGVyLCAudXNhLWJhbm5lcl9fYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV06aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBCdXR0b25UZXh0O1xuICB9XG59XG4udXNhLWJhbm5lcl9fYnV0dG9uLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC05OTllbTtcbiAgcmlnaHQ6IGF1dG87XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC51c2EtYmFubmVyX19idXR0b24tdGV4dCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cbn1cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gIC51c2EtYmFubmVyX19idXR0b24tdGV4dCB7XG4gICAgY29sb3I6IExpbmtUZXh0O1xuICB9XG59XG4udXNhLWJhbm5lcl9faWNvbiB7XG4gIHdpZHRoOiAyLjVyZW07XG59XG5cbi51c2EtanMtbG9hZGluZyAudXNhLWJhbm5lcl9fY29udGVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTk5OWVtO1xuICByaWdodDogYXV0bztcbn1cblxuLyogVFlQT0dSQVBIWSAqL1xuLyogR29vZ2xlIEZvbnRzICovXG5oMSxcbi5oMSxcbmgyLFxuLmgyLFxuaDMsXG4uaDMsXG5oNCxcbi5oNCxcbnAge1xuICBjb2xvcjogIzA1MEQxNTtcbn1cblxuaDEsXG4uaDEge1xuICBmb250LWZhbWlseTogXCJGamFsbGEgT25lXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogNDhweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG5oMixcbi5oMiB7XG4gIGZvbnQtZmFtaWx5OiBcIkZqYWxsYSBPbmVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbmgzLFxuLmgzIHtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5oNCxcbi5oNCB7XG4gIGZvbnQtZmFtaWx5OiBcIkZqYWxsYSBPbmVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbmg1LFxuLmg1IHtcbiAgZm9udC1mYW1pbHk6IFwiRmphbGxhIE9uZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxucCB7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG59XG5wLmxhcmdlIHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG5idXR0b24sXG5hLmJ1dHRvbixcbmEubG9jay1pY29uLWJ1dHRvbixcbmEubG9jay1pY29uLWJ1dHRvbi13aGl0ZSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5jYXJkLWhlYWRpbmcge1xuICBmb250LWZhbWlseTogXCJGamFsbGEgT25lXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmJvbGQge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG5wID4gYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLm12LTAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ubXItOCB7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4ubWwtOCB7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG59XG5cbi5tci0xNiB7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbn1cblxuLm1sLTE2IHtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG59XG5cbi53cmFwcGVyIHtcbiAgbWFyZ2luOiBhdXRvO1xuICBtYXgtd2lkdGg6IDExNDBweDtcbiAgcmlnaHQ6IDA7XG59XG5cbi5ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1hdXRvLWNvbHVtbnM6IG1pbm1heCgxZnIsIGF1dG8pO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgW2NvbC1zdGFydF0gMWZyKTtcbiAgZ2FwOiAyNHB4O1xuICBncmlkLWF1dG8tcm93czogYXV0bztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uZ3JpZCAuY29sLTEsXG4uZ3JpZCAuY29sLTIsXG4uZ3JpZCAuY29sLTMsXG4uZ3JpZCAuY29sLTQsXG4uZ3JpZCAuY29sLTUsXG4uZ3JpZCAuY29sLTYsXG4uZ3JpZCAuY29sLTcsXG4uZ3JpZCAuY29sLTgsXG4uZ3JpZCAuY29sLTksXG4uZ3JpZCAuY29sLTEwLFxuLmdyaWQgLmNvbC0xMSxcbi5ncmlkIC5jb2wtMTIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMTtcbiAgd2lkdGg6IDEwMCU7XG59XG4uZ3JpZCAuY29sLTIge1xuICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMjtcbn1cbi5ncmlkIC5jb2wtMyB7XG4gIGdyaWQtY29sdW1uLWVuZDogc3BhbiAzO1xufVxuLmdyaWQgLmNvbC00IHtcbiAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDQ7XG59XG4uZ3JpZCAuY29sLTUge1xuICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gNTtcbn1cbi5ncmlkIC5jb2wtNiB7XG4gIGdyaWQtY29sdW1uLWVuZDogc3BhbiA2O1xufVxuLmdyaWQgLmNvbC03IHtcbiAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDc7XG59XG4uZ3JpZCAuY29sLTgge1xuICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gODtcbn1cbi5ncmlkIC5jb2wtOSB7XG4gIGdyaWQtY29sdW1uLWVuZDogc3BhbiA5O1xufVxuLmdyaWQgLmNvbC0xMCB7XG4gIGdyaWQtY29sdW1uLWVuZDogc3BhbiAxMDtcbn1cbi5ncmlkIC5jb2wtMTEge1xuICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMTE7XG59XG4uZ3JpZCAuY29sLTEyIHtcbiAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDEyO1xufVxuLmdyaWQgLmNvbC1zdGFydC0xIHtcbiAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDE7XG59XG4uZ3JpZCAuY29sLXN0YXJ0LTIge1xuICBncmlkLWNvbHVtbi1zdGFydDogMjtcbn1cbi5ncmlkIC5jb2wtc3RhcnQtMyB7XG4gIGdyaWQtY29sdW1uLXN0YXJ0OiAzO1xufVxuLmdyaWQgLmNvbC1zdGFydC00IHtcbiAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDQ7XG59XG4uZ3JpZCAuY29sLXN0YXJ0LTUge1xuICBncmlkLWNvbHVtbi1zdGFydDogNTtcbn1cbi5ncmlkIC5jb2wtc3RhcnQtNiB7XG4gIGdyaWQtY29sdW1uLXN0YXJ0OiA2O1xufVxuLmdyaWQgLmNvbC1zdGFydC03IHtcbiAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDc7XG59XG4uZ3JpZCAuY29sLXN0YXJ0LTgge1xuICBncmlkLWNvbHVtbi1zdGFydDogODtcbn1cbi5ncmlkIC5jb2wtc3RhcnQtOSB7XG4gIGdyaWQtY29sdW1uLXN0YXJ0OiA5O1xufVxuLmdyaWQgLmNvbC1zdGFydC0xMCB7XG4gIGdyaWQtY29sdW1uLXN0YXJ0OiAxMDtcbn1cbi5ncmlkIC5jb2wtc3RhcnQtMTEge1xuICBncmlkLWNvbHVtbi1zdGFydDogMTE7XG59XG4uZ3JpZCAuY29sLXN0YXJ0LTEyIHtcbiAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDEyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzg5cHgpIHtcbiAgLmdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICB9XG4gIC5ncmlkIC5jb2wtMSxcbiAgLmdyaWQgLmNvbC0yLFxuICAuZ3JpZCAuY29sLTMsXG4gIC5ncmlkIC5jb2wtNCxcbiAgLmdyaWQgLmNvbC01LFxuICAuZ3JpZCAuY29sLTYsXG4gIC5ncmlkIC5jb2wtNyxcbiAgLmdyaWQgLmNvbC04LFxuICAuZ3JpZCAuY29sLTksXG4gIC5ncmlkIC5jb2wtMTAsXG4gIC5ncmlkIC5jb2wtMTEsXG4gIC5ncmlkIC5jb2wtMTIsXG4gIC5ncmlkIC5jb2wge1xuICAgIGdyaWQtY29sdW1uOiBhdXRvO1xuICB9XG59XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubmF2IHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICM2MTYyNjU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLm5hdiA+IC5tZW51LWl0ZW0tLWFjdGl2ZS10cmFpbCA+IGEge1xuICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDBweCAwcHg7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMjA1ODhBO1xuICBiYWNrZ3JvdW5kOiAjRjRGQkZGO1xuICBjb2xvcjogIzIwNTg4QTtcbn1cbi5uYXYgPiAubWVudS1pdGVtLS1hY3RpdmUtdHJhaWwgPiBhOmhvdmVyIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwcHggMHB4O1xufVxuLm5hdiA+IC5tZW51LWl0ZW0tLWFjdGl2ZS10cmFpbCA+IGE6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IC13ZWJraXQtZm9jdXMtcmluZy1jb2xvciBhdXRvIDFweDtcbn1cbi5uYXYgLmxvZy1vdXQtaWNvbjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbG9nb3V0LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDIycHg7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjJweDtcbn1cblxuLm5hdi1pdGVtID4gYTpub3QoLmJ1dHRvbi1wcmltYXJ5LCAuYnV0dG9uLXNlY29uZGFyeSk6aG92ZXIge1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLUxpZ2h0LWJsdWUsICNGNEZCRkYpO1xufVxuXG4ubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJveC1zaGFkb3c6IDBweCAyMHB4IDQwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgcGFkZGluZzogMTBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDk5OTk5O1xufVxuLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1fc2VydmljZXNfaWNvbl0sXG4ubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9yb2FkbWFwX2ljb25dLFxuLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1fb3JnYW5pemF0aW9uX2ljb25dLFxuLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1fbGVhZGVyc2hpcF9pY29uXSxcbi5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X2RpdmVyc2l0eV9pY29uXSxcbi5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X2hlYWx0aF9pY29uXSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAxOHB4IDIwcHg7XG59XG4ubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9zZXJ2aWNlc19pY29uXSBhOjpiZWZvcmUsXG4ubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9yb2FkbWFwX2ljb25dIGE6OmJlZm9yZSxcbi5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X29yZ2FuaXphdGlvbl9pY29uXSBhOjpiZWZvcmUsXG4ubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9sZWFkZXJzaGlwX2ljb25dIGE6OmJlZm9yZSxcbi5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X2RpdmVyc2l0eV9pY29uXSBhOjpiZWZvcmUsXG4ubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9oZWFsdGhfaWNvbl0gYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiA0OHB4O1xuICBsZWZ0OiAxMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiA1NHB4O1xufVxuLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1fc2VydmljZXNfaWNvbl0gYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NlcnZpY2VzX2ljb24uc3ZnXCIpO1xufVxuLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1fcm9hZG1hcF9pY29uXSBhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcm9hZG1hcF9pY29uLnN2Z1wiKTtcbn1cbi5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X29yZ2FuaXphdGlvbl9pY29uXSBhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvb3JnYW5pemF0aW9uX2ljb24uc3ZnXCIpO1xufVxuLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1fbGVhZGVyc2hpcF9pY29uXSBhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbGVhZGVyc2hpcF9pY29uLnN2Z1wiKTtcbn1cbi5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X2RpdmVyc2l0eV9pY29uXSBhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZGl2ZXJzaXR5X2ljb24uc3ZnXCIpO1xufVxuLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1faGVhbHRoX2ljb25dIGE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9oZWFsdGhfaWNvbi5zdmdcIik7XG59XG4ubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaTpob3ZlciB7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tTGlnaHQtYmx1ZSwgI0Y0RkJGRik7XG59XG4ubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBhIHtcbiAgY29sb3I6ICMwNTBEMTU7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctbGVmdDogNTBweDtcbn1cbi5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGEgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgc3BhbiB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG59XG4ubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZDpob3ZlciAubWVudSwgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQ6Zm9jdXMtd2l0aGluIC5tZW51IHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLm5hdi1saW5rIHtcbiAgY29sb3I6ICM2MTYyNjU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5uYXZiYXItZXhwYW5kLWxnIHtcbiAgbWFyZ2luOiBhdXRvO1xuICBtYXgtd2lkdGg6IDExNDBweDtcbiAgcmlnaHQ6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLm5hdmJhci1icmFuZCB7XG4gIHdpZHRoOiAxMjZweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAubmF2IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nOiAxNnB4IDA7XG4gIH1cbiAgLm5hdiA+IC5tZW51LWl0ZW0tLWFjdGl2ZS10cmFpbCA+IGEge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBjb2xvcjogIzIwNTg4QTtcbiAgfVxuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLm5hdi1pdGVtID4gYTpob3ZlciB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1sZyB7XG4gICAgcGFkZGluZzogMCAxNnB4O1xuICB9XG4gIC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGEge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gIH1cbiAgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgYSBzcGFuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGE6aG92ZXIge1xuICAgIGNvbG9yOiAjMjA1ODhBO1xuICB9XG4gIC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X3NlcnZpY2VzX2ljb25dLFxuICAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9yb2FkbWFwX2ljb25dLFxuICAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9vcmdhbml6YXRpb25faWNvbl0sXG4gIC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X2xlYWRlcnNoaXBfaWNvbl0sXG4gIC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X2RpdmVyc2l0eV9pY29uXSxcbiAgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1faGVhbHRoX2ljb25dIHtcbiAgICBwYWRkaW5nOiAxNnB4IDA7XG4gIH1cbiAgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1fc2VydmljZXNfaWNvbl0gYTo6YmVmb3JlLFxuICAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9yb2FkbWFwX2ljb25dIGE6OmJlZm9yZSxcbiAgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1fb3JnYW5pemF0aW9uX2ljb25dIGE6OmJlZm9yZSxcbiAgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1fbGVhZGVyc2hpcF9pY29uXSBhOjpiZWZvcmUsXG4gIC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X2RpdmVyc2l0eV9pY29uXSBhOjpiZWZvcmUsXG4gIC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X2hlYWx0aF9pY29uXSBhOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGk6aG92ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc4OXB4KSB7XG4gIHVsID4gbGkubmF2LWl0ZW0uaGVhZGVyLW5hdi1hY3Rpb24taXRlbSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogMjRweDtcbiAgfVxufVxuXG4jYmxvY2stY3VzdG9tZXItcG9ydGFsLXRoZW1lLW1haW5tZW51LTIgPiB1bCA+IGxpLm5hdi1pdGVtLmhlYWRlci1uYXYtYWN0aW9uLWl0ZW0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubmF2YmFyLXRvZ2dsZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA1ODhBO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGhlaWdodDogMzhweDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDM4cHg7XG59XG5cbi5uYXZiYXItdG9nZ2xlci5jb2xsYXBzZWQgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbW9iaWxlX2ljb25zLnN2Z1wiKTtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4ubmF2YmFyLXRvZ2dsZXIgPiAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jbG9zZV9tb2JpbGVfaWNvbi5zdmdcIik7XG59XG5cbi5uYXZiYXItdG9nZ2xlciA+IC5uYXZiYXItdG9nZ2xlci1pY29uIC5uYXYsIC5uYXZiYXItY29sbGFwc2Uuc2hvdyAubmF2IHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5uYXZiYXItdG9nZ2xlciA+IC5uYXZiYXItdG9nZ2xlci1pY29uIC5uYXYgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQ6OmFmdGVyLCAubmF2YmFyLWNvbGxhcHNlLnNob3cgLm5hdiAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZHJvcF9kb3duX2Fycm93LnN2Z1wiKTtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiAyNHB4O1xuICBtYXJnaW4tdG9wOiAtMzBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMjBweDtcbiAgd2lkdGg6IDI0cHg7XG59XG4ubmF2YmFyLXRvZ2dsZXIgPiAubmF2YmFyLXRvZ2dsZXItaWNvbiAubmF2IC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51LCAubmF2YmFyLWNvbGxhcHNlLnNob3cgLm5hdiAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAubmF2YmFyLXRvZ2dsZXIgPiAubmF2YmFyLXRvZ2dsZXItaWNvbiAubmF2IC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkOjphZnRlciwgLm5hdmJhci1jb2xsYXBzZS5zaG93IC5uYXYgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5uYXZiYXItdG9nZ2xlciA+IC5uYXZiYXItdG9nZ2xlci1pY29uIC5uYXYgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUsIC5uYXZiYXItY29sbGFwc2Uuc2hvdyAubmF2IC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gIH1cbn1cbi5zaXRlLWZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICMwNTBEMTUgIWltcG9ydGFudDtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCxcbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1zZWNvbmQsXG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItdGhpcmQge1xuICBtYXJnaW46IGF1dG87XG4gIG1heC13aWR0aDogMTE0MHB4O1xuICByaWdodDogMDtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCAuZm9vdGVyLXdyYXBwZXIsXG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItc2Vjb25kIC5mb290ZXItd3JhcHBlcixcbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci10aGlyZCAuZm9vdGVyLXdyYXBwZXIge1xuICBtYXgtd2lkdGg6IDEwMjZweDtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCB7XG4gIHBhZGRpbmc6IDYwcHggMCAwIDA7XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3QgbmF2IC5uYXYge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgcGFkZGluZzogMCAwIDFyZW07XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3QgbmF2IC5uYXYgLm5hdi1saW5rLmJ1dHRvbi1wcmltYXJ5LmJ1dHRvbi1wcmltYXJ5LS1sb2dpbiwgLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IG5hdiAubmF2IC5sb2ctb3V0LWljb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IG5hdiBsaSB7XG4gIHdpZHRoOiAxNTBweDtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCBuYXYgLm5hdi1saW5rIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgcGFkZGluZzogMTBweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IG5hdiAubmF2LWxpbms6aG92ZXIge1xuICBjb2xvcjogIzQ4QTRCNjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3QgbmF2IC5uYXYtbGluazp2aXNpdGVkIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3QgbmF2IC5uYXYtbGluazpmb2N1cy12aXNpYmxlLCAuc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3QgbmF2IC5uYXYtbGluazpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMjVyZW0gI0ZGRkZGRjtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCBuYXYgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMjBweCA0MHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICBib3gtc2hhZG93OiBub25lO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCBuYXYgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgYSB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCBuYXYgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgc3BhbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3QgbmF2IC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X3NlcnZpY2VzX2ljb25dLFxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IG5hdiAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9yb2FkbWFwX2ljb25dLFxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IG5hdiAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9vcmdhbml6YXRpb25faWNvbl0sXG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3QgbmF2IC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X2xlYWRlcnNoaXBfaWNvbl0sXG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3QgbmF2IC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X2RpdmVyc2l0eV9pY29uXSxcbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCBuYXYgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1faGVhbHRoX2ljb25dIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IG5hdiAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9zZXJ2aWNlc19pY29uXTo6YmVmb3JlLFxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IG5hdiAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9yb2FkbWFwX2ljb25dOjpiZWZvcmUsXG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3QgbmF2IC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X29yZ2FuaXphdGlvbl9pY29uXTo6YmVmb3JlLFxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IG5hdiAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9sZWFkZXJzaGlwX2ljb25dOjpiZWZvcmUsXG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3QgbmF2IC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X2RpdmVyc2l0eV9pY29uXTo6YmVmb3JlLFxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IG5hdiAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9oZWFsdGhfaWNvbl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCBuYXYgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1fc2VydmljZXNfaWNvbl06aG92ZXIgYSxcbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCBuYXYgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1fcm9hZG1hcF9pY29uXTpob3ZlciBhLFxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IG5hdiAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9vcmdhbml6YXRpb25faWNvbl06aG92ZXIgYSxcbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCBuYXYgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1fbGVhZGVyc2hpcF9pY29uXTpob3ZlciBhLFxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IG5hdiAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9kaXZlcnNpdHlfaWNvbl06aG92ZXIgYSxcbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCBuYXYgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1faGVhbHRoX2ljb25dOmhvdmVyIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM0OEE0QjY7XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3QgbmF2IC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X3NlcnZpY2VzX2ljb25dIGE6OmJlZm9yZSxcbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCBuYXYgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGlbaWNvbj1fcm9hZG1hcF9pY29uXSBhOjpiZWZvcmUsXG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3QgbmF2IC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X29yZ2FuaXphdGlvbl9pY29uXSBhOjpiZWZvcmUsXG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3QgbmF2IC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpW2ljb249X2xlYWRlcnNoaXBfaWNvbl0gYTo6YmVmb3JlLFxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IG5hdiAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9kaXZlcnNpdHlfaWNvbl0gYTo6YmVmb3JlLFxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IG5hdiAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSBsaVtpY29uPV9oZWFsdGhfaWNvbl0gYTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1maXJzdCAubmF2ID4gLm1lbnUtaXRlbS0tYWN0aXZlLXRyYWlsID4gYSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiAjOTA5MTkzO1xufVxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLXNlY29uZCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNjE2MjY1O1xuICBwYWRkaW5nOiA0MHB4IDA7XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItc2Vjb25kIC5uYXYge1xuICBjb2x1bW4tZ2FwOiAyMHB4O1xuICBwYWRkaW5nOiAwO1xufVxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLXNlY29uZCAubmF2IGxpIGEge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItc2Vjb25kIC5uYXYgbGkge1xuICBwYWRkaW5nOiAwO1xufVxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLXNlY29uZCAuYmxvY2stY29udGVudC1mb290ZXJfbGlua3Mge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLXNlY29uZCAuYmxvY2stY29udGVudC1mb290ZXJfbGlua3MgLmZpZWxkLS1uYW1lLWZpZWxkLWZvb3Rlci1jb250ZW50IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1zZWNvbmQgLmJsb2NrLWNvbnRlbnQtZm9vdGVyX2xpbmtzIC5maWVsZC0tbmFtZS1maWVsZC1mb290ZXItY29udGVudCAuZmllbGRfX2l0ZW06Zmlyc3Qtb2YtdHlwZSAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLXRpdGxlOjpiZWZvcmUsIC5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1zZWNvbmQgLmJsb2NrLWNvbnRlbnQtZm9vdGVyX2xpbmtzIC5maWVsZC0tbmFtZS1maWVsZC1mb290ZXItY29udGVudCAuZmllbGRfX2l0ZW06bnRoLW9mLXR5cGUoMikgLmZpZWxkLS1uYW1lLWZpZWxkLWZvb3Rlci10aXRsZTo6YmVmb3JlLCAuc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItc2Vjb25kIC5ibG9jay1jb250ZW50LWZvb3Rlcl9saW5rcyAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLWNvbnRlbnQgLmZpZWxkX19pdGVtOm50aC1vZi10eXBlKDMpIC5maWVsZC0tbmFtZS1maWVsZC1mb290ZXItdGl0bGU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9sYXB0b3Auc3ZnXCIpO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDE4cHg7XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItc2Vjb25kIC5ibG9jay1jb250ZW50LWZvb3Rlcl9saW5rcyAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLWNvbnRlbnQgLmZpZWxkX19pdGVtOm50aC1vZi10eXBlKDIpIC5maWVsZC0tbmFtZS1maWVsZC1mb290ZXItdGl0bGU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9waG9uZS5zdmdcIik7XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItc2Vjb25kIC5ibG9jay1jb250ZW50LWZvb3Rlcl9saW5rcyAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLWNvbnRlbnQgLmZpZWxkX19pdGVtOm50aC1vZi10eXBlKDMpIC5maWVsZC0tbmFtZS1maWVsZC1mb290ZXItdGl0bGU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9sb2NhdGlvbi5zdmdcIik7XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItc2Vjb25kIC5ibG9jay1jb250ZW50LWZvb3Rlcl9saW5rcyAucGFyYWdyYXBoLS10eXBlLS1mb290ZXItbGlua3MgLmZpZWxkLS1uYW1lLWZpZWxkLWZvb3Rlci1kZXNjcmlwdGlvbiBwLFxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLXNlY29uZCAuYmxvY2stY29udGVudC1mb290ZXJfbGlua3MgLnBhcmFncmFwaC0tdHlwZS0tZm9vdGVyLWxpbmtzIC5maWVsZC0tbmFtZS1maWVsZC1mb290ZXItdGl0bGUge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1zZWNvbmQgLmJsb2NrLWNvbnRlbnQtZm9vdGVyX2xpbmtzIC5wYXJhZ3JhcGgtLXR5cGUtLWZvb3Rlci1saW5rcyAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLXNlY29uZCAuYmxvY2stY29udGVudC1mb290ZXJfbGlua3MgLnBhcmFncmFwaC0tdHlwZS0tZm9vdGVyLWxpbmtzIC5maWVsZC0tbmFtZS1maWVsZC1mb290ZXItbGluayBhOm5vdCgub3V0bGluZS1pY29uLWJ0bi13aGl0ZSkge1xuICBib3JkZXItcmFkaXVzOiBpbml0aWFsO1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDZweCA0cHg7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0ZGRkZGRjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1zZWNvbmQgLmJsb2NrLWNvbnRlbnQtZm9vdGVyX2xpbmtzIC5wYXJhZ3JhcGgtLXR5cGUtLWZvb3Rlci1saW5rcyAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLWxpbmsgYTpub3QoLm91dGxpbmUtaWNvbi1idG4td2hpdGUpOjphZnRlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItc2Vjb25kIC5ibG9jay1jb250ZW50LWZvb3Rlcl9saW5rcyAucGFyYWdyYXBoLS10eXBlLS1mb290ZXItbGlua3MgLmZpZWxkLS1uYW1lLWZpZWxkLWZvb3Rlci1saW5rIGE6bm90KC5vdXRsaW5lLWljb24tYnRuLXdoaXRlKTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvb3Blbi1ncmF5LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICB3aWR0aDogMThweDtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1zZWNvbmQgLmJsb2NrLWNvbnRlbnQtZm9vdGVyX2xpbmtzIC5wYXJhZ3JhcGgtLXR5cGUtLWZvb3Rlci1saW5rcyAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLWxpbmsgYTpub3QoLm91dGxpbmUtaWNvbi1idG4td2hpdGUpOjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItc2Vjb25kIC5ibG9jay1jb250ZW50LWZvb3Rlcl9saW5rcyAucGFyYWdyYXBoLS10eXBlLS1mb290ZXItbGlua3MgLmZpZWxkLS1uYW1lLWZpZWxkLWZvb3Rlci1saW5rIGE6bm90KC5vdXRsaW5lLWljb24tYnRuLXdoaXRlKTpob3ZlciB7XG4gIGNvbG9yOiAjNDhBNEI2O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzQ4QTRCNjtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1zZWNvbmQgLmJsb2NrLWNvbnRlbnQtZm9vdGVyX2xpbmtzIC5wYXJhZ3JhcGgtLXR5cGUtLWZvb3Rlci1saW5rcyAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLWxpbmsgYTpub3QoLm91dGxpbmUtaWNvbi1idG4td2hpdGUpOmhvdmVyOjphZnRlciB7XG4gIGZpbHRlcjogaW52ZXJ0KDU1JSkgc2VwaWEoMTAlKSBzYXR1cmF0ZSgyMDUyJSkgaHVlLXJvdGF0ZSgxNDJkZWcpIGJyaWdodG5lc3MoMTAyJSkgY29udHJhc3QoOTElKTtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1zZWNvbmQgLmJsb2NrLWNvbnRlbnQtZm9vdGVyX2xpbmtzIC5wYXJhZ3JhcGgtLXR5cGUtLWZvb3Rlci1saW5rcyAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLWxpbmsgYTpub3QoLm91dGxpbmUtaWNvbi1idG4td2hpdGUpOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci1zZWNvbmQgLmJsb2NrLWNvbnRlbnQtZm9vdGVyX2xpbmtzIC5wYXJhZ3JhcGgtLXR5cGUtLWZvb3Rlci1saW5rcyAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLWxpbmsgYTpub3QoLm91dGxpbmUtaWNvbi1idG4td2hpdGUpOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNGRkZGRkY7XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItc2Vjb25kIC5ibG9jay1jb250ZW50LWZvb3Rlcl9saW5rcyAucGFyYWdyYXBoLS10eXBlLS1mb290ZXItbGlua3MgLmZpZWxkLS1uYW1lLWZpZWxkLWZvb3Rlci1kZXNjcmlwdGlvbiBwIHtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLXNlY29uZCAuYmxvY2stY29udGVudC1iYXNpYyAuZmllbGQtLW5hbWUtYm9keSBwIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci10aGlyZCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNjE2MjY1O1xuICBwYWRkaW5nOiA0MHB4IDAgNjBweCAwO1xufVxuLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLXRoaXJkIC5uYXYge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci10aGlyZCAubmF2IGEge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci10aGlyZCAubmF2IGE6aG92ZXIge1xuICBjb2xvcjogIzQ4QTRCNjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItdGhpcmQgLm5hdi1saW5rOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSAjRkZGRkZGO1xufVxuLnNpdGUtZm9vdGVyIC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IGxpOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbiNibG9jay1jdXN0b21lci1wb3J0YWwtdGhlbWUtbWFpbm1lbnUtMiA+IHVsID4gbGlbaWNvbj1fc2VydmljZXNfaWNvbl06OmJlZm9yZSxcbiNibG9jay1jdXN0b21lci1wb3J0YWwtdGhlbWUtbWFpbm1lbnUtMiA+IHVsID4gbGlbaWNvbj1fc3VwcG9ydF9pY29uXTo6YmVmb3JlLFxuI2Jsb2NrLWN1c3RvbWVyLXBvcnRhbC10aGVtZS1tYWlubWVudS0yID4gdWwgPiBsaVtpY29uPV9hYm91dF9pY29uXTo6YmVmb3JlLFxuI2Jsb2NrLWN1c3RvbWVyLXBvcnRhbC10aGVtZS1tYWlubWVudS0yID4gdWwgPiBsaVtpY29uPV9jb25uZWN0X2ljb25dOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIHdpZHRoOiA1NHB4O1xufVxuI2Jsb2NrLWN1c3RvbWVyLXBvcnRhbC10aGVtZS1tYWlubWVudS0yID4gdWwgPiBsaVtpY29uPV9zZXJ2aWNlc19pY29uXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NlcnZpY2VzX2ljb24uc3ZnXCIpO1xufVxuI2Jsb2NrLWN1c3RvbWVyLXBvcnRhbC10aGVtZS1tYWlubWVudS0yID4gdWwgPiBsaVtpY29uPV9zdXBwb3J0X2ljb25dOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3VwcG9ydC5zdmdcIik7XG59XG4jYmxvY2stY3VzdG9tZXItcG9ydGFsLXRoZW1lLW1haW5tZW51LTIgPiB1bCA+IGxpW2ljb249X2Fib3V0X2ljb25dOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcGVvcGxlLnN2Z1wiKTtcbn1cbiNibG9jay1jdXN0b21lci1wb3J0YWwtdGhlbWUtbWFpbm1lbnUtMiA+IHVsID4gbGlbaWNvbj1fY29ubmVjdF9pY29uXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Nvbm5lY3Quc3ZnXCIpO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5zaXRlLWZvb3RlciB7XG4gICAgcGFkZGluZzogMTZweDtcbiAgfVxuICAuc2l0ZS1mb290ZXIgLnJlZ2lvbi1mb290ZXItZmlyc3Qge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLWZpcnN0IC5uYXYge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLnNpdGUtZm9vdGVyIC5yZWdpb24tZm9vdGVyLXNlY29uZCAuYmxvY2stY29udGVudC1mb290ZXJfbGlua3MgLmZpZWxkLS1uYW1lLWZpZWxkLWZvb3Rlci1jb250ZW50IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICByb3ctZ2FwOiA0MHB4O1xuICB9XG4gIC5zaXRlLWZvb3RlciAucmVnaW9uLWZvb3Rlci10aGlyZCAubmF2IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbn1cbi5wcmltYXJ5LWJ1dHRvbixcbi5idXR0b24tcHJpbWFyeSB7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1jb2xvcjogIzIwNTg4QTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwNTg4QTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4ucHJpbWFyeS1idXR0b246ZGlzYWJsZWQsXG4uYnV0dG9uLXByaW1hcnk6ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnByaW1hcnktYnV0dG9uOmZvY3VzLFxuLmJ1dHRvbi1wcmltYXJ5OmZvY3VzIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cbi5wcmltYXJ5LWJ1dHRvbjpob3Zlcixcbi5idXR0b24tcHJpbWFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMzM1NTM7XG4gIGJvcmRlci1jb2xvcjogIzEzMzU1MztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4ucHJpbWFyeS1idXR0b246Zm9jdXMsXG4uYnV0dG9uLXByaW1hcnk6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICMwNTBEMTU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnByaW1hcnktYnV0dG9uOjpiZWZvcmUsIC5wcmltYXJ5LWJ1dHRvbjo6YWZ0ZXIsXG4uYnV0dG9uLXByaW1hcnk6OmJlZm9yZSxcbi5idXR0b24tcHJpbWFyeTo6YWZ0ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpO1xufVxuLnByaW1hcnktYnV0dG9uOmhvdmVyOjpiZWZvcmUsIC5wcmltYXJ5LWJ1dHRvbjpob3Zlcjo6YWZ0ZXIsIC5wcmltYXJ5LWJ1dHRvbjpmb2N1czo6YmVmb3JlLCAucHJpbWFyeS1idXR0b246Zm9jdXM6OmFmdGVyLFxuLmJ1dHRvbi1wcmltYXJ5OmhvdmVyOjpiZWZvcmUsXG4uYnV0dG9uLXByaW1hcnk6aG92ZXI6OmFmdGVyLFxuLmJ1dHRvbi1wcmltYXJ5OmZvY3VzOjpiZWZvcmUsXG4uYnV0dG9uLXByaW1hcnk6Zm9jdXM6OmFmdGVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbn1cbi5wcmltYXJ5LWJ1dHRvbjpob3Zlcjo6YmVmb3JlLCAucHJpbWFyeS1idXR0b246aG92ZXI6OmFmdGVyLCAucHJpbWFyeS1idXR0b246YWN0aXZlOjpiZWZvcmUsIC5wcmltYXJ5LWJ1dHRvbjphY3RpdmU6OmFmdGVyLCAucHJpbWFyeS1idXR0b246Zm9jdXM6OmJlZm9yZSwgLnByaW1hcnktYnV0dG9uOmZvY3VzOjphZnRlcixcbi5idXR0b24tcHJpbWFyeTpob3Zlcjo6YmVmb3JlLFxuLmJ1dHRvbi1wcmltYXJ5OmhvdmVyOjphZnRlcixcbi5idXR0b24tcHJpbWFyeTphY3RpdmU6OmJlZm9yZSxcbi5idXR0b24tcHJpbWFyeTphY3RpdmU6OmFmdGVyLFxuLmJ1dHRvbi1wcmltYXJ5OmZvY3VzOjpiZWZvcmUsXG4uYnV0dG9uLXByaW1hcnk6Zm9jdXM6OmFmdGVyIHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4uYnV0dG9uLXByaW1hcnktLWFycm93IHtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLWNvbG9yOiAjMjA1ODhBO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA1ODhBO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5idXR0b24tcHJpbWFyeS0tYXJyb3c6ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmJ1dHRvbi1wcmltYXJ5LS1hcnJvdzpmb2N1cyB7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG4uYnV0dG9uLXByaW1hcnktLWFycm93OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzMzU1MztcbiAgYm9yZGVyLWNvbG9yOiAjMTMzNTUzO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5idXR0b24tcHJpbWFyeS0tYXJyb3c6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICMwNTBEMTU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLmJ1dHRvbi1wcmltYXJ5LS1hcnJvdzo6YmVmb3JlLCAuYnV0dG9uLXByaW1hcnktLWFycm93OjphZnRlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG59XG4uYnV0dG9uLXByaW1hcnktLWFycm93OmhvdmVyOjpiZWZvcmUsIC5idXR0b24tcHJpbWFyeS0tYXJyb3c6aG92ZXI6OmFmdGVyLCAuYnV0dG9uLXByaW1hcnktLWFycm93OmZvY3VzOjpiZWZvcmUsIC5idXR0b24tcHJpbWFyeS0tYXJyb3c6Zm9jdXM6OmFmdGVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbn1cbi5idXR0b24tcHJpbWFyeS0tYXJyb3c6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Fycm93LWZvcndhcmQuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmlsbDogY3VycmVudENvbG9yO1xuICBoZWlnaHQ6IDE4cHg7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gIHdpZHRoOiAxOHB4O1xufVxuLmJ1dHRvbi1wcmltYXJ5LS1hcnJvdzpob3Zlcjo6YmVmb3JlLCAuYnV0dG9uLXByaW1hcnktLWFycm93OmhvdmVyOjphZnRlciwgLmJ1dHRvbi1wcmltYXJ5LS1hcnJvdzphY3RpdmU6OmJlZm9yZSwgLmJ1dHRvbi1wcmltYXJ5LS1hcnJvdzphY3RpdmU6OmFmdGVyLCAuYnV0dG9uLXByaW1hcnktLWFycm93OmZvY3VzOjpiZWZvcmUsIC5idXR0b24tcHJpbWFyeS0tYXJyb3c6Zm9jdXM6OmFmdGVyIHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4uYnV0dG9uLXByaW1hcnktLWRvd25sb2FkIHtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLWNvbG9yOiAjMjA1ODhBO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA1ODhBO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5idXR0b24tcHJpbWFyeS0tZG93bmxvYWQ6ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmJ1dHRvbi1wcmltYXJ5LS1kb3dubG9hZDpmb2N1cyB7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG4uYnV0dG9uLXByaW1hcnktLWRvd25sb2FkOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzMzU1MztcbiAgYm9yZGVyLWNvbG9yOiAjMTMzNTUzO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5idXR0b24tcHJpbWFyeS0tZG93bmxvYWQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICMwNTBEMTU7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLmJ1dHRvbi1wcmltYXJ5LS1kb3dubG9hZDo6YmVmb3JlLCAuYnV0dG9uLXByaW1hcnktLWRvd25sb2FkOjphZnRlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG59XG4uYnV0dG9uLXByaW1hcnktLWRvd25sb2FkOmhvdmVyOjpiZWZvcmUsIC5idXR0b24tcHJpbWFyeS0tZG93bmxvYWQ6aG92ZXI6OmFmdGVyLCAuYnV0dG9uLXByaW1hcnktLWRvd25sb2FkOmZvY3VzOjpiZWZvcmUsIC5idXR0b24tcHJpbWFyeS0tZG93bmxvYWQ6Zm9jdXM6OmFmdGVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbn1cbi5idXR0b24tcHJpbWFyeS0tZG93bmxvYWQ6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Rvd25sb2FkLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICB3aWR0aDogMThweDtcbn1cbi5idXR0b24tcHJpbWFyeS0tZG93bmxvYWQ6aG92ZXI6OmJlZm9yZSwgLmJ1dHRvbi1wcmltYXJ5LS1kb3dubG9hZDpob3Zlcjo6YWZ0ZXIsIC5idXR0b24tcHJpbWFyeS0tZG93bmxvYWQ6YWN0aXZlOjpiZWZvcmUsIC5idXR0b24tcHJpbWFyeS0tZG93bmxvYWQ6YWN0aXZlOjphZnRlciwgLmJ1dHRvbi1wcmltYXJ5LS1kb3dubG9hZDpmb2N1czo6YmVmb3JlLCAuYnV0dG9uLXByaW1hcnktLWRvd25sb2FkOmZvY3VzOjphZnRlciB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuLmJ1dHRvbi1wcmltYXJ5LS1sb2dpbiB7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1jb2xvcjogIzIwNTg4QTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwNTg4QTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4uYnV0dG9uLXByaW1hcnktLWxvZ2luOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5idXR0b24tcHJpbWFyeS0tbG9naW46Zm9jdXMge1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuLmJ1dHRvbi1wcmltYXJ5LS1sb2dpbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMzM1NTM7XG4gIGJvcmRlci1jb2xvcjogIzEzMzU1MztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4uYnV0dG9uLXByaW1hcnktLWxvZ2luOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDUwRDE1O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5idXR0b24tcHJpbWFyeS0tbG9naW46OmJlZm9yZSwgLmJ1dHRvbi1wcmltYXJ5LS1sb2dpbjo6YWZ0ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpO1xufVxuLmJ1dHRvbi1wcmltYXJ5LS1sb2dpbjpob3Zlcjo6YmVmb3JlLCAuYnV0dG9uLXByaW1hcnktLWxvZ2luOmhvdmVyOjphZnRlciwgLmJ1dHRvbi1wcmltYXJ5LS1sb2dpbjpmb2N1czo6YmVmb3JlLCAuYnV0dG9uLXByaW1hcnktLWxvZ2luOmZvY3VzOjphZnRlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG59XG4uYnV0dG9uLXByaW1hcnktLWxvZ2luOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9sb2dpbi5zdmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIGhlaWdodDogMThweDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgd2lkdGg6IDE4cHg7XG59XG4uYnV0dG9uLXByaW1hcnktLWxvZ2luOmhvdmVyOjpiZWZvcmUsIC5idXR0b24tcHJpbWFyeS0tbG9naW46aG92ZXI6OmFmdGVyLCAuYnV0dG9uLXByaW1hcnktLWxvZ2luOmFjdGl2ZTo6YmVmb3JlLCAuYnV0dG9uLXByaW1hcnktLWxvZ2luOmFjdGl2ZTo6YWZ0ZXIsIC5idXR0b24tcHJpbWFyeS0tbG9naW46Zm9jdXM6OmJlZm9yZSwgLmJ1dHRvbi1wcmltYXJ5LS1sb2dpbjpmb2N1czo6YWZ0ZXIge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbi5idXR0b24tcHJpbWFyeS0tZXh0ZXJuYWwge1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItY29sb3I6ICMyMDU4OEE7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMDU4OEE7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLmJ1dHRvbi1wcmltYXJ5LS1leHRlcm5hbDpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uYnV0dG9uLXByaW1hcnktLWV4dGVybmFsOmZvY3VzIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cbi5idXR0b24tcHJpbWFyeS0tZXh0ZXJuYWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMzNTUzO1xuICBib3JkZXItY29sb3I6ICMxMzM1NTM7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLmJ1dHRvbi1wcmltYXJ5LS1leHRlcm5hbDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4uYnV0dG9uLXByaW1hcnktLWV4dGVybmFsOjpiZWZvcmUsIC5idXR0b24tcHJpbWFyeS0tZXh0ZXJuYWw6OmFmdGVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbn1cbi5idXR0b24tcHJpbWFyeS0tZXh0ZXJuYWw6aG92ZXI6OmJlZm9yZSwgLmJ1dHRvbi1wcmltYXJ5LS1leHRlcm5hbDpob3Zlcjo6YWZ0ZXIsIC5idXR0b24tcHJpbWFyeS0tZXh0ZXJuYWw6Zm9jdXM6OmJlZm9yZSwgLmJ1dHRvbi1wcmltYXJ5LS1leHRlcm5hbDpmb2N1czo6YWZ0ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpO1xufVxuLmJ1dHRvbi1wcmltYXJ5LS1leHRlcm5hbDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvb3Blbi1ncmF5LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICB3aWR0aDogMThweDtcbn1cbi5idXR0b24tcHJpbWFyeS0tZXh0ZXJuYWw6aG92ZXI6OmJlZm9yZSwgLmJ1dHRvbi1wcmltYXJ5LS1leHRlcm5hbDpob3Zlcjo6YWZ0ZXIsIC5idXR0b24tcHJpbWFyeS0tZXh0ZXJuYWw6YWN0aXZlOjpiZWZvcmUsIC5idXR0b24tcHJpbWFyeS0tZXh0ZXJuYWw6YWN0aXZlOjphZnRlciwgLmJ1dHRvbi1wcmltYXJ5LS1leHRlcm5hbDpmb2N1czo6YmVmb3JlLCAuYnV0dG9uLXByaW1hcnktLWV4dGVybmFsOmZvY3VzOjphZnRlciB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuLmJ1dHRvbi10ZXJ0aWFyeS0tbG9naW4ge1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItY29sb3I6ICNDM0Q4REY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDM0Q4REY7XG4gIGNvbG9yOiAjMDUwRDE1O1xuICBtYXJnaW4tdG9wOiAyNHB4O1xufVxuLmJ1dHRvbi10ZXJ0aWFyeS0tbG9naW46ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmJ1dHRvbi10ZXJ0aWFyeS0tbG9naW46Zm9jdXMge1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuLmJ1dHRvbi10ZXJ0aWFyeS0tbG9naW46aG92ZXIge1xuICBib3JkZXItY29sb3I6ICM0OEE0QjY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0OEE0QjY7XG59XG4uYnV0dG9uLXRlcnRpYXJ5LS1sb2dpbjpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoNSwgMTMsIDIxLCAwLjUpO1xufVxuLmJ1dHRvbi10ZXJ0aWFyeS0tbG9naW46OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2xvZ2luLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICB3aWR0aDogMThweDtcbn1cbi5idXR0b24tdGVydGlhcnktLWxvZ2luOmhvdmVyOjpiZWZvcmUsIC5idXR0b24tdGVydGlhcnktLWxvZ2luOmhvdmVyOjphZnRlciwgLmJ1dHRvbi10ZXJ0aWFyeS0tbG9naW46YWN0aXZlOjpiZWZvcmUsIC5idXR0b24tdGVydGlhcnktLWxvZ2luOmFjdGl2ZTo6YWZ0ZXIsIC5idXR0b24tdGVydGlhcnktLWxvZ2luOmZvY3VzOjpiZWZvcmUsIC5idXR0b24tdGVydGlhcnktLWxvZ2luOmZvY3VzOjphZnRlciB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuLmJ1dHRvbi10ZXJ0aWFyeS0tZXh0ZXJuYWwge1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItY29sb3I6ICNDM0Q4REY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDM0Q4REY7XG4gIGNvbG9yOiAjMDUwRDE1O1xuICBtYXJnaW4tdG9wOiAyNHB4O1xufVxuLmJ1dHRvbi10ZXJ0aWFyeS0tZXh0ZXJuYWw6ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmJ1dHRvbi10ZXJ0aWFyeS0tZXh0ZXJuYWw6Zm9jdXMge1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuLmJ1dHRvbi10ZXJ0aWFyeS0tZXh0ZXJuYWw6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICM0OEE0QjY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0OEE0QjY7XG59XG4uYnV0dG9uLXRlcnRpYXJ5LS1leHRlcm5hbDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoNSwgMTMsIDIxLCAwLjUpO1xufVxuLmJ1dHRvbi10ZXJ0aWFyeS0tZXh0ZXJuYWw6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL29wZW4tZ3JheS5zdmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIGhlaWdodDogMThweDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgd2lkdGg6IDE4cHg7XG59XG4uYnV0dG9uLXRlcnRpYXJ5LS1leHRlcm5hbDpob3Zlcjo6YmVmb3JlLCAuYnV0dG9uLXRlcnRpYXJ5LS1leHRlcm5hbDpob3Zlcjo6YWZ0ZXIsIC5idXR0b24tdGVydGlhcnktLWV4dGVybmFsOmFjdGl2ZTo6YmVmb3JlLCAuYnV0dG9uLXRlcnRpYXJ5LS1leHRlcm5hbDphY3RpdmU6OmFmdGVyLCAuYnV0dG9uLXRlcnRpYXJ5LS1leHRlcm5hbDpmb2N1czo6YmVmb3JlLCAuYnV0dG9uLXRlcnRpYXJ5LS1leHRlcm5hbDpmb2N1czo6YWZ0ZXIge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbi5vdXRsaW5lLWljb24tYnRuLXdoaXRlIHtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4ub3V0bGluZS1pY29uLWJ0bi13aGl0ZTpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ub3V0bGluZS1pY29uLWJ0bi13aGl0ZTpmb2N1cyB7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG4ub3V0bGluZS1pY29uLWJ0bi13aGl0ZTpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI0MzRDhERjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0MzRDhERjtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4ub3V0bGluZS1pY29uLWJ0bi13aGl0ZTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzY5OTFBQztcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoNSwgMTMsIDIxLCAwLjUpO1xufVxuLm91dGxpbmUtaWNvbi1idG4td2hpdGU6OmJlZm9yZSwgLm91dGxpbmUtaWNvbi1idG4td2hpdGU6OmFmdGVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbn1cbi5vdXRsaW5lLWljb24tYnRuLXdoaXRlOmhvdmVyOjpiZWZvcmUsIC5vdXRsaW5lLWljb24tYnRuLXdoaXRlOmhvdmVyOjphZnRlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBzYXR1cmF0ZSgxMDAlKSBpbnZlcnQoNiUpIHNlcGlhKDM4JSkgc2F0dXJhdGUoNTcyJSkgaHVlLXJvdGF0ZSgxNjhkZWcpIGJyaWdodG5lc3MoMTA0JSkgY29udHJhc3QoMTA1JSk7XG59XG4ub3V0bGluZS1pY29uLWJ0bi13aGl0ZTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvb3Blbi1ncmF5LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICB3aWR0aDogMThweDtcbn1cbi5vdXRsaW5lLWljb24tYnRuLXdoaXRlOmhvdmVyOjpiZWZvcmUsIC5vdXRsaW5lLWljb24tYnRuLXdoaXRlOmhvdmVyOjphZnRlciwgLm91dGxpbmUtaWNvbi1idG4td2hpdGU6YWN0aXZlOjpiZWZvcmUsIC5vdXRsaW5lLWljb24tYnRuLXdoaXRlOmFjdGl2ZTo6YWZ0ZXIsIC5vdXRsaW5lLWljb24tYnRuLXdoaXRlOmZvY3VzOjpiZWZvcmUsIC5vdXRsaW5lLWljb24tYnRuLXdoaXRlOmZvY3VzOjphZnRlciB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuLmJ1dHRvbi1zZWNvbmRhcnksXG4uc2Vjb25kYXJ5LWJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4uYnV0dG9uLXNlY29uZGFyeTpkaXNhYmxlZCxcbi5zZWNvbmRhcnktYnV0dG9uOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5idXR0b24tc2Vjb25kYXJ5OmZvY3VzLFxuLnNlY29uZGFyeS1idXR0b246Zm9jdXMge1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuLmJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsXG4uc2Vjb25kYXJ5LWJ1dHRvbjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLmJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMsXG4uc2Vjb25kYXJ5LWJ1dHRvbjpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoNSwgMTMsIDIxLCAwLjUpO1xufVxuLmJ1dHRvbi1zZWNvbmRhcnk6OmJlZm9yZSwgLmJ1dHRvbi1zZWNvbmRhcnk6OmFmdGVyLFxuLnNlY29uZGFyeS1idXR0b246OmJlZm9yZSxcbi5zZWNvbmRhcnktYnV0dG9uOjphZnRlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBzYXR1cmF0ZSgxMDAlKSBpbnZlcnQoNiUpIHNlcGlhKDM4JSkgc2F0dXJhdGUoNTcyJSkgaHVlLXJvdGF0ZSgxNjhkZWcpIGJyaWdodG5lc3MoMTA0JSkgY29udHJhc3QoMTA1JSk7XG59XG4uYnV0dG9uLXNlY29uZGFyeTpob3Zlcjo6YmVmb3JlLCAuYnV0dG9uLXNlY29uZGFyeTpob3Zlcjo6YWZ0ZXIsIC5idXR0b24tc2Vjb25kYXJ5OmZvY3VzOjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5OmZvY3VzOjphZnRlcixcbi5zZWNvbmRhcnktYnV0dG9uOmhvdmVyOjpiZWZvcmUsXG4uc2Vjb25kYXJ5LWJ1dHRvbjpob3Zlcjo6YWZ0ZXIsXG4uc2Vjb25kYXJ5LWJ1dHRvbjpmb2N1czo6YmVmb3JlLFxuLnNlY29uZGFyeS1idXR0b246Zm9jdXM6OmFmdGVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbn1cbi5idXR0b24tc2Vjb25kYXJ5OmhvdmVyOjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5OmhvdmVyOjphZnRlciwgLmJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlOjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZTo6YWZ0ZXIsIC5idXR0b24tc2Vjb25kYXJ5OmZvY3VzOjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5OmZvY3VzOjphZnRlcixcbi5zZWNvbmRhcnktYnV0dG9uOmhvdmVyOjpiZWZvcmUsXG4uc2Vjb25kYXJ5LWJ1dHRvbjpob3Zlcjo6YWZ0ZXIsXG4uc2Vjb25kYXJ5LWJ1dHRvbjphY3RpdmU6OmJlZm9yZSxcbi5zZWNvbmRhcnktYnV0dG9uOmFjdGl2ZTo6YWZ0ZXIsXG4uc2Vjb25kYXJ5LWJ1dHRvbjpmb2N1czo6YmVmb3JlLFxuLnNlY29uZGFyeS1idXR0b246Zm9jdXM6OmFmdGVyIHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4uYnV0dG9uLXNlY29uZGFyeS0tYXJyb3cge1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItY29sb3I6ICMwNTBEMTU7XG4gIGNvbG9yOiAjMDUwRDE1O1xufVxuLmJ1dHRvbi1zZWNvbmRhcnktLWFycm93OmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5idXR0b24tc2Vjb25kYXJ5LS1hcnJvdzpmb2N1cyB7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG4uYnV0dG9uLXNlY29uZGFyeS0tYXJyb3c6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICMwNTBEMTU7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5idXR0b24tc2Vjb25kYXJ5LS1hcnJvdzpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoNSwgMTMsIDIxLCAwLjUpO1xufVxuLmJ1dHRvbi1zZWNvbmRhcnktLWFycm93OjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5LS1hcnJvdzo6YWZ0ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgc2F0dXJhdGUoMTAwJSkgaW52ZXJ0KDYlKSBzZXBpYSgzOCUpIHNhdHVyYXRlKDU3MiUpIGh1ZS1yb3RhdGUoMTY4ZGVnKSBicmlnaHRuZXNzKDEwNCUpIGNvbnRyYXN0KDEwNSUpO1xufVxuLmJ1dHRvbi1zZWNvbmRhcnktLWFycm93OmhvdmVyOjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5LS1hcnJvdzpob3Zlcjo6YWZ0ZXIsIC5idXR0b24tc2Vjb25kYXJ5LS1hcnJvdzpmb2N1czo6YmVmb3JlLCAuYnV0dG9uLXNlY29uZGFyeS0tYXJyb3c6Zm9jdXM6OmFmdGVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbn1cbi5idXR0b24tc2Vjb25kYXJ5LS1hcnJvdzo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYXJyb3ctZm9yd2FyZC5zdmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIGhlaWdodDogMThweDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgd2lkdGg6IDE4cHg7XG59XG4uYnV0dG9uLXNlY29uZGFyeS0tYXJyb3c6aG92ZXI6OmJlZm9yZSwgLmJ1dHRvbi1zZWNvbmRhcnktLWFycm93OmhvdmVyOjphZnRlciwgLmJ1dHRvbi1zZWNvbmRhcnktLWFycm93OmFjdGl2ZTo6YmVmb3JlLCAuYnV0dG9uLXNlY29uZGFyeS0tYXJyb3c6YWN0aXZlOjphZnRlciwgLmJ1dHRvbi1zZWNvbmRhcnktLWFycm93OmZvY3VzOjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5LS1hcnJvdzpmb2N1czo6YWZ0ZXIge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbi5idXR0b24tc2Vjb25kYXJ5LS1kb3dubG9hZCB7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4uYnV0dG9uLXNlY29uZGFyeS0tZG93bmxvYWQ6ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmJ1dHRvbi1zZWNvbmRhcnktLWRvd25sb2FkOmZvY3VzIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cbi5idXR0b24tc2Vjb25kYXJ5LS1kb3dubG9hZDpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLmJ1dHRvbi1zZWNvbmRhcnktLWRvd25sb2FkOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDUwRDE1O1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSg1LCAxMywgMjEsIDAuNSk7XG59XG4uYnV0dG9uLXNlY29uZGFyeS0tZG93bmxvYWQ6OmJlZm9yZSwgLmJ1dHRvbi1zZWNvbmRhcnktLWRvd25sb2FkOjphZnRlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBzYXR1cmF0ZSgxMDAlKSBpbnZlcnQoNiUpIHNlcGlhKDM4JSkgc2F0dXJhdGUoNTcyJSkgaHVlLXJvdGF0ZSgxNjhkZWcpIGJyaWdodG5lc3MoMTA0JSkgY29udHJhc3QoMTA1JSk7XG59XG4uYnV0dG9uLXNlY29uZGFyeS0tZG93bmxvYWQ6aG92ZXI6OmJlZm9yZSwgLmJ1dHRvbi1zZWNvbmRhcnktLWRvd25sb2FkOmhvdmVyOjphZnRlciwgLmJ1dHRvbi1zZWNvbmRhcnktLWRvd25sb2FkOmZvY3VzOjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5LS1kb3dubG9hZDpmb2N1czo6YWZ0ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpO1xufVxuLmJ1dHRvbi1zZWNvbmRhcnktLWRvd25sb2FkOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9kb3dubG9hZC5zdmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIGhlaWdodDogMThweDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgd2lkdGg6IDE4cHg7XG59XG4uYnV0dG9uLXNlY29uZGFyeS0tZG93bmxvYWQ6aG92ZXI6OmJlZm9yZSwgLmJ1dHRvbi1zZWNvbmRhcnktLWRvd25sb2FkOmhvdmVyOjphZnRlciwgLmJ1dHRvbi1zZWNvbmRhcnktLWRvd25sb2FkOmFjdGl2ZTo6YmVmb3JlLCAuYnV0dG9uLXNlY29uZGFyeS0tZG93bmxvYWQ6YWN0aXZlOjphZnRlciwgLmJ1dHRvbi1zZWNvbmRhcnktLWRvd25sb2FkOmZvY3VzOjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5LS1kb3dubG9hZDpmb2N1czo6YWZ0ZXIge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbi5idXR0b24tc2Vjb25kYXJ5LS1leHRlcm5hbCxcbi5vdXRsaW5lLWJ1dHRvbi1ibGFjayB7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4uYnV0dG9uLXNlY29uZGFyeS0tZXh0ZXJuYWw6ZGlzYWJsZWQsXG4ub3V0bGluZS1idXR0b24tYmxhY2s6ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmJ1dHRvbi1zZWNvbmRhcnktLWV4dGVybmFsOmZvY3VzLFxuLm91dGxpbmUtYnV0dG9uLWJsYWNrOmZvY3VzIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cbi5idXR0b24tc2Vjb25kYXJ5LS1leHRlcm5hbDpob3Zlcixcbi5vdXRsaW5lLWJ1dHRvbi1ibGFjazpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLmJ1dHRvbi1zZWNvbmRhcnktLWV4dGVybmFsOmZvY3VzLFxuLm91dGxpbmUtYnV0dG9uLWJsYWNrOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDUwRDE1O1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSg1LCAxMywgMjEsIDAuNSk7XG59XG4uYnV0dG9uLXNlY29uZGFyeS0tZXh0ZXJuYWw6OmJlZm9yZSwgLmJ1dHRvbi1zZWNvbmRhcnktLWV4dGVybmFsOjphZnRlcixcbi5vdXRsaW5lLWJ1dHRvbi1ibGFjazo6YmVmb3JlLFxuLm91dGxpbmUtYnV0dG9uLWJsYWNrOjphZnRlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBzYXR1cmF0ZSgxMDAlKSBpbnZlcnQoNiUpIHNlcGlhKDM4JSkgc2F0dXJhdGUoNTcyJSkgaHVlLXJvdGF0ZSgxNjhkZWcpIGJyaWdodG5lc3MoMTA0JSkgY29udHJhc3QoMTA1JSk7XG59XG4uYnV0dG9uLXNlY29uZGFyeS0tZXh0ZXJuYWw6aG92ZXI6OmJlZm9yZSwgLmJ1dHRvbi1zZWNvbmRhcnktLWV4dGVybmFsOmhvdmVyOjphZnRlciwgLmJ1dHRvbi1zZWNvbmRhcnktLWV4dGVybmFsOmZvY3VzOjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5LS1leHRlcm5hbDpmb2N1czo6YWZ0ZXIsXG4ub3V0bGluZS1idXR0b24tYmxhY2s6aG92ZXI6OmJlZm9yZSxcbi5vdXRsaW5lLWJ1dHRvbi1ibGFjazpob3Zlcjo6YWZ0ZXIsXG4ub3V0bGluZS1idXR0b24tYmxhY2s6Zm9jdXM6OmJlZm9yZSxcbi5vdXRsaW5lLWJ1dHRvbi1ibGFjazpmb2N1czo6YWZ0ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpO1xufVxuLmJ1dHRvbi1zZWNvbmRhcnktLWV4dGVybmFsOjphZnRlcixcbi5vdXRsaW5lLWJ1dHRvbi1ibGFjazo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvb3Blbi1ncmF5LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICB3aWR0aDogMThweDtcbn1cbi5idXR0b24tc2Vjb25kYXJ5LS1leHRlcm5hbDpob3Zlcjo6YmVmb3JlLCAuYnV0dG9uLXNlY29uZGFyeS0tZXh0ZXJuYWw6aG92ZXI6OmFmdGVyLCAuYnV0dG9uLXNlY29uZGFyeS0tZXh0ZXJuYWw6YWN0aXZlOjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5LS1leHRlcm5hbDphY3RpdmU6OmFmdGVyLCAuYnV0dG9uLXNlY29uZGFyeS0tZXh0ZXJuYWw6Zm9jdXM6OmJlZm9yZSwgLmJ1dHRvbi1zZWNvbmRhcnktLWV4dGVybmFsOmZvY3VzOjphZnRlcixcbi5vdXRsaW5lLWJ1dHRvbi1ibGFjazpob3Zlcjo6YmVmb3JlLFxuLm91dGxpbmUtYnV0dG9uLWJsYWNrOmhvdmVyOjphZnRlcixcbi5vdXRsaW5lLWJ1dHRvbi1ibGFjazphY3RpdmU6OmJlZm9yZSxcbi5vdXRsaW5lLWJ1dHRvbi1ibGFjazphY3RpdmU6OmFmdGVyLFxuLm91dGxpbmUtYnV0dG9uLWJsYWNrOmZvY3VzOjpiZWZvcmUsXG4ub3V0bGluZS1idXR0b24tYmxhY2s6Zm9jdXM6OmFmdGVyIHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4uYnV0dG9uLXNlY29uZGFyeS0tbG9naW4ge1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItY29sb3I6ICMwNTBEMTU7XG4gIGNvbG9yOiAjMDUwRDE1O1xufVxuLmJ1dHRvbi1zZWNvbmRhcnktLWxvZ2luOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5idXR0b24tc2Vjb25kYXJ5LS1sb2dpbjpmb2N1cyB7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG4uYnV0dG9uLXNlY29uZGFyeS0tbG9naW46aG92ZXIge1xuICBib3JkZXItY29sb3I6ICMwNTBEMTU7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5idXR0b24tc2Vjb25kYXJ5LS1sb2dpbjpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoNSwgMTMsIDIxLCAwLjUpO1xufVxuLmJ1dHRvbi1zZWNvbmRhcnktLWxvZ2luOjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5LS1sb2dpbjo6YWZ0ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgc2F0dXJhdGUoMTAwJSkgaW52ZXJ0KDYlKSBzZXBpYSgzOCUpIHNhdHVyYXRlKDU3MiUpIGh1ZS1yb3RhdGUoMTY4ZGVnKSBicmlnaHRuZXNzKDEwNCUpIGNvbnRyYXN0KDEwNSUpO1xufVxuLmJ1dHRvbi1zZWNvbmRhcnktLWxvZ2luOmhvdmVyOjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5LS1sb2dpbjpob3Zlcjo6YWZ0ZXIsIC5idXR0b24tc2Vjb25kYXJ5LS1sb2dpbjpmb2N1czo6YmVmb3JlLCAuYnV0dG9uLXNlY29uZGFyeS0tbG9naW46Zm9jdXM6OmFmdGVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbn1cbi5idXR0b24tc2Vjb25kYXJ5LS1sb2dpbjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbG9naW4uc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmlsbDogY3VycmVudENvbG9yO1xuICBoZWlnaHQ6IDE4cHg7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gIHdpZHRoOiAxOHB4O1xufVxuLmJ1dHRvbi1zZWNvbmRhcnktLWxvZ2luOmhvdmVyOjpiZWZvcmUsIC5idXR0b24tc2Vjb25kYXJ5LS1sb2dpbjpob3Zlcjo6YWZ0ZXIsIC5idXR0b24tc2Vjb25kYXJ5LS1sb2dpbjphY3RpdmU6OmJlZm9yZSwgLmJ1dHRvbi1zZWNvbmRhcnktLWxvZ2luOmFjdGl2ZTo6YWZ0ZXIsIC5idXR0b24tc2Vjb25kYXJ5LS1sb2dpbjpmb2N1czo6YmVmb3JlLCAuYnV0dG9uLXNlY29uZGFyeS0tbG9naW46Zm9jdXM6OmFmdGVyIHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4ubGluay1pY29uIHtcbiAgYm9yZGVyLXJhZGl1czogaW5pdGlhbDtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiA2cHggNHB4O1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMwNTBEMTU7XG4gIGNvbG9yOiAjMDUwRDE1O1xufVxuLmxpbmstaWNvbjo6YWZ0ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgc2F0dXJhdGUoMTAwJSkgaW52ZXJ0KDYlKSBzZXBpYSgzOCUpIHNhdHVyYXRlKDU3MiUpIGh1ZS1yb3RhdGUoMTY4ZGVnKSBicmlnaHRuZXNzKDEwNCUpIGNvbnRyYXN0KDEwNSUpO1xufVxuLmxpbmstaWNvbjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvb3Blbi1ncmF5LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICB3aWR0aDogMThweDtcbn1cbi5saW5rLWljb246OmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbn1cbi5saW5rLWljb246aG92ZXIge1xuICBjb2xvcjogIzIwNTg4QTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMyMDU4OEE7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4ubGluay1pY29uOmhvdmVyOjphZnRlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBzYXR1cmF0ZSgxMDAlKSBpbnZlcnQoMjUlKSBzZXBpYSg4MSUpIHNhdHVyYXRlKDU5MyUpIGh1ZS1yb3RhdGUoMTY5ZGVnKSBicmlnaHRuZXNzKDEwMCUpIGNvbnRyYXN0KDg5JSk7XG59XG4ubGluay1pY29uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuLmxpbmstaWNvbi0tZG93bmxvYWQge1xuICBib3JkZXItcmFkaXVzOiBpbml0aWFsO1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDZweCA0cHg7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzA1MEQxNTtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4ubGluay1pY29uLS1kb3dubG9hZDo6YWZ0ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgc2F0dXJhdGUoMTAwJSkgaW52ZXJ0KDYlKSBzZXBpYSgzOCUpIHNhdHVyYXRlKDU3MiUpIGh1ZS1yb3RhdGUoMTY4ZGVnKSBicmlnaHRuZXNzKDEwNCUpIGNvbnRyYXN0KDEwNSUpO1xufVxuLmxpbmstaWNvbi0tZG93bmxvYWQ6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Rvd25sb2FkLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICB3aWR0aDogMThweDtcbn1cbi5saW5rLWljb24tLWRvd25sb2FkOjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG59XG4ubGluay1pY29uLS1kb3dubG9hZDpob3ZlciB7XG4gIGNvbG9yOiAjMjA1ODhBO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzIwNTg4QTtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5saW5rLWljb24tLWRvd25sb2FkOmhvdmVyOjphZnRlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBzYXR1cmF0ZSgxMDAlKSBpbnZlcnQoMjUlKSBzZXBpYSg4MSUpIHNhdHVyYXRlKDU5MyUpIGh1ZS1yb3RhdGUoMTY5ZGVnKSBicmlnaHRuZXNzKDEwMCUpIGNvbnRyYXN0KDg5JSk7XG59XG4ubGluay1pY29uLS1kb3dubG9hZDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG5cbi5saW5rLWljb24tLWxpZ2h0IHtcbiAgYm9yZGVyLXJhZGl1czogaW5pdGlhbDtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiA2cHggNHB4O1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNGRkZGRkY7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLmxpbmstaWNvbi0tbGlnaHQ6OmFmdGVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbn1cbi5saW5rLWljb24tLWxpZ2h0OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9vcGVuLWdyYXkuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmlsbDogY3VycmVudENvbG9yO1xuICBoZWlnaHQ6IDE4cHg7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gIHdpZHRoOiAxOHB4O1xufVxuLmxpbmstaWNvbi0tbGlnaHQ6OmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbn1cbi5saW5rLWljb24tLWxpZ2h0OmhvdmVyIHtcbiAgY29sb3I6ICM0OEE0QjY7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjNDhBNEI2O1xuICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmxpbmstaWNvbi0tbGlnaHQ6aG92ZXI6OmFmdGVyIHtcbiAgZmlsdGVyOiBpbnZlcnQoNTUlKSBzZXBpYSgxMCUpIHNhdHVyYXRlKDIwNTIlKSBodWUtcm90YXRlKDE0MmRlZykgYnJpZ2h0bmVzcygxMDIlKSBjb250cmFzdCg5MSUpO1xufVxuLmxpbmstaWNvbi0tbGlnaHQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuXG4uaW5saW5lLWJ1dHRvbnMgPiAuZmllbGQtLW5hbWUtZmllbGQtY3RhLWJ1dHRvbnMtc2VsZWN0b3Ige1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2x1bW4tZ2FwOiAyNHB4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMzJweCAwO1xuICByb3ctZ2FwOiAyNHB4O1xufVxuXG4ubG9jay1pY29uLWJ1dHRvbixcbi5sb2NrLWljb24tYnV0dG9uLXdoaXRlLFxuLm91dGxpbmUtYnV0dG9uLXdoaXRlIHtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjMDUwRDE1O1xuICBwYWRkaW5nOiA4cHggMTZweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuYS5sb2NrLWljb24tYnV0dG9uLFxuYS5sb2NrLWljb24tYnV0dG9uLXdoaXRlIHtcbiAgY29sb3I6ICMwNTBEMTU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbmEubG9jay1pY29uLWJ1dHRvbjpob3ZlcixcbmEubG9jay1pY29uLWJ1dHRvbi13aGl0ZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMxMzM1NTM7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMxMzM1NTM7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4ubG9jay1pY29uLWJ1dHRvbixcbi5sb2NrLWljb24tYnV0dG9uLXdoaXRlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5sb2NrLWljb24tYnV0dG9uOjpiZWZvcmUsXG4ubG9jay1pY29uLWJ1dHRvbi13aGl0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiAxOHB4O1xuICB3aWR0aDogMThweDtcbn1cbi5sb2NrLWljb24tYnV0dG9uOmZvY3VzLXZpc2libGUsXG4ubG9jay1pY29uLWJ1dHRvbi13aGl0ZTpmb2N1cy12aXNpYmxlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzA1MEQxNTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmxvY2staWNvbi1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA1ODhBO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMjA1ODhBO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5sb2NrLWljb24tYnV0dG9uOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbG9jay5zdmdcIik7XG59XG4ubG9jay1pY29uLWJ1dHRvbjpob3ZlciwgLmxvY2staWNvbi1idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzI2MzkzO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLmxvY2staWNvbi1idXR0b24td2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMjA1ODhBO1xuICBjb2xvcjogIzIwNTg4QTtcbn1cbi5sb2NrLWljb24tYnV0dG9uLXdoaXRlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbG9jay1pY29uLWJsdWUuc3ZnXCIpO1xuICBjb250ZW50OiBcIlwiO1xufVxuLmxvY2staWNvbi1idXR0b24td2hpdGU6aG92ZXIsIC5sb2NrLWljb24tYnV0dG9uLXdoaXRlOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMiwgODgsIDEzOCwgMC4wNzg0MzEzNzI1KTtcbiAgY29sb3I6ICMyMDU4OEE7XG59XG5cbi5sb2dpbi1pY29uLWJ1dHRvbi1ibGFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDM0Q4REY7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiA4cHggMTZweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5sb2dpbi1pY29uLWJ1dHRvbi1ibGFjayBhIHtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4ubG9naW4taWNvbi1idXR0b24tYmxhY2s6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDhBNEI2O1xuICBjb2xvcjogIzA1MEQxNTtcbn1cbi5sb2dpbi1pY29uLWJ1dHRvbi1ibGFjazpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDM0Q4REY7XG4gIGJvcmRlcjogIzA1MEQxNSAycHggc29saWQ7XG59XG4ubG9naW4taWNvbi1idXR0b24tYmxhY2s6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2xvZ2luLnN2Z1wiKTtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiAxOHB4O1xuICB3aWR0aDogMThweDtcbn1cblxuLm91dGxpbmUtYnV0dG9uLXdoaXRlIHtcbiAgYm9yZGVyOiAjRkZGRkZGIHNvbGlkO1xufVxuXG4ubGlnaHQteWVsbG93LFxuLmxpZ2h0LWdyYXksXG4ubGlnaHQtYmx1ZSxcbi5saWdodC1ncmVlbiB7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogNHB4IDhweDtcbn1cblxuLmxpZ2h0LXllbGxvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY5ZjM7XG4gIGNvbG9yOiAjQjM1QzAwO1xufVxuXG4ubGlnaHQtZ3JheSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFM0U3RUI7XG4gIGNvbG9yOiAjMDUwRDE1O1xufVxuXG4ubGlnaHQtYmx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNEZCRkY7XG4gIGNvbG9yOiAjMjA1ODhBO1xufVxuXG4ubGlnaHQtZ3JlZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTlGOUY5O1xuICBjb2xvcjogIzBFNEY0RDtcbn1cblxuLyoqXG4qIENhcmQgTGluayBNaXhpbiBcbipcbiogTWl4aW4gdGhhdCBzdXBwb3J0IGNhcmRzIHRoYXQgYXJlIHRyZWF0ZWQgYXMgbGlua3MuIFxuKiBJbnRlbmRlZCB0byBiZSBhcHBsaWVkIHRvIGRpcmVjdGx5IHRvIGFuIDxhPiBhbmNob3IgdGFnIFxuKiBQcm92aWRlcyB2aXN1YWwgc3R5bGUsIGhvdmVyIHBhdHRlcm4sIGljb25vZ3JhcGh5IG9wdGlvbnMgXG4qIEhhcyBubyBvcGluaW9ucyBvbiBob3cgdGhlIGltYWdlIHNob3VsZCBiZSBzdHlsZWQuIFRoZXJlIGFyZSBhIGNvdXBsZSBkaWZmZXJlbnQgcGF0dGVybnMuIFRob3NlIGFyZSBjdXJyZW50bHkgbGVmdCB0byB0aGUgY2FyZCBpdHNlbGYuIFxuKi9cbi5jYXJkLWxpbmsge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICBib3gtc2hhZG93OiAwcHggMjBweCA0MHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICBtYXJnaW46IDIwcHggMDtcbiAgcGFkZGluZzogMjBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6ICMwNTBEMTU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmNhcmQtbGluazpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDEwcHggMjBweCA0MHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG4uY2FyZC1saW5rOjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9hcnJvdy1mb3J3YXJkLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBib3R0b206IDE1cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDE5cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAxOXB4O1xufVxuLmNhcmQtbGluay5jYXJkLWxpbmstYXJyb3c6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Fycm93LWZvcndhcmQuc3ZnXCIpO1xufVxuLmNhcmQtbGluay5jYXJkLWxpbmstLWxvZ2luOjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9sb2dpbi5zdmdcIik7XG59XG4uY2FyZC1saW5rLmNhcmQtbGluay0tbG9jazo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbG9jay5zdmdcIik7XG59XG4uY2FyZC1saW5rLmNhcmQtbGluay0tZXh0ZXJuYWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL29wZW4tZ3JheS5zdmdcIik7XG59XG4uY2FyZC1saW5rIC5wYXJhZ3JhcGgtLXR5cGUtLXRocmVlLWNvbHVtbi1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5wYXJhZ3JhcGgtLXR5cGUtLXRocmVlLWltYWdlLWNhcmQge1xuICBwYWRkaW5nOiAzMnB4IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aHJlZS1pbWFnZS1jYXJkIGRpdiB7XG4gIG1hcmdpbjogYXV0bztcbiAgbWF4LXdpZHRoOiAxMTQwcHg7XG4gIHJpZ2h0OiAwO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdGhyZWUtaW1hZ2UtY2FyZCBkaXYgLndyYXBwZXItLWNvbC0zIC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50LXRocmVlLWNvbHVtbiB7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aHJlZS1pbWFnZS1jYXJkIGRpdiAud3JhcHBlci0tY29sLTQgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQtdGhyZWUtY29sdW1uIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnI7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aHJlZS1pbWFnZS1jYXJkIGRpdiAud3JhcHBlci0tY29sLTMgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQtdGhyZWUtY29sdW1uLFxuLnBhcmFncmFwaC0tdHlwZS0tdGhyZWUtaW1hZ2UtY2FyZCBkaXYgLndyYXBwZXItLWNvbC00IC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50LXRocmVlLWNvbHVtbiB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMjRweDtcbiAgZ3JpZC1hdXRvLXJvd3M6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3ODlweCkge1xuICAucGFyYWdyYXBoLS10eXBlLS10aHJlZS1pbWFnZS1jYXJkIGRpdiAud3JhcHBlci0tY29sLTMgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQtdGhyZWUtY29sdW1uLFxuICAucGFyYWdyYXBoLS10eXBlLS10aHJlZS1pbWFnZS1jYXJkIGRpdiAud3JhcHBlci0tY29sLTQgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQtdGhyZWUtY29sdW1uIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxufVxuLnBhcmFncmFwaC0tdHlwZS0tdGhyZWUtaW1hZ2UtY2FyZCBkaXYgLndyYXBwZXItLWNvbC0zIC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50LXRocmVlLWNvbHVtbiA+IC5maWVsZF9faXRlbSxcbi5wYXJhZ3JhcGgtLXR5cGUtLXRocmVlLWltYWdlLWNhcmQgZGl2IC53cmFwcGVyLS1jb2wtNCAuZmllbGQtLW5hbWUtZmllbGQtY29udGVudC10aHJlZS1jb2x1bW4gPiAuZmllbGRfX2l0ZW0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDE7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aHJlZS1pbWFnZS1jYXJkIGRpdiAud3JhcHBlci0tY29sLTMgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQtdGhyZWUtY29sdW1uID4gLmZpZWxkX19pdGVtIGEuY2FyZC1saW5rIGltZyxcbi5wYXJhZ3JhcGgtLXR5cGUtLXRocmVlLWltYWdlLWNhcmQgZGl2IC53cmFwcGVyLS1jb2wtNCAuZmllbGQtLW5hbWUtZmllbGQtY29udGVudC10aHJlZS1jb2x1bW4gPiAuZmllbGRfX2l0ZW0gYS5jYXJkLWxpbmsgaW1nIHtcbiAgbWF4LXdpZHRoOiBtYXgtY29udGVudDtcbiAgbWF4LWhlaWdodDogNzVweDtcbiAgd2lkdGg6IGF1dG87XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aHJlZS1pbWFnZS1jYXJkIGRpdiAuZmllbGQtLW5hbWUtZmllbGQtdXJsIHtcbiAgcGFkZGluZzogMTZweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXRocmVlLWltYWdlLWNhcmQgZGl2IC5maWVsZC0tbmFtZS1maWVsZC11cmwgYSB7XG4gIGNvbG9yOiAjMDUwRDE1O1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdGhyZWUtaW1hZ2UtY2FyZCBkaXYgLmZpZWxkLS1uYW1lLWZpZWxkLXRleHQgcCB7XG4gIG1hcmdpbjogMCAwIDMycHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aHJlZS1pbWFnZS1jYXJkIGRpdiAuZmllbGQtLW5hbWUtZmllbGQtc3VidGl0bGUtaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdGhyZWUtaW1hZ2UtY2FyZCBkaXYgLmZpZWxkLS1uYW1lLWZpZWxkLXRpdGxlIHtcbiAgbWFyZ2luOiAxNnB4IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aHJlZS1pbWFnZS1jYXJkIC50aHJlZS1jb2x1bW4tZ3JpZC1jdGEtYnV0dG9uLXdyYXBwZXIgLnBhcmFncmFwaC0tdHlwZS0taWNvbi1idXR0b24tcmVwZWF0ZXIge1xuICBtYXJnaW4tdG9wOiAyNHB4O1xufVxuXG4ucGFyYWdyYXBoLS10eXBlLS10aHJlZS1jb2x1bW4tY29udGVudCBhIHtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aHJlZS1jb2x1bW4tY29udGVudCAuZmllbGQtLW5hbWUtZmllbGQtc3VidGl0bGUgcCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzUuOThweCkge1xuICAucGFyYWdyYXBoLS10eXBlLS10aHJlZS1pbWFnZS1jYXJkIHtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXRocmVlLWltYWdlLWNhcmQgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQtdGhyZWUtY29sdW1uIHtcbiAgICBtYXJnaW46IDE2cHggMDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS10aHJlZS1pbWFnZS1jYXJkIGRpdiAuZmllbGQtLW5hbWUtZmllbGQtY29udGVudC10aHJlZS1jb2x1bW4ge1xuICAgIG1hcmdpbjogMTZweCAwO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAucGFyYWdyYXBoLS10eXBlLS10aHJlZS1pbWFnZS1jYXJkIHtcbiAgICBwYWRkaW5nOiAzMHB4IDYwcHg7XG4gIH1cbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXR3by1jb21wb25lbnQtY2FyZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10d28tY29tcG9uZW50LWNhcmQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWJhY2tncm91bmQtaW1nKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDUwJTtcbiAgb3BhY2l0eTogMTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiA1MCU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10d28tY29tcG9uZW50LWNhcmQuaW1hZ2UtbGVmdDo6YmVmb3JlIHtcbiAgbGVmdDogMDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXR3by1jb21wb25lbnQtY2FyZCAuaW1hZ2UtYmxvY2sge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXR3by1jb21wb25lbnQtY2FyZCAuY29udGVudC1ibG9jayB7XG4gIHBhZGRpbmc6IDU2cHggMDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXR3by1jb21wb25lbnQtY2FyZC5pbWFnZS1tYXJnaW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbiAgY29udGVudDogXCJcIjtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzg5cHgpIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0tdHdvLWNvbXBvbmVudC1jYXJkIC5pbWFnZS1ibG9jayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXR3by1jb21wb25lbnQtY2FyZCAuaW1hZ2UtYmxvY2suaW1hZ2UtbGVmdCB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tdHdvLWNvbXBvbmVudC1jYXJkIC5pbWFnZS1ibG9jay5pbWFnZS1yaWdodCB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tdHdvLWNvbXBvbmVudC1jYXJkIC5jb250ZW50LWJsb2NrLmltYWdlLWxlZnQge1xuICAgIG9yZGVyOiAyO1xuICAgIHBhZGRpbmctbGVmdDogNTZweDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS10d28tY29tcG9uZW50LWNhcmQgLmNvbnRlbnQtYmxvY2suaW1hZ2UtcmlnaHQge1xuICAgIG9yZGVyOiAxO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXR3by1jb21wb25lbnQtY2FyZDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MjBweCkge1xuICAucGFyYWdyYXBoLS10eXBlLS10d28tY29tcG9uZW50LWNhcmQgLmNvbnRlbnQtYmxvY2sge1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gIH1cbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWxhbmRpbmctcGFnZS1oZXJvIC5pbWFnZS1iYWNrZ3JvdW5kcyxcbi5wYXJhZ3JhcGgtLXR5cGUtLXNlY29uZGFyeS1sYW5kaW5nLXBhZ2UtaGVybyAuaW1hZ2UtYmFja2dyb3VuZHMge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLmhlcm8tY29udGFpbmVyLFxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5oZXJvLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctdG9wOiA0OHB4O1xuICBwYWRkaW5nLWJvdHRvbTogOTZweDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtaGVybyAuaGVyby1jb250YWluZXIgaDEsXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmhlcm8tY29udGFpbmVyIGgxIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtaGVybyAuaGVyby1jb250YWluZXIgcCxcbi5wYXJhZ3JhcGgtLXR5cGUtLXNlY29uZGFyeS1sYW5kaW5nLXBhZ2UtaGVybyAuaGVyby1jb250YWluZXIgcCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLmhlcm8tY29udGFpbmVyIGEsXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmhlcm8tY29udGFpbmVyIGEge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLmhlcm8tY29udGFpbmVyIGE6Zm9jdXMsXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmhlcm8tY29udGFpbmVyIGE6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggI0ZGRkZGRjtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWxhbmRpbmctcGFnZS1oZXJvIC5oZXJvLWNvbnRhaW5lciAuY3RhLXByaW1hcnktYnV0dG9uLFxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5oZXJvLWNvbnRhaW5lciAuY3RhLXByaW1hcnktYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMzJweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWxhbmRpbmctcGFnZS1oZXJvIC5oZXJvLWNvbnRhaW5lciAuY3RhLXNlY29uZGFyeS1idXR0b24sXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmhlcm8tY29udGFpbmVyIC5jdGEtc2Vjb25kYXJ5LWJ1dHRvbiB7XG4gIG1hcmdpbjogMjRweCAwO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLmhlcm8tY29udGFpbmVyIC5jdGEtc2Vjb25kYXJ5LWJ1dHRvbiAubG9naW4taWNvbi1idXR0b24tYmxhY2ssXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmhlcm8tY29udGFpbmVyIC5jdGEtc2Vjb25kYXJ5LWJ1dHRvbiAubG9naW4taWNvbi1idXR0b24tYmxhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBwYWRkaW5nOiAxNnB4IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtaGVybyAuaGVyby1jb250YWluZXIgLmN0YS1zZWNvbmRhcnktYnV0dG9uIC5sb2dpbi1pY29uLWJ1dHRvbi1ibGFjazo6YWZ0ZXIsXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmhlcm8tY29udGFpbmVyIC5jdGEtc2Vjb25kYXJ5LWJ1dHRvbiAubG9naW4taWNvbi1idXR0b24tYmxhY2s6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL29wZW4uc3ZnXCIpO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWxhbmRpbmctcGFnZS1oZXJvIC5oZXJvLWNvbnRhaW5lciAuY3RhLXNlY29uZGFyeS1idXR0b24gLmxvZ2luLWljb24tYnV0dG9uLWJsYWNrOmhvdmVyLFxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5oZXJvLWNvbnRhaW5lciAuY3RhLXNlY29uZGFyeS1idXR0b24gLmxvZ2luLWljb24tYnV0dG9uLWJsYWNrOmhvdmVyIHtcbiAgY29sb3I6ICM0OEE0QjY7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjNDhBNEI2O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLmhlcm8tY29udGFpbmVyIC5jdGEtc2Vjb25kYXJ5LWJ1dHRvbiAubG9naW4taWNvbi1idXR0b24tYmxhY2s6aG92ZXI6OmFmdGVyLFxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5oZXJvLWNvbnRhaW5lciAuY3RhLXNlY29uZGFyeS1idXR0b24gLmxvZ2luLWljb24tYnV0dG9uLWJsYWNrOmhvdmVyOjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy90ZWFsLW9wZW4uc3ZnXCIpO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWxhbmRpbmctcGFnZS1oZXJvIC5oZXJvLWNvbnRhaW5lciAuY3RhLXNlY29uZGFyeS1idXR0b24gLmxvZ2luLWljb24tYnV0dG9uLWJsYWNrOmZvY3VzLFxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5oZXJvLWNvbnRhaW5lciAuY3RhLXNlY29uZGFyeS1idXR0b24gLmxvZ2luLWljb24tYnV0dG9uLWJsYWNrOmZvY3VzIHtcbiAgYm9yZGVyOiAjRkZGRkZGIHNvbGlkO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLmZpZWxkLS1uYW1lLWZpZWxkLWJhY2tncm91bmQtaW1hZ2UsXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmZpZWxkLS1uYW1lLWZpZWxkLWJhY2tncm91bmQtaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtaGVybyAuZmllbGQtLW5hbWUtZmllbGQtYmFja2dyb3VuZC1pbWFnZSBpbWcsXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmZpZWxkLS1uYW1lLWZpZWxkLWJhY2tncm91bmQtaW1hZ2UgaW1nIHtcbiAgaGVpZ2h0OiA0NjBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtaGVybyAuZmllbGQtLW5hbWUtZmllbGQtY3RhLWJ1dHRvbi1pY29uLFxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5maWVsZC0tbmFtZS1maWVsZC1jdGEtYnV0dG9uLWljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2x1bW4tZ2FwOiAyMHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLmZpZWxkLS1uYW1lLWZpZWxkLWN0YS1idXR0b24taWNvbiAuZmllbGRfX2l0ZW06Zmlyc3Qtb2YtdHlwZSxcbi5wYXJhZ3JhcGgtLXR5cGUtLXNlY29uZGFyeS1sYW5kaW5nLXBhZ2UtaGVybyAuZmllbGQtLW5hbWUtZmllbGQtY3RhLWJ1dHRvbi1pY29uIC5maWVsZF9faXRlbTpmaXJzdC1vZi10eXBlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0MzRDhERjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLmZpZWxkLS1uYW1lLWZpZWxkLWN0YS1idXR0b24taWNvbiAuZmllbGRfX2l0ZW06Zmlyc3Qtb2YtdHlwZSBhLFxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5maWVsZC0tbmFtZS1maWVsZC1jdGEtYnV0dG9uLWljb24gLmZpZWxkX19pdGVtOmZpcnN0LW9mLXR5cGUgYSB7XG4gIGNvbG9yOiAjMDUwRDE1O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLmZpZWxkLS1uYW1lLWZpZWxkLWN0YS1idXR0b24taWNvbiAuZmllbGRfX2l0ZW06Zmlyc3Qtb2YtdHlwZTpob3Zlcixcbi5wYXJhZ3JhcGgtLXR5cGUtLXNlY29uZGFyeS1sYW5kaW5nLXBhZ2UtaGVybyAuZmllbGQtLW5hbWUtZmllbGQtY3RhLWJ1dHRvbi1pY29uIC5maWVsZF9faXRlbTpmaXJzdC1vZi10eXBlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ4QTRCNjtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtaGVybyAuZmllbGQtLW5hbWUtZmllbGQtY3RhLWJ1dHRvbi1pY29uIC5maWVsZF9faXRlbTpmaXJzdC1vZi10eXBlOmZvY3VzLFxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5maWVsZC0tbmFtZS1maWVsZC1jdGEtYnV0dG9uLWljb24gLmZpZWxkX19pdGVtOmZpcnN0LW9mLXR5cGU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzNEOERGO1xuICBib3JkZXI6ICMwNTBEMTUgMnB4IHNvbGlkO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLmZpZWxkLS1uYW1lLWZpZWxkLWN0YS1idXR0b24taWNvbiAuZmllbGRfX2l0ZW0gYSxcbi5wYXJhZ3JhcGgtLXR5cGUtLXNlY29uZGFyeS1sYW5kaW5nLXBhZ2UtaGVybyAuZmllbGQtLW5hbWUtZmllbGQtY3RhLWJ1dHRvbi1pY29uIC5maWVsZF9faXRlbSBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWxhbmRpbmctcGFnZS1oZXJvIC5jdGEtbG9jay1pY29uLFxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLmN0YS1sb2dpbi1pY29uLFxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5jdGEtbG9jay1pY29uLFxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5jdGEtbG9naW4taWNvbiB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLmN0YS1sb2NrLWljb24sXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmN0YS1sb2NrLWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbG9jay5zdmdcIik7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtaGVybyAubm9kZS0tdHlwZS1sYW5kaW5nLXBhZ2UgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQgPiAuZmllbGRfX2l0ZW06bnRoLWNoaWxkKDIpLFxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLm5vZGUtLXR5cGUtbGFuZGluZy1wYWdlIC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50IC5maWVsZF9faXRlbTpudGgtY2hpbGQoNCksXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLm5vZGUtLXR5cGUtbGFuZGluZy1wYWdlIC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50ID4gLmZpZWxkX19pdGVtOm50aC1jaGlsZCgyKSxcbi5wYXJhZ3JhcGgtLXR5cGUtLXNlY29uZGFyeS1sYW5kaW5nLXBhZ2UtaGVybyAubm9kZS0tdHlwZS1sYW5kaW5nLXBhZ2UgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQgLmZpZWxkX19pdGVtOm50aC1jaGlsZCg0KSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzIsIDg4LCAxMzgsIDAuMDUwOTgwMzkyMik7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtaGVybyAubm9kZS0tdHlwZS1sYW5kaW5nLXBhZ2UgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQgPiAuZmllbGRfX2l0ZW06bnRoLWNoaWxkKDMpLFxuLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLm5vZGUtLXR5cGUtbGFuZGluZy1wYWdlIC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50IC5maWVsZF9faXRlbTpudGgtY2hpbGQoNSksXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLm5vZGUtLXR5cGUtbGFuZGluZy1wYWdlIC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50ID4gLmZpZWxkX19pdGVtOm50aC1jaGlsZCgzKSxcbi5wYXJhZ3JhcGgtLXR5cGUtLXNlY29uZGFyeS1sYW5kaW5nLXBhZ2UtaGVybyAubm9kZS0tdHlwZS1sYW5kaW5nLXBhZ2UgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQgLmZpZWxkX19pdGVtOm50aC1jaGlsZCg1KSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzIsIDg4LCAxMzgsIDAuMTIxNTY4NjI3NSk7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMXB4KSBhbmQgKG1heC13aWR0aDogMTA1MHB4KSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWxhbmRpbmctcGFnZS1oZXJvIC5wYXJhZ3JhcGgtLXR5cGUtLWxhbmRpbmctcGFnZS1oZXJvIC5wZW9wbGUtaW1hZ2UsXG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXNlY29uZGFyeS1sYW5kaW5nLXBhZ2UtaGVybyAucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtaGVybyAucGVvcGxlLWltYWdlIHtcbiAgICBwYWRkaW5nOiAycmVtIDAgMDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtaGVybyAucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtaGVybyAucGVvcGxlLWltYWdlIC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50LFxuICAucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLnBlb3BsZS1pbWFnZSAuZmllbGQtLW5hbWUtZmllbGQtY29udGVudCB7XG4gICAgbWFyZ2luOiAxMHB4IDEwcHg7XG4gICAgdG9wOiAxNDBweDtcbiAgfVxufVxuXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmZvbnQtY29sb3IgaDEsXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmZvbnQtY29sb3IgcCB7XG4gIGNvbG9yOiAjMDUwRDE1O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2x1bW4tZ2FwOiAyMHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24gLmZpZWxkX19pdGVtOmZpcnN0LW9mLXR5cGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzNEOERGO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmZpZWxkLS1uYW1lLWZpZWxkLWJ1dHRvbiAuZmllbGRfX2l0ZW06Zmlyc3Qtb2YtdHlwZSBhIHtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmZpZWxkLS1uYW1lLWZpZWxkLWJ1dHRvbiAuZmllbGRfX2l0ZW06Zmlyc3Qtb2YtdHlwZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0OEE0QjY7XG4gIGNvbG9yOiAjMDUwRDE1O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24gLmZpZWxkX19pdGVtOmZpcnN0LW9mLXR5cGU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzNEOERGO1xuICBib3JkZXI6ICMwNTBEMTUgMnB4IHNvbGlkO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24gLmZpZWxkX19pdGVtIGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5icmVhZGNydW1iIGEsXG4ucGFyYWdyYXBoLS10eXBlLS1zZWNvbmRhcnktbGFuZGluZy1wYWdlLWhlcm8gLmJyZWFkY3J1bWItaXRlbS5hY3RpdmUge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1mYW1pbHk6IFwiRmphbGxhIE9uZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5wYXJhZ3JhcGgtLXR5cGUtLXR3by1jb21wb25lbnQtY2FyZC5pbWFnZS1tYXJnaW4gLndyYXBwZXIgLmdyaWQge1xuICBnYXA6IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10d28tY29tcG9uZW50LWNhcmQuaW1hZ2UtbWFyZ2luIC53cmFwcGVyIC5ncmlkIC5jb250ZW50LWJsb2NrIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCAjOTA5MTkzIHNvbGlkO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWxhbmRpbmctcGFnZS1oZXJvIC5oZXJvLWNvbnRhaW5lciwgLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5oZXJvLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMzJweCAyNHB4O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWxhbmRpbmctcGFnZS1oZXJvIC5wZW9wbGUtaW1hZ2Uge1xuICAgIHBhZGRpbmc6IDI0cHggMCAwO1xuICAgIHRvcDogMzBweDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtaGVybyAucGVvcGxlLWltYWdlIGgxIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLnBlb3BsZS1pbWFnZSAuZmllbGQtLW5hbWUtZmllbGQtY29udGVudCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWxhbmRpbmctcGFnZS1oZXJvIC5wZW9wbGUtaW1hZ2UgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQgcCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8gLmltYWdlLWJhY2tncm91bmRzIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIC5zZWNvbmRhcnktaW1hZ2UtYmFja2dyb3VuZHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnBhcmFncmFwaC0tdHlwZS0tY2xvdWQtbGFiIC5jbG91ZC1sYWItY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogcmdiKDUsIDEzLCAyMSk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luOiAwIDEyMHB4O1xuICBwYWRkaW5nOiAzMnB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY2xvdWQtbGFiIC5idXR0b24tc2Vjb25kYXJ5LS1hcnJvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDM0Q4REY7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiA4cHggMTZweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luOiAyNHB4IDAgMDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNsb3VkLWxhYiAuYnV0dG9uLXNlY29uZGFyeS0tYXJyb3cgYSB7XG4gIGNvbG9yOiAjMDUwRDE1O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY2xvdWQtbGFiIC5idXR0b24tc2Vjb25kYXJ5LS1hcnJvdzpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0OEE0QjY7XG4gIGNvbG9yOiAjMDUwRDE1O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY2xvdWQtbGFiIC5idXR0b24tc2Vjb25kYXJ5LS1hcnJvdzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDM0Q4REY7XG4gIGJvcmRlcjogIzA1MEQxNSAycHggc29saWQ7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1jbG91ZC1sYWIgLmJ1dHRvbi1zZWNvbmRhcnktLWFycm93OmhvdmVyIHtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1jbG91ZC1sYWIgLmJ1dHRvbi1zZWNvbmRhcnktLWFycm93OmhvdmVyOjphZnRlciB7XG4gIGZpbHRlcjogbm9uZTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNsb3VkLWxhYiAuaGVyby1jb250YWluZXIge1xuICBwYWRkaW5nOiA0NHB4IDAgNDRweDtcbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLnBhcmFncmFwaC0tdHlwZS0tY2l0LWNvbm5lY3QtY2FyZHMtIC5maWVsZC0tbmFtZS1maWVsZC1jaXQtY29ubmVjdC1jYXJkcy1jb250ZW50IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAyNHB4O1xuICBncmlkLWF1dG8tcm93czogYXV0bztcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc4OXB4KSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5wYXJhZ3JhcGgtLXR5cGUtLWNpdC1jb25uZWN0LWNhcmRzLSAuZmllbGQtLW5hbWUtZmllbGQtY2l0LWNvbm5lY3QtY2FyZHMtY29udGVudCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIH1cbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5wYXJhZ3JhcGgtLXR5cGUtLWNpdC1jb25uZWN0LWNhcmRzLSAuZmllbGQtLW5hbWUtZmllbGQtY2l0LWNvbm5lY3QtY2FyZHMtY29udGVudCA+IC5maWVsZF9faXRlbSB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gIGJveC1zaGFkb3c6IDBweCAyMHB4IDQwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gIG1hcmdpbjogMjBweCAwO1xuICBwYWRkaW5nOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDE7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLnBhcmFncmFwaC0tdHlwZS0tY2l0LWNvbm5lY3QtY2FyZHMtIC5maWVsZC0tbmFtZS1maWVsZC1jaXQtY29ubmVjdC1jYXJkcy1jb250ZW50ID4gLmZpZWxkX19pdGVtOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMTBweCAyMHB4IDQwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC40KTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5wYXJhZ3JhcGgtLXR5cGUtLWNpdC1jb25uZWN0LWNhcmRzLSAuZmllbGQtLW5hbWUtZmllbGQtdGFnIHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5wYXJhZ3JhcGgtLXR5cGUtLWNpdC1jb25uZWN0LWNhcmRzLSAuZmllbGQtLW5hbWUtZmllbGQtdGFnIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGQkZGO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBjb2xvcjogIzIwNTg4QTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICBwYWRkaW5nOiA0cHggOHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLnBhcmFncmFwaC0tdHlwZS0tY2l0LWNvbm5lY3QtY2FyZHMtIC5maWVsZC0tbmFtZS1maWVsZC10YWcsXG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uX19wYW5lbCAucGFyYWdyYXBoLS10eXBlLS1jaXQtY29ubmVjdC1jYXJkcy0gLmZpZWxkLS1uYW1lLWZpZWxkLWRlc2NyaXB0aW9uLFxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLnBhcmFncmFwaC0tdHlwZS0tY2l0LWNvbm5lY3QtY2FyZHMtIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24ge1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5wYXJhZ3JhcGgtLXR5cGUtLWNpdC1jb25uZWN0LWNhcmRzLSAuZmllbGQtLW5hbWUtZmllbGQtdGl0bGUsXG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uX19wYW5lbCAucGFyYWdyYXBoLS10eXBlLS1jaXQtY29ubmVjdC1jYXJkcy0gLmZpZWxkLS1uYW1lLWZpZWxkLWNhZGVuY2UsXG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uX19wYW5lbCAucGFyYWdyYXBoLS10eXBlLS1jaXQtY29ubmVjdC1jYXJkcy0gLmZpZWxkLS1uYW1lLWZpZWxkLXBvY3Mge1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLnBhcmFncmFwaC0tdHlwZS0tY2l0LWNvbm5lY3QtY2FyZHMtIC5maWVsZC0tbmFtZS1maWVsZC10aXRsZSB7XG4gIGNvbG9yOiAjMDUwRDE1O1xuICBmb250LWZhbWlseTogXCJGamFsbGEgT25lXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5wYXJhZ3JhcGgtLXR5cGUtLWNpdC1jb25uZWN0LWNhcmRzLSAuZmllbGQtLW5hbWUtZmllbGQtZGVzY3JpcHRpb24gcCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5wYXJhZ3JhcGgtLXR5cGUtLWNpdC1jb25uZWN0LWNhcmRzLSAuZmllbGQtLW5hbWUtZmllbGQtY2FkZW5jZSxcbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5wYXJhZ3JhcGgtLXR5cGUtLWNpdC1jb25uZWN0LWNhcmRzLSAuZmllbGQtLW5hbWUtZmllbGQtcG9jcyB7XG4gIGNvbHVtbi1nYXA6IDVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5wYXJhZ3JhcGgtLXR5cGUtLWNpdC1jb25uZWN0LWNhcmRzLSAuZmllbGQtLW5hbWUtZmllbGQtY2FkZW5jZSAuZmllbGRfX2xhYmVsLFxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLnBhcmFncmFwaC0tdHlwZS0tY2l0LWNvbm5lY3QtY2FyZHMtIC5maWVsZC0tbmFtZS1maWVsZC1wb2NzIC5maWVsZF9fbGFiZWwge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5wYXJhZ3JhcGgtLXR5cGUtLWNpdC1jb25uZWN0LWNhcmRzLSAuZmllbGQtLW5hbWUtZmllbGQtYnV0dG9uIC5maWVsZF9faXRlbSBhIHtcbiAgYm9yZGVyLXJhZGl1czogaW5pdGlhbDtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiA2cHggNHB4O1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMwNTBEMTU7XG4gIGNvbG9yOiAjMDUwRDE1O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLnBhcmFncmFwaC0tdHlwZS0tY2l0LWNvbm5lY3QtY2FyZHMtIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24gLmZpZWxkX19pdGVtIGE6OmFmdGVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDApIHNhdHVyYXRlKDEwMCUpIGludmVydCg2JSkgc2VwaWEoMzglKSBzYXR1cmF0ZSg1NzIlKSBodWUtcm90YXRlKDE2OGRlZykgYnJpZ2h0bmVzcygxMDQlKSBjb250cmFzdCgxMDUlKTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5wYXJhZ3JhcGgtLXR5cGUtLWNpdC1jb25uZWN0LWNhcmRzLSAuZmllbGQtLW5hbWUtZmllbGQtYnV0dG9uIC5maWVsZF9faXRlbSBhOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9kb3dubG9hZC5zdmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIGhlaWdodDogMThweDtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgd2lkdGg6IDE4cHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uX19wYW5lbCAucGFyYWdyYXBoLS10eXBlLS1jaXQtY29ubmVjdC1jYXJkcy0gLmZpZWxkLS1uYW1lLWZpZWxkLWJ1dHRvbiAuZmllbGRfX2l0ZW0gYTo6YWZ0ZXIge1xuICBtYXJnaW4tbGVmdDogOHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLnBhcmFncmFwaC0tdHlwZS0tY2l0LWNvbm5lY3QtY2FyZHMtIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24gLmZpZWxkX19pdGVtIGE6aG92ZXIge1xuICBjb2xvcjogIzIwNTg4QTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMyMDU4OEE7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uX19wYW5lbCAucGFyYWdyYXBoLS10eXBlLS1jaXQtY29ubmVjdC1jYXJkcy0gLmZpZWxkLS1uYW1lLWZpZWxkLWJ1dHRvbiAuZmllbGRfX2l0ZW0gYTpob3Zlcjo6YWZ0ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgc2F0dXJhdGUoMTAwJSkgaW52ZXJ0KDI1JSkgc2VwaWEoODElKSBzYXR1cmF0ZSg1OTMlKSBodWUtcm90YXRlKDE2OWRlZykgYnJpZ2h0bmVzcygxMDAlKSBjb250cmFzdCg4OSUpO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLnBhcmFncmFwaC0tdHlwZS0tY2l0LWNvbm5lY3QtY2FyZHMtIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24gLmZpZWxkX19pdGVtIGE6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuXG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uIHtcbiAgbWFyZ2luOiA2MHB4IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiB7XG4gIG1hcmdpbjogYXV0bztcbiAgbWF4LXdpZHRoOiAxMTQwcHg7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW46IDQwcHggYXV0bztcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiB1bCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IGJ1dHRvbiBzdmcge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDE2cHg7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gIHBhZGRpbmc6IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCBoMyB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50ID4gZGl2IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRTNFN0VCO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9faGVhZGVyIGJ1dHRvbiB7XG4gIGFsbDogaW5oZXJpdDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAxNnB4IDI0cHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9faGVhZGVyIGJ1dHRvbjpob3ZlciwgLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9faGVhZGVyIGJ1dHRvbjpmb2N1cyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0UzRTdFQjtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uX19oZWFkZXIgYnV0dG9uOmZvY3VzIHtcbiAgYm9yZGVyOiBzb2xpZCAycHggIzA1MEQxNTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX2hlYWRlciBidXR0b246Zm9jdXMgcmVjdCB7XG4gIGZpbGw6ICMwNTBEMTU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uX19oZWFkZXIgYnV0dG9uW2FyaWEtZXhwYW5kZWQ9ZmFsc2VdIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2FkZC5zdmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEuMjVyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEuNXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9faGVhZGVyIGJ1dHRvblthcmlhLWV4cGFuZGVkPWZhbHNlXSByZWN0IHtcbiAgZmlsbDogIzA1MEQxNTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX2hlYWRlciBidXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAjMDUwRDE1IDFweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IFthcmlhLWV4cGFuZGVkPXRydWVdIC52ZXJ0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIHtcbiAgcGFkZGluZzogMjRweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2x1bW4tZ2FwOiAxNnB4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMzJweCAwO1xuICByb3ctZ2FwOiAxNnB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLmZpZWxkLS1uYW1lLWZpZWxkLWJ1dHRvbiAuZmllbGRfX2l0ZW0gYSB7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uX19wYW5lbCAuZmllbGQtLW5hbWUtZmllbGQtYnV0dG9uIC5maWVsZF9faXRlbSBhOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24gLmZpZWxkX19pdGVtIGE6Zm9jdXMge1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLmZpZWxkLS1uYW1lLWZpZWxkLWJ1dHRvbiAuZmllbGRfX2l0ZW0gYTpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLmZpZWxkLS1uYW1lLWZpZWxkLWJ1dHRvbiAuZmllbGRfX2l0ZW0gYTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzA1MEQxNTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoNSwgMTMsIDIxLCAwLjUpO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLmZpZWxkLS1uYW1lLWZpZWxkLWJ1dHRvbiAuZmllbGRfX2l0ZW0gYTo6YmVmb3JlLCAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uX19wYW5lbCAuZmllbGQtLW5hbWUtZmllbGQtYnV0dG9uIC5maWVsZF9faXRlbSBhOjphZnRlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBzYXR1cmF0ZSgxMDAlKSBpbnZlcnQoNiUpIHNlcGlhKDM4JSkgc2F0dXJhdGUoNTcyJSkgaHVlLXJvdGF0ZSgxNjhkZWcpIGJyaWdodG5lc3MoMTA0JSkgY29udHJhc3QoMTA1JSk7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uX19wYW5lbCAuZmllbGQtLW5hbWUtZmllbGQtYnV0dG9uIC5maWVsZF9faXRlbSBhOmhvdmVyOjpiZWZvcmUsIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24gLmZpZWxkX19pdGVtIGE6aG92ZXI6OmFmdGVyLCAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uX19wYW5lbCAuZmllbGQtLW5hbWUtZmllbGQtYnV0dG9uIC5maWVsZF9faXRlbSBhOmZvY3VzOjpiZWZvcmUsIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24gLmZpZWxkX19pdGVtIGE6Zm9jdXM6OmFmdGVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24gLmZpZWxkX19pdGVtIGE6aG92ZXI6OmJlZm9yZSwgLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLmZpZWxkLS1uYW1lLWZpZWxkLWJ1dHRvbiAuZmllbGRfX2l0ZW0gYTpob3Zlcjo6YWZ0ZXIsIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24gLmZpZWxkX19pdGVtIGE6YWN0aXZlOjpiZWZvcmUsIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb25fX3BhbmVsIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24gLmZpZWxkX19pdGVtIGE6YWN0aXZlOjphZnRlciwgLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbl9fcGFuZWwgLmZpZWxkLS1uYW1lLWZpZWxkLWJ1dHRvbiAuZmllbGRfX2l0ZW0gYTpmb2N1czo6YmVmb3JlLCAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uX19wYW5lbCAuZmllbGQtLW5hbWUtZmllbGQtYnV0dG9uIC5maWVsZF9faXRlbSBhOmZvY3VzOjphZnRlciB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbi1jb250ZW50IC5maWVsZC0tbmFtZS1maWVsZC1hY2NvcmRpb24tYm9keSBpbWcge1xuICBtYXJnaW46IDhweCAxNnB4IDAgMDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIC5maWVsZF9faXRlbSAuYWNjb3JkaW9uX19oZWFkZXIgYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMzNTUzO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcmVtb3ZlLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMS4yNXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMS41cmVtO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmZpZWxkX19pdGVtIC5hY2NvcmRpb25fX2hlYWRlciBidXR0b25bYXJpYS1leHBhbmRlZD10cnVlXSByZWN0IHtcbiAgZmlsbDogI0ZGRkZGRjtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuZmllbGRfX2l0ZW0gLmFjY29yZGlvbl9faGVhZGVyIGJ1dHRvblthcmlhLWV4cGFuZGVkPXRydWVdOmhvdmVyLCAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmZpZWxkX19pdGVtIC5hY2NvcmRpb25fX2hlYWRlciBidXR0b25bYXJpYS1leHBhbmRlZD10cnVlXTphY3RpdmUsIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuZmllbGRfX2l0ZW0gLmFjY29yZGlvbl9faGVhZGVyIGJ1dHRvblthcmlhLWV4cGFuZGVkPXRydWVdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0UzRTdFQjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL21pbnVzLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMS4yNXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMS41cmVtO1xuICBjb2xvcjogIzA1MEQxNTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuZmllbGRfX2l0ZW0gLmFjY29yZGlvbl9faGVhZGVyIGJ1dHRvblthcmlhLWV4cGFuZGVkPXRydWVdOmhvdmVyIHJlY3QsIC5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuZmllbGRfX2l0ZW0gLmFjY29yZGlvbl9faGVhZGVyIGJ1dHRvblthcmlhLWV4cGFuZGVkPXRydWVdOmFjdGl2ZSByZWN0LCAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmZpZWxkX19pdGVtIC5hY2NvcmRpb25fX2hlYWRlciBidXR0b25bYXJpYS1leHBhbmRlZD10cnVlXTpmb2N1cyByZWN0IHtcbiAgZmlsbDogIzA1MEQxNTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuZmllbGRfX2l0ZW06Zmlyc3Qtb2YtdHlwZSBkaXYsXG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmZpZWxkX19pdGVtOmZpcnN0LW9mLXR5cGUgYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0ge1xuICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDAgMDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWFjY29yZGlvbiAuZmllbGRfX2l0ZW06bGFzdC1vZi10eXBlIGRpdiB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCA4cHggOHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3ODlweCkge1xuICAubm9kZS0tdHlwZS1zZXJ2aWNlIC5ub2RlX19jb250ZW50LFxuICAubm9kZS0tdHlwZS1vZmZpY2VzIC5ub2RlX19jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNDM0Q4REYgMjAlLCAjRkZGRkZGIDAlKTtcbiAgfVxufVxuLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbixcbi5ub2RlLS10eXBlLW9mZmljZXMgLmxheW91dC0tdHdvY29sLXNlY3Rpb24ge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAzZnI7XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwic2lkZWJhciBjb250ZW50XCI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3ODlweCkge1xuICAubm9kZS0tdHlwZS1zZXJ2aWNlIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uLFxuICAubm9kZS0tdHlwZS1vZmZpY2VzIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImNvbnRlbnRcIiBcInNpZGViYXJcIjtcbiAgfVxufVxuLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0LFxuLm5vZGUtLXR5cGUtb2ZmaWNlcyAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IHtcbiAgYmFja2dyb3VuZDogI0MzRDhERjtcbiAgZ3JpZC1hcmVhOiBzaWRlYmFyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzg5cHgpIHtcbiAgLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0LFxuICAubm9kZS0tdHlwZS1vZmZpY2VzIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tZmlyc3Qge1xuICAgIGJvcmRlci1yYWRpdXM6IDBweCAyMHB4IDBweCAwcHg7XG4gIH1cbn1cbi5ub2RlLS10eXBlLXNlcnZpY2UgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLmxheW91dF9fcmVnaW9uLS1maXJzdCAudmlldy1jb250ZW50LFxuLm5vZGUtLXR5cGUtb2ZmaWNlcyAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IC52aWV3LWNvbnRlbnQge1xuICBtYXJnaW46IDMycHggMTZweCAwIDA7XG59XG4ubm9kZS0tdHlwZS1zZXJ2aWNlIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tZmlyc3QgLnZpZXctY29udGVudCAudmlld3Mtcm93LFxuLm5vZGUtLXR5cGUtb2ZmaWNlcyAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IC52aWV3LWNvbnRlbnQgLnZpZXdzLXJvdyB7XG4gIHBhZGRpbmc6IDhweCAwO1xufVxuLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IC52aWV3LWNvbnRlbnQgLnZpZXdzLXJvdzpub3QoOmxhc3Qtb2YtdHlwZSksXG4ubm9kZS0tdHlwZS1vZmZpY2VzIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tZmlyc3QgLnZpZXctY29udGVudCAudmlld3Mtcm93Om5vdCg6bGFzdC1vZi10eXBlKSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNjE2MjY1O1xufVxuLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IC52aWV3LWNvbnRlbnQgLnZpZXdzLXJvdyBhLFxuLm5vZGUtLXR5cGUtb2ZmaWNlcyAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IC52aWV3LWNvbnRlbnQgLnZpZXdzLXJvdyBhIHtcbiAgY29sb3I6ICMwNTBEMTU7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBwYWRkaW5nOiA4cHggMTZweDtcbn1cbi5ub2RlLS10eXBlLXNlcnZpY2UgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLmxheW91dF9fcmVnaW9uLS1maXJzdCAudmlldy1jb250ZW50IC52aWV3cy1yb3cgYTphY3RpdmUsIC5ub2RlLS10eXBlLXNlcnZpY2UgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLmxheW91dF9fcmVnaW9uLS1maXJzdCAudmlldy1jb250ZW50IC52aWV3cy1yb3cgYTpob3ZlciwgLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IC52aWV3LWNvbnRlbnQgLnZpZXdzLXJvdyBhOmZvY3VzLFxuLm5vZGUtLXR5cGUtb2ZmaWNlcyAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IC52aWV3LWNvbnRlbnQgLnZpZXdzLXJvdyBhOmFjdGl2ZSxcbi5ub2RlLS10eXBlLW9mZmljZXMgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLmxheW91dF9fcmVnaW9uLS1maXJzdCAudmlldy1jb250ZW50IC52aWV3cy1yb3cgYTpob3Zlcixcbi5ub2RlLS10eXBlLW9mZmljZXMgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLmxheW91dF9fcmVnaW9uLS1maXJzdCAudmlldy1jb250ZW50IC52aWV3cy1yb3cgYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMzM1NTM7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IC5uYXYsXG4ubm9kZS0tdHlwZS1vZmZpY2VzIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tZmlyc3QgLm5hdiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IHVsIGxpLFxuLm5vZGUtLXR5cGUtb2ZmaWNlcyAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IHVsIGxpIHtcbiAgcGFkZGluZzogOHB4IDA7XG59XG4ubm9kZS0tdHlwZS1zZXJ2aWNlIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tZmlyc3QgdWwgbGk6bm90KDpsYXN0LW9mLXR5cGUpLFxuLm5vZGUtLXR5cGUtb2ZmaWNlcyAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IHVsIGxpOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNjE2MjY1O1xufVxuLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IC5uYXYtbGluayxcbi5ub2RlLS10eXBlLW9mZmljZXMgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLmxheW91dF9fcmVnaW9uLS1maXJzdCAubmF2LWxpbmsge1xuICBjb2xvcjogIzA1MEQxNTtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHBhZGRpbmc6IDhweCAxNnB4O1xufVxuLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLWZpcnN0IC5uYXYtbGluazphY3RpdmUsIC5ub2RlLS10eXBlLXNlcnZpY2UgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLmxheW91dF9fcmVnaW9uLS1maXJzdCAubmF2LWxpbms6aG92ZXIsIC5ub2RlLS10eXBlLXNlcnZpY2UgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLmxheW91dF9fcmVnaW9uLS1maXJzdCAubmF2LWxpbms6Zm9jdXMsXG4ubm9kZS0tdHlwZS1vZmZpY2VzIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tZmlyc3QgLm5hdi1saW5rOmFjdGl2ZSxcbi5ub2RlLS10eXBlLW9mZmljZXMgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLmxheW91dF9fcmVnaW9uLS1maXJzdCAubmF2LWxpbms6aG92ZXIsXG4ubm9kZS0tdHlwZS1vZmZpY2VzIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tZmlyc3QgLm5hdi1saW5rOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0UzRTdFQjtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4ubm9kZS0tdHlwZS1zZXJ2aWNlIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tZmlyc3QgLm5hdiA+IC5tZW51LWl0ZW0tLWFjdGl2ZS10cmFpbCA+IGEsXG4ubm9kZS0tdHlwZS1vZmZpY2VzIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tZmlyc3QgLm5hdiA+IC5tZW51LWl0ZW0tLWFjdGl2ZS10cmFpbCA+IGEge1xuICBiYWNrZ3JvdW5kOiAjMTMzNTUzO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5ub2RlLS10eXBlLXNlcnZpY2UgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLmxheW91dF9fcmVnaW9uLS1zZWNvbmQsXG4ubm9kZS0tdHlwZS1vZmZpY2VzIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tc2Vjb25kIHtcbiAgZ3JpZC1hcmVhOiBjb250ZW50O1xuICBwYWRkaW5nOiA0MHB4O1xufVxuLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLXNlY29uZCAuZmllbGQtLW5hbWUtZmllbGQtYXVkaWVuY2UsXG4ubm9kZS0tdHlwZS1vZmZpY2VzIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tc2Vjb25kIC5maWVsZC0tbmFtZS1maWVsZC1hdWRpZW5jZSB7XG4gIGNvbHVtbi1nYXA6IDVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgcGFkZGluZzogMCAwIDQwcHg7XG59XG4ubm9kZS0tdHlwZS1zZXJ2aWNlIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tc2Vjb25kIC5maWVsZC0tbmFtZS1maWVsZC1hdWRpZW5jZSAuZmllbGRfX2xhYmVsLFxuLm5vZGUtLXR5cGUtb2ZmaWNlcyAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLXNlY29uZCAuZmllbGQtLW5hbWUtZmllbGQtYXVkaWVuY2UgLmZpZWxkX19sYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLXNlY29uZCAuZmllbGQtLW5hbWUtZmllbGQtYXVkaWVuY2UgLmZpZWxkX19pdGVtLFxuLm5vZGUtLXR5cGUtb2ZmaWNlcyAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLXNlY29uZCAuZmllbGQtLW5hbWUtZmllbGQtYXVkaWVuY2UgLmZpZWxkX19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLXNlY29uZCAuZmllbGQtLW5hbWUtZmllbGQtYXVkaWVuY2UgLmZpZWxkX19pdGVtIGEsXG4ubm9kZS0tdHlwZS1vZmZpY2VzIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tc2Vjb25kIC5maWVsZC0tbmFtZS1maWVsZC1hdWRpZW5jZSAuZmllbGRfX2l0ZW0gYSB7XG4gIGNvbG9yOiAjMDUwRDE1O1xuICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgY3Vyc29yOiBhdXRvO1xufVxuLm5vZGUtLXR5cGUtc2VydmljZSAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLXNlY29uZCAuYWNjb3JkaW9uLFxuLm5vZGUtLXR5cGUtb2ZmaWNlcyAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAubGF5b3V0X19yZWdpb24tLXNlY29uZCAuYWNjb3JkaW9uIHtcbiAgcGFkZGluZzogMDtcbn1cbi5ub2RlLS10eXBlLXNlcnZpY2UgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLmxheW91dF9fcmVnaW9uLS1zZWNvbmQgLnBhcmFncmFwaC0tdHlwZS0tdGhyZWUtaW1hZ2UtY2FyZCxcbi5ub2RlLS10eXBlLW9mZmljZXMgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLmxheW91dF9fcmVnaW9uLS1zZWNvbmQgLnBhcmFncmFwaC0tdHlwZS0tdGhyZWUtaW1hZ2UtY2FyZCB7XG4gIHBhZGRpbmc6IDA7XG59XG4ubm9kZS0tdHlwZS1zZXJ2aWNlIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIC5sYXlvdXRfX3JlZ2lvbi0tc2Vjb25kIC5maWVsZC0tbmFtZS10aXRsZSxcbi5ub2RlLS10eXBlLW9mZmljZXMgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLmxheW91dF9fcmVnaW9uLS1zZWNvbmQgLmZpZWxkLS1uYW1lLXRpdGxlIHtcbiAgcGFkZGluZzogMTZweCAwO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5ub2RlLS10eXBlLXNlcnZpY2UgLmxheW91dC0tdHdvY29sLXNlY3Rpb24gLnBhcmFncmFwaC0tdHlwZS0tY29udGVudC1zZWN0aW9uLFxuLm5vZGUtLXR5cGUtb2ZmaWNlcyAubGF5b3V0LS10d29jb2wtc2VjdGlvbiAucGFyYWdyYXBoLS10eXBlLS1jb250ZW50LXNlY3Rpb24ge1xuICBib3JkZXItdG9wOiAjOTA5MTkzIDJweCBzb2xpZDtcbiAgcGFkZGluZzogNDBweCAwO1xufVxuLm5vZGUtLXR5cGUtc2VydmljZSAuYnJlYWRjcnVtYiBhLFxuLm5vZGUtLXR5cGUtc2VydmljZSAuYnJlYWRjcnVtYi1pdGVtLmFjdGl2ZSxcbi5ub2RlLS10eXBlLW9mZmljZXMgLmJyZWFkY3J1bWIgYSxcbi5ub2RlLS10eXBlLW9mZmljZXMgLmJyZWFkY3J1bWItaXRlbS5hY3RpdmUge1xuICBjb2xvcjogIzA1MEQxNTtcbiAgZm9udC1mYW1pbHk6IFwiRmphbGxhIE9uZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5ub2RlLS10eXBlLW9mZmljZXMgLnBhcmFncmFwaC0tdHlwZS0tdHdvLWltYWdlLWNhcmQgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQtdGhyZWUtY29sdW1uIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnI7XG59XG5cbi5ub2RlLS10eXBlLXBhZ2Uge1xuICBib3JkZXItdG9wOiAjMTMzNTUzIDMycHggc29saWQ7XG59XG4ubm9kZS0tdHlwZS1wYWdlIC53cmFwcGVyIHtcbiAgcGFkZGluZzogNTZweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5ub2RlLS10eXBlLWxlYWRlcnNoaXAtYmlvIC5ub2RlX19jb250ZW50IHtcbiAgcGFkZGluZzogNjBweCAwO1xufVxuLm5vZGUtLXR5cGUtbGVhZGVyc2hpcC1iaW8gaDEsIC5ub2RlLS10eXBlLWxlYWRlcnNoaXAtYmlvIC5maWVsZC0tbmFtZS1maWVsZC1wb3NpdGlvbi10aXRsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5ub2RlLS10eXBlLWxlYWRlcnNoaXAtYmlvIC5maWVsZC0tbmFtZS1maWVsZC1pbWFnZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nOiAwIDIwcHggMCAwO1xufVxuLm5vZGUtLXR5cGUtbGVhZGVyc2hpcC1iaW8gLmZpZWxkLS1uYW1lLWZpZWxkLWltYWdlIGltZyB7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gIHdpZHRoOiAyMzdweDtcbn1cbi5ub2RlLS10eXBlLWxlYWRlcnNoaXAtYmlvIC5hY2NvcmRpb24ge1xuICBwYWRkaW5nOiAyMHB4IDA7XG59XG4ubm9kZS0tdHlwZS1sZWFkZXJzaGlwLWJpbyAuYnJlYWRjcnVtYiBhLCAubm9kZS0tdHlwZS1sZWFkZXJzaGlwLWJpbyAuYnJlYWRjcnVtYi1pdGVtLmFjdGl2ZSB7XG4gIGNvbG9yOiAjMDUwRDE1O1xuICBmb250LWZhbWlseTogXCJGamFsbGEgT25lXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmJsb2NrLXZpZXdzLWJsb2NrbGVhZGVyc2hpcC1ibG9jay0xIHtcbiAgcGFkZGluZzogNjBweCAwO1xufVxuLmJsb2NrLXZpZXdzLWJsb2NrbGVhZGVyc2hpcC1ibG9jay0xIGgyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuLmJsb2NrLXZpZXdzLWJsb2NrbGVhZGVyc2hpcC1ibG9jay0xIC52aWV3LWxlYWRlcnNoaXAgLnZpZXctY29udGVudC5yb3cge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmciAxZnIgMWZyO1xuICBnYXA6IDI0cHg7XG59XG4uYmxvY2stdmlld3MtYmxvY2tsZWFkZXJzaGlwLWJsb2NrLTEgLnZpZXctbGVhZGVyc2hpcCAudmlldy1jb250ZW50LnJvdyBhIHtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG4uYmxvY2stdmlld3MtYmxvY2tsZWFkZXJzaGlwLWJsb2NrLTEgLnZpZXctbGVhZGVyc2hpcCAudmlldy1jb250ZW50LnJvdyA+IC52aWV3cy1yb3cgLmNhcmQtbGluayB7XG4gIHBhZGRpbmc6IDAgMCAyLjVyZW07XG59XG4uYmxvY2stdmlld3MtYmxvY2tsZWFkZXJzaGlwLWJsb2NrLTEgLnZpZXctbGVhZGVyc2hpcCAudmlldy1jb250ZW50LnJvdyA+IC52aWV3cy1yb3cgLmNhcmQtbGluayAubGVhZGVyc2hpcC1iaW8tY2FyZC1pbWcgaW1nIHtcbiAgYm9yZGVyLXJhZGl1czogMjRweCAyNHB4IDAgMDtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYmxvY2stdmlld3MtYmxvY2tsZWFkZXJzaGlwLWJsb2NrLTEgLnZpZXctbGVhZGVyc2hpcCAudmlldy1jb250ZW50LnJvdyA+IC52aWV3cy1yb3cgLmNhcmQtbGluayAubGVhZGVyc2hpcC1iaW8tY29udGVudCB7XG4gIHBhZGRpbmc6IDE2cHg7XG59XG4uYmxvY2stdmlld3MtYmxvY2tsZWFkZXJzaGlwLWJsb2NrLTEgLnZpZXctbGVhZGVyc2hpcCAudmlldy1jb250ZW50LnJvdyAub3VyLWxlYWRlcnMtd3JhcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gIGJveC1zaGFkb3c6IDBweCAyMHB4IDQwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzUuOThweCkge1xuICAuYmxvY2stdmlld3MtYmxvY2tsZWFkZXJzaGlwLWJsb2NrLTEgLnZpZXctbGVhZGVyc2hpcCAudmlldy1jb250ZW50LnJvdyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgcGFkZGluZzogMTZweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLmJsb2NrLXZpZXdzLWJsb2NrbGVhZGVyc2hpcC1ibG9jay0xIC52aWV3LWxlYWRlcnNoaXAgLnZpZXctY29udGVudC5yb3cge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICB9XG59XG4udmlldy1wcm9kdWN0LXJvYWRtYXAgLnZpZXctaGVhZGVyLFxuLnZpZXctcHJvZHVjdC1yb2FkbWFwIGgxIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzMzU1MztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udmlldy1wcm9kdWN0LXJvYWRtYXAgLnZpZXctaGVhZGVyIC53cmFwcGVyLFxuLnZpZXctcHJvZHVjdC1yb2FkbWFwIGgxIC53cmFwcGVyIHtcbiAgcGFkZGluZzogMzBweCAwO1xufVxuLnZpZXctcHJvZHVjdC1yb2FkbWFwIC52aWV3LWZpbHRlcnMge1xuICBtYXJnaW46IDMycHggNDBweDtcbn1cbi52aWV3LXByb2R1Y3Qtcm9hZG1hcCAudmlldy1maWx0ZXJzIC5mbGV4LXdyYXAge1xuICBjb2x1bW4tZ2FwOiAyMHB4O1xufVxuLnZpZXctcHJvZHVjdC1yb2FkbWFwIC52aWV3LWZpbHRlcnMgLmZvcm0tc2VsZWN0IHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBjb2xvcjogIzEzMzU1MztcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIHBhZGRpbmc6IDAgMjRweDtcbn1cbi52aWV3LXByb2R1Y3Qtcm9hZG1hcCAudmlldy1maWx0ZXJzIC5mb3JtLXNlbGVjdDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzIwNTg4QTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMCAjMjA1ODhBO1xufVxuLnZpZXctcHJvZHVjdC1yb2FkbWFwIC52aWV3LWNvbnRlbnQucm93IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0UzRTdFQjtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnI7XG59XG4udmlldy1wcm9kdWN0LXJvYWRtYXAgLnZpZXctY29udGVudC5yb3cgLnZpZXdzLXJvdyB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gIGJveC1zaGFkb3c6IDBweCAyMHB4IDQwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gIG1hcmdpbjogMjBweCAwO1xuICBwYWRkaW5nOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXJnaW46IDE2cHg7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG59XG4udmlldy1wcm9kdWN0LXJvYWRtYXAgLnZpZXctY29udGVudC5yb3cgLnZpZXdzLXJvdzpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDEwcHggMjBweCA0MHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG4udmlldy1wcm9kdWN0LXJvYWRtYXAgLnZpZXctY29udGVudC5yb3cgLnZpZXdzLXJvdyBoNSBhIHtcbiAgY29sb3I6ICMwNTBEMTU7XG4gIGZvbnQtZmFtaWx5OiBcIkZqYWxsYSBPbmVcIiwgc2Fucy1zZXJpZjtcbn1cbi52aWV3LXByb2R1Y3Qtcm9hZG1hcCAudmlldy1jb250ZW50LnJvdyAudmlld3Mtcm93IC52aWV3cy1maWVsZC10aXRsZSB7XG4gIHBhZGRpbmc6IDE2cHggMDtcbn1cbi52aWV3LXByb2R1Y3Qtcm9hZG1hcCAudmlldy1jb250ZW50LnJvdyAudmlld3Mtcm93IC52aWV3cy1maWVsZC10aXRsZSBoNSB7XG4gIG1hcmdpbjogMDtcbn1cbi52aWV3LXByb2R1Y3Qtcm9hZG1hcCAudmlldy1jb250ZW50LnJvdyAudmlld3Mtcm93IC52aWV3cy1maWVsZC1maWVsZC1jaXQtc2VydmljZS1hcmVhLW93bmVyLFxuLnZpZXctcHJvZHVjdC1yb2FkbWFwIC52aWV3LWNvbnRlbnQucm93IC52aWV3cy1yb3cgLnZpZXdzLWZpZWxkLWZpZWxkLXRpbWVzdGFtcCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi52aWV3LXByb2R1Y3Qtcm9hZG1hcCAudmlldy1jb250ZW50LnJvdyAudmlld3Mtcm93IC52aWV3cy1maWVsZC1maWVsZC1jaXQtc2VydmljZS1hcmVhLW93bmVyIC5maWVsZC1jb250ZW50LFxuLnZpZXctcHJvZHVjdC1yb2FkbWFwIC52aWV3LWNvbnRlbnQucm93IC52aWV3cy1yb3cgLnZpZXdzLWZpZWxkLWZpZWxkLXRpbWVzdGFtcCAuZmllbGQtY29udGVudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi52aWV3LXByb2R1Y3Qtcm9hZG1hcCAudmlldy1jb250ZW50LnJvdyAudmlld3Mtcm93IC5saWdodC1ncmF5LFxuLnZpZXctcHJvZHVjdC1yb2FkbWFwIC52aWV3LWNvbnRlbnQucm93IC52aWV3cy1yb3cgLmxpZ2h0LXllbGxvdyxcbi52aWV3LXByb2R1Y3Qtcm9hZG1hcCAudmlldy1jb250ZW50LnJvdyAudmlld3Mtcm93IC5saWdodC1ncmVlbixcbi52aWV3LXByb2R1Y3Qtcm9hZG1hcCAudmlldy1jb250ZW50LnJvdyAudmlld3Mtcm93IC5saWdodC1ibHVlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLnJvYWRtYXAtcXVhcnRlcjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggI0UzRTdFQjtcbn1cblxuLnJvYWRtYXAtaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzMzU1MztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwIDE2cHggMCA4cHg7XG59XG4ucm9hZG1hcC1oZWFkZXIgaDIsXG4ucm9hZG1hcC1oZWFkZXIgcCB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbn1cbi5yb2FkbWFwLWhlYWRlciBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3ODlweCkge1xuICAudmlldy1wcm9kdWN0LXJvYWRtYXAgLnZpZXctY29udGVudC5yb3cge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICB9XG59XG4ubW9kYWwtd3JhcHBlciBhIHtcbiAgY29sb3I6ICMwNTBEMTU7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5tb2RhbC5vcGVuIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG59XG4ubW9kYWwtYmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNSwgMTMsIDIxLCAwLjgpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLm1vZGFsLWNvbnRhaW5lciB7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIG1heC13aWR0aDogNTUwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogNDBweCA1NnB4O1xufVxuLm1vZGFsLWNvbnRhaW5lciBkaXYge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG4ubW9kYWwtY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxNXB4O1xuICB0b3A6IDE1cHg7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGNvbG9yOiAjMDUwRDE1O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tdHdvLWltYWdlLWNhcmQge1xuICBwYWRkaW5nOiA1NnB4IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgbWF4LXdpZHRoOiAxMTQwcHg7XG4gIHJpZ2h0OiAwO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdHdvLWltYWdlLWNhcmQgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQtdGhyZWUtY29sdW1uIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICBnYXA6IDI0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXR3by1pbWFnZS1jYXJkIC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50LXRocmVlLWNvbHVtbiA+IC5maWVsZF9faXRlbSB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gIGJveC1zaGFkb3c6IDBweCAyMHB4IDQwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gIG1hcmdpbjogMjBweCAwO1xuICBwYWRkaW5nOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10d28taW1hZ2UtY2FyZCAuZmllbGQtLW5hbWUtZmllbGQtY29udGVudC10aHJlZS1jb2x1bW4gPiAuZmllbGRfX2l0ZW06aG92ZXIge1xuICBib3gtc2hhZG93OiAxMHB4IDIwcHggNDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdHdvLWltYWdlLWNhcmQgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQtdGhyZWUtY29sdW1uIC5maWVsZC0tbmFtZS1maWVsZC1pbWFnZSBpbWcge1xuICBib3JkZXItcmFkaXVzOiAyNHB4IDI0cHggMCAwO1xuICB3aWR0aDogMTAwJTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXR3by1pbWFnZS1jYXJkIC5wYXJhZ3JhcGgtLXR5cGUtLXR3by1pbWFnZS1jYXJkLWNvbnRlbnQgLnR3by1pbWFnZS1jYXJkLXBhcmFncmFwaCB7XG4gIHBhZGRpbmc6IDE2cHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10d28taW1hZ2UtY2FyZCAucGFyYWdyYXBoLS10eXBlLS10d28taW1hZ2UtY2FyZC1jb250ZW50IC50d28taW1hZ2UtY2FyZC1wYXJhZ3JhcGggc3BhbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdHdvLWltYWdlLWNhcmQgLnBhcmFncmFwaC0tdHlwZS0tdHdvLWltYWdlLWNhcmQtY29udGVudCAudHdvLWltYWdlLWNhcmQtcGFyYWdyYXBoIHNwYW4gaW1nIHtcbiAgd2lkdGg6IDIwcHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10d28taW1hZ2UtY2FyZCAucGFyYWdyYXBoLS10eXBlLS10d28taW1hZ2UtY2FyZC1jb250ZW50IC50d28taW1hZ2UtY2FyZC1wYXJhZ3JhcGggLmZpZWxkLS1uYW1lLWZpZWxkLXRpdGxlIHtcbiAgY29sb3I6ICMwNTBEMTU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0tdHdvLWltYWdlLWNhcmQgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQtdGhyZWUtY29sdW1uIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxufVxuLmZpZWxkLS1uYW1lLWZpZWxkLWxlYWRlcnNoaXAtYmlvcyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMjRweDtcbiAgZ3JpZC1hdXRvLXJvd3M6IGF1dG87XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyIDFmciAxZnI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3ODlweCkge1xuICAuZmllbGQtLW5hbWUtZmllbGQtbGVhZGVyc2hpcC1iaW9zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NDBweCkge1xuICAuZmllbGQtLW5hbWUtZmllbGQtbGVhZGVyc2hpcC1iaW9zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxufVxuLmZpZWxkLS1uYW1lLWZpZWxkLWxlYWRlcnNoaXAtYmlvcyAubGVhZGVyc2hpcC1iaW8tY29udGVudCB7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuLmZpZWxkLS1uYW1lLWZpZWxkLWxlYWRlcnNoaXAtYmlvcyAubGVhZGVyc2hpcC1iaW8tY29udGVudCAuY2FyZC1oZWFkaW5nID4gc3BhbiB7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4uZmllbGQtLW5hbWUtZmllbGQtbGVhZGVyc2hpcC1iaW9zID4gLmZpZWxkX19pdGVtIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGdyaWQtY29sdW1uLWVuZDogc3BhbiAxO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmZpZWxkLS1uYW1lLWZpZWxkLWxlYWRlcnNoaXAtYmlvcyA+IC5maWVsZF9faXRlbSAuY2FyZC1saW5rIHtcbiAgcGFkZGluZzogMCAwIDQwcHg7XG59XG4uZmllbGQtLW5hbWUtZmllbGQtbGVhZGVyc2hpcC1iaW9zID4gLmZpZWxkX19pdGVtIGltZyB7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHggMjRweCAwIDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubm9kZS0tdHlwZS1vZmZpY2VzIC5maWVsZC0tbmFtZS10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm5vZGUtLXR5cGUtb2ZmaWNlcyAucGFyYWdyYXBoLS10eXBlLS1sZWFkZXJzaGlwLWJpb3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5ub2RlLS10eXBlLW9mZmljZXMgLnBhcmFncmFwaC0tdHlwZS0tbGVhZGVyc2hpcC1iaW9zIC5ub2RlX19jb250ZW50IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4ubm9kZS0tdHlwZS1vZmZpY2VzIC5wYXJhZ3JhcGgtLXR5cGUtLWxlYWRlcnNoaXAtYmlvcyAuZmllbGQtLW5hbWUtZmllbGQtbGVhZGVyc2hpcC1iaW9zIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnI7XG59XG5cbi5wYXJhZ3JhcGgtLXR5cGUtLWxlYWRlcnNoaXAtYmlvcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDM0Q4REY7XG4gIHBhZGRpbmc6IDQwcHggMDtcbn1cblxuLyogR0VORVJBTCBTVFlMRVNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuYm9keSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi8qIENPTE9SUyBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbmEge1xuICBjb2xvcjogIzAwNzlDMDtcbn1cblxuLmJnLWludmVyc2Uge1xuICBiYWNrZ3JvdW5kOiByZ2IoMjU1LCA3OCwgNDYpICFpbXBvcnRhbnQ7XG59XG5cbi5zaXRlLWZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICMwMDc5QzA7XG59XG5cbi5tZW51LS1tYWluIGxpIGEge1xuICBjb2xvcjogcmdiKDI1NSwgNzgsIDQ2KTtcbn1cblxuLm1lbnUtLWFjY291bnQgbGkgYSB7XG4gIGNvbG9yOiByZ2IoMjU1LCA3OCwgNDYpO1xufVxuXG4uc2l0ZS1uYW1lLXNsb2dhbiBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uY2FyZC1ncm91cCBpbWcge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5jYXJkLWdyb3VwIC5maWVsZC0tdHlwZS1pbWFnZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLnNsaWNrIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zbGljayA+IGRpdiB7XG4gIG1hcmdpbjogMCAxNXB4O1xufSIsIi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvci1tb2RlLW1peGluXG5AbWl4aW4gY29sb3ItbW9kZSgkbW9kZTogbGlnaHQsICRyb290OiBmYWxzZSkge1xuICBAaWYgJGNvbG9yLW1vZGUtdHlwZSA9PSBcIm1lZGlhLXF1ZXJ5XCIge1xuICAgIEBpZiAkcm9vdCA9PSB0cnVlIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ICRtb2RlKSB7XG4gICAgICAgIDpyb290IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogJG1vZGUpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBbZGF0YS1icy10aGVtZT1cIiN7JG1vZGV9XCJdIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvci1tb2RlLW1peGluXG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG5cbi8vIFJlYm9vdFxuLy9cbi8vIE5vcm1hbGl6YXRpb24gb2YgSFRNTCBlbGVtZW50cywgbWFudWFsbHkgZm9ya2VkIGZyb20gTm9ybWFsaXplLmNzcyB0byByZW1vdmVcbi8vIHN0eWxlcyB0YXJnZXRpbmcgaXJyZWxldmFudCBicm93c2VycyB3aGlsZSBhcHBseWluZyBuZXcgc3R5bGVzLlxuLy9cbi8vIE5vcm1hbGl6ZSBpcyBsaWNlbnNlZCBNSVQuIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcblxuXG4vLyBEb2N1bWVudFxuLy9cbi8vIENoYW5nZSBmcm9tIGBib3gtc2l6aW5nOiBjb250ZW50LWJveGAgc28gdGhhdCBgd2lkdGhgIGlzIG5vdCBhZmZlY3RlZCBieSBgcGFkZGluZ2Agb3IgYGJvcmRlcmAuXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cblxuLy8gUm9vdFxuLy9cbi8vIEFiaWxpdHkgdG8gdGhlIHZhbHVlIG9mIHRoZSByb290IGZvbnQgc2l6ZXMsIGFmZmVjdGluZyB0aGUgdmFsdWUgb2YgYHJlbWAuXG4vLyBudWxsIGJ5IGRlZmF1bHQsIHRodXMgbm90aGluZyBpcyBnZW5lcmF0ZWQuXG5cbjpyb290IHtcbiAgQGlmICRmb250LXNpemUtcm9vdCAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXJvb3QtZm9udC1zaXplKSk7XG4gIH1cblxuICBAaWYgJGVuYWJsZS1zbW9vdGgtc2Nyb2xsIHtcbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEJvZHlcbi8vXG4vLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4vLyAyLiBBcyBhIGJlc3QgcHJhY3RpY2UsIGFwcGx5IGEgZGVmYXVsdCBgYmFja2dyb3VuZC1jb2xvcmAuXG4vLyAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbi8vIDQuIENoYW5nZSB0aGUgZGVmYXVsdCB0YXAgaGlnaGxpZ2h0IHRvIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgaW4gaU9TLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcmVib290LWJvZHktcnVsZXNcbmJvZHkge1xuICBtYXJnaW46IDA7IC8vIDFcbiAgZm9udC1mYW1pbHk6IHZhcigtLSN7JHByZWZpeH1ib2R5LWZvbnQtZmFtaWx5KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1ib2R5LWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fWJvZHktZm9udC13ZWlnaHQpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tI3skcHJlZml4fWJvZHktbGluZS1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpO1xuICB0ZXh0LWFsaWduOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS10ZXh0LWFsaWduKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktYmcpOyAvLyAyXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gM1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJGJsYWNrLCAwKTsgLy8gNFxufVxuLy8gc2Nzcy1kb2NzLWVuZCByZWJvb3QtYm9keS1ydWxlc1xuXG5cbi8vIENvbnRlbnQgZ3JvdXBpbmdcbi8vXG4vLyAxLiBSZXNldCBGaXJlZm94J3MgZ3JheSBjb2xvclxuXG5ociB7XG4gIG1hcmdpbjogJGhyLW1hcmdpbi15IDA7XG4gIGNvbG9yOiAkaHItY29sb3I7IC8vIDFcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAkaHItYm9yZGVyLXdpZHRoIHNvbGlkICRoci1ib3JkZXItY29sb3I7XG4gIG9wYWNpdHk6ICRoci1vcGFjaXR5O1xufVxuXG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyAxLiBSZW1vdmUgdG9wIG1hcmdpbnMgZnJvbSBoZWFkaW5nc1xuLy8gICAgQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vICAgIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cblxuJWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwOyAvLyAxXG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXN0eWxlOiAkaGVhZGluZ3MtZm9udC1zdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yKTtcbn1cblxuaDEge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7XG59XG5cbmgyIHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xufVxuXG5oMyB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTtcbn1cblxuaDQge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG59XG5cbmg1IHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xufVxuXG5oNiB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTtcbn1cblxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcbi8vXG4vLyBTaW1pbGFybHksIHRoZSB0b3AgbWFyZ2luIG9uIGA8cD5gcyBnZXQgcmVzZXQuIEhvd2V2ZXIsIHdlIGFsc28gcmVzZXQgdGhlXG4vLyBib3R0b20gbWFyZ2luIHRvIHVzZSBgcmVtYCB1bml0cyBpbnN0ZWFkIG9mIGBlbWAuXG5cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG59XG5cblxuLy8gQWJicmV2aWF0aW9uc1xuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBPcGVyYSwgYW5kIFNhZmFyaS5cbi8vIDIuIEFkZCBleHBsaWNpdCBjdXJzb3IgdG8gaW5kaWNhdGUgY2hhbmdlZCBiZWhhdmlvci5cbi8vIDMuIFByZXZlbnQgdGhlIHRleHQtZGVjb3JhdGlvbiB0byBiZSBza2lwcGVkLlxuXG5hYmJyW3RpdGxlXSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMVxuICBjdXJzb3I6IGhlbHA7IC8vIDJcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lOyAvLyAzXG59XG5cblxuLy8gQWRkcmVzc1xuXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuXG4vLyBMaXN0c1xuXG5vbCxcbnVsIHtcbiAgcGFkZGluZy1sZWZ0OiAycmVtO1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuLy8gMS4gVW5kbyBicm93c2VyIGRlZmF1bHRcblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIDFcbn1cblxuXG4vLyBCbG9ja3F1b3RlXG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vIFN0cm9uZ1xuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyO1xufVxuXG5cbi8vIFNtYWxsXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnNcblxuc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoJHNtYWxsLWZvbnQtc2l6ZSk7XG59XG5cblxuLy8gTWFya1xuXG5tYXJrIHtcbiAgcGFkZGluZzogJG1hcmstcGFkZGluZztcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1oaWdobGlnaHQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWJnKTtcbn1cblxuXG4vLyBTdWIgYW5kIFN1cFxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuLy8gYWxsIGJyb3dzZXJzLlxuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc3ViLXN1cC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIgeyBib3R0b206IC0uMjVlbTsgfVxuc3VwIHsgdG9wOiAtLjVlbTsgfVxuXG5cbi8vIExpbmtzXG5cbmEge1xuICBjb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSk7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcblxuICAmOmhvdmVyIHtcbiAgICAtLSN7JHByZWZpeH1saW5rLWNvbG9yLXJnYjogdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3ItcmdiKTtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cbn1cblxuLy8gQW5kIHVuZG8gdGhlc2Ugc3R5bGVzIGZvciBwbGFjZWhvbGRlciBsaW5rcy9uYW1lZCBhbmNob3JzICh3aXRob3V0IGhyZWYpLlxuLy8gSXQgd291bGQgYmUgbW9yZSBzdHJhaWdodGZvcndhcmQgdG8ganVzdCB1c2UgYVtocmVmXSBpbiBwcmV2aW91cyBibG9jaywgYnV0IHRoYXRcbi8vIGNhdXNlcyBzcGVjaWZpY2l0eSBpc3N1ZXMgaW4gbWFueSBvdGhlciBzdHlsZXMgdGhhdCBhcmUgdG9vIGNvbXBsZXggdG8gZml4LlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTk0MDJcblxuYTpub3QoW2hyZWZdKTpub3QoW2NsYXNzXSkge1xuICAmLFxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBDb2RlXG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1jb2RlO1xuICBAaW5jbHVkZSBmb250LXNpemUoMWVtKTsgLy8gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxufVxuXG4vLyAxLiBSZW1vdmUgYnJvd3NlciBkZWZhdWx0IHRvcCBtYXJnaW5cbi8vIDIuIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4vLyAzLiBEb24ndCBhbGxvdyBjb250ZW50IHRvIGJyZWFrIG91dHNpZGVcblxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7IC8vIDFcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgLy8gMlxuICBvdmVyZmxvdzogYXV0bzsgLy8gM1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRwcmUtY29sb3I7XG5cbiAgLy8gQWNjb3VudCBmb3Igc29tZSBjb2RlIG91dHB1dHMgdGhhdCBwbGFjZSBjb2RlIHRhZ3MgaW4gcHJlIHRhZ3NcbiAgY29kZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgfVxufVxuXG5jb2RlIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y29kZS1jb2xvcik7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbmtiZCB7XG4gIHBhZGRpbmc6ICRrYmQtcGFkZGluZy15ICRrYmQtcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGtiZC1mb250LXNpemUpO1xuICBjb2xvcjogJGtiZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGtiZC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1zbSk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxZW0pO1xuICAgIGZvbnQtd2VpZ2h0OiAkbmVzdGVkLWtiZC1mb250LXdlaWdodDtcbiAgfVxufVxuXG5cbi8vIEZpZ3VyZXNcbi8vXG4vLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy8gSW1hZ2VzIGFuZCBjb250ZW50XG5cbmltZyxcbnN2ZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xuXG50YWJsZSB7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICR0YWJsZS1jZWxsLXBhZGRpbmcteTtcbiAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vLyAxLiBSZW1vdmVzIGZvbnQtd2VpZ2h0IGJvbGQgYnkgaW5oZXJpdGluZ1xuLy8gMi4gTWF0Y2hlcyBkZWZhdWx0IGA8dGQ+YCBhbGlnbm1lbnQgYnkgaW5oZXJpdGluZyBgdGV4dC1hbGlnbmAuXG4vLyAzLiBGaXggYWxpZ25tZW50IGZvciBTYWZhcmlcblxudGgge1xuICBmb250LXdlaWdodDogJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OyAvLyAxXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIDJcbiAgdGV4dC1hbGlnbjogLXdlYmtpdC1tYXRjaC1wYXJlbnQ7IC8vIDNcbn1cblxudGhlYWQsXG50Ym9keSxcbnRmb290LFxudHIsXG50ZCxcbnRoIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDA7XG59XG5cblxuLy8gRm9ybXNcbi8vXG4vLyAxLiBBbGxvdyBsYWJlbHMgdG8gdXNlIGBtYXJnaW5gIGZvciBzcGFjaW5nLlxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gMVxufVxuXG4vLyBSZW1vdmUgdGhlIGRlZmF1bHQgYGJvcmRlci1yYWRpdXNgIHRoYXQgbWFjT1MgQ2hyb21lIGFkZHMuXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDA5M1xuXG5idXR0b24ge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIEV4cGxpY2l0bHkgcmVtb3ZlIGZvY3VzIG91dGxpbmUgaW4gQ2hyb21pdW0gd2hlbiBpdCBzaG91bGRuJ3QgYmVcbi8vIHZpc2libGUgKGUuZy4gYXMgcmVzdWx0IG9mIG1vdXNlIGNsaWNrIG9yIHRvdWNoIHRhcCkuIEl0IGFscmVhZHlcbi8vIHNob3VsZCBiZSBkb2luZyB0aGlzIGF1dG9tYXRpY2FsbHksIGJ1dCBzZWVtcyB0byBjdXJyZW50bHkgYmVcbi8vIGNvbmZ1c2VkIGFuZCBhcHBsaWVzIGl0cyB2ZXJ5IHZpc2libGUgdHdvLXRvbmUgb3V0bGluZSBhbnl3YXkuXG5cbmJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpXG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxub3B0Z3JvdXAsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbi8vIFNldCB0aGUgY3Vyc29yIGZvciBub24tYDxidXR0b24+YCBidXR0b25zXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMDU2MlxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnNlbGVjdCB7XG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ5OTBcbiAgd29yZC13cmFwOiBub3JtYWw7XG5cbiAgLy8gVW5kbyB0aGUgb3BhY2l0eSBjaGFuZ2UgZnJvbSBDaHJvbWVcbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vLyBSZW1vdmUgdGhlIGRyb3Bkb3duIGFycm93IG9ubHkgZnJvbSB0ZXh0IHR5cGUgaW5wdXRzIGJ1aWx0IHdpdGggZGF0YWxpc3RzIGluIENocm9tZS5cbi8vIFNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNTQ5OTcxMThcblxuW2xpc3RdOm5vdChbdHlwZT1cImRhdGVcIl0pOm5vdChbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdKTpub3QoW3R5cGU9XCJtb250aFwiXSk6bm90KFt0eXBlPVwid2Vla1wiXSk6bm90KFt0eXBlPVwidGltZVwiXSk6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4vLyAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMy4gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIGJ1dHRvbiBlbGVtZW50cy5cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sIC8vIDFcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG5cbiAgQGlmICRlbmFibGUtYnV0dG9uLXBvaW50ZXJzIHtcbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgLy8gM1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXG5cbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLy8gMS4gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7IC8vIDFcbn1cblxuLy8gMS4gQnJvd3NlcnMgc2V0IGEgZGVmYXVsdCBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbi8vICAgIHVubGlrZSBlLmcuIGA8ZGl2PmBzLCB3aGljaCBoYXZlIGBtaW4td2lkdGg6IDA7YCBieSBkZWZhdWx0LlxuLy8gICAgU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuLy8gICAgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTlcbi8vICAgIGFuZCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jdGhlLWZpZWxkc2V0LWFuZC1sZWdlbmQtZWxlbWVudHNcbi8vIDIuIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxuXG5maWVsZHNldCB7XG4gIG1pbi13aWR0aDogMDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG4gIG1hcmdpbjogMDsgLy8gMlxuICBib3JkZXI6IDA7IC8vIDJcbn1cblxuLy8gMS4gQnkgdXNpbmcgYGZsb2F0OiBsZWZ0YCwgdGhlIGxlZ2VuZCB3aWxsIGJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudC5cbi8vICAgIFRoaXMgd2F5IHRoZSBib3JkZXIgb2YgYSBmaWVsZHNldCB3cmFwcyBhcm91bmQgdGhlIGxlZ2VuZCBpZiBwcmVzZW50LlxuLy8gMi4gRml4IHdyYXBwaW5nIGJ1Zy5cbi8vICAgIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI5NzEyXG5cbmxlZ2VuZCB7XG4gIGZsb2F0OiBsZWZ0OyAvLyAxXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbGVnZW5kLW1hcmdpbi1ib3R0b207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbGVnZW5kLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkbGVnZW5kLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcblxuICArICoge1xuICAgIGNsZWFyOiBsZWZ0OyAvLyAyXG4gIH1cbn1cblxuLy8gRml4IGhlaWdodCBvZiBpbnB1dHMgd2l0aCBhIHR5cGUgb2YgZGF0ZXRpbWUtbG9jYWwsIGRhdGUsIG1vbnRoLCB3ZWVrLCBvciB0aW1lXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODg0MlxuXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1maWVsZHMtd3JhcHBlcixcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXRleHQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxkLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZGF5LWZpZWxkLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbW9udGgtZmllbGQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC15ZWFyLWZpZWxkIHtcbiAgcGFkZGluZzogMDtcbn1cblxuOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyAxLiBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4vLyAgICBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbi8vICAgIGJlIGFkZGVkIHRvIGAuZm9ybS1jb250cm9sYCBhcyBpdCdzIG5vdCBzcGVjaWZpYyBlbm91Z2guIEZvciBkZXRhaWxzLCBzZWVcbi8vICAgIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4vLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMlxufVxuXG4vLyAxLiBBIGZldyBpbnB1dCB0eXBlcyBzaG91bGQgc3RheSBMVFJcbi8vIFNlZSBodHRwczovL3J0bHN0eWxpbmcuY29tL3Bvc3RzL3J0bC1zdHlsaW5nI2Zvcm0taW5wdXRzXG4vLyAyLiBSVEwgb25seSBvdXRwdXRcbi8vIFNlZSBodHRwczovL3J0bGNzcy5jb20vbGVhcm4vdXNhZ2UtZ3VpZGUvY29udHJvbC1kaXJlY3RpdmVzLyNyYXdcblxuLyogcnRsOnJhdzpcblt0eXBlPVwidGVsXCJdLFxuW3R5cGU9XCJ1cmxcIl0sXG5bdHlwZT1cImVtYWlsXCJdLFxuW3R5cGU9XCJudW1iZXJcIl0ge1xuICBkaXJlY3Rpb246IGx0cjtcbn1cbiovXG5cbi8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vLyBSZW1vdmUgcGFkZGluZyBhcm91bmQgY29sb3IgcGlja2VycyBpbiB3ZWJraXQgYnJvd3NlcnNcblxuOjotd2Via2l0LWNvbG9yLXN3YXRjaC13cmFwcGVyIHtcbiAgcGFkZGluZzogMDtcbn1cblxuXG4vLyAxLiBJbmhlcml0IGZvbnQgZmFtaWx5IGFuZCBsaW5lIGhlaWdodCBmb3IgZmlsZSBpbnB1dCBidXR0b25zXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG46OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgZm9udDogaW5oZXJpdDsgLy8gMVxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBDb3JyZWN0IGVsZW1lbnQgZGlzcGxheXNcblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vLyBSZW1vdmUgYm9yZGVyIGZyb20gaWZyYW1lXG5cbmlmcmFtZSB7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gU3VtbWFyeVxuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vyc1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyAxXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuXG4vLyBQcm9ncmVzc1xuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5cbi8vIEhpZGRlbiBhdHRyaWJ1dGVcbi8vXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlLlxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vIENvbG9yIHN5c3RlbVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvci12YXJpYWJsZXNcbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvci12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvcnMtbWFwXG4kZ3JheXM6IChcbiAgXCIxMDBcIjogJGdyYXktMTAwLFxuICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgXCI0MDBcIjogJGdyYXktNDAwLFxuICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgXCI3MDBcIjogJGdyYXktNzAwLFxuICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gIFwiOTAwXCI6ICRncmF5LTkwMFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvcnMtbWFwXG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItdmFyaWFibGVzXG4kYmx1ZTogICAgIzBkNmVmZCAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2Q2MzM4NCAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMTk4NzU0ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzBkY2FmMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29sb3ItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvcnMtbWFwXG4kY29sb3JzOiAoXG4gIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICBcImJsYWNrXCI6ICAgICAgJGJsYWNrLFxuICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvcnMtbWFwXG5cbi8vIFRoZSBjb250cmFzdCByYXRpbyB0byByZWFjaCBhZ2FpbnN0IHdoaXRlLCB0byBkZXRlcm1pbmUgaWYgY29sb3IgY2hhbmdlcyBmcm9tIFwibGlnaHRcIiB0byBcImRhcmtcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgZm9yIFdDQUcgMi4wIGFyZSAzLCA0LjUgYW5kIDcuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcyMC8jdmlzdWFsLWF1ZGlvLWNvbnRyYXN0LWNvbnRyYXN0XG4kbWluLWNvbnRyYXN0LXJhdGlvOiAgIDQuNSAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiRjb2xvci1jb250cmFzdC1kYXJrOiAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjb2xvci1jb250cmFzdC1saWdodDogICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kYmx1ZS0xMDA6IHRpbnQtY29sb3IoJGJsdWUsIDgwJSkgIWRlZmF1bHQ7XG4kYmx1ZS0yMDA6IHRpbnQtY29sb3IoJGJsdWUsIDYwJSkgIWRlZmF1bHQ7XG4kYmx1ZS0zMDA6IHRpbnQtY29sb3IoJGJsdWUsIDQwJSkgIWRlZmF1bHQ7XG4kYmx1ZS00MDA6IHRpbnQtY29sb3IoJGJsdWUsIDIwJSkgIWRlZmF1bHQ7XG4kYmx1ZS01MDA6ICRibHVlICFkZWZhdWx0O1xuJGJsdWUtNjAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgMjAlKSAhZGVmYXVsdDtcbiRibHVlLTcwMDogc2hhZGUtY29sb3IoJGJsdWUsIDQwJSkgIWRlZmF1bHQ7XG4kYmx1ZS04MDA6IHNoYWRlLWNvbG9yKCRibHVlLCA2MCUpICFkZWZhdWx0O1xuJGJsdWUtOTAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgODAlKSAhZGVmYXVsdDtcblxuJGluZGlnby0xMDA6IHRpbnQtY29sb3IoJGluZGlnbywgODAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tMjAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDYwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTMwMDogdGludC1jb2xvcigkaW5kaWdvLCA0MCUpICFkZWZhdWx0O1xuJGluZGlnby00MDA6IHRpbnQtY29sb3IoJGluZGlnbywgMjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tNTAwOiAkaW5kaWdvICFkZWZhdWx0O1xuJGluZGlnby02MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDIwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTcwMDogc2hhZGUtY29sb3IoJGluZGlnbywgNDAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tODAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCA2MCUpICFkZWZhdWx0O1xuJGluZGlnby05MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDgwJSkgIWRlZmF1bHQ7XG5cbiRwdXJwbGUtMTAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDgwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTIwMDogdGludC1jb2xvcigkcHVycGxlLCA2MCUpICFkZWZhdWx0O1xuJHB1cnBsZS0zMDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgNDAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtNDAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDIwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTUwMDogJHB1cnBsZSAhZGVmYXVsdDtcbiRwdXJwbGUtNjAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCAyMCUpICFkZWZhdWx0O1xuJHB1cnBsZS03MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDQwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTgwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgNjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtOTAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCA4MCUpICFkZWZhdWx0O1xuXG4kcGluay0xMDA6IHRpbnQtY29sb3IoJHBpbmssIDgwJSkgIWRlZmF1bHQ7XG4kcGluay0yMDA6IHRpbnQtY29sb3IoJHBpbmssIDYwJSkgIWRlZmF1bHQ7XG4kcGluay0zMDA6IHRpbnQtY29sb3IoJHBpbmssIDQwJSkgIWRlZmF1bHQ7XG4kcGluay00MDA6IHRpbnQtY29sb3IoJHBpbmssIDIwJSkgIWRlZmF1bHQ7XG4kcGluay01MDA6ICRwaW5rICFkZWZhdWx0O1xuJHBpbmstNjAwOiBzaGFkZS1jb2xvcigkcGluaywgMjAlKSAhZGVmYXVsdDtcbiRwaW5rLTcwMDogc2hhZGUtY29sb3IoJHBpbmssIDQwJSkgIWRlZmF1bHQ7XG4kcGluay04MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCA2MCUpICFkZWZhdWx0O1xuJHBpbmstOTAwOiBzaGFkZS1jb2xvcigkcGluaywgODAlKSAhZGVmYXVsdDtcblxuJHJlZC0xMDA6IHRpbnQtY29sb3IoJHJlZCwgODAlKSAhZGVmYXVsdDtcbiRyZWQtMjAwOiB0aW50LWNvbG9yKCRyZWQsIDYwJSkgIWRlZmF1bHQ7XG4kcmVkLTMwMDogdGludC1jb2xvcigkcmVkLCA0MCUpICFkZWZhdWx0O1xuJHJlZC00MDA6IHRpbnQtY29sb3IoJHJlZCwgMjAlKSAhZGVmYXVsdDtcbiRyZWQtNTAwOiAkcmVkICFkZWZhdWx0O1xuJHJlZC02MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDIwJSkgIWRlZmF1bHQ7XG4kcmVkLTcwMDogc2hhZGUtY29sb3IoJHJlZCwgNDAlKSAhZGVmYXVsdDtcbiRyZWQtODAwOiBzaGFkZS1jb2xvcigkcmVkLCA2MCUpICFkZWZhdWx0O1xuJHJlZC05MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDgwJSkgIWRlZmF1bHQ7XG5cbiRvcmFuZ2UtMTAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDgwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTIwMDogdGludC1jb2xvcigkb3JhbmdlLCA2MCUpICFkZWZhdWx0O1xuJG9yYW5nZS0zMDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgNDAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtNDAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDIwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTUwMDogJG9yYW5nZSAhZGVmYXVsdDtcbiRvcmFuZ2UtNjAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCAyMCUpICFkZWZhdWx0O1xuJG9yYW5nZS03MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDQwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTgwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgNjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtOTAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCA4MCUpICFkZWZhdWx0O1xuXG4keWVsbG93LTEwMDogdGludC1jb2xvcigkeWVsbG93LCA4MCUpICFkZWZhdWx0O1xuJHllbGxvdy0yMDA6IHRpbnQtY29sb3IoJHllbGxvdywgNjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctMzAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDQwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTQwMDogdGludC1jb2xvcigkeWVsbG93LCAyMCUpICFkZWZhdWx0O1xuJHllbGxvdy01MDA6ICR5ZWxsb3cgIWRlZmF1bHQ7XG4keWVsbG93LTYwMDogc2hhZGUtY29sb3IoJHllbGxvdywgMjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctNzAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCA0MCUpICFkZWZhdWx0O1xuJHllbGxvdy04MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDYwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTkwMDogc2hhZGUtY29sb3IoJHllbGxvdywgODAlKSAhZGVmYXVsdDtcblxuJGdyZWVuLTEwMDogdGludC1jb2xvcigkZ3JlZW4sIDgwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tMjAwOiB0aW50LWNvbG9yKCRncmVlbiwgNjAlKSAhZGVmYXVsdDtcbiRncmVlbi0zMDA6IHRpbnQtY29sb3IoJGdyZWVuLCA0MCUpICFkZWZhdWx0O1xuJGdyZWVuLTQwMDogdGludC1jb2xvcigkZ3JlZW4sIDIwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNTAwOiAkZ3JlZW4gIWRlZmF1bHQ7XG4kZ3JlZW4tNjAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDIwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNzAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDQwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tODAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDYwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tOTAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDgwJSkgIWRlZmF1bHQ7XG5cbiR0ZWFsLTEwMDogdGludC1jb2xvcigkdGVhbCwgODAlKSAhZGVmYXVsdDtcbiR0ZWFsLTIwMDogdGludC1jb2xvcigkdGVhbCwgNjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTMwMDogdGludC1jb2xvcigkdGVhbCwgNDAlKSAhZGVmYXVsdDtcbiR0ZWFsLTQwMDogdGludC1jb2xvcigkdGVhbCwgMjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTUwMDogJHRlYWwgIWRlZmF1bHQ7XG4kdGVhbC02MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCAyMCUpICFkZWZhdWx0O1xuJHRlYWwtNzAwOiBzaGFkZS1jb2xvcigkdGVhbCwgNDAlKSAhZGVmYXVsdDtcbiR0ZWFsLTgwMDogc2hhZGUtY29sb3IoJHRlYWwsIDYwJSkgIWRlZmF1bHQ7XG4kdGVhbC05MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCA4MCUpICFkZWZhdWx0O1xuXG4kY3lhbi0xMDA6IHRpbnQtY29sb3IoJGN5YW4sIDgwJSkgIWRlZmF1bHQ7XG4kY3lhbi0yMDA6IHRpbnQtY29sb3IoJGN5YW4sIDYwJSkgIWRlZmF1bHQ7XG4kY3lhbi0zMDA6IHRpbnQtY29sb3IoJGN5YW4sIDQwJSkgIWRlZmF1bHQ7XG4kY3lhbi00MDA6IHRpbnQtY29sb3IoJGN5YW4sIDIwJSkgIWRlZmF1bHQ7XG4kY3lhbi01MDA6ICRjeWFuICFkZWZhdWx0O1xuJGN5YW4tNjAwOiBzaGFkZS1jb2xvcigkY3lhbiwgMjAlKSAhZGVmYXVsdDtcbiRjeWFuLTcwMDogc2hhZGUtY29sb3IoJGN5YW4sIDQwJSkgIWRlZmF1bHQ7XG4kY3lhbi04MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCA2MCUpICFkZWZhdWx0O1xuJGN5YW4tOTAwOiBzaGFkZS1jb2xvcigkY3lhbiwgODAlKSAhZGVmYXVsdDtcblxuJGJsdWVzOiAoXG4gIFwiYmx1ZS0xMDBcIjogJGJsdWUtMTAwLFxuICBcImJsdWUtMjAwXCI6ICRibHVlLTIwMCxcbiAgXCJibHVlLTMwMFwiOiAkYmx1ZS0zMDAsXG4gIFwiYmx1ZS00MDBcIjogJGJsdWUtNDAwLFxuICBcImJsdWUtNTAwXCI6ICRibHVlLTUwMCxcbiAgXCJibHVlLTYwMFwiOiAkYmx1ZS02MDAsXG4gIFwiYmx1ZS03MDBcIjogJGJsdWUtNzAwLFxuICBcImJsdWUtODAwXCI6ICRibHVlLTgwMCxcbiAgXCJibHVlLTkwMFwiOiAkYmx1ZS05MDBcbikgIWRlZmF1bHQ7XG5cbiRpbmRpZ29zOiAoXG4gIFwiaW5kaWdvLTEwMFwiOiAkaW5kaWdvLTEwMCxcbiAgXCJpbmRpZ28tMjAwXCI6ICRpbmRpZ28tMjAwLFxuICBcImluZGlnby0zMDBcIjogJGluZGlnby0zMDAsXG4gIFwiaW5kaWdvLTQwMFwiOiAkaW5kaWdvLTQwMCxcbiAgXCJpbmRpZ28tNTAwXCI6ICRpbmRpZ28tNTAwLFxuICBcImluZGlnby02MDBcIjogJGluZGlnby02MDAsXG4gIFwiaW5kaWdvLTcwMFwiOiAkaW5kaWdvLTcwMCxcbiAgXCJpbmRpZ28tODAwXCI6ICRpbmRpZ28tODAwLFxuICBcImluZGlnby05MDBcIjogJGluZGlnby05MDBcbikgIWRlZmF1bHQ7XG5cbiRwdXJwbGVzOiAoXG4gIFwicHVycGxlLTEwMFwiOiAkcHVycGxlLTEwMCxcbiAgXCJwdXJwbGUtMjAwXCI6ICRwdXJwbGUtMjAwLFxuICBcInB1cnBsZS0zMDBcIjogJHB1cnBsZS0zMDAsXG4gIFwicHVycGxlLTQwMFwiOiAkcHVycGxlLTQwMCxcbiAgXCJwdXJwbGUtNTAwXCI6ICRwdXJwbGUtNTAwLFxuICBcInB1cnBsZS02MDBcIjogJHB1cnBsZS02MDAsXG4gIFwicHVycGxlLTcwMFwiOiAkcHVycGxlLTcwMCxcbiAgXCJwdXJwbGUtODAwXCI6ICRwdXJwbGUtODAwLFxuICBcInB1cnBsZS05MDBcIjogJHB1cnBsZS05MDBcbikgIWRlZmF1bHQ7XG5cbiRwaW5rczogKFxuICBcInBpbmstMTAwXCI6ICRwaW5rLTEwMCxcbiAgXCJwaW5rLTIwMFwiOiAkcGluay0yMDAsXG4gIFwicGluay0zMDBcIjogJHBpbmstMzAwLFxuICBcInBpbmstNDAwXCI6ICRwaW5rLTQwMCxcbiAgXCJwaW5rLTUwMFwiOiAkcGluay01MDAsXG4gIFwicGluay02MDBcIjogJHBpbmstNjAwLFxuICBcInBpbmstNzAwXCI6ICRwaW5rLTcwMCxcbiAgXCJwaW5rLTgwMFwiOiAkcGluay04MDAsXG4gIFwicGluay05MDBcIjogJHBpbmstOTAwXG4pICFkZWZhdWx0O1xuXG4kcmVkczogKFxuICBcInJlZC0xMDBcIjogJHJlZC0xMDAsXG4gIFwicmVkLTIwMFwiOiAkcmVkLTIwMCxcbiAgXCJyZWQtMzAwXCI6ICRyZWQtMzAwLFxuICBcInJlZC00MDBcIjogJHJlZC00MDAsXG4gIFwicmVkLTUwMFwiOiAkcmVkLTUwMCxcbiAgXCJyZWQtNjAwXCI6ICRyZWQtNjAwLFxuICBcInJlZC03MDBcIjogJHJlZC03MDAsXG4gIFwicmVkLTgwMFwiOiAkcmVkLTgwMCxcbiAgXCJyZWQtOTAwXCI6ICRyZWQtOTAwXG4pICFkZWZhdWx0O1xuXG4kb3JhbmdlczogKFxuICBcIm9yYW5nZS0xMDBcIjogJG9yYW5nZS0xMDAsXG4gIFwib3JhbmdlLTIwMFwiOiAkb3JhbmdlLTIwMCxcbiAgXCJvcmFuZ2UtMzAwXCI6ICRvcmFuZ2UtMzAwLFxuICBcIm9yYW5nZS00MDBcIjogJG9yYW5nZS00MDAsXG4gIFwib3JhbmdlLTUwMFwiOiAkb3JhbmdlLTUwMCxcbiAgXCJvcmFuZ2UtNjAwXCI6ICRvcmFuZ2UtNjAwLFxuICBcIm9yYW5nZS03MDBcIjogJG9yYW5nZS03MDAsXG4gIFwib3JhbmdlLTgwMFwiOiAkb3JhbmdlLTgwMCxcbiAgXCJvcmFuZ2UtOTAwXCI6ICRvcmFuZ2UtOTAwXG4pICFkZWZhdWx0O1xuXG4keWVsbG93czogKFxuICBcInllbGxvdy0xMDBcIjogJHllbGxvdy0xMDAsXG4gIFwieWVsbG93LTIwMFwiOiAkeWVsbG93LTIwMCxcbiAgXCJ5ZWxsb3ctMzAwXCI6ICR5ZWxsb3ctMzAwLFxuICBcInllbGxvdy00MDBcIjogJHllbGxvdy00MDAsXG4gIFwieWVsbG93LTUwMFwiOiAkeWVsbG93LTUwMCxcbiAgXCJ5ZWxsb3ctNjAwXCI6ICR5ZWxsb3ctNjAwLFxuICBcInllbGxvdy03MDBcIjogJHllbGxvdy03MDAsXG4gIFwieWVsbG93LTgwMFwiOiAkeWVsbG93LTgwMCxcbiAgXCJ5ZWxsb3ctOTAwXCI6ICR5ZWxsb3ctOTAwXG4pICFkZWZhdWx0O1xuXG4kZ3JlZW5zOiAoXG4gIFwiZ3JlZW4tMTAwXCI6ICRncmVlbi0xMDAsXG4gIFwiZ3JlZW4tMjAwXCI6ICRncmVlbi0yMDAsXG4gIFwiZ3JlZW4tMzAwXCI6ICRncmVlbi0zMDAsXG4gIFwiZ3JlZW4tNDAwXCI6ICRncmVlbi00MDAsXG4gIFwiZ3JlZW4tNTAwXCI6ICRncmVlbi01MDAsXG4gIFwiZ3JlZW4tNjAwXCI6ICRncmVlbi02MDAsXG4gIFwiZ3JlZW4tNzAwXCI6ICRncmVlbi03MDAsXG4gIFwiZ3JlZW4tODAwXCI6ICRncmVlbi04MDAsXG4gIFwiZ3JlZW4tOTAwXCI6ICRncmVlbi05MDBcbikgIWRlZmF1bHQ7XG5cbiR0ZWFsczogKFxuICBcInRlYWwtMTAwXCI6ICR0ZWFsLTEwMCxcbiAgXCJ0ZWFsLTIwMFwiOiAkdGVhbC0yMDAsXG4gIFwidGVhbC0zMDBcIjogJHRlYWwtMzAwLFxuICBcInRlYWwtNDAwXCI6ICR0ZWFsLTQwMCxcbiAgXCJ0ZWFsLTUwMFwiOiAkdGVhbC01MDAsXG4gIFwidGVhbC02MDBcIjogJHRlYWwtNjAwLFxuICBcInRlYWwtNzAwXCI6ICR0ZWFsLTcwMCxcbiAgXCJ0ZWFsLTgwMFwiOiAkdGVhbC04MDAsXG4gIFwidGVhbC05MDBcIjogJHRlYWwtOTAwXG4pICFkZWZhdWx0O1xuXG4kY3lhbnM6IChcbiAgXCJjeWFuLTEwMFwiOiAkY3lhbi0xMDAsXG4gIFwiY3lhbi0yMDBcIjogJGN5YW4tMjAwLFxuICBcImN5YW4tMzAwXCI6ICRjeWFuLTMwMCxcbiAgXCJjeWFuLTQwMFwiOiAkY3lhbi00MDAsXG4gIFwiY3lhbi01MDBcIjogJGN5YW4tNTAwLFxuICBcImN5YW4tNjAwXCI6ICRjeWFuLTYwMCxcbiAgXCJjeWFuLTcwMFwiOiAkY3lhbi03MDAsXG4gIFwiY3lhbi04MDBcIjogJGN5YW4tODAwLFxuICBcImN5YW4tOTAwXCI6ICRjeWFuLTkwMFxuKSAhZGVmYXVsdDtcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvci12YXJpYWJsZXNcbiRwcmltYXJ5OiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAgJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1jb2xvci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWNvbG9ycy1tYXBcbiR0aGVtZS1jb2xvcnM6IChcbiAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICBcImluZm9cIjogICAgICAgJGluZm8sXG4gIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gIFwiZGFya1wiOiAgICAgICAkZGFya1xuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtY29sb3JzLW1hcFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtdGV4dC12YXJpYWJsZXNcbiRwcmltYXJ5LXRleHQtZW1waGFzaXM6ICAgc2hhZGUtY29sb3IoJHByaW1hcnksIDYwJSkgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LXRleHQtZW1waGFzaXM6IHNoYWRlLWNvbG9yKCRzZWNvbmRhcnksIDYwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy10ZXh0LWVtcGhhc2lzOiAgIHNoYWRlLWNvbG9yKCRzdWNjZXNzLCA2MCUpICFkZWZhdWx0O1xuJGluZm8tdGV4dC1lbXBoYXNpczogICAgICBzaGFkZS1jb2xvcigkaW5mbywgNjAlKSAhZGVmYXVsdDtcbiR3YXJuaW5nLXRleHQtZW1waGFzaXM6ICAgc2hhZGUtY29sb3IoJHdhcm5pbmcsIDYwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLXRleHQtZW1waGFzaXM6ICAgIHNoYWRlLWNvbG9yKCRkYW5nZXIsIDYwJSkgIWRlZmF1bHQ7XG4kbGlnaHQtdGV4dC1lbXBoYXNpczogICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRkYXJrLXRleHQtZW1waGFzaXM6ICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS10ZXh0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtYmctc3VidGxlLXZhcmlhYmxlc1xuJHByaW1hcnktYmctc3VidGxlOiAgICAgICB0aW50LWNvbG9yKCRwcmltYXJ5LCA4MCUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1iZy1zdWJ0bGU6ICAgICB0aW50LWNvbG9yKCRzZWNvbmRhcnksIDgwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1iZy1zdWJ0bGU6ICAgICAgIHRpbnQtY29sb3IoJHN1Y2Nlc3MsIDgwJSkgIWRlZmF1bHQ7XG4kaW5mby1iZy1zdWJ0bGU6ICAgICAgICAgIHRpbnQtY29sb3IoJGluZm8sIDgwJSkgIWRlZmF1bHQ7XG4kd2FybmluZy1iZy1zdWJ0bGU6ICAgICAgIHRpbnQtY29sb3IoJHdhcm5pbmcsIDgwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLWJnLXN1YnRsZTogICAgICAgIHRpbnQtY29sb3IoJGRhbmdlciwgODAlKSAhZGVmYXVsdDtcbiRsaWdodC1iZy1zdWJ0bGU6ICAgICAgICAgbWl4KCRncmF5LTEwMCwgJHdoaXRlKSAhZGVmYXVsdDtcbiRkYXJrLWJnLXN1YnRsZTogICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1iZy1zdWJ0bGUtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1ib3JkZXItc3VidGxlLXZhcmlhYmxlc1xuJHByaW1hcnktYm9yZGVyLXN1YnRsZTogICB0aW50LWNvbG9yKCRwcmltYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1ib3JkZXItc3VidGxlOiB0aW50LWNvbG9yKCRzZWNvbmRhcnksIDYwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1ib3JkZXItc3VidGxlOiAgIHRpbnQtY29sb3IoJHN1Y2Nlc3MsIDYwJSkgIWRlZmF1bHQ7XG4kaW5mby1ib3JkZXItc3VidGxlOiAgICAgIHRpbnQtY29sb3IoJGluZm8sIDYwJSkgIWRlZmF1bHQ7XG4kd2FybmluZy1ib3JkZXItc3VidGxlOiAgIHRpbnQtY29sb3IoJHdhcm5pbmcsIDYwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLWJvcmRlci1zdWJ0bGU6ICAgIHRpbnQtY29sb3IoJGRhbmdlciwgNjAlKSAhZGVmYXVsdDtcbiRsaWdodC1ib3JkZXItc3VidGxlOiAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGRhcmstYm9yZGVyLXN1YnRsZTogICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWJvcmRlci1zdWJ0bGUtdmFyaWFibGVzXG5cbi8vIENoYXJhY3RlcnMgd2hpY2ggYXJlIGVzY2FwZWQgYnkgdGhlIGVzY2FwZS1zdmcgZnVuY3Rpb25cbiRlc2NhcGVkLWNoYXJhY3RlcnM6IChcbiAgKFwiPFwiLCBcIiUzY1wiKSxcbiAgKFwiPlwiLCBcIiUzZVwiKSxcbiAgKFwiI1wiLCBcIiUyM1wiKSxcbiAgKFwiKFwiLCBcIiUyOFwiKSxcbiAgKFwiKVwiLCBcIiUyOVwiKSxcbikgIWRlZmF1bHQ7XG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJlZHVjZWQtbW90aW9uOiAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zbW9vdGgtc2Nyb2xsOiAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWNvbnRhaW5lci1jbGFzc2VzOiAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1jc3NncmlkOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWJ1dHRvbi1wb2ludGVyczogICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZnM6ICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLW5lZ2F0aXZlLW1hcmdpbnM6ICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6IHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXM6ICB0cnVlICFkZWZhdWx0O1xuXG4kZW5hYmxlLWRhcmstbW9kZTogICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGNvbG9yLW1vZGUtdHlwZTogICAgICAgICAgICAgZGF0YSAhZGVmYXVsdDsgLy8gYGRhdGFgIG9yIGBtZWRpYS1xdWVyeWBcblxuLy8gUHJlZml4IGZvciA6cm9vdCBDU1MgdmFyaWFibGVzXG5cbiR2YXJpYWJsZS1wcmVmaXg6ICAgICAgICAgICAgIGJzLSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAgZm9yIHRoZSBzaG9ydGVyIGAkcHJlZml4YFxuJHByZWZpeDogICAgICAgICAgICAgICAgICAgICAgJHZhcmlhYmxlLXByZWZpeCAhZGVmYXVsdDtcblxuLy8gR3JhZGllbnRcbi8vXG4vLyBUaGUgZ3JhZGllbnQgd2hpY2ggaXMgYWRkZWQgdG8gY29tcG9uZW50cyBpZiBgJGVuYWJsZS1ncmFkaWVudHNgIGlzIGB0cnVlYFxuLy8gVGhpcyBncmFkaWVudCBpcyBhbHNvIGFkZGVkIHRvIGVsZW1lbnRzIHdpdGggYC5iZy1ncmFkaWVudGBcbi8vIHNjc3MtZG9jcy1zdGFydCB2YXJpYWJsZS1ncmFkaWVudFxuJGdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKCR3aGl0ZSwgLjE1KSwgcmdiYSgkd2hpdGUsIDApKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdmFyaWFibGUtZ3JhZGllbnRcblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGFjZXItdmFyaWFibGVzLW1hcHNcbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKFxuICAwOiAwLFxuICAxOiAkc3BhY2VyICogLjI1LFxuICAyOiAkc3BhY2VyICogLjUsXG4gIDM6ICRzcGFjZXIsXG4gIDQ6ICRzcGFjZXIgKiAxLjUsXG4gIDU6ICRzcGFjZXIgKiAzLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3BhY2VyLXZhcmlhYmxlcy1tYXBzXG5cbi8vIFBvc2l0aW9uXG4vL1xuLy8gRGVmaW5lIHRoZSBlZGdlIHBvc2l0aW9uaW5nIGFuY2hvcnMgb2YgdGhlIHBvc2l0aW9uIHV0aWxpdGllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvc2l0aW9uLW1hcFxuJHBvc2l0aW9uLXZhbHVlczogKFxuICAwOiAwLFxuICA1MDogNTAlLFxuICAxMDA6IDEwMCVcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBvc2l0aW9uLW1hcFxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS10ZXh0LWFsaWduOiAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kYm9keS1zZWNvbmRhcnktY29sb3I6ICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjc1KSAhZGVmYXVsdDtcbiRib2R5LXNlY29uZGFyeS1iZzogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRib2R5LXRlcnRpYXJ5LWNvbG9yOiAgICAgICByZ2JhKCRib2R5LWNvbG9yLCAuNSkgIWRlZmF1bHQ7XG4kYm9keS10ZXJ0aWFyeS1iZzogICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuXG4kYm9keS1lbXBoYXNpcy1jb2xvcjogICAgICAgJGJsYWNrICFkZWZhdWx0O1xuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kbGluay1zaGFkZS1wZXJjZW50YWdlOiAgICAgICAgICAgICAgICAgICAyMCUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBzaGlmdC1jb2xvcigkbGluay1jb2xvciwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kc3RyZXRjaGVkLWxpbmstcHNldWRvLWVsZW1lbnQ6ICAgICAgICAgICBhZnRlciAhZGVmYXVsdDtcbiRzdHJldGNoZWQtbGluay16LWluZGV4OiAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG5cbi8vIEljb24gbGlua3Ncbi8vIHNjc3MtZG9jcy1zdGFydCBpY29uLWxpbmstdmFyaWFibGVzXG4kaWNvbi1saW5rLWdhcDogICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGljb24tbGluay11bmRlcmxpbmUtb2Zmc2V0OiAgLjI1ZW0gIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWljb24tc2l6ZTogICAgICAgICAxZW0gIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWljb24tdHJhbnNpdGlvbjogICAuMnMgZWFzZS1pbi1vdXQgdHJhbnNmb3JtICFkZWZhdWx0O1xuJGljb24tbGluay1pY29uLXRyYW5zZm9ybTogICAgdHJhbnNsYXRlM2QoLjI1ZW0sIDAsIDApICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpY29uLWxpbmstdmFyaWFibGVzXG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyaWQtYnJlYWtwb2ludHNcbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4LFxuICB4eGw6IDE0MDBweFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JpZC1icmVha3BvaW50c1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbnRhaW5lci1tYXgtd2lkdGhzXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweCxcbiAgeHhsOiAxMzIwcHhcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbnRhaW5lci1tYXgtd2lkdGhzXG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuLy8gQ29udGFpbmVyIHBhZGRpbmdcblxuJGNvbnRhaW5lci1wYWRkaW5nLXg6ICRncmlkLWd1dHRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXZhcmlhYmxlc1xuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci13aWR0aHM6IChcbiAgMTogMXB4LFxuICAyOiAycHgsXG4gIDM6IDNweCxcbiAgNDogNHB4LFxuICA1OiA1cHhcbikgIWRlZmF1bHQ7XG4kYm9yZGVyLXN0eWxlOiAgICAgICAgICAgICAgICBzb2xpZCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6ICAgIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXJhZGl1cy12YXJpYWJsZXNcbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXhsOiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy14eGw6ICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtcGlsbDogICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci1yYWRpdXMtdmFyaWFibGVzXG4vLyBmdXN2LWRpc2FibGVcbiRib3JkZXItcmFkaXVzLTJ4bDogICAgICAgICAgICRib3JkZXItcmFkaXVzLXh4bCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3gtc2hhZG93LXZhcmlhYmxlc1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1pbnNldDogICAgICAgICAgICBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBib3gtc2hhZG93LXZhcmlhYmxlc1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICAkcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvY3VzLXJpbmctdmFyaWFibGVzXG4kZm9jdXMtcmluZy13aWR0aDogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1vcGFjaXR5OiAgICAuMjUgIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1jb2xvcjogICAgICByZ2JhKCRwcmltYXJ5LCAkZm9jdXMtcmluZy1vcGFjaXR5KSAhZGVmYXVsdDtcbiRmb2N1cy1yaW5nLWJsdXI6ICAgICAgIDAgIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1ib3gtc2hhZG93OiAwIDAgJGZvY3VzLXJpbmctYmx1ciAkZm9jdXMtcmluZy13aWR0aCAkZm9jdXMtcmluZy1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9jdXMtcmluZy12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmV0LXZhcmlhYmxlc1xuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2FyZXQtdmFyaWFibGVzXG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbGxhcHNlLXRyYW5zaXRpb25cbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZS13aWR0aDogICB3aWR0aCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbGxhcHNlLXRyYW5zaXRpb25cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4vLyBzY3NzLWRvY3Mtc3RhcnQgYXNwZWN0LXJhdGlvc1xuJGFzcGVjdC1yYXRpb3M6IChcbiAgXCIxeDFcIjogMTAwJSxcbiAgXCI0eDNcIjogY2FsYygzIC8gNCAqIDEwMCUpLFxuICBcIjE2eDlcIjogY2FsYyg5IC8gMTYgKiAxMDAlKSxcbiAgXCIyMXg5XCI6IGNhbGMoOSAvIDIxICogMTAwJSlcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGFzcGVjdC1yYXRpb3Ncbi8vIHN0eWxlbGludC1lbmFibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvbnQtdmFyaWFibGVzXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWZvbnQtc2Fucy1zZXJpZikgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktY29kZTogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Zm9udC1tb25vc3BhY2UpICFkZWZhdWx0O1xuXG4vLyAkZm9udC1zaXplLXJvb3QgYWZmZWN0cyB0aGUgdmFsdWUgb2YgYHJlbWAsIHdoaWNoIGlzIHVzZWQgZm9yIGFzIHdlbGwgZm9udCBzaXplcywgcGFkZGluZ3MsIGFuZCBtYXJnaW5zXG4vLyAkZm9udC1zaXplLWJhc2UgYWZmZWN0cyB0aGUgZm9udCBzaXplIG9mIHRoZSBib2R5IHRleHRcbiRmb250LXNpemUtcm9vdDogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICBsaWdodGVyICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW1lZGl1bTogICAgICAgICAgNTAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LXNlbWlib2xkOiAgICAgICAgNjAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMiAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi41ICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb250LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9udC1zaXplc1xuJGZvbnQtc2l6ZXM6IChcbiAgMTogJGgxLWZvbnQtc2l6ZSxcbiAgMjogJGgyLWZvbnQtc2l6ZSxcbiAgMzogJGgzLWZvbnQtc2l6ZSxcbiAgNDogJGg0LWZvbnQtc2l6ZSxcbiAgNTogJGg1LWZvbnQtc2l6ZSxcbiAgNjogJGg2LWZvbnQtc2l6ZVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9udC1zaXplc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaGVhZGluZ3MtdmFyaWFibGVzXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtc3R5bGU6ICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGhlYWRpbmdzLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZGlzcGxheS1oZWFkaW5nc1xuJGRpc3BsYXktZm9udC1zaXplczogKFxuICAxOiA1cmVtLFxuICAyOiA0LjVyZW0sXG4gIDM6IDRyZW0sXG4gIDQ6IDMuNXJlbSxcbiAgNTogM3JlbSxcbiAgNjogMi41cmVtXG4pICFkZWZhdWx0O1xuXG4kZGlzcGxheS1mb250LWZhbWlseTogbnVsbCAhZGVmYXVsdDtcbiRkaXNwbGF5LWZvbnQtc3R5bGU6ICBudWxsICFkZWZhdWx0O1xuJGRpc3BsYXktZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGRpc3BsYXktaGVhZGluZ3NcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHR5cGUtdmFyaWFibGVzXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAuODc1ZW0gIWRlZmF1bHQ7XG5cbiRzdWItc3VwLWZvbnQtc2l6ZTogICAgICAgICAgIC43NWVtICFkZWZhdWx0O1xuXG4vLyBmdXN2LWRpc2FibGVcbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIDUuMy4wXG4vLyBmdXN2LWVuYWJsZVxuXG4kaW5pdGlhbGlzbS1mb250LXNpemU6ICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1tYXJnaW4teTogICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRoci1tYXJnaW4teTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kaHItY29sb3I6ICAgICAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLyBmdXN2LWRpc2FibGVcbiRoci1iZy1jb2xvcjogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wXG4kaHItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuLy8gZnVzdi1lbmFibGVcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gQWxsb3dzIGZvciBpbmhlcml0ZWQgY29sb3JzXG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRoci1vcGFjaXR5OiAgICAgICAgICAgICAgICAgIC4yNSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHZyLXZhcmlhYmxlc1xuJHZyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHZyLXZhcmlhYmxlc1xuXG4kbGVnZW5kLW1hcmdpbi1ib3R0b206ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRsZWdlbmQtZm9udC1zaXplOiAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRsZWdlbmQtZm9udC13ZWlnaHQ6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjE4NzVlbSAhZGVmYXVsdDtcbiRtYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgJHllbGxvdy0xMDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHR5cGUtdmFyaWFibGVzXG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtdmFyaWFibGVzXG4kdGFibGUtY2VsbC1wYWRkaW5nLXk6ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteDogICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy15LXNtOiAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy14LXNtOiAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY2VsbC12ZXJ0aWNhbC1hbGlnbjogICB0b3AgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtY29sb3I6ICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yOiAgICAgLjA1ICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYmc6ICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3I6ICAgICAgLjEgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAkdGFibGUtYWN0aXZlLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZy1mYWN0b3I6ICAgICAgIC4wNzUgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAkdGFibGUtaG92ZXItYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci1mYWN0b3I6ICAgICAgICAgLjIgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1jb2x1bW5zLW9yZGVyOiBldmVuICFkZWZhdWx0O1xuXG4kdGFibGUtZ3JvdXAtc2VwYXJhdG9yLWNvbG9yOiBjdXJyZW50Y29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuXG4kdGFibGUtYmctc2NhbGU6ICAgICAgICAgICAgICAtODAlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRhYmxlLWxvb3BcbiR0YWJsZS12YXJpYW50czogKFxuICBcInByaW1hcnlcIjogICAgc2hpZnQtY29sb3IoJHByaW1hcnksICR0YWJsZS1iZy1zY2FsZSksXG4gIFwic2Vjb25kYXJ5XCI6ICBzaGlmdC1jb2xvcigkc2Vjb25kYXJ5LCAkdGFibGUtYmctc2NhbGUpLFxuICBcInN1Y2Nlc3NcIjogICAgc2hpZnQtY29sb3IoJHN1Y2Nlc3MsICR0YWJsZS1iZy1zY2FsZSksXG4gIFwiaW5mb1wiOiAgICAgICBzaGlmdC1jb2xvcigkaW5mbywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJ3YXJuaW5nXCI6ICAgIHNoaWZ0LWNvbG9yKCR3YXJuaW5nLCAkdGFibGUtYmctc2NhbGUpLFxuICBcImRhbmdlclwiOiAgICAgc2hpZnQtY29sb3IoJGRhbmdlciwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgXCJkYXJrXCI6ICAgICAgICRkYXJrLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGFibGUtbG9vcFxuXG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaW5wdXQtYnRuLXZhcmlhYmxlc1xuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1mYW1pbHk6ICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgICAkZm9jdXMtcmluZy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eTogJGZvY3VzLXJpbmctb3BhY2l0eSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgICAgJGZvY3VzLXJpbmctY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJsdXI6ICAgICAgICAgICRmb2N1cy1yaW5nLWJsdXIgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGlucHV0LWJ0bi12YXJpYWJsZXNcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tdmFyaWFibGVzXG4kYnRuLWNvbG9yOiAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1mb250LWZhbWlseTogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplOiAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidG4td2hpdGUtc3BhY2U6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFNldCB0byBgbm93cmFwYCB0byBwcmV2ZW50IHRleHQgd3JhcHBpbmdcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstY29sb3I6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLWxpbmstaG92ZXItY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnRuLWxpbmstZm9jdXMtc2hhZG93LXJnYjogICB0by1yZ2IobWl4KGNvbG9yLWNvbnRyYXN0KCRsaW5rLWNvbG9yKSwgJGxpbmstY29sb3IsIDE1JSkpICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbSkgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGJ0bi1ob3Zlci1iZy1zaGFkZS1hbW91bnQ6ICAgICAgIDE1JSAhZGVmYXVsdDtcbiRidG4taG92ZXItYmctdGludC1hbW91bnQ6ICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJvcmRlci1zaGFkZS1hbW91bnQ6ICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1ib3JkZXItdGludC1hbW91bnQ6ICAgIDEwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJnLXNoYWRlLWFtb3VudDogICAgICAyMCUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1iZy10aW50LWFtb3VudDogICAgICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm9yZGVyLXNoYWRlLWFtb3VudDogIDI1JSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJvcmRlci10aW50LWFtb3VudDogICAxMCUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi12YXJpYWJsZXNcblxuXG4vLyBGb3Jtc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS10ZXh0LXZhcmlhYmxlc1xuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1mb250LXN0eWxlOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS10ZXh0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1sYWJlbC12YXJpYWJsZXNcbiRmb3JtLWxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWxhYmVsLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1pbnB1dC12YXJpYWJsZXNcbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldCkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICB0aW50LWNvbG9yKCRjb21wb25lbnQtYWN0aXZlLWJnLCA1MCUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtYm9yZGVyLXdpZHRofSAqIDIpICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtLCAkaW5wdXQtcGFkZGluZy15KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAuNSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LXNtICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLWNvbG9yLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAzcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWlucHV0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1jaGVjay12YXJpYWJsZXNcbiRmb3JtLWNoZWNrLWlucHV0LXdpZHRoOiAgICAgICAgICAgICAgICAgIDFlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLW1pbi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydDogICAgICAgICAgICAgICAgJGZvcm0tY2hlY2staW5wdXQtd2lkdGggKyAuNWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1jdXJzb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtYWN0aXZlLWZpbHRlcjogICAgICAgICAgYnJpZ2h0bmVzcyg5MCUpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1ib3JkZXI6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcmFkaW8tYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm9yZGVyOiAgICAgICAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3I6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJvcmRlci1jb2xvcjogICAkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1pbWFnZTogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzMnIGQ9J202IDEwIDMgMyA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWJnLWltYWdlOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPScyJyBmaWxsPScjeyRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICAgJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctaW1hZ2U6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdNNiAxMGg4Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjUgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgJGZvcm0tY2hlY2staW5wdXQtZGlzYWJsZWQtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWJ0bi1jaGVjay1kaXNhYmxlZC1vcGFjaXR5OiAgICAkYnRuLWRpc2FibGVkLW9wYWNpdHkgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4tZW5kOiAgICAxcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWNoZWNrLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1zd2l0Y2gtdmFyaWFibGVzXG4kZm9ybS1zd2l0Y2gtY29sb3I6ICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtd2lkdGg6ICAgICAgICAgICAgICAgMmVtICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQ6ICAgICAgICRmb3JtLXN3aXRjaC13aWR0aCArIC41ZW0gIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtYmctaW1hZ2U6ICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skZm9ybS1zd2l0Y2gtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWJvcmRlci1yYWRpdXM6ICAgICAgICRmb3JtLXN3aXRjaC13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC10cmFuc2l0aW9uOiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXN3aXRjaC1mb2N1cy1jb2xvcjogICAgICAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWZvY3VzLWJnLWltYWdlOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWZvY3VzLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tc3dpdGNoLWNoZWNrZWQtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctaW1hZ2U6ICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctcG9zaXRpb246IHJpZ2h0IGNlbnRlciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1zd2l0Y2gtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBpbnB1dC1ncm91cC12YXJpYWJsZXNcbiRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXk6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGlucHV0LWdyb3VwLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1zZWxlY3QtdmFyaWFibGVzXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAgICRpbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgICAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICogMyAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyBmb3IgYmFja2dyb3VuZC1pbWFnZVxuJGZvcm0tc2VsZWN0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmctcG9zaXRpb246ICAgICAgICAgICByaWdodCAkZm9ybS1zZWxlY3QtcGFkZGluZy14IGNlbnRlciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICAgIDE2cHggMTJweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J20yIDUgNiA2IDYtNicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1lbmQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXggKiAyLjUgKyAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjogICAgY2VudGVyIHJpZ2h0ICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU6ICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJveC1zaGFkb3c6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LWluc2V0KSAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRmb3JtLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1zbTogICAgJGlucHV0LWJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLWxnOiAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXRyYW5zaXRpb246ICAgICAgICAgICRpbnB1dC10cmFuc2l0aW9uICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXNlbGVjdC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tcmFuZ2UtdmFyaWFibGVzXG4kZm9ybS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQpICFkZWZhdWx0O1xuXG4kZm9ybS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkZm9ybS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gRWRnZVxuJGZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIHRpbnQtY29sb3IoJGNvbXBvbmVudC1hY3RpdmUtYmcsIDcwJSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXJhbmdlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1maWxlLXZhcmlhYmxlc1xuJGZvcm0tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGZvcm0tZmlsZS1idXR0b24taG92ZXItYmc6ICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWZpbGUtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWZsb2F0aW5nLXZhcmlhYmxlc1xuJGZvcm0tZmxvYXRpbmctaGVpZ2h0OiAgICAgICAgICAgICAgICAgIGFkZCgzLjVyZW0sICRpbnB1dC1oZWlnaHQtYm9yZGVyKSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDogICAgICAgICAxLjYyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjogICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtaGVpZ2h0OiAgICAgICAgICAgIDEuNWVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtb3BhY2l0eTogICAgICAgICAgIC42NSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTogICAgICAgICBzY2FsZSguODUpIHRyYW5zbGF0ZVkoLS41cmVtKSB0cmFuc2xhdGVYKC4xNXJlbSkgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctdHJhbnNpdGlvbjogICAgICAgICAgICAgIG9wYWNpdHkgLjFzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gLjFzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWZsb2F0aW5nLXZhcmlhYmxlc1xuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmVlZGJhY2stdmFyaWFibGVzXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkZm9ybS10ZXh0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc3R5bGU6ICAgICAgICAgICRmb3JtLXRleHQtZm9udC1zdHlsZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgICRzdWNjZXNzICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgJGRhbmdlciAhZGVmYXVsdDtcblxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcjogICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43My42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMiAxMicgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfSc+PGNpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvPjxwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvPjxjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHN0cm9rZT0nbm9uZScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1mZWVkYmFjay12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdmFsaWRhdGlvbi1jb2xvcnNcbiRmb3JtLXZhbGlkLWNvbG9yOiAgICAgICAgICAgICAgICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1pbnZhbGlkLWNvbG9yOiAgICAgICAgICAgICAgICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taW52YWxpZC1ib3JkZXItY29sb3I6ICAgICAgICAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLWNvbG9yc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IChcbiAgXCJ2YWxpZFwiOiAoXG4gICAgXCJjb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1jb2xvciksXG4gICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQsXG4gICAgXCJ0b29sdGlwLWNvbG9yXCI6ICNmZmYsXG4gICAgXCJ0b29sdGlwLWJnLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1zdWNjZXNzKSxcbiAgICBcImZvY3VzLWJveC1zaGFkb3dcIjogMCAwICRpbnB1dC1idG4tZm9jdXMtYmx1ciAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSh2YXIoLS0jeyRwcmVmaXh9c3VjY2Vzcy1yZ2IpLCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHkpLFxuICAgIFwiYm9yZGVyLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWJvcmRlci1jb2xvciksXG4gICksXG4gIFwiaW52YWxpZFwiOiAoXG4gICAgXCJjb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWNvbG9yKSxcbiAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLFxuICAgIFwidG9vbHRpcC1jb2xvclwiOiAjZmZmLFxuICAgIFwidG9vbHRpcC1iZy1jb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9ZGFuZ2VyKSxcbiAgICBcImZvY3VzLWJveC1zaGFkb3dcIjogMCAwICRpbnB1dC1idG4tZm9jdXMtYmx1ciAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZGFuZ2VyLXJnYiksICRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eSksXG4gICAgXCJib3JkZXItY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1ib3JkZXItY29sb3IpLFxuICApXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHppbmRleC1zdGFja1xuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1vZmZjYW52YXMtYmFja2Ryb3A6ICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtb2ZmY2FudmFzOiAgICAgICAgICAgICAgICAgIDEwNDUgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1NSAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDgwICFkZWZhdWx0O1xuJHppbmRleC10b2FzdDogICAgICAgICAgICAgICAgICAgICAgMTA5MCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgemluZGV4LXN0YWNrXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB6aW5kZXgtbGV2ZWxzLW1hcFxuJHppbmRleC1sZXZlbHM6IChcbiAgbjE6IC0xLFxuICAwOiAwLFxuICAxOiAxLFxuICAyOiAyLFxuICAzOiAzXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB6aW5kZXgtbGV2ZWxzLW1hcFxuXG5cbi8vIE5hdnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi12YXJpYWJsZXNcbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1mb250LXNpemU6ICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG5hdi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXVuZGVybGluZS1nYXA6ICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRoOiAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRuYXYtdW5kZXJsaW5lLWxpbmstYWN0aXZlLWNvbG9yOiAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdi12YXJpYWJsZXNcblxuXG4vLyBOYXZiYXJcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci12YXJpYWJsZXNcbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLW1hcmdpbi1lbmQ6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRoOiAgICAgICAgJGJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci10cmFuc2l0aW9uOiAgICAgICAgIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjY1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC44KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIDEpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1pY29uLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAuMTUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWRhcmstdmFyaWFibGVzXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjU1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaWNvbi1jb2xvcjogICAgICAgICAgICAkbmF2YmFyLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1kYXJrLXZhcmlhYmxlc1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLXZhcmlhYmxlc1xuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgIGNhbGMoI3skZHJvcGRvd24tYm9yZGVyLXJhZGl1c30gLSAjeyRkcm9wZG93bi1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRkcm9wZG93bi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICRkcm9wZG93bi1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgJHNwYWNlciAqIC4yNSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICRkcm9wZG93bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZzogICAgICAgICAgICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15ICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuLy8gZnVzdi1lbmFibGVcbi8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi1kYXJrLXZhcmlhYmxlc1xuJGRyb3Bkb3duLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgICAgJGRyb3Bkb3duLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWRpdmlkZXItYmc6ICAgICAgICAgICRkcm9wZG93bi1kaXZpZGVyLWJnICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm94LXNoYWRvdzogICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstY29sb3I6ICAgICAgICAgICRkcm9wZG93bi1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1jb2xvcjogICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1iZzogICAgICAgcmdiYSgkd2hpdGUsIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1jb2xvcjogICAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1iZzogICAgICAkZHJvcGRvd24tbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1oZWFkZXItY29sb3I6ICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWRhcmstdmFyaWFibGVzXG5cblxuLy8gUGFnaW5hdGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGFnaW5hdGlvbi12YXJpYWJsZXNcbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydDogICAgICAgICAgIGNhbGMoI3skcGFnaW5hdGlvbi1ib3JkZXItd2lkdGh9ICogLTEpICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDsgLy8gVG9kbyBpbiB2NjogcmVtb3ZlIHRoaXM/XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbSkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb24tdmFyaWFibGVzXG5cblxuLy8gUGxhY2Vob2xkZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwbGFjZWhvbGRlcnNcbiRwbGFjZWhvbGRlci1vcGFjaXR5LW1heDogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluOiAgICAgICAgICAgLjIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBsYWNlaG9sZGVyc1xuXG4vLyBDYXJkc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZC12YXJpYWJsZXNcbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtc3BhY2VyLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLXN1YnRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGNhcmQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAqIC41ICFkZWZhdWx0O1xuJGNhcmQtY2FwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXggIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYiksIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoICogLjUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmQtdmFyaWFibGVzXG5cbi8vIEFjY29yZGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYWNjb3JkaW9uLXZhcmlhYmxlc1xuJGFjY29yZGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgc3VidHJhY3QoJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzLCAkYWNjb3JkaW9uLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteTogICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tcGFkZGluZy14OiAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJnKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbiwgYm9yZGVyLXJhZGl1cyAuMTVzIGVhc2UgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1iZy1zdWJ0bGUpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXByaW1hcnktdGV4dC1lbXBoYXNpcykgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLWZvY3VzLWJvcmRlci1jb2xvcjogICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24taWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICRwcmltYXJ5LXRleHQtZW1waGFzaXMgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLXRyYW5zZm9ybTogICAgICAgICAgICAgICAgcm90YXRlKC0xODBkZWcpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1pY29uOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRhY2NvcmRpb24taWNvbi1jb2xvcn0nPjxwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTEuNjQ2IDQuNjQ2YS41LjUgMCAwIDEgLjcwOCAwTDggMTAuMjkzbDUuNjQ2LTUuNjQ3YS41LjUgMCAwIDEgLjcwOC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDggMGwtNi02YS41LjUgMCAwIDEgMC0uNzA4eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uOiAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGFjY29yZGlvbi1pY29uLWFjdGl2ZS1jb2xvcn0nPjxwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTEuNjQ2IDQuNjQ2YS41LjUgMCAwIDEgLjcwOCAwTDggMTAuMjkzbDUuNjQ2LTUuNjQ3YS41LjUgMCAwIDEgLjcwOC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDggMGwtNi02YS41LjUgMCAwIDEgMC0uNzA4eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYWNjb3JkaW9uLXZhcmlhYmxlc1xuXG4vLyBUb29sdGlwc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9vbHRpcC12YXJpYWJsZXNcbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuMjUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBUT0RPOiByZW1vdmUgdGhpcyBpbiB2NlxuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAuOHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuLy8gZnVzdi1kaXNhYmxlXG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIEJvb3RzdHJhcCA1LjIuMCBmb3IgQ1NTIHZhcmlhYmxlc1xuLy8gZnVzdi1lbmFibGVcbi8vIHNjc3MtZG9jcy1lbmQgdG9vbHRpcC12YXJpYWJsZXNcblxuLy8gRm9ybSB0b29sdGlwcyBtdXN0IGNvbWUgYWZ0ZXIgcmVndWxhciB0b29sdGlwc1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvb2x0aXAtZmVlZGJhY2stdmFyaWFibGVzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHk6ICAgICAgICR0b29sdGlwLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRvb2x0aXAtZmVlZGJhY2stdmFyaWFibGVzXG5cblxuLy8gUG9wb3ZlcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvcG92ZXItdmFyaWFibGVzXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgY2FsYygjeyRwb3BvdmVyLWJvcmRlci1yYWRpdXN9IC0gI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93KSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBvcG92ZXItdmFyaWFibGVzXG5cbi8vIGZ1c3YtZGlzYWJsZVxuLy8gRGVwcmVjYXRlZCBpbiBCb290c3RyYXAgNS4yLjAgZm9yIENTUyB2YXJpYWJsZXNcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4vLyBmdXN2LWVuYWJsZVxuXG5cbi8vIFRvYXN0c1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9hc3QtdmFyaWFibGVzXG4kdG9hc3QtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWJnLXJnYiksIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3cpICFkZWZhdWx0O1xuJHRvYXN0LXNwYWNpbmc6ICAgICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiR0b2FzdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2IpLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJHRvYXN0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdG9hc3QtdmFyaWFibGVzXG5cblxuLy8gQmFkZ2VzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBiYWRnZS12YXJpYWJsZXNcbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC43NWVtICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMzVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC42NWVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBiYWRnZS12YXJpYWJsZXNcblxuXG4vLyBNb2RhbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLXZhcmlhYmxlc1xuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbjogICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMS43NXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1czogc3VidHJhY3QoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cywgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LXNtKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG5cbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC1mb290ZXItYmc6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwteGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMTQwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1mYWRlLXRyYW5zZm9ybTogICAgICAgICAgICAgIHRyYW5zbGF0ZSgwLCAtNTBweCkgIWRlZmF1bHQ7XG4kbW9kYWwtc2hvdy10cmFuc2Zvcm06ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcbiRtb2RhbC1zY2FsZS10cmFuc2Zvcm06ICAgICAgICAgICAgIHNjYWxlKDEuMDIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC12YXJpYWJsZXNcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFsZXJ0LXZhcmlhYmxlc1xuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRhbGVydC1kaXNtaXNzaWJsZS1wYWRkaW5nLXI6ICAgJGFsZXJ0LXBhZGRpbmcteCAqIDMgIWRlZmF1bHQ7IC8vIDN4IGNvdmVycyB3aWR0aCBvZiB4IHBsdXMgZGVmYXVsdCBwYWRkaW5nIG9uIGVpdGhlciBzaWRlXG4vLyBzY3NzLWRvY3MtZW5kIGFsZXJ0LXZhcmlhYmxlc1xuXG4vLyBmdXN2LWRpc2FibGVcbiRhbGVydC1iZy1zY2FsZTogICAgICAgICAgICAgICAgLTgwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcbiRhbGVydC1ib3JkZXItc2NhbGU6ICAgICAgICAgICAgLTcwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcbiRhbGVydC1jb2xvci1zY2FsZTogICAgICAgICAgICAgNDAlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMCwgdG8gYmUgcmVtb3ZlZCBpbiB2NlxuLy8gZnVzdi1lbmFibGVcblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcHJvZ3Jlc3MtdmFyaWFibGVzXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjc1ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldCkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICAkcHJpbWFyeSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwcm9ncmVzcy12YXJpYWJsZXNcblxuXG4vLyBMaXN0IGdyb3VwXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBsaXN0LWdyb3VwLXZhcmlhYmxlc1xuJGxpc3QtZ3JvdXAtY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbi8vIGZ1c3YtZGlzYWJsZVxuJGxpc3QtZ3JvdXAtaXRlbS1iZy1zY2FsZTogICAgICAgICAgLTgwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcbiRsaXN0LWdyb3VwLWl0ZW0tY29sb3Itc2NhbGU6ICAgICAgIDQwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLXZhcmlhYmxlc1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRodW1ibmFpbC12YXJpYWJsZXNcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1zbSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRodW1ibmFpbC12YXJpYWJsZXNcblxuXG4vLyBGaWd1cmVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmaWd1cmUtdmFyaWFibGVzXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZpZ3VyZS12YXJpYWJsZXNcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnJlYWRjcnVtYi12YXJpYWJsZXNcbiRicmVhZGNydW1iLWZvbnQtc2l6ZTogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1mbGlwcGVkOiAgICAgICAgJGJyZWFkY3J1bWItZGl2aWRlciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJyZWFkY3J1bWItdmFyaWFibGVzXG5cbi8vIENhcm91c2VsXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJvdXNlbC12YXJpYWJsZXNcbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTogICAgIC45ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjE1cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLW9wYWNpdHk6ICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtb3BhY2l0eTogIDEgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb246ICAgICAgb3BhY2l0eSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLXNwYWNlcjogICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMnJlbSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfSc+PHBhdGggZD0nTTExLjM1NCAxLjY0NmEuNS41IDAgMCAxIDAgLjcwOEw1LjcwNyA4bDUuNjQ3IDUuNjQ2YS41LjUgMCAwIDEtLjcwOC43MDhsLTYtNmEuNS41IDAgMCAxIDAtLjcwOGw2LTZhLjUuNSAwIDAgMSAuNzA4IDB6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfSc+PHBhdGggZD0nTTQuNjQ2IDEuNjQ2YS41LjUgMCAwIDEgLjcwOCAwbDYgNmEuNS41IDAgMCAxIDAgLjcwOGwtNiA2YS41LjUgMCAwIDEtLjcwOC0uNzA4TDEwLjI5MyA4IDQuNjQ2IDIuMzU0YS41LjUgMCAwIDEgMC0uNzA4eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgIC42cyAhZGVmYXVsdDtcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG4vLyBzY3NzLWRvY3MtZW5kIGNhcm91c2VsLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2Fyb3VzZWwtZGFyay12YXJpYWJsZXNcbiRjYXJvdXNlbC1kYXJrLWluZGljYXRvci1hY3RpdmUtYmc6ICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtZGFyay1jYXB0aW9uLWNvbG9yOiAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNhcm91c2VsLWRhcmstY29udHJvbC1pY29uLWZpbHRlcjogIGludmVydCgxKSBncmF5c2NhbGUoMTAwKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2Fyb3VzZWwtZGFyay12YXJpYWJsZXNcblxuXG4vLyBTcGlubmVyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci12YXJpYWJsZXNcbiRzcGlubmVyLXdpZHRoOiAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodDogICAgICAgICAgJHNwaW5uZXItd2lkdGggIWRlZmF1bHQ7XG4kc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjogIC0uMTI1ZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGg6ICAgIC4yNWVtICFkZWZhdWx0O1xuJHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkOiAuNzVzICFkZWZhdWx0O1xuXG4kc3Bpbm5lci13aWR0aC1zbTogICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQtc206ICAgICAgICRzcGlubmVyLXdpZHRoLXNtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtOiAuMmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLXZhcmlhYmxlc1xuXG5cbi8vIENsb3NlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjbG9zZS12YXJpYWJsZXNcbiRidG4tY2xvc2Utd2lkdGg6ICAgICAgICAgICAgMWVtICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1oZWlnaHQ6ICAgICAgICAgICAkYnRuLWNsb3NlLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1wYWRkaW5nLXg6ICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtcGFkZGluZy15OiAgICAgICAgJGJ0bi1jbG9zZS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWNvbG9yOiAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRidG4tY2xvc2UtYmc6ICAgICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGJ0bi1jbG9zZS1jb2xvcn0nPjxwYXRoIGQ9J00uMjkzLjI5M2ExIDEgMCAwIDEgMS40MTQgMEw4IDYuNTg2IDE0LjI5My4yOTNhMSAxIDAgMSAxIDEuNDE0IDEuNDE0TDkuNDE0IDhsNi4yOTMgNi4yOTNhMSAxIDAgMCAxLTEuNDE0IDEuNDE0TDggOS40MTRsLTYuMjkzIDYuMjkzYTEgMSAwIDAgMS0xLjQxNC0xLjQxNEw2LjU4NiA4IC4yOTMgMS43MDdhMSAxIDAgMCAxIDAtMS40MTR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1zaGFkb3c6ICAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1vcGFjaXR5OiAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaG92ZXItb3BhY2l0eTogICAgLjc1ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5OiAgICAxICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5OiAuMjUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXdoaXRlLWZpbHRlcjogICAgIGludmVydCgxKSBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcygyMDAlKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2xvc2UtdmFyaWFibGVzXG5cblxuLy8gT2ZmY2FudmFzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBvZmZjYW52YXMtdmFyaWFibGVzXG4kb2ZmY2FudmFzLXBhZGRpbmcteTogICAgICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtcGFkZGluZy14OiAgICAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ob3Jpem9udGFsLXdpZHRoOiAgICAgICAgNDAwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLWhlaWdodDogICAgICAgICAzMHZoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgLjNzICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodDogICAgICAgJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iZy1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jb2xvcjogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICRtb2RhbC1iYWNrZHJvcC1iZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBvZmZjYW52YXMtdmFyaWFibGVzXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMTg3NXJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMCwgcmVtb3ZpbmcgaW4gdjZcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gcmVwbGFjZSBuZWdhdGl2ZSB2YWx1ZXMgd2l0aCAwXG5AZnVuY3Rpb24gdmFsaWQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgJHJldHVybjogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkcmFkaXVzIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IG51bWJlciB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgbWF4KCR2YWx1ZSwgMCkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sICR2YWx1ZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci1yYWRpdXMtbWl4aW5zXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cywgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM6IGZhbHNlKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxuICBAZWxzZSBpZiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cyAhPSBmYWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3Atc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXN0YXJ0LXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXJhZGl1cy1taXhpbnNcbiIsIi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLy9cbi8vIFRoaXMgaXMgcHVycG9zZWZ1bGx5IG9wdC1pbiB2aWEgYW4gZXhwbGljaXQgY2xhc3MgcmF0aGVyIHRoYW4gYmVpbmcgdGhlIGRlZmF1bHQgZm9yIGFsbCBgPGltZz5gcy5cbi8vIFdlIHByZXZpb3VzbHkgdHJpZWQgdGhlIFwiaW1hZ2VzIGFyZSByZXNwb25zaXZlIGJ5IGRlZmF1bHRcIiBhcHByb2FjaCBpbiBCb290c3RyYXAgdjIsXG4vLyBhbmQgYWJhbmRvbmVkIGl0IGluIEJvb3RzdHJhcCB2MyBiZWNhdXNlIGl0IGJyZWFrcyBsb3RzIG9mIHRoaXJkLXBhcnR5IHdpZGdldHMgKGluY2x1ZGluZyBHb29nbGUgTWFwcylcbi8vIHdoaWNoIHdlcmVuJ3QgZXhwZWN0aW5nIHRoZSBpbWFnZXMgd2l0aGluIHRoZW1zZWx2ZXMgdG8gYmUgaW52b2x1bnRhcmlseSByZXNpemVkLlxuLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODE3OFxuLmltZy1mbHVpZCB7XG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyLXdpZHRoIHNvbGlkICR0aHVtYm5haWwtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHRodW1ibmFpbC1ib3gtc2hhZG93KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG4uZmlndXJlIHtcbiAgLy8gRW5zdXJlcyB0aGUgY2FwdGlvbidzIHRleHQgYWxpZ25zIHdpdGggdGhlIGltYWdlLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5maWd1cmUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlciAqIC41O1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmaWd1cmUtY2FwdGlvbi1mb250LXNpemUpO1xuICBjb2xvcjogJGZpZ3VyZS1jYXB0aW9uLWNvbG9yO1xufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbkBtaXhpbiBpbWctZmx1aWQge1xuICAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8vIFBhcnQgMjogT3ZlcnJpZGUgdGhlIGhlaWdodCB0byBhdXRvLCBvdGhlcndpc2UgaW1hZ2VzIHdpbGwgYmUgc3RyZXRjaGVkXG4gIC8vIHdoZW4gc2V0dGluZyBhIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlIG9uIHRoZSBpbWcgZWxlbWVudC5cbiAgaGVpZ2h0OiBhdXRvO1xufVxuIiwiLy8gc2Nzcy1kb2NzLXN0YXJ0IGNsZWFyZml4XG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNsZWFyZml4XG4iLCIvLyBBbGwtY2FwcyBgUkdCQSgpYCBmdW5jdGlvbiB1c2VkIGJlY2F1c2Ugb2YgdGhpcyBTYXNzIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvbm9kZS1zYXNzL2lzc3Vlcy8yMjUxXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLnRleHQtYmctI3skY29sb3J9IHtcbiAgICBjb2xvcjogY29sb3ItY29udHJhc3QoJHZhbHVlKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IFJHQkEodmFyKC0tI3skcHJlZml4fSN7JGNvbG9yfS1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9Ymctb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gIH1cbn1cbiIsIi8vIEFsbC1jYXBzIGBSR0JBKClgIGZ1bmN0aW9uIHVzZWQgYmVjYXVzZSBvZiB0aGlzIFNhc3MgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9ub2RlLXNhc3MvaXNzdWVzLzIyNTFcbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAubGluay0jeyRjb2xvcn0ge1xuICAgIGNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH0jeyRjb2xvcn0tcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH0jeyRjb2xvcn0tcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gICAgQGlmICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgICRob3Zlci1jb2xvcjogaWYoY29sb3ItY29udHJhc3QoJHZhbHVlKSA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSksIHRpbnQtY29sb3IoJHZhbHVlLCAkbGluay1zaGFkZS1wZXJjZW50YWdlKSk7XG4gICAgICAgIGNvbG9yOiBSR0JBKCN7dG8tcmdiKCRob3Zlci1jb2xvcil9LCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKHRvLXJnYigkaG92ZXItY29sb3IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9uZS1vZmYgc3BlY2lhbCBsaW5rIGhlbHBlciBhcyBhIGJyaWRnZSB1bnRpbCB2NlxuLmxpbmstYm9keS1lbXBoYXNpcyB7XG4gIGNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgQGlmICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAuNzUpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgLjc1KSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5mb2N1cy1yaW5nOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbiAgLy8gQnkgZGVmYXVsdCwgdGhlcmUgaXMgbm8gYC0tYnMtZm9jdXMtcmluZy14YCwgYC0tYnMtZm9jdXMtcmluZy15YCwgb3IgYC0tYnMtZm9jdXMtcmluZy1ibHVyYCwgYnV0IHdlIHByb3ZpZGUgQ1NTIHZhcmlhYmxlcyB3aXRoIGZhbGxiYWNrcyB0byBpbml0aWFsIGAwYCB2YWx1ZXNcbiAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWZvY3VzLXJpbmcteCwgMCkgdmFyKC0tI3skcHJlZml4fWZvY3VzLXJpbmcteSwgMCkgdmFyKC0tI3skcHJlZml4fWZvY3VzLXJpbmctYmx1ciwgMCkgdmFyKC0tI3skcHJlZml4fWZvY3VzLXJpbmctd2lkdGgpIHZhcigtLSN7JHByZWZpeH1mb2N1cy1yaW5nLWNvbG9yKTtcbn1cbiIsIi5pY29uLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZ2FwOiAkaWNvbi1saW5rLWdhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yLXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIC41KSk7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogJGljb24tbGluay11bmRlcmxpbmUtb2Zmc2V0O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgPiAuYmkge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiAkaWNvbi1saW5rLWljb24tc2l6ZTtcbiAgICBoZWlnaHQ6ICRpY29uLWxpbmstaWNvbi1zaXplO1xuICAgIGZpbGw6IGN1cnJlbnRjb2xvcjtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpY29uLWxpbmstaWNvbi10cmFuc2l0aW9uKTtcbiAgfVxufVxuXG4uaWNvbi1saW5rLWhvdmVyIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICA+IC5iaSB7XG4gICAgICB0cmFuc2Zvcm06IHZhcigtLSN7JHByZWZpeH1pY29uLWxpbmstdHJhbnNmb3JtLCAkaWNvbi1saW5rLWljb24tdHJhbnNmb3JtKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEge1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkdHJhbnNpdGlvbiB7XG4gICAgICBAaWYgJHZhbHVlID09IG51bGwgb3IgJHZhbHVlID09IG5vbmUge1xuICAgICAgICBAd2FybiBcIlRoZSBrZXl3b3JkICdub25lJyBvciAnbnVsbCcgbXVzdCBiZSB1c2VkIGFzIGEgc2luZ2xlIGFyZ3VtZW50LlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIEBpZiAkZW5hYmxlLXJlZHVjZWQtbW90aW9uIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbm9uZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQ3JlZGl0OiBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgU1VJVCBDU1MuXG5cbi5yYXRpbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tI3skcHJlZml4fWFzcGVjdC1yYXRpbyk7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gID4gKiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AZWFjaCAka2V5LCAkcmF0aW8gaW4gJGFzcGVjdC1yYXRpb3Mge1xuICAucmF0aW8tI3ska2V5fSB7XG4gICAgLS0jeyRwcmVmaXh9YXNwZWN0LXJhdGlvOiAjeyRyYXRpb307XG4gIH1cbn1cbiIsIi8vIFNob3J0aGFuZFxuXG4uZml4ZWQtdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4vLyBSZXNwb25zaXZlIHN0aWNreSB0b3AgYW5kIGJvdHRvbVxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLnN0aWNreSN7JGluZml4fS10b3Age1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHotaW5kZXg6ICR6aW5kZXgtc3RpY2t5O1xuICAgIH1cblxuICAgIC5zdGlja3kjeyRpbmZpeH0tYm90dG9tIHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICBib3R0b206IDA7XG4gICAgICB6LWluZGV4OiAkemluZGV4LXN0aWNreTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsIHh4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEBpZiBub3QgJG4ge1xuICAgIEBlcnJvciBcImJyZWFrcG9pbnQgYCN7JG5hbWV9YCBub3QgZm91bmQgaW4gYCN7JGJyZWFrcG9pbnRzfWBcIjtcbiAgfVxuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyByZWR1Y2VkIGJ5IDAuMDJweCB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2Zcbi8vIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgobWQsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtYXggYW5kICRtYXggPiAwLCAkbWF4IC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiAgYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6ICBicmVha3BvaW50LW1heCgkbmV4dCwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgc3RhY2tzXG4uaHN0YWNrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cblxuLnZzdGFjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBzdGFja3NcbiIsIi8vXG4vLyBWaXN1YWxseSBoaWRkZW5cbi8vXG5cbi52aXN1YWxseS1oaWRkZW4sXG4udmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZTpub3QoOmZvY3VzKTpub3QoOmZvY3VzLXdpdGhpbikge1xuICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBIaWRlIGNvbnRlbnQgdmlzdWFsbHkgd2hpbGUga2VlcGluZyBpdCBhY2Nlc3NpYmxlIHRvIGFzc2lzdGl2ZSB0ZWNobm9sb2dpZXNcbi8vXG4vLyBTZWU6IGh0dHBzOi8vd3d3LmExMXlwcm9qZWN0LmNvbS9wb3N0cy8yMDEzLTAxLTExLWhvdy10by1oaWRlLWNvbnRlbnQvXG4vLyBTZWU6IGh0dHBzOi8va2l0dHlnaXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHZpc3VhbGx5LWhpZGRlbigpIHtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogLTFweCAhaW1wb3J0YW50OyAvLyBGaXggZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjU2ODZcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG5cbiAgLy8gRml4IGZvciBwb3NpdGlvbmVkIHRhYmxlIGNhcHRpb24gdGhhdCBjb3VsZCBiZWNvbWUgYW5vbnltb3VzIGNlbGxzXG4gICY6bm90KGNhcHRpb24pIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBVc2UgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQsIG9yIG9uZSBvZiBpdHMgY2hpbGQgZWxlbWVudHMgaXMgZm9jdXNlZFxuLy8gKGkuZS4gd2hlbiBmb2N1cyBpcyB3aXRoaW4gdGhlIGVsZW1lbnQvY29udGFpbmVyIHRoYXQgdGhlIGNsYXNzIHdhcyBhcHBsaWVkIHRvKVxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcblxuQG1peGluIHZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGUoKSB7XG4gICY6bm90KDpmb2N1cyk6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgfVxufVxuIiwiLy9cbi8vIFN0cmV0Y2hlZCBsaW5rXG4vL1xuXG4uc3RyZXRjaGVkLWxpbmsge1xuICAmOjojeyRzdHJldGNoZWQtbGluay1wc2V1ZG8tZWxlbWVudH0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJHN0cmV0Y2hlZC1saW5rLXotaW5kZXg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuIiwiLy9cbi8vIFRleHQgdHJ1bmNhdGlvblxuLy9cblxuLnRleHQtdHJ1bmNhdGUge1xuICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlKCk7XG59XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi52ciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgd2lkdGg6ICR2ci1ib3JkZXItd2lkdGg7XG4gIG1pbi1oZWlnaHQ6IDFlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICBvcGFjaXR5OiAkaHItb3BhY2l0eTtcbn1cbiIsIi8vXG4vLyBCYXNpYyBCb290c3RyYXAgdGFibGVcbi8vXG5cbi50YWJsZSB7XG4gIC8vIFJlc2V0IG5lZWRlZCBmb3IgbmVzdGluZyB0YWJsZXNcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3ItdHlwZTogaW5pdGlhbDtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYmctdHlwZTogaW5pdGlhbDtcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3Itc3RhdGU6IGluaXRpYWw7XG4gIC0tI3skcHJlZml4fXRhYmxlLWJnLXN0YXRlOiBpbml0aWFsO1xuICAvLyBFbmQgb2YgcmVzZXRcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3I6ICN7JHRhYmxlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYmc6ICN7JHRhYmxlLWJnfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yOiAjeyR0YWJsZS1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1hY2NlbnQtYmc6ICN7JHRhYmxlLWFjY2VudC1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3I6ICN7JHRhYmxlLXN0cmlwZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnOiAjeyR0YWJsZS1zdHJpcGVkLWJnfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWNvbG9yOiAjeyR0YWJsZS1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtYmc6ICN7JHRhYmxlLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWNvbG9yOiAjeyR0YWJsZS1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWJnOiAjeyR0YWJsZS1ob3Zlci1iZ307XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIHZlcnRpY2FsLWFsaWduOiAkdGFibGUtY2VsbC12ZXJ0aWNhbC1hbGlnbjtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yKTtcblxuICAvLyBUYXJnZXQgdGggJiB0ZFxuICAvLyBXZSBuZWVkIHRoZSBjaGlsZCBjb21iaW5hdG9yIHRvIHByZXZlbnQgc3R5bGVzIGxlYWtpbmcgdG8gbmVzdGVkIHRhYmxlcyB3aGljaCBkb2Vzbid0IGhhdmUgYSBgLnRhYmxlYCBjbGFzcy5cbiAgLy8gV2UgdXNlIHRoZSB1bml2ZXJzYWwgc2VsZWN0b3JzIGhlcmUgdG8gc2ltcGxpZnkgdGhlIHNlbGVjdG9yIChlbHNlIHdlIHdvdWxkIG5lZWQgNiBkaWZmZXJlbnQgc2VsZWN0b3JzKS5cbiAgLy8gQW5vdGhlciBhZHZhbnRhZ2UgaXMgdGhhdCB0aGlzIGdlbmVyYXRlcyBsZXNzIGNvZGUgYW5kIG1ha2VzIHRoZSBzZWxlY3RvciBsZXNzIHNwZWNpZmljIG1ha2luZyBpdCBlYXNpZXIgdG8gb3ZlcnJpZGUuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXkgJHRhYmxlLWNlbGwtcGFkZGluZy14O1xuICAgIC8vIEZvbGxvd2luZyB0aGUgcHJlY2VwdCBvZiBjYXNjYWRlczogaHR0cHM6Ly9jb2RlcGVuLmlvL21pcmlhbXN1emFubmUvZnVsbC92WU5nb2RiXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvci1zdGF0ZSwgdmFyKC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXR5cGUsIHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvcikpKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYmcpO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICR0YWJsZS1ib3JkZXItd2lkdGg7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgOTk5OXB4IHZhcigtLSN7JHByZWZpeH10YWJsZS1iZy1zdGF0ZSwgdmFyKC0tI3skcHJlZml4fXRhYmxlLWJnLXR5cGUsIHZhcigtLSN7JHByZWZpeH10YWJsZS1hY2NlbnQtYmcpKSk7XG4gIH1cblxuICA+IHRib2R5IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgfVxuXG4gID4gdGhlYWQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIH1cbn1cblxuLnRhYmxlLWdyb3VwLWRpdmlkZXIge1xuICBib3JkZXItdG9wOiBjYWxjKCN7JHRhYmxlLWJvcmRlci13aWR0aH0gKiAyKSBzb2xpZCAkdGFibGUtZ3JvdXAtc2VwYXJhdG9yLWNvbG9yOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxufVxuXG4vL1xuLy8gQ2hhbmdlIHBsYWNlbWVudCBvZiBjYXB0aW9ucyB3aXRoIGEgY2xhc3Ncbi8vXG5cbi5jYXB0aW9uLXRvcCB7XG4gIGNhcHRpb24tc2lkZTogdG9wO1xufVxuXG5cbi8vXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG4vL1xuXG4udGFibGUtc20ge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXVuaXZlcnNhbFxuICA+IDpub3QoY2FwdGlvbikgPiAqID4gKiB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy15LXNtICR0YWJsZS1jZWxsLXBhZGRpbmcteC1zbTtcbiAgfVxufVxuXG5cbi8vIEJvcmRlciB2ZXJzaW9uc1xuLy9cbi8vIEFkZCBvciByZW1vdmUgYm9yZGVycyBhbGwgYXJvdW5kIHRoZSB0YWJsZSBhbmQgYmV0d2VlbiBhbGwgdGhlIGNvbHVtbnMuXG4vL1xuLy8gV2hlbiBib3JkZXJzIGFyZSBhZGRlZCBvbiBhbGwgc2lkZXMgb2YgdGhlIGNlbGxzLCB0aGUgY29ybmVycyBjYW4gcmVuZGVyIG9kZCB3aGVuXG4vLyB0aGVzZSBib3JkZXJzIGRvIG5vdCBoYXZlIHRoZSBzYW1lIGNvbG9yIG9yIGlmIHRoZXkgYXJlIHNlbWktdHJhbnNwYXJlbnQuXG4vLyBUaGVyZWZvciB3ZSBhZGQgdG9wIGFuZCBib3JkZXIgYm90dG9tcyB0byB0aGUgYHRyYHMgYW5kIGxlZnQgYW5kIHJpZ2h0IGJvcmRlcnNcbi8vIHRvIHRoZSBgdGRgcyBvciBgdGhgc1xuXG4udGFibGUtYm9yZGVyZWQge1xuICA+IDpub3QoY2FwdGlvbikgPiAqIHtcbiAgICBib3JkZXItd2lkdGg6ICR0YWJsZS1ib3JkZXItd2lkdGggMDtcblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gICAgPiAqIHtcbiAgICAgIGJvcmRlci13aWR0aDogMCAkdGFibGUtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtYm9yZGVybGVzcyB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICB9XG5cbiAgPiA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIH1cbn1cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4vLyBGb3Igcm93c1xuLnRhYmxlLXN0cmlwZWQge1xuICA+IHRib2R5ID4gdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pID4gKiB7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3ItdHlwZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3IpO1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJnLXR5cGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnKTtcbiAgfVxufVxuXG4vLyBGb3IgY29sdW1uc1xuLnRhYmxlLXN0cmlwZWQtY29sdW1ucyB7XG4gID4gOm5vdChjYXB0aW9uKSA+IHRyID4gOm50aC1jaGlsZCgjeyR0YWJsZS1zdHJpcGVkLWNvbHVtbnMtb3JkZXJ9KSB7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3ItdHlwZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3IpO1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJnLXR5cGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnKTtcbiAgfVxufVxuXG4vLyBBY3RpdmUgdGFibGVcbi8vXG4vLyBUaGUgYC50YWJsZS1hY3RpdmVgIGNsYXNzIGNhbiBiZSBhZGRlZCB0byBoaWdobGlnaHQgcm93cyBvciBjZWxsc1xuXG4udGFibGUtYWN0aXZlIHtcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3Itc3RhdGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtY29sb3IpO1xuICAtLSN7JHByZWZpeH10YWJsZS1iZy1zdGF0ZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1iZyk7XG59XG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgPiB0Ym9keSA+IHRyOmhvdmVyID4gKiB7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3Itc3RhdGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYmctc3RhdGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1iZyk7XG4gIH1cbn1cblxuXG4vLyBUYWJsZSB2YXJpYW50c1xuLy9cbi8vIFRhYmxlIHZhcmlhbnRzIHNldCB0aGUgdGFibGUgY2VsbCBiYWNrZ3JvdW5kcywgYm9yZGVyIGNvbG9yc1xuLy8gYW5kIHRoZSBjb2xvcnMgb2YgdGhlIHN0cmlwZWQsIGhvdmVyZWQgJiBhY3RpdmUgdGFibGVzXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0YWJsZS12YXJpYW50cyB7XG4gIEBpbmNsdWRlIHRhYmxlLXZhcmlhbnQoJGNvbG9yLCAkdmFsdWUpO1xufVxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgIC50YWJsZS1yZXNwb25zaXZlI3skaW5maXh9IHtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtdmFyaWFudFxuQG1peGluIHRhYmxlLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCkge1xuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAkY29sb3I6IGNvbG9yLWNvbnRyYXN0KG9wYXF1ZSgkYm9keS1iZywgJGJhY2tncm91bmQpKTtcbiAgICAkaG92ZXItYmc6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1ob3Zlci1iZy1mYWN0b3IpKTtcbiAgICAkc3RyaXBlZC1iZzogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yKSk7XG4gICAgJGFjdGl2ZS1iZzogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3IpKTtcbiAgICAkdGFibGUtYm9yZGVyLWNvbG9yOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtYm9yZGVyLWZhY3RvcikpO1xuXG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3I6ICN7JGNvbG9yfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1iZzogI3skYmFja2dyb3VuZH07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yOiAjeyR0YWJsZS1ib3JkZXItY29sb3J9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmc6ICN7JHN0cmlwZWQtYmd9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3I6ICN7Y29sb3ItY29udHJhc3QoJHN0cmlwZWQtYmcpfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtYmc6ICN7JGFjdGl2ZS1iZ307XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWNvbG9yOiAje2NvbG9yLWNvbnRyYXN0KCRhY3RpdmUtYmcpfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1iZzogI3skaG92ZXItYmd9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWNvbG9yOiAje2NvbG9yLWNvbnRyYXN0KCRob3Zlci1iZyl9O1xuXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS12YXJpYW50XG4iLCIvL1xuLy8gTGFiZWxzXG4vL1xuXG4uZm9ybS1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWxhYmVsLW1hcmdpbi1ib3R0b207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1sYWJlbC1mb250LXNpemUpO1xuICBmb250LXN0eWxlOiAkZm9ybS1sYWJlbC1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGFiZWwgKG9yIGxlZ2VuZClcbi8vIHRleHQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpOyAvLyBPdmVycmlkZSB0aGUgYDxsZWdlbmQ+YCBkZWZhdWx0XG4gIGZvbnQtc3R5bGU6ICRmb3JtLWxhYmVsLWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1zbSB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbn1cbiIsIi8vXG4vLyBGb3JtIHRleHRcbi8vXG5cbi5mb3JtLXRleHQge1xuICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS10ZXh0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtc3R5bGU6ICRmb3JtLXRleHQtZm9udC1zdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLXRleHQtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS10ZXh0LWNvbG9yO1xufVxuIiwiLy9cbi8vIEdlbmVyYWwgZm9ybSBjb250cm9scyAocGx1cyBhIGZldyBzcGVjaWZpYyBoaWdoLWxldmVsIGludGVydmVudGlvbnMpXG4vL1xuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYXBwZWFyYW5jZTogbm9uZTsgLy8gRml4IGFwcGVhcmFuY2UgZm9yIGRhdGUgaW5wdXRzIGluIFNhZmFyaVxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuXG4gIC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cywgMCk7XG5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGlucHV0LXRyYW5zaXRpb24pO1xuXG4gICZbdHlwZT1cImZpbGVcIl0ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IC8vIHByZXZlbnQgcHNldWRvIGVsZW1lbnQgYnV0dG9uIG92ZXJsYXBcblxuICAgICY6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJjo6LXdlYmtpdC1kYXRlLWFuZC10aW1lLXZhbHVlIHtcbiAgICAvLyBPbiBBbmRyb2lkIENocm9tZSwgZm9ybS1jb250cm9sJ3MgXCJ3aWR0aDogMTAwJVwiIG1ha2VzIHRoZSBpbnB1dCB3aWR0aCB0b28gc21hbGxcbiAgICAvLyBUZXN0ZWQgdW5kZXIgQW5kcm9pZCAxMSAvIENocm9tZSA4OSwgQW5kcm9pZCAxMiAvIENocm9tZSAxMDAsIEFuZHJvaWQgMTMgLyBDaHJvbWUgMTA5XG4gICAgLy9cbiAgICAvLyBPbiBpT1MgU2FmYXJpLCBmb3JtLWNvbnRyb2wncyBcImFwcGVhcmFuY2U6IG5vbmVcIiArIFwid2lkdGg6IDEwMCVcIiBtYWtlcyB0aGUgaW5wdXQgd2lkdGggdG9vIHNtYWxsXG4gICAgLy8gVGVzdGVkIHVuZGVyIGlPUyAxNi4yIC8gU2FmYXJpIDE2LjJcbiAgICBtaW4td2lkdGg6IDg1cHg7IC8vIFNlZW1zIHRvIGJlIGEgZ29vZCBtaW5pbXVtIHNhZmUgd2lkdGhcblxuICAgIC8vIEFkZCBzb21lIGhlaWdodCB0byBkYXRlIGlucHV0cyBvbiBpT1NcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzIzMzA3XG4gICAgLy8gVE9ETzogd2UgY2FuIHJlbW92ZSB0aGlzIHdvcmthcm91bmQgb25jZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4OTU5IGlzIHJlc29sdmVkXG4gICAgLy8gTXVsdGlwbHkgbGluZS1oZWlnaHQgYnkgMWVtIGlmIGl0IGhhcyBubyB1bml0XG4gICAgaGVpZ2h0OiBpZih1bml0KCRpbnB1dC1saW5lLWhlaWdodCkgPT0gXCJcIiwgJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCAkaW5wdXQtbGluZS1oZWlnaHQpO1xuXG4gICAgLy8gQW5kcm9pZCBDaHJvbWUgdHlwZT1cImRhdGVcIiBpcyB0YWxsZXIgdGhhbiB0aGUgb3RoZXIgaW5wdXRzXG4gICAgLy8gYmVjYXVzZSBvZiBcIm1hcmdpbjogMXB4IDI0cHggMXB4IDRweFwiIGluc2lkZSB0aGUgc2hhZG93IERPTVxuICAgIC8vIFRlc3RlZCB1bmRlciBBbmRyb2lkIDExIC8gQ2hyb21lIDg5LCBBbmRyb2lkIDEyIC8gQ2hyb21lIDEwMCwgQW5kcm9pZCAxMyAvIENocm9tZSAxMDlcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBQcmV2ZW50IGV4Y2Vzc2l2ZSBkYXRlIGlucHV0IGhlaWdodCBpbiBXZWJraXRcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8zNDQzM1xuICAmOjotd2Via2l0LWRhdGV0aW1lLWVkaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQbGFjZWhvbGRlclxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNi5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgaW5wdXRzXG4gIC8vXG4gIC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXG4gIC8vIGRpc2FibGVkIGlmIHRoZSBmaWVsZHNldCBpcyBkaXNhYmxlZC4gRHVlIHRvIGltcGxlbWVudGF0aW9uIGRpZmZpY3VsdHksIHdlXG4gIC8vIGRvbid0IGhvbm9yIHRoYXQgZWRnZSBjYXNlOyB3ZSBzdHlsZSB0aGVtIGFzIGRpc2FibGVkIGFueXdheS5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICAgIC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTUuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIEZpbGUgaW5wdXQgYnV0dG9ucyB0aGVtaW5nXG4gICY6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luOiAoLSRpbnB1dC1wYWRkaW5nLXkpICgtJGlucHV0LXBhZGRpbmcteCk7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6ICRpbnB1dC1wYWRkaW5nLXg7XG4gICAgY29sb3I6ICRmb3JtLWZpbGUtYnV0dG9uLWNvbG9yO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLWZpbGUtYnV0dG9uLWJnKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgYm9yZGVyLWlubGluZS1lbmQtd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XG4gIH1cblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKTo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWZpbGUtYnV0dG9uLWhvdmVyLWJnO1xuICB9XG59XG5cbi8vIFJlYWRvbmx5IGNvbnRyb2xzIGFzIHBsYWluIHRleHRcbi8vXG4vLyBBcHBseSBjbGFzcyB0byBhIHJlYWRvbmx5IGlucHV0IHRvIG1ha2UgaXQgYXBwZWFyIGxpa2UgcmVndWxhciBwbGFpblxuLy8gdGV4dCAod2l0aG91dCBhbnkgYm9yZGVyLCBiYWNrZ3JvdW5kIGNvbG9yLCBmb2N1cyBpbmRpY2F0b3IpXG5cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIG1hdGNoIGlucHV0cyBpZiB0aGlzIGNsYXNzIGNvbWVzIG9uIGlucHV0cyB3aXRoIGRlZmF1bHQgbWFyZ2luc1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LXBsYWludGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmLmZvcm0tY29udHJvbC1zbSxcbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBCdWlsZCBvbiBgLmZvcm0tY29udHJvbGAgd2l0aCBtb2RpZmllciBjbGFzc2VzIHRvIGRlY3JlYXNlIG9yIGluY3JlYXNlIHRoZVxuLy8gaGVpZ2h0IGFuZCBmb250LXNpemUgb2YgZm9ybSBjb250cm9scy5cbi8vXG4vLyBSZXBlYXRlZCBpbiBgX2lucHV0X2dyb3VwLnNjc3NgIHRvIGF2b2lkIFNhc3MgZXh0ZW5kIGlzc3Vlcy5cblxuLmZvcm0tY29udHJvbC1zbSB7XG4gIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcblxuICAmOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICAgIG1hcmdpbjogKC0kaW5wdXQtcGFkZGluZy15LXNtKSAoLSRpbnB1dC1wYWRkaW5nLXgtc20pO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkaW5wdXQtcGFkZGluZy14LXNtO1xuICB9XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG5cbiAgJjo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgICBtYXJnaW46ICgtJGlucHV0LXBhZGRpbmcteS1sZykgKC0kaW5wdXQtcGFkZGluZy14LWxnKTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogJGlucHV0LXBhZGRpbmcteC1sZztcbiAgfVxufVxuXG4vLyBNYWtlIHN1cmUgdGV4dGFyZWFzIGRvbid0IHNocmluayB0b28gbXVjaCB3aGVuIHJlc2l6ZWRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI5MTI0XG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbnRleHRhcmVhIHtcbiAgJi5mb3JtLWNvbnRyb2wge1xuICAgIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIH1cblxuICAmLmZvcm0tY29udHJvbC1zbSB7XG4gICAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbiAgfVxuXG4gICYuZm9ybS1jb250cm9sLWxnIHtcbiAgICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuICB9XG59XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4uZm9ybS1jb250cm9sLWNvbG9yIHtcbiAgd2lkdGg6ICRmb3JtLWNvbG9yLXdpZHRoO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXk7XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoW3JlYWRvbmx5XSkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6Oi1tb3otY29sb3Itc3dhdGNoIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6Oi13ZWJraXQtY29sb3Itc3dhdGNoIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICYuZm9ybS1jb250cm9sLXNtIHsgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtOyB9XG4gICYuZm9ybS1jb250cm9sLWxnIHsgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnOyB9XG59XG4iLCIvLyBHcmFkaWVudHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYWRpZW50LWJnLW1peGluXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yOiBudWxsKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgZ3JhZGllbnQtYmctbWl4aW5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYWRpZW50LW1peGluc1xuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IG51bGwsICRlbmQtcGVyY2VudDogbnVsbCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBncmFkaWVudC1taXhpbnNcbiIsIi8vIFNlbGVjdFxuLy9cbi8vIFJlcGxhY2VzIHRoZSBicm93c2VyIGRlZmF1bHQgc2VsZWN0IHdpdGggYSBjdXN0b20gb25lLCBtb3N0bHkgcHVsbGVkIGZyb21cbi8vIGh0dHBzOi8vcHJpbWVyLmdpdGh1Yi5pby8uXG5cbi5mb3JtLXNlbGVjdCB7XG4gIC0tI3skcHJlZml4fWZvcm0tc2VsZWN0LWJnLWltZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXNlbGVjdC1pbmRpY2F0b3IpfTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXkgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICRmb3JtLXNlbGVjdC1wYWRkaW5nLXkgJGZvcm0tc2VsZWN0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRmb3JtLXNlbGVjdC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLXNlbGVjdC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGZvcm0tc2VsZWN0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tc2VsZWN0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tc2VsZWN0LWNvbG9yO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1zZWxlY3QtYmc7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1mb3JtLXNlbGVjdC1iZy1pbWcpLCB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaWNvbiwgbm9uZSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246ICRmb3JtLXNlbGVjdC1iZy1wb3NpdGlvbjtcbiAgYmFja2dyb3VuZC1zaXplOiAkZm9ybS1zZWxlY3QtYmctc2l6ZTtcbiAgYm9yZGVyOiAkZm9ybS1zZWxlY3QtYm9yZGVyLXdpZHRoIHNvbGlkICRmb3JtLXNlbGVjdC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXMsIDApO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXNlbGVjdC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1zZWxlY3QtdHJhbnNpdGlvbik7XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXNlbGVjdC1ib3gtc2hhZG93LCAkZm9ybS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAkZm9ybS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAmW211bHRpcGxlXSxcbiAgJltzaXplXTpub3QoW3NpemU9XCIxXCJdKSB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRmb3JtLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gUmVtb3ZlIG91dGxpbmUgZnJvbSBzZWxlY3QgYm94IGluIEZGXG4gICY6LW1vei1mb2N1c3Jpbmcge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgJGZvcm0tc2VsZWN0LWNvbG9yO1xuICB9XG59XG5cbi5mb3JtLXNlbGVjdC1zbSB7XG4gIHBhZGRpbmctdG9wOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtO1xuICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1zbSk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uZm9ybS1zZWxlY3QtbGcge1xuICBwYWRkaW5nLXRvcDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLXNlbGVjdC1mb250LXNpemUtbGcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLmZvcm0tc2VsZWN0IHtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tc2VsZWN0LWJnLWltZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItZGFyayl9O1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENoZWNrL3JhZGlvXG4vL1xuXG4uZm9ybS1jaGVjayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiAkZm9ybS1jaGVjay1taW4taGVpZ2h0O1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQ7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWNoZWNrLW1hcmdpbi1ib3R0b207XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAkZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0ICogLTE7XG4gIH1cbn1cblxuLmZvcm0tY2hlY2stcmV2ZXJzZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQ7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQgKiAtMTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uZm9ybS1jaGVjay1pbnB1dCB7XG4gIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmc6ICN7JGZvcm0tY2hlY2staW5wdXQtYmd9O1xuXG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogJGZvcm0tY2hlY2staW5wdXQtd2lkdGg7XG4gIGhlaWdodDogJGZvcm0tY2hlY2staW5wdXQtd2lkdGg7XG4gIG1hcmdpbi10b3A6ICgkbGluZS1oZWlnaHQtYmFzZSAtICRmb3JtLWNoZWNrLWlucHV0LXdpZHRoKSAqIC41OyAvLyBsaW5lLWhlaWdodCBtaW51cyBjaGVjayBoZWlnaHRcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmcpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBib3JkZXI6ICRmb3JtLWNoZWNrLWlucHV0LWJvcmRlcjtcbiAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgLy8gS2VlcCB0aGVtZWQgYXBwZWFyYW5jZSBmb3IgcHJpbnRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1jaGVjay10cmFuc2l0aW9uKTtcblxuICAmW3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1jaGVjay1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICZbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tY2hlY2stcmFkaW8tYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBmaWx0ZXI6ICRmb3JtLWNoZWNrLWlucHV0LWFjdGl2ZS1maWx0ZXI7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJvcmRlcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6ICRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAmOmNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJvcmRlci1jb2xvcjtcblxuICAgICZbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWltYWdlKX0sIHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctaW1hZ2UpfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2stcmFkaW8tY2hlY2tlZC1iZy1pbWFnZSl9LCB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWJnLWltYWdlKX07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJlt0eXBlPVwiY2hlY2tib3hcIl06aW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yO1xuXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWltYWdlKX0sIHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1pbWFnZSl9O1xuICAgIH1cbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGZpbHRlcjogbm9uZTtcbiAgICBvcGFjaXR5OiAkZm9ybS1jaGVjay1pbnB1dC1kaXNhYmxlZC1vcGFjaXR5O1xuICB9XG5cbiAgLy8gVXNlIGRpc2FibGVkIGF0dHJpYnV0ZSBpbiBhZGRpdGlvbiBvZiA6ZGlzYWJsZWQgcHNldWRvLWNsYXNzXG4gIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBvcGFjaXR5OiAkZm9ybS1jaGVjay1sYWJlbC1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIH1cbiAgfVxufVxuXG4uZm9ybS1jaGVjay1sYWJlbCB7XG4gIGNvbG9yOiAkZm9ybS1jaGVjay1sYWJlbC1jb2xvcjtcbiAgY3Vyc29yOiAkZm9ybS1jaGVjay1sYWJlbC1jdXJzb3I7XG59XG5cbi8vXG4vLyBTd2l0Y2hcbi8vXG5cbi5mb3JtLXN3aXRjaCB7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQ7XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnOiAje2VzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWJnLWltYWdlKX07XG5cbiAgICB3aWR0aDogJGZvcm0tc3dpdGNoLXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydCAqIC0xO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zd2l0Y2gtYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1zd2l0Y2gtdHJhbnNpdGlvbik7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnOiAje2VzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWZvY3VzLWJnLWltYWdlKX07XG4gICAgfVxuXG4gICAgJjpjaGVja2VkIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLXBvc2l0aW9uO1xuXG4gICAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLWltYWdlKX0sIHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1pbWFnZSl9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZm9ybS1jaGVjay1yZXZlcnNlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0ICogLTE7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4tZW5kO1xufVxuXG4uYnRuLWNoZWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgKyAuYnRuIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgZmlsdGVyOiBub25lO1xuICAgICAgb3BhY2l0eTogJGZvcm0tY2hlY2stYnRuLWNoZWNrLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgfVxuICB9XG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIC5mb3JtLXN3aXRjaCAuZm9ybS1jaGVjay1pbnB1dDpub3QoOmNoZWNrZWQpOm5vdCg6Zm9jdXMpIHtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnOiAje2VzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWJnLWltYWdlLWRhcmspfTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJhbmdlXG4vL1xuLy8gU3R5bGUgcmFuZ2UgaW5wdXRzIHRoZSBzYW1lIGFjcm9zcyBicm93c2Vycy4gVmVuZG9yLXNwZWNpZmljIHJ1bGVzIGZvciBwc2V1ZG9cbi8vIGVsZW1lbnRzIGNhbm5vdCBiZSBtaXhlZC4gQXMgc3VjaCwgdGhlcmUgYXJlIG5vIHNoYXJlZCBzdHlsZXMgZm9yIGZvY3VzIG9yXG4vLyBhY3RpdmUgc3RhdGVzIG9uIHByZWZpeGVkIHNlbGVjdG9ycy5cblxuLmZvcm0tcmFuZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhZGQoJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0LCAkZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoICogMik7XG4gIHBhZGRpbmc6IDA7IC8vIE5lZWQgdG8gcmVzZXQgcGFkZGluZ1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuXG4gICAgLy8gUHNldWRvLWVsZW1lbnRzIG11c3QgYmUgc3BsaXQgYWNyb3NzIG11bHRpcGxlIHJ1bGVzZXRzIHRvIGhhdmUgYW4gZWZmZWN0LlxuICAgIC8vIE5vIGJveC1zaGFkb3coKSBtaXhpbiBmb3IgZm9jdXMgYWNjZXNzaWJpbGl0eS5cbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7IGJveC1zaGFkb3c6ICRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbW96LXJhbmdlLXRodW1iICAgICB7IGJveC1zaGFkb3c6ICRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgfVxuXG4gICY6Oi1tb3otZm9jdXMtb3V0ZXIge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogKCRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodCAtICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodCkgKiAuNTsgLy8gV2Via2l0IHNwZWNpZmljXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZm9ybS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tcmFuZ2UtdGh1bWItdHJhbnNpdGlvbik7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZm9ybS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50OyAvLyBXaHk/XG4gICAgY3Vyc29yOiAkZm9ybS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZm9ybS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tcmFuZ2UtdGh1bWItdHJhbnNpdGlvbik7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZm9ybS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiAkZm9ybS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRmlyZWZveCBzcGVjaWZpYz9cbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuICB9XG59XG4iLCIuZm9ybS1mbG9hdGluZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQsXG4gID4gLmZvcm0tc2VsZWN0IHtcbiAgICBoZWlnaHQ6ICRmb3JtLWZsb2F0aW5nLWhlaWdodDtcbiAgICBtaW4taGVpZ2h0OiAkZm9ybS1mbG9hdGluZy1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWZsb2F0aW5nLWxpbmUtaGVpZ2h0O1xuICB9XG5cbiAgPiBsYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiAxMDAlOyAvLyBhbGxvdyB0ZXh0YXJlYXNcbiAgICBwYWRkaW5nOiAkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXkgJGZvcm0tZmxvYXRpbmctcGFkZGluZy14O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IC8vIFJlcXVpcmVkIGZvciBhbGlnbmluZyBsYWJlbCdzIHRleHQgd2l0aCB0aGUgaW5wdXQgYXMgaXQgYWZmZWN0cyBpbm5lciBib3ggbW9kZWxcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1mbG9hdGluZy10cmFuc2l0aW9uKTtcbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgcGFkZGluZzogJGZvcm0tZmxvYXRpbmctcGFkZGluZy15ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICY6bm90KDpwbGFjZWhvbGRlci1zaG93bikge1xuICAgICAgcGFkZGluZy10b3A6ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLWI7XG4gICAgfVxuICAgIC8vIER1cGxpY2F0ZWQgYmVjYXVzZSBgOi13ZWJraXQtYXV0b2ZpbGxgIGludmFsaWRhdGVzIG90aGVyIHNlbGVjdG9ycyB3aGVuIGdyb3VwZWRcbiAgICAmOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgICAgcGFkZGluZy10b3A6ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLWI7XG4gICAgfVxuICB9XG5cbiAgPiAuZm9ybS1zZWxlY3Qge1xuICAgIHBhZGRpbmctdG9wOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLXQ7XG4gICAgcGFkZGluZy1ib3R0b206ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjtcbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbDpmb2N1cyxcbiAgPiAuZm9ybS1jb250cm9sOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pLFxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LFxuICA+IC5mb3JtLXNlbGVjdCB7XG4gICAgfiBsYWJlbCB7XG4gICAgICBjb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2IpLCAjeyRmb3JtLWZsb2F0aW5nLWxhYmVsLW9wYWNpdHl9KTtcbiAgICAgIHRyYW5zZm9ybTogJGZvcm0tZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteSAoJGZvcm0tZmxvYXRpbmctcGFkZGluZy14ICogLjUpO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgaGVpZ2h0OiAkZm9ybS1mbG9hdGluZy1sYWJlbC1oZWlnaHQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIER1cGxpY2F0ZWQgYmVjYXVzZSBgOi13ZWJraXQtYXV0b2ZpbGxgIGludmFsaWRhdGVzIG90aGVyIHNlbGVjdG9ycyB3aGVuIGdyb3VwZWRcbiAgPiAuZm9ybS1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgIH4gbGFiZWwge1xuICAgICAgY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fWJvZHktY29sb3ItcmdiKSwgI3skZm9ybS1mbG9hdGluZy1sYWJlbC1vcGFjaXR5fSk7XG4gICAgICB0cmFuc2Zvcm06ICRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTtcbiAgICB9XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICB+IGxhYmVsIHtcbiAgICAgIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwOyAvLyBSZXF1aXJlZCB0byBwcm9wZXJseSBwb3NpdGlvbiBsYWJlbCB0ZXh0IC0gYXMgZXhwbGFpbmVkIGFib3ZlXG4gICAgfVxuICB9XG5cbiAgPiA6ZGlzYWJsZWQgfiBsYWJlbCxcbiAgPiAuZm9ybS1jb250cm9sOmRpc2FibGVkIH4gbGFiZWwgeyAvLyBSZXF1aXJlZCBmb3IgYC5mb3JtLWNvbnRyb2xgcyBiZWNhdXNlIG9mIHNwZWNpZmljaXR5XG4gICAgY29sb3I6ICRmb3JtLWZsb2F0aW5nLWxhYmVsLWRpc2FibGVkLWNvbG9yO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gRm9yIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFja1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLXNlbGVjdCxcbiAgPiAuZm9ybS1mbG9hdGluZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBGb3IgZm9jdXMgc3RhdGUncyB6LWluZGV4XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgd2lkdGg6IDElO1xuICAgIG1pbi13aWR0aDogMDsgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzYyNDcxNDAvd2h5LWRvbnQtZmxleC1pdGVtcy1zaHJpbmstcGFzdC1jb250ZW50LXNpemVcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGZvcm0gY29udHJvbCB0byB0aGUgdG9wIG9mIHN1cnJvdW5kaW5nIGVsZW1lbnRzXG4gID4gLmZvcm0tY29udHJvbDpmb2N1cyxcbiAgPiAuZm9ybS1zZWxlY3Q6Zm9jdXMsXG4gID4gLmZvcm0tZmxvYXRpbmc6Zm9jdXMtd2l0aGluIHtcbiAgICB6LWluZGV4OiA1O1xuICB9XG5cbiAgLy8gRW5zdXJlIGJ1dHRvbnMgYXJlIGFsd2F5cyBhYm92ZSBpbnB1dHMgZm9yIG1vcmUgdmlzdWFsbHkgcGxlYXNpbmcgYm9yZGVycy5cbiAgLy8gVGhpcyBpc24ndCBuZWVkZWQgZm9yIGAuaW5wdXQtZ3JvdXAtdGV4dGAgc2luY2UgaXQgc2hhcmVzIHRoZSBzYW1lIGJvcmRlci1jb2xvclxuICAvLyBhcyBvdXIgaW5wdXRzLlxuICAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgei1pbmRleDogNTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUZXh0dWFsIGFkZG9uc1xuLy9cbi8vIFNlcnZlcyBhcyBhIGNhdGNoLWFsbCBlbGVtZW50IGZvciBhbnkgdGV4dCBvciByYWRpby9jaGVja2JveCBpbnB1dCB5b3Ugd2lzaFxuLy8gdG8gcHJlcGVuZCBvciBhcHBlbmQgdG8gYW4gaW5wdXQuXG5cbi5pbnB1dC1ncm91cC10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJGlucHV0LWdyb3VwLWFkZG9uLXBhZGRpbmcteSAkaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7IC8vIE1hdGNoIGlucHV0c1xuICBmb250LXdlaWdodDogJGlucHV0LWdyb3VwLWFkZG9uLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1iZztcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xufVxuXG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tc2VsZWN0IHtcbiAgcGFkZGluZy1yaWdodDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteCArICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbn1cblxuXG4vLyBSb3VuZGVkIGNvcm5lcnNcbi8vXG4vLyBUaGVzZSBydWxlc2V0cyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIHNpemluZyBvbmVzIHRvIHByb3Blcmx5IG92ZXJyaWRlIHNtIGFuZCBsZ1xuLy8gYm9yZGVyLXJhZGl1cyB2YWx1ZXMgd2hlbiBleHRlbmRpbmcuIFRoZXkncmUgbW9yZSBzcGVjaWZpYyB0aGFuIHdlJ2QgbGlrZVxuLy8gd2l0aCB0aGUgYC5pbnB1dC1ncm91cCA+YCBwYXJ0LCBidXQgd2l0aG91dCBpdCwgd2UgY2Fubm90IG92ZXJyaWRlIHRoZSBzaXppbmcuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4uaW5wdXQtZ3JvdXAge1xuICAmOm5vdCguaGFzLXZhbGlkYXRpb24pIHtcbiAgICA+IDpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKTpub3QoLmRyb3Bkb3duLW1lbnUpOm5vdCguZm9ybS1mbG9hdGluZyksXG4gICAgPiAuZHJvcGRvd24tdG9nZ2xlOm50aC1sYXN0LWNoaWxkKG4gKyAzKSxcbiAgICA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6bGFzdC1jaGlsZCkgPiAuZm9ybS1jb250cm9sLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bm90KDpsYXN0LWNoaWxkKSA+IC5mb3JtLXNlbGVjdCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcbiAgICB9XG4gIH1cblxuICAmLmhhcy12YWxpZGF0aW9uIHtcbiAgICA+IDpudGgtbGFzdC1jaGlsZChuICsgMyk6bm90KC5kcm9wZG93bi10b2dnbGUpOm5vdCguZHJvcGRvd24tbWVudSk6bm90KC5mb3JtLWZsb2F0aW5nKSxcbiAgICA+IC5kcm9wZG93bi10b2dnbGU6bnRoLWxhc3QtY2hpbGQobiArIDQpLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bnRoLWxhc3QtY2hpbGQobiArIDMpID4gLmZvcm0tY29udHJvbCxcbiAgICA+IC5mb3JtLWZsb2F0aW5nOm50aC1sYXN0LWNoaWxkKG4gKyAzKSA+IC5mb3JtLXNlbGVjdCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcbiAgICB9XG4gIH1cblxuICAkdmFsaWRhdGlvbi1tZXNzYWdlczogXCJcIjtcbiAgQGVhY2ggJHN0YXRlIGluIG1hcC1rZXlzKCRmb3JtLXZhbGlkYXRpb24tc3RhdGVzKSB7XG4gICAgJHZhbGlkYXRpb24tbWVzc2FnZXM6ICR2YWxpZGF0aW9uLW1lc3NhZ2VzICsgXCI6bm90KC5cIiArIHVucXVvdGUoJHN0YXRlKSArIFwiLXRvb2x0aXApXCIgKyBcIjpub3QoLlwiICsgdW5xdW90ZSgkc3RhdGUpICsgXCItZmVlZGJhY2spXCI7XG4gIH1cblxuICA+IDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLW1lbnUpI3skdmFsaWRhdGlvbi1tZXNzYWdlc30ge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCN7JGlucHV0LWJvcmRlci13aWR0aH0gKiAtMSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmZvcm0tZmxvYXRpbmc6bm90KDpmaXJzdC1jaGlsZCkgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmZvcm0tc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuICB9XG59XG4iLCIvLyBUaGlzIG1peGluIHVzZXMgYW4gYGlmKClgIHRlY2huaXF1ZSB0byBiZSBjb21wYXRpYmxlIHdpdGggRGFydCBTYXNzXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMTg3MyNpc3N1ZWNvbW1lbnQtMTUyMjkzNzI1IGZvciBtb3JlIGRldGFpbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdmFsaWRhdGlvbi1taXhpbnNcbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gIEBpZiAoJHN0YXRlID09IFwidmFsaWRcIiBvciAkc3RhdGUgPT0gXCJpbnZhbGlkXCIpIHtcbiAgICAud2FzLXZhbGlkYXRlZCAje2lmKCYsIFwiJlwiLCBcIlwiKX06I3skc3RhdGV9LFxuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKFxuICAkc3RhdGUsXG4gICRjb2xvcixcbiAgJGljb24sXG4gICR0b29sdGlwLWNvbG9yOiBjb2xvci1jb250cmFzdCgkY29sb3IpLFxuICAkdG9vbHRpcC1iZy1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSksXG4gICRmb2N1cy1ib3gtc2hhZG93OiAwIDAgJGlucHV0LWJ0bi1mb2N1cy1ibHVyICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5KSxcbiAgJGJvcmRlci1jb2xvcjogJGNvbG9yXG4pIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay1mb250LXNpemUpO1xuICAgIGZvbnQtc3R5bGU6ICRmb3JtLWZlZWRiYWNrLWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmctY29sb3I7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRpY29uKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAkZm9jdXMtYm94LXNoYWRvdztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLXNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgJjpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksXG4gICAgICAgICY6bm90KFttdWx0aXBsZV0pW3NpemU9XCIxXCJdIHtcbiAgICAgICAgICAtLSN7JHByZWZpeH1mb3JtLXNlbGVjdC1iZy1pY29uOiAje2VzY2FwZS1zdmcoJGljb24pfTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLWVuZDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZm9ybS1zZWxlY3QtYmctcG9zaXRpb24sICRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGZvcm0tc2VsZWN0LWJnLXNpemUsICRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogJGZvY3VzLWJveC1zaGFkb3c7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY29udHJvbC1jb2xvciB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHdpZHRoOiBhZGQoJGZvcm0tY29sb3Itd2lkdGgsICRpbnB1dC1oZWlnaHQtaW5uZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRmb2N1cy1ib3gtc2hhZG93O1xuICAgICAgfVxuXG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZvcm0tY2hlY2staW5saW5lIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgICAgbWFyZ2luLWxlZnQ6IC41ZW07XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICA+IC5mb3JtLWNvbnRyb2w6bm90KDpmb2N1cyksXG4gICAgPiAuZm9ybS1zZWxlY3Q6bm90KDpmb2N1cyksXG4gICAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmZvY3VzLXdpdGhpbikge1xuICAgICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgICBAaWYgJHN0YXRlID09IFwidmFsaWRcIiB7XG4gICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgfSBAZWxzZSBpZiAkc3RhdGUgPT0gXCJpbnZhbGlkXCIge1xuICAgICAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLW1peGluc1xuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYnRuIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy14OiAjeyRidG4tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteTogI3skYnRuLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWJ0bi1mb250LWZhbWlseTogI3skYnRuLWZvbnQtZmFtaWx5fTtcbiAgQGluY2x1ZGUgcmZzKCRidG4tZm9udC1zaXplLCAtLSN7JHByZWZpeH1idG4tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvbnQtd2VpZ2h0OiAjeyRidG4tZm9udC13ZWlnaHR9O1xuICAtLSN7JHByZWZpeH1idG4tbGluZS1oZWlnaHQ6ICN7JGJ0bi1saW5lLWhlaWdodH07XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skYnRuLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci13aWR0aDogI3skYnRuLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLXJhZGl1czogI3skYnRuLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3c6ICN7JGJ0bi1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLW9wYWNpdHk6ICN7JGJ0bi1kaXNhYmxlZC1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3c6IDAgMCAwICN7JGJ0bi1mb2N1cy13aWR0aH0gcmdiYSh2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2IpLCAuNSk7XG4gIC8vIHNjc3MtZG9jcy1lbmQgYnRuLWNzcy12YXJzXG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXgpO1xuICBmb250LWZhbWlseTogdmFyKC0tI3skcHJlZml4fWJ0bi1mb250LWZhbWlseSk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9YnRuLWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fWJ0bi1mb250LXdlaWdodCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWxpbmUtaGVpZ2h0KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6ICRidG4td2hpdGUtc3BhY2U7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogaWYoJGVuYWJsZS1idXR0b24tcG9pbnRlcnMsIHBvaW50ZXIsIG51bGwpO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1idG4tYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9YnRuLWJnKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93KSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJ0bi10cmFuc2l0aW9uKTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAuYnRuLWNoZWNrICsgJjpob3ZlciB7XG4gICAgLy8gb3ZlcnJpZGUgZm9yIHRoZSBjaGVja2JveC9yYWRpbyBidXR0b25zXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcik7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZykpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3IpO1xuICAgIG91dGxpbmU6IDA7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93KSwgdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1jaGVjazpmb2N1cy12aXNpYmxlICsgJiB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgb3V0bGluZTogMDtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3cpLCB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9XG4gIH1cblxuICAuYnRuLWNoZWNrOmNoZWNrZWQgKyAmLFxuICA6bm90KC5idG4tY2hlY2spICsgJjphY3RpdmUsXG4gICY6Zmlyc3QtY2hpbGQ6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgJi5zaG93IHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnKTtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpZigkZW5hYmxlLWdyYWRpZW50cywgbm9uZSwgbnVsbCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93KSk7XG5cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdyksIHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldDpkaXNhYmxlZCAmIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1iZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIG5vbmUsIG51bGwpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3IpO1xuICAgIG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtb3BhY2l0eSk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy9cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi12YXJpYW50LWxvb3BzXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgIEBpZiAkY29sb3IgPT0gXCJsaWdodFwiIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KFxuICAgICAgICAkdmFsdWUsXG4gICAgICAgICR2YWx1ZSxcbiAgICAgICAgJGhvdmVyLWJhY2tncm91bmQ6IHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGJ0bi1ob3Zlci1iZy1zaGFkZS1hbW91bnQpLFxuICAgICAgICAkaG92ZXItYm9yZGVyOiBzaGFkZS1jb2xvcigkdmFsdWUsICRidG4taG92ZXItYm9yZGVyLXNoYWRlLWFtb3VudCksXG4gICAgICAgICRhY3RpdmUtYmFja2dyb3VuZDogc2hhZGUtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQpLFxuICAgICAgICAkYWN0aXZlLWJvcmRlcjogc2hhZGUtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1ib3JkZXItc2hhZGUtYW1vdW50KVxuICAgICAgKTtcbiAgICB9IEBlbHNlIGlmICRjb2xvciA9PSBcImRhcmtcIiB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudChcbiAgICAgICAgJHZhbHVlLFxuICAgICAgICAkdmFsdWUsXG4gICAgICAgICRob3Zlci1iYWNrZ3JvdW5kOiB0aW50LWNvbG9yKCR2YWx1ZSwgJGJ0bi1ob3Zlci1iZy10aW50LWFtb3VudCksXG4gICAgICAgICRob3Zlci1ib3JkZXI6IHRpbnQtY29sb3IoJHZhbHVlLCAkYnRuLWhvdmVyLWJvcmRlci10aW50LWFtb3VudCksXG4gICAgICAgICRhY3RpdmUtYmFja2dyb3VuZDogdGludC1jb2xvcigkdmFsdWUsICRidG4tYWN0aXZlLWJnLXRpbnQtYW1vdW50KSxcbiAgICAgICAgJGFjdGl2ZS1ib3JkZXI6IHRpbnQtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQpXG4gICAgICApO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJHZhbHVlLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi12YXJpYW50LWxvb3BzXG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIC0tI3skcHJlZml4fWJ0bi1mb250LXdlaWdodDogI3skZm9udC13ZWlnaHQtbm9ybWFsfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRidG4tbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGJ0bi1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6ICN7JGJ0bi1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3I6ICN7JGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93OiAwIDAgMCAjMDAwOyAvLyBDYW4ndCB1c2UgYG5vbmVgIGFzIGtleXdvcmQgbmVnYXRlcyBhbGwgdmFsdWVzIHdoZW4gdXNlZCB3aXRoIG11bHRpcGxlIHNoYWRvd3NcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2I6ICN7JGJ0bi1saW5rLWZvY3VzLXNoYWRvdy1yZ2J9O1xuXG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNvbG9yKTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yKTtcbiAgfVxuXG4gIC8vIE5vIG5lZWQgZm9yIGFuIGFjdGl2ZSBzdGF0ZSBoZXJlXG59XG5cblxuLy9cbi8vIEJ1dHRvbiBTaXplc1xuLy9cblxuLmJ0bi1sZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LWxnLCAkYnRuLXBhZGRpbmcteC1sZywgJGJ0bi1mb250LXNpemUtbGcsICRidG4tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5idG4tc20ge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRidG4tZm9udC1zaXplLXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tdmFyaWFudC1taXhpblxuQG1peGluIGJ1dHRvbi12YXJpYW50KFxuICAkYmFja2dyb3VuZCxcbiAgJGJvcmRlcixcbiAgJGNvbG9yOiBjb2xvci1jb250cmFzdCgkYmFja2dyb3VuZCksXG4gICRob3Zlci1iYWNrZ3JvdW5kOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1ob3Zlci1iZy1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWhvdmVyLWJnLXRpbnQtYW1vdW50KSksXG4gICRob3Zlci1ib3JkZXI6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRib3JkZXIsICRidG4taG92ZXItYm9yZGVyLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJvcmRlciwgJGJ0bi1ob3Zlci1ib3JkZXItdGludC1hbW91bnQpKSxcbiAgJGhvdmVyLWNvbG9yOiBjb2xvci1jb250cmFzdCgkaG92ZXItYmFja2dyb3VuZCksXG4gICRhY3RpdmUtYmFja2dyb3VuZDogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJhY2tncm91bmQsICRidG4tYWN0aXZlLWJnLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJhY2tncm91bmQsICRidG4tYWN0aXZlLWJnLXRpbnQtYW1vdW50KSksXG4gICRhY3RpdmUtYm9yZGVyOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYm9yZGVyLCAkYnRuLWFjdGl2ZS1ib3JkZXItc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYm9yZGVyLCAkYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQpKSxcbiAgJGFjdGl2ZS1jb2xvcjogY29sb3ItY29udHJhc3QoJGFjdGl2ZS1iYWNrZ3JvdW5kKSxcbiAgJGRpc2FibGVkLWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLFxuICAkZGlzYWJsZWQtYm9yZGVyOiAkYm9yZGVyLFxuICAkZGlzYWJsZWQtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRkaXNhYmxlZC1iYWNrZ3JvdW5kKVxuKSB7XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYmc6ICN7JGJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiAjeyRib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnOiAjeyRob3Zlci1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogI3skaG92ZXItYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2I6ICN7dG8tcmdiKG1peCgkY29sb3IsICRib3JkZXIsIDE1JSkpfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcjogI3skYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogI3skYWN0aXZlLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93OiAjeyRidG4tYWN0aXZlLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3I6ICN7JGRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJnOiAjeyRkaXNhYmxlZC1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogI3skZGlzYWJsZWQtYm9yZGVyfTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLXZhcmlhbnQtbWl4aW5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1vdXRsaW5lLXZhcmlhbnQtbWl4aW5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KFxuICAkY29sb3IsXG4gICRjb2xvci1ob3ZlcjogY29sb3ItY29udHJhc3QoJGNvbG9yKSxcbiAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsXG4gICRhY3RpdmUtYm9yZGVyOiAkY29sb3IsXG4gICRhY3RpdmUtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRhY3RpdmUtYmFja2dyb3VuZClcbikge1xuICAtLSN7JHByZWZpeH1idG4tY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGNvbG9yLWhvdmVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnOiAjeyRhY3RpdmUtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICN7JGFjdGl2ZS1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYjogI3t0by1yZ2IoJGNvbG9yKX07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6ICN7JGFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYmc6ICN7JGFjdGl2ZS1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JGFjdGl2ZS1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdzogI3skYnRuLWFjdGl2ZS1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Z3JhZGllbnQ6IG5vbmU7XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi1vdXRsaW5lLXZhcmlhbnQtbWl4aW5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1zaXplLW1peGluXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteTogI3skcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteDogI3skcGFkZGluZy14fTtcbiAgQGluY2x1ZGUgcmZzKCRmb250LXNpemUsIC0tI3skcHJlZml4fWJ0bi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLXJhZGl1czogI3skYm9yZGVyLXJhZGl1c307XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi1zaXplLW1peGluXG4iLCIuZmFkZSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tZmFkZSk7XG5cbiAgJjpub3QoLnNob3cpIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xsYXBzZS1jbGFzc2VzXG4uY29sbGFwc2Uge1xuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2UpO1xuXG4gICYuY29sbGFwc2UtaG9yaXpvbnRhbCB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2Utd2lkdGgpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNvbGxhcHNlLWNsYXNzZXNcbiIsIi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChgPGRpdj5gKVxuLmRyb3B1cCxcbi5kcm9wZW5kLFxuLmRyb3Bkb3duLFxuLmRyb3BzdGFydCxcbi5kcm9wdXAtY2VudGVyLFxuLmRyb3Bkb3duLWNlbnRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLy8gR2VuZXJhdGUgdGhlIGNhcmV0IGF1dG9tYXRpY2FsbHlcbiAgQGluY2x1ZGUgY2FyZXQoKTtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLXppbmRleDogI3skemluZGV4LWRyb3Bkb3dufTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbWluLXdpZHRoOiAjeyRkcm9wZG93bi1taW4td2lkdGh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1wYWRkaW5nLXg6ICN7JGRyb3Bkb3duLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLXBhZGRpbmcteTogI3skZHJvcGRvd24tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tc3BhY2VyOiAjeyRkcm9wZG93bi1zcGFjZXJ9O1xuICBAaW5jbHVkZSByZnMoJGRyb3Bkb3duLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tY29sb3I6ICN7JGRyb3Bkb3duLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYmc6ICN7JGRyb3Bkb3duLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAjeyRkcm9wZG93bi1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItcmFkaXVzOiAjeyRkcm9wZG93bi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAjeyRkcm9wZG93bi1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1iZzogI3skZHJvcGRvd24tZGl2aWRlci1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICN7JGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXl9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93OiAjeyRkcm9wZG93bi1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcjogI3skZHJvcGRvd24tbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICN7JGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWJnOiAjeyRkcm9wZG93bi1saW5rLWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICN7JGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICN7JGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogI3skZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAjeyRkcm9wZG93bi1pdGVtLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAjeyRkcm9wZG93bi1pdGVtLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1jb2xvcjogI3skZHJvcGRvd24taGVhZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteDogI3skZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXk6ICN7JGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24temluZGV4KTtcbiAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcbiAgbWluLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbWluLXdpZHRoKTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXBhZGRpbmcteCk7XG4gIG1hcmdpbjogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBtYXJnaW4gb2YgdWxcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEVuc3VyZXMgcHJvcGVyIGFsaWdubWVudCBpZiBwYXJlbnQgaGFzIGl0IGNoYW5nZWQgKGUuZy4sIG1vZGFsIGZvb3RlcilcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93KSk7XG5cbiAgJltkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXIpO1xuICB9XG5cbiAgQGlmICRkcm9wZG93bi1wYWRkaW5nLXkgPT0gMCB7XG4gICAgPiAuZHJvcGRvd24taXRlbTpmaXJzdC1jaGlsZCxcbiAgICA+IGxpOmZpcnN0LWNoaWxkIC5kcm9wZG93bi1pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICAgID4gLmRyb3Bkb3duLWl0ZW06bGFzdC1jaGlsZCxcbiAgICA+IGxpOmxhc3QtY2hpbGQgLmRyb3Bkb3duLWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG5cbiAgfVxufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcmVzcG9uc2l2ZS1icmVha3BvaW50c1xuLy8gV2UgZGVsaWJlcmF0ZWx5IGhhcmRjb2RlIHRoZSBgYnMtYCBwcmVmaXggYmVjYXVzZSB3ZSBjaGVja1xuLy8gdGhpcyBjdXN0b20gcHJvcGVydHkgaW4gSlMgdG8gZGV0ZXJtaW5lIFBvcHBlcidzIHBvc2l0aW9uaW5nXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LXN0YXJ0IHtcbiAgICAgIC0tYnMtcG9zaXRpb246IHN0YXJ0O1xuXG4gICAgICAmW2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LWVuZCB7XG4gICAgICAtLWJzLXBvc2l0aW9uOiBlbmQ7XG5cbiAgICAgICZbZGF0YS1icy1wb3BwZXJdIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHJlc3BvbnNpdmUtYnJlYWtwb2ludHNcblxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQuXG4uZHJvcHVwIHtcbiAgLmRyb3Bkb3duLW1lbnVbZGF0YS1icy1wb3BwZXJdIHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcik7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldCh1cCk7XG4gIH1cbn1cblxuLmRyb3BlbmQge1xuICAuZHJvcGRvd24tbWVudVtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXIpO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQoZW5kKTtcbiAgICAmOjphZnRlciB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3BzdGFydCB7XG4gIC5kcm9wZG93bi1tZW51W2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXIpO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQoc3RhcnQpO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGA8aHI+YCkgd2l0aGluIHRoZSBkcm9wZG93blxuLmRyb3Bkb3duLWRpdmlkZXIge1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXkpIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1iZyk7XG4gIG9wYWNpdHk6IDE7IC8vIFJldmlzaXQgaW4gdjYgdG8gZGUtZHVwZSBzdHlsZXMgdGhhdCBjb25mbGljdCB3aXRoIDxocj4gZWxlbWVudFxufVxuXG4vLyBMaW5rcywgYnV0dG9ucywgYW5kIG1vcmUgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XG4vL1xuLy8gYDxidXR0b24+YC1zcGVjaWZpYyBzdHlsZXMgYXJlIGRlbm90ZWQgd2l0aCBgLy8gRm9yIDxidXR0b24+c2Bcbi5kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXgpO1xuICBjbGVhcjogYm90aDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcik7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIHByZXZlbnQgbGlua3MgZnJvbSByYW5kb21seSBicmVha2luZyBvbnRvIG5ldyBsaW5lc1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIGJvcmRlcjogMDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tYm9yZGVyLXJhZGl1cywgMCkpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItYmcpKTtcbiAgfVxuXG4gICYuYWN0aXZlLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1iZykpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpZigkZW5hYmxlLWdyYWRpZW50cywgbm9uZSwgbnVsbCk7XG4gIH1cbn1cblxuLmRyb3Bkb3duLW1lbnUuc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBEcm9wZG93biBzZWN0aW9uIGhlYWRlcnNcbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gZm9yIHVzZSB3aXRoIGhlYWRpbmcgZWxlbWVudHNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtc20pO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1jb2xvcik7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGFzIHdpdGggPiBsaSA+IGFcbn1cblxuLy8gRHJvcGRvd24gdGV4dFxuLmRyb3Bkb3duLWl0ZW0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcik7XG59XG5cbi8vIERhcmsgZHJvcGRvd25zXG4uZHJvcGRvd24tbWVudS1kYXJrIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLWRhcmstY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1iZzogI3skZHJvcGRvd24tZGFyay1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci1jb2xvcjogI3skZHJvcGRvd24tZGFyay1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93OiAjeyRkcm9wZG93bi1kYXJrLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1kaXZpZGVyLWJnOiAjeyRkcm9wZG93bi1kYXJrLWRpdmlkZXItYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWJnOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstaG92ZXItYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogI3skZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogI3skZHJvcGRvd24tZGFyay1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWhlYWRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tZGFyay1jc3MtdmFyc1xufVxuIiwiLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmV0LW1peGluc1xuQG1peGluIGNhcmV0LWRvd24oJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXVwKCR3aWR0aDogJGNhcmV0LXdpZHRoKSB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC1lbmQoJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZDtcbn1cblxuQG1peGluIGNhcmV0LXN0YXJ0KCR3aWR0aDogJGNhcmV0LXdpZHRoKSB7XG4gIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KFxuICAkZGlyZWN0aW9uOiBkb3duLFxuICAkd2lkdGg6ICRjYXJldC13aWR0aCxcbiAgJHNwYWNpbmc6ICRjYXJldC1zcGFjaW5nLFxuICAkdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnblxuKSB7XG4gIEBpZiAkZW5hYmxlLWNhcmV0IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmc7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogJHZlcnRpY2FsLWFsaWduO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1kb3duKCR3aWR0aCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC11cCgkd2lkdGgpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGVuZCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWVuZCgkd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHN0YXJ0IHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJHZlcnRpY2FsLWFsaWduO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1zdGFydCgkd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6ZW1wdHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBjYXJldC1taXhpbnNcbiIsIi8vIE1ha2UgdGhlIGRpdiBiZWhhdmUgbGlrZSBhIGJ1dHRvblxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBtYXRjaCAuYnRuIGFsaWdubWVudCBnaXZlbiBmb250LXNpemUgaGFjayBhYm92ZVxuXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLy8gQnJpbmcgdGhlIGhvdmVyLCBmb2N1c2VkLCBhbmQgXCJhY3RpdmVcIiBidXR0b25zIHRvIHRoZSBmcm9udCB0byBvdmVybGF5XG4gIC8vIHRoZSBib3JkZXJzIHByb3Blcmx5XG4gID4gLmJ0bi1jaGVjazpjaGVja2VkICsgLmJ0bixcbiAgPiAuYnRuLWNoZWNrOmZvY3VzICsgLmJ0bixcbiAgPiAuYnRuOmhvdmVyLFxuICA+IC5idG46Zm9jdXMsXG4gID4gLmJ0bjphY3RpdmUsXG4gID4gLmJ0bi5hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbn1cblxuLy8gT3B0aW9uYWw6IEdyb3VwIG11bHRpcGxlIGJ1dHRvbiBncm91cHMgdG9nZXRoZXIgZm9yIGEgdG9vbGJhclxuLmJ0bi10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4uYnRuLWdyb3VwIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYnRuLWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbiAgPiA6bm90KC5idG4tY2hlY2s6Zmlyc3QtY2hpbGQpICsgLmJ0bixcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygjeyRidG4tYm9yZGVyLXdpZHRofSAqIC0xKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi5kcm9wZG93bi10b2dnbGUtc3BsaXQ6Zmlyc3QtY2hpbGQsXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWVuZC1yYWRpdXMoMCk7XG4gIH1cblxuICAvLyBUaGUgbGVmdCByYWRpdXMgc2hvdWxkIGJlIDAgaWYgdGhlIGJ1dHRvbiBpczpcbiAgLy8gLSB0aGUgXCJ0aGlyZCBvciBtb3JlXCIgY2hpbGRcbiAgLy8gLSB0aGUgc2Vjb25kIGNoaWxkIGFuZCB0aGUgcHJldmlvdXMgZWxlbWVudCBpc24ndCBgLmJ0bi1jaGVja2AgKG1ha2luZyBpdCB0aGUgZmlyc3QgY2hpbGQgdmlzdWFsbHkpXG4gIC8vIC0gcGFydCBvZiBhIGJ0bi1ncm91cCB3aGljaCBpc24ndCB0aGUgZmlyc3QgY2hpbGRcbiAgPiAuYnRuOm50aC1jaGlsZChuICsgMyksXG4gID4gOm5vdCguYnRuLWNoZWNrKSArIC5idG4sXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgYnV0dG9uIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llciBtYW5pcHVsYXRpb24uXG5cbi5idG4tZ3JvdXAtc20gPiAuYnRuIHsgQGV4dGVuZCAuYnRuLXNtOyB9XG4uYnRuLWdyb3VwLWxnID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1sZzsgfVxuXG5cbi8vXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vL1xuXG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG5cbiAgJjo6YWZ0ZXIsXG4gIC5kcm9wdXAgJjo6YWZ0ZXIsXG4gIC5kcm9wZW5kICY6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC5kcm9wc3RhcnQgJjo6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbn1cblxuXG4vLyBUaGUgY2xpY2thYmxlIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG1lbnVcbi8vIFNldCB0aGUgc2FtZSBpbnNldCBzaGFkb3cgYXMgdGhlIDphY3RpdmUgc3RhdGVcbi5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy9cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygjeyRidG4tYm9yZGVyLXdpZHRofSAqIC0xKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG4gfiAuYnRuLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEtpY2tzdGFydCBhbnkgbmF2aWdhdGlvbiBjb21wb25lbnQgd2l0aCBhIHNldCBvZiBzdHlsZSByZXNldHMuIFdvcmtzIHdpdGhcbi8vIGA8bmF2PmBzLCBgPHVsPmBzIG9yIGA8b2w+YHMuXG5cbi5uYXYge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteDogI3skbmF2LWxpbmstcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy15OiAjeyRuYXYtbGluay1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJG5hdi1saW5rLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC13ZWlnaHQ6ICN7JG5hdi1saW5rLWZvbnQtd2VpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstY29sb3I6ICN7JG5hdi1saW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstaG92ZXItY29sb3I6ICN7JG5hdi1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICN7JG5hdi1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXYtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm5hdi1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtd2VpZ2h0KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRuYXYtbGluay10cmFuc2l0aW9uKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAkbmF2LWxpbmstZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHRcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG59XG5cbi8vXG4vLyBUYWJzXG4vL1xuXG4ubmF2LXRhYnMge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LXRhYnMtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAjeyRuYXYtdGFicy1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItY29sb3I6ICN7JG5hdi10YWJzLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICN7JG5hdi10YWJzLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogI3skbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogI3skbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogI3skbmF2LXRhYnMtbGluay1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2LXRhYnMtY3NzLXZhcnNcblxuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLWNvbG9yKTtcblxuICAubmF2LWxpbmsge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXJhZGl1cykpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIFByZXZlbnRzIGFjdGl2ZSAubmF2LWxpbmsgdGFiIG92ZXJsYXBwaW5nIGZvY3VzIG91dGxpbmUgb2YgcHJldmlvdXMvbmV4dCAubmF2LWxpbmtcbiAgICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICAvLyBNYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIC8vIFJlbW92ZSB0aGUgdG9wIHJvdW5kZWQgY29ybmVycyBoZXJlIHNpbmNlIHRoZXJlIGlzIGEgaGFyZCBlZGdlIGFib3ZlIHRoZSBtZW51XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vL1xuLy8gUGlsbHNcbi8vXG5cbi5uYXYtcGlsbHMge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LXBpbGxzLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAjeyRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogI3skbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAjeyRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmd9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdi1waWxscy1jc3MtdmFyc1xuXG4gIC5uYXYtbGluayB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpKTtcbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcik7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fW5hdi1waWxscy1saW5rLWFjdGl2ZS1iZykpO1xuICB9XG59XG5cblxuLy9cbi8vIFVuZGVybGluZVxuLy9cblxuLm5hdi11bmRlcmxpbmUge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LXVuZGVybGluZS1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWdhcDogI3skbmF2LXVuZGVybGluZS1nYXB9O1xuICAtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWJvcmRlci13aWR0aDogI3skbmF2LXVuZGVybGluZS1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRuYXYtdW5kZXJsaW5lLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXYtdW5kZXJsaW5lLWNzcy12YXJzXG5cbiAgZ2FwOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1nYXApO1xuXG4gIC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtbGluay1hY3RpdmUtY29sb3IpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBKdXN0aWZpZWQgdmFyaWFudHNcbi8vXG5cbi5uYXYtZmlsbCB7XG4gID4gLm5hdi1saW5rLFxuICAubmF2LWl0ZW0ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ubmF2LWp1c3RpZmllZCB7XG4gID4gLm5hdi1saW5rLFxuICAubmF2LWl0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ubmF2LWZpbGwsXG4ubmF2LWp1c3RpZmllZCB7XG4gIC5uYXYtaXRlbSAubmF2LWxpbmsge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBNYWtlIHN1cmUgYnV0dG9uIHdpbGwgZ3Jvd1xuICB9XG59XG5cblxuLy8gVGFiYmFibGUgdGFic1xuLy9cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuXG4udGFiLWNvbnRlbnQge1xuICA+IC50YWItcGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICA+IC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCIvLyBOYXZiYXJcbi8vXG4vLyBQcm92aWRlIGEgc3RhdGljIG5hdmJhciBmcm9tIHdoaWNoIHdlIGV4cGFuZCB0byBjcmVhdGUgZnVsbC13aWR0aCwgZml4ZWQsIGFuZFxuLy8gb3RoZXIgbmF2YmFyIHZhcmlhdGlvbnMuXG5cbi5uYXZiYXIge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdmJhci1wYWRkaW5nLXg6ICN7aWYoJG5hdmJhci1wYWRkaW5nLXggPT0gbnVsbCwgMCwgJG5hdmJhci1wYWRkaW5nLXgpfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXBhZGRpbmcteTogI3skbmF2YmFyLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW5hdmJhci1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWhvdmVyLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItZGlzYWJsZWQtY29sb3I6ICN7JG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1hY3RpdmUtY29sb3I6ICN7JG5hdmJhci1saWdodC1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtcGFkZGluZy15OiAjeyRuYXZiYXItYnJhbmQtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLW1hcmdpbi1lbmQ6ICN7JG5hdmJhci1icmFuZC1tYXJnaW4tZW5kfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogI3skbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZX07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWhvdmVyLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAjeyRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAjeyRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICN7JG5hdmJhci10b2dnbGVyLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogI3skbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItaWNvbi1iZzogI3tlc2NhcGUtc3ZnKCRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnKX07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWJvcmRlci1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogI3skbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRoOiAjeyRuYXZiYXItdG9nZ2xlci1mb2N1cy13aWR0aH07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXRyYW5zaXRpb246ICN7JG5hdmJhci10b2dnbGVyLXRyYW5zaXRpb259O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBhbGxvdyB1cyB0byBkbyB0aGUgbGluZSBicmVhayBmb3IgY29sbGFwc2luZyBjb250ZW50XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gc3BhY2Ugb3V0IGJyYW5kIGZyb20gbG9nb1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW5hdmJhci1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygpO1xuXG4gIC8vIEJlY2F1c2UgZmxleCBwcm9wZXJ0aWVzIGFyZW4ndCBpbmhlcml0ZWQsIHdlIG5lZWQgdG8gcmVkZWNsYXJlIHRoZXNlIGZpcnN0XG4gIC8vIGZldyBwcm9wZXJ0aWVzIHNvIHRoYXQgY29udGVudCBuZXN0ZWQgd2l0aGluIGJlaGF2ZSBwcm9wZXJseS5cbiAgLy8gVGhlIGBmbGV4LXdyYXBgIHByb3BlcnR5IGlzIGluaGVyaXRlZCB0byBzaW1wbGlmeSB0aGUgZXhwYW5kZWQgbmF2YmFyc1xuICAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IGluaGVyaXQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICA+IC5jb250YWluZXIsXG4gID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGV4dGVuZCAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcztcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgQGV4dGVuZCAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgYnJhbmRcbi8vXG4vLyBVc2VkIGZvciBicmFuZCwgcHJvamVjdCwgb3Igc2l0ZSBuYW1lcy5cblxuLm5hdmJhci1icmFuZCB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLXBhZGRpbmcteSk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLXBhZGRpbmcteSk7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1tYXJnaW4tZW5kKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtZm9udC1zaXplKSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBuYXZcbi8vXG4vLyBDdXN0b20gbmF2YmFyIG5hdmlnYXRpb24gKGRvZXNuJ3QgcmVxdWlyZSBgLm5hdmAsIGJ1dCBkb2VzIG1ha2UgdXNlIG9mIGAubmF2LWxpbmtgKS5cblxuLm5hdmJhci1uYXYge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLW5hdi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXg6IDA7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteTogI3skbmF2LWxpbmstcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRuYXYtbGluay1mb250LXNpemUsIC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtd2VpZ2h0OiAjeyRuYXYtbGluay1mb250LXdlaWdodH07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yKTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstaG92ZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItaG92ZXItY29sb3IpO1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1kaXNhYmxlZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1kaXNhYmxlZC1jb2xvcik7XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLW5hdi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8vIGNhbm5vdCB1c2UgYGluaGVyaXRgIHRvIGdldCB0aGUgYC5uYXZiYXJgcyB2YWx1ZVxuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLm5hdi1saW5rIHtcbiAgICAmLmFjdGl2ZSxcbiAgICAmLnNob3cge1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYWN0aXZlLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0ZXh0XG4vL1xuLy9cblxuLm5hdmJhci10ZXh0IHtcbiAgcGFkZGluZy10b3A6ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2LWxpbmstcGFkZGluZy15O1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1jb2xvcik7XG5cbiAgYSxcbiAgYTpob3ZlcixcbiAgYTpmb2N1cyAge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcik7XG4gIH1cbn1cblxuXG4vLyBSZXNwb25zaXZlIG5hdmJhclxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIHJlc3BvbnNpdmUgY29sbGFwc2luZyBhbmQgdG9nZ2xpbmcgb2YgbmF2YmFyIGNvbnRlbnRzLlxuLy8gUG93ZXJlZCBieSB0aGUgY29sbGFwc2UgQm9vdHN0cmFwIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4vLyBXaGVuIGNvbGxhcHNlZCwgcHJldmVudCB0aGUgdG9nZ2xlYWJsZSBuYXZiYXIgY29udGVudHMgZnJvbSBhcHBlYXJpbmcgaW5cbi8vIHRoZSBkZWZhdWx0IGZsZXhib3ggcm93IG9yaWVudGF0aW9uLiBSZXF1aXJlcyB0aGUgdXNlIG9mIGBmbGV4LXdyYXA6IHdyYXBgXG4vLyBvbiB0aGUgYC5uYXZiYXJgIHBhcmVudC5cbi5uYXZiYXItY29sbGFwc2Uge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBmbGV4LWdyb3c6IDE7XG4gIC8vIEZvciBhbHdheXMgZXhwYW5kZWQgb3IgZXh0cmEgZnVsbCBuYXZiYXJzLCBlbnN1cmUgY29udGVudCBhbGlnbnMgaXRzZWxmXG4gIC8vIHByb3Blcmx5IHZlcnRpY2FsbHkuIENhbiBiZSBlYXNpbHkgb3ZlcnJpZGRlbiB3aXRoIGZsZXggdXRpbGl0aWVzLlxuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vLyBCdXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBuYXZiYXIgd2hlbiBpbiBpdHMgY29sbGFwc2VkIHN0YXRlXG4ubmF2YmFyLXRvZ2dsZXIge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1mb250LXNpemUpKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItY29sb3IpOyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci10cmFuc2l0aW9uKSk7XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRoKTtcbiAgfVxufVxuXG4vLyBLZWVwIGFzIGEgc2VwYXJhdGUgZWxlbWVudCBzbyBmb2xrcyBjYW4gZWFzaWx5IG92ZXJyaWRlIGl0IHdpdGggYW5vdGhlciBpY29uXG4vLyBvciBpbWFnZSBmaWxlIGFzIG5lZWRlZC5cbi5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1pY29uLWJnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG59XG5cbi5uYXZiYXItbmF2LXNjcm9sbCB7XG4gIG1heC1oZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1zY3JvbGwtaGVpZ2h0LCA3NXZoKTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1leHBhbmQtbG9vcFxuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAubmF2YmFyLWV4cGFuZC0qYCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nXG4vLyB3aGVyZSB5b3VyIG5hdmJhciBjb2xsYXBzZXMuXG4ubmF2YmFyLWV4cGFuZCB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3Mvc2VsZWN0b3Itbm8tdW5pb24tY2xhc3MtbmFtZVxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmV4dCkge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteCk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLW5hdi1zY3JvbGwge1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLXRvZ2dsZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAub2ZmY2FudmFzIHtcbiAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgIHotaW5kZXg6IGF1dG87XG4gICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG5vbmUpO1xuICAgICAgICAgIC8vIHN0eWxlbGludC1lbmFibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgICAub2ZmY2FudmFzLWhlYWRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5vZmZjYW52YXMtYm9keSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1leHBhbmQtbG9vcFxuXG4vLyBOYXZiYXIgdGhlbWVzXG4vL1xuLy8gU3R5bGVzIGZvciBzd2l0Y2hpbmcgYmV0d2VlbiBuYXZiYXJzIHdpdGggbGlnaHQgb3IgZGFyayBiYWNrZ3JvdW5kLlxuXG4ubmF2YmFyLWxpZ2h0IHtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYC5uYXZiYXItbGlnaHRgXCIsIFwidjUuMi4wXCIsIFwidjYuMC4wXCIsIHRydWUpO1xufVxuXG4ubmF2YmFyLWRhcmssXG4ubmF2YmFyW2RhdGEtYnMtdGhlbWU9XCJkYXJrXCJdIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1kYXJrLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdmJhci1jb2xvcjogI3skbmF2YmFyLWRhcmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItaG92ZXItY29sb3I6ICN7JG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWRpc2FibGVkLWNvbG9yOiAjeyRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1hY3RpdmUtY29sb3I6ICN7JG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1jb2xvcjogI3skbmF2YmFyLWRhcmstYnJhbmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtaG92ZXItY29sb3I6ICN7JG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAjeyRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWljb24tYmc6ICN7ZXNjYXBlLXN2ZygkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnKX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLWRhcmstY3NzLXZhcnNcbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgICAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItaWNvbi1iZzogI3tlc2NhcGUtc3ZnKCRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmcpfTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmNhcmQge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1jYXJkLXNwYWNlci15OiAjeyRjYXJkLXNwYWNlci15fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteDogI3skY2FyZC1zcGFjZXIteH07XG4gIC0tI3skcHJlZml4fWNhcmQtdGl0bGUtc3BhY2VyLXk6ICN7JGNhcmQtdGl0bGUtc3BhY2VyLXl9O1xuICAtLSN7JHByZWZpeH1jYXJkLXRpdGxlLWNvbG9yOiAjeyRjYXJkLXRpdGxlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1zdWJ0aXRsZS1jb2xvcjogI3skY2FyZC1zdWJ0aXRsZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXdpZHRoOiAjeyRjYXJkLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yOiAjeyRjYXJkLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXJhZGl1czogI3skY2FyZC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3gtc2hhZG93OiAjeyRjYXJkLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteTogI3skY2FyZC1jYXAtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14OiAjeyRjYXJkLWNhcC1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNhcC1iZzogI3skY2FyZC1jYXAtYmd9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNhcC1jb2xvcjogI3skY2FyZC1jYXAtY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLWhlaWdodDogI3skY2FyZC1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNvbG9yOiAjeyRjYXJkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1iZzogI3skY2FyZC1iZ307XG4gIC0tI3skcHJlZml4fWNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogI3skY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ncm91cC1tYXJnaW46ICN7JGNhcmQtZ3JvdXAtbWFyZ2lufTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBjYXJkLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yMjc0MCNpc3N1ZWNvbW1lbnQtMzA1ODY4MTA2XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fWNhcmQtaGVpZ2h0KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1jYXJkLWJveC1zaGFkb3cpKTtcblxuICA+IGhyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICA+IC5saXN0LWdyb3VwIHtcbiAgICBib3JkZXItdG9wOiBpbmhlcml0O1xuICAgIGJvcmRlci1ib3R0b206IGluaGVyaXQ7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIER1ZSB0byBzcGVjaWZpY2l0eSBvZiB0aGUgYWJvdmUgc2VsZWN0b3IgKGAuY2FyZCA+IC5saXN0LWdyb3VwYCksIHdlIG11c3RcbiAgLy8gdXNlIGEgY2hpbGQgc2VsZWN0b3IgaGVyZSB0byBwcmV2ZW50IGRvdWJsZSBib3JkZXJzLlxuICA+IC5jYXJkLWhlYWRlciArIC5saXN0LWdyb3VwLFxuICA+IC5saXN0LWdyb3VwICsgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbi5jYXJkLWJvZHkge1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgZm9yIGRlY2tzIGFuZCBncm91cHMgc28gdGhhdCBjYXJkIGJsb2NrcyB0YWtlIHVwXG4gIC8vIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGUsIGVuc3VyaW5nIGZvb3RlcnMgYXJlIGFsaWduZWQgdG8gdGhlIGJvdHRvbS5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLXNwYWNlci15KSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jb2xvcik7XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWNhcmQtdGl0bGUtc3BhY2VyLXkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtdGl0bGUtY29sb3IpO1xufVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtdGl0bGUtc3BhY2VyLXkpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLXN1YnRpdGxlLWNvbG9yKTtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICB9XG5cbiAgKyAuY2FyZC1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXgpO1xuICB9XG59XG5cbi8vXG4vLyBPcHRpb25hbCB0ZXh0dWFsIGNhcHNcbi8vXG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmVzIHRoZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gb2YgPGhOPlxuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWJnKTtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3IpO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykgdmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykgMCAwKTtcbiAgfVxufVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1iZyk7XG4gIGJvcmRlci10b3A6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yKTtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwIHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpIHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBIZWFkZXIgbmF2c1xuLy9cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tYm90dG9tOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteSkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tbGVmdDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtYmcpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJnKTtcbiAgfVxufVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tbGVmdDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG59XG5cbi8vIENhcmQgaW1hZ2Vcbi5jYXJkLWltZy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLWltZy1vdmVybGF5LXBhZGRpbmcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCxcbi5jYXJkLWltZy1ib3R0b20ge1xuICB3aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xufVxuXG5cbi8vXG4vLyBDYXJkIGdyb3Vwc1xuLy9cblxuLmNhcmQtZ3JvdXAge1xuICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gID4gLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1jYXJkLWdyb3VwLW1hcmdpbik7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICAgID4gLmNhcmQge1xuICAgICAgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICArIC5jYXJkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBIYW5kbGUgcm91bmRlZCBjb3JuZXJzXG4gICAgICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmFjY29yZGlvbiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBhY2NvcmRpb24tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWNvbG9yOiAjeyRhY2NvcmRpb24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYmc6ICN7JGFjY29yZGlvbi1iZ307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi10cmFuc2l0aW9uOiAjeyRhY2NvcmRpb24tdHJhbnNpdGlvbn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItY29sb3I6ICN7JGFjY29yZGlvbi1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXdpZHRoOiAjeyRhY2NvcmRpb24tYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXM6ICN7JGFjY29yZGlvbi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JGFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXg6ICN7JGFjY29yZGlvbi1idXR0b24tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXk6ICN7JGFjY29yZGlvbi1idXR0b24tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1jb2xvcjogI3skYWNjb3JkaW9uLWJ1dHRvbi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYmc6ICN7JGFjY29yZGlvbi1idXR0b24tYmd9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb246ICN7ZXNjYXBlLXN2ZygkYWNjb3JkaW9uLWJ1dHRvbi1pY29uKX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aDogI3skYWNjb3JkaW9uLWljb24td2lkdGh9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNmb3JtOiAjeyRhY2NvcmRpb24taWNvbi10cmFuc2Zvcm19O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNpdGlvbjogI3skYWNjb3JkaW9uLWljb24tdHJhbnNpdGlvbn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYWN0aXZlLWljb246ICN7ZXNjYXBlLXN2ZygkYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtaWNvbil9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWZvY3VzLWJvcmRlci1jb2xvcjogI3skYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWZvY3VzLWJveC1zaGFkb3c6ICN7JGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteDogI3skYWNjb3JkaW9uLWJvZHktcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvZHktcGFkZGluZy15OiAjeyRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWNvbG9yOiAjeyRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtYmc6ICN7JGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWJnfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBhY2NvcmRpb24tY3NzLXZhcnNcbn1cblxuLmFjY29yZGlvbi1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBSZXNldCBidXR0b24gc3R5bGVcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYmcpO1xuICBib3JkZXI6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gIG92ZXJmbG93LWFuY2hvcjogbm9uZTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbih2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLXRyYW5zaXRpb24pKTtcblxuICAmOm5vdCguY29sbGFwc2VkKSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1iZyk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItd2lkdGgpKSAwIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLWNvbG9yKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWFjdGl2ZS1pY29uKTtcbiAgICAgIHRyYW5zZm9ybTogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi10cmFuc2Zvcm0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFjY29yZGlvbiBpY29uXG4gICY6OmFmdGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoKTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24pO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNpdGlvbikpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1mb2N1cy1ib3JkZXItY29sb3IpO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gIH1cbn1cblxuLmFjY29yZGlvbi1oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYWNjb3JkaW9uLWl0ZW0ge1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYmcpO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1jb2xvcik7XG5cbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpKTtcblxuICAgIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxuXG4gIC8vIE9ubHkgc2V0IGEgYm9yZGVyLXJhZGl1cyBvbiB0aGUgbGFzdCBpdGVtIGlmIHRoZSBhY2NvcmRpb24gaXMgY29sbGFwc2VkXG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpKTtcblxuICAgIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICAgICYuY29sbGFwc2VkIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbi1jb2xsYXBzZSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gIH1cbn1cblxuLmFjY29yZGlvbi1ib2R5IHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteCk7XG59XG5cblxuLy8gRmx1c2ggYWNjb3JkaW9uIGl0ZW1zXG4vL1xuLy8gUmVtb3ZlIGJvcmRlcnMgYW5kIGJvcmRlci1yYWRpdXMgdG8ga2VlcCBhY2NvcmRpb24gaXRlbXMgZWRnZS10by1lZGdlLlxuXG4uYWNjb3JkaW9uLWZsdXNoIHtcbiAgLmFjY29yZGlvbi1jb2xsYXBzZSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcblxuICAgICY6Zmlyc3QtY2hpbGQgeyBib3JkZXItdG9wOiAwOyB9XG4gICAgJjpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4gICAgLmFjY29yZGlvbi1idXR0b24ge1xuICAgICAgJixcbiAgICAgICYuY29sbGFwc2VkIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLmFjY29yZGlvbi1idXR0b246OmFmdGVyIHtcbiAgICAgIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbjogI3tlc2NhcGUtc3ZnKCRhY2NvcmRpb24tYnV0dG9uLWljb24tZGFyayl9O1xuICAgICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1hY3RpdmUtaWNvbjogI3tlc2NhcGUtc3ZnKCRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uLWRhcmspfTtcbiAgICB9XG4gIH1cbn1cbiIsIi5icmVhZGNydW1iIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJyZWFkY3J1bWItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXg6ICN7JGJyZWFkY3J1bWItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXk6ICN7JGJyZWFkY3J1bWItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAjeyRicmVhZGNydW1iLW1hcmdpbi1ib3R0b219O1xuICBAaW5jbHVkZSByZnMoJGJyZWFkY3J1bWItZm9udC1zaXplLCAtLSN7JHByZWZpeH1icmVhZGNydW1iLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItYmc6ICN7JGJyZWFkY3J1bWItYmd9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICN7JGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogI3skYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteDogI3skYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6ICN7JGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBicmVhZGNydW1iLWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLW1hcmdpbi1ib3R0b20pO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZm9udC1zaXplKSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWJnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5icmVhZGNydW1iLWl0ZW0ge1xuICAvLyBUaGUgc2VwYXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYnMgKGJ5IGRlZmF1bHQsIGEgZm9yd2FyZC1zbGFzaDogXCIvXCIpXG4gICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZmxvYXQ6IGxlZnQ7IC8vIFN1cHByZXNzIGlubGluZSBzcGFjaW5ncyBhbmQgdW5kZXJsaW5pbmcgb2YgdGhlIHNlcGFyYXRvclxuICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXgpO1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXItY29sb3IpO1xuICAgICAgY29udGVudDogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlciwgZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyKSkgI3tcIi8qIHJ0bDpcIn0gdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlciwgZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyLWZsaXBwZWQpKSAje1wiKi9cIn07XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcik7XG4gIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHBhZ2luYXRpb24tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXg6ICN7JHBhZ2luYXRpb24tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXk6ICN7JHBhZ2luYXRpb24tcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRwYWdpbmF0aW9uLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1iZzogI3skcGFnaW5hdGlvbi1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAjeyRwYWdpbmF0aW9uLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogI3skcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogI3skcGFnaW5hdGlvbi1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItYmc6ICN7JHBhZ2luYXRpb24taG92ZXItYmd9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogI3skcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWZvY3VzLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1iZzogI3skcGFnaW5hdGlvbi1mb2N1cy1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogI3skcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICN7JHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtYmc6ICN7JHBhZ2luYXRpb24tYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogI3skcGFnaW5hdGlvbi1kaXNhYmxlZC1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcGFnaW5hdGlvbi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cblxuLnBhZ2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJnKTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHBhZ2luYXRpb24tdHJhbnNpdGlvbik7XG5cbiAgJjpob3ZlciB7XG4gICAgei1pbmRleDogMjtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtYmcpO1xuICAgIG91dGxpbmU6ICRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdyk7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgLmFjdGl2ZSA+ICYge1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcik7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWJnKSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gIC5kaXNhYmxlZCA+ICYge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yKTtcbiAgfVxufVxuXG4ucGFnZS1pdGVtIHtcbiAgJjpub3QoOmZpcnN0LWNoaWxkKSAucGFnZS1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogJHBhZ2luYXRpb24tbWFyZ2luLXN0YXJ0O1xuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydCA9PSBjYWxjKCN7JHBhZ2luYXRpb24tYm9yZGVyLXdpZHRofSAqIC0xKSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzKSk7XG4gICAgICB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBBZGQgYm9yZGVyLXJhZGl1cyB0byBhbGwgcGFnZUxpbmtzIGluIGNhc2UgdGhleSBoYXZlIGxlZnQgbWFyZ2luXG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gU2l6aW5nXG4vL1xuXG4ucGFnaW5hdGlvbi1sZyB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktbGcsICRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5wYWdpbmF0aW9uLXNtIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSwgJHBhZ2luYXRpb24tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIi8vIExpc3RzXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwYWdpbmF0aW9uLW1peGluXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRib3JkZXItcmFkaXVzKSB7XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy14OiAjeyRwYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteTogI3skcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRmb250LXNpemUsIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiAjeyRib3JkZXItcmFkaXVzfTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgcGFnaW5hdGlvbi1taXhpblxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIFJlcXVpcmVzIG9uZSBvZiB0aGUgY29udGV4dHVhbCwgY29sb3IgbW9kaWZpZXIgY2xhc3NlcyBmb3IgYGNvbG9yYCBhbmRcbi8vIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuLmJhZGdlIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJhZGdlLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJhZGdlLXBhZGRpbmcteDogI3skYmFkZ2UtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtcGFkZGluZy15OiAjeyRiYWRnZS1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJGJhZGdlLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YmFkZ2UtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtZm9udC13ZWlnaHQ6ICN7JGJhZGdlLWZvbnQtd2VpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtY29sb3I6ICN7JGJhZGdlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtYm9yZGVyLXJhZGl1czogI3skYmFkZ2UtYm9yZGVyLXJhZGl1c307XG4gIC8vIHNjc3MtZG9jcy1lbmQgYmFkZ2UtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJhZGdlLWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fWJhZGdlLWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygpO1xuXG4gIC8vIEVtcHR5IGJhZGdlcyBjb2xsYXBzZSBhdXRvbWF0aWNhbGx5XG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gUXVpY2sgZml4IGZvciBiYWRnZXMgaW4gYnV0dG9uc1xuLmJ0biAuYmFkZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmFsZXJ0IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGFsZXJ0LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWFsZXJ0LWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtcGFkZGluZy14OiAjeyRhbGVydC1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1hbGVydC1wYWRkaW5nLXk6ICN7JGFsZXJ0LXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWFsZXJ0LW1hcmdpbi1ib3R0b206ICN7JGFsZXJ0LW1hcmdpbi1ib3R0b219O1xuICAtLSN7JHByZWZpeH1hbGVydC1jb2xvcjogaW5oZXJpdDtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyOiAjeyRhbGVydC1ib3JkZXItd2lkdGh9IHNvbGlkIHZhcigtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItY29sb3IpO1xuICAtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItcmFkaXVzOiAjeyRhbGVydC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtbGluay1jb2xvcjogaW5oZXJpdDtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBhbGVydC1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWFsZXJ0LXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWFsZXJ0LXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1hbGVydC1tYXJnaW4tYm90dG9tKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hbGVydC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1hbGVydC1iZyk7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLy8gSGVhZGluZ3MgZm9yIGxhcmdlciBhbGVydHNcbi5hbGVydC1oZWFkaW5nIHtcbiAgLy8gU3BlY2lmaWVkIHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nICRoZWFkaW5ncy1jb2xvclxuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1saW5rLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWFsZXJ0LWxpbmstY29sb3IpO1xufVxuXG5cbi8vIERpc21pc3NpYmxlIGFsZXJ0c1xuLy9cbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAkYWxlcnQtZGlzbWlzc2libGUtcGFkZGluZy1yO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5idG4tY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogJHN0cmV0Y2hlZC1saW5rLXotaW5kZXggKyAxO1xuICAgIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgKiAxLjI1ICRhbGVydC1wYWRkaW5nLXg7XG4gIH1cbn1cblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYWxlcnQtbW9kaWZpZXJzXG4vLyBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGFsZXJ0XG5AZWFjaCAkc3RhdGUgaW4gbWFwLWtleXMoJHRoZW1lLWNvbG9ycykge1xuICAuYWxlcnQtI3skc3RhdGV9IHtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS10ZXh0LWVtcGhhc2lzKTtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1iZy1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1ib3JkZXItc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1saW5rLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXRleHQtZW1waGFzaXMpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGFsZXJ0LW1vZGlmaWVyc1xuIiwiLy8gRGlzYWJsZSBhbmltYXRpb24gaWYgdHJhbnNpdGlvbnMgYXJlIGRpc2FibGVkXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwcm9ncmVzcy1rZXlmcmFtZXNcbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gICAgMCUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6ICRwcm9ncmVzcy1oZWlnaHQ7IH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBwcm9ncmVzcy1rZXlmcmFtZXNcblxuLnByb2dyZXNzLFxuLnByb2dyZXNzLXN0YWNrZWQge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcHJvZ3Jlc3MtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0OiAjeyRwcm9ncmVzcy1oZWlnaHR9O1xuICBAaW5jbHVkZSByZnMoJHByb2dyZXNzLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmc6ICN7JHByb2dyZXNzLWJnfTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogI3skcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJveC1zaGFkb3c6ICN7JHByb2dyZXNzLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItY29sb3I6ICN7JHByb2dyZXNzLWJhci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJhci1iZzogI3skcHJvZ3Jlc3MtYmFyLWJnfTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICN7JHByb2dyZXNzLWJhci10cmFuc2l0aW9ufTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBwcm9ncmVzcy1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWhlaWdodCk7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIGZvcmNlIHJvdW5kZWQgY29ybmVycyBieSBjcm9wcGluZyBpdFxuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWZvbnQtc2l6ZSkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJveC1zaGFkb3cpKTtcbn1cblxuLnByb2dyZXNzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJhci1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJhci1iZyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJhci10cmFuc2l0aW9uKSk7XG59XG5cbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0KSB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0KTtcbn1cblxuLnByb2dyZXNzLXN0YWNrZWQgPiAucHJvZ3Jlc3Mge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLnByb2dyZXNzLXN0YWNrZWQgPiAucHJvZ3Jlc3MgPiAucHJvZ3Jlc3MtYmFyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gICAgYW5pbWF0aW9uOiAkcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmcgcHJvZ3Jlc3MtYmFyLXN0cmlwZXM7XG5cbiAgICBAaWYgJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbiB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbGlzdC1ncm91cC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1iZzogI3skbGlzdC1ncm91cC1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAjeyRsaXN0LWdyb3VwLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogI3skbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogI3skbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICN7JGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogI3skbGlzdC1ncm91cC1hY3Rpb24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogI3skbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1iZzogI3skbGlzdC1ncm91cC1ob3Zlci1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogI3skbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAjeyRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1kaXNhYmxlZC1iZzogI3skbGlzdC1ncm91cC1kaXNhYmxlZC1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAjeyRsaXN0LWdyb3VwLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogI3skbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvLyBObyBuZWVkIHRvIHNldCBsaXN0LXN0eWxlOiBub25lOyBzaW5jZSAubGlzdC1ncm91cC1pdGVtIGlzIGJsb2NrIGxldmVsXG4gIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxuICBtYXJnaW4tYm90dG9tOiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLmxpc3QtZ3JvdXAtbnVtYmVyZWQge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGNvdW50ZXItcmVzZXQ6IHNlY3Rpb247XG5cbiAgPiAubGlzdC1ncm91cC1pdGVtOjpiZWZvcmUge1xuICAgIC8vIEluY3JlbWVudHMgb25seSB0aGlzIGluc3RhbmNlIG9mIHRoZSBzZWN0aW9uIGNvdW50ZXJcbiAgICBjb250ZW50OiBjb3VudGVycyhzZWN0aW9uLCBcIi5cIikgXCIuIFwiO1xuICAgIGNvdW50ZXItaW5jcmVtZW50OiBzZWN0aW9uO1xuICB9XG59XG5cbi8vIEludGVyYWN0aXZlIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2UgYW5jaG9yIG9yIGJ1dHRvbiBlbGVtZW50cyBpbnN0ZWFkIG9mIGBsaWBzIG9yIGBkaXZgcyB0byBjcmVhdGUgaW50ZXJhY3RpdmVcbi8vIGxpc3QgaXRlbXMuIEluY2x1ZGVzIGFuIGV4dHJhIGAuYWN0aXZlYCBtb2RpZmllciBjbGFzcyBmb3Igc2VsZWN0ZWQgaXRlbXMuXG5cbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBiZWNvbWUgMTAwJSBieSBkZWZhdWx0IHRob3VnaClcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBpbmhlcml0KVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDE7IC8vIFBsYWNlIGhvdmVyL2ZvY3VzIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnKTtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZyk7XG4gIH1cbn1cblxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIG9uIGBsaWBzIG9yIGBkaXZgcyB3aXRoaW4gdGhlIGAubGlzdC1ncm91cGAgcGFyZW50LlxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1iZyk7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItY29sb3IpO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtZGlzYWJsZWQtYmcpO1xuICB9XG5cbiAgLy8gSW5jbHVkZSBib3RoIGhlcmUgZm9yIGA8YT5gcyBhbmQgYDxidXR0b24+YHNcbiAgJi5hY3RpdmUge1xuICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3Mvc2VsZWN0b3Itbm8tcmVkdW5kYW50LW5lc3Rpbmctc2VsZWN0b3JcbiAgJiArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsXG4vL1xuLy8gQ2hhbmdlIHRoZSBsYXlvdXQgb2YgbGlzdCBncm91cCBpdGVtcyBmcm9tIHZlcnRpY2FsIChkZWZhdWx0KSB0byBob3Jpem9udGFsLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsI3skaW5maXh9IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1zdGFydC1yYWRpdXModmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cykpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtZW5kLXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1lbmQtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXN0YXJ0LXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuXG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZsdXNoIGxpc3QgaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGxpc3QgZ3JvdXAgaXRlbXMgZWRnZS10by1lZGdlLiBNb3N0XG4vLyB1c2VmdWwgd2l0aGluIG90aGVyIGNvbXBvbmVudHMgKGUuZy4sIGNhcmRzKS5cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBsaXN0LWdyb3VwLW1vZGlmaWVyc1xuLy8gTGlzdCBncm91cCBjb250ZXh0dWFsIHZhcmlhbnRzXG4vL1xuLy8gQWRkIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3Igb24gaW5kaXZpZHVhbCBpdGVtcy5cbi8vIE9yZ2FuaXphdGlvbmFsbHksIHRoaXMgbXVzdCBjb21lIGFmdGVyIHRoZSBgOmhvdmVyYCBzdGF0ZXMuXG5cbkBlYWNoICRzdGF0ZSBpbiBtYXAta2V5cygkdGhlbWUtY29sb3JzKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXRleHQtZW1waGFzaXMpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYmctc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1ib3JkZXItc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1ib3JkZXItc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6IHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJvcmRlci1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJnLXN1YnRsZSk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tdGV4dC1lbXBoYXNpcyk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXRleHQtZW1waGFzaXMpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGxpc3QtZ3JvdXAtbW9kaWZpZXJzXG4iLCIvLyBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgcHJvcGVydGllcyBpbmNsdWRlZCBmb3IgYnV0dG9uIHZlcnNpb24uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbi5idG4tY2xvc2Uge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgY2xvc2UtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWNvbG9yOiAjeyRidG4tY2xvc2UtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2UtYmc6ICN7IGVzY2FwZS1zdmcoJGJ0bi1jbG9zZS1iZykgfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLW9wYWNpdHk6ICN7JGJ0bi1jbG9zZS1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWhvdmVyLW9wYWNpdHk6ICN7JGJ0bi1jbG9zZS1ob3Zlci1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWZvY3VzLXNoYWRvdzogI3skYnRuLWNsb3NlLWZvY3VzLXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5OiAjeyRidG4tY2xvc2UtZm9jdXMtb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5OiAjeyRidG4tY2xvc2UtZGlzYWJsZWQtb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS13aGl0ZS1maWx0ZXI6ICN7JGJ0bi1jbG9zZS13aGl0ZS1maWx0ZXJ9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGNsb3NlLWNzcy12YXJzXG5cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHdpZHRoOiAkYnRuLWNsb3NlLXdpZHRoO1xuICBoZWlnaHQ6ICRidG4tY2xvc2UtaGVpZ2h0O1xuICBwYWRkaW5nOiAkYnRuLWNsb3NlLXBhZGRpbmcteSAkYnRuLWNsb3NlLXBhZGRpbmcteDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtY29sb3IpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWJnKSBjZW50ZXIgLyAkYnRuLWNsb3NlLXdpZHRoIGF1dG8gbm8tcmVwZWF0OyAvLyBpbmNsdWRlIHRyYW5zcGFyZW50IGZvciBidXR0b24gZWxlbWVudHNcbiAgYm9yZGVyOiAwOyAvLyBmb3IgYnV0dG9uIGVsZW1lbnRzXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoKTtcbiAgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1vcGFjaXR5KTtcblxuICAvLyBPdmVycmlkZSA8YT4ncyBob3ZlciBzdHlsZVxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtaG92ZXItb3BhY2l0eSk7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtZm9jdXMtc2hhZG93KTtcbiAgICBvcGFjaXR5OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWZvY3VzLW9wYWNpdHkpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5KTtcbiAgfVxufVxuXG5AbWl4aW4gYnRuLWNsb3NlLXdoaXRlKCkge1xuICBmaWx0ZXI6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2Utd2hpdGUtZmlsdGVyKTtcbn1cblxuLmJ0bi1jbG9zZS13aGl0ZSB7XG4gIEBpbmNsdWRlIGJ0bi1jbG9zZS13aGl0ZSgpO1xufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICAuYnRuLWNsb3NlIHtcbiAgICAgIEBpbmNsdWRlIGJ0bi1jbG9zZS13aGl0ZSgpO1xuICAgIH1cbiAgfVxufVxuIiwiLnRvYXN0IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvYXN0LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXRvYXN0LXppbmRleDogI3skemluZGV4LXRvYXN0fTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy14OiAjeyR0b2FzdC1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXk6ICN7JHRvYXN0LXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fXRvYXN0LXNwYWNpbmc6ICN7JHRvYXN0LXNwYWNpbmd9O1xuICAtLSN7JHByZWZpeH10b2FzdC1tYXgtd2lkdGg6ICN7JHRvYXN0LW1heC13aWR0aH07XG4gIEBpbmNsdWRlIHJmcygkdG9hc3QtZm9udC1zaXplLCAtLSN7JHByZWZpeH10b2FzdC1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH10b2FzdC1jb2xvcjogI3skdG9hc3QtY29sb3J9O1xuICAtLSN7JHByZWZpeH10b2FzdC1iZzogI3skdG9hc3QtYmFja2dyb3VuZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci13aWR0aDogI3skdG9hc3QtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLWNvbG9yOiAjeyR0b2FzdC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItcmFkaXVzOiAjeyR0b2FzdC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtYm94LXNoYWRvdzogI3skdG9hc3QtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1jb2xvcjogI3skdG9hc3QtaGVhZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWJnOiAjeyR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICN7JHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHRvYXN0LWNzcy12YXJzXG5cbiAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b2FzdC1tYXgtd2lkdGgpO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9dG9hc3QtZm9udC1zaXplKSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtY29sb3IpO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvYXN0LWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLWNvbG9yKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fXRvYXN0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItcmFkaXVzKSk7XG5cbiAgJi5zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJjpub3QoLnNob3cpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50b2FzdC1jb250YWluZXIge1xuICAtLSN7JHByZWZpeH10b2FzdC16aW5kZXg6ICN7JHppbmRleC10b2FzdH07XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtemluZGV4KTtcbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gID4gOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH10b2FzdC1zcGFjaW5nKTtcbiAgfVxufVxuXG4udG9hc3QtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXJhZGl1cykgLSB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXdpZHRoKSkpO1xuXG4gIC5idG4tY2xvc2Uge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXgpO1xuICB9XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteCk7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4vLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc3R1ZmZcblxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBtb2RhbC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1tb2RhbC16aW5kZXg6ICN7JHppbmRleC1tb2RhbH07XG4gIC0tI3skcHJlZml4fW1vZGFsLXdpZHRoOiAjeyRtb2RhbC1tZH07XG4gIC0tI3skcHJlZml4fW1vZGFsLXBhZGRpbmc6ICN7JG1vZGFsLWlubmVyLXBhZGRpbmd9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW46ICN7JG1vZGFsLWRpYWxvZy1tYXJnaW59O1xuICAtLSN7JHByZWZpeH1tb2RhbC1jb2xvcjogI3skbW9kYWwtY29udGVudC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWJnOiAjeyRtb2RhbC1jb250ZW50LWJnfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLWNvbG9yOiAjeyRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci13aWR0aDogI3skbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItcmFkaXVzOiAjeyRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1ib3gtc2hhZG93OiAjeyRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHN9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy14OiAjeyRtb2RhbC1oZWFkZXItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteTogI3skbW9kYWwtaGVhZGVyLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nOiAjeyRtb2RhbC1oZWFkZXItcGFkZGluZ307IC8vIFRvZG8gaW4gdjY6IFNwbGl0IHRoaXMgcGFkZGluZyBpbnRvIHggYW5kIHlcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogI3skbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICN7JG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1tb2RhbC10aXRsZS1saW5lLWhlaWdodDogI3skbW9kYWwtdGl0bGUtbGluZS1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItZ2FwOiAjeyRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW59O1xuICAtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYmc6ICN7JG1vZGFsLWZvb3Rlci1iZ307XG4gIC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICN7JG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAjeyRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRofTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtemluZGV4KTtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAvLyBQcmV2ZW50IENocm9tZSBvbiBXaW5kb3dzIGZyb20gYWRkaW5nIGEgZm9jdXMgb3V0bGluZS4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDk1MS5cbiAgb3V0bGluZTogMDtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvbid0IHVzZSBgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO2AgZHVlIHRvIGFcbiAgLy8gZ25hcmx5IGlPUyBTYWZhcmkgYnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MzQyXG4gIC8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTc2OTVcbn1cblxuLy8gU2hlbGwgZGl2IHRvIHBvc2l0aW9uIHRoZSBtb2RhbCB3aXRoIGJvdHRvbSBwYWRkaW5nXG4ubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luKTtcbiAgLy8gYWxsb3cgY2xpY2tzIHRvIHBhc3MgdGhyb3VnaCBmb3IgY3VzdG9tIGNsaWNrIGhhbmRsaW5nIHRvIGNsb3NlIG1vZGFsXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIC8vIFdoZW4gZmFkaW5nIGluIHRoZSBtb2RhbCwgYW5pbWF0ZSBpdCB0byBzbGlkZSBkb3duXG4gIC5tb2RhbC5mYWRlICYge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJG1vZGFsLXRyYW5zaXRpb24pO1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLWZhZGUtdHJhbnNmb3JtO1xuICB9XG4gIC5tb2RhbC5zaG93ICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNob3ctdHJhbnNmb3JtO1xuICB9XG5cbiAgLy8gV2hlbiB0cnlpbmcgdG8gY2xvc2UsIGFuaW1hdGUgZm9jdXMgdG8gc2NhbGVcbiAgLm1vZGFsLm1vZGFsLXN0YXRpYyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zY2FsZS10cmFuc2Zvcm07XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luKSAqIDIpO1xuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tI3skcHJlZml4fW1vZGFsLW1hcmdpbikgKiAyKTtcbn1cblxuLy8gQWN0dWFsIG1vZGFsXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7IC8vIEVuc3VyZSBgLm1vZGFsLWNvbnRlbnRgIGV4dGVuZHMgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIHBhcmVudCBgLm1vZGFsLWRpYWxvZ2BcbiAgLy8gY291bnRlcmFjdCB0aGUgcG9pbnRlci1ldmVudHM6IG5vbmU7IGluIHRoZSAubW9kYWwtZGlhbG9nXG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtY29sb3IpO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW1vZGFsLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3gtc2hhZG93KSk7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBtb2RhbC1iYWNrZHJvcC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1iYWNrZHJvcC16aW5kZXg6ICN7JHppbmRleC1tb2RhbC1iYWNrZHJvcH07XG4gIC0tI3skcHJlZml4fWJhY2tkcm9wLWJnOiAjeyRtb2RhbC1iYWNrZHJvcC1iZ307XG4gIC0tI3skcHJlZml4fWJhY2tkcm9wLW9wYWNpdHk6ICN7JG1vZGFsLWJhY2tkcm9wLW9wYWNpdHl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG1vZGFsLWJhY2tkcm9wLWNzcy12YXJzXG5cbiAgQGluY2x1ZGUgb3ZlcmxheS1iYWNrZHJvcCh2YXIoLS0jeyRwcmVmaXh9YmFja2Ryb3AtemluZGV4KSwgdmFyKC0tI3skcHJlZml4fWJhY2tkcm9wLWJnKSwgdmFyKC0tI3skcHJlZml4fWJhY2tkcm9wLW9wYWNpdHkpKTtcbn1cblxuLy8gTW9kYWwgaGVhZGVyXG4vLyBUb3Agc2VjdGlvbiBvZiB0aGUgbW9kYWwgdy8gdGl0bGUgYW5kIGRpc21pc3Ncbi5tb2RhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBQdXQgbW9kYWwgaGVhZGVyIGVsZW1lbnRzICh0aXRsZSBhbmQgZGlzbWlzcykgb24gb3Bwb3NpdGUgZW5kc1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuXG4gIC5idG4tY2xvc2Uge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXkpICogLjUpIGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXgpICogLjUpO1xuICAgIG1hcmdpbjogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteSkpIGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXgpKSBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy15KSkgYXV0bztcbiAgfVxufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtdGl0bGUtbGluZS1oZWlnaHQpO1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIHNvIHRoYXQgdGhlIGJvZHkgdGFrZSB1cCBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlXG4gIC8vIHdoZW4gdGhlcmUgc2hvdWxkIGJlIGEgZml4ZWQgaGVpZ2h0IG9uIGAubW9kYWwtZGlhbG9nYC5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1wYWRkaW5nKTtcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyB2ZXJ0aWNhbGx5IGNlbnRlclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAvLyBSaWdodCBhbGlnbiBidXR0b25zIHdpdGggZmxleCBwcm9wZXJ0eSBiZWNhdXNlIHRleHQtYWxpZ24gZG9lc24ndCB3b3JrIG9uIGZsZXggaXRlbXNcbiAgcGFkZGluZzogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtcGFkZGluZykgLSB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWdhcCkgKiAuNSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYmcpO1xuICBib3JkZXItdG9wOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuXG4gIC8vIFBsYWNlIG1hcmdpbiBiZXR3ZWVuIGZvb3RlciBlbGVtZW50c1xuICAvLyBUaGlzIHNvbHV0aW9uIGlzIGZhciBmcm9tIGlkZWFsIGJlY2F1c2Ugb2YgdGhlIHVuaXZlcnNhbCBzZWxlY3RvciB1c2FnZSxcbiAgLy8gYnV0IGlzIG5lZWRlZCB0byBmaXggaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDgwMFxuICA+ICoge1xuICAgIG1hcmdpbjogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWdhcCkgKiAuNSk7IC8vIFRvZG8gaW4gdjY6IHJlcGxhY2Ugd2l0aCBnYXAgb24gcGFyZW50IGNsYXNzXG4gIH1cbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC5tb2RhbCB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luOiAjeyRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXB9O1xuICAgIC0tI3skcHJlZml4fW1vZGFsLWJveC1zaGFkb3c6ICN7JG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cH07XG4gIH1cblxuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogdmFyKC0tI3skcHJlZml4fW1vZGFsLXdpZHRoKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAubW9kYWwtc20ge1xuICAgIC0tI3skcHJlZml4fW1vZGFsLXdpZHRoOiAjeyRtb2RhbC1zbX07XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLWxnfTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5tb2RhbC14bCB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLXhsfTtcbiAgfVxufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbW9kYWwtZnVsbHNjcmVlbi1sb29wXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgJHBvc3RmaXg6IGlmKCRpbmZpeCAhPSBcIlwiLCAkaW5maXggKyBcIi1kb3duXCIsIFwiXCIpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgIC5tb2RhbC1mdWxsc2NyZWVuI3skcG9zdGZpeH0ge1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgfVxuXG4gICAgICAubW9kYWwtaGVhZGVyLFxuICAgICAgLm1vZGFsLWZvb3RlciB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICB9XG5cbiAgICAgIC5tb2RhbC1ib2R5IHtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtZnVsbHNjcmVlbi1sb29wXG4iLCIvLyBTaGFyZWQgYmV0d2VlbiBtb2RhbHMgYW5kIG9mZmNhbnZhc2VzXG5AbWl4aW4gb3ZlcmxheS1iYWNrZHJvcCgkemluZGV4LCAkYmFja2Ryb3AtYmcsICRiYWNrZHJvcC1vcGFjaXR5KSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4O1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuc2hvdyB7IG9wYWNpdHk6ICRiYWNrZHJvcC1vcGFjaXR5OyB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCB0b29sdGlwLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXRvb2x0aXAtemluZGV4OiAjeyR6aW5kZXgtdG9vbHRpcH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtbWF4LXdpZHRoOiAjeyR0b29sdGlwLW1heC13aWR0aH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy14OiAjeyR0b29sdGlwLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy15OiAjeyR0b29sdGlwLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtbWFyZ2luOiAjeyR0b29sdGlwLW1hcmdpbn07XG4gIEBpbmNsdWRlIHJmcygkdG9vbHRpcC1mb250LXNpemUsIC0tI3skcHJlZml4fXRvb2x0aXAtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1jb2xvcjogI3skdG9vbHRpcC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtYmc6ICN7JHRvb2x0aXAtYmd9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLWJvcmRlci1yYWRpdXM6ICN7JHRvb2x0aXAtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtb3BhY2l0eTogI3skdG9vbHRpcC1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aDogI3skdG9vbHRpcC1hcnJvdy13aWR0aH07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAjeyR0b29sdGlwLWFycm93LWhlaWdodH07XG4gIC8vIHNjc3MtZG9jcy1lbmQgdG9vbHRpcC1jc3MtdmFyc1xuXG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLXppbmRleCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IHZhcigtLSN7JHByZWZpeH10b29sdGlwLW1hcmdpbik7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImAkdG9vbHRpcC1tYXJnaW5gXCIsIFwidjVcIiwgXCJ2NS54XCIsIHRydWUpO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWZvbnQtc2l6ZSkpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgdG9vbHRpcCdzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJi5zaG93IHsgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtb3BhY2l0eSk7IH1cblxuICAudG9vbHRpcC1hcnJvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC10b3AgLnRvb2x0aXAtYXJyb3cge1xuICBib3R0b206IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAmOjpiZWZvcmUge1xuICAgIHRvcDogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXRvb2x0aXAtZW5kIC50b29sdGlwLWFycm93IHtcbiAgbGVmdDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICByaWdodDogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgfVxufVxuXG4vKiBydGw6ZW5kOmlnbm9yZSAqL1xuXG4uYnMtdG9vbHRpcC1ib3R0b20gLnRvb2x0aXAtYXJyb3cge1xuICB0b3A6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAmOjpiZWZvcmUge1xuICAgIGJvdHRvbTogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IDAgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXRvb2x0aXAtc3RhcnQgLnRvb2x0aXAtYXJyb3cge1xuICByaWdodDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBsZWZ0OiAtMXB4O1xuICAgIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgMCBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cblxuLmJzLXRvb2x0aXAtYXV0byB7XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC10b3A7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtZW5kO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1ib3R0b207XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1zdGFydDtcbiAgfVxufVxuXG4vLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtbWF4LXdpZHRoKTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1ib3JkZXItcmFkaXVzKSk7XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igb3ZlcmZsb3ctd3JhcCAvIHdvcmQtd3JhcC5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbn1cbiIsIi5wb3BvdmVyIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvcG92ZXItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci16aW5kZXg6ICN7JHppbmRleC1wb3BvdmVyfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1tYXgtd2lkdGg6ICN7JHBvcG92ZXItbWF4LXdpZHRofTtcbiAgQGluY2x1ZGUgcmZzKCRwb3BvdmVyLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cG9wb3Zlci1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJnOiAjeyRwb3BvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGg6ICN7JHBvcG92ZXItYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItY29sb3I6ICN7JHBvcG92ZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItcmFkaXVzOiAjeyRwb3BvdmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm94LXNoYWRvdzogI3skcG9wb3Zlci1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAjeyRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICN7JHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkcG9wb3Zlci1oZWFkZXItZm9udC1zaXplLCAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1jb2xvcjogI3skcG9wb3Zlci1oZWFkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1iZzogI3skcG9wb3Zlci1oZWFkZXItYmd9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktcGFkZGluZy14OiAjeyRwb3BvdmVyLWJvZHktcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LXBhZGRpbmcteTogI3skcG9wb3Zlci1ib2R5LXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1jb2xvcjogI3skcG9wb3Zlci1ib2R5LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aDogI3skcG9wb3Zlci1hcnJvdy13aWR0aH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0OiAjeyRwb3BvdmVyLWFycm93LWhlaWdodH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItY29sb3IpO1xuICAvLyBzY3NzLWRvY3MtZW5kIHBvcG92ZXItY3NzLXZhcnNcblxuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci16aW5kZXgpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1tYXgtd2lkdGgpO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWZvbnQtc2l6ZSkpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgcG9wb3ZlcidzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJveC1zaGFkb3cpKTtcblxuICAucG9wb3Zlci1hcnJvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCk7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLXRvcCB7XG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIGJvdHRvbTogY2FsYygtMSAqICh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpKSAtIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXBvcG92ZXItZW5kIHtcbiAgPiAucG9wb3Zlci1hcnJvdyB7XG4gICAgbGVmdDogY2FsYygtMSAqICh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpKSAtIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpO1xuICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cblxuLmJzLXBvcG92ZXItYm90dG9tIHtcbiAgPiAucG9wb3Zlci1hcnJvdyB7XG4gICAgdG9wOiBjYWxjKC0xICogKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkpIC0gdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWJvcmRlcik7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYmcpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgd2lsbCByZW1vdmUgdGhlIHBvcG92ZXItaGVhZGVyJ3MgYm9yZGVyIGp1c3QgYmVsb3cgdGhlIGFycm93XG4gIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmJlZ2luOmlnbm9yZSAqL1xuLmJzLXBvcG92ZXItc3RhcnQge1xuICA+IC5wb3BvdmVyLWFycm93IHtcbiAgICByaWdodDogY2FsYygtMSAqICh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpKSAtIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpO1xuICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgMCBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cblxuLmJzLXBvcG92ZXItYXV0byB7XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci10b3A7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItZW5kO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1ib3R0b207XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1zdGFydDtcbiAgfVxufVxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIFJlYm9vdFxuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWJnKTtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9wb3Zlci1ib2R5IHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktY29sb3IpO1xufVxuIiwiLy8gTm90ZXMgb24gdGhlIGNsYXNzZXM6XG4vL1xuLy8gMS4gLmNhcm91c2VsLnBvaW50ZXItZXZlbnQgc2hvdWxkIGlkZWFsbHkgYmUgcGFuLXkgKHRvIGFsbG93IGZvciB1c2VycyB0byBzY3JvbGwgdmVydGljYWxseSlcbi8vICAgIGV2ZW4gd2hlbiB0aGVpciBzY3JvbGwgYWN0aW9uIHN0YXJ0ZWQgb24gYSBjYXJvdXNlbCwgYnV0IGZvciBjb21wYXRpYmlsaXR5ICh3aXRoIEZpcmVmb3gpXG4vLyAgICB3ZSdyZSBwcmV2ZW50aW5nIGFsbCBhY3Rpb25zIGluc3RlYWRcbi8vIDIuIFRoZSAuY2Fyb3VzZWwtaXRlbS1zdGFydCBhbmQgLmNhcm91c2VsLWl0ZW0tZW5kIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hlcmVcbi8vICAgIHRoZSBhY3RpdmUgc2xpZGUgaXMgaGVhZGluZy5cbi8vIDMuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbSBpcyB0aGUgY3VycmVudCBzbGlkZS5cbi8vIDQuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1zdGFydCBhbmQgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWVuZCBpcyB0aGUgY3VycmVudFxuLy8gICAgc2xpZGUgaW4gaXRzIGluLXRyYW5zaXRpb24gc3RhdGUuIE9ubHkgb25lIG9mIHRoZXNlIG9jY3VycyBhdCBhIHRpbWUuXG4vLyA1LiAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tc3RhcnQgYW5kIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1lbmRcbi8vICAgIGlzIHRoZSB1cGNvbWluZyBzbGlkZSBpbiB0cmFuc2l0aW9uLlxuXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC10cmFuc2l0aW9uKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dDpub3QoLmNhcm91c2VsLWl0ZW0tc3RhcnQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWVuZCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0tcHJldjpub3QoLmNhcm91c2VsLWl0ZW0tZW5kKSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1zdGFydCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSB0cmFuc2l0aW9uc1xuLy9cblxuLmNhcm91c2VsLWZhZGUge1xuICAuY2Fyb3VzZWwtaXRlbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbiAgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLXN0YXJ0LFxuICAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tZW5kIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tc3RhcnQsXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1lbmQge1xuICAgIHotaW5kZXg6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMHMgJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24pO1xuICB9XG59XG5cblxuLy9cbi8vIExlZnQvcmlnaHQgY29udHJvbHMgZm9yIG5hdlxuLy9cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxO1xuICAvLyBVc2UgZmxleCBmb3IgYWxpZ25tZW50ICgxLTMpXG4gIGRpc3BsYXk6IGZsZXg7IC8vIDEuIGFsbG93IGZsZXggc3R5bGVzXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIDIuIHZlcnRpY2FsbHkgY2VudGVyIGNvbnRlbnRzXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyAzLiBob3Jpem9udGFsbHkgY2VudGVyIGNvbnRlbnRzXG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uKTtcblxuICAvLyBIb3Zlci9mb2N1cyBzdGF0ZVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTtcbiAgfVxufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldiB7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoJGJsYWNrLCAuMjUpLCByZ2JhKCRibGFjaywgLjAwMSkpLCBudWxsKTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYmEoJGJsYWNrLCAuMjUpLCByZ2JhKCRibGFjaywgLjAwMSkpLCBudWxsKTtcbn1cblxuLy8gSWNvbnMgZm9yIHdpdGhpblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgaGVpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xufVxuXG4vKiBydGw6b3B0aW9uczoge1xuICBcImF1dG9SZW5hbWVcIjogdHJ1ZSxcbiAgXCJzdHJpbmdNYXBcIjpbIHtcbiAgICBcIm5hbWVcIiAgICA6IFwicHJldi1uZXh0XCIsXG4gICAgXCJzZWFyY2hcIiAgOiBcInByZXZcIixcbiAgICBcInJlcGxhY2VcIiA6IFwibmV4dFwiXG4gIH0gXVxufSAqL1xuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmcpO1xufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmcpO1xufVxuXG4vLyBPcHRpb25hbCBpbmRpY2F0b3IgcGlwcy9jb250cm9sc1xuLy9cbi8vIEFkZCBhIGNvbnRhaW5lciAoc3VjaCBhcyBhIGxpc3QpIHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGFuIGl0ZW0gKGlkZWFsbHkgYSBmb2N1c2FibGUgY29udHJvbCxcbi8vIGxpa2UgYSBidXR0b24pIHdpdGggZGF0YS1icy10YXJnZXQgZm9yIGVhY2ggc2xpZGUgeW91ciBjYXJvdXNlbCBob2xkcy5cblxuLmNhcm91c2VsLWluZGljYXRvcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICAvLyBVc2UgdGhlIC5jYXJvdXNlbC1jb250cm9sJ3Mgd2lkdGggYXMgbWFyZ2luIHNvIHdlIGRvbid0IG92ZXJsYXkgdGhvc2VcbiAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuXG4gIFtkYXRhLWJzLXRhcmdldF0ge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoO1xuICAgIGhlaWdodDogJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJvcmRlcjogMDtcbiAgICAvLyBVc2UgdHJhbnNwYXJlbnQgYm9yZGVycyB0byBpbmNyZWFzZSB0aGUgaGl0IGFyZWEgYnkgMTBweCBvbiB0b3AgYW5kIGJvdHRvbS5cbiAgICBib3JkZXItdG9wOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvcGFjaXR5OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLW9wYWNpdHk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtb3BhY2l0eTtcbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vL1xuLy9cblxuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAqIC41O1xuICBib3R0b206ICRjYXJvdXNlbC1jYXB0aW9uLXNwYWNlcjtcbiAgbGVmdDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgKiAuNTtcbiAgcGFkZGluZy10b3A6ICRjYXJvdXNlbC1jYXB0aW9uLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRjYXJvdXNlbC1jYXB0aW9uLXBhZGRpbmcteTtcbiAgY29sb3I6ICRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8vIERhcmsgbW9kZSBjYXJvdXNlbFxuXG5AbWl4aW4gY2Fyb3VzZWwtZGFyaygpIHtcbiAgLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLFxuICAuY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICAgIGZpbHRlcjogJGNhcm91c2VsLWRhcmstY29udHJvbC1pY29uLWZpbHRlcjtcbiAgfVxuXG4gIC5jYXJvdXNlbC1pbmRpY2F0b3JzIFtkYXRhLWJzLXRhcmdldF0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1kYXJrLWluZGljYXRvci1hY3RpdmUtYmc7XG4gIH1cblxuICAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1kYXJrLWNhcHRpb24tY29sb3I7XG4gIH1cbn1cblxuLmNhcm91c2VsLWRhcmsge1xuICBAaW5jbHVkZSBjYXJvdXNlbC1kYXJrKCk7XG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIEBpZiAkY29sb3ItbW9kZS10eXBlID09IFwibWVkaWEtcXVlcnlcIiB7XG4gICAgICAuY2Fyb3VzZWwge1xuICAgICAgICBAaW5jbHVkZSBjYXJvdXNlbC1kYXJrKCk7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAuY2Fyb3VzZWwsXG4gICAgICAmLmNhcm91c2VsIHtcbiAgICAgICAgQGluY2x1ZGUgY2Fyb3VzZWwtZGFyaygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFJvdGF0aW5nIGJvcmRlclxuLy9cblxuLnNwaW5uZXItZ3Jvdyxcbi5zcGlubmVyLWJvcmRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogdmFyKC0tI3skcHJlZml4fXNwaW5uZXItdmVydGljYWwtYWxpZ24pO1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQpIGxpbmVhciBpbmZpbml0ZSB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tbmFtZSk7XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWJvcmRlci1rZXlmcmFtZXNcbkBrZXlmcmFtZXMgc3Bpbm5lci1ib3JkZXIge1xuICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZykgI3tcIi8qIHJ0bDppZ25vcmUgKi9cIn07IH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci1ib3JkZXIta2V5ZnJhbWVzXG5cbi5zcGlubmVyLWJvcmRlciB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWJvcmRlci1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoOiAjeyRzcGlubmVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQ6ICN7JHNwaW5uZXItaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjogI3skc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbn07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYm9yZGVyLXdpZHRoOiAjeyRzcGlubmVyLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLXNwZWVkOiAjeyRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLW5hbWU6IHNwaW5uZXItYm9yZGVyO1xuICAvLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItYm9yZGVyLWNzcy12YXJzXG5cbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1ib3JkZXItd2lkdGgpIHNvbGlkIGN1cnJlbnRjb2xvcjtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnNwaW5uZXItYm9yZGVyLXNtIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItYm9yZGVyLXNtLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGgtc219O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHQtc219O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWJvcmRlci13aWR0aDogI3skc3Bpbm5lci1ib3JkZXItd2lkdGgtc219O1xuICAvLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItYm9yZGVyLXNtLWNzcy12YXJzXG59XG5cbi8vXG4vLyBHcm93aW5nIGNpcmNsZVxuLy9cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItZ3Jvdy1rZXlmcmFtZXNcbkBrZXlmcmFtZXMgc3Bpbm5lci1ncm93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLWdyb3cta2V5ZnJhbWVzXG5cbi5zcGlubmVyLWdyb3cge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci1ncm93LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXZlcnRpY2FsLWFsaWduOiAjeyRzcGlubmVyLXZlcnRpY2FsLWFsaWdufTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6ICN7JHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkfTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tbmFtZTogc3Bpbm5lci1ncm93O1xuICAvLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItZ3Jvdy1jc3MtdmFyc1xuXG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNwaW5uZXItZ3Jvdy1zbSB7XG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGgtc219O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHQtc219O1xufVxuXG5AaWYgJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbiB7XG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLnNwaW5uZXItYm9yZGVyLFxuICAgIC5zcGlubmVyLWdyb3cge1xuICAgICAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6ICN7JHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkICogMn07XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuJW9mZmNhbnZhcy1jc3MtdmFycyB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBvZmZjYW52YXMtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXppbmRleDogI3skemluZGV4LW9mZmNhbnZhc307XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy13aWR0aDogI3skb2ZmY2FudmFzLWhvcml6b250YWwtd2lkdGh9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0OiAjeyRvZmZjYW52YXMtdmVydGljYWwtaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteDogI3skb2ZmY2FudmFzLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXk6ICN7JG9mZmNhbnZhcy1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtY29sb3I6ICN7JG9mZmNhbnZhcy1jb2xvcn07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1iZzogI3skb2ZmY2FudmFzLWJnLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aDogI3skb2ZmY2FudmFzLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3I6ICN7JG9mZmNhbnZhcy1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYm94LXNoYWRvdzogI3skb2ZmY2FudmFzLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtdHJhbnNpdGlvbjogI3t0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0fTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXRpdGxlLWxpbmUtaGVpZ2h0OiAjeyRvZmZjYW52YXMtdGl0bGUtbGluZS1oZWlnaHR9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG9mZmNhbnZhcy1jc3MtdmFyc1xufVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gIC5vZmZjYW52YXMjeyRpbmZpeH0ge1xuICAgIEBleHRlbmQgJW9mZmNhbnZhcy1jc3MtdmFycztcbiAgfVxufVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gIC5vZmZjYW52YXMjeyRpbmZpeH0ge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmV4dCkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy16aW5kZXgpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1jb2xvcik7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJnKTtcbiAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJveC1zaGFkb3cpKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy10cmFuc2l0aW9uKSk7XG5cbiAgICAgICYub2ZmY2FudmFzLXN0YXJ0IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy13aWR0aCk7XG4gICAgICAgIGJvcmRlci1yaWdodDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgIH1cblxuICAgICAgJi5vZmZjYW52YXMtZW5kIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtd2lkdGgpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgfVxuXG4gICAgICAmLm9mZmNhbnZhcy10b3Age1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0KTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgIH1cblxuICAgICAgJi5vZmZjYW52YXMtYm90dG9tIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1oZWlnaHQpO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICB9XG5cbiAgICAgICYuc2hvd2luZyxcbiAgICAgICYuc2hvdzpub3QoLmhpZGluZykge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYuc2hvd2luZyxcbiAgICAgICYuaGlkaW5nLFxuICAgICAgJi5zaG93IHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIikge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmV4dCkge1xuICAgICAgICAtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0OiBhdXRvO1xuICAgICAgICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICAgICAgLy8gUmVzZXQgYGJhY2tncm91bmQtY29sb3JgIGluIGNhc2UgYC5iZy0qYCBjbGFzc2VzIGFyZSB1c2VkIGluIG9mZmNhbnZhc1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm9mZmNhbnZhcy1iYWNrZHJvcCB7XG4gIEBpbmNsdWRlIG92ZXJsYXktYmFja2Ryb3AoJHppbmRleC1vZmZjYW52YXMtYmFja2Ryb3AsICRvZmZjYW52YXMtYmFja2Ryb3AtYmcsICRvZmZjYW52YXMtYmFja2Ryb3Atb3BhY2l0eSk7XG59XG5cbi5vZmZjYW52YXMtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpO1xuXG4gIC5idG4tY2xvc2Uge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpICogLjUpIGNhbGModmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpICogLjUpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpKTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy15KSk7XG4gIH1cbn1cblxuLm9mZmNhbnZhcy10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXRpdGxlLWxpbmUtaGVpZ2h0KTtcbn1cblxuLm9mZmNhbnZhcy1ib2R5IHtcbiAgZmxleC1ncm93OiAxO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuIiwiLnBsYWNlaG9sZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4taGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogd2FpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICBvcGFjaXR5OiAkcGxhY2Vob2xkZXItb3BhY2l0eS1tYXg7XG5cbiAgJi5idG46OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4ucGxhY2Vob2xkZXIteHMge1xuICBtaW4taGVpZ2h0OiAuNmVtO1xufVxuXG4ucGxhY2Vob2xkZXItc20ge1xuICBtaW4taGVpZ2h0OiAuOGVtO1xufVxuXG4ucGxhY2Vob2xkZXItbGcge1xuICBtaW4taGVpZ2h0OiAxLjJlbTtcbn1cblxuLy8gQW5pbWF0aW9uXG4ucGxhY2Vob2xkZXItZ2xvdyB7XG4gIC5wbGFjZWhvbGRlciB7XG4gICAgYW5pbWF0aW9uOiBwbGFjZWhvbGRlci1nbG93IDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcGxhY2Vob2xkZXItZ2xvdyB7XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluO1xuICB9XG59XG5cbi5wbGFjZWhvbGRlci13YXZlIHtcbiAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KDEzMGRlZywgJGJsYWNrIDU1JSwgcmdiYSgwLCAwLCAwLCAoMSAtICRwbGFjZWhvbGRlci1vcGFjaXR5LW1pbikpIDc1JSwgJGJsYWNrIDk1JSk7XG4gIG1hc2stc2l6ZTogMjAwJSAxMDAlO1xuICBhbmltYXRpb246IHBsYWNlaG9sZGVyLXdhdmUgMnMgbGluZWFyIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHBsYWNlaG9sZGVyLXdhdmUge1xuICAxMDAlIHtcbiAgICBtYXNrLXBvc2l0aW9uOiAtMjAwJSAwJTtcbiAgfVxufVxuIiwiLy8gVXRpbGl0eSBnZW5lcmF0b3Jcbi8vIFVzZWQgdG8gZ2VuZXJhdGUgdXRpbGl0aWVzICYgcHJpbnQgdXRpbGl0aWVzXG5AbWl4aW4gZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4OiBcIlwiLCAkaXMtcmZzLW1lZGlhLXF1ZXJ5OiBmYWxzZSkge1xuICAkdmFsdWVzOiBtYXAtZ2V0KCR1dGlsaXR5LCB2YWx1ZXMpO1xuXG4gIC8vIElmIHRoZSB2YWx1ZXMgYXJlIGEgbGlzdCBvciBzdHJpbmcsIGNvbnZlcnQgaXQgaW50byBhIG1hcFxuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSBcInN0cmluZ1wiIG9yIHR5cGUtb2YobnRoKCR2YWx1ZXMsIDEpKSAhPSBcImxpc3RcIiB7XG4gICAgJHZhbHVlczogemlwKCR2YWx1ZXMsICR2YWx1ZXMpO1xuICB9XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICR2YWx1ZXMge1xuICAgICRwcm9wZXJ0aWVzOiBtYXAtZ2V0KCR1dGlsaXR5LCBwcm9wZXJ0eSk7XG5cbiAgICAvLyBNdWx0aXBsZSBwcm9wZXJ0aWVzIGFyZSBwb3NzaWJsZSwgZm9yIGV4YW1wbGUgd2l0aCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsIG1hcmdpbnMgb3IgcGFkZGluZ3NcbiAgICBAaWYgdHlwZS1vZigkcHJvcGVydGllcykgPT0gXCJzdHJpbmdcIiB7XG4gICAgICAkcHJvcGVydGllczogYXBwZW5kKCgpLCAkcHJvcGVydGllcyk7XG4gICAgfVxuXG4gICAgLy8gVXNlIGN1c3RvbSBjbGFzcyBpZiBwcmVzZW50XG4gICAgJHByb3BlcnR5LWNsYXNzOiBpZihtYXAtaGFzLWtleSgkdXRpbGl0eSwgY2xhc3MpLCBtYXAtZ2V0KCR1dGlsaXR5LCBjbGFzcyksIG50aCgkcHJvcGVydGllcywgMSkpO1xuICAgICRwcm9wZXJ0eS1jbGFzczogaWYoJHByb3BlcnR5LWNsYXNzID09IG51bGwsIFwiXCIsICRwcm9wZXJ0eS1jbGFzcyk7XG5cbiAgICAvLyBVc2UgY3VzdG9tIENTUyB2YXJpYWJsZSBuYW1lIGlmIHByZXNlbnQsIG90aGVyd2lzZSBkZWZhdWx0IHRvIGBjbGFzc2BcbiAgICAkY3NzLXZhcmlhYmxlLW5hbWU6IGlmKG1hcC1oYXMta2V5KCR1dGlsaXR5LCBjc3MtdmFyaWFibGUtbmFtZSksIG1hcC1nZXQoJHV0aWxpdHksIGNzcy12YXJpYWJsZS1uYW1lKSwgbWFwLWdldCgkdXRpbGl0eSwgY2xhc3MpKTtcblxuICAgIC8vIFN0YXRlIHBhcmFtcyB0byBnZW5lcmF0ZSBwc2V1ZG8tY2xhc3Nlc1xuICAgICRzdGF0ZTogaWYobWFwLWhhcy1rZXkoJHV0aWxpdHksIHN0YXRlKSwgbWFwLWdldCgkdXRpbGl0eSwgc3RhdGUpLCAoKSk7XG5cbiAgICAkaW5maXg6IGlmKCRwcm9wZXJ0eS1jbGFzcyA9PSBcIlwiIGFuZCBzdHItc2xpY2UoJGluZml4LCAxLCAxKSA9PSBcIi1cIiwgc3RyLXNsaWNlKCRpbmZpeCwgMiksICRpbmZpeCk7XG5cbiAgICAvLyBEb24ndCBwcmVmaXggaWYgdmFsdWUga2V5IGlzIG51bGwgKGUuZy4gd2l0aCBzaGFkb3cgY2xhc3MpXG4gICAgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyOiBpZigka2V5LCBpZigkcHJvcGVydHktY2xhc3MgPT0gXCJcIiBhbmQgJGluZml4ID09IFwiXCIsIFwiXCIsIFwiLVwiKSArICRrZXksIFwiXCIpO1xuXG4gICAgQGlmIG1hcC1nZXQoJHV0aWxpdHksIHJmcykge1xuICAgICAgLy8gSW5zaWRlIHRoZSBtZWRpYSBxdWVyeVxuICAgICAgQGlmICRpcy1yZnMtbWVkaWEtcXVlcnkge1xuICAgICAgICAkdmFsOiByZnMtdmFsdWUoJHZhbHVlKTtcblxuICAgICAgICAvLyBEbyBub3QgcmVuZGVyIGFueXRoaW5nIGlmIGZsdWlkIGFuZCBub24gZmx1aWQgdmFsdWVzIGFyZSB0aGUgc2FtZVxuICAgICAgICAkdmFsdWU6IGlmKCR2YWwgPT0gcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZSksIG51bGwsICR2YWwpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkdmFsdWU6IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICRpcy1jc3MtdmFyOiBtYXAtZ2V0KCR1dGlsaXR5LCBjc3MtdmFyKTtcbiAgICAkaXMtbG9jYWwtdmFyczogbWFwLWdldCgkdXRpbGl0eSwgbG9jYWwtdmFycyk7XG4gICAgJGlzLXJ0bDogbWFwLWdldCgkdXRpbGl0eSwgcnRsKTtcblxuICAgIEBpZiAkdmFsdWUgIT0gbnVsbCB7XG4gICAgICBAaWYgJGlzLXJ0bCA9PSBmYWxzZSB7XG4gICAgICAgIC8qIHJ0bDpiZWdpbjpyZW1vdmUgKi9cbiAgICAgIH1cblxuICAgICAgQGlmICRpcy1jc3MtdmFyIHtcbiAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9I3skY3NzLXZhcmlhYmxlLW5hbWV9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkcHNldWRvIGluICRzdGF0ZSB7XG4gICAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfS0jeyRwc2V1ZG99OiN7JHBzZXVkb30ge1xuICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skY3NzLXZhcmlhYmxlLW5hbWV9OiAjeyR2YWx1ZX07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfSB7XG4gICAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICAgICAgIEBpZiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgIEBlYWNoICRsb2NhbC12YXIsICR2YXJpYWJsZSBpbiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skbG9jYWwtdmFyfTogI3skdmFyaWFibGV9O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRwc2V1ZG8gaW4gJHN0YXRlIHtcbiAgICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9LSN7JHBzZXVkb306I3skcHNldWRvfSB7XG4gICAgICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAgICAgICBAaWYgJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgIEBlYWNoICRsb2NhbC12YXIsICR2YXJpYWJsZSBpbiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgICAgICAtLSN7JHByZWZpeH0jeyRsb2NhbC12YXJ9OiAjeyR2YXJpYWJsZX07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkaXMtcnRsID09IGZhbHNlIHtcbiAgICAgICAgLyogcnRsOmVuZDpyZW1vdmUgKi9cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIExvb3Agb3ZlciBlYWNoIGJyZWFrcG9pbnRcbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG5cbiAgLy8gR2VuZXJhdGUgbWVkaWEgcXVlcnkgaWYgbmVlZGVkXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC8vIExvb3Agb3ZlciBlYWNoIHV0aWxpdHkgcHJvcGVydHlcbiAgICBAZWFjaCAka2V5LCAkdXRpbGl0eSBpbiAkdXRpbGl0aWVzIHtcbiAgICAgIC8vIFRoZSB1dGlsaXR5IGNhbiBiZSBkaXNhYmxlZCB3aXRoIGBmYWxzZWAsIHRodXMgY2hlY2sgaWYgdGhlIHV0aWxpdHkgaXMgYSBtYXAgZmlyc3RcbiAgICAgIC8vIE9ubHkgcHJvY2VlZCBpZiByZXNwb25zaXZlIG1lZGlhIHF1ZXJpZXMgYXJlIGVuYWJsZWQgb3IgaWYgaXQncyB0aGUgYmFzZSBtZWRpYSBxdWVyeVxuICAgICAgQGlmIHR5cGUtb2YoJHV0aWxpdHkpID09IFwibWFwXCIgYW5kIChtYXAtZ2V0KCR1dGlsaXR5LCByZXNwb25zaXZlKSBvciAkaW5maXggPT0gXCJcIikge1xuICAgICAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlsaXR5KCR1dGlsaXR5LCAkaW5maXgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBSRlMgcmVzY2FsaW5nXG5AbWVkaWEgKG1pbi13aWR0aDogJHJmcy1tcS12YWx1ZSkge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGlmIChtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkgPCAkcmZzLWJyZWFrcG9pbnQpIHtcbiAgICAgIC8vIExvb3Agb3ZlciBlYWNoIHV0aWxpdHkgcHJvcGVydHlcbiAgICAgIEBlYWNoICRrZXksICR1dGlsaXR5IGluICR1dGlsaXRpZXMge1xuICAgICAgICAvLyBUaGUgdXRpbGl0eSBjYW4gYmUgZGlzYWJsZWQgd2l0aCBgZmFsc2VgLCB0aHVzIGNoZWNrIGlmIHRoZSB1dGlsaXR5IGlzIGEgbWFwIGZpcnN0XG4gICAgICAgIC8vIE9ubHkgcHJvY2VlZCBpZiByZXNwb25zaXZlIG1lZGlhIHF1ZXJpZXMgYXJlIGVuYWJsZWQgb3IgaWYgaXQncyB0aGUgYmFzZSBtZWRpYSBxdWVyeVxuICAgICAgICBAaWYgdHlwZS1vZigkdXRpbGl0eSkgPT0gXCJtYXBcIiBhbmQgbWFwLWdldCgkdXRpbGl0eSwgcmZzKSBhbmQgKG1hcC1nZXQoJHV0aWxpdHksIHJlc3BvbnNpdmUpIG9yICRpbmZpeCA9PSBcIlwiKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4LCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFByaW50IHV0aWxpdGllc1xuQG1lZGlhIHByaW50IHtcbiAgQGVhY2ggJGtleSwgJHV0aWxpdHkgaW4gJHV0aWxpdGllcyB7XG4gICAgLy8gVGhlIHV0aWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggYGZhbHNlYCwgdGh1cyBjaGVjayBpZiB0aGUgdXRpbGl0eSBpcyBhIG1hcCBmaXJzdFxuICAgIC8vIFRoZW4gY2hlY2sgaWYgdGhlIHV0aWxpdHkgbmVlZHMgcHJpbnQgc3R5bGVzXG4gICAgQGlmIHR5cGUtb2YoJHV0aWxpdHkpID09IFwibWFwXCIgYW5kIG1hcC1nZXQoJHV0aWxpdHksIHByaW50KSA9PSB0cnVlIHtcbiAgICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksIFwiLXByaW50XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLypcbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdFTkVSQUwgU0VUVElOR1Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlYWQgbW9yZSBhYm91dCBzZXR0aW5ncyBhbmRcblVTV0RTIHN0eWxlIHRva2VucyBpbiB0aGUgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vZGVzaWduc3lzdGVtLmRpZ2l0YWwuZ292L2Rlc2lnbi10b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOm1hcFwiO1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuSW1hZ2UgcGF0aFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVsYXRpdmUgaW1hZ2UgZmlsZSBwYXRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4kdGhlbWUtaW1hZ2UtcGF0aDogXCIuLi9pbWdcIiAhZGVmYXVsdDtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNob3cgY29tcGlsZSB3YXJuaW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2hvdyBTYXNzIHdhcm5pbmdzIHdoZW4gZnVuY3Rpb25zIGFuZFxubWl4aW5zIHVzZSBub24tc3RhbmRhcmQgdG9rZW5zLlxuQU5EXG5TaG93IHVwZGF0ZXMgYW5kIG5vdGlmaWNhdGlvbnMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4kdGhlbWUtc2hvdy1jb21waWxlLXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuJHRoZW1lLXNob3ctbm90aWZpY2F0aW9uczogdHJ1ZSAhZGVmYXVsdDtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk5hbWVzcGFjZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuJHRoZW1lLW5hbWVzcGFjZTogKCkgIWRlZmF1bHQ7XG4kdGhlbWUtbmFtZXNwYWNlLWNvbXBsZXRlOiBtYXAuZGVlcC1tZXJnZShcbiAgKFxuICAgIFwiZ3JpZFwiOiAoXG4gICAgICBuYW1lc3BhY2U6IFwiZ3JpZC1cIixcbiAgICAgIG91dHB1dDogdHJ1ZSxcbiAgICApLFxuICAgIFwidXRpbGl0eVwiOiAoXG4gICAgICBuYW1lc3BhY2U6IFwidS1cIixcbiAgICAgIG91dHB1dDogZmFsc2UsXG4gICAgKSxcbiAgKSxcbiAgJHRoZW1lLW5hbWVzcGFjZVxuKSAhZGVmYXVsdDtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblByZWZpeCBzZXBhcmF0b3Jcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNldCB0aGUgY2hhcmFjdGVyIHRoZSBzZXBhcmF0ZXNcbnJlc3BvbnNpdmUgYW5kIHN0YXRlIHByZWZpeGVzIGZyb20gdGhlXG5tYWluIGNsYXNzIG5hbWUuXG5UaGUgZGVmYXVsdCAoXCI6XCIpIG5lZWRzIHRvIGJlIHByZWNlZGVkXG5ieSB0d28gYmFja3NsYXNoZXMgdG8gYmUgcHJvcGVybHlcbmVzY2FwZWQuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4kdGhlbWUtcHJlZml4LXNlcGFyYXRvcjogXCJcXFxcOlwiICFkZWZhdWx0O1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuTGF5b3V0IGdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNob3VsZCB0aGUgbGF5b3V0IGdyaWQgY2xhc3NlcyBvdXRwdXRcbndpdGggIWltcG9ydGFudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuJHRoZW1lLWxheW91dC1ncmlkLXVzZS1pbXBvcnRhbnQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQm9yZGVyIGJveCBzaXppbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbldoZW4gc2V0IHRvIHRydWUsIHNldHMgdGhlIGJveC1zaXppbmdcbnByb3BlcnR5IG9mIGFsbCBzaXRlIGVsZW1lbnRzIHRvXG5gYm9yZGVyLWJveGAuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4kdGhlbWUtZ2xvYmFsLWJvcmRlci1ib3gtc2l6aW5nOiB0cnVlICFkZWZhdWx0O1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRm9jdXMgc3R5bGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4kdGhlbWUtZm9jdXMtY29sb3I6IFwiYmx1ZS00MHZcIiAhZGVmYXVsdDtcbiR0aGVtZS1mb2N1cy1vZmZzZXQ6IDAgIWRlZmF1bHQ7XG4kdGhlbWUtZm9jdXMtc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJHRoZW1lLWZvY3VzLXdpZHRoOiAwLjUgIWRlZmF1bHQ7XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5JY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuJHRoZW1lLWljb24taW1hZ2Utc2l6ZTogMiAhZGVmYXVsdDtcbiIsIi8qXG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UWVBPR1JBUEhZIFNFVFRJTkdTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZWFkIG1vcmUgYWJvdXQgc2V0dGluZ3MgYW5kXG5VU1dEUyB0eXBvZ3JhcGh5IHRva2VucyBpbiB0aGUgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vZGVzaWduc3lzdGVtLmRpZ2l0YWwuZ292L2Rlc2lnbi10b2tlbnMvdHlwZXNldHRpbmcvb3ZlcnZpZXcvXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUm9vdCBmb250IHNpemVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblNldHRpbmcgJHRoZW1lLXJlc3BlY3QtdXNlci1mb250LXNpemUgdG9cbnRydWUgc2V0cyB0aGUgcm9vdCBmb250IHNpemUgdG8gMTAwJSBhbmRcbnVzZXMgZW1zIGZvciBtZWRpYSBxdWVyaWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kdGhlbWUtcm9vdC1mb250LXNpemUgb25seSBhcHBsaWVzIHdoZW5cbiR0aGVtZS1yZXNwZWN0LXVzZXItZm9udC1zaXplIGlzIHNldCB0b1xuZmFsc2UuXG5cblRoaXMgd2lsbCBzZXQgdGhlIHJvb3QgZm9udCBzaXplXG5hcyBhIHNwZWNpZmljIHB4IHZhbHVlIGFuZCB1c2UgcHggdmFsdWVzXG5mb3IgbWVkaWEgcXVlcmllcy5cblxuQWNjZXB0cyB0cnVlIG9yIGZhbHNlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4kdGhlbWUtcmVzcGVjdC11c2VyLWZvbnQtc2l6ZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gJHRoZW1lLXJvb3QtZm9udC1zaXplIG9ubHkgYXBwbGllcyB3aGVuXG4vLyAkdGhlbWUtcmVzcGVjdC11c2VyLWZvbnQtc2l6ZSBpcyBzZXQgdG9cbi8vIGZhbHNlLlxuXG4vLyBUaGlzIHdpbGwgc2V0IHRoZSByb290IGZvbnQgc2l6ZVxuLy8gYXMgYSBzcGVjaWZpYyBweCB2YWx1ZSBhbmQgdXNlIHB4IHZhbHVlc1xuLy8gZm9yIG1lZGlhIHF1ZXJpZXMuXG5cbi8vIEFjY2VwdHMgdmFsdWVzIGluIHB4XG5cbiR0aGVtZS1yb290LWZvbnQtc2l6ZTogMTBweCAhZGVmYXVsdDtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdsb2JhbCBzdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZHMgYmFzaWMgc3R5bGluZyBmb3IgdGhlIGZvbGxvd2luZ1xudW5jbGFzc2VkIGVsZW1lbnRzOlxuXG4tIHBhcmFncmFwaDogcGFyYWdyYXBoIHRleHRcbi0gbGluazogbGlua3Ncbi0gY29udGVudDogcGFyYWdyYXBoIHRleHQsIGxpbmtzLFxuICBoZWFkaW5ncywgbGlzdHMsIGFuZCB0YWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbiR0aGVtZS1nbG9iYWwtcGFyYWdyYXBoLXN0eWxlczogZmFsc2UgIWRlZmF1bHQ7XG4kdGhlbWUtZ2xvYmFsLWxpbmstc3R5bGVzOiBmYWxzZSAhZGVmYXVsdDtcbiR0aGVtZS1nbG9iYWwtY29udGVudC1zdHlsZXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQnJvc3dlciBjb21wYXRpYmlsaXR5IG1vZGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbldoZW4gdHJ1ZSwgb3V0cHV0cyB3b2ZmIGFuZCB0dGYgZm9udCBcbmZvcm1hdHMgaW4gYWRkaXRpb24gdG8gd29mZjJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbiR0aGVtZS1mb250LWJyb3dzZXItY29tcGF0aWJpbGl0eTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Gb250IHBhdGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlbGF0aXZlIGZvbnQgZmlsZSBwYXRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4kdGhlbWUtZm9udC1wYXRoOiBcIi4uL2ZvbnRzXCIgIWRlZmF1bHQ7XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DdXN0b20gdHlwZWZhY2UgdG9rZW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BZGQgYSBuZXcgY3VzdG9tIHR5cGVmYWNlIHRva2VuIGlmXG55b3VyIHByb2plY3QgdXNlcyBhIHR5cGVmYWNlIG5vdCBhbHJlYWR5XG5kZWZpbmVkIGJ5IFVTV0RTLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVVNXRFMgZGVmaW5lcyB0aGUgZm9sbG93aW5nIHRva2Vuc1xuYnkgZGVmYXVsdDpcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbidnZW9yZ2lhJ1xuJ2hlbHZldGljYSdcbidtZXJyaXdlYXRoZXInXG4nb3Blbi1zYW5zJ1xuJ3B1YmxpYy1zYW5zJ1xuJ3JvYm90by1tb25vJ1xuJ3NvdXJjZS1zYW5zLXBybydcbidzeXN0ZW0nXG4ndGFob21hJ1xuJ3ZlcmRhbmEnXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BZGQgYXMgbWFueSBuZXcgdG9rZW5zIGFzIHlvdSBoYXZlXG5jdXN0b20gdHlwZWZhY2VzLiBSZWZlcmVuY2UgeW91ciBuZXdcbnRva2VuKHMpIGluIHRoZSB0eXBlLWJhc2VkIGZvbnQgc2V0dGluZ3NcbnVzaW5nIHRoZSBxdW90ZWQgbmFtZSBvZiB0aGUgdG9rZW4uXG5cbkZvciBleGFtcGxlOlxuXG4kdGhlbWUtZm9udC10eXBlLWNvbmQ6ICdleGFtcGxlLWZvbnQtdG9rZW4nO1xuXG5kaXNwbGF5LW5hbWU6XG5UaGUgZGlzcGxheSBuYW1lIG9mIHlvdXIgZm9udFxuXG5jYXAtaGVpZ2h0OlxuVGhlIGhlaWdodCBvZiBhIDUwMHB4IGBOYCBpbiBTa2V0Y2hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbllvdSBzaG91bGQgY2hhbmdlIGBleGFtcGxlLVtzdHlsZV0tdG9rZW5gXG5uYW1lcyB0byBzb21ldGhpbmcgbW9yZSBkZXNjcmlwdGl2ZS5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbiR0aGVtZS10eXBlZmFjZS10b2tlbnM6IChcbiAgZXhhbXBsZS1zZXJpZi10b2tlbjogKFxuICAgIGRpc3BsYXktbmFtZTogXCJFeGFtcGxlIFNlcmlmIERpc3BsYXkgTmFtZVwiLFxuICAgIGNhcC1oZWlnaHQ6IDM2NHB4LFxuICApLFxuICBleGFtcGxlLXNhbnMtdG9rZW46IChcbiAgICBkaXNwbGF5LW5hbWU6IFwiRXhhbXBsZSBTYW5zIERpc3BsYXkgTmFtZVwiLFxuICAgIGNhcC1oZWlnaHQ6IDM2NHB4LFxuICApLFxuKSAhZGVmYXVsdDtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblR5cGUtYmFzZWQgZm9udCBzZXR0aW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2V0IHRoZSB0eXBlLWJhc2VkIHRva2VucyBmb3IgeW91clxucHJvamVjdCBmcm9tIHRoZSBmb2xsb3dpbmcgdG9rZW5zLFxub3IgZnJvbSBhbnkgbmV3IGZvbnQgdG9rZW5zIHlvdSBhZGRlZCBpblxuJHRoZW1lLXR5cGVmYWNlLXRva2Vucy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbidnZW9yZ2lhJ1xuJ2hlbHZldGljYSdcbidtZXJyaXdlYXRoZXInXG4nb3Blbi1zYW5zJ1xuJ3B1YmxpYy1zYW5zJ1xuJ3JvYm90by1tb25vJ1xuJ3NvdXJjZS1zYW5zLXBybydcbidzeXN0ZW0nXG4ndGFob21hJ1xuJ3ZlcmRhbmEnXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4vLyBjb25kZW5zZWRcbiR0aGVtZS1mb250LXR5cGUtY29uZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIGljb25cbiR0aGVtZS1mb250LXR5cGUtaWNvbjogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIGxhbmd1YWdlLXNwZWNpZmljXG4kdGhlbWUtZm9udC10eXBlLWxhbmc6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBtb25vc3BhY2VcbiR0aGVtZS1mb250LXR5cGUtbW9ubzogXCJyb2JvdG8tbW9ub1wiICFkZWZhdWx0O1xuXG4vLyBzYW5zLXNlcmlmXG4kdGhlbWUtZm9udC10eXBlLXNhbnM6IFwic291cmNlLXNhbnMtcHJvXCIgIWRlZmF1bHQ7XG5cbi8vIHNlcmlmXG4kdGhlbWUtZm9udC10eXBlLXNlcmlmOiBcIm1lcnJpd2VhdGhlclwiICFkZWZhdWx0O1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ3VzdG9tIGZvbnQgc3RhY2tzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5BZGQgY3VzdG9tIGZvbnQgc3RhY2tzIHRvIGFueSBvZiB0aGVcbnR5cGUtYmFzZWQgZm9udHMuIEFueSBVU1dEUyB0eXBlZmFjZVxudG9rZW4gYWxyZWFkeSBoYXMgYSBkZWZhdWx0IHN0YWNrLlxuXG5DdXN0b20gc3RhY2tzIGRvbid0IG5lZWQgdG8gaW5jbHVkZSB0aGVcbmZvbnQncyBkaXNwbGF5IG5hbWUuIEl0IHdpbGxcbmF1dG9tYXRpY2FsbHkgYXBwZWFyIGF0IHRoZSBzdGFydCBvZlxudGhlIHN0YWNrLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRXhhbXBsZTpcbiR0aGVtZS1mb250LXR5cGUtc2FuczogJ3NvdXJjZS1zYW5zLXBybyc7XG4kdGhlbWUtZm9udC1zYW5zLWN1c3RvbS1zdGFjazogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zO1xuXG5PdXRwdXQ6XG5mb250LWZhbWlseTogXCJTb3VyY2UgU2FucyBQcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zO1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuJHRoZW1lLWZvbnQtY29uZC1jdXN0b20tc3RhY2s6IGZhbHNlICFkZWZhdWx0O1xuJHRoZW1lLWZvbnQtaWNvbi1jdXN0b20tc3RhY2s6IGZhbHNlICFkZWZhdWx0O1xuJHRoZW1lLWZvbnQtbGFuZy1jdXN0b20tc3RhY2s6IGZhbHNlICFkZWZhdWx0O1xuJHRoZW1lLWZvbnQtbW9uby1jdXN0b20tc3RhY2s6IGZhbHNlICFkZWZhdWx0O1xuJHRoZW1lLWZvbnQtc2Fucy1jdXN0b20tc3RhY2s6IGZhbHNlICFkZWZhdWx0O1xuJHRoZW1lLWZvbnQtc2VyaWYtY3VzdG9tLXN0YWNrOiBmYWxzZSAhZGVmYXVsdDtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBhbnkgY3VzdG9tIGZvbnQgc291cmNlIGZpbGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5JZiB5b3Ugd2FudCBVU1dEUyB0byBnZW5lcmF0ZSBhZGRpdGlvbmFsXG5AZm9udC1mYWNlIGRlY2xhcmF0aW9ucywgYWRkIHlvdXIgZm9udFxuZGF0YSBiZWxvdywgZm9sbG93aW5nIHRoZSBleGFtcGxlIHRoYXRcbmZvbGxvd3MuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VU1dEUyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcyBAZm9udC1mYWNlXG5kZWNsYXJhdGlvbnMgZm9yIHRoZSBmb2xsb3dpbmdcblxuJ21lcnJpd2VhdGhlcidcbidwdWJsaWMtc2Fucydcbidyb2JvdG8tbW9ubydcbidzb3VyY2Utc2Fucy1wcm8nXG5cblRoZXNlIHR5cGVmYWNlcyBub3QgcmVxdWlyZSBjdXN0b21cbnNvdXJjZSBmaWxlcy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkVYQU1QTEVcblxuLSBkaXI6XG4gIERpcmVjdG9yeSByZWxhdGl2ZSB0byAkdGhlbWUtZm9udC1wYXRoXG4tIFRoaXMgZGlyZWN0b3J5IHNob3VsZCBpbmNsdWRlIGZvbnRzIHNhdmVkIGFzXG4gIC53b2ZmMlxuICBFeGFtcGxlU2VyaWYtTm9ybWFsLndvZmYyXG5cbiR0aGVtZS1mb250LXNlcmlmLWN1c3RvbS1zcmM6IChcbiAgZGlyOiAnY3VzdG9tL2V4YW1wbGUtc2VyaWYnLFxuICByb21hbjogKFxuICAgIDEwMDogZmFsc2UsXG4gICAgMjAwOiBmYWxzZSxcbiAgICAzMDA6ICdFeGFtcGxlU2VyaWYtTGlnaHQnLFxuICAgIDQwMDogJ0V4YW1wbGVTZXJpZi1Ob3JtYWwnLFxuICAgIDUwMDogZmFsc2UsXG4gICAgNjAwOiBmYWxzZSxcbiAgICA3MDA6ICdFeGFtcGxlU2VyaWYtQm9sZCcsXG4gICAgODAwOiBmYWxzZSxcbiAgICA5MDA6IGZhbHNlLFxuICApLFxuICBpdGFsaWM6IChcbiAgICAxMDA6IGZhbHNlLFxuICAgIDIwMDogZmFsc2UsXG4gICAgMzAwOiAnRXhhbXBsZVNlcmlmLUxpZ2h0SXRhbGljJyxcbiAgICA0MDA6ICdFeGFtcGxlU2VyaWYtSXRhbGljJyxcbiAgICA1MDA6IGZhbHNlLFxuICAgIDYwMDogZmFsc2UsXG4gICAgNzAwOiAnRXhhbXBsZVNlcmlmLUJvbGRJdGFsaWMnLFxuICAgIDgwMDogZmFsc2UsXG4gICAgOTAwOiBmYWxzZSxcbiAgKSxcbik7XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4kdGhlbWUtZm9udC1jb25kLWN1c3RvbS1zcmM6IGZhbHNlICFkZWZhdWx0O1xuJHRoZW1lLWZvbnQtaWNvbi1jdXN0b20tc3JjOiBmYWxzZSAhZGVmYXVsdDtcbiR0aGVtZS1mb250LWxhbmctY3VzdG9tLXNyYzogZmFsc2UgIWRlZmF1bHQ7XG4kdGhlbWUtZm9udC1tb25vLWN1c3RvbS1zcmM6IGZhbHNlICFkZWZhdWx0O1xuJHRoZW1lLWZvbnQtc2Fucy1jdXN0b20tc3JjOiBmYWxzZSAhZGVmYXVsdDtcbiR0aGVtZS1mb250LXNlcmlmLWN1c3RvbS1zcmM6IGZhbHNlICFkZWZhdWx0O1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUm9sZS1iYXNlZCBmb250IHNldHRpbmdzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TZXQgdGhlIHJvbGUtYmFzZWQgdG9rZW5zIGZvciB5b3VyXG5wcm9qZWN0IGZyb20gdGhlIGZvbGxvd2luZyBmb250LXR5cGVcbnRva2Vucy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbidjb25kJ1xuJ2ljb24nXG4nbGFuZydcbidtb25vJ1xuJ3NhbnMnXG4nc2VyaWYnXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4kdGhlbWUtZm9udC1yb2xlLXVpOiBcInNhbnNcIiAhZGVmYXVsdDtcbiR0aGVtZS1mb250LXJvbGUtaGVhZGluZzogXCJzZXJpZlwiICFkZWZhdWx0O1xuJHRoZW1lLWZvbnQtcm9sZS1ib2R5OiBcInNhbnNcIiAhZGVmYXVsdDtcbiR0aGVtZS1mb250LXJvbGUtY29kZTogXCJtb25vXCIgIWRlZmF1bHQ7XG4kdGhlbWUtZm9udC1yb2xlLWFsdDogXCJzZXJpZlwiICFkZWZhdWx0O1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVHlwZSBzY2FsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVmaW5lIHlvdXIgcHJvamVjdCdzIHR5cGUgc2NhbGUgdXNpbmdcbnZhbHVlcyBmcm9tIHRoZSBVU1dEUyBzeXN0ZW0gdHlwZSBzY2FsZVxuXG4xLTIwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4kdGhlbWUtdHlwZS1zY2FsZS0zeHM6IDIgIWRlZmF1bHQ7XG4kdGhlbWUtdHlwZS1zY2FsZS0yeHM6IDMgIWRlZmF1bHQ7XG4kdGhlbWUtdHlwZS1zY2FsZS14czogNCAhZGVmYXVsdDtcbiR0aGVtZS10eXBlLXNjYWxlLXNtOiA1ICFkZWZhdWx0O1xuJHRoZW1lLXR5cGUtc2NhbGUtbWQ6IDYgIWRlZmF1bHQ7XG4kdGhlbWUtdHlwZS1zY2FsZS1sZzogOSAhZGVmYXVsdDtcbiR0aGVtZS10eXBlLXNjYWxlLXhsOiAxMiAhZGVmYXVsdDtcbiR0aGVtZS10eXBlLXNjYWxlLTJ4bDogMTQgIWRlZmF1bHQ7XG4kdGhlbWUtdHlwZS1zY2FsZS0zeGw6IDE1ICFkZWZhdWx0O1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRm9udCB3ZWlnaHRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Bc3NpZ24gd2VpZ2h0cyAxMDAtOTAwXG5PciB1c2UgYGZhbHNlYCBmb3IgdW5uZWVkZWQgd2VpZ2h0cy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbiR0aGVtZS1mb250LXdlaWdodC10aGluOiBmYWxzZSAhZGVmYXVsdDtcbiR0aGVtZS1mb250LXdlaWdodC1saWdodDogMzAwICFkZWZhdWx0O1xuJHRoZW1lLWZvbnQtd2VpZ2h0LW5vcm1hbDogNDAwICFkZWZhdWx0O1xuJHRoZW1lLWZvbnQtd2VpZ2h0LW1lZGl1bTogZmFsc2UgIWRlZmF1bHQ7XG4kdGhlbWUtZm9udC13ZWlnaHQtc2VtaWJvbGQ6IGZhbHNlICFkZWZhdWx0O1xuJHRoZW1lLWZvbnQtd2VpZ2h0LWJvbGQ6IDcwMCAhZGVmYXVsdDtcbiR0aGVtZS1mb250LXdlaWdodC1oZWF2eTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIElmIFVTV0RTIGlzIGdlbmVyYXRpbmcgeW91ciBAZm9udC1mYWNlIHJ1bGVzLFxuLy8gc2hvdWxkIHdlIGdlbmVyYXRlIGFsbCBhdmFpbGFibGUgd2VpZ2h0c1xuLy8gcmVnYXJkbGVzcyBvZiB0aGUgYXNzaWdubWVudHMgYWJvdmU/XG5cbiR0aGVtZS1nZW5lcmF0ZS1hbGwtd2VpZ2h0czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZW5lcmFsIHR5cG9ncmFwaHkgc2V0dGluZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblR5cGUgc2NhbGUgdG9rZW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5taWNybzogICAgICAxMHB4XG4xOiAgICAgICAgICAxMnB4XG4yOiAgICAgICAgICAxM3B4XG4zOiAgICAgICAgICAxNHB4XG40OiAgICAgICAgICAxNXB4XG41OiAgICAgICAgICAxNnB4XG42OiAgICAgICAgICAxN3B4XG43OiAgICAgICAgICAxOHB4XG44OiAgICAgICAgICAyMHB4XG45OiAgICAgICAgICAyMnB4XG4xMDogICAgICAgICAyNHB4XG4xMTogICAgICAgICAyOHB4XG4xMjogICAgICAgICAzMnB4XG4xMzogICAgICAgICAzNnB4XG4xNDogICAgICAgICA0MHB4XG4xNTogICAgICAgICA0OHB4XG4xNjogICAgICAgICA1NnB4XG4xNzogICAgICAgICA2NHB4XG4xODogICAgICAgICA4MHB4XG4xOTogICAgICAgICAxMjBweFxuMjA6ICAgICAgICAgMTQwcHhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkxpbmUgaGVpZ2h0IHRva2Vuc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMTogICAgMVxuMjogICAgMS4xNVxuMzogICAgMS4zNVxuNDogICAgMS41XG41OiAgICAxLjYyXG42OiAgICAxLjc1XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Gb250IHJvbGUgdG9rZW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ndWknXG4naGVhZGluZydcbidib2R5J1xuJ2NvZGUnXG4nYWx0J1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuTWVhc3VyZSAobWF4LXdpZHRoKSB0b2tlbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjE6ICAgICAgIDQ0ZXhcbjI6ICAgICAgIDYwZXhcbjM6ICAgICAgIDY0ZXhcbjQ6ICAgICAgIDY4ZXhcbjU6ICAgICAgIDc0ZXhcbjY6ICAgICAgIDg4ZXhcbm5vbmU6ICAgIG5vbmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbi8vIEJvZHkgc2V0dGluZ3MgYXJlIHRoZSBlcXVpdmFsZW50IG9mIHNldHRpbmcgdGhlIDxib2R5PiBlbGVtZW50XG4kdGhlbWUtYm9keS1mb250LWZhbWlseTogXCJib2R5XCIgIWRlZmF1bHQ7XG4kdGhlbWUtYm9keS1mb250LXNpemU6IFwic21cIiAhZGVmYXVsdDtcbiR0aGVtZS1ib2R5LWxpbmUtaGVpZ2h0OiA1ICFkZWZhdWx0O1xuXG4vLyBJZiB0cnVlLCBleHBsaWNpdGx5IHN0eWxlIHRoZSA8Ym9keT4gZWxlbWVudCB3aXRoIHRoZSBiYXNlIHN0eWxlc1xuJHRoZW1lLXN0eWxlLWJvZHktZWxlbWVudDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEhlYWRpbmdzXG4kdGhlbWUtaDEtZm9udC1zaXplOiBcIjJ4bFwiICFkZWZhdWx0O1xuJHRoZW1lLWgyLWZvbnQtc2l6ZTogXCJ4bFwiICFkZWZhdWx0O1xuJHRoZW1lLWgzLWZvbnQtc2l6ZTogXCJsZ1wiICFkZWZhdWx0O1xuJHRoZW1lLWg0LWZvbnQtc2l6ZTogXCJzbVwiICFkZWZhdWx0O1xuJHRoZW1lLWg1LWZvbnQtc2l6ZTogXCJ4c1wiICFkZWZhdWx0O1xuJHRoZW1lLWg2LWZvbnQtc2l6ZTogXCIzeHNcIiAhZGVmYXVsdDtcbiR0aGVtZS1oZWFkaW5nLWxpbmUtaGVpZ2h0OiAyICFkZWZhdWx0O1xuJHRoZW1lLXNtYWxsLWZvbnQtc2l6ZTogXCIyeHNcIiAhZGVmYXVsdDtcbiR0aGVtZS1kaXNwbGF5LWZvbnQtc2l6ZTogXCIzeGxcIiAhZGVmYXVsdDtcblxuLy8gVGV4dCBhbmQgcHJvc2VcbiR0aGVtZS10ZXh0LW1lYXN1cmUtbmFycm93OiAxICFkZWZhdWx0O1xuJHRoZW1lLXRleHQtbWVhc3VyZTogNCAhZGVmYXVsdDtcbiR0aGVtZS10ZXh0LW1lYXN1cmUtd2lkZTogNiAhZGVmYXVsdDtcbiR0aGVtZS1wcm9zZS1mb250LWZhbWlseTogXCJib2R5XCIgIWRlZmF1bHQ7XG5cbi8vIExlYWQgdGV4dFxuJHRoZW1lLWxlYWQtZm9udC1mYW1pbHk6IFwiaGVhZGluZ1wiICFkZWZhdWx0O1xuJHRoZW1lLWxlYWQtZm9udC1zaXplOiBcImxnXCIgIWRlZmF1bHQ7XG4kdGhlbWUtbGVhZC1saW5lLWhlaWdodDogNiAhZGVmYXVsdDtcbiR0aGVtZS1sZWFkLW1lYXN1cmU6IDYgIWRlZmF1bHQ7XG5cbi8vIE1hcmdpblxuJHRoZW1lLWhlYWRpbmctbWFyZ2luLXRvcDogMS41ZW0gIWRlZmF1bHQ7XG4kdGhlbWUtcGFyYWdyYXBoLW1hcmdpbi10b3A6IDFlbSAhZGVmYXVsdDtcbiIsIi8qXG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DT0xPUiBTRVRUSU5HU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVhZCBtb3JlIGFib3V0IHNldHRpbmdzIGFuZFxuVVNXRFMgY29sb3IgdG9rZW5zIGluIHRoZSBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9kZXNpZ25zeXN0ZW0uZGlnaXRhbC5nb3YvZGVzaWduLXRva2Vucy9jb2xvclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuJHRlc3Qtc3lzdGVtLWNvbG9yLXRva2VuczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UaGVtZSBwYWxldHRlIGNvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuLy8gQmFzZSBjb2xvcnNcbiR0aGVtZS1jb2xvci1iYXNlLWZhbWlseTogXCJncmF5LWNvb2xcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1iYXNlLWxpZ2h0ZXN0OiBcImdyYXktNVwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWJhc2UtbGlnaHRlcjogXCJncmF5LWNvb2wtMTBcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1iYXNlLWxpZ2h0OiBcImdyYXktY29vbC0zMFwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWJhc2U6IFwiZ3JheS1jb29sLTUwXCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItYmFzZS1kYXJrOiBcImdyYXktY29vbC02MFwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWJhc2UtZGFya2VyOiBcImdyYXktY29vbC03MFwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWJhc2UtZGFya2VzdDogXCJncmF5LTkwXCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItYmFzZS1pbms6IFwiZ3JheS05MFwiICFkZWZhdWx0O1xuXG4vLyBQcmltYXJ5IGNvbG9yc1xuJHRoZW1lLWNvbG9yLXByaW1hcnktZmFtaWx5OiBcImJsdWVcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1wcmltYXJ5LWxpZ2h0ZXN0OiBmYWxzZSAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1wcmltYXJ5LWxpZ2h0ZXI6IFwiYmx1ZS0xMFwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLXByaW1hcnktbGlnaHQ6IFwiYmx1ZS0zMFwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLXByaW1hcnk6IFwiYmx1ZS02MHZcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1wcmltYXJ5LXZpdmlkOiBcImJsdWUtd2FybS02MHZcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1wcmltYXJ5LWRhcms6IFwiYmx1ZS13YXJtLTcwdlwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLXByaW1hcnktZGFya2VyOiBcImJsdWUtd2FybS04MHZcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1wcmltYXJ5LWRhcmtlc3Q6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBTZWNvbmRhcnkgY29sb3JzXG4kdGhlbWUtY29sb3Itc2Vjb25kYXJ5LWZhbWlseTogXCJyZWRcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1zZWNvbmRhcnktbGlnaHRlc3Q6IGZhbHNlICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLXNlY29uZGFyeS1saWdodGVyOiBcInJlZC1jb29sLTEwXCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3Itc2Vjb25kYXJ5LWxpZ2h0OiBcInJlZC0zMFwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLXNlY29uZGFyeTogXCJyZWQtNTBcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1zZWNvbmRhcnktdml2aWQ6IFwicmVkLWNvb2wtNTB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3Itc2Vjb25kYXJ5LWRhcms6IFwicmVkLTYwdlwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLXNlY29uZGFyeS1kYXJrZXI6IFwicmVkLTcwdlwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLXNlY29uZGFyeS1kYXJrZXN0OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gQWNjZW50IHdhcm0gY29sb3JzXG4kdGhlbWUtY29sb3ItYWNjZW50LXdhcm0tZmFtaWx5OiBcIm9yYW5nZVwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWFjY2VudC13YXJtLWxpZ2h0ZXN0OiBmYWxzZSAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1hY2NlbnQtd2FybS1saWdodGVyOiBcIm9yYW5nZS0xMFwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWFjY2VudC13YXJtLWxpZ2h0OiBcIm9yYW5nZS0yMHZcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1hY2NlbnQtd2FybTogXCJvcmFuZ2UtMzB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItYWNjZW50LXdhcm0tZGFyazogXCJvcmFuZ2UtNTB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItYWNjZW50LXdhcm0tZGFya2VyOiBcIm9yYW5nZS02MFwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWFjY2VudC13YXJtLWRhcmtlc3Q6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBBY2NlbnQgY29vbCBjb2xvcnNcbiR0aGVtZS1jb2xvci1hY2NlbnQtY29vbC1mYW1pbHk6IFwiYmx1ZS1jb29sXCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItYWNjZW50LWNvb2wtbGlnaHRlc3Q6IGZhbHNlICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWFjY2VudC1jb29sLWxpZ2h0ZXI6IFwiYmx1ZS1jb29sLTV2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItYWNjZW50LWNvb2wtbGlnaHQ6IFwiYmx1ZS1jb29sLTIwdlwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWFjY2VudC1jb29sOiBcImN5YW4tMzB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItYWNjZW50LWNvb2wtZGFyazogXCJibHVlLWNvb2wtNDB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItYWNjZW50LWNvb2wtZGFya2VyOiBcImJsdWUtY29vbC02MHZcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1hY2NlbnQtY29vbC1kYXJrZXN0OiBmYWxzZSAhZGVmYXVsdDtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblN0YXRlIHBhbGV0dGUgY29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4vLyBFcnJvciBjb2xvcnNcbiR0aGVtZS1jb2xvci1lcnJvci1mYW1pbHk6IFwicmVkLXdhcm1cIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1lcnJvci1saWdodGVyOiBcInJlZC13YXJtLTEwXCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItZXJyb3ItbGlnaHQ6IFwicmVkLXdhcm0tMzB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItZXJyb3I6IFwicmVkLXdhcm0tNTB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItZXJyb3ItZGFyazogXCJyZWQtNjB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItZXJyb3ItZGFya2VyOiBcInJlZC03MFwiICFkZWZhdWx0O1xuXG4vLyBXYXJuaW5nIGNvbG9yc1xuJHRoZW1lLWNvbG9yLXdhcm5pbmctZmFtaWx5OiBcImdvbGRcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci13YXJuaW5nLWxpZ2h0ZXI6IFwieWVsbG93LTVcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci13YXJuaW5nLWxpZ2h0OiBcInllbGxvdy0xMHZcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci13YXJuaW5nOiBcImdvbGQtMjB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3Itd2FybmluZy1kYXJrOiBcImdvbGQtMzB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3Itd2FybmluZy1kYXJrZXI6IFwiZ29sZC01MHZcIiAhZGVmYXVsdDtcblxuLy8gU3VjY2VzcyBjb2xvcnNcbiR0aGVtZS1jb2xvci1zdWNjZXNzLWZhbWlseTogXCJncmVlbi1jb29sXCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3Itc3VjY2Vzcy1saWdodGVyOiBcImdyZWVuLWNvb2wtNVwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLXN1Y2Nlc3MtbGlnaHQ6IFwiZ3JlZW4tY29vbC0yMHZcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1zdWNjZXNzOiBcImdyZWVuLWNvb2wtNDB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3Itc3VjY2Vzcy1kYXJrOiBcImdyZWVuLWNvb2wtNTB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3Itc3VjY2Vzcy1kYXJrZXI6IFwiZ3JlZW4tY29vbC02MHZcIiAhZGVmYXVsdDtcblxuLy8gSW5mbyBjb2xvcnNcbiR0aGVtZS1jb2xvci1pbmZvLWZhbWlseTogXCJjeWFuXCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItaW5mby1saWdodGVyOiBcImN5YW4tNVwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWluZm8tbGlnaHQ6IFwiY3lhbi0yMFwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWluZm86IFwiY3lhbi0zMHZcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1pbmZvLWRhcms6IFwiY3lhbi00MHZcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1pbmZvLWRhcmtlcjogXCJibHVlLWNvb2wtNjBcIiAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZWQgY29sb3JzXG4kdGhlbWUtY29sb3ItZGlzYWJsZWQtZmFtaWx5OiBcImdyYXlcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1kaXNhYmxlZC1saWdodGVyOiBcImdyYXktMjBcIiAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvci1kaXNhYmxlZC1saWdodDogXCJncmF5LTQwXCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItZGlzYWJsZWQ6IFwiZ3JheS01MFwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWRpc2FibGVkLWRhcms6IFwiZ3JheS03MFwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yLWRpc2FibGVkLWRhcmtlcjogXCJncmF5LTkwXCIgIWRlZmF1bHQ7XG5cbi8vIEVtZXJnZW5jeSBjb2xvcnNcbiR0aGVtZS1jb2xvci1lbWVyZ2VuY3k6IFwicmVkLXdhcm0tNjB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3ItZW1lcmdlbmN5LWRhcms6IFwicmVkLXdhcm0tODBcIiAhZGVmYXVsdDtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdlbmVyYWwgY29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4vLyBCb2R5XG4kdGhlbWUtYm9keS1iYWNrZ3JvdW5kLWNvbG9yOiBcIndoaXRlXCIgIWRlZmF1bHQ7XG5cbi8vIFRleHRcbiR0aGVtZS10ZXh0LWNvbG9yOiBcImlua1wiICFkZWZhdWx0O1xuJHRoZW1lLXRleHQtcmV2ZXJzZS1jb2xvcjogXCJ3aGl0ZVwiICFkZWZhdWx0O1xuXG4vLyBMaW5rc1xuJHRoZW1lLWxpbmstY29sb3I6IFwicHJpbWFyeVwiICFkZWZhdWx0O1xuJHRoZW1lLWxpbmstdmlzaXRlZC1jb2xvcjogXCJ2aW9sZXQtNzB2XCIgIWRlZmF1bHQ7XG4kdGhlbWUtbGluay1ob3Zlci1jb2xvcjogXCJwcmltYXJ5LWRhcmtcIiAhZGVmYXVsdDtcbiR0aGVtZS1saW5rLWFjdGl2ZS1jb2xvcjogXCJwcmltYXJ5LWRhcmtlclwiICFkZWZhdWx0O1xuJHRoZW1lLWxpbmstcmV2ZXJzZS1jb2xvcjogXCJiYXNlLWxpZ2h0ZXJcIiAhZGVmYXVsdDtcbiR0aGVtZS1saW5rLXJldmVyc2UtaG92ZXItY29sb3I6IFwiYmFzZS1saWdodGVzdFwiICFkZWZhdWx0O1xuJHRoZW1lLWxpbmstcmV2ZXJzZS1hY3RpdmUtY29sb3I6IFwid2hpdGVcIiAhZGVmYXVsdDtcbiIsIkB1c2UgXCJzZXR0aW5ncy1nZW5lcmFsXCIgYXMgZ2VuZXJhbDtcblxuLypcbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogKiAqICogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNPTVBPTkVOVCBTRVRUSU5HU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVhZCBtb3JlIGFib3V0IHNldHRpbmdzIGFuZFxuVVNXRFMgc3R5bGUgdG9rZW5zIGluIHRoZSBkb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9kZXNpZ25zeXN0ZW0uZGlnaXRhbC5nb3YvZGVzaWduLXRva2Vuc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuLy8gQWNjb3JkaW9uXG4kdGhlbWUtYWNjb3JkaW9uLWJhY2tncm91bmQtY29sb3I6IFwiZGVmYXVsdFwiICFkZWZhdWx0O1xuJHRoZW1lLWFjY29yZGlvbi1ib3JkZXItY29sb3I6IFwiYmFzZS1saWdodGVzdFwiICFkZWZhdWx0O1xuJHRoZW1lLWFjY29yZGlvbi1ib3JkZXItd2lkdGg6IDAuNSAhZGVmYXVsdDtcbiR0aGVtZS1hY2NvcmRpb24tYnV0dG9uLWJhY2tncm91bmQtY29sb3I6IFwiYmFzZS1saWdodGVzdFwiICFkZWZhdWx0O1xuJHRoZW1lLWFjY29yZGlvbi1mb250LWZhbWlseTogXCJib2R5XCIgIWRlZmF1bHQ7XG5cbi8vIEFsZXJ0XG4kdGhlbWUtYWxlcnQtYmFyLXdpZHRoOiAxICFkZWZhdWx0O1xuJHRoZW1lLWFsZXJ0LWZvbnQtZmFtaWx5OiBcInVpXCIgIWRlZmF1bHQ7XG4kdGhlbWUtYWxlcnQtaWNvbi1zaXplOiA0ICFkZWZhdWx0O1xuJHRoZW1lLWFsZXJ0LXBhZGRpbmcteDogMi41ICFkZWZhdWx0O1xuJHRoZW1lLWFsZXJ0LXBhZGRpbmcteTogMiAhZGVmYXVsdDtcbiR0aGVtZS1hbGVydC10ZXh0LWNvbG9yOiBkZWZhdWx0ICFkZWZhdWx0O1xuJHRoZW1lLWFsZXJ0LXRleHQtcmV2ZXJzZS1jb2xvcjogZGVmYXVsdCAhZGVmYXVsdDtcbiR0aGVtZS1hbGVydC1saW5rLWNvbG9yOiBkZWZhdWx0ICFkZWZhdWx0O1xuJHRoZW1lLWFsZXJ0LWxpbmstcmV2ZXJzZS1jb2xvcjogZGVmYXVsdCAhZGVmYXVsdDtcblxuLy8gQmFubmVyXG4kdGhlbWUtYmFubmVyLWJhY2tncm91bmQtY29sb3I6IFwiYmFzZS1saWdodGVzdFwiICFkZWZhdWx0O1xuJHRoZW1lLWJhbm5lci1mb250LWZhbWlseTogXCJ1aVwiICFkZWZhdWx0O1xuJHRoZW1lLWJhbm5lci1saW5rLWNvbG9yOiBkZWZhdWx0ICFkZWZhdWx0O1xuJHRoZW1lLWJhbm5lci1tYXgtd2lkdGg6IFwiZGVza3RvcFwiICFkZWZhdWx0O1xuXG4vLyBCcmVhZGNydW1iXG4kdGhlbWUtYnJlYWRjcnVtYi1iYWNrZ3JvdW5kLWNvbG9yOiBcImRlZmF1bHRcIiAhZGVmYXVsdDtcbiR0aGVtZS1icmVhZGNydW1iLWZvbnQtc2l6ZTogXCJzbVwiICFkZWZhdWx0O1xuJHRoZW1lLWJyZWFkY3J1bWItZm9udC1mYW1pbHk6IFwiYm9keVwiICFkZWZhdWx0O1xuJHRoZW1lLWJyZWFkY3J1bWItbGluay1jb2xvcjogZGVmYXVsdCAhZGVmYXVsdDtcbiR0aGVtZS1icmVhZGNydW1iLW1pbi13aWR0aDogXCJtb2JpbGUtbGdcIiAhZGVmYXVsdDtcbiR0aGVtZS1icmVhZGNydW1iLXBhZGRpbmctYm90dG9tOiAyICFkZWZhdWx0O1xuJHRoZW1lLWJyZWFkY3J1bWItcGFkZGluZy10b3A6IDIgIWRlZmF1bHQ7XG4kdGhlbWUtYnJlYWRjcnVtYi1wYWRkaW5nLXg6IDAgIWRlZmF1bHQ7XG4kdGhlbWUtYnJlYWRjcnVtYi1zZXBhcmF0b3ItY29sb3I6IFwiYmFzZVwiICFkZWZhdWx0O1xuXG4vLyBCdXR0b25cbiR0aGVtZS1idXR0b24tZm9udC1mYW1pbHk6IFwidWlcIiAhZGVmYXVsdDtcbiR0aGVtZS1idXR0b24tYm9yZGVyLXJhZGl1czogXCJtZFwiICFkZWZhdWx0O1xuJHRoZW1lLWJ1dHRvbi1zbWFsbC13aWR0aDogNiAhZGVmYXVsdDtcbiR0aGVtZS1idXR0b24tc3Ryb2tlLXdpZHRoOiAycHggIWRlZmF1bHQ7XG5cbi8vIENhcmRcbiR0aGVtZS1jYXJkLWJvcmRlci1jb2xvcjogXCJiYXNlLWxpZ2h0ZXJcIiAhZGVmYXVsdDtcbiR0aGVtZS1jYXJkLWJvcmRlci1yYWRpdXM6IFwibGdcIiAhZGVmYXVsdDtcbiR0aGVtZS1jYXJkLWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xuJHRoZW1lLWNhcmQtZ2FwOiAyICFkZWZhdWx0O1xuJHRoZW1lLWNhcmQtZmxhZy1taW4td2lkdGg6IFwidGFibGV0XCIgIWRlZmF1bHQ7XG4kdGhlbWUtY2FyZC1mbGFnLWltYWdlLXdpZHRoOiBcImNhcmQtbGdcIiAhZGVmYXVsdDtcbiR0aGVtZS1jYXJkLWZvbnQtZmFtaWx5OiBcImJvZHlcIiAhZGVmYXVsdDtcbiR0aGVtZS1jYXJkLWhlYWRlci10eXBlc2V0OiBcImhlYWRpbmdcIiwgXCJsZ1wiLCAyICFkZWZhdWx0O1xuJHRoZW1lLWNhcmQtbWFyZ2luLWJvdHRvbTogNCAhZGVmYXVsdDtcbiR0aGVtZS1jYXJkLXBhZGRpbmctcGVyaW1ldGVyOiAzICFkZWZhdWx0O1xuJHRoZW1lLWNhcmQtcGFkZGluZy15OiAyICFkZWZhdWx0O1xuXG4vLyBDb2xsZWN0aW9uXG4kdGhlbWUtY29sbGVjdGlvbi1mb250LWZhbWlseTogXCJ1aVwiICFkZWZhdWx0O1xuJHRoZW1lLWNvbGxlY3Rpb24taGVhZGVyLXR5cGVzZXQ6IFwidWlcIiwgXCJtZFwiLCAzICFkZWZhdWx0O1xuXG4vLyBGb290ZXJcbiR0aGVtZS1mb290ZXItZm9udC1mYW1pbHk6IFwiYm9keVwiICFkZWZhdWx0O1xuJHRoZW1lLWZvb3Rlci1tYXgtd2lkdGg6IFwiZGVza3RvcFwiICFkZWZhdWx0O1xuXG4vLyBGb3JtIGFuZCBpbnB1dFxuJHRoZW1lLWNoZWNrYm94LWJvcmRlci1yYWRpdXM6IFwic21cIiAhZGVmYXVsdDtcbiR0aGVtZS1mb3JtLWZvbnQtZmFtaWx5OiBcInVpXCIgIWRlZmF1bHQ7XG4kdGhlbWUtaW5wdXQtYmFja2dyb3VuZC1jb2xvcjogZGVmYXVsdCAhZGVmYXVsdDtcbiR0aGVtZS1pbnB1dC1saW5lLWhlaWdodDogMyAhZGVmYXVsdDtcbiR0aGVtZS1pbnB1dC1tYXgtd2lkdGg6IFwibW9iaWxlLWxnXCIgIWRlZmF1bHQ7XG4kdGhlbWUtaW5wdXQtc2VsZWN0LWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xuJHRoZW1lLWlucHV0LXNlbGVjdC1zaXplOiAyLjUgIWRlZmF1bHQ7XG4kdGhlbWUtaW5wdXQtc3RhdGUtYm9yZGVyLXdpZHRoOiAwLjUgIWRlZmF1bHQ7XG4kdGhlbWUtaW5wdXQtdGlsZS1ib3JkZXItcmFkaXVzOiBcIm1kXCIgIWRlZmF1bHQ7XG4kdGhlbWUtaW5wdXQtdGlsZS1ib3JkZXItd2lkdGg6IDJweCAhZGVmYXVsdDtcblxuLy8gSGVhZGVyXG4kdGhlbWUtaGVhZGVyLWZvbnQtZmFtaWx5OiBcInVpXCIgIWRlZmF1bHQ7XG4kdGhlbWUtaGVhZGVyLWxvZ28tdGV4dC13aWR0aDogMzMlICFkZWZhdWx0O1xuJHRoZW1lLWhlYWRlci1tYXgtd2lkdGg6IFwiZGVza3RvcFwiICFkZWZhdWx0O1xuJHRoZW1lLWhlYWRlci1taW4td2lkdGg6IFwiZGVza3RvcFwiICFkZWZhdWx0O1xuXG4vLyBIZXJvXG4kdGhlbWUtaGVyby1pbWFnZTogXCIje2dlbmVyYWwuJHRoZW1lLWltYWdlLXBhdGh9L2hlcm8uanBnXCIgIWRlZmF1bHQ7XG5cbi8vIEljb24gTGlzdFxuJHRoZW1lLWljb24tbGlzdC1mb250LWZhbWlseTogXCJib2R5XCIgIWRlZmF1bHQ7XG4kdGhlbWUtaWNvbi1saXN0LXRpdGxlLWZvbnQtZmFtaWx5OiBcImhlYWRpbmdcIiAhZGVmYXVsdDtcblxuLy8gSWRlbnRpZmllclxuJHRoZW1lLWlkZW50aWZpZXItYmFja2dyb3VuZC1jb2xvcjogXCJiYXNlLWRhcmtlc3RcIiAhZGVmYXVsdDtcbiR0aGVtZS1pZGVudGlmaWVyLWZvbnQtZmFtaWx5OiBcInVpXCIgIWRlZmF1bHQ7XG4kdGhlbWUtaWRlbnRpZmllci1pZGVudGl0eS1kb21haW4tY29sb3I6IFwiYmFzZS1saWdodFwiICFkZWZhdWx0O1xuJHRoZW1lLWlkZW50aWZpZXItbWF4LXdpZHRoOiBcImRlc2t0b3BcIiAhZGVmYXVsdDtcbiR0aGVtZS1pZGVudGlmaWVyLXByaW1hcnktbGluay1jb2xvcjogZGVmYXVsdCAhZGVmYXVsdDtcbiR0aGVtZS1pZGVudGlmaWVyLXNlY29uZGFyeS1saW5rLWNvbG9yOiBcImJhc2UtbGlnaHRcIiAhZGVmYXVsdDtcblxuLy8gSW4tUGFnZSBOYXZpZ2F0aW9uXG4kdGhlbWUtaW4tcGFnZS1uYXYtYmFja2dyb3VuZC1jb2xvcjogXCJkZWZhdWx0XCIgIWRlZmF1bHQ7XG4kdGhlbWUtaW4tcGFnZS1uYXYtYmFja2dyb3VuZC1wYWRkaW5nOiAyICFkZWZhdWx0O1xuJHRoZW1lLWluLXBhZ2UtbmF2LWJhY2tncm91bmQtcmFkaXVzOiBcImxnXCIgIWRlZmF1bHQ7XG4kdGhlbWUtaW4tcGFnZS1uYXYtYmFyLWNvbG9yOiBcImRlZmF1bHRcIiAhZGVmYXVsdDtcbiR0aGVtZS1pbi1wYWdlLW5hdi1iYXItd2lkdGg6IFwiMDVcIiAhZGVmYXVsdDtcbiR0aGVtZS1pbi1wYWdlLW5hdi1mb250LWZhbWlseTogXCJ1aVwiICFkZWZhdWx0O1xuJHRoZW1lLWluLXBhZ2UtbmF2LWxpbmstY29sb3I6IFwiZGVmYXVsdFwiICFkZWZhdWx0O1xuJHRoZW1lLWluLXBhZ2UtbmF2LW1haW4tY29udGVudC1tYXgtd2lkdGg6IFwiZGVza3RvcFwiICFkZWZhdWx0O1xuJHRoZW1lLWluLXBhZ2UtbmF2LW1hcmdpbi1sZWZ0OiA0ICFkZWZhdWx0O1xuJHRoZW1lLWluLXBhZ2UtbmF2LW1hcmdpbi10b3A6IDIuNSAhZGVmYXVsdDtcbiR0aGVtZS1pbi1wYWdlLW5hdi10b3A6IDQgIWRlZmF1bHQ7XG5cbi8vIExpbmtcbiR0aGVtZS1leHRlcm5hbC1saW5rLXNyLWxhYmVsLXRhYi1uZXc6IFwiRXh0ZXJuYWwsIG9wZW5zIGluIGEgbmV3IHRhYi5cIiAhZGVmYXVsdDtcbiR0aGVtZS1leHRlcm5hbC1saW5rLXNyLWxhYmVsLXRhYi1zYW1lOiBcIkV4dGVybmFsLlwiICFkZWZhdWx0O1xuXG4vLyBNb2RhbFxuJHRoZW1lLW1vZGFsLWJvcmRlci1yYWRpdXM6IFwibGdcIiAhZGVmYXVsdDtcbiR0aGVtZS1tb2RhbC1kZWZhdWx0LW1heC13aWR0aDogXCJtb2JpbGUtbGdcIiAhZGVmYXVsdDtcbiR0aGVtZS1tb2RhbC1sZy1jb250ZW50LW1heC13aWR0aDogXCJ0YWJsZXRcIiAhZGVmYXVsdDtcbiR0aGVtZS1tb2RhbC1sZy1tYXgtd2lkdGg6IFwidGFibGV0LWxnXCIgIWRlZmF1bHQ7XG5cbi8vIFBhZ2luYXRpb25cbiR0aGVtZS1wYWdpbmF0aW9uLWJhY2tncm91bmQtY29sb3I6IFwiZGVmYXVsdFwiICFkZWZhdWx0O1xuJHRoZW1lLXBhZ2luYXRpb24tYnJlYWtwb2ludDogXCJ0YWJsZXRcIiAhZGVmYXVsdDtcbiR0aGVtZS1wYWdpbmF0aW9uLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiBcIm1kXCIgIWRlZmF1bHQ7XG4kdGhlbWUtcGFnaW5hdGlvbi1idXR0b24tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kdGhlbWUtcGFnaW5hdGlvbi1mb250LWZhbWlseTogXCJ1aVwiICFkZWZhdWx0O1xuXG4vLyBQcm9jZXNzIExpc3RcbiR0aGVtZS1wcm9jZXNzLWxpc3QtY291bnRlci1iYWNrZ3JvdW5kLWNvbG9yOiBcIndoaXRlXCIgIWRlZmF1bHQ7XG4kdGhlbWUtcHJvY2Vzcy1saXN0LWNvdW50ZXItYm9yZGVyLWNvbG9yOiBcImlua1wiICFkZWZhdWx0O1xuJHRoZW1lLXByb2Nlc3MtbGlzdC1jb3VudGVyLWJvcmRlci13aWR0aDogMC41ICFkZWZhdWx0O1xuJHRoZW1lLXByb2Nlc3MtbGlzdC1jb3VudGVyLWZvbnQtZmFtaWx5OiBcInVpXCIgIWRlZmF1bHQ7XG4kdGhlbWUtcHJvY2Vzcy1saXN0LWNvdW50ZXItZm9udC1zaXplOiBcImxnXCIgIWRlZmF1bHQ7XG4kdGhlbWUtcHJvY2Vzcy1saXN0LWNvdW50ZXItZ2FwLWNvbG9yOiBcIndoaXRlXCIgIWRlZmF1bHQ7XG4kdGhlbWUtcHJvY2Vzcy1saXN0LWNvdW50ZXItZ2FwLXdpZHRoOiAwLjUgIWRlZmF1bHQ7XG4kdGhlbWUtcHJvY2Vzcy1saXN0LWNvdW50ZXItc2l6ZTogNSAhZGVmYXVsdDtcbiR0aGVtZS1wcm9jZXNzLWxpc3QtY291bnRlci10ZXh0LWNvbG9yOiBcImlua1wiICFkZWZhdWx0O1xuJHRoZW1lLXByb2Nlc3MtbGlzdC1jb25uZWN0b3ItY29sb3I6IFwicHJpbWFyeS1saWdodGVyXCIgIWRlZmF1bHQ7XG4kdGhlbWUtcHJvY2Vzcy1saXN0LWNvbm5lY3Rvci13aWR0aDogMSAhZGVmYXVsdDtcbiR0aGVtZS1wcm9jZXNzLWxpc3QtZm9udC1mYW1pbHk6IFwidWlcIiAhZGVmYXVsdDtcbiR0aGVtZS1wcm9jZXNzLWxpc3QtZm9udC1zaXplOiBcInNtXCIgIWRlZmF1bHQ7XG4kdGhlbWUtcHJvY2Vzcy1saXN0LWhlYWRpbmctY29sb3I6IFwiaW5rXCIgIWRlZmF1bHQ7XG4kdGhlbWUtcHJvY2Vzcy1saXN0LWhlYWRpbmctZm9udC1mYW1pbHk6IFwidWlcIiAhZGVmYXVsdDtcbiR0aGVtZS1wcm9jZXNzLWxpc3QtaGVhZGluZy1mb250LXNpemU6IFwibGdcIiAhZGVmYXVsdDtcblxuLy8gTmF2aWdhdGlvblxuJHRoZW1lLW5hdmlnYXRpb24tZm9udC1mYW1pbHk6IFwidWlcIiAhZGVmYXVsdDtcbiR0aGVtZS1tZWdhbWVudS1jb2x1bW5zOiAzICFkZWZhdWx0O1xuXG4vLyBTZWFyY2hcbiR0aGVtZS1zZWFyY2gtZm9udC1mYW1pbHk6IFwidWlcIiAhZGVmYXVsdDtcbiR0aGVtZS1zZWFyY2gtbWluLXdpZHRoOiAyN2NoICFkZWZhdWx0O1xuXG4vLyBTaWRlbmF2XG4kdGhlbWUtc2lkZW5hdi1jdXJyZW50LWJvcmRlci13aWR0aDogMC41ICFkZWZhdWx0O1xuJHRoZW1lLXNpZGVuYXYtZm9udC1mYW1pbHk6IFwidWlcIiAhZGVmYXVsdDtcblxuLy8gU2l0ZSBBbGVydFxuJHRoZW1lLXNpdGUtYWxlcnQtbWF4LXdpZHRoOiBcImRlc2t0b3BcIiAhZGVmYXVsdDtcblxuLy8gU3RlcCBpbmRpY2F0b3JcbiRzdGVwLWluZGljYXRvci1iYWNrZ3JvdW5kLWNvbG9yOiBcIndoaXRlXCIgIWRlZmF1bHQ7XG4kdGhlbWUtc3RlcC1pbmRpY2F0b3ItY291bnRlci1nYXA6IDAuNSAhZGVmYXVsdDtcbiR0aGVtZS1zdGVwLWluZGljYXRvci1jb3VudGVyLWJvcmRlci13aWR0aDogMC41ICFkZWZhdWx0O1xuJHRoZW1lLXN0ZXAtaW5kaWNhdG9yLWZvbnQtZmFtaWx5OiBcInVpXCIgIWRlZmF1bHQ7XG4kdGhlbWUtc3RlcC1pbmRpY2F0b3ItaGVhZGluZy1jb2xvcjogXCJpbmtcIiAhZGVmYXVsdDtcbiR0aGVtZS1zdGVwLWluZGljYXRvci1oZWFkaW5nLWZvbnQtZmFtaWx5OiBcInVpXCIgIWRlZmF1bHQ7XG4kdGhlbWUtc3RlcC1pbmRpY2F0b3ItaGVhZGluZy1mb250LXNpemU6IFwibGdcIiAhZGVmYXVsdDtcbiR0aGVtZS1zdGVwLWluZGljYXRvci1oZWFkaW5nLWZvbnQtc2l6ZS1zbWFsbDogXCJtZFwiICFkZWZhdWx0O1xuJHRoZW1lLXN0ZXAtaW5kaWNhdG9yLWxhYmVsLWZvbnQtc2l6ZTogXCJzbVwiICFkZWZhdWx0O1xuJHRoZW1lLXN0ZXAtaW5kaWNhdG9yLW1pbi13aWR0aDogXCJ0YWJsZXRcIiAhZGVmYXVsdDtcbiR0aGVtZS1zdGVwLWluZGljYXRvci1zZWdtZW50LWNvbG9yLXBlbmRpbmc6IFwiZ3JheS00MFwiICFkZWZhdWx0O1xuJHRoZW1lLXN0ZXAtaW5kaWNhdG9yLXNlZ21lbnQtY29sb3ItY29tcGxldGU6IFwicHJpbWFyeS1kYXJrZXJcIiAhZGVmYXVsdDtcbiR0aGVtZS1zdGVwLWluZGljYXRvci1zZWdtZW50LWNvbG9yLWN1cnJlbnQ6IFwicHJpbWFyeVwiICFkZWZhdWx0O1xuJHRoZW1lLXN0ZXAtaW5kaWNhdG9yLXNlZ21lbnQtZ2FwOiAycHggIWRlZmF1bHQ7XG4kdGhlbWUtc3RlcC1pbmRpY2F0b3Itc2VnbWVudC1oZWlnaHQ6IDEgIWRlZmF1bHQ7XG4kdGhlbWUtc3RlcC1pbmRpY2F0b3ItdGV4dC1wZW5kaW5nLWNvbG9yOiBcImJhc2UtZGFya1wiICFkZWZhdWx0O1xuXG4vLyBTdW1tYXJ5IGJveFxuJHRoZW1lLXN1bW1hcnktYm94LWJhY2tncm91bmQtY29sb3I6IFwiaW5mby1saWdodGVyXCIgIWRlZmF1bHQ7XG4kdGhlbWUtc3VtbWFyeS1ib3gtYm9yZGVyLWNvbG9yOiBcImluZm8tbGlnaHRcIiAhZGVmYXVsdDtcbiR0aGVtZS1zdW1tYXJ5LWJveC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiR0aGVtZS1zdW1tYXJ5LWJveC1ib3JkZXItcmFkaXVzOiBcIm1kXCIgIWRlZmF1bHQ7XG4kdGhlbWUtc3VtbWFyeS1ib3gtZm9udC1mYW1pbHk6IFwidWlcIiAhZGVmYXVsdDtcbiR0aGVtZS1zdW1tYXJ5LWJveC1saW5rLWNvbG9yOiBkZWZhdWx0ICFkZWZhdWx0O1xuJHRoZW1lLXN1bW1hcnktYm94LXRleHQtY29sb3I6IGRlZmF1bHQgIWRlZmF1bHQ7XG5cbi8vIFRhYmxlXG4kdGhlbWUtdGFibGUtYm9yZGVyLWNvbG9yOiBcImlua1wiICFkZWZhdWx0O1xuJHRoZW1lLXRhYmxlLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiBcImJhc2UtbGlnaHRlclwiICFkZWZhdWx0O1xuJHRoZW1lLXRhYmxlLWhlYWRlci10ZXh0LWNvbG9yOiBkZWZhdWx0ICFkZWZhdWx0O1xuJHRoZW1lLXRhYmxlLXN0cmlwZS1iYWNrZ3JvdW5kLWNvbG9yOiBcImJhc2UtbGlnaHRlc3RcIiAhZGVmYXVsdDtcbiR0aGVtZS10YWJsZS1zdHJpcGUtdGV4dC1jb2xvcjogZGVmYXVsdCAhZGVmYXVsdDtcbiR0aGVtZS10YWJsZS10ZXh0LWNvbG9yOiBkZWZhdWx0ICFkZWZhdWx0O1xuJHRoZW1lLXRhYmxlLXNvcnRlZC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogXCJhY2NlbnQtY29vbC1saWdodFwiICFkZWZhdWx0O1xuJHRoZW1lLXRhYmxlLXNvcnRlZC1iYWNrZ3JvdW5kLWNvbG9yOiBcImFjY2VudC1jb29sLWxpZ2h0ZXJcIiAhZGVmYXVsdDtcbiR0aGVtZS10YWJsZS1zb3J0ZWQtc3RyaXBlLWJhY2tncm91bmQtY29sb3I6IFwiYmx1ZS1jb29sLTEwdlwiICFkZWZhdWx0O1xuJHRoZW1lLXRhYmxlLXNvcnRlZC1pY29uLWNvbG9yOiBkZWZhdWx0ICFkZWZhdWx0O1xuJHRoZW1lLXRhYmxlLXVuc29ydGVkLWljb24tY29sb3I6IFwiYmFzZVwiICFkZWZhdWx0O1xuXG4vLyBUb29sdGlwc1xuJHRoZW1lLXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogXCJpbmtcIiAhZGVmYXVsdDtcbiR0aGVtZS10b29sdGlwLWZvbnQtY29sb3I6IFwiYmFzZS1saWdodGVzdFwiICFkZWZhdWx0O1xuJHRoZW1lLXRvb2x0aXAtZm9udC1zaXplOiBcInhzXCIgIWRlZmF1bHQ7XG4iLCIvKlxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAqICogKiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU1BBQ0lORyBTRVRUSU5HU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVhZCBtb3JlIGFib3V0IHNldHRpbmdzIGFuZFxuVVNXRFMgc3BhY2luZyB1bml0cyB0b2tlbnMgaW4gdGhlXG5kb2N1bWVudGF0aW9uOlxuaHR0cHM6Ly9kZXNpZ25zeXN0ZW0uZGlnaXRhbC5nb3YvZGVzaWduLXRva2Vucy9zcGFjaW5nLXVuaXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQm9yZGVyIHJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMnB4ICAgICAgICAgICAycHhcbjAuNSAgICAgICAgICAgNHB4XG4xICAgICAgICAgICAgIDhweFxuMS41ICAgICAgICAgICAxMnB4XG4yICAgICAgICAgICAgIDE2cHhcbjIuNSAgICAgICAgICAgMjBweFxuMyAgICAgICAgICAgICAyNHB4XG40ICAgICAgICAgICAgIDMycHhcbjUgICAgICAgICAgICAgNDBweFxuNiAgICAgICAgICAgICA0OHB4XG43ICAgICAgICAgICAgIDU2cHhcbjggICAgICAgICAgICAgNjRweFxuOSAgICAgICAgICAgICA3MnB4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4kdGhlbWUtYm9yZGVyLXJhZGl1cy1zbTogMnB4ICFkZWZhdWx0O1xuJHRoZW1lLWJvcmRlci1yYWRpdXMtbWQ6IDAuNSAhZGVmYXVsdDtcbiR0aGVtZS1ib3JkZXItcmFkaXVzLWxnOiAxICFkZWZhdWx0O1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29sdW1uIGdhcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMnB4ICAgICAgICAgMnB4XG4wLjUgICAgICAgICA0cHhcbjEgICAgICAgICAgIDhweFxuMiAgICAgICAgICAgMTZweFxuMyAgICAgICAgICAgMjRweFxuNCAgICAgICAgICAgMzJweFxuNSAgICAgICAgICAgNDBweFxuNiAgICAgICAgICAgNDhweFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuJHRoZW1lLWNvbHVtbi1nYXAtc206IDJweCAhZGVmYXVsdDtcbiR0aGVtZS1jb2x1bW4tZ2FwLW1kOiAyICFkZWZhdWx0O1xuJHRoZW1lLWNvbHVtbi1nYXAtbGc6IDMgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGRldGVybWluZSB0aGUgcmVzcG9uc2l2ZSBnYXAgc2l6ZXMgc2V0IHdpdGggLmdyaWQtZ2FwXG4kdGhlbWUtY29sdW1uLWdhcC1tb2JpbGU6IDIgIWRlZmF1bHQ7XG4kdGhlbWUtY29sdW1uLWdhcC1kZXNrdG9wOiA0ICFkZWZhdWx0O1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR3JpZCBjb250YWluZXIgbWF4LXdpZHRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tb2JpbGVcbm1vYmlsZS1sZ1xudGFibGV0XG50YWJsZXQtbGdcbmRlc2t0b3BcbmRlc2t0b3AtbGdcbndpZGVzY3JlZW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbiR0aGVtZS1ncmlkLWNvbnRhaW5lci1tYXgtd2lkdGg6IFwiZGVza3RvcFwiICFkZWZhdWx0O1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuJHRoZW1lLXNpdGUtbWFyZ2lucy1icmVha3BvaW50OiBcImRlc2t0b3BcIiAhZGVmYXVsdDtcbiR0aGVtZS1zaXRlLW1hcmdpbnMtd2lkdGg6IDQgIWRlZmF1bHQ7XG4kdGhlbWUtc2l0ZS1tYXJnaW5zLW1vYmlsZS13aWR0aDogMiAhZGVmYXVsdDtcbiIsIi8qXG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qICogKiAqICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VVElMSVRJRVMgU0VUVElOR1Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlYWQgbW9yZSBhYm91dCBzZXR0aW5ncyBhbmRcblVTV0RTIHV0aWxpdGllcyBpbiB0aGUgZG9jdW1lbnRhdGlvbjpcbmh0dHBzOi8vZGVzaWduc3lzdGVtLmRpZ2l0YWwuZ292L3V0aWxpdGllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQHVzZSBcInNhc3M6bWFwXCI7XG5cbiR1dGlsaXRpZXMtdXNlLWltcG9ydGFudDogZmFsc2UgIWRlZmF1bHQ7XG4kb3V0cHV0LXRoZXNlLXV0aWxpdGllczogZGVmYXVsdCAhZGVmYXVsdDtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblV0aWxpdHkgYnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbldoaWNoIGJyZWFrcG9pbnRzIGRvZXMgeW91ciBwcm9qZWN0XG5uZWVkPyBTZWxlY3QgYXMgYHRydWVgIGFueSBicmVha3BvaW50XG51c2VkIGJ5IHV0aWxpdGllcyBvciBsYXlvdXQgZ3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuJHRoZW1lLXV0aWxpdHktYnJlYWtwb2ludHM6ICgpICFkZWZhdWx0O1xuJHRoZW1lLXV0aWxpdHktYnJlYWtwb2ludHMtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIC8vIDE2MHB4OlxuICAgIFwiY2FyZFwiOiBmYWxzZSxcbiAgICAvLyAyNDBweDpcbiAgICBcImNhcmQtbGdcIjogZmFsc2UsXG4gICAgLy8gMzIwcHg6XG4gICAgXCJtb2JpbGVcIjogZmFsc2UsXG4gICAgLy8gNDgwcHg6XG4gICAgXCJtb2JpbGUtbGdcIjogdHJ1ZSxcbiAgICAvLyA2NDBweDpcbiAgICBcInRhYmxldFwiOiB0cnVlLFxuICAgIC8vIDg4MHB4OlxuICAgIFwidGFibGV0LWxnXCI6IGZhbHNlLFxuICAgIC8vIDEwMjRweDpcbiAgICBcImRlc2t0b3BcIjogdHJ1ZSxcbiAgICAvLyAxMjAwcHg6XG4gICAgXCJkZXNrdG9wLWxnXCI6IGZhbHNlLFxuICAgIC8vIDE0MDBweDpcbiAgICBcIndpZGVzY3JlZW5cIjogZmFsc2VcbiAgKSxcbiAgJHRoZW1lLXV0aWxpdHktYnJlYWtwb2ludHNcbikgIWRlZmF1bHQ7XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HbG9iYWwgY29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UaGUgZm9sbG93aW5nIHBhbGV0dGVzIHdpbGwgYmUgYWRkZWQgdG9cbi0gYmFja2dyb3VuZC1jb2xvclxuLSBib3JkZXItY29sb3Jcbi0gY29sb3Jcbi0gdGV4dC1kZWNvcmF0aW9uLWNvbG9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4kZ2xvYmFsLWNvbG9yLXBhbGV0dGVzOiAoXCJwYWxldHRlLWNvbG9yLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TZXR0aW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuJGFkZC1hc3BlY3Qtc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJGFkZC1hc3BlY3Qtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiBmYWxzZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogZmFsc2UsXG4gICAgdmlzaXRlZDogZmFsc2UsXG4gICksXG4gICRhZGQtYXNwZWN0LXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kYWRkLWxpc3QtcmVzZXQtc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJGFkZC1saXN0LXJlc2V0LXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkYWRkLWxpc3QtcmVzZXQtc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRhbGlnbi1pdGVtcy1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kYWxpZ24taXRlbXMtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiBmYWxzZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogZmFsc2UsXG4gICAgdmlzaXRlZDogZmFsc2UsXG4gICksXG4gICRhbGlnbi1pdGVtcy1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJGFsaWduLXNlbGYtc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJGFsaWduLXNlbGYtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiBmYWxzZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogZmFsc2UsXG4gICAgdmlzaXRlZDogZmFsc2UsXG4gICksXG4gICRhbGlnbi1zZWxmLXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kYmFja2dyb3VuZC1jb2xvci1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1jb2xvci1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiB0cnVlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkYmFja2dyb3VuZC1jb2xvci1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJGJvcmRlci1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kYm9yZGVyLXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogdHJ1ZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJGJvcmRlci1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJGJvcmRlci1jb2xvci1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yLXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogdHJ1ZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJGJvcmRlci1jb2xvci1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXMtc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJGJvcmRlci1yYWRpdXMtc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRib3JkZXItc3R5bGUtc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJGJvcmRlci1zdHlsZS1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJGJvcmRlci1zdHlsZS1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJGJvcmRlci13aWR0aC1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kYm9yZGVyLXdpZHRoLXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkYm9yZGVyLXdpZHRoLXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kYm90dG9tLXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiRib3R0b20tc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiBmYWxzZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogZmFsc2UsXG4gICAgdmlzaXRlZDogZmFsc2UsXG4gICksXG4gICRib3R0b20tc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IHRydWUsXG4gICAgdmlzaXRlZDogZmFsc2UsXG4gICksXG4gICRib3gtc2hhZG93LXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kY2lyY2xlLXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiRjaXJjbGUtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiBmYWxzZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogZmFsc2UsXG4gICAgdmlzaXRlZDogZmFsc2UsXG4gICksXG4gICRjaXJjbGUtc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRjbGVhcmZpeC1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kY2xlYXJmaXgtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiBmYWxzZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogZmFsc2UsXG4gICAgdmlzaXRlZDogZmFsc2UsXG4gICksXG4gICRjbGVhcmZpeC1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJGNvbG9yLXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiRjb2xvci1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiB0cnVlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkY29sb3Itc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRjdXJzb3Itc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJGN1cnNvci1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJGN1cnNvci1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJGRpc3BsYXktc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJGRpc3BsYXktc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJGRpc3BsYXktc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRmbGV4LXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiRmbGV4LXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkZmxleC1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJGZsZXgtZGlyZWN0aW9uLXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiRmbGV4LWRpcmVjdGlvbi1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJGZsZXgtZGlyZWN0aW9uLXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kZmxleC13cmFwLXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiRmbGV4LXdyYXAtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiBmYWxzZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogZmFsc2UsXG4gICAgdmlzaXRlZDogZmFsc2UsXG4gICksXG4gICRmbGV4LXdyYXAtc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRmbG9hdC1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kZmxvYXQtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiBmYWxzZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogZmFsc2UsXG4gICAgdmlzaXRlZDogZmFsc2UsXG4gICksXG4gICRmbG9hdC1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJGZvbnQtc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJGZvbnQtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJGZvbnQtc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRmb250LWZhbWlseS1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiBmYWxzZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogZmFsc2UsXG4gICAgdmlzaXRlZDogZmFsc2UsXG4gICksXG4gICRmb250LWZhbWlseS1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJGZvbnQtZmVhdHVyZS1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kZm9udC1mZWF0dXJlLXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkZm9udC1mZWF0dXJlLXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kZm9udC1zdHlsZS1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kZm9udC1zdHlsZS1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJGZvbnQtc3R5bGUtc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJGZvbnQtd2VpZ2h0LXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kaGVpZ2h0LXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiRoZWlnaHQtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiBmYWxzZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogZmFsc2UsXG4gICAgdmlzaXRlZDogZmFsc2UsXG4gICksXG4gICRoZWlnaHQtc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRqdXN0aWZ5LWNvbnRlbnQtc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJGp1c3RpZnktY29udGVudC1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkanVzdGlmeS1jb250ZW50LXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kbGVmdC1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kbGVmdC1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJGxlZnQtc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRsZXR0ZXItc3BhY2luZy1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kbGV0dGVyLXNwYWNpbmctc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiBmYWxzZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogZmFsc2UsXG4gICAgdmlzaXRlZDogZmFsc2UsXG4gICksXG4gICRsZXR0ZXItc3BhY2luZy1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkbGluZS1oZWlnaHQtc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRtYXJnaW4tc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJG1hcmdpbi1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkbWFyZ2luLXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kbWF4LWhlaWdodC1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kbWF4LWhlaWdodC1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJG1heC1oZWlnaHQtc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRtYXgtd2lkdGgtc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJG1heC13aWR0aC1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJG1heC13aWR0aC1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJG1lYXN1cmUtc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJG1lYXN1cmUtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJG1lYXN1cmUtc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRtaW4taGVpZ2h0LXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiRtaW4taGVpZ2h0LXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkbWluLWhlaWdodC1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJG1pbi13aWR0aC1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kbWluLXdpZHRoLXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkbWluLXdpZHRoLXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kb3BhY2l0eS1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kb3BhY2l0eS1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJG9wYWNpdHktc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRvcmRlci1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kb3JkZXItc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJG9yZGVyLXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kb3V0bGluZS1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kb3V0bGluZS1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJG91dGxpbmUtc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRvdXRsaW5lLWNvbG9yLXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiRvdXRsaW5lLWNvbG9yLXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkb3V0bGluZS1jb2xvci1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJG92ZXJmbG93LXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiRvdmVyZmxvdy1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJG92ZXJmbG93LXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kcGFkZGluZy1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kcGFkZGluZy1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkcGFkZGluZy1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJHBpbi1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kcGluLXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkcGluLXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kcG9zaXRpb24tc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJHBvc2l0aW9uLXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkcG9zaXRpb24tc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiRyaWdodC1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kcmlnaHQtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiBmYWxzZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogZmFsc2UsXG4gICAgdmlzaXRlZDogZmFsc2UsXG4gICksXG4gICRyaWdodC1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJHNxdWFyZS1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kc3F1YXJlLXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkc3F1YXJlLXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kdGV4dC1hbGlnbi1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kdGV4dC1hbGlnbi1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJHRleHQtYWxpZ24tc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiR0ZXh0LWRlY29yYXRpb24tc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJHRleHQtZGVjb3JhdGlvbi1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiB0cnVlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkdGV4dC1kZWNvcmF0aW9uLXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kdGV4dC1kZWNvcmF0aW9uLWNvbG9yLXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiR0ZXh0LWRlY29yYXRpb24tY29sb3Itc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiBmYWxzZSxcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIGZvY3VzOiBmYWxzZSxcbiAgICBob3ZlcjogdHJ1ZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJHRleHQtZGVjb3JhdGlvbi1jb2xvci1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJHRleHQtaW5kZW50LXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiR0ZXh0LWluZGVudC1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJHRleHQtaW5kZW50LXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kdGV4dC10cmFuc2Zvcm0tc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJHRleHQtdHJhbnNmb3JtLXNldHRpbmdzLWNvbXBsZXRlOiBtYXAubWVyZ2UoXG4gIChcbiAgICBvdXRwdXQ6IHRydWUsXG4gICAgcmVzcG9uc2l2ZTogZmFsc2UsXG4gICAgYWN0aXZlOiBmYWxzZSxcbiAgICBmb2N1czogZmFsc2UsXG4gICAgaG92ZXI6IGZhbHNlLFxuICAgIHZpc2l0ZWQ6IGZhbHNlLFxuICApLFxuICAkdGV4dC10cmFuc2Zvcm0tc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiR0b3Atc2V0dGluZ3M6ICgpICFkZWZhdWx0O1xuJHRvcC1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJHRvcC1zZXR0aW5nc1xuKSAhZGVmYXVsdDtcblxuJHZlcnRpY2FsLWFsaWduLXNldHRpbmdzOiAoKSAhZGVmYXVsdDtcbiR2ZXJ0aWNhbC1hbGlnbi1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJHZlcnRpY2FsLWFsaWduLXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kd2hpdGVzcGFjZS1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kd2hpdGVzcGFjZS1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJHdoaXRlc3BhY2Utc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbiR3aWR0aC1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kd2lkdGgtc2V0dGluZ3MtY29tcGxldGU6IG1hcC5tZXJnZShcbiAgKFxuICAgIG91dHB1dDogdHJ1ZSxcbiAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJHdpZHRoLXNldHRpbmdzXG4pICFkZWZhdWx0O1xuXG4kei1pbmRleC1zZXR0aW5nczogKCkgIWRlZmF1bHQ7XG4kei1pbmRleC1zZXR0aW5ncy1jb21wbGV0ZTogbWFwLm1lcmdlKFxuICAoXG4gICAgb3V0cHV0OiB0cnVlLFxuICAgIHJlc3BvbnNpdmU6IGZhbHNlLFxuICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgZm9jdXM6IGZhbHNlLFxuICAgIGhvdmVyOiBmYWxzZSxcbiAgICB2aXNpdGVkOiBmYWxzZSxcbiAgKSxcbiAgJHotaW5kZXgtc2V0dGluZ3NcbikgIWRlZmF1bHQ7XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5WYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbi8vIC5hZGQtYXNwZWN0XG5cbiRhZGQtYXNwZWN0LXBhbGV0dGVzOiAoKSAhZGVmYXVsdDtcbiRhZGQtYXNwZWN0LW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAuYWxpZ24taXRlbXNcblxuJGFsaWduLWl0ZW1zLXBhbGV0dGVzOiAoXCJwYWxldHRlLWFsaWduLWl0ZW1zLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kYWxpZ24taXRlbXMtbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC5hbGlnbi1zZWxmXG5cbiRhbGlnbi1zZWxmLXBhbGV0dGVzOiAoXCJwYWxldHRlLWFsaWduLXNlbGYtZGVmYXVsdFwiKSAhZGVmYXVsdDtcbiRhbGlnbi1zZWxmLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAuYmFja2dyb3VuZC1jb2xvclxuXG4kYmFja2dyb3VuZC1jb2xvci1wYWxldHRlczogKCkgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1jb2xvci1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLmJvcmRlclxuXG4kYm9yZGVyLXBhbGV0dGVzOiAoXCJwYWxldHRlLWJvcmRlci1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJGJvcmRlci1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLmJvcmRlci1jb2xvclxuXG4kYm9yZGVyLWNvbG9yLXBhbGV0dGVzOiAoKSAhZGVmYXVsdDtcbiRib3JkZXItY29sb3ItbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC5ib3JkZXItcmFkaXVzXG5cbiRib3JkZXItcmFkaXVzLXBhbGV0dGVzOiAoXCJwYWxldHRlLWJvcmRlci1yYWRpdXMtZGVmYXVsdFwiKSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAuYm9yZGVyLXN0eWxlXG5cbiRib3JkZXItc3R5bGUtcGFsZXR0ZXM6IChcInBhbGV0dGUtYm9yZGVyLXN0eWxlLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kYm9yZGVyLXN0eWxlLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAuYm9yZGVyLXdpZHRoXG5cbiRib3JkZXItd2lkdGgtcGFsZXR0ZXM6IChcInBhbGV0dGUtYm9yZGVyLXdpZHRoLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kYm9yZGVyLXdpZHRoLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAuYm90dG9tXG5cbiRib3R0b20tcGFsZXR0ZXM6IChcInBhbGV0dGUtYm90dG9tLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG5cbiRib3R0b20tbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC5ib3gtc2hhZG93XG5cbiRib3gtc2hhZG93LXBhbGV0dGVzOiAoXCJwYWxldHRlLWJveC1zaGFkb3ctZGVmYXVsdFwiKSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC5jaXJjbGVcblxuJGNpcmNsZS1wYWxldHRlczogKFwicGFsZXR0ZS1jaXJjbGUtZGVmYXVsdFwiKSAhZGVmYXVsdDtcbiRjaXJjbGUtbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC5jb2xvclxuXG4kY29sb3ItcGFsZXR0ZXM6ICgpICFkZWZhdWx0O1xuJGNvbG9yLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAuY3Vyc29yXG5cbiRjdXJzb3ItcGFsZXR0ZXM6IChcInBhbGV0dGUtY3Vyc29yLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kY3Vyc29yLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAuZGlzcGxheVxuXG4kZGlzcGxheS1wYWxldHRlczogKFwicGFsZXR0ZS1kaXNwbGF5LWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kZGlzcGxheS1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLmZsZXhcblxuJGZsZXgtcGFsZXR0ZXM6IChcInBhbGV0dGUtZmxleC1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJGZsZXgtbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC5mbGV4LWRpcmVjdGlvblxuXG4kZmxleC1kaXJlY3Rpb24tcGFsZXR0ZXM6IChcInBhbGV0dGUtZmxleC1kaXJlY3Rpb24tZGVmYXVsdFwiKSAhZGVmYXVsdDtcbiRmbGV4LWRpcmVjdGlvbi1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLmZsZXgtd3JhcFxuXG4kZmxleC13cmFwLXBhbGV0dGVzOiAoXCJwYWxldHRlLWZsZXgtd3JhcC1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJGZsZXgtd3JhcC1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLmZsb2F0XG5cbiRmbG9hdC1wYWxldHRlczogKFwicGFsZXR0ZS1mbG9hdC1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJGZsb2F0LW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAuZm9udFxuXG4kZm9udC1wYWxldHRlczogKFwicGFsZXR0ZS1mb250LWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kZm9udC1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLmZvbnQtZmFtaWx5XG5cbiRmb250LWZhbWlseS1wYWxldHRlczogKFwicGFsZXR0ZS1mb250LWZhbWlseS1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAuZm9udC1mZWF0dXJlLXNldHRpbmdzXG5cbiRmb250LWZlYXR1cmUtcGFsZXR0ZXM6IChcInBhbGV0dGUtZm9udC1mZWF0dXJlLXNldHRpbmdzLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kZm9udC1mZWF0dXJlLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAuZm9udC1zdHlsZVxuXG4kZm9udC1zdHlsZS1wYWxldHRlczogKFwicGFsZXR0ZS1mb250LXN0eWxlLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kZm9udC1zdHlsZS1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLmZvbnQtd2VpZ2h0XG5cbiRmb250LXdlaWdodC1wYWxldHRlczogKFwicGFsZXR0ZS1mb250LXdlaWdodC1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAuaGVpZ2h0XG5cbiRoZWlnaHQtcGFsZXR0ZXM6IChcInBhbGV0dGUtaGVpZ2h0LWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kaGVpZ2h0LW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAuanVzdGlmeS1jb250ZW50XG5cbiRqdXN0aWZ5LWNvbnRlbnQtcGFsZXR0ZXM6IChcInBhbGV0dGUtanVzdGlmeS1jb250ZW50LWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kanVzdGlmeS1jb250ZW50LW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAubGVmdFxuXG4kbGVmdC1wYWxldHRlczogKFwicGFsZXR0ZS1sZWZ0LWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kbGVmdC1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLmxldHRlci1zcGFjaW5nXG5cbiRsZXR0ZXItc3BhY2luZy1wYWxldHRlczogKFwicGFsZXR0ZS1sZXR0ZXItc3BhY2luZy1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJGxldHRlci1zcGFjaW5nLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAubGluZS1oZWlnaHRcblxuJGxpbmUtaGVpZ2h0LXBhbGV0dGVzOiAoXCJwYWxldHRlLWxpbmUtaGVpZ2h0LWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC5tYXJnaW5cblxuJG1hcmdpbi1wYWxldHRlczogKFwicGFsZXR0ZS1tYXJnaW4tZGVmYXVsdFwiKSAhZGVmYXVsdDtcbiRtYXJnaW4tbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG4kbWFyZ2luLXZlcnRpY2FsLXBhbGV0dGVzOiAoXCJwYWxldHRlLW1hcmdpbi12ZXJ0aWNhbC1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJG1hcmdpbi12ZXJ0aWNhbC1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcbiRtYXJnaW4taG9yaXpvbnRhbC1wYWxldHRlczogKFwicGFsZXR0ZS1tYXJnaW4taG9yaXpvbnRhbC1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJG1hcmdpbi1ob3Jpem9udGFsLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAubWF4LWhlaWdodFxuXG4kbWF4LWhlaWdodC1wYWxldHRlczogKFwicGFsZXR0ZS1tYXgtaGVpZ2h0LWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kbWF4LWhlaWdodC1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLm1heC13aWR0aFxuXG4kbWF4LXdpZHRoLXBhbGV0dGVzOiAoXCJwYWxldHRlLW1heC13aWR0aC1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJG1heC13aWR0aC1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLm1lYXN1cmVcblxuJG1lYXN1cmUtcGFsZXR0ZXM6IChcInBhbGV0dGUtbWVhc3VyZS1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJG1lYXN1cmUtbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC5taW4taGVpZ2h0XG5cbiRtaW4taGVpZ2h0LXBhbGV0dGVzOiAoXCJwYWxldHRlLW1pbi1oZWlnaHQtZGVmYXVsdFwiKSAhZGVmYXVsdDtcbiRtaW4taGVpZ2h0LW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAubWluLXdpZHRoXG5cbiRtaW4td2lkdGgtcGFsZXR0ZXM6IChcInBhbGV0dGUtbWluLXdpZHRoLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kbWluLXdpZHRoLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAub3BhY2l0eVxuXG4kb3BhY2l0eS1wYWxldHRlczogKFwicGFsZXR0ZS1vcGFjaXR5LWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kb3BhY2l0eS1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLm9yZGVyXG5cbiRvcmRlci1wYWxldHRlczogKFwicGFsZXR0ZS1vcmRlci1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJG9yZGVyLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAub3V0bGluZVxuXG4kb3V0bGluZS1wYWxldHRlczogKFwicGFsZXR0ZS1vdXRsaW5lLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kb3V0bGluZS1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLm91dGxpbmUtY29sb3JcblxuJG91dGxpbmUtY29sb3ItcGFsZXR0ZXM6IChcInBhbGV0dGUtb3V0bGluZS1jb2xvci1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJG91dGxpbmUtY29sb3ItbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC5vdmVyZmxvd1xuXG4kb3ZlcmZsb3ctcGFsZXR0ZXM6IChcInBhbGV0dGUtb3ZlcmZsb3ctZGVmYXVsdFwiKSAhZGVmYXVsdDtcbiRvdmVyZmxvdy1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLnBhZGRpbmdcblxuJHBhZGRpbmctcGFsZXR0ZXM6IChcInBhbGV0dGUtcGFkZGluZy1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJHBhZGRpbmctbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC5wb3NpdGlvblxuXG4kcG9zaXRpb24tcGFsZXR0ZXM6IChcInBhbGV0dGUtcG9zaXRpb24tZGVmYXVsdFwiKSAhZGVmYXVsdDtcbiRwb3NpdGlvbi1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLnJpZ2h0XG5cbiRyaWdodC1wYWxldHRlczogKFwicGFsZXR0ZS1yaWdodC1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJHJpZ2h0LW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAuc3F1YXJlXG5cbiRzcXVhcmUtcGFsZXR0ZXM6IChcInBhbGV0dGUtc3F1YXJlLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kc3F1YXJlLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAudGV4dC1hbGlnblxuXG4kdGV4dC1hbGlnbi1wYWxldHRlczogKFwicGFsZXR0ZS10ZXh0LWFsaWduLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kdGV4dC1hbGlnbi1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLnRleHQtZGVjb3JhdGlvblxuXG4kdGV4dC1kZWNvcmF0aW9uLXBhbGV0dGVzOiAoXCJwYWxldHRlLXRleHQtZGVjb3JhdGlvbi1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJHRleHQtZGVjb3JhdGlvbi1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLnRleHQtZGVjb3JhdGlvbi1jb2xvclxuXG4kdGV4dC1kZWNvcmF0aW9uLWNvbG9yLXBhbGV0dGVzOiAoKSAhZGVmYXVsdDtcbiR0ZXh0LWRlY29yYXRpb24tY29sb3ItbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC50ZXh0LWluZGVudFxuXG4kdGV4dC1pbmRlbnQtcGFsZXR0ZXM6IChcInBhbGV0dGUtdGV4dC1pbmRlbnQtZGVmYXVsdFwiKSAhZGVmYXVsdDtcbiR0ZXh0LWluZGVudC1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLnRleHQtdHJhbnNmb3JtXG5cbiR0ZXh0LXRyYW5zZm9ybS1wYWxldHRlczogKFwicGFsZXR0ZS10ZXh0LXRyYW5zZm9ybS1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJHRleHQtdHJhbnNmb3JtLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAudG9wXG5cbiR0b3AtcGFsZXR0ZXM6IChcInBhbGV0dGUtdG9wLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kdG9wLW1hbnVhbC12YWx1ZXM6ICgpICFkZWZhdWx0O1xuXG4vLyAudmVydGljYWwtYWxpZ25cblxuJHZlcnRpY2FsLWFsaWduLXBhbGV0dGVzOiAoXCJwYWxldHRlLXZlcnRpY2FsLWFsaWduLWRlZmF1bHRcIikgIWRlZmF1bHQ7XG4kdmVydGljYWwtYWxpZ24tbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC53aGl0ZS1zcGFjZVxuXG4kd2hpdGVzcGFjZS1wYWxldHRlczogKFwicGFsZXR0ZS13aGl0ZS1zcGFjZS1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJHdoaXRlc3BhY2UtbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC53aWR0aFxuXG4kd2lkdGgtcGFsZXR0ZXM6IChcInBhbGV0dGUtd2lkdGgtZGVmYXVsdFwiKSAhZGVmYXVsdDtcbiR3aWR0aC1tYW51YWwtdmFsdWVzOiAoKSAhZGVmYXVsdDtcblxuLy8gLnotaW5kZXhcblxuJHotaW5kZXgtcGFsZXR0ZXM6IChcInBhbGV0dGUtei1pbmRleC1kZWZhdWx0XCIpICFkZWZhdWx0O1xuJHotaW5kZXgtbWFudWFsLXZhbHVlczogKCkgIWRlZmF1bHQ7XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRGVyaXZlIGEgY29sb3IgZnJvbSBhIGNvbG9yIHNob3J0Y29kZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwic2FzczptZXRhXCI7XG5AdXNlIFwic2FzczpzdHJpbmdcIjtcbkB1c2UgXCIuLi8uLi9zZXR0aW5nc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vZnVuY3Rpb25zL2dlbmVyYWxcIjtcbkB1c2UgXCIuLi8uLi90b2tlbnMvY29sb3Ivc2hvcnRjb2Rlcy1jb2xvci1hbGxcIiBhcyAqO1xuXG5AZnVuY3Rpb24gY29sb3IoJHZhbHVlLCAkZmxhZ3MuLi4pIHtcbiAgJHZhbHVlOiBnZW5lcmFsLnVucGFjaygkdmFsdWUpO1xuXG4gIC8vIE5vbi10b2tlbiBjb2xvcnMgbWF5IGJlIHBhc3NlZCB3aXRoIHNwZWNpZmljIGZsYWdzXG4gIEBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSA9PSBjb2xvciB7XG4gICAgLy8gb3ZlcnJpZGUgb3Igc2V0LXRoZW1lIHdpbGwgYWxsb3cgYW55IGNvbG9yXG4gICAgQGlmIGxpc3QuaW5kZXgoJGZsYWdzLCBvdmVycmlkZSkgb3IgbGlzdC5pbmRleCgkZmxhZ3MsIHNldC10aGVtZSkge1xuICAgICAgLy8gb3ZlcnJpZGUgKyBuby13YXJuIHdpbGwgc2tpcCB3YXJuaW5nc1xuICAgICAgQGlmIGxpc3QuaW5kZXgoJGZsYWdzLCBuby13YXJuKSB7XG4gICAgICAgIEByZXR1cm4gJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHRoZW1lLXNob3ctY29tcGlsZS13YXJuaW5ncyB7XG4gICAgICAgIEB3YXJuICdPdmVycmlkZTogYCN7JHZhbHVlfWAgaXMgbm90IGEgVVNXRFMgY29sb3IgdG9rZW4uJztcbiAgICAgIH1cblxuICAgICAgQHJldHVybiAkdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgLy8gRmFsc2UgdmFsdWVzIG1heSBiZSBwYXNzZWQgdGhyb3VnaCB3aGVuIHNldHRpbmcgdGhlbWUgY29sb3JzXG4gIEBpZiAkdmFsdWUgPT0gZmFsc2Uge1xuICAgIEBpZiBsaXN0LmluZGV4KCRmbGFncywgc2V0LXRoZW1lKSB7XG4gICAgICBAcmV0dXJuICR2YWx1ZTtcbiAgICB9XG4gIH1cblxuICAvLyBOb3csIGFueSB2YWx1ZSBzaG91bGQgYmUgZXZhbHVhdGVkIGFzIGEgdG9rZW5cblxuICAkdmFsdWU6IGdlbmVyYWwuc21hcnQtcXVvdGUoJHZhbHVlKTtcblxuICBAaWYgbWFwLmhhcy1rZXkoJGFsbC1jb2xvci1zaG9ydGNvZGVzLCAkdmFsdWUpIHtcbiAgICAkb3VyLWNvbG9yOiBtYXAuZ2V0KCRhbGwtY29sb3Itc2hvcnRjb2RlcywgJHZhbHVlKTtcbiAgICBAaWYgJG91ci1jb2xvciA9PSBmYWxzZSB7XG4gICAgICBAZXJyb3IgJ2AjeyR2YWx1ZX1gIGlzIGEgY29sb3IgdGhhdCBkb2VzIG5vdCBleGlzdCAnXG4gICAgICAgICsgJ29yIGlzIHNldCB0byBmYWxzZS4nO1xuICAgIH1cbiAgICBAcmV0dXJuICRvdXItY29sb3I7XG4gIH1cblxuICAvLyBJZiB3ZSdyZSB1c2luZyB0aGUgdGhlbWUgZmxhZywgJHByb2plY3QtY29sb3Itc2hvcnRjb2RlcyBoYXMgbm90IHlldCBiZWVuIHNldFxuICBAaWYgbm90IGxpc3QuaW5kZXgoJGZsYWdzLCBzZXQtdGhlbWUpIHtcbiAgICBAaWYgbWFwLmhhcy1rZXkoJHByb2plY3QtY29sb3Itc2hvcnRjb2RlcywgJHZhbHVlKSB7XG4gICAgICAkb3VyLWNvbG9yOiAobWFwLmdldCgkcHJvamVjdC1jb2xvci1zaG9ydGNvZGVzLCAkdmFsdWUpKTtcbiAgICAgIEBpZiAkb3VyLWNvbG9yID09IGZhbHNlIHtcbiAgICAgICAgQGVycm9yICdgI3skdmFsdWV9YCBpcyBhIGNvbG9yIHRoYXQgZG9lcyBub3QgZXhpc3QgJ1xuICAgICAgICAgICsgJ29yIGlzIHNldCB0byBmYWxzZS4nO1xuICAgICAgfVxuICAgICAgQHJldHVybiAkb3VyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gZ2VuZXJhbC5lcnJvci1ub3QtdG9rZW4oJHZhbHVlLCBcImNvbG9yXCIpO1xufVxuXG4vLyBAZGVidWcgY29sb3IoXCJvcmFuZ2UtODB2XCIpO1xuLy8gQHJldHVybiAjMzUyMzEzO1xuXG4vLyBAZGVidWcgY29sb3IoXCJwcmltYXJ5LWRhcmtcIik7XG4vLyBAcmV0dXJuICMxYTQ0ODA7XG5cbi8vIEBkZWJ1ZyBjb2xvcihcInByaW1hcnktbGlnaHRlc3RcIik7XG4vLyBAcmV0dXJuIGVycm9yOiBzZXQgdG8gZmFsc2U7XG5cbi8vIEBkZWJ1ZyBjb2xvcigjZjAwKTtcbi8vIEByZXR1cm4gZXJyb3I6IG5vdCBhIHZhbGlkIHRva2VuO1xuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmFwcGVuZC1pbXBvcnRhbnQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQXBwZW5kIGAhaW1wb3J0YW50YCB0byBhIGxpc3Rcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJnZXQtbGFzdFwiIGFzICo7XG5cbkBmdW5jdGlvbiBhcHBlbmQtaW1wb3J0YW50KCRzb3VyY2UsICRkZXN0aW5hdGlvbikge1xuICBAaWYgZ2V0LWxhc3QoJHNvdXJjZSkgPT0gXCIhaW1wb3J0YW50XCIge1xuICAgIEByZXR1cm4gbGlzdC5hcHBlbmQoJGRlc3RpbmF0aW9uLCAhaW1wb3J0YW50LCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRkZXN0aW5hdGlvbjtcbn1cblxuLy8gQGRlYnVnIGFwcGVuZC1pbXBvcnRhbnQoKDEsIDIsICFpbXBvcnRhbnQpLCAoMywgNCkpO1xuLy8gQHJldHVybiAzLCA0LCAhaW1wb3J0YW50XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZ2V0LWxhc3QoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJuIHRoZSBsYXN0IGl0ZW0gb2YgYSBsaXN0LFxuUmV0dXJuIG51bGwgaWYgdGhlIHZhbHVlIGlzIG51bGxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOmxpc3RcIjtcblxuQGZ1bmN0aW9uIGdldC1sYXN0KCRwcm9wcykge1xuICAkbGVuZ3RoOiBsaXN0Lmxlbmd0aCgkcHJvcHMpO1xuICAkbGFzdDogaWYoJGxlbmd0aCA9PSAwLCBudWxsLCBsaXN0Lm50aCgkcHJvcHMsIC0xKSk7XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8gQGRlYnVnIGdldC1sYXN0KCgxLCAyLCAzKSk7XG4vLyBAcmV0dXJuIDM7XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZGUtbGlzdCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5UcmFuc2Zvcm0gYSBvbmUtZWxlbWVudCBsaXN0IG9yIGFyZ2xpc3RcbmludG8gdGhhdCBzaW5nbGUgZWxlbWVudC5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbigxKSA9PiAxXG4oKDEpKSA9PiAoMSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJzYXNzOm1ldGFcIjtcblxuQGZ1bmN0aW9uIGRlLWxpc3QoJHZhbHVlKSB7XG4gICR0eXBlczogKFwibGlzdFwiLCBcImFyZ2xpc3RcIik7XG5cbiAgQGlmIG5vdCBsaXN0LmluZGV4KCR0eXBlcywgbWV0YS50eXBlLW9mKCR2YWx1ZSkpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gICRvdXRwdXQ6IGlmKGxpc3QubGVuZ3RoKCR2YWx1ZSkgPT0gMSwgbGlzdC5udGgoJHZhbHVlLCAxKSwgJHZhbHVlKTtcblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vIEBkZWJ1ZyBkZS1saXN0KCgxKSk7XG4vLyBAcmV0dXJuIDE7XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZXJyb3Itbm90LXRva2VuKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgYSBjb21tb24gbm90LWEtdG9rZW4gZXJyb3IuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJlcnJvclwiIGFzICo7XG5cbkBmdW5jdGlvbiBlcnJvci1ub3QtdG9rZW4oJHRva2VuLCAkdHlwZSwgJHZhbGlkLXRva2VuLW1hcDogZmFsc2UpIHtcbiAgJHZhbGlkLXRva2VuLW1lc3NhZ2U6IGlmKFxuICAgICR2YWxpZC10b2tlbi1tYXAsXG4gICAgXCIgVmFsaWQgdG9rZW5zOiAje21hcC5rZXlzKCR2YWxpZC10b2tlbi1tYXApfVwiLFxuICAgIFwiXCJcbiAgKTtcbiAgQHJldHVybiB1c3dkcy1lcnJvcihcbiAgICBcIicjeyR0b2tlbn0nIGlzIG5vdCBhIHZhbGlkIFVTV0RTICN7JHR5cGV9IHRva2VuLiAjeyR2YWxpZC10b2tlbi1tZXNzYWdlfVwiXG4gICk7XG59XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudXN3ZHMtZXJyb3IoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQWxsb3cgdGhlIHN5c3RlbSB0byBwYXNzIGFuIGVycm9yIGFzIHRleHRcbnRvIHRlc3QgZXJyb3Igc3RhdGVzIGluIHVuaXQgdGVzdGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuJGVycm9yLW91dHB1dC1vdmVycmlkZTogZmFsc2UgIWRlZmF1bHQ7XG5AZnVuY3Rpb24gdXN3ZHMtZXJyb3IoJG1lc3NhZ2UsICRvdmVycmlkZTogJGVycm9yLW91dHB1dC1vdmVycmlkZSkge1xuICBAaWYgJG92ZXJyaWRlIHtcbiAgICBAcmV0dXJuIFwiRXJyb3I6ICN7JG1lc3NhZ2V9XCI7XG4gIH1cblxuICBAZXJyb3IgXCIjeyRtZXNzYWdlfVwiO1xufVxuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC1kZWZhdWx0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJldHVybnMgdGhlIGRlZmF1bHQgdmFsdWUgZnJvbSBhIG1hcFxub2YgcHJvamVjdCBkZWZhdWx0c1xuZ2V0LWRlZmF1bHQoXCJiZy1jb2xvclwiKVxuPiAkdGhlbWUtYm9keS1iYWNrZ3JvdW5kLWNvbG9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptYXBcIjtcblxuQHVzZSBcIi4uLy4uL3ZhcmlhYmxlcy9wcm9qZWN0LWRlZmF1bHRzXCIgYXMgKjtcblxuQGZ1bmN0aW9uIGdldC1kZWZhdWx0KCR2YXIpIHtcbiAgJHZhbHVlOiBtYXAuZ2V0KCRwcm9qZWN0LWRlZmF1bHRzLCAkdmFyKTtcbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuaGFzLWltcG9ydGFudCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DaGVjayB0byBzZWUgaWYgYCFpbXBvcnRhbnRgIGlzXG5iZWluZyBwYXNzZWQgaW4gYSBtaXhpbidzIHByb3BzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuQHVzZSBcImRlLWxpc3RcIiBhcyAqO1xuQHVzZSBcImdldC1sYXN0XCIgYXMgKjtcblxuQGZ1bmN0aW9uIGhhcy1pbXBvcnRhbnQoJHByb3BzKSB7XG4gICRwcm9wczogZGUtbGlzdCgkcHJvcHMpO1xuXG4gIEBpZiBnZXQtbGFzdCgkcHJvcHMpID09IFwiIWltcG9ydGFudFwiIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG4vLyBAZGVidWcgaGFzLWltcG9ydGFudCgoZm9vLCBcIiFpbXBvcnRhbnRcIikpO1xuLy8gQHJldHVybiB0cnVlXG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubWFwLWNvbGxlY3QoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29sbGVjdCBtdWx0aXBsZSBtYXBzIGludG8gYSBzaW5nbGVcbmxhcmdlIG1hcFxuc291cmNlOiBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9iaWdnbGVzcm9ja3MvZDc1MDkxNzAwZjhmMmJlNWFiZmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOm1hcFwiO1xuXG5AZnVuY3Rpb24gbWFwLWNvbGxlY3QoJG1hcHMuLi4pIHtcbiAgJGNvbGxlY3Rpb246ICgpO1xuXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgICRjb2xsZWN0aW9uOiBtYXAubWVyZ2UoJGNvbGxlY3Rpb24sICRtYXApO1xuICB9XG5cbiAgQHJldHVybiAkY29sbGVjdGlvbjtcbn1cblxuLy8gQGRlYnVnIG1hcC1jb2xsZWN0KFxuLy8gICAoXG4vLyAgICAgXCJmb29cIjogYmFyLFxuLy8gICApLFxuLy8gICAoXG4vLyAgICAgXCJiYXpcIjogcXV4LFxuLy8gICApXG4vLyApO1xuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm1hcC1kZWVwLWdldCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AYXV0aG9yIEh1Z28gR2lyYXVkZWxcbkBhY2Nlc3MgcHVibGljXG5AcGFyYW0ge01hcH0gJG1hcCAtIE1hcFxuQHBhcmFtIHtBcmdsaXN0fSAka2V5cyAtIEtleSBjaGFpblxuQHJldHVybiB7Kn0gLSBEZXNpcmVkIHZhbHVlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuQHVzZSBcInNhc3M6bWFwXCI7XG5cbkBmdW5jdGlvbiBtYXAtZGVlcC1nZXQoJG1hcCwgJGtleXMuLi4pIHtcbiAgQGVhY2ggJGtleSBpbiAka2V5cyB7XG4gICAgJG1hcDogbWFwLmdldCgkbWFwLCAka2V5KTtcbiAgfVxuXG4gIEByZXR1cm4gJG1hcDtcbn1cblxuLy8gQGRlYnVnIG1hcC1kZWVwLWdldChcbi8vICAgKFxuLy8gICAgIFwiZm9vXCI6IChcbi8vICAgICAgIFwiYmFyXCI6IGJhelxuLy8gICAgIClcbi8vICAgKSxcbi8vICAgZm9vLFxuLy8gICBiYXJcbi8vICk7XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubXVsdGktY2F0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbmNhdGVuYXRlIHR3byBsaXN0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbkB1c2UgXCJzYXNzOmxpc3RcIjtcblxuQGZ1bmN0aW9uIG11bHRpLWNhdCgkbGlzdDEsICRsaXN0Mikge1xuICAkdGhpcy1saXN0OiAoKTtcblxuICBAZWFjaCAkZSBpbiAkbGlzdDEge1xuICAgIEBlYWNoICRlZSBpbiAkbGlzdDIge1xuICAgICAgJHRoaXMtYmxvY2s6ICRlICsgJGVlO1xuICAgICAgJHRoaXMtbGlzdDogbGlzdC5qb2luKCR0aGlzLWxpc3QsICR0aGlzLWJsb2NrKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR0aGlzLWxpc3Q7XG59XG5cbi8vIEBkZWJ1ZyBtdWx0aS1jYXQoKDEsIDIpLCAoYSwgYikpO1xuLy8gMWEsIDFiLCAyYSwgMmJcbiIsIi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5yZW1vdmUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVtb3ZlIGEgdmFsdWUgZnJvbSBhIGxpc3Rcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5AdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwic2FzczptZXRhXCI7XG5cbkBmdW5jdGlvbiByZW1vdmUoJGxpc3QsICR2YWx1ZSwgJHJlY3Vyc2l2ZTogZmFsc2UpIHtcbiAgJHJlc3VsdDogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsaXN0Lmxlbmd0aCgkbGlzdCkge1xuICAgIEBpZiBtZXRhLnR5cGUtb2YobGlzdC5udGgoJGxpc3QsICRpKSkgPT0gbGlzdCBhbmQgJHJlY3Vyc2l2ZSB7XG4gICAgICAkcmVzdWx0OiBsaXN0LmFwcGVuZChcbiAgICAgICAgJHJlc3VsdCxcbiAgICAgICAgcmVtb3ZlKGxpc3QubnRoKCRsaXN0LCAkaSksICR2YWx1ZSwgJHJlY3Vyc2l2ZSlcbiAgICAgICk7XG4gICAgfSBAZWxzZSBpZiBsaXN0Lm50aCgkbGlzdCwgJGkpICE9ICR2YWx1ZSB7XG4gICAgICAkcmVzdWx0OiBsaXN0LmFwcGVuZCgkcmVzdWx0LCBsaXN0Lm50aCgkbGlzdCwgJGkpKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIEBkZWJ1ZyByZW1vdmUoKDEsIDIsIDMpLCAyKTtcbi8vIEByZXR1cm4gMSwgM1xuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnNtYXJ0LXF1b3RlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblF1b3RlcyBzdHJpbmdzXG5JbnNwZWN0cyBgcHhgLCBgeHNgLCBhbmQgYHhsYCBudW1iZXJzXG5MZWF2ZXMgYm9vbHMgYXMgaXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJzYXNzOm1ldGFcIjtcbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuXG5AZnVuY3Rpb24gc21hcnQtcXVvdGUoJHZhbHVlKSB7XG4gIEBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSA9PSBcInN0cmluZ1wiIHtcbiAgICBAcmV0dXJuIHN0cmluZy5xdW90ZSgkdmFsdWUpO1xuICB9XG5cbiAgQGlmIG1ldGEudHlwZS1vZigkdmFsdWUpID09XG4gICAgXCJudW1iZXJcIiBhbmRcbiAgICBsaXN0LmluZGV4KChcInB4XCIsIFwieGxcIiwgXCJ4c1wiKSwgbWF0aC51bml0KCR2YWx1ZSkpXG4gIHtcbiAgICBAcmV0dXJuIG1ldGEuaW5zcGVjdCgkdmFsdWUpO1xuICB9XG5cbiAgQGlmIG1ldGEudHlwZS1vZigkdmFsdWUpID09IFwiY29sb3JcIiB7XG4gICAgQGVycm9yICdPbmx5IHVzZSBxdW90ZWQgY29sb3IgdG9rZW5zIGluIFVTV0RTIGZ1bmN0aW9ucyBhbmQgbWl4aW5zLiAnXG4gICAgICArICdTZWUgZGVzaWduc3lzdGVtLmRpZ2l0YWwuZ292L2Rlc2lnbi10b2tlbnMvY29sb3IgJ1xuICAgICAgKyAnZm9yIG1vcmUgaW5mb3JtYXRpb24uJztcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLyBAZGVidWcgc21hcnQtcXVvdGUoZm9vKTtcbi8vIEByZXR1cm4gZm9vO1xuLy8gQGRlYnVnIHNtYXJ0LXF1b3RlKFwiM3hzXCIpO1xuLy8gQGRlYnVnIDN4cztcbiIsIkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc3RyLXJlcGxhY2UoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmVwbGFjZSBhbnkgc3Vic3RyaW5nIHdpdGggYW5vdGhlclxuc3RyaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcbiAgJGluZGV4OiBzdHJpbmcuaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHJpbmcuc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArXG4gICAgICBzdHItcmVwbGFjZShcbiAgICAgICAgc3RyaW5nLnNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0cmluZy5sZW5ndGgoJHNlYXJjaCkpLFxuICAgICAgICAkc2VhcmNoLFxuICAgICAgICAkcmVwbGFjZVxuICAgICAgKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gQGRlYnVnIHN0ci1yZXBsYWNlKFwiQmF0bWFuXCIsIFwibWFuXCIpO1xuLy8gQHJldHVybiBCYXQ7XG4iLCJAdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwic2FzczpzdHJpbmdcIjtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnN0ci1zcGxpdCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TcGxpdCBhIHN0cmluZyBhdCBhIGdpdmVuIHNlcGFyYXRvclxuYW5kIGNvbnZlcnQgaW50byBhIGxpc3Qgb2Ygc3Vic3RyaW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQGZ1bmN0aW9uIHN0ci1zcGxpdCgkc3RyaW5nLCAkc2VwYXJhdG9yKSB7XG4gICRzcGxpdC1hcnI6ICgpO1xuICAkaW5kZXg6IHN0cmluZy5pbmRleCgkc3RyaW5nLCAkc2VwYXJhdG9yKTtcbiAgQHdoaWxlICRpbmRleCAhPSBudWxsIHtcbiAgICAkaXRlbTogc3RyaW5nLnNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpO1xuICAgICRzcGxpdC1hcnI6IGxpc3QuYXBwZW5kKCRzcGxpdC1hcnIsICRpdGVtKTtcbiAgICAkc3RyaW5nOiBzdHJpbmcuc2xpY2UoJHN0cmluZywgJGluZGV4ICsgMSk7XG4gICAgJGluZGV4OiBzdHJpbmcuaW5kZXgoJHN0cmluZywgJHNlcGFyYXRvcik7XG4gIH1cbiAgJHNwbGl0LWFycjogbGlzdC5hcHBlbmQoJHNwbGl0LWFyciwgJHN0cmluZyk7XG5cbiAgQHJldHVybiAkc3BsaXQtYXJyO1xufVxuXG4vLyBAZGVidWcgc3RyLXNwbGl0KFwiMSwgMiwgMywgNCwgNVwiLCBcIixcIik7XG4vLyBAcmV0dXJuIFwiMVwiIFwiIDJcIiBcIiAzXCIgXCIgNFwiIFwiIDVcIjtcbiIsIi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5zdHJpcC11bml0KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJlbW92ZSB0aGUgdW5pdCBvZiBhIGxlbmd0aFxuQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG5AcGFyYW0ge051bWJlcn0gJG51bWJlciAtIE51bWJlciB0byByZW1vdmUgdW5pdCBmcm9tXG5AcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptZXRhXCI7XG5AdXNlIFwic2FzczptYXRoXCI7XG5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW1iZXIpIHtcbiAgQGlmIG1ldGEudHlwZS1vZigkbnVtYmVyKSA9PSBcIm51bWJlclwiIGFuZCBub3QgbWF0aC5pcy11bml0bGVzcygkbnVtYmVyKSB7XG4gICAgQHJldHVybiBtYXRoLmRpdigkbnVtYmVyLCAoJG51bWJlciAqIDAgKyAxKSk7XG4gIH1cblxuICBAcmV0dXJuICRudW1iZXI7XG59XG5cbi8vIEBkZWJ1ZyBzdHJpcC11bml0KDEwcHgpO1xuLy8gQHJldHVybiAxMDtcbiIsIi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5iYXNlLXRvLW1hcCgpXG5AVE9ETzogRGVwcmVjYXRlIGFuZCBkZWxldGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnQgYSBzaW5nbGUgYmFzZSB0byBhIFVTV0RTXG52YWx1ZSBtYXAuXG5cbkNhbmRpZGF0ZSBmb3IgZGVwcmVjYXRpb24gaWYgd2UgcmVtb3ZlXG5pc1JlYWRhYmxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwicmVtb3ZlXCIgYXMgKjtcblxuQGZ1bmN0aW9uIGJhc2UtdG8tbWFwKCR2YWx1ZXMpIHtcbiAgJGw6IGxpc3QubGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIEBpZiAkbCA9PSAxIG9yIGxpc3QubnRoKCR2YWx1ZXMsICRsKSAhPSBpc1JlYWRhYmxlIHtcbiAgICBAcmV0dXJuIChzbHVnOiAkdmFsdWVzLCBpc1JlYWRhYmxlOiB0cnVlKTtcbiAgfSBAZWxzZSB7XG4gICAgJHZhbHVlczogcmVtb3ZlKCR2YWx1ZXMsIGlzUmVhZGFibGUpO1xuXG4gICAgQHJldHVybiAoc2x1ZzogdW5xdW90ZShsaXN0Lm50aCgkdmFsdWVzLCAxKSksIGlzUmVhZGFibGU6IHRydWUpO1xuICB9XG59XG5cbkBmdW5jdGlvbiB0by1tYXAoJGtleSwgJHZhbHVlcykge1xuICAkbDogbGlzdC5sZW5ndGgoJHZhbHVlcyk7XG5cbiAgQGlmICRrZXkgPT0gXCJub01vZGlmaWVyXCIgb3IgJGtleSA9PSBcIm5vVmFsdWVcIiB7XG4gICAgJGtleTogXCJcIjtcbiAgfVxuXG4gIEByZXR1cm4gKHNsdWc6ICRrZXksIGNvbnRlbnQ6ICR2YWx1ZXMpO1xufVxuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnRvLW51bWJlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5DYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG5AcmV0dXJuIHtOdW1iZXJ9XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptZXRhXCI7XG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuQHVzZSBcInNhc3M6bGlzdFwiO1xuXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICBAaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSkgIT0gXCJzdHJpbmdcIiB7XG4gICAgQHdhcm4gXCJWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLlwiO1xuICB9XG5cbiAgJHJlc3VsdDogMDtcbiAgJGRpZ2l0czogMDtcbiAgJG1pbnVzOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAxLCAxKSA9PSBcIi1cIjtcbiAgJG51bWJlcnM6IChcbiAgICBcIjBcIjogMCxcbiAgICBcIjFcIjogMSxcbiAgICBcIjJcIjogMixcbiAgICBcIjNcIjogMyxcbiAgICBcIjRcIjogNCxcbiAgICBcIjVcIjogNSxcbiAgICBcIjZcIjogNixcbiAgICBcIjdcIjogNyxcbiAgICBcIjhcIjogOCxcbiAgICBcIjlcIjogOSxcbiAgKTtcblxuICBAZm9yICRpIGZyb20gaWYoJG1pbnVzLCAyLCAxKSB0aHJvdWdoIHN0cmluZy5sZW5ndGgoJHZhbHVlKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuICAgIEBpZiBub3QobGlzdC5pbmRleChtYXAua2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gXCIuXCIpIHtcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKFxuICAgICAgICBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSxcbiAgICAgICAgc3RyaW5nLnNsaWNlKCR2YWx1ZSwgJGkpXG4gICAgICApO1xuICAgIH1cblxuICAgIEBpZiAkY2hhcmFjdGVyID09IFwiLlwiIHtcbiAgICAgICRkaWdpdHM6IDE7XG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLmdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWF0aC5kaXYobWFwLmdldCgkbnVtYmVycywgJGNoYXJhY3RlciksICRkaWdpdHMpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XG59XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudW5wYWNrKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNyZWF0ZSBsaXN0cyBvZiBzaW5nbGUgaXRlbXMgZnJvbSBsaXN0c1xub2YgbGlzdHMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4oMSwgKDIuMSwgMi4yKSwgMykgLS0+XG4oMSwgMi4xLCAyLjIsIDMpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwic2FzczptZXRhXCI7XG5AdXNlIFwiZGUtbGlzdFwiIGFzICo7XG5cbkBmdW5jdGlvbiB1bnBhY2soJHZhbHVlKSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiBsaXN0Lmxlbmd0aCgkdmFsdWUpID09IDAge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgQGVhY2ggJGkgaW4gJHZhbHVlIHtcbiAgICBAaWYgbWV0YS50eXBlLW9mKCRpKSA9PSBcImxpc3RcIiB7XG4gICAgICBAZWFjaCAkaWkgaW4gJGkge1xuICAgICAgICAkb3V0cHV0OiBsaXN0LmFwcGVuZCgkb3V0cHV0LCAkaWksIGNvbW1hKTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICRvdXRwdXQ6IGxpc3QuYXBwZW5kKCRvdXRwdXQsICRpLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBkZS1saXN0KCRvdXRwdXQpO1xufVxuXG4vLyBAZGVidWcgdW5wYWNrKCgxLCAoMi4xLCAyLjIpLCAzKSk7XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc2V0LXRoZW1lLWNvbG9yKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkRlcml2ZSBhIGNvbG9yIGZyb20gYSBzeXN0ZW0gY29sb3IgdG9rZW5cbm9yIGEgaGV4IHZhbHVlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJzYXNzOm1ldGFcIjtcbkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9ucy9nZW5lcmFsXCI7XG5AdXNlIFwiLi4vLi4vc2V0dGluZ3NcIjtcbkB1c2UgXCIuLi8uLi90b2tlbnMvY29sb3Ivc2hvcnRjb2Rlcy1jb2xvci1zeXN0ZW1cIiBhcyB0b2tlbnM7XG5cbkBmdW5jdGlvbiBzZXQtdGhlbWUtY29sb3IoJHZhbHVlLCAkZmxhZzogbnVsbCkge1xuICAkdmFsdWU6IGdlbmVyYWwudW5wYWNrKCR2YWx1ZSk7XG5cbiAgLy8gSWYgaXQncyBhIGNvbG9yLCByZXR1cm4gdGhhdCBjb2xvclxuICAvLyBXaXRoaG9sZCB3YXJuaW5nIGlmIFwibm8td2FyblwiIGZsYWdcblxuICBAaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSkgPT0gY29sb3Ige1xuICAgIEBpZiAkZmxhZyA9PSBcIm5vLXdhcm5cIiB7XG4gICAgICBAcmV0dXJuICR2YWx1ZTtcbiAgICB9XG5cbiAgICBAaWYgc2V0dGluZ3MuJHRoZW1lLXNob3ctY29tcGlsZS13YXJuaW5ncyB7XG4gICAgICBAd2FybiAnT3ZlcnJpZGU6IGAjeyR2YWx1ZX1gIGlzIG5vdCBhIFVTV0RTIGNvbG9yIHRva2VuLic7XG4gICAgfVxuXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBJZiBpdCdzIGZhbHNlLCByZXR1cm4gZmFsc2VcblxuICBAaWYgJHZhbHVlID09IGZhbHNlIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIEFueSBvdGhlciB2YWx1ZSBzaG91bGQgYmUgZXZhbHVhdGVkIGFzIGEgc3lzdGVtIHRva2VuXG5cbiAgJHZhbHVlOiBnZW5lcmFsLnNtYXJ0LXF1b3RlKCR2YWx1ZSk7XG5cbiAgQGlmIG1hcC5oYXMta2V5KHRva2Vucy4kc3lzdGVtLWNvbG9yLXNob3J0Y29kZXMsICR2YWx1ZSkge1xuICAgICRvdXItY29sb3I6IG1hcC5nZXQodG9rZW5zLiRzeXN0ZW0tY29sb3Itc2hvcnRjb2RlcywgJHZhbHVlKTtcbiAgICBAaWYgJG91ci1jb2xvciA9PSBmYWxzZSB7XG4gICAgICBAZXJyb3IgJ1VTV0RTIGRvZXMgbm90IGluY2x1ZGUgLTkwdiBjb2xvciB0b2tlbnMnO1xuICAgIH1cbiAgICBAcmV0dXJuICRvdXItY29sb3I7XG4gIH1cblxuICBAZXJyb3IgJ2AjeyR2YWx1ZX1gIGlzIG5vdCBhIHZhbGlkIFVTV0RTIGNvbG9yIHRva2VuLiAnXG4gICAgICArICdTZWUgZGVzaWduc3lzdGVtLmRpZ2l0YWwuZ292L2Rlc2lnbi10b2tlbnMvY29sb3IgJ1xuICAgICAgKyAnZm9yIG1vcmUgaW5mb3JtYXRpb24uJztcbn1cblxuLy8gQGRlYnVnIHNldC10aGVtZS1jb2xvcihcInJlZC01MFwiKTtcbi8vIEByZXR1cm4gI2Q4MzkzMztcbi8vIEBkZWJ1ZyBzZXQtdGhlbWUtY29sb3IoZmFsc2UpO1xuLy8gQHJldHVybiBmYWxzZTtcbi8vIEBkZWJ1ZyBzZXQtdGhlbWUtY29sb3IoXCJyZWQtOTB2XCIpO1xuLy8gQHJldHVybiBlcnJvciBcIm5vIDkwdiB0b2tlbnNcIjtcbi8vIEBkZWJ1ZyBzZXQtdGhlbWUtY29sb3IoI2YwMCwgbm8td2Fybik7XG4vLyBAcmV0dXJuICNmMDA7XG4vLyBAZGVidWcgc2V0LXRoZW1lLWNvbG9yKCNmMDApO1xuLy8gQHJldHVybiAjZjAwICsgd2FybmluZztcbi8vIEBkZWJ1ZyBzZXQtdGhlbWUtY29sb3IoXCJmb29cIik7XG4vLyBAcmV0dXJuIGVycm9yIFwibm90IHZhbGlkXCI7XG4iLCJAdXNlIFwicm9vdFwiO1xuQHVzZSBcInNhc3M6bWF0aFwiO1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucHgtdG8tcmVtKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnRzIGEgdmFsdWUgaW4gcHggdG8gYSB2YWx1ZSBpbiByZW1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkBmdW5jdGlvbiBweC10by1yZW0oJHBpeGVscykge1xuICBAaWYgbm90ICRwaXhlbHMge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbiAgJHB4LXRvLXJlbTogKG1hdGguZGl2KCRwaXhlbHMsIHJvb3QuJHJvb3QtZm9udC1zaXplLWVxdWl2KSkgKiAxcmVtO1xuICAkcHgtdG8tcmVtOiBtYXRoLmRpdihtYXRoLnJvdW5kKCRweC10by1yZW0gKiAxMDApLCAxMDApO1xuXG4gIEByZXR1cm4gJHB4LXRvLXJlbTtcbn1cblxuLy8gQGRlYnVnIHB4LXRvLXJlbSgxNnB4KTtcbi8vIEByZXR1cm4gMXJlbVxuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnJlbS10by1weCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db252ZXJ0cyBhIHZhbHVlIGluIHJlbSB0byBhIHZhbHVlIGluIHB4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwicm9vdFwiO1xuXG5AZnVuY3Rpb24gcmVtLXRvLXB4KCR2YWx1ZS1pbi1yZW0pIHtcbiAgQGlmIHVuaXQoJHZhbHVlLWluLXJlbSkgPT0gXCJyZW1cIiB7XG4gICAgJHJlbS10by1weDogKG1hdGguZGl2KCR2YWx1ZS1pbi1yZW0sIDFyZW0pKSAqIHJvb3QuJHJvb3QtZm9udC1zaXplLWVxdWl2O1xuICAgIEByZXR1cm4gJHJlbS10by1weDtcbiAgfVxuICBAaWYgdW5pdCgkdmFsdWUtaW4tcmVtKSAhPSBcInB4XCIge1xuICAgIEBlcnJvciAnVGhpcyB2YWx1ZSBtdXN0IGJlIGluIGVpdGhlciBweCBvciByZW0nO1xuICB9XG4gIEByZXR1cm4gJHZhbHVlLWluLXJlbTtcbn1cblxuLy8gQGRlYnVnIHJlbS10by1weCgycmVtKTtcbi8vIEByZXR1cm4gMzJweFxuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnJlbS10by11c2VyLWVtKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnRzIGEgdmFsdWUgaW4gcmVtIHRvIGEgdmFsdWUgaW5cblt1c2VyLXNldHRpbmdzXSBlbSBmb3IgdXNlIGluIG1lZGlhXG5xdWVyaWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptYXRoXCI7XG5cbkBmdW5jdGlvbiByZW0tdG8tdXNlci1lbSgkZ3JpZC1pbi1yZW0pIHtcbiAgJHJlbS10by11c2VyLWVtOiAobWF0aC5kaXYoJGdyaWQtaW4tcmVtLCAxcmVtKSkgKiAxZW07XG5cbiAgQHJldHVybiAkcmVtLXRvLXVzZXItZW07XG59XG5cbi8vIEBkZWJ1ZyByZW0tdG8tdXNlci1lbSgycmVtKTtcbi8vIEByZXR1cm4gMmVtXG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc3BhY2luZy1tdWx0aXBsZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db252ZXJ0cyBhIHNwYWNpbmcgdW5pdCBtdWx0aXBsZSBpbnRvXG50aGUgZGVzaXJlZCBmaW5hbCB1bml0cyAoY3VycmVudGx5IHJlbSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCIuLi8uLi90b2tlbnMvdW5pdHMvZ3JpZC1iYXNlXCI7XG5AdXNlIFwicm9vdFwiO1xuXG5AZnVuY3Rpb24gc3BhY2luZy1tdWx0aXBsZSgkdW5pdCkge1xuICAkZ3JpZC10by1yZW06IG1hdGguZGl2KFxuICAgICAgKGdyaWQtYmFzZS4kc3lzdGVtLXNwYWNpbmctZ3JpZC1iYXNlICogJHVuaXQpLFxuICAgICAgcm9vdC4kcm9vdC1mb250LXNpemUtZXF1aXZcbiAgICApICogMXJlbTtcblxuICBAcmV0dXJuICRncmlkLXRvLXJlbTtcbn1cblxuLy8gQGRlYnVnIHNwYWNpbmctbXVsdGlwbGUoMSk7XG4vLyBAcmV0dXJuIDAuNXJlbVxuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnVuaXRzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNvbnZlcnRzIGEgc3BhY2luZyB1bml0IGludG9cbnRoZSBkZXNpcmVkIGZpbmFsIHVuaXRzIChjdXJyZW50bHkgcmVtKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwic2FzczptZXRhXCI7XG5AdXNlIFwic2FzczpzdHJpbmdcIjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnMvZ2VuZXJhbC9lcnJvci1ub3QtdG9rZW4uc2Nzc1wiO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9ucy9vdXRwdXQvbnVtYmVyLXRvLXRva2VuXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi92YXJpYWJsZXMvcHJvamVjdC1zcGFjaW5nXCIgYXMgdmFycztcblxuQGZ1bmN0aW9uIHVuaXRzKCR2YWx1ZSkge1xuICAkY29udmVydGVkOiBpZihcbiAgICBtZXRhLnR5cGUtb2YoJHZhbHVlKSA9PSBcInN0cmluZ1wiLFxuICAgIHN0cmluZy5xdW90ZSgkdmFsdWUpLFxuICAgIG51bWJlci10by10b2tlbigkdmFsdWUpXG4gICk7XG5cbiAgQGlmIG5vdChtYXAuaGFzLWtleSh2YXJzLiRwcm9qZWN0LXNwYWNpbmctc3RhbmRhcmQsICRjb252ZXJ0ZWQpKSB7XG4gICAgQHJldHVybiBlcnJvci1ub3QtdG9rZW4oXG4gICAgICAkdmFsdWUsXG4gICAgICBcInNwYWNpbmcgdW5pdFwiLFxuICAgICAgdmFycy4kcHJvamVjdC1zcGFjaW5nLXN0YW5kYXJkXG4gICAgKTtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLmdldCh2YXJzLiRwcm9qZWN0LXNwYWNpbmctc3RhbmRhcmQsICRjb252ZXJ0ZWQpO1xufVxuXG4vLyBAZGVidWcgdW5pdHMoMC41KTtcbi8vIEByZXR1cm4gMC4yNXJlbTtcbiIsIi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5udW1iZXItdG8tdG9rZW4oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29udmVydHMgYW4gaW50ZWdlciBvciBudW1lcmljIHZhbHVlXG5pbnRvIGEgc3lzdGVtIHZhbHVlXG5cbkV4OiAwLjUgICAtLT4gJzA1J1xuICAgIC0xcHggIC0tPiAnbmVnLTFweCdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6bWV0YVwiO1xuQHVzZSBcIi4uLy4uL3ZhcmlhYmxlcy9wcm9qZWN0LXNwYWNpbmdcIiBhcyB2YXJzO1xuXG5AZnVuY3Rpb24gbnVtYmVyLXRvLXRva2VuKCRudW1iZXIpIHtcbiAgJG51bWJlcjogbWV0YS5pbnNwZWN0KCRudW1iZXIpO1xuXG4gIEBpZiBub3QobWFwLmhhcy1rZXkodmFycy4kbnVtYmVyLXRvLXZhbHVlLCAkbnVtYmVyKSkge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBAcmV0dXJuIG1hcC5nZXQodmFycy4kbnVtYmVyLXRvLXZhbHVlLCAkbnVtYmVyKTtcbn1cblxuLy8gQGRlYnVnIG51bWJlci10by10b2tlbigwLjUpO1xuLy8gQHJldHVybiAwNTtcbiIsIi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Qcm9qZWN0IGZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db2xsZWN0cyBmb250IHNldHRpbmdzIGluIGEgbWFwIGZvclxubG9vcGluZy5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCIuLi9zZXR0aW5nc1wiO1xuXG4kcHJvamVjdC1mb250LXR5cGUtdG9rZW5zOiAoXG4gIFwiY29uZFwiOiAoXG4gICAgXCJ0eXBlZmFjZS10b2tlblwiOiBzZXR0aW5ncy4kdGhlbWUtZm9udC10eXBlLWNvbmQsXG4gICAgXCJjdXN0b20tc3RhY2tcIjogc2V0dGluZ3MuJHRoZW1lLWZvbnQtY29uZC1jdXN0b20tc3RhY2ssXG4gICAgXCJzcmNcIjogc2V0dGluZ3MuJHRoZW1lLWZvbnQtY29uZC1jdXN0b20tc3JjLFxuICApLFxuICBcImljb25cIjogKFxuICAgIFwidHlwZWZhY2UtdG9rZW5cIjogc2V0dGluZ3MuJHRoZW1lLWZvbnQtdHlwZS1pY29uLFxuICAgIFwiY3VzdG9tLXN0YWNrXCI6IHNldHRpbmdzLiR0aGVtZS1mb250LWljb24tY3VzdG9tLXN0YWNrLFxuICAgIFwic3JjXCI6IHNldHRpbmdzLiR0aGVtZS1mb250LWljb24tY3VzdG9tLXNyYyxcbiAgKSxcbiAgXCJsYW5nXCI6IChcbiAgICBcInR5cGVmYWNlLXRva2VuXCI6IHNldHRpbmdzLiR0aGVtZS1mb250LXR5cGUtbGFuZyxcbiAgICBcImN1c3RvbS1zdGFja1wiOiBzZXR0aW5ncy4kdGhlbWUtZm9udC1sYW5nLWN1c3RvbS1zdGFjayxcbiAgICBcInNyY1wiOiBzZXR0aW5ncy4kdGhlbWUtZm9udC1sYW5nLWN1c3RvbS1zcmMsXG4gICksXG4gIFwibW9ub1wiOiAoXG4gICAgXCJ0eXBlZmFjZS10b2tlblwiOiBzZXR0aW5ncy4kdGhlbWUtZm9udC10eXBlLW1vbm8sXG4gICAgXCJjdXN0b20tc3RhY2tcIjogc2V0dGluZ3MuJHRoZW1lLWZvbnQtbW9uby1jdXN0b20tc3RhY2ssXG4gICAgXCJzcmNcIjogc2V0dGluZ3MuJHRoZW1lLWZvbnQtbW9uby1jdXN0b20tc3JjLFxuICApLFxuICBcInNhbnNcIjogKFxuICAgIFwidHlwZWZhY2UtdG9rZW5cIjogc2V0dGluZ3MuJHRoZW1lLWZvbnQtdHlwZS1zYW5zLFxuICAgIFwiY3VzdG9tLXN0YWNrXCI6IHNldHRpbmdzLiR0aGVtZS1mb250LXNhbnMtY3VzdG9tLXN0YWNrLFxuICAgIFwic3JjXCI6IHNldHRpbmdzLiR0aGVtZS1mb250LXNhbnMtY3VzdG9tLXNyYyxcbiAgKSxcbiAgXCJzZXJpZlwiOiAoXG4gICAgXCJ0eXBlZmFjZS10b2tlblwiOiBzZXR0aW5ncy4kdGhlbWUtZm9udC10eXBlLXNlcmlmLFxuICAgIFwiY3VzdG9tLXN0YWNrXCI6IHNldHRpbmdzLiR0aGVtZS1mb250LXNlcmlmLWN1c3RvbS1zdGFjayxcbiAgICBcInNyY1wiOiBzZXR0aW5ncy4kdGhlbWUtZm9udC1zZXJpZi1jdXN0b20tc3JjLFxuICApLFxuKTtcbiIsIi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5MdW1pbmFuY2UgcmFuZ2VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4kc3lzdGVtLWNvbG9yLWdyYWRlczogKFxuICAxMDA6IChcbiAgICBcIm1pblwiOiAwLFxuICAgIFwibWF4XCI6IDAsXG4gICksXG4gIDkwOiAoXG4gICAgXCJtaW5cIjogMC4wMDUsXG4gICAgXCJtYXhcIjogMC4wMTUsXG4gICksXG4gIDgwOiAoXG4gICAgXCJtaW5cIjogMC4wMixcbiAgICBcIm1heFwiOiAwLjA0LFxuICApLFxuICA3MDogKFxuICAgIFwibWluXCI6IDAuMDUsXG4gICAgXCJtYXhcIjogMC4wNyxcbiAgKSxcbiAgNjA6IChcbiAgICBcIm1pblwiOiAwLjEsXG4gICAgXCJtYXhcIjogMC4xMjUsXG4gICksXG4gIDUwOiAoXG4gICAgXCJtaW5cIjogMC4xNzUsXG4gICAgXCJtYXhcIjogMC4xODMsXG4gICksXG4gIDQwOiAoXG4gICAgXCJtaW5cIjogMC4yMjUsXG4gICAgXCJtYXhcIjogMC4zLFxuICApLFxuICAzMDogKFxuICAgIFwibWluXCI6IDAuMzUsXG4gICAgXCJtYXhcIjogMC40NSxcbiAgKSxcbiAgMjA6IChcbiAgICBcIm1pblwiOiAwLjUsXG4gICAgXCJtYXhcIjogMC42NSxcbiAgKSxcbiAgMTA6IChcbiAgICBcIm1pblwiOiAwLjc1LFxuICAgIFwibWF4XCI6IDAuODIsXG4gICksXG4gIDU6IChcbiAgICBcIm1pblwiOiAwLjg1LFxuICAgIFwibWF4XCI6IDAuOTMsXG4gICksXG4gIDA6IChcbiAgICBcIm1pblwiOiAxLFxuICAgIFwibWF4XCI6IDEsXG4gICksXG4pO1xuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm5zKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkFkZCBhIG5hbWVzc3BhY2Ugb2YgJHR5cGUgaWYgdGhhdFxubmFtZXNwYWNlIGlzIHNldCB0byBvdXRwdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCIuLi8uLi9zZXR0aW5nc1wiO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9ucy9nZW5lcmFsL21hcC1kZWVwLWdldFwiIGFzICo7XG5AdXNlIFwiLi4vLi4vZnVuY3Rpb25zL2dlbmVyYWwvc21hcnQtcXVvdGVcIiBhcyAqO1xuXG5AZnVuY3Rpb24gbnMoJHR5cGUpIHtcbiAgJHR5cGU6IHNtYXJ0LXF1b3RlKCR0eXBlKTtcblxuICBAaWYgbm90IG1hcC1kZWVwLWdldChzZXR0aW5ncy4kdGhlbWUtbmFtZXNwYWNlLWNvbXBsZXRlLCAkdHlwZSwgb3V0cHV0KSB7XG4gICAgQHJldHVybiBcIlwiO1xuICB9XG5cbiAgQHJldHVybiBtYXAtZGVlcC1nZXQoc2V0dGluZ3MuJHRoZW1lLW5hbWVzcGFjZS1jb21wbGV0ZSwgJHR5cGUsIG5hbWVzcGFjZSk7XG59XG5cbi8vIEBkZWJ1ZyBucyhcImdyaWRcIik7XG4vLyBAcmV0dXJuIGdyaWQtXG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZ2V0LXN5c3RlbS1jb2xvcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5EZXJpdmUgYSBzeXN0ZW0gY29sb3IgZnJvbSBpdHNcbmZhbWlseSwgdmFsdWUsIGFuZCB2aXZpZCBvciBhIHBhc3NlZFxudmFyaWFibGUgdGhhdCBpcywgaXRzZWxmLCBhIGxpc3Rcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOm1ldGFcIjtcbkB1c2UgXCJzYXNzOmxpc3RcIjtcblxuQHVzZSBcIi4uLy4uL2Z1bmN0aW9ucy9nZW5lcmFsXCI7XG5AdXNlIFwiLi4vLi4vdG9rZW5zL2NvbG9yL3N5c3RlbS1jb2xvcnNcIiBhcyBjb2xvcjtcblxuQGZ1bmN0aW9uIGdldC1zeXN0ZW0tY29sb3IoXG4gICRjb2xvci1mYW1pbHk6IGZhbHNlLFxuICAkY29sb3ItZ3JhZGU6IGZhbHNlLFxuICAkY29sb3ItdmFyaWFudDogZmFsc2Vcbikge1xuICAvLyBJZiB0aGUgYXJnIGJlaW5nIHBhc3NlZCB0byB0aGUgZm5cbiAgLy8gaXMgYSB2YXJpYWJsZSBkZWZpbmVkIGFzIGEgbGlzdCxcbiAgLy8gJGNvbG9yLWZhbWlseSB3aWxsIGNvbnRhaW4gdGhpc1xuICAvLyBlbnRpcmUgbGlzdCwgYW5kIG5lZWRzIHRvIGJlXG4gIC8vIHVucGFja2VkLlxuICAvLyBleDpcbiAgLy8gICAgaW4gc2V0dGluZ3M6XG4gIC8vICAgICAgJHRoZW1lLWNvbG9yLXByaW1hcnkuJ2RhcmsnOiAnYmx1ZScsIDcwXG4gIC8vICAgIGluIHRoZSB0aGVtZSBjb2xvcnMgbWFwOlxuICAvLyAgICAgICRjb2xvci1wcmltYXJ5LWRhcms6IGdldC1zeXN0ZW0tY29sb3IoJHRoZW1lLWNvbG9yLXByaW1hcnkuJ2RhcmsnKSxcblxuICBAaWYgbWV0YS50eXBlLW9mKCRjb2xvci1mYW1pbHkpID09IFwibGlzdFwiIHtcbiAgICBAaWYgbGlzdC5sZW5ndGgoJGNvbG9yLWZhbWlseSkgPiAyIHtcbiAgICAgICRjb2xvci12YXJpYW50OiBsaXN0Lm50aCgkY29sb3ItZmFtaWx5LCAzKTtcbiAgICB9XG4gICAgJGNvbG9yLWdyYWRlOiBsaXN0Lm50aCgkY29sb3ItZmFtaWx5LCAyKTtcbiAgICAkY29sb3ItZmFtaWx5OiBsaXN0Lm50aCgkY29sb3ItZmFtaWx5LCAxKTtcbiAgfVxuXG4gICRjb2xvci1mYW1pbHk6IGdlbmVyYWwuc21hcnQtcXVvdGUoJGNvbG9yLWZhbWlseSk7XG4gICRjb2xvci12YXJpYW50OiBnZW5lcmFsLnNtYXJ0LXF1b3RlKCRjb2xvci12YXJpYW50KTtcblxuICAvLyBJZiB0aGUgYXJnIGJlaW5nIHBhc3NlZCB0byB0aGUgZm5cbiAgLy8gaXMgZmFsc2UsIGl0IHNob3VsZCBvdXRwdXQgYXMgYGZhbHNlYFxuICAvLyB0byBwcmVzZXJ2ZSBhIGZhbHNlIHZhbHVlIGluIHRoZVxuICAvLyB0YXJnZXQgbWFwXG4gIC8vIGV4OlxuICAvLyAgICBpbiBzZXR0aW5nczpcbiAgLy8gICAgICAkdGhlbWUtY29sb3ItcHJpbWFyeS4nZGFya2VzdCc6IGZhbHNlO1xuICAvLyAgICBpbiB0aGUgdGhlbWUgY29sb3JzIG1hcDpcbiAgLy8gICAgICAnZGFya2VzdCc6IGdldC1zeXN0ZW0tY29sb3IoJHRoZW1lLWNvbG9yLXByaW1hcnkuJ2Rhcmtlc3QnKSxcbiAgLy8gICAgICAnZGFya2VzdCc6IGZhbHNlLCAvLyBpcyB0aGUgZGVzaXJlZCBvdXRjb21lXG4gIC8vIFRPRE86IHNob3VsZCBhIGZhbHNlLXBhc3MgY29sb3IgZnVuY3Rpb24gYmUgYSBzZXBhcmF0ZSBmbj9cblxuICBAaWYgbm90ICRjb2xvci1mYW1pbHkge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBAaWYgJGNvbG9yLXZhcmlhbnQge1xuICAgICRvdXRwdXQ6IGdlbmVyYWwubWFwLWRlZXAtZ2V0KFxuICAgICAgY29sb3IuJHN5c3RlbS1jb2xvcnMsXG4gICAgICAkY29sb3ItZmFtaWx5LFxuICAgICAgJGNvbG9yLXZhcmlhbnQsXG4gICAgICAkY29sb3ItZ3JhZGVcbiAgICApO1xuXG4gICAgQHJldHVybiAkb3V0cHV0O1xuICB9XG5cbiAgJG91dHB1dDogZ2VuZXJhbC5tYXAtZGVlcC1nZXQoXG4gICAgY29sb3IuJHN5c3RlbS1jb2xvcnMsXG4gICAgJGNvbG9yLWZhbWlseSxcbiAgICAkY29sb3ItZ3JhZGVcbiAgKTtcblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuTGluZSBoZWlnaHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbiRzeXN0ZW0tbGluZS1oZWlnaHQ6IChcbiAgMTogMSxcbiAgMjogMS4yLFxuICAzOiAxLjM1LFxuICA0OiAxLjUsXG4gIDU6IDEuNjIsXG4gIDY6IDEuNzUsXG4pO1xuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk1lYXN1cmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbiRzeXN0ZW0tbWVhc3VyZS1zbWFsbGVyOiA0NGV4O1xuJHN5c3RlbS1tZWFzdXJlLXNtYWxsOiA2MGV4O1xuJHN5c3RlbS1tZWFzdXJlLWJhc2U6IDY0ZXg7XG4kc3lzdGVtLW1lYXN1cmUtbGFyZ2U6IDY4ZXg7XG4kc3lzdGVtLW1lYXN1cmUtbGFyZ2VyOiA3MmV4O1xuJHN5c3RlbS1tZWFzdXJlLWxhcmdlc3Q6IDg4ZXg7XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY2FwLWhlaWdodCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgdGhlIGNhcCBoZWlnaHQgb2YgYSB2YWxpZCB0eXBlZmFjZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vLi4vdG9rZW5zXCI7XG5AdXNlIFwidmFsaWRhdGUtdHlwZWZhY2UtdG9rZW5cIiBhcyAqO1xuXG5AZnVuY3Rpb24gY2FwLWhlaWdodCgkdHlwZWZhY2UtdG9rZW4pIHtcbiAgQGlmIG5vdCAkdHlwZWZhY2UtdG9rZW4ge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAkdHlwZWZhY2UtdG9rZW46IHZhbGlkYXRlLXR5cGVmYWNlLXRva2VuKCR0eXBlZmFjZS10b2tlbik7XG4gICR0b2tlbi1kYXRhOiBtYXAuZ2V0KHRva2Vucy4kYWxsLXR5cGVmYWNlLXRva2VucywgJHR5cGVmYWNlLXRva2VuKTtcbiAgQHJldHVybiBtYXAuZ2V0KCR0b2tlbi1kYXRhLCBcImNhcC1oZWlnaHRcIik7XG59XG5cbi8vIEBkZWJ1ZyBjYXAtaGVpZ2h0KFwicHVibGljLXNhbnNcIik7XG4vLyBAcmV0dXJuIDM2MnB4O1xuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnZhbGlkYXRlLXR5cGVmYWNlLXRva2VuKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNoZWNrIHRvIHNlZSBpZiBhIHR5cGVmYWNlLXRva2VuIGV4aXN0cy5cblRocm93IGFuIGVycm9yIGlmIGEgcGFzc2VkIHRva2VuIGRvZXNcbm5vdCBleGlzdCBpbiB0aGUgdHlwZWZhY2UtdG9rZW4gbWFwLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vLi4vdG9rZW5zXCI7XG5AdXNlIFwiLi4vZ2VuZXJhbC9lcnJvci1ub3QtdG9rZW5cIiBhcyAqO1xuXG5AZnVuY3Rpb24gdmFsaWRhdGUtdHlwZWZhY2UtdG9rZW4oJHR5cGVmYWNlLXRva2VuKSB7XG4gIEBpZiBub3QgbWFwLmhhcy1rZXkodG9rZW5zLiRhbGwtdHlwZWZhY2UtdG9rZW5zLCAkdHlwZWZhY2UtdG9rZW4pIHtcbiAgICBAcmV0dXJuIGVycm9yLW5vdC10b2tlbigkdHlwZWZhY2UtdG9rZW4sIFwidHlwZWZhY2VcIiwgJGFsbC10eXBlZmFjZS10b2tlbnMpO1xuICB9XG5cbiAgQHJldHVybiAkdHlwZWZhY2UtdG9rZW47XG59XG5cbi8vIEBkZWJ1ZyB2YWxpZGF0ZS10eXBlZmFjZS10b2tlbihcInB1YmxpYy1zYW5zXCIpO1xuLy8gQHJldHVybiBwdWJsaWMtc2Fuc1xuXG4vLyBAZGVidWcgdmFsaWRhdGUtdHlwZWZhY2UtdG9rZW4oXCJmb29cIik7XG4vLyBAcmV0dXJuIGVycm9yXG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29udmVydC10by1mb250LXR5cGUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQ29udmVydHMgYSBmb250LXJvbGUgdG9rZW4gaW50byBhXG5mb250LXR5cGUgdG9rZW4uIExlYXZlcyBmb250LXR5cGUgdG9rZW5zXG51bmNoYW5nZWQuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi8uLi92YXJpYWJsZXMvZm9udC1yb2xlLXRva2Vuc1wiIGFzICo7XG5cbkBmdW5jdGlvbiBjb252ZXJ0LXRvLWZvbnQtdHlwZSgkdG9rZW4pIHtcbiAgQGlmIG1hcC5oYXMta2V5KCRwcm9qZWN0LWZvbnQtcm9sZS10b2tlbnMsICR0b2tlbikge1xuICAgIEByZXR1cm4gbWFwLmdldCgkcHJvamVjdC1mb250LXJvbGUtdG9rZW5zLCAkdG9rZW4pO1xuICB9XG5cbiAgQHJldHVybiAkdG9rZW47XG59XG5cbi8vIEBkZWJ1ZyBjb252ZXJ0LXRvLWZvbnQtdHlwZShcImhlYWRpbmdcIik7XG4vLyBAcmV0dXJuIHNlcmlmXG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuQHVzZSBcInNhc3M6bGlzdFwiO1xuXG5AdXNlIFwiLi4vLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZm9udC1zb3VyY2VzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk91dHB1dHMgYSBsaXN0IG9mIGZvbnQgc291cmNlcyB1c2VkIGluXG5hIEBmb250LWZhY2UgZGVjbGFyYXRpb24uXG5cbiR0aGVtZS1mb250LWJyb3dzZXItY29tcGF0aWJpbGl0eTogdHJ1ZSAtIG91dHB1dCB3b2ZmMiwgd29mZiwgdHRmXG4kdGhlbWUtZm9udC1icm93c2VyLWNvbXBhdGliaWxpdHk6IGZhbHNlIC0gb3V0cHV0IHdvZmYyXG5cbkBwYXJhbSBzdGVtOiBzdHJpbmcgLSBbZm9udCBwYXRoXS9bY3VzdG9tLXNyYy5kaXJdL1tjdXN0b20tc3JjLltzdHlsZV0uW3dlaWdodF1dXG5Ab3V0cHV0OiBzdHJpbmdcblxuZmlsZXR5cGVzIG11c3QgYmUgb25lIG9mIHRoZSBmaWxldHlwZXMgc2V0IGluIHZhcmlhYmxlcy8kcHJvamVjdC1mb250LWZhY2UtZmlsZXR5cGVzICh3b2ZmLCB3b2ZmMiwgdHRmKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQGZ1bmN0aW9uIGZvbnQtc291cmNlcygkc3RlbSkge1xuICBAaWYgJHRoZW1lLWZvbnQtYnJvd3Nlci1jb21wYXRpYmlsaXR5IHtcbiAgICBAcmV0dXJuIHVybCgjeyRzdGVtfS53b2ZmMikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICB1cmwoI3skc3RlbX0ud29mZikgZm9ybWF0KFwid29mZlwiKSwgdXJsKCN7JHN0ZW19LnR0ZikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG4gIH1cblxuICBAcmV0dXJuIHVybCgjeyRzdGVtfS53b2ZmMikgZm9ybWF0KFwid29mZjJcIik7XG59XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZ2V0LWZvbnQtc3RhY2soKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgZm9udCBzdGFjayBmcm9tIGEgc3R5bGUtIG9yXG5yb2xlLWJhc2VkIGZvbnQgdG9rZW4uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuQHVzZSBcIi4uLy4uL3ZhcmlhYmxlcy9mb250LXR5cGUtdG9rZW5zXCIgYXMgdHlwZXM7XG5AdXNlIFwiLi4vLi4vdG9rZW5zL2ZvbnQvdHlwZWZhY2VzXCIgYXMgdHlwZWZhY2VzO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9ucy9nZW5lcmFsXCI7XG5AdXNlIFwiY29udmVydC10by1mb250LXR5cGVcIiBhcyAqO1xuXG5AZnVuY3Rpb24gZ2V0LWZvbnQtc3RhY2soJHRva2VuKSB7XG4gIC8vIFN0YXJ0IGJ5IGNvbnZlcnRpbmcgdG8gYSB0eXBlIHRva2VuIChzYW5zLCBzZXJpZiwgZXRjKVxuICAkdHlwZS10b2tlbjogY29udmVydC10by1mb250LXR5cGUoJHRva2VuKTtcbiAgJG91dHB1dC1kaXNwbGF5LW5hbWU6IHRydWU7XG4gICR0aGlzLXN0YWNrOiBudWxsO1xuICAvLyBHZXQgdGhlIGZvbnQgdHlwZSBtZXRhZGF0YVxuICAkdGhpcy1mb250LW1hcDogbWFwLmdldCh0eXBlcy4kcHJvamVjdC1mb250LXR5cGUtdG9rZW5zLCAkdHlwZS10b2tlbik7XG4gIC8vIE9ubHkgb3V0cHV0IGlmIHRoZSBmb250IHR5cGUgaGFzIGFuIGFzc2lnbmVkIHR5cGVmYWNlIHRva2VuXG4gIEBpZiBtYXAuZ2V0KCR0aGlzLWZvbnQtbWFwLCBcInR5cGVmYWNlLXRva2VuXCIpIHtcbiAgICAkdGhpcy1mb250LXRva2VuOiBtYXAuZ2V0KCR0aGlzLWZvbnQtbWFwLCBcInR5cGVmYWNlLXRva2VuXCIpO1xuICAgIC8vIEdldCB0aGUgdHlwZWZhY2UgbWV0YWRhdGFcbiAgICAkdGhpcy10eXBlZmFjZS1kYXRhOiBtYXAuZ2V0KFxuICAgICAgdHlwZWZhY2VzLiRhbGwtdHlwZWZhY2UtdG9rZW5zLFxuICAgICAgJHRoaXMtZm9udC10b2tlblxuICAgICk7XG4gICAgJHRoaXMtbmFtZTogbWFwLmdldCgkdGhpcy10eXBlZmFjZS1kYXRhLCBcImRpc3BsYXktbmFtZVwiKTtcbiAgICAvLyBJZiBpdCdzIGEgc3lzdGVtIHR5cGVmYWNlLCBkb24ndCBvdXRwdXQgdGhlIGRpc3BsYXkgbmFtZVxuICAgIEBpZiBtYXAuaGFzLWtleSgkdGhpcy10eXBlZmFjZS1kYXRhLCBcInN5c3RlbS1mb250XCIpIHtcbiAgICAgICRvdXRwdXQtZGlzcGxheS1uYW1lOiBmYWxzZTtcbiAgICAgIC8vIEBkZWJ1ZyBcIml0J3MgYSBzeXN0ZW0gZm9udFwiO1xuICAgIH1cbiAgICAvLyBJZiB0aGVyZSdzIGEgY3VzdG9tIHN0YWNrLCB1c2UgaXQgYW5kIG91dHB1dCB0aGUgZGlzcGxheSBuYW1lXG4gICAgQGlmIG1hcC5nZXQoJHRoaXMtZm9udC1tYXAsIFwiY3VzdG9tLXN0YWNrXCIpIHtcbiAgICAgICR0aGlzLXN0YWNrOiBtYXAuZ2V0KCR0aGlzLWZvbnQtbWFwLCBcImN1c3RvbS1zdGFja1wiKTtcbiAgICAgICRvdXRwdXQtZGlzcGxheS1uYW1lOiB0cnVlO1xuICAgICAgLy8gQGRlYnVnIFwiaXQgaGFzIGEgY3VzdG9tIHN0YWNrXCI7XG4gICAgfVxuICAgIC8vIE90aGVyd2lzZSwganVzdCBnZXQgdGhlIHRva2VuJ3MgZGVmYXVsdCBzdGFja1xuICAgIEBlbHNlIHtcbiAgICAgICR0aGlzLXN0YWNrOiBnZW5lcmFsLm1hcC1kZWVwLWdldChcbiAgICAgICAgdHlwZWZhY2VzLiRhbGwtdHlwZWZhY2UtdG9rZW5zLFxuICAgICAgICAkdGhpcy1mb250LXRva2VuLFxuICAgICAgICBcInN0YWNrXCJcbiAgICAgICk7XG4gICAgfVxuICAgIC8vIElmIHRoZSB0eXBlZmFjZSBoYXMgbm8gZGlzcGxheSBuYW1lIChzeXN0ZW0gZm9udHMpLCBkb24ndCBvdXRwdXQgdGhlIGRpc3BsYXkgbmFtZVxuICAgIEBpZiBub3QgbWFwLmdldCgkdGhpcy10eXBlZmFjZS1kYXRhLCBcImRpc3BsYXktbmFtZVwiKSB7XG4gICAgICAkb3V0cHV0LWRpc3BsYXktbmFtZTogZmFsc2U7XG4gICAgfVxuICAgIEBpZiBub3QgJG91dHB1dC1kaXNwbGF5LW5hbWUge1xuICAgICAgQHJldHVybiAjeyR0aGlzLXN0YWNrfTtcbiAgICB9XG4gICAgQHJldHVybiBzdHJpbmcudW5xdW90ZShcIiN7JHRoaXMtbmFtZX0sICN7JHRoaXMtc3RhY2t9XCIpO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbi8vIEBkZWJ1ZyBnZXQtZm9udC1zdGFjayhcImhlYWRpbmdcIik7XG4vLyBAcmV0dXJuIE1lcnJpd2VhdGhlciBXZWIsIEdlb3JnaWEsIENhbWJyaWEsIFRpbWVzIE5ldyBSb21hbiwgVGltZXMsIHNlcmlmXG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZ2V0LXR5cGVmYWNlLXRva2VuKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIHR5cGVmYWNlIHRva2VuIGZyb20gYSBmb250LXR5cGUgb3JcbmZvbnQtcm9sZSB0b2tlbi5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2dlbmVyYWxcIjtcbkB1c2UgXCIuLi8uLi92YXJpYWJsZXMvZm9udC1yb2xlLXRva2Vuc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vdmFyaWFibGVzL2ZvbnQtdHlwZS10b2tlbnNcIiBhcyAqO1xuXG5AZnVuY3Rpb24gZ2V0LXR5cGVmYWNlLXRva2VuKCRmb250LXRva2VuKSB7XG4gICR0aGlzLXRva2VuOiAkZm9udC10b2tlbjtcbiAgQGlmIG1hcC5oYXMta2V5KCRwcm9qZWN0LWZvbnQtcm9sZS10b2tlbnMsICRmb250LXRva2VuKSB7XG4gICAgJHRoaXMtdG9rZW46IG1hcC5nZXQoJHByb2plY3QtZm9udC1yb2xlLXRva2VucywgJGZvbnQtdG9rZW4pO1xuICB9XG4gIEByZXR1cm4gZ2VuZXJhbC5tYXAtZGVlcC1nZXQoXG4gICAgJHByb2plY3QtZm9udC10eXBlLXRva2VucyxcbiAgICAkdGhpcy10b2tlbixcbiAgICBcInR5cGVmYWNlLXRva2VuXCJcbiAgKTtcbn1cblxuLy8gQGRlYnVnIGdldC10eXBlZmFjZS10b2tlbihcInNhbnNcIik7XG4vLyBAcmV0dXJuIHNvdXJjZS1zYW5zLXByb1xuLy8gQGRlYnVnIGdldC10eXBlZmFjZS10b2tlbihcImhlYWRpbmdcIik7XG4vLyBAcmV0dXJuIG1lcnJpd2VhdGhlclxuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm5vcm1hbGl6ZS10eXBlLXNjYWxlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk5vcm1hbGl6ZXMgYSBzcGVjaWZpYyBmYWNlJ3Mgb3B0aWNhbCBzaXplXG50byBhIHNldCB0YXJnZXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCIuLi8uLi90b2tlbnNcIjtcbkB1c2UgXCIuLi9nZW5lcmFsXCI7XG5AdXNlIFwiLi4vdW5pdHNcIjtcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS10eXBlLXNjYWxlKCRjYXAtaGVpZ2h0LCAkc2NhbGUpIHtcbiAgQGlmIG5vdCAkY2FwLWhlaWdodCB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuXG4gICR0aGlzLXNjYWxlOiB0b2tlbnMuJHN5c3RlbS1iYXNlLWNhcC1oZWlnaHQgKlxuICAgIG1hdGguZGl2KGdlbmVyYWwuc3RyaXAtdW5pdCgkc2NhbGUpLCAkY2FwLWhlaWdodCkgKiAxcHg7XG5cbiAgQHJldHVybiB1bml0cy5weC10by1yZW0oJHRoaXMtc2NhbGUpO1xufVxuXG4vLyBAZGVidWcgbm9ybWFsaXplLXR5cGUtc2NhbGUoMzYycHgsIDE2cHgpO1xuLy8gQHJldHVybiAxcmVtXG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuc3lzdGVtLXR5cGUtc2NhbGUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgdmFsdWUgZnJvbSB0aGUgc3lzdGVtIHR5cGUgc2NhbGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9ucy9nZW5lcmFsXCI7XG5AdXNlIFwiLi4vLi4vdG9rZW5zL2ZvbnRcIjtcblxuQGZ1bmN0aW9uIHN5c3RlbS10eXBlLXNjYWxlKCRzY2FsZSkge1xuICAkc2NhbGU6IGdlbmVyYWwuc21hcnQtcXVvdGUoJHNjYWxlKTtcblxuICBAaWYgbm90ICRzY2FsZSB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIEBpZiBub3QobWFwLmhhcy1rZXkoZm9udC4kc3lzdGVtLXR5cGUtc2NhbGUsICRzY2FsZSkpIHtcbiAgICBAcmV0dXJuIGdlbmVyYWwuZXJyb3Itbm90LXRva2VuKCRzY2FsZSwgXCJ0eXBlIHNjYWxlXCIsICRzeXN0ZW0tdHlwZS1zY2FsZSk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC5nZXQoZm9udC4kc3lzdGVtLXR5cGUtc2NhbGUsICRzY2FsZSk7XG59XG5cbi8vIEBkZWJ1ZyBzeXN0ZW0tdHlwZS1zY2FsZSgyKTtcbi8vIEByZXR1cm4gMTNweDtcbiIsIi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5FYXNpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4kcHJvamVjdC1lYXNpbmc6IDAuMTVzIGVhc2UtaW4tb3V0O1xuIiwiLyogIGRlcHJlY2F0ZWQuc2Nzc1xuICAgIC0tLVxuICAgIE9jY2FzaW9uYWxseSB0aGUgZGVzaWduIHN5c3RlbSB3aWxsIGRlcHJlY2F0ZVxuICAgIG9sZCB2YXJpYWJsZXMgb3IgZnVuY3Rpb25hbGl0eS4gSWYgd2UgcmVwbGFjZVxuICAgIHRoZSBvbGQgZnVuY3Rpb25hbGl0eSB3aXRoIHNvbWV0aGluZyBuZXcsIHRoaXMgaXMgYVxuICAgIHBsYWNlIHRvIGNvbm5lY3QgdGhlIG9sZCBmdW5jdGlvbmFsaXR5IHRvIHRoZVxuICAgIG5ldyBmdW5jdGlvbmFsaXR5LCBpbiB0aGUgc2VydmljZSBvZiBiZXR0ZXJcbiAgICBjb250aW51aXR5IGFuZCBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoaW4gYVxuICAgIG1ham9yIHJlbGVhc2UgY3ljbGUuXG5cbiAgICBOb3RlIHRoZSBVU1dEUyB2ZXJzaW9uIHdoZXJlIHdlIGRlcHJlY2F0ZWQgdGhlXG4gICAgb2xkIGZ1bmN0aW9uYWxpdHkgaW4gYSBjb21tZW50LlxuXG4gICAgQmUgc3VyZSB0byB1cGRhdGUgbm90aWZpY2F0aW9ucy5zY3NzLlxuXG4gICAgVGhpcyBmaWxlIHNob3VsZCBzdGFydGVkIGZyZXNoIGF0IGVhY2hcbiAgICBtYWpvciB2ZXJzaW9uLlxuKi9cblxuLy8gRGVwcmVjYXRlZCBpbiAzLjAuMFxuJG91dHB1dC1hbGwtdXRpbGl0aWVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBEZXByZWNhdGVkIGluIDMuMS4wXG5AdXNlIFwic2FzczptYXRoXCI7XG5cbkBtaXhpbiBlbWJlZC1jb250YWluZXIoJGhlaWdodCwgJHdpZHRoKSB7XG4gIHBhZGRpbmctYm90dG9tOiBtYXRoLnBlcmNlbnRhZ2UobWF0aC5kaXYoJGhlaWdodCwgJHdpZHRoKSk7XG59XG5cbiRmb250LXNtb290aGluZy13YXJuaW5nOiBcIkZvbnQgc21vb3RoaW5nIHdhcyBkZXByZWNhdGVkIGluIFVTV0RTIDMuNS4wLiBQbGVhc2UgcmVtb3ZlIGFueSByZWZlcmVuY2VzIHRvIGl0LlwiO1xuXG4vLyBEZXByZWNhdGVkIGluIDMuNS4wXG5AbWl4aW4gYWRkLWtub2Nrb3V0LWZvbnQtc21vb3RoaW5nIHtcbiAgQHdhcm4gJGZvbnQtc21vb3RoaW5nLXdhcm5pbmc7XG59XG5cbkBtaXhpbiBuby1rbm9ja291dC1mb250LXNtb290aGluZyB7XG4gIEB3YXJuICRmb250LXNtb290aGluZy13YXJuaW5nO1xufVxuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmFkdmFuY2VkLWNvbG9yKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkRlcml2ZSBhIGNvbG9yIGZyb20gYSBjb2xvciB0cmlwbGV0OlxuW2ZhbWlseV0sIFtncmFkZV0sIFt2YXJpYW50XVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuLy8gY29sb3IoKSBjYW4gaGF2ZSBhIDEsIDIsIG9yIDMgYXJndW1lbnRzIHBhc3NlZCB0byBpdDpcbi8vXG4vLyBbZmFtaWx5XVxuLy8gZXg6IGNvbG9yKCdwcmltYXJ5Jylcbi8vICAgICAtIHRoZSBkZWZhdWx0IGluIGEgdGhlbWUgcGFsZXR0ZSBmYW1pbHlcbi8vXG4vLyBbZmFtaWx5XSwgW2dyYWRlXVxuLy8gZXg6IGNvbG9yKCdyZWQnLCA1MClcbi8vICAgICAtIGEgc3RhbmRhcmQgc3lzdGVtIGNvbG9yXG4vLyBleDogY29sb3IoJ2FjY2VudC13YXJtJywgJ2xpZ2h0Jylcbi8vICAgICAtIGEgc3RhbmRhcmQgdGhlbWUgY29sb3Jcbi8vIGV4OiBjb2xvcigncHJpbWFyeScsICd2aXZpZCcpXG4vLyAgICAgLSBpbiB0aGVtZSBjb2xvcnMsICd2aXZpZCcgaXMgY29uc2lkZXJlZCBhIGdyYWRlXG4vL1xuLy8gW2ZhbWlseV0sIFtncmFkZV0sIFt2aXZpZF1cbi8vIGV4OiBjb2xvcigncmVkJywgNTAsICd2aXZpZCcpXG4vLyAgICAgLSBhIHZpdmlkIHN5c3RlbSBjb2xvclxuLy8gICAgIC0gb25seSBzeXN0ZW0gY29sb3JzIHJlcXVpcmVkIHRocmVlIGFyZ3VtZW50c1xuXG5AdXNlIFwic2FzczptZXRhXCI7XG5AdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9nZW5lcmFsXCI7XG5AdXNlIFwiZ2V0LXN5c3RlbS1jb2xvclwiIGFzICo7XG5cbkBmdW5jdGlvbiBhZHZhbmNlZC1jb2xvcihcbiAgJGNvbG9yLWZhbWlseTogZmFsc2UsXG4gICRjb2xvci1ncmFkZTogZmFsc2UsXG4gICRjb2xvci12YXJpYW50OiBmYWxzZVxuKSB7XG4gIC8vIENvbnZlcnQgYW55IGFyZ2xpc3RzIGludG8gbGlzdHNcbiAgJGNvbG9yLWZhbWlseTogaWYoXG4gICAgbWV0YS50eXBlLW9mKCRjb2xvci1mYW1pbHkpID09IFwiYXJnbGlzdFwiLFxuICAgIGdlbmVyYWwudW5wYWNrKCRjb2xvci1mYW1pbHkpLFxuICAgICRjb2xvci1mYW1pbHlcbiAgKTtcblxuICAvLyBJZiAkY29sb3ItZmFtaWx5IGlzIGEgbGlzdCwgY29sb3IoKSBoYWQgYSB2YXJpYWJsZVxuICAvLyBwYXNzZWQgdG8gaXQsIGFuZCBhcmdzIG5lZWQgdG8gYmUgcmUtc2V0IHdpdGggdGhlXG4gIC8vIHZhbHVlcyBmcm9tIHRoZSAkY29sb3ItZmFtaWx5IGxpc3Q6XG4gIEBpZiBtZXRhLnR5cGUtb2YoJGNvbG9yLWZhbWlseSkgPT0gXCJsaXN0XCIge1xuICAgIEBpZiBsaXN0Lmxlbmd0aCgkY29sb3ItZmFtaWx5KSA+IDIge1xuICAgICAgJGNvbG9yLXZhcmlhbnQ6IGxpc3QubnRoKCRjb2xvci1mYW1pbHksIDMpO1xuICAgIH1cbiAgICAkY29sb3ItZ3JhZGU6IGxpc3QubnRoKCRjb2xvci1mYW1pbHksIDIpO1xuICAgICRjb2xvci1mYW1pbHk6IGxpc3QubnRoKCRjb2xvci1mYW1pbHksIDEpO1xuICB9XG5cbiAgLy8gU2V0IGluaXRpYWwgc3RhdGUgb2YgdmFyc1xuICAkY29sb3ItZmFtaWx5OiBnZW5lcmFsLnNtYXJ0LXF1b3RlKCRjb2xvci1mYW1pbHkpO1xuICAkY29sb3ItZ3JhZGU6IGdlbmVyYWwuc21hcnQtcXVvdGUoJGNvbG9yLWdyYWRlKTtcbiAgJGNvbG9yLXZhcmlhbnQ6IGdlbmVyYWwuc21hcnQtcXVvdGUoJGNvbG9yLXZhcmlhbnQpO1xuXG4gIC8vIEBkZWJ1ZyAnI3skY29sb3ItZmFtaWx5fTogI3ttZXRhLnR5cGUtb2YoJGNvbG9yLWZhbWlseSl9LCAjeyRjb2xvci1ncmFkZX06ICN7bWV0YS50eXBlLW9mKCRjb2xvci1ncmFkZSl9LCAjeyRjb2xvci12YXJpYW50fTogI3ttZXRhLnR5cGUtb2YoJGNvbG9yLXZhcmlhbnQpfScgO1xuXG4gIC8vIElmIHRoZXJlIGFyZSBubyBhcmdzLCB0aHJvdyBhbiBlcnJvclxuICBAaWYgbm90ICRjb2xvci1mYW1pbHkge1xuICAgIEBlcnJvciAnSW5jbHVkZSBhIGNvbG9yIGluIHRoZSBmb3JtIFtmYW1pbHldLCBbZ3JhZGVdLCBbdml2aWRdJztcbiAgfVxuXG4gIC8vIElmIHRoZSBncmFkZSBpcyBhIG51bWJlciwgaXQncyBhIHN5c3RlbSBjb2xvclxuICAvLyBleDogKCdyZWQnLCA1MClcbiAgQGlmIG1ldGEudHlwZS1vZigkY29sb3ItZ3JhZGUpID09IFwibnVtYmVyXCIge1xuICAgIEByZXR1cm4gZ2V0LXN5c3RlbS1jb2xvcigkY29sb3ItZmFtaWx5LCAkY29sb3ItZ3JhZGUsICRjb2xvci12YXJpYW50KTtcbiAgfVxuXG4gIC8vIG5vbi1udW1iZXIgZ3JhZGVzIGFyZSBhc3NvY2lhdGVkIHdpdGggbm9uLWRlZmF1bHQgdGhlbWUgY29sb3JzXG4gIC8vIGV4OiAoJ2Jhc2UnLCAnZGFya2VyJylcbiAgLy8gZGVmYXVsdCB0aGVtZSBjb2xvcnMgaGF2ZSBubyBncmFkZVxuICAvLyBleDogKCdiYXNlJylcbiAgQGlmIG1hcC5oYXMta2V5KCRhbGwtcHJvamVjdC1jb2xvcnMsICRjb2xvci1mYW1pbHkpIHtcbiAgICBAaWYgbm90XG4gICAgICBtYXAuaGFzLWtleShtYXAuZ2V0KCRhbGwtcHJvamVjdC1jb2xvcnMsICRjb2xvci1mYW1pbHkpLCAkY29sb3ItZ3JhZGUpXG4gICAge1xuICAgICAgQGVycm9yICdgI3skY29sb3ItZ3JhZGV9YCBpcyBub3QgYSB2YWxpZCBncmFkZSBvZiBgI3skY29sb3ItZmFtaWx5fWAuICdcbiAgICAgICAgKyAnVmFsaWQgZ3JhZGVzOiAnXG4gICAgICAgICsgJyN7bWFwLmtleXMobWFwLmdldCgkYWxsLXByb2plY3QtY29sb3JzLCAkY29sb3ItZmFtaWx5KSl9JztcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gZ2VuZXJhbC5lcnJvci1ub3QtdG9rZW4oXG4gICAgICAkY29sb3ItZmFtaWx5LFxuICAgICAgXCJ0aGVtZSBmYW1pbHlcIixcbiAgICAgICRhbGwtcHJvamVjdC1jb2xvcnNcbiAgICApO1xuICB9XG4gIEByZXR1cm4gZ2VuZXJhbC5tYXAtZGVlcC1nZXQoXG4gICAgJGFsbC1wcm9qZWN0LWNvbG9ycyxcbiAgICAkY29sb3ItZmFtaWx5LFxuICAgICRjb2xvci1ncmFkZVxuICApO1xufVxuXG4vLyBAZGVidWcgYWR2YW5jZWQtY29sb3IoXCJyZWRcIiwgNTAsIFwidml2aWRcIik7XG4vLyBAcmV0dXJuICNlNTIyMDc7XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY2FsY3VsYXRlLWdyYWRlKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkRlcml2ZSB0aGUgZ3JhZGUgZXF1aXZhbGVudCBhbnkgY29sb3IsXG5ldmVuIG5vbi10b2tlbiBjb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOmNvbG9yXCI7XG5AdXNlIFwic2FzczptZXRhXCI7XG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuXG5AdXNlIFwiLi4vZ2VuZXJhbFwiO1xuQHVzZSBcIi4uLy4uL3ZhcmlhYmxlcy9sdW1pbmFuY2UtZ3JhZGUtcmFuZ2VzXCIgYXMgKjtcbkB1c2UgXCJjb2xvci10b2tlbi1hc3NpZ25tZW50XCIgYXMgKjtcbkB1c2UgXCJjb2xvci10b2tlbi1mYW1pbHlcIiBhcyAqO1xuQHVzZSBcImNvbG9yLXRva2VuLWdyYWRlXCIgYXMgKjtcbkB1c2UgXCJkZWNvbXBvc2UtY29sb3ItdG9rZW5cIiBhcyAqO1xuQHVzZSBcImlzLWNvbG9yLXRva2VuXCIgYXMgKjtcbkB1c2UgXCJsdW1pbmFuY2VcIiBhcyAqO1xuXG5AZnVuY3Rpb24gY2FsY3VsYXRlLWdyYWRlKCRjb2xvci10b2tlbikge1xuICAkdHJhbnNwYXJlbmN5LWVycm9yOiBcIlVTV0RTIGNhbid0IGNhbGN1bGF0ZSB0aGUgZ3JhZGUgb2YgYSB0cmFuc3BhcmVudCBjb2xvci4gQXZvaWQgdXNpbmcgdHJhbnNwYXJlbmN5IGluIHRoZW1lIGNvbG9ycyBhbmQgdGV4dC5cIjtcbiAgJGdyYWRlOiBudWxsO1xuICAkbHVtOiBudWxsO1xuICAkY3VzdG9tLWNvbG9yOiBmYWxzZTtcbiAgJGNvbG9yLXRva2VuLWFzc2lnbm1lbnQ6IGZhbHNlO1xuXG4gIC8vIERldGVybWluZSBpZiB0aGUgY29sb3IgaXMgYSBjdXN0b20gY29sb3JcbiAgQGlmIG1ldGEudHlwZS1vZigkY29sb3ItdG9rZW4pID09IFwiY29sb3JcIiB7XG4gICAgJGN1c3RvbS1jb2xvcjogJGNvbG9yLXRva2VuO1xuICB9IEBlbHNlIHtcbiAgICAkY29sb3ItdG9rZW4tYXNzaWdubWVudDogY29sb3ItdG9rZW4tYXNzaWdubWVudCgkY29sb3ItdG9rZW4pO1xuICAgIEBpZiBtZXRhLnR5cGUtb2YoJGNvbG9yLXRva2VuLWFzc2lnbm1lbnQpID09IFwiY29sb3JcIiB7XG4gICAgICAkY3VzdG9tLWNvbG9yOiBjb2xvci10b2tlbi1hc3NpZ25tZW50KCRjb2xvci10b2tlbik7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgaXQncyBjdXN0b20sIGNvbXBhcmUgaXRzIHJMdW0gdG8gVVNXRFMgZ3JhZGUgckx1bSByYW5nZXNcbiAgQGlmICRjdXN0b20tY29sb3Ige1xuICAgIC8vIElmIHRoZSBjb2xvciB1c2VzIHRyYW5zcGFyZW5jeSwgdGhyb3cgYW4gZXJyb3JcbiAgICBAaWYgY29sb3IuYWxwaGEoJGN1c3RvbS1jb2xvcikgIT0gMSB7XG4gICAgICBAcmV0dXJuIGdlbmVyYWwudXN3ZHMtZXJyb3IoJHRyYW5zcGFyZW5jeS1lcnJvcik7XG4gICAgfVxuICAgICRsdW06IGx1bWluYW5jZSgkY3VzdG9tLWNvbG9yKTtcbiAgICAvLyBDeWNsZSB0aHJvdWdoIGdyYWRlcywga25vd2luZyBjdXJyZW50IEFORCBuZXh0IGdyYWRlXG4gICAgJG91ci1ncmFkZXM6IG1hcC5rZXlzKCRzeXN0ZW0tY29sb3ItZ3JhZGVzKTtcbiAgICAkZ3JhZGUtY291bnQ6IGxpc3QubGVuZ3RoKCRvdXItZ3JhZGVzKTtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmFkZS1jb3VudCB7XG4gICAgICAkdGhpcy1ncmFkZTogbGlzdC5udGgoJG91ci1ncmFkZXMsICRpKTtcbiAgICAgICR0aGlzLWdyYWRlLW1pbjogZ2VuZXJhbC5tYXAtZGVlcC1nZXQoXG4gICAgICAgICRzeXN0ZW0tY29sb3ItZ3JhZGVzLFxuICAgICAgICAkdGhpcy1ncmFkZSxcbiAgICAgICAgXCJtaW5cIlxuICAgICAgKTtcbiAgICAgICR0aGlzLWdyYWRlLW1heDogZ2VuZXJhbC5tYXAtZGVlcC1nZXQoXG4gICAgICAgICRzeXN0ZW0tY29sb3ItZ3JhZGVzLFxuICAgICAgICAkdGhpcy1ncmFkZSxcbiAgICAgICAgXCJtYXhcIlxuICAgICAgKTtcbiAgICAgICRuZXh0LWdyYWRlOiBpZigkaSA8ICRncmFkZS1jb3VudCwgbGlzdC5udGgoJG91ci1ncmFkZXMsICRpICsgMSksIGZhbHNlKTtcbiAgICAgICRuZXh0LWdyYWRlLW1pbjogaWYoXG4gICAgICAgICRuZXh0LWdyYWRlLFxuICAgICAgICBnZW5lcmFsLm1hcC1kZWVwLWdldCgkc3lzdGVtLWNvbG9yLWdyYWRlcywgJG5leHQtZ3JhZGUsIFwibWluXCIpLFxuICAgICAgICBmYWxzZVxuICAgICAgKTtcbiAgICAgIC8vIElmIHRoZSBsdW0gZml0cyB0aGUgcmFuZ2UsIGFzc2lnbiBhIFVTV0RTIGdyYWRlXG4gICAgICAvLyBPdGhlcndpc2UsIHNldCBhIGdyYWRlIG1pZHdheSBiZXR3ZWVuIHR3byBVU1dEUyBncmFkZXNcbiAgICAgIEBpZiAoJGx1bSA+PSAkdGhpcy1ncmFkZS1taW4pIGFuZCAoJGx1bSA8PSAkdGhpcy1ncmFkZS1tYXgpIHtcbiAgICAgICAgQHJldHVybiAkdGhpcy1ncmFkZTtcbiAgICAgIH1cbiAgICAgIEBpZiAoJGx1bSA+ICR0aGlzLWdyYWRlLW1heCkgYW5kICgkbHVtIDwgJG5leHQtZ3JhZGUtbWluKSB7XG4gICAgICAgICRjdXN0b20tZ3JhZGUtbWlkcG9pbnQ6IG1hdGguZGl2KCgkdGhpcy1ncmFkZSArICRuZXh0LWdyYWRlKSwgMik7XG4gICAgICAgICRjdXN0b20tZ3JhZGU6ICRjdXN0b20tZ3JhZGUtbWlkcG9pbnQ7XG4gICAgICAgIEByZXR1cm4gJGN1c3RvbS1ncmFkZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgbm90IGlzLWNvbG9yLXRva2VuKCRjb2xvci10b2tlbi1hc3NpZ25tZW50KSB7XG4gICAgQHJldHVybiBnZW5lcmFsLmVycm9yLW5vdC10b2tlbigkY29sb3ItdG9rZW4tYXNzaWdubWVudCwgXCJjb2xvclwiKTtcbiAgfVxuXG4gICRzeXN0ZW0tdG9rZW46ICRjb2xvci10b2tlbi1hc3NpZ25tZW50O1xuICAkdG9rZW4tc3BsaXQ6IGRlY29tcG9zZS1jb2xvci10b2tlbigkc3lzdGVtLXRva2VuKTtcbiAgJHRva2VuLWZhbWlseTogY29sb3ItdG9rZW4tZmFtaWx5KCR0b2tlbi1zcGxpdCk7XG4gIC8vIElmIHRoZSBjb2xvciB1c2VzIHRyYW5zcGFyZW5jeSwgdGhyb3cgYW4gZXJyb3JcbiAgQGlmIHN0cmluZy5pbmRleCgkdG9rZW4tZmFtaWx5LCBcInRyYW5zcGFyZW50XCIpIHtcbiAgICBAcmV0dXJuIGdlbmVyYWwudXN3ZHMtZXJyb3IoJHRyYW5zcGFyZW5jeS1lcnJvcik7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdG9rZW4gZ3JhZGVcbiAgJHRva2VuLWdyYWRlOiBjb2xvci10b2tlbi1ncmFkZSgkdG9rZW4tc3BsaXQpO1xuICBAcmV0dXJuICR0b2tlbi1ncmFkZTtcbn1cblxuLy8gQGRlYnVnIGNhbGN1bGF0ZS1ncmFkZShcInJlZC02MHZcIik7XG4vLyBAcmV0dXJuIDYwO1xuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbG9yLXRva2VuLWFzc2lnbm1lbnQoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IHRoZSBzeXN0ZW0gdG9rZW4gZXF1aXZhbGVudCBvZiBhbnlcbnRoZW1lIGNvbG9yIHRva2VuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptYXBcIjtcblxuQHVzZSBcImlzLXN5c3RlbS1jb2xvci10b2tlblwiIGFzICo7XG5AdXNlIFwiaXMtdGhlbWUtY29sb3ItdG9rZW5cIiBhcyAqO1xuQHVzZSBcIi4uL2dlbmVyYWwvZXJyb3Itbm90LXRva2VuXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi90b2tlbnMvY29sb3IvYXNzaWdubWVudHMtdGhlbWUtY29sb3JcIiBhcyAqO1xuXG5AZnVuY3Rpb24gY29sb3ItdG9rZW4tYXNzaWdubWVudCgkY29sb3ItdG9rZW4pIHtcbiAgQGlmIGlzLXN5c3RlbS1jb2xvci10b2tlbigkY29sb3ItdG9rZW4pIHtcbiAgICAkc3lzdGVtLXRva2VuOiAkY29sb3ItdG9rZW47XG4gICAgQHJldHVybiAkc3lzdGVtLXRva2VuO1xuICB9XG5cbiAgQGlmIG5vdCBpcy10aGVtZS1jb2xvci10b2tlbigkY29sb3ItdG9rZW4pIHtcbiAgICBAcmV0dXJuIGVycm9yLW5vdC10b2tlbigkY29sb3ItdG9rZW4sIFwiY29sb3JcIik7XG4gIH1cblxuICAkdGhlbWUtdG9rZW46ICRjb2xvci10b2tlbjtcbiAgJHRoZW1lLXRva2VuLWFzc2lnbm1lbnQ6IG1hcC5nZXQoJGFzc2lnbm1lbnRzLXRoZW1lLWNvbG9yLCAkdGhlbWUtdG9rZW4pO1xuICBAcmV0dXJuICR0aGVtZS10b2tlbi1hc3NpZ25tZW50O1xufVxuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmlzLXN5c3RlbS1jb2xvci10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm4gd2hldGhlciBhIHRva2VuIGlzIGEgc3lzdGVtXG5jb2xvciB0b2tlblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vLi4vdG9rZW5zL2NvbG9yL3Nob3J0Y29kZXMtY29sb3Itc3lzdGVtXCIgYXMgKjtcblxuQGZ1bmN0aW9uIGlzLXN5c3RlbS1jb2xvci10b2tlbigkdG9rZW4pIHtcbiAgQGlmIG1hcC5oYXMta2V5KCRzeXN0ZW0tY29sb3Itc2hvcnRjb2RlcywgJHRva2VuKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbi8vIEBkZWJ1ZyBpcy1zeXN0ZW0tY29sb3ItdG9rZW4oXCJyZWQtY29vbC01dlwiKTtcbi8vIEByZXR1cm4gdHJ1ZTtcbiIsIi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5pcy10aGVtZS1jb2xvci10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm4gd2hldGhlciBhIHRva2VuIGlzIGEgdGhlbWVcbmNvbG9yIHRva2VuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptYXBcIjtcblxuQHVzZSBcIi4uLy4uL3Rva2Vucy9jb2xvci9zaG9ydGNvZGVzLWNvbG9yLXByb2plY3RcIiBhcyAqO1xuXG5AZnVuY3Rpb24gaXMtdGhlbWUtY29sb3ItdG9rZW4oJHRva2VuKSB7XG4gIEBpZiBtYXAuaGFzLWtleSgkcHJvamVjdC1jb2xvci1zaG9ydGNvZGVzLCAkdG9rZW4pIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQHJldHVybiBmYWxzZTtcbn1cbiIsIi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvci10b2tlbi1mYW1pbHkoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB0aGUgZmFtaWx5IG9mIGEgY29sb3IgdG9rZW4uXG5SZXR1cm5zOiBjb2xvci1mYW1pbHlcbmNvbG9yLXRva2VuLWZhbWlseShcImFjY2VudC13YXJtLXZpdmlkXCIpXG4+IFwiYWNjZW50LXdhcm1cIlxuY29sb3ItdG9rZW4tZmFtaWx5KFwicmVkLTUwdlwiKVxuPiBcInJlZFwiXG5jb2xvci10b2tlbi12YXJpYW50KChcInJlZFwiLCA1MCwgXCJ2aXZpZFwiKSlcbj4gXCJyZWRcIlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQHVzZSBcInNhc3M6bWV0YVwiO1xuQHVzZSBcInNhc3M6bGlzdFwiO1xuXG5AdXNlIFwiZGVjb21wb3NlLWNvbG9yLXRva2VuXCIgYXMgKjtcblxuQGZ1bmN0aW9uIGNvbG9yLXRva2VuLWZhbWlseSgkY29sb3ItdG9rZW4pIHtcbiAgJHNwbGl0OiBpZihcbiAgICBtZXRhLnR5cGUtb2YoJGNvbG9yLXRva2VuKSA9PSBcImxpc3RcIixcbiAgICAkY29sb3ItdG9rZW4sXG4gICAgZGVjb21wb3NlLWNvbG9yLXRva2VuKCRjb2xvci10b2tlbilcbiAgKTtcbiAgJGZhbWlseTogbGlzdC5udGgoJHNwbGl0LCAxKTtcbiAgQHJldHVybiAkZmFtaWx5O1xufVxuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmRlY29tcG9zZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db252ZXJ0IGEgY29sb3IgdG9rZW4gaW50byBpbnRvIGEgbGlzdFxub2YgZm9ybSBbZmFtaWx5XSwgW2dyYWRlXSwgW3ZhcmlhbnRdXG5WaXZpZCB2YXJpYW50cyByZXR1cm4gXCJ2aXZpZFwiIGFzIHRoZVxudmFyaWFudC5cbklmIG5laXRoZXIgZ3JhZGUgbm9yIHZhcmlhbnQgZXhpc3RzLFxucmV0dXJucyAnbnVsbCdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6bWV0YVwiO1xuQHVzZSBcInNhc3M6c3RyaW5nXCI7XG5cbkB1c2UgXCIuLi9nZW5lcmFsL3N0ci1zcGxpdFwiIGFzICo7XG5AdXNlIFwiLi4vZ2VuZXJhbC90by1udW1iZXJcIiBhcyAqO1xuXG5AZnVuY3Rpb24gZGVjb21wb3NlLWNvbG9yLXRva2VuKCR0b2tlbikge1xuICAkc2VwYXJhdG9yOiBcIi1cIjtcbiAgJGZhbWlseTogZmFsc2U7XG4gICRncmFkZTogZmFsc2U7XG4gICR2YXJpYW50OiBmYWxzZTtcbiAgJGV4Y2VwdGlvbnM6IChcbiAgICBcImJsYWNrXCI6IDEwMCxcbiAgICBcIndoaXRlXCI6IDAsXG4gICk7XG5cbiAgJHRva2VuOiBpZigkdG9rZW4gPT0gXCJpbmtcIiwgXCJiYXNlLWRhcmtlc3RcIiwgJHRva2VuKTtcbiAgLy8gSWYgdGhlcmUncyBubyBzZXBhcmF0b3IsIHNldCBmYW1pbHkgYW5kIGdyYWRlXG4gIEBpZiBub3Qgc3RyaW5nLmluZGV4KCR0b2tlbiwgJHNlcGFyYXRvcikge1xuICAgICRmYW1pbHk6ICR0b2tlbjtcbiAgICAkZ3JhZGU6IGlmKFxuICAgICAgbWFwLmhhcy1rZXkoJGV4Y2VwdGlvbnMsICRmYW1pbHkpLFxuICAgICAgbWFwLmdldCgkZXhjZXB0aW9ucywgJGZhbWlseSksXG4gICAgICBcInJvb3RcIlxuICAgICk7XG4gIH0gQGVsc2Uge1xuICAgICRzcGxpdDogc3RyLXNwbGl0KCR0b2tlbiwgJHNlcGFyYXRvcik7XG4gICAgJGxhc3Q6IGxpc3QubnRoKCRzcGxpdCwgbGlzdC5sZW5ndGgoJHNwbGl0KSk7XG4gICAgLy8gSWYgdGhlIGxhc3Qgc3RyaW5nIGlzIG92ZXIgMyBjaGFyLCBpdCdzIGEgdGhlbWUgdG9rZW5cbiAgICBAaWYgc3RyaW5nLmxlbmd0aCgkbGFzdCkgPiAzIHtcbiAgICAgIEBpZiAkbGFzdCA9PSBcInZpdmlkXCIge1xuICAgICAgICAkdmFyaWFudDogXCJ2aXZpZFwiO1xuICAgICAgICAkZ3JhZGU6IFwicm9vdFwiO1xuICAgICAgfSBAZWxzZSBpZiAkbGFzdCA9PSBcIndhcm1cIiBvciAkbGFzdCA9PSBcImNvb2xcIiB7XG4gICAgICAgICRncmFkZTogXCJyb290XCI7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGdyYWRlOiAkbGFzdDtcbiAgICAgIH1cbiAgICAgIC8vIE90aGVyd2lzZSB0cmVhdCBhcyBzeXN0ZW0gdG9rZW5cbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIERldGVybWluZSBpZiBpdCdzIGEgdml2aWQgdmFyaWFudFxuICAgICAgQGlmIHN0cmluZy5pbmRleCgkbGFzdCwgXCJ2XCIpIHtcbiAgICAgICAgJHZhcmlhbnQ6IFwidml2aWRcIjtcbiAgICAgICAgJGdyYWRlOiBzdHJpbmcuc2xpY2UoJGxhc3QsIDEsIChzdHJpbmcuaW5kZXgoJGxhc3QsIFwidlwiKSAtIDEpKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkZ3JhZGU6ICRsYXN0O1xuICAgICAgfVxuICAgICAgLy8gTWFrZSBzdXJlIHRoZSBncmFkZSBpcyBhIG51bWJlclxuICAgICAgJGdyYWRlOiBpZihtZXRhLnR5cGUtb2YoJGdyYWRlKSA9PSBcInN0cmluZ1wiLCB0by1udW1iZXIoJGdyYWRlKSwgJGdyYWRlKTtcbiAgICB9XG4gICAgLy8gQ29sbGVjdCBjb21wb3VuZC13b3JkIGZhbWlsaWVzXG4gICAgJGlzLWNvbXBvdW5kLWZhbWlseTogZmFsc2U7XG4gICAgQGlmIGxpc3QubGVuZ3RoKCRzcGxpdCkgPT1cbiAgICAgIDMgb3JcbiAgICAgIGxpc3QuaW5kZXgoJHNwbGl0LCBcIndhcm1cIikgb3JcbiAgICAgIGxpc3QuaW5kZXgoJHNwbGl0LCBcImNvb2xcIilcbiAgICB7XG4gICAgICAkaXMtY29tcG91bmQtZmFtaWx5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgJGlzLWNvbXBvdW5kLWZhbWlseSB7XG4gICAgICAkZmFtaWx5OiBsaXN0Lm50aCgkc3BsaXQsIDEpICsgJHNlcGFyYXRvciArIGxpc3QubnRoKCRzcGxpdCwgMik7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkZmFtaWx5OiBsaXN0Lm50aCgkc3BsaXQsIDEpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRmYW1pbHksICRncmFkZSwgJHZhcmlhbnQ7XG59XG5cbi8vIEBkZWJ1ZyBkZWNvbXBvc2UtY29sb3ItdG9rZW4oXCJhY2NlbnQtY29vbFwiKTtcbiIsIi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb2xvci10b2tlbi1ncmFkZSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSBncmFkZSBvZiBhIFVTV0RTIGNvbG9yIHRva2VuLlxuUmV0dXJuczogY29sb3ItZ3JhZGVcbmNvbG9yLXRva2VuLWdyYWRlKFwiYWNjZW50LXdhcm1cIilcbj4gXCJyb290XCJcbmNvbG9yLXRva2VuLWdyYWRlKFwiYWNjZW50LXdhcm0tdml2aWRcIilcbj4gXCJyb290XCJcbmNvbG9yLXRva2VuLWdyYWRlKFwiYWNjZW50LXdhcm0tZGFya2VyXCIpXG4+IFwiZGFya2VyXCJcbmNvbG9yLXRva2VuLWdyYWRlKFwicmVkLTUwdlwiKVxuPiA1MFxuY29sb3ItdG9rZW4tdmFyaWFudCgoXCJyZWRcIiwgNTAsIFwidml2aWRcIikpXG4+IDUwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptZXRhXCI7XG5AdXNlIFwic2FzczpsaXN0XCI7XG5cbkB1c2UgXCJkZWNvbXBvc2UtY29sb3ItdG9rZW5cIiBhcyAqO1xuXG5AZnVuY3Rpb24gY29sb3ItdG9rZW4tZ3JhZGUoJGNvbG9yLXRva2VuKSB7XG4gICRzcGxpdDogaWYoXG4gICAgbWV0YS50eXBlLW9mKCRjb2xvci10b2tlbikgPT0gXCJsaXN0XCIsXG4gICAgJGNvbG9yLXRva2VuLFxuICAgIGRlY29tcG9zZS1jb2xvci10b2tlbigkY29sb3ItdG9rZW4pXG4gICk7XG4gICRncmFkZTogbGlzdC5udGgoJHNwbGl0LCAyKTtcbiAgQHJldHVybiAkZ3JhZGU7XG59XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuaXMtY29sb3ItdG9rZW4oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB3aGV0aGVyIGEgZ2l2ZW4gc3RyaW5nIGlzIGFcblVTV0RTIGNvbG9yIHRva2VuLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vLi4vdG9rZW5zL2NvbG9yL3Nob3J0Y29kZXMtY29sb3ItYWxsXCIgYXMgKjtcblxuQGZ1bmN0aW9uIGlzLWNvbG9yLXRva2VuKCR0b2tlbikge1xuICAkaXMtY29sb3ItdG9rZW46IGlmKG1hcC5oYXMta2V5KCRhbGwtY29sb3Itc2hvcnRjb2RlcywgJHRva2VuKSwgdHJ1ZSwgZmFsc2UpO1xuICBAcmV0dXJuICRpcy1jb2xvci10b2tlbjtcbn1cblxuLy8gQGRlYnVnIGlzLWNvbG9yLXRva2VuKFwicmVkLXdhcm0tNTBcIik7XG4vLyBAcmV0dXJuIHRydWVcbiIsIi8vIEBUT0RPIGNhbmRpZGF0ZSBmb3IgcmVtb3ZhbCBiZWNhdXNlIG9mIGJ1aWx0LWluIG1hdGgucG93KClcbi8vIGh0dHBzOi8vc2Fzcy1sYW5nLmNvbS9kb2N1bWVudGF0aW9uL21vZHVsZXMvbWF0aCNwb3dcblxuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcInNhc3M6bWV0YVwiO1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxucG93KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblJhaXNlcyBhIHVuaXRsZXNzIG51bWJlciB0byB0aGUgcG93ZXJcbm9mIGFub3RoZXIgdW5pdGxlc3MgbnVtYmVyXG5JbmNsdWRlcyBoZWxwZXIgZnVuY3Rpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gcG93KCRudW1iZXIsICRleHBvbmVudCkge1xuICBAaWYgKG1hdGgucm91bmQoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICBAcmV0dXJuIGV4cCgkZXhwb25lbnQgKiBsbigkbnVtYmVyKSk7XG4gIH1cblxuICAkdmFsdWU6IDE7XG5cbiAgQGlmICRleHBvbmVudCA+IDAge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJG51bWJlcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJGV4cG9uZW50IDwgMCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogbWF0aC5kaXYoJHZhbHVlLCAkbnVtYmVyKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkhlbHBlciBmdW5jdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbi8qIGZhY3RvcmlhbCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gZmFjdG9yaWFsKCR2YWx1ZSkge1xuICAkcmVzdWx0OiAxO1xuXG4gIEBpZiAkdmFsdWUgPT0gMCB7XG4gICAgQHJldHVybiAkcmVzdWx0O1xuICB9XG5cbiAgQGZvciAkaW5kZXggZnJvbSAxIHRocm91Z2ggJHZhbHVlIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogJGluZGV4O1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vKiBzdW1tYXRpb24oKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbkBmdW5jdGlvbiBzdW1tYXRpb24oJGl0ZXJhdGVlLCAkaW5wdXQsICRpbml0aWFsOiAwLCAkbGltaXQ6IDEwMCkge1xuICAkc3VtOiAwO1xuXG4gIEBmb3IgJGluZGV4IGZyb20gJGluaXRpYWwgdG8gJGxpbWl0IHtcbiAgICAkc3VtOiAkc3VtICsgbWV0YS5jYWxsKCRpdGVyYXRlZSwgJGlucHV0LCAkaW5kZXgpO1xuICB9XG5cbiAgQHJldHVybiAkc3VtO1xufVxuXG4vKiBleHAtbWFjbGF1cmluKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5AZnVuY3Rpb24gZXhwLW1hY2xhdXJpbigkeCwgJG4pIHtcbiAgQHJldHVybiBtYXRoLmRpdihwb3coJHgsICRuKSwgZmFjdG9yaWFsKCRuKSk7XG59XG5cbkBmdW5jdGlvbiBleHAoJHZhbHVlKSB7XG4gIEByZXR1cm4gc3VtbWF0aW9uKG1ldGEuZ2V0LWZ1bmN0aW9uKFwiZXhwLW1hY2xhdXJpblwiKSwgJHZhbHVlLCAwLCAxMDApO1xufVxuXG5AZnVuY3Rpb24gbG4tbWFjbGF1cmluKCR4LCAkbikge1xuICBAcmV0dXJuIG1hdGguZGl2KHBvdygtMSwgJG4gKyAxKSwgJG4pICogKHBvdygkeCAtIDEsICRuKSk7XG59XG5cbkBmdW5jdGlvbiBzdW1tYXRpb24oJGl0ZXJhdGVlLCAkaW5wdXQsICRpbml0aWFsOiAwLCAkbGltaXQ6IDEwMCkge1xuICAkc3VtOiAwO1xuXG4gIEBmb3IgJGluZGV4IGZyb20gJGluaXRpYWwgdG8gJGxpbWl0IHtcbiAgICAkc3VtOiAkc3VtICsgbWV0YS5jYWxsKCRpdGVyYXRlZSwgJGlucHV0LCAkaW5kZXgpO1xuICB9XG5cbiAgQHJldHVybiAkc3VtO1xufVxuXG4vKiBsbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuQGZ1bmN0aW9uIGxuKCR2YWx1ZSkge1xuICAkdGVuLWV4cDogMTtcbiAgJGxuLXRlbjogMi4zMDI1ODUwOTtcblxuICBAd2hpbGUgKCR2YWx1ZSA+IHBvdygxMCwgJHRlbi1leHApKSB7XG4gICAgJHRlbi1leHA6ICR0ZW4tZXhwICsgMTtcbiAgfVxuXG4gIEByZXR1cm4gc3VtbWF0aW9uKFxuICAgICAgbWV0YS5nZXQtZnVuY3Rpb24oXCJsbi1tYWNsYXVyaW5cIiksXG4gICAgICBtYXRoLmRpdigkdmFsdWUsIHBvdygxMCwgJHRlbi1leHApKSxcbiAgICAgIDEsXG4gICAgICAxMDBcbiAgICApICsgJHRlbi1leHAgKiAkbG4tdGVuO1xufVxuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbG9yLXRva2VuLXR5cGUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB0aGUgdHlwZSBvZiBhIGNvbG9yIHRva2VuLlxuUmV0dXJuczogXCJzeXN0ZW1cIiB8IFwidGhlbWVcIlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQHVzZSBcIi4uL2dlbmVyYWwvZXJyb3Itbm90LXRva2VuXCIgYXMgKjtcbkB1c2UgXCJpcy1zeXN0ZW0tY29sb3ItdG9rZW5cIiBhcyAqO1xuQHVzZSBcImlzLXRoZW1lLWNvbG9yLXRva2VuXCIgYXMgKjtcblxuQGZ1bmN0aW9uIGNvbG9yLXRva2VuLXR5cGUoJHRva2VuKSB7XG4gICR0eXBlOiBpZihpcy1zeXN0ZW0tY29sb3ItdG9rZW4oJHRva2VuKSwgXCJzeXN0ZW1cIiwgZmFsc2UpO1xuICBAaWYgbm90ICR0eXBlIHtcbiAgICAkdHlwZTogaWYoaXMtdGhlbWUtY29sb3ItdG9rZW4oJHRva2VuKSwgXCJ0aGVtZVwiLCBmYWxzZSk7XG4gIH1cbiAgQGlmIG5vdCAkdHlwZSB7XG4gICAgQHJldHVybiBlcnJvci1ub3QtdG9rZW4oJHRva2VuLCBcImNvbG9yXCIpO1xuICB9XG4gIEByZXR1cm4gJHR5cGU7XG59XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29sb3ItdG9rZW4tdmFyaWFudCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSB2YXJpYW50IG9mIGNvbG9yIHRva2VuLlxuUmV0dXJuczogXCJ2aXZpZFwiIHwgZmFsc2VcbmNvbG9yLXRva2VuLXZhcmlhbnQoXCJhY2NlbnQtd2FybVwiKVxuPiBmYWxzZVxuY29sb3ItdG9rZW4tdmFyaWFudChcImFjY2VudC13YXJtLXZpdmlkXCIpXG4+IFwidml2aWRcIlxuY29sb3ItdG9rZW4tdmFyaWFudChcInJlZC01MHZcIilcbj4gXCJ2aXZpZFwiXG5jb2xvci10b2tlbi12YXJpYW50KChcInJlZFwiLCA1MCwgXCJ2aXZpZFwiKSlcbj4gXCJ2aXZpZFwiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptZXRhXCI7XG5AdXNlIFwic2FzczpsaXN0XCI7XG5cbkB1c2UgXCIuL2RlY29tcG9zZS1jb2xvci10b2tlblwiIGFzICo7XG5cbkBmdW5jdGlvbiBjb2xvci10b2tlbi12YXJpYW50KCRjb2xvci10b2tlbikge1xuICAkc3BsaXQ6IGlmKFxuICAgIG1ldGEudHlwZS1vZigkY29sb3ItdG9rZW4pID09IFwibGlzdFwiLFxuICAgICRjb2xvci10b2tlbixcbiAgICBkZWNvbXBvc2UtY29sb3ItdG9rZW4oJGNvbG9yLXRva2VuKVxuICApO1xuICAkdmFyaWFudDogbGlzdC5udGgoJHNwbGl0LCAzKTtcbiAgQHJldHVybiAkdmFyaWFudDtcbn1cbiIsIi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5tYWdpYy1udW1iZXIoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB0aGUgbWFnaWMgbnVtYmVyIG9mIHR3byBjb2xvclxuZ3JhZGVzLiBUYWtlcyBudW1iZXJzIG9yIGNvbG9yIHRva2Vucy5cbm1hZ2ljLW51bWJlcig1MCwgMTApXG5yZXR1cm46IDQwXG5tYWdpYy1udW1iZXIoXCJyZWQtNTBcIiwgXCJyZWQtMTBcIilcbnJldHVybjogNDBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCJzYXNzOm1ldGFcIjtcbkB1c2UgXCJjYWxjdWxhdGUtZ3JhZGVcIiBhcyAqO1xuXG5AZnVuY3Rpb24gbWFnaWMtbnVtYmVyKCRncmFkZS0xLCAkZ3JhZGUtMikge1xuICAkZ3JhZGUtMTogaWYoXG4gICAgbWV0YS50eXBlLW9mKCRncmFkZS0xKSA9PSBcIm51bWJlclwiLFxuICAgICRncmFkZS0xLFxuICAgIGNhbGN1bGF0ZS1ncmFkZSgkZ3JhZGUtMSlcbiAgKTtcbiAgJGdyYWRlLTI6IGlmKFxuICAgIG1ldGEudHlwZS1vZigkZ3JhZGUtMikgPT0gXCJudW1iZXJcIixcbiAgICAkZ3JhZGUtMixcbiAgICBjYWxjdWxhdGUtZ3JhZGUoJGdyYWRlLTIpXG4gICk7XG4gICRtYWdpYy1udW1iZXI6IG1hdGguYWJzKCRncmFkZS0xIC0gJGdyYWRlLTIpO1xuICBAcmV0dXJuICRtYWdpYy1udW1iZXI7XG59XG5cbi8vIEBkZWJ1ZyBtYWdpYy1udW1iZXIoMTAwLCAzMCk7XG4vLyBAcmV0dXJuIDcwO1xuXG4vLyBAZGVidWcgbWFnaWMtbnVtYmVyKFwicmVkLTUwXCIsIFwicmVkLTEwXCIpXG4vLyBAcmV0dXJuIDQwXG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuaXMtYWNjZXNzaWJsZS1tYWdpYy1udW1iZXIoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUmV0dXJucyB3aGV0aGVyIHR3byBncmFkZXMgYWNoaWV2ZVxuc3BlY2lmaWVkIHRhcmdldCBjb2xvciBjb250cmFzdFxuUmV0dXJuczogdHJ1ZSB8IGZhbHNlXG5pcy1hY2Nlc3NpYmxlLW1hZ2ljLW51bWJlcigxMCwgNTAsIFwiQUFcIilcbj4gZmFsc2VcbmlzLWFjY2Vzc2libGUtbWFnaWMtbnVtYmVyKDEwLCA2MCwgXCJBQVwiKVxuPiB0cnVlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwibWFnaWMtbnVtYmVyXCIgYXMgKjtcbkB1c2UgXCJ3Y2FnLW1hZ2ljLW51bWJlclwiIGFzICo7XG5cbkBmdW5jdGlvbiBpcy1hY2Nlc3NpYmxlLW1hZ2ljLW51bWJlcigkZ3JhZGUtMSwgJGdyYWRlLTIsICR3Y2FnLXRhcmdldCkge1xuICAkdGFyZ2V0LW1hZ2ljLW51bWJlcjogd2NhZy1tYWdpYy1udW1iZXIoJHdjYWctdGFyZ2V0KTtcbiAgJG1hZ2ljLW51bWJlcjogbWFnaWMtbnVtYmVyKCRncmFkZS0xLCAkZ3JhZGUtMik7XG4gIEBpZiAkbWFnaWMtbnVtYmVyID49ICR0YXJnZXQtbWFnaWMtbnVtYmVyIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQHJldHVybiBmYWxzZTtcbn1cbiIsIi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG53Y2FnLW1hZ2ljLW51bWJlcigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIHRoZSBtYWdpYyBudW1iZXIgb2YgYSBzcGVjaWZpY1xud2NhZyBncmFkZTpcblwiQUFcIlxuXCJBQS1MYXJnZVwiXG5cIkFBQVwiXG53Y2FnLW1hZ2ljLW51bWJlcihcIkFBXCIpXG4+IDUwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi8uLi92YXJpYWJsZXMvd2NhZy1tYWdpYy1udW1iZXJzXCIgYXMgKjtcblxuQGZ1bmN0aW9uIHdjYWctbWFnaWMtbnVtYmVyKCR3Y2FnLXRhcmdldCkge1xuICAkd2NhZy1tYWdpYy1udW1iZXI6IG1hcC5nZXQoJHN5c3RlbS13Y2FnLW1hZ2ljLW51bWJlcnMsICR3Y2FnLXRhcmdldCk7XG4gIEByZXR1cm4gJHdjYWctbWFnaWMtbnVtYmVyO1xufVxuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC1saW5rLXRva2Vucy1mcm9tLWJnKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhY2Nlc3NpYmxlIGxpbmsgY29sb3JzIGZvciBhIGdpdmVuXG5iYWNrZ3JvdW5kIGNvbG9yXG5yZXR1cm5zOiBsaW5rLXRva2VuLCBob3Zlci10b2tlblxuZ2V0LWxpbmstdG9rZW5zLWZyb20tYmcoXG4gIFwiYmxhY2tcIixcbiAgXCJyZWQtNjBcIixcbiAgXCJyZWQtMTBcIixcbiAgXCJBQVwiKVxuPiBcInJlZC0xMFwiLCBcInJlZC01XCJcbmdldC1saW5rLXRva2Vucy1mcm9tLWJnKFxuICBcImJsYWNrXCIsXG4gIFwicmVkLTYwdlwiLFxuICBcInJlZC0xMHZcIixcbiAgXCJBQS1sYXJnZVwiKVxuPiBcInJlZC02MHZcIiwgXCJyZWQtNTB2XCJcbmdldC1saW5rLXRva2Vucy1mcm9tLWJnKFxuICBcImJsYWNrXCIsXG4gIFwicmVkLTV2XCIsXG4gIFwicmVkLTYwdlwiLFxuICBcIkFBXCIpXG4+IFwicmVkLTV2XCIsIFwid2hpdGVcIlxuZ2V0LWxpbmstdG9rZW5zLWZyb20tYmcoXG4gIFwiYmxhY2tcIixcbiAgXCJ3aGl0ZVwiLFxuICBcInJlZC02MHZcIixcbiAgXCJBQVwiKVxuPiBcIndoaXRlXCIsIFwid2hpdGVcIlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwic2FzczptZXRhXCI7XG5cbkB1c2UgXCIuLi8uLi9zZXR0aW5nc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vdG9rZW5zL2NvbG9yXCIgYXMgKjtcbkB1c2UgXCIuLi9nZW5lcmFsL2dldC1kZWZhdWx0XCIgYXMgKjtcbkB1c2UgXCIuLi9nZW5lcmFsL3N0ci1zcGxpdFwiIGFzICo7XG5AdXNlIFwiLi4vZ2VuZXJhbC9yZW1vdmVcIiBhcyAqO1xuQHVzZSBcImdldC1jb2xvci10b2tlbi1mcm9tLWJnXCIgYXMgKjtcbkB1c2UgXCJjYWxjdWxhdGUtZ3JhZGVcIiBhcyAqO1xuQHVzZSBcImRlY29tcG9zZS1jb2xvci10b2tlblwiIGFzICo7XG5AdXNlIFwiaXMtYWNjZXNzaWJsZS1tYWdpYy1udW1iZXJcIiBhcyAqO1xuQHVzZSBcIm5leHQtdG9rZW5cIiBhcyAqO1xuXG5AZnVuY3Rpb24gZ2V0LWxpbmstdG9rZW5zLWZyb20tYmcoXG4gICRiZy1jb2xvcjogXCJkZWZhdWx0XCIsXG4gICRwcmVmZXJyZWQtbGluay10b2tlbjogXCJkZWZhdWx0XCIsXG4gICRmYWxsYmFjay1saW5rLXRva2VuOiBcImRlZmF1bHRcIixcbiAgJHdjYWctdGFyZ2V0OiBcIkFBXCIsXG4gICRjb250ZXh0OiBmYWxzZVxuKSB7XG4gICRjb250ZXh0LXRleHQ6IGlmKCRjb250ZXh0LCBcIlsjeyRjb250ZXh0fV0gXCIsIFwiXCIpO1xuICAkaXMtZGVmYXVsdDogZmFsc2U7XG4gICRpcy1kZWZhdWx0LXByZWZlcnJlZDogZmFsc2U7XG4gICRpcy1kZWZhdWx0LWZhbGxiYWNrOiBmYWxzZTtcbiAgJGRlZmF1bHQtcmV2ZXJzZTogZmFsc2U7XG4gICRkZWZhdWx0LXN0YW5kYXJkOiBmYWxzZTtcbiAgQGlmICRiZy1jb2xvciA9PSBcImRlZmF1bHRcIiB7XG4gICAgJGJnLWNvbG9yOiBnZXQtZGVmYXVsdChcImJnLWNvbG9yXCIpO1xuICB9XG4gIEBpZiAkcHJlZmVycmVkLWxpbmstdG9rZW4gPT0gXCJkZWZhdWx0XCIge1xuICAgICRwcmVmZXJyZWQtbGluay10b2tlbjogZ2V0LWRlZmF1bHQoXCJwcmVmZXJyZWQtbGluay10b2tlblwiKTtcbiAgICAkZGVmYXVsdC1yZXZlcnNlOiB0cnVlO1xuICB9XG4gIEBpZiAkZmFsbGJhY2stbGluay10b2tlbiA9PSBcImRlZmF1bHRcIiB7XG4gICAgJGZhbGxiYWNrLWxpbmstdG9rZW46IGdldC1kZWZhdWx0KFwiZmFsbGJhY2stbGluay10b2tlblwiKTtcbiAgICAkc3RhbmRhcmQtcmV2ZXJzZTogdHJ1ZTtcbiAgfVxuICAkYmctZ3JhZGU6IGNhbGN1bGF0ZS1ncmFkZSgkYmctY29sb3IpO1xuICAkcHJlZmVycmVkLWhvdmVyLXRva2VuOiBmYWxzZTtcbiAgJGRlZmF1bHQtaG92ZXItdG9rZW46IGZhbHNlO1xuICAkYWNjZXNzaWJsZS1ob3Zlci10b2tlbjogZmFsc2U7XG4gICRhY2Nlc3NpYmxlLWxpbmstdG9rZW46IGdldC1jb2xvci10b2tlbi1mcm9tLWJnKFxuICAgICRiZy1jb2xvcixcbiAgICAkcHJlZmVycmVkLWxpbmstdG9rZW4sXG4gICAgJGZhbGxiYWNrLWxpbmstdG9rZW4sXG4gICAgJHdjYWctdGFyZ2V0LFxuICAgICRjb250ZXh0LFxuICAgICRmb3I6IFwibGlua1wiXG4gICk7XG4gICRhY2Nlc3NpYmxlLWxpbmstZ3JhZGU6IGNhbGN1bGF0ZS1ncmFkZSgkYWNjZXNzaWJsZS1saW5rLXRva2VuKTtcbiAgLy8gR2V0IHRoZSBob3ZlciBjb2xvciB0b2tlblxuICAvLyBJZiBsaW5rIGlzIGxpZ2h0ZXIgdGhhbiBiZyBzZXQgJGlzLXJldmVyc2UgdG8gdHJ1ZVxuICAkaXMtcmV2ZXJzZTogaWYoJGFjY2Vzc2libGUtbGluay1ncmFkZSA8ICRiZy1ncmFkZSwgdHJ1ZSwgZmFsc2UpO1xuICAvLyBJZiB1c2luZyBkZWZhdWx0cywgc2V0IHRoZSBkZWZhdWx0IGhvdmVyXG4gIC8vICRsaW5rLWtpbmQgaXMgdXNlZCBmb3IgZXJyb3IgbWVzc2FnaW5nXG4gICRsaW5rLWtpbmQ6IGZhbHNlO1xuICBAaWYgJGlzLXJldmVyc2Uge1xuICAgIEBpZiAkZGVmYXVsdC1yZXZlcnNlIHtcbiAgICAgICRkZWZhdWx0LWhvdmVyLXRva2VuOiAkdGhlbWUtbGluay1yZXZlcnNlLWhvdmVyLWNvbG9yO1xuICAgICAgJGxpbmsta2luZDogXCJkZWZhdWx0IHJldmVyc2VcIjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJGRlZmF1bHQtc3RhbmRhcmQge1xuICAgICRkZWZhdWx0LWhvdmVyLXRva2VuOiAkdGhlbWUtbGluay1ob3Zlci1jb2xvcjtcbiAgICAkbGluay1raW5kOiBcImRlZmF1bHRcIjtcbiAgfVxuICBAaWYgJGRlZmF1bHQtaG92ZXItdG9rZW4ge1xuICAgICRkZWZhdWx0LWhvdmVyLWdyYWRlOiBjYWxjdWxhdGUtZ3JhZGUoJGRlZmF1bHQtaG92ZXItdG9rZW4pO1xuICAgIEBpZiBpcy1hY2Nlc3NpYmxlLW1hZ2ljLW51bWJlcihcbiAgICAgICRkZWZhdWx0LWhvdmVyLWdyYWRlLFxuICAgICAgJGJnLWdyYWRlLFxuICAgICAgJHdjYWctdGFyZ2V0XG4gICAgKVxuICAgIHtcbiAgICAgICRhY2Nlc3NpYmxlLWhvdmVyLXRva2VuOiAkZGVmYXVsdC1ob3Zlci10b2tlbjtcbiAgICB9XG4gICAgQGlmIG5vdCAkYWNjZXNzaWJsZS1ob3Zlci10b2tlbiBhbmQgJHRoZW1lLXNob3ctY29tcGlsZS13YXJuaW5ncyB7XG4gICAgICBAd2FybiBcIiN7JGNvbnRleHQtdGV4dH1UaGUgI3skbGluay1raW5kfSBsaW5rIGhvdmVyIChgI3skZGVmYXVsdC1ob3Zlci10b2tlbn1gKSBkb2VzIG5vdCBoYXZlICN7JHdjYWctdGFyZ2V0fSBjb250cmFzdCBvbiBhICN7JGJnLWNvbG9yfSBiYWNrZ3JvdW5kLiBQbGVhc2UgdXBkYXRlIHlvdXIgcHJvamVjdCBzZXR0aW5ncy5cIjtcbiAgICB9XG4gIH1cbiAgQGlmIG5vdCAkYWNjZXNzaWJsZS1ob3Zlci10b2tlbiB7XG4gICAgJGRpcmVjdGlvbjogaWYoJGlzLXJldmVyc2UsIFwibGlnaHRlclwiLCBcImRhcmtlclwiKTtcbiAgICAkaG92ZXItdG9rZW46IG5leHQtdG9rZW4oJGFjY2Vzc2libGUtbGluay10b2tlbiwgJGRpcmVjdGlvbik7XG4gICAgLy8gVXNlIHRoZSBuZXh0IHRva2VuLCBpZiBpdCBpcyB2YWxpZFxuICAgIEBpZiAkaG92ZXItdG9rZW4ge1xuICAgICAgJGFjY2Vzc2libGUtaG92ZXItdG9rZW46ICRob3Zlci10b2tlbjtcbiAgICAgIC8vIE90aGVyd2lzZSB1c2UgdGhlIHRva2VuIGl0c2VsZiBhcyBob3ZlciwgYW5kIHdhcm4uXG4gICAgfSBAZWxzZSB7XG4gICAgICAkYWNjZXNzaWJsZS1ob3Zlci10b2tlbjogJGFjY2Vzc2libGUtbGluay10b2tlbjtcbiAgICAgIEBpZiAkdGhlbWUtc2hvdy1jb21waWxlLXdhcm5pbmdzIHtcbiAgICAgICAgQHdhcm4gXCIjeyRjb250ZXh0LXRleHR9QSBgI3skYWNjZXNzaWJsZS1ob3Zlci10b2tlbn1gIGxpbmsgZG9lcyBub3QgaGF2ZSAjeyRkaXJlY3Rpb259IGhvdmVyIGF2YWlsYWJsZS4gSG92ZXIgc2V0IHRvIGxpbmsgY29sb3IuXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGFjY2Vzc2libGUtbGluay10b2tlbiwgJGFjY2Vzc2libGUtaG92ZXItdG9rZW47XG59XG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubmV4dC10b2tlbigpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SZXR1cm5zIG5leHQgXCJkYXJrZXJcIiBvciBcImxpZ2h0ZXJcIiBjb2xvclxudG9rZW4gb2YgdGhlIHNhbWUgdG9rZW4gdHlwZSBhbmQgdmFyaWFudC5cblJldHVybnM6IGNvbG9yLXRva2VuIHwgZmFsc2Vcbm5leHQtdG9rZW4oXCJhY2NlbnQtd2FybVwiLCBcImxpZ2h0ZXJcIilcbj4gXCJhY2NlbnQtd2FybS1saWdodFwiXG5uZXh0LXRva2VuKFwiZ3JheS0xMFwiLCBcImxpZ2h0ZXJcIilcbj4gXCJncmF5LTVcIlxubmV4dC10b2tlbihcImdyYXktNVwiLCBcImxpZ2h0ZXJcIilcbj4gXCJ3aGl0ZVwiXG5uZXh0LXRva2VuKFwid2hpdGVcIiwgXCJsaWdodGVyXCIpXG4+IGZhbHNlXG5uZXh0LXRva2VuKFwicmVkLTUwdlwiLCBcImRhcmtlclwiKVxuPiBcInJlZC02MHZcIlxubmV4dC10b2tlbihcInJlZC01MFwiLCBcImRhcmtlclwiKVxuPiBcInJlZC02MFwiXG5uZXh0LXRva2VuKFwicmVkLTgwdlwiLCBcImRhcmtlclwiKVxuPiBcInJlZC05MFwiXG5uZXh0LXRva2VuKFwicmVkLTkwXCIsIFwiZGFya2VyXCIpXG4+IFwiYmxhY2tcIlxubmV4dC10b2tlbihcIndoaXRlXCIsIFwiZGFya2VyXCIpXG4+IFwiZ3JheS01XCJcbm5leHQtdG9rZW4oXCJibGFja1wiLCBcImxpZ2h0ZXJcIilcbj4gXCJncmF5LTkwXCJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwic2FzczpsaXN0XCI7XG5cbkB1c2UgXCIuLi8uLi92YXJpYWJsZXMvbHVtaW5hbmNlLWdyYWRlLXJhbmdlc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vdmFyaWFibGVzL3RoZW1lLWNvbG9yLWdyYWRlc1wiIGFzICo7XG5AdXNlIFwiY29sb3ItdG9rZW4tZmFtaWx5XCIgYXMgKjtcbkB1c2UgXCJjb2xvci10b2tlbi1ncmFkZVwiIGFzICo7XG5AdXNlIFwiY29sb3ItdG9rZW4tdHlwZVwiIGFzICo7XG5AdXNlIFwiY29sb3ItdG9rZW4tYXNzaWdubWVudFwiIGFzICo7XG5AdXNlIFwiZGVjb21wb3NlLWNvbG9yLXRva2VuXCIgYXMgKjtcbkB1c2UgXCJjb2xvci10b2tlbi12YXJpYW50XCIgYXMgKjtcblxuQGZ1bmN0aW9uIG5leHQtdG9rZW4oJHRva2VuLCAkZGlyZWN0aW9uKSB7XG4gICRuZXh0LXRva2VuOiBmYWxzZTtcbiAgJHR5cGU6IGNvbG9yLXRva2VuLXR5cGUoJHRva2VuKTtcbiAgJHRva2VuLXNwbGl0OiBkZWNvbXBvc2UtY29sb3ItdG9rZW4oJHRva2VuKTtcbiAgLy8gMS4gU3lzdGVtIGNhc2VcbiAgQGlmICR0eXBlID09IFwic3lzdGVtXCIge1xuICAgIC8vIHRyYW5zcGFyZW50IHRva2VucyByZXR1cm4gZG9uJ3QgaGF2ZSBhIG5leHQgdG9rZW5cbiAgICBAaWYgJHRva2VuID09IFwidHJhbnNwYXJlbnRcIiB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvLyBibGFjayBhbmQgd2hpdGUgdG9rZW5zIHVzZSB0aGUgZ3JheSBmYW1pbHkgZm9yIG5leHRcbiAgICAkY3VycmVudC1mYW1pbHk6IGlmKFxuICAgICAgJHRva2VuID09IFwid2hpdGVcIiBvciAkdG9rZW4gPT0gXCJibGFja1wiLFxuICAgICAgXCJncmF5XCIsXG4gICAgICBjb2xvci10b2tlbi1mYW1pbHkoJHRva2VuLXNwbGl0KVxuICAgICk7XG4gICAgLy8gYmxhY2stIGFuZCB3aGl0ZS10cmFuc3BhcmVudCB0b2tlbnMgZG9uJ3QgaGF2ZSBhIG5leHRcbiAgICBAaWYgc3RyaW5nLmluZGV4KCRjdXJyZW50LWZhbWlseSwgXCItdHJhbnNwYXJlbnRcIikge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgJGN1cnJlbnQtZ3JhZGU6IGNvbG9yLXRva2VuLWdyYWRlKCR0b2tlbi1zcGxpdCk7XG4gICAgLy8gTm90aGluZyBjYW4gYmUgZGFya2VyIHRoYW4gYmxhY2sgb3IgbGlnaHRlciB0aGFuIHdoaXRlXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gXCJkYXJrZXJcIiBhbmQgJGN1cnJlbnQtZ3JhZGUgPT0gMTAwIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIEBpZiAkZGlyZWN0aW9uID09IFwibGlnaHRlclwiIGFuZCAkY3VycmVudC1ncmFkZSA9PSAwIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8vIEdyYWRlcyB1bmRlciA1IHNob3VsZCBiZSB0cmVhdGVkIGFzIDVcbiAgICBAaWYgJGN1cnJlbnQtZ3JhZGUgPiAwIGFuZCAkY3VycmVudC1ncmFkZSA8IDUge1xuICAgICAgJGN1cnJlbnQtZ3JhZGU6IDU7XG4gICAgfVxuICAgICRzeXN0ZW0tZ3JhZGUtbGlzdDogbWFwLmtleXMoJHN5c3RlbS1jb2xvci1ncmFkZXMpO1xuICAgICRjdXJyZW50LWdyYWRlLWluZGV4OiBsaXN0LmluZGV4KCRzeXN0ZW0tZ3JhZGUtbGlzdCwgJGN1cnJlbnQtZ3JhZGUpO1xuICAgIC8vIE5vdGU6IFN5c3RlbSBncmFkZXMgZ28gZnJvbSBkYXJrZXN0ICgxMDApIHRvIGxpZ2h0ZXN0ICgwKVxuICAgICRuZXh0LWdyYWRlOiBpZihcbiAgICAgICRkaXJlY3Rpb24gPT0gXCJkYXJrZXJcIixcbiAgICAgIGxpc3QubnRoKCRzeXN0ZW0tZ3JhZGUtbGlzdCwgKCRjdXJyZW50LWdyYWRlLWluZGV4IC0gMSkpLFxuICAgICAgbGlzdC5udGgoJHN5c3RlbS1ncmFkZS1saXN0LCAoJGN1cnJlbnQtZ3JhZGUtaW5kZXggKyAxKSlcbiAgICApO1xuICAgICRvdXRwdXQtZ3JhZGU6ICRuZXh0LWdyYWRlO1xuICAgIC8vIEtlZXAgdGhlIHNhbWUgdml2aWQgdmFyaWFudCBhcyB0aGUgcGFyZW50XG4gICAgLy8gTm90ZTogR3JhZGUgOTAgaGFzIG5vIHZpdmlkIHZhcmlhbnRcbiAgICBAaWYgY29sb3ItdG9rZW4tdmFyaWFudCgkdG9rZW4tc3BsaXQpID09IFwidml2aWRcIiBhbmQgKCRuZXh0LWdyYWRlIDwgOTApIHtcbiAgICAgICRvdXRwdXQtZ3JhZGU6ICRuZXh0LWdyYWRlICsgXCJ2XCI7XG4gICAgfVxuICAgIC8vIFVzZSBibGFjayBhbmQgd2hpdGUgdG9rZW5zIGZvciBncmFkZXMgMTAwIGFuZCAwLi4uXG4gICAgQGlmICRuZXh0LWdyYWRlID09IDEwMCB7XG4gICAgICAkbmV4dC10b2tlbjogXCJibGFja1wiO1xuICAgIH0gQGVsc2UgaWYgJG5leHQtZ3JhZGUgPT0gMCB7XG4gICAgICAkbmV4dC10b2tlbjogXCJ3aGl0ZVwiO1xuICAgICAgLy8gLi4uT3RoZXJ3aXNlIG91dHB1dCB0b2tlbiBpbiBleHBlY3RlZCBmb3JtXG4gICAgfSBAZWxzZSB7XG4gICAgICAkbmV4dC10b2tlbjogJGN1cnJlbnQtZmFtaWx5ICsgXCItXCIgKyAkb3V0cHV0LWdyYWRlO1xuICAgIH1cbiAgICAvLyAyLiBUaGVtZSBjYXNlXG4gIH0gQGVsc2Uge1xuICAgICRjdXJyZW50LWdyYWRlOiBjb2xvci10b2tlbi1ncmFkZSgkdG9rZW4tc3BsaXQpO1xuICAgIC8vIFZpdmlkIHRoZW1lIHRva2VuIHNob3VsZCBiZSBjb25zaWRlcmVkIHJvb3QgZm9yIG9yZGVyaW5nXG4gICAgJGN1cnJlbnQtZ3JhZGU6IGlmKCRjdXJyZW50LWdyYWRlID09IFwidml2aWRcIiwgXCJyb290XCIsICRjdXJyZW50LWdyYWRlKTtcbiAgICAkY3VycmVudC1mYW1pbHk6IGNvbG9yLXRva2VuLWZhbWlseSgkdG9rZW4tc3BsaXQpO1xuICAgIC8vIEluayBzaG91bGQgYmUgY29uc2lkZXJlZCBiYXNlLWRhcmtlc3RcbiAgICAvLyBUT0RPOiBTaG91bGQgaXQ/XG4gICAgQGlmICR0b2tlbiA9PSBcImlua1wiIHtcbiAgICAgICRjdXJyZW50LWZhbWlseTogXCJiYXNlXCI7XG4gICAgICAkY3VycmVudC1ncmFkZTogXCJkYXJrZXN0XCI7XG4gICAgfVxuICAgIC8vIEJsYWNrIGlzIGRhcmtlciB0aGFuIGRhcmtlc3RcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBcImRhcmtlclwiIGFuZCAkY3VycmVudC1ncmFkZSA9PSBcImRhcmtlc3RcIiB7XG4gICAgICBAcmV0dXJuIFwiYmxhY2tcIjtcbiAgICB9XG4gICAgLy8gV2hpdGUgaXMgbGlnaHRlciB0aGFuIGxpZ2h0ZXN0XG4gICAgQGlmICRkaXJlY3Rpb24gPT0gXCJsaWdodGVyXCIgYW5kICRjdXJyZW50LWdyYWRlID09IFwibGlnaHRlc3RcIiB7XG4gICAgICBAcmV0dXJuIFwid2hpdGVcIjtcbiAgICB9XG4gICAgJHRoZW1lLWdyYWRlLWxpc3Q6IG1hcC5rZXlzKCR0aGVtZS1jb2xvci1ncmFkZXMpO1xuICAgICRjdXJyZW50LWdyYWRlLWluZGV4OiBsaXN0LmluZGV4KCR0aGVtZS1ncmFkZS1saXN0LCAkY3VycmVudC1ncmFkZSk7XG4gICAgLy8gTm90ZTogVGhlbWUgZ3JhZGVzIGdvIGZyb20gYGxpZ2h0ZXN0YCB0byBgZGFya2VzdGBcbiAgICAkbmV4dC1ncmFkZTogaWYoXG4gICAgICAkZGlyZWN0aW9uID09IFwiZGFya2VyXCIsXG4gICAgICBsaXN0Lm50aCgkdGhlbWUtZ3JhZGUtbGlzdCwgKCRjdXJyZW50LWdyYWRlLWluZGV4ICsgMSkpLFxuICAgICAgbGlzdC5udGgoJHRoZW1lLWdyYWRlLWxpc3QsICgkY3VycmVudC1ncmFkZS1pbmRleCAtIDEpKVxuICAgICk7XG4gICAgLy8gRXhjbHVkZSBgcm9vdGAgZnJvbSB0b2tlbiBvdXRwdXRcbiAgICBAaWYgJG5leHQtZ3JhZGUgPT0gXCJyb290XCIge1xuICAgICAgQHJldHVybiAkY3VycmVudC1mYW1pbHk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkbmV4dC10b2tlbjogJGN1cnJlbnQtZmFtaWx5ICsgXCItXCIgKyAkbmV4dC1ncmFkZTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIG5leHQgY29sb3IgaXMgc2V0IHRvIGZhbHNlLCB1c2UgYmxhY2svd2hpdGUgaW5zdGVhZFxuICAgIEBpZiBub3QgY29sb3ItdG9rZW4tYXNzaWdubWVudCgkbmV4dC10b2tlbikge1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gXCJkYXJrZXJcIiB7XG4gICAgICAgIEByZXR1cm4gXCJibGFja1wiO1xuICAgICAgfVxuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gXCJsaWdodGVyXCIge1xuICAgICAgICBAcmV0dXJuIFwid2hpdGVcIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbmV4dC10b2tlbjtcbn1cblxuLy8gQGRlYnVnIG5leHQtdG9rZW4oXCJncmF5LTEwXCIsIFwibGlnaHRlclwiKTtcbi8vIEByZXR1cm4gZ3JheS01O1xuXG4vLyBAZGVidWcgbmV4dC10b2tlbihcInJlZC04MHZcIiwgXCJkYXJrZXJcIik7XG4vLyBAcmV0dXJuIHJlZC05MDtcblxuLy8gQGRlYnVnIG5leHQtdG9rZW4oXCJhY2NlbnQtd2FybVwiLCBcImxpZ2h0ZXJcIik7XG4vLyBAcmV0dXJuIGFjY2VudC13YXJtLWxpZ2h0O1xuXG4vLyBAZGVidWcgbmV4dC10b2tlbihcIndoaXRlXCIsIFwibGlnaHRlclwiKTtcbi8vIEByZXR1cm4gZmFsc2U7XG4iLCJAdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwic2FzczptYXBcIjtcblxuQHVzZSBcImRlY29tcG9zZS1jb2xvci10b2tlblwiIGFzICo7XG5AdXNlIFwibHVtaW5hbmNlXCIgYXMgKjtcbkB1c2UgXCJjYWxjdWxhdGUtZ3JhZGVcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL3ZhcmlhYmxlcy9sdW1pbmFuY2UtZ3JhZGUtcmFuZ2VzXCIgYXMgKjtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnRlc3QtY29sb3JzKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkNoZWNrIHRvIHNlZSBpZiBhbGwgc3lzdGVtIGNvbG9yc1xuZmFsbCBiZXR3ZWVuIHRoZSBwcm9wZXIgcmVsYXRpdmVcbmx1bWluYW5jZSByYW5nZSBmb3IgdGhlaXIgZ3JhZGUuXG5IYXMgYSBjb3VwbGUgcXVpcmtzLCBhcyB0aGUgbHVtaW5hbmNlKClcbmZ1bmN0aW9uIHJldHVybnMgc2xpZ2h0bHkgZGlmZmVyZW50XG5yZXN1bHRzIHRoYW4gZXhwZWN0ZWQuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gdGVzdC1jb2xvcnMoJG1hcCkge1xuICAkZXhjZXB0aW9uczogXCJibGFja1wiLCBcIndoaXRlXCIsIFwidHJhbnNwYXJlbnRcIiwgXCJibGFjay10cmFuc3BhcmVudFwiLFxuICAgIFwid2hpdGUtdHJhbnNwYXJlbnRcIjtcblxuICBAZWFjaCAkdG9rZW4sICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkZmFtaWx5OiBsaXN0Lm50aChkZWNvbXBvc2UtY29sb3ItdG9rZW4oJHRva2VuKSwgMSk7XG4gICAgJGdyYWRlOiBsaXN0Lm50aChkZWNvbXBvc2UtY29sb3ItdG9rZW4oJHRva2VuKSwgMik7XG5cbiAgICBAaWYgbm90ICR2YWx1ZSB7XG4gICAgICAvLyBlbXB0eSBibG9ja1xuICAgIH0gQGVsc2UgaWYgbm90IGxpc3QuaW5kZXgoJGV4Y2VwdGlvbnMsICRmYW1pbHkpIHtcbiAgICAgICRjb21wdXRlZDogY2FsY3VsYXRlLWdyYWRlKCR2YWx1ZSk7XG4gICAgICBAZGVidWcgXCJDaGVja2VkICN7JGZhbWlseX0tI3skZ3JhZGV9XCI7XG4gICAgICBAaWYgJGdyYWRlIDw9IDUge1xuICAgICAgICAvLyBlbXB0eSBibG9ja1xuICAgICAgfSBAZWxzZSBpZiAkY29tcHV0ZWQgIT0gJGdyYWRlIHtcbiAgICAgICAgQHdhcm4gXCIjeyR0b2tlbn0gKCN7JHZhbHVlfSkgbHVtOiAje2x1bWluYW5jZSgkdmFsdWUpfSBpcyBub3QgaW4gdGhlIHJhbmdlICN7bWFwLmdldCgkc3lzdGVtLWNvbG9yLWdyYWRlcywgJGdyYWRlKX1cIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIDE7XG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwiLi4vLi4vZnVuY3Rpb25zL2dlbmVyYWxcIjtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbHVtbnMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxub3V0cHV0cyBhIGdyaWQtY29sIG51bWJlciBiYXNlZCBvblxudGhlIG51bWJlciBvZiBkZXNpcmVkIGNvbHVtbnMgaW4gdGhlXG4xMi1jb2x1bW4gZ3JpZFxuXG5FeDogY29sdW1ucygyKSAtLT4gNlxuICAgIGdyaWQtY29sKGNvbHVtbnMoMikpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gY29sdW1ucygkbnVtYmVyKSB7XG4gICRvcHRpb25zOiBcImF1dG9cIiwgXCJmaWxsXCI7XG4gICRudW1iZXI6IGdlbmVyYWwuc21hcnQtcXVvdGUoJG51bWJlcik7XG5cbiAgQGlmIGxpc3QuaW5kZXgoJG9wdGlvbnMsICRudW1iZXIpIHtcbiAgICBAcmV0dXJuICRudW1iZXI7XG4gIH1cbiAgQGlmIDEyICUgJG51bWJlciAhPSAwIHtcbiAgICBAZXJyb3IgJ2AjeyRudW1iZXJ9YCBtdXN0IGJlIGEgZGl2aXNvciBvZiAxMi4nO1xuICB9XG4gICRjb2x1bW5zOiBtYXRoLmRpdigxMiwgJG51bWJlcik7XG4gIEByZXR1cm4gJGNvbHVtbnM7XG59XG5cbi8vIEBkZWJ1ZyBjb2x1bW5zKDIpO1xuLy8gQHJldHVybiA2O1xuIiwiLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblVTV0RTIFByb3BlcnRpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6c3RyaW5nXCI7XG5cbkB1c2UgXCIuL2Z1bmN0aW9ucy9nZW5lcmFsL21hcC1jb2xsZWN0XCIgYXMgKjtcbkB1c2UgXCIuL2Z1bmN0aW9ucy91bml0cy91bml0c1wiIGFzICo7XG5AdXNlIFwiLi9mdW5jdGlvbnMvdW5pdHMvc3BhY2luZy1tdWx0aXBsZVwiIGFzICo7XG5AdXNlIFwiLi9mdW5jdGlvbnMvdXRpbGl0aWVzL2xpbmUtaGVpZ2h0XCIgYXMgKjtcbi8vIFRPRE86IF5eXiBzL2IgXCJmdW5jdGlvbnMvdXRpbGl0aWVzL3VuaXRzXCJcblxuLy8gPyBUaGlzIGZpbGUgdXNlczpcbi8vIFwic2hvcnRjb2Rlcy1jb2xvci10aGVtZVwiO1xuLy8gXCJzaG9ydGNvZGVzLWNvbG9yLXN0YXRlXCI7XG4vLyBcInNob3J0Y29kZXMtY29sb3ItYmFzaWNcIjtcbi8vIFwiZ2xvYmFsXCI7XG4vLyBcInN5c3RlbS1jb2xvcnNcIjtcbkB1c2UgXCIuL3Rva2Vucy9jb2xvclwiIGFzICo7XG5cbkB1c2UgXCIuL3Rva2Vucy91bml0cy9jb2x1bW4tZ2Fwc1wiIGFzICo7XG5AdXNlIFwiLi90b2tlbnMvdW5pdHMvc3BhY2luZ1wiIGFzICo7XG5AdXNlIFwiLi90b2tlbnMvdW5pdHMvc3BhY2luZy1lbVwiIGFzICo7XG4vLyBUT0RPOiBeXl4gJ3NwYWNpbmcnP1xuXG5AdXNlIFwiLi90b2tlbnMvZm9udC9tZWFzdXJlXCIgYXMgKjtcbi8vIFRPRE86IF5eXiAndHlwb2dyYXBoeSc/XG5cbkB1c2UgXCIuL3ZhcmlhYmxlcy9ib3JkZXItcmFkaXVzXCIgYXMgKjtcbkB1c2UgXCIuL3ZhcmlhYmxlcy9wcm9qZWN0LWZvbnQtc3RhY2tzXCIgYXMgKjtcbi8vIFRPRE86IF5eXiB3aHkgJ3Byb2plY3QnIGFuZCB3aHkgbm90P1xuXG5AdXNlIFwiLi9zZXR0aW5nc1wiIGFzICo7XG5cbiRzdGFuZGFyZC1jb2xvcnM6IG1hcC1jb2xsZWN0KFxuICAkdG9rZW5zLWNvbG9yLXRoZW1lLFxuICAkdG9rZW5zLWNvbG9yLXN0YXRlLFxuICAkdG9rZW5zLWNvbG9yLWdsb2JhbFxuKTtcblxuJGV4dGVuZGVkLWNvbG9yczogbWFwLWNvbGxlY3QoJHN5c3RlbS1jb2xvcnMsICR0b2tlbnMtY29sb3ItYmFzaWMpO1xuXG4kcGFydGlhbC12YWx1ZXM6IChcbiAgemVyby16ZXJvOiAoXG4gICAgMDogMCxcbiAgKSxcbiAgbm9uZTogKFxuICAgIFwibm9uZVwiOiBub25lLFxuICApLFxuICBhdXRvOiAoXG4gICAgXCJhdXRvXCI6IGF1dG8sXG4gICksXG4gIGZ1bGwtcGVyY2VudDogKFxuICAgIFwiZnVsbFwiOiAxMDAlLFxuICApLFxuICBmdWxsLXZpZXdwb3J0LWhlaWdodDogKFxuICAgIFwidmlld3BvcnRcIjogMTAwdmgsXG4gICksXG4gIGZ1bGwtdmlld3BvcnQtd2lkdGg6IChcbiAgICBcInZpZXdwb3J0XCI6IDEwMHZ3LFxuICApLFxuKTtcblxuJHN5c3RlbS1wcm9wZXJ0aWVzOiAoXG4gIGFsaWduLWl0ZW1zOiAoXG4gICAgc3RhbmRhcmQ6IChcbiAgICAgIFwiYWxpZ24tc3RhcnRcIjogZmxleC1zdGFydCxcbiAgICAgIFwiYWxpZ24tZW5kXCI6IGZsZXgtZW5kLFxuICAgICAgXCJhbGlnbi1jZW50ZXJcIjogY2VudGVyLFxuICAgICAgXCJhbGlnbi1zdHJldGNoXCI6IHN0cmV0Y2gsXG4gICAgICBcImFsaWduLWJhc2VsaW5lXCI6IGJhc2VsaW5lLFxuICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICBhbGlnbi1zZWxmOiAoXG4gICAgc3RhbmRhcmQ6IChcbiAgICAgIFwiYWxpZ24tc2VsZi1zdGFydFwiOiBmbGV4LXN0YXJ0LFxuICAgICAgXCJhbGlnbi1zZWxmLWVuZFwiOiBmbGV4LWVuZCxcbiAgICAgIFwiYWxpZ24tc2VsZi1jZW50ZXJcIjogY2VudGVyLFxuICAgICAgXCJhbGlnbi1zZWxmLXN0cmV0Y2hcIjogc3RyZXRjaCxcbiAgICAgIFwiYWxpZ24tc2VsZi1iYXNlbGluZVwiOiBiYXNlbGluZSxcbiAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgYmFja2dyb3VuZC1jb2xvcjogKFxuICAgIHN0YW5kYXJkOiAkc3RhbmRhcmQtY29sb3JzLFxuICAgIGV4dGVuZGVkOiAkZXh0ZW5kZWQtY29sb3JzLFxuICApLFxuICBib3JkZXI6IChcbiAgICBzdGFuZGFyZDpcbiAgICAgIG1hcC1jb2xsZWN0KFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbGVyXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbFwiKSxcbiAgICAgICAgbWFwLmdldCgkcGFydGlhbC12YWx1ZXMsIFwiemVyby16ZXJvXCIpLFxuICAgICAgICAoXG4gICAgICAgICAgXCJub1ZhbHVlXCI6IDFweCxcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIGJvcmRlci1jb2xvcjogKFxuICAgIHN0YW5kYXJkOiAkc3RhbmRhcmQtY29sb3JzLFxuICAgIGV4dGVuZGVkOiAkZXh0ZW5kZWQtY29sb3JzLFxuICApLFxuICBib3JkZXItcmFkaXVzOiAoXG4gICAgc3RhbmRhcmQ6ICRwcm9qZWN0LWJvcmRlci1yYWRpdXMsXG4gICAgZXh0ZW5kZWQ6XG4gICAgICBtYXAtY29sbGVjdChcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGxlclwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGxcIilcbiAgICAgICksXG4gICksXG4gIGJvcmRlci1zdHlsZTogKFxuICAgIHN0YW5kYXJkOiAoXG4gICAgICBcImRhc2hlZFwiOiBkYXNoZWQsXG4gICAgICBcImRvdHRlZFwiOiBkb3R0ZWQsXG4gICAgICBcInNvbGlkXCI6IHNvbGlkLFxuICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICBib3JkZXItd2lkdGg6IChcbiAgICBzdGFuZGFyZDpcbiAgICAgIG1hcC1jb2xsZWN0KFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbGVyXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbFwiKSxcbiAgICAgICAgbWFwLmdldCgkcGFydGlhbC12YWx1ZXMsIFwiemVyby16ZXJvXCIpXG4gICAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgYm90dG9tOiAoXG4gICAgc3RhbmRhcmQ6XG4gICAgICBtYXAtY29sbGVjdChcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGxlclwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGxcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsZXItbmVnYXRpdmVcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsLW5lZ2F0aXZlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRwYXJ0aWFsLXZhbHVlcywgXCJ6ZXJvLXplcm9cIiksXG4gICAgICAgIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcImF1dG9cIiksXG4gICAgICAgIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcImZ1bGwtcGVyY2VudFwiKVxuICAgICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIGJveC1zaGFkb3c6IChcbiAgICBzdGFuZGFyZDogKFxuICAgICAgXCJub25lXCI6IG5vbmUsXG4gICAgICAxOiAwIHVuaXRzKDFweCkgdW5pdHMoMC41KSAwIHJnYmEoMCwgMCwgMCwgMC4xKSxcbiAgICAgIDI6IDAgdW5pdHMoMC41KSB1bml0cygxKSAwIHJnYmEoMCwgMCwgMCwgMC4xKSxcbiAgICAgIDM6IDAgdW5pdHMoMSkgdW5pdHMoMikgMCByZ2JhKDAsIDAsIDAsIDAuMSksXG4gICAgICA0OiAwIHVuaXRzKDEuNSkgdW5pdHMoMykgMCByZ2JhKDAsIDAsIDAsIDAuMSksXG4gICAgICA1OiAwIHVuaXRzKDIpIHVuaXRzKDQpIDAgcmdiYSgwLCAwLCAwLCAwLjEpLFxuICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICBicmVha3BvaW50czogKFxuICAgIHN0YW5kYXJkOlxuICAgICAgbWFwLWNvbGxlY3QoXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcImxhcmdlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJsYXJnZXJcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcImxhcmdlc3RcIilcbiAgICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICBjaXJjbGU6IChcbiAgICBzdGFuZGFyZDpcbiAgICAgIG1hcC1jb2xsZWN0KFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbGVyXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbFwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwibWVkaXVtXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJsYXJnZVwiKVxuICAgICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIGNvbG9yOiAoXG4gICAgc3RhbmRhcmQ6ICRzdGFuZGFyZC1jb2xvcnMsXG4gICAgZXh0ZW5kZWQ6ICRleHRlbmRlZC1jb2xvcnMsXG4gICksXG4gIGN1cnNvcjogKFxuICAgIHN0YW5kYXJkOiAoXG4gICAgICBcImF1dG9cIjogYXV0byxcbiAgICAgIFwiZGVmYXVsdFwiOiBkZWZhdWx0LFxuICAgICAgXCJwb2ludGVyXCI6IHBvaW50ZXIsXG4gICAgICBcIndhaXRcIjogd2FpdCxcbiAgICAgIFwibW92ZVwiOiBtb3ZlLFxuICAgICAgXCJub3QtYWxsb3dlZFwiOiBub3QtYWxsb3dlZCxcbiAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgZGlzcGxheTogKFxuICAgIHN0YW5kYXJkOiAoXG4gICAgICBcImJsb2NrXCI6IGJsb2NrLFxuICAgICAgXCJmbGV4XCI6IGZsZXgsXG4gICAgICBcIm5vbmVcIjogbm9uZSxcbiAgICAgIFwiaW5saW5lXCI6IGlubGluZSxcbiAgICAgIFwiaW5saW5lLWJsb2NrXCI6IGlubGluZS1ibG9jayxcbiAgICAgIFwiaW5saW5lLWZsZXhcIjogaW5saW5lLWZsZXgsXG4gICAgICBcInRhYmxlXCI6IHRhYmxlLFxuICAgICAgXCJ0YWJsZS1jZWxsXCI6IHRhYmxlLWNlbGwsXG4gICAgICBcInRhYmxlLXJvd1wiOiB0YWJsZS1yb3csXG4gICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIGZsZXg6IChcbiAgICBzdGFuZGFyZDogKFxuICAgICAgMTogMSAxIDAlLFxuICAgICAgMjogMiAxIDAlLFxuICAgICAgMzogMyAxIDAlLFxuICAgICAgNDogNCAxIDAlLFxuICAgICAgNTogNSAxIDAlLFxuICAgICAgNjogNiAxIDAlLFxuICAgICAgNzogNyAxIDAlLFxuICAgICAgODogOCAxIDAlLFxuICAgICAgOTogOSAxIDAlLFxuICAgICAgMTA6IDEwIDEgMCUsXG4gICAgICAxMTogMTEgMSAwJSxcbiAgICAgIDEyOiAxMiAxIDAlLFxuICAgICAgXCJmaWxsXCI6IDEgMSAwJSxcbiAgICAgIFwiYXV0b1wiOiAwIDEgYXV0byxcbiAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgZmxleC1kaXJlY3Rpb246IChcbiAgICBzdGFuZGFyZDogKFxuICAgICAgXCJyb3dcIjogcm93LFxuICAgICAgXCJjb2x1bW5cIjogY29sdW1uLFxuICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICBmbGV4LXdyYXA6IChcbiAgICBzdGFuZGFyZDogKFxuICAgICAgXCJ3cmFwXCI6IHdyYXAsXG4gICAgICBcIm5vLXdyYXBcIjogbm93cmFwLFxuICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICBmbG9hdDogKFxuICAgIHN0YW5kYXJkOiAoXG4gICAgICBcImxlZnRcIjogbGVmdCxcbiAgICAgIFwibm9uZVwiOiBub25lLFxuICAgICAgXCJyaWdodFwiOiByaWdodCxcbiAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgZm9udC1mYW1pbHk6IChcbiAgICBzdGFuZGFyZDogJHByb2plY3QtZm9udC1zdGFja3MsXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IChcbiAgICBzdGFuZGFyZDogKFxuICAgICAgXCJ0YWJ1bGFyXCI6IHN0cmluZy51bnF1b3RlKCdcInRudW1cIiAxLCBcImtlcm5cIiAxJyksXG4gICAgICBcIm5vLXRhYnVsYXJcIjogc3RyaW5nLnVucXVvdGUoJ1wia2VyblwiIDEnKSxcbiAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgZm9udC1zdHlsZTogKFxuICAgIHN0YW5kYXJkOiAoXG4gICAgICBcIml0YWxpY1wiOiBpdGFsaWMsXG4gICAgICBcIm5vLWl0YWxpY1wiOiBub3JtYWwsXG4gICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIGZvbnQtd2VpZ2h0OiAoXG4gICAgc3RhbmRhcmQ6IChcbiAgICAgIFwidGhpblwiOiAkdGhlbWUtZm9udC13ZWlnaHQtdGhpbixcbiAgICAgIFwibGlnaHRcIjogJHRoZW1lLWZvbnQtd2VpZ2h0LWxpZ2h0LFxuICAgICAgXCJub3JtYWxcIjogbm9ybWFsLFxuICAgICAgXCJtZWRpdW1cIjogJHRoZW1lLWZvbnQtd2VpZ2h0LW1lZGl1bSxcbiAgICAgIFwic2VtaWJvbGRcIjogJHRoZW1lLWZvbnQtd2VpZ2h0LXNlbWlib2xkLFxuICAgICAgXCJib2xkXCI6ICR0aGVtZS1mb250LXdlaWdodC1ib2xkLFxuICAgICAgXCJoZWF2eVwiOiAkdGhlbWUtZm9udC13ZWlnaHQtaGVhdnksXG4gICAgKSxcbiAgICBleHRlbmRlZDogKFxuICAgICAgMTAwOiAxMDAsXG4gICAgICAyMDA6IDIwMCxcbiAgICAgIDMwMDogMzAwLFxuICAgICAgNDAwOiA0MDAsXG4gICAgICA1MDA6IDUwMCxcbiAgICAgIDYwMDogNjAwLFxuICAgICAgNzAwOiA3MDAsXG4gICAgICA4MDA6IDgwMCxcbiAgICAgIDkwMDogOTAwLFxuICAgICksXG4gICksXG4gIGdhcDogKFxuICAgIHN0YW5kYXJkOlxuICAgICAgbWFwLWNvbGxlY3QoXG4gICAgICAgICRzeXN0ZW0tY29sdW1uLWdhcHMsXG4gICAgICAgIChcbiAgICAgICAgICBcInNtXCI6ICR0aGVtZS1jb2x1bW4tZ2FwLXNtLFxuICAgICAgICAgIFwibWRcIjogJHRoZW1lLWNvbHVtbi1nYXAtbWQsXG4gICAgICAgICAgXCJsZ1wiOiAkdGhlbWUtY29sdW1uLWdhcC1sZyxcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIGhlaWdodDogKFxuICAgIHN0YW5kYXJkOlxuICAgICAgbWFwLWNvbGxlY3QoXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsZXJcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJtZWRpdW1cIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcImxhcmdlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRwYXJ0aWFsLXZhbHVlcywgXCJ6ZXJvLXplcm9cIiksXG4gICAgICAgIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcImF1dG9cIiksXG4gICAgICAgIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcImZ1bGwtcGVyY2VudFwiKSxcbiAgICAgICAgbWFwLmdldCgkcGFydGlhbC12YWx1ZXMsIFwiZnVsbC12aWV3cG9ydC1oZWlnaHRcIilcbiAgICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICBqdXN0aWZ5LWNvbnRlbnQ6IChcbiAgICBzdGFuZGFyZDogKFxuICAgICAgXCJqdXN0aWZ5LWNlbnRlclwiOiBjZW50ZXIsXG4gICAgICBcImp1c3RpZnktc3RhcnRcIjogZmxleC1zdGFydCxcbiAgICAgIFwianVzdGlmeS1lbmRcIjogZmxleC1lbmQsXG4gICAgICBcImp1c3RpZnlcIjogc3BhY2UtYmV0d2VlbixcbiAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgbGVmdDogKFxuICAgIHN0YW5kYXJkOlxuICAgICAgbWFwLWNvbGxlY3QoXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsZXJcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbGVyLW5lZ2F0aXZlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbC1uZWdhdGl2ZVwiKSxcbiAgICAgICAgbWFwLmdldCgkcGFydGlhbC12YWx1ZXMsIFwiemVyby16ZXJvXCIpLFxuICAgICAgICBtYXAuZ2V0KCRwYXJ0aWFsLXZhbHVlcywgXCJhdXRvXCIpXG4gICAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgbGV0dGVyLXNwYWNpbmc6IChcbiAgICBzdGFuZGFyZDogKFxuICAgICAgXCJscy1hdXRvXCI6IGluaXRpYWwsXG4gICAgICBcImxzLW5lZy0zXCI6IC0wLjAzZW0sXG4gICAgICBcImxzLW5lZy0yXCI6IC0wLjAyZW0sXG4gICAgICBcImxzLW5lZy0xXCI6IC0wLjAxZW0sXG4gICAgICBcImxzLTFcIjogMC4wMjVlbSxcbiAgICAgIFwibHMtMlwiOiAwLjFlbSxcbiAgICAgIFwibHMtM1wiOiAwLjE1ZW0sXG4gICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICAgZnVuY3Rpb246IChcbiAgICAgIFwiYXV0b1wiOiBpbml0aWFsLFxuICAgICAgLTM6IC0wLjAzZW0sXG4gICAgICAtMjogLTAuMDJlbSxcbiAgICAgIC0xOiAtMC4wMWVtLFxuICAgICAgMTogMC4wMjVlbSxcbiAgICAgIDI6IDAuMWVtLFxuICAgICAgMzogMC4xNWVtLFxuICAgICksXG4gICksXG4gIGxpbmUtaGVpZ2h0OiAoXG4gICAgc3RhbmRhcmQ6IChcbiAgICAgIFwic2Fucy0xXCI6IGxoKFwic2Fuc1wiLCAxKSxcbiAgICAgIFwic2Fucy0yXCI6IGxoKFwic2Fuc1wiLCAyKSxcbiAgICAgIFwic2Fucy0zXCI6IGxoKFwic2Fuc1wiLCAzKSxcbiAgICAgIFwic2Fucy00XCI6IGxoKFwic2Fuc1wiLCA0KSxcbiAgICAgIFwic2Fucy01XCI6IGxoKFwic2Fuc1wiLCA1KSxcbiAgICAgIFwic2Fucy02XCI6IGxoKFwic2Fuc1wiLCA2KSxcbiAgICAgIFwic2VyaWYtMVwiOiBsaChcInNlcmlmXCIsIDEpLFxuICAgICAgXCJzZXJpZi0yXCI6IGxoKFwic2VyaWZcIiwgMiksXG4gICAgICBcInNlcmlmLTNcIjogbGgoXCJzZXJpZlwiLCAzKSxcbiAgICAgIFwic2VyaWYtNFwiOiBsaChcInNlcmlmXCIsIDQpLFxuICAgICAgXCJzZXJpZi01XCI6IGxoKFwic2VyaWZcIiwgNSksXG4gICAgICBcInNlcmlmLTZcIjogbGgoXCJzZXJpZlwiLCA2KSxcbiAgICAgIFwibW9uby0xXCI6IGxoKFwibW9ub1wiLCAxKSxcbiAgICAgIFwibW9uby0yXCI6IGxoKFwibW9ub1wiLCAyKSxcbiAgICAgIFwibW9uby0zXCI6IGxoKFwibW9ub1wiLCAzKSxcbiAgICAgIFwibW9uby00XCI6IGxoKFwibW9ub1wiLCA0KSxcbiAgICAgIFwibW9uby01XCI6IGxoKFwibW9ub1wiLCA1KSxcbiAgICAgIFwibW9uby02XCI6IGxoKFwibW9ub1wiLCA2KSxcbiAgICAgIFwiY29uZC0xXCI6IGxoKFwiY29uZFwiLCAxKSxcbiAgICAgIFwiY29uZC0yXCI6IGxoKFwiY29uZFwiLCAyKSxcbiAgICAgIFwiY29uZC0zXCI6IGxoKFwiY29uZFwiLCAzKSxcbiAgICAgIFwiY29uZC00XCI6IGxoKFwiY29uZFwiLCA0KSxcbiAgICAgIFwiY29uZC01XCI6IGxoKFwiY29uZFwiLCA1KSxcbiAgICAgIFwiY29uZC02XCI6IGxoKFwiY29uZFwiLCA2KSxcbiAgICAgIFwiaGVhZGluZy0xXCI6IGxoKFwiaGVhZGluZ1wiLCAxKSxcbiAgICAgIFwiaGVhZGluZy0yXCI6IGxoKFwiaGVhZGluZ1wiLCAyKSxcbiAgICAgIFwiaGVhZGluZy0zXCI6IGxoKFwiaGVhZGluZ1wiLCAzKSxcbiAgICAgIFwiaGVhZGluZy00XCI6IGxoKFwiaGVhZGluZ1wiLCA0KSxcbiAgICAgIFwiaGVhZGluZy01XCI6IGxoKFwiaGVhZGluZ1wiLCA1KSxcbiAgICAgIFwiaGVhZGluZy02XCI6IGxoKFwiaGVhZGluZ1wiLCA2KSxcbiAgICAgIFwidWktMVwiOiBsaChcInVpXCIsIDEpLFxuICAgICAgXCJ1aS0yXCI6IGxoKFwidWlcIiwgMiksXG4gICAgICBcInVpLTNcIjogbGgoXCJ1aVwiLCAzKSxcbiAgICAgIFwidWktNFwiOiBsaChcInVpXCIsIDQpLFxuICAgICAgXCJ1aS01XCI6IGxoKFwidWlcIiwgNSksXG4gICAgICBcInVpLTZcIjogbGgoXCJ1aVwiLCA2KSxcbiAgICAgIFwiYm9keS0xXCI6IGxoKFwiYm9keVwiLCAxKSxcbiAgICAgIFwiYm9keS0yXCI6IGxoKFwiYm9keVwiLCAyKSxcbiAgICAgIFwiYm9keS0zXCI6IGxoKFwiYm9keVwiLCAzKSxcbiAgICAgIFwiYm9keS00XCI6IGxoKFwiYm9keVwiLCA0KSxcbiAgICAgIFwiYm9keS01XCI6IGxoKFwiYm9keVwiLCA1KSxcbiAgICAgIFwiYm9keS02XCI6IGxoKFwiYm9keVwiLCA2KSxcbiAgICAgIFwiY29kZS0xXCI6IGxoKFwiY29kZVwiLCAxKSxcbiAgICAgIFwiY29kZS0yXCI6IGxoKFwiY29kZVwiLCAyKSxcbiAgICAgIFwiY29kZS0zXCI6IGxoKFwiY29kZVwiLCAzKSxcbiAgICAgIFwiY29kZS00XCI6IGxoKFwiY29kZVwiLCA0KSxcbiAgICAgIFwiY29kZS01XCI6IGxoKFwiY29kZVwiLCA1KSxcbiAgICAgIFwiY29kZS02XCI6IGxoKFwiY29kZVwiLCA2KSxcbiAgICAgIFwiYWx0LTFcIjogbGgoXCJhbHRcIiwgMSksXG4gICAgICBcImFsdC0yXCI6IGxoKFwiYWx0XCIsIDIpLFxuICAgICAgXCJhbHQtM1wiOiBsaChcImFsdFwiLCAzKSxcbiAgICAgIFwiYWx0LTRcIjogbGgoXCJhbHRcIiwgNCksXG4gICAgICBcImFsdC01XCI6IGxoKFwiYWx0XCIsIDUpLFxuICAgICAgXCJhbHQtNlwiOiBsaChcImFsdFwiLCA2KSxcbiAgICApLFxuICAgIGV4dGVuZGVkOiAoXG4gICAgICAxOiAxLFxuICAgICAgMjogMS4xLFxuICAgICAgMzogMS4zNSxcbiAgICAgIDQ6IDEuNSxcbiAgICAgIDU6IDEuNjIsXG4gICAgICA2OiAxLjc1LFxuICAgICksXG4gICksXG4gIG1hcmdpbjogKFxuICAgIHN0YW5kYXJkOlxuICAgICAgbWFwLWNvbGxlY3QoXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsZXItbmVnYXRpdmVcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsLW5lZ2F0aXZlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbGVyXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbFwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwibWVkaXVtLW5lZ2F0aXZlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJtZWRpdW1cIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLWVtLCBcInNtYWxsXCIpLFxuICAgICAgICBtYXAuZ2V0KCRwYXJ0aWFsLXZhbHVlcywgXCJ6ZXJvLXplcm9cIilcbiAgICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICBtYXJnaW4taG9yaXpvbnRhbDogKFxuICAgIHN0YW5kYXJkOlxuICAgICAgbWFwLWNvbGxlY3QoXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsZXJcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbGVyLW5lZ2F0aXZlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbC1uZWdhdGl2ZVwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwibWVkaXVtLW5lZ2F0aXZlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJtZWRpdW1cIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcImxhcmdlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZy1lbSwgXCJzbWFsbFwiKSxcbiAgICAgICAgbWFwLmdldCgkcGFydGlhbC12YWx1ZXMsIFwiemVyby16ZXJvXCIpLFxuICAgICAgICBtYXAuZ2V0KCRwYXJ0aWFsLXZhbHVlcywgXCJhdXRvXCIpXG4gICAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgbWFyZ2luLXZlcnRpY2FsOiAoXG4gICAgc3RhbmRhcmQ6XG4gICAgICBtYXAtY29sbGVjdChcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGxlclwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGxcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsZXItbmVnYXRpdmVcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsLW5lZ2F0aXZlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJtZWRpdW0tbmVnYXRpdmVcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcIm1lZGl1bVwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmctZW0sIFwic21hbGxcIiksXG4gICAgICAgIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcInplcm8temVyb1wiKSxcbiAgICAgICAgbWFwLmdldCgkcGFydGlhbC12YWx1ZXMsIFwiYXV0b1wiKVxuICAgICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIG1heC1oZWlnaHQ6IChcbiAgICBzdGFuZGFyZDpcbiAgICAgIG1hcC1jb2xsZWN0KFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbFwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwibWVkaXVtXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJsYXJnZVwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwibGFyZ2VyXCIpLFxuICAgICAgICBtYXAuZ2V0KCRwYXJ0aWFsLXZhbHVlcywgXCJub25lXCIpLFxuICAgICAgICBtYXAuZ2V0KCRwYXJ0aWFsLXZhbHVlcywgXCJmdWxsLXZpZXdwb3J0LWhlaWdodFwiKVxuICAgICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIG1heC13aWR0aDogKFxuICAgIHN0YW5kYXJkOlxuICAgICAgbWFwLWNvbGxlY3QoXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJtZWRpdW1cIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcImxhcmdlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJsYXJnZXJcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcImxhcmdlc3RcIiksXG4gICAgICAgIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcIm5vbmVcIiksXG4gICAgICAgIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcImZ1bGwtcGVyY2VudFwiKVxuICAgICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIG1lYXN1cmU6IChcbiAgICBzdGFuZGFyZDogKFxuICAgICAgMTogJHN5c3RlbS1tZWFzdXJlLXNtYWxsZXIsXG4gICAgICAyOiAkc3lzdGVtLW1lYXN1cmUtc21hbGwsXG4gICAgICAzOiAkc3lzdGVtLW1lYXN1cmUtYmFzZSxcbiAgICAgIDQ6ICRzeXN0ZW0tbWVhc3VyZS1sYXJnZSxcbiAgICAgIDU6ICRzeXN0ZW0tbWVhc3VyZS1sYXJnZXIsXG4gICAgICA2OiAkc3lzdGVtLW1lYXN1cmUtbGFyZ2VzdCxcbiAgICAgIFwibm9uZVwiOiBub25lLFxuICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICBtaW4taGVpZ2h0OiAoXG4gICAgc3RhbmRhcmQ6XG4gICAgICBtYXAtY29sbGVjdChcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGxlclwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGxcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcIm1lZGl1bVwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwibGFyZ2VcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcImxhcmdlclwiKSxcbiAgICAgICAgbWFwLmdldCgkcGFydGlhbC12YWx1ZXMsIFwiemVyby16ZXJvXCIpLFxuICAgICAgICBtYXAuZ2V0KCRwYXJ0aWFsLXZhbHVlcywgXCJmdWxsLXBlcmNlbnRcIiksXG4gICAgICAgIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcImZ1bGwtdmlld3BvcnQtaGVpZ2h0XCIpXG4gICAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgbWluLXdpZHRoOiAoXG4gICAgc3RhbmRhcmQ6XG4gICAgICBtYXAtY29sbGVjdChcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGxcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcIm1lZGl1bVwiKSxcbiAgICAgICAgbWFwLmdldCgkcGFydGlhbC12YWx1ZXMsIFwiemVyby16ZXJvXCIpXG4gICAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgb3BhY2l0eTogKFxuICAgIHN0YW5kYXJkOiAoXG4gICAgICAwOiAwLFxuICAgICAgMTA6IDAuMSxcbiAgICAgIDIwOiAwLjIsXG4gICAgICAzMDogMC4zLFxuICAgICAgNDA6IDAuNCxcbiAgICAgIDUwOiAwLjUsXG4gICAgICA2MDogMC42LFxuICAgICAgNzA6IDAuNyxcbiAgICAgIDgwOiAwLjgsXG4gICAgICA5MDogMC45LFxuICAgICAgMTAwOiAxLFxuICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICBvcmRlcjogKFxuICAgIHN0YW5kYXJkOiAoXG4gICAgICBcImZpcnN0XCI6IC0xLFxuICAgICAgXCJsYXN0XCI6IDk5OSxcbiAgICAgIFwiaW5pdGlhbFwiOiBpbml0aWFsLFxuICAgICAgMDogMCxcbiAgICAgIDE6IDEsXG4gICAgICAyOiAyLFxuICAgICAgMzogMyxcbiAgICAgIDQ6IDQsXG4gICAgICA1OiA1LFxuICAgICAgNjogNixcbiAgICAgIDc6IDcsXG4gICAgICA4OiA4LFxuICAgICAgOTogOSxcbiAgICAgIDEwOiAxMCxcbiAgICAgIDExOiAxMSxcbiAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgb3V0bGluZTogKFxuICAgIHN0YW5kYXJkOlxuICAgICAgbWFwLWNvbGxlY3QoXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsZXJcIiksXG4gICAgICAgIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcInplcm8temVyb1wiKSxcbiAgICAgICAgKFxuICAgICAgICAgIFwiMDVcIjogc3BhY2luZy1tdWx0aXBsZSgwLjUpLFxuICAgICAgICApXG4gICAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgb3V0bGluZS1jb2xvcjogKFxuICAgIHN0YW5kYXJkOiBtYXAtY29sbGVjdCgkdG9rZW5zLWNvbG9yLWdsb2JhbCksXG4gICAgZXh0ZW5kZWQ6ICRleHRlbmRlZC1jb2xvcnMsXG4gICksXG4gIG92ZXJmbG93OiAoXG4gICAgc3RhbmRhcmQ6IChcbiAgICAgIFwiaGlkZGVuXCI6IGhpZGRlbixcbiAgICAgIFwic2Nyb2xsXCI6IHNjcm9sbCxcbiAgICAgIFwiYXV0b1wiOiBhdXRvLFxuICAgICAgXCJ2aXNpYmxlXCI6IHZpc2libGUsXG4gICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIHBhZGRpbmc6IChcbiAgICBzdGFuZGFyZDpcbiAgICAgIG1hcC1jb2xsZWN0KFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbGVyXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbFwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwibWVkaXVtXCIpLFxuICAgICAgICBtYXAuZ2V0KCRwYXJ0aWFsLXZhbHVlcywgXCJ6ZXJvLXplcm9cIilcbiAgICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICBwb3NpdGlvbjogKFxuICAgIHN0YW5kYXJkOiAoXG4gICAgICBcImFic29sdXRlXCI6IGFic29sdXRlLFxuICAgICAgXCJmaXhlZFwiOiBmaXhlZCxcbiAgICAgIFwicmVsYXRpdmVcIjogcmVsYXRpdmUsXG4gICAgICBcInN0YXRpY1wiOiBzdGF0aWMsXG4gICAgICBcInN0aWNreVwiOiBzdGlja3ksXG4gICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIHJpZ2h0OiAoXG4gICAgc3RhbmRhcmQ6XG4gICAgICBtYXAtY29sbGVjdChcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGxlclwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGxcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsZXItbmVnYXRpdmVcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsLW5lZ2F0aXZlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRwYXJ0aWFsLXZhbHVlcywgXCJ6ZXJvLXplcm9cIiksXG4gICAgICAgIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcImF1dG9cIilcbiAgICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICBzcXVhcmU6IChcbiAgICBzdGFuZGFyZDpcbiAgICAgIG1hcC1jb2xsZWN0KFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbGVyXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbFwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwibWVkaXVtXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJsYXJnZVwiKVxuICAgICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIHRleHQtYWxpZ246IChcbiAgICBzdGFuZGFyZDogKFxuICAgICAgXCJjZW50ZXJcIjogY2VudGVyLFxuICAgICAgXCJsZWZ0XCI6IGxlZnQsXG4gICAgICBcImp1c3RpZnlcIjoganVzdGlmeSxcbiAgICAgIFwicmlnaHRcIjogcmlnaHQsXG4gICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIHRleHQtZGVjb3JhdGlvbjogKFxuICAgIHN0YW5kYXJkOiAoXG4gICAgICBcInN0cmlrZVwiOiBsaW5lLXRocm91Z2gsXG4gICAgICBcInVuZGVybGluZVwiOiB1bmRlcmxpbmUsXG4gICAgICBcIm5vLXVuZGVybGluZVwiOiBub25lLFxuICAgICAgXCJuby1zdHJpa2VcIjogbm9uZSxcbiAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiAoXG4gICAgc3RhbmRhcmQ6IG1hcC1jb2xsZWN0KCRzdGFuZGFyZC1jb2xvcnMsIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcImF1dG9cIikpLFxuICAgIGV4dGVuZGVkOiAkZXh0ZW5kZWQtY29sb3JzLFxuICApLFxuICB0ZXh0LWluZGVudDogKFxuICAgIHN0YW5kYXJkOlxuICAgICAgbWFwLWNvbGxlY3QoXG4gICAgICAgIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcInplcm8temVyb1wiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGxcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsLW5lZ2F0aXZlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJtZWRpdW1cIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcIm1lZGl1bS1uZWdhdGl2ZVwiKVxuICAgICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIHRleHQtdHJhbnNmb3JtOiAoXG4gICAgc3RhbmRhcmQ6IChcbiAgICAgIFwidXBwZXJjYXNlXCI6IHVwcGVyY2FzZSxcbiAgICAgIFwibm8tdXBwZXJjYXNlXCI6IG5vbmUsXG4gICAgICBcImxvd2VyY2FzZVwiOiBsb3dlcmNhc2UsXG4gICAgICBcIm5vLWxvd2VyY2FzZVwiOiBub25lLFxuICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICB0b3A6IChcbiAgICBzdGFuZGFyZDpcbiAgICAgIG1hcC1jb2xsZWN0KFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbGVyXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJzbWFsbFwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGxlci1uZWdhdGl2ZVwiKSxcbiAgICAgICAgbWFwLmdldCgkc3lzdGVtLXNwYWNpbmcsIFwic21hbGwtbmVnYXRpdmVcIiksXG4gICAgICAgIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcInplcm8temVyb1wiKSxcbiAgICAgICAgbWFwLmdldCgkcGFydGlhbC12YWx1ZXMsIFwiYXV0b1wiKVxuICAgICAgKSxcbiAgICBleHRlbmRlZDogKCksXG4gICksXG4gIHZlcnRpY2FsLWFsaWduOiAoXG4gICAgc3RhbmRhcmQ6IChcbiAgICAgIFwiYmFzZWxpbmVcIjogYmFzZWxpbmUsXG4gICAgICBcImJvdHRvbVwiOiBib3R0b20sXG4gICAgICBcIm1pZGRsZVwiOiBtaWRkbGUsXG4gICAgICBcInN1YlwiOiBzdWIsXG4gICAgICBcInN1cGVyXCI6IHN1cGVyLFxuICAgICAgXCJ0Ym90dG9tXCI6IHRleHQtYm90dG9tLFxuICAgICAgXCJ0dG9wXCI6IHRleHQtdG9wLFxuICAgICAgXCJ0b3BcIjogdG9wLFxuICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICB3aGl0ZS1zcGFjZTogKFxuICAgIHN0YW5kYXJkOiAoXG4gICAgICBcInByZVwiOiBwcmUsXG4gICAgICBcInByZS1saW5lXCI6IHByZS1saW5lLFxuICAgICAgXCJwcmUtd3JhcFwiOiBwcmUtd3JhcCxcbiAgICAgIFwid3JhcFwiOiBub3JtYWwsXG4gICAgICBcIm5vLXdyYXBcIjogbm93cmFwLFxuICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuICB3aWR0aDogKFxuICAgIHN0YW5kYXJkOlxuICAgICAgbWFwLWNvbGxlY3QoXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsZXJcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcInNtYWxsXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJtZWRpdW1cIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcImxhcmdlXCIpLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tc3BhY2luZywgXCJsYXJnZXJcIiksXG4gICAgICAgIG1hcC5nZXQoJHN5c3RlbS1zcGFjaW5nLCBcImxhcmdlc3RcIiksXG4gICAgICAgIG1hcC5nZXQoJHBhcnRpYWwtdmFsdWVzLCBcInplcm8temVyb1wiKSxcbiAgICAgICAgbWFwLmdldCgkcGFydGlhbC12YWx1ZXMsIFwiZnVsbC1wZXJjZW50XCIpLFxuICAgICAgICBtYXAuZ2V0KCRwYXJ0aWFsLXZhbHVlcywgXCJhdXRvXCIpXG4gICAgICApLFxuICAgIGV4dGVuZGVkOiAoKSxcbiAgKSxcbiAgei1pbmRleDogKFxuICAgIHN0YW5kYXJkOiAoXG4gICAgICBcImF1dG9cIjogYXV0byxcbiAgICAgIFwiYm90dG9tXCI6IC0xMDAsXG4gICAgICBcInRvcFwiOiA5OTk5OSxcbiAgICAgIDA6IDAsXG4gICAgICAxMDA6IDEwMCxcbiAgICAgIDIwMDogMjAwLFxuICAgICAgMzAwOiAzMDAsXG4gICAgICA0MDA6IDQwMCxcbiAgICAgIDUwMDogNTAwLFxuICAgICksXG4gICAgZXh0ZW5kZWQ6ICgpLFxuICApLFxuKTtcbiIsIkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJzYXNzOm1ldGFcIjtcbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9ucy9vdXRwdXQvbnVtYmVyLXRvLXRva2VuXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnMvZ2VuZXJhbC9zbWFydC1xdW90ZVwiIGFzICo7XG5AdXNlIFwiLi4vLi4vZnVuY3Rpb25zL2dlbmVyYWwvbWFwLWRlZXAtZ2V0XCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9wcm9wZXJ0aWVzXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9zZXR0aW5nc1wiIGFzICo7XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5nZXQtdXN3ZHMtdmFsdWUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuRmluZHMgYW5kIG91dHB1dHMgYSB2YWx1ZSBmcm9tIHRoZVxuVVNXRFMgc3RhbmRhcmQgdmFsdWVzLlxuXG5Vc2VkIHRvIGJ1aWxkIG90aGVyIHN0YW5kYXJkIHV0aWxpdHlcbmZ1bmN0aW9ucyBhbmQgbWl4aW5zLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQGZ1bmN0aW9uIGdldC11c3dkcy12YWx1ZSgkcHJvcGVydHksICR2YWx1ZS4uLikge1xuICBAaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSkgPT0gXCJhcmdsaXN0XCIgYW5kIGxpc3QubnRoKCR2YWx1ZSwgMSkgPT0gb3ZlcnJpZGUge1xuICAgIEByZXR1cm4gbGlzdC5udGgoJHZhbHVlLCAyKTtcbiAgfVxuXG4gICR2YWx1ZTogbGlzdC5udGgoJHZhbHVlLCAxKTtcbiAgJGNvbnZlcnRlZDogbnVtYmVyLXRvLXRva2VuKCR2YWx1ZSk7XG4gICRxdW90ZWQtdmFsdWU6IGlmKFxuICAgICRjb252ZXJ0ZWQsXG4gICAgc21hcnQtcXVvdGUoJGNvbnZlcnRlZCksXG4gICAgc21hcnQtcXVvdGUobGlzdC5udGgoJHZhbHVlLCAxKSlcbiAgKTtcbiAgJG91ci1zdGFuZGFyZC12YWx1ZXM6IG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsICRwcm9wZXJ0eSwgc3RhbmRhcmQpO1xuICAkb3VyLWV4dGVuZGVkLXZhbHVlczogbWFwLWRlZXAtZ2V0KCRzeXN0ZW0tcHJvcGVydGllcywgJHByb3BlcnR5LCBleHRlbmRlZCk7XG5cbiAgQGlmIG1hcC5oYXMta2V5KCRvdXItc3RhbmRhcmQtdmFsdWVzLCAkcXVvdGVkLXZhbHVlKSB7XG4gICAgJG91dHB1dDogbWFwLmdldCgkb3VyLXN0YW5kYXJkLXZhbHVlcywgJHF1b3RlZC12YWx1ZSk7XG5cbiAgICBAaWYgbm90ICRvdXRwdXQge1xuICAgICAgQGlmICR0aGVtZS1zaG93LWNvbXBpbGUtd2FybmluZ3Mge1xuICAgICAgICBAZXJyb3IgJ2AjeyR2YWx1ZX1gIGlzIHNldCBhcyBhIGBmYWxzZWAgdmFsdWUgJ1xuICAgICAgICAgICsgJ2ZvciB0aGUgI3skcHJvcGVydHl9IHByb3BlcnR5IGluIHlvdXIgcHJvamVjdCBzZXR0aW5ncyAnXG4gICAgICAgICAgKyAnYW5kIHdpbGwgbm90IG91dHB1dCBwcm9wZXJseS4gJ1xuICAgICAgICAgICsgJ1NldCB0aGUgdmFsdWUgb2YgYCN7JHZhbHVlfWAgaW4gcHJvamVjdCBzZXR0aW5ncy4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gJG91dHB1dDtcbiAgfVxuXG4gIEBpZiBtYXAuaGFzLWtleSgkb3VyLWV4dGVuZGVkLXZhbHVlcywgJHF1b3RlZC12YWx1ZSkge1xuICAgIEBpZiAkdGhlbWUtc2hvdy1jb21waWxlLXdhcm5pbmdzIHtcbiAgICAgIEB3YXJuICdgI3skdmFsdWV9YCBpcyBhbiBleHRlbmRlZCBVU1dEUyBgI3skcHJvcGVydHl9YCB0b2tlbi4gJ1xuICAgICAgICArICdUaGlzIGlzIE9LLCBidXQgb25seSBjb21wb25lbnRzIGJ1aWx0IHdpdGggc3RhbmRhcmQgdG9rZW5zIGNhbiBiZSBhY2NlcHRlZCBiYWNrIGludG8gdGhlIHN5c3RlbS4gJ1xuICAgICAgICArICdTdGFuZGFyZCBgI3skcHJvcGVydHl9YCB2YWx1ZXM6ICN7bWFwLmtleXMoJG91ci1zdGFuZGFyZC12YWx1ZXMpfSc7XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAuZ2V0KCRvdXItZXh0ZW5kZWQtdmFsdWVzLCAkcXVvdGVkLXZhbHVlKTtcbiAgfVxuXG4gIC8vIFRPRE86IHdoYXQgYXJlIHRoZXNlIGxhc3QgdHdvIGNhc2VzPyBFdmFsdWF0ZS5cbiAgQGlmIG5vdCgobWV0YS50eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIikgYW5kIG5vdChtYXRoLmlzLXVuaXRsZXNzKCR2YWx1ZSkpKVxuICB7XG4gICAgQGVycm9yICdgI3skdmFsdWV9YCBpcyBub3QgYSB2YWxpZCBgI3skcHJvcGVydHl9YCB0b2tlbi4gJ1xuICAgICAgKyAnWW91IHNob3VsZCBjb3JyZWN0IHRoaXMuIFN0YW5kYXJkIGAjeyRwcm9wZXJ0eX1gIHRva2VuczogJ1xuICAgICAgKyAnICN7bWFwLmtleXMoJG91ci1zdGFuZGFyZC12YWx1ZXMpfSc7XG4gIH1cblxuICBAaWYgJHRoZW1lLXNob3ctY29tcGlsZS13YXJuaW5ncyB7XG4gICAgQHdhcm4gJ2AjeyR2YWx1ZX1gIGlzIG5vdCBhIFVTV0RTIGAjeyRwcm9wZXJ0eX1gIHRva2VuLiAnXG4gICAgICArICdUaGlzIGlzIE9LLCBidXQgb25seSBjb21wb25lbnRzIGJ1aWx0IHdpdGggc3RhbmRhcmQgJ1xuICAgICAgKyAndG9rZW5zIGNhbiBiZSBhY2NlcHRlZCBiYWNrIGludG8gdGhlIHN5c3RlbS4gJ1xuICAgICAgKyAnU3RhbmRhcmQgYCN7JHByb3BlcnR5fWAgdmFsdWVzOiAje21hcC5rZXlzKCRvdXItc3RhbmRhcmQtdmFsdWVzKX0nO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCJAdXNlIFwiLi4vLi4vZnVuY3Rpb25zL2dlbmVyYWwvbWFwLWRlZXAtZ2V0XCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9wcm9wZXJ0aWVzXCIgYXMgKjtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmdldC1zdGFuZGFyZC12YWx1ZXMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0cyBhIG1hcCBvZiBVU1dEUyBzdGFuZGFyZCB2YWx1ZXNcbmZvciBhIHByb3BlcnR5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gZ2V0LXN0YW5kYXJkLXZhbHVlcygkcHJvcGVydHkpIHtcbiAgQHJldHVybiBtYXAtZGVlcC1nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCAkcHJvcGVydHksIHN0YW5kYXJkKTtcbn1cblxuLy8gQGRlYnVnIGdldC1zdGFuZGFyZC12YWx1ZXMoXCJtZWFzdXJlXCIpO1xuLy8gQHJldHVybiAoMTogNDRleCwgMjogNjBleCwgMzogNjRleCwgNDogNjhleCwgNTogNzJleCwgNjogODhleCwgXCJub25lXCI6IG5vbmUpO1xuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwic2FzczptZXRhXCI7XG5AdXNlIFwiLi4vLi4vZnVuY3Rpb25zL2dlbmVyYWwvc21hcnQtcXVvdGVcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9ucy9nZW5lcmFsL2Vycm9yLW5vdC10b2tlblwiIGFzICo7XG5AdXNlIFwiLi4vLi4vZnVuY3Rpb25zL291dHB1dC9nZXQtdXN3ZHMtdmFsdWVcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9ucy9mb250L25vcm1hbGl6ZS10eXBlLXNjYWxlXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi92YXJpYWJsZXMvYm9yZGVyLXJhZGl1c1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vdmFyaWFibGVzL3Byb2plY3QtY2FwLWhlaWdodHNcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL3ZhcmlhYmxlcy90eXBlLXNjYWxlXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9wcm9wZXJ0aWVzXCIgYXMgKjtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmJvcmRlci1yYWRpdXMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgYm9yZGVyLXJhZGl1cyBmcm9tIHRoZSBzeXN0ZW1cbmJvcmRlci1yYWRpaVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQGZ1bmN0aW9uIGJvcmRlci1yYWRpdXMoJHZhbHVlKSB7XG4gIEBpZiBtYXAuaGFzLWtleSgkYWxsLWJvcmRlci1yYWRpdXMsICR2YWx1ZSkge1xuICAgIEByZXR1cm4gbWFwLmdldCgkYWxsLWJvcmRlci1yYWRpdXMsICR2YWx1ZSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gZXJyb3Itbm90LXRva2VuKCR2YWx1ZSwgXCJib3JkZXIgcmFkaXVzXCIsICRhbGwtYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuLy8gQGRlYnVnICN7Ym9yZGVyLXJhZGl1cygyKX07XG4vLyBAcmV0dXJuIDFyZW07XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mb250LXdlaWdodCgpXG5mdygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBmb250LXdlaWdodCB2YWx1ZSBmcm9tIHRoZVxuc3lzdGVtIGZvbnQtd2VpZ2h0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gZm9udC13ZWlnaHQoJHZhbHVlKSB7XG4gIEByZXR1cm4gZ2V0LXVzd2RzLXZhbHVlKGZvbnQtd2VpZ2h0LCAkdmFsdWUpO1xufVxuXG5AZnVuY3Rpb24gZncoJHZhbHVlKSB7XG4gIEByZXR1cm4gZm9udC13ZWlnaHQoJHZhbHVlKTtcbn1cblxuLy8gQGRlYnVnICN7Zm9udC13ZWlnaHQoXCJsaWdodFwiKX07XG4vLyBAcmV0dXJuIDMwMDtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZlYXR1cmUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0cyBhIHZhbGlkIFVTV0RTIGZvbnQgZmVhdHVyZSBzZXR0aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gZmVhdHVyZSgkdmFsdWUpIHtcbiAgQHJldHVybiBnZXQtdXN3ZHMtdmFsdWUoZm9udC1mZWF0dXJlLXNldHRpbmdzLCAkdmFsdWUpO1xufVxuXG4vLyBAZGVidWcgI3tmZWF0dXJlKFwidGFidWxhclwiKX07XG4vLyBAcmV0dXJuIFwidG51bVwiIDEsIFwia2VyblwiIDE7XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mbGV4KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldHMgYSB2YWxpZCBVU1dEUyBmbGV4IHZhbHVlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gZmxleCgkdmFsdWUpIHtcbiAgQHJldHVybiBnZXQtdXN3ZHMtdmFsdWUoZmxleCwgJHZhbHVlKTtcbn1cblxuLy8gQGRlYnVnICN7ZmxleCgxMSl9O1xuLy8gQHJldHVybiAxMSAxIDAlO1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZm9udC1mYW1pbHkoKVxuZmFtaWx5KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIGZvbnQtZmFtaWx5IHN0YWNrIGZyb20gYVxucm9sZS1iYXNlZCBvciB0eXBlLWJhc2VkIGZvbnQgZmFtaWx5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gZm9udC1mYW1pbHkoJHZhbHVlKSB7XG4gIEByZXR1cm4gZ2V0LXVzd2RzLXZhbHVlKGZvbnQtZmFtaWx5LCAkdmFsdWUpO1xufVxuXG5AZnVuY3Rpb24gZmYoJHZhbHVlKSB7XG4gIEByZXR1cm4gZm9udC1mYW1pbHkoJHZhbHVlKTtcbn1cblxuQGZ1bmN0aW9uIGZhbWlseSgkdmFsdWUpIHtcbiAgQHJldHVybiBmb250LWZhbWlseSgkdmFsdWUpO1xufVxuXG4vLyBAZGVidWcgI3tmb250LWZhbWlseShcInNhbnNcIil9O1xuLy8gQHJldHVybiBTb3VyY2UgU2FucyBQcm8gV2ViLCBIZWx2ZXRpY2EgTmV1ZSwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmXG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5sZXR0ZXItc3BhY2luZygpXG5scygpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBsZXR0ZXItc3BhY2luZyB2YWx1ZSBmcm9tIHRoZVxuc3lzdGVtIGxldHRlci1zcGFjaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gbGV0dGVyLXNwYWNpbmcoJHZhbHVlKSB7XG4gICRsaC1tYXA6IG1hcC5nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCBcImxldHRlci1zcGFjaW5nXCIpO1xuICAkZm4tbWFwOiBtYXAuZ2V0KCRsaC1tYXAsIGZ1bmN0aW9uKTtcbiAgQGlmIG1hcC5oYXMta2V5KCRmbi1tYXAsICR2YWx1ZSkge1xuICAgIEByZXR1cm4gbWFwLmdldCgkZm4tbWFwLCAkdmFsdWUpO1xuICB9XG4gIEBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiIHtcbiAgICBAZXJyb3IgJ2AjeyR2YWx1ZX1gIGlzIGEgbm90IGEgdmFsaWQgbGV0dGVyLXNwYWNpbmcgdG9rZW4uICdcbiAgICAgICsgJ1ZhbGlkIGxldHRlci1zcGFjaW5nIHRva2VuczogI3ttYXAua2V5cygkZm4tbWFwKX0nO1xuICB9XG4gIEByZXR1cm4gZ2V0LXVzd2RzLXZhbHVlKFwibGV0dGVyLXNwYWNpbmdcIiwgJHZhbHVlKTtcbn1cblxuQGZ1bmN0aW9uIGxzKCR2YWx1ZSkge1xuICBAcmV0dXJuIGxldHRlci1zcGFjaW5nKCR2YWx1ZSk7XG59XG5cbi8vIEBkZWJ1ZyAje2xldHRlci1zcGFjaW5nKFwibHMtM1wiKX07XG4vLyBAcmV0dXJuIDAuMTVlbTtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm1lYXN1cmUoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0cyBhIHZhbGlkIFVTV0RTIHJlYWRpbmcgbGluZSBsZW5ndGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkBmdW5jdGlvbiBtZWFzdXJlKCR2YWx1ZSkge1xuICBAcmV0dXJuIGdldC11c3dkcy12YWx1ZShtZWFzdXJlLCAkdmFsdWUpO1xufVxuXG4vLyBAZGVidWcgI3ttZWFzdXJlKDIpfTtcbi8vIEByZXR1cm4gNjBleDtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm9wYWNpdHkoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGFuIG9wYWNpdHkgZnJvbSB0aGUgc3lzdGVtXG5vcGFjaXRpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkBmdW5jdGlvbiBvcGFjaXR5KCR2YWx1ZSkge1xuICBAcmV0dXJuIGdldC11c3dkcy12YWx1ZShvcGFjaXR5LCAkdmFsdWUpO1xufVxuXG4vLyBAZGVidWcgI3tvcGFjaXR5KDMwKX07XG4vLyBAcmV0dXJuIDAuMztcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbm9yZGVyKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhbiBvcmRlciB2YWx1ZSBmcm9tIHRoZVxuc3lzdGVtIG9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQGZ1bmN0aW9uIG9yZGVyKCR2YWx1ZSkge1xuICBAcmV0dXJuIGdldC11c3dkcy12YWx1ZShvcmRlciwgJHZhbHVlKTtcbn1cblxuLy8gQGRlYnVnICN7b3JkZXIobGFzdCl9O1xuLy8gQHJldHVybiA5OTk7XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5yYWRpdXMoKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR2V0IGEgYm9yZGVyLXJhZGl1cyB2YWx1ZSBmcm9tIHRoZVxuc3lzdGVtIGxldHRlci1zcGFjaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gcmFkaXVzKCR2YWx1ZSkge1xuICBAcmV0dXJuIGdldC11c3dkcy12YWx1ZShib3JkZXItcmFkaXVzLCAkdmFsdWUpO1xufVxuXG4vLyBAZGVidWcgI3tyYWRpdXMobGcpfTtcbi8vIEByZXR1cm4gMC41cmVtO1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZm9udC1zaXplKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCB0eXBlIHNjYWxlIHZhbHVlIGZyb20gYSBbZmFtaWx5XSBhbmRcbltzY2FsZV1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkBmdW5jdGlvbiBmb250LXNpemUoJGZhbWlseSwgJHNjYWxlLCAkZm9yY2U6IGZhbHNlKSB7XG4gICRvdXItZmFtaWx5OiBzbWFydC1xdW90ZSgkZmFtaWx5KTtcbiAgJG91ci1zY2FsZTogc21hcnQtcXVvdGUoJHNjYWxlKTtcblxuICBAaWYgbm90KG1hcC5oYXMta2V5KCRwcm9qZWN0LWNhcC1oZWlnaHRzLCAkb3VyLWZhbWlseSkpIHtcbiAgICBAcmV0dXJuIGVycm9yLW5vdC10b2tlbigkb3VyLWZhbWlseSwgXCJmb250IGZhbWlseVwiLCAkcHJvamVjdC1jYXAtaGVpZ2h0cyk7XG4gIH1cbiAgQGlmIG5vdChtYXAuZ2V0KCRhbGwtdHlwZS1zY2FsZSwgJG91ci1zY2FsZSkpIHtcbiAgICBAcmV0dXJuIGVycm9yLW5vdC10b2tlbigkb3VyLXNjYWxlLCBcImZvbnQgc2NhbGVcIiwgJGFsbC10eXBlLXNjYWxlKTtcbiAgfVxuXG4gICR0aGlzLWNhcDogbWFwLmdldCgkcHJvamVjdC1jYXAtaGVpZ2h0cywgJG91ci1mYW1pbHkpO1xuICAkdGhpcy1zY2FsZTogbWFwLmdldCgkYWxsLXR5cGUtc2NhbGUsICRvdXItc2NhbGUpO1xuXG4gIEBpZiBub3QgJGZvcmNlIHtcbiAgICBAaWYgbm90KCR0aGlzLXNjYWxlIGFuZCAkdGhpcy1jYXApIHtcbiAgICAgIEBlcnJvciAnVGhlIHNjYWxlIGAjeyRvdXItc2NhbGV9YCBpcyBkaXNhYmxlZCAnXG4gICAgICAgICsgJ2luIHlvdXIgcHJvamVjdFxcJ3MgdGhlbWUgc2V0dGluZ3MuICdcbiAgICAgICAgKyAnU2V0IGl0cyB2YWx1ZSB0byBgdHJ1ZWAgdG8gdXNlIHRoaXMgZmFtaWx5Lic7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBub3JtYWxpemUtdHlwZS1zY2FsZSgkdGhpcy1jYXAsICR0aGlzLXNjYWxlKTtcbn1cblxuQGZ1bmN0aW9uIGZzKCRmYW1pbHksICRzY2FsZSkge1xuICBAcmV0dXJuIGZvbnQtc2l6ZSgkZmFtaWx5LCAkc2NhbGUpO1xufVxuXG5AZnVuY3Rpb24gc2l6ZSgkZmFtaWx5LCAkc2NhbGUpIHtcbiAgQHJldHVybiBmb250LXNpemUoJGZhbWlseSwgJHNjYWxlKTtcbn1cblxuLy8gQGRlYnVnICN7Zm9udC1zaXplKFwic2VyaWZcIiwgXCIzeHNcIil9O1xuLy8gQHJldHVybiAgMC43OXJlbTtcblxuLy8gQGRlYnVnICN7Zm9udC1zaXplKFwic2VyaWZcIiwgXCI0eHNcIil9O1xuLy8gQHJldHVybiA0eHMgaXMgbm90IGEgdmFsaWQgVVNXRFMgZm9udCBzY2FsZSB0b2tlblxuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuei1pbmRleCgpXG56KClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIHotaW5kZXggdmFsdWUgZnJvbSB0aGVcbnN5c3RlbSB6LWluZGV4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gei1pbmRleCgkdmFsdWUpIHtcbiAgQHJldHVybiBnZXQtdXN3ZHMtdmFsdWUoei1pbmRleCwgJHZhbHVlKTtcbn1cblxuQGZ1bmN0aW9uIHooJHZhbHVlKSB7XG4gIEByZXR1cm4gei1pbmRleCgkdmFsdWUpO1xufVxuXG4vLyBAZGVidWcgI3t6KFwidG9wXCIpfTtcbi8vIEByZXR1cm4gOTk5OTk7XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJzYXNzOm1ldGFcIjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnMvZ2VuZXJhbC9zbWFydC1xdW90ZVwiIGFzICo7XG5AdXNlIFwiLi4vLi4vZnVuY3Rpb25zL2dlbmVyYWwvZXJyb3Itbm90LXRva2VuXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnMvZm9udC9ub3JtYWxpemUtdHlwZS1zY2FsZVwiIGFzICo7XG5AdXNlIFwiLi4vLi4vdmFyaWFibGVzL3Byb2plY3QtY2FwLWhlaWdodHNcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL3ZhcmlhYmxlcy90eXBlLXNjYWxlXCIgYXMgKjtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnV0aWxpdHktZm9udCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBub3JtYWxpemVkIGZvbnQtc2l6ZSBpbiByZW0gZnJvbVxuYSBmYW1pbHkgYW5kIGEgdHlwZSBzaXplIGluIGVpdGhlclxuc3lzdGVtIHNjYWxlIG9yIHByb2plY3Qgc2NhbGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk5vdCB0aGUgcHVibGljLWZhY2luZyBmdW5jdGlvbi5cblVzZWQgZm9yIGJ1aWxkaW5nIHRoZSB1dGlsaXRpZXMgYW5kXG53aXRoaG9sZHMgY2VydGFpbiBlcnJvcnMuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AZnVuY3Rpb24gdXRpbGl0eS1mb250KCRmYW1pbHksICRzY2FsZSkge1xuICBAaWYgbm90KG1hcC5oYXMta2V5KCRwcm9qZWN0LWNhcC1oZWlnaHRzLCAkZmFtaWx5KSkge1xuICAgIEByZXR1cm4gZXJyb3Itbm90LXRva2VuKCRmYW1pbHksIFwiZm9udCBmYW1pbHlcIiwgJHByb2plY3QtY2FwLWhlaWdodHMpO1xuICB9XG5cbiAgJHF1b3RlLXNjYWxlOiBzbWFydC1xdW90ZSgkc2NhbGUpO1xuICBAaWYgbm90KG1hcC5nZXQoJGFsbC10eXBlLXNjYWxlLCAkcXVvdGUtc2NhbGUpKSB7XG4gICAgQHJldHVybiBlcnJvci1ub3QtdG9rZW4oJHNjYWxlLCBcImZvbnQgc2NhbGVcIiwgJGFsbC10eXBlLXNjYWxlKTtcbiAgfVxuXG4gICR0aGlzLWNhcDogbWFwLmdldCgkcHJvamVjdC1jYXAtaGVpZ2h0cywgJGZhbWlseSk7XG4gICR0aGlzLXNjYWxlOiBtYXAuZ2V0KCRhbGwtdHlwZS1zY2FsZSwgJHF1b3RlLXNjYWxlKTtcblxuICBAaWYgbm90ICR0aGlzLXNjYWxlIGFuZCAkdGhpcy1jYXAge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBAcmV0dXJuIG5vcm1hbGl6ZS10eXBlLXNjYWxlKCR0aGlzLWNhcCwgJHRoaXMtc2NhbGUpO1xufVxuXG4vLyBAZGVidWcgdXRpbGl0eS1mb250KFwiY29uZFwiLCBcIjJ4c1wiKTtcbi8vIEByZXR1cm4gZmFsc2U7XG5cbi8vIEBkZWJ1ZyB1dGlsaXR5LWZvbnQoXCJzYW5zXCIsIFwic21cIik7XG4vLyBAcmV0dXJuIDEuMDZyZW07XG4iLCJAdXNlIFwiLi4vLi4vZnVuY3Rpb25zXCIgYXMgKjtcblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZhbWlseSgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBmb250LWZhbWlseSBzdGFja1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQG1peGluIHUtZm9udC1mYW1pbHkoJGZhbWlseSkge1xuICBmb250LWZhbWlseTogZmYoJGZhbWlseSk7XG59XG5cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5zaXplKClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdldCBhIG5vcm1hbGl6ZWQgZm9udC1zaXplIGluIHJlbSBmcm9tXG5hIGZhbWlseSBhbmQgYSB0eXBlIHNpemUgaW4gZWl0aGVyXG5zeXN0ZW0gc2NhbGUgb3IgcHJvamVjdCBzY2FsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQG1peGluIHUtZm9udC1zaXplKCRmYW1pbHksICRzY2FsZSkge1xuICBmb250LXNpemU6IGZvbnQtc2l6ZSgkZmFtaWx5LCAkc2NhbGUpO1xufVxuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZm9udCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HZXQgYSBmb250LWZhbWlseSBzdGFja1xuQU5EXG5HZXQgYSBub3JtYWxpemVkIGZvbnQtc2l6ZSBpbiByZW0gZnJvbVxuYSBmYW1pbHkgYW5kIGEgdHlwZSBzaXplIGluIGVpdGhlclxuc3lzdGVtIHNjYWxlIG9yIHByb2plY3Qgc2NhbGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkBtaXhpbiB1LWZvbnQoJGZhbWlseSwgJHNjYWxlKSB7XG4gIGZvbnQtZmFtaWx5OiBmZigkZmFtaWx5KTtcbiAgZm9udC1zaXplOiBmb250LXNpemUoJGZhbWlseSwgJHNjYWxlKTtcbn1cbiIsIkB1c2UgXCJzYXNzOm1ldGFcIjtcbkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCIuLi9nZW5lcmFsL2ZvY3VzLW91dGxpbmVcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9uc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vbWl4aW5zL3V0aWxpdGllc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vbWl4aW5zL2dlbmVyYWwvZm9jdXMtb3V0bGluZVwiIGFzICo7XG5AdXNlIFwiLi4vLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudHlwZXNldCgpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5TZXRzOlxuLSBmYW1pbHlcbi0gc2l6ZVxuLSBsaW5lLWhlaWdodFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQG1peGluIHR5cGVzZXQoXG4gICRmYW1pbHk6ICR0aGVtZS1ib2R5LWZvbnQtZmFtaWx5LFxuICAkc2NhbGU6ICR0aGVtZS1ib2R5LWZvbnQtc2l6ZSxcbiAgJGxpbmUtaGVpZ2h0OiAkdGhlbWUtYm9keS1saW5lLWhlaWdodFxuKSB7XG4gIEBpZiBtZXRhLnR5cGUtb2YoJGZhbWlseSkgPT0gXCJsaXN0XCIge1xuICAgICRsaXN0OiAkZmFtaWx5O1xuICAgICRmYW1pbHk6IGlmKGxpc3QubnRoKCRsaXN0LCAxKSwgbGlzdC5udGgoJGxpc3QsIDEpLCBudWxsKTtcbiAgICAkc2NhbGU6IGlmKGxpc3QubnRoKCRsaXN0LCAyKSwgbGlzdC5udGgoJGxpc3QsIDIpLCBudWxsKTtcbiAgICAkbGluZS1oZWlnaHQ6IGlmKGxpc3QubnRoKCRsaXN0LCAzKSwgbGlzdC5udGgoJGxpc3QsIDMpLCBudWxsKTtcbiAgfVxuICAkZmFtaWx5OiBpZigkZmFtaWx5ID09IG51bGwsICR0aGVtZS1ib2R5LWZvbnQtZmFtaWx5LCAkZmFtaWx5KTtcbiAgJHNjYWxlOiBpZigkc2NhbGUgPT0gbnVsbCwgJHRoZW1lLWJvZHktZm9udC1zaXplLCAkc2NhbGUpO1xuICAkbGluZS1oZWlnaHQ6IGlmKCRsaW5lLWhlaWdodCA9PSBudWxsLCAkdGhlbWUtYm9keS1saW5lLWhlaWdodCwgJGxpbmUtaGVpZ2h0KTtcbiAgQGluY2x1ZGUgdS1mb250KCRmYW1pbHksICRzY2FsZSk7XG4gIEBpbmNsdWRlIHUtbGluZS1oZWlnaHQoJGZhbWlseSwgJGxpbmUtaGVpZ2h0KTtcbn1cblxuQG1peGluIHR5cGVzZXQtaGVhZGluZy1iYXNlIHtcbiAgQGluY2x1ZGUgdS1tYXJnaW4teSgwKTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbkBtaXhpbiB0eXBlc2V0LWhlYWRpbmcge1xuICBAaW5jbHVkZSB0eXBlc2V0LWhlYWRpbmctYmFzZTtcblxuICAqICsgJiB7XG4gICAgbWFyZ2luLXRvcDogJHRoZW1lLWhlYWRpbmctbWFyZ2luLXRvcDtcbiAgfVxuXG4gICsgKiB7XG4gICAgbWFyZ2luLXRvcDogJHRoZW1lLXBhcmFncmFwaC1tYXJnaW4tdG9wO1xuICB9XG59XG5cbkBtaXhpbiB0eXBlc2V0LXAtYmFzZSB7XG4gIGxpbmUtaGVpZ2h0OiBsaW5lLWhlaWdodCgkdGhlbWUtYm9keS1mb250LWZhbWlseSwgJHRoZW1lLWJvZHktbGluZS1oZWlnaHQpO1xuICBtYXgtd2lkdGg6IG1lYXN1cmUoJHRoZW1lLXRleHQtbWVhc3VyZSk7XG59XG5cbi8vIHR5cGVzZXQgZWxlbWVudCBtaXhpbnNcbkBtaXhpbiB0eXBlc2V0LXAge1xuICBAaW5jbHVkZSB0eXBlc2V0LXAtYmFzZTtcbiAgQGluY2x1ZGUgdS1tYXJnaW4teSgwKTtcblxuICAqICsgJiB7XG4gICAgbWFyZ2luLXRvcDogJHRoZW1lLXBhcmFncmFwaC1tYXJnaW4tdG9wO1xuICB9XG5cbiAgKyAqIHtcbiAgICBtYXJnaW4tdG9wOiAkdGhlbWUtcGFyYWdyYXBoLW1hcmdpbi10b3A7XG4gIH1cbn1cblxuQG1peGluIHR5cGVzZXQtbGluayB7XG4gIGNvbG9yOiBjb2xvcigkdGhlbWUtbGluay1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6IGNvbG9yKCR0aGVtZS1saW5rLXZpc2l0ZWQtY29sb3IpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IGNvbG9yKCR0aGVtZS1saW5rLWhvdmVyLWNvbG9yKTtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogY29sb3IoJHRoZW1lLWxpbmstYWN0aXZlLWNvbG9yKTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmU7XG4gIH1cbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIG1heC1uZXN0aW5nLWRlcHRoICovXG5cbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6bWV0YVwiO1xuQHVzZSBcInNhc3M6c3RyaW5nXCI7XG5AdXNlIFwic2FzczpsaXN0XCI7XG5cbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5AdXNlIFwiLi4vcHJvcGVydGllc1wiIGFzICo7XG5AdXNlIFwiLi4vZnVuY3Rpb25zXCIgYXMgKjtcbkB1c2UgXCIuLi92YXJpYWJsZXMvc2VwYXJhdG9yXCIgYXMgKjtcbkB1c2UgXCIuL2hlbHBlcnNcIiBhcyAqO1xuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQHJlbmRlci1wc2V1ZG9jbGFzc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQnVpbGQgYSBwc2V1Y29jbGFzcyB1dGlsaXkgZnJvbSB2YWx1ZXNcbmNhbGN1bGF0ZWQgaW4gdGhlIEByZW5kZXItdXRpbGl0aWVzLWluXG5sb29wXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5AbWl4aW4gcmVuZGVyLXBzZXVkb2NsYXNzKFxuICAkdXRpbGl0eSxcbiAgJHBzZXVkb2NsYXNzLFxuICAkc2VsZWN0b3IsXG4gICRwcm9wZXJ0eSxcbiAgJHZhbHVlLFxuICAkbWVkaWEtcHJlZml4XG4pIHtcbiAgJGltcG9ydGFudDogaWYoJHV0aWxpdGllcy11c2UtaW1wb3J0YW50LCBcIiAhaW1wb3J0YW50XCIsIG51bGwpO1xuICAkdGhpcy1tcTogbnVsbDtcblxuICAuI3skbWVkaWEtcHJlZml4fSN7JHBzZXVkb2NsYXNzfSN7JHNlcGFyYXRvcn0je25zKFwidXRpbGl0eVwiKX0jeyRzZWxlY3Rvcn06I3skcHNldWRvY2xhc3N9IHtcbiAgICBAZWFjaCAkdGhpcy1wcm9wZXJ0eSBpbiAkcHJvcGVydHkge1xuICAgICAgI3skdGhpcy1wcm9wZXJ0eX06IHN0cmluZy51bnF1b3RlKFwiI3skdmFsdWV9I3skaW1wb3J0YW50fVwiKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gdXRpbGl0eS1mZWF0dXJlPyB1dGlsaXR5LXByb3BlcnR5XG5AbWl4aW4gYWRkLXV0aWxpdHktZGVjbGFyYXRpb24oJGRlY2xhcmF0aW9uLCAkdXRpbGl0eS10eXBlLCAkaW1wb3J0YW50KSB7XG4gIEBlYWNoICRleHQtcHJvcCwgJGV4dC12YWx1ZSBpbiBtYXAuZ2V0KCRkZWNsYXJhdGlvbiwgJHV0aWxpdHktdHlwZSkge1xuICAgICN7JGV4dC1wcm9wfTogc3RyaW5nLnVucXVvdGUoXCIjeyRleHQtdmFsdWV9I3skaW1wb3J0YW50fVwiKTtcbiAgfVxufVxuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQHJlbmRlci11dGlsaXR5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5CdWlsZCBhIHV0aWxpdHkgZnJvbSB2YWx1ZXMgY2FsY3VsYXRlZFxuaW4gdGhlIEByZW5kZXItdXRpbGl0aWVzLWluIGxvb3Bcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblRPRE86IERldGVybWluZSB0aGUgcHJvcGVyIHVzZSBvZlxudW5xdW90ZSgpIGluIHRoZSBmb2xsb3dpbmcuIENoYW5nZWQgdG9cbmFjY291bnQgZm9yIGEgJ2ludGVycG9sYXRpb24gbmVhclxub3BlcmF0b3JzIHdpbGwgYmUgc2ltcGxpZmllZCBpbiBhXG5mdXR1cmUgdmVyc2lvbiBvZiBTYXNzJyB3YXJuaW5nLlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQG1peGluIHJlbmRlci11dGlsaXR5KFxuICAkdXRpbGl0eSxcbiAgJHNlbGVjdG9yLFxuICAkcHJvcGVydHksXG4gICR2YWx1ZSxcbiAgJHZhbC1wcm9wcyxcbiAgJG1lZGlhLWtleVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCR1dGlsaXRpZXMtdXNlLWltcG9ydGFudCwgXCIgIWltcG9ydGFudFwiLCBudWxsKTtcbiAgJG1lZGlhLXByZWZpeDogbnVsbDtcbiAgJHZhbHVlLWlzLW1hcDogaWYobWV0YS50eXBlLW9mKCR2YWwtcHJvcHMpID09IFwibWFwXCIsIHRydWUsIGZhbHNlKTtcblxuICBAaWYgJG1lZGlhLWtleSB7XG4gICAgJG1lZGlhLXByZWZpeDogI3skbWVkaWEta2V5fSN7JHNlcGFyYXRvcn07XG4gIH1cblxuICAuI3skbWVkaWEtcHJlZml4fSN7bnMoXCJ1dGlsaXR5XCIpfSN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICR2YWx1ZS1pcy1tYXAgYW5kIG1hcC5oYXMta2V5KCR2YWwtcHJvcHMsIGV4dGVuZCkge1xuICAgICAgQGluY2x1ZGUgYWRkLXV0aWxpdHktZGVjbGFyYXRpb24oJHZhbC1wcm9wcywgZXh0ZW5kLCAkaW1wb3J0YW50KTtcbiAgICB9XG5cbiAgICBAaWYgJHZhbHVlLWlzLW1hcCBhbmQgbWFwLmhhcy1rZXkoJHZhbC1wcm9wcywgZXh0ZW5kcykge1xuICAgICAgQGV4dGVuZCAlI3ttYXAuZ2V0KCR2YWwtcHJvcHMsIGV4dGVuZHMpfTtcbiAgICB9XG5cbiAgICBAZWFjaCAkdGhpcy1wcm9wZXJ0eSBpbiAkcHJvcGVydHkge1xuICAgICAgI3skdGhpcy1wcm9wZXJ0eX06IHN0cmluZy51bnF1b3RlKFwiI3skdmFsdWV9I3skaW1wb3J0YW50fVwiKTtcbiAgICB9XG5cbiAgICBAaWYgbWFwLmhhcy1rZXkoJHV0aWxpdHksIGV4dGVuZCkge1xuICAgICAgQGluY2x1ZGUgYWRkLXV0aWxpdHktZGVjbGFyYXRpb24oJHV0aWxpdHksIGV4dGVuZCwgJGltcG9ydGFudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQWRkIHRoZSBwc2V1ZG9jbGFzcyB2YXJpYW50cywgaWYgYXBwbGljYWJsZVxuXG4gIEBpZiBtYXAtZGVlcC1nZXQoJHV0aWxpdHksIHNldHRpbmdzLCBob3Zlcikge1xuICAgIEBpbmNsdWRlIHJlbmRlci1wc2V1ZG9jbGFzcyhcbiAgICAgICR1dGlsaXR5LFxuICAgICAgaG92ZXIsXG4gICAgICAkc2VsZWN0b3IsXG4gICAgICAkcHJvcGVydHksXG4gICAgICAkdmFsdWUsXG4gICAgICAkbWVkaWEtcHJlZml4XG4gICAgKTtcbiAgfVxuXG4gIEBpZiBtYXAtZGVlcC1nZXQoJHV0aWxpdHksIHNldHRpbmdzLCBhY3RpdmUpIHtcbiAgICBAaW5jbHVkZSByZW5kZXItcHNldWRvY2xhc3MoXG4gICAgICAkdXRpbGl0eSxcbiAgICAgIGFjdGl2ZSxcbiAgICAgICRzZWxlY3RvcixcbiAgICAgICRwcm9wZXJ0eSxcbiAgICAgICR2YWx1ZSxcbiAgICAgICRtZWRpYS1wcmVmaXhcbiAgICApO1xuICB9XG5cbiAgQGlmIG1hcC1kZWVwLWdldCgkdXRpbGl0eSwgc2V0dGluZ3MsIHZpc2l0ZWQpIHtcbiAgICBAaW5jbHVkZSByZW5kZXItcHNldWRvY2xhc3MoXG4gICAgICAkdXRpbGl0eSxcbiAgICAgIHZpc2l0ZWQsXG4gICAgICAkc2VsZWN0b3IsXG4gICAgICAkcHJvcGVydHksXG4gICAgICAkdmFsdWUsXG4gICAgICAkbWVkaWEtcHJlZml4XG4gICAgKTtcbiAgfVxuXG4gIEBpZiBtYXAtZGVlcC1nZXQoJHV0aWxpdHksIHNldHRpbmdzLCBmb2N1cykge1xuICAgIEBpbmNsdWRlIHJlbmRlci1wc2V1ZG9jbGFzcyhcbiAgICAgICR1dGlsaXR5LFxuICAgICAgZm9jdXMsXG4gICAgICAkc2VsZWN0b3IsXG4gICAgICAkcHJvcGVydHksXG4gICAgICAkdmFsdWUsXG4gICAgICAkbWVkaWEtcHJlZml4XG4gICAgKTtcbiAgfVxufVxuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQHJlbmRlci11dGlsaXRpZXMtaW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblRoZSBtYXN0ZXIgbG9vcCB0aGF0IHNldHMgdGhlIGJ1aWxkaW5nXG5ibG9ja3Mgb2YgdXRpbGl0aWVzIGZyb20gdGhlIHZhbHVlc1xuaW4gaW5kaXZpZHVhbCBydWxlIHNldHRpbmdzIGFuZCBsb29wc1xudGhyb3VnaCBhbGwgcG9zc2libGUgdmFyaWFudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbkBtaXhpbiB0aGVzZS11dGlsaXRpZXMoJHV0aWxpdGllcywgJG1lZGlhLWtleTogZmFsc2UpIHtcbiAgLy8gbG9vcCB0aHJvdWdoIHRoZSAkdXRpbGl0aWVzXG4gIEBlYWNoICR1dGlsaXR5LW5hbWUsICR1dGlsaXR5IGluICR1dGlsaXRpZXMge1xuICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0aGUgdXRpbGl0eSBpcyBpbiB0aGUgb3V0cHV0IHVzZWxpc3RcbiAgICBAaWYgKCRvdXRwdXQtdGhlc2UtdXRpbGl0aWVzID09IFwiZGVmYXVsdFwiKSBvclxuICAgICAgbGlzdC5pbmRleCgkb3V0cHV0LXRoZXNlLXV0aWxpdGllcywgJHV0aWxpdHktbmFtZSlcbiAgICB7XG4gICAgICAvLyBPbmx5IGRvIHRoaXMgaWYgdGhlIHRoZSB1dGlsaXR5IGlzIG1lYW50IHRvIG91dHB1dFxuICAgICAgQGlmIG5vdCgkbWVkaWEta2V5KSBvclxuICAgICAgICAoJG1lZGlhLWtleSBhbmQgbWFwLWRlZXAtZ2V0KCR1dGlsaXR5LCBzZXR0aW5ncywgcmVzcG9uc2l2ZSkpXG4gICAgICB7XG4gICAgICAgIEBpZiBtYXAtZGVlcC1nZXQoJHV0aWxpdHksIHNldHRpbmdzLCBvdXRwdXQpIHtcbiAgICAgICAgICAvLyBzZXQgaW50aXRhbCB2YXJpYW50c1xuICAgICAgICAgIC8vICRwcm9wZXJ0eS1kZWZhdWx0IGlzIGEgc2luZ2xlIHZhbHVlIGZvciBhbGwgdGhlc2UgdXRpbGl0aWVzXG5cbiAgICAgICAgICAkYmFzZS1wcm9wczogbnVsbDtcbiAgICAgICAgICAkbW9kaWZpZXI6IG51bGw7XG4gICAgICAgICAgJHNlbGVjdG9yOiBudWxsO1xuICAgICAgICAgICRwcm9wZXJ0eS1kZWZhdWx0OiBtYXAuZ2V0KCR1dGlsaXR5LCBwcm9wZXJ0eSk7XG4gICAgICAgICAgJHByb3BlcnR5OiBudWxsO1xuICAgICAgICAgICR2YWx1ZTogbnVsbDtcbiAgICAgICAgICAkb3VyLW1vZGlmaWVyczogKCk7XG4gICAgICAgICAgJGI6IG51bGw7XG4gICAgICAgICAgJHY6IG51bGw7XG4gICAgICAgICAgJG12OiBudWxsO1xuICAgICAgICAgICR2YWwtcHJvcHM6ICgpO1xuICAgICAgICAgICRuby12YWx1ZTogZmFsc2U7XG5cbiAgICAgICAgICAkYjogbWFwLmdldCgkdXRpbGl0eSwgYmFzZSk7XG5cbiAgICAgICAgICAvLyBFYWNoIHV0aWxpdHkgcnVsZSB0YWtlcyBhIHZhbHVlLCBzbyBsZXQncyBzdGFydCBoZXJlXG4gICAgICAgICAgLy8gYW5kIGJlZ2luIGJ1aWxkaW5nLlxuXG4gICAgICAgICAgLy8gLS0tLS0tLS0gRm9yIGVhY2ggdmFsdWUgaW4gdXRpbGl0eS52YWx1ZXMgLS0tLS0tLS0tLVxuXG4gICAgICAgICAgQGVhY2ggJHZhbC1rZXksICR2YWwtdmFsdWUgaW4gbWFwLmdldCgkdXRpbGl0eSwgdmFsdWVzKSB7XG4gICAgICAgICAgICAvLyBJZiAkdmFsLXZhbHVlID09IG51bGwsIG9yIGlmICR2YWwtdmFsdWUgaXMgYSBtYXAgYW5kXG4gICAgICAgICAgICAvLyB0aGUgY29udGVudCBrZXkgb3IgdGhlIGRlcGVuZGVuY3kga2V5IGhhcyBhIG51bGwgdmFsdWVcbiAgICAgICAgICAgIC8vIHNldCAkdmFsLXZhbHVlIHRvIGBmYWxzZWAuLi5cblxuICAgICAgICAgICAgQGlmIG1ldGEudHlwZS1vZigkdmFsLXZhbHVlKSA9PSBcIm1hcFwiIHtcbiAgICAgICAgICAgICAgQGlmIG5vdCBtYXAuZ2V0KCR2YWwtdmFsdWUsIGNvbnRlbnQpIHtcbiAgICAgICAgICAgICAgICAkdmFsLXZhbHVlOiBmYWxzZTtcbiAgICAgICAgICAgICAgfSBAZWxzZSBpZlxuICAgICAgICAgICAgICAgIG1hcC5oYXMta2V5KCR2YWwtdmFsdWUsIGRlcGVuZGVuY3kpIGFuZCBub3RcbiAgICAgICAgICAgICAgICBtYXAuZ2V0KCR2YWwtdmFsdWUsIGRlcGVuZGVuY3kpXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAkdmFsLXZhbHVlOiBmYWxzZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyAuLi5zbyB3ZSBjYW4gc2tpcCBidWlsZGluZyB0aGlzIHJ1bGUgYWx0b2dldGhlci5cbiAgICAgICAgICAgIC8vIFNvLCBpZiAkdmFsLXZhbHVlIGlzIF9ub3RfIGZhbHNlLi4uXG5cbiAgICAgICAgICAgIEBpZiAkdmFsLXZhbHVlIHtcbiAgICAgICAgICAgICAgLy8gU2V0IHRoZSB2YWx1ZSBvZiBvdXIgcnVsZS5cbiAgICAgICAgICAgICAgLy8gSWYgaXRzIGEgbWFwLCB1c2UgdmFsLXZhbHVlLmNvbnRlbnQuXG5cbiAgICAgICAgICAgICAgJHZhbC1zbHVnOiBpZihcbiAgICAgICAgICAgICAgICBtZXRhLnR5cGUtb2YoJHZhbC12YWx1ZSkgPT0gXCJtYXBcIixcbiAgICAgICAgICAgICAgICBtYXAuZ2V0KCR2YWwtdmFsdWUsIFwic2x1Z1wiKSxcbiAgICAgICAgICAgICAgICAkdmFsLWtleVxuICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICR2YWx1ZTogaWYoXG4gICAgICAgICAgICAgICAgbWV0YS50eXBlLW9mKCR2YWwtdmFsdWUpID09IFwibWFwXCIsXG4gICAgICAgICAgICAgICAgbWFwLmdldCgkdmFsLXZhbHVlLCBcImNvbnRlbnRcIiksXG4gICAgICAgICAgICAgICAgJHZhbC12YWx1ZVxuICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgIEBpZiAkdmFsLXNsdWcgPT0gXCJcIiBvciBzbWFydC1xdW90ZSgkdmFsLXNsdWcpID09IFwibm9WYWx1ZVwiIHtcbiAgICAgICAgICAgICAgICAkbm8tdmFsdWU6IHRydWU7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAvLyBBZGQgYW55IGFwcGVuZGVkIHZhbHVlcy4uLlxuXG4gICAgICAgICAgICAgIEBpZiBtYXAuZ2V0KCR1dGlsaXR5LCB2YWx1ZUFwcGVuZCkge1xuICAgICAgICAgICAgICAgICR2YWx1ZTogJHZhbHVlICsgbWFwLmdldCgkdXRpbGl0eSwgdmFsdWVBcHBlbmQpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLy8gLi4ub3IgcHJlcGVuZGVkIHZhbHVlcy5cblxuICAgICAgICAgICAgICBAaWYgbWFwLmdldCgkdXRpbGl0eSwgdmFsdWVQcmVwZW5kKSB7XG4gICAgICAgICAgICAgICAgJHZhbHVlOiBtYXAuZ2V0KCR1dGlsaXR5LCB2YWx1ZVByZXBlbmQpICsgJHZhbHVlO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLy8gQW5kIHdlJ2xsIHNldCB0aGUgJHYgYXMgJHZhbC1zbHVnIGZvciB1c2UgaW5cbiAgICAgICAgICAgICAgLy8gY29uc3RydWN0aW5nIHRoZSBzZWxlY3RvciAoLiRiLSRtLSR2KS5cblxuICAgICAgICAgICAgICAkdjogJHZhbC1zbHVnO1xuXG4gICAgICAgICAgICAgIC8vIC0tLS0tLS0tIFN0YXJ0IG9mIE1vZGlmaWVycyAtLS0tLS0tLS0tXG5cbiAgICAgICAgICAgICAgLy8gTm93IHdlJ2xsIGNoZWNrIGZvciBtb2RpZmllcnMgYW5kIGxvb3AgdGhyb3VnaCB0aGVtXG4gICAgICAgICAgICAgIC8vIHRvIGdldCB0aGUgcHJvcHMgd2UgbmVlZCB0byBidWlsZCBvdXIgcnVsZS5cblxuICAgICAgICAgICAgICAvLyBNb2RpZmllcnMgYXJlIGhlbGQgaW4gYSBNQVAsXG4gICAgICAgICAgICAgIC8vIHdoZXJlIGVhY2ggaW5kaXZpZHVhbCBtb2RpZmVyIGhhcyB0aGUga2V5cGFpclxuICAgICAgICAgICAgICAvLyBbc2x1Z106W3ZhbHVlXVxuXG4gICAgICAgICAgICAgIC8vIFNvLCBjaGVjayBmb3IgbW9kaWZpZXJzLlxuXG4gICAgICAgICAgICAgIEBpZiBtYXAuZ2V0KCR1dGlsaXR5LCBtb2RpZmllcnMpIHtcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSBhcmUgbW9kaWZpZXJzLCBjYXB0dXJlIHRoZW0gYXMgJG91ci1tb2RpZmllcnMuXG5cbiAgICAgICAgICAgICAgICAkb3VyLW1vZGlmaWVyczogbWFwLmdldCgkdXRpbGl0eSwgbW9kaWZpZXJzKTtcbiAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUgYXJlbid0LCBidWlsZCBhIGR1bW15IHNvIHdlIGNhbiBrZWVwXG4gICAgICAgICAgICAgICAgLy8gYWxsIG91ciBidWlsZCBpbiB0aGUgc2FtZSBsb29wLlxuXG4gICAgICAgICAgICAgICAgJG91ci1tb2RpZmllcnM6IChcbiAgICAgICAgICAgICAgICAgIFwic2x1Z1wiOiBudWxsLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAvLyBPSyEgQydtb24sIGxldCdzIGxvb3AhXG4gICAgICAgICAgICAgIC8vIGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9WDlpMmkwN3dQVXdcblxuICAgICAgICAgICAgICAvLyAtLS0tLS0tLSBGb3IgZWFjaCBtb2RpZmllciBpbiAkb3VyLW1vZGlmaWVycyAtLS0tLS0tLS0tXG5cbiAgICAgICAgICAgICAgQGVhY2ggJG1vZC1rZXksICRtb2QtdmFsIGluICRvdXItbW9kaWZpZXJzIHtcbiAgICAgICAgICAgICAgICAkcHJvcGVydHk6IGlmKFxuICAgICAgICAgICAgICAgICAgJG1vZC12YWwgPT0gbnVsbCBvciAkbW9kLXZhbCA9PSBcIlwiLFxuICAgICAgICAgICAgICAgICAgJHByb3BlcnR5LWRlZmF1bHQsXG4gICAgICAgICAgICAgICAgICBtdWx0aS1jYXQoJHByb3BlcnR5LWRlZmF1bHQsICRtb2QtdmFsKVxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAvLyBOb3cgd2UgZ28gdGhyb3VnaCB0byBzZXQgdGhlICRzZWxlY3Rvci5cblxuICAgICAgICAgICAgICAgIC8vIElmIG1vZC1wcm9wcy5zbHVnIGlzIG5vTW9kaWZpZXIuLi5cblxuICAgICAgICAgICAgICAgIEBpZiAkbW9kLWtleSA9PVxuICAgICAgICAgICAgICAgICAgXCJcIiBvclxuICAgICAgICAgICAgICAgICAgJG1vZC1rZXkgPT1cbiAgICAgICAgICAgICAgICAgIHNsdWcgb3JcbiAgICAgICAgICAgICAgICAgIHNtYXJ0LXF1b3RlKCRtb2Qta2V5KSA9PVxuICAgICAgICAgICAgICAgICAgXCJub01vZGlmaWVyXCJcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAvLyBGaXJzdCwgd2UgY2FuIHRlc3QgdG8gc2VlIGlmIHRoZSBiYXNlICRiIGlzIG51bGxcblxuICAgICAgICAgICAgICAgICAgQGlmIG5vdCAkYiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIElmIGl0IF9pc18gbnVsbCwgdGhlIHJ1bGUncyBzZWxlY3RvciBpcyAkdi5cblxuICAgICAgICAgICAgICAgICAgICAkc2VsZWN0b3I6ICR2O1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGlmIHRoZSB2YWx1ZSBpcyBub1ZhbHVlICgnJylcbiAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgJG5vLXZhbHVlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gc2VsZWN0b3IgaXMgdGhlIGJhc2Ugb25seVxuXG4gICAgICAgICAgICAgICAgICAgICRzZWxlY3RvcjogJGI7XG4gICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gb3RoZXJ3aXNlLCBzZWxjdG9yIGlzIGpvaW5lZCB3aXRoIGEgaHlwaGVuLlxuXG4gICAgICAgICAgICAgICAgICAgICRzZWxlY3RvcjogJGIgKyBcIi1cIiArICR2O1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIE5pY2UhIFdlIGp1c3QgdG9vayBjYXJlIG9mIHRoZSBub24tbW9kaWZpZXIgY2FzZXMhXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUgX2lzXyBhIG1vZGlmaWVyLi4uXG5cbiAgICAgICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAkbXY6IGlmKCRuby12YWx1ZSwgJG1vZC1rZXksICRtb2Qta2V5ICsgXCItXCIgKyAkdik7XG5cbiAgICAgICAgICAgICAgICAgIC8vIE9uY2Ugd2UgaGF2ZSAkbXYsIHRlc3QgZm9yICRiXG4gICAgICAgICAgICAgICAgICAvLyBhbmQgYnVpbGQgdGhlIHNlbGVjdG9yIGFzIGJlZm9yZS5cblxuICAgICAgICAgICAgICAgICAgJHNlbGVjdG9yOiBpZigkYiA9PSBudWxsLCAkbXYsICRiICsgXCItXCIgKyAkbXYpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGZpbmlzaGVkIHNldHRpbmcgbW9kaWZpZXIgdmFyc1xuXG4gICAgICAgICAgICAgICAgLy8gSGV5LiBEaWQgd2UganVzdCBmaW5pc2ggJHNlbGVjdG9yP1xuICAgICAgICAgICAgICAgIC8vIEFuZCBkbyB3ZSBhbHNvIGhhdmUgJHByb3BlcnR5IGFuZCAkdmFsdWU/XG4gICAgICAgICAgICAgICAgLy8gV2UgZG8/IT8hPyEgV2UgZG8hXG5cbiAgICAgICAgICAgICAgICAvLyBGSU5BTExZLCAnQlVJTEQgVEhFIFJVTEUsIE1BWCEnXG4gICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1SM0lnejVTZkJDRVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVuZGVyLXV0aWxpdHkoXG4gICAgICAgICAgICAgICAgICAkdXRpbGl0eSxcbiAgICAgICAgICAgICAgICAgICRzZWxlY3RvcixcbiAgICAgICAgICAgICAgICAgICRwcm9wZXJ0eSxcbiAgICAgICAgICAgICAgICAgICR2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICR2YWwtdmFsdWUsXG4gICAgICAgICAgICAgICAgICAkbWVkaWEta2V5XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfSAvLyBlbmQgdGhlIG1vZGlmaWVyIGxvb3BcbiAgICAgICAgICAgIH0gLy8gZW5kIHRoZSBudWxsIHZhbHVlIGNvbmRpdGlvbmFsXG4gICAgICAgICAgfSAvLyBlbmQgdGhlIHZhbHVlIGxvb3BcbiAgICAgICAgfSAvLyBlbmQgdGhlIG91dHB1dCBjb25kaXRpb25hbFxuICAgICAgfVxuICAgIH0gLy8gZW5kIHRoZSB1c2VsaXN0IGNvbmRpdGlvbmFsXG4gIH0gLy8gZW5kIHRoZSB1dGlsaXR5IGxvb3BcbiAgLy8gKO++ieKXleODruKXlSnvvokqOu+9pe++n+Kcp1xufVxuXG5AbWl4aW4gcmVuZGVyLXV0aWxpdGllcy1pbigkdXRpbGl0aWVzKSB7XG4gIEBpbmNsdWRlIHRoZXNlLXV0aWxpdGllcygkdXRpbGl0aWVzKTtcblxuICAkb3VyLWJyZWFrcG9pbnRzOiBtYXAtZGVlcC1nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCBicmVha3BvaW50cywgc3RhbmRhcmQpO1xuICBAZWFjaCAkbWVkaWEta2V5LCAkbWVkaWEtdmFsdWUgaW4gJG91ci1icmVha3BvaW50cyB7XG4gICAgQGlmIG1hcC5nZXQoJHRoZW1lLXV0aWxpdHktYnJlYWtwb2ludHMtY29tcGxldGUsICRtZWRpYS1rZXkpIHtcbiAgICAgIEBpbmNsdWRlIGF0LW1lZGlhKCRtZWRpYS1rZXkpIHtcbiAgICAgICAgQGluY2x1ZGUgdGhlc2UtdXRpbGl0aWVzKCR1dGlsaXRpZXMsICRtZWRpYS1rZXkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCIvKiAgbm90aWZpY2F0aW9ucy5zY3NzXG4gICAgLS0tXG4gICAgQWRkcyBhIG5vdGlmaWNhdGlvbiBhdCB0aGUgdG9wIG9mIGVhY2ggVVNXRFNcbiAgICBjb21waWxlLiBVc2UgdGhpcyBmaWxlIGZvciBpbXBvcnRhbnQgbm90aWZpY2F0aW9uc1xuICAgIGFuZCB1cGRhdGVzIHRvIHRoZSBkZXNpZ24gc3lzdGVtLlxuXG4gICAgVGhpcyBmaWxlIHNob3VsZCBzdGFydGVkIGZyZXNoIGF0IGVhY2hcbiAgICBtYWpvciB2ZXJzaW9uLlxuXG4qL1xuXG5AdXNlIFwic2V0dGluZ3NcIiBhcyAqO1xuXG4vKiBwcmV0dGllci1pZ25vcmUgKi9cbiR1c3dkcy1ub3RpZmljYXRpb25zOlxuICBcIlxcQVwiXG4rIFwiXFxBIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXCJcbisgXCJcXEEgXFwyNzA5ICBVU1dEUyBOb3RpZmljYXRpb25zXCJcbisgXCJcXEEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cIlxuKyBcIlxcQSAzLjAuMFwiXG4rIFwiXFxBIC0gU2V0dGluZ3M6IFdlIGRlcHJlY2F0ZWQgdGhlICRvdXRwdXQtYWxsLXV0aWxpdGllcyBzZXR0aW5nLlwiXG4rIFwiXFxBICAgQ29udHJvbCB1dGlsaXR5IG91dHB1dCB3aXRoICRvdXRwdXQtdGhlc2UtdXRpbGl0aWVzLlwiXG4rIFwiXFxBICAgU2VlIGRlc2lnbnN5c3RlbS5kaWdpdGFsLmdvdi9kb2N1bWVudGF0aW9uL3NldHRpbmdzIGZvciBtb3JlLlwiXG4rIFwiXFxBIFwiXG4rIFwiXFxBIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXCJcbisgXCJcXEEgMy4xLjBcIlxuKyBcIlxcQSAtIEFjY2Vzc2liaWxpdHk6IFdlIGFkZGVkIGB0eXBlPSdidXR0b24nYCB0byBhbGwgYnV0dG9ucyB0aGF0XCJcbisgXCJcXEEgICBkbyBub3Qgc3VibWl0IGEgZm9ybS4gQWxsIHlvdXIgbm9uLWZvcm0gcHJvamVjdCBidXR0b25zIHdpbGxcIlxuKyBcIlxcQSAgIG5lZWQgYHR5cGU9J2J1dHRvbidgLlwiXG4rIFwiXFxBIC0gQWNjZXNzaWJpbGl0eTogV2UgdXBkYXRlZCB0aGUgbWFya3VwIGluIHRoZSB1c2EtcGFzc3dvcmQgcGFja2FnZVwiXG4rIFwiXFxBICAgdG8gdXNlIGEgPGJ1dHRvbj4gZWxlbWVudCBpbnN0ZWFkIG9mIGFuIGFuY2hvciBlbGVtZW50LlwiXG4rIFwiXFxBIC0gQWNjZXNzaWJpbGl0eTogRWxlbWVudHMgdGhhdCBnZXQgYGFyaWEtZGlzYWJsZWRgIGluc3RlYWQgb2ZcIlxuKyBcIlxcQSAgIGBkaXNhYmxlZGAgYXJlIG5vdyBzdHlsZWQgYXMgZGlzYWJsZWQuXCJcbisgXCJcXEEgLSBDb21wYXRpYmlsaXR5OiBXZSdyZSB1c2luZyBzb21lIENTUyBzZWxlY3RvcnMgbm90IHN1cHBvcnRlZFwiXG4rIFwiXFxBICAgYnkgSUUxMS5cIlxuKyBcIlxcQSAtIERlcHJlY2F0ZWQ6IFdlIGRlcHJlY2F0ZWQgdGhlIGVtYmVkLWNvbnRhaW5lcigpIG1peGluLlwiXG4rIFwiXFxBIC0gRGlzcGxheTogV2UgcmVtb3ZlZCB0aGUgb3V0bGluZSBjaXJjbGUgZnJvbSBzb2NpYWwgbWVkaWEgaWNvbnMuXCJcbisgXCJcXEEgLSBTZXR0aW5nczogV2UgY2hhbmdlZCB0aGUgZGVmYXVsdCB2YWx1ZSBvZiAkdGhlbWUtaGVyby1pbWFnZS5cIlxuKyBcIlxcQSAgIFRlYW1zIHRoYXQgdXNlIHRoZSBkZWZhdWx0IGltYWdlIChoZXJvLnBuZykgd2lsbCBuZWVkIHRvIGdldCB0aGVcIlxuKyBcIlxcQSAgIG5ldyBpbWFnZSAoaGVyby5qcGcpIGZyb20gdGhlIGRpc3RyaWJ1dGlvbiBwYWNrYWdlLlwiXG4rIFwiXFxBIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXCJcbisgXCJcXEEgMy4yLjBcIlxuKyBcIlxcQSAtIEFjY2Vzc2liaWxpdHk6IFdlIGNoYW5nZWQgYGRpdi51c2EtaWRlbnRpZmllcl9faWRlbnRpdHlgIHRvIFwiXG4rIFwiXFxBICAgYHNlY3Rpb24udXNhLWlkZW50aWZpZXJfX2lkZW50aXR5YCAod2UgY2hhbmdlZCB0aGUgZGl2IHRvIGEgXCJcbisgXCJcXEEgICBzZWN0aW9uKSBzbyB0aGUgQVJJQSBsYWJlbCBpcyBhc3NvY2lhdGVkIHdpdGggYW4gbm9uLWRpdiBlbGVtZW50LlwiXG4rIFwiXFxBIC0gQWNjZXNzaWJpbGl0eTogV2UgdXBkYXRlZCB0aGUgYXJpYS1sYWJlbCBpbiBFbmdsaXNoIHZlcnNpb25zIG9mXCJcbisgXCJcXEEgICBzZWN0aW9uLnVzYS1iYW5uZXIgdG8gJ09mZmljaWFsIHdlYnNpdGUgb2YgdGhlIFVuaXRlZCBTdGF0ZXMgXCJcbisgXCJcXEEgICBnb3Zlcm5tZW50JyB0byByZWR1Y2UgYW1iaWd1aXR5IGluIHNjcmVlbiByZWFkZXIgdm9jYWxpemF0aW9ucy4gXCJcbisgXCJcXEEgICBQcmV2aW91c2x5LCAnQW4gb2ZmaWNpYWwnIGNvdWxkIGJlIG1pc3VuZGVyc3Rvb2QgYXMgJ3Vub2ZmaWNpYWwnLlwiXG4rIFwiXFxBIC0gQWNjZXNzaWJpbGl0eTogV2UgYWRkZWQgYGFyaWEtaGlkZGVuPSd0cnVlJ2AgdG8gdGhlIHBhcmVudCBkaXYgXCJcbisgXCJcXEEgICBvZiBgcC51c2EtYmFubmVyX19oZWFkZXItdGV4dGAgaW4gdXNhLWJhbm5lci4gV2UgYWxzbyBcIlxuKyBcIlxcQSAgIHJlbW92ZWQgYGFyaWEtaGlkZGVuPSd0cnVlJ2AgZnJvbSBgcC51c2EtYmFubmVyX19oZWFkZXItYWN0aW9uYC4gXCJcbisgXCJcXEEgICBUb2dldGhlciB0aGVzZSBhc3N1cmUgdGhhdCB0aGUgcHJvcGVyIGVsZW1lbnRzIGFyZSByZWFkIGluIHRoZVwiXG4rIFwiXFxBICAgYmFubmVyLlwiXG4rIFwiXFxBIC0gQWNjZXNzaWJpbGl0eTogSW4gdGhlIGxvY2sgaWNvbiBTVkcgaW4gdXNhLWJhbm5lciwgd2UgY2hhbmdlZCB0aGUgXCJcbisgXCJcXEEgICB2YWx1ZSBvZiBhcmlhLWxhYmVsbGVkYnkgdG8gIFwiXG4rIFwiXFxBICAgYGFyaWEtbGFiZWxsZWRieT0nYmFubmVyLWxvY2stZGVzY3JpcHRpb24nYCBhbmQgdXBkYXRlZCB0aGUgdmFsdWVcIlxuKyBcIlxcQSAgIG9mIGRlc2MjYmFubmVyLWxvY2stZGVzY3JpcHRpb24gdG8gYCdMb2NrZWQgcGFkbG9jaydgIHRvIHNpbXBsaWZ5XCJcbisgXCJcXEEgICB0aGUgdm9jYWxpemF0aW9uLlwiXG4rIFwiXFxBIC0gQWNjZXNzaWJpbGl0eTogV2UgYWRkZWQgYGFyaWEtaGlkZGVuPSd0cnVlJyB0byBcIlxuKyBcIlxcQSAgIGBpbWcudXNhLWJhbm5lcl9faGVhZGVyLWZsYWdgIGluIHVzYS1iYW5uZXIgc2luY2UgdGhpcyBpcyBhXCJcbisgXCJcXEEgICBkZWNvcmF0aXZlIGltYWdlLlwiXG4rIFwiXFxBIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXCJcbisgXCJcXEEgMy40LjBcIlxuKyBcIlxcQSAtIENvbXBhdGliaWxpdHk6IFdlIG5vIGxvbmdlciBpbmNsdWRlIHR0ZiBhbmQgd29mZiBmb250cyBpbiBvdXIgXCJcbisgXCJcXEEgICBAZm9udC1mYWNlIHJ1bGVzLiBJZiB5b3UgbmVlZCB0aGVzZSBmaWxlcyBmb3IgSUVsbCBjb21wYXRpYmlsaXR5LFwiXG4rIFwiXFxBICAgYWRkIGAkdGhlbWUtZm9udC1icm93c2VyLWNvbXBhdGliaWxpdHk6IHRydWVgIHRvIHlvdXIgcHJvamVjdFwiXG4rIFwiXFxBICAgc2V0dGluZ3MuXCJcbisgXCJcXEEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cIlxuKyBcIlxcQSAzLjUuMFwiXG4rIFwiXFxBIC0gU2FzczogUmVtb3ZlZCBgdXNhLXByb3NlLWAgbWl4aW5zIGFuZCBwbGFjZWhvbGRlcnMgZnJvbSBTYXNzLlwiXG4rIFwiXFxBICAgVGhpcyBpcyBhIGJyZWFraW5nIGNoYW5nZSBvbmx5IGlmIHlvdXIgcHJvamVjdCBTYXNzIHVzZXMgXCJcbisgXCJcXEEgICBgdXNhLXByb3NlLWAgbWl4aW5zIGFuZCBwbGFjZWhvbGRlcnMuIFVzZXJzIHNob3VsZCBpbnN0ZWFkIHVzZSBcIlxuKyBcIlxcQSAgIGB0eXBlc2V0LWAgbWl4aW5zIGluIHRoZWlyIHBsYWNlLlwiXG4rIFwiXFxBIC0gU2V0dGluZ3M6IE5vdyBhZGp1c3RpbmcgYSBzaW5nbGUgU2FzcyBtYXAgc2V0dGluZyB3aWxsIG5vIFwiXG4rIFwiXFxBICAgbG9uZ2VyIHNldCBhbGwgb3RoZXIgdmFsdWVzIGluIHRoZSBtYXAgdG8gYGZhbHNlYC4gVXNlcnMgY2FuXCJcbisgXCJcXEEgICBub3cgdXBkYXRlIG9ubHkgdGhlIG1hcCB2YWx1ZXMgdGhleSB3aXNoIHRvIGNoYW5nZS4gVGhpcyBpcyBhIFwiXG4rIFwiXFxBICAgYnJlYWtpbmcgY2hhbmdlIG9ubHkgaWYgeW91ciBwcm9qZWN0IGRlYWN0aXZhdGVkIG1hcHBlZCBcIlxuKyBcIlxcQSAgIHNldHRpbmdzIGJ5IG5vdCBkZWNsYXJpbmcgdGhlbS5cIlxuKyBcIlxcQSAtIEFjY2Vzc2liaWxpdHk6IFtmb3JtIGNvbnRyb2xzXSBXZSBpbXByb3ZlZCB0aGUgY29uc2lzdGVuY3kgYW5kIFwiXG4rIFwiXFxBICAgdmlzaWJpbGl0eSBvZiBkaXNhYmxlZCBzdHlsZXMuIFRlYW1zIHNob3VsZCBjaGVjayBkaXNhYmxlZCBmb3JtIFwiXG4rIFwiXFxBICAgZWxlbWVudHMgdG8gYXNzdXJlIHRoYXQgdGhlIG5ldyBzdHlsZXMgYXJlIHdvcmtpbmcgaW4gdGhlaXIgXCJcbisgXCJcXEEgICBsYXlvdXRzLlwiXG4rIFwiXFxBIC0gQWNjZXNzaWJpbGl0eTogW3VzYS1wYWdpbmF0aW9uXSBSZXBsYWNlIHRoZSBcIlxuKyBcIlxcQSAgIGByb2xlPVxcXCJwcmVzZW50YXRpb25cXFwiYCB3aXRoIGBhcmlhLWxhYmVsPVxcXCJlbGxpcHNpcyBpbmRpY2F0aW5nIFwiXG4rIFwiXFxBICAgbm9uLXZpc2libGUgcGFnZXNcXFwiIGluIGB1c2EtcGFnaW5hdGlvbl9fb3ZlcmZsb3dgIGl0ZW1zLlwiXG4rIFwiXFxBIC0gQWNjZXNzaWJpbGl0eTogW3VzYS1jYXJkXSBVc2UgbGluayBlbGVtZW50cyBpblwiXG4rIFwiXFxBICAgYW55IGNhcmQgY29tcG9uZW50IGZvciBjYWxscyB0byBhY3Rpb24gaW5zdGVhZCBvZiBidXR0b25zLiBVc2UgXCJcbisgXCJcXEEgICBgPGEgaHJlZj1cXFwiI1xcXCIgY2xhc3M9XFxcInVzYS1idXR0b25cXFwiPjwvYT5gIGZvciB0aGVzZSBcIlxuKyBcIlxcQSAgIGNhbGwtdG8tYWN0aW9uIGxpbmtzLlwiXG4rIFwiXFxBIC0gQ29udGVudDogW3VzYS1pZGVudGlmaWVyXSBXZSB1cGRhdGVkIHRoZSBhY2Nlc3NpYmlsaXR5IHN0YXRlbWVudFwiXG4rIFwiXFxBICAgbGluayB0ZXh0LiBVc2UgdGhlIHRleHQgXFxcIkFjY2Vzc2liaWxpdHkgc3RhdGVtZW50XFxcIiAoRU4pIFwiXG4rIFwiXFxBICAgb3IgXFxcIkRlY2xhcmFjacOzbiBkZSBhY2Nlc2liaWxpZGFkXFxcIiAoRVMpIGZvciB0aGUgcmVxdWlyZWQgXCJcbisgXCJcXEEgICBsaW5rIHRvIGFuIGFjY2Vzc2liaWxpdHkgc3RhdGVtZW50LlwiXG4rIFwiXFxBIC0gR3VpZGFuY2UgW3VzYS1saW5rXTogV2Ugbm93IHN1Z2dlc3QgdXNpbmcgdGhlIGByZWw9XFxcIm5vcmVmZXJyZXJcXFwiYFwiXG4rIFwiXFxBICAgcHJvcGVydHkgb24gZXh0ZXJuYWwgbGlua3MuIFRoaXMgcHJldmVudHMgdGhlIGJyb3dzZXIgZnJvbSBsZWFraW5nIFwiXG4rIFwiXFxBICAgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG9yaWdpbmFsIHdlYiBhZGRyZXNzLlwiXG4rIFwiXFxBIC0gR3VpZGFuY2UgW3VzYS1mb3JtXTogV2Ugbm93IHN1Z2dlc3QgaWRlbnRpZnlpbmcgYm90aCByZXF1aXJlZCBcIlxuKyBcIlxcQSAgIGFuZCBvcHRpb25hbCBmaWVsZHMgaW4gZm9ybXMuIExhYmVsIHJlcXVpcmVkIGZpZWxkcyB3aXRoIGEgcmVkXCJcbisgXCJcXEEgICBhc3RlcmlzayBhbmQgb3B0aW9uYWwgZmllbGRzIHdpdGggdGhlIHdvcmQgXFxcIm9wdGlvbmFsXFxcIi5cIlxuKyBcIlxcQSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVwiXG4rIFwiXFxBIDMuNi4wXCJcbisgXCJcXEEgLSBTZXR0aW5nczogVGhpcyByZWxlYXNlIHVwZGF0ZXMgVVNXRFMgZGlzYWJsZWQgY29sb3Igc2V0dGluZ3NcIlxuKyBcIlxcQSAgIGFuZCB0b2tlbnMgdG8gY29uZm9ybSB0byBvdXIgc3RhbmRhcmQgbmFtaW5nIGNvbnZlbnRpb24uXCJcbisgXCJcXEEgICBJZiB5b3VyIHByb2plY3QgY29uZmlndXJlcyBkaXNhYmxlZCBjb2xvciBzZXR0aW5nc1wiXG4rIFwiXFxBICAgb3IgdXNlcyBkaXNhYmxlZCBjb2xvciB0b2tlbnMsIHlvdSBwcm9iYWJseSBuZWVkIHRvIHVwZGF0ZSB5b3VyXCJcbisgXCJcXEEgICBjb2RlLiBEZXRhaWxzOiBnaXRodWIuY29tL3Vzd2RzL3Vzd2RzL3JlbGVhc2VzL3RhZy92My42LjBcIlxuKyBcIlxcQSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVwiXG4rIFwiXFxBIDMuNy4wXCJcbisgXCJcXEEgRGV0YWlsczogZ2l0aHViLmNvbS91c3dkcy91c3dkcy9yZWxlYXNlcy90YWcvdjMuNy4wXCJcbisgXCJcXEEgXCJcbisgXCJcXEEgLSBBY2Nlc3NpYmlsaXR5OiBbdXNhLWlkZW50aWZpZXJdIFdlIHVwZGF0ZWQgdGhlIG1hcmt1cCB0byBpbXByb3ZlXCJcbisgXCJcXEEgICBob3cgc2NyZWVuIHJlYWRlcnMgcmVhZCB0aGUgcGhyYXNlICdBbiBvZmZpY2lhbCcuXCJcbisgXCJcXEEgLSBBY2Nlc3NpYmlsaXR5OiBbdXNhLXJhbmdlXSBXZSB1cGRhdGVkIHRoZSBtYXJrdXAgdG8gcmVtb3ZlXCJcbisgXCJcXEEgICByZWR1bmRhbnQgQVJJQSBhdHRyaWJ1dGVzIGFuZCBpbXByb3ZlIHRoZSBzY3JlZW4gcmVhZGVyIGV4cGVyaWVuY2UuXCJcbisgXCJcXEEgLSBBY2Nlc3NpYmlsaXR5OiBbdXNhLXJhbmdlXSBXZSBhZGRlZCBvcHRpb25hbCBkYXRhIGF0dHJpYnV0ZXMgdGhhdFwiXG4rIFwiXFxBICAgYWxsb3cgYWRkaW5nIHVuaXRzIHRvIHNjcmVlbiByZWFkZXIgb3V0cHV0LlwiXG4rIFwiXFxBIFwiO1xuXG4vKiBwcmV0dGllci1pZ25vcmUgKi9cbiR1c3dkcy1ub3RpZmljYXRpb24tZGlzYWJsZS1tZXNzYWdlOlxuICBcIlxcQVwiXG4rIFwiXFxBIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXCJcbisgXCJcXEEgVGhlc2UgYXJlIG5vdGlmaWNhdGlvbnMgZnJvbSB0aGUgVVNXRFMgdGVhbSwgbm90IG5lY2Vzc2FyaWx5IGFcIlxuKyBcIlxcQSBwcm9ibGVtIHdpdGggeW91ciBjb2RlLlwiXG4rIFwiXFxBXCJcbisgXCJcXEEgRGlzYWJsZSBub3RpZmljYXRpb25zIHVzaW5nIGAkdGhlbWUtc2hvdy1ub3RpZmljYXRpb25zOiBmYWxzZWAuXCJcbisgXCJcXEEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cXEFcIjtcblxuQGlmICR0aGVtZS1zaG93LW5vdGlmaWNhdGlvbnMge1xuICBAd2FybiBcIiN7JHVzd2RzLW5vdGlmaWNhdGlvbnN9XCJcbiAgICArIFwiI3skdXN3ZHMtbm90aWZpY2F0aW9uLWRpc2FibGUtbWVzc2FnZX1cIjtcbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlICovXG5cbkB1c2UgXCJzYXNzOm1hcFwiO1xuXG4vLyBAdXNlIFwiLi4vLi4vLi4vdXN3ZHMtY29yZS9zcmMvc3R5bGVzL3ZhcmlhYmxlcy9mb250LXR5cGUtdG9rZW5zXCIgYXMgKjtcbi8vIEB1c2UgXCIuLi8uLi8uLi91c3dkcy1jb3JlL3NyYy9zdHlsZXMvbWl4aW5zL2dlbmVyYWwvZm9udC1mYWNlXCIgYXMgKjtcblxuLy8gQGVhY2ggJGZvbnQtdHlwZS10b2tlbiwgJG1ldGFkYXRhIGluICRwcm9qZWN0LWZvbnQtdHlwZS10b2tlbnMge1xuLy8gICBAaWYgbWFwLmdldCgkbWV0YWRhdGEsIFwidHlwZWZhY2UtdG9rZW5cIikge1xuLy8gICAgICR0aGlzLXR5cGVmYWNlLXRva2VuOiBtYXAuZ2V0KCRtZXRhZGF0YSwgXCJ0eXBlZmFjZS10b2tlblwiKTtcbi8vICAgICAkdGhpcy1zcmM6IG1hcC5nZXQoJG1ldGFkYXRhLCBcInNyY1wiKTtcbi8vICAgICBAaW5jbHVkZSByZW5kZXItZm9udC1mYWNlKCR0aGlzLXR5cGVmYWNlLXRva2VuLCAkdGhpcy1zcmMpO1xuLy8gICB9XG4vLyB9XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi8iLCJAdXNlIFwiLi4vLi4vLi4vdXN3ZHMtY29yZVwiIGFzICo7XG5cbi51c2EtbWVkaWEtYmxvY2sge1xuICBAaW5jbHVkZSB1LWFsaWduLWl0ZW1zKFwiYWxpZ24tc3RhcnRcIik7XG4gIEBpbmNsdWRlIHUtZGlzcGxheShcImZsZXhcIik7XG59XG5cbi51c2EtbWVkaWEtYmxvY2tfX2ltZyB7XG4gIEBpbmNsdWRlIG1lZGlhLWJsb2NrLWltZztcbn1cblxuLnVzYS1tZWRpYS1ibG9ja19fYm9keSB7XG4gIEBpbmNsdWRlIHUtZmxleCgxKTtcbn1cbiIsIkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnMvZ2VuZXJhbC91bnBhY2tcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9ucy9nZW5lcmFsL2hhcy1pbXBvcnRhbnRcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9ucy9vdXRwdXQvZ2V0LXVzd2RzLXZhbHVlXCIgYXMgKjtcblxuLy8gT3V0cHV0cyBhbGlnbi1pdGVtc1xuXG5AbWl4aW4gdS1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgJHZhbHVlOiB1bnBhY2soJHZhbHVlKTtcbiAgJGltcG9ydGFudDogbnVsbDtcbiAgQGlmIGhhcy1pbXBvcnRhbnQoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW1vdmUoJHZhbHVlLCBcIiFpbXBvcnRhbnRcIik7XG4gICAgQGlmIGxpc3QubGVuZ3RoKCR2YWx1ZSkgPT0gMSB7XG4gICAgICAkdmFsdWU6IGRlLWxpc3QoJHZhbHVlKTtcbiAgICB9XG4gICAgJGltcG9ydGFudDogXCIgIWltcG9ydGFudFwiO1xuICB9XG4gIGFsaWduLWl0ZW1zOiBnZXQtdXN3ZHMtdmFsdWUoXCJhbGlnbi1pdGVtc1wiLCAkdmFsdWUpICN7JGltcG9ydGFudH07XG59XG4iLCJAdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwiLi4vLi4vZnVuY3Rpb25zXCIgYXMgKjtcblxuLy8gT3V0cHV0cyBkaXNwbGF5XG5cbkBtaXhpbiB1LWRpc3BsYXkoJHZhbHVlLi4uKSB7XG4gICR2YWx1ZTogdW5wYWNrKCR2YWx1ZSk7XG4gICRpbXBvcnRhbnQ6IG51bGw7XG4gIEBpZiBoYXMtaW1wb3J0YW50KCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtb3ZlKCR2YWx1ZSwgXCIhaW1wb3J0YW50XCIpO1xuICAgIEBpZiBsaXN0Lmxlbmd0aCgkdmFsdWUpID09IDEge1xuICAgICAgJHZhbHVlOiBkZS1saXN0KCR2YWx1ZSk7XG4gICAgfVxuICAgICRpbXBvcnRhbnQ6IFwiICFpbXBvcnRhbnRcIjtcbiAgfVxuICBkaXNwbGF5OiBnZXQtdXN3ZHMtdmFsdWUoXCJkaXNwbGF5XCIsICR2YWx1ZSkgI3skaW1wb3J0YW50fTtcbn1cbiIsIkB1c2UgXCIuLi8uLi9mdW5jdGlvbnNcIiBhcyAqO1xuXG5AbWl4aW4gbWVkaWEtYmxvY2staW1nKCRtYXJnaW4tcmlnaHQ6IHVuaXRzKDEpKSB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tcmlnaHQ7XG59XG4iLCJAdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnNcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL3Byb3BlcnRpZXNcIiBhcyAqO1xuXG4vLyBPdXRwdXRzIGZsZXhcblxuJGZsZXgtdXRpbGlsaWVzOiAoXG4gIFwiYWxpZ24taXRlbXNcIjpcbiAgICBtYXAtY29sbGVjdChcbiAgICAgIG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsIFwiYWxpZ24taXRlbXNcIiwgc3RhbmRhcmQpLFxuICAgICAgbWFwLWRlZXAtZ2V0KCRzeXN0ZW0tcHJvcGVydGllcywgXCJhbGlnbi1pdGVtc1wiLCBleHRlbmRlZClcbiAgICApLFxuICBcImFsaWduLXNlbGZcIjpcbiAgICBtYXAtY29sbGVjdChcbiAgICAgIG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsIFwiYWxpZ24tc2VsZlwiLCBzdGFuZGFyZCksXG4gICAgICBtYXAtZGVlcC1nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCBcImFsaWduLXNlbGZcIiwgZXh0ZW5kZWQpXG4gICAgKSxcbiAgXCJmbGV4XCI6XG4gICAgbWFwLWNvbGxlY3QoXG4gICAgICBtYXAtZGVlcC1nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCBcImZsZXhcIiwgc3RhbmRhcmQpLFxuICAgICAgbWFwLWRlZXAtZ2V0KCRzeXN0ZW0tcHJvcGVydGllcywgXCJmbGV4XCIsIGV4dGVuZGVkKVxuICAgICksXG4gIFwiZmxleC1kaXJlY3Rpb25cIjpcbiAgICBtYXAtY29sbGVjdChcbiAgICAgIG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsIFwiZmxleC1kaXJlY3Rpb25cIiwgc3RhbmRhcmQpLFxuICAgICAgbWFwLWRlZXAtZ2V0KCRzeXN0ZW0tcHJvcGVydGllcywgXCJmbGV4LWRpcmVjdGlvblwiLCBleHRlbmRlZClcbiAgICApLFxuICBcImZsZXgtd3JhcFwiOlxuICAgIG1hcC1jb2xsZWN0KFxuICAgICAgbWFwLWRlZXAtZ2V0KCRzeXN0ZW0tcHJvcGVydGllcywgXCJmbGV4LXdyYXBcIiwgc3RhbmRhcmQpLFxuICAgICAgbWFwLWRlZXAtZ2V0KCRzeXN0ZW0tcHJvcGVydGllcywgXCJmbGV4LXdyYXBcIiwgZXh0ZW5kZWQpXG4gICAgKSxcbiAgXCJqdXN0aWZ5LWNvbnRlbnRcIjpcbiAgICBtYXAtY29sbGVjdChcbiAgICAgIG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsIFwianVzdGlmeS1jb250ZW50XCIsIHN0YW5kYXJkKSxcbiAgICAgIG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsIFwianVzdGlmeS1jb250ZW50XCIsIGV4dGVuZGVkKVxuICAgICksXG4pO1xuXG5AbWl4aW4gdS1mbGV4KCR2YWx1ZS4uLikge1xuICAkdmFsdWU6IHVucGFjaygkdmFsdWUpO1xuICAkaW1wb3J0YW50OiBudWxsO1xuICBAaWYgaGFzLWltcG9ydGFudCgkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbW92ZSgkdmFsdWUsIFwiIWltcG9ydGFudFwiKTtcbiAgICBAaWYgbGlzdC5sZW5ndGgoJHZhbHVlKSA9PSAxIHtcbiAgICAgICR2YWx1ZTogZGUtbGlzdCgkdmFsdWUpO1xuICAgIH1cbiAgICAkaW1wb3J0YW50OiBcIiAhaW1wb3J0YW50XCI7XG4gIH1cbiAgQGVhY2ggJHRoaXMtdmFsdWUgaW4gJHZhbHVlIHtcbiAgICAkbWF0Y2g6IGZhbHNlO1xuICAgIEBlYWNoICRwcm9wZXJ0eSwgJG1hcCBpbiAkZmxleC11dGlsaWxpZXMge1xuICAgICAgQGlmIG5vdCAkbWF0Y2ggYW5kIG1hcC5oYXMta2V5KCRtYXAsICR0aGlzLXZhbHVlKSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogZ2V0LXVzd2RzLXZhbHVlKCRwcm9wZXJ0eSwgJHRoaXMtdmFsdWUuLi4pICN7JGltcG9ydGFudH07XG4gICAgICAgICRtYXRjaDogdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGlmIG5vdCAkbWF0Y2gge1xuICAgICAgQGVycm9yICdgI3skdGhpcy12YWx1ZX1gIGlzIG5vdCBhIHZhbGlkIGBmbGV4YCB2YWx1ZS4nO1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcInNhc3M6bGlzdFwiO1xuXG5AdXNlIFwiLi4vLi4vLi4vdXN3ZHMtY29yZVwiIGFzICo7XG5cbiRiYW5uZXItY29udGV4dDogXCJCYW5uZXJcIjtcbiRiYW5uZXItZ3VpZGFuY2UtbWVhc3VyZTogMztcbiRiYW5uZXItaWNvbi1jb2xvcnM6IGdldC1saW5rLXRva2Vucy1mcm9tLWJnKCR0aGVtZS1iYW5uZXItYmFja2dyb3VuZC1jb2xvcixcbiAgICAkdGhlbWUtYmFubmVyLWxpbmstY29sb3IsXG4gICAgJGNvbnRleHQ6ICRiYW5uZXItY29udGV4dCk7XG4kYmFubmVyLWljb24tY29sb3I6IGxpc3QubnRoKCRiYW5uZXItaWNvbi1jb2xvcnMsIDEpO1xuJGJhbm5lci1pY29uLWhvdmVyOiBsaXN0Lm50aCgkYmFubmVyLWljb24tY29sb3JzLCAyKTtcbiRiYW5uZXItaWNvbi1jaGV2cm9uOiAoXG4gIFwibmFtZVwiOiBcImV4cGFuZF9tb3JlXCIsXG4gIFwic3ZnLWhlaWdodFwiOiA0MCxcbiAgXCJzdmctd2lkdGhcIjogNDAsXG4gIFwiaGVpZ2h0XCI6IDIsXG4gIFwiY29sb3JcIjogJGJhbm5lci1pY29uLWNvbG9yLFxuICBcImNvbG9yLXZhcmlhbnRcIjogXCJ3aGl0ZVwiLFxuICBcImNvbG9yLWhvdmVyXCI6ICRiYW5uZXItaWNvbi1ob3Zlcixcbik7XG4kYmFubmVyLWljb24tY2hldnJvbi11cDogbWFwLW1lcmdlKCRiYW5uZXItaWNvbi1jaGV2cm9uLFxuICAgIChcIm5hbWVcIjogXCJleHBhbmRfbGVzc1wiLFxuICAgICkpO1xuJGJhbm5lci1pY29uLWNsb3NlOiAoXG4gIFwibmFtZVwiOiBcImNsb3NlXCIsXG4gIFwic3ZnLWhlaWdodFwiOiA0MCxcbiAgXCJzdmctd2lkdGhcIjogNDAsXG4gIFwiaGVpZ2h0XCI6IDMsXG4gIFwiY29sb3JcIjogXCJibHVlLTYwdlwiLFxuICBcImNvbG9yLXZhcmlhbnRcIjogXCJ3aGl0ZVwiLFxuICBcImNvbnRhaW5lci1oZWlnaHRcIjogJHNpemUtdG91Y2gtdGFyZ2V0LFxuICBcImNvbnRhaW5lci13aWR0aFwiOiAkc2l6ZS10b3VjaC10YXJnZXQsXG4pO1xuXG4udXNhLWJhbm5lciB7XG4gIEBpbmNsdWRlIHR5cGVzZXQoJHRoZW1lLWJhbm5lci1mb250LWZhbWlseSk7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3gtc2l6aW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyAvL2Z1bmN0aW9uIHdhcyBub3Qgd29ya2luZywgaGFkIHRvIGhhcmQgY29kZSBiYXNlZCBvbiBVU1dEUyB2YWx1ZXNcblxuICBAaW5jbHVkZSBhdC1tZWRpYShcInRhYmxldFwiKSB7XG4gICAgZm9udC1zaXplOiBmb250LXNpemUoJHRoZW1lLWJhbm5lci1mb250LWZhbWlseSwgXCIzeHNcIik7XG4gICAgcGFkZGluZy1ib3R0b206IHVuaXRzKDApO1xuICB9XG5cbiAgLnVzYS1hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIHR5cGVzZXQoJHRoZW1lLWJhbm5lci1mb250LWZhbWlseSk7XG4gIH1cblxuICAvLyAhIFN0eWxlbGludCB3aWxsIGNvbXBsYWluIGFib3V0IEJFTSBmb3JtYXR0aW5nLlxuICAvLyBBZGRlZCBncmlkIGNsYXNzZXMgaW4gIzUwMDAgdG8gcmVtb3ZlIGxheW91dCBncmlkIGRlcGVuZGVuY3kuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm5cbiAgLmdyaWQtcm93IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdztcblxuICAgICYuZ3JpZC1nYXAtbGcge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1nYXAoXCJsZ1wiKTtcbiAgICB9XG5cbiAgICAudGFibGV0XFw6Z3JpZC1jb2wtNiB7XG4gICAgICBAaW5jbHVkZSBhdC1tZWRpYShcInRhYmxldFwiKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKDYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1lbmFibGVcbn1cblxuLnVzYS1iYW5uZXJfX2hlYWRlcixcbi51c2EtYmFubmVyX19jb250ZW50IHtcbiAgQGluY2x1ZGUgc2V0LXRleHQtZnJvbS1iZygkdGhlbWUtYmFubmVyLWJhY2tncm91bmQtY29sb3IsXG4gICAgJGNvbnRleHQ6ICRiYW5uZXItY29udGV4dCApO1xufVxuXG4udXNhLWJhbm5lcl9fY29udGVudCB7XG4gIEBpbmNsdWRlIGdyaWQtY29udGFpbmVyKCR0aGVtZS1iYW5uZXItbWF4LXdpZHRoKTtcbiAgQGluY2x1ZGUgYWRkLXJlc3BvbnNpdmUtc2l0ZS1tYXJnaW5zO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcInRyYW5zcGFyZW50XCIpO1xuICBmb250LXNpemU6IGZvbnQtc2l6ZSgkdGhlbWUtYmFubmVyLWZvbnQtZmFtaWx5LCA0KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IHVuaXRzKDIpO1xuICBwYWRkaW5nLWxlZnQ6IHVuaXRzKCR0aGVtZS1zaXRlLW1hcmdpbnMtbW9iaWxlLXdpZHRoKSAtIHVuaXRzKDEpO1xuICBwYWRkaW5nLXRvcDogdW5pdHMoMC41KTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgYXQtbWVkaWEoXCJ0YWJsZXRcIikge1xuICAgIEBpbmNsdWRlIHUtcGFkZGluZy15KDMpO1xuICB9XG5cbiAgcCB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG59XG5cbi51c2EtYmFubmVyX19ndWlkYW5jZSB7XG4gIEBpbmNsdWRlIHUtZGlzcGxheShcImZsZXhcIik7XG4gIEBpbmNsdWRlIHUtZmxleChcImFsaWduLXN0YXJ0XCIpO1xuICBAaW5jbHVkZSB1LW1lYXN1cmUoJGJhbm5lci1ndWlkYW5jZS1tZWFzdXJlKTtcbiAgcGFkZGluZy10b3A6IHVuaXRzKDIpO1xuXG4gIEBpbmNsdWRlIGF0LW1lZGlhKFwidGFibGV0XCIpIHtcbiAgICBwYWRkaW5nLXRvcDogdW5pdHMoMCk7XG4gIH1cbn1cblxuLnVzYS1iYW5uZXJfX2xvY2staW1hZ2Uge1xuICAkbG9jay1oOiA2NDsgLy8gdW5pdGxlc3MgaGVpZ2h0IG9mIHN2Z1xuICAkbG9jay13OiA1MjsgLy8gdW5pdGxlc3Mgd2lkdGggb2Ygc3ZnXG4gICRsb2NrLWFzcGVjdDogbWF0aC5kaXYoJGxvY2stdywgJGxvY2staCk7XG4gICRpY29uLWhlaWdodDogMS41ZXg7IC8vIGhlaWdodCBvZiB0aGUgbG9jayBpY29uOyB1c2UgZXggZm9yIHJlc2lsaWVuY2VcblxuICBoZWlnaHQ6ICRpY29uLWhlaWdodDtcbiAgd2lkdGg6ICRpY29uLWhlaWdodCAqICRsb2NrLWFzcGVjdDtcblxuICBwYXRoIHtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG5cbiAgICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgZmlsbDogQ2FudmFzVGV4dDtcbiAgICB9XG4gIH1cbn1cblxuLnVzYS1iYW5uZXJfX2lubmVyIHtcbiAgQGluY2x1ZGUgYWRkLXJlc3BvbnNpdmUtc2l0ZS1tYXJnaW5zO1xuICBAaW5jbHVkZSBncmlkLWNvbnRhaW5lcigkdGhlbWUtYmFubmVyLW1heC13aWR0aCk7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSB1LWZsZXgoXCJhbGlnbi1zdGFydFwiKTtcbiAgcGFkZGluZy1yaWdodDogdW5pdHMoMCk7XG5cbiAgQGluY2x1ZGUgYXQtbWVkaWEoXCJ0YWJsZXRcIikge1xuICAgIEBpbmNsdWRlIHUtZmxleChcImFsaWduLWNlbnRlclwiKTtcbiAgfVxufVxuXG4udXNhLWJhbm5lcl9faGVhZGVyIHtcbiAgQGluY2x1ZGUgdS1wYWRkaW5nLXkoMSk7XG4gIGZvbnQtc2l6ZTogZm9udC1zaXplKCR0aGVtZS1iYW5uZXItZm9udC1mYW1pbHksIDEpO1xuICBmb250LXdlaWdodDogZm9udC13ZWlnaHQoXCJub3JtYWxcIik7XG4gIG1pbi1oZWlnaHQ6IHVuaXRzKCRzaXplLXRvdWNoLXRhcmdldCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaW5jbHVkZSBhdC1tZWRpYShcInRhYmxldFwiKSB7XG4gICAgQGluY2x1ZGUgdS1wYWRkaW5nLXkoMC41KTtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG59XG5cbi51c2EtYmFubmVyX19oZWFkZXItdGV4dCB7XG4gIEBpbmNsdWRlIHUtbWFyZ2luLXkoMCk7XG4gIGZvbnQtc2l6ZTogZm9udC1zaXplKCR0aGVtZS1iYW5uZXItZm9udC1mYW1pbHksIDEpO1xuICBsaW5lLWhlaWdodDogbGluZS1oZWlnaHQoJHRoZW1lLWJhbm5lci1mb250LWZhbWlseSwgMik7XG59XG5cbi51c2EtYmFubmVyX19oZWFkZXItYWN0aW9uIHtcbiAgQGluY2x1ZGUgcGxhY2UtaWNvbigkYmFubmVyLWljb24tY2hldnJvbiwgXCJhZnRlclwiKTtcbiAgQGluY2x1ZGUgc2V0LWxpbmstZnJvbS1iZygkdGhlbWUtYmFubmVyLWJhY2tncm91bmQtY29sb3IsXG4gICAgJHRoZW1lLWJhbm5lci1saW5rLWNvbG9yLFxuICAgICRjb250ZXh0OiAkYmFubmVyLWNvbnRleHQgKTtcblxuICBsaW5lLWhlaWdodDogbGluZS1oZWlnaHQoJHRoZW1lLWJhbm5lci1mb250LWZhbWlseSwgMik7XG4gIG1hcmdpbi1ib3R0b206IHVuaXRzKDApO1xuICBtYXJnaW4tdG9wOiB1bml0cygycHgpO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAudXNhLWJhbm5lcl9faGVhZGVyLS1leHBhbmRlZCAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgYXQtbWVkaWEoXCJ0YWJsZXRcIikge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgIGNvbG9yOiBMaW5rVGV4dDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEJ1dHRvblRleHQ7XG4gICAgfVxuICB9XG59XG5cbi51c2EtYmFubmVyX19oZWFkZXItZmxhZyB7XG4gIEBpbmNsdWRlIHUtZmxvYXQoXCJsZWZ0XCIpO1xuICBtYXJnaW4tcmlnaHQ6IHVuaXRzKDEpO1xuICB3aWR0aDogdW5pdHMoMik7XG5cbiAgQGluY2x1ZGUgYXQtbWVkaWEoXCJ0YWJsZXRcIikge1xuICAgIG1hcmdpbi1yaWdodDogdW5pdHMoMSk7XG4gICAgcGFkZGluZy10b3A6IHVuaXRzKDApO1xuICB9XG59XG5cbi51c2EtYmFubmVyX19oZWFkZXItLWV4cGFuZGVkIHtcbiAgcGFkZGluZy1yaWdodDogdW5pdHMoJHNpemUtdG91Y2gtdGFyZ2V0KSArIHVuaXRzKDEpO1xuXG4gIEBpbmNsdWRlIGF0LW1lZGlhKFwidGFibGV0XCIpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IGZvbnQtc2l6ZSgkdGhlbWUtYmFubmVyLWZvbnQtZmFtaWx5LCAxKTtcbiAgICBmb250LXdlaWdodDogZm9udC13ZWlnaHQoXCJub3JtYWxcIik7XG4gICAgbWluLWhlaWdodDogdW5pdHMoMCk7XG4gICAgcGFkZGluZy1yaWdodDogdW5pdHMoMCk7XG4gIH1cblxuICAudXNhLWJhbm5lcl9faW5uZXIge1xuICAgIG1hcmdpbi1sZWZ0OiB1bml0cygwKTtcblxuICAgIEBpbmNsdWRlIGF0LW1lZGlhKFwidGFibGV0XCIpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiB1bml0cyhhdXRvKTtcbiAgICB9XG4gIH1cblxuICAudXNhLWJhbm5lcl9faGVhZGVyLWFjdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udXNhLWJhbm5lcl9fYnV0dG9uIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXVuc3R5bGVkO1xuICBAaW5jbHVkZSB1LXBpbihcImxlZnRcIik7XG4gIEBpbmNsdWRlIHUtcGluKFwieVwiKTtcbiAgQGluY2x1ZGUgdS10ZXh0KFwicHJpbWFyeVwiLCB1bmRlcmxpbmUsIGJhc2VsaW5lKTtcbiAgQGluY2x1ZGUgc2V0LWxpbmstZnJvbS1iZygkdGhlbWUtYmFubmVyLWJhY2tncm91bmQtY29sb3IsXG4gICAgJHRoZW1lLWJhbm5lci1saW5rLWNvbG9yLFxuICAgICRjb250ZXh0OiAkYmFubmVyLWNvbnRleHQgKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogZm9udC1zaXplKCR0aGVtZS1iYW5uZXItZm9udC1mYW1pbHksIDEpO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiBsaW5lLWhlaWdodCgkdGhlbWUtYmFubmVyLWZvbnQtZmFtaWx5LCAyKTtcbiAgcGFkZGluZy10b3A6IHVuaXRzKDApO1xuICBwYWRkaW5nLWxlZnQ6IHVuaXRzKDApO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xuXG4gIEBpbmNsdWRlIGF0LW1lZGlhLW1heChcInRhYmxldFwiKSB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmOmVuYWJsZWQ6Zm9jdXMge1xuICAgICAgLy8gYWRqdXN0IG91dGxpbmUgdG8gcmVuZGVyIHdpdGhpbiB0aGUgdmlld3BvcnRcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiB1bml0cygtMC41KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBhdC1tZWRpYShcInRhYmxldFwiKSB7XG4gICAgQGluY2x1ZGUgcGxhY2UtaWNvbigkYmFubmVyLWljb24tY2hldnJvbiwgXCJhZnRlclwiLCBcIjJweFwiKTtcbiAgICBAaW5jbHVkZSBzZXQtbGluay1mcm9tLWJnKCR0aGVtZS1iYW5uZXItYmFja2dyb3VuZC1jb2xvcixcbiAgICAgICR0aGVtZS1iYW5uZXItbGluay1jb2xvcixcbiAgICAgICRjb250ZXh0OiAkYmFubmVyLWNvbnRleHQgKTtcbiAgICBAaW5jbHVkZSB1LXBpbihcIm5vbmVcIik7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbi1sZWZ0OiB1bml0cygxKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlcixcbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAvLyBVbmRlcmxpbmUgYWRkZWQgdG8gaW5uZXIgdGV4dCBpbnN0ZWFkLlxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBpY29uIHNldCBmcm9tIHVzYS1hY2NvcmRpb24uXG4gIC8vIEFsc28gcmVtb3ZlZCBpbiBfdXNhLW5hdi5zY3NzLlxuICAmW2FyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXSxcbiAgJlthcmlhLWV4cGFuZGVkPVwiZmFsc2VcIl06aG92ZXIsXG4gICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0sXG4gICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl06aG92ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cbiAgICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICBAaW5jbHVkZSBhdC1tZWRpYS1tYXgoXCJ0YWJsZXRcIikge1xuICAgICAgQGluY2x1ZGUgcGxhY2UtaWNvbigkYmFubmVyLWljb24tY2xvc2UsXG4gICAgICAgIFwiYWZ0ZXJcIixcbiAgICAgICAgMCxcbiAgICAgICAgbWlkZGxlLFxuICAgICAgICBcImJhc2UtbGlnaHRlclwiXG4gICAgICApO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSB1LXBpbihcInlcIik7XG4gICAgICAgIEBpbmNsdWRlIHUtcGluKFwicmlnaHRcIik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwiYmFzZS1saWdodGVyXCIpO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiB1bml0cygkc2l6ZS10b3VjaC10YXJnZXQpO1xuICAgICAgICB3aWR0aDogdW5pdHMoJHNpemUtdG91Y2gtdGFyZ2V0KTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSB1LXBpbihcInlcIik7XG4gICAgICAgIEBpbmNsdWRlIHUtcGluKFwicmlnaHRcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYXQtbWVkaWEoXCJ0YWJsZXRcIikge1xuICAgICAgQGluY2x1ZGUgcGxhY2UtaWNvbigkYmFubmVyLWljb24tY2hldnJvbi11cCxcbiAgICAgICAgXCJhZnRlclwiLFxuICAgICAgICBcIjJweFwiLFxuICAgICAgICBtaWRkbGUsXG4gICAgICAgICR0aGVtZS1iYW5uZXItYmFja2dyb3VuZC1jb2xvciApO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogdW5pdHMoMCk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6OmFmdGVyLFxuICAgICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBCdXR0b25UZXh0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi51c2EtYmFubmVyX19idXR0b24tdGV4dCB7XG4gIEBpbmNsdWRlIGFkZC1zci1vbmx5O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICBAaW5jbHVkZSBhdC1tZWRpYShcInRhYmxldFwiKSB7XG4gICAgQGluY2x1ZGUgYWRkLW5vLXNyLW9ubHk7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICB9XG5cbiAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICBjb2xvcjogTGlua1RleHQ7XG4gIH1cbn1cblxuLnVzYS1iYW5uZXJfX2ljb24ge1xuICB3aWR0aDogdW5pdHMoNSk7XG59XG5cbi8vIFt1c3dkcy1pbml0LmpzXSBPZmZzY3JlZW4gY29udGVudCB3aGlsZSBqcyBpcyBsb2FkaW5nXG4udXNhLWpzLWxvYWRpbmcge1xuICAudXNhLWJhbm5lcl9fY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWRkLXNyLW9ubHk7XG4gIH1cbn0iLCJAdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwiLi4vLi4vZnVuY3Rpb25zXCIgYXMgKjtcblxuLy8gT3V0cHV0cyBsaW5lLWhlaWdodFxuXG5AbWl4aW4gdS1saW5lLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgJHZhbHVlOiB1bnBhY2soJHZhbHVlKTtcbiAgJGltcG9ydGFudDogbnVsbDtcbiAgQGlmIGhhcy1pbXBvcnRhbnQoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW1vdmUoJHZhbHVlLCBcIiFpbXBvcnRhbnRcIik7XG4gICAgQGlmIGxpc3QubGVuZ3RoKCR2YWx1ZSkgPT0gMSB7XG4gICAgICAkdmFsdWU6IGRlLWxpc3QoJHZhbHVlKTtcbiAgICB9XG4gICAgJGltcG9ydGFudDogXCIgIWltcG9ydGFudFwiO1xuICB9XG4gICRmYW1pbHk6IGxpc3QubnRoKCR2YWx1ZSwgMSk7XG4gICRzY2FsZTogbGlzdC5udGgoJHZhbHVlLCAyKTtcbiAgbGluZS1oZWlnaHQ6IGxoKCRmYW1pbHksICRzY2FsZSkgI3skaW1wb3J0YW50fTtcbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9uc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vcHJvcGVydGllc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG4vLyBNb2JpbGUtZmlyc3QgbWVkaWEgcXVlcnkgaGVscGVyXG5cbkBtaXhpbiBhdC1tZWRpYSgkYnApIHtcbiAgJHF1b3RlZC1icDogc21hcnQtcXVvdGUoJGJwKTtcbiAgJG91ci1icmVha3BvaW50czogbWFwLWRlZXAtZ2V0KCRzeXN0ZW0tcHJvcGVydGllcywgYnJlYWtwb2ludHMsIHN0YW5kYXJkKTtcbiAgQGlmICRxdW90ZWQtYnAgPT0gXCJub25lXCIge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmIG1hcC5oYXMta2V5KCRvdXItYnJlYWtwb2ludHMsICRxdW90ZWQtYnApIHtcbiAgICBAaWYgJHRoZW1lLXJlc3BlY3QtdXNlci1mb250LXNpemUge1xuICAgICAgJGJwOiByZW0tdG8tdXNlci1lbShtYXAuZ2V0KCRvdXItYnJlYWtwb2ludHMsICRxdW90ZWQtYnApKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRicDogcmVtLXRvLXB4KG1hcC5nZXQoJG91ci1icmVha3BvaW50cywgJHF1b3RlZC1icCkpO1xuICAgIH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAjeyRicH0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJ2AjeyRicH1gIGlzIG5vdCBhIHZhbGlkIFVTV0RTIHByb2plY3QgYnJlYWtwb2ludC4gVmFsaWQgdmFsdWVzOiAje21hcC5rZXlzKCRvdXItYnJlYWtwb2ludHMpfSc7XG4gIH1cbn1cblxuLy8gTWF4LXdpZHRoIG1lZGlhIHF1ZXJ5XG5AbWl4aW4gYXQtbWVkaWEtbWF4KCRicCkge1xuICAkcXVvdGVkLWJwOiBzbWFydC1xdW90ZSgkYnApO1xuICAkb3VyLWJyZWFrcG9pbnRzOiBtYXAtZGVlcC1nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCBicmVha3BvaW50cywgc3RhbmRhcmQpO1xuICBAaWYgbWFwLWhhcy1rZXkoJG91ci1icmVha3BvaW50cywgJHF1b3RlZC1icCkge1xuICAgIEBpZiAkdGhlbWUtcmVzcGVjdC11c2VyLWZvbnQtc2l6ZSB7XG4gICAgICAkYnA6IHJlbS10by11c2VyLWVtKG1hcC5nZXQoJG91ci1icmVha3BvaW50cywgJHF1b3RlZC1icCkpIC0gMC4wMWVtO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGJwOiByZW0tdG8tcHgobWFwLmdldCgkb3VyLWJyZWFrcG9pbnRzLCAkcXVvdGVkLWJwKSkgLSAxcHg7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAd2FybiAnYCN7JGJwfWAgaXMgbm90IGEgdmFsaWQgVVNXRFMgcHJvamVjdCBicmVha3BvaW50LiBWYWxpZCB2YWx1ZXM6ICN7bWFwLWtleXMoJG91ci1icmVha3BvaW50cyl9JztcbiAgfVxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAjeyRicH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9uc1wiIGFzICo7XG5cbi8vIEFkZHMgbWFyZ2luIGVpdGhlciBsL3IoeCkgb3IgdC9iKHkpXG5cbkBtaXhpbiBtYXJnaW4tbigkc2lkZSwgJHZhbHVlLi4uKSB7XG4gICR2YWx1ZTogdW5wYWNrKCR2YWx1ZSk7XG4gIEBpZiAkc2lkZSA9PSBhbGwge1xuICAgICRpbXBvcnRhbnQ6IG51bGw7XG4gICAgQGlmIGhhcy1pbXBvcnRhbnQoJHZhbHVlKSB7XG4gICAgICAkdmFsdWU6IHJlbW92ZSgkdmFsdWUsIFwiIWltcG9ydGFudFwiKTtcbiAgICAgIEBpZiBsaXN0Lmxlbmd0aCgkdmFsdWUpID09IDEge1xuICAgICAgICAkdmFsdWU6IGRlLWxpc3QoJHZhbHVlKTtcbiAgICAgIH1cbiAgICAgICRpbXBvcnRhbnQ6IFwiICFpbXBvcnRhbnRcIjtcbiAgICB9XG4gICAgbWFyZ2luOiBnZXQtdXN3ZHMtdmFsdWUobWFyZ2luLCAkdmFsdWUuLi4pICN7JGltcG9ydGFudH07XG4gIH0gQGVsc2UgaWYgJHNpZGUgPT0geCB7XG4gICAgJGltcG9ydGFudDogbnVsbDtcbiAgICBAaWYgaGFzLWltcG9ydGFudCgkdmFsdWUpIHtcbiAgICAgICR2YWx1ZTogcmVtb3ZlKCR2YWx1ZSwgXCIhaW1wb3J0YW50XCIpO1xuICAgICAgQGlmIGxpc3QubGVuZ3RoKCR2YWx1ZSkgPT0gMSB7XG4gICAgICAgICR2YWx1ZTogZGUtbGlzdCgkdmFsdWUpO1xuICAgICAgfVxuICAgICAgJGltcG9ydGFudDogXCIgIWltcG9ydGFudFwiO1xuICAgIH1cbiAgICBtYXJnaW4tbGVmdDogZ2V0LXVzd2RzLXZhbHVlKFwibWFyZ2luLWhvcml6b250YWxcIiwgJHZhbHVlLi4uKSAjeyRpbXBvcnRhbnR9O1xuICAgIG1hcmdpbi1yaWdodDogZ2V0LXVzd2RzLXZhbHVlKFwibWFyZ2luLWhvcml6b250YWxcIiwgJHZhbHVlLi4uKSAjeyRpbXBvcnRhbnR9O1xuICB9IEBlbHNlIGlmICRzaWRlID09IHkge1xuICAgICRpbXBvcnRhbnQ6IG51bGw7XG4gICAgQGlmIGhhcy1pbXBvcnRhbnQoJHZhbHVlKSB7XG4gICAgICAkdmFsdWU6IHJlbW92ZSgkdmFsdWUsIFwiIWltcG9ydGFudFwiKTtcbiAgICAgIEBpZiBsaXN0Lmxlbmd0aCgkdmFsdWUpID09IDEge1xuICAgICAgICAkdmFsdWU6IGRlLWxpc3QoJHZhbHVlKTtcbiAgICAgIH1cbiAgICAgICRpbXBvcnRhbnQ6IFwiICFpbXBvcnRhbnRcIjtcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogZ2V0LXVzd2RzLXZhbHVlKFwibWFyZ2luLXZlcnRpY2FsXCIsICR2YWx1ZS4uLikgI3skaW1wb3J0YW50fTtcbiAgICBtYXJnaW4tdG9wOiBnZXQtdXN3ZHMtdmFsdWUoXCJtYXJnaW4tdmVydGljYWxcIiwgJHZhbHVlLi4uKSAjeyRpbXBvcnRhbnR9O1xuICB9IEBlbHNlIGlmICRzaWRlID09IHQge1xuICAgICRpbXBvcnRhbnQ6IG51bGw7XG4gICAgQGlmIGhhcy1pbXBvcnRhbnQoJHZhbHVlKSB7XG4gICAgICAkdmFsdWU6IHJlbW92ZSgkdmFsdWUsIFwiIWltcG9ydGFudFwiKTtcbiAgICAgIEBpZiBsaXN0Lmxlbmd0aCgkdmFsdWUpID09IDEge1xuICAgICAgICAkdmFsdWU6IGRlLWxpc3QoJHZhbHVlKTtcbiAgICAgIH1cbiAgICAgICRpbXBvcnRhbnQ6IFwiICFpbXBvcnRhbnRcIjtcbiAgICB9XG4gICAgbWFyZ2luLXRvcDogZ2V0LXVzd2RzLXZhbHVlKFwibWFyZ2luLXZlcnRpY2FsXCIsICR2YWx1ZS4uLikgI3skaW1wb3J0YW50fTtcbiAgfSBAZWxzZSBpZiAkc2lkZSA9PSByIHtcbiAgICAkaW1wb3J0YW50OiBudWxsO1xuICAgIEBpZiBoYXMtaW1wb3J0YW50KCR2YWx1ZSkge1xuICAgICAgJHZhbHVlOiByZW1vdmUoJHZhbHVlLCBcIiFpbXBvcnRhbnRcIik7XG4gICAgICBAaWYgbGlzdC5sZW5ndGgoJHZhbHVlKSA9PSAxIHtcbiAgICAgICAgJHZhbHVlOiBkZS1saXN0KCR2YWx1ZSk7XG4gICAgICB9XG4gICAgICAkaW1wb3J0YW50OiBcIiAhaW1wb3J0YW50XCI7XG4gICAgfVxuICAgIG1hcmdpbi1yaWdodDogZ2V0LXVzd2RzLXZhbHVlKFwibWFyZ2luLWhvcml6b250YWxcIiwgJHZhbHVlLi4uKSAjeyRpbXBvcnRhbnR9O1xuICB9IEBlbHNlIGlmICRzaWRlID09IGIge1xuICAgICRpbXBvcnRhbnQ6IG51bGw7XG4gICAgQGlmIGhhcy1pbXBvcnRhbnQoJHZhbHVlKSB7XG4gICAgICAkdmFsdWU6IHJlbW92ZSgkdmFsdWUsIFwiIWltcG9ydGFudFwiKTtcbiAgICAgIEBpZiBsaXN0Lmxlbmd0aCgkdmFsdWUpID09IDEge1xuICAgICAgICAkdmFsdWU6IGRlLWxpc3QoJHZhbHVlKTtcbiAgICAgIH1cbiAgICAgICRpbXBvcnRhbnQ6IFwiICFpbXBvcnRhbnRcIjtcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogZ2V0LXVzd2RzLXZhbHVlKFwibWFyZ2luLXZlcnRpY2FsXCIsICR2YWx1ZS4uLikgI3skaW1wb3J0YW50fTtcbiAgfSBAZWxzZSBpZiAkc2lkZSA9PSBsIHtcbiAgICAkaW1wb3J0YW50OiBudWxsO1xuICAgIEBpZiBoYXMtaW1wb3J0YW50KCR2YWx1ZSkge1xuICAgICAgJHZhbHVlOiByZW1vdmUoJHZhbHVlLCBcIiFpbXBvcnRhbnRcIik7XG4gICAgICBAaWYgbGlzdC5sZW5ndGgoJHZhbHVlKSA9PSAxIHtcbiAgICAgICAgJHZhbHVlOiBkZS1saXN0KCR2YWx1ZSk7XG4gICAgICB9XG4gICAgICAkaW1wb3J0YW50OiBcIiAhaW1wb3J0YW50XCI7XG4gICAgfVxuICAgIG1hcmdpbi1sZWZ0OiBnZXQtdXN3ZHMtdmFsdWUoXCJtYXJnaW4taG9yaXpvbnRhbFwiLCAkdmFsdWUuLi4pICN7JGltcG9ydGFudH07XG4gIH1cbn1cblxuQG1peGluIHUtbWFyZ2luKCR2YWx1ZS4uLikge1xuICBAaW5jbHVkZSBtYXJnaW4tbihhbGwsICR2YWx1ZS4uLik7XG59XG5cbkBtaXhpbiB1LW1hcmdpbi14KCR2YWx1ZS4uLikge1xuICBAaW5jbHVkZSBtYXJnaW4tbih4LCAkdmFsdWUuLi4pO1xufVxuXG5AbWl4aW4gdS1tYXJnaW4teSgkdmFsdWUuLi4pIHtcbiAgQGluY2x1ZGUgbWFyZ2luLW4oeSwgJHZhbHVlLi4uKTtcbn1cblxuQG1peGluIHUtbWFyZ2luLXRvcCgkdmFsdWUuLi4pIHtcbiAgQGluY2x1ZGUgbWFyZ2luLW4odCwgJHZhbHVlLi4uKTtcbn1cblxuQG1peGluIHUtbWFyZ2luLXJpZ2h0KCR2YWx1ZS4uLikge1xuICBAaW5jbHVkZSBtYXJnaW4tbihyLCAkdmFsdWUuLi4pO1xufVxuXG5AbWl4aW4gdS1tYXJnaW4tYm90dG9tKCR2YWx1ZS4uLikge1xuICBAaW5jbHVkZSBtYXJnaW4tbihiLCAkdmFsdWUuLi4pO1xufVxuXG5AbWl4aW4gdS1tYXJnaW4tbGVmdCgkdmFsdWUuLi4pIHtcbiAgQGluY2x1ZGUgbWFyZ2luLW4obCwgJHZhbHVlLi4uKTtcbn1cbiIsIkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL2xheW91dC1ncmlkXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnNcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL21peGlucy9oZWxwZXJzXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9taXhpbnMvdXRpbGl0aWVzXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi90b2tlbnNcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL3ZhcmlhYmxlcy9jb2x1bW4tZ2Fwc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG5AbWl4aW4gZ3JpZC1nYXAtcmVzcG9uc2l2ZSB7XG4gICRnYXAtbW9iaWxlOiBpZihcbiAgICBtYXAuaGFzLWtleSgkc3lzdGVtLWNvbHVtbi1nYXBzLCAkdGhlbWUtY29sdW1uLWdhcC1tb2JpbGUpLFxuICAgIG1hcC5nZXQoJHN5c3RlbS1jb2x1bW4tZ2FwcywgJHRoZW1lLWNvbHVtbi1nYXAtbW9iaWxlKSxcbiAgICBcImVycm9yXCJcbiAgKTtcbiAgJGdhcC1kZXNrdG9wOiBpZihcbiAgICBtYXAuaGFzLWtleSgkc3lzdGVtLWNvbHVtbi1nYXBzLCAkdGhlbWUtY29sdW1uLWdhcC1kZXNrdG9wKSxcbiAgICBtYXAuZ2V0KCRzeXN0ZW0tY29sdW1uLWdhcHMsICR0aGVtZS1jb2x1bW4tZ2FwLWRlc2t0b3ApLFxuICAgIFwiZXJyb3JcIlxuICApO1xuXG4gIEBpZiAkZ2FwLW1vYmlsZSA9PSBcImVycm9yXCIge1xuICAgIEBlcnJvciAnJHRoZW1lLWNvbHVtbi1nYXAtbW9iaWxlIGlzIG5vdCBzZXQgdG8gYSB2YWxpZCBjb2x1bW4gZ2FwIHdpZHRoLic7XG4gIH1cblxuICBAaWYgJGdhcC1kZXNrdG9wID09IFwiZXJyb3JcIiB7XG4gICAgQGVycm9yICckdGhlbWUtY29sdW1uLWdhcC1kZXNrdG9wIGlzIG5vdCBzZXQgdG8gYSB2YWxpZCBjb2x1bW4gZ2FwIHdpZHRoLic7XG4gIH1cblxuICBAaW5jbHVkZSB1LW1hcmdpbi14KFxuICAgIHVucXVvdGUoXCIjeyRuZWctcHJlZml4fS0je2NhbGMtZ2FwLW9mZnNldCgkZ2FwLW1vYmlsZSl9XCIpXG4gICk7XG5cbiAgPiAqIHtcbiAgICBAaW5jbHVkZSB0aGlzLWJvcmRlci1ib3gtc2l6aW5nO1xuICAgIEBpbmNsdWRlIHUtcGFkZGluZy14KGNhbGMtZ2FwLW9mZnNldCgkZ2FwLW1vYmlsZSkpO1xuICB9XG5cbiAgQGluY2x1ZGUgYXQtbWVkaWEoXCJkZXNrdG9wXCIpIHtcbiAgICBAaW5jbHVkZSB1LW1hcmdpbi14KFxuICAgICAgdW5xdW90ZShcIiN7JG5lZy1wcmVmaXh9LSN7Y2FsYy1nYXAtb2Zmc2V0KCRnYXAtZGVza3RvcCl9XCIpXG4gICAgKTtcblxuICAgID4gKiB7XG4gICAgICBAaW5jbHVkZSB0aGlzLWJvcmRlci1ib3gtc2l6aW5nO1xuICAgICAgQGluY2x1ZGUgdS1wYWRkaW5nLXgoY2FsYy1nYXAtb2Zmc2V0KCRnYXAtZGVza3RvcCkpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZ3JpZC1nYXAoJHByb3BzLi4uKSB7XG4gICRwcm9wczogdW5wYWNrKCRwcm9wcyk7XG4gIEBpZiBsZW5ndGgoJHByb3BzKSA9PSAwIHtcbiAgICBAaW5jbHVkZSBncmlkLWdhcC1yZXNwb25zaXZlO1xuICB9IEBlbHNlIHtcbiAgICAkZ2FwOiBzbWFydC1xdW90ZShsaXN0Lm50aCgkcHJvcHMsIDEpKTtcbiAgICBAaWYgJGdhcCA9PSAwIHtcbiAgICAgIEBpbmNsdWRlIHUtbWFyZ2luLXgoYXBwZW5kLWltcG9ydGFudCgkcHJvcHMsIDApKTtcblxuICAgICAgPiAqIHtcbiAgICAgICAgQGluY2x1ZGUgdGhpcy1ib3JkZXItYm94LXNpemluZztcbiAgICAgICAgQGluY2x1ZGUgdS1wYWRkaW5nLXgoYXBwZW5kLWltcG9ydGFudCgkcHJvcHMsIDApKTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiBtYXAuaGFzLWtleSgkcHJvamVjdC1jb2x1bW4tZ2FwcywgJGdhcCkge1xuICAgICAgICAkZ2FwOiBtYXAuZ2V0KCRwcm9qZWN0LWNvbHVtbi1nYXBzLCAkZ2FwKTtcbiAgICAgIH0gQGVsc2UgaWYgbWFwLmhhcy1rZXkoJHN5c3RlbS1jb2x1bW4tZ2FwcywgJGdhcCkge1xuICAgICAgICAkZ2FwOiBtYXAuZ2V0KCRzeXN0ZW0tY29sdW1uLWdhcHMsICRnYXApO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgdS1tYXJnaW4teChcbiAgICAgICAgYXBwZW5kLWltcG9ydGFudChcbiAgICAgICAgICAkcHJvcHMsXG4gICAgICAgICAgdW5xdW90ZShcIiN7JG5lZy1wcmVmaXh9LSN7Y2FsYy1nYXAtb2Zmc2V0KCRnYXApfVwiKVxuICAgICAgICApXG4gICAgICApO1xuICAgICAgPiAqIHtcbiAgICAgICAgQGluY2x1ZGUgdGhpcy1ib3JkZXItYm94LXNpemluZztcbiAgICAgICAgQGluY2x1ZGUgdS1wYWRkaW5nLXgoYXBwZW5kLWltcG9ydGFudCgkcHJvcHMsIGNhbGMtZ2FwLW9mZnNldCgkZ2FwKSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZ3JpZC1jb2woJHByb3BzLi4uKSB7XG4gICRwcm9wczogdW5wYWNrKCRwcm9wcyk7XG4gIEBpbmNsdWRlIHRoaXMtYm9yZGVyLWJveC1zaXppbmc7XG5cbiAgQGlmIGxlbmd0aCgkcHJvcHMpID09IDAge1xuICAgIEBpbmNsdWRlIHUtZmxleChmaWxsKTtcbiAgICBAaW5jbHVkZSB1LXdpZHRoKGF1dG8pO1xuICB9IEBlbHNlIHtcbiAgICAkY29sOiBzbWFydC1xdW90ZShsaXN0Lm50aCgkcHJvcHMsIDEpKTtcbiAgICBAaWYgJGNvbCA9PSBcImF1dG9cIiB7XG4gICAgICAkZmxleDogYXBwZW5kLWltcG9ydGFudCgkcHJvcHMsIGF1dG8pO1xuICAgICAgJHdpZHRoOiBhcHBlbmQtaW1wb3J0YW50KCRwcm9wcywgYXV0byk7XG4gICAgICAkbWF4dzogYXBwZW5kLWltcG9ydGFudCgkcHJvcHMsIGZ1bGwpO1xuICAgICAgQGluY2x1ZGUgdS1mbGV4KCRmbGV4KTtcbiAgICAgIEBpbmNsdWRlIHUtd2lkdGgoJHdpZHRoKTtcbiAgICAgIEBpbmNsdWRlIHUtbWF4dygkbWF4dyk7XG4gICAgfSBAZWxzZSBpZiAkY29sID09IFwiZmlsbFwiIHtcbiAgICAgICRmbGV4OiBhcHBlbmQtaW1wb3J0YW50KCRwcm9wcywgZmlsbCk7XG4gICAgICAkd2lkdGg6IGFwcGVuZC1pbXBvcnRhbnQoJHByb3BzLCBhdXRvKTtcbiAgICAgICRtYXh3OiBhcHBlbmQtaW1wb3J0YW50KCRwcm9wcywgZnVsbCk7XG4gICAgICBAaW5jbHVkZSB1LWZsZXgoJGZsZXgpO1xuICAgICAgQGluY2x1ZGUgdS13aWR0aCgkd2lkdGgpO1xuICAgICAgQGluY2x1ZGUgdS1tYXh3KCRtYXh3KTtcbiAgICAgIG1pbi13aWR0aDogMXB4OyAvLyBJRSAxMVxuICAgIH0gQGVsc2UgaWYgbm90IG1hcC5oYXMta2V5KCRzeXN0ZW0tbGF5b3V0LWdyaWQtd2lkdGhzLCAkY29sKSB7XG4gICAgICBAZXJyb3IgJyN7JGNvbH0gaXMgbm90IGEgdmFsaWQgbGF5b3V0IGdyaWQgd2lkdGguIFZhbGlkIHdpZHRoIGFyZSAje21hcC1rZXlzKCRzeXN0ZW0tbGF5b3V0LWdyaWQtd2lkdGhzKX0nO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGZsZXg6IGFwcGVuZC1pbXBvcnRhbnQoJHByb3BzLCBhdXRvKTtcbiAgICAgICR3aWR0aDogYXBwZW5kLWltcG9ydGFudChcbiAgICAgICAgJHByb3BzLFxuICAgICAgICBtYXAuZ2V0KCRzeXN0ZW0tbGF5b3V0LWdyaWQtd2lkdGhzLCAkY29sKVxuICAgICAgKTtcbiAgICAgIEBpbmNsdWRlIHUtZmxleCgkZmxleCk7XG4gICAgICBAaW5jbHVkZSB1LXdpZHRoKG92ZXJyaWRlLCAkd2lkdGgpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZ3JpZC1vZmZzZXQoJHByb3BzLi4uKSB7XG4gICRwcm9wczogdW5wYWNrKCRwcm9wcyk7XG4gICRvZmZzZXQ6IHNtYXJ0LXF1b3RlKGxpc3QubnRoKCRwcm9wcywgMSkpO1xuICBAaWYgJG9mZnNldCA9PSBcIm5vbmVcIiB7XG4gICAgJHdpZHRoOiBhcHBlbmQtaW1wb3J0YW50KCRwcm9wcywgMCk7XG4gICAgQGluY2x1ZGUgdS1tYXJnaW4tbGVmdChvdmVycmlkZSwgJHdpZHRoKTtcbiAgfSBAZWxzZSBpZiBub3QgbWFwLmhhcy1rZXkoJHN5c3RlbS1sYXlvdXQtZ3JpZC13aWR0aHMsICRvZmZzZXQpIHtcbiAgICBAZXJyb3IgJyN7JG9mZnNldH0gaXMgbm90IGEgdmFsaWQgbGF5b3V0IGdyaWQgd2lkdGguIFZhbGlkIHdpZHRoIGFyZSAje21hcC1rZXlzKCRzeXN0ZW0tbGF5b3V0LWdyaWQtd2lkdGhzKX0nO1xuICB9IEBlbHNlIHtcbiAgICAkd2lkdGg6IGFwcGVuZC1pbXBvcnRhbnQoXG4gICAgICAkcHJvcHMsXG4gICAgICBtYXAuZ2V0KCRzeXN0ZW0tbGF5b3V0LWdyaWQtd2lkdGhzLCAkb2Zmc2V0KVxuICAgICk7XG4gICAgQGluY2x1ZGUgdS1tYXJnaW4tbGVmdChvdmVycmlkZSwgJHdpZHRoKTtcbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9uc1wiIGFzICo7XG5cbi8vIEFkZHMgcGFkZGluZyBlaXRoZXIgbC9yKHgpIG9yIHQvYih5KVxuXG5AbWl4aW4gcGFkZGluZy1uKCRzaWRlLCAkdmFsdWUuLi4pIHtcbiAgJHZhbHVlOiB1bnBhY2soJHZhbHVlKTtcbiAgJGltcG9ydGFudDogbnVsbDtcbiAgQGlmIGhhcy1pbXBvcnRhbnQoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW1vdmUoJHZhbHVlLCBcIiFpbXBvcnRhbnRcIik7XG4gICAgQGlmIGxpc3QubGVuZ3RoKCR2YWx1ZSkgPT0gMSB7XG4gICAgICAkdmFsdWU6IGRlLWxpc3QoJHZhbHVlKTtcbiAgICB9XG4gICAgJGltcG9ydGFudDogXCIgIWltcG9ydGFudFwiO1xuICB9XG4gIEBpZiAkc2lkZSA9PSBhbGwge1xuICAgIHBhZGRpbmc6IGdldC11c3dkcy12YWx1ZShcInBhZGRpbmdcIiwgJHZhbHVlLi4uKSAjeyRpbXBvcnRhbnR9O1xuICB9IEBlbHNlIGlmICRzaWRlID09IHgge1xuICAgIHBhZGRpbmctbGVmdDogZ2V0LXVzd2RzLXZhbHVlKFwicGFkZGluZ1wiLCAkdmFsdWUuLi4pICN7JGltcG9ydGFudH07XG4gICAgcGFkZGluZy1yaWdodDogZ2V0LXVzd2RzLXZhbHVlKFwicGFkZGluZ1wiLCAkdmFsdWUuLi4pICN7JGltcG9ydGFudH07XG4gIH0gQGVsc2UgaWYgJHNpZGUgPT0geSB7XG4gICAgcGFkZGluZy1ib3R0b206IGdldC11c3dkcy12YWx1ZShcInBhZGRpbmdcIiwgJHZhbHVlLi4uKSAjeyRpbXBvcnRhbnR9O1xuICAgIHBhZGRpbmctdG9wOiBnZXQtdXN3ZHMtdmFsdWUoXCJwYWRkaW5nXCIsICR2YWx1ZS4uLikgI3skaW1wb3J0YW50fTtcbiAgfSBAZWxzZSB7XG4gICAgcGFkZGluZy0jeyRzaWRlfTogZ2V0LXVzd2RzLXZhbHVlKFwicGFkZGluZ1wiLCAkdmFsdWUuLi4pICN7JGltcG9ydGFudH07XG4gIH1cbn1cblxuQG1peGluIHUtcGFkZGluZygkdmFsdWUuLi4pIHtcbiAgQGluY2x1ZGUgcGFkZGluZy1uKGFsbCwgJHZhbHVlLi4uKTtcbn1cblxuQG1peGluIHUtcGFkZGluZy14KCR2YWx1ZS4uLikge1xuICBAaW5jbHVkZSBwYWRkaW5nLW4oeCwgJHZhbHVlLi4uKTtcbn1cblxuQG1peGluIHUtcGFkZGluZy15KCR2YWx1ZS4uLikge1xuICBAaW5jbHVkZSBwYWRkaW5nLW4oeSwgJHZhbHVlLi4uKTtcbn1cblxuQG1peGluIHUtcGFkZGluZy10b3AoJHZhbHVlLi4uKSB7XG4gIEBpbmNsdWRlIHBhZGRpbmctbih0b3AsICR2YWx1ZS4uLik7XG59XG5cbkBtaXhpbiB1LXBhZGRpbmctcmlnaHQoJHZhbHVlLi4uKSB7XG4gIEBpbmNsdWRlIHBhZGRpbmctbihyaWdodCwgJHZhbHVlLi4uKTtcbn1cblxuQG1peGluIHUtcGFkZGluZy1ib3R0b20oJHZhbHVlLi4uKSB7XG4gIEBpbmNsdWRlIHBhZGRpbmctbihib3R0b20sICR2YWx1ZS4uLik7XG59XG5cbkBtaXhpbiB1LXBhZGRpbmctbGVmdCgkdmFsdWUuLi4pIHtcbiAgQGluY2x1ZGUgcGFkZGluZy1uKGxlZnQsICR2YWx1ZS4uLik7XG59XG4iLCJAdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwiLi4vLi4vZnVuY3Rpb25zXCIgYXMgKjtcblxuLy8gT3V0cHV0cyB3aWR0aFxuXG5AbWl4aW4gdS13aWR0aCgkdmFsdWUuLi4pIHtcbiAgJHZhbHVlOiB1bnBhY2soJHZhbHVlKTtcbiAgJGltcG9ydGFudDogbnVsbDtcbiAgQGlmIGhhcy1pbXBvcnRhbnQoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW1vdmUoJHZhbHVlLCBcIiFpbXBvcnRhbnRcIik7XG4gICAgQGlmIGxpc3QubGVuZ3RoKCR2YWx1ZSkgPT0gMSB7XG4gICAgICAkdmFsdWU6IGRlLWxpc3QoJHZhbHVlKTtcbiAgICB9XG4gICAgJGltcG9ydGFudDogXCIgIWltcG9ydGFudFwiO1xuICB9XG4gIHdpZHRoOiBnZXQtdXN3ZHMtdmFsdWUoXCJ3aWR0aFwiLCAkdmFsdWUuLi4pICN7JGltcG9ydGFudH07XG59XG4iLCJAdXNlIFwiLi4vLi4vZnVuY3Rpb25zL2NvbG9yL2dldC1jb2xvci10b2tlbi1mcm9tLWJnXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnMvdXRpbGl0aWVzL2NvbG9yXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnMvZ2VuZXJhbC9nZXQtZGVmYXVsdFwiIGFzICo7XG5cbkBtaXhpbiBzZXQtdGV4dC1mcm9tLWJnKFxuICAkYmctY29sb3I6IFwiZGVmYXVsdFwiLFxuICAkcHJlZmVycmVkLXRleHQtY29sb3I6IFwiZGVmYXVsdFwiLFxuICAkZmFsbGJhY2stdGV4dC1jb2xvcjogXCJkZWZhdWx0XCIsXG4gICR3Y2FnLXRhcmdldDogXCJBQVwiLFxuICAkY29udGV4dDogZmFsc2UsXG4gICRpbXBvcnRhbnQ6IG51bGxcbikge1xuICAkaW1wb3J0YW50OiBpZigkaW1wb3J0YW50LCBcIiAhaW1wb3J0YW50XCIsIG51bGwpO1xuICAkYWNjZXNzaWJsZS1jb2xvci10b2tlbjogZ2V0LWNvbG9yLXRva2VuLWZyb20tYmcoXG4gICAgJGJnLWNvbG9yLFxuICAgICRwcmVmZXJyZWQtdGV4dC1jb2xvcixcbiAgICAkZmFsbGJhY2stdGV4dC1jb2xvcixcbiAgICAkd2NhZy10YXJnZXQsXG4gICAgJGNvbnRleHRcbiAgKTtcbiAgY29sb3I6IGNvbG9yKCRhY2Nlc3NpYmxlLWNvbG9yLXRva2VuKSAjeyRpbXBvcnRhbnR9O1xufVxuIiwiQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9uc1wiIGFzICo7XG5cbi8vIE91dHB1dHMgbWF4LXdpZHRoXG5cbkBtaXhpbiB1LW1heHcoJHZhbHVlLi4uKSB7XG4gICR2YWx1ZTogdW5wYWNrKCR2YWx1ZSk7XG4gICRpbXBvcnRhbnQ6IG51bGw7XG4gIEBpZiBoYXMtaW1wb3J0YW50KCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtb3ZlKCR2YWx1ZSwgXCIhaW1wb3J0YW50XCIpO1xuICAgIEBpZiBsaXN0Lmxlbmd0aCgkdmFsdWUpID09IDEge1xuICAgICAgJHZhbHVlOiBkZS1saXN0KCR2YWx1ZSk7XG4gICAgfVxuICAgICRpbXBvcnRhbnQ6IFwiICFpbXBvcnRhbnRcIjtcbiAgfVxuICBtYXgtd2lkdGg6IGdldC11c3dkcy12YWx1ZShcIm1heC13aWR0aFwiLCAkdmFsdWUuLi4pICN7JGltcG9ydGFudH07XG59XG4iLCJAdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwiLi4vLi4vZnVuY3Rpb25zXCIgYXMgKjtcblxuLy8gT3V0cHV0cyBtZWFzdXJlIChtYXggd2lkdGgpXG5cbkBtaXhpbiB1LW1lYXN1cmUoJHZhbHVlLi4uKSB7XG4gICR2YWx1ZTogdW5wYWNrKCR2YWx1ZSk7XG4gICRpbXBvcnRhbnQ6IG51bGw7XG4gIEBpZiBoYXMtaW1wb3J0YW50KCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtb3ZlKCR2YWx1ZSwgXCIhaW1wb3J0YW50XCIpO1xuICAgIEBpZiBsaXN0Lmxlbmd0aCgkdmFsdWUpID09IDEge1xuICAgICAgJHZhbHVlOiBkZS1saXN0KCR2YWx1ZSk7XG4gICAgfVxuICAgICRpbXBvcnRhbnQ6IFwiICFpbXBvcnRhbnRcIjtcbiAgfVxuICBtYXgtd2lkdGg6IGdldC11c3dkcy12YWx1ZShcIm1lYXN1cmVcIiwgJHZhbHVlLi4uKSAjeyRpbXBvcnRhbnR9O1xufVxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcInNhc3M6bGlzdFwiO1xuXG5AdXNlIFwiLi4vLi4vc2V0dGluZ3NcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9ucy9nZW5lcmFsXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnMvY29sb3IvXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnMvdXRpbGl0aWVzL2NvbG9yXCIgYXMgKjtcblxuQG1peGluIHNldC1saW5rLWZyb20tYmcoXG4gICRiZy1jb2xvcjogXCJkZWZhdWx0XCIsXG4gICRwcmVmZXJyZWQtbGluay1jb2xvcjogXCJkZWZhdWx0XCIsXG4gICRmYWxsYmFjay1saW5rLWNvbG9yOiBcImRlZmF1bHRcIixcbiAgJHdjYWctdGFyZ2V0OiBcIkFBXCIsXG4gICRpbXBvcnRhbnQ6IG51bGwsXG4gICRjb250ZXh0OiBmYWxzZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRpbXBvcnRhbnQsIFwiICFpbXBvcnRhbnRcIiwgbnVsbCk7XG4gICRsaW5rLXRva2VuczogZ2V0LWxpbmstdG9rZW5zLWZyb20tYmcoXG4gICAgJGJnLWNvbG9yLFxuICAgICRwcmVmZXJyZWQtbGluay1jb2xvcixcbiAgICAkZmFsbGJhY2stbGluay1jb2xvcixcbiAgICAkd2NhZy10YXJnZXQsXG4gICAgJGNvbnRleHRcbiAgKTtcblxuICAkYmctY29sb3I6IGlmKCRiZy1jb2xvciA9PSBcImRlZmF1bHRcIiwgZ2V0LWRlZmF1bHQoXCJiZy1jb2xvclwiKSwgJGJnLWNvbG9yKTtcbiAgJGxpbmstdG9rZW46IGxpc3QubnRoKCRsaW5rLXRva2VucywgMSk7XG4gICRob3Zlci10b2tlbjogbGlzdC5udGgoJGxpbmstdG9rZW5zLCAyKTtcblxuICAkdmlzaXRlZC10b2tlbjogaWYoXG4gICAgaXMtYWNjZXNzaWJsZS1tYWdpYy1udW1iZXIoXG4gICAgICAkdGhlbWUtbGluay12aXNpdGVkLWNvbG9yLFxuICAgICAgJGJnLWNvbG9yLFxuICAgICAgJHdjYWctdGFyZ2V0XG4gICAgKSxcbiAgICAkdGhlbWUtbGluay12aXNpdGVkLWNvbG9yLFxuICAgICRsaW5rLXRva2VuXG4gICk7XG4gIGNvbG9yOiBjb2xvcigkbGluay10b2tlbikgI3skaW1wb3J0YW50fTtcbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogY29sb3IoJHZpc2l0ZWQtdG9rZW4pICN7JGltcG9ydGFudH07XG4gIH1cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiBjb2xvcigkaG92ZXItdG9rZW4pICN7JGltcG9ydGFudH07XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6bWF0aFwiO1xuXG5AdXNlIFwiLi4vLi4vc2V0dGluZ3NcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL2Z1bmN0aW9uc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vdmFyaWFibGVzXCIgYXMgKjtcbkB1c2UgXCIuL2FkZC1iYWNrZ3JvdW5kLXN2Z1wiIGFzICo7XG5cbkBtaXhpbiBkaXNwbGF5LWljb24oJGljb24sICRkaXJlY3Rpb24sICRzaXplLCAkbWFyZ2luLCAkaG92ZXIpIHtcbiAgJjo6I3skZGlyZWN0aW9ufSB7XG4gICAgQGluY2x1ZGUgYWRkLWJhY2tncm91bmQtc3ZnKFwiI3skaWNvbn1cIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogJHNpemU7XG4gICAgd2lkdGg6ICRzaXplO1xuXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stY2xvc2luZy1icmFjZS1uZXdsaW5lLWFmdGVyLCBhdC1ydWxlLWVtcHR5LWxpbmUtYmVmb3JlICovXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gXCJhZnRlclwiIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICAgIH0gQGVsc2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIH1cbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gIH1cblxuICBAaWYgJGhvdmVyID09IFwiaG92ZXJcIiB7XG4gICAgJjpob3Zlcjo6I3skZGlyZWN0aW9ufSB7XG4gICAgICBAaW5jbHVkZSBhZGQtYmFja2dyb3VuZC1zdmcoXCIjeyRpY29ufS1ob3ZlclwiKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHJlbW92ZS1pY29uKCRkaXJlY3Rpb24pIHtcbiAgJjo6I3skZGlyZWN0aW9ufSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gYWRkLWljb24oXG4gICRpY29uLW5hbWUsXG4gICRkaXJlY3Rpb24sXG4gICRpbWFnZS1zaXplLFxuICAkY29udGFpbmVyLXNpemUsXG4gICRtYXJnaW4sXG4gICRob3ZlclxuKSB7XG4gICY6OiN7JGRpcmVjdGlvbn0ge1xuICAgIEBpbmNsdWRlIGFkZC1iYWNrZ3JvdW5kLXN2ZyhcIiN7JGljb24tbmFtZX1cIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogdW5pdHMoJGltYWdlLXNpemUpO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogdW5pdHMoJGNvbnRhaW5lci1zaXplKTtcbiAgICB3aWR0aDogdW5pdHMoJGNvbnRhaW5lci1zaXplKTtcblxuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLWNsb3NpbmctYnJhY2UtbmV3bGluZS1hZnRlciwgYXQtcnVsZS1lbXB0eS1saW5lLWJlZm9yZSAqL1xuICAgIEBpZiAkZGlyZWN0aW9uID09IFwiYWZ0ZXJcIiB7XG4gICAgICBtYXJnaW4tbGVmdDogdW5pdHMoJG1hcmdpbik7XG4gICAgfSBAZWxzZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHVuaXRzKCRtYXJnaW4pO1xuICAgIH1cbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gIH1cblxuICBAaWYgJGhvdmVyID09IFwiaG92ZXJcIiB7XG4gICAgJjpob3Zlcjo6I3skZGlyZWN0aW9ufSB7XG4gICAgICBAaW5jbHVkZSBhZGQtYmFja2dyb3VuZC1zdmcoXCIjeyRpY29uLW5hbWV9LWhvdmVyXCIpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBOZXcgaWNvbiBtaXhpbnMgdXNpbmcgU1ZHIG1hc2sgdGVjaG5pcXVlXG4vL1xuLy8gJGltYWdlIG1heSBiZSBhIHNwZWNpZmljIFNWRyBvciBhIGxpc3QgaW4gdGhlIGZvcm1cbi8vICgkYmFzZSwgJHZhcmlhbnQsICR2YXJpYW50LWFsdCwgJGJnKVxuLy8gdGhlIG1peGluIHdpbGwgcGljayBJRTExLWNvbXBhdGlibGUgc3ZncyBuYW1lZFxuLy8gW2Jhc2VdLVt2YXJpYW50XS5zdmcgYmFzZWQgb24gdGhlIHNwZWNpZmllZCBiYWNrZ3JvdW5kLWNvbG9yXG4vL1xuLy8gQHBhcmFtIHtNYXB9IC0gJGljb24tb2JqZWN0IC0gbmFtZSwgc3ZnLWhlaWdodCwgc3ZnLXdpZHRoLCBoZWlnaHQsIGNvbnRhaW5lci1oZWlnaHQsIGNvbnRhaW5lci13aWR0aCwgY29sb3IsIGNvbG9yLXZhcmlhbnQsIGNvbG9yLWhvdmVyLCByb3RhdGUsIHBhdGgsIHBvc2l0aW9uLXgsIHBvc2l0aW9uLXlcbi8vIEBwYXJhbSB7U3RyaW5nfSAtICRjb250cmFzdC1iZyAtIENvbG9yIHRva2VuXG5AbWl4aW4gYWRkLWNvbG9yLWljb24oJGljb24tb2JqZWN0LCAkY29udHJhc3QtYmc6IFwiZGVmYXVsdFwiKSB7XG4gICRmaWxlbmFtZS1iYXNlOiBtYXAuZ2V0KCRpY29uLW9iamVjdCwgXCJuYW1lXCIpO1xuICAkc3ZnLWhlaWdodDogbWFwLmdldCgkaWNvbi1vYmplY3QsIFwic3ZnLWhlaWdodFwiKTtcbiAgJHN2Zy13aWR0aDogbWFwLmdldCgkaWNvbi1vYmplY3QsIFwic3ZnLXdpZHRoXCIpO1xuICAkYXNwZWN0OiBtYXRoLmRpdigkc3ZnLXdpZHRoLCAkc3ZnLWhlaWdodCk7XG4gICRoZWlnaHQ6IGlmKFxuICAgIG1hdGguaXMtdW5pdGxlc3MobWFwLmdldCgkaWNvbi1vYmplY3QsIFwiaGVpZ2h0XCIpKSxcbiAgICB1bml0cyhtYXAuZ2V0KCRpY29uLW9iamVjdCwgXCJoZWlnaHRcIikpLFxuICAgIG1hcC5nZXQoJGljb24tb2JqZWN0LCBcImhlaWdodFwiKVxuICApO1xuICAkd2lkdGg6ICRoZWlnaHQgKiAkYXNwZWN0O1xuICAkY29udGFpbmVyLWhlaWdodDogaWYoXG4gICAgbWFwLmhhcy1rZXkoJGljb24tb2JqZWN0LCBcImNvbnRhaW5lci1oZWlnaHRcIiksXG4gICAgdW5pdHMobWFwLmdldCgkaWNvbi1vYmplY3QsIFwiY29udGFpbmVyLWhlaWdodFwiKSksXG4gICAgbnVsbFxuICApO1xuICAkY29udGFpbmVyLXdpZHRoOiBpZihcbiAgICBtYXAuaGFzLWtleSgkaWNvbi1vYmplY3QsIFwiY29udGFpbmVyLXdpZHRoXCIpLFxuICAgIHVuaXRzKG1hcC5nZXQoJGljb24tb2JqZWN0LCBcImNvbnRhaW5lci13aWR0aFwiKSksXG4gICAgbnVsbFxuICApO1xuICAkY29sb3I6IGlmKFxuICAgIG1hcC5oYXMta2V5KCRpY29uLW9iamVjdCwgXCJjb2xvclwiKSxcbiAgICBtYXAuZ2V0KCRpY29uLW9iamVjdCwgXCJjb2xvclwiKSxcbiAgICBcImlua1wiXG4gICk7XG4gICRjb2xvci12YXJpYW50OiBpZihcbiAgICBtYXAuaGFzLWtleSgkaWNvbi1vYmplY3QsIFwiY29sb3ItdmFyaWFudFwiKSxcbiAgICBtYXAuZ2V0KCRpY29uLW9iamVjdCwgXCJjb2xvci12YXJpYW50XCIpLFxuICAgIFwid2hpdGVcIlxuICApO1xuICAkY29sb3ItaG92ZXI6IGlmKFxuICAgIG1hcC5oYXMta2V5KCRpY29uLW9iamVjdCwgXCJjb2xvci1ob3ZlclwiKSxcbiAgICBtYXAuZ2V0KCRpY29uLW9iamVjdCwgXCJjb2xvci1ob3ZlclwiKSxcbiAgICBudWxsXG4gICk7XG4gICRyb3RhdGU6IGlmKFxuICAgIG1hcC5oYXMta2V5KCRpY29uLW9iamVjdCwgXCJyb3RhdGVcIiksXG4gICAgbWFwLmdldCgkaWNvbi1vYmplY3QsIFwicm90YXRlXCIpLFxuICAgIG51bGxcbiAgKTtcbiAgJHBhdGg6IGlmKFxuICAgIG1hcC5oYXMta2V5KCRpY29uLW9iamVjdCwgXCJwYXRoXCIpLFxuICAgIG1hcC5nZXQoJGljb24tb2JqZWN0LCBcInBhdGhcIiksXG4gICAgJHRoZW1lLWltYWdlLXBhdGhcbiAgKTtcbiAgJHBvc2l0aW9uLXk6IGlmKFxuICAgIG1hcC5oYXMta2V5KCRpY29uLW9iamVjdCwgXCJwb3NpdGlvbi15XCIpLFxuICAgIG1hcC5nZXQoJGljb24tb2JqZWN0LCBcInBvc2l0aW9uLXlcIiksXG4gICAgY2VudGVyXG4gICk7XG4gICRwb3NpdGlvbi14OiBpZihcbiAgICBtYXAuaGFzLWtleSgkaWNvbi1vYmplY3QsIFwicG9zaXRpb24teFwiKSxcbiAgICBtYXAuZ2V0KCRpY29uLW9iamVjdCwgXCJwb3NpdGlvbi14XCIpLFxuICAgIGNlbnRlclxuICApO1xuICAkaWUxMS12YXJpYW50OiBnZXQtY29sb3ItdG9rZW4tZnJvbS1iZygkY29udHJhc3QtYmcsIFwid2hpdGVcIiwgXCJibGFja1wiKTtcbiAgJGZpbGVuYW1lLWllMTE6IGlmKFxuICAgICRpZTExLXZhcmlhbnQgPT0gXCJ3aGl0ZVwiLFxuICAgIFwidXNhLWljb25zLWJnLyN7JGZpbGVuYW1lLWJhc2V9LS13aGl0ZS5zdmdcIixcbiAgICBcInVzYS1pY29ucy8jeyRmaWxlbmFtZS1iYXNlfS5zdmdcIlxuICApO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JHBhdGh9LyN7JGZpbGVuYW1lLWllMTF9XCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcG9zaXRpb24teCAkcG9zaXRpb24teTtcbiAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGggJGhlaWdodDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IGlmKCRjb250YWluZXItaGVpZ2h0LCAkY29udGFpbmVyLWhlaWdodCwgJGhlaWdodCk7XG4gIHdpZHRoOiBpZigkY29udGFpbmVyLXdpZHRoLCAkY29udGFpbmVyLXdpZHRoLCAkd2lkdGgpO1xuICBAaWYgJHJvdGF0ZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoJHJvdGF0ZSk7XG4gIH1cblxuICAvLyBNYXNrIHN1cHBvcnRlZCBzdHlsZXNcbiAgQHN1cHBvcnRzIChtYXNrOiB1cmwoXCJcIikpIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGlmKCRjb2xvciA9PSBjdXJyZW50Q29sb3IsICRjb2xvciwgY29sb3IoJGNvbG9yKSk7XG4gICAgbWFzay1pbWFnZTogdXJsKFwiI3skcGF0aH0vdXNhLWljb25zLyN7JGZpbGVuYW1lLWJhc2V9LnN2Z1wiKSxcbiAgICAgIGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpO1xuICAgIG1hc2stcG9zaXRpb246ICRwb3NpdGlvbi14ICRwb3NpdGlvbi15O1xuICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWFzay1zaXplOiAkd2lkdGggJGhlaWdodDtcblxuICAgIEBpZiAkY29sb3ItaG92ZXIge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKCRjb2xvci1ob3Zlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFBsYWNlcyBhbiBpY29uIGJlZm9yZSBvciBhZnRlciBhbiBlbGVtZW50IGFzIGFuIGlubGluZS1ibG9jayxcbi8vIHVzaW5nIHRoZSBgOmJlZm9yZWAgb3IgYDphZnRlcmAgcHNldWRvZWxlbWVudHMuXG5AbWl4aW4gcGxhY2UtaWNvbihcbiAgJGljb24tb2JqZWN0LFxuICAkZGlyZWN0aW9uLFxuICAkbWFyZ2luOiBcImF1dG9cIixcbiAgJHZlcnRpY2FsLWFsaWduOiBtaWRkbGUsXG4gICRjb250cmFzdC1iZzogXCJkZWZhdWx0XCJcbikge1xuICAkY29sb3ItaG92ZXI6IGlmKFxuICAgIG1hcC5oYXMta2V5KCRpY29uLW9iamVjdCwgXCJjb2xvci1ob3ZlclwiKSxcbiAgICBtYXAuZ2V0KCRpY29uLW9iamVjdCwgXCJjb2xvci1ob3ZlclwiKSxcbiAgICBudWxsXG4gICk7XG4gICY6OiN7JGRpcmVjdGlvbn0ge1xuICAgIEBpbmNsdWRlIGFkZC1jb2xvci1pY29uKCRpY29uLW9iamVjdCwgJGNvbnRyYXN0LWJnKTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHZlcnRpY2FsLWFsaWduOiAkdmVydGljYWwtYWxpZ247XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBcImFmdGVyXCIge1xuICAgICAgbWFyZ2luLWxlZnQ6IHVuaXRzKCRtYXJnaW4pO1xuICAgIH0gQGVsc2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiB1bml0cygkbWFyZ2luKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAmOmhvdmVyOjojeyRkaXJlY3Rpb259IHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7IC8vIEFkZGVkIHRvIGFkZHJlc3MgYSB3ZWlyZCBkaXNwbGF5IGJ1Z1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoJGNvbG9yLWhvdmVyKTtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnNcIiBhcyAqO1xuXG4vLyBPdXRwdXRzIGxpbmUtaGVpZ2h0XG5cbkBtaXhpbiB1LWZsb2F0KCR2YWx1ZS4uLikge1xuICAkdmFsdWU6IHVucGFjaygkdmFsdWUpO1xuICAkaW1wb3J0YW50OiBudWxsO1xuICBAaWYgaGFzLWltcG9ydGFudCgkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbW92ZSgkdmFsdWUsIFwiIWltcG9ydGFudFwiKTtcbiAgICBAaWYgbGlzdC5sZW5ndGgoJHZhbHVlKSA9PSAxIHtcbiAgICAgICR2YWx1ZTogZGUtbGlzdCgkdmFsdWUpO1xuICAgIH1cbiAgICAkaW1wb3J0YW50OiBcIiAhaW1wb3J0YW50XCI7XG4gIH1cbiAgZmxvYXQ6IGdldC11c3dkcy12YWx1ZShcImZsb2F0XCIsICR2YWx1ZS4uLikgI3skaW1wb3J0YW50fTtcbn1cbiIsIkB1c2UgXCIuLi8uLi9zZXR0aW5nc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vZnVuY3Rpb25zXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9taXhpbnMvdXRpbGl0aWVzXCIgYXMgKjtcbkB1c2UgXCIuLi90eXBvZ3JhcGh5L3R5cGVzZXRcIiBhcyAqO1xuXG5AbWl4aW4gYnV0dG9uLXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgdHlwZXNldC1saW5rO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICBmb250LXdlaWdodDogZm9udC13ZWlnaHQoXCJub3JtYWxcIik7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAmOmhvdmVyLFxuICAmLnVzYS1idXR0b24tLWhvdmVyLFxuICAmOmRpc2FibGVkOmhvdmVyLFxuICAmW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdOmhvdmVyLFxuICAmOmRpc2FibGVkLnVzYS1idXR0b24tLWhvdmVyLFxuICAmW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdLnVzYS1idXR0b24tLWhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJi51c2EtYnV0dG9uLS1hY3RpdmUsXG4gICY6ZGlzYWJsZWQ6YWN0aXZlLFxuICAmW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdOmFjdGl2ZSxcbiAgJjpkaXNhYmxlZC51c2EtYnV0dG9uLS1hY3RpdmUsXG4gICZbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0udXNhLWJ1dHRvbi0tYWN0aXZlLFxuICAmOmRpc2FibGVkOmZvY3VzLFxuICAmW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdOmZvY3VzLFxuICAmOmRpc2FibGVkLnVzYS1mb2N1cyxcbiAgJlthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXS51c2EtZm9jdXMsXG4gICY6ZGlzYWJsZWQsXG4gICZbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0sXG4gICYudXNhLWJ1dHRvbi0tZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cblxuICAmLnVzYS1idXR0b24tLWhvdmVyIHtcbiAgICBjb2xvcjogY29sb3IoJHRoZW1lLWxpbmstaG92ZXItY29sb3IpO1xuICB9XG5cbiAgJi51c2EtYnV0dG9uLS1hY3RpdmUge1xuICAgIGNvbG9yOiBjb2xvcigkdGhlbWUtbGluay1hY3RpdmUtY29sb3IpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJlthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSxcbiAgJjpkaXNhYmxlZDpob3ZlcixcbiAgJlthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXTpob3ZlcixcbiAgJlthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXTpmb2N1cyB7XG4gICAgY29sb3I6IGNvbG9yKFwiZGlzYWJsZWRcIik7XG5cbiAgICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgY29sb3I6IGNvbG9yKEdyYXlUZXh0KTtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnNcIiBhcyAqO1xuXG4vLyBPdXRwdXRzIHBvc2l0aW9uIHByb3BlcnR5XG5cbkBtaXhpbiB1LXBvc2l0aW9uKCR2YWx1ZS4uLikge1xuICAkdmFsdWU6IHVucGFjaygkdmFsdWUpO1xuICAkaW1wb3J0YW50OiBudWxsO1xuICBAaWYgaGFzLWltcG9ydGFudCgkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbW92ZSgkdmFsdWUsIFwiIWltcG9ydGFudFwiKTtcbiAgICBAaWYgbGlzdC5sZW5ndGgoJHZhbHVlKSA9PSAxIHtcbiAgICAgICR2YWx1ZTogZGUtbGlzdCgkdmFsdWUpO1xuICAgIH1cbiAgICAkaW1wb3J0YW50OiBcIiAhaW1wb3J0YW50XCI7XG4gIH1cbiAgcG9zaXRpb246IGdldC11c3dkcy12YWx1ZShcInBvc2l0aW9uXCIsICR2YWx1ZS4uLikgI3skaW1wb3J0YW50fTtcbn1cbiIsIkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCIuLi8uLi9mdW5jdGlvbnNcIiBhcyAqO1xuQHVzZSBcIi4vcG9zaXRpb25cIiBhcyAqO1xuXG4kdXRpbGl0eS1waW4tb3B0aW9uczogXCJhbGxcIiwgXCJ4XCIsIFwieVwiLCBcInRvcFwiLCBcImJvdHRvbVwiLCBcImxlZnRcIiwgXCJyaWdodFwiLCBcIm5vbmVcIjtcblxuQG1peGluIHUtcGluKCR2YWx1ZS4uLikge1xuICAkdmFsdWU6IHVucGFjaygkdmFsdWUpO1xuICAkaW1wb3J0YW50OiBudWxsO1xuICAkcG9zaXRpb24tYWJzb2x1dGU6IGFwcGVuZC1pbXBvcnRhbnQoJHZhbHVlLCBcImFic29sdXRlXCIpO1xuICAkcG9zaXRpb24tc3RhdGljOiBhcHBlbmQtaW1wb3J0YW50KCR2YWx1ZSwgXCJzdGF0aWNcIik7XG4gICRoYXMtcG9zaXRpb246IGZhbHNlO1xuXG4gIEBpZiBoYXMtaW1wb3J0YW50KCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtb3ZlKCR2YWx1ZSwgXCIhaW1wb3J0YW50XCIpO1xuICAgIEBpZiBsaXN0Lmxlbmd0aCgkdmFsdWUpID09IDEge1xuICAgICAgJHZhbHVlOiBkZS1saXN0KCR2YWx1ZSk7XG4gICAgfVxuICAgICRpbXBvcnRhbnQ6IFwiICFpbXBvcnRhbnRcIjtcbiAgfVxuXG4gIEBlYWNoICRvcHRpb24gaW4gJHZhbHVlIHtcbiAgICAkb3B0aW9uOiBzbWFydC1xdW90ZSgkb3B0aW9uKTtcbiAgICBAaWYgJG9wdGlvbiAhPSBcIm5vbmVcIiBhbmQgbm90ICRoYXMtcG9zaXRpb24ge1xuICAgICAgQGluY2x1ZGUgdS1wb3NpdGlvbigkcG9zaXRpb24tYWJzb2x1dGUpO1xuICAgICAgJGhhcy1wb3NpdGlvbjogdHJ1ZTtcbiAgICB9XG4gICAgQGlmICRvcHRpb24gPT0gXCJhbGxcIiB7XG4gICAgICBib3R0b206IDAjeyRpbXBvcnRhbnR9O1xuICAgICAgbGVmdDogMCN7JGltcG9ydGFudH07XG4gICAgICByaWdodDogMCN7JGltcG9ydGFudH07XG4gICAgICB0b3A6IDAjeyRpbXBvcnRhbnR9O1xuICAgIH0gQGVsc2UgaWYgJG9wdGlvbiA9PSBcInhcIiB7XG4gICAgICBsZWZ0OiAwI3skaW1wb3J0YW50fTtcbiAgICAgIHJpZ2h0OiAwI3skaW1wb3J0YW50fTtcbiAgICB9IEBlbHNlIGlmICRvcHRpb24gPT0gXCJ5XCIge1xuICAgICAgYm90dG9tOiAwI3skaW1wb3J0YW50fTtcbiAgICAgIHRvcDogMCN7JGltcG9ydGFudH07XG4gICAgfSBAZWxzZSBpZiAkb3B0aW9uID09IFwidG9wXCIge1xuICAgICAgdG9wOiAwI3skaW1wb3J0YW50fTtcbiAgICB9IEBlbHNlIGlmICRvcHRpb24gPT0gXCJib3R0b21cIiB7XG4gICAgICBib3R0b206IDAjeyRpbXBvcnRhbnR9O1xuICAgIH0gQGVsc2UgaWYgJG9wdGlvbiA9PSBcImxlZnRcIiB7XG4gICAgICBsZWZ0OiAwI3skaW1wb3J0YW50fTtcbiAgICB9IEBlbHNlIGlmICRvcHRpb24gPT0gXCJyaWdodFwiIHtcbiAgICAgIHJpZ2h0OiAwI3skaW1wb3J0YW50fTtcbiAgICB9IEBlbHNlIGlmICRvcHRpb24gPT0gXCJub25lXCIge1xuICAgICAgJGhhcy1wb3NpdGlvbjogZmFsc2U7XG4gICAgICBAaW5jbHVkZSB1LXBvc2l0aW9uKCRwb3NpdGlvbi1zdGF0aWMpO1xuICAgICAgYm90dG9tOiBhdXRvI3skaW1wb3J0YW50fTtcbiAgICAgIGxlZnQ6IGF1dG8jeyRpbXBvcnRhbnR9O1xuICAgICAgcmlnaHQ6IGF1dG8jeyRpbXBvcnRhbnR9O1xuICAgICAgdG9wOiBhdXRvI3skaW1wb3J0YW50fTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBlcnJvciAnYCN7JG9wdGlvbn1gIGlzIG5vdCBhIHZhbGlkIGBwaW5gIHZhbHVlLiBWYWxpZCBwaW4gdmFsdWVzIGluY2x1ZGUgI3skdXRpbGl0eS1waW4tb3B0aW9uc30nO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdS1waW4tbm9uZSgkdmFsdWUuLi4pIHtcbiAgQGluY2x1ZGUgdS1waW4oXCJub25lXCIsICR2YWx1ZS4uLik7XG59XG5cbkBtaXhpbiB1LXBpbi1hbGwoJHZhbHVlLi4uKSB7XG4gIEBpbmNsdWRlIHUtcGluKFwiYWxsXCIsICR2YWx1ZS4uLik7XG59XG5cbkBtaXhpbiB1LXBpbi15KCR2YWx1ZS4uLikge1xuICBAaW5jbHVkZSB1LXBpbihcInlcIiwgJHZhbHVlLi4uKTtcbn1cblxuQG1peGluIHUtcGluLXgoJHZhbHVlLi4uKSB7XG4gIEBpbmNsdWRlIHUtcGluKFwieFwiLCAkdmFsdWUuLi4pO1xufVxuXG5AbWl4aW4gdS1waW4tYm90dG9tKCR2YWx1ZS4uLikge1xuICBAaW5jbHVkZSB1LXBpbihcImJvdHRvbVwiLCAkdmFsdWUuLi4pO1xufVxuXG5AbWl4aW4gdS1waW4tbGVmdCgkdmFsdWUuLi4pIHtcbiAgQGluY2x1ZGUgdS1waW4oXCJsZWZ0XCIsICR2YWx1ZS4uLik7XG59XG5cbkBtaXhpbiB1LXBpbi1yaWdodCgkdmFsdWUuLi4pIHtcbiAgQGluY2x1ZGUgdS1waW4oXCJyaWdodFwiLCAkdmFsdWUuLi4pO1xufVxuXG5AbWl4aW4gdS1waW4tdG9wKCR2YWx1ZS4uLikge1xuICBAaW5jbHVkZSB1LXBpbihcInRvcFwiLCAkdmFsdWUuLi4pO1xufVxuIiwiQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vLi4vZnVuY3Rpb25zXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9wcm9wZXJ0aWVzXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi90b2tlbnNcIiBhcyAqO1xuXG4vLyBPdXRwdXRzIHByb3BlcnRpZXMgYmFzZWQgb24gY29udGVudHMgb2YgdGV4dCgpXG5cbiR0ZXh0LXV0aWxpbGllczogKFxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6XG4gICAgbWFwLWNvbGxlY3QoXG4gICAgICBtYXAtZGVlcC1nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCBmb250LWZlYXR1cmUtc2V0dGluZ3MsIHN0YW5kYXJkKSxcbiAgICAgIG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsIGZvbnQtZmVhdHVyZS1zZXR0aW5ncywgZXh0ZW5kZWQpXG4gICAgKSxcbiAgZm9udC1zdHlsZTpcbiAgICBtYXAtY29sbGVjdChcbiAgICAgIG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsIFwiZm9udC1zdHlsZVwiLCBzdGFuZGFyZCksXG4gICAgICBtYXAtZGVlcC1nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCBcImZvbnQtc3R5bGVcIiwgZXh0ZW5kZWQpXG4gICAgKSxcbiAgZm9udC13ZWlnaHQ6XG4gICAgbWFwLWNvbGxlY3QoXG4gICAgICBtYXAtZGVlcC1nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCBcImZvbnQtd2VpZ2h0XCIsIHN0YW5kYXJkKSxcbiAgICAgIG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsIFwiZm9udC13ZWlnaHRcIiwgZXh0ZW5kZWQpXG4gICAgKSxcbiAgbGV0dGVyLXNwYWNpbmc6XG4gICAgbWFwLWNvbGxlY3QoXG4gICAgICBtYXAtZGVlcC1nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCBcImxldHRlci1zcGFjaW5nXCIsIHN0YW5kYXJkKSxcbiAgICAgIG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsIFwibGV0dGVyLXNwYWNpbmdcIiwgZXh0ZW5kZWQpXG4gICAgKSxcbiAgdGV4dC1hbGlnbjpcbiAgICBtYXAtY29sbGVjdChcbiAgICAgIG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsIFwidGV4dC1hbGlnblwiLCBzdGFuZGFyZCksXG4gICAgICBtYXAtZGVlcC1nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCBcInRleHQtYWxpZ25cIiwgZXh0ZW5kZWQpXG4gICAgKSxcbiAgdGV4dC1kZWNvcmF0aW9uOlxuICAgIG1hcC1jb2xsZWN0KFxuICAgICAgbWFwLWRlZXAtZ2V0KCRzeXN0ZW0tcHJvcGVydGllcywgXCJ0ZXh0LWRlY29yYXRpb25cIiwgc3RhbmRhcmQpLFxuICAgICAgbWFwLWRlZXAtZ2V0KCRzeXN0ZW0tcHJvcGVydGllcywgXCJ0ZXh0LWRlY29yYXRpb25cIiwgZXh0ZW5kZWQpXG4gICAgKSxcbiAgdGV4dC10cmFuc2Zvcm06XG4gICAgbWFwLWNvbGxlY3QoXG4gICAgICBtYXAtZGVlcC1nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCBcInRleHQtdHJhbnNmb3JtXCIsIHN0YW5kYXJkKSxcbiAgICAgIG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsIFwidGV4dC10cmFuc2Zvcm1cIiwgZXh0ZW5kZWQpXG4gICAgKSxcbiAgdmVydGljYWwtYWxpZ246XG4gICAgbWFwLWNvbGxlY3QoXG4gICAgICBtYXAtZGVlcC1nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCBcInZlcnRpY2FsLWFsaWduXCIsIHN0YW5kYXJkKSxcbiAgICAgIG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsIFwidmVydGljYWwtYWxpZ25cIiwgZXh0ZW5kZWQpXG4gICAgKSxcbiAgd2hpdGUtc3BhY2U6XG4gICAgbWFwLWNvbGxlY3QoXG4gICAgICBtYXAtZGVlcC1nZXQoJHN5c3RlbS1wcm9wZXJ0aWVzLCBcIndoaXRlLXNwYWNlXCIsIHN0YW5kYXJkKSxcbiAgICAgIG1hcC1kZWVwLWdldCgkc3lzdGVtLXByb3BlcnRpZXMsIFwid2hpdGUtc3BhY2VcIiwgZXh0ZW5kZWQpXG4gICAgKSxcbiAgY29sb3I6IG1hcC1jb2xsZWN0KCR0b2tlbnMtY29sb3ItZ2xvYmFsKSxcbik7XG5cbkBtaXhpbiB1LXRleHQoJHZhbHVlLi4uKSB7XG4gICR2YWx1ZTogdW5wYWNrKCR2YWx1ZSk7XG4gICRpbXBvcnRhbnQ6IG51bGw7XG4gIEBpZiBoYXMtaW1wb3J0YW50KCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtb3ZlKCR2YWx1ZSwgXCIhaW1wb3J0YW50XCIpO1xuICAgIEBpZiBsaXN0Lmxlbmd0aCgkdmFsdWUpID09IDEge1xuICAgICAgJHZhbHVlOiBkZS1saXN0KCR2YWx1ZSk7XG4gICAgfVxuICAgICRpbXBvcnRhbnQ6IFwiICFpbXBvcnRhbnRcIjtcbiAgfVxuICBAZWFjaCAkdGhpcy12YWx1ZSBpbiAkdmFsdWUge1xuICAgICR0aGlzLXZhbHVlOiBzbWFydC1xdW90ZSgkdGhpcy12YWx1ZSk7XG4gICAgJG1hdGNoOiBmYWxzZTtcbiAgICBAaWYgbWFwLmhhcy1rZXkoJGFsbC1jb2xvci1zaG9ydGNvZGVzLCAkdGhpcy12YWx1ZSkge1xuICAgICAgJG1hdGNoOiB0cnVlO1xuICAgICAgY29sb3I6IGNvbG9yKCR0aGlzLXZhbHVlKSAjeyRpbXBvcnRhbnR9O1xuICAgIH0gQGVsc2Uge1xuICAgICAgQGVhY2ggJHByb3BlcnR5LCAkbWFwIGluICR0ZXh0LXV0aWxpbGllcyB7XG4gICAgICAgIEBpZiBub3QgJG1hdGNoIGFuZCBtYXAuaGFzLWtleSgkbWFwLCAkdGhpcy12YWx1ZSkge1xuICAgICAgICAgICN7JHByb3BlcnR5fTogZ2V0LXVzd2RzLXZhbHVlKCRwcm9wZXJ0eSwgJHRoaXMtdmFsdWUuLi4pXG4gICAgICAgICAgICAjeyRpbXBvcnRhbnR9O1xuICAgICAgICAgICRtYXRjaDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAaWYgbm90ICRtYXRjaCB7XG4gICAgICBAZXJyb3IgJ2AjeyR0aGlzLXZhbHVlfWAgaXMgbm90IGEgdmFsaWQgYHRleHRgIHZhbHVlLic7XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwiLi4vLi4vZnVuY3Rpb25zXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9zZXR0aW5nc1wiIGFzICo7XG5cbi8vIEZvY3VzIHN0YXRlIG1peGluXG5AbWl4aW4gZm9jdXMtb3V0bGluZShcbiAgJHdpZHRoOiAkdGhlbWUtZm9jdXMtd2lkdGgsXG4gICRzdHlsZTogJHRoZW1lLWZvY3VzLXN0eWxlLFxuICAkY29sb3I6ICR0aGVtZS1mb2N1cy1jb2xvcixcbiAgJG9mZnNldDogJHRoZW1lLWZvY3VzLW9mZnNldFxuKSB7XG4gICR3aWR0aDogaWYoJHdpZHRoID09IG51bGwsICR0aGVtZS1mb2N1cy13aWR0aCwgJHdpZHRoKTtcbiAgJHN0eWxlOiBpZigkc3R5bGUgPT0gbnVsbCwgJHRoZW1lLWZvY3VzLXN0eWxlLCAkc3R5bGUpO1xuICAkY29sb3I6IGlmKCRjb2xvciA9PSBudWxsLCAkdGhlbWUtZm9jdXMtY29sb3IsICRjb2xvcik7XG4gICRvZmZzZXQ6IGlmKCRvZmZzZXQgPT0gbnVsbCwgJHRoZW1lLWZvY3VzLW9mZnNldCwgJG9mZnNldCk7XG4gIG91dGxpbmU6IHVuaXRzKCR3aWR0aCkgJHN0eWxlIGNvbG9yKCRjb2xvcik7XG4gIG91dGxpbmUtb2Zmc2V0OiB1bml0cygkb2Zmc2V0KTtcbn1cbiIsIi8vIFNjcmVlbiByZWFkZXIgb25seSBoZWxwZXJcbkBtaXhpbiBzci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5ZW07XG4gIHJpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gYWRkLXNyLW9ubHkge1xuICBAaW5jbHVkZSBzci1vbmx5O1xufVxuXG4vLyBUaGlzIFwibmVnYXRlc1wiIHRoZSBzci1vbmx5IGhlbHBlcjsgdXNlZnVsIGlmXG4vLyB3ZSB3YW50IHRoZSBkZWZhdWx0IHN0YXRlIG9mIHNvbWV0aGluZyB0byBiZVxuLy8gZm9yIHNjcmVlbiByZWFkZXJzIG9ubHksIGJ1dCB3ZSB3YW50IHRvIGZvcmNlXG4vLyBpdCB0byBzaG93IGZvciBzaWdodGVkIHVzZXJzIHVuZGVyIG1vcmUgc3BlY2lmaWNcbi8vIGNvbmRpdGlvbnMuXG5AbWl4aW4gbm90LXNyLW9ubHkge1xuICBwb3NpdGlvbjogc3RhdGljO1xufVxuXG5AbWl4aW4gYWRkLW5vLXNyLW9ubHkge1xuICBwb3NpdGlvbjogc3RhdGljO1xufVxuIiwiJGJhc2Utc3BhY2VyOiA4cHg7XG4kc3BhY2UtYTogY2FsYygkYmFzZS1zcGFjZXIgKiAyKTtcbiRzcGFjZS1iOiBjYWxjKCRiYXNlLXNwYWNlciAqIDMpO1xuJHNwYWNlLWM6IGNhbGMoJGJhc2Utc3BhY2VyICogNCk7XG4kc3BhY2UtZDogY2FsYygkYmFzZS1zcGFjZXIgKiA1KTtcbiRzcGFjZS1lOiBjYWxjKCRiYXNlLXNwYWNlciAqIDYpO1xuJHNwYWNlLWY6IGNhbGMoJGJhc2Utc3BhY2VyICogNyk7XG5cbi5tdi0wIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5tci04IHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRiYXNlLXNwYWNlcjtcbn1cblxuLm1sLTgge1xuICAgIG1hcmdpbi1sZWZ0OiAkYmFzZS1zcGFjZXI7XG59XG5cbi5tci0xNiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2UtYTtcbn1cblxuLm1sLTE2IHtcbiAgICBtYXJnaW4tbGVmdDogJHNwYWNlLWE7XG59IiwiLndyYXBwZXIge1xuICAgIEBpbmNsdWRlIHdyYXBwZXI7XG59XG5cbi5ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtYXV0by1jb2x1bW5zOiBtaW5tYXgoMWZyLCBhdXRvKTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgW2NvbC1zdGFydF0gMWZyKTtcbiAgICBnYXA6ICRzcGFjZS1iO1xuICAgIGdyaWQtYXV0by1yb3dzOiBhdXRvO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgLmNvbC0xLFxuICAgIC5jb2wtMixcbiAgICAuY29sLTMsXG4gICAgLmNvbC00LFxuICAgIC5jb2wtNSxcbiAgICAuY29sLTYsXG4gICAgLmNvbC03LFxuICAgIC5jb2wtOCxcbiAgICAuY29sLTksXG4gICAgLmNvbC0xMCxcbiAgICAuY29sLTExLFxuICAgIC5jb2wtMTIge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNvbC0yIHtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDI7XG4gICAgfVxuXG4gICAgLmNvbC0zIHtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDM7XG4gICAgfVxuXG4gICAgLmNvbC00IHtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDQ7XG4gICAgfVxuXG4gICAgLmNvbC01IHtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDU7XG5cbiAgICB9XG5cbiAgICAuY29sLTYge1xuICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gNjtcblxuICAgIH1cblxuICAgIC5jb2wtNyB7XG4gICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiA3O1xuXG4gICAgfVxuXG4gICAgLmNvbC04IHtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDg7XG5cbiAgICB9XG5cbiAgICAuY29sLTkge1xuICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gOTtcblxuICAgIH1cblxuICAgIC5jb2wtMTAge1xuICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMTA7XG5cbiAgICB9XG5cbiAgICAuY29sLTExIHtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDExO1xuXG4gICAgfVxuXG4gICAgLmNvbC0xMiB7XG4gICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAxMjtcblxuICAgIH1cblxuICAgIC5jb2wtc3RhcnQtMSB7XG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAxO1xuICAgIH1cblxuICAgIC5jb2wtc3RhcnQtMiB7XG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAyO1xuICAgIH1cblxuICAgIC5jb2wtc3RhcnQtMyB7XG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAzO1xuICAgIH1cblxuICAgIC5jb2wtc3RhcnQtNCB7XG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiA0O1xuICAgIH1cblxuICAgIC5jb2wtc3RhcnQtNSB7XG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiA1O1xuICAgIH1cblxuICAgIC5jb2wtc3RhcnQtNiB7XG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiA2O1xuICAgIH1cblxuICAgIC5jb2wtc3RhcnQtNyB7XG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiA3O1xuICAgIH1cblxuICAgIC5jb2wtc3RhcnQtOCB7XG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiA4O1xuICAgIH1cblxuICAgIC5jb2wtc3RhcnQtOSB7XG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiA5O1xuICAgIH1cblxuICAgIC5jb2wtc3RhcnQtMTAge1xuICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogMTA7XG4gICAgfVxuXG4gICAgLmNvbC1zdGFydC0xMSB7XG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAxMTtcbiAgICB9XG5cbiAgICAuY29sLXN0YXJ0LTEyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDEyO1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuXG4gICAgICAgIC5jb2wtMSxcbiAgICAgICAgLmNvbC0yLFxuICAgICAgICAuY29sLTMsXG4gICAgICAgIC5jb2wtNCxcbiAgICAgICAgLmNvbC01LFxuICAgICAgICAuY29sLTYsXG4gICAgICAgIC5jb2wtNyxcbiAgICAgICAgLmNvbC04LFxuICAgICAgICAuY29sLTksXG4gICAgICAgIC5jb2wtMTAsXG4gICAgICAgIC5jb2wtMTEsXG4gICAgICAgIC5jb2wtMTIsXG4gICAgICAgIC5jb2wge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59IiwiJGZpbHRlci1uaWgtcHJpbWFyeS1ibHVlOiBicmlnaHRuZXNzKDApIHNhdHVyYXRlKDEwMCUpIGludmVydCgyNSUpIHNlcGlhKDgxJSkgc2F0dXJhdGUoNTkzJSkgaHVlLXJvdGF0ZSgxNjlkZWcpIGJyaWdodG5lc3MoMTAwJSkgY29udHJhc3QoODklKTtcbiRmaWx0ZXItbmloLXdoaXRlOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbiRmaWx0ZXItbmloLWRhcmstZ3JheTogYnJpZ2h0bmVzcygwKSBzYXR1cmF0ZSgxMDAlKSBpbnZlcnQoNiUpIHNlcGlhKDM4JSkgc2F0dXJhdGUoNTcyJSkgaHVlLXJvdGF0ZSgxNjhkZWcpIGJyaWdodG5lc3MoMTA0JSkgY29udHJhc3QoMTA1JSk7XG4kZmlsdGVyLW5paC10ZWFsOiBpbnZlcnQoNTUlKSBzZXBpYSgxMCUpIHNhdHVyYXRlKDIwNTIlKSBodWUtcm90YXRlKDE0MmRlZykgYnJpZ2h0bmVzcygxMDIlKSBjb250cmFzdCg5MSUpO1xuXG4vL1JldXNhYmxlIGJ1dHRvbnNcbkBtaXhpbiBidXR0b24oJHR5cGU6IHByaW1hcnksICRpY29uOiBudWxsLCAkaWNvbi1wb3NpdGlvbjogYmVmb3JlKSB7XG4gIC8vIERlZmluZSBjb21tb24gc3R5bGVzIGZvciBidXR0b24gdGV4dCBhbmQgaWNvblxuICAvLyBBcHBseSBjb21tb24gYnV0dG9uIHN0eWxlc1xuICAkcGFkZGluZzogMTBweCAyMHB4OyAvLyBBc3N1bWluZyBkZWZhdWx0IHBhZGRpbmdcbiAgJGJvcmRlci1yYWRpdXM6IDVweDsgLy8gQXNzdW1pbmcgZGVmYXVsdCBib3JkZXIgcmFkaXVzXG4gICR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyAvLyBBc3N1bWluZyBkZWZhdWx0IHRleHQgdHJhbnNmb3JtYXRpb25cbiAgJHRleHQtYWxpZ246IGNlbnRlcjsgLy8gQXNzdW1pbmcgZGVmYXVsdCB0ZXh0IGFsaWdubWVudFxuXG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyOyAvLyBFbnN1cmUgdGhlIGN1cnNvciBjaGFuZ2VzIHRvIGEgcG9pbnRlciBvbiBob3ZlclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246ICR0ZXh0LWFsaWduO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiAkdGV4dC10cmFuc2Zvcm07XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGUgc3R5bGVzXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvLyBFbnN1cmUgdGhlIGJ1dHRvbiBpcyBub3QgY2xpY2thYmxlIHdoZW4gZGlzYWJsZWRcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cblxuICAvLyBBcHBseSB0eXBlLXNwZWNpZmljIHN0eWxlc1xuICBAaWYgJHR5cGUgPT1wcmltYXJ5IHtcbiAgICAkcHJpbWFyeS1kZWZhdWx0LWJvcmRlci1jb2xvcjogJG5paC1wcmltYXJ5LWJsdWU7XG4gICAgJHByaW1hcnktaG92ZXItYm9yZGVyLWNvbG9yOiAkbmloLXByaW1hcnktZGFyay1ibHVlO1xuICAgICRwcmltYXJ5LWZvY3VzLWJvcmRlci1jb2xvcjogJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcbiAgICAkcHJpbWFyeS1iYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXByaW1hcnktYmx1ZTtcbiAgICAkcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXByaW1hcnktZGFyay1ibHVlO1xuXG4gICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1kZWZhdWx0LWJvcmRlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWhvdmVyLWJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGZpbHRlcjogJGZpbHRlci1uaWgtd2hpdGVcbiAgICB9XG5cbiAgICAmOmhvdmVyOjpiZWZvcmUsXG4gICAgJjpob3Zlcjo6YWZ0ZXIsXG4gICAgJjpmb2N1czo6YmVmb3JlLFxuICAgICY6Zm9jdXM6OmFmdGVyIHtcbiAgICAgIGZpbHRlcjogJGZpbHRlci1uaWgtd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHR5cGUgPT1zZWNvbmRhcnkge1xuICAgICRzZWNvbmRhcnktZGVmYXVsdC1ib3JkZXItY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgJHNlY29uZGFyeS1ob3Zlci1ib3JkZXItY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG5cbiAgICBib3JkZXItY29sb3I6ICRzZWNvbmRhcnktZGVmYXVsdC1ib3JkZXItY29sb3I7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktZGVmYXVsdC1ib3JkZXItY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeS1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHNlY29uZGFyeS1kZWZhdWx0LWJvcmRlci1jb2xvciwgMTAlKTtcbiAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRzZWNvbmRhcnktZGVmYXVsdC1ib3JkZXItY29sb3I7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSg1LCAxMywgMjEsIDAuNSk7IC8vIEV4YW1wbGUgZm9jdXMgc3R5bGUgKGFkanVzdCBhcyBuZWVkZWQpXG4gICAgfVxuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGZpbHRlcjogJGZpbHRlci1uaWgtZGFyay1ncmF5XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YmVmb3JlLFxuICAgICY6aG92ZXI6OmFmdGVyLFxuICAgICY6Zm9jdXM6OmJlZm9yZSxcbiAgICAmOmZvY3VzOjphZnRlciB7XG4gICAgICBmaWx0ZXI6ICRmaWx0ZXItbmloLXdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09dGVydGlhcnkge1xuICAgICR0ZXJ0aWFyeS1kZWZhdWx0LWJvcmRlci1jb2xvcjogJG5paC1wcmltYXJ5LXNreS1ibHVlO1xuICAgICR0ZXJ0aWFyeS1ob3Zlci1ib3JkZXItY29sb3I6ICRuaWgtc2Vjb25kYXJ5LXRlYWwtYmx1ZTtcblxuICAgIGJvcmRlci1jb2xvcjogJHRlcnRpYXJ5LWRlZmF1bHQtYm9yZGVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0ZXJ0aWFyeS1kZWZhdWx0LWJvcmRlci1jb2xvcjtcbiAgICBjb2xvcjogJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGVydGlhcnktaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcnRpYXJ5LWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDUsIDEzLCAyMSwgMC41KTsgLy8gRXhhbXBsZSBmb2N1cyBzdHlsZSAoYWRqdXN0IGFzIG5lZWRlZClcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PXdoaXRlIHtcbiAgICAkd2hpdGUtZGVmYXVsdC1ib3JkZXItY29sb3I6ICRuaWgtcHJpbWFyeS13aGl0ZTtcbiAgICAkd2hpdGUtaG92ZXItYm9yZGVyLWNvbG9yOiAkbmloLXByaW1hcnktc2t5LWJsdWU7XG5cbiAgICBib3JkZXItY29sb3I6ICR3aGl0ZS1kZWZhdWx0LWJvcmRlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJHdoaXRlLWRlZmF1bHQtYm9yZGVyLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICR3aGl0ZS1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRuaWgtc2Vjb25kYXJ5LWJsdWUtZ3JheTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDUsIDEzLCAyMSwgMC41KTsgLy8gRXhhbXBsZSBmb2N1cyBzdHlsZSAoYWRqdXN0IGFzIG5lZWRlZClcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZmlsdGVyOiAkZmlsdGVyLW5paC13aGl0ZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjpiZWZvcmUsXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgZmlsdGVyOiAkZmlsdGVyLW5paC1kYXJrLWdyYXk7XG4gICAgfVxuICB9XG5cbiAgLy8gQWRkIGljb24gc3R5bGVzIGlmIHByb3ZpZGVkXG4gIEBpZiAkaWNvbiB7XG4gICAgJGljb24tZGlyZWN0aW9uOiBpZigkaWNvbi1wb3NpdGlvbiA9PWJlZm9yZSwgJzo6YmVmb3JlJywgJzo6YWZ0ZXInKTtcbiAgICAkaWNvbi1tYXJnaW46IGlmKCRpY29uLXBvc2l0aW9uID09YmVmb3JlLCAnMCAxMHB4IDAgMCcsICcwIDAgMCAxMHB4Jyk7XG5cbiAgICAmI3skaWNvbi1kaXJlY3Rpb259IHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyN7JGljb259Jyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgIH1cblxuICB9XG5cbiAgLy8gSG92ZXIsIGFjdGl2ZSwgYW5kIGZvY3VzIHN0eWxlcyBmb3IgaWNvblxuICAmOmhvdmVyOjpiZWZvcmUsXG4gICY6aG92ZXI6OmFmdGVyLFxuICAmOmFjdGl2ZTo6YmVmb3JlLFxuICAmOmFjdGl2ZTo6YWZ0ZXIsXG4gICY6Zm9jdXM6OmJlZm9yZSxcbiAgJjpmb2N1czo6YWZ0ZXIge1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gbGluay1pY29uKCRjb2xvci1zY2hlbWU6IGRhcmssICRpY29uOiBudWxsKSB7XG4gIC8vIENvbW1vbiBzdHlsZXMgZm9yIGxpbmtcbiAgYm9yZGVyLXJhZGl1czogaW5pdGlhbDtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiA2cHggNHB4O1xuICBmb250LWZhbWlseTogJG9wZW4tc2Fucy1wcmltYXJ5O1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IC8vIFJlbW92ZSBkZWZhdWx0IHVuZGVybGluZVxuICBjdXJzb3I6IHBvaW50ZXI7IC8vIEVuc3VyZSB0aGUgY3Vyc29yIGNoYW5nZXMgdG8gYSBwb2ludGVyIG9uIGhvdmVyXG5cbiAgLy8gTGlnaHQgbW9kZSBzdHlsZXNcbiAgQGlmICRjb2xvci1zY2hlbWUgPT0nbGlnaHQnIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7IC8vIExpZ2h0IG1vZGUgYm9yZGVyIGNvbG9yXG4gICAgY29sb3I6ICRuaWgtcHJpbWFyeS13aGl0ZTsgLy8gTGlnaHQgbW9kZSB0ZXh0IGNvbG9yXG5cbiAgICAmOjphZnRlciB7XG4gICAgICBmaWx0ZXI6ICRmaWx0ZXItbmloLXdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkY29sb3Itc2NoZW1lID09J2RhcmsnIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbmloLXByaW1hcnktZGFyay1ncmF5OyAvLyBEZWZhdWx0IGRhcmsgbW9kZSBib3JkZXIgY29sb3JcbiAgICBjb2xvcjogJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGZpbHRlcjogJGZpbHRlci1uaWgtZGFyay1ncmF5O1xuICAgIH1cbiAgfVxuXG4gIC8vIEFkZCBpY29uIHN0eWxlcyBpZiBwcm92aWRlZFxuICBAaWYgJGljb24ge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICAgIC8vIERlZmluZSBjb21tb24gc3R5bGVzIGZvciBsaW5rIHRleHQgYW5kIGljb25cbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skaWNvbn0nKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgICB3aWR0aDogMThweDtcbiAgICB9XG4gIH1cblxuICAvLyBBZGp1c3QgbWFyZ2luIGZvciBpY29uXG4gICY6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogOHB4OyAvLyBBZGp1c3QgYXMgbmVlZGVkXG4gIH1cblxuICAvLyBIb3ZlciBzdHlsZXMgZm9yIGxpbmtcbiAgJjpob3ZlciB7XG4gICAgQGlmICRjb2xvci1zY2hlbWUgPT0nbGlnaHQnIHtcbiAgICAgIGNvbG9yOiAkbmloLXNlY29uZGFyeS10ZWFsLWJsdWU7IC8vIExpZ2h0IGhvdmVyIHN0YXRlXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRuaWgtc2Vjb25kYXJ5LXRlYWwtYmx1ZTsgLy8gTGlnaHQgaG92ZXIgc3RhdGVcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBmaWx0ZXI6ICRmaWx0ZXItbmloLXRlYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS1ibHVlOyAvLyBEYXJrIGhvdmVyIHN0YXRlXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRuaWgtcHJpbWFyeS1ibHVlOyAvLyBEYXJrIG1vZGUgaG92ZXIgYm9yZGVyIGNvbG9yXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZmlsdGVyOiAkZmlsdGVyLW5paC1wcmltYXJ5LWJsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRm9jdXMgc3R5bGVzIGZvciBhY2Nlc3NpYmlsaXR5XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IC8vIFJlbW92ZSBkZWZhdWx0IGZvY3VzIG91dGxpbmVcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgwLCAwLCAwLCAwLjUpOyAvLyBFeGFtcGxlIGZvY3VzIHN0eWxlIChhZGp1c3QgYXMgbmVlZGVkKVxuICB9XG59XG5cbkBtaXhpbiBjdGEtcHJpbWFyeS1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXByaW1hcnktc2t5LWJsdWU7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bS1sYXJnZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgYSB7XG4gICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXNlY29uZGFyeS10ZWFsLWJsdWU7XG4gICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXByaW1hcnktc2t5LWJsdWU7XG4gICAgYm9yZGVyOiAkbmloLXByaW1hcnktZGFyay1ncmF5IDJweCBzb2xpZDtcbiAgfVxuXG5cbn1cblxuQG1peGluIGN0YS1zZWNvbmRhcnktYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG5paC1wcmltYXJ5LXNreS1ibHVlO1xuICBib3JkZXI6IDJweCAkbmloLXByaW1hcnktZGFyay1ncmF5IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tZWRpdW0tbGFyZ2U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5AbWl4aW4gc2Vjb25kYXJ5LWJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyOiAycHggc29saWQgJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcbiAgcGFkZGluZzogJGJhc2Utc3BhY2VyICRzcGFjZS1hO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5AbWl4aW4gbG9naW4taWNvbi1idXR0b24tYmxhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRuaWgtcHJpbWFyeS13aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6ICRuaWgtcHJpbWFyeS13aGl0ZTtcbiAgcGFkZGluZzogJHNwYWNlLWEgMDtcblxuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL29wZW4uc3ZnXCIpO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkbmloLXNlY29uZGFyeS10ZWFsLWJsdWU7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRuaWgtc2Vjb25kYXJ5LXRlYWwtYmx1ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9vcGVuLWJsYWNrLnN2Z1wiKTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyOiAkbmloLXByaW1hcnktd2hpdGUgc29saWQ7XG4gIH1cbn1cblxuQG1peGluIGxpbmstYnV0dG9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbmloLXByaW1hcnktd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG4gIHBhZGRpbmc6ICRzcGFjZS1hIDA7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9vcGVuLnN2Z1wiKTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBtYXJnaW4tbGVmdDogJGJhc2Utc3BhY2VyO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2lkdGg6IDE4cHg7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJG5paC1zZWNvbmRhcnktdGVhbC1ibHVlO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbmloLXNlY29uZGFyeS10ZWFsLWJsdWU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvdGVhbC1vcGVuLnN2Z1wiKTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkYmFzZS1zcGFjZXI7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgd2lkdGg6IDE4cHg7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyOiAkbmloLXByaW1hcnktd2hpdGUgc29saWQ7XG4gIH1cblxufVxuXG5AbWl4aW4gd3JhcHBlciB7XG4gIG1hcmdpbjogYXV0bztcbiAgbWF4LXdpZHRoOiAxMTQwcHg7XG4gIHJpZ2h0OiAwO1xufVxuXG5AbWl4aW4gY2FyZC13cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogJG5paC1wcmltYXJ5LXdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICBib3gtc2hhZG93OiAwcHggMjBweCA0MHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICBtYXJnaW46IDIwcHggMDtcbiAgcGFkZGluZzogMjBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAmOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAxMHB4IDIwcHggNDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjQwKTtcbiAgfVxufVxuXG5AbWl4aW4gY2FyZC1oZWFkaW5nIHtcbiAgZm9udC1mYW1pbHk6ICRmamFsbGEtb24tcHJpbWFyeTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bS14bGFyZ2U7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbkBtaXhpbiBzbWFsbC1idXR0b24tdGV4dCB7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn0iLCIvL21ha2UgaW1hZ2VzIHJlc3BvbnNpdmUgYnkgZGVmYXVsdFxuaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufSIsIi8vTmF2aWdhdGlvblxuLm5hdiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogJG5paC1wcmltYXJ5LWdyYXk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAvL29ubHkgdGFyZ2V0IHRoZSB0b3AgbGV2ZWwgaXRlbXMgZm9yIGFjdGl2ZSBzdGF0ZXNcbiAgICAmPi5tZW51LWl0ZW0tLWFjdGl2ZS10cmFpbD5hIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwcHggMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJG5paC1wcmltYXJ5LWJsdWU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRuaWgtcHJpbWFyeS1saWdodC1ibHVlO1xuICAgICAgICBjb2xvcjogJG5paC1wcmltYXJ5LWJsdWU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDBweCAwcHhcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICBvdXRsaW5lOiAtd2Via2l0LWZvY3VzLXJpbmctY29sb3IgYXV0byAxcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9nLW91dC1pY29uIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2xvZ291dC5zdmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2UtYTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4ubmF2LWl0ZW0+YTpub3QoLmJ1dHRvbi1wcmltYXJ5LCAuYnV0dG9uLXNlY29uZGFyeSk6aG92ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1MaWdodC1ibHVlLCAjRjRGQkZGKTtcbn1cblxuLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQge1xuICAgIC5tZW51IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5paC1wcmltYXJ5LXdoaXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMjBweCA0MHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB6LWluZGV4OiA5OTk5OTtcblxuICAgICAgICBsaVtpY29uPVwiX3NlcnZpY2VzX2ljb25cIl0sXG4gICAgICAgIGxpW2ljb249XCJfcm9hZG1hcF9pY29uXCJdLFxuICAgICAgICBsaVtpY29uPVwiX29yZ2FuaXphdGlvbl9pY29uXCJdLFxuICAgICAgICBsaVtpY29uPVwiX2xlYWRlcnNoaXBfaWNvblwiXSxcbiAgICAgICAgbGlbaWNvbj1cIl9kaXZlcnNpdHlfaWNvblwiXSxcbiAgICAgICAgbGlbaWNvbj1cIl9oZWFsdGhfaWNvblwiXSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMThweCAyMHB4O1xuXG4gICAgICAgICAgICBhOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpW2ljb249XCJfc2VydmljZXNfaWNvblwiXSB7XG4gICAgICAgICAgICBhOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zZXJ2aWNlc19pY29uLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpW2ljb249XCJfcm9hZG1hcF9pY29uXCJdIHtcbiAgICAgICAgICAgIGE6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3JvYWRtYXBfaWNvbi5zdmdcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsaVtpY29uPVwiX29yZ2FuaXphdGlvbl9pY29uXCJdIHtcbiAgICAgICAgICAgIGE6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL29yZ2FuaXphdGlvbl9pY29uLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpW2ljb249XCJfbGVhZGVyc2hpcF9pY29uXCJdIHtcbiAgICAgICAgICAgIGE6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2xlYWRlcnNoaXBfaWNvbi5zdmdcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsaVtpY29uPVwiX2RpdmVyc2l0eV9pY29uXCJdIHtcbiAgICAgICAgICAgIGE6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2RpdmVyc2l0eV9pY29uLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpW2ljb249XCJfaGVhbHRoX2ljb25cIl0ge1xuICAgICAgICAgICAgYTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaGVhbHRoX2ljb24uc3ZnXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGk6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tTGlnaHQtYmx1ZSwgI0Y0RkJGRik7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktZGFyay1ncmF5O1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRvcGVuLXNhbnMtcHJpbWFyeTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAubWVudSB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmloLXByaW1hcnktZ3JheTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtbWVkaXVtO1xuICAgIGZvbnQtZmFtaWx5OiAkb3Blbi1zYW5zLXByaW1hcnk7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xufVxuXG4ubmF2YmFyLWV4cGFuZC1sZyB7XG4gICAgQGluY2x1ZGUgd3JhcHBlcigpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5uYXZiYXItYnJhbmQge1xuICAgIHdpZHRoOiAxMjZweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgIC5uYXYge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgcGFkZGluZzogJHNwYWNlLWEgMDtcblxuICAgICAgICAmPi5tZW51LWl0ZW0tLWFjdGl2ZS10cmFpbD5hIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogJG5paC1wcmltYXJ5LWJsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2LWxpbmsge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5uYXYtaXRlbT5hOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLm5hdmJhci1leHBhbmQtbGcge1xuICAgICAgICBwYWRkaW5nOiAwICRzcGFjZS1hO1xuICAgIH1cblxuICAgIC5uYXYtaXRlbS5tZW51LWl0ZW0tLWV4cGFuZGVkIC5tZW51IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogJGJhc2Utc3BhY2VyO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktYmx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpW2ljb249XCJfc2VydmljZXNfaWNvblwiXSxcbiAgICAgICAgbGlbaWNvbj1cIl9yb2FkbWFwX2ljb25cIl0sXG4gICAgICAgIGxpW2ljb249XCJfb3JnYW5pemF0aW9uX2ljb25cIl0sXG4gICAgICAgIGxpW2ljb249XCJfbGVhZGVyc2hpcF9pY29uXCJdLFxuICAgICAgICBsaVtpY29uPVwiX2RpdmVyc2l0eV9pY29uXCJdLFxuICAgICAgICBsaVtpY29uPVwiX2hlYWx0aF9pY29uXCJdIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjZS1hIDA7XG5cbiAgICAgICAgICAgIGE6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG51bD5saS5uYXYtaXRlbS5oZWFkZXItbmF2LWFjdGlvbi1pdGVtIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2UtYjtcbiAgICB9XG59XG5cbiNibG9jay1jdXN0b21lci1wb3J0YWwtdGhlbWUtbWFpbm1lbnUtMj51bD5saS5uYXYtaXRlbS5oZWFkZXItbmF2LWFjdGlvbi1pdGVtIHtcbiAgICBkaXNwbGF5OiBub25lO1xufSIsIi5uYXZiYXItdG9nZ2xlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5paC1wcmltYXJ5LWJsdWU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGhlaWdodDogMzhweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAzOHB4O1xufVxuXG4ubmF2YmFyLXRvZ2dsZXIuY29sbGFwc2VkIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbW9iaWxlX2ljb25zLnN2Z1wiKTtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi5uYXZiYXItdG9nZ2xlciA+IC5uYXZiYXItdG9nZ2xlci1pY29uICAge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jbG9zZV9tb2JpbGVfaWNvbi5zdmdcIik7XG59XG5cbi5uYXZiYXItdG9nZ2xlciA+IC5uYXZiYXItdG9nZ2xlci1pY29uLCAubmF2YmFyLWNvbGxhcHNlLnNob3cge1xuICAgIC5uYXYge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Ryb3BfZG93bl9hcnJvdy5zdmdcIik7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0zMHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5tZW51IHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAubmF2YmFyLXRvZ2dsZXIgPiAubmF2YmFyLXRvZ2dsZXItaWNvbiwgLm5hdmJhci1jb2xsYXBzZS5zaG93IHtcbiAgICAgICAgLm5hdiB7XG4gICAgICAgICAgICAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCB7XG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGJhc2Utc3BhY2VyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiLy9Gb290ZXIgcmVnaW9uIGZpcnN0XG4uc2l0ZS1mb290ZXIge1xuICAgIGJhY2tncm91bmQ6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXkgIWltcG9ydGFudDtcblxuICAgIC5yZWdpb24tZm9vdGVyLWZpcnN0LFxuICAgIC5yZWdpb24tZm9vdGVyLXNlY29uZCxcbiAgICAucmVnaW9uLWZvb3Rlci10aGlyZCB7XG4gICAgICAgIEBpbmNsdWRlIHdyYXBwZXIoKTtcblxuICAgICAgICAuZm9vdGVyLXdyYXBwZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDI2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmVnaW9uLWZvb3Rlci1maXJzdCB7XG4gICAgICAgIHBhZGRpbmc6IDYwcHggMCAwIDA7XG5cbiAgICAgICAgbmF2IHtcbiAgICAgICAgICAgIC5uYXYge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxcmVtO1xuXG4gICAgICAgICAgICAgICAgLm5hdi1saW5rLmJ1dHRvbi1wcmltYXJ5LmJ1dHRvbi1wcmltYXJ5LS1sb2dpbiwgLmxvZy1vdXQtaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubmF2LWxpbmsge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbmloLXNlY29uZGFyeS10ZWFsLWJsdWU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6Zm9jdXMtdmlzaWJsZSwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMjVyZW0gJG5paC1wcmltYXJ5LXdoaXRlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubmF2LWl0ZW0ubWVudS1pdGVtLS1leHBhbmRlZCAubWVudSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAyMHB4IDQwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG5paC1wcmltYXJ5LXdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBsaVtpY29uPVwiX3NlcnZpY2VzX2ljb25cIl0sXG4gICAgICAgICAgICAgICAgbGlbaWNvbj1cIl9yb2FkbWFwX2ljb25cIl0sXG4gICAgICAgICAgICAgICAgbGlbaWNvbj1cIl9vcmdhbml6YXRpb25faWNvblwiXSxcbiAgICAgICAgICAgICAgICBsaVtpY29uPVwiX2xlYWRlcnNoaXBfaWNvblwiXSxcbiAgICAgICAgICAgICAgICBsaVtpY29uPVwiX2RpdmVyc2l0eV9pY29uXCJdLFxuICAgICAgICAgICAgICAgIGxpW2ljb249XCJfaGVhbHRoX2ljb25cIl0ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbmloLXNlY29uZGFyeS10ZWFsLWJsdWU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBhOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAubmF2Pi5tZW51LWl0ZW0tLWFjdGl2ZS10cmFpbD5hIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS1tZWRpdW0tZ3JheTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZWdpb24tZm9vdGVyLXNlY29uZCB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbmloLXByaW1hcnktZ3JheTtcbiAgICAgICAgcGFkZGluZzogNDBweCAwO1xuXG4gICAgICAgIC5uYXYge1xuICAgICAgICAgICAgY29sdW1uLWdhcDogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIGxpIGEge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJsb2NrLWNvbnRlbnQtZm9vdGVyX2xpbmtzIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZS1kO1xuXG4gICAgICAgICAgICAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcblxuICAgICAgICAgICAgICAgIC5maWVsZF9faXRlbSB7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlLFxuICAgICAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDIpLFxuICAgICAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1mb290ZXItdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9sYXB0b3Auc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRiYXNlLXNwYWNlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1mb290ZXItdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9waG9uZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbG9jYXRpb24uc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBhcmFncmFwaC0tdHlwZS0tZm9vdGVyLWxpbmtzIHtcblxuICAgICAgICAgICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1mb290ZXItZGVzY3JpcHRpb24gcCxcbiAgICAgICAgICAgICAgICAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS13aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZmllbGQtLW5hbWUtZmllbGQtZm9vdGVyLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlLWE7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmZpZWxkLS1uYW1lLWZpZWxkLWZvb3Rlci1saW5rIGE6bm90KC5vdXRsaW5lLWljb24tYnRuLXdoaXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpbmstaWNvbihsaWdodCwgXCIuLi9pbWFnZXMvb3Blbi1ncmF5LnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc21hbGwtYnV0dG9uLXRleHQ7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAkbmloLXByaW1hcnktd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1mb290ZXItZGVzY3JpcHRpb24gcCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5ibG9jay1jb250ZW50LWJhc2ljIHtcbiAgICAgICAgICAgIC5maWVsZC0tbmFtZS1ib2R5IHAge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRzcGFjZS1kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlZ2lvbi1mb290ZXItdGhpcmQge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJG5paC1wcmltYXJ5LWdyYXk7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMCA2MHB4IDA7XG5cbiAgICAgICAgLm5hdiB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRuaWgtc2Vjb25kYXJ5LXRlYWwtYmx1ZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSAkbmloLXByaW1hcnktd2hpdGU7XG5cbiAgICAgICAgfVxuICAgIH1cbiAgICAgICAgXG4gICAgfVxuXG4gICAgLm5hdi1pdGVtLm1lbnUtaXRlbS0tZXhwYW5kZWQgLm1lbnUgbGk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG59XG5cbiNibG9jay1jdXN0b21lci1wb3J0YWwtdGhlbWUtbWFpbm1lbnUtMj51bD4ge1xuXG4gICAgbGlbaWNvbj1cIl9zZXJ2aWNlc19pY29uXCJdLFxuICAgIGxpW2ljb249XCJfc3VwcG9ydF9pY29uXCJdLFxuICAgIGxpW2ljb249XCJfYWJvdXRfaWNvblwiXSxcbiAgICBsaVtpY29uPVwiX2Nvbm5lY3RfaWNvblwiXSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgICAgIHdpZHRoOiA1NHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGlbaWNvbj1cIl9zZXJ2aWNlc19pY29uXCJdIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zZXJ2aWNlc19pY29uLnN2Z1wiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxpW2ljb249XCJfc3VwcG9ydF9pY29uXCJdIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdXBwb3J0LnN2Z1wiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxpW2ljb249XCJfYWJvdXRfaWNvblwiXSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcGVvcGxlLnN2Z1wiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxpW2ljb249XCJfY29ubmVjdF9pY29uXCJdIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jb25uZWN0LnN2Z1wiKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gICAgLnNpdGUtZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZzogJHNwYWNlLWE7XG5cbiAgICAgICAgLnJlZ2lvbi1mb290ZXItZmlyc3Qge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgLm5hdiB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWdpb24tZm9vdGVyLXNlY29uZCAuYmxvY2stY29udGVudC1mb290ZXJfbGlua3MgLmZpZWxkLS1uYW1lLWZpZWxkLWZvb3Rlci1jb250ZW50IHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICAgICAgcm93LWdhcDogJHNwYWNlLWQ7XG4gICAgICAgIH1cblxuICAgICAgICAucmVnaW9uLWZvb3Rlci10aGlyZCB7XG4gICAgICAgICAgICAubmF2IHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn0iLCIvLyBVcGRhdGVkIGJ1dHRvbnNcbi5wcmltYXJ5LWJ1dHRvbixcbi5idXR0b24tcHJpbWFyeSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKHByaW1hcnkpXG59XG5cbi5idXR0b24tcHJpbWFyeS0tYXJyb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbihwcmltYXJ5LCBcIi4uL2ltYWdlcy9hcnJvdy1mb3J3YXJkLnN2Z1wiLCBhZnRlcik7XG59XG5cbi5idXR0b24tcHJpbWFyeS0tZG93bmxvYWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbihwcmltYXJ5LCBcIi4uL2ltYWdlcy9kb3dubG9hZC5zdmdcIiwgYWZ0ZXIpO1xufVxuXG4uYnV0dG9uLXByaW1hcnktLWxvZ2luIHtcbiAgICBAaW5jbHVkZSBidXR0b24ocHJpbWFyeSwgXCIuLi9pbWFnZXMvbG9naW4uc3ZnXCIsIGFmdGVyKTtcbn1cblxuLmJ1dHRvbi1wcmltYXJ5LS1leHRlcm5hbCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKHByaW1hcnksIFwiLi4vaW1hZ2VzL29wZW4tZ3JheS5zdmdcIiwgYWZ0ZXIpO1xufVxuXG4uYnV0dG9uLXRlcnRpYXJ5LS1sb2dpbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKHRlcnRpYXJ5LCBcIi4uL2ltYWdlcy9sb2dpbi5zdmdcIiwgYWZ0ZXIpO1xuICAgIG1hcmdpbi10b3A6ICRzcGFjZS1iO1xufVxuXG4uYnV0dG9uLXRlcnRpYXJ5LS1leHRlcm5hbCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKHRlcnRpYXJ5LCBcIi4uL2ltYWdlcy9vcGVuLWdyYXkuc3ZnXCIsIGFmdGVyKTtcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2UtYjtcbn1cblxuLm91dGxpbmUtaWNvbi1idG4td2hpdGUge1xuICAgIEBpbmNsdWRlIGJ1dHRvbih3aGl0ZSwgXCIuLi9pbWFnZXMvb3Blbi1ncmF5LnN2Z1wiLCBhZnRlcik7XG59XG5cbi5idXR0b24tc2Vjb25kYXJ5LFxuLnNlY29uZGFyeS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbihzZWNvbmRhcnkpO1xufVxuXG4uYnV0dG9uLXNlY29uZGFyeS0tYXJyb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbihzZWNvbmRhcnksIFwiLi4vaW1hZ2VzL2Fycm93LWZvcndhcmQuc3ZnXCIsIGFmdGVyKTtcbn1cblxuLmJ1dHRvbi1zZWNvbmRhcnktLWRvd25sb2FkIHtcbiAgICBAaW5jbHVkZSBidXR0b24oc2Vjb25kYXJ5LCBcIi4uL2ltYWdlcy9kb3dubG9hZC5zdmdcIiwgYWZ0ZXIpO1xufVxuXG4uYnV0dG9uLXNlY29uZGFyeS0tZXh0ZXJuYWwsXG4ub3V0bGluZS1idXR0b24tYmxhY2sge1xuICAgIEBpbmNsdWRlIGJ1dHRvbihzZWNvbmRhcnksIFwiLi4vaW1hZ2VzL29wZW4tZ3JheS5zdmdcIiwgYWZ0ZXIpO1xufVxuXG4uYnV0dG9uLXNlY29uZGFyeS0tbG9naW4ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbihzZWNvbmRhcnksIFwiLi4vaW1hZ2VzL2xvZ2luLnN2Z1wiLCBhZnRlcik7XG59XG5cblxuLy9MaW5rIEJ1dHRvbnNcbi5saW5rLWljb24ge1xuICAgIEBpbmNsdWRlIGxpbmstaWNvbihkYXJrLCBcIi4uL2ltYWdlcy9vcGVuLWdyYXkuc3ZnXCIpO1xufVxuXG4ubGluay1pY29uLS1kb3dubG9hZCB7XG4gICAgQGluY2x1ZGUgbGluay1pY29uKGRhcmssIFwiLi4vaW1hZ2VzL2Rvd25sb2FkLnN2Z1wiKTtcbn1cblxuLmxpbmstaWNvbi0tbGlnaHQge1xuICAgIEBpbmNsdWRlIGxpbmstaWNvbihsaWdodCwgXCIuLi9pbWFnZXMvb3Blbi1ncmF5LnN2Z1wiKTtcbn1cblxuLmlubGluZS1idXR0b25zPi5maWVsZC0tbmFtZS1maWVsZC1jdGEtYnV0dG9ucy1zZWxlY3RvciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBjb2x1bW4tZ2FwOiAkc3BhY2UtYjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAkc3BhY2UtYyAwO1xuICAgIHJvdy1nYXA6ICRzcGFjZS1iO1xufVxuXG5cbi8vU3R5bGVzIHRvIGJlIGRlcHJlY2F0ZWRcblxuLmxvY2staWNvbi1idXR0b24sXG4ubG9jay1pY29uLWJ1dHRvbi13aGl0ZSxcbi5vdXRsaW5lLWJ1dHRvbi13aGl0ZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgcGFkZGluZzogJGJhc2Utc3BhY2VyICRzcGFjZS1hO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbmEubG9jay1pY29uLWJ1dHRvbixcbmEubG9jay1pY29uLWJ1dHRvbi13aGl0ZSB7XG4gICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRuaWgtcHJpbWFyeS1kYXJrLWJsdWU7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRuaWgtcHJpbWFyeS1kYXJrLWJsdWU7XG4gICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG4gICAgfVxufVxuXG5cblxuXG4ubG9jay1pY29uLWJ1dHRvbixcbi5sb2NrLWljb24tYnV0dG9uLXdoaXRlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICB9XG5cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbmloLXByaW1hcnktZGFyay1ncmF5O1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbn1cblxuLmxvY2staWNvbi1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuaWgtcHJpbWFyeS1ibHVlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRuaWgtcHJpbWFyeS1ibHVlO1xuICAgIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbG9jay5zdmdcIik7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMyNjM5MztcbiAgICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS13aGl0ZTtcbiAgICB9XG5cbn1cblxuLmxvY2staWNvbi1idXR0b24td2hpdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuaWgtcHJpbWFyeS13aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbmloLXByaW1hcnktYmx1ZTtcbiAgICBjb2xvcjogJG5paC1wcmltYXJ5LWJsdWU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbG9jay1pY29uLWJsdWUuc3ZnXCIpO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXNlY29uZGFyeS1ibHVlLXdoaXRlO1xuICAgICAgICBjb2xvcjogJG5paC1wcmltYXJ5LWJsdWU7XG4gICAgfVxufVxuXG4ubG9naW4taWNvbi1idXR0b24tYmxhY2sge1xuICAgIEBpbmNsdWRlIGN0YS1wcmltYXJ5LWJ1dHRvbjtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2xvZ2luLnN2Z1wiKTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgfVxuXG59XG5cbi8vVE9ETzogZGVwcmVjYXRlXG4ub3V0bGluZS1idXR0b24td2hpdGUge1xuICAgIGJvcmRlcjogJG5paC1wcmltYXJ5LXdoaXRlIHNvbGlkO1xufVxuXG4vLyBUYWdzIGZvciBDSVQgRGVwbG95bWVudCBDYWxlbmRhclxuLmxpZ2h0LXllbGxvdyxcbi5saWdodC1ncmF5LFxuLmxpZ2h0LWJsdWUsXG4ubGlnaHQtZ3JlZW4ge1xuICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG59XG5cbi5saWdodC15ZWxsb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuaWgtc2Vjb25kYXJ5LWxpZ2h0LXllbGxvdztcbiAgICBjb2xvcjogJG5paC1zZWNvbmRhcnktZGFyay15ZWxsb3c7XG59XG5cbi5saWdodC1ncmF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXByaW1hcnktbGlnaHQtZ3JheTtcbiAgICBjb2xvcjogJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcbn1cblxuLmxpZ2h0LWJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuaWgtcHJpbWFyeS1saWdodC1ibHVlO1xuICAgIGNvbG9yOiAkbmloLXByaW1hcnktYmx1ZTtcbn1cblxuLmxpZ2h0LWdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXNlY29uZGFyeS1saWdodC1ncmVlbjtcbiAgICBjb2xvcjogJG5paC1wcmltYXJ5LWRhcmstZ3JlZW47XG59IiwiLyoqXG4qIENhcmQgTGluayBNaXhpbiBcbipcbiogTWl4aW4gdGhhdCBzdXBwb3J0IGNhcmRzIHRoYXQgYXJlIHRyZWF0ZWQgYXMgbGlua3MuIFxuKiBJbnRlbmRlZCB0byBiZSBhcHBsaWVkIHRvIGRpcmVjdGx5IHRvIGFuIDxhPiBhbmNob3IgdGFnIFxuKiBQcm92aWRlcyB2aXN1YWwgc3R5bGUsIGhvdmVyIHBhdHRlcm4sIGljb25vZ3JhcGh5IG9wdGlvbnMgXG4qIEhhcyBubyBvcGluaW9ucyBvbiBob3cgdGhlIGltYWdlIHNob3VsZCBiZSBzdHlsZWQuIFRoZXJlIGFyZSBhIGNvdXBsZSBkaWZmZXJlbnQgcGF0dGVybnMuIFRob3NlIGFyZSBjdXJyZW50bHkgbGVmdCB0byB0aGUgY2FyZCBpdHNlbGYuIFxuKi9cblxuQG1peGluIGNhcmQtbGluayB7XG4gIEBpbmNsdWRlIGNhcmQtd3JhcHBlcjtcbiAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYXJyb3ctZm9yd2FyZC5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJvdHRvbTogMTVweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTlweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDE5cHg7XG4gIH1cblxuICAmLmNhcmQtbGluay1hcnJvdzo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9hcnJvdy1mb3J3YXJkLnN2Z1wiKTtcbiAgfVxuXG4gICYuY2FyZC1saW5rLS1sb2dpbjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9sb2dpbi5zdmdcIik7XG4gIH1cblxuICAmLmNhcmQtbGluay0tbG9jazo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9sb2NrLnN2Z1wiKTtcbiAgfVxuXG4gICYuY2FyZC1saW5rLS1leHRlcm5hbDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9vcGVuLWdyYXkuc3ZnXCIpO1xuICB9XG5cbiAgLnBhcmFncmFwaC0tdHlwZS0tdGhyZWUtY29sdW1uLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gIH1cbn1cblxuLmNhcmQtbGluayB7XG4gIEBpbmNsdWRlIGNhcmQtbGluaygpO1xufSIsIi5wYXJhZ3JhcGgtLXR5cGUtLXRocmVlLWltYWdlLWNhcmQge1xuICAgIHBhZGRpbmc6ICRzcGFjZS1jIDA7XG5cblxuICAgIGRpdiB7XG4gICAgICAgIEBpbmNsdWRlIHdyYXBwZXI7XG5cbiAgICAgICAgLndyYXBwZXItLWNvbC0zIC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50LXRocmVlLWNvbHVtbiB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgICAgICB9XG5cbiAgICAgICAgLndyYXBwZXItLWNvbC00IC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50LXRocmVlLWNvbHVtbiB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC53cmFwcGVyLS1jb2wtMyAuZmllbGQtLW5hbWUtZmllbGQtY29udGVudC10aHJlZS1jb2x1bW4sXG4gICAgICAgIC53cmFwcGVyLS1jb2wtNCAuZmllbGQtLW5hbWUtZmllbGQtY29udGVudC10aHJlZS1jb2x1bW4ge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdhcDogJHNwYWNlLWI7XG4gICAgICAgICAgICBncmlkLWF1dG8tcm93czogYXV0bztcblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmPi5maWVsZF9faXRlbSB7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBhLmNhcmQtbGluayB7XG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG1heC1jb250ZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNzVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvOyAvL2ZpeGVzIHNhZmFyaSBidWdcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC11cmwge1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlLWE7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktZGFyay1ncmF5O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkb3Blbi1zYW5zLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGQtLW5hbWUtZmllbGQtdGV4dCB7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAkc3BhY2UtYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1zdWJ0aXRsZS1oZWFkZXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bS14bGFyZ2U7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW46ICRzcGFjZS1hIDA7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC50aHJlZS1jb2x1bW4tZ3JpZC1jdGEtYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICAucGFyYWdyYXBoLS10eXBlLS1pY29uLWJ1dHRvbi1yZXBlYXRlciB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2UtYjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tdGhyZWUtY29sdW1uLWNvbnRlbnQge1xuICAgIGEge1xuICAgICAgICBjb2xvcjogJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcbiAgICB9XG5cbiAgICAuZmllbGQtLW5hbWUtZmllbGQtc3VidGl0bGUgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tZWRpdW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG5cbiAgICAucGFyYWdyYXBoLS10eXBlLS10aHJlZS1pbWFnZS1jYXJkIHtcbiAgICAgICAgcGFkZGluZzogJHNwYWNlLWE7XG5cbiAgICAgICAgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQtdGhyZWUtY29sdW1uIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHNwYWNlLWEgMDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhcmFncmFwaC0tdHlwZS0tdGhyZWUtaW1hZ2UtY2FyZCBkaXYgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQtdGhyZWUtY29sdW1uIHtcbiAgICAgICAgbWFyZ2luOiAkc3BhY2UtYSAwO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgLnBhcmFncmFwaC0tdHlwZS0tdGhyZWUtaW1hZ2UtY2FyZCB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggNjBweDtcbiAgICB9XG59IiwiLnBhcmFncmFwaC0tdHlwZS0tdHdvLWNvbXBvbmVudC1jYXJkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1iYWNrZ3JvdW5kLWltZyk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG5cbiAgICAmLmltYWdlLWxlZnQ6OmJlZm9yZXtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAuaW1hZ2UtYmxvY2sge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuY29udGVudC1ibG9jayB7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjZS1mIDA7XG4gICAgfVxuXG4gICAgJi5pbWFnZS1tYXJnaW46OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bzsgXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAuaW1hZ2UtYmxvY2sge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgICAgICAgICAvL3JlLW9yZGVyIGJsb2NrcyBmb3Igb3JpZW50YXRpb24gc2V0dGluZ3NcbiAgICAgICAgICAgICYuaW1hZ2UtbGVmdCB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaW1hZ2UtcmlnaHQge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudC1ibG9jayB7XG4gICAgICAgICAgICAmLmltYWdlLWxlZnQge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHNwYWNlLWY7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaW1hZ2UtcmlnaHQge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAxXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MjBweCkge1xuICAgIC5wYXJhZ3JhcGgtLXR5cGUtLXR3by1jb21wb25lbnQtY2FyZCAuY29udGVudC1ibG9jayB7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjZS1hO1xuICAgIH1cbiAgICBcbn0iLCIucGFyYWdyYXBoLS10eXBlLS1sYW5kaW5nLXBhZ2UtaGVybyxcbi5wYXJhZ3JhcGgtLXR5cGUtLXNlY29uZGFyeS1sYW5kaW5nLXBhZ2UtaGVybyB7XG5cbiAgICAuaW1hZ2UtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIH1cblxuICAgIC5oZXJvLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkc3BhY2UtZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDk2cHg7XG4gICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG5cblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBjb2xvcjogJG5paC1wcmltYXJ5LXdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS13aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICRuaWgtcHJpbWFyeS13aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jdGEtcHJpbWFyeS1idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNlLWM7XG4gICAgICAgIH1cblxuICAgICAgICAuY3RhLXNlY29uZGFyeS1idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAkc3BhY2UtYiAwO1xuXG4gICAgICAgICAgICAubG9naW4taWNvbi1idXR0b24tYmxhY2sge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbmloLXByaW1hcnktd2hpdGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG5paC1wcmltYXJ5LXdoaXRlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjZS1hIDA7XG5cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9vcGVuLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbmloLXNlY29uZGFyeS10ZWFsLWJsdWU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbmloLXNlY29uZGFyeS10ZWFsLWJsdWU7XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3RlYWwtb3Blbi5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogJG5paC1wcmltYXJ5LXdoaXRlIHNvbGlkO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZpZWxkLS1uYW1lLWZpZWxkLWJhY2tncm91bmQtaW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogNDYwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWVsZC0tbmFtZS1maWVsZC1jdGEtYnV0dG9uLWljb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBjb2x1bW4tZ2FwOiAyMHB4O1xuXG4gICAgICAgIC5maWVsZF9faXRlbSB7XG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGN0YS1wcmltYXJ5LWJ1dHRvbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cblxuICAgIC5jdGEtbG9jay1pY29uLFxuICAgIC5jdGEtbG9naW4taWNvbiB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5jdGEtbG9jay1pY29uIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2xvY2suc3ZnXCIpO1xuICAgIH1cblxuXG4gICAgLm5vZGUtLXR5cGUtbGFuZGluZy1wYWdlIC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50IHtcblxuICAgICAgICA+LmZpZWxkX19pdGVtOm50aC1jaGlsZCgyKSxcbiAgICAgICAgLmZpZWxkX19pdGVtOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXNlY29uZGFyeS1ncmF5LXdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgPi5maWVsZF9faXRlbTpudGgtY2hpbGQoMyksXG4gICAgICAgIC5maWVsZF9faXRlbTpudGgtY2hpbGQoNSkge1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXNlY29uZGFyeS1kYXJrZ3JheS13aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgXG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMXB4KSBhbmQgKG1heC13aWR0aDogMTA1MHB4KSB7XG5cbiAgICAgICAgLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8ge1xuICAgICAgICAgICAgLnBlb3BsZS1pbWFnZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnJlbSAwIDA7XG5cbiAgICAgICAgICAgICAgICAuZmllbGQtLW5hbWUtZmllbGQtY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDE0MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZS1oZXJvIHtcbiAgICAuZm9udC1jb2xvciB7XG5cbiAgICAgICAgaDEsXG4gICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmllbGQtLW5hbWUtZmllbGQtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgY29sdW1uLWdhcDogMjBweDtcblxuICAgICAgICAuZmllbGRfX2l0ZW0ge1xuICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjdGEtcHJpbWFyeS1idXR0b247XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5icmVhZGNydW1iIGEsXG4gICAgLmJyZWFkY3J1bWItaXRlbS5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJG5paC1wcmltYXJ5LXdoaXRlO1xuICAgICAgICBAaW5jbHVkZSBjYXJkLWhlYWRpbmc7XG4gICAgfVxufVxuXG4ucGFyYWdyYXBoLS10eXBlLS10d28tY29tcG9uZW50LWNhcmQuaW1hZ2UtbWFyZ2luIHtcbiAgICAud3JhcHBlciAuZ3JpZCB7XG4gICAgICAgIGdhcDogMDtcblxuICAgICAgICAuY29udGVudC1ibG9jayB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4ICRuaWgtcHJpbWFyeS1tZWRpdW0tZ3JheSBzb2xpZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuXG4gICAgLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8sIC5wYXJhZ3JhcGgtLXR5cGUtLXNlY29uZGFyeS1sYW5kaW5nLXBhZ2UtaGVybyB7XG4gICAgICAgIC5oZXJvLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2UtYyAkc3BhY2UtYjtcbiAgICAgICAgfVxuICAgIH1cbiAgXG59XG5cbiBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG5cbiAgICAgICAgLnBhcmFncmFwaC0tdHlwZS0tbGFuZGluZy1wYWdlLWhlcm8ge1xuICAgICAgICAgICAgLnBlb3BsZS1pbWFnZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlLWIgMCAwO1xuICAgICAgICAgICAgICAgIHRvcDogMzBweDtcblxuICAgICAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXgtbGFyZ2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tZWRpdW0tbGFyZ2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbWFnZS1iYWNrZ3JvdW5kcyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYXJhZ3JhcGgtLXR5cGUtLXNlY29uZGFyeS1sYW5kaW5nLXBhZ2UtaGVybyB7XG4gICAgICAgICAgICAuc2Vjb25kYXJ5LWltYWdlLWJhY2tncm91bmRzIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGFyYWdyYXBoLS10eXBlLS1jbG91ZC1sYWIge1xuICAgICAgICAuY2xvdWQtbGFiLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDUsIDEzLCAyMSwgMSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJG9wZW4tc2Fucy1wcmltYXJ5O1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bS1sYXJnZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBtYXJnaW46IDAgMTIwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2UtYztcbiAgICAgICAgICAgIFxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbi1zZWNvbmRhcnktLWFycm93IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGN0YS1wcmltYXJ5LWJ1dHRvbjtcbiAgICAgICAgICAgIG1hcmdpbjogJHNwYWNlLWIgMCAwO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktZGFyay1ncmF5O1xuICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGZpbHRlcjogbm9uZTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZXJvLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiA0NHB4IDAgNDRweDtcbiAgICAgICAgfVxuICAgIH0iLCIucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24gLmFjY29yZGlvbiAucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uX19wYW5lbCAucGFyYWdyYXBoLS10eXBlLS1jaXQtY29ubmVjdC1jYXJkcy0ge1xuICAgIC5maWVsZC0tbmFtZS1maWVsZC1jaXQtY29ubmVjdC1jYXJkcy1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiAkc3BhY2UtYjtcbiAgICAgICAgZ3JpZC1hdXRvLXJvd3M6IGF1dG87XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIH1cblxuICAgICAgICAmPi5maWVsZF9faXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjYXJkLXdyYXBwZXI7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZpZWxkLS1uYW1lLWZpZWxkLXRhZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXByaW1hcnktbGlnaHQtYmx1ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgICAgICBjb2xvcjogJG5paC1wcmltYXJ5LWJsdWU7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgICAgICAgICAgcGFkZGluZzogNHB4ICRiYXNlLXNwYWNlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWVsZC0tbmFtZS1maWVsZC10YWcsXG4gICAgLmZpZWxkLS1uYW1lLWZpZWxkLWRlc2NyaXB0aW9uLFxuICAgIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24ge1xuICAgICAgICBmb250LWZhbWlseTogJG9wZW4tc2Fucy1wcmltYXJ5O1xuICAgIH1cblxuICAgIC5maWVsZC0tbmFtZS1maWVsZC10aXRsZSxcbiAgICAuZmllbGQtLW5hbWUtZmllbGQtY2FkZW5jZSxcbiAgICAuZmllbGQtLW5hbWUtZmllbGQtcG9jcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgfVxuXG4gICAgLmZpZWxkLS1uYW1lLWZpZWxkLXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZmphbGxhLW9uLXByaW1hcnk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tZWRpdW0teGxhcmdlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5maWVsZC0tbmFtZS1maWVsZC1kZXNjcmlwdGlvbiBwIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bTtcbiAgICB9XG5cbiAgICAuZmllbGQtLW5hbWUtZmllbGQtY2FkZW5jZSxcbiAgICAuZmllbGQtLW5hbWUtZmllbGQtcG9jcyB7XG4gICAgICAgIGNvbHVtbi1nYXA6IDVweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRvcGVuLXNhbnMtcHJpbWFyeTtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bTtcblxuICAgICAgICAuZmllbGRfX2xhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZpZWxkLS1uYW1lLWZpZWxkLWJ1dHRvbiAuZmllbGRfX2l0ZW0gYSB7XG4gICAgICAgIEBpbmNsdWRlIGxpbmstaWNvbihkYXJrLCBcIi4uL2ltYWdlcy9kb3dubG9hZC5zdmdcIik7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxufVxuXG4ucGFyYWdyYXBoLS10eXBlLS1hY2NvcmRpb24tY29udGVudCB7XG4gICAgLmFjY29yZGlvbiB7XG4gICAgICAgIG1hcmdpbjogNjBweCAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn0iLCIuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59IiwiLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uIHtcbiAgQGluY2x1ZGUgd3JhcHBlcjtcbiAgbWFyZ2luOiAkc3BhY2UtZCBhdXRvO1xuXG4gIHVsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5hY2NvcmRpb24gLnBhcmFncmFwaC0tdHlwZS0tYWNjb3JkaW9uLWNvbnRlbnQge1xuXG4gICAgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICBidXR0b24gc3ZnIHtcbiAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemUtbWVkaXVtLWxhcmdlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICA+IGRpdiB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkbmloLXByaW1hcnktbGlnaHQtZ3JheTtcbiAgICAgIFxuICAgIH1cblxuICAgIC5hY2NvcmRpb25fX2hlYWRlciBidXR0b24ge1xuICAgICAgYWxsOiBpbmhlcml0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBwYWRkaW5nOiAkc3BhY2UtYSAkc3BhY2UtYjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5paC1wcmltYXJ5LWxpZ2h0LWdyYXk7XG4gICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktZGFyay1ncmF5O1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAycHggJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcbiAgICAgICAgcmVjdCB7XG4gICAgICAgICAgZmlsbDogJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5hY2NvcmRpb25fX2hlYWRlciBidXR0b25bYXJpYS1leHBhbmRlZD1cImZhbHNlXCJdIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9hZGQuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEuMjVyZW0gY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjVyZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemUtbWVkaXVtLWxhcmdlO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICByZWN0IHtcbiAgICAgICAgZmlsbDogJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uX19oZWFkZXIgYnV0dG9uOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXkgMXB4O1xuICAgIH1cblxuXG4gICAgW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIC52ZXJ0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbl9fcGFuZWwge1xuICAgICAgcGFkZGluZzogJHNwYWNlLWI7XG5cbiAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBjb2x1bW4tZ2FwOiAkc3BhY2UtYTtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW46ICRzcGFjZS1jIDA7XG4gICAgICAgIHJvdy1nYXA6ICRzcGFjZS1hO1xuXG5cbiAgICAgICAgLmZpZWxkX19pdGVtIGEge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbihzZWNvbmRhcnkpXG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cblxuICAgIC5maWVsZC0tbmFtZS1maWVsZC1hY2NvcmRpb24tYm9keSB7XG4gICAgICBpbWcge1xuICAgICAgICBtYXJnaW46IDhweCAxNnB4IDAgMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgLmZpZWxkX19pdGVtIC5hY2NvcmRpb25fX2hlYWRlciBidXR0b25bYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWJsdWU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3JlbW92ZS5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxLjI1cmVtIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMS41cmVtO1xuICAgIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG4gICAgZm9udC1mYW1pbHk6ICRvcGVuLXNhbnMtcHJpbWFyeTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtbWVkaXVtLXhsYXJnZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcblxuICAgIHJlY3Qge1xuICAgICAgZmlsbDogJG5paC1wcmltYXJ5LXdoaXRlO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXByaW1hcnktbGlnaHQtZ3JheTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9taW51cy5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMS4yNXJlbSBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEuNXJlbTtcbiAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktZGFyay1ncmF5O1xuXG4gICAgICByZWN0IHtcbiAgICAgICAgZmlsbDogJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmllbGRfX2l0ZW0ge1xuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG5cbiAgXG4gICAgICBkaXYsXG4gICAgICBidXR0b25bYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDAgMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgZGl2IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDhweCA4cHg7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxufSIsIi5ub2RlLS10eXBlLXNlcnZpY2UsXG4ubm9kZS0tdHlwZS1vZmZpY2VzIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgIC5ub2RlX19jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJG5paC1wcmltYXJ5LXNreS1ibHVlIDIwJSwgJG5paC1wcmltYXJ5LXdoaXRlIDAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sYXlvdXQtLXR3b2NvbC1zZWN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgM2ZyO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcInNpZGViYXIgY29udGVudFwiO1xuXG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgICAgICAgICAgIFwiY29udGVudFwiXG4gICAgICAgICAgICAgICAgXCJzaWRlYmFyXCI7XG4gICAgICAgIH1cblxuICAgICAgICAubGF5b3V0X19yZWdpb24tLWZpcnN0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRuaWgtcHJpbWFyeS1za3ktYmx1ZTtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogc2lkZWJhcjtcblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAyMHB4IDBweCAwcHg7XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgLnZpZXctY29udGVudCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMnB4IDE2cHggMCAwO1xuXG4gICAgICAgICAgICAgICAgLnZpZXdzLXJvdyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRiYXNlLXNwYWNlciAwO1xuXG4gICAgICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbmloLXByaW1hcnktZ3JheTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJG9wZW4tc2Fucy1wcmltYXJ5O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGJhc2Utc3BhY2VyICRzcGFjZS1hO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXByaW1hcnktZGFyay1ibHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5uYXYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCBsaSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGJhc2Utc3BhY2VyIDA7XG4gICAgICAgICAgICAgICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG5paC1wcmltYXJ5LWdyYXk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRvcGVuLXNhbnMtcHJpbWFyeTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtbWVkaXVtO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRiYXNlLXNwYWNlciAkc3BhY2UtYTtcblxuICAgICAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuaWgtcHJpbWFyeS1saWdodC1ncmF5O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5uYXYgPiAubWVudS1pdGVtLS1hY3RpdmUtdHJhaWwgPiBhIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbmloLXByaW1hcnktZGFyay1ibHVlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktd2hpdGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5sYXlvdXRfX3JlZ2lvbi0tc2Vjb25kIHtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogY29udGVudDtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjZS1kO1xuXG4gICAgICAgICAgICAuZmllbGQtLW5hbWUtZmllbGQtYXVkaWVuY2Uge1xuICAgICAgICAgICAgICAgIGNvbHVtbi1nYXA6IDVweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkb3Blbi1zYW5zLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bS1sYXJnZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgJHNwYWNlLWQ7XG5cbiAgICAgICAgICAgICAgICAuZmllbGRfX2xhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmZpZWxkX19pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuXG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFjY29yZGlvbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBhcmFncmFwaC0tdHlwZS0tdGhyZWUtaW1hZ2UtY2FyZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZpZWxkLS1uYW1lLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2UtYSAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBhcmFncmFwaC0tdHlwZS0tY29udGVudC1zZWN0aW9uIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6ICRuaWgtcHJpbWFyeS1tZWRpdW0tZ3JheSAycHggc29saWQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2UtZCAwO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuYnJlYWRjcnVtYiBhLFxuICAgIC5icmVhZGNydW1iLWl0ZW0uYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgICAgIEBpbmNsdWRlIGNhcmQtaGVhZGluZztcbiAgICB9XG59XG5cbi5ub2RlLS10eXBlLW9mZmljZXMge1xuICAgIC5wYXJhZ3JhcGgtLXR5cGUtLXR3by1pbWFnZS1jYXJkIC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50LXRocmVlLWNvbHVtbiB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyO1xuICAgIH1cblxufVxuXG4ubm9kZS0tdHlwZS1wYWdlIHtcbiAgICBib3JkZXItdG9wOiAkbmloLXByaW1hcnktZGFyay1ibHVlIDMycHggc29saWQ7XG5cbiAgICAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjZS1mIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbn1cbiIsIi5ub2RlLS10eXBlLWxlYWRlcnNoaXAtYmlvIHtcbiAgICAubm9kZV9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDYwcHggMDtcbiAgICB9XG4gICAgaDEgLCAuZmllbGQtLW5hbWUtZmllbGQtcG9zaXRpb24tdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgLmZpZWxkLS1uYW1lLWZpZWxkLWltYWdlIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweCAwIDA7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRzcGFjZS1iO1xuICAgICAgICAgICAgd2lkdGg6IDIzN3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICB9XG5cbiAgICAuYnJlYWRjcnVtYiBhLCAuYnJlYWRjcnVtYi1pdGVtLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktZGFyay1ncmF5O1xuICAgICAgICBAaW5jbHVkZSBjYXJkLWhlYWRpbmc7XG4gICAgfVxufSIsIi5ibG9jay12aWV3cy1ibG9ja2xlYWRlcnNoaXAtYmxvY2stMSB7XG4gICAgcGFkZGluZzogNjBweCAwO1xuXG4gICAgaDIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuXG4gICAgLnZpZXctbGVhZGVyc2hpcCB7XG4gICAgICAgIC52aWV3LWNvbnRlbnQucm93IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmciAxZnIgMWZyO1xuICAgICAgICAgICAgZ2FwOiAkc3BhY2UtYjtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY+LnZpZXdzLXJvdyB7XG4gICAgICAgICAgICAgICAgLmNhcmQtbGluayB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAyLjVyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgLmxlYWRlcnNoaXAtYmlvLWNhcmQtaW1nIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNHB4IDI0cHggMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmxlYWRlcnNoaXAtYmlvLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlLWE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm91ci1sZWFkZXJzLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuaWgtcHJpbWFyeS13aGl0ZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkc3BhY2UtYjtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMjBweCA0MHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gICAgLmJsb2NrLXZpZXdzLWJsb2NrbGVhZGVyc2hpcC1ibG9jay0xIHtcbiAgICAgICAgLnZpZXctbGVhZGVyc2hpcCB7XG4gICAgICAgICAgICAudmlldy1jb250ZW50LnJvdyB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlLWE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgLmJsb2NrLXZpZXdzLWJsb2NrbGVhZGVyc2hpcC1ibG9jay0xIHtcbiAgICAgICAgLnZpZXctbGVhZGVyc2hpcCB7XG4gICAgICAgICAgICAudmlldy1jb250ZW50LnJvdyB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjZS1hO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi52aWV3LXByb2R1Y3Qtcm9hZG1hcCB7XG5cbiAgICAudmlldy1oZWFkZXIsXG4gICAgaDEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmloLXByaW1hcnktZGFyay1ibHVlO1xuICAgICAgICBjb2xvcjogJG5paC1wcmltYXJ5LXdoaXRlO1xuXG4gICAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnZpZXctZmlsdGVycyB7XG4gICAgICAgIG1hcmdpbjogJHNwYWNlLWMgJHNwYWNlLWQ7XG5cbiAgICAgICAgLmZsZXgtd3JhcCB7XG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm0tc2VsZWN0IHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgIGNvbG9yOiAkbmloLXByaW1hcnktZGFyay1ibHVlO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRvcGVuLXNhbnMtcHJpbWFyeTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJHNwYWNlLWI7XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJG5paC1wcmltYXJ5LWJsdWU7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMCAkbmloLXByaW1hcnktYmx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC52aWV3LWNvbnRlbnQucm93IHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJG5paC1wcmltYXJ5LWxpZ2h0LWdyYXk7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyO1xuXG4gICAgICAgIC52aWV3cy1yb3cge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2FyZC13cmFwcGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAkc3BhY2UtYTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNzVyZW07IC8vdGVtcCBmaXggdG8gYWNjb3VudCBmb3IgJ09wZXJhdGlvbnMgYW5kIE1haW50ZW5hbmNlJ1xuXG4gICAgICAgICAgICBoNSBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG5paC1wcmltYXJ5LWRhcmstZ3JheTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZqYWxsYS1vbi1wcmltYXJ5O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudmlld3MtZmllbGQtdGl0bGUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRmb250LXNpemUtbWVkaXVtLWxhcmdlIDA7XG5cbiAgICAgICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC52aWV3cy1maWVsZC1maWVsZC1jaXQtc2VydmljZS1hcmVhLW93bmVyLFxuICAgICAgICAgICAgLnZpZXdzLWZpZWxkLWZpZWxkLXRpbWVzdGFtcCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bTtcblxuICAgICAgICAgICAgICAgIC5maWVsZC1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxpZ2h0LWdyYXksXG4gICAgICAgICAgICAubGlnaHQteWVsbG93LFxuICAgICAgICAgICAgLmxpZ2h0LWdyZWVuLFxuICAgICAgICAgICAgLmxpZ2h0LWJsdWUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZS1hO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5yb2FkbWFwLXF1YXJ0ZXI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggJG5paC1wcmltYXJ5LWxpZ2h0LWdyYXk7XG59XG5cbi5yb2FkbWFwLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5paC1wcmltYXJ5LWRhcmstYmx1ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAkc3BhY2UtYSAwICRiYXNlLXNwYWNlcjtcblxuICAgIGgyLFxuICAgIHAge1xuICAgICAgICBjb2xvcjogJG5paC1wcmltYXJ5LXdoaXRlO1xuICAgICAgICBmb250LWZhbWlseTogJG9wZW4tc2Fucy1wcmltYXJ5O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgLnZpZXctcHJvZHVjdC1yb2FkbWFwIHtcbiAgICAgICAgLnZpZXctY29udGVudC5yb3cge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIH1cbiAgICB9XG5cbn0iLCJcbiAgLm1vZGFsLXdyYXBwZXIge1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuICAubW9kYWwge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgXG4gICAgJi5vcGVuIHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgfVxuICAgICYtYmcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUsIDEzLCAyMSwgMC44MCk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gICAgJi1jb250YWluZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBtYXgtd2lkdGg6IDU1MHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogJHNwYWNlLWQgJHNwYWNlLWY7XG5cbiAgICAgIGRpdiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgJi1jbG9zZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIHRvcDogMTVweDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyOiAwcHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH0iLCIucGFyYWdyYXBoLS10eXBlLS10d28taW1hZ2UtY2FyZCB7XG4gICAgcGFkZGluZzogJHNwYWNlLWYgMDtcbiAgICBAaW5jbHVkZSB3cmFwcGVyO1xuXG4gICAgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbnRlbnQtdGhyZWUtY29sdW1uIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICBnYXA6ICRzcGFjZS1iO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgJj4uZmllbGRfX2l0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2FyZC13cmFwcGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1pbWFnZSBpbWcge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjRweCAyNHB4IDAgMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhcmFncmFwaC0tdHlwZS0tdHdvLWltYWdlLWNhcmQtY29udGVudCB7XG4gICAgICAgIC50d28taW1hZ2UtY2FyZC1wYXJhZ3JhcGgge1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlLWE7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIFxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC10aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRuaWgtcHJpbWFyeS1kYXJrLWdyYXk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgICAucGFyYWdyYXBoLS10eXBlLS10d28taW1hZ2UtY2FyZCB7XG4gICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1jb250ZW50LXRocmVlLWNvbHVtbiB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5maWVsZC0tbmFtZS1maWVsZC1sZWFkZXJzaGlwLWJpb3Mge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAkc3BhY2UtYjtcbiAgICBncmlkLWF1dG8tcm93czogYXV0bztcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmciAxZnIgMWZyO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxuXG4gICAgLmxlYWRlcnNoaXAtYmlvLWNvbnRlbnQge1xuICAgICAgICBmb250LWZhbWlseTogJG9wZW4tc2Fucy1wcmltYXJ5O1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtbWVkaXVtO1xuICAgICAgICBwYWRkaW5nOiAkc3BhY2UtYTtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cblxuICAgICAgICAuY2FyZC1oZWFkaW5nPnNwYW4ge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gdGhlIGFjdHVhbCBjYXJkIFxuICAgICY+LmZpZWxkX19pdGVtIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAxO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5jYXJkLWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwICRzcGFjZS1kO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRzcGFjZS1iICRzcGFjZS1iIDAgMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5ub2RlLS10eXBlLW9mZmljZXMge1xuXG4gICAgLmZpZWxkLS1uYW1lLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnBhcmFncmFwaC0tdHlwZS0tbGVhZGVyc2hpcC1iaW9zIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgLm5vZGVfX2NvbnRlbnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGQtLW5hbWUtZmllbGQtbGVhZGVyc2hpcC1iaW9zIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyO1xuXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYXJhZ3JhcGgtLXR5cGUtLWxlYWRlcnNoaXAtYmlvcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5paC1zZWNvbmRhcnktc2t5LWJsdWU7XG4gICAgcGFkZGluZzogJHNwYWNlLWQgMDtcbn0iXX0= */