@charset "UTF-8";
/* Material Symbols Outlined — instanced variable font, conjunto COMPLETO de ícones (FILL 0..1, wght 300..400). */
@font-face {
  font-family: "Material Symbols Outlined";
  font-style: normal;
  font-weight: 300 400;
  font-display: swap;
  src: url('material-symbols-outlined.d05e704de68269986e95.woff2') format("woff2");
}
.material-symbols-outlined,
.material-icons {
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}
/* Geist — UI body type, variable weight 100-900. Same 5 subsets Google ships. */
/* cyrillic-ext */
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('geist-cyrillic-ext.141916beb91c487496c8.woff2') format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('geist-cyrillic.e1e85cd9eab54096528f.woff2') format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('geist-vietnamese.ed8ddc5c3f2df573fa57.woff2') format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('geist-latin-ext.b29dbc4234e76289a5b9.woff2') format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('geist-latin.ee5d167b615cdb197f4a.woff2') format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Inconsolata — monospace, used in code blocks. Single weight (400). 3 subsets matching Google's split. */
/* vietnamese */
@font-face {
  font-family: "Inconsolata";
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url('inconsolata-vietnamese.3f9b99a54031f490de68.woff2') format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: "Inconsolata";
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url('inconsolata-latin-ext.2c2a00f6d14c2d972e5e.woff2') format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Inconsolata";
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url('inconsolata-latin.36e89c56c8ef1ba7c54b.woff2') format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Cairo — used in one chair-UI component (events.component.scss). Single weight (400). Arabic + Latin subsets. */
/* arabic */
@font-face {
  font-family: "Cairo";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('cairo-arabic.058cbf3782fbcd1fa0b4.woff2') format("woff2");
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
/* latin-ext */
@font-face {
  font-family: "Cairo";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('cairo-latin-ext.32c4aa2581621bf09b6f.woff2') format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Cairo";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('cairo-latin.115755d5d85ea3aa10e4.woff2') format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Colors for the ripple elements.*/
/* stylelint-disable-next-line material/theme-mixin-api */
/* stylelint-disable-next-line material/theme-mixin-api */
/* stylelint-disable material/no-prefixes */
/* stylelint-enable */
.mat-badge-content {
  font-weight: 600;
  font-size: 12px;
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-badge-small .mat-badge-content {
  font-size: 9px;
}
.mat-badge-large .mat-badge-content {
  font-size: 24px;
}
.mat-h1, .mat-headline, .mat-typography h1 {
  font: 400 24px/32px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h2, .mat-title, .mat-typography h2, .mat-typography mat-card.base-card mat-card-header, mat-card.base-card .mat-typography mat-card-header, .mat-typography mat-card.admin-event mat-card-header, mat-card.admin-event .mat-typography mat-card-header {
  font: 500 20px/32px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h3, .mat-subheading-2, .mat-typography h3, .mat-typography .section .section-title, .section .mat-typography .section-title, .mat-typography .card-title {
  font: 400 16px/28px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h4, .mat-subheading-1, .mat-typography h4, .mat-typography .card-subtitle {
  font: 400 15px/24px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h5, .mat-typography h5, .mat-typography .card-content, .mat-typography mat-card.event a .warning-public-at, mat-card.event a .mat-typography .warning-public-at {
  font: 400 calc(14px * 0.83)/20px Roboto, "Helvetica Neue", sans-serif;
  margin: 0 0 12px;
}
.mat-h6, .mat-typography h6 {
  font: 400 calc(14px * 0.67)/20px Roboto, "Helvetica Neue", sans-serif;
  margin: 0 0 12px;
}
.mat-body-strong, .mat-body-2 {
  font: 500 14px/24px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-body, .mat-body-1, .mat-typography {
  font: 400 14px/20px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-body p, .mat-body-1 p, .mat-typography p {
  margin: 0 0 12px;
}
.mat-small, .mat-caption {
  font: 400 12px/20px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-display-4, .mat-typography .mat-display-4 {
  font: 300 112px/112px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: -0.05em;
  margin: 0 0 56px;
}
.mat-display-3, .mat-typography .mat-display-3 {
  font: 400 56px/56px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: -0.02em;
  margin: 0 0 64px;
}
.mat-display-2, .mat-typography .mat-display-2 {
  font: 400 45px/48px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: -0.005em;
  margin: 0 0 64px;
}
.mat-display-1, .mat-typography .mat-display-1 {
  font: 400 34px/40px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0 0 64px;
}
.mat-bottom-sheet-container {
  font: 400 14px/20px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-button, .mat-raised-button, .mat-icon-button, .mat-stroked-button,
.mat-flat-button, .mat-fab, .mat-mini-fab {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 14px;
  font-weight: 500;
}
.mat-button-toggle {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-card {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-card-title {
  font-size: 24px;
  font-weight: 500;
}
.mat-card-header .mat-card-title {
  font-size: 20px;
}
.mat-card-subtitle,
.mat-card-content {
  font-size: 14px;
}
.mat-checkbox {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-checkbox-layout .mat-checkbox-label {
  line-height: 24px;
}
.mat-chip {
  font-size: 14px;
  font-weight: 500;
}
.mat-chip .mat-chip-trailing-icon.mat-icon,
.mat-chip .mat-chip-remove.mat-icon {
  font-size: 18px;
}
.mat-table {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-header-cell {
  font-size: 12px;
  font-weight: 500;
}
.mat-cell, .mat-footer-cell {
  font-size: 14px;
}
.mat-calendar {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-calendar-body {
  font-size: 13px;
}
.mat-calendar-body-label,
.mat-calendar-period-button {
  font-size: 14px;
  font-weight: 500;
}
.mat-calendar-table-header th {
  font-size: 11px;
  font-weight: 400;
}
.mat-dialog-title {
  font: 500 20px/32px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-expansion-panel-header {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 15px;
  font-weight: 400;
}
.mat-expansion-panel-content {
  font: 400 14px/20px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-form-field {
  font-size: inherit;
  font-weight: 400;
  line-height: 1.125;
  font-family: Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-form-field-wrapper {
  padding-bottom: 1.34375em;
}
.mat-form-field-prefix .mat-icon,
.mat-form-field-suffix .mat-icon {
  font-size: 150%;
  line-height: 1.125;
}
.mat-form-field-prefix .mat-icon-button,
.mat-form-field-suffix .mat-icon-button {
  height: 1.5em;
  width: 1.5em;
}
.mat-form-field-prefix .mat-icon-button .mat-icon,
.mat-form-field-suffix .mat-icon-button .mat-icon {
  height: 1.125em;
  line-height: 1.125;
}
.mat-form-field-infix {
  padding: 0.5em 0;
  border-top: 0.84375em solid transparent;
}
.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.34375em) scale(0.75);
  width: 133.3333333333%;
}
.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.34374em) scale(0.75);
  width: 133.3333433333%;
}
.mat-form-field-label-wrapper {
  top: -0.84375em;
  padding-top: 0.84375em;
}
.mat-form-field-label {
  top: 1.34375em;
}
.mat-form-field-underline {
  bottom: 1.34375em;
}
.mat-form-field-subscript-wrapper {
  font-size: 75%;
  margin-top: 0.6666666667em;
  top: calc(100% - 1.7916666667em);
}
.mat-form-field-appearance-legacy .mat-form-field-wrapper {
  padding-bottom: 1.25em;
}
.mat-form-field-appearance-legacy .mat-form-field-infix {
  padding: 0.4375em 0;
}
.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.001px);
  -ms-transform: translateY(-1.28125em) scale(0.75);
  width: 133.3333333333%;
}
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00101px);
  -ms-transform: translateY(-1.28124em) scale(0.75);
  width: 133.3333433333%;
}
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00102px);
  -ms-transform: translateY(-1.28123em) scale(0.75);
  width: 133.3333533333%;
}
.mat-form-field-appearance-legacy .mat-form-field-label {
  top: 1.28125em;
}
.mat-form-field-appearance-legacy .mat-form-field-underline {
  bottom: 1.25em;
}
.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper {
  margin-top: 0.5416666667em;
  top: calc(100% - 1.6666666667em);
}
@media print {
  .mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
    transform: translateY(-1.28122em) scale(0.75);
  }
  .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper .mat-form-field-label {
    transform: translateY(-1.28121em) scale(0.75);
  }
  .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
    transform: translateY(-1.2812em) scale(0.75);
  }
}
.mat-form-field-appearance-fill .mat-form-field-infix {
  padding: 0.25em 0 0.75em 0;
}
.mat-form-field-appearance-fill .mat-form-field-label {
  top: 1.09375em;
  margin-top: -0.5em;
}
.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-0.59375em) scale(0.75);
  width: 133.3333333333%;
}
.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-0.59374em) scale(0.75);
  width: 133.3333433333%;
}
.mat-form-field-appearance-outline .mat-form-field-infix {
  padding: 1em 0 1em 0;
}
.mat-form-field-appearance-outline .mat-form-field-label {
  top: 1.84375em;
  margin-top: -0.25em;
}
.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.59375em) scale(0.75);
  width: 133.3333333333%;
}
.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.59374em) scale(0.75);
  width: 133.3333433333%;
}
.mat-grid-tile-header,
.mat-grid-tile-footer {
  font-size: 14px;
}
.mat-grid-tile-header .mat-line,
.mat-grid-tile-footer .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-grid-tile-header .mat-line:nth-child(n+2),
.mat-grid-tile-footer .mat-line:nth-child(n+2) {
  font-size: 12px;
}
input.mat-input-element {
  margin-top: -0.0625em;
}
.mat-menu-item {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 14px;
  font-weight: 400;
}
.mat-paginator,
.mat-paginator-page-size .mat-select-trigger {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 12px;
}
.mat-radio-button {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-select {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-select-trigger {
  height: 1.125em;
}
.mat-slide-toggle-content {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-slider-thumb-label-text {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 12px;
  font-weight: 500;
}
.mat-stepper-vertical, .mat-stepper-horizontal {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-step-label {
  font-size: 14px;
  font-weight: 400;
}
.mat-step-sub-label-error {
  font-weight: normal;
}
.mat-step-label-error {
  font-size: 14px;
}
.mat-step-label-selected {
  font-size: 14px;
  font-weight: 500;
}
.mat-tab-group {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-tab-label, .mat-tab-link {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 14px;
  font-weight: 500;
}
.mat-toolbar,
.mat-toolbar h1,
.mat-toolbar h2,
.mat-toolbar mat-card.base-card mat-card-header,
mat-card.base-card .mat-toolbar mat-card-header,
.mat-toolbar mat-card.admin-event mat-card-header,
mat-card.admin-event .mat-toolbar mat-card-header,
.mat-toolbar h3,
.mat-toolbar .section .section-title,
.section .mat-toolbar .section-title,
.mat-toolbar .card-title,
.mat-toolbar h4,
.mat-toolbar .card-subtitle,
.mat-toolbar h5,
.mat-toolbar .card-content,
.mat-toolbar mat-card.event a .warning-public-at,
mat-card.event a .mat-toolbar .warning-public-at,
.mat-toolbar h6 {
  font: 500 20px/32px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0;
}
.mat-tooltip {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 10px;
  padding-top: 6px;
  padding-bottom: 6px;
}
.mat-tooltip-handset {
  font-size: 14px;
  padding-top: 8px;
  padding-bottom: 8px;
}
.mat-list-item {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-list-option {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-list-base .mat-list-item {
  font-size: 16px;
}
.mat-list-base .mat-list-item .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base .mat-list-item .mat-line:nth-child(n+2) {
  font-size: 14px;
}
.mat-list-base .mat-list-option {
  font-size: 16px;
}
.mat-list-base .mat-list-option .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base .mat-list-option .mat-line:nth-child(n+2) {
  font-size: 14px;
}
.mat-list-base .mat-subheader {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 14px;
  font-weight: 500;
}
.mat-list-base[dense] .mat-list-item {
  font-size: 12px;
}
.mat-list-base[dense] .mat-list-item .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2) {
  font-size: 12px;
}
.mat-list-base[dense] .mat-list-option {
  font-size: 12px;
}
.mat-list-base[dense] .mat-list-option .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2) {
  font-size: 12px;
}
.mat-list-base[dense] .mat-subheader {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 12px;
  font-weight: 500;
}
.mat-option {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 16px;
}
.mat-optgroup-label {
  font: 500 14px/24px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-simple-snackbar {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 14px;
}
.mat-simple-snackbar-action {
  line-height: 1;
  font-family: inherit;
  font-size: inherit;
  font-weight: 500;
}
.mat-tree {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-tree-node,
.mat-nested-tree-node {
  font-weight: 400;
  font-size: 14px;
}
.mat-ripple {
  overflow: hidden;
  position: relative;
}
.mat-ripple:not(:empty) {
  transform: translateZ(0);
}
.mat-ripple.mat-ripple-unbounded {
  overflow: visible;
}
.mat-ripple-element {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  transition: opacity, transform 0ms cubic-bezier(0, 0, 0.2, 1);
  transform: scale(0);
}
.cdk-high-contrast-active .mat-ripple-element {
  display: none;
}
.cdk-visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
  outline: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.cdk-overlay-container, .cdk-global-overlay-wrapper {
  pointer-events: none;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.cdk-overlay-container {
  position: fixed;
  z-index: 1000;
}
.cdk-overlay-container:empty {
  display: none;
}
.cdk-global-overlay-wrapper {
  display: flex;
  position: absolute;
  z-index: 1000;
}
.cdk-overlay-pane {
  position: absolute;
  pointer-events: auto;
  box-sizing: border-box;
  z-index: 1000;
  display: flex;
  max-width: 100%;
  max-height: 100%;
}
.cdk-overlay-backdrop {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  pointer-events: auto;
  -webkit-tap-highlight-color: transparent;
  transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);
  opacity: 0;
}
.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {
  opacity: 1;
}
.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing {
  opacity: 0.6;
}
.cdk-overlay-dark-backdrop {
  background: rgba(0, 0, 0, 0.32);
}
.cdk-overlay-transparent-backdrop, .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {
  opacity: 0;
}
.cdk-overlay-connected-position-bounding-box {
  position: absolute;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  min-width: 1px;
  min-height: 1px;
}
.cdk-global-scrollblock {
  position: fixed;
  width: 100%;
  overflow-y: scroll;
}
@-webkit-keyframes cdk-text-field-autofill-start {
  /*!*/
}
@keyframes cdk-text-field-autofill-start {
  /*!*/
}
@-webkit-keyframes cdk-text-field-autofill-end {
  /*!*/
}
@keyframes cdk-text-field-autofill-end {
  /*!*/
}
.cdk-text-field-autofill-monitored:-webkit-autofill {
  -webkit-animation: cdk-text-field-autofill-start 0s 1ms;
          animation: cdk-text-field-autofill-start 0s 1ms;
}
.cdk-text-field-autofill-monitored:not(:-webkit-autofill) {
  -webkit-animation: cdk-text-field-autofill-end 0s 1ms;
          animation: cdk-text-field-autofill-end 0s 1ms;
}
textarea.cdk-textarea-autosize {
  resize: none;
}
textarea.cdk-textarea-autosize-measuring {
  padding: 2px 0 !important;
  box-sizing: content-box !important;
  height: auto !important;
  overflow: hidden !important;
}
textarea.cdk-textarea-autosize-measuring-firefox {
  padding: 2px 0 !important;
  box-sizing: content-box !important;
  height: 0 !important;
}
.mat-focus-indicator {
  position: relative;
}
.mat-mdc-focus-indicator {
  position: relative;
}
/* For use in src/lib/core/theming/_palette.scss */
.light-theme .mat-ripple-element {
  background-color: rgba(0, 0, 0, 0.1);
}
.light-theme .mat-option {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-option:hover:not(.mat-option-disabled), .light-theme .mat-option:focus:not(.mat-option-disabled) {
  background: rgba(0, 0, 0, 0.04);
}
.light-theme .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled) {
  background: rgba(0, 0, 0, 0.04);
}
.light-theme .mat-option.mat-active {
  background: rgba(0, 0, 0, 0.04);
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-option.mat-option-disabled {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-primary .mat-option.mat-selected:not(.mat-option-disabled) {
  color: #1e40af;
}
.light-theme .mat-accent .mat-option.mat-selected:not(.mat-option-disabled) {
  color: #1e40af;
}
.light-theme .mat-warn .mat-option.mat-selected:not(.mat-option-disabled) {
  color: #e91414;
}
.light-theme .mat-optgroup-label {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-optgroup-disabled .mat-optgroup-label {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-pseudo-checkbox {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-pseudo-checkbox::after {
  color: #fafafa;
}
.light-theme .mat-pseudo-checkbox-disabled {
  color: #b0b0b0;
}
.light-theme .mat-primary .mat-pseudo-checkbox-checked,
.light-theme .mat-primary .mat-pseudo-checkbox-indeterminate {
  background: #1e40af;
}
.light-theme .mat-pseudo-checkbox-checked,
.light-theme .mat-pseudo-checkbox-indeterminate,
.light-theme .mat-accent .mat-pseudo-checkbox-checked,
.light-theme .mat-accent .mat-pseudo-checkbox-indeterminate {
  background: #1e40af;
}
.light-theme .mat-warn .mat-pseudo-checkbox-checked,
.light-theme .mat-warn .mat-pseudo-checkbox-indeterminate {
  background: #e91414;
}
.light-theme .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,
.light-theme .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled {
  background: #b0b0b0;
}
.light-theme .mat-app-background, .light-theme.mat-app-background {
  background-color: #fafafa;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-elevation-z0 {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z1 {
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z2 {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z3 {
  box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z4 {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z5 {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 5px 8px 0px rgba(0, 0, 0, 0.14), 0px 1px 14px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z6 {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z7 {
  box-shadow: 0px 4px 5px -2px rgba(0, 0, 0, 0.2), 0px 7px 10px 1px rgba(0, 0, 0, 0.14), 0px 2px 16px 1px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z8 {
  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z9 {
  box-shadow: 0px 5px 6px -3px rgba(0, 0, 0, 0.2), 0px 9px 12px 1px rgba(0, 0, 0, 0.14), 0px 3px 16px 2px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z10 {
  box-shadow: 0px 6px 6px -3px rgba(0, 0, 0, 0.2), 0px 10px 14px 1px rgba(0, 0, 0, 0.14), 0px 4px 18px 3px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z11 {
  box-shadow: 0px 6px 7px -4px rgba(0, 0, 0, 0.2), 0px 11px 15px 1px rgba(0, 0, 0, 0.14), 0px 4px 20px 3px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z12 {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z13 {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 13px 19px 2px rgba(0, 0, 0, 0.14), 0px 5px 24px 4px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z14 {
  box-shadow: 0px 7px 9px -4px rgba(0, 0, 0, 0.2), 0px 14px 21px 2px rgba(0, 0, 0, 0.14), 0px 5px 26px 4px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z15 {
  box-shadow: 0px 8px 9px -5px rgba(0, 0, 0, 0.2), 0px 15px 22px 2px rgba(0, 0, 0, 0.14), 0px 6px 28px 5px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z16 {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z17 {
  box-shadow: 0px 8px 11px -5px rgba(0, 0, 0, 0.2), 0px 17px 26px 2px rgba(0, 0, 0, 0.14), 0px 6px 32px 5px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z18 {
  box-shadow: 0px 9px 11px -5px rgba(0, 0, 0, 0.2), 0px 18px 28px 2px rgba(0, 0, 0, 0.14), 0px 7px 34px 6px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z19 {
  box-shadow: 0px 9px 12px -6px rgba(0, 0, 0, 0.2), 0px 19px 29px 2px rgba(0, 0, 0, 0.14), 0px 7px 36px 6px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z20 {
  box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 20px 31px 3px rgba(0, 0, 0, 0.14), 0px 8px 38px 7px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z21 {
  box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 21px 33px 3px rgba(0, 0, 0, 0.14), 0px 8px 40px 7px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z22 {
  box-shadow: 0px 10px 14px -6px rgba(0, 0, 0, 0.2), 0px 22px 35px 3px rgba(0, 0, 0, 0.14), 0px 8px 42px 7px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z23 {
  box-shadow: 0px 11px 14px -7px rgba(0, 0, 0, 0.2), 0px 23px 36px 3px rgba(0, 0, 0, 0.14), 0px 9px 44px 8px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z24 {
  box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
}
.mat-theme-loaded-marker {
  display: none;
}
.light-theme .mat-autocomplete-panel {
  background: white;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-autocomplete-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover) {
  background: white;
}
.light-theme .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled) {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-badge-content {
  color: white;
  background: #1e40af;
}
.cdk-high-contrast-active .light-theme .mat-badge-content {
  outline: solid 1px;
  border-radius: 0;
}
.light-theme .mat-badge-accent .mat-badge-content {
  background: #1e40af;
  color: white;
}
.light-theme .mat-badge-warn .mat-badge-content {
  color: white;
  background: #e91414;
}
.light-theme .mat-badge {
  position: relative;
}
.light-theme .mat-badge-hidden .mat-badge-content {
  display: none;
}
.light-theme .mat-badge-disabled .mat-badge-content {
  background: #b9b9b9;
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-badge-content {
  position: absolute;
  text-align: center;
  display: inline-block;
  border-radius: 50%;
  transition: transform 200ms ease-in-out;
  transform: scale(0.6);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  pointer-events: none;
}
.light-theme .ng-animate-disabled .mat-badge-content,
.light-theme .mat-badge-content._mat-animation-noopable {
  transition: none;
}
.light-theme .mat-badge-content.mat-badge-active {
  transform: none;
}
.light-theme .mat-badge-small .mat-badge-content {
  width: 16px;
  height: 16px;
  line-height: 16px;
}
.light-theme .mat-badge-small.mat-badge-above .mat-badge-content {
  top: -8px;
}
.light-theme .mat-badge-small.mat-badge-below .mat-badge-content {
  bottom: -8px;
}
.light-theme .mat-badge-small.mat-badge-before .mat-badge-content {
  left: -16px;
}
[dir=rtl] .light-theme .mat-badge-small.mat-badge-before .mat-badge-content {
  left: auto;
  right: -16px;
}
.light-theme .mat-badge-small.mat-badge-after .mat-badge-content {
  right: -16px;
}
[dir=rtl] .light-theme .mat-badge-small.mat-badge-after .mat-badge-content {
  right: auto;
  left: -16px;
}
.light-theme .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: -8px;
}
[dir=rtl] .light-theme .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: auto;
  right: -8px;
}
.light-theme .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: -8px;
}
[dir=rtl] .light-theme .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: auto;
  left: -8px;
}
.light-theme .mat-badge-medium .mat-badge-content {
  width: 22px;
  height: 22px;
  line-height: 22px;
}
.light-theme .mat-badge-medium.mat-badge-above .mat-badge-content {
  top: -11px;
}
.light-theme .mat-badge-medium.mat-badge-below .mat-badge-content {
  bottom: -11px;
}
.light-theme .mat-badge-medium.mat-badge-before .mat-badge-content {
  left: -22px;
}
[dir=rtl] .light-theme .mat-badge-medium.mat-badge-before .mat-badge-content {
  left: auto;
  right: -22px;
}
.light-theme .mat-badge-medium.mat-badge-after .mat-badge-content {
  right: -22px;
}
[dir=rtl] .light-theme .mat-badge-medium.mat-badge-after .mat-badge-content {
  right: auto;
  left: -22px;
}
.light-theme .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: -11px;
}
[dir=rtl] .light-theme .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: auto;
  right: -11px;
}
.light-theme .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: -11px;
}
[dir=rtl] .light-theme .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: auto;
  left: -11px;
}
.light-theme .mat-badge-large .mat-badge-content {
  width: 28px;
  height: 28px;
  line-height: 28px;
}
.light-theme .mat-badge-large.mat-badge-above .mat-badge-content {
  top: -14px;
}
.light-theme .mat-badge-large.mat-badge-below .mat-badge-content {
  bottom: -14px;
}
.light-theme .mat-badge-large.mat-badge-before .mat-badge-content {
  left: -28px;
}
[dir=rtl] .light-theme .mat-badge-large.mat-badge-before .mat-badge-content {
  left: auto;
  right: -28px;
}
.light-theme .mat-badge-large.mat-badge-after .mat-badge-content {
  right: -28px;
}
[dir=rtl] .light-theme .mat-badge-large.mat-badge-after .mat-badge-content {
  right: auto;
  left: -28px;
}
.light-theme .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: -14px;
}
[dir=rtl] .light-theme .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: auto;
  right: -14px;
}
.light-theme .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: -14px;
}
[dir=rtl] .light-theme .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: auto;
  left: -14px;
}
.light-theme .mat-bottom-sheet-container {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);
  background: white;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-button, .light-theme .mat-icon-button, .light-theme .mat-stroked-button {
  color: inherit;
  background: transparent;
}
.light-theme .mat-button.mat-primary, .light-theme .mat-icon-button.mat-primary, .light-theme .mat-stroked-button.mat-primary {
  color: #1e40af;
}
.light-theme .mat-button.mat-accent, .light-theme .mat-icon-button.mat-accent, .light-theme .mat-stroked-button.mat-accent {
  color: #1e40af;
}
.light-theme .mat-button.mat-warn, .light-theme .mat-icon-button.mat-warn, .light-theme .mat-stroked-button.mat-warn {
  color: #e91414;
}
.light-theme .mat-button.mat-primary.mat-button-disabled, .light-theme .mat-button.mat-accent.mat-button-disabled, .light-theme .mat-button.mat-warn.mat-button-disabled, .light-theme .mat-button.mat-button-disabled.mat-button-disabled, .light-theme .mat-icon-button.mat-primary.mat-button-disabled, .light-theme .mat-icon-button.mat-accent.mat-button-disabled, .light-theme .mat-icon-button.mat-warn.mat-button-disabled, .light-theme .mat-icon-button.mat-button-disabled.mat-button-disabled, .light-theme .mat-stroked-button.mat-primary.mat-button-disabled, .light-theme .mat-stroked-button.mat-accent.mat-button-disabled, .light-theme .mat-stroked-button.mat-warn.mat-button-disabled, .light-theme .mat-stroked-button.mat-button-disabled.mat-button-disabled {
  color: rgba(0, 0, 0, 0.26);
}
.light-theme .mat-button.mat-primary .mat-button-focus-overlay, .light-theme .mat-icon-button.mat-primary .mat-button-focus-overlay, .light-theme .mat-stroked-button.mat-primary .mat-button-focus-overlay {
  background-color: #1e40af;
}
.light-theme .mat-button.mat-accent .mat-button-focus-overlay, .light-theme .mat-icon-button.mat-accent .mat-button-focus-overlay, .light-theme .mat-stroked-button.mat-accent .mat-button-focus-overlay {
  background-color: #1e40af;
}
.light-theme .mat-button.mat-warn .mat-button-focus-overlay, .light-theme .mat-icon-button.mat-warn .mat-button-focus-overlay, .light-theme .mat-stroked-button.mat-warn .mat-button-focus-overlay {
  background-color: #e91414;
}
.light-theme .mat-button.mat-button-disabled .mat-button-focus-overlay, .light-theme .mat-icon-button.mat-button-disabled .mat-button-focus-overlay, .light-theme .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay {
  background-color: transparent;
}
.light-theme .mat-button .mat-ripple-element, .light-theme .mat-icon-button .mat-ripple-element, .light-theme .mat-stroked-button .mat-ripple-element {
  opacity: 0.1;
  background-color: currentColor;
}
.light-theme .mat-button-focus-overlay {
  background: black;
}
.light-theme .mat-stroked-button:not(.mat-button-disabled) {
  border-color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-flat-button, .light-theme .mat-raised-button, .light-theme .mat-fab, .light-theme .mat-mini-fab {
  color: rgba(0, 0, 0, 0.87);
  background-color: white;
}
.light-theme .mat-flat-button.mat-primary, .light-theme .mat-raised-button.mat-primary, .light-theme .mat-fab.mat-primary, .light-theme .mat-mini-fab.mat-primary {
  color: white;
}
.light-theme .mat-flat-button.mat-accent, .light-theme .mat-raised-button.mat-accent, .light-theme .mat-fab.mat-accent, .light-theme .mat-mini-fab.mat-accent {
  color: white;
}
.light-theme .mat-flat-button.mat-warn, .light-theme .mat-raised-button.mat-warn, .light-theme .mat-fab.mat-warn, .light-theme .mat-mini-fab.mat-warn {
  color: white;
}
.light-theme .mat-flat-button.mat-primary.mat-button-disabled, .light-theme .mat-flat-button.mat-accent.mat-button-disabled, .light-theme .mat-flat-button.mat-warn.mat-button-disabled, .light-theme .mat-flat-button.mat-button-disabled.mat-button-disabled, .light-theme .mat-raised-button.mat-primary.mat-button-disabled, .light-theme .mat-raised-button.mat-accent.mat-button-disabled, .light-theme .mat-raised-button.mat-warn.mat-button-disabled, .light-theme .mat-raised-button.mat-button-disabled.mat-button-disabled, .light-theme .mat-fab.mat-primary.mat-button-disabled, .light-theme .mat-fab.mat-accent.mat-button-disabled, .light-theme .mat-fab.mat-warn.mat-button-disabled, .light-theme .mat-fab.mat-button-disabled.mat-button-disabled, .light-theme .mat-mini-fab.mat-primary.mat-button-disabled, .light-theme .mat-mini-fab.mat-accent.mat-button-disabled, .light-theme .mat-mini-fab.mat-warn.mat-button-disabled, .light-theme .mat-mini-fab.mat-button-disabled.mat-button-disabled {
  color: rgba(0, 0, 0, 0.26);
}
.light-theme .mat-flat-button.mat-primary, .light-theme .mat-raised-button.mat-primary, .light-theme .mat-fab.mat-primary, .light-theme .mat-mini-fab.mat-primary {
  background-color: #1e40af;
}
.light-theme .mat-flat-button.mat-accent, .light-theme .mat-raised-button.mat-accent, .light-theme .mat-fab.mat-accent, .light-theme .mat-mini-fab.mat-accent {
  background-color: #1e40af;
}
.light-theme .mat-flat-button.mat-warn, .light-theme .mat-raised-button.mat-warn, .light-theme .mat-fab.mat-warn, .light-theme .mat-mini-fab.mat-warn {
  background-color: #e91414;
}
.light-theme .mat-flat-button.mat-primary.mat-button-disabled, .light-theme .mat-flat-button.mat-accent.mat-button-disabled, .light-theme .mat-flat-button.mat-warn.mat-button-disabled, .light-theme .mat-flat-button.mat-button-disabled.mat-button-disabled, .light-theme .mat-raised-button.mat-primary.mat-button-disabled, .light-theme .mat-raised-button.mat-accent.mat-button-disabled, .light-theme .mat-raised-button.mat-warn.mat-button-disabled, .light-theme .mat-raised-button.mat-button-disabled.mat-button-disabled, .light-theme .mat-fab.mat-primary.mat-button-disabled, .light-theme .mat-fab.mat-accent.mat-button-disabled, .light-theme .mat-fab.mat-warn.mat-button-disabled, .light-theme .mat-fab.mat-button-disabled.mat-button-disabled, .light-theme .mat-mini-fab.mat-primary.mat-button-disabled, .light-theme .mat-mini-fab.mat-accent.mat-button-disabled, .light-theme .mat-mini-fab.mat-warn.mat-button-disabled, .light-theme .mat-mini-fab.mat-button-disabled.mat-button-disabled {
  background-color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-flat-button.mat-primary .mat-ripple-element, .light-theme .mat-raised-button.mat-primary .mat-ripple-element, .light-theme .mat-fab.mat-primary .mat-ripple-element, .light-theme .mat-mini-fab.mat-primary .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.light-theme .mat-flat-button.mat-accent .mat-ripple-element, .light-theme .mat-raised-button.mat-accent .mat-ripple-element, .light-theme .mat-fab.mat-accent .mat-ripple-element, .light-theme .mat-mini-fab.mat-accent .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.light-theme .mat-flat-button.mat-warn .mat-ripple-element, .light-theme .mat-raised-button.mat-warn .mat-ripple-element, .light-theme .mat-fab.mat-warn .mat-ripple-element, .light-theme .mat-mini-fab.mat-warn .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.light-theme .mat-stroked-button:not([class*=mat-elevation-z]), .light-theme .mat-flat-button:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-raised-button:not([class*=mat-elevation-z]) {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]) {
  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-fab:not([class*=mat-elevation-z]), .light-theme .mat-mini-fab:not([class*=mat-elevation-z]) {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]), .light-theme .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]) {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]), .light-theme .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-button-toggle-standalone,
.light-theme .mat-button-toggle-group {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,
.light-theme .mat-button-toggle-group-appearance-standard {
  box-shadow: none;
}
.light-theme .mat-button-toggle {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-button-toggle .mat-button-toggle-focus-overlay {
  background-color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-button-toggle-appearance-standard {
  color: rgba(0, 0, 0, 0.87);
  background: white;
}
.light-theme .mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay {
  background-color: black;
}
.light-theme .mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {
  border-left: solid 1px rgba(0, 0, 0, 0.12);
}
.light-theme [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {
  border-left: none;
  border-right: solid 1px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle + .mat-button-toggle {
  border-left: none;
  border-right: none;
  border-top: solid 1px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-button-toggle-checked {
  background-color: #e0e0e0;
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-button-toggle-checked.mat-button-toggle-appearance-standard {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-button-toggle-disabled {
  color: rgba(0, 0, 0, 0.26);
  background-color: #eeeeee;
}
.light-theme .mat-button-toggle-disabled.mat-button-toggle-appearance-standard {
  background: white;
}
.light-theme .mat-button-toggle-disabled.mat-button-toggle-checked {
  background-color: #bdbdbd;
}
.light-theme .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,
.light-theme .mat-button-toggle-group-appearance-standard {
  border: solid 1px rgba(0, 0, 0, 0.12);
}
.mat-button-toggle-appearance-standard .mat-button-toggle-label-content {
  line-height: 48px;
}
.light-theme .mat-card {
  background: white;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-card:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-card.mat-card-flat:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-card-subtitle {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-checkbox-frame {
  border-color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-checkbox-checkmark {
  fill: #fafafa;
}
.light-theme .mat-checkbox-checkmark-path {
  stroke: #fafafa !important;
}
.light-theme .mat-checkbox-mixedmark {
  background-color: #fafafa;
}
.light-theme .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background, .light-theme .mat-checkbox-checked.mat-primary .mat-checkbox-background {
  background-color: #1e40af;
}
.light-theme .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background, .light-theme .mat-checkbox-checked.mat-accent .mat-checkbox-background {
  background-color: #1e40af;
}
.light-theme .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background, .light-theme .mat-checkbox-checked.mat-warn .mat-checkbox-background {
  background-color: #e91414;
}
.light-theme .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background, .light-theme .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background {
  background-color: #b0b0b0;
}
.light-theme .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame {
  border-color: #b0b0b0;
}
.light-theme .mat-checkbox-disabled .mat-checkbox-label {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-checkbox .mat-ripple-element {
  background-color: black;
}
.light-theme .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,
.light-theme .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element {
  background: #1e40af;
}
.light-theme .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,
.light-theme .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element {
  background: #1e40af;
}
.light-theme .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,
.light-theme .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element {
  background: #e91414;
}
.light-theme .mat-chip.mat-standard-chip {
  background-color: #e0e0e0;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-chip.mat-standard-chip .mat-chip-remove {
  color: rgba(0, 0, 0, 0.87);
  opacity: 0.4;
}
.light-theme .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active {
  box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover {
  opacity: 0.54;
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-disabled {
  opacity: 0.4;
}
.light-theme .mat-chip.mat-standard-chip::after {
  background: black;
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary {
  background-color: #1e40af;
  color: white;
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove {
  color: white;
  opacity: 0.4;
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn {
  background-color: #e91414;
  color: white;
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove {
  color: white;
  opacity: 0.4;
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent {
  background-color: #1e40af;
  color: white;
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove {
  color: white;
  opacity: 0.4;
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.light-theme .mat-table {
  background: white;
}
.light-theme .mat-table thead, .light-theme .mat-table tbody, .light-theme .mat-table tfoot,
.light-theme mat-header-row, .light-theme mat-row, .light-theme mat-footer-row,
.light-theme [mat-header-row], .light-theme [mat-row], .light-theme [mat-footer-row],
.light-theme .mat-table-sticky {
  background: inherit;
}
.light-theme mat-row, .light-theme mat-header-row, .light-theme mat-footer-row,
.light-theme th.mat-header-cell, .light-theme td.mat-cell, .light-theme td.mat-footer-cell {
  border-bottom-color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-header-cell {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-cell, .light-theme .mat-footer-cell {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-calendar-arrow {
  border-top-color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-datepicker-toggle,
.light-theme .mat-datepicker-content .mat-calendar-next-button,
.light-theme .mat-datepicker-content .mat-calendar-previous-button {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-calendar-table-header {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-calendar-table-header-divider::after {
  background: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-calendar-body-label {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-calendar-body-cell-content,
.light-theme .mat-date-range-input-separator {
  color: rgba(0, 0, 0, 0.87);
  border-color: transparent;
}
.light-theme .mat-calendar-body-disabled > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-form-field-disabled .mat-date-range-input-separator {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-calendar-body-in-preview {
  color: rgba(0, 0, 0, 0.24);
}
.light-theme .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  border-color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-calendar-body-disabled > .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  border-color: rgba(0, 0, 0, 0.18);
}
.light-theme .mat-calendar-body-in-range::before {
  background: rgba(30, 64, 175, 0.2);
}
.light-theme .mat-calendar-body-comparison-identical,
.light-theme .mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}
.light-theme .mat-calendar-body-comparison-bridge-start::before,
.light-theme [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(30, 64, 175, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.light-theme .mat-calendar-body-comparison-bridge-end::before,
.light-theme [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(30, 64, 175, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.light-theme .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.light-theme .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}
.light-theme .mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.light-theme .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}
.light-theme .mat-calendar-body-selected {
  background-color: #1e40af;
  color: white;
}
.light-theme .mat-calendar-body-disabled > .mat-calendar-body-selected {
  background-color: rgba(30, 64, 175, 0.4);
}
.light-theme .mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px white;
}
.light-theme .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.light-theme .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.light-theme .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(30, 64, 175, 0.3);
}
.light-theme .mat-datepicker-content {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
  background-color: white;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-range::before {
  background: rgba(30, 64, 175, 0.2);
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start::before,
.light-theme .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(30, 64, 175, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end::before,
.light-theme .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(30, 64, 175, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-selected {
  background-color: #1e40af;
  color: white;
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-disabled > .mat-calendar-body-selected {
  background-color: rgba(30, 64, 175, 0.4);
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px white;
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.light-theme .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.light-theme .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(30, 64, 175, 0.3);
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-range::before {
  background: rgba(233, 20, 20, 0.2);
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start::before,
.light-theme .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(233, 20, 20, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end::before,
.light-theme .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(233, 20, 20, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-selected {
  background-color: #e91414;
  color: white;
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-disabled > .mat-calendar-body-selected {
  background-color: rgba(233, 20, 20, 0.4);
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px white;
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.light-theme .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.light-theme .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(233, 20, 20, 0.3);
}
.light-theme .mat-datepicker-content-touch {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-datepicker-toggle-active {
  color: #1e40af;
}
.light-theme .mat-datepicker-toggle-active.mat-accent {
  color: #1e40af;
}
.light-theme .mat-datepicker-toggle-active.mat-warn {
  color: #e91414;
}
.light-theme .mat-date-range-input-inner[disabled] {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-dialog-container {
  box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
  background: white;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-divider {
  border-top-color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-divider-vertical {
  border-right-color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-expansion-panel {
  background: white;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-expansion-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-action-row {
  border-top-color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]), .light-theme .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]), .light-theme .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]) {
  background: rgba(0, 0, 0, 0.04);
}
@media (hover: none) {
  .light-theme .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover {
    background: white;
  }
}
.light-theme .mat-expansion-panel-header-title {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-expansion-panel-header-description,
.light-theme .mat-expansion-indicator::after {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-expansion-panel-header[aria-disabled=true] {
  color: rgba(0, 0, 0, 0.26);
}
.light-theme .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,
.light-theme .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description {
  color: inherit;
}
.mat-expansion-panel-header {
  height: 48px;
}
.mat-expansion-panel-header.mat-expanded {
  height: 64px;
}
.light-theme .mat-form-field-label {
  color: rgba(0, 0, 0, 0.6);
}
.light-theme .mat-hint {
  color: rgba(0, 0, 0, 0.6);
}
.light-theme .mat-form-field.mat-focused .mat-form-field-label {
  color: #1e40af;
}
.light-theme .mat-form-field.mat-focused .mat-form-field-label.mat-accent {
  color: #1e40af;
}
.light-theme .mat-form-field.mat-focused .mat-form-field-label.mat-warn {
  color: #e91414;
}
.light-theme .mat-focused .mat-form-field-required-marker {
  color: #1e40af;
}
.light-theme .mat-form-field-ripple {
  background-color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-form-field.mat-focused .mat-form-field-ripple {
  background-color: #1e40af;
}
.light-theme .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent {
  background-color: #1e40af;
}
.light-theme .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn {
  background-color: #e91414;
}
.light-theme .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix::after {
  color: #1e40af;
}
.light-theme .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix::after {
  color: #1e40af;
}
.light-theme .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix::after {
  color: #e91414;
}
.light-theme .mat-form-field.mat-form-field-invalid .mat-form-field-label {
  color: #e91414;
}
.light-theme .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,
.light-theme .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker {
  color: #e91414;
}
.light-theme .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,
.light-theme .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent {
  background-color: #e91414;
}
.light-theme .mat-error {
  color: #e91414;
}
.light-theme .mat-form-field-appearance-legacy .mat-form-field-label {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-form-field-appearance-legacy .mat-hint {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-form-field-appearance-legacy .mat-form-field-underline {
  background-color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.42) 33%, transparent 0%);
  background-size: 4px 100%;
  background-repeat: repeat-x;
}
.light-theme .mat-form-field-appearance-standard .mat-form-field-underline {
  background-color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.42) 33%, transparent 0%);
  background-size: 4px 100%;
  background-repeat: repeat-x;
}
.light-theme .mat-form-field-appearance-fill .mat-form-field-flex {
  background-color: rgba(0, 0, 0, 0.04);
}
.light-theme .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex {
  background-color: rgba(0, 0, 0, 0.02);
}
.light-theme .mat-form-field-appearance-fill .mat-form-field-underline::before {
  background-color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline::before {
  background-color: transparent;
}
.light-theme .mat-form-field-appearance-outline .mat-form-field-outline {
  color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-form-field-appearance-outline .mat-form-field-outline-thick {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick {
  color: #1e40af;
}
.light-theme .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick {
  color: #1e40af;
}
.light-theme .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick {
  color: #e91414;
}
.light-theme .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick {
  color: #e91414;
}
.light-theme .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline {
  color: rgba(0, 0, 0, 0.06);
}
.light-theme .mat-icon.mat-primary {
  color: #1e40af;
}
.light-theme .mat-icon.mat-accent {
  color: #1e40af;
}
.light-theme .mat-icon.mat-warn {
  color: #e91414;
}
.light-theme .mat-form-field-type-mat-native-select .mat-form-field-infix::after {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-input-element:disabled,
.light-theme .mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix::after {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-input-element {
  caret-color: #1e40af;
}
.light-theme .mat-input-element::-moz-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-input-element:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-input-element::placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-input-element::-moz-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-input-element::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-input-element:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-form-field.mat-accent .mat-input-element {
  caret-color: #1e40af;
}
.light-theme .mat-form-field.mat-warn .mat-input-element,
.light-theme .mat-form-field-invalid .mat-input-element {
  caret-color: #e91414;
}
.light-theme .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix::after {
  color: #e91414;
}
.light-theme .mat-list-base .mat-list-item {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-list-base .mat-list-option {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-list-base .mat-subheader {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-list-item-disabled {
  background-color: #eeeeee;
}
.light-theme .mat-list-option:hover, .light-theme .mat-list-option:focus,
.light-theme .mat-nav-list .mat-list-item:hover,
.light-theme .mat-nav-list .mat-list-item:focus,
.light-theme .mat-action-list .mat-list-item:hover,
.light-theme .mat-action-list .mat-list-item:focus {
  background: rgba(0, 0, 0, 0.04);
}
.light-theme .mat-list-single-selected-option, .light-theme .mat-list-single-selected-option:hover, .light-theme .mat-list-single-selected-option:focus {
  background: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-menu-panel {
  background: white;
}
.light-theme .mat-menu-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-menu-item {
  background: transparent;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-menu-item[disabled], .light-theme .mat-menu-item[disabled]::after,
.light-theme .mat-menu-item[disabled] .mat-icon-no-color {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-menu-item .mat-icon-no-color,
.light-theme .mat-menu-item-submenu-trigger::after {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-menu-item:hover:not([disabled]),
.light-theme .mat-menu-item.cdk-program-focused:not([disabled]),
.light-theme .mat-menu-item.cdk-keyboard-focused:not([disabled]),
.light-theme .mat-menu-item-highlighted:not([disabled]) {
  background: rgba(0, 0, 0, 0.04);
}
.light-theme .mat-paginator {
  background: white;
}
.light-theme .mat-paginator,
.light-theme .mat-paginator-page-size .mat-select-trigger {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-paginator-decrement,
.light-theme .mat-paginator-increment {
  border-top: 2px solid rgba(0, 0, 0, 0.54);
  border-right: 2px solid rgba(0, 0, 0, 0.54);
}
.light-theme .mat-paginator-first,
.light-theme .mat-paginator-last {
  border-top: 2px solid rgba(0, 0, 0, 0.54);
}
.light-theme .mat-icon-button[disabled] .mat-paginator-decrement,
.light-theme .mat-icon-button[disabled] .mat-paginator-increment,
.light-theme .mat-icon-button[disabled] .mat-paginator-first,
.light-theme .mat-icon-button[disabled] .mat-paginator-last {
  border-color: rgba(0, 0, 0, 0.38);
}
.mat-paginator-container {
  min-height: 56px;
}
.light-theme .mat-progress-bar-background {
  fill: #dbeafe;
}
.light-theme .mat-progress-bar-buffer {
  background-color: #dbeafe;
}
.light-theme .mat-progress-bar-fill::after {
  background-color: #1e40af;
}
.light-theme .mat-progress-bar.mat-accent .mat-progress-bar-background {
  fill: #dbeafe;
}
.light-theme .mat-progress-bar.mat-accent .mat-progress-bar-buffer {
  background-color: #dbeafe;
}
.light-theme .mat-progress-bar.mat-accent .mat-progress-bar-fill::after {
  background-color: #1e40af;
}
.light-theme .mat-progress-bar.mat-warn .mat-progress-bar-background {
  fill: #f0b9b9;
}
.light-theme .mat-progress-bar.mat-warn .mat-progress-bar-buffer {
  background-color: #f0b9b9;
}
.light-theme .mat-progress-bar.mat-warn .mat-progress-bar-fill::after {
  background-color: #e91414;
}
.light-theme .mat-progress-spinner circle, .light-theme .mat-spinner circle {
  stroke: #1e40af;
}
.light-theme .mat-progress-spinner.mat-accent circle, .light-theme .mat-spinner.mat-accent circle {
  stroke: #1e40af;
}
.light-theme .mat-progress-spinner.mat-warn circle, .light-theme .mat-spinner.mat-warn circle {
  stroke: #e91414;
}
.light-theme .mat-radio-outer-circle {
  border-color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle {
  border-color: #1e40af;
}
.light-theme .mat-radio-button.mat-primary .mat-radio-inner-circle,
.light-theme .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .light-theme .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple, .light-theme .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple {
  background-color: #1e40af;
}
.light-theme .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle {
  border-color: #1e40af;
}
.light-theme .mat-radio-button.mat-accent .mat-radio-inner-circle,
.light-theme .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .light-theme .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple, .light-theme .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple {
  background-color: #1e40af;
}
.light-theme .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle {
  border-color: #e91414;
}
.light-theme .mat-radio-button.mat-warn .mat-radio-inner-circle,
.light-theme .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .light-theme .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple, .light-theme .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple {
  background-color: #e91414;
}
.light-theme .mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,
.light-theme .mat-radio-button.mat-radio-disabled .mat-radio-outer-circle {
  border-color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element,
.light-theme .mat-radio-button.mat-radio-disabled .mat-radio-inner-circle {
  background-color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-radio-button.mat-radio-disabled .mat-radio-label-content {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-radio-button .mat-ripple-element {
  background-color: black;
}
.light-theme .mat-select-value {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-select-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-select-disabled .mat-select-value {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-select-arrow {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-select-panel {
  background: white;
}
.light-theme .mat-select-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple) {
  background: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-form-field.mat-focused.mat-primary .mat-select-arrow {
  color: #1e40af;
}
.light-theme .mat-form-field.mat-focused.mat-accent .mat-select-arrow {
  color: #1e40af;
}
.light-theme .mat-form-field.mat-focused.mat-warn .mat-select-arrow {
  color: #e91414;
}
.light-theme .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow {
  color: #e91414;
}
.light-theme .mat-form-field .mat-select.mat-select-disabled .mat-select-arrow {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-drawer-container {
  background-color: #fafafa;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-drawer {
  background-color: white;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-drawer.mat-drawer-push {
  background-color: white;
}
.light-theme .mat-drawer:not(.mat-drawer-side) {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-drawer-side {
  border-right: solid 1px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-drawer-side.mat-drawer-end {
  border-left: solid 1px rgba(0, 0, 0, 0.12);
  border-right: none;
}
.light-theme [dir=rtl] .mat-drawer-side {
  border-left: solid 1px rgba(0, 0, 0, 0.12);
  border-right: none;
}
.light-theme [dir=rtl] .mat-drawer-side.mat-drawer-end {
  border-left: none;
  border-right: solid 1px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-drawer-backdrop.mat-drawer-shown {
  background-color: rgba(0, 0, 0, 0.6);
}
.light-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb {
  background-color: #1e40af;
}
.light-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-bar {
  background-color: rgba(30, 64, 175, 0.54);
}
.light-theme .mat-slide-toggle.mat-checked .mat-ripple-element {
  background-color: #1e40af;
}
.light-theme .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb {
  background-color: #1e40af;
}
.light-theme .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar {
  background-color: rgba(30, 64, 175, 0.54);
}
.light-theme .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element {
  background-color: #1e40af;
}
.light-theme .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb {
  background-color: #e91414;
}
.light-theme .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar {
  background-color: rgba(233, 20, 20, 0.54);
}
.light-theme .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element {
  background-color: #e91414;
}
.light-theme .mat-slide-toggle:not(.mat-checked) .mat-ripple-element {
  background-color: black;
}
.light-theme .mat-slide-toggle-thumb {
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
  background-color: #fafafa;
}
.light-theme .mat-slide-toggle-bar {
  background-color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-slider-track-background {
  background-color: rgba(0, 0, 0, 0.26);
}
.light-theme .mat-primary .mat-slider-track-fill,
.light-theme .mat-primary .mat-slider-thumb,
.light-theme .mat-primary .mat-slider-thumb-label {
  background-color: #1e40af;
}
.light-theme .mat-primary .mat-slider-thumb-label-text {
  color: white;
}
.light-theme .mat-primary .mat-slider-focus-ring {
  background-color: rgba(30, 64, 175, 0.2);
}
.light-theme .mat-accent .mat-slider-track-fill,
.light-theme .mat-accent .mat-slider-thumb,
.light-theme .mat-accent .mat-slider-thumb-label {
  background-color: #1e40af;
}
.light-theme .mat-accent .mat-slider-thumb-label-text {
  color: white;
}
.light-theme .mat-accent .mat-slider-focus-ring {
  background-color: rgba(30, 64, 175, 0.2);
}
.light-theme .mat-warn .mat-slider-track-fill,
.light-theme .mat-warn .mat-slider-thumb,
.light-theme .mat-warn .mat-slider-thumb-label {
  background-color: #e91414;
}
.light-theme .mat-warn .mat-slider-thumb-label-text {
  color: white;
}
.light-theme .mat-warn .mat-slider-focus-ring {
  background-color: rgba(233, 20, 20, 0.2);
}
.light-theme .mat-slider:hover .mat-slider-track-background,
.light-theme .cdk-focused .mat-slider-track-background {
  background-color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-slider-disabled .mat-slider-track-background,
.light-theme .mat-slider-disabled .mat-slider-track-fill,
.light-theme .mat-slider-disabled .mat-slider-thumb {
  background-color: rgba(0, 0, 0, 0.26);
}
.light-theme .mat-slider-disabled:hover .mat-slider-track-background {
  background-color: rgba(0, 0, 0, 0.26);
}
.light-theme .mat-slider-min-value .mat-slider-focus-ring {
  background-color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,
.light-theme .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label {
  background-color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,
.light-theme .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label {
  background-color: rgba(0, 0, 0, 0.26);
}
.light-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb {
  border-color: rgba(0, 0, 0, 0.26);
  background-color: transparent;
}
.light-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb, .light-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb {
  border-color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb, .light-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb {
  border-color: rgba(0, 0, 0, 0.26);
}
.light-theme .mat-slider-has-ticks .mat-slider-wrapper::after {
  border-color: rgba(0, 0, 0, 0.7);
}
.light-theme .mat-slider-horizontal .mat-slider-ticks {
  background-image: repeating-linear-gradient(to right, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent);
  background-image: -moz-repeating-linear-gradient(0.0001deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent);
}
.light-theme .mat-slider-vertical .mat-slider-ticks {
  background-image: repeating-linear-gradient(to bottom, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent);
}
.light-theme .mat-step-header.cdk-keyboard-focused, .light-theme .mat-step-header.cdk-program-focused, .light-theme .mat-step-header:hover {
  background-color: rgba(0, 0, 0, 0.04);
}
@media (hover: none) {
  .light-theme .mat-step-header:hover {
    background: none;
  }
}
.light-theme .mat-step-header .mat-step-label,
.light-theme .mat-step-header .mat-step-optional {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-step-header .mat-step-icon {
  background-color: rgba(0, 0, 0, 0.54);
  color: white;
}
.light-theme .mat-step-header .mat-step-icon-selected,
.light-theme .mat-step-header .mat-step-icon-state-done,
.light-theme .mat-step-header .mat-step-icon-state-edit {
  background-color: #1e40af;
  color: white;
}
.light-theme .mat-step-header.mat-accent .mat-step-icon {
  color: white;
}
.light-theme .mat-step-header.mat-accent .mat-step-icon-selected,
.light-theme .mat-step-header.mat-accent .mat-step-icon-state-done,
.light-theme .mat-step-header.mat-accent .mat-step-icon-state-edit {
  background-color: #1e40af;
  color: white;
}
.light-theme .mat-step-header.mat-warn .mat-step-icon {
  color: white;
}
.light-theme .mat-step-header.mat-warn .mat-step-icon-selected,
.light-theme .mat-step-header.mat-warn .mat-step-icon-state-done,
.light-theme .mat-step-header.mat-warn .mat-step-icon-state-edit {
  background-color: #e91414;
  color: white;
}
.light-theme .mat-step-header .mat-step-icon-state-error {
  background-color: transparent;
  color: #e91414;
}
.light-theme .mat-step-header .mat-step-label.mat-step-label-active {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-step-header .mat-step-label.mat-step-label-error {
  color: #e91414;
}
.light-theme .mat-stepper-horizontal, .light-theme .mat-stepper-vertical {
  background-color: white;
}
.light-theme .mat-stepper-vertical-line::before {
  border-left-color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-horizontal-stepper-header::before,
.light-theme .mat-horizontal-stepper-header::after,
.light-theme .mat-stepper-horizontal-line {
  border-top-color: rgba(0, 0, 0, 0.12);
}
.mat-horizontal-stepper-header {
  height: 72px;
}
.mat-stepper-label-position-bottom .mat-horizontal-stepper-header,
.mat-vertical-stepper-header {
  padding: 24px 24px;
}
.mat-stepper-vertical-line::before {
  top: -16px;
  bottom: -16px;
}
.mat-stepper-label-position-bottom .mat-horizontal-stepper-header::after, .mat-stepper-label-position-bottom .mat-horizontal-stepper-header::before {
  top: 36px;
}
.mat-stepper-label-position-bottom .mat-stepper-horizontal-line {
  top: 36px;
}
.light-theme .mat-sort-header-arrow {
  color: #757575;
}
.light-theme .mat-tab-nav-bar,
.light-theme .mat-tab-header {
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}
.light-theme .mat-tab-group-inverted-header .mat-tab-nav-bar,
.light-theme .mat-tab-group-inverted-header .mat-tab-header {
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  border-bottom: none;
}
.light-theme .mat-tab-label, .light-theme .mat-tab-link {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-tab-label.mat-tab-disabled, .light-theme .mat-tab-link.mat-tab-disabled {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-tab-header-pagination-chevron {
  border-color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-tab-group[class*=mat-background-] .mat-tab-header,
.light-theme .mat-tab-nav-bar[class*=mat-background-] {
  border-bottom: none;
  border-top: none;
}
.light-theme .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(219, 234, 254, 0.3);
}
.light-theme .mat-tab-group.mat-primary .mat-ink-bar, .light-theme .mat-tab-nav-bar.mat-primary .mat-ink-bar {
  background-color: #1e40af;
}
.light-theme .mat-tab-group.mat-primary.mat-background-primary > .mat-tab-header .mat-ink-bar, .light-theme .mat-tab-group.mat-primary.mat-background-primary > .mat-tab-link-container .mat-ink-bar, .light-theme .mat-tab-nav-bar.mat-primary.mat-background-primary > .mat-tab-header .mat-ink-bar, .light-theme .mat-tab-nav-bar.mat-primary.mat-background-primary > .mat-tab-link-container .mat-ink-bar {
  background-color: white;
}
.light-theme .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(219, 234, 254, 0.3);
}
.light-theme .mat-tab-group.mat-accent .mat-ink-bar, .light-theme .mat-tab-nav-bar.mat-accent .mat-ink-bar {
  background-color: #1e40af;
}
.light-theme .mat-tab-group.mat-accent.mat-background-accent > .mat-tab-header .mat-ink-bar, .light-theme .mat-tab-group.mat-accent.mat-background-accent > .mat-tab-link-container .mat-ink-bar, .light-theme .mat-tab-nav-bar.mat-accent.mat-background-accent > .mat-tab-header .mat-ink-bar, .light-theme .mat-tab-nav-bar.mat-accent.mat-background-accent > .mat-tab-link-container .mat-ink-bar {
  background-color: white;
}
.light-theme .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(240, 185, 185, 0.3);
}
.light-theme .mat-tab-group.mat-warn .mat-ink-bar, .light-theme .mat-tab-nav-bar.mat-warn .mat-ink-bar {
  background-color: #e91414;
}
.light-theme .mat-tab-group.mat-warn.mat-background-warn > .mat-tab-header .mat-ink-bar, .light-theme .mat-tab-group.mat-warn.mat-background-warn > .mat-tab-link-container .mat-ink-bar, .light-theme .mat-tab-nav-bar.mat-warn.mat-background-warn > .mat-tab-header .mat-ink-bar, .light-theme .mat-tab-nav-bar.mat-warn.mat-background-warn > .mat-tab-link-container .mat-ink-bar {
  background-color: white;
}
.light-theme .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(219, 234, 254, 0.3);
}
.light-theme .mat-tab-group.mat-background-primary > .mat-tab-header, .light-theme .mat-tab-group.mat-background-primary > .mat-tab-link-container, .light-theme .mat-tab-group.mat-background-primary > .mat-tab-header-pagination, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header-pagination {
  background-color: #1e40af;
}
.light-theme .mat-tab-group.mat-background-primary > .mat-tab-header .mat-tab-label, .light-theme .mat-tab-group.mat-background-primary > .mat-tab-link-container .mat-tab-link, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-tab-label, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container .mat-tab-link {
  color: white;
}
.light-theme .mat-tab-group.mat-background-primary > .mat-tab-header .mat-tab-label.mat-tab-disabled, .light-theme .mat-tab-group.mat-background-primary > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-tab-label.mat-tab-disabled, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {
  color: rgba(255, 255, 255, 0.4);
}
.light-theme .mat-tab-group.mat-background-primary > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.light-theme .mat-tab-group.mat-background-primary > .mat-tab-links .mat-focus-indicator::before,
.light-theme .mat-tab-group.mat-background-primary > .mat-tab-header .mat-focus-indicator::before, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-links .mat-focus-indicator::before,
.light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-focus-indicator::before {
  border-color: white;
}
.light-theme .mat-tab-group.mat-background-primary > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(255, 255, 255, 0.4);
}
.light-theme .mat-tab-group.mat-background-primary > .mat-tab-header .mat-ripple-element,
.light-theme .mat-tab-group.mat-background-primary > .mat-tab-link-container .mat-ripple-element, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-ripple-element,
.light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.12);
}
.light-theme .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(219, 234, 254, 0.3);
}
.light-theme .mat-tab-group.mat-background-accent > .mat-tab-header, .light-theme .mat-tab-group.mat-background-accent > .mat-tab-link-container, .light-theme .mat-tab-group.mat-background-accent > .mat-tab-header-pagination, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header-pagination {
  background-color: #1e40af;
}
.light-theme .mat-tab-group.mat-background-accent > .mat-tab-header .mat-tab-label, .light-theme .mat-tab-group.mat-background-accent > .mat-tab-link-container .mat-tab-link, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-tab-label, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container .mat-tab-link {
  color: white;
}
.light-theme .mat-tab-group.mat-background-accent > .mat-tab-header .mat-tab-label.mat-tab-disabled, .light-theme .mat-tab-group.mat-background-accent > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-tab-label.mat-tab-disabled, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {
  color: rgba(255, 255, 255, 0.4);
}
.light-theme .mat-tab-group.mat-background-accent > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.light-theme .mat-tab-group.mat-background-accent > .mat-tab-links .mat-focus-indicator::before,
.light-theme .mat-tab-group.mat-background-accent > .mat-tab-header .mat-focus-indicator::before, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-links .mat-focus-indicator::before,
.light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-focus-indicator::before {
  border-color: white;
}
.light-theme .mat-tab-group.mat-background-accent > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(255, 255, 255, 0.4);
}
.light-theme .mat-tab-group.mat-background-accent > .mat-tab-header .mat-ripple-element,
.light-theme .mat-tab-group.mat-background-accent > .mat-tab-link-container .mat-ripple-element, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-ripple-element,
.light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.12);
}
.light-theme .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(240, 185, 185, 0.3);
}
.light-theme .mat-tab-group.mat-background-warn > .mat-tab-header, .light-theme .mat-tab-group.mat-background-warn > .mat-tab-link-container, .light-theme .mat-tab-group.mat-background-warn > .mat-tab-header-pagination, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination {
  background-color: #e91414;
}
.light-theme .mat-tab-group.mat-background-warn > .mat-tab-header .mat-tab-label, .light-theme .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-tab-link, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-tab-label, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-tab-link {
  color: white;
}
.light-theme .mat-tab-group.mat-background-warn > .mat-tab-header .mat-tab-label.mat-tab-disabled, .light-theme .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-tab-label.mat-tab-disabled, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {
  color: rgba(255, 255, 255, 0.4);
}
.light-theme .mat-tab-group.mat-background-warn > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.light-theme .mat-tab-group.mat-background-warn > .mat-tab-links .mat-focus-indicator::before,
.light-theme .mat-tab-group.mat-background-warn > .mat-tab-header .mat-focus-indicator::before, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-links .mat-focus-indicator::before,
.light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-focus-indicator::before {
  border-color: white;
}
.light-theme .mat-tab-group.mat-background-warn > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(255, 255, 255, 0.4);
}
.light-theme .mat-tab-group.mat-background-warn > .mat-tab-header .mat-ripple-element,
.light-theme .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-ripple-element, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-ripple-element,
.light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.12);
}
.light-theme .mat-toolbar {
  background: whitesmoke;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-toolbar.mat-primary {
  background: #1e40af;
  color: white;
}
.light-theme .mat-toolbar.mat-accent {
  background: #1e40af;
  color: white;
}
.light-theme .mat-toolbar.mat-warn {
  background: #e91414;
  color: white;
}
.light-theme .mat-toolbar .mat-form-field-underline,
.light-theme .mat-toolbar .mat-form-field-ripple,
.light-theme .mat-toolbar .mat-focused .mat-form-field-ripple {
  background-color: currentColor;
}
.light-theme .mat-toolbar .mat-form-field-label,
.light-theme .mat-toolbar .mat-focused .mat-form-field-label,
.light-theme .mat-toolbar .mat-select-value,
.light-theme .mat-toolbar .mat-select-arrow,
.light-theme .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow {
  color: inherit;
}
.light-theme .mat-toolbar .mat-input-element {
  caret-color: currentColor;
}
.mat-toolbar-multiple-rows {
  min-height: 64px;
}
.mat-toolbar-row, .mat-toolbar-single-row {
  height: 64px;
}
@media (max-width: 599px) {
  .mat-toolbar-multiple-rows {
    min-height: 56px;
  }

  .mat-toolbar-row, .mat-toolbar-single-row {
    height: 56px;
  }
}
.light-theme .mat-tooltip {
  background: rgba(97, 97, 97, 0.9);
}
.light-theme .mat-tree {
  background: white;
}
.light-theme .mat-tree-node,
.light-theme .mat-nested-tree-node {
  color: rgba(0, 0, 0, 0.87);
}
.mat-tree-node {
  min-height: 48px;
}
.light-theme .mat-snack-bar-container {
  color: rgba(255, 255, 255, 0.7);
  background: #323232;
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-simple-snackbar-action {
  color: #1e40af;
}
.dark-theme .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.dark-theme .mat-option {
  color: white;
}
.dark-theme .mat-option:hover:not(.mat-option-disabled), .dark-theme .mat-option:focus:not(.mat-option-disabled) {
  background: rgba(255, 255, 255, 0.04);
}
.dark-theme .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled) {
  background: rgba(255, 255, 255, 0.04);
}
.dark-theme .mat-option.mat-active {
  background: rgba(255, 255, 255, 0.04);
  color: white;
}
.dark-theme .mat-option.mat-option-disabled {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-primary .mat-option.mat-selected:not(.mat-option-disabled) {
  color: #60a5fa;
}
.dark-theme .mat-accent .mat-option.mat-selected:not(.mat-option-disabled) {
  color: #60a5fa;
}
.dark-theme .mat-warn .mat-option.mat-selected:not(.mat-option-disabled) {
  color: #e91414;
}
.dark-theme .mat-optgroup-label {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-optgroup-disabled .mat-optgroup-label {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-pseudo-checkbox {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-pseudo-checkbox::after {
  color: #303030;
}
.dark-theme .mat-pseudo-checkbox-disabled {
  color: #686868;
}
.dark-theme .mat-primary .mat-pseudo-checkbox-checked,
.dark-theme .mat-primary .mat-pseudo-checkbox-indeterminate {
  background: #60a5fa;
}
.dark-theme .mat-pseudo-checkbox-checked,
.dark-theme .mat-pseudo-checkbox-indeterminate,
.dark-theme .mat-accent .mat-pseudo-checkbox-checked,
.dark-theme .mat-accent .mat-pseudo-checkbox-indeterminate {
  background: #60a5fa;
}
.dark-theme .mat-warn .mat-pseudo-checkbox-checked,
.dark-theme .mat-warn .mat-pseudo-checkbox-indeterminate {
  background: #e91414;
}
.dark-theme .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,
.dark-theme .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled {
  background: #686868;
}
.dark-theme .mat-app-background, .dark-theme.mat-app-background {
  background-color: #303030;
  color: white;
}
.dark-theme .mat-elevation-z0 {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z1 {
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z2 {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z3 {
  box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z4 {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z5 {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 5px 8px 0px rgba(0, 0, 0, 0.14), 0px 1px 14px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z6 {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z7 {
  box-shadow: 0px 4px 5px -2px rgba(0, 0, 0, 0.2), 0px 7px 10px 1px rgba(0, 0, 0, 0.14), 0px 2px 16px 1px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z8 {
  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z9 {
  box-shadow: 0px 5px 6px -3px rgba(0, 0, 0, 0.2), 0px 9px 12px 1px rgba(0, 0, 0, 0.14), 0px 3px 16px 2px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z10 {
  box-shadow: 0px 6px 6px -3px rgba(0, 0, 0, 0.2), 0px 10px 14px 1px rgba(0, 0, 0, 0.14), 0px 4px 18px 3px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z11 {
  box-shadow: 0px 6px 7px -4px rgba(0, 0, 0, 0.2), 0px 11px 15px 1px rgba(0, 0, 0, 0.14), 0px 4px 20px 3px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z12 {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z13 {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 13px 19px 2px rgba(0, 0, 0, 0.14), 0px 5px 24px 4px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z14 {
  box-shadow: 0px 7px 9px -4px rgba(0, 0, 0, 0.2), 0px 14px 21px 2px rgba(0, 0, 0, 0.14), 0px 5px 26px 4px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z15 {
  box-shadow: 0px 8px 9px -5px rgba(0, 0, 0, 0.2), 0px 15px 22px 2px rgba(0, 0, 0, 0.14), 0px 6px 28px 5px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z16 {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z17 {
  box-shadow: 0px 8px 11px -5px rgba(0, 0, 0, 0.2), 0px 17px 26px 2px rgba(0, 0, 0, 0.14), 0px 6px 32px 5px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z18 {
  box-shadow: 0px 9px 11px -5px rgba(0, 0, 0, 0.2), 0px 18px 28px 2px rgba(0, 0, 0, 0.14), 0px 7px 34px 6px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z19 {
  box-shadow: 0px 9px 12px -6px rgba(0, 0, 0, 0.2), 0px 19px 29px 2px rgba(0, 0, 0, 0.14), 0px 7px 36px 6px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z20 {
  box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 20px 31px 3px rgba(0, 0, 0, 0.14), 0px 8px 38px 7px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z21 {
  box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 21px 33px 3px rgba(0, 0, 0, 0.14), 0px 8px 40px 7px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z22 {
  box-shadow: 0px 10px 14px -6px rgba(0, 0, 0, 0.2), 0px 22px 35px 3px rgba(0, 0, 0, 0.14), 0px 8px 42px 7px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z23 {
  box-shadow: 0px 11px 14px -7px rgba(0, 0, 0, 0.2), 0px 23px 36px 3px rgba(0, 0, 0, 0.14), 0px 9px 44px 8px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z24 {
  box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
}
.mat-theme-loaded-marker {
  display: none;
}
.dark-theme .mat-autocomplete-panel {
  background: #424242;
  color: white;
}
.dark-theme .mat-autocomplete-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover) {
  background: #424242;
}
.dark-theme .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled) {
  color: white;
}
.dark-theme .mat-badge-content {
  color: white;
  background: #60a5fa;
}
.cdk-high-contrast-active .dark-theme .mat-badge-content {
  outline: solid 1px;
  border-radius: 0;
}
.dark-theme .mat-badge-accent .mat-badge-content {
  background: #60a5fa;
  color: white;
}
.dark-theme .mat-badge-warn .mat-badge-content {
  color: white;
  background: #e91414;
}
.dark-theme .mat-badge {
  position: relative;
}
.dark-theme .mat-badge-hidden .mat-badge-content {
  display: none;
}
.dark-theme .mat-badge-disabled .mat-badge-content {
  background: #6e6e6e;
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-badge-content {
  position: absolute;
  text-align: center;
  display: inline-block;
  border-radius: 50%;
  transition: transform 200ms ease-in-out;
  transform: scale(0.6);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  pointer-events: none;
}
.dark-theme .ng-animate-disabled .mat-badge-content,
.dark-theme .mat-badge-content._mat-animation-noopable {
  transition: none;
}
.dark-theme .mat-badge-content.mat-badge-active {
  transform: none;
}
.dark-theme .mat-badge-small .mat-badge-content {
  width: 16px;
  height: 16px;
  line-height: 16px;
}
.dark-theme .mat-badge-small.mat-badge-above .mat-badge-content {
  top: -8px;
}
.dark-theme .mat-badge-small.mat-badge-below .mat-badge-content {
  bottom: -8px;
}
.dark-theme .mat-badge-small.mat-badge-before .mat-badge-content {
  left: -16px;
}
[dir=rtl] .dark-theme .mat-badge-small.mat-badge-before .mat-badge-content {
  left: auto;
  right: -16px;
}
.dark-theme .mat-badge-small.mat-badge-after .mat-badge-content {
  right: -16px;
}
[dir=rtl] .dark-theme .mat-badge-small.mat-badge-after .mat-badge-content {
  right: auto;
  left: -16px;
}
.dark-theme .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: -8px;
}
[dir=rtl] .dark-theme .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: auto;
  right: -8px;
}
.dark-theme .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: -8px;
}
[dir=rtl] .dark-theme .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: auto;
  left: -8px;
}
.dark-theme .mat-badge-medium .mat-badge-content {
  width: 22px;
  height: 22px;
  line-height: 22px;
}
.dark-theme .mat-badge-medium.mat-badge-above .mat-badge-content {
  top: -11px;
}
.dark-theme .mat-badge-medium.mat-badge-below .mat-badge-content {
  bottom: -11px;
}
.dark-theme .mat-badge-medium.mat-badge-before .mat-badge-content {
  left: -22px;
}
[dir=rtl] .dark-theme .mat-badge-medium.mat-badge-before .mat-badge-content {
  left: auto;
  right: -22px;
}
.dark-theme .mat-badge-medium.mat-badge-after .mat-badge-content {
  right: -22px;
}
[dir=rtl] .dark-theme .mat-badge-medium.mat-badge-after .mat-badge-content {
  right: auto;
  left: -22px;
}
.dark-theme .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: -11px;
}
[dir=rtl] .dark-theme .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: auto;
  right: -11px;
}
.dark-theme .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: -11px;
}
[dir=rtl] .dark-theme .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: auto;
  left: -11px;
}
.dark-theme .mat-badge-large .mat-badge-content {
  width: 28px;
  height: 28px;
  line-height: 28px;
}
.dark-theme .mat-badge-large.mat-badge-above .mat-badge-content {
  top: -14px;
}
.dark-theme .mat-badge-large.mat-badge-below .mat-badge-content {
  bottom: -14px;
}
.dark-theme .mat-badge-large.mat-badge-before .mat-badge-content {
  left: -28px;
}
[dir=rtl] .dark-theme .mat-badge-large.mat-badge-before .mat-badge-content {
  left: auto;
  right: -28px;
}
.dark-theme .mat-badge-large.mat-badge-after .mat-badge-content {
  right: -28px;
}
[dir=rtl] .dark-theme .mat-badge-large.mat-badge-after .mat-badge-content {
  right: auto;
  left: -28px;
}
.dark-theme .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: -14px;
}
[dir=rtl] .dark-theme .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: auto;
  right: -14px;
}
.dark-theme .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: -14px;
}
[dir=rtl] .dark-theme .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: auto;
  left: -14px;
}
.dark-theme .mat-bottom-sheet-container {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);
  background: #424242;
  color: white;
}
.dark-theme .mat-button, .dark-theme .mat-icon-button, .dark-theme .mat-stroked-button {
  color: inherit;
  background: transparent;
}
.dark-theme .mat-button.mat-primary, .dark-theme .mat-icon-button.mat-primary, .dark-theme .mat-stroked-button.mat-primary {
  color: #60a5fa;
}
.dark-theme .mat-button.mat-accent, .dark-theme .mat-icon-button.mat-accent, .dark-theme .mat-stroked-button.mat-accent {
  color: #60a5fa;
}
.dark-theme .mat-button.mat-warn, .dark-theme .mat-icon-button.mat-warn, .dark-theme .mat-stroked-button.mat-warn {
  color: #e91414;
}
.dark-theme .mat-button.mat-primary.mat-button-disabled, .dark-theme .mat-button.mat-accent.mat-button-disabled, .dark-theme .mat-button.mat-warn.mat-button-disabled, .dark-theme .mat-button.mat-button-disabled.mat-button-disabled, .dark-theme .mat-icon-button.mat-primary.mat-button-disabled, .dark-theme .mat-icon-button.mat-accent.mat-button-disabled, .dark-theme .mat-icon-button.mat-warn.mat-button-disabled, .dark-theme .mat-icon-button.mat-button-disabled.mat-button-disabled, .dark-theme .mat-stroked-button.mat-primary.mat-button-disabled, .dark-theme .mat-stroked-button.mat-accent.mat-button-disabled, .dark-theme .mat-stroked-button.mat-warn.mat-button-disabled, .dark-theme .mat-stroked-button.mat-button-disabled.mat-button-disabled {
  color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-button.mat-primary .mat-button-focus-overlay, .dark-theme .mat-icon-button.mat-primary .mat-button-focus-overlay, .dark-theme .mat-stroked-button.mat-primary .mat-button-focus-overlay {
  background-color: #60a5fa;
}
.dark-theme .mat-button.mat-accent .mat-button-focus-overlay, .dark-theme .mat-icon-button.mat-accent .mat-button-focus-overlay, .dark-theme .mat-stroked-button.mat-accent .mat-button-focus-overlay {
  background-color: #60a5fa;
}
.dark-theme .mat-button.mat-warn .mat-button-focus-overlay, .dark-theme .mat-icon-button.mat-warn .mat-button-focus-overlay, .dark-theme .mat-stroked-button.mat-warn .mat-button-focus-overlay {
  background-color: #e91414;
}
.dark-theme .mat-button.mat-button-disabled .mat-button-focus-overlay, .dark-theme .mat-icon-button.mat-button-disabled .mat-button-focus-overlay, .dark-theme .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay {
  background-color: transparent;
}
.dark-theme .mat-button .mat-ripple-element, .dark-theme .mat-icon-button .mat-ripple-element, .dark-theme .mat-stroked-button .mat-ripple-element {
  opacity: 0.1;
  background-color: currentColor;
}
.dark-theme .mat-button-focus-overlay {
  background: white;
}
.dark-theme .mat-stroked-button:not(.mat-button-disabled) {
  border-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-flat-button, .dark-theme .mat-raised-button, .dark-theme .mat-fab, .dark-theme .mat-mini-fab {
  color: white;
  background-color: #424242;
}
.dark-theme .mat-flat-button.mat-primary, .dark-theme .mat-raised-button.mat-primary, .dark-theme .mat-fab.mat-primary, .dark-theme .mat-mini-fab.mat-primary {
  color: white;
}
.dark-theme .mat-flat-button.mat-accent, .dark-theme .mat-raised-button.mat-accent, .dark-theme .mat-fab.mat-accent, .dark-theme .mat-mini-fab.mat-accent {
  color: white;
}
.dark-theme .mat-flat-button.mat-warn, .dark-theme .mat-raised-button.mat-warn, .dark-theme .mat-fab.mat-warn, .dark-theme .mat-mini-fab.mat-warn {
  color: white;
}
.dark-theme .mat-flat-button.mat-primary.mat-button-disabled, .dark-theme .mat-flat-button.mat-accent.mat-button-disabled, .dark-theme .mat-flat-button.mat-warn.mat-button-disabled, .dark-theme .mat-flat-button.mat-button-disabled.mat-button-disabled, .dark-theme .mat-raised-button.mat-primary.mat-button-disabled, .dark-theme .mat-raised-button.mat-accent.mat-button-disabled, .dark-theme .mat-raised-button.mat-warn.mat-button-disabled, .dark-theme .mat-raised-button.mat-button-disabled.mat-button-disabled, .dark-theme .mat-fab.mat-primary.mat-button-disabled, .dark-theme .mat-fab.mat-accent.mat-button-disabled, .dark-theme .mat-fab.mat-warn.mat-button-disabled, .dark-theme .mat-fab.mat-button-disabled.mat-button-disabled, .dark-theme .mat-mini-fab.mat-primary.mat-button-disabled, .dark-theme .mat-mini-fab.mat-accent.mat-button-disabled, .dark-theme .mat-mini-fab.mat-warn.mat-button-disabled, .dark-theme .mat-mini-fab.mat-button-disabled.mat-button-disabled {
  color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-flat-button.mat-primary, .dark-theme .mat-raised-button.mat-primary, .dark-theme .mat-fab.mat-primary, .dark-theme .mat-mini-fab.mat-primary {
  background-color: #60a5fa;
}
.dark-theme .mat-flat-button.mat-accent, .dark-theme .mat-raised-button.mat-accent, .dark-theme .mat-fab.mat-accent, .dark-theme .mat-mini-fab.mat-accent {
  background-color: #60a5fa;
}
.dark-theme .mat-flat-button.mat-warn, .dark-theme .mat-raised-button.mat-warn, .dark-theme .mat-fab.mat-warn, .dark-theme .mat-mini-fab.mat-warn {
  background-color: #e91414;
}
.dark-theme .mat-flat-button.mat-primary.mat-button-disabled, .dark-theme .mat-flat-button.mat-accent.mat-button-disabled, .dark-theme .mat-flat-button.mat-warn.mat-button-disabled, .dark-theme .mat-flat-button.mat-button-disabled.mat-button-disabled, .dark-theme .mat-raised-button.mat-primary.mat-button-disabled, .dark-theme .mat-raised-button.mat-accent.mat-button-disabled, .dark-theme .mat-raised-button.mat-warn.mat-button-disabled, .dark-theme .mat-raised-button.mat-button-disabled.mat-button-disabled, .dark-theme .mat-fab.mat-primary.mat-button-disabled, .dark-theme .mat-fab.mat-accent.mat-button-disabled, .dark-theme .mat-fab.mat-warn.mat-button-disabled, .dark-theme .mat-fab.mat-button-disabled.mat-button-disabled, .dark-theme .mat-mini-fab.mat-primary.mat-button-disabled, .dark-theme .mat-mini-fab.mat-accent.mat-button-disabled, .dark-theme .mat-mini-fab.mat-warn.mat-button-disabled, .dark-theme .mat-mini-fab.mat-button-disabled.mat-button-disabled {
  background-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-flat-button.mat-primary .mat-ripple-element, .dark-theme .mat-raised-button.mat-primary .mat-ripple-element, .dark-theme .mat-fab.mat-primary .mat-ripple-element, .dark-theme .mat-mini-fab.mat-primary .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.dark-theme .mat-flat-button.mat-accent .mat-ripple-element, .dark-theme .mat-raised-button.mat-accent .mat-ripple-element, .dark-theme .mat-fab.mat-accent .mat-ripple-element, .dark-theme .mat-mini-fab.mat-accent .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.dark-theme .mat-flat-button.mat-warn .mat-ripple-element, .dark-theme .mat-raised-button.mat-warn .mat-ripple-element, .dark-theme .mat-fab.mat-warn .mat-ripple-element, .dark-theme .mat-mini-fab.mat-warn .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.dark-theme .mat-stroked-button:not([class*=mat-elevation-z]), .dark-theme .mat-flat-button:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-raised-button:not([class*=mat-elevation-z]) {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]) {
  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-fab:not([class*=mat-elevation-z]), .dark-theme .mat-mini-fab:not([class*=mat-elevation-z]) {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]), .dark-theme .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]) {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]), .dark-theme .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-button-toggle-standalone,
.dark-theme .mat-button-toggle-group {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,
.dark-theme .mat-button-toggle-group-appearance-standard {
  box-shadow: none;
}
.dark-theme .mat-button-toggle {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-button-toggle .mat-button-toggle-focus-overlay {
  background-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-button-toggle-appearance-standard {
  color: white;
  background: #424242;
}
.dark-theme .mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay {
  background-color: white;
}
.dark-theme .mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {
  border-left: solid 1px rgba(255, 255, 255, 0.12);
}
.dark-theme [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {
  border-left: none;
  border-right: solid 1px rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle + .mat-button-toggle {
  border-left: none;
  border-right: none;
  border-top: solid 1px rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-button-toggle-checked {
  background-color: #212121;
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-button-toggle-checked.mat-button-toggle-appearance-standard {
  color: white;
}
.dark-theme .mat-button-toggle-disabled {
  color: rgba(255, 255, 255, 0.3);
  background-color: black;
}
.dark-theme .mat-button-toggle-disabled.mat-button-toggle-appearance-standard {
  background: #424242;
}
.dark-theme .mat-button-toggle-disabled.mat-button-toggle-checked {
  background-color: #424242;
}
.dark-theme .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,
.dark-theme .mat-button-toggle-group-appearance-standard {
  border: solid 1px rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-card {
  background: #424242;
  color: white;
}
.dark-theme .mat-card:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-card.mat-card-flat:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-card-subtitle {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-checkbox-frame {
  border-color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-checkbox-checkmark {
  fill: #303030;
}
.dark-theme .mat-checkbox-checkmark-path {
  stroke: #303030 !important;
}
.dark-theme .mat-checkbox-mixedmark {
  background-color: #303030;
}
.dark-theme .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background, .dark-theme .mat-checkbox-checked.mat-primary .mat-checkbox-background {
  background-color: #60a5fa;
}
.dark-theme .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background, .dark-theme .mat-checkbox-checked.mat-accent .mat-checkbox-background {
  background-color: #60a5fa;
}
.dark-theme .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background, .dark-theme .mat-checkbox-checked.mat-warn .mat-checkbox-background {
  background-color: #e91414;
}
.dark-theme .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background, .dark-theme .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background {
  background-color: #686868;
}
.dark-theme .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame {
  border-color: #686868;
}
.dark-theme .mat-checkbox-disabled .mat-checkbox-label {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-checkbox .mat-ripple-element {
  background-color: white;
}
.dark-theme .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,
.dark-theme .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element {
  background: #60a5fa;
}
.dark-theme .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,
.dark-theme .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element {
  background: #60a5fa;
}
.dark-theme .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,
.dark-theme .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element {
  background: #e91414;
}
.dark-theme .mat-chip.mat-standard-chip {
  background-color: #616161;
  color: white;
}
.dark-theme .mat-chip.mat-standard-chip .mat-chip-remove {
  color: white;
  opacity: 0.4;
}
.dark-theme .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active {
  box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover {
  opacity: 0.54;
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-disabled {
  opacity: 0.4;
}
.dark-theme .mat-chip.mat-standard-chip::after {
  background: white;
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary {
  background-color: #60a5fa;
  color: white;
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove {
  color: white;
  opacity: 0.4;
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn {
  background-color: #e91414;
  color: white;
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove {
  color: white;
  opacity: 0.4;
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent {
  background-color: #60a5fa;
  color: white;
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove {
  color: white;
  opacity: 0.4;
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.dark-theme .mat-table {
  background: #424242;
}
.dark-theme .mat-table thead, .dark-theme .mat-table tbody, .dark-theme .mat-table tfoot,
.dark-theme mat-header-row, .dark-theme mat-row, .dark-theme mat-footer-row,
.dark-theme [mat-header-row], .dark-theme [mat-row], .dark-theme [mat-footer-row],
.dark-theme .mat-table-sticky {
  background: inherit;
}
.dark-theme mat-row, .dark-theme mat-header-row, .dark-theme mat-footer-row,
.dark-theme th.mat-header-cell, .dark-theme td.mat-cell, .dark-theme td.mat-footer-cell {
  border-bottom-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-header-cell {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-cell, .dark-theme .mat-footer-cell {
  color: white;
}
.dark-theme .mat-calendar-arrow {
  border-top-color: white;
}
.dark-theme .mat-datepicker-toggle,
.dark-theme .mat-datepicker-content .mat-calendar-next-button,
.dark-theme .mat-datepicker-content .mat-calendar-previous-button {
  color: white;
}
.dark-theme .mat-calendar-table-header {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-calendar-table-header-divider::after {
  background: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-calendar-body-label {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-calendar-body-cell-content,
.dark-theme .mat-date-range-input-separator {
  color: white;
  border-color: transparent;
}
.dark-theme .mat-calendar-body-disabled > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-form-field-disabled .mat-date-range-input-separator {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-calendar-body-in-preview {
  color: rgba(255, 255, 255, 0.24);
}
.dark-theme .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  border-color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-calendar-body-disabled > .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  border-color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-calendar-body-in-range::before {
  background: rgba(96, 165, 250, 0.2);
}
.dark-theme .mat-calendar-body-comparison-identical,
.dark-theme .mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}
.dark-theme .mat-calendar-body-comparison-bridge-start::before,
.dark-theme [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(96, 165, 250, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.dark-theme .mat-calendar-body-comparison-bridge-end::before,
.dark-theme [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(96, 165, 250, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.dark-theme .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.dark-theme .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}
.dark-theme .mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.dark-theme .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}
.dark-theme .mat-calendar-body-selected {
  background-color: #60a5fa;
  color: white;
}
.dark-theme .mat-calendar-body-disabled > .mat-calendar-body-selected {
  background-color: rgba(96, 165, 250, 0.4);
}
.dark-theme .mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px white;
}
.dark-theme .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.dark-theme .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.dark-theme .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(96, 165, 250, 0.3);
}
.dark-theme .mat-datepicker-content {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
  background-color: #424242;
  color: white;
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-range::before {
  background: rgba(96, 165, 250, 0.2);
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start::before,
.dark-theme .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(96, 165, 250, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end::before,
.dark-theme .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(96, 165, 250, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-selected {
  background-color: #60a5fa;
  color: white;
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-disabled > .mat-calendar-body-selected {
  background-color: rgba(96, 165, 250, 0.4);
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px white;
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.dark-theme .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.dark-theme .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(96, 165, 250, 0.3);
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-range::before {
  background: rgba(233, 20, 20, 0.2);
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start::before,
.dark-theme .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(233, 20, 20, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end::before,
.dark-theme .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(233, 20, 20, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-selected {
  background-color: #e91414;
  color: white;
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-disabled > .mat-calendar-body-selected {
  background-color: rgba(233, 20, 20, 0.4);
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px white;
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.dark-theme .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.dark-theme .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(233, 20, 20, 0.3);
}
.dark-theme .mat-datepicker-content-touch {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-datepicker-toggle-active {
  color: #60a5fa;
}
.dark-theme .mat-datepicker-toggle-active.mat-accent {
  color: #60a5fa;
}
.dark-theme .mat-datepicker-toggle-active.mat-warn {
  color: #e91414;
}
.dark-theme .mat-date-range-input-inner[disabled] {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-dialog-container {
  box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
  background: #424242;
  color: white;
}
.dark-theme .mat-divider {
  border-top-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-divider-vertical {
  border-right-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-expansion-panel {
  background: #424242;
  color: white;
}
.dark-theme .mat-expansion-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-action-row {
  border-top-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]), .dark-theme .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]), .dark-theme .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]) {
  background: rgba(255, 255, 255, 0.04);
}
@media (hover: none) {
  .dark-theme .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover {
    background: #424242;
  }
}
.dark-theme .mat-expansion-panel-header-title {
  color: white;
}
.dark-theme .mat-expansion-panel-header-description,
.dark-theme .mat-expansion-indicator::after {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-expansion-panel-header[aria-disabled=true] {
  color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,
.dark-theme .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description {
  color: inherit;
}
.dark-theme .mat-form-field-label {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-hint {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-form-field.mat-focused .mat-form-field-label {
  color: #60a5fa;
}
.dark-theme .mat-form-field.mat-focused .mat-form-field-label.mat-accent {
  color: #60a5fa;
}
.dark-theme .mat-form-field.mat-focused .mat-form-field-label.mat-warn {
  color: #e91414;
}
.dark-theme .mat-focused .mat-form-field-required-marker {
  color: #60a5fa;
}
.dark-theme .mat-form-field-ripple {
  background-color: white;
}
.dark-theme .mat-form-field.mat-focused .mat-form-field-ripple {
  background-color: #60a5fa;
}
.dark-theme .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent {
  background-color: #60a5fa;
}
.dark-theme .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn {
  background-color: #e91414;
}
.dark-theme .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix::after {
  color: #60a5fa;
}
.dark-theme .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix::after {
  color: #60a5fa;
}
.dark-theme .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix::after {
  color: #e91414;
}
.dark-theme .mat-form-field.mat-form-field-invalid .mat-form-field-label {
  color: #e91414;
}
.dark-theme .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,
.dark-theme .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker {
  color: #e91414;
}
.dark-theme .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,
.dark-theme .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent {
  background-color: #e91414;
}
.dark-theme .mat-error {
  color: #e91414;
}
.dark-theme .mat-form-field-appearance-legacy .mat-form-field-label {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-form-field-appearance-legacy .mat-hint {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-form-field-appearance-legacy .mat-form-field-underline {
  background-color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline {
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0.7) 33%, transparent 0%);
  background-size: 4px 100%;
  background-repeat: repeat-x;
}
.dark-theme .mat-form-field-appearance-standard .mat-form-field-underline {
  background-color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline {
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0.7) 33%, transparent 0%);
  background-size: 4px 100%;
  background-repeat: repeat-x;
}
.dark-theme .mat-form-field-appearance-fill .mat-form-field-flex {
  background-color: rgba(255, 255, 255, 0.1);
}
.dark-theme .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex {
  background-color: rgba(255, 255, 255, 0.05);
}
.dark-theme .mat-form-field-appearance-fill .mat-form-field-underline::before {
  background-color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline::before {
  background-color: transparent;
}
.dark-theme .mat-form-field-appearance-outline .mat-form-field-outline {
  color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-form-field-appearance-outline .mat-form-field-outline-thick {
  color: white;
}
.dark-theme .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick {
  color: #60a5fa;
}
.dark-theme .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick {
  color: #60a5fa;
}
.dark-theme .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick {
  color: #e91414;
}
.dark-theme .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick {
  color: #e91414;
}
.dark-theme .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline {
  color: rgba(255, 255, 255, 0.15);
}
.dark-theme .mat-icon.mat-primary {
  color: #60a5fa;
}
.dark-theme .mat-icon.mat-accent {
  color: #60a5fa;
}
.dark-theme .mat-icon.mat-warn {
  color: #e91414;
}
.dark-theme .mat-form-field-type-mat-native-select .mat-form-field-infix::after {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-input-element:disabled,
.dark-theme .mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix::after {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-input-element {
  caret-color: #60a5fa;
}
.dark-theme .mat-input-element::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-input-element:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-input-element::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-input-element::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-input-element::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-input-element:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-input-element option {
  color: rgba(0, 0, 0, 0.87);
}
.dark-theme .mat-input-element option:disabled {
  color: rgba(0, 0, 0, 0.38);
}
.dark-theme .mat-form-field.mat-accent .mat-input-element {
  caret-color: #60a5fa;
}
.dark-theme .mat-form-field.mat-warn .mat-input-element,
.dark-theme .mat-form-field-invalid .mat-input-element {
  caret-color: #e91414;
}
.dark-theme .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix::after {
  color: #e91414;
}
.dark-theme .mat-list-base .mat-list-item {
  color: white;
}
.dark-theme .mat-list-base .mat-list-option {
  color: white;
}
.dark-theme .mat-list-base .mat-subheader {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-list-item-disabled {
  background-color: black;
}
.dark-theme .mat-list-option:hover, .dark-theme .mat-list-option:focus,
.dark-theme .mat-nav-list .mat-list-item:hover,
.dark-theme .mat-nav-list .mat-list-item:focus,
.dark-theme .mat-action-list .mat-list-item:hover,
.dark-theme .mat-action-list .mat-list-item:focus {
  background: rgba(255, 255, 255, 0.04);
}
.dark-theme .mat-list-single-selected-option, .dark-theme .mat-list-single-selected-option:hover, .dark-theme .mat-list-single-selected-option:focus {
  background: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-menu-panel {
  background: #424242;
}
.dark-theme .mat-menu-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-menu-item {
  background: transparent;
  color: white;
}
.dark-theme .mat-menu-item[disabled], .dark-theme .mat-menu-item[disabled]::after,
.dark-theme .mat-menu-item[disabled] .mat-icon-no-color {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-menu-item .mat-icon-no-color,
.dark-theme .mat-menu-item-submenu-trigger::after {
  color: white;
}
.dark-theme .mat-menu-item:hover:not([disabled]),
.dark-theme .mat-menu-item.cdk-program-focused:not([disabled]),
.dark-theme .mat-menu-item.cdk-keyboard-focused:not([disabled]),
.dark-theme .mat-menu-item-highlighted:not([disabled]) {
  background: rgba(255, 255, 255, 0.04);
}
.dark-theme .mat-paginator {
  background: #424242;
}
.dark-theme .mat-paginator,
.dark-theme .mat-paginator-page-size .mat-select-trigger {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-paginator-decrement,
.dark-theme .mat-paginator-increment {
  border-top: 2px solid white;
  border-right: 2px solid white;
}
.dark-theme .mat-paginator-first,
.dark-theme .mat-paginator-last {
  border-top: 2px solid white;
}
.dark-theme .mat-icon-button[disabled] .mat-paginator-decrement,
.dark-theme .mat-icon-button[disabled] .mat-paginator-increment,
.dark-theme .mat-icon-button[disabled] .mat-paginator-first,
.dark-theme .mat-icon-button[disabled] .mat-paginator-last {
  border-color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-progress-bar-background {
  fill: #dbeafe;
}
.dark-theme .mat-progress-bar-buffer {
  background-color: #dbeafe;
}
.dark-theme .mat-progress-bar-fill::after {
  background-color: #60a5fa;
}
.dark-theme .mat-progress-bar.mat-accent .mat-progress-bar-background {
  fill: #dbeafe;
}
.dark-theme .mat-progress-bar.mat-accent .mat-progress-bar-buffer {
  background-color: #dbeafe;
}
.dark-theme .mat-progress-bar.mat-accent .mat-progress-bar-fill::after {
  background-color: #60a5fa;
}
.dark-theme .mat-progress-bar.mat-warn .mat-progress-bar-background {
  fill: #f0b9b9;
}
.dark-theme .mat-progress-bar.mat-warn .mat-progress-bar-buffer {
  background-color: #f0b9b9;
}
.dark-theme .mat-progress-bar.mat-warn .mat-progress-bar-fill::after {
  background-color: #e91414;
}
.dark-theme .mat-progress-spinner circle, .dark-theme .mat-spinner circle {
  stroke: #60a5fa;
}
.dark-theme .mat-progress-spinner.mat-accent circle, .dark-theme .mat-spinner.mat-accent circle {
  stroke: #60a5fa;
}
.dark-theme .mat-progress-spinner.mat-warn circle, .dark-theme .mat-spinner.mat-warn circle {
  stroke: #e91414;
}
.dark-theme .mat-radio-outer-circle {
  border-color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle {
  border-color: #60a5fa;
}
.dark-theme .mat-radio-button.mat-primary .mat-radio-inner-circle,
.dark-theme .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .dark-theme .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple, .dark-theme .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple {
  background-color: #60a5fa;
}
.dark-theme .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle {
  border-color: #60a5fa;
}
.dark-theme .mat-radio-button.mat-accent .mat-radio-inner-circle,
.dark-theme .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .dark-theme .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple, .dark-theme .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple {
  background-color: #60a5fa;
}
.dark-theme .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle {
  border-color: #e91414;
}
.dark-theme .mat-radio-button.mat-warn .mat-radio-inner-circle,
.dark-theme .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .dark-theme .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple, .dark-theme .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple {
  background-color: #e91414;
}
.dark-theme .mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,
.dark-theme .mat-radio-button.mat-radio-disabled .mat-radio-outer-circle {
  border-color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element,
.dark-theme .mat-radio-button.mat-radio-disabled .mat-radio-inner-circle {
  background-color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-radio-button.mat-radio-disabled .mat-radio-label-content {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-radio-button .mat-ripple-element {
  background-color: white;
}
.dark-theme .mat-select-value {
  color: white;
}
.dark-theme .mat-select-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-select-disabled .mat-select-value {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-select-arrow {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-select-panel {
  background: #424242;
}
.dark-theme .mat-select-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple) {
  background: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-form-field.mat-focused.mat-primary .mat-select-arrow {
  color: #60a5fa;
}
.dark-theme .mat-form-field.mat-focused.mat-accent .mat-select-arrow {
  color: #60a5fa;
}
.dark-theme .mat-form-field.mat-focused.mat-warn .mat-select-arrow {
  color: #e91414;
}
.dark-theme .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow {
  color: #e91414;
}
.dark-theme .mat-form-field .mat-select.mat-select-disabled .mat-select-arrow {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-drawer-container {
  background-color: #303030;
  color: white;
}
.dark-theme .mat-drawer {
  background-color: #424242;
  color: white;
}
.dark-theme .mat-drawer.mat-drawer-push {
  background-color: #424242;
}
.dark-theme .mat-drawer:not(.mat-drawer-side) {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-drawer-side {
  border-right: solid 1px rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-drawer-side.mat-drawer-end {
  border-left: solid 1px rgba(255, 255, 255, 0.12);
  border-right: none;
}
.dark-theme [dir=rtl] .mat-drawer-side {
  border-left: solid 1px rgba(255, 255, 255, 0.12);
  border-right: none;
}
.dark-theme [dir=rtl] .mat-drawer-side.mat-drawer-end {
  border-left: none;
  border-right: solid 1px rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-drawer-backdrop.mat-drawer-shown {
  background-color: rgba(189, 189, 189, 0.6);
}
.dark-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb {
  background-color: #60a5fa;
}
.dark-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-bar {
  background-color: rgba(96, 165, 250, 0.54);
}
.dark-theme .mat-slide-toggle.mat-checked .mat-ripple-element {
  background-color: #60a5fa;
}
.dark-theme .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb {
  background-color: #60a5fa;
}
.dark-theme .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar {
  background-color: rgba(96, 165, 250, 0.54);
}
.dark-theme .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element {
  background-color: #60a5fa;
}
.dark-theme .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb {
  background-color: #e91414;
}
.dark-theme .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar {
  background-color: rgba(233, 20, 20, 0.54);
}
.dark-theme .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element {
  background-color: #e91414;
}
.dark-theme .mat-slide-toggle:not(.mat-checked) .mat-ripple-element {
  background-color: white;
}
.dark-theme .mat-slide-toggle-thumb {
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
  background-color: #bdbdbd;
}
.dark-theme .mat-slide-toggle-bar {
  background-color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-slider-track-background {
  background-color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-primary .mat-slider-track-fill,
.dark-theme .mat-primary .mat-slider-thumb,
.dark-theme .mat-primary .mat-slider-thumb-label {
  background-color: #60a5fa;
}
.dark-theme .mat-primary .mat-slider-thumb-label-text {
  color: white;
}
.dark-theme .mat-primary .mat-slider-focus-ring {
  background-color: rgba(96, 165, 250, 0.2);
}
.dark-theme .mat-accent .mat-slider-track-fill,
.dark-theme .mat-accent .mat-slider-thumb,
.dark-theme .mat-accent .mat-slider-thumb-label {
  background-color: #60a5fa;
}
.dark-theme .mat-accent .mat-slider-thumb-label-text {
  color: white;
}
.dark-theme .mat-accent .mat-slider-focus-ring {
  background-color: rgba(96, 165, 250, 0.2);
}
.dark-theme .mat-warn .mat-slider-track-fill,
.dark-theme .mat-warn .mat-slider-thumb,
.dark-theme .mat-warn .mat-slider-thumb-label {
  background-color: #e91414;
}
.dark-theme .mat-warn .mat-slider-thumb-label-text {
  color: white;
}
.dark-theme .mat-warn .mat-slider-focus-ring {
  background-color: rgba(233, 20, 20, 0.2);
}
.dark-theme .mat-slider:hover .mat-slider-track-background,
.dark-theme .cdk-focused .mat-slider-track-background {
  background-color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-slider-disabled .mat-slider-track-background,
.dark-theme .mat-slider-disabled .mat-slider-track-fill,
.dark-theme .mat-slider-disabled .mat-slider-thumb {
  background-color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-slider-disabled:hover .mat-slider-track-background {
  background-color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-slider-min-value .mat-slider-focus-ring {
  background-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,
.dark-theme .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label {
  background-color: white;
}
.dark-theme .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,
.dark-theme .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label {
  background-color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb {
  border-color: rgba(255, 255, 255, 0.3);
  background-color: transparent;
}
.dark-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb, .dark-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb {
  border-color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb, .dark-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb {
  border-color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-slider-has-ticks .mat-slider-wrapper::after {
  border-color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-slider-horizontal .mat-slider-ticks {
  background-image: repeating-linear-gradient(to right, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7) 2px, transparent 0, transparent);
  background-image: -moz-repeating-linear-gradient(0.0001deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7) 2px, transparent 0, transparent);
}
.dark-theme .mat-slider-vertical .mat-slider-ticks {
  background-image: repeating-linear-gradient(to bottom, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7) 2px, transparent 0, transparent);
}
.dark-theme .mat-step-header.cdk-keyboard-focused, .dark-theme .mat-step-header.cdk-program-focused, .dark-theme .mat-step-header:hover {
  background-color: rgba(255, 255, 255, 0.04);
}
@media (hover: none) {
  .dark-theme .mat-step-header:hover {
    background: none;
  }
}
.dark-theme .mat-step-header .mat-step-label,
.dark-theme .mat-step-header .mat-step-optional {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-step-header .mat-step-icon {
  background-color: rgba(255, 255, 255, 0.7);
  color: white;
}
.dark-theme .mat-step-header .mat-step-icon-selected,
.dark-theme .mat-step-header .mat-step-icon-state-done,
.dark-theme .mat-step-header .mat-step-icon-state-edit {
  background-color: #60a5fa;
  color: white;
}
.dark-theme .mat-step-header.mat-accent .mat-step-icon {
  color: white;
}
.dark-theme .mat-step-header.mat-accent .mat-step-icon-selected,
.dark-theme .mat-step-header.mat-accent .mat-step-icon-state-done,
.dark-theme .mat-step-header.mat-accent .mat-step-icon-state-edit {
  background-color: #60a5fa;
  color: white;
}
.dark-theme .mat-step-header.mat-warn .mat-step-icon {
  color: white;
}
.dark-theme .mat-step-header.mat-warn .mat-step-icon-selected,
.dark-theme .mat-step-header.mat-warn .mat-step-icon-state-done,
.dark-theme .mat-step-header.mat-warn .mat-step-icon-state-edit {
  background-color: #e91414;
  color: white;
}
.dark-theme .mat-step-header .mat-step-icon-state-error {
  background-color: transparent;
  color: #e91414;
}
.dark-theme .mat-step-header .mat-step-label.mat-step-label-active {
  color: white;
}
.dark-theme .mat-step-header .mat-step-label.mat-step-label-error {
  color: #e91414;
}
.dark-theme .mat-stepper-horizontal, .dark-theme .mat-stepper-vertical {
  background-color: #424242;
}
.dark-theme .mat-stepper-vertical-line::before {
  border-left-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-horizontal-stepper-header::before,
.dark-theme .mat-horizontal-stepper-header::after,
.dark-theme .mat-stepper-horizontal-line {
  border-top-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-sort-header-arrow {
  color: #c6c6c6;
}
.dark-theme .mat-tab-nav-bar,
.dark-theme .mat-tab-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-tab-group-inverted-header .mat-tab-nav-bar,
.dark-theme .mat-tab-group-inverted-header .mat-tab-header {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  border-bottom: none;
}
.dark-theme .mat-tab-label, .dark-theme .mat-tab-link {
  color: white;
}
.dark-theme .mat-tab-label.mat-tab-disabled, .dark-theme .mat-tab-link.mat-tab-disabled {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-tab-header-pagination-chevron {
  border-color: white;
}
.dark-theme .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-tab-group[class*=mat-background-] .mat-tab-header,
.dark-theme .mat-tab-nav-bar[class*=mat-background-] {
  border-bottom: none;
  border-top: none;
}
.dark-theme .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(219, 234, 254, 0.3);
}
.dark-theme .mat-tab-group.mat-primary .mat-ink-bar, .dark-theme .mat-tab-nav-bar.mat-primary .mat-ink-bar {
  background-color: #60a5fa;
}
.dark-theme .mat-tab-group.mat-primary.mat-background-primary > .mat-tab-header .mat-ink-bar, .dark-theme .mat-tab-group.mat-primary.mat-background-primary > .mat-tab-link-container .mat-ink-bar, .dark-theme .mat-tab-nav-bar.mat-primary.mat-background-primary > .mat-tab-header .mat-ink-bar, .dark-theme .mat-tab-nav-bar.mat-primary.mat-background-primary > .mat-tab-link-container .mat-ink-bar {
  background-color: white;
}
.dark-theme .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(219, 234, 254, 0.3);
}
.dark-theme .mat-tab-group.mat-accent .mat-ink-bar, .dark-theme .mat-tab-nav-bar.mat-accent .mat-ink-bar {
  background-color: #60a5fa;
}
.dark-theme .mat-tab-group.mat-accent.mat-background-accent > .mat-tab-header .mat-ink-bar, .dark-theme .mat-tab-group.mat-accent.mat-background-accent > .mat-tab-link-container .mat-ink-bar, .dark-theme .mat-tab-nav-bar.mat-accent.mat-background-accent > .mat-tab-header .mat-ink-bar, .dark-theme .mat-tab-nav-bar.mat-accent.mat-background-accent > .mat-tab-link-container .mat-ink-bar {
  background-color: white;
}
.dark-theme .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(240, 185, 185, 0.3);
}
.dark-theme .mat-tab-group.mat-warn .mat-ink-bar, .dark-theme .mat-tab-nav-bar.mat-warn .mat-ink-bar {
  background-color: #e91414;
}
.dark-theme .mat-tab-group.mat-warn.mat-background-warn > .mat-tab-header .mat-ink-bar, .dark-theme .mat-tab-group.mat-warn.mat-background-warn > .mat-tab-link-container .mat-ink-bar, .dark-theme .mat-tab-nav-bar.mat-warn.mat-background-warn > .mat-tab-header .mat-ink-bar, .dark-theme .mat-tab-nav-bar.mat-warn.mat-background-warn > .mat-tab-link-container .mat-ink-bar {
  background-color: white;
}
.dark-theme .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(219, 234, 254, 0.3);
}
.dark-theme .mat-tab-group.mat-background-primary > .mat-tab-header, .dark-theme .mat-tab-group.mat-background-primary > .mat-tab-link-container, .dark-theme .mat-tab-group.mat-background-primary > .mat-tab-header-pagination, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header-pagination {
  background-color: #60a5fa;
}
.dark-theme .mat-tab-group.mat-background-primary > .mat-tab-header .mat-tab-label, .dark-theme .mat-tab-group.mat-background-primary > .mat-tab-link-container .mat-tab-link, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-tab-label, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container .mat-tab-link {
  color: white;
}
.dark-theme .mat-tab-group.mat-background-primary > .mat-tab-header .mat-tab-label.mat-tab-disabled, .dark-theme .mat-tab-group.mat-background-primary > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-tab-label.mat-tab-disabled, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {
  color: rgba(255, 255, 255, 0.4);
}
.dark-theme .mat-tab-group.mat-background-primary > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.dark-theme .mat-tab-group.mat-background-primary > .mat-tab-links .mat-focus-indicator::before,
.dark-theme .mat-tab-group.mat-background-primary > .mat-tab-header .mat-focus-indicator::before, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-links .mat-focus-indicator::before,
.dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-focus-indicator::before {
  border-color: white;
}
.dark-theme .mat-tab-group.mat-background-primary > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(255, 255, 255, 0.4);
}
.dark-theme .mat-tab-group.mat-background-primary > .mat-tab-header .mat-ripple-element,
.dark-theme .mat-tab-group.mat-background-primary > .mat-tab-link-container .mat-ripple-element, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-ripple-element,
.dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(219, 234, 254, 0.3);
}
.dark-theme .mat-tab-group.mat-background-accent > .mat-tab-header, .dark-theme .mat-tab-group.mat-background-accent > .mat-tab-link-container, .dark-theme .mat-tab-group.mat-background-accent > .mat-tab-header-pagination, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header-pagination {
  background-color: #60a5fa;
}
.dark-theme .mat-tab-group.mat-background-accent > .mat-tab-header .mat-tab-label, .dark-theme .mat-tab-group.mat-background-accent > .mat-tab-link-container .mat-tab-link, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-tab-label, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container .mat-tab-link {
  color: white;
}
.dark-theme .mat-tab-group.mat-background-accent > .mat-tab-header .mat-tab-label.mat-tab-disabled, .dark-theme .mat-tab-group.mat-background-accent > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-tab-label.mat-tab-disabled, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {
  color: rgba(255, 255, 255, 0.4);
}
.dark-theme .mat-tab-group.mat-background-accent > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.dark-theme .mat-tab-group.mat-background-accent > .mat-tab-links .mat-focus-indicator::before,
.dark-theme .mat-tab-group.mat-background-accent > .mat-tab-header .mat-focus-indicator::before, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-links .mat-focus-indicator::before,
.dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-focus-indicator::before {
  border-color: white;
}
.dark-theme .mat-tab-group.mat-background-accent > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(255, 255, 255, 0.4);
}
.dark-theme .mat-tab-group.mat-background-accent > .mat-tab-header .mat-ripple-element,
.dark-theme .mat-tab-group.mat-background-accent > .mat-tab-link-container .mat-ripple-element, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-ripple-element,
.dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(240, 185, 185, 0.3);
}
.dark-theme .mat-tab-group.mat-background-warn > .mat-tab-header, .dark-theme .mat-tab-group.mat-background-warn > .mat-tab-link-container, .dark-theme .mat-tab-group.mat-background-warn > .mat-tab-header-pagination, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination {
  background-color: #e91414;
}
.dark-theme .mat-tab-group.mat-background-warn > .mat-tab-header .mat-tab-label, .dark-theme .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-tab-link, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-tab-label, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-tab-link {
  color: white;
}
.dark-theme .mat-tab-group.mat-background-warn > .mat-tab-header .mat-tab-label.mat-tab-disabled, .dark-theme .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-tab-label.mat-tab-disabled, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {
  color: rgba(255, 255, 255, 0.4);
}
.dark-theme .mat-tab-group.mat-background-warn > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.dark-theme .mat-tab-group.mat-background-warn > .mat-tab-links .mat-focus-indicator::before,
.dark-theme .mat-tab-group.mat-background-warn > .mat-tab-header .mat-focus-indicator::before, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-links .mat-focus-indicator::before,
.dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-focus-indicator::before {
  border-color: white;
}
.dark-theme .mat-tab-group.mat-background-warn > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(255, 255, 255, 0.4);
}
.dark-theme .mat-tab-group.mat-background-warn > .mat-tab-header .mat-ripple-element,
.dark-theme .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-ripple-element, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-ripple-element,
.dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-toolbar {
  background: #212121;
  color: white;
}
.dark-theme .mat-toolbar.mat-primary {
  background: #60a5fa;
  color: white;
}
.dark-theme .mat-toolbar.mat-accent {
  background: #60a5fa;
  color: white;
}
.dark-theme .mat-toolbar.mat-warn {
  background: #e91414;
  color: white;
}
.dark-theme .mat-toolbar .mat-form-field-underline,
.dark-theme .mat-toolbar .mat-form-field-ripple,
.dark-theme .mat-toolbar .mat-focused .mat-form-field-ripple {
  background-color: currentColor;
}
.dark-theme .mat-toolbar .mat-form-field-label,
.dark-theme .mat-toolbar .mat-focused .mat-form-field-label,
.dark-theme .mat-toolbar .mat-select-value,
.dark-theme .mat-toolbar .mat-select-arrow,
.dark-theme .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow {
  color: inherit;
}
.dark-theme .mat-toolbar .mat-input-element {
  caret-color: currentColor;
}
.dark-theme .mat-tooltip {
  background: rgba(97, 97, 97, 0.9);
}
.dark-theme .mat-tree {
  background: #424242;
}
.dark-theme .mat-tree-node,
.dark-theme .mat-nested-tree-node {
  color: white;
}
.dark-theme .mat-snack-bar-container {
  color: rgba(0, 0, 0, 0.87);
  background: #fafafa;
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-simple-snackbar-action {
  color: inherit;
}
.mat-badge-content {
  font-weight: 600;
  font-size: 12px;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-badge-small .mat-badge-content {
  font-size: 9px;
}
.mat-badge-large .mat-badge-content {
  font-size: 24px;
}
.mat-h1, .mat-headline, .mat-typography h1 {
  font: 400 24px/32px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h2, .mat-title, .mat-typography h2, .mat-typography mat-card.base-card mat-card-header, mat-card.base-card .mat-typography mat-card-header, .mat-typography mat-card.admin-event mat-card-header, mat-card.admin-event .mat-typography mat-card-header {
  font: 500 20px/32px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h3, .mat-subheading-2, .mat-typography h3, .mat-typography .section .section-title, .section .mat-typography .section-title, .mat-typography .card-title {
  font: 400 16px/28px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h4, .mat-subheading-1, .mat-typography h4, .mat-typography .card-subtitle {
  font: 400 15px/24px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h5, .mat-typography h5, .mat-typography .card-content, .mat-typography mat-card.event a .warning-public-at, mat-card.event a .mat-typography .warning-public-at {
  font: 400 calc(14px * 0.83)/20px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  margin: 0 0 12px;
}
.mat-h6, .mat-typography h6 {
  font: 400 calc(14px * 0.67)/20px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  margin: 0 0 12px;
}
.mat-body-strong, .mat-body-2 {
  font: 500 14px/24px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
}
.mat-body, .mat-body-1, .mat-typography {
  font: 400 14px/20px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
}
.mat-body p, .mat-body-1 p, .mat-typography p {
  margin: 0 0 12px;
}
.mat-small, .mat-caption {
  font: 400 12px/20px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
}
.mat-display-4, .mat-typography .mat-display-4 {
  font: 300 112px/112px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: -0.05em;
  margin: 0 0 56px;
}
.mat-display-3, .mat-typography .mat-display-3 {
  font: 400 56px/56px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: -0.02em;
  margin: 0 0 64px;
}
.mat-display-2, .mat-typography .mat-display-2 {
  font: 400 45px/48px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: -0.005em;
  margin: 0 0 64px;
}
.mat-display-1, .mat-typography .mat-display-1 {
  font: 400 34px/40px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
  margin: 0 0 64px;
}
.mat-bottom-sheet-container {
  font: 400 14px/20px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
}
.mat-button, .mat-raised-button, .mat-icon-button, .mat-stroked-button,
.mat-flat-button, .mat-fab, .mat-mini-fab {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 14px;
  font-weight: 500;
}
.mat-button-toggle {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-card {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-card-title {
  font-size: 24px;
  font-weight: 500;
}
.mat-card-header .mat-card-title {
  font-size: 20px;
}
.mat-card-subtitle,
.mat-card-content {
  font-size: 14px;
}
.mat-checkbox {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-checkbox-layout .mat-checkbox-label {
  line-height: 24px;
}
.mat-chip {
  font-size: 14px;
  font-weight: 500;
}
.mat-chip .mat-chip-trailing-icon.mat-icon,
.mat-chip .mat-chip-remove.mat-icon {
  font-size: 18px;
}
.mat-table {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-header-cell {
  font-size: 12px;
  font-weight: 500;
}
.mat-cell, .mat-footer-cell {
  font-size: 14px;
}
.mat-calendar {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-calendar-body {
  font-size: 13px;
}
.mat-calendar-body-label,
.mat-calendar-period-button {
  font-size: 14px;
  font-weight: 500;
}
.mat-calendar-table-header th {
  font-size: 11px;
  font-weight: 400;
}
.mat-dialog-title {
  font: 500 20px/32px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
}
.mat-expansion-panel-header {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 15px;
  font-weight: 400;
}
.mat-expansion-panel-content {
  font: 400 14px/20px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
}
.mat-form-field {
  font-size: inherit;
  font-weight: 400;
  line-height: 1.125;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
}
.mat-form-field-wrapper {
  padding-bottom: 1.34375em;
}
.mat-form-field-prefix .mat-icon,
.mat-form-field-suffix .mat-icon {
  font-size: 150%;
  line-height: 1.125;
}
.mat-form-field-prefix .mat-icon-button,
.mat-form-field-suffix .mat-icon-button {
  height: 1.5em;
  width: 1.5em;
}
.mat-form-field-prefix .mat-icon-button .mat-icon,
.mat-form-field-suffix .mat-icon-button .mat-icon {
  height: 1.125em;
  line-height: 1.125;
}
.mat-form-field-infix {
  padding: 0.5em 0;
  border-top: 0.84375em solid transparent;
}
.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.34373em) scale(0.75);
  width: 133.3333533333%;
}
.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.34372em) scale(0.75);
  width: 133.3333633333%;
}
.mat-form-field-label-wrapper {
  top: -0.84375em;
  padding-top: 0.84375em;
}
.mat-form-field-label {
  top: 1.34375em;
}
.mat-form-field-underline {
  bottom: 1.34375em;
}
.mat-form-field-subscript-wrapper {
  font-size: 75%;
  margin-top: 0.6666666667em;
  top: calc(100% - 1.7916666667em);
}
.mat-form-field-appearance-legacy .mat-form-field-wrapper {
  padding-bottom: 1.25em;
}
.mat-form-field-appearance-legacy .mat-form-field-infix {
  padding: 0.4375em 0;
}
.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00106px);
  -ms-transform: translateY(-1.28119em) scale(0.75);
  width: 133.3333933333%;
}
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00107px);
  -ms-transform: translateY(-1.28118em) scale(0.75);
  width: 133.3334033333%;
}
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00108px);
  -ms-transform: translateY(-1.28117em) scale(0.75);
  width: 133.3334133333%;
}
.mat-form-field-appearance-legacy .mat-form-field-label {
  top: 1.28125em;
}
.mat-form-field-appearance-legacy .mat-form-field-underline {
  bottom: 1.25em;
}
.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper {
  margin-top: 0.5416666667em;
  top: calc(100% - 1.6666666667em);
}
@media print {
  .mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
    transform: translateY(-1.28116em) scale(0.75);
  }
  .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper .mat-form-field-label {
    transform: translateY(-1.28115em) scale(0.75);
  }
  .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
    transform: translateY(-1.28114em) scale(0.75);
  }
}
.mat-form-field-appearance-fill .mat-form-field-infix {
  padding: 0.25em 0 0.75em 0;
}
.mat-form-field-appearance-fill .mat-form-field-label {
  top: 1.09375em;
  margin-top: -0.5em;
}
.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-0.59373em) scale(0.75);
  width: 133.3333533333%;
}
.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-0.59372em) scale(0.75);
  width: 133.3333633333%;
}
.mat-form-field-appearance-outline .mat-form-field-infix {
  padding: 1em 0 1em 0;
}
.mat-form-field-appearance-outline .mat-form-field-label {
  top: 1.84375em;
  margin-top: -0.25em;
}
.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.59373em) scale(0.75);
  width: 133.3333533333%;
}
.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.59372em) scale(0.75);
  width: 133.3333633333%;
}
.mat-grid-tile-header,
.mat-grid-tile-footer {
  font-size: 14px;
}
.mat-grid-tile-header .mat-line,
.mat-grid-tile-footer .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-grid-tile-header .mat-line:nth-child(n+2),
.mat-grid-tile-footer .mat-line:nth-child(n+2) {
  font-size: 12px;
}
input.mat-input-element {
  margin-top: -0.0625em;
}
.mat-menu-item {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 14px;
  font-weight: 400;
}
.mat-paginator,
.mat-paginator-page-size .mat-select-trigger {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 12px;
}
.mat-radio-button {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-select {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-select-trigger {
  height: 1.125em;
}
.mat-slide-toggle-content {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-slider-thumb-label-text {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 12px;
  font-weight: 500;
}
.mat-stepper-vertical, .mat-stepper-horizontal {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-step-label {
  font-size: 14px;
  font-weight: 400;
}
.mat-step-sub-label-error {
  font-weight: normal;
}
.mat-step-label-error {
  font-size: 14px;
}
.mat-step-label-selected {
  font-size: 14px;
  font-weight: 500;
}
.mat-tab-group {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-tab-label, .mat-tab-link {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 14px;
  font-weight: 500;
}
.mat-toolbar,
.mat-toolbar h1,
.mat-toolbar h2,
.mat-toolbar mat-card.base-card mat-card-header,
mat-card.base-card .mat-toolbar mat-card-header,
.mat-toolbar mat-card.admin-event mat-card-header,
mat-card.admin-event .mat-toolbar mat-card-header,
.mat-toolbar h3,
.mat-toolbar .section .section-title,
.section .mat-toolbar .section-title,
.mat-toolbar .card-title,
.mat-toolbar h4,
.mat-toolbar .card-subtitle,
.mat-toolbar h5,
.mat-toolbar .card-content,
.mat-toolbar mat-card.event a .warning-public-at,
mat-card.event a .mat-toolbar .warning-public-at,
.mat-toolbar h6 {
  font: 500 20px/32px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
  margin: 0;
}
.mat-tooltip {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 10px;
  padding-top: 6px;
  padding-bottom: 6px;
}
.mat-tooltip-handset {
  font-size: 14px;
  padding-top: 8px;
  padding-bottom: 8px;
}
.mat-list-item {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-list-option {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-list-base .mat-list-item {
  font-size: 16px;
}
.mat-list-base .mat-list-item .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base .mat-list-item .mat-line:nth-child(n+2) {
  font-size: 14px;
}
.mat-list-base .mat-list-option {
  font-size: 16px;
}
.mat-list-base .mat-list-option .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base .mat-list-option .mat-line:nth-child(n+2) {
  font-size: 14px;
}
.mat-list-base .mat-subheader {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 14px;
  font-weight: 500;
}
.mat-list-base[dense] .mat-list-item {
  font-size: 12px;
}
.mat-list-base[dense] .mat-list-item .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2) {
  font-size: 12px;
}
.mat-list-base[dense] .mat-list-option {
  font-size: 12px;
}
.mat-list-base[dense] .mat-list-option .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2) {
  font-size: 12px;
}
.mat-list-base[dense] .mat-subheader {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 12px;
  font-weight: 500;
}
.mat-option {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 16px;
}
.mat-optgroup-label {
  font: 500 14px/24px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
}
.mat-simple-snackbar {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 14px;
}
.mat-simple-snackbar-action {
  line-height: 1;
  font-family: inherit;
  font-size: inherit;
  font-weight: 500;
}
.mat-tree {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-tree-node,
.mat-nested-tree-node {
  font-weight: 400;
  font-size: 14px;
}
@-webkit-keyframes spinAround {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}
@keyframes spinAround {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}
.is-unselectable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.navbar-link:not(.is-arrowless)::after {
  border: 3px solid transparent;
  border-radius: 2px;
  border-right: 0;
  border-top: 0;
  content: " ";
  display: block;
  height: 0.625em;
  margin-top: -0.4375em;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: rotate(-45deg);
  transform-origin: center;
  width: 0.625em;
}
.title:not(:last-child),
.subtitle:not(:last-child) {
  margin-bottom: 1.5rem;
}
.is-overlay {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */
html,
body,
p,
ol,
ul,
li,
dl,
dt,
dd,
blockquote,
figure,
fieldset,
legend,
textarea,
pre,
iframe,
hr,
h1,
h2,
mat-card.base-card mat-card-header,
mat-card.admin-event mat-card-header,
h3,
.section .section-title,
.card-title,
h4,
.card-subtitle,
h5,
.card-content,
mat-card.event a .warning-public-at,
h6 {
  margin: 0;
  padding: 0;
}
h1,
h2,
mat-card.base-card mat-card-header,
mat-card.admin-event mat-card-header,
h3,
.section .section-title,
.card-title,
h4,
.card-subtitle,
h5,
.card-content,
mat-card.event a .warning-public-at,
h6 {
  font-size: 100%;
  font-weight: normal;
}
ul {
  list-style: none;
}
button,
input,
select,
textarea {
  margin: 0;
}
html {
  box-sizing: border-box;
}
*, *::before, *::after {
  box-sizing: inherit;
}
img,
video {
  height: auto;
  max-width: 100%;
}
iframe {
  border: 0;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
td:not([align]),
th:not([align]) {
  text-align: left;
}
html {
  background-color: white;
  font-size: 16px;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  min-width: 300px;
  overflow-x: hidden;
  overflow-y: scroll;
  text-rendering: optimizeLegibility;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%;
}
article,
aside,
figure,
footer,
header,
hgroup,
section {
  display: block;
}
body,
button,
input,
select,
textarea {
  font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
}
code,
pre {
  -moz-osx-font-smoothing: auto;
  -webkit-font-smoothing: auto;
  font-family: monospace;
}
body {
  color: #4a4a4a;
  font-size: 1em;
  font-weight: 400;
  line-height: 1.5;
}
a {
  color: #3273dc;
  cursor: pointer;
  text-decoration: none;
}
a strong {
  color: currentColor;
}
a:hover {
  color: #363636;
}
code {
  background-color: whitesmoke;
  color: #f14668;
  font-size: 0.875em;
  font-weight: normal;
  padding: 0.25em 0.5em 0.25em;
}
hr {
  background-color: whitesmoke;
  border: none;
  display: block;
  height: 2px;
  margin: 1.5rem 0;
}
img {
  height: auto;
  max-width: 100%;
}
input[type=checkbox],
input[type=radio] {
  vertical-align: baseline;
}
small {
  font-size: 0.875em;
}
span {
  font-style: inherit;
  font-weight: inherit;
}
strong {
  color: #363636;
  font-weight: 700;
}
fieldset {
  border: none;
}
pre {
  -webkit-overflow-scrolling: touch;
  background-color: whitesmoke;
  color: #4a4a4a;
  font-size: 0.875em;
  overflow-x: auto;
  padding: 1.25rem 1.5rem;
  white-space: pre;
  word-wrap: normal;
}
pre code {
  background-color: transparent;
  color: currentColor;
  font-size: 1em;
  padding: 0;
}
table td,
table th {
  vertical-align: top;
}
table td:not([align]),
table th:not([align]) {
  text-align: left;
}
table th {
  color: #363636;
}
.is-clearfix::after {
  clear: both;
  content: " ";
  display: table;
}
.is-pulled-left {
  float: left !important;
}
.is-pulled-right {
  float: right !important;
}
.is-clipped {
  overflow: hidden !important;
}
.is-size-1 {
  font-size: 3rem !important;
}
.is-size-2 {
  font-size: 2.5rem !important;
}
.is-size-3 {
  font-size: 2rem !important;
}
.is-size-4 {
  font-size: 1.5rem !important;
}
.is-size-5 {
  font-size: 1.25rem !important;
}
.is-size-6 {
  font-size: 1rem !important;
}
.is-size-7 {
  font-size: 0.75rem !important;
}
@media screen and (max-width: 768px) {
  .is-size-1-mobile {
    font-size: 3rem !important;
  }

  .is-size-2-mobile {
    font-size: 2.5rem !important;
  }

  .is-size-3-mobile {
    font-size: 2rem !important;
  }

  .is-size-4-mobile {
    font-size: 1.5rem !important;
  }

  .is-size-5-mobile {
    font-size: 1.25rem !important;
  }

  .is-size-6-mobile {
    font-size: 1rem !important;
  }

  .is-size-7-mobile {
    font-size: 0.75rem !important;
  }
}
@media screen and (min-width: 769px), print {
  .is-size-1-tablet {
    font-size: 3rem !important;
  }

  .is-size-2-tablet {
    font-size: 2.5rem !important;
  }

  .is-size-3-tablet {
    font-size: 2rem !important;
  }

  .is-size-4-tablet {
    font-size: 1.5rem !important;
  }

  .is-size-5-tablet {
    font-size: 1.25rem !important;
  }

  .is-size-6-tablet {
    font-size: 1rem !important;
  }

  .is-size-7-tablet {
    font-size: 0.75rem !important;
  }
}
@media screen and (max-width: 1023px) {
  .is-size-1-touch {
    font-size: 3rem !important;
  }

  .is-size-2-touch {
    font-size: 2.5rem !important;
  }

  .is-size-3-touch {
    font-size: 2rem !important;
  }

  .is-size-4-touch {
    font-size: 1.5rem !important;
  }

  .is-size-5-touch {
    font-size: 1.25rem !important;
  }

  .is-size-6-touch {
    font-size: 1rem !important;
  }

  .is-size-7-touch {
    font-size: 0.75rem !important;
  }
}
@media screen and (min-width: 1024px) {
  .is-size-1-desktop {
    font-size: 3rem !important;
  }

  .is-size-2-desktop {
    font-size: 2.5rem !important;
  }

  .is-size-3-desktop {
    font-size: 2rem !important;
  }

  .is-size-4-desktop {
    font-size: 1.5rem !important;
  }

  .is-size-5-desktop {
    font-size: 1.25rem !important;
  }

  .is-size-6-desktop {
    font-size: 1rem !important;
  }

  .is-size-7-desktop {
    font-size: 0.75rem !important;
  }
}
@media screen and (min-width: 1216px) {
  .is-size-1-widescreen {
    font-size: 3rem !important;
  }

  .is-size-2-widescreen {
    font-size: 2.5rem !important;
  }

  .is-size-3-widescreen {
    font-size: 2rem !important;
  }

  .is-size-4-widescreen {
    font-size: 1.5rem !important;
  }

  .is-size-5-widescreen {
    font-size: 1.25rem !important;
  }

  .is-size-6-widescreen {
    font-size: 1rem !important;
  }

  .is-size-7-widescreen {
    font-size: 0.75rem !important;
  }
}
@media screen and (min-width: 1408px) {
  .is-size-1-fullhd {
    font-size: 3rem !important;
  }

  .is-size-2-fullhd {
    font-size: 2.5rem !important;
  }

  .is-size-3-fullhd {
    font-size: 2rem !important;
  }

  .is-size-4-fullhd {
    font-size: 1.5rem !important;
  }

  .is-size-5-fullhd {
    font-size: 1.25rem !important;
  }

  .is-size-6-fullhd {
    font-size: 1rem !important;
  }

  .is-size-7-fullhd {
    font-size: 0.75rem !important;
  }
}
.has-text-centered {
  text-align: center !important;
}
.has-text-justified {
  text-align: justify !important;
}
.has-text-left {
  text-align: left !important;
}
.has-text-right {
  text-align: right !important;
}
@media screen and (max-width: 768px) {
  .has-text-centered-mobile {
    text-align: center !important;
  }
}
@media screen and (min-width: 769px), print {
  .has-text-centered-tablet {
    text-align: center !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .has-text-centered-tablet-only {
    text-align: center !important;
  }
}
@media screen and (max-width: 1023px) {
  .has-text-centered-touch {
    text-align: center !important;
  }
}
@media screen and (min-width: 1024px) {
  .has-text-centered-desktop {
    text-align: center !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .has-text-centered-desktop-only {
    text-align: center !important;
  }
}
@media screen and (min-width: 1216px) {
  .has-text-centered-widescreen {
    text-align: center !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .has-text-centered-widescreen-only {
    text-align: center !important;
  }
}
@media screen and (min-width: 1408px) {
  .has-text-centered-fullhd {
    text-align: center !important;
  }
}
@media screen and (max-width: 768px) {
  .has-text-justified-mobile {
    text-align: justify !important;
  }
}
@media screen and (min-width: 769px), print {
  .has-text-justified-tablet {
    text-align: justify !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .has-text-justified-tablet-only {
    text-align: justify !important;
  }
}
@media screen and (max-width: 1023px) {
  .has-text-justified-touch {
    text-align: justify !important;
  }
}
@media screen and (min-width: 1024px) {
  .has-text-justified-desktop {
    text-align: justify !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .has-text-justified-desktop-only {
    text-align: justify !important;
  }
}
@media screen and (min-width: 1216px) {
  .has-text-justified-widescreen {
    text-align: justify !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .has-text-justified-widescreen-only {
    text-align: justify !important;
  }
}
@media screen and (min-width: 1408px) {
  .has-text-justified-fullhd {
    text-align: justify !important;
  }
}
@media screen and (max-width: 768px) {
  .has-text-left-mobile {
    text-align: left !important;
  }
}
@media screen and (min-width: 769px), print {
  .has-text-left-tablet {
    text-align: left !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .has-text-left-tablet-only {
    text-align: left !important;
  }
}
@media screen and (max-width: 1023px) {
  .has-text-left-touch {
    text-align: left !important;
  }
}
@media screen and (min-width: 1024px) {
  .has-text-left-desktop {
    text-align: left !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .has-text-left-desktop-only {
    text-align: left !important;
  }
}
@media screen and (min-width: 1216px) {
  .has-text-left-widescreen {
    text-align: left !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .has-text-left-widescreen-only {
    text-align: left !important;
  }
}
@media screen and (min-width: 1408px) {
  .has-text-left-fullhd {
    text-align: left !important;
  }
}
@media screen and (max-width: 768px) {
  .has-text-right-mobile {
    text-align: right !important;
  }
}
@media screen and (min-width: 769px), print {
  .has-text-right-tablet {
    text-align: right !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .has-text-right-tablet-only {
    text-align: right !important;
  }
}
@media screen and (max-width: 1023px) {
  .has-text-right-touch {
    text-align: right !important;
  }
}
@media screen and (min-width: 1024px) {
  .has-text-right-desktop {
    text-align: right !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .has-text-right-desktop-only {
    text-align: right !important;
  }
}
@media screen and (min-width: 1216px) {
  .has-text-right-widescreen {
    text-align: right !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .has-text-right-widescreen-only {
    text-align: right !important;
  }
}
@media screen and (min-width: 1408px) {
  .has-text-right-fullhd {
    text-align: right !important;
  }
}
.is-capitalized {
  text-transform: capitalize !important;
}
.is-lowercase {
  text-transform: lowercase !important;
}
.is-uppercase {
  text-transform: uppercase !important;
}
.is-italic {
  font-style: italic !important;
}
.has-text-white {
  color: white !important;
}
a.has-text-white:hover, a.has-text-white:focus {
  color: #e6e6e6 !important;
}
.has-background-white {
  background-color: white !important;
}
.has-text-black {
  color: #0a0a0a !important;
}
a.has-text-black:hover, a.has-text-black:focus {
  color: black !important;
}
.has-background-black {
  background-color: #0a0a0a !important;
}
.has-text-light {
  color: whitesmoke !important;
}
a.has-text-light:hover, a.has-text-light:focus {
  color: #dbdbdb !important;
}
.has-background-light {
  background-color: whitesmoke !important;
}
.has-text-dark {
  color: #363636 !important;
}
a.has-text-dark:hover, a.has-text-dark:focus {
  color: #1c1c1c !important;
}
.has-background-dark {
  background-color: #363636 !important;
}
.has-text-primary {
  color: #00d1b2 !important;
}
a.has-text-primary:hover, a.has-text-primary:focus {
  color: #009e86 !important;
}
.has-background-primary {
  background-color: #00d1b2 !important;
}
.has-text-link {
  color: #3273dc !important;
}
a.has-text-link:hover, a.has-text-link:focus {
  color: #205bbc !important;
}
.has-background-link {
  background-color: #3273dc !important;
}
.has-text-info {
  color: #3298dc !important;
}
a.has-text-info:hover, a.has-text-info:focus {
  color: #207dbc !important;
}
.has-background-info {
  background-color: #3298dc !important;
}
.has-text-success {
  color: #48c774 !important;
}
a.has-text-success:hover, a.has-text-success:focus {
  color: #34a85c !important;
}
.has-background-success {
  background-color: #48c774 !important;
}
.has-text-warning {
  color: #ffdd57 !important;
}
a.has-text-warning:hover, a.has-text-warning:focus {
  color: #ffd324 !important;
}
.has-background-warning {
  background-color: #ffdd57 !important;
}
.has-text-danger {
  color: #f14668 !important;
}
a.has-text-danger:hover, a.has-text-danger:focus {
  color: #ee1742 !important;
}
.has-background-danger {
  background-color: #f14668 !important;
}
.has-text-black-bis {
  color: #121212 !important;
}
.has-background-black-bis {
  background-color: #121212 !important;
}
.has-text-black-ter {
  color: #242424 !important;
}
.has-background-black-ter {
  background-color: #242424 !important;
}
.has-text-grey-darker {
  color: #363636 !important;
}
.has-background-grey-darker {
  background-color: #363636 !important;
}
.has-text-grey-dark {
  color: #4a4a4a !important;
}
.has-background-grey-dark {
  background-color: #4a4a4a !important;
}
.has-text-grey {
  color: #7a7a7a !important;
}
.has-background-grey {
  background-color: #7a7a7a !important;
}
.has-text-grey-light {
  color: #b5b5b5 !important;
}
.has-background-grey-light {
  background-color: #b5b5b5 !important;
}
.has-text-grey-lighter {
  color: #dbdbdb !important;
}
.has-background-grey-lighter {
  background-color: #dbdbdb !important;
}
.has-text-white-ter {
  color: whitesmoke !important;
}
.has-background-white-ter {
  background-color: whitesmoke !important;
}
.has-text-white-bis {
  color: #fafafa !important;
}
.has-background-white-bis {
  background-color: #fafafa !important;
}
.has-text-weight-light {
  font-weight: 300 !important;
}
.has-text-weight-normal {
  font-weight: 400 !important;
}
.has-text-weight-medium {
  font-weight: 500 !important;
}
.has-text-weight-semibold {
  font-weight: 600 !important;
}
.has-text-weight-bold {
  font-weight: 700 !important;
}
.is-family-primary {
  font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important;
}
.is-family-secondary {
  font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important;
}
.is-family-sans-serif {
  font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important;
}
.is-family-monospace {
  font-family: monospace !important;
}
.is-family-code {
  font-family: monospace !important;
}
.is-block {
  display: block !important;
}
@media screen and (max-width: 768px) {
  .is-block-mobile {
    display: block !important;
  }
}
@media screen and (min-width: 769px), print {
  .is-block-tablet {
    display: block !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-block-tablet-only {
    display: block !important;
  }
}
@media screen and (max-width: 1023px) {
  .is-block-touch {
    display: block !important;
  }
}
@media screen and (min-width: 1024px) {
  .is-block-desktop {
    display: block !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-block-desktop-only {
    display: block !important;
  }
}
@media screen and (min-width: 1216px) {
  .is-block-widescreen {
    display: block !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-block-widescreen-only {
    display: block !important;
  }
}
@media screen and (min-width: 1408px) {
  .is-block-fullhd {
    display: block !important;
  }
}
.is-flex {
  display: flex !important;
}
@media screen and (max-width: 768px) {
  .is-flex-mobile {
    display: flex !important;
  }
}
@media screen and (min-width: 769px), print {
  .is-flex-tablet {
    display: flex !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-flex-tablet-only {
    display: flex !important;
  }
}
@media screen and (max-width: 1023px) {
  .is-flex-touch {
    display: flex !important;
  }
}
@media screen and (min-width: 1024px) {
  .is-flex-desktop {
    display: flex !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-flex-desktop-only {
    display: flex !important;
  }
}
@media screen and (min-width: 1216px) {
  .is-flex-widescreen {
    display: flex !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-flex-widescreen-only {
    display: flex !important;
  }
}
@media screen and (min-width: 1408px) {
  .is-flex-fullhd {
    display: flex !important;
  }
}
.is-inline {
  display: inline !important;
}
@media screen and (max-width: 768px) {
  .is-inline-mobile {
    display: inline !important;
  }
}
@media screen and (min-width: 769px), print {
  .is-inline-tablet {
    display: inline !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-inline-tablet-only {
    display: inline !important;
  }
}
@media screen and (max-width: 1023px) {
  .is-inline-touch {
    display: inline !important;
  }
}
@media screen and (min-width: 1024px) {
  .is-inline-desktop {
    display: inline !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-inline-desktop-only {
    display: inline !important;
  }
}
@media screen and (min-width: 1216px) {
  .is-inline-widescreen {
    display: inline !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-inline-widescreen-only {
    display: inline !important;
  }
}
@media screen and (min-width: 1408px) {
  .is-inline-fullhd {
    display: inline !important;
  }
}
.is-inline-block {
  display: inline-block !important;
}
@media screen and (max-width: 768px) {
  .is-inline-block-mobile {
    display: inline-block !important;
  }
}
@media screen and (min-width: 769px), print {
  .is-inline-block-tablet {
    display: inline-block !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-inline-block-tablet-only {
    display: inline-block !important;
  }
}
@media screen and (max-width: 1023px) {
  .is-inline-block-touch {
    display: inline-block !important;
  }
}
@media screen and (min-width: 1024px) {
  .is-inline-block-desktop {
    display: inline-block !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-inline-block-desktop-only {
    display: inline-block !important;
  }
}
@media screen and (min-width: 1216px) {
  .is-inline-block-widescreen {
    display: inline-block !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-inline-block-widescreen-only {
    display: inline-block !important;
  }
}
@media screen and (min-width: 1408px) {
  .is-inline-block-fullhd {
    display: inline-block !important;
  }
}
.is-inline-flex {
  display: inline-flex !important;
}
@media screen and (max-width: 768px) {
  .is-inline-flex-mobile {
    display: inline-flex !important;
  }
}
@media screen and (min-width: 769px), print {
  .is-inline-flex-tablet {
    display: inline-flex !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-inline-flex-tablet-only {
    display: inline-flex !important;
  }
}
@media screen and (max-width: 1023px) {
  .is-inline-flex-touch {
    display: inline-flex !important;
  }
}
@media screen and (min-width: 1024px) {
  .is-inline-flex-desktop {
    display: inline-flex !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-inline-flex-desktop-only {
    display: inline-flex !important;
  }
}
@media screen and (min-width: 1216px) {
  .is-inline-flex-widescreen {
    display: inline-flex !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-inline-flex-widescreen-only {
    display: inline-flex !important;
  }
}
@media screen and (min-width: 1408px) {
  .is-inline-flex-fullhd {
    display: inline-flex !important;
  }
}
.is-hidden {
  display: none !important;
}
.is-sr-only {
  border: none !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 0.01em !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 0.01em !important;
}
@media screen and (max-width: 768px) {
  .is-hidden-mobile {
    display: none !important;
  }
}
@media screen and (min-width: 769px), print {
  .is-hidden-tablet {
    display: none !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-hidden-tablet-only {
    display: none !important;
  }
}
@media screen and (max-width: 1023px) {
  .is-hidden-touch {
    display: none !important;
  }
}
@media screen and (min-width: 1024px) {
  .is-hidden-desktop {
    display: none !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-hidden-desktop-only {
    display: none !important;
  }
}
@media screen and (min-width: 1216px) {
  .is-hidden-widescreen {
    display: none !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-hidden-widescreen-only {
    display: none !important;
  }
}
@media screen and (min-width: 1408px) {
  .is-hidden-fullhd {
    display: none !important;
  }
}
.is-invisible {
  visibility: hidden !important;
}
@media screen and (max-width: 768px) {
  .is-invisible-mobile {
    visibility: hidden !important;
  }
}
@media screen and (min-width: 769px), print {
  .is-invisible-tablet {
    visibility: hidden !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-invisible-tablet-only {
    visibility: hidden !important;
  }
}
@media screen and (max-width: 1023px) {
  .is-invisible-touch {
    visibility: hidden !important;
  }
}
@media screen and (min-width: 1024px) {
  .is-invisible-desktop {
    visibility: hidden !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-invisible-desktop-only {
    visibility: hidden !important;
  }
}
@media screen and (min-width: 1216px) {
  .is-invisible-widescreen {
    visibility: hidden !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-invisible-widescreen-only {
    visibility: hidden !important;
  }
}
@media screen and (min-width: 1408px) {
  .is-invisible-fullhd {
    visibility: hidden !important;
  }
}
.is-marginless {
  margin: 0 !important;
}
.is-paddingless {
  padding: 0 !important;
}
.is-radiusless {
  border-radius: 0 !important;
}
.is-shadowless {
  box-shadow: none !important;
}
.is-relative {
  position: relative !important;
}
.column {
  display: block;
  flex-basis: 0;
  flex-grow: 1;
  flex-shrink: 1;
  padding: 0.75rem;
}
.columns.is-mobile > .column.is-narrow {
  flex: none;
}
.columns.is-mobile > .column.is-full {
  flex: none;
  width: 100%;
}
.columns.is-mobile > .column.is-three-quarters {
  flex: none;
  width: 75%;
}
.columns.is-mobile > .column.is-two-thirds {
  flex: none;
  width: 66.6666%;
}
.columns.is-mobile > .column.is-half {
  flex: none;
  width: 50%;
}
.columns.is-mobile > .column.is-one-third {
  flex: none;
  width: 33.3333%;
}
.columns.is-mobile > .column.is-one-quarter {
  flex: none;
  width: 25%;
}
.columns.is-mobile > .column.is-one-fifth {
  flex: none;
  width: 20%;
}
.columns.is-mobile > .column.is-two-fifths {
  flex: none;
  width: 40%;
}
.columns.is-mobile > .column.is-three-fifths {
  flex: none;
  width: 60%;
}
.columns.is-mobile > .column.is-four-fifths {
  flex: none;
  width: 80%;
}
.columns.is-mobile > .column.is-offset-three-quarters {
  margin-left: 75%;
}
.columns.is-mobile > .column.is-offset-two-thirds {
  margin-left: 66.6666%;
}
.columns.is-mobile > .column.is-offset-half {
  margin-left: 50%;
}
.columns.is-mobile > .column.is-offset-one-third {
  margin-left: 33.3333%;
}
.columns.is-mobile > .column.is-offset-one-quarter {
  margin-left: 25%;
}
.columns.is-mobile > .column.is-offset-one-fifth {
  margin-left: 20%;
}
.columns.is-mobile > .column.is-offset-two-fifths {
  margin-left: 40%;
}
.columns.is-mobile > .column.is-offset-three-fifths {
  margin-left: 60%;
}
.columns.is-mobile > .column.is-offset-four-fifths {
  margin-left: 80%;
}
.columns.is-mobile > .column.is-0 {
  flex: none;
  width: 0%;
}
.columns.is-mobile > .column.is-offset-0 {
  margin-left: 0%;
}
.columns.is-mobile > .column.is-1 {
  flex: none;
  width: 8.3333333333%;
}
.columns.is-mobile > .column.is-offset-1 {
  margin-left: 8.3333333333%;
}
.columns.is-mobile > .column.is-2 {
  flex: none;
  width: 16.6666666667%;
}
.columns.is-mobile > .column.is-offset-2 {
  margin-left: 16.6666666667%;
}
.columns.is-mobile > .column.is-3 {
  flex: none;
  width: 25%;
}
.columns.is-mobile > .column.is-offset-3 {
  margin-left: 25%;
}
.columns.is-mobile > .column.is-4 {
  flex: none;
  width: 33.3333333333%;
}
.columns.is-mobile > .column.is-offset-4 {
  margin-left: 33.3333333333%;
}
.columns.is-mobile > .column.is-5 {
  flex: none;
  width: 41.6666666667%;
}
.columns.is-mobile > .column.is-offset-5 {
  margin-left: 41.6666666667%;
}
.columns.is-mobile > .column.is-6 {
  flex: none;
  width: 50%;
}
.columns.is-mobile > .column.is-offset-6 {
  margin-left: 50%;
}
.columns.is-mobile > .column.is-7 {
  flex: none;
  width: 58.3333333333%;
}
.columns.is-mobile > .column.is-offset-7 {
  margin-left: 58.3333333333%;
}
.columns.is-mobile > .column.is-8 {
  flex: none;
  width: 66.6666666667%;
}
.columns.is-mobile > .column.is-offset-8 {
  margin-left: 66.6666666667%;
}
.columns.is-mobile > .column.is-9 {
  flex: none;
  width: 75%;
}
.columns.is-mobile > .column.is-offset-9 {
  margin-left: 75%;
}
.columns.is-mobile > .column.is-10 {
  flex: none;
  width: 83.3333333333%;
}
.columns.is-mobile > .column.is-offset-10 {
  margin-left: 83.3333333333%;
}
.columns.is-mobile > .column.is-11 {
  flex: none;
  width: 91.6666666667%;
}
.columns.is-mobile > .column.is-offset-11 {
  margin-left: 91.6666666667%;
}
.columns.is-mobile > .column.is-12 {
  flex: none;
  width: 100%;
}
.columns.is-mobile > .column.is-offset-12 {
  margin-left: 100%;
}
@media screen and (max-width: 768px) {
  .column.is-narrow-mobile {
    flex: none;
  }
  .column.is-full-mobile {
    flex: none;
    width: 100%;
  }
  .column.is-three-quarters-mobile {
    flex: none;
    width: 75%;
  }
  .column.is-two-thirds-mobile {
    flex: none;
    width: 66.6666%;
  }
  .column.is-half-mobile {
    flex: none;
    width: 50%;
  }
  .column.is-one-third-mobile {
    flex: none;
    width: 33.3333%;
  }
  .column.is-one-quarter-mobile {
    flex: none;
    width: 25%;
  }
  .column.is-one-fifth-mobile {
    flex: none;
    width: 20%;
  }
  .column.is-two-fifths-mobile {
    flex: none;
    width: 40%;
  }
  .column.is-three-fifths-mobile {
    flex: none;
    width: 60%;
  }
  .column.is-four-fifths-mobile {
    flex: none;
    width: 80%;
  }
  .column.is-offset-three-quarters-mobile {
    margin-left: 75%;
  }
  .column.is-offset-two-thirds-mobile {
    margin-left: 66.6666%;
  }
  .column.is-offset-half-mobile {
    margin-left: 50%;
  }
  .column.is-offset-one-third-mobile {
    margin-left: 33.3333%;
  }
  .column.is-offset-one-quarter-mobile {
    margin-left: 25%;
  }
  .column.is-offset-one-fifth-mobile {
    margin-left: 20%;
  }
  .column.is-offset-two-fifths-mobile {
    margin-left: 40%;
  }
  .column.is-offset-three-fifths-mobile {
    margin-left: 60%;
  }
  .column.is-offset-four-fifths-mobile {
    margin-left: 80%;
  }
  .column.is-0-mobile {
    flex: none;
    width: 0%;
  }
  .column.is-offset-0-mobile {
    margin-left: 0%;
  }
  .column.is-1-mobile {
    flex: none;
    width: 8.3333333333%;
  }
  .column.is-offset-1-mobile {
    margin-left: 8.3333333333%;
  }
  .column.is-2-mobile {
    flex: none;
    width: 16.6666666667%;
  }
  .column.is-offset-2-mobile {
    margin-left: 16.6666666667%;
  }
  .column.is-3-mobile {
    flex: none;
    width: 25%;
  }
  .column.is-offset-3-mobile {
    margin-left: 25%;
  }
  .column.is-4-mobile {
    flex: none;
    width: 33.3333333333%;
  }
  .column.is-offset-4-mobile {
    margin-left: 33.3333333333%;
  }
  .column.is-5-mobile {
    flex: none;
    width: 41.6666666667%;
  }
  .column.is-offset-5-mobile {
    margin-left: 41.6666666667%;
  }
  .column.is-6-mobile {
    flex: none;
    width: 50%;
  }
  .column.is-offset-6-mobile {
    margin-left: 50%;
  }
  .column.is-7-mobile {
    flex: none;
    width: 58.3333333333%;
  }
  .column.is-offset-7-mobile {
    margin-left: 58.3333333333%;
  }
  .column.is-8-mobile {
    flex: none;
    width: 66.6666666667%;
  }
  .column.is-offset-8-mobile {
    margin-left: 66.6666666667%;
  }
  .column.is-9-mobile {
    flex: none;
    width: 75%;
  }
  .column.is-offset-9-mobile {
    margin-left: 75%;
  }
  .column.is-10-mobile {
    flex: none;
    width: 83.3333333333%;
  }
  .column.is-offset-10-mobile {
    margin-left: 83.3333333333%;
  }
  .column.is-11-mobile {
    flex: none;
    width: 91.6666666667%;
  }
  .column.is-offset-11-mobile {
    margin-left: 91.6666666667%;
  }
  .column.is-12-mobile {
    flex: none;
    width: 100%;
  }
  .column.is-offset-12-mobile {
    margin-left: 100%;
  }
}
@media screen and (min-width: 769px), print {
  .column.is-narrow, .column.is-narrow-tablet {
    flex: none;
  }
  .column.is-full, .column.is-full-tablet {
    flex: none;
    width: 100%;
  }
  .column.is-three-quarters, .column.is-three-quarters-tablet {
    flex: none;
    width: 75%;
  }
  .column.is-two-thirds, .column.is-two-thirds-tablet {
    flex: none;
    width: 66.6666%;
  }
  .column.is-half, .column.is-half-tablet {
    flex: none;
    width: 50%;
  }
  .column.is-one-third, .column.is-one-third-tablet {
    flex: none;
    width: 33.3333%;
  }
  .column.is-one-quarter, .column.is-one-quarter-tablet {
    flex: none;
    width: 25%;
  }
  .column.is-one-fifth, .column.is-one-fifth-tablet {
    flex: none;
    width: 20%;
  }
  .column.is-two-fifths, .column.is-two-fifths-tablet {
    flex: none;
    width: 40%;
  }
  .column.is-three-fifths, .column.is-three-fifths-tablet {
    flex: none;
    width: 60%;
  }
  .column.is-four-fifths, .column.is-four-fifths-tablet {
    flex: none;
    width: 80%;
  }
  .column.is-offset-three-quarters, .column.is-offset-three-quarters-tablet {
    margin-left: 75%;
  }
  .column.is-offset-two-thirds, .column.is-offset-two-thirds-tablet {
    margin-left: 66.6666%;
  }
  .column.is-offset-half, .column.is-offset-half-tablet {
    margin-left: 50%;
  }
  .column.is-offset-one-third, .column.is-offset-one-third-tablet {
    margin-left: 33.3333%;
  }
  .column.is-offset-one-quarter, .column.is-offset-one-quarter-tablet {
    margin-left: 25%;
  }
  .column.is-offset-one-fifth, .column.is-offset-one-fifth-tablet {
    margin-left: 20%;
  }
  .column.is-offset-two-fifths, .column.is-offset-two-fifths-tablet {
    margin-left: 40%;
  }
  .column.is-offset-three-fifths, .column.is-offset-three-fifths-tablet {
    margin-left: 60%;
  }
  .column.is-offset-four-fifths, .column.is-offset-four-fifths-tablet {
    margin-left: 80%;
  }
  .column.is-0, .column.is-0-tablet {
    flex: none;
    width: 0%;
  }
  .column.is-offset-0, .column.is-offset-0-tablet {
    margin-left: 0%;
  }
  .column.is-1, .column.is-1-tablet {
    flex: none;
    width: 8.3333333333%;
  }
  .column.is-offset-1, .column.is-offset-1-tablet {
    margin-left: 8.3333333333%;
  }
  .column.is-2, .column.is-2-tablet {
    flex: none;
    width: 16.6666666667%;
  }
  .column.is-offset-2, .column.is-offset-2-tablet {
    margin-left: 16.6666666667%;
  }
  .column.is-3, .column.is-3-tablet {
    flex: none;
    width: 25%;
  }
  .column.is-offset-3, .column.is-offset-3-tablet {
    margin-left: 25%;
  }
  .column.is-4, .column.is-4-tablet {
    flex: none;
    width: 33.3333333333%;
  }
  .column.is-offset-4, .column.is-offset-4-tablet {
    margin-left: 33.3333333333%;
  }
  .column.is-5, .column.is-5-tablet {
    flex: none;
    width: 41.6666666667%;
  }
  .column.is-offset-5, .column.is-offset-5-tablet {
    margin-left: 41.6666666667%;
  }
  .column.is-6, .column.is-6-tablet {
    flex: none;
    width: 50%;
  }
  .column.is-offset-6, .column.is-offset-6-tablet {
    margin-left: 50%;
  }
  .column.is-7, .column.is-7-tablet {
    flex: none;
    width: 58.3333333333%;
  }
  .column.is-offset-7, .column.is-offset-7-tablet {
    margin-left: 58.3333333333%;
  }
  .column.is-8, .column.is-8-tablet {
    flex: none;
    width: 66.6666666667%;
  }
  .column.is-offset-8, .column.is-offset-8-tablet {
    margin-left: 66.6666666667%;
  }
  .column.is-9, .column.is-9-tablet {
    flex: none;
    width: 75%;
  }
  .column.is-offset-9, .column.is-offset-9-tablet {
    margin-left: 75%;
  }
  .column.is-10, .column.is-10-tablet {
    flex: none;
    width: 83.3333333333%;
  }
  .column.is-offset-10, .column.is-offset-10-tablet {
    margin-left: 83.3333333333%;
  }
  .column.is-11, .column.is-11-tablet {
    flex: none;
    width: 91.6666666667%;
  }
  .column.is-offset-11, .column.is-offset-11-tablet {
    margin-left: 91.6666666667%;
  }
  .column.is-12, .column.is-12-tablet {
    flex: none;
    width: 100%;
  }
  .column.is-offset-12, .column.is-offset-12-tablet {
    margin-left: 100%;
  }
}
@media screen and (max-width: 1023px) {
  .column.is-narrow-touch {
    flex: none;
  }
  .column.is-full-touch {
    flex: none;
    width: 100%;
  }
  .column.is-three-quarters-touch {
    flex: none;
    width: 75%;
  }
  .column.is-two-thirds-touch {
    flex: none;
    width: 66.6666%;
  }
  .column.is-half-touch {
    flex: none;
    width: 50%;
  }
  .column.is-one-third-touch {
    flex: none;
    width: 33.3333%;
  }
  .column.is-one-quarter-touch {
    flex: none;
    width: 25%;
  }
  .column.is-one-fifth-touch {
    flex: none;
    width: 20%;
  }
  .column.is-two-fifths-touch {
    flex: none;
    width: 40%;
  }
  .column.is-three-fifths-touch {
    flex: none;
    width: 60%;
  }
  .column.is-four-fifths-touch {
    flex: none;
    width: 80%;
  }
  .column.is-offset-three-quarters-touch {
    margin-left: 75%;
  }
  .column.is-offset-two-thirds-touch {
    margin-left: 66.6666%;
  }
  .column.is-offset-half-touch {
    margin-left: 50%;
  }
  .column.is-offset-one-third-touch {
    margin-left: 33.3333%;
  }
  .column.is-offset-one-quarter-touch {
    margin-left: 25%;
  }
  .column.is-offset-one-fifth-touch {
    margin-left: 20%;
  }
  .column.is-offset-two-fifths-touch {
    margin-left: 40%;
  }
  .column.is-offset-three-fifths-touch {
    margin-left: 60%;
  }
  .column.is-offset-four-fifths-touch {
    margin-left: 80%;
  }
  .column.is-0-touch {
    flex: none;
    width: 0%;
  }
  .column.is-offset-0-touch {
    margin-left: 0%;
  }
  .column.is-1-touch {
    flex: none;
    width: 8.3333333333%;
  }
  .column.is-offset-1-touch {
    margin-left: 8.3333333333%;
  }
  .column.is-2-touch {
    flex: none;
    width: 16.6666666667%;
  }
  .column.is-offset-2-touch {
    margin-left: 16.6666666667%;
  }
  .column.is-3-touch {
    flex: none;
    width: 25%;
  }
  .column.is-offset-3-touch {
    margin-left: 25%;
  }
  .column.is-4-touch {
    flex: none;
    width: 33.3333333333%;
  }
  .column.is-offset-4-touch {
    margin-left: 33.3333333333%;
  }
  .column.is-5-touch {
    flex: none;
    width: 41.6666666667%;
  }
  .column.is-offset-5-touch {
    margin-left: 41.6666666667%;
  }
  .column.is-6-touch {
    flex: none;
    width: 50%;
  }
  .column.is-offset-6-touch {
    margin-left: 50%;
  }
  .column.is-7-touch {
    flex: none;
    width: 58.3333333333%;
  }
  .column.is-offset-7-touch {
    margin-left: 58.3333333333%;
  }
  .column.is-8-touch {
    flex: none;
    width: 66.6666666667%;
  }
  .column.is-offset-8-touch {
    margin-left: 66.6666666667%;
  }
  .column.is-9-touch {
    flex: none;
    width: 75%;
  }
  .column.is-offset-9-touch {
    margin-left: 75%;
  }
  .column.is-10-touch {
    flex: none;
    width: 83.3333333333%;
  }
  .column.is-offset-10-touch {
    margin-left: 83.3333333333%;
  }
  .column.is-11-touch {
    flex: none;
    width: 91.6666666667%;
  }
  .column.is-offset-11-touch {
    margin-left: 91.6666666667%;
  }
  .column.is-12-touch {
    flex: none;
    width: 100%;
  }
  .column.is-offset-12-touch {
    margin-left: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .column.is-narrow-desktop {
    flex: none;
  }
  .column.is-full-desktop {
    flex: none;
    width: 100%;
  }
  .column.is-three-quarters-desktop {
    flex: none;
    width: 75%;
  }
  .column.is-two-thirds-desktop {
    flex: none;
    width: 66.6666%;
  }
  .column.is-half-desktop {
    flex: none;
    width: 50%;
  }
  .column.is-one-third-desktop {
    flex: none;
    width: 33.3333%;
  }
  .column.is-one-quarter-desktop {
    flex: none;
    width: 25%;
  }
  .column.is-one-fifth-desktop {
    flex: none;
    width: 20%;
  }
  .column.is-two-fifths-desktop {
    flex: none;
    width: 40%;
  }
  .column.is-three-fifths-desktop {
    flex: none;
    width: 60%;
  }
  .column.is-four-fifths-desktop {
    flex: none;
    width: 80%;
  }
  .column.is-offset-three-quarters-desktop {
    margin-left: 75%;
  }
  .column.is-offset-two-thirds-desktop {
    margin-left: 66.6666%;
  }
  .column.is-offset-half-desktop {
    margin-left: 50%;
  }
  .column.is-offset-one-third-desktop {
    margin-left: 33.3333%;
  }
  .column.is-offset-one-quarter-desktop {
    margin-left: 25%;
  }
  .column.is-offset-one-fifth-desktop {
    margin-left: 20%;
  }
  .column.is-offset-two-fifths-desktop {
    margin-left: 40%;
  }
  .column.is-offset-three-fifths-desktop {
    margin-left: 60%;
  }
  .column.is-offset-four-fifths-desktop {
    margin-left: 80%;
  }
  .column.is-0-desktop {
    flex: none;
    width: 0%;
  }
  .column.is-offset-0-desktop {
    margin-left: 0%;
  }
  .column.is-1-desktop {
    flex: none;
    width: 8.3333333333%;
  }
  .column.is-offset-1-desktop {
    margin-left: 8.3333333333%;
  }
  .column.is-2-desktop {
    flex: none;
    width: 16.6666666667%;
  }
  .column.is-offset-2-desktop {
    margin-left: 16.6666666667%;
  }
  .column.is-3-desktop {
    flex: none;
    width: 25%;
  }
  .column.is-offset-3-desktop {
    margin-left: 25%;
  }
  .column.is-4-desktop {
    flex: none;
    width: 33.3333333333%;
  }
  .column.is-offset-4-desktop {
    margin-left: 33.3333333333%;
  }
  .column.is-5-desktop {
    flex: none;
    width: 41.6666666667%;
  }
  .column.is-offset-5-desktop {
    margin-left: 41.6666666667%;
  }
  .column.is-6-desktop {
    flex: none;
    width: 50%;
  }
  .column.is-offset-6-desktop {
    margin-left: 50%;
  }
  .column.is-7-desktop {
    flex: none;
    width: 58.3333333333%;
  }
  .column.is-offset-7-desktop {
    margin-left: 58.3333333333%;
  }
  .column.is-8-desktop {
    flex: none;
    width: 66.6666666667%;
  }
  .column.is-offset-8-desktop {
    margin-left: 66.6666666667%;
  }
  .column.is-9-desktop {
    flex: none;
    width: 75%;
  }
  .column.is-offset-9-desktop {
    margin-left: 75%;
  }
  .column.is-10-desktop {
    flex: none;
    width: 83.3333333333%;
  }
  .column.is-offset-10-desktop {
    margin-left: 83.3333333333%;
  }
  .column.is-11-desktop {
    flex: none;
    width: 91.6666666667%;
  }
  .column.is-offset-11-desktop {
    margin-left: 91.6666666667%;
  }
  .column.is-12-desktop {
    flex: none;
    width: 100%;
  }
  .column.is-offset-12-desktop {
    margin-left: 100%;
  }
}
@media screen and (min-width: 1216px) {
  .column.is-narrow-widescreen {
    flex: none;
  }
  .column.is-full-widescreen {
    flex: none;
    width: 100%;
  }
  .column.is-three-quarters-widescreen {
    flex: none;
    width: 75%;
  }
  .column.is-two-thirds-widescreen {
    flex: none;
    width: 66.6666%;
  }
  .column.is-half-widescreen {
    flex: none;
    width: 50%;
  }
  .column.is-one-third-widescreen {
    flex: none;
    width: 33.3333%;
  }
  .column.is-one-quarter-widescreen {
    flex: none;
    width: 25%;
  }
  .column.is-one-fifth-widescreen {
    flex: none;
    width: 20%;
  }
  .column.is-two-fifths-widescreen {
    flex: none;
    width: 40%;
  }
  .column.is-three-fifths-widescreen {
    flex: none;
    width: 60%;
  }
  .column.is-four-fifths-widescreen {
    flex: none;
    width: 80%;
  }
  .column.is-offset-three-quarters-widescreen {
    margin-left: 75%;
  }
  .column.is-offset-two-thirds-widescreen {
    margin-left: 66.6666%;
  }
  .column.is-offset-half-widescreen {
    margin-left: 50%;
  }
  .column.is-offset-one-third-widescreen {
    margin-left: 33.3333%;
  }
  .column.is-offset-one-quarter-widescreen {
    margin-left: 25%;
  }
  .column.is-offset-one-fifth-widescreen {
    margin-left: 20%;
  }
  .column.is-offset-two-fifths-widescreen {
    margin-left: 40%;
  }
  .column.is-offset-three-fifths-widescreen {
    margin-left: 60%;
  }
  .column.is-offset-four-fifths-widescreen {
    margin-left: 80%;
  }
  .column.is-0-widescreen {
    flex: none;
    width: 0%;
  }
  .column.is-offset-0-widescreen {
    margin-left: 0%;
  }
  .column.is-1-widescreen {
    flex: none;
    width: 8.3333333333%;
  }
  .column.is-offset-1-widescreen {
    margin-left: 8.3333333333%;
  }
  .column.is-2-widescreen {
    flex: none;
    width: 16.6666666667%;
  }
  .column.is-offset-2-widescreen {
    margin-left: 16.6666666667%;
  }
  .column.is-3-widescreen {
    flex: none;
    width: 25%;
  }
  .column.is-offset-3-widescreen {
    margin-left: 25%;
  }
  .column.is-4-widescreen {
    flex: none;
    width: 33.3333333333%;
  }
  .column.is-offset-4-widescreen {
    margin-left: 33.3333333333%;
  }
  .column.is-5-widescreen {
    flex: none;
    width: 41.6666666667%;
  }
  .column.is-offset-5-widescreen {
    margin-left: 41.6666666667%;
  }
  .column.is-6-widescreen {
    flex: none;
    width: 50%;
  }
  .column.is-offset-6-widescreen {
    margin-left: 50%;
  }
  .column.is-7-widescreen {
    flex: none;
    width: 58.3333333333%;
  }
  .column.is-offset-7-widescreen {
    margin-left: 58.3333333333%;
  }
  .column.is-8-widescreen {
    flex: none;
    width: 66.6666666667%;
  }
  .column.is-offset-8-widescreen {
    margin-left: 66.6666666667%;
  }
  .column.is-9-widescreen {
    flex: none;
    width: 75%;
  }
  .column.is-offset-9-widescreen {
    margin-left: 75%;
  }
  .column.is-10-widescreen {
    flex: none;
    width: 83.3333333333%;
  }
  .column.is-offset-10-widescreen {
    margin-left: 83.3333333333%;
  }
  .column.is-11-widescreen {
    flex: none;
    width: 91.6666666667%;
  }
  .column.is-offset-11-widescreen {
    margin-left: 91.6666666667%;
  }
  .column.is-12-widescreen {
    flex: none;
    width: 100%;
  }
  .column.is-offset-12-widescreen {
    margin-left: 100%;
  }
}
@media screen and (min-width: 1408px) {
  .column.is-narrow-fullhd {
    flex: none;
  }
  .column.is-full-fullhd {
    flex: none;
    width: 100%;
  }
  .column.is-three-quarters-fullhd {
    flex: none;
    width: 75%;
  }
  .column.is-two-thirds-fullhd {
    flex: none;
    width: 66.6666%;
  }
  .column.is-half-fullhd {
    flex: none;
    width: 50%;
  }
  .column.is-one-third-fullhd {
    flex: none;
    width: 33.3333%;
  }
  .column.is-one-quarter-fullhd {
    flex: none;
    width: 25%;
  }
  .column.is-one-fifth-fullhd {
    flex: none;
    width: 20%;
  }
  .column.is-two-fifths-fullhd {
    flex: none;
    width: 40%;
  }
  .column.is-three-fifths-fullhd {
    flex: none;
    width: 60%;
  }
  .column.is-four-fifths-fullhd {
    flex: none;
    width: 80%;
  }
  .column.is-offset-three-quarters-fullhd {
    margin-left: 75%;
  }
  .column.is-offset-two-thirds-fullhd {
    margin-left: 66.6666%;
  }
  .column.is-offset-half-fullhd {
    margin-left: 50%;
  }
  .column.is-offset-one-third-fullhd {
    margin-left: 33.3333%;
  }
  .column.is-offset-one-quarter-fullhd {
    margin-left: 25%;
  }
  .column.is-offset-one-fifth-fullhd {
    margin-left: 20%;
  }
  .column.is-offset-two-fifths-fullhd {
    margin-left: 40%;
  }
  .column.is-offset-three-fifths-fullhd {
    margin-left: 60%;
  }
  .column.is-offset-four-fifths-fullhd {
    margin-left: 80%;
  }
  .column.is-0-fullhd {
    flex: none;
    width: 0%;
  }
  .column.is-offset-0-fullhd {
    margin-left: 0%;
  }
  .column.is-1-fullhd {
    flex: none;
    width: 8.3333333333%;
  }
  .column.is-offset-1-fullhd {
    margin-left: 8.3333333333%;
  }
  .column.is-2-fullhd {
    flex: none;
    width: 16.6666666667%;
  }
  .column.is-offset-2-fullhd {
    margin-left: 16.6666666667%;
  }
  .column.is-3-fullhd {
    flex: none;
    width: 25%;
  }
  .column.is-offset-3-fullhd {
    margin-left: 25%;
  }
  .column.is-4-fullhd {
    flex: none;
    width: 33.3333333333%;
  }
  .column.is-offset-4-fullhd {
    margin-left: 33.3333333333%;
  }
  .column.is-5-fullhd {
    flex: none;
    width: 41.6666666667%;
  }
  .column.is-offset-5-fullhd {
    margin-left: 41.6666666667%;
  }
  .column.is-6-fullhd {
    flex: none;
    width: 50%;
  }
  .column.is-offset-6-fullhd {
    margin-left: 50%;
  }
  .column.is-7-fullhd {
    flex: none;
    width: 58.3333333333%;
  }
  .column.is-offset-7-fullhd {
    margin-left: 58.3333333333%;
  }
  .column.is-8-fullhd {
    flex: none;
    width: 66.6666666667%;
  }
  .column.is-offset-8-fullhd {
    margin-left: 66.6666666667%;
  }
  .column.is-9-fullhd {
    flex: none;
    width: 75%;
  }
  .column.is-offset-9-fullhd {
    margin-left: 75%;
  }
  .column.is-10-fullhd {
    flex: none;
    width: 83.3333333333%;
  }
  .column.is-offset-10-fullhd {
    margin-left: 83.3333333333%;
  }
  .column.is-11-fullhd {
    flex: none;
    width: 91.6666666667%;
  }
  .column.is-offset-11-fullhd {
    margin-left: 91.6666666667%;
  }
  .column.is-12-fullhd {
    flex: none;
    width: 100%;
  }
  .column.is-offset-12-fullhd {
    margin-left: 100%;
  }
}
.columns {
  margin-left: -0.75rem;
  margin-right: -0.75rem;
  margin-top: -0.75rem;
}
.columns:last-child {
  margin-bottom: -0.75rem;
}
.columns:not(:last-child) {
  margin-bottom: calc(1.5rem - 0.75rem);
}
.columns.is-centered {
  justify-content: center;
}
.columns.is-gapless {
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
}
.columns.is-gapless > .column {
  margin: 0;
  padding: 0 !important;
}
.columns.is-gapless:not(:last-child) {
  margin-bottom: 1.5rem;
}
.columns.is-gapless:last-child {
  margin-bottom: 0;
}
.columns.is-mobile {
  display: flex;
}
.columns.is-multiline {
  flex-wrap: wrap;
}
.columns.is-vcentered {
  align-items: center;
}
@media screen and (min-width: 769px), print {
  .columns:not(.is-desktop) {
    display: flex;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-desktop {
    display: flex;
  }
}
.columns.is-variable {
  --columnGap: 0.75rem;
  margin-left: calc(-1 * var(--columnGap));
  margin-right: calc(-1 * var(--columnGap));
}
.columns.is-variable .column {
  padding-left: var(--columnGap);
  padding-right: var(--columnGap);
}
.columns.is-variable.is-0 {
  --columnGap: 0rem;
}
@media screen and (max-width: 768px) {
  .columns.is-variable.is-0-mobile {
    --columnGap: 0rem;
  }
}
@media screen and (min-width: 769px), print {
  .columns.is-variable.is-0-tablet {
    --columnGap: 0rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .columns.is-variable.is-0-tablet-only {
    --columnGap: 0rem;
  }
}
@media screen and (max-width: 1023px) {
  .columns.is-variable.is-0-touch {
    --columnGap: 0rem;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-variable.is-0-desktop {
    --columnGap: 0rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .columns.is-variable.is-0-desktop-only {
    --columnGap: 0rem;
  }
}
@media screen and (min-width: 1216px) {
  .columns.is-variable.is-0-widescreen {
    --columnGap: 0rem;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .columns.is-variable.is-0-widescreen-only {
    --columnGap: 0rem;
  }
}
@media screen and (min-width: 1408px) {
  .columns.is-variable.is-0-fullhd {
    --columnGap: 0rem;
  }
}
.columns.is-variable.is-1 {
  --columnGap: 0.25rem;
}
@media screen and (max-width: 768px) {
  .columns.is-variable.is-1-mobile {
    --columnGap: 0.25rem;
  }
}
@media screen and (min-width: 769px), print {
  .columns.is-variable.is-1-tablet {
    --columnGap: 0.25rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .columns.is-variable.is-1-tablet-only {
    --columnGap: 0.25rem;
  }
}
@media screen and (max-width: 1023px) {
  .columns.is-variable.is-1-touch {
    --columnGap: 0.25rem;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-variable.is-1-desktop {
    --columnGap: 0.25rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .columns.is-variable.is-1-desktop-only {
    --columnGap: 0.25rem;
  }
}
@media screen and (min-width: 1216px) {
  .columns.is-variable.is-1-widescreen {
    --columnGap: 0.25rem;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .columns.is-variable.is-1-widescreen-only {
    --columnGap: 0.25rem;
  }
}
@media screen and (min-width: 1408px) {
  .columns.is-variable.is-1-fullhd {
    --columnGap: 0.25rem;
  }
}
.columns.is-variable.is-2 {
  --columnGap: 0.5rem;
}
@media screen and (max-width: 768px) {
  .columns.is-variable.is-2-mobile {
    --columnGap: 0.5rem;
  }
}
@media screen and (min-width: 769px), print {
  .columns.is-variable.is-2-tablet {
    --columnGap: 0.5rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .columns.is-variable.is-2-tablet-only {
    --columnGap: 0.5rem;
  }
}
@media screen and (max-width: 1023px) {
  .columns.is-variable.is-2-touch {
    --columnGap: 0.5rem;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-variable.is-2-desktop {
    --columnGap: 0.5rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .columns.is-variable.is-2-desktop-only {
    --columnGap: 0.5rem;
  }
}
@media screen and (min-width: 1216px) {
  .columns.is-variable.is-2-widescreen {
    --columnGap: 0.5rem;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .columns.is-variable.is-2-widescreen-only {
    --columnGap: 0.5rem;
  }
}
@media screen and (min-width: 1408px) {
  .columns.is-variable.is-2-fullhd {
    --columnGap: 0.5rem;
  }
}
.columns.is-variable.is-3 {
  --columnGap: 0.75rem;
}
@media screen and (max-width: 768px) {
  .columns.is-variable.is-3-mobile {
    --columnGap: 0.75rem;
  }
}
@media screen and (min-width: 769px), print {
  .columns.is-variable.is-3-tablet {
    --columnGap: 0.75rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .columns.is-variable.is-3-tablet-only {
    --columnGap: 0.75rem;
  }
}
@media screen and (max-width: 1023px) {
  .columns.is-variable.is-3-touch {
    --columnGap: 0.75rem;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-variable.is-3-desktop {
    --columnGap: 0.75rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .columns.is-variable.is-3-desktop-only {
    --columnGap: 0.75rem;
  }
}
@media screen and (min-width: 1216px) {
  .columns.is-variable.is-3-widescreen {
    --columnGap: 0.75rem;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .columns.is-variable.is-3-widescreen-only {
    --columnGap: 0.75rem;
  }
}
@media screen and (min-width: 1408px) {
  .columns.is-variable.is-3-fullhd {
    --columnGap: 0.75rem;
  }
}
.columns.is-variable.is-4 {
  --columnGap: 1rem;
}
@media screen and (max-width: 768px) {
  .columns.is-variable.is-4-mobile {
    --columnGap: 1rem;
  }
}
@media screen and (min-width: 769px), print {
  .columns.is-variable.is-4-tablet {
    --columnGap: 1rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .columns.is-variable.is-4-tablet-only {
    --columnGap: 1rem;
  }
}
@media screen and (max-width: 1023px) {
  .columns.is-variable.is-4-touch {
    --columnGap: 1rem;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-variable.is-4-desktop {
    --columnGap: 1rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .columns.is-variable.is-4-desktop-only {
    --columnGap: 1rem;
  }
}
@media screen and (min-width: 1216px) {
  .columns.is-variable.is-4-widescreen {
    --columnGap: 1rem;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .columns.is-variable.is-4-widescreen-only {
    --columnGap: 1rem;
  }
}
@media screen and (min-width: 1408px) {
  .columns.is-variable.is-4-fullhd {
    --columnGap: 1rem;
  }
}
.columns.is-variable.is-5 {
  --columnGap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .columns.is-variable.is-5-mobile {
    --columnGap: 1.25rem;
  }
}
@media screen and (min-width: 769px), print {
  .columns.is-variable.is-5-tablet {
    --columnGap: 1.25rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .columns.is-variable.is-5-tablet-only {
    --columnGap: 1.25rem;
  }
}
@media screen and (max-width: 1023px) {
  .columns.is-variable.is-5-touch {
    --columnGap: 1.25rem;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-variable.is-5-desktop {
    --columnGap: 1.25rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .columns.is-variable.is-5-desktop-only {
    --columnGap: 1.25rem;
  }
}
@media screen and (min-width: 1216px) {
  .columns.is-variable.is-5-widescreen {
    --columnGap: 1.25rem;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .columns.is-variable.is-5-widescreen-only {
    --columnGap: 1.25rem;
  }
}
@media screen and (min-width: 1408px) {
  .columns.is-variable.is-5-fullhd {
    --columnGap: 1.25rem;
  }
}
.columns.is-variable.is-6 {
  --columnGap: 1.5rem;
}
@media screen and (max-width: 768px) {
  .columns.is-variable.is-6-mobile {
    --columnGap: 1.5rem;
  }
}
@media screen and (min-width: 769px), print {
  .columns.is-variable.is-6-tablet {
    --columnGap: 1.5rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .columns.is-variable.is-6-tablet-only {
    --columnGap: 1.5rem;
  }
}
@media screen and (max-width: 1023px) {
  .columns.is-variable.is-6-touch {
    --columnGap: 1.5rem;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-variable.is-6-desktop {
    --columnGap: 1.5rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .columns.is-variable.is-6-desktop-only {
    --columnGap: 1.5rem;
  }
}
@media screen and (min-width: 1216px) {
  .columns.is-variable.is-6-widescreen {
    --columnGap: 1.5rem;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .columns.is-variable.is-6-widescreen-only {
    --columnGap: 1.5rem;
  }
}
@media screen and (min-width: 1408px) {
  .columns.is-variable.is-6-fullhd {
    --columnGap: 1.5rem;
  }
}
.columns.is-variable.is-7 {
  --columnGap: 1.75rem;
}
@media screen and (max-width: 768px) {
  .columns.is-variable.is-7-mobile {
    --columnGap: 1.75rem;
  }
}
@media screen and (min-width: 769px), print {
  .columns.is-variable.is-7-tablet {
    --columnGap: 1.75rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .columns.is-variable.is-7-tablet-only {
    --columnGap: 1.75rem;
  }
}
@media screen and (max-width: 1023px) {
  .columns.is-variable.is-7-touch {
    --columnGap: 1.75rem;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-variable.is-7-desktop {
    --columnGap: 1.75rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .columns.is-variable.is-7-desktop-only {
    --columnGap: 1.75rem;
  }
}
@media screen and (min-width: 1216px) {
  .columns.is-variable.is-7-widescreen {
    --columnGap: 1.75rem;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .columns.is-variable.is-7-widescreen-only {
    --columnGap: 1.75rem;
  }
}
@media screen and (min-width: 1408px) {
  .columns.is-variable.is-7-fullhd {
    --columnGap: 1.75rem;
  }
}
.columns.is-variable.is-8 {
  --columnGap: 2rem;
}
@media screen and (max-width: 768px) {
  .columns.is-variable.is-8-mobile {
    --columnGap: 2rem;
  }
}
@media screen and (min-width: 769px), print {
  .columns.is-variable.is-8-tablet {
    --columnGap: 2rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .columns.is-variable.is-8-tablet-only {
    --columnGap: 2rem;
  }
}
@media screen and (max-width: 1023px) {
  .columns.is-variable.is-8-touch {
    --columnGap: 2rem;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-variable.is-8-desktop {
    --columnGap: 2rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .columns.is-variable.is-8-desktop-only {
    --columnGap: 2rem;
  }
}
@media screen and (min-width: 1216px) {
  .columns.is-variable.is-8-widescreen {
    --columnGap: 2rem;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .columns.is-variable.is-8-widescreen-only {
    --columnGap: 2rem;
  }
}
@media screen and (min-width: 1408px) {
  .columns.is-variable.is-8-fullhd {
    --columnGap: 2rem;
  }
}
.tile {
  align-items: stretch;
  display: block;
  flex-basis: 0;
  flex-grow: 1;
  flex-shrink: 1;
  min-height: -webkit-min-content;
  min-height: -moz-min-content;
  min-height: min-content;
}
.tile.is-ancestor {
  margin-left: -0.75rem;
  margin-right: -0.75rem;
  margin-top: -0.75rem;
}
.tile.is-ancestor:last-child {
  margin-bottom: -0.75rem;
}
.tile.is-ancestor:not(:last-child) {
  margin-bottom: 0.75rem;
}
.tile.is-child {
  margin: 0 !important;
}
.tile.is-parent {
  padding: 0.75rem;
}
.tile.is-vertical {
  flex-direction: column;
}
.tile.is-vertical > .tile.is-child:not(:last-child) {
  margin-bottom: 1.5rem !important;
}
@media screen and (min-width: 769px), print {
  .tile:not(.is-child) {
    display: flex;
  }
  .tile.is-1 {
    flex: none;
    width: 8.3333333333%;
  }
  .tile.is-2 {
    flex: none;
    width: 16.6666666667%;
  }
  .tile.is-3 {
    flex: none;
    width: 25%;
  }
  .tile.is-4 {
    flex: none;
    width: 33.3333333333%;
  }
  .tile.is-5 {
    flex: none;
    width: 41.6666666667%;
  }
  .tile.is-6 {
    flex: none;
    width: 50%;
  }
  .tile.is-7 {
    flex: none;
    width: 58.3333333333%;
  }
  .tile.is-8 {
    flex: none;
    width: 66.6666666667%;
  }
  .tile.is-9 {
    flex: none;
    width: 75%;
  }
  .tile.is-10 {
    flex: none;
    width: 83.3333333333%;
  }
  .tile.is-11 {
    flex: none;
    width: 91.6666666667%;
  }
  .tile.is-12 {
    flex: none;
    width: 100%;
  }
}
.navbar {
  background-color: white;
  min-height: 3.25rem;
  position: relative;
  z-index: 30;
}
.navbar.is-white {
  background-color: white;
  color: #0a0a0a;
}
.navbar.is-white .navbar-brand > .navbar-item,
.navbar.is-white .navbar-brand .navbar-link {
  color: #0a0a0a;
}
.navbar.is-white .navbar-brand > a.navbar-item:focus, .navbar.is-white .navbar-brand > a.navbar-item:hover, .navbar.is-white .navbar-brand > a.navbar-item.is-active,
.navbar.is-white .navbar-brand .navbar-link:focus,
.navbar.is-white .navbar-brand .navbar-link:hover,
.navbar.is-white .navbar-brand .navbar-link.is-active {
  background-color: #f2f2f2;
  color: #0a0a0a;
}
.navbar.is-white .navbar-brand .navbar-link::after {
  border-color: #0a0a0a;
}
.navbar.is-white .navbar-burger {
  color: #0a0a0a;
}
@media screen and (min-width: 1024px) {
  .navbar.is-white .navbar-start > .navbar-item,
.navbar.is-white .navbar-start .navbar-link,
.navbar.is-white .navbar-end > .navbar-item,
.navbar.is-white .navbar-end .navbar-link {
    color: #0a0a0a;
  }
  .navbar.is-white .navbar-start > a.navbar-item:focus, .navbar.is-white .navbar-start > a.navbar-item:hover, .navbar.is-white .navbar-start > a.navbar-item.is-active,
.navbar.is-white .navbar-start .navbar-link:focus,
.navbar.is-white .navbar-start .navbar-link:hover,
.navbar.is-white .navbar-start .navbar-link.is-active,
.navbar.is-white .navbar-end > a.navbar-item:focus,
.navbar.is-white .navbar-end > a.navbar-item:hover,
.navbar.is-white .navbar-end > a.navbar-item.is-active,
.navbar.is-white .navbar-end .navbar-link:focus,
.navbar.is-white .navbar-end .navbar-link:hover,
.navbar.is-white .navbar-end .navbar-link.is-active {
    background-color: #f2f2f2;
    color: #0a0a0a;
  }
  .navbar.is-white .navbar-start .navbar-link::after,
.navbar.is-white .navbar-end .navbar-link::after {
    border-color: #0a0a0a;
  }
  .navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #f2f2f2;
    color: #0a0a0a;
  }
  .navbar.is-white .navbar-dropdown a.navbar-item.is-active {
    background-color: white;
    color: #0a0a0a;
  }
}
.navbar.is-black {
  background-color: #0a0a0a;
  color: white;
}
.navbar.is-black .navbar-brand > .navbar-item,
.navbar.is-black .navbar-brand .navbar-link {
  color: white;
}
.navbar.is-black .navbar-brand > a.navbar-item:focus, .navbar.is-black .navbar-brand > a.navbar-item:hover, .navbar.is-black .navbar-brand > a.navbar-item.is-active,
.navbar.is-black .navbar-brand .navbar-link:focus,
.navbar.is-black .navbar-brand .navbar-link:hover,
.navbar.is-black .navbar-brand .navbar-link.is-active {
  background-color: black;
  color: white;
}
.navbar.is-black .navbar-brand .navbar-link::after {
  border-color: white;
}
.navbar.is-black .navbar-burger {
  color: white;
}
@media screen and (min-width: 1024px) {
  .navbar.is-black .navbar-start > .navbar-item,
.navbar.is-black .navbar-start .navbar-link,
.navbar.is-black .navbar-end > .navbar-item,
.navbar.is-black .navbar-end .navbar-link {
    color: white;
  }
  .navbar.is-black .navbar-start > a.navbar-item:focus, .navbar.is-black .navbar-start > a.navbar-item:hover, .navbar.is-black .navbar-start > a.navbar-item.is-active,
.navbar.is-black .navbar-start .navbar-link:focus,
.navbar.is-black .navbar-start .navbar-link:hover,
.navbar.is-black .navbar-start .navbar-link.is-active,
.navbar.is-black .navbar-end > a.navbar-item:focus,
.navbar.is-black .navbar-end > a.navbar-item:hover,
.navbar.is-black .navbar-end > a.navbar-item.is-active,
.navbar.is-black .navbar-end .navbar-link:focus,
.navbar.is-black .navbar-end .navbar-link:hover,
.navbar.is-black .navbar-end .navbar-link.is-active {
    background-color: black;
    color: white;
  }
  .navbar.is-black .navbar-start .navbar-link::after,
.navbar.is-black .navbar-end .navbar-link::after {
    border-color: white;
  }
  .navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: black;
    color: white;
  }
  .navbar.is-black .navbar-dropdown a.navbar-item.is-active {
    background-color: #0a0a0a;
    color: white;
  }
}
.navbar.is-light {
  background-color: whitesmoke;
  color: rgba(0, 0, 0, 0.7);
}
.navbar.is-light .navbar-brand > .navbar-item,
.navbar.is-light .navbar-brand .navbar-link {
  color: rgba(0, 0, 0, 0.7);
}
.navbar.is-light .navbar-brand > a.navbar-item:focus, .navbar.is-light .navbar-brand > a.navbar-item:hover, .navbar.is-light .navbar-brand > a.navbar-item.is-active,
.navbar.is-light .navbar-brand .navbar-link:focus,
.navbar.is-light .navbar-brand .navbar-link:hover,
.navbar.is-light .navbar-brand .navbar-link.is-active {
  background-color: #e8e8e8;
  color: rgba(0, 0, 0, 0.7);
}
.navbar.is-light .navbar-brand .navbar-link::after {
  border-color: rgba(0, 0, 0, 0.7);
}
.navbar.is-light .navbar-burger {
  color: rgba(0, 0, 0, 0.7);
}
@media screen and (min-width: 1024px) {
  .navbar.is-light .navbar-start > .navbar-item,
.navbar.is-light .navbar-start .navbar-link,
.navbar.is-light .navbar-end > .navbar-item,
.navbar.is-light .navbar-end .navbar-link {
    color: rgba(0, 0, 0, 0.7);
  }
  .navbar.is-light .navbar-start > a.navbar-item:focus, .navbar.is-light .navbar-start > a.navbar-item:hover, .navbar.is-light .navbar-start > a.navbar-item.is-active,
.navbar.is-light .navbar-start .navbar-link:focus,
.navbar.is-light .navbar-start .navbar-link:hover,
.navbar.is-light .navbar-start .navbar-link.is-active,
.navbar.is-light .navbar-end > a.navbar-item:focus,
.navbar.is-light .navbar-end > a.navbar-item:hover,
.navbar.is-light .navbar-end > a.navbar-item.is-active,
.navbar.is-light .navbar-end .navbar-link:focus,
.navbar.is-light .navbar-end .navbar-link:hover,
.navbar.is-light .navbar-end .navbar-link.is-active {
    background-color: #e8e8e8;
    color: rgba(0, 0, 0, 0.7);
  }
  .navbar.is-light .navbar-start .navbar-link::after,
.navbar.is-light .navbar-end .navbar-link::after {
    border-color: rgba(0, 0, 0, 0.7);
  }
  .navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #e8e8e8;
    color: rgba(0, 0, 0, 0.7);
  }
  .navbar.is-light .navbar-dropdown a.navbar-item.is-active {
    background-color: whitesmoke;
    color: rgba(0, 0, 0, 0.7);
  }
}
.navbar.is-dark {
  background-color: #363636;
  color: #fff;
}
.navbar.is-dark .navbar-brand > .navbar-item,
.navbar.is-dark .navbar-brand .navbar-link {
  color: #fff;
}
.navbar.is-dark .navbar-brand > a.navbar-item:focus, .navbar.is-dark .navbar-brand > a.navbar-item:hover, .navbar.is-dark .navbar-brand > a.navbar-item.is-active,
.navbar.is-dark .navbar-brand .navbar-link:focus,
.navbar.is-dark .navbar-brand .navbar-link:hover,
.navbar.is-dark .navbar-brand .navbar-link.is-active {
  background-color: #292929;
  color: #fff;
}
.navbar.is-dark .navbar-brand .navbar-link::after {
  border-color: #fff;
}
.navbar.is-dark .navbar-burger {
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .navbar.is-dark .navbar-start > .navbar-item,
.navbar.is-dark .navbar-start .navbar-link,
.navbar.is-dark .navbar-end > .navbar-item,
.navbar.is-dark .navbar-end .navbar-link {
    color: #fff;
  }
  .navbar.is-dark .navbar-start > a.navbar-item:focus, .navbar.is-dark .navbar-start > a.navbar-item:hover, .navbar.is-dark .navbar-start > a.navbar-item.is-active,
.navbar.is-dark .navbar-start .navbar-link:focus,
.navbar.is-dark .navbar-start .navbar-link:hover,
.navbar.is-dark .navbar-start .navbar-link.is-active,
.navbar.is-dark .navbar-end > a.navbar-item:focus,
.navbar.is-dark .navbar-end > a.navbar-item:hover,
.navbar.is-dark .navbar-end > a.navbar-item.is-active,
.navbar.is-dark .navbar-end .navbar-link:focus,
.navbar.is-dark .navbar-end .navbar-link:hover,
.navbar.is-dark .navbar-end .navbar-link.is-active {
    background-color: #292929;
    color: #fff;
  }
  .navbar.is-dark .navbar-start .navbar-link::after,
.navbar.is-dark .navbar-end .navbar-link::after {
    border-color: #fff;
  }
  .navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #292929;
    color: #fff;
  }
  .navbar.is-dark .navbar-dropdown a.navbar-item.is-active {
    background-color: #363636;
    color: #fff;
  }
}
.navbar.is-primary {
  background-color: #00d1b2;
  color: #fff;
}
.navbar.is-primary .navbar-brand > .navbar-item,
.navbar.is-primary .navbar-brand .navbar-link {
  color: #fff;
}
.navbar.is-primary .navbar-brand > a.navbar-item:focus, .navbar.is-primary .navbar-brand > a.navbar-item:hover, .navbar.is-primary .navbar-brand > a.navbar-item.is-active,
.navbar.is-primary .navbar-brand .navbar-link:focus,
.navbar.is-primary .navbar-brand .navbar-link:hover,
.navbar.is-primary .navbar-brand .navbar-link.is-active {
  background-color: #00b89c;
  color: #fff;
}
.navbar.is-primary .navbar-brand .navbar-link::after {
  border-color: #fff;
}
.navbar.is-primary .navbar-burger {
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .navbar.is-primary .navbar-start > .navbar-item,
.navbar.is-primary .navbar-start .navbar-link,
.navbar.is-primary .navbar-end > .navbar-item,
.navbar.is-primary .navbar-end .navbar-link {
    color: #fff;
  }
  .navbar.is-primary .navbar-start > a.navbar-item:focus, .navbar.is-primary .navbar-start > a.navbar-item:hover, .navbar.is-primary .navbar-start > a.navbar-item.is-active,
.navbar.is-primary .navbar-start .navbar-link:focus,
.navbar.is-primary .navbar-start .navbar-link:hover,
.navbar.is-primary .navbar-start .navbar-link.is-active,
.navbar.is-primary .navbar-end > a.navbar-item:focus,
.navbar.is-primary .navbar-end > a.navbar-item:hover,
.navbar.is-primary .navbar-end > a.navbar-item.is-active,
.navbar.is-primary .navbar-end .navbar-link:focus,
.navbar.is-primary .navbar-end .navbar-link:hover,
.navbar.is-primary .navbar-end .navbar-link.is-active {
    background-color: #00b89c;
    color: #fff;
  }
  .navbar.is-primary .navbar-start .navbar-link::after,
.navbar.is-primary .navbar-end .navbar-link::after {
    border-color: #fff;
  }
  .navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #00b89c;
    color: #fff;
  }
  .navbar.is-primary .navbar-dropdown a.navbar-item.is-active {
    background-color: #00d1b2;
    color: #fff;
  }
}
.navbar.is-link {
  background-color: #3273dc;
  color: #fff;
}
.navbar.is-link .navbar-brand > .navbar-item,
.navbar.is-link .navbar-brand .navbar-link {
  color: #fff;
}
.navbar.is-link .navbar-brand > a.navbar-item:focus, .navbar.is-link .navbar-brand > a.navbar-item:hover, .navbar.is-link .navbar-brand > a.navbar-item.is-active,
.navbar.is-link .navbar-brand .navbar-link:focus,
.navbar.is-link .navbar-brand .navbar-link:hover,
.navbar.is-link .navbar-brand .navbar-link.is-active {
  background-color: #2366d1;
  color: #fff;
}
.navbar.is-link .navbar-brand .navbar-link::after {
  border-color: #fff;
}
.navbar.is-link .navbar-burger {
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .navbar.is-link .navbar-start > .navbar-item,
.navbar.is-link .navbar-start .navbar-link,
.navbar.is-link .navbar-end > .navbar-item,
.navbar.is-link .navbar-end .navbar-link {
    color: #fff;
  }
  .navbar.is-link .navbar-start > a.navbar-item:focus, .navbar.is-link .navbar-start > a.navbar-item:hover, .navbar.is-link .navbar-start > a.navbar-item.is-active,
.navbar.is-link .navbar-start .navbar-link:focus,
.navbar.is-link .navbar-start .navbar-link:hover,
.navbar.is-link .navbar-start .navbar-link.is-active,
.navbar.is-link .navbar-end > a.navbar-item:focus,
.navbar.is-link .navbar-end > a.navbar-item:hover,
.navbar.is-link .navbar-end > a.navbar-item.is-active,
.navbar.is-link .navbar-end .navbar-link:focus,
.navbar.is-link .navbar-end .navbar-link:hover,
.navbar.is-link .navbar-end .navbar-link.is-active {
    background-color: #2366d1;
    color: #fff;
  }
  .navbar.is-link .navbar-start .navbar-link::after,
.navbar.is-link .navbar-end .navbar-link::after {
    border-color: #fff;
  }
  .navbar.is-link .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-link .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #2366d1;
    color: #fff;
  }
  .navbar.is-link .navbar-dropdown a.navbar-item.is-active {
    background-color: #3273dc;
    color: #fff;
  }
}
.navbar.is-info {
  background-color: #3298dc;
  color: #fff;
}
.navbar.is-info .navbar-brand > .navbar-item,
.navbar.is-info .navbar-brand .navbar-link {
  color: #fff;
}
.navbar.is-info .navbar-brand > a.navbar-item:focus, .navbar.is-info .navbar-brand > a.navbar-item:hover, .navbar.is-info .navbar-brand > a.navbar-item.is-active,
.navbar.is-info .navbar-brand .navbar-link:focus,
.navbar.is-info .navbar-brand .navbar-link:hover,
.navbar.is-info .navbar-brand .navbar-link.is-active {
  background-color: #238cd1;
  color: #fff;
}
.navbar.is-info .navbar-brand .navbar-link::after {
  border-color: #fff;
}
.navbar.is-info .navbar-burger {
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .navbar.is-info .navbar-start > .navbar-item,
.navbar.is-info .navbar-start .navbar-link,
.navbar.is-info .navbar-end > .navbar-item,
.navbar.is-info .navbar-end .navbar-link {
    color: #fff;
  }
  .navbar.is-info .navbar-start > a.navbar-item:focus, .navbar.is-info .navbar-start > a.navbar-item:hover, .navbar.is-info .navbar-start > a.navbar-item.is-active,
.navbar.is-info .navbar-start .navbar-link:focus,
.navbar.is-info .navbar-start .navbar-link:hover,
.navbar.is-info .navbar-start .navbar-link.is-active,
.navbar.is-info .navbar-end > a.navbar-item:focus,
.navbar.is-info .navbar-end > a.navbar-item:hover,
.navbar.is-info .navbar-end > a.navbar-item.is-active,
.navbar.is-info .navbar-end .navbar-link:focus,
.navbar.is-info .navbar-end .navbar-link:hover,
.navbar.is-info .navbar-end .navbar-link.is-active {
    background-color: #238cd1;
    color: #fff;
  }
  .navbar.is-info .navbar-start .navbar-link::after,
.navbar.is-info .navbar-end .navbar-link::after {
    border-color: #fff;
  }
  .navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #238cd1;
    color: #fff;
  }
  .navbar.is-info .navbar-dropdown a.navbar-item.is-active {
    background-color: #3298dc;
    color: #fff;
  }
}
.navbar.is-success {
  background-color: #48c774;
  color: #fff;
}
.navbar.is-success .navbar-brand > .navbar-item,
.navbar.is-success .navbar-brand .navbar-link {
  color: #fff;
}
.navbar.is-success .navbar-brand > a.navbar-item:focus, .navbar.is-success .navbar-brand > a.navbar-item:hover, .navbar.is-success .navbar-brand > a.navbar-item.is-active,
.navbar.is-success .navbar-brand .navbar-link:focus,
.navbar.is-success .navbar-brand .navbar-link:hover,
.navbar.is-success .navbar-brand .navbar-link.is-active {
  background-color: #3abb67;
  color: #fff;
}
.navbar.is-success .navbar-brand .navbar-link::after {
  border-color: #fff;
}
.navbar.is-success .navbar-burger {
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .navbar.is-success .navbar-start > .navbar-item,
.navbar.is-success .navbar-start .navbar-link,
.navbar.is-success .navbar-end > .navbar-item,
.navbar.is-success .navbar-end .navbar-link {
    color: #fff;
  }
  .navbar.is-success .navbar-start > a.navbar-item:focus, .navbar.is-success .navbar-start > a.navbar-item:hover, .navbar.is-success .navbar-start > a.navbar-item.is-active,
.navbar.is-success .navbar-start .navbar-link:focus,
.navbar.is-success .navbar-start .navbar-link:hover,
.navbar.is-success .navbar-start .navbar-link.is-active,
.navbar.is-success .navbar-end > a.navbar-item:focus,
.navbar.is-success .navbar-end > a.navbar-item:hover,
.navbar.is-success .navbar-end > a.navbar-item.is-active,
.navbar.is-success .navbar-end .navbar-link:focus,
.navbar.is-success .navbar-end .navbar-link:hover,
.navbar.is-success .navbar-end .navbar-link.is-active {
    background-color: #3abb67;
    color: #fff;
  }
  .navbar.is-success .navbar-start .navbar-link::after,
.navbar.is-success .navbar-end .navbar-link::after {
    border-color: #fff;
  }
  .navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #3abb67;
    color: #fff;
  }
  .navbar.is-success .navbar-dropdown a.navbar-item.is-active {
    background-color: #48c774;
    color: #fff;
  }
}
.navbar.is-warning {
  background-color: #ffdd57;
  color: rgba(0, 0, 0, 0.7);
}
.navbar.is-warning .navbar-brand > .navbar-item,
.navbar.is-warning .navbar-brand .navbar-link {
  color: rgba(0, 0, 0, 0.7);
}
.navbar.is-warning .navbar-brand > a.navbar-item:focus, .navbar.is-warning .navbar-brand > a.navbar-item:hover, .navbar.is-warning .navbar-brand > a.navbar-item.is-active,
.navbar.is-warning .navbar-brand .navbar-link:focus,
.navbar.is-warning .navbar-brand .navbar-link:hover,
.navbar.is-warning .navbar-brand .navbar-link.is-active {
  background-color: #ffd83d;
  color: rgba(0, 0, 0, 0.7);
}
.navbar.is-warning .navbar-brand .navbar-link::after {
  border-color: rgba(0, 0, 0, 0.7);
}
.navbar.is-warning .navbar-burger {
  color: rgba(0, 0, 0, 0.7);
}
@media screen and (min-width: 1024px) {
  .navbar.is-warning .navbar-start > .navbar-item,
.navbar.is-warning .navbar-start .navbar-link,
.navbar.is-warning .navbar-end > .navbar-item,
.navbar.is-warning .navbar-end .navbar-link {
    color: rgba(0, 0, 0, 0.7);
  }
  .navbar.is-warning .navbar-start > a.navbar-item:focus, .navbar.is-warning .navbar-start > a.navbar-item:hover, .navbar.is-warning .navbar-start > a.navbar-item.is-active,
.navbar.is-warning .navbar-start .navbar-link:focus,
.navbar.is-warning .navbar-start .navbar-link:hover,
.navbar.is-warning .navbar-start .navbar-link.is-active,
.navbar.is-warning .navbar-end > a.navbar-item:focus,
.navbar.is-warning .navbar-end > a.navbar-item:hover,
.navbar.is-warning .navbar-end > a.navbar-item.is-active,
.navbar.is-warning .navbar-end .navbar-link:focus,
.navbar.is-warning .navbar-end .navbar-link:hover,
.navbar.is-warning .navbar-end .navbar-link.is-active {
    background-color: #ffd83d;
    color: rgba(0, 0, 0, 0.7);
  }
  .navbar.is-warning .navbar-start .navbar-link::after,
.navbar.is-warning .navbar-end .navbar-link::after {
    border-color: rgba(0, 0, 0, 0.7);
  }
  .navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #ffd83d;
    color: rgba(0, 0, 0, 0.7);
  }
  .navbar.is-warning .navbar-dropdown a.navbar-item.is-active {
    background-color: #ffdd57;
    color: rgba(0, 0, 0, 0.7);
  }
}
.navbar.is-danger {
  background-color: #f14668;
  color: #fff;
}
.navbar.is-danger .navbar-brand > .navbar-item,
.navbar.is-danger .navbar-brand .navbar-link {
  color: #fff;
}
.navbar.is-danger .navbar-brand > a.navbar-item:focus, .navbar.is-danger .navbar-brand > a.navbar-item:hover, .navbar.is-danger .navbar-brand > a.navbar-item.is-active,
.navbar.is-danger .navbar-brand .navbar-link:focus,
.navbar.is-danger .navbar-brand .navbar-link:hover,
.navbar.is-danger .navbar-brand .navbar-link.is-active {
  background-color: #ef2e55;
  color: #fff;
}
.navbar.is-danger .navbar-brand .navbar-link::after {
  border-color: #fff;
}
.navbar.is-danger .navbar-burger {
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .navbar.is-danger .navbar-start > .navbar-item,
.navbar.is-danger .navbar-start .navbar-link,
.navbar.is-danger .navbar-end > .navbar-item,
.navbar.is-danger .navbar-end .navbar-link {
    color: #fff;
  }
  .navbar.is-danger .navbar-start > a.navbar-item:focus, .navbar.is-danger .navbar-start > a.navbar-item:hover, .navbar.is-danger .navbar-start > a.navbar-item.is-active,
.navbar.is-danger .navbar-start .navbar-link:focus,
.navbar.is-danger .navbar-start .navbar-link:hover,
.navbar.is-danger .navbar-start .navbar-link.is-active,
.navbar.is-danger .navbar-end > a.navbar-item:focus,
.navbar.is-danger .navbar-end > a.navbar-item:hover,
.navbar.is-danger .navbar-end > a.navbar-item.is-active,
.navbar.is-danger .navbar-end .navbar-link:focus,
.navbar.is-danger .navbar-end .navbar-link:hover,
.navbar.is-danger .navbar-end .navbar-link.is-active {
    background-color: #ef2e55;
    color: #fff;
  }
  .navbar.is-danger .navbar-start .navbar-link::after,
.navbar.is-danger .navbar-end .navbar-link::after {
    border-color: #fff;
  }
  .navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #ef2e55;
    color: #fff;
  }
  .navbar.is-danger .navbar-dropdown a.navbar-item.is-active {
    background-color: #f14668;
    color: #fff;
  }
}
.navbar > .container {
  align-items: stretch;
  display: flex;
  min-height: 3.25rem;
  width: 100%;
}
.navbar.has-shadow {
  box-shadow: 0 2px 0 0 whitesmoke;
}
.navbar.is-fixed-bottom, .navbar.is-fixed-top {
  left: 0;
  position: fixed;
  right: 0;
  z-index: 30;
}
.navbar.is-fixed-bottom {
  bottom: 0;
}
.navbar.is-fixed-bottom.has-shadow {
  box-shadow: 0 -2px 0 0 whitesmoke;
}
.navbar.is-fixed-top {
  top: 0;
}
html.has-navbar-fixed-top,
body.has-navbar-fixed-top {
  padding-top: 3.25rem;
}
html.has-navbar-fixed-bottom,
body.has-navbar-fixed-bottom {
  padding-bottom: 3.25rem;
}
.navbar-brand,
.navbar-tabs {
  align-items: stretch;
  display: flex;
  flex-shrink: 0;
  min-height: 3.25rem;
}
.navbar-brand a.navbar-item:focus, .navbar-brand a.navbar-item:hover {
  background-color: transparent;
}
.navbar-tabs {
  -webkit-overflow-scrolling: touch;
  max-width: 100vw;
  overflow-x: auto;
  overflow-y: hidden;
}
.navbar-burger {
  color: #4a4a4a;
  cursor: pointer;
  display: block;
  height: 3.25rem;
  position: relative;
  width: 3.25rem;
  margin-left: auto;
}
.navbar-burger span {
  background-color: currentColor;
  display: block;
  height: 1px;
  left: calc(50% - 8px);
  position: absolute;
  transform-origin: center;
  transition-duration: 86ms;
  transition-property: background-color, opacity, transform;
  transition-timing-function: ease-out;
  width: 16px;
}
.navbar-burger span:nth-child(1) {
  top: calc(50% - 6px);
}
.navbar-burger span:nth-child(2) {
  top: calc(50% - 1px);
}
.navbar-burger span:nth-child(3) {
  top: calc(50% + 4px);
}
.navbar-burger:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.navbar-burger.is-active span:nth-child(1) {
  transform: translateY(5px) rotate(45deg);
}
.navbar-burger.is-active span:nth-child(2) {
  opacity: 0;
}
.navbar-burger.is-active span:nth-child(3) {
  transform: translateY(-5px) rotate(-45deg);
}
.navbar-menu {
  display: none;
}
.navbar-item,
.navbar-link {
  color: #4a4a4a;
  display: block;
  line-height: 1.5;
  padding: 0.5rem 0.75rem;
  position: relative;
}
.navbar-item .icon:only-child,
.navbar-link .icon:only-child {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}
a.navbar-item,
.navbar-link {
  cursor: pointer;
}
a.navbar-item:focus, a.navbar-item:focus-within, a.navbar-item:hover, a.navbar-item.is-active,
.navbar-link:focus,
.navbar-link:focus-within,
.navbar-link:hover,
.navbar-link.is-active {
  background-color: #fafafa;
  color: #3273dc;
}
.navbar-item {
  flex-grow: 0;
  flex-shrink: 0;
}
.navbar-item img {
  max-height: 1.75rem;
}
.navbar-item.has-dropdown {
  padding: 0;
}
.navbar-item.is-expanded {
  flex-grow: 1;
  flex-shrink: 1;
}
.navbar-item.is-tab {
  border-bottom: 1px solid transparent;
  min-height: 3.25rem;
  padding-bottom: calc(0.5rem - 1px);
}
.navbar-item.is-tab:focus, .navbar-item.is-tab:hover {
  background-color: transparent;
  border-bottom-color: #3273dc;
}
.navbar-item.is-tab.is-active {
  background-color: transparent;
  border-bottom-color: #3273dc;
  border-bottom-style: solid;
  border-bottom-width: 3px;
  color: #3273dc;
  padding-bottom: calc(0.5rem - 3px);
}
.navbar-content {
  flex-grow: 1;
  flex-shrink: 1;
}
.navbar-link:not(.is-arrowless) {
  padding-right: 2.5em;
}
.navbar-link:not(.is-arrowless)::after {
  border-color: #3273dc;
  margin-top: -0.375em;
  right: 1.125em;
}
.navbar-dropdown {
  font-size: 0.875rem;
  padding-bottom: 0.5rem;
  padding-top: 0.5rem;
}
.navbar-dropdown .navbar-item {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.navbar-divider {
  background-color: whitesmoke;
  border: none;
  display: none;
  height: 2px;
  margin: 0.5rem 0;
}
@media screen and (max-width: 1023px) {
  .navbar > .container {
    display: block;
  }

  .navbar-brand .navbar-item,
.navbar-tabs .navbar-item {
    align-items: center;
    display: flex;
  }

  .navbar-link::after {
    display: none;
  }

  .navbar-menu {
    background-color: white;
    box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1);
    padding: 0.5rem 0;
  }
  .navbar-menu.is-active {
    display: block;
  }

  .navbar.is-fixed-bottom-touch, .navbar.is-fixed-top-touch {
    left: 0;
    position: fixed;
    right: 0;
    z-index: 30;
  }
  .navbar.is-fixed-bottom-touch {
    bottom: 0;
  }
  .navbar.is-fixed-bottom-touch.has-shadow {
    box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1);
  }
  .navbar.is-fixed-top-touch {
    top: 0;
  }
  .navbar.is-fixed-top .navbar-menu, .navbar.is-fixed-top-touch .navbar-menu {
    -webkit-overflow-scrolling: touch;
    max-height: calc(100vh - 3.25rem);
    overflow: auto;
  }

  html.has-navbar-fixed-top-touch,
body.has-navbar-fixed-top-touch {
    padding-top: 3.25rem;
  }
  html.has-navbar-fixed-bottom-touch,
body.has-navbar-fixed-bottom-touch {
    padding-bottom: 3.25rem;
  }
}
@media screen and (min-width: 1024px) {
  .navbar,
.navbar-menu,
.navbar-start,
.navbar-end {
    align-items: stretch;
    display: flex;
  }

  .navbar {
    min-height: 3.25rem;
  }
  .navbar.is-spaced {
    padding: 1rem 2rem;
  }
  .navbar.is-spaced .navbar-start,
.navbar.is-spaced .navbar-end {
    align-items: center;
  }
  .navbar.is-spaced a.navbar-item,
.navbar.is-spaced .navbar-link {
    border-radius: 4px;
  }
  .navbar.is-transparent a.navbar-item:focus, .navbar.is-transparent a.navbar-item:hover, .navbar.is-transparent a.navbar-item.is-active,
.navbar.is-transparent .navbar-link:focus,
.navbar.is-transparent .navbar-link:hover,
.navbar.is-transparent .navbar-link.is-active {
    background-color: transparent !important;
  }
  .navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link {
    background-color: transparent !important;
  }
  .navbar.is-transparent .navbar-dropdown a.navbar-item:focus, .navbar.is-transparent .navbar-dropdown a.navbar-item:hover {
    background-color: whitesmoke;
    color: #0a0a0a;
  }
  .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active {
    background-color: whitesmoke;
    color: #3273dc;
  }

  .navbar-burger {
    display: none;
  }

  .navbar-item,
.navbar-link {
    align-items: center;
    display: flex;
  }

  .navbar-item.has-dropdown {
    align-items: stretch;
  }
  .navbar-item.has-dropdown-up .navbar-link::after {
    transform: rotate(135deg) translate(0.25em, -0.25em);
  }
  .navbar-item.has-dropdown-up .navbar-dropdown {
    border-bottom: 2px solid #dbdbdb;
    border-radius: 6px 6px 0 0;
    border-top: none;
    bottom: 100%;
    box-shadow: 0 -8px 8px rgba(10, 10, 10, 0.1);
    top: auto;
  }
  .navbar-item.is-active .navbar-dropdown, .navbar-item.is-hoverable:focus .navbar-dropdown, .navbar-item.is-hoverable:focus-within .navbar-dropdown, .navbar-item.is-hoverable:hover .navbar-dropdown {
    display: block;
  }
  .navbar.is-spaced .navbar-item.is-active .navbar-dropdown, .navbar-item.is-active .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:focus .navbar-dropdown, .navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:focus-within .navbar-dropdown, .navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:hover .navbar-dropdown, .navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .navbar-menu {
    flex-grow: 1;
    flex-shrink: 0;
  }

  .navbar-start {
    justify-content: flex-start;
    margin-right: auto;
  }

  .navbar-end {
    justify-content: flex-end;
    margin-left: auto;
  }

  .navbar-dropdown {
    background-color: white;
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
    border-top: 2px solid #dbdbdb;
    box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1);
    display: none;
    font-size: 0.875rem;
    left: 0;
    min-width: 100%;
    position: absolute;
    top: 100%;
    z-index: 20;
  }
  .navbar-dropdown .navbar-item {
    padding: 0.375rem 1rem;
    white-space: nowrap;
  }
  .navbar-dropdown a.navbar-item {
    padding-right: 3rem;
  }
  .navbar-dropdown a.navbar-item:focus, .navbar-dropdown a.navbar-item:hover {
    background-color: whitesmoke;
    color: #0a0a0a;
  }
  .navbar-dropdown a.navbar-item.is-active {
    background-color: whitesmoke;
    color: #3273dc;
  }
  .navbar.is-spaced .navbar-dropdown, .navbar-dropdown.is-boxed {
    border-radius: 6px;
    border-top: none;
    box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
    display: block;
    opacity: 0;
    pointer-events: none;
    top: calc(100% + (-4px));
    transform: translateY(-5px);
    transition-duration: 86ms;
    transition-property: opacity, transform;
  }
  .navbar-dropdown.is-right {
    left: auto;
    right: 0;
  }

  .navbar-divider {
    display: block;
  }

  .navbar > .container .navbar-brand,
.container > .navbar .navbar-brand {
    margin-left: -0.75rem;
  }
  .navbar > .container .navbar-menu,
.container > .navbar .navbar-menu {
    margin-right: -0.75rem;
  }

  .navbar.is-fixed-bottom-desktop, .navbar.is-fixed-top-desktop {
    left: 0;
    position: fixed;
    right: 0;
    z-index: 30;
  }
  .navbar.is-fixed-bottom-desktop {
    bottom: 0;
  }
  .navbar.is-fixed-bottom-desktop.has-shadow {
    box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1);
  }
  .navbar.is-fixed-top-desktop {
    top: 0;
  }

  html.has-navbar-fixed-top-desktop,
body.has-navbar-fixed-top-desktop {
    padding-top: 3.25rem;
  }
  html.has-navbar-fixed-bottom-desktop,
body.has-navbar-fixed-bottom-desktop {
    padding-bottom: 3.25rem;
  }
  html.has-spaced-navbar-fixed-top,
body.has-spaced-navbar-fixed-top {
    padding-top: 5.25rem;
  }
  html.has-spaced-navbar-fixed-bottom,
body.has-spaced-navbar-fixed-bottom {
    padding-bottom: 5.25rem;
  }

  a.navbar-item.is-active,
.navbar-link.is-active {
    color: #0a0a0a;
  }
  a.navbar-item.is-active:not(:focus):not(:hover),
.navbar-link.is-active:not(:focus):not(:hover) {
    background-color: transparent;
  }

  .navbar-item.has-dropdown:focus .navbar-link, .navbar-item.has-dropdown:hover .navbar-link, .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #fafafa;
  }
}
.hero.is-fullheight-with-navbar {
  min-height: calc(100vh - 3.25rem);
}
.container {
  flex-grow: 1;
  margin: 0 auto;
  position: relative;
  width: auto;
}
.container.is-fluid {
  max-width: none;
  padding-left: 32px;
  padding-right: 32px;
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .container {
    max-width: 960px;
  }
}
@media screen and (max-width: 1215px) {
  .container.is-widescreen {
    max-width: 1152px;
  }
}
@media screen and (max-width: 1407px) {
  .container.is-fullhd {
    max-width: 1344px;
  }
}
@media screen and (min-width: 1216px) {
  .container {
    max-width: 1152px;
  }
}
@media screen and (min-width: 1408px) {
  .container {
    max-width: 1344px;
  }
}
.section {
  padding: 3rem 1.5rem;
}
@media screen and (min-width: 1024px) {
  .section.is-medium {
    padding: 9rem 1.5rem;
  }
  .section.is-large {
    padding: 18rem 1.5rem;
  }
}
.title,
.subtitle {
  word-break: break-word;
}
.title em,
.title span,
.subtitle em,
.subtitle span {
  font-weight: inherit;
}
.title sub,
.subtitle sub {
  font-size: 0.75em;
}
.title sup,
.subtitle sup {
  font-size: 0.75em;
}
.title .tag,
.subtitle .tag {
  vertical-align: middle;
}
.title {
  color: #363636;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.125;
}
.title strong {
  color: inherit;
  font-weight: inherit;
}
.title + .highlight {
  margin-top: -0.75rem;
}
.title:not(.is-spaced) + .subtitle {
  margin-top: -1.25rem;
}
.title.is-1 {
  font-size: 3rem;
}
.title.is-2 {
  font-size: 2.5rem;
}
.title.is-3 {
  font-size: 2rem;
}
.title.is-4 {
  font-size: 1.5rem;
}
.title.is-5 {
  font-size: 1.25rem;
}
.title.is-6 {
  font-size: 1rem;
}
.title.is-7 {
  font-size: 0.75rem;
}
.subtitle {
  color: #4a4a4a;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.25;
}
.subtitle strong {
  color: #363636;
  font-weight: 600;
}
.subtitle:not(.is-spaced) + .title {
  margin-top: -1.25rem;
}
.subtitle.is-1 {
  font-size: 3rem;
}
.subtitle.is-2 {
  font-size: 2.5rem;
}
.subtitle.is-3 {
  font-size: 2rem;
}
.subtitle.is-4 {
  font-size: 1.5rem;
}
.subtitle.is-5 {
  font-size: 1.25rem;
}
.subtitle.is-6 {
  font-size: 1rem;
}
.subtitle.is-7 {
  font-size: 0.75rem;
}
.is-divider, .is-divider-vertical {
  display: block;
  position: relative;
  border-top: 0.1rem solid #dbdbdb;
  height: 0.1rem;
  margin: 2rem 0;
  text-align: center;
}
.is-divider[data-content]::after, .is-divider-vertical[data-content]::after {
  background: white;
  color: #b5b5b5;
  content: attr(data-content);
  display: inline-block;
  font-size: 0.75rem;
  padding: 0.4rem 0.8rem;
  transform: translateY(-1.1rem);
  text-align: center;
}
@media screen and (min-width: 769px), print {
  .is-divider-vertical {
    display: block;
    flex: none;
    width: auto;
    height: auto;
    padding: 2rem;
    margin: 0;
    position: relative;
    border-top: none;
    min-height: 2rem;
  }
  .is-divider-vertical::before {
    border-left: 0.1rem solid #dbdbdb;
    bottom: 1rem;
    content: "";
    display: block;
    left: 50%;
    position: absolute;
    top: 1rem;
    transform: translateX(-50%);
  }
  .is-divider-vertical[data-content]::after {
    position: absolute;
    left: 50%;
    top: 50%;
    padding: 0.1rem;
    transform: translateY(-50%) translateX(-50%);
  }
}
.is-divider.is-white,
.is-divider-vertical.is-white {
  border-top-color: white;
}
.is-divider.is-white[data-content]::after, .is-divider.is-white[data-content]::after,
.is-divider-vertical.is-white[data-content]::after,
.is-divider-vertical.is-white[data-content]::after {
  background: #0a0a0a;
  color: white;
}
.is-divider.is-white::before,
.is-divider-vertical.is-white::before {
  border-left-color: white;
}
.is-divider.is-black,
.is-divider-vertical.is-black {
  border-top-color: #0a0a0a;
}
.is-divider.is-black[data-content]::after, .is-divider.is-black[data-content]::after,
.is-divider-vertical.is-black[data-content]::after,
.is-divider-vertical.is-black[data-content]::after {
  background: white;
  color: #0a0a0a;
}
.is-divider.is-black::before,
.is-divider-vertical.is-black::before {
  border-left-color: #0a0a0a;
}
.is-divider.is-light,
.is-divider-vertical.is-light {
  border-top-color: whitesmoke;
}
.is-divider.is-light[data-content]::after, .is-divider.is-light[data-content]::after,
.is-divider-vertical.is-light[data-content]::after,
.is-divider-vertical.is-light[data-content]::after {
  background: rgba(0, 0, 0, 0.7);
  color: whitesmoke;
}
.is-divider.is-light::before,
.is-divider-vertical.is-light::before {
  border-left-color: whitesmoke;
}
.is-divider.is-dark,
.is-divider-vertical.is-dark {
  border-top-color: #363636;
}
.is-divider.is-dark[data-content]::after, .is-divider.is-dark[data-content]::after,
.is-divider-vertical.is-dark[data-content]::after,
.is-divider-vertical.is-dark[data-content]::after {
  background: #fff;
  color: #363636;
}
.is-divider.is-dark::before,
.is-divider-vertical.is-dark::before {
  border-left-color: #363636;
}
.is-divider.is-primary,
.is-divider-vertical.is-primary {
  border-top-color: #00d1b2;
}
.is-divider.is-primary[data-content]::after, .is-divider.is-primary[data-content]::after,
.is-divider-vertical.is-primary[data-content]::after,
.is-divider-vertical.is-primary[data-content]::after {
  background: #fff;
  color: #00d1b2;
}
.is-divider.is-primary::before,
.is-divider-vertical.is-primary::before {
  border-left-color: #00d1b2;
}
.is-divider.is-link,
.is-divider-vertical.is-link {
  border-top-color: #3273dc;
}
.is-divider.is-link[data-content]::after, .is-divider.is-link[data-content]::after,
.is-divider-vertical.is-link[data-content]::after,
.is-divider-vertical.is-link[data-content]::after {
  background: #fff;
  color: #3273dc;
}
.is-divider.is-link::before,
.is-divider-vertical.is-link::before {
  border-left-color: #3273dc;
}
.is-divider.is-info,
.is-divider-vertical.is-info {
  border-top-color: #3298dc;
}
.is-divider.is-info[data-content]::after, .is-divider.is-info[data-content]::after,
.is-divider-vertical.is-info[data-content]::after,
.is-divider-vertical.is-info[data-content]::after {
  background: #fff;
  color: #3298dc;
}
.is-divider.is-info::before,
.is-divider-vertical.is-info::before {
  border-left-color: #3298dc;
}
.is-divider.is-success,
.is-divider-vertical.is-success {
  border-top-color: #48c774;
}
.is-divider.is-success[data-content]::after, .is-divider.is-success[data-content]::after,
.is-divider-vertical.is-success[data-content]::after,
.is-divider-vertical.is-success[data-content]::after {
  background: #fff;
  color: #48c774;
}
.is-divider.is-success::before,
.is-divider-vertical.is-success::before {
  border-left-color: #48c774;
}
.is-divider.is-warning,
.is-divider-vertical.is-warning {
  border-top-color: #ffdd57;
}
.is-divider.is-warning[data-content]::after, .is-divider.is-warning[data-content]::after,
.is-divider-vertical.is-warning[data-content]::after,
.is-divider-vertical.is-warning[data-content]::after {
  background: rgba(0, 0, 0, 0.7);
  color: #ffdd57;
}
.is-divider.is-warning::before,
.is-divider-vertical.is-warning::before {
  border-left-color: #ffdd57;
}
.is-divider.is-danger,
.is-divider-vertical.is-danger {
  border-top-color: #f14668;
}
.is-divider.is-danger[data-content]::after, .is-divider.is-danger[data-content]::after,
.is-divider-vertical.is-danger[data-content]::after,
.is-divider-vertical.is-danger[data-content]::after {
  background: #fff;
  color: #f14668;
}
.is-divider.is-danger::before,
.is-divider-vertical.is-danger::before {
  border-left-color: #f14668;
}
.is-divider.is-black-bis,
.is-divider-vertical.is-black-bis {
  border-top-color: #121212;
}
.is-divider.is-black-bis[data-content]::after, .is-divider.is-black-bis[data-content]::after,
.is-divider-vertical.is-black-bis[data-content]::after,
.is-divider-vertical.is-black-bis[data-content]::after {
  background: #fff;
  color: #121212;
}
.is-divider.is-black-bis::before,
.is-divider-vertical.is-black-bis::before {
  border-left-color: #121212;
}
.is-divider.is-black-ter,
.is-divider-vertical.is-black-ter {
  border-top-color: #242424;
}
.is-divider.is-black-ter[data-content]::after, .is-divider.is-black-ter[data-content]::after,
.is-divider-vertical.is-black-ter[data-content]::after,
.is-divider-vertical.is-black-ter[data-content]::after {
  background: #fff;
  color: #242424;
}
.is-divider.is-black-ter::before,
.is-divider-vertical.is-black-ter::before {
  border-left-color: #242424;
}
.is-divider.is-grey-darker,
.is-divider-vertical.is-grey-darker {
  border-top-color: #363636;
}
.is-divider.is-grey-darker[data-content]::after, .is-divider.is-grey-darker[data-content]::after,
.is-divider-vertical.is-grey-darker[data-content]::after,
.is-divider-vertical.is-grey-darker[data-content]::after {
  background: #fff;
  color: #363636;
}
.is-divider.is-grey-darker::before,
.is-divider-vertical.is-grey-darker::before {
  border-left-color: #363636;
}
.is-divider.is-grey-dark,
.is-divider-vertical.is-grey-dark {
  border-top-color: #4a4a4a;
}
.is-divider.is-grey-dark[data-content]::after, .is-divider.is-grey-dark[data-content]::after,
.is-divider-vertical.is-grey-dark[data-content]::after,
.is-divider-vertical.is-grey-dark[data-content]::after {
  background: #fff;
  color: #4a4a4a;
}
.is-divider.is-grey-dark::before,
.is-divider-vertical.is-grey-dark::before {
  border-left-color: #4a4a4a;
}
.is-divider.is-grey,
.is-divider-vertical.is-grey {
  border-top-color: #7a7a7a;
}
.is-divider.is-grey[data-content]::after, .is-divider.is-grey[data-content]::after,
.is-divider-vertical.is-grey[data-content]::after,
.is-divider-vertical.is-grey[data-content]::after {
  background: #fff;
  color: #7a7a7a;
}
.is-divider.is-grey::before,
.is-divider-vertical.is-grey::before {
  border-left-color: #7a7a7a;
}
.is-divider.is-grey-light,
.is-divider-vertical.is-grey-light {
  border-top-color: #b5b5b5;
}
.is-divider.is-grey-light[data-content]::after, .is-divider.is-grey-light[data-content]::after,
.is-divider-vertical.is-grey-light[data-content]::after,
.is-divider-vertical.is-grey-light[data-content]::after {
  background: #fff;
  color: #b5b5b5;
}
.is-divider.is-grey-light::before,
.is-divider-vertical.is-grey-light::before {
  border-left-color: #b5b5b5;
}
.is-divider.is-grey-lighter,
.is-divider-vertical.is-grey-lighter {
  border-top-color: #dbdbdb;
}
.is-divider.is-grey-lighter[data-content]::after, .is-divider.is-grey-lighter[data-content]::after,
.is-divider-vertical.is-grey-lighter[data-content]::after,
.is-divider-vertical.is-grey-lighter[data-content]::after {
  background: rgba(0, 0, 0, 0.7);
  color: #dbdbdb;
}
.is-divider.is-grey-lighter::before,
.is-divider-vertical.is-grey-lighter::before {
  border-left-color: #dbdbdb;
}
.is-divider.is-white-ter,
.is-divider-vertical.is-white-ter {
  border-top-color: whitesmoke;
}
.is-divider.is-white-ter[data-content]::after, .is-divider.is-white-ter[data-content]::after,
.is-divider-vertical.is-white-ter[data-content]::after,
.is-divider-vertical.is-white-ter[data-content]::after {
  background: rgba(0, 0, 0, 0.7);
  color: whitesmoke;
}
.is-divider.is-white-ter::before,
.is-divider-vertical.is-white-ter::before {
  border-left-color: whitesmoke;
}
.is-divider.is-white-bis,
.is-divider-vertical.is-white-bis {
  border-top-color: #fafafa;
}
.is-divider.is-white-bis[data-content]::after, .is-divider.is-white-bis[data-content]::after,
.is-divider-vertical.is-white-bis[data-content]::after,
.is-divider-vertical.is-white-bis[data-content]::after {
  background: rgba(0, 0, 0, 0.7);
  color: #fafafa;
}
.is-divider.is-white-bis::before,
.is-divider-vertical.is-white-bis::before {
  border-left-color: #fafafa;
}
.table thead th.is-1 {
  width: 2.5% !important;
}
.table thead th.is-2 {
  width: 5% !important;
}
.table thead th.is-3 {
  width: 7.5% !important;
}
.table thead th.is-4 {
  width: 10% !important;
}
.table thead th.is-5 {
  width: 20% !important;
}
.table thead th.is-6 {
  width: 30% !important;
}
.table thead th.is-7 {
  width: 33.33% !important;
}
.table thead th.is-8 {
  width: 40% !important;
}
.table thead th.is-9 {
  width: 50% !important;
}
.table thead th.is-10 {
  width: 66.66% !important;
}
.table thead th.is-11 {
  width: 100% !important;
}
.ct-label {
  fill: rgba(0, 0, 0, 0.4);
  color: rgba(0, 0, 0, 0.4);
  font-size: 0.75rem;
  line-height: 1;
}
.ct-chart-line .ct-label,
.ct-chart-bar .ct-label {
  display: block;
  display: flex;
}
.ct-chart-pie .ct-label,
.ct-chart-donut .ct-label {
  dominant-baseline: central;
}
.ct-label.ct-horizontal.ct-start {
  align-items: flex-end;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}
.ct-label.ct-horizontal.ct-end {
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}
.ct-label.ct-vertical.ct-start {
  align-items: flex-end;
  justify-content: flex-end;
  text-align: right;
  text-anchor: end;
}
.ct-label.ct-vertical.ct-end {
  align-items: flex-end;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}
.ct-chart-bar .ct-label.ct-horizontal.ct-start {
  align-items: flex-end;
  justify-content: center;
  text-align: center;
  text-anchor: start;
}
.ct-chart-bar .ct-label.ct-horizontal.ct-end {
  align-items: flex-start;
  justify-content: center;
  text-align: center;
  text-anchor: start;
}
.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start {
  align-items: flex-end;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}
.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end {
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}
.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start {
  align-items: center;
  justify-content: flex-end;
  text-align: right;
  text-anchor: end;
}
.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end {
  align-items: center;
  justify-content: flex-start;
  text-align: left;
  text-anchor: end;
}
.ct-grid {
  stroke: rgba(0, 0, 0, 0.2);
  stroke-width: 1px;
  stroke-dasharray: 2px;
}
.ct-grid-background {
  fill: none;
}
.ct-point {
  stroke-width: 10px;
  stroke-linecap: round;
}
.ct-line {
  fill: none;
  stroke-width: 4px;
}
.ct-area {
  stroke: none;
  fill-opacity: 0.1;
}
.ct-bar {
  fill: none;
  stroke-width: 10px;
}
.ct-slice-donut {
  fill: none;
  stroke-width: 60px;
}
.ct-series-a .ct-point, .ct-series-a .ct-line, .ct-series-a .ct-bar, .ct-series-a .ct-slice-donut {
  stroke: #d70206;
}
.ct-series-a .ct-slice-pie, .ct-series-a .ct-slice-donut-solid, .ct-series-a .ct-area {
  fill: #d70206;
}
.ct-series-b .ct-point, .ct-series-b .ct-line, .ct-series-b .ct-bar, .ct-series-b .ct-slice-donut {
  stroke: #f05b4f;
}
.ct-series-b .ct-slice-pie, .ct-series-b .ct-slice-donut-solid, .ct-series-b .ct-area {
  fill: #f05b4f;
}
.ct-series-c .ct-point, .ct-series-c .ct-line, .ct-series-c .ct-bar, .ct-series-c .ct-slice-donut {
  stroke: #f4c63d;
}
.ct-series-c .ct-slice-pie, .ct-series-c .ct-slice-donut-solid, .ct-series-c .ct-area {
  fill: #f4c63d;
}
.ct-series-d .ct-point, .ct-series-d .ct-line, .ct-series-d .ct-bar, .ct-series-d .ct-slice-donut {
  stroke: #d17905;
}
.ct-series-d .ct-slice-pie, .ct-series-d .ct-slice-donut-solid, .ct-series-d .ct-area {
  fill: #d17905;
}
.ct-series-e .ct-point, .ct-series-e .ct-line, .ct-series-e .ct-bar, .ct-series-e .ct-slice-donut {
  stroke: #453d3f;
}
.ct-series-e .ct-slice-pie, .ct-series-e .ct-slice-donut-solid, .ct-series-e .ct-area {
  fill: #453d3f;
}
.ct-series-f .ct-point, .ct-series-f .ct-line, .ct-series-f .ct-bar, .ct-series-f .ct-slice-donut {
  stroke: #59922b;
}
.ct-series-f .ct-slice-pie, .ct-series-f .ct-slice-donut-solid, .ct-series-f .ct-area {
  fill: #59922b;
}
.ct-series-g .ct-point, .ct-series-g .ct-line, .ct-series-g .ct-bar, .ct-series-g .ct-slice-donut {
  stroke: #0544d3;
}
.ct-series-g .ct-slice-pie, .ct-series-g .ct-slice-donut-solid, .ct-series-g .ct-area {
  fill: #0544d3;
}
.ct-series-h .ct-point, .ct-series-h .ct-line, .ct-series-h .ct-bar, .ct-series-h .ct-slice-donut {
  stroke: #6b0392;
}
.ct-series-h .ct-slice-pie, .ct-series-h .ct-slice-donut-solid, .ct-series-h .ct-area {
  fill: #6b0392;
}
.ct-series-i .ct-point, .ct-series-i .ct-line, .ct-series-i .ct-bar, .ct-series-i .ct-slice-donut {
  stroke: #f05b4f;
}
.ct-series-i .ct-slice-pie, .ct-series-i .ct-slice-donut-solid, .ct-series-i .ct-area {
  fill: #f05b4f;
}
.ct-series-j .ct-point, .ct-series-j .ct-line, .ct-series-j .ct-bar, .ct-series-j .ct-slice-donut {
  stroke: #dda458;
}
.ct-series-j .ct-slice-pie, .ct-series-j .ct-slice-donut-solid, .ct-series-j .ct-area {
  fill: #dda458;
}
.ct-series-k .ct-point, .ct-series-k .ct-line, .ct-series-k .ct-bar, .ct-series-k .ct-slice-donut {
  stroke: #eacf7d;
}
.ct-series-k .ct-slice-pie, .ct-series-k .ct-slice-donut-solid, .ct-series-k .ct-area {
  fill: #eacf7d;
}
.ct-series-l .ct-point, .ct-series-l .ct-line, .ct-series-l .ct-bar, .ct-series-l .ct-slice-donut {
  stroke: #86797d;
}
.ct-series-l .ct-slice-pie, .ct-series-l .ct-slice-donut-solid, .ct-series-l .ct-area {
  fill: #86797d;
}
.ct-series-m .ct-point, .ct-series-m .ct-line, .ct-series-m .ct-bar, .ct-series-m .ct-slice-donut {
  stroke: #b2c326;
}
.ct-series-m .ct-slice-pie, .ct-series-m .ct-slice-donut-solid, .ct-series-m .ct-area {
  fill: #b2c326;
}
.ct-series-n .ct-point, .ct-series-n .ct-line, .ct-series-n .ct-bar, .ct-series-n .ct-slice-donut {
  stroke: #6188e2;
}
.ct-series-n .ct-slice-pie, .ct-series-n .ct-slice-donut-solid, .ct-series-n .ct-area {
  fill: #6188e2;
}
.ct-series-o .ct-point, .ct-series-o .ct-line, .ct-series-o .ct-bar, .ct-series-o .ct-slice-donut {
  stroke: #a748ca;
}
.ct-series-o .ct-slice-pie, .ct-series-o .ct-slice-donut-solid, .ct-series-o .ct-area {
  fill: #a748ca;
}
.ct-square {
  display: block;
  position: relative;
  width: 100%;
}
.ct-square:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 100%;
}
.ct-square:after {
  content: "";
  display: table;
  clear: both;
}
.ct-square > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-minor-second {
  display: block;
  position: relative;
  width: 100%;
}
.ct-minor-second:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 93.75%;
}
.ct-minor-second:after {
  content: "";
  display: table;
  clear: both;
}
.ct-minor-second > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-second {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-second:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 88.8888888889%;
}
.ct-major-second:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-second > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-minor-third {
  display: block;
  position: relative;
  width: 100%;
}
.ct-minor-third:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 83.3333333333%;
}
.ct-minor-third:after {
  content: "";
  display: table;
  clear: both;
}
.ct-minor-third > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-third {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-third:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 80%;
}
.ct-major-third:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-third > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-perfect-fourth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-perfect-fourth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 75%;
}
.ct-perfect-fourth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-perfect-fourth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-perfect-fifth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-perfect-fifth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 66.6666666667%;
}
.ct-perfect-fifth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-perfect-fifth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-minor-sixth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-minor-sixth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 62.5%;
}
.ct-minor-sixth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-minor-sixth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-golden-section {
  display: block;
  position: relative;
  width: 100%;
}
.ct-golden-section:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 61.804697157%;
}
.ct-golden-section:after {
  content: "";
  display: table;
  clear: both;
}
.ct-golden-section > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-sixth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-sixth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 60%;
}
.ct-major-sixth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-sixth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-minor-seventh {
  display: block;
  position: relative;
  width: 100%;
}
.ct-minor-seventh:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 56.25%;
}
.ct-minor-seventh:after {
  content: "";
  display: table;
  clear: both;
}
.ct-minor-seventh > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-seventh {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-seventh:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 53.3333333333%;
}
.ct-major-seventh:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-seventh > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-octave {
  display: block;
  position: relative;
  width: 100%;
}
.ct-octave:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 50%;
}
.ct-octave:after {
  content: "";
  display: table;
  clear: both;
}
.ct-octave > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-tenth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-tenth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 40%;
}
.ct-major-tenth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-tenth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-eleventh {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-eleventh:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 37.5%;
}
.ct-major-eleventh:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-eleventh > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-twelfth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-twelfth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 33.3333333333%;
}
.ct-major-twelfth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-twelfth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-double-octave {
  display: block;
  position: relative;
  width: 100%;
}
.ct-double-octave:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 25%;
}
.ct-double-octave:after {
  content: "";
  display: table;
  clear: both;
}
.ct-double-octave > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-chart-pie .ct-label {
  font-size: 1.5rem;
}
.ct-legend {
  position: relative;
  z-index: 10;
}
.ct-legend li {
  position: relative;
  padding-left: 1.5em;
  padding-right: 0.5em;
  margin-bottom: 3px;
  cursor: pointer;
}
.ct-legend li:before {
  width: 12px;
  height: 12px;
  position: absolute;
  top: 5.5px;
  left: 0;
  content: "";
  border: 3px solid transparent;
  border-radius: 2px;
}
.ct-legend li.inactive:before {
  background: transparent !important;
}
.ct-legend.ct-legend-inside {
  position: absolute;
  right: 0;
}
.ct-legend .ct-series-0:before {
  background-color: #d70206;
  border-color: #d70206;
}
.ct-legend .ct-series-1:before {
  background-color: #f05b4f;
  border-color: #f05b4f;
}
.ct-legend .ct-series-2:before {
  background-color: #f4c63d;
  border-color: #f4c63d;
}
.ct-legend .ct-series-3:before {
  background-color: #d17905;
  border-color: #d17905;
}
.ct-legend .ct-series-4:before {
  background-color: #453d3f;
  border-color: #453d3f;
}
.ct-legend .ct-series-5:before {
  background-color: #59922b;
  border-color: #59922b;
}
.ct-legend .ct-series-6:before {
  background-color: #0544d3;
  border-color: #0544d3;
}
.ct-legend .ct-series-7:before {
  background-color: #6b0392;
  border-color: #6b0392;
}
.ct-legend .ct-series-8:before {
  background-color: #f05b4f;
  border-color: #f05b4f;
}
.ct-legend .ct-series-9:before {
  background-color: #dda458;
  border-color: #dda458;
}
.ct-legend .ct-series-10:before {
  background-color: #eacf7d;
  border-color: #eacf7d;
}
.ct-legend .ct-series-11:before {
  background-color: #86797d;
  border-color: #86797d;
}
.ct-legend .ct-series-12:before {
  background-color: #b2c326;
  border-color: #b2c326;
}
.ct-legend .ct-series-13:before {
  background-color: #6188e2;
  border-color: #6188e2;
}
.ct-legend .ct-series-14:before {
  background-color: #a748ca;
  border-color: #a748ca;
}
.ct-bar {
  stroke-width: 50px;
}
.ct-label {
  fill: rgba(0, 0, 0, 0.8);
  color: rgba(0, 0, 0, 0.8);
  font-size: 0.75rem;
  line-height: 1;
}
.ct-horizontal.ct-label.ct-end.ct-label-rotate-45 {
  transform: rotate(-45deg);
}
.ct-horizontal.ct-label.ct-end.ct-label-rotate-45-end {
  position: relative;
  justify-content: flex-end;
  text-align: right;
  transform-origin: 100% 0;
  transform: translate(-100%) rotate(-45deg);
  white-space: nowrap;
}
x-chartist svg {
  overflow: visible;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
html {
  overflow-y: auto;
}
body,
html {
  height: 100%;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
body.modal-open,
html.modal-open {
  overflow-y: hidden;
}
body.modal-open app-navbar,
html.modal-open app-navbar {
  position: fixed;
}
body.sidesheet-open .sidesheet,
html.sidesheet-open .sidesheet {
  display: block;
}
body.cdk-global-scrollblock app-fixed-top-progress-bar,
html.cdk-global-scrollblock app-fixed-top-progress-bar {
  display: none;
}
body mat-icon,
html mat-icon {
  font-size: 16px;
}
@media screen and (max-width: 486px) {
  body mat-icon,
html mat-icon {
    font-size: 20px;
  }
}
body .title,
html .title {
  font-weight: 600;
  font-size: 1.25rem;
}
body .table.is-fullwidth,
html .table.is-fullwidth {
  width: 100%;
  height: 100%;
}
body {
  padding: 0;
  margin: 0;
}
app-admin .mat-tab-body-content {
  padding: 0.5em 1em;
}
.cal-month-view .cal-header {
  text-align: center;
  font-weight: bolder;
}
.cal-month-view .cal-header .cal-cell {
  padding: 5px 0;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  white-space: nowrap;
}
.cal-month-view .cal-days {
  border: 1px solid;
  border-bottom: 0;
}
.cal-month-view .cal-cell-top {
  min-height: 78px;
  flex: 1;
}
.cal-month-view .cal-cell-row {
  display: flex;
}
.cal-month-view .cal-cell {
  float: left;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.cal-month-view .cal-cell .cal-event {
  pointer-events: all !important;
}
.cal-month-view .cal-day-cell {
  min-height: 100px;
}
@media all and (-ms-high-contrast: none) {
  .cal-month-view .cal-day-cell {
    display: block;
  }
}
.cal-month-view .cal-day-cell:not(:last-child) {
  border-right: 1px solid;
}
.cal-month-view .cal-days .cal-cell-row {
  border-bottom: 1px solid;
}
.cal-month-view .cal-day-badge {
  margin-top: 18px;
  margin-left: 10px;
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  border-radius: 10px;
}
.cal-month-view .cal-day-number {
  font-size: 1.2em;
  font-weight: 400;
  opacity: 0.5;
  margin-top: 15px;
  margin-right: 15px;
  float: right;
  margin-bottom: 10px;
}
.cal-month-view .cal-events {
  flex: 1;
  align-items: flex-end;
  margin: 3px;
  line-height: 10px;
  display: flex;
  flex-wrap: wrap;
}
.cal-month-view .cal-event {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
  margin: 2px;
}
.cal-month-view .cal-day-cell.cal-in-month.cal-has-events {
  cursor: pointer;
}
.cal-month-view .cal-day-cell.cal-out-month .cal-day-number {
  opacity: 0.1;
  cursor: default;
}
.cal-month-view .cal-day-cell.cal-today .cal-day-number {
  font-size: 1.9em;
}
.cal-month-view .cal-open-day-events {
  padding: 15px;
}
.cal-month-view .cal-open-day-events .cal-event {
  position: relative;
  top: 2px;
}
.cal-month-view .cal-out-month .cal-day-badge,
.cal-month-view .cal-out-month .cal-event {
  opacity: 0.3;
}
.cal-month-view .cal-draggable {
  cursor: move;
}
.cal-month-view .cal-drag-active * {
  pointer-events: none;
}
.cal-month-view .cal-event-title {
  cursor: pointer;
}
.cal-month-view .cal-event-title:hover {
  text-decoration: underline;
}
.cal-month-view {
  background-color: #fff;
}
.cal-month-view .cal-cell-row:hover {
  background-color: #fafafa;
}
.cal-month-view .cal-cell-row .cal-cell:hover,
.cal-month-view .cal-cell.cal-has-events.cal-open {
  background-color: #ededed;
}
.cal-month-view .cal-days {
  border-color: #e1e1e1;
}
.cal-month-view .cal-day-cell:not(:last-child) {
  border-right-color: #e1e1e1;
}
.cal-month-view .cal-days .cal-cell-row {
  border-bottom-color: #e1e1e1;
}
.cal-month-view .cal-day-badge {
  background-color: #b94a48;
  color: #fff;
}
.cal-month-view .cal-event {
  background-color: #1e90ff;
  border-color: #d1e8ff;
  color: #fff;
}
.cal-month-view .cal-day-cell.cal-weekend .cal-day-number {
  color: #8b0000;
}
.cal-month-view .cal-day-cell.cal-today {
  background-color: #e8fde7;
}
.cal-month-view .cal-day-cell.cal-drag-over {
  background-color: #e0e0e0 !important;
}
.cal-month-view .cal-open-day-events {
  color: #fff;
  background-color: #555;
  box-shadow: inset 0 0 15px 0 rgba(0, 0, 0, 0.5);
}
.cal-week-view {
  /* stylelint-disable-next-line selector-type-no-unknown */
}
.cal-week-view * {
  box-sizing: border-box;
}
.cal-week-view .cal-day-headers {
  display: flex;
  padding-left: 70px;
  border: 1px solid;
}
.cal-week-view .cal-day-headers .cal-header {
  flex: 1;
  text-align: center;
  padding: 5px;
}
.cal-week-view .cal-day-headers .cal-header:not(:last-child) {
  border-right: 1px solid;
}
.cal-week-view .cal-day-headers .cal-header:first-child {
  border-left: 1px solid;
}
.cal-week-view .cal-day-headers span {
  font-weight: 400;
  opacity: 0.5;
}
.cal-week-view .cal-day-column {
  flex-grow: 1;
  border-left: solid 1px;
}
.cal-week-view .cal-event {
  font-size: 12px;
  border: 1px solid;
}
.cal-week-view .cal-time-label-column {
  width: 70px;
  height: 100%;
}
.cal-week-view .cal-current-time-marker {
  position: absolute;
  width: 100%;
  height: 2px;
  z-index: 2;
}
.cal-week-view .cal-all-day-events {
  border: solid 1px;
  border-top: 0;
  border-bottom-width: 3px;
  padding-top: 3px;
  position: relative;
}
.cal-week-view .cal-all-day-events .cal-day-columns {
  height: 100%;
  width: 100%;
  display: flex;
  position: absolute;
  top: 0;
  z-index: 0;
}
.cal-week-view .cal-all-day-events .cal-events-row {
  position: relative;
  height: 31px;
  margin-left: 70px;
}
.cal-week-view .cal-all-day-events .cal-event-container {
  display: inline-block;
  position: absolute;
}
.cal-week-view .cal-all-day-events .cal-event-container.resize-active {
  z-index: 1;
  pointer-events: none;
}
.cal-week-view .cal-all-day-events .cal-event {
  padding: 0 5px;
  margin-left: 2px;
  margin-right: 2px;
  height: 28px;
  line-height: 28px;
}
.cal-week-view .cal-all-day-events .cal-starts-within-week .cal-event {
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}
.cal-week-view .cal-all-day-events .cal-ends-within-week .cal-event {
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
}
.cal-week-view .cal-all-day-events .cal-time-label-column {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}
.cal-week-view .cal-all-day-events .cal-resize-handle {
  width: 6px;
  height: 100%;
  cursor: col-resize;
  position: absolute;
  top: 0;
}
.cal-week-view .cal-all-day-events .cal-resize-handle.cal-resize-handle-after-end {
  right: 0;
}
.cal-week-view .cal-event,
.cal-week-view .cal-header {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cal-week-view .cal-drag-active {
  pointer-events: none;
  z-index: 1;
}
.cal-week-view .cal-drag-active * {
  pointer-events: none;
}
.cal-week-view .cal-time-events {
  position: relative;
  border: solid 1px;
  border-top: 0;
  display: flex;
}
.cal-week-view .cal-time-events .cal-day-columns {
  display: flex;
  flex-grow: 1;
}
.cal-week-view .cal-time-events .cal-day-column {
  position: relative;
}
.cal-week-view .cal-time-events .cal-events-container {
  position: relative;
}
.cal-week-view .cal-time-events .cal-event-container {
  position: absolute;
  z-index: 1;
}
.cal-week-view .cal-time-events .cal-event {
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  margin: 1px;
  padding: 0 5px;
  line-height: 25px;
}
.cal-week-view .cal-time-events .cal-resize-handle {
  width: 100%;
  height: 4px;
  cursor: row-resize;
  position: absolute;
}
.cal-week-view .cal-time-events .cal-resize-handle.cal-resize-handle-after-end {
  bottom: 0;
}
.cal-week-view .cal-hour-segment {
  position: relative;
}
.cal-week-view .cal-hour-segment::after {
  content: " ";
}
.cal-week-view .cal-event-container:not(.cal-draggable) {
  cursor: pointer;
}
.cal-week-view .cal-draggable {
  cursor: move;
}
.cal-week-view mwl-calendar-week-view-hour-segment,
.cal-week-view .cal-hour-segment {
  display: block;
}
.cal-week-view .cal-hour:not(:last-child) .cal-hour-segment,
.cal-week-view .cal-hour:last-child :not(:last-child) .cal-hour-segment {
  border-bottom: thin dashed;
}
.cal-week-view .cal-time {
  font-weight: bold;
  padding-top: 5px;
  width: 70px;
  text-align: center;
}
.cal-week-view .cal-hour-segment.cal-after-hour-start .cal-time {
  display: none;
}
.cal-week-view .cal-starts-within-day .cal-event {
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}
.cal-week-view .cal-ends-within-day .cal-event {
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}
.cal-week-view {
  background-color: #fff;
  border-top: solid 1px #e1e1e1;
}
.cal-week-view .cal-day-headers {
  border-color: #e1e1e1;
  border-top: 0;
}
.cal-week-view .cal-day-headers .cal-header:not(:last-child) {
  border-right-color: #e1e1e1;
}
.cal-week-view .cal-day-headers .cal-header:first-child {
  border-left-color: #e1e1e1;
}
.cal-week-view .cal-day-headers .cal-header:hover,
.cal-week-view .cal-day-headers .cal-drag-over {
  background-color: #ededed;
}
.cal-week-view .cal-day-column {
  border-left-color: #e1e1e1;
}
.cal-week-view .cal-event {
  background-color: #d1e8ff;
  border-color: #1e90ff;
  color: #1e90ff;
}
.cal-week-view .cal-all-day-events {
  border-color: #e1e1e1;
}
.cal-week-view .cal-header.cal-today {
  background-color: #e8fde7;
}
.cal-week-view .cal-header.cal-weekend span {
  color: #8b0000;
}
.cal-week-view .cal-time-events {
  border-color: #e1e1e1;
}
.cal-week-view .cal-time-events .cal-day-columns:not(.cal-resize-active) .cal-hour-segment:hover {
  background-color: #ededed;
}
.cal-week-view .cal-hour-odd {
  background-color: #fafafa;
}
.cal-week-view .cal-drag-over .cal-hour-segment {
  background-color: #ededed;
}
.cal-week-view .cal-hour:not(:last-child) .cal-hour-segment,
.cal-week-view .cal-hour:last-child :not(:last-child) .cal-hour-segment {
  border-bottom-color: #e1e1e1;
}
.cal-week-view .cal-current-time-marker {
  background-color: #ea4334;
}
.cal-day-view {
  /* stylelint-disable-next-line selector-type-no-unknown */
}
.cal-day-view mwl-calendar-week-view-header {
  display: none;
}
.cal-day-view .cal-events-container {
  margin-left: 70px;
}
.cal-day-view .cal-day-column {
  border-left: 0;
}
.cal-day-view .cal-current-time-marker {
  margin-left: 70px;
  width: calc(100% - 70px);
}
.cal-tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.5;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  font-size: 11px;
  word-wrap: break-word;
  opacity: 0.9;
}
.cal-tooltip.cal-tooltip-top {
  padding: 5px 0;
  margin-top: -3px;
}
.cal-tooltip.cal-tooltip-top .cal-tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
}
.cal-tooltip.cal-tooltip-right {
  padding: 0 5px;
  margin-left: 3px;
}
.cal-tooltip.cal-tooltip-right .cal-tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
}
.cal-tooltip.cal-tooltip-bottom {
  padding: 5px 0;
  margin-top: 3px;
}
.cal-tooltip.cal-tooltip-bottom .cal-tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
}
.cal-tooltip.cal-tooltip-left {
  padding: 0 5px;
  margin-left: -3px;
}
.cal-tooltip.cal-tooltip-left .cal-tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
}
.cal-tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  text-align: center;
  border-radius: 0.25rem;
}
.cal-tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.cal-tooltip.cal-tooltip-top .cal-tooltip-arrow {
  border-top-color: #000;
}
.cal-tooltip.cal-tooltip-right .cal-tooltip-arrow {
  border-right-color: #000;
}
.cal-tooltip.cal-tooltip-bottom .cal-tooltip-arrow {
  border-bottom-color: #000;
}
.cal-tooltip.cal-tooltip-left .cal-tooltip-arrow {
  border-left-color: #000;
}
.cal-tooltip-inner {
  color: #fff;
  background-color: #000;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.mat-dialog-container {
  border-radius: 0.875rem !important;
  border: 1px solid transparent;
  padding: 15px !important;
  text-align: center;
}
.mat-dialog-container .modalWindow {
  width: 250px;
}
.mat-dialog-container .modalWindow h1 {
  font-size: 0.875rem;
  font-weight: 600;
  margin-bottom: 10px;
}
.mat-dialog-container .modalWindow h2, .mat-dialog-container .modalWindow mat-card.base-card mat-card-header, mat-card.base-card .mat-dialog-container .modalWindow mat-card-header, .mat-dialog-container .modalWindow mat-card.admin-event mat-card-header, mat-card.admin-event .mat-dialog-container .modalWindow mat-card-header {
  font-size: 0.8125rem;
  font-weight: 400;
  margin-bottom: 10px;
}
.mat-dialog-container .modalWindow .logoContainer {
  display: flex;
  justify-content: center;
  font-size: 1.8125rem;
  margin: 1.7rem 0 2rem 0;
}
.mat-dialog-container .modalWindow .logoContainer .logo {
  box-shadow: 0px 1px 4px 2px rgba(0, 0, 0, 0.2);
  padding: 5px 15px;
  border-radius: 7px;
}
.mat-dialog-container .modalWindow button {
  margin: 0.25rem;
  width: 112px;
}
.mat-dialog-container .mat-form-field-flex .mat-form-field-appearance-outline {
  background-color: white;
  box-shadow: inset 0 1px 3px 1px LightGray;
}
.mat-dialog-container .mat-form-field-infix {
  border: 0px none white;
}
.mat-form-field {
  width: 100%;
  line-height: 1.5;
}
.mat-form-field .mat-form-field-wrapper .mat-icon {
  vertical-align: bottom;
  margin-right: 5px;
}
app-search-button .mat-search_field input {
  padding-left: 8px;
  padding-right: 36px;
}
app-search-button .mat-search_field .mat-form-field-underline {
  height: 3px;
  background-color: #434343;
  border-radius: 1.5px;
}
app-search-button .mat-search_field.mat-form-field-should-float label.mat-form-field-label {
  opacity: 0;
  transition: all 0.4s ease-in;
  transform: translateY(-1.28125em) scale(1.5) perspective(100px) translateZ(0.001px);
}
app-search-button .mat-search_field label.mat-form-field-label {
  opacity: 1;
  transition: all 0.2s ease-in-out;
  font-size: 1rem;
  top: 2rem;
  text-align: left;
  width: 80%;
  padding-left: 3rem;
}
.topics-table .mat-radio-label {
  width: 20px;
}
.mat-checkbox-layout {
  white-space: normal !important;
}
.mat-select-panel-wrap {
  position: relative;
  top: 40px;
}
.mat-select-panel-wrap:has(.jems3-select-panel-compact) {
  top: 23px;
  left: 29px;
}
.mat-select-panel.jems3-select-panel {
  -webkit-animation: none !important;
          animation: none !important;
  transition: none !important;
}
.compact .mat-form-field {
  line-height: 1.125;
}
.compact .mat-form-field .mat-form-field-wrapper {
  padding-bottom: 0;
}
.compact .mat-form-field .mat-form-field-underline {
  bottom: 0;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.buttons .is-divider {
  margin: 2rem 0;
}
@media screen and (max-width: 599px) {
  .buttons .is-divider {
    margin: 1rem 0;
  }
}
.buttons .is-divider:after {
  background-color: whitesmoke;
  transform: translateY(-0.95rem);
  font-weight: bold;
}
a {
  outline: 0;
}
a:hover {
  text-decoration: none;
}
button {
  height: 26px;
}
button.mat-button,
button.mat-flat-button,
button.mat-stroked-button {
  line-height: 26px;
}
.close.button {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 30px;
  height: 30px;
  line-height: 28px;
  font-size: 22px;
  cursor: pointer;
  text-align: center;
  z-index: 2;
}
.ripple-button.mat-raised-button {
  font-weight: 600;
  height: 34px;
  border-radius: 7px;
}
.ripple-button.mat-raised-button .mat-icon {
  vertical-align: baseline !important;
}
.ripple-button.mat-raised-button.selected {
  padding: 0 0.5rem;
  box-shadow: none;
  border: 2px solid transparent;
}
.ripple-button.mat-raised-button.selected:hover {
  box-shadow: 1px 1px 5px #8b8d8f;
}
.ripple-button.mat-raised-button:not(.selected) {
  padding: 0 0.5rem;
  background: transparent;
  box-shadow: none;
  border: 2px solid transparent;
}
.ripple-button.mat-raised-button:not(.selected):hover {
  box-shadow: 1px 1px 5px #8b8d8f;
}
.ripple-button.mat-raised-button:not(.selected):active {
  box-shadow: none;
  color: #3c4043;
}
.ripple-button.mat-raised-button.mat-raised-button.cdk-program-focused .mat-button-focus-overlay {
  opacity: 0;
}
.submissions .filters, .reviews .filters, .events .filters, .myevents .filters, .committees .filters, .event-admin .filters {
  display: flex;
}
.submissions .filters .toggle, .reviews .filters .toggle, .events .filters .toggle, .myevents .filters .toggle, .committees .filters .toggle, .event-admin .filters .toggle {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: 600;
}
.submissions .filters .toggle .mat-checkbox-label, .reviews .filters .toggle .mat-checkbox-label, .events .filters .toggle .mat-checkbox-label, .myevents .filters .toggle .mat-checkbox-label, .committees .filters .toggle .mat-checkbox-label, .event-admin .filters .toggle .mat-checkbox-label {
  margin-right: 8px;
  height: 100%;
  font-size: 13px;
}
.submissions .filters .toggle .notify-button, .reviews .filters .toggle .notify-button, .events .filters .toggle .notify-button, .myevents .filters .toggle .notify-button, .committees .filters .toggle .notify-button, .event-admin .filters .toggle .notify-button {
  color: red;
}
.notify-button {
  color: red !important;
}
.file-icon-buttons {
  line-height: 30px;
  text-align: right;
}
.file-icon-buttons button {
  height: 30px;
  width: 30px;
  line-height: 30px;
}
.file-icon-buttons .smaller-button, .file-icon-buttons .smaller-button mat-icon {
  height: 18px;
  width: 18px;
  line-height: 18px;
  font-size: 0.8rem;
}
.file-icon-buttons app-file-upload {
  margin-left: 0.5em;
  display: inline-block;
  line-height: 18px;
}
.app-icon-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid transparent;
  border-radius: 6px !important;
  line-height: 40px !important;
  background: transparent;
  color: inherit;
  cursor: pointer;
  transition: background-color 100ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.app-icon-button ::ng-deep .mat-button-ripple,
.app-icon-button ::ng-deep .mat-button-focus-overlay {
  display: none !important;
}
.app-icon-button .mat-icon {
  font-size: 20px !important;
  width: 20px !important;
  height: 20px !important;
  line-height: 20px !important;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 300, "FILL" 0;
  transition: opacity 120ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.app-icon-button:not(.mat-button-disabled):not(:disabled):hover .mat-icon {
  opacity: 0.9;
}
.app-icon-button.menu-open .mat-icon {
  opacity: 1;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
}
.app-icon-button:focus-visible {
  outline: 2px solid var(--c-accent, #7C2D12);
  outline-offset: 2px;
}
.chair-button.mat-flat-button,
.chair-button.mat-stroked-button {
  text-transform: none;
  font-family: inherit;
  font-size: 13px;
  letter-spacing: 0;
  min-width: 96px;
  padding: 0 16px;
  transition: background-color 120ms ease, border-color 120ms ease, box-shadow 120ms ease, filter 120ms ease;
}
.chair-button.mat-flat-button .mat-button-wrapper,
.chair-button.mat-stroked-button .mat-button-wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.chair-button.chair-button--primary.mat-flat-button {
  font-weight: 500;
}
.chair-button.chair-button--secondary.mat-stroked-button {
  font-weight: 430;
  background-color: #f9f8f7;
  color: #373734;
  border-color: #D6D3D1;
}
.dark-theme .chair-button.chair-button--secondary.mat-stroked-button {
  background-color: #202020;
  color: #c4c2bd;
  border-color: #5a5651;
}
.chair-button.mat-flat-button:not(.mat-button-disabled):hover,
.chair-button.mat-stroked-button:not(.mat-button-disabled):hover {
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18);
}
.chair-button.chair-button--secondary.mat-stroked-button:not(.mat-button-disabled):hover {
  background-color: #e8e6e3;
  border-color: #D6D3D1;
}
.dark-theme .chair-button.chair-button--secondary.mat-stroked-button:not(.mat-button-disabled):hover {
  background-color: #34332f;
  border-color: #5a5651;
}
.chair-button.chair-button--primary.mat-flat-button:not(.mat-button-disabled):hover {
  filter: brightness(0.93);
}
.chair-button .mat-button-focus-overlay {
  opacity: 0 !important;
}
.chair-button.mat-button-disabled,
.chair-button:disabled,
.chair-button[disabled] {
  color: #999999 !important;
}
.dark-theme .chair-button.mat-button-disabled,
.dark-theme .chair-button:disabled,
.dark-theme .chair-button[disabled] {
  color: #666666 !important;
}
.chair-button.chair-button--primary.mat-flat-button.mat-button-disabled,
.chair-button.chair-button--primary.mat-flat-button:disabled,
.chair-button.chair-button--primary.mat-flat-button[disabled] {
  background-color: #1e40af !important;
  color: #ffffff !important;
  opacity: 0.5;
}
.dark-theme .chair-button.chair-button--primary.mat-flat-button.mat-button-disabled,
.dark-theme .chair-button.chair-button--primary.mat-flat-button:disabled,
.dark-theme .chair-button.chair-button--primary.mat-flat-button[disabled] {
  background-color: #60a5fa !important;
  color: #ffffff !important;
  opacity: 0.55;
}
.chair-button:not(.mat-button-base) {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 26px;
  min-width: 96px;
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius: 4px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 430;
  letter-spacing: 0;
  line-height: 1;
  text-transform: none;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  color: #373734;
}
.chair-button:not(.mat-button-base) mat-icon,
.chair-button:not(.mat-button-base) .mat-icon,
.chair-button:not(.mat-button-base) .material-symbols-outlined,
.chair-button:not(.mat-button-base) .jems3s,
.chair-button:not(.mat-button-base) .jems3r {
  font-size: 16px;
  width: 16px;
  height: 16px;
  line-height: 16px;
  margin-right: 6px;
  flex-shrink: 0;
}
.chair-button:not(.mat-button-base):focus {
  outline: none;
}
.chair-button:not(.mat-button-base):focus-visible {
  outline: 2px solid #064ad9;
  outline-offset: 2px;
}
.chair-button:not(.mat-button-base):disabled, .chair-button:not(.mat-button-base)[disabled] {
  cursor: default;
  pointer-events: none;
  color: rgba(0, 0, 0, 0.38);
}
.dark-theme .chair-button:not(.mat-button-base):disabled,
.dark-theme .chair-button:not(.mat-button-base)[disabled] {
  color: rgba(255, 255, 255, 0.38);
}
.chair-button.chair-button--secondary:not(.mat-button-base) {
  background-color: #f9f8f7;
  border-color: #E7E5E4;
}
.dark-theme .chair-button.chair-button--secondary:not(.mat-button-base) {
  background-color: #202020;
  border-color: #3a3937;
  color: #c4c2bd;
}
.chair-button.chair-button--primary:not(.mat-button-base) {
  background-color: #064ad9;
  border-color: #064ad9;
  color: #fff;
  font-weight: 500;
}
.dark-theme .chair-button.chair-button--primary:not(.mat-button-base) {
  background-color: #60a5fa;
  border-color: #60a5fa;
  color: white;
}
.chair-button.chair-button--warn:not(.mat-button-base) {
  background-color: #e91414;
  border-color: #e91414;
  color: #fff;
  font-weight: 500;
}
.dark-theme .chair-button.chair-button--warn:not(.mat-button-base) {
  background-color: #FF6B6B;
  border-color: #FF6B6B;
  color: black;
}
.chair-button.chair-button--secondary:not(.mat-button-base):not(:disabled):hover {
  background-color: #e8e6e3;
  border-color: #D6D3D1;
}
.dark-theme .chair-button.chair-button--secondary:not(.mat-button-base):not(:disabled):hover {
  background-color: #34332f;
  border-color: #5a5651;
}
.chair-button.chair-button--primary:not(.mat-button-base):not(:disabled):hover,
.chair-button.chair-button--warn:not(.mat-button-base):not(:disabled):hover {
  filter: brightness(0.93);
}
.chair-button.chair-button--primary:not(.mat-button-base):disabled,
.chair-button.chair-button--primary:not(.mat-button-base)[disabled],
.chair-button.chair-button--warn:not(.mat-button-base):disabled,
.chair-button.chair-button--warn:not(.mat-button-base)[disabled] {
  background-color: #f9f8f7;
  border-color: #E7E5E4;
}
.dark-theme .chair-button.chair-button--primary:not(.mat-button-base):disabled,
.dark-theme .chair-button.chair-button--primary:not(.mat-button-base)[disabled],
.dark-theme .chair-button.chair-button--warn:not(.mat-button-base):disabled,
.dark-theme .chair-button.chair-button--warn:not(.mat-button-base)[disabled] {
  background-color: #202020;
  border-color: #3a3937;
}
button.mat-raised-button {
  display: inline-grid;
  vertical-align: middle;
  align-content: center;
  border-radius: 8px;
}
button.mat-raised-button .mat-icon {
  line-height: 1.4rem;
}
button.mat-raised-button span {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  line-height: 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  vertical-align: middle;
  padding-left: 4px;
}
button.mat-raised-button span.mat-button-wrapper {
  padding: 0;
  display: inline-block;
  vertical-align: middle;
}
button.mat-raised-button:hover {
  box-shadow: 1px 1px 7px #8b8d8f;
}
button.profile-button, button.mat-icon-button.profile-button {
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 26px;
}
button[color].mat-raised-button span.mat-button-wrapper:not(:has(.mat-icon)), button[color].mat-raised-button span.mat-button-wrapper:has(span) {
  color: #fff;
}
button.mat-raised-button.mat-button-disabled.mat-button-disabled[disabled=true] {
  color: rgba(255, 255, 255, 0.3);
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.chair-header-icon-button {
  position: relative;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  background-color: white;
  border: 1px solid #D6D3D1 !important;
  border-radius: 6px !important;
  box-sizing: border-box;
  cursor: pointer;
  transition: box-shadow 100ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.chair-header-icon-button:not(.mat-button-disabled):not(:disabled):hover {
  box-shadow: 0 0 0 1px #D6D3D1;
  background-color: white !important;
}
.chair-header-icon-button.mat-button-disabled, .chair-header-icon-button:disabled {
  cursor: default;
  pointer-events: none;
}
.chair-header-icon-button.menu-open {
  border-color: #064ad9 !important;
  box-shadow: 0 0 0 1px #064ad9;
  background-color: white !important;
}
.chair-header-icon-button.has-active .mat-icon {
  opacity: 1;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
}
.chair-header-icon-button .chair-header-icon-button-badge {
  min-width: 16px;
  height: 16px;
  padding: 0 5px;
  border-radius: 8px;
  background-color: #064ad9;
  color: #ffffff;
  font-size: 10px;
  font-weight: 600;
  line-height: 16px;
  text-align: center;
  letter-spacing: 0;
  pointer-events: none;
  position: absolute;
  top: -6px;
  right: -6px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}
.dark-theme .chair-header-icon-button-badge,
.dark-theme .bell-badge,
.dark-theme .seg-badge {
  line-height: 14px !important;
}
.dark-theme .chair-header-icon-button-badge {
  line-height: 16px !important;
  padding-top: 0.5px !important;
}
.dark-theme .chair-header-icon-button {
  background-color: black;
  border-color: #5a5651 !important;
  color: #c4c2bd;
}
.dark-theme .chair-header-icon-button .mat-icon {
  color: inherit;
}
.dark-theme .chair-header-icon-button:not(.mat-button-disabled):not(:disabled):hover {
  box-shadow: 0 0 0 1px #5a5651;
  background-color: black !important;
}
.dark-theme .chair-header-icon-button.menu-open {
  border-color: #60a5fa !important;
  box-shadow: 0 0 0 1px #60a5fa;
  background-color: black !important;
}
.dark-theme .chair-header-icon-button .chair-header-icon-button-badge {
  background-color: #60a5fa;
  color: black;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.mat-tooltip.cardTooltip {
  box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background: white;
  color: white;
  padding: 12px;
  font-size: 0.8125rem;
}
.sg-crit-tooltip {
  background-color: rgba(97, 97, 97, 0.92);
  color: #fff;
  padding: 6px 8px;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4;
  max-width: 300px;
  white-space: pre-line;
  text-align: left;
  word-break: break-word;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}
.dark-theme .sg-crit-tooltip {
  background-color: #F5F5F4;
  color: #1C1917;
}
.dark-theme .mat-tooltip {
  background-color: #F5F5F4 !important;
  color: #1C1917 !important;
}
.notification-menu button.mat-menu-item {
  font-size: 0.8125rem;
  font-weight: 500;
  white-space: normal;
  text-overflow: initial;
  height: auto;
  line-height: 1rem;
  padding: 1rem 2rem;
}
.notification-menu button.mat-menu-item:not(:last-child) {
  border-bottom-style: solid;
  border-bottom-color: #192a59;
  border-bottom-width: 1px;
}
.notification-menu button.mat-menu-item .time {
  margin-top: 0.5em;
}
.notification-menu button.mat-menu-item .time mat-icon {
  font-size: 16px;
  line-height: 16px;
  height: 16px;
  width: 16px;
  margin-right: 4px;
}
.notification-menu button.mat-menu-item .time span {
  font-size: 12px;
  line-height: 12px;
  display: inline-block;
  vertical-align: middle;
}
app-sidebar mat-sidenav .mat-list .mat-list-item .mat-list-item-content {
  transition: padding 0.2s;
}
app-sidebar mat-sidenav .mat-list button.mat-icon-button {
  transition: margin 0.2s;
  color: #434343;
}
app-sidebar.mini mat-sidenav .mat-list .mat-list-item .mat-list-item-content {
  transition: padding 0.3s;
  padding: 0 7px;
}
app-sidebar .mat-sidenav .mat-icon svg {
  width: 16px;
}
app-admin-event-sidebar mat-sidenav .mat-list .mat-list-item .mat-list-item-content {
  margin: 0px;
  padding: 4px;
}
app-admin-event-sidebar mat-sidenav.menu .mat-drawer-inner-container {
  display: grid;
  overflow: hidden;
}
app-admin-event-sidebar mat-sidenav.menu .mat-drawer-inner-container mat-list.bottom-aligned {
  align-self: flex-end;
  align-self: end;
  margin-bottom: 0.5em;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
.mat-menu-panel {
  padding: 5px 0 !important;
}
.mat-menu-content {
  padding: 0 !important;
}
.mat-menu-item {
  border: 0 !important;
  outline: 0 !important;
  background-color: transparent;
  border-radius: 6px !important;
  font-weight: 500 !important;
  height: 30px !important;
  margin: 2px 0 !important;
  padding: 0 12px !important;
  cursor: pointer;
  display: flex !important;
  align-items: center !important;
}
.mat-menu-item .mat-icon {
  margin-right: 8px !important;
}
.mat-divider {
  margin: 0 0px !important;
}
.container-option .mat-menu-item,
.mat-menu-panel.tpc-user-menu .mat-menu-item,
.tpc-user-menu .mat-menu-item {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 !important;
  height: 26px !important;
  min-height: 26px !important;
  line-height: 1 !important;
  padding: 0 8px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
}
.tpc-user-menu.user-menu .mat-menu-item,
.mat-menu-panel.tpc-user-menu.user-menu .mat-menu-item {
  height: 28px !important;
  min-height: 28px !important;
}
.container-option .mat-menu-item .mat-icon,
.mat-menu-panel.tpc-user-menu .mat-menu-item .mat-icon,
.tpc-user-menu .mat-menu-item .mat-icon {
  font-size: 20px !important;
  width: 20px !important;
  height: 20px !important;
  margin-right: 8px !important;
  padding-top: 0 !important;
  line-height: 20px !important;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 300, "FILL" 0;
}
.container-option .mat-menu-item:hover .mat-icon,
.mat-menu-panel.tpc-user-menu .mat-menu-item:hover .mat-icon,
.tpc-user-menu .mat-menu-item:hover .mat-icon {
  opacity: 1;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.container-option .mat-menu-item .flag {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 20px !important;
  margin-right: 8px !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif !important;
}
.mat-menu-panel.tpc-user-menu,
.tpc-user-menu {
  padding: 8px 4px 5px 4px !important;
  border-radius: 6px !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item .mat-ripple,
.mat-menu-panel.tpc-user-menu .mat-menu-item .mat-button-ripple,
.mat-menu-panel.tpc-user-menu .mat-menu-item .mat-button-focus-overlay,
.tpc-user-menu .mat-menu-item .mat-ripple,
.tpc-user-menu .mat-menu-item .mat-button-ripple,
.tpc-user-menu .mat-menu-item .mat-button-focus-overlay {
  display: none !important;
}
.mat-menu-panel.tpc-user-menu .mat-divider,
.tpc-user-menu .mat-divider {
  margin: 6px -4px !important;
}
.mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item .flag,
.tpc-user-menu .container-language-compact .mat-menu-item .flag {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif !important;
}
.mat-menu-panel.tpc-user-menu .container-theme,
.mat-menu-panel.tpc-user-menu .container-layout,
.mat-menu-panel.tpc-user-menu .container-language-compact,
.tpc-user-menu .container-theme,
.tpc-user-menu .container-layout,
.tpc-user-menu .container-language-compact {
  display: flex !important;
  justify-content: center !important;
  gap: 4px !important;
}
.mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item.highlight-button,
.mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item.highlight-button,
.mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item.highlight-button,
.tpc-user-menu .container-theme .mat-menu-item.highlight-button,
.tpc-user-menu .container-layout .mat-menu-item.highlight-button,
.tpc-user-menu .container-language-compact .mat-menu-item.highlight-button {
  cursor: default !important;
}
.mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item:not(.tpc-no-such-class),
.mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item:not(.tpc-no-such-class),
.mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item:not(.tpc-no-such-class),
.tpc-user-menu .container-theme .mat-menu-item:not(.tpc-no-such-class),
.tpc-user-menu .container-layout .mat-menu-item:not(.tpc-no-such-class),
.tpc-user-menu .container-language-compact .mat-menu-item:not(.tpc-no-such-class) {
  margin: 0 !important;
  padding: 0 !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 32px !important;
  min-height: 32px !important;
  line-height: 32px !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item .mat-icon,
.tpc-user-menu .container-theme .mat-menu-item .mat-icon {
  font-variation-settings: "opsz" 20, "wght" 300, "FILL" 0;
}
.mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item.highlight-button .mat-icon,
.tpc-user-menu .container-theme .mat-menu-item.highlight-button .mat-icon {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item.highlight-button,
.mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item.highlight-button .mat-icon,
.tpc-user-menu .container-theme .mat-menu-item.highlight-button,
.tpc-user-menu .container-theme .mat-menu-item.highlight-button .mat-icon {
  opacity: 1 !important;
}
.email-template-edit-dialog-panel .mat-dialog-container {
  overflow-x: hidden;
  background-color: #F5F5F4;
}
.dark-theme .email-template-edit-dialog-panel .mat-dialog-container {
  background-color: #262626;
  border: 1px solid #3a3937;
}
.recipient-search-popover {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-width: 300px;
  padding: 10px;
  border-radius: 6px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.16);
}
.recipient-search-popover app-user-search .mat-form-field-subscript-wrapper {
  position: static !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.recipient-search-popover app-user-search .mat-hint {
  display: block;
  margin-top: 4px;
  padding: 0 4px;
  font-size: 11px;
  line-height: 1.2;
}
.light-theme .recipient-search-popover {
  background-color: #f9f8f7;
  border: 1px solid #E7E5E4;
}
.dark-theme .recipient-search-popover {
  background-color: #262626;
  border: 1px solid #3a3937;
}
.dark-theme .recipient-search-popover .mat-form-field-flex {
  background-color: #202020 !important;
}
.variable-slash-menu {
  width: 100%;
  box-sizing: border-box;
  max-height: 280px;
  overflow-y: auto;
  padding: 4px;
  border-radius: 6px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.16);
}
.variable-slash-menu .variable-slash-item {
  display: flex;
  align-items: baseline;
  gap: 6px;
  width: 100%;
  height: auto;
  padding: 5px 8px;
  border: none;
  background: transparent;
  border-radius: 4px;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  line-height: 1.4;
}
.variable-slash-menu .variable-slash-item .vte-chip {
  flex: 0 0 auto;
  padding: 0 8px;
}
.variable-slash-menu .variable-slash-item .var-desc {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 12px;
  font-weight: 400;
}
.light-theme .variable-slash-menu {
  background-color: #f9f8f7;
  border: 1px solid #E7E5E4;
}
.light-theme .variable-slash-menu .variable-slash-item .var-desc {
  color: rgba(0, 0, 0, 0.5);
}
.light-theme .variable-slash-menu .variable-slash-item:hover, .light-theme .variable-slash-menu .variable-slash-item.active {
  background-color: #e8e6e3;
}
.dark-theme .variable-slash-menu {
  background-color: #202020;
  border: 1px solid #3a3937;
}
.dark-theme .variable-slash-menu .variable-slash-item .var-desc {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .variable-slash-menu .variable-slash-item:hover, .dark-theme .variable-slash-menu .variable-slash-item.active {
  background-color: #34332f;
}
.vte-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0 4px 0 8px;
  margin: 0 1px;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background-color: #eff6ff;
  color: #064ad9;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  white-space: nowrap;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  vertical-align: baseline;
}
.vte-chip .vte-chip-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
  opacity: 0.65;
  transition: opacity 100ms ease, background-color 100ms ease;
}
.vte-chip .vte-chip-remove:hover {
  opacity: 1;
  background-color: rgba(17, 69, 194, 0.14);
}
.vte-readonly .vte-chip-remove {
  display: none;
}
.vte-preview-var {
  background-color: #e6f0ff;
  border-radius: 3px;
  padding: 0 2px;
}
.dark-theme .vte-preview-var {
  background-color: rgba(92, 142, 240, 0.3);
}
.dark-theme .vte-chip {
  background-color: rgba(92, 142, 240, 0.22);
  border-color: rgba(92, 142, 240, 0.55);
  color: #60a5fa;
}
.dark-theme .vte-chip .vte-chip-remove:hover {
  background-color: rgba(92, 142, 240, 0.3);
}
.menu-option {
  display: flex;
}
.menu-option .disabled-button {
  opacity: 0.5;
  pointer-events: none;
}
.menu-option .disabled-button mat-icon {
  opacity: 0.5;
  pointer-events: none;
}
.menu-option .mat-menu-item {
  margin: 2px 5px !important;
}
.mat-menu-panel.tpc-user-menu.view-profile-menu .mat-menu-item,
.tpc-user-menu.view-profile-menu .mat-menu-item {
  position: relative !important;
  padding-left: 28px !important;
}
.tpc-user-menu.view-profile-menu .mat-menu-item.is-current::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  background-color: #373734;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6.5 L5 9 L9.5 3.5' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6.5 L5 9 L9.5 3.5' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
}
.dark-theme .tpc-user-menu.view-profile-menu .mat-menu-item.is-current::before {
  background-color: #c4c2bd;
}
:root[data-os=mac] .jems-popover-panel .status-menu-row:hover,
:root[data-os=mac] .jems-popover-panel .status-menu-row.active,
:root[data-os=mac] .jems-popover-panel .group-menu-row:hover,
:root[data-os=mac] .jems-popover-panel .group-menu-row.active {
  background-color: #064ad9 !important;
}
:root[data-os=mac] .jems-popover-panel .group-menu-row:hover .group-chip-menu-add-group,
:root[data-os=mac] .jems-popover-panel .group-menu-row.active .group-chip-menu-add-group,
:root[data-os=mac] .jems-popover-panel .group-menu-row:hover .group-chip-menu-add-group .icon,
:root[data-os=mac] .jems-popover-panel .group-menu-row.active .group-chip-menu-add-group .icon {
  color: white !important;
}
:root[data-os=mac] .dark-theme .jems-popover-panel .status-menu-row:hover,
:root[data-os=mac] .dark-theme .jems-popover-panel .status-menu-row.active,
:root[data-os=mac] .dark-theme .jems-popover-panel .group-menu-row:hover,
:root[data-os=mac] .dark-theme .jems-popover-panel .group-menu-row.active {
  background-color: #60a5fa !important;
}
:root[data-os=mac] .dark-theme .jems-popover-panel .group-menu-row:hover .group-chip-menu-add-group,
:root[data-os=mac] .dark-theme .jems-popover-panel .group-menu-row.active .group-chip-menu-add-group,
:root[data-os=mac] .dark-theme .jems-popover-panel .group-menu-row:hover .group-chip-menu-add-group .icon,
:root[data-os=mac] .dark-theme .jems-popover-panel .group-menu-row.active .group-chip-menu-add-group .icon {
  color: black !important;
}
:root:not([data-os=mac]):not([data-os=windows]) .jems-popover-panel {
  -webkit-animation: jems-popover-in 120ms cubic-bezier(0, 0, 0.2, 1);
          animation: jems-popover-in 120ms cubic-bezier(0, 0, 0.2, 1);
}
@-webkit-keyframes jems-popover-in {
  from {
    opacity: 0;
    transform: scale(0.8);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes jems-popover-in {
  from {
    opacity: 0;
    transform: scale(0.8);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
:root[data-os=windows] .jems-popover-panel {
  -webkit-animation: jems-popover-in-win 180ms cubic-bezier(0, 0, 0, 1);
          animation: jems-popover-in-win 180ms cubic-bezier(0, 0, 0, 1);
}
:root[data-os=windows] .jems-popover-panel.opens-up {
  -webkit-animation-name: jems-popover-in-win-up;
          animation-name: jems-popover-in-win-up;
}
@-webkit-keyframes jems-popover-in-win {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes jems-popover-in-win {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes jems-popover-in-win-up {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes jems-popover-in-win-up {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .jems-popover-panel {
    -webkit-animation: none;
            animation: none;
  }
}
:root[data-os=mac] .jems-popover-panel .mat-menu-item,
:root[data-os=mac] .jems-popover-panel [role=menuitem],
:root[data-os=mac] .jems-popover-panel .jems-select-option,
:root[data-os=mac] .mat-select-panel .mat-option,
:root[data-os=mac] .mat-autocomplete-panel .mat-option {
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: auto;
}
:root[data-os=mac] .jems-popover-panel .mat-menu-item.mat-menu-item:hover:not([disabled]),
:root[data-os=mac] .jems-popover-panel [role=menuitem]:hover:not([disabled]),
:root[data-os=mac] .jems-popover-panel .jems-select-option.jems-select-option:hover,
:root[data-os=mac] .jems-popover-panel .jems-select-option.jems-select-option.active,
:root[data-os=mac] .mat-select-panel .mat-option.mat-option:hover:not(.mat-option-disabled),
:root[data-os=mac] .mat-select-panel .mat-option.mat-option.mat-active:not(.mat-option-disabled),
:root[data-os=mac] .mat-autocomplete-panel .mat-option.mat-option:hover:not(.mat-option-disabled),
:root[data-os=mac] .mat-autocomplete-panel .mat-option.mat-option.mat-active:not(.mat-option-disabled) {
  background-color: AccentColor !important;
  color: #fff !important;
}
:root[data-os=mac] .jems-popover-panel .mat-menu-item:hover .mat-icon,
:root[data-os=mac] .jems-popover-panel [role=menuitem]:hover .mat-icon,
:root[data-os=mac] .jems-popover-panel .jems-select-option:hover .mat-icon,
:root[data-os=mac] .jems-popover-panel .jems-select-option.active .mat-icon,
:root[data-os=mac] .jems-popover-panel .jems-select-option:hover .material-symbols-outlined,
:root[data-os=mac] .jems-popover-panel .jems-select-option.active .material-symbols-outlined,
:root[data-os=mac] .mat-select-panel:not(.status-chip-select-panel) .mat-option:hover .mat-icon,
:root[data-os=mac] .mat-select-panel:not(.status-chip-select-panel) .mat-option.mat-active .mat-icon,
:root[data-os=mac] .mat-autocomplete-panel .mat-option:hover .mat-icon,
:root[data-os=mac] .mat-autocomplete-panel .mat-option.mat-active .mat-icon,
:root[data-os=mac] .mat-select-panel:not(.status-chip-select-panel) .mat-option:hover .mat-option-text,
:root[data-os=mac] .mat-select-panel:not(.status-chip-select-panel) .mat-option.mat-active .mat-option-text,
:root[data-os=mac] .mat-autocomplete-panel .mat-option:hover .mat-option-text,
:root[data-os=mac] .mat-autocomplete-panel .mat-option.mat-active .mat-option-text {
  color: #fff !important;
}
:root[data-os=mac] .jems-popover-panel .jems-select-option.selected:hover::before,
:root[data-os=mac] .jems-popover-panel .jems-select-option.selected.active::before,
:root[data-os=mac] .jems-popover-panel .jems-select-option:hover::before,
:root[data-os=mac] .jems-popover-panel .jems-select-option.active::before,
:root[data-os=mac] .jems-popover-panel .mat-menu-item.is-current:hover::before,
:root[data-os=mac] .mat-select-panel .mat-option.mat-selected:hover::before,
:root[data-os=mac] .mat-select-panel .mat-option.mat-selected.mat-active::before {
  background-color: #fff !important;
}
app-custom-form app-multiline-text-input app-custom-form mat-form-field {
  padding-left: 2.5em;
}
app-custom-form app-table-form-fields-container app-custom-form mat-form-field .mat-form-field-label-wrapper,
app-custom-form app-table-form-fields-container app-custom-form mat-form-field .mat-form-field-underline {
  display: none;
}
.event-admin h3 .subtitle, .event-admin .section .section-title .subtitle, .section .event-admin .section-title .subtitle, .event-admin .card-title .subtitle {
  font-size: 1.25rem;
  font-weight: 300;
}
.event-admin h4 .subtitle, .event-admin .card-subtitle .subtitle {
  font-size: 1.1875rem;
  font-weight: 300;
}
.event-admin h5 .subtitle, .event-admin .card-content .subtitle, .event-admin mat-card.event a .warning-public-at .subtitle, mat-card.event a .event-admin .warning-public-at .subtitle {
  font-size: 1.15rem;
  font-weight: 200;
}
.event-admin h6 .subtitle {
  font-size: 1.1rem;
  font-weight: 200;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.mat-snack-bar-container.error, .mat-snack-bar-container.notification, .mat-snack-bar-container.warning {
  margin-left: 103px;
}
.mat-snack-bar-container.error {
  background: #CC0029;
  color: #fafafa;
}
.mat-snack-bar-container.notification {
  background: #7FC15C;
  color: #fafafa;
}
.mat-snack-bar-container.warning {
  background: #ffe289;
  color: #333333;
}
.mat-fab .mat-button-wrapper .mat-icon {
  vertical-align: initial;
  color: #fff;
}
.paginator-container {
  position: relative;
  padding: 10px 0;
}
.paginator-container mat-paginator {
  position: absolute;
  top: 0;
  width: 100%;
}
.paginator-container mat-paginator.bottom {
  top: unset;
  bottom: 0;
}
.paginator-container mat-paginator .mat-paginator-outer-container {
  border-radius: 4px;
  margin-bottom: 10px;
  box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12);
}
.paginator-container mat-paginator .mat-paginator-outer-container .mat-paginator-container {
  justify-content: space-between;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.show-all-submissions .mat-card {
  margin-bottom: 2em;
}
.show-all-submissions .mat-card .paper-info .main > .columns {
  margin: -0.75rem -0.75rem 0 -0.75rem;
}
.show-all-submissions .mat-card .paper-info .main > .columns .title-row {
  margin: 0;
  padding-bottom: 0;
}
.show-all-submissions .mat-card .paper-info .main > .columns .title-row h2, .show-all-submissions .mat-card .paper-info .main > .columns .title-row mat-card.base-card mat-card-header, mat-card.base-card .show-all-submissions .mat-card .paper-info .main > .columns .title-row mat-card-header, .show-all-submissions .mat-card .paper-info .main > .columns .title-row mat-card.admin-event mat-card-header, mat-card.admin-event .show-all-submissions .mat-card .paper-info .main > .columns .title-row mat-card-header {
  text-transform: uppercase;
}
.show-all-submissions .mat-card .paper-info .main > .columns h2, .show-all-submissions .mat-card .paper-info .main > .columns mat-card.base-card mat-card-header, mat-card.base-card .show-all-submissions .mat-card .paper-info .main > .columns mat-card-header, .show-all-submissions .mat-card .paper-info .main > .columns mat-card.admin-event mat-card-header, mat-card.admin-event .show-all-submissions .mat-card .paper-info .main > .columns mat-card-header {
  padding-top: 0;
}
.show-all-submissions .pagebreak {
  -moz-column-break-after: always;
       break-after: always;
}
.show-all-submissions-container {
  background-color: #babfcd;
  padding: 1em;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
mat-card {
  margin-bottom: 1em;
}
@media screen and (max-width: 486px) {
  mat-card {
    padding: 0.5rem;
  }
}
mat-card:hover {
  box-shadow: 0 12px 10px -1px rgba(0, 0, 0, 0.1), 0 -1px 20px 0 rgba(0, 0, 0, 0.1);
}
mat-card .mat-card-header-text {
  margin: 0 5px;
}
mat-card.event {
  margin-bottom: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-bottom: 1rem;
  width: 100%;
}
mat-card.event:not([class*=mat-elevation-z]) {
  box-shadow: none;
  border-radius: 8px;
  border: 2px solid transparent;
}
mat-card.event a {
  padding: 0;
  display: flex;
  flex-direction: row;
}
mat-card.event a .horizontal-align {
  float: right;
}
mat-card.event a .information {
  width: 100%;
}
mat-card.event a .warning {
  width: 40%;
  align-self: center;
  float: right;
  padding: 1rem 0 0.5rem 2rem;
}
mat-card.event a .warning + .information {
  width: 60%;
  /* override */
}
@media screen and (max-width: 768px) {
  mat-card.event a {
    flex-direction: column;
  }
  mat-card.event a .information {
    width: 100%;
  }
  mat-card.event a .warning {
    width: 100%;
    text-align: center;
    padding: 1rem 2rem 0.5rem 2rem;
  }
  mat-card.event a .horizontal-align {
    float: none;
  }
}
mat-card.event a:link {
  text-decoration: inherit;
  color: initial;
}
mat-card.event a:visited {
  text-decoration: inherit;
  color: initial;
}
mat-card.event a .warning-public-at {
  background-color: rgba(200, 200, 200, 0.5);
  border-radius: 10rem;
  padding: 0.5rem 1rem;
  text-align: center;
}
mat-card.event mat-card-title {
  margin-bottom: 0.5rem;
}
mat-card.event mat-card-subtitle {
  margin-bottom: 0.25rem;
}
mat-card.event .float-right {
  float: right;
}
mat-card.event .left-button {
  margin-left: 6px;
}
mat-card.subconferences {
  margin-bottom: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-bottom: 1rem;
  background: #ededed;
  width: 100%;
}
mat-card.admin-event {
  box-shadow: 0 0 0 0 !important;
  border-radius: 8px;
  width: 100%;
  border-width: 1px;
  border-style: solid;
  padding: 0 !important;
  margin-bottom: 1em;
}
mat-card.admin-event mat-card-header {
  background-color: #ededed;
  color: #434343;
  font-weight: 600 !important;
  width: 100%;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  padding: 0.25rem;
  margin-left: 0px;
}
mat-card.admin-event mat-card-header .mat-icon-button {
  width: 25px;
  height: 25px;
  margin-top: 1px;
  line-height: normal;
}
mat-card.admin-event mat-card-header .mat-icon-button a {
  color: black;
}
mat-card.admin-event mat-card-header mat-spinner {
  margin-left: 0.5rem;
}
mat-card.admin-event mat-card-content {
  padding: 1rem;
  margin: 0;
}
mat-card.admin-event mat-card-content mat-expansion-panel {
  margin: 0.5rem 0;
}
mat-card.admin-event mat-card-content mat-expansion-panel mat-action-row {
  padding: 1rem;
}
mat-card.admin-event mat-card-actions {
  margin: 0 !important;
  padding: 1rem !important;
}
mat-card.admin-event table .mat-footer-cell {
  border-bottom-width: 0;
}
mat-card.admin-event table .mat-header-cell {
  border-bottom-color: white;
}
mat-card.admin-event table .mat-cell {
  border-bottom-color: white;
}
mat-card.base-card {
  box-shadow: 0 0 0 0 !important;
  width: 100%;
  padding: 0;
  margin-bottom: 2em;
}
mat-card.base-card mat-card-header {
  font-weight: 600 !important;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  padding: 0.25rem;
  margin-left: 0px;
}
mat-card.base-card mat-card-header .closed-header {
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}
mat-card.base-card mat-card-header .mat-icon-button {
  width: 25px;
  height: 25px;
  margin-top: 1px;
  margin-right: 5px;
  font-size: 1rem;
  line-height: normal;
}
mat-card.base-card mat-card-header .mat-icon-button .mat-icon {
  font-size: 16px;
}
mat-card.base-card mat-card-header .mat-icon-button a {
  color: black;
}
mat-card.base-card mat-card-header mat-spinner {
  margin-left: 0.5rem;
}
mat-card.base-card mat-card-content {
  padding: 1rem;
  margin: 0;
}
.card-title {
  color: #434343;
}
.section {
  padding-top: 0px !important;
}
.section .section-title {
  font-size: 1rem;
  padding-bottom: 0.5rem;
}
.section .section-content {
  padding-left: 1.4rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.ngx-mat-timepicker-spacer {
  vertical-align: middle;
  padding-bottom: 0.75em;
}
.mat-datepicker-content .time-container {
  margin: 0 auto !important;
  padding-top: 0 !important;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  max-width: 220px;
}
.mat-datepicker-content .time-container::before {
  display: none !important;
}
.mat-datepicker-content .time-container .ngx-mat-timepicker {
  flex: 0 0 auto;
  transform: translateX(-35px);
}
.mat-datepicker-content .time-container app-time-zone-input,
.mat-datepicker-content .time-container .container-button {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
}
.cdk-overlay-pane.is-clean-picker .actions button {
  pointer-events: none !important;
  opacity: 0.4 !important;
  cursor: not-allowed !important;
}
.cdk-overlay-pane .actions button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.cdk-overlay-pane .actions button .mat-button-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}
.cdk-overlay-pane .actions button mat-icon,
.cdk-overlay-pane .actions button .mat-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}
.cdk-overlay-pane .actions button + button {
  margin-left: 2px !important;
}
.cdk-overlay-pane .actions {
  justify-content: center !important;
  padding-top: 17px !important;
  padding-bottom: 17px !important;
}
.cdk-overlay-pane .actions button,
.cdk-overlay-pane .actions button * {
  transition: none !important;
}
.cdk-overlay-pane .actions button:first-child .mat-button-focus-overlay {
  opacity: 0 !important;
}
.cdk-overlay-pane .actions button:first-child:hover:not([disabled]) {
  background-color: #e8e6e3 !important;
}
.dark-theme .cdk-overlay-pane .actions button:first-child:hover:not([disabled]) {
  background-color: #34332f !important;
}
.cdk-overlay-pane:not(.is-clean-picker) .actions button:last-child:not([disabled]) {
  background-color: #064ad9 !important;
  border-color: #064ad9 !important;
  color: #fff !important;
}
.cdk-overlay-pane:not(.is-clean-picker) .actions button:last-child:not([disabled]) .mat-icon {
  color: #fff !important;
}
.dark-theme .cdk-overlay-pane:not(.is-clean-picker) .actions button:last-child:not([disabled]) {
  background-color: #60a5fa !important;
  border-color: #60a5fa !important;
}
.mat-datepicker-content {
  border-radius: 6px !important;
  padding: 0 !important;
  background-color: #f9f8f7 !important;
  margin-top: 2px !important;
  margin-bottom: 2px !important;
  width: 256px !important;
  min-width: 0 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
}
.mat-datepicker-content .mat-calendar {
  padding: 0;
  width: auto !important;
}
.mat-calendar {
  font-family: inherit;
  font-size: 13px;
  letter-spacing: 0;
}
.mat-calendar .mat-calendar-header {
  padding: 12px 12px 0;
}
.mat-calendar .mat-calendar-header .mat-calendar-controls {
  margin: 0 !important;
  padding: 0 !important;
}
.mat-calendar .mat-calendar-header .mat-calendar-previous-button,
.mat-calendar .mat-calendar-header .mat-calendar-next-button {
  width: 24px !important;
  height: 24px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border-radius: 4px !important;
  color: rgba(0, 0, 0, 0.55) !important;
  transition: none !important;
}
.mat-calendar .mat-calendar-header .mat-calendar-previous-button::before, .mat-calendar .mat-calendar-header .mat-calendar-previous-button::after,
.mat-calendar .mat-calendar-header .mat-calendar-next-button::before,
.mat-calendar .mat-calendar-header .mat-calendar-next-button::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  transform: none !important;
}
.mat-calendar .mat-calendar-header .mat-calendar-previous-button .mat-button-wrapper svg,
.mat-calendar .mat-calendar-header .mat-calendar-previous-button .mat-button-wrapper .mat-icon,
.mat-calendar .mat-calendar-header .mat-calendar-next-button .mat-button-wrapper svg,
.mat-calendar .mat-calendar-header .mat-calendar-next-button .mat-button-wrapper .mat-icon {
  display: none !important;
}
.mat-calendar .mat-calendar-header .mat-calendar-previous-button .mat-button-wrapper,
.mat-calendar .mat-calendar-header .mat-calendar-next-button .mat-button-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.mat-calendar .mat-calendar-header .mat-calendar-previous-button .mat-button-wrapper::after,
.mat-calendar .mat-calendar-header .mat-calendar-next-button .mat-button-wrapper::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background-color: currentColor;
}
.mat-calendar .mat-calendar-header .mat-calendar-previous-button .mat-button-wrapper::after {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' fill='none'><path d='M6.5 2 L3 5 L6.5 8' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' fill='none'><path d='M6.5 2 L3 5 L6.5 8' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
}
.mat-calendar .mat-calendar-header .mat-calendar-next-button .mat-button-wrapper::after {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' fill='none'><path d='M3.5 2 L7 5 L3.5 8' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' fill='none'><path d='M3.5 2 L7 5 L3.5 8' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
}
.mat-calendar .mat-calendar-header .mat-calendar-previous-button .mat-button-focus-overlay,
.mat-calendar .mat-calendar-header .mat-calendar-previous-button .mat-button-ripple,
.mat-calendar .mat-calendar-header .mat-calendar-previous-button .mat-ripple,
.mat-calendar .mat-calendar-header .mat-calendar-next-button .mat-button-focus-overlay,
.mat-calendar .mat-calendar-header .mat-calendar-next-button .mat-button-ripple,
.mat-calendar .mat-calendar-header .mat-calendar-next-button .mat-ripple {
  display: none !important;
}
.mat-calendar .mat-calendar-header .mat-calendar-previous-button:hover,
.mat-calendar .mat-calendar-header .mat-calendar-next-button:hover {
  color: rgba(0, 0, 0, 0.85) !important;
  background-color: rgba(0, 0, 0, 0.06) !important;
}
.mat-calendar .mat-calendar-header .mat-calendar-period-button,
.mat-calendar .mat-calendar-header .mat-calendar-period-button *,
.mat-calendar .mat-calendar-header .mat-calendar-body-label,
.mat-calendar .mat-calendar-header .mat-calendar-table-header th {
  text-transform: none !important;
}
.mat-calendar .mat-calendar-header .mat-calendar-period-button {
  padding: 0 8px;
  min-height: auto;
  line-height: 1.4;
}
.mat-calendar .mat-calendar-content {
  padding: 8px !important;
}
.mat-calendar .mat-calendar-table {
  max-width: 200px;
  margin: 0 auto;
}
.mat-calendar .mat-calendar-body tr:first-child td {
  padding-top: 8px !important;
}
.mat-calendar .mat-calendar-period-button {
  font-size: 13px;
  font-weight: 400;
  letter-spacing: -0.01em;
  color: #373734;
}
.mat-calendar .mat-calendar-period-button .mat-button-focus-overlay {
  opacity: 0 !important;
}
.mat-calendar .mat-calendar-period-button:hover {
  background-color: #e8e6e3 !important;
}
.mat-calendar .mat-calendar-table-header th {
  font-size: 11px;
  font-weight: 500;
  padding: 0 !important;
  color: rgba(0, 0, 0, 0.55);
  border: 0 !important;
  box-shadow: none !important;
}
.mat-calendar .mat-calendar-table-header-divider {
  height: 8px !important;
  padding: 0 !important;
  border: 0 !important;
}
.mat-calendar .mat-calendar-table-header-divider::after {
  display: none;
}
.mat-calendar .mat-calendar-body-label {
  height: 0 !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
}
.mat-calendar .mat-calendar-table-header tr {
  padding-bottom: 0;
}
.mat-calendar .mat-calendar-body tr {
  height: 26px;
}
.mat-calendar .mat-calendar-body-cell {
  height: 26px !important;
  padding: 0 !important;
}
.mat-calendar .mat-calendar-body-cell-content {
  height: 24px !important;
  width: 24px !important;
  line-height: 24px !important;
  top: 1px !important;
}
.mat-calendar .mat-calendar-body-cell-content {
  font-size: 13px;
  font-weight: 430;
}
.mat-calendar ngx-mat-multi-year-view .mat-calendar-table-header-divider {
  display: none !important;
}
.mat-calendar ngx-mat-multi-year-view .mat-calendar-body-cell-content {
  width: 44px !important;
  border-radius: 12px !important;
}
.mat-calendar ngx-mat-year-view .mat-calendar-table-header-divider {
  display: none !important;
}
.mat-calendar ngx-mat-year-view .mat-calendar-body-cell-content {
  width: 44px !important;
  border-radius: 12px !important;
}
.ngx-mat-timepicker {
  font-family: inherit;
  font-size: 13px;
}
.ngx-mat-timepicker input,
.ngx-mat-timepicker .mat-input-element {
  font-size: 13px;
  font-weight: 430;
  font-family: inherit;
}
.ngx-mat-timepicker .ngx-mat-timepicker-table td {
  padding: 0 !important;
  line-height: 1 !important;
}
.ngx-mat-timepicker .ngx-mat-timepicker-table button.mat-icon-button {
  width: 24px !important;
  height: 24px !important;
  line-height: 24px !important;
  padding: 0 !important;
  border-radius: 4px !important;
  background-color: transparent !important;
  color: rgba(0, 0, 0, 0.55) !important;
  box-shadow: none !important;
}
.ngx-mat-timepicker .ngx-mat-timepicker-table button.mat-icon-button:hover:not([disabled]) {
  background-color: rgba(0, 0, 0, 0.06) !important;
  color: rgba(0, 0, 0, 0.85) !important;
}
.ngx-mat-timepicker .ngx-mat-timepicker-table button.mat-icon-button .mat-button-focus-overlay,
.ngx-mat-timepicker .ngx-mat-timepicker-table button.mat-icon-button .mat-button-ripple,
.ngx-mat-timepicker .ngx-mat-timepicker-table button.mat-icon-button .mat-ripple {
  display: none !important;
}
.ngx-mat-timepicker .ngx-mat-timepicker-table button.mat-icon-button mat-icon,
.ngx-mat-timepicker .ngx-mat-timepicker-table button.mat-icon-button .mat-icon {
  font-size: 18px !important;
  width: 18px !important;
  height: 18px !important;
  line-height: 18px !important;
}
.ngx-mat-timepicker .ngx-mat-timepicker-table .mat-form-field-wrapper {
  padding-bottom: 0 !important;
  margin: 0 !important;
}
.ngx-mat-timepicker .ngx-mat-timepicker-table .mat-form-field-infix {
  padding: 0 !important;
  border-top: 0 !important;
}
.ngx-mat-timepicker .ngx-mat-timepicker-table .mat-form-field-underline,
.ngx-mat-timepicker .ngx-mat-timepicker-table .mat-form-field-subscript-wrapper {
  display: none !important;
}
app-datetimepicker-input.filter-styled {
  display: inline-flex;
}
app-datetimepicker-input.filter-styled:not(.column) {
  flex: 0 0 auto;
  width: 260px;
}
app-datetimepicker-input.filter-styled .datepicker-input {
  width: 100%;
}
app-datetimepicker-input.filter-styled .mat-form-field {
  width: 100%;
  min-width: 0;
}
app-datetimepicker-input.filter-styled .mat-form-field-wrapper {
  margin: 0;
  padding: 0;
  min-width: 0;
}
app-datetimepicker-input.filter-styled .mat-form-field-subscript-wrapper {
  position: absolute;
  top: 100%;
  left: 2px;
  right: 2px;
  padding: 0;
  margin-top: 2px;
  font-size: 11px;
  line-height: 1.2;
  pointer-events: none;
}
app-datetimepicker-input.filter-styled .mat-error {
  color: #e91414;
  font-size: 11px;
  line-height: 1.2;
  margin: 0;
}
app-datetimepicker-input.filter-styled .mat-form-field-hint-wrapper,
app-datetimepicker-input.filter-styled .mat-hint {
  display: none !important;
}
app-datetimepicker-input.filter-styled .mat-form-field-outline {
  display: none !important;
}
app-datetimepicker-input.filter-styled .mat-form-field-label-wrapper {
  display: none;
}
app-datetimepicker-input.filter-styled .mat-form-field-flex {
  align-items: center;
  height: 26px;
  min-height: 26px;
  margin: 0;
  padding: 0 10px 0 3px !important;
  border-radius: 6px;
  background-color: white;
  border: 1px solid #D6D3D1;
  cursor: pointer;
  overflow: hidden;
  min-width: 0;
}
app-datetimepicker-input.filter-styled .mat-input-element,
app-datetimepicker-input.filter-styled .container-date-time-mask {
  cursor: pointer;
}
app-datetimepicker-input.filter-styled .mat-form-field-infix {
  min-width: 0;
}
app-datetimepicker-input.filter-styled ._container-input {
  min-width: 0;
}
app-datetimepicker-input.filter-styled .mat-form-field-suffix {
  order: -1;
  align-self: center;
  margin-right: 1px;
  display: inline-flex;
  align-items: center;
  position: relative;
  top: 0;
}
app-datetimepicker-input.filter-styled .mat-datepicker-toggle {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}
app-datetimepicker-input.filter-styled .mat-datepicker-toggle .mat-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  width: 28px !important;
  height: 28px !important;
  min-height: 0 !important;
  line-height: 1;
  padding: 0;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 100ms ease;
}
app-datetimepicker-input.filter-styled .mat-datepicker-toggle .mat-button-focus-overlay,
app-datetimepicker-input.filter-styled .mat-datepicker-toggle .mat-button-ripple,
app-datetimepicker-input.filter-styled .mat-datepicker-toggle .mat-ripple {
  display: none !important;
}
app-datetimepicker-input.filter-styled .mat-datepicker-toggle .mat-datepicker-toggle-default-icon,
app-datetimepicker-input.filter-styled .mat-datepicker-toggle svg {
  display: none !important;
}
app-datetimepicker-input.filter-styled .mat-datepicker-toggle .mat-icon-button::after {
  content: "calendar_today";
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 18px;
  line-height: 1;
  letter-spacing: normal;
  white-space: nowrap;
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
  font-variation-settings: "opsz" 20, "wght" 300, "FILL" 0;
  color: rgba(0, 0, 0, 0.55);
}
app-datetimepicker-input.filter-styled .mat-form-field-flex:hover .mat-datepicker-toggle .mat-icon-button::after,
app-datetimepicker-input.filter-styled .mat-form-field-flex:has(.tz-globe.menu-open) .mat-datepicker-toggle .mat-icon-button::after,
app-datetimepicker-input.filter-styled .picker-open .mat-datepicker-toggle .mat-icon-button::after,
app-datetimepicker-input.filter-styled .mat-focused .mat-datepicker-toggle .mat-icon-button::after {
  color: rgba(0, 0, 0, 0.85);
}
app-datetimepicker-input.filter-styled .mat-form-field-flex:has(.tz-globe.menu-open) {
  box-shadow: 0 0 0 1px #D6D3D1;
}
app-datetimepicker-input.filter-styled .mat-form-field-infix {
  border-top: 0;
  padding: 0 !important;
  width: auto;
}
app-datetimepicker-input.filter-styled ._container-input {
  gap: 6px !important;
  align-items: center;
  flex-wrap: nowrap;
}
app-datetimepicker-input.filter-styled .container-date-time-mask {
  font-size: 13px !important;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: normal;
  white-space: nowrap;
  color: #373734;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
app-datetimepicker-input.filter-styled .container-date-time-mask span {
  font-size: 13px !important;
  font-weight: 400;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  min-width: 0;
}
app-datetimepicker-input.filter-styled .placeholder-mask {
  color: rgba(0, 0, 0, 0.5) !important;
  font-weight: 400;
}
app-datetimepicker-input.filter-styled .offset {
  font-size: 11px;
  font-weight: 400;
  opacity: 0.4;
  white-space: nowrap;
  flex: 0 9999 auto;
  min-width: 0;
  overflow: hidden;
}
app-datetimepicker-input.filter-styled app-dialog-timezone.inline-tz-viewer {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}
app-datetimepicker-input.filter-styled app-dialog-timezone.inline-tz-viewer > span {
  display: inline-flex;
  align-items: center;
}
app-datetimepicker-input.filter-styled app-dialog-timezone.inline-tz-viewer .smaller-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  min-width: 0;
  line-height: 18px;
  padding: 0;
}
app-datetimepicker-input.filter-styled app-dialog-timezone.inline-tz-viewer .smaller-button .mat-button-focus-overlay,
app-datetimepicker-input.filter-styled app-dialog-timezone.inline-tz-viewer .smaller-button .mat-button-ripple,
app-datetimepicker-input.filter-styled app-dialog-timezone.inline-tz-viewer .smaller-button .mat-ripple {
  display: none !important;
}
app-datetimepicker-input.filter-styled app-dialog-timezone.inline-tz-viewer .smaller-button .mat-icon {
  font-size: 15px !important;
  width: 15px;
  height: 15px;
  line-height: 15px;
  opacity: 0.4;
  color: inherit;
  font-variation-settings: "opsz" 20, "wght" 300, "FILL" 0;
  transition: opacity 120ms ease;
}
app-datetimepicker-input.filter-styled app-dialog-timezone.inline-tz-viewer .smaller-button:hover .mat-icon {
  opacity: 0.7;
}
app-datetimepicker-input.filter-styled .mat-form-field-flex:hover {
  box-shadow: 0 0 0 1px #D6D3D1;
}
app-datetimepicker-input.filter-styled .mat-focused .mat-form-field-flex,
app-datetimepicker-input.filter-styled .mat-form-field-flex:focus-within,
app-datetimepicker-input.filter-styled .picker-open .mat-form-field-flex {
  border-color: #064ad9;
  box-shadow: 0 0 0 1px #064ad9;
}
.dark-theme app-datetimepicker-input.filter-styled .mat-form-field-flex {
  background-color: black;
  border-color: #5a5651;
}
.dark-theme app-datetimepicker-input.filter-styled .container-date-time-mask {
  color: #c4c2bd;
}
.dark-theme app-datetimepicker-input.filter-styled .placeholder-mask {
  color: rgba(255, 255, 255, 0.6) !important;
}
.dark-theme app-datetimepicker-input.filter-styled .mat-form-field-flex:hover,
.dark-theme app-datetimepicker-input.filter-styled .mat-form-field-flex:has(.tz-globe.menu-open) {
  box-shadow: 0 0 0 1px #5a5651;
}
.dark-theme app-datetimepicker-input.filter-styled .mat-focused .mat-form-field-flex,
.dark-theme app-datetimepicker-input.filter-styled .mat-form-field-flex:focus-within,
.dark-theme app-datetimepicker-input.filter-styled .picker-open .mat-form-field-flex {
  border-color: #60a5fa;
  box-shadow: 0 0 0 1px #60a5fa;
}
.dark-theme app-datetimepicker-input.filter-styled .mat-datepicker-toggle .mat-icon-button::after {
  color: rgba(255, 255, 255, 0.55);
}
.dark-theme app-datetimepicker-input.filter-styled .mat-form-field-flex:hover .mat-datepicker-toggle .mat-icon-button::after,
.dark-theme app-datetimepicker-input.filter-styled .mat-form-field-flex:has(.tz-globe.menu-open) .mat-datepicker-toggle .mat-icon-button::after,
.dark-theme app-datetimepicker-input.filter-styled .picker-open .mat-datepicker-toggle .mat-icon-button::after,
.dark-theme app-datetimepicker-input.filter-styled .mat-focused .mat-datepicker-toggle .mat-icon-button::after {
  color: rgba(255, 255, 255, 0.9);
}
.dark-theme .mat-datepicker-content .mat-calendar-previous-button,
.dark-theme .mat-datepicker-content .mat-calendar-next-button {
  color: rgba(255, 255, 255, 0.55) !important;
}
.dark-theme .mat-datepicker-content .mat-calendar-previous-button:hover,
.dark-theme .mat-datepicker-content .mat-calendar-next-button:hover {
  color: rgba(255, 255, 255, 0.9) !important;
  background-color: rgba(255, 255, 255, 0.14) !important;
}
.dark-theme .mat-datepicker-content {
  background-color: #202020 !important;
  box-shadow: 0 0 0 1px #3a3937 !important;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
}
.dark-theme .mat-datepicker-content .mat-calendar-period-button {
  color: #c4c2bd;
}
.dark-theme .mat-datepicker-content .mat-calendar-period-button:hover {
  background-color: #34332f !important;
}
.dark-theme .mat-datepicker-content .mat-calendar-table-header th {
  color: rgba(255, 255, 255, 0.55);
}
.dark-theme .mat-datepicker-content .ngx-mat-timepicker-table button.mat-icon-button {
  color: rgba(255, 255, 255, 0.55) !important;
}
.dark-theme .mat-datepicker-content .ngx-mat-timepicker-table button.mat-icon-button:hover:not([disabled]) {
  background-color: rgba(255, 255, 255, 0.14) !important;
  color: rgba(255, 255, 255, 0.9) !important;
}
.mat-calendar-body-selected {
  background-color: #064ad9 !important;
  color: #fff !important;
}
.dark-theme .mat-calendar-body-selected {
  background-color: #60a5fa !important;
}
.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(6, 74, 217, 0.15) !important;
}
.dark-theme .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(96, 165, 250, 0.22) !important;
}
.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  border-color: #064ad9 !important;
}
.dark-theme .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  border-color: #60a5fa !important;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
app-select-input.filter-styled,
app-select-input-flag.filter-styled,
app-select-input-le.filter-styled, app-multiline-text-input.filter-styled, app-input-filter-autocomplete.filter-styled, app-text-input.filter-styled {
  display: block;
}
app-select-input.filter-styled > .numeric-input,
app-select-input-flag.filter-styled > .numeric-input,
app-select-input-le.filter-styled > .numeric-input, app-multiline-text-input.filter-styled > .numeric-input, app-input-filter-autocomplete.filter-styled > .numeric-input, app-text-input.filter-styled > .numeric-input,
app-select-input.filter-styled > div,
app-select-input-flag.filter-styled > div,
app-select-input-le.filter-styled > div,
app-multiline-text-input.filter-styled > div,
app-input-filter-autocomplete.filter-styled > div,
app-text-input.filter-styled > div {
  width: 100%;
  position: relative;
}
app-select-input.filter-styled mat-form-field,
app-select-input-flag.filter-styled mat-form-field,
app-select-input-le.filter-styled mat-form-field, app-multiline-text-input.filter-styled mat-form-field, app-input-filter-autocomplete.filter-styled mat-form-field, app-text-input.filter-styled mat-form-field {
  width: 100%;
  min-width: 0;
}
app-select-input.filter-styled .mat-form-field-wrapper,
app-select-input-flag.filter-styled .mat-form-field-wrapper,
app-select-input-le.filter-styled .mat-form-field-wrapper, app-multiline-text-input.filter-styled .mat-form-field-wrapper, app-input-filter-autocomplete.filter-styled .mat-form-field-wrapper, app-text-input.filter-styled .mat-form-field-wrapper {
  margin: 0;
  padding: 0;
  min-width: 0;
}
app-select-input.filter-styled .mat-form-field-outline,
app-select-input-flag.filter-styled .mat-form-field-outline,
app-select-input-le.filter-styled .mat-form-field-outline, app-multiline-text-input.filter-styled .mat-form-field-outline, app-input-filter-autocomplete.filter-styled .mat-form-field-outline, app-text-input.filter-styled .mat-form-field-outline {
  display: none !important;
}
app-select-input.filter-styled .mat-form-field-underline,
app-select-input-flag.filter-styled .mat-form-field-underline,
app-select-input-le.filter-styled .mat-form-field-underline, app-multiline-text-input.filter-styled .mat-form-field-underline, app-input-filter-autocomplete.filter-styled .mat-form-field-underline, app-text-input.filter-styled .mat-form-field-underline {
  display: none !important;
}
app-select-input.filter-styled .mat-form-field-label-wrapper,
app-select-input-flag.filter-styled .mat-form-field-label-wrapper,
app-select-input-le.filter-styled .mat-form-field-label-wrapper, app-multiline-text-input.filter-styled .mat-form-field-label-wrapper, app-input-filter-autocomplete.filter-styled .mat-form-field-label-wrapper, app-text-input.filter-styled .mat-form-field-label-wrapper {
  display: none !important;
}
app-select-input.filter-styled .mat-placeholder-required,
app-select-input-flag.filter-styled .mat-placeholder-required,
app-select-input-le.filter-styled .mat-placeholder-required, app-multiline-text-input.filter-styled .mat-placeholder-required, app-input-filter-autocomplete.filter-styled .mat-placeholder-required, app-text-input.filter-styled .mat-placeholder-required {
  display: none !important;
}
app-select-input.filter-styled .mat-form-field-subscript-wrapper,
app-select-input-flag.filter-styled .mat-form-field-subscript-wrapper,
app-select-input-le.filter-styled .mat-form-field-subscript-wrapper, app-multiline-text-input.filter-styled .mat-form-field-subscript-wrapper, app-input-filter-autocomplete.filter-styled .mat-form-field-subscript-wrapper, app-text-input.filter-styled .mat-form-field-subscript-wrapper {
  position: absolute;
  top: 100%;
  left: 2px;
  right: 2px;
  padding: 0;
  margin-top: 2px;
  font-size: 11px;
  line-height: 1.2;
  pointer-events: none;
}
app-select-input.filter-styled .mat-error,
app-select-input-flag.filter-styled .mat-error,
app-select-input-le.filter-styled .mat-error, app-multiline-text-input.filter-styled .mat-error, app-input-filter-autocomplete.filter-styled .mat-error, app-text-input.filter-styled .mat-error {
  color: #e91414;
  font-size: 11px;
  line-height: 1.2;
  margin: 0;
}
app-select-input.filter-styled .mat-form-field-hint-wrapper,
app-select-input-flag.filter-styled .mat-form-field-hint-wrapper,
app-select-input-le.filter-styled .mat-form-field-hint-wrapper, app-multiline-text-input.filter-styled .mat-form-field-hint-wrapper, app-input-filter-autocomplete.filter-styled .mat-form-field-hint-wrapper, app-text-input.filter-styled .mat-form-field-hint-wrapper,
app-select-input.filter-styled .mat-hint,
app-select-input-flag.filter-styled .mat-hint,
app-select-input-le.filter-styled .mat-hint,
app-multiline-text-input.filter-styled .mat-hint,
app-input-filter-autocomplete.filter-styled .mat-hint,
app-text-input.filter-styled .mat-hint {
  display: none !important;
}
app-select-input.filter-styled .ti-description,
app-select-input-flag.filter-styled .ti-description,
app-select-input-le.filter-styled .ti-description, app-multiline-text-input.filter-styled .ti-description, app-input-filter-autocomplete.filter-styled .ti-description, app-text-input.filter-styled .ti-description {
  position: absolute;
  top: 0;
  left: 2px;
  right: 2px;
  color: rgba(0, 0, 0, 0.6);
  font-size: 11px;
  font-weight: 430;
  font-family: inherit;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: auto;
}
app-select-input.filter-styled .ti-description .required-mark,
app-select-input-flag.filter-styled .ti-description .required-mark,
app-select-input-le.filter-styled .ti-description .required-mark, app-multiline-text-input.filter-styled .ti-description .required-mark, app-input-filter-autocomplete.filter-styled .ti-description .required-mark, app-text-input.filter-styled .ti-description .required-mark {
  color: #e91414;
  margin-left: 2px;
  font-weight: 500;
}
app-select-input.filter-styled .mat-form-field-flex,
app-select-input-flag.filter-styled .mat-form-field-flex,
app-select-input-le.filter-styled .mat-form-field-flex, app-multiline-text-input.filter-styled .mat-form-field-flex, app-input-filter-autocomplete.filter-styled .mat-form-field-flex, app-text-input.filter-styled .mat-form-field-flex {
  align-items: center;
  height: 26px;
  min-height: 26px;
  margin: 16px 0 0;
  padding: 0 10px !important;
  border-radius: 6px;
  background-color: white;
  border: 1px solid #D6D3D1;
  overflow: hidden;
  min-width: 0;
}
app-select-input.filter-styled .mat-form-field-flex:has(.ti-copy-btn),
app-select-input-flag.filter-styled .mat-form-field-flex:has(.ti-copy-btn),
app-select-input-le.filter-styled .mat-form-field-flex:has(.ti-copy-btn), app-multiline-text-input.filter-styled .mat-form-field-flex:has(.ti-copy-btn), app-input-filter-autocomplete.filter-styled .mat-form-field-flex:has(.ti-copy-btn), app-text-input.filter-styled .mat-form-field-flex:has(.ti-copy-btn) {
  padding-right: 0 !important;
}
app-select-input.filter-styled .mat-form-field-infix,
app-select-input-flag.filter-styled .mat-form-field-infix,
app-select-input-le.filter-styled .mat-form-field-infix, app-multiline-text-input.filter-styled .mat-form-field-infix, app-input-filter-autocomplete.filter-styled .mat-form-field-infix, app-text-input.filter-styled .mat-form-field-infix {
  border-top: 0;
  padding: 0 !important;
  width: auto;
  min-width: 0;
  display: flex;
  align-items: center;
  align-self: stretch;
}
app-select-input.filter-styled .mat-form-field-prefix,
app-select-input-flag.filter-styled .mat-form-field-prefix,
app-select-input-le.filter-styled .mat-form-field-prefix, app-multiline-text-input.filter-styled .mat-form-field-prefix, app-input-filter-autocomplete.filter-styled .mat-form-field-prefix, app-text-input.filter-styled .mat-form-field-prefix,
app-select-input.filter-styled .mat-form-field-suffix,
app-select-input-flag.filter-styled .mat-form-field-suffix,
app-select-input-le.filter-styled .mat-form-field-suffix,
app-multiline-text-input.filter-styled .mat-form-field-suffix,
app-input-filter-autocomplete.filter-styled .mat-form-field-suffix,
app-text-input.filter-styled .mat-form-field-suffix {
  display: inline-flex;
  align-items: center;
  align-self: stretch;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1;
  color: #373734;
  top: 0 !important;
  margin: 0;
  padding: 0;
  -webkit-user-select: text;
     -moz-user-select: text;
      -ms-user-select: text;
          user-select: text;
  cursor: text;
}
app-select-input.filter-styled .mat-input-element,
app-select-input-flag.filter-styled .mat-input-element,
app-select-input-le.filter-styled .mat-input-element, app-multiline-text-input.filter-styled .mat-input-element, app-input-filter-autocomplete.filter-styled .mat-input-element, app-text-input.filter-styled .mat-input-element {
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  vertical-align: middle !important;
}
app-select-input.filter-styled .mat-input-element,
app-select-input-flag.filter-styled .mat-input-element,
app-select-input-le.filter-styled .mat-input-element, app-multiline-text-input.filter-styled .mat-input-element, app-input-filter-autocomplete.filter-styled .mat-input-element, app-text-input.filter-styled .mat-input-element,
app-select-input.filter-styled .mat-select-value-text,
app-select-input-flag.filter-styled .mat-select-value-text,
app-select-input-le.filter-styled .mat-select-value-text,
app-multiline-text-input.filter-styled .mat-select-value-text,
app-input-filter-autocomplete.filter-styled .mat-select-value-text,
app-text-input.filter-styled .mat-select-value-text {
  font-size: 13px !important;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: normal;
  color: #373734;
}
app-select-input.filter-styled .mat-form-field-label,
app-select-input-flag.filter-styled .mat-form-field-label,
app-select-input-le.filter-styled .mat-form-field-label, app-multiline-text-input.filter-styled .mat-form-field-label, app-input-filter-autocomplete.filter-styled .mat-form-field-label, app-text-input.filter-styled .mat-form-field-label {
  color: rgba(0, 0, 0, 0.5);
}
app-select-input.filter-styled .mat-form-field-flex:hover,
app-select-input-flag.filter-styled .mat-form-field-flex:hover,
app-select-input-le.filter-styled .mat-form-field-flex:hover, app-multiline-text-input.filter-styled .mat-form-field-flex:hover, app-input-filter-autocomplete.filter-styled .mat-form-field-flex:hover, app-text-input.filter-styled .mat-form-field-flex:hover {
  box-shadow: 0 0 0 1px #D6D3D1;
}
app-select-input.mat-focused.filter-styled .mat-form-field-flex,
app-select-input-flag.mat-focused.filter-styled .mat-form-field-flex,
app-select-input-le.mat-focused.filter-styled .mat-form-field-flex, app-multiline-text-input.mat-focused.filter-styled .mat-form-field-flex, app-input-filter-autocomplete.mat-focused.filter-styled .mat-form-field-flex, app-text-input.mat-focused.filter-styled .mat-form-field-flex,
app-select-input.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
app-select-input-flag.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
app-select-input-le.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
app-multiline-text-input.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
app-input-filter-autocomplete.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
app-text-input.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
app-select-input.filter-styled .mat-form-field-flex:focus-within,
app-select-input-flag.filter-styled .mat-form-field-flex:focus-within,
app-select-input-le.filter-styled .mat-form-field-flex:focus-within,
app-multiline-text-input.filter-styled .mat-form-field-flex:focus-within,
app-input-filter-autocomplete.filter-styled .mat-form-field-flex:focus-within,
app-text-input.filter-styled .mat-form-field-flex:focus-within {
  border-color: #064ad9;
  box-shadow: 0 0 0 1px #064ad9;
}
app-select-input.filter-styled .mat-form-field-invalid .mat-form-field-flex,
app-select-input-flag.filter-styled .mat-form-field-invalid .mat-form-field-flex,
app-select-input-le.filter-styled .mat-form-field-invalid .mat-form-field-flex, app-multiline-text-input.filter-styled .mat-form-field-invalid .mat-form-field-flex, app-input-filter-autocomplete.filter-styled .mat-form-field-invalid .mat-form-field-flex, app-text-input.filter-styled .mat-form-field-invalid .mat-form-field-flex {
  border-color: #e91414;
}
app-select-input.filter-styled .mat-form-field-disabled .mat-form-field-flex,
app-select-input-flag.filter-styled .mat-form-field-disabled .mat-form-field-flex,
app-select-input-le.filter-styled .mat-form-field-disabled .mat-form-field-flex, app-multiline-text-input.filter-styled .mat-form-field-disabled .mat-form-field-flex, app-input-filter-autocomplete.filter-styled .mat-form-field-disabled .mat-form-field-flex, app-text-input.filter-styled .mat-form-field-disabled .mat-form-field-flex {
  opacity: 0.55;
  box-shadow: none;
  pointer-events: none;
}
app-select-input.filter-styled > div:has(.mat-form-field-disabled) .ti-description,
app-select-input-flag.filter-styled > div:has(.mat-form-field-disabled) .ti-description,
app-select-input-le.filter-styled > div:has(.mat-form-field-disabled) .ti-description, app-multiline-text-input.filter-styled > div:has(.mat-form-field-disabled) .ti-description, app-input-filter-autocomplete.filter-styled > div:has(.mat-form-field-disabled) .ti-description, app-text-input.filter-styled > div:has(.mat-form-field-disabled) .ti-description {
  opacity: 0.55;
}
app-multiline-text-input.filter-styled > .multiline-text-input {
  width: 100%;
  position: relative;
}
app-multiline-text-input.filter-styled .mat-form-field-flex {
  align-items: flex-start;
  height: auto !important;
  min-height: 0;
  margin: 0 !important;
  padding: 8px 10px !important;
}
app-multiline-text-input.filter-styled:has(> .multiline-text-input > .ti-description) .mat-form-field-flex {
  margin-top: 16px !important;
}
app-multiline-text-input.filter-styled .mat-form-field-infix {
  display: block;
  align-self: auto;
  padding: 0 !important;
  width: 100%;
}
app-multiline-text-input.filter-styled textarea.mat-input-element {
  resize: none;
  overflow: hidden;
  box-sizing: content-box;
  line-height: 1.5 !important;
  padding: 0 0 2px !important;
}
app-select-input.filter-styled .mat-form-field-flex,
app-select-input-flag.filter-styled .mat-form-field-flex,
app-select-input-le.filter-styled .mat-form-field-flex {
  background-color: rgba(255, 255, 255, 0.72);
}
app-select-input.filter-styled .mat-select-trigger,
app-select-input-flag.filter-styled .mat-select-trigger,
app-select-input-le.filter-styled .mat-select-trigger {
  display: flex;
  align-items: center;
  width: 100%;
}
app-select-input.filter-styled .mat-select-value,
app-select-input-flag.filter-styled .mat-select-value,
app-select-input-le.filter-styled .mat-select-value {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  max-width: none;
}
app-select-input.filter-styled .mat-select-arrow-wrapper,
app-select-input-flag.filter-styled .mat-select-arrow-wrapper,
app-select-input-le.filter-styled .mat-select-arrow-wrapper {
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  padding: 0;
  margin-right: -8px;
  border: 1px solid #D6D3D1;
  border-radius: 4px;
  background-color: transparent;
  line-height: 0;
  transform: none !important;
  vertical-align: middle;
}
app-select-input.filter-styled .mat-form-field-flex:hover .mat-select-arrow-wrapper,
app-select-input.filter-styled .mat-focused .mat-select-arrow-wrapper,
app-select-input-flag.filter-styled .mat-form-field-flex:hover .mat-select-arrow-wrapper,
app-select-input-flag.filter-styled .mat-focused .mat-select-arrow-wrapper,
app-select-input-le.filter-styled .mat-form-field-flex:hover .mat-select-arrow-wrapper,
app-select-input-le.filter-styled .mat-focused .mat-select-arrow-wrapper {
  background-color: rgba(0, 0, 0, 0.06);
}
app-select-input.filter-styled .mat-form-field-flex:hover .mat-select-arrow,
app-select-input.filter-styled .mat-focused .mat-select-arrow,
app-select-input-flag.filter-styled .mat-form-field-flex:hover .mat-select-arrow,
app-select-input-flag.filter-styled .mat-focused .mat-select-arrow,
app-select-input-le.filter-styled .mat-form-field-flex:hover .mat-select-arrow,
app-select-input-le.filter-styled .mat-focused .mat-select-arrow {
  color: rgba(0, 0, 0, 0.85);
}
app-select-input.filter-styled .mat-select-arrow,
app-select-input-flag.filter-styled .mat-select-arrow,
app-select-input-le.filter-styled .mat-select-arrow {
  color: rgba(0, 0, 0, 0.55);
  border: 0 !important;
  width: 10px;
  height: 12px;
  margin: 0 !important;
  transform: none !important;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='12' viewBox='0 0 10 12'><path d='M2 4 L5 1 L8 4' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/><path d='M2 8 L5 11 L8 8' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='12' viewBox='0 0 10 12'><path d='M2 4 L5 1 L8 4' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/><path d='M2 8 L5 11 L8 8' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
}
.dark-theme app-select-input.filter-styled .mat-form-field-flex,
.dark-theme app-select-input-flag.filter-styled .mat-form-field-flex,
.dark-theme app-select-input-le.filter-styled .mat-form-field-flex {
  background-color: rgba(255, 255, 255, 0.05);
}
.dark-theme app-select-input.filter-styled .mat-select-arrow-wrapper,
.dark-theme app-select-input-flag.filter-styled .mat-select-arrow-wrapper,
.dark-theme app-select-input-le.filter-styled .mat-select-arrow-wrapper {
  background-color: transparent;
  border-color: #5a5651;
}
.dark-theme app-select-input.filter-styled .mat-form-field-flex:hover .mat-select-arrow-wrapper,
.dark-theme app-select-input.filter-styled .mat-focused .mat-select-arrow-wrapper,
.dark-theme app-select-input-flag.filter-styled .mat-form-field-flex:hover .mat-select-arrow-wrapper,
.dark-theme app-select-input-flag.filter-styled .mat-focused .mat-select-arrow-wrapper,
.dark-theme app-select-input-le.filter-styled .mat-form-field-flex:hover .mat-select-arrow-wrapper,
.dark-theme app-select-input-le.filter-styled .mat-focused .mat-select-arrow-wrapper {
  background-color: rgba(255, 255, 255, 0.14);
}
.dark-theme app-select-input.filter-styled .mat-form-field-flex:hover .mat-select-arrow,
.dark-theme app-select-input.filter-styled .mat-focused .mat-select-arrow,
.dark-theme app-select-input-flag.filter-styled .mat-form-field-flex:hover .mat-select-arrow,
.dark-theme app-select-input-flag.filter-styled .mat-focused .mat-select-arrow,
.dark-theme app-select-input-le.filter-styled .mat-form-field-flex:hover .mat-select-arrow,
.dark-theme app-select-input-le.filter-styled .mat-focused .mat-select-arrow {
  color: rgba(255, 255, 255, 0.9);
}
.dark-theme app-select-input.filter-styled .mat-select-arrow,
.dark-theme app-select-input-flag.filter-styled .mat-select-arrow,
.dark-theme app-select-input-le.filter-styled .mat-select-arrow {
  color: rgba(255, 255, 255, 0.55);
}
app-text-input.column,
app-select-input.column,
app-select-input-flag.column,
app-select-input-le.column,
app-input-filter-autocomplete.column,
app-multiline-text-input.column,
app-number-input.column,
app-datetimepicker-input.column,
app-jems-select.column {
  padding: 6px;
}
@media screen and (max-width: 768px) {
  app-text-input.column,
app-select-input.column,
app-select-input-flag.column,
app-select-input-le.column,
app-input-filter-autocomplete.column,
app-multiline-text-input.column,
app-number-input.column,
app-datetimepicker-input.column,
app-jems-select.column {
    display: block !important;
    width: 100% !important;
  }
}
.mat-select-panel,
.mat-autocomplete-panel,
.mat-datepicker-content {
  margin-top: 1px;
}
.mat-datepicker-content {
  margin-bottom: 2px;
}
.mat-autocomplete-panel-above .mat-autocomplete-panel.user-search-autocomplete {
  margin-bottom: 1px;
}
.dark-theme app-text-input.filter-styled .mat-form-field-flex,
.dark-theme app-select-input.filter-styled .mat-form-field-flex,
.dark-theme app-select-input-flag.filter-styled .mat-form-field-flex,
.dark-theme app-select-input-le.filter-styled .mat-form-field-flex,
.dark-theme app-input-filter-autocomplete.filter-styled .mat-form-field-flex,
.dark-theme app-multiline-text-input.filter-styled .mat-form-field-flex {
  background-color: black;
  border-color: #5a5651;
}
.dark-theme app-text-input.filter-styled .mat-form-field-flex:hover,
.dark-theme app-select-input.filter-styled .mat-form-field-flex:hover,
.dark-theme app-select-input-flag.filter-styled .mat-form-field-flex:hover,
.dark-theme app-select-input-le.filter-styled .mat-form-field-flex:hover,
.dark-theme app-input-filter-autocomplete.filter-styled .mat-form-field-flex:hover,
.dark-theme app-multiline-text-input.filter-styled .mat-form-field-flex:hover {
  box-shadow: 0 0 0 1px #5a5651;
}
.dark-theme app-text-input.filter-styled .mat-input-element,
.dark-theme app-text-input.filter-styled .mat-select-value-text,
.dark-theme app-select-input.filter-styled .mat-input-element,
.dark-theme app-select-input.filter-styled .mat-select-value-text,
.dark-theme app-select-input-flag.filter-styled .mat-input-element,
.dark-theme app-select-input-flag.filter-styled .mat-select-value-text,
.dark-theme app-select-input-le.filter-styled .mat-input-element,
.dark-theme app-select-input-le.filter-styled .mat-select-value-text,
.dark-theme app-input-filter-autocomplete.filter-styled .mat-input-element,
.dark-theme app-input-filter-autocomplete.filter-styled .mat-select-value-text,
.dark-theme app-multiline-text-input.filter-styled .mat-input-element,
.dark-theme app-multiline-text-input.filter-styled .mat-select-value-text {
  color: #c4c2bd;
}
.dark-theme app-text-input.filter-styled .ti-description,
.dark-theme app-select-input.filter-styled .ti-description,
.dark-theme app-select-input-flag.filter-styled .ti-description,
.dark-theme app-select-input-le.filter-styled .ti-description,
.dark-theme app-input-filter-autocomplete.filter-styled .ti-description,
.dark-theme app-multiline-text-input.filter-styled .ti-description {
  color: rgba(255, 255, 255, 0.6);
}
.dark-theme app-text-input.filter-styled .mat-select-arrow,
.dark-theme app-select-input.filter-styled .mat-select-arrow,
.dark-theme app-select-input-flag.filter-styled .mat-select-arrow,
.dark-theme app-select-input-le.filter-styled .mat-select-arrow,
.dark-theme app-input-filter-autocomplete.filter-styled .mat-select-arrow,
.dark-theme app-multiline-text-input.filter-styled .mat-select-arrow {
  color: rgba(255, 255, 255, 0.6);
}
.dark-theme app-text-input.filter-styled.mat-focused .mat-form-field-flex,
.dark-theme app-text-input.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
.dark-theme app-select-input.filter-styled.mat-focused .mat-form-field-flex,
.dark-theme app-select-input.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
.dark-theme app-select-input-flag.filter-styled.mat-focused .mat-form-field-flex,
.dark-theme app-select-input-flag.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
.dark-theme app-select-input-le.filter-styled.mat-focused .mat-form-field-flex,
.dark-theme app-select-input-le.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
.dark-theme app-input-filter-autocomplete.filter-styled.mat-focused .mat-form-field-flex,
.dark-theme app-input-filter-autocomplete.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
.dark-theme app-multiline-text-input.filter-styled.mat-focused .mat-form-field-flex,
.dark-theme app-multiline-text-input.filter-styled .mat-form-field.mat-focused .mat-form-field-flex {
  border-color: #60a5fa;
  box-shadow: 0 0 0 1px #60a5fa;
}
.cdk-overlay-pane app-user-search .mat-form-field-subscript-wrapper {
  position: static !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.cdk-overlay-pane app-user-search .mat-hint {
  display: block;
  margin-top: 4px;
  padding: 0 4px;
  font-size: 11px;
  line-height: 1.2;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
.paperBackground {
  color: #373734;
  border-radius: 6px;
  color: #363636;
}
.paperBackground a, .paperBackground .fa-file-pdf, .paperBackground .fa-upload {
  color: #064ad9 !important;
}
.paperBackground a:hover, .paperBackground .fa-file-pdf:hover, .paperBackground .fa-upload:hover {
  color: #064ad9 !important;
}
.dark-theme .paperBackground a, .dark-theme .paperBackground .fa-file-pdf, .dark-theme .paperBackground .fa-upload {
  color: #60a5fa !important;
}
.dark-theme .paperBackground a:hover, .dark-theme .paperBackground .fa-file-pdf:hover, .dark-theme .paperBackground .fa-upload:hover {
  color: #60a5fa !important;
}
.paperBackground .submission {
  background-color: rgba(0, 0, 0, 0.1);
}
.paperBackground .review {
  background-color: rgba(0, 0, 0, 0.1);
}
.paperBackground.submission.pending, .paperBackground.submission.pending.paper-status {
  background-color: #e5e5e5 !important;
}
.paperBackground.submission.pending .mat-icon.status-icon, .paperBackground.submission.pending.paper-status .mat-icon.status-icon {
  color: #6b6b6b !important;
}
.paperBackground.submission.active, .paperBackground.submission.active.paper-status {
  background-color: #FFFF55 !important;
}
.paperBackground.submission.active .mat-icon.status-icon, .paperBackground.submission.active.paper-status .mat-icon.status-icon {
  color: #1f3a93 !important;
}
.paperBackground.submission.accepted, .paperBackground.submission.accepted.paper-status {
  background-color: #99FF99 !important;
}
.paperBackground.submission.accepted .mat-icon.status-icon, .paperBackground.submission.accepted.paper-status .mat-icon.status-icon {
  color: #1c7530 !important;
}
.paperBackground.submission.rejected, .paperBackground.submission.rejected.paper-status {
  background-color: #ffbdbd !important;
}
.paperBackground.submission.rejected .mat-icon.status-icon, .paperBackground.submission.rejected.paper-status .mat-icon.status-icon {
  color: #b3261e !important;
}
.paperBackground.submission.withdrawn, .paperBackground.submission.withdrawn.paper-status {
  background-color: #DDDDDD !important;
}
.paperBackground.submission.withdrawn .mat-icon.status-icon, .paperBackground.submission.withdrawn.paper-status .mat-icon.status-icon {
  color: #808080 !important;
}
.paperBackground.submission.ready, .paperBackground.submission.ready.paper-status {
  background-color: #6da36f !important;
}
.paperBackground.submission.ready .mat-icon.status-icon, .paperBackground.submission.ready.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.submission.not-ready, .paperBackground.submission.not-ready.paper-status {
  background-color: #f93826 !important;
}
.paperBackground.submission.not-ready .mat-icon.status-icon, .paperBackground.submission.not-ready.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.assigned, .paperBackground.review.assigned.paper-status {
  background-color: #FFFFFF !important;
}
.paperBackground.review.assigned .mat-icon.status-icon, .paperBackground.review.assigned.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.notified, .paperBackground.review.notified.paper-status {
  background-color: #94C0FB !important;
}
.paperBackground.review.notified .mat-icon.status-icon, .paperBackground.review.notified.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.confirmed, .paperBackground.review.confirmed.paper-status {
  background-color: #FFD860 !important;
}
.paperBackground.review.confirmed .mat-icon.status-icon, .paperBackground.review.confirmed.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.declined, .paperBackground.review.declined.paper-status {
  background-color: #C6C6C6 !important;
}
.paperBackground.review.declined .mat-icon.status-icon, .paperBackground.review.declined.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.reminded, .paperBackground.review.reminded.paper-status {
  background-color: #FF8FA0 !important;
}
.paperBackground.review.reminded .mat-icon.status-icon, .paperBackground.review.reminded.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.late, .paperBackground.review.late.paper-status {
  background-color: #fa5b5b !important;
}
.paperBackground.review.late .mat-icon.status-icon, .paperBackground.review.late.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.delegated, .paperBackground.review.delegated.paper-status {
  background-color: #ff89c9 !important;
}
.paperBackground.review.delegated .mat-icon.status-icon, .paperBackground.review.delegated.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.completed, .paperBackground.review.completed.paper-status {
  background-color: #63FCC8 !important;
}
.paperBackground.review.completed .mat-icon.status-icon, .paperBackground.review.completed.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.draft, .paperBackground.review.draft.paper-status {
  background-color: #AAAAAA !important;
}
.paperBackground.review.draft .mat-icon.status-icon, .paperBackground.review.draft.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.assigned.paper-status {
  background-color: white !important;
  border: 1px solid #b3b3b3 !important;
}
.paperBackground.review.assigned.paper-status .mat-icon.status-icon {
  color: #b3b3b3 !important;
}
.paperBackground.review.notified.paper-status {
  background-color: #f6faff !important;
  border: 1px solid #096aed !important;
}
.paperBackground.review.notified.paper-status .mat-icon.status-icon {
  color: #096aed !important;
}
.paperBackground.review.confirmed.paper-status {
  background-color: #fff1c6 !important;
  border: 1px solid #c69500 !important;
}
.paperBackground.review.confirmed.paper-status .mat-icon.status-icon {
  color: #c69500 !important;
}
.paperBackground.review.declined.paper-status {
  background-color: #f9f9f9 !important;
  border: 1px solid #7a7a7a !important;
}
.paperBackground.review.declined.paper-status .mat-icon.status-icon {
  color: #7a7a7a !important;
}
.paperBackground.review.reminded.paper-status {
  background-color: #fff5f7 !important;
  border: 1px solid #f50025 !important;
}
.paperBackground.review.reminded.paper-status .mat-icon.status-icon {
  color: #f50025 !important;
}
.paperBackground.review.late.paper-status {
  background-color: #fdbebe !important;
  border: 1px solid #b60606 !important;
}
.paperBackground.review.late.paper-status .mat-icon.status-icon {
  color: #b60606 !important;
}
.paperBackground.review.delegated.paper-status {
  background-color: #ffeff8 !important;
  border: 1px solid #ef0082 !important;
}
.paperBackground.review.delegated.paper-status .mat-icon.status-icon {
  color: #ef0082 !important;
}
.paperBackground.review.completed.paper-status {
  background-color: #c7feeb !important;
  border: 1px solid #04c282 !important;
}
.paperBackground.review.completed.paper-status .mat-icon.status-icon {
  color: #04c282 !important;
}
.paperBackground.review.draft.paper-status {
  background-color: #dddddd !important;
  border: 1px solid #5e5e5e !important;
}
.paperBackground.review.draft.paper-status .mat-icon.status-icon {
  color: #5e5e5e !important;
}
.paperBackground.submission.paper-status {
  border-radius: 999px !important;
}
.paperBackground.review.paper-status {
  border-radius: 3px !important;
}
.statusBackground.submission.pending.icon-status-mobile {
  background-color: #e5e5e5 !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.submission.pending.icon-status-mobile .mat-icon.icon {
  color: #6b6b6b !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.submission.pending.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.submission.active.icon-status-mobile {
  background-color: #FFFF55 !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.submission.active.icon-status-mobile .mat-icon.icon {
  color: #1f3a93 !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.submission.active.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.submission.accepted.icon-status-mobile {
  background-color: #99FF99 !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.submission.accepted.icon-status-mobile .mat-icon.icon {
  color: #1c7530 !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.submission.accepted.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.submission.rejected.icon-status-mobile {
  background-color: #ffbdbd !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.submission.rejected.icon-status-mobile .mat-icon.icon {
  color: #b3261e !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.submission.rejected.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.submission.withdrawn.icon-status-mobile {
  background-color: #DDDDDD !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.submission.withdrawn.icon-status-mobile .mat-icon.icon {
  color: #808080 !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.submission.withdrawn.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.assigned.icon-status-mobile {
  background-color: #FFFFFF !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.review.assigned.icon-status-mobile .mat-icon.icon {
  color: black !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.review.assigned.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.notified.icon-status-mobile {
  background-color: #94C0FB !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.review.notified.icon-status-mobile .mat-icon.icon {
  color: black !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.review.notified.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.confirmed.icon-status-mobile {
  background-color: #FFD860 !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.review.confirmed.icon-status-mobile .mat-icon.icon {
  color: black !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.review.confirmed.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.declined.icon-status-mobile {
  background-color: #C6C6C6 !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.review.declined.icon-status-mobile .mat-icon.icon {
  color: black !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.review.declined.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.reminded.icon-status-mobile {
  background-color: #FF8FA0 !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.review.reminded.icon-status-mobile .mat-icon.icon {
  color: black !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.review.reminded.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.late.icon-status-mobile {
  background-color: #fa5b5b !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.review.late.icon-status-mobile .mat-icon.icon {
  color: black !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.review.late.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.delegated.icon-status-mobile {
  background-color: #ff89c9 !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.review.delegated.icon-status-mobile .mat-icon.icon {
  color: black !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.review.delegated.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.completed.icon-status-mobile {
  background-color: #63FCC8 !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.review.completed.icon-status-mobile .mat-icon.icon {
  color: black !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.review.completed.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.draft.icon-status-mobile {
  background-color: #AAAAAA !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.review.draft.icon-status-mobile .mat-icon.icon {
  color: black !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.review.draft.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.assigned.icon-status-mobile {
  background-color: white !important;
  border: 1px solid #b3b3b3 !important;
}
.statusBackground.review.assigned.icon-status-mobile .mat-icon.icon {
  color: #b3b3b3 !important;
}
.statusBackground.review.notified.icon-status-mobile {
  background-color: #f6faff !important;
  border: 1px solid #096aed !important;
}
.statusBackground.review.notified.icon-status-mobile .mat-icon.icon {
  color: #096aed !important;
}
.statusBackground.review.confirmed.icon-status-mobile {
  background-color: #fff1c6 !important;
  border: 1px solid #c69500 !important;
}
.statusBackground.review.confirmed.icon-status-mobile .mat-icon.icon {
  color: #c69500 !important;
}
.statusBackground.review.declined.icon-status-mobile {
  background-color: #f9f9f9 !important;
  border: 1px solid #7a7a7a !important;
}
.statusBackground.review.declined.icon-status-mobile .mat-icon.icon {
  color: #7a7a7a !important;
}
.statusBackground.review.reminded.icon-status-mobile {
  background-color: #fff5f7 !important;
  border: 1px solid #f50025 !important;
}
.statusBackground.review.reminded.icon-status-mobile .mat-icon.icon {
  color: #f50025 !important;
}
.statusBackground.review.late.icon-status-mobile {
  background-color: #fdbebe !important;
  border: 1px solid #b60606 !important;
}
.statusBackground.review.late.icon-status-mobile .mat-icon.icon {
  color: #b60606 !important;
}
.statusBackground.review.delegated.icon-status-mobile {
  background-color: #ffeff8 !important;
  border: 1px solid #ef0082 !important;
}
.statusBackground.review.delegated.icon-status-mobile .mat-icon.icon {
  color: #ef0082 !important;
}
.statusBackground.review.completed.icon-status-mobile {
  background-color: #c7feeb !important;
  border: 1px solid #04c282 !important;
}
.statusBackground.review.completed.icon-status-mobile .mat-icon.icon {
  color: #04c282 !important;
}
.statusBackground.review.draft.icon-status-mobile {
  background-color: #dddddd !important;
  border: 1px solid #5e5e5e !important;
}
.statusBackground.review.draft.icon-status-mobile .mat-icon.icon {
  color: #5e5e5e !important;
}
.statusBackground.submission.icon-status-mobile {
  border-radius: 999px !important;
}
.statusBackground.review.icon-status-mobile {
  border-radius: 3px !important;
}
.submission-form-item p .field-title {
  font-weight: bold;
}
.submission-form-item p .field-description {
  font-style: italic;
}
.legend, .caption {
  margin: 1em 0;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.025rem;
}
.legend span, .caption span {
  padding: 0.25em;
  margin: 0 0.25em;
  min-width: 90px;
  display: inline-block;
  text-align: center;
  font-weight: 500;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
.page-notice {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 4px 0;
  text-align: left;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.5;
  color: #78716C;
}
.page-notice > .material-symbols-outlined,
.page-notice > .mat-icon {
  flex-shrink: 0;
  font-size: 18px;
  width: 18px;
  height: 18px;
  line-height: 18px;
  color: inherit;
}
.dark-theme .page-notice {
  color: #c4c2bd;
  opacity: 0.7;
}
.home .user-dashboard .main-title, .home .submissions .main-title, .home .reviews .main-title, .home .events .main-title, .home .myevents .main-title, .home .committees .main-title {
  margin-left: 0.5rem;
}
@media only screen and (max-width: 414px) {
  .home .user-dashboard .main-title, .home .submissions .main-title, .home .reviews .main-title, .home .events .main-title, .home .myevents .main-title, .home .committees .main-title {
    display: none;
  }
}
.home .user-dashboard .vspacer, .home .submissions .vspacer, .home .reviews .vspacer, .home .events .vspacer, .home .myevents .vspacer, .home .committees .vspacer {
  margin-top: 16px;
}
.home .submissions, .home .reviews {
  padding-bottom: 16px;
}
.admin .event-admin .subconferences .columns {
  margin-bottom: 0;
}
markdown h1 {
  font-size: 2rem;
}
markdown h2, markdown mat-card.admin-event mat-card-header, mat-card.admin-event markdown mat-card-header, markdown mat-card.base-card mat-card-header, mat-card.base-card markdown mat-card-header {
  font-size: 1.5rem;
}
markdown h3, markdown .card-title, markdown .section .section-title, .section markdown .section-title {
  font-size: 1.3125rem;
}
markdown h4, markdown .card-subtitle {
  font-size: 1.1875rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.main-header {
  display: inline-flex;
  flex-wrap: nowrap;
  align-content: center;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  position: relative;
}
.main-header .main-title {
  display: inline-flex;
  align-items: center;
  padding: 0;
  margin-left: 8px;
  min-height: 60px;
  flex-basis: content;
  flex-grow: 1;
  flex-shrink: 1;
  padding-top: 15px;
  padding-bottom: 15px;
}
.main-header .filterAndOptions {
  display: inline-flex;
  flex-wrap: nowrap;
  align-content: center;
  align-items: center;
  justify-content: flex-end;
  padding: 0;
  flex-basis: 0;
  flex-grow: 1;
  flex-shrink: 1;
}
@media only screen and (max-width: 414px) {
  .main-header .filterAndOptions {
    justify-content: center;
  }
}
.main-header .options {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 0 0 0.5rem;
  height: 60px;
}
.main-header .options .mat-checkbox-label {
  margin-right: 0.5rem;
  height: 100%;
  font-size: 0.75rem;
  font-weight: 600;
  white-space: nowrap;
}
.main-header .options .notify-button {
  color: red;
}
.main-header .options:has(app-custom-search) {
  flex-direction: row;
  align-items: center;
  gap: 12px;
}
.main-header .filters {
  display: inline-flex;
  align-items: center;
  height: 60px;
}
.main-header .filters button {
  margin: 0 0.5rem;
}
.main-header .filters .filterLabel {
  display: contents;
}
@media only screen and (max-width: 414px) {
  .main-header .filters .filterLabel {
    display: none;
  }
}
.main-header .action-buttons {
  display: inline-flex;
  flex-wrap: nowrap;
  align-content: center;
  align-items: center;
  justify-content: flex-end;
  height: 60px;
  padding: 0;
  flex-basis: 0;
  flex-grow: 1;
  flex-shrink: 1;
}
.main-header .action-buttons button {
  margin: 0 0.25rem;
}
@media screen and (max-width: 768px) {
  .main-header .main-title {
    min-height: 60px;
    height: auto;
  }
  .main-header .action-buttons {
    width: 100%;
    justify-content: flex-end;
  }
}
.main-body {
  padding: 0rem;
}
.main-header > .page-filter-row {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.separator {
  padding: 0;
}
.separator hr {
  background-color: #e0e0e0;
  color: #e0e0e0;
  height: 1px;
  margin: 0;
  margin-bottom: 1rem;
}
@media screen and (min-width: 1216px) {
  .separator hr {
    margin-left: calc(-1 * 1.3rem);
  }
}
@media screen and (max-width: 1216px) {
  .separator hr {
    margin-left: calc(-1 * 0.5rem);
  }
}
@media screen and (max-width: 768px) {
  .separator hr {
    margin-left: calc(-1 * 1rem);
  }
}
@media screen and (max-width: 486px) {
  .separator hr {
    margin-left: calc(-1 * 0.5rem);
  }
}
.section {
  padding: 1rem 0;
}
.section-header {
  margin-bottom: 0.5rem 0;
}
.section-body {
  padding: 0.5rem 0;
}
.section + .section,
.section + .row-md,
.row-md + .section {
  border-top-width: 1px;
  border-top-style: solid;
  margin-top: 0.3rem;
  padding-top: 1rem !important;
}
.subsection {
  padding: 1.25rem;
}
.subsection-header {
  margin-bottom: 0.5rem;
}
.subsection-body {
  padding: 0.5rem;
}
.subsubsection {
  padding: 1.5rem;
}
.home:has(.page-content app-submission-view) app-navbar .navbar {
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
}
.dark-theme .home:has(.page-content app-submission-view) app-navbar .navbar {
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.7), 0 8px 16px rgba(0, 0, 0, 0.5);
}
.sidebar.legacy-chrome-disabled:has(app-submission-view) app-event-breadcrumb .event-breadcrumb,
.sidebar.wide-mode:has(app-submission-view) app-event-breadcrumb .event-breadcrumb,
.sidebar.legacy-chrome-disabled:has(app-export-submissions) app-event-breadcrumb .event-breadcrumb,
.sidebar.wide-mode:has(app-export-submissions) app-event-breadcrumb .event-breadcrumb {
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
}
.dark-theme .sidebar.legacy-chrome-disabled:has(app-submission-view) app-event-breadcrumb .event-breadcrumb,
.dark-theme .sidebar.wide-mode:has(app-submission-view) app-event-breadcrumb .event-breadcrumb,
.dark-theme .sidebar.legacy-chrome-disabled:has(app-export-submissions) app-event-breadcrumb .event-breadcrumb,
.dark-theme .sidebar.wide-mode:has(app-export-submissions) app-event-breadcrumb .event-breadcrumb {
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.7), 0 8px 16px rgba(0, 0, 0, 0.5);
}
.sidebar.legacy-chrome-disabled:not(.wide-mode):has(app-submission-view) .experimental-sidebar,
.sidebar.legacy-chrome-disabled:not(.wide-mode):has(app-presentation-certificate) .experimental-sidebar,
.sidebar.legacy-chrome-disabled:not(.wide-mode):has(app-export-submissions) .experimental-sidebar {
  box-shadow: 6px 0 10px -1px rgba(0, 0, 0, 0.11);
  -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(var(--chrome-top-offset) + 36px), calc(100% + 24px) calc(var(--chrome-top-offset) + 36px), calc(100% + 24px) 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% calc(var(--chrome-top-offset) + 36px), calc(100% + 24px) calc(var(--chrome-top-offset) + 36px), calc(100% + 24px) 100%, 0 100%);
}
.mat-sidenav-content:has(app-event-publication) {
  --canvas-padding-bottom: 1px;
}
.page-content:has(app-submission-view) {
  padding-left: 0 !important;
  padding-right: 0 !important;
  background-color: #EEECEB;
}
mat-sidenav-content:has(app-submission-view) {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
}
.sidebar:has(app-submission-view) .mat-sidenav-content,
.sidebar:has(app-submission-view) .mat-drawer-container,
.sidebar:has(app-export-submissions) .mat-sidenav-content,
.sidebar:has(app-export-submissions) .mat-drawer-container,
.sidebar:has(app-export-submissions) .mat-sidenav-container {
  background-color: #EEECEB !important;
}
html:has(body.light-theme):has(app-export-submissions) {
  background-color: #EEECEB;
}
html:has(body.dark-theme):has(app-export-submissions) {
  background-color: black;
}
.sidebar:has(app-submission-view) .mat-drawer-container,
.sidebar:has(app-submission-view) .mat-drawer-content {
  overflow: visible !important;
}
html:has(app-submission-view) {
  overflow-anchor: none;
}
.sidebar:has(app-calendar-view) .mat-drawer-container,
.sidebar:has(app-calendar-view) .mat-drawer-content {
  overflow: visible !important;
}
.sidebar:has(app-event-program) .mat-sidenav-content,
.sidebar:has(app-event-program) .mat-drawer-container,
.dark-theme .sidebar:has(app-event-program) .mat-sidenav-content,
.dark-theme .sidebar:has(app-event-program) .mat-drawer-container {
  background-color: var(--program-paper, #ffffff) !important;
}
html:has(body.light-theme):has(app-event-program),
html:has(body.dark-theme):has(app-event-program) {
  background-color: var(--program-paper, #ffffff);
}
.dark-theme .page-content:has(app-submission-view) {
  background-color: black;
}
.dark-theme .sidebar:has(app-submission-view) .mat-sidenav-content,
.dark-theme .sidebar:has(app-submission-view) .mat-drawer-container,
.dark-theme .sidebar:has(app-export-submissions) .mat-sidenav-content,
.dark-theme .sidebar:has(app-export-submissions) .mat-drawer-container,
.dark-theme .sidebar:has(app-export-submissions) .mat-sidenav-container {
  background-color: black !important;
}
html:has(body.light-theme):has(app-submission-view) {
  background-color: #EEECEB;
}
html:has(body.dark-theme):has(app-submission-view) {
  background-color: black;
}
app-home .home .page-content:has(app-presentation-certificate) {
  padding-left: 0 !important;
  padding-right: 0 !important;
  background-color: #EEECEB !important;
}
app-home .home:has(app-presentation-certificate) {
  background-color: #EEECEB !important;
}
mat-sidenav-content:has(app-presentation-certificate) {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
}
.sidebar:has(app-presentation-certificate) .mat-sidenav-content,
.sidebar:has(app-presentation-certificate) .mat-drawer-container {
  background-color: #EEECEB !important;
}
.page-content:has(app-presentation-certificate),
.sidebar:has(app-presentation-certificate) .mat-drawer-container,
.sidebar:has(app-presentation-certificate) .mat-drawer-content {
  overflow: visible !important;
}
[scroll=no]:has(app-presentation-certificate) {
  overflow: visible !important;
}
.dark-theme app-home .home .page-content:has(app-presentation-certificate) {
  background-color: black !important;
}
.dark-theme app-home .home:has(app-presentation-certificate) {
  background-color: black !important;
}
.dark-theme .sidebar:has(app-presentation-certificate) .mat-sidenav-content,
.dark-theme .sidebar:has(app-presentation-certificate) .mat-drawer-container {
  background-color: black !important;
}
html:has(body.light-theme):has(app-presentation-certificate) {
  background-color: #EEECEB;
}
html:has(body.dark-theme):has(app-presentation-certificate) {
  background-color: black;
}
.home:has(.page-content app-presentation-certificate) app-navbar .navbar {
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
  border-bottom-color: transparent !important;
}
.dark-theme .home:has(.page-content app-presentation-certificate) app-navbar .navbar {
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.7), 0 8px 16px rgba(0, 0, 0, 0.5);
}
.sidebar.legacy-chrome-disabled:has(app-presentation-certificate) app-event-breadcrumb .event-breadcrumb,
.sidebar.wide-mode:has(app-presentation-certificate) app-event-breadcrumb .event-breadcrumb {
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
}
.dark-theme .sidebar.legacy-chrome-disabled:has(app-presentation-certificate) app-event-breadcrumb .event-breadcrumb,
.dark-theme .sidebar.wide-mode:has(app-presentation-certificate) app-event-breadcrumb .event-breadcrumb {
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.7), 0 8px 16px rgba(0, 0, 0, 0.5);
}
html[data-device=mobile-portrait] body {
  padding-bottom: calc(64px + env(safe-area-inset-bottom, 0));
}
html[data-device=mobile-portrait] app-navbar .navbar {
  top: var(--chrome-top-offset);
  bottom: auto;
  height: 48px;
  align-items: center;
  padding: 0 8px;
  border-top: none;
  border-bottom: 1px solid transparent;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items {
  position: fixed !important;
  bottom: -1px !important;
  left: 0 !important;
  right: 0 !important;
  height: 64px !important;
  padding: 0;
  padding-bottom: env(safe-area-inset-bottom, 0);
  display: flex;
  justify-content: stretch;
  align-items: stretch;
  gap: 0 !important;
  background-color: #f9f8f7 !important;
  border-top: 1px solid #E7E5E4;
  z-index: 30;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .navbar-items-underline {
  -webkit-clip-path: polygon(2px 0, calc(100% - 2px) 0, 100% 100%, 0 100%) !important;
          clip-path: polygon(2px 0, calc(100% - 2px) 0, 100% 100%, 0 100%) !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items app-sidebar-item {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button {
  width: 100%;
  height: 100%;
  margin: 0 !important;
  padding: 6px 4px !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button::before,
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button::after {
  display: none !important;
}
html[data-device=mobile-portrait] body.dark-theme app-navbar .navbar .navbar-items {
  border-top-color: #3a3937;
}
html[data-device=mobile-portrait] app-navbar .navbar a.logo {
  display: inline-flex !important;
  width: auto !important;
  margin: 0 8px 0 4px !important;
  padding: 0;
}
html[data-device=mobile-portrait] app-navbar .navbar a.logo img {
  display: block !important;
  height: 22px !important;
}
html[data-device=mobile-portrait] app-navbar .navbar a.logo picture {
  display: inline-flex !important;
  width: auto !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .spacer {
  display: none;
}
html[data-device=mobile-portrait] app-navbar .navbar .right-navbar-container {
  margin-left: auto;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button {
  position: relative;
  justify-content: flex-start !important;
  padding-top: 6px !important;
  transition: background-color 120ms ease-out;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button:active {
  background-color: rgba(0, 0, 0, 0.05) !important;
  transition-duration: 40ms;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button .sidebar-item-badge {
  min-width: 14px !important;
  height: 14px !important;
  padding: 1px 4px 0 !important;
  border-radius: 7px !important;
  font-size: 9px !important;
  line-height: 12px !important;
  border: none !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button .sidebar-item-badges {
  transform: translate(-4px, 0) !important;
  z-index: 100 !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button .sidebar-item-badge {
  z-index: 100 !important;
  position: relative;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items app-sidebar-item {
  z-index: auto !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button .mat-icon {
  box-sizing: content-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
  width: 22px !important;
  height: 22px !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 5px 15px;
  border-radius: 6px;
  background: transparent;
  border: 1px solid #E7E5E4;
  opacity: 1;
  font-variation-settings: "FILL" 1, "wght" 400, "opsz" 24 !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button .label-short {
  font-size: 11px !important;
  line-height: 1.2 !important;
  margin-top: 3px !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button.selected.selected {
  background: transparent !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button.selected.selected .mat-icon {
  opacity: 1;
}
html[data-device=mobile-portrait] body.dark-theme app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button .mat-icon {
  border-color: #3a3937;
}
html[data-device=mobile-portrait] body.dark-theme app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button:active {
  background-color: rgba(255, 255, 255, 0.05) !important;
}
html[data-device=mobile-portrait] app-navbar .navbar {
  padding-top: env(safe-area-inset-top, 0) !important;
  height: calc(48px + env(safe-area-inset-top, 0)) !important;
  background: transparent !important;
  border-bottom: none !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items {
  border-top: none !important;
  box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.06), 0 -3px 10px rgba(0, 0, 0, 0.04);
}
html[data-device=mobile-portrait] app-navbar .navbar a.logo,
html[data-device=mobile-portrait] app-navbar .navbar .spacer,
html[data-device=mobile-portrait] app-navbar .navbar .right-navbar-container .command-palette-trigger,
html[data-device=mobile-portrait] app-navbar .navbar .right-navbar-container .support-help-button,
html[data-device=mobile-portrait] app-navbar .navbar .right-navbar-container app-user-notifications {
  display: none !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .right-navbar-container {
  display: none !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items {
  padding-left: 4px;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .mobile-user-menu-slot {
  display: inline-flex !important;
  align-items: flex-start;
  justify-content: center;
  padding-top: 0;
  flex: 0 0 56px;
  min-width: 0;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .mobile-user-menu-slot .user-menu-button {
  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  margin-top: -14px !important;
  line-height: 36px !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .mobile-user-menu-slot .user-menu-photo {
  width: 36px !important;
  height: 36px !important;
  border-radius: 6px !important;
  -o-object-fit: cover;
     object-fit: cover;
}
html[data-device=mobile-portrait] .page-content {
  padding-left: 12px !important;
  padding-right: 12px !important;
  z-index: auto !important;
  top: 0 !important;
  padding-bottom: 0 !important;
}
html[data-device=mobile-portrait] .main-header.main-header.main-header.main-header.main-header.main-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: calc(48px + env(safe-area-inset-top, 0)) !important;
  min-height: 48px !important;
  padding: env(safe-area-inset-top, 0) 12px 0 !important;
  display: flex !important;
  grid-template-columns: none !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  z-index: calc(31 + 1) !important;
  overflow: visible;
}
html[data-device=mobile-portrait] .main-header.main-header::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: auto !important;
  height: auto !important;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%) !important;
  pointer-events: none;
  -webkit-backdrop-filter: blur(3px) saturate(115%);
  backdrop-filter: blur(3px) saturate(115%);
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, transparent 100%);
}
html[data-device=mobile-portrait] .main-header.main-header.is-scrolled {
  box-shadow: none !important;
  border-bottom: none !important;
}
html[data-device=mobile-portrait] .main-header.main-header .main-title,
html[data-device=mobile-portrait] .main-header.main-header .page-actions {
  display: none !important;
}
html[data-device=mobile-portrait] .main-header.main-header .page-search-filter {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px;
}
html[data-device=mobile-portrait] .main-header.main-header .page-search-filter app-custom-search {
  flex: 0 0 auto !important;
  width: auto !important;
  display: inline-block !important;
}
html[data-device=mobile-portrait] app-custom-search .shortcut-hint {
  display: none !important;
}
html[data-device=mobile-portrait] app-custom-search .chip-expanded,
html[data-device=mobile-portrait] app-custom-search .chip-trigger {
  border-radius: 999px !important;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.14), 0 1px 3px rgba(0, 0, 0, 0.16) !important;
}
html[data-device=mobile-portrait] .chair-header-icon-button--filter {
  background-color: white !important;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.14), 0 1px 3px rgba(0, 0, 0, 0.16) !important;
}
html[data-device=mobile-portrait] .main-body {
  padding-top: calc(48px + env(safe-area-inset-top, 0)) !important;
  padding-bottom: calc(64px + env(safe-area-inset-bottom, 0)) !important;
}
body.dark-theme[data-device=mobile-portrait] app-navbar .navbar .navbar-items,
html[data-device=mobile-portrait] body.dark-theme app-navbar .navbar .navbar-items {
  background-color: #202020 !important;
  box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.5), 0 -6px 14px rgba(0, 0, 0, 0.35) !important;
}
body.dark-theme[data-device=mobile-portrait] app-navbar .navbar,
html[data-device=mobile-portrait] body.dark-theme app-navbar .navbar {
  background: transparent !important;
  border-bottom: none !important;
}
body.dark-theme[data-device=mobile-portrait] .chair-header-icon-button--filter,
html[data-device=mobile-portrait] body.dark-theme .chair-header-icon-button--filter {
  background-color: black !important;
}
body.dark-theme[data-device=mobile-portrait] .main-header.main-header::before,
html[data-device=mobile-portrait] body.dark-theme .main-header.main-header::before {
  background: linear-gradient(to bottom, rgba(32, 32, 32, 0.5) 0%, rgba(32, 32, 32, 0) 100%) !important;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate {
  transform: none !important;
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: 92vh !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  touch-action: none !important;
  background: #f9f8f7;
  border-radius: 20px 20px 0 0 !important;
  padding-top: 18px !important;
  padding-bottom: calc(env(safe-area-inset-bottom, 0) + 12px) !important;
  box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.18) !important;
  -webkit-animation: mobile-user-sheet-in 240ms cubic-bezier(0.2, 0.8, 0.2, 1);
          animation: mobile-user-sheet-in 240ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
  width: 36px;
  height: 4px;
  border-radius: 3px;
  background: #D6D3D1;
  pointer-events: none;
}
body.dark-theme[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate::before,
html[data-device=mobile-portrait] body.dark-theme .jems-popover-panel.mobile-user-sheet-candidate::before {
  background: #5a5651;
}
body.dark-theme[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate,
html[data-device=mobile-portrait] body.dark-theme .jems-popover-panel.mobile-user-sheet-candidate {
  background: #202020;
}
html[data-device=mobile-portrait] body:has(.mobile-user-sheet-candidate) .jems-popover-backdrop {
  background: rgba(20, 20, 20, 0.42) !important;
  -webkit-animation: mobile-user-scrim-in 240ms ease-out;
          animation: mobile-user-scrim-in 240ms ease-out;
}
@-webkit-keyframes mobile-user-sheet-in {
  from {
    transform: translateY(100%) !important;
  }
  to {
    transform: none !important;
  }
}
@keyframes mobile-user-sheet-in {
  from {
    transform: translateY(100%) !important;
  }
  to {
    transform: none !important;
  }
}
@-webkit-keyframes mobile-user-scrim-in {
  from {
    background: rgba(20, 20, 20, 0);
  }
  to {
    background: rgba(20, 20, 20, 0.42);
  }
}
@keyframes mobile-user-scrim-in {
  from {
    background: rgba(20, 20, 20, 0);
  }
  to {
    background: rgba(20, 20, 20, 0.42);
  }
}
html[data-device=mobile-portrait]:has(.mobile-user-sheet-candidate),
html[data-device=mobile-portrait]:has(.mobile-user-sheet-candidate) body {
  overflow: hidden !important;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
  touch-action: none;
}
body .mobile-only-menu-item.mobile-only-menu-item.mobile-only-menu-item {
  display: none !important;
}
html[data-device=mobile-portrait] body .mobile-only-menu-item.mobile-only-menu-item.mobile-only-menu-item {
  display: flex !important;
}
html[data-device=mobile-portrait] body .desktop-only-menu-item.desktop-only-menu-item.desktop-only-menu-item {
  display: none !important;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-quick-actions {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  padding: 8px 0 !important;
  gap: 4px !important;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-quick-actions-btn {
  margin: 0 !important;
  padding: 0 !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 32px !important;
  min-height: 32px !important;
  line-height: 32px !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent;
  border: none;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-quick-actions-btn .mat-icon {
  margin: 0 !important;
  font-size: 22px !important;
  width: 22px !important;
  height: 22px !important;
  line-height: 22px !important;
  font-variation-settings: "opsz" 20, "wght" 300, "FILL" 0;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-quick-actions-flag .flag {
  font-size: 20px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-quick-actions-divider {
  display: inline-block;
  width: 1px;
  height: 20px;
  margin: 0 6px;
  background: #E7E5E4;
}
body.dark-theme[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-quick-actions-divider,
html[data-device=mobile-portrait] body.dark-theme .jems-popover-panel.mobile-user-sheet-candidate .mobile-quick-actions-divider {
  background: #3a3937;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .tpc-user-menu {
  filter: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  touch-action: pan-y !important;
  min-height: 0 !important;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head {
  display: flex !important;
  align-items: center;
  gap: 12px;
  padding: 14px 20px 12px;
  border-bottom: 1px solid #E7E5E4;
  touch-action: none;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-avatar {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border-radius: 6px;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #E7E5E4;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.25;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-name {
  font-size: 14px;
  font-weight: 600;
  color: #363636;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-mail {
  font-size: 12px;
  color: #373734;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-id {
  font-size: 11px;
  color: rgba(0, 0, 0, 0.5);
  margin-top: 2px;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-section-label {
  display: block !important;
  padding: 14px 20px 4px !important;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.5);
  background: transparent !important;
  cursor: default;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-destructive-item {
  color: #d64550 !important;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-destructive-item .mat-icon {
  color: #d64550 !important;
}
html[data-device=mobile-portrait] body.dark-theme .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head,
body.dark-theme[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head {
  border-bottom-color: #3a3937;
}
html[data-device=mobile-portrait] body.dark-theme .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-avatar,
body.dark-theme[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-avatar {
  background: #3a3937;
}
html[data-device=mobile-portrait] body.dark-theme .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-name,
body.dark-theme[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-name {
  color: #F6F6F6;
}
html[data-device=mobile-portrait] body.dark-theme .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-mail,
body.dark-theme[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-mail {
  color: #c4c2bd;
}
html[data-device=mobile-portrait] body.dark-theme .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-id,
body.dark-theme[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-id {
  color: rgba(255, 255, 255, 0.5);
}
html[data-device=mobile-portrait] body.dark-theme .jems-popover-panel.mobile-user-sheet-candidate .mobile-section-label,
body.dark-theme[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-section-label {
  color: rgba(255, 255, 255, 0.5);
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .tpc-user-menu {
  display: flex;
  flex-direction: column;
  padding: 4px 0;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mat-menu-item, html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate [mat-menu-item] {
  height: 46px !important;
  line-height: 46px !important;
  font-size: 14px !important;
  padding: 0 20px !important;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mat-menu-item .mat-icon,
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate [mat-menu-item] .mat-icon {
  margin-right: 14px !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.is-nav-visible {
  display: none !important;
}
body.export-submissions-active .mat-sidenav-content {
  padding: 0 !important;
}
body:has(.sidebar.legacy-chrome-disabled:not(.wide-mode)) {
  --content-left-offset: var(--experimental-sidebar-width, 240px);
}
body:has(.sidebar.wide-mode) {
  --content-left-offset: 0px;
  --breadcrumb-reserved-height: 0px;
}
body:has(.sidebar:not(.legacy-chrome-disabled):not(.wide-mode)) {
  --content-left-offset: var(--admin-submenu-width, 165px);
  --breadcrumb-reserved-height: calc(26px + 55px);
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.empty-page-panel {
  max-width: 560px;
  margin: 3rem auto;
  padding: 2.5rem 2.5rem 2rem;
  background: transparent;
  border: 1px dashed #E7E5E4;
  border-radius: 8px;
  text-align: center;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  color: #373734;
}
body.dark-theme .empty-page-panel {
  border-color: #3a3937;
  color: #c4c2bd;
}
.empty-page-title {
  margin: 0 0 0.75rem;
  font-size: 1.0625rem;
  font-weight: 500;
  color: #373734;
  letter-spacing: -0.005em;
  line-height: 1.3;
}
body.dark-theme .empty-page-title {
  color: #c4c2bd;
}
.empty-page-message {
  margin: 0;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  color: #78716C;
}
.is-invisible {
  visibility: hidden;
  pointer-events: none;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.jems3-native-input {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 26px;
  padding: 0 10px;
  border: 1px solid #D6D3D1;
  border-radius: 6px;
  background-color: white;
  color: #373734;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 13px;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.2;
  outline: none;
  transition: border-color 100ms ease-out, box-shadow 100ms ease-out;
}
.jems3-native-input.jems3-native-input--textarea {
  height: auto;
  min-height: calc(26px * 3);
  padding: 6px 10px;
  resize: vertical;
  line-height: 1.4;
}
.jems3-native-input::-moz-placeholder {
  color: rgba(0, 0, 0, 0.35);
}
.jems3-native-input:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.35);
}
.jems3-native-input::placeholder {
  color: rgba(0, 0, 0, 0.35);
}
.jems3-native-input:hover:not(:disabled):not(:focus):not([aria-invalid=true]) {
  box-shadow: 0 0 0 1px #D6D3D1;
}
.jems3-native-input:focus {
  border-color: #064ad9;
  box-shadow: 0 0 0 1px #064ad9;
}
.jems3-native-input:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.jems3-native-input[aria-invalid=true] {
  border-color: #e91414;
}
.jems3-native-input-label {
  display: block;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 12px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.55);
  margin-bottom: 4px;
  letter-spacing: 0;
}
.jems3-native-input-label .required-mark {
  color: #e91414;
  margin-left: 2px;
  font-weight: 500;
}
.jems3-native-input-error {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  font-weight: 400;
  color: #e91414;
  line-height: 1.3;
  min-height: 1em;
}
.jems3-native-input-labelrow {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}
.jems3-native-input-labelrow .jems3-native-input-label {
  margin-bottom: 4px;
}
.jems3-native-input-labelrow .jems3-native-input-error {
  margin-top: 0;
  text-align: right;
}
body.dark-theme .jems3-native-input {
  color: #c4c2bd;
  background-color: black;
  border-color: #3a3937;
}
body.dark-theme .jems3-native-input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.35);
}
body.dark-theme .jems3-native-input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.35);
}
body.dark-theme .jems3-native-input::placeholder {
  color: rgba(255, 255, 255, 0.35);
}
body.dark-theme .jems3-native-input:hover:not(:disabled):not(:focus):not([aria-invalid=true]) {
  box-shadow: 0 0 0 1px #5a5651;
}
body.dark-theme .jems3-native-input:focus {
  border-color: #60a5fa;
  box-shadow: 0 0 0 1px #60a5fa;
}
body.dark-theme .jems3-native-input[aria-invalid=true] {
  border-color: #FF6B6B;
}
body.dark-theme .jems3-native-input-label {
  color: rgba(255, 255, 255, 0.6);
}
body.dark-theme .jems3-native-input-error {
  color: #FF6B6B;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.jems3-native-button {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 96px;
  height: 26px;
  padding: 0 16px;
  border-radius: 6px;
  border: 1px solid transparent;
  background-color: transparent;
  color: #373734;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
  cursor: pointer;
  text-decoration: none;
  outline: none;
}
.jems3-native-button:focus-visible {
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.15);
}
.jems3-native-button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.jems3-native-button.jems3-native-button--primary {
  background-color: #064ad9;
  color: #fff;
  border-color: #064ad9;
}
.jems3-native-button.jems3-native-button--primary:hover:not(:disabled) {
  filter: brightness(0.94);
}
.jems3-native-button.jems3-native-button--primary:active:not(:disabled) {
  filter: brightness(0.88);
}
body.dark-theme .jems3-native-button.jems3-native-button--primary {
  background-color: #60a5fa;
  color: #0a1a2e;
  border-color: #60a5fa;
}
.jems3-native-button.jems3-native-button--secondary {
  border-color: #D6D3D1;
  color: #373734;
}
.jems3-native-button.jems3-native-button--secondary:hover:not(:disabled) {
  background-color: rgba(0, 0, 0, 0.04);
}
body.dark-theme .jems3-native-button.jems3-native-button--secondary {
  border-color: #5a5651;
  color: #c4c2bd;
}
body.dark-theme .jems3-native-button.jems3-native-button--secondary:hover:not(:disabled) {
  background-color: rgba(255, 255, 255, 0.06);
}
.jems3-native-button.jems3-native-button--danger {
  background-color: #e91414;
  color: #fff;
  border-color: #e91414;
}
.jems3-native-button.jems3-native-button--danger:hover:not(:disabled) {
  filter: brightness(0.94);
}
.jems3-native-button.jems3-native-button--danger:active:not(:disabled) {
  filter: brightness(0.88);
}
body.dark-theme .jems3-native-button.jems3-native-button--danger {
  background-color: #FF6B6B;
  color: #2a0a0a;
  border-color: #FF6B6B;
}
.jems3-native-button.jems3-native-button--block {
  width: 100%;
}
.small-table {
  width: 100%;
}
.small-table .mat-header-row {
  height: 28px;
}
.small-table .mat-header-row .mat-header-cell:first-of-type {
  padding-left: 0.5rem;
}
.small-table .mat-header-row .mat-header-cell:last-of-type {
  padding-right: 0.5rem;
}
.small-table .mat-header-row th {
  vertical-align: middle;
  padding: 0.5rem;
}
.small-table .mat-header-row .mat-column-status, .small-table .mat-header-row .mat-column-event, .small-table .mat-header-row .mat-column-trackFileName, .small-table .mat-header-row .mat-column-deadline, .small-table .mat-header-row .mat-column-button {
  text-align: center;
}
.small-table .mat-header-row .mat-column-status {
  width: 55px;
}
.small-table .mat-header-row .mat-column-event {
  width: 115px;
  min-width: 85px;
}
.small-table .mat-header-row .mat-column-deadline {
  width: 125px;
  min-width: 120px;
}
.small-table .mat-header-row .mat-column-button {
  width: 220px;
}
.small-table .mat-row .mat-cell:first-of-type {
  padding-left: 0.5rem;
}
.small-table .mat-row .mat-cell:last-of-type {
  padding-right: 0.5rem;
}
.small-table .mat-row td {
  vertical-align: middle;
  padding: 0.5rem;
}
.small-table .mat-row .mat-column-status, .small-table .mat-row .mat-column-event, .small-table .mat-row .mat-column-trackFileName, .small-table .mat-row .mat-column-deadline, .small-table .mat-row .mat-column-button {
  text-align: center;
}
.small-table .mat-row td.mat-column-status {
  width: 55px;
}
.small-table .mat-row td.mat-column-event {
  width: 115px;
  min-width: 85px;
}
.small-table .mat-row td.mat-column-deadline {
  width: 125px;
  min-width: 120px;
}
.small-table .mat-row td.mat-column-button {
  width: 220px;
}
.small-table tr.upcoming .mat-column-deadline {
  background-color: RGBA(255, 165, 0, 0.5);
}
.small-table tr.late .mat-column-deadline {
  background-color: RGBA(165, 42, 42, 0.5);
}
.small-table.legend .upcoming {
  background-color: RGBA(255, 165, 0, 0.5);
}
.small-table.legend .late {
  background-color: RGBA(165, 42, 42, 0.5);
}
table.simple-table {
  width: 100%;
}
table.simple-table th {
  font-weight: 600;
}
table.simple-table th, table.simple-table td {
  vertical-align: middle;
  border: 1px solid white;
  font-size: 0.875rem;
  height: 30px;
  padding: 0 0.5rem;
}
table.simple-table th.mat-header-cell:first-of-type, table.simple-table th.mat-cell:first-of-type, table.simple-table th.mat-header-cell:last-of-type, table.simple-table th.mat-cell:last-of-type, table.simple-table td.mat-header-cell:first-of-type, table.simple-table td.mat-cell:first-of-type, table.simple-table td.mat-header-cell:last-of-type, table.simple-table td.mat-cell:last-of-type {
  padding: 0 0.5rem;
}
table.simple-table th .content-button, table.simple-table td .content-button {
  display: inline-flex;
  flex-direction: row;
  vertical-align: middle;
  align-items: center;
  flex-wrap: wrap;
}
table.simple-table th .content-button span, table.simple-table td .content-button span {
  padding-right: 0.25rem;
}
table.simple-table th .content-button.justify-center, table.simple-table td .content-button.justify-center {
  justify-content: center;
}
table.simple-table th:first-child, table.simple-table td:first-child {
  border-left-style: none;
}
table.simple-table th:last-child, table.simple-table td:last-child {
  border-right-style: none;
}
table.simple-table tr {
  height: 30px;
}
table.simple-table tfoot td {
  border-right-style: none;
  border-left-style: none;
  border-bottom-style: none;
}
table.simple-table tfoot td button {
  margin: 0.5rem;
}
table.simple-table .flexed {
  width: 100%;
  vertical-align: middle;
  display: inline-flex;
  align-content: center;
  justify-content: center;
  align-items: center;
}
table.simple-table .flexed mat-icon {
  display: flex;
  align-content: center;
  justify-content: center;
  align-items: center;
}
table.simple-table .no-line {
  border-right-style: none;
  border-bottom-style: none;
}
table.simple-table .no-right-line {
  border-right-style: none;
}
table.simple-table .no-bottom-line {
  border-bottom-style: none;
}
table.simple-table .no-padding {
  padding: 0;
}
table.simple-table .mat-icon-button {
  width: 25px;
  height: 25px;
  line-height: normal;
  display: inline-flex;
  flex-direction: row;
  vertical-align: middle;
}
table.simple-table .mat-icon-button a {
  color: black;
}
table.simple-table .mat-button-wrapper {
  display: inline-flex;
  flex-direction: row;
  vertical-align: middle;
  align-items: center;
}
table.simple-table .mat-button-wrapper .mat-icon {
  display: flex;
  align-content: center;
  justify-content: center;
  align-items: center;
}
table.highlight-table {
  max-width: 100%;
  white-space: nowrap;
  border-collapse: separate;
  border-spacing: 0px 1px !important;
}
table.highlight-table th, table.highlight-table td {
  text-align: center;
  vertical-align: middle;
  border-right: 1px solid;
  padding: 0 0.5em !important;
}
table.highlight-table th {
  font-size: 0.875rem;
  font-weight: 600;
  padding-top: 0;
  border: none !important;
}
table.highlight-table tbody > tr, table.highlight-table tfoot > tr {
  background-color: #ededed;
}
table.highlight-table th:last-child {
  font-size: 0.8125rem;
}
table.highlight-table th:last-child .mat-icon {
  font-size: 0.875rem;
  vertical-align: baseline;
}
table.highlight-table td:first-child, table.highlight-table td:last-child {
  font-size: 0.75rem;
  border: none !important;
}
table.highlight-table td:first-child {
  padding-right: 12px !important;
}
table.highlight-table td:nth-child(2) {
  border-left: 2px solid transparent;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}
table.highlight-table td:nth-last-child(2) {
  border-right: 2px solid transparent;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}
table.highlight-table tr:hover td {
  border-top: 2px solid;
  border-bottom: 2px solid;
}
table.highlight-table tr:hover td:first-child, table.highlight-table tr:hover td:last-child {
  border: none !important;
}
table.highlight-table tr:hover td:nth-child(2) {
  border-left: 2px solid;
}
table.highlight-table tr:hover td:nth-last-child(2) {
  border-right: 2px solid;
}
table.highlight-table tr:hover td.mat-footer-cell {
  border: none !important;
}
table.highlight-table tfoot td {
  border: none !important;
}
table .mat-sort-header-container {
  justify-content: center !important;
}
.mat-sort-header {
  pointer-events: none;
}
.mat-sort-header .mat-sort-header-container {
  pointer-events: none;
}
.mat-sort-header .mat-sort-header-content,
.mat-sort-header .mat-sort-header-arrow {
  pointer-events: auto;
  cursor: pointer;
}
table.jems3-table {
  width: 100%;
  background-color: transparent !important;
  border-collapse: separate;
  border-spacing: 1px 1px !important;
}
table.jems3-table tr.mat-header-row,
table.jems3-table tr.mat-row {
  height: auto !important;
}
table.jems3-table th,
table.jems3-table th.mat-header-cell {
  background-color: transparent !important;
  border: none;
  font-size: 12px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  padding: 2px 0.5rem;
  vertical-align: bottom;
  color: rgba(0, 0, 0, 0.541) !important;
  text-align: center;
}
table.jems3-table td,
table.jems3-table td.mat-cell {
  background-color: #F1F0EF;
  border: none;
  padding: 2px 8.5px;
  font-size: 13px;
  font-weight: 400;
  color: #373734;
  vertical-align: middle;
}
table.jems3-table td:first-of-type,
table.jems3-table td.mat-cell:first-of-type {
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}
table.jems3-table td:last-of-type,
table.jems3-table td.mat-cell:last-of-type {
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}
table.jems3-table th.jems3-table-numbering,
table.jems3-table td.jems3-table-numbering,
table.jems3-table th.jems3-table-numbering.mat-header-cell,
table.jems3-table td.jems3-table-numbering.mat-cell {
  background-color: transparent !important;
  border-radius: 0 !important;
  width: 2.5em;
  min-width: 30px;
  padding-left: 0;
  padding-right: 0.5rem;
  text-align: right;
  font-size: 12px;
  font-weight: 430;
  color: #373734;
}
table.jems3-table td.jems3-table-numbering + td,
table.jems3-table td.jems3-table-numbering + td.mat-cell {
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}
.dark-theme table.jems3-table th.jems3-table-numbering,
.dark-theme table.jems3-table td.jems3-table-numbering,
.dark-theme table.jems3-table th.jems3-table-numbering.mat-header-cell,
.dark-theme table.jems3-table td.jems3-table-numbering.mat-cell {
  color: #c4c2bd;
}
table.jems3-table-hover {
  border-spacing: 0 1px !important;
}
table.jems3-table-hover tbody tr,
table.jems3-table-hover tr.mat-row {
  cursor: pointer;
}
table.jems3-table-hover td:not(.jems3-table-numbering) {
  position: relative;
}
table.jems3-table-hover td:not(.jems3-table-numbering)::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-sizing: border-box;
  border-radius: inherit;
  border-top: 2px solid transparent;
  border-bottom: 2px solid transparent;
}
table.jems3-table-hover td:not(.jems3-table-numbering):not(:last-of-type)::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 1px;
  background-color: #f9f8f7;
  pointer-events: none;
}
table.jems3-table-hover td:first-of-type:not(.jems3-table-numbering)::after,
table.jems3-table-hover td.jems3-table-numbering + td::after {
  border-left: 2px solid transparent;
}
table.jems3-table-hover td:last-of-type:not(.jems3-table-numbering)::after {
  border-right: 2px solid transparent;
}
table.jems3-table-hover tbody tr:hover td:not(.jems3-table-numbering)::after,
table.jems3-table-hover tr.mat-row:hover td:not(.jems3-table-numbering)::after {
  border-top-color: rgba(0, 0, 0, 0.25);
  border-bottom-color: rgba(0, 0, 0, 0.25);
}
table.jems3-table-hover tbody tr:hover td:first-of-type:not(.jems3-table-numbering)::after,
table.jems3-table-hover tbody tr:hover td.jems3-table-numbering + td::after,
table.jems3-table-hover tr.mat-row:hover td:first-of-type:not(.jems3-table-numbering)::after,
table.jems3-table-hover tr.mat-row:hover td.jems3-table-numbering + td::after {
  border-left-color: rgba(0, 0, 0, 0.25);
}
table.jems3-table-hover tbody tr:hover td:last-of-type:not(.jems3-table-numbering)::after,
table.jems3-table-hover tr.mat-row:hover td:last-of-type:not(.jems3-table-numbering)::after {
  border-right-color: rgba(0, 0, 0, 0.25);
}
table.jems3-table-hover:not(.jems3-table-selectable) tbody tr:hover td:not(.jems3-table-numbering),
table.jems3-table-hover:not(.jems3-table-selectable) tr.mat-row:hover td:not(.jems3-table-numbering) {
  background-image: linear-gradient(rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.04)) !important;
}
table.jems3-table-hover.jems3-table-selectable tbody tr:hover td:not(.jems3-table-numbering):not(:last-of-type),
table.jems3-table-hover.jems3-table-selectable tr.mat-row:hover td:not(.jems3-table-numbering):not(:last-of-type) {
  background-image: linear-gradient(rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.04)) !important;
}
table.jems3-table-selectable th:last-of-type,
table.jems3-table-selectable th.mat-header-cell:last-of-type,
table.jems3-table-selectable td:last-of-type,
table.jems3-table-selectable td:last-of-type {
  background-color: transparent !important;
  border-radius: 0 !important;
  text-align: center;
  width: 2.5em;
  min-width: 30px;
  padding-left: 0.5rem;
  padding-right: 0;
}
table.jems3-table-selectable th:last-of-type .mat-checkbox-inner-container,
table.jems3-table-selectable th.mat-header-cell:last-of-type .mat-checkbox-inner-container,
table.jems3-table-selectable td:last-of-type .mat-checkbox-inner-container,
table.jems3-table-selectable td:last-of-type .mat-checkbox-inner-container {
  transform: scale(0.8);
  margin-right: 0;
}
table.jems3-table-selectable td:nth-last-of-type(2),
table.jems3-table-selectable td:nth-last-of-type(2) {
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}
table.jems3-table-selectable tbody tr.is-selected td:not(.jems3-table-numbering):not(:last-of-type)::after,
table.jems3-table-selectable tbody tr.selected td:not(.jems3-table-numbering):not(:last-of-type)::after,
table.jems3-table-selectable tr.mat-row.is-selected td:not(.jems3-table-numbering):not(:last-of-type)::after,
table.jems3-table-selectable tr.mat-row.selected td:not(.jems3-table-numbering):not(:last-of-type)::after {
  border-top-color: #064ad9;
  border-bottom-color: #064ad9;
}
table.jems3-table-selectable tbody tr.is-selected td:first-of-type:not(.jems3-table-numbering)::after,
table.jems3-table-selectable tbody tr.is-selected td.jems3-table-numbering + td::after,
table.jems3-table-selectable tbody tr.selected td:first-of-type:not(.jems3-table-numbering)::after,
table.jems3-table-selectable tbody tr.selected td.jems3-table-numbering + td::after,
table.jems3-table-selectable tr.mat-row.is-selected td:first-of-type:not(.jems3-table-numbering)::after,
table.jems3-table-selectable tr.mat-row.is-selected td.jems3-table-numbering + td::after,
table.jems3-table-selectable tr.mat-row.selected td:first-of-type:not(.jems3-table-numbering)::after,
table.jems3-table-selectable tr.mat-row.selected td.jems3-table-numbering + td::after {
  border-left-color: #064ad9;
}
table.jems3-table-selectable tbody tr.is-selected td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
table.jems3-table-selectable tbody tr.selected td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
table.jems3-table-selectable tr.mat-row.is-selected td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
table.jems3-table-selectable tr.mat-row.selected td:nth-last-of-type(2):not(.jems3-table-numbering)::after {
  border-right-color: #064ad9;
}
.dark-theme table.jems3-table-selectable tbody tr.is-selected td:not(.jems3-table-numbering):not(:last-of-type)::after,
.dark-theme table.jems3-table-selectable tbody tr.selected td:not(.jems3-table-numbering):not(:last-of-type)::after,
.dark-theme table.jems3-table-selectable tr.mat-row.is-selected td:not(.jems3-table-numbering):not(:last-of-type)::after,
.dark-theme table.jems3-table-selectable tr.mat-row.selected td:not(.jems3-table-numbering):not(:last-of-type)::after {
  border-top-color: #60a5fa;
  border-bottom-color: #60a5fa;
}
.dark-theme table.jems3-table-selectable tbody tr.is-selected td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-selectable tbody tr.is-selected td.jems3-table-numbering + td::after,
.dark-theme table.jems3-table-selectable tbody tr.selected td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-selectable tbody tr.selected td.jems3-table-numbering + td::after,
.dark-theme table.jems3-table-selectable tr.mat-row.is-selected td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-selectable tr.mat-row.is-selected td.jems3-table-numbering + td::after,
.dark-theme table.jems3-table-selectable tr.mat-row.selected td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-selectable tr.mat-row.selected td.jems3-table-numbering + td::after {
  border-left-color: #60a5fa;
}
.dark-theme table.jems3-table-selectable tbody tr.is-selected td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-selectable tbody tr.selected td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-selectable tr.mat-row.is-selected td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-selectable tr.mat-row.selected td:nth-last-of-type(2):not(.jems3-table-numbering)::after {
  border-right-color: #60a5fa;
}
table.jems3-table-hover.jems3-table-selectable td:last-of-type::after {
  content: none;
}
table.jems3-table-hover.jems3-table-selectable td:nth-last-of-type(2)::before {
  content: none;
}
table.jems3-table-hover.jems3-table-selectable td:nth-last-of-type(2):not(.jems3-table-numbering)::after {
  border-right: 2px solid transparent;
}
table.jems3-table-hover.jems3-table-selectable tbody tr:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
table.jems3-table-hover.jems3-table-selectable tr.mat-row:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after {
  border-right-color: rgba(0, 0, 0, 0.25);
}
table.jems3-table-hover.jems3-table-selectable tbody tr.is-selected:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
table.jems3-table-hover.jems3-table-selectable tbody tr.selected:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
table.jems3-table-hover.jems3-table-selectable tr.mat-row.is-selected:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
table.jems3-table-hover.jems3-table-selectable tr.mat-row.selected:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after {
  border-right-color: #064ad9;
}
.dark-theme table.jems3-table-hover td:not(.jems3-table-numbering):not(:last-of-type)::before {
  background-color: black;
}
.dark-theme table.jems3-table-hover tbody tr:hover td:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tr.mat-row:hover td:not(.jems3-table-numbering)::after {
  border-top-color: rgba(255, 255, 255, 0.25);
  border-bottom-color: rgba(255, 255, 255, 0.25);
}
.dark-theme table.jems3-table-hover tbody tr:hover td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tbody tr:hover td.jems3-table-numbering + td::after,
.dark-theme table.jems3-table-hover tr.mat-row:hover td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tr.mat-row:hover td.jems3-table-numbering + td::after {
  border-left-color: rgba(255, 255, 255, 0.25);
}
.dark-theme table.jems3-table-hover tbody tr:hover td:last-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tr.mat-row:hover td:last-of-type:not(.jems3-table-numbering)::after {
  border-right-color: rgba(255, 255, 255, 0.25);
}
.dark-theme table.jems3-table-hover:not(.jems3-table-selectable) tbody tr:hover td:not(.jems3-table-numbering),
.dark-theme table.jems3-table-hover:not(.jems3-table-selectable) tr.mat-row:hover td:not(.jems3-table-numbering) {
  background-image: linear-gradient(rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.07)) !important;
}
.dark-theme table.jems3-table-hover.jems3-table-selectable tbody tr:hover td:not(.jems3-table-numbering):not(:last-of-type),
.dark-theme table.jems3-table-hover.jems3-table-selectable tr.mat-row:hover td:not(.jems3-table-numbering):not(:last-of-type) {
  background-image: linear-gradient(rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.07)) !important;
}
.dark-theme table.jems3-table-hover.jems3-table-selectable tbody tr:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover.jems3-table-selectable tr.mat-row:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after {
  border-right-color: rgba(255, 255, 255, 0.25);
}
.dark-theme table.jems3-table-hover.jems3-table-selectable tbody tr.is-selected:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover.jems3-table-selectable tbody tr.selected:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover.jems3-table-selectable tr.mat-row.is-selected:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover.jems3-table-selectable tr.mat-row.selected:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after {
  border-right-color: #60a5fa;
}
.dark-theme table.jems3-table-hover tbody tr.is-selected:hover td:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tbody tr.selected:hover td:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tr.mat-row.is-selected:hover td:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tr.mat-row.selected:hover td:not(.jems3-table-numbering)::after {
  border-top-color: #60a5fa;
  border-bottom-color: #60a5fa;
}
.dark-theme table.jems3-table-hover tbody tr.is-selected:hover td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tbody tr.is-selected:hover td.jems3-table-numbering + td::after,
.dark-theme table.jems3-table-hover tbody tr.selected:hover td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tbody tr.selected:hover td.jems3-table-numbering + td::after,
.dark-theme table.jems3-table-hover tr.mat-row.is-selected:hover td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tr.mat-row.is-selected:hover td.jems3-table-numbering + td::after,
.dark-theme table.jems3-table-hover tr.mat-row.selected:hover td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tr.mat-row.selected:hover td.jems3-table-numbering + td::after {
  border-left-color: #60a5fa;
}
.jems3-table-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #78716C;
  text-decoration: none;
  cursor: pointer;
  line-height: 0;
  background: transparent;
  border: 0;
  padding: 4px;
  height: auto;
  border-radius: 50%;
}
.jems3-table-action mat-icon,
.jems3-table-action .material-symbols-outlined {
  font-size: 18px;
  width: 18px;
  height: 18px;
  line-height: 18px;
}
.jems3-table-action:hover {
  color: #064ad9;
  text-decoration: none;
  background-color: rgba(0, 0, 0, 0.06);
}
.jems3-table-action:active {
  background-color: rgba(0, 0, 0, 0.12);
}
.jems3-table-action:focus-visible {
  outline: 2px solid #064ad9;
  outline-offset: 1px;
}
.dark-theme .jems3-table-action {
  color: #c4c2bd;
}
.dark-theme .jems3-table-action:hover {
  color: #60a5fa;
  background-color: rgba(255, 255, 255, 0.08);
}
.dark-theme .jems3-table-action:active {
  background-color: rgba(255, 255, 255, 0.14);
}
.dark-theme table.jems3-table th,
.dark-theme table.jems3-table th.mat-header-cell {
  color: rgba(255, 255, 255, 0.7) !important;
}
.dark-theme table.jems3-table td,
.dark-theme table.jems3-table td.mat-cell {
  background-color: #202020;
  color: #c4c2bd;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
.topic-chip {
  display: inline-flex;
  align-items: center;
  font-size: 0.75rem;
  font-weight: 400;
  padding: 0 10px;
  min-height: 1.4rem;
  border-radius: 16px;
  white-space: nowrap;
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.5);
  background-color: #ededed;
  color: #363636;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
.span-threshold-pop {
  background: #ffffff;
  border: 1px solid #D6D3D1;
  border-radius: 6px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.32);
  padding: 12px 14px 4px;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.span-threshold-pop__title {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 500;
  color: #373734;
}
.dark-theme .span-threshold-pop {
  background: #202020;
  border-color: #3a3937;
  box-shadow: 0 5px 14px rgba(0, 0, 0, 0.7);
}
.dark-theme .span-threshold-pop .span-threshold-pop__title {
  color: #F6F6F6;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
app-score-cell {
  display: block;
  content-visibility: auto;
  contain-intrinsic-size: auto 400px auto 72px;
  padding: 4px 0;
}
.score-grid {
  display: grid;
  align-items: stretch;
  justify-items: stretch;
  row-gap: 1px;
  -moz-column-gap: 0;
       column-gap: 0;
  font-size: 0.75rem;
  line-height: 1.5;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
}
.score-grid .sg-rl {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.score-grid .sg-rr {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.score-grid .sg-row {
  display: grid;
  grid-column: 1/-1;
  grid-template-columns: subgrid;
  align-items: stretch;
  min-height: 18px;
}
.score-grid:not(.score-grid-head) .sg-row > * {
  background-color: #F5F5F4;
  position: relative;
}
.dark-theme .score-grid:not(.score-grid-head) .sg-row > * {
  background-color: #202020;
}
.score-grid:not(.score-grid-head) .sg-row > *::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  box-sizing: border-box;
  border-top: 2px solid transparent;
  border-bottom: 2px solid transparent;
}
.score-grid:not(.score-grid-head) .sg-row > *:not(.sg-rr)::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 1px;
  background-color: rgba(0, 0, 0, 0.08);
  pointer-events: none;
}
.dark-theme .score-grid:not(.score-grid-head) .sg-row > *:not(.sg-rr)::before {
  background-color: rgba(255, 255, 255, 0.1);
}
.score-grid:not(.score-grid-head) .sg-row > *.sg-rl::after {
  border-left: 2px solid transparent;
}
.score-grid:not(.score-grid-head) .sg-row > *.sg-rr::after {
  border-right: 2px solid transparent;
}
.no-status-color .score-grid:not(.score-grid-head) .sg-row > * {
  background-color: #fff;
}
.dark-theme .no-status-color .score-grid:not(.score-grid-head) .sg-row > * {
  background-color: #202020;
}
.score-grid:not(.score-grid-head) .sg-row {
  border-radius: 4px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
}
.dark-theme .score-grid:not(.score-grid-head) .sg-row {
  box-shadow: none;
}
.score-grid:not(.score-grid-head) .sg-row:hover > * {
  background-color: #FAFAF9;
}
.score-grid:not(.score-grid-head) .sg-row:hover > *::after {
  border-top-color: rgba(0, 0, 0, 0.25);
  border-bottom-color: rgba(0, 0, 0, 0.25);
}
.score-grid:not(.score-grid-head) .sg-row:hover > *.sg-rl::after {
  border-left-color: rgba(0, 0, 0, 0.25);
}
.score-grid:not(.score-grid-head) .sg-row:hover > *.sg-rr::after {
  border-right-color: rgba(0, 0, 0, 0.25);
}
.dark-theme .score-grid:not(.score-grid-head) .sg-row:hover > * {
  background-color: #34332f;
}
.dark-theme .score-grid:not(.score-grid-head) .sg-row:hover > *::after {
  border-top-color: rgba(255, 255, 255, 0.25);
  border-bottom-color: rgba(255, 255, 255, 0.25);
}
.dark-theme .score-grid:not(.score-grid-head) .sg-row:hover > *.sg-rl::after {
  border-left-color: rgba(255, 255, 255, 0.25);
}
.dark-theme .score-grid:not(.score-grid-head) .sg-row:hover > *.sg-rr::after {
  border-right-color: rgba(255, 255, 255, 0.25);
}
.score-grid > *:not(.sg-row), .score-grid .sg-row > * {
  min-width: 0;
  max-width: 100%;
  padding: 0 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
}
.score-grid .sg-reviewer {
  text-align: left;
}
.score-grid .sg-status-cell {
  display: flex;
  align-items: center;
  justify-content: center;
}
.score-grid a {
  color: inherit;
}
.score-grid .sg-hidden-eye {
  font-size: 12px;
  display: inline;
  vertical-align: middle;
}
.score-grid .sg-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  padding: 0;
  border-radius: 3px;
  border: 1px solid transparent;
  overflow: visible;
  line-height: 1;
}
.score-grid .sg-status mat-icon {
  font-size: 9px;
  width: 9px;
  height: 9px;
  line-height: 9px;
}
.score-grid .sg-status.assigned {
  background-color: white;
  border-color: #999999;
  color: #999999;
}
.score-grid .sg-status.assigned mat-icon {
  color: #999999;
}
.score-grid .sg-status.notified {
  background-color: #f6faff;
  border-color: #0754bc;
  color: #0754bc;
}
.score-grid .sg-status.notified mat-icon {
  color: #0754bc;
}
.score-grid .sg-status.confirmed {
  background-color: #fff1c6;
  border-color: #936f00;
  color: #936f00;
}
.score-grid .sg-status.confirmed mat-icon {
  color: #936f00;
}
.score-grid .sg-status.declined {
  background-color: #f9f9f9;
  border-color: #606060;
  color: #606060;
}
.score-grid .sg-status.declined mat-icon {
  color: #606060;
}
.score-grid .sg-status.reminded {
  background-color: #fff5f7;
  border-color: #c2001d;
  color: #c2001d;
}
.score-grid .sg-status.reminded mat-icon {
  color: #c2001d;
}
.score-grid .sg-status.late {
  background-color: #fdbebe;
  border-color: #850404;
  color: #850404;
}
.score-grid .sg-status.late mat-icon {
  color: #850404;
}
.score-grid .sg-status.delegated {
  background-color: #ffeff8;
  border-color: #bc0066;
  color: #bc0066;
}
.score-grid .sg-status.delegated mat-icon {
  color: #bc0066;
}
.score-grid .sg-status.completed {
  background-color: #c7feeb;
  border-color: #039060;
  color: #039060;
}
.score-grid .sg-status.completed mat-icon {
  color: #039060;
}
.score-grid .sg-status.draft {
  background-color: #dddddd;
  border-color: #444444;
  color: #444444;
}
.score-grid .sg-status.draft mat-icon {
  color: #444444;
}
.score-grid .sg-foot {
  font-weight: 600;
}
.score-grid .sg-foot.sg-rl {
  text-align: right;
}
.score-grid.score-grid-head {
  align-items: end;
}
.score-grid.score-grid-head > * {
  color: #0000008A;
  white-space: normal;
  word-break: break-word;
  overflow: visible;
  text-overflow: clip;
  line-height: 1.2;
}
.dark-theme .score-grid.score-grid-head > * {
  color: #FFFFFFB3;
}
.score-grid.score-grid-head .sg-crit-head {
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.score-grid.score-grid-head .sg-crit-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0 4px;
  border-radius: 4px;
  background-color: #E7E5E4;
  color: #373734;
  font-weight: 600;
  font-size: 0.75rem;
  line-height: 1;
}
.dark-theme .score-grid.score-grid-head .sg-crit-pill {
  background-color: rgba(255, 255, 255, 0.14);
  color: #F6F6F6;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.my-custom-dialog-class mat-dialog-container {
  overflow: hidden;
}
.session-dialog-panel .mat-dialog-container {
  background-color: white;
}
.dark-theme .session-dialog-panel .mat-dialog-container {
  background-color: black;
}
.subs-v2-item.cdk-drag-preview {
  box-sizing: border-box;
  list-style: none;
  padding: 3px 0;
  font-size: 13px;
  color: #373734;
}
.subs-v2-item.cdk-drag-preview .subs-v2-remove {
  display: none;
}
.subs-v2-item.cdk-drag-preview .subs-v2-card {
  box-sizing: border-box;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 6px 8px;
  border: 1px solid #D6D3D1;
  border-radius: 6px;
  background-color: white;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
  opacity: 0.97;
}
.subs-v2-item.cdk-drag-preview .subs-v2-order {
  flex: 0 0 auto;
  align-self: center;
  min-width: 18px;
  text-align: center;
  font-size: 12px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  color: rgba(0, 0, 0, 0.5);
}
.subs-v2-item.cdk-drag-preview .subs-v2-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.subs-v2-item.cdk-drag-preview .subs-v2-title,
.subs-v2-item.cdk-drag-preview .subs-v2-authors {
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.35;
}
.subs-v2-item.cdk-drag-preview .subs-v2-title {
  font-weight: 500;
}
.subs-v2-item.cdk-drag-preview .subs-v2-authors {
  font-size: 11px;
  font-weight: 430;
  color: rgba(0, 0, 0, 0.5);
}
.dark-theme .subs-v2-item.cdk-drag-preview {
  color: #c4c2bd;
}
.dark-theme .subs-v2-item.cdk-drag-preview .subs-v2-card {
  border-color: #5a5651;
  background-color: #202020;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.55);
}
.dark-theme .subs-v2-item.cdk-drag-preview .subs-v2-order,
.dark-theme .subs-v2-item.cdk-drag-preview .subs-v2-authors {
  color: rgba(255, 255, 255, 0.5);
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
.seg {
  display: inline-flex;
  align-items: stretch;
  padding: 2px;
  border: 1px solid #E7E5E4;
  border-radius: 999px;
  background: transparent;
}
.seg-btn {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  border: none;
  background: transparent;
  cursor: pointer;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 13px;
  font-weight: 430;
  line-height: 1;
  letter-spacing: 0;
  color: #373734;
  padding: 0 14px;
  height: 28px;
  border-radius: 999px;
  white-space: nowrap;
}
.seg-btn:hover:not(.is-active) {
  background: rgba(0, 0, 0, 0.045);
}
.seg-btn.is-active {
  background: #e8e6e3;
  color: #000;
  font-weight: 500;
}
.seg-btn:disabled {
  cursor: default;
  opacity: 0.6;
}
.seg-btn--icon {
  height: 24px;
  padding: 0 7px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.seg-btn--icon .mat-icon {
  font-size: 18px;
  width: 18px;
  height: 18px;
  line-height: 18px;
  color: inherit;
}
.dark-theme .seg {
  border-color: #3a3937;
}
.dark-theme .seg-btn {
  color: #c4c2bd;
}
.dark-theme .seg-btn:hover:not(.is-active) {
  background: rgba(255, 255, 255, 0.06);
}
.dark-theme .seg-btn.is-active {
  background: #34332f;
  color: #f2f1ee;
}
.seg.is-sliding {
  position: relative;
}
.seg.is-sliding .seg-btn {
  position: relative;
  z-index: 1;
}
.seg.is-sliding .seg-btn.is-active {
  background: transparent;
}
.seg.is-sliding .seg-btn:hover:not(.is-active) {
  background: transparent;
}
.seg-thumb {
  position: absolute;
  top: 2px;
  bottom: 2px;
  left: 2px;
  z-index: 0;
  border-radius: 999px;
  background: #e8e6e3;
  transition: transform 200ms cubic-bezier(0.25, 0.8, 0.25, 1);
  pointer-events: none;
}
.dark-theme .seg-thumb {
  background: #34332f;
}
@media (prefers-reduced-motion: reduce) {
  .seg-thumb {
    transition: none;
  }
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
.jems3-submission-status {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 96px;
  min-width: 0;
  max-width: 96px;
  height: 22px;
  padding: 0 8px;
  border: 0;
  border-radius: 999px;
  box-shadow: inset 1px 1px 0.75px rgba(255, 255, 255, 0.75), inset -1px -1px 0.75px rgba(0, 0, 0, 0.2), 0 1px 2px rgba(0, 0, 0, 0.55);
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  flex-shrink: 0;
}
.jems3-submission-status mat-icon {
  font-size: 13px;
  width: 13px;
  height: 13px;
  line-height: 13px;
  font-variation-settings: "wght" 400, "FILL" 1;
  flex-shrink: 0;
}
.jems3-submission-status.pending {
  background-color: #e5e5e5;
  color: #434343;
}
.jems3-submission-status.pending .mat-icon, .jems3-submission-status.pending .icon {
  color: #6b6b6b;
}
.jems3-submission-status.active {
  background-color: #FFFF55;
  color: #434343;
}
.jems3-submission-status.active .mat-icon, .jems3-submission-status.active .icon {
  color: #1f3a93;
}
.jems3-submission-status.accepted {
  background-color: #99FF99;
  color: #434343;
}
.jems3-submission-status.accepted .mat-icon, .jems3-submission-status.accepted .icon {
  color: #1c7530;
}
.jems3-submission-status.rejected {
  background-color: #ffbdbd;
  color: #434343;
}
.jems3-submission-status.rejected .mat-icon, .jems3-submission-status.rejected .icon {
  color: #b3261e;
}
.jems3-submission-status.withdrawn {
  background-color: #DDDDDD;
  color: #434343;
}
.jems3-submission-status.withdrawn .mat-icon, .jems3-submission-status.withdrawn .icon {
  color: #808080;
}
.jems3-submission-status--icon-only {
  width: 22px;
  min-width: 22px;
  max-width: 22px;
  height: 22px;
  padding: 0;
  gap: 0;
}
.jems3-submission-status--icon-only mat-icon {
  font-size: 14px;
  width: 14px;
  height: 14px;
  line-height: 14px;
}
.jems3-review-status {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 144px;
  min-width: 0;
  max-width: 144px;
  height: 20px;
  padding: 0 10px;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  flex-shrink: 0;
}
.jems3-review-status mat-icon {
  font-size: 13px;
  width: 13px;
  height: 13px;
  line-height: 13px;
  flex-shrink: 0;
}
.jems3-review-status.assigned {
  background-color: white;
  border: 1px solid #999999;
  color: #999999;
}
.jems3-review-status.notified {
  background-color: #f6faff;
  border: 1px solid #0754bc;
  color: #0754bc;
}
.jems3-review-status.confirmed {
  background-color: #fff1c6;
  border: 1px solid #936f00;
  color: #936f00;
}
.jems3-review-status.declined {
  background-color: #f9f9f9;
  border: 1px solid #606060;
  color: #606060;
}
.jems3-review-status.reminded {
  background-color: #fff5f7;
  border: 1px solid #c2001d;
  color: #c2001d;
}
.jems3-review-status.late {
  background-color: #fdbebe;
  border: 1px solid #850404;
  color: #850404;
}
.jems3-review-status.delegated {
  background-color: #ffeff8;
  border: 1px solid #bc0066;
  color: #bc0066;
}
.jems3-review-status.completed {
  background-color: #c7feeb;
  border: 1px solid #039060;
  color: #039060;
}
.jems3-review-status.draft {
  background-color: #dddddd;
  border: 1px solid #444444;
  color: #444444;
}
.jems3-review-status--icon-only {
  width: 22px;
  min-width: 22px;
  max-width: 22px;
  height: 22px;
  padding: 0;
  gap: 0;
}
.jems3-review-status--icon-only mat-icon {
  font-size: 14px;
  width: 14px;
  height: 14px;
  line-height: 14px;
}
:root {
  --jems-link-color: #064ad9;
}
/* global styles */
.light-theme .title {
  color: #363636;
}
.dark-theme .title {
  color: #F6F6F6;
}
.light-theme .subtitle {
  color: #363636;
}
.dark-theme .subtitle {
  color: #F6F6F6;
}
.light-theme strong {
  color: #363636;
}
.dark-theme strong {
  color: #F6F6F6;
}
.light-theme .close.button {
  color: #030303;
}
.dark-theme .close.button {
  color: #ffffff;
}
.light-theme .mat-checkbox-frame {
  border-color: #908985;
}
.dark-theme .mat-checkbox-frame {
  border-color: #A8A29E;
}
.light-theme .mat-checkbox-checked .mat-checkbox-frame {
  border-color: #908985;
}
.dark-theme .mat-checkbox-checked .mat-checkbox-frame {
  border-color: #D6D3D1;
}
.light-theme .mat-checkbox-frame {
  background-color: transparent;
}
.dark-theme .mat-checkbox-frame {
  background-color: transparent;
}
.light-theme .mat-checkbox-checked.mat-accent .mat-checkbox-background {
  background-color: #78716C;
}
.dark-theme .mat-checkbox-checked.mat-accent .mat-checkbox-background {
  background-color: #D6D3D1;
}
.light-theme .mat-checkbox-checked.mat-primary .mat-checkbox-background {
  background-color: #78716C;
}
.dark-theme .mat-checkbox-checked.mat-primary .mat-checkbox-background {
  background-color: #D6D3D1;
}
.light-theme .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background {
  background-color: #78716C;
}
.dark-theme .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background {
  background-color: #D6D3D1;
}
.light-theme .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background {
  background-color: #78716C;
}
.dark-theme .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background {
  background-color: #D6D3D1;
}
.light-theme th.mat-header-cell .mat-checkbox.mat-checkbox-indeterminate .mat-checkbox-background {
  background-color: #064ad9 !important;
}
.dark-theme th.mat-header-cell .mat-checkbox.mat-checkbox-indeterminate .mat-checkbox-background {
  background-color: #D6D3D1 !important;
}
.light-theme table.jems3-table-selectable th .mat-checkbox.mat-checkbox-indeterminate .mat-checkbox-background {
  background-color: #064ad9 !important;
}
.dark-theme table.jems3-table-selectable th .mat-checkbox.mat-checkbox-indeterminate .mat-checkbox-background {
  background-color: #D6D3D1 !important;
}
.light-theme .mat-checkbox-checkmark-path {
  stroke: #f9f8f7 !important;
}
.dark-theme .mat-checkbox-checkmark-path {
  stroke: #202020 !important;
}
.light-theme .mat-checkbox-mixedmark {
  background-color: #f9f8f7 !important;
}
.dark-theme .mat-checkbox-mixedmark {
  background-color: #202020 !important;
}
.light-theme .mat-checkbox:hover:not(.mat-checkbox-disabled) .mat-checkbox-frame {
  border-color: #000;
}
.dark-theme .mat-checkbox:hover:not(.mat-checkbox-disabled) .mat-checkbox-frame {
  border-color: #f2f1ee;
}
.light-theme .mat-checkbox.mat-checkbox-checked.mat-accent:hover:not(.mat-checkbox-disabled) .mat-checkbox-background {
  background-color: #44403C;
}
.dark-theme .mat-checkbox.mat-checkbox-checked.mat-accent:hover:not(.mat-checkbox-disabled) .mat-checkbox-background {
  background-color: #FFFFFF;
}
.light-theme .mat-checkbox.mat-checkbox-checked.mat-primary:hover:not(.mat-checkbox-disabled) .mat-checkbox-background {
  background-color: #44403C;
}
.dark-theme .mat-checkbox.mat-checkbox-checked.mat-primary:hover:not(.mat-checkbox-disabled) .mat-checkbox-background {
  background-color: #FFFFFF;
}
.light-theme .mat-checkbox-checked.mat-accent .mat-checkbox-background {
  background-color: #064ad9;
}
.dark-theme .mat-checkbox-checked.mat-accent .mat-checkbox-background {
  background-color: #D6D3D1;
}
.light-theme .mat-checkbox-checked.mat-primary .mat-checkbox-background {
  background-color: #064ad9;
}
.dark-theme .mat-checkbox-checked.mat-primary .mat-checkbox-background {
  background-color: #D6D3D1;
}
.light-theme .mat-checkbox-checked .mat-checkbox-frame {
  border-color: #064ad9;
}
.dark-theme .mat-checkbox-checked .mat-checkbox-frame {
  border-color: #D6D3D1;
}
.light-theme .mat-checkbox.mat-checkbox-checked.mat-accent:hover:not(.mat-checkbox-disabled) .mat-checkbox-background {
  background-color: #064ad9;
}
.dark-theme .mat-checkbox.mat-checkbox-checked.mat-accent:hover:not(.mat-checkbox-disabled) .mat-checkbox-background {
  background-color: #FFFFFF;
}
.light-theme .mat-checkbox.mat-checkbox-checked.mat-primary:hover:not(.mat-checkbox-disabled) .mat-checkbox-background {
  background-color: #064ad9;
}
.dark-theme .mat-checkbox.mat-checkbox-checked.mat-primary:hover:not(.mat-checkbox-disabled) .mat-checkbox-background {
  background-color: #FFFFFF;
}
.light-theme .mat-checkbox:not(.mat-checkbox-disabled) .mat-checkbox-frame {
  background-color: #fff;
}
.dark-theme .mat-checkbox:not(.mat-checkbox-disabled) .mat-checkbox-frame {
  background-color: #000;
}
.light-theme .mat-checkbox.cdk-keyboard-focused .mat-checkbox-frame {
  outline: 2px solid #064ad9;
}
.dark-theme .mat-checkbox.cdk-keyboard-focused .mat-checkbox-frame {
  outline: 2px solid #0080ff;
}
.mat-pseudo-checkbox {
  border-radius: 4px !important;
  border-width: 1.5px !important;
}
.light-theme .mat-pseudo-checkbox {
  color: #908985 !important;
}
.dark-theme .mat-pseudo-checkbox {
  color: #A8A29E !important;
}
.light-theme .mat-pseudo-checkbox::after {
  color: #f9f8f7 !important;
}
.dark-theme .mat-pseudo-checkbox::after {
  color: #202020 !important;
}
.light-theme .mat-pseudo-checkbox-checked {
  background-color: #78716C !important;
}
.dark-theme .mat-pseudo-checkbox-checked {
  background-color: #D6D3D1 !important;
}
.light-theme .mat-pseudo-checkbox-indeterminate {
  background-color: #78716C !important;
}
.dark-theme .mat-pseudo-checkbox-indeterminate {
  background-color: #D6D3D1 !important;
}
.light-theme .mat-slide-toggle-bar {
  background-color: transparent;
}
.dark-theme .mat-slide-toggle-bar {
  background-color: transparent;
}
.light-theme .mat-slide-toggle-bar {
  box-shadow: inset 0 0 0 1.5px #908985;
}
.dark-theme .mat-slide-toggle-bar {
  box-shadow: inset 0 0 0 1.5px #A8A29E;
}
.light-theme .mat-slide-toggle-thumb {
  background-color: #908985;
}
.dark-theme .mat-slide-toggle-thumb {
  background-color: #A8A29E;
}
.light-theme .mat-slide-toggle.mat-checked.mat-accent .mat-slide-toggle-bar {
  background-color: #78716C;
}
.dark-theme .mat-slide-toggle.mat-checked.mat-accent .mat-slide-toggle-bar {
  background-color: #D6D3D1;
}
.light-theme .mat-slide-toggle.mat-checked.mat-primary .mat-slide-toggle-bar {
  background-color: #78716C;
}
.dark-theme .mat-slide-toggle.mat-checked.mat-primary .mat-slide-toggle-bar {
  background-color: #D6D3D1;
}
.light-theme .mat-slide-toggle.mat-checked.mat-accent .mat-slide-toggle-thumb {
  background-color: #f9f8f7;
}
.dark-theme .mat-slide-toggle.mat-checked.mat-accent .mat-slide-toggle-thumb {
  background-color: #202020;
}
.light-theme .mat-slide-toggle.mat-checked.mat-primary .mat-slide-toggle-thumb {
  background-color: #f9f8f7;
}
.dark-theme .mat-slide-toggle.mat-checked.mat-primary .mat-slide-toggle-thumb {
  background-color: #202020;
}
.light-theme .mat-slide-toggle:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  box-shadow: inset 0 0 0 1.5px #000;
}
.dark-theme .mat-slide-toggle:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  box-shadow: inset 0 0 0 1.5px #f2f1ee;
}
.light-theme .mat-slide-toggle.mat-checked.mat-accent:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  background-color: #44403C;
}
.dark-theme .mat-slide-toggle.mat-checked.mat-accent:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  background-color: #FFFFFF;
}
.light-theme .mat-slide-toggle.mat-checked.mat-primary:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  background-color: #44403C;
}
.dark-theme .mat-slide-toggle.mat-checked.mat-primary:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  background-color: #FFFFFF;
}
.light-theme .mat-radio-button .mat-radio-outer-circle {
  border-color: #908985;
}
.dark-theme .mat-radio-button .mat-radio-outer-circle {
  border-color: #A8A29E;
}
.light-theme .mat-radio-button .mat-radio-outer-circle {
  background-color: transparent;
}
.dark-theme .mat-radio-button .mat-radio-outer-circle {
  background-color: transparent;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-outer-circle {
  background-color: #78716C;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-outer-circle {
  background-color: #D6D3D1;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-outer-circle {
  background-color: #78716C;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-outer-circle {
  background-color: #D6D3D1;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-outer-circle {
  border-color: #908985;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-outer-circle {
  border-color: #D6D3D1;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-outer-circle {
  border-color: #908985;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-outer-circle {
  border-color: #D6D3D1;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-inner-circle {
  background-color: #f9f8f7;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-inner-circle {
  background-color: #202020;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-inner-circle {
  background-color: #f9f8f7;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-inner-circle {
  background-color: #202020;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-outer-circle {
  background-color: #064ad9;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-outer-circle {
  background-color: #D6D3D1;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-outer-circle {
  background-color: #064ad9;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-outer-circle {
  background-color: #D6D3D1;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-outer-circle {
  border-color: #064ad9;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-outer-circle {
  border-color: #D6D3D1;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-outer-circle {
  border-color: #064ad9;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-outer-circle {
  border-color: #D6D3D1;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-accent:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  background-color: #064ad9;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-accent:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  background-color: #FFFFFF;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-primary:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  background-color: #064ad9;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-primary:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  background-color: #FFFFFF;
}
.light-theme .mat-radio-button:not(.mat-radio-disabled):not(.mat-radio-checked) .mat-radio-outer-circle {
  background-color: #fff;
}
.dark-theme .mat-radio-button:not(.mat-radio-disabled):not(.mat-radio-checked) .mat-radio-outer-circle {
  background-color: #000;
}
.light-theme .mat-radio-button:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  border-color: #000;
}
.dark-theme .mat-radio-button:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  border-color: #f2f1ee;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-accent:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  background-color: #44403C;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-accent:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  background-color: #FFFFFF;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-primary:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  background-color: #44403C;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-primary:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  background-color: #FFFFFF;
}
.light-theme .mat-radio-button.cdk-keyboard-focused .mat-radio-outer-circle {
  outline: 2px solid #064ad9;
}
.dark-theme .mat-radio-button.cdk-keyboard-focused .mat-radio-outer-circle {
  outline: 2px solid #0080ff;
}
.light-theme .mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar {
  outline: 2px solid #064ad9;
}
.dark-theme .mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar {
  outline: 2px solid #0080ff;
}
.light-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb::after {
  background-color: #78716C;
}
.dark-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb::after {
  background-color: #D6D3D1;
}
.light-theme .main-header .main-title {
  color: #373734;
}
.dark-theme .main-header .main-title {
  color: #c4c2bd;
}
.light-theme .section-title {
  color: #373734;
}
.dark-theme .section-title {
  color: #c4c2bd;
}
.light-theme .main-header .main-title .main-title-icon {
  color: #000;
}
.dark-theme .main-header .main-title .main-title-icon {
  color: #f2f1ee;
}
/* simple-table */
.light-theme table.simple-table {
  background-color: #ededed;
}
.dark-theme table.simple-table {
  background-color: #262626;
}
.light-theme table.simple-table th {
  background-color: #d1d1d1;
}
.dark-theme table.simple-table th {
  background-color: #4d4d4d;
}
.light-theme table.simple-table th {
  color: #363636;
}
.dark-theme table.simple-table th {
  color: #F6F6F6;
}
/* table */
.light-theme table.highlight-table {
  background-color: white;
}
.dark-theme table.highlight-table {
  background-color: black;
}
.light-theme table.highlight-table td:not(:first-child, :last-child, .mat-footer-cell) {
  background-color: #ededed;
}
.dark-theme table.highlight-table td:not(:first-child, :last-child, .mat-footer-cell) {
  background-color: #262626;
}
.light-theme table.highlight-table td:not(:first-child, :last-child, .mat-footer-cell) {
  border-color: #ededed;
}
.dark-theme table.highlight-table td:not(:first-child, :last-child, .mat-footer-cell) {
  border-color: #262626;
}
.light-theme table.highlight-table td:not(:first-child, :last-child, .mat-footer-cell) {
  border-right-color: white;
}
.dark-theme table.highlight-table td:not(:first-child, :last-child, .mat-footer-cell) {
  border-right-color: black;
}
.light-theme table.highlight-table tr:hover td {
  border-top-color: rgba(0, 0, 0, 0.25);
}
.dark-theme table.highlight-table tr:hover td {
  border-top-color: #60a5fa;
}
.light-theme table.highlight-table tr:hover td {
  border-bottom-color: rgba(0, 0, 0, 0.25);
}
.dark-theme table.highlight-table tr:hover td {
  border-bottom-color: #60a5fa;
}
.light-theme table.highlight-table tr:hover td:first-child {
  border: none;
}
.dark-theme table.highlight-table tr:hover td:first-child {
  border: none;
}
.light-theme table.highlight-table tr:hover td:last-child {
  border: none;
}
.dark-theme table.highlight-table tr:hover td:last-child {
  border: none;
}
.light-theme table.highlight-table tr:hover td:nth-child(2) {
  border-left-color: rgba(0, 0, 0, 0.25);
}
.dark-theme table.highlight-table tr:hover td:nth-child(2) {
  border-left-color: #60a5fa;
}
.light-theme table.highlight-table tr:hover td:nth-last-child(2) {
  border-right-color: rgba(0, 0, 0, 0.25);
}
.dark-theme table.highlight-table tr:hover td:nth-last-child(2) {
  border-right-color: #60a5fa;
}
.light-theme table.highlight-table tr:hover td.mat-footer-cell {
  border: none;
}
.dark-theme table.highlight-table tr:hover td.mat-footer-cell {
  border: none;
}
/* <a> */
.light-theme a {
  color: #064ad9;
}
.dark-theme a {
  color: #60a5fa;
}
.light-theme a:hover {
  color: #064ad9;
}
.dark-theme a:hover {
  color: #60a5fa;
}
/* <button> */
.light-theme button:disabled {
  color: #999999;
}
.dark-theme button:disabled {
  color: #666666;
}
.light-theme .app-icon-button:not(.mat-button-disabled):not(:disabled):hover {
  background-color: #e8e6e3;
}
.dark-theme .app-icon-button:not(.mat-button-disabled):not(:disabled):hover {
  background-color: #34332f;
}
.light-theme .app-icon-button.menu-open {
  background-color: #e9e8e6;
}
.dark-theme .app-icon-button.menu-open {
  background-color: #3a3936;
}
/* mat-accordion */
.light-theme .mat-accordion .mat-expansion-panel {
  background-color: #ededed;
}
.dark-theme .mat-accordion .mat-expansion-panel {
  background-color: #262626;
}
/* mat-form-field */
.light-theme .mat-form-field-infix {
  color: #363636;
}
.dark-theme .mat-form-field-infix {
  color: #F6F6F6;
}
.light-theme .mat-form-field-appearance-outline .mat-form-field-outline {
  color: #030303;
}
.dark-theme .mat-form-field-appearance-outline .mat-form-field-outline {
  color: #ffffff;
}
.light-theme .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick {
  color: #030303;
}
.dark-theme .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick {
  color: #ffffff;
}
/* mat-divider */
.light-theme .mat-divider {
  border-bottom: 1px solid white;
}
.dark-theme .mat-divider {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.light-theme .mat-divider {
  border-top: "";
}
.dark-theme .mat-divider {
  border-top: 1px solid black;
}
/* app-admin */
.light-theme app-admin .admin {
  background-color: white;
}
.dark-theme app-admin .admin {
  background-color: black;
}
/* app-admin-navbar */
.light-theme app-admin-navbar .admin-navbar nav {
  background-color: white;
}
.dark-theme app-admin-navbar .admin-navbar nav {
  background-color: black;
}
.light-theme app-admin-navbar .logo img {
  -webkit-filter: "";
}
.dark-theme app-admin-navbar .logo img {
  -webkit-filter: grayscale(1) invert(1);
}
.light-theme app-admin-navbar .logo img {
  filter: "";
}
.dark-theme app-admin-navbar .logo img {
  filter: grayscale(1) invert(1);
}
/* app-admin-event-sidebar */
.light-theme app-admin-event-sidebar .label {
  color: #434343;
}
.dark-theme app-admin-event-sidebar .label {
  color: #D6D6D6;
}
.light-theme app-admin-event-sidebar .mat-icon {
  color: #434343;
}
.dark-theme app-admin-event-sidebar .mat-icon {
  color: #D6D6D6;
}
.light-theme app-admin-event-sidebar .chair-button .mat-icon,
.dark-theme app-admin-event-sidebar .chair-button .mat-icon {
  color: inherit;
}
.light-theme app-admin-event-sidebar .mat-sidenav-content {
  background-color: white;
}
.dark-theme app-admin-event-sidebar .mat-sidenav-content {
  background-color: black;
}
body.light-theme,
html:has(body.light-theme) {
  background-color: white;
}
body.dark-theme,
html:has(body.dark-theme) {
  background-color: black;
}
.light-theme app-admin-event-sidebar .sidebar .classic-submenu .mat-list-item:hover {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .sidebar .classic-submenu .mat-list-item:hover {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .sidebar .classic-submenu .mat-list-item:hover {
  color: #373734;
}
.dark-theme app-admin-event-sidebar .sidebar .classic-submenu .mat-list-item:hover {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .sidebar .classic-submenu .list-item-active {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .sidebar .classic-submenu .list-item-active {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .sidebar .classic-submenu .mat-list-item {
  color: #373734;
}
.dark-theme app-admin-event-sidebar .sidebar .classic-submenu .mat-list-item {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .sidebar .classic-submenu .list-item-active {
  color: #000;
}
.dark-theme app-admin-event-sidebar .sidebar .classic-submenu .list-item-active {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .submenu-drag-handle, .light-theme .experimental-sidebar-child-drag-handle {
  color: #000;
}
.dark-theme app-admin-event-sidebar .submenu-drag-handle, .dark-theme .experimental-sidebar-child-drag-handle {
  color: #f2f1ee;
}
.light-theme .experimental-flyout-drag-handle {
  color: #000;
}
.dark-theme .experimental-flyout-drag-handle {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .logo img {
  -webkit-filter: grayscale(1) invert(1);
}
.dark-theme app-admin-event-sidebar .logo img {
  -webkit-filter: "";
}
.light-theme app-admin-event-sidebar .logo img {
  filter: grayscale(1) invert(1);
}
.dark-theme app-admin-event-sidebar .logo img {
  filter: "";
}
.light-theme app-admin-event-sidebar .navbar {
  background-color: #FAFAF9;
}
.dark-theme app-admin-event-sidebar .navbar {
  background-color: #262626;
}
.light-theme app-admin-event-sidebar .navbar {
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2);
}
.dark-theme app-admin-event-sidebar .navbar {
  box-shadow: 0px 2px 9px rgba(0, 0, 0, 0.5);
}
.light-theme app-admin-event-sidebar .navbar {
  border-bottom-color: #E7E5E4;
}
.dark-theme app-admin-event-sidebar .navbar {
  border-bottom-color: #3a3937;
}
.light-theme app-admin-event-sidebar .workspace-bar {
  background-color: #f9f8f7;
}
.dark-theme app-admin-event-sidebar .workspace-bar {
  background-color: #202020;
}
.light-theme app-admin-event-sidebar .workspace-bar {
  border-bottom-color: #E7E5E4;
}
.dark-theme app-admin-event-sidebar .workspace-bar {
  border-bottom-color: #3a3937;
}
.light-theme app-admin-event-sidebar .workspace-bar .workspace-title {
  color: #000;
}
.dark-theme app-admin-event-sidebar .workspace-bar .workspace-title {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .workspace-bar .workspace-icon {
  color: #373734;
}
.dark-theme app-admin-event-sidebar .workspace-bar .workspace-icon {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .workspace-bar .workspace-chevron {
  color: #373734;
}
.dark-theme app-admin-event-sidebar .workspace-bar .workspace-chevron {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .workspace-logo img {
  -webkit-filter: grayscale(1) invert(1);
}
.dark-theme app-admin-event-sidebar .workspace-logo img {
  -webkit-filter: "";
}
.light-theme app-admin-event-sidebar .workspace-logo img {
  filter: grayscale(1) invert(1);
}
.dark-theme app-admin-event-sidebar .workspace-logo img {
  filter: "";
}
.light-theme app-admin-event-sidebar .experimental-sidebar {
  background-color: #f9f8f7;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar {
  background-color: #202020;
}
.light-theme app-admin-event-sidebar .experimental-sidebar {
  border-right-color: #E7E5E4;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar {
  border-right-color: #3a3937;
}
.light-theme app-admin-event-sidebar .experimental-sidebar {
  border-top-color: #E7E5E4;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar {
  border-top-color: #3a3937;
}
.light-theme app-admin-event-sidebar .experimental-sidebar {
  border-right: 1px solid #E7E5E4;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar {
  border-right: 1px solid #3a3937;
}
.light-theme app-admin-event-sidebar .sidebar.hovering-experimental-resize-handle .experimental-sidebar,
.light-theme app-admin-event-sidebar .sidebar.resizing-experimental .experimental-sidebar {
  border-right-color: #D6D3D1 !important;
  box-shadow: 1px 0 0 #D6D3D1 !important;
}
.dark-theme app-admin-event-sidebar .sidebar.hovering-experimental-resize-handle .experimental-sidebar,
.dark-theme app-admin-event-sidebar .sidebar.resizing-experimental .experimental-sidebar {
  border-right-color: #5a5651 !important;
  box-shadow: 1px 0 0 #5a5651 !important;
}
.light-theme app-admin-event-sidebar .experimental-sidebar-bottom {
  background-color: #f9f8f7;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar-bottom {
  background-color: #202020;
}
.light-theme app-admin-event-sidebar .experimental-sidebar-header {
  background-color: #f9f8f7;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar-header {
  background-color: #202020;
}
.light-theme app-admin-event-sidebar .experimental-sidebar-header.has-divider {
  border-bottom-color: #E7E5E4 !important;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar-header.has-divider {
  border-bottom-color: #3a3937 !important;
}
.light-theme app-admin-event-sidebar .experimental-sidebar-bottom.has-divider {
  border-top-color: #E7E5E4 !important;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar-bottom.has-divider {
  border-top-color: #3a3937 !important;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item {
  color: #373734;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item .mat-icon {
  color: #000;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item .mat-icon {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-home-icon {
  color: #000;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-home-icon {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-home-collapsed:hover {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-home-collapsed:hover {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item:hover {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item:hover {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item:hover {
  color: #000;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item:hover {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item.has-active-child {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item.has-active-child {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item.has-active-child {
  color: #000;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item.has-active-child {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child {
  color: #373734;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child:hover {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child:hover {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child:hover {
  color: #000;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child:hover {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child.active {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child.active {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child.active {
  color: #000;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child.active {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .experimental-sidebar-logo img {
  -webkit-filter: grayscale(1) invert(1);
}
.dark-theme app-admin-event-sidebar .experimental-sidebar-logo img {
  -webkit-filter: "";
}
.light-theme app-admin-event-sidebar .experimental-sidebar-logo img {
  filter: grayscale(1) invert(1);
}
.dark-theme app-admin-event-sidebar .experimental-sidebar-logo img {
  filter: "";
}
.light-theme app-admin-event-sidebar .activity-bar-logo img {
  -webkit-filter: grayscale(1) invert(1);
}
.dark-theme app-admin-event-sidebar .activity-bar-logo img {
  -webkit-filter: "";
}
.light-theme app-admin-event-sidebar .activity-bar-logo img {
  filter: grayscale(1) invert(1);
}
.dark-theme app-admin-event-sidebar .activity-bar-logo img {
  filter: "";
}
.light-theme app-admin-event-sidebar .experimental-sidebar-close-button .mat-icon {
  color: #000;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar-close-button .mat-icon {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .experimental-user-info {
  color: #000;
}
.dark-theme app-admin-event-sidebar .experimental-user-info {
  color: #f2f1ee;
}
.cdk-drag-preview.experimental-sidebar-child {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  height: 28px;
  padding: 0 14px 0 26px;
  margin: 0;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 430;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  line-height: 1.3;
  letter-spacing: 0;
  text-decoration: none;
  overflow: hidden;
}
.cdk-drag-preview.experimental-sidebar-child .experimental-sidebar-child-icon {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  font-size: 16px;
  line-height: 16px;
  margin-right: 8px;
  font-variation-settings: "opsz" 20, "wght" 300, "FILL" 0;
}
.cdk-drag-preview.experimental-sidebar-child .experimental-sidebar-child-label {
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cdk-drag-preview.experimental-sidebar-child .experimental-sidebar-child-favorite-btn,
.cdk-drag-preview.experimental-sidebar-child .experimental-sidebar-child-drag-handle {
  display: none;
}
.light-theme .cdk-drag-preview.experimental-sidebar-child {
  background-color: #e8e6e3;
  color: #000;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}
.dark-theme .cdk-drag-preview.experimental-sidebar-child {
  background-color: #34332f;
  color: #f2f1ee;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.55);
}
.cdk-drag-placeholder.experimental-sidebar-child {
  opacity: 0.25;
  background: transparent;
}
.cdk-drop-list-dragging .experimental-sidebar-child:not(.cdk-drag-placeholder) {
  transition: transform 200ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.cdk-drag-preview.experimental-flyout-item {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  height: 32px;
  padding: 6px 14px 6px 26px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 430;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  line-height: 1.3;
  letter-spacing: 0;
  text-decoration: none;
  overflow: hidden;
}
.cdk-drag-preview.experimental-flyout-item .experimental-flyout-child-icon {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  font-size: 16px;
  line-height: 16px;
  margin-right: 8px;
  font-variation-settings: "opsz" 20, "wght" 300, "FILL" 0;
}
.cdk-drag-preview.experimental-flyout-item > span {
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cdk-drag-preview.experimental-flyout-item .experimental-flyout-drag-handle,
.cdk-drag-preview.experimental-flyout-item .experimental-flyout-favorite-btn {
  display: none;
}
.light-theme .cdk-drag-preview.experimental-flyout-item {
  background-color: #e8e6e3;
  color: #000;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}
.dark-theme .cdk-drag-preview.experimental-flyout-item {
  background-color: #34332f;
  color: #f2f1ee;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.55);
}
.cdk-drag-placeholder.experimental-flyout-item {
  opacity: 0.25;
  background: transparent;
}
.cdk-drop-list-dragging .experimental-flyout-item:not(.cdk-drag-placeholder) {
  transition: transform 200ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.cdk-drag-preview.mat-list-item {
  box-sizing: border-box;
  height: 36px;
  padding: 0 14px 0 14px;
  margin: 0;
  border-radius: 6px;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 14px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
  text-decoration: none;
  overflow: hidden;
}
.cdk-drag-preview.mat-list-item .mat-list-item-content {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 0;
}
.cdk-drag-preview.mat-list-item .submenu-drag-handle {
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  margin-right: 2px;
  visibility: hidden;
}
.cdk-drag-preview.mat-list-item .submenu-item-label {
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cdk-drag-preview.mat-list-item .submenu-favorite-btn {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin-left: 8px;
  visibility: hidden;
}
.light-theme .cdk-drag-preview.mat-list-item {
  background-color: #e8e6e3;
  color: #000;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}
.dark-theme .cdk-drag-preview.mat-list-item {
  background-color: #34332f;
  color: #f2f1ee;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.55);
}
.cdk-drag-placeholder.mat-list-item {
  opacity: 0.25;
  background: transparent;
}
.cdk-drop-list-dragging .mat-list-item:not(.cdk-drag-placeholder) {
  transition: transform 200ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.light-theme app-event-breadcrumb .event-breadcrumb {
  background-color: #f9f8f7;
}
.dark-theme app-event-breadcrumb .event-breadcrumb {
  background-color: #202020;
}
.light-theme app-event-breadcrumb .event-breadcrumb {
  border-bottom-color: #E7E5E4;
}
.dark-theme app-event-breadcrumb .event-breadcrumb {
  border-bottom-color: #3a3937;
}
.light-theme app-event-breadcrumb .event-breadcrumb {
  border-top-color: #E7E5E4;
}
.dark-theme app-event-breadcrumb .event-breadcrumb {
  border-top-color: #3a3937;
}
.light-theme app-admin-event-sidebar .classic-submenu {
  background-color: #f9f8f7;
  color: #373734;
  border-right: 1px solid #E7E5E4;
}
.dark-theme app-admin-event-sidebar .classic-submenu {
  background-color: #202020;
  color: #c4c2bd;
  border-right: 1px solid #3a3937;
}
.light-theme app-admin-event-sidebar .sidebar.hovering-resize-handle .classic-submenu,
.light-theme app-admin-event-sidebar .sidebar.resizing-submenu .classic-submenu {
  border-right-color: #D6D3D1;
  box-shadow: 1px 0 0 #D6D3D1;
}
.dark-theme app-admin-event-sidebar .sidebar.hovering-resize-handle .classic-submenu,
.dark-theme app-admin-event-sidebar .sidebar.resizing-submenu .classic-submenu {
  border-right-color: #5a5651;
  box-shadow: 1px 0 0 #5a5651;
}
.sidebar:not(.legacy-chrome-disabled) app-event-breadcrumb {
  display: block;
  height: 0;
}
.sidebar:not(.legacy-chrome-disabled) app-event-breadcrumb .event-breadcrumb {
  top: var(--chrome-top-offset);
  z-index: 900;
}
.dark-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) app-event-breadcrumb .event-breadcrumb-segment {
  color: #f2f1ee;
}
.light-theme app-event-breadcrumb .event-breadcrumb-segment {
  color: #373734;
}
.dark-theme app-event-breadcrumb .event-breadcrumb-segment {
  color: #c4c2bd;
}
.light-theme app-event-breadcrumb .event-breadcrumb-segment.current {
  color: #000;
}
.dark-theme app-event-breadcrumb .event-breadcrumb-segment.current {
  color: #f2f1ee;
}
.light-theme app-event-breadcrumb a.event-breadcrumb-segment:hover, .light-theme button.event-breadcrumb-segment:hover {
  color: #000;
}
.dark-theme app-event-breadcrumb a.event-breadcrumb-segment:hover, .dark-theme button.event-breadcrumb-segment:hover {
  color: #f2f1ee;
}
.light-theme app-event-breadcrumb a.event-breadcrumb-segment:hover, .light-theme button.event-breadcrumb-segment:hover {
  background-color: #e8e6e3;
}
.dark-theme app-event-breadcrumb a.event-breadcrumb-segment:hover, .dark-theme button.event-breadcrumb-segment:hover {
  background-color: #34332f;
}
.light-theme app-event-breadcrumb .event-breadcrumb-wide-toggle:hover {
  background-color: #e8e6e3;
}
.dark-theme app-event-breadcrumb .event-breadcrumb-wide-toggle:hover {
  background-color: #34332f;
}
.light-theme app-event-breadcrumb .event-breadcrumb-icon {
  color: #000;
}
.dark-theme app-event-breadcrumb .event-breadcrumb-icon {
  color: #f2f1ee;
}
.light-theme app-event-breadcrumb .event-breadcrumb-separator {
  color: #373734;
}
.dark-theme app-event-breadcrumb .event-breadcrumb-separator {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .experimental-user-menu-button:hover {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .experimental-user-menu-button:hover {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .activity-bar {
  background-color: #f9f8f7;
}
.dark-theme app-admin-event-sidebar .activity-bar {
  background-color: #202020;
}
.light-theme app-admin-event-sidebar .activity-bar {
  border-right-color: #E7E5E4;
}
.dark-theme app-admin-event-sidebar .activity-bar {
  border-right-color: #3a3937;
}
.dark-theme .sidebar:not(.legacy-chrome-disabled) .activity-bar {
  box-shadow: 0 2px 9px rgba(0, 0, 0, 0.5) !important;
}
.light-theme app-admin-event-sidebar .activity-bar {
  border-bottom-color: #E7E5E4;
}
.dark-theme app-admin-event-sidebar .activity-bar {
  border-bottom-color: black;
}
.light-theme app-admin-event-sidebar .activity-bar .jems-chair-toolbar-button .mat-icon {
  color: #000;
}
.dark-theme app-admin-event-sidebar .activity-bar .jems-chair-toolbar-button .mat-icon {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .activity-bar .jems-chair-toolbar-button:hover {
  background-color: #e8e6e3 !important;
}
.dark-theme app-admin-event-sidebar .activity-bar .jems-chair-toolbar-button:hover {
  background-color: #34332f !important;
}
.light-theme app-admin-event-sidebar .activity-bar .jems-chair-toolbar-button.selected,
.light-theme app-admin-event-sidebar .activity-bar .selected .jems-chair-toolbar-button {
  background-color: #e9e8e6 !important;
}
.dark-theme app-admin-event-sidebar .activity-bar .jems-chair-toolbar-button.selected,
.dark-theme app-admin-event-sidebar .activity-bar .selected .jems-chair-toolbar-button {
  background-color: #3a3936 !important;
}
.light-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button:hover,
.light-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button.selected,
.dark-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button:hover,
.dark-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button.selected {
  background-color: transparent !important;
}
.light-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button:hover .mat-icon,
.light-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button.selected .mat-icon {
  background-color: #e8e6e3 !important;
}
.dark-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button:hover .mat-icon,
.dark-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button.selected .mat-icon {
  background-color: #34332f !important;
}
.light-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button .label {
  color: #373734;
}
.light-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button:hover .label,
.light-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button.selected .label {
  color: #000;
}
.dark-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button .label {
  color: #c4c2bd;
}
.dark-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button:hover .label,
.dark-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button.selected .label {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .activity-bar-bottom app-user-notifications .profile-button:hover,
.light-theme app-admin-event-sidebar .activity-bar-bottom .helpdesk-button:hover {
  background-color: #e8e6e3 !important;
}
.dark-theme app-admin-event-sidebar .activity-bar-bottom app-user-notifications .profile-button:hover,
.dark-theme app-admin-event-sidebar .activity-bar-bottom .helpdesk-button:hover {
  background-color: #34332f !important;
}
.light-theme app-admin-event-sidebar .activity-bar-bottom app-user-notifications .profile-button.menu-open,
.light-theme app-admin-event-sidebar .activity-bar-bottom .helpdesk-button.menu-open {
  background-color: #e9e8e6 !important;
}
.dark-theme app-admin-event-sidebar .activity-bar-bottom app-user-notifications .profile-button.menu-open,
.dark-theme app-admin-event-sidebar .activity-bar-bottom .helpdesk-button.menu-open {
  background-color: #3a3936 !important;
}
.light-theme app-admin-event-sidebar .experimental-sidebar-bottom .experimental-user-menu-button:hover,
.light-theme app-admin-event-sidebar .experimental-sidebar-bottom app-user-notifications .profile-button:hover,
.light-theme app-admin-event-sidebar .experimental-sidebar-bottom .helpdesk-button:hover {
  background-color: #e8e6e3 !important;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar-bottom .experimental-user-menu-button:hover,
.dark-theme app-admin-event-sidebar .experimental-sidebar-bottom app-user-notifications .profile-button:hover,
.dark-theme app-admin-event-sidebar .experimental-sidebar-bottom .helpdesk-button:hover {
  background-color: #34332f !important;
}
.light-theme app-admin-event-sidebar .experimental-sidebar-bottom app-user-notifications .profile-button.menu-open,
.light-theme app-admin-event-sidebar .experimental-sidebar-bottom .helpdesk-button.menu-open {
  background-color: #e9e8e6 !important;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar-bottom app-user-notifications .profile-button.menu-open,
.dark-theme app-admin-event-sidebar .experimental-sidebar-bottom .helpdesk-button.menu-open {
  background-color: #3a3936 !important;
}
.light-theme app-navbar .command-palette-trigger:hover {
  background-color: #e8e6e3 !important;
  border-color: #E7E5E4;
}
.dark-theme app-navbar .command-palette-trigger:hover {
  background-color: #34332f !important;
  border-color: #3a3937;
}
.light-theme app-custom-search .shortcut-hint,
.light-theme app-navbar .shortcut-hint {
  border: 1px solid #D6D3D1 !important;
}
.dark-theme app-custom-search .shortcut-hint,
.dark-theme app-navbar .shortcut-hint {
  border: 1px solid #5a5651 !important;
}
.light-theme app-custom-search .chip-trigger {
  background-color: white !important;
  border: 1px solid #D6D3D1 !important;
}
.dark-theme app-custom-search .chip-trigger {
  background-color: black !important;
  border: 1px solid #5a5651 !important;
}
.light-theme app-custom-search .chip-trigger:hover {
  box-shadow: 0 0 0 1px #D6D3D1;
  background-color: white !important;
}
.dark-theme app-custom-search .chip-trigger:hover {
  box-shadow: 0 0 0 1px #5a5651;
  background-color: black !important;
}
.light-theme app-custom-search .chip-expanded {
  background-color: white !important;
  background-clip: padding-box !important;
  border: 1px solid #D6D3D1 !important;
}
.dark-theme app-custom-search .chip-expanded {
  background-color: black !important;
  background-clip: padding-box !important;
  border: 1px solid #5a5651 !important;
}
.light-theme app-custom-search .chip-expanded:hover:not(:focus-within) {
  box-shadow: 0 0 0 1px #D6D3D1;
}
.dark-theme app-custom-search .chip-expanded:hover:not(:focus-within) {
  box-shadow: 0 0 0 1px #5a5651;
}
.light-theme app-custom-search .chip-expanded:focus-within {
  border: 1px solid #064ad9 !important;
  box-shadow: 0 0 0 1px #064ad9;
}
.dark-theme app-custom-search .chip-expanded:focus-within {
  border: 1px solid #60a5fa !important;
  box-shadow: 0 0 0 1px #60a5fa;
}
.light-theme app-custom-search .chip-trigger,
.light-theme app-custom-search .chip-expanded {
  color: #373734;
}
.dark-theme app-custom-search .chip-trigger,
.dark-theme app-custom-search .chip-expanded {
  color: #c4c2bd;
}
.light-theme app-custom-search .chip-clear:hover {
  background-color: rgba(0, 0, 0, 0.06);
}
.dark-theme app-custom-search .chip-clear:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.light-theme .main.reviews .separator,
.light-theme .main.submissions .separator,
.light-theme .submission-ranking-filter-overlay .separator {
  background-color: #f9f8f7 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
}
.dark-theme .main.reviews .separator,
.dark-theme .main.submissions .separator,
.dark-theme .submission-ranking-filter-overlay .separator {
  background-color: #202020 !important;
  box-shadow: 0 0 0 1px #3a3937 !important;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
}
.topics-selection-panel .topics-panel {
  display: flex;
  flex-direction: column;
  width: 440px;
  max-width: calc(100vw - 24px);
  max-height: min(70vh, 460px);
  overflow: hidden;
  border-radius: 12px;
  padding: 14px 16px;
  text-align: left;
}
.light-theme .topics-selection-panel .topics-panel {
  background-color: #f9f8f7;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
}
.dark-theme .topics-selection-panel .topics-panel {
  background-color: #202020;
  box-shadow: 0 0 0 1px #3a3937;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
}
.topics-selection-panel .panel-header {
  flex: 0 0 auto;
  margin-bottom: 6px;
}
.topics-selection-panel .panel-title {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #373734;
}
.topics-selection-panel .topics-count {
  flex: 0 0 auto;
  font-size: 0.75rem;
  color: #78716C;
  margin-bottom: 8px;
}
.topics-selection-panel .topics-count.invalid {
  color: #CC0029;
}
.topics-selection-panel .topics-tree {
  flex: 1 1 auto;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.topics-selection-panel .topic-category {
  margin-top: 6px;
}
.topics-selection-panel .topic-category .category-name {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #373734;
  margin: 6px 0 2px;
}
.topics-selection-panel .topic-category .topic-item {
  margin-left: 14px;
}
.topics-selection-panel .topic-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 3px 4px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.8125rem;
  color: #373734;
}
.topics-selection-panel .topic-item:hover {
  background-color: #e8e6e3;
}
.topics-selection-panel .topic-item input {
  flex: 0 0 auto;
  cursor: pointer;
}
.topics-selection-panel .topic-item span {
  line-height: 1.3;
}
.topics-selection-panel .topics-empty {
  font-size: 0.8125rem;
  color: #78716C;
}
.dark-theme .topics-selection-panel .panel-title,
.dark-theme .topics-selection-panel .topic-category .category-name,
.dark-theme .topics-selection-panel .topic-item {
  color: #c4c2bd;
}
.dark-theme .topics-selection-panel .topics-count {
  color: #c4c2bd;
}
.dark-theme .topics-selection-panel .topic-item:hover {
  background-color: #34332f;
}
.light-theme .main.reviews .separator .submissions-list-filter app-chip-checkbox .chip-checkbox label:hover,
.light-theme .main.submissions .separator .submissions-list-filter app-chip-checkbox .chip-checkbox label:hover {
  background-color: #e8e6e3 !important;
}
.dark-theme .main.reviews .separator .submissions-list-filter app-chip-checkbox .chip-checkbox label:hover,
.dark-theme .main.submissions .separator .submissions-list-filter app-chip-checkbox .chip-checkbox label:hover {
  background-color: #34332f !important;
}
.light-theme .main.reviews .separator .submissions-list-filter app-chip-checkbox label input[type=checkbox] {
  border-color: #908985 !important;
}
.dark-theme .main.reviews .separator .submissions-list-filter app-chip-checkbox label input[type=checkbox] {
  border-color: #A8A29E !important;
}
.light-theme .main.reviews .separator .submissions-list-filter app-chip-checkbox label input[type=checkbox]:checked {
  background-color: #78716C !important;
  border-color: #78716C !important;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3 8 L7 12 L13 4' stroke='%23f9f8f7' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
.dark-theme .main.reviews .separator .submissions-list-filter app-chip-checkbox label input[type=checkbox]:checked {
  background-color: #D6D3D1 !important;
  border-color: #D6D3D1 !important;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3 8 L7 12 L13 4' stroke='%23202020' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
.light-theme .mat-slide-toggle-content {
  color: #373734;
}
.dark-theme .mat-slide-toggle-content {
  color: #c4c2bd;
}
.light-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-bar {
  background-color: #064ad9 !important;
}
.dark-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-bar {
  background-color: #60a5fa !important;
}
.light-theme .mat-slide-toggle.mat-checked:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  background-color: #064ad9 !important;
}
.dark-theme .mat-slide-toggle.mat-checked:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  background-color: #60a5fa !important;
}
.light-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb::after {
  background-color: #064ad9 !important;
}
.dark-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb::after {
  background-color: #f9f8f7 !important;
}
.light-theme .mat-slide-toggle:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  box-shadow: inset 0 0 0 1.5px #908985 !important;
}
.dark-theme .mat-slide-toggle:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  box-shadow: inset 0 0 0 1.5px #A8A29E !important;
}
.light-theme .mat-slide-toggle.mat-checked:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  box-shadow: none !important;
}
.dark-theme .mat-slide-toggle.mat-checked:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  box-shadow: none !important;
}
.light-theme app-navbar .right-navbar-container app-user-notifications .profile-button:hover,
.light-theme app-navbar .right-navbar-container .support-help-button:hover {
  background-color: #e8e6e3 !important;
}
.dark-theme app-navbar .right-navbar-container app-user-notifications .profile-button:hover,
.dark-theme app-navbar .right-navbar-container .support-help-button:hover {
  background-color: #34332f !important;
}
.light-theme app-navbar .right-navbar-container app-user-notifications .profile-button.menu-open,
.light-theme app-navbar .right-navbar-container .support-help-button.menu-open {
  background-color: #e9e8e6 !important;
}
.dark-theme app-navbar .right-navbar-container app-user-notifications .profile-button.menu-open,
.dark-theme app-navbar .right-navbar-container .support-help-button.menu-open {
  background-color: #3a3936 !important;
}
.light-theme .mat-menu-panel.tpc-user-menu {
  background-color: #f9f8f7 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
}
.tpc-user-menu {
  display: block;
  box-sizing: border-box;
  padding: 5px 0;
  min-width: 160px;
  border-radius: 6px;
}
.light-theme .tpc-user-menu {
  background-color: #f9f8f7;
  box-shadow: none;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
}
.review-info-panel {
  box-sizing: border-box;
  min-width: 200px;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 0.8125rem;
}
.review-info-panel .review-info-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  padding: 3px 0;
}
.review-info-panel .review-info-label {
  font-weight: 400;
  white-space: nowrap;
}
.review-info-panel .review-info-value {
  font-weight: 500;
  text-align: right;
}
.review-info-panel .review-info-value a {
  text-decoration: none;
}
.light-theme .review-info-panel {
  background-color: #f9f8f7;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
  color: #373734;
}
.light-theme .review-info-panel .review-info-label {
  color: #78716C;
}
.light-theme .review-info-panel .review-info-value a {
  color: #064ad9;
}
.dark-theme .review-info-panel {
  background-color: #202020;
  box-shadow: 0 0 0 1px #3a3937;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
  color: #c4c2bd;
}
.dark-theme .review-info-panel .review-info-label {
  color: #c4c2bd;
  opacity: 0.6;
}
.dark-theme .review-info-panel .review-info-value a {
  color: #60a5fa;
}
.find-reviewers-dialog .mat-dialog-container {
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.find-reviewers-dialog app-find-reviewers-by-interest,
.find-reviewers-dialog app-reviewer-finder {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
.cdk-overlay-container {
  z-index: 1200 !important;
}
.notifications-menu {
  z-index: 1100;
  transform-origin: top center;
  -webkit-animation: jems-popover-in 120ms cubic-bezier(0, 0, 0.2, 1);
          animation: jems-popover-in 120ms cubic-bezier(0, 0, 0.2, 1);
}
.notifications-menu.above {
  transform-origin: bottom center;
}
.menu-chart-v2,
.menu-container {
  display: block;
  box-sizing: border-box;
  border-radius: 6px;
  padding: 5px 0;
}
.menu-chart-v2 .container-option {
  display: block !important;
}
.menu-chart-v2 .container-option .mat-menu-item {
  height: 32px !important;
  line-height: 32px !important;
  font-size: 14px;
  font-weight: 430;
  padding: 0 12px !important;
  border-radius: 6px;
  width: calc(100% - 8px) !important;
  margin: 0 4px !important;
  display: flex !important;
  align-items: center;
  gap: 10px;
}
.menu-chart-v2 .container-option .mat-menu-item .mat-icon {
  font-size: 16px;
  width: 16px;
  height: 16px;
  line-height: 16px;
  color: rgba(0, 0, 0, 0.55);
  margin: 0;
}
.menu-chart-v2 .container-option .mat-menu-item:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.menu-chart-v2 .container-option .mat-menu-item:hover .mat-icon {
  color: rgba(0, 0, 0, 0.85);
}
.menu-chart-v2 > .toggle-row {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 32px !important;
  min-height: 32px;
  max-height: 32px;
  margin: 0 4px;
  padding: 0;
}
.menu-chart-v2 > .toggle-row mat-slide-toggle {
  height: 24px;
  line-height: 24px;
}
.menu-chart-v2 > .toggle-row mat-slide-toggle .mat-slide-toggle-bar {
  margin-left: 8px;
}
.menu-chart-v2 > .toggle-row mat-slide-toggle {
  background: transparent !important;
}
.menu-chart-v2 > .toggle-row mat-slide-toggle .mat-slide-toggle-content,
.menu-chart-v2 > .toggle-row mat-slide-toggle .mat-slide-toggle-label {
  font-size: 14px;
  font-weight: 430;
}
.menu-chart-v2 > .toggle-row mat-slide-toggle:hover {
  background: transparent !important;
}
.menu-chart-v2 mat-divider,
.menu-container mat-divider {
  width: 100% !important;
  max-width: none !important;
  margin: 4px 0 !important;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.dark-theme .jems-popover-panel mat-divider,
.dark-theme .tpc-user-menu mat-divider,
.dark-theme .menu-chart-v2 mat-divider,
.dark-theme .menu-container mat-divider {
  border-top-color: #000;
}
.light-theme .menu-chart-v2,
.light-theme .menu-container {
  background-color: #f9f8f7;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
}
.container-option {
  text-decoration: none !important;
  color: inherit !important;
}
.light-theme .container-option .mat-menu-item,
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item,
.light-theme .tpc-user-menu .mat-menu-item {
  color: #373734 !important;
}
.light-theme .container-option .mat-menu-item .mat-icon,
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item .mat-icon,
.light-theme .tpc-user-menu .mat-menu-item .mat-icon {
  color: #000 !important;
}
.light-theme .container-option .mat-menu-item:hover:not([disabled]),
.light-theme .container-option .mat-menu-item.cdk-keyboard-focused:not([disabled]),
.light-theme .container-option .mat-menu-item.highlight-button:not([disabled]),
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item:hover:not([disabled]),
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.cdk-keyboard-focused:not([disabled]),
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.highlight-button:not([disabled]),
.light-theme .tpc-user-menu .mat-menu-item:hover:not([disabled]),
.light-theme .tpc-user-menu .mat-menu-item.cdk-keyboard-focused:not([disabled]),
.light-theme .tpc-user-menu .mat-menu-item.highlight-button:not([disabled]) {
  background-color: #e8e6e3 !important;
  color: #000 !important;
}
.dark-theme .container-option .mat-menu-item,
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item,
.dark-theme .tpc-user-menu .mat-menu-item {
  color: #c4c2bd !important;
}
.dark-theme .container-option .mat-menu-item .mat-icon,
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item .mat-icon,
.dark-theme .tpc-user-menu .mat-menu-item .mat-icon {
  color: #f2f1ee !important;
}
.dark-theme .container-option .mat-menu-item:hover:not([disabled]),
.dark-theme .container-option .mat-menu-item.cdk-keyboard-focused:not([disabled]),
.dark-theme .container-option .mat-menu-item.highlight-button:not([disabled]),
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item:hover:not([disabled]),
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.cdk-keyboard-focused:not([disabled]),
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.highlight-button:not([disabled]),
.dark-theme .tpc-user-menu .mat-menu-item:hover:not([disabled]),
.dark-theme .tpc-user-menu .mat-menu-item.cdk-keyboard-focused:not([disabled]),
.dark-theme .tpc-user-menu .mat-menu-item.highlight-button:not([disabled]) {
  background-color: #34332f !important;
  color: #f2f1ee !important;
}
.container-option .mat-menu-item[disabled],
.mat-menu-panel.tpc-user-menu .mat-menu-item[disabled],
.tpc-user-menu .mat-menu-item[disabled] {
  opacity: 0.45 !important;
  cursor: default !important;
  pointer-events: none !important;
}
.container-option .mat-menu-item.disabled-hoverable,
.mat-menu-panel.tpc-user-menu .mat-menu-item.disabled-hoverable,
.tpc-user-menu .mat-menu-item.disabled-hoverable {
  opacity: 0.45 !important;
  cursor: default !important;
}
.container-option .mat-menu-item.disabled-hoverable:hover,
.mat-menu-panel.tpc-user-menu .mat-menu-item.disabled-hoverable:hover,
.tpc-user-menu .mat-menu-item.disabled-hoverable:hover {
  background-color: transparent !important;
}
.container-option.has-tip {
  display: block;
  position: relative;
}
.jems-menu-tip {
  position: absolute;
  top: calc(100% + 4px);
  left: 8px;
  z-index: 10;
  max-width: 260px;
  padding: 6px 8px;
  border-radius: 4px;
  background-color: rgba(97, 97, 97, 0.96);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4;
  white-space: normal;
  text-align: left;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
}
.container-option.has-tip:hover .jems-menu-tip {
  opacity: 1;
  visibility: visible;
}
.light-theme .mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item:hover:not([disabled]):not(.highlight-button),
.light-theme .mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item:hover:not([disabled]):not(.highlight-button),
.light-theme .mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item:hover:not([disabled]):not(.highlight-button) {
  background-color: #e8e6e3 !important;
  color: #000 !important;
}
.light-theme .mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item:hover:not([disabled]):not(.highlight-button) .mat-icon,
.light-theme .mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item:hover:not([disabled]):not(.highlight-button) .layout-icon,
.light-theme .mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item:hover:not([disabled]):not(.highlight-button) .mat-icon,
.light-theme .mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item:hover:not([disabled]):not(.highlight-button) .layout-icon,
.light-theme .mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item:hover:not([disabled]):not(.highlight-button) .mat-icon,
.light-theme .mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item:hover:not([disabled]):not(.highlight-button) .layout-icon {
  color: #000 !important;
}
.light-theme .mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item.highlight-button,
.light-theme .mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item.highlight-button,
.light-theme .mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item.highlight-button {
  background-color: #e8e6e3 !important;
  color: #000 !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu {
  background-color: #202020 !important;
  box-shadow: 0 0 0 1px #3a3937 !important;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
}
.dark-theme .tpc-user-menu {
  background-color: #202020;
  box-shadow: 0 0 0 1px #3a3937;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
}
.dark-theme .container-button .time-zone-button {
  color: rgba(255, 255, 255, 0.55) !important;
}
.dark-theme .container-button .time-zone-button:hover:not([disabled]), .dark-theme .container-button .time-zone-button.menu-open {
  background-color: rgba(255, 255, 255, 0.14) !important;
  color: rgba(255, 255, 255, 0.9) !important;
}
.jems-tzview-menu {
  min-width: 300px;
  padding: 8px 4px !important;
}
.jems-tzview-menu .jems-tzview-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  height: 26px;
  padding: 0 8px;
  color: #373734;
  font-size: 13px;
  font-weight: 400;
}
.jems-tzview-menu .jems-tzview-name {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.jems-tzview-menu .jems-tzview-tag {
  color: rgba(0, 0, 0, 0.55);
  font-weight: 400;
  margin-left: 4px;
}
.jems-tzview-menu .jems-tzview-time {
  flex-shrink: 0;
  color: rgba(0, 0, 0, 0.55);
  font-weight: 400;
  font-variant-numeric: tabular-nums;
}
.dark-theme .jems-tzview-menu .jems-tzview-row {
  color: #c4c2bd;
}
.dark-theme .jems-tzview-menu .jems-tzview-tag, .dark-theme .jems-tzview-menu .jems-tzview-time {
  color: rgba(255, 255, 255, 0.55);
}
.jems-tz-menu {
  min-width: 260px;
  padding: 5px 4px !important;
  max-height: 320px;
  overflow-y: auto;
}
.jems-tz-menu .jems-tz-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  height: 26px;
  padding: 0 8px 0 28px;
  position: relative;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #373734;
  font-size: 13px;
  font-weight: 400;
  text-align: left;
  cursor: pointer;
}
.jems-tz-menu .jems-tz-option:hover {
  background-color: #e8e6e3;
}
.jems-tz-menu .jems-tz-option.selected::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  background-color: #373734;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6.5 L5 9 L9.5 3.5' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6.5 L5 9 L9.5 3.5' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
}
.jems-tz-menu .jems-tz-name {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.jems-tz-menu .jems-tz-tag {
  color: rgba(0, 0, 0, 0.55);
  font-weight: 400;
  margin-left: 4px;
}
.jems-tz-menu .jems-tz-offset {
  flex-shrink: 0;
  color: rgba(0, 0, 0, 0.55);
  font-weight: 400;
  font-variant-numeric: tabular-nums;
}
.dark-theme .jems-tz-menu .jems-tz-option {
  color: #c4c2bd;
}
.dark-theme .jems-tz-menu .jems-tz-option:hover {
  background-color: #34332f;
}
.dark-theme .jems-tz-menu .jems-tz-option.selected::before {
  background-color: #c4c2bd;
}
.dark-theme .jems-tz-menu .jems-tz-tag, .dark-theme .jems-tz-menu .jems-tz-offset {
  color: rgba(255, 255, 255, 0.55);
}
.jems-popover-backdrop {
  z-index: 2000 !important;
}
.jems-popover-panel {
  z-index: 2001 !important;
}
.cdk-overlay-container .mat-tooltip-panel,
.cdk-overlay-container .cdk-overlay-pane:has(.mat-tooltip),
.mat-tooltip {
  z-index: 2010 !important;
}
.cdk-overlay-container {
  z-index: 2010 !important;
}
.dark-theme .ti-copy-btn {
  color: rgba(255, 255, 255, 0.55);
}
.dark-theme .ti-copy-btn:hover {
  background-color: rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.9);
}
.dark-theme .ti-copy-btn.is-copied {
  color: #69f0ae;
}
.dark-theme .jems-select-menu .jems-select-option {
  color: #c4c2bd;
}
.dark-theme .jems-select-menu .jems-select-option.active {
  background-color: #34332f;
}
.dark-theme .jems-select-menu .jems-select-option.selected::before {
  background-color: #c4c2bd;
}
.dark-theme .jems-select-menu .jems-select-filter {
  background-color: #202020;
}
.dark-theme .jems-select-menu .jems-select-filter-input {
  background-color: black;
  border-color: #3a3937;
  color: #c4c2bd;
}
.dark-theme .jems-select-menu .jems-select-filter-input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .jems-select-menu .jems-select-filter-input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .jems-select-menu .jems-select-filter-input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .menu-chart-v2,
.dark-theme .menu-container {
  background-color: #202020;
  box-shadow: 0 0 0 1px #3a3937;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
}
.mat-select-panel.jems3-select-panel .mat-option.mat-active,
.mat-select-panel.my-select-status-panel .mat-option.mat-active,
.mat-autocomplete-panel .mat-option.mat-active {
  background-color: transparent !important;
}
.mat-select-panel.jems3-select-panel {
  border-radius: 6px !important;
  padding: 5px 4px !important;
  font-size: 13px !important;
}
.mat-select-panel.jems3-select-panel .mat-option {
  height: 26px;
  line-height: 26px;
  margin: 0;
  padding: 0 8px !important;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 400;
}
.mat-select-panel.jems3-select-panel .mat-pseudo-checkbox {
  transform: scale(0.8);
}
.mat-select-panel.jems3-select-panel .mat-optgroup-label {
  height: 32px;
  line-height: 32px;
  padding: 0 8px;
  font-size: 12px;
  font-weight: 600;
}
.light-theme .mat-select-panel.jems3-select-panel,
.light-theme .mat-select-panel.my-select-status-panel {
  background-color: #f9f8f7 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
}
.dark-theme .mat-select-panel.jems3-select-panel,
.dark-theme .mat-select-panel.my-select-status-panel {
  background-color: #202020 !important;
  box-shadow: 0 0 0 1px #3a3937 !important;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
}
.light-theme .mat-select-panel.jems3-select-panel .mat-option {
  color: #373734;
  position: relative;
  padding-left: 28px !important;
}
.light-theme .mat-select-panel.jems3-select-panel .mat-option.mat-selected:not(.mat-option-multiple) {
  color: #373734 !important;
  background: transparent !important;
}
.light-theme .mat-select-panel.jems3-select-panel .mat-option.mat-selected:not(.mat-option-multiple)::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  background-color: #373734;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6.5 L5 9 L9.5 3.5' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6.5 L5 9 L9.5 3.5' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
}
.light-theme .mat-select-panel.jems3-select-panel .mat-option:hover:not(.mat-option-disabled),
.light-theme .mat-select-panel.jems3-select-panel .mat-option.cdk-keyboard-focused {
  background-color: #e8e6e3 !important;
}
.light-theme .mat-select-panel.jems3-select-panel .mat-optgroup-label {
  color: rgba(0, 0, 0, 0.5);
}
.light-theme .mat-select-panel.jems3-select-panel .mat-pseudo-checkbox-checked,
.light-theme .mat-select-panel.jems3-select-panel .mat-pseudo-checkbox-indeterminate {
  color: #064ad9 !important;
  background-color: #064ad9 !important;
}
.dark-theme .mat-select-panel.jems3-select-panel .mat-option {
  color: #c4c2bd;
  position: relative;
  padding-left: 28px !important;
}
.dark-theme .mat-select-panel.jems3-select-panel .mat-option.mat-selected:not(.mat-option-multiple) {
  color: #c4c2bd !important;
  background: transparent !important;
}
.dark-theme .mat-select-panel.jems3-select-panel .mat-option.mat-selected:not(.mat-option-multiple)::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  background-color: #c4c2bd;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6.5 L5 9 L9.5 3.5' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6.5 L5 9 L9.5 3.5' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
}
.dark-theme .mat-select-panel.jems3-select-panel .mat-option:hover:not(.mat-option-disabled),
.dark-theme .mat-select-panel.jems3-select-panel .mat-option.cdk-keyboard-focused {
  background-color: #34332f !important;
}
.dark-theme .mat-select-panel.jems3-select-panel .mat-optgroup-label {
  color: rgba(255, 255, 255, 0.5);
}
.light-theme .mat-select-panel.jems3-select-panel .mat-option.mat-option-multiple,
.dark-theme .mat-select-panel.jems3-select-panel .mat-option.mat-option-multiple {
  padding-left: 12px !important;
}
.mat-select-panel.jems3-select-panel .mat-option.mat-option-multiple.mat-selected {
  background: transparent !important;
}
.mat-autocomplete-panel {
  border-radius: 6px !important;
  padding: 5px 4px !important;
  font-size: 13px !important;
}
.mat-autocomplete-panel .mat-option {
  height: 26px;
  line-height: 26px;
  margin: 0;
  padding: 0 8px !important;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 400;
}
.mat-autocomplete-panel.user-search-autocomplete {
  overflow-x: auto;
  min-width: 300px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: min(800px, 90vw);
}
.mat-autocomplete-panel.user-search-autocomplete:has(.create-user-option) {
  padding: 0 0 5px !important;
}
.mat-autocomplete-panel.user-search-autocomplete:has(.create-user-option:last-child) {
  padding-bottom: 0 !important;
}
.mat-autocomplete-panel.user-search-autocomplete .mat-option {
  min-width: 100%;
  overflow: visible;
}
.mat-autocomplete-panel.user-search-autocomplete .mat-option-text {
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}
.mat-autocomplete-panel.user-search-autocomplete .create-user-option {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  height: 32px !important;
  line-height: 32px;
  border-radius: 0;
  color: #064ad9;
  font-weight: 500;
}
.mat-autocomplete-panel.user-search-autocomplete .create-user-option .mat-option-text {
  display: flex;
  align-items: center;
  line-height: normal;
}
.mat-autocomplete-panel.user-search-autocomplete .create-user-option .create-user-inner {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.mat-autocomplete-panel.user-search-autocomplete .create-user-option .mat-icon {
  font-size: 18px;
  width: 18px;
  height: 18px;
  line-height: 18px;
}
.mat-autocomplete-panel.user-search-autocomplete .create-user-option:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  border-bottom: 1px solid #E7E5E4;
}
.light-theme .mat-autocomplete-panel.user-search-autocomplete .create-user-option {
  background-color: #f9f8f7;
}
.dark-theme .mat-autocomplete-panel.user-search-autocomplete .create-user-option {
  color: #60a5fa;
  background-color: #202020;
}
.dark-theme .mat-autocomplete-panel.user-search-autocomplete .create-user-option::after {
  border-bottom-color: #3a3937;
}
.light-theme .mat-autocomplete-panel {
  background-color: #f9f8f7 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
}
.light-theme .mat-autocomplete-panel .mat-option {
  color: #373734;
}
.light-theme .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled),
.light-theme .mat-autocomplete-panel .mat-option.cdk-keyboard-focused {
  background-color: #e8e6e3 !important;
}
.dark-theme .mat-autocomplete-panel {
  background-color: #202020 !important;
  box-shadow: 0 0 0 1px #3a3937 !important;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
}
.dark-theme .mat-autocomplete-panel .mat-option {
  color: #c4c2bd;
}
.dark-theme .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled),
.dark-theme .mat-autocomplete-panel .mat-option.cdk-keyboard-focused {
  background-color: #34332f !important;
}
.light-theme .mat-select-panel.my-select-status-panel .mat-option:hover:not(.mat-option-disabled),
.light-theme .mat-select-panel.my-select-status-panel .mat-option.cdk-keyboard-focused,
.light-theme .mat-select-panel.my-select-status-panel .mat-option.mat-selected {
  background-color: #d8d5cf !important;
}
.dark-theme .mat-select-panel.my-select-status-panel .mat-option:hover:not(.mat-option-disabled),
.dark-theme .mat-select-panel.my-select-status-panel .mat-option.cdk-keyboard-focused,
.dark-theme .mat-select-panel.my-select-status-panel .mat-option.mat-selected {
  background-color: #474540 !important;
}
.status-chip-filter {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px;
  width: 96px !important;
  min-width: 0 !important;
  max-width: 96px !important;
  height: 22px !important;
  padding: 0 8px !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: inset 1px 1px 0.75px rgba(255, 255, 255, 0.75), inset -1px -1px 0.75px rgba(0, 0, 0, 0.2), 0 1px 2px rgba(0, 0, 0, 0.55) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  flex-shrink: 0;
  display: inline-block !important;
  text-align: center !important;
}
.status-chip-filter.pending {
  background-color: #e5e5e5 !important;
  color: #434343 !important;
}
.status-chip-filter.pending .mat-icon, .status-chip-filter.pending .icon {
  color: #6b6b6b !important;
}
.status-chip-filter.active {
  background-color: #FFFF55 !important;
  color: #434343 !important;
}
.status-chip-filter.active .mat-icon, .status-chip-filter.active .icon {
  color: #1f3a93 !important;
}
.status-chip-filter.accepted {
  background-color: #99FF99 !important;
  color: #434343 !important;
}
.status-chip-filter.accepted .mat-icon, .status-chip-filter.accepted .icon {
  color: #1c7530 !important;
}
.status-chip-filter.rejected {
  background-color: #ffbdbd !important;
  color: #434343 !important;
}
.status-chip-filter.rejected .mat-icon, .status-chip-filter.rejected .icon {
  color: #b3261e !important;
}
.status-chip-filter.withdrawn {
  background-color: #DDDDDD !important;
  color: #434343 !important;
}
.status-chip-filter.withdrawn .mat-icon, .status-chip-filter.withdrawn .icon {
  color: #808080 !important;
}
.status-chip-filter .scf-body {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 100%;
  vertical-align: middle;
}
.status-chip-filter .icon {
  font-size: 13px !important;
  width: 13px !important;
  height: 13px !important;
  line-height: 13px !important;
  font-variation-settings: "wght" 400, "FILL" 1 !important;
  flex-shrink: 0;
  margin: 0 !important;
}
.status-chip-filter .label {
  line-height: 1;
}
app-select-input.filter-styled:has(.status-chip-trigger) .mat-form-field-flex,
app-select-input.filter-styled:has(.status-chip-trigger) .mat-select-value,
app-select-input.filter-styled:has(.status-chip-trigger) .mat-select-value-text {
  overflow: visible;
}
.mat-select-panel.status-chip-select-panel {
  min-width: 0 !important;
  width: -webkit-max-content !important;
  width: -moz-max-content !important;
  width: max-content !important;
  padding: 7px 4px !important;
}
.mat-select-panel.status-chip-select-panel .status-chip-filter {
  position: relative;
  top: -2px;
}
.mat-select-panel.status-chip-select-panel .mat-option {
  width: auto;
  margin-bottom: 4px;
  overflow: visible;
}
.mat-select-panel.status-chip-select-panel .mat-option:last-child {
  margin-bottom: 0;
}
.mat-select-panel.status-chip-select-panel .mat-option-text {
  overflow: visible;
}
.mat-select-panel.status-chip-select-panel .mat-option-ripple {
  display: none !important;
}
.light-theme .mat-select-panel.status-chip-select-panel .mat-option:hover:not(.mat-option-disabled),
.light-theme .mat-select-panel.status-chip-select-panel .mat-option.cdk-keyboard-focused {
  background-color: #d8d5cf !important;
}
.light-theme .mat-select-panel.status-chip-select-panel .mat-option.mat-active:not(:hover):not(.cdk-keyboard-focused) {
  background: transparent !important;
}
.dark-theme .mat-select-panel.status-chip-select-panel .mat-option:hover:not(.mat-option-disabled),
.dark-theme .mat-select-panel.status-chip-select-panel .mat-option.cdk-keyboard-focused {
  background-color: #474540 !important;
}
.dark-theme .mat-select-panel.status-chip-select-panel .mat-option.mat-active:not(:hover):not(.cdk-keyboard-focused) {
  background: transparent !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item:hover:not([disabled]):not(.highlight-button),
.dark-theme .mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item:hover:not([disabled]):not(.highlight-button),
.dark-theme .mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item:hover:not([disabled]):not(.highlight-button) {
  background-color: #34332f !important;
  color: #f2f1ee !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item:hover:not([disabled]):not(.highlight-button) .mat-icon,
.dark-theme .mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item:hover:not([disabled]):not(.highlight-button) .layout-icon,
.dark-theme .mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item:hover:not([disabled]):not(.highlight-button) .mat-icon,
.dark-theme .mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item:hover:not([disabled]):not(.highlight-button) .layout-icon,
.dark-theme .mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item:hover:not([disabled]):not(.highlight-button) .mat-icon,
.dark-theme .mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item:hover:not([disabled]):not(.highlight-button) .layout-icon {
  color: #f2f1ee !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item.highlight-button,
.dark-theme .mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item.highlight-button,
.dark-theme .mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item.highlight-button {
  background-color: #34332f !important;
  color: #f2f1ee !important;
}
/* app-event-wizard */
.light-theme app-event-wizard .task-text {
  color: #373734;
}
.dark-theme app-event-wizard .task-text {
  color: #c4c2bd;
}
.light-theme .section + .section {
  border-top-color: #E7E5E4;
}
.dark-theme .section + .section {
  border-top-color: #3a3937;
}
.light-theme .section + .row-md {
  border-top-color: #E7E5E4;
}
.dark-theme .section + .row-md {
  border-top-color: #3a3937;
}
.light-theme .row-md + .section {
  border-top-color: #E7E5E4;
}
.dark-theme .row-md + .section {
  border-top-color: #3a3937;
}
.light-theme .review-settings .dependent-option::before {
  background-color: #E7E5E4;
}
.dark-theme .review-settings .dependent-option::before {
  background-color: #3a3937;
}
.light-theme app-floating-submit-bar .submit-actions.away-from-home {
  background-color: white;
}
.dark-theme app-floating-submit-bar .submit-actions.away-from-home {
  background-color: black;
}
.light-theme app-floating-submit-bar .submit-actions.away-from-home {
  border-color: #E7E5E4;
}
.dark-theme app-floating-submit-bar .submit-actions.away-from-home {
  border-color: #3a3937;
}
.light-theme app-floating-submit-bar .submit-actions.away-from-home {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}
.dark-theme app-floating-submit-bar .submit-actions.away-from-home {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6);
}
.light-theme .confirmation-dialog .dialog-icon-wrap {
  background-color: #FAFAF9;
}
.dark-theme .confirmation-dialog .dialog-icon-wrap {
  background-color: #44403C;
}
.light-theme .confirmation-dialog .dialog-icon-question {
  color: #44403C;
}
.dark-theme .confirmation-dialog .dialog-icon-question {
  color: #E7E5E4;
}
.light-theme .confirmation-dialog .dialog-icon-warning {
  color: #B45309;
}
.dark-theme .confirmation-dialog .dialog-icon-warning {
  color: #FCD34D;
}
.light-theme .confirmation-dialog .dialog-icon-success {
  color: #15803D;
}
.dark-theme .confirmation-dialog .dialog-icon-success {
  color: #4ADE80;
}
.light-theme .confirmation-dialog .dialog-title {
  color: #363636;
}
.dark-theme .confirmation-dialog .dialog-title {
  color: #F6F6F6;
}
.light-theme .confirmation-dialog .dialog-content {
  color: #373734;
}
.dark-theme .confirmation-dialog .dialog-content {
  color: #c4c2bd;
}
/* mat-card */
.light-theme mat-card mat-card-title {
  color: #434343;
}
.dark-theme mat-card mat-card-title {
  color: #ffffff;
}
.light-theme mat-card.base-card {
  background-color: #f9f8f7;
}
.dark-theme mat-card.base-card {
  background-color: #202020;
}
.light-theme mat-card.base-card {
  border: 1px solid #E7E5E4;
}
.dark-theme mat-card.base-card {
  border: 1px solid #3a3937;
}
.light-theme mat-card.base-card {
  color: #262626;
}
.dark-theme mat-card.base-card {
  color: #ededed;
}
.light-theme mat-card.event {
  background-color: #f9f8f7;
}
.dark-theme mat-card.event {
  background-color: #202020;
}
.light-theme mat-card.event {
  border: 1px solid #E7E5E4;
}
.dark-theme mat-card.event {
  border: 1px solid #3a3937;
}
.light-theme mat-card.event .event-parent span {
  color: #363636;
}
.dark-theme mat-card.event .event-parent span {
  color: #F6F6F6;
}
.light-theme mat-card.event .event-parent a {
  color: #363636;
}
.dark-theme mat-card.event .event-parent a {
  color: #F6F6F6;
}
.light-theme mat-card.event:hover {
  border: 1px solid #E7E5E4;
}
.dark-theme mat-card.event:hover {
  border: 1px solid #3a3937;
}
.light-theme mat-card.event:not([class*=mat-elevation-z]) {
  box-shadow: none;
}
.dark-theme mat-card.event:not([class*=mat-elevation-z]) {
  box-shadow: none;
}
.light-theme .mat-card-header {
  background-color: #ededed;
}
.dark-theme .mat-card-header {
  background-color: #262626;
}
.light-theme .mat-card-header {
  color: #434343;
}
.dark-theme .mat-card-header {
  color: #D6D6D6;
}
.light-theme mat-card.admin-event {
  background-color: #f9f8f7;
}
.dark-theme mat-card.admin-event {
  background-color: #202020;
}
.light-theme mat-card.admin-event {
  border-color: #E7E5E4;
}
.dark-theme mat-card.admin-event {
  border-color: #3a3937;
}
.light-theme mat-card.admin-event {
  color: #373734;
}
.dark-theme mat-card.admin-event {
  color: #c4c2bd;
}
/* app-tracks */
.light-theme app-tracks .tracks-card mat-card.track {
  background-color: #f9f8f7;
}
.dark-theme app-tracks .tracks-card mat-card.track {
  background-color: #202020;
}
.light-theme app-tracks .tracks-card mat-card.track {
  border: 1px solid #E7E5E4;
}
.dark-theme app-tracks .tracks-card mat-card.track {
  border: 1px solid #3a3937;
}
.light-theme app-tracks .tracks-card mat-card.track .mat-card-title {
  color: #030303;
}
.dark-theme app-tracks .tracks-card mat-card.track .mat-card-title {
  color: #ffffff;
}
/* app-sidebar-item */
.light-theme app-sidebar-item .list-item.button-events .mat-icon {
  color: #088838;
}
.dark-theme app-sidebar-item .list-item.button-events .mat-icon {
  color: #2DD4BF;
}
.light-theme app-sidebar-item .list-item.button-my-submissions .mat-icon {
  color: #064ad9;
}
.dark-theme app-sidebar-item .list-item.button-my-submissions .mat-icon {
  color: #60a5fa;
}
.light-theme app-sidebar-item .list-item.button-my-reviews .mat-icon {
  color: #F59E0B;
}
.dark-theme app-sidebar-item .list-item.button-my-reviews .mat-icon {
  color: #FCD34D;
}
.light-theme app-sidebar-item .list-item.button-tpcs .mat-icon {
  color: #DC2626;
}
.dark-theme app-sidebar-item .list-item.button-tpcs .mat-icon {
  color: #FF1A1A;
}
.light-theme app-sidebar-item .list-item.button-chairings .mat-icon {
  color: #7708AF;
}
.dark-theme app-sidebar-item .list-item.button-chairings .mat-icon {
  color: #BC5DDF;
}
.light-theme app-sidebar-item .list-item.button-session-chairings .mat-icon {
  color: #4F46E5;
}
.dark-theme app-sidebar-item .list-item.button-session-chairings .mat-icon {
  color: #818CF8;
}
.light-theme app-sidebar-item .list-item.button-publication-chairings .mat-icon {
  color: #0891B2;
}
.dark-theme app-sidebar-item .list-item.button-publication-chairings .mat-icon {
  color: #67E8F9;
}
.light-theme app-sidebar-item .list-item.any-other-button .mat-icon {
  color: #434343;
}
.dark-theme app-sidebar-item .list-item.any-other-button .mat-icon {
  color: #2DD4BF;
}
.light-theme app-sidebar-item .list-item.button-events.selected::after {
  background-color: #088838;
}
.dark-theme app-sidebar-item .list-item.button-events.selected::after {
  background-color: #2DD4BF;
}
.light-theme app-sidebar-item .list-item.button-my-submissions.selected::after {
  background-color: #064ad9;
}
.dark-theme app-sidebar-item .list-item.button-my-submissions.selected::after {
  background-color: #60a5fa;
}
.light-theme app-sidebar-item .list-item.button-my-reviews.selected::after {
  background-color: #F59E0B;
}
.dark-theme app-sidebar-item .list-item.button-my-reviews.selected::after {
  background-color: #FCD34D;
}
.light-theme app-sidebar-item .list-item.button-tpcs.selected::after {
  background-color: #DC2626;
}
.dark-theme app-sidebar-item .list-item.button-tpcs.selected::after {
  background-color: #FF1A1A;
}
.light-theme app-sidebar-item .list-item.button-chairings.selected::after {
  background-color: #7708AF;
}
.dark-theme app-sidebar-item .list-item.button-chairings.selected::after {
  background-color: #BC5DDF;
}
.light-theme app-sidebar-item .list-item.button-session-chairings.selected::after {
  background-color: #4F46E5;
}
.dark-theme app-sidebar-item .list-item.button-session-chairings.selected::after {
  background-color: #818CF8;
}
.light-theme app-sidebar-item .list-item.button-publication-chairings.selected::after {
  background-color: #0891B2;
}
.dark-theme app-sidebar-item .list-item.button-publication-chairings.selected::after {
  background-color: #67E8F9;
}
.light-theme app-sidebar-item .label-full {
  color: #373734;
}
.dark-theme app-sidebar-item .label-full {
  color: #c4c2bd;
}
.light-theme app-sidebar-item .jems-toolbar-button:hover .label-full {
  color: #000;
}
.dark-theme app-sidebar-item .jems-toolbar-button:hover .label-full {
  color: #f2f1ee;
}
.light-theme app-sidebar-item .jems-toolbar-button.selected .label-full {
  color: #000;
}
.dark-theme app-sidebar-item .jems-toolbar-button.selected .label-full {
  color: #f2f1ee;
}
.light-theme app-navbar .navbar {
  border-bottom-color: #E7E5E4;
}
.dark-theme app-navbar .navbar {
  border-bottom-color: #3a3937;
}
.light-theme app-navbar .navbar {
  border-top-color: #E7E5E4;
}
.dark-theme app-navbar .navbar {
  border-top-color: #3a3937;
}
.light-theme app-navbar .navbar {
  background-color: #f9f8f7 !important;
}
.dark-theme app-navbar .navbar {
  background-color: #202020 !important;
}
.light-theme .sidebar-item.jems-toolbar-button.selected {
  background-color: #ffffff !important;
}
.dark-theme .sidebar-item.jems-toolbar-button.selected {
  background-color: #2e2e2e !important;
}
.light-theme .sidebar-item.jems-toolbar-button.selected {
  border-color: #D6D3D1 !important;
}
.dark-theme .sidebar-item.jems-toolbar-button.selected {
  border-color: #5a5651 !important;
}
.light-theme .sidebar-item.jems-toolbar-button.selected {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.dark-theme .sidebar-item.jems-toolbar-button.selected {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.7) !important;
}
.sidebar-item.jems-toolbar-button {
  transition: background-color 260ms cubic-bezier(0.4, 0, 0.2, 1), border-color 260ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 260ms cubic-bezier(0.4, 0, 0.2, 1);
}
.light-theme .sidebar-item.jems-toolbar-button:not(.selected):hover {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.dark-theme .sidebar-item.jems-toolbar-button:not(.selected):hover {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.7) !important;
}
.dark-theme .sidebar-item.jems-toolbar-button:not(.selected):hover {
  background-color: #34332f !important;
}
.light-theme .sidebar-item.jems-toolbar-button:active {
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
}
.dark-theme .sidebar-item.jems-toolbar-button:active {
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7) !important;
}
.light-theme .sidebar-item.jems-toolbar-button {
  color: #373734;
}
.dark-theme .sidebar-item.jems-toolbar-button {
  color: #c4c2bd;
}
.light-theme .sidebar-item.jems-toolbar-button:hover {
  color: #000;
}
.dark-theme .sidebar-item.jems-toolbar-button:hover {
  color: #f2f1ee;
}
.light-theme .sidebar-item.jems-toolbar-button.selected {
  color: #000;
}
.dark-theme .sidebar-item.jems-toolbar-button.selected {
  color: #f2f1ee;
}
.light-theme .sidebar-item .label-short {
  color: #373734;
}
.dark-theme .sidebar-item .label-short {
  color: #c4c2bd;
}
.light-theme .sidebar-item.jems-toolbar-button:hover .label-short {
  color: #000;
}
.dark-theme .sidebar-item.jems-toolbar-button:hover .label-short {
  color: #f2f1ee;
}
.light-theme .sidebar-item.jems-toolbar-button.selected .label-short {
  color: #000;
}
.dark-theme .sidebar-item.jems-toolbar-button.selected .label-short {
  color: #f2f1ee;
}
/* app-sidebar-item-admin */
.light-theme app-sidebar-item-admin .sidebar-item-admin .jems-chair-toolbar-button:hover .mat-icon {
  color: #1C1917;
}
.dark-theme app-sidebar-item-admin .sidebar-item-admin .jems-chair-toolbar-button:hover .mat-icon {
  color: #D6D6D6;
}
.light-theme app-sidebar-item-admin .sidebar-item-admin .jems-chair-toolbar-button:hover .mat-icon {
  background-color: #f0efed;
}
.dark-theme app-sidebar-item-admin .sidebar-item-admin .jems-chair-toolbar-button:hover .mat-icon {
  background-color: #363432;
}
.light-theme app-sidebar-item-admin .sidebar-item-admin .jems-chair-toolbar-button.selected:not(:hover) .mat-icon {
  background-color: #e9e8e6;
}
.dark-theme app-sidebar-item-admin .sidebar-item-admin .jems-chair-toolbar-button.selected:not(:hover) .mat-icon {
  background-color: #42403c;
}
/* Activity bar overrides — in this layout the bg highlight lives on the button
   (40×40 square), not on the mat-icon. Zero out the legacy .mat-icon bg from
   the rules above and apply matching hover/selected bg to the button itself. */
.light-theme app-admin-event-sidebar .activity-bar .sidebar-item-admin .jems-chair-toolbar-button:hover .mat-icon {
  background-color: transparent;
}
.dark-theme app-admin-event-sidebar .activity-bar .sidebar-item-admin .jems-chair-toolbar-button:hover .mat-icon {
  background-color: transparent;
}
.light-theme app-admin-event-sidebar .activity-bar .sidebar-item-admin .jems-chair-toolbar-button.selected:not(:hover) .mat-icon {
  background-color: transparent;
}
.dark-theme app-admin-event-sidebar .activity-bar .sidebar-item-admin .jems-chair-toolbar-button.selected:not(:hover) .mat-icon {
  background-color: transparent;
}
.light-theme app-admin-event-sidebar .activity-bar .sidebar-item-admin .jems-chair-toolbar-button:hover {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .activity-bar .sidebar-item-admin .jems-chair-toolbar-button:hover {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .activity-bar .sidebar-item-admin.selected .jems-chair-toolbar-button {
  background-color: #e9e8e6;
}
.dark-theme app-admin-event-sidebar .activity-bar .sidebar-item-admin.selected .jems-chair-toolbar-button {
  background-color: #3a3936;
}
/* app-event */
.light-theme app-event .name a {
  color: #434343;
}
.dark-theme app-event .name a {
  color: #bbbbbb;
}
.light-theme app-event .sub-event .label {
  color: #434343;
}
.dark-theme app-event .sub-event .label {
  color: #ffffff;
}
/* app-event-view */
.light-theme app-event-view .event.card .information .name {
  color: #434343;
}
.dark-theme app-event-view .event.card .information .name {
  color: #bbbbbb;
}
.light-theme app-event-view .event.card .information .sub-event .name a {
  color: #434343;
}
.dark-theme app-event-view .event.card .information .sub-event .name a {
  color: #bbbbbb;
}
.light-theme app-event-view .event.card .information .label {
  color: #434343;
}
.dark-theme app-event-view .event.card .information .label {
  color: #ffffff;
}
/* app-event-user-view */
.light-theme app-event-user-view .event-user-view mat-card .mat-card-header {
  color: #030303;
}
.dark-theme app-event-user-view .event-user-view mat-card .mat-card-header {
  color: #ffffff;
}
.light-theme app-event-user-view .event-user-view mat-card .mat-card-header {
  background-color: #ffffff;
}
.dark-theme app-event-user-view .event-user-view mat-card .mat-card-header {
  background-color: #030303;
}
/* app-user-search */
.light-theme app-user-search .user-search .user-box {
  background-color: white;
}
.dark-theme app-user-search .user-search .user-box {
  background-color: black;
}
/* app-topics */
.light-theme app-topics .topics .mat-chip {
  background-color: #ededed;
}
.dark-theme app-topics .topics .mat-chip {
  background-color: #262626;
}
.light-theme app-topics .topics .mat-chip {
  color: #363636;
}
.dark-theme app-topics .topics .mat-chip {
  color: #F6F6F6;
}
/* app-event-topics */
.light-theme app-event-topics .event-topics .subtitle {
  color: #434343;
}
.dark-theme app-event-topics .event-topics .subtitle {
  color: #D6D6D6;
}
/* app-user-event-topics */
.light-theme app-user-event-topics .event-topics .topics-table .row-highlight {
  background-color: #e3e5eb;
}
.dark-theme app-user-event-topics .event-topics .topics-table .row-highlight {
  background-color: #262626;
}
.light-theme app-user-event-topics .event-topics button.mat-fab mat-icon {
  color: #434343;
}
.dark-theme app-user-event-topics .event-topics button.mat-fab mat-icon {
  color: #D6D6D6;
}
/* app-event-send-email */
.light-theme app-event-send-email .event-send-email mat-card-content {
  background-color: #ededed;
}
.dark-theme app-event-send-email .event-send-email mat-card-content {
  background-color: #262626;
}
.light-theme app-event-send-email .event-send-email mat-card-content {
  color: #363636;
}
.dark-theme app-event-send-email .event-send-email mat-card-content {
  color: #F6F6F6;
}
/* app-event-settings-email — bloco de tabela REMOVIDO (auditoria): a tabela
   migrou pro `.jems3-table jems3-table-hover`, que seta background/color com
   `!important`; estas 3 regras (sem !important) viviam mortas/overridden. O chrome
   da tabela vem 100% do `.jems3-table` global. */
/* app-navbar */
.light-theme app-navbar .logo img {
  -webkit-filter: "";
}
.dark-theme app-navbar .logo img {
  -webkit-filter: grayscale(1) invert(1);
}
.light-theme app-navbar .logo img {
  filter: "";
}
.dark-theme app-navbar .logo img {
  filter: grayscale(1) invert(1);
}
.light-theme app-navbar .navbar {
  box-shadow: "";
}
.dark-theme app-navbar .navbar {
  box-shadow: 0px 2px 9px rgba(0, 0, 0, 0.5);
}
/* app-avatar-profile */
.light-theme .mat-menu-panel {
  background-color: #F6F6F6;
}
.dark-theme .mat-menu-panel {
  background-color: #383838;
}
.light-theme .experimental-flyout {
  background-color: #f9f8f7 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
}
.light-theme .experimental-flyout::before {
  border-right-color: #E7E5E4 !important;
}
.light-theme .experimental-flyout::after {
  border-right-color: #f9f8f7 !important;
}
.light-theme .experimental-flyout .experimental-flyout-item {
  color: #373734 !important;
}
.light-theme .experimental-flyout .experimental-flyout-item:hover {
  background-color: #e8e6e3 !important;
  color: #000 !important;
}
.light-theme .experimental-flyout .experimental-flyout-item.active {
  background-color: #e8e6e3 !important;
  color: #000 !important;
}
.light-theme .experimental-flyout .experimental-flyout-title {
  background-color: #f0efed;
  color: #000;
  border-color: #E7E5E4;
}
.dark-theme .experimental-flyout {
  background-color: #202020 !important;
  box-shadow: 0 0 0 1px #3a3937 !important;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
}
.dark-theme .experimental-flyout::before {
  border-right-color: #3a3937 !important;
}
.dark-theme .experimental-flyout::after {
  border-right-color: #202020 !important;
}
.dark-theme .experimental-flyout .experimental-flyout-item {
  color: #c4c2bd !important;
}
.dark-theme .experimental-flyout .experimental-flyout-item:hover {
  background-color: #34332f !important;
  color: #f2f1ee !important;
}
.dark-theme .experimental-flyout .experimental-flyout-item.active {
  background-color: #34332f !important;
  color: #f2f1ee !important;
}
.dark-theme .experimental-flyout .experimental-flyout-title {
  background-color: #34332f;
  color: #f2f1ee;
  border-color: #3a3937;
}
.light-theme .mat-menu-panel {
  box-shadow: "";
}
.dark-theme .mat-menu-panel {
  box-shadow: 0px 2px 10px 1px black;
}
.light-theme .mat-menu-content .mat-menu-item .mat-icon, .light-theme .mat-menu-item {
  color: #434343;
}
.dark-theme .mat-menu-content .mat-menu-item .mat-icon, .dark-theme .mat-menu-item {
  color: #D6D6D6;
}
.light-theme button.mat-menu-item:hover:not([disabled]) {
  background-color: #064ad9;
}
.dark-theme button.mat-menu-item:hover:not([disabled]) {
  background-color: #60a5fa;
}
.light-theme button.mat-menu-item:hover {
  color: white;
}
.dark-theme button.mat-menu-item:hover {
  color: white;
}
.light-theme button.mat-menu-item:hover .mat-icon {
  color: white;
}
.dark-theme button.mat-menu-item:hover .mat-icon {
  color: white;
}
.light-theme .mat-menu-content .container-theme .highlight-button, .light-theme .mat-menu-content .container-layout .highlight-button, .light-theme .mat-menu-content .container-language-compact .highlight-button {
  background-color: #e0e0e0;
}
.dark-theme .mat-menu-content .container-theme .highlight-button, .dark-theme .mat-menu-content .container-layout .highlight-button, .dark-theme .mat-menu-content .container-language-compact .highlight-button {
  background-color: rgba(255, 255, 255, 0.15);
}
/* app-fixed-top-progress-bar */
.light-theme app-fixed-top-progress-bar .fixed-top-progress-bar.active {
  background-color: #F6F6F6;
}
.dark-theme app-fixed-top-progress-bar .fixed-top-progress-bar.active {
  background-color: #262626;
}
/* app-home */
.light-theme app-home .home {
  background-color: white;
}
.dark-theme app-home .home {
  background-color: black;
}
.light-theme app-home .home {
  color: black;
}
.dark-theme app-home .home {
  color: white;
}
.light-theme app-home .home .page-content {
  background-color: white;
}
.dark-theme app-home .home .page-content {
  background-color: black;
}
/* app-paper-info */
.light-theme app-paper-info .paper-info a {
  color: #363636;
}
.dark-theme app-paper-info .paper-info a {
  color: #F6F6F6;
}
/* app-dialog-timezone */
.light-theme .timeZonePanel table thead tr th {
  background-color: #ededed;
}
.dark-theme .timeZonePanel table thead tr th {
  background-color: #262626;
}
.light-theme .timeZonePanel table thead tr th {
  border-bottom-color: #ededed;
}
.dark-theme .timeZonePanel table thead tr th {
  border-bottom-color: #262626;
}
.light-theme .timeZonePanel table thead tr th:first-child {
  border-right-color: #ffffff;
}
.dark-theme .timeZonePanel table thead tr th:first-child {
  border-right-color: #030303;
}
.light-theme .timeZonePanel table tbody tr td {
  background-color: #ffffff;
}
.dark-theme .timeZonePanel table tbody tr td {
  background-color: #181818;
}
.light-theme .timeZonePanel table tbody tr td {
  border-color: #ededed;
}
.dark-theme .timeZonePanel table tbody tr td {
  border-color: #262626;
}
.light-theme .timeZonePanel table tbody tr td:first-child {
  border-right-color: #ededed;
}
.dark-theme .timeZonePanel table tbody tr td:first-child {
  border-right-color: #262626;
}
.light-theme .timeZonePanel table tbody tr:hover td {
  background-color: #ededed;
}
.dark-theme .timeZonePanel table tbody tr:hover td {
  background-color: #262626;
}
.light-theme .timeZonePanel table tbody tr:hover td {
  border-right-color: #ffffff;
}
.dark-theme .timeZonePanel table tbody tr:hover td {
  border-right-color: #030303;
}
/* app-landing */
.light-theme app-landing .landing .content-container {
  background-color: #ededed;
}
.dark-theme app-landing .landing .content-container {
  background-color: #262626;
}
.light-theme app-landing .landing .content-container .logo.image {
  filter: "";
}
.dark-theme app-landing .landing .content-container .logo.image {
  filter: invert(1);
}
.light-theme app-landing .landing .content-container i {
  color: #363636;
}
.dark-theme app-landing .landing .content-container i {
  color: #F6F6F6;
}
.light-theme app-landing .landing .language-container {
  color: #363636;
}
.dark-theme app-landing .landing .language-container {
  color: #F6F6F6;
}
.light-theme app-landing .landing .language-container {
  background-color: #ededed;
}
.dark-theme app-landing .landing .language-container {
  background-color: #262626;
}
/* app-events */
.light-theme app-events .events .main-title i {
  color: #088838;
}
.dark-theme app-events .events .main-title i {
  color: #2DD4BF;
}
/* app-submissions */
.light-theme app-submissions .submissions .main-title i {
  color: #064ad9;
}
.dark-theme app-submissions .submissions .main-title i {
  color: #60a5fa;
}
/* app-reviews */
.light-theme app-reviews .reviews .main-title i {
  color: #F59E0B;
}
.dark-theme app-reviews .reviews .main-title i {
  color: #FCD34D;
}
/* app-paper-review-list */
.light-theme app-paper-review-list .paper-review-list .table-container .table .review td {
  border-color: white;
}
.dark-theme app-paper-review-list .paper-review-list .table-container .table .review td {
  border-color: black;
}
/* app-committees */
.light-theme app-committees .committees .main-title i {
  color: #DC2626;
}
.dark-theme app-committees .committees .main-title i {
  color: #FF1A1A;
}
/* app-my-events */
.light-theme app-my-events .myevents .main-title i {
  color: #7708AF;
}
.dark-theme app-my-events .myevents .main-title i {
  color: #BC5DDF;
}
/* app-session-chairings */
.light-theme app-session-chairings .session-chairings .main-title i {
  color: #4F46E5;
}
.dark-theme app-session-chairings .session-chairings .main-title i {
  color: #818CF8;
}
/* app-publication-chairings */
.light-theme app-publication-chairings .publication-chairings .main-title i {
  color: #0891B2;
}
.dark-theme app-publication-chairings .publication-chairings .main-title i {
  color: #67E8F9;
}
/* app-submissions-list-table (ANTIGO) — bloco de tabela REMOVIDO (auditoria):
   o componente é DEAD CODE (0 usos em template; substituído pelo `-v2`), então este
   sistema de borda (border-right white/black + frame de hover `!important`) nunca
   renderizava. NOTA: o arquivo `.ts` continua existindo só pelo export `Collection`
   usado em `show-all-submissions` — refactor futuro: extrair `Collection` p/ um tipo
   compartilhado e então apagar o componente + sua declaração no app.module. */
/* app-submissions-list-table-v2 */
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table {
  background-color: white;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table {
  background-color: black;
}
.light-theme app-submissions-list-table-v2 .mat-card .scroll-fade-left {
  background: linear-gradient(to right, white 40%, rgba(255, 255, 255, 0));
}
.dark-theme app-submissions-list-table-v2 .mat-card .scroll-fade-left {
  background: linear-gradient(to right, black 40%, rgba(0, 0, 0, 0));
}
.light-theme app-submissions-list-table-v2 .mat-card .scroll-fade-right {
  background-image: linear-gradient(to left, white 40%, rgba(255, 255, 255, 0));
}
.dark-theme app-submissions-list-table-v2 .mat-card .scroll-fade-right {
  background-image: linear-gradient(to left, black 40%, rgba(0, 0, 0, 0));
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table th.mat-header-cell {
  background: linear-gradient(to bottom, white, rgba(255, 255, 255, 0.5));
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table th.mat-header-cell {
  background: linear-gradient(to bottom, black, rgba(0, 0, 0, 0.5));
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table th.mat-header-cell {
  color: #0000008A;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table th.mat-header-cell {
  color: #FFFFFFB3;
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td:first-child {
  background-color: white;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td:first-child {
  background-color: black;
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td:last-child {
  background-color: white;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td:last-child {
  background-color: black;
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td.mat-cell:not(.last-column)::before {
  background-color: white;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td.mat-cell:not(.last-column)::before {
  background-color: black;
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:hover td.mat-cell:not(:first-child):not(:last-child)::after,
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.hovered td.mat-cell:not(:first-child):not(:last-child)::after {
  border-top-color: rgba(0, 0, 0, 0.25);
  border-bottom-color: rgba(0, 0, 0, 0.25);
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:hover td.mat-cell.first-column:not(:first-child)::after,
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.hovered td.mat-cell.first-column:not(:first-child)::after {
  border-top-color: rgba(0, 0, 0, 0.25);
  border-bottom-color: rgba(0, 0, 0, 0.25);
  border-left-color: rgba(0, 0, 0, 0.25);
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:hover td.mat-cell.last-column:not(:last-child)::after,
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.hovered td.mat-cell.last-column:not(:last-child)::after {
  border-top-color: rgba(0, 0, 0, 0.25);
  border-bottom-color: rgba(0, 0, 0, 0.25);
  border-right-color: rgba(0, 0, 0, 0.25);
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:hover td.mat-cell:not(:first-child):not(:last-child)::after,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.hovered td.mat-cell:not(:first-child):not(:last-child)::after {
  border-top-color: rgba(0, 0, 0, 0.25);
  border-bottom-color: rgba(0, 0, 0, 0.25);
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:hover td.mat-cell.first-column:not(:first-child)::after,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.hovered td.mat-cell.first-column:not(:first-child)::after {
  border-top-color: rgba(0, 0, 0, 0.25);
  border-bottom-color: rgba(0, 0, 0, 0.25);
  border-left-color: rgba(0, 0, 0, 0.25);
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:hover td.mat-cell.last-column:not(:last-child)::after,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.hovered td.mat-cell.last-column:not(:last-child)::after {
  border-top-color: rgba(0, 0, 0, 0.25);
  border-bottom-color: rgba(0, 0, 0, 0.25);
  border-right-color: rgba(0, 0, 0, 0.25);
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.no-status-color:hover td.mat-cell:not(:first-child):not(:last-child)::after,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.no-status-color.hovered td.mat-cell:not(:first-child):not(:last-child)::after {
  border-top-color: rgba(255, 255, 255, 0.25);
  border-bottom-color: rgba(255, 255, 255, 0.25);
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.no-status-color:hover td.mat-cell.first-column:not(:first-child)::after,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.no-status-color.hovered td.mat-cell.first-column:not(:first-child)::after {
  border-top-color: rgba(255, 255, 255, 0.25);
  border-bottom-color: rgba(255, 255, 255, 0.25);
  border-left-color: rgba(255, 255, 255, 0.25);
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.no-status-color:hover td.mat-cell.last-column:not(:last-child)::after,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.no-status-color.hovered td.mat-cell.last-column:not(:last-child)::after {
  border-top-color: rgba(255, 255, 255, 0.25);
  border-bottom-color: rgba(255, 255, 255, 0.25);
  border-right-color: rgba(255, 255, 255, 0.25);
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.no-status-color:hover td.mat-cell.first-column:not(:first-child)::after,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.no-status-color.hovered td.mat-cell.first-column:not(:first-child)::after {
  border-left-color: rgba(0, 0, 0, 0.4);
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td span.subtitle-text {
  color: #363636;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td span.subtitle-text {
  color: #F6F6F6;
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td.mat-cell {
  color: #373734;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td.mat-cell {
  color: #c4c2bd;
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td.position {
  color: #0000008A;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td.position {
  color: #FFFFFFB3;
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table th .mark-all-button {
  background-color: white;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table th .mark-all-button {
  background-color: black;
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td.select button {
  background-color: white;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td.select button {
  background-color: black;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) {
  color: #373734;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) span.subtitle-text {
  color: #363636;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) .title {
  color: #363636;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) a, .dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) .fa-file-pdf, .dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) .fa-upload {
  color: #064ad9 !important;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) app-file-pill .file-pill,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) app-file-pill .file-pill--missing,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) app-file-pill .file-pill-name,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) app-file-pill .file-pill-icon-missing {
  color: #373734 !important;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) app-file-pill .file-pill-icon {
  color: #064ad9 !important;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.paperBackground:not(.no-status-color) td.mat-cell.description:not(:first-child):not(:last-child) a span {
  color: #064ad9 !important;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.no-status-color td.mat-cell app-file-pill .file-pill-icon {
  color: #60a5fa !important;
}
/* app-submissions-field-filter-v2 */
.light-theme app-submissions-field-filter-v2 .submissions-fields-filter-table-V2 .mat-expansion-panel {
  background-color: #f9f8f7;
}
.dark-theme app-submissions-field-filter-v2 .submissions-fields-filter-table-V2 .mat-expansion-panel {
  background-color: #202020;
}
.light-theme app-submissions-field-filter-v2 .submissions-fields-filter-table-V2 .mat-expansion-panel {
  border-color: #E7E5E4;
}
.dark-theme app-submissions-field-filter-v2 .submissions-fields-filter-table-V2 .mat-expansion-panel {
  border-color: #3a3937;
}
/* app-submissions-list-filter */
.light-theme app-submissions-list-filter .submissions-list-filter .fields {
  background-color: "";
}
.dark-theme app-submissions-list-filter .submissions-list-filter .fields {
  background-color: rgba(0, 0, 0, 0.75);
}
/* app-file-rules-card */
.light-theme app-file-rules-card .file-card .top-file-card {
  background-color: #EEECEB;
}
.dark-theme app-file-rules-card .file-card .top-file-card {
  background-color: #303030;
}
.light-theme app-file-rules-card .file-card .uploading {
  background-color: #064ad9;
}
.dark-theme app-file-rules-card .file-card .uploading {
  background-color: #60a5fa;
}
.light-theme app-file-rules-card .file-card .notUploading {
  background-color: white;
}
.dark-theme app-file-rules-card .file-card .notUploading {
  background-color: black;
}
.light-theme app-file-rules-card .file-card .detail-columns .due-date {
  background-color: #EEECEB;
}
.dark-theme app-file-rules-card .file-card .detail-columns .due-date {
  background-color: #303030;
}
.light-theme app-file-rules-card .file-card .detail-columns .due-date {
  color: #78716C;
}
.dark-theme app-file-rules-card .file-card .detail-columns .due-date {
  color: #c4c2bd;
}
.light-theme app-file-rules-card .file-card .detail-columns .due-date app-dialog-timezone .mat-icon {
  color: #78716C;
}
.dark-theme app-file-rules-card .file-card .detail-columns .due-date app-dialog-timezone .mat-icon {
  color: #c4c2bd;
}
.light-theme app-file-rules-card .file-card .info-column .file-required {
  color: #e91414;
}
.dark-theme app-file-rules-card .file-card .info-column .file-required {
  color: #FF6B6B;
}
.light-theme app-file-rules-card .file-card .detail-columns .disabled .mat-icon {
  color: #999999;
}
.dark-theme app-file-rules-card .file-card .detail-columns .disabled .mat-icon {
  color: #666666;
}
.light-theme app-file-rules-card .file-card .detail-columns .download-column .button-download-file:not(.disabled) .file-type-icon {
  color: #064ad9;
}
.dark-theme app-file-rules-card .file-card .detail-columns .download-column .button-download-file:not(.disabled) .file-type-icon {
  color: #60a5fa;
}
.light-theme app-file-rules-card .file-card .detail-columns .info-column .button-rule-info .mat-icon {
  color: #064ad9;
}
.dark-theme app-file-rules-card .file-card .detail-columns .info-column .button-rule-info .mat-icon {
  color: #60a5fa;
}
.light-theme app-file-rules-card .file-card .detail-columns .info-column .button-delete-file:not(.disabled) .mat-icon {
  color: #e91414;
}
.dark-theme app-file-rules-card .file-card .detail-columns .info-column .button-delete-file:not(.disabled) .mat-icon {
  color: #FF6B6B;
}
.light-theme app-file-rules-card .file-card .detail-columns .info-column .button-rule-uses-sbc-template .mat-icon {
  color: #2e9e44;
}
.dark-theme app-file-rules-card .file-card .detail-columns .info-column .button-rule-uses-sbc-template .mat-icon {
  color: #66BB6A;
}
.light-theme app-file-rules-card .file-card .detail-columns .info-column .button-rule-not-uses-sbc-template .mat-icon {
  color: #e91414;
}
.dark-theme app-file-rules-card .file-card .detail-columns .info-column .button-rule-not-uses-sbc-template .mat-icon {
  color: #FF6B6B;
}
.light-theme app-file-rules-card .file-card .detail-columns .info-column .file-error {
  color: #e91414;
}
.dark-theme app-file-rules-card .file-card .detail-columns .info-column .file-error {
  color: #FF6B6B;
}
.light-theme app-file-rules-card .download-bar {
  background-color: #ededed;
}
.dark-theme app-file-rules-card .download-bar {
  background-color: #262626;
}
.light-theme app-file-upload .success-icon {
  color: #2e9e44;
}
.dark-theme app-file-upload .success-icon {
  color: #66BB6A;
}
/* app-file-upload */
.light-theme app-file-upload .file-upload .file-upload-icon .mat-icon {
  color: #064ad9;
}
.dark-theme app-file-upload .file-upload .file-upload-icon .mat-icon {
  color: #60a5fa;
}
.light-theme app-file-upload .file-upload .file-upload-icon-disabled .mat-icon {
  color: #999999;
}
.dark-theme app-file-upload .file-upload .file-upload-icon-disabled .mat-icon {
  color: #666666;
}
/* app-custom-form-text-question */
.light-theme app-custom-form-text-question .custom-text-question textarea {
  background-color: #ffffff;
}
.dark-theme app-custom-form-text-question .custom-text-question textarea {
  background-color: #030303;
}
/* app-export-submissions */
.light-theme app-export-submissions .export-submissions .section .name a {
  color: #363636;
}
.dark-theme app-export-submissions .export-submissions .section .name a {
  color: #F6F6F6;
}
/* app-event-publication */
.light-theme app-event-publication .publication-controls .mat-card {
  background-color: white;
}
.dark-theme app-event-publication .publication-controls .mat-card {
  background-color: black;
}
/* app-publication-fixed-control */
.light-theme app-publication-fixed-control .fixed-control .mat-card table {
  background-color: white;
}
.dark-theme app-publication-fixed-control .fixed-control .mat-card table {
  background-color: black;
}
.light-theme app-publication-fixed-control .fixed-control .mat-card table td {
  border-right-color: white !important;
}
.dark-theme app-publication-fixed-control .fixed-control .mat-card table td {
  border-right-color: black !important;
}
.light-theme app-publication-fixed-control .fixed-control .mat-card table th {
  border-right-color: white !important;
}
.dark-theme app-publication-fixed-control .fixed-control .mat-card table th {
  border-right-color: black !important;
}
.light-theme app-publication-fixed-control .fixed-control .mat-card table th {
  color: lighten #363636, 60;
}
.dark-theme app-publication-fixed-control .fixed-control .mat-card table th {
  color: lightgray;
}
/* app-proceeding-step */
.light-theme app-proceeding-step .content .content-list h3, .light-theme app-proceeding-step .content .content-list .card-title, .light-theme app-proceeding-step .content .content-list .section .section-title, .section .light-theme app-proceeding-step .content .content-list .section-title {
  color: #363636;
}
.dark-theme app-proceeding-step .content .content-list h3, .dark-theme app-proceeding-step .content .content-list .card-title, .dark-theme app-proceeding-step .content .content-list .section .section-title, .section .dark-theme app-proceeding-step .content .content-list .section-title {
  color: #F6F6F6;
}
.light-theme app-proceeding-step .content .not-included {
  border: 1px solid black;
}
.dark-theme app-proceeding-step .content .not-included {
  border: 1px solid white;
}
.light-theme app-proceeding-step .content .included {
  border: 1px solid black;
}
.dark-theme app-proceeding-step .content .included {
  border: 1px solid white;
}
.light-theme app-proceeding-step .content .track {
  border: 1px solid black;
}
.dark-theme app-proceeding-step .content .track {
  border: 1px solid white;
}
.light-theme app-proceeding-step .track-file .track h3, .light-theme app-proceeding-step .track-file .track .card-title, .light-theme app-proceeding-step .track-file .track .section .section-title, .section .light-theme app-proceeding-step .track-file .track .section-title {
  color: #363636;
}
.dark-theme app-proceeding-step .track-file .track h3, .dark-theme app-proceeding-step .track-file .track .card-title, .dark-theme app-proceeding-step .track-file .track .section .section-title, .section .dark-theme app-proceeding-step .track-file .track .section-title {
  color: #F6F6F6;
}
.light-theme app-proceeding-step .sections3 .sections-list h3, .light-theme app-proceeding-step .sections3 .sections-list .card-title, .light-theme app-proceeding-step .sections3 .sections-list .section .section-title, .section .light-theme app-proceeding-step .sections3 .sections-list .section-title {
  color: #363636;
}
.dark-theme app-proceeding-step .sections3 .sections-list h3, .dark-theme app-proceeding-step .sections3 .sections-list .card-title, .dark-theme app-proceeding-step .sections3 .sections-list .section .section-title, .section .dark-theme app-proceeding-step .sections3 .sections-list .section-title {
  color: #F6F6F6;
}
/* app-proceeding-index-item */
.light-theme app-proceeding-index-item .item .mat-expansion-panel {
  box-shadow: "";
}
.dark-theme app-proceeding-index-item .item .mat-expansion-panel {
  box-shadow: 0px 2px 10px 1px black;
}
/* app-proceeding-author-index-item */
.light-theme app-proceeding-author-index-item .item .mat-expansion-panel {
  box-shadow: "";
}
.dark-theme app-proceeding-author-index-item .item .mat-expansion-panel {
  box-shadow: 0px 2px 10px 1px black;
}
/* app-calendar-view */
.light-theme app-calendar-view .container-view-date {
  color: #363636;
}
.dark-theme app-calendar-view .container-view-date {
  color: #F6F6F6;
}
.light-theme app-calendar-view mwl-calendar-week-view {
  color: "";
}
.dark-theme app-calendar-view mwl-calendar-week-view {
  color: #F6F6F6;
}
.light-theme app-calendar-view .cal-day-headers {
  background-color: "";
}
.dark-theme app-calendar-view .cal-day-headers {
  background-color: #4d4d4d;
}
.light-theme app-calendar-view .cal-week-view, .light-theme .cal-time, .light-theme .cal-hour-segment {
  background-color: "";
}
.dark-theme app-calendar-view .cal-week-view, .dark-theme .cal-time, .dark-theme .cal-hour-segment {
  background-color: #262626;
}
.light-theme app-calendar-view .cal-week-view .cal-day-headers .cal-header:hover {
  background-color: rgba(0, 0, 0, 0.3);
}
.dark-theme app-calendar-view .cal-week-view .cal-day-headers .cal-header:hover {
  background-color: rgba(255, 255, 255, 0.3);
}
.light-theme app-calendar-view .cal-week-view .cal-time-events .cal-day-columns:not(.cal-resize-active) .cal-hour-segment:hover {
  background-color: rgba(0, 0, 0, 0.3);
}
.dark-theme app-calendar-view .cal-week-view .cal-time-events .cal-day-columns:not(.cal-resize-active) .cal-hour-segment:hover {
  background-color: rgba(255, 255, 255, 0.3);
}
/* app-chip-checkbox */
.light-theme app-chip-checkbox .chip-checkbox label div:not(.checked) {
  color: "";
}
.dark-theme app-chip-checkbox .chip-checkbox label div:not(.checked) {
  color: rgba(255, 255, 255, 0.75);
}
.light-theme app-chip-checkbox .chip-checkbox label .mat-icon:not(.checked) {
  color: "";
}
.dark-theme app-chip-checkbox .chip-checkbox label .mat-icon:not(.checked) {
  color: rgba(255, 255, 255, 0.75);
}
/* app-dashboard-settings */
.light-theme app-dashboard-settings .dataset-menu {
  background-color: #ededed;
}
.dark-theme app-dashboard-settings .dataset-menu {
  background-color: #262626;
}
.light-theme app-dashboard-settings .dataset-menu .mat-icon {
  color: #064ad9;
}
.dark-theme app-dashboard-settings .dataset-menu .mat-icon {
  color: #60a5fa;
}
/* app-chart-component */
.light-theme app-chart-component .chart-container {
  background-color: #ededed;
}
.dark-theme app-chart-component .chart-container {
  background-color: #262626;
}
.light-theme app-chart-component .chart-container {
  border-color: #E7E5E4;
}
.dark-theme app-chart-component .chart-container {
  border-color: #3a3937;
}
.light-theme app-chart-component .chart-container .ct-axis-title {
  fill: #363636;
}
.dark-theme app-chart-component .chart-container .ct-axis-title {
  fill: #F6F6F6;
}
.light-theme app-chart-component .chart-container .ct-label {
  color: #363636;
}
.dark-theme app-chart-component .chart-container .ct-label {
  color: #F6F6F6;
}
.light-theme app-chart-component .chart-container .legend-title {
  color: #363636;
}
.dark-theme app-chart-component .chart-container .legend-title {
  color: #F6F6F6;
}
.light-theme app-chart-component .chart-container .ct-grid {
  stroke: #00000033;
}
.dark-theme app-chart-component .chart-container .ct-grid {
  stroke: #ffffff33;
}
.light-theme app-chart-component .ct-legend li {
  color: #363636;
}
.dark-theme app-chart-component .ct-legend li {
  color: #F6F6F6;
}
/* app-chart-component-v2 */
.light-theme app-chart-component-v2 .chart-container-v2 .chart text {
  fill: #363636;
}
.dark-theme app-chart-component-v2 .chart-container-v2 .chart text {
  fill: #F6F6F6;
}
.light-theme app-chart-component-v2 .chart-container-v2 .legend-label .legend-label-text {
  color: #363636;
}
.dark-theme app-chart-component-v2 .chart-container-v2 .legend-label .legend-label-text {
  color: #F6F6F6;
}
.light-theme app-chart-component-v2 .chart-v2 {
  background-color: #ededed;
}
.dark-theme app-chart-component-v2 .chart-v2 {
  background-color: #262626;
}
.light-theme app-chart-component-v2 .chart-legend {
  background-color: transparent !important;
}
.dark-theme app-chart-component-v2 .chart-legend {
  background-color: transparent !important;
}
.light-theme app-chart-component-v2 .chart-legend {
  background: transparent !important;
}
.dark-theme app-chart-component-v2 .chart-legend {
  background: transparent !important;
}
.light-theme app-chart-component-v2 .chart-legend .legend-labels {
  background-color: transparent !important;
}
.dark-theme app-chart-component-v2 .chart-legend .legend-labels {
  background-color: transparent !important;
}
.light-theme app-chart-component-v2 .chart-legend .legend-labels {
  background: transparent !important;
}
.dark-theme app-chart-component-v2 .chart-legend .legend-labels {
  background: transparent !important;
}
.light-theme app-chart-component-v2 .ngx-charts .grid-panel rect {
  fill: transparent !important;
}
.dark-theme app-chart-component-v2 .ngx-charts .grid-panel rect {
  fill: transparent !important;
}
/* app-math-captcha */
.light-theme app-math-captcha .container {
  color: #363636;
}
.dark-theme app-math-captcha .container {
  color: #F6F6F6;
}
.light-theme app-math-captcha #buttonInput {
  background-color: #064ad9;
}
.dark-theme app-math-captcha #buttonInput {
  background-color: #60a5fa;
}
.light-theme app-math-captcha .cls-1 {
  fill: #064ad9;
}
.dark-theme app-math-captcha .cls-1 {
  fill: #60a5fa;
}
/* app-proceeding-step */
.light-theme app-proceeding-step .sections-list .hyperlink {
  color: #064ad9;
}
.dark-theme app-proceeding-step .sections-list .hyperlink {
  color: #60a5fa;
}
.light-theme app-proceeding-step .sections-list .no-hyperlink {
  color: #434343 !important;
}
.dark-theme app-proceeding-step .sections-list .no-hyperlink {
  color: #D6D6D6 !important;
}
.light-theme app-proceeding-step .sections-list {
  border-color: #434343;
}
.dark-theme app-proceeding-step .sections-list {
  border-color: #D6D6D6;
}
/* app-custom-input */
.light-theme .custom-input {
  background-color: white;
}
.dark-theme .custom-input {
  background-color: black;
}
.light-theme .custom-input {
  border: 2px solid rgba(0, 0, 0, 0.25);
}
.dark-theme .custom-input {
  border: 2px solid rgba(255, 255, 255, 0.2);
}
.light-theme .custom-input {
  color: #363636;
}
.dark-theme .custom-input {
  color: #F6F6F6;
}
/* app-support-button */
.light-theme app-support-button .support-button {
  background-color: #ededed;
}
.dark-theme app-support-button .support-button {
  background-color: #262626;
}
.light-theme app-support-button .support-button .mat-icon {
  color: black;
}
.dark-theme app-support-button .support-button .mat-icon {
  color: white;
}
.light-theme app-support-button .support-card {
  background-color: #ededed;
}
.dark-theme app-support-button .support-card {
  background-color: #262626;
}
.light-theme app-support-button .support-card {
  color: black;
}
.dark-theme app-support-button .support-card {
  color: white;
}
.light-theme app-support-button .support-card .card-title {
  color: black;
}
.dark-theme app-support-button .support-card .card-title {
  color: white;
}
.light-theme app-support-button .support-card .card-header .mat-icon {
  color: black;
}
.dark-theme app-support-button .support-card .card-header .mat-icon {
  color: white;
}
/* app-event-setttings-email */
.light-theme app-event-settings-email .event-email mat-card-content {
  background-color: #ededed;
}
.dark-theme app-event-settings-email .event-email mat-card-content {
  background-color: #262626;
}
.light-theme app-support-button .support-card .card-header .mat-icon {
  color: black;
}
.dark-theme app-support-button .support-card .card-header .mat-icon {
  color: white;
}
/* app-user-notifications — regras antigas removidas. O painel agora é
   escopado no componente (user-notifications.component.scss). Referenciam
   estrutura antiga (`.notifications-container .table-container table`,
   `.options mat-icon.button`) que não existe mais. */
/* app-dashboard-chart-v2 */
.light-theme app-dashboard-chart-v2 .chart-container-v2 {
  background: #ededed;
}
.dark-theme app-dashboard-chart-v2 .chart-container-v2 {
  background: #262626;
}
.light-theme app-dashboard-chart-v2 .chart-legend {
  background: transparent !important;
}
.dark-theme app-dashboard-chart-v2 .chart-legend {
  background: transparent !important;
}
.light-theme app-dashboard-chart-v2 .chart-legend {
  background-color: transparent !important;
}
.dark-theme app-dashboard-chart-v2 .chart-legend {
  background-color: transparent !important;
}
.light-theme app-dashboard-chart-v2 .chart-legend .legend-labels {
  background: transparent !important;
}
.dark-theme app-dashboard-chart-v2 .chart-legend .legend-labels {
  background: transparent !important;
}
.light-theme app-dashboard-chart-v2 .chart-legend .legend-labels {
  background-color: transparent !important;
}
.dark-theme app-dashboard-chart-v2 .chart-legend .legend-labels {
  background-color: transparent !important;
}
.light-theme app-dashboard-chart-v2 .ngx-charts .grid-panel rect {
  fill: transparent !important;
}
.dark-theme app-dashboard-chart-v2 .ngx-charts .grid-panel rect {
  fill: transparent !important;
}
.light-theme app-dashboard-chart-v2 .chart-legend .legend-label-text {
  color: #4d5258;
}
.dark-theme app-dashboard-chart-v2 .chart-legend .legend-label-text {
  color: #F6F6F6;
}
.light-theme app-dashboard-chart-v2 .chart-legend .legend-label .active .legend-label-text {
  color: #363636 !important;
}
.dark-theme app-dashboard-chart-v2 .chart-legend .legend-label .active .legend-label-text {
  color: #F6F6F6 !important;
}
.light-theme app-dashboard-chart-v2 .chart-legend .legend-label .active .legend-label-text {
  fill: #363636 !important;
}
.dark-theme app-dashboard-chart-v2 .chart-legend .legend-label .active .legend-label-text {
  fill: #F6F6F6 !important;
}
.light-theme app-dashboard-chart-v2 .ngx-charts .x.axis .label {
  fill: #363636;
}
.dark-theme app-dashboard-chart-v2 .ngx-charts .x.axis .label {
  fill: #F6F6F6;
}
.light-theme app-dashboard-chart-v2 .ngx-charts .y.axis .label {
  fill: #363636;
}
.dark-theme app-dashboard-chart-v2 .ngx-charts .y.axis .label {
  fill: #F6F6F6;
}
.light-theme app-dashboard-chart-v2 .ngx-charts text[transform="rotate(270)"] {
  fill: #363636;
}
.dark-theme app-dashboard-chart-v2 .ngx-charts text[transform="rotate(270)"] {
  fill: #F6F6F6;
}
.light-theme app-dashboard-chart-v2 .ngx-charts .axis-label {
  fill: #363636;
}
.dark-theme app-dashboard-chart-v2 .ngx-charts .axis-label {
  fill: #F6F6F6;
}
.light-theme app-dashboard-chart-v2 .ngx-charts .x.axis .tick text {
  fill: #363636;
}
.dark-theme app-dashboard-chart-v2 .ngx-charts .x.axis .tick text {
  fill: #F6F6F6;
}
.light-theme app-dashboard-chart-v2 .ngx-charts g[ngx-charts-axis-label] text {
  fill: #363636;
}
.dark-theme app-dashboard-chart-v2 .ngx-charts g[ngx-charts-axis-label] text {
  fill: #F6F6F6;
}
.light-theme app-dashboard-chart-v2 .ngx-charts .y.axis .tick text {
  fill: #363636;
}
.dark-theme app-dashboard-chart-v2 .ngx-charts .y.axis .tick text {
  fill: #F6F6F6;
}
.light-theme app-dashboard-chart-v2 .ngx-charts .gridline-path {
  stroke: #363636;
}
.dark-theme app-dashboard-chart-v2 .ngx-charts .gridline-path {
  stroke: #F6F6F6;
}
/* app-admin-event-view */
.light-theme app-admin-event-view .mat-tab-label.mat-tab-label-active > * {
  color: #363636;
}
.dark-theme app-admin-event-view .mat-tab-label.mat-tab-label-active > * {
  color: #F6F6F6;
}
/* app-dashboard-settings (tab labels) */
.light-theme app-dashboard-settings .mat-tab-label.mat-tab-label-active > * {
  color: #363636;
}
.dark-theme app-dashboard-settings .mat-tab-label.mat-tab-label-active > * {
  color: #F6F6F6;
}
/* app-user-notifications */
.light-theme .notifications-menu .notifications-container .table-container table tr {
  background-color: #ededed;
}
.dark-theme .notifications-menu .notifications-container .table-container table tr {
  background-color: #262626;
}
.light-theme .notifications-menu .options mat-icon {
  color: #363636;
}
.dark-theme .notifications-menu .options mat-icon {
  color: #F6F6F6;
}
/* app-assign-review-suggestion */
.light-theme app-assign-review-suggestion .table-weight th {
  background-color: transparent;
}
.dark-theme app-assign-review-suggestion .table-weight th {
  background-color: transparent;
}
.light-theme app-assign-review-suggestion .table-weight thead {
  background-color: #f9f8f7;
}
.dark-theme app-assign-review-suggestion .table-weight thead {
  background-color: #202020;
}
.light-theme app-assign-review-suggestion .table-weight th:first-child {
  background-color: #f9f8f7;
}
.dark-theme app-assign-review-suggestion .table-weight th:first-child {
  background-color: #202020;
}
.light-theme app-assign-review-suggestion .table-weight td:first-child {
  background-color: #f9f8f7;
}
.dark-theme app-assign-review-suggestion .table-weight td:first-child {
  background-color: #202020;
}
.light-theme app-assign-review-suggestion .table-weight td:not(first-child) {
  background-color: #ededed;
}
.dark-theme app-assign-review-suggestion .table-weight td:not(first-child) {
  background-color: #262626;
}
.light-theme app-assign-review-suggestion .table-weight td, .light-theme th {
  border: 1px solid #F6F6F6;
}
.dark-theme app-assign-review-suggestion .table-weight td, .dark-theme th {
  border: 1px solid black;
}
/* Mobile layout (TPC chair, viewport < 768px) — see
 * admin-event-sidebar.component.{ts,html,scss}. View encapsulation is
 * Emulated on this component; the mobile chrome SCSS is co-located with
 * the component, but theme tokens (which use light-/dark-theme classes
 * applied to <body>) must live here at the global scope, otherwise the
 * `.light-theme` / `.dark-theme` body selectors don't survive Emulated
 * encapsulation and the rules are silently dropped. */
.light-theme app-admin-event-sidebar .mobile-top-bar {
  background-color: #f9f8f7;
}
.dark-theme app-admin-event-sidebar .mobile-top-bar {
  background-color: #202020;
}
.light-theme app-admin-event-sidebar .mobile-top-bar {
  border-bottom-color: #E7E5E4;
}
.dark-theme app-admin-event-sidebar .mobile-top-bar {
  border-bottom-color: #3a3937;
}
.light-theme app-admin-event-sidebar .mobile-top-bar-title {
  color: #000;
}
.dark-theme app-admin-event-sidebar .mobile-top-bar-title {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .mobile-bottom-nav {
  background-color: #f9f8f7;
}
.dark-theme app-admin-event-sidebar .mobile-bottom-nav {
  background-color: #202020;
}
.light-theme app-admin-event-sidebar .mobile-bottom-nav {
  border-top-color: #E7E5E4;
}
.dark-theme app-admin-event-sidebar .mobile-bottom-nav {
  border-top-color: #3a3937;
}
.light-theme app-admin-event-sidebar .mobile-bottom-nav-item {
  color: #373734;
}
.dark-theme app-admin-event-sidebar .mobile-bottom-nav-item {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .mobile-bottom-nav-item.active {
  color: #000;
}
.dark-theme app-admin-event-sidebar .mobile-bottom-nav-item.active {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .mobile-bottom-nav-item.active {
  border-top-color: #000;
}
.dark-theme app-admin-event-sidebar .mobile-bottom-nav-item.active {
  border-top-color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .mobile-sheet {
  background-color: #f9f8f7;
}
.dark-theme app-admin-event-sidebar .mobile-sheet {
  background-color: #202020;
}
.light-theme app-admin-event-sidebar .mobile-sheet-title {
  color: #000;
}
.dark-theme app-admin-event-sidebar .mobile-sheet-title {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .mobile-sheet-section-label {
  color: #373734;
}
.dark-theme app-admin-event-sidebar .mobile-sheet-section-label {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .mobile-sheet-item {
  color: #373734;
}
.dark-theme app-admin-event-sidebar .mobile-sheet-item {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .mobile-sheet-item:hover {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .mobile-sheet-item:hover {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .mobile-sheet-item.active {
  color: #000;
}
.dark-theme app-admin-event-sidebar .mobile-sheet-item.active {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .mobile-sheet-item.active {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .mobile-sheet-item.active {
  background-color: #34332f;
}
/* app-event-program */
.light-theme app-event-program .session-ghost {
  color: rgba(0, 0, 0, 0.55);
}
.dark-theme app-event-program .session-ghost {
  color: rgba(255, 255, 255, 0.55);
}
.light-theme app-event-program .session-ghost:hover {
  border-color: rgba(0, 0, 0, 0.35);
}
.dark-theme app-event-program .session-ghost:hover {
  border-color: rgba(255, 255, 255, 0.35);
}
.light-theme app-event-program .session-ghost {
  color: rgba(0, 0, 0, 0.75);
}
.dark-theme app-event-program .session-ghost {
  color: rgba(255, 255, 255, 0.75);
}
.light-theme .mat-menu-panel.tpc-user-menu .container-theme button.mat-menu-item.highlight-button:hover .mat-icon, .light-theme .mat-menu-panel.tpc-user-menu .container-layout button.mat-menu-item.highlight-button:hover .mat-icon, .light-theme .mat-menu-panel.tpc-user-menu .container-layout button.mat-menu-item.highlight-button:hover .layout-icon, .light-theme .mat-menu-panel.tpc-user-menu .container-language-compact button.mat-menu-item.highlight-button:hover .mat-icon {
  color: #000;
}
.dark-theme .mat-menu-panel.tpc-user-menu .container-theme button.mat-menu-item.highlight-button:hover .mat-icon, .dark-theme .mat-menu-panel.tpc-user-menu .container-layout button.mat-menu-item.highlight-button:hover .mat-icon, .dark-theme .mat-menu-panel.tpc-user-menu .container-layout button.mat-menu-item.highlight-button:hover .layout-icon, .dark-theme .mat-menu-panel.tpc-user-menu .container-language-compact button.mat-menu-item.highlight-button:hover .mat-icon {
  color: #f2f1ee;
}
.light-theme .people-table table.jems3-table td.mat-cell:not(.jems3-table-numbering):not(:last-of-type) {
  background-color: #E7E5E4;
}
.dark-theme .people-table table.jems3-table td.mat-cell:not(.jems3-table-numbering):not(:last-of-type) {
  background-color: #302C29;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .mat-icon {
  color: #434343 !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .mat-icon {
  color: #2DD4BF !important;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-my-reviews .mat-icon {
  color: #F59E0B !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-my-reviews .mat-icon {
  color: #FCD34D !important;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-session-chairings .mat-icon {
  color: #4F46E5 !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-session-chairings .mat-icon {
  color: #818CF8 !important;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-publication-chairings .mat-icon {
  color: #0891B2 !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-publication-chairings .mat-icon {
  color: #67E8F9 !important;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-tpcs .mat-icon {
  color: #DC2626 !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-tpcs .mat-icon {
  color: #FF1A1A !important;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-chairings .mat-icon {
  color: #7708AF !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-chairings .mat-icon {
  color: #BC5DDF !important;
}
.mat-menu-panel.tpc-user-menu:has(.nav-overflow-mi) {
  background-color: #f9f8f7 !important;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32)) !important;
  box-shadow: none !important;
  min-height: 0 !important;
  padding: 8px !important;
}
.mat-menu-panel.tpc-user-menu:has(.nav-overflow-mi) .mat-menu-content {
  padding: 0 !important;
  min-height: 0 !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu:has(.nav-overflow-mi) {
  min-height: 0 !important;
  padding: 8px !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu:has(.nav-overflow-mi) {
  background-color: #202020 !important;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7)) !important;
  box-shadow: none !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi {
  display: flex !important;
  align-items: center !important;
  height: 36px !important;
  min-height: 36px !important;
  line-height: 1 !important;
  padding: 0 10px !important;
  box-sizing: border-box !important;
  border: 1px solid #E7E5E4 !important;
  border-radius: 6px !important;
  margin-bottom: 6px !important;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  color: #373734 !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi:last-child {
  margin-bottom: 0 !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .mat-icon {
  opacity: 1 !important;
  font-variation-settings: "FILL" 1, "wght" 400, "opsz" 24 !important;
  vertical-align: middle;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-tpcs .mat-icon {
  font-size: 16px !important;
  width: 16px !important;
  height: 16px !important;
  line-height: 16px !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi {
  border-color: #3a3937 !important;
  color: #c4c2bd !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.is-selected {
  background-color: #ffffff !important;
  position: relative;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.is-selected {
  background-color: #2e2e2e !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.7) !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.is-selected::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: var(--accent-width, calc(100% - 2px));
  bottom: -1px;
  height: 2px;
  pointer-events: none;
  -webkit-clip-path: var(--accent-clip-path, polygon(0 0, 100% 0, calc(100% - 2px) 100%, 2px 100%));
          clip-path: var(--accent-clip-path, polygon(0 0, 100% 0, calc(100% - 2px) 100%, 2px 100%));
  background: var(--accent-background, none);
  background-color: #373734;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-my-reviews.is-selected::after {
  background-color: #F59E0B;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-my-reviews.is-selected::after {
  background-color: #FCD34D;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-tpcs.is-selected::after {
  background-color: #DC2626;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-tpcs.is-selected::after {
  background-color: #FF1A1A;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-chairings.is-selected::after {
  background-color: #7708AF;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-chairings.is-selected::after {
  background-color: #BC5DDF;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-session-chairings.is-selected::after {
  background-color: #4F46E5;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-session-chairings.is-selected::after {
  background-color: #818CF8;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-publication-chairings.is-selected::after {
  background-color: #0891B2;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-publication-chairings.is-selected::after {
  background-color: #67E8F9;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi {
  position: relative;
  overflow: visible !important;
}
.mat-menu-panel.tpc-user-menu:has(.nav-overflow-mi),
.mat-menu-panel.tpc-user-menu:has(.nav-overflow-mi) .mat-menu-content {
  overflow: visible !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .nav-overflow-mi-label {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .nav-overflow-mi-badges {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  transform: translate(4px, -6px) !important;
  display: inline-flex;
  gap: 3px;
  pointer-events: none;
  z-index: 1;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .nav-overflow-mi-badge {
  min-width: 16px;
  height: 16px;
  padding: 0 5px;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 600;
  line-height: 16px;
  text-align: center;
  color: #1f1f1f;
  letter-spacing: 0;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .nav-overflow-mi-badge.is-zero {
  display: none;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .nav-overflow-mi-badge.status-confirmed {
  background-color: #FFD860;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .nav-overflow-mi-badge.status-notified {
  background-color: #94C0FB;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .nav-overflow-mi-badge.status-pending {
  background-color: #FAB65C;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi:hover:not([disabled]) {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
  background-color: transparent !important;
  color: #373734 !important;
  font-weight: 500 !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi:hover:not([disabled]) {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.7) !important;
  background-color: transparent !important;
  color: #c4c2bd !important;
  font-weight: 500 !important;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi:hover:not([disabled]) .mat-icon,
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi:hover:not([disabled]) .mat-icon {
  opacity: 1 !important;
  font-variation-settings: "FILL" 1, "wght" 400, "opsz" 24 !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi:active {
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3) !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi:active {
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7) !important;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skip-link {
  position: absolute;
  top: -100px;
  left: 0;
  background: var(--c-accent, #7C2D12);
  color: #fff;
  padding: 8px 14px;
  z-index: 10000;
  text-decoration: none;
  font-weight: 500;
}
.skip-link:focus, .skip-link:focus-visible {
  top: 8px;
  left: 8px;
}
.cards-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
body.view-mode-full {
  background-color: #EEECEB;
}
body.view-mode-full app-fixed-top-progress-bar {
  display: none !important;
}
body.view-mode-full.dark-theme {
  background-color: black;
}
.view-mode-full-shell {
  padding-left: 1.3rem;
  padding-right: 1.3rem;
}
@media (max-width: 767px) {
  .view-mode-full-shell {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
*::before,
*::after {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
}
.main {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.mat-checkbox-ripple .mat-ripple-element {
  display: none;
}
.mat-checkbox-checkmark-path {
  transition: none !important;
  -webkit-animation: none !important;
          animation: none !important;
}
.mat-checkbox .mat-checkbox-layout {
  align-items: center;
}
.mat-checkbox .mat-checkbox-inner-container {
  width: 16px;
  height: 16px;
  margin-right: 8px;
}
.mat-checkbox .mat-checkbox-frame {
  border-width: 1.5px;
  border-radius: 4px;
  transition: background-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1), border-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.mat-checkbox .mat-checkbox-background {
  border-radius: 4px;
  transition: background-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.mat-checkbox .mat-checkbox-checkmark {
  transform: scale(0.8);
  transform-origin: center;
}
.mat-checkbox.cdk-keyboard-focused .mat-checkbox-frame {
  outline-offset: 2px;
}
.mat-checkbox.mat-checkbox-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.jems3-native-checkbox {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  margin: 0;
  vertical-align: middle;
  border: 1.5px solid #908985;
  border-radius: 4px;
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  cursor: pointer;
  transition: background-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1), border-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.jems3-native-checkbox:checked {
  background-color: #064ad9;
  border-color: #064ad9;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3 8 L7 12 L13 4' stroke='%23f9f8f7' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.jems3-native-checkbox:indeterminate {
  background-color: #064ad9;
  border-color: #064ad9;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 8 L12 8' stroke='%23f9f8f7' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");
}
.jems3-native-checkbox:hover:not(:disabled) {
  border-color: #000;
}
.jems3-native-checkbox:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.jems3-native-checkbox:focus-visible {
  outline: 2px solid #064ad9;
  outline-offset: 2px;
}
.dark-theme .jems3-native-checkbox {
  border-color: #A8A29E;
}
.dark-theme .jems3-native-checkbox:checked {
  background-color: #D6D3D1;
  border-color: #D6D3D1;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3 8 L7 12 L13 4' stroke='%23202020' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.dark-theme .jems3-native-checkbox:indeterminate {
  background-color: #D6D3D1;
  border-color: #D6D3D1;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 8 L12 8' stroke='%23202020' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");
}
.dark-theme .jems3-native-checkbox:hover:not(:disabled) {
  border-color: #f2f1ee;
}
.dark-theme .jems3-native-checkbox:focus-visible {
  outline-color: #0080ff;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.jems3-native-radio {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  margin: 0;
  vertical-align: middle;
  border: 1.5px solid #908985;
  border-radius: 50%;
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  cursor: pointer;
  transition: background-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1), border-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.jems3-native-radio:checked {
  background-color: #064ad9;
  border-color: #064ad9;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='4' fill='%23f9f8f7'/%3E%3C/svg%3E");
}
.jems3-native-radio:hover:not(:disabled) {
  border-color: #000;
}
.jems3-native-radio:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.jems3-native-radio:focus-visible {
  outline: 2px solid #064ad9;
  outline-offset: 2px;
}
.dark-theme .jems3-native-radio {
  border-color: #A8A29E;
}
.dark-theme .jems3-native-radio:checked {
  background-color: #D6D3D1;
  border-color: #D6D3D1;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='4' fill='%23202020'/%3E%3C/svg%3E");
}
.dark-theme .jems3-native-radio:hover:not(:disabled) {
  border-color: #f2f1ee;
}
.dark-theme .jems3-native-radio:focus-visible {
  outline-color: #0080ff;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.mat-slide-toggle .mat-slide-toggle-ripple {
  display: none;
}
.mat-slide-toggle {
  height: auto !important;
  line-height: 1.3 !important;
}
.mat-slide-toggle .mat-slide-toggle-thumb {
  position: relative;
}
.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  -webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 4 L3.5 6 L6.5 2' stroke='black' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 4 L3.5 6 L6.5 2' stroke='black' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-size: 60%;
  mask-size: 60%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}
.mat-slide-toggle .mat-slide-toggle-thumb-container {
  transition: transform 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.mat-slide-toggle .mat-slide-toggle-bar {
  transition: background-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.mat-slide-toggle .mat-slide-toggle-thumb {
  transition: background-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar {
  outline-offset: 2px;
}
.mat-slide-toggle.mat-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.mat-slide-toggle .mat-slide-toggle-bar {
  width: 32px;
  height: 18px;
  border-radius: 9px;
}
.mat-slide-toggle .mat-slide-toggle-thumb-container {
  width: 10px;
  height: 10px;
  top: 4px;
  left: 4px;
  transition: transform 200ms cubic-bezier(0.25, 0.8, 0.25, 1), width 150ms cubic-bezier(0.25, 0.8, 0.25, 1), height 150ms cubic-bezier(0.25, 0.8, 0.25, 1), top 150ms cubic-bezier(0.25, 0.8, 0.25, 1), left 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.mat-slide-toggle .mat-slide-toggle-thumb {
  width: 10px;
  height: 10px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  transition: background-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1), width 150ms cubic-bezier(0.25, 0.8, 0.25, 1), height 150ms cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container {
  width: 14px;
  height: 14px;
  top: 2px;
  left: 2px;
  transform: translate3d(14px, 0, 0) !important;
}
.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb {
  width: 14px;
  height: 14px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb::after {
  -webkit-mask-size: 55%;
  mask-size: 55%;
}
.mat-slide-toggle.mat-checked .mat-slide-toggle-bar {
  box-shadow: none !important;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.mat-radio-button .mat-radio-ripple {
  display: none;
}
.mat-radio-button .mat-radio-container {
  width: 16px;
  height: 16px;
}
.mat-radio-button .mat-radio-outer-circle {
  width: 16px;
  height: 16px;
  border-width: 1.5px;
  transition: background-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1), border-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.mat-radio-button .mat-radio-inner-circle {
  width: 16px;
  height: 16px;
  transition: transform 150ms cubic-bezier(0.25, 0.8, 0.25, 1), background-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.mat-radio-button.mat-radio-checked .mat-radio-inner-circle {
  transform: scale(0.375);
}
.mat-radio-button.cdk-keyboard-focused .mat-radio-outer-circle {
  outline-offset: 2px;
}
.mat-radio-button.mat-radio-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
@font-face {
  font-family: "jems3r";
  src: url("/assets/fonts/jems3r.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
.jems3r {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "jems3r" !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.jems3r.fa-calendar-alt:before {
  content: "";
}
.jems3r.fa-check-square:before {
  content: "";
}
.jems3r.fa-clock:before {
  content: "";
}
.jems3r.fa-edit:before {
  content: "";
}
.jems3r.fa-eye:before {
  content: "";
}
.jems3r.fa-eye-slash:before {
  content: "";
}
.jems3r.fa-file-alt:before {
  content: "";
}
.jems3r.fa-lightbulb:before {
  content: "";
}
.jems3r.fa-minus-square:before {
  content: "";
}
.jems3r.fa-paper-plane:before {
  content: "";
}
.jems3r.fa-square:before {
  content: "";
}
.jems3r.fa-sticky-note:before {
  content: "";
}
.jems3r.fa-bell:before {
  content: "";
}
.jems3r.fa-plus-square:before {
  content: "";
}
@font-face {
  font-family: "jems3s";
  src: url("/assets/fonts/jems3s.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
.jems3s {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "jems3s" !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.jems3s.fa-angle-double-down:before {
  content: "";
}
.jems3s.fa-angle-double-left:before {
  content: "";
}
.jems3s.fa-angle-double-up:before {
  content: "";
}
.jems3s.fa-arrow-right:before {
  content: "";
}
.jems3s.fa-balance-scale:before {
  content: "";
}
.jems3s.fa-bars:before {
  content: "";
}
.jems3s.fa-book:before {
  content: "";
}
.jems3s.fa-border-none:before {
  content: "";
}
.jems3s.fa-calendar-alt:before {
  content: "";
}
.jems3s.fa-calendar-check:before {
  content: "";
}
.jems3s.fa-camera:before {
  content: "";
}
.jems3s.fa-check-circle:before {
  content: "";
}
.jems3s.fa-check-double:before {
  content: "";
}
.jems3s.fa-check:before {
  content: "";
}
.jems3s.fa-chevron-down:before {
  content: "";
}
.jems3s.fa-chevron-up:before {
  content: "";
}
.jems3s.fa-clipboard-check:before {
  content: "";
}
.jems3s.fa-clipboard:before {
  content: "";
}
.jems3s.fa-clock:before {
  content: "";
}
.jems3s.fa-cogs:before {
  content: "";
}
.jems3s.fa-comment-dots:before {
  content: "";
}
.jems3s.fa-comment:before {
  content: "";
}
.jems3s.fa-comments:before {
  content: "";
}
.jems3s.fa-download:before {
  content: "";
}
.jems3s.fa-edit:before {
  content: "";
}
.jems3s.fa-ellipsis-h:before {
  content: "";
}
.jems3s.fa-envelope:before {
  content: "";
}
.jems3s.fa-exclamation-circle:before {
  content: "";
}
.jems3s.fa-exclamation:before {
  content: "";
}
.jems3s.fa-exclamation-triangle:before {
  content: "";
}
.jems3s.fa-eye-slash:before {
  content: "";
}
.jems3s.fa-eye:before {
  content: "";
}
.jems3s.fa-file-download:before {
  content: "";
}
.jems3s.fa-file-excel:before {
  content: "";
}
.jems3s.fa-file-pdf:before {
  content: "";
}
.jems3s.fa-file-word:before {
  content: "";
}
.jems3s.fa-filter:before {
  content: "";
}
.jems3s.fa-globe:before {
  content: "";
}
.jems3s.fa-history:before {
  content: "";
}
.jems3s.fa-home:before {
  content: "";
}
.jems3s.fa-hourglass-half:before {
  content: "";
}
.jems3s.fa-hourglass:before {
  content: "";
}
.jems3s.fa-id-badge:before {
  content: "";
}
.jems3s.fa-indent:before {
  content: "";
}
.jems3s.fa-info-circle:before {
  content: "";
}
.jems3s.fa-info:before {
  content: "";
}
.jems3s.fa-lightbulb:before {
  content: "";
}
.jems3s.fa-list-alt:before {
  content: "";
}
.jems3s.fa-lock:before {
  content: "";
}
.jems3s.fa-map-marker-alt:before {
  content: "";
}
.jems3s.fa-minus-square:before {
  content: "";
}
.jems3s.fa-paper-plane:before {
  content: "";
}
.jems3s.fa-pencil-alt:before {
  content: "";
}
.jems3s.fa-pen:before {
  content: "";
}
.jems3s.fa-plus-circle:before {
  content: "";
}
.jems3s.fa-plus:before {
  content: "";
}
.jems3s.fa-plus-square:before {
  content: "";
}
.jems3s.fa-question-circle:before {
  content: "";
}
.jems3s.fa-search:before {
  content: "";
}
.jems3s.fa-sign-out-alt:before {
  content: "";
}
.jems3s.fa-sliders-h:before {
  content: "";
}
.jems3s.fa-sort-amount-up-alt:before {
  content: "";
}
.jems3s.fa-sync-alt:before {
  content: "";
}
.jems3s.fa-tachometer-alt:before {
  content: "";
}
.jems3s.fa-tag:before {
  content: "";
}
.jems3s.fa-thumbs-down:before {
  content: "";
}
.jems3s.fa-thumbs-up:before {
  content: "";
}
.jems3s.fa-times-circle:before {
  content: "";
}
.jems3s.fa-times:before {
  content: "";
}
.jems3s.fa-trash-alt:before {
  content: "";
}
.jems3s.fa-trash:before {
  content: "";
}
.jems3s.fa-undo:before {
  content: "";
}
.jems3s.fa-unlock-alt:before {
  content: "";
}
.jems3s.fa-upload:before {
  content: "";
}
.jems3s.fa-user-circle:before {
  content: "";
}
.jems3s.fa-user-cog:before {
  content: "";
}
.jems3s.fa-user-edit:before {
  content: "";
}
.jems3s.fa-users-slash:before {
  content: "";
}
.jems3s.fa-window-close:before {
  content: "";
}
.jems3s.fa-star:before {
  content: "";
}
.jems3s.fa-users:before {
  content: "";
}
.jems3s.fa-file-alt:before {
  content: "";
}
.jems3s.fa-level-up-alt:before {
  content: "";
}
.jems3s.fa-question:before {
  content: "";
}
.jems3s.fa-hourglass-half:before {
  content: "";
}
.jems3s.fa-headset:before {
  content: "";
}
.jems3s.fa-city:before {
  content: "";
}
.jems3s.fa-file:before {
  content: "";
}
.jems3s.fa-file-archive:before {
  content: "";
}
.jems3s.fa-bell:before {
  content: "";
}
.jems3s.fa-envelope-open:before {
  content: "";
}
.jems3s.fa-sticky-note:before {
  content: "";
}
.jems3s.fa-laptop:before {
  content: "";
}
.jems3s.fa-moon:before {
  content: "";
}
.jems3s.fa-sun:before {
  content: "";
}
.tpc-md3 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-feature-settings: "kern", "liga", "calt", "tnum";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.015625rem;
}
.tpc-md3 .md3-display-large {
  font-size: 3.5625rem;
  line-height: 4rem;
  font-weight: 400;
  letter-spacing: -0.015625rem;
}
.tpc-md3 .md3-display-medium {
  font-size: 2.8125rem;
  line-height: 3.25rem;
  font-weight: 400;
  letter-spacing: 0;
}
.tpc-md3 .md3-display-small {
  font-size: 2.25rem;
  line-height: 2.75rem;
  font-weight: 400;
  letter-spacing: 0;
}
.tpc-md3 .md3-headline-large {
  font-size: 2rem;
  line-height: 2.5rem;
  font-weight: 400;
  letter-spacing: 0;
}
.tpc-md3 .md3-headline-medium {
  font-size: 1.75rem;
  line-height: 2.25rem;
  font-weight: 400;
  letter-spacing: 0;
}
.tpc-md3 .md3-headline-small {
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 400;
  letter-spacing: 0;
}
.tpc-md3 .md3-title-large {
  font-size: 1.375rem;
  line-height: 1.75rem;
  font-weight: 400;
  letter-spacing: 0;
}
.tpc-md3 .md3-title-medium {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.009375rem;
}
.tpc-md3 .md3-title-small {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.00625rem;
}
.tpc-md3 .md3-body-large {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.03125rem;
}
.tpc-md3 .md3-body-medium {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.015625rem;
}
.tpc-md3 .md3-body-small {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 400;
  letter-spacing: 0.025rem;
}
.tpc-md3 .md3-label-large {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.00625rem;
}
.tpc-md3 .md3-label-medium {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  letter-spacing: 0.03125rem;
}
.tpc-md3 .md3-label-small {
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
  letter-spacing: 0.03125rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --chart-status-pending: #e5e5e5;
  --chart-status-active: #FFFF55;
  --chart-status-accepted: #99FF99;
  --chart-status-rejected: #ffbdbd;
  --chart-status-withdrawn: #DDDDDD;
  --chart-status-assigned: #FFFFFF;
  --chart-status-notified: #94C0FB;
  --chart-status-confirmed: #FFD860;
  --chart-status-declined: #C6C6C6;
  --chart-status-reminded: #FF8FA0;
  --chart-status-late: #fa5b5b;
  --chart-status-delegated: #ff89c9;
  --chart-status-completed: #63FCC8;
  --chart-status-draft: #AAAAAA;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
body.installed-app .event-breadcrumb,
body.installed-app .experimental-sidebar {
  border-top: 1px solid #E7E5E4;
}
body.installed-app.dark-theme .event-breadcrumb,
body.installed-app.dark-theme .experimental-sidebar {
  border-top-color: #3a3937;
}
:root {
  --chrome-top-offset: 0px;
}
body.proxy-active {
  --chrome-top-offset: 30px;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL19jb3JlLnNjc3MiLCIuLi8uLi9fZm9udHMtbG9jYWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AYW5ndWxhci9tYXRlcmlhbC9fdGhlbWluZy5zY3NzIiwiLi4vLi4vX3RoZW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYnVsbWEvc2Fzcy91dGlsaXRpZXMvYW5pbWF0aW9ucy5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2J1bG1hL3Nhc3MvdXRpbGl0aWVzL21peGlucy5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2J1bG1hL3Nhc3MvdXRpbGl0aWVzL2luaXRpYWwtdmFyaWFibGVzLnNhc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYnVsbWEvc2Fzcy9iYXNlL21pbmlyZXNldC5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2J1bG1hL3Nhc3MvYmFzZS9nZW5lcmljLnNhc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYnVsbWEvc2Fzcy9iYXNlL2hlbHBlcnMuc2FzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9idWxtYS9zYXNzL2dyaWQvY29sdW1ucy5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2J1bG1hL3Nhc3MvZ3JpZC90aWxlcy5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2J1bG1hL3Nhc3MvY29tcG9uZW50cy9uYXZiYXIuc2FzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9idWxtYS9zYXNzL2VsZW1lbnRzL2NvbnRhaW5lci5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2J1bG1hL3Nhc3MvbGF5b3V0L3NlY3Rpb24uc2FzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9idWxtYS9zYXNzL2VsZW1lbnRzL3RpdGxlLnNhc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYnVsbWEvc2Fzcy91dGlsaXRpZXMvZGVyaXZlZC12YXJpYWJsZXMuc2FzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9idWxtYS1kaXZpZGVyL3NyYy9zYXNzL2luZGV4LnNhc3MiLCIuLi8uLi9fYnVsbWEuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jaGFydGlzdC9kaXN0L3Njc3MvY2hhcnRpc3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jaGFydGlzdC9kaXN0L3Njc3Mvc2V0dGluZ3MvX2NoYXJ0aXN0LXNldHRpbmdzLnNjc3MiLCIuLi8uLi9fY2hhcnRpc3Quc2NzcyIsIi4uLy4uL19jb2xvcnMuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwiLi4vLi4vX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2FuZ3VsYXItY2FsZW5kYXIvc2Nzcy9tb2R1bGVzL21vbnRoL2NhbGVuZGFyLW1vbnRoLXZpZXcuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9hbmd1bGFyLWNhbGVuZGFyL3Njc3MvbW9kdWxlcy93ZWVrL2NhbGVuZGFyLXdlZWstdmlldy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2FuZ3VsYXItY2FsZW5kYXIvc2Nzcy9tb2R1bGVzL2RheS9jYWxlbmRhci1kYXktdmlldy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2FuZ3VsYXItY2FsZW5kYXIvc2Nzcy9tb2R1bGVzL2NvbW1vbi9jYWxlbmRhci10b29sdGlwLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19pbnB1dC5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19oZWFkZXItaWNvbi1idXR0b24uc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19ub3RpZmljYXRpb24uc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX3NpZGViYXIuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uLy4uL19taXhpbnMuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX2N1c3RvbS1mb3JtLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19ldmVudC1hZG1pbi5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fc25hY2tiYXIuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX2ZhYi5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fcGFnaW5hdG9yLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19zaG93LWFsbC1zdWJtaXNzaW9ucy5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fZGF0ZXRpbWUuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX2Zvcm0tZmllbGQuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX3BhcGVyLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19sZWdlbmQuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX25vdGljZS5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9faG9tZS5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fbWFya2Rvd24uc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX3N0cnVjdHVyZS5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fZW1wdHktcGFnZS1wYW5lbC5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fbmF0aXZlLWlucHV0LnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19uYXRpdmUtYnV0dG9uLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fdG9waWMtY2hpcC5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fdGhyZXNob2xkLWJhbmQtcG9wb3Zlci5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fc2NvcmUtZ3JpZC5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fZGlhbG9nLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19zZWdtZW50ZWQuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX3N0YXR1cy1jaGlwLnNjc3MiLCIuLi8uLi9fY29sb3Itc2NoZW1lLnNjc3MiLCIuLi8uLi9fei1pbmRleC5zY3NzIiwiLi4vLi4vX2ExMXkuc2NzcyIsIi4uLy4uL192aWV3LW1vZGUuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX21hdC1jaGVja2JveC5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fY2hlY2tib3guc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX3JhZGlvLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19tYXQtc2xpZGUtdG9nZ2xlLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19tYXQtcmFkaW8uc2NzcyIsIi4uLy4uL2ljb25zL19qZW1zM3Iuc2NzcyIsIi4uLy4uL2ljb25zL19qZW1zM3Muc2NzcyIsIi4uLy4uL190eXBvZ3JhcGh5LW1kMy5zY3NzIiwiLi4vLi4vX2NoYXJ0LXZhcnMuc2NzcyIsIi4uLy4uL19pbnN0YWxsZWQtYXBwLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDK0NoQixpSEFBQTtBQUNBO0VBQ0Usd0NBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxnRkFBQTtBRDdDRjtBQytDQTs7RUFVRSx3Q0FBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtFQUNBLHNCQUFBO0VBQ0Esb0JBQUE7RUFDQSxxQkFBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7RUFDQSxjQUFBO0VBQ0EscUNBQUE7RUFDQSxtQ0FBQTtBRHJERjtBQ3dEQSxnRkFBQTtBQUNBLGlCQUFBO0FBQ0E7RUFDRSxvQkFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxrQkFBQTtFQUNBLHlFQUFBO0VBQ0Esc0ZBQUE7QURyREY7QUN1REEsYUFBQTtBQUNBO0VBQ0Usb0JBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxxRUFBQTtFQUNBLG9FQUFBO0FEckRGO0FD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QkFBQTtFVHN6Sko7O0VTdnpKRTtJQUNFLDBCQUFBO0VUMHpKSjs7RVMzekpFO0lBQ0UsNkJBQUE7RVQ4ekpKO0FBQ0Y7QUtyd0pFO0VJM0RFO0lBQ0UsMEJBQUE7RVRtMEpKOztFU3AwSkU7SUFDRSw0QkFBQTtFVHUwSko7O0VTeDBKRTtJQUNFLDBCQUFBO0VUMjBKSjs7RVM1MEpFO0lBQ0UsNEJBQUE7RVQrMEpKOztFU2gxSkU7SUFDRSw2QkFBQTtFVG0xSko7O0VTcDFKRTtJQUNFLDBCQUFBO0VUdTFKSjs7RVN4MUpFO0lBQ0UsNkJBQUE7RVQyMUpKO0FBQ0Y7QUsxeEpFO0VJbkVFO0lBQ0UsMEJBQUE7RVRnMkpKOztFU2oySkU7SUFDRSw0QkFBQTtFVG8ySko7O0VTcjJKRTtJQUNFLDBCQUFBO0VUdzJKSjs7RVN6MkpFO0lBQ0UsNEJBQUE7RVQ0MkpKOztFUzcySkU7SUFDRSw2QkFBQTtFVGczSko7O0VTajNKRTtJQUNFLDBCQUFBO0VUbzNKSjs7RVNyM0pFO0lBQ0UsNkJBQUE7RVR3M0pKO0FBQ0Y7QUtuekpFO0VJdkVFO0lBQ0UsMEJBQUE7RVQ2M0pKOztFUzkzSkU7SUFDRSw0QkFBQTtFVGk0Sko7O0VTbDRKRTtJQUNFLDBCQUFBO0VUcTRKSjs7RVN0NEpFO0lBQ0UsNEJBQUE7RVR5NEpKOztFUzE0SkU7SUFDRSw2QkFBQTtFVDY0Sko7O0VTOTRKRTtJQUNFLDBCQUFBO0VUaTVKSjs7RVNsNUpFO0lBQ0UsNkJBQUE7RVRxNUpKO0FBQ0Y7QUtqMEpJO0VJdEZBO0lBQ0UsMEJBQUE7RVQwNUpKOztFUzM1SkU7SUFDRSw0QkFBQTtFVDg1Sko7O0VTLzVKRTtJQUNFLDBCQUFBO0VUazZKSjs7RVNuNkpFO0lBQ0UsNEJBQUE7RVRzNkpKOztFU3Y2SkU7SUFDRSw2QkFBQTtFVDA2Sko7O0VTMzZKRTtJQUNFLDBCQUFBO0VUODZKSjs7RVMvNkpFO0lBQ0UsNkJBQUE7RVRrN0pKO0FBQ0Y7QUsvMEpJO0VJckdBO0lBQ0UsMEJBQUE7RVR1N0pKOztFU3g3SkU7SUFDRSw0QkFBQTtFVDI3Sko7O0VTNTdKRTtJQUNFLDBCQUFBO0VUKzdKSjs7RVNoOEpFO0lBQ0UsNEJBQUE7RVRtOEpKOztFU3A4SkU7SUFDRSw2QkFBQTtFVHU4Sko7O0VTeDhKRTtJQUNFLDBCQUFBO0VUMjhKSjs7RVM1OEpFO0lBQ0UsNkJBQUE7RVQrOEpKO0FBQ0Y7QVN2N0pFO0VBQ0UsNkJBQUE7QVR5N0pKO0FTMTdKRTtFQUNFLDhCQUFBO0FUNjdKSjtBUzk3SkU7RUFDRSwyQkFBQTtBVGk4Sko7QVNsOEpFO0VBQ0UsNEJBQUE7QVRxOEpKO0FLejZKRTtFSXhCRTtJQUNFLDZCQUFBO0VUcThKSjtBQUNGO0FLMzZKRTtFSXpCRTtJQUNFLDZCQUFBO0VUdThKSjtBQUNGO0FLNTZKRTtFSTFCRTtJQUNFLDZCQUFBO0VUeThKSjtBQUNGO0FLNzZKRTtFSTNCRTtJQUNFLDZCQUFBO0VUMjhKSjtBQUNGO0FLOTZKRTtFSTVCRTtJQUNFLDZCQUFBO0VUNjhKSjtBQUNGO0FLOTZKSTtFSTlCQTtJQUNFLDZCQUFBO0VUKzhKSjtBQUNGO0FLejZKSTtFSXJDQTtJQUNFLDZCQUFBO0VUaTlKSjtBQUNGO0FLejZKSTtFSXZDQTtJQUNFLDZCQUFBO0VUbTlKSjtBQUNGO0FLcDZKSTtFSTlDQTtJQUNFLDZCQUFBO0VUcTlKSjtBQUNGO0FLdjlKRTtFSXhCRTtJQUNFLDhCQUFBO0VUay9KSjtBQUNGO0FLeDlKRTtFSXpCRTtJQUNFLDhCQUFBO0VUby9KSjtBQUNGO0FLejlKRTtFSTFCRTtJQUNFLDhCQUFBO0VUcy9KSjtBQUNGO0FLMTlKRTtFSTNCRTtJQUNFLDhCQUFBO0VUdy9KSjtBQUNGO0FLMzlKRTtFSTVCRTtJQUNFLDhCQUFBO0VUMC9KSjtBQUNGO0FLMzlKSTtFSTlCQTtJQUNFLDhCQUFBO0VUNC9KSjtBQUNGO0FLdDlKSTtFSXJDQTtJQUNFLDhCQUFBO0VUOC9KSjtBQUNGO0FLdDlKSTtFSXZDQTtJQUNFLDhCQUFBO0VUZ2dLSjtBQUNGO0FLajlKSTtFSTlDQTtJQUNFLDhCQUFBO0VUa2dLSjtBQUNGO0FLcGdLRTtFSXhCRTtJQUNFLDJCQUFBO0VUK2hLSjtBQUNGO0FLcmdLRTtFSXpCRTtJQUNFLDJCQUFBO0VUaWlLSjtBQUNGO0FLdGdLRTtFSTFCRTtJQUNFLDJCQUFBO0VUbWlLSjtBQUNGO0FLdmdLRTtFSTNCRTtJQUNFLDJCQUFBO0VUcWlLSjtBQUNGO0FLeGdLRTtFSTVCRTtJQUNFLDJCQUFBO0VUdWlLSjtBQUNGO0FLeGdLSTtFSTlCQTtJQUNFLDJCQUFBO0VUeWlLSjtBQUNGO0FLbmdLSTtFSXJDQTtJQUNFLDJCQUFBO0VUMmlLSjtBQUNGO0FLbmdLSTtFSXZDQTtJQUNFLDJCQUFBO0VUNmlLSjtBQUNGO0FLOS9KSTtFSTlDQTtJQUNFLDJCQUFBO0VUK2lLSjtBQUNGO0FLampLRTtFSXhCRTtJQUNFLDRCQUFBO0VUNGtLSjtBQUNGO0FLbGpLRTtFSXpCRTtJQUNFLDRCQUFBO0VUOGtLSjtBQUNGO0FLbmpLRTtFSTFCRTtJQUNFLDRCQUFBO0VUZ2xLSjtBQUNGO0FLcGpLRTtFSTNCRTtJQUNFLDRCQUFBO0VUa2xLSjtBQUNGO0FLcmpLRTtFSTVCRTtJQUNFLDRCQUFBO0VUb2xLSjtBQUNGO0FLcmpLSTtFSTlCQTtJQUNFLDRCQUFBO0VUc2xLSjtBQUNGO0FLaGpLSTtFSXJDQTtJQUNFLDRCQUFBO0VUd2xLSjtBQUNGO0FLaGpLSTtFSXZDQTtJQUNFLDRCQUFBO0VUMGxLSjtBQUNGO0FLM2lLSTtFSTlDQTtJQUNFLDRCQUFBO0VUNGxLSjtBQUNGO0FTM2xLQTtFQUNFLHFDQUFBO0FUNmxLRjtBUzNsS0E7RUFDRSxvQ0FBQTtBVDhsS0Y7QVM1bEtBO0VBQ0Usb0NBQUE7QVQrbEtGO0FTN2xLQTtFQUNFLDZCQUFBO0FUZ21LRjtBUzVsS0U7RUFDRSx1QkFBQTtBVCtsS0o7QVM3bEtJO0VBRUUseUJBQUE7QVQrbEtOO0FTOWxLRTtFQUNFLGtDQUFBO0FUaW1LSjtBU3htS0U7RUFDRSx5QkFBQTtBVDJtS0o7QVN6bUtJO0VBRUUsdUJBQUE7QVQybUtOO0FTMW1LRTtFQUNFLG9DQUFBO0FUNm1LSjtBU3BuS0U7RUFDRSw0QkFBQTtBVHVuS0o7QVNybktJO0VBRUUseUJBQUE7QVR1bktOO0FTdG5LRTtFQUNFLHVDQUFBO0FUeW5LSjtBU2hvS0U7RUFDRSx5QkFBQTtBVG1vS0o7QVNqb0tJO0VBRUUseUJBQUE7QVRtb0tOO0FTbG9LRTtFQUNFLG9DQUFBO0FUcW9LSjtBUzVvS0U7RUFDRSx5QkFBQTtBVCtvS0o7QVM3b0tJO0VBRUUseUJBQUE7QVQrb0tOO0FTOW9LRTtFQUNFLG9DQUFBO0FUaXBLSjtBU3hwS0U7RUFDRSx5QkFBQTtBVDJwS0o7QVN6cEtJO0VBRUUseUJBQUE7QVQycEtOO0FTMXBLRTtFQUNFLG9DQUFBO0FUNnBLSjtBU3BxS0U7RUFDRSx5QkFBQTtBVHVxS0o7QVNycUtJO0VBRUUseUJBQUE7QVR1cUtOO0FTdHFLRTtFQUNFLG9DQUFBO0FUeXFLSjtBU2hyS0U7RUFDRSx5QkFBQTtBVG1yS0o7QVNqcktJO0VBRUUseUJBQUE7QVRtcktOO0FTbHJLRTtFQUNFLG9DQUFBO0FUcXJLSjtBUzVyS0U7RUFDRSx5QkFBQTtBVCtyS0o7QVM3cktJO0VBRUUseUJBQUE7QVQrcktOO0FTOXJLRTtFQUNFLG9DQUFBO0FUaXNLSjtBU3hzS0U7RUFDRSx5QkFBQTtBVDJzS0o7QVN6c0tJO0VBRUUseUJBQUE7QVQyc0tOO0FTMXNLRTtFQUNFLG9DQUFBO0FUNnNLSjtBUzFzS0U7RUFDRSx5QkFBQTtBVDZzS0o7QVM1c0tFO0VBQ0Usb0NBQUE7QVQrc0tKO0FTbHRLRTtFQUNFLHlCQUFBO0FUcXRLSjtBU3B0S0U7RUFDRSxvQ0FBQTtBVHV0S0o7QVMxdEtFO0VBQ0UseUJBQUE7QVQ2dEtKO0FTNXRLRTtFQUNFLG9DQUFBO0FUK3RLSjtBU2x1S0U7RUFDRSx5QkFBQTtBVHF1S0o7QVNwdUtFO0VBQ0Usb0NBQUE7QVR1dUtKO0FTMXVLRTtFQUNFLHlCQUFBO0FUNnVLSjtBUzV1S0U7RUFDRSxvQ0FBQTtBVCt1S0o7QVNsdktFO0VBQ0UseUJBQUE7QVRxdktKO0FTcHZLRTtFQUNFLG9DQUFBO0FUdXZLSjtBUzF2S0U7RUFDRSx5QkFBQTtBVDZ2S0o7QVM1dktFO0VBQ0Usb0NBQUE7QVQrdktKO0FTbHdLRTtFQUNFLDRCQUFBO0FUcXdLSjtBU3B3S0U7RUFDRSx1Q0FBQTtBVHV3S0o7QVMxd0tFO0VBQ0UseUJBQUE7QVQ2d0tKO0FTNXdLRTtFQUNFLG9DQUFBO0FUK3dLSjtBUzd3S0E7RUFDRSwyQkFBQTtBVGd4S0Y7QVMvd0tBO0VBQ0UsMkJBQUE7QVRreEtGO0FTanhLQTtFQUNFLDJCQUFBO0FUb3hLRjtBU254S0E7RUFDRSwyQkFBQTtBVHN4S0Y7QVNyeEtBO0VBQ0UsMkJBQUE7QVR3eEtGO0FTdHhLQTtFQUNFLCtMQUFBO0FUeXhLRjtBU3Z4S0E7RUFDRSwrTEFBQTtBVDB4S0Y7QVN4eEtBO0VBQ0UsK0xBQUE7QVQyeEtGO0FTenhLQTtFQUNFLGlDQUFBO0FUNHhLRjtBUzF4S0E7RUFDRSxpQ0FBQTtBVDZ4S0Y7QVN0eEtFO0VBQ0UseUJBQUE7QVR5eEtKO0FLejFLRTtFSWtFRTtJQUNFLHlCQUFBO0VUMnhLSjtBQUNGO0FLMzFLRTtFSWlFRTtJQUNFLHlCQUFBO0VUNnhLSjtBQUNGO0FLNTFLRTtFSWdFRTtJQUNFLHlCQUFBO0VUK3hLSjtBQUNGO0FLNzFLRTtFSStERTtJQUNFLHlCQUFBO0VUaXlLSjtBQUNGO0FLOTFLRTtFSThERTtJQUNFLHlCQUFBO0VUbXlLSjtBQUNGO0FLOTFLSTtFSTREQTtJQUNFLHlCQUFBO0VUcXlLSjtBQUNGO0FLejFLSTtFSXFEQTtJQUNFLHlCQUFBO0VUdXlLSjtBQUNGO0FLejFLSTtFSW1EQTtJQUNFLHlCQUFBO0VUeXlLSjtBQUNGO0FLcDFLSTtFSTRDQTtJQUNFLHlCQUFBO0VUMnlLSjtBQUNGO0FTeDBLRTtFQUNFLHdCQUFBO0FUMDBLSjtBSzE0S0U7RUlrRUU7SUFDRSx3QkFBQTtFVDQwS0o7QUFDRjtBSzU0S0U7RUlpRUU7SUFDRSx3QkFBQTtFVDgwS0o7QUFDRjtBSzc0S0U7RUlnRUU7SUFDRSx3QkFBQTtFVGcxS0o7QUFDRjtBSzk0S0U7RUkrREU7SUFDRSx3QkFBQTtFVGsxS0o7QUFDRjtBSy80S0U7RUk4REU7SUFDRSx3QkFBQTtFVG8xS0o7QUFDRjtBSy80S0k7RUk0REE7SUFDRSx3QkFBQTtFVHMxS0o7QUFDRjtBSzE0S0k7RUlxREE7SUFDRSx3QkFBQTtFVHcxS0o7QUFDRjtBSzE0S0k7RUltREE7SUFDRSx3QkFBQTtFVDAxS0o7QUFDRjtBS3I0S0k7RUk0Q0E7SUFDRSx3QkFBQTtFVDQxS0o7QUFDRjtBU3ozS0U7RUFDRSwwQkFBQTtBVDIzS0o7QUszN0tFO0VJa0VFO0lBQ0UsMEJBQUE7RVQ2M0tKO0FBQ0Y7QUs3N0tFO0VJaUVFO0lBQ0UsMEJBQUE7RVQrM0tKO0FBQ0Y7QUs5N0tFO0VJZ0VFO0lBQ0UsMEJBQUE7RVRpNEtKO0FBQ0Y7QUsvN0tFO0VJK0RFO0lBQ0UsMEJBQUE7RVRtNEtKO0FBQ0Y7QUtoOEtFO0VJOERFO0lBQ0UsMEJBQUE7RVRxNEtKO0FBQ0Y7QUtoOEtJO0VJNERBO0lBQ0UsMEJBQUE7RVR1NEtKO0FBQ0Y7QUszN0tJO0VJcURBO0lBQ0UsMEJBQUE7RVR5NEtKO0FBQ0Y7QUszN0tJO0VJbURBO0lBQ0UsMEJBQUE7RVQyNEtKO0FBQ0Y7QUt0N0tJO0VJNENBO0lBQ0UsMEJBQUE7RVQ2NEtKO0FBQ0Y7QVMxNktFO0VBQ0UsZ0NBQUE7QVQ0NktKO0FLNStLRTtFSWtFRTtJQUNFLGdDQUFBO0VUODZLSjtBQUNGO0FLOStLRTtFSWlFRTtJQUNFLGdDQUFBO0VUZzdLSjtBQUNGO0FLLytLRTtFSWdFRTtJQUNFLGdDQUFBO0VUazdLSjtBQUNGO0FLaC9LRTtFSStERTtJQUNFLGdDQUFBO0VUbzdLSjtBQUNGO0FLai9LRTtFSThERTtJQUNFLGdDQUFBO0VUczdLSjtBQUNGO0FLai9LSTtFSTREQTtJQUNFLGdDQUFBO0VUdzdLSjtBQUNGO0FLNStLSTtFSXFEQTtJQUNFLGdDQUFBO0VUMDdLSjtBQUNGO0FLNStLSTtFSW1EQTtJQUNFLGdDQUFBO0VUNDdLSjtBQUNGO0FLditLSTtFSTRDQTtJQUNFLGdDQUFBO0VUODdLSjtBQUNGO0FTMzlLRTtFQUNFLCtCQUFBO0FUNjlLSjtBSzdo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UjtBQUNGO0FLOTNOSTtFS3VYSTtJQUNFLGlCQUFBO0VWMGdOUjtBQUNGO0FVdmlOTTtFQUNFLG9CQUFBO0FWeWlOUjtBS3A3TkU7RUs2WU07SUFDRSxvQkFBQTtFVjBpTlI7QUFDRjtBS3I3TkU7RUs0WU07SUFDRSxvQkFBQTtFVjRpTlI7QUFDRjtBS3Q3TkU7RUsyWU07SUFDRSxvQkFBQTtFVjhpTlI7QUFDRjtBS3Y3TkU7RUswWU07SUFDRSxvQkFBQTtFVmdqTlI7QUFDRjtBS3g3TkU7RUt5WU07SUFDRSxvQkFBQTtFVmtqTlI7QUFDRjtBS3g3Tkk7RUt1WUk7SUFDRSxvQkFBQTtFVm9qTlI7QUFDRjtBS243Tkk7RUtnWUk7SUFDRSxvQkFBQTtFVnNqTlI7QUFDRjtBS243Tkk7RUs4WEk7SUFDRSxvQkFBQTtFVndqTlI7QUFDRjtBSzk2Tkk7RUt1WEk7SUFDRSxvQkFBQTtFVjBqTlI7QUFDRjtBVXZsTk07RUFDRSxtQkFBQTtBVnlsTlI7QUtwK05FO0VLNllNO0lBQ0UsbUJBQUE7RVYwbE5SO0FBQ0Y7QUtyK05FO0VLNFlNO0lBQ0UsbUJBQUE7RVY0bE5SO0FBQ0Y7QUt0K05FO0VLMllNO0lBQ0UsbUJBQUE7RVY4bE5SO0FBQ0Y7QUt2K05FO0VLMFlNO0lBQ0UsbUJBQUE7RVZnbU5SO0FBQ0Y7QUt4K05FO0VLeVlNO0lBQ0UsbUJBQUE7RVZrbU5SO0FBQ0Y7QUt4K05JO0VLdVlJO0lBQ0UsbUJBQUE7RVZvbU5SO0FBQ0Y7QUtuK05JO0VLZ1lJO0lBQ0UsbUJBQUE7RVZzbU5SO0FBQ0Y7QUtuK05JO0VLOFhJO0lBQ0UsbUJBQUE7RVZ3bU5SO0FBQ0Y7QUs5OU5JO0VLdVhJO0lBQ0UsbUJBQUE7RVYwbU5SO0FBQ0Y7QVV2b05NO0VBQ0Usb0JBQUE7QVZ5b05SO0FLcGhPRTtFSzZZTTtJQUNFLG9CQUFBO0VWMG9OUjtBQUNGO0FLcmhPRTtFSzRZTTtJQUNFLG9CQUFBO0VWNG9OUjtBQUNGO0FLdGhPRTtFSzJZTTtJQUNFLG9CQUFBO0VWOG9OUjtBQUNGO0FLdmhPRTtFSzBZTTtJQUNFLG9CQUFBO0VWZ3BOUjtBQUNGO0FLeGhPRTtFS3lZTTtJQUNFLG9CQUFBO0VWa3BOUjtBQUNGO0FLeGhPSTtFS3VZSTtJQUNFLG9CQUFBO0VWb3BOUjtBQUNGO0FLbmhPSTtFS2dZSTtJQUNFLG9CQUFBO0VWc3BOUjtBQUNGO0FLbmhPSTtFSzhYSTtJQUNFLG9CQUFBO0VWd3BOUjtBQUNGO0FLOWdPSTtFS3VYSTtJQUNFLG9CQUFBO0VWMHBOUjtBQUNGO0FVdnJOTTtFQUNFLGlCQUFBO0FWeXJOUjtBS3BrT0U7RUs2WU07SUFDRSxpQkFBQTtFVjByTlI7QUFDRjtBS3JrT0U7RUs0WU07SUFDRSxpQkFBQTtFVjRyTlI7QUFDRjtBS3RrT0U7RUsyWU07SUFDRSxpQkFBQTtFVjhyTlI7QUFDRjtBS3ZrT0U7RUswWU07SUFDRSxpQkFBQTtFVmdzTlI7QUFDRjtBS3hrT0U7RUt5WU07SUFDRSxpQkFBQTtFVmtzTlI7QUFDRjtBS3hrT0k7RUt1WUk7SUFDRSxpQkFBQTtFVm9zTlI7QUFDRjtBS25rT0k7RUtnWUk7SUFDRSxpQkFBQTtFVnNzTlI7QUFDRjtBS25rT0k7RUs4WEk7SUFDRSxpQkFBQTtFVndzTlI7QUFDRjtBSzlqT0k7RUt1WEk7SUFDRSxpQkFBQTtFVjBzTlI7QUFDRjtBVXZ1Tk07RUFDRSxvQkFBQTtBVnl1TlI7QUtwbk9FO0VLNllNO0lBQ0Usb0JBQUE7RVYwdU5SO0FBQ0Y7QUtybk9FO0VLNFlNO0lBQ0Usb0JBQUE7RVY0dU5SO0FBQ0Y7QUt0bk9FO0VLMllNO0lBQ0Usb0JBQUE7RVY4dU5SO0FBQ0Y7QUt2bk9FO0VLMFlNO0lBQ0Usb0JBQUE7RVZndk5SO0FBQ0Y7QUt4bk9FO0VLeVlNO0lBQ0Usb0JBQUE7RVZrdk5SO0FBQ0Y7QUt4bk9JO0VLdVlJO0lBQ0Usb0JBQUE7RVZvdk5SO0FBQ0Y7QUtubk9JO0VLZ1lJO0lBQ0Usb0JBQUE7RVZzdk5SO0FBQ0Y7QUtubk9JO0VLOFhJO0lBQ0Usb0JBQUE7RVZ3dk5SO0FBQ0Y7QUs5bU9JO0VLdVhJO0lBQ0Usb0JBQUE7RVYwdk5SO0FBQ0Y7QVV2eE5NO0VBQ0UsbUJBQUE7QVZ5eE5SO0FLcHFPRTtFSzZZTTtJQUNFLG1CQUFBO0VWMHhOUjtBQUNGO0FLcnFPRTtFSzRZTTtJQUNFLG1CQUFBO0VWNHhOUjtBQUNGO0FLdHFPRTtFSzJZTTtJQUNFLG1CQUFBO0VWOHhOUjtBQUNGO0FLdnFPRTtFSzBZTTtJQUNFLG1CQUFBO0VWZ3lOUjtBQUNGO0FLeHFPRTtFS3lZTTtJQUNFLG1CQUFBO0VWa3lOUjtBQUNGO0FLeHFPSTtFS3VZSTtJQUNFLG1CQUFBO0VWb3lOUjtBQUNGO0FLbnFPSTtFS2dZSTtJQUNFLG1CQUFBO0VWc3lOUjtBQUNGO0FLbnFPSTtFSzhYSTtJQUNFLG1CQUFBO0VWd3lOUjtBQUNGO0FLOXBPSTtFS3VYSTtJQUNFLG1CQUFBO0VWMHlOUjtBQUNGO0FVdjBOTTtFQUNFLG9CQUFBO0FWeTBOUjtBS3B0T0U7RUs2WU07SUFDRSxvQkFBQTtFVjAwTlI7QUFDRjtBS3J0T0U7RUs0WU07SUFDRSxvQkFBQTtFVjQwTlI7QUFDRjtBS3R0T0U7RUsyWU07SUFDRSxvQkFBQTtFVjgwTlI7QUFDRjtBS3Z0T0U7RUswWU07SUFDRSxvQkFBQTtFVmcxTlI7QUFDRjtBS3h0T0U7RUt5WU07SUFDRSxvQkFBQTtFVmsxTlI7QUFDRjtBS3h0T0k7RUt1WUk7SUFDRSxvQkFBQTtFVm8xTlI7QUFDRjtBS250T0k7RUtnWUk7SUFDRSxvQkFBQTtFVnMxTlI7QUFDRjtBS250T0k7RUs4WEk7SUFDRSxvQkFBQTtFVncxTlI7QUFDRjtBSzlzT0k7RUt1WEk7SUFDRSxvQkFBQTtFVjAxTlI7QUFDRjtBVXYzTk07RUFDRSxpQkFBQTtBVnkzTlI7QUtwd09FO0VLNllNO0lBQ0UsaUJBQUE7RVYwM05SO0FBQ0Y7QUtyd09FO0VLNFlNO0lBQ0UsaUJBQUE7RVY0M05SO0FBQ0Y7QUt0d09FO0VLMllNO0lBQ0UsaUJBQUE7RVY4M05SO0FBQ0Y7QUt2d09FO0VLMFlNO0lBQ0UsaUJBQUE7RVZnNE5SO0FBQ0Y7QUt4d09FO0VLeVlNO0lBQ0UsaUJBQUE7RVZrNE5SO0FBQ0Y7QUt4d09JO0VLdVlJO0lBQ0UsaUJBQUE7RVZvNE5SO0FBQ0Y7QUtud09JO0VLZ1lJO0lBQ0UsaUJBQUE7RVZzNE5SO0FBQ0Y7QUtud09JO0VLOFhJO0lBQ0UsaUJBQUE7RVZ3NE5SO0FBQ0Y7QUs5dk9JO0VLdVhJO0lBQ0UsaUJBQUE7RVYwNE5SO0FBQ0Y7QVdoNE9BO0VBQ0Usb0JBQUE7RUFDQSxjQUFBO0VBQ0EsYUFBQTtFQUNBLFlBQUE7RUFDQSxjQUFBO0VBQ0EsK0JBQUE7RUFBQSw0QkFBQTtFQUFBLHVCQUFBO0FYbTRPRjtBV2o0T0U7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0Esb0JBQUE7QVhtNE9KO0FXbDRPSTtFQUNFLHVCQUFBO0FYbzRPTjtBV240T0k7RUFDRSxzQkFqQlM7QVhzNU9mO0FXcDRPRTtFQUNFLG9CQUFBO0FYczRPSjtBV3I0T0U7RUFDRSxnQkFyQlc7QVg0NU9mO0FXdDRPRTtFQUNFLHNCQUFBO0FYdzRPSjtBV3Y0T0k7RUFDRSxnQ0FBQTtBWHk0T047QUs3ME9FO0VNekRFO0lBQ0UsYUFBQTtFWHk0T0o7RVd2NE9JO0lBQ0UsVUFBQTtJQUNBLG9CQUFBO0VYeTRPTjtFVzM0T0k7SUFDRSxVQUFBO0lBQ0EscUJBQUE7RVg2NE9OO0VXLzRPSTtJQUNFLFVBQUE7SUFDQSxVQUFBO0VYaTVPTjtFV241T0k7SUFDRSxVQUFBO0lBQ0EscUJBQUE7RVhxNU9OO0VXdjVPSTtJQUNFLFVBQUE7SUFDQSxxQkFBQTtFWHk1T047RVczNU9JO0lBQ0UsVUFBQTtJQUNBLFVBQUE7RVg2NU9OO0VXLzVPSTtJQUNFLFVBQUE7SUFDQSxxQkFBQTtFWGk2T047RVduNk9JO0lBQ0UsVUFBQTtJQUNBLHFCQUFBO0VYcTZPTjtFV3Y2T0k7SUFDRSxVQUFBO0lBQ0EsVUFBQTtFWHk2T047RVczNk9JO0lBQ0UsVUFBQTtJQUNBLHFCQUFBO0VYNjZPTjtFVy82T0k7SUFDRSxVQUFBO0lBQ0EscUJBQUE7RVhpN09OO0VXbjdPSTtJQUNFLFVBQUE7SUFDQSxXQUFBO0VYcTdPTjtBQUNGO0FZajZPQTtFQUNFLHVCTnhDYTtFTXlDYixtQkFyRGM7RUFzRGQsa0JBQUE7RUFDQSxXQXBEUztBWnc5T1g7QVloNk9JO0VBQ0UsdUJBSE07RUFJTixjQUhhO0FacTZPbkI7QVloNk9ROztFQUVFLGNBUFM7QVp5Nk9uQjtBWS81T1U7Ozs7RUFHRSx5QkFBQTtFQUNBLGNBZE87QVpnN09uQjtBWWg2T1U7RUFDRSxxQkFqQk87QVptN09uQjtBWWo2T007RUFDRSxjQW5CVztBWnM3T25CO0FLMTZPRTtFT1dROzs7O0lBRUUsY0F6Qk87RVo2N09qQjtFWWo2T1U7Ozs7Ozs7Ozs7SUFHRSx5QkFBQTtJQUNBLGNBaENLO0VaMDhPakI7RVl4Nk9VOztJQUNFLHFCQW5DSztFWjg4T2pCO0VZMTZPTTs7O0lBR0UseUJBQUE7SUFDQSxjQXhDUztFWm85T2pCO0VZejZPVTtJQUNFLHVCQTdDRjtJQThDRSxjQTdDSztFWnc5T2pCO0FBQ0Y7QVl4OU9JO0VBQ0UseUJBSE07RUFJTixZQUhhO0FaNjlPbkI7QVl4OU9ROztFQUVFLFlBUFM7QVppK09uQjtBWXY5T1U7Ozs7RUFHRSx1QkFBQTtFQUNBLFlBZE87QVp3K09uQjtBWXg5T1U7RUFDRSxtQkFqQk87QVoyK09uQjtBWXo5T007RUFDRSxZQW5CVztBWjgrT25CO0FLbCtPRTtFT1dROzs7O0lBRUUsWUF6Qk87RVpxL09qQjtFWXo5T1U7Ozs7Ozs7Ozs7SUFHRSx1QkFBQTtJQUNBLFlBaENLO0Vaa2dQakI7RVloK09VOztJQUNFLG1CQW5DSztFWnNnUGpCO0VZbCtPTTs7O0lBR0UsdUJBQUE7SUFDQSxZQXhDUztFWjRnUGpCO0VZaitPVTtJQUNFLHlCQTdDRjtJQThDRSxZQTdDSztFWmdoUGpCO0FBQ0Y7QVloaFBJO0VBQ0UsNEJBSE07RUFJTix5QkFIYTtBWnFoUG5CO0FZaGhQUTs7RUFFRSx5QkFQUztBWnloUG5CO0FZL2dQVTs7OztFQUdFLHlCQUFBO0VBQ0EseUJBZE87QVpnaVBuQjtBWWhoUFU7RUFDRSxnQ0FqQk87QVptaVBuQjtBWWpoUE07RUFDRSx5QkFuQlc7QVpzaVBuQjtBSzFoUEU7RU9XUTs7OztJQUVFLHlCQXpCTztFWjZpUGpCO0VZamhQVTs7Ozs7Ozs7OztJQUdFLHlCQUFBO0lBQ0EseUJBaENLO0VaMGpQakI7RVl4aFBVOztJQUNFLGdDQW5DSztFWjhqUGpCO0VZMWhQTTs7O0lBR0UseUJBQUE7SUFDQSx5QkF4Q1M7RVpva1BqQjtFWXpoUFU7SUFDRSw0QkE3Q0Y7SUE4Q0UseUJBN0NLO0Vad2tQakI7QUFDRjtBWXhrUEk7RUFDRSx5QkFITTtFQUlOLFdBSGE7QVo2a1BuQjtBWXhrUFE7O0VBRUUsV0FQUztBWmlsUG5CO0FZdmtQVTs7OztFQUdFLHlCQUFBO0VBQ0EsV0FkTztBWndsUG5CO0FZeGtQVTtFQUNFLGtCQWpCTztBWjJsUG5CO0FZemtQTTtFQUNFLFdBbkJXO0FaOGxQbkI7QUtsbFBFO0VPV1E7Ozs7SUFFRSxXQXpCTztFWnFtUGpCO0VZemtQVTs7Ozs7Ozs7OztJQUdFLHlCQUFBO0lBQ0EsV0FoQ0s7RVprblBqQjtFWWhsUFU7O0lBQ0Usa0JBbkNLO0Vac25QakI7RVlsbFBNOzs7SUFHRSx5QkFBQTtJQUNBLFdBeENTO0VaNG5QakI7RVlqbFBVO0lBQ0UseUJBN0NGO0lBOENFLFdBN0NLO0VaZ29QakI7QUFDRjtBWWhvUEk7RUFDRSx5QkFITTtFQUlOLFdBSGE7QVpxb1BuQjtBWWhvUFE7O0VBRUUsV0FQUztBWnlvUG5CO0FZL25QVTs7OztFQUdFLHlCQUFBO0VBQ0EsV0FkTztBWmdwUG5CO0FZaG9QVTtFQUNFLGtCQWpCTztBWm1wUG5CO0FZam9QTTtFQUNFLFdBbkJXO0Fac3BQbkI7QUsxb1BFO0VPV1E7Ozs7SUFFRSxXQXpCTztFWjZwUGpCO0VZam9QVTs7Ozs7Ozs7OztJQUdFLHlCQUFBO0lBQ0EsV0FoQ0s7RVowcVBqQjtFWXhvUFU7O0lBQ0Usa0JBbkNLO0VaOHFQakI7RVkxb1BNOzs7SUFHRSx5QkFBQTtJQUNBLFdBeENTO0Vab3JQakI7RVl6b1BVO0lBQ0UseUJBN0NGO0lBOENFLFdBN0NLO0Vad3JQakI7QUFDRjtBWXhyUEk7RUFDRSx5QkFITTtFQUlOLFdBSGE7QVo2clBuQjtBWXhyUFE7O0VBRUUsV0FQUztBWmlzUG5CO0FZdnJQVTs7OztFQUdFLHlCQUFBO0VBQ0EsV0FkTztBWndzUG5CO0FZeHJQVTtFQUNFLGtCQWpCTztBWjJzUG5CO0FZenJQTTtFQUNFLFdBbkJXO0FaOHNQbkI7QUtsc1BFO0VPV1E7Ozs7SUFFRSxXQXpCTztFWnF0UGpCO0VZenJQVTs7Ozs7Ozs7OztJQUdFLHlCQUFBO0lBQ0EsV0FoQ0s7RVprdVBqQjtFWWhzUFU7O0lBQ0Usa0JBbkNLO0Vac3VQakI7RVlsc1BNOzs7SUFHRSx5QkFBQTtJQUNBLFdBeENTO0VaNHVQakI7RVlqc1BVO0lBQ0UseUJBN0NGO0lBOENFLFdBN0NLO0VaZ3ZQakI7QUFDRjtBWWh2UEk7RUFDRSx5QkFITTtFQUlOLFdBSGE7QVpxdlBuQjtBWWh2UFE7O0VBRUUsV0FQUztBWnl2UG5CO0FZL3VQVTs7OztFQUdFLHlCQUFBO0VBQ0EsV0FkTztBWmd3UG5CO0FZaHZQVTtFQUNFLGtCQWpCTztBWm13UG5CO0FZanZQTTtFQUNFLFdBbkJXO0Fac3dQbkI7QUsxdlBFO0VPV1E7Ozs7SUFFRSxXQXpCTztFWjZ3UGpCO0VZanZQVTs7Ozs7Ozs7OztJQUdFLHlCQUFBO0lBQ0EsV0FoQ0s7RVoweFBqQjtFWXh2UFU7O0lBQ0Usa0JBbkNLO0VaOHhQakI7RVkxdlBNOzs7SUFHRSx5QkFBQTtJQUNBLFdBeENTO0Vab3lQakI7RVl6dlBVO0lBQ0UseUJBN0NGO0lBOENFLFdBN0NLO0Vad3lQakI7QUFDRjtBWXh5UEk7RUFDRSx5QkFITTtFQUlOLFdBSGE7QVo2eVBuQjtBWXh5UFE7O0VBRUUsV0FQUztBWml6UG5CO0FZdnlQVTs7OztFQUdFLHlCQUFBO0VBQ0EsV0FkTztBWnd6UG5CO0FZeHlQVTtFQUNFLGtCQWpCTztBWjJ6UG5CO0FZenlQTTtFQUNFLFdBbkJXO0FaOHpQbkI7QUtselBFO0VPV1E7Ozs7SUFFRSxXQXpCTztFWnEwUGpCO0VZenlQVTs7Ozs7Ozs7OztJQUdFLHlCQUFBO0lBQ0EsV0FoQ0s7RVprMVBqQjtFWWh6UFU7O0lBQ0Usa0JBbkNLO0VaczFQakI7RVlselBNOzs7SUFHRSx5QkFBQTtJQUNBLFdBeENTO0VaNDFQakI7RVlqelBVO0lBQ0UseUJBN0NGO0lBOENFLFdBN0NLO0VaZzJQakI7QUFDRjtBWWgyUEk7RUFDRSx5QkFITTtFQUlOLHlCQUhhO0FacTJQbkI7QVloMlBROztFQUVFLHlCQVBTO0FaeTJQbkI7QVkvMVBVOzs7O0VBR0UseUJBQUE7RUFDQSx5QkFkTztBWmczUG5CO0FZaDJQVTtFQUNFLGdDQWpCTztBWm0zUG5CO0FZajJQTTtFQUNFLHlCQW5CVztBWnMzUG5CO0FLMTJQRTtFT1dROzs7O0lBRUUseUJBekJPO0VaNjNQakI7RVlqMlBVOzs7Ozs7Ozs7O0lBR0UseUJBQUE7SUFDQSx5QkFoQ0s7RVowNFBqQjtFWXgyUFU7O0lBQ0UsZ0NBbkNLO0VaODRQakI7RVkxMlBNOzs7SUFHRSx5QkFBQTtJQUNBLHlCQXhDUztFWm81UGpCO0VZejJQVTtJQUNFLHlCQTdDRjtJQThDRSx5QkE3Q0s7RVp3NVBqQjtBQUNGO0FZeDVQSTtFQUNFLHlCQUhNO0VBSU4sV0FIYTtBWjY1UG5CO0FZeDVQUTs7RUFFRSxXQVBTO0FaaTZQbkI7QVl2NVBVOzs7O0VBR0UseUJBQUE7RUFDQSxXQWRPO0FadzZQbkI7QVl4NVBVO0VBQ0Usa0JBakJPO0FaMjZQbkI7QVl6NVBNO0VBQ0UsV0FuQlc7QVo4NlBuQjtBS2w2UEU7RU9XUTs7OztJQUVFLFdBekJPO0VacTdQakI7RVl6NVBVOzs7Ozs7Ozs7O0lBR0UseUJBQUE7SUFDQSxXQWhDSztFWms4UGpCO0VZaDZQVTs7SUFDRSxrQkFuQ0s7RVpzOFBqQjtFWWw2UE07OztJQUdFLHlCQUFBO0lBQ0EsV0F4Q1M7RVo0OFBqQjtFWWo2UFU7SUFDRSx5QkE3Q0Y7SUE4Q0UsV0E3Q0s7RVpnOVBqQjtBQUNGO0FZbjZQRTtFQUNFLG9CQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQTNHWTtFQTRHWixXQUFBO0FacTZQSjtBWXA2UEU7RUFDRSxnQ0FBQTtBWnM2UEo7QVlyNlBFO0VBakVBLE9BQUE7RUFDQSxlQUFBO0VBQ0EsUUFBQTtFQUNBLFdBN0NlO0Fac2hRakI7QVl4NlBFO0VBQ0UsU0FBQTtBWjA2UEo7QVl6NlBJO0VBQ0UsaUNBQUE7QVoyNlBOO0FZMTZQRTtFQUNFLE1BQUE7QVo0NlBKO0FZeDZQRTs7RUFDRSxvQkE1SFk7QVp3aVFoQjtBWTM2UEU7O0VBQ0UsdUJBOUhZO0FaNGlRaEI7QVk1NlBBOztFQUVFLG9CQUFBO0VBQ0EsYUFBQTtFQUNBLGNBQUE7RUFDQSxtQkFySWM7QVpvalFoQjtBWTM2UEk7RUFFRSw2QkFBQTtBWjY2UE47QVkzNlBBO0VQbEZFLGlDQUFBO0VPb0ZBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtBWjg2UEY7QVk1NlBBO0VBQ0UsY05oSmE7RURvQmIsZUFBQTtFQUNBLGNBQUE7RUFDQSxlTzFCYztFUDJCZCxrQkFBQTtFQUNBLGNPNUJjO0VBc0pkLGlCQUFBO0FabTdQRjtBSzVpUUU7RUFDRSw4QkFBQTtFQUNBLGNBQUE7RUFDQSxXQUFBO0VBQ0EscUJBQUE7RUFDQSxrQkFBQTtFQUNBLHdCQUFBO0VBQ0EseUJDaUNJO0VEaENKLHlEQUFBO0VBQ0Esb0NDMEJLO0VEekJMLFdBQUE7QUw4aVFKO0FLN2lRSTtFQUNFLG9CQUFBO0FMK2lRTjtBSzlpUUk7RUFDRSxvQkFBQTtBTGdqUU47QUsvaVFJO0VBQ0Usb0JBQUE7QUxpalFOO0FLaGpRRTtFQUNFLHFDQUFBO0FMa2pRSjtBSzlpUU07RUFDRSx3Q0FBQTtBTGdqUVI7QUsvaVFNO0VBQ0UsVUFBQTtBTGlqUVI7QUtoalFNO0VBQ0UsMENBQUE7QUxralFSO0FZbDlQQTtFQUNFLGFBQUE7QVpxOVBGO0FZbjlQQTs7RUFFRSxjTnpKYTtFTTBKYixjQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtFQUNBLGtCQUFBO0FaczlQRjtBWXA5UEk7O0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtBWnU5UE47QVlyOVBBOztFQUVFLGVBQUE7QVp3OVBGO0FZdjlQRTs7Ozs7RUFJRSx5Qk5uS1c7RU1vS1gsY041Slc7QU5zblFmO0FZeDlQQTtFQUNFLFlBQUE7RUFDQSxjQUFBO0FaMjlQRjtBWTE5UEU7RUFDRSxtQkExS3lCO0Fac29RN0I7QVkzOVBFO0VBQ0UsVUFBQTtBWjY5UEo7QVk1OVBFO0VBQ0UsWUFBQTtFQUNBLGNBQUE7QVo4OVBKO0FZNzlQRTtFQUNFLG9DQUFBO0VBQ0EsbUJBN0xZO0VBOExaLGtDQUFBO0FaKzlQSjtBWTk5UEk7RUFFRSw2QkFsTDhCO0VBbUw5Qiw0Qk4vS1M7QU44b1FmO0FZOTlQSTtFQUNFLDZCQWxMK0I7RUFtTC9CLDRCTmxMUztFTW1MVCwwQkFsTGtDO0VBbUxsQyx3QkFsTGtDO0VBbUxsQyxjTnJMUztFTXNMVCxrQ0FBQTtBWmcrUE47QVk5OVBBO0VBQ0UsWUFBQTtFQUNBLGNBQUE7QVppK1BGO0FZLzlQQTtFQUNFLG9CQUFBO0FaaytQRjtBWWorUEU7RUFFRSxxQk5oTVc7RU1pTVgsb0JBQUE7RUFDQSxjQUFBO0FaaytQSjtBWWgrUEE7RUFDRSxtQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQUE7QVptK1BGO0FZbCtQRTtFQUNFLG9CQUFBO0VBQ0EscUJBQUE7QVpvK1BKO0FZbCtQQTtFQUNFLDRCTnROYTtFTXVOYixZQUFBO0VBQ0EsYUFBQTtFQUNBLFdBNUxzQjtFQTZMdEIsZ0JBQUE7QVpxK1BGO0FLL25RRTtFTzZKQTtJQUNFLGNBQUE7RVpzK1BGOztFWW4rUEU7O0lBQ0UsbUJBQUE7SUFDQSxhQUFBO0VadStQSjs7RVlyK1BFO0lBQ0UsYUFBQTtFWncrUEo7O0VZditQQTtJQUNFLHVCTnRPVztJTXVPWCw0Q0FBQTtJQUNBLGlCQUFBO0VaMCtQRjtFWXorUEU7SUFDRSxjQUFBO0VaMitQSjs7RVl4K1BFO0lBM01GLE9BQUE7SUFDQSxlQUFBO0lBQ0EsUUFBQTtJQUNBLFdBN0NlO0Vab3VRZjtFWTUrUEU7SUFDRSxTQUFBO0VaOCtQSjtFWTcrUEk7SUFDRSw0Q0FBQTtFWisrUE47RVk5K1BFO0lBQ0UsTUFBQTtFWmcvUEo7RVk3K1BJO0lQek1KLGlDQUFBO0lPMk1NLGlDQUFBO0lBQ0EsY0FBQTtFWisrUE47O0VZNStQRTs7SUFDRSxvQkEzUVU7RVoydlFkO0VZLytQRTs7SUFDRSx1QkE3UVU7RVordlFkO0FBQ0Y7QUsxclFFO0VPME1BOzs7O0lBSUUsb0JBQUE7SUFDQSxhQUFBO0VabS9QRjs7RVlsL1BBO0lBQ0UsbUJBdlJZO0VaNHdRZDtFWXAvUEU7SUFDRSxrQkFBQTtFWnMvUEo7RVlyL1BJOztJQUVFLG1CQUFBO0VadS9QTjtFWXQvUEk7O0lBRUUsa0JON05DO0VOcXRRUDtFWXAvUE07Ozs7SUFHRSx3Q0FBQTtFWnUvUFI7RVlqL1BRO0lBQ0Usd0NBQUE7RVptL1BWO0VZaC9QUTtJQUVFLDRCTnhTRztJTXlTSCxjTnBURztFTnF5UWI7RVloL1BRO0lBQ0UsNEJOM1NHO0lNNFNILGNOblNHO0VOcXhRYjs7RVlqL1BBO0lBQ0UsYUFBQTtFWm8vUEY7O0VZbi9QQTs7SUFFRSxtQkFBQTtJQUNBLGFBQUE7RVpzL1BGOztFWXAvUEU7SUFDRSxvQkFBQTtFWnUvUEo7RVlyL1BJO0lBQ0Usb0RBQUE7RVp1L1BOO0VZdC9QSTtJQUNFLGdDQTVTcUI7SUE2U3JCLDBCQUFBO0lBQ0EsZ0JBQUE7SUFDQSxZQUFBO0lBQ0EsNENBQUE7SUFDQSxTQUFBO0Vady9QTjtFWW4vUEk7SUFDRSxjQUFBO0VacS9QTjtFWXAvUE07SUFFRSxVQUFBO0lBQ0Esb0JBQUE7SUFDQSx3QkFBQTtFWnEvUFI7O0VZcC9QQTtJQUNFLFlBQUE7SUFDQSxjQUFBO0VadS9QRjs7RVl0L1BBO0lBQ0UsMkJBQUE7SUFDQSxrQkFBQTtFWnkvUEY7O0VZeC9QQTtJQUNFLHlCQUFBO0lBQ0EsaUJBQUE7RVoyL1BGOztFWTEvUEE7SUFDRSx1Qk5uVlc7SU1vVlgsOEJON1JXO0lNOFJYLCtCTjlSVztJTStSWCw2QkExVXlCO0lBMlV6QiwyQ0FBQTtJQUNBLGFBQUE7SUFDQSxtQkFBQTtJQUNBLE9BQUE7SUFDQSxlQUFBO0lBQ0Esa0JBQUE7SUFDQSxTQUFBO0lBQ0EsV0E5VWdCO0VaMjBRbEI7RVk1L1BFO0lBQ0Usc0JBQUE7SUFDQSxtQkFBQTtFWjgvUEo7RVk3L1BFO0lBQ0UsbUJBQUE7RVorL1BKO0VZOS9QSTtJQUVFLDRCTnhXTztJTXlXUCxjTnBYTztFTm0zUWI7RVk5L1BJO0lBQ0UsNEJOM1dPO0lNNFdQLGNObldPO0VObTJRYjtFWS8vUEU7SUFFRSxrQk50VFM7SU11VFQsZ0JBQUE7SUFDQSw0RUE1VnlCO0lBNlZ6QixjQUFBO0lBQ0EsVUFBQTtJQUNBLG9CQUFBO0lBQ0Esd0JBQUE7SUFDQSwyQkFBQTtJQUNBLHlCTjVURTtJTTZURix1Q0FBQTtFWmdnUUo7RVkvL1BFO0lBQ0UsVUFBQTtJQUNBLFFBQUE7RVppZ1FKOztFWWhnUUE7SUFDRSxjQUFBO0VabWdRRjs7RVloZ1FFOztJQUNFLHFCQUFBO0Vab2dRSjtFWW5nUUU7O0lBQ0Usc0JBQUE7RVpzZ1FKOztFWW5nUUU7SUFsV0YsT0FBQTtJQUNBLGVBQUE7SUFDQSxRQUFBO0lBQ0EsV0E3Q2U7RVpzNVFmO0VZdmdRRTtJQUNFLFNBQUE7RVp5Z1FKO0VZeGdRSTtJQUNFLDRDQUFBO0VaMGdRTjtFWXpnUUU7SUFDRSxNQUFBO0VaMmdRSjs7RVl4Z1FFOztJQUNFLG9CQTVaVTtFWnc2UWQ7RVkzZ1FFOztJQUNFLHVCQTlaVTtFWjQ2UWQ7RVk3Z1FFOztJQUNFLG9CQUFBO0VaZ2hRSjtFWS9nUUU7O0lBQ0UsdUJBQUE7RVpraFFKOztFWTlnUUU7O0lBQ0UsY054YVM7RU4wN1FiO0VZamhRRTs7SUFDRSw2QkEvWmdDO0VabTdRcEM7O0VZL2dRSTtJQUNFLHlCTnBhTztFTnM3UWI7QUFDRjtBWTlnUUU7RUFDRSxpQ0FBQTtBWmdoUUo7QWF0OFFBO0VBQ0UsWUFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7QWJ5OFFGO0FheDhRRTtFQUNFLGVBQUE7RUFDQSxrQlA0Q0U7RU8zQ0YsbUJQMkNFO0VPMUNGLFdBQUE7QWIwOFFKO0FLcDNRRTtFUS9GRjtJQVdJLGdCQUFBO0ViNDhRRjtBQUNGO0FLLzJRSTtFUTVGQTtJQUNFLGlCQUFBO0ViODhRSjtBQUNGO0FLcjJRSTtFUXhHQTtJQUNFLGlCQUFBO0ViZzlRSjtBQUNGO0FLcDNRSTtFUTlHSjtJQW1CSSxpQkFBQTtFYm05UUY7QUFDRjtBSzEyUUk7RVE3SEo7SUFxQkksaUJBQUE7RWJzOVFGO0FBQ0Y7QWMxK1FBO0VBQ0Usb0JBTGdCO0Fkay9RbEI7QUtqNVFFO0VTeEZFO0lBQ0Usb0JBVG1CO0VkcS9RdkI7RWMzK1FFO0lBQ0UscUJBVmtCO0VkdS9RdEI7QUFDRjtBZXYrUUE7O0VBR0Usc0JBQUE7QWZ5K1FGO0FleCtRRTs7OztFQUVFLG9CQUFBO0FmNCtRSjtBZTMrUUU7O0VBQ0UsaUJBcEJhO0Fma2dSakI7QWU3K1FFOztFQUNFLGlCQXJCYTtBZnFnUmpCO0FlLytRRTs7RUFDRSxzQkFBQTtBZmsvUUo7QWVoL1FBO0VBQ0UsY1Q1QmE7RVMrQmIsZVRITztFU0lQLGdCVEtnQjtFU0poQixrQkFuQ2tCO0Fmb2hScEI7QWVoL1FFO0VBQ0UsY0FwQ2lCO0VBcUNqQixvQkFwQ2tCO0Fmc2hSdEI7QWVqL1FFO0VBQ0Usb0JBQUE7QWZtL1FKO0FlbC9RRTtFQUNFLG9CQTdCdUI7QWZpaFIzQjtBZWgvUUk7RUFDRSxlQ3NERTtBaEI0N1FSO0Flbi9RSTtFQUNFLGlCQ3NERTtBaEIrN1FSO0FldC9RSTtFQUNFLGVDc0RFO0FoQms4UVI7QWV6L1FJO0VBQ0UsaUJDc0RFO0FoQnE4UVI7QWU1L1FJO0VBQ0Usa0JDc0RFO0FoQnc4UVI7QWUvL1FJO0VBQ0UsZUNzREU7QWhCMjhRUjtBZWxnUkk7RUFDRSxrQkNzREU7QWhCODhRUjtBZWxnUkE7RUFDRSxjVC9DYTtFU2tEYixrQlRyQk87RVNzQlAsZ0JUakJjO0VTa0JkLGlCQTdDcUI7QWZnalJ2QjtBZWxnUkU7RUFDRSxjVHZEVztFU3dEWCxnQlRuQmM7QU51aFJsQjtBZW5nUkU7RUFDRSxvQkEvQ3VCO0Fmb2pSM0I7QWVqZ1JJO0VBQ0UsZUNvQ0U7QWhCKzlRUjtBZXBnUkk7RUFDRSxpQkNvQ0U7QWhCaytRUjtBZXZnUkk7RUFDRSxlQ29DRTtBaEJxK1FSO0FlMWdSSTtFQUNFLGlCQ29DRTtBaEJ3K1FSO0FlN2dSSTtFQUNFLGtCQ29DRTtBaEIyK1FSO0FlaGhSSTtFQUNFLGVDb0NFO0FoQjgrUVI7QWVuaFJJO0VBQ0Usa0JDb0NFO0FoQmkvUVI7QWlCcmxSQTtFQUNFLGNBQUE7RUFDQSxrQkFBQTtFQUNBLGdDQUFBO0VBQ0EsY0FSa0I7RUFTbEIsY0FBQTtFQUNBLGtCQUFBO0FqQndsUkY7QWlCcmxSQTtFQUNFLGlCQUFBO0VBQ0EsY1hQYTtFV1FiLDJCQUFBO0VBQ0EscUJBQUE7RUFDQSxrQlhtQk87RVdsQlAsc0JBQUE7RUFHQSw4QkFBQTtFQUNBLGtCQUFBO0FqQndsUkY7QUszaFJFO0VZM0RGO0lBRUksY0FBQTtJQUNBLFVBQUE7SUFDQSxXQUFBO0lBQ0EsWUFBQTtJQUNBLGFBQUE7SUFDQSxTQUFBO0lBQ0Esa0JBQUE7SUFDQSxnQkFBQTtJQUNBLGdCQUFBO0VqQnlsUkY7RWlCeGxSRTtJQUNFLGlDQUFBO0lBQ0EsWUFBQTtJQUNBLFdBQUE7SUFDQSxjQUFBO0lBQ0EsU0FBQTtJQUNBLGtCQUFBO0lBQ0EsU0FBQTtJQUdBLDJCQUFBO0VqQjBsUko7RWlCemxSRTtJQUNFLGtCQUFBO0lBQ0EsU0FBQTtJQUNBLFFBQUE7SUFDQSxlQUFBO0lBR0EsNENBQUE7RWpCMmxSSjtBQUNGO0FpQnJsUkk7O0VBQ0UsdUJBSE07QWpCNGxSWjtBaUJ2bFJNOzs7RUFDRSxtQkFMVztFQU1YLFlBUEk7QWpCa21SWjtBaUJ6bFJNOztFQUNFLHdCQVZJO0FqQnNtUlo7QWlCcG1SSTs7RUFDRSx5QkFITTtBakIwbVJaO0FpQnJtUk07OztFQUNFLGlCQUxXO0VBTVgsY0FQSTtBakJnblJaO0FpQnZtUk07O0VBQ0UsMEJBVkk7QWpCb25SWjtBaUJsblJJOztFQUNFLDRCQUhNO0FqQnduUlo7QWlCbm5STTs7O0VBQ0UsOEJBTFc7RUFNWCxpQkFQSTtBakI4blJaO0FpQnJuUk07O0VBQ0UsNkJBVkk7QWpCa29SWjtBaUJob1JJOztFQUNFLHlCQUhNO0FqQnNvUlo7QWlCam9STTs7O0VBQ0UsZ0JBTFc7RUFNWCxjQVBJO0FqQjRvUlo7QWlCbm9STTs7RUFDRSwwQkFWSTtBakJncFJaO0FpQjlvUkk7O0VBQ0UseUJBSE07QWpCb3BSWjtBaUIvb1JNOzs7RUFDRSxnQkFMVztFQU1YLGNBUEk7QWpCMHBSWjtBaUJqcFJNOztFQUNFLDBCQVZJO0FqQjhwUlo7QWlCNXBSSTs7RUFDRSx5QkFITTtBakJrcVJaO0FpQjdwUk07OztFQUNFLGdCQUxXO0VBTVgsY0FQSTtBakJ3cVJaO0FpQi9wUk07O0VBQ0UsMEJBVkk7QWpCNHFSWjtBaUIxcVJJOztFQUNFLHlCQUhNO0FqQmdyUlo7QWlCM3FSTTs7O0VBQ0UsZ0JBTFc7RUFNWCxjQVBJO0FqQnNyUlo7QWlCN3FSTTs7RUFDRSwwQkFWSTtBakIwclJaO0FpQnhyUkk7O0VBQ0UseUJBSE07QWpCOHJSWjtBaUJ6clJNOzs7RUFDRSxnQkFMVztFQU1YLGNBUEk7QWpCb3NSWjtBaUIzclJNOztFQUNFLDBCQVZJO0FqQndzUlo7QWlCdHNSSTs7RUFDRSx5QkFITTtBakI0c1JaO0FpQnZzUk07OztFQUNFLDhCQUxXO0VBTVgsY0FQSTtBakJrdFJaO0FpQnpzUk07O0VBQ0UsMEJBVkk7QWpCc3RSWjtBaUJwdFJJOztFQUNFLHlCQUhNO0FqQjB0Ulo7QWlCcnRSTTs7O0VBQ0UsZ0JBTFc7RUFNWCxjQVBJO0FqQmd1Ulo7QWlCdnRSTTs7RUFDRSwwQkFWSTtBakJvdVJaO0FpQmx1Ukk7O0VBQ0UseUJBSE07QWpCd3VSWjtBaUJudVJNOzs7RUFDRSxnQkFMVztFQU1YLGNBUEk7QWpCOHVSWjtBaUJydVJNOztFQUNFLDBCQVZJO0FqQmt2Ulo7QWlCaHZSSTs7RUFDRSx5QkFITTtBakJzdlJaO0FpQmp2Uk07OztFQUNFLGdCQUxXO0VBTVgsY0FQSTtBakI0dlJaO0FpQm52Uk07O0VBQ0UsMEJBVkk7QWpCZ3dSWjtBaUI5dlJJOztFQUNFLHlCQUhNO0FqQm93Ulo7QWlCL3ZSTTs7O0VBQ0UsZ0JBTFc7RUFNWCxjQVBJO0FqQjB3Ulo7QWlCandSTTs7RUFD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a1MxQjtBbUJyNlJFO0VBM0hBLGtCQzlCYztFRCtCZCxxQkM3QmU7QXBCaWtTakI7QW1CdDZSRTtFQTFIQSxVQUFBO0VBQ0EsaUJDdENjO0FwQjBrU2hCO0FtQnY2UkU7RUFySEEsWUFBQTtFQUNBLGlCQ3pDZ0I7QXBCeWtTbEI7QW1CeDZSRTtFQXBIQSxVQUFBO0VBQ0Esa0JDM0NhO0FwQjJrU2Y7QW1CejZSRTtFQW5IQSxVQUFBO0VBQ0Esa0JDN0NlO0FwQjZrU2pCO0FtQjVoU0U7RUFDRSxlQW9IWTtBbkIyNlJoQjtBbUI1aFNFO0VBQ0UsYUFnSFk7QW5CODZSaEI7QW1CbmlTRTtFQUNFLGVBb0hZO0FuQms3UmhCO0FtQm5pU0U7RUFDRSxhQWdIWTtBbkJxN1JoQjtBbUIxaVNFO0VBQ0UsZUFvSFk7QW5CeTdSaEI7QW1CMWlTRTtFQUNFLGFBZ0hZO0FuQjQ3UmhCO0FtQmpqU0U7RUFDRSxlQW9IWTtBbkJnOFJoQjtBbUJqalNFO0VBQ0UsYUFnSFk7QW5CbThSaEI7QW1CeGpTRTtFQUNFLGVBb0hZO0FuQnU4UmhCO0FtQnhqU0U7RUFDRSxhQWdIWTtBbkIwOFJoQjtBbUIvalNFO0VBQ0UsZUFvSFk7QW5CODhSaEI7QW1CL2pTRTtFQUNFLGFBZ0hZO0FuQmk5UmhCO0FtQnRrU0U7RUFDRSxlQW9IWTtBbkJxOVJoQjtBbUJ0a1NFO0VBQ0UsYUFnSFk7QW5CdzlSaEI7QW1CN2tTRTtFQUNFLGVBb0hZO0FuQjQ5UmhCO0FtQjdrU0U7RUFDRSxhQWdIWTtBbkIrOVJoQjtBbUJwbFNFO0VBQ0UsZUFvSFk7QW5CbStSaEI7QW1CcGxTRTtFQUNFLGFBZ0hZO0FuQnMrUmhCO0FtQjNsU0U7RUFDRSxlQW9IWTtBbkIwK1JoQjtBbUIzbFNFO0VBQ0UsYUFnSFk7QW5CNitSaEI7QW1CbG1TRTtFQUNFLGVBb0hZO0FuQmkvUmhCO0FtQmxtU0U7RUFDRSxhQWdIWTtBbkJvL1JoQjtBbUJ6bVNFO0VBQ0UsZUFvSFk7QW5Cdy9SaEI7QW1Cem1TRTtFQUNFLGFBZ0hZO0FuQjIvUmhCO0FtQmhuU0U7RUFDRSxlQW9IWTtBbkIrL1JoQjtBbUJoblNFO0VBQ0UsYUFnSFk7QW5Ca2dTaEI7QW1Cdm5TRTtFQUNFLGVBb0hZO0FuQnNnU2hCO0FtQnZuU0U7RUFDRSxhQWdIWTtBbkJ5Z1NoQjtBbUI5blNFO0VBQ0UsZUFvSFk7QW5CNmdTaEI7QW1COW5TRTtFQUNFLGFBZ0hZO0FuQmdoU2hCO0FtQm5nU007RUF4T0osY0FBQTtFQUNBLGtCQUFBO0VBQ0EsV0FIeUM7QW5Ca3ZTM0M7QW1CN3VTRTtFQUNFLGNBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0Esb0JBQUE7QW5CK3VTSjtBbUI1dVNFO0VBQ0UsV0FBQTtFQUNBLGNBQUE7RUFDQSxXQUFBO0FuQjh1U0o7QW1CM3VTRTtFQUNFLGNBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0FuQjZ1U0o7QW1CNWhTTTtFQXhPSixjQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUh5QztBbkIyd1MzQztBbUJ0d1NFO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxzQkFBQTtBbkJ3d1NKO0FtQnJ3U0U7RUFDRSxXQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7QW5CdXdTSjtBbUJwd1NFO0VBQ0UsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7QW5Cc3dTSjtBbUJyalNNO0VBeE9KLGNBQUE7RUFDQSxrQkFBQTtFQUNBLFdBSHlDO0FuQm95UzNDO0FtQi94U0U7RUFDRSxjQUFBO0VBQ0EsV0FBQTtFQUNBLFdBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLDhCQUFBO0FuQml5U0o7QW1COXhTRTtFQUNFLFdBQUE7RUFDQSxjQUFBO0VBQ0EsV0FBQTtBbkJneVNKO0FtQjd4U0U7RUFDRSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtBbkIreFNKO0FtQjlrU007RUF4T0osY0FBQTtFQUNBLGtCQUFBO0VBQ0EsV0FIeUM7QW5CNnpTM0M7QW1CeHpTRTtFQUNFLGNBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsOEJBQUE7QW5CMHpTSjtBbUJ2elNFO0VBQ0UsV0FBQTtFQUNBLGNBQUE7RUFDQSxXQUFBO0FuQnl6U0o7QW1CdHpTRTtFQUNFLGNBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0FuQnd6U0o7QW1Cdm1TTTtFQXhPSixjQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUh5QztBbkJzMVMzQztBbUJqMVNFO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxtQkFBQTtBbkJtMVNKO0FtQmgxU0U7RUFDRSxXQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7QW5CazFTSjtBbUIvMFNFO0VBQ0UsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7QW5CaTFTSjtBbUJob1NNO0VBeE9KLGNBQUE7RUFDQSxrQkFBQTtFQUNBLFdBSHlDO0FuQisyUzNDO0FtQjEyU0U7RUFDRSxjQUFBO0VBQ0EsV0FBQTtFQUNBLFdBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLG1CQUFBO0FuQjQyU0o7QW1CejJTRTtFQUNFLFdBQUE7RUFDQSxjQUFBO0VBQ0EsV0FBQTtBbkIyMlNKO0FtQngyU0U7RUFDRSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtBbkIwMlNKO0FtQnpwU007RUF4T0osY0FBQTtFQUNBLGtCQUFBO0VBQ0EsV0FIeUM7QW5CdzRTM0M7QW1CbjRTRTtFQUNFLGNBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsOEJBQUE7QW5CcTRTSjtBbUJsNFNFO0VBQ0UsV0FBQTtFQUNBLGNBQUE7RUFDQSxXQUFBO0FuQm80U0o7QW1CajRTRTtFQUNFLGNBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0FuQm00U0o7QW1CbHJTTTtFQXhPSixjQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUh5QztBbkJpNlMzQztBbUI1NVNFO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxxQkFBQTtBbkI4NVNKO0FtQjM1U0U7RUFDRSxXQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7QW5CNjVTSjtBbUIxNVNFO0VBQ0UsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7QW5CNDVTSjtBbUIzc1NNO0VBeE9KLGNBQUE7RUFDQSxrQkFBQTtFQUNBLFdBSHlDO0FuQjA3UzNDO0FtQnI3U0U7RUFDRSxjQUFBO0VBQ0EsV0FBQTtFQUNBLFdBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLDZCQUFBO0FuQnU3U0o7QW1CcDdTRTtFQUNFLFdBQUE7RUFDQSxjQUFBO0VBQ0EsV0FBQTtBbkJzN1NKO0FtQm43U0U7RUFDRSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtBbkJxN1NKO0FtQnB1U007RUF4T0osY0FBQTtFQUNBLGtCQUFBO0VBQ0EsV0FIeUM7QW5CbTlTM0M7QW1COThTRTtFQUNFLGNBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsbUJBQUE7QW5CZzlTSjtBbUI3OFNFO0VBQ0UsV0FBQTtFQUNBLGNBQUE7RUFDQSxXQUFBO0FuQis4U0o7QW1CNThTRTtFQUNFLGNBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0FuQjg4U0o7QW1CN3ZTTTtFQXhPSixjQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUh5QztBbkI0K1MzQztBbUJ2K1NFO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxzQkFBQTtBbkJ5K1NKO0FtQnQrU0U7RUFDRSxXQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7QW5CdytTSjtBbUJyK1NFO0VBQ0UsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7QW5CdStTSjtBbUJ0eFNNO0VBeE9KLGNBQUE7RUFDQSxrQkFBQTtFQUNBLFdBSHlDO0FuQnFnVDNDO0FtQmhnVEU7RUFDRSxjQUFBO0VBQ0EsV0FBQTtFQUNBLFdBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLDhCQUFBO0FuQmtnVEo7QW1CLy9TRTtFQUNFLFdBQUE7RUFDQSxjQUFBO0VBQ0EsV0FBQTtBbkJpZ1RKO0FtQjkvU0U7RUFDRSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtBbkJnZ1RKO0FtQi95U007RUF4T0osY0FBQTtFQUNBLGtCQUFBO0VBQ0EsV0FIeUM7QW5COGhUM0M7QW1CemhURTtFQUNFLGNBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsbUJBQUE7QW5CMmhUSjtBbUJ4aFRFO0VBQ0UsV0FBQTtFQUNBLGNBQUE7RUFDQSxXQUFBO0FuQjBoVEo7QW1CdmhURTtFQUNFLGNBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0FuQnloVEo7QW1CeDBTTTtFQXhPSixjQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUh5QztBbkJ1alQzQztBbUJsalRFO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxtQkFBQTtBbkJvalRKO0FtQmpqVEU7RUFDRSxXQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7QW5CbWpUSjtBbUJoalRFO0VBQ0UsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7QW5Ca2pUSjtBbUJqMlNNO0VBeE9KLGNBQUE7RUFDQSxrQkFBQTtFQUNBLFdBSHlDO0FuQmdsVDNDO0FtQjNrVEU7RUFDRSxjQUFBO0VBQ0EsV0FBQTtFQUNBLFdBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLHFCQUFBO0FuQjZrVEo7QW1CMWtURTtFQUNFLFdBQUE7RUFDQSxjQUFBO0VBQ0EsV0FBQTtBbkI0a1RKO0FtQnprVEU7RUFDRSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtBbkIya1RKO0FtQjEzU007RUF4T0osY0FBQTtFQUNBLGtCQUFBO0VBQ0EsV0FIeUM7QW5CeW1UM0M7QW1CcG1URTtFQUNFLGNBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsOEJBQUE7QW5Cc21USjtBbUJubVRFO0VBQ0UsV0FBQTtFQUNBLGNBQUE7RUFDQSxXQUFBO0FuQnFtVEo7QW1CbG1URTtFQUNFLGNBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0FuQm9tVEo7QW1CbjVTTTtFQXhPSixjQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUh5QztBbkJrb1QzQztBbUI3blRFO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxtQkFBQTtBbkIrblRKO0FtQjVuVEU7RUFDRSxXQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7QW5COG5USjtBbUIzblRFO0VBQ0UsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7QW5CNm5USjtBcUJucFRFO0VBQ0UsaUJBQUE7QXJCc3BUSjtBcUJscFRBO0VBQ0Usa0JBQUE7RUFDQSxXQUFBO0FyQnFwVEY7QXFCbnBURTtFQUNFLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLGtCQUFBO0VBRUEsZUFBQTtBckJvcFRKO0FxQmpwVEU7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLE9BQUE7RUFDQSxXQUFBO0VBQ0EsNkJBQUE7RUFDQSxrQkFBQTtBckJtcFRKO0FxQmhwVEU7RUFDRSxrQ0FBQTtBckJrcFRKO0FxQjlvVEU7RUFDRSxrQkFBQTtFQUNBLFFBQUE7QXJCZ3BUSjtBcUI1b1RJO0VBQ0UseUJBQUE7RUFDQSxxQkFBQTtBckI4b1ROO0FxQmhwVEk7RUFDRSx5QkFBQTtFQUNBLHFCQUFBO0FyQmtwVE47QXFCcHBUSTtFQUNFLHlCQUFBO0VBQ0EscUJBQUE7QXJCc3BUTjtBcUJ4cFRJO0VBQ0UseUJBQUE7RUFDQSxxQkFBQTtBckIwcFROO0FxQjVwVEk7RUFDRSx5QkFBQTtFQUNBLHFCQUFBO0FyQjhwVE47QXFCaHFUSTtFQUNFLHlCQUFBO0VBQ0EscUJBQUE7QXJCa3FUTjtBcUJwcVRJO0VBQ0UseUJBQUE7RUFDQSxxQkFBQTtBckJzcVROO0FxQnhxVEk7RUFDRSx5QkFBQTtFQUNBLHFCQUFBO0FyQjBxVE47QXFCNXFUSTtFQUNFLHlCQUFBO0VBQ0EscUJBQUE7QXJCOHFUTjtBcUJoclRJO0VBQ0UseUJBQUE7RUFDQSxxQkFBQTtBckJrclROO0FxQnByVEk7RUFDRSx5QkFBQTtFQUNBLHFCQUFBO0FyQnNyVE47QXFCeHJUSTtFQUNFLHlCQUFBO0VBQ0EscUJBQUE7QXJCMHJUTjtBcUI1clRJO0VBQ0UseUJBQUE7RUFDQSxxQkFBQTtBckI4clROO0FxQmhzVEk7RUFDRSx5QkFBQTtFQUNBLHFCQUFBO0FyQmtzVE47QXFCcHNUSTtFQUNFLHlCQUFBO0VBQ0EscUJBQUE7QXJCc3NUTjtBcUJqc1RBO0VBQ0Usa0JBQUE7QXJCb3NURjtBcUJqc1RBO0VBQ0Usd0JBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VBQ0EsY0FBQTtBckJvc1RGO0FxQmhzVEU7RUFDRSx5QkFBQTtBckJtc1RKO0FxQmhzVEU7RUFDRSxrQkFBQTtFQUNBLHlCQUFBO0VBQ0EsaUJBQUE7RUFDQSx3QkFBQTtFQUNBLDBDQUFBO0VBQ0EsbUJBQUE7QXJCa3NUSjtBcUI5clRBO0VBQ0UsaUJBQUE7QXJCaXNURjtBc0J6OFNBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEIwOFNGO0FzQjMyU0E7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCNjJTRjtBc0J2OVNBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEJ3OVNGO0FzQnozU0E7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCMjNTRjtBc0JyK1NBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEJzK1NGO0FzQnY0U0E7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCeTRTRjtBdUIveVRBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7QXZCa3pURjtBdUIzeVRBOztFQUVFLHdEQUFBO0VBQ0EscUJBQUE7RUFDQSxzQkFBQTtFQUNBLGNBQUE7QXZCOHlURjtBdUJ2eVRBO0VBQ0UsZUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxpQkFBQTtFQUNBLGFBQUE7RUFDQSx3REFBQTtBdkIweVRGO0F1QnB5VEE7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0F2QnV5VEY7QXVCbnlUQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLGlCQUFBO0F2QnN5VEY7QXVCOXhUQTtFQUNFLGdCQUFBO0VBQ0Esb0JBQUE7RUFDQSxxQkFBQTtFQUNBLGlCQUFBO0F2Qml5VEY7QXVCN3hUQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLDBCQUFBO0F2Qmd5VEY7QXVCNXhUQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7QXZCK3hURjtBdUJ6eFRBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkI0eFRGO0F1QnZ4VEE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0VBQ0EsNkJBQUE7QXZCMHhURjtBdUJ0eFRBO0VBQ0UsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSwyQkFBQTtBdkJ5eFRGO0FzQnhrVEE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QnlrVEY7QXNCMStTQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEI0K1NGO0FzQnRsVEE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QnVsVEY7QXNCeC9TQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEIwL1NGO0F1Qmg2VEE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtBdkJtNlRGO0F1QjU1VEE7O0VBRUUsd0RBQUE7RUFDQSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsY0FBQTtBdkIrNVRGO0F1Qng1VEE7RUFDRSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLHdEQUFBO0F2QjI1VEY7QXVCcjVUQTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QXZCdzVURjtBdUJwNVRBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7QXZCdTVURjtBdUIvNFRBO0VBQ0UsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7QXZCazVURjtBdUI5NFRBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7QXZCaTVURjtBdUI3NFRBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkJnNVRGO0F1QjE0VEE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2QjY0VEY7QXVCeDRUQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7RUFDQSw2QkFBQTtBdkIyNFRGO0F1QnY0VEE7RUFDRSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLDJCQUFBO0F2QjA0VEY7QXdCNy9UQTtFQUNFLGdCQUFBO0F4QmdnVUY7QXdCNy9UQTs7RUFFRSxZQUFBO0VBQ0EsdUxyQm9MWTtBSDQwVGQ7QXdCOS9URTs7RUFDRSxrQkFBQTtBeEJpZ1VKO0F3Qi8vVEk7O0VBQ0UsZUFBQTtBeEJrZ1VOO0F3QjcvVEk7O0VBQ0UsY0FBQTtBeEJnZ1VOO0F3QjMvVEk7O0VBQ0UsYUFBQTtBeEI4L1ROO0F3QjEvVEU7O0VBQ0UsZUFBQTtBeEI2L1RKO0F3QjUvVEk7RUFGRjs7SUFHSSxlQUFBO0V4QmdnVUo7QUFDRjtBd0I3L1RFOztFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7QXhCZ2dVSjtBd0I3L1RFOztFQUNFLFdBQUE7RUFDQSxZQUFBO0F4QmdnVUo7QXdCNS9UQTtFQUNFLFVBQUE7RUFDQSxTQUFBO0F4QisvVEY7QXdCMy9URTtFQUNFLGtCQUFBO0F4QjgvVEo7QXlCdC9URTtFQUNFLGtCQUFBO0VBQ0EsbUJBQUE7QXpCeS9USjtBeUJ0L1RFO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFDQSxjQUFBO0VBQ0EsbUJBQUE7QXpCdy9USjtBeUJyL1RFO0VBQ0UsaUJBQUE7RUFDQSxnQkFBQTtBekJ1L1RKO0F5QnAvVEU7RUFDRSxnQkFBQTtFQUNBLE9BQUE7QXpCcy9USjtBeUJuL1RFO0VBQ0UsYUFBQTtBekJxL1RKO0F5QmwvVEU7RUFDRSxXQUFBO0VBQ0EsT0FBQTtFQUNBLGFBQUE7RUFDQSxzQkFBQTtFQUNBLG9CQUFBO0F6Qm8vVEo7QXlCbC9USTtFQUNFLDhCQUFBO0F6Qm8vVE47QXlCaC9URTtFQUNFLGlCQUFBO0F6QmsvVEo7QXlCLytUSTtFQUpGO0lBS0ksY0FBQTtFekJrL1RKO0FBQ0Y7QXlCLytURTtFQUNFLHVCQUFBO0F6QmkvVEo7QXlCOStURTtFQUNFLHdCQUFBO0F6QmcvVEo7QXlCNytURTtFQUNFLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxxQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBQTtBekIrK1RKO0F5QjUrVEU7RUFDRSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7QXpCOCtUSjtBeUIzK1RFO0VBQ0UsT0FBQTtFQUNBLHFCQUFBO0VBQ0EsV0FBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLGVBQUE7QXpCNitUSjtBeUIxK1RFO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLHFCQUFBO0VBQ0EsV0FBQTtBekI0K1RKO0F5QnorVEU7RUFDRSxlQUFBO0F6QjIrVEo7QXlCeCtURTtFQUNFLFlBQUE7RUFDQSxlQUFBO0F6QjArVEo7QXlCditURTtFQUNFLGdCQUFBO0F6QnkrVEo7QXlCdCtURTtFQUNFLGFBQUE7QXpCdytUSjtBeUJyK1RFO0VBQ0Usa0JBQUE7RUFDQSxRQUFBO0F6QnUrVEo7QXlCbitUSTs7RUFFRSxZQUFBO0F6QnErVE47QXlCaitURTtFQUNFLFlBQUE7QXpCbStUSjtBeUJoK1RFO0VBQ0Usb0JBQUE7QXpCaytUSjtBeUIvOVRFO0VBQ0UsZUFBQTtBekJpK1RKO0F5Qi85VEk7RUFDRSwwQkFBQTtBekJpK1ROO0F5QnBxVUU7RUFDRSxzQkFBQTtBekJ1cVVKO0F5QnJxVUk7RUFDRSx5QkFBQTtBekJ1cVVOO0F5QnBxVUk7O0VBRUUseUJBQUE7QXpCc3FVTjtBeUJucVVJO0VBQ0UscUJBQUE7QXpCcXFVTjtBeUJscVVJO0VBQ0UsMkJBQUE7QXpCb3FVTjtBeUJqcVVJO0VBQ0UsNEJBQUE7QXpCbXFVTjtBeUJocVVJO0VBQ0UseUJBQUE7RUFDQSxXQUFBO0F6QmtxVU47QXlCL3BVSTtFQUNFLHlCQUFBO0VBQ0EscUJBQUE7RUFDQSxXQUFBO0F6QmlxVU47QXlCOXBVSTtFQUNFLGNBQUE7QXpCZ3FVTjtBeUI3cFVJO0VBQ0UseUJBQUE7QXpCK3BVTjtBeUI1cFVJO0VBQ0Usb0NBQUE7QXpCOHBVTjtBeUIzcFVJO0VBQ0UsV0FBQTtFQUNBLHNCQUFBO0VBQ0EsK0NBQUE7QXpCNnBVTjtBMEJsb1VBO0VBc01FLHlEQUFBO0ExQmc4VEY7QTBCcm9VRTtFQUNFLHNCQUFBO0ExQnVvVUo7QTBCcG9VRTtFQUNFLGFBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0ExQnNvVUo7QTBCbm9VRTtFQUNFLE9BQUE7RUFDQSxrQkFBQTtFQUNBLFlBQUE7QTFCcW9VSjtBMEJub1VJO0VBQ0UsdUJBQUE7QTFCcW9VTjtBMEJsb1VJO0VBQ0Usc0JBQUE7QTFCb29VTjtBMEJob1VFO0VBQ0UsZ0JBQUE7RUFDQSxZQUFBO0ExQmtvVUo7QTBCL25VRTtFQUNFLFlBQUE7RUFDQSxzQkFBQTtBMUJpb1VKO0EwQjluVUU7RUFDRSxlQUFBO0VBQ0EsaUJBQUE7QTFCZ29VSjtBMEI3blVFO0VBQ0UsV0FBQTtFQUNBLFlBQUE7QTFCK25VSjtBMEI1blVFO0VBQ0Usa0JBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTtFQUNBLFVBQUE7QTFCOG5VSjtBMEIzblVFO0VBQ0UsaUJBQUE7RUFDQSxhQUFBO0VBQ0Esd0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0ExQjZuVUo7QTBCM25VSTtFQUNFLFlBQUE7RUFDQSxXQUFBO0VBQ0EsYUFBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFVBQUE7QTFCNm5VTjtBMEIxblVJO0VBQ0Usa0JBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7QTFCNG5VTjtBMEJ6blVJO0VBQ0UscUJBQUE7RUFDQSxrQkFBQTtBMUIyblVOO0EwQnpuVU07RUFDRSxVQUFBO0VBQ0Esb0JBQUE7QTFCMm5VUjtBMEJ2blVJO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7QTFCeW5VTjtBMEJ0blVJO0VBQ0UsMkJBQUE7RUFDQSw4QkFBQTtBMUJ3blVOO0EwQnJuVUk7RUFDRSw0QkFBQTtFQUNBLCtCQUFBO0ExQnVuVU47QTBCcG5VSTtFQUNFLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EsZUFBQTtBMUJzblVOO0EwQm5uVUk7RUFDRSxVQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0ExQnFuVU47QTBCbm5VTTtFQUNFLFFBQUE7QTFCcW5VUjtBMEJoblVFOztFQUVFLGdCQUFBO0VBQ0EsdUJBQUE7RUFDQSxtQkFBQTtBMUJrblVKO0EwQi9tVUU7RUFDRSxvQkFBQTtFQUNBLFVBQUE7QTFCaW5VSjtBMEIvbVVJO0VBQ0Usb0JBQUE7QTFCaW5VTjtBMEI3bVVFO0VBQ0Usa0JBQUE7RUFDQSxpQkFBQTtFQUNBLGFBQUE7RUFDQSxhQUFBO0ExQittVUo7QTBCN21VSTtFQUNFLGFBQUE7RUFDQSxZQUFBO0ExQittVU47QTBCNW1VSTtFQUNFLGtCQUFBO0ExQjhtVU47QTBCM21VSTtFQUNFLGtCQUFBO0ExQjZtVU47QTBCMW1VSTtFQUNFLGtCQUFBO0VBQ0EsVUFBQTtBMUI0bVVOO0EwQnptVUk7RUFDRSx1QkFBQTtFQUNBLHdCQUFBO0VBQ0EsV0FBQTtFQUNBLGNBQUE7RUFDQSxpQkFBQTtBMUIybVVOO0EwQnhtVUk7RUFDRSxXQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7QTFCMG1VTjtBMEJ4bVVNO0VBQ0UsU0FBQTtBMUIwbVVSO0EwQnJtVUU7RUFDRSxrQkFBQTtBMUJ1bVVKO0EwQnJtVUk7RUFDRSxZQUFBO0ExQnVtVU47QTBCbm1VRTtFQUNFLGVBQUE7QTFCcW1VSjtBMEJsbVVFO0VBQ0UsWUFBQTtBMUJvbVVKO0EwQmhtVUU7O0VBRUUsY0FBQTtBMUJrbVVKO0EwQi9sVUU7O0VBRUUsMEJBQUE7QTFCaW1VSjtBMEI5bFVFO0VBQ0UsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTtBMUJnbVVKO0EwQjVsVUk7RUFDRSxhQUFBO0ExQjhsVU47QTBCMWxVRTtFQUNFLDJCQUFBO0VBQ0EsNEJBQUE7QTFCNGxVSjtBMEJ6bFVFO0VBQ0UsOEJBQUE7RUFDQSwrQkFBQTtBMUIybFVKO0EwQjc0VUU7RUFDRSxzQkFBQTtFQUNBLDZCQUFBO0ExQmc1VUo7QTBCOTRVSTtFQUNFLHFCQUFBO0VBQ0EsYUFBQTtBMUJnNVVOO0EwQjU0VU07RUFDRSwyQkFBQTtBMUI4NFVSO0EwQjM0VU07RUFDRSwwQkFBQTtBMUI2NFVSO0EwQno0VUk7O0VBRUUseUJBQUE7QTFCMjRVTjtBMEJ4NFVJO0VBQ0UsMEJBQUE7QTFCMDRVTjtBMEJ2NFVJO0VBQ0UseUJBQUE7RUFDQSxxQkFBQTtFQUNBLGNBQUE7QTFCeTRVTjtBMEJ0NFVJO0VBQ0UscUJBQUE7QTFCdzRVTjtBMEJyNFVJO0VBQ0UseUJBQUE7QTFCdTRVTjtBMEJwNFVJO0VBQ0UsY0FBQTtBMUJzNFVOO0EwQm40VUk7RUFDRSxxQkFBQTtBMUJxNFVOO0EwQmo0VVU7RUFDRSx5QkFBQTtBMUJtNFVaO0EwQjczVUk7RUFDRSx5QkFBQTtBMUIrM1VOO0EwQjUzVUk7RUFDRSx5QkFBQTtBMUI4M1VOO0EwQjMzVUk7O0VBRUUsNEJBQUE7QTFCNjNVTjtBMEIxM1VJO0VBQ0UseUJBQUE7QTFCNDNVTjtBMkI1OFVBO0VBQ0UseURBQUE7QTNCKzhVRjtBMkI5OFVFO0VBQ0UsYUFBQTtBM0JnOVVKO0EyQjc4VUU7RUFDRSxpQkFBQTtBM0IrOFVKO0EyQjU4VUU7RUFDRSxjQUFBO0EzQjg4VUo7QTJCMzhVRTtFQUNFLGlCQUFBO0VBQ0Esd0JBQUE7QTNCNjhVSjtBNEIvN1VBO0VBQ0Usa0JBQUE7RUFDQSxhQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxzQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxvQkFBQTtFQUNBLGVBQUE7RUFDQSxxQkFBQTtFQUNBLFlBQUE7QTVCazhVRjtBNEIvN1VBO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0E1Qms4VUY7QTRCLzdVQTtFQUNFLFNBQUE7RUFDQSxTQUFBO0VBQ0EsaUJBQUE7RUFDQSx1QkFBQTtBNUJrOFVGO0E0Qi83VUE7RUFDRSxjQUFBO0VBQ0EsZ0JBQUE7QTVCazhVRjtBNEIvN1VBO0VBQ0UsUUFBQTtFQUNBLE9BQUE7RUFDQSxnQkFBQTtFQUNBLDJCQUFBO0E1Qms4VUY7QTRCLzdVQTtFQUNFLGNBQUE7RUFDQSxlQUFBO0E1Qms4VUY7QTRCLzdVQTtFQUNFLE1BQUE7RUFDQSxTQUFBO0VBQ0EsaUJBQUE7RUFDQSx1QkFBQTtBNUJrOFVGO0E0Qi83VUE7RUFDRSxjQUFBO0VBQ0EsaUJBQUE7QTVCazhVRjtBNEIvN1VBO0VBQ0UsUUFBQTtFQUNBLFFBQUE7RUFDQSxnQkFBQTtFQUNBLDJCQUFBO0E1Qms4VUY7QTRCLzdVQTtFQUNFLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLHNCQUFBO0E1Qms4VUY7QTRCLzdVQTtFQUNFLGtCQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSx5QkFBQTtFQUNBLG1CQUFBO0E1Qms4VUY7QTRCemlWRTtFQUNFLHNCQUFBO0E1QjRpVko7QTRCemlWRTtFQUNFLHdCQUFBO0E1QjRpVko7QTRCemlWRTtFQUNFLHlCQUFBO0E1QjRpVko7QTRCemlWRTtFQUNFLHVCQUFBO0E1QjRpVko7QTRCemlWRTtFQUNFLFdBQUE7RUFDQSxzQkFBQTtBNUI0aVZKO0FzQmh3VUE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0Qml3VUY7QXNCbHFVQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJvcVVGO0FzQjl3VUE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0Qit3VUY7QXNCaHJVQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJrclVGO0F1QnhsVkE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtBdkIybFZGO0F1QnBsVkE7O0VBRUUsd0RBQUE7RUFDQSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsY0FBQTtBdkJ1bFZGO0F1QmhsVkE7RUFDRSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLHdEQUFBO0F2Qm1sVkY7QXVCN2tWQTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QXZCZ2xWRjtBdUI1a1ZBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7QXZCK2tWRjtBdUJ2a1ZBO0VBQ0UsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7QXZCMGtWRjtBdUJ0a1ZBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7QXZCeWtWRjtBdUJya1ZBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkJ3a1ZGO0F1QmxrVkE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2QnFrVkY7QXVCaGtWQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7RUFDQSw2QkFBQTtBdkJta1ZGO0F1Qi9qVkE7RUFDRSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLDJCQUFBO0F2QmtrVkY7QTZCcnJWQTtFQUNFLGtDQUFBO0VBQ0EsNkJBQUE7RUFDQSx3QkFBQTtFQUNBLGtCQUFBO0E3QndyVkY7QTZCdHJWRTtFQUNFLFlBQUE7QTdCd3JWSjtBNkJ0clZJO0VBQ0UsbUJBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0E3QndyVk47QTZCcnJWSTtFQUNFLG9CQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtBN0J1clZOO0E2QnByVkk7RUFDRSxhQUFBO0VBQ0EsdUJBQUE7RUFDQSxvQkFBQTtFQUNBLHVCQUFBO0E3QnNyVk47QTZCcHJWTTtFQUNFLDhDQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtBN0JzclZSO0E2QmhyVkk7RUFDRSxlQUFBO0VBQ0EsWUFBQTtBN0JrclZOO0E2QjFxVkk7RUFDRSx1QkFBQTtFQUNBLHlDQUFBO0E3QjRxVk47QTZCeHFWRTtFQUVFLHNCQUFBO0E3QnlxVko7QTZCcnFWQTtFQUNFLFdBQUE7RUFDQSxnQkFBQTtBN0J3cVZGO0E2QnJxVkk7RUFDRSxzQkFBQTtFQUNBLGlCQUFBO0E3QnVxVk47QTZCaHFWSTtFQUNFLGlCQUFBO0VBQ0EsbUJBQUE7QTdCbXFWTjtBNkJocVZJO0VBQ0UsV0FBQTtFQUVBLHlCUG1EZ0I7RU9sRGhCLG9CQUFBO0E3QmlxVk47QTZCN3BWTTtFQUNFLFVBQUE7RUFDQSw0QkFBQTtFQUVBLG1GQUFBO0E3QjhwVlI7QTZCMXBWSTtFQUNFLFVBQUE7RUFDQSxnQ0FBQTtFQUVBLGVBQUE7RUFDQSxTQUFBO0VBRUEsZ0JBQUE7RUFDQSxVQUFBO0VBQ0Esa0JBQUE7QTdCMHBWTjtBNkJwcFZFO0VBQ0UsV0FBQTtBN0J1cFZKO0E2QmxwVkE7RUFDRSw4QkFBQTtBN0JxcFZGO0E2QjdvVkE7RUFDRSxrQkFBQTtFQUNBLFNBQUE7QTdCZ3BWRjtBNkJwb1ZBO0VBQ0UsU0FBQTtFQUNBLFVBQUE7QTdCdW9WRjtBNkJqb1ZBO0VBQ0Usa0NBQUE7VUFBQSwwQkFBQTtFQUNBLDJCQUFBO0E3Qm9vVkY7QTZCaG9WRTtFQUNFLGtCQUFBO0E3Qm1vVko7QTZCam9WSTtFQUNFLGlCQUFBO0E3Qm1vVk47QTZCaG9WSTtFQUNFLFNBQUE7QTdCa29WTjtBc0I3OVVBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEI4OVVGO0FzQi8zVUE7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCaTRVRjtBc0IzK1VBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEI0K1VGO0FzQjc0VUE7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCKzRVRjtBdUJyelZBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7QXZCd3pWRjtBdUJqelZBOztFQUVFLHdEQUFBO0VBQ0EscUJBQUE7RUFDQSxzQkFBQTtFQUNBLGNBQUE7QXZCb3pWRjtBdUI3eVZBO0VBQ0UsZUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxpQkFBQTtFQUNBLGFBQUE7RUFDQSx3REFBQTtBdkJnelZGO0F1QjF5VkE7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0F2QjZ5VkY7QXVCenlWQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLGlCQUFBO0F2QjR5VkY7QXVCcHlWQTtFQUNFLGdCQUFBO0VBQ0Esb0JBQUE7RUFDQSxxQkFBQTtFQUNBLGlCQUFBO0F2QnV5VkY7QXVCbnlWQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLDBCQUFBO0F2QnN5VkY7QXVCbHlWQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7QXZCcXlWRjtBdUIveFZBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkJreVZGO0F1Qjd4VkE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0VBQ0EsNkJBQUE7QXZCZ3lWRjtBdUI1eFZBO0VBQ0UsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSwyQkFBQTtBdkIreFZGO0E4Qi80VkU7RUFDRSxjQUFBO0E5Qms1Vko7QThCaDVWSTtFQUhGO0lBSUksY0FBQTtFOUJtNVZKO0FBQ0Y7QThCajVWSTtFQUNFLDRCUnVFZTtFUXRFZiwrQkFBQTtFQUNBLGlCQUFBO0E5Qm01Vk47QThCOTRWQTtFQUNFLFVBQUE7QTlCaTVWRjtBOEI3NFZFO0VBQVUscUJBQUE7QTlCZzVWWjtBOEI3NFZBO0VBQ0UsWUMrRWU7QS9CaTBWakI7QThCeDRWQTs7O0VBR0UsaUJDb0VlO0EvQnUwVmpCO0E4Qng0VkE7RUFDRSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxXQUFBO0VBRUEsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7RUFFQSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBO0E5Qnk0VkY7QThCdDRWQTtFQUNFLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0E5Qnk0VkY7QThCdjRWRTtFQUNFLG1DQUFBO0E5Qnk0Vko7QThCdDRWRTtFQUNFLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSw2QkFBQTtBOUJ3NFZKO0E4QnY0Vkk7RUFDRSwrQkFBQTtBOUJ5NFZOO0E4QnI0VkU7RUFDRSxpQkFBQTtFQUNBLHVCQUFBO0VBQ0EsZ0JBQUE7RUFDQSw2QkFBQTtBOUJ1NFZKO0E4QnQ0Vkk7RUFDRSwrQkFBQTtBOUJ3NFZOO0E4QnQ0Vkk7RUFDRSxnQkFBQTtFQUNBLGNSNkd5QjtBdEIyeFYvQjtBOEJwNFZFO0VBQ0UsVUFBQTtBOUJzNFZKO0E4Qmo0VkU7RUFDRSxhQUFBO0E5Qm80Vko7QThCbDRWSTtFQUNFLHVMM0J5RlE7RTJCeEZSLGdCQUFBO0E5Qm80Vk47QThCbDRWTTtFQUNFLGlCQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7QTlCbzRWUjtBOEJqNFZNO0VBQ0UsVUFBQTtBOUJtNFZSO0E4QjczVkE7RUFDRSxxQkFBQTtBOUJnNFZGO0E4QjczVkE7RUFDRSxpQkN0RWU7RUR1RWYsaUJBQUE7QTlCZzRWRjtBOEI5M1ZFO0VBQ0UsWUMxRWE7RUQyRWIsV0MzRWE7RUQ0RWIsaUJDNUVhO0EvQjQ4VmpCO0E4QjczVkU7RUFDRSxZQy9FcUI7RURnRnJCLFdDaEZxQjtFRGlGckIsaUJDakZxQjtFRGtGckIsaUJDakY4QjtBL0JnOVZsQztBOEI1M1ZFO0VBQ0Usa0JBQUE7RUFDQSxxQkFBQTtFQUNBLGlCQ3hGcUI7QS9CczlWekI7QThCaDNWQTtFQUNFLCtCQUFBO0VBQ0EsOEJBQUE7RUFDQSxrQ0FBQTtFQUNBLHNCQUFBO0VBQ0EsdUJBQUE7RUFDQSwwQkFBQTtFQUNBLHFCQUFBO0VBQ0Esb0JBQUE7RUFDQSw2QkFBQTtFQUNBLDZCQUFBO0VBQ0EsNEJBQUE7RUFDQSx1QkFBQTtFQUNBLGNBQUE7RUFDQSxlQUFBO0VBQ0EsbUVBQUE7QTlCbTNWRjtBOEJoM1ZFOztFQUVFLHdCQUFBO0E5QmszVko7QThCNzJWRTtFQUNFLDBCQUFBO0VBQ0Esc0JBQUE7RUFDQSx1QkFBQTtFQUNBLDRCQUFBO0VBQ0EsYUFBQTtFQUNBLHdEQUFBO0VBQ0EsMERBQUE7QTlCKzJWSjtBOEJyMlZFO0VBQ0UsWUFBQTtBOUJ1MlZKO0E4QnAyVkU7RUFDRSxVQUFBO0VBQ0Esd0RBQUE7QTlCczJWSjtBOEJuMlZFO0VBQ0UsMkNBQUE7RUFDQSxtQkFBQTtBOUJxMlZKO0E4Qi8wVkE7O0VBRUUsb0JBQUE7RUFDQSxvQkFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7RUFDQSxlQUFBO0VBQ0EsMEdBQUE7QTlCazFWRjtBOEIxMFZBOztFQUVFLG9CQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtBOUI2MFZGO0E4QjEwVkE7RUFDRSxnQkFBQTtBOUI2MFZGO0E4QjEwVkE7RUFDRSxnQkFBQTtFQUtBLHlCUnhGeUI7RVEyRnpCLGNSckY2QjtFUXlGN0IscUJSclFTO0F0QnlrV1g7QThCajBWQTtFQUNFLHlCUmxHOEI7RVFtRzlCLGNSNUZrQztFUTZGbEMscUJSakkyQjtBdEJxOFY3QjtBOEI5elZBOztFQUVFLHlDQUFBO0E5QmkwVkY7QThCL3pWQTtFQUNFLHlCUmpHd0M7RVFrR3hDLHFCUnZSUztBdEJ5bFdYO0E4QmgwVkE7RUFDRSx5QlJwRzZDO0VRcUc3QyxxQlJqSjJCO0F0Qm85VjdCO0E4QmowVkE7RUFDRSx3QkFBQTtBOUJvMFZGO0E4Qjd6VkE7RUFDRSxxQkFBQTtBOUJnMFZGO0E4QnZ6VkE7OztFQUdFLHlCQUFBO0E5QjB6VkY7QThCeHpWQTs7O0VBR0UseUJBQUE7QTlCMnpWRjtBOEJqelZBOzs7RUFHRSxvQ0FBQTtFQUNBLHlCQUFBO0VBQ0EsWUFBQTtBOUJvelZGO0E4Qmx6VkE7OztFQUdFLG9DQUFBO0VBQ0EseUJBQUE7RUFDQSxhQUFBO0E5QnF6VkY7QThCeHlWQTtFQUNFLHdCQUFBO0tBQUEscUJBQUE7VUFBQSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7RUFzQkEsWUNqUmU7RURrUmYsZUFBQTtFQUNBLGVBQUE7RUFDQSw2QkFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLGNBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsbUJBQUE7RUFDQSw2QkFBQTtFQUNBLGNSdk42QjtBdEI2K1YvQjtBOEJselZFOzs7OztFQUtFLGVBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0EsaUJBQUE7RUFDQSxjQUFBO0E5Qm96Vko7QThCL3hWRTtFQUFVLGFBQUE7QTlCa3lWWjtBOEJqeVZFO0VBQ0UsMEJBQUE7RUFDQSxtQkFBQTtBOUJteVZKO0E4QjV4VkU7RUFFRSxlQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtBOUI2eFZKO0E4Qnp4VkE7O0VBRUUsZ0NBQUE7QTlCNHhWRjtBOEJ4eFZBO0VBQ0UseUJSelB5QjtFUTBQekIscUJSamFTO0F0QjRyV1g7QThCenhWQTtFQUNFLHlCUjVQOEI7RVE2UDlCLHFCUjVSMkI7RVE2UjNCLGNSdlBrQztBdEJtaFdwQztBOEJ4eFZBO0VBQ0UseUJSallrQjtFUWtZbEIscUJSbFlrQjtFUW1ZbEIsV0FBQTtFQUNBLGdCQUFBO0E5QjJ4VkY7QThCenhWQTtFQUNFLHlCUnRZdUI7RVF1WXZCLHFCUnZZdUI7RVEwWXZCLFlSdlN3QjtBdEJpa1cxQjtBOEJyeFZBO0VBQ0UseUJSOVlxQjtFUStZckIscUJSL1lxQjtFUWdackIsV0FBQTtFQUNBLGdCQUFBO0E5Qnd4VkY7QThCdHhWQTtFQUNFLHlCUm5aMEI7RVFvWjFCLHFCUnBaMEI7RVFxWjFCLFlSMVlzQjtBdEJtcVd4QjtBOEJweFZBO0VBQ0UseUJSblJ3QztFUW9SeEMscUJSemNTO0F0Qmd1V1g7QThCcnhWQTtFQUNFLHlCUnRSNkM7RVF1UjdDLHFCUm5VMkI7QXRCMmxXN0I7QThCcHhWQTs7RUFFRSx3QkFBQTtBOUJ1eFZGO0E4Qmp4VkE7Ozs7RUFJRSx5QlJ2VHlCO0VRd1R6QixxQlIvZFM7QXRCbXZXWDtBOEJseFZBOzs7O0VBSUUseUJSN1Q4QjtFUThUOUIscUJSN1YyQjtBdEJrblc3QjtBOEIvd1ZFO0VBQ0Usb0JBQUE7RUFDQSxzQkFBQTtFQUNBLHFCQUFBO0VBRUEsa0JBQUE7QTlCaXhWSjtBOEIvd1ZJO0VBQ0UsbUJBQUE7QTlCaXhWTjtBOEI5d1ZJO0VBQ0UsdUwzQmxVUTtFMkJtVVIsaUJBQUE7RUFFQSxtQkFBQTtFQUNBLGdCQUFBO0VBRUEsc0JBQUE7RUFDQSxpQkFBQTtBOUI4d1ZOO0E4QjV3Vk07RUFDRSxVQUFBO0VBRUEscUJBQUE7RUFDQSxzQkFBQTtBOUI2d1ZSO0E4Qnp3Vkk7RUFDRSwrQkFBQTtBOUIyd1ZOO0E4QnZ3VkU7RUFDRSxXQzFhYTtFRDJhYixZQzNhYTtFRDZhYixvQkFBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7RUFFQSxpQkNqYmE7QS9Cd3JXakI7QThCcHdWRTtFQUVFLFdBQUE7QTlCcXdWSjtBOEJsd1ZFO0VBQ0UsK0JBQUE7QTlCb3dWSjtBc0JwK1ZBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEJxK1ZGO0FzQnQ0VkE7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCdzRWRjtBc0JsL1ZBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEJtL1ZGO0FzQnA1VkE7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCczVWRjtBc0JoZ1dBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEJpZ1dGO0FzQmw2VkE7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCbzZWRjtBdUIxMFdBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7QXZCNjBXRjtBdUJ0MFdBOztFQUVFLHdEQUFBO0VBQ0EscUJBQUE7RUFDQSxzQkFBQTtFQUNBLGNBQUE7QXZCeTBXRjtBdUJsMFdBO0VBQ0UsZUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxpQkFBQTtFQUNBLGFBQUE7RUFDQSx3REFBQTtBdkJxMFdGO0F1Qi96V0E7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0F2QmswV0Y7QXVCOXpXQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLGlCQUFBO0F2QmkwV0Y7QXVCenpXQTtFQUNFLGdCQUFBO0VBQ0Esb0JBQUE7RUFDQSxxQkFBQTtFQUNBLGlCQUFBO0F2QjR6V0Y7QXVCeHpXQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLDBCQUFBO0F2QjJ6V0Y7QXVCdnpXQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7QXZCMHpXRjtBdUJweldBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkJ1eldGO0F1Qmx6V0E7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0VBQ0EsNkJBQUE7QXZCcXpXRjtBdUJqeldBO0VBQ0UsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSwyQkFBQTtBdkJveldGO0FnQzk0V0E7RUFDRSxrQkFBQTtFQUNBLHNCQUFBO0VBQ0EsdUJBQUE7RUFDQSwwQkFBQTtFQUNBLHVCVitCaUI7RVUzQmpCLG9DQUFBO0VBQ0EsNkJBQUE7RUFDQSxzQkFBQTtFQUNBLGVBQUE7RUFDQSw2REFBQTtBaEM4NFdGO0FnQ2o0V0U7RUFDRSw2QkFBQTtFQUNBLGtDQUFBO0FoQ200V0o7QWdDNzNXRTtFQUVFLGVBQUE7RUFDQSxvQkFBQTtBaEM4M1dKO0FnQ3gzV0U7RUFDRSxnQ0FBQTtFQUNBLDZCQUFBO0VBQ0Esa0NBQUE7QWhDMDNXSjtBZ0NyM1dFO0VBQ0UsVUFBQTtFQUNBLHdEQUFBO0FoQ3UzV0o7QWdDajNXRTtFQ2hFQSxlQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLHlCWHVCa0I7RVd0QmxCLGNBWCtDO0VBWS9DLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLG9CQUFBO0VEdURFLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUFDQSx5Q0FBQTtBaEM4M1dKO0FnQ3IzV0E7OztFQVVFLDRCQUFBO0FoQ2kzV0Y7QWdDejJXQTtFQUNFLDRCQUFBO0VBQ0EsNkJBQUE7QWhDNDJXRjtBZ0N6MldBO0VBQ0UsdUJWNURzQjtFVTZEdEIsZ0NBQUE7RUFLQSxjVm9Ea0M7QXRCb3pXcEM7QWdDdjJXRTtFQUFZLGNBQUE7QWhDMDJXZDtBZ0N2MldFO0VBQ0UsNkJBQUE7RUFDQSxrQ0FBQTtBaEN5MldKO0FnQ2wyV0U7RUFDRSxnQ0FBQTtFQUNBLDZCQUFBO0VBQ0Esa0NBQUE7QWhDbzJXSjtBZ0M5MVdFO0VBQ0UseUJWdkdxQjtFVXdHckIsWVYxRm9CO0F0QjA3V3hCO0FzQnByV0E7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QnFyV0Y7QXNCdGxXQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJ3bFdGO0FzQmxzV0E7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0Qm1zV0Y7QXNCcG1XQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJzbVdGO0F1QjVnWEE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtBdkIrZ1hGO0F1QnhnWEE7O0VBRUUsd0RBQUE7RUFDQSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsY0FBQTtBdkIyZ1hGO0F1QnBnWEE7RUFDRSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLHdEQUFBO0F2QnVnWEY7QXVCamdYQTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QXZCb2dYRjtBdUJoZ1hBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7QXZCbWdYRjtBdUIzL1dBO0VBQ0UsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7QXZCOC9XRjtBdUIxL1dBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7QXZCNi9XRjtBdUJ6L1dBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkI0L1dGO0F1QnQvV0E7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2QnkvV0Y7QXVCcC9XQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7RUFDQSw2QkFBQTtBdkJ1L1dGO0F1Qm4vV0E7RUFDRSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLDJCQUFBO0F2QnMvV0Y7QWtDeG1YRTtFQUNFLCtHWmdUYTtFWTlTYixpQlppRmlCO0VZaEZqQixZWjRSWTtFWTFSWixhQUFBO0VBQ0Esb0JBQUE7QWxDeW1YSjtBa0NqbVhBO0VBQ0Usd0NBQUE7RUFDQSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EscUJBQUE7RUFDQSxnQkFBQTtFQUNBLHNCQUFBO0VBQ0EseUNBQUE7QWxDb21YRjtBa0NsbVhBO0VBQ0UseUJaN0JTO0VZOEJULGNackJTO0F0QjBuWFg7QWtDN2xYQTtFQUNFLG9DQUFBO0VBQ0EseUJBQUE7QWxDZ21YRjtBbUMzb1hFO0VBQ0Usb0JBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esc0JBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtBbkM4b1hKO0FtQzVvWEk7RUFDRSwwQkFBQTtFQUNBLDRCYlFhO0VhUGIsd0JBQUE7QW5DOG9YTjtBbUMzb1hJO0VBQ0UsaUJBQUE7QW5DNm9YTjtBbUMzb1hNO0VBQ0UsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFFQSxpQkFBQTtBbkM0b1hSO0FtQ3pvWE07RUFDRSxlQUFBO0VBQ0EsaUJBQUE7RUFFQSxxQkFBQTtFQUNBLHNCQUFBO0FuQzBvWFI7QW9DenFYSTtFQUNFLHdCQUFBO0FwQzRxWE47QW9DenFYSTtFQUNFLHVCQUFBO0VBQ0EsY2Q2SGdCO0F0QjhpWHRCO0FvQ3JxWE07RUFDRSx3QkFBQTtFQUNBLGNBQUE7QXBDdXFYUjtBb0NscVhFO0VBQ0UsV0FBQTtBcENvcVhKO0FvQzdwWE07RUFDRSxXQUFBO0VBQ0EsWUFBQTtBcENncVhSO0FvQzNwWE07RUFDRSxhQUFBO0VBQ0EsZ0JBQUE7QXBDNnBYUjtBb0MxcFhVO0VBQ0Usb0JBQUE7RUFDQSxlQUFBO0VBQ0Esb0JBQUE7QXBDNHBYWjtBc0JsNFdBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEJtNFdGO0FzQnB5V0E7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCc3lXRjtBc0JoNVdBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEJpNVdGO0FzQmx6V0E7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCb3pXRjtBc0I5NVdBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEIrNVdGO0FzQmgwV0E7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCazBXRjtBdUJ4dVhBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7QXZCMnVYRjtBdUJwdVhBOztFQUVFLHdEQUFBO0VBQ0EscUJBQUE7RUFDQSxzQkFBQTtFQUNBLGNBQUE7QXZCdXVYRjtBdUJodVhBO0VBQ0UsZUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxpQkFBQTtFQUNBLGFBQUE7RUFDQSx3REFBQTtBdkJtdVhGO0F1Qjd0WEE7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0F2Qmd1WEY7QXVCNXRYQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLGlCQUFBO0F2Qit0WEY7QXVCdnRYQTtFQUNFLGdCQUFBO0VBQ0Esb0JBQUE7RUFDQSxxQkFBQTtFQUNBLGlCQUFBO0F2QjB0WEY7QXVCdHRYQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLDBCQUFBO0F2Qnl0WEY7QXVCcnRYQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7QXZCd3RYRjtBdUJsdFhBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkJxdFhGO0F1Qmh0WEE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0VBQ0EsNkJBQUE7QXZCbXRYRjtBdUIvc1hBO0VBQ0UsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSwyQkFBQTtBdkJrdFhGO0FzQmpnWEE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QmtnWEY7QXNCbjZXQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJxNldGO0FzQi9nWEE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QmdoWEY7QXNCajdXQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJtN1dGO0FzQjdoWEE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QjhoWEY7QXNCLzdXQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJpOFdGO0F1QnYyWEE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtBdkIwMlhGO0F1Qm4yWEE7O0VBRUUsd0RBQUE7RUFDQSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsY0FBQTtBdkJzMlhGO0F1Qi8xWEE7RUFDRSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLHdEQUFBO0F2QmsyWEY7QXVCNTFYQTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QXZCKzFYRjtBdUIzMVhBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7QXZCODFYRjtBdUJ0MVhBO0VBQ0UsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7QXZCeTFYRjtBdUJyMVhBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7QXZCdzFYRjtBdUJwMVhBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkJ1MVhGO0F1QmoxWEE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2Qm8xWEY7QXVCLzBYQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7RUFDQSw2QkFBQTtBdkJrMVhGO0F1QjkwWEE7RUFDRSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLDJCQUFBO0F2QmkxWEY7QXNCaG9YQTtFQUVFLCtPQUFBO0VBRUEsaVlBQUE7QXRCaW9YRjtBc0JsaVhBO0VBRUUsb0NBQUE7RUFDQSxtQ0FBQTtFQUNBLHFDQUFBO0VBQ0EscUNBQUE7RUFDQSxzQ0FBQTtFQUNBLG9DQUFBO0F0Qm9pWEY7QXFDdDhYSTtFQUNJLHlCQUFBO0FyQ3k4WFI7QXFDMzdYSTtFQUNJLHFCQUFBO0FyQzg3WFI7QXFDNTdYSTtFQUNJLG9CQUFBO0VBQ0EscUJBQUE7RUFDQSw2QkFBQTtFQUNBLDZCQUFBO0VBQ0EsMkJBQUE7RUFLQSx1QkFBQTtFQUNBLHdCQUFBO0VBQ0EsMEJBQUE7RUFDQSxlQUFBO0VBRUEsd0JBQUE7RUFDQSw4QkFBQTtBckMwN1hSO0FxQ3g3WFE7RUFNSSw0QkFBQTtBckNxN1haO0FxQ2w3WEk7RUFDSSx3QkFBQTtBckNxN1hSO0FxQ3A2WEk7OztFQUdJLGlDQUFBO0VBQ0Esd0JBQUE7RUFDQSw4QkFBQTtFQUNBLHNCQUFBO0VBQ0Esb0JBQUE7RUFDQSx1QkFBQTtFQUNBLDJCQUFBO0VBQ0EseUJBQUE7RUFDQSx5QkFBQTtFQUNBLDZCQUFBO0VBQ0EsMEJBQUE7RUFDQSwyQkFBQTtFQUNBLDRCQUFBO0VBQ0EsZ0NBQUE7QXJDdTZYUjtBcUNsNlhJOztFQUVJLHVCQUFBO0VBQ0EsMkJBQUE7QXJDcTZYUjtBcUNqNlhJOzs7RUFHSSwwQkFBQTtFQUNBLHNCQUFBO0VBQ0EsdUJBQUE7RUFDQSw0QkFBQTtFQUNBLHlCQUFBO0VBQ0EsNEJBQUE7RUFDQSxhQUFBO0VBQ0Esd0RBQUE7QXJDbzZYUjtBcUNqNlhJOzs7RUFHSSxVQUFBO0VBQ0Esd0RBQUE7QXJDbzZYUjtBcUNqNlhJO0VBQ0ksK0JBQUE7RUFDQSw4QkFBQTtFQUNBLGtDQUFBO0VBQ0Esc0JBQUE7RUFDQSx1QkFBQTtFQUNBLDRCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtFQUNBLDZGQUFBO0FyQ282WFI7QXFDajZYSTs7RUFrQkksbUNBQUE7RUFLQSw2QkFBQTtBckNnNVhSO0FxQy81WFE7Ozs7OztFQUdJLHdCQUFBO0FyQ282WFo7QXFDajVYUTs7RUFDSSwyQkFBQTtBckNvNVhaO0FxQzM0WFE7O0VBQ0ksK0JBQUE7RUFDQSw4QkFBQTtFQUNBLGtDQUFBO0VBQ0Esc0JBQUE7RUFDQSx1QkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtFQUNBLDZGQUFBO0FyQzg0WFo7QXFDdDRYUTs7Ozs7O0VBR0ksd0JBQUE7RUFDQSxrQ0FBQTtFQUNBLG1CQUFBO0FyQzI0WFo7QXFDdDRYUTs7Ozs7O0VBR0ksMEJBQUE7QXJDMjRYWjtBcUNwNFhROzs7Ozs7RUFHSSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSwwQkFBQTtFQUNBLHVCQUFBO0VBQ0EsMkJBQUE7RUFDQSw0QkFBQTtFQUNBLDZCQUFBO0VBQ0EsK0JBQUE7RUFDQSw4QkFBQTtFQUNBLGtDQUFBO0FyQ3k0WFo7QXFDLzNYUTs7RUFDSSx3REFBQTtBckNrNFhaO0FxQy8zWFE7O0VBQ0ksd0RBQUE7QXJDazRYWjtBcUM5M1hROzs7O0VBRUkscUJBQUE7QXJDazRYWjtBcUN6M1hBO0VBQ0ksa0JBQUE7RUFHQSx5QmZqUU87QXRCMm5ZWDtBcUNuM1hBO0VBQ0kseUJmL0cyQjtFZWdIM0IseUJBQUE7QXJDczNYSjtBcUMvMlhBO0VBQ0ksYUFBQTtFQUNBLHNCQUFBO0VBQ0EsV0FBQTtFQUNBLGdCQUFBO0VBQ0EsYUFBQTtFQUNBLGtCTjlMWTtFTStMWiwwQ0FBQTtBckNrM1hKO0FxQ3gyWEk7RUFDSSwyQkFBQTtFQUNBLHdCQUFBO0VBQ0Esb0JBQUE7RUFDQSxxQkFBQTtBckMwMlhSO0FxQ3gyWEk7RUFDSSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGNBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7QXJDMDJYUjtBcUN2MlhBO0VBQ0kseUJmdkl1QjtFZXdJdkIseUJBQUE7QXJDMDJYSjtBcUN4MlhBO0VBQ0kseUJmM0oyQjtFZTRKM0IseUJBQUE7QXJDMjJYSjtBcUMxMlhJO0VBQXVCLG9DQUFBO0FyQzYyWDNCO0FxQ3gyWEE7RUFDSSxXQUFBO0VBQ0Esc0JBQUE7RUFDQSxpQkFBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLGtCTnpPWTtFTTBPWiwwQ0FBQTtBckMyMlhKO0FxQ3YyWEk7RUFDSSxhQUFBO0VBQ0EscUJBQUE7RUFDQSxRQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFQUNBLFlBQUE7RUFDQSx1QkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0Esb0JBQUE7RUFDQSxnQkFBQTtBckN5MlhSO0FxQ3QyWFE7RUFDSSxjQUFBO0VBQ0EsY0FBQTtBckN3MlhaO0FxQ3QyWFE7RUFBWSxjQUFBO0VBQWdCLFlBQUE7RUFBYyxlQUFBO0VBQWlCLGdCQUFBO0FyQzQyWG5FO0FxQ3oyWEE7RUFDSSx5QmZyTHVCO0Vlc0x2Qix5QkFBQTtBckM0MlhKO0FxQzEyWFE7RUFBWSx5QkFBQTtBckM2MlhwQjtBcUM1MlhRO0VBQW9CLHlCZjFLYztBdEJ5aFkxQztBcUM1MlhBO0VBQ0kseUJmNUw0QjtFZTZMNUIseUJBQUE7QXJDKzJYSjtBcUM3MlhRO0VBQVksK0JBQUE7QXJDZzNYcEI7QXFDLzJYUTtFQUFvQix5QmZqTG1CO0F0Qm1pWS9DO0FxQzEyWEE7RUFDSSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0EsUUFBQTtFQUNBLG9CQUFBO0VBQ0EsYUFBQTtFQUlBLHlCQUFBO0VBQ0Esa0JBQUE7RUFDQSx5QkFBQTtFQUNBLGNmbFZnQjtFZW1WaEIsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLHlCQUFBO0tBQUEsc0JBQUE7TUFBQSxxQkFBQTtVQUFBLGlCQUFBO0VBQ0Esd0JBQUE7QXJDMDJYSjtBcUN4MlhJO0VBQ0ksb0JBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGFBQUE7RUFDQSwyREFBQTtBckMwMlhSO0FxQ3gyWFE7RUFDSSxVQUFBO0VBQ0EseUNBQUE7QXJDMDJYWjtBcUN0MlhBO0VBQWlDLGFBQUE7QXJDMDJYakM7QXFDdDJYQTtFQUNJLHlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxjQUFBO0FyQ3kyWEo7QXFDdjJYQTtFQUNJLHlDQUFBO0FyQzAyWEo7QXFDdjJYQTtFQUNJLDBDQUFBO0VBQ0Esc0NBQUE7RUFDQSxjZjVYcUI7QXRCc3VZekI7QXFDejJYSTtFQUF5Qix5Q0FBQTtBckM0Mlg3QjtBcUN6MlhBO0VBQ0ksYUFBQTtBckM0MlhKO0FxQzMyWEk7RUFDQSxZQUFBO0VBQ0Esb0JBQUE7QXJDNjJYSjtBcUM1MlhJO0VBQ0ksWUFBQTtFQUNBLG9CQUFBO0FyQzgyWFI7QXFDMzJYSTtFQUNJLDBCQUFBO0FyQzYyWFI7QXFDdjFYQTs7RUFFSSw2QkFBQTtFQUNBLDZCQUFBO0FyQzAxWEo7QXFDbjFYQTtFQ3JjRSxXQUFBO0VBQ0EscUJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsU0FOd0U7RUFPeEUsUUFBQTtFQUNBLDJCQUFBO0VBQ0EseUJoQm9KNkI7RWdCbko3Qix1UUFBQTtFQUNBLCtQQUFBO0F0QzR4WUY7QXFDOTFYQTtFQUNJLHlCZjNTZ0M7QXRCNG9ZcEM7QXFDeDFYRTs7OztFQUlFLG9DQUFBO0FyQzIxWEo7QXFDdjFYRTs7OztFQUlFLHVCQUFBO0FyQ3kxWEo7QXFDcjFYRTs7OztFQUlFLG9DQUFBO0FyQ3cxWEo7QXFDdDFYRTs7OztFQUlFLHVCQUFBO0FyQ3cxWEo7QXFDMzBYQTtFQUNFLG1FQUFBO1VBQUEsMkRBQUE7QXJDODBYRjtBcUM1MFhBO0VBQ0U7SUFBTyxVQUFBO0lBQVkscUJBQUE7RXJDaTFYbkI7RXFDaDFYQTtJQUFPLFVBQUE7SUFBWSxtQkFBQTtFckNvMVhuQjtBQUNGO0FxQ3YxWEE7RUFDRTtJQUFPLFVBQUE7SUFBWSxxQkFBQTtFckNpMVhuQjtFcUNoMVhBO0lBQU8sVUFBQTtJQUFZLG1CQUFBO0VyQ28xWG5CO0FBQ0Y7QXFDbDFYQTtFQUNFLHFFQUFBO1VBQUEsNkRBQUE7QXJDbzFYRjtBcUNsMVhBO0VBQ0UsOENBQUE7VUFBQSxzQ0FBQTtBckNxMVhGO0FxQ24xWEE7RUFDRTtJQUFPLFVBQUE7SUFBWSwyQkFBQTtFckN3MVhuQjtFcUN2MVhBO0lBQU8sVUFBQTtJQUFZLHdCQUFBO0VyQzIxWG5CO0FBQ0Y7QXFDOTFYQTtFQUNFO0lBQU8sVUFBQTtJQUFZLDJCQUFBO0VyQ3cxWG5CO0VxQ3YxWEE7SUFBTyxVQUFBO0lBQVksd0JBQUE7RXJDMjFYbkI7QUFDRjtBcUMxMVhBO0VBQ0U7SUFBTyxVQUFBO0lBQVksMEJBQUE7RXJDODFYbkI7RXFDNzFYQTtJQUFPLFVBQUE7SUFBWSx3QkFBQTtFckNpMlhuQjtBQUNGO0FxQ3AyWEE7RUFDRTtJQUFPLFVBQUE7SUFBWSwwQkFBQTtFckM4MVhuQjtFcUM3MVhBO0lBQU8sVUFBQTtJQUFZLHdCQUFBO0VyQ2kyWG5CO0FBQ0Y7QXFDOTFYQTtFQUNFO0lBQXNCLHVCQUFBO1lBQUEsZUFBQTtFckNpMlh0QjtBQUNGO0FxQzUwWEE7Ozs7O0VBS0UsNENBQUE7RUFDQSw2QkFBQTtBckM4MFhGO0FxQ3IwWEE7Ozs7Ozs7O0VBUUUsd0NBQUE7RUFDQSxzQkFBQTtBckN3MFhGO0FxQ2wwWEE7Ozs7Ozs7Ozs7Ozs7O0VBY0Usc0JBQUE7QXJDcTBYRjtBcUM3elhBOzs7Ozs7O0VBT0UsaUNBQUE7QXJDZzBYRjtBdUN4N1lNO0VBQ0UsbUJBQUE7QXZDMjdZUjtBdUNuN1lROztFQUVFLGFBQUE7QXZDcTdZVjtBd0NsOFlFO0VBQ0Usa0JBQUE7RUFDQSxnQkFBQTtBeENxOFlKO0F3Q2w4WUU7RUFDRSxvQkFBQTtFQUNBLGdCQUFBO0F4Q284WUo7QXdDajhZRTtFQUNFLGtCQUFBO0VBQ0EsZ0JBQUE7QXhDbThZSjtBd0NoOFlFO0VBQ0UsaUJBQUE7RUFDQSxnQkFBQTtBeENrOFlKO0FzQjlvWUE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QitvWUY7QXNCaGpZQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJrallGO0FzQjVwWUE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QjZwWUY7QXNCOWpZQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJna1lGO0F1QnQrWUE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtBdkJ5K1lGO0F1QmwrWUE7O0VBRUUsd0RBQUE7RUFDQSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsY0FBQTtBdkJxK1lGO0F1Qjk5WUE7RUFDRSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLHdEQUFBO0F2QmkrWUY7QXVCMzlZQTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QXZCODlZRjtBdUIxOVlBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7QXZCNjlZRjtBdUJyOVlBO0VBQ0UsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7QXZCdzlZRjtBdUJwOVlBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7QXZCdTlZRjtBdUJuOVlBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkJzOVlGO0F1Qmg5WUE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2Qm05WUY7QXVCOThZQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7RUFDQSw2QkFBQTtBdkJpOVlGO0F1Qjc4WUE7RUFDRSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLDJCQUFBO0F2Qmc5WUY7QXlDamtaRTtFQUdFLGtCQUFBO0F6Q2trWko7QXlDL2paRTtFQUNFLG1CbkJpVGtCO0VtQmhUbEIsY25CNkI0QjtBdEJvaVpoQztBeUM5alpFO0VBQ0UsbUJuQjZTNEI7RW1CNVM1QixjbkI2U2lCO0F0Qm14WXJCO0F5QzdqWkU7RUFDRSxtQkFBQTtFQUNBLGNBQUE7QXpDK2paSjtBMENubFpNO0VBQ0UsdUJBQUE7RUFDQSxXQUFBO0ExQ3NsWlI7QTJDMWxaQTtFQUNFLGtCQUFBO0VBQ0EsZUFBQTtBM0M2bFpGO0EyQzNsWkU7RUFDRSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxXQUFBO0EzQzZsWko7QTJDM2xaSTtFQUNFLFVBQUE7RUFDQSxTQUFBO0EzQzZsWk47QTJDMWxaSTtFQUNFLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSwrR0FBQTtBM0M0bFpOO0EyQzFsWk07RUFDRSw4QkFBQTtBM0M0bFpSO0FzQjF5WUE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QjJ5WUY7QXNCNXNZQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEI4c1lGO0FzQnh6WUE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0Qnl6WUY7QXNCMXRZQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEI0dFlGO0F1QmxvWkE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtBdkJxb1pGO0F1QjluWkE7O0VBRUUsd0RBQUE7RUFDQSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsY0FBQTtBdkJpb1pGO0F1QjFuWkE7RUFDRSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLHdEQUFBO0F2QjZuWkY7QXVCdm5aQTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QXZCMG5aRjtBdUJ0blpBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7QXZCeW5aRjtBdUJqblpBO0VBQ0UsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7QXZCb25aRjtBdUJoblpBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7QXZCbW5aRjtBdUIvbVpBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkJrblpGO0F1QjVtWkE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2QittWkY7QXVCMW1aQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7RUFDQSw2QkFBQTtBdkI2bVpGO0F1QnptWkE7RUFDRSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLDJCQUFBO0F2QjRtWkY7QTRDOXRaRTtFQUNFLGtCQUFBO0E1Q2l1Wko7QTRDN3RaUTtFQUNFLG9DQUFBO0E1Qyt0WlY7QTRDN3RaVTtFQUNFLFNBQUE7RUFDQSxpQkFBQTtBNUMrdFpaO0E0Qzd0Wlk7RUFDRSx5QkFBQTtBNUMrdFpkO0E0QzN0WlU7RUFDRSxjQUFBO0E1QzZ0Wlo7QTRDdHRaRTtFQUNFLCtCQUFBO09BQUEsbUJBQUE7QTVDd3RaSjtBNENwdFpBO0VBQ0UseUJ0QklzQjtFc0JIdEIsWUFBQTtBNUN1dFpGO0FzQnA3WUE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QnE3WUY7QXNCdDFZQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJ3MVlGO0FzQmw4WUE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0Qm04WUY7QXNCcDJZQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJzMllGO0F1QjV3WkE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtBdkIrd1pGO0F1Qnh3WkE7O0VBRUUsd0RBQUE7RUFDQSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsY0FBQTtBdkIyd1pGO0F1QnB3WkE7RUFDRSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLHdEQUFBO0F2QnV3WkY7QXVCandaQTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QXZCb3daRjtBdUJod1pBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7QXZCbXdaRjtBdUIzdlpBO0VBQ0UsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7QXZCOHZaRjtBdUIxdlpBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7QXZCNnZaRjtBdUJ6dlpBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkI0dlpGO0F1QnR2WkE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2Qnl2WkY7QXVCcHZaQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7RUFDQSw2QkFBQTtBdkJ1dlpGO0F1Qm52WkE7RUFDRSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLDJCQUFBO0F2QnN2WkY7QXNCcmlaQTtFQUVFLCtPQUFBO0VBRUEsaVlBQUE7QXRCc2laRjtBc0J2OFlBO0VBRUUsb0NBQUE7RUFDQSxtQ0FBQTtFQUNBLHFDQUFBO0VBQ0EscUNBQUE7RUFDQSxzQ0FBQTtFQUNBLG9DQUFBO0F0Qnk4WUY7QXVCLzJaQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGlCQUFBO0F2QmszWkY7QXVCMzJaQTs7RUFFRSx3REFBQTtFQUNBLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxjQUFBO0F2QjgyWkY7QXVCdjJaQTtFQUNFLGVBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0EsaUJBQUE7RUFDQSxhQUFBO0VBQ0Esd0RBQUE7QXZCMDJaRjtBdUJwMlpBO0VBQ0UsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtBdkJ1MlpGO0F1Qm4yWkE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSxpQkFBQTtBdkJzMlpGO0F1QjkxWkE7RUFDRSxnQkFBQTtFQUNBLG9CQUFBO0VBQ0EscUJBQUE7RUFDQSxpQkFBQTtBdkJpMlpGO0F1QjcxWkE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtBdkJnMlpGO0F1QjUxWkE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2QisxWkY7QXVCejFaQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7QXZCNDFaRjtBdUJ2MVpBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtFQUNBLDZCQUFBO0F2QjAxWkY7QXVCdDFaQTtFQUNFLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLG1CQUFBO0VBQ0EsMkJBQUE7QXZCeTFaRjtBc0J4b1pBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEJ5b1pGO0FzQjFpWkE7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCNGlaRjtBNkN4OVpBO0VBRUUsa0JBQUE7QTdDMDlaRjtBNkN6OVpFO0VBSEY7SUFJSSxlQUFBO0U3QzQ5WkY7QUFDRjtBNkMxOVpFO0VBQ0UsaUZBQUE7QTdDNDlaSjtBNkN6OVpFO0VBQ0UsYUFBQTtBN0MyOVpKO0E2Q3Y5WkU7RUFDRSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLFdBQUE7QTdDeTlaSjtBNkN2OVpJO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLDZCQUFBO0E3Q3k5Wk47QTZDdDlaSTtFQUNFLFVBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7QTdDdzlaTjtBNkN0OVpNO0VBQ0UsWUFBQTtBN0N3OVpSO0E2Q3I5Wk07RUFDRSxXQUFBO0E3Q3U5WlI7QTZDcDlaTTtFQUNFLFVBQUE7RUFDQSxrQkFBQTtFQUNBLFlBQUE7RUFDQSwyQkFBQTtBN0NzOVpSO0E2Q3A5Wk07RUFDRSxVQUFBO0VBQVksYUFBQTtBN0N1OVpwQjtBNkNuOVpNO0VBeEJGO0lBeUJJLHNCQUFBO0U3Q3M5Wk47RTZDcDlaTTtJQUNFLFdBQUE7RTdDczlaUjtFNkNuOVpNO0lBQ0UsV0FBQTtJQUNBLGtCQUFBO0lBQ0EsOEJBQUE7RTdDcTlaUjtFNkNsOVpNO0lBQ0UsV0FBQTtFN0NvOVpSO0FBQ0Y7QTZDajlaTTtFQUNFLHdCQUFBO0VBQ0EsY0FBQTtBN0NtOVpSO0E2Q2g5Wk07RUFDRSx3QkFBQTtFQUNBLGNBQUE7QTdDazlaUjtBNkMvOFpNO0VBQ0UsMEN2QmtPZTtFdUJqT2Ysb0JBQUE7RUFDQSxvQkFBQTtFQUNBLGtCQUFBO0E3Q2k5WlI7QTZDNThaSTtFQUNFLHFCQUFBO0E3Qzg4Wk47QTZDMzhaSTtFQUNFLHNCQUFBO0E3QzY4Wk47QTZDMThaSTtFQUNFLFlBQUE7QTdDNDhaTjtBNkN6OFpJO0VBQ0UsZ0JBQUE7QTdDMjhaTjtBNkN2OFpFO0VBQ0UsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSxtQnZCakJvQjtFdUJrQnBCLFdBQUE7QTdDeThaSjtBNkNyOFpFO0VBQ0UsOEJBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxpQkFBQTtFQUNBLG1CQUFBO0VBRUEscUJBQUE7RUFDQSxrQkFBQTtBN0NzOFpKO0E2Q3A4Wkk7RUFDRSx5QnZCakNrQjtFdUJrQ2xCLGNBQUE7RUFHQSwyQkFBQTtFQUVBLFdBQUE7RUFFQSwyQkFBQTtFQUNBLDRCQUFBO0VBRUEsZ0JBQUE7RUFDQSxnQkFBQTtBN0NpOFpOO0E2Qy83Wk07RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7RUFFQSxtQkFBQTtBN0NnOFpSO0E2Qzk3WlE7RUFDSSxZQUFBO0E3Q2c4Wlo7QTZDNTdaTTtFQUNFLG1CQUFBO0E3Qzg3WlI7QTZDMTdaSTtFQUNFLGFBQUE7RUFDQSxTQUFBO0E3QzQ3Wk47QTZDMTdaTTtFQUNFLGdCQUFBO0E3QzQ3WlI7QTZDMTdaUTtFQUNFLGFBQUE7QTdDNDdaVjtBNkN2N1pJO0VBQ0Usb0JBQUE7RUFDQSx3QkFBQTtBN0N5N1pOO0E2Q3A3Wk07RUFDRSxzQkFBQTtBN0NzN1pSO0E2Q243Wk07RUFDRSwwQnZCNURvQjtBdEJpL1o1QjtBNkNsN1pNO0VBQ0UsMEJ2QmhFb0I7QXRCby9aNUI7QTZDLzZaRTtFQUNFLDhCQUFBO0VBQ0EsV0FBQTtFQUVBLFVBQUE7RUFDQSxrQkFBQTtBN0NnN1pKO0E2Qzk2Wkk7RUFFRSwyQkFBQTtFQUVBLDJCQUFBO0VBQ0EsNEJBQUE7RUFFQSxnQkFBQTtFQUNBLGdCQUFBO0E3QzY2Wk47QTZDMzZaTTtFQUNFLDhCQUFBO0VBQ0EsK0JBQUE7QTdDNjZaUjtBNkMxNlpNO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7RUFFQSxlQUFBO0VBQ0EsbUJBQUE7QTdDMjZaUjtBNkN6NlpRO0VBRUUsZUFBQTtBN0MwNlpWO0E2Q3Y2WlE7RUFDSSxZQUFBO0E3Q3k2Wlo7QTZDcjZaTTtFQUNFLG1CQUFBO0E3Q3U2WlI7QTZDbjZaSTtFQUNFLGFBQUE7RUFDQSxTQUFBO0E3Q3E2Wk47QTZDLzVaQTtFQUVFLGN2QnhIb0I7QXRCeWhhdEI7QTZDbjVaQTtFQUNFLDJCQUFBO0E3Q3M1WkY7QTZDcDVaRTtFQUVFLGVBQUE7RUFDQSxzQkFBQTtBN0NxNVpKO0E2Q2w1WkU7RUFDRSxvQkFBQTtBN0NvNVpKO0FzQm4yWkE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0Qm8yWkY7QXNCcndaQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJ1d1pGO0FzQmozWkE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QmszWkY7QXNCbnhaQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJxeFpGO0F1QjNyYUE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtBdkI4cmFGO0F1QnZyYUE7O0VBRUUsd0RBQUE7RUFDQSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsY0FBQTtBdkIwcmFGO0F1Qm5yYUE7RUFDRSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLHdEQUFBO0F2QnNyYUY7QXVCaHJhQTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QXZCbXJhRjtBdUIvcWFBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7QXZCa3JhRjtBdUIxcWFBO0VBQ0UsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7QXZCNnFhRjtBdUJ6cWFBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7QXZCNHFhRjtBdUJ4cWFBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkIycWFGO0F1QnJxYUE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2QndxYUY7QXVCbnFhQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7RUFDQSw2QkFBQTtBdkJzcWFGO0F1QmxxYUE7RUFDRSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLDJCQUFBO0F2QnFxYUY7QThDeHhhQTtFQUNFLHNCQUFBO0VBQ0Esc0JBQUE7QTlDMnhhRjtBOENseGFBO0VBQ0UseUJBQUE7RUFDQSx5QkFBQTtFQUNBLGFBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFHQSxnQkFBQTtBOUNteGFGO0E4Q2p4YUU7RUFBWSx3QkFBQTtBOUNveGFkO0E4Q2x4YUU7RUFDRSxjQUFBO0VBQ0EsNEJBQUE7QTlDb3hhSjtBOENqeGFFOztFQUVFLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFFBQUE7RUFDQSwyQkFBQTtBOUNteGFKO0E4QzF3YUE7RUFDRSwrQkFBQTtFQUNBLHVCQUFBO0VBQ0EsOEJBQUE7QTlDNndhRjtBOEN0d2FBO0VBQ0UsK0JBQUE7RUFDQSw4QkFBQTtFQUNBLGtDQUFBO0E5Q3l3YUY7QThDdndhRTtFQUNFLCtCQUFBO0VBQ0EsOEJBQUE7RUFDQSxrQ0FBQTtFQUNBLHlCQUFBO0E5Q3l3YUo7QThDdndhRTs7RUFFRSx3QkFBQTtFQUNBLDhCQUFBO0VBQ0Esa0NBQUE7RUFDQSx5QkFBQTtBOUN5d2FKO0E4Q3B3YUE7RUFDRSwyQkFBQTtBOUN1d2FGO0E4Q2x3YUE7RUFDRSxrQ0FBQTtFQUNBLDRCQUFBO0VBQ0EsK0JBQUE7QTlDcXdhRjtBOENod2FBOztFQUVFLDJCQUFBO0E5Q213YUY7QThDM3ZhQTtFQUNFLHFCQUFBO0E5Qzh2YUY7QThDNXZhQTtFQUNFLG9DQUFBO0E5Qyt2YUY7QThDN3ZhQTtFQUNFLG9DQUFBO0E5Q2d3YUY7QThDdnZhQTtFQUNFLG9DQUFBO0VBQ0EsZ0NBQUE7RUFDQSxzQkFBQTtBOUMwdmFGO0E4Q3p2YUU7RUFBWSxzQkFBQTtBOUM0dmFkO0E4QzF2YUE7RUFDRSxvQ0FBQTtFQUNBLGdDQUFBO0E5QzZ2YUY7QThDbnZhQTtFQUNFLDZCQUFBO0VBQ0EscUJBQUE7RUFDQSxvQ0FBQTtFQUNBLDBCQUFBO0VBQ0EsNkJBQUE7RUFJQSx1QkFBQTtFQUNBLHVCQUFBO0VBR0EsMkJBQUE7RUFDQSxtRGZyRXNCO0EvQnN6YXhCO0E4Qy91YUU7RUFDRSxVQUFBO0VBQ0Esc0JBQUE7QTlDaXZhSjtBOEM3dWFBO0VBQ0Usb0JBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7QTlDZ3ZhRjtBOEM1dWFFO0VBQ0Usb0JBQUE7QTlDOHVhSjtBOEM1dWFJO0VBQ0Usb0JBQUE7RUFDQSxxQkFBQTtBOUM4dWFOO0E4Q3Z1YUk7O0VBRUUsc0JBQUE7RUFDQSx1QkFBQTtFQUNBLHdCQUFBO0VBQ0EscUJBQUE7RUFDQSw2QkFBQTtFQUNBLHFDQUFBO0VBQ0EsMkJBQUE7QTlDeXVhTjtBOENwdWFNOzs7RUFDRSx3QkFBQTtFQUNBLHdCQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtBOUN3dWFSO0E4Q3R1YU07Ozs7RUFDZ0Msd0JBQUE7QTlDMnVhdEM7QThDeHVhTTs7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0E5QzJ1YVI7QThDenVhTTs7RUFDRSxXQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsOEJBQUE7QTlDNHVhUjtBOEN6dWFJO0VBQ0UsbVFBQUE7RUFDUSwyUEFBQTtBOUMydWFkO0E4Q3p1YUk7RUFDRSxtUUFBQTtFQUNRLDJQQUFBO0E5QzJ1YWQ7QThDdHVhSTs7Ozs7O0VBTUUsd0JBQUE7QTlDd3VhTjtBOENwdWFJOztFQUVFLHFDQUFBO0VBQ0EsZ0RBQUE7QTlDc3VhTjtBOENodWFJOzs7O0VBSUUsK0JBQUE7QTlDa3VhTjtBOENodWFJO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7QTlDa3VhTjtBOEM5dGFFO0VBQ0UsdUJBQUE7QTlDZ3VhSjtBOEMxdGFFO0VBQ0UsZ0JBQUE7RUFDQSxjQUFBO0E5QzR0YUo7QThDdHRhRTtFQUNFLDJCQUFBO0E5Q3d0YUo7QThDL3NhRTtFQUNFLGVmdktnQjtFZXdLaEIsZ0JmbEtxQjtFZW1LckIsdUJBQUE7RUFDQSxjeEJ6RzJCO0F0QjB6YS9CO0E4Qy9zYUk7RUFBNEIscUJBQUE7QTlDa3RhaEM7QThDanRhSTtFQUFVLG9DQUFBO0E5Q290YWQ7QThDanRhRTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLHFCQUFBO0VBQ0EsMEJ4QnRMUztFd0J1TFQsb0JBQUE7RUFDQSwyQkFBQTtBOUNtdGFKO0E4QzNzYUU7RUFDRSxzQkFBQTtFQUNBLHFCQUFBO0VBQ0Esb0JBQUE7QTlDNnNhSjtBOEMzc2FJO0VBQ0UsYUFBQTtBOUM2c2FOO0E4Qy9yYUU7RUFDRSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsdUJBQUE7RUFDQSx5QkFBQTtFQUNBLDZCQUFBO0E5Q2lzYUo7QThDNXJhRTtFQUNFLGlCQUFBO0E5QzhyYUo7QThDenJhRTtFQUNFLFlBQUE7QTlDMnJhSjtBOEN4cmFFO0VBQ0UsdUJBQUE7RUFDQSxxQkFBQTtBOUMwcmFKO0E4Q3ZyYUU7RUFDRSx1QkFBQTtFQUNBLHNCQUFBO0VBQ0EsNEJBQUE7RUFDQSxtQkFBQTtBOUN5cmFKO0E4Q3RyYUU7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7QTlDd3JhSjtBOEMvcWFJO0VBQXFDLHdCQUFBO0E5Q2tyYXpDO0E4Q2hyYUk7RUFDRSxzQkFBQTtFQUNBLDhCQUFBO0E5Q2tyYU47QThDMXFhSTtFQUFxQyx3QkFBQTtBOUM2cWF6QztBOEMzcWFJO0VBQ0Usc0JBQUE7RUFDQSw4QkFBQTtBOUM2cWFOO0E4Q3hxYUE7RUFDRSxvQkFBQTtFQUNBLGVBQUE7QTlDMnFhRjtBOEN6cWFFOztFQUVFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLG9CQUFBO0E5QzJxYUo7QThDcnFhRTtFQUNFLHFCQUFBO0VBQ0EseUJBQUE7QTlDdXFhSjtBOENscWFFO0VBQ0Usc0JBQUE7RUFDQSx1QkFBQTtFQUNBLDRCQUFBO0VBQ0EscUJBQUE7RUFDQSw2QkFBQTtFQUNBLHdDQUFBO0VBQ0EscUNBQUE7RUFDQSwyQkFBQTtBOUNvcWFKO0E4Q2xxYUk7RUFDRSxnREFBQTtFQUNBLHFDQUFBO0E5Q29xYU47QThDanFhRTs7O0VBR0Usd0JBQUE7QTlDbXFhSjtBOENqcWFFOztFQUVFLDBCQUFBO0VBQ0Esc0JBQUE7RUFDQSx1QkFBQTtFQUNBLDRCQUFBO0E5Q21xYUo7QThDOXBhRTtFQUNFLDRCQUFBO0VBQ0Esb0JBQUE7QTlDZ3FhSjtBOEM5cGFFO0VBQ0UscUJBQUE7RUFDQSx3QkFBQTtBOUNncWFKO0E4QzlwYUU7O0VBRUUsd0JBQUE7QTlDZ3FhSjtBOENyb2FBO0VBQ0Usb0JBQUE7QTlDd29hRjtBOENub2FFO0VBQ0UsY0FBQTtFQUNBLFlBQUE7QTlDcW9hSjtBOEM1bmFFO0VBQW9CLFdBQUE7QTlDK25hdEI7QThDOW5hRTtFQUFrQixXQUFBO0VBQWEsWUFBQTtBOUNrb2FqQztBOENob2FFO0VBQTBCLFNBQUE7RUFBVyxVQUFBO0VBQVksWUFBQTtBOUNxb2FuRDtBOENsb2FFO0VBQ0Usa0JBQUE7RUFDQSxTQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxVQUFBO0VBQ0EsZUFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLG9CQUFBO0E5Q29vYUo7QThDbG9hRTtFQUNFLGN4QjVjbUI7RXdCNmNuQixlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxTQUFBO0E5Q29vYUo7QThDaG9hRTs7RUFDWSx3QkFBQTtBOUNtb2FkO0E4Q2xvYUU7RUFBMEIsd0JBQUE7QTlDcW9hNUI7QThDcG9hRTtFQUFnQyxhQUFBO0E5Q3VvYWxDO0E4Q2pvYUU7RUFDRSxtQkFBQTtFQUNBLFlmdGFhO0VldWFiLGdCZnZhYTtFZXdhYixTQUFBO0VBQ0EsZ0NBQUE7RUFDQSxrQmZ6Ylk7RWUwYlosdUJ4QnhkZTtFd0J5ZGYseUJBQUE7RUFHQSxlQUFBO0VBS0EsZ0JBQUE7RUFDQSxZQUFBO0E5QzZuYUo7QThDMW5hRTs7RUFFRSxlQUFBO0E5QzRuYUo7QThDMW5hRTtFQUF3QixZQUFBO0E5QzZuYTFCO0E4QzVuYUU7RUFBb0IsWUFBQTtBOUMrbmF0QjtBOEN4bmFFO0VBQ0UsU0FBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0E5QzBuYUo7QThDeG5hRTtFQUNFLG9CQUFBO0VBQ0EsbUJBQUE7RUFDQSxjQUFBO0E5QzBuYUo7QThDeG5hRTtFQUNFLG9CQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLHNCQUFBO0VBS0Esc0JBQUE7RUFDQSx1QkFBQTtFQUNBLHdCQUFBO0VBQ0EsY0FBQTtFQUNBLFVBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUFDQSx1Q0FBQTtBOUNzbmFKO0E4Q2xuYUU7OztFQUVxQyx3QkFBQTtBOUNxbmF2QztBOENqbmFFOztFQUM2Qix3QkFBQTtBOUNvbmEvQjtBOENubmFFO0VBQ0UseUJBQUE7RUFDQSx3Q0FBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQUE7RUFDQSxxQ0FBQTtFQUNBLG1DQUFBO0VBQ0Esd0RBQUE7RUFHQSwwQnhCdmZTO0F0QjBtYmI7QThDNW1hRTs7OztFQUlFLDBCeEI1ZmU7QXRCMG1ibkI7QThDem1hRTtFQUNFLDZCQUFBO0E5QzJtYUo7QThDdG1hRTtFQUNFLGFBQUE7RUFDQSxxQkFBQTtFQUNBLFdBQUE7QTlDd21hSjtBOENwbWFFO0VBQ0UsbUJBQUE7RUFDQSxtQkFBQTtFQUNBLGlCQUFBO0E5Q3NtYUo7QThDam1hRTtFQUNFLDBCQUFBO0VBQ0EsZ0JmdGhCcUI7RWV1aEJyQix1QkFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7RUFDQSxjeEIvZDJCO0V3QnVlM0IsY0FBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFQUNBLHVCQUFBO0E5QzRsYUo7QThDMWxhSTtFQUNFLDBCQUFBO0VBQ0EsZ0JmemlCbUI7RWUwaUJuQixtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFDQSxjQUFBO0VBQ0EsWUFBQTtBOUM0bGFOO0E4Q3psYUU7RUFDRSxvQ0FBQTtFQUNBLGdCZm5qQnFCO0EvQjhvYnpCO0E4Q2xsYUU7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtBOUNvbGFKO0E4Qy9rYUU7RUFDRSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0EsY0FBQTtBOUNpbGFKO0E4QzdrYUk7RUFDRSxvQkFBQTtFQUNBLG1CQUFBO0E5QytrYU47QThDNWthSTtFQUNFLG9CQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0EsVUFBQTtBOUM4a2FOO0E4QzVrYUk7OztFQUU4Qix3QkFBQTtBOUMra2FsQztBOEM5a2FJO0VBQ0UsMEJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7RUFDQSx3REFBQTtFQUNBLDhCQUFBO0E5Q2dsYU47QThDOWthSTtFQUFrQyxZQUFBO0E5Q2lsYXRDO0E4QzdrYUU7RUFDRSw2QkFBQTtBOUMra2FKO0E4QzdrYUU7OztFQUtFLHFCeEIvckJnQjtFd0Jnc0JoQiw2QkFBQTtBOUM2a2FKO0E4Q3ZrYUU7RUFDRSx1QnhCeHJCb0I7RXdCeXJCcEIscUJ4QnZtQnlCO0F0QmlyYjdCO0E4Q3hrYUU7RUFBNEIsY3hCcmtCTTtBdEJncGJwQztBOEMxa2FFO0VBQW9CLDBDQUFBO0E5QzZrYXRCO0E4QzVrYUU7O0VBRUUsNkJBQUE7QTlDOGthSjtBOEM1a2FFOzs7RUFHRSxxQnhCbHRCcUI7RXdCbXRCckIsNkJBQUE7QTlDOGthSjtBOEMxa2FFO0VBQ0UsZ0N4QnhwQmM7QXRCb3VibEI7QThDMWthRTs7OztFQUlFLCtCeEJ4cEJvQjtBdEJvdWJ4QjtBOEN0a2FBOztFQUVFLDJDQUFBO0E5Q3lrYUY7QThDeGthRTs7RUFDRSwwQ0FBQTtFQUNBLHNEQUFBO0E5QzJrYUo7QThDcGthQTtFQUNFLG9DQUFBO0VBQ0Esd0NBQUE7RUFDQSxrRGZydEJzQjtBL0I0eGJ4QjtBOENwa2FFO0VBQ0UsY3hCbm5CZ0M7QXRCeXJicEM7QThDcmthSTtFQUFVLG9DQUFBO0E5Q3drYWQ7QThDcGthRTtFQUNFLGdDeEI3ckJjO0F0Qm13YmxCO0E4Q2prYUU7RUFDRSwyQ0FBQTtBOUNta2FKO0E4Q2prYUk7RUFDRSxzREFBQTtFQUNBLDBDQUFBO0E5Q21rYU47QThDemphQTtFQUNFLG9DQUFBO0VBQ0Esc0JBQUE7QTlDNGphRjtBOEMxamFBO0VBQ0Usb0NBQUE7QTlDNmphRjtBOEN4amFBOzs7RUFNRSxtREFBQTtBOUN3amFGO0E4Q3RqYUE7RUFFRSxxREFBQTtBOUN3amFGO0E4Q3JqYUE7RUFDRSxnQ0FBQTtBOUN3amFGO0E4Q3RqYUE7RUFDRSxnQ0FBQTtBOUN5amFGO0FzQmpsYkE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QmtsYkY7QXNCbi9hQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJxL2FGO0FzQi9sYkE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QmdtYkY7QXNCamdiQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJtZ2JGO0F1Qno2YkE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtBdkI0NmJGO0F1QnI2YkE7O0VBRUUsd0RBQUE7RUFDQSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsY0FBQTtBdkJ3NmJGO0F1Qmo2YkE7RUFDRSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLHdEQUFBO0F2Qm82YkY7QXVCOTViQTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QXZCaTZiRjtBdUI3NWJBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7QXZCZzZiRjtBdUJ4NWJBO0VBQ0UsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7QXZCMjViRjtBdUJ2NWJBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7QXZCMDViRjtBdUJ0NWJBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkJ5NWJGO0F1Qm41YkE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2QnM1YkY7QXVCajViQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7RUFDQSw2QkFBQTtBdkJvNWJGO0F1Qmg1YkE7RUFDRSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLDJCQUFBO0F2Qm01YkY7QXNCbHNiQTtFQUVFLCtPQUFBO0VBRUEsaVlBQUE7QXRCbXNiRjtBc0JwbWJBO0VBRUUsb0NBQUE7RUFDQSxtQ0FBQTtFQUNBLHFDQUFBO0VBQ0EscUNBQUE7RUFDQSxzQ0FBQTtFQUNBLG9DQUFBO0F0QnNtYkY7QStDNy9iQTs7O0VBQ0UsY0FBQTtBL0NrZ2NGO0ErQzMvYkU7Ozs7Ozs7OztFQUlFLFdBQUE7RUFDQSxrQkFBQTtBL0NrZ2NKO0ErQy8vYkU7OztFQUFpQixXQUFBO0VBQWEsWUFBQTtBL0NxZ2NoQztBK0NoZ2NFOzs7RUFBMEIsU0FBQTtFQUFXLFVBQUE7RUFBWSxZQUFBO0EvQ3VnY25EO0ErQ3RnY0U7OztFQUEwQix3QkFBQTtBL0MyZ2M1QjtBK0MxZ2NFOzs7RUFBNEIsd0JBQUE7QS9DK2djOUI7QStDOWdjRTs7O0VBQWdDLHdCQUFBO0EvQ21oY2xDO0ErQ2xoY0U7OztFQUE0Qix3QkFBQTtBL0N1aGM5QjtBK0NqaGNFOzs7RUFDRSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLFVBQUE7RUFDQSxlQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0Esb0JBQUE7QS9DcWhjSjtBK0NuaGNFOzs7RUFDRSxjekJoQm1CO0V5QmlCbkIsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsU0FBQTtBL0N1aGNKO0ErQ2xoY0U7Ozs7Ozs7OztFQUNZLHdCQUFBO0EvQzRoY2Q7QStDcmhjRTs7O0VBQ0Usa0JBQUE7RUFDQSxNQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSx5QkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLG9CQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFDQSxvQkFBQTtBL0N5aGNKO0ErQ3BoY0k7OztFQUNFLGN6Qm5EaUI7RXlCb0RqQixnQkFBQTtFQUNBLGdCQUFBO0EvQ3doY047QStDL2djRTs7O0VBQ0UsbUJBQUE7RUFDQSxZaEJSYTtFZ0JTYixnQmhCVGE7RWdCVWIsZ0JBQUE7RUFDQSwwQkFBQTtFQUNBLGtCaEIzQlk7RWdCNEJaLHVCekIxRGU7RXlCMkRmLHlCQUFBO0VBRUEsZ0JBQUE7RUFDQSxZQUFBO0EvQ2toY0o7QStDN2djRTs7O0VBQ0UsMkJBQUE7QS9DaWhjSjtBK0M5Z2NFOzs7RUFDRSxhQUFBO0VBQ0EscUJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0EvQ2toY0o7QStDemdjRTs7Ozs7Ozs7O0VBRUUsb0JBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZWhCeENnQjtFZ0J5Q2hCLGdCaEJuQ3FCO0VnQm9DckIsdUJBQUE7RUFDQSxjQUFBO0VBQ0EsY3pCcUIyQjtFeUJwQjNCLGlCQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFJQSx5QkFBQTtLQUFBLHNCQUFBO01BQUEscUJBQUE7VUFBQSxpQkFBQTtFQUNBLFlBQUE7QS9DK2djSjtBK0N2Z2NFOzs7RUFDRSx5QkFBQTtFQUNBLG9CQUFBO0VBQ0EscUJBQUE7RUFDQSxvQkFBQTtFQUNBLGlDQUFBO0EvQzJnY0o7QStDdGdjRTs7Ozs7Ozs7O0VBRUUsMEJBQUE7RUFDQSxnQmhCbkVxQjtFZ0JvRXJCLHVCQUFBO0VBQ0EsbUJBQUE7RUFDQSxjekJYMkI7QXRCMGhjL0I7QStDNWdjRTs7O0VBQ0UseUJBQUE7QS9DZ2hjSjtBK0MxZ2NFOzs7RUFDRSw2QkFBQTtBL0M4Z2NKO0ErQzVnY0U7Ozs7Ozs7Ozs7Ozs7OztFQUdFLHFCekI5SmdCO0V5QitKaEIsNkJBQUE7QS9DMGhjSjtBK0N0aGNFOzs7RUFDRSxxQnpCakttQjtBdEIycmN2QjtBK0NqaGNFOzs7RUFDRSxhQUFBO0VBQ0EsZ0JBQUE7RUFDQSxvQkFBQTtBL0NxaGNKO0ErQy9nY0U7OztFQUNFLGFBQUE7QS9DbWhjSjtBK0M3L2JFO0VBQ0UsV0FBQTtFQUNBLGtCQUFBO0EvQ2dnY0o7QStDei9iRTtFQUNFLHVCQUFBO0VBQ0EsdUJBQUE7RUFDQSxhQUFBO0VBQ0Esb0JBQUE7RUFDQSw0QkFBQTtBL0MyL2JKO0ErQ3QvYkU7RUFDRSwyQkFBQTtBL0N3L2JKO0ErQ2ovYkU7RUFDRSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSxxQkFBQTtFQUNBLFdBQUE7QS9DbS9iSjtBK0MxK2JFO0VBQ0UsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFPQSwyQkFBQTtFQUdBLDJCQUFBO0EvQ28rYko7QStDaDliRTs7O0VBQ0UsMkNBQUE7QS9DcTliSjtBK0MzOGJFOzs7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxXQUFBO0EvQys4Yko7QStDNzhiRTs7O0VBQ0UsY0FBQTtFQUNBLGNBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtBL0NpOWJKO0ErQzE4YkU7OztFQUNFLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxVQUFBO0VBQ0Esa0JBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VBQ0EsNkJBQUE7RUFHQSxjQUFBO0VBQ0EsMEJBQUE7RUFDQSxzQkFBQTtBL0M0OGJKO0ErQ3Y4YkU7Ozs7OztFQUVFLHFDekIzUGdCO0F0QndzY3BCO0ErQzM4YkU7Ozs7OztFQUVFLDBCekJ0UWU7QXRCdXRjbkI7QStDMThiRTs7O0VBQ0UsMEJ6QnBSUztFeUJxUlQsb0JBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLG9CQUFBO0VBSUEsMEJBQUE7RUFDQSw4QkFBQTtFQUNBLDhZQUFBO0VBQ1Esc1lBQUE7QS9DMjhiWjtBK0NuOGJJOzs7RUFDRSwyQ0FBQTtBL0N3OGJOO0ErQ3Q4Ykk7OztFQUNFLDZCQUFBO0VBQ0EscUJ6QjNRdUI7QXRCcXRjN0I7QStDeDhiSTs7Ozs7O0VBRUUsMkN6QmxTbUI7QXRCZ3ZjekI7QStDNThiSTs7Ozs7O0VBRUUsK0J6QjdTa0I7QXRCK3ZjeEI7QStDaDliSTs7O0VBQ0UsZ0N6QnRUWTtBdEIwd2NsQjtBK0MzOGJBOzs7Ozs7Ozs7RUFTRSxZQUFBO0EvQzg4YkY7QStDdjhiQTtFQUNFOzs7Ozs7Ozs7SUFTRSx5QkFBQTtJQUNBLHNCQUFBO0UvQzA4YkY7QUFDRjtBK0NuOGJBOzs7RUFHRSxlQUFBO0EvQ3E4YkY7QStDNzdiQTtFQUNFLGtCQUFBO0EvQ2c4YkY7QStDejdiQTtFQUNFLGtCQUFBO0EvQzQ3YkY7QStDMTZiSTs7Ozs7O0VBQ0UsdUJ6QjNia0I7RXlCNGJsQixxQnpCMVd1QjtBdEI0eGM3QjtBK0NoN2JJOzs7Ozs7RUFDRSw2QkFBQTtBL0N1N2JOO0ErQ3I3Ykk7Ozs7Ozs7Ozs7OztFQUVFLGN6QjdVOEI7QXRCOHdjcEM7QStDLzdiSTs7Ozs7O0VBQ0UsK0JBQUE7QS9DczhiTjtBK0NwOGJJOzs7Ozs7RUFDRSwrQkFBQTtBL0MyOGJOO0ErQ3o4Ykk7Ozs7Ozs7Ozs7OztFQUVFLHFCekIzZG1CO0V5QjRkbkIsNkJBQUE7QS9DcTliTjtBK0N2OGJBO0VBQ0UsMkJBQUE7RUFDQSx3QkFBQTtFQUNBLG9CQUFBO0VBQ0EscUJBQUE7QS9DMDhiRjtBK0N4OGJBO0VBQ0UsY0FBQTtFQUNBLGVBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0EvQzI4YkY7QXNCNXFjQTtFQUVFLCtPQUFBO0VBRUEsaVlBQUE7QXRCNnFjRjtBc0I5a2NBO0VBRUUsb0NBQUE7RUFDQSxtQ0FBQTtFQUNBLHFDQUFBO0VBQ0EscUNBQUE7RUFDQSxzQ0FBQTtFQUNBLG9DQUFBO0F0QmdsY0Y7QXNCMXJjQTtFQUVFLCtPQUFBO0VBRUEsaVlBQUE7QXRCMnJjRjtBc0I1bGNBO0VBRUUsb0NBQUE7RUFDQSxtQ0FBQTtFQUNBLHFDQUFBO0VBQ0EscUNBQUE7RUFDQSxzQ0FBQTtFQUNBLG9DQUFBO0F0QjhsY0Y7QXVCcGdkQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGlCQUFBO0F2QnVnZEY7QXVCaGdkQTs7RUFFRSx3REFBQTtFQUNBLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxjQUFBO0F2Qm1nZEY7QXVCNS9jQTtFQUNFLGVBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0EsaUJBQUE7RUFDQSxhQUFBO0VBQ0Esd0RBQUE7QXZCKy9jRjtBdUJ6L2NBO0VBQ0UsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtBdkI0L2NGO0F1QngvY0E7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSxpQkFBQTtBdkIyL2NGO0F1Qm4vY0E7RUFDRSxnQkFBQTtFQUNBLG9CQUFBO0VBQ0EscUJBQUE7RUFDQSxpQkFBQTtBdkJzL2NGO0F1QmwvY0E7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtBdkJxL2NGO0F1QmovY0E7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2Qm8vY0Y7QXVCOStjQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7QXZCaS9jRjtBdUI1K2NBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtFQUNBLDZCQUFBO0F2QisrY0Y7QXVCMytjQTtFQUNFLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLG1CQUFBO0VBQ0EsMkJBQUE7QXZCOCtjRjtBc0I3eGNBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEI4eGNGO0FzQi9yY0E7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCaXNjRjtBZ0R0bWRBO0VBTUUsYzFCbUs2QjtFMEJwSTdCLGtCakI2Q2M7RWlCM0NkLGMxQm9CYztBdEJpamRoQjtBZ0RwbWRFO0VBQ0UseUJBQUE7QWhEc21kSjtBZ0RwbWRJO0VBQ0UseUJBQUE7QWhEc21kTjtBZ0Q5bGRJO0VBQ0UseUJBQUE7QWhEZ21kTjtBZ0Q5bGRNO0VBQ0UseUJBQUE7QWhEZ21kUjtBZ0QzbGRFO0VBQ0Usb0NBckNZO0FoRGtvZGhCO0FnRDFsZEU7RUFDRSxvQ0F4Q1E7QWhEb29kWjtBZ0RubGRNO0VBS0Usb0NBQUE7QWhEaWxkUjtBZ0Qva2RRO0VBQ0UseUJBQUE7QWhEaWxkVjtBZ0R6bGRNO0VBS0Usb0NBQUE7QWhEdWxkUjtBZ0RybGRRO0VBQ0UseUJBQUE7QWhEdWxkVjtBZ0QvbGRNO0VBS0Usb0NBQUE7QWhENmxkUjtBZ0QzbGRRO0VBQ0UseUJBQUE7QWhENmxkVjtBZ0RybWRNO0VBS0Usb0NBQUE7QWhEbW1kUjtBZ0RqbWRRO0VBQ0UseUJBQUE7QWhEbW1kVjtBZ0QzbWRNO0VBS0Usb0NBQUE7QWhEeW1kUjtBZ0R2bWRRO0VBQ0UseUJBQUE7QWhEeW1kVjtBZ0RqbmRNO0VBS0Usb0NBQUE7QWhEK21kUjtBZ0Q3bWRRO0VBQ0UsdUJBQUE7QWhEK21kVjtBZ0R2bmRNO0VBS0Usb0NBQUE7QWhEcW5kUjtBZ0RubmRRO0VBQ0UsdUJBQUE7QWhEcW5kVjtBZ0Q3bmRNO0VBS0Usb0NBQUE7QWhEMm5kUjtBZ0R6bmRRO0VBQ0UsdUJBQUE7QWhEMm5kVjtBZ0Rub2RNO0VBS0Usb0NBQUE7QWhEaW9kUjtBZ0QvbmRRO0VBQ0UsdUJBQUE7QWhEaW9kVjtBZ0R6b2RNO0VBS0Usb0NBQUE7QWhEdW9kUjtBZ0Ryb2RRO0VBQ0UsdUJBQUE7QWhEdW9kVjtBZ0Qvb2RNO0VBS0Usb0NBQUE7QWhENm9kUjtBZ0Qzb2RRO0VBQ0UsdUJBQUE7QWhENm9kVjtBZ0RycGRNO0VBS0Usb0NBQUE7QWhEbXBkUjtBZ0RqcGRRO0VBQ0UsdUJBQUE7QWhEbXBkVjtBZ0QzcGRNO0VBS0Usb0NBQUE7QWhEeXBkUjtBZ0R2cGRRO0VBQ0UsdUJBQUE7QWhEeXBkVjtBZ0RqcWRNO0VBS0Usb0NBQUE7QWhEK3BkUjtBZ0Q3cGRRO0VBQ0UsdUJBQUE7QWhEK3BkVjtBZ0R2cWRNO0VBS0Usb0NBQUE7QWhEcXFkUjtBZ0RucWRRO0VBQ0UsdUJBQUE7QWhEcXFkVjtBZ0Q3cWRNO0VBS0Usb0NBQUE7QWhEMnFkUjtBZ0R6cWRRO0VBQ0UsdUJBQUE7QWhEMnFkVjtBZ0QzcGRNO0VBQ0Usa0NBQUE7RUFDQSxvQ0FBQTtBaEQ2cGRSO0FnRDFwZFE7RUFDRSx5QkFBQTtBaEQ0cGRWO0FnRGxxZE07RUFDRSxvQ0FBQTtFQUNBLG9DQUFBO0FoRG9xZFI7QWdEanFkUTtFQUNFLHlCQUFBO0FoRG1xZFY7QWdEenFkTTtFQUNFLG9DQUFBO0VBQ0Esb0NBQUE7QWhEMnFkUjtBZ0R4cWRRO0VBQ0UseUJBQUE7QWhEMHFkVjtBZ0RocmRNO0VBQ0Usb0NBQUE7RUFDQSxvQ0FBQTtBaERrcmRSO0FnRC9xZFE7RUFDRSx5QkFBQTtBaERpcmRWO0FnRHZyZE07RUFDRSxvQ0FBQTtFQUNBLG9DQUFBO0FoRHlyZFI7QWdEdHJkUTtFQUNFLHlCQUFBO0FoRHdyZFY7QWdEOXJkTTtFQUNFLG9DQUFBO0VBQ0Esb0NBQUE7QWhEZ3NkUjtBZ0Q3cmRRO0VBQ0UseUJBQUE7QWhEK3JkVjtBZ0Ry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O0VBSUksd0NBQUE7RUFDQSwyQkFBQTtFQUNBLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7RUFDQSxvQkFBQTtFQUNBLGdCQUFBO0F6RDhvaEJSO0F5RDFvaEJJOzs7O0VBSUkscUJBQUE7RUFDQSxlQUFBO0F6RDRvaEJSO0F5RHhvaEJJOztFQUVJLDRCQUFBO0VBQ0EsK0JBQUE7QXpEMG9oQlI7QXlEbm9oQkk7Ozs7RUFJSSx5Qm5DdnRCWTtFbUN3dEJaLDRCbkN4dEJZO0F0QjYxaUJwQjtBeURub2hCSTs7Ozs7Ozs7RUFRSSwwQm5DbHVCWTtBdEJ1MmlCcEI7QXlEbm9oQkk7Ozs7RUFJSSwyQm5DeHVCWTtBdEI2MmlCcEI7QXlEaG9oQkk7Ozs7RUFJSSx5Qm5DaHZCaUI7RW1DaXZCakIsNEJuQ2p2QmlCO0F0Qm8zaUJ6QjtBeURqb2hCSTs7Ozs7Ozs7RUFRSSwwQm5DM3ZCaUI7QXRCODNpQnpCO0F5RGpvaEJJOzs7O0VBSUksMkJuQ2p3QmlCO0F0Qm80aUJ6QjtBeUQ1bmhCSTtFQUF5QixhQUFBO0F6RGdvaEI3QjtBeUQvbmhCSTtFQUFpQyxhQUFBO0F6RGtvaEJyQztBeURqb2hCSTtFQUNJLG1DQUFBO0F6RG1vaEJSO0F5RGpvaEJJOztFQUVJLHVDbkNuZG1CO0F0QnNsaUIzQjtBeUQ3bmhCSTs7OztFQUlJLDJCbkMxeEJZO0F0Qnk1aUJwQjtBeURybmhCSTtFQUNJLHVCbkN0eEJnQjtBdEI4NGlCeEI7QXlEcm5oQkk7O0VBRUksMkNBQUE7RUFDQSw4Q0FBQTtBekR1bmhCUjtBeURybmhCSTs7OztFQUlJLDRDQUFBO0F6RHVuaEJSO0F5RHJuaEJJOztFQUVJLDZDQUFBO0F6RHVuaEJSO0F5RC9taEJBOztFQUVJLGtHQUFBO0F6RGtuaEJKO0F5RC9taEJBOztFQUVJLGtHQUFBO0F6RGtuaEJKO0F5RDltaEJJOztFQUVJLDZDQUFBO0F6RGluaEJSO0F5RDdtaEJJOzs7O0VBSUksMkJuQ2oxQmlCO0F0Qmc4aUJ6QjtBeUR2bWhCSTs7OztFQUlJLHlCbkM3MUJpQjtFbUM4MUJqQiw0Qm5DOTFCaUI7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aEJIQztBdEJ5eWxCWDtBc0M1eWxCTTtFQUNFLDZCMEJ3RXVFO0FoRXV1bEIvRTtBc0MzeWxCTTtFQUNJLDZCMEJtRWtGO0FoRTJ1bEI1RjtBc0NwemxCTTtFQUNFLHlCaEJLRztBdEJremxCWDtBc0NuemxCTTtFQUNJLHlCaEJIQztBdEJ5emxCWDtBc0M1emxCTTtFQUNFLHlCaEJLRztBdEIwemxCWDtBc0MzemxCTTtFQUNJLHlCaEJIQztBdEJpMGxCWDtBc0NwMGxCTTtFQUNFLHlCaEJLRztBdEJrMGxCWDtBc0NuMGxCTTtFQUNJLHlCaEJIQztBdEJ5MGxCWDtBc0M1MGxCTTtFQUNFLHlCaEJLRztBdEIwMGxCWDtBc0MzMGxCTTtFQUNJLHlCaEJIQztBdEJpMWxCWDtBc0NwMWxCTTtFQUNFLG9DMEI0Rk47QWhFMnZsQkY7QXNDbjFsQk07RUFDSSxvQzBCd0ZSO0FoRTh2bEJGO0FzQzUxbEJNO0VBQ0Usb0MwQjJHTjtBaEVvdmxCRjtBc0MzMWxCTTtFQUNJLG9DMEJ1R1I7QWhFdXZsQkY7QXNDcDJsQk07RUFDRSwwQjBCa0hzRTtBaEVxdmxCOUU7QXNDbjJsQk07RUFDSSwwQjBCNkcwRztBaEV5dmxCcEg7QXNDNTJsQk07RUFDRSxvQzBCbUgyRTtBaEU0dmxCbkY7QXNDMzJsQk07RUFDSSxvQzBCOEcrRztBaEVnd2xCekg7QXNDcDNsQk07RUFDRSxrQmhCK0s4QjtBdEJ3c2xCdEM7QXNDbjNsQk07RUFDSSxxQmhCNEtpQztBdEIwc2xCM0M7QXNDNTNsQk07RUFDRSx5QmhCTUc7QXRCeTNsQlg7QXNDMzNsQk07RUFDSSx5QmhCVEM7QXRCdTRsQlg7QXNDcDRsQk07RUFDRSx5QmhCTUc7QXRCaTRsQlg7QXNDbjRsQk07RUFDSSx5QmhCVEM7QXRCKzRsQlg7QXNDNTRsQk07RUFDRSx5QmhCMkNZO0F0Qm8ybEJwQjtBc0MzNGxCTTtFQUNJLHlCaEJIQztBdEJpNWxCWDtBc0NwNWxCTTtFQUNFLHlCaEIyQ1k7QXRCNDJsQnBCO0FzQ241bEJNO0VBQ0kseUJoQkhDO0F0Qnk1bEJYO0FzQzU1bEJNO0VBQ0UscUJoQjJDWTtBdEJvM2xCcEI7QXNDMzVsQk07RUFDSSxxQmhCSEM7QXRCaTZsQlg7QXNDcDZsQk07RUFDRSx5QmhCMkNZO0F0QjQzbEJwQjtBc0NuNmxCTTtFQUNJLHlCaEJUQztBdEIrNmxCWDtBc0M1NmxCTTtFQUNFLHlCaEIyQ1k7QXRCbzRsQnBCO0FzQzM2bEJNO0VBQ0kseUJoQlRDO0F0QnU3bEJYO0FzQ3A3bEJNO0VBQ0Usc0IwQjBJZ0g7QWhFNnlsQnhIO0FzQ243bEJNO0VBQ0ksc0IwQnFJb0g7QWhFaXpsQjlIO0FzQzU3bEJNO0VBQ0UsMEIwQjZJZ0c7QWhFa3psQnhHO0FzQzM3bEJNO0VBQ0ksMEIwQndJaUg7QWhFc3psQjNIO0FnRTN5bEJBO0VBQ0UsNkJBQUE7RUFDQSw4QkFBQTtBaEU4eWxCRjtBc0N6OGxCTTtFQUNFLHlCMEI2SjZEO0FoRSt5bEJyRTtBc0N4OGxCTTtFQUNJLHlCMEJ3SmlGO0FoRW16bEIzRjtBc0NqOWxCTTtFQUNFLHlCMEIrSm9FO0FoRXF6bEI1RTtBc0NoOWxCTTtFQUNJLHlCMEIwSndHO0FoRXl6bEJsSDtBc0N6OWxCTTtFQUNFLG9DMEJpS2dGO0FoRTJ6bEJ4RjtBc0N4OWxCTTtFQUNJLG9DMEI0Sm9HO0FoRSt6bEI5RztBc0NqK2xCTTtFQUNFLG9DMEJrS3NGO0FoRWswbEI5RjtBc0NoK2xCTTtFQUNJLG9DMEI2SjBHO0FoRXMwbEJwSDtBc0N6K2xCTTtFQUNFLDZCMEJvTHlFO0FoRXd6bEJqRjtBc0N4K2xCTTtFQUNJLDZCMEIrS29GO0FoRTR6bEI5RjtBc0NqL2xCTTtFQUNFLHFDMEJxTG1FO0FoRSt6bEIzRTtBc0NoL2xCTTtFQUNJLHFDMEJnTDhGO0FoRW0wbEJ4RztBc0N6L2xCTTtFQUNFLHlCaEJJRztBdEJ3L2xCWDtBc0N4L2xCTTtFQUNJLHlCaEJGQztBdEI2L2xCWDtBc0NqZ21CTTtFQUNFLHlCaEJLRztBdEIrL2xCWDtBc0NoZ21CTTtFQUNJLHlCaEJIQztBdEJzZ21CWDtBc0N6Z21CTTtFQUNFLHlCaEJLRztBdEJ1Z21CWDtBc0N4Z21CTTtFQUNJLHlCaEJIQztBdEI4Z21CWDtBc0NqaG1CTTtFQUNFLHlCaEJ3S21CO0F0QjQybEIzQjtBc0NoaG1CTTtFQUNJLHlCaEJvS3NCO0F0QisybEJoQztBc0N6aG1CTTtFQUNFLHlCaEJ3S21CO0F0Qm8zbEIzQjtBc0N4aG1CTTtFQUNJLHlCaEJvS3NCO0F0QnUzbEJoQztBc0NqaW1CTTtFQUNFLGtDMEIrTTZHO0FoRXExbEJySDtBc0NoaW1CTTtFQUNJLHFDMEIwTW1LO0FoRXkxbEI3SztBc0N6aW1CTTtFQUNFLHlCaEJNRztBdEJzaW1CWDtBc0N4aW1CTTtFQUNJLHlCaEJUQztBdEJvam1CWDtBc0Nqam1CTTtFQUNFLHlCaEJNRztBdEI4aW1CWDtBc0Noam1CTTtFQUNJLHlCaEJUQztBdEI0am1CWDtBc0N6am1CTTtFQUNFLHFCaEJJRztBdEJ3am1CWDtBc0N4am1CTTtFQUNJLHFCaEJGQztBdEI2am1CWDtBc0Nqa21CTTtFQUNFLDZCMEI2TjRGO0FoRXUybEJwRztBc0Noa21CTTtFQUNJLDZCMEJ3TnVHO0FoRTIybEJqSDtBc0N6a21CTTtFQUNFLHlCaEJLRztBdEJ1a21CWDtBc0N4a21CTTtFQUNJLHlCaEJIQztBdEI4a21CWDtBc0NqbG1CTTtFQUNFLHlCaEJLRztBdEIra21CWDtBc0NobG1CTTtFQUNJLHlCaEJIQztBdEJzbG1CWDtBc0N6bG1CTTtFQUNFLHFCaEJJRztBdEJ3bG1CWDtBc0N4bG1CTTtFQUNJLHFCaEJIQztBdEI4bG1CWDtBc0NqbW1CTTtFQUNFLHFCaEJJRztBdEJnbW1CWDtBc0NobW1CTTtFQUNJLHFCaEJIQztBdEJzbW1CWDtBc0N6bW1CTTtFQUNFLHlCaEJ3S21CO0F0Qm84bEIzQjtBc0N4bW1CTTtFQUNJLHlCaEJvS3NCO0F0QnU4bEJoQztBc0Nqbm1CTTtFQUNFLHlCaEJ3S21CO0F0QjQ4bEIzQjtBc0Nobm1CTTtFQUNJLHlCaEJvS3NCO0F0Qis4bEJoQztBc0N6bm1CTTtFQUNFLHlCaEIyQ1k7QXRCaWxtQnBCO0FzQ3hubUJNO0VBQ0kseUJoQkhDO0F0QjhubUJYO0FzQ2pvbUJNO0VBQ0UseUJoQjJDWTtBdEJ5bG1CcEI7QXNDaG9tQk07RUFDSSx5QmhCSEM7QXRCc29tQlg7QXNDem9tQk07RUFDRSxxQmhCMkNZO0F0QmltbUJwQjtBc0N4b21CTTtFQUNJLHFCaEJIQztBdEI4b21CWDtBc0NqcG1CTTtFQUNFLHFCaEIyQ1k7QXRCeW1tQnBCO0FzQ2hwbUJNO0VBQ0kscUJoQkhDO0F0QnNwbUJYO0FzQ3pwbUJNO0VBQ0UseUJoQjJDWTtBdEJpbm1CcEI7QXNDeHBtQk07RUFDSSx5QmhCVEM7QXRCb3FtQlg7QXNDanFtQk07RUFDRSx5QmhCMkNZO0F0QnlubUJwQjtBc0NocW1CTTtFQUNJLHlCaEJUQztBdEI0cW1CWDtBc0N6cW1CTTtFQUNFLHNCMEIwUDZJO0FoRWs3bEJySjtBc0N4cW1CTTtFQUNJLHNCMEJxUGlKO0FoRXM3bEIzSjtBc0Nqcm1CTTtFQUNFLGtCaEIrSzhCO0F0QnFnbUJ0QztBc0Nocm1CTTtFQUNJLHFCaEI0S2lDO0F0QnVnbUIzQztBc0N6cm1CTTtFQUNFLHlCaEJNRztBdEJzcm1CWDtBc0N4cm1CTTtFQUNJLHlCaEJUQztBdEJvc21CWDtBc0Nqc21CTTtFQUNFLHlCaEJNRztBdEI4cm1CWDtBc0Noc21CTTtFQUNJLHlCaEJUQztBdEI0c21CWDtBc0N6c21CTTtFQUNFLDBCMEJ3UXdHO0FoRW84bEJoSDtBc0N4c21CTTtFQUNJLDBCMEJtUXlIO0FoRXc4bEJuSTtBc0NqdG1CTTtFQUNFLDBCMEI4UXNHO0FoRXM4bEI5RztBc0NodG1CTTtFQUNJLDBCMEJ5UXVIO0FoRTA4bEJqSTtBc0N6dG1CTTtFQUNFLHlCaEJLRztBdEJ1dG1CWDtBc0N4dG1CTTtFQUNJLHlCaEJIQztBdEI4dG1CWDtBc0NqdW1CTTtFQUNFLGNoQjhLdUI7QXRCc2ptQi9CO0FzQ2h1bUJNO0VBQ0ksY2hCMkswQjtBdEJ3am1CcEM7QXNDenVtQk07RUFDRSxjaEI4S3VCO0F0QjhqbUIvQjtBc0N4dW1CTTtFQUNJLGNoQjJLMEI7QXRCZ2ttQnBDO0FzQ2p2bUJNO0VBQ0UsV2hCK0s4QjtBdEJxa21CdEM7QXNDaHZtQk07RUFDSSxjaEI0S2lDO0F0QnVrbUIzQztBZ0V2OWxCQSxpQkFBQTtBMUJsU007RUFDRSx5QmhCbVdpQjtBdEIwNWxCekI7QXNDenZtQk07RUFDSSx5QmhCK1ZvQjtBdEI2NWxCOUI7QXNDbHdtQk07RUFDRSx5QmhCcVd3QjtBdEJnNmxCaEM7QXNDandtQk07RUFDSSx5QmhCaVcyQjtBdEJtNmxCckM7QXNDMXdtQk07RUFDRSxjaEJnRVE7QXRCNnNtQmhCO0FzQ3p3bUJNO0VBQ0ksY2hCNERXO0F0Qmd0bUJyQjtBZ0UzK2xCQSxVQUFBO0ExQnZTTTtFQUNFLHVCaEI4RGE7QXRCd3RtQnJCO0FzQ2x4bUJNO0VBQ0ksdUJoQjBEZ0I7QXRCMnRtQjFCO0FzQzN4bUJNO0VBQ0UseUJoQm1XaUI7QXRCMjdsQnpCO0FzQzF4bUJNO0VBQ0kseUJoQitWb0I7QXRCODdsQjlCO0FzQ255bUJNO0VBQ0UscUJoQm1XaUI7QXRCbThsQnpCO0FzQ2x5bUJNO0VBQ0kscUJoQitWb0I7QXRCczhsQjlCO0FzQzN5bUJNO0VBQ0UseUJoQjhEYTtBdEJndm1CckI7QXNDMXltQk07RUFDSSx5QmhCMERnQjtBdEJtdm1CMUI7QXNDbnptQk07RUFDRSxxQ2hCd1dtQjtBdEI4OGxCM0I7QXNDbHptQk07RUFDSSx5QmhCdUNlO0F0Qjh3bUJ6QjtBc0Mzem1CTTtFQUNFLHdDaEJ3V21CO0F0QnM5bEIzQjtBc0Mxem1CTTtFQUNJLDRCaEJ1Q2U7QXRCc3htQnpCO0FzQ24wbUJNO0VBQ0UsWTBCNlNzRjtBaEV5aG1COUY7QXNDbDBtQk07RUFDSSxZMEJ3UzBGO0FoRTZobUJwRztBc0MzMG1CTTtFQUNFLFkwQjhTcUY7QWhFZ2ltQjdGO0FzQzEwbUJNO0VBQ0ksWTBCeVN5RjtBaEVvaW1Cbkc7QXNDbjFtQk07RUFDRSxzQ2hCd1dtQjtBdEI4K2xCM0I7QXNDbDFtQk07RUFDSSwwQmhCdUNlO0F0Qjh5bUJ6QjtBc0MzMW1CTTtFQUNFLHVDaEJ3V21CO0F0QnMvbEIzQjtBc0MxMW1CTTtFQUNJLDJCaEJ1Q2U7QXRCc3ptQnpCO0FzQ24ybUJNO0VBQ0UsWTBCaVQwRjtBaEVxam1CbEc7QXNDbDJtQk07RUFDSSxZMEI0UzhGO0FoRXlqbUJ4RztBZ0V2am1CQSxRQUFBO0ExQnBUTTtFQUNFLGNoQjJDWTtBdEJvMG1CcEI7QXNDMzJtQk07RUFDSSxjaEJ1Q2U7QXRCdTBtQnpCO0FzQ3AzbUJNO0VBQ0UsY2hCMkNZO0F0QjQwbUJwQjtBc0NuM21CTTtFQUNJLGNoQnVDZTtBdEIrMG1CekI7QWdFcGttQkEsYUFBQTtBMUJ4VE07RUFDRSxjaEJ3VmdCO0F0QndpbUJ4QjtBc0M1M21CTTtFQUNJLGNoQm9Wa0I7QXRCMmltQjVCO0FzQ3I0bUJNO0VBQ0UseUJoQnVMa0M7QXRCaXRtQjFDO0FzQ3A0bUJNO0VBQ0kseUJoQm1McUM7QXRCb3RtQi9DO0FzQzc0bUJNO0VBQ0UseUJoQllJO0F0Qm80bUJaO0FzQzU0bUJNO0VBQ0kseUJoQnFMd0M7QXRCMHRtQmxEO0FnRXJsbUJBLGtCQUFBO0ExQmhVTTtFQUNFLHlCaEI2RmdCO0F0QjR6bUJ4QjtBc0NyNW1CTTtFQUNJLHlCaEJ5Rm1CO0F0Qit6bUI3QjtBZ0UzbG1CQSxtQkFBQTtBMUJuVU07RUFDRSxjaEJnRVE7QXRCazJtQmhCO0FzQzk1bUJNO0VBQ0ksY2hCNERXO0F0QnEybUJyQjtBc0N2Nm1CTTtFQUNFLGNoQnFZSztBdEJxaW1CYjtBc0N0Nm1CTTtFQUNJLGNoQmtZRztBdEJ1aW1CYjtBc0MvNm1CTTtFQUNFLGNoQnFZSztBdEI2aW1CYjtBc0M5Nm1CTTtFQUNJLGNoQmtZRztBdEIraW1CYjtBZ0UvbW1CQSxnQkFBQTtBMUJ4VU07RUFDRSw4QjBCd1U2RDtBaEVtbm1CckU7QXNDdjdtQk07RUFDSSxrRDBCbVU0RTtBaEV1bm1CdEY7QXNDaDhtQk07RUFDRSxjMEJ5VTBEO0FoRTBubUJsRTtBc0MvN21CTTtFQUNJLDJCMEJvVTREO0FoRThubUJ0RTtBZ0U1bm1CQSxjQUFBO0ExQjVVTTtFQUNFLHVCaEJ5RFc7QXRCbTVtQm5CO0FzQ3g4bUJNO0VBQ0ksdUJoQnFEYztBdEJzNW1CeEI7QWdFbG9tQkEscUJBQUE7QTFCL1VNO0VBQ0UsdUJoQnlEVztBdEI0NW1CbkI7QXNDajltQk07RUFDSSx1QmhCcURjO0F0Qis1bUJ4QjtBc0MxOW1CTTtFQUNFLGtCMEJnVnlFO0FoRTZvbUJqRjtBc0N6OW1CTTtFQUNJLHNDMEIyVTJFO0FoRWlwbUJyRjtBc0NsK21CTTtFQUNFLFUwQmlWaUU7QWhFb3BtQnpFO0FzQ2orbUJNO0VBQ0ksOEIwQjRVbUU7QWhFd3BtQjdFO0FnRXRwbUJBLDRCQUFBO0ExQnBWTTtFQUNFLGNoQitIYztBdEIrMm1CdEI7QXNDMSttQk07RUFDSSxjaEIySGlCO0F0QmszbUIzQjtBc0NuL21CTTtFQUNFLGNoQitIYztBdEJ1M21CdEI7QXNDbC9tQk07RUFDSSxjaEIySGlCO0F0QjAzbUIzQjtBZ0VscG1CQTs7RUFFRSxjQUFBO0FoRXFwbUJGO0FzQ2hnbkJNO0VBQ0UsdUJoQnlEVztBdEIwOG1CbkI7QXNDLy9tQk07RUFDSSx1QmhCcURjO0F0QjY4bUJ4QjtBZ0VscG1CQTs7RUFFRSx1QjFDOVRpQjtBdEJtOW1CbkI7QWdFbnBtQkE7O0VBRUUsdUIxQ2pVc0I7QXRCdTltQnhCO0FzQ2xobkJNO0VBQ0UseUJoQnVMa0M7QXRCODFtQjFDO0FzQ2pobkJNO0VBQ0kseUJoQm1McUM7QXRCaTJtQi9DO0FzQzFobkJNO0VBQ0UsY2hCOEt1QjtBdEIrMm1CL0I7QXNDemhuQk07RUFDSSxjaEIySzBCO0F0QmkzbUJwQztBc0NsaW5CTTtFQUNFLHlCaEJ1TGtDO0F0QjgybUIxQztBc0NqaW5CTTtFQUNJLHlCaEJtTHFDO0F0QmkzbUIvQztBc0MxaW5CTTtFQUNFLGNoQjhLdUI7QXRCKzNtQi9CO0FzQ3ppbkJNO0VBQ0ksY2hCMkswQjtBdEJpNG1CcEM7QXNDbGpuQk07RUFDRSxXaEIrSzhCO0F0QnM0bUJ0QztBc0Nqam5CTTtFQUNJLGNoQjRLaUM7QXRCdzRtQjNDO0FzQzFqbkJNO0VBQ0UsV2hCK0s4QjtBdEI4NG1CdEM7QXNDempuQk07RUFDSSxjaEI0S2lDO0F0Qmc1bUIzQztBZ0U1cW1CQTtFQUFnRCxXMUN0T1Y7QXRCczVtQnRDO0FnRS9xbUJBO0VBQWdELGMxQ3JPTDtBdEJ3NW1CM0M7QXNDMWtuQk07RUFDRSxzQzBCdVpnRjtBaEVzcm1CeEY7QXNDemtuQk07RUFDSSxrQjBCa1pzRztBaEUwcm1CaEg7QXNDbGxuQk07RUFDRSw4QjBCd1p3RTtBaEU2cm1CaEY7QXNDamxuQk07RUFDSSxVMEJtWjhGO0FoRWlzbUJ4RztBc0MxbG5CTTtFQUNFLHlCaEJIRztBdEJnbW5CWDtBc0N6bG5CTTtFQUNJLHlCaEJtSnFCO0F0Qnk4bUIvQjtBc0NsbW5CTTtFQUNFLDBDMEIwWjBFO0FoRTJzbUJsRjtBc0NqbW5CTTtFQUNJLDBDMEJxWnVHO0FoRStzbUJqSDtBc0MxbW5CTTtFQUNFLDRCaEJDRztBdEI0bW5CWDtBc0N6bW5CTTtFQUNJLDRCaEJxSW1CO0F0QnUrbUI3QjtBc0Nsbm5CTTtFQUNFLHlCaEJ3S21CO0F0QjY4bUIzQjtBc0Nqbm5CTTtFQUNJLHlCaEJvS3NCO0F0Qmc5bUJoQztBc0Mxbm5CTTtFQUNFLDRCaEJDRztBdEI0bm5CWDtBc0N6bm5CTTtFQUNJLDRCaEJxSW1CO0F0QnUvbUI3QjtBc0Nsb25CTTtFQUNFLFdoQitLOEI7QXRCczltQnRDO0FzQ2pvbkJNO0VBQ0ksY2hCNEtpQztBdEJ3OW1CM0M7QXNDMW9uQk07RUFDRSxjaEI4S3VCO0F0Qis5bUIvQjtBc0N6b25CTTtFQUNJLGNoQjJLMEI7QXRCaSttQnBDO0FzQ2xwbkJNO0VBQ0UsY2hCOEt1QjtBdEJ1K21CL0I7QXNDanBuQk07RUFDSSxjaEIySzBCO0F0QnkrbUJwQztBc0MxcG5CTTtFQUNFLHNDMEJxYTBGO0FoRXd2bUJsRztBc0N6cG5CTTtFQUNJLGtCMEJnYWdIO0FoRTR2bUIxSDtBc0NscW5CTTtFQUNFLDhCMEJzYWtGO0FoRSt2bUIxRjtBc0NqcW5CTTtFQUNJLFUwQmlhd0c7QWhFbXdtQmxIO0FzQzFxbkJNO0VBQ0UseUJoQndLbUI7QXRCcWduQjNCO0FzQ3pxbkJNO0VBQ0kseUJoQm9Lc0I7QXRCd2duQmhDO0FzQ2xybkJNO0VBQ0UsMkJoQkNHO0F0Qm9ybkJYO0FzQ2pybkJNO0VBQ0ksMkJoQnFJbUI7QXRCK2luQjdCO0FzQzFybkJNO0VBQ0UseUJoQkNHO0F0QjRybkJYO0FzQ3pybkJNO0VBQ0kseUJoQnFJbUI7QXRCdWpuQjdCO0FnRXp3bUJBO0VBQ0UsK0JBQUE7QWhFNHdtQkY7QWdFMXdtQkE7RUFDRSwrQkFBQTtBaEU2d21CRjtBZ0V4d21CQTs7RUFFRSxzQ0FBQTtFQUNBLHNDQUFBO0FoRTJ3bUJGO0FnRXp3bUJBOztFQUVFLHNDQUFBO0VBQ0Esc0NBQUE7QWhFNHdtQkY7QXNDdHRuQk07RUFDRSx5QmhCd0ttQjtBdEJpam5CM0I7QXNDcnRuQk07RUFDSSx5QmhCb0tzQjtBdEJvam5CaEM7QXNDOXRuQk07RUFDRSx5QmhCd0ttQjtBdEJ5am5CM0I7QXNDN3RuQk07RUFDSSx5QmhCb0tzQjtBdEI0am5CaEM7QXNDdHVuQk07RUFDRSx1QzBCOGRvSDtBaEUyd21CNUg7QXNDcnVuQk07RUFDSSx1QzBCeWRtSjtBaEUrd21CN0o7QXNDOXVuQk07RUFDRSxvQzBCK2RpSDtBaEVreG1Cekg7QXNDN3VuQk07RUFDSSxvQzBCMGRnSjtBaEVzeG1CMUo7QXNDdHZuQk07RUFDRSxjaEI4S3VCO0F0QjJrbkIvQjtBc0Nydm5CTTtFQUNJLGNoQjJLMEI7QXRCNmtuQnBDO0FzQzl2bkJNO0VBQ0UsV2hCK0s4QjtBdEJrbG5CdEM7QXNDN3ZuQk07RUFDSSxjaEI0S2lDO0F0Qm9sbkIzQztBc0N0d25CTTtFQUNFLFdoQitLOEI7QXRCMGxuQnRDO0FzQ3J3bkJNO0VBQ0ksY2hCNEtpQztBdEI0bG5CM0M7QXNDOXduQk07RUFDRSx5QmhCdUxrQztBdEIwbG5CMUM7QXNDN3duQk07RUFDSSx5QmhCbUxxQztBdEI2bG5CL0M7QXNDdHhuQk07RUFDRSx5QmhCdUxrQztBdEJrbW5CMUM7QXNDcnhuQk07RUFDSSx5QmhCbUxxQztBdEJxbW5CL0M7QXNDOXhuQk07RUFDRSxXaEIrSzhCO0F0QmtubkJ0QztBc0M3eG5CTTtFQUNJLGNoQjRLaUM7QXRCb25uQjNDO0FzQ3R5bkJNO0VBQ0UseUJoQnVMa0M7QXRCa25uQjFDO0FzQ3J5bkJNO0VBQ0kseUJoQm1McUM7QXRCcW5uQi9DO0FzQzl5bkJNO0VBQ0UsV2hCK0s4QjtBdEJrb25CdEM7QXNDN3luQk07RUFDSSxjaEI0S2lDO0F0Qm9vbkIzQztBc0N0em5CTTtFQUNFLGNoQjhLdUI7QXRCMm9uQi9CO0FzQ3J6bkJNO0VBQ0ksY2hCMkswQjtBdEI2b25CcEM7QXNDOXpuQk07RUFDRSx5QmhCdUxrQztBdEIwb25CMUM7QXNDN3puQk07RUFDSSx5QmhCbUxxQztBdEI2b25CL0M7QXNDdDBuQk07RUFDRSxXaEIrSzhCO0F0QjBwbkJ0QztBc0NyMG5CTTtFQUNJLGNoQjRLaUM7QXRCNHBuQjNDO0FzQzkwbkJNO0VBQ0UseUJoQnVMa0M7QXRCMHBuQjFDO0FzQzcwbkJNO0VBQ0kseUJoQm1McUM7QXRCNnBuQi9DO0FzQ3QxbkJNO0VBQ0UsV2hCK0s4QjtBdEIwcW5CdEM7QXNDcjFuQk07RUFDSSxjaEI0S2lDO0F0QjRxbkIzQztBc0M5MW5CTTtFQUNFLHNDMEJ5Z0JxRztBaEV3MW1CN0c7QXNDNzFuQk07RUFDSSxrQjBCb2dCMkg7QWhFNDFtQnJJO0FzQ3QybkJNO0VBQ0UsOEIwQjBnQjZGO0FoRSsxbUJyRztBc0NyMm5CTTtFQUNJLFUwQnFnQm1IO0FoRW0ybUI3SDtBc0M5Mm5CTTtFQUNFLHNDMEIrZ0I2RjtBaEVrMm1Cckc7QXNDNzJuQk07RUFDSSxrQjBCMGdCbUg7QWhFczJtQjdIO0FzQ3QzbkJNO0VBQ0UsOEIwQmdoQnFGO0FoRXkybUI3RjtBc0NyM25CTTtFQUNJLFUwQjJnQjJHO0FoRTYybUJySDtBc0M5M25CTTtFQUNFLFdoQitLOEI7QXRCa3RuQnRDO0FzQzczbkJNO0VBQ0ksY2hCNEtpQztBdEJvdG5CM0M7QXNDdDRuQk07RUFDRSxXaEIrSzhCO0F0QjB0bkJ0QztBc0NyNG5CTTtFQUNJLGNoQjRLaUM7QXRCNHRuQjNDO0FnRXoybUJBO0VBQ0UsYUFB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amtvQk07RUFDSSx5QmhCb0tzQjtBdEJnNm5CaEM7QXNDMWtvQk07RUFDRSw0QmhCQ0c7QXRCNGtvQlg7QXNDemtvQk07RUFDSSw0QmhCcUltQjtBdEJ1OG5CN0I7QXNDbGxvQk07RUFDRSx5QmhCQ0c7QXRCb2xvQlg7QXNDamxvQk07RUFDSSx5QmhCcUltQjtBdEIrOG5CN0I7QWdFMXltQkE7RUFDRSx5QjFDeG9CeUI7RTBDeW9CekIsYzFDbm9CNkI7RTBDb29CN0IsK0JBQUE7QWhFNnltQkY7QWdFM3ltQkE7RUFDRSx5QjFDNW9COEI7RTBDNm9COUIsYzFDdG9Ca0M7RTBDdW9CbEMsK0JBQUE7QWhFOHltQkY7QWdFenltQkE7O0VBRUUsMkIxQzV6QlM7RTBDNnpCVCwyQkFBQTtBaEU0eW1CRjtBZ0UxeW1CQTs7RUFFRSwyQjFDdnJCMkI7RTBDd3JCM0IsMkJBQUE7QWhFNnltQkY7QWdFcnltQkE7RUFDRSxjQUFBO0VBQ0EsU0FBQTtBaEV3eW1CRjtBZ0V0eW1CQTtFQUlFLDZCQUFBO0VBR0EsWUN0ekJnQjtBakUwbG9CbEI7QWdFNXhtQkE7RUFDRSxjMUMvcUJ5QztBdEI4OG5CM0M7QXNDaG9vQk07RUFDRSxjaEI4S3VCO0F0QnE5bkIvQjtBc0Mvbm9CTTtFQUNJLGNoQjJLMEI7QXRCdTluQnBDO0FzQ3hvb0JNO0VBQ0UsV2hCK0s4QjtBdEI0OW5CdEM7QXNDdm9vQk07RUFDSSxjaEI0S2lDO0F0Qjg5bkIzQztBc0NocG9CTTtFQUNFLFdoQitLOEI7QXRCbytuQnRDO0FzQy9vb0JNO0VBQ0ksY2hCNEtpQztBdEJzK25CM0M7QXNDeHBvQk07RUFDRSx5QmhCdUxrQztBdEJvK25CMUM7QXNDdnBvQk07RUFDSSx5QmhCbUxxQztBdEJ1K25CL0M7QXNDaHFvQk07RUFDRSx5QmhCdUxrQztBdEI0K25CMUM7QXNDL3BvQk07RUFDSSx5QmhCbUxxQztBdEIrK25CL0M7QXNDeHFvQk07RUFDRSxXaEIrSzhCO0F0QjQvbkJ0QztBc0N2cW9CTTtFQUNJLGNoQjRLaUM7QXRCOC9uQjNDO0FzQ2hyb0JNO0VBQ0UsY2hCOEt1QjtBdEJxZ29CL0I7QXNDL3FvQk07RUFDSSxjaEIySzBCO0F0QnVnb0JwQztBc0N4cm9CTTtFQUNFLHlCaEJ1TGtDO0F0Qm9nb0IxQztBc0N2cm9CTTtFQUNJLHlCaEJtTHFDO0F0QnVnb0IvQztBc0Noc29CTTtFQUNFLHlCaEJ3S21CO0F0QjJob0IzQjtBc0Mvcm9CTTtFQUNJLHlCaEJvS3NCO0F0Qjhob0JoQztBc0N4c29CTTtFQUNFLDJCaEJDRztBdEIwc29CWDtBc0N2c29CTTtFQUNJLDJCaEJxSW1CO0F0QnFrb0I3QjtBZ0VqMG1CQTtFQUNFLG1EQUFBO0FoRW8wbUJGO0FzQ3B0b0JNO0VBQ0UsNEJoQkNHO0F0QnN0b0JYO0FzQ250b0JNO0VBQ0ksMEIwQmk1QjZHO0FoRXEwbUJ2SDtBc0M1dG9CTTtFQUNFLFdoQitLOEI7QXRCZ2pvQnRDO0FzQzN0b0JNO0VBQ0ksY2hCNEtpQztBdEJram9CM0M7QWdFcDBtQkE7RUFDRSxvQ0FBQTtBaEV1MG1CRjtBZ0VyMG1CQTtFQUNFLG9DQUFBO0FoRXcwbUJGO0FnRXAwbUJBOztFQUVFLG9DQUFBO0FoRXUwbUJGO0FnRXIwbUJBOztFQUVFLG9DQUFBO0FoRXcwbUJGO0FnRXp6bUJBOzs7O0VBSUUsd0NBQUE7QWhFNHptQkY7QWdFcnptQkE7O0VBRUUsb0NBQUE7QWhFd3ptQkY7QWdFdHptQkE7O0VBRUUsb0NBQUE7QWhFeXptQkY7QWdFL3ltQkE7RUFDRSxjMUMxeUI2QjtBdEI0bG9CL0I7QWdFaHptQkE7O0VBRUUsVzFDN3lCb0M7QXRCZ21vQnRDO0FnRWp6bUJBO0VBQ0UsYzFDL3lCa0M7QXRCbW1vQnBDO0FnRWx6bUJBOztFQUVFLGMxQ2x6QnlDO0F0QnVtb0IzQztBZ0U5eW1CQTs7RUFFRSxvQ0FBQTtBaEVpem1CRjtBZ0UveW1CQTs7RUFFRSxvQ0FBQTtBaEVrem1CRjtBZ0UveW1CQTs7RUFFRSxvQ0FBQTtBaEVrem1CRjtBZ0Voem1CQTs7RUFFRSxvQ0FBQTtBaEVtem1CRjtBZ0U5eW1CQTs7O0VBR0Usb0NBQUE7QWhFaXptQkY7QWdF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eW1CRTtFQUFnQixjMUNyakNrQjtBdEIrMW9CcEM7QWdFenltQkU7RUFBb0IseUIxQzlpQ3lCO0F0QjAxb0IvQztBZ0V0eW1CQTs7RUFFRSxvQ0FBQTtBaEV5eW1CRjtBZ0V2eW1CQTs7RUFFRSxvQ0FBQTtBaEUweW1CRjtBZ0VyeW1CQTtFQUNFLGdDQUFBO0FoRXd5bUJGO0FnRXR5bUJBO0VBQ0UsZ0NBQUE7QWhFeXltQkY7QWdFcnltQkE7RUFDRSxvQ0FBQTtFQUNBLGdDQUFBO0VBQ0EsdVFBQUE7QWhFd3ltQkY7QWdFdHltQkE7RUFDRSxvQ0FBQTtFQUNBLGdDQUFBO0VBQ0EsdVFBQUE7QWhFeXltQkY7QXNDampwQk07RUFDRSxjaEI4S3VCO0F0QnM0b0IvQjtBc0NoanBCTTtFQUNJLGNoQjJLMEI7QXRCdzRvQnBDO0FzQ3pqcEJNO0VBQ0Usb0MwQml4Q3VHO0FoRTJ5bUIvRztBc0N4anBCTTtFQUNJLG9DMEI0d0NvSTtBaEUreW1COUk7QXNDamtwQk07RUFDRSxvQzBCa3hDZ0k7QWhFa3ptQnhJO0FzQ2hrcEJNO0VBQ0ksb0MwQjZ3QzZKO0FoRXN6bUJ2SztBc0N6a3BCTTtFQUNFLG9DMEJ3eENnSDtBaEVvem1CeEg7QXNDeGtwQk07RUFDSSxvQzBCbXhDNkk7QWhFd3ptQnZKO0FzQ2pscEJNO0VBQ0UsZ0QwQjZ4QzhHO0FoRXV6bUJ0SDtBc0NobHBCTTtFQUNJLGdEMEJ3eENvSjtBaEUyem1COUo7QXNDemxwQk07RUFDRSwyQjBCOHhDMEg7QWhFOHptQmxJO0FzQ3hscEJNO0VBQ0ksMkIwQnl4Q3lJO0FoRWswbUJuSjtBZ0U5em1CQTs7RUFFRSxvQ0FBQTtBaEVpMG1CRjtBZ0Uvem1CQTs7RUFFRSxvQ0FBQTtBaEVrMG1CRjtBZ0Uvem1CQTs7RUFFRSxvQ0FBQTtBaEVrMG1CRjtBZ0VoMG1CQTs7RUFFRSxvQ0FBQTtBaEVtMG1CRjtBZ0U1em1CQTtFQUNFLG9DQUFBO0VBS0EsMkJBQUE7RUFDQSxtRGpDdHZDc0I7QS9CaWpwQnhCO0FnRTF5bUJBO0VBQ0UsY0FBQTtFQUNBLHNCQUFBO0VBQ0Es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QUNFLGNBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0FoRXV0bUJKO0FnRXJ0bUJFO0VBQ0UsMEIxQzN0RFM7RTBDNHREVCxnQmpDOXNEcUI7RWlDK3NEckIsZ0JBQUE7QWhFdXRtQko7QWdFcnRtQkU7RUFDRSxjQUFBO0VBQ0EsMEIxQ2p1RFM7RTBDa3VEVCxnQmpDcHREcUI7RWlDcXREckIsa0NBQUE7QWhFdXRtQko7QWdFanRtQkU7RUFDRSxjMUNycURnQztBdEJ5M3BCcEM7QWdFbnRtQkk7RUFBVSx5QjFDOXBEaUM7QXRCbzNwQi9DO0FnRXJ0bUJJO0VBQXFCLHlCMUN2cURXO0F0QiszcEJwQztBZ0V0dG1CRTtFQUFnQyxnQzFDN3VEaEI7QXRCczhwQmxCO0FnRWx0bUJBO0VBQXlCLHdCQUFBO0FoRXN0bUJ6QjtBZ0VydG1CQTtFQUFzQix3QkFBQTtBaEV5dG1CdEI7QWdFdHRtQkE7OztFQUVlLHdCQUFBO0FoRTB0bUJmO0FnRXZ0bUJBO0VBQXlCLHdCQUFBO0FoRTJ0bUJ6QjtBZ0VudG1CQTtFQUNFLGdDMUN0d0RnQjtBdEI0OXBCbEI7QWdFcnRtQkU7RUFDRSwyQzFDM3ZEcUI7RTBDNHZEckIsK0IxQ253RG9CO0F0QjA5cEJ4QjtBZ0VydG1CRTtFQUFjLGNBQUE7QWhFd3RtQmhCO0FnRS9zbUJFO0VBQ0UsYzFDanREZ0M7QXRCbTZwQnBDO0FnRWp0bUJJO0VBQVcseUIxQzFzRGdDO0F0Qjg1cEIvQztBZ0VudG1CSTtFQUFxQix5QjFDbnREVztBdEJ5NnBCcEM7QWdFcHRtQkU7RUFBc0IseUIxQzV0RFE7QXRCbTdwQmhDO0FnRXR0bUJFO0VBQ0UsdUIxQzcwRG9CO0UwQzgwRHBCLHFCMUM5dkR5QjtFMEMrdkR6QixjMUN6dERnQztBdEJpN3BCcEM7QWdFdnRtQkk7RUFBaUIsK0JBQUE7QWhFMHRtQnJCO0FnRTF0bUJJO0VBQWlCLCtCQUFBO0FoRTB0bUJyQjtBZ0UxdG1CSTtFQUFpQiwrQkFBQTtBaEUwdG1CckI7QWdFcnRtQkE7O0VBRUUseUIxQ3h1RDhC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QUNBLHlCQUFBO0FoRWtwbUJKO0FnRWhwbUJJOzs7Ozs7RUFFRSx5QkFBQTtBaEVzcG1CTjtBZ0VucG1CRTs7O0VBR0Usb0NBQUE7RUFDQSx5QkFBQTtBaEVxcG1CSjtBZ0VocG1CQSxxQkFBQTtBMUJoMkVNO0VBQ0UsY2hCOEt1QjtBdEJzMHFCL0I7QXNDaC9xQk07RUFDSSxjaEIySzBCO0F0QncwcUJwQztBc0N6L3FCTTtFQUNFLHlCaEJDRztBdEIyL3FCWDtBc0N4L3FCTTtFQUNJLHlCaEJxSW1CO0F0QnMzcUI3QjtBc0NqZ3JCTTtFQUNFLHlCaEJDRztBdEJtZ3JCWDtBc0NoZ3JCTTtFQUNJLHlCaEJxSW1CO0F0QjgzcUI3QjtBc0N6Z3JCTTtFQUNFLHlCaEJDRztBdEIyZ3JCWDtBc0N4Z3JCTTtFQUNJLHlCaEJxSW1CO0F0QnM0cUI3QjtBc0NqaHJCTTtFQUNFLHlCaEJDRztBdEJtaHJCWDtBc0NoaHJCTTtFQUNJLHlCaEJxSW1CO0F0Qjg0cUI3QjtBc0N6aHJCTTtFQUNFLHVCaEJ5RFc7QXRCbStxQm5CO0FzQ3hockJNO0VBQ0ksdUJoQnFEYztBdEJzK3FCeEI7QXNDamlyQk07RUFDRSxxQmhCQ0c7QXRCbWlyQlg7QXNDaGlyQk07RUFDSSxxQmhCcUltQjtBdEI4NXFCN0I7QXNDemlyQk07RUFDRSwwQzBCMjNFbUc7QWhFaXJtQjNHO0FzQ3hpckJNO0VBQ0kseUMwQnMzRWlJO0FoRXFybUIzSTtBc0NqanJCTTtFQUNFLHlCaEJIRztBdEJ1anJCWDtBc0NoanJCTTtFQUNJLHlCaEJDQztBdEJranJCWDtBc0N6anJCTTtFQUNFLGNoQk1HO0F0QnNqckJYO0FzQ3hqckJNO0VBQ0ksY2hCSkM7QXRCK2pyQlg7QXNDamtyQk07RUFDRSxjMEJrNEVpRjtBaEVrc21CekY7QXNDaGtyQk07RUFDSSxjMEI2M0V3RjtBaEVzc21CbEc7QXNDemtyQk07RUFDRSxjMEJtNEVpRjtBaEV5c21CekY7QXNDeGtyQk07RUFDSSxjMEI4M0V3RjtBaEU2c21CbEc7QXNDamxyQk07RUFDRSxjaEJnRVE7QXRCb2hyQmhCO0FzQ2hsckJNO0VBQ0ksY2hCNERXO0F0QnVockJyQjtBc0N6bHJCTTtFQUNFLGNoQjhLdUI7QXRCODZxQi9CO0FzQ3hsckJNO0VBQ0ksY2hCMkswQjtBdEJnN3FCcEM7QWdFenRtQkEsYUFBQTtBMUJ4NEVNO0VBQ0UsY2hCK0hjO0F0QnMrcUJ0QjtBc0NqbXJCTTtFQUNJLGNoQmtZRztBdEJrdXFCYjtBc0MxbXJCTTtFQUNFLHlCaEJ3S21CO0F0QnE4cUIzQjtBc0N6bXJCTTtFQUNJLHlCaEJvS3NCO0F0Qnc4cUJoQztBc0NsbnJCTTtFQUNFLHlCMEIrNEU0RDtBaEVzdW1CcEU7QXNDam5yQk07RUFDSSx5QjBCMDRFMEY7QWhFMHVtQnBHO0FzQzFuckJNO0VBQ0UsY2hCOEZxQjtBdEIraHJCN0I7QXNDem5yQk07RUFDSSxjaEJ3RmM7QXRCb2lyQnhCO0FzQ2xvckJNO0VBQ0UseUJoQndLbUI7QXRCNjlxQjNCO0FzQ2pvckJNO0VBQ0kseUJoQm9Lc0I7QXRCZytxQmhDO0FzQzFvckJNO0VBQ0UseUIwQms1RXdEO0FoRTJ2bUJoRTtBc0N6b3JCTTtFQUNJLHlCMEI2NEVzRjtBaEUrdm1CaEc7QXNDbHByQk07RUFDRSxjaEJnRVE7QXRCcWxyQmhCO0FzQ2pwckJNO0VBQ0ksY2hCNERXO0F0QndsckJyQjtBc0MxcHJCTTtFQUNFLGNoQmdFUTtBdEI2bHJCaEI7QXNDenByQk07RUFDSSxjaEI0RFc7QXRCZ21yQnJCO0FzQ2xxckJNO0VBQ0UseUIwQnM1RThEO0FoRSt3bUJ0RTtBc0NqcXJCTTtFQUNJLHlCMEJpNUU0RjtBaEVteG1CdEc7QXNDMXFyQk07RUFDRSxnQjBCdTVFMEY7QWhFc3htQmxHO0FzQ3pxckJNO0VBQ0ksZ0IwQms1RThGO0FoRTB4bUJ4RztBc0NscnJCTTtFQUNFLHlCaEJtV2lCO0F0QmsxcUJ6QjtBc0NqcnJCTTtFQUNJLHlCaEIrVm9CO0F0QnExcUI5QjtBc0MxcnJCTTtFQUNFLGNoQitIYztBdEI4anJCdEI7QXNDenJyQk07RUFDSSxjaEIySGlCO0F0QmlrckIzQjtBc0Nsc3JCTTtFQUNFLHlCaEJ3S21CO0F0QjZockIzQjtBc0Nqc3JCTTtFQUNJLHlCaEJvS3NCO0F0QmdpckJoQztBc0Mxc3JCTTtFQUNFLHFCaEJDRztBdEI0c3JCWDtBc0N6c3JCTTtFQUNJLHFCaEJxSW1CO0F0QnVrckI3QjtBc0NsdHJCTTtFQUNFLGNoQjhLdUI7QXRCdWlyQi9CO0FzQ2p0ckJNO0VBQ0ksY2hCMkswQjtBdEJ5aXJCcEM7QWdFcnptQkEsZUFBQTtBMUJyNkVNO0VBQ0UseUJoQndLbUI7QXRCc2pyQjNCO0FzQzF0ckJNO0VBQ0kseUJoQm9Lc0I7QXRCeWpyQmhDO0FzQ251ckJNO0VBQ0UseUIwQnM2RTZFO0FoRWcwbUJyRjtBc0NsdXJCTTtFQUNJLHlCMEJpNkUyRztBaEVvMG1Cckg7QXNDM3VyQk07RUFDRSxjaEJxWUs7QXRCeTJxQmI7QXNDMXVyQk07RUFDSSxjaEJrWUc7QXRCMjJxQmI7QWdFejBtQkEscUJBQUE7QTFCMTZFTTtFQUNFLGNoQjRPbUI7QXRCMmdyQjNCO0FzQ252ckJNO0VBQ0ksY2hCd09zQjtBdEI4Z3JCaEM7QXNDNXZyQk07RUFDRSxjaEIyQ1k7QXRCb3RyQnBCO0FzQzN2ckJNO0VBQ0ksY2hCdUNlO0F0QnV0ckJ6QjtBc0Nwd3JCTTtFQUNFLGNoQm1QdUI7QXRCb2hyQi9CO0FzQ253ckJNO0VBQ0ksY2hCK08wQjtBdEJ1aHJCcEM7QXNDNXdyQk07RUFDRSxjaEJxUG9CO0F0QjBockI1QjtBc0Mzd3JCTTtFQUNJLGNoQmlQdUI7QXRCNmhyQmpDO0FzQ3B4ckJNO0VBQ0UsY2hCdVBzQjtBdEJnaXJCOUI7QXNDbnhyQk07RUFDSSxjaEJtUHlCO0F0Qm1pckJuQztBc0M1eHJCTTtFQUNFLGNoQjRQaUM7QXRCbWlyQnpDO0FzQzN4ckJNO0VBQ0ksY2hCd1BvQztBdEJzaXJCOUM7QXNDcHlyQk07RUFDRSxjaEJpUXFDO0F0QnNpckI3QztBc0NueXJCTTtFQUNJLGNoQjZQd0M7QXRCeWlyQmxEO0FzQzV5ckJNO0VBQ0UsY2hCK0hjO0F0QmdyckJ0QjtBc0MzeXJCTTtFQUNJLGNoQndPc0I7QXRCc2tyQmhDO0FzQ3B6ckJNO0VBQ0UseUJoQjRPbUI7QXRCMmtyQjNCO0FzQ256ckJNO0VBQ0kseUJoQndPc0I7QXRCOGtyQmhDO0FzQzV6ckJNO0VBQ0UseUJoQjJDWTtBdEJveHJCcEI7QXNDM3pyQk07RUFDSSx5QmhCdUNlO0F0QnV4ckJ6QjtBc0NwMHJCTTtFQUNFLHlCaEJtUHVCO0F0Qm9sckIvQjtBc0NuMHJCTTtFQUNJLHlCaEIrTzBCO0F0QnVsckJwQztBc0M1MHJCTTtFQUNFLHlCaEJxUG9CO0F0QjBsckI1QjtBc0MzMHJCTTtFQUNJLHlCaEJpUHVCO0F0QjZsckJqQztBc0NwMXJCTTtFQUNFLHlCaEJ1UHNCO0F0QmdtckI5QjtBc0NuMXJCTTtFQUNJLHlCaEJtUHlCO0F0Qm1tckJuQztBc0M1MXJCTTtFQUNFLHlCaEI0UGlDO0F0Qm1tckJ6QztBc0MzMXJCTTtFQUNJLHlCaEJ3UG9DO0F0QnNtckI5QztBc0NwMnJCTTtFQUNFLHlCaEJpUXFDO0F0QnNtckI3QztBc0NuMnJCTTtFQUNJLHlCaEI2UHdDO0F0QnltckJsRDtBc0M1MnJCTTtFQUNFLGNoQjhLdUI7QXRCaXNyQi9CO0FzQzMyckJNO0VBQ0ksY2hCMkswQjtBdEJtc3JCcEM7QXNDcDNyQk07RUFDRSxXaEIrSzhCO0F0QndzckJ0QztBc0NuM3JCTTtFQUNJLGNoQjRLaUM7QXRCMHNyQjNDO0FzQzUzckJNO0VBQ0UsV2hCK0s4QjtBdEJndHJCdEM7QXNDMzNyQk07RUFDSSxjaEI0S2lDO0F0Qmt0ckIzQztBc0NwNHJCTTtFQUNFLDRCaEJDRztBdEJzNHJCWDtBc0NuNHJCTTtFQUNJLDRCaEJxSW1CO0F0Qml3ckI3QjtBc0M1NHJCTTtFQUNFLHlCaEJDRztBdEI4NHJCWDtBc0MzNHJCTTtFQUNJLHlCaEJxSW1CO0F0Qnl3ckI3QjtBc0NwNXJCTTtFQUNFLG9DMEI4OEVxRTtBaEV5OG1CN0U7QXNDbjVyQk07RUFDSSxvQzBCeThFeUc7QWhFNjhtQm5IO0FzQzU1ckJNO0VBQ0Usb0MwQmcrRThGO0FoRSs3bUJ0RztBc0MzNXJCTTtFQUNJLG9DMEIyOUVnSDtBaEVtOG1CMUg7QXNDcDZyQk07RUFDRSxnQzBCaStFMEY7QWhFczhtQmxHO0FzQ242ckJNO0VBQ0ksZ0MwQjQ5RWdJO0FoRTA4bUIxSTtBc0M1NnJCTTtFQUNFLHdDMEJrK0V3RjtBaEU2OG1CaEc7QXNDMzZyQk07RUFDSSxtRDBCNjlFaUg7QWhFaTltQjNIO0FnRTc4bUJBO0VBQ0UsK0pBQUE7QWhFZzltQkY7QXNDeDdyQk07RUFDRSx3QzBCcS9Fb0c7QWhFczhtQjVHO0FzQ3Y3ckJNO0VBQ0ksbUQwQmcvRTZIO0FoRTA4bUJ2STtBZ0V6OG1CQTtFQUNFLG9DQUFBO0FoRTQ4bUJGO0FzQ3A4ckJNO0VBQ0UsMEMwQmdnRnNGO0FoRXU4bUI5RjtBc0NuOHJCTTtFQUNJLHFEMEIyL0VpSDtBaEUyOG1CM0g7QXNDNThyQk07RUFDRSxjaEI4S3VCO0F0Qml5ckIvQjtBc0MzOHJCTTtFQUNJLGNoQjJLMEI7QXRCbXlyQnBDO0FzQ3A5ckJNO0VBQ0UsV2hCK0s4QjtBdEJ3eXJCdEM7QXNDbjlyQk07RUFDSSxjaEI0S2lDO0F0QjB5ckIzQztBc0M1OXJCTTtFQUNFLFdoQitLOEI7QXRCZ3pyQnRDO0FzQzM5ckJNO0VBQ0ksY2hCNEtpQztBdEJrenJCM0M7QXNDcCtyQk07RUFDRSxjaEI4S3VCO0F0Qnl6ckIvQjtBc0NuK3JCTTtFQUNJLGNoQjJLMEI7QXRCMnpyQnBDO0FzQzUrckJNO0VBQ0UsV2hCK0s4QjtBdEJnMHJCdEM7QXNDMytyQk07RUFDSSxjaEI0S2lDO0F0QmswckIzQztBc0NwL3JCTTtFQUNFLFdoQitLOEI7QXRCdzByQnRDO0FzQ24vckJNO0VBQ0ksY2hCNEtpQztBdEIwMHJCM0M7QWdFaC9tQkEsMkJBQUE7QTFCNWdGTTtFQUNFLGNoQk9HO0F0QnkvckJYO0FzQzUvckJNO0VBQ0ksY2hCcUp5QjtBdEIwMnJCbkM7QXNDcmdzQk07RUFDRSx5QmhCV0k7QXRCNi9yQlo7QXNDcGdzQk07RUFDSSx5QmhCOEpvQztBdEJ5MnJCOUM7QXNDN2dzQk07RUFDRSx5QmhCWUk7QXRCb2dzQlo7QXNDNWdzQk07RUFDSSx5QmhCZ0t1QztBdEIrMnJCakQ7QWdFcGduQkE7OytFQUFBO0ExQmpoRk07RUFDRSw2QjBCbWhGcUo7QWhFd2duQjdKO0FzQ3Zoc0JNO0VBQ0ksNkIwQjhnRmdLO0FoRTRnbkIxSztBc0NoaXNCTTtFQUNFLDZCMEJvaEZvSztBaEUrZ25CNUs7QXNDL2hzQk07RUFDSSw2QjBCK2dGK0s7QWhFbWhuQnpMO0FzQ3hpc0JNO0VBQ0UseUJoQnVMa0M7QXRCbzNyQjFDO0FzQ3Zpc0JNO0VBQ0kseUJoQm1McUM7QXRCdTNyQi9DO0FzQ2hqc0JNO0VBQ0UseUJoQllJO0F0QnVpc0JaO0FzQy9pc0JNO0VBQ0kseUJoQnFMd0M7QXRCNjNyQmxEO0FnRS9obkJBLGNBQUE7QTFCemhGTTtFQUNFLGNoQitIYztBdEI2N3JCdEI7QXNDeGpzQk07RUFDSSxjaEIwWEU7QXRCaXNyQlo7QXNDamtzQk07RUFDRSxjaEIrSGM7QXRCcThyQnRCO0FzQ2hrc0JNO0VBQ0ksY2hCa1lHO0F0QmlzckJiO0FnRTVpbkJBLG1CQUFBO0ExQjdoRk07RUFDRSxjaEIrSGM7QXRCODhyQnRCO0FzQ3prc0JNO0VBQ0ksY2hCMFhFO0F0Qmt0ckJaO0FzQ2xsc0JNO0VBQ0UsY2hCK0hjO0F0QnM5ckJ0QjtBc0NqbHNCTTtFQUNJLGNoQjBYRTtBdEIwdHJCWjtBc0MxbHNCTTtFQUNFLGNoQitIYztBdEI4OXJCdEI7QXNDemxzQk07RUFDSSxjaEJrWUc7QXRCMHRyQmI7QWdFaGtuQkEsd0JBQUE7QTFCbGlGTTtFQUNFLGNoQnFZSztBdEJpdXJCYjtBc0NsbXNCTTtFQUNJLGNoQmtZRztBdEJtdXJCYjtBc0MzbXNCTTtFQUNFLHlCaEJ1WUs7QXRCdXVyQmI7QXNDMW1zQk07RUFDSSx5QmhCZ1lHO0F0QjZ1ckJiO0FnRXRrbkJBLG9CQUFBO0ExQjdpRk07RUFDRSx1QmhCOERhO0F0Qnlqc0JyQjtBc0NubnNCTTtFQUNJLHVCaEIwRGdCO0F0QjRqc0IxQjtBZ0U1a25CQSxlQUFBO0ExQmhqRk07RUFDRSx5QmhCNkZnQjtBdEJtaXNCeEI7QXNDNW5zQk07RUFDSSx5QmhCeUZtQjtBdEJzaXNCN0I7QXNDcm9zQk07RUFDRSxjaEJnRVE7QXRCd2tzQmhCO0FzQ3Bvc0JNO0VBQ0ksY2hCNERXO0F0QjJrc0JyQjtBZ0V6bG5CQSxxQkFBQTtBMUJwakZNO0VBQ0UsY2hCK0hjO0F0Qmtoc0J0QjtBc0M3b3NCTTtFQUNJLGNoQjJIaUI7QXRCcWhzQjNCO0FnRS9sbkJBLDBCQUFBO0ExQnZqRk07RUFDRSx5QmhCbUpvQjtBdEJ1Z3NCNUI7QXNDdHBzQk07RUFDSSx5QmhCK0l1QjtBdEIwZ3NCakM7QXNDL3BzQk07RUFDRSxjaEIrSGM7QXRCbWlzQnRCO0FzQzlwc0JNO0VBQ0ksY2hCMkhpQjtBdEJzaXNCM0I7QWdFNW1uQkEseUJBQUE7QTFCM2pGTTtFQUNFLHlCaEI2RmdCO0F0Qjhrc0J4QjtBc0N2cXNCTTtFQUNJLHlCaEJ5Rm1CO0F0Qmlsc0I3QjtBc0NocnNCTTtFQUNFLGNoQmdFUTtBdEJtbnNCaEI7QXNDL3FzQk07RUFDSSxjaEI0RFc7QXRCc25zQnJCO0FnRXpubkJBOzs7aURBQUE7QUFLQSxlQUFBO0ExQnBrRk07RUFDRSxrQjBCb2tGbUU7QWhFNG5uQjNFO0FzQzVyc0JNO0VBQ0ksc0MwQitqRnFFO0FoRWdvbkIvRTtBc0Nyc3NCTTtFQUNFLFUwQnFrRjJEO0FoRW1vbkJuRTtBc0Nwc3NCTTtFQUNJLDhCMEJna0Y2RDtBaEV1b25CdkU7QXNDN3NzQk07RUFDRSxjMEJza0Y2RDtBaEUwb25CckU7QXNDNXNzQk07RUFDSSwwQzBCaWtGK0Q7QWhFOG9uQnpFO0FnRTVvbkJBLHVCQUFBO0ExQnprRk07RUFDRSx5QmhCaVhvQjtBdEJ3MnJCNUI7QXNDcnRzQk07RUFDSSx5QmhCNld1QjtBdEIyMnJCakM7QWdFOW9uQkE7RUFDRSxvQ0FBQTtFQUtBLDJCQUFBO0VBQ0EsbURqQzdnRnNCO0EvQjBwc0J4QjtBZ0Vyb25CRTtFQUNFLHNDQUFBO0FoRXVvbkJKO0FnRXJvbkJFO0VBQ0Usc0NBQUE7QWhFdW9uQko7QWdFcG9uQkU7RUFDRSx5QkFBQTtBaEVzb25CSjtBZ0Vwb25CRTtFQUNFLG9DQUFBO0VBQ0Esc0JBQUE7QWhFc29uQko7QWdFbG9uQkU7RUFDRSxvQ0FBQTtFQUNBLHNCQUFBO0FoRW9vbkJKO0FnRWhvbkJFO0VBQ0UseUIxQzFtRlE7RTBDOG1GUixXMUMxOEVrQztFMEMyOEVsQyxxQjFDem5GTztBdEJ3dnNCWDtBZ0Uzbm5CQTtFQUNFLG9DQUFBO0VBT0Esd0NBQUE7RUFDQSxrRGpDN2pGc0I7QS9CcXJzQnhCO0FnRWxubkJFO0VBQ0Usc0NBQUE7QWhFb25uQko7QWdFbG5uQkU7RUFDRSxzQ0FBQTtBaEVvbm5CSjtBZ0Vqbm5CRTtFQUNFLHlCQUFBO0FoRW1ubkJKO0FnRWpubkJFO0VBQ0Usb0NBQUE7RUFDQSx5QkFBQTtBaEVtbm5CSjtBZ0Vobm5CRTtFQUNFLG9DQUFBO0VBQ0EseUJBQUE7QWhFa25uQko7QWdFMW1uQkU7RUFLRSx5QjFDbi9FMkM7RTBDby9FM0MsYzFDMy9FdUM7RTBDNC9FdkMscUIxQ25pRnlCO0F0QjJvc0I3QjtBc0N0eHNCTTtFQUNFLGMwQmdyRjZEO0FoRXltbkJyRTtBc0NyeHNCTTtFQUNJLGtDMEIycUYrRDtBaEU2bW5CekU7QXNDOXhzQk07RUFDRSxjaEIrSGM7QXRCa3FzQnRCO0FzQzd4c0JNO0VBQ0ksY2hCMkhpQjtBdEJxcXNCM0I7QXNDdHlzQk07RUFDRSx5QmhCMkNZO0F0Qjh2c0JwQjtBc0NyeXNCTTtFQUNJLHlCaEJ1Q2U7QXRCaXdzQnpCO0FzQzl5c0JNO0VBQ0UsWWhCOElhO0F0Qm1xc0JyQjtBc0M3eXNCTTtFQUNJLFloQjBJZ0I7QXRCc3FzQjFCO0FzQ3R6c0JNO0VBQ0UsWWhCOElhO0F0QjJxc0JyQjtBc0NyenNCTTtFQUNJLFloQjBJZ0I7QXRCOHFzQjFCO0FzQzl6c0JNO0VBQ0UseUJoQm9ScUI7QXRCNmlzQjdCO0FzQzd6c0JNO0VBQ0ksMkMwQmdyRjJQO0FoRWdwbkJyUTtBZ0U5b25CQSwrQkFBQTtBMUJ4ckZNO0VBQ0UseUJoQnNNa0I7QXRCb29zQjFCO0FzQ3Qwc0JNO0VBQ0kseUJoQmtNcUI7QXRCdW9zQi9CO0FnRWxwbkJBLGFBQUE7QTFCN3JGTTtFQUNFLHVCaEI4RGE7QXRCcXhzQnJCO0FzQy8wc0JNO0VBQ0ksdUJoQjBEZ0I7QXRCd3hzQjFCO0FzQ3gxc0JNO0VBQ0UsWWhCK0RrQjtBdEI0eHNCMUI7QXNDdjFzQk07RUFDSSxZaEJ5RFc7QXRCaXlzQnJCO0FzQ2gyc0JNO0VBQ0UsdUJoQjhEYTtBdEJxeXNCckI7QXNDLzFzQk07RUFDSSx1QmhCMERnQjtBdEJ3eXNCMUI7QWdFdHFuQkEsbUJBQUE7QTFCbHNGTTtFQUNFLGNoQmdFUTtBdEI0eXNCaEI7QXNDeDJzQk07RUFDSSxjaEI0RFc7QXRCK3lzQnJCO0FnRTNxbkJBLHdCQUFBO0ExQnRzRk07RUFDRSx5QmhCNkZnQjtBdEJ3eHNCeEI7QXNDajNzQk07RUFDSSx5QmhCeUZtQjtBdEIyeHNCN0I7QXNDMTNzQk07RUFDRSw0QmhCNkZnQjtBdEJneXNCeEI7QXNDejNzQk07RUFDSSw0QmhCeUZtQjtBdEJteXNCN0I7QXNDbDRzQk07RUFDRSwyQmhCdVlLO0F0QjgvckJiO0FzQ2o0c0JNO0VBQ0ksMkJoQmdZRztBdEJvZ3NCYjtBc0MxNHNCTTtFQUNFLHlCaEJ1WUs7QXRCc2dzQmI7QXNDejRzQk07RUFDSSx5QjBCb3NGNEY7QWhFd3NuQnRHO0FzQ2w1c0JNO0VBQ0UscUJoQjZGZ0I7QXRCd3pzQnhCO0FzQ2o1c0JNO0VBQ0kscUJoQnlGbUI7QXRCMnpzQjdCO0FzQzE1c0JNO0VBQ0UsMkJoQjZGZ0I7QXRCZzBzQnhCO0FzQ3o1c0JNO0VBQ0ksMkJoQnlGbUI7QXRCbTBzQjdCO0FzQ2w2c0JNO0VBQ0UseUJoQjZGZ0I7QXRCdzBzQnhCO0FzQ2o2c0JNO0VBQ0kseUJoQnlGbUI7QXRCMjBzQjdCO0FzQzE2c0JNO0VBQ0UsMkJoQnVZSztBdEJzaXNCYjtBc0N6NnNCTTtFQUNJLDJCaEJnWUc7QXRCNGlzQmI7QWdFbHVuQkEsZ0JBQUE7QTFCaHRGTTtFQUNFLHlCaEI2RmdCO0F0Qnkxc0J4QjtBc0NsN3NCTTtFQUNJLHlCaEJ5Rm1CO0F0QjQxc0I3QjtBc0MzN3NCTTtFQUNFLFUwQml0RjBGO0FoRTZ1bkJsRztBc0MxN3NCTTtFQUNJLGlCMEI0c0Y0RjtBaEVpdm5CdEc7QXNDbjhzQk07RUFDRSxjaEJnRVE7QXRCczRzQmhCO0FzQ2w4c0JNO0VBQ0ksY2hCNERXO0F0Qnk0c0JyQjtBc0MzOHNCTTtFQUNFLGNoQmdFUTtBdEI4NHNCaEI7QXNDMThzQk07RUFDSSxjaEI0RFc7QXRCaTVzQnJCO0FzQ245c0JNO0VBQ0UseUJoQjZGZ0I7QXRCeTNzQnhCO0FzQ2w5c0JNO0VBQ0kseUJoQnlGbUI7QXRCNDNzQjdCO0FnRXB3bkJBLGVBQUE7QTFCdnRGTTtFQUNFLGNoQjRPbUI7QXRCbXZzQjNCO0FzQzM5c0JNO0VBQ0ksY2hCd09zQjtBdEJzdnNCaEM7QWdFMXduQkEsb0JBQUE7QTFCMXRGTTtFQUNFLGNoQjJDWTtBdEI2N3NCcEI7QXNDcCtzQk07RUFDSSxjaEJ1Q2U7QXRCZzhzQnpCO0FnRWh4bkJBLGdCQUFBO0ExQjd0Rk07RUFDRSxjaEJtUHVCO0F0Qjh2c0IvQjtBc0M3K3NCTTtFQUNJLGNoQitPMEI7QXRCaXdzQnBDO0FnRXR4bkJBLDBCQUFBO0ExQmh1Rk07RUFDRSxtQmhCeURXO0F0Qmk4c0JuQjtBc0N0L3NCTTtFQUNJLG1CaEJxRGM7QXRCbzhzQnhCO0FnRTV4bkJBLG1CQUFBO0ExQm51Rk07RUFDRSxjaEJxUG9CO0F0Qjh3c0I1QjtBc0MvL3NCTTtFQUNJLGNoQmlQdUI7QXRCaXhzQmpDO0FnRWx5bkJBLGtCQUFBO0ExQnR1Rk07RUFDRSxjaEJ1UHNCO0F0QnF4c0I5QjtBc0N4Z3RCTTtFQUNJLGNoQm1QeUI7QXRCd3hzQm5DO0FnRXh5bkJBLDBCQUFBO0ExQnp1Rk07RUFDRSxjaEI0UGlDO0F0Qnl4c0J6QztBc0NqaHRCTTtFQUNJLGNoQndQb0M7QXRCNHhzQjlDO0FnRTl5bkJBLDhCQUFBO0ExQjV1Rk07RUFDRSxjaEJpUXFDO0F0QjZ4c0I3QztBc0MxaHRCTTtFQUNJLGNoQjZQd0M7QXRCZ3lzQmxEO0FnRXB6bkJBOzs7Ozs4RUFBQTtBQU9BLGtDQUFBO0ExQnR2Rk07RUFDRSx1QmhCOERhO0F0Qisrc0JyQjtBc0N6aXRCTTtFQUNJLHVCaEIwRGdCO0F0Qmsvc0IxQjtBc0NsanRCTTtFQUNFLHdFMEIwdkZvRztBaEUyem5CNUc7QXNDamp0Qk07RUFDSSxrRTBCcXZGb0w7QWhFK3puQjlMO0FzQzFqdEJNO0VBQ0UsNkUwQjh2RjJHO0FoRSt6bkJuSDtBc0N6anRCTTtFQUNJLHVFMEJ5dkYwTDtBaEVtMG5CcE07QXNDbGt0Qk07RUFDRSx1RTBCa3dGaUk7QWhFbTBuQnpJO0FzQ2prdEJNO0VBQ0ksaUUwQjZ2RmdOO0FoRXUwbkIxTjtBc0Mxa3RCTTtFQUNFLGdCaEJ1RWE7QXRCc2d0QnJCO0FzQ3prdEJNO0VBQ0ksZ0JoQm1FZ0I7QXRCeWd0QjFCO0FzQ2xsdEJNO0VBQ0UsdUJoQjhEYTtBdEJ1aHRCckI7QXNDamx0Qk07RUFDSSx1QmhCMERnQjtBdEIwaHRCMUI7QXNDMWx0Qk07RUFDRSx1QmhCOERhO0F0QitodEJyQjtBc0N6bHRCTTtFQUNJLHVCaEIwRGdCO0F0QmtpdEIxQjtBc0NsbXRCTTtFQUNFLHVCaEI4RGE7QXRCdWl0QnJCO0FzQ2ptdEJNO0VBQ0ksdUJoQjBEZ0I7QXRCMGl0QjFCO0FnRS8wbkJFOztFQUVFLHFDMUNwN0V1QjtFMENxN0V2Qix3QzFDcjdFdUI7QXRCdXdzQjNCO0FnRS8wbkJFOztFQUVFLHFDMUMxN0V1QjtFMEMyN0V2Qix3QzFDMzdFdUI7RTBDNDdFdkIsc0MxQzU3RXVCO0F0QjZ3c0IzQjtBZ0U5MG5CRTs7RUFFRSxxQzFDajhFdUI7RTBDazhFdkIsd0MxQ2w4RXVCO0UwQ204RXZCLHVDMUNuOEV1QjtBdEJteHNCM0I7QWdFajJuQkU7O0VBRUUscUMxQ3A3RXVCO0UwQ3E3RXZCLHdDMUNyN0V1QjtBdEJ5eHNCM0I7QWdFajJuQkU7O0VBRUUscUMxQzE3RXVCO0UwQzI3RXZCLHdDMUMzN0V1QjtFMEM0N0V2QixzQzFDNTdFdUI7QXRCK3hzQjNCO0FnRWgybkJFOztFQUVFLHFDMUNqOEV1QjtFMENrOEV2Qix3QzFDbDhFdUI7RTBDbThFdkIsdUMxQ244RXVCO0F0QnF5c0IzQjtBZ0VuM25CRTs7RUFFRSwyQ0E2Qm9DO0VBNUJwQyw4Q0E0Qm9DO0FoRXkxbkJ4QztBZ0VsM25CRTs7RUFFRSwyQ0F1Qm9DO0VBdEJwQyw4Q0FzQm9DO0VBckJwQyw0Q0FxQm9DO0FoRSsxbkJ4QztBZ0VqM25CRTs7RUFFRSwyQ0FnQm9DO0VBZnBDLDhDQWVvQztFQWRwQyw2Q0Fjb0M7QWhFcTJuQnhDO0FnRS8xbkJFOztFQUVFLHFDQUFBO0FoRWkybkJKO0FzQ25xdEJNO0VBQ0UsY2hCZ0VRO0F0QnNtdEJoQjtBc0NscXRCTTtFQUNJLGNoQjREVztBdEJ5bXRCckI7QXNDM3F0Qk07RUFDRSxjaEI4S3VCO0F0QmdndEIvQjtBc0MxcXRCTTtFQUNJLGNoQjJLMEI7QXRCa2d0QnBDO0FzQ25ydEJNO0VBQ0UsZ0JoQnVFYTtBdEIrbXRCckI7QXNDbHJ0Qk07RUFDSSxnQmhCbUVnQjtBdEJrbnRCMUI7QXNDM3J0Qk07RUFDRSx1QmhCOERhO0F0QmdvdEJyQjtBc0MxcnRCTTtFQUNJLHVCaEIwRGdCO0F0Qm1vdEIxQjtBc0Nuc3RCTTtFQUNFLHVCaEI4RGE7QXRCd290QnJCO0FzQ2xzdEJNO0VBQ0ksdUJoQjBEZ0I7QXRCMm90QjFCO0FnRXAzbkJFO0VBQ0UsYzFDenFGMkI7QXRCZ2l0Qi9CO0FnRXIzbkJJO0VBQXFCLGMxQ3p4RlQ7QXRCaXB0QmhCO0FnRXYzbkJJO0VBQVMsYzFDMXhGRztBdEJvcHRCaEI7QWdFcjNuQkk7RUFBOEIseUJBQUE7QWhFdzNuQmxDO0FnRWozbkJJOzs7O0VBR3dDLHlCQUFBO0FoRW8zbkI1QztBZ0VuM25CSTtFQUFnQyx5QkFBQTtBaEVzM25CcEM7QWdFOTJuQkE7RUFDRSx5QkFBQTtBaEVpM25CRjtBZ0V6Mm5CQTtFQUNFLHlCQUFBO0FoRTQybkJGO0FnRXoybkJBLG9DQUFBO0ExQmg0Rk07RUFDRSx5QmhCd0ttQjtBdEJxa3RCM0I7QXNDenV0Qk07RUFDSSx5QmhCb0tzQjtBdEJ3a3RCaEM7QXNDbHZ0Qk07RUFDRSxxQmhCQ0c7QXRCb3Z0Qlg7QXNDanZ0Qk07RUFDSSxxQmhCcUltQjtBdEIrbXRCN0I7QWdFdDNuQkEsZ0NBQUE7QTFCcDRGTTtFQUNFLG9CMEJvNEY2RztBaEUwM25Cckg7QXNDMXZ0Qk07RUFDSSxxQzBCKzNGK0c7QWhFODNuQnpIO0FnRTUzbkJBLHdCQUFBO0ExQnY0Rk07RUFDRSx5QkFBQTtBdEN1d3RCUjtBc0Nud3RCTTtFQUNJLHlCaEIrRlk7QXRCdXF0QnRCO0FzQzV3dEJNO0VBQ0UseUJoQjJDWTtBdEJvdXRCcEI7QXNDM3d0Qk07RUFDSSx5QmhCdUNlO0F0QnV1dEJ6QjtBc0NweHRCTTtFQUNFLHVCaEJ5RFc7QXRCOHR0Qm5CO0FzQ254dEJNO0VBQ0ksdUJoQnFEYztBdEJpdXRCeEI7QXNDNXh0Qk07RUFDRSx5QkFBQTtBdEMreHRCUjtBc0MzeHRCTTtFQUNJLHlCaEIrRlk7QXRCK3J0QnRCO0FzQ3B5dEJNO0VBQ0UsY2hCS0c7QXRCa3l0Qlg7QXNDbnl0Qk07RUFDSSxjaEIySzBCO0F0QjJudEJwQztBc0M1eXRCTTtFQUNFLGNoQktHO0F0QjB5dEJYO0FzQzN5dEJNO0VBQ0ksY2hCMkswQjtBdEJtb3RCcEM7QXNDcHp0Qk07RUFDRSxjaEI4Q2U7QXRCeXd0QnZCO0FzQ256dEJNO0VBQ0ksY2hCMENrQjtBdEI0d3RCNUI7QXNDNXp0Qk07RUFDRSxjaEJ3VmdCO0F0QnUrc0J4QjtBc0MzenRCTTtFQUNJLGNoQm9Wa0I7QXRCMCtzQjVCO0FzQ3AwdEJNO0VBQ0UsY2hCMkNZO0F0QjR4dEJwQjtBc0NuMHRCTTtFQUNJLGNoQnVDZTtBdEIreHRCekI7QXNDNTB0Qk07RUFDRSxjaEIyQ1k7QXRCb3l0QnBCO0FzQzMwdEJNO0VBQ0ksY2hCdUNlO0F0QnV5dEJ6QjtBc0NwMXRCTTtFQUNFLGNoQjhDZTtBdEJ5eXRCdkI7QXNDbjF0Qk07RUFDSSxjaEIwQ2tCO0F0QjR5dEI1QjtBc0M1MXRCTTtFQUNFLGNoQmdEZTtBdEIreXRCdkI7QXNDMzF0Qk07RUFDSSxjaEI0Q2tCO0F0Qmt6dEI1QjtBc0NwMnRCTTtFQUNFLGNoQjhDZTtBdEJ5enRCdkI7QXNDbjJ0Qk07RUFDSSxjaEIwQ2tCO0F0QjR6dEI1QjtBc0M1MnRCTTtFQUNFLGNoQjhDZTtBdEJpMHRCdkI7QXNDMzJ0Qk07RUFDSSxjaEIwQ2tCO0F0Qm8wdEI1QjtBc0NwM3RCTTtFQUNFLHlCaEI2RmdCO0F0QjB4dEJ4QjtBc0NuM3RCTTtFQUNJLHlCaEJ5Rm1CO0F0QjZ4dEI3QjtBc0M1M3RCTTtFQUNFLGNoQmdEZTtBdEIrMHRCdkI7QXNDMzN0Qk07RUFDSSxjaEI0Q2tCO0F0QmsxdEI1QjtBZ0VwK25CQSxvQkFBQTtBMUJoNkZNO0VBQ0UsY2hCMkNZO0F0QjYxdEJwQjtBc0NwNHRCTTtFQUNJLGNoQnVDZTtBdEJnMnRCekI7QXNDNzR0Qk07RUFDRSxjaEJ3VmdCO0F0QndqdEJ4QjtBc0M1NHRCTTtFQUNJLGNoQm9Wa0I7QXRCMmp0QjVCO0FnRS8rbkJBLGtDQUFBO0ExQnQ2Rk07RUFDRSx5QmhCdVlLO0F0QmtodEJiO0FzQ3I1dEJNO0VBQ0kseUJoQmdZRztBdEJ3aHRCYjtBZ0VyL25CQSwyQkFBQTtBMUJ6NkZNO0VBQ0UsY2hCZ0VRO0F0QmsydEJoQjtBc0M5NXRCTTtFQUNJLGNoQjREVztBdEJxMnRCckI7QWdFMy9uQkEsMEJBQUE7QTFCNTZGTTtFQUNFLHVCaEI4RGE7QXRCNjJ0QnJCO0FzQ3Y2dEJNO0VBQ0ksdUJoQjBEZ0I7QXRCZzN0QjFCO0FnRWpnb0JBLGtDQUFBO0ExQi82Rk07RUFDRSx1QmhCOERhO0F0QnMzdEJyQjtBc0NoN3RCTTtFQUNJLHVCaEIwRGdCO0F0QnkzdEIxQjtBc0N6N3RCTTtFQUNFLG9DMEJnN0ZrSDtBaEU0Z29CMUg7QXNDeDd0Qk07RUFDSSxvQzBCMjZGZ0o7QWhFZ2hvQjFKO0FzQ2o4dEJNO0VBQ0Usb0MwQmk3RmtIO0FoRW1ob0IxSDtBc0NoOHRCTTtFQUNJLG9DMEI0NkZnSjtBaEV1aG9CMUo7QXNDejh0Qk07RUFDRSwwQmhCa0VhO0F0QjA0dEJyQjtBc0N4OHRCTTtFQUNJLGdCaEI4RGdCO0F0QjY0dEIxQjtBZ0U1aG9CQSx3QkFBQTtBMUJyN0ZNO0VBQ0UsY2hCZ0VRO0F0QnE1dEJoQjtBc0NqOXRCTTtFQUNJLGNoQjREVztBdEJ3NXRCckI7QXNDMTl0Qk07RUFDRSx1QjBCczdGaUY7QWhFdWlvQnpGO0FzQ3o5dEJNO0VBQ0ksdUIwQmk3RmdHO0FoRTJpb0IxRztBc0NsK3RCTTtFQUNFLHVCMEJ1N0Y2RTtBaEU4aW9CckY7QXNDait0Qk07RUFDSSx1QjBCazdGNEY7QWhFa2pvQnRHO0FzQzErdEJNO0VBQ0UsdUIwQnc3RjBFO0FoRXFqb0JsRjtBc0N6K3RCTTtFQUNJLHVCMEJtN0Z5RjtBaEV5am9Cbkc7QXNDbC90Qk07RUFDRSxjaEJnRVE7QXRCcTd0QmhCO0FzQ2ovdEJNO0VBQ0ksY2hCNERXO0F0Qnc3dEJyQjtBc0MxL3RCTTtFQUNFLGNoQmdFUTtBdEI2N3RCaEI7QXNDei90Qk07RUFDSSxjaEI0RFc7QXRCZzh0QnJCO0FnRW5rb0JBLDhCQUFBO0ExQi83Rk07RUFDRSxjMEIrN0YrRjtBaEV1a29Cdkc7QXNDbGd1Qk07RUFDSSxrQzBCMDdGaUc7QWhFMmtvQjNHO0FnRXprb0JBLHFDQUFBO0ExQmw4Rk07RUFDRSxjMEJrOEZzRztBaEU2a29COUc7QXNDM2d1Qk07RUFDSSxrQzBCNjdGd0c7QWhFaWxvQmxIO0FnRS9rb0JBLHNCQUFBO0ExQnI4Rk07RUFDRSxjaEJnRVE7QXRCdzl0QmhCO0FzQ3BodUJNO0VBQ0ksY2hCNERXO0F0QjI5dEJyQjtBc0M3aHVCTTtFQUNFLFMwQnM4RjhFO0FoRTBsb0J0RjtBc0M1aHVCTTtFQUNJLGNoQjREVztBdEJtK3RCckI7QXNDcml1Qk07RUFDRSxvQjBCdThGbUY7QWhFaW1vQjNGO0FzQ3BpdUJNO0VBQ0kseUJoQmlXMkI7QXRCc3N0QnJDO0FzQzdpdUJNO0VBQ0Usb0IwQnc4RitHO0FoRXdtb0J2SDtBc0M1aXVCTTtFQUNJLHlCaEJ5Rm1CO0F0QnM5dEI3QjtBc0NyanVCTTtFQUNFLG9DMEJ5OEZvSDtBaEUrbW9CNUg7QXNDcGp1Qk07RUFDSSwwQzBCbzhGa0k7QWhFbW5vQjVJO0FzQzdqdUJNO0VBQ0Usb0MwQjA4Rm9LO0FoRXNub0I1SztBc0M1anVCTTtFQUNJLDBDMEJxOEZrTDtBaEUwbm9CNUw7QWdFeG5vQkEsc0JBQUE7QTFCNzhGTTtFQUNFLFMwQm85RjhGO0FoRXFub0J0RztBc0Nya3VCTTtFQUNJLGdDMEIrOEZnRztBaEV5bm9CMUc7QXNDOWt1Qk07RUFDRSxTMEJxOUZvRztBaEU0bm9CNUc7QXNDN2t1Qk07RUFDSSxnQzBCZzlGc0c7QWhFZ29vQmhIO0FnRTlub0JBLDJCQUFBO0ExQng5Rk07RUFDRSx5QmhCNkZnQjtBdEI2L3RCeEI7QXNDdGx1Qk07RUFDSSx5QmhCeUZtQjtBdEJnZ3VCN0I7QXNDL2x1Qk07RUFDRSxjaEIyQ1k7QXRCdWp1QnBCO0FzQzlsdUJNO0VBQ0ksY2hCdUNlO0F0QjBqdUJ6QjtBZ0Uzb29CQSx3QkFBQTtBMUI1OUZNO0VBQ0UseUJoQjZGZ0I7QXRCOGd1QnhCO0FzQ3ZtdUJNO0VBQ0kseUJoQnlGbUI7QXRCaWh1QjdCO0FzQ2hudUJNO0VBQ0UscUJoQkNHO0F0QmtudUJYO0FzQy9tdUJNO0VBQ0kscUJoQnFJbUI7QXRCNit0QjdCO0FzQ3hudUJNO0VBQ0UsYWhCZ0VRO0F0QjJqdUJoQjtBc0N2bnVCTTtFQUNJLGFoQjREVztBdEI4anVCckI7QXNDaG91Qk07RUFDRSxjaEJnRVE7QXRCbWt1QmhCO0FzQy9udUJNO0VBQ0ksY2hCNERXO0F0QnNrdUJyQjtBc0N4b3VCTTtFQUNFLGNoQmdFUTtBdEIya3VCaEI7QXNDdm91Qk07RUFDSSxjaEI0RFc7QXRCOGt1QnJCO0FzQ2hwdUJNO0VBQ0UsaUJoQjZmVztBdEJzcHRCbkI7QXNDL291Qk07RUFDSSxpQmhCeWZjO0F0QnlwdEJ4QjtBc0N4cHVCTTtFQUNFLGNoQmdFUTtBdEIybHVCaEI7QXNDdnB1Qk07RUFDSSxjaEI0RFc7QXRCOGx1QnJCO0FnRTFyb0JBLDJCQUFBO0ExQnQrRk07RUFDRSxhaEJnRVE7QXRCb211QmhCO0FzQ2hxdUJNO0VBQ0ksYWhCNERXO0F0QnVtdUJyQjtBc0N6cXVCTTtFQUNFLGNoQmdFUTtBdEI0bXVCaEI7QXNDeHF1Qk07RUFDSSxjaEI0RFc7QXRCK211QnJCO0FzQ2pydUJNO0VBQ0UseUJoQjZGZ0I7QXRCdWx1QnhCO0FzQ2hydUJNO0VBQ0kseUJoQnlGbUI7QXRCMGx1QjdCO0FzQ3pydUJNO0VBQ0Usd0MwQnkrRnFGO0FoRW10b0I3RjtBc0N4cnVCTTtFQUNJLHdDMEJvK0YyRztBaEV1dG9Cckg7QXNDanN1Qk07RUFDRSxrQzBCMCtGK0U7QWhFMHRvQnZGO0FzQ2hzdUJNO0VBQ0ksa0MwQnErRnFHO0FoRTh0b0IvRztBc0N6c3VCTTtFQUNFLHdDMEIyK0ZvRztBaEVpdW9CNUc7QXNDeHN1Qk07RUFDSSx3QzBCcytGMEg7QWhFcXVvQnBJO0FzQ2p0dUJNO0VBQ0Usa0MwQjQrRjhGO0FoRXd1b0J0RztBc0NodHVCTTtFQUNJLGtDMEJ1K0ZvSDtBaEU0dW9COUg7QXNDenR1Qk07RUFDRSw0QjBCNitGd0Y7QWhFK3VvQmhHO0FzQ3h0dUJNO0VBQ0ksNEIwQncrRjhHO0FoRW12b0J4SDtBZ0Vqdm9CQSxxQkFBQTtBMUJoL0ZNO0VBQ0UsY2hCZ0VRO0F0QnFxdUJoQjtBc0NqdXVCTTtFQUNJLGNoQjREVztBdEJ3cXVCckI7QXNDMXV1Qk07RUFDRSx5QmhCMkNZO0F0QmtzdUJwQjtBc0N6dXVCTTtFQUNJLHlCaEJ1Q2U7QXRCcXN1QnpCO0FzQ2x2dUJNO0VBQ0UsYWhCMkNZO0F0QjBzdUJwQjtBc0NqdnVCTTtFQUNJLGFoQnVDZTtBdEI2c3VCekI7QWdFcndvQkEsd0JBQUE7QTFCci9GTTtFQUNFLGNoQjJDWTtBdEJtdHVCcEI7QXNDMXZ1Qk07RUFDSSxjaEJ1Q2U7QXRCc3R1QnpCO0FzQ253dUJNO0VBQ0UseUIwQnMvRnVGO0FoRWd4b0IvRjtBc0Nsd3VCTTtFQUNJLHlCMEJpL0ZzSDtBaEVveG9CaEk7QXNDM3d1Qk07RUFDRSxxQmhCK0hjO0F0QitvdUJ0QjtBc0Mxd3VCTTtFQUNJLHFCaEIySGlCO0F0QmtwdUIzQjtBZ0V6eG9CQSxxQkFBQTtBMUIxL0ZNO0VBQ0UsdUJoQjhEYTtBdEJ5dHVCckI7QXNDbnh1Qk07RUFDSSx1QmhCMERnQjtBdEI0dHVCMUI7QXNDNXh1Qk07RUFDRSxxQzBCMi9GdUQ7QWhFb3lvQi9EO0FzQzN4dUJNO0VBQ0ksMEMwQnMvRitGO0FoRXd5b0J6RztBc0NweXVCTTtFQUNFLGNoQmdFUTtBdEJ1dXVCaEI7QXNDbnl1Qk07RUFDSSxjaEI0RFc7QXRCMHV1QnJCO0FnRTd5b0JBLHVCQUFBO0ExQi8vRk07RUFDRSx5QmhCNkZnQjtBdEJtdHVCeEI7QXNDNXl1Qk07RUFDSSx5QmhCeUZtQjtBdEJzdHVCN0I7QXNDcnp1Qk07RUFDRSxZaEIrRGtCO0F0Qnl2dUIxQjtBc0NwenVCTTtFQUNJLFloQnlEVztBdEI4dnVCckI7QXNDN3p1Qk07RUFDRSx5QmhCNkZnQjtBdEJtdXVCeEI7QXNDNXp1Qk07RUFDSSx5QmhCeUZtQjtBdEJzdXVCN0I7QXNDcjB1Qk07RUFDRSxZaEIrRGtCO0F0Qnl3dUIxQjtBc0NwMHVCTTtFQUNJLFloQnlEVztBdEI4d3VCckI7QXNDNzB1Qk07RUFDRSxZaEIrRGtCO0F0Qml4dUIxQjtBc0M1MHVCTTtFQUNJLFloQnlEVztBdEJzeHVCckI7QXNDcjF1Qk07RUFDRSxZaEIrRGtCO0F0Qnl4dUIxQjtBc0NwMXVCTTtFQUNJLFloQnlEVztBdEI4eHVCckI7QWdFdDFvQkEsOEJBQUE7QTFCdmdHTTtFQUNFLHlCaEI2RmdCO0F0Qm93dUJ4QjtBc0M3MXVCTTtFQUNJLHlCaEJ5Rm1CO0F0QnV3dUI3QjtBc0N0MnVCTTtFQUNFLFloQitEa0I7QXRCMHl1QjFCO0FzQ3IydUJNO0VBQ0ksWWhCeURXO0F0Qit5dUJyQjtBZ0VuMm9CQTs7O3FEQUFBO0FBSUEsMkJBQUE7QTFCL2dHTTtFQUNFLG1CaEI2RmdCO0F0Qnl4dUJ4QjtBc0NsM3VCTTtFQUNJLG1CaEJ5Rm1CO0F0QjR4dUI3QjtBc0MzM3VCTTtFQUNFLGtDMEJnaEcrRTtBaEU4Mm9CdkY7QXNDMTN1Qk07RUFDSSxrQzBCMmdHcUc7QWhFazNvQi9HO0FzQ240dUJNO0VBQ0Usd0MwQmloR3FGO0FoRXEzb0I3RjtBc0NsNHVCTTtFQUNJLHdDMEI0Z0cyRztBaEV5M29Cckg7QXNDMzR1Qk07RUFDRSxrQzBCa2hHOEY7QWhFNDNvQnRHO0FzQzE0dUJNO0VBQ0ksa0MwQjZnR29IO0FoRWc0b0I5SDtBc0NuNXVCTTtFQUNFLHdDMEJtaEdvRztBaEVtNG9CNUc7QXNDbDV1Qk07RUFDSSx3QzBCOGdHMEg7QWhFdTRvQnBJO0FzQzM1dUJNO0VBQ0UsNEIwQm9oR3dGO0FoRTA0b0JoRztBc0MxNXVCTTtFQUNJLDRCMEIrZ0c4RztBaEU4NG9CeEg7QXNDbjZ1Qk07RUFDRSxjaEJrWUk7QXRCb2l1Qlo7QXNDbDZ1Qk07RUFDSSxjaEI0RFc7QXRCeTJ1QnJCO0FzQzM2dUJNO0VBQ0UseUIwQnNoR21IO0FoRXc1b0IzSDtBc0MxNnVCTTtFQUNJLHlCMEJpaEc0STtBaEU0NW9CdEo7QXNDbjd1Qk07RUFDRSx3QjBCdWhHa0g7QWhFKzVvQjFIO0FzQ2w3dUJNO0VBQ0ksd0IwQmtoRzJJO0FoRW02b0JySjtBc0MzN3VCTTtFQUNFLGFoQmdFUTtBdEI4M3VCaEI7QXNDMTd1Qk07RUFDSSxhaEI0RFc7QXRCaTR1QnJCO0FzQ244dUJNO0VBQ0UsYWhCZ0VRO0F0QnM0dUJoQjtBc0NsOHVCTTtFQUNJLGFoQjREVztBdEJ5NHVCckI7QXNDMzh1Qk07RUFDRSxhaEJnRVE7QXRCODR1QmhCO0FzQzE4dUJNO0VBQ0ksYWhCNERXO0F0Qmk1dUJyQjtBc0NuOXVCTTtFQUNFLGFoQmdFUTtBdEJzNXVCaEI7QXNDbDl1Qk07RUFDSSxhaEI0RFc7QXRCeTV1QnJCO0FzQzM5dUJNO0VBQ0UsYWhCZ0VRO0F0Qjg1dUJoQjtBc0MxOXVCTTtFQUNJLGFoQjREVztBdEJpNnVCckI7QXNDbit1Qk07RUFDRSxhaEJnRVE7QXRCczZ1QmhCO0FzQ2wrdUJNO0VBQ0ksYWhCNERXO0F0Qnk2dUJyQjtBc0MzK3VCTTtFQUNFLGFoQmdFUTtBdEI4NnVCaEI7QXNDMSt1Qk07RUFDSSxhaEI0RFc7QXRCaTd1QnJCO0FzQ24vdUJNO0VBQ0UsZWhCZ0VRO0F0QnM3dUJoQjtBc0NsL3VCTTtFQUNJLGVoQjREVztBdEJ5N3VCckI7QWdFejlvQkEseUJBQUE7QTFCbGlHTTtFQUNFLGNoQmdFUTtBdEIrN3VCaEI7QXNDMy91Qk07RUFDSSxjaEI0RFc7QXRCazh1QnJCO0FnRS85b0JBLHdDQUFBO0ExQnJpR007RUFDRSxjaEJnRVE7QXRCdzh1QmhCO0FzQ3BndkJNO0VBQ0ksY2hCNERXO0F0QjI4dUJyQjtBZ0VyK29CQSwyQkFBQTtBMUJ4aUdNO0VBQ0UseUJoQjZGZ0I7QXRCbzd1QnhCO0FzQzdndkJNO0VBQ0kseUJoQnlGbUI7QXRCdTd1QjdCO0FzQ3RodkJNO0VBQ0UsY2hCZ0VRO0F0Qnk5dUJoQjtBc0NyaHZCTTtFQUNJLGNoQjREVztBdEI0OXVCckI7QWdFbC9vQkEsaUNBQUE7QTFCNWlHTTtFQUNFLDZCMEJnakc4RjtBaEVrL29CdEc7QXNDOWh2Qk07RUFDSSw2QjBCMmlHeUc7QWhFcy9vQm5IO0FzQ3ZpdkJNO0VBQ0UseUJoQndLbUI7QXRCazR1QjNCO0FzQ3RpdkJNO0VBQ0kseUJoQm9Lc0I7QXRCcTR1QmhDO0FzQy9pdkJNO0VBQ0UseUJoQndLbUI7QXRCMDR1QjNCO0FzQzlpdkJNO0VBQ0kseUJoQm9Lc0I7QXRCNjR1QmhDO0FzQ3ZqdkJNO0VBQ0UseUJoQndLbUI7QXRCazV1QjNCO0FzQ3RqdkJNO0VBQ0kseUJoQm9Lc0I7QXRCcTV1QmhDO0FzQy9qdkJNO0VBQ0UseUJoQm1XaUI7QXRCK3R1QnpCO0FzQzlqdkJNO0VBQ0kseUJoQitWb0I7QXRCa3V1QjlCO0FzQ3ZrdkJNO0VBQ0UseUIwQjBqR3VGO0FoRWdocEIvRjtBc0N0a3ZCTTtFQUNJLHVCMEJxakcySDtBaEVvaHBCckk7QWdFbGhwQkE7Ozs7OztzREFBQTtBMUI3akdNO0VBQ0UseUJoQndLbUI7QXRCaTd1QjNCO0FzQ3JsdkJNO0VBQ0kseUJoQm9Lc0I7QXRCbzd1QmhDO0FzQzlsdkJNO0VBQ0UsNEJoQkNHO0F0QmdtdkJYO0FzQzdsdkJNO0VBQ0ksNEJoQnFJbUI7QXRCMjl1QjdCO0FzQ3RtdkJNO0VBQ0UsV2hCK0s4QjtBdEIwN3VCdEM7QXNDcm12Qk07RUFDSSxjaEI0S2lDO0F0QjQ3dUIzQztBc0M5bXZCTTtFQUNFLHlCaEJ3S21CO0F0Qnk4dUIzQjtBc0M3bXZCTTtFQUNJLHlCaEJvS3NCO0F0QjQ4dUJoQztBc0N0bnZCTTtFQUNFLHlCaEJDRztBdEJ3bnZCWDtBc0NybnZCTTtFQUNJLHlCaEJxSW1CO0F0Qm0vdUI3QjtBc0M5bnZCTTtFQUNFLGNoQjhLdUI7QXRCbTl1Qi9CO0FzQzdudkJNO0VBQ0ksY2hCMkswQjtBdEJxOXVCcEM7QXNDdG92Qk07RUFDRSxXaEIrSzhCO0F0QjA5dUJ0QztBc0Nyb3ZCTTtFQUNJLGNoQjRLaUM7QXRCNDl1QjNDO0FzQzlvdkJNO0VBQ0Usc0JoQitLOEI7QXRCayt1QnRDO0FzQzdvdkJNO0VBQ0kseUJoQjRLaUM7QXRCbyt1QjNDO0FzQ3RwdkJNO0VBQ0UseUJoQndLbUI7QXRCaS91QjNCO0FzQ3JwdkJNO0VBQ0kseUJoQm9Lc0I7QXRCby91QmhDO0FzQzlwdkJNO0VBQ0UsV2hCK0s4QjtBdEJrL3VCdEM7QXNDN3B2Qk07RUFDSSxjaEI0S2lDO0F0Qm8vdUIzQztBc0N0cXZCTTtFQUNFLGNoQjhLdUI7QXRCMi91Qi9CO0FzQ3JxdkJNO0VBQ0ksY2hCMkswQjtBdEI2L3VCcEM7QXNDOXF2Qk07RUFDRSxjaEI4S3VCO0F0Qm1ndkIvQjtBc0M3cXZCTTtFQUNJLGNoQjJLMEI7QXRCcWd2QnBDO0FzQ3RydkJNO0VBQ0UseUJoQnVMa0M7QXRCa2d2QjFDO0FzQ3JydkJNO0VBQ0kseUJoQm1McUM7QXRCcWd2Qi9DO0FzQzlydkJNO0VBQ0UsV2hCK0s4QjtBdEJraHZCdEM7QXNDN3J2Qk07RUFDSSxjaEI0S2lDO0F0Qm9odkIzQztBc0N0c3ZCTTtFQUNFLHlCaEJ1TGtDO0F0QmtodkIxQztBc0Nyc3ZCTTtFQUNJLHlCaEJtTHFDO0F0QnFodkIvQztBZ0V4bnBCQSxzQkFBQTtBMUJ0bEdNO0VBQ0UsMEIwQndsR3NFO0FoRTBucEI5RTtBc0M5c3ZCTTtFQUNJLGdDMEJtbEd5RjtBaEU4bnBCbkc7QXNDdnR2Qk07RUFDRSxpQzBCeWxHbUY7QWhFaW9wQjNGO0FzQ3R0dkJNO0VBQ0ksdUMwQm9sR3NHO0FoRXFvcEJoSDtBc0MvdHZCTTtFQUNFLDBCMEIwbEdzRTtBaEV3b3BCOUU7QXNDOXR2Qk07RUFDSSxnQzBCcWxHeUY7QWhFNG9wQm5HO0FzQ3Z1dkJNO0VBQ0UsV2hCK0s4QjtBdEIyanZCdEM7QXNDdHV2Qk07RUFDSSxjaEI0S2lDO0F0QjZqdkIzQztBc0MvdXZCTTtFQUNFLHlCaEJDRztBdEJpdnZCWDtBc0M5dXZCTTtFQUNJLHlCMEJnbkdSO0FoRWlvcEJGO0FnRXJucEJBO0VBQXNGLHlCQUFBO0FoRXlucEJ0RjtBZ0V4bnBCQTtFQUFzRix5QkFBQTtBaEU0bnBCdEY7QWdFMW5wQkE7RUFBd0cseUJBQUE7QWhFOG5wQnhHO0FnRTducEJBO0VBQXdHLHlCQUFBO0FoRWlvcEJ4RztBZ0UvbnBCQTtFQUErRyx5QkFBQTtBaEVtb3BCL0c7QWdFbG9wQkE7RUFBK0cseUJBQUE7QWhFc29wQi9HO0FnRXBvcEJBO0VBQW1ILHlCQUFBO0FoRXdvcEJuSDtBZ0V2b3BCQTtFQUFtSCx5QkFBQTtBaEUyb3BCbkg7QWdFem9wQkE7RUFBa0cseUJBQUE7QWhFNm9wQmxHO0FnRTVvcEJBO0VBQWtHLHlCQUFBO0FoRWdwcEJsRztBZ0U5b3BCQTtFQUF1Ryx5QkFBQTtBaEVrcHBCdkc7QWdFanBwQkE7RUFBdUcseUJBQUE7QWhFcXBwQnZHO0FnRXpvcEJBO0VBQ0Usb0NBQUE7RUFDQSw4REFBQTtFQUNBLDJCQUFBO0VBSUEsd0JBQUE7RUFDQSx1QkFBQTtBaEV5b3BCRjtBZ0V0b3BCQTtFQUNFLHFCQUFBO0VBQ0Esd0JBQUE7QWhFeW9wQkY7QWdFdm9wQkE7RUFDRSx3QkFBQTtFQUNBLHVCQUFBO0FoRTBvcEJGO0FnRXhvcEJBO0VBQ0Usb0NBQUE7RUFDQSw2REFBQTtFQUNBLDJCQUFBO0FoRTJvcEJGO0Fn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QTFFb215Qko7QTBFbG15QkU7RUFDRSxZQUFBO0ExRW9teUJKO0EwRWxteUJFO0VBQ0UsWUFBQTtBMUVvbXlCSjtBMEVsbXlCRTtFQUNFLFlBQUE7QTFFb215Qko7QTBFbG15QkU7RUFDRSxZQUFBO0ExRW9teUJKO0EwRWxteUJFO0VBQ0UsWUFBQTtBMUVvbXlCSjtBMEVsbXlCRTtFQUNFLFlBQUE7QTFFb215Qko7QTBFbG15QkU7RUFDRSxZQUFBO0ExRW9teUJKO0EwRWxteUJFO0VBQ0UsWUFBQTtBMUVvbXlCSjtBMEVsbXlCRTtFQUNFLFlBQUE7QTFFb215Qko7QTBFbG15QkU7RUFDRSxZQUFBO0ExRW9teUJKO0EwRWxteUJFO0VBQ0UsWUFBQTtBMUVvbXlCSjtBMEVsbXlCRTtFQUNFLFlBQUE7QTFFb215Qko7QTBFbG15QkU7RUFDRSxZQUFBO0ExRW9teUJKO0EwRWxteUJFO0VBQ0UsWUFBQTtBMUVvbXlCSjtBMEVsbXlCRTtFQUNFLFlBQUE7QTFFb215Qko7QTBFbG15QkU7RUFDRSxZQUFBO0ExRW9teUJKO0EwRWxteUJFO0VBQ0UsWUFBQTtBMUVvbXlCSjtBMEVsbXlCRTtFQUNFLFlBQUE7QTFFb215Qko7QTBFbG15QkU7RUFDRSxZQUFBO0ExRW9teUJKO0EwRWxteUJFO0VBQ0UsWUFBQTtBMUVvbXlCSjtBMEVsbXlCRTtFQUNFLFlBQUE7QTFFb215Qko7QTBFbG15QkU7RUFDRSxZQUFBO0ExRW9teUJKO0EwRWxteUJFO0VBQ0UsWUFBQTtBMUVvbXlCSjtBMEVsbXlCRTtFQUNFLFlBQUE7QTFFb215Qko7QTBFbG15QkU7RUFDRSxZQUFBO0ExRW9teUJKO0EwRWxteUJFO0VBQ0UsWUFBQTtBMUVvbXlCSjtBMEVsbXlCRTtFQUNFLFlBQUE7QTFFb215Qko7QTBFbG15QkU7RUFDRSxZQUFBO0ExRW9teUJKO0EwRWxteUJFO0VBQ0UsWUFBQTtBMUVvbXlCSjtBMEVsbXlCRTtFQUNFLFlBQUE7QTFFb215Qko7QTBFbG15QkU7RUFDRSxZQUFBO0ExRW9teUJKO0EwRWxteUJFO0VBQ0UsWUFBQTtBMUVvbXlCSjtBMEVsbXlCRTtFQUNFLFlBQUE7QTFFb215Qko7QTBFbG15QkU7RUFDRSxZQUFBO0ExRW9teUJKO0EwRWxteUJFO0VBQ0UsWUFBQTtBMUVvbXlCSjtBMEVsbXlCRTtFQUNFLFlBQUE7QTFFb215Qko7QTBFbG15QkU7RUFDRSxZQUFBO0ExRW9teUJKO0EwRWxteUJFO0VBQ0UsWUFBQTtBMUVvbXlCSjtBMEVsbXlCRTtFQUNFLFlBQUE7QTFFb215Qko7QTBFbG15QkU7RUFDRSxZQUFBO0ExRW9teUJKO0EwRWxteUJFO0VBQ0UsWUFBQTtBMUVvbXlCSjtBMEVsbXlCRTtFQUNFLFlBQUE7QTFFb215Qko7QTBFbG15QkU7RUFDRSxZQUFBO0ExRW9teUJKO0EwRWxteUJFO0VBQ0UsWUFBQTtBMUVvbXlCSjtBMEVsbXlCRTtFQUNFLFlBQUE7QTFFb215Qko7QTBFbG15QkU7RUFDRSxZQUFBO0ExRW9teUJKO0EwRWxteUJFO0VBQ0UsWUFBQTtBMUVvbXlCSjtBMEVsbXlCRTtFQUNFLFlBQUE7QTFFb215Qko7QTBFbG15QkU7RUFDRSxZQUFBO0ExRW9teUJKO0EwRWxteUJFO0VBQ0UsWUFBQTtBMUVvbXlCSjtBMEVsbXlCRTtFQUNFLFlBQUE7QTFFb215Qko7QTBFbG15QkU7RUFDRSxZQUFBO0ExRW9teUJKO0EwRWxteUJFO0VBQ0UsWUFBQTtBMUVvbXlCSjtBMEVsbXlCRTtFQUNFLFlBQUE7QTFFb215Qko7QTBFbG15QkU7RUFDRSxZQUFBO0ExRW9teUJKO0EwRWxteUJFO0VBQ0UsWUFBQTtBMUVvbXlCSjtBMEVsbXlCRTtFQUNFLFlBQUE7QTFFb215Qko7QTBFbG15QkU7RUFDRSxZQUFBO0ExRW9teUJKO0EwRWxteUJFO0VBQ0UsWUFBQTtBMUVvbXlCSjtBMEVsbXlCRTtFQUNFLFlBQUE7QTFFb215Qko7QTBFbG15QkU7RUFDRSxZQUFBO0ExRW9teUJKO0EwRWxteUJFO0VBQ0UsWUFBQTtBMUVvbXlCSjtBMEVsbXlCRTtFQUNFLFlBQUE7QTFFb215Qko7QTBFbG15QkU7RUFDRSxZQUFBO0ExRW9teUJK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OztFQUVFLDZCQUFBO0E3RWdpekJKO0E2RTNoekJFOztFQUVFLHlCdkQwSHlCO0F0Qm82eUI3QjtBQWo4eUJBO0VBQ0Usd0JBQUE7QUFvOHlCRjtBQWw4eUJBO0VBQ0UseUJBQUE7QUFxOHlCRiIsImZpbGUiOiJfY29yZS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcImZvbnRzLWxvY2FsXCI7XG5AaW1wb3J0IFwidGhlbWVcIjtcbkBpbXBvcnQgXCJidWxtYVwiO1xuQGltcG9ydCBcImNoYXJ0aXN0XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5AaW1wb3J0IFwibGF5b3V0XCI7XG5AaW1wb3J0IFwiYW5ndWxhci1jYWxlbmRhclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaW5wdXRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2J1dHRvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaGVhZGVyLWljb24tYnV0dG9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90b29sdGlwXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9ub3RpZmljYXRpb25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NpZGViYXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL21lbnVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2N1c3RvbS1mb3JtXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9ldmVudC1hZG1pblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc25hY2tiYXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2ZhYlwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcGFnaW5hdG9yXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zaG93LWFsbC1zdWJtaXNzaW9uc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY2FyZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZGF0ZXRpbWVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvcm0tZmllbGRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BhcGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9sZWdlbmRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL25vdGljZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaG9tZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbWFya2Rvd25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2hlYWRlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc3RydWN0dXJlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9lbXB0eS1wYWdlLXBhbmVsXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9uYXRpdmUtaW5wdXRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL25hdGl2ZS1idXR0b25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3RhYmxlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90b3BpYy1jaGlwXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90aHJlc2hvbGQtYmFuZC1wb3BvdmVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zY29yZS1ncmlkXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9kaWFsb2dcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NlZ21lbnRlZFwiO1xuQGltcG9ydCBcImNvbG9yLXNjaGVtZVwiO1xuQGltcG9ydCBcImExMXlcIjtcbkBpbXBvcnQgXCJ2aWV3LW1vZGVcIjtcblxuLy8gR2xvYmFsIHJlZHVjZWQtbW90aW9uIG92ZXJyaWRlIOKAlCBhcHBsaWVkIG9uY2UsIG5ldmVyIHBlci1jb21wb25lbnQuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyAoVGVudGF0aXZhIGRlIFwic2VtIGFuaW1hw6fDtWVzIG5vIG1hY09TXCIgUkVNT1ZJREE6IG1hdGF2YSBDU1MgYW5pbWF0aW9uc1xuLy8gbGVnw610aW1hcyDigJQgbWF0LXByb2dyZXNzLWJhciByb2xhbmRvLCBtYXQtc3Bpbm5lciBnaXJhbmRvLCB0cmFuc2nDp8O1ZXMgZGVcbi8vIGVzdGFkby4gRSBhaW5kYSBwb3IgY2ltYSBOw4NPIGF0aW5naWEgbyBhbHZvIHJlYWwsIHF1ZSBzw6NvIGFzIGFuaW1hw6fDtWVzXG4vLyBwcm9ncmFtw6F0aWNhcyBkbyBAYW5ndWxhci9hbmltYXRpb25zLCBleGVjdXRhZGFzIGZvcmEgZG8gQ1NTLiBWZXIgbWVtw7NyaWFcbi8vIHByb2plY3RfbWFjb3Nfbm9fYW5pbWF0aW9uX3BlbmRpbmc6IG8gY2FtaW5obyBjb3JyZXRvIMOpIE5vb3BBbmltYXRpb25zL1xuLy8gW0AuZGlzYWJsZWRdLCBuw6NvIENTUy4pXG5cbi8vIFJlc2V0IGRlIGZvbnRlIGRvcyBjb250cm9sZXMgZGUgZm9ybXVsw6FyaW8gKG5vcm1hbGl6ZS5jc3MgwqcxMC4xKS5cbi8vIGA8YnV0dG9uPmAvYDxpbnB1dD5gL2V0Yy4gTsODTyBoZXJkYW0gYGZvbnQtZmFtaWx5YCBwb3IgcGFkcsOjbyDigJQgbyBVQVxuLy8gc3R5bGVzaGVldCBlIG8gQnVsbWEgKGAkZmFtaWx5LXNhbnMtc2VyaWZgLCB1bWEgc3RhY2sgZGUgc2lzdGVtYSwgbsOjbyBHZWlzdClcbi8vIGltcMO1ZW0gdW1hIGZvbnRlIHByw7NwcmlhLiBTZW0gZXN0ZSByZXNldCwgdG9kbyBib3TDo28gY3VzdG9tIGRvIGNoYWlyIFVJXG4vLyBwcmVjaXNhIGRlIHVtIGBmb250LWZhbWlseTogaW5oZXJpdGAgaW5kaXZpZHVhbCAoaGF2aWEgfjcgZGVzc2VzIGVzcGFsaGFkb3MpLlxuLy8gQXBsaWNhZG8gVU1BIHZleiBhcXVpIHByYSBxdWUgdG9kbyBjb250cm9sZSBoZXJkZSBHZWlzdCBkbyBib2R5LiBJbXBvcnRhZG9cbi8vIGRlcG9pcyBkbyBCdWxtYSAobGluaGEgMyksIGVudMOjbyB2ZW5jZSBhIHJlZ3JhIGRlbGUuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cblxuLy8gUGluIEdMT0JBTCBkZSBHZWlzdCBuYSByYWl6IGRvIGNhbnZhcyAoYC5tYWluYCDigJQgd3JhcHBlciBkZSBUT0RBIHDDoWdpbmFcbi8vIGNoYWlyOiBldmVudC12aWV3LCB0b3BpY3MsIHJldmlld3MtY29uZmlndXJhdGlvbiwgZXRjLikuIE5lY2Vzc8OhcmlvIHBvcnF1ZVxuLy8gYWxndW0gYW5jZXN0cmFsIG5hIMOhcmVhIGFkbWluIGRlY2xhcmEgdW1hIGZvbnQtZmFtaWx5IHBvbHXDrWRhIChzdGFja1xuLy8gYC1hcHBsZS1zeXN0ZW0sIHN5c3RlbS11aSwg4oCmYCBxdWUgTsODTyB2ZW0gZGUgbmVuaHVtIENTUyBub3NzbyBuZW0gZGFzIGxpYnMg4oCUXG4vLyBwcm92w6F2ZWwgaW5saW5lL3J1bnRpbWUgZGUgY29tcG9uZW50ZSBNYXRlcmlhbCBlc3RydXR1cmFsOyB2ZXIgbWVtw7NyaWFcbi8vIHByb2plY3RfYWRtaW5fZm9udF9wb2xsdXRlZF9hbmNlc3RvcikuIE8gYGJvZHkgeyBmb250LWZhbWlseSB9YCAoR2Vpc3QpIGZpY2Fcbi8vIGFiYWl4byBkZWxhIG5hIGNhc2NhdGEgcG9yIGhlcmFuw6dhLCBlbnTDo28gaDEvYm90w7Vlcy9ldGMuIHNhw61hbSBmb3JhIGRvIEdlaXN0LlxuLy8gUmUtYWZpcm1hciBHZWlzdCBlbSBgLm1haW5gIHZlbmNlIG8gYW5jZXN0cmFsIHBhcmEgdG9kbyBvIGNvbnRlw7pkbyBkZSBww6FnaW5hXG4vLyBkZSB1bWEgdmV6LiDDjWNvbmVzIChNYXRlcmlhbCBTeW1ib2xzL2plbXMzci9qZW1zM3MpIGUgbW9ub3NwYWNlIChJbmNvbnNvbGF0YSlcbi8vIG7Do28gc8OjbyBhZmV0YWRvczogZGVjbGFyYW0gYGZvbnQtZmFtaWx5YCBubyBwcsOzcHJpbyBlbGVtZW50byAoZXNwZWNpZmljaWRhZGVcbi8vIG1haW9yKS4gRml4IGRlIHJhaXogZGVmaW5pdGl2byA9IGFjaGFyIGUgY29ycmlnaXIgbyBhbmNlc3RyYWwgcG9sdcOtZG8uXG4ubWFpbiB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG59XG5AaW1wb3J0IFwiY29tcG9uZW50cy9tYXQtY2hlY2tib3hcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NoZWNrYm94XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9yYWRpb1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbWF0LXNsaWRlLXRvZ2dsZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbWF0LXJhZGlvXCI7XG5AaW1wb3J0IFwiaWNvbnMvamVtczNyXCI7XG5AaW1wb3J0IFwiaWNvbnMvamVtczNzXCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeS1tZDNcIjtcbkBpbXBvcnQgXCJjaGFydC12YXJzXCI7XG5AaW1wb3J0IFwiaW5zdGFsbGVkLWFwcFwiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENIUk9NRSBPRkZTRVQg4oCUIHNpbmdsZSBzb3VyY2Ugb2YgdHJ1dGggcGFyYSBhIGFsdHVyYSBhZ3JlZ2FkYSBkb1xuLy8gY2hyb21lIEFDSU1BIGRvIGNhbnZhcy4gQ2FkYSBlbGVtZW50byBkZSBjaHJvbWUgZml4ZWQtcG9zaXRpb25lZFxuLy8gKHByb3h5LWJhciwgbmF2YmFyLCBicmVhZGNydW1iLCBzaWRlYmFyLCBtYWluLWhlYWRlciBkYXMgcMOhZ2luYXMpXG4vLyBjb25zb21lIGB2YXIoLS1jaHJvbWUtdG9wLW9mZnNldClgIG5vIHNldSBgdG9wYCBlbSB2ZXogZGUgc29tYXJcbi8vIGNvbnN0YW50ZXMgbGl0ZXJhaXMuIEFkaWNpb25hci9yZW1vdmVyIGNhbWFkYXMgZGUgY2hyb21lIChwcm94eS1iYXIsXG4vLyBpbnN0YWxsLWJhbm5lciBmdXR1cm8sIGV0Yy4pIHZpcmEgVU0gbHVnYXIgZW0gdmV6IGRlIE4gcmVncmFzXG4vLyBgJi5wcm94eS1hY3RpdmVgL2AmLmluc3RhbGxlZC1hcHBgL2V0Yy4gZXNwYWxoYWRhcyBwZWxvcyBjb21wb25lbnRlcy5cbi8vXG4vLyBQYWRyw6NvIGRlIGNvbnN1bW86XG4vLyAgIC5uYXZiYXIgICAgICAgICAgIHsgdG9wOiB2YXIoLS1jaHJvbWUtdG9wLW9mZnNldCk7IH0gICAgICAgLy8gYmFzZWxpbmUgMFxuLy8gICAubWFpbi1oZWFkZXIgICAgICB7IHRvcDogY2FsYyg8YmFzZWxpbmU+ICsgdmFyKC0tY2hyb21lLXRvcC1vZmZzZXQpKTsgfVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG46cm9vdCB7XG4gIC0tY2hyb21lLXRvcC1vZmZzZXQ6IDBweDtcbn1cbmJvZHkucHJveHktYWN0aXZlIHtcbiAgLS1jaHJvbWUtdG9wLW9mZnNldDogI3skcHJveHktYmFyLWhlaWdodH07XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2VsZi1ob3N0ZWQgd2ViIGZvbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIEdlaXN0IChVSSBib2R5IHR5cGUpIGlzIGxvYWRlZCBoZXJlIGZyb20gbG9jYWwgV09GRjIgdG8gcmVtb3ZlIGEgcnVudGltZVxuLy8gZGVwZW5kZW5jeSBvbiBHb29nbGUgRm9udHMgQ0ROOlxuLy9cbi8vICAgLSBSZXN0cmljdGl2ZSBuZXR3b3JrcyAoY29ycG9yYXRlIHByb3hpZXMsIHJlZ2lvbnMgYmxvY2tpbmcgR29vZ2xlKVxuLy8gICAgIGNvdWxkIGZhaWwgdGhlIENETiByZXF1ZXN0IOKGkiBib2R5IHRleHQgZmFsbHMgYmFjayB0byBhIHN5c3RlbSBmb250LFxuLy8gICAgIGxheW91dHMgc2hpZnQuIFRoaXMgd2FzIHRoZSBzYW1lIGNsYXNzIG9mIGlzc3VlIHRoZSBwcm9qZWN0IGhpdFxuLy8gICAgIHByZXZpb3VzbHkgd2l0aCBGb250QXdlc29tZS5cbi8vXG4vLyAgIC0gT25lLW9mZiBHb29nbGUgRm9udHMgb3V0YWdlcywgVExTIGhpY2N1cHMsIG9yIEROUyBmYWlsdXJlcyBzdG9wXG4vLyAgICAgYmVpbmcgYWJsZSB0byBhZmZlY3QgdGhlIGFwcC5cbi8vXG4vLyBUaGUgV09GRjIgZmlsZXMgbGl2ZSB1bmRlciBgc3JjL2Fzc2V0cy9mb250cy9gLiBUaGUgYnVpbGQgcGlwZWxpbmVcbi8vIGJ1bmRsZXMgdGhlbSB2aWEgdGhlIGFzc2V0IFVSTCByZXdyaXRpbmcgdGhhdCBBbmd1bGFyIENMSSBhcHBsaWVzIHRvXG4vLyBgdXJsKC4uLilgIGluIFNDU1Mg4oCUIHBhdGhzIGhlcmUgYXJlIHJlc29sdmVkIGFnYWluc3QgdGhlIGltcG9ydGluZ1xuLy8gZmlsZSdzIGxvY2F0aW9uLCBoZW5jZSB0aGUgYC4uL2Fzc2V0cy9mb250cy8uLi5gIHJlbGF0aXZlIHBhdGguXG4vL1xuLy8gR2Vpc3Qgc2hpcHMgYXMgNSBzdWJzZXRzIChsYXRpbiwgbGF0aW4tZXh0LCB2aWV0bmFtZXNlLCBjeXJpbGxpYyxcbi8vIGN5cmlsbGljLWV4dCkg4oCUIHNhbWUgc3BsaXQgR29vZ2xlIEZvbnRzIHVzZXMuIGB1bmljb2RlLXJhbmdlYCBsZXRzIHRoZVxuLy8gYnJvd3NlciBvbmx5IGxvYWQgdGhlIHN1YnNldCB0aGF0IGNvbnRhaW5zIHRoZSBjaGFyYWN0ZXJzIGFjdHVhbGx5XG4vLyByZW5kZXJlZCwgc28gdGhlIGxhdGluLW9ubHkgcGF0aHMgb25seSBwYXkgfjMwIEtCIGZvciBib2R5IHR5cGUuXG4vL1xuLy8gTWF0ZXJpYWwgU3ltYm9scyBPdXRsaW5lZCBpcyBzZWxmLWhvc3RlZCBhcyBhbiBJTlNUQU5DRUQgdmFyaWFibGUgZm9udFxuLy8gKH43NzAgS0IpIGNhcnJ5aW5nIHRoZSBGVUxMIGljb24gc2V0ICh0b2RvcyBvcyB+NDIwMCBsaWdhdHVyZXMsIGluY2wuXG4vLyBub21lcyBjb20gZMOtZ2l0byBjb21vIGBpbnZlbnRvcnlfMmApOlxuLy8gICAtIE7Dg08gw6kgbWFpcyBzdWJzZXRhZG8gcG9yIMOtY29uZSDigJQgbWFudGVyIG8gY29uanVudG8gY29tcGxldG8gZXZpdGEgb1xuLy8gICAgIHByb2JsZW1hIGRlIFwiw61jb25lIGluZGlzcG9uw612ZWxcIiAoZXguOiBgaW52ZW50b3J5XzJgIGZhbHRhdmEgbm8gYnVpbGRcbi8vICAgICBhbnRpZ28sIHF1ZSBzw7MgdGluaGEgbGV0cmFzL2BfYCBlIG5lbmh1bSBkw61naXRvKSBlIGRpc3BlbnNhIHJlZ2VuZXJhclxuLy8gICAgIGEgZm9udGUgYSBjYWRhIMOtY29uZSBub3ZvLlxuLy8gICAtIEluc3RhbmNpYWRvIHZpYSBgZm9udFRvb2xzLnZhckxpYi5pbnN0YW5jZXJgIHBhcmEgZml4YXIgb3MgZWl4b3MgcXVlIG9cbi8vICAgICBjw7NkaWdvIG7Do28gdmFyaWE6IGBHUkFEPTBgIGUgYG9wc3o9MjBgIChyZW1vdmlkb3MgZGEgdGFiZWxhIGRlIGVpeG9zKVxuLy8gICAgIGUgYHdnaHRgIHJlc3RyaXRvIGEgMzAwLi40MDAuIEZJTEwgMC4uMSBjb250aW51YSB2YXJpw6F2ZWwgKGFuaW1hw6fDo28gZGFcbi8vICAgICBlc3RyZWxhIGRlIGZhdm9yaXRvcykuXG4vLyBOZXQgZWZmZWN0OiBhIHZhcmlhYmxlIGZvbnQgZGUgfjEwIE1CIGVuY29saGUgcC8gfjc3MCBLQiBwcmVzZXJ2YW5kbyBhXG4vLyBhbmltYcOnw6NvIGRlIEZJTEwsIHNlbSBkZXBlbmTDqm5jaWEgZG8gQ0ROIGRvIEdvb2dsZSBGb250cy5cbi8vXG4vLyBSRUdFTkVSQcOHw4NPIChxdWFuZG8gcHJlY2lzYXIgYXR1YWxpemFyIGEgZm9udGUpOiBiYWl4YXIgYSB2YXJpYWJsZSBmb250XG4vLyBjb21wbGV0YSBkbyByZXBvIGdvb2dsZS9tYXRlcmlhbC1kZXNpZ24taWNvbnNcbi8vICh2YXJpYWJsZWZvbnQvTWF0ZXJpYWxTeW1ib2xzT3V0bGluZWRbRklMTCxHUkFELG9wc3osd2dodF0udHRmKSxcbi8vIGBpbnN0YW50aWF0ZVZhcmlhYmxlRm9udChmLCB7J29wc3onOjIwLCdHUkFEJzowLCd3Z2h0JzooMzAwLDQwMCl9KWAsXG4vLyBzYWx2YXIgY29tbyB3b2ZmMiAocHJlY2lzYSBkbyBtw7NkdWxvIGBicm90bGlgKS4gVmVyIGRvY3MvR1VJQV9KRU1TMy5tZCDCpzMuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qIE1hdGVyaWFsIFN5bWJvbHMgT3V0bGluZWQg4oCUIGluc3RhbmNlZCB2YXJpYWJsZSBmb250LCBjb25qdW50byBDT01QTEVUTyBkZSDDrWNvbmVzIChGSUxMIDAuLjEsIHdnaHQgMzAwLi40MDApLiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgU3ltYm9scyBPdXRsaW5lZCc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDMwMCA0MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoJy4uL2Fzc2V0cy9mb250cy9tYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuLm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQsXG4vLyBMZWdhY3kgYWxpYXM6IEFuZ3VsYXIgTWF0ZXJpYWwgMTEgaGFyZC1jb2RlcyBgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiYFxuLy8gb24gZXZlcnkgYDxtYXQtaWNvbj5gIHdpdGhvdXQgYSBgZm9udFNldGAuIFRoZSBjb2RlYmFzZSBoYXMgYSBoYW5kZnVsXG4vLyBvZiB0aG9zZSAoZS5nLiBgbW9yZV92ZXJ0YCwgYGZpbHRlcl9hbHRgKSB0aGF0IGhpc3RvcmljYWxseSBwaWNrZWQgdXBcbi8vIHRoZSBNYXRlcmlhbCBJY29ucyBDRE4gZm9udC4gQWxpYXNpbmcgYC5tYXRlcmlhbC1pY29uc2AgdG8gb3VyXG4vLyBzZWxmLWhvc3RlZCBNYXRlcmlhbCBTeW1ib2xzIE91dGxpbmVkIGxldHMgYWxsIG9mIHRoZW0gcmVuZGVyIGZyb21cbi8vIHRoZSBzYW1lIGxvY2FsIGZpbGUg4oCUIGFuZCByZW1vdmVzIHRoZSBsYXN0IHJ1bnRpbWUgZGVwZW5kZW5jeSBvbiB0aGVcbi8vIE1hdGVyaWFsIEljb25zIENETi4gKFZlcmlmaWVkOiBvbmx5IGBtb3JlX3ZlcnRgIGFuZCBgZmlsdGVyX2FsdGAgYXJlXG4vLyB1c2VkIHRoaXMgd2F5LCBhbmQgYm90aCBsaWdhdHVyZXMgZXhpc3QgaW4gTWF0ZXJpYWwgU3ltYm9scy4pXG4ubWF0ZXJpYWwtaWNvbnMge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIFN5bWJvbHMgT3V0bGluZWQnO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuICBkaXJlY3Rpb246IGx0cjtcbiAgLXdlYmtpdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJztcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbi8qIEdlaXN0IOKAlCBVSSBib2R5IHR5cGUsIHZhcmlhYmxlIHdlaWdodCAxMDAtOTAwLiBTYW1lIDUgc3Vic2V0cyBHb29nbGUgc2hpcHMuICovXG4vKiBjeXJpbGxpYy1leHQgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0dlaXN0JztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMTAwIDkwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybCgnLi4vYXNzZXRzL2ZvbnRzL2dlaXN0LWN5cmlsbGljLWV4dC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7XG59XG4vKiBjeXJpbGxpYyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnR2Vpc3QnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAxMDAgOTAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKCcuLi9hc3NldHMvZm9udHMvZ2Vpc3QtY3lyaWxsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2O1xufVxuLyogdmlldG5hbWVzZSAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnR2Vpc3QnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAxMDAgOTAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKCcuLi9hc3NldHMvZm9udHMvZ2Vpc3QtdmlldG5hbWVzZS53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7XG59XG4vKiBsYXRpbi1leHQgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0dlaXN0JztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMTAwIDkwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybCgnLi4vYXNzZXRzL2ZvbnRzL2dlaXN0LWxhdGluLWV4dC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7XG59XG4vKiBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnR2Vpc3QnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAxMDAgOTAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKCcuLi9hc3NldHMvZm9udHMvZ2Vpc3QtbGF0aW4ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEO1xufVxuXG4vKiBJbmNvbnNvbGF0YSDigJQgbW9ub3NwYWNlLCB1c2VkIGluIGNvZGUgYmxvY2tzLiBTaW5nbGUgd2VpZ2h0ICg0MDApLiAzIHN1YnNldHMgbWF0Y2hpbmcgR29vZ2xlJ3Mgc3BsaXQuICovXG4vKiB2aWV0bmFtZXNlICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJbmNvbnNvbGF0YSc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHJldGNoOiAxMDAlO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKCcuLi9hc3NldHMvZm9udHMvaW5jb25zb2xhdGEtdmlldG5hbWVzZS53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7XG59XG4vKiBsYXRpbi1leHQgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0luY29uc29sYXRhJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0cmV0Y2g6IDEwMCU7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoJy4uL2Fzc2V0cy9mb250cy9pbmNvbnNvbGF0YS1sYXRpbi1leHQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGO1xufVxuLyogbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0luY29uc29sYXRhJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0cmV0Y2g6IDEwMCU7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoJy4uL2Fzc2V0cy9mb250cy9pbmNvbnNvbGF0YS1sYXRpbi53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7XG59XG5cbi8qIENhaXJvIOKAlCB1c2VkIGluIG9uZSBjaGFpci1VSSBjb21wb25lbnQgKGV2ZW50cy5jb21wb25lbnQuc2NzcykuIFNpbmdsZSB3ZWlnaHQgKDQwMCkuIEFyYWJpYyArIExhdGluIHN1YnNldHMuICovXG4vKiBhcmFiaWMgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0NhaXJvJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKCcuLi9hc3NldHMvZm9udHMvY2Fpcm8tYXJhYmljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICB1bmljb2RlLXJhbmdlOiBVKzA2MDAtMDZGRiwgVSswNzUwLTA3N0YsIFUrMDg3MC0wODhFLCBVKzA4OTAtMDg5MSwgVSswODk3LTA4RTEsIFUrMDhFMy0wOEZGLCBVKzIwMEMtMjAwRSwgVSsyMDEwLTIwMTEsIFUrMjA0RiwgVSsyRTQxLCBVK0ZCNTAtRkRGRiwgVStGRTcwLUZFNzQsIFUrRkU3Ni1GRUZDLCBVKzEwMkUwLTEwMkZCLCBVKzEwRTYwLTEwRTdFLCBVKzEwRUMyLTEwRUM0LCBVKzEwRUZDLTEwRUZGLCBVKzFFRTAwLTFFRTAzLCBVKzFFRTA1LTFFRTFGLCBVKzFFRTIxLTFFRTIyLCBVKzFFRTI0LCBVKzFFRTI3LCBVKzFFRTI5LTFFRTMyLCBVKzFFRTM0LTFFRTM3LCBVKzFFRTM5LCBVKzFFRTNCLCBVKzFFRTQyLCBVKzFFRTQ3LCBVKzFFRTQ5LCBVKzFFRTRCLCBVKzFFRTRELTFFRTRGLCBVKzFFRTUxLTFFRTUyLCBVKzFFRTU0LCBVKzFFRTU3LCBVKzFFRTU5LCBVKzFFRTVCLCBVKzFFRTVELCBVKzFFRTVGLCBVKzFFRTYxLTFFRTYyLCBVKzFFRTY0LCBVKzFFRTY3LTFFRTZBLCBVKzFFRTZDLTFFRTcyLCBVKzFFRTc0LTFFRTc3LCBVKzFFRTc5LTFFRTdDLCBVKzFFRTdFLCBVKzFFRTgwLTFFRTg5LCBVKzFFRThCLTFFRTlCLCBVKzFFRUExLTFFRUEzLCBVKzFFRUE1LTFFRUE5LCBVKzFFRUFCLTFFRUJCLCBVKzFFRUYwLTFFRUYxO1xufVxuLyogbGF0aW4tZXh0ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdDYWlybyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybCgnLi4vYXNzZXRzL2ZvbnRzL2NhaXJvLWxhdGluLWV4dC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7XG59XG4vKiBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQ2Fpcm8nO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoJy4uL2Fzc2V0cy9mb250cy9jYWlyby1sYXRpbi53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7XG59XG4iLCIvLyBGaWxlIGZvciB3aGljaCBhbGwgaW1wb3J0cyBhcmUgcmVzb2x2ZWQgYW5kIGJ1bmRsZWQuIFRoaXMgaXMgdGhlIGVudHJ5LXBvaW50IGZvclxuLy8gdGhlIGBAYW5ndWxhci9tYXRlcmlhbGAgdGhlbWluZyBTYXNzIGJ1bmRsZS4gU2VlIGAvL3NyYy9tYXRlcmlhbDp0aGVtaW5nX2J1bmRsZWAuXG5cbi8vIEltcG9ydCBhbGwgdGhlIHRoZW1pbmcgZnVuY3Rpb25hbGl0eS5cbi8vIFdlIHdhbnQgb3ZlcmxheXMgdG8gYWx3YXlzIGFwcGVhciBvdmVyIHVzZXIgY29udGVudCwgc28gc2V0IGEgYmFzZWxpbmVcbi8vIHZlcnkgaGlnaCB6LWluZGV4IGZvciB0aGUgb3ZlcmxheSBjb250YWluZXIsIHdoaWNoIGlzIHdoZXJlIHdlIGNyZWF0ZSB0aGUgbmV3XG4vLyBzdGFja2luZyBjb250ZXh0IGZvciBhbGwgb3ZlcmxheXMuXG4kY2RrLXotaW5kZXgtb3ZlcmxheS1jb250YWluZXI6IDEwMDAgIWRlZmF1bHQ7XG4kY2RrLXotaW5kZXgtb3ZlcmxheTogMTAwMCAhZGVmYXVsdDtcbiRjZGstei1pbmRleC1vdmVybGF5LWJhY2tkcm9wOiAxMDAwICFkZWZhdWx0O1xuXG4vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBhbGwgb2YgdGhlIGJhY2tkcm9wc1xuJGNkay1vdmVybGF5LWRhcmstYmFja2Ryb3AtYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMyKSAhZGVmYXVsdDtcblxuLy8gRGVmYXVsdCBiYWNrZHJvcCBhbmltYXRpb24gaXMgYmFzZWQgb24gdGhlIE1hdGVyaWFsIERlc2lnbiBzd2lmdC1lYXNlLW91dC5cbiRiYWNrZHJvcC1hbmltYXRpb24tZHVyYXRpb246IDQwMG1zICFkZWZhdWx0O1xuJGJhY2tkcm9wLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpICFkZWZhdWx0O1xuXG5cbkBtaXhpbiBjZGstb3ZlcmxheSgpIHtcbiAgLmNkay1vdmVybGF5LWNvbnRhaW5lciwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcbiAgICAvLyBEaXNhYmxlIGV2ZW50cyBmcm9tIGJlaW5nIGNhcHR1cmVkIG9uIHRoZSBvdmVybGF5IGNvbnRhaW5lci5cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIC8vIFRoZSBjb250YWluZXIgc2hvdWxkIGJlIHRoZSBzaXplIG9mIHRoZSB2aWV3cG9ydC5cbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBUaGUgb3ZlcmxheS1jb250YWluZXIgaXMgYW4gaW52aXNpYmxlIGVsZW1lbnQgd2hpY2ggY29udGFpbnMgYWxsIGluZGl2aWR1YWwgb3ZlcmxheXMuXG4gIC5jZGstb3ZlcmxheS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheS1jb250YWluZXI7XG5cbiAgICAmOmVtcHR5IHtcbiAgICAgIC8vIEhpZGUgdGhlIGVsZW1lbnQgd2hlbiBpdCBkb2Vzbid0IGhhdmUgYW55IGNoaWxkIG5vZGVzLiBUaGlzIGRvZXNuJ3RcbiAgICAgIC8vIGluY2x1ZGUgb3ZlcmxheXMgdGhhdCBoYXZlIGJlZW4gZGV0YWNoZWQsIHJhdGhlciB0aGFuIGRpc3Bvc2VkLlxuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBXZSB1c2UgYW4gZXh0cmEgd3JhcHBlciBlbGVtZW50IGluIG9yZGVyIHRvIHVzZSBtYWtlIHRoZSBvdmVybGF5IGl0c2VsZiBhIGZsZXggaXRlbS5cbiAgLy8gVGhpcyBtYWtlcyBjZW50ZXJpbmcgdGhlIG92ZXJsYXkgZWFzeSB3aXRob3V0IHJ1bm5pbmcgaW50byB0aGUgc3VicGl4ZWwgcmVuZGVyaW5nXG4gIC8vIHByb2JsZW1zIHRpZWQgdG8gdXNpbmcgYHRyYW5zZm9ybWAgYW5kIHdpdGhvdXQgaW50ZXJmZXJpbmcgd2l0aCB0aGUgb3RoZXIgcG9zaXRpb25cbiAgLy8gc3RyYXRlZ2llcy5cbiAgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIEEgc2luZ2xlIG92ZXJsYXkgcGFuZS5cbiAgLmNkay1vdmVybGF5LXBhbmUge1xuICAgIC8vIE5vdGU6IGl0J3MgaW1wb3J0YW50IGZvciB0aGlzIG9uZSB0byBzdGFydCBvZmYgYGFic29sdXRlYCxcbiAgICAvLyBpbiBvcmRlciBmb3IgdXMgdG8gYmUgYWJsZSB0byBtZWFzdXJlIGl0IGNvcnJlY3RseS5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheTtcblxuICAgIC8vIEZvciBjb25uZWN0ZWQtcG9zaXRpb24gb3ZlcmxheXMsIHdlIHNldCBgZGlzcGxheTogZmxleGAgaW5cbiAgICAvLyBvcmRlciB0byBmb3JjZSBgbWF4LXdpZHRoYCBhbmQgYG1heC1oZWlnaHRgIHRvIHRha2UgZWZmZWN0LlxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuY2RrLW92ZXJsYXktYmFja2Ryb3Age1xuICAgIC8vIFRPRE8oamVsYm91cm4pOiByZXVzZSBzaWRlbmF2IGZ1bGxzY3JlZW4gbWl4aW4uXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcblxuICAgIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5LWJhY2tkcm9wO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkYmFja2Ryb3AtYW5pbWF0aW9uLWR1cmF0aW9uICRiYWNrZHJvcC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAmLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmcge1xuICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgLy8gTm90ZSB0aGF0IHdlIGNhbid0IGltcG9ydCBhbmQgdXNlIHRoZSBgaGlnaC1jb250cmFzdGAgbWl4aW4gZnJvbSBgX2ExMXkuc2Nzc2AsIGJlY2F1c2VcbiAgICAgIC8vIHRoaXMgZmlsZSB3aWxsIGJlIGNvcGllZCB0byB0aGUgdG9wLWxldmVsIGBjZGtgIHBhY2thZ2Ugd2hlbiBwdXR0aW5nIHRvZ2V0aGVyIHRoZSBmaWxlc1xuICAgICAgLy8gZm9yIG5wbS4gQW55IHJlbGF0aXZlIGltcG9ydCBwYXRocyB3ZSB1c2UgaGVyZSB3aWxsIGJlY29tZSBpbnZhbGlkIG9uY2UgdGhlIGZpbGUgaXMgY29waWVkLlxuICAgICAgLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAmIHtcbiAgICAgICAgLy8gSW4gaGlnaCBjb250cmFzdCBtb2RlIHRoZSByZ2JhIGJhY2tncm91bmQgd2lsbCBiZWNvbWUgc29saWRcbiAgICAgICAgLy8gc28gd2UgbmVlZCB0byBmYWxsIGJhY2sgdG8gbWFraW5nIGl0IG9wYXF1ZSB1c2luZyBgb3BhY2l0eWAuXG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcCB7XG4gICAgYmFja2dyb3VuZDogJGNkay1vdmVybGF5LWRhcmstYmFja2Ryb3AtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCB7XG4gICAgLy8gTm90ZTogYXMgb2YgRmlyZWZveCA1NywgaGF2aW5nIHRoZSBiYWNrZHJvcCBiZSBgYmFja2dyb3VuZDogbm9uZWAgd2lsbCBwcmV2ZW50IGl0IGZyb21cbiAgICAvLyBjYXB0dXJpbmcgdGhlIHVzZXIncyBtb3VzZSBzY3JvbGwgZXZlbnRzLiBTaW5jZSB3ZSBhbHNvIGNhbid0IHVzZSBzb21ldGhpbmcgbGlrZVxuICAgIC8vIGByZ2JhKDAsIDAsIDAsIDApYCwgd2Ugd29yayBhcm91bmQgdGhlIGluY29uc2lzdGVuY3kgYnkgbm90IHNldHRpbmcgdGhlIGJhY2tncm91bmQgYXRcbiAgICAvLyBhbGwgYW5kIHVzaW5nIGBvcGFjaXR5YCB0byBtYWtlIHRoZSBlbGVtZW50IHRyYW5zcGFyZW50LlxuICAgICYsICYuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIE92ZXJsYXkgcGFyZW50IGVsZW1lbnQgdXNlZCB3aXRoIHRoZSBjb25uZWN0ZWQgcG9zaXRpb24gc3RyYXRlZ3kuIFVzZWQgdG8gY29uc3RyYWluIHRoZVxuICAvLyBvdmVybGF5IGVsZW1lbnQncyBzaXplIHRvIGZpdCB3aXRoaW4gdGhlIHZpZXdwb3J0LlxuICAuY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5O1xuXG4gICAgLy8gV2UgdXNlIGBkaXNwbGF5OiBmbGV4YCBvbiB0aGlzIGVsZW1lbnQgZXhjbHVzaXZlbHkgZm9yIGNlbnRlcmluZyBjb25uZWN0ZWQgb3ZlcmxheXMuXG4gICAgLy8gV2hlbiAqbm90KiBjZW50ZXJpbmcsIGEgdG9wL2xlZnQvYm90dG9tL3JpZ2h0IHdpbGwgYmUgc2V0IHdoaWNoIG92ZXJyaWRlcyB0aGUgbm9ybWFsXG4gICAgLy8gZmxleCBsYXlvdXQuXG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIC8vIFdlIHVzZSB0aGUgYGNvbHVtbmAgZGlyZWN0aW9uIGhlcmUgdG8gYXZvaWQgc29tZSBmbGV4Ym94IGlzc3VlcyBpbiBFZGdlXG4gICAgLy8gd2hlbiB1c2luZyB0aGUgXCJncm93IGFmdGVyIG9wZW5cIiBvcHRpb25zLlxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAvLyBBZGQgc29tZSBkaW1lbnNpb25zIHNvIHRoZSBlbGVtZW50IGhhcyBhbiBgaW5uZXJUZXh0YCB3aGljaCBzb21lIHBlb3BsZSBkZXBlbmQgb24gaW4gdGVzdHMuXG4gICAgbWluLXdpZHRoOiAxcHg7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICB9XG5cbiAgLy8gVXNlZCB3aGVuIGRpc2FibGluZyBnbG9iYWwgc2Nyb2xsaW5nLlxuICAuY2RrLWdsb2JhbC1zY3JvbGxibG9jayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuXG4gICAgLy8gTmVjZXNzYXJ5IGZvciB0aGUgY29udGVudCBub3QgdG8gbG9zZSBpdHMgd2lkdGguIE5vdGUgdGhhdCB3ZSdyZSB1c2luZyAxMDAlLCBpbnN0ZWFkIG9mXG4gICAgLy8gMTAwdncsIGJlY2F1c2UgMTAwdncgaW5jbHVkZXMgdGhlIHdpZHRoIHBsdXMgdGhlIHNjcm9sbGJhciwgd2hlcmVhcyAxMDAlIGlzIHRoZSB3aWR0aFxuICAgIC8vIHRoYXQgdGhlIGVsZW1lbnQgaGFkIGJlZm9yZSB3ZSBtYWRlIGl0IGBmaXhlZGAuXG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAvLyBOb3RlOiB0aGlzIHdpbGwgYWx3YXlzIGFkZCBhIHNjcm9sbGJhciB0byB3aGF0ZXZlciBlbGVtZW50IGl0IGlzIG9uLCB3aGljaCBjYW5cbiAgICAvLyBwb3RlbnRpYWxseSByZXN1bHQgaW4gZG91YmxlIHNjcm9sbGJhcnMuIEl0IHNob3VsZG4ndCBiZSBhbiBpc3N1ZSwgYmVjYXVzZSB3ZSB3b24ndFxuICAgIC8vIGJsb2NrIHNjcm9sbGluZyBvbiBhIHBhZ2UgdGhhdCBkb2Vzbid0IGhhdmUgYSBzY3JvbGxiYXIgaW4gdGhlIGZpcnN0IHBsYWNlLlxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgfVxufVxuXG5AbWl4aW4gY2RrLWExMXkge1xuICAuY2RrLXZpc3VhbGx5LWhpZGRlbiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcblxuICAgIC8vIFRoaXMgd29ya3MgYXJvdW5kIGEgQ2hyb21lIGJ1ZyB0aGF0IGNhbiBjYXVzZSB0aGUgdGFiIHRvIGNyYXNoIHdoZW4gbGFyZ2UgYW1vdW50cyBvZlxuICAgIC8vIG5vbi1FbmdsaXNoIHRleHQgZ2V0IHdyYXBwZWQ6IGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTEyMDE0NDRcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgLy8gQXZvaWQgYnJvd3NlcnMgcmVuZGVyaW5nIHRoZSBmb2N1cyByaW5nIGluIHNvbWUgY2FzZXMuXG4gICAgb3V0bGluZTogMDtcblxuICAgIC8vIEF2b2lkIHNvbWUgY2FzZXMgd2hlcmUgdGhlIGJyb3dzZXIgd2lsbCBzdGlsbCByZW5kZXIgdGhlIG5hdGl2ZSBjb250cm9scyAoc2VlICM5MDQ5KS5cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICB9XG59XG5cbi8vLyBFbWl0cyB0aGUgbWl4aW4ncyBjb250ZW50IG5lc3RlZCB1bmRlciBgJHNlbGVjdG9yLWNvbnRleHRgIGlmIGAkc2VsZWN0b3ItY29udGV4dGBcbi8vLyBpcyBub24tZW1wdHkuXG4vLy8gQHBhcmFtIHNlbGVjdG9yLWNvbnRleHQgVGhlIHNlbGVjdG9yIHVuZGVyIHdoaWNoIHRvIG5lc3QgdGhlIG1peGluJ3MgY29udGVudC5cbkBtaXhpbiBfY2RrLW9wdGlvbmFsbHktbmVzdC1jb250ZW50KCRzZWxlY3Rvci1jb250ZXh0KSB7XG4gIEBpZiAoJHNlbGVjdG9yLWNvbnRleHQgPT0gJycpIHtcbiAgICBAY29udGVudDtcbiAgfVxuICBAZWxzZSB7XG4gICAgI3skc2VsZWN0b3ItY29udGV4dH0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgdXNlcnMgaW4gaGlnaCBjb250cmFzdCBtb2RlLiBOb3RlIHRoYXQgdGhpcyBvbmx5IGFwcGxpZXNcbi8vLyB0byBNaWNyb3NvZnQgYnJvd3NlcnMuIENocm9tZSBjYW4gYmUgaW5jbHVkZWQgYnkgY2hlY2tpbmcgZm9yIHRoZSBgaHRtbFtoY11gXG4vLy8gYXR0cmlidXRlLCBob3dldmVyIENocm9tZSBoYW5kbGVzIGhpZ2ggY29udHJhc3QgZGlmZmVyZW50bHkuXG4vLy9cbi8vLyBAcGFyYW0gdGFyZ2V0IFdoaWNoIGtpbmQgb2YgaGlnaCBjb250cmFzdCBzZXR0aW5nIHRvIHRhcmdldC4gRGVmYXVsdHMgdG8gYGFjdGl2ZWAsIGNhbiBiZVxuLy8vICAgIGB3aGl0ZS1vbi1ibGFja2Agb3IgYGJsYWNrLW9uLXdoaXRlYC5cbi8vLyBAcGFyYW0gZW5jYXBzdWxhdGlvbiBXaGV0aGVyIHRvIGVtaXQgc3R5bGVzIGZvciB2aWV3IGVuY2Fwc3VsYXRpb24uIFZhbHVlcyBhcmU6XG4vLy8gICAgICogYG9uYCAtIHdvcmtzIGZvciBgRW11bGF0ZWRgLCBgTmF0aXZlYCwgYW5kIGBTaGFkb3dEb21gXG4vLy8gICAgICogYG9mZmAgLSB3b3JrcyBmb3IgYE5vbmVgXG4vLy8gICAgICogYGFueWAgLSB3b3JrcyBmb3IgYWxsIGVuY2Fwc3VsYXRpb24gbW9kZXMgYnkgZW1pdHRpbmcgdGhlIENTUyB0d2ljZSAoZGVmYXVsdCkuXG5AbWl4aW4gY2RrLWhpZ2gtY29udHJhc3QoJHRhcmdldDogYWN0aXZlLCAkZW5jYXBzdWxhdGlvbjogJ2FueScpIHtcbiAgQGlmICgkdGFyZ2V0ICE9ICdhY3RpdmUnIGFuZCAkdGFyZ2V0ICE9ICdibGFjay1vbi13aGl0ZScgYW5kICR0YXJnZXQgIT0gJ3doaXRlLW9uLWJsYWNrJykge1xuICAgIEBlcnJvciAnVW5rbm93biBjZGstaGlnaC1jb250cmFzdCB2YWx1ZSBcIiN7JHRhcmdldH1cIiBwcm92aWRlZC4gJyArXG4gICAgICAgICAgICdBbGxvd2VkIHZhbHVlcyBhcmUgXCJhY3RpdmVcIiwgXCJibGFjay1vbi13aGl0ZVwiLCBhbmQgXCJ3aGl0ZS1vbi1ibGFja1wiJztcbiAgfVxuXG4gIEBpZiAoJGVuY2Fwc3VsYXRpb24gIT0gJ29uJyBhbmQgJGVuY2Fwc3VsYXRpb24gIT0gJ29mZicgYW5kICRlbmNhcHN1bGF0aW9uICE9ICdhbnknKSB7XG4gICAgQGVycm9yICdVbmtub3duIGNkay1oaWdoLWNvbnRyYXN0IGVuY2Fwc3VsYXRpb24gXCIjeyRlbmNhcHN1bGF0aW9ufVwiIHByb3ZpZGVkLiAnICtcbiAgICAgICAgICAgJ0FsbG93ZWQgdmFsdWVzIGFyZSBcIm9uXCIsIFwib2ZmXCIsIGFuZCBcImFueVwiJztcbiAgfVxuXG4gIC8vIElmIHRoZSBzZWxlY3RvciBjb250ZXh0IGhhcyBtdWx0aXBsZSBwYXJ0cywgc3VjaCBhcyBgLnNlY3Rpb24sIC5yZWdpb25gLCBqdXN0IGRvaW5nXG4gIC8vIGAuY2RrLWhpZ2gtY29udHJhc3QteHh4ICN7Jn1gIHdpbGwgb25seSBhcHBseSB0aGUgcGFyZW50IHNlbGVjdG9yIHRvIHRoZSBmaXJzdCBwYXJ0IG9mIHRoZVxuICAvLyBjb250ZXh0LiBXZSBhZGRyZXNzIHRoaXMgYnkgbmVzdGluZyB0aGUgc2VsZWN0b3IgY29udGV4dCB1bmRlciAuY2RrLWhpZ2gtY29udHJhc3QuXG4gIEBhdC1yb290IHtcbiAgICAkc2VsZWN0b3ItY29udGV4dDogI3smfTtcblxuICAgIEBpZiAoJGVuY2Fwc3VsYXRpb24gIT0gJ29uJykge1xuICAgICAgLy8gTm90ZSB0aGF0IGlmIHRoaXMgc2VsZWN0b3IgaXMgdXBkYXRlZCwgdGhlIHNhbWUgY2hhbmdlIGhhcyB0byBiZSBtYWRlIGluc2lkZVxuICAgICAgLy8gYF9vdmVybGF5LnNjc3NgIHdoaWNoIGNhbid0IGRlcGVuZCBvbiB0aGlzIG1peGluIGR1ZSB0byBzb21lIGluZnJhc3RydWN0dXJlIGxpbWl0YXRpb25zLlxuICAgICAgLmNkay1oaWdoLWNvbnRyYXN0LSN7JHRhcmdldH0ge1xuICAgICAgICBAaW5jbHVkZSBfY2RrLW9wdGlvbmFsbHktbmVzdC1jb250ZW50KCRzZWxlY3Rvci1jb250ZXh0KSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCRlbmNhcHN1bGF0aW9uICE9ICdvZmYnKSB7XG4gICAgICAuY2RrLWhpZ2gtY29udHJhc3QtI3skdGFyZ2V0fSA6aG9zdCB7XG4gICAgICAgIEBpbmNsdWRlIF9jZGstb3B0aW9uYWxseS1uZXN0LWNvbnRlbnQoJHNlbGVjdG9yLWNvbnRleHQpIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb3JlIHN0eWxlcyB0aGF0IGVuYWJsZSBtb25pdG9yaW5nIGF1dG9maWxsIHN0YXRlIG9mIHRleHQgZmllbGRzLlxuQG1peGluIGNkay10ZXh0LWZpZWxkIHtcbiAgLy8gS2V5ZnJhbWVzIHRoYXQgYXBwbHkgbm8gc3R5bGVzLCBidXQgYWxsb3cgdXMgdG8gbW9uaXRvciB3aGVuIGFuIHRleHQgZmllbGQgYmVjb21lcyBhdXRvZmlsbGVkXG4gIC8vIGJ5IHdhdGNoaW5nIGZvciB0aGUgYW5pbWF0aW9uIGV2ZW50cyB0aGF0IGFyZSBmaXJlZCB3aGVuIHRoZXkgc3RhcnQuIE5vdGU6IHRoZSAvKiEqLyBjb21tZW50IGlzXG4gIC8vIG5lZWRlZCB0byBwcmV2ZW50IExpYlNhc3MgZnJvbSBzdHJpcHBpbmcgdGhlIGtleWZyYW1lcyBvdXQuXG4gIC8vIEJhc2VkIG9uOiBodHRwczovL21lZGl1bS5jb20vQGJydW5uL2RldGVjdGluZy1hdXRvZmlsbGVkLWZpZWxkcy1pbi1qYXZhc2NyaXB0LWFlZDU5OGQyNWRhN1xuICBAa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IHsvKiEqL31cbiAgQGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgey8qISovfVxuXG4gIC5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWQ6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgLy8gU2luY2UgQ2hyb21lIDgwIHdlIG5lZWQgYSAxbXMgZGVsYXksIG9yIHRoZSBhbmltYXRpb25zdGFydCBldmVudCB3b24ndCBmaXJlLlxuICAgIGFuaW1hdGlvbjogY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zO1xuICB9XG5cbiAgLmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZDpub3QoOi13ZWJraXQtYXV0b2ZpbGwpIHtcbiAgICAvLyBTaW5jZSBDaHJvbWUgODAgd2UgbmVlZCBhIDFtcyBkZWxheSwgb3IgdGhlIGFuaW1hdGlvbnN0YXJ0IGV2ZW50IHdvbid0IGZpcmUuXG4gICAgYW5pbWF0aW9uOiBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSByZXNpemUgaGFuZGxlIG9uIGF1dG9zaXppbmcgdGV4dGFyZWFzLCBiZWNhdXNlIHdoYXRldmVyIGhlaWdodFxuICAvLyB0aGUgdXNlciByZXNpemVkIHRvIHdpbGwgYmUgb3ZlcndyaXR0ZW4gb25jZSB0aGV5IHN0YXJ0IHR5cGluZyBhZ2Fpbi5cbiAgdGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplIHtcbiAgICByZXNpemU6IG5vbmU7XG4gIH1cblxuICAvLyBUaGlzIGNsYXNzIGlzIHRlbXBvcmFyaWx5IGFwcGxpZWQgdG8gdGhlIHRleHRhcmVhIHdoZW4gaXQgaXMgYmVpbmcgbWVhc3VyZWQuIEl0IGlzIGltbWVkaWF0ZWx5XG4gIC8vIHJlbW92ZWQgd2hlbiBtZWFzdXJpbmcgaXMgY29tcGxldGUuIFdlIHVzZSBgIWltcG9ydGFudGAgcnVsZXMgaGVyZSB0byBtYWtlIHN1cmUgdXNlci1zcGVjaWZpZWRcbiAgLy8gcnVsZXMgZG8gbm90IGludGVyZmVyZSB3aXRoIHRoZSBtZWFzdXJlbWVudC5cbiAgdGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZyB7XG4gICAgQGluY2x1ZGUgX2Nkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctYmFzZTtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBTaW1pbGFyIHRvIHRoZSBgY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ2AgY2xhc3MsIGJ1dCBvbmx5IGFwcGxpZWQgb24gRmlyZWZveC4gV2UgbmVlZFxuICAvLyB0byB1c2UgdGhpcyBjbGFzcywgYmVjYXVzZSBGaXJlZm94IGhhcyBhIGJ1ZyB3aGVyZSBjaGFuZ2luZyB0aGUgYG92ZXJmbG93YCBicmVha3MgdGhlIHVzZXInc1xuICAvLyBhYmlsaXR5IHRvIHVuZG8vcmVkbyB3aGF0IHRoZXkgd2VyZSB0eXBpbmcgKHNlZSAjMTY2MjkpLiBUaGlzIGNsYXNzIGlzIG9ubHkgc2NvcGVkIHRvIEZpcmVmb3gsXG4gIC8vIGJlY2F1c2UgdGhlIG1lYXN1cmVtZW50cyB0aGVyZSBkb24ndCBzZWVtIHRvIGJlIGFmZmVjdGVkIGJ5IHRoZSBgaGVpZ2h0OiAwYCwgd2hlcmVhcyBvbiBvdGhlclxuICAvLyBicm93c2VycyB0aGV5IGFyZSwgZS5nLiBDaHJvbWUgZGV0ZWN0cyBsb25nZXIgdGV4dCBhbmQgSUUgZG9lcyd0IHJlc2l6ZSBiYWNrIHRvIG5vcm1hbC5cbiAgLy8gSWRlbnRpY2FsIGlzc3VlIHJlcG9ydDogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQ4Nzg0XG4gIHRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveCB7XG4gICAgQGluY2x1ZGUgX2Nkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctYmFzZTtcbiAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gX2Nkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctYmFzZSB7XG4gIC8vIEhhdmluZyAycHggdG9wIGFuZCBib3R0b20gcGFkZGluZyBzZWVtcyB0byBmaXggYSBidWcgd2hlcmUgQ2hyb21lIGdldHMgYW4gaW5jb3JyZWN0XG4gIC8vIG1lYXN1cmVtZW50LiBXZSBqdXN0IGhhdmUgdG8gYWNjb3VudCBmb3IgaXQgbGF0ZXIgYW5kIHN1YnRyYWN0IGl0IG9mZiB0aGUgZmluYWwgcmVzdWx0LlxuICBwYWRkaW5nOiAycHggMCAhaW1wb3J0YW50O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveCAhaW1wb3J0YW50O1xufVxuXG4vLyBVc2VkIHRvIGdlbmVyYXRlIFVJRHMgZm9yIGtleWZyYW1lcyB1c2VkIHRvIGNoYW5nZSB0aGUgdGV4dCBmaWVsZCBhdXRvZmlsbCBzdHlsZXMuXG4kY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3ItZnJhbWUtY291bnQ6IDA7XG5cbi8vIE1peGluIHVzZWQgdG8gYXBwbHkgY3VzdG9tIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgY29sb3JzIHRvIGFuIGF1dG9maWxsZWQgdGV4dCBmaWVsZC5cbi8vIEJhc2VkIG9uOiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8yNzgxNTQ5L1xuLy8gcmVtb3ZpbmctaW5wdXQtYmFja2dyb3VuZC1jb2xvdXItZm9yLWNocm9tZS1hdXRvY29tcGxldGUjYW5zd2VyLTM3NDMyMjYwXG5AbWl4aW4gY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3IoJGJhY2tncm91bmQsICRmb3JlZ3JvdW5kOicnKSB7XG4gIEBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3ItI3skY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3ItZnJhbWUtY291bnR9IHtcbiAgICB0byB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgIEBpZiAkZm9yZWdyb3VuZCAhPSAnJyB7IGNvbG9yOiAkZm9yZWdyb3VuZDsgfVxuICAgIH1cbiAgfVxuXG4gICY6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgYW5pbWF0aW9uOiBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci0jeyRjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci1mcmFtZS1jb3VudH0gYm90aDtcbiAgfVxuXG4gICYuY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgIC8vIFNpbmNlIENocm9tZSA4MCB3ZSBuZWVkIGEgMW1zIGRlbGF5IGZvciBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCwgb3IgdGhlIGFuaW1hdGlvbnN0YXJ0XG4gICAgLy8gZXZlbnQgd29uJ3QgZmlyZS5cbiAgICBhbmltYXRpb246IGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtcyxcbiAgICAgICAgICAgICAgIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLSN7JGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLWZyYW1lLWNvdW50fSBib3RoO1xuICB9XG5cbiAgJGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLWZyYW1lLWNvdW50OlxuICAgICAgJGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLWZyYW1lLWNvdW50ICsgMSAhZ2xvYmFsO1xufVxuXG5cbi8vIENvcmUgc3R5bGVzIHRoYXQgY2FuIGJlIHVzZWQgdG8gYXBwbHkgbWF0ZXJpYWwgZGVzaWduIHRyZWF0bWVudHMgdG8gYW55IGVsZW1lbnQuXG4vLyBNZWRpYSBxdWVyaWVzXG4vLyBUT0RPKGpvc2VwaHBlcnJvdHQpOiBDaGFuZ2UgJG1hdC14c21hbGwgYW5kICRtYXQtc21hbGwgdXNhZ2VzIHRvIHJlbHkgb24gQnJlYWtwb2ludE9ic2VydmVyLFxuJG1hdC14c21hbGw6ICdtYXgtd2lkdGg6IDU5OXB4JztcbiRtYXQtc21hbGw6ICdtYXgtd2lkdGg6IDk1OXB4JztcblxuLy8gVE9ETzogUmV2aXNpdCBhbGwgei1pbmRpY2VzIGJlZm9yZSBiZXRhXG4vLyB6LWluZGV4IG1hc3RlciBsaXN0XG5cbiR6LWluZGV4LWZhYjogMjAgIWRlZmF1bHQ7XG4kei1pbmRleC1kcmF3ZXI6IDEwMCAhZGVmYXVsdDtcblxuLy8gR2xvYmFsIGNvbnN0YW50c1xuJHBpOiAzLjE0MTU5MjY1O1xuXG4vLyBQYWRkaW5nIGJldHdlZW4gaW5wdXQgdG9nZ2xlcyBhbmQgdGhlaXIgbGFiZWxzXG4kbWF0LXRvZ2dsZS1wYWRkaW5nOiA4cHggIWRlZmF1bHQ7XG4vLyBXaWR0aCBhbmQgaGVpZ2h0IG9mIGlucHV0IHRvZ2dsZXNcbiRtYXQtdG9nZ2xlLXNpemU6IDIwcHggIWRlZmF1bHQ7XG5cbi8vIEVhc2luZyBDdXJ2ZXNcbi8vIFRPRE8oamVsYm91cm4pOiBhbGwgb2YgdGhlc2UgbmVlZCB0byBiZSByZXZpc2l0ZWRcblxuLy8gVGhlIGRlZmF1bHQgYW5pbWF0aW9uIGN1cnZlcyB1c2VkIGJ5IG1hdGVyaWFsIGRlc2lnbi5cbiRtYXQtbGluZWFyLW91dC1zbG93LWluLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMC4xKSAhZGVmYXVsdDtcbiRtYXQtZmFzdC1vdXQtc2xvdy1pbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSkgIWRlZmF1bHQ7XG4kbWF0LWZhc3Qtb3V0LWxpbmVhci1pbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDEsIDEpICFkZWZhdWx0O1xuXG4kZWFzZS1pbi1vdXQtY3VydmUtZnVuY3Rpb246IGN1YmljLWJlemllcigwLjM1LCAwLCAwLjI1LCAxKSAhZGVmYXVsdDtcblxuJHN3aWZ0LWVhc2Utb3V0LWR1cmF0aW9uOiA0MDBtcyAhZGVmYXVsdDtcbiRzd2lmdC1lYXNlLW91dC10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpICFkZWZhdWx0O1xuJHN3aWZ0LWVhc2Utb3V0OiBhbGwgJHN3aWZ0LWVhc2Utb3V0LWR1cmF0aW9uICRzd2lmdC1lYXNlLW91dC10aW1pbmctZnVuY3Rpb24gIWRlZmF1bHQ7XG5cbiRzd2lmdC1lYXNlLWluLWR1cmF0aW9uOiAzMDBtcyAhZGVmYXVsdDtcbiRzd2lmdC1lYXNlLWluLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAsIDAuNTUsIDAuMikgIWRlZmF1bHQ7XG4kc3dpZnQtZWFzZS1pbjogYWxsICRzd2lmdC1lYXNlLWluLWR1cmF0aW9uICRzd2lmdC1lYXNlLWluLXRpbWluZy1mdW5jdGlvbiAhZGVmYXVsdDtcblxuJHN3aWZ0LWVhc2UtaW4tb3V0LWR1cmF0aW9uOiA1MDBtcyAhZGVmYXVsdDtcbiRzd2lmdC1lYXNlLWluLW91dC10aW1pbmctZnVuY3Rpb246ICRlYXNlLWluLW91dC1jdXJ2ZS1mdW5jdGlvbiAhZGVmYXVsdDtcbiRzd2lmdC1lYXNlLWluLW91dDogYWxsICRzd2lmdC1lYXNlLWluLW91dC1kdXJhdGlvbiAkc3dpZnQtZWFzZS1pbi1vdXQtdGltaW5nLWZ1bmN0aW9uICFkZWZhdWx0O1xuXG4kc3dpZnQtbGluZWFyLWR1cmF0aW9uOiA4MG1zICFkZWZhdWx0O1xuJHN3aWZ0LWxpbmVhci10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhZGVmYXVsdDtcbiRzd2lmdC1saW5lYXI6IGFsbCAkc3dpZnQtbGluZWFyLWR1cmF0aW9uICRzd2lmdC1saW5lYXItdGltaW5nLWZ1bmN0aW9uICFkZWZhdWx0O1xuXG5cblxuLy8gQSBjb2xsZWN0aW9uIG9mIG1peGlucyBhbmQgQ1NTIGNsYXNzZXMgdGhhdCBjYW4gYmUgdXNlZCB0byBhcHBseSBlbGV2YXRpb24gdG8gYSBtYXRlcmlhbFxuLy8gZWxlbWVudC5cbi8vIFNlZTogaHR0cHM6Ly9tYXRlcmlhbC5pby9kZXNpZ24vZW52aXJvbm1lbnQvZWxldmF0aW9uLmh0bWxcbi8vIEV4YW1wbGVzOlxuLy9cbi8vXG4vLyAubWF0LWZvbyB7XG4vLyAgIEBpbmNsdWRlICRtYXQtZWxldmF0aW9uKDIpO1xuLy9cbi8vICAgJjphY3RpdmUge1xuLy8gICAgIEBpbmNsdWRlICRtYXQtZWxldmF0aW9uKDgpO1xuLy8gICB9XG4vLyB9XG4vL1xuLy8gPGRpdiBpZD1cImV4dGVybmFsLWNhcmRcIiBjbGFzcz1cIm1hdC1lbGV2YXRpb24tejJcIj48cD5Tb21lIGNvbnRlbnQ8L3A+PC9kaXY+XG4vL1xuLy8gRm9yIGFuIGV4cGxhbmF0aW9uIG9mIHRoZSBkZXNpZ24gYmVoaW5kIGhvdyBlbGV2YXRpb24gaXMgaW1wbGVtZW50ZWQsIHNlZSB0aGUgZGVzaWduIGRvYyBhdFxuLy8gaHR0cHM6Ly9nb28uZ2wvS3EwazlaLlxuXG4vLyBDb2xvcnMgZm9yIHVtYnJhLCBwZW51bWJyYSwgYW5kIGFtYmllbnQgc2hhZG93cy4gQXMgZGVzY3JpYmVkIGluIHRoZSBkZXNpZ24gZG9jLCBlYWNoIGVsZXZhdGlvblxuLy8gbGV2ZWwgaXMgY3JlYXRlZCB1c2luZyBhIHNldCBvZiAzIHNoYWRvdyB2YWx1ZXMsIG9uZSBmb3IgdW1icmEgKHRoZSBzaGFkb3cgcmVwcmVzZW50aW5nIHRoZVxuLy8gc3BhY2UgY29tcGxldGVseSBvYnNjdXJlZCBieSBhbiBvYmplY3QgcmVsYXRpdmUgdG8gaXRzIGxpZ2h0IHNvdXJjZSksIG9uZSBmb3IgcGVudW1icmEgKHRoZVxuLy8gc3BhY2UgcGFydGlhbGx5IG9ic2N1cmVkIGJ5IGFuIG9iamVjdCksIGFuZCBvbmUgZm9yIGFtYmllbnQgKHRoZSBzcGFjZSB3aGljaCBjb250YWlucyB0aGUgb2JqZWN0XG4vLyBpdHNlbGYpLiBGb3IgYSBmdXJ0aGVyIGV4cGxhbmF0aW9uIG9mIHRoZXNlIHRlcm1zIGFuZCB0aGVpciBtZWFuaW5ncywgc2VlXG4vLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9VbWJyYSxfcGVudW1icmFfYW5kX2FudHVtYnJhLlxuXG4vLyBNYXBzIGZvciB0aGUgZGlmZmVyZW50IHNoYWRvdyBzZXRzIGFuZCB0aGVpciB2YWx1ZXMgd2l0aGluIGVhY2ggei1zcGFjZS4gVGhlc2UgdmFsdWVzIHdlcmVcbi8vIGNyZWF0ZWQgYnkgdGFraW5nIGEgZmV3IHJlZmVyZW5jZSBzaGFkb3cgc2V0cyBjcmVhdGVkIGJ5IEdvb2dsZSdzIERlc2lnbmVycyBhbmQgaW50ZXJwb2xhdGluZ1xuLy8gYWxsIG9mIHRoZSB2YWx1ZXMgYmV0d2VlbiB0aGVtLlxuXG5AZnVuY3Rpb24gX2dldC11bWJyYS1tYXAoJGNvbG9yLCAkb3BhY2l0eSkge1xuICAkc2hhZG93LWNvbG9yOiBpZih0eXBlLW9mKCRjb2xvcikgPT0gY29sb3IsIHJnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMiksICRjb2xvcik7XG5cbiAgQHJldHVybiAoXG4gICAgMDogJzBweCAwcHggMHB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxOiAnMHB4IDJweCAxcHggLTFweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyOiAnMHB4IDNweCAxcHggLTJweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAzOiAnMHB4IDNweCAzcHggLTJweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA0OiAnMHB4IDJweCA0cHggLTFweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA1OiAnMHB4IDNweCA1cHggLTFweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA2OiAnMHB4IDNweCA1cHggLTFweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA3OiAnMHB4IDRweCA1cHggLTJweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA4OiAnMHB4IDVweCA1cHggLTNweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA5OiAnMHB4IDVweCA2cHggLTNweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMDogJzBweCA2cHggNnB4IC0zcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTE6ICcwcHggNnB4IDdweCAtNHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDEyOiAnMHB4IDdweCA4cHggLTRweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMzogJzBweCA3cHggOHB4IC00cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTQ6ICcwcHggN3B4IDlweCAtNHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE1OiAnMHB4IDhweCA5cHggLTVweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNjogJzBweCA4cHggMTBweCAtNXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE3OiAnMHB4IDhweCAxMXB4IC01cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTg6ICcwcHggOXB4IDExcHggLTVweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxOTogJzBweCA5cHggMTJweCAtNnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDIwOiAnMHB4IDEwcHggMTNweCAtNnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDIxOiAnMHB4IDEwcHggMTNweCAtNnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDIyOiAnMHB4IDEwcHggMTRweCAtNnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDIzOiAnMHB4IDExcHggMTRweCAtN3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDI0OiAnMHB4IDExcHggMTVweCAtN3B4ICN7JHNoYWRvdy1jb2xvcn0nXG4gICk7XG59XG5cbkBmdW5jdGlvbiBfZ2V0LXBlbnVtYnJhLW1hcCgkY29sb3IsICRvcGFjaXR5KSB7XG4gICRzaGFkb3ctY29sb3I6IGlmKHR5cGUtb2YoJGNvbG9yKSA9PSBjb2xvciwgcmdiYSgkY29sb3IsICRvcGFjaXR5ICogMC4xNCksICRjb2xvcik7XG5cbiAgQHJldHVybiAoXG4gICAgMDogJzBweCAwcHggMHB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxOiAnMHB4IDFweCAxcHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDI6ICcwcHggMnB4IDJweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMzogJzBweCAzcHggNHB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA0OiAnMHB4IDRweCA1cHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDU6ICcwcHggNXB4IDhweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNjogJzBweCA2cHggMTBweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNzogJzBweCA3cHggMTBweCAxcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgODogJzBweCA4cHggMTBweCAxcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgOTogJzBweCA5cHggMTJweCAxcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTA6ICcwcHggMTBweCAxNHB4IDFweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMTogJzBweCAxMXB4IDE1cHggMXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDEyOiAnMHB4IDEycHggMTdweCAycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTM6ICcwcHggMTNweCAxOXB4IDJweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNDogJzBweCAxNHB4IDIxcHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE1OiAnMHB4IDE1cHggMjJweCAycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTY6ICcwcHggMTZweCAyNHB4IDJweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNzogJzBweCAxN3B4IDI2cHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE4OiAnMHB4IDE4cHggMjhweCAycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTk6ICcwcHggMTlweCAyOXB4IDJweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMDogJzBweCAyMHB4IDMxcHggM3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDIxOiAnMHB4IDIxcHggMzNweCAzcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjI6ICcwcHggMjJweCAzNXB4IDNweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMzogJzBweCAyM3B4IDM2cHggM3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDI0OiAnMHB4IDI0cHggMzhweCAzcHggI3skc2hhZG93LWNvbG9yfSdcbiAgKTtcbn1cblxuQGZ1bmN0aW9uIF9nZXQtYW1iaWVudC1tYXAoJGNvbG9yLCAkb3BhY2l0eSkge1xuICAkc2hhZG93LWNvbG9yOiBpZih0eXBlLW9mKCRjb2xvcikgPT0gY29sb3IsIHJnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTIpLCAkY29sb3IpO1xuXG4gIEByZXR1cm4gKFxuICAgIDA6ICcwcHggMHB4IDBweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTogJzBweCAxcHggM3B4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyOiAnMHB4IDFweCA1cHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDM6ICcwcHggMXB4IDhweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNDogJzBweCAxcHggMTBweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNTogJzBweCAxcHggMTRweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNjogJzBweCAxcHggMThweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNzogJzBweCAycHggMTZweCAxcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgODogJzBweCAzcHggMTRweCAycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgOTogJzBweCAzcHggMTZweCAycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTA6ICcwcHggNHB4IDE4cHggM3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDExOiAnMHB4IDRweCAyMHB4IDNweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMjogJzBweCA1cHggMjJweCA0cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTM6ICcwcHggNXB4IDI0cHggNHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE0OiAnMHB4IDVweCAyNnB4IDRweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNTogJzBweCA2cHggMjhweCA1cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTY6ICcwcHggNnB4IDMwcHggNXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE3OiAnMHB4IDZweCAzMnB4IDVweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxODogJzBweCA3cHggMzRweCA2cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTk6ICcwcHggN3B4IDM2cHggNnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDIwOiAnMHB4IDhweCAzOHB4IDdweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMTogJzBweCA4cHggNDBweCA3cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjI6ICcwcHggOHB4IDQycHggN3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDIzOiAnMHB4IDlweCA0NHB4IDhweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyNDogJzBweCA5cHggNDZweCA4cHggI3skc2hhZG93LWNvbG9yfSdcbiAgKTtcbn1cblxuLy8gVGhlIGRlZmF1bHQgZHVyYXRpb24gdmFsdWUgZm9yIGVsZXZhdGlvbiB0cmFuc2l0aW9ucy5cbiRtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tZHVyYXRpb246IDI4MG1zICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBlYXNpbmcgdmFsdWUgZm9yIGVsZXZhdGlvbiB0cmFuc2l0aW9ucy5cbiRtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkbWF0LWZhc3Qtb3V0LXNsb3ctaW4tdGltaW5nLWZ1bmN0aW9uO1xuXG4vLyBUaGUgZGVmYXVsdCBjb2xvciBmb3IgZWxldmF0aW9uIHNoYWRvd3MuXG4kbWF0LWVsZXZhdGlvbi1jb2xvcjogYmxhY2sgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IG9wYWNpdHkgc2NhbGluZyB2YWx1ZSBmb3IgZWxldmF0aW9uIHNoYWRvd3MuXG4kbWF0LWVsZXZhdGlvbi1vcGFjaXR5OiAxICFkZWZhdWx0O1xuXG4vLyBQcmVmaXggZm9yIGVsZXZhdGlvbi1yZWxhdGVkIHNlbGVjdG9ycy5cbiRtYXQtZWxldmF0aW9uLXByZWZpeDogJ21hdC1lbGV2YXRpb24teic7XG5cbi8vIEFwcGxpZXMgdGhlIGNvcnJlY3QgY3NzIHJ1bGVzIHRvIGFuIGVsZW1lbnQgdG8gZ2l2ZSBpdCB0aGUgZWxldmF0aW9uIHNwZWNpZmllZCBieSAkelZhbHVlLlxuLy8gVGhlICR6VmFsdWUgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDI0LlxuQG1peGluIG1hdC1lbGV2YXRpb24oJHpWYWx1ZSwgJGNvbG9yOiAkbWF0LWVsZXZhdGlvbi1jb2xvciwgJG9wYWNpdHk6ICRtYXQtZWxldmF0aW9uLW9wYWNpdHkpIHtcbiAgQGlmIHR5cGUtb2YoJHpWYWx1ZSkgIT0gbnVtYmVyIG9yIG5vdCB1bml0bGVzcygkelZhbHVlKSB7XG4gICAgQGVycm9yICckelZhbHVlIG11c3QgYmUgYSB1bml0bGVzcyBudW1iZXInO1xuICB9XG4gIEBpZiAkelZhbHVlIDwgMCBvciAkelZhbHVlID4gMjQge1xuICAgIEBlcnJvciAnJHpWYWx1ZSBtdXN0IGJlIGJldHdlZW4gMCBhbmQgMjQnO1xuICB9XG5cbiAgYm94LXNoYWRvdzogI3ttYXAtZ2V0KF9nZXQtdW1icmEtbWFwKCRjb2xvciwgJG9wYWNpdHkpLCAkelZhbHVlKX0sXG4gICAgICAgICAgICAgICN7bWFwLWdldChfZ2V0LXBlbnVtYnJhLW1hcCgkY29sb3IsICRvcGFjaXR5KSwgJHpWYWx1ZSl9LFxuICAgICAgICAgICAgICAje21hcC1nZXQoX2dldC1hbWJpZW50LW1hcCgkY29sb3IsICRvcGFjaXR5KSwgJHpWYWx1ZSl9O1xufVxuXG4vLyBBcHBsaWVzIHRoZSBlbGV2YXRpb24gdG8gYW4gZWxlbWVudCBpbiBhIG1hbm5lciB0aGF0IGFsbG93c1xuLy8gY29uc3VtZXJzIHRvIG92ZXJyaWRlIGl0IHZpYSB0aGUgTWF0ZXJpYWwgZWxldmF0aW9uIGNsYXNzZXMuXG5AbWl4aW4gbWF0LW92ZXJyaWRhYmxlLWVsZXZhdGlvbihcbiAgICAkelZhbHVlLFxuICAgICRjb2xvcjogJG1hdC1lbGV2YXRpb24tY29sb3IsXG4gICAgJG9wYWNpdHk6ICRtYXQtZWxldmF0aW9uLW9wYWNpdHkpIHtcbiAgJjpub3QoW2NsYXNzKj0nI3skbWF0LWVsZXZhdGlvbi1wcmVmaXh9J10pIHtcbiAgICBAaW5jbHVkZSBtYXQtZWxldmF0aW9uKCR6VmFsdWUsICRjb2xvciwgJG9wYWNpdHkpO1xuICB9XG59XG5cbi8vIFJldHVybnMgYSBzdHJpbmcgdGhhdCBjYW4gYmUgdXNlZCBhcyB0aGUgdmFsdWUgZm9yIGEgdHJhbnNpdGlvbiBwcm9wZXJ0eSBmb3IgZWxldmF0aW9uLlxuLy8gQ2FsbGluZyB0aGlzIGZ1bmN0aW9uIGRpcmVjdGx5IGlzIHVzZWZ1bCBpbiBzaXR1YXRpb25zIHdoZXJlIGEgY29tcG9uZW50IG5lZWRzIHRvIHRyYW5zaXRpb25cbi8vIG1vcmUgdGhhbiBvbmUgcHJvcGVydHkuXG4vL1xuLy8gLmZvbyB7XG4vLyAgIHRyYW5zaXRpb246IG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi1wcm9wZXJ0eS12YWx1ZSgpLCBvcGFjaXR5IDEwMG1zIGVhc2U7XG4vLyB9XG5AZnVuY3Rpb24gbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLXByb3BlcnR5LXZhbHVlKFxuICAgICRkdXJhdGlvbjogJG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi1kdXJhdGlvbixcbiAgICAkZWFzaW5nOiAkbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikge1xuICBAcmV0dXJuIGJveC1zaGFkb3cgI3skZHVyYXRpb259ICN7JGVhc2luZ307XG59XG5cbi8vIEFwcGxpZXMgdGhlIGNvcnJlY3QgY3NzIHJ1bGVzIG5lZWRlZCB0byBoYXZlIGFuIGVsZW1lbnQgdHJhbnNpdGlvbiBiZXR3ZWVuIGVsZXZhdGlvbnMuXG4vLyBUaGlzIG1peGluIHNob3VsZCBiZSBhcHBsaWVkIHRvIGVsZW1lbnRzIHdob3NlIGVsZXZhdGlvbiB2YWx1ZXMgd2lsbCBjaGFuZ2UgZGVwZW5kaW5nIG9uIHRoZWlyXG4vLyBjb250ZXh0IChlLmcuIHdoZW4gYWN0aXZlIG9yIGRpc2FibGVkKS5cbi8vXG4vLyBOT1RFKHRyYXZpc2thdWZtYW4pOiBCb3RoIHRoaXMgbWl4aW4gYW5kIHRoZSBhYm92ZSBmdW5jdGlvbiB1c2UgZGVmYXVsdCBwYXJhbWV0ZXJzIHNvIHRoZXkgY2FuXG4vLyBiZSB1c2VkIGluIHRoZSBzYW1lIHdheSBieSBjbGllbnRzLlxuQG1peGluIG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbihcbiAgICAkZHVyYXRpb246ICRtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tZHVyYXRpb24sXG4gICAgJGVhc2luZzogJG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pIHtcbiAgdHJhbnNpdGlvbjogbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLXByb3BlcnR5LXZhbHVlKCRkdXJhdGlvbiwgJGVhc2luZyk7XG59XG5cblxuQG1peGluIG1hdC1wcml2YXRlLXRoZW1lLWVsZXZhdGlvbigkelZhbHVlLCAkY29uZmlnLCAkb3BhY2l0eTogJG1hdC1lbGV2YXRpb24tb3BhY2l0eSkge1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGVsZXZhdGlvbi1jb2xvcjogbWFwLWdldCgkZm9yZWdyb3VuZCwgZWxldmF0aW9uKTtcbiAgJGVsZXZhdGlvbi1jb2xvci1vci1kZWZhdWx0OiBpZigkZWxldmF0aW9uLWNvbG9yID09IG51bGwsICRtYXQtZWxldmF0aW9uLWNvbG9yLCAkZWxldmF0aW9uLWNvbG9yKTtcblxuICBAaW5jbHVkZSBtYXQtZWxldmF0aW9uKCR6VmFsdWUsICRlbGV2YXRpb24tY29sb3Itb3ItZGVmYXVsdCwgJG9wYWNpdHkpO1xufVxuXG5AbWl4aW4gbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKCR6VmFsdWUsICRjb25maWcsICRvcGFjaXR5OiAkbWF0LWVsZXZhdGlvbi1vcGFjaXR5KSB7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkZWxldmF0aW9uLWNvbG9yOiBtYXAtZ2V0KCRmb3JlZ3JvdW5kLCBlbGV2YXRpb24pO1xuICAkZWxldmF0aW9uLWNvbG9yLW9yLWRlZmF1bHQ6IGlmKCRlbGV2YXRpb24tY29sb3IgPT0gbnVsbCwgJG1hdC1lbGV2YXRpb24tY29sb3IsICRlbGV2YXRpb24tY29sb3IpO1xuXG4gIEBpbmNsdWRlIG1hdC1vdmVycmlkYWJsZS1lbGV2YXRpb24oJHpWYWx1ZSwgJGVsZXZhdGlvbi1jb2xvci1vci1kZWZhdWx0LCAkb3BhY2l0eSk7XG59XG5cbi8vIElmIHRoZSBtYXQtYW5pbWF0aW9uLW5vb3AgY2xhc3MgaXMgcHJlc2VudCBvbiB0aGUgY29tcG9uZW50cyByb290IGVsZW1lbnQsXG4vLyBwcmV2ZW50IG5vbiBjc3MgYW5pbWF0aW9ucyBmcm9tIHJ1bm5pbmcuXG4vLyBOT1RFOiBDdXJyZW50bHkgdGhpcyBtaXhpbiBzaG91bGQgb25seSBiZSB1c2VkIHdpdGggY29tcG9uZW50cyB0aGF0IGRvIG5vdFxuLy8gaGF2ZSBhbnkgcHJvamVjdGVkIGNvbnRlbnQuXG5AbWl4aW4gbWF0LXByaXZhdGUtYW5pbWF0aW9uLW5vb3AoKSB7XG4gIC8vIEBhdC1yb290IGlzIHVzZWQgdG8gc3RlcHMgb3V0c2lkZSBvZiB0aGUgaGllcmFyY2h5IG9mIHRoZSBzY3NzIHJ1bGVzLiBUaGlzIGlzXG4gIC8vIGRvbmUgdG8gYWxsb3cgYSBjbGFzcyB0byBiZSBhZGRlZCB0byBiZSBhZGRlZCB0byBiYXNlIG9mIHRoZSBzY3NzIG5lc3RpbmdcbiAgLy8gY29udGV4dC5cbiAgLy8gRm9yIGV4YW1wbGU6XG4gIC8vIC5teS1yb290IHtcbiAgLy8gICAubXktc3ViY2xhc3Mge1xuICAvLyAgICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLWFuaW1hdGlvbi1ub29wKCk7XG4gIC8vICAgIH1cbiAgLy8gfVxuICAvLyByZXN1bHRzIGluOlxuICAvLyAuX21hdC1hbmltYXRpb24tbm9vcGFibGUubXktcm9vdCAubXktc3ViY2xhc3MgeyAuLi4gfVxuICBAYXQtcm9vdCAuX21hdC1hbmltYXRpb24tbm9vcGFibGUjeyZ9IHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBDb2xvciBwYWxldHRlcyBmcm9tIHRoZSBNYXRlcmlhbCBEZXNpZ24gc3BlYy5cbi8vIFNlZSBodHRwczovL21hdGVyaWFsLmlvL2Rlc2lnbi9jb2xvci9cbi8vXG4vLyBDb250cmFzdCBjb2xvcnMgYXJlIGhhcmQtY29kZWQgYmVjYXVzZSBpdCBpcyB0b28gZGlmZmljdWx0IChwcm9iYWJseSBpbXBvc3NpYmxlKSB0b1xuLy8gY2FsY3VsYXRlIHRoZW0uIFRoZXNlIGNvbnRyYXN0IGNvbG9ycyBhcmUgcHVsbGVkIGZyb20gdGhlIHB1YmxpYyBNYXRlcmlhbCBEZXNpZ24gc3BlYyBzd2F0Y2hlcy5cbi8vIFdoaWxlIHRoZSBjb250cmFzdCBjb2xvcnMgaW4gdGhlIHNwZWMgYXJlIG5vdCBwcmVzY3JpcHRpdmUsIHdlIHVzZSB0aGVtIGZvciBjb252ZW5pZW5jZS5cblxuXG4vLyBAZGVwcmVjYXRlZCByZW5hbWVkIHRvICRkYXJrLXByaW1hcnktdGV4dC5cbi8vIEBicmVha2luZy1jaGFuZ2UgOC4wLjBcbiRibGFjay04Ny1vcGFjaXR5OiByZ2JhKGJsYWNrLCAwLjg3KTtcbi8vIEBkZXByZWNhdGVkIHJlbmFtZWQgdG8gJGxpZ2h0LXByaW1hcnktdGV4dC5cbi8vIEBicmVha2luZy1jaGFuZ2UgOC4wLjBcbiR3aGl0ZS04Ny1vcGFjaXR5OiByZ2JhKHdoaXRlLCAwLjg3KTtcbi8vIEBkZXByZWNhdGVkIHVzZSAkZGFyay1bc2Vjb25kYXJ5LXRleHQsZGlzYWJsZWQtdGV4dCxkaXZpZGVycyxmb2N1c2VkXSBpbnN0ZWFkLlxuLy8gQGJyZWFraW5nLWNoYW5nZSA4LjAuMFxuJGJsYWNrLTEyLW9wYWNpdHk6IHJnYmEoYmxhY2ssIDAuMTIpO1xuLy8gQGRlcHJlY2F0ZWQgdXNlICRsaWdodC1bc2Vjb25kYXJ5LXRleHQsZGlzYWJsZWQtdGV4dCxkaXZpZGVycyxmb2N1c2VkXSBpbnN0ZWFkLlxuLy8gQGJyZWFraW5nLWNoYW5nZSA4LjAuMFxuJHdoaXRlLTEyLW9wYWNpdHk6IHJnYmEod2hpdGUsIDAuMTIpO1xuLy8gQGRlcHJlY2F0ZWQgdXNlICRkYXJrLVtzZWNvbmRhcnktdGV4dCxkaXNhYmxlZC10ZXh0LGRpdmlkZXJzLGZvY3VzZWRdIGluc3RlYWQuXG4vLyBAYnJlYWtpbmctY2hhbmdlIDguMC4wXG4kYmxhY2stNi1vcGFjaXR5OiByZ2JhKGJsYWNrLCAwLjA2KTtcbi8vIEBkZXByZWNhdGVkIHVzZSAkbGlnaHQtW3NlY29uZGFyeS10ZXh0LGRpc2FibGVkLXRleHQsZGl2aWRlcnMsZm9jdXNlZF0gaW5zdGVhZC5cbi8vIEBicmVha2luZy1jaGFuZ2UgOC4wLjBcbiR3aGl0ZS02LW9wYWNpdHk6IHJnYmEod2hpdGUsIDAuMDYpO1xuXG4kZGFyay1wcmltYXJ5LXRleHQ6IHJnYmEoYmxhY2ssIDAuODcpO1xuJGRhcmstc2Vjb25kYXJ5LXRleHQ6IHJnYmEoYmxhY2ssIDAuNTQpO1xuJGRhcmstZGlzYWJsZWQtdGV4dDogcmdiYShibGFjaywgMC4zOCk7XG4kZGFyay1kaXZpZGVyczogcmdiYShibGFjaywgMC4xMik7XG4kZGFyay1mb2N1c2VkOiByZ2JhKGJsYWNrLCAwLjEyKTtcbiRsaWdodC1wcmltYXJ5LXRleHQ6IHdoaXRlO1xuJGxpZ2h0LXNlY29uZGFyeS10ZXh0OiByZ2JhKHdoaXRlLCAwLjcpO1xuJGxpZ2h0LWRpc2FibGVkLXRleHQ6IHJnYmEod2hpdGUsIDAuNSk7XG4kbGlnaHQtZGl2aWRlcnM6IHJnYmEod2hpdGUsIDAuMTIpO1xuJGxpZ2h0LWZvY3VzZWQ6IHJnYmEod2hpdGUsIDAuMTIpO1xuXG4kbWF0LXJlZDogKFxuICA1MDogI2ZmZWJlZSxcbiAgMTAwOiAjZmZjZGQyLFxuICAyMDA6ICNlZjlhOWEsXG4gIDMwMDogI2U1NzM3MyxcbiAgNDAwOiAjZWY1MzUwLFxuICA1MDA6ICNmNDQzMzYsXG4gIDYwMDogI2U1MzkzNSxcbiAgNzAwOiAjZDMyZjJmLFxuICA4MDA6ICNjNjI4MjgsXG4gIDkwMDogI2I3MWMxYyxcbiAgQTEwMDogI2ZmOGE4MCxcbiAgQTIwMDogI2ZmNTI1MixcbiAgQTQwMDogI2ZmMTc0NCxcbiAgQTcwMDogI2Q1MDAwMCxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LXBpbms6IChcbiAgNTA6ICNmY2U0ZWMsXG4gIDEwMDogI2Y4YmJkMCxcbiAgMjAwOiAjZjQ4ZmIxLFxuICAzMDA6ICNmMDYyOTIsXG4gIDQwMDogI2VjNDA3YSxcbiAgNTAwOiAjZTkxZTYzLFxuICA2MDA6ICNkODFiNjAsXG4gIDcwMDogI2MyMTg1YixcbiAgODAwOiAjYWQxNDU3LFxuICA5MDA6ICM4ODBlNGYsXG4gIEExMDA6ICNmZjgwYWIsXG4gIEEyMDA6ICNmZjQwODEsXG4gIEE0MDA6ICNmNTAwNTcsXG4gIEE3MDA6ICNjNTExNjIsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1wdXJwbGU6IChcbiAgNTA6ICNmM2U1ZjUsXG4gIDEwMDogI2UxYmVlNyxcbiAgMjAwOiAjY2U5M2Q4LFxuICAzMDA6ICNiYTY4YzgsXG4gIDQwMDogI2FiNDdiYyxcbiAgNTAwOiAjOWMyN2IwLFxuICA2MDA6ICM4ZTI0YWEsXG4gIDcwMDogIzdiMWZhMixcbiAgODAwOiAjNmExYjlhLFxuICA5MDA6ICM0YTE0OGMsXG4gIEExMDA6ICNlYTgwZmMsXG4gIEEyMDA6ICNlMDQwZmIsXG4gIEE0MDA6ICNkNTAwZjksXG4gIEE3MDA6ICNhYTAwZmYsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LWRlZXAtcHVycGxlOiAoXG4gIDUwOiAjZWRlN2Y2LFxuICAxMDA6ICNkMWM0ZTksXG4gIDIwMDogI2IzOWRkYixcbiAgMzAwOiAjOTU3NWNkLFxuICA0MDA6ICM3ZTU3YzIsXG4gIDUwMDogIzY3M2FiNyxcbiAgNjAwOiAjNWUzNWIxLFxuICA3MDA6ICM1MTJkYTgsXG4gIDgwMDogIzQ1MjdhMCxcbiAgOTAwOiAjMzExYjkyLFxuICBBMTAwOiAjYjM4OGZmLFxuICBBMjAwOiAjN2M0ZGZmLFxuICBBNDAwOiAjNjUxZmZmLFxuICBBNzAwOiAjNjIwMGVhLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1pbmRpZ286IChcbiAgNTA6ICNlOGVhZjYsXG4gIDEwMDogI2M1Y2FlOSxcbiAgMjAwOiAjOWZhOGRhLFxuICAzMDA6ICM3OTg2Y2IsXG4gIDQwMDogIzVjNmJjMCxcbiAgNTAwOiAjM2Y1MWI1LFxuICA2MDA6ICMzOTQ5YWIsXG4gIDcwMDogIzMwM2Y5ZixcbiAgODAwOiAjMjgzNTkzLFxuICA5MDA6ICMxYTIzN2UsXG4gIEExMDA6ICM4YzllZmYsXG4gIEEyMDA6ICM1MzZkZmUsXG4gIEE0MDA6ICMzZDVhZmUsXG4gIEE3MDA6ICMzMDRmZmUsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LWJsdWU6IChcbiAgNTA6ICNlM2YyZmQsXG4gIDEwMDogI2JiZGVmYixcbiAgMjAwOiAjOTBjYWY5LFxuICAzMDA6ICM2NGI1ZjYsXG4gIDQwMDogIzQyYTVmNSxcbiAgNTAwOiAjMjE5NmYzLFxuICA2MDA6ICMxZTg4ZTUsXG4gIDcwMDogIzE5NzZkMixcbiAgODAwOiAjMTU2NWMwLFxuICA5MDA6ICMwZDQ3YTEsXG4gIEExMDA6ICM4MmIxZmYsXG4gIEEyMDA6ICM0NDhhZmYsXG4gIEE0MDA6ICMyOTc5ZmYsXG4gIEE3MDA6ICMyOTYyZmYsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1saWdodC1ibHVlOiAoXG4gIDUwOiAjZTFmNWZlLFxuICAxMDA6ICNiM2U1ZmMsXG4gIDIwMDogIzgxZDRmYSxcbiAgMzAwOiAjNGZjM2Y3LFxuICA0MDA6ICMyOWI2ZjYsXG4gIDUwMDogIzAzYTlmNCxcbiAgNjAwOiAjMDM5YmU1LFxuICA3MDA6ICMwMjg4ZDEsXG4gIDgwMDogIzAyNzdiZCxcbiAgOTAwOiAjMDE1NzliLFxuICBBMTAwOiAjODBkOGZmLFxuICBBMjAwOiAjNDBjNGZmLFxuICBBNDAwOiAjMDBiMGZmLFxuICBBNzAwOiAjMDA5MWVhLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LWN5YW46IChcbiAgNTA6ICNlMGY3ZmEsXG4gIDEwMDogI2IyZWJmMixcbiAgMjAwOiAjODBkZWVhLFxuICAzMDA6ICM0ZGQwZTEsXG4gIDQwMDogIzI2YzZkYSxcbiAgNTAwOiAjMDBiY2Q0LFxuICA2MDA6ICMwMGFjYzEsXG4gIDcwMDogIzAwOTdhNyxcbiAgODAwOiAjMDA4MzhmLFxuICA5MDA6ICMwMDYwNjQsXG4gIEExMDA6ICM4NGZmZmYsXG4gIEEyMDA6ICMxOGZmZmYsXG4gIEE0MDA6ICMwMGU1ZmYsXG4gIEE3MDA6ICMwMGI4ZDQsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC10ZWFsOiAoXG4gIDUwOiAjZTBmMmYxLFxuICAxMDA6ICNiMmRmZGIsXG4gIDIwMDogIzgwY2JjNCxcbiAgMzAwOiAjNGRiNmFjLFxuICA0MDA6ICMyNmE2OWEsXG4gIDUwMDogIzAwOTY4OCxcbiAgNjAwOiAjMDA4OTdiLFxuICA3MDA6ICMwMDc5NmIsXG4gIDgwMDogIzAwNjk1YyxcbiAgOTAwOiAjMDA0ZDQwLFxuICBBMTAwOiAjYTdmZmViLFxuICBBMjAwOiAjNjRmZmRhLFxuICBBNDAwOiAjMWRlOWI2LFxuICBBNzAwOiAjMDBiZmE1LFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtZ3JlZW46IChcbiAgNTA6ICNlOGY1ZTksXG4gIDEwMDogI2M4ZTZjOSxcbiAgMjAwOiAjYTVkNmE3LFxuICAzMDA6ICM4MWM3ODQsXG4gIDQwMDogIzY2YmI2YSxcbiAgNTAwOiAjNGNhZjUwLFxuICA2MDA6ICM0M2EwNDcsXG4gIDcwMDogIzM4OGUzYyxcbiAgODAwOiAjMmU3ZDMyLFxuICA5MDA6ICMxYjVlMjAsXG4gIEExMDA6ICNiOWY2Y2EsXG4gIEEyMDA6ICM2OWYwYWUsXG4gIEE0MDA6ICMwMGU2NzYsXG4gIEE3MDA6ICMwMGM4NTMsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LWxpZ2h0LWdyZWVuOiAoXG4gIDUwOiAjZjFmOGU5LFxuICAxMDA6ICNkY2VkYzgsXG4gIDIwMDogI2M1ZTFhNSxcbiAgMzAwOiAjYWVkNTgxLFxuICA0MDA6ICM5Y2NjNjUsXG4gIDUwMDogIzhiYzM0YSxcbiAgNjAwOiAjN2NiMzQyLFxuICA3MDA6ICM2ODlmMzgsXG4gIDgwMDogIzU1OGIyZixcbiAgOTAwOiAjMzM2OTFlLFxuICBBMTAwOiAjY2NmZjkwLFxuICBBMjAwOiAjYjJmZjU5LFxuICBBNDAwOiAjNzZmZjAzLFxuICBBNzAwOiAjNjRkZDE3LFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LWxpbWU6IChcbiAgNTA6ICNmOWZiZTcsXG4gIDEwMDogI2YwZjRjMyxcbiAgMjAwOiAjZTZlZTljLFxuICAzMDA6ICNkY2U3NzUsXG4gIDQwMDogI2Q0ZTE1NyxcbiAgNTAwOiAjY2RkYzM5LFxuICA2MDA6ICNjMGNhMzMsXG4gIDcwMDogI2FmYjQyYixcbiAgODAwOiAjOWU5ZDI0LFxuICA5MDA6ICM4Mjc3MTcsXG4gIEExMDA6ICNmNGZmODEsXG4gIEEyMDA6ICNlZWZmNDEsXG4gIEE0MDA6ICNjNmZmMDAsXG4gIEE3MDA6ICNhZWVhMDAsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LXllbGxvdzogKFxuICA1MDogI2ZmZmRlNyxcbiAgMTAwOiAjZmZmOWM0LFxuICAyMDA6ICNmZmY1OWQsXG4gIDMwMDogI2ZmZjE3NixcbiAgNDAwOiAjZmZlZTU4LFxuICA1MDA6ICNmZmViM2IsXG4gIDYwMDogI2ZkZDgzNSxcbiAgNzAwOiAjZmJjMDJkLFxuICA4MDA6ICNmOWE4MjUsXG4gIDkwMDogI2Y1N2YxNyxcbiAgQTEwMDogI2ZmZmY4ZCxcbiAgQTIwMDogI2ZmZmYwMCxcbiAgQTQwMDogI2ZmZWEwMCxcbiAgQTcwMDogI2ZmZDYwMCxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1hbWJlcjogKFxuICA1MDogI2ZmZjhlMSxcbiAgMTAwOiAjZmZlY2IzLFxuICAyMDA6ICNmZmUwODIsXG4gIDMwMDogI2ZmZDU0ZixcbiAgNDAwOiAjZmZjYTI4LFxuICA1MDA6ICNmZmMxMDcsXG4gIDYwMDogI2ZmYjMwMCxcbiAgNzAwOiAjZmZhMDAwLFxuICA4MDA6ICNmZjhmMDAsXG4gIDkwMDogI2ZmNmYwMCxcbiAgQTEwMDogI2ZmZTU3ZixcbiAgQTIwMDogI2ZmZDc0MCxcbiAgQTQwMDogI2ZmYzQwMCxcbiAgQTcwMDogI2ZmYWIwMCxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1vcmFuZ2U6IChcbiAgNTA6ICNmZmYzZTAsXG4gIDEwMDogI2ZmZTBiMixcbiAgMjAwOiAjZmZjYzgwLFxuICAzMDA6ICNmZmI3NGQsXG4gIDQwMDogI2ZmYTcyNixcbiAgNTAwOiAjZmY5ODAwLFxuICA2MDA6ICNmYjhjMDAsXG4gIDcwMDogI2Y1N2MwMCxcbiAgODAwOiAjZWY2YzAwLFxuICA5MDA6ICNlNjUxMDAsXG4gIEExMDA6ICNmZmQxODAsXG4gIEEyMDA6ICNmZmFiNDAsXG4gIEE0MDA6ICNmZjkxMDAsXG4gIEE3MDA6ICNmZjZkMDAsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6IGJsYWNrLFxuICApXG4pO1xuXG4kbWF0LWRlZXAtb3JhbmdlOiAoXG4gIDUwOiAjZmJlOWU3LFxuICAxMDA6ICNmZmNjYmMsXG4gIDIwMDogI2ZmYWI5MSxcbiAgMzAwOiAjZmY4YTY1LFxuICA0MDA6ICNmZjcwNDMsXG4gIDUwMDogI2ZmNTcyMixcbiAgNjAwOiAjZjQ1MTFlLFxuICA3MDA6ICNlNjRhMTksXG4gIDgwMDogI2Q4NDMxNSxcbiAgOTAwOiAjYmYzNjBjLFxuICBBMTAwOiAjZmY5ZTgwLFxuICBBMjAwOiAjZmY2ZTQwLFxuICBBNDAwOiAjZmYzZDAwLFxuICBBNzAwOiAjZGQyYzAwLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1icm93bjogKFxuICA1MDogI2VmZWJlOSxcbiAgMTAwOiAjZDdjY2M4LFxuICAyMDA6ICNiY2FhYTQsXG4gIDMwMDogI2ExODg3ZixcbiAgNDAwOiAjOGQ2ZTYzLFxuICA1MDA6ICM3OTU1NDgsXG4gIDYwMDogIzZkNGM0MSxcbiAgNzAwOiAjNWQ0MDM3LFxuICA4MDA6ICM0ZTM0MmUsXG4gIDkwMDogIzNlMjcyMyxcbiAgQTEwMDogI2Q3Y2NjOCxcbiAgQTIwMDogI2JjYWFhNCxcbiAgQTQwMDogIzhkNmU2MyxcbiAgQTcwMDogIzVkNDAzNyxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1ncmV5OiAoXG4gIDUwOiAjZmFmYWZhLFxuICAxMDA6ICNmNWY1ZjUsXG4gIDIwMDogI2VlZWVlZSxcbiAgMzAwOiAjZTBlMGUwLFxuICA0MDA6ICNiZGJkYmQsXG4gIDUwMDogIzllOWU5ZSxcbiAgNjAwOiAjNzU3NTc1LFxuICA3MDA6ICM2MTYxNjEsXG4gIDgwMDogIzQyNDI0MixcbiAgOTAwOiAjMjEyMTIxLFxuICBBMTAwOiAjZmZmZmZmLFxuICBBMjAwOiAjZWVlZWVlLFxuICBBNDAwOiAjYmRiZGJkLFxuICBBNzAwOiAjNjE2MTYxLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbi8vIEFsaWFzIGZvciBhbHRlcm5hdGUgc3BlbGxpbmcuXG4kbWF0LWdyYXk6ICRtYXQtZ3JleTtcblxuJG1hdC1ibHVlLWdyZXk6IChcbiAgNTA6ICNlY2VmZjEsXG4gIDEwMDogI2NmZDhkYyxcbiAgMjAwOiAjYjBiZWM1LFxuICAzMDA6ICM5MGE0YWUsXG4gIDQwMDogIzc4OTA5YyxcbiAgNTAwOiAjNjA3ZDhiLFxuICA2MDA6ICM1NDZlN2EsXG4gIDcwMDogIzQ1NWE2NCxcbiAgODAwOiAjMzc0NzRmLFxuICA5MDA6ICMyNjMyMzgsXG4gIEExMDA6ICNjZmQ4ZGMsXG4gIEEyMDA6ICNiMGJlYzUsXG4gIEE0MDA6ICM3ODkwOWMsXG4gIEE3MDA6ICM0NTVhNjQsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuLy8gQWxpYXMgZm9yIGFsdGVybmF0ZSBzcGVsbGluZy5cbiRtYXQtYmx1ZS1ncmF5OiAkbWF0LWJsdWUtZ3JleTtcblxuXG4vLyBCYWNrZ3JvdW5kIHBhbGV0dGUgZm9yIGxpZ2h0IHRoZW1lcy5cbiRtYXQtbGlnaHQtdGhlbWUtYmFja2dyb3VuZDogKFxuICBzdGF0dXMtYmFyOiBtYXAtZ2V0KCRtYXQtZ3JleSwgMzAwKSxcbiAgYXBwLWJhcjogICAgbWFwLWdldCgkbWF0LWdyZXksIDEwMCksXG4gIGJhY2tncm91bmQ6IG1hcC1nZXQoJG1hdC1ncmV5LCA1MCksXG4gIGhvdmVyOiAgICAgIHJnYmEoYmxhY2ssIDAuMDQpLCAvLyBUT0RPKGthcmEpOiBjaGVjayBzdHlsZSB3aXRoIE1hdGVyaWFsIERlc2lnbiBVWFxuICBjYXJkOiAgICAgICB3aGl0ZSxcbiAgZGlhbG9nOiAgICAgd2hpdGUsXG4gIGRpc2FibGVkLWJ1dHRvbjogcmdiYShibGFjaywgMC4xMiksXG4gIHJhaXNlZC1idXR0b246IHdoaXRlLFxuICBmb2N1c2VkLWJ1dHRvbjogJGRhcmstZm9jdXNlZCxcbiAgc2VsZWN0ZWQtYnV0dG9uOiBtYXAtZ2V0KCRtYXQtZ3JleSwgMzAwKSxcbiAgc2VsZWN0ZWQtZGlzYWJsZWQtYnV0dG9uOiBtYXAtZ2V0KCRtYXQtZ3JleSwgNDAwKSxcbiAgZGlzYWJsZWQtYnV0dG9uLXRvZ2dsZTogbWFwLWdldCgkbWF0LWdyZXksIDIwMCksXG4gIHVuc2VsZWN0ZWQtY2hpcDogbWFwLWdldCgkbWF0LWdyZXksIDMwMCksXG4gIGRpc2FibGVkLWxpc3Qtb3B0aW9uOiBtYXAtZ2V0KCRtYXQtZ3JleSwgMjAwKSxcbiAgdG9vbHRpcDogbWFwLWdldCgkbWF0LWdyZXksIDcwMCksXG4pO1xuXG4vLyBCYWNrZ3JvdW5kIHBhbGV0dGUgZm9yIGRhcmsgdGhlbWVzLlxuJG1hdC1kYXJrLXRoZW1lLWJhY2tncm91bmQ6IChcbiAgc3RhdHVzLWJhcjogYmxhY2ssXG4gIGFwcC1iYXI6ICAgIG1hcC1nZXQoJG1hdC1ncmV5LCA5MDApLFxuICBiYWNrZ3JvdW5kOiAjMzAzMDMwLFxuICBob3ZlcjogICAgICByZ2JhKHdoaXRlLCAwLjA0KSwgLy8gVE9ETyhrYXJhKTogY2hlY2sgc3R5bGUgd2l0aCBNYXRlcmlhbCBEZXNpZ24gVVhcbiAgY2FyZDogICAgICAgbWFwLWdldCgkbWF0LWdyZXksIDgwMCksXG4gIGRpYWxvZzogICAgIG1hcC1nZXQoJG1hdC1ncmV5LCA4MDApLFxuICBkaXNhYmxlZC1idXR0b246IHJnYmEod2hpdGUsIDAuMTIpLFxuICByYWlzZWQtYnV0dG9uOiBtYXAtZ2V0KCRtYXQtZ3JleSwgODAwKSxcbiAgZm9jdXNlZC1idXR0b246ICRsaWdodC1mb2N1c2VkLFxuICBzZWxlY3RlZC1idXR0b246IG1hcC1nZXQoJG1hdC1ncmV5LCA5MDApLFxuICBzZWxlY3RlZC1kaXNhYmxlZC1idXR0b246IG1hcC1nZXQoJG1hdC1ncmV5LCA4MDApLFxuICBkaXNhYmxlZC1idXR0b24tdG9nZ2xlOiBibGFjayxcbiAgdW5zZWxlY3RlZC1jaGlwOiBtYXAtZ2V0KCRtYXQtZ3JleSwgNzAwKSxcbiAgZGlzYWJsZWQtbGlzdC1vcHRpb246IGJsYWNrLFxuICB0b29sdGlwOiBtYXAtZ2V0KCRtYXQtZ3JleSwgNzAwKSxcbik7XG5cbi8vIEZvcmVncm91bmQgcGFsZXR0ZSBmb3IgbGlnaHQgdGhlbWVzLlxuJG1hdC1saWdodC10aGVtZS1mb3JlZ3JvdW5kOiAoXG4gIGJhc2U6ICAgICAgICAgICAgICBibGFjayxcbiAgZGl2aWRlcjogICAgICAgICAgICRkYXJrLWRpdmlkZXJzLFxuICBkaXZpZGVyczogICAgICAgICAgJGRhcmstZGl2aWRlcnMsXG4gIGRpc2FibGVkOiAgICAgICAgICAkZGFyay1kaXNhYmxlZC10ZXh0LFxuICBkaXNhYmxlZC1idXR0b246ICAgcmdiYShibGFjaywgMC4yNiksXG4gIGRpc2FibGVkLXRleHQ6ICAgICAkZGFyay1kaXNhYmxlZC10ZXh0LFxuICBlbGV2YXRpb246ICAgICAgICAgYmxhY2ssXG4gIGhpbnQtdGV4dDogICAgICAgICAkZGFyay1kaXNhYmxlZC10ZXh0LFxuICBzZWNvbmRhcnktdGV4dDogICAgJGRhcmstc2Vjb25kYXJ5LXRleHQsXG4gIGljb246ICAgICAgICAgICAgICByZ2JhKGJsYWNrLCAwLjU0KSxcbiAgaWNvbnM6ICAgICAgICAgICAgIHJnYmEoYmxhY2ssIDAuNTQpLFxuICB0ZXh0OiAgICAgICAgICAgICAgcmdiYShibGFjaywgMC44NyksXG4gIHNsaWRlci1taW46ICAgICAgICByZ2JhKGJsYWNrLCAwLjg3KSxcbiAgc2xpZGVyLW9mZjogICAgICAgIHJnYmEoYmxhY2ssIDAuMjYpLFxuICBzbGlkZXItb2ZmLWFjdGl2ZTogcmdiYShibGFjaywgMC4zOCksXG4pO1xuXG4vLyBGb3JlZ3JvdW5kIHBhbGV0dGUgZm9yIGRhcmsgdGhlbWVzLlxuJG1hdC1kYXJrLXRoZW1lLWZvcmVncm91bmQ6IChcbiAgYmFzZTogICAgICAgICAgICAgIHdoaXRlLFxuICBkaXZpZGVyOiAgICAgICAgICAgJGxpZ2h0LWRpdmlkZXJzLFxuICBkaXZpZGVyczogICAgICAgICAgJGxpZ2h0LWRpdmlkZXJzLFxuICBkaXNhYmxlZDogICAgICAgICAgJGxpZ2h0LWRpc2FibGVkLXRleHQsXG4gIGRpc2FibGVkLWJ1dHRvbjogICByZ2JhKHdoaXRlLCAwLjMpLFxuICBkaXNhYmxlZC10ZXh0OiAgICAgJGxpZ2h0LWRpc2FibGVkLXRleHQsXG4gIGVsZXZhdGlvbjogICAgICAgICBibGFjayxcbiAgaGludC10ZXh0OiAgICAgICAgICRsaWdodC1kaXNhYmxlZC10ZXh0LFxuICBzZWNvbmRhcnktdGV4dDogICAgJGxpZ2h0LXNlY29uZGFyeS10ZXh0LFxuICBpY29uOiAgICAgICAgICAgICAgd2hpdGUsXG4gIGljb25zOiAgICAgICAgICAgICB3aGl0ZSxcbiAgdGV4dDogICAgICAgICAgICAgIHdoaXRlLFxuICBzbGlkZXItbWluOiAgICAgICAgd2hpdGUsXG4gIHNsaWRlci1vZmY6ICAgICAgICByZ2JhKHdoaXRlLCAwLjMpLFxuICBzbGlkZXItb2ZmLWFjdGl2ZTogcmdiYSh3aGl0ZSwgMC4zKSxcbik7XG5cbi8vIE5vdGUgdGhhdCB0aGlzIGZpbGUgaXMgY2FsbGVkIGBwcml2YXRlYCwgYmVjYXVzZSB0aGUgQVBJcyBpbiBpdCBhcmVuJ3QgcHVibGljIHlldC5cbi8vIE9uY2UgdGhleSdyZSBtYWRlIGF2YWlsYWJsZSwgdGhlIGNvZGUgc2hvdWxkIGJlIG1vdmVkIG91dCBpbnRvIGFuIGBpbmRleC5zY3NzYC5cblxuLy8gVGFrZW4gZnJvbSBtYXQtZGVuc2l0eSB3aXRoIHNtYWxsIG1vZGlmaWNhdGlvbnMgdG8gbm90IHJlbHkgb24gdGhlIG5ldyBTYXNzIG1vZHVsZVxuLy8gc3lzdGVtLCBhbmQgdG8gc3VwcG9ydCBhcmJpdHJhcnkgcHJvcGVydGllcyBpbiBhIGRlbnNpdHkgY29uZmlndXJhdGlvbi5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXRlcmlhbC1jb21wb25lbnRzL21hdGVyaWFsLWNvbXBvbmVudHMtd2ViL2Jsb2IvbWFzdGVyL3BhY2thZ2VzL21kYy1kZW5zaXR5XG5cbiRfbWF0LWRlbnNpdHktaW50ZXJ2YWw6IDRweCAhZGVmYXVsdDtcbiRfbWF0LWRlbnNpdHktbWluaW11bS1zY2FsZTogbWluaW11bSAhZGVmYXVsdDtcbiRfbWF0LWRlbnNpdHktbWF4aW11bS1zY2FsZTogbWF4aW11bSAhZGVmYXVsdDtcbiRfbWF0LWRlbnNpdHktc3VwcG9ydGVkLXNjYWxlczogKGRlZmF1bHQsIG1pbmltdW0sIG1heGltdW0pICFkZWZhdWx0O1xuJF9tYXQtZGVuc2l0eS1kZWZhdWx0LXNjYWxlOiAwICFkZWZhdWx0O1xuXG4vLyBXaGV0aGVyIGRlbnNpdHkgc2hvdWxkIGJlIGdlbmVyYXRlZCBhdCByb290LiBUaGlzIHdpbGwgYmUgdGVtcG9yYXJpbHkgc2V0IHRvIGB0cnVlYFxuLy8gd2hlbmV2ZXIgZGVuc2l0eSBzdHlsZXMgZm9yIGxlZ2FjeSB0aGVtZXMgYXJlIGdlbmVyYXRlZC5cbiRtYXQtcHJpdmF0ZS1kZW5zaXR5LWdlbmVyYXRlLWF0LXJvb3Q6IGZhbHNlO1xuLy8gV2hldGhlciBkZW5zaXR5IHN0eWxlcyBzaG91bGQgYmUgZ2VuZXJhdGVkLiBUaGlzIHdpbGwgYmUgdGVtcG9yYXJpbHkgc2V0IHRvIGBmYWxzZWAgaWZcbi8vIGR1cGxpY2F0ZSBkZW5zaXR5IHN0eWxlcyBmb3IgYSBsZWdhY3kgdGhlbWUgd291bGQgYmUgZ2VuZXJhdGVkLiBGb3IgbGVnYWN5IHRoZW1lcyxcbi8vIHdlIGFsd2F5cyBnZW5lcmF0ZSB0aGUgZGVmYXVsdCBkZW5zaXR5ICoqb25seSBvbmNlKiogYXQgcm9vdC5cbiRtYXQtcHJpdmF0ZS1kZW5zaXR5LWdlbmVyYXRlLXN0eWxlczogdHJ1ZTtcblxuLy8gTWl4aW4gdGhhdCBjYW4gYmUgdXNlZCB0byB3cmFwIGRlbnNpdHkgc3R5bGVzIG9mIGdpdmVuIGNvbXBvbmVudHMuIFRoZSBtaXhpbiB3aWxsXG4vLyBtb3ZlIHRoZSBkZW5zaXR5IHN0eWxlcyB0byByb290IGlmIHRoZSBgJG1hdC1wcml2YXRlLWRlbnNpdHktZ2VuZXJhdGUtYXQtcm9vdGAgZ2xvYmFsIHZhcmlhYmxlXG4vLyBpcyBzZXQuIElmIGAkbWF0LXByaXZhdGUtZGVuc2l0eS1nZW5lcmF0ZS1zdHlsZXNgIGlzIHNldCB0byBgZmFsc2VgLCBnZW5lcmF0aW9uIG9mIGRlbnNpdHlcbi8vIHN0eWxlcyB3cmFwcGVkIGluIHRoaXMgbWl4aW4gaXMgc2tpcHBlZC4gVGhpcyBtaXhpbiBleGlzdHMgdG8gaW1wcm92ZSBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuLy8gb2YgdGhlIG5ldyB0aGVtaW5nIEFQSSB3aGVyZSBkZW5zaXR5IHN0eWxlcyBhcmUgaW5jbHVkZWQgYXMgcGFydCBvZiB0aGVtZXMuIFByZXZpb3VzbHksXG4vLyBkZW5zaXR5IHN0eWxlcyBvZiBjb21wb25lbnRzIHdlcmUgcGFydCBvZiB0aGVpciBiYXNlIHN0eWxlcy4gV2l0aCB0aGUgbmV3IEFQSSwgdGhleSBhcmVcbi8vIHBhcnQgb2YgdGhlIHRoZW1pbmcgc3lzdGVtLiBUaGUgYDwuLj4tdGhlbWVgIG1peGlucyBnZW5lcmF0ZSBkZW5zaXR5IGJ5IGRlZmF1bHQgdW5sZXNzXG4vLyB0aGUgZGVuc2l0eSBjb25maWd1cmF0aW9uIGlzIGV4cGxpY2l0bHkgc3BlY2lmaWVkIGFzIHBlciBuZXcgQVBJLiBUaGlzIG1lYW5zLCB0aGF0IHByb2plY3RzXG4vLyB1c2luZyBgPC4uPi10aGVtZWAgbWl4aW5zIGZvciBzZXBhcmF0ZSB0aGVtZXMgKGxpa2UgYC5kYXJrLXRoZW1lYCkgd2lsbCBjYXVzZSBkdXBsaWNhdGVcbi8vIGRlbnNpdHkgc3R5bGVzLiBUaGlzIGlzIGJyZWFraW5nIGFzIGl0IGluY3JlYXNlcyBzcGVjaWZpY2l0eSBvZiBkZW5zaXR5IHN0eWxlcy4gVGhpcyBtaXhpblxuLy8gcHJvdmlkZXMgYW4gQVBJIHRvIGNvbnRyb2wgZ2VuZXJhdGlvbiBvZiBkZW5zaXR5IHN0eWxlcyBzbyB0aGF0IHdlIGNhbiBlbnN1cmUgdGhleSBhcmUgb25seVxuLy8gY3JlYXRlZCAqb25jZSogYW5kIGF0IHJvb3QuXG5AbWl4aW4gbWF0LXByaXZhdGUtZGVuc2l0eS1sZWdhY3ktY29tcGF0aWJpbGl0eSgpIHtcbiAgQGlmICRtYXQtcHJpdmF0ZS1kZW5zaXR5LWdlbmVyYXRlLXN0eWxlcyBhbmQgJG1hdC1wcml2YXRlLWRlbnNpdHktZ2VuZXJhdGUtYXQtcm9vdCB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRtYXQtcHJpdmF0ZS1kZW5zaXR5LWdlbmVyYXRlLXN0eWxlcyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLWRlbnNpdHktcHJvcC12YWx1ZSgkZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCAkcHJvcGVydHktbmFtZSkge1xuICBAaWYgKHR5cGUtb2YoJGRlbnNpdHktc2NhbGUpID09ICdzdHJpbmcnIGFuZFxuICAgICAgaW5kZXgoJGxpc3Q6ICRfbWF0LWRlbnNpdHktc3VwcG9ydGVkLXNjYWxlcywgJHZhbHVlOiAkZGVuc2l0eS1zY2FsZSkgPT0gbnVsbCkge1xuICAgIEBlcnJvciAnbWF0LWRlbnNpdHk6IFN1cHBvcnRlZCBkZW5zaXR5IHNjYWxlcyAjeyRfbWF0LWRlbnNpdHktc3VwcG9ydGVkLXNjYWxlc30sICcgICtcbiAgICAgICdidXQgcmVjZWl2ZWQgI3skZGVuc2l0eS1zY2FsZX0uJztcbiAgfVxuXG4gICR2YWx1ZTogbnVsbDtcbiAgJHByb3BlcnR5LXNjYWxlLW1hcDogbWFwLWdldCgkZGVuc2l0eS1jb25maWcsICRwcm9wZXJ0eS1uYW1lKTtcblxuICBAaWYgbWFwLWhhcy1rZXkoJHByb3BlcnR5LXNjYWxlLW1hcCwgJGRlbnNpdHktc2NhbGUpIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJHByb3BlcnR5LXNjYWxlLW1hcCwgJGRlbnNpdHktc2NhbGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJHByb3BlcnR5LXNjYWxlLW1hcCwgZGVmYXVsdCkgKyAkZGVuc2l0eS1zY2FsZSAqICRfbWF0LWRlbnNpdHktaW50ZXJ2YWw7XG4gIH1cblxuICAkbWluLXZhbHVlOiBtYXAtZ2V0KCRwcm9wZXJ0eS1zY2FsZS1tYXAsICRfbWF0LWRlbnNpdHktbWluaW11bS1zY2FsZSk7XG4gICRtYXgtdmFsdWU6IG1hcC1nZXQoJHByb3BlcnR5LXNjYWxlLW1hcCwgJF9tYXQtZGVuc2l0eS1tYXhpbXVtLXNjYWxlKTtcblxuICBAaWYgKCR2YWx1ZSA8ICRtaW4tdmFsdWUgb3IgJHZhbHVlID4gJG1heC12YWx1ZSkge1xuICAgIEBlcnJvciAnbWF0LWRlbnNpdHk6ICN7JHByb3BlcnR5LW5hbWV9IG11c3QgYmUgYmV0d2VlbiAjeyRtaW4tdmFsdWV9IGFuZCAnICtcbiAgICAgICcjeyRtYXgtdmFsdWV9IChpbmNsdXNpdmUpLCBidXQgcmVjZWl2ZWQgI3skdmFsdWV9Lic7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuXG4vLyBXaGV0aGVyIGR1cGxpY2F0aW9uIHdhcm5pbmdzIHNob3VsZCBiZSBkaXNhYmxlZC4gV2FybmluZ3MgZW5hYmxlZCBieSBkZWZhdWx0LlxuJG1hdC10aGVtZS1pZ25vcmUtZHVwbGljYXRpb24td2FybmluZ3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBXaGV0aGVyIGRlbnNpdHkgc2hvdWxkIGJlIGdlbmVyYXRlZCBieSBkZWZhdWx0LlxuJF9tYXQtdGhlbWUtZ2VuZXJhdGUtZGVmYXVsdC1kZW5zaXR5OiB0cnVlICFkZWZhdWx0O1xuXG4vLyBXYXJuaW5nIHRoYXQgd2lsbCBiZSBwcmludGVkIGlmIGR1cGxpY2F0ZWQgc3R5bGVzIGFyZSBnZW5lcmF0ZWQgYnkgYSB0aGVtZS5cbiRfbWF0LXRoZW1lLWR1cGxpY2F0ZS13YXJuaW5nOiAnUmVhZCBtb3JlIGFib3V0IGhvdyBzdHlsZSBkdXBsaWNhdGlvbiBjYW4gYmUgYXZvaWRlZCBpbiBhICcgK1xuICAnZGVkaWNhdGVkIGd1aWRlLiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9jb21wb25lbnRzL2Jsb2IvbWFzdGVyL2d1aWRlcy9kdXBsaWNhdGUtdGhlbWluZy1zdHlsZXMubWQnO1xuXG4vLyBUaGVzZSB2YXJpYWJsZSBhcmUgbm90IGludGVuZGVkIHRvIGJlIG92ZXJyaWRkZW4gZXh0ZXJuYWxseS4gVGhleSB1c2UgYCFkZWZhdWx0YCB0b1xuLy8gYXZvaWQgYmVpbmcgcmVzZXQgZXZlcnkgdGltZSB0aGlzIGZpbGUgaXMgaW1wb3J0ZWQuXG4kX21hdC10aGVtZS1lbWl0dGVkLWNvbG9yOiAoKSAhZGVmYXVsdDtcbiRfbWF0LXRoZW1lLWVtaXR0ZWQtdHlwb2dyYXBoeTogKCkgIWRlZmF1bHQ7XG4kX21hdC10aGVtZS1lbWl0dGVkLWRlbnNpdHk6ICgpICFkZWZhdWx0O1xuXG4vLyBGb3IgYSBnaXZlbiBodWUgaW4gYSBwYWxldHRlLCByZXR1cm4gdGhlIGNvbnRyYXN0IGNvbG9yIGZyb20gdGhlIG1hcCBvZiBjb250cmFzdCBwYWxldHRlcy5cbi8vIEBwYXJhbSAkcGFsZXR0ZVxuLy8gQHBhcmFtICRodWVcbkBmdW5jdGlvbiBtYXQtY29udHJhc3QoJHBhbGV0dGUsICRodWUpIHtcbiAgQHJldHVybiBtYXAtZ2V0KG1hcC1nZXQoJHBhbGV0dGUsIGNvbnRyYXN0KSwgJGh1ZSk7XG59XG5cblxuLy8gQ3JlYXRlcyBhIG1hcCBvZiBodWVzIHRvIGNvbG9ycyBmb3IgYSB0aGVtZS4gVGhpcyBpcyB1c2VkIHRvIGRlZmluZSBhIHRoZW1lIHBhbGV0dGUgaW4gdGVybXNcbi8vIG9mIHRoZSBNYXRlcmlhbCBEZXNpZ24gaHVlcy5cbi8vIEBwYXJhbSAkYmFzZS1wYWxldHRlXG4vLyBAcGFyYW0gJGRlZmF1bHRcbi8vIEBwYXJhbSAkbGlnaHRlclxuLy8gQHBhcmFtICRkYXJrZXJcbi8vIEBwYXJhbSAkdGV4dFxuQGZ1bmN0aW9uIG1hdC1wYWxldHRlKCRiYXNlLXBhbGV0dGUsICRkZWZhdWx0OiA1MDAsICRsaWdodGVyOiAxMDAsICRkYXJrZXI6IDcwMCwgJHRleHQ6ICRkZWZhdWx0KSB7XG4gICRyZXN1bHQ6IG1hcC1tZXJnZSgkYmFzZS1wYWxldHRlLCAoXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYmFzZS1wYWxldHRlLCAkZGVmYXVsdCksXG4gICAgbGlnaHRlcjogbWFwLWdldCgkYmFzZS1wYWxldHRlLCAkbGlnaHRlciksXG4gICAgZGFya2VyOiBtYXAtZ2V0KCRiYXNlLXBhbGV0dGUsICRkYXJrZXIpLFxuICAgIHRleHQ6IG1hcC1nZXQoJGJhc2UtcGFsZXR0ZSwgJHRleHQpLFxuXG4gICAgZGVmYXVsdC1jb250cmFzdDogbWF0LWNvbnRyYXN0KCRiYXNlLXBhbGV0dGUsICRkZWZhdWx0KSxcbiAgICBsaWdodGVyLWNvbnRyYXN0OiBtYXQtY29udHJhc3QoJGJhc2UtcGFsZXR0ZSwgJGxpZ2h0ZXIpLFxuICAgIGRhcmtlci1jb250cmFzdDogbWF0LWNvbnRyYXN0KCRiYXNlLXBhbGV0dGUsICRkYXJrZXIpXG4gICkpO1xuXG4gIC8vIEZvciBlYWNoIGh1ZSBpbiB0aGUgcGFsZXR0ZSwgYWRkIGEgXCItY29udHJhc3RcIiBjb2xvciB0byB0aGUgbWFwLlxuICBAZWFjaCAkaHVlLCAkY29sb3IgaW4gJGJhc2UtcGFsZXR0ZSB7XG4gICAgJHJlc3VsdDogbWFwLW1lcmdlKCRyZXN1bHQsIChcbiAgICAgICcjeyRodWV9LWNvbnRyYXN0JzogbWF0LWNvbnRyYXN0KCRiYXNlLXBhbGV0dGUsICRodWUpXG4gICAgKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cblxuLy8gR2V0cyBhIGNvbG9yIGZyb20gYSB0aGVtZSBwYWxldHRlICh0aGUgb3V0cHV0IG9mIG1hdC1wYWxldHRlKS5cbi8vIFRoZSBodWUgY2FuIGJlIG9uZSBvZiB0aGUgc3RhbmRhcmQgdmFsdWVzICg1MDAsIEE0MDAsIGV0Yy4pLCBvbmUgb2YgdGhlIHRocmVlIHByZWNvbmZpZ3VyZWRcbi8vIGh1ZXMgKGRlZmF1bHQsIGxpZ2h0ZXIsIGRhcmtlciksIG9yIGFueSBvZiB0aGUgYWZvcmVtZW50aW9uZWQgcHJlZml4ZWQgd2l0aCBcIi1jb250cmFzdFwiLlxuLy9cbi8vIEBwYXJhbSAkcGFsZXR0ZSBUaGUgdGhlbWUgcGFsZXR0ZSAob3V0cHV0IG9mIG1hdC1wYWxldHRlKS5cbi8vIEBwYXJhbSAkaHVlIFRoZSBodWUgZnJvbSB0aGUgcGFsZXR0ZSB0byB1c2UuIElmIHRoaXMgaXMgYSB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEsIGl0IHdpbGxcbi8vICAgICBiZSB0cmVhdGVkIGFzIG9wYWNpdHkuXG4vLyBAcGFyYW0gJG9wYWNpdHkgVGhlIGFscGhhIGNoYW5uZWwgdmFsdWUgZm9yIHRoZSBjb2xvci5cbkBmdW5jdGlvbiBtYXQtY29sb3IoJHBhbGV0dGUsICRodWU6IGRlZmF1bHQsICRvcGFjaXR5OiBudWxsKSB7XG4gIC8vIElmIGh1ZUtleSBpcyBhIG51bWJlciBiZXR3ZWVuIHplcm8gYW5kIG9uZSwgdGhlbiBpdCBhY3R1YWxseSBjb250YWlucyBhblxuICAvLyBvcGFjaXR5IHZhbHVlLCBzbyByZWNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIHRoZSBkZWZhdWx0IGh1ZSBhbmQgdGhhdCBnaXZlbiBvcGFjaXR5LlxuICBAaWYgdHlwZS1vZigkaHVlKSA9PSBudW1iZXIgYW5kICRodWUgPj0gMCBhbmQgJGh1ZSA8PSAxIHtcbiAgICBAcmV0dXJuIG1hdC1jb2xvcigkcGFsZXR0ZSwgZGVmYXVsdCwgJGh1ZSk7XG4gIH1cblxuICAkY29sb3I6IG1hcC1nZXQoJHBhbGV0dGUsICRodWUpO1xuXG4gIEBpZiAodHlwZS1vZigkY29sb3IpICE9IGNvbG9yKSB7XG4gICAgLy8gSWYgdGhlICRjb2xvciByZXNvbHZlZCB0byBzb21ldGhpbmcgZGlmZmVyZW50IGZyb20gYSBjb2xvciAoZS5nLiBhIENTUyB2YXJpYWJsZSksXG4gICAgLy8gd2UgY2FuJ3QgYXBwbHkgdGhlIG9wYWNpdHkgYW55d2F5IHNvIHdlIHJldHVybiB0aGUgdmFsdWUgYXMgaXMsIG90aGVyd2lzZSBTYXNzIGNhblxuICAgIC8vIHRocm93IGFuIGVycm9yIG9yIG91dHB1dCBzb21ldGhpbmcgaW52YWxpZC5cbiAgICBAcmV0dXJuICRjb2xvcjtcbiAgfVxuXG4gIEByZXR1cm4gcmdiYSgkY29sb3IsIGlmKCRvcGFjaXR5ID09IG51bGwsIG9wYWNpdHkoJGNvbG9yKSwgJG9wYWNpdHkpKTtcbn1cblxuLy8gVmFsaWRhdGVzIHRoZSBzcGVjaWZpZWQgdGhlbWUgYnkgZW5zdXJpbmcgdGhhdCB0aGUgb3B0aW9uYWwgY29sb3IgY29uZmlnIGRlZmluZXNcbi8vIGEgcHJpbWFyeSwgYWNjZW50IGFuZCB3YXJuIHBhbGV0dGUuIFJldHVybnMgdGhlIHRoZW1lIGlmIG5vIGZhaWx1cmVzIHdlcmUgZm91bmQuXG5AZnVuY3Rpb24gX21hdC12YWxpZGF0ZS10aGVtZSgkdGhlbWUpIHtcbiAgQGlmIG1hcC1nZXQoJHRoZW1lLCBjb2xvcikge1xuICAgICRjb2xvcjogbWFwLWdldCgkdGhlbWUsIGNvbG9yKTtcbiAgICBAaWYgbm90IG1hcC1nZXQoJGNvbG9yLCBwcmltYXJ5KSB7XG4gICAgICBAZXJyb3IgJ1RoZW1lIGRvZXMgbm90IGRlZmluZSBhIHZhbGlkIFwicHJpbWFyeVwiIHBhbGV0dGUuJztcbiAgICB9XG4gICAgQGVsc2UgaWYgbm90IG1hcC1nZXQoJGNvbG9yLCBhY2NlbnQpIHtcbiAgICAgIEBlcnJvciAnVGhlbWUgZG9lcyBub3QgZGVmaW5lIGEgdmFsaWQgXCJhY2NlbnRcIiBwYWxldHRlLic7XG4gICAgfVxuICAgIEBlbHNlIGlmIG5vdCBtYXAtZ2V0KCRjb2xvciwgd2Fybikge1xuICAgICAgQGVycm9yICdUaGVtZSBkb2VzIG5vdCBkZWZpbmUgYSB2YWxpZCBcIndhcm5cIiBwYWxldHRlLic7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHRoZW1lO1xufVxuXG4vLyBDcmVhdGVzIGEgbGlnaHQtdGhlbWVkIGNvbG9yIGNvbmZpZ3VyYXRpb24gZnJvbSB0aGUgc3BlY2lmaWVkXG4vLyBwcmltYXJ5LCBhY2NlbnQgYW5kIHdhcm4gcGFsZXR0ZXMuXG5AZnVuY3Rpb24gX21hdC1jcmVhdGUtbGlnaHQtY29sb3ItY29uZmlnKCRwcmltYXJ5LCAkYWNjZW50LCAkd2FybjogbnVsbCkge1xuICBAcmV0dXJuIChcbiAgICBwcmltYXJ5OiAkcHJpbWFyeSxcbiAgICBhY2NlbnQ6ICRhY2NlbnQsXG4gICAgd2FybjogaWYoJHdhcm4gIT0gbnVsbCwgJHdhcm4sIG1hdC1wYWxldHRlKCRtYXQtcmVkKSksXG4gICAgaXMtZGFyazogZmFsc2UsXG4gICAgZm9yZWdyb3VuZDogJG1hdC1saWdodC10aGVtZS1mb3JlZ3JvdW5kLFxuICAgIGJhY2tncm91bmQ6ICRtYXQtbGlnaHQtdGhlbWUtYmFja2dyb3VuZCxcbiAgKTtcbn1cblxuLy8gQ3JlYXRlcyBhIGRhcmstdGhlbWVkIGNvbG9yIGNvbmZpZ3VyYXRpb24gZnJvbSB0aGUgc3BlY2lmaWVkXG4vLyBwcmltYXJ5LCBhY2NlbnQgYW5kIHdhcm4gcGFsZXR0ZXMuXG5AZnVuY3Rpb24gX21hdC1jcmVhdGUtZGFyay1jb2xvci1jb25maWcoJHByaW1hcnksICRhY2NlbnQsICR3YXJuOiBudWxsKSB7XG4gIEByZXR1cm4gKFxuICAgIHByaW1hcnk6ICRwcmltYXJ5LFxuICAgIGFjY2VudDogJGFjY2VudCxcbiAgICB3YXJuOiBpZigkd2FybiAhPSBudWxsLCAkd2FybiwgbWF0LXBhbGV0dGUoJG1hdC1yZWQpKSxcbiAgICBpcy1kYXJrOiB0cnVlLFxuICAgIGZvcmVncm91bmQ6ICRtYXQtZGFyay10aGVtZS1mb3JlZ3JvdW5kLFxuICAgIGJhY2tncm91bmQ6ICRtYXQtZGFyay10aGVtZS1iYWNrZ3JvdW5kLFxuICApO1xufVxuXG4vLyBDcmVhdGVzIGEgY29udGFpbmVyIG9iamVjdCBmb3IgYSBsaWdodCB0aGVtZSB0byBiZSBnaXZlbiB0byBpbmRpdmlkdWFsIGNvbXBvbmVudCB0aGVtZSBtaXhpbnMuXG4vLyBUT0RPOiBSZW1vdmUgbGVnYWN5IEFQSSBhbmQgcmVuYW1lIGAkcHJpbWFyeWAgdG8gYCRjb25maWdgLiBDdXJyZW50bHkgaXQgY2Fubm90IGJlIHJlbmFtZWRcbi8vIGFzIGl0IHdvdWxkIGJyZWFrIGV4aXN0aW5nIGFwcHMgdGhhdCBzZXQgdGhlIHBhcmFtZXRlciBieSBuYW1lLlxuQGZ1bmN0aW9uIG1hdC1saWdodC10aGVtZSgkcHJpbWFyeSwgJGFjY2VudDogbnVsbCwgJHdhcm46IG1hdC1wYWxldHRlKCRtYXQtcmVkKSkge1xuICAvLyBUaGlzIGZ1bmN0aW9uIGNyZWF0ZXMgYSBjb250YWluZXIgb2JqZWN0IGZvciB0aGUgaW5kaXZpZHVhbCBjb21wb25lbnQgdGhlbWUgbWl4aW5zLiBDb25zdW1lcnNcbiAgLy8gY2FuIGNvbnN0cnVjdCBzdWNoIGFuIG9iamVjdCBieSBjYWxsaW5nIHRoaXMgZnVuY3Rpb24sIG9yIGJ5IGJ1aWxkaW5nIHRoZSBvYmplY3QgbWFudWFsbHkuXG4gIC8vIFRoZXJlIGFyZSB0d28gcG9zc2libGUgd2F5cyB0byBpbnZva2UgdGhpcyBmdW5jdGlvbiBpbiBvcmRlciB0byBjcmVhdGUgc3VjaCBhbiBvYmplY3Q6XG4gIC8vXG4gIC8vICAgICgxKSBQYXNzaW5nIGluIGEgbWFwIHRoYXQgaG9sZHMgb3B0aW9uYWwgY29uZmlndXJhdGlvbnMgZm9yIGluZGl2aWR1YWwgcGFydHMgb2YgdGhlXG4gIC8vICAgICAgICB0aGVtaW5nIHN5c3RlbS4gRm9yIGBjb2xvcmAgY29uZmlndXJhdGlvbnMsIHRoZSBmdW5jdGlvbiBvbmx5IGV4cGVjdHMgdGhlIHBhbGV0dGVzXG4gIC8vICAgICAgICBmb3IgYHByaW1hcnlgIGFuZCBgYWNjZW50YCAoYW5kIG9wdGlvbmFsbHkgYHdhcm5gKS4gVGhlIGZ1bmN0aW9uIHdpbGwgZXhwYW5kIHRoZVxuICAvLyAgICAgICAgc2hvcnRoYW5kIGludG8gYW4gYWN0dWFsIGNvbmZpZ3VyYXRpb24gdGhhdCBjYW4gYmUgY29uc3VtZWQgaW4gYC1jb2xvcmAgbWl4aW5zLlxuICAvLyAgICAoMikgTGVnYWN5IHBhdHRlcm46IFBhc3NpbmcgaW4gdGhlIHBhbGV0dGVzIGFzIHBhcmFtZXRlcnMuIFRoaXMgaXMgbm90IGFzIGZsZXhpYmxlXG4gIC8vICAgICAgICBhcyBwYXNzaW5nIGluIGEgY29uZmlndXJhdGlvbiBtYXAgYmVjYXVzZSBvbmx5IHRoZSBgY29sb3JgIHN5c3RlbSBjYW4gYmUgY29uZmlndXJlZC5cbiAgLy9cbiAgLy8gSWYgdGhlIGxlZ2FjeSBwYXR0ZXJuIGlzIHVzZWQsIHdlIGdlbmVyYXRlIGEgY29udGFpbmVyIG9iamVjdCBvbmx5IHdpdGggYSBsaWdodC10aGVtZWRcbiAgLy8gY29uZmlndXJhdGlvbiBmb3IgdGhlIGBjb2xvcmAgdGhlbWluZyBwYXJ0LlxuICBAaWYgJGFjY2VudCAhPSBudWxsIHtcbiAgICBAcmV0dXJuIG1hdC1wcml2YXRlLWNyZWF0ZS1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS10aGVtZShfbWF0LXZhbGlkYXRlLXRoZW1lKChcbiAgICAgIF9pcy1sZWdhY3ktdGhlbWU6IHRydWUsXG4gICAgICBjb2xvcjogX21hdC1jcmVhdGUtbGlnaHQtY29sb3ItY29uZmlnKCRwcmltYXJ5LCAkYWNjZW50LCAkd2FybiksXG4gICAgKSkpO1xuICB9XG4gIC8vIElmIHRoZSBtYXAgcGF0dGVybiBpcyB1c2VkICgxKSwgd2UganVzdCBwYXNzLXRocm91Z2ggdGhlIGNvbmZpZ3VyYXRpb25zIGZvciBpbmRpdmlkdWFsXG4gIC8vIHBhcnRzIG9mIHRoZSB0aGVtaW5nIHN5c3RlbSwgYnV0IHVwZGF0ZSB0aGUgYGNvbG9yYCBjb25maWd1cmF0aW9uIGlmIHNldC4gQXMgZXhwbGFpbmVkXG4gIC8vIGFib3ZlLCB0aGUgY29sb3Igc2hvcnRoYW5kIHdpbGwgYmUgZXhwYW5kZWQgdG8gYW4gYWN0dWFsIGxpZ2h0LXRoZW1lZCBjb2xvciBjb25maWd1cmF0aW9uLlxuICAkcmVzdWx0OiAkcHJpbWFyeTtcbiAgQGlmIG1hcC1nZXQoJHByaW1hcnksIGNvbG9yKSB7XG4gICAgJGNvbG9yLXNldHRpbmdzOiBtYXAtZ2V0KCRwcmltYXJ5LCBjb2xvcik7XG4gICAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbG9yLXNldHRpbmdzLCBwcmltYXJ5KTtcbiAgICAkYWNjZW50OiBtYXAtZ2V0KCRjb2xvci1zZXR0aW5ncywgYWNjZW50KTtcbiAgICAkd2FybjogbWFwLWdldCgkY29sb3Itc2V0dGluZ3MsIHdhcm4pO1xuICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoY29sb3I6IF9tYXQtY3JlYXRlLWxpZ2h0LWNvbG9yLWNvbmZpZygkcHJpbWFyeSwgJGFjY2VudCwgJHdhcm4pKSk7XG4gIH1cbiAgQHJldHVybiBtYXQtcHJpdmF0ZS1jcmVhdGUtYmFja3dhcmRzLWNvbXBhdGliaWxpdHktdGhlbWUoX21hdC12YWxpZGF0ZS10aGVtZSgkcmVzdWx0KSk7XG59XG5cbi8vIENyZWF0ZXMgYSBjb250YWluZXIgb2JqZWN0IGZvciBhIGRhcmsgdGhlbWUgdG8gYmUgZ2l2ZW4gdG8gaW5kaXZpZHVhbCBjb21wb25lbnQgdGhlbWUgbWl4aW5zLlxuLy8gVE9ETzogUmVtb3ZlIGxlZ2FjeSBBUEkgYW5kIHJlbmFtZSBgJHByaW1hcnlgIHRvIGAkY29uZmlnYC4gQ3VycmVudGx5IGl0IGNhbm5vdCBiZSByZW5hbWVkXG4vLyBhcyBpdCB3b3VsZCBicmVhayBleGlzdGluZyBhcHBzIHRoYXQgc2V0IHRoZSBwYXJhbWV0ZXIgYnkgbmFtZS5cbkBmdW5jdGlvbiBtYXQtZGFyay10aGVtZSgkcHJpbWFyeSwgJGFjY2VudDogbnVsbCwgJHdhcm46IG1hdC1wYWxldHRlKCRtYXQtcmVkKSkge1xuICAvLyBUaGlzIGZ1bmN0aW9uIGNyZWF0ZXMgYSBjb250YWluZXIgb2JqZWN0IGZvciB0aGUgaW5kaXZpZHVhbCBjb21wb25lbnQgdGhlbWUgbWl4aW5zLiBDb25zdW1lcnNcbiAgLy8gY2FuIGNvbnN0cnVjdCBzdWNoIGFuIG9iamVjdCBieSBjYWxsaW5nIHRoaXMgZnVuY3Rpb24sIG9yIGJ5IGJ1aWxkaW5nIHRoZSBvYmplY3QgbWFudWFsbHkuXG4gIC8vIFRoZXJlIGFyZSB0d28gcG9zc2libGUgd2F5cyB0byBpbnZva2UgdGhpcyBmdW5jdGlvbiBpbiBvcmRlciB0byBjcmVhdGUgc3VjaCBhbiBvYmplY3Q6XG4gIC8vXG4gIC8vICAgICgxKSBQYXNzaW5nIGluIGEgbWFwIHRoYXQgaG9sZHMgb3B0aW9uYWwgY29uZmlndXJhdGlvbnMgZm9yIGluZGl2aWR1YWwgcGFydHMgb2YgdGhlXG4gIC8vICAgICAgICB0aGVtaW5nIHN5c3RlbS4gRm9yIGBjb2xvcmAgY29uZmlndXJhdGlvbnMsIHRoZSBmdW5jdGlvbiBvbmx5IGV4cGVjdHMgdGhlIHBhbGV0dGVzXG4gIC8vICAgICAgICBmb3IgYHByaW1hcnlgIGFuZCBgYWNjZW50YCAoYW5kIG9wdGlvbmFsbHkgYHdhcm5gKS4gVGhlIGZ1bmN0aW9uIHdpbGwgZXhwYW5kIHRoZVxuICAvLyAgICAgICAgc2hvcnRoYW5kIGludG8gYW4gYWN0dWFsIGNvbmZpZ3VyYXRpb24gdGhhdCBjYW4gYmUgY29uc3VtZWQgaW4gYC1jb2xvcmAgbWl4aW5zLlxuICAvLyAgICAoMikgTGVnYWN5IHBhdHRlcm46IFBhc3NpbmcgaW4gdGhlIHBhbGV0dGVzIGFzIHBhcmFtZXRlcnMuIFRoaXMgaXMgbm90IGFzIGZsZXhpYmxlXG4gIC8vICAgICAgICBhcyBwYXNzaW5nIGluIGEgY29uZmlndXJhdGlvbiBtYXAgYmVjYXVzZSBvbmx5IHRoZSBgY29sb3JgIHN5c3RlbSBjYW4gYmUgY29uZmlndXJlZC5cbiAgLy9cbiAgLy8gSWYgdGhlIGxlZ2FjeSBwYXR0ZXJuIGlzIHVzZWQsIHdlIGdlbmVyYXRlIGEgY29udGFpbmVyIG9iamVjdCBvbmx5IHdpdGggYSBkYXJrLXRoZW1lZFxuICAvLyBjb25maWd1cmF0aW9uIGZvciB0aGUgYGNvbG9yYCB0aGVtaW5nIHBhcnQuXG4gIEBpZiAkYWNjZW50ICE9IG51bGwge1xuICAgIEByZXR1cm4gbWF0LXByaXZhdGUtY3JlYXRlLWJhY2t3YXJkcy1jb21wYXRpYmlsaXR5LXRoZW1lKF9tYXQtdmFsaWRhdGUtdGhlbWUoKFxuICAgICAgX2lzLWxlZ2FjeS10aGVtZTogdHJ1ZSxcbiAgICAgIGNvbG9yOiBfbWF0LWNyZWF0ZS1kYXJrLWNvbG9yLWNvbmZpZygkcHJpbWFyeSwgJGFjY2VudCwgJHdhcm4pLFxuICAgICkpKTtcbiAgfVxuICAvLyBJZiB0aGUgbWFwIHBhdHRlcm4gaXMgdXNlZCAoMSksIHdlIGp1c3QgcGFzcy10aHJvdWdoIHRoZSBjb25maWd1cmF0aW9ucyBmb3IgaW5kaXZpZHVhbFxuICAvLyBwYXJ0cyBvZiB0aGUgdGhlbWluZyBzeXN0ZW0sIGJ1dCB1cGRhdGUgdGhlIGBjb2xvcmAgY29uZmlndXJhdGlvbiBpZiBzZXQuIEFzIGV4cGxhaW5lZFxuICAvLyBhYm92ZSwgdGhlIGNvbG9yIHNob3J0aGFuZCB3aWxsIGJlIGV4cGFuZGVkIHRvIGFuIGFjdHVhbCBkYXJrLXRoZW1lZCBjb2xvciBjb25maWd1cmF0aW9uLlxuICAkcmVzdWx0OiAkcHJpbWFyeTtcbiAgQGlmIG1hcC1nZXQoJHByaW1hcnksIGNvbG9yKSB7XG4gICAgJGNvbG9yLXNldHRpbmdzOiBtYXAtZ2V0KCRwcmltYXJ5LCBjb2xvcik7XG4gICAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbG9yLXNldHRpbmdzLCBwcmltYXJ5KTtcbiAgICAkYWNjZW50OiBtYXAtZ2V0KCRjb2xvci1zZXR0aW5ncywgYWNjZW50KTtcbiAgICAkd2FybjogbWFwLWdldCgkY29sb3Itc2V0dGluZ3MsIHdhcm4pO1xuICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoY29sb3I6IF9tYXQtY3JlYXRlLWRhcmstY29sb3ItY29uZmlnKCRwcmltYXJ5LCAkYWNjZW50LCAkd2FybikpKTtcbiAgfVxuICBAcmV0dXJuIG1hdC1wcml2YXRlLWNyZWF0ZS1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS10aGVtZShfbWF0LXZhbGlkYXRlLXRoZW1lKCRyZXN1bHQpKTtcbn1cblxuLy8vIEdldHMgdGhlIGNvbG9yIGNvbmZpZ3VyYXRpb24gZnJvbSB0aGUgZ2l2ZW4gdGhlbWUgb3IgY29uZmlndXJhdGlvbi5cbkBmdW5jdGlvbiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUsICRkZWZhdWx0OiBudWxsKSB7XG4gIC8vIElmIGEgY29uZmlndXJhdGlvbiBoYXMgYmVlbiBwYXNzZWQsIHJldHVybiB0aGUgY29uZmlnIGRpcmVjdGx5LlxuICBAaWYgbm90IG1hdC1wcml2YXRlLWlzLXRoZW1lLW9iamVjdCgkdGhlbWUpIHtcbiAgICBAcmV0dXJuICR0aGVtZTtcbiAgfVxuICAvLyBJZiB0aGUgdGhlbWUgaGFzIGJlZW4gY29uc3RydWN0ZWQgdGhyb3VnaCB0aGUgbGVnYWN5IHRoZW1pbmcgQVBJLCB3ZSB1c2UgdGhlIHRoZW1lIG9iamVjdFxuICAvLyBhcyBjb2xvciBjb25maWd1cmF0aW9uIGluc3RlYWQgb2YgdGhlIGRlZGljYXRlZCBgY29sb3JgIHByb3BlcnR5LiBXZSBkbyB0aGlzIGJlY2F1c2UgZm9yXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LCB3ZSBjb3BpZWQgdGhlIGNvbG9yIGNvbmZpZ3VyYXRpb24gZnJvbSBgJHRoZW1lLmNvbG9yYCB0byBgJHRoZW1lYC5cbiAgLy8gSGVuY2UgZGV2ZWxvcGVycyBjb3VsZCBjdXN0b21pemUgdGhlIGNvbG9ycyBhdCB0b3AtbGV2ZWwgYW5kIHdhbnQgdG8gcmVzcGVjdCB0aGVzZSBjaGFuZ2VzXG4gIC8vIFRPRE86IFJlbW92ZSB3aGVuIGxlZ2FjeSB0aGVtaW5nIEFQSSBpcyByZW1vdmVkLlxuICBAaWYgbWF0LXByaXZhdGUtaXMtbGVnYWN5LWNvbnN0cnVjdGVkLXRoZW1lKCR0aGVtZSkge1xuICAgIEByZXR1cm4gJHRoZW1lO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkdGhlbWUsIGNvbG9yKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCR0aGVtZSwgY29sb3IpO1xuICB9XG4gIEByZXR1cm4gJGRlZmF1bHQ7XG59XG5cbi8vLyBHZXRzIHRoZSBkZW5zaXR5IGNvbmZpZ3VyYXRpb24gZnJvbSB0aGUgZ2l2ZW4gdGhlbWUgb3IgY29uZmlndXJhdGlvbi5cbkBmdW5jdGlvbiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZS1vci1jb25maWcsICRkZWZhdWx0OiAwKSB7XG4gIC8vIElmIGEgY29uZmlndXJhdGlvbiBoYXMgYmVlbiBwYXNzZWQsIHJldHVybiB0aGUgY29uZmlnIGRpcmVjdGx5LlxuICBAaWYgbm90IG1hdC1wcml2YXRlLWlzLXRoZW1lLW9iamVjdCgkdGhlbWUtb3ItY29uZmlnKSB7XG4gICAgQHJldHVybiAkdGhlbWUtb3ItY29uZmlnO1xuICB9XG4gIC8vIEluIGNhc2UgYSB0aGVtZSBoYXMgYmVlbiBwYXNzZWQsIGV4dHJhY3QgdGhlIGNvbmZpZ3VyYXRpb24gaWYgcHJlc2VudCxcbiAgLy8gb3IgZmFsbCBiYWNrIHRvIHRoZSBkZWZhdWx0IGRlbnNpdHkgY29uZmlnLlxuICBAaWYgbWFwLWhhcy1rZXkoJHRoZW1lLW9yLWNvbmZpZywgZGVuc2l0eSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkdGhlbWUtb3ItY29uZmlnLCBkZW5zaXR5KTtcbiAgfVxuICBAcmV0dXJuICRkZWZhdWx0O1xufVxuXG4vLy8gR2V0cyB0aGUgdHlwb2dyYXBoeSBjb25maWd1cmF0aW9uIGZyb20gdGhlIGdpdmVuIHRoZW1lIG9yIGNvbmZpZ3VyYXRpb24uXG4vLy8gRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LCB0eXBvZ3JhcGh5IGlzIG5vdCBpbmNsdWRlZCBieSBkZWZhdWx0LlxuQGZ1bmN0aW9uIG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lLW9yLWNvbmZpZywgJGRlZmF1bHQ6IG51bGwpIHtcbiAgLy8gSWYgYSBjb25maWd1cmF0aW9uIGhhcyBiZWVuIHBhc3NlZCwgcmV0dXJuIHRoZSBjb25maWcgZGlyZWN0bHkuXG4gIEBpZiBub3QgbWF0LXByaXZhdGUtaXMtdGhlbWUtb2JqZWN0KCR0aGVtZS1vci1jb25maWcpIHtcbiAgICBAcmV0dXJuICR0aGVtZS1vci1jb25maWc7XG4gIH1cbiAgLy8gSW4gY2FzZSBhIHRoZW1lIGhhcyBiZWVuIHBhc3NlZCwgZXh0cmFjdCB0aGUgY29uZmlndXJhdGlvbiBpZiBwcmVzZW50LFxuICAvLyBvciBmYWxsIGJhY2sgdG8gdGhlIGRlZmF1bHQgdHlwb2dyYXBoeSBjb25maWcuXG4gIEBpZiAobWFwLWhhcy1rZXkoJHRoZW1lLW9yLWNvbmZpZywgdHlwb2dyYXBoeSkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHRoZW1lLW9yLWNvbmZpZywgdHlwb2dyYXBoeSk7XG4gIH1cbiAgQHJldHVybiAkZGVmYXVsdDtcbn1cblxuXG4vL1xuLy8gUHJpdmF0ZSBBUElzXG4vL1xuXG4vLyBDaGVja3MgaWYgY29uZmlndXJhdGlvbnMgdGhhdCBoYXZlIGJlZW4gZGVjbGFyZWQgaW4gdGhlIGdpdmVuIHRoZW1lIGhhdmUgYmVlbiBnZW5lcmF0ZWRcbi8vIGJlZm9yZS4gSWYgc28sIHdhcm5pbmdzIHdpbGwgYmUgcmVwb3J0ZWQuIFRoaXMgc2hvdWxkIG5vdGlmeSBkZXZlbG9wZXJzIGluIGNhc2UgZHVwbGljYXRlXG4vLyBzdHlsZXMgYXJlIGFjY2lkZW50YWxseSBnZW5lcmF0ZWQgZHVlIHRvIHdyb25nIHVzYWdlIG9mIHRoZSBhbGwtdGhlbWUgbWl4aW5zLlxuLy9cbi8vIEFkZGl0aW9uYWxseSwgdGhpcyBtaXhpbiBjb250cm9scyB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGRlbnNpdHkgY29uZmlndXJhdGlvbi4gQnlcbi8vIGRlZmF1bHQsIGRlbnNpdHkgc3R5bGVzIGFyZSBnZW5lcmF0ZWQgYXQgc2NhbGUgemVyby4gSWYgdGhlIHNhbWUgZGVuc2l0eSBzdHlsZXMgd291bGQgYmVcbi8vIGdlbmVyYXRlZCBhIHNlY29uZCB0aW1lIHRob3VnaCwgdGhlIGRlZmF1bHQgdmFsdWUgd2lsbCBjaGFuZ2UgdG8gYXZvaWQgZHVwbGljYXRlIHN0eWxlcy5cbi8vXG4vLyBUaGUgbWl4aW4ga2VlcHMgdHJhY2sgb2YgYWxsIGNvbmZpZ3VyYXRpb25zIGluIGEgbGlzdCB0aGF0IGlzIHNjb3BlZCB0byB0aGUgc3BlY2lmaWVkXG4vLyBpZC4gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSBhIGdpdmVuIHRoZW1lIGNhbiBiZSBwYXNzZWQgdG8gbXVsdGlwbGUgZGlzam9pbnQgdGhlbWUgbWl4aW5zXG4vLyAoZS5nLiBgYW5ndWxhci1tYXRlcmlhbC10aGVtZWAgYW5kIGBhbmd1bGFyLW1hdGVyaWFsLW1kYy10aGVtZWApIHdpdGhvdXQgY2F1c2luZyBhbnlcbi8vIHN0eWxlIGR1cGxpY2F0aW9uLlxuQG1peGluIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZywgJGlkKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgJGNvbG9yLWNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgJGRlbnNpdHktY29uZmlnOiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICR0eXBvZ3JhcGh5LWNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuICAvLyBMaXN0cyBvZiBwcmV2aW91cyBgY29sb3JgLCBgZGVuc2l0eWAgYW5kIGB0eXBvZ3JhcGh5YCBjb25maWd1cmF0aW9ucy5cbiAgJHByZXZpb3VzLWNvbG9yOiBtYXAtZ2V0KCRfbWF0LXRoZW1lLWVtaXR0ZWQtY29sb3IsICRpZCkgb3IgKCk7XG4gICRwcmV2aW91cy10eXBvZ3JhcGh5OiBtYXAtZ2V0KCRfbWF0LXRoZW1lLWVtaXR0ZWQtdHlwb2dyYXBoeSwgJGlkKSBvciAoKTtcbiAgJHByZXZpb3VzLWRlbnNpdHk6IG1hcC1nZXQoJF9tYXQtdGhlbWUtZW1pdHRlZC1kZW5zaXR5LCAkaWQpIG9yICgpO1xuICAvLyBXaGV0aGVyIGR1cGxpY2F0ZSBsZWdhY3kgZGVuc2l0eSBzdHlsZXMgd291bGQgYmUgZ2VuZXJhdGVkLlxuICAkZHVwbGljYXRlLWxlZ2FjeS1kZW5zaXR5OiBmYWxzZTtcblxuICAvLyBDaGVjayBpZiB0aGUgY29sb3IgY29uZmlndXJhdGlvbiBoYXMgYmVlbiBnZW5lcmF0ZWQgYmVmb3JlLlxuICBAaWYgJGNvbG9yLWNvbmZpZyAhPSBudWxsIHtcbiAgICBAaWYgaW5kZXgoJHByZXZpb3VzLWNvbG9yLCAkY29sb3ItY29uZmlnKSAhPSBudWxsIGFuZFxuICAgICAgICBub3QgJG1hdC10aGVtZS1pZ25vcmUtZHVwbGljYXRpb24td2FybmluZ3Mge1xuICAgICAgQHdhcm4gJ1RoZSBzYW1lIGNvbG9yIHN0eWxlcyBhcmUgZ2VuZXJhdGVkIG11bHRpcGxlIHRpbWVzLiAnICtcbiAgICAgICAgICAkX21hdC10aGVtZS1kdXBsaWNhdGUtd2FybmluZztcbiAgICB9XG4gICAgJHByZXZpb3VzLWNvbG9yOiBhcHBlbmQoJHByZXZpb3VzLWNvbG9yLCAkY29sb3ItY29uZmlnKTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSB0eXBvZ3JhcGh5IGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gZ2VuZXJhdGVkIGJlZm9yZS5cbiAgQGlmICR0eXBvZ3JhcGh5LWNvbmZpZyAhPSBudWxsIHtcbiAgICBAaWYgaW5kZXgoJHByZXZpb3VzLXR5cG9ncmFwaHksICR0eXBvZ3JhcGh5LWNvbmZpZykgIT0gbnVsbCBhbmRcbiAgICAgICAgbm90ICRtYXQtdGhlbWUtaWdub3JlLWR1cGxpY2F0aW9uLXdhcm5pbmdzIHtcbiAgICAgIEB3YXJuICdUaGUgc2FtZSB0eXBvZ3JhcGh5IHN0eWxlcyBhcmUgZ2VuZXJhdGVkIG11bHRpcGxlIHRpbWVzLiAnICtcbiAgICAgICAgICAkX21hdC10aGVtZS1kdXBsaWNhdGUtd2FybmluZztcbiAgICB9XG4gICAgJHByZXZpb3VzLXR5cG9ncmFwaHk6IGFwcGVuZCgkcHJldmlvdXMtdHlwb2dyYXBoeSwgJHR5cG9ncmFwaHktY29uZmlnKTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBkZW5zaXR5IGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gZ2VuZXJhdGVkIGJlZm9yZS5cbiAgQGlmICRkZW5zaXR5LWNvbmZpZyAhPSBudWxsIHtcbiAgICBAaWYgaW5kZXgoJHByZXZpb3VzLWRlbnNpdHksICRkZW5zaXR5LWNvbmZpZykgIT0gbnVsbCB7XG4gICAgICAvLyBPbmx5IHJlcG9ydCBhIHdhcm5pbmcgaWYgZGVuc2l0eSBzdHlsZXMgd291bGQgYmUgZHVwbGljYXRlZCBmb3Igbm9uLWxlZ2FjeSB0aGVtZVxuICAgICAgLy8gZGVmaW5pdGlvbnMuIEZvciBsZWdhY3kgdGhlbWVzLCB3ZSBoYXZlIGNvbXBhdGliaWxpdHkgbG9naWMgdGhhdCBhdm9pZHMgZHVwbGljYXRpb25cbiAgICAgIC8vIG9mIGRlZmF1bHQgZGVuc2l0eSBzdHlsZXMuIFdlIGRvbid0IHdhbnQgdG8gcmVwb3J0IGEgd2FybmluZyBpbiB0aG9zZSBjYXNlcy5cbiAgICAgIEBpZiBtYXQtcHJpdmF0ZS1pcy1sZWdhY3ktY29uc3RydWN0ZWQtdGhlbWUoJHRoZW1lKSB7XG4gICAgICAgICRkdXBsaWNhdGUtbGVnYWN5LWRlbnNpdHk6IHRydWU7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiBub3QgJG1hdC10aGVtZS1pZ25vcmUtZHVwbGljYXRpb24td2FybmluZ3Mge1xuICAgICAgICBAd2FybiAnVGhlIHNhbWUgZGVuc2l0eSBzdHlsZXMgYXJlIGdlbmVyYXRlZCBtdWx0aXBsZSB0aW1lcy4gJyArXG4gICAgICAgICAgICRfbWF0LXRoZW1lLWR1cGxpY2F0ZS13YXJuaW5nO1xuICAgICAgfVxuICAgIH1cbiAgICAkcHJldmlvdXMtZGVuc2l0eTogYXBwZW5kKCRwcmV2aW91cy1kZW5zaXR5LCAkZGVuc2l0eS1jb25maWcpO1xuICB9XG5cbiAgJF9tYXQtdGhlbWUtZW1pdHRlZC1jb2xvcjogbWFwLW1lcmdlKFxuICAgICAgJF9tYXQtdGhlbWUtZW1pdHRlZC1jb2xvciwgKCRpZDogJHByZXZpb3VzLWNvbG9yKSkgIWdsb2JhbDtcbiAgJF9tYXQtdGhlbWUtZW1pdHRlZC1kZW5zaXR5OiBtYXAtbWVyZ2UoXG4gICAgICAkX21hdC10aGVtZS1lbWl0dGVkLWRlbnNpdHksICgkaWQ6ICRwcmV2aW91cy1kZW5zaXR5KSkgIWdsb2JhbDtcbiAgJF9tYXQtdGhlbWUtZW1pdHRlZC10eXBvZ3JhcGh5OiBtYXAtbWVyZ2UoXG4gICAgICAkX21hdC10aGVtZS1lbWl0dGVkLXR5cG9ncmFwaHksICgkaWQ6ICRwcmV2aW91cy10eXBvZ3JhcGh5KSkgIWdsb2JhbDtcblxuICAvLyBPcHRpb25hbGx5LCBjb25zdW1lcnMgb2YgdGhpcyBtaXhpbiBjYW4gd3JhcCBjb250ZW50cyBpbnNpZGUgc28gdGhhdCBuZXN0ZWRcbiAgLy8gZHVwbGljYXRlIHN0eWxlIGNoZWNrcyBkbyBub3QgcmVwb3J0IGFub3RoZXIgd2FybmluZy4gZS5nLiBpZiBkZXZlbG9wZXJzIGluY2x1ZGVcbiAgLy8gdGhlIGBhbmd1bGFyLW1hdGVyaWFsLXRoZW1lYCBtaXhpbiB0d2ljZSwgb25seSB0aGUgdG9wLWxldmVsIGR1cGxpY2F0ZSBzdHlsZXMgY2hlY2tcbiAgLy8gc2hvdWxkIHJlcG9ydCBhIHdhcm5pbmcuIE5vdCBhbGwgaW5kaXZpZHVhbCBjb21wb25lbnRzIHNob3VsZCByZXBvcnQgYSB3YXJuaW5nIHRvby5cbiAgJG9yaWctbWF0LXRoZW1lLWlnbm9yZS1kdXBsaWNhdGlvbi13YXJuaW5nczogJG1hdC10aGVtZS1pZ25vcmUtZHVwbGljYXRpb24td2FybmluZ3M7XG4gICRtYXQtdGhlbWUtaWdub3JlLWR1cGxpY2F0aW9uLXdhcm5pbmdzOiB0cnVlICFnbG9iYWw7XG5cbiAgLy8gSWYgZHVwbGljYXRlIGRlZmF1bHQgZGVuc2l0eSBzdHlsZXMgd291bGQgYmUgZ2VuZXJhdGVkIGZvciBhIGxlZ2FjeSBjb25zdHJ1Y3RlZCB0aGVtZSxcbiAgLy8gd2UgYWRqdXN0IHRoZSBkZW5zaXR5IGdlbmVyYXRpb24gc28gdGhhdCBubyBkZW5zaXR5IHN0eWxlcyBhcmUgZ2VuZXJhdGVkIGJ5IGRlZmF1bHQuXG4gIC8vIElmIG5vIGRlZmF1bHQgZGVuc2l0eSBzdHlsZXMgaGF2ZSBiZWVuIGdlbmVyYXRlZCB5ZXQsIHdlIGVuc3VyZSB0aGF0IHRoZSBzdHlsZXNcbiAgLy8gYXJlIGdlbmVyYXRlZCBhdCByb290LiBGb3IgbGVnYWN5IHRoZW1lcyBvdXIgZ29hbCBpcyB0byBnZW5lcmF0ZSBkZWZhdWx0IGRlbnNpdHlcbiAgLy8gc3R5bGVzICoqb25jZSoqIGFuZCBhdCByb290LiBUaGlzIG1hdGNoZXMgdGhlIG9sZCBiZWhhdmlvciB3aGVyZSBkZW5zaXR5IHN0eWxlcyB3ZXJlXG4gIC8vIHBhcnQgb2YgdGhlIGJhc2UgY29tcG9uZW50IHN0eWxlcyAodGhhdCBkaWQgbm90IHVzZSB2aWV3IGVuY2Fwc3VsYXRpb24pLlxuICAvLyBUT0RPOiBSZW1vdmUgdGhpcyBjb21wYXRpYmlsaXR5IGxvZ2ljIHdoZW4gdGhlIGxlZ2FjeSB0aGVtaW5nIEFQSSBpcyByZW1vdmVkLlxuICAkbWF0LXByaXZhdGUtZGVuc2l0eS1nZW5lcmF0ZS1hdC1yb290OiBtYXQtcHJpdmF0ZS1pcy1sZWdhY3ktY29uc3RydWN0ZWQtdGhlbWUoJHRoZW1lKSAhZ2xvYmFsO1xuICAkbWF0LXByaXZhdGUtZGVuc2l0eS1nZW5lcmF0ZS1zdHlsZXM6IG5vdCAkZHVwbGljYXRlLWxlZ2FjeS1kZW5zaXR5ICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG4gICRtYXQtdGhlbWUtaWdub3JlLWR1cGxpY2F0aW9uLXdhcm5pbmdzOiAkb3JpZy1tYXQtdGhlbWUtaWdub3JlLWR1cGxpY2F0aW9uLXdhcm5pbmdzICFnbG9iYWw7XG5cbiAgJG1hdC1wcml2YXRlLWRlbnNpdHktZ2VuZXJhdGUtYXQtcm9vdDogZmFsc2UgIWdsb2JhbDtcbiAgJG1hdC1wcml2YXRlLWRlbnNpdHktZ2VuZXJhdGUtc3R5bGVzOiB0cnVlICFnbG9iYWw7XG59XG5cbi8vIENoZWNrcyB3aGV0aGVyIHRoZSBnaXZlbiB2YWx1ZSByZXNvbHZlcyB0byBhIHRoZW1lIG9iamVjdC4gVGhlbWUgb2JqZWN0cyBhcmUgYWx3YXlzXG4vLyBvZiB0eXBlIGBtYXBgIGFuZCBjYW4gb3B0aW9uYWxseSBvbmx5IHNwZWNpZnkgYGNvbG9yYCwgYGRlbnNpdHlgIG9yIGB0eXBvZ3JhcGh5YC5cbkBmdW5jdGlvbiBtYXQtcHJpdmF0ZS1pcy10aGVtZS1vYmplY3QoJHZhbHVlKSB7XG4gIEByZXR1cm4gdHlwZS1vZigkdmFsdWUpID09ICdtYXAnIGFuZCAoXG4gICAgbWFwLWhhcy1rZXkoJHZhbHVlLCBjb2xvcikgb3JcbiAgICBtYXAtaGFzLWtleSgkdmFsdWUsIGRlbnNpdHkpIG9yXG4gICAgbWFwLWhhcy1rZXkoJHZhbHVlLCB0eXBvZ3JhcGh5KSBvclxuICAgIGxlbmd0aCgkdmFsdWUpID09IDBcbiAgKTtcbn1cblxuLy8gQ2hlY2tzIHdoZXRoZXIgYSBnaXZlbiB2YWx1ZSBjb3JyZXNwb25kcyB0byBhIGxlZ2FjeSBjb25zdHJ1Y3RlZCB0aGVtZS5cbkBmdW5jdGlvbiBtYXQtcHJpdmF0ZS1pcy1sZWdhY3ktY29uc3RydWN0ZWQtdGhlbWUoJHZhbHVlKSB7XG4gIEByZXR1cm4gdHlwZS1vZigkdmFsdWUpID09ICdtYXAnIGFuZCBtYXAtZ2V0KCR2YWx1ZSwgJ19pcy1sZWdhY3ktdGhlbWUnKTtcbn1cblxuLy8gQ3JlYXRlcyBhIGJhY2t3YXJkcyBjb21wYXRpYmxlIHRoZW1lLiBQcmV2aW91c2x5IGluIEFuZ3VsYXIgTWF0ZXJpYWwsIHRoZW1lIG9iamVjdHNcbi8vIGNvbnRhaW5lZCB0aGUgY29sb3IgY29uZmlndXJhdGlvbiBkaXJlY3RseS4gV2l0aCB0aGUgcmVjZW50IHJlZmFjdG9yaW5nIG9mIHRoZSB0aGVtaW5nXG4vLyBzeXN0ZW0gdG8gYWxsb3cgZm9yIGRlbnNpdHkgYW5kIHR5cG9ncmFwaHkgY29uZmlndXJhdGlvbnMsIHRoaXMgaXMgbm8gbG9uZ2VyIHRoZSBjYXNlLlxuLy8gVG8gZW5zdXJlIHRoYXQgY29uc3RydWN0ZWQgdGhlbWVzIHdoaWNoIHdpbGwgYmUgcGFzc2VkIHRvIGN1c3RvbSB0aGVtZSBtaXhpbnMgZG8gbm90IGJyZWFrLFxuLy8gd2UgY29weSB0aGUgY29sb3IgY29uZmlndXJhdGlvbiBhbmQgcHV0IGl0cyBwcm9wZXJ0aWVzIGF0IHRoZSB0b3AtbGV2ZWwgb2YgdGhlIHRoZW1lIG9iamVjdC5cbi8vIEhlcmUgaXMgYW4gZXhhbXBsZSBvZiBhIHBhdHRlcm4gdGhhdCBzaG91bGQgc3RpbGwgd29yayB1bnRpbCBpdCdzIG9mZmljaWFsbHkgbWFya2VkIGFzIGFcbi8vIGJyZWFraW5nIGNoYW5nZTpcbi8vXG4vLyAgICBAbWl4aW4gbXktY3VzdG9tLWNvbXBvbmVudC10aGVtZSgkdGhlbWUpIHtcbi8vICAgICAgLm15LWNvbXAge1xuLy8gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcihtYXAtZ2V0KCR0aGVtZSwgcHJpbWFyeSkpO1xuLy8gICAgICB9XG4vLyAgICB9XG4vL1xuLy8gTm90ZSB0aGF0IHRoZSBgJHRoZW1lLnByaW1hcnlgIGtleSBkb2VzIHVzdWFsbHkgbm90IGV4aXN0IHNpbmNlIHRoZSBjb2xvciBjb25maWd1cmF0aW9uXG4vLyBpcyBzdG9yZWQgaW4gYCR0aGVtZS5jb2xvcmAgd2hpY2ggY29udGFpbnMgYSBwcm9wZXJ0eSBmb3IgYHByaW1hcnlgLiBUaGlzIG1ldGhvZCBjb3BpZXNcbi8vIHRoZSBtYXAgZnJvbSBgJHRoZW1lLmNvbG9yYCB0byBgJHRoZW1lYCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG5AZnVuY3Rpb24gbWF0LXByaXZhdGUtY3JlYXRlLWJhY2t3YXJkcy1jb21wYXRpYmlsaXR5LXRoZW1lKCR0aGVtZSkge1xuICBAaWYgbm90IG1hcC1nZXQoJHRoZW1lLCBjb2xvcikge1xuICAgIEByZXR1cm4gJHRoZW1lO1xuICB9XG4gICRjb2xvcjogbWFwLWdldCgkdGhlbWUsIGNvbG9yKTtcbiAgQHJldHVybiBtYXAtbWVyZ2UoJHRoZW1lLCAkY29sb3IpO1xufVxuXG4vLyBHZXRzIHRoZSB0aGVtZSBmcm9tIHRoZSBnaXZlbiB2YWx1ZSB0aGF0IGlzIGVpdGhlciBhbHJlYWR5IGEgdGhlbWUsIG9yIGEgY29sb3IgY29uZmlndXJhdGlvbi5cbi8vIFRoaXMgaGFuZGxlcyB0aGUgbGVnYWN5IGNhc2Ugd2hlcmUgZGV2ZWxvcGVycyBwYXNzIGEgY29sb3IgY29uZmlndXJhdGlvbiBkaXJlY3RseSB0byB0aGVcbi8vIHRoZW1lIG1peGluLiBCZWZvcmUgd2UgaW50cm9kdWNlZCB0aGUgbmV3IHBhdHRlcm4gZm9yIGNvbnN0cnVjdGluZyBhIHRoZW1lLCBkZXZlbG9wZXJzIHBhc3NlZFxuLy8gdGhlIGNvbG9yIGNvbmZpZ3VyYXRpb24gZGlyZWN0bHkgdG8gdGhlIHRoZW1lIG1peGlucy4gVGhpcyBjYW4gYmUgc3RpbGwgdGhlIGNhc2UgaWYgZGV2ZWxvcGVyc1xuLy8gY29uc3RydWN0IGEgdGhlbWUgbWFudWFsbHkgYW5kIHBhc3MgaXQgdG8gYSB0aGVtZS4gV2Ugc3VwcG9ydCB0aGlzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbi8vIFRPRE8oZGV2dmVyc2lvbik6IHJlbW92ZSB0aGlzIGluIHRoZSBmdXR1cmUuIENvbnN0cnVjdGluZyB0aGVtZXMgbWFudWFsbHkgaXMgcmFyZSxcbi8vIGFuZCB0aGUgY29kZSBjYW4gYmUgZWFzaWx5IHVwZGF0ZWQgdG8gdGhlIG5ldyBBUEkuXG5AZnVuY3Rpb24gbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gIEBpZiBtYXQtcHJpdmF0ZS1pcy10aGVtZS1vYmplY3QoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAgIEByZXR1cm4gJHRoZW1lLW9yLWNvbG9yLWNvbmZpZztcbiAgfVxuICBAcmV0dXJuIG1hdC1wcml2YXRlLWNyZWF0ZS1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS10aGVtZSgoXG4gICAgX2lzLWxlZ2FjeS10aGVtZTogdHJ1ZSxcbiAgICBjb2xvcjogJHRoZW1lLW9yLWNvbG9yLWNvbmZpZ1xuICApKTtcbn1cblxuXG5cbiRtYXQtcmlwcGxlLWNvbG9yLW9wYWNpdHk6IDAuMTtcblxuQG1peGluIG1hdC1yaXBwbGUoKSB7XG5cbiAgLy8gVGhlIGhvc3QgZWxlbWVudCBvZiBhbiBtYXQtcmlwcGxlIGRpcmVjdGl2ZSBzaG91bGQgYWx3YXlzIGhhdmUgYSBwb3NpdGlvbiBvZiBcImFic29sdXRlXCIgb3JcbiAgLy8gXCJyZWxhdGl2ZVwiIHNvIHRoYXQgdGhlIHJpcHBsZXMgaW5zaWRlIGFyZSBjb3JyZWN0bHkgcG9zaXRpb25lZCByZWxhdGl2ZWx5IHRvIHRoZSBjb250YWluZXIuXG4gIC5tYXQtcmlwcGxlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLy8gQnkgZGVmYXVsdCwgZXZlcnkgcmlwcGxlIGNvbnRhaW5lciBzaG91bGQgaGF2ZSBwb3NpdGlvbjogcmVsYXRpdmUgaW4gZmF2b3Igb2YgY3JlYXRpbmcgYW5cbiAgICAvLyBlYXN5IEFQSSBmb3IgZGV2ZWxvcGVycyB1c2luZyB0aGUgTWF0UmlwcGxlIGRpcmVjdGl2ZS5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyBQcm9tb3RlIGNvbnRhaW5lcnMgdGhhdCBoYXZlIHJpcHBsZXMgdG8gYSBuZXcgbGF5ZXIuIFdlIHdhbnQgdG8gdGFyZ2V0IGA6bm90KDplbXB0eSlgLFxuICAgIC8vIGJlY2F1c2Ugd2UgZG9uJ3Qgd2FudCBhbGwgcmlwcGxlIGNvbnRhaW5lcnMgdG8gaGF2ZSB0aGVpciBvd24gbGF5ZXIgc2luY2UgdGhleSdyZSB1c2VkIGluIGFcbiAgICAvLyBsb3Qgb2YgcGxhY2VzIGFuZCB0aGUgbGF5ZXIgaXMgb25seSByZWxldmFudCB3aGlsZSBhbmltYXRpbmcuIE5vdGUgdGhhdCBpZGVhbGx5IHdlJ2QgdXNlXG4gICAgLy8gdGhlIGBjb250YWluYCBwcm9wZXJ0eSBoZXJlIChzZWUgIzEzMTc1KSwgYmVjYXVzZSBgOmVtcHR5YCBjYW4gYmUgYnJva2VuIGJ5IGhhdmluZyBleHRyYVxuICAgIC8vIHRleHQgaW5zaWRlIHRoZSBlbGVtZW50LCBidXQgaXQgaXNuJ3QgdmVyeSB3ZWxsIHN1cHBvcnRlZCB5ZXQuXG4gICAgJjpub3QoOmVtcHR5KSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWQge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHksIHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcblxuICAgIC8vIEluIGhpZ2ggY29udHJhc3QgbW9kZSB0aGUgcmlwcGxlIGlzIG9wYXF1ZSwgY2F1c2luZyBpdCB0byBvYnN0cnVjdCB0aGUgY29udGVudC5cbiAgICBAaW5jbHVkZSBjZGstaGlnaC1jb250cmFzdChhY3RpdmUsIG9mZikge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLyogQ29sb3JzIGZvciB0aGUgcmlwcGxlIGVsZW1lbnRzLiovXG5AbWl4aW4gbWF0LXJpcHBsZS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQtYmFzZTogbWFwLWdldCgkZm9yZWdyb3VuZCwgYmFzZSk7XG5cbiAgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgLy8gSWYgdGhlIHJpcHBsZSBjb2xvciBpcyByZXNvbHZlcyB0byBhIGNvbG9yICp0eXBlKiwgd2UgY2FuIHVzZSBpdCBkaXJlY3RseSwgb3RoZXJ3aXNlXG4gICAgLy8gKGUuZy4gaXQgcmVzb2x2ZXMgdG8gYSBDU1MgdmFyaWFibGUpIHdlIGZhbGwgYmFjayB0byB1c2luZyB0aGUgY29sb3IgYW5kIHNldHRpbmcgYW4gb3BhY2l0eS5cbiAgICBAaWYgKHR5cGUtb2YoJGZvcmVncm91bmQtYmFzZSkgPT0gY29sb3IpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGZvcmVncm91bmQtYmFzZSwgJG1hdC1yaXBwbGUtY29sb3Itb3BhY2l0eSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JlZ3JvdW5kLWJhc2U7XG4gICAgICBvcGFjaXR5OiAkbWF0LXJpcHBsZS1jb2xvci1vcGFjaXR5O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXJpcHBsZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtcmlwcGxlJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXJpcHBsZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRoaXMgbWl4aW4gZW5zdXJlcyBhbiBlbGVtZW50IHNwYW5zIHRvIGZpbGwgdGhlIG5lYXJlc3QgYW5jZXN0b3Igd2l0aCBkZWZpbmVkIHBvc2l0aW9uaW5nLlxuQG1peGluIG1hdC1maWxsIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cblxuLy8vIE1peGluIHRoYXQgdHVybnMgb24gc3Ryb25nIGZvY3VzIGluZGljYXRvcnMuXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vICAgLm15LWFwcCB7XG4vLy8gICAgIEBpbmNsdWRlIG1hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycygkY29uZmlnKTtcbi8vLyAgIH1cbkBtaXhpbiBtYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMoJGNvbmZpZzogKCkpIHtcbiAgLy8gRGVmYXVsdCBmb2N1cyBpbmRpY2F0b3IgY29uZmlnLlxuICAkZGVmYXVsdC1jb25maWc6IChcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkLFxuICAgIGJvcmRlci13aWR0aDogM3B4LFxuICAgIGJvcmRlci1yYWRpdXM6IDRweCxcbiAgKTtcblxuICAvLyBNZXJnZSBkZWZhdWx0IGNvbmZpZyB3aXRoIHVzZXIgY29uZmlnLlxuICAkY29uZmlnOiBtYXAtbWVyZ2UoJGRlZmF1bHQtY29uZmlnLCAkY29uZmlnKTtcbiAgJGJvcmRlci1zdHlsZTogbWFwLWdldCgkY29uZmlnLCBib3JkZXItc3R5bGUpO1xuICAkYm9yZGVyLXdpZHRoOiBtYXAtZ2V0KCRjb25maWcsIGJvcmRlci13aWR0aCk7XG4gICRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRjb25maWcsIGJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIEJhc2Ugc3R5bGVzIGZvciBmb2N1cyBpbmRpY2F0b3JzLlxuICAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBtYXQtZmlsbCgpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoICRib3JkZXItc3R5bGUgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIH1cblxuICAvLyBCeSBkZWZhdWx0LCBhbGwgZm9jdXMgaW5kaWNhdG9ycyBhcmUgZmx1c2ggd2l0aCB0aGUgYm91bmRpbmcgYm94IG9mIHRoZWlyXG4gIC8vIGhvc3QgZWxlbWVudC4gRm9yIHBhcnRpY3VsYXIgZWxlbWVudHMgKGxpc3RlZCBiZWxvdyksIGRlZmF1bHQgaW5zZXQvb2Zmc2V0XG4gIC8vIHZhbHVlcyBhcmUgbmVjZXNzYXJ5IHRvIGVuc3VyZSB0aGF0IHRoZSBmb2N1cyBpbmRpY2F0b3IgaXMgc3VmZmljaWVudGx5XG4gIC8vIGNvbnRyYXN0aXZlIGFuZCByZW5kZXJzIGFwcHJvcHJpYXRlbHkuXG5cbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3IubWF0LWZsYXQtYnV0dG9uOjpiZWZvcmUsXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1yYWlzZWQtYnV0dG9uOjpiZWZvcmUsXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1mYWI6OmJlZm9yZSxcbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3IubWF0LW1pbmktZmFiOjpiZWZvcmUsXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1jaGlwOjpiZWZvcmUsXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1zb3J0LWhlYWRlci1jb250YWluZXI6OmJlZm9yZSB7XG4gICAgbWFyZ2luOiAtKCRib3JkZXItd2lkdGggKyAycHgpO1xuICB9XG5cbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3IubWF0LXN0cm9rZWQtYnV0dG9uOjpiZWZvcmUsXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDo6YmVmb3JlIHtcbiAgICBtYXJnaW46IC0oJGJvcmRlci13aWR0aCArIDNweCk7XG4gIH1cblxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtdGFiLWxpbms6OmJlZm9yZSxcbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3IubWF0LXRhYi1sYWJlbDo6YmVmb3JlIHtcbiAgICBtYXJnaW46IDVweDtcbiAgfVxuXG4gIC8vIFJlbmRlciB0aGUgZm9jdXMgaW5kaWNhdG9yIG9uIGZvY3VzLiBEZWZpbmluZyBhIHBzZXVkbyBlbGVtZW50J3NcbiAgLy8gY29udGVudCB3aWxsIGNhdXNlIGl0IHRvIHJlbmRlci5cblxuICAvLyBDaGVja2JveGVzLCByYWRpb3MsIGFuZCBzbGlkZSB0b2dnbGVzIHJlbmRlciBmb2N1cyBpbmRpY2F0b3JzIHdoZW4gdGhlXG4gIC8vIGFzc29jaWF0ZWQgdmlzdWFsbHktaGlkZGVuIGlucHV0IGlzIGZvY3VzZWQuXG4gIC5tYXQtY2hlY2tib3gtaW5wdXQ6Zm9jdXMgfiAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlLFxuICAubWF0LXJhZGlvLWlucHV0OmZvY3VzIH4gLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSxcbiAgLm1hdC1zbGlkZS10b2dnbGUtaW5wdXQ6Zm9jdXMgfiAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYi1jb250YWluZXIgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSxcblxuICAvLyBGb3Igb3B0aW9ucywgcmVuZGVyIHRoZSBmb2N1cyBpbmRpY2F0b3Igd2hlbiB0aGUgY2xhc3MgLm1hdC1hY3RpdmVcbiAgLy8gaXMgcHJlc2VudC5cbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3IubWF0LW9wdGlvbi5tYXQtYWN0aXZlOjpiZWZvcmUsXG5cbiAgLy8gRm9yIGNhbGVuZGFyIGNlbGxzLCByZW5kZXIgdGhlIGZvY3VzIGluZGljYXRvciB3aGVuIHRoZSBwYXJlbnQgY2VsbCBpc1xuICAvLyBmb2N1c2VkLlxuICAubWF0LWNhbGVuZGFyLWJvZHktY2VsbDpmb2N1cyAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlLFxuXG4gIC8vIEZvciBhbGwgb3RoZXIgY29tcG9uZW50cywgcmVuZGVyIHRoZSBmb2N1cyBpbmRpY2F0b3Igb24gZm9jdXMuXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yOmZvY3VzOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG59XG5cbi8vIE1peGluIHRoYXQgYXBwbGllcyB0aGUgYm9yZGVyIGNvbG9yIGZvciB0aGUgZm9jdXMgaW5kaWNhdG9ycy5cbkBtaXhpbiBfbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLWJvcmRlci1jb2xvcigkY29sb3IpIHtcbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuQG1peGluIG1hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICBAaW5jbHVkZSBfbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLWJvcmRlci1jb2xvcihtYXQtY29sb3IobWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KSkpO1xufVxuXG4vLy8gTWl4aW4gdGhhdCBzZXRzIHRoZSBjb2xvciBvZiB0aGUgZm9jdXMgaW5kaWNhdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Y29sb3J8bWFwfSAkdGhlbWUtb3ItY29sb3Jcbi8vLyAgIElmIHRoZW1lLCBmb2N1cyBpbmRpY2F0b3JzIGFyZSBzZXQgdG8gdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIHRoZW1lLiBJZlxuLy8vICAgY29sb3IsIGZvY3VzIGluZGljYXRvcnMgYXJlIHNldCB0byB0aGF0IGNvbG9yLlxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyAgIC5kZW1vLWRhcmstdGhlbWUge1xuLy8vICAgICBAaW5jbHVkZSBtYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtdGhlbWUoJGRhcmstdGhlbWUtbWFwKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gICAuZGVtby1yZWQtdGhlbWUge1xuLy8vICAgICBAaW5jbHVkZSBtYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtdGhlbWUoI2YwMCk7XG4vLy8gICB9XG4vKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF0ZXJpYWwvdGhlbWUtbWl4aW4tYXBpICovXG5AbWl4aW4gbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLXRoZW1lKCR0aGVtZS1vci1jb2xvcikge1xuICBAaWYgdHlwZS1vZigkdGhlbWUtb3ItY29sb3IpICE9ICdtYXAnIHtcbiAgICBAaW5jbHVkZSBfbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLWJvcmRlci1jb2xvcigkdGhlbWUtb3ItY29sb3IpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycycpIHtcbiAgICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICAgIEBpbmNsdWRlIG1hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy1jb2xvcigkY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBNaXhpbiB0aGF0IGVuc3VyZXMgZm9jdXMgaW5kaWNhdG9yIGhvc3QgZWxlbWVudHMgYXJlIHBvc2l0aW9uZWQgc28gdGhhdCB0aGUgZm9jdXMgaW5kaWNhdG9yXG4vLyBwc2V1ZG8gZWxlbWVudCB3aXRoaW4gaXMgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgaG9zdC4gUHJpdmF0ZSBtaXhpbiBpbmNsdWRlZCB3aXRoaW5cbi8vIGBtYXQtY29yZWAuXG5AbWl4aW4gbWF0LXByaXZhdGUtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtcG9zaXRpb25pbmcoKSB7XG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cblxuXG5cbi8vIFV0aWxpdHkgZm9yIGZldGNoaW5nIGEgbmVzdGVkIHZhbHVlIGZyb20gYSB0eXBvZ3JhcGh5IGNvbmZpZy5cbkBmdW5jdGlvbiBfbWF0LWdldC10eXBlLXZhbHVlKCRjb25maWcsICRsZXZlbCwgJG5hbWUpIHtcbiAgQHJldHVybiBtYXAtZ2V0KG1hcC1nZXQoJGNvbmZpZywgJGxldmVsKSwgJG5hbWUpO1xufVxuXG4vLyBHZXRzIHRoZSBmb250IHNpemUgZm9yIGEgbGV2ZWwgaW5zaWRlIGEgdHlwb2dyYXBoeSBjb25maWcuXG5AZnVuY3Rpb24gbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCAkbGV2ZWwpIHtcbiAgQHJldHVybiBfbWF0LWdldC10eXBlLXZhbHVlKCRjb25maWcsICRsZXZlbCwgZm9udC1zaXplKTtcbn1cblxuLy8gR2V0cyB0aGUgbGluZSBoZWlnaHQgZm9yIGEgbGV2ZWwgaW5zaWRlIGEgdHlwb2dyYXBoeSBjb25maWcuXG5AZnVuY3Rpb24gbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsICRsZXZlbCkge1xuICBAcmV0dXJuIF9tYXQtZ2V0LXR5cGUtdmFsdWUoJGNvbmZpZywgJGxldmVsLCBsaW5lLWhlaWdodCk7XG59XG5cbi8vIEdldHMgdGhlIGZvbnQgd2VpZ2h0IGZvciBhIGxldmVsIGluc2lkZSBhIHR5cG9ncmFwaHkgY29uZmlnLlxuQGZ1bmN0aW9uIG1hdC1mb250LXdlaWdodCgkY29uZmlnLCAkbGV2ZWwpIHtcbiAgQHJldHVybiBfbWF0LWdldC10eXBlLXZhbHVlKCRjb25maWcsICRsZXZlbCwgZm9udC13ZWlnaHQpO1xufVxuXG4vLyBHZXRzIHRoZSBsZXR0ZXIgc3BhY2luZyBmb3IgYSBsZXZlbCBpbnNpZGUgYSB0eXBvZ3JhcGh5IGNvbmZpZy5cbkBmdW5jdGlvbiBtYXQtbGV0dGVyLXNwYWNpbmcoJGNvbmZpZywgJGxldmVsKSB7XG4gIEByZXR1cm4gX21hdC1nZXQtdHlwZS12YWx1ZSgkY29uZmlnLCAkbGV2ZWwsIGxldHRlci1zcGFjaW5nKTtcbn1cblxuLy8gR2V0cyB0aGUgZm9udC1mYW1pbHkgZnJvbSBhIHR5cG9ncmFwaHkgY29uZmlnIGFuZCByZW1vdmVzIHRoZSBxdW90ZXMgYXJvdW5kIGl0LlxuQGZ1bmN0aW9uIG1hdC1mb250LWZhbWlseSgkY29uZmlnLCAkbGV2ZWw6IG51bGwpIHtcbiAgJGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRjb25maWcsIGZvbnQtZmFtaWx5KTtcblxuICBAaWYgJGxldmVsICE9IG51bGwge1xuICAgICRmb250LWZhbWlseTogX21hdC1nZXQtdHlwZS12YWx1ZSgkY29uZmlnLCAkbGV2ZWwsIGZvbnQtZmFtaWx5KTtcbiAgfVxuXG4gIC8vIEd1YXJkIGFnYWluc3QgdW5xdW90aW5nIG5vbi1zdHJpbmcgdmFsdWVzLCBiZWNhdXNlIGl0J3MgZGVwcmVjYXRlZC5cbiAgQHJldHVybiBpZih0eXBlLW9mKCRmb250LWZhbWlseSkgPT0gc3RyaW5nLCB1bnF1b3RlKCRmb250LWZhbWlseSksICRmb250LWZhbWlseSk7XG59XG5cbi8vIE91dHB1dHMgdGhlIHNob3J0aGFuZCBgZm9udGAgQ1NTIHByb3BlcnR5LCBiYXNlZCBvbiBhIHNldCBvZiB0eXBvZ3JhcGh5IHZhbHVlcy4gRmFsbHMgYmFjayB0b1xuLy8gdGhlIGluZGl2aWR1YWwgcHJvcGVydGllcyBpZiBhIHZhbHVlIHRoYXQgaXNuJ3QgYWxsb3dlZCBpbiB0aGUgc2hvcnRoYW5kIGlzIHBhc3NlZCBpbi5cbkBtaXhpbiBtYXQtdHlwb2dyYXBoeS1mb250LXNob3J0aGFuZCgkZm9udC1zaXplLCAkZm9udC13ZWlnaHQsICRsaW5lLWhlaWdodCwgJGZvbnQtZmFtaWx5KSB7XG4gIC8vIElmIGFueSBvZiB0aGUgdmFsdWVzIGFyZSBzZXQgdG8gYGluaGVyaXRgLCB3ZSBjYW4ndCB1c2UgdGhlIHNob3J0aGFuZFxuICAvLyBzbyB3ZSBmYWxsIGJhY2sgdG8gcGFzc2luZyBpbiB0aGUgaW5kaXZpZHVhbCBwcm9wZXJ0aWVzLlxuICBAaWYgKCRmb250LXNpemUgPT0gaW5oZXJpdCBvclxuICAgICAgICRmb250LXdlaWdodCA9PSBpbmhlcml0IG9yXG4gICAgICAgJGxpbmUtaGVpZ2h0ID09IGluaGVyaXQgb3JcbiAgICAgICAkZm9udC1mYW1pbHkgPT0gaW5oZXJpdCBvclxuICAgICAgICRmb250LXNpemUgPT0gbnVsbCBvclxuICAgICAgICRmb250LXdlaWdodCA9PSBudWxsIG9yXG4gICAgICAgJGxpbmUtaGVpZ2h0ID09IG51bGwgb3JcbiAgICAgICAkZm9udC1mYW1pbHkgPT0gbnVsbCkge1xuXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBPdGhlcndpc2UgdXNlIHRoZSBzaG9ydGhhbmQgYGZvbnRgLCBiZWNhdXNlIGl0J3MgdGhlIGxlYXN0IGFtb3VudCBvZiBieXRlcy4gTm90ZVxuICAgIC8vIHRoYXQgd2UgbmVlZCB0byB1c2UgaW50ZXJwb2xhdGlvbiBmb3IgYGZvbnQtc2l6ZS9saW5lLWhlaWdodGAgaW4gb3JkZXIgdG8gcHJldmVudFxuICAgIC8vIFNhc3MgZnJvbSBkaXZpZGluZyB0aGUgdHdvIHZhbHVlcy5cbiAgICBmb250OiAkZm9udC13ZWlnaHQgI3skZm9udC1zaXplfS8jeyRsaW5lLWhlaWdodH0gJGZvbnQtZmFtaWx5O1xuICB9XG59XG5cbi8vIENvbnZlcnRzIGEgdHlwb2dyYXBoeSBsZXZlbCBpbnRvIENTUyBzdHlsZXMuXG5AbWl4aW4gbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsICRsZXZlbCkge1xuICAkZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsICRsZXZlbCk7XG4gICRmb250LXdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsICRsZXZlbCk7XG4gICRsaW5lLWhlaWdodDogbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsICRsZXZlbCk7XG4gICRmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsICRsZXZlbCk7XG5cbiAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktZm9udC1zaG9ydGhhbmQoJGZvbnQtc2l6ZSwgJGZvbnQtd2VpZ2h0LCAkbGluZS1oZWlnaHQsICRmb250LWZhbWlseSk7XG4gIGxldHRlci1zcGFjaW5nOiBtYXQtbGV0dGVyLXNwYWNpbmcoJGNvbmZpZywgJGxldmVsKTtcbn1cblxuXG5AbWl4aW4gbWF0LW9wdGlvbi1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuXG4gIC5tYXQtb3B0aW9uIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcblxuICAgICY6aG92ZXI6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSxcbiAgICAmOmZvY3VzOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCkge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBob3Zlcik7XG4gICAgfVxuXG4gICAgLy8gSW4gbXVsdGlwbGUgbW9kZSB0aGVyZSBpcyBhIGNoZWNrYm94IHRvIHNob3cgdGhhdCB0aGUgb3B0aW9uIGlzIHNlbGVjdGVkLlxuICAgICYubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1tdWx0aXBsZSk6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGhvdmVyKTtcbiAgICB9XG5cbiAgICAmLm1hdC1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBob3Zlcik7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICB9XG5cbiAgICAmLm1hdC1vcHRpb24tZGlzYWJsZWQge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgaGludC10ZXh0KTtcbiAgICB9XG4gIH1cblxuICAubWF0LXByaW1hcnkgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCkge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIHRleHQpO1xuICB9XG5cbiAgLm1hdC1hY2NlbnQgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCkge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgdGV4dCk7XG4gIH1cblxuICAubWF0LXdhcm4gLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCkge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIHRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtb3B0aW9uLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LW9wdGlvbiB7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIHN1YmhlYWRpbmctMik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfbWF0LW9wdGlvbi1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtb3B0aW9uLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1vcHRpb24nKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtb3B0aW9uLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtb3B0aW9uLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtb3B0aW9uLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbkBtaXhpbiBtYXQtb3B0Z3JvdXAtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1vcHRncm91cC1sYWJlbCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICB9XG5cbiAgLm1hdC1vcHRncm91cC1kaXNhYmxlZCAubWF0LW9wdGdyb3VwLWxhYmVsIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBoaW50LXRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtb3B0Z3JvdXAtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtb3B0Z3JvdXAtbGFiZWwge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBib2R5LTIpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LW9wdGdyb3VwLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1vcHRncm91cC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtb3B0Z3JvdXAnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtb3B0Z3JvdXAtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1vcHRncm91cC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LW9wdGdyb3VwLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuQG1peGluIG1hdC1wc2V1ZG8tY2hlY2tib3gtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcblxuICAvLyBOT1RFKHRyYXZpc2thdWZtYW4pOiBXaGlsZSB0aGUgc3BlYyBjYWxscyBmb3IgdHJhbnNsdWNlbnQgYmxhY2tzL3doaXRlcyBmb3IgZGlzYWJsZWQgY29sb3JzLFxuICAvLyB0aGlzIGRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIGVsZW1lbnRzIGxheWVyZWQgb24gdG9wIG9mIG9uZSBhbm90aGVyLiBUbyBnZXQgYXJvdW5kIHRoaXMgd2VcbiAgLy8gYmxlbmQgdGhlIGNvbG9ycyB0b2dldGhlciBiYXNlZCBvbiB0aGUgYmFzZSBjb2xvciBhbmQgdGhlIHRoZW1lIGJhY2tncm91bmQuXG4gICR3aGl0ZS0zMHBjdC1vcGFjaXR5LW9uLWRhcms6ICM2ODY4Njg7XG4gICRibGFjay0yNnBjdC1vcGFjaXR5LW9uLWxpZ2h0OiAjYjBiMGIwO1xuICAkZGlzYWJsZWQtY29sb3I6IGlmKCRpcy1kYXJrLXRoZW1lLCAkd2hpdGUtMzBwY3Qtb3BhY2l0eS1vbi1kYXJrLCAkYmxhY2stMjZwY3Qtb3BhY2l0eS1vbi1saWdodCk7XG4gICRjb2xvcmVkLWJveC1zZWxlY3RvcjogJy5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsIC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUnO1xuXG4gIC5tYXQtcHNldWRvLWNoZWNrYm94IHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCksIHNlY29uZGFyeS10ZXh0KTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGJhY2tncm91bmQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtcHNldWRvLWNoZWNrYm94LWRpc2FibGVkIHtcbiAgICBjb2xvcjogJGRpc2FibGVkLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1wcmltYXJ5IC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsXG4gIC5tYXQtcHJpbWFyeSAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IobWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KSk7XG4gIH1cblxuICAvLyBEZWZhdWx0IHRvIHRoZSBhY2NlbnQgY29sb3IuIE5vdGUgdGhhdCB0aGUgcHNldWRvIGNoZWNrYm94ZXMgYXJlIG1lYW50IHRvIGluaGVyaXQgdGhlXG4gIC8vIHRoZW1lIGZyb20gdGhlaXIgcGFyZW50LCByYXRoZXIgdGhhbiBpbXBsZW1lbnRpbmcgdGhlaXIgb3duIHRoZW1pbmcsIHdoaWNoIGlzIHdoeSB3ZVxuICAvLyBkb24ndCBhdHRhY2ggdG8gdGhlIGBtYXQtKmAgY2xhc3Nlcy4gQWxzbyBub3RlIHRoYXQgdGhpcyBuZWVkcyB0byBiZSBiZWxvdyBgLm1hdC1wcmltYXJ5YFxuICAvLyBpbiBvcmRlciB0byBhbGxvdyBmb3IgdGhlIGNvbG9yIHRvIGJlIG92ZXJ3cml0dGVuIGlmIHRoZSBjaGVja2JveCBpcyBpbnNpZGUgYSBwYXJlbnQgdGhhdFxuICAvLyBoYXMgYG1hdC1hY2NlbnRgIGFuZCBpcyBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcGFyZW50IHRoYXQgaGFzIGBtYXQtcHJpbWFyeWAuXG4gIC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsXG4gIC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUsXG4gIC5tYXQtYWNjZW50IC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsXG4gIC5tYXQtYWNjZW50IC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcihtYXAtZ2V0KCRjb25maWcsIGFjY2VudCkpO1xuICB9XG5cbiAgLm1hdC13YXJuIC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsXG4gIC5tYXQtd2FybiAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IobWFwLWdldCgkY29uZmlnLCB3YXJuKSk7XG4gIH1cblxuICAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLFxuICAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlIHtcbiAgICAmLm1hdC1wc2V1ZG8tY2hlY2tib3gtZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZDogJGRpc2FibGVkLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXBzZXVkby1jaGVja2JveC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LXBzZXVkby1jaGVja2JveC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtcHNldWRvLWNoZWNrYm94LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1wc2V1ZG8tY2hlY2tib3gnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHNldWRvLWNoZWNrYm94LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtcHNldWRvLWNoZWNrYm94LWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHNldWRvLWNoZWNrYm94LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gUmVwcmVzZW50cyBhIHR5cG9ncmFwaHkgbGV2ZWwgZnJvbSB0aGUgTWF0ZXJpYWwgZGVzaWduIHNwZWMuXG5AZnVuY3Rpb24gbWF0LXR5cG9ncmFwaHktbGV2ZWwoXG4gICRmb250LXNpemUsXG4gICRsaW5lLWhlaWdodDogJGZvbnQtc2l6ZSxcbiAgJGZvbnQtd2VpZ2h0OiA0MDAsXG4gICRmb250LWZhbWlseTogbnVsbCxcbiAgJGxldHRlci1zcGFjaW5nOiBub3JtYWwpIHtcblxuICBAcmV0dXJuIChcbiAgICBmb250LXNpemU6ICRmb250LXNpemUsXG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodCxcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LFxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHksXG4gICAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZ1xuICApO1xufVxuXG4vLyBSZXByZXNlbnRzIGEgY29sbGVjdGlvbiBvZiB0eXBvZ3JhcGh5IGxldmVscy5cbi8vIERlZmF1bHRzIGNvbWUgZnJvbSBodHRwczovL21hdGVyaWFsLmlvL2d1aWRlbGluZXMvc3R5bGUvdHlwb2dyYXBoeS5odG1sXG4vLyBOb3RlOiBUaGUgc3BlYyBkb2Vzbid0IG1lbnRpb24gbGV0dGVyIHNwYWNpbmcuIFRoZSB2YWx1ZXMgaGVyZSBjb21lIGZyb21cbi8vIGV5ZWJhbGxpbmcgaXQgdW50aWwgaXQgbG9va2VkIGV4YWN0bHkgbGlrZSB0aGUgc3BlYyBleGFtcGxlcy5cbkBmdW5jdGlvbiBtYXQtdHlwb2dyYXBoeS1jb25maWcoXG4gICRmb250LWZhbWlseTogICAnUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWYnLFxuICAkZGlzcGxheS00OiAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMTEycHgsIDExMnB4LCAzMDAsICRsZXR0ZXItc3BhY2luZzogLTAuMDVlbSksXG4gICRkaXNwbGF5LTM6ICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbCg1NnB4LCA1NnB4LCA0MDAsICRsZXR0ZXItc3BhY2luZzogLTAuMDJlbSksXG4gICRkaXNwbGF5LTI6ICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbCg0NXB4LCA0OHB4LCA0MDAsICRsZXR0ZXItc3BhY2luZzogLTAuMDA1ZW0pLFxuICAkZGlzcGxheS0xOiAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMzRweCwgNDBweCwgNDAwKSxcbiAgJGhlYWRsaW5lOiAgICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKDI0cHgsIDMycHgsIDQwMCksXG4gICR0aXRsZTogICAgICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgyMHB4LCAzMnB4LCA1MDApLFxuICAkc3ViaGVhZGluZy0yOiAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMTZweCwgMjhweCwgNDAwKSxcbiAgJHN1YmhlYWRpbmctMTogIG1hdC10eXBvZ3JhcGh5LWxldmVsKDE1cHgsIDI0cHgsIDQwMCksXG4gICRib2R5LTI6ICAgICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgxNHB4LCAyNHB4LCA1MDApLFxuICAkYm9keS0xOiAgICAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMTRweCwgMjBweCwgNDAwKSxcbiAgJGNhcHRpb246ICAgICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKDEycHgsIDIwcHgsIDQwMCksXG4gICRidXR0b246ICAgICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgxNHB4LCAxNHB4LCA1MDApLFxuICAvLyBMaW5lLWhlaWdodCBtdXN0IGJlIHVuaXQtbGVzcyBmcmFjdGlvbiBvZiB0aGUgZm9udC1zaXplLlxuICAkaW5wdXQ6ICAgICAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoaW5oZXJpdCwgMS4xMjUsIDQwMClcbikge1xuXG4gIC8vIERlY2xhcmUgYW4gaW5pdGlhbCBtYXAgd2l0aCBhbGwgb2YgdGhlIGxldmVscy5cbiAgJGNvbmZpZzogKFxuICAgIGRpc3BsYXktNDogICAgICAkZGlzcGxheS00LFxuICAgIGRpc3BsYXktMzogICAgICAkZGlzcGxheS0zLFxuICAgIGRpc3BsYXktMjogICAgICAkZGlzcGxheS0yLFxuICAgIGRpc3BsYXktMTogICAgICAkZGlzcGxheS0xLFxuICAgIGhlYWRsaW5lOiAgICAgICAkaGVhZGxpbmUsXG4gICAgdGl0bGU6ICAgICAgICAgICR0aXRsZSxcbiAgICBzdWJoZWFkaW5nLTI6ICAgJHN1YmhlYWRpbmctMixcbiAgICBzdWJoZWFkaW5nLTE6ICAgJHN1YmhlYWRpbmctMSxcbiAgICBib2R5LTI6ICAgICAgICAgJGJvZHktMixcbiAgICBib2R5LTE6ICAgICAgICAgJGJvZHktMSxcbiAgICBjYXB0aW9uOiAgICAgICAgJGNhcHRpb24sXG4gICAgYnV0dG9uOiAgICAgICAgICRidXR0b24sXG4gICAgaW5wdXQ6ICAgICAgICAgICRpbnB1dCxcbiAgKTtcblxuICAvLyBMb29wIHRocm91Z2ggdGhlIGxldmVscyBhbmQgc2V0IHRoZSBgZm9udC1mYW1pbHlgIG9mIHRoZSBvbmVzIHRoYXQgZG9uJ3QgaGF2ZSBvbmUgdG8gdGhlIGJhc2UuXG4gIC8vIE5vdGUgdGhhdCBTYXNzIGNhbid0IG1vZGlmeSBtYXBzIGluIHBsYWNlLCB3aGljaCBtZWFucyB0aGF0IHdlIG5lZWQgdG8gbWVyZ2UgYW5kIHJlLWFzc2lnbi5cbiAgQGVhY2ggJGtleSwgJGxldmVsIGluICRjb25maWcge1xuICAgIEBpZiBtYXAtZ2V0KCRsZXZlbCwgZm9udC1mYW1pbHkpID09IG51bGwge1xuICAgICAgJG5ldy1sZXZlbDogbWFwLW1lcmdlKCRsZXZlbCwgKGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHkpKTtcbiAgICAgICRjb25maWc6IG1hcC1tZXJnZSgkY29uZmlnLCAoJGtleTogJG5ldy1sZXZlbCkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFkZCB0aGUgYmFzZSBmb250IGZhbWlseSB0byB0aGUgY29uZmlnLlxuICBAcmV0dXJuIG1hcC1tZXJnZSgkY29uZmlnLCAoZm9udC1mYW1pbHk6ICRmb250LWZhbWlseSkpO1xufVxuXG4vLyBXaGV0aGVyIGEgY29uZmlnIGlzIGZvciB0aGUgTWF0ZXJpYWwgRGVzaWduIDIwMTggdHlwb2dyYXBoeSBzeXN0ZW0uXG5AZnVuY3Rpb24gbWF0LXByaXZhdGUtdHlwb2dyYXBoeS1pcy0yMDE4LWNvbmZpZygkY29uZmlnKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkY29uZmlnLCBoZWFkbGluZS0xKSAhPSBudWxsO1xufVxuXG4vLyBXaGV0aGVyIGEgY29uZmlnIGlzIGZvciB0aGUgTWF0ZXJpYWwgRGVzaWduIDIwMTQgdHlwb2dyYXBoeSBzeXN0ZW0uXG5AZnVuY3Rpb24gbWF0LXByaXZhdGUtdHlwb2dyYXBoeS1pcy0yMDE0LWNvbmZpZygkY29uZmlnKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkY29uZmlnLCBoZWFkbGluZSkgIT0gbnVsbDtcbn1cblxuLy8gR2l2ZW4gYSBjb25maWcgZm9yIGVpdGhlciB0aGUgMjAxNCBvciAyMDE4IE1hdGVyaWFsIERlc2lnbiB0eXBvZ3JhcGh5IHN5c3RlbSxcbi8vIHByb2R1Y2VzIGEgbm9ybWFsaXplZCB0eXBvZ3JhcGh5IGNvbmZpZyBmb3IgdGhlIDIwMTQgTWF0ZXJpYWwgRGVzaWduIHR5cG9ncmFwaHkgc3lzdGVtLlxuLy8gMjAxNCAtIGh0dHBzOi8vbWF0ZXJpYWwuaW8vYXJjaGl2ZS9ndWlkZWxpbmVzL3N0eWxlL3R5cG9ncmFwaHkuaHRtbCN0eXBvZ3JhcGh5LXN0eWxlc1xuLy8gMjAxOCAtIGh0dHBzOi8vbWF0ZXJpYWwuaW8vZGVzaWduL3R5cG9ncmFwaHkvdGhlLXR5cGUtc3lzdGVtLmh0bWwjdHlwZS1zY2FsZVxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLXR5cG9ncmFwaHktdG8tMjAxNC1jb25maWcoJGNvbmZpZykge1xuICBAaWYgbWF0LXByaXZhdGUtdHlwb2dyYXBoeS1pcy0yMDE4LWNvbmZpZygkY29uZmlnKSB7XG4gICAgQHJldHVybiBtYXQtdHlwb2dyYXBoeS1jb25maWcoXG4gICAgICAgICRkaXNwbGF5LTQ6IG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUtMSksXG4gICAgICAgICRkaXNwbGF5LTM6IG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUtMiksXG4gICAgICAgICRkaXNwbGF5LTI6IG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUtMyksXG4gICAgICAgICRkaXNwbGF5LTE6IG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUtNCksXG4gICAgICAgICRoZWFkbGluZTogbWFwLWdldCgkY29uZmlnLCBoZWFkbGluZS01KSxcbiAgICAgICAgJHRpdGxlOiBtYXAtZ2V0KCRjb25maWcsIGhlYWRsaW5lLTYpLFxuICAgICAgICAkc3ViaGVhZGluZy0yOiBtYXAtZ2V0KCRjb25maWcsIHN1YnRpdGxlLTEpLFxuICAgICAgICAkc3ViaGVhZGluZy0xOiBtYXAtZ2V0KCRjb25maWcsIHN1YnRpdGxlLTIpLFxuICAgICAgICAkYm9keS0yOiBtYXAtZ2V0KCRjb25maWcsIGJvZHktMSksXG4gICAgICAgICRib2R5LTE6IG1hcC1nZXQoJGNvbmZpZywgYm9keS0yKSxcbiAgICAgICAgJGJ1dHRvbjogbWFwLWdldCgkY29uZmlnLCBidXR0b24pLFxuICAgICAgICAkY2FwdGlvbjogbWFwLWdldCgkY29uZmlnLCBjYXB0aW9uKSxcbiAgICApO1xuICB9XG4gIEByZXR1cm4gJGNvbmZpZztcbn1cblxuLy8gR2l2ZW4gYSBjb25maWcgZm9yIGVpdGhlciB0aGUgMjAxNCBvciAyMDE4IE1hdGVyaWFsIERlc2lnbiB0eXBvZ3JhcGh5IHN5c3RlbSxcbi8vIHByb2R1Y2VzIGEgbm9ybWFsaXplZCB0eXBvZ3JhcGh5IGNvbmZpZyBmb3IgdGhlIDIwMTggTWF0ZXJpYWwgRGVzaWduIHR5cG9ncmFwaHkgc3lzdGVtLlxuLy8gMjAxNCAtIGh0dHBzOi8vbWF0ZXJpYWwuaW8vYXJjaGl2ZS9ndWlkZWxpbmVzL3N0eWxlL3R5cG9ncmFwaHkuaHRtbCN0eXBvZ3JhcGh5LXN0eWxlc1xuLy8gMjAxOCAtIGh0dHBzOi8vbWF0ZXJpYWwuaW8vZGVzaWduL3R5cG9ncmFwaHkvdGhlLXR5cGUtc3lzdGVtLmh0bWwjdHlwZS1zY2FsZVxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLXR5cG9ncmFwaHktdG8tMjAxOC1jb25maWcoJGNvbmZpZykge1xuICBAaWYgbWF0LXByaXZhdGUtdHlwb2dyYXBoeS1pcy0yMDE0LWNvbmZpZygkY29uZmlnKSB7XG4gICAgQHJldHVybiAoXG4gICAgICAgIGhlYWRsaW5lLTE6IG1hcC1nZXQoJGNvbmZpZywgZGlzcGxheS00KSxcbiAgICAgICAgaGVhZGxpbmUtMjogbWFwLWdldCgkY29uZmlnLCBkaXNwbGF5LTMpLFxuICAgICAgICBoZWFkbGluZS0zOiBtYXAtZ2V0KCRjb25maWcsIGRpc3BsYXktMiksXG4gICAgICAgIGhlYWRsaW5lLTQ6IG1hcC1nZXQoJGNvbmZpZywgZGlzcGxheS0xKSxcbiAgICAgICAgaGVhZGxpbmUtNTogbWFwLWdldCgkY29uZmlnLCBoZWFkbGluZSksXG4gICAgICAgIGhlYWRsaW5lLTY6IG1hcC1nZXQoJGNvbmZpZywgdGl0bGUpLFxuICAgICAgICBzdWJ0aXRsZS0xOiBtYXAtZ2V0KCRjb25maWcsIHN1YmhlYWRpbmctMiksXG4gICAgICAgIHN1YnRpdGxlLTI6IG1hcC1nZXQoJGNvbmZpZywgc3ViaGVhZGluZy0xKSxcbiAgICAgICAgYm9keS0xOiBtYXAtZ2V0KCRjb25maWcsIGJvZHktMiksXG4gICAgICAgIGJvZHktMjogbWFwLWdldCgkY29uZmlnLCBib2R5LTEpLFxuICAgICAgICBidXR0b246IG1hcC1nZXQoJGNvbmZpZywgYnV0dG9uKSxcbiAgICAgICAgY2FwdGlvbjogbWFwLWdldCgkY29uZmlnLCBjYXB0aW9uKSxcbiAgICApO1xuICB9XG4gIEByZXR1cm4gJGNvbmZpZztcbn1cblxuLy8gQWRkcyB0aGUgYmFzZSB0eXBvZ3JhcGh5IHN0eWxlcywgYmFzZWQgb24gYSBjb25maWcuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF0ZXJpYWwvdGhlbWUtbWl4aW4tYXBpICovXG5AbWl4aW4gbWF0LWJhc2UtdHlwb2dyYXBoeSgkY29uZmlnLCAkc2VsZWN0b3I6ICcubWF0LXR5cG9ncmFwaHknKSB7XG4gIC5tYXQtaDEsIC5tYXQtaGVhZGxpbmUsICN7JHNlbGVjdG9yfSBoMSB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGhlYWRsaW5lKTtcbiAgICBtYXJnaW46IDAgMCAxNnB4O1xuICB9XG5cbiAgLm1hdC1oMiwgLm1hdC10aXRsZSwgI3skc2VsZWN0b3J9IGgyIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgdGl0bGUpO1xuICAgIG1hcmdpbjogMCAwIDE2cHg7XG4gIH1cblxuICAubWF0LWgzLCAubWF0LXN1YmhlYWRpbmctMiwgI3skc2VsZWN0b3J9IGgzIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgc3ViaGVhZGluZy0yKTtcbiAgICBtYXJnaW46IDAgMCAxNnB4O1xuICB9XG5cbiAgLm1hdC1oNCwgLm1hdC1zdWJoZWFkaW5nLTEsICN7JHNlbGVjdG9yfSBoNCB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIHN1YmhlYWRpbmctMSk7XG4gICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgfVxuXG4gIC8vIE5vdGU6IHRoZSBzcGVjIGRvZXNuJ3QgaGF2ZSBhbnl0aGluZyB0aGF0IHdvdWxkIGNvcnJlc3BvbmQgdG8gaDUgYW5kIGg2LCBidXQgd2UgYWRkIHRoZXNlIGZvclxuICAvLyBjb25zaXN0ZW5jeS4gVGhlIGZvbnQgc2l6ZXMgY29tZSBmcm9tIHRoZSBDaHJvbWUgdXNlciBhZ2VudCBzdHlsZXMgd2hpY2ggaGF2ZSBoNSBhdCAwLjgzZW1cbiAgLy8gYW5kIGg2IGF0IDAuNjdlbS5cbiAgLm1hdC1oNSwgI3skc2VsZWN0b3J9IGg1IHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1mb250LXNob3J0aGFuZChcbiAgICAgICAvLyBjYWxjIGlzIHVzZWQgaGVyZSB0byBzdXBwb3J0IGNzcyB2YXJpYWJsZXNcbiAgICAgIGNhbGMoI3ttYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSl9ICogMC44MyksXG4gICAgICBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0xKSxcbiAgICAgIG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCBib2R5LTEpLFxuICAgICAgbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIGJvZHktMSlcbiAgICApO1xuXG4gICAgbWFyZ2luOiAwIDAgMTJweDtcbiAgfVxuXG4gIC5tYXQtaDYsICN7JHNlbGVjdG9yfSBoNiB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktZm9udC1zaG9ydGhhbmQoXG4gICAgICAgLy8gY2FsYyBpcyB1c2VkIGhlcmUgdG8gc3VwcG9ydCBjc3MgdmFyaWFibGVzXG4gICAgICBjYWxjKCN7bWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpfSAqIDAuNjcpLFxuICAgICAgbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMSksXG4gICAgICBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgYm9keS0xKSxcbiAgICAgIG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBib2R5LTEpXG4gICAgKTtcblxuICAgIG1hcmdpbjogMCAwIDEycHg7XG4gIH1cblxuICAubWF0LWJvZHktc3Ryb25nLCAubWF0LWJvZHktMiB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGJvZHktMik7XG4gIH1cblxuICAubWF0LWJvZHksIC5tYXQtYm9keS0xLCAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBib2R5LTEpO1xuXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDAgMCAxMnB4O1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtc21hbGwsIC5tYXQtY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGNhcHRpb24pO1xuICB9XG5cbiAgLm1hdC1kaXNwbGF5LTQsICN7JHNlbGVjdG9yfSAubWF0LWRpc3BsYXktNCB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGRpc3BsYXktNCk7XG4gICAgbWFyZ2luOiAwIDAgNTZweDtcbiAgfVxuXG4gIC5tYXQtZGlzcGxheS0zLCAjeyRzZWxlY3Rvcn0gLm1hdC1kaXNwbGF5LTMge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBkaXNwbGF5LTMpO1xuICAgIG1hcmdpbjogMCAwIDY0cHg7XG4gIH1cblxuICAubWF0LWRpc3BsYXktMiwgI3skc2VsZWN0b3J9IC5tYXQtZGlzcGxheS0yIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgZGlzcGxheS0yKTtcbiAgICBtYXJnaW46IDAgMCA2NHB4O1xuICB9XG5cbiAgLm1hdC1kaXNwbGF5LTEsICN7JHNlbGVjdG9yfSAubWF0LWRpc3BsYXktMSB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGRpc3BsYXktMSk7XG4gICAgbWFyZ2luOiAwIDAgNjRweDtcbiAgfVxufVxuXG5cblxuXG5AbWl4aW4gbWF0LWF1dG9jb21wbGV0ZS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG5cbiAgLm1hdC1hdXRvY29tcGxldGUtcGFuZWwge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbig0LCAkY29uZmlnKTtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuXG4gICAgLy8gU2VsZWN0ZWQgb3B0aW9ucyBpbiBhdXRvY29tcGxldGVzIHNob3VsZCBub3QgYmUgZ3JheSwgYnV0IHdlXG4gICAgLy8gb25seSB3YW50IHRvIG92ZXJyaWRlIHRoZSBiYWNrZ3JvdW5kIGZvciBzZWxlY3RlZCBvcHRpb25zIGlmXG4gICAgLy8gdGhleSBhcmUgKm5vdCogaW4gaG92ZXIgb3IgZm9jdXMgc3RhdGUuIFRoaXMgY2hhbmdlIGhhcyB0byBiZVxuICAgIC8vIG1hZGUgaGVyZSBiZWNhdXNlIGJhc2Ugb3B0aW9uIHN0eWxlcyBhcmUgc2hhcmVkIGJldHdlZW4gdGhlXG4gICAgLy8gYXV0b2NvbXBsZXRlIGFuZCB0aGUgc2VsZWN0LlxuICAgIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1hY3RpdmUpOm5vdCg6aG92ZXIpIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgY2FyZCk7XG5cbiAgICAgICY6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSB7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWF1dG9jb21wbGV0ZS10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LWF1dG9jb21wbGV0ZS1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtYXV0b2NvbXBsZXRlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1hdXRvY29tcGxldGUnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtYXV0b2NvbXBsZXRlLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtYXV0b2NvbXBsZXRlLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtYXV0b2NvbXBsZXRlLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBUaGlzIGNvbnRhaW5zIGFsbCBvZiB0aGUgc3R5bGVzIGZvciB0aGUgYmFkZ2Vcbi8vIHJhdGhlciB0aGFuIGp1c3QgdGhlIGNvbG9yL3RoZW1lIGJlY2F1c2Ugb2Zcbi8vIG5vIHN0eWxlIHNoZWV0IHN1cHBvcnQgZm9yIGRpcmVjdGl2ZXMuXG5cblxuXG5cblxuJG1hdC1iYWRnZS1mb250LXNpemU6IDEycHg7XG4kbWF0LWJhZGdlLWZvbnQtd2VpZ2h0OiA2MDA7XG4kbWF0LWJhZGdlLWRlZmF1bHQtc2l6ZTogMjJweCAhZGVmYXVsdDtcbiRtYXQtYmFkZ2Utc21hbGwtc2l6ZTogJG1hdC1iYWRnZS1kZWZhdWx0LXNpemUgLSA2O1xuJG1hdC1iYWRnZS1sYXJnZS1zaXplOiAkbWF0LWJhZGdlLWRlZmF1bHQtc2l6ZSArIDY7XG5cbi8vIE1peGluIGZvciBidWlsZGluZyBvZmZzZXQgZ2l2ZW4gZGlmZmVyZW50IHNpemVzXG5AbWl4aW4gX21hdC1iYWRnZS1zaXplKCRzaXplKSB7XG4gIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgd2lkdGg6ICRzaXplO1xuICAgIGhlaWdodDogJHNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRzaXplO1xuICB9XG5cbiAgJi5tYXQtYmFkZ2UtYWJvdmUge1xuICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICB0b3A6IC0kc2l6ZSAvIDI7XG4gICAgfVxuICB9XG5cbiAgJi5tYXQtYmFkZ2UtYmVsb3cge1xuICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICBib3R0b206IC0kc2l6ZSAvIDI7XG4gICAgfVxuICB9XG5cbiAgJi5tYXQtYmFkZ2UtYmVmb3JlIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgbGVmdDogLSRzaXplO1xuICAgIH1cbiAgfVxuXG4gIFtkaXI9J3J0bCddICYubWF0LWJhZGdlLWJlZm9yZSB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogLSRzaXplO1xuICAgIH1cbiAgfVxuXG4gICYubWF0LWJhZGdlLWFmdGVyIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgcmlnaHQ6IC0kc2l6ZTtcbiAgICB9XG4gIH1cblxuICBbZGlyPSdydGwnXSAmLm1hdC1iYWRnZS1hZnRlciB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogLSRzaXplO1xuICAgIH1cbiAgfVxuXG4gICYubWF0LWJhZGdlLW92ZXJsYXAge1xuICAgICYubWF0LWJhZGdlLWJlZm9yZSB7XG4gICAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgICBsZWZ0OiAtJHNpemUgLyAyO1xuICAgICAgfVxuICAgIH1cblxuICAgIFtkaXI9J3J0bCddICYubWF0LWJhZGdlLWJlZm9yZSB7XG4gICAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogLSRzaXplIC8gMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm1hdC1iYWRnZS1hZnRlciB7XG4gICAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgICByaWdodDogLSRzaXplIC8gMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBbZGlyPSdydGwnXSAmLm1hdC1iYWRnZS1hZnRlciB7XG4gICAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogLSRzaXplIC8gMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1iYWRnZS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSwgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRwcmltYXJ5KTtcblxuICAgIEBpbmNsdWRlIGNkay1oaWdoLWNvbnRyYXN0KGFjdGl2ZSwgb2ZmKSB7XG4gICAgICBvdXRsaW5lOiBzb2xpZCAxcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYmFkZ2UtYWNjZW50IHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkYWNjZW50LCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgICB9XG4gIH1cblxuICAubWF0LWJhZGdlLXdhcm4ge1xuICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCR3YXJuLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkd2Fybik7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1iYWRnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLm1hdC1iYWRnZS1oaWRkZW4ge1xuICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYmFkZ2UtZGlzYWJsZWQge1xuICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICAkYXBwLWJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgJ2JhY2tncm91bmQnKTtcbiAgICAgICRiYWRnZS1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC1idXR0b24pO1xuXG4gICAgICAvLyBUaGUgZGlzYWJsZWQgY29sb3IgdXN1YWxseSBoYXMgc29tZSBraW5kIG9mIG9wYWNpdHksIGJ1dCBiZWNhdXNlIHRoZSBiYWRnZSBpcyBvdmVybGF5ZWRcbiAgICAgIC8vIG9uIHRvcCBvZiBzb21ldGhpbmcgZWxzZSwgaXQgd29uJ3QgbG9vayBnb29kIGlmIGl0J3Mgb3BhcXVlLiBJZiBpdCBpcyBhIGNvbG9yICp0eXBlKixcbiAgICAgIC8vIHdlIGNvbnZlcnQgaXQgaW50byBhIHNvbGlkIGNvbG9yIGJ5IHRha2luZyB0aGUgb3BhY2l0eSBmcm9tIHRoZSByZ2JhIHZhbHVlIGFuZCB1c2luZ1xuICAgICAgLy8gdGhlIHZhbHVlIHRvIGRldGVybWluZSB0aGUgcGVyY2VudGFnZSBvZiB0aGUgYmFja2dyb3VuZCB0byBwdXQgaW50byBmb3JlZ3JvdW5kIHdoZW5cbiAgICAgIC8vIG1peGluZyB0aGUgY29sb3JzIHRvZ2V0aGVyLlxuICAgICAgQGlmICh0eXBlLW9mKCRiYWRnZS1jb2xvcikgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGFwcC1iYWNrZ3JvdW5kKSA9PSBjb2xvcikge1xuICAgICAgICAkYmFkZ2Utb3BhY2l0eTogb3BhY2l0eSgkYmFkZ2UtY29sb3IpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBtaXgoJGFwcC1iYWNrZ3JvdW5kLCByZ2JhKCRiYWRnZS1jb2xvciwgMSksICgxIC0gJGJhZGdlLW9wYWNpdHkpICogMTAwJSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiYWRnZS1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC42KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAubmctYW5pbWF0ZS1kaXNhYmxlZCAubWF0LWJhZGdlLWNvbnRlbnQsXG4gIC5tYXQtYmFkZ2UtY29udGVudC5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIFRoZSBhY3RpdmUgY2xhc3MgaXMgYWRkZWQgYWZ0ZXIgdGhlIGVsZW1lbnQgaXMgYWRkZWRcbiAgLy8gc28gaXQgY2FuIGFuaW1hdGUgc2NhbGUgdG8gZGVmYXVsdFxuICAubWF0LWJhZGdlLWNvbnRlbnQubWF0LWJhZGdlLWFjdGl2ZSB7XG4gICAgLy8gU2NhbGUgdG8gYG5vbmVgIGluc3RlYWQgb2YgYDFgIHRvIGF2b2lkIGJsdXJyeSB0ZXh0IGluIHNvbWUgYnJvd3NlcnMuXG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLm1hdC1iYWRnZS1zbWFsbCB7XG4gICAgQGluY2x1ZGUgX21hdC1iYWRnZS1zaXplKCRtYXQtYmFkZ2Utc21hbGwtc2l6ZSk7XG4gIH1cbiAgLm1hdC1iYWRnZS1tZWRpdW0ge1xuICAgIEBpbmNsdWRlIF9tYXQtYmFkZ2Utc2l6ZSgkbWF0LWJhZGdlLWRlZmF1bHQtc2l6ZSk7XG4gIH1cbiAgLm1hdC1iYWRnZS1sYXJnZSB7XG4gICAgQGluY2x1ZGUgX21hdC1iYWRnZS1zaXplKCRtYXQtYmFkZ2UtbGFyZ2Utc2l6ZSk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1iYWRnZS10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICBmb250LXdlaWdodDogJG1hdC1iYWRnZS1mb250LXdlaWdodDtcbiAgICBmb250LXNpemU6ICRtYXQtYmFkZ2UtZm9udC1zaXplO1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LWJhZGdlLXNtYWxsIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgLy8gU2V0IHRoZSBmb250IHNpemUgdG8gNzUlIG9mIHRoZSBvcmlnaW5hbC5cbiAgICBmb250LXNpemU6ICRtYXQtYmFkZ2UtZm9udC1zaXplICogMC43NTtcbiAgfVxuXG4gIC5tYXQtYmFkZ2UtbGFyZ2UgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICBmb250LXNpemU6ICRtYXQtYmFkZ2UtZm9udC1zaXplICogMjtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1iYWRnZS1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtYmFkZ2UtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWJhZGdlJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJhZGdlLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtYmFkZ2UtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1iYWRnZS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cbkBtaXhpbiBtYXQtYm90dG9tLXNoZWV0LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLWVsZXZhdGlvbigxNiwgJGNvbmZpZyk7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBkaWFsb2cpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtYm90dG9tLXNoZWV0LXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBib2R5LTEpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWJvdHRvbS1zaGVldC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtYm90dG9tLXNoZWV0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1ib3R0b20tc2hlZXQnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtYm90dG9tLXNoZWV0LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtYm90dG9tLXNoZWV0LWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtYm90dG9tLXNoZWV0LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbiRfbWF0LWJ1dHRvbi1yaXBwbGUtb3BhY2l0eTogMC4xO1xuXG4vLyBBcHBsaWVzIGEgZm9jdXMgc3R5bGUgdG8gYW4gbWF0LWJ1dHRvbiBlbGVtZW50IGZvciBlYWNoIG9mIHRoZSBzdXBwb3J0ZWQgcGFsZXR0ZXMuXG5AbWl4aW4gX21hdC1idXR0b24tZm9jdXMtb3ZlcmxheS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcblxuICAmLm1hdC1wcmltYXJ5IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gIH1cblxuICAmLm1hdC1hY2NlbnQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICB9XG5cbiAgJi5tYXQtd2FybiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHdhcm4pO1xuICB9XG5cbiAgJi5tYXQtYnV0dG9uLWRpc2FibGVkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vIEFwcGxpZXMgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIGEgcmlwcGxlLiBJZiB0aGUgdmFsdWUgcHJvdmlkZWQgaXMgbm90IGEgU2FzcyBjb2xvcixcbi8vIHdlIGFzc3VtZSB0aGF0IHdlJ3ZlIGJlZW4gZ2l2ZW4gYSBDU1MgdmFyaWFibGUuIFNpbmNlIHdlIGNhbid0IHBlcmZvcm0gYWxwaGEtYmxlbmRpbmdcbi8vIG9uIGEgQ1NTIHZhcmlhYmxlLCB3ZSBpbnN0ZWFkIGFkZCB0aGUgb3BhY2l0eSBkaXJlY3RseSB0byB0aGUgcmlwcGxlIGVsZW1lbnQuXG5AbWl4aW4gX21hdC1idXR0b24tcmlwcGxlLWJhY2tncm91bmQoJHBhbGV0dGUsICRodWUsICRvcGFjaXR5KSB7XG4gICRiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUsICRodWUsICRvcGFjaXR5KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gIEBpZiAodHlwZS1vZigkYmFja2dyb3VuZC1jb2xvcikgIT0gY29sb3IpIHtcbiAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1idXR0b24tcmlwcGxlLWNvbG9yKCR0aGVtZSwgJGh1ZSwgJG9wYWNpdHk6ICRfbWF0LWJ1dHRvbi1yaXBwbGUtb3BhY2l0eSkge1xuICAkcHJpbWFyeTogbWFwLWdldCgkdGhlbWUsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCR0aGVtZSwgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJHRoZW1lLCB3YXJuKTtcblxuICAmLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIEBpbmNsdWRlIF9tYXQtYnV0dG9uLXJpcHBsZS1iYWNrZ3JvdW5kKCRwcmltYXJ5LCAkaHVlLCAkb3BhY2l0eSk7XG4gIH1cblxuICAmLm1hdC1hY2NlbnQgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tcmlwcGxlLWJhY2tncm91bmQoJGFjY2VudCwgJGh1ZSwgJG9wYWNpdHkpO1xuICB9XG5cbiAgJi5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi1yaXBwbGUtYmFja2dyb3VuZCgkd2FybiwgJGh1ZSwgJG9wYWNpdHkpO1xuICB9XG59XG5cbi8vIEFwcGxpZXMgYSBwcm9wZXJ0eSB0byBhbiBtYXQtYnV0dG9uIGVsZW1lbnQgZm9yIGVhY2ggb2YgdGhlIHN1cHBvcnRlZCBwYWxldHRlcy5cbkBtaXhpbiBfbWF0LWJ1dHRvbi10aGVtZS1wcm9wZXJ0eSgkdGhlbWUsICRwcm9wZXJ0eSwgJGh1ZSkge1xuICAkcHJpbWFyeTogbWFwLWdldCgkdGhlbWUsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCR0aGVtZSwgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJHRoZW1lLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCBmb3JlZ3JvdW5kKTtcblxuICAmLm1hdC1wcmltYXJ5IHtcbiAgICAjeyRwcm9wZXJ0eX06IG1hdC1jb2xvcigkcHJpbWFyeSwgJGh1ZSk7XG4gIH1cbiAgJi5tYXQtYWNjZW50IHtcbiAgICAjeyRwcm9wZXJ0eX06IG1hdC1jb2xvcigkYWNjZW50LCAkaHVlKTtcbiAgfVxuICAmLm1hdC13YXJuIHtcbiAgICAjeyRwcm9wZXJ0eX06IG1hdC1jb2xvcigkd2FybiwgJGh1ZSk7XG4gIH1cblxuICAmLm1hdC1wcmltYXJ5LCAmLm1hdC1hY2NlbnQsICYubWF0LXdhcm4sICYubWF0LWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgJi5tYXQtYnV0dG9uLWRpc2FibGVkIHtcbiAgICAgICRwYWxldHRlOiBpZigkcHJvcGVydHkgPT0gJ2NvbG9yJywgJGZvcmVncm91bmQsICRiYWNrZ3JvdW5kKTtcbiAgICAgICN7JHByb3BlcnR5fTogbWF0LWNvbG9yKCRwYWxldHRlLCBkaXNhYmxlZC1idXR0b24pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWJ1dHRvbi1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtYnV0dG9uLCAubWF0LWljb24tYnV0dG9uLCAubWF0LXN0cm9rZWQtYnV0dG9uIHtcbiAgICAvLyBCdXR0b25zIHdpdGhvdXQgYSBiYWNrZ3JvdW5kIGNvbG9yIHNob3VsZCBpbmhlcml0IHRoZSBmb250IGNvbG9yLiBUaGlzIGlzIG5lY2Vzc2FyeSB0b1xuICAgIC8vIGVuc3VyZSB0aGF0IHRoZSBidXR0b24gaXMgcmVhZGFibGUgb24gY3VzdG9tIGJhY2tncm91bmQgY29sb3JzLiBJdCdzIHdyb25nIHRvIGFsd2F5cyBhc3N1bWVcbiAgICAvLyB0aGF0IHRob3NlIGJ1dHRvbnMgYXJlIGFsd2F5cyBwbGFjZWQgaW5zaWRlIG9mIGNvbnRhaW5lcnMgd2l0aCB0aGUgZGVmYXVsdCBiYWNrZ3JvdW5kXG4gICAgLy8gY29sb3Igb2YgdGhlIHRoZW1lIChlLmcuIHRoZW1lZCB0b29sYmFycykuXG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi10aGVtZS1wcm9wZXJ0eSgkY29uZmlnLCAnY29sb3InLCB0ZXh0KTtcbiAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LWNvbG9yKCRjb25maWcpO1xuXG4gICAgLy8gU2V0dXAgdGhlIHJpcHBsZSBjb2xvciB0byBiZSBiYXNlZCBvbiB0aGUgdGV4dCBjb2xvci4gVGhpcyBlbnN1cmVzIHRoYXQgdGhlIHJpcHBsZXNcbiAgICAvLyBhcmUgbWF0Y2hpbmcgd2l0aCB0aGUgY3VycmVudCB0aGVtZSBwYWxldHRlIGFuZCBhcmUgaW4gY29udHJhc3QgdG8gdGhlIGJhY2tncm91bmQgY29sb3JcbiAgICAvLyAoZS5nIGluIHRoZW1lZCB0b29sYmFycykuXG4gICAgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgICBvcGFjaXR5OiAkX21hdC1idXR0b24tcmlwcGxlLW9wYWNpdHk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm9yZWdyb3VuZCwgYmFzZSk7XG4gIH1cblxuICAvLyBOb3RlOiB0aGlzIG5lZWRzIGEgYml0IGV4dHJhIHNwZWNpZmljaXR5LCBiZWNhdXNlIHdlJ3JlIG5vdCBndWFyYW50ZWVkIHRoZSBpbmNsdXNpb25cbiAgLy8gb3JkZXIgb2YgdGhlIHRoZW1lIHN0eWxlcyBhbmQgdGhlIGJ1dHRvbiByZXNldCBtYXkgZW5kIHVwIHJlc2V0dGluZyB0aGlzIGFzIHdlbGwuXG4gIC5tYXQtc3Ryb2tlZC1idXR0b246bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuICB9XG5cbiAgLm1hdC1mbGF0LWJ1dHRvbiwgLm1hdC1yYWlzZWQtYnV0dG9uLCAubWF0LWZhYiwgLm1hdC1taW5pLWZhYiB7XG4gICAgLy8gRGVmYXVsdCBmb250IGFuZCBiYWNrZ3JvdW5kIGNvbG9yIHdoZW4gbm90IHVzaW5nIGFueSBjb2xvciBwYWxldHRlLlxuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgcmFpc2VkLWJ1dHRvbik7XG5cbiAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi10aGVtZS1wcm9wZXJ0eSgkY29uZmlnLCAnY29sb3InLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi10aGVtZS1wcm9wZXJ0eSgkY29uZmlnLCAnYmFja2dyb3VuZC1jb2xvcicsIGRlZmF1bHQpO1xuICAgIEBpbmNsdWRlIF9tYXQtYnV0dG9uLXJpcHBsZS1jb2xvcigkY29uZmlnLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgfVxuXG4gIC5tYXQtc3Ryb2tlZC1idXR0b24sIC5tYXQtZmxhdC1idXR0b24ge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbigwLCAkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtcmFpc2VkLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDIsICRjb25maWcpO1xuXG4gICAgJjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oOCwgJGNvbmZpZyk7XG4gICAgfVxuXG4gICAgJi5tYXQtYnV0dG9uLWRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbigwLCAkY29uZmlnKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWZhYiwgLm1hdC1taW5pLWZhYiB7XG4gICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDYsICRjb25maWcpO1xuXG4gICAgJjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oMTIsICRjb25maWcpO1xuICAgIH1cblxuICAgICYubWF0LWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oMCwgJGNvbmZpZyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtYnV0dG9uLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LWJ1dHRvbiwgLm1hdC1yYWlzZWQtYnV0dG9uLCAubWF0LWljb24tYnV0dG9uLCAubWF0LXN0cm9rZWQtYnV0dG9uLFxuICAubWF0LWZsYXQtYnV0dG9uLCAubWF0LWZhYiwgLm1hdC1taW5pLWZhYiB7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgYnV0dG9uKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYnV0dG9uKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJ1dHRvbik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfbWF0LWJ1dHRvbi1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtYnV0dG9uLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1idXR0b24nKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtYnV0dG9uLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtYnV0dG9uLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtYnV0dG9uLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG4kbWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhcmQtaGVpZ2h0OiA0OHB4ICFkZWZhdWx0O1xuLy8gTWluaW11bSBoZWlnaHQgZm9yIGhpZ2hlc3QgZGVuc2l0eSBjYW4gdmFyeSBiYXNlZCBvbiB0aGUgY29udGVudCB0aGF0IGRldmVsb3BlcnNcbi8vIHByb2plY3QgaW50byBidXR0b24tdG9nZ2xlJ3MuIFdlIHVzZSBhIG1pbmltdW0gb2YgYDI0cHhgIHRob3VnaCBiZWNhdXNlIGNvbW1vbmx5XG4vLyBpY29ucyBvciB0ZXh0IGFyZSBkaXNwbGF5ZWQuIEljb25zIGJ5IGRlZmF1bHQgaGF2ZSBhIHNpemUgb2YgYDI0cHhgLlxuJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLW1pbmltdW0taGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLW1heGltdW0taGVpZ2h0OiAkbWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhcmQtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhcmQtZGVuc2l0eS1jb25maWc6IChcbiAgaGVpZ2h0OiAoXG4gICAgZGVmYXVsdDogJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLWhlaWdodCxcbiAgICBtYXhpbXVtOiAkbWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhcmQtbWF4aW11bS1oZWlnaHQsXG4gICAgbWluaW11bTogJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLW1pbmltdW0taGVpZ2h0LFxuICApXG4pICFkZWZhdWx0O1xuXG5cbkBtaXhpbiBtYXQtYnV0dG9uLXRvZ2dsZS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRkaXZpZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFsb25lLFxuICAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLWVsZXZhdGlvbigyLCAkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFsb25lLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQsXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJkIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBoaW50LXRleHQpO1xuXG4gICAgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBmb2N1c2VkLWJ1dHRvbik7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgY2FyZCk7XG5cbiAgICAubWF0LWJ1dHRvbi10b2dnbGUtZm9jdXMtb3ZlcmxheSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGZvY3VzZWQtYnV0dG9uLCAxKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWJ1dHRvbi10b2dnbGUgKyAubWF0LWJ1dHRvbi10b2dnbGUge1xuICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggJGRpdmlkZXItY29sb3I7XG4gIH1cblxuICBbZGlyPSdydGwnXSAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWJ1dHRvbi10b2dnbGUgKyAubWF0LWJ1dHRvbi10b2dnbGUge1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJvcmRlci1yaWdodDogc29saWQgMXB4ICRkaXZpZGVyLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQubWF0LWJ1dHRvbi10b2dnbGUtdmVydGljYWwge1xuICAgIC5tYXQtYnV0dG9uLXRvZ2dsZSArIC5tYXQtYnV0dG9uLXRvZ2dsZSB7XG4gICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAkZGl2aWRlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubWF0LWJ1dHRvbi10b2dnbGUtY2hlY2tlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBzZWxlY3RlZC1idXR0b24pO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcblxuICAgICYubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICB9XG4gIH1cblxuICAubWF0LWJ1dHRvbi10b2dnbGUtZGlzYWJsZWQge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLWJ1dHRvbik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBkaXNhYmxlZC1idXR0b24tdG9nZ2xlKTtcblxuICAgICYubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuICAgIH1cblxuICAgICYubWF0LWJ1dHRvbi10b2dnbGUtY2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIHNlbGVjdGVkLWRpc2FibGVkLWJ1dHRvbik7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYWxvbmUubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCxcbiAgLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQge1xuICAgIGJvcmRlcjogc29saWQgMXB4ICRkaXZpZGVyLWNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtYnV0dG9uLXRvZ2dsZS10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1idXR0b24tdG9nZ2xlIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtYnV0dG9uLXRvZ2dsZS1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGRlbnNpdHktc2NhbGU6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRzdGFuZGFyZC1oZWlnaHQ6IG1hdC1wcml2YXRlLWRlbnNpdHktcHJvcC12YWx1ZShcbiAgICAgICRtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1kZW5zaXR5LWNvbmZpZywgJGRlbnNpdHktc2NhbGUsIGhlaWdodCk7XG5cbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtZGVuc2l0eS1sZWdhY3ktY29tcGF0aWJpbGl0eSgpIHtcbiAgICAubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWJ1dHRvbi10b2dnbGUtbGFiZWwtY29udGVudCB7XG4gICAgICBsaW5lLWhlaWdodDogJHN0YW5kYXJkLWhlaWdodDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1idXR0b24tdG9nZ2xlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1idXR0b24tdG9nZ2xlJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJ1dHRvbi10b2dnbGUtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJ1dHRvbi10b2dnbGUtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1idXR0b24tdG9nZ2xlLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG5AbWl4aW4gbWF0LWNhcmQtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtY2FyZCB7XG4gICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDEsICRjb25maWcpO1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgY2FyZCk7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG5cbiAgICAvLyBOZWVkcyBleHRyYSBzcGVjaWZpY2l0eSB0byBiZSBhYmxlIHRvIG92ZXJyaWRlIHRoZSBlbGV2YXRpb24gc2VsZWN0b3JzLlxuICAgICYubWF0LWNhcmQtZmxhdCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oMCwgJGNvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1jYXJkLXN1YnRpdGxlIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1jYXJkLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LWNhcmQge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LWNhcmQtdGl0bGUge1xuICAgIGZvbnQ6IHtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgaGVhZGxpbmUpO1xuICAgICAgd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgdGl0bGUpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2FyZC1oZWFkZXIgLm1hdC1jYXJkLXRpdGxlIHtcbiAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgdGl0bGUpO1xuICB9XG5cbiAgLm1hdC1jYXJkLXN1YnRpdGxlLFxuICAubWF0LWNhcmQtY29udGVudCB7XG4gICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtY2FyZC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtY2FyZC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtY2FyZCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1jYXJkLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtY2FyZC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWNhcmQtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuQG1peGluIG1hdC1jaGVja2JveC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuXG4gIC8vIFRoZSBjb2xvciBvZiB0aGUgY2hlY2tib3gncyBjaGVja21hcmsgLyBtaXhlZG1hcmsuXG4gICRjaGVja2JveC1tYXJrLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGJhY2tncm91bmQpO1xuXG4gIC8vIE5PVEUodHJhdmlza2F1Zm1hbik6IFdoaWxlIHRoZSBzcGVjIGNhbGxzIGZvciB0cmFuc2x1Y2VudCBibGFja3Mvd2hpdGVzIGZvciBkaXNhYmxlZCBjb2xvcnMsXG4gIC8vIHRoaXMgZG9lcyBub3Qgd29yayB3ZWxsIHdpdGggZWxlbWVudHMgbGF5ZXJlZCBvbiB0b3Agb2Ygb25lIGFub3RoZXIuIFRvIGdldCBhcm91bmQgdGhpcyB3ZVxuICAvLyBibGVuZCB0aGUgY29sb3JzIHRvZ2V0aGVyIGJhc2VkIG9uIHRoZSBiYXNlIGNvbG9yIGFuZCB0aGUgdGhlbWUgYmFja2dyb3VuZC5cbiAgJHdoaXRlLTMwcGN0LW9wYWNpdHktb24tZGFyazogIzY4Njg2ODtcbiAgJGJsYWNrLTI2cGN0LW9wYWNpdHktb24tbGlnaHQ6ICNiMGIwYjA7XG4gICRkaXNhYmxlZC1jb2xvcjogaWYoJGlzLWRhcmstdGhlbWUsICR3aGl0ZS0zMHBjdC1vcGFjaXR5LW9uLWRhcmssICRibGFjay0yNnBjdC1vcGFjaXR5LW9uLWxpZ2h0KTtcblxuICAubWF0LWNoZWNrYm94LWZyYW1lIHtcbiAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICB9XG5cbiAgLm1hdC1jaGVja2JveC1jaGVja21hcmsge1xuICAgIGZpbGw6ICRjaGVja2JveC1tYXJrLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1jaGVja2JveC1jaGVja21hcmstcGF0aCB7XG4gICAgLy8gIWltcG9ydGFudCBpcyBuZWVkZWQgaGVyZSBiZWNhdXNlIGEgc3Ryb2tlIG11c3QgYmUgc2V0IGFzIGFuXG4gICAgLy8gYXR0cmlidXRlIG9uIHRoZSBTVkcgaW4gb3JkZXIgZm9yIGxpbmUgYW5pbWF0aW9uIHRvIHdvcmsgcHJvcGVybHkuXG4gICAgc3Ryb2tlOiAkY2hlY2tib3gtbWFyay1jb2xvciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1hdC1jaGVja2JveC1taXhlZG1hcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjaGVja2JveC1tYXJrLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlLCAubWF0LWNoZWNrYm94LWNoZWNrZWQge1xuICAgICYubWF0LXByaW1hcnkgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCk7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiAubWF0LWNoZWNrYm94LWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCR3YXJuKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWNoZWNrYm94LWRpc2FibGVkIHtcbiAgICAmLm1hdC1jaGVja2JveC1jaGVja2VkLFxuICAgICYubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUge1xuICAgICAgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5tYXQtY2hlY2tib3gtY2hlY2tlZCkge1xuICAgICAgLm1hdC1jaGVja2JveC1mcmFtZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tYXQtY2hlY2tib3gtbGFiZWwge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN3aXRjaCB0aGlzIHRvIGEgc29saWQgY29sb3Igc2luY2Ugd2UncmUgdXNpbmcgYG9wYWNpdHlgXG4gIC8vIHRvIGNvbnRyb2wgaG93IG9wYXF1ZSB0aGUgcmlwcGxlIHNob3VsZCBiZS5cbiAgLm1hdC1jaGVja2JveCAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCksIGJhc2UpO1xuICB9XG5cbiAgLm1hdC1jaGVja2JveC1jaGVja2VkOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKSxcbiAgLm1hdC1jaGVja2JveDphY3RpdmU6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpIHtcbiAgICAmLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRwcmltYXJ5KTtcbiAgICB9XG5cbiAgICAmLm1hdC1hY2NlbnQgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGFjY2VudCk7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkd2Fybik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtY2hlY2tib3gtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtY2hlY2tib3gge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cblxuICAvLyBUT0RPKGthcmEpOiBSZW1vdmUgdGhpcyBzdHlsZSB3aGVuIGZpeGluZyB2ZXJ0aWNhbCBiYXNlbGluZVxuICAubWF0LWNoZWNrYm94LWxheW91dCAubWF0LWNoZWNrYm94LWxhYmVsIHtcbiAgICBsaW5lLWhlaWdodDogbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGJvZHktMik7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtY2hlY2tib3gtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWNoZWNrYm94LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1jaGVja2JveCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1jaGVja2JveC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWNoZWNrYm94LWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtY2hlY2tib3gtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG4kbWF0LWNoaXAtcmVtb3ZlLWZvbnQtc2l6ZTogMThweDtcblxuQG1peGluIF9tYXQtY2hpcC1lbGVtZW50LWNvbG9yKCRmb3JlZ3JvdW5kLCAkYmFja2dyb3VuZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRmb3JlZ3JvdW5kO1xuXG4gIC5tYXQtY2hpcC1yZW1vdmUge1xuICAgIGNvbG9yOiAkZm9yZWdyb3VuZDtcbiAgICBvcGFjaXR5OiAwLjQ7XG4gIH1cbn1cblxuXG4vLyBBcHBsaWVzIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciBhIHJpcHBsZSBlbGVtZW50LlxuLy8gSWYgdGhlIGNvbG9yIHZhbHVlIHByb3ZpZGVkIGlzIG5vdCBhIFNhc3MgY29sb3IsXG4vLyB3ZSBhc3N1bWUgdGhhdCB3ZSd2ZSBiZWVuIGdpdmVuIGEgQ1NTIHZhcmlhYmxlLlxuLy8gU2luY2Ugd2UgY2FuJ3QgcGVyZm9ybSBhbHBoYS1ibGVuZGluZyBvbiBhIENTUyB2YXJpYWJsZSxcbi8vIHdlIGluc3RlYWQgYWRkIHRoZSBvcGFjaXR5IGRpcmVjdGx5IHRvIHRoZSByaXBwbGUgZWxlbWVudC5cbkBtaXhpbiBfbWF0LWNoaXBzLXJpcHBsZS1iYWNrZ3JvdW5kKCRwYWxldHRlLCAkZGVmYXVsdC1jb250cmFzdCwgJG9wYWNpdHkpIHtcbiAgJGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgJGRlZmF1bHQtY29udHJhc3QsICRvcGFjaXR5KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gIEBpZiAodHlwZS1vZigkYmFja2dyb3VuZC1jb2xvcikgIT0gY29sb3IpIHtcbiAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1jaGlwLXRoZW1lLWNvbG9yKCRwYWxldHRlKSB7XG4gIEBpbmNsdWRlIF9tYXQtY2hpcC1lbGVtZW50LWNvbG9yKG1hdC1jb2xvcigkcGFsZXR0ZSwgZGVmYXVsdC1jb250cmFzdCksIG1hdC1jb2xvcigkcGFsZXR0ZSkpO1xuXG4gIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIEBpbmNsdWRlIF9tYXQtY2hpcHMtcmlwcGxlLWJhY2tncm91bmQoJHBhbGV0dGUsIGRlZmF1bHQtY29udHJhc3QsIDAuMSk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1jaGlwcy1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAkdW5zZWxlY3RlZC1iYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIHVuc2VsZWN0ZWQtY2hpcCk7XG4gICR1bnNlbGVjdGVkLWZvcmVncm91bmQ6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG5cbiAgLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwIHtcbiAgICBAaW5jbHVkZSBfbWF0LWNoaXAtZWxlbWVudC1jb2xvcigkdW5zZWxlY3RlZC1mb3JlZ3JvdW5kLCAkdW5zZWxlY3RlZC1iYWNrZ3JvdW5kKTtcblxuICAgICY6bm90KC5tYXQtY2hpcC1kaXNhYmxlZCkge1xuICAgICAgJjphY3RpdmUge1xuICAgICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oMywgJGNvbmZpZyk7XG4gICAgICB9XG5cbiAgICAgIC5tYXQtY2hpcC1yZW1vdmU6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjU0O1xuICAgICAgfVxuICAgIH1cblxuICAgICYubWF0LWNoaXAtZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogMC40O1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvcmVncm91bmQsIGJhc2UpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1zZWxlY3RlZCB7XG4gICAgJi5tYXQtcHJpbWFyeSB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWNoaXAtdGhlbWUtY29sb3IoJHByaW1hcnkpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgQGluY2x1ZGUgX21hdC1jaGlwLXRoZW1lLWNvbG9yKCR3YXJuKTtcbiAgICB9XG5cbiAgICAmLm1hdC1hY2NlbnQge1xuICAgICAgQGluY2x1ZGUgX21hdC1jaGlwLXRoZW1lLWNvbG9yKCRhY2NlbnQpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWNoaXBzLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LWNoaXAge1xuICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTIpO1xuICAgIGZvbnQtd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0yKTtcblxuICAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uLFxuICAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb24ge1xuICAgICAgZm9udC1zaXplOiAkbWF0LWNoaXAtcmVtb3ZlLWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9tYXQtY2hpcHMtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWNoaXBzLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1jaGlwcycpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1jaGlwcy1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWNoaXBzLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtY2hpcHMtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5AbWl4aW4gbWF0LWRpdmlkZXItY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1kaXZpZGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuICB9XG5cbiAgLm1hdC1kaXZpZGVyLXZlcnRpY2FsIHtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG4gIH1cbn1cblxuQG1peGluIG1hdC1kaXZpZGVyLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIF9tYXQtZGl2aWRlci1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtZGl2aWRlci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtZGl2aWRlcicpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1kaXZpZGVyLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtZGl2aWRlci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWRpdmlkZXItdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuQG1peGluIG1hdC10YWJsZS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC10YWJsZSB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCAnY2FyZCcpO1xuICB9XG5cbiAgLm1hdC10YWJsZSB0aGVhZCwgLm1hdC10YWJsZSB0Ym9keSwgLm1hdC10YWJsZSB0Zm9vdCxcbiAgbWF0LWhlYWRlci1yb3csIG1hdC1yb3csIG1hdC1mb290ZXItcm93LFxuICBbbWF0LWhlYWRlci1yb3ddLCBbbWF0LXJvd10sIFttYXQtZm9vdGVyLXJvd10sXG4gIC5tYXQtdGFibGUtc3RpY2t5IHtcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICB9XG5cbiAgbWF0LXJvdywgbWF0LWhlYWRlci1yb3csIG1hdC1mb290ZXItcm93LFxuICB0aC5tYXQtaGVhZGVyLWNlbGwsIHRkLm1hdC1jZWxsLCB0ZC5tYXQtZm9vdGVyLWNlbGwge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG4gIH1cblxuICAubWF0LWhlYWRlci1jZWxsIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LWNlbGwsIC5tYXQtZm9vdGVyLWNlbGwge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtdGFibGUtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtdGFibGUge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LWhlYWRlci1jZWxsIHtcbiAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgY2FwdGlvbik7XG4gICAgZm9udC13ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTIpO1xuICB9XG5cbiAgLm1hdC1jZWxsLCAubWF0LWZvb3Rlci1jZWxsIHtcbiAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC10YWJsZS1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtdGFibGUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXRhYmxlJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRhYmxlLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtdGFibGUtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10YWJsZS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuJG1hdC1kYXRlcGlja2VyLXNlbGVjdGVkLXRvZGF5LWJveC1zaGFkb3ctd2lkdGg6IDFweDtcbiRtYXQtZGF0ZXBpY2tlci1zZWxlY3RlZC1mYWRlLWFtb3VudDogMC42O1xuJG1hdC1kYXRlcGlja2VyLXJhbmdlLWZhZGUtYW1vdW50OiAwLjI7XG4kbWF0LWRhdGVwaWNrZXItdG9kYXktZmFkZS1hbW91bnQ6IDAuMjtcbiRtYXQtY2FsZW5kYXItYm9keS1mb250LXNpemU6IDEzcHggIWRlZmF1bHQ7XG4kbWF0LWNhbGVuZGFyLXdlZWtkYXktdGFibGUtZm9udC1zaXplOiAxMXB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gX21hdC1kYXRlcGlja2VyLWNvbG9yKCRwYWxldHRlKSB7XG4gIEBpbmNsdWRlIG1hdC1kYXRlLXJhbmdlLWNvbG9ycyhcbiAgICBtYXQtY29sb3IoJHBhbGV0dGUsIGRlZmF1bHQsICRtYXQtZGF0ZXBpY2tlci1yYW5nZS1mYWRlLWFtb3VudCkpO1xuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCA+IC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCB7XG4gICAgJGJhY2tncm91bmQ6IG1hdC1jb2xvcigkcGFsZXR0ZSk7XG5cbiAgICBAaWYgKHR5cGUtb2YoJGJhY2tncm91bmQpID09IGNvbG9yKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBmYWRlLW91dCgkYmFja2dyb3VuZCwgJG1hdC1kYXRlcGlja2VyLXNlbGVjdGVkLWZhZGUtYW1vdW50KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gSWYgd2UgY291bGRuJ3QgcmVzb2x2ZSB0byBiYWNrZ3JvdW5kIHRvIGEgY29sb3IgKGUuZy4gaXQncyBhIENTUyB2YXJpYWJsZSksXG4gICAgICAvLyBmYWxsIGJhY2sgdG8gZmFkaW5nIHRoZSBjb250ZW50IG91dCB2aWEgYG9wYWNpdHlgLlxuICAgICAgb3BhY2l0eTogJG1hdC1kYXRlcGlja2VyLXRvZGF5LWZhZGUtYW1vdW50O1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS10b2RheS5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgJG1hdC1kYXRlcGlja2VyLXNlbGVjdGVkLXRvZGF5LWJveC1zaGFkb3ctd2lkdGhcbiAgICAgICAgICAgICAgICBtYXQtY29sb3IoJHBhbGV0dGUsIGRlZmF1bHQtY29udHJhc3QpO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWNlbGw6bm90KC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCk6aG92ZXIsXG4gIC5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWNhbGVuZGFyLWJvZHktYWN0aXZlLFxuICAuY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LWNhbGVuZGFyLWJvZHktYWN0aXZlIHtcbiAgICAmID4gLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWRhdGVwaWNrZXItdW5zZWxlY3RlZC1jZWxsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCAwLjMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBVdGlsaXR5IG1peGluIHRvIHRhcmdldCBjZWxscyB0aGF0IGFyZW4ndCBzZWxlY3RlZC4gVXNlZCB0byBtYWtlIHNlbGVjdG9yIGVhc2llciB0byBmb2xsb3cuXG5AbWl4aW4gX21hdC1kYXRlcGlja2VyLXVuc2VsZWN0ZWQtY2VsbCB7XG4gICY6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBtYXQtZGF0ZXBpY2tlci1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRkaXNhYmxlZC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcblxuICAubWF0LWNhbGVuZGFyLWFycm93IHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGljb24pO1xuICB9XG5cbiAgLy8gVGhlIHByZXYvbmV4dCBidXR0b25zIG5lZWQgYSBiaXQgbW9yZSBzcGVjaWZpY2l0eSB0b1xuICAvLyBhdm9pZCBiZWluZyBvdmVyd3JpdHRlbiBieSB0aGUgLm1hdC1pY29uLWJ1dHRvbi5cbiAgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSxcbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQgLm1hdC1jYWxlbmRhci1uZXh0LWJ1dHRvbixcbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQgLm1hdC1jYWxlbmRhci1wcmV2aW91cy1idXR0b24ge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGljb24pO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXIge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGhpbnQtdGV4dCk7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlci1kaXZpZGVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1sYWJlbCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudCxcbiAgLm1hdC1kYXRlLXJhbmdlLWlucHV0LXNlcGFyYXRvciB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCA+IC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIF9tYXQtZGF0ZXBpY2tlci11bnNlbGVjdGVkLWNlbGwge1xuICAgICAgY29sb3I6ICRkaXNhYmxlZC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1kYXRlLXJhbmdlLWlucHV0LXNlcGFyYXRvciB7XG4gICAgY29sb3I6ICRkaXNhYmxlZC1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1pbi1wcmV2aWV3IHtcbiAgICAkZGl2aWRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcblxuICAgIEBpZiB0eXBlLW9mKCRkaXZpZGVyLWNvbG9yKSA9PSBjb2xvciB7XG4gICAgICAvLyBUaGUgZGl2aWRlciBjb2xvciBpcyBzZXQgdW5kZXIgdGhlIGFzc3VtcHRpb24gdGhhdCBpdCdsbCBiZSB1c2VkXG4gICAgICAvLyBmb3IgYSBzb2xpZCBib3JkZXIsIGJ1dCBiZWNhdXNlIHdlJ3JlIHVzaW5nIGEgZGFzaGVkIGJvcmRlciBmb3IgdGhlXG4gICAgICAvLyBwcmV2aWV3IHJhbmdlLCB3ZSBuZWVkIHRvIGJ1bXAgaXRzIG9wYWNpdHkgdG8gZW5zdXJlIHRoYXQgaXQncyB2aXNpYmxlLlxuICAgICAgY29sb3I6IHJnYmEoJGRpdmlkZXItY29sb3IsIG1pbihvcGFjaXR5KCRkaXZpZGVyLWNvbG9yKSAqIDIsIDEpKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgY29sb3I6ICRkaXZpZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS10b2RheSB7XG4gICAgQGluY2x1ZGUgX21hdC1kYXRlcGlja2VyLXVuc2VsZWN0ZWQtY2VsbCB7XG4gICAgICAvLyBOb3RlOiB0aG91Z2ggaXQncyBub3QgdGV4dCwgdGhlIGJvcmRlciBpcyBhIGhpbnQgYWJvdXQgdGhlIGZhY3QgdGhhdCB0aGlzIGlzIHRvZGF5J3MgZGF0ZSxcbiAgICAgIC8vIHNvIHdlIHVzZSB0aGUgaGludCBjb2xvci5cbiAgICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBoaW50LXRleHQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCA+IC5tYXQtY2FsZW5kYXItYm9keS10b2RheSB7XG4gICAgQGluY2x1ZGUgX21hdC1kYXRlcGlja2VyLXVuc2VsZWN0ZWQtY2VsbCB7XG4gICAgICAkY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgaGludC10ZXh0KTtcblxuICAgICAgQGlmICh0eXBlLW9mKCRjb2xvcikgPT0gY29sb3IpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBmYWRlLW91dCgkY29sb3IsICRtYXQtZGF0ZXBpY2tlci10b2RheS1mYWRlLWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIC8vIElmIHRoZSBjb2xvciBkaWRuJ3QgcmVzb2x2ZSB0byBhIGNvbG9yIHZhbHVlLCBidXQgc29tZXRoaW5nIGxpa2UgYSBDU1MgdmFyaWFibGUsIHdlIGNhbid0XG4gICAgICAgIC8vIGZhZGUgaXQgb3V0IHNvIHdlIGZhbGwgYmFjayB0byByZWR1Y2luZyB0aGUgZWxlbWVudCBvcGFjaXR5LiBOb3RlIHRoYXQgd2UgZG9uJ3QgdXNlIHRoZVxuICAgICAgICAvLyAkbWF0LWRhdGVwaWNrZXItdG9kYXktZmFkZS1hbW91bnQsIGJlY2F1c2UgaGludCB0ZXh0IHVzdWFsbHkgaGFzIHNvbWUgb3BhY2l0eSBhcHBsaWVkXG4gICAgICAgIC8vIHRvIGl0IGFscmVhZHkgYW5kIHdlIGRvbid0IHdhbnQgdGhlbSB0byBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIF9tYXQtZGF0ZXBpY2tlci1jb2xvcihtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpKTtcblxuICAubWF0LWRhdGVwaWNrZXItY29udGVudCB7XG4gICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtZWxldmF0aW9uKDQsICRjb25maWcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgY2FyZCk7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG5cbiAgICAmLm1hdC1hY2NlbnQge1xuICAgICAgQGluY2x1ZGUgX21hdC1kYXRlcGlja2VyLWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KSk7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWRhdGVwaWNrZXItY29sb3IobWFwLWdldCgkY29uZmlnLCB3YXJuKSk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQtdG91Y2gge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLWVsZXZhdGlvbigwLCAkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUtYWN0aXZlIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSksIHRleHQpO1xuXG4gICAgJi5tYXQtYWNjZW50IHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IobWFwLWdldCgkY29uZmlnLCBhY2NlbnQpLCB0ZXh0KTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IobWFwLWdldCgkY29uZmlnLCB3YXJuKSwgdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1kYXRlLXJhbmdlLWlucHV0LWlubmVyW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1kYXRlcGlja2VyLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LWNhbGVuZGFyIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5IHtcbiAgICBmb250LXNpemU6ICRtYXQtY2FsZW5kYXItYm9keS1mb250LXNpemU7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktbGFiZWwsXG4gIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbiB7XG4gICAgZm9udDoge1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBidXR0b24pO1xuICAgICAgd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYnV0dG9uKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlciB0aCB7XG4gICAgZm9udDoge1xuICAgICAgc2l6ZTogJG1hdC1jYWxlbmRhci13ZWVrZGF5LXRhYmxlLWZvbnQtc2l6ZTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtZGF0ZS1yYW5nZS1jb2xvcnMoXG4gICRyYW5nZS1jb2xvcixcbiAgJGNvbXBhcmlzb24tY29sb3I6IHJnYmEoI2Y5YWIwMCwgJG1hdC1kYXRlcGlja2VyLXJhbmdlLWZhZGUtYW1vdW50KSxcbiAgJG92ZXJsYXAtY29sb3I6ICNhOGRhYjUsXG4gICRvdmVybGFwLXNlbGVjdGVkLWNvbG9yOiBkYXJrZW4oJG92ZXJsYXAtY29sb3IsIDMwJSkpIHtcblxuICAubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogJHJhbmdlLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLFxuICAubWF0LWNhbGVuZGFyLWJvZHktaW4tY29tcGFyaXNvbi1yYW5nZTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29tcGFyaXNvbi1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1zdGFydDo6YmVmb3JlLFxuICBbZGlyPSdydGwnXSAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2UtZW5kOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHJhbmdlLWNvbG9yIDUwJSwgJGNvbXBhcmlzb24tY29sb3IgNTAlKTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1lbmQ6OmJlZm9yZSxcbiAgW2Rpcj0ncnRsJ10gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLXN0YXJ0OjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCAkcmFuZ2UtY29sb3IgNTAlLCAkY29tcGFyaXNvbi1jb2xvciA1MCUpO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlID4gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLFxuICAubWF0LWNhbGVuZGFyLWJvZHktaW4tY29tcGFyaXNvbi1yYW5nZS5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICRvdmVybGFwLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkLFxuICAubWF0LWNhbGVuZGFyLWJvZHktaW4tY29tcGFyaXNvbi1yYW5nZSA+IC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZDogJG92ZXJsYXAtc2VsZWN0ZWQtY29sb3I7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtZGF0ZXBpY2tlci1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtZGF0ZXBpY2tlci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtZGF0ZXBpY2tlcicpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1kYXRlcGlja2VyLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtZGF0ZXBpY2tlci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWRhdGVwaWNrZXItdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbkBtaXhpbiBtYXQtZGlhbG9nLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWRpYWxvZy1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLWVsZXZhdGlvbigyNCwgJGNvbmZpZyk7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBkaWFsb2cpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtZGlhbG9nLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LWRpYWxvZy10aXRsZSB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIHRpdGxlKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1kaWFsb2ctZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWRpYWxvZy10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtZGlhbG9nJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWRpYWxvZy1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWRpYWxvZy1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWRpYWxvZy10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cbi8vIERlZmF1bHQgbWluaW11bSBhbmQgbWF4aW11bSBoZWlnaHQgZm9yIGNvbGxhcHNlZCBwYW5lbCBoZWFkZXJzLlxuJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWNvbGxhcHNlZC1oZWlnaHQ6IDQ4cHggIWRlZmF1bHQ7XG4kbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItY29sbGFwc2VkLW1pbmltdW0taGVpZ2h0OiAzNnB4ICFkZWZhdWx0O1xuJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWNvbGxhcHNlZC1tYXhpbXVtLWhlaWdodDpcbiAgICAkbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItY29sbGFwc2VkLWhlaWdodCAhZGVmYXVsdDtcblxuLy8gRGVmYXVsdCBtaW5pbXVtIGFuZCBtYXhpbXVtIGhlaWdodCBmb3IgZXhwYW5kZWQgcGFuZWwgaGVhZGVycy5cbiRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1leHBhbmRlZC1oZWlnaHQ6IDY0cHggIWRlZmF1bHQ7XG4kbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZXhwYW5kZWQtbWluaW11bS1oZWlnaHQ6IDQ4cHggIWRlZmF1bHQ7XG4kbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZXhwYW5kZWQtbWF4aW11bS1oZWlnaHQ6XG4gICAgJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWV4cGFuZGVkLWhlaWdodCAhZGVmYXVsdDtcblxuLy8gRGVuc2l0eSBjb25maWd1cmF0aW9uIGZvciB0aGUgZXhwYW5zaW9uIHBhbmVsLiBDYXB0dXJlcyB0aGVcbi8vIGhlaWdodCBmb3IgYm90aCBleHBhbmRlZCBhbmQgY29sbGFwc2VkIHBhbmVsIGhlYWRlcnMuXG4kbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVuc2l0eS1jb25maWc6IChcbiAgY29sbGFwc2VkLWhlaWdodDogKFxuICAgIGRlZmF1bHQ6ICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jb2xsYXBzZWQtaGVpZ2h0LFxuICAgIG1heGltdW06ICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jb2xsYXBzZWQtbWF4aW11bS1oZWlnaHQsXG4gICAgbWluaW11bTogJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWNvbGxhcHNlZC1taW5pbXVtLWhlaWdodCxcbiAgKSxcbiAgZXhwYW5kZWQtaGVpZ2h0OiAoXG4gICAgZGVmYXVsdDogJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWV4cGFuZGVkLWhlaWdodCxcbiAgICBtYXhpbXVtOiAkbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZXhwYW5kZWQtbWF4aW11bS1oZWlnaHQsXG4gICAgbWluaW11bTogJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWV4cGFuZGVkLW1pbmltdW0taGVpZ2h0LFxuICApXG4pICFkZWZhdWx0O1xuXG4vLyBOb3RlOiBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIHRoZSBhbmltYXRpb24gdGltaW5nIGZvciB0aGUgdG9nZ2xlIGluZGljYXRvclxuLy8gYW5kIGJvZHkgZXhwYW5zaW9uLiBUaGVzZSBhcmUgYW5pbWF0ZWQgdXNpbmcgQW5ndWxhciBhbmltYXRpb25zLlxuJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRyYW5zaXRpb246IDIyNW1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG5cbkBtaXhpbiBtYXQtcHJpdmF0ZS1leHBhbnNpb24tZm9jdXMge1xuICAubWF0LWV4cGFuc2lvbi1wYW5lbCB7XG4gICAgJiAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIuY2RrLWtleWJvYXJkLWZvY3VzZWQsXG4gICAgJiAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIuY2RrLXByb2dyYW0tZm9jdXNlZCxcbiAgICAmOm5vdCgubWF0LWV4cGFuZGVkKSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI6aG92ZXIge1xuICAgICAgJjpub3QoW2FyaWEtZGlzYWJsZWQ9J3RydWUnXSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5AbWl4aW4gbWF0LWV4cGFuc2lvbi1wYW5lbC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1leHBhbnNpb24tcGFuZWwge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbigyLCAkY29uZmlnKTtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG5cbiAgLm1hdC1hY3Rpb24tcm93IHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtZXhwYW5zaW9uLWZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGhvdmVyKTtcbiAgfVxuXG4gIC8vIERpc2FibGUgdGhlIGhvdmVyIG9uIHRvdWNoIGRldmljZXMgc2luY2UgaXQgY2FuIGFwcGVhciBsaWtlIGl0IGlzIHN0dWNrLiBXZSBjYW4ndCB1c2VcbiAgLy8gYEBtZWRpYSAoaG92ZXIpYCBhYm92ZSwgYmVjYXVzZSB0aGUgZGVza3RvcCBzdXBwb3J0IGJyb3dzZXIgc3VwcG9ydCBpc24ndCBncmVhdC5cbiAgQG1lZGlhIChob3Zlcjogbm9uZSkge1xuICAgIC5tYXQtZXhwYW5zaW9uLXBhbmVsOm5vdCgubWF0LWV4cGFuZGVkKTpub3QoW2FyaWEtZGlzYWJsZWQ9J3RydWUnXSlcbiAgICAgIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci10aXRsZSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gIH1cblxuICAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24sXG4gIC5tYXQtZXhwYW5zaW9uLWluZGljYXRvcjo6YWZ0ZXIge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlclthcmlhLWRpc2FibGVkPSd0cnVlJ10ge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLWJ1dHRvbik7XG5cbiAgICAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGUsXG4gICAgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9uIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWV4cGFuc2lvbi1wYW5lbC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBzdWJoZWFkaW5nLTEpO1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBzdWJoZWFkaW5nLTEpO1xuICAgICAgd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgc3ViaGVhZGluZy0xKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgYm9keS0xKTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWV4cGFuc2lvbi1wYW5lbC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGRlbnNpdHktc2NhbGU6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRleHBhbmRlZC1oZWlnaHQ6IG1hdC1wcml2YXRlLWRlbnNpdHktcHJvcC12YWx1ZShcbiAgICAgICAgJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlbnNpdHktY29uZmlnLCAkZGVuc2l0eS1zY2FsZSwgZXhwYW5kZWQtaGVpZ2h0KTtcbiAgJGNvbGxhcHNlZC1oZWlnaHQ6IG1hdC1wcml2YXRlLWRlbnNpdHktcHJvcC12YWx1ZShcbiAgICAgICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1kZW5zaXR5LWNvbmZpZywgJGRlbnNpdHktc2NhbGUsIGNvbGxhcHNlZC1oZWlnaHQpO1xuXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gICAgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIHtcbiAgICAgIGhlaWdodDogJGNvbGxhcHNlZC1oZWlnaHQ7XG5cbiAgICAgICYubWF0LWV4cGFuZGVkIHtcbiAgICAgICAgaGVpZ2h0OiAkZXhwYW5kZWQtaGVpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWV4cGFuc2lvbi1wYW5lbC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtZXhwYW5zaW9uLXBhbmVsJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWV4cGFuc2lvbi1wYW5lbC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZXhwYW5zaW9uLXBhbmVsLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZXhwYW5zaW9uLXBhbmVsLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG4vLyBUaGlzIG1peGluIHdpbGwgZW5zdXJlIHRoYXQgbGluZXMgdGhhdCBvdmVyZmxvdyB0aGUgY29udGFpbmVyIHdpbGwgaGlkZSB0aGUgb3ZlcmZsb3cgYW5kXG4vLyB0cnVuY2F0ZSBuZWF0bHkgd2l0aCBhbiBlbGxpcHNpcy5cbkBtaXhpbiBtYXQtdHJ1bmNhdGUtbGluZSgpIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8vIE1peGluIHRvIHByb3ZpZGUgYWxsIG1hdC1saW5lIHN0eWxlcywgY2hhbmdpbmcgc2Vjb25kYXJ5IGZvbnQgc2l6ZSBiYXNlZCBvbiB3aGV0aGVyIHRoZSBsaXN0XG4vLyBpcyBpbiBkZW5zZSBtb2RlLlxuQG1peGluIG1hdC1saW5lLWJhc2UoJHNlY29uZGFyeS1mb250LXNpemUpIHtcbiAgLm1hdC1saW5lIHtcbiAgICBAaW5jbHVkZSBtYXQtdHJ1bmNhdGUtbGluZSgpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAvLyBhbGwgbGluZXMgYnV0IHRoZSB0b3AgbGluZSBzaG91bGQgaGF2ZSBzbWFsbGVyIHRleHRcbiAgICAmOm50aC1jaGlsZChuKzIpIHtcbiAgICAgIGZvbnQtc2l6ZTogJHNlY29uZGFyeS1mb250LXNpemU7XG4gICAgfVxuICB9XG59XG5cbi8vIFRoaXMgbWl4aW4gbm9ybWFsaXplcyBkZWZhdWx0IGVsZW1lbnQgc3R5bGVzLCBlLmcuIGZvbnQgd2VpZ2h0IGZvciBoZWFkaW5nIHRleHQuXG5AbWl4aW4gbWF0LW5vcm1hbGl6ZS10ZXh0KCkge1xuICAmID4gKiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gVGhpcyBtaXhpbiBwcm92aWRlcyBiYXNlIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgYXJvdW5kIG1hdC1saW5lIGVsZW1lbnRzIGluIGEgbGlzdC5cbkBtaXhpbiBtYXQtbGluZS13cmFwcGVyLWJhc2UoKSB7XG4gIEBpbmNsdWRlIG1hdC1ub3JtYWxpemUtdGV4dCgpO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXg6IGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLy8gTXVzdCByZW1vdmUgd3JhcHBlciB3aGVuIGxpbmVzIGFyZSBlbXB0eSBvciBpdCB0YWtlcyB1cCBob3Jpem9udGFsXG4gIC8vIHNwYWNlIGFuZCBwdXNoZXMgb3RoZXIgZWxlbWVudHMgdG8gdGhlIHJpZ2h0LlxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cblxuXG4vLyBJbmNsdWRlIHRoaXMgZW1wdHkgbWl4aW4gZm9yIGNvbnNpc3RlbmN5IHdpdGggdGhlIG90aGVyIGNvbXBvbmVudHMuXG5AbWl4aW4gbWF0LWdyaWQtbGlzdC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWdyaWQtbGlzdC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1ncmlkLXRpbGUtaGVhZGVyLFxuICAubWF0LWdyaWQtdGlsZS1mb290ZXIge1xuICAgIEBpbmNsdWRlIG1hdC1saW5lLWJhc2UobWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBjYXB0aW9uKSk7XG4gICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtZ3JpZC1saXN0LWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1ncmlkLWxpc3QtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWdyaWQtbGlzdCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1ncmlkLWxpc3QtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1ncmlkLWxpc3QtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1ncmlkLWxpc3QtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5AbWl4aW4gbWF0LWljb24tY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWljb24ge1xuICAgICYubWF0LXByaW1hcnkge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSwgdGV4dCk7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgdGV4dCk7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCR3YXJuLCB0ZXh0KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1pY29uLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIF9tYXQtaWNvbi1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtaWNvbi10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtaWNvbicpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1pY29uLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtaWNvbi1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWljb24tdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG4vLyBSZW5kZXJzIGEgZ3JhZGllbnQgZm9yIHNob3dpbmcgdGhlIGRhc2hlZCBsaW5lIHdoZW4gdGhlIGlucHV0IGlzIGRpc2FibGVkLlxuLy8gVW5saWtlIHVzaW5nIGEgYm9yZGVyLCBhIGdyYWRpZW50IGFsbG93cyB1cyB0byBhZGp1c3QgdGhlIHNwYWNpbmcgb2YgdGhlIGRvdHRlZCBsaW5lXG4vLyB0byBtYXRjaCB0aGUgTWF0ZXJpYWwgRGVzaWduIHNwZWMuXG5AbWl4aW4gbWF0LXByaXZhdGUtY29udHJvbC1kaXNhYmxlZC11bmRlcmxpbmUoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJGNvbG9yIDAlLCAkY29sb3IgMzMlLCB0cmFuc3BhcmVudCAwJSk7XG4gIGJhY2tncm91bmQtc2l6ZTogNHB4IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuLy8gRmlndXJlcyBvdXQgdGhlIGNvbG9yIG9mIHRoZSBwbGFjZWhvbGRlciBmb3IgYSBmb3JtIGNvbnRyb2wuXG4vLyBVc2VkIHByaW1hcmlseSB0byBwcmV2ZW50IHRoZSB2YXJpb3VzIGZvcm0gY29udHJvbHMgZnJvbVxuLy8gYmVjb21pbmcgb3V0IG9mIHN5bmMgc2luY2UgdGhlc2UgY29sb3JzIGFyZW4ndCBpbiBhIHBhbGV0dGUuXG5AZnVuY3Rpb24gbWF0LXByaXZhdGUtY29udHJvbC1wbGFjZWhvbGRlci1jb2xvcigkY29uZmlnKSB7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcbiAgQHJldHVybiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0LCBpZigkaXMtZGFyay10aGVtZSwgMC41LCAwLjQyKSk7XG59XG5cblxuLyogc3R5bGVsaW50LWRpc2FibGUgbWF0ZXJpYWwvbm8tcHJlZml4ZXMgKi9cbkBtaXhpbiB1c2VyLXNlbGVjdCgkdmFsdWUpIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogJHZhbHVlO1xuICAtbW96LXVzZXItc2VsZWN0OiAkdmFsdWU7XG4gIC1tcy11c2VyLXNlbGVjdDogJHZhbHVlO1xuICB1c2VyLXNlbGVjdDogJHZhbHVlO1xufVxuXG5AbWl4aW4gaW5wdXQtcGxhY2Vob2xkZXIge1xuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBjdXJzb3ItZ3JhYiB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xuICBjdXJzb3I6IGdyYWI7XG59XG5cbkBtaXhpbiBjdXJzb3ItZ3JhYmJpbmcge1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XG4gIGN1cnNvcjogZ3JhYmJpbmc7XG59XG5cbkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2YWx1ZSkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6ICR2YWx1ZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogJHZhbHVlO1xufVxuXG5AbWl4aW4gcG9zaXRpb24tc3RpY2t5KCRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreSAje2lmKCRpbXBvcnRhbnQsICchaW1wb3J0YW50JywgJycpfTtcbiAgcG9zaXRpb246IHN0aWNreSAje2lmKCRpbXBvcnRhbnQsICchaW1wb3J0YW50JywgJycpfTtcbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cblxuXG5cbkBtaXhpbiBtYXQtaW5wdXQtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0IC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXIge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtaW5wdXQtZWxlbWVudDpkaXNhYmxlZCxcbiAgLm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlciB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG4gIH1cblxuICAubWF0LWlucHV0LWVsZW1lbnQge1xuICAgIGNhcmV0LWNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIHRleHQpO1xuXG4gICAgQGluY2x1ZGUgaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IG1hdC1wcml2YXRlLWNvbnRyb2wtcGxhY2Vob2xkZXItY29sb3IoJGNvbmZpZyk7XG4gICAgfVxuXG4gICAgLy8gT24gZGFyayB0aGVtZXMgd2Ugc2V0IHRoZSBuYXRpdmUgYHNlbGVjdGAgY29sb3IgdG8gc29tZSBzaGFkZSBvZiB3aGl0ZSxcbiAgICAvLyBob3dldmVyIHRoZSBjb2xvciBwcm9wYWdhdGVzIHRvIGFsbCBvZiB0aGUgYG9wdGlvbmAgZWxlbWVudHMsIHdoaWNoIGFyZVxuICAgIC8vIGFsd2F5cyBvbiBhIHdoaXRlIGJhY2tncm91bmQgaW5zaWRlIHRoZSBkcm9wZG93biwgY2F1c2luZyB0aGVtIHRvIGJsZW5kIGluLlxuICAgIC8vIFNpbmNlIHdlIGNhbid0IGNoYW5nZSBiYWNrZ3JvdW5kIG9mIHRoZSBkcm9wZG93biwgd2UgbmVlZCB0byBleHBsaWNpdGx5XG4gICAgLy8gcmVzZXQgdGhlIGNvbG9yIG9mIHRoZSBvcHRpb25zIHRvIHNvbWV0aGluZyBkYXJrLlxuICAgIEBpZiAobWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKSkge1xuICAgICAgb3B0aW9uIHtcbiAgICAgICAgY29sb3I6ICRkYXJrLXByaW1hcnktdGV4dDtcbiAgICAgIH1cblxuICAgICAgb3B0aW9uOmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRkYXJrLWRpc2FibGVkLXRleHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLm1hdC1hY2NlbnQgLm1hdC1pbnB1dC1lbGVtZW50IHtcbiAgICBjYXJldC1jb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIHRleHQpO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLm1hdC13YXJuIC5tYXQtaW5wdXQtZWxlbWVudCxcbiAgLm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1pbnB1dC1lbGVtZW50IHtcbiAgICBjYXJldC1jb2xvcjogbWF0LWNvbG9yKCR3YXJuLCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlciB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1pbnB1dC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLy8gVGhlIHVuaXQtbGVzcyBsaW5lLWhlaWdodCBmcm9tIHRoZSBmb250IGNvbmZpZy5cbiAgJGxpbmUtaGVpZ2h0OiBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgaW5wdXQpO1xuXG4gIC8vIFRoZSBhbW91bnQgb2Ygc3BhY2UgYmV0d2VlbiB0aGUgdG9wIG9mIHRoZSBsaW5lIGFuZCB0aGUgdG9wIG9mIHRoZSBhY3R1YWwgdGV4dFxuICAvLyAoYXMgYSBmcmFjdGlvbiBvZiB0aGUgZm9udC1zaXplKS5cbiAgJGxpbmUtc3BhY2luZzogKCRsaW5lLWhlaWdodCAtIDEpIC8gMjtcblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRzIHNlZW0gdG8gaGF2ZSB0aGVpciBoZWlnaHQgc2V0IHNsaWdodGx5IHRvbyBsYXJnZSBvbiBTYWZhcmkgY2F1c2luZyB0aGUgdGV4dCB0b1xuICAvLyBiZSBtaXNhbGlnbmVkIHcuci50LiB0aGUgcGxhY2Vob2xkZXIuIEFkZGluZyB0aGlzIG1hcmdpbiBjb3JyZWN0cyBpdC5cbiAgaW5wdXQubWF0LWlucHV0LWVsZW1lbnQge1xuICAgIG1hcmdpbi10b3A6IC0kbGluZS1zcGFjaW5nICogMWVtO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWlucHV0LWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1pbnB1dC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtaW5wdXQnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtaW5wdXQtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1pbnB1dC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWlucHV0LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG5AbWl4aW4gbWF0LWxpc3QtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtbGlzdC1iYXNlIHtcbiAgICAubWF0LWxpc3QtaXRlbSB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICB9XG5cbiAgICAubWF0LWxpc3Qtb3B0aW9uIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICAgIH1cblxuICAgIC5tYXQtc3ViaGVhZGVyIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgICB9XG4gIH1cblxuICAubWF0LWxpc3QtaXRlbS1kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBkaXNhYmxlZC1saXN0LW9wdGlvbik7XG4gIH1cblxuICAubWF0LWxpc3Qtb3B0aW9uLFxuICAubWF0LW5hdi1saXN0IC5tYXQtbGlzdC1pdGVtLFxuICAubWF0LWFjdGlvbi1saXN0IC5tYXQtbGlzdC1pdGVtIHtcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgJ2hvdmVyJyk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1saXN0LXNpbmdsZS1zZWxlY3RlZC1vcHRpb24ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBob3ZlciwgMC4xMik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtbGlzdC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG5cbiAgLm1hdC1saXN0LWl0ZW0ge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gIH1cblxuICAubWF0LWxpc3Qtb3B0aW9uIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBsaXN0XG4gIC5tYXQtbGlzdC1iYXNlIHtcbiAgICAubWF0LWxpc3QtaXRlbSB7XG4gICAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgc3ViaGVhZGluZy0yKTtcbiAgICAgIEBpbmNsdWRlIG1hdC1saW5lLWJhc2UobWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpKTtcbiAgICB9XG5cbiAgICAubWF0LWxpc3Qtb3B0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBzdWJoZWFkaW5nLTIpO1xuICAgICAgQGluY2x1ZGUgbWF0LWxpbmUtYmFzZShtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSkpO1xuICAgIH1cblxuICAgIC5tYXQtc3ViaGVhZGVyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgYm9keS0yKTtcbiAgICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTIpO1xuICAgICAgZm9udC13ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlbnNlIGxpc3RcbiAgLm1hdC1saXN0LWJhc2VbZGVuc2VdIHtcbiAgICAubWF0LWxpc3QtaXRlbSB7XG4gICAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgY2FwdGlvbik7XG4gICAgICBAaW5jbHVkZSBtYXQtbGluZS1iYXNlKG1hdC1mb250LXNpemUoJGNvbmZpZywgY2FwdGlvbikpO1xuICAgIH1cblxuICAgIC5tYXQtbGlzdC1vcHRpb24ge1xuICAgICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pO1xuICAgICAgQGluY2x1ZGUgbWF0LWxpbmUtYmFzZShtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pKTtcbiAgICB9XG5cbiAgICAubWF0LXN1YmhlYWRlciB7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pO1xuICAgICAgZm9udC13ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTIpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1saXN0LWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1saXN0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1saXN0Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWxpc3QtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1saXN0LWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtbGlzdC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuQG1peGluIG1hdC1tZW51LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LW1lbnUtcGFuZWwge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbig0LCAkY29uZmlnKTtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsICdjYXJkJyk7XG4gIH1cblxuICAubWF0LW1lbnUtaXRlbSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgJ3RleHQnKTtcblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICYsXG4gICAgICAmOjphZnRlcixcbiAgICAgIC5tYXQtaWNvbi1uby1jb2xvciB7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsICdkaXNhYmxlZCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbi1uby1jb2xvcixcbiAgLm1hdC1tZW51LWl0ZW0tc3VibWVudS10cmlnZ2VyOjphZnRlciB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgJ2ljb24nKTtcbiAgfVxuXG4gIC5tYXQtbWVudS1pdGVtOmhvdmVyLFxuICAubWF0LW1lbnUtaXRlbS5jZGstcHJvZ3JhbS1mb2N1c2VkLFxuICAubWF0LW1lbnUtaXRlbS5jZGsta2V5Ym9hcmQtZm9jdXNlZCxcbiAgLm1hdC1tZW51LWl0ZW0taGlnaGxpZ2h0ZWQge1xuICAgICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgJ2hvdmVyJyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtbWVudS10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1tZW51LWl0ZW0ge1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIGJvZHktMSk7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSk7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTEpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1tZW51LWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1tZW51LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1tZW51Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LW1lbnUtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1tZW51LWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtbWVudS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cbiRtYXQtcGFnaW5hdG9yLWhlaWdodDogNTZweCAhZGVmYXVsdDtcbi8vIE1pbmltdW0gaGVpZ2h0IGZvciBwYWdpbmF0b3IncyBpbiB0aGUgaGlnaGVzdCBkZW5zaXR5IGlzIGRldGVybWluZWQgYmFzZWQgb24gaG93XG4vLyBtdWNoIHRoZSBwYWdpbmF0b3IgY2FuIHNocmluayB1bnRpbCB0aGUgY29udGVudCBleGNlZWRzIChpLmUuIG5hdmlnYXRpb24gYnV0dG9ucykuXG4kbWF0LXBhZ2luYXRvci1taW5pbXVtLWhlaWdodDogNDBweCAhZGVmYXVsdDtcbiRtYXQtcGFnaW5hdG9yLW1heGltdW0taGVpZ2h0OiAkbWF0LXBhZ2luYXRvci1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRtYXQtcGFnaW5hdG9yLWRlbnNpdHktY29uZmlnOiAoXG4gIGhlaWdodDogKFxuICAgIGRlZmF1bHQ6ICRtYXQtcGFnaW5hdG9yLWhlaWdodCxcbiAgICBtYXhpbXVtOiAkbWF0LXBhZ2luYXRvci1tYXhpbXVtLWhlaWdodCxcbiAgICBtaW5pbXVtOiAkbWF0LXBhZ2luYXRvci1taW5pbXVtLWhlaWdodCxcbiAgKVxuKSAhZGVmYXVsdDtcblxuXG5AbWl4aW4gbWF0LXBhZ2luYXRvci1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG5cbiAgLm1hdC1wYWdpbmF0b3Ige1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgJ2NhcmQnKTtcbiAgfVxuXG4gIC5tYXQtcGFnaW5hdG9yLFxuICAubWF0LXBhZ2luYXRvci1wYWdlLXNpemUgLm1hdC1zZWxlY3QtdHJpZ2dlciB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICB9XG5cbiAgLm1hdC1wYWdpbmF0b3ItZGVjcmVtZW50LFxuICAubWF0LXBhZ2luYXRvci1pbmNyZW1lbnQge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCBtYXQtY29sb3IoJGZvcmVncm91bmQsICdpY29uJyk7XG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCAnaWNvbicpO1xuICB9XG5cbiAgLm1hdC1wYWdpbmF0b3ItZmlyc3QsXG4gIC5tYXQtcGFnaW5hdG9yLWxhc3Qge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCBtYXQtY29sb3IoJGZvcmVncm91bmQsICdpY29uJyk7XG4gIH1cblxuICAubWF0LWljb24tYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgLm1hdC1wYWdpbmF0b3ItZGVjcmVtZW50LFxuICAgIC5tYXQtcGFnaW5hdG9yLWluY3JlbWVudCxcbiAgICAubWF0LXBhZ2luYXRvci1maXJzdCxcbiAgICAubWF0LXBhZ2luYXRvci1sYXN0IHtcbiAgICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCAnZGlzYWJsZWQnKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1wYWdpbmF0b3ItdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtcGFnaW5hdG9yLFxuICAubWF0LXBhZ2luYXRvci1wYWdlLXNpemUgLm1hdC1zZWxlY3QtdHJpZ2dlciB7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgY2FwdGlvbik7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXBhZ2luYXRvci1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGRlbnNpdHktc2NhbGU6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRoZWlnaHQ6IG1hdC1wcml2YXRlLWRlbnNpdHktcHJvcC12YWx1ZSgkbWF0LXBhZ2luYXRvci1kZW5zaXR5LWNvbmZpZywgJGRlbnNpdHktc2NhbGUsIGhlaWdodCk7XG5cbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtZGVuc2l0eS1sZWdhY3ktY29tcGF0aWJpbGl0eSgpIHtcbiAgICAubWF0LXBhZ2luYXRvci1jb250YWluZXIge1xuICAgICAgbWluLWhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1wYWdpbmF0b3ItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXBhZ2luYXRvcicpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wYWdpbmF0b3ItY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXBhZ2luYXRvci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXBhZ2luYXRvci10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuQG1peGluIG1hdC1wcm9ncmVzcy1iYXItY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG5cbiAgLm1hdC1wcm9ncmVzcy1iYXItYmFja2dyb3VuZCB7XG4gICAgZmlsbDogbWF0LWNvbG9yKCRwcmltYXJ5LCBsaWdodGVyKTtcbiAgfVxuXG4gIC5tYXQtcHJvZ3Jlc3MtYmFyLWJ1ZmZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCBsaWdodGVyKTtcbiAgfVxuXG4gIC5tYXQtcHJvZ3Jlc3MtYmFyLWZpbGw6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnkpO1xuICB9XG5cbiAgLm1hdC1wcm9ncmVzcy1iYXIubWF0LWFjY2VudCB7XG4gICAgLm1hdC1wcm9ncmVzcy1iYXItYmFja2dyb3VuZCB7XG4gICAgICBmaWxsOiBtYXQtY29sb3IoJGFjY2VudCwgbGlnaHRlcik7XG4gICAgfVxuXG4gICAgLm1hdC1wcm9ncmVzcy1iYXItYnVmZmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYWNjZW50LCBsaWdodGVyKTtcbiAgICB9XG5cbiAgICAubWF0LXByb2dyZXNzLWJhci1maWxsOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1wcm9ncmVzcy1iYXIubWF0LXdhcm4ge1xuICAgIC5tYXQtcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQge1xuICAgICAgZmlsbDogbWF0LWNvbG9yKCR3YXJuLCBsaWdodGVyKTtcbiAgICB9XG5cbiAgICAubWF0LXByb2dyZXNzLWJhci1idWZmZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCR3YXJuLCBsaWdodGVyKTtcbiAgICB9XG5cbiAgICAubWF0LXByb2dyZXNzLWJhci1maWxsOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHdhcm4pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXByb2dyZXNzLWJhci10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LXByb2dyZXNzLWJhci1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtcHJvZ3Jlc3MtYmFyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1wcm9ncmVzcy1iYXInKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJvZ3Jlc3MtYmFyLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtcHJvZ3Jlc3MtYmFyLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJvZ3Jlc3MtYmFyLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbkBtaXhpbiBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcblxuICAubWF0LXByb2dyZXNzLXNwaW5uZXIsIC5tYXQtc3Bpbm5lciB7XG4gICAgY2lyY2xlIHtcbiAgICAgIHN0cm9rZTogbWF0LWNvbG9yKCRwcmltYXJ5KTtcbiAgICB9XG5cbiAgICAmLm1hdC1hY2NlbnQgY2lyY2xlIHtcbiAgICAgIHN0cm9rZTogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4gY2lyY2xlIHtcbiAgICAgIHN0cm9rZTogbWF0LWNvbG9yKCR3YXJuKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1wcm9ncmVzcy1zcGlubmVyLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIF9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtcHJvZ3Jlc3Mtc3Bpbm5lcicpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcm9ncmVzcy1zcGlubmVyLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXByb2dyZXNzLXNwaW5uZXItdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuQG1peGluIF9tYXQtcmFkaW8tY29sb3IoJHBhbGV0dGUpIHtcbiAgJi5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUpO1xuICB9XG5cbiAgLm1hdC1yYWRpby1pbm5lci1jaXJjbGUsXG4gIC5tYXQtcmFkaW8tcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQ6bm90KC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGUpLFxuICAmLm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGUsXG4gICY6YWN0aXZlIC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1yYWRpby1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICB9XG5cbiAgLm1hdC1yYWRpby1idXR0b24ge1xuICAgICYubWF0LXByaW1hcnkge1xuICAgICAgQGluY2x1ZGUgX21hdC1yYWRpby1jb2xvcigkcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtcmFkaW8tY29sb3IoJGFjY2VudCk7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXJhZGlvLWNvbG9yKCR3YXJuKTtcbiAgICB9XG5cbiAgICAvLyBUaGlzIG5lZWRzIGV4dHJhIHNwZWNpZmljaXR5LCBiZWNhdXNlIHRoZSBjbGFzc2VzIGFib3ZlIGFyZSBjb21iaW5lZFxuICAgIC8vIChlLmcuIGAubWF0LXJhZGlvLWJ1dHRvbi5tYXQtYWNjZW50YCkgd2hpY2ggaW5jcmVhc2VzIHRoZWlyIHNwZWNpZmljaXR5IGEgbG90LlxuICAgIC8vIFRPRE86IGNvbnNpZGVyIG1ha2luZyB0aGUgc2VsZWN0b3JzIGludG8gZGVzY2VuZGFudHMgKGAubWF0LXByaW1hcnkgLm1hdC1yYWRpby1idXR0b25gKS5cbiAgICAmLm1hdC1yYWRpby1kaXNhYmxlZCB7XG4gICAgICAmLm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlLFxuICAgICAgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUge1xuICAgICAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQpO1xuICAgICAgfVxuXG4gICAgICAubWF0LXJhZGlvLXJpcHBsZSAubWF0LXJpcHBsZS1lbGVtZW50LFxuICAgICAgLm1hdC1yYWRpby1pbm5lci1jaXJjbGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkKTtcbiAgICAgIH1cblxuICAgICAgLm1hdC1yYWRpby1sYWJlbC1jb250ZW50IHtcbiAgICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFN3aXRjaCB0aGlzIHRvIGEgc29saWQgY29sb3Igc2luY2Ugd2UncmUgdXNpbmcgYG9wYWNpdHlgXG4gICAgLy8gdG8gY29udHJvbCBob3cgb3BhcXVlIHRoZSByaXBwbGUgc2hvdWxkIGJlLlxuICAgIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm9yZWdyb3VuZCwgYmFzZSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcmFkaW8tdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtcmFkaW8tYnV0dG9uIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LXJhZGlvLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1yYWRpby10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtcmFkaW8nKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcmFkaW8tY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1yYWRpby1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXJhZGlvLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG5cbkBtaXhpbiBtYXQtc2VsZWN0LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG5cbiAgLm1hdC1zZWxlY3QtdmFsdWUge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG5cbiAgLm1hdC1zZWxlY3QtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiBtYXQtcHJpdmF0ZS1jb250cm9sLXBsYWNlaG9sZGVyLWNvbG9yKCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1zZWxlY3QtZGlzYWJsZWQgLm1hdC1zZWxlY3QtdmFsdWUge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuICB9XG5cbiAgLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtc2VsZWN0LXBhbmVsIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbig0LCAkY29uZmlnKTtcblxuICAgIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tbXVsdGlwbGUpIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgaG92ZXIsIDAuMTIpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZCB7XG4gICAgJi5tYXQtZm9jdXNlZCB7XG4gICAgICAmLm1hdC1wcmltYXJ5IC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICAgICAgY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSwgdGV4dCk7XG4gICAgICB9XG5cbiAgICAgICYubWF0LWFjY2VudCAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgdGV4dCk7XG4gICAgICB9XG5cbiAgICAgICYubWF0LXdhcm4gLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCR3YXJuLCB0ZXh0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWF0LXNlbGVjdC5tYXQtc2VsZWN0LWludmFsaWQgLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gICAgfVxuXG4gICAgLm1hdC1zZWxlY3QubWF0LXNlbGVjdC1kaXNhYmxlZCAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1zZWxlY3QtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC8vIFRoZSB1bml0LWxlc3MgbGluZS1oZWlnaHQgZnJvbSB0aGUgZm9udCBjb25maWcuXG4gICRsaW5lLWhlaWdodDogbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGlucHV0KTtcblxuICAubWF0LXNlbGVjdCB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtc2VsZWN0LXRyaWdnZXIge1xuICAgIGhlaWdodDogJGxpbmUtaGVpZ2h0ICogMWVtO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LXNlbGVjdC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtc2VsZWN0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1zZWxlY3QnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc2VsZWN0LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtc2VsZWN0LWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc2VsZWN0LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbkBtaXhpbiBtYXQtc2lkZW5hdi1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gICRkcmF3ZXItYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBkaWFsb2cpO1xuICAkZHJhd2VyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG9yOiAgbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBiYWNrZ3JvdW5kKTtcbiAgJGRyYXdlci1wdXNoLWJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZGlhbG9nKTtcbiAgJGRyYXdlci1zaWRlLWJvcmRlcjogc29saWQgMXB4IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG5cbiAgLm1hdC1kcmF3ZXItY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJhd2VyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG5cbiAgLm1hdC1kcmF3ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkcmF3ZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcblxuICAgICYubWF0LWRyYXdlci1wdXNoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkcmF3ZXItcHVzaC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cblxuICAgICY6bm90KC5tYXQtZHJhd2VyLXNpZGUpIHtcbiAgICAgIC8vIFRoZSBlbGV2YXRpb24gb2Ygei0xNiBpcyBub3RlZCBpbiB0aGUgZGVzaWduIHNwZWNpZmljYXRpb25zLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuaW8vZGVzaWduL2NvbXBvbmVudHMvbmF2aWdhdGlvbi1kcmF3ZXIuaHRtbFxuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtZWxldmF0aW9uKDE2LCAkY29uZmlnKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWRyYXdlci1zaWRlIHtcbiAgICBib3JkZXItcmlnaHQ6ICRkcmF3ZXItc2lkZS1ib3JkZXI7XG5cbiAgICAmLm1hdC1kcmF3ZXItZW5kIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAkZHJhd2VyLXNpZGUtYm9yZGVyO1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIFtkaXI9J3J0bCddIC5tYXQtZHJhd2VyLXNpZGUge1xuICAgIGJvcmRlci1sZWZ0OiAkZHJhd2VyLXNpZGUtYm9yZGVyO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcblxuICAgICYubWF0LWRyYXdlci1lbmQge1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICBib3JkZXItcmlnaHQ6ICRkcmF3ZXItc2lkZS1ib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1kcmF3ZXItYmFja2Ryb3AubWF0LWRyYXdlci1zaG93biB7XG4gICAgJG9wYWNpdHk6IDAuNjtcbiAgICAkYmFja2Ryb3AtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgY2FyZCwgJG9wYWNpdHkpO1xuXG4gICAgQGlmICh0eXBlLW9mKCRiYWNrZHJvcC1jb2xvcikgPT0gY29sb3IpIHtcbiAgICAgIC8vIFdlIHVzZSBpbnZlcnQoKSBoZXJlIHRvIGhhdmUgdGhlIGRhcmtlbiB0aGUgYmFja2dyb3VuZCBjb2xvciBleHBlY3RlZCB0byBiZSB1c2VkLiBJZiB0aGVcbiAgICAgIC8vIGJhY2tncm91bmQgaXMgbGlnaHQsIHdlIHVzZSBhIGRhcmsgYmFja2Ryb3AuIElmIHRoZSBiYWNrZ3JvdW5kIGlzIGRhcmssXG4gICAgICAvLyB3ZSB1c2UgYSBsaWdodCBiYWNrZHJvcC5cbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGludmVydCgkYmFja2Ryb3AtY29sb3IpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBJZiB3ZSBjb3VsZG4ndCByZXNvbHZlIHRoZSBiYWNrZHJvcCBjb2xvciB0byBhIGNvbG9yIHZhbHVlLCBmYWxsIGJhY2sgdG8gdXNpbmdcbiAgICAgIC8vIGBvcGFjaXR5YCB0byBtYWtlIGl0IG9wYXF1ZSBzaW5jZSBpdHMgZW5kIHZhbHVlIGNvdWxkIGJlIGEgc29saWQgY29sb3IuXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2Ryb3AtY29sb3I7XG4gICAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1zaWRlbmF2LXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIF9tYXQtc2lkZW5hdi1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtc2lkZW5hdi10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc2lkZW5hdicpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zaWRlbmF2LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtc2lkZW5hdi1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNpZGVuYXYtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5AbWl4aW4gX21hdC1zbGlkZS10b2dnbGUtY2hlY2tlZCgkcGFsZXR0ZSwgJHRodW1iLWNoZWNrZWQtaHVlKSB7XG4gICYubWF0LWNoZWNrZWQge1xuICAgIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgJHRodW1iLWNoZWNrZWQtaHVlKTtcbiAgICB9XG5cbiAgICAubWF0LXNsaWRlLXRvZ2dsZS1iYXIge1xuICAgICAgLy8gT3BhY2l0eSBpcyBkZXRlcm1pbmVkIGZyb20gdGhlIHNwZWNzIGZvciB0aGUgc2VsZWN0aW9uIGNvbnRyb2xzLlxuICAgICAgLy8gU2VlOiBodHRwczovL21hdGVyaWFsLmlvL2Rlc2lnbi9jb21wb25lbnRzL3NlbGVjdGlvbi1jb250cm9scy5odG1sI3NwZWNzXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUsICR0aHVtYi1jaGVja2VkLWh1ZSwgMC41NCk7XG4gICAgfVxuXG4gICAgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgICAvLyBTZXQgbm8gb3BhY2l0eSBmb3IgdGhlIHJpcHBsZXMgYmVjYXVzZSB0aGUgcmlwcGxlIG9wYWNpdHkgd2lsbCBiZSBhZGp1c3RlZCBkeW5hbWljYWxseVxuICAgICAgLy8gYmFzZWQgb24gdGhlIHR5cGUgb2YgaW50ZXJhY3Rpb24gd2l0aCB0aGUgc2xpZGUtdG9nZ2xlIChlLmcuIGZvciBob3ZlciwgZm9jdXMpXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUsICR0aHVtYi1jaGVja2VkLWh1ZSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtc2xpZGUtdG9nZ2xlLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRpcy1kYXJrOiBtYXAtZ2V0KCRjb25maWcsIGlzLWRhcmspO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC8vIENvbG9yIGh1ZXMgYXJlIGJhc2VkIG9uIHRoZSBzcGVjcyB3aGljaCBicmllZmx5IHNob3cgdGhlIGh1ZXMgdGhhdCBhcmUgYXBwbGllZCB0byBhIHN3aXRjaC5cbiAgLy8gVGhlIDIwMTggc3BlY3Mgbm8gbG9uZ2VyIGRlc2NyaWJlIGhvdyBkYXJrIHN3aXRjaGVzIHNob3VsZCBsb29rIGxpa2UuIER1ZSB0byB0aGUgbGFjayBvZlxuICAvLyBpbmZvcm1hdGlvbiBmb3IgZGFyayB0aGVtZWQgc3dpdGNoZXMsIHdlIHBhcnRpYWxseSBrZWVwIHRoZSBvbGQgYmVoYXZpb3IgdGhhdCBpcyBiYXNlZCBvblxuICAvLyB0aGUgcHJldmlvdXMgc3BlY2lmaWNhdGlvbnMuIEZvciB0aGUgY2hlY2tlZCBjb2xvciB3ZSBhbHdheXMgdXNlIHRoZSBgZGVmYXVsdGAgaHVlIGJlY2F1c2VcbiAgLy8gdGhhdCBmb2xsb3dzIE1EQyBhbmQgYWxzbyBtYWtlcyBpdCBlYXNpZXIgZm9yIHBlb3BsZSB0byBjcmVhdGUgYSBjdXN0b20gdGhlbWUgd2l0aG91dCBuZWVkaW5nXG4gIC8vIHRvIHNwZWNpZnkgZWFjaCBodWUgaW5kaXZpZHVhbGx5LlxuICAkdGh1bWItdW5jaGVja2VkLWh1ZTogaWYoJGlzLWRhcmssIDQwMCwgNTApO1xuICAkdGh1bWItY2hlY2tlZC1odWU6IGRlZmF1bHQ7XG5cbiAgJGJhci11bmNoZWNrZWQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQpO1xuICAkcmlwcGxlLXVuY2hlY2tlZC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBiYXNlKTtcblxuICAubWF0LXNsaWRlLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgX21hdC1zbGlkZS10b2dnbGUtY2hlY2tlZCgkYWNjZW50LCAkdGh1bWItY2hlY2tlZC1odWUpO1xuXG4gICAgJi5tYXQtcHJpbWFyeSB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNsaWRlLXRvZ2dsZS1jaGVja2VkKCRwcmltYXJ5LCAkdGh1bWItY2hlY2tlZC1odWUpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgQGluY2x1ZGUgX21hdC1zbGlkZS10b2dnbGUtY2hlY2tlZCgkd2FybiwgJHRodW1iLWNoZWNrZWQtaHVlKTtcbiAgICB9XG5cbiAgICAmOm5vdCgubWF0LWNoZWNrZWQpIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgICAgLy8gU2V0IG5vIG9wYWNpdHkgZm9yIHRoZSByaXBwbGVzIGJlY2F1c2UgdGhlIHJpcHBsZSBvcGFjaXR5IHdpbGwgYmUgYWRqdXN0ZWQgZHluYW1pY2FsbHlcbiAgICAgIC8vIGJhc2VkIG9uIHRoZSB0eXBlIG9mIGludGVyYWN0aW9uIHdpdGggdGhlIHNsaWRlLXRvZ2dsZSAoZS5nLiBmb3IgaG92ZXIsIGZvY3VzKVxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJpcHBsZS11bmNoZWNrZWQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWIge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLWVsZXZhdGlvbigxLCAkY29uZmlnKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJG1hdC1ncmV5LCAkdGh1bWItdW5jaGVja2VkLWh1ZSk7XG4gIH1cblxuICAubWF0LXNsaWRlLXRvZ2dsZS1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXItdW5jaGVja2VkLWNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtc2xpZGUtdG9nZ2xlLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50IHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LXNsaWRlLXRvZ2dsZS1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtc2xpZGUtdG9nZ2xlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1zbGlkZS10b2dnbGUnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc2xpZGUtdG9nZ2xlLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtc2xpZGUtdG9nZ2xlLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc2xpZGUtdG9nZ2xlLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuQG1peGluIF9tYXQtc2xpZGVyLWlubmVyLWNvbnRlbnQtdGhlbWUoJHBhbGV0dGUpIHtcbiAgLm1hdC1zbGlkZXItdHJhY2stZmlsbCxcbiAgLm1hdC1zbGlkZXItdGh1bWIsXG4gIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUpO1xuICB9XG5cbiAgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgZGVmYXVsdC1jb250cmFzdCk7XG4gIH1cblxuICAubWF0LXNsaWRlci1mb2N1cy1yaW5nIHtcbiAgICAkb3BhY2l0eTogMC4yO1xuICAgICRjb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCBkZWZhdWx0LCAkb3BhY2l0eSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gICAgLy8gYG1hdC1jb2xvcmAgdXNlcyBgcmdiYWAgZm9yIHRoZSBvcGFjaXR5IHdoaWNoIHdvbid0IHdvcmsgd2l0aFxuICAgIC8vIENTUyB2YXJpYWJsZXMgc28gd2UgbmVlZCB0byB1c2UgYG9wYWNpdHlgIGFzIGEgZmFsbGJhY2suXG4gICAgQGlmICh0eXBlLW9mKCRjb2xvcikgIT0gY29sb3IpIHtcbiAgICAgIG9wYWNpdHk6ICRvcGFjaXR5O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXNsaWRlci1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gICRtYXQtc2xpZGVyLW9mZi1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzbGlkZXItb2ZmKTtcbiAgJG1hdC1zbGlkZXItb2ZmLWZvY3VzZWQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2xpZGVyLW9mZi1hY3RpdmUpO1xuICAkbWF0LXNsaWRlci1kaXNhYmxlZC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzbGlkZXItb2ZmKTtcbiAgJG1hdC1zbGlkZXItbGFiZWxlZC1taW4tdmFsdWUtdGh1bWItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2xpZGVyLW1pbik7XG4gICRtYXQtc2xpZGVyLWxhYmVsZWQtbWluLXZhbHVlLXRodW1iLWxhYmVsLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNsaWRlci1vZmYpO1xuICAkbWF0LXNsaWRlci10aWNrLW9wYWNpdHk6IDAuNztcbiAgJG1hdC1zbGlkZXItdGljay1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBiYXNlLCAkbWF0LXNsaWRlci10aWNrLW9wYWNpdHkpO1xuICAkbWF0LXNsaWRlci10aWNrLXNpemU6IDJweDtcblxuICAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LXNsaWRlci1vZmYtY29sb3I7XG4gIH1cblxuICAubWF0LXByaW1hcnkge1xuICAgIEBpbmNsdWRlIF9tYXQtc2xpZGVyLWlubmVyLWNvbnRlbnQtdGhlbWUoJHByaW1hcnkpO1xuICB9XG5cbiAgLm1hdC1hY2NlbnQge1xuICAgIEBpbmNsdWRlIF9tYXQtc2xpZGVyLWlubmVyLWNvbnRlbnQtdGhlbWUoJGFjY2VudCk7XG4gIH1cblxuICAubWF0LXdhcm4ge1xuICAgIEBpbmNsdWRlIF9tYXQtc2xpZGVyLWlubmVyLWNvbnRlbnQtdGhlbWUoJHdhcm4pO1xuICB9XG5cbiAgLm1hdC1zbGlkZXI6aG92ZXIsXG4gIC5jZGstZm9jdXNlZCB7XG4gICAgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LXNsaWRlci1vZmYtZm9jdXNlZC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubWF0LXNsaWRlci1kaXNhYmxlZCB7XG4gICAgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZCxcbiAgICAubWF0LXNsaWRlci10cmFjay1maWxsLFxuICAgIC5tYXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYXQtc2xpZGVyLWRpc2FibGVkLWNvbG9yO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYXQtc2xpZGVyLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tYXQtc2xpZGVyLW1pbi12YWx1ZSB7XG4gICAgLm1hdC1zbGlkZXItZm9jdXMtcmluZyB7XG4gICAgICAkb3BhY2l0eTogMC4xMjtcbiAgICAgICRjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBiYXNlLCAkb3BhY2l0eSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIC8vIGBtYXQtY29sb3JgIHVzZXMgYHJnYmFgIGZvciB0aGUgb3BhY2l0eSB3aGljaCB3b24ndCB3b3JrIHdpdGhcbiAgICAgIC8vIENTUyB2YXJpYWJsZXMgc28gd2UgbmVlZCB0byB1c2UgYG9wYWNpdHlgIGFzIGEgZmFsbGJhY2suXG4gICAgICBAaWYgKHR5cGUtb2YoJGNvbG9yKSAhPSBjb2xvcikge1xuICAgICAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZyB7XG4gICAgICAubWF0LXNsaWRlci10aHVtYixcbiAgICAgIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1zbGlkZXItbGFiZWxlZC1taW4tdmFsdWUtdGh1bWItY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYuY2RrLWZvY3VzZWQge1xuICAgICAgICAubWF0LXNsaWRlci10aHVtYixcbiAgICAgICAgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYXQtc2xpZGVyLWxhYmVsZWQtbWluLXZhbHVlLXRodW1iLWxhYmVsLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZykge1xuICAgICAgLm1hdC1zbGlkZXItdGh1bWIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRtYXQtc2xpZGVyLW9mZi1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmLmNkay1mb2N1c2VkIHtcbiAgICAgICAgLm1hdC1zbGlkZXItdGh1bWIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJG1hdC1zbGlkZXItb2ZmLWZvY3VzZWQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmLm1hdC1zbGlkZXItZGlzYWJsZWQgLm1hdC1zbGlkZXItdGh1bWIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJG1hdC1zbGlkZXItZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWF0LXNsaWRlci1oYXMtdGlja3MgLm1hdC1zbGlkZXItd3JhcHBlcjo6YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogJG1hdC1zbGlkZXItdGljay1jb2xvcjtcblxuICAgIC8vIGBtYXQtY29sb3JgIHVzZXMgYHJnYmFgIGZvciB0aGUgb3BhY2l0eSB3aGljaCB3b24ndCB3b3JrIHdpdGhcbiAgICAvLyBDU1MgdmFyaWFibGVzIHNvIHdlIG5lZWQgdG8gdXNlIGBvcGFjaXR5YCBhcyBhIGZhbGxiYWNrLlxuICAgIEBpZiAodHlwZS1vZigkbWF0LXNsaWRlci10aWNrLWNvbG9yKSAhPSBjb2xvcikge1xuICAgICAgb3BhY2l0eTogJG1hdC1zbGlkZXItdGljay1vcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtc2xpZGVyLWhvcml6b250YWwgLm1hdC1zbGlkZXItdGlja3Mge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRtYXQtc2xpZGVyLXRpY2stY29sb3IsXG4gICAgICAgICRtYXQtc2xpZGVyLXRpY2stY29sb3IgJG1hdC1zbGlkZXItdGljay1zaXplLCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCk7XG4gICAgLy8gRmlyZWZveCBkb2Vzbid0IGRyYXcgdGhlIGdyYWRpZW50IGNvcnJlY3RseSB3aXRoICd0byByaWdodCdcbiAgICAvLyAoc2VlIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEzMTQzMTkpLlxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgwLjAwMDFkZWcsICRtYXQtc2xpZGVyLXRpY2stY29sb3IsXG4gICAgICAgICRtYXQtc2xpZGVyLXRpY2stY29sb3IgJG1hdC1zbGlkZXItdGljay1zaXplLCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCk7XG5cbiAgICAvLyBgbWF0LWNvbG9yYCB1c2VzIGByZ2JhYCBmb3IgdGhlIG9wYWNpdHkgd2hpY2ggd29uJ3Qgd29yayB3aXRoXG4gICAgLy8gQ1NTIHZhcmlhYmxlcyBzbyB3ZSBuZWVkIHRvIHVzZSBgb3BhY2l0eWAgYXMgYSBmYWxsYmFjay5cbiAgICBAaWYgKHR5cGUtb2YoJG1hdC1zbGlkZXItdGljay1jb2xvcikgIT0gY29sb3IpIHtcbiAgICAgIG9wYWNpdHk6ICRtYXQtc2xpZGVyLXRpY2stb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICAubWF0LXNsaWRlci12ZXJ0aWNhbCAubWF0LXNsaWRlci10aWNrcyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRtYXQtc2xpZGVyLXRpY2stY29sb3IsXG4gICAgICAgICRtYXQtc2xpZGVyLXRpY2stY29sb3IgJG1hdC1zbGlkZXItdGljay1zaXplLCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCk7XG5cbiAgICAvLyBgbWF0LWNvbG9yYCB1c2VzIGByZ2JhYCBmb3IgdGhlIG9wYWNpdHkgd2hpY2ggd29uJ3Qgd29yayB3aXRoXG4gICAgLy8gQ1NTIHZhcmlhYmxlcyBzbyB3ZSBuZWVkIHRvIHVzZSBgb3BhY2l0eWAgYXMgYSBmYWxsYmFjay5cbiAgICBAaWYgKHR5cGUtb2YoJG1hdC1zbGlkZXItdGljay1jb2xvcikgIT0gY29sb3IpIHtcbiAgICAgIG9wYWNpdHk6ICRtYXQtc2xpZGVyLXRpY2stb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1zbGlkZXItdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHQge1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBjYXB0aW9uKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfbWF0LXNsaWRlci1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtc2xpZGVyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1zbGlkZXInKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc2xpZGVyLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtc2xpZGVyLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc2xpZGVyLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbiRtYXQtc3RlcHBlci1oZWFkZXItaGVpZ2h0OiA3MnB4ICFkZWZhdWx0O1xuLy8gTWluaW11bSBoZWlnaHQgZm9yIGhpZ2hlc3QgZGVuc2l0eSBzdGVwcGVyJ3MgaXMgZGV0ZXJtaW5lZCBiYXNlZCBvbiBob3cgbXVjaFxuLy8gc3RlcHBlciBoZWFkZXJzIGNhbiBzaHJpbmsgdW50aWwgdGhlIHN0ZXAgaWNvbiBvciBzdGVwIGxhYmVsIGV4Y2VlZC4gV2UgY2FuJ3QgdXNlXG4vLyBhIHZhbHVlIGJlbG93IGA0MnB4YCBiZWNhdXNlIHRoZSBvcHRpb25hbCBsYWJlbCBmb3Igc3RlcHMgd291bGQgb3RoZXJ3aXNlIGV4Y2VlZC5cbiRtYXQtc3RlcHBlci1oZWFkZXItbWluaW11bS1oZWlnaHQ6IDQycHggIWRlZmF1bHQ7XG4kbWF0LXN0ZXBwZXItaGVhZGVyLW1heGltdW0taGVpZ2h0OiAkbWF0LXN0ZXBwZXItaGVhZGVyLWhlaWdodCAhZGVmYXVsdDtcblxuJG1hdC1zdGVwcGVyLWRlbnNpdHktY29uZmlnOiAoXG4gIGhlaWdodDogKFxuICAgIGRlZmF1bHQ6ICRtYXQtc3RlcHBlci1oZWFkZXItaGVpZ2h0LFxuICAgIG1heGltdW06ICRtYXQtc3RlcHBlci1oZWFkZXItbWF4aW11bS1oZWlnaHQsXG4gICAgbWluaW11bTogJG1hdC1zdGVwcGVyLWhlYWRlci1taW5pbXVtLWhlaWdodCxcbiAgKVxuKSAhZGVmYXVsdDtcblxuLy8gTm90ZTogVGhlc2UgdmFyaWFibGVzIGFyZSBub3QgZGVub3RlZCB3aXRoIGAhZGVmYXVsdGAgYmVjYXVzZSB0aGV5IGFyZSB1c2VkIGluIHRoZSBub24tdGhlbWVcbi8vIGNvbXBvbmVudCBzdHlsZXMuIE1vZGlmeWluZyB0aGVzZSB2YXJpYWJsZXMgZG9lcyBub3QgaGF2ZSB0aGUgZGVzaXJlZCBlZmZlY3QgZm9yIGNvbnN1bWVycy5cbiRtYXQtc3RlcHBlci1sYWJlbC1oZWFkZXItaGVpZ2h0OiAyNHB4O1xuJG1hdC1zdGVwcGVyLWxhYmVsLXBvc2l0aW9uLWJvdHRvbS10b3AtZ2FwOiAxNnB4O1xuJG1hdC1zdGVwcGVyLWxhYmVsLW1pbi13aWR0aDogNTBweDtcblxuJG1hdC12ZXJ0aWNhbC1zdGVwcGVyLWNvbnRlbnQtbWFyZ2luOiAzNnB4O1xuXG4kbWF0LXN0ZXBwZXItc2lkZS1nYXA6IDI0cHg7XG4kbWF0LXN0ZXBwZXItbGluZS13aWR0aDogMXB4O1xuJG1hdC1zdGVwcGVyLWxpbmUtZ2FwOiA4cHg7XG5cbiRtYXQtc3RlcC1zdWItbGFiZWwtZm9udC1zaXplOiAxMnB4O1xuJG1hdC1zdGVwLWhlYWRlci1pY29uLXNpemU6IDE2cHg7XG5cblxuQG1peGluIG1hdC1zdGVwcGVyLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG5cbiAgLm1hdC1zdGVwLWhlYWRlciB7XG4gICAgJi5jZGsta2V5Ym9hcmQtZm9jdXNlZCxcbiAgICAmLmNkay1wcm9ncmFtLWZvY3VzZWQsXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGhvdmVyKTtcbiAgICB9XG5cbiAgICAvLyBPbiB0b3VjaCBkZXZpY2VzIHRoZSA6aG92ZXIgc3RhdGUgd2lsbCBsaW5nZXIgb24gdGhlIGVsZW1lbnQgYWZ0ZXIgYSB0YXAuXG4gICAgLy8gUmVzZXQgaXQgdmlhIGBAbWVkaWFgIGFmdGVyIHRoZSBkZWNsYXJhdGlvbiwgYmVjYXVzZSB0aGUgbWVkaWEgcXVlcnkgaXNuJ3RcbiAgICAvLyBzdXBwb3J0ZWQgYnkgYWxsIGJyb3dzZXJzIHlldC5cbiAgICBAbWVkaWEgKGhvdmVyOiBub25lKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWF0LXN0ZXAtbGFiZWwsXG4gICAgLm1hdC1zdGVwLW9wdGlvbmFsIHtcbiAgICAgIC8vIFRPRE8oam9zZXBocGVycm90dCk6IFVwZGF0ZSB0byB1c2luZyBhIGNvcnJlY3RlZCBkaXNhYmxlZC10ZXh0IGNvbnRyYXN0XG4gICAgICAvLyBpbnN0ZWFkIG9mIHNlY29uZGFyeS10ZXh0LlxuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICAgIH1cblxuICAgIC5tYXQtc3RlcC1pY29uIHtcbiAgICAgIC8vIFRPRE8oam9zZXBocGVycm90dCk6IFVwZGF0ZSB0byB1c2luZyBhIGNvcnJlY3RlZCBkaXNhYmxlZC10ZXh0IGNvbnRyYXN0XG4gICAgICAvLyBpbnN0ZWFkIG9mIHNlY29uZGFyeS10ZXh0LlxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgICB9XG5cbiAgICAubWF0LXN0ZXAtaWNvbi1zZWxlY3RlZCxcbiAgICAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1kb25lLFxuICAgIC5tYXQtc3RlcC1pY29uLXN0YXRlLWVkaXQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5KTtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIGRlZmF1bHQtY29udHJhc3QpO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICAubWF0LXN0ZXAtaWNvbiB7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgICB9XG5cbiAgICAgIC5tYXQtc3RlcC1pY29uLXNlbGVjdGVkLFxuICAgICAgLm1hdC1zdGVwLWljb24tc3RhdGUtZG9uZSxcbiAgICAgIC5tYXQtc3RlcC1pY29uLXN0YXRlLWVkaXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCk7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiB7XG4gICAgICAubWF0LXN0ZXAtaWNvbiB7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIGRlZmF1bHQtY29udHJhc3QpO1xuICAgICAgfVxuXG4gICAgICAubWF0LXN0ZXAtaWNvbi1zZWxlY3RlZCxcbiAgICAgIC5tYXQtc3RlcC1pY29uLXN0YXRlLWRvbmUsXG4gICAgICAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1lZGl0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCR3YXJuKTtcbiAgICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hdC1zdGVwLWljb24tc3RhdGUtZXJyb3Ige1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCR3YXJuLCB0ZXh0KTtcbiAgICB9XG5cbiAgICAubWF0LXN0ZXAtbGFiZWwubWF0LXN0ZXAtbGFiZWwtYWN0aXZlIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICAgIH1cblxuICAgIC5tYXQtc3RlcC1sYWJlbC5tYXQtc3RlcC1sYWJlbC1lcnJvciB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCR3YXJuLCB0ZXh0KTtcbiAgICB9XG4gIH1cblxuICAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbCwgLm1hdC1zdGVwcGVyLXZlcnRpY2FsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuICB9XG5cbiAgLm1hdC1zdGVwcGVyLXZlcnRpY2FsLWxpbmU6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG4gIH1cblxuICAubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXI6OmJlZm9yZSxcbiAgLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyOjphZnRlcixcbiAgLm1hdC1zdGVwcGVyLWhvcml6b250YWwtbGluZSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXN0ZXBwZXItdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtc3RlcHBlci12ZXJ0aWNhbCwgLm1hdC1zdGVwcGVyLWhvcml6b250YWwge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LXN0ZXAtbGFiZWwge1xuICAgIGZvbnQ6IHtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMSk7XG4gICAgfTtcbiAgfVxuXG4gIC5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3Ige1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cblxuICAubWF0LXN0ZXAtbGFiZWwtZXJyb3Ige1xuICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTIpO1xuICB9XG5cbiAgLm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkIHtcbiAgICBmb250OiB7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMik7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTIpO1xuICAgIH07XG4gIH1cbn1cblxuQG1peGluIG1hdC1zdGVwcGVyLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkZGVuc2l0eS1zY2FsZTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGhlaWdodDogbWF0LXByaXZhdGUtZGVuc2l0eS1wcm9wLXZhbHVlKCRtYXQtc3RlcHBlci1kZW5zaXR5LWNvbmZpZywgJGRlbnNpdHktc2NhbGUsIGhlaWdodCk7XG4gICR2ZXJ0aWNhbC1wYWRkaW5nOiAoJGhlaWdodCAtICRtYXQtc3RlcHBlci1sYWJlbC1oZWFkZXItaGVpZ2h0KSAvIDI7XG5cbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtZGVuc2l0eS1sZWdhY3ktY29tcGF0aWJpbGl0eSgpIHtcbiAgICAubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXIge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cblxuICAgIC5tYXQtc3RlcHBlci1sYWJlbC1wb3NpdGlvbi1ib3R0b20gLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyLFxuICAgIC5tYXQtdmVydGljYWwtc3RlcHBlci1oZWFkZXIge1xuICAgICAgcGFkZGluZzogJHZlcnRpY2FsLXBhZGRpbmcgJG1hdC1zdGVwcGVyLXNpZGUtZ2FwO1xuICAgIH1cblxuICAgIC8vIEVuc3VyZXMgdGhhdCB0aGUgdmVydGljYWwgbGluZXMgZm9yIHRoZSBzdGVwIGNvbnRlbnQgZXhjZWVkIGludG8gdGhlIHN0ZXBcbiAgICAvLyBoZWFkZXJzIHdpdGggYSBnaXZlbiBkaXN0YW5jZSAoYCRtYXQtc3RlcHBlci1saW5lLWdhcGApIHRvIHRoZSBzdGVwIGljb24uXG4gICAgLm1hdC1zdGVwcGVyLXZlcnRpY2FsLWxpbmU6OmJlZm9yZSB7XG4gICAgICB0b3A6ICRtYXQtc3RlcHBlci1saW5lLWdhcCAtICR2ZXJ0aWNhbC1wYWRkaW5nO1xuICAgICAgYm90dG9tOiAkbWF0LXN0ZXBwZXItbGluZS1nYXAgLSAkdmVydGljYWwtcGFkZGluZztcbiAgICB9XG5cbiAgICAvLyBFbnN1cmVzIHRoYXQgdGhlIGhvcml6b250YWwgbGluZXMgZm9yIHRoZSBzdGVwIGhlYWRlciBhcmUgY2VudGVyZWQgdmVydGljYWxseS5cbiAgICAubWF0LXN0ZXBwZXItbGFiZWwtcG9zaXRpb24tYm90dG9tIC5tYXQtaG9yaXpvbnRhbC1zdGVwcGVyLWhlYWRlciB7XG4gICAgICAmOjphZnRlciwgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAkdmVydGljYWwtcGFkZGluZyArICRtYXQtc3RlcHBlci1sYWJlbC1oZWFkZXItaGVpZ2h0IC8gMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFbnN1cmVzIHRoYXQgdGhlIGhvcml6b250YWwgbGluZSBmb3IgdGhlIHN0ZXAgY29udGVudCBpcyBhbGlnbmVkIGNlbnRlcmVkIHZlcnRpY2FsbHkuXG4gICAgLm1hdC1zdGVwcGVyLWxhYmVsLXBvc2l0aW9uLWJvdHRvbSAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbC1saW5lIHtcbiAgICAgIHRvcDogJHZlcnRpY2FsLXBhZGRpbmcgKyAkbWF0LXN0ZXBwZXItbGFiZWwtaGVhZGVyLWhlaWdodCAvIDI7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtc3RlcHBlci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc3RlcHBlcicpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zdGVwcGVyLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zdGVwcGVyLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc3RlcHBlci10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbkBtaXhpbiBtYXQtc29ydC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1zb3J0LWhlYWRlci1hcnJvdyB7XG4gICAgJHRhYmxlLWJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgJ2NhcmQnKTtcbiAgICAkdGV4dC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG5cbiAgICAvLyBCZWNhdXNlIHRoZSBhcnJvdyBpcyBtYWRlIHVwIG9mIG11bHRpcGxlIGVsZW1lbnRzIHRoYXQgYXJlIHN0YWNrZWQgb24gdG9wIG9mIGVhY2ggb3RoZXIsXG4gICAgLy8gd2UgY2FuJ3QgdXNlIHRoZSBzZW1pLXRyYW5zcGFyZW50IGNvbG9yIGZyb20gdGhlIHRoZW1lIGRpcmVjdGx5LiBJZiB0aGUgdmFsdWUgaXMgYSBjb2xvclxuICAgIC8vICp0eXBlKiwgd2UgY29udmVydCBpdCBpbnRvIGEgc29saWQgY29sb3IgYnkgdGFraW5nIHRoZSBvcGFjaXR5IGZyb20gdGhlIHJnYmEgdmFsdWUgYW5kXG4gICAgLy8gdXNpbmcgdGhlIHZhbHVlIHRvIGRldGVybWluZSB0aGUgcGVyY2VudGFnZSBvZiB0aGUgYmFja2dyb3VuZCB0byBwdXQgaW50byBmb3JlZ3JvdW5kXG4gICAgLy8gd2hlbiBtaXhpbmcgdGhlIGNvbG9ycyB0b2dldGhlci4gT3RoZXJ3aXNlLCBpZiBpdCByZXNvbHZlcyB0byBzb21ldGhpbmcgZGlmZmVyZW50XG4gICAgLy8gKGUuZy4gaXQgcmVzb2x2ZXMgdG8gYSBDU1MgdmFyaWFibGUpLCB3ZSB1c2UgdGhlIGNvbG9yIGRpcmVjdGx5LlxuICAgIEBpZiAodHlwZS1vZigkdGFibGUtYmFja2dyb3VuZCkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJHRleHQtY29sb3IpID09IGNvbG9yKSB7XG4gICAgICAkdGV4dC1vcGFjaXR5OiBvcGFjaXR5KCR0ZXh0LWNvbG9yKTtcbiAgICAgIGNvbG9yOiBtaXgoJHRhYmxlLWJhY2tncm91bmQsIHJnYmEoJHRleHQtY29sb3IsIDEpLCAoMSAtICR0ZXh0LW9wYWNpdHkpICogMTAwJSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1zb3J0LXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIF9tYXQtc29ydC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtc29ydC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc29ydCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zb3J0LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtc29ydC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNvcnQtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuQG1peGluIG1hdC10YWJzLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRoZWFkZXItYm9yZGVyOiAxcHggc29saWQgbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcblxuICAubWF0LXRhYi1uYXYtYmFyLFxuICAubWF0LXRhYi1oZWFkZXIge1xuICAgIGJvcmRlci1ib3R0b206ICRoZWFkZXItYm9yZGVyO1xuICB9XG5cbiAgLm1hdC10YWItZ3JvdXAtaW52ZXJ0ZWQtaGVhZGVyIHtcbiAgICAubWF0LXRhYi1uYXYtYmFyLFxuICAgIC5tYXQtdGFiLWhlYWRlciB7XG4gICAgICBib3JkZXItdG9wOiAkaGVhZGVyLWJvcmRlcjtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLm1hdC10YWItbGFiZWwsIC5tYXQtdGFiLWxpbmsge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuXG4gICAgJi5tYXQtdGFiLWRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24ge1xuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24ge1xuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcbiAgfVxuXG4gIC8vIFJlbW92ZSBoZWFkZXIgYm9yZGVyIHdoZW4gdGhlcmUgaXMgYSBiYWNrZ3JvdW5kIGNvbG9yXG4gIC5tYXQtdGFiLWdyb3VwW2NsYXNzKj0nbWF0LWJhY2tncm91bmQtJ10gLm1hdC10YWItaGVhZGVyLFxuICAubWF0LXRhYi1uYXYtYmFyW2NsYXNzKj0nbWF0LWJhY2tncm91bmQtJ10ge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgfVxuXG4gIC5tYXQtdGFiLWdyb3VwLCAubWF0LXRhYi1uYXYtYmFyIHtcbiAgICAkdGhlbWUtY29sb3JzOiAoXG4gICAgICBwcmltYXJ5OiAkcHJpbWFyeSxcbiAgICAgIGFjY2VudDogJGFjY2VudCxcbiAgICAgIHdhcm46ICR3YXJuXG4gICAgKTtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgICAvLyBTZXQgdGhlIGZvcmVncm91bmQgY29sb3Igb2YgdGhlIHRhYnNcbiAgICAgICYubWF0LSN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgX21hdC10YWItbGFiZWwtZm9jdXMoJGNvbG9yKTtcbiAgICAgICAgQGluY2x1ZGUgX21hdC1pbmstYmFyKCRjb2xvcik7XG5cbiAgICAgICAgLy8gT3ZlcnJpZGUgaW5rIGJhciB3aGVuIGJhY2tncm91bmQgY29sb3IgaXMgdGhlIHNhbWVcbiAgICAgICAgJi5tYXQtYmFja2dyb3VuZC0jeyRuYW1lfSB7XG4gICAgICAgICAgPiAubWF0LXRhYi1oZWFkZXIsID4gLm1hdC10YWItbGluay1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgX21hdC1pbmstYmFyKCRjb2xvciwgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICAgIC8vIFNldCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSB0YWJzIGFuZCBvdmVycmlkZSBmb2N1cyBjb2xvclxuICAgICAgJi5tYXQtYmFja2dyb3VuZC0jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtdGFiLWxhYmVsLWZvY3VzKCRjb2xvcik7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtdGFicy1iYWNrZ3JvdW5kKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfbWF0LWluay1iYXIoJGNvbG9yLCAkaHVlOiBkZWZhdWx0KSB7XG4gIC5tYXQtaW5rLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRjb2xvciwgJGh1ZSk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtdGFiLWxhYmVsLWZvY3VzKCR0YWItZm9jdXMtY29sb3IpIHtcbiAgLm1hdC10YWItbGFiZWwsXG4gIC5tYXQtdGFiLWxpbmsge1xuICAgICYuY2RrLWtleWJvYXJkLWZvY3VzZWQsXG4gICAgJi5jZGstcHJvZ3JhbS1mb2N1c2VkIHtcbiAgICAgICY6bm90KC5tYXQtdGFiLWRpc2FibGVkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkdGFiLWZvY3VzLWNvbG9yLCBsaWdodGVyLCAwLjMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC10YWJzLWJhY2tncm91bmQoJGJhY2tncm91bmQtY29sb3IpIHtcbiAgLy8gTm90ZSB0aGF0IHRoZXNlIHNlbGVjdG9ycyB0YXJnZXQgZGlyZWN0IGRlc2NlbmRhbnRzIHNvXG4gIC8vIHRoYXQgdGhlIHN0eWxlcyBkb24ndCBhcHBseSB0byBhbnkgbmVzdGVkIHRhYiBncm91cHMuXG5cbiAgLy8gU2V0IGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0YWIgZ3JvdXBcbiAgPiAubWF0LXRhYi1oZWFkZXIsID4gLm1hdC10YWItbGluay1jb250YWluZXIsID4gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZC1jb2xvcik7XG4gIH1cblxuICAvLyBTZXQgbGFiZWxzIHRvIGNvbnRyYXN0IGFnYWluc3QgYmFja2dyb3VuZFxuICA+IC5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbCwgPiAubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXRhYi1saW5rIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLWNvbG9yLCBkZWZhdWx0LWNvbnRyYXN0KTtcblxuICAgICYubWF0LXRhYi1kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLWNvbG9yLCBkZWZhdWx0LWNvbnRyYXN0LCAwLjQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldCBwYWdpbmF0aW9uIGNoZXZyb25zIHRvIGNvbnRyYXN0IGJhY2tncm91bmRcbiAgPiAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLFxuICA+IC5tYXQtdGFiLWxpbmtzIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsXG4gID4gLm1hdC10YWItaGVhZGVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLWNvbG9yLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgfVxuXG4gID4gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQtY29sb3IsIGRlZmF1bHQtY29udHJhc3QsIDAuNCk7XG4gIH1cblxuICAvLyBTZXQgcmlwcGxlcyBjb2xvciB0byBiZSB0aGUgY29udHJhc3QgY29sb3Igb2YgdGhlIG5ldyBiYWNrZ3JvdW5kLiBPdGhlcndpc2UgdGhlIHJpcHBsZVxuICAvLyBjb2xvciB3aWxsIGJlIGJhc2VkIG9uIHRoZSBhcHAgYmFja2dyb3VuZCBjb2xvci5cbiAgPiAubWF0LXRhYi1oZWFkZXIgLm1hdC1yaXBwbGUtZWxlbWVudCxcbiAgPiAubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQtY29sb3IsIGRlZmF1bHQtY29udHJhc3QsIDAuMTIpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtdGFicy10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC10YWItZ3JvdXAge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LXRhYi1sYWJlbCwgLm1hdC10YWItbGluayB7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgYnV0dG9uKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYnV0dG9uKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJ1dHRvbik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfbWF0LXRhYnMtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXRhYnMtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXRhYnMnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdGFicy1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXRhYnMtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10YWJzLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuLy8gTWluaW11bSBoZWlnaHQgZm9yIHRvb2xiYXIncyBpbiB0aGUgaGlnaGVzdCBkZW5zaXR5IGlzIGRpZmZpY3VsdCB0byBkZXRlcm1pbmUgYmVjYXVzZVxuLy8gZGV2ZWxvcGVycyBjYW4gcHJvamVjdCBhcmJpdHJhcnkgY29udGVudC4gV2UgdXNlIGEgbWluaW11bSB2YWx1ZSB0aGF0IGVuc3VyZXMgdGhhdCBtb3N0XG4vLyBjb21tb24gY29udGVudCAoZS5nLiBpY29uIGJ1dHRvbnMpIGRvZXMgbm90IGV4Y2VlZCB0aGUgcm93IGJvdW5kYXJpZXMgaW4gaGlnaGVzdCBkZW5zaXR5LlxuJG1hdC10b29sYmFyLW1pbmltdW0taGVpZ2h0OiA0NHB4ICFkZWZhdWx0O1xuXG4kbWF0LXRvb2xiYXItaGVpZ2h0LWRlc2t0b3A6IDY0cHggIWRlZmF1bHQ7XG4kbWF0LXRvb2xiYXItbWF4aW11bS1oZWlnaHQtZGVza3RvcDogJG1hdC10b29sYmFyLWhlaWdodC1kZXNrdG9wICFkZWZhdWx0O1xuJG1hdC10b29sYmFyLW1pbmltdW0taGVpZ2h0LWRlc2t0b3A6ICRtYXQtdG9vbGJhci1taW5pbXVtLWhlaWdodCAhZGVmYXVsdDtcblxuJG1hdC10b29sYmFyLWhlaWdodC1tb2JpbGU6IDU2cHggIWRlZmF1bHQ7XG4kbWF0LXRvb2xiYXItbWF4aW11bS1oZWlnaHQtbW9iaWxlOiAkbWF0LXRvb2xiYXItaGVpZ2h0LW1vYmlsZSAhZGVmYXVsdDtcbiRtYXQtdG9vbGJhci1taW5pbXVtLWhlaWdodC1tb2JpbGU6ICRtYXQtdG9vbGJhci1taW5pbXVtLWhlaWdodCAhZGVmYXVsdDtcblxuJG1hdC10b29sYmFyLWRlc2t0b3AtZGVuc2l0eS1jb25maWc6IChcbiAgaGVpZ2h0OiAoXG4gICAgZGVmYXVsdDogJG1hdC10b29sYmFyLWhlaWdodC1kZXNrdG9wLFxuICAgIG1heGltdW06ICRtYXQtdG9vbGJhci1tYXhpbXVtLWhlaWdodC1kZXNrdG9wLFxuICAgIG1pbmltdW06ICRtYXQtdG9vbGJhci1taW5pbXVtLWhlaWdodC1kZXNrdG9wLFxuICApXG4pICFkZWZhdWx0O1xuXG4kbWF0LXRvb2xiYXItbW9iaWxlLWRlbnNpdHktY29uZmlnOiAoXG4gIGhlaWdodDogKFxuICAgIGRlZmF1bHQ6ICRtYXQtdG9vbGJhci1oZWlnaHQtbW9iaWxlLFxuICAgIG1heGltdW06ICRtYXQtdG9vbGJhci1tYXhpbXVtLWhlaWdodC1tb2JpbGUsXG4gICAgbWluaW11bTogJG1hdC10b29sYmFyLW1pbmltdW0taGVpZ2h0LW1vYmlsZSxcbiAgKVxuKSAhZGVmYXVsdDtcblxuXG5AbWl4aW4gX21hdC10b29sYmFyLWhlaWdodCgkaGVpZ2h0KSB7XG4gIC5tYXQtdG9vbGJhci1tdWx0aXBsZS1yb3dzIHtcbiAgICBtaW4taGVpZ2h0OiAkaGVpZ2h0O1xuICB9XG4gIC5tYXQtdG9vbGJhci1yb3csIC5tYXQtdG9vbGJhci1zaW5nbGUtcm93IHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtdG9vbGJhci1jb2xvcigkcGFsZXR0ZSkge1xuICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJHBhbGV0dGUpO1xuICBjb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCBkZWZhdWx0LWNvbnRyYXN0KTtcbn1cblxuQG1peGluIF9tYXQtdG9vbGJhci1mb3JtLWZpZWxkLW92ZXJyaWRlcyB7XG4gIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUsXG4gIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUsXG4gIC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtbGFiZWwsXG4gIC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtbGFiZWwsXG4gIC5tYXQtc2VsZWN0LXZhbHVlLFxuICAubWF0LXNlbGVjdC1hcnJvdyxcbiAgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuXG4gIC5tYXQtaW5wdXQtZWxlbWVudCB7XG4gICAgY2FyZXQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXRvb2xiYXItY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LXRvb2xiYXIge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgYXBwLWJhcik7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG5cbiAgICAmLm1hdC1wcmltYXJ5IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtdG9vbGJhci1jb2xvcigkcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtdG9vbGJhci1jb2xvcigkYWNjZW50KTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtdG9vbGJhci1jb2xvcigkd2Fybik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgX21hdC10b29sYmFyLWZvcm0tZmllbGQtb3ZlcnJpZGVzO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtdG9vbGJhci10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC10b29sYmFyLFxuICAubWF0LXRvb2xiYXIgaDEsXG4gIC5tYXQtdG9vbGJhciBoMixcbiAgLm1hdC10b29sYmFyIGgzLFxuICAubWF0LXRvb2xiYXIgaDQsXG4gIC5tYXQtdG9vbGJhciBoNSxcbiAgLm1hdC10b29sYmFyIGg2IHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgdGl0bGUpO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXRvb2xiYXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRkZW5zaXR5LXNjYWxlOiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkaGVpZ2h0LWRlc2t0b3A6IG1hdC1wcml2YXRlLWRlbnNpdHktcHJvcC12YWx1ZShcbiAgICAgICRtYXQtdG9vbGJhci1kZXNrdG9wLWRlbnNpdHktY29uZmlnLCAkZGVuc2l0eS1zY2FsZSwgaGVpZ2h0KTtcbiAgJGhlaWdodC1tb2JpbGU6IG1hdC1wcml2YXRlLWRlbnNpdHktcHJvcC12YWx1ZShcbiAgICAgICRtYXQtdG9vbGJhci1tb2JpbGUtZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBoZWlnaHQpO1xuXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gICAgLy8gU2V0IHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgdGhlIHRvb2xiYXIuXG4gICAgQGluY2x1ZGUgX21hdC10b29sYmFyLWhlaWdodCgkaGVpZ2h0LWRlc2t0b3ApO1xuXG4gICAgLy8gQXMgcGVyIHNwZWNzLCB0b29sYmFycyBzaG91bGQgaGF2ZSBhIGRpZmZlcmVudCBoZWlnaHQgaW4gbW9iaWxlIGRldmljZXMuIFRoaXMgaGFzIGJlZW5cbiAgICAvLyBzcGVjaWZpZWQgaW4gdGhlIG9sZCBndWlkZWxpbmVzIGFuZCBpcyBzdGlsbCBvYnNlcnZhYmxlIGluIHRoZSBuZXcgc3BlY2lmaWNhdGlvbnMgYnlcbiAgICAvLyBsb29raW5nIGF0IHRoZSBzcGVjIGltYWdlcy4gU2VlOiBodHRwczovL21hdGVyaWFsLmlvL2Rlc2lnbi9jb21wb25lbnRzL2FwcC1iYXJzLXRvcC5odG1sI2FuYXRvbXlcbiAgICBAbWVkaWEgKCRtYXQteHNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXRvb2xiYXItaGVpZ2h0KCRoZWlnaHQtbW9iaWxlKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC10b29sYmFyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC10b29sYmFyJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRvb2xiYXItY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRvb2xiYXItZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10b29sYmFyLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbiRtYXQtdG9vbHRpcC10YXJnZXQtaGVpZ2h0OiAyMnB4O1xuJG1hdC10b29sdGlwLWZvbnQtc2l6ZTogMTBweDtcbiRtYXQtdG9vbHRpcC12ZXJ0aWNhbC1wYWRkaW5nOiAoJG1hdC10b29sdGlwLXRhcmdldC1oZWlnaHQgLSAkbWF0LXRvb2x0aXAtZm9udC1zaXplKSAvIDI7XG5cbiRtYXQtdG9vbHRpcC1oYW5kc2V0LXRhcmdldC1oZWlnaHQ6IDMwcHg7XG4kbWF0LXRvb2x0aXAtaGFuZHNldC1mb250LXNpemU6IDE0cHg7XG4kbWF0LXRvb2x0aXAtaGFuZHNldC12ZXJ0aWNhbC1wYWRkaW5nOlxuICAgICgkbWF0LXRvb2x0aXAtaGFuZHNldC10YXJnZXQtaGVpZ2h0IC0gJG1hdC10b29sdGlwLWhhbmRzZXQtZm9udC1zaXplKSAvIDI7XG5cbkBtaXhpbiBtYXQtdG9vbHRpcC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcblxuICAubWF0LXRvb2x0aXAge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgdG9vbHRpcCwgMC45KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXRvb2x0aXAtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtdG9vbHRpcCB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgICBmb250LXNpemU6ICRtYXQtdG9vbHRpcC1mb250LXNpemU7XG4gICAgcGFkZGluZy10b3A6ICRtYXQtdG9vbHRpcC12ZXJ0aWNhbC1wYWRkaW5nO1xuICAgIHBhZGRpbmctYm90dG9tOiAkbWF0LXRvb2x0aXAtdmVydGljYWwtcGFkZGluZztcbiAgfVxuXG4gIC5tYXQtdG9vbHRpcC1oYW5kc2V0IHtcbiAgICBmb250LXNpemU6ICRtYXQtdG9vbHRpcC1oYW5kc2V0LWZvbnQtc2l6ZTtcbiAgICBwYWRkaW5nLXRvcDogJG1hdC10b29sdGlwLWhhbmRzZXQtdmVydGljYWwtcGFkZGluZztcbiAgICBwYWRkaW5nLWJvdHRvbTogJG1hdC10b29sdGlwLWhhbmRzZXQtdmVydGljYWwtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gX21hdC10b29sdGlwLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC10b29sdGlwLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC10b29sdGlwJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRvb2x0aXAtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC10b29sdGlwLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdG9vbHRpcC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuQG1peGluIG1hdC1zbmFjay1iYXItY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcblxuICAubWF0LXNuYWNrLWJhci1jb250YWluZXIge1xuICAgIC8vIFVzZSB0aGUgcHJpbWFyeSB0ZXh0IG9uIHRoZSBkYXJrIHRoZW1lLCBldmVuIHRob3VnaCB0aGUgbGlnaHRlciBvbmUgdXNlc1xuICAgIC8vIGEgc2Vjb25kYXJ5LCBiZWNhdXNlIHRoZSBjb250cmFzdCBvbiB0aGUgbGlnaHQgcHJpbWFyeSB0ZXh0IGlzIHBvb3IuXG4gICAgY29sb3I6IGlmKCRpcy1kYXJrLXRoZW1lLCAkZGFyay1wcmltYXJ5LXRleHQsICRsaWdodC1zZWNvbmRhcnktdGV4dCk7XG4gICAgYmFja2dyb3VuZDogaWYoJGlzLWRhcmstdGhlbWUsIG1hcC1nZXQoJG1hdC1ncmV5LCA1MCksICMzMjMyMzIpO1xuXG4gICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtZWxldmF0aW9uKDYsICRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uIHtcbiAgICBjb2xvcjogaWYoJGlzLWRhcmstdGhlbWUsIGluaGVyaXQsIG1hdC1jb2xvcigkYWNjZW50LCB0ZXh0KSk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1zbmFjay1iYXItdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtc2ltcGxlLXNuYWNrYmFyIHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBib2R5LTEpO1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiBpbmhlcml0O1xuICAgICAgc2l6ZTogaW5oZXJpdDtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJ1dHRvbik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfbWF0LXNuYWNrLWJhci1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtc25hY2stYmFyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1zbmFjay1iYXInKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc25hY2stYmFyLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtc25hY2stYmFyLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc25hY2stYmFyLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8vIFRoZW1lIHN0eWxlcyB0aGF0IG9ubHkgYXBwbHkgdG8gdGhlIGZpbGwgYXBwZWFyYW5jZSBvZiB0aGUgZm9ybS1maWVsZC5cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLWZpbGwtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCRjb25maWcsIGlzLWRhcmspO1xuXG4gICRmaWxsLWJhY2tncm91bmQ6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgYmFzZSwgaWYoJGlzLWRhcmstdGhlbWUsIDAuMSwgMC4wNCkpO1xuICAkZmlsbC1kaXNhYmxlZC1iYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGJhc2UsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjA1LCAwLjAyKSk7XG4gICR1bmRlcmxpbmUtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlciwgaWYoJGlzLWRhcmstdGhlbWUsIDAuNSwgMC40MikpO1xuICAkbGFiZWwtZGlzYWJsZWQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZpbGwtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWxsLWRpc2FibGVkLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1bmRlcmxpbmUtY29sb3I7XG4gICAgfVxuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCB7XG4gICAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGxhYmVsLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVXNlZCB0byBtYWtlIGluc3RhbmNlcyBvZiB0aGUgX21hdC1mb3JtLWZpZWxkLWxhYmVsLWZsb2F0aW5nIG1peGluIG5lZ2xpZ2libHkgZGlmZmVyZW50LFxuLy8gYW5kIHByZXZlbnQgR29vZ2xlJ3MgQ1NTIE9wdGltaXplciBmcm9tIGNvbGxhcHNpbmcgdGhlIGRlY2xhcmF0aW9ucy4gVGhpcyBpcyBuZWVkZWQgYmVjYXVzZSBzb21lXG4vLyBvZiB0aGUgc2VsZWN0b3JzIGNvbnRhaW4gcHNldWRvLWNsYXNzZXMgbm90IHJlY29nbml6ZWQgaW4gYWxsIGJyb3dzZXJzLiBJZiBhIGJyb3dzZXIgZW5jb3VudGVyc1xuLy8gYW4gdW5rbm93biBwc2V1ZG8tY2xhc3MgaXQgd2lsbCBkaXNjYXJkIHRoZSBlbnRpcmUgcnVsZSBzZXQuXG4kbWF0LWZvcm0tZmllbGQtZmlsbC1kZWR1cGU6IDA7XG5cbi8vIEFwcGxpZXMgYSBmbG9hdGluZyBsYWJlbCBhYm92ZSB0aGUgZm9ybSBmaWVsZCBjb250cm9sIGl0c2VsZi5cbkBtaXhpbiBfbWF0LWZvcm0tZmllbGQtZmlsbC1sYWJlbC1mbG9hdGluZygkZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGluZml4LW1hcmdpbi10b3AgLSAkaW5maXgtcGFkZGluZyArICRtYXQtZm9ybS1maWVsZC1maWxsLWRlZHVwZSlcbiAgICAgICAgICAgICBzY2FsZSgkZm9udC1zY2FsZSk7XG4gIHdpZHRoOiAxMDAlIC8gJGZvbnQtc2NhbGUgKyAkbWF0LWZvcm0tZmllbGQtZmlsbC1kZWR1cGU7XG5cbiAgJG1hdC1mb3JtLWZpZWxkLWZpbGwtZGVkdXBlOiAkbWF0LWZvcm0tZmllbGQtZmlsbC1kZWR1cGUgKyAwLjAwMDAxICFnbG9iYWw7XG59XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1maWxsLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAvLyBUaGUgdW5pdC1sZXNzIGxpbmUtaGVpZ2h0IGZyb20gdGhlIGZvbnQgY29uZmlnLlxuICAkbGluZS1oZWlnaHQ6IG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCBpbnB1dCk7XG4gIC8vIFRoZSBhbW91bnQgdG8gc2NhbGUgdGhlIGZvbnQgZm9yIHRoZSBmbG9hdGluZyBsYWJlbCBhbmQgc3Vic2NyaXB0LlxuICAkc3Vic2NyaXB0LWZvbnQtc2NhbGU6IDAuNzU7XG4gIC8vIFRoZSBwYWRkaW5nIG9uIHRvcCBvZiB0aGUgaW5maXguXG4gICRpbmZpeC1wYWRkaW5nLXRvcDogMC4yNWVtO1xuICAvLyBUaGUgcGFkZGluZyBiZWxvdyB0aGUgaW5maXguXG4gICRpbmZpeC1wYWRkaW5nLWJvdHRvbTogMC43NWVtO1xuICAvLyBUaGUgbWFyZ2luIGFwcGxpZWQgdG8gdGhlIGZvcm0tZmllbGQtaW5maXggdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIGZsb2F0aW5nIGxhYmVsLlxuICAkaW5maXgtbWFyZ2luLXRvcDogMWVtICogJGxpbmUtaGVpZ2h0ICogJHN1YnNjcmlwdC1mb250LXNjYWxlO1xuICAvLyBUaGUgYW1vdW50IHdlIG9mZnNldCB0aGUgbGFiZWwgZnJvbSB0aGUgaW5wdXQgdGV4dCBpbiB0aGUgZmlsbCBhcHBlYXJhbmNlLlxuICAkZmlsbC1hcHBlYXJhbmNlLWxhYmVsLW9mZnNldDogLTAuNWVtO1xuXG4gIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwge1xuICAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gICAgICBwYWRkaW5nOiAkaW5maXgtcGFkZGluZy10b3AgMCAkaW5maXgtcGFkZGluZy1ib3R0b20gMDtcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgdG9wOiAkaW5maXgtbWFyZ2luLXRvcCArICRpbmZpeC1wYWRkaW5nLXRvcDtcbiAgICAgIG1hcmdpbi10b3A6ICRmaWxsLWFwcGVhcmFuY2UtbGFiZWwtb2Zmc2V0O1xuICAgIH1cblxuICAgICYubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IHtcbiAgICAgICYubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1sYWJlbCxcbiAgICAgIC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWZpbGwtbGFiZWwtZmxvYXRpbmcoXG4gICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZy10b3AgKyAkZmlsbC1hcHBlYXJhbmNlLWxhYmVsLW9mZnNldCxcbiAgICAgICAgICAgICAgICAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNlcnZlci1zaWRlIHJlbmRlcmVkIG1hdElucHV0IHdpdGggYSBsYWJlbCBhdHRyaWJ1dGUgYnV0IGxhYmVsIG5vdCBzaG93blxuICAgICAgLy8gKHVzZWQgYXMgYSBwdXJlIENTUyBzdGFuZC1pbiBmb3IgbWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0KS5cbiAgICAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyXG4gICAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtZmlsbC1sYWJlbC1mbG9hdGluZyhcbiAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLXRvcCArICRmaWxsLWFwcGVhcmFuY2UtbGFiZWwtb2Zmc2V0LFxuICAgICAgICAgICAgICAgICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtZmlsbC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1maWxsLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1mb3JtLWZpZWxkLWZpbGwnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1maWxsLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtZmlsbC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtZmlsbC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuLy8gVGhlbWUgc3R5bGVzIHRoYXQgb25seSBhcHBseSB0byB0aGUgbGVnYWN5IGFwcGVhcmFuY2Ugb2YgdGhlIGZvcm0tZmllbGQuXG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1sZWdhY3ktY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCRjb25maWcsIGlzLWRhcmspO1xuXG4gICRsYWJlbC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gICR1bmRlcmxpbmUtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlciwgaWYoJGlzLWRhcmstdGhlbWUsIDAuNywgMC40MikpO1xuXG4gIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG4gICAgfVxuXG4gICAgLm1hdC1oaW50IHtcbiAgICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yO1xuICAgIH1cblxuICAgICYubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jb250cm9sLWRpc2FibGVkLXVuZGVybGluZSgkdW5kZXJsaW5lLWNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gVXNlZCB0byBtYWtlIGluc3RhbmNlcyBvZiB0aGUgX21hdC1mb3JtLWZpZWxkLWxhYmVsLWZsb2F0aW5nIG1peGluIG5lZ2xpZ2libHkgZGlmZmVyZW50LFxuLy8gYW5kIHByZXZlbnQgR29vZ2xlJ3MgQ1NTIE9wdGltaXplciBmcm9tIGNvbGxhcHNpbmcgdGhlIGRlY2xhcmF0aW9ucy4gVGhpcyBpcyBuZWVkZWQgYmVjYXVzZSBzb21lXG4vLyBvZiB0aGUgc2VsZWN0b3JzIGNvbnRhaW4gcHNldWRvLWNsYXNzZXMgbm90IHJlY29nbml6ZWQgaW4gYWxsIGJyb3dzZXJzLiBJZiBhIGJyb3dzZXIgZW5jb3VudGVyc1xuLy8gYW4gdW5rbm93biBwc2V1ZG8tY2xhc3MgaXQgd2lsbCBkaXNjYXJkIHRoZSBlbnRpcmUgcnVsZSBzZXQuXG4kbWF0LWZvcm0tZmllbGQtbGVnYWN5LWRlZHVwZTogMDtcblxuLy8gQXBwbGllcyBhIGZsb2F0aW5nIGxhYmVsIGFib3ZlIHRoZSBmb3JtIGZpZWxkIGNvbnRyb2wgaXRzZWxmLlxuQG1peGluIF9tYXQtZm9ybS1maWVsZC1sZWdhY3ktbGFiZWwtZmxvYXRpbmcoJGZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCkge1xuICAvLyBXZSB1c2UgcGVyc3BlY3RpdmUgdG8gZml4IHRoZSB0ZXh0IGJsdXJyaW5lc3MgYXMgZGVzY3JpYmVkIGhlcmU6XG4gIC8vIGh0dHA6Ly93d3cudXNlcmFnZW50bWFuLmNvbS9ibG9nLzIwMTQvMDUvMDQvZml4aW5nLXR5cG9ncmFwaHktaW5zaWRlLW9mLTItZC1jc3MtdHJhbnNmb3Jtcy9cbiAgLy8gVGhpcyByZXN1bHRzIGluIGEgc21hbGwgaml0dGVyIGFmdGVyIHRoZSBsYWJlbCBmbG9hdHMgb24gRmlyZWZveCwgd2hpY2ggdGhlXG4gIC8vIHRyYW5zbGF0ZVogZml4ZXMuXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGluZml4LW1hcmdpbi10b3AgLSAkaW5maXgtcGFkZGluZykgc2NhbGUoJGZvbnQtc2NhbGUpIHBlcnNwZWN0aXZlKDEwMHB4KVxuICB0cmFuc2xhdGVaKDAuMDAxcHggKyAkbWF0LWZvcm0tZmllbGQtbGVnYWN5LWRlZHVwZSk7XG4gIC8vIFRoZSB0cmlja3MgYWJvdmUgdXNlZCB0byBzbW9vdGggb3V0IHRoZSBhbmltYXRpb24gb24gY2hyb21lIGFuZCBmaXJlZm94IGFjdHVhbGx5IG1ha2UgdGhpbmdzXG4gIC8vIHdvcnNlIG9uIElFLCBzbyB3ZSBkb24ndCBpbmNsdWRlIHRoZW0gaW4gdGhlIElFIHZlcnNpb24uXG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRpbmZpeC1tYXJnaW4tdG9wIC0gJGluZml4LXBhZGRpbmcgKyAkbWF0LWZvcm0tZmllbGQtbGVnYWN5LWRlZHVwZSlcbiAgICAgICAgICAgICAgICAgIHNjYWxlKCRmb250LXNjYWxlKTtcblxuICB3aWR0aDogMTAwJSAvICRmb250LXNjYWxlICsgJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGU7XG5cbiAgJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGU6ICRtYXQtZm9ybS1maWVsZC1sZWdhY3ktZGVkdXBlICsgMC4wMDAwMSAhZ2xvYmFsO1xufVxuXG4vLyBTYW1lIGFzIG1peGluIGFib3ZlLCBidXQgb21pdHMgdGhlIHRyYW5zbGF0ZVogZm9yIHByaW50aW5nIHB1cnBvc2VzLlxuQG1peGluIF9tYXQtZm9ybS1maWVsZC1sZWdhY3ktbGFiZWwtZmxvYXRpbmctcHJpbnQoJGZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCkge1xuICAvLyBUaGlzIHJlc3VsdHMgaW4gYSBzbWFsbCBqaXR0ZXIgYWZ0ZXIgdGhlIGxhYmVsIGZsb2F0cyBvbiBGaXJlZm94LCB3aGljaCB0aGVcbiAgLy8gdHJhbnNsYXRlWiBmaXhlcy5cbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kaW5maXgtbWFyZ2luLXRvcCAtICRpbmZpeC1wYWRkaW5nICsgJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGUpXG4gICAgICAgICAgICAgICAgICBzY2FsZSgkZm9udC1zY2FsZSk7XG4gIC8vIFRoZSB0cmlja3MgYWJvdmUgdXNlZCB0byBzbW9vdGggb3V0IHRoZSBhbmltYXRpb24gb24gY2hyb21lIGFuZCBmaXJlZm94IGFjdHVhbGx5IG1ha2UgdGhpbmdzXG4gIC8vIHdvcnNlIG9uIElFLCBzbyB3ZSBkb24ndCBpbmNsdWRlIHRoZW0gaW4gdGhlIElFIHZlcnNpb24uXG4gICRtYXQtZm9ybS1maWVsZC1sZWdhY3ktZGVkdXBlOiAkbWF0LWZvcm0tZmllbGQtbGVnYWN5LWRlZHVwZSArIDAuMDAwMDEgIWdsb2JhbDtcbn1cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLy8gVGhlIHVuaXQtbGVzcyBsaW5lLWhlaWdodCBmcm9tIHRoZSBmb250IGNvbmZpZy5cbiAgJGxpbmUtaGVpZ2h0OiBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgaW5wdXQpO1xuICAvLyBUaGUgYW1vdW50IHRvIHNjYWxlIHRoZSBmb250IGZvciB0aGUgZmxvYXRpbmcgbGFiZWwgYW5kIHN1YnNjcmlwdC5cbiAgJHN1YnNjcmlwdC1mb250LXNjYWxlOiAwLjc1O1xuICAvLyBUaGUgYW1vdW50IG9mIHNwYWNlIGJldHdlZW4gdGhlIHRvcCBvZiB0aGUgbGluZSBhbmQgdGhlIHRvcCBvZiB0aGUgYWN0dWFsIHRleHRcbiAgLy8gKGFzIGEgZnJhY3Rpb24gb2YgdGhlIGZvbnQtc2l6ZSkuXG4gICRsaW5lLXNwYWNpbmc6ICgkbGluZS1oZWlnaHQgLSAxKSAvIDI7XG4gIC8vIFRoZSBwYWRkaW5nIG9uIHRoZSBpbmZpeC4gTW9ja3Mgc2hvdyBoYWxmIG9mIHRoZSB0ZXh0IHNpemUsIGJ1dCBzZWVtIHRvIG1lYXN1cmUgZnJvbSB0aGUgZWRnZVxuICAvLyBvZiB0aGUgdGV4dCBpdHNlbGYsIG5vdCB0aGUgZWRnZSBvZiB0aGUgbGluZTsgdGhlcmVmb3JlIHdlIHN1YnRyYWN0IG9mZiB0aGUgbGluZSBzcGFjaW5nLlxuICAkaW5maXgtcGFkZGluZzogMC41ZW0gLSAkbGluZS1zcGFjaW5nO1xuICAvLyBUaGUgbWFyZ2luIGFwcGxpZWQgdG8gdGhlIGZvcm0tZmllbGQtaW5maXggdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIGZsb2F0aW5nIGxhYmVsLlxuICAkaW5maXgtbWFyZ2luLXRvcDogMWVtICogJGxpbmUtaGVpZ2h0ICogJHN1YnNjcmlwdC1mb250LXNjYWxlO1xuICAvLyBUaGUgc3BhY2UgYmV0d2VlbiB0aGUgYm90dG9tIG9mIHRoZSAubWF0LWZvcm0tZmllbGQtZmxleCBhcmVhIGFuZCB0aGUgc3Vic2NyaXB0IHdyYXBwZXIuXG4gIC8vIE1vY2tzIHNob3cgaGFsZiBvZiB0aGUgdGV4dCBzaXplLCBidXQgdGhpcyBtYXJnaW4gaXMgYXBwbGllZCB0byBhbiBlbGVtZW50IHdpdGggdGhlIHN1YnNjcmlwdFxuICAvLyB0ZXh0IGZvbnQgc2l6ZSwgc28gd2UgbmVlZCB0byBkaXZpZGUgYnkgdGhlIHNjYWxlIGZhY3RvciB0byBtYWtlIGl0IGhhbGYgb2YgdGhlIG9yaWdpbmFsIHRleHRcbiAgLy8gc2l6ZS4gV2UgYWdhaW4gbmVlZCB0byBzdWJ0cmFjdCBvZmYgdGhlIGxpbmUgc3BhY2luZyBzaW5jZSB0aGUgbW9ja3MgbWVhc3VyZSB0byB0aGUgZWRnZSBvZiB0aGVcbiAgLy8gdGV4dCwgbm90IHRoZSAgZWRnZSBvZiB0aGUgbGluZS5cbiAgJHN1YnNjcmlwdC1tYXJnaW4tdG9wOiAwLjVlbSAvICRzdWJzY3JpcHQtZm9udC1zY2FsZSAtICgkbGluZS1zcGFjaW5nICogMik7XG4gIC8vIFRoZSBwYWRkaW5nIGFwcGxpZWQgdG8gdGhlIGZvcm0tZmllbGQtd3JhcHBlciB0byByZXNlcnZlIHNwYWNlIGZvciB0aGUgc3Vic2NyaXB0LCBzaW5jZSBpdCdzXG4gIC8vIGFic29sdXRlbHkgcG9zaXRpb25lZC4gVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mIHRoZSBzdWJzY3JpcHQncyBtYXJnaW4gYW5kIGxpbmUtaGVpZ2h0LCBidXQgd2VcbiAgLy8gbmVlZCB0byBtdWx0aXBseSBieSB0aGUgc3Vic2NyaXB0IGZvbnQgc2NhbGUgZmFjdG9yIHNpbmNlIHRoZSB3cmFwcGVyIGhhcyBhIGxhcmdlciBmb250IHNpemUuXG4gICR3cmFwcGVyLXBhZGRpbmctYm90dG9tOiAoJHN1YnNjcmlwdC1tYXJnaW4tdG9wICsgJGxpbmUtaGVpZ2h0KSAqICRzdWJzY3JpcHQtZm9udC1zY2FsZTtcblxuICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kge1xuICAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTtcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtaW5maXgge1xuICAgICAgcGFkZGluZzogJGluZml4LXBhZGRpbmcgMDtcbiAgICB9XG5cbiAgICAmLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCB7XG4gICAgICAmLm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsXG4gICAgICAubWF0LWlucHV0LXNlcnZlcjpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sZWdhY3ktbGFiZWwtZmxvYXRpbmcoXG4gICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgfVxuXG4gICAgICAvLyBAYnJlYWtpbmctY2hhbmdlIDguMC4wIHdpbGwgcmVseSBvbiBBdXRvZmlsbE1vbml0b3IgaW5zdGVhZC5cbiAgICAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclxuICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWxlZ2FjeS1sYWJlbC1mbG9hdGluZyhcbiAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNlcnZlci1zaWRlIHJlbmRlcmVkIG1hdElucHV0IHdpdGggYSBsYWJlbCBhdHRyaWJ1dGUgYnV0IGxhYmVsIG5vdCBzaG93blxuICAgICAgLy8gKHVzZWQgYXMgYSBwdXJlIENTUyBzdGFuZC1pbiBmb3IgbWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0KS5cbiAgICAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyXG4gICAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgdG9wOiAkaW5maXgtbWFyZ2luLXRvcCArICRpbmZpeC1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgICAgLy8gV2Ugd2FudCB0aGUgdW5kZXJsaW5lIHRvIHN0YXJ0IGF0IHRoZSBlbmQgb2YgdGhlIGNvbnRlbnQgYm94LCBub3QgdGhlIHBhZGRpbmcgYm94LFxuICAgICAgLy8gc28gd2UgbW92ZSBpdCB1cCBieSB0aGUgcGFkZGluZyBhbW91bnQuXG4gICAgICBib3R0b206ICR3cmFwcGVyLXBhZGRpbmctYm90dG9tO1xuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlciB7XG4gICAgICBtYXJnaW4tdG9wOiAkc3Vic2NyaXB0LW1hcmdpbi10b3A7XG5cbiAgICAgIC8vIFdlIHdhbnQgdGhlIHN1YnNjcmlwdCB0byBzdGFydCBhdCB0aGUgZW5kIG9mIHRoZSBjb250ZW50IGJveCwgbm90IHRoZSBwYWRkaW5nIGJveCxcbiAgICAgIC8vIHNvIHdlIG1vdmUgaXQgdXAgYnkgdGhlIHBhZGRpbmcgYW1vdW50IChhZGp1c3RlZCBmb3IgdGhlIHNtYWxsZXIgZm9udCBzaXplKTtcbiAgICAgIHRvcDogY2FsYygxMDAlIC0gI3skd3JhcHBlci1wYWRkaW5nLWJvdHRvbSAvICRzdWJzY3JpcHQtZm9udC1zY2FsZX0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIHRyYW5zbGF0ZVogY2F1c2VzIHRoZSBsYWJlbCB0byBub3QgYXBwZWFyIHdoaWxlIHByaW50aW5nLCBzbyB3ZSBvdmVycmlkZSBpdCB0byBub3RcbiAgLy8gYXBwbHkgdHJhbnNsYXRlWiB3aGlsZSBwcmludGluZ1xuICBAbWVkaWEgcHJpbnQge1xuICAgIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSB7XG4gICAgICAmLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCB7XG4gICAgICAgICYubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1sYWJlbCxcbiAgICAgICAgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sZWdhY3ktbGFiZWwtZmxvYXRpbmctcHJpbnQoXG4gICAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBAYnJlYWtpbmctY2hhbmdlIDguMC4wIHdpbGwgcmVseSBvbiBBdXRvZmlsbE1vbml0b3IgaW5zdGVhZC5cbiAgICAgICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2w6LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyXG4gICAgICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWxlZ2FjeS1sYWJlbC1mbG9hdGluZy1wcmludChcbiAgICAgICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNlcnZlci1zaWRlIHJlbmRlcmVkIG1hdElucHV0IHdpdGggYSBsYWJlbCBhdHRyaWJ1dGUgYnV0IGxhYmVsIG5vdCBzaG93blxuICAgICAgICAvLyAodXNlZCBhcyBhIHB1cmUgQ1NTIHN0YW5kLWluIGZvciBtYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQpLlxuICAgICAgICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclxuICAgICAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sZWdhY3ktbGFiZWwtZmxvYXRpbmctcHJpbnQoXG4gICAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtbGVnYWN5LWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtZm9ybS1maWVsZC1sZWdhY3knKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1sZWdhY3ktY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtZm9ybS1maWVsZC1sZWdhY3ktZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuLy8gVGhlbWUgc3R5bGVzIHRoYXQgb25seSBhcHBseSB0byB0aGUgb3V0bGluZSBhcHBlYXJhbmNlIG9mIHRoZSBmb3JtLWZpZWxkLlxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtb3V0bGluZS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCRjb25maWcsIGlzLWRhcmspO1xuXG4gICRsYWJlbC1kaXNhYmxlZC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcbiAgJG91dGxpbmUtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlciwgaWYoJGlzLWRhcmstdGhlbWUsIDAuMywgMC4xMikpO1xuICAkb3V0bGluZS1jb2xvci1ob3ZlcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyLCBpZigkaXMtZGFyay10aGVtZSwgMSwgMC44NykpO1xuICAkb3V0bGluZS1jb2xvci1wcmltYXJ5OiBtYXQtY29sb3IoJHByaW1hcnkpO1xuICAkb3V0bGluZS1jb2xvci1hY2NlbnQ6IG1hdC1jb2xvcigkYWNjZW50KTtcbiAgJG91dGxpbmUtY29sb3Itd2FybjogbWF0LWNvbG9yKCR3YXJuKTtcbiAgJG91dGxpbmUtY29sb3ItZGlzYWJsZWQ6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlciwgaWYoJGlzLWRhcmstdGhlbWUsIDAuMTUsIDAuMDYpKTtcblxuICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIHtcbiAgICAubWF0LWZvcm0tZmllbGQtb3V0bGluZSB7XG4gICAgICBjb2xvcjogJG91dGxpbmUtY29sb3I7XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2sge1xuICAgICAgY29sb3I6ICRvdXRsaW5lLWNvbG9yLWhvdmVyO1xuICAgIH1cblxuICAgICYubWF0LWZvY3VzZWQge1xuICAgICAgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2sge1xuICAgICAgICBjb2xvcjogJG91dGxpbmUtY29sb3ItcHJpbWFyeTtcbiAgICAgIH1cblxuICAgICAgJi5tYXQtYWNjZW50IC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNrIHtcbiAgICAgICAgY29sb3I6ICRvdXRsaW5lLWNvbG9yLWFjY2VudDtcbiAgICAgIH1cblxuICAgICAgJi5tYXQtd2FybiAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGljayB7XG4gICAgICAgIGNvbG9yOiAkb3V0bGluZS1jb2xvci13YXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENsYXNzIHJlcGVhdGVkIHNvIHRoYXQgcnVsZSBpcyBzcGVjaWZpYyBlbm91Z2ggdG8gb3ZlcnJpZGUgZm9jdXNlZCBhY2NlbnQgY29sb3IgY2FzZS5cbiAgICAmLm1hdC1mb3JtLWZpZWxkLWludmFsaWQubWF0LWZvcm0tZmllbGQtaW52YWxpZCB7XG4gICAgICAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGljayB7XG4gICAgICAgIGNvbG9yOiAkb3V0bGluZS1jb2xvci13YXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgICYubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQge1xuICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRsYWJlbC1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUge1xuICAgICAgICBjb2xvcjogJG91dGxpbmUtY29sb3ItZGlzYWJsZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFVzZWQgdG8gbWFrZSBpbnN0YW5jZXMgb2YgdGhlIF9tYXQtZm9ybS1maWVsZC1sYWJlbC1mbG9hdGluZyBtaXhpbiBuZWdsaWdpYmx5IGRpZmZlcmVudCxcbi8vIGFuZCBwcmV2ZW50IEdvb2dsZSdzIENTUyBPcHRpbWl6ZXIgZnJvbSBjb2xsYXBzaW5nIHRoZSBkZWNsYXJhdGlvbnMuIFRoaXMgaXMgbmVlZGVkIGJlY2F1c2Ugc29tZVxuLy8gb2YgdGhlIHNlbGVjdG9ycyBjb250YWluIHBzZXVkby1jbGFzc2VzIG5vdCByZWNvZ25pemVkIGluIGFsbCBicm93c2Vycy4gSWYgYSBicm93c2VyIGVuY291bnRlcnNcbi8vIGFuIHVua25vd24gcHNldWRvLWNsYXNzIGl0IHdpbGwgZGlzY2FyZCB0aGUgZW50aXJlIHJ1bGUgc2V0LlxuJG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZGVkdXBlOiAwO1xuXG4vLyBBcHBsaWVzIGEgZmxvYXRpbmcgbGFiZWwgYWJvdmUgdGhlIGZvcm0gZmllbGQgY29udHJvbCBpdHNlbGYuXG5AbWl4aW4gX21hdC1mb3JtLWZpZWxkLW91dGxpbmUtbGFiZWwtZmxvYXRpbmcoJGZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRpbmZpeC1tYXJnaW4tdG9wIC0gJGluZml4LXBhZGRpbmcgKyAkbWF0LWZvcm0tZmllbGQtb3V0bGluZS1kZWR1cGUpXG4gIHNjYWxlKCRmb250LXNjYWxlKTtcbiAgd2lkdGg6IDEwMCUgLyAkZm9udC1zY2FsZSArICRtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWRlZHVwZTtcblxuICAkbWF0LWZvcm0tZmllbGQtb3V0bGluZS1kZWR1cGU6ICRtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWRlZHVwZSArIDAuMDAwMDEgIWdsb2JhbDtcbn1cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC8vIFRoZSB1bml0LWxlc3MgbGluZS1oZWlnaHQgZnJvbSB0aGUgZm9udCBjb25maWcuXG4gICRsaW5lLWhlaWdodDogbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGlucHV0KTtcbiAgLy8gVGhlIGFtb3VudCB0byBzY2FsZSB0aGUgZm9udCBmb3IgdGhlIGZsb2F0aW5nIGxhYmVsIGFuZCBzdWJzY3JpcHQuXG4gICRzdWJzY3JpcHQtZm9udC1zY2FsZTogMC43NTtcbiAgLy8gVGhlIHBhZGRpbmcgYWJvdmUgYW5kIGJlbG93IHRoZSBpbmZpeC5cbiAgJGluZml4LXBhZGRpbmc6IDFlbTtcbiAgLy8gVGhlIG1hcmdpbiBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLWluZml4IHRvIHJlc2VydmUgc3BhY2UgZm9yIHRoZSBmbG9hdGluZyBsYWJlbC5cbiAgJGluZml4LW1hcmdpbi10b3A6IDFlbSAqICRsaW5lLWhlaWdodCAqICRzdWJzY3JpcHQtZm9udC1zY2FsZTtcbiAgLy8gVGhlIHNwYWNlIGJldHdlZW4gdGhlIGJvdHRvbSBvZiB0aGUgLm1hdC1mb3JtLWZpZWxkLWZsZXggYXJlYSBhbmQgdGhlIHN1YnNjcmlwdCB3cmFwcGVyLlxuICAvLyBNb2NrcyBzaG93IGhhbGYgb2YgdGhlIHRleHQgc2l6ZSwgYnV0IHRoaXMgbWFyZ2luIGlzIGFwcGxpZWQgdG8gYW4gZWxlbWVudCB3aXRoIHRoZSBzdWJzY3JpcHRcbiAgLy8gdGV4dCBmb250IHNpemUsIHNvIHdlIG5lZWQgdG8gZGl2aWRlIGJ5IHRoZSBzY2FsZSBmYWN0b3IgdG8gbWFrZSBpdCBoYWxmIG9mIHRoZSBvcmlnaW5hbCB0ZXh0XG4gIC8vIHNpemUuXG4gICRzdWJzY3JpcHQtbWFyZ2luLXRvcDogMC41ZW0gLyAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG4gIC8vIFRoZSBwYWRkaW5nIGFwcGxpZWQgdG8gdGhlIGZvcm0tZmllbGQtd3JhcHBlciB0byByZXNlcnZlIHNwYWNlIGZvciB0aGUgc3Vic2NyaXB0LCBzaW5jZSBpdCdzXG4gIC8vIGFic29sdXRlbHkgcG9zaXRpb25lZC4gVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mIHRoZSBzdWJzY3JpcHQncyBtYXJnaW4gYW5kIGxpbmUtaGVpZ2h0LCBidXQgd2VcbiAgLy8gbmVlZCB0byBtdWx0aXBseSBieSB0aGUgc3Vic2NyaXB0IGZvbnQgc2NhbGUgZmFjdG9yIHNpbmNlIHRoZSB3cmFwcGVyIGhhcyBhIGxhcmdlciBmb250IHNpemUuXG4gICR3cmFwcGVyLXBhZGRpbmctYm90dG9tOiAoJHN1YnNjcmlwdC1tYXJnaW4tdG9wICsgJGxpbmUtaGVpZ2h0KSAqICRzdWJzY3JpcHQtZm9udC1zY2FsZTtcbiAgLy8gVGhlIGFtb3VudCB3ZSBvZmZzZXQgdGhlIGxhYmVsIGZyb20gdGhlIGlucHV0IHRleHQgaW4gdGhlIG91dGxpbmUgYXBwZWFyYW5jZS5cbiAgJG91dGxpbmUtYXBwZWFyYW5jZS1sYWJlbC1vZmZzZXQ6IC0wLjI1ZW07XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLWluZml4IHtcbiAgICAgIHBhZGRpbmc6ICRpbmZpeC1wYWRkaW5nIDAgJGluZml4LXBhZGRpbmcgMDtcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgdG9wOiAkaW5maXgtbWFyZ2luLXRvcCArICRpbmZpeC1wYWRkaW5nO1xuICAgICAgbWFyZ2luLXRvcDogJG91dGxpbmUtYXBwZWFyYW5jZS1sYWJlbC1vZmZzZXQ7XG4gICAgfVxuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQge1xuICAgICAgJi5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuICAgICAgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtb3V0bGluZS1sYWJlbC1mbG9hdGluZyhcbiAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nICsgJG91dGxpbmUtYXBwZWFyYW5jZS1sYWJlbC1vZmZzZXQsXG4gICAgICAgICAgICAgICAgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgfVxuXG4gICAgICAvLyBTZXJ2ZXItc2lkZSByZW5kZXJlZCBtYXRJbnB1dCB3aXRoIGEgbGFiZWwgYXR0cmlidXRlIGJ1dCBsYWJlbCBub3Qgc2hvd25cbiAgICAgIC8vICh1c2VkIGFzIGEgcHVyZSBDU1Mgc3RhbmQtaW4gZm9yIG1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCkuXG4gICAgICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclxuICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLW91dGxpbmUtbGFiZWwtZmxvYXRpbmcoXG4gICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZyArICRvdXRsaW5lLWFwcGVhcmFuY2UtbGFiZWwtb2Zmc2V0LFxuICAgICAgICAgICAgICAgICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtb3V0bGluZS1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1mb3JtLWZpZWxkLW91dGxpbmUnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtb3V0bGluZS1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtb3V0bGluZS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuXG4vLyBUaGVtZSBzdHlsZXMgdGhhdCBvbmx5IGFwcGx5IHRvIHRoZSBzdGFuZGFyZCBhcHBlYXJhbmNlIG9mIHRoZSBmb3JtLWZpZWxkLlxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtc3RhbmRhcmQtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCRjb25maWcsIGlzLWRhcmspO1xuXG4gICR1bmRlcmxpbmUtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlciwgaWYoJGlzLWRhcmstdGhlbWUsIDAuNywgMC40MikpO1xuXG4gIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLXN0YW5kYXJkIHtcbiAgICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1bmRlcmxpbmUtY29sb3I7XG4gICAgfVxuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNvbnRyb2wtZGlzYWJsZWQtdW5kZXJsaW5lKCR1bmRlcmxpbmUtY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtc3RhbmRhcmQtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXByaXZhdGUtZm9ybS1maWVsZC1zdGFuZGFyZC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1zdGFuZGFyZC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtZm9ybS1maWVsZC1zdGFuZGFyZCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLXN0YW5kYXJkLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtc3RhbmRhcmQtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLXN0YW5kYXJkLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbG9yIHN0eWxlcyB0aGF0IGFwcGx5IHRvIGFsbCBhcHBlYXJhbmNlcyBvZiB0aGUgZm9ybS1maWVsZC5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcblxuICAvLyBMYWJlbCBjb2xvcnMuIFJlcXVpcmVkIGlzIHVzZWQgZm9yIHRoZSBgKmAgc3RhciBzaG93biBpbiB0aGUgbGFiZWwuXG4gICRsYWJlbC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCwgaWYoJGlzLWRhcmstdGhlbWUsIDAuNywgMC42KSk7XG4gICRmb2N1c2VkLWxhYmVsLWNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIHRleHQpO1xuICAkcmVxdWlyZWQtbGFiZWwtY29sb3I6IG1hdC1jb2xvcigkYWNjZW50LCB0ZXh0KTtcblxuICAvLyBVbmRlcmxpbmUgY29sb3JzLlxuICAkdW5kZXJsaW5lLWNvbG9yLWJhc2U6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlciwgaWYoJGlzLWRhcmstdGhlbWUsIDEsIDAuODcpKTtcbiAgJHVuZGVybGluZS1jb2xvci1hY2NlbnQ6IG1hdC1jb2xvcigkYWNjZW50LCB0ZXh0KTtcbiAgJHVuZGVybGluZS1jb2xvci13YXJuOiBtYXQtY29sb3IoJHdhcm4sIHRleHQpO1xuICAkdW5kZXJsaW5lLWZvY3VzZWQtY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSwgdGV4dCk7XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1oaW50IHtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgY29sb3I6ICRmb2N1c2VkLWxhYmVsLWNvbG9yO1xuXG4gICAgJi5tYXQtYWNjZW50IHtcbiAgICAgIGNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLWFjY2VudDtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIHtcbiAgICAgIGNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLXdhcm47XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1yZXF1aXJlZC1tYXJrZXIge1xuICAgIGNvbG9yOiAkcmVxdWlyZWQtbGFiZWwtY29sb3I7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLWJhc2U7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQge1xuICAgIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuZGVybGluZS1mb2N1c2VkLWNvbG9yO1xuXG4gICAgICAmLm1hdC1hY2NlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLWFjY2VudDtcbiAgICAgIH1cblxuICAgICAgJi5tYXQtd2FybiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1bmRlcmxpbmUtY29sb3Itd2FybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9jdXNlZDpub3QoLm1hdC1mb3JtLWZpZWxkLWludmFsaWQpIHtcbiAgICAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVyIHtcbiAgICAgIGNvbG9yOiAkdW5kZXJsaW5lLWZvY3VzZWQtY29sb3I7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXIge1xuICAgICAgY29sb3I6ICR1bmRlcmxpbmUtY29sb3ItYWNjZW50O1xuICAgIH1cblxuICAgICYubWF0LXdhcm4gLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlciB7XG4gICAgICBjb2xvcjogJHVuZGVybGluZS1jb2xvci13YXJuO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxpbmcgZm9yIHRoZSBlcnJvciBzdGF0ZSBvZiB0aGUgZm9ybSBmaWVsZC4gTm90ZSB0aGF0IHdoaWxlIHRoZSBzYW1lIGNhbiBiZVxuICAvLyBhY2hpZXZlZCB3aXRoIHRoZSBuZy0qIGNsYXNzZXMsIHdlIHVzZSB0aGlzIGFwcHJvYWNoIGluIG9yZGVyIHRvIGVuc3VyZSB0aGF0IHRoZSBzYW1lXG4gIC8vIGxvZ2ljIGlzIHVzZWQgdG8gc3R5bGUgdGhlIGVycm9yIHN0YXRlIGFuZCB0byBzaG93IHRoZSBlcnJvciBtZXNzYWdlcy5cbiAgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQge1xuICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJHVuZGVybGluZS1jb2xvci13YXJuO1xuXG4gICAgICAmLm1hdC1hY2NlbnQsXG4gICAgICAubWF0LWZvcm0tZmllbGQtcmVxdWlyZWQtbWFya2VyIHtcbiAgICAgICAgY29sb3I6ICR1bmRlcmxpbmUtY29sb3Itd2FybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtcmlwcGxlLFxuICAgIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUubWF0LWFjY2VudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLXdhcm47XG4gICAgfVxuICB9XG5cbiAgLm1hdC1lcnJvciB7XG4gICAgY29sb3I6ICR1bmRlcmxpbmUtY29sb3Itd2FybjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1jb2xvcigkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtc3RhbmRhcmQtY29sb3IoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWZpbGwtY29sb3IoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtY29sb3IoJGNvbmZpZyk7XG59XG5cbi8vIFVzZWQgdG8gbWFrZSBpbnN0YW5jZXMgb2YgdGhlIF9tYXQtZm9ybS1maWVsZC1sYWJlbC1mbG9hdGluZyBtaXhpbiBuZWdsaWdpYmx5IGRpZmZlcmVudCxcbi8vIGFuZCBwcmV2ZW50IEdvb2dsZSdzIENTUyBPcHRpbWl6ZXIgZnJvbSBjb2xsYXBzaW5nIHRoZSBkZWNsYXJhdGlvbnMuIFRoaXMgaXMgbmVlZGVkIGJlY2F1c2Ugc29tZVxuLy8gb2YgdGhlIHNlbGVjdG9ycyBjb250YWluIHBzZXVkby1jbGFzc2VzIG5vdCByZWNvZ25pemVkIGluIGFsbCBicm93c2Vycy4gSWYgYSBicm93c2VyIGVuY291bnRlcnNcbi8vIGFuIHVua25vd24gcHNldWRvLWNsYXNzIGl0IHdpbGwgZGlzY2FyZCB0aGUgZW50aXJlIHJ1bGUgc2V0LlxuJG1hdC1mb3JtLWZpZWxkLWRlZHVwZTogMDtcblxuLy8gQXBwbGllcyBhIGZsb2F0aW5nIGxhYmVsIGFib3ZlIHRoZSBmb3JtIGZpZWxkIGNvbnRyb2wgaXRzZWxmLlxuQG1peGluIF9tYXQtZm9ybS1maWVsZC1sYWJlbC1mbG9hdGluZygkZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGluZml4LW1hcmdpbi10b3AgLSAkaW5maXgtcGFkZGluZyArICRtYXQtZm9ybS1maWVsZC1kZWR1cGUpXG4gICAgICAgICAgICAgc2NhbGUoJGZvbnQtc2NhbGUpO1xuICB3aWR0aDogMTAwJSAvICRmb250LXNjYWxlICsgJG1hdC1mb3JtLWZpZWxkLWRlZHVwZTtcblxuICAkbWF0LWZvcm0tZmllbGQtZGVkdXBlOiAkbWF0LWZvcm0tZmllbGQtZGVkdXBlICsgMC4wMDAwMSAhZ2xvYmFsO1xufVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC8vIFRoZSB1bml0LWxlc3MgbGluZS1oZWlnaHQgZnJvbSB0aGUgZm9udCBjb25maWcuXG4gICRsaW5lLWhlaWdodDogbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGlucHV0KTtcblxuICAvLyBUaGUgYW1vdW50IHRvIHNjYWxlIHRoZSBmb250IGZvciB0aGUgZmxvYXRpbmcgbGFiZWwgYW5kIHN1YnNjcmlwdC5cbiAgJHN1YnNjcmlwdC1mb250LXNjYWxlOiAwLjc1O1xuICAvLyBUaGUgYW1vdW50IHRvIHNjYWxlIHRoZSBmb250IGZvciB0aGUgcHJlZml4IGFuZCBzdWZmaXggaWNvbnMuXG4gICRwcmVmaXgtc3VmZml4LWljb24tZm9udC1zY2FsZTogMS41O1xuXG4gIC8vIFRoZSBwYWRkaW5nIG9uIHRoZSBpbmZpeC4gTW9ja3Mgc2hvdyBoYWxmIG9mIHRoZSB0ZXh0IHNpemUuXG4gICRpbmZpeC1wYWRkaW5nOiAwLjVlbTtcbiAgLy8gVGhlIG1hcmdpbiBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLWluZml4IHRvIHJlc2VydmUgc3BhY2UgZm9yIHRoZSBmbG9hdGluZyBsYWJlbC5cbiAgJGluZml4LW1hcmdpbi10b3A6IDFlbSAqICRsaW5lLWhlaWdodCAqICRzdWJzY3JpcHQtZm9udC1zY2FsZTtcbiAgLy8gRm9udCBzaXplIHRvIHVzZSBmb3IgdGhlIGxhYmVsIGFuZCBzdWJzY3JpcHQgdGV4dC5cbiAgJHN1YnNjcmlwdC1mb250LXNpemU6ICRzdWJzY3JpcHQtZm9udC1zY2FsZSAqIDEwMCU7XG4gIC8vIEZvbnQgc2l6ZSB0byB1c2UgZm9yIHRoZSBmb3IgdGhlIHByZWZpeCBhbmQgc3VmZml4IGljb25zLlxuICAkcHJlZml4LXN1ZmZpeC1pY29uLWZvbnQtc2l6ZTogJHByZWZpeC1zdWZmaXgtaWNvbi1mb250LXNjYWxlICogMTAwJTtcbiAgLy8gVGhlIHNwYWNlIGJldHdlZW4gdGhlIGJvdHRvbSBvZiB0aGUgLm1hdC1mb3JtLWZpZWxkLWZsZXggYXJlYSBhbmQgdGhlIHN1YnNjcmlwdCB3cmFwcGVyLlxuICAvLyBNb2NrcyBzaG93IGhhbGYgb2YgdGhlIHRleHQgc2l6ZSwgYnV0IHRoaXMgbWFyZ2luIGlzIGFwcGxpZWQgdG8gYW4gZWxlbWVudCB3aXRoIHRoZSBzdWJzY3JpcHRcbiAgLy8gdGV4dCBmb250IHNpemUsIHNvIHdlIG5lZWQgdG8gZGl2aWRlIGJ5IHRoZSBzY2FsZSBmYWN0b3IgdG8gbWFrZSBpdCBoYWxmIG9mIHRoZSBvcmlnaW5hbCB0ZXh0XG4gIC8vIHNpemUuXG4gICRzdWJzY3JpcHQtbWFyZ2luLXRvcDogMC41ZW0gLyAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG4gIC8vIFRoZSBwYWRkaW5nIGFwcGxpZWQgdG8gdGhlIGZvcm0tZmllbGQtd3JhcHBlciB0byByZXNlcnZlIHNwYWNlIGZvciB0aGUgc3Vic2NyaXB0LCBzaW5jZSBpdCdzXG4gIC8vIGFic29sdXRlbHkgcG9zaXRpb25lZC4gVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mIHRoZSBzdWJzY3JpcHQncyBtYXJnaW4gYW5kIGxpbmUtaGVpZ2h0LCBidXQgd2VcbiAgLy8gbmVlZCB0byBtdWx0aXBseSBieSB0aGUgc3Vic2NyaXB0IGZvbnQgc2NhbGUgZmFjdG9yIHNpbmNlIHRoZSB3cmFwcGVyIGhhcyBhIGxhcmdlciBmb250IHNpemUuXG4gICR3cmFwcGVyLXBhZGRpbmctYm90dG9tOiAoJHN1YnNjcmlwdC1tYXJnaW4tdG9wICsgJGxpbmUtaGVpZ2h0KSAqICRzdWJzY3JpcHQtZm9udC1zY2FsZTtcblxuICAubWF0LWZvcm0tZmllbGQge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBpbnB1dCk7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtd3JhcHBlciB7XG4gICAgcGFkZGluZy1ib3R0b206ICR3cmFwcGVyLXBhZGRpbmctYm90dG9tO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLXByZWZpeCxcbiAgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeCB7XG4gICAgLy8gQWxsb3cgaWNvbnMgaW4gYSBwcmVmaXggb3Igc3VmZml4IHRvIGFkYXB0IHRvIHRoZSBjb3JyZWN0IHNpemUuXG4gICAgLm1hdC1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogJHByZWZpeC1zdWZmaXgtaWNvbi1mb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgIH1cblxuICAgIC8vIEFsbG93IGljb24gYnV0dG9ucyBpbiBhIHByZWZpeCBvciBzdWZmaXggdG8gYWRhcHQgdG8gdGhlIGNvcnJlY3Qgc2l6ZS5cbiAgICAubWF0LWljb24tYnV0dG9uIHtcbiAgICAgIGhlaWdodDogJHByZWZpeC1zdWZmaXgtaWNvbi1mb250LXNjYWxlICogMWVtO1xuICAgICAgd2lkdGg6ICRwcmVmaXgtc3VmZml4LWljb24tZm9udC1zY2FsZSAqIDFlbTtcblxuICAgICAgLm1hdC1pY29uIHtcbiAgICAgICAgaGVpZ2h0OiAkbGluZS1oZWlnaHQgKiAxZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWluZml4IHtcbiAgICBwYWRkaW5nOiAkaW5maXgtcGFkZGluZyAwO1xuICAgIC8vIFRocm93cyBvZmYgdGhlIGJhc2VsaW5lIGlmIHdlIGRvIGl0IGFzIGEgcmVhbCBtYXJnaW4sIHNvIHdlIGRvIGl0IGFzIGEgYm9yZGVyIGluc3RlYWQuXG4gICAgYm9yZGVyLXRvcDogJGluZml4LW1hcmdpbi10b3Agc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IHtcbiAgICAmLm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsXG4gICAgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgfVxuXG4gICAgLy8gU2VydmVyLXNpZGUgcmVuZGVyZWQgbWF0SW5wdXQgd2l0aCBhIGxhYmVsIGF0dHJpYnV0ZSBidXQgbGFiZWwgbm90IHNob3duXG4gICAgLy8gKHVzZWQgYXMgYSBwdXJlIENTUyBzdGFuZC1pbiBmb3IgbWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0KS5cbiAgICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclxuICAgICAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIge1xuICAgIHRvcDogLSRpbmZpeC1tYXJnaW4tdG9wO1xuICAgIHBhZGRpbmctdG9wOiAkaW5maXgtbWFyZ2luLXRvcDtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgdG9wOiAkaW5maXgtbWFyZ2luLXRvcCArICRpbmZpeC1wYWRkaW5nO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XG4gICAgLy8gV2Ugd2FudCB0aGUgdW5kZXJsaW5lIHRvIHN0YXJ0IGF0IHRoZSBlbmQgb2YgdGhlIGNvbnRlbnQgYm94LCBub3QgdGhlIHBhZGRpbmcgYm94LFxuICAgIC8vIHNvIHdlIG1vdmUgaXQgdXAgYnkgdGhlIHBhZGRpbmcgYW1vdW50LlxuICAgIGJvdHRvbTogJHdyYXBwZXItcGFkZGluZy1ib3R0b207XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXIge1xuICAgIGZvbnQtc2l6ZTogJHN1YnNjcmlwdC1mb250LXNpemU7XG4gICAgbWFyZ2luLXRvcDogJHN1YnNjcmlwdC1tYXJnaW4tdG9wO1xuXG4gICAgLy8gV2Ugd2FudCB0aGUgc3Vic2NyaXB0IHRvIHN0YXJ0IGF0IHRoZSBlbmQgb2YgdGhlIGNvbnRlbnQgYm94LCBub3QgdGhlIHBhZGRpbmcgYm94LFxuICAgIC8vIHNvIHdlIG1vdmUgaXQgdXAgYnkgdGhlIHBhZGRpbmcgYW1vdW50IChhZGp1c3RlZCBmb3IgdGhlIHNtYWxsZXIgZm9udCBzaXplKTtcbiAgICB0b3A6IGNhbGMoMTAwJSAtICN7JHdyYXBwZXItcGFkZGluZy1ib3R0b20gLyAkc3Vic2NyaXB0LWZvbnQtc2NhbGV9KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1zdGFuZGFyZC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1maWxsLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdHlwb2dyYXBoeSgkY29uZmlnKTtcbn1cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkZGVuc2l0eS1zY2FsZTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtZm9ybS1maWVsZC1sZWdhY3ktZGVuc2l0eSgkZGVuc2l0eS1zY2FsZSk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtc3RhbmRhcmQtZGVuc2l0eSgkZGVuc2l0eS1zY2FsZSk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtZmlsbC1kZW5zaXR5KCRkZW5zaXR5LXNjYWxlKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtZm9ybS1maWVsZC1vdXRsaW5lLWRlbnNpdHkoJGRlbnNpdHktc2NhbGUpO1xufVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWZvcm0tZmllbGQnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuJG1hdC10cmVlLW5vZGUtaGVpZ2h0OiA0OHB4ICFkZWZhdWx0O1xuLy8gTWluaW11bSBoZWlnaHQgZm9yIHRyZWUgbm9kZXMgaW4gaGlnaGVzdCBkZW5zaXR5IGlzIGRpZmZpY3VsdCB0byBkZXRlcm1pbmUgYXNcbi8vIGRldmVsb3BlcnMgY2FuIGRpc3BsYXkgYXJiaXRyYXJ5IGNvbnRlbnQuIFdlIHVzZSBhIG1pbmltdW0gaGVpZ2h0IHdoaWNoIGVuc3VyZXNcbi8vIHRoYXQgY29tbW9uIGNvbnRlbnQgcGxhY2VkIGluIHRyZWUgbm9kZXMgZG9lcyBub3QgZXhjZWVkIChlLmcuIGljb25zLCBjaGVja2JveGVzKS5cbiRtYXQtdHJlZS1ub2RlLW1pbmltdW0taGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuJG1hdC10cmVlLW5vZGUtbWF4aW11bS1oZWlnaHQ6ICRtYXQtdHJlZS1ub2RlLWhlaWdodCAhZGVmYXVsdDtcblxuJG1hdC10cmVlLWRlbnNpdHktY29uZmlnOiAoXG4gIGhlaWdodDogKFxuICAgIGRlZmF1bHQ6ICRtYXQtdHJlZS1ub2RlLWhlaWdodCxcbiAgICBtYXhpbXVtOiAkbWF0LXRyZWUtbm9kZS1tYXhpbXVtLWhlaWdodCxcbiAgICBtaW5pbXVtOiAkbWF0LXRyZWUtbm9kZS1taW5pbXVtLWhlaWdodCxcbiAgKVxuKSAhZGVmYXVsdDtcblxuXG5AbWl4aW4gbWF0LXRyZWUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtdHJlZSB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCAnY2FyZCcpO1xuICB9XG5cbiAgLm1hdC10cmVlLW5vZGUsXG4gIC5tYXQtbmVzdGVkLXRyZWUtbm9kZSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gIH1cbn1cblxuQG1peGluIG1hdC10cmVlLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXRyZWUge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LXRyZWUtbm9kZSxcbiAgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlIHtcbiAgICBmb250LXdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMSk7XG4gICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSk7XG4gIH1cbn1cblxuQG1peGluIG1hdC10cmVlLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkZGVuc2l0eS1zY2FsZTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGhlaWdodDogbWF0LXByaXZhdGUtZGVuc2l0eS1wcm9wLXZhbHVlKCRtYXQtdHJlZS1kZW5zaXR5LWNvbmZpZywgJGRlbnNpdHktc2NhbGUsIGhlaWdodCk7XG5cbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtZGVuc2l0eS1sZWdhY3ktY29tcGF0aWJpbGl0eSgpIHtcbiAgICAubWF0LXRyZWUtbm9kZSB7XG4gICAgICBtaW4taGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXRyZWUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXRyZWUnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdHJlZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdHJlZS1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRyZWUtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cbi8vIEluY2x1ZGVzIGFsbCBvZiB0aGUgdHlwb2dyYXBoaWMgc3R5bGVzLlxuQG1peGluIGFuZ3VsYXItbWF0ZXJpYWwtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lOiBudWxsKSB7XG4gICRjb25maWc6IGlmKG1hdC1wcml2YXRlLWlzLXRoZW1lLW9iamVjdCgkY29uZmlnLW9yLXRoZW1lKSxcbiAgICAgIG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSksICRjb25maWctb3ItdGhlbWUpO1xuXG4gIC8vIElmIG5vIGFjdHVhbCBjb2xvciBjb25maWd1cmF0aW9uIGhhcyBiZWVuIHNwZWNpZmllZCwgY3JlYXRlIGEgZGVmYXVsdCBvbmUuXG4gIEBpZiBub3QgJGNvbmZpZyB7XG4gICAgJGNvbmZpZzogbWF0LXR5cG9ncmFwaHktY29uZmlnKCk7XG4gIH1cblxuICAvLyBUT0RPOiBDT01QLTMwOTogRG8gbm90IHVzZSBpbmRpdmlkdWFsIG1peGlucy4gSW5zdGVhZCwgdXNlIHRoZSBhbGwtdGhlbWUgbWl4aW4gYW5kIG9ubHlcbiAgLy8gc3BlY2lmeSBhIGB0eXBvZ3JhcGh5YCBjb25maWcgd2hpbGUgc2V0dGluZyBgY29sb3JgIGFuZCBgZGVuc2l0eWAgdG8gYG51bGxgLiBUaGlzIGlzIGN1cnJlbnRseVxuICAvLyBub3QgcG9zc2libGUgYXMgaXQgd291bGQgaW50cm9kdWNlIGEgY2lyY3VsYXIgZGVwZW5kZW5jeSBmb3IgdHlwb2dyYXBoeSBiZWNhdXNlIHRoZSBgbWF0LWNvcmVgXG4gIC8vIG1peGluIHRoYXQgaXMgdHJhbnNpdGl2ZWx5IGxvYWRlZCBieSB0aGUgYGFsbC10aGVtZWAgZmlsZSwgaW1wb3J0cyBgYWxsLXR5cG9ncmFwaHlgIHdoaWNoXG4gIC8vIHdvdWxkIHRoZW4gbG9hZCBgYWxsLXRoZW1lYCBhZ2Fpbi4gVGhpcyB1bHRpbWF0ZWx5IHJlc3VsdHMgYSBjaXJjdWxhciBkZXBlbmRlbmN5LlxuXG4gIEBpbmNsdWRlIG1hdC1iYWRnZS10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtYmFzZS10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtYXV0b2NvbXBsZXRlLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1ib3R0b20tc2hlZXQtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWJ1dHRvbi10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtYnV0dG9uLXRvZ2dsZS10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtY2FyZC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtY2hlY2tib3gtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWNoaXBzLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1kaXZpZGVyLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC10YWJsZS10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZGF0ZXBpY2tlci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZGlhbG9nLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1leHBhbnNpb24tcGFuZWwtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWdyaWQtbGlzdC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtaWNvbi10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtaW5wdXQtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LW1lbnUtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXBhZ2luYXRvci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJvZ3Jlc3MtYmFyLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcm9ncmVzcy1zcGlubmVyLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1yYWRpby10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtc2VsZWN0LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1zaWRlbmF2LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1zbGlkZS10b2dnbGUtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXNsaWRlci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtc3RlcHBlci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtc29ydC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtdGFicy10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtdG9vbGJhci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtdG9vbHRpcC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtbGlzdC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtb3B0aW9uLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1vcHRncm91cC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtc25hY2stYmFyLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC10cmVlLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG59XG5cblxuLy8gTWl4aW4gdGhhdCByZW5kZXJzIGFsbCBvZiB0aGUgY29yZSBzdHlsZXMgdGhhdCBhcmUgbm90IHRoZW1lLWRlcGVuZGVudC5cbkBtaXhpbiBtYXQtY29yZSgkdHlwb2dyYXBoeS1jb25maWc6IG51bGwpIHtcbiAgQGluY2x1ZGUgYW5ndWxhci1tYXRlcmlhbC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5LWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1yaXBwbGUoKTtcbiAgQGluY2x1ZGUgY2RrLWExMXkoKTtcbiAgQGluY2x1ZGUgY2RrLW92ZXJsYXkoKTtcbiAgQGluY2x1ZGUgY2RrLXRleHQtZmllbGQoKTtcblxuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy1wb3NpdGlvbmluZygpO1xuICBAaW5jbHVkZSBfbWF0LW1kYy1jb3JlKCk7XG59XG5cbkBtaXhpbiBtYXQtY29yZS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAvLyBXcmFwcGVyIGVsZW1lbnQgdGhhdCBwcm92aWRlcyB0aGUgdGhlbWUgYmFja2dyb3VuZCB3aGVuIHRoZSB1c2VyJ3MgY29udGVudCBpc24ndFxuICAvLyBpbnNpZGUgb2YgYSBgbWF0LXNpZGVuYXYtY29udGFpbmVyYC4gTm90ZSB0aGF0IHdlIG5lZWQgdG8gZXhjbHVkZSB0aGUgYW1wZXJzYW5kXG4gIC8vIHNlbGVjdG9yIGluIGNhc2UgdGhlIG1peGluIGlzIGluY2x1ZGVkIGF0IHRoZSB0b3AgbGV2ZWwuXG4gIC5tYXQtYXBwLWJhY2tncm91bmQje2lmKCYsICcsICYubWF0LWFwcC1iYWNrZ3JvdW5kJywgJycpfSB7XG4gICAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGJhY2tncm91bmQpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG5cbiAgLy8gUHJvdmlkZXMgZXh0ZXJuYWwgQ1NTIGNsYXNzZXMgZm9yIGVhY2ggZWxldmF0aW9uIHZhbHVlLiBFYWNoIENTUyBjbGFzcyBpcyBmb3JtYXR0ZWQgYXNcbiAgLy8gYG1hdC1lbGV2YXRpb24teiR6VmFsdWVgIHdoZXJlIGAkelZhbHVlYCBjb3JyZXNwb25kcyB0byB0aGUgei1zcGFjZSB0byB3aGljaCB0aGUgZWxlbWVudCBpc1xuICAvLyBlbGV2YXRlZC5cbiAgQGZvciAkelZhbHVlIGZyb20gMCB0aHJvdWdoIDI0IHtcbiAgICAuI3skbWF0LWVsZXZhdGlvbi1wcmVmaXh9I3skelZhbHVlfSB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oJHpWYWx1ZSwgJGNvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFya2VyIHRoYXQgaXMgdXNlZCB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUgdXNlciBoYXMgYWRkZWQgYSB0aGVtZSB0byB0aGVpciBwYWdlLlxuICBAYXQtcm9vdCB7XG4gICAgLm1hdC10aGVtZS1sb2FkZWQtbWFya2VyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIE1peGluIHRoYXQgcmVuZGVycyBhbGwgb2YgdGhlIGNvcmUgc3R5bGVzIHRoYXQgZGVwZW5kIG9uIHRoZSB0aGVtZS5cbkBtaXhpbiBtYXQtY29yZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgLy8gV3JhcCB0aGUgc3ViLXRoZW1lIGluY2x1ZGVzIGluIHRoZSBkdXBsaWNhdGUgdGhlbWUgc3R5bGVzIG1peGluLiBUaGlzIGVuc3VyZXMgdGhhdFxuICAvLyB0aGVyZSB3b24ndCBiZSBtdWx0aXBsZSB3YXJuaW5ncy4gZS5nLiBpZiBgbWF0LWNvcmUtdGhlbWVgIHJlcG9ydHMgYSB3YXJuaW5nLCB0aGVuXG4gIC8vIHRoZSBpbXBvcnRlZCB0aGVtZXMgKHN1Y2ggYXMgYG1hdC1yaXBwbGUtdGhlbWVgKSBzaG91bGQgbm90IHJlcG9ydCBhZ2Fpbi5cbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtY29yZScpIHtcbiAgICBAaW5jbHVkZSBtYXQtcmlwcGxlLXRoZW1lKCR0aGVtZSk7XG4gICAgQGluY2x1ZGUgbWF0LW9wdGlvbi10aGVtZSgkdGhlbWUpO1xuICAgIEBpbmNsdWRlIG1hdC1vcHRncm91cC10aGVtZSgkdGhlbWUpO1xuICAgIEBpbmNsdWRlIG1hdC1wc2V1ZG8tY2hlY2tib3gtdGhlbWUoJHRoZW1lKTtcblxuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWNvcmUtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWl4aW4gdGhhdCByZW5kZXJzIGFsbCBvZiB0aGUgY29yZSBNREMgc3R5bGVzLiBQcml2YXRlIG1peGluIGluY2x1ZGVkIHdpdGggYG1hdC1jb3JlYC5cbkBtaXhpbiBfbWF0LW1kYy1jb3JlKCkge1xuICBAaW5jbHVkZSBfbWF0LW1kYy1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy1wb3NpdGlvbmluZygpO1xufVxuXG4vLyBNaXhpbiB0aGF0IGVuc3VyZXMgZm9jdXMgaW5kaWNhdG9yIGhvc3QgZWxlbWVudHMgYXJlIHBvc2l0aW9uZWQgc28gdGhhdCB0aGUgZm9jdXMgaW5kaWNhdG9yXG4vLyBwc2V1ZG8gZWxlbWVudCB3aXRoaW4gaXMgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgaG9zdC4gUHJpdmF0ZSBtaXhpbiBpbmNsdWRlZCB3aXRoaW5cbi8vIGBfbWF0LW1kYy1jb3JlYC5cbkBtaXhpbiBfbWF0LW1kYy1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy1wb3NpdGlvbmluZygpIHtcbiAgLm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLy8gQ3JlYXRlIGEgdGhlbWUuXG5AbWl4aW4gYW5ndWxhci1tYXRlcmlhbC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICRkZWR1cGUta2V5OiAnYW5ndWxhci1tYXRlcmlhbC10aGVtZSc7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZywgJGRlZHVwZS1rZXkpIHtcbiAgICBAaW5jbHVkZSBtYXQtY29yZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtYXV0b2NvbXBsZXRlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1iYWRnZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtYm90dG9tLXNoZWV0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1idXR0b24tdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWJ1dHRvbi10b2dnbGUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWNhcmQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWNoZWNrYm94LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1jaGlwcy10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtdGFibGUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWRhdGVwaWNrZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWRpYWxvZy10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtZGl2aWRlci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtZXhwYW5zaW9uLXBhbmVsLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1ncmlkLWxpc3QtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWljb24tdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWlucHV0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1saXN0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1tZW51LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1wYWdpbmF0b3ItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXByb2dyZXNzLWJhci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtcmFkaW8tdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXNlbGVjdC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtc2lkZW5hdi10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtc2xpZGUtdG9nZ2xlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1zbGlkZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXN0ZXBwZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXNvcnQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXRhYnMtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXRvb2xiYXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXRvb2x0aXAtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXRyZWUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXNuYWNrLWJhci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgfVxufVxuXG5cblxuLy8gSW5jbHVkZXMgYWxsIG9mIHRoZSBjb2xvciBzdHlsZXMuXG5AbWl4aW4gYW5ndWxhci1tYXRlcmlhbC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gIC8vIEluIGNhc2UgYSB0aGVtZSBvYmplY3QgaGFzIGJlZW4gcGFzc2VkIGluc3RlYWQgb2YgYSBjb25maWd1cmF0aW9uIGZvclxuICAvLyB0aGUgY29sb3Igc3lzdGVtLCBleHRyYWN0IHRoZSBjb2xvciBjb25maWcgZnJvbSB0aGUgdGhlbWUgb2JqZWN0LlxuICAkY29uZmlnOiBpZihtYXQtcHJpdmF0ZS1pcy10aGVtZS1vYmplY3QoJGNvbmZpZy1vci10aGVtZSksXG4gICAgICBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKSwgJGNvbmZpZy1vci10aGVtZSk7XG5cbiAgQGlmICRjb25maWcgPT0gbnVsbCB7XG4gICAgQGVycm9yICdObyBjb2xvciBjb25maWd1cmF0aW9uIHNwZWNpZmllZC4nO1xuICB9XG5cbiAgQGluY2x1ZGUgYW5ndWxhci1tYXRlcmlhbC10aGVtZSgoXG4gICAgY29sb3I6ICRjb25maWcsXG4gICAgdHlwb2dyYXBoeTogbnVsbCxcbiAgICBkZW5zaXR5OiBudWxsLFxuICApKTtcbn1cblxuXG5cblxuXG5cblxuXG5cblxuLy8gSW5jbHVkZXMgYWxsIG9mIHRoZSBkZW5zaXR5IHN0eWxlcy5cbkBtaXhpbiBhbmd1bGFyLW1hdGVyaWFsLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAvLyBJbiBjYXNlIGEgdGhlbWUgb2JqZWN0IGhhcyBiZWVuIHBhc3NlZCBpbnN0ZWFkIG9mIGEgY29uZmlndXJhdGlvbiBmb3JcbiAgLy8gdGhlIGRlbnNpdHkgc3lzdGVtLCBleHRyYWN0IHRoZSBkZW5zaXR5IGNvbmZpZyBmcm9tIHRoZSB0aGVtZSBvYmplY3QuXG4gICRjb25maWc6IGlmKG1hdC1wcml2YXRlLWlzLXRoZW1lLW9iamVjdCgkY29uZmlnLW9yLXRoZW1lKSxcbiAgICAgIG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJGNvbmZpZy1vci10aGVtZSksICRjb25maWctb3ItdGhlbWUpO1xuXG4gIEBpZiAkY29uZmlnID09IG51bGwge1xuICAgIEBlcnJvciAnTm8gZGVuc2l0eSBjb25maWd1cmF0aW9uIHNwZWNpZmllZC4nO1xuICB9XG5cbiAgLy8gVE9ETzogQ09NUC0zMDk6IERvIG5vdCB1c2UgaW5kaXZpZHVhbCBtaXhpbnMuIEluc3RlYWQsIHVzZSB0aGUgYWxsLXRoZW1lIG1peGluIGFuZCBvbmx5XG4gIC8vIHNwZWNpZnkgYSBgZGVuc2l0eWAgY29uZmlnIHdoaWxlIHNldHRpbmcgYGNvbG9yYCBhbmQgYHR5cG9ncmFwaHlgIHRvIGBudWxsYC4gVGhpcyBpcyBjdXJyZW50bHlcbiAgLy8gbm90IHBvc3NpYmxlIGFzIGl0IHdvdWxkIGludHJvZHVjZSBhIGNpcmN1bGFyIGRlcGVuZGVuY3kgZm9yIGRlbnNpdHkgYmVjYXVzZSB0aGUgYG1hdC1jb3JlYFxuICAvLyBtaXhpbiB0aGF0IGlzIHRyYW5zaXRpdmVseSBsb2FkZWQgYnkgdGhlIGBhbGwtdGhlbWVgIGZpbGUsIGltcG9ydHMgYGFsbC1kZW5zaXR5YCB3aGljaFxuICAvLyB3b3VsZCB0aGVuIGxvYWQgYGFsbC10aGVtZWAgYWdhaW4uIFRoaXMgdWx0aW1hdGVseSByZXN1bHRzIGEgY2lyY3VsYXIgZGVwZW5kZW5jeS5cblxuICBAaW5jbHVkZSBtYXQtZXhwYW5zaW9uLXBhbmVsLWRlbnNpdHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1zdGVwcGVyLWRlbnNpdHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC10b29sYmFyLWRlbnNpdHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC10cmVlLWRlbnNpdHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wYWdpbmF0b3ItZGVuc2l0eSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtZGVuc2l0eSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWJ1dHRvbi10b2dnbGUtZGVuc2l0eSgkY29uZmlnKTtcbn1cblxuXG5cbiIsIkBpbXBvcnQgXCJ+QGFuZ3VsYXIvbWF0ZXJpYWwvdGhlbWluZ1wiOyAvLyBQbHVzIGltcG9ydHMgZm9yIG90aGVyIGNvbXBvbmVudHMgaW4geW91ciBhcHAuXG4vLyBJbmNsdWRlIHRoZSBjb21tb24gc3R5bGVzIGZvciBBbmd1bGFyIE1hdGVyaWFsLiBXZSBpbmNsdWRlIHRoaXMgaGVyZSBzbyB0aGF0IHlvdSBvbmx5XG4vLyBoYXZlIHRvIGxvYWQgYSBzaW5nbGUgY3NzIGZpbGUgZm9yIEFuZ3VsYXIgTWF0ZXJpYWwgaW4geW91ciBhcHAuXG4vLyBCZSBzdXJlIHRoYXQgeW91IG9ubHkgZXZlciBpbmNsdWRlIHRoaXMgbWl4aW4gb25jZSFcbkBpbmNsdWRlIG1hdC1jb3JlKCk7IC8vIERlZmluZSB0aGUgcGFsZXR0ZXMgZm9yIHlvdXIgdGhlbWUgdXNpbmcgdGhlIE1hdGVyaWFsIERlc2lnbiBwYWxldHRlcyBhdmFpbGFibGUgaW4gcGFsZXR0ZS5zY3NzXG4vLyAoaW1wb3J0ZWQgYWJvdmUpLiBGb3IgZWFjaCBwYWxldHRlLCB5b3UgY2FuIG9wdGlvbmFsbHkgc3BlY2lmeSBhIGRlZmF1bHQsIGxpZ2h0ZXIsIGFuZCBkYXJrZXJcbi8vIGh1ZS4gQXZhaWxhYmxlIGNvbG9yIHBhbGV0dGVzOiBodHRwczovL21hdGVyaWFsLmlvL2Rlc2lnbi9jb2xvci9cblxuLyogRm9yIHVzZSBpbiBzcmMvbGliL2NvcmUvdGhlbWluZy9fcGFsZXR0ZS5zY3NzICovXG4vLyBQYWxldHRlIE1hdGVyaWFsIOKAlCBEQVJLIHRoZW1lLiBDZW50cm8gKDUwMCkgPSBUYWlsd2luZCBibHVlLTQwMCAoIzYwQTVGQSksXG4vLyB0b20gY2Fuw7RuaWNvIGRvIHN5c3RlbSBhY2NlbnQgbm8gZGFyayBtb2RlIChtZXNtbyBkbyBgJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmtgXG4vLyBlbSBgX2NvbG9ycy5zY3NzYCkuIEFBIGNvbnRyYSBvIGNhbnZhcyBlc2N1cm8gKH42LjQ6MSkgc2VtIHZpcmFyIG7DqW9uLlxuLy8gRXNjYWxhIGludGVpcmEgc2VndWUgYSBmYW3DrWxpYSBibHVlIFRhaWx3aW5kLlxuJG1kLW1jZ3BhbGV0dGUwOiAoXG4gICAgNTAgOiAjRUZGNkZGLFxuICAgIDEwMCA6ICNEQkVBRkUsXG4gICAgMjAwIDogI0JGREJGRSxcbiAgICAzMDAgOiAjOTNDNUZELFxuICAgIDQwMCA6ICM2MEE1RkEsXG4gICAgNTAwIDogIzYwQTVGQSxcbiAgICA2MDAgOiAjM0I4MkY2LFxuICAgIDcwMCA6ICMyNTYzRUIsXG4gICAgODAwIDogIzFENEVEOCxcbiAgICA5MDAgOiAjMUU0MEFGLFxuICAgIEExMDAgOiAjRUZGNkZGLFxuICAgIEEyMDAgOiAjQkZEQkZFLFxuICAgIEE0MDAgOiAjNjBBNUZBLFxuICAgIEE3MDAgOiAjMjU2M0VCLFxuICAgIC8vIFRleHRvIEJSQU5DTyBlbSA0MDAtOTAwIHByYSB1bmlmaWNhciB0b2RvIGJvdMOjbyBhY2NlbnQgbm8gZGFya1xuICAgIC8vIChwYXIgY29tIG8gYC5jaGFpci1idXR0b24tLXByaW1hcnlgIGN1c3RvbSBxdWUgYWdvcmEgdGFtYsOpbSB1c2FcbiAgICAvLyBicmFuY28pLiBUcmFkZS1vZmY6IGNvbnRyYXN0ZSB+NDoxIG5vIDQwMC81MDAgKGJsdWUtNDAwKSDigJQgYWJhaXhvXG4gICAgLy8gZGUgQUFBIG1hcyBkZW50cm8gZGEgdG9sZXLDom5jaWEgcHJhIHRleHRvIGdyYW5kZS9ib2xkIGRlIGJvdMOjby5cbiAgICBjb250cmFzdDogKFxuICAgICAgICA1MCA6ICMwMDAwMDAsXG4gICAgICAgIDEwMCA6ICMwMDAwMDAsXG4gICAgICAgIDIwMCA6ICMwMDAwMDAsXG4gICAgICAgIDMwMCA6ICMwMDAwMDAsXG4gICAgICAgIDQwMCA6ICNmZmZmZmYsXG4gICAgICAgIDUwMCA6ICNmZmZmZmYsXG4gICAgICAgIDYwMCA6ICNmZmZmZmYsXG4gICAgICAgIDcwMCA6ICNmZmZmZmYsXG4gICAgICAgIDgwMCA6ICNmZmZmZmYsXG4gICAgICAgIDkwMCA6ICNmZmZmZmYsXG4gICAgICAgIEExMDAgOiAjMDAwMDAwLFxuICAgICAgICBBMjAwIDogIzAwMDAwMCxcbiAgICAgICAgQTQwMCA6ICNmZmZmZmYsXG4gICAgICAgIEE3MDAgOiAjZmZmZmZmLFxuICAgIClcbik7XG5cbi8vIFBhbGV0dGUgTWF0ZXJpYWwg4oCUIExJR0hUIHRoZW1lLiBDZW50cm8gKDUwMCkgPSBUYWlsd2luZCBibHVlLTgwMCAoIzFFNDBBRiksXG4vLyB0b20gY2Fuw7RuaWNvIGRvIHN5c3RlbSBhY2NlbnQgY2FsaWJyYWRvIHByYSBBQUEgKH45OjEgdnMgYnJhbmNvKS4gVGV4dG9cbi8vIGJyYW5jbyBlbSA1MDAtOTAwLiBFc2NhbGEgaW50ZWlyYSBzZWd1ZSBhIGZhbcOtbGlhIGJsdWUgVGFpbHdpbmQgcHJhIGRhclxuLy8gZ3JhZGllbnRlIGNvZXJlbnRlIGRvIGhvdmVyLXBhbGUgYXTDqSBvIGRlZXAtbmF2eS5cbiRtZC1tY2dwYWxldHRlMTogKFxuICAgIDUwIDogI0VGRjZGRixcbiAgICAxMDAgOiAjREJFQUZFLFxuICAgIDIwMCA6ICNCRkRCRkUsXG4gICAgMzAwIDogIzkzQzVGRCxcbiAgICA0MDAgOiAjMjU2M0VCLFxuICAgIDUwMCA6ICMxRTQwQUYsXG4gICAgNjAwIDogIzFCM0E5RSxcbiAgICA3MDAgOiAjMTczNDhDLFxuICAgIDgwMCA6ICMxMzJCNzUsXG4gICAgOTAwIDogIzBGMjI1RSxcbiAgICBBMTAwIDogI0JGREJGRSxcbiAgICBBMjAwIDogIzYwQTVGQSxcbiAgICBBNDAwIDogIzI1NjNFQixcbiAgICBBNzAwIDogIzFFNDBBRixcbiAgICBjb250cmFzdDogKFxuICAgICAgICA1MCA6ICMwMDAwMDAsXG4gICAgICAgIDEwMCA6ICMwMDAwMDAsXG4gICAgICAgIDIwMCA6ICMwMDAwMDAsXG4gICAgICAgIDMwMCA6ICMwMDAwMDAsXG4gICAgICAgIDQwMCA6ICNmZmZmZmYsXG4gICAgICAgIDUwMCA6ICNmZmZmZmYsXG4gICAgICAgIDYwMCA6ICNmZmZmZmYsXG4gICAgICAgIDcwMCA6ICNmZmZmZmYsXG4gICAgICAgIDgwMCA6ICNmZmZmZmYsXG4gICAgICAgIDkwMCA6ICNmZmZmZmYsXG4gICAgICAgIEExMDAgOiAjMDAwMDAwLFxuICAgICAgICBBMjAwIDogIzAwMDAwMCxcbiAgICAgICAgQTQwMCA6ICNmZmZmZmYsXG4gICAgICAgIEE3MDAgOiAjZmZmZmZmLFxuICAgIClcbik7XG5cbiR0aGVtZS1wcmltYXJ5OiAoXG4gIDUwOiAjZTNlNWViLFxuICAxMDA6ICNiYWJmY2QsXG4gIDIwMDogIzhjOTVhYyxcbiAgMzAwOiAjNWU2YThiLFxuICA0MDA6ICMzYzRhNzIsXG4gIDUwMDogIzE5MmE1OSxcbiAgNjAwOiAjMTYyNTUxLFxuICA3MDA6ICMxMjFmNDgsXG4gIDgwMDogIzBlMTkzZSxcbiAgOTAwOiAjMDgwZjJlLFxuICBBMTAwOiAjNjg3ZGZmLFxuICBBMjAwOiAjMzU1MWZmLFxuICBBNDAwOiAjMDIyNWZmLFxuICBBNzAwOiAjMDAyMGU4LFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJHRoZW1lLXNlY29uZGFyeTogKFxuICA1MDogI2YwZjFmMyxcbiAgMTAwOiAjZGFkY2UxLFxuICAyMDA6ICNjMWM0Y2QsXG4gIDMwMDogI2E4YWNiOCxcbiAgNDAwOiAjOTY5YmE5LFxuICA1MDA6ICM4Mzg5OWEsXG4gIDYwMDogIzdiODE5MixcbiAgNzAwOiAjNzA3Njg4LFxuICA4MDA6ICM2NjZjN2UsXG4gIDkwMDogIzUzNTk2YyxcbiAgQTEwMDogI2Q1ZGZmZSxcbiAgQTIwMDogI2EzYjhmZCxcbiAgQTQwMDogIzZlOTBmZixcbiAgQTcwMDogIzU1N2NmZixcbiAgY29udHJhc3Q6IChcbiAgICA1MDogIzAwMDAwMCxcbiAgICAxMDA6ICMwMDAwMDAsXG4gICAgMjAwOiAjMDAwMDAwLFxuICAgIDMwMDogIzAwMDAwMCxcbiAgICA0MDA6ICNmZmZmZmYsXG4gICAgNTAwOiAjZmZmZmZmLFxuICAgIDYwMDogI2ZmZmZmZixcbiAgICA3MDA6ICNmZmZmZmYsXG4gICAgODAwOiAjZmZmZmZmLFxuICAgIDkwMDogI2ZmZmZmZixcbiAgICBBMTAwOiAjMDAwMDAwLFxuICAgIEEyMDA6ICMwMDAwMDAsXG4gICAgQTQwMDogIzAwMDAwMCxcbiAgICBBNzAwOiAjZmZmZmZmXG4gIClcbik7XG5cbiR0aGVtZS13YXJuOiAoXG4gIDUwOiAjZjllM2UzLFxuICAxMDA6ICNmMGI5YjksXG4gIDIwMDogI2U3OGE4YSxcbiAgMzAwOiAjZGQ1YjViLFxuICA0MDA6ICNlNDNiM2IsXG4gIDUwMDogI2U5MTQxNCxcbiAgNjAwOiAjZDMxNDE0LFxuICA3MDA6ICNjMjBlMGUsXG4gIDgwMDogI2JjMGIwYixcbiAgOTAwOiAjYjAwNjA2LFxuICBBMTAwOiAjZmZkYmRiLFxuICBBMjAwOiAjZmZhOGE4LFxuICBBNDAwOiAjZmY3NTc1LFxuICBBNzAwOiAjZmY1YjViLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAjMDAwMDAwLFxuICAgIDEwMDogIzAwMDAwMCxcbiAgICAyMDA6ICMwMDAwMDAsXG4gICAgMzAwOiAjMDAwMDAwLFxuICAgIDQwMDogI2ZmZmZmZixcbiAgICA1MDA6ICNmZmZmZmYsXG4gICAgNjAwOiAjZmZmZmZmLFxuICAgIDcwMDogI2ZmZmZmZixcbiAgICA4MDA6ICNmZmZmZmYsXG4gICAgOTAwOiAjZmZmZmZmLFxuICAgIEExMDA6ICMwMDAwMDAsXG4gICAgQTIwMDogIzAwMDAwMCxcbiAgICBBNDAwOiAjMDAwMDAwLFxuICAgIEE3MDA6ICMwMDAwMDAsXG4gIClcbik7XG4vLyBHZWlzdCBTYW5zICh2YXJpYWJsZSwgVmVyY2VsLCAyMDIzKSBhcyB0aGUgcHJpbWFyeSBVSSBmb250LiBQcm92aWRlc1xuLy8gY3Jvc3MtT1MgY29uc2lzdGVuY3kgc2ltaWxhciB0byB3aGF0IENsYXVkZS5haSAvIExpbmVhciAvIFZlcmNlbCBhY2hpZXZlXG4vLyB3aXRoIGNvbW1lcmNpYWwgU8O2aG5lLiBTeXN0ZW0gZm9udHMgcmVtYWluIGFzIGZhbGxiYWNrcyBmb3IgdGhlIGJyaWVmXG4vLyBwcmUtbG9hZCBwZXJpb2QuXG4kZm9udC1mYW1pbHk6IFwiR2Vpc3RcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCI7XG5cbiRhcHAtd2FybjogbWF0LXBhbGV0dGUoJHRoZW1lLXdhcm4pOyAvLyBDcmVhdGUgdGhlIHRoZW1lIG9iamVjdCAoYSBTYXNzIG1hcCBjb250YWluaW5nIGFsbCBvZiB0aGUgcGFsZXR0ZXMpLlxuLy8gVGVtYSBjbGFyb1xuJGFwcC1wcmltYXJ5LWxpZ2h0OiBtYXQtcGFsZXR0ZSgkbWQtbWNncGFsZXR0ZTEpO1xuJGFwcC1hY2NlbnQtbGlnaHQ6IG1hdC1wYWxldHRlKCRtZC1tY2dwYWxldHRlMSk7XG4kYXBwLXRoZW1lLWxpZ2h0OiBtYXQtbGlnaHQtdGhlbWUoJGFwcC1wcmltYXJ5LWxpZ2h0LCAkYXBwLWFjY2VudC1saWdodCwgJGFwcC13YXJuKTtcbi5saWdodC10aGVtZSB7XG4gIEBpbmNsdWRlIGFuZ3VsYXItbWF0ZXJpYWwtdGhlbWUoJGFwcC10aGVtZS1saWdodCk7XG59XG5cbi8vIFRlbWEgZXNjdXJvXG4kYXBwLXByaW1hcnktZGFyazogbWF0LXBhbGV0dGUoJG1kLW1jZ3BhbGV0dGUwKTtcbiRhcHAtYWNjZW50LWRhcms6IG1hdC1wYWxldHRlKCRtZC1tY2dwYWxldHRlMCk7XG4kYXBwLXRoZW1lLWRhcms6IG1hdC1kYXJrLXRoZW1lKCRhcHAtcHJpbWFyeS1kYXJrLCAkYXBwLWFjY2VudC1kYXJrLCAkYXBwLXdhcm4pO1xuLmRhcmstdGhlbWUge1xuICBAaW5jbHVkZSBhbmd1bGFyLW1hdGVyaWFsLXRoZW1lKCRhcHAtdGhlbWUtZGFyayk7XG59XG5cblxuJGFwcC10eXBvZ3JhcGh5OiBtYXQtdHlwb2dyYXBoeS1jb25maWcoJGZvbnQtZmFtaWx5KTtcblxuQGluY2x1ZGUgYW5ndWxhci1tYXRlcmlhbC10eXBvZ3JhcGh5KCRhcHAtdHlwb2dyYXBoeSk7XG4iLCJAa2V5ZnJhbWVzIHNwaW5Bcm91bmRcbiAgZnJvbVxuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpXG4gIHRvXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKVxuIiwiQGltcG9ydCBcImluaXRpYWwtdmFyaWFibGVzXCJcblxuPWNsZWFyZml4XG4gICY6OmFmdGVyXG4gICAgY2xlYXI6IGJvdGhcbiAgICBjb250ZW50OiBcIiBcIlxuICAgIGRpc3BsYXk6IHRhYmxlXG5cbj1jZW50ZXIoJHdpZHRoLCAkaGVpZ2h0OiAwKVxuICBwb3NpdGlvbjogYWJzb2x1dGVcbiAgQGlmICRoZWlnaHQgIT0gMFxuICAgIGxlZnQ6IGNhbGMoNTAlIC0gKCN7JHdpZHRofSAvIDIpKVxuICAgIHRvcDogY2FsYyg1MCUgLSAoI3skaGVpZ2h0fSAvIDIpKVxuICBAZWxzZVxuICAgIGxlZnQ6IGNhbGMoNTAlIC0gKCN7JHdpZHRofSAvIDIpKVxuICAgIHRvcDogY2FsYyg1MCUgLSAoI3skd2lkdGh9IC8gMikpXG5cbj1mYSgkc2l6ZSwgJGRpbWVuc2lvbnMpXG4gIGRpc3BsYXk6IGlubGluZS1ibG9ja1xuICBmb250LXNpemU6ICRzaXplXG4gIGhlaWdodDogJGRpbWVuc2lvbnNcbiAgbGluZS1oZWlnaHQ6ICRkaW1lbnNpb25zXG4gIHRleHQtYWxpZ246IGNlbnRlclxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wXG4gIHdpZHRoOiAkZGltZW5zaW9uc1xuXG49aGFtYnVyZ2VyKCRkaW1lbnNpb25zKVxuICBjdXJzb3I6IHBvaW50ZXJcbiAgZGlzcGxheTogYmxvY2tcbiAgaGVpZ2h0OiAkZGltZW5zaW9uc1xuICBwb3NpdGlvbjogcmVsYXRpdmVcbiAgd2lkdGg6ICRkaW1lbnNpb25zXG4gIHNwYW5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3JcbiAgICBkaXNwbGF5OiBibG9ja1xuICAgIGhlaWdodDogMXB4XG4gICAgbGVmdDogY2FsYyg1MCUgLSA4cHgpXG4gICAgcG9zaXRpb246IGFic29sdXRlXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyXG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHNwZWVkXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgb3BhY2l0eSwgdHJhbnNmb3JtXG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRlYXNpbmdcbiAgICB3aWR0aDogMTZweFxuICAgICY6bnRoLWNoaWxkKDEpXG4gICAgICB0b3A6IGNhbGMoNTAlIC0gNnB4KVxuICAgICY6bnRoLWNoaWxkKDIpXG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMXB4KVxuICAgICY6bnRoLWNoaWxkKDMpXG4gICAgICB0b3A6IGNhbGMoNTAlICsgNHB4KVxuICAmOmhvdmVyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYnVsbWFSZ2JhKGJsYWNrLCAwLjA1KVxuICAvLyBNb2RpZmVyc1xuICAmLmlzLWFjdGl2ZVxuICAgIHNwYW5cbiAgICAgICY6bnRoLWNoaWxkKDEpXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpIHJvdGF0ZSg0NWRlZylcbiAgICAgICY6bnRoLWNoaWxkKDIpXG4gICAgICAgIG9wYWNpdHk6IDBcbiAgICAgICY6bnRoLWNoaWxkKDMpXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KSByb3RhdGUoLTQ1ZGVnKVxuXG49b3ZlcmZsb3ctdG91Y2hcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoXG5cbj1wbGFjZWhvbGRlclxuICAkcGxhY2Vob2xkZXJzOiAnOi1tb3onICc6LXdlYmtpdC1pbnB1dCcgJy1tb3onICctbXMtaW5wdXQnXG4gIEBlYWNoICRwbGFjZWhvbGRlciBpbiAkcGxhY2Vob2xkZXJzXG4gICAgJjojeyRwbGFjZWhvbGRlcn0tcGxhY2Vob2xkZXJcbiAgICAgIEBjb250ZW50XG5cbi8vIFJlc3BvbnNpdmVuZXNzXG5cbj1mcm9tKCRkZXZpY2UpXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkZXZpY2UpXG4gICAgQGNvbnRlbnRcblxuPXVudGlsKCRkZXZpY2UpXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRkZXZpY2UgLSAxcHgpXG4gICAgQGNvbnRlbnRcblxuPW1vYmlsZVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkdGFibGV0IC0gMXB4KVxuICAgIEBjb250ZW50XG5cbj10YWJsZXRcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHRhYmxldCksIHByaW50XG4gICAgQGNvbnRlbnRcblxuPXRhYmxldC1vbmx5XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR0YWJsZXQpIGFuZCAobWF4LXdpZHRoOiAkZGVza3RvcCAtIDFweClcbiAgICBAY29udGVudFxuXG49dG91Y2hcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGRlc2t0b3AgLSAxcHgpXG4gICAgQGNvbnRlbnRcblxuPWRlc2t0b3BcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRlc2t0b3ApXG4gICAgQGNvbnRlbnRcblxuPWRlc2t0b3Atb25seVxuICBAaWYgJHdpZGVzY3JlZW4tZW5hYmxlZFxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkZXNrdG9wKSBhbmQgKG1heC13aWR0aDogJHdpZGVzY3JlZW4gLSAxcHgpXG4gICAgICBAY29udGVudFxuXG49dW50aWwtd2lkZXNjcmVlblxuICBAaWYgJHdpZGVzY3JlZW4tZW5hYmxlZFxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR3aWRlc2NyZWVuIC0gMXB4KVxuICAgICAgQGNvbnRlbnRcblxuPXdpZGVzY3JlZW5cbiAgQGlmICR3aWRlc2NyZWVuLWVuYWJsZWRcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkd2lkZXNjcmVlbilcbiAgICAgIEBjb250ZW50XG5cbj13aWRlc2NyZWVuLW9ubHlcbiAgQGlmICR3aWRlc2NyZWVuLWVuYWJsZWQgYW5kICRmdWxsaGQtZW5hYmxlZFxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR3aWRlc2NyZWVuKSBhbmQgKG1heC13aWR0aDogJGZ1bGxoZCAtIDFweClcbiAgICAgIEBjb250ZW50XG5cbj11bnRpbC1mdWxsaGRcbiAgQGlmICRmdWxsaGQtZW5hYmxlZFxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRmdWxsaGQgLSAxcHgpXG4gICAgICBAY29udGVudFxuXG49ZnVsbGhkXG4gIEBpZiAkZnVsbGhkLWVuYWJsZWRcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZnVsbGhkKVxuICAgICAgQGNvbnRlbnRcblxuLy8gUGxhY2Vob2xkZXJzXG5cbj11bnNlbGVjdGFibGVcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmVcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZVxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmVcbiAgdXNlci1zZWxlY3Q6IG5vbmVcblxuJXVuc2VsZWN0YWJsZVxuICArdW5zZWxlY3RhYmxlXG5cbj1hcnJvdygkY29sb3I6IHRyYW5zcGFyZW50KVxuICBib3JkZXI6IDNweCBzb2xpZCAkY29sb3JcbiAgYm9yZGVyLXJhZGl1czogMnB4XG4gIGJvcmRlci1yaWdodDogMFxuICBib3JkZXItdG9wOiAwXG4gIGNvbnRlbnQ6IFwiIFwiXG4gIGRpc3BsYXk6IGJsb2NrXG4gIGhlaWdodDogMC42MjVlbVxuICBtYXJnaW4tdG9wOiAtMC40Mzc1ZW1cbiAgcG9pbnRlci1ldmVudHM6IG5vbmVcbiAgcG9zaXRpb246IGFic29sdXRlXG4gIHRvcDogNTAlXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZylcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyXG4gIHdpZHRoOiAwLjYyNWVtXG5cbiVhcnJvd1xuICArYXJyb3dcblxuPWJsb2NrKCRzcGFjaW5nOiAkYmxvY2stc3BhY2luZylcbiAgJjpub3QoOmxhc3QtY2hpbGQpXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmdcblxuJWJsb2NrXG4gICtibG9ja1xuXG49ZGVsZXRlXG4gIEBleHRlbmQgJXVuc2VsZWN0YWJsZVxuICAtbW96LWFwcGVhcmFuY2U6IG5vbmVcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lXG4gIGJhY2tncm91bmQtY29sb3I6IGJ1bG1hUmdiYSgkc2NoZW1lLWludmVydCwgMC4yKVxuICBib3JkZXI6IG5vbmVcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cy1yb3VuZGVkXG4gIGN1cnNvcjogcG9pbnRlclxuICBwb2ludGVyLWV2ZW50czogYXV0b1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2tcbiAgZmxleC1ncm93OiAwXG4gIGZsZXgtc2hyaW5rOiAwXG4gIGZvbnQtc2l6ZTogMFxuICBoZWlnaHQ6IDIwcHhcbiAgbWF4LWhlaWdodDogMjBweFxuICBtYXgtd2lkdGg6IDIwcHhcbiAgbWluLWhlaWdodDogMjBweFxuICBtaW4td2lkdGg6IDIwcHhcbiAgb3V0bGluZTogbm9uZVxuICBwb3NpdGlvbjogcmVsYXRpdmVcbiAgdmVydGljYWwtYWxpZ246IHRvcFxuICB3aWR0aDogMjBweFxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNjaGVtZS1tYWluXG4gICAgY29udGVudDogXCJcIlxuICAgIGRpc3BsYXk6IGJsb2NrXG4gICAgbGVmdDogNTAlXG4gICAgcG9zaXRpb246IGFic29sdXRlXG4gICAgdG9wOiA1MCVcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlclxuICAmOjpiZWZvcmVcbiAgICBoZWlnaHQ6IDJweFxuICAgIHdpZHRoOiA1MCVcbiAgJjo6YWZ0ZXJcbiAgICBoZWlnaHQ6IDUwJVxuICAgIHdpZHRoOiAycHhcbiAgJjpob3ZlcixcbiAgJjpmb2N1c1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJ1bG1hUmdiYSgkc2NoZW1lLWludmVydCwgMC4zKVxuICAmOmFjdGl2ZVxuICAgIGJhY2tncm91bmQtY29sb3I6IGJ1bG1hUmdiYSgkc2NoZW1lLWludmVydCwgMC40KVxuICAvLyBTaXplc1xuICAmLmlzLXNtYWxsXG4gICAgaGVpZ2h0OiAxNnB4XG4gICAgbWF4LWhlaWdodDogMTZweFxuICAgIG1heC13aWR0aDogMTZweFxuICAgIG1pbi1oZWlnaHQ6IDE2cHhcbiAgICBtaW4td2lkdGg6IDE2cHhcbiAgICB3aWR0aDogMTZweFxuICAmLmlzLW1lZGl1bVxuICAgIGhlaWdodDogMjRweFxuICAgIG1heC1oZWlnaHQ6IDI0cHhcbiAgICBtYXgtd2lkdGg6IDI0cHhcbiAgICBtaW4taGVpZ2h0OiAyNHB4XG4gICAgbWluLXdpZHRoOiAyNHB4XG4gICAgd2lkdGg6IDI0cHhcbiAgJi5pcy1sYXJnZVxuICAgIGhlaWdodDogMzJweFxuICAgIG1heC1oZWlnaHQ6IDMycHhcbiAgICBtYXgtd2lkdGg6IDMycHhcbiAgICBtaW4taGVpZ2h0OiAzMnB4XG4gICAgbWluLXdpZHRoOiAzMnB4XG4gICAgd2lkdGg6IDMycHhcblxuJWRlbGV0ZVxuICArZGVsZXRlXG5cbj1sb2FkZXJcbiAgYW5pbWF0aW9uOiBzcGluQXJvdW5kIDUwMG1zIGluZmluaXRlIGxpbmVhclxuICBib3JkZXI6IDJweCBzb2xpZCAkZ3JleS1saWdodGVyXG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtcm91bmRlZFxuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50XG4gIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50XG4gIGNvbnRlbnQ6IFwiXCJcbiAgZGlzcGxheTogYmxvY2tcbiAgaGVpZ2h0OiAxZW1cbiAgcG9zaXRpb246IHJlbGF0aXZlXG4gIHdpZHRoOiAxZW1cblxuJWxvYWRlclxuICArbG9hZGVyXG5cbj1vdmVybGF5KCRvZmZzZXQ6IDApXG4gIGJvdHRvbTogJG9mZnNldFxuICBsZWZ0OiAkb2Zmc2V0XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZVxuICByaWdodDogJG9mZnNldFxuICB0b3A6ICRvZmZzZXRcblxuJW92ZXJsYXlcbiAgK292ZXJsYXlcbiIsIi8vIENvbG9yc1xuXG4kYmxhY2s6ICAgICAgICBoc2woMCwgMCUsIDQlKSAhZGVmYXVsdFxuJGJsYWNrLWJpczogICAgaHNsKDAsIDAlLCA3JSkgIWRlZmF1bHRcbiRibGFjay10ZXI6ICAgIGhzbCgwLCAwJSwgMTQlKSAhZGVmYXVsdFxuXG4kZ3JleS1kYXJrZXI6ICBoc2woMCwgMCUsIDIxJSkgIWRlZmF1bHRcbiRncmV5LWRhcms6ICAgIGhzbCgwLCAwJSwgMjklKSAhZGVmYXVsdFxuJGdyZXk6ICAgICAgICAgaHNsKDAsIDAlLCA0OCUpICFkZWZhdWx0XG4kZ3JleS1saWdodDogICBoc2woMCwgMCUsIDcxJSkgIWRlZmF1bHRcbiRncmV5LWxpZ2h0ZXI6IGhzbCgwLCAwJSwgODYlKSAhZGVmYXVsdFxuJGdyZXktbGlnaHRlc3Q6IGhzbCgwLCAwJSwgOTMlKSAhZGVmYXVsdFxuXG4kd2hpdGUtdGVyOiAgICBoc2woMCwgMCUsIDk2JSkgIWRlZmF1bHRcbiR3aGl0ZS1iaXM6ICAgIGhzbCgwLCAwJSwgOTglKSAhZGVmYXVsdFxuJHdoaXRlOiAgICAgICAgaHNsKDAsIDAlLCAxMDAlKSAhZGVmYXVsdFxuXG4kb3JhbmdlOiAgICAgICBoc2woMTQsICAxMDAlLCA1MyUpICFkZWZhdWx0XG4keWVsbG93OiAgICAgICBoc2woNDgsICAxMDAlLCA2NyUpICFkZWZhdWx0XG4kZ3JlZW46ICAgICAgICBoc2woMTQxLCA1MyUsICA1MyUpICFkZWZhdWx0XG4kdHVycXVvaXNlOiAgICBoc2woMTcxLCAxMDAlLCA0MSUpICFkZWZhdWx0XG4kY3lhbjogICAgICAgICBoc2woMjA0LCA3MSUsICA1MyUpICFkZWZhdWx0XG4kYmx1ZTogICAgICAgICBoc2woMjE3LCA3MSUsICA1MyUpICFkZWZhdWx0XG4kcHVycGxlOiAgICAgICBoc2woMjcxLCAxMDAlLCA3MSUpICFkZWZhdWx0XG4kcmVkOiAgICAgICAgICBoc2woMzQ4LCA4NiUsIDYxJSkgIWRlZmF1bHRcblxuLy8gVHlwb2dyYXBoeVxuXG4kZmFtaWx5LXNhbnMtc2VyaWY6IEJsaW5rTWFjU3lzdGVtRm9udCwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWYgIWRlZmF1bHRcbiRmYW1pbHktbW9ub3NwYWNlOiBtb25vc3BhY2UgIWRlZmF1bHRcbiRyZW5kZXItbW9kZTogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0XG5cbiRzaXplLTE6IDNyZW0gIWRlZmF1bHRcbiRzaXplLTI6IDIuNXJlbSAhZGVmYXVsdFxuJHNpemUtMzogMnJlbSAhZGVmYXVsdFxuJHNpemUtNDogMS41cmVtICFkZWZhdWx0XG4kc2l6ZS01OiAxLjI1cmVtICFkZWZhdWx0XG4kc2l6ZS02OiAxcmVtICFkZWZhdWx0XG4kc2l6ZS03OiAwLjc1cmVtICFkZWZhdWx0XG5cbiR3ZWlnaHQtbGlnaHQ6IDMwMCAhZGVmYXVsdFxuJHdlaWdodC1ub3JtYWw6IDQwMCAhZGVmYXVsdFxuJHdlaWdodC1tZWRpdW06IDUwMCAhZGVmYXVsdFxuJHdlaWdodC1zZW1pYm9sZDogNjAwICFkZWZhdWx0XG4kd2VpZ2h0LWJvbGQ6IDcwMCAhZGVmYXVsdFxuXG4vLyBTcGFjaW5nXG5cbiRibG9jay1zcGFjaW5nOiAxLjVyZW0gIWRlZmF1bHRcblxuLy8gUmVzcG9uc2l2ZW5lc3NcblxuLy8gVGhlIGNvbnRhaW5lciBob3Jpem9udGFsIGdhcCwgd2hpY2ggYWN0cyBhcyB0aGUgb2Zmc2V0IGZvciBicmVha3BvaW50c1xuJGdhcDogMzJweCAhZGVmYXVsdFxuLy8gOTYwLCAxMTUyLCBhbmQgMTM0NCBoYXZlIGJlZW4gY2hvc2VuIGJlY2F1c2UgdGhleSBhcmUgZGl2aXNpYmxlIGJ5IGJvdGggMTIgYW5kIDE2XG4kdGFibGV0OiA3NjlweCAhZGVmYXVsdFxuLy8gOTYwcHggY29udGFpbmVyICsgNHJlbVxuJGRlc2t0b3A6IDk2MHB4ICsgKDIgKiAkZ2FwKSAhZGVmYXVsdFxuLy8gMTE1MnB4IGNvbnRhaW5lciArIDRyZW1cbiR3aWRlc2NyZWVuOiAxMTUycHggKyAoMiAqICRnYXApICFkZWZhdWx0XG4kd2lkZXNjcmVlbi1lbmFibGVkOiB0cnVlICFkZWZhdWx0XG4vLyAxMzQ0cHggY29udGFpbmVyICsgNHJlbVxuJGZ1bGxoZDogMTM0NHB4ICsgKDIgKiAkZ2FwKSAhZGVmYXVsdFxuJGZ1bGxoZC1lbmFibGVkOiB0cnVlICFkZWZhdWx0XG5cbi8vIE1pc2NlbGxhbmVvdXNcblxuJGVhc2luZzogZWFzZS1vdXQgIWRlZmF1bHRcbiRyYWRpdXMtc21hbGw6IDJweCAhZGVmYXVsdFxuJHJhZGl1czogNHB4ICFkZWZhdWx0XG4kcmFkaXVzLWxhcmdlOiA2cHggIWRlZmF1bHRcbiRyYWRpdXMtcm91bmRlZDogMjkwNDg2cHggIWRlZmF1bHRcbiRzcGVlZDogODZtcyAhZGVmYXVsdFxuXG4vLyBGbGFnc1xuXG4kdmFyaWFibGUtY29sdW1uczogdHJ1ZSAhZGVmYXVsdFxuIiwiLyohIG1pbmlyZXNldC5jc3MgdjAuMC42IHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL2pndGhtcy9taW5pcmVzZXQuY3NzICovXG4vLyBCbG9ja3Ncbmh0bWwsXG5ib2R5LFxucCxcbm9sLFxudWwsXG5saSxcbmRsLFxuZHQsXG5kZCxcbmJsb2NrcXVvdGUsXG5maWd1cmUsXG5maWVsZHNldCxcbmxlZ2VuZCxcbnRleHRhcmVhLFxucHJlLFxuaWZyYW1lLFxuaHIsXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDZcbiAgbWFyZ2luOiAwXG4gIHBhZGRpbmc6IDBcblxuLy8gSGVhZGluZ3NcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNlxuICBmb250LXNpemU6IDEwMCVcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbFxuXG4vLyBMaXN0XG51bFxuICBsaXN0LXN0eWxlOiBub25lXG5cbi8vIEZvcm1cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWFcbiAgbWFyZ2luOiAwXG5cbi8vIEJveCBzaXppbmdcbmh0bWxcbiAgYm94LXNpemluZzogYm9yZGVyLWJveFxuXG4qXG4gICYsXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXJcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0XG5cbi8vIE1lZGlhXG5pbWcsXG52aWRlb1xuICBoZWlnaHQ6IGF1dG9cbiAgbWF4LXdpZHRoOiAxMDAlXG5cbi8vIElmcmFtZVxuaWZyYW1lXG4gIGJvcmRlcjogMFxuXG4vLyBUYWJsZVxudGFibGVcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZVxuICBib3JkZXItc3BhY2luZzogMFxuXG50ZCxcbnRoXG4gIHBhZGRpbmc6IDBcbiAgJjpub3QoW2FsaWduXSlcbiAgICB0ZXh0LWFsaWduOiBsZWZ0XG4iLCIkYm9keS1iYWNrZ3JvdW5kLWNvbG9yOiAkc2NoZW1lLW1haW4gIWRlZmF1bHRcbiRib2R5LXNpemU6IDE2cHggIWRlZmF1bHRcbiRib2R5LW1pbi13aWR0aDogMzAwcHggIWRlZmF1bHRcbiRib2R5LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0XG4kYm9keS1mYW1pbHk6ICRmYW1pbHktcHJpbWFyeSAhZGVmYXVsdFxuJGJvZHktb3ZlcmZsb3cteDogaGlkZGVuICFkZWZhdWx0XG4kYm9keS1vdmVyZmxvdy15OiBzY3JvbGwgIWRlZmF1bHRcblxuJGJvZHktY29sb3I6ICR0ZXh0ICFkZWZhdWx0XG4kYm9keS1mb250LXNpemU6IDFlbSAhZGVmYXVsdFxuJGJvZHktd2VpZ2h0OiAkd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdFxuJGJvZHktbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdFxuXG4kY29kZS1mYW1pbHk6ICRmYW1pbHktY29kZSAhZGVmYXVsdFxuJGNvZGUtcGFkZGluZzogMC4yNWVtIDAuNWVtIDAuMjVlbSAhZGVmYXVsdFxuJGNvZGUtd2VpZ2h0OiBub3JtYWwgIWRlZmF1bHRcbiRjb2RlLXNpemU6IDAuODc1ZW0gIWRlZmF1bHRcblxuJHNtYWxsLWZvbnQtc2l6ZTogMC44NzVlbSAhZGVmYXVsdFxuXG4kaHItYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQgIWRlZmF1bHRcbiRoci1oZWlnaHQ6IDJweCAhZGVmYXVsdFxuJGhyLW1hcmdpbjogMS41cmVtIDAgIWRlZmF1bHRcblxuJHN0cm9uZy1jb2xvcjogJHRleHQtc3Ryb25nICFkZWZhdWx0XG4kc3Ryb25nLXdlaWdodDogJHdlaWdodC1ib2xkICFkZWZhdWx0XG5cbiRwcmUtZm9udC1zaXplOiAwLjg3NWVtICFkZWZhdWx0XG4kcHJlLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0XG4kcHJlLWNvZGUtZm9udC1zaXplOiAxZW0gIWRlZmF1bHRcblxuaHRtbFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kLWNvbG9yXG4gIGZvbnQtc2l6ZTogJGJvZHktc2l6ZVxuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkXG4gIG1pbi13aWR0aDogJGJvZHktbWluLXdpZHRoXG4gIG92ZXJmbG93LXg6ICRib2R5LW92ZXJmbG93LXhcbiAgb3ZlcmZsb3cteTogJGJvZHktb3ZlcmZsb3cteVxuICB0ZXh0LXJlbmRlcmluZzogJGJvZHktcmVuZGVyaW5nXG4gIHRleHQtc2l6ZS1hZGp1c3Q6IDEwMCVcblxuYXJ0aWNsZSxcbmFzaWRlLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxuc2VjdGlvblxuICBkaXNwbGF5OiBibG9ja1xuXG5ib2R5LFxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYVxuICBmb250LWZhbWlseTogJGJvZHktZmFtaWx5XG5cbmNvZGUsXG5wcmVcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGF1dG9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYXV0b1xuICBmb250LWZhbWlseTogJGNvZGUtZmFtaWx5XG5cbmJvZHlcbiAgY29sb3I6ICRib2R5LWNvbG9yXG4gIGZvbnQtc2l6ZTogJGJvZHktZm9udC1zaXplXG4gIGZvbnQtd2VpZ2h0OiAkYm9keS13ZWlnaHRcbiAgbGluZS1oZWlnaHQ6ICRib2R5LWxpbmUtaGVpZ2h0XG5cbi8vIElubGluZVxuXG5hXG4gIGNvbG9yOiAkbGlua1xuICBjdXJzb3I6IHBvaW50ZXJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lXG4gIHN0cm9uZ1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3JcbiAgJjpob3ZlclxuICAgIGNvbG9yOiAkbGluay1ob3ZlclxuXG5jb2RlXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmRcbiAgY29sb3I6ICRjb2RlXG4gIGZvbnQtc2l6ZTogJGNvZGUtc2l6ZVxuICBmb250LXdlaWdodDogJGNvZGUtd2VpZ2h0XG4gIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmdcblxuaHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGhyLWJhY2tncm91bmQtY29sb3JcbiAgYm9yZGVyOiBub25lXG4gIGRpc3BsYXk6IGJsb2NrXG4gIGhlaWdodDogJGhyLWhlaWdodFxuICBtYXJnaW46ICRoci1tYXJnaW5cblxuaW1nXG4gIGhlaWdodDogYXV0b1xuICBtYXgtd2lkdGg6IDEwMCVcblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZVxuXG5zbWFsbFxuICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemVcblxuc3BhblxuICBmb250LXN0eWxlOiBpbmhlcml0XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0XG5cbnN0cm9uZ1xuICBjb2xvcjogJHN0cm9uZy1jb2xvclxuICBmb250LXdlaWdodDogJHN0cm9uZy13ZWlnaHRcblxuLy8gQmxvY2tcblxuZmllbGRzZXRcbiAgYm9yZGVyOiBub25lXG5cbnByZVxuICArb3ZlcmZsb3ctdG91Y2hcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByZS1iYWNrZ3JvdW5kXG4gIGNvbG9yOiAkcHJlXG4gIGZvbnQtc2l6ZTogJHByZS1mb250LXNpemVcbiAgb3ZlcmZsb3cteDogYXV0b1xuICBwYWRkaW5nOiAkcHJlLXBhZGRpbmdcbiAgd2hpdGUtc3BhY2U6IHByZVxuICB3b3JkLXdyYXA6IG5vcm1hbFxuICBjb2RlXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRcbiAgICBjb2xvcjogY3VycmVudENvbG9yXG4gICAgZm9udC1zaXplOiAkcHJlLWNvZGUtZm9udC1zaXplXG4gICAgcGFkZGluZzogMFxuXG50YWJsZVxuICB0ZCxcbiAgdGhcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wXG4gICAgJjpub3QoW2FsaWduXSlcbiAgICAgIHRleHQtYWxpZ246IGxlZnRcbiAgdGhcbiAgICBjb2xvcjogJHRleHQtc3Ryb25nXG4iLCIvLyBGbG9hdFxuXG4uaXMtY2xlYXJmaXhcbiAgK2NsZWFyZml4XG5cbi5pcy1wdWxsZWQtbGVmdFxuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50XG5cbi5pcy1wdWxsZWQtcmlnaHRcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnRcblxuLy8gT3ZlcmZsb3dcblxuLmlzLWNsaXBwZWRcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50XG5cbi8vIE92ZXJsYXlcblxuLmlzLW92ZXJsYXlcbiAgQGV4dGVuZCAlb3ZlcmxheVxuXG4vLyBUeXBvZ3JhcGh5XG5cbj10eXBvZ3JhcGh5LXNpemUoJHRhcmdldDonJylcbiAgQGVhY2ggJHNpemUgaW4gJHNpemVzXG4gICAgJGk6IGluZGV4KCRzaXplcywgJHNpemUpXG4gICAgLmlzLXNpemUtI3skaX0je2lmKCR0YXJnZXQgPT0gJycsICcnLCAnLScgKyAkdGFyZ2V0KX1cbiAgICAgIGZvbnQtc2l6ZTogJHNpemUgIWltcG9ydGFudFxuXG4rdHlwb2dyYXBoeS1zaXplKClcblxuK21vYmlsZVxuICArdHlwb2dyYXBoeS1zaXplKCdtb2JpbGUnKVxuXG4rdGFibGV0XG4gICt0eXBvZ3JhcGh5LXNpemUoJ3RhYmxldCcpXG5cbit0b3VjaFxuICArdHlwb2dyYXBoeS1zaXplKCd0b3VjaCcpXG5cbitkZXNrdG9wXG4gICt0eXBvZ3JhcGh5LXNpemUoJ2Rlc2t0b3AnKVxuXG4rd2lkZXNjcmVlblxuICArdHlwb2dyYXBoeS1zaXplKCd3aWRlc2NyZWVuJylcblxuK2Z1bGxoZFxuICArdHlwb2dyYXBoeS1zaXplKCdmdWxsaGQnKVxuXG4kYWxpZ25tZW50czogKCdjZW50ZXJlZCc6ICdjZW50ZXInLCAnanVzdGlmaWVkJzogJ2p1c3RpZnknLCAnbGVmdCc6ICdsZWZ0JywgJ3JpZ2h0JzogJ3JpZ2h0JylcblxuQGVhY2ggJGFsaWdubWVudCwgJHRleHQtYWxpZ24gaW4gJGFsaWdubWVudHNcbiAgLmhhcy10ZXh0LSN7JGFsaWdubWVudH1cbiAgICB0ZXh0LWFsaWduOiAjeyR0ZXh0LWFsaWdufSAhaW1wb3J0YW50XG5cbkBlYWNoICRhbGlnbm1lbnQsICR0ZXh0LWFsaWduIGluICRhbGlnbm1lbnRzXG4gICttb2JpbGVcbiAgICAuaGFzLXRleHQtI3skYWxpZ25tZW50fS1tb2JpbGVcbiAgICAgIHRleHQtYWxpZ246ICN7JHRleHQtYWxpZ259ICFpbXBvcnRhbnRcbiAgK3RhYmxldFxuICAgIC5oYXMtdGV4dC0jeyRhbGlnbm1lbnR9LXRhYmxldFxuICAgICAgdGV4dC1hbGlnbjogI3skdGV4dC1hbGlnbn0gIWltcG9ydGFudFxuICArdGFibGV0LW9ubHlcbiAgICAuaGFzLXRleHQtI3skYWxpZ25tZW50fS10YWJsZXQtb25seVxuICAgICAgdGV4dC1hbGlnbjogI3skdGV4dC1hbGlnbn0gIWltcG9ydGFudFxuICArdG91Y2hcbiAgICAuaGFzLXRleHQtI3skYWxpZ25tZW50fS10b3VjaFxuICAgICAgdGV4dC1hbGlnbjogI3skdGV4dC1hbGlnbn0gIWltcG9ydGFudFxuICArZGVza3RvcFxuICAgIC5oYXMtdGV4dC0jeyRhbGlnbm1lbnR9LWRlc2t0b3BcbiAgICAgIHRleHQtYWxpZ246ICN7JHRleHQtYWxpZ259ICFpbXBvcnRhbnRcbiAgK2Rlc2t0b3Atb25seVxuICAgIC5oYXMtdGV4dC0jeyRhbGlnbm1lbnR9LWRlc2t0b3Atb25seVxuICAgICAgdGV4dC1hbGlnbjogI3skdGV4dC1hbGlnbn0gIWltcG9ydGFudFxuICArd2lkZXNjcmVlblxuICAgIC5oYXMtdGV4dC0jeyRhbGlnbm1lbnR9LXdpZGVzY3JlZW5cbiAgICAgIHRleHQtYWxpZ246ICN7JHRleHQtYWxpZ259ICFpbXBvcnRhbnRcbiAgK3dpZGVzY3JlZW4tb25seVxuICAgIC5oYXMtdGV4dC0jeyRhbGlnbm1lbnR9LXdpZGVzY3JlZW4tb25seVxuICAgICAgdGV4dC1hbGlnbjogI3skdGV4dC1hbGlnbn0gIWltcG9ydGFudFxuICArZnVsbGhkXG4gICAgLmhhcy10ZXh0LSN7JGFsaWdubWVudH0tZnVsbGhkXG4gICAgICB0ZXh0LWFsaWduOiAjeyR0ZXh0LWFsaWdufSAhaW1wb3J0YW50XG5cbi5pcy1jYXBpdGFsaXplZFxuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50XG5cbi5pcy1sb3dlcmNhc2VcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50XG5cbi5pcy11cHBlcmNhc2VcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50XG5cbi5pcy1pdGFsaWNcbiAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnRcblxuQGVhY2ggJG5hbWUsICRwYWlyIGluICRjb2xvcnNcbiAgJGNvbG9yOiBudGgoJHBhaXIsIDEpXG4gIC5oYXMtdGV4dC0jeyRuYW1lfVxuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudFxuICBhLmhhcy10ZXh0LSN7JG5hbWV9XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzXG4gICAgICBjb2xvcjogYnVsbWFEYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnRcbiAgLmhhcy1iYWNrZ3JvdW5kLSN7JG5hbWV9XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnRcblxuQGVhY2ggJG5hbWUsICRzaGFkZSBpbiAkc2hhZGVzXG4gIC5oYXMtdGV4dC0jeyRuYW1lfVxuICAgIGNvbG9yOiAkc2hhZGUgIWltcG9ydGFudFxuICAuaGFzLWJhY2tncm91bmQtI3skbmFtZX1cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2hhZGUgIWltcG9ydGFudFxuXG4uaGFzLXRleHQtd2VpZ2h0LWxpZ2h0XG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0LWxpZ2h0ICFpbXBvcnRhbnRcbi5oYXMtdGV4dC13ZWlnaHQtbm9ybWFsXG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0LW5vcm1hbCAhaW1wb3J0YW50XG4uaGFzLXRleHQtd2VpZ2h0LW1lZGl1bVxuICBmb250LXdlaWdodDogJHdlaWdodC1tZWRpdW0gIWltcG9ydGFudFxuLmhhcy10ZXh0LXdlaWdodC1zZW1pYm9sZFxuICBmb250LXdlaWdodDogJHdlaWdodC1zZW1pYm9sZCAhaW1wb3J0YW50XG4uaGFzLXRleHQtd2VpZ2h0LWJvbGRcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQtYm9sZCAhaW1wb3J0YW50XG5cbi5pcy1mYW1pbHktcHJpbWFyeVxuICBmb250LWZhbWlseTogJGZhbWlseS1wcmltYXJ5ICFpbXBvcnRhbnRcblxuLmlzLWZhbWlseS1zZWNvbmRhcnlcbiAgZm9udC1mYW1pbHk6ICRmYW1pbHktc2Vjb25kYXJ5ICFpbXBvcnRhbnRcblxuLmlzLWZhbWlseS1zYW5zLXNlcmlmXG4gIGZvbnQtZmFtaWx5OiAkZmFtaWx5LXNhbnMtc2VyaWYgIWltcG9ydGFudFxuXG4uaXMtZmFtaWx5LW1vbm9zcGFjZVxuICBmb250LWZhbWlseTogJGZhbWlseS1tb25vc3BhY2UgIWltcG9ydGFudFxuXG4uaXMtZmFtaWx5LWNvZGVcbiAgZm9udC1mYW1pbHk6ICRmYW1pbHktY29kZSAhaW1wb3J0YW50XG5cbi8vIFZpc2liaWxpdHlcblxuJGRpc3BsYXlzOiAnYmxvY2snICdmbGV4JyAnaW5saW5lJyAnaW5saW5lLWJsb2NrJyAnaW5saW5lLWZsZXgnXG5cbkBlYWNoICRkaXNwbGF5IGluICRkaXNwbGF5c1xuICAuaXMtI3skZGlzcGxheX1cbiAgICBkaXNwbGF5OiAjeyRkaXNwbGF5fSAhaW1wb3J0YW50XG4gICttb2JpbGVcbiAgICAuaXMtI3skZGlzcGxheX0tbW9iaWxlXG4gICAgICBkaXNwbGF5OiAjeyRkaXNwbGF5fSAhaW1wb3J0YW50XG4gICt0YWJsZXRcbiAgICAuaXMtI3skZGlzcGxheX0tdGFibGV0XG4gICAgICBkaXNwbGF5OiAjeyRkaXNwbGF5fSAhaW1wb3J0YW50XG4gICt0YWJsZXQtb25seVxuICAgIC5pcy0jeyRkaXNwbGF5fS10YWJsZXQtb25seVxuICAgICAgZGlzcGxheTogI3skZGlzcGxheX0gIWltcG9ydGFudFxuICArdG91Y2hcbiAgICAuaXMtI3skZGlzcGxheX0tdG91Y2hcbiAgICAgIGRpc3BsYXk6ICN7JGRpc3BsYXl9ICFpbXBvcnRhbnRcbiAgK2Rlc2t0b3BcbiAgICAuaXMtI3skZGlzcGxheX0tZGVza3RvcFxuICAgICAgZGlzcGxheTogI3skZGlzcGxheX0gIWltcG9ydGFudFxuICArZGVza3RvcC1vbmx5XG4gICAgLmlzLSN7JGRpc3BsYXl9LWRlc2t0b3Atb25seVxuICAgICAgZGlzcGxheTogI3skZGlzcGxheX0gIWltcG9ydGFudFxuICArd2lkZXNjcmVlblxuICAgIC5pcy0jeyRkaXNwbGF5fS13aWRlc2NyZWVuXG4gICAgICBkaXNwbGF5OiAjeyRkaXNwbGF5fSAhaW1wb3J0YW50XG4gICt3aWRlc2NyZWVuLW9ubHlcbiAgICAuaXMtI3skZGlzcGxheX0td2lkZXNjcmVlbi1vbmx5XG4gICAgICBkaXNwbGF5OiAjeyRkaXNwbGF5fSAhaW1wb3J0YW50XG4gICtmdWxsaGRcbiAgICAuaXMtI3skZGlzcGxheX0tZnVsbGhkXG4gICAgICBkaXNwbGF5OiAjeyRkaXNwbGF5fSAhaW1wb3J0YW50XG5cbi5pcy1oaWRkZW5cbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50XG5cbi5pcy1zci1vbmx5XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudFxuICBoZWlnaHQ6IDAuMDFlbSAhaW1wb3J0YW50XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudFxuICBwYWRkaW5nOiAwICFpbXBvcnRhbnRcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnRcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50XG4gIHdpZHRoOiAwLjAxZW0gIWltcG9ydGFudFxuXG4rbW9iaWxlXG4gIC5pcy1oaWRkZW4tbW9iaWxlXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50XG5cbit0YWJsZXRcbiAgLmlzLWhpZGRlbi10YWJsZXRcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnRcblxuK3RhYmxldC1vbmx5XG4gIC5pcy1oaWRkZW4tdGFibGV0LW9ubHlcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnRcblxuK3RvdWNoXG4gIC5pcy1oaWRkZW4tdG91Y2hcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnRcblxuK2Rlc2t0b3BcbiAgLmlzLWhpZGRlbi1kZXNrdG9wXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50XG5cbitkZXNrdG9wLW9ubHlcbiAgLmlzLWhpZGRlbi1kZXNrdG9wLW9ubHlcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnRcblxuK3dpZGVzY3JlZW5cbiAgLmlzLWhpZGRlbi13aWRlc2NyZWVuXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50XG5cbit3aWRlc2NyZWVuLW9ubHlcbiAgLmlzLWhpZGRlbi13aWRlc2NyZWVuLW9ubHlcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnRcblxuK2Z1bGxoZFxuICAuaXMtaGlkZGVuLWZ1bGxoZFxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudFxuXG4uaXMtaW52aXNpYmxlXG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50XG5cbittb2JpbGVcbiAgLmlzLWludmlzaWJsZS1tb2JpbGVcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudFxuXG4rdGFibGV0XG4gIC5pcy1pbnZpc2libGUtdGFibGV0XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnRcblxuK3RhYmxldC1vbmx5XG4gIC5pcy1pbnZpc2libGUtdGFibGV0LW9ubHlcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudFxuXG4rdG91Y2hcbiAgLmlzLWludmlzaWJsZS10b3VjaFxuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50XG5cbitkZXNrdG9wXG4gIC5pcy1pbnZpc2libGUtZGVza3RvcFxuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50XG5cbitkZXNrdG9wLW9ubHlcbiAgLmlzLWludmlzaWJsZS1kZXNrdG9wLW9ubHlcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudFxuXG4rd2lkZXNjcmVlblxuICAuaXMtaW52aXNpYmxlLXdpZGVzY3JlZW5cbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudFxuXG4rd2lkZXNjcmVlbi1vbmx5XG4gIC5pcy1pbnZpc2libGUtd2lkZXNjcmVlbi1vbmx5XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnRcblxuK2Z1bGxoZFxuICAuaXMtaW52aXNpYmxlLWZ1bGxoZFxuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50XG5cbi8vIE90aGVyXG5cbi5pcy1tYXJnaW5sZXNzXG4gIG1hcmdpbjogMCAhaW1wb3J0YW50XG5cbi5pcy1wYWRkaW5nbGVzc1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnRcblxuLmlzLXJhZGl1c2xlc3NcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50XG5cbi5pcy1zaGFkb3dsZXNzXG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudFxuXG4uaXMtdW5zZWxlY3RhYmxlXG4gIEBleHRlbmQgJXVuc2VsZWN0YWJsZVxuXG4uaXMtcmVsYXRpdmVcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnRcbiIsIiRjb2x1bW4tZ2FwOiAwLjc1cmVtICFkZWZhdWx0XG5cbi5jb2x1bW5cbiAgZGlzcGxheTogYmxvY2tcbiAgZmxleC1iYXNpczogMFxuICBmbGV4LWdyb3c6IDFcbiAgZmxleC1zaHJpbms6IDFcbiAgcGFkZGluZzogJGNvbHVtbi1nYXBcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy1uYXJyb3dcbiAgICBmbGV4OiBub25lXG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtZnVsbFxuICAgIGZsZXg6IG5vbmVcbiAgICB3aWR0aDogMTAwJVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLXRocmVlLXF1YXJ0ZXJzXG4gICAgZmxleDogbm9uZVxuICAgIHdpZHRoOiA3NSVcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy10d28tdGhpcmRzXG4gICAgZmxleDogbm9uZVxuICAgIHdpZHRoOiA2Ni42NjY2JVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLWhhbGZcbiAgICBmbGV4OiBub25lXG4gICAgd2lkdGg6IDUwJVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLW9uZS10aGlyZFxuICAgIGZsZXg6IG5vbmVcbiAgICB3aWR0aDogMzMuMzMzMyVcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy1vbmUtcXVhcnRlclxuICAgIGZsZXg6IG5vbmVcbiAgICB3aWR0aDogMjUlXG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtb25lLWZpZnRoXG4gICAgZmxleDogbm9uZVxuICAgIHdpZHRoOiAyMCVcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy10d28tZmlmdGhzXG4gICAgZmxleDogbm9uZVxuICAgIHdpZHRoOiA0MCVcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy10aHJlZS1maWZ0aHNcbiAgICBmbGV4OiBub25lXG4gICAgd2lkdGg6IDYwJVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLWZvdXItZmlmdGhzXG4gICAgZmxleDogbm9uZVxuICAgIHdpZHRoOiA4MCVcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy1vZmZzZXQtdGhyZWUtcXVhcnRlcnNcbiAgICBtYXJnaW4tbGVmdDogNzUlXG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtb2Zmc2V0LXR3by10aGlyZHNcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NiVcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy1vZmZzZXQtaGFsZlxuICAgIG1hcmdpbi1sZWZ0OiA1MCVcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy1vZmZzZXQtb25lLXRoaXJkXG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMlXG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtb2Zmc2V0LW9uZS1xdWFydGVyXG4gICAgbWFyZ2luLWxlZnQ6IDI1JVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLW9mZnNldC1vbmUtZmlmdGhcbiAgICBtYXJnaW4tbGVmdDogMjAlXG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtb2Zmc2V0LXR3by1maWZ0aHNcbiAgICBtYXJnaW4tbGVmdDogNDAlXG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtb2Zmc2V0LXRocmVlLWZpZnRoc1xuICAgIG1hcmdpbi1sZWZ0OiA2MCVcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy1vZmZzZXQtZm91ci1maWZ0aHNcbiAgICBtYXJnaW4tbGVmdDogODAlXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMTJcbiAgICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLSN7JGl9XG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgkaSAvIDEyKVxuICAgIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtb2Zmc2V0LSN7JGl9XG4gICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgkaSAvIDEyKVxuICArbW9iaWxlXG4gICAgJi5pcy1uYXJyb3ctbW9iaWxlXG4gICAgICBmbGV4OiBub25lXG4gICAgJi5pcy1mdWxsLW1vYmlsZVxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDEwMCVcbiAgICAmLmlzLXRocmVlLXF1YXJ0ZXJzLW1vYmlsZVxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDc1JVxuICAgICYuaXMtdHdvLXRoaXJkcy1tb2JpbGVcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA2Ni42NjY2JVxuICAgICYuaXMtaGFsZi1tb2JpbGVcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA1MCVcbiAgICAmLmlzLW9uZS10aGlyZC1tb2JpbGVcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAzMy4zMzMzJVxuICAgICYuaXMtb25lLXF1YXJ0ZXItbW9iaWxlXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMjUlXG4gICAgJi5pcy1vbmUtZmlmdGgtbW9iaWxlXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMjAlXG4gICAgJi5pcy10d28tZmlmdGhzLW1vYmlsZVxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDQwJVxuICAgICYuaXMtdGhyZWUtZmlmdGhzLW1vYmlsZVxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDYwJVxuICAgICYuaXMtZm91ci1maWZ0aHMtbW9iaWxlXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogODAlXG4gICAgJi5pcy1vZmZzZXQtdGhyZWUtcXVhcnRlcnMtbW9iaWxlXG4gICAgICBtYXJnaW4tbGVmdDogNzUlXG4gICAgJi5pcy1vZmZzZXQtdHdvLXRoaXJkcy1tb2JpbGVcbiAgICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2JVxuICAgICYuaXMtb2Zmc2V0LWhhbGYtbW9iaWxlXG4gICAgICBtYXJnaW4tbGVmdDogNTAlXG4gICAgJi5pcy1vZmZzZXQtb25lLXRoaXJkLW1vYmlsZVxuICAgICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMlXG4gICAgJi5pcy1vZmZzZXQtb25lLXF1YXJ0ZXItbW9iaWxlXG4gICAgICBtYXJnaW4tbGVmdDogMjUlXG4gICAgJi5pcy1vZmZzZXQtb25lLWZpZnRoLW1vYmlsZVxuICAgICAgbWFyZ2luLWxlZnQ6IDIwJVxuICAgICYuaXMtb2Zmc2V0LXR3by1maWZ0aHMtbW9iaWxlXG4gICAgICBtYXJnaW4tbGVmdDogNDAlXG4gICAgJi5pcy1vZmZzZXQtdGhyZWUtZmlmdGhzLW1vYmlsZVxuICAgICAgbWFyZ2luLWxlZnQ6IDYwJVxuICAgICYuaXMtb2Zmc2V0LWZvdXItZmlmdGhzLW1vYmlsZVxuICAgICAgbWFyZ2luLWxlZnQ6IDgwJVxuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMTJcbiAgICAgICYuaXMtI3skaX0tbW9iaWxlXG4gICAgICAgIGZsZXg6IG5vbmVcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGkgLyAxMilcbiAgICAgICYuaXMtb2Zmc2V0LSN7JGl9LW1vYmlsZVxuICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgkaSAvIDEyKVxuICArdGFibGV0XG4gICAgJi5pcy1uYXJyb3csXG4gICAgJi5pcy1uYXJyb3ctdGFibGV0XG4gICAgICBmbGV4OiBub25lXG4gICAgJi5pcy1mdWxsLFxuICAgICYuaXMtZnVsbC10YWJsZXRcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAxMDAlXG4gICAgJi5pcy10aHJlZS1xdWFydGVycyxcbiAgICAmLmlzLXRocmVlLXF1YXJ0ZXJzLXRhYmxldFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDc1JVxuICAgICYuaXMtdHdvLXRoaXJkcyxcbiAgICAmLmlzLXR3by10aGlyZHMtdGFibGV0XG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNjYuNjY2NiVcbiAgICAmLmlzLWhhbGYsXG4gICAgJi5pcy1oYWxmLXRhYmxldFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDUwJVxuICAgICYuaXMtb25lLXRoaXJkLFxuICAgICYuaXMtb25lLXRoaXJkLXRhYmxldFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDMzLjMzMzMlXG4gICAgJi5pcy1vbmUtcXVhcnRlcixcbiAgICAmLmlzLW9uZS1xdWFydGVyLXRhYmxldFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDI1JVxuICAgICYuaXMtb25lLWZpZnRoLFxuICAgICYuaXMtb25lLWZpZnRoLXRhYmxldFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDIwJVxuICAgICYuaXMtdHdvLWZpZnRocyxcbiAgICAmLmlzLXR3by1maWZ0aHMtdGFibGV0XG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNDAlXG4gICAgJi5pcy10aHJlZS1maWZ0aHMsXG4gICAgJi5pcy10aHJlZS1maWZ0aHMtdGFibGV0XG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNjAlXG4gICAgJi5pcy1mb3VyLWZpZnRocyxcbiAgICAmLmlzLWZvdXItZmlmdGhzLXRhYmxldFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDgwJVxuICAgICYuaXMtb2Zmc2V0LXRocmVlLXF1YXJ0ZXJzLFxuICAgICYuaXMtb2Zmc2V0LXRocmVlLXF1YXJ0ZXJzLXRhYmxldFxuICAgICAgbWFyZ2luLWxlZnQ6IDc1JVxuICAgICYuaXMtb2Zmc2V0LXR3by10aGlyZHMsXG4gICAgJi5pcy1vZmZzZXQtdHdvLXRoaXJkcy10YWJsZXRcbiAgICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2JVxuICAgICYuaXMtb2Zmc2V0LWhhbGYsXG4gICAgJi5pcy1vZmZzZXQtaGFsZi10YWJsZXRcbiAgICAgIG1hcmdpbi1sZWZ0OiA1MCVcbiAgICAmLmlzLW9mZnNldC1vbmUtdGhpcmQsXG4gICAgJi5pcy1vZmZzZXQtb25lLXRoaXJkLXRhYmxldFxuICAgICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMlXG4gICAgJi5pcy1vZmZzZXQtb25lLXF1YXJ0ZXIsXG4gICAgJi5pcy1vZmZzZXQtb25lLXF1YXJ0ZXItdGFibGV0XG4gICAgICBtYXJnaW4tbGVmdDogMjUlXG4gICAgJi5pcy1vZmZzZXQtb25lLWZpZnRoLFxuICAgICYuaXMtb2Zmc2V0LW9uZS1maWZ0aC10YWJsZXRcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMCVcbiAgICAmLmlzLW9mZnNldC10d28tZmlmdGhzLFxuICAgICYuaXMtb2Zmc2V0LXR3by1maWZ0aHMtdGFibGV0XG4gICAgICBtYXJnaW4tbGVmdDogNDAlXG4gICAgJi5pcy1vZmZzZXQtdGhyZWUtZmlmdGhzLFxuICAgICYuaXMtb2Zmc2V0LXRocmVlLWZpZnRocy10YWJsZXRcbiAgICAgIG1hcmdpbi1sZWZ0OiA2MCVcbiAgICAmLmlzLW9mZnNldC1mb3VyLWZpZnRocyxcbiAgICAmLmlzLW9mZnNldC1mb3VyLWZpZnRocy10YWJsZXRcbiAgICAgIG1hcmdpbi1sZWZ0OiA4MCVcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIDEyXG4gICAgICAmLmlzLSN7JGl9LFxuICAgICAgJi5pcy0jeyRpfS10YWJsZXRcbiAgICAgICAgZmxleDogbm9uZVxuICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgkaSAvIDEyKVxuICAgICAgJi5pcy1vZmZzZXQtI3skaX0sXG4gICAgICAmLmlzLW9mZnNldC0jeyRpfS10YWJsZXRcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoJGkgLyAxMilcbiAgK3RvdWNoXG4gICAgJi5pcy1uYXJyb3ctdG91Y2hcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAmLmlzLWZ1bGwtdG91Y2hcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAxMDAlXG4gICAgJi5pcy10aHJlZS1xdWFydGVycy10b3VjaFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDc1JVxuICAgICYuaXMtdHdvLXRoaXJkcy10b3VjaFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDY2LjY2NjYlXG4gICAgJi5pcy1oYWxmLXRvdWNoXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNTAlXG4gICAgJi5pcy1vbmUtdGhpcmQtdG91Y2hcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAzMy4zMzMzJVxuICAgICYuaXMtb25lLXF1YXJ0ZXItdG91Y2hcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAyNSVcbiAgICAmLmlzLW9uZS1maWZ0aC10b3VjaFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDIwJVxuICAgICYuaXMtdHdvLWZpZnRocy10b3VjaFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDQwJVxuICAgICYuaXMtdGhyZWUtZmlmdGhzLXRvdWNoXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNjAlXG4gICAgJi5pcy1mb3VyLWZpZnRocy10b3VjaFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDgwJVxuICAgICYuaXMtb2Zmc2V0LXRocmVlLXF1YXJ0ZXJzLXRvdWNoXG4gICAgICBtYXJnaW4tbGVmdDogNzUlXG4gICAgJi5pcy1vZmZzZXQtdHdvLXRoaXJkcy10b3VjaFxuICAgICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjYlXG4gICAgJi5pcy1vZmZzZXQtaGFsZi10b3VjaFxuICAgICAgbWFyZ2luLWxlZnQ6IDUwJVxuICAgICYuaXMtb2Zmc2V0LW9uZS10aGlyZC10b3VjaFxuICAgICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMlXG4gICAgJi5pcy1vZmZzZXQtb25lLXF1YXJ0ZXItdG91Y2hcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNSVcbiAgICAmLmlzLW9mZnNldC1vbmUtZmlmdGgtdG91Y2hcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMCVcbiAgICAmLmlzLW9mZnNldC10d28tZmlmdGhzLXRvdWNoXG4gICAgICBtYXJnaW4tbGVmdDogNDAlXG4gICAgJi5pcy1vZmZzZXQtdGhyZWUtZmlmdGhzLXRvdWNoXG4gICAgICBtYXJnaW4tbGVmdDogNjAlXG4gICAgJi5pcy1vZmZzZXQtZm91ci1maWZ0aHMtdG91Y2hcbiAgICAgIG1hcmdpbi1sZWZ0OiA4MCVcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIDEyXG4gICAgICAmLmlzLSN7JGl9LXRvdWNoXG4gICAgICAgIGZsZXg6IG5vbmVcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGkgLyAxMilcbiAgICAgICYuaXMtb2Zmc2V0LSN7JGl9LXRvdWNoXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCRpIC8gMTIpXG4gICtkZXNrdG9wXG4gICAgJi5pcy1uYXJyb3ctZGVza3RvcFxuICAgICAgZmxleDogbm9uZVxuICAgICYuaXMtZnVsbC1kZXNrdG9wXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMTAwJVxuICAgICYuaXMtdGhyZWUtcXVhcnRlcnMtZGVza3RvcFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDc1JVxuICAgICYuaXMtdHdvLXRoaXJkcy1kZXNrdG9wXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNjYuNjY2NiVcbiAgICAmLmlzLWhhbGYtZGVza3RvcFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDUwJVxuICAgICYuaXMtb25lLXRoaXJkLWRlc2t0b3BcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAzMy4zMzMzJVxuICAgICYuaXMtb25lLXF1YXJ0ZXItZGVza3RvcFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDI1JVxuICAgICYuaXMtb25lLWZpZnRoLWRlc2t0b3BcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAyMCVcbiAgICAmLmlzLXR3by1maWZ0aHMtZGVza3RvcFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDQwJVxuICAgICYuaXMtdGhyZWUtZmlmdGhzLWRlc2t0b3BcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA2MCVcbiAgICAmLmlzLWZvdXItZmlmdGhzLWRlc2t0b3BcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA4MCVcbiAgICAmLmlzLW9mZnNldC10aHJlZS1xdWFydGVycy1kZXNrdG9wXG4gICAgICBtYXJnaW4tbGVmdDogNzUlXG4gICAgJi5pcy1vZmZzZXQtdHdvLXRoaXJkcy1kZXNrdG9wXG4gICAgICBtYXJnaW4tbGVmdDogNjYuNjY2NiVcbiAgICAmLmlzLW9mZnNldC1oYWxmLWRlc2t0b3BcbiAgICAgIG1hcmdpbi1sZWZ0OiA1MCVcbiAgICAmLmlzLW9mZnNldC1vbmUtdGhpcmQtZGVza3RvcFxuICAgICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMlXG4gICAgJi5pcy1vZmZzZXQtb25lLXF1YXJ0ZXItZGVza3RvcFxuICAgICAgbWFyZ2luLWxlZnQ6IDI1JVxuICAgICYuaXMtb2Zmc2V0LW9uZS1maWZ0aC1kZXNrdG9wXG4gICAgICBtYXJnaW4tbGVmdDogMjAlXG4gICAgJi5pcy1vZmZzZXQtdHdvLWZpZnRocy1kZXNrdG9wXG4gICAgICBtYXJnaW4tbGVmdDogNDAlXG4gICAgJi5pcy1vZmZzZXQtdGhyZWUtZmlmdGhzLWRlc2t0b3BcbiAgICAgIG1hcmdpbi1sZWZ0OiA2MCVcbiAgICAmLmlzLW9mZnNldC1mb3VyLWZpZnRocy1kZXNrdG9wXG4gICAgICBtYXJnaW4tbGVmdDogODAlXG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAxMlxuICAgICAgJi5pcy0jeyRpfS1kZXNrdG9wXG4gICAgICAgIGZsZXg6IG5vbmVcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGkgLyAxMilcbiAgICAgICYuaXMtb2Zmc2V0LSN7JGl9LWRlc2t0b3BcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoJGkgLyAxMilcbiAgK3dpZGVzY3JlZW5cbiAgICAmLmlzLW5hcnJvdy13aWRlc2NyZWVuXG4gICAgICBmbGV4OiBub25lXG4gICAgJi5pcy1mdWxsLXdpZGVzY3JlZW5cbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAxMDAlXG4gICAgJi5pcy10aHJlZS1xdWFydGVycy13aWRlc2NyZWVuXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNzUlXG4gICAgJi5pcy10d28tdGhpcmRzLXdpZGVzY3JlZW5cbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA2Ni42NjY2JVxuICAgICYuaXMtaGFsZi13aWRlc2NyZWVuXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNTAlXG4gICAgJi5pcy1vbmUtdGhpcmQtd2lkZXNjcmVlblxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDMzLjMzMzMlXG4gICAgJi5pcy1vbmUtcXVhcnRlci13aWRlc2NyZWVuXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMjUlXG4gICAgJi5pcy1vbmUtZmlmdGgtd2lkZXNjcmVlblxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDIwJVxuICAgICYuaXMtdHdvLWZpZnRocy13aWRlc2NyZWVuXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNDAlXG4gICAgJi5pcy10aHJlZS1maWZ0aHMtd2lkZXNjcmVlblxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDYwJVxuICAgICYuaXMtZm91ci1maWZ0aHMtd2lkZXNjcmVlblxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDgwJVxuICAgICYuaXMtb2Zmc2V0LXRocmVlLXF1YXJ0ZXJzLXdpZGVzY3JlZW5cbiAgICAgIG1hcmdpbi1sZWZ0OiA3NSVcbiAgICAmLmlzLW9mZnNldC10d28tdGhpcmRzLXdpZGVzY3JlZW5cbiAgICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2JVxuICAgICYuaXMtb2Zmc2V0LWhhbGYtd2lkZXNjcmVlblxuICAgICAgbWFyZ2luLWxlZnQ6IDUwJVxuICAgICYuaXMtb2Zmc2V0LW9uZS10aGlyZC13aWRlc2NyZWVuXG4gICAgICBtYXJnaW4tbGVmdDogMzMuMzMzMyVcbiAgICAmLmlzLW9mZnNldC1vbmUtcXVhcnRlci13aWRlc2NyZWVuXG4gICAgICBtYXJnaW4tbGVmdDogMjUlXG4gICAgJi5pcy1vZmZzZXQtb25lLWZpZnRoLXdpZGVzY3JlZW5cbiAgICAgIG1hcmdpbi1sZWZ0OiAyMCVcbiAgICAmLmlzLW9mZnNldC10d28tZmlmdGhzLXdpZGVzY3JlZW5cbiAgICAgIG1hcmdpbi1sZWZ0OiA0MCVcbiAgICAmLmlzLW9mZnNldC10aHJlZS1maWZ0aHMtd2lkZXNjcmVlblxuICAgICAgbWFyZ2luLWxlZnQ6IDYwJVxuICAgICYuaXMtb2Zmc2V0LWZvdXItZmlmdGhzLXdpZGVzY3JlZW5cbiAgICAgIG1hcmdpbi1sZWZ0OiA4MCVcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIDEyXG4gICAgICAmLmlzLSN7JGl9LXdpZGVzY3JlZW5cbiAgICAgICAgZmxleDogbm9uZVxuICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgkaSAvIDEyKVxuICAgICAgJi5pcy1vZmZzZXQtI3skaX0td2lkZXNjcmVlblxuICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgkaSAvIDEyKVxuICArZnVsbGhkXG4gICAgJi5pcy1uYXJyb3ctZnVsbGhkXG4gICAgICBmbGV4OiBub25lXG4gICAgJi5pcy1mdWxsLWZ1bGxoZFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDEwMCVcbiAgICAmLmlzLXRocmVlLXF1YXJ0ZXJzLWZ1bGxoZFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDc1JVxuICAgICYuaXMtdHdvLXRoaXJkcy1mdWxsaGRcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA2Ni42NjY2JVxuICAgICYuaXMtaGFsZi1mdWxsaGRcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA1MCVcbiAgICAmLmlzLW9uZS10aGlyZC1mdWxsaGRcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAzMy4zMzMzJVxuICAgICYuaXMtb25lLXF1YXJ0ZXItZnVsbGhkXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMjUlXG4gICAgJi5pcy1vbmUtZmlmdGgtZnVsbGhkXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMjAlXG4gICAgJi5pcy10d28tZmlmdGhzLWZ1bGxoZFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDQwJVxuICAgICYuaXMtdGhyZWUtZmlmdGhzLWZ1bGxoZFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDYwJVxuICAgICYuaXMtZm91ci1maWZ0aHMtZnVsbGhkXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogODAlXG4gICAgJi5pcy1vZmZzZXQtdGhyZWUtcXVhcnRlcnMtZnVsbGhkXG4gICAgICBtYXJnaW4tbGVmdDogNzUlXG4gICAgJi5pcy1vZmZzZXQtdHdvLXRoaXJkcy1mdWxsaGRcbiAgICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2JVxuICAgICYuaXMtb2Zmc2V0LWhhbGYtZnVsbGhkXG4gICAgICBtYXJnaW4tbGVmdDogNTAlXG4gICAgJi5pcy1vZmZzZXQtb25lLXRoaXJkLWZ1bGxoZFxuICAgICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMlXG4gICAgJi5pcy1vZmZzZXQtb25lLXF1YXJ0ZXItZnVsbGhkXG4gICAgICBtYXJnaW4tbGVmdDogMjUlXG4gICAgJi5pcy1vZmZzZXQtb25lLWZpZnRoLWZ1bGxoZFxuICAgICAgbWFyZ2luLWxlZnQ6IDIwJVxuICAgICYuaXMtb2Zmc2V0LXR3by1maWZ0aHMtZnVsbGhkXG4gICAgICBtYXJnaW4tbGVmdDogNDAlXG4gICAgJi5pcy1vZmZzZXQtdGhyZWUtZmlmdGhzLWZ1bGxoZFxuICAgICAgbWFyZ2luLWxlZnQ6IDYwJVxuICAgICYuaXMtb2Zmc2V0LWZvdXItZmlmdGhzLWZ1bGxoZFxuICAgICAgbWFyZ2luLWxlZnQ6IDgwJVxuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMTJcbiAgICAgICYuaXMtI3skaX0tZnVsbGhkXG4gICAgICAgIGZsZXg6IG5vbmVcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGkgLyAxMilcbiAgICAgICYuaXMtb2Zmc2V0LSN7JGl9LWZ1bGxoZFxuICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgkaSAvIDEyKVxuXG4uY29sdW1uc1xuICBtYXJnaW4tbGVmdDogKC0kY29sdW1uLWdhcClcbiAgbWFyZ2luLXJpZ2h0OiAoLSRjb2x1bW4tZ2FwKVxuICBtYXJnaW4tdG9wOiAoLSRjb2x1bW4tZ2FwKVxuICAmOmxhc3QtY2hpbGRcbiAgICBtYXJnaW4tYm90dG9tOiAoLSRjb2x1bW4tZ2FwKVxuICAmOm5vdCg6bGFzdC1jaGlsZClcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDEuNXJlbSAtICN7JGNvbHVtbi1nYXB9KVxuICAvLyBNb2RpZmllcnNcbiAgJi5pcy1jZW50ZXJlZFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyXG4gICYuaXMtZ2FwbGVzc1xuICAgIG1hcmdpbi1sZWZ0OiAwXG4gICAgbWFyZ2luLXJpZ2h0OiAwXG4gICAgbWFyZ2luLXRvcDogMFxuICAgICYgPiAuY29sdW1uXG4gICAgICBtYXJnaW46IDBcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudFxuICAgICY6bm90KDpsYXN0LWNoaWxkKVxuICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtXG4gICAgJjpsYXN0LWNoaWxkXG4gICAgICBtYXJnaW4tYm90dG9tOiAwXG4gICYuaXMtbW9iaWxlXG4gICAgZGlzcGxheTogZmxleFxuICAmLmlzLW11bHRpbGluZVxuICAgIGZsZXgtd3JhcDogd3JhcFxuICAmLmlzLXZjZW50ZXJlZFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXJcbiAgLy8gUmVzcG9uc2l2ZW5lc3NcbiAgK3RhYmxldFxuICAgICY6bm90KC5pcy1kZXNrdG9wKVxuICAgICAgZGlzcGxheTogZmxleFxuICArZGVza3RvcFxuICAgIC8vIE1vZGlmaWVyc1xuICAgICYuaXMtZGVza3RvcFxuICAgICAgZGlzcGxheTogZmxleFxuXG5AaWYgJHZhcmlhYmxlLWNvbHVtbnNcbiAgLmNvbHVtbnMuaXMtdmFyaWFibGVcbiAgICAtLWNvbHVtbkdhcDogMC43NXJlbVxuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tY29sdW1uR2FwKSlcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS1jb2x1bW5HYXApKVxuICAgIC5jb2x1bW5cbiAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tY29sdW1uR2FwKVxuICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tY29sdW1uR2FwKVxuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggOFxuICAgICAgJi5pcy0jeyRpfVxuICAgICAgICAtLWNvbHVtbkdhcDogI3skaSAqIDAuMjVyZW19XG4gICAgICArbW9iaWxlXG4gICAgICAgICYuaXMtI3skaX0tbW9iaWxlXG4gICAgICAgICAgLS1jb2x1bW5HYXA6ICN7JGkgKiAwLjI1cmVtfVxuICAgICAgK3RhYmxldFxuICAgICAgICAmLmlzLSN7JGl9LXRhYmxldFxuICAgICAgICAgIC0tY29sdW1uR2FwOiAjeyRpICogMC4yNXJlbX1cbiAgICAgICt0YWJsZXQtb25seVxuICAgICAgICAmLmlzLSN7JGl9LXRhYmxldC1vbmx5XG4gICAgICAgICAgLS1jb2x1bW5HYXA6ICN7JGkgKiAwLjI1cmVtfVxuICAgICAgK3RvdWNoXG4gICAgICAgICYuaXMtI3skaX0tdG91Y2hcbiAgICAgICAgICAtLWNvbHVtbkdhcDogI3skaSAqIDAuMjVyZW19XG4gICAgICArZGVza3RvcFxuICAgICAgICAmLmlzLSN7JGl9LWRlc2t0b3BcbiAgICAgICAgICAtLWNvbHVtbkdhcDogI3skaSAqIDAuMjVyZW19XG4gICAgICArZGVza3RvcC1vbmx5XG4gICAgICAgICYuaXMtI3skaX0tZGVza3RvcC1vbmx5XG4gICAgICAgICAgLS1jb2x1bW5HYXA6ICN7JGkgKiAwLjI1cmVtfVxuICAgICAgK3dpZGVzY3JlZW5cbiAgICAgICAgJi5pcy0jeyRpfS13aWRlc2NyZWVuXG4gICAgICAgICAgLS1jb2x1bW5HYXA6ICN7JGkgKiAwLjI1cmVtfVxuICAgICAgK3dpZGVzY3JlZW4tb25seVxuICAgICAgICAmLmlzLSN7JGl9LXdpZGVzY3JlZW4tb25seVxuICAgICAgICAgIC0tY29sdW1uR2FwOiAjeyRpICogMC4yNXJlbX1cbiAgICAgICtmdWxsaGRcbiAgICAgICAgJi5pcy0jeyRpfS1mdWxsaGRcbiAgICAgICAgICAtLWNvbHVtbkdhcDogI3skaSAqIDAuMjVyZW19XG4iLCIkdGlsZS1zcGFjaW5nOiAwLjc1cmVtICFkZWZhdWx0XG5cbi50aWxlXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoXG4gIGRpc3BsYXk6IGJsb2NrXG4gIGZsZXgtYmFzaXM6IDBcbiAgZmxleC1ncm93OiAxXG4gIGZsZXgtc2hyaW5rOiAxXG4gIG1pbi1oZWlnaHQ6IG1pbi1jb250ZW50XG4gIC8vIE1vZGlmaWVyc1xuICAmLmlzLWFuY2VzdG9yXG4gICAgbWFyZ2luLWxlZnQ6ICR0aWxlLXNwYWNpbmcgKiAtMVxuICAgIG1hcmdpbi1yaWdodDogJHRpbGUtc3BhY2luZyAqIC0xXG4gICAgbWFyZ2luLXRvcDogJHRpbGUtc3BhY2luZyAqIC0xXG4gICAgJjpsYXN0LWNoaWxkXG4gICAgICBtYXJnaW4tYm90dG9tOiAkdGlsZS1zcGFjaW5nICogLTFcbiAgICAmOm5vdCg6bGFzdC1jaGlsZClcbiAgICAgIG1hcmdpbi1ib3R0b206ICR0aWxlLXNwYWNpbmdcbiAgJi5pcy1jaGlsZFxuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50XG4gICYuaXMtcGFyZW50XG4gICAgcGFkZGluZzogJHRpbGUtc3BhY2luZ1xuICAmLmlzLXZlcnRpY2FsXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtblxuICAgICYgPiAudGlsZS5pcy1jaGlsZDpub3QoOmxhc3QtY2hpbGQpXG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudFxuICAvLyBSZXNwb25zaXZlbmVzc1xuICArdGFibGV0XG4gICAgJjpub3QoLmlzLWNoaWxkKVxuICAgICAgZGlzcGxheTogZmxleFxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTJcbiAgICAgICYuaXMtI3skaX1cbiAgICAgICAgZmxleDogbm9uZVxuICAgICAgICB3aWR0aDogKCRpIC8gMTIpICogMTAwJVxuIiwiJG5hdmJhci1iYWNrZ3JvdW5kLWNvbG9yOiAkc2NoZW1lLW1haW4gIWRlZmF1bHRcbiRuYXZiYXItYm94LXNoYWRvdy1zaXplOiAwIDJweCAwIDAgIWRlZmF1bHRcbiRuYXZiYXItYm94LXNoYWRvdy1jb2xvcjogJGJhY2tncm91bmQgIWRlZmF1bHRcbiRuYXZiYXItaGVpZ2h0OiAzLjI1cmVtICFkZWZhdWx0XG4kbmF2YmFyLXBhZGRpbmctdmVydGljYWw6IDFyZW0gIWRlZmF1bHRcbiRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsOiAycmVtICFkZWZhdWx0XG4kbmF2YmFyLXo6IDMwICFkZWZhdWx0XG4kbmF2YmFyLWZpeGVkLXo6IDMwICFkZWZhdWx0XG5cbiRuYXZiYXItaXRlbS1jb2xvcjogJHRleHQgIWRlZmF1bHRcbiRuYXZiYXItaXRlbS1ob3Zlci1jb2xvcjogJGxpbmsgIWRlZmF1bHRcbiRuYXZiYXItaXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yOiAkc2NoZW1lLW1haW4tYmlzICFkZWZhdWx0XG4kbmF2YmFyLWl0ZW0tYWN0aXZlLWNvbG9yOiAkc2NoZW1lLWludmVydCAhZGVmYXVsdFxuJG5hdmJhci1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdFxuJG5hdmJhci1pdGVtLWltZy1tYXgtaGVpZ2h0OiAxLjc1cmVtICFkZWZhdWx0XG5cbiRuYXZiYXItYnVyZ2VyLWNvbG9yOiAkbmF2YmFyLWl0ZW0tY29sb3IgIWRlZmF1bHRcblxuJG5hdmJhci10YWItaG92ZXItYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHRcbiRuYXZiYXItdGFiLWhvdmVyLWJvcmRlci1ib3R0b20tY29sb3I6ICRsaW5rICFkZWZhdWx0XG4kbmF2YmFyLXRhYi1hY3RpdmUtY29sb3I6ICRsaW5rICFkZWZhdWx0XG4kbmF2YmFyLXRhYi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHRcbiRuYXZiYXItdGFiLWFjdGl2ZS1ib3JkZXItYm90dG9tLWNvbG9yOiAkbGluayAhZGVmYXVsdFxuJG5hdmJhci10YWItYWN0aXZlLWJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkICFkZWZhdWx0XG4kbmF2YmFyLXRhYi1hY3RpdmUtYm9yZGVyLWJvdHRvbS13aWR0aDogM3B4ICFkZWZhdWx0XG5cbiRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZC1jb2xvcjogJHNjaGVtZS1tYWluICFkZWZhdWx0XG4kbmF2YmFyLWRyb3Bkb3duLWJvcmRlci10b3A6IDJweCBzb2xpZCAkYm9yZGVyICFkZWZhdWx0XG4kbmF2YmFyLWRyb3Bkb3duLW9mZnNldDogLTRweCAhZGVmYXVsdFxuJG5hdmJhci1kcm9wZG93bi1hcnJvdzogJGxpbmsgIWRlZmF1bHRcbiRuYXZiYXItZHJvcGRvd24tcmFkaXVzOiAkcmFkaXVzLWxhcmdlICFkZWZhdWx0XG4kbmF2YmFyLWRyb3Bkb3duLXo6IDIwICFkZWZhdWx0XG5cbiRuYXZiYXItZHJvcGRvd24tYm94ZWQtcmFkaXVzOiAkcmFkaXVzLWxhcmdlICFkZWZhdWx0XG4kbmF2YmFyLWRyb3Bkb3duLWJveGVkLXNoYWRvdzogMCA4cHggOHB4IGJ1bG1hUmdiYSgkc2NoZW1lLWludmVydCwgMC4xKSwgMCAwIDAgMXB4IGJ1bG1hUmdiYSgkc2NoZW1lLWludmVydCwgMC4xKSAhZGVmYXVsdFxuXG4kbmF2YmFyLWRyb3Bkb3duLWl0ZW0taG92ZXItY29sb3I6ICRzY2hlbWUtaW52ZXJ0ICFkZWZhdWx0XG4kbmF2YmFyLWRyb3Bkb3duLWl0ZW0taG92ZXItYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQgIWRlZmF1bHRcbiRuYXZiYXItZHJvcGRvd24taXRlbS1hY3RpdmUtY29sb3I6ICRsaW5rICFkZWZhdWx0XG4kbmF2YmFyLWRyb3Bkb3duLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kICFkZWZhdWx0XG5cbiRuYXZiYXItZGl2aWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZCAhZGVmYXVsdFxuJG5hdmJhci1kaXZpZGVyLWhlaWdodDogMnB4ICFkZWZhdWx0XG5cbiRuYXZiYXItYm90dG9tLWJveC1zaGFkb3ctc2l6ZTogMCAtMnB4IDAgMCAhZGVmYXVsdFxuXG4kbmF2YmFyLWJyZWFrcG9pbnQ6ICRkZXNrdG9wICFkZWZhdWx0XG5cbj1uYXZiYXItZml4ZWRcbiAgbGVmdDogMFxuICBwb3NpdGlvbjogZml4ZWRcbiAgcmlnaHQ6IDBcbiAgei1pbmRleDogJG5hdmJhci1maXhlZC16XG5cbi5uYXZiYXJcbiAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1iYWNrZ3JvdW5kLWNvbG9yXG4gIG1pbi1oZWlnaHQ6ICRuYXZiYXItaGVpZ2h0XG4gIHBvc2l0aW9uOiByZWxhdGl2ZVxuICB6LWluZGV4OiAkbmF2YmFyLXpcbiAgQGVhY2ggJG5hbWUsICRwYWlyIGluICRjb2xvcnNcbiAgICAkY29sb3I6IG50aCgkcGFpciwgMSlcbiAgICAkY29sb3ItaW52ZXJ0OiBudGgoJHBhaXIsIDIpXG4gICAgJi5pcy0jeyRuYW1lfVxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yXG4gICAgICBjb2xvcjogJGNvbG9yLWludmVydFxuICAgICAgLm5hdmJhci1icmFuZFxuICAgICAgICAmID4gLm5hdmJhci1pdGVtLFxuICAgICAgICAubmF2YmFyLWxpbmtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLWludmVydFxuICAgICAgICAmID4gYS5uYXZiYXItaXRlbSxcbiAgICAgICAgLm5hdmJhci1saW5rXG4gICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICYuaXMtYWN0aXZlXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBidWxtYURhcmtlbigkY29sb3IsIDUlKVxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1pbnZlcnRcbiAgICAgICAgLm5hdmJhci1saW5rXG4gICAgICAgICAgJjo6YWZ0ZXJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWludmVydFxuICAgICAgLm5hdmJhci1idXJnZXJcbiAgICAgICAgY29sb3I6ICRjb2xvci1pbnZlcnRcbiAgICAgICtmcm9tKCRuYXZiYXItYnJlYWtwb2ludClcbiAgICAgICAgLm5hdmJhci1zdGFydCxcbiAgICAgICAgLm5hdmJhci1lbmRcbiAgICAgICAgICAmID4gLm5hdmJhci1pdGVtLFxuICAgICAgICAgIC5uYXZiYXItbGlua1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1pbnZlcnRcbiAgICAgICAgICAmID4gYS5uYXZiYXItaXRlbSxcbiAgICAgICAgICAubmF2YmFyLWxpbmtcbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJi5pcy1hY3RpdmVcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYnVsbWFEYXJrZW4oJGNvbG9yLCA1JSlcbiAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1pbnZlcnRcbiAgICAgICAgICAubmF2YmFyLWxpbmtcbiAgICAgICAgICAgICY6OmFmdGVyXG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWludmVydFxuICAgICAgICAubmF2YmFyLWl0ZW0uaGFzLWRyb3Bkb3duOmZvY3VzIC5uYXZiYXItbGluayxcbiAgICAgICAgLm5hdmJhci1pdGVtLmhhcy1kcm9wZG93bjpob3ZlciAubmF2YmFyLWxpbmssXG4gICAgICAgIC5uYXZiYXItaXRlbS5oYXMtZHJvcGRvd24uaXMtYWN0aXZlIC5uYXZiYXItbGlua1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJ1bG1hRGFya2VuKCRjb2xvciwgNSUpXG4gICAgICAgICAgY29sb3I6ICRjb2xvci1pbnZlcnRcbiAgICAgICAgLm5hdmJhci1kcm9wZG93blxuICAgICAgICAgIGEubmF2YmFyLWl0ZW1cbiAgICAgICAgICAgICYuaXMtYWN0aXZlXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvclxuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWludmVydFxuICAmID4gLmNvbnRhaW5lclxuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoXG4gICAgZGlzcGxheTogZmxleFxuICAgIG1pbi1oZWlnaHQ6ICRuYXZiYXItaGVpZ2h0XG4gICAgd2lkdGg6IDEwMCVcbiAgJi5oYXMtc2hhZG93XG4gICAgYm94LXNoYWRvdzogJG5hdmJhci1ib3gtc2hhZG93LXNpemUgJG5hdmJhci1ib3gtc2hhZG93LWNvbG9yXG4gICYuaXMtZml4ZWQtYm90dG9tLFxuICAmLmlzLWZpeGVkLXRvcFxuICAgICtuYXZiYXItZml4ZWRcbiAgJi5pcy1maXhlZC1ib3R0b21cbiAgICBib3R0b206IDBcbiAgICAmLmhhcy1zaGFkb3dcbiAgICAgIGJveC1zaGFkb3c6ICRuYXZiYXItYm90dG9tLWJveC1zaGFkb3ctc2l6ZSAkbmF2YmFyLWJveC1zaGFkb3ctY29sb3JcbiAgJi5pcy1maXhlZC10b3BcbiAgICB0b3A6IDBcblxuaHRtbCxcbmJvZHlcbiAgJi5oYXMtbmF2YmFyLWZpeGVkLXRvcFxuICAgIHBhZGRpbmctdG9wOiAkbmF2YmFyLWhlaWdodFxuICAmLmhhcy1uYXZiYXItZml4ZWQtYm90dG9tXG4gICAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItaGVpZ2h0XG5cbi5uYXZiYXItYnJhbmQsXG4ubmF2YmFyLXRhYnNcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2hcbiAgZGlzcGxheTogZmxleFxuICBmbGV4LXNocmluazogMFxuICBtaW4taGVpZ2h0OiAkbmF2YmFyLWhlaWdodFxuXG4ubmF2YmFyLWJyYW5kXG4gIGEubmF2YmFyLWl0ZW1cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50XG5cbi5uYXZiYXItdGFic1xuICArb3ZlcmZsb3ctdG91Y2hcbiAgbWF4LXdpZHRoOiAxMDB2d1xuICBvdmVyZmxvdy14OiBhdXRvXG4gIG92ZXJmbG93LXk6IGhpZGRlblxuXG4ubmF2YmFyLWJ1cmdlclxuICBjb2xvcjogJG5hdmJhci1idXJnZXItY29sb3JcbiAgK2hhbWJ1cmdlcigkbmF2YmFyLWhlaWdodClcbiAgbWFyZ2luLWxlZnQ6IGF1dG9cblxuLm5hdmJhci1tZW51XG4gIGRpc3BsYXk6IG5vbmVcblxuLm5hdmJhci1pdGVtLFxuLm5hdmJhci1saW5rXG4gIGNvbG9yOiAkbmF2YmFyLWl0ZW0tY29sb3JcbiAgZGlzcGxheTogYmxvY2tcbiAgbGluZS1oZWlnaHQ6IDEuNVxuICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbVxuICBwb3NpdGlvbjogcmVsYXRpdmVcbiAgLmljb25cbiAgICAmOm9ubHktY2hpbGRcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbVxuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbVxuXG5hLm5hdmJhci1pdGVtLFxuLm5hdmJhci1saW5rXG4gIGN1cnNvcjogcG9pbnRlclxuICAmOmZvY3VzLFxuICAmOmZvY3VzLXdpdGhpbixcbiAgJjpob3ZlcixcbiAgJi5pcy1hY3RpdmVcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWl0ZW0taG92ZXItYmFja2dyb3VuZC1jb2xvclxuICAgIGNvbG9yOiAkbmF2YmFyLWl0ZW0taG92ZXItY29sb3JcblxuLm5hdmJhci1pdGVtXG4gIGZsZXgtZ3JvdzogMFxuICBmbGV4LXNocmluazogMFxuICBpbWdcbiAgICBtYXgtaGVpZ2h0OiAkbmF2YmFyLWl0ZW0taW1nLW1heC1oZWlnaHRcbiAgJi5oYXMtZHJvcGRvd25cbiAgICBwYWRkaW5nOiAwXG4gICYuaXMtZXhwYW5kZWRcbiAgICBmbGV4LWdyb3c6IDFcbiAgICBmbGV4LXNocmluazogMVxuICAmLmlzLXRhYlxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudFxuICAgIG1pbi1oZWlnaHQ6ICRuYXZiYXItaGVpZ2h0XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoMC41cmVtIC0gMXB4KVxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci10YWItaG92ZXItYmFja2dyb3VuZC1jb2xvclxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJG5hdmJhci10YWItaG92ZXItYm9yZGVyLWJvdHRvbS1jb2xvclxuICAgICYuaXMtYWN0aXZlXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLXRhYi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvclxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJG5hdmJhci10YWItYWN0aXZlLWJvcmRlci1ib3R0b20tY29sb3JcbiAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6ICRuYXZiYXItdGFiLWFjdGl2ZS1ib3JkZXItYm90dG9tLXN0eWxlXG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAkbmF2YmFyLXRhYi1hY3RpdmUtYm9yZGVyLWJvdHRvbS13aWR0aFxuICAgICAgY29sb3I6ICRuYXZiYXItdGFiLWFjdGl2ZS1jb2xvclxuICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoMC41cmVtIC0gI3skbmF2YmFyLXRhYi1hY3RpdmUtYm9yZGVyLWJvdHRvbS13aWR0aH0pXG5cbi5uYXZiYXItY29udGVudFxuICBmbGV4LWdyb3c6IDFcbiAgZmxleC1zaHJpbms6IDFcblxuLm5hdmJhci1saW5rOm5vdCguaXMtYXJyb3dsZXNzKVxuICBwYWRkaW5nLXJpZ2h0OiAyLjVlbVxuICAmOjphZnRlclxuICAgIEBleHRlbmQgJWFycm93XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLWFycm93XG4gICAgbWFyZ2luLXRvcDogLTAuMzc1ZW1cbiAgICByaWdodDogMS4xMjVlbVxuXG4ubmF2YmFyLWRyb3Bkb3duXG4gIGZvbnQtc2l6ZTogMC44NzVyZW1cbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbVxuICBwYWRkaW5nLXRvcDogMC41cmVtXG4gIC5uYXZiYXItaXRlbVxuICAgIHBhZGRpbmctbGVmdDogMS41cmVtXG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtXG5cbi5uYXZiYXItZGl2aWRlclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRpdmlkZXItYmFja2dyb3VuZC1jb2xvclxuICBib3JkZXI6IG5vbmVcbiAgZGlzcGxheTogbm9uZVxuICBoZWlnaHQ6ICRuYXZiYXItZGl2aWRlci1oZWlnaHRcbiAgbWFyZ2luOiAwLjVyZW0gMFxuXG4rdW50aWwoJG5hdmJhci1icmVha3BvaW50KVxuICAubmF2YmFyID4gLmNvbnRhaW5lclxuICAgIGRpc3BsYXk6IGJsb2NrXG4gIC5uYXZiYXItYnJhbmQsXG4gIC5uYXZiYXItdGFic1xuICAgIC5uYXZiYXItaXRlbVxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlclxuICAgICAgZGlzcGxheTogZmxleFxuICAubmF2YmFyLWxpbmtcbiAgICAmOjphZnRlclxuICAgICAgZGlzcGxheTogbm9uZVxuICAubmF2YmFyLW1lbnVcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWJhY2tncm91bmQtY29sb3JcbiAgICBib3gtc2hhZG93OiAwIDhweCAxNnB4IGJ1bG1hUmdiYSgkc2NoZW1lLWludmVydCwgMC4xKVxuICAgIHBhZGRpbmc6IDAuNXJlbSAwXG4gICAgJi5pcy1hY3RpdmVcbiAgICAgIGRpc3BsYXk6IGJsb2NrXG4gIC8vIEZpeGVkIG5hdmJhclxuICAubmF2YmFyXG4gICAgJi5pcy1maXhlZC1ib3R0b20tdG91Y2gsXG4gICAgJi5pcy1maXhlZC10b3AtdG91Y2hcbiAgICAgICtuYXZiYXItZml4ZWRcbiAgICAmLmlzLWZpeGVkLWJvdHRvbS10b3VjaFxuICAgICAgYm90dG9tOiAwXG4gICAgICAmLmhhcy1zaGFkb3dcbiAgICAgICAgYm94LXNoYWRvdzogMCAtMnB4IDNweCBidWxtYVJnYmEoJHNjaGVtZS1pbnZlcnQsIDAuMSlcbiAgICAmLmlzLWZpeGVkLXRvcC10b3VjaFxuICAgICAgdG9wOiAwXG4gICAgJi5pcy1maXhlZC10b3AsXG4gICAgJi5pcy1maXhlZC10b3AtdG91Y2hcbiAgICAgIC5uYXZiYXItbWVudVxuICAgICAgICArb3ZlcmZsb3ctdG91Y2hcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtICN7JG5hdmJhci1oZWlnaHR9KVxuICAgICAgICBvdmVyZmxvdzogYXV0b1xuICBodG1sLFxuICBib2R5XG4gICAgJi5oYXMtbmF2YmFyLWZpeGVkLXRvcC10b3VjaFxuICAgICAgcGFkZGluZy10b3A6ICRuYXZiYXItaGVpZ2h0XG4gICAgJi5oYXMtbmF2YmFyLWZpeGVkLWJvdHRvbS10b3VjaFxuICAgICAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItaGVpZ2h0XG5cbitmcm9tKCRuYXZiYXItYnJlYWtwb2ludClcbiAgLm5hdmJhcixcbiAgLm5hdmJhci1tZW51LFxuICAubmF2YmFyLXN0YXJ0LFxuICAubmF2YmFyLWVuZFxuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoXG4gICAgZGlzcGxheTogZmxleFxuICAubmF2YmFyXG4gICAgbWluLWhlaWdodDogJG5hdmJhci1oZWlnaHRcbiAgICAmLmlzLXNwYWNlZFxuICAgICAgcGFkZGluZzogJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsXG4gICAgICAubmF2YmFyLXN0YXJ0LFxuICAgICAgLm5hdmJhci1lbmRcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlclxuICAgICAgYS5uYXZiYXItaXRlbSxcbiAgICAgIC5uYXZiYXItbGlua1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzXG4gICAgJi5pcy10cmFuc3BhcmVudFxuICAgICAgYS5uYXZiYXItaXRlbSxcbiAgICAgIC5uYXZiYXItbGlua1xuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmlzLWFjdGl2ZVxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnRcbiAgICAgIC5uYXZiYXItaXRlbS5oYXMtZHJvcGRvd25cbiAgICAgICAgJi5pcy1hY3RpdmUsXG4gICAgICAgICYuaXMtaG92ZXJhYmxlOmZvY3VzLFxuICAgICAgICAmLmlzLWhvdmVyYWJsZTpmb2N1cy13aXRoaW4sXG4gICAgICAgICYuaXMtaG92ZXJhYmxlOmhvdmVyXG4gICAgICAgICAgLm5hdmJhci1saW5rXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50XG4gICAgICAubmF2YmFyLWRyb3Bkb3duXG4gICAgICAgIGEubmF2YmFyLWl0ZW1cbiAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICY6aG92ZXJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZHJvcGRvd24taXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgICAgICAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1pdGVtLWhvdmVyLWNvbG9yXG4gICAgICAgICAgJi5pcy1hY3RpdmVcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZHJvcGRvd24taXRlbS1hY3RpdmUtYmFja2dyb3VuZC1jb2xvclxuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItZHJvcGRvd24taXRlbS1hY3RpdmUtY29sb3JcbiAgLm5hdmJhci1idXJnZXJcbiAgICBkaXNwbGF5OiBub25lXG4gIC5uYXZiYXItaXRlbSxcbiAgLm5hdmJhci1saW5rXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlclxuICAgIGRpc3BsYXk6IGZsZXhcbiAgLm5hdmJhci1pdGVtXG4gICAgJi5oYXMtZHJvcGRvd25cbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoXG4gICAgJi5oYXMtZHJvcGRvd24tdXBcbiAgICAgIC5uYXZiYXItbGluazo6YWZ0ZXJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKSB0cmFuc2xhdGUoMC4yNWVtLCAtMC4yNWVtKVxuICAgICAgLm5hdmJhci1kcm9wZG93blxuICAgICAgICBib3JkZXItYm90dG9tOiAkbmF2YmFyLWRyb3Bkb3duLWJvcmRlci10b3BcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG5hdmJhci1kcm9wZG93bi1yYWRpdXMgJG5hdmJhci1kcm9wZG93bi1yYWRpdXMgMCAwXG4gICAgICAgIGJvcmRlci10b3A6IG5vbmVcbiAgICAgICAgYm90dG9tOiAxMDAlXG4gICAgICAgIGJveC1zaGFkb3c6IDAgLThweCA4cHggYnVsbWFSZ2JhKCRzY2hlbWUtaW52ZXJ0LCAwLjEpXG4gICAgICAgIHRvcDogYXV0b1xuICAgICYuaXMtYWN0aXZlLFxuICAgICYuaXMtaG92ZXJhYmxlOmZvY3VzLFxuICAgICYuaXMtaG92ZXJhYmxlOmZvY3VzLXdpdGhpbixcbiAgICAmLmlzLWhvdmVyYWJsZTpob3ZlclxuICAgICAgLm5hdmJhci1kcm9wZG93blxuICAgICAgICBkaXNwbGF5OiBibG9ja1xuICAgICAgICAubmF2YmFyLmlzLXNwYWNlZCAmLFxuICAgICAgICAmLmlzLWJveGVkXG4gICAgICAgICAgb3BhY2l0eTogMVxuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApXG4gIC5uYXZiYXItbWVudVxuICAgIGZsZXgtZ3JvdzogMVxuICAgIGZsZXgtc2hyaW5rOiAwXG4gIC5uYXZiYXItc3RhcnRcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnRcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG9cbiAgLm5hdmJhci1lbmRcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG9cbiAgLm5hdmJhci1kcm9wZG93blxuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZC1jb2xvclxuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRuYXZiYXItZHJvcGRvd24tcmFkaXVzXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRuYXZiYXItZHJvcGRvd24tcmFkaXVzXG4gICAgYm9yZGVyLXRvcDogJG5hdmJhci1kcm9wZG93bi1ib3JkZXItdG9wXG4gICAgYm94LXNoYWRvdzogMCA4cHggOHB4IGJ1bG1hUmdiYSgkc2NoZW1lLWludmVydCwgMC4xKVxuICAgIGRpc3BsYXk6IG5vbmVcbiAgICBmb250LXNpemU6IDAuODc1cmVtXG4gICAgbGVmdDogMFxuICAgIG1pbi13aWR0aDogMTAwJVxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZVxuICAgIHRvcDogMTAwJVxuICAgIHotaW5kZXg6ICRuYXZiYXItZHJvcGRvd24telxuICAgIC5uYXZiYXItaXRlbVxuICAgICAgcGFkZGluZzogMC4zNzVyZW0gMXJlbVxuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcFxuICAgIGEubmF2YmFyLWl0ZW1cbiAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW1cbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmhvdmVyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZHJvcGRvd24taXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLWl0ZW0taG92ZXItY29sb3JcbiAgICAgICYuaXMtYWN0aXZlXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZHJvcGRvd24taXRlbS1hY3RpdmUtYmFja2dyb3VuZC1jb2xvclxuICAgICAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1pdGVtLWFjdGl2ZS1jb2xvclxuICAgIC5uYXZiYXIuaXMtc3BhY2VkICYsXG4gICAgJi5pcy1ib3hlZFxuICAgICAgYm9yZGVyLXJhZGl1czogJG5hdmJhci1kcm9wZG93bi1ib3hlZC1yYWRpdXNcbiAgICAgIGJvcmRlci10b3A6IG5vbmVcbiAgICAgIGJveC1zaGFkb3c6ICRuYXZiYXItZHJvcGRvd24tYm94ZWQtc2hhZG93XG4gICAgICBkaXNwbGF5OiBibG9ja1xuICAgICAgb3BhY2l0eTogMFxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmVcbiAgICAgIHRvcDogY2FsYygxMDAlICsgKCN7JG5hdmJhci1kcm9wZG93bi1vZmZzZXR9KSlcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KVxuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHNwZWVkXG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm1cbiAgICAmLmlzLXJpZ2h0XG4gICAgICBsZWZ0OiBhdXRvXG4gICAgICByaWdodDogMFxuICAubmF2YmFyLWRpdmlkZXJcbiAgICBkaXNwbGF5OiBibG9ja1xuICAubmF2YmFyID4gLmNvbnRhaW5lcixcbiAgLmNvbnRhaW5lciA+IC5uYXZiYXJcbiAgICAubmF2YmFyLWJyYW5kXG4gICAgICBtYXJnaW4tbGVmdDogLS43NXJlbVxuICAgIC5uYXZiYXItbWVudVxuICAgICAgbWFyZ2luLXJpZ2h0OiAtLjc1cmVtXG4gIC8vIEZpeGVkIG5hdmJhclxuICAubmF2YmFyXG4gICAgJi5pcy1maXhlZC1ib3R0b20tZGVza3RvcCxcbiAgICAmLmlzLWZpeGVkLXRvcC1kZXNrdG9wXG4gICAgICArbmF2YmFyLWZpeGVkXG4gICAgJi5pcy1maXhlZC1ib3R0b20tZGVza3RvcFxuICAgICAgYm90dG9tOiAwXG4gICAgICAmLmhhcy1zaGFkb3dcbiAgICAgICAgYm94LXNoYWRvdzogMCAtMnB4IDNweCBidWxtYVJnYmEoJHNjaGVtZS1pbnZlcnQsIDAuMSlcbiAgICAmLmlzLWZpeGVkLXRvcC1kZXNrdG9wXG4gICAgICB0b3A6IDBcbiAgaHRtbCxcbiAgYm9keVxuICAgICYuaGFzLW5hdmJhci1maXhlZC10b3AtZGVza3RvcFxuICAgICAgcGFkZGluZy10b3A6ICRuYXZiYXItaGVpZ2h0XG4gICAgJi5oYXMtbmF2YmFyLWZpeGVkLWJvdHRvbS1kZXNrdG9wXG4gICAgICBwYWRkaW5nLWJvdHRvbTogJG5hdmJhci1oZWlnaHRcbiAgICAmLmhhcy1zcGFjZWQtbmF2YmFyLWZpeGVkLXRvcFxuICAgICAgcGFkZGluZy10b3A6ICRuYXZiYXItaGVpZ2h0ICsgKCRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbCAqIDIpXG4gICAgJi5oYXMtc3BhY2VkLW5hdmJhci1maXhlZC1ib3R0b21cbiAgICAgIHBhZGRpbmctYm90dG9tOiAkbmF2YmFyLWhlaWdodCArICgkbmF2YmFyLXBhZGRpbmctdmVydGljYWwgKiAyKVxuICAvLyBIb3Zlci9BY3RpdmUgc3RhdGVzXG4gIGEubmF2YmFyLWl0ZW0sXG4gIC5uYXZiYXItbGlua1xuICAgICYuaXMtYWN0aXZlXG4gICAgICBjb2xvcjogJG5hdmJhci1pdGVtLWFjdGl2ZS1jb2xvclxuICAgICYuaXMtYWN0aXZlOm5vdCg6Zm9jdXMpOm5vdCg6aG92ZXIpXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQtY29sb3JcbiAgLm5hdmJhci1pdGVtLmhhcy1kcm9wZG93blxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlcixcbiAgICAmLmlzLWFjdGl2ZVxuICAgICAgLm5hdmJhci1saW5rXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yXG5cbi8vIENvbWJpbmF0aW9uXG5cbi5oZXJvXG4gICYuaXMtZnVsbGhlaWdodC13aXRoLW5hdmJhclxuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAjeyRuYXZiYXItaGVpZ2h0fSlcbiIsIiRjb250YWluZXItb2Zmc2V0OiAoMiAqICRnYXApICFkZWZhdWx0XG5cbi5jb250YWluZXJcbiAgZmxleC1ncm93OiAxXG4gIG1hcmdpbjogMCBhdXRvXG4gIHBvc2l0aW9uOiByZWxhdGl2ZVxuICB3aWR0aDogYXV0b1xuICAmLmlzLWZsdWlkXG4gICAgbWF4LXdpZHRoOiBub25lXG4gICAgcGFkZGluZy1sZWZ0OiAkZ2FwXG4gICAgcGFkZGluZy1yaWdodDogJGdhcFxuICAgIHdpZHRoOiAxMDAlXG4gICtkZXNrdG9wXG4gICAgbWF4LXdpZHRoOiAkZGVza3RvcCAtICRjb250YWluZXItb2Zmc2V0XG4gICt1bnRpbC13aWRlc2NyZWVuXG4gICAgJi5pcy13aWRlc2NyZWVuXG4gICAgICBtYXgtd2lkdGg6ICR3aWRlc2NyZWVuIC0gJGNvbnRhaW5lci1vZmZzZXRcbiAgK3VudGlsLWZ1bGxoZFxuICAgICYuaXMtZnVsbGhkXG4gICAgICBtYXgtd2lkdGg6ICRmdWxsaGQgLSAkY29udGFpbmVyLW9mZnNldFxuICArd2lkZXNjcmVlblxuICAgIG1heC13aWR0aDogJHdpZGVzY3JlZW4gLSAkY29udGFpbmVyLW9mZnNldFxuICArZnVsbGhkXG4gICAgbWF4LXdpZHRoOiAkZnVsbGhkIC0gJGNvbnRhaW5lci1vZmZzZXRcbiIsIiRzZWN0aW9uLXBhZGRpbmc6IDNyZW0gMS41cmVtICFkZWZhdWx0XG4kc2VjdGlvbi1wYWRkaW5nLW1lZGl1bTogOXJlbSAxLjVyZW0gIWRlZmF1bHRcbiRzZWN0aW9uLXBhZGRpbmctbGFyZ2U6IDE4cmVtIDEuNXJlbSAhZGVmYXVsdFxuXG4uc2VjdGlvblxuICBwYWRkaW5nOiAkc2VjdGlvbi1wYWRkaW5nXG4gIC8vIFJlc3BvbnNpdmVuZXNzXG4gICtkZXNrdG9wXG4gICAgLy8gU2l6ZXNcbiAgICAmLmlzLW1lZGl1bVxuICAgICAgcGFkZGluZzogJHNlY3Rpb24tcGFkZGluZy1tZWRpdW1cbiAgICAmLmlzLWxhcmdlXG4gICAgICBwYWRkaW5nOiAkc2VjdGlvbi1wYWRkaW5nLWxhcmdlXG4iLCIkdGl0bGUtY29sb3I6ICR0ZXh0LXN0cm9uZyAhZGVmYXVsdFxuJHRpdGxlLWZhbWlseTogZmFsc2UgIWRlZmF1bHRcbiR0aXRsZS1zaXplOiAkc2l6ZS0zICFkZWZhdWx0XG4kdGl0bGUtd2VpZ2h0OiAkd2VpZ2h0LXNlbWlib2xkICFkZWZhdWx0XG4kdGl0bGUtbGluZS1oZWlnaHQ6IDEuMTI1ICFkZWZhdWx0XG4kdGl0bGUtc3Ryb25nLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0XG4kdGl0bGUtc3Ryb25nLXdlaWdodDogaW5oZXJpdCAhZGVmYXVsdFxuJHRpdGxlLXN1Yi1zaXplOiAwLjc1ZW0gIWRlZmF1bHRcbiR0aXRsZS1zdXAtc2l6ZTogMC43NWVtICFkZWZhdWx0XG5cbiRzdWJ0aXRsZS1jb2xvcjogJHRleHQgIWRlZmF1bHRcbiRzdWJ0aXRsZS1mYW1pbHk6IGZhbHNlICFkZWZhdWx0XG4kc3VidGl0bGUtc2l6ZTogJHNpemUtNSAhZGVmYXVsdFxuJHN1YnRpdGxlLXdlaWdodDogJHdlaWdodC1ub3JtYWwgIWRlZmF1bHRcbiRzdWJ0aXRsZS1saW5lLWhlaWdodDogMS4yNSAhZGVmYXVsdFxuJHN1YnRpdGxlLXN0cm9uZy1jb2xvcjogJHRleHQtc3Ryb25nICFkZWZhdWx0XG4kc3VidGl0bGUtc3Ryb25nLXdlaWdodDogJHdlaWdodC1zZW1pYm9sZCAhZGVmYXVsdFxuJHN1YnRpdGxlLW5lZ2F0aXZlLW1hcmdpbjogLTEuMjVyZW0gIWRlZmF1bHRcblxuLnRpdGxlLFxuLnN1YnRpdGxlXG4gIEBleHRlbmQgJWJsb2NrXG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmRcbiAgZW0sXG4gIHNwYW5cbiAgICBmb250LXdlaWdodDogaW5oZXJpdFxuICBzdWJcbiAgICBmb250LXNpemU6ICR0aXRsZS1zdWItc2l6ZVxuICBzdXBcbiAgICBmb250LXNpemU6ICR0aXRsZS1zdXAtc2l6ZVxuICAudGFnXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZVxuXG4udGl0bGVcbiAgY29sb3I6ICR0aXRsZS1jb2xvclxuICBAaWYgJHRpdGxlLWZhbWlseVxuICAgIGZvbnQtZmFtaWx5OiAkdGl0bGUtZmFtaWx5XG4gIGZvbnQtc2l6ZTogJHRpdGxlLXNpemVcbiAgZm9udC13ZWlnaHQ6ICR0aXRsZS13ZWlnaHRcbiAgbGluZS1oZWlnaHQ6ICR0aXRsZS1saW5lLWhlaWdodFxuICBzdHJvbmdcbiAgICBjb2xvcjogJHRpdGxlLXN0cm9uZy1jb2xvclxuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGUtc3Ryb25nLXdlaWdodFxuICAmICsgLmhpZ2hsaWdodFxuICAgIG1hcmdpbi10b3A6IC0wLjc1cmVtXG4gICY6bm90KC5pcy1zcGFjZWQpICsgLnN1YnRpdGxlXG4gICAgbWFyZ2luLXRvcDogJHN1YnRpdGxlLW5lZ2F0aXZlLW1hcmdpblxuICAvLyBTaXplc1xuICBAZWFjaCAkc2l6ZSBpbiAkc2l6ZXNcbiAgICAkaTogaW5kZXgoJHNpemVzLCAkc2l6ZSlcbiAgICAmLmlzLSN7JGl9XG4gICAgICBmb250LXNpemU6ICRzaXplXG5cbi5zdWJ0aXRsZVxuICBjb2xvcjogJHN1YnRpdGxlLWNvbG9yXG4gIEBpZiAkc3VidGl0bGUtZmFtaWx5XG4gICAgZm9udC1mYW1pbHk6ICRzdWJ0aXRsZS1mYW1pbHlcbiAgZm9udC1zaXplOiAkc3VidGl0bGUtc2l6ZVxuICBmb250LXdlaWdodDogJHN1YnRpdGxlLXdlaWdodFxuICBsaW5lLWhlaWdodDogJHN1YnRpdGxlLWxpbmUtaGVpZ2h0XG4gIHN0cm9uZ1xuICAgIGNvbG9yOiAkc3VidGl0bGUtc3Ryb25nLWNvbG9yXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJ0aXRsZS1zdHJvbmctd2VpZ2h0XG4gICY6bm90KC5pcy1zcGFjZWQpICsgLnRpdGxlXG4gICAgbWFyZ2luLXRvcDogJHN1YnRpdGxlLW5lZ2F0aXZlLW1hcmdpblxuICAvLyBTaXplc1xuICBAZWFjaCAkc2l6ZSBpbiAkc2l6ZXNcbiAgICAkaTogaW5kZXgoJHNpemVzLCAkc2l6ZSlcbiAgICAmLmlzLSN7JGl9XG4gICAgICBmb250LXNpemU6ICRzaXplXG4iLCIkcHJpbWFyeTogJHR1cnF1b2lzZSAhZGVmYXVsdFxuXG4kaW5mbzogJGN5YW4gIWRlZmF1bHRcbiRzdWNjZXNzOiAkZ3JlZW4gIWRlZmF1bHRcbiR3YXJuaW5nOiAkeWVsbG93ICFkZWZhdWx0XG4kZGFuZ2VyOiAkcmVkICFkZWZhdWx0XG5cbiRsaWdodDogJHdoaXRlLXRlciAhZGVmYXVsdFxuJGRhcms6ICRncmV5LWRhcmtlciAhZGVmYXVsdFxuXG4vLyBJbnZlcnQgY29sb3JzXG5cbiRvcmFuZ2UtaW52ZXJ0OiBmaW5kQ29sb3JJbnZlcnQoJG9yYW5nZSkgIWRlZmF1bHRcbiR5ZWxsb3ctaW52ZXJ0OiBmaW5kQ29sb3JJbnZlcnQoJHllbGxvdykgIWRlZmF1bHRcbiRncmVlbi1pbnZlcnQ6IGZpbmRDb2xvckludmVydCgkZ3JlZW4pICFkZWZhdWx0XG4kdHVycXVvaXNlLWludmVydDogZmluZENvbG9ySW52ZXJ0KCR0dXJxdW9pc2UpICFkZWZhdWx0XG4kY3lhbi1pbnZlcnQ6IGZpbmRDb2xvckludmVydCgkY3lhbikgIWRlZmF1bHRcbiRibHVlLWludmVydDogZmluZENvbG9ySW52ZXJ0KCRibHVlKSAhZGVmYXVsdFxuJHB1cnBsZS1pbnZlcnQ6IGZpbmRDb2xvckludmVydCgkcHVycGxlKSAhZGVmYXVsdFxuJHJlZC1pbnZlcnQ6IGZpbmRDb2xvckludmVydCgkcmVkKSAhZGVmYXVsdFxuXG4kcHJpbWFyeS1pbnZlcnQ6IGZpbmRDb2xvckludmVydCgkcHJpbWFyeSkgIWRlZmF1bHRcbiRwcmltYXJ5LWxpZ2h0OiBmaW5kTGlnaHRDb2xvcigkcHJpbWFyeSkgIWRlZmF1bHRcbiRwcmltYXJ5LWRhcms6IGZpbmREYXJrQ29sb3IoJHByaW1hcnkpICFkZWZhdWx0XG4kaW5mby1pbnZlcnQ6IGZpbmRDb2xvckludmVydCgkaW5mbykgIWRlZmF1bHRcbiRpbmZvLWxpZ2h0OiBmaW5kTGlnaHRDb2xvcigkaW5mbykgIWRlZmF1bHRcbiRpbmZvLWRhcms6IGZpbmREYXJrQ29sb3IoJGluZm8pICFkZWZhdWx0XG4kc3VjY2Vzcy1pbnZlcnQ6IGZpbmRDb2xvckludmVydCgkc3VjY2VzcykgIWRlZmF1bHRcbiRzdWNjZXNzLWxpZ2h0OiBmaW5kTGlnaHRDb2xvcigkc3VjY2VzcykgIWRlZmF1bHRcbiRzdWNjZXNzLWRhcms6IGZpbmREYXJrQ29sb3IoJHN1Y2Nlc3MpICFkZWZhdWx0XG4kd2FybmluZy1pbnZlcnQ6IGZpbmRDb2xvckludmVydCgkd2FybmluZykgIWRlZmF1bHRcbiR3YXJuaW5nLWxpZ2h0OiBmaW5kTGlnaHRDb2xvcigkd2FybmluZykgIWRlZmF1bHRcbiR3YXJuaW5nLWRhcms6IGZpbmREYXJrQ29sb3IoJHdhcm5pbmcpICFkZWZhdWx0XG4kZGFuZ2VyLWludmVydDogZmluZENvbG9ySW52ZXJ0KCRkYW5nZXIpICFkZWZhdWx0XG4kZGFuZ2VyLWxpZ2h0OiBmaW5kTGlnaHRDb2xvcigkZGFuZ2VyKSAhZGVmYXVsdFxuJGRhbmdlci1kYXJrOiBmaW5kRGFya0NvbG9yKCRkYW5nZXIpICFkZWZhdWx0XG4kbGlnaHQtaW52ZXJ0OiBmaW5kQ29sb3JJbnZlcnQoJGxpZ2h0KSAhZGVmYXVsdFxuJGRhcmstaW52ZXJ0OiBmaW5kQ29sb3JJbnZlcnQoJGRhcmspICFkZWZhdWx0XG5cbi8vIEdlbmVyYWwgY29sb3JzXG5cbiRzY2hlbWUtbWFpbjogJHdoaXRlICFkZWZhdWx0XG4kc2NoZW1lLW1haW4tYmlzOiAkd2hpdGUtYmlzICFkZWZhdWx0XG4kc2NoZW1lLW1haW4tdGVyOiAkd2hpdGUtdGVyICFkZWZhdWx0XG4kc2NoZW1lLWludmVydDogJGJsYWNrICFkZWZhdWx0XG4kc2NoZW1lLWludmVydC1iaXM6ICRibGFjay1iaXMgIWRlZmF1bHRcbiRzY2hlbWUtaW52ZXJ0LXRlcjogJGJsYWNrLXRlciAhZGVmYXVsdFxuXG4kYmFja2dyb3VuZDogJHdoaXRlLXRlciAhZGVmYXVsdFxuXG4kYm9yZGVyOiAkZ3JleS1saWdodGVyICFkZWZhdWx0XG4kYm9yZGVyLWhvdmVyOiAkZ3JleS1saWdodCAhZGVmYXVsdFxuJGJvcmRlci1saWdodDogJGdyZXktbGlnaHRlc3QgIWRlZmF1bHRcbiRib3JkZXItbGlnaHQtaG92ZXI6ICRncmV5LWxpZ2h0ICFkZWZhdWx0XG5cbi8vIFRleHQgY29sb3JzXG5cbiR0ZXh0OiAkZ3JleS1kYXJrICFkZWZhdWx0XG4kdGV4dC1pbnZlcnQ6IGZpbmRDb2xvckludmVydCgkdGV4dCkgIWRlZmF1bHRcbiR0ZXh0LWxpZ2h0OiAkZ3JleSAhZGVmYXVsdFxuJHRleHQtc3Ryb25nOiAkZ3JleS1kYXJrZXIgIWRlZmF1bHRcblxuLy8gQ29kZSBjb2xvcnNcblxuJGNvZGU6ICRyZWQgIWRlZmF1bHRcbiRjb2RlLWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFkZWZhdWx0XG5cbiRwcmU6ICR0ZXh0ICFkZWZhdWx0XG4kcHJlLWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFkZWZhdWx0XG5cbi8vIExpbmsgY29sb3JzXG5cbiRsaW5rOiAkYmx1ZSAhZGVmYXVsdFxuJGxpbmstaW52ZXJ0OiBmaW5kQ29sb3JJbnZlcnQoJGxpbmspICFkZWZhdWx0XG4kbGluay1saWdodDogZmluZExpZ2h0Q29sb3IoJGxpbmspICFkZWZhdWx0XG4kbGluay1kYXJrOiBmaW5kRGFya0NvbG9yKCRsaW5rKSAhZGVmYXVsdFxuJGxpbmstdmlzaXRlZDogJHB1cnBsZSAhZGVmYXVsdFxuXG4kbGluay1ob3ZlcjogJGdyZXktZGFya2VyICFkZWZhdWx0XG4kbGluay1ob3Zlci1ib3JkZXI6ICRncmV5LWxpZ2h0ICFkZWZhdWx0XG5cbiRsaW5rLWZvY3VzOiAkZ3JleS1kYXJrZXIgIWRlZmF1bHRcbiRsaW5rLWZvY3VzLWJvcmRlcjogJGJsdWUgIWRlZmF1bHRcblxuJGxpbmstYWN0aXZlOiAkZ3JleS1kYXJrZXIgIWRlZmF1bHRcbiRsaW5rLWFjdGl2ZS1ib3JkZXI6ICRncmV5LWRhcmsgIWRlZmF1bHRcblxuLy8gVHlwb2dyYXBoeVxuXG4kZmFtaWx5LXByaW1hcnk6ICRmYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdFxuJGZhbWlseS1zZWNvbmRhcnk6ICRmYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdFxuJGZhbWlseS1jb2RlOiAkZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdFxuXG4kc2l6ZS1zbWFsbDogJHNpemUtNyAhZGVmYXVsdFxuJHNpemUtbm9ybWFsOiAkc2l6ZS02ICFkZWZhdWx0XG4kc2l6ZS1tZWRpdW06ICRzaXplLTUgIWRlZmF1bHRcbiRzaXplLWxhcmdlOiAkc2l6ZS00ICFkZWZhdWx0XG5cbi8vIExpc3RzIGFuZCBtYXBzXG4kY3VzdG9tLWNvbG9yczogbnVsbCAhZGVmYXVsdFxuJGN1c3RvbS1zaGFkZXM6IG51bGwgIWRlZmF1bHRcblxuJGNvbG9yczogbWVyZ2VDb2xvck1hcHMoKFwid2hpdGVcIjogKCR3aGl0ZSwgJGJsYWNrKSwgXCJibGFja1wiOiAoJGJsYWNrLCAkd2hpdGUpLCBcImxpZ2h0XCI6ICgkbGlnaHQsICRsaWdodC1pbnZlcnQpLCBcImRhcmtcIjogKCRkYXJrLCAkZGFyay1pbnZlcnQpLCBcInByaW1hcnlcIjogKCRwcmltYXJ5LCAkcHJpbWFyeS1pbnZlcnQsICRwcmltYXJ5LWxpZ2h0LCAkcHJpbWFyeS1kYXJrKSwgXCJsaW5rXCI6ICgkbGluaywgJGxpbmstaW52ZXJ0LCAkbGluay1saWdodCwgJGxpbmstZGFyayksIFwiaW5mb1wiOiAoJGluZm8sICRpbmZvLWludmVydCwgJGluZm8tbGlnaHQsICRpbmZvLWRhcmspLCBcInN1Y2Nlc3NcIjogKCRzdWNjZXNzLCAkc3VjY2Vzcy1pbnZlcnQsICRzdWNjZXNzLWxpZ2h0LCAkc3VjY2Vzcy1kYXJrKSwgXCJ3YXJuaW5nXCI6ICgkd2FybmluZywgJHdhcm5pbmctaW52ZXJ0LCAkd2FybmluZy1saWdodCwgJHdhcm5pbmctZGFyayksIFwiZGFuZ2VyXCI6ICgkZGFuZ2VyLCAkZGFuZ2VyLWludmVydCwgJGRhbmdlci1saWdodCwgJGRhbmdlci1kYXJrKSksICRjdXN0b20tY29sb3JzKSAhZGVmYXVsdFxuJHNoYWRlczogbWVyZ2VDb2xvck1hcHMoKFwiYmxhY2stYmlzXCI6ICRibGFjay1iaXMsIFwiYmxhY2stdGVyXCI6ICRibGFjay10ZXIsIFwiZ3JleS1kYXJrZXJcIjogJGdyZXktZGFya2VyLCBcImdyZXktZGFya1wiOiAkZ3JleS1kYXJrLCBcImdyZXlcIjogJGdyZXksIFwiZ3JleS1saWdodFwiOiAkZ3JleS1saWdodCwgXCJncmV5LWxpZ2h0ZXJcIjogJGdyZXktbGlnaHRlciwgXCJ3aGl0ZS10ZXJcIjogJHdoaXRlLXRlciwgXCJ3aGl0ZS1iaXNcIjogJHdoaXRlLWJpcyksICRjdXN0b20tc2hhZGVzKSAhZGVmYXVsdFxuXG4kc2l6ZXM6ICRzaXplLTEgJHNpemUtMiAkc2l6ZS0zICRzaXplLTQgJHNpemUtNSAkc2l6ZS02ICRzaXplLTcgIWRlZmF1bHRcbiIsIiRkaXZpZGVyLWJhY2tncm91bmQtY29sb3I6ICRncmV5LWxpZ2h0ZXIgIWRlZmF1bHRcbiRkaXZpZGVyLXRoaWNrbmVzczogLjFyZW0gIWRlZmF1bHRcbiRkaXZpZGVyLWZvbnQtc2l6ZTogJHNpemUtNyAhZGVmYXVsdFxuJGRpdmlkZXItY29sb3I6ICRncmV5LWxpZ2h0ICFkZWZhdWx0XG5cbi5pcy1kaXZpZGVyLCAuaXMtZGl2aWRlci12ZXJ0aWNhbFxuICBkaXNwbGF5OiBibG9ja1xuICBwb3NpdGlvbjogcmVsYXRpdmVcbiAgYm9yZGVyLXRvcDogJGRpdmlkZXItdGhpY2tuZXNzIHNvbGlkICRkaXZpZGVyLWJhY2tncm91bmQtY29sb3JcbiAgaGVpZ2h0OiAkZGl2aWRlci10aGlja25lc3NcbiAgbWFyZ2luOiAycmVtIDBcbiAgdGV4dC1hbGlnbjogY2VudGVyXG5cblxuLmlzLWRpdmlkZXJbZGF0YS1jb250ZW50XTo6YWZ0ZXIsIC5pcy1kaXZpZGVyLXZlcnRpY2FsW2RhdGEtY29udGVudF06OmFmdGVyXG4gIGJhY2tncm91bmQ6ICR3aGl0ZVxuICBjb2xvcjogJGRpdmlkZXItY29sb3JcbiAgY29udGVudDogYXR0cihkYXRhLWNvbnRlbnQpXG4gIGRpc3BsYXk6IGlubGluZS1ibG9ja1xuICBmb250LXNpemU6ICRkaXZpZGVyLWZvbnQtc2l6ZVxuICBwYWRkaW5nOiAuNHJlbSAuOHJlbVxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMS4xcmVtKVxuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xLjFyZW0pXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMS4xcmVtKVxuICB0ZXh0LWFsaWduOiBjZW50ZXJcblxuLmlzLWRpdmlkZXItdmVydGljYWxcbiAgK3RhYmxldFxuICAgIGRpc3BsYXk6IGJsb2NrXG4gICAgZmxleDogbm9uZVxuICAgIHdpZHRoOiBhdXRvXG4gICAgaGVpZ2h0OiBhdXRvXG4gICAgcGFkZGluZzogMnJlbVxuICAgIG1hcmdpbjogMFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZVxuICAgIGJvcmRlci10b3A6IG5vbmVcbiAgICBtaW4taGVpZ2h0OiAycmVtXG4gICAgJjo6YmVmb3JlXG4gICAgICBib3JkZXItbGVmdDogJGRpdmlkZXItdGhpY2tuZXNzIHNvbGlkICRkaXZpZGVyLWJhY2tncm91bmQtY29sb3JcbiAgICAgIGJvdHRvbTogMXJlbVxuICAgICAgY29udGVudDogXCJcIlxuICAgICAgZGlzcGxheTogYmxvY2tcbiAgICAgIGxlZnQ6IDUwJVxuICAgICAgcG9zaXRpb246IGFic29sdXRlXG4gICAgICB0b3A6IDFyZW1cbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSlcbiAgICAmW2RhdGEtY29udGVudF06OmFmdGVyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGVcbiAgICAgIGxlZnQ6IDUwJVxuICAgICAgdG9wOiA1MCVcbiAgICAgIHBhZGRpbmc6IC4xcmVtXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSlcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpXG5cbi5pcy1kaXZpZGVyLFxuLmlzLWRpdmlkZXItdmVydGljYWxcbiAgQGVhY2ggJG5hbWUsICRwYWlyIGluIG1lcmdlQ29sb3JNYXBzKCRjb2xvcnMsICRzaGFkZXMpXG4gICAgJGNvbG9yOiBudGgoJHBhaXIsIDEpXG4gICAgJGNvbG9yLWludmVydDogbnRoKCRwYWlyLCAyKVxuICAgICYuaXMtI3skbmFtZX1cbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvclxuXG4gICAgICAmW2RhdGEtY29udGVudF06OmFmdGVyLCAmW2RhdGEtY29udGVudF06OmFmdGVyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1pbnZlcnRcbiAgICAgICAgY29sb3I6ICRjb2xvclxuXG4gICAgICAmOjpiZWZvcmVcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRjb2xvclxuIiwiLy8gQXVkaXQgKDIwMjYtMDUpOiB0aGUgY29kZWJhc2Ugb25seSB1c2VzIGEgc2xpY2Ugb2YgQnVsbWEg4oCUXG4vLyAgIC0gZ3JpZCAoYC5jb2x1bW5zYC9gLmNvbHVtbmAvYC5pcy1uYXJyb3dgL2AuaXMtbXVsdGlsaW5lYC/igKYpOiA1MDArIHVzb3MuXG4vLyAgIC0gY29udGFpbmVyIChgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPmApOiB+NjAgdXNvcy5cbi8vICAgLSBzZWN0aW9uIChgPHNlY3Rpb24+YCBzZW1hbnRpYyArIGAuc2VjdGlvbmApOiBwb3Vjb3MuXG4vLyAgIC0gbmF2YmFyIChgY2xhc3M9XCJuYXZiYXJcImApOiA0IHVzb3MuXG4vLyAgIC0gc3VidGl0bGUgKGRlIGBlbGVtZW50cy90aXRsZWApOiAxMSB1c29zLlxuLy8gICAtIGJ1bG1hLWRpdmlkZXIgKGBpcy1kaXZpZGVyYCk6IDIgdXNvcy5cbi8vIFJlbW92aWRvcyBwb3IgdGVyZW0gWkVSTyB1c29zIG5vIGF1ZGl0OiBgY29tcG9uZW50cy9sZXZlbGAsXG4vLyBgZWxlbWVudHMvaW1hZ2VgLCBgZWxlbWVudHMvdGFibGVgLiBgbGF5b3V0L19hbGxgIGZvaSBxdWVicmFkbyBlbVxuLy8gYGNvbnRhaW5lcmAgKyBgc2VjdGlvbmAgKGhlcm8gZSBmb290ZXIgdGFtYsOpbSBlcmFtIDApLlxuQGltcG9ydCBcIn5idWxtYS9zYXNzL3V0aWxpdGllcy9fYWxsXCI7XG5AaW1wb3J0IFwifmJ1bG1hL3Nhc3MvYmFzZS9fYWxsXCI7XG5AaW1wb3J0IFwifmJ1bG1hL3Nhc3MvZ3JpZC9fYWxsXCI7XG5AaW1wb3J0IFwifmJ1bG1hL3Nhc3MvY29tcG9uZW50cy9uYXZiYXJcIjtcbkBpbXBvcnQgXCJ+YnVsbWEvc2Fzcy9lbGVtZW50cy9jb250YWluZXJcIjtcbkBpbXBvcnQgXCJ+YnVsbWEvc2Fzcy9sYXlvdXQvc2VjdGlvblwiO1xuQGltcG9ydCBcIn5idWxtYS9zYXNzL2VsZW1lbnRzL3RpdGxlXCI7XG5AaW1wb3J0IFwifmJ1bG1hLWRpdmlkZXIvc3JjL3Nhc3MvaW5kZXhcIjtcblxuLy8gVGFibGUgd2lkdGhcbiR3aWR0aEFtb3VudHM6ICgyLjUsIDUsIDcuNSwgMTAsIDIwLCAzMCwgMzMuMzMsIDQwLCA1MCwgNjYuNjYsIDEwMCk7IC8vIEp1c3QgYWRkIHRoZSBudW1iZXJzIGhlcmUsIHlvdSBjYW4gdXNlIHBvaW50cyB0b28uXG4kd2lkdGhVbml0OiBcIiVcIjsgLy8gQWRkIHRoZSB1bml0IGhlcmUgKHJlbXxlbXxweHwlKVxuXG5AZWFjaCAkd2lkdGggaW4gJHdpZHRoQW1vdW50cyB7XG5cdCRpOiBpbmRleCgkd2lkdGhBbW91bnRzLCAkd2lkdGgpO1xuXHQudGFibGUgdGhlYWQgdGguaXMtI3skaX0ge1xuXHRcdHdpZHRoOiAjeyR3aWR0aH0jeyR3aWR0aFVuaXR9ICFpbXBvcnRhbnQ7XG5cdH1cbn0iLCJAaW1wb3J0IFwic2V0dGluZ3MvY2hhcnRpc3Qtc2V0dGluZ3NcIjtcblxuQG1peGluIGN0LXJlc3BvbnNpdmUtc3ZnLWNvbnRhaW5lcigkd2lkdGg6IDEwMCUsICRyYXRpbzogJGN0LWNvbnRhaW5lci1yYXRpbykge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHdpZHRoO1xuXG4gICY6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHJhdGlvICogMTAwJTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cblxuICA+IHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5cbkBtaXhpbiBjdC1hbGlnbi1qdXN0aWZ5KCRjdC10ZXh0LWFsaWduOiAkY3QtdGV4dC1hbGlnbiwgJGN0LXRleHQtanVzdGlmeTogJGN0LXRleHQtanVzdGlmeSkge1xuICAtd2Via2l0LWJveC1hbGlnbjogJGN0LXRleHQtYWxpZ247XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICRjdC10ZXh0LWFsaWduO1xuICAtbXMtZmxleC1hbGlnbjogJGN0LXRleHQtYWxpZ247XG4gIGFsaWduLWl0ZW1zOiAkY3QtdGV4dC1hbGlnbjtcbiAgLXdlYmtpdC1ib3gtcGFjazogJGN0LXRleHQtanVzdGlmeTtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICRjdC10ZXh0LWp1c3RpZnk7XG4gIC1tcy1mbGV4LXBhY2s6ICRjdC10ZXh0LWp1c3RpZnk7XG4gIGp1c3RpZnktY29udGVudDogJGN0LXRleHQtanVzdGlmeTtcbiAgLy8gRmFsbGJhY2sgdG8gdGV4dC1hbGlnbiBmb3Igbm9uLWZsZXggYnJvd3NlcnNcbiAgQGlmKCRjdC10ZXh0LWp1c3RpZnkgPT0gJ2ZsZXgtc3RhcnQnKSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfSBAZWxzZSBpZiAoJGN0LXRleHQtanVzdGlmeSA9PSAnZmxleC1lbmQnKSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH0gQGVsc2Uge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG5AbWl4aW4gY3QtZmxleCgpIHtcbiAgLy8gRmFsbGJhY2sgdG8gYmxvY2tcbiAgZGlzcGxheTogYmxvY2s7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbW96LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGN0LWNoYXJ0LWxhYmVsKCRjdC10ZXh0LWNvbG9yOiAkY3QtdGV4dC1jb2xvciwgJGN0LXRleHQtc2l6ZTogJGN0LXRleHQtc2l6ZSwgJGN0LXRleHQtbGluZS1oZWlnaHQ6ICRjdC10ZXh0LWxpbmUtaGVpZ2h0KSB7XG4gIGZpbGw6ICRjdC10ZXh0LWNvbG9yO1xuICBjb2xvcjogJGN0LXRleHQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJGN0LXRleHQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRjdC10ZXh0LWxpbmUtaGVpZ2h0O1xufVxuXG5AbWl4aW4gY3QtY2hhcnQtZ3JpZCgkY3QtZ3JpZC1jb2xvcjogJGN0LWdyaWQtY29sb3IsICRjdC1ncmlkLXdpZHRoOiAkY3QtZ3JpZC13aWR0aCwgJGN0LWdyaWQtZGFzaGFycmF5OiAkY3QtZ3JpZC1kYXNoYXJyYXkpIHtcbiAgc3Ryb2tlOiAkY3QtZ3JpZC1jb2xvcjtcbiAgc3Ryb2tlLXdpZHRoOiAkY3QtZ3JpZC13aWR0aDtcblxuICBAaWYgKCRjdC1ncmlkLWRhc2hhcnJheSkge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6ICRjdC1ncmlkLWRhc2hhcnJheTtcbiAgfVxufVxuXG5AbWl4aW4gY3QtY2hhcnQtcG9pbnQoJGN0LXBvaW50LXNpemU6ICRjdC1wb2ludC1zaXplLCAkY3QtcG9pbnQtc2hhcGU6ICRjdC1wb2ludC1zaGFwZSkge1xuICBzdHJva2Utd2lkdGg6ICRjdC1wb2ludC1zaXplO1xuICBzdHJva2UtbGluZWNhcDogJGN0LXBvaW50LXNoYXBlO1xufVxuXG5AbWl4aW4gY3QtY2hhcnQtbGluZSgkY3QtbGluZS13aWR0aDogJGN0LWxpbmUtd2lkdGgsICRjdC1saW5lLWRhc2hhcnJheTogJGN0LWxpbmUtZGFzaGFycmF5KSB7XG4gIGZpbGw6IG5vbmU7XG4gIHN0cm9rZS13aWR0aDogJGN0LWxpbmUtd2lkdGg7XG5cbiAgQGlmICgkY3QtbGluZS1kYXNoYXJyYXkpIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiAkY3QtbGluZS1kYXNoYXJyYXk7XG4gIH1cbn1cblxuQG1peGluIGN0LWNoYXJ0LWFyZWEoJGN0LWFyZWEtb3BhY2l0eTogJGN0LWFyZWEtb3BhY2l0eSkge1xuICBzdHJva2U6IG5vbmU7XG4gIGZpbGwtb3BhY2l0eTogJGN0LWFyZWEtb3BhY2l0eTtcbn1cblxuQG1peGluIGN0LWNoYXJ0LWJhcigkY3QtYmFyLXdpZHRoOiAkY3QtYmFyLXdpZHRoKSB7XG4gIGZpbGw6IG5vbmU7XG4gIHN0cm9rZS13aWR0aDogJGN0LWJhci13aWR0aDtcbn1cblxuQG1peGluIGN0LWNoYXJ0LWRvbnV0KCRjdC1kb251dC13aWR0aDogJGN0LWRvbnV0LXdpZHRoKSB7XG4gIGZpbGw6IG5vbmU7XG4gIHN0cm9rZS13aWR0aDogJGN0LWRvbnV0LXdpZHRoO1xufVxuXG5AbWl4aW4gY3QtY2hhcnQtc2VyaWVzLWNvbG9yKCRjb2xvcikge1xuICAuI3skY3QtY2xhc3MtcG9pbnR9LCAuI3skY3QtY2xhc3MtbGluZX0sIC4jeyRjdC1jbGFzcy1iYXJ9LCAuI3skY3QtY2xhc3Mtc2xpY2UtZG9udXR9IHtcbiAgICBzdHJva2U6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1zbGljZS1waWV9LCAuI3skY3QtY2xhc3Mtc2xpY2UtZG9udXQtc29saWR9LCAuI3skY3QtY2xhc3MtYXJlYX0ge1xuICAgIGZpbGw6ICRjb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gY3QtY2hhcnQoJGN0LWNvbnRhaW5lci1yYXRpbzogJGN0LWNvbnRhaW5lci1yYXRpbywgJGN0LXRleHQtY29sb3I6ICRjdC10ZXh0LWNvbG9yLCAkY3QtdGV4dC1zaXplOiAkY3QtdGV4dC1zaXplLCAkY3QtZ3JpZC1jb2xvcjogJGN0LWdyaWQtY29sb3IsICRjdC1ncmlkLXdpZHRoOiAkY3QtZ3JpZC13aWR0aCwgJGN0LWdyaWQtZGFzaGFycmF5OiAkY3QtZ3JpZC1kYXNoYXJyYXksICRjdC1wb2ludC1zaXplOiAkY3QtcG9pbnQtc2l6ZSwgJGN0LXBvaW50LXNoYXBlOiAkY3QtcG9pbnQtc2hhcGUsICRjdC1saW5lLXdpZHRoOiAkY3QtbGluZS13aWR0aCwgJGN0LWJhci13aWR0aDogJGN0LWJhci13aWR0aCwgJGN0LWRvbnV0LXdpZHRoOiAkY3QtZG9udXQtd2lkdGgsICRjdC1zZXJpZXMtbmFtZXM6ICRjdC1zZXJpZXMtbmFtZXMsICRjdC1zZXJpZXMtY29sb3JzOiAkY3Qtc2VyaWVzLWNvbG9ycykge1xuXG4gIC4jeyRjdC1jbGFzcy1sYWJlbH0ge1xuICAgIEBpbmNsdWRlIGN0LWNoYXJ0LWxhYmVsKCRjdC10ZXh0LWNvbG9yLCAkY3QtdGV4dC1zaXplKTtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1jaGFydC1saW5lfSAuI3skY3QtY2xhc3MtbGFiZWx9LFxuICAuI3skY3QtY2xhc3MtY2hhcnQtYmFyfSAuI3skY3QtY2xhc3MtbGFiZWx9IHtcbiAgICBAaW5jbHVkZSBjdC1mbGV4KCk7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtY2hhcnQtcGllfSAuI3skY3QtY2xhc3MtbGFiZWx9LFxuICAuI3skY3QtY2xhc3MtY2hhcnQtZG9udXR9IC4jeyRjdC1jbGFzcy1sYWJlbH0ge1xuICAgIGRvbWluYW50LWJhc2VsaW5lOiBjZW50cmFsO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWxhYmVsfS4jeyRjdC1jbGFzcy1ob3Jpem9udGFsfS4jeyRjdC1jbGFzcy1zdGFydH0ge1xuICAgIEBpbmNsdWRlIGN0LWFsaWduLWp1c3RpZnkoZmxleC1lbmQsIGZsZXgtc3RhcnQpO1xuICAgIC8vIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZm9yZWlnbk9iamVjdHNcbiAgICB0ZXh0LWFuY2hvcjogc3RhcnQ7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtbGFiZWx9LiN7JGN0LWNsYXNzLWhvcml6b250YWx9LiN7JGN0LWNsYXNzLWVuZH0ge1xuICAgIEBpbmNsdWRlIGN0LWFsaWduLWp1c3RpZnkoZmxleC1zdGFydCwgZmxleC1zdGFydCk7XG4gICAgLy8gRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBmb3JlaWduT2JqZWN0c1xuICAgIHRleHQtYW5jaG9yOiBzdGFydDtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1sYWJlbH0uI3skY3QtY2xhc3MtdmVydGljYWx9LiN7JGN0LWNsYXNzLXN0YXJ0fSB7XG4gICAgQGluY2x1ZGUgY3QtYWxpZ24tanVzdGlmeShmbGV4LWVuZCwgZmxleC1lbmQpO1xuICAgIC8vIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZm9yZWlnbk9iamVjdHNcbiAgICB0ZXh0LWFuY2hvcjogZW5kO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWxhYmVsfS4jeyRjdC1jbGFzcy12ZXJ0aWNhbH0uI3skY3QtY2xhc3MtZW5kfSB7XG4gICAgQGluY2x1ZGUgY3QtYWxpZ24tanVzdGlmeShmbGV4LWVuZCwgZmxleC1zdGFydCk7XG4gICAgLy8gRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBmb3JlaWduT2JqZWN0c1xuICAgIHRleHQtYW5jaG9yOiBzdGFydDtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1jaGFydC1iYXJ9IC4jeyRjdC1jbGFzcy1sYWJlbH0uI3skY3QtY2xhc3MtaG9yaXpvbnRhbH0uI3skY3QtY2xhc3Mtc3RhcnR9IHtcbiAgICBAaW5jbHVkZSBjdC1hbGlnbi1qdXN0aWZ5KGZsZXgtZW5kLCBjZW50ZXIpO1xuICAgIC8vIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZm9yZWlnbk9iamVjdHNcbiAgICB0ZXh0LWFuY2hvcjogc3RhcnQ7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtY2hhcnQtYmFyfSAuI3skY3QtY2xhc3MtbGFiZWx9LiN7JGN0LWNsYXNzLWhvcml6b250YWx9LiN7JGN0LWNsYXNzLWVuZH0ge1xuICAgIEBpbmNsdWRlIGN0LWFsaWduLWp1c3RpZnkoZmxleC1zdGFydCwgY2VudGVyKTtcbiAgICAvLyBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGZvcmVpZ25PYmplY3RzXG4gICAgdGV4dC1hbmNob3I6IHN0YXJ0O1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWNoYXJ0LWJhcn0uI3skY3QtY2xhc3MtaG9yaXpvbnRhbC1iYXJzfSAuI3skY3QtY2xhc3MtbGFiZWx9LiN7JGN0LWNsYXNzLWhvcml6b250YWx9LiN7JGN0LWNsYXNzLXN0YXJ0fSB7XG4gICAgQGluY2x1ZGUgY3QtYWxpZ24tanVzdGlmeShmbGV4LWVuZCwgZmxleC1zdGFydCk7XG4gICAgLy8gRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBmb3JlaWduT2JqZWN0c1xuICAgIHRleHQtYW5jaG9yOiBzdGFydDtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1jaGFydC1iYXJ9LiN7JGN0LWNsYXNzLWhvcml6b250YWwtYmFyc30gLiN7JGN0LWNsYXNzLWxhYmVsfS4jeyRjdC1jbGFzcy1ob3Jpem9udGFsfS4jeyRjdC1jbGFzcy1lbmR9IHtcbiAgICBAaW5jbHVkZSBjdC1hbGlnbi1qdXN0aWZ5KGZsZXgtc3RhcnQsIGZsZXgtc3RhcnQpO1xuICAgIC8vIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZm9yZWlnbk9iamVjdHNcbiAgICB0ZXh0LWFuY2hvcjogc3RhcnQ7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtY2hhcnQtYmFyfS4jeyRjdC1jbGFzcy1ob3Jpem9udGFsLWJhcnN9IC4jeyRjdC1jbGFzcy1sYWJlbH0uI3skY3QtY2xhc3MtdmVydGljYWx9LiN7JGN0LWNsYXNzLXN0YXJ0fSB7XG4gICAgLy9AaW5jbHVkZSBjdC1jaGFydC1sYWJlbCgkY3QtdGV4dC1jb2xvciwgJGN0LXRleHQtc2l6ZSwgY2VudGVyLCAkY3QtdmVydGljYWwtdGV4dC1qdXN0aWZ5KTtcbiAgICBAaW5jbHVkZSBjdC1hbGlnbi1qdXN0aWZ5KGNlbnRlciwgZmxleC1lbmQpO1xuICAgIC8vIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZm9yZWlnbk9iamVjdHNcbiAgICB0ZXh0LWFuY2hvcjogZW5kO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWNoYXJ0LWJhcn0uI3skY3QtY2xhc3MtaG9yaXpvbnRhbC1iYXJzfSAuI3skY3QtY2xhc3MtbGFiZWx9LiN7JGN0LWNsYXNzLXZlcnRpY2FsfS4jeyRjdC1jbGFzcy1lbmR9IHtcbiAgICBAaW5jbHVkZSBjdC1hbGlnbi1qdXN0aWZ5KGNlbnRlciwgZmxleC1zdGFydCk7XG4gICAgLy8gRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBmb3JlaWduT2JqZWN0c1xuICAgIHRleHQtYW5jaG9yOiBlbmQ7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtZ3JpZH0ge1xuICAgIEBpbmNsdWRlIGN0LWNoYXJ0LWdyaWQoJGN0LWdyaWQtY29sb3IsICRjdC1ncmlkLXdpZHRoLCAkY3QtZ3JpZC1kYXNoYXJyYXkpO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWdyaWQtYmFja2dyb3VuZH0ge1xuICAgIGZpbGw6ICRjdC1ncmlkLWJhY2tncm91bmQtZmlsbDtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1wb2ludH0ge1xuICAgIEBpbmNsdWRlIGN0LWNoYXJ0LXBvaW50KCRjdC1wb2ludC1zaXplLCAkY3QtcG9pbnQtc2hhcGUpO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWxpbmV9IHtcbiAgICBAaW5jbHVkZSBjdC1jaGFydC1saW5lKCRjdC1saW5lLXdpZHRoKTtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1hcmVhfSB7XG4gICAgQGluY2x1ZGUgY3QtY2hhcnQtYXJlYSgpO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWJhcn0ge1xuICAgIEBpbmNsdWRlIGN0LWNoYXJ0LWJhcigkY3QtYmFyLXdpZHRoKTtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1zbGljZS1kb251dH0ge1xuICAgIEBpbmNsdWRlIGN0LWNoYXJ0LWRvbnV0KCRjdC1kb251dC13aWR0aCk7XG4gIH1cblxuICBAaWYgJGN0LWluY2x1ZGUtY29sb3JlZC1zZXJpZXMge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRvIGxlbmd0aCgkY3Qtc2VyaWVzLW5hbWVzKSB7XG4gICAgICAuI3skY3QtY2xhc3Mtc2VyaWVzfS0je250aCgkY3Qtc2VyaWVzLW5hbWVzLCAkaSArIDEpfSB7XG4gICAgICAgICRjb2xvcjogbnRoKCRjdC1zZXJpZXMtY29sb3JzLCAkaSArIDEpO1xuXG4gICAgICAgIEBpbmNsdWRlIGN0LWNoYXJ0LXNlcmllcy1jb2xvcigkY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaWYgJGN0LWluY2x1ZGUtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIGN0LWNoYXJ0KCk7XG5cbiAgQGlmICRjdC1pbmNsdWRlLWFsdGVybmF0aXZlLXJlc3BvbnNpdmUtY29udGFpbmVycyB7XG4gICAgQGZvciAkaSBmcm9tIDAgdG8gbGVuZ3RoKCRjdC1zY2FsZXMtbmFtZXMpIHtcbiAgICAgIC4je250aCgkY3Qtc2NhbGVzLW5hbWVzLCAkaSArIDEpfSB7XG4gICAgICAgIEBpbmNsdWRlIGN0LXJlc3BvbnNpdmUtc3ZnLWNvbnRhaW5lcigkcmF0aW86IG50aCgkY3Qtc2NhbGVzLCAkaSArIDEpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFNjYWxlcyBmb3IgcmVzcG9uc2l2ZSBTVkcgY29udGFpbmVyc1xuJGN0LXNjYWxlczogKCgxKSwgKDE1LzE2KSwgKDgvOSksICg1LzYpLCAoNC81KSwgKDMvNCksICgyLzMpLCAoNS84KSwgKDEvMS42MTgpLCAoMy81KSwgKDkvMTYpLCAoOC8xNSksICgxLzIpLCAoMi81KSwgKDMvOCksICgxLzMpLCAoMS80KSkgIWRlZmF1bHQ7XG4kY3Qtc2NhbGVzLW5hbWVzOiAoY3Qtc3F1YXJlLCBjdC1taW5vci1zZWNvbmQsIGN0LW1ham9yLXNlY29uZCwgY3QtbWlub3ItdGhpcmQsIGN0LW1ham9yLXRoaXJkLCBjdC1wZXJmZWN0LWZvdXJ0aCwgY3QtcGVyZmVjdC1maWZ0aCwgY3QtbWlub3Itc2l4dGgsIGN0LWdvbGRlbi1zZWN0aW9uLCBjdC1tYWpvci1zaXh0aCwgY3QtbWlub3Itc2V2ZW50aCwgY3QtbWFqb3Itc2V2ZW50aCwgY3Qtb2N0YXZlLCBjdC1tYWpvci10ZW50aCwgY3QtbWFqb3ItZWxldmVudGgsIGN0LW1ham9yLXR3ZWxmdGgsIGN0LWRvdWJsZS1vY3RhdmUpICFkZWZhdWx0O1xuXG4vLyBDbGFzcyBuYW1lcyB0byBiZSB1c2VkIHdoZW4gZ2VuZXJhdGluZyBDU1NcbiRjdC1jbGFzcy1jaGFydDogY3QtY2hhcnQgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtY2hhcnQtbGluZTogY3QtY2hhcnQtbGluZSAhZGVmYXVsdDtcbiRjdC1jbGFzcy1jaGFydC1iYXI6IGN0LWNoYXJ0LWJhciAhZGVmYXVsdDtcbiRjdC1jbGFzcy1ob3Jpem9udGFsLWJhcnM6IGN0LWhvcml6b250YWwtYmFycyAhZGVmYXVsdDtcbiRjdC1jbGFzcy1jaGFydC1waWU6IGN0LWNoYXJ0LXBpZSAhZGVmYXVsdDtcbiRjdC1jbGFzcy1jaGFydC1kb251dDogY3QtY2hhcnQtZG9udXQgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtbGFiZWw6IGN0LWxhYmVsICFkZWZhdWx0O1xuJGN0LWNsYXNzLXNlcmllczogY3Qtc2VyaWVzICFkZWZhdWx0O1xuJGN0LWNsYXNzLWxpbmU6IGN0LWxpbmUgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtcG9pbnQ6IGN0LXBvaW50ICFkZWZhdWx0O1xuJGN0LWNsYXNzLWFyZWE6IGN0LWFyZWEgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtYmFyOiBjdC1iYXIgIWRlZmF1bHQ7XG4kY3QtY2xhc3Mtc2xpY2UtcGllOiBjdC1zbGljZS1waWUgIWRlZmF1bHQ7XG4kY3QtY2xhc3Mtc2xpY2UtZG9udXQ6IGN0LXNsaWNlLWRvbnV0ICFkZWZhdWx0O1xuJGN0LWNsYXNzLXNsaWNlLWRvbnV0LXNvbGlkOiBjdC1zbGljZS1kb251dC1zb2xpZCAhZGVmYXVsdDtcbiRjdC1jbGFzcy1ncmlkOiBjdC1ncmlkICFkZWZhdWx0O1xuJGN0LWNsYXNzLWdyaWQtYmFja2dyb3VuZDogY3QtZ3JpZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGN0LWNsYXNzLXZlcnRpY2FsOiBjdC12ZXJ0aWNhbCAhZGVmYXVsdDtcbiRjdC1jbGFzcy1ob3Jpem9udGFsOiBjdC1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGN0LWNsYXNzLXN0YXJ0OiBjdC1zdGFydCAhZGVmYXVsdDtcbiRjdC1jbGFzcy1lbmQ6IGN0LWVuZCAhZGVmYXVsdDtcblxuLy8gQ29udGFpbmVyIHJhdGlvXG4kY3QtY29udGFpbmVyLXJhdGlvOiAoMS8xLjYxOCkgIWRlZmF1bHQ7XG5cbi8vIFRleHQgc3R5bGVzIGZvciBsYWJlbHNcbiRjdC10ZXh0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCkgIWRlZmF1bHQ7XG4kY3QtdGV4dC1zaXplOiAwLjc1cmVtICFkZWZhdWx0O1xuJGN0LXRleHQtYWxpZ246IGZsZXgtc3RhcnQgIWRlZmF1bHQ7XG4kY3QtdGV4dC1qdXN0aWZ5OiBmbGV4LXN0YXJ0ICFkZWZhdWx0O1xuJGN0LXRleHQtbGluZS1oZWlnaHQ6IDE7XG5cbi8vIEdyaWQgc3R5bGVzXG4kY3QtZ3JpZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpICFkZWZhdWx0O1xuJGN0LWdyaWQtZGFzaGFycmF5OiAycHggIWRlZmF1bHQ7XG4kY3QtZ3JpZC13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGN0LWdyaWQtYmFja2dyb3VuZC1maWxsOiBub25lICFkZWZhdWx0O1xuXG4vLyBMaW5lIGNoYXJ0IHByb3BlcnRpZXNcbiRjdC1saW5lLXdpZHRoOiA0cHggIWRlZmF1bHQ7XG4kY3QtbGluZS1kYXNoYXJyYXk6IGZhbHNlICFkZWZhdWx0O1xuJGN0LXBvaW50LXNpemU6IDEwcHggIWRlZmF1bHQ7XG4vLyBMaW5lIGNoYXJ0IHBvaW50LCBjYW4gYmUgZWl0aGVyIHJvdW5kIG9yIHNxdWFyZVxuJGN0LXBvaW50LXNoYXBlOiByb3VuZCAhZGVmYXVsdDtcbi8vIEFyZWEgZmlsbCB0cmFuc3BhcmVuY3kgYmV0d2VlbiAwIGFuZCAxXG4kY3QtYXJlYS1vcGFjaXR5OiAwLjEgIWRlZmF1bHQ7XG5cbi8vIEJhciBjaGFydCBiYXIgd2lkdGhcbiRjdC1iYXItd2lkdGg6IDEwcHggIWRlZmF1bHQ7XG5cbi8vIERvbnV0IHdpZHRoIChJZiBkb251dCB3aWR0aCBpcyB0byBiaWcgaXQgY2FuIGNhdXNlIGlzc3VlcyB3aGVyZSB0aGUgc2hhcGUgZ2V0cyBkaXN0b3J0ZWQpXG4kY3QtZG9udXQtd2lkdGg6IDYwcHggIWRlZmF1bHQ7XG5cbi8vIElmIHNldCB0byB0cnVlIGl0IHdpbGwgaW5jbHVkZSB0aGUgZGVmYXVsdCBjbGFzc2VzIGFuZCBnZW5lcmF0ZSBDU1Mgb3V0cHV0LiBJZiB5b3UncmUgcGxhbm5pbmcgdG8gdXNlIHRoZSBtaXhpbnMgeW91XG4vLyBzaG91bGQgc2V0IHRoaXMgcHJvcGVydHkgdG8gZmFsc2VcbiRjdC1pbmNsdWRlLWNsYXNzZXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIHRoaXMgaXMgc2V0IHRvIHRydWUgdGhlIENTUyB3aWxsIGNvbnRhaW4gY29sb3JlZCBzZXJpZXMuIFlvdSBjYW4gZXh0ZW5kIG9yIGNoYW5nZSB0aGUgY29sb3Igd2l0aCB0aGVcbi8vIHByb3BlcnRpZXMgYmVsb3dcbiRjdC1pbmNsdWRlLWNvbG9yZWQtc2VyaWVzOiAkY3QtaW5jbHVkZS1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBJZiBzZXQgdG8gdHJ1ZSB0aGlzIHdpbGwgaW5jbHVkZSBhbGwgcmVzcG9uc2l2ZSBjb250YWluZXIgdmFyaWF0aW9ucyB1c2luZyB0aGUgc2NhbGVzIGRlZmluZWQgYXQgdGhlIHRvcCBvZiB0aGUgc2NyaXB0XG4kY3QtaW5jbHVkZS1hbHRlcm5hdGl2ZS1yZXNwb25zaXZlLWNvbnRhaW5lcnM6ICRjdC1pbmNsdWRlLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFNlcmllcyBuYW1lcyBhbmQgY29sb3JzLiBUaGlzIGNhbiBiZSBleHRlbmRlZCBvciBjdXN0b21pemVkIGFzIGRlc2lyZWQuIEp1c3QgYWRkIG1vcmUgc2VyaWVzIGFuZCBjb2xvcnMuXG4kY3Qtc2VyaWVzLW5hbWVzOiAoYSwgYiwgYywgZCwgZSwgZiwgZywgaCwgaSwgaiwgaywgbCwgbSwgbiwgbykgIWRlZmF1bHQ7XG4kY3Qtc2VyaWVzLWNvbG9yczogKFxuICAjZDcwMjA2LFxuICAjZjA1YjRmLFxuICAjZjRjNjNkLFxuICAjZDE3OTA1LFxuICAjNDUzZDNmLFxuICAjNTk5MjJiLFxuICAjMDU0NGQzLFxuICAjNmIwMzkyLFxuICAjZjA1YjRmLFxuICAjZGRhNDU4LFxuICAjZWFjZjdkLFxuICAjODY3OTdkLFxuICAjYjJjMzI2LFxuICAjNjE4OGUyLFxuICAjYTc0OGNhXG4pICFkZWZhdWx0O1xuIiwiQGltcG9ydCBcIn5jaGFydGlzdC9kaXN0L3Njc3MvY2hhcnRpc3Quc2Nzc1wiO1xuXG4vLyBJbnNpZGUgcGllIGNoYXJ0c1xuLmN0LWNoYXJ0LXBpZSB7XG4gIC5jdC1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbn1cblxuLmN0LWxlZ2VuZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNWVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IC41ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgbGk6YmVmb3JlIHtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNS41cHg7XG4gICAgbGVmdDogMDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXI6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gIH1cblxuICBsaS5pbmFjdGl2ZTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgXG4gIH1cblxuICAmLmN0LWxlZ2VuZC1pbnNpZGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAwIHRvIGxlbmd0aCgkY3Qtc2VyaWVzLWNvbG9ycykge1xuICAgIC5jdC1zZXJpZXMtI3skaX06YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG50aCgkY3Qtc2VyaWVzLWNvbG9ycywgJGkgKyAxKTtcbiAgICAgIGJvcmRlci1jb2xvcjogbnRoKCRjdC1zZXJpZXMtY29sb3JzLCAkaSArIDEpO1xuICAgIH1cbiAgfVxufVxuXG4uY3QtYmFyIHtcbiAgc3Ryb2tlLXdpZHRoOiA1MHB4O1xufVxuXG4uY3QtbGFiZWwge1xuICBmaWxsOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5jdC1ob3Jpem9udGFsLmN0LWxhYmVsLmN0LWVuZCB7XG4gICYuY3QtbGFiZWwtcm90YXRlLTQ1IHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpXG4gIH1cblxuICAmLmN0LWxhYmVsLXJvdGF0ZS00NS1lbmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSkgcm90YXRlKC00NWRlZyk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxufVxuXG54LWNoYXJ0aXN0IHN2ZyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuIiwiLy8gTmV1dHJhbCBTdG9uZSBzY2FsZSAoVGFpbHdpbmQtZGVyaXZlZCkg4oCUIHdhcm0gZ3JheXMgZm9yIHN1cmZhY2VzLCB0ZXh0LCBib3JkZXJzLlxuLy8gRGVjbGFyZWQgYXQgdGhlIHRvcCBiZWNhdXNlIG5hdmJhci9zaWRlbmF2IHZhcmlhYmxlcyBiZWxvdyByZWZlcmVuY2UgdGhlc2UgdG9rZW5zLlxuJGdyYXktMDogICAjRkZGRkZGO1xuJGdyYXktNTA6ICAjRkFGQUY5O1xuJGdyYXktMTAwOiAjRjVGNUY0O1xuJGdyYXktMTI1OiAjRjFGMEVGOyAgLy8gTWlkcG9pbnQgd2FybS1zdG9uZSBlbnRyZSAxMDAgZSAxNTAg4oCUIHN1cmZhY2UgYWluZGEgbWFpcyBzdXRpbCBxdWUgZ3JheS0xNTBcbiRncmF5LTE1MDogI0VFRUNFQjsgIC8vIE1pZHBvaW50IHdhcm0tc3RvbmUgZW50cmUgMTAwIGUgMjAwIOKAlCB1c2FkbyBwcmEgc3VyZmFjZXMgZGUgY2FyZCBzdXRpbG1lbnRlIG1haXMgZXNjdXJhcyBxdWUgZ3JheS0xMDBcbiRncmF5LTIwMDogI0U3RTVFNDtcbiRncmF5LTMwMDogI0Q2RDNEMTtcbiRncmF5LTQwMDogI0E4QTI5RTsgIC8vIFRhaWx3aW5kIHN0b25lLTQwMCDigJQgYWRkZWQgMjAyNi0wNS0yMiBwYXJhIHByZWVuY2hlciBnYXAgZW50cmUgMzAwIGUgNTAwXG4kZ3JheS00NTA6ICM5MDg5ODU7ICAvLyBNaWRwb2ludCB3YXJtLXN0b25lIGludGVycG9sYWRvIGVudHJlIDQwMCBlIDUwMCAobsOjby1UYWlsd2luZCBvZmljaWFsKSDigJQgdXNhZG8gZW0gYm9yZGVyIGRvIGNoZWNrYm94IHVuY2hlY2tlZCBubyBjaGFpciBVSVxuJGdyYXktNTAwOiAjNzg3MTZDO1xuJGdyYXktNzAwOiAjNDQ0MDNDO1xuJGdyYXktOTAwOiAjMUMxOTE3O1xuXG4vLyBJbnRlcmFjdGlvbiBzdGF0ZXMgdXNpbmcgTm90aW9uJ3MgZXhhY3QgdG9rZW5zICgtLWMtYmFjVGVyICsgc2xpZ2h0bHkgZGFya2VyXG4vLyBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSBzaW5jZSBOb3Rpb24ncyBzZWxlY3RlZCBpc24ndCBpbiB0aGUgcHVibGljIENTUyBkdW1wKS5cbiRob3Zlci1iZzogICNmMGVmZWQ7ICAvLyBtb3VzZW92ZXIgKE5vdGlvbiAtLWMtYmFjVGVyKVxuJGFjdGl2ZS1iZzogI2U5ZThlNjsgIC8vIGN1cnJlbnQgaXRlbSDigJQgb25lIHN0ZXAgZGFya2VyIHRoYW4gaG92ZXIgZm9yIGNsYXJpdHlcblxuJG1haW4tdGhlbWUtY29sb3I6ICMxOTJhNTk7XG4kbWFpbi10aGVtZS1jb2xvci1saWdodDogbGlnaHRlbigkbWFpbi10aGVtZS1jb2xvciwgNjApO1xuJG1haW4tdGhlbWUtY29sb3ItZGFya2VyOiBkYXJrZW4oJG1haW4tdGhlbWUtY29sb3IsIDEwKTtcbi8vIFBhciBEQVJLIGRvIG5hdnkgZGUgbWFyY2EuIE5vIGxpZ2h0IGEgZmFpeGEgaGVybyBkbyBgYXBwLWZvcm0tb3ZlcmxheWAgw6kgdW1cbi8vIHNsYWIgIzE5MmE1OSBjb20gbyBjYXJkIEJSQU5DTyBwb3IgY2ltYSDigJQgY29udHJhc3RlIGZvcnRlLCBpbnRlbmNpb25hbC4gTm9cbi8vIGRhcmsgbyBjYXJkIMOpICM0MjQyNDIgZSBhIGZhaXhhIGZpY2F2YSBjb20gbHVtaW7Dom5jaWEgcHJhdGljYW1lbnRlIGlkw6pudGljYVxuLy8gKDAuMDI2IHZzIDAuMDU0KSwgZW50w6NvIG8gY2FyZCBuw6NvIGRlc2NvbGF2YSBkbyBmdW5kbyBlIGFpbmRhIGhhdmlhIG8gZGVncmF1XG4vLyBzZWNvIHBhcmEgbyBwcmV0byBwdXJvIGRhIHDDoWdpbmEgKGlzc3VlICMyMzcxKS4gRXN0ZSB0b20gbWFudMOpbSBvIG1hdGl6IGRhXG4vLyBtYXJjYSBlIG1vbnRhIGEgZXNjYWRhIGRlIGVsZXZhw6fDo28gcMOhZ2luYSDihpIgZmFpeGEg4oaSIGNhcmRcbi8vICgwLjAwMCDihpIgMC4wMjQg4oaSIDAuMDU0KS5cbiRtYWluLXRoZW1lLWNvbG9yLWRhcms6ICMyMzJhNDA7XG4vLyBQYXIgREFSSyBkbyB0b20gUMOBTElETyAodXNhZG8gY29tbyBmdW5kbyBkZSBkZXN0YXF1ZTogbGluaGEgcmVpdmluZGljYWRhIGVtXG4vLyBjbGFpbS1yZXZpZXcsIGPDrXJjdWxvIGRvIMOtY29uZSBlbSBlbXB0eS1zdGF0ZSkuIGBsaWdodGVuKC4uLCA2MClgIMOpIHF1YXNlXG4vLyBicmFuY28g4oCUIG5vIGRhcmsgdmlyYXZhIHVtIGJvcnLDo28gY2xhcm8uIFNlZ3VlIG8gcHJlY2VkZW50ZSBkb1xuLy8gYCRzZWNvbmRhcnktdGhlbWUtY29sb3ItbGlnaHQtZGFya2AgKCM0MzQzNDMpLCBtYXMgY29tIG1hdGl6IGF6dWwgcGFyYVxuLy8gY29udGludWFyIGRpc3Rpbmd1w612ZWwgZGVsZSBxdWFuZG8gb3MgZG9pcyBhcGFyZWNlbSBuYSBNRVNNQSB0YWJlbGFcbi8vICgucGFwZXItY2xhaW1lZCB2cyAuaXMtYXNzaWduZWQgZW0gY2xhaW0tcmV2aWV3KS5cbiRtYWluLXRoZW1lLWNvbG9yLWxpZ2h0LWRhcms6ICMzOTQxNWE7XG4kc2Vjb25kYXJ5LXRoZW1lLWNvbG9yOiAjYmFiZmNkO1xuJHNlY29uZGFyeS10aGVtZS1jb2xvci1saWdodDogI2UzZTVlYjtcbiRzZWNvbmRhcnktdGhlbWUtY29sb3ItbGlnaHQtZGFyazogIzQzNDM0MztcbiRzZWNvbmRhcnktdGhlbWUtY29sb3ItbGlnaHRlcjogI2ZhZmFmYTsgLy8gQ29tcG9uZW50IEJhY2tncm91bmRcbi8vIEFjY2VudCBPUklHSU5BTCBkbyBKRU1TMyAocmV2ZXJ0aWRvIGRvIG1hY09TIHN5c3RlbUJsdWUpLiBVc2FkbyB0YW50byBjb21vIEZJTExcbi8vIGRlIHN1cGVyZsOtY2llcyAoYm90w7VlcyBwcmltYXJ5LCBjaGlwcyBzZWxlY2lvbmFkb3MsIGZvY3VzIHJpbmdzLCBjaGVja2JveFxuLy8gYGFjY2VudC1jb2xvcmApIFFVQU5UTyBjb21vIGNvciBkZSBURVhUTy9MSU5LIOKAlCBTRU0gdG9rZW4gZGVkaWNhZG8gZGUgdGV4dG86IGFcbi8vIHNlcGFyYcOnw6NvIGAkYWNjZW50LXRleHQtKmAgZm9pIHJldmVydGlkYSAodGV4dG8gZSBncsOhZmljb3MgdXNhbSBvIG1lc21vIGF6dWwpLlxuLy8gICDigKIgTGlnaHQgYCMwNjRhZDlgIOKAlCBhenVsIG9yaWdpbmFsIGRvIEpFTVMzIChBQUEgc29icmUgYnJhbmNvKVxuLy8gICDigKIgRGFyayAgYCM2MGE1ZmFgIOKAlCBibHVlLTQwMDogbGVnw612ZWwgc29icmUgYSBmb2xoYSBlc2N1cmEgIzIwMjAyMCAoQUEpXG4vLyBPIHNpZ2lsIGRlIEV2ZW50b3Mgc2VndWUgYW1iZXIvZ29sZGVuIOKAlCBuYXR1cmFsbWVudGUgZGlzdGludG8gZG8gYWNjZW50LlxuJGFjY2VudC1iYWNrZ3JvdW5kOiAjMDY0YWQ5O1xuJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms6ICM2MGE1ZmE7XG4kY2hlY2tib3gtY2hlY2tlZC1iYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LXRoZW1lLWNvbG9yLWxpZ2h0O1xuJGFjY2VudC1jb2xvci13YXJuaW5nOiAjZTkxNDE0O1xuJGFjY2VudC1jb2xvci13YXJuaW5nLWRhcms6ICNGRjZCNkI7IC8vIHZlcm1lbGhvLWNsYXJvIHAvIGxlZ2liaWxpZGFkZSBubyBkYXJrIChyZWQtNDAwKVxuJGFjY2VudC1jb2xvci1zdWNjZXNzOiAjMmU5ZTQ0O1xuJGFjY2VudC1jb2xvci1zdWNjZXNzLWRhcms6ICM2NkJCNkE7IC8vIHZlcmRlLWNsYXJvIHAvIGxlZ2liaWxpZGFkZSBubyBkYXJrIChncmVlbi00MDApXG5cbiRyZXZpZXctbm90ZXMtYmFja2dyb3VuZDogI2RmZjBkODtcbiRyZXZpZXctZHJhZnQtYmFja2dyb3VuZDogcmdiYSg1MSwgMTQ3LCAyNTUsIC42KTtcbiRsaXN0LWV2ZW4tYmFja2dyb3VuZDogI2VlZWZmMjtcbiRsaXN0LWJhY2tncm91bmQtaG92ZXI6ICNkNWQ2ZDg7XG4kY29sdW1uLWJvcmRlci1jb2xvcjogIzg0ODc4OTtcblxuJGFkbWluLWJhY2tncm91bmQ6IHdoaXRlO1xuJGFkbWluLWJhY2tncm91bmQtZGFyazogYmxhY2s7XG4kYWRtaW4tY2FyZDogI0Y2RjZGNjtcbiRhZG1pbi1jYXJkLWJvcmRlcjogbGlnaHRncmF5O1xuXG4kY29udGVudC1iYWNrZ3JvdW5kOiB3aGl0ZTtcbiRjb250ZW50LWJhY2tncm91bmQtZGFyazogYmxhY2s7XG4kY29udGVudC1jb2xvcjogIzM2MzYzNjtcbiRjb250ZW50LWNvbG9yLWRhcms6ICNGNkY2RjY7XG4kY29udGVudC1saWdodGNvbG9yOiBsaWdodGVuICgkY29udGVudC1jb2xvciwgNjApO1xuJGNvbnRlbnQtbGlnaHRjb2xvci1kYXJrOiBsaWdodGdyYXk7XG4vLyBDb3IgZGUgdGV4dG8gZG8gY2FiZcOnYWxobyBkZSB0YWJlbGEgKE1hdGVyaWFsIGAubWF0LWhlYWRlci1jZWxsYCk6IGNpbnphXG4vLyBlc21hZWNpZG8uIFRva2VuIMO6bmljbyByZXVzYWRvIHBlbG8gY2FiZcOnYWxobyBFIHBlbGEgY29sdW5hIGRlIG51bWVyYcOnw6NvICgjKSxcbi8vIHByYSBhbWJvcyBmaWNhcmVtIGlkw6pudGljb3MuIGxpZ2h0ID0gcmdiYSgwLDAsMCwuNTQxKTsgZGFyayA9IHJnYmEoMjU1LDI1NSwyNTUsLjcwKS5cbiR0YWJsZS1oZWFkZXItY29sb3I6ICMwMDAwMDA4QTtcbiR0YWJsZS1oZWFkZXItY29sb3ItZGFyazogI0ZGRkZGRkIzO1xuJGNvbnRlbnQtYm9yZGVyOiByZ2JhKDAsIDAsIDAsIC4yMyk7XG5cbiRzaWRlYmFyLWJhY2tncm91bmQ6ICRzZWNvbmRhcnktdGhlbWUtY29sb3ItbGlnaHRlcjtcbiRzaWRlYmFyLWxhYmVsLXNlbGVjdGVkLWJhY2tncm91bmQ6ICNlNmU2ZTY7XG5cbiRsYW5kaW5nLWJhY2tncm91bmQ6IHdoaXRlc21va2U7XG4kZm9vdGVyLWJhY2tncm91bmQ6IHdoaXRlc21va2U7XG4kZmFiLWJhY2tncm91bmQ6IHdoaXRlO1xuJHRvb2x0aXAtYmFja2dyb3VuZDogd2hpdGU7XG4kY2xvc2UtYnV0dG9uLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4kYmxhY2stYmFja2dyb3VuZC1hbHBoYTI6IHJnYmEoMCwgMCwgMCwgLjIpO1xuJGJsYWNrLWJhY2tncm91bmQtYWxwaGExOiByZ2JhKDAsIDAsIDAsIC4xKTsgLy8gQ29tcG9uZW50IGNvbG9yc1xuXG4kcmV2aWV3LWZvcm0tYm9yZGVyOiByZ2IoMTc5LCAxMzYsIDI1NSk7XG4kcmV2aWV3LXRleHQtZmllbGQ6IHJnYmEoMCwgMCwgMCwgLjUpO1xuJHJldmlldy10ZXh0LWZpZWxkLWRhcms6IHJnYigyNTUsIDI1NSwgMjU1LCAuNSk7XG5cbiRldmVudC1jcmVhdGlvbi1mb3JtLWJvcmRlcjogcmdiKDI0NCwgMTY0LCA5Nik7XG4kZXZlbnQtcmVxdWVzdC1mb3JtLWJvcmRlcjogI0I5QUQ4MztcbiRldmVudC1jYXJkLWJhY2tncm91bmQ6ICNlZGVkZWQ7XG4kZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcms6ICMyNjI2MjY7XG4vLyBTdXBlcmbDrWNpZSBuZXV0cmEgRUxFVkFEQSDigJQgdW0gcGFzc28gYWNpbWEgZGEgZm9saGEgKCRhZG1pbi1iYWNrZ3JvdW5kKS5cbi8vIFRva2VuIGRlIHByb3DDs3NpdG8gZ2VyYWwgcC8gZWxlbWVudG9zIFwibGV2YW50YWRvc1wiIChzdWItYm90w6NvIGRlIHNlbGVjdCxcbi8vIGNhcmRzIGRlIGFycXVpdm8sIHBhaW7DqWlzLCBldGMuKS4gVmFsb3IgbGlnaHQgPSB0b20gcXVlbnRlIE5vdGlvbiAobWVzbW9cbi8vIGRvIGhvdmVyIGRhIHNpZGViYXIgYWRtaW4pIHAvIGNvbnZlcnNhciBjb20gbyByZXN0byBkbyBjaGFpciBVSS5cbiRzdXJmYWNlLXJhaXNlZDogI2YzZjJmMDtcbiRzdXJmYWNlLXJhaXNlZC1kYXJrOiAjMzAzMDMwO1xuXG4vLyBDb3IgZGUgw41DT05FIHNlY3VuZMOhcmlvIC8gbXV0ZWQgKGdsaWZvcyBxdWUgbsOjbyBjb21wZXRlbSBjb20gbyBjb250ZcO6ZG86XG4vLyArL+KIkiBkbyBudW1iZXItaW5wdXQsIGNoZXZyb24gZHVwbG8gZG8gc2VsZWN0LCBsdXBhIGRvIGZpbHRybywgc2V0YSBkb1xuLy8gZGF0ZXBpY2tlciwgZXRjLikuIEVxdWl2YWxlbnRlIGFvIGBVSUNvbG9yLnNlY29uZGFyeUxhYmVsYCBkbyBtYWNPUyDigJRcbi8vIG5ldXRyYSwgYWxmYSA1NSUgcC8gaW50ZWdyYXIgY29tIHF1YWxxdWVyIGJnIChkw6EgdGFtYsOpbSBvcGFjaXR5IGZlZWRiYWNrXG4vLyBubyBob3Zlci9kaXNhYmxlZCBwb3IgaGVyYW7Dp2EpLlxuJGljb24tbXV0ZWQ6IHJnYmEoMCwgMCwgMCwgMC41NSk7XG4kaWNvbi1tdXRlZC1kYXJrOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTUpO1xuXG4vLyBDb250cmFwYXJ0ZXMgXCJhY2VzYXNcIiDigJQgdXNhZGFzIGVtIGhvdmVyL2VzdGFkbyBhdGl2byBwcmEgZGFyIGZlZWRiYWNrXG4vLyB2aXN1YWwgZG8gZ2xpZm8gKG8gY29udGFpbmVyIGdhbmhhIGAkaWNvbi1jb250YWluZXItYmdgOyBvIHByw7NwcmlvXG4vLyBnbGlmbyBnYW5oYSBlc3NlIHRvbSBtYWlzIGVzY3Vyby9jbGFybykuXG4kaWNvbi1tdXRlZC1ob3ZlcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiRpY29uLW11dGVkLWhvdmVyLWRhcms6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcblxuLy8gQ29udGFpbmVyIGRlIMONQ09ORSDigJQgbWVzbW8gdG9tIGRlIFwiaG92ZXIgdHJhbnNsw7pjaWRvXCIgdXNhZG8gbm9zXG4vLyBzdGVwcGVycyBkbyBudW1iZXItaW5wdXQgKGArL+KIkmApLiBQcmV0by9icmFuY28gY29tIGFsZmEgYmFpeG8gaW50ZWdyYVxuLy8gY29tIHF1YWxxdWVyIGJnLiBSZXV0aWxpesOhdmVsIGVtIHN1Yi1ib3TDtWVzLCBwaWxsLXdyYXBzIGUgZXN0YWRvcyBob3ZlclxuLy8gZGUgZ2xpZm9zIHNlY3VuZMOhcmlvcyDigJQgbWFudMOpbSBhIGxpbmd1YWdlbSBjb2VzYS5cbiRpY29uLWNvbnRhaW5lci1iZzogcmdiYSgwLCAwLCAwLCAwLjA2KTtcbiRpY29uLWNvbnRhaW5lci1iZy1kYXJrOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpO1xuJGV2ZW50LWNhcmQtbGluZS1zZXBhcmF0b3I6IHdoaXRlO1xuJHN1Ym1pc3Npb24tY3JlYXRpb24tZm9ybS1ib3JkZXI6ICNCQTU2NTg7XG4kZXZlbnQtY2FyZC1ob3Zlci1ib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4kZXZlbnQtY2FyZC1ob3Zlci1ib3JkZXItY29sb3ItZGFyazogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuXG4kc2lkZWJhci1sYWJlbC1jb2xvcjogIzQzNDM0MztcbiRzaWRlYmFyLWxhYmVsLWNvbG9yLWRhcms6ICNENkQ2RDY7XG5cbiRzaWRlYmFyLWRpdmlkZXItY29sb3I6ICRzaWRlYmFyLWxhYmVsLXNlbGVjdGVkLWJhY2tncm91bmQ7XG5cbi8vIFRQQyBjaGFpciBVSSDigJQgY2Fub25pY2FsIGNocm9tZSBib3JkZXIgdG9rZW5zLlxuLy8gT25lIHBhaXIgZm9yIHRoZSByZXN0aW5nIHN0YXRlICh0aGUgZmluZSAxcHggbGluZXMgdGhhdCBzZXBhcmF0ZSB0aGVcbi8vIHNpZGViYXIsIGJyZWFkY3J1bWIsIGFuZCBtZW51IHBhbmVscyBmcm9tIHN1cnJvdW5kaW5nIGNocm9tZSkgYW5kIG9uZVxuLy8gcGFpciBmb3IgdGhlIFwiYWN0aXZlXCIgc3RhdGUgKHVzZWQgd2hlbiB0aGUgdXNlciBob3ZlcnMvZHJhZ3MgdGhlXG4vLyBzaWRlYmFyIHJlc2l6ZSBoYW5kbGUsIHdoZXJlIHRoZSBlZGdlIGxpbmUgZ2V0cyBhIHRvdWNoIG1vcmUgY29udHJhc3QpLlxuJGNocm9tZS1ib3JkZXItbGlnaHQ6ICAgICAgICAkZ3JheS0yMDA7ICAgLy8gI0U3RTVFNCDigJQgY2hhaXIgVUkgZGVmYXVsdCBkaXZpZGVyXG4kY2hyb21lLWJvcmRlci1kYXJrOiAgICAgICAgICMzYTM5Mzc7ICAgICAvLyBkYXJrLW1vZGUgY291bnRlcnBhcnQgKHdhcm0gbmVhci1ibGFjayArIDEgc3RlcClcbiRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTogJGdyYXktMzAwOyAgIC8vICNENkQzRDEg4oCUIGFjdGl2ZS9ob3ZlciB2YXJpYW50XG4kY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZTogICM1YTU2NTE7ICAgICAvLyBkYXJrLW1vZGUgYWN0aXZlIHZhcmlhbnRcblxuJGFkbWluLWFjY2VudC1jb2xvcjogd2hpdGU7XG4kYWRtaW4tYWNjZW50LWNvbG9yLWRhcms6IHdoaXRlO1xuJGFkbWluLWFjY2VudC1iYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4kYWRtaW4tYWNjZW50LWJhY2tncm91bmQtY29sb3ItZGFyazogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG5cbiRyb3ctdG9waWMtaGlnaGxpZ2h0LWNvbG9yOiAjZTNlNWViO1xuJHJvdy10b3BpYy1oaWdobGlnaHQtY29sb3ItZGFyazogIzI2MjYyNjtcblxuLy8gQ29sb3JzIGZvciB0aGUgdG9wIG1lbnUgaW4gYWRtaW5cbiRuYXZiYXItYWRtaW4tYmFja2dyb3VuZDogJGdyYXktNTA7XG4kbmF2YmFyLWFkbWluLWJhY2tncm91bmQtZGFyazogIzI2MjYyNjtcbiRuYXZiYXItYWRtaW4tbWVudWl0ZW0tY29sb3I6ICRncmF5LTcwMDtcbiRuYXZiYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyazogI0Q2RDZENjtcbi8vIEhvdmVyIGlzIG5ldXRyYWwgaW4gYm90aCB0aGVtZXMg4oCUIG5vIGFnZ3Jlc3NpdmUgY29sb3IgZmxhc2guXG4vLyBEYXJrIG5hdmJhciB1c2VzIExJR0hURVIgaG92ZXIvYWN0aXZlIHRoYW4gdGhlIHNpZGViYXIgYmVjYXVzZSB0aGUgbmF2YmFyIGJnXG4vLyAoIzI2MjYyNikgaXMgaXRzZWxmIGJyaWdodGVyIHRoYW4gdGhlIHNpZGViYXIgYmcgKCMyMDIwMjApIOKAlCBzYW1lIGFic29sdXRlXG4vLyBob3ZlciBjb2xvciB3b3VsZCBiZSBpbnZpc2libGUgaGVyZS4gVmFsdWVzIHBpY2tlZCBmb3IgfjE2IC8gfjI0IGJyaWdodG5lc3Ncbi8vIHVuaXRzIG9mIGNvbnRyYXN0IGFnYWluc3QgdGhlIG5hdmJhciBiZy5cbiRuYXZiYXItYWRtaW4tbWVudWl0ZW0taG92ZXItY29sb3I6ICRncmF5LTkwMDtcbiRuYXZiYXItYWRtaW4tbWVudWl0ZW0taG92ZXItY29sb3ItZGFyazogJG5hdmJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuJG5hdmJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAkaG92ZXItYmc7XG4kbmF2YmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyazogIzM2MzQzMjtcbiRuYXZiYXItYWRtaW4tbWVudWl0ZW0tc2VsZWN0ZWQtYmFja2dyb3VuZDogJGFjdGl2ZS1iZztcbiRuYXZiYXItYWRtaW4tbWVudWl0ZW0tc2VsZWN0ZWQtYmFja2dyb3VuZC1kYXJrOiAjNDI0MDNjO1xuXG4vLyBjb2xvcnMgZm9yIHRoZSBzaXRlIG1lbnUgaW4gYWRtaW5cbiRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQ6ICNmOWY4Zjc7ICAvLyBOb3Rpb24gLS1jLWJhY1NlYyAobGlnaHQpXG4kc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcms6ICMyMDIwMjA7ICAvLyBOb3Rpb24tZXF1aXZhbGVudCBkYXJrIHNpZGViYXIgKHdhcm0gbmVhci1ibGFjaylcbi8vIFNpZGViYXIgaXRlbSB0ZXh0IOKAlCB2YWx1ZXMgc291cmNlZCBmcm9tIENsYXVkZS5haSdzIHNpZGViYXIgKGNvbG9yXG4vLyByZ2IoNTUsIDU1LCA1MikgPSAjMzczNzM0KSBmb3IgYSBtb3JlIGRlZmluZWQgLyByZWFkYWJsZSBncmF5IHRoYW4gdGhlXG4vLyBOb3Rpb24tZGVyaXZlZCAjNzM3MjZkIHdlIGhhZCBiZWZvcmUuIFNlbGVjdGVkIHN0YXlzIHNsaWdodGx5IGRhcmtlclxuLy8gKCMyYzJjMmIpIHNvIHRoZXJlJ3Mgc3RpbGwgYSBzdWJ0bGUgY29sb3Igc3RlcCBvbiB0b3Agb2YgdGhlIGJnIHBpbGwuXG4kc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjogIzM3MzczNDsgICAgICAgICAgICAgLy8gbGlnaHQgdW5zZWxlY3RlZCDigJQgQ2xhdWRlLXN0eWxlIGRlZmluZWQgZ3JheVxuJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlOiAjMDAwOyAgICAgICAgIC8vIGxpZ2h0IHNlbGVjdGVkIOKAlCBwdXJlIGJsYWNrIGZvciBtYXggY29udHJhc3QgdnMgIzM3MzczNFxuJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyazogI2M0YzJiZDsgICAgICAgIC8vIGRhcmsgdW5zZWxlY3RlZCAobGlnaHRlciB3YXJtIGdyYXkgZm9yIGJldHRlciBsZWdpYmlsaXR5KVxuJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcms6ICNmMmYxZWU7IC8vIGRhcmsgc2VsZWN0ZWQgKGJyaWdodGVyIG5lYXItd2hpdGUpXG4vLyBIb3ZlcjogdGV4dCBjb2xvciBzdGF5cyBhdCB0aGUgdW5zZWxlY3RlZCB2YWx1ZSAoTm90aW9uIHBhdHRlcm4g4oCUIG9ubHkgYmdcbi8vIGNoYW5nZXMgb24gaG92ZXIpLiBCZyBpcyBhIHNvZnQgd2FybS1kYXJrIHN0ZXAgYWJvdmUgdGhlIHNpZGViYXIgaW4gZGFyayBtb2RlLFxuLy8gbmV1dHJhbCBsaWdodCBwaWxsIGluIGxpZ2h0IG1vZGUuXG4kc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG4kc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1jb2xvci1kYXJrOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZDogI2U4ZTZlMzsgIC8vIM6UfjYlIHZzICNmOWY4Zjcgc2lkZWJhciDigJQgTm90aW9uLWlzaCBidXQgbW9yZSBsZWdpYmxlXG4kc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcms6ICMzNDMzMmY7ICAvLyDOlH44JSB2cyAjMjAyMDIwIHNpZGViYXIg4oCUIHdhcm0gc3RlcCB1cFxuJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tc2VsZWN0ZWQtYmFja2dyb3VuZDogJGFjdGl2ZS1iZztcbiRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQtZGFyazogIzNhMzkzNjsgIC8vIHR3byBzdGVwcyBsaWdodGVyIOKAlCB2aXNpYmxlIHBpbGwgaW4gZGFyayBtb2RlXG5cblxuJHNpZGViYXItbGFiZWwtc2VsZWN0ZWQtY29sb3I6ICMzYzQwNDM7XG4kc2lkZWJhci1sYWJlbC1zZWxlY3RlZC1jb2xvci1kYXJrOiB3aGl0ZTtcblxuJHNpZGViYXItYWRtaW4tbGFiZWwtc2VsZWN0ZWQtY29sb3I6ICMzYzQwNDM7XG4kc2lkZWJhci1hZG1pbi1sYWJlbC1hbHQtc2VsZWN0ZWQtY29sb3I6IHJnYmEoMzEsIDMxLCAzMSwgMC44KTtcblxuJG5hdmJhci1hZG1pbi1pY29uLWNvbG9yOiAkZ3JheS01MDA7XG4kbmF2YmFyLWljb24tY29sb3I6ICRzaWRlYmFyLWxhYmVsLWNvbG9yO1xuJG5hdmJhci1pY29uLWNvbG9yLWNsZWFyOiAkc2Vjb25kYXJ5LXRoZW1lLWNvbG9yLWxpZ2h0ZXI7XG4kbmF2YmFyLWJhY2tncm91bmQtY29sb3I6ICNGNkY2RjY7XG4kbmF2YmFyLWJhY2tncm91bmQtY29sb3ItZGFyazogIzI2MjYyNjtcblxuLy8gVG9vbGJhciBkbyBhdXRvci9yZXZpc29yIOKAlCBwYWxldGEgdGhlbWUtYXdhcmUgY29tIGNvbnRyYXN0ZSBXQ0FHIOKJpSAzOjFcbi8vIChVSSBjb21wb25lbnRzLCAxLjQuMTEpLCBzYXR1cmHDp8OjbyBhbHRhICg5MC0xMDAlKSBlIG1lc21hIGh1ZSBsaWdodC9kYXJrXG4vLyAocmV2aXNhZGEgMjAyNi0wNS0yNyDigJQgdmVyc8OjbyBcInZpYnJhbnRlXCIpLiBMaWdodG5lc3MgdmFyaWEgKH4zOCUgbGlnaHQgdnNcbi8vIH42MCUgZGFyaykgYXBlbmFzIHBhcmEgcGFzc2FyIGNvbnRyYXN0ZTsgaHVlIGUgc2F0dXJhw6fDo28gZmljYW0gcGFyYWRvc1xuLy8g4oaSIGNhZGEgcGFwZWwgw6kgXCJvYnZpYW1lbnRlIGxhcmFuamFcIiwgXCJvYnZpYW1lbnRlIGF6dWxcIiBldGMgZW0gYW1ib3MgbW9kb3MuXG4vL1xuLy8gICBIdWUgICAgIHwgTGlnaHQgICAgICAgICAgICAgfCBEYXJrXG4vLyAgIC0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLVxuLy8gICA0OMKwICBhbWFyZWxvIHwgI0E4OEUwMCAoTDMzJSkgfCAjRkZEOTMzIChMNjAlKVxuLy8gICAyMjDCsCBhenVsICAgIHwgIzExNDVDMiAgICAgICAgfCAjNUM4RUYwXG4vLyAgIDE0MMKwIHZlcmRlICAgfCAjMDg4ODM4ICAgICAgICB8ICMzRkRCN0Rcbi8vICAgMMKwICAgdmVybWVsaG98ICNEQzI2MjYgICAgICAgIHwgI0ZGMUExQVxuLy8gICAyODDCsCBww7pycHVyYSB8ICM3NzA4QUYgICAgICAgIHwgI0JDNURERlxuLy9cbi8vICoqVHJhZGUtb2ZmIGV4cGzDrWNpdG8gKGF1dG9yLTQsIDIwMjYtMDUtMjcpOioqIEV2ZW50b3MgbGlnaHQgdXNhIFdDQUdcbi8vIHJlbGF4YWRvIFPDkyBubyBwaWxsIHNlbGVjdGVkICgyLjU5OjEgdnMgaWRlYWwgMzoxKS4gU29icmUgbyBuYXZiYXIgbm9ybWFsXG4vLyAoI2Y5ZjhmNykgZWxlIHBhc3NhIDMuMTE6MSDinJMuIEp1c3RpZmljYXRpdmE6IG8gcGlsbCBzZWxlY3RlZCB0ZW0gNCBzaW5haXNcbi8vIGFkaWNpb25haXMgKGJnIHdhcm0gYmVpZ2UgKyB1bmRlcmxpbmUgMnB4IGNvbG9yaWRvICsgdGV4dG8gYm9sZCArIGNvcikg4oCUXG4vLyBvIHVzdcOhcmlvIG7Do28gZGVwZW5kZSBkbyBjb250cmFzdGUgZG8gw61jb25lIHBhcmEgcGVyY2ViZXIgbyBlc3RhZG8gYXRpdm8uXG4vLyBFc3NlIHRyYWRlLW9mZiBwZXJtaXRlIG1hbnRlciBhIHZpYnJhw6fDo28gXCJsYXJhbmphLWxhcmFuamFcIiBxdWUgYVxuLy8gaWRlbnRpZGFkZSB2aXN1YWwgZGEgdG9vbGJhciBwZWRlLiBUb2RvcyBvcyBvdXRyb3MgOSB2YWxvcmVzIHBhc3NhbSDiiaUzOjFcbi8vIGVzdHJpdG8gZW0gdG9kb3Mgb3MgZnVuZG9zLlxuLy9cbi8vIENvbnRyYXN0ZXMgdmVyaWZpY2Fkb3MgKHRvZG9zIHNvYnJlIHBpbGwgc2VsZWN0ZWQg4oCUIGNhc28gbWFpcyBjcsOtdGljbyk6XG4vLyAgIExpZ2h0OiBFdmVudG9zIDIuNTk6MSAocmVsYXhhZG8pLCBkZW1haXMgMy45NuKAkzguNTA6MSDinJNcbi8vICAgRGFyazogIDMuNjDigJM4LjEzOjEg4pyTXG4vLyBFdmVudG9zIOKAlCBkaXN0aW50aXZvIGRlbnRybyBkYSBmYW3DrWxpYSBhbWJlci9sYXJhbmphLiBTeXN0ZW0gYWNjZW50IMOpXG4vLyBhbWJlci03MDAvYW1iZXItNDAwIChkZWVwIHV0aWxpdHkpOyBFdmVudG9zIGZpY2EgZW0gYW1iZXItNTAwL2FtYmVyLTMwMFxuLy8gcHJhIGxlciBjb21vIFwidG9tIG1haXMgY2xhcm8gLyBicmlsaGFudGVcIiDigJQgcHJlc2VydmEgYSBpZGVudGlkYWRlIGRvXG4vLyDDrWNvbmUgc2VtIHNlIGNvbmZ1bmRpciBjb20gY2hyb21lIGFjY2VudC5cbi8vIEV2ZW50b3MgPSBncmVlbiAobGlnaHQpIC8gdGVhbC02MDAgKGRhcmspIOKAlCBTV0FQIGZlaXRvIGNvbSBSZXZpc8O1ZXMuXG4vLyBBIGNvciBjYXNhIGNvbSBvIG5vdm8gYCRldmVudC10aXRsZS1jb2xvci0qYCAoZXZlbnRvIHRlbSBpZGVudGlkYWRlXG4vLyB2ZXJkZS90ZWFsIGVtIHRvZG8gbyBzaXN0ZW1hKS4gSHVlIHNoaWZ0IGVudHJlIG1vZG9zIMOpIGludGVuY2lvbmFsXG4vLyAoY29udHJhc3RlIGRvIHRlYWwtNjAwIGZhbGhhIEFBIGVtIGRhcmssIGVudMOjbyBtYW50aXZlbW9zIGdyZWVuXG4vLyBtYWlzIGJyaWxoYW50ZSBsw6E7IG1hcyBtdWRvdSBwcmEgdGVhbC02MDAgcHJhIGRhciBwZXJzb25hbGlkYWRlKS5cbiRuYXZiYXItZXZlbnRzLWljb24tY29sb3I6ICMwODg4Mzg7ICAgICAgICAvLyBncmVlbiAoZXJhIGFtYmVyLTUwMClcbiRuYXZiYXItZXZlbnRzLWljb24tY29sb3ItZGFyazogIzJERDRCRjsgICAvLyBUYWlsd2luZCB0ZWFsLTQwMCAoZXJhIGFtYmVyLTMwMClcbi8vIFN1Ym1pc3PDtWVzIHVzYSBvIEFDQ0VOVCBkbyBzaXN0ZW1hICh2aWEgcmVmZXLDqm5jaWEg4oCUIHRva2VuIGNvbnRpbnVhXG4vLyBkZWRpY2FkbzsgbXVkYSBzZSBgJGFjY2VudC1iYWNrZ3JvdW5kYCBtdWRhcikuXG4kbmF2YmFyLW15LXN1Ym1pc3Npb25zLWljb24tY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiRuYXZiYXItbXktc3VibWlzc2lvbnMtaWNvbi1jb2xvci1kYXJrOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbi8vIFJldmlzw7VlcyA9IGFtYmVyIChoZXJkYSBkbyBxdWUgZXJhIGRlIEV2ZW50b3MpLiBTV0FQLlxuJG5hdmJhci1teS1yZXZpZXdzLWljb24tY29sb3I6ICNGNTlFMEI7ICAgICAvLyBUYWlsd2luZCBhbWJlci01MDAgKGVyYSBncmVlbilcbiRuYXZiYXItbXktcmV2aWV3cy1pY29uLWNvbG9yLWRhcms6ICNGQ0QzNEQ7IC8vIFRhaWx3aW5kIGFtYmVyLTMwMCAoZXJhIGdyZWVuIGNsYXJvKVxuJG5hdmJhci1teS10cGNzLWljb24tY29sb3I6ICNEQzI2MjY7XG4kbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvci1kYXJrOiAjRkYxQTFBO1xuJG5hdmJhci1teS1ldmVudHMtaWNvbi1jb2xvcjogIzc3MDhBRjtcbiRuYXZiYXItbXktZXZlbnRzLWljb24tY29sb3ItZGFyazogI0JDNURERjtcbi8vIENvb3JkZW5hZG9yIGRlIHNlc3PDo28gdMOpY25pY2Eg4oCUIGluZGlnbyAow7puaWNhIGNvciBwcmltw6FyaWEgZnJpYSBzZW1cbi8vIGRvbm8gbm8gc2lzdGVtYTsgZGlzdGludGEgZGUgYmx1ZSBkZSBTdWJtaXNzw7VlcyBlIGRvIHRlYWwgcXVlIEV2ZW50b3Ncbi8vIGFzc3VtaXUgZW0gZGFyaykuXG4kbmF2YmFyLW15LXNlc3Npb24tY2hhaXJpbmdzLWljb24tY29sb3I6ICM0RjQ2RTU7ICAgICAgIC8vIFRhaWx3aW5kIGluZGlnby02MDBcbiRuYXZiYXItbXktc2Vzc2lvbi1jaGFpcmluZ3MtaWNvbi1jb2xvci1kYXJrOiAjODE4Q0Y4OyAgLy8gVGFpbHdpbmQgaW5kaWdvLTQwMFxuXG4vLyBQdWJsaWNhdGlvbnMgPSBjaWFuby90ZWFsIChsaXZyby9pbXByZXNzw6NvKSDigJQgw7puaWNvIGh1ZSBcImVkaXRvcmlhbFwiIGFpbmRhXG4vLyBuw6NvIHVzYWRvIG5vIG5hdiBkbyBhdXRvci9yZXZpc29yLlxuJG5hdmJhci1teS1wdWJsaWNhdGlvbi1jaGFpcmluZ3MtaWNvbi1jb2xvcjogIzA4OTFCMjsgICAgICAgLy8gVGFpbHdpbmQgY3lhbi02MDBcbiRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3ItZGFyazogIzY3RThGOTsgIC8vIFRhaWx3aW5kIGN5YW4tMzAwXG5cbi8vIOKUgOKUgCBDb3IgZGVkaWNhZGEgZG9zIFTDjVRVTE9TIERFIEVWRU5UTyBubyBzaXN0ZW1hIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gVXNhZGEgZW0gdG9kbyBsdWdhciBxdWUgcmVuZGVyaXphIFwibm9tZSBkbyBldmVudG9cIiBjb21vIGxpbmsvdMOtdHVsb1xuLy8gcHJpbcOhcmlvIChsaXN0YSBkZSBldmVudG9zLCBjYXJkcyBlbSBTdWJtaXNzw7Vlcy9SZXZpc8O1ZXMvU2Vzc8O1ZXMsXG4vLyBldmVudC12aWV3IGV0Yy4pLiBTZW1hbnRpY2FtZW50ZSA9IFwiaWRlbnRpZGFkZSBkZSBldmVudG9cIi5cbi8vIEJhdGUgY29tIGAkbmF2YmFyLWV2ZW50cy1pY29uLWNvbG9yLSpgIChFdmVudG9zID0gZ3JlZW4vdGVhbCkuXG4vLyBIdWUgc2hpZnQgZW50cmUgbGlnaHQvZGFyayDDqSBpbnRlbmNpb25hbC5cbiRldmVudC10aXRsZS1jb2xvci1saWdodDogIzA4ODgzODsgICAvLyBncmVlbiAobWVzbW8gZG8gw61jb25lIEV2ZW50b3MgbGlnaHQpXG4kZXZlbnQtdGl0bGUtY29sb3ItZGFyazogICMyREQ0QkY7ICAgLy8gVGFpbHdpbmQgdGVhbC00MDAgKG1lc21vIGRvIMOtY29uZSBFdmVudG9zIGRhcmspXG5cbi8vIFBhciBkbyAkZXZlbnQtdGl0bGUtY29sb3ItKiDigJQgY29yIERFRElDQURBIGRlIFwibm9tZSBkYSBzdWJtaXNzw6NvXCJcbi8vIGNvbW8gbGluay90w610dWxvIHByaW3DoXJpbyAoY2FyZCBkZSBzdWJtaXNzw6NvLCBoZWFkZXIgZGUgcGFwZXItaW5mbyxcbi8vIGxpc3RhcykuIFNlbWFudGljYW1lbnRlID0gXCJpZGVudGlkYWRlIGRlIHN1Ym1pc3PDo29cIi4gSG9qZSBlc3BlbGhhIG9cbi8vICRhY2NlbnQtYmFja2dyb3VuZCwgbWFzIGRlc2Fjb3BsYWRvIHByYSBwb2RlciBhanVzdGFyIHRvbS9icmlsaG9cbi8vIHNlbSBhZmV0YXIgYm90w7Vlcy9hY2NlbnQgZG8gc2lzdGVtYS5cbiRzdWJtaXNzaW9uLXRpdGxlLWNvbG9yLWxpZ2h0OiAkYWNjZW50LWJhY2tncm91bmQ7XG4kc3VibWlzc2lvbi10aXRsZS1jb2xvci1kYXJrOiAgJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4kbmF2YmFyLXNlbGVjdGVkLW1lbnUtY29sb3I6ICNlMGUwZTA7XG4kbmF2YmFyLXNlbGVjdGVkLW1lbnUtY29sb3ItZGFyazogIzNjNDA0MztcbiRzZWFyY2gtYmFyLWJhY2tncm91bmQ6ICRzaWRlYmFyLWxhYmVsLXNlbGVjdGVkLWJhY2tncm91bmQ7XG4kbGFuZGluZy1wYWdlLWJhY2tncm91bmQtY29sb3I6ICNmYWZhZmM7XG5cbiRzdWJtaXNzaW9uLWZpbGVzOiByZ2IoNTQsIDU0LCA1NCk7XG4kaW5wdXRzLWxhbmRpbmctY29sb3I6ICNiNWI1YjU7XG4kZm9vdGVyLXZlcnNpb24tY29sb3I6IGJsYWNrO1xuJGZhYi1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiR0b29sdGlwLWNvbG9yOiB3aGl0ZTtcbiRjbG9zZS1idXR0b24tY29sb3I6IGJsYWNrOyAvLyBDb21wb25lbnQgU2hhZG93c1xuJGNsb3NlLWJ1dHRvbi1jb2xvci1kYXJrOiB3aGl0ZTtcbiRtYXQtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIC4yKSxcbjAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgLjE0KSxcbjAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgLjEyKTtcbiR0b29sdGlwLXNoYWRvdzogMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAuMiksXG4wIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIC4xNCksXG4wIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIC4xMik7XG4vLyAkaW5zZXQtbWF0LXNoYWRvdzogaW5zZXQgMCAwIDJweCByZ2JhKDAsIDAsIDAsIC4xMiksXG4vLyBpbnNldCAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAuMjQpOyAvLyBTdWJtaXNzaW9uIFN0YXR1c1xuJG1hdC1jYXJkLXRpdGxlLWJhY2tncm91bmQ6ICNkMWQxZDE7XG4kaW5zZXQtbWF0LXNoYWRvdzogMHB4IDBweCA1cHggI2JiYmJiYjsgLy8gU3VibWlzc2lvbiBTdGF0dXNcbiRzdGF0dXMtaWNvbi1jb2xvcjogd2hpdGU7XG4kY2xvc2UtYnV0dG9uLWNvbG9yOiBibGFjaztcbiRzbGlkZXItdGljay1iYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDEpO1xuJGZhYi1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgLjIpLCAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgLjEyKTtcbiR0b29sdGlwLXNoYWRvdzogMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAuMTIpO1xuJHNsaWRlci1sYWJlbC1zaGFkb3c6IDAgMXB4IDVweCAxcHggcmdiYSgwLDAsMCwuNyk7XG5cbi8vIFRyYWNrXG4kdHJhY2stbm90LW9wZW4tY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC41KTtcbiR0cmFjay1jbG9zZWQtY29sb3I6IHJnYmEoMjIyLDU4LDQzLDAuOSk7XG5cbi8vIEVycm9yc1xuJGVycm9yLWludmFsaWQtY29sb3I6ICNDQzAwMjk7XG4kbm90aWZpY2F0aW9uLWJhY2tncm91bmQtY29sb3I6ICM3RkMxNUM7XG4kbm90aWZpY2F0aW9uLWNvbG9yOiAjZmFmYWZhO1xuXG4kbGVnZW5kLWNvbG9yLWxlc3M6ICNmYjhjMDAzMztcbiRsZWdlbmQtY29sb3ItbW9yZTogI2IwYmVjNTgwO1xuJGxlZ2VuZC1jb2xvci1jb3JyZWN0OiAjYmJkZWZiYTY7XG4kbGVnZW5kLWNvbG9yLWV4YWN0OiAjODFjNzg0NjY7XG5cbi8vIENoYXJ0IHBhbGV0dGUgZGVmaW5pdGlvbnMgZXhwb3NlZCBhcyBDU1MgdmFyaWFibGVzICh1c2VkIGJ5IENvbG9yUGFsZXR0ZXMgVFMgaGVscGVyKVxuOnJvb3Qge1xuICAvLyBUYW5nbzogd2FybS9jb29sIGFsdGVybmF0ZWQsIGdyb3VwZWQgdG8gcHJlc2VydmUgY29udHJhc3Qgd2hlbiBpbnRlcmxlYXZpbmdcbiAgLS1wYWxldHRlLXRhbmdvLWdyb3VwczogI2ZjZTk0ZiwjZWRkNDAwLCNjNGEwMDB8IzcyOWZjZiwjMzQ2NWE0LCMyMDRhODd8I2ZjYWYzZSwjZjU3OTAwLCNjZTVjMDB8IzhhZTIzNCwjNzNkMjE2LCM0ZTlhMDZ8I2U5Yjk2ZSwjYzE3ZDExLCM4ZjU5MDJ8I2FkN2ZhOCwjNzU1MDdiLCM1YzM1NjZ8Izg4OGE4NSwjNTU1NzUzLCMyZTM0MzZ8I2VmMjkyOSwjY2MwMDAwLCNhNDAwMDB8I2VlZWVlYywjZDNkN2NmLCNiYWJkYjY7XG4gIC8vIEFkd2FpdGEgKEdOT01FIEhJRyk6IGNvb2wvd2FybSBhbHRlcm5hdGlvbiwgbmV1dHJhbHMgbGFzdFxuICAtLXBhbGV0dGUtYWR3YWl0YS1ncm91cHM6ICM5OWMxZjEsIzYyYTBlYSwjMzU4NGU0LCMxYzcxZDgsIzFhNWZiNHwjZmZiZTZmLCNmZmEzNDgsI2ZmNzgwMCwjZTY2MTAwLCNjNjQ2MDB8IzhmZjBhNCwjNTdlMzg5LCMzM2QxN2EsIzI2YTI2OSwjMWY3ZjU2fCNmNjYxNTEsI2VkMzMzYiwjZTAxYjI0LCNjMDFjMjgsI2E1MWQyZHwjZjlmMDZiLCNmOGU0NWMsI2Y2ZDMyZCwjZjVjMjExLCNlNWE1MGF8I2RjOGFkZCwjYzA2MWNiLCM5MTQxYWMsIzgxM2Q5YywjNjEzNTgzfCNjZGFiOGYsI2I1ODM1YSwjOTg2YTQ0LCM4NjVlM2MsIzYzNDUyY3wjZmZmZmZmLCNmNmY1ZjQsI2RlZGRkYSwjYzBiZmJjLCM5YTk5OTZ8Izc3NzY3YiwjNWU1YzY0LCMzZDM4NDYsIzI0MWYzMSwjMDAwMDAwO1xufVxuXG4vL0VtcHR5LXN0YXRlOlxuJGVtcHR5LXN0YXRlLWJhY2tncm91bmQ6IG1haW4tdGhlbWUtY29sb3ItbGlnaHQ7XG4kZW1wdHktc3RhdGUtYmFja2dyb3VuZC1jb2xvci1kYXJrOiAjMjYyNjI2O1xuXG4vLyBNYXQtY2FyZDogRXZlbnRcbiRtYXQtY2FyZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG4kbWF0LWNhcmQtY29sb3ItZGFyazogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbiRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kO1xuJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3ItZGFyazogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xuLy8gQ2FyZCBib3JkZXIgYWxpbmhhZG8gYW9zIHRva2VucyBjYW7DtG5pY29zIGRvIGNocm9tZSBjaGFpciBVSSAobWVzbWEgY29yXG4vLyB1c2FkYSBwb3Igc2lkZWJhciBoZWFkZXIgZGl2aWRlciwgYnJlYWRjcnVtYiBib3R0b20gYm9yZGVyLCBib3R0b20gcmFpbCxcbi8vIGUgb3V0bGluZSBkZSBwYWluZWwgZGFyaykuIFN1YnN0aXR1aSBvIHJnYmEgYWQtaG9jIGFudGVyaW9yIOKAlCB2aXN1YWxtZW50ZVxuLy8gcHLDs3hpbW8gbWFzIGFnb3JhIDEwMCUgY29lcmVudGUgY29tIG8gcmVzdG8gZG8gc2lzdGVtYS5cbiRtYXQtY2FyZC1ib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xuJG1hdC1jYXJkLWJvcmRlci1jb2xvci1kYXJrOiAkY2hyb21lLWJvcmRlci1kYXJrO1xuJG1hdC1jYXJkLWhlYWRlci1jb2xvcjogJGV2ZW50LWNhcmQtYmFja2dyb3VuZDtcblxuJGJ1dHRvbi1kaXNhYmxlZC1jb2xvcjogIzk5OTk5OTtcbiRidXR0b24tZGlzYWJsZWQtY29sb3ItZGFyazojNjY2NjY2O1xuXG4vLyBTaW5hbGl6YcOnw6NvIGRlIFwidXN1w6FyaW8gaW5hdGl2b1wiIC8gYcOnw6NvIHBlbmRlbnRlIChlbnZlbG9wZSBkZSByZWVudmlvIGRlXG4vLyBlLW1haWwgZGUgYXRpdmHDp8OjbyBuYSB0YWJlbGEgZGUgUGVzc29hcykuIFZlcm1lbGhvIGZvcnRlIG5vIGxpZ2h0IHByYVxuLy8gY2hhbWFyIGF0ZW7Dp8OjbzsgdG9tIG1haXMgY2xhcm8gbm8gZGFyayBwcmEgY29udHJhc3RhciBjb20gbyBjYW52YXMgd2FybVxuLy8gKCMyMDIwMjApIHNlbSB2aXJhciBibG9jbyBncml0YW50ZS4gVGFpbHdpbmQgcmVkLTcwMCAvIHJlZC00MDAuXG4kdXNlci1pbmFjdGl2ZS1jb2xvcjogI2M2MjgyODtcbiR1c2VyLWluYWN0aXZlLWNvbG9yLWRhcms6ICNmODcxNzE7XG5cbi8vIE1hdC1jYXJkOiBUYWJsZVxuJHRhYmxlLWJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7XG4kdGFibGUtYmFja2dyb3VuZC1jb2xvci1kYXJrOiAjMjYyNjI2O1xuJHRhYmxlLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAjZDFkMWQxO1xuJHRhYmxlLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yLWRhcms6ICM0ZDRkNGQ7XG4kdGFibGUtbGluZS1jb2xvcjogd2hpdGU7XG4kdGFibGUtaG92ZXItYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4yNSk7XG4kdGFibGUtaG92ZXItYm9yZGVyLWNvbG9yLWRhcms6ICRhZG1pbi1hY2NlbnQtYmFja2dyb3VuZC1jb2xvci1kYXJrO1xuLy8gVsOpdSBkZSBob3ZlciBkZSBsaW5oYSDigJQgRk9OVEUgw5pOSUNBLCB1c2FkbyBwZWxvIG1vZGlmaWVyIGdsb2JhbCBgLmplbXMzLXRhYmxlLWhvdmVyYFxuLy8gKF90YWJsZS5zY3NzKSBlIHJlcGxpY2FkbyBubyBzdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyLiBMaWdodCA9IHByZXRvIHRyYW5zbMO6Y2lkb1xuLy8gKGVzY3VyZWNlIHN1dGlsKTsgZGFyayA9IGJyYW5jbyB0cmFuc2zDumNpZG8gKGNsYXJlaWEgc3V0aWwpLiBNdWRlIGFxdWkg4oaSIG11ZGEgZW0gdG9kYXMuXG4kdGFibGUtaG92ZXItdmVpbC1saWdodDogcmdiYSgwLCAwLCAwLCAwLjA0KTtcbiR0YWJsZS1ob3Zlci12ZWlsLWRhcms6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNyk7XG5cbi8vTWF0LW1lbnVcbiRtYXQtbWVudS1iYWNrZ3JvdW5kLWNvbG9yOiAjRjZGNkY2O1xuJG1hdC1tZW51LWJhY2tncm91bmQtY29sb3ItZGFyazogIzM4MzgzODtcblxuLy8gQ2FsZW5kYXJcbiRjYWxlbmRhci1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yO1xuJGNhbGVuZGFyLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yLWRhcms6ICR0YWJsZS1oZWFkZXItYmFja2dyb3VuZC1jb2xvci1kYXJrO1xuJGNhbGVuZGFyLWJhY2tncm91bmQtY29sb3I6ICRldmVudC1jYXJkLWJhY2tncm91bmQ7XG4kY2FsZW5kYXItYmFja2dyb3VuZC1jb2xvci1kYXJrOiAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcms7XG5cbi8vIEdyYXlzY2FsZVxuJGJsYWNrLTEwMDogI2ZhZmFmYTtcbiRibGFjay0xNTA6ICNmNWY1ZjU7XG4kYmxhY2stMjAwOiAjZWRlZGVkO1xuJGJsYWNrLTMwMDogI2QxZDFkMTtcbiRibGFjay00MDA6ICNiYmJiYmI7XG4kYmxhY2stNTAwOiAjOGI4ZDhmO1xuJGJsYWNrLTYwMDogIzcyNzY3YjtcbiRibGFjay03MDA6ICM0ZDUyNTg7XG4kYmxhY2stODAwOiAjMzkzZjQ0O1xuJGJsYWNrLTkwMDogIzI5MmUzNDtcbiRibGFjay0xMDAwOiAjMDMwMzAzO1xuXG4kd2hpdGUtMTAwMDogI2ZmZmZmZjtcblxuLy8gbWF0LXRhYlxuJG1hdC10YWItbGFiZWw6ICM0MzQzNDM7XG4kbWF0LXRhYi1sYWJlbC1kYXJrOiAjRDZENkQ2O1xuJG1hdC10YWItdW5kZXJsaW5lOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuJG1hdC10YWItdW5kZXJsaW5lLWRhcms6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcblxuXG4vLy9cbi8vIENvbG9yIGRlZmluaXRpb25zIG9mIHN1Ym1pc3Npb24gYW5kIHJldmlldyBzdGF0dXMuXG4vLyBJdGVtIGZvcm1hdDogXCJzdGF0dXM6ICggYmFja2dyb3VuZENvbG9yLCBsaW5rQ29sb3IgKVwiXG4vLy9cbi8vIFN1Ym1pc3Npb24gU3RhdHVzXG4vL1xuLy8gQ2FkYSBzdGF0dXM6IChmdW5kbywgY29yIGRvIHRleHRvLCBjb3IgZG8gw61jb25lKS4gTyDDrWNvbmUgw6kgdW0gdG9tIEVTQ1VST1xuLy8gaGFybW9uaXphZG8gKG7Do28gcHJpbcOhcmlvIHB1cm8pOiBhbnRlcyBBdGl2YSB1c2F2YSBhenVsIHB1cm8gIzAwMDBmZiBlXG4vLyBSZWplaXRhZGEgdmVybWVsaG8gcHVybyAjZmYwMDAwLCBxdWUgZGVzdG9hdmFtIGRvcyBkZW1haXMgKHZlcmRlL21hcnJvbS9jaW56YVxuLy8gZXNjdXJlY2lkb3MpLiBBZ29yYSBBdGl2YSA9IGF6dWwtbWFyaW5obyBlIFJlamVpdGFkYSA9IHZlcm1lbGhvLWVzY3Vyby5cbiRzdWJtaXNzaW9uLXN0YXR1czogKFxuICAvLyBcInBlbmRpbmdcIiA9IHN0YXR1cyBEcmFmdCAoUmFzY3VuaG8pIOKGkiBjaW56YS5cbiAgXCJwZW5kaW5nXCI6ICgjZTVlNWU1LCAkc2lkZWJhci1sYWJlbC1jb2xvciwgIzZiNmI2YiksXG4gIFwiYWN0aXZlXCI6ICgjRkZGRjU1LCAkc2lkZWJhci1sYWJlbC1jb2xvciwgIzFmM2E5MyksXG4gIFwiYWNjZXB0ZWRcIjogKCM5OUZGOTksJHNpZGViYXItbGFiZWwtY29sb3IsICMxYzc1MzApLFxuICBcInJlamVjdGVkXCI6ICgjZmZiZGJkLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgI2IzMjYxZSksXG4gIFwid2l0aGRyYXduXCI6ICgjRERERERELCAkc2lkZWJhci1sYWJlbC1jb2xvciwgIzgwODA4MClcbik7XG5cbjpyb290IHtcbiAgLy8gU3VibWlzc2lvbiBzdGF0dXMgY29sb3JzIChkZXJpdmVkIGZyb20gJHN1Ym1pc3Npb24tc3RhdHVzIFNDU1MgbWFwKVxuICAtLXN1Ym1pc3Npb24tc3RhdHVzLXBlbmRpbmc6ICN7bnRoKG1hcC1nZXQoJHN1Ym1pc3Npb24tc3RhdHVzLCBcInBlbmRpbmdcIiksIDEpfTtcbiAgLS1zdWJtaXNzaW9uLXN0YXR1cy1hY3RpdmU6ICN7bnRoKG1hcC1nZXQoJHN1Ym1pc3Npb24tc3RhdHVzLCBcImFjdGl2ZVwiKSwgMSl9O1xuICAtLXN1Ym1pc3Npb24tc3RhdHVzLWFjY2VwdGVkOiAje250aChtYXAtZ2V0KCRzdWJtaXNzaW9uLXN0YXR1cywgXCJhY2NlcHRlZFwiKSwgMSl9O1xuICAtLXN1Ym1pc3Npb24tc3RhdHVzLXJlamVjdGVkOiAje250aChtYXAtZ2V0KCRzdWJtaXNzaW9uLXN0YXR1cywgXCJyZWplY3RlZFwiKSwgMSl9O1xuICAtLXN1Ym1pc3Npb24tc3RhdHVzLXdpdGhkcmF3bjogI3tudGgobWFwLWdldCgkc3VibWlzc2lvbi1zdGF0dXMsIFwid2l0aGRyYXduXCIpLCAxKX07XG4gIC0tc3VibWlzc2lvbi1zdGF0dXMtZGVsZXRlZDogI3tudGgobWFwLWdldCgkc3VibWlzc2lvbi1zdGF0dXMsIFwid2l0aGRyYXduXCIpLCAxKX07XG59XG5cbi8vIFJldmlldyBTdGF0dXNcbiRyZXZpZXctc3RhdHVzOiAoXG4gIFwiYXNzaWduZWRcIjogKCNGRkZGRkYsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCBibGFjayksXG4gIFwibm90aWZpZWRcIjogKCM5NEMwRkIsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCBibGFjayksXG4gIFwiY29uZmlybWVkXCI6ICgjRkZEODYwLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgYmxhY2spLFxuICBcImRlY2xpbmVkXCI6ICgjQzZDNkM2LCAkc2lkZWJhci1sYWJlbC1jb2xvciwgYmxhY2spLFxuICBcInJlbWluZGVkXCI6ICgjRkY4RkEwLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgYmxhY2spLFxuICBcImxhdGVcIjogKCNmYTViNWIsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCBibGFjayksXG4gIFwiZGVsZWdhdGVkXCI6ICgjZmY4OWM5LCAkc2lkZWJhci1sYWJlbC1jb2xvciwgYmxhY2spLFxuICBcImNvbXBsZXRlZFwiOiAoIzYzRkNDOCwgJHNpZGViYXItbGFiZWwtY29sb3IsIGJsYWNrKSxcbiAgXCJkcmFmdFwiOiAoI0FBQUFBQSwgJHNpZGViYXItbGFiZWwtY29sb3IsIGJsYWNrKVxuICApO1xuXG4gIC8vIFJldmlldyBhY3Rpb25zIGJ1dHRvbnNcbiAgJHJldmlldy1hY3Rpb25zOiAoXG4gICAgXCJjb25maXJtXCI6ICMyNjM2ZTYsXG4gICAgXCJkZWNsaW5lXCI6ICNjZTE0MTQsXG4gICAgXCJlZGl0XCI6ICM0MWFiMGMsXG4gICAgXCJkZWxlZ2F0ZVwiOiAjYzkzZGRlXG4gICk7XG5cbiAgJGVtYWlsLXN0YXR1czogKFxuICAgIFwicGVuZGluZ1wiOiAoI2ZhYjY1YywgJHNpZGViYXItbGFiZWwtY29sb3IsICM4NzRkMDApLFxuICAgIFwic2VudFwiOiAoIzk5RkY5OSwkc2lkZWJhci1sYWJlbC1jb2xvciwgIzFjNzUzMCksXG4gICAgXCJyZWplY3RlZFwiOiAoI2ZmYmRiZCwgJHNpZGViYXItbGFiZWwtY29sb3IsICNmZjAwMDApLFxuICApO1xuXG4gICRwdWJsaWNhdGlvbi1zdGF0dXM6IChcbiAgICBcInJlYWR5XCI6ICgjNmRhMzZmLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgYmxhY2spLFxuICAgIFwibm90LXJlYWR5XCI6ICgjZjkzODI2LCAkc2lkZWJhci1sYWJlbC1jb2xvciwgYmxhY2spLCAvLyBtYXliZTogI2ZmNWQ2ZVxuICApO1xuXG4vLyBTcGFuIGNvbG9ycyBmb3Igc3VibWlzc2lvbiByYW5raW5nXG4kc3Bhbi1iZWxvdy1BLWJhY2tncm91bmQtY29sb3I6ICM3NUQ3NzU7XG4kc3Bhbi1hYm92ZS1CLWJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7XG4kc3Bhbi1iZXR3ZWVuLUEtYW5kLUItYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MCwgMjQwLCA3NCk7XG5cbi8vIFByb2NlZWRpbmdzIGNvbnRlbnQgdHlwZXNcbiRwcm9jZWVkaW5ncy1jb250ZW50LXR5cGVzOiAoXG4gIFwic3VibWlzc2lvblwiOiAjOTlGRjk5LFxuICBcImZpbGVcIjogI2U3OGM4NCxcbiAgXCJpbmRleFwiOiAjYWFhLFxuICBcImF1dGhvci1pbmRleFwiOiAjYWFhLFxuICBcIndoaXRlLXBhZ2VcIjogI2ZmZlxuKTtcblxuLy8gQ2hlY2sgbGlzdCBhbnN3ZXIgc3RhdHVzXG4kY2hlY2tsaXN0LWFuc3dlcnMtc3RhdHVzOiAoXG4gIFwibm90LWZvdW5kXCI6ICNmZmJkYmQsXG4gIFwidW5yZWxhdGVkXCI6ICNGRkZGNTUsXG4gIFwiZHVwbGljYXRlZFwiOiAjZmFiNjVjLFxuICBcInVuY2F0ZWdvcml6ZWRcIjogI2Q0ZDNkMyxcbiAgXCJpbnZhbGlkXCI6ICM2ZDZkNmQsXG4gIFwiZGVsZXRpbmdcIjogIzg4ODg4OCxcbiAgXCJva1wiOiAjOTlGRjk5XG4pO1xuXG4kcHVibGljYXRpb24tc3RhdHVzLXJlYWR5OiAjNmRhMzZmO1xuJHB1YmxpY2F0aW9uLXN0YXR1cy1ub3QtcmVhZHk6ICNmOTM4MjY7XG4vLyBcIlBlbmRlbnRlXCIg4oCUIHZlcm1lbGhvIENIQU1BVElWTyBwLyBvIGNoaXAgZGEgc2XDp8OjbyBTdGF0dXMgZGUgcHVibGljYcOnw6NvLiBVc2Egb1xuLy8gdmVybWVsaG8gZGUgZXJybyBkbyBzaXN0ZW1hICgjQ0MwMDI5LCBtZXNtbyBkbyBjaGlwIGRlIFwidHJpbGhhIGZlY2hhZGFcIik6IGZvcnRlIGVcbi8vIGVtLXNpc3RlbWEsIGNvbSBib20gY29udHJhc3RlIHAvIHRleHRvIGJyYW5jbyAofjYuNDoxKS4gU3Vic3RpdHVpIG8gbsOpb24gI2Y5MzgyNi5cbiRwdWJsaWNhdGlvbi1zdGF0dXMtcGVuZGluZzogI0NDMDAyOTtcblxuXG4vLyBJbnRlcmVzdCBUb3BpY3MgQ29sb3JzIGZvciBCaWRcbiRpbnRlcmVzdC10b3BpYy1iYWNrZ3JvdW5kLWNvbG9yOiAjNzVENzc1O1xuJG5ldXRyYWwtaW50ZXJlc3QtdG9waWMtYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDtcbiRuby1pbnRlcmVzdC10b3BpYy1iYWNrZ3JvdW5kLWNvbG9yOiAjZjY2ZDA0O1xuXG5cbi8vRGVmYXVsdCBjb2xvcnMgZm9yIGRhc2hib2FyZHNcbiRkZWZhdWx0LWZpcnN0LXNlY3Rvci1jb2xvcjogI2ZmYzg3MDtcbiRkZWZhdWx0LXNlY29uZC1zZWN0b3ItY29sb3I6ICNmN2Y3YzY7XG4kZGVmYXVsdC10aGlyZC1zZWN0b3ItY29sb3I6ICNjOGUzYzU7XG4kZGVmYXVsdC1mb3VydGgtc2VjdG9yLWNvbG9yOiAjOWNhZDlhO1xuJGRlZmF1bHQtZmlmdGgtc2VjdG9yLWNvbG9yOiAjNzU1ODU4O1xuJGRlZmF1bHQtc2l4dGgtc2VjdG9yLWNvbG9yOiAjYWJkZjU3O1xuXG4vL0NoYXJ0IGdyaWQgY29sb3JcbiRjaGFydC1ncmlkLWNvbG9yOiAjMDAwMDAwMzM7XG4kY2hhcnQtZ3JpZC1jb2xvci1kYXJrOiAjZmZmZmZmMzM7XG5cbi8vIGFwcC11c2VyLW5vdGlmaWNhdGlvbnNcbiRub3QtcmVhZC1ub3RpZmljYXRpb24tYmFja2dyb3VuZC1jb2xvcjogbmF2YWpvd2hpdGU7IiwiQGltcG9ydCBcImNvbG9yc1wiO1xuXG4vLyBIZWFkaW5nIGhpZXJhcmNoeSBhbGlnbmVkIHRvIHRoZSBNYXRlcmlhbCBEZXNpZ24gMyB0eXBlIHJhbXAsXG4vLyBlZGl0b3JpYWwgd2VpZ2h0IHZhcmlhbnQgKE9wdGlvbiBCKTogaGVhZGxpbmVzIHJlbmRlciBhdCB3ZWlnaHQgNDAwIGZvciBhXG4vLyBtb2Rlcm4gXCJOb3Rpb24vTGluZWFyXCIgZmVlbC4gVG9rZW5zIGRvY3VtZW50ZWQgaW4gX3R5cG9ncmFwaHktbWQzLnNjc3MuXG5cbi8vIFBhZ2UgdGl0bGUg4oCUIHVzZWQgaW4gLm1haW4tdGl0bGUgaDEgYWNyb3NzIH4zNCBjaGFpciBzY3JlZW5zLlxuLy8gVHVuZWQgZm9yIGNoYWlyIGFyZWEgd2hlcmUgdGhlIGJyZWFkY3J1bWIgYWxyZWFkeSBjYXJyaWVzIHBhZ2UgaWRlbnRpdHk6XG4vLyAyMHB4IChMaW5lYXIvVmVyY2VsLXN0eWxlIHN0ZXApLCB3ZWlnaHQgNTAwIChjbGVhciBoaWVyYXJjaHkgb3ZlciB0aGVcbi8vIDQzMC13ZWlnaHQgbmF2IGl0ZW1zKSwgMjRweCBsaW5lLWhlaWdodCwgdHJhY2tpbmcgMCAoY2hhaXIgVUkgcnVsZSkuXG5oMSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgICAgICAgLy8gMjBweFxuICBsaW5lLWhlaWdodDogMS41cmVtOyAgICAgIC8vIDI0cHhcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG59XG5cbi8vIE1hdGVyaWFsIFN5bWJvbHMgZGVudHJvIGRlIEgxIOKAlCBoZXJkYW0gRklMTCAxICsgd2dodCA0MDAgKFBlcnNvbmEgQSBkYVxuLy8gdG9vbGJhciBkbyBhdXRvci9yZXZpc29yKSwgcGFyYSB2aXN1YWxtZW50ZSBiYXRlcmVtIGNvbSBvcyDDrWNvbmVzIGRvc1xuLy8gaXRlbnMgZGUgbmF2ZWdhw6fDo28uIEFsaW5oYW1lbnRvIMOzcHRpY28gdmlhIGB2ZXJ0aWNhbC1hbGlnbjogLTAuMmVtYCArXG4vLyBgbGluZS1oZWlnaHQ6IDFgIChsaW5lLWJveCBhcGVydGFkYSBkbyDDrWNvbmUsIHNlbSBwYWRkaW5nIGhlcmRhZG8pLlxuaDEgLm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQsXG5oMSBpLm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQge1xuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ29wc3onIDIwLCAnd2dodCcgNDAwLCAnRklMTCcgMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogLTAuMmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLy8gUGFnZS10aXRsZSBpY29uICjDoCBlc3F1ZXJkYSBkbyBoMSkg4oCUIHJlY2lwZSBzaWRlYmFyIGxldmVsLTEgcmVzdDpcbi8vIE1hdGVyaWFsIFN5bWJvbHMgT3V0bGluZWQsIG9wc3ogMjAsIHdnaHQgMzAwLCBGSUxMIDAsIG9wYWNpdHkgMC42NS5cbi8vIFRhbWFuaG8gMjJweCBoYXJtb25pemEgY29tIGgxIDIwLzI0IChsZWFkLWluIHNlbSBkb21pbmFyKS4gOHB4IGRlIGdhcFxuLy8gZW50cmUgw61jb25lIGUgdMOtdHVsby4gR2xvYmFsIHByYSBldml0YXIgZHVwbGljYXIgYSByZWdyYSBlbSBjYWRhIHDDoWdpbmEuXG4ubWFpbi10aXRsZS1pY29uIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICB3aWR0aDogMjJweDtcbiAgaGVpZ2h0OiAyMnB4O1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIG9wYWNpdHk6IDAuNjU7XG4gIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnb3BzeicgMjAsICd3Z2h0JyA0MDAsICdGSUxMJyAwO1xufVxuXG4vLyBMYWJlbCBkbyBzbGlkZS10b2dnbGUgUEFEUsODTyBETyBTSVNURU1BIChNMyk6IHRpcG9ncmFmaWEgZG8gY2hhaXIgbGV2ZWwtMiDigJRcbi8vIDEzcHggKGRlbnNvKSwgd2VpZ2h0IDQzMCAoYm9keSksIGxpbmUtaGVpZ2h0IDEuMywgbGV0dGVyLXNwYWNpbmcgMC4gVW5pdmVyc2FsXG4vLyAoYW50ZXMgZXNjb3BhZG8gYSBgLm1haW4taGVhZGVyIC5vcHRpb25zYCBlIGAuc21hbGwtcGlja2VyYCkuXG4ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50IHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNDMwO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbn1cblxuLy8gTWFqb3Igc2VjdGlvbiB0aXRsZS4gTUQzIHRpdGxlLWxhcmdlLlxuaDIge1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDEuMzc1cmVtOyAgICAgIC8vIDIycHhcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07ICAgICAvLyAyOHB4XG4gIGxldHRlci1zcGFjaW5nOiAwO1xufVxuXG4vLyBTdWJzZWN0aW9uIC8gLnNlY3Rpb24tdGl0bGUgKHdoaWNoIEBleHRlbmRzIGgzKS4gU2l6ZWQgYXQgMTVweCBzbyBpdCBzaXRzXG4vLyBqdXN0IGFib3ZlIHRoZSAxM3B4IGJvZHkgaW4gdGhlIGNhbnZhcyDigJQgZ2l2ZXMgYSBjbGVhciBcImhlYWRlclwiIGN1ZSB3aXRob3V0XG4vLyBhZGRpbmcgYSB0aGlyZCBzY2FsZSBiZXlvbmQgd2hhdCB0aGUgbWVudSBoaWVyYXJjaHkgYWxyZWFkeSBlc3RhYmxpc2hlZFxuLy8gKGgxPTIwIHBhZ2UgdGl0bGUsIGgzPTE1IHNlY3Rpb24gaGVhZGVyLCBib2R5PTEzKS4gV2VpZ2h0IDUwMCB2cyBib2R5IDQzMCxcbi8vIHRyYWNraW5nIDAgKGNoYWlyIFVJIHJ1bGUpLiBDb2xvciBzZXQgb24gLnNlY3Rpb24tdGl0bGUgdmlhIF9jb2xvci1zY2hlbWUuc2Nzcy5cbmgzIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07ICAgICAvLyAxNXB4XG4gIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTsgICAgLy8gMjJweFxuICBsZXR0ZXItc3BhY2luZzogMDtcbn1cblxuLy8gQ2FyZC9wYW5lbCB0aXRsZS4gTUQzIHRpdGxlLXNtYWxsLlxuaDQge1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDAuODc1cmVtOyAgICAgIC8vIDE0cHhcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07ICAgICAvLyAyMHB4XG4gIGxldHRlci1zcGFjaW5nOiAwLjAwNjI1cmVtO1xufVxuXG4vLyBFeWVicm93IGxhYmVsLiBNRDMgbGFiZWwtbWVkaXVtIHVwcGVyY2FzZS5cbmg1IHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtOyAgICAgICAvLyAxMnB4XG4gIGxpbmUtaGVpZ2h0OiAxcmVtOyAgICAgICAgLy8gMTZweFxuICBsZXR0ZXItc3BhY2luZzogMC4wMzEyNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gR2VuZXJpYyBzdWJ0aXRsZS9leWVicm93LiBNRDMgbGFiZWwtbGFyZ2UgdXBwZXJjYXNlLlxuLy8gQ29tcG9uZW50LWxvY2FsIC5zdWJ0aXRsZSBvdmVycmlkZXMgKGV2ZW50LXNlbmQtZW1haWwsIGV2ZW50LXRvcGljcyxcbi8vIGRhc2hib2FyZC1zZXR0aW5ncywgX2V2ZW50LWFkbWluLnNjc3MpIHN0aWxsIHdpbiB3aGVyZSB0aGV5IGV4aXN0LlxuLnN1YnRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgICAgICAvLyAxNHB4XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtOyAgICAgLy8gMjBweFxuICBsZXR0ZXItc3BhY2luZzogMC4wMzEyNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gVGFibGUgY29sdW1uIGhlYWRlcnMgKDI2NCBpbnN0YW5jZXMgYXBwLXdpZGUpLiBNRDMgbGFiZWwtbWVkaXVtIHVwcGVyY2FzZVxuLy8gKyB0YWJ1bGFyIG51bWJlcnMgc28gY29sdW1ucyBvZiBudW1lcmljIElEcyBhbGlnbiB2aXN1YWxseS5cbi5tYXQtaGVhZGVyLWNlbGwge1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDAuNzVyZW07ICAgICAgIC8vIDEycHhcbiAgbGluZS1oZWlnaHQ6IDFyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjAzMTI1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwidG51bVwiO1xufVxuXG4vLyBNYXRlcmlhbCBjYXJkIHRpdGxlcy4gTUQzIHRpdGxlLW1lZGl1bS5cbi5tYXQtY2FyZC10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDA5Mzc1cmVtO1xufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuaHRtbCB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbmJvZHksXG5odG1sIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuXG4gICYubW9kYWwtb3BlbiB7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuXG4gICAgYXBwLW5hdmJhciB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG5cbiAgJi5zaWRlc2hlZXQtb3BlbiB7XG4gICAgLnNpZGVzaGVldCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmLmNkay1nbG9iYWwtc2Nyb2xsYmxvY2sge1xuICAgIGFwcC1maXhlZC10b3AtcHJvZ3Jlc3MtYmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgbWF0LWljb24ge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbW9iaWxlLXdpZHRoKSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgfVxuXG4gIC50YWJsZS5pcy1mdWxsd2lkdGgge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5ib2R5IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuXG5hcHAtYWRtaW4ge1xuICAubWF0LXRhYi1ib2R5LWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAuNWVtIDFlbTtcbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vdmFyaWFibGVzJztcblxuJGNhbC1tb250aC12aWV3LXZhcnM6ICgpICFkZWZhdWx0O1xuJGNhbC1tb250aC12aWV3LXZhcnM6IG1hcC1tZXJnZSgkY2FsLXZhcnMsICRjYWwtbW9udGgtdmlldy12YXJzKTtcblxuQG1peGluIGNhbC1tb250aC12aWV3LXRoZW1lKCRvdmVycmlkZXMpIHtcbiAgJHRoZW1lOiBtYXAtbWVyZ2UoJGNhbC1tb250aC12aWV3LXZhcnMsICRvdmVycmlkZXMpO1xuXG4gIC5jYWwtbW9udGgtdmlldyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJnLXByaW1hcnkpO1xuXG4gICAgLmNhbC1jZWxsLXJvdzpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYmctc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAuY2FsLWNlbGwtcm93IC5jYWwtY2VsbDpob3ZlcixcbiAgICAuY2FsLWNlbGwuY2FsLWhhcy1ldmVudHMuY2FsLW9wZW4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJnLWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgLmNhbC1kYXlzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJvcmRlci1jb2xvcik7XG4gICAgfVxuXG4gICAgLmNhbC1kYXktY2VsbDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJvcmRlci1jb2xvcik7XG4gICAgfVxuXG4gICAgLmNhbC1kYXlzIC5jYWwtY2VsbC1yb3cge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJvcmRlci1jb2xvcik7XG4gICAgfVxuXG4gICAgLmNhbC1kYXktYmFkZ2Uge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJhZGdlLWNvbG9yKTtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgd2hpdGUpO1xuICAgIH1cblxuICAgIC5jYWwtZXZlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGV2ZW50LWNvbG9yLXByaW1hcnkpO1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgZXZlbnQtY29sb3Itc2Vjb25kYXJ5KTtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgd2hpdGUpO1xuICAgIH1cblxuICAgIC5jYWwtZGF5LWNlbGwuY2FsLXdlZWtlbmQgLmNhbC1kYXktbnVtYmVyIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgd2Vla2VuZC1jb2xvcik7XG4gICAgfVxuXG4gICAgLmNhbC1kYXktY2VsbC5jYWwtdG9kYXkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIHRvZGF5LWJnKTtcbiAgICB9XG5cbiAgICAuY2FsLWRheS1jZWxsLmNhbC1kcmFnLW92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKG1hcC1nZXQoJHRoZW1lLCBiZy1hY3RpdmUpLCA1JSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2FsLW9wZW4tZGF5LWV2ZW50cyB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkdGhlbWUsIHdoaXRlKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBncmF5KTtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxNXB4IDAgcmdiYShtYXAtZ2V0KCR0aGVtZSwgYmxhY2spLCAwLjUpO1xuICAgIH1cbiAgfVxufVxuXG4uY2FsLW1vbnRoLXZpZXcge1xuICAuY2FsLWhlYWRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gIH1cblxuICAuY2FsLWhlYWRlciAuY2FsLWNlbGwge1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gIC5jYWwtZGF5cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5jYWwtY2VsbC10b3Age1xuICAgIG1pbi1oZWlnaHQ6IDc4cHg7XG4gICAgZmxleDogMTtcbiAgfVxuXG4gIC5jYWwtY2VsbC1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAuY2FsLWNlbGwge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgLmNhbC1ldmVudCB7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmNhbC1kYXktY2VsbCB7XG4gICAgbWluLWhlaWdodDogMTAwcHg7XG5cbiAgICAvLyBpZTExIGhhY2sgZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXR0bGV3aXM5Mi9hbmd1bGFyLWNhbGVuZGFyL2lzc3Vlcy81MDFcbiAgICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5jYWwtZGF5LWNlbGw6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gIH1cblxuICAuY2FsLWRheXMgLmNhbC1jZWxsLXJvdyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICB9XG5cbiAgLmNhbC1kYXktYmFkZ2Uge1xuICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1pbi13aWR0aDogMTBweDtcbiAgICBwYWRkaW5nOiAzcHggN3B4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgfVxuXG4gIC5jYWwtZGF5LW51bWJlciB7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gIC5jYWwtZXZlbnRzIHtcbiAgICBmbGV4OiAxO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBtYXJnaW46IDNweDtcbiAgICBsaW5lLWhlaWdodDogMTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIC5jYWwtZXZlbnQge1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMnB4O1xuICB9XG5cbiAgLmNhbC1kYXktY2VsbC5jYWwtaW4tbW9udGguY2FsLWhhcy1ldmVudHMge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC5jYWwtZGF5LWNlbGwuY2FsLW91dC1tb250aCAuY2FsLWRheS1udW1iZXIge1xuICAgIG9wYWNpdHk6IDAuMTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cblxuICAuY2FsLWRheS1jZWxsLmNhbC10b2RheSAuY2FsLWRheS1udW1iZXIge1xuICAgIGZvbnQtc2l6ZTogMS45ZW07XG4gIH1cblxuICAuY2FsLW9wZW4tZGF5LWV2ZW50cyB7XG4gICAgcGFkZGluZzogMTVweDtcbiAgfVxuXG4gIC5jYWwtb3Blbi1kYXktZXZlbnRzIC5jYWwtZXZlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDJweDtcbiAgfVxuXG4gIC5jYWwtb3V0LW1vbnRoIHtcbiAgICAuY2FsLWRheS1iYWRnZSxcbiAgICAuY2FsLWV2ZW50IHtcbiAgICAgIG9wYWNpdHk6IDAuMztcbiAgICB9XG4gIH1cblxuICAuY2FsLWRyYWdnYWJsZSB7XG4gICAgY3Vyc29yOiBtb3ZlO1xuICB9XG5cbiAgLmNhbC1kcmFnLWFjdGl2ZSAqIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC5jYWwtZXZlbnQtdGl0bGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGNhbC1tb250aC12aWV3LXRoZW1lKCRjYWwtbW9udGgtdmlldy12YXJzKTtcbiIsIkBpbXBvcnQgJy4uLy4uL3ZhcmlhYmxlcyc7XG5cbiRjYWwtd2Vlay12aWV3LXZhcnM6ICgpICFkZWZhdWx0O1xuJGNhbC13ZWVrLXZpZXctdmFyczogbWFwLW1lcmdlKCRjYWwtdmFycywgJGNhbC13ZWVrLXZpZXctdmFycyk7XG5cbkBtaXhpbiBjYWwtd2Vlay12aWV3LXRoZW1lKCRvdmVycmlkZXMpIHtcbiAgJHRoZW1lOiBtYXAtbWVyZ2UoJGNhbC13ZWVrLXZpZXctdmFycywgJG92ZXJyaWRlcyk7XG5cbiAgLmNhbC13ZWVrLXZpZXcge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBiZy1wcmltYXJ5KTtcbiAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggbWFwLWdldCgkdGhlbWUsIGJvcmRlci1jb2xvcik7XG5cbiAgICAuY2FsLWRheS1oZWFkZXJzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJvcmRlci1jb2xvcik7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgIH1cblxuICAgIC5jYWwtZGF5LWhlYWRlcnMgLmNhbC1oZWFkZXIge1xuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYm9yZGVyLWNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYm9yZGVyLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FsLWRheS1oZWFkZXJzIC5jYWwtaGVhZGVyOmhvdmVyLFxuICAgIC5jYWwtZGF5LWhlYWRlcnMgLmNhbC1kcmFnLW92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJnLWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgLmNhbC1kYXktY29sdW1uIHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYm9yZGVyLWNvbG9yKTtcbiAgICB9XG5cbiAgICAuY2FsLWV2ZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBldmVudC1jb2xvci1zZWNvbmRhcnkpO1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgZXZlbnQtY29sb3ItcHJpbWFyeSk7XG4gICAgICBjb2xvcjogbWFwLWdldCgkdGhlbWUsIGV2ZW50LWNvbG9yLXByaW1hcnkpO1xuICAgIH1cblxuICAgIC5jYWwtYWxsLWRheS1ldmVudHMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYm9yZGVyLWNvbG9yKTtcbiAgICB9XG5cbiAgICAuY2FsLWhlYWRlci5jYWwtdG9kYXkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIHRvZGF5LWJnKTtcbiAgICB9XG5cbiAgICAuY2FsLWhlYWRlci5jYWwtd2Vla2VuZCBzcGFuIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgd2Vla2VuZC1jb2xvcik7XG4gICAgfVxuXG4gICAgLmNhbC10aW1lLWV2ZW50cyB7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBib3JkZXItY29sb3IpO1xuXG4gICAgICAuY2FsLWRheS1jb2x1bW5zIHtcbiAgICAgICAgJjpub3QoLmNhbC1yZXNpemUtYWN0aXZlKSB7XG4gICAgICAgICAgLmNhbC1ob3VyLXNlZ21lbnQ6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJnLWFjdGl2ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhbC1ob3VyLW9kZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYmctc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAuY2FsLWRyYWctb3ZlciAuY2FsLWhvdXItc2VnbWVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYmctYWN0aXZlKTtcbiAgICB9XG5cbiAgICAuY2FsLWhvdXI6bm90KDpsYXN0LWNoaWxkKSAuY2FsLWhvdXItc2VnbWVudCxcbiAgICAuY2FsLWhvdXI6bGFzdC1jaGlsZCA6bm90KDpsYXN0LWNoaWxkKSAuY2FsLWhvdXItc2VnbWVudCB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYm9yZGVyLWNvbG9yKTtcbiAgICB9XG5cbiAgICAuY2FsLWN1cnJlbnQtdGltZS1tYXJrZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGN1cnJlbnQtdGltZS1tYXJrZXItY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG4uY2FsLXdlZWstdmlldyB7XG4gICoge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAuY2FsLWRheS1oZWFkZXJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctbGVmdDogNzBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgfVxuXG4gIC5jYWwtZGF5LWhlYWRlcnMgLmNhbC1oZWFkZXIge1xuICAgIGZsZXg6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDVweDtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZDtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgfVxuICB9XG5cbiAgLmNhbC1kYXktaGVhZGVycyBzcGFuIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuXG4gIC5jYWwtZGF5LWNvbHVtbiB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHg7XG4gIH1cblxuICAuY2FsLWV2ZW50IHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gIH1cblxuICAuY2FsLXRpbWUtbGFiZWwtY29sdW1uIHtcbiAgICB3aWR0aDogNzBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuY2FsLWN1cnJlbnQtdGltZS1tYXJrZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgLmNhbC1hbGwtZGF5LWV2ZW50cyB7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHg7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAzcHg7XG4gICAgcGFkZGluZy10b3A6IDNweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuY2FsLWRheS1jb2x1bW5zIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuXG4gICAgLmNhbC1ldmVudHMtcm93IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogMzFweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA3MHB4O1xuICAgIH1cblxuICAgIC5jYWwtZXZlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgJi5yZXNpemUtYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhbC1ldmVudCB7XG4gICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgIGhlaWdodDogMjhweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIH1cblxuICAgIC5jYWwtc3RhcnRzLXdpdGhpbi13ZWVrIC5jYWwtZXZlbnQge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4O1xuICAgIH1cblxuICAgIC5jYWwtZW5kcy13aXRoaW4td2VlayAuY2FsLWV2ZW50IHtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4O1xuICAgIH1cblxuICAgIC5jYWwtdGltZS1sYWJlbC1jb2x1bW4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG5cbiAgICAuY2FsLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgd2lkdGg6IDZweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGN1cnNvcjogY29sLXJlc2l6ZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcblxuICAgICAgJi5jYWwtcmVzaXplLWhhbmRsZS1hZnRlci1lbmQge1xuICAgICAgICByaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2FsLWV2ZW50LFxuICAuY2FsLWhlYWRlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgLmNhbC1kcmFnLWFjdGl2ZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogMTtcblxuICAgICYgKiB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuY2FsLXRpbWUtZXZlbnRzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHg7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgLmNhbC1kYXktY29sdW1ucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cblxuICAgIC5jYWwtZGF5LWNvbHVtbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmNhbC1ldmVudHMtY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuY2FsLWV2ZW50LWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC5jYWwtZXZlbnQge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJweCk7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJweCk7XG4gICAgICBtYXJnaW46IDFweDtcbiAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgfVxuXG4gICAgLmNhbC1yZXNpemUtaGFuZGxlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICBjdXJzb3I6IHJvdy1yZXNpemU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICYuY2FsLXJlc2l6ZS1oYW5kbGUtYWZ0ZXItZW5kIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jYWwtaG91ci1zZWdtZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnXFwwMGEwJztcbiAgICB9XG4gIH1cblxuICAuY2FsLWV2ZW50LWNvbnRhaW5lcjpub3QoLmNhbC1kcmFnZ2FibGUpIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAuY2FsLWRyYWdnYWJsZSB7XG4gICAgY3Vyc29yOiBtb3ZlO1xuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLXR5cGUtbm8tdW5rbm93biAqL1xuICBtd2wtY2FsZW5kYXItd2Vlay12aWV3LWhvdXItc2VnbWVudCwgLyogZml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vbWF0dGxld2lzOTIvYW5ndWxhci1jYWxlbmRhci9pc3N1ZXMvMjYwKi9cbiAgLmNhbC1ob3VyLXNlZ21lbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLmNhbC1ob3VyOm5vdCg6bGFzdC1jaGlsZCkgLmNhbC1ob3VyLXNlZ21lbnQsXG4gIC5jYWwtaG91cjpsYXN0LWNoaWxkIDpub3QoOmxhc3QtY2hpbGQpIC5jYWwtaG91ci1zZWdtZW50IHtcbiAgICBib3JkZXItYm90dG9tOiB0aGluIGRhc2hlZDtcbiAgfVxuXG4gIC5jYWwtdGltZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgICB3aWR0aDogNzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuY2FsLWhvdXItc2VnbWVudC5jYWwtYWZ0ZXItaG91ci1zdGFydCB7XG4gICAgLmNhbC10aW1lIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmNhbC1zdGFydHMtd2l0aGluLWRheSAuY2FsLWV2ZW50IHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDtcbiAgfVxuXG4gIC5jYWwtZW5kcy13aXRoaW4tZGF5IC5jYWwtZXZlbnQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4O1xuICB9XG59XG5cbkBpbmNsdWRlIGNhbC13ZWVrLXZpZXctdGhlbWUoJGNhbC13ZWVrLXZpZXctdmFycyk7XG4iLCIuY2FsLWRheS12aWV3IHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLXR5cGUtbm8tdW5rbm93biAqL1xuICBtd2wtY2FsZW5kYXItd2Vlay12aWV3LWhlYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5jYWwtZXZlbnRzLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWxlZnQ6IDcwcHg7XG4gIH1cblxuICAuY2FsLWRheS1jb2x1bW4ge1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLmNhbC1jdXJyZW50LXRpbWUtbWFya2VyIHtcbiAgICBtYXJnaW4tbGVmdDogNzBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNzBweCk7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL3ZhcmlhYmxlcyc7XG5cbiRjYWwtdG9vbHRpcC12YXJzOiAoKSAhZGVmYXVsdDtcbiRjYWwtdG9vbHRpcC12YXJzOiBtYXAtbWVyZ2UoJGNhbC12YXJzLCAkY2FsLXRvb2x0aXAtdmFycyk7XG5cbkBtaXhpbiBjYWwtdG9vbHRpcC10aGVtZSgkb3ZlcnJpZGVzKSB7XG4gICR0aGVtZTogbWFwLW1lcmdlKCRjYWwtdG9vbHRpcC12YXJzLCAkb3ZlcnJpZGVzKTtcblxuICAuY2FsLXRvb2x0aXAuY2FsLXRvb2x0aXAtdG9wIC5jYWwtdG9vbHRpcC1hcnJvdyB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJsYWNrKTtcbiAgfVxuXG4gIC5jYWwtdG9vbHRpcC5jYWwtdG9vbHRpcC1yaWdodCAuY2FsLXRvb2x0aXAtYXJyb3cge1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJsYWNrKTtcbiAgfVxuXG4gIC5jYWwtdG9vbHRpcC5jYWwtdG9vbHRpcC1ib3R0b20gLmNhbC10b29sdGlwLWFycm93IHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYmxhY2spO1xuICB9XG5cbiAgLmNhbC10b29sdGlwLmNhbC10b29sdGlwLWxlZnQgLmNhbC10b29sdGlwLWFycm93IHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJsYWNrKTtcbiAgfVxuXG4gIC5jYWwtdG9vbHRpcC1pbm5lciB7XG4gICAgY29sb3I6IG1hcC1nZXQoJHRoZW1lLCB3aGl0ZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJsYWNrKTtcbiAgfVxufVxuXG4uY2FsLXRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwNzA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxMXB4O1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG9wYWNpdHk6IDAuOTtcbn1cblxuLmNhbC10b29sdGlwLmNhbC10b29sdGlwLXRvcCB7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBtYXJnaW4tdG9wOiAtM3B4O1xufVxuXG4uY2FsLXRvb2x0aXAuY2FsLXRvb2x0aXAtdG9wIC5jYWwtdG9vbHRpcC1hcnJvdyB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTVweDtcbiAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDA7XG59XG5cbi5jYWwtdG9vbHRpcC5jYWwtdG9vbHRpcC1yaWdodCB7XG4gIHBhZGRpbmc6IDAgNXB4O1xuICBtYXJnaW4tbGVmdDogM3B4O1xufVxuXG4uY2FsLXRvb2x0aXAuY2FsLXRvb2x0aXAtcmlnaHQgLmNhbC10b29sdGlwLWFycm93IHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6IC01cHg7XG4gIGJvcmRlci13aWR0aDogNXB4IDVweCA1cHggMDtcbn1cblxuLmNhbC10b29sdGlwLmNhbC10b29sdGlwLWJvdHRvbSB7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBtYXJnaW4tdG9wOiAzcHg7XG59XG5cbi5jYWwtdG9vbHRpcC5jYWwtdG9vbHRpcC1ib3R0b20gLmNhbC10b29sdGlwLWFycm93IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICBib3JkZXItd2lkdGg6IDAgNXB4IDVweDtcbn1cblxuLmNhbC10b29sdGlwLmNhbC10b29sdGlwLWxlZnQge1xuICBwYWRkaW5nOiAwIDVweDtcbiAgbWFyZ2luLWxlZnQ6IC0zcHg7XG59XG5cbi5jYWwtdG9vbHRpcC5jYWwtdG9vbHRpcC1sZWZ0IC5jYWwtdG9vbHRpcC1hcnJvdyB7XG4gIHRvcDogNTAlO1xuICByaWdodDogMDtcbiAgbWFyZ2luLXRvcDogLTVweDtcbiAgYm9yZGVyLXdpZHRoOiA1cHggMCA1cHggNXB4O1xufVxuXG4uY2FsLXRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nOiAzcHggOHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG5cbi5jYWwtdG9vbHRpcC1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cblxuQGluY2x1ZGUgY2FsLXRvb2x0aXAtdGhlbWUoJGNhbC10b29sdGlwLXZhcnMpO1xuIiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuLm1hdC1kaWFsb2ctY29udGFpbmVyIHtcbiAgYm9yZGVyLXJhZGl1czogMC44NzVyZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDE1cHggIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5tb2RhbFdpbmRvdyB7XG4gICAgd2lkdGg6IDI1MHB4O1xuXG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgLmxvZ29Db250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAxLjgxMjVyZW07XG4gICAgICBtYXJnaW46IDEuN3JlbSAwIDJyZW0gMDtcblxuICAgICAgLmxvZ28ge1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMXB4IDRweCAycHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICBwYWRkaW5nOiA1cHggMTVweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiBHYWluc2Jvcm87XG4gICAgICAgIC8vIGNvbG9yOiBibGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBidXR0b24ge1xuICAgICAgbWFyZ2luOiAwLjI1cmVtO1xuICAgICAgd2lkdGg6IDExMnB4O1xuICAgIH1cblxuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIC8vIGJvcmRlcjogMHB4IG5vbmUgd2hpdGU7XG4gICAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDNweCAxcHggTGlnaHRHcmF5O1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gICAgLy8gYm9yZGVyLXRvcDogMHB4IG5vbmUgd2hpdGU7XG4gICAgYm9yZGVyOiAwcHggbm9uZSB3aGl0ZTtcbiAgfVxufVxuXG4ubWF0LWZvcm0tZmllbGQge1xuICB3aWR0aDogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAubWF0LWZvcm0tZmllbGQtd3JhcHBlciB7XG4gICAgLm1hdC1pY29uIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB9XG4gIH1cbn1cblxuYXBwLXNlYXJjaC1idXR0b24ge1xuICAubWF0LXNlYXJjaF9maWVsZCB7XG4gICAgaW5wdXQge1xuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzNnB4O1xuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgICAgaGVpZ2h0OiAzcHg7XG5cbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaWNvbi1jb2xvcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEuNXB4O1xuICAgIH1cblxuICAgICYubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IHtcbiAgICAgIGxhYmVsLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlLWluO1xuXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgxLjUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuXG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB0b3A6IDJyZW07XG5cbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgIH1cbiAgfVxufVxuXG4udG9waWNzLXRhYmxlIHtcbiAgLm1hdC1yYWRpby1sYWJlbCB7XG4gICAgd2lkdGg6IDIwcHg7XG4gIH1cbn1cblxuLy8gYWRkcyBicmVha3MgdG8gdGhlIG1hdC1jaGVja2JveGVzIHdpdGggbG9uZyBsYWJlbHNcbi5tYXQtY2hlY2tib3gtbGF5b3V0IHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4vLyBPIG1hdC1zZWxlY3QgKGNvbSBgW2Rpc2FibGVPcHRpb25DZW50ZXJpbmddPVwidHJ1ZVwiYCwgZ2xvYmFsIGVtIGFwcC1zZWxlY3QtaW5wdXQvXG4vLyAtbGUvLWZsYWcpIGFuY29yYSBvIHBhaW5lbCBubyBUT1BPIGRhIGNhaXhhIOKGkiBzb2JyZXBvcmlhIG8gaW5wdXQuIEVtcHVycmFtb3Mgb1xuLy8gYC5tYXQtc2VsZWN0LXBhbmVsLXdyYXBgIHByYSBiYWl4bywgfnBlbGEgQUxUVVJBIGRhIGNhaXhhLCBwcmEgYWJyaXIgbG9nbyBBQkFJWE9cbi8vIGRlbGEuIFZhbG9yIGNhbGlicmFkbyBwcmFzIGNhaXhhcyBMRUdBREFTIChhcHBlYXJhbmNlIHBhZHLDo28sIH4zNnB4KS4gQ29tbWl0XG4vLyBvcmlnaW5hbDogZDk2MzNhMTEwLlxuLm1hdC1zZWxlY3QtcGFuZWwtd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA0MHB4O1xufVxuXG4vLyBDYWl4YXMgRklMVEVSLVNUWUxFRCAobWFyY2EgYGplbXMzLXNlbGVjdC1wYW5lbC1jb21wYWN0YCk6IGNvcnJlw6fDo28gZG9cbi8vIHBvc2ljaW9uYW1lbnRvIGRvIHBhaW5lbCBkbyBtYXQtc2VsZWN0IE1VTFRJUExFLiBCYXNlIChkYSBmb250ZSBkbyBAYW5ndWxhci9cbi8vIG1hdGVyaWFsIDExLjIpOiBvIHBhaW5lbCBTT0JSRVDDlUUgbyBnYXRpbGhvIHBlbG8gdG9wbyAob3ZlcmxheVk6dG9wL29yaWdpblk6dG9wKSxcbi8vIGFwbGljYSBgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MHB4KWAgKG9mZnNldFggZGUgbXVsdGlwbGUpIGUgb2Zmc2V0WT0wICh2aWFcbi8vIGBkaXNhYmxlT3B0aW9uQ2VudGVyaW5nYCkuIE8gYGxlZnRgIGNhbmNlbGEgbyAtNDAgZSBvIGB0b3BgIGRlc2NlIHByYSBiYWl4byBkYSBjYWl4YS5cbi8vIE9zIHZhbG9yZXMgZm9yYW0gQ0FMSUJSQURPUyBwZWxvIERPTSByZWFsIChnZXRCb3VuZGluZ0NsaWVudFJlY3QgbWVkaWRvKTogY29tXG4vLyB0b3A6MjYvbGVmdDo0MCBvIHBhaW5lbCBmaWNhdmEgZHhMZWZ0PSsxMXB4LCBkeVRvcD0rN3B4IOKGkiBjb3JyaWdpZG8gcC8gYm9yZGFcbi8vIGVzcXVlcmRhIGFsaW5oYWRhIMOgIGNhaXhhIChkeExlZnTihpIwKSBlIH40cHggZGUgZm9sZ2EgYWJhaXhvIChkeVRvcOKGkjQpOlxuLy8gICBsZWZ0ID0gNDAgLSAxMSA9IDI5cHggOyAgdG9wID0gMjYgLSAzID0gMjNweFxuLm1hdC1zZWxlY3QtcGFuZWwtd3JhcDpoYXMoLmplbXMzLXNlbGVjdC1wYW5lbC1jb21wYWN0KSB7XG4gIHRvcDogMjNweDtcbiAgbGVmdDogMjlweDtcbn1cblxuLy8gWmVyYSBhIGFuaW1hw6fDo28gZGUgYWJlcnR1cmEgZG8gcGFpbmVsIGZpbHRlci1zdHlsZWQg4oCUIHBhcmVpYSBjb20gbyByZXN0b1xuLy8gZG8gSkVNUzMgKG1lbnVzL3BvcG92ZXJzIGrDoSBhYnJlbSBzZW0gYW5pbWHDp8OjbykuIE7Dg08gbWV4ZXIgZW0gdHJhbnNmb3JtOlxuLy8gTWF0ZXJpYWwgdXNhIHRyYW5zbGF0ZVgoLTQwcHgpIGUgb3V0cm9zIHByYSBwb3NpY2lvbmFyIG8gcGFpbmVsLlxuLm1hdC1zZWxlY3QtcGFuZWwuamVtczMtc2VsZWN0LXBhbmVsIHtcbiAgYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmNvbXBhY3Qge1xuICAubWF0LWZvcm0tZmllbGQge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNTtcblxuICAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuJGJ1dHRvbi1oZWlnaHQ6ICRjb250cm9sLWhlaWdodDsgICAvLyBhbGlhcyBsZWdhZG8g4oaSIHRva2VuIMO6bmljbyAodmVyIF92YXJpYWJsZXMuc2NzcylcblxuLmJ1dHRvbnMge1xuICAuaXMtZGl2aWRlciB7XG4gICAgbWFyZ2luOiAycmVtIDA7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGFuZGluZy1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjk1cmVtKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgfVxufVxuXG5hIHtcbiAgb3V0bGluZTogMDtcbiAgLy8gQ29udmVuw6fDo28gZG8gSkVNUzM6IGxpbmtzIG51bmNhIHN1YmxpbmhhbSBubyBob3Zlci4gUmVncmEgZ2xvYmFsXG4gIC8vIGNvZGlmaWNhZGEgYXF1aSBwcmEgZXZpdGFyIHF1ZSBjYWRhIHDDoWdpbmEgcmVpbnZlbnRlIG8gYCY6aG92ZXJcbiAgLy8geyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9YC4gVmVyIG1lbcOzcmlhIGZlZWRiYWNrX25vX2xpbmtfdW5kZXJsaW5lX2hvdmVyLlxuICAmOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG59XG5cbmJ1dHRvbiB7XG4gIGhlaWdodDogJGJ1dHRvbi1oZWlnaHQ7XG59XG5cbi8vIEEgcmVncmEgYWNpbWEgRk9Sw4dBIGEgYWx0dXJhIGRlIHRvZG8gPGJ1dHRvbj4gYW8gdG9rZW4uIE8gTWF0ZXJpYWwsIHBvcsOpbSxcbi8vIGNlbnRyYWxpemEgbyBsYWJlbCBkb3MgYm90w7VlcyBkZSBURVhUTyB2aWEgYGxpbmUtaGVpZ2h0OiAzNnB4YCBmaXhvIOKAlCBxdWVcbi8vIGRlc2Nhc2EgcXVhbmRvICRjb250cm9sLWhlaWdodCDiiaAgMzZweCAobyBsYWJlbCBkZXNsaXphIHByYSBiYWl4bykuIEFtYXJyYW1vcyBvXG4vLyBsaW5lLWhlaWdodCBhbyB0b2tlbiBwLyBvIGxhYmVsIGNlbnRyYWxpemFyIGVtIFFVQUxRVUVSIGFsdHVyYS4gKG1hdC1yYWlzZWQtYnV0dG9uXG4vLyBqw6EgY2VudHJhbGl6YSB2aWEgYGlubGluZS1ncmlkYCBtYWlzIGFiYWl4bywgZW50w6NvIGZpY2EgZGUgZm9yYS4pXG5idXR0b24ubWF0LWJ1dHRvbixcbmJ1dHRvbi5tYXQtZmxhdC1idXR0b24sXG5idXR0b24ubWF0LXN0cm9rZWQtYnV0dG9uIHtcbiAgbGluZS1oZWlnaHQ6ICRjb250cm9sLWhlaWdodDtcbn1cblxuLmNsb3NlLmJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNXB4O1xuICByaWdodDogMTVweDtcblxuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgZm9udC1zaXplOiAyMnB4O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiAyO1xufVxuXG4ucmlwcGxlLWJ1dHRvbi5tYXQtcmFpc2VkLWJ1dHRvbiB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGhlaWdodDogMzRweDtcbiAgYm9yZGVyLXJhZGl1czogN3B4O1xuXG4gIC5tYXQtaWNvbiB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmLnNlbGVjdGVkIHtcbiAgICBwYWRkaW5nOiAwIDAuNXJlbTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICY6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMXB4IDFweCA1cHggJGJsYWNrLTUwMDtcbiAgICB9XG4gIH1cblxuICAmOm5vdCguc2VsZWN0ZWQpIHtcbiAgICBwYWRkaW5nOiAwIDAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICY6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMXB4IDFweCA1cHggJGJsYWNrLTUwMDtcbiAgICB9XG4gICAgJjphY3RpdmUge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGNvbG9yOiAkc2lkZWJhci1sYWJlbC1zZWxlY3RlZC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAmLm1hdC1yYWlzZWQtYnV0dG9uLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uc3VibWlzc2lvbnMsIC5yZXZpZXdzLCAuZXZlbnRzLCAubXlldmVudHMsIC5jb21taXR0ZWVzLCAuZXZlbnQtYWRtaW4ge1xuICAuZmlsdGVycyB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIC50b2dnbGUge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAgIC5tYXQtY2hlY2tib3gtbGFiZWwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICB9XG5cbiAgICAgIC5ub3RpZnktYnV0dG9uIHtcbiAgICAgICAgY29sb3I6IHJlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm5vdGlmeS1idXR0b24ge1xuICBjb2xvcjogcmVkICFpbXBvcnRhbnQ7XG59XG5cbi5maWxlLWljb24tYnV0dG9ucyB7XG4gIGxpbmUtaGVpZ2h0OiAkZmlsZS1pY29uLXNpemU7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gIGJ1dHRvbiB7XG4gICAgaGVpZ2h0OiAkZmlsZS1pY29uLXNpemU7XG4gICAgd2lkdGg6ICRmaWxlLWljb24tc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGZpbGUtaWNvbi1zaXplO1xuICB9XG5cbiAgLnNtYWxsZXItYnV0dG9uLCAuc21hbGxlci1idXR0b24gbWF0LWljb24ge1xuICAgIGhlaWdodDogJGZpbGUtaWNvbi1zaXplLXNtYWxsZXI7XG4gICAgd2lkdGg6ICRmaWxlLWljb24tc2l6ZS1zbWFsbGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAkZmlsZS1pY29uLXNpemUtc21hbGxlcjtcbiAgICBmb250LXNpemU6ICRmaWxlLWljb24tc2l6ZS1zbWFsbGVyLWZvbnRzaXplO1xuICB9XG5cbiAgYXBwLWZpbGUtdXBsb2FkIHtcbiAgICBtYXJnaW4tbGVmdDogLjVlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6ICRmaWxlLWljb24tc2l6ZS1zbWFsbGVyO1xuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gLmFwcC1pY29uLWJ1dHRvbiDigJQgYm90w6NvIGljb24tb25seSA0MMOXNDAgZG8gSkVNUzMuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFBhZHLDo28gw7puaWNvIGNvbXBhcnRpbGhhZG8gcG9yOiBzaW5vIGRlIG5vdGlmaWNhw6fDtWVzICgucHJvZmlsZS1idXR0b24pLFxuLy8gbWVudSBkZSB1c3XDoXJpbyAoLnVzZXItbWVudS1idXR0b24pLCB0cmlnZ2VyIGRvIGNvbW1hbmQgcGFsZXR0ZVxuLy8gKC5jb21tYW5kLXBhbGV0dGUtdHJpZ2dlcikgZSBib3TDo28gZGUgZmlsdHJvcyAoLmZpbHRlci1idXR0b24pLlxuLy8gU3Vic3RpdHVpIH4zMCBsaW5oYXMgZHVwbGljYWRhcyBlbSBjYWRhIGNvbXBvbmVudGUuIFRva2VucyBkZSBob3Zlci9cbi8vIG1lbnUtb3BlbiBmaWNhbSBlbSBgX2NvbG9yLXNjaGVtZS5zY3NzYCAoZ2F0ZWQgcG9yIHRlbWEpLiBVc2UganVudG9cbi8vIGNvbSBhIGNsYXNzZSBlc3BlY8OtZmljYSBkbyBjb250ZXh0byAoZXg6IGBjbGFzcz1cImFwcC1pY29uLWJ1dHRvbiBmaWx0ZXItYnV0dG9uXCJgKVxuLy8g4oCUIGEgZXNwZWPDrWZpY2EgZmljYSBjb21vIGhvb2sgZGUgSlMgZSBvdmVycmlkZXMgcG9udHVhaXMgKGJhZGdlLCBldGMpLlxuLmFwcC1pY29uLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgd2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXMgIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTAwbXMgJGVhc2Utb3V0O1xuXG4gIC8vIFJpcHBsZS9mb2N1cy1vdmVybGF5IGRvIG1hdC1idXR0b24g4oCUIGVzY29uZGlkb3MgcHJhIHN1cmZhY2UgZmljYXIgbGltcGEuXG4gIDo6bmctZGVlcCAubWF0LWJ1dHRvbi1yaXBwbGUsXG4gIDo6bmctZGVlcCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyDDjWNvbmUg4oCUIDIwcHggY29tIGF4ZXMgd2dodCAzMDAvRklMTCAwIGRlZmF1bHQuIE9wYWNpdHkgMC42NSBiYXNlLFxuICAvLyAwLjkgaG92ZXIsIDEgY29tIGAubWVudS1vcGVuYCAoZXN0YWRvIGF0aXZvIGRvIG1lbnUvcGFpbmVsKS5cbiAgLm1hdC1pY29uIHtcbiAgICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogMjBweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMjBweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMC42NTtcbiAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ29wc3onIDIwLCAnd2dodCcgMzAwLCAnRklMTCcgMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEyMG1zICRlYXNlLW91dDtcbiAgICAvLyBgZm9udC12YXJpYXRpb24tc2V0dGluZ3NgIHJlbW92aWRvIGRhIHRyYW5zacOnw6NvOiBjYWRhIGZyYW1lIGludGVybWVkacOhcmlvXG4gICAgLy8gcmUtc2hhcGUgYSBnbHlwaCAoY3VzdG8gYWx0byBxdWFuZG8gZGlzcGFyYSkuIEVtIHRhYmVsYXMgY29tIG11aXRvc1xuICAgIC8vIGAuYXBwLWljb24tYnV0dG9uYCBwb3IgbGluaGEsIGhvdmVyIHZpYWphbmRvIGVudHJlIGxpbmhhcyBwYWdhIGVzc2VcbiAgICAvLyByZS1zaGFwZSBlbSB2w6FyaW9zIMOtY29uZXMgc2ltdWx0w6JuZW9zLlxuICB9XG5cbiAgLy8gYDpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpYCDigJQgYm90w6NvIGRlc2FiaWxpdGFkbyBuw6NvIGNsYXJlaWEgbyDDrWNvbmUgbm8gaG92ZXJcbiAgLy8gKGVyYSBlc3NlIG8gaG92ZXIgcXVlIHNvYnJhdmEgbm8gXCIuLi5cIiBlbSBtb2RvIGVkacOnw6NvOyBhcyBvdXRyYXMgcmVncmFzIGRlIGhvdmVyXG4gIC8vIGrDoSBlc3RhdmFtIGd1YXJkYWRhcywgbWFzIG8gcmVhbGNlIGRvIMOtY29uZSBuw6NvKS5cbiAgJjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIC5tYXQtaWNvbiB7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5cbiAgJi5tZW51LW9wZW4gLm1hdC1pY29uIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnb3BzeicgMjAsICd3Z2h0JyA0MDAsICdGSUxMJyAxO1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tYy1hY2NlbnQsICM3QzJEMTIpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cbn1cblxuXG5cbi8vIENoYWlyIFVJIGJ1dHRvbiBmYW1pbHkg4oCUIHBhciBcInByaW1hcnkgZmlsbGVkXCIgLyBcInNlY29uZGFyeSBzdHJva2VkXCJcbi8vIGNvbXBhcnRpbGhhZG8gcG9yIGZvcm0gc3VibWl0LWJhcnMsIGRpYWxvZ3MsIGUgcXVhbHF1ZXIgZmx1eG8gZGUgYcOnw6NvXG4vLyBjb25maXJtYXIvY2FuY2VsYXIuIENlbnRyYWxpemFyIGFxdWkgZXZpdGEgZHJpZnQgdmlzdWFsIGVudHJlIHDDoWdpbmFzXG4vLyAoZGVzY29icmltb3MgaXNzbyBjb21wYXJhbmRvIERlc2NhcnRhciBkbyByZXZpZXdzLWNvbmZpZ3VyYXRpb24gdnNcbi8vIENhbmNlbGFyIGRvIGNvbmZpcm1hdGlvbi1kaWFsb2cg4oCUIGVzdGF2YW0gY29tIGdlb21ldHJpYSBkaWZlcmVudGUpLlxuLy9cbi8vIFVzbzpcbi8vICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gICBjbGFzcz1cImNoYWlyLWJ1dHRvbiBjaGFpci1idXR0b24tLXByaW1hcnlcIiAgIC4uLj5TYWx2YXI8L2J1dHRvbj5cbi8vICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJjaGFpci1idXR0b24gY2hhaXItYnV0dG9uLS1zZWNvbmRhcnlcIiAuLi4+Q2FuY2VsYXI8L2J1dHRvbj5cbi8vXG4vLyBWYXJpYW50ZSBkZXN0cnV0aXZhOiBhcGxpY2FyIGBjb2xvcj1cIndhcm5cImAgbm8gYm90w6NvIHByaW3DoXJpbzsgY29yIMOpXG4vLyBnZXJlbmNpYWRhIHBlbG8gTWF0ZXJpYWwsIGdlb21ldHJpYS90aXBvZ3JhZmlhIGrDoSB2w6ptIGRhcXVpLlxuLy9cbi8vIE92ZXJyaWRlcyBsb2NhaXMgKGV4OiBzdWJtaXQgZG8gcmV2aWV3cy1jb25maWd1cmF0aW9uIGNvbSBtaW4td2lkdGhcbi8vIG1haW9yIHBvciBjYXVzYSBkbyBsYWJlbCBcIlNhbHZhciBhbHRlcmHDp8O1ZXNcIi9cIlNhbHZhbmRv4oCmXCIpIHNlZ3VlbVxuLy8gcG9zc8OtdmVpcyDigJQgYmFzdGEgc29icmVzY3JldmVyIG1pbi13aWR0aCBubyBjb21wb25lbnRlLlxuLmNoYWlyLWJ1dHRvbi5tYXQtZmxhdC1idXR0b24sXG4uY2hhaXItYnV0dG9uLm1hdC1zdHJva2VkLWJ1dHRvbiB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgbWluLXdpZHRoOiA5NnB4O1xuICBwYWRkaW5nOiAwIDE2cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTIwbXMgZWFzZSwgYm9yZGVyLWNvbG9yIDEyMG1zIGVhc2UsXG4gICAgICAgICAgICAgIGJveC1zaGFkb3cgMTIwbXMgZWFzZSwgZmlsdGVyIDEyMG1zIGVhc2U7XG59XG5cbi8vIENlbnRyYWxpemEgdmVydGljYWxtZW50ZSDDrWNvbmUgKyB0ZXh0byBkZW50cm8gZG8gYm90w6NvLiBPIHdyYXBwZXIgZG8gTWF0ZXJpYWxcbi8vIChgLm1hdC1idXR0b24td3JhcHBlcmApIGFsaW5oYSBvIGNvbnRlw7pkbyBwZWxhIGxpbmhhIGRlIGJhc2UgcG9yIHBhZHLDo28sIG8gcXVlXG4vLyBkZXNlbmNvbnRyYSBvIMOtY29uZSBkbyByw7N0dWxvOyBpbmxpbmUtZmxleCArIGFsaWduLWl0ZW1zIGNlbnRlciByZXNvbHZlIGVtXG4vLyBUT0RPIGNoYWlyLWJ1dHRvbiBjb20gZGlyZXRpdmEgKG1hdC1mbGF0L21hdC1zdHJva2VkKS5cbi5jaGFpci1idXR0b24ubWF0LWZsYXQtYnV0dG9uIC5tYXQtYnV0dG9uLXdyYXBwZXIsXG4uY2hhaXItYnV0dG9uLm1hdC1zdHJva2VkLWJ1dHRvbiAubWF0LWJ1dHRvbi13cmFwcGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tcHJpbWFyeS5tYXQtZmxhdC1idXR0b24ge1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tc2Vjb25kYXJ5Lm1hdC1zdHJva2VkLWJ1dHRvbiB7XG4gIGZvbnQtd2VpZ2h0OiA0MzA7XG4gIC8vIEJhY2tncm91bmQgZSBib3JkZXIgZXhwbMOtY2l0b3MgR0xPQkFJUyAobsOjbyB0aGVtZS1zY29wZWQpLiBNYXRlcmlhbFxuICAvLyBkaWFsb2dzIHJlbmRlcml6YW0gdmlhIGNkay1vdmVybGF5LWNvbnRhaW5lcjsgZW1ib3JhIC5saWdodC10aGVtZS9cbiAgLy8gLmRhcmstdGhlbWUgZXN0ZWphbSBlbSA8Ym9keT4sIHJlZ3JhcyBnbG9iYWlzIHNlbSBwcmVmaXhvIGdhcmFudGVtXG4gIC8vIGFwbGljYcOnw6NvIGluZGVwZW5kZW50ZSBkZSBxdWFscXVlciBjYW1pbmhvIGRlIGNhc2NhZGUuXG4gIGJhY2tncm91bmQtY29sb3I6ICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAvLyBDb3IgZGUgdGV4dG8gZXhwbMOtY2l0YSAodGhlbWUtYXdhcmUpLiBTZW0gZWxhIG8gTWF0ZXJpYWwgYXBsaWNhIHVtIGZvcmVncm91bmRcbiAgLy8gcGFkcsOjbyBxdWUgbm8gZGFyayBmaWNhIGVzY3VybyDihpIgXCJEZXNjYXJ0YXJcIiBlc21hZWNpZG8gbWVzbW8gaGFiaWxpdGFkby5cbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuICAvLyBCb3JkYSBkb3MgQ09OVFJPTEVTID0gY2hyb21lLWJvcmRlci1BQ1RJVkUgKG1haXMgZGVmaW5pZGEpLCBNRVNNTyB0b2tlbiBkbyB0cmlvIGRvXG4gIC8vIGhlYWRlciAoY2FpeGEgZGUgZmlsdHJvLCBib3TDo28gZGUgZmlsdHJvLCBib3TDo28gZGUgYcOnw7VlcykuIEhhcm1vbml6YSBvcyBib3TDtWVzIGRhXG4gIC8vIGJhcnJhIGRlIGHDp8O1ZXMgY29tIG8gaGVhZGVyOyBvIGBjaHJvbWUtYm9yZGVyYCBiYXNlIGZpY2EgcmVzZXJ2YWRvIGEgRElWSVNPUkVTLlxuICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTtcbn1cblxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXNlY29uZGFyeS5tYXQtc3Ryb2tlZC1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvci1kYXJrO1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZTtcbn1cblxuLy8gSG92ZXIgZG9zIGJvdMO1ZXMgZGEgYmFycmEgZGUgY29uZmlybWHDp8OjbyAoY2hhaXItYnV0dG9uKS4gQ29tbyBvIGZvY3VzLW92ZXJsYXkgZm9pXG4vLyB6ZXJhZG8gKGFiYWl4byksIG8gZmVlZGJhY2sgw6kgZXhwbMOtY2l0bzogZWxldmHDp8OjbyBzdXRpbCBub3MgZG9pcyArIG11ZGFuw6dhIGRlIGZ1bmRvXG4vLyBubyBzZWN1bmTDoXJpbyBlIGxldmUgZXNjdXJlY2ltZW50byBubyBwcmltw6FyaW8uIEV4Y2x1aSBvIGVzdGFkbyBkZXNhYmlsaXRhZG8uXG4uY2hhaXItYnV0dG9uLm1hdC1mbGF0LWJ1dHRvbjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOmhvdmVyLFxuLmNoYWlyLWJ1dHRvbi5tYXQtc3Ryb2tlZC1idXR0b246bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTgpO1xufVxuLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXNlY29uZGFyeS5tYXQtc3Ryb2tlZC1idXR0b246bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlO1xufVxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXNlY29uZGFyeS5tYXQtc3Ryb2tlZC1idXR0b246bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyaztcbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZTtcbn1cbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Lm1hdC1mbGF0LWJ1dHRvbjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOmhvdmVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDAuOTMpO1xufVxuXG4vLyBaZXJhIG8gdGludCBkbyBmb2N1cyBvdmVybGF5IG5vIGNoYWlyLWJ1dHRvbiAoTWF0ZXJpYWwgYXBsaWNhIH4wLjEyXG4vLyBvcGFjaXR5IHF1YW5kbyBmb2NhZG8g4oCUIG8gcXVlIGTDoSBhIGltcHJlc3PDo28gdmlzdWFsIGRlIFwiZnVuZG8gY2luemFcIlxuLy8gbm8gYm90w6NvIENhbmNlbGFyIGRvIGRpYWxvZywgcXVlIMOpIGF1dG8tZm9jYWRvKS4gRm9jdXMgY29udGludWFcbi8vIHBlcmNlcHTDrXZlbCB2aWEgLmNkay1mb2N1c2VkIG91dGxpbmUuXG4uY2hhaXItYnV0dG9uIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXkge1xuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG59XG5cbi8vIERpc2FibGVkOiBNYXRlcmlhbCBhcGxpY2Egc2V1IHByw7NwcmlvIGdyYXkgKGAubWF0LWJ1dHRvbi1kaXNhYmxlZGApLFxuLy8gcXVlIGRlc3RvYSBkbyByZXN0byBkbyBjaGFpciBVSS4gRm9yw6dhbW9zIG9zIHRva2VucyBnbG9iYWlzXG4vLyBgJGJ1dHRvbi1kaXNhYmxlZC1jb2xvcmAgLyBgJGJ1dHRvbi1kaXNhYmxlZC1jb2xvci1kYXJrYCAoasOhIHVzYWRvcyBlbVxuLy8gYGJ1dHRvbjpkaXNhYmxlZGAgZW0gX2NvbG9yLXNjaGVtZS5zY3NzLCBtYXMgTWF0ZXJpYWwgdmVuY2UgcG9yXG4vLyBzcGVjaWZpY2l0eSkuIE8gYC5tYXQtaWNvbmAgaGVyZGEgdmlhIGBjb2xvcjogaW5oZXJpdGAgKHNldGFkbyBub1xuLy8gb3ZlcnJpZGUgZG8gZmxvYXRpbmctc3VibWl0LWJhcikuIEFqdXN0YXIgZ2xvYmFsbWVudGUgPSBlZGl0YXIgbyB0b2tlbi5cbi5jaGFpci1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCxcbi5jaGFpci1idXR0b246ZGlzYWJsZWQsXG4uY2hhaXItYnV0dG9uW2Rpc2FibGVkXSB7XG4gIGNvbG9yOiAkYnV0dG9uLWRpc2FibGVkLWNvbG9yICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQsXG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uOmRpc2FibGVkLFxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbltkaXNhYmxlZF0ge1xuICBjb2xvcjogJGJ1dHRvbi1kaXNhYmxlZC1jb2xvci1kYXJrICFpbXBvcnRhbnQ7XG59XG5cbi8vIERpc2FibGVkIGRvIFBSSU1BUlkgKG1hdC1mbGF0LWJ1dHRvbik6IG1hbnTDqW0gbyBhenVsLCBhcGVuYXMgZXNtYWVjaWRvIOKAlFxuLy8gbsOjbyBjYWlyIG5vIGdyYXkgZGVmYXVsdCBkbyBNYXRlcmlhbC4gUmVncmEgZ2xvYmFsOiB1bSBib3TDo28gZGVzYWJpbGl0YWRvXG4vLyB0ZW0gcXVlIHNlIHBhcmVjZXIgY29tIG8gbWVzbW8gYm90w6NvIGhhYmlsaXRhZG8sIHPDsyBxdWUgYXBhZ2FkbywgZW1cbi8vIFFVQUxRVUVSIGNvbnRleHRvICh0YWJlbGEgZGUgdHJpbGhhcywgZmxvYXRpbmcgYmFyLCBwcsOpdmlhLCBldGMuKS4gU2VtXG4vLyBpc3NvIG8gTWF0ZXJpYWwgc29icmVzY3JldmUgYmFja2dyb3VuZCtjb2xvciBjb20gbyBwcmVzZXQgZGUgZGlzYWJsZWQgZVxuLy8gZGVzdG9hIGRvIHJlc3RvIGRhIFVJLiBDb2JyZSB0YW50byBgW2Rpc2FibGVkXWAgcXVhbnRvIGAubWF0LWJ1dHRvbi1kaXNhYmxlZGBcbi8vIChjbGFzc2UgcXVlIE1hdGVyaWFsIGFkaWNpb25hIHF1YW5kbyB1bSA8YT4gY2hhaXItYnV0dG9uIHBlcmRlIHJvdXRlckxpbmspLlxuLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXByaW1hcnkubWF0LWZsYXQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQsXG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tcHJpbWFyeS5tYXQtZmxhdC1idXR0b246ZGlzYWJsZWQsXG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tcHJpbWFyeS5tYXQtZmxhdC1idXR0b25bZGlzYWJsZWRdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRhcHAtcHJpbWFyeS1saWdodCwgNTAwKSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAwLjU7XG59XG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tcHJpbWFyeS5tYXQtZmxhdC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCxcbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Lm1hdC1mbGF0LWJ1dHRvbjpkaXNhYmxlZCxcbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Lm1hdC1mbGF0LWJ1dHRvbltkaXNhYmxlZF0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGFwcC1wcmltYXJ5LWRhcmssIDUwMCkgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMC41NTtcbn1cblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBjaGFpci1idXR0b24gXCJwdXJvXCIg4oCUIHBhcmEgPGJ1dHRvbj4vPGE+IGNvbSBjbGFzcz1cImNoYWlyLWJ1dHRvblwiIFNFTVxuLy8gZGlyZXRpdmEgTWF0ZXJpYWwuIFJlcGxpY2EgYSBnZW9tZXRyaWEvdGlwb2dyYWZpYS9lc3RhZG9zIHF1ZVxuLy8gbWF0LXN0cm9rZWQtYnV0dG9uIGUgbWF0LWZsYXQtYnV0dG9uIGZvcm5lY2VyaWFtLiBTZWxldG9yXG4vLyBgOm5vdCgubWF0LWJ1dHRvbi1iYXNlKWAgbWlyYSBzw7Mgb3MgYmFyZSAoTWF0ZXJpYWwgc2VtcHJlIGFkaWNpb25hXG4vLyAubWF0LWJ1dHRvbi1iYXNlIG5hcyBzdWFzIHZhcmlhbnRlcyksIGVudMOjbyBlc3RlcyBjb252aXZlbSBjb20gb3Ncbi8vIGNoYWlyLWJ1dHRvbiBNYXRlcmlhbCBkbyByZXN0byBkbyBhcHAgc2VtIGNvbGlzw6NvLiBDb2JyZSA8YT4gKG5hdmVnYcOnw6NvXG4vLyB2aWEgcm91dGVyTGluaywgZXguOiBhw6fDtWVzIGRvIG1lbWJybyBkbyBjb21pdMOqIG5hIHDDoWdpbmEgZG8gZXZlbnRvKSBhbMOpbVxuLy8gZGUgPGJ1dHRvbj4uXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5jaGFpci1idXR0b246bm90KC5tYXQtYnV0dG9uLWJhc2UpIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgLy8gw41jb25lIGludGVybm8gYWxpbmhhZG8gYW8gdGFtYW5obyBkYSB0aXBvZ3JhZmlhIGRvIGJvdMOjbyAoMTNweC8xNnB4KS5cbiAgLy8gQ29icmUgMyBmb3JtYXMgZGUgcmVuZGVyaXphciBvIMOtY29uZTogYG1hdC1pY29uYCAoTWF0ZXJpYWwg4oCUIDI0cHhcbiAgLy8gZGVmYXVsdCwgcHJlY2lzYSBjYXApLCBgLm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRgIChzcGFuIGNvbSBhXG4gIC8vIGZvbnRlIHNlbGYtaG9zdGVkLCBKRU1TMyBwdXJvIHNlbSBNYXRlcmlhbCkgZSBgLmplbXMzc2AgKGZvbnRTZXRcbiAgLy8gY2zDoXNzaWNvKS4gTmFzIHZhcmlhbnRlcyBjb20gZGlyZXRpdmEgTWF0ZXJpYWwgbyB3cmFwcGVyXG4gIC8vIGAubWF0LWJ1dHRvbi13cmFwcGVyYCBqw6EgZGltZW5zaW9uYTsgYXF1aSDDqSBvIHBhciBwdXJvLlxuICBtYXQtaWNvbixcbiAgLm1hdC1pY29uLFxuICAubWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCxcbiAgLmplbXMzcyxcbiAgLmplbXMzciB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuICAvLyBoZWlnaHQ6IGF1dG8gc29icmVzY3JldmUgYSByZWdyYSBnbG9iYWwgYGJ1dHRvbiB7IGhlaWdodCB9YCBtYXMgYXF1aVxuICAvLyBxdWVyZW1vcyBleGF0YW1lbnRlIGEgYWx0dXJhIHBhZHLDo28gZG8gTWF0ZXJpYWwg4oCUIGVudMOjbyBkZWl4YW1vcy5cbiAgaGVpZ2h0OiAkY29udHJvbC1oZWlnaHQ7XG4gIG1pbi13aWR0aDogOTZweDtcbiAgcGFkZGluZzogMCAxNnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyAgICAgICAgICAgIC8vID0gJGNocm9tZS1yYWRpdXMgZG8gbWF0LXN0cm9rZWQtYnV0dG9uXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MzA7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgICAgICAgICAvLyA8YT4gZXN0aWxpemFkbyBjb21vIGJvdMOjbyBuw6NvIHN1YmxpbmhhXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG5cbiAgLy8gRm9jbyB2aXPDrXZlbCBzw7MgcG9yIHRlY2xhZG8g4oCUIG1lc21hIGlkw6lpYSBkbyBjZGsta2V5Ym9hcmQtZm9jdXNlZC5cbiAgJjpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgJGFjY2VudC1iYWNrZ3JvdW5kO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cblxuICAvLyBEaXNhYmxlZDogY3Vyc29yICsgc2VtIGludGVyYcOnw6NvLiBFc21hZWNlbW9zIEFQRU5BUyB0ZXh0byBlIMOtY29uZVxuICAvLyAobsOjbyBvIGJvdMOjbyBpbnRlaXJvIGNvbSBgb3BhY2l0eWAsIHF1ZSBjbGFyZWFyaWEgdGFtYsOpbSBib3JkYSBlIGJnKS5cbiAgLy8gYGNvbG9yYCByZWJhaXhhZGEgdmlhIHJnYmE7IMOtY29uZSBzZWd1ZSBwb3IgYGNvbG9yOiBpbmhlcml0YCAoZGVmaW5pZG9cbiAgLy8gbm8gZmxvYXRpbmctc3VibWl0LWJhci5jb21wb25lbnQuc2NzcykuXG4gICY6ZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG4gIH1cbn1cblxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbjpub3QoLm1hdC1idXR0b24tYmFzZSk6ZGlzYWJsZWQsXG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uOm5vdCgubWF0LWJ1dHRvbi1iYXNlKVtkaXNhYmxlZF0ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM4KTtcbn1cblxuLy8gU2Vjb25kYXJ5IChvdXRsaW5lZCwgZnVuZG8gZGUgY2FyZCk6IGVxdWl2YWxlbnRlIGFvIG1hdC1zdHJva2VkLWJ1dHRvbi5cbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1zZWNvbmRhcnk6bm90KC5tYXQtYnV0dG9uLWJhc2UpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3I7XG4gIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItbGlnaHQ7XG59XG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tc2Vjb25kYXJ5Om5vdCgubWF0LWJ1dHRvbi1iYXNlKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yLWRhcms7XG4gIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyaztcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG59XG5cbi8vIFByaW1hcnkgKGZpbGxlZCwgZnVuZG8gYWNjZW50KTogZXF1aXZhbGVudGUgYW8gbWF0LWZsYXQtYnV0dG9uICsgY29sb3I9XCJwcmltYXJ5XCIuXG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tcHJpbWFyeTpub3QoLm1hdC1idXR0b24tYmFzZSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Om5vdCgubWF0LWJ1dHRvbi1iYXNlKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAvLyBUZXh0byBCUkFOQ08gbm8gYWNjZW50IChtZXNtYSBkZWNpc8OjbyBkbyBsaWdodCk6IGNvbnNpc3TDqm5jaWFcbiAgLy8gdmlzdWFsIGVtIHRvZG8gYm90w6NvIGRlIGFjY2VudC4gYCRhZG1pbi1hY2NlbnQtY29sb3ItZGFya2AgPSB3aGl0ZS5cbiAgY29sb3I6ICRhZG1pbi1hY2NlbnQtY29sb3ItZGFyaztcbn1cblxuLy8gV2FybiAoZmlsbGVkLCB2ZXJtZWxobyk6IGVxdWl2YWxlbnRlIGFvIG1hdC1mbGF0LWJ1dHRvbiArIGNvbG9yPVwid2FyblwiLlxuLy8gUGFyYSBhw6fDtWVzIHF1ZSBwZWRlbSBhdGVuw6fDo28gKGV4LjogY29uZmlybWFyIGNvbnZpdGUgcGVuZGVudGUgZGUgVFBDKS5cbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS13YXJuOm5vdCgubWF0LWJ1dHRvbi1iYXNlKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3Itd2FybmluZztcbiAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWNvbG9yLXdhcm5pbmc7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXdhcm46bm90KC5tYXQtYnV0dG9uLWJhc2UpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvci13YXJuaW5nLWRhcms7XG4gIGJvcmRlci1jb2xvcjogJGFjY2VudC1jb2xvci13YXJuaW5nLWRhcms7XG4gIGNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xufVxuXG4vLyBIb3ZlciDigJQgc2Vjb25kYXJ5OiBiZyA9IGAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kYCAobWVzbW9cbi8vIGRvIGhvdmVyIGRvIG1lbnUgbGF0ZXJhbCBtb2Rlcm5vIGRvIFRQQyBjaGFpcikuIFNlbSB0cmFuc2l0aW9uOyBzZW0gYm94LXNoYWRvdy5cbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1zZWNvbmRhcnk6bm90KC5tYXQtYnV0dG9uLWJhc2UpOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7XG59XG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tc2Vjb25kYXJ5Om5vdCgubWF0LWJ1dHRvbi1iYXNlKTpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyaztcbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZTtcbn1cblxuLy8gSG92ZXIg4oCUIHByaW1hcnkvd2FybjogZXNjdXJlY2UgbGV2ZW1lbnRlLCBpZ3VhbCBhbyBtYXQtZmxhdC1idXR0b24uXG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tcHJpbWFyeTpub3QoLm1hdC1idXR0b24tYmFzZSk6bm90KDpkaXNhYmxlZCk6aG92ZXIsXG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0td2Fybjpub3QoLm1hdC1idXR0b24tYmFzZSk6bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMC45Myk7XG59XG5cbi8vIERpc2FibGVkIOKAlCBwcmltYXJ5L3dhcm46IGRlcnJ1YmEgbyBhY2NlbnQgKGJnICsgYm9yZGVyKSBlIGNhaSBubyB2aXN1YWxcbi8vIGRvIHNlY29uZGFyeSBkZXNhYmlsaXRhZG8uIEFzc2ltIGJvdMO1ZXMgY29tIGFjY2VudC1jb2xvciBmaWNhbSBpZMOqbnRpY29zXG4vLyBhb3MgY29udmVuY2lvbmFpcyBxdWFuZG8gaW5hdGl2b3MgKHPDsyBvIHRleHRvIGVzbWFlY2lkbyBjYXJyZWdhIG8gZXN0YWRvKS5cbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Om5vdCgubWF0LWJ1dHRvbi1iYXNlKTpkaXNhYmxlZCxcbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Om5vdCgubWF0LWJ1dHRvbi1iYXNlKVtkaXNhYmxlZF0sXG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0td2Fybjpub3QoLm1hdC1idXR0b24tYmFzZSk6ZGlzYWJsZWQsXG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0td2Fybjpub3QoLm1hdC1idXR0b24tYmFzZSlbZGlzYWJsZWRdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3I7XG4gIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItbGlnaHQ7XG59XG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tcHJpbWFyeTpub3QoLm1hdC1idXR0b24tYmFzZSk6ZGlzYWJsZWQsXG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tcHJpbWFyeTpub3QoLm1hdC1idXR0b24tYmFzZSlbZGlzYWJsZWRdLFxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXdhcm46bm90KC5tYXQtYnV0dG9uLWJhc2UpOmRpc2FibGVkLFxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXdhcm46bm90KC5tYXQtYnV0dG9uLWJhc2UpW2Rpc2FibGVkXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yLWRhcms7XG4gIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyaztcbn1cblxuLy8gR2VuZXJhbCByZWZhY3RvclxuXG5idXR0b24ge1xuICAmLm1hdC1yYWlzZWQtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcblxuICAgIC5tYXQtaWNvbiB7XG4gICAgICBsaW5lLWhlaWdodDogMS40cmVtO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuXG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xuXG4gICAgICAmLm1hdC1idXR0b24td3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMXB4IDFweCA3cHggJGJsYWNrLTUwMDtcbiAgICB9XG4gIH1cblxuICAmLnByb2ZpbGUtYnV0dG9uLCAmLm1hdC1pY29uLWJ1dHRvbi5wcm9maWxlLWJ1dHRvbiB7XG4gICAgd2lkdGg6ICRidXR0b24taGVpZ2h0O1xuICAgIGhlaWdodDogJGJ1dHRvbi1oZWlnaHQ7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24taGVpZ2h0O1xuICB9XG5cbiAgJltjb2xvcl0ubWF0LXJhaXNlZC1idXR0b24gc3Bhbi5tYXQtYnV0dG9uLXdyYXBwZXI6bm90KDpoYXMoLm1hdC1pY29uKSksIFxuICAmW2NvbG9yXS5tYXQtcmFpc2VkLWJ1dHRvbiBzcGFuLm1hdC1idXR0b24td3JhcHBlcjpoYXMoc3Bhbikge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG5cbiAgJi5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWRbZGlzYWJsZWQ9XCJ0cnVlXCJdIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICB9XG59XG4iLCJAaW1wb3J0ICdjb2xvcnMnOyAvLyBzaXplc1xuQGltcG9ydCAnY29tcG9uZW50cy9oZWFkZXInO1xuXG4kbWF4LWJhc2UtY29udGFpbmVyLXdpZHRoOiAxMTAwcHg7XG5cbiRkZXNrdG9wLXdpZHRoLW1kOiAxNDUwcHg7XG4kZGVza3RvcC13aWR0aC1zbTogMTIxNnB4O1xuJHRhYmxldC1icmVha3VwLXdpZHRoOiA3NjhweDtcbiRtb2JpbGUtd2lkdGg6IDQ4NnB4O1xuJHNjcmVlbi1pUGhvbmVTRS1wb3J0cmFpdC13aWR0aDogMzIwcHg7XG4kc2NyZWVuLWlQaG9uZTgtcG9ydHJhaXQtd2lkdGg6IDM3NXB4O1xuJHNjcmVlbi1pUGhvbmUxMi1wcm8td2lkdGg6IDM5MHB4O1xuJHNjcmVlbi1pUGhvbmU4cGx1cy1wb3J0cmFpdC13aWR0aDogNDE0cHg7XG4kc2NyZWVuLWlQYWRNaW5pLXBvcnRyYWl0LXdpZHRoOiA4ODBweDtcbiRzY3JlZW4taVBhZE1pbmktbGFuZHNjYXBlLXdpZHRoOiAxMDI0cHg7XG5cbi8vIFNjcmVlbiB3aWR0aCBwZXIgaW50ZXJmYWNlXG4kc2NyZWVuLW1haW4tcG9ydGFsLXNob3J0OiA4OTBweDtcblxuXG4kbWluLXNjcmVlbi13aWR0aDogMzIwcHg7XG4kbmF2YmFyLW1vYmlsZS1icmVhazogNjAwcHg7XG5cbiRldmVudC10aXRsZS1iYXI6IDBweDsgICAgICAgICAgLy8gKGxlZ2FjeSBzbG90LCBrZXB0IGF0IHplcm87IGRvIG5vdCByZXVzZSlcbiR3b3Jrc3BhY2UtYmFyLWhlaWdodDogMHB4OyAgICAgICAvLyB3b3Jrc3BhY2UgYmFyIHJlbW92ZWQg4oCUIGtlZXBpbmcgdGhlIHZhcmlhYmxlIGF0IDAgc28gYW55IGRvd25zdHJlYW0gb2Zmc2V0cyByZXNvbHZlIG5hdHVyYWxseSAodW5pdCBvYnJpZ2F0w7NyaWEgcHJhIGNhbGMoKSBjLyB2YXIoKSBuw6NvIHF1ZWJyYXIpXG4kbGVmdC1jb2x1bW4taGVhZGVyLWhlaWdodDogMHB4OyAgLy8gKGxlZ2FjeSBzbG90LCBrZXB0IGF0IHplcm87IGRvIG5vdCByZXVzZSDigJQgaGVhZGVyIHN0cmlwIHJlbW92ZWQgYnkgcmVxdWVzdClcbiRleHBlcmltZW50YWwtc2lkZWJhci13aWR0aDogMjQwcHg7IC8vIGV4cGVyaW1lbnRhbCBzaW5nbGUtc2lkZWJhciAoaWNvbit0ZXh0ICsgYWNjb3JkaW9uIGNoaWxkcmVuKSwgc2l0cyB0byB0aGUgbGVmdCBvZiB0aGUgb3JpZ2luYWwgY2hyb21lIGZvciBBL0IgY29tcGFyaXNvblxuJGFjdGl2aXR5LWJhci13aWR0aDogNDhweDsgICAgICAvLyBWUyBDb2RlLXN0eWxlIHZlcnRpY2FsIGljb24gYmFyIG9uIHRoZSBsZWZ0IChUUEMgY2hhaXIgcHJpbWFyeSBuYXZpZ2F0aW9uIGluIE1vZGVybikuIEljb24tb25seSwgNDDDlzQwIGJ1dHRvbnMuXG4kY2xhc3NpYy10b29sYmFyLWhlaWdodDogNTVweDsgIC8vIEhvcml6b250YWwgdG9vbGJhciBoZWlnaHQgaW4gQ2xhc3NpYyBsYXlvdXQuIFNpemVkIHRvIGZpdCBhIGNvbXBhY3QgaWNvbi1waWxsICgyOHB4KSArIHRpbnkgZ2FwICsgbGFiZWwgKDEwcHgpICsgYnV0dG9uIHBhZGRpbmcgKyBzbWFsbCBicmVhdGhpbmcgcm9vbSDigJQgdGlnaHRlciB0aGFuIHRoZSBpY29uLW9ubHkgTW9kZXJuIHZhcmlhbnQgc28gaWNvbiBhbmQgbGFiZWwgcmVhZCBhcyBhIHVuaXQuXG4kZXZlbnQtYnJlYWRjcnVtYi1oZWlnaHQ6IDM2cHg7IC8vIFRvdGFsIHJlbmRlcmVkIGhlaWdodCBvZiB0aGUgYnJlYWRjcnVtYiAobWF0Y2hlcyBgLmV2ZW50LWJyZWFkY3J1bWIgeyBoZWlnaHQ6IDM2cHggfWAgaW4gZXZlbnQtYnJlYWRjcnVtYi5jb21wb25lbnQuc2NzcyDigJQgd2l0aCB0aGUgcHJvamVjdCdzIGdsb2JhbCBgYm94LXNpemluZzogYm9yZGVyLWJveGAsIHRoZSAxcHggYGJvcmRlci1ib3R0b21gIGlzIElOQ0xVREVEIGluIHRoZSAzNnB4LCBub3QgYWRkZWQgb24gdG9wKS4gTW9kZXJuIGxheW91dCB1c2VzIHRoaXMgZGlyZWN0bHkuXG4kY2xhc3NpYy1icmVhZGNydW1iLWhlaWdodDogMjZweDsgLy8gQ29tcGFjdCBvdmVycmlkZSBmb3IgQ2xhc3NpYyBvbmx5IOKAlCBhcHBsaWVkIHZpYSB0aGUgYC5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZClgIGJsb2NrIGluIGFkbWluLWV2ZW50LXNpZGViYXIuY29tcG9uZW50LnNjc3MgKGhlaWdodCArIGZvbnQgKyBpY29uIG92ZXJyaWRlcyBvbiB0aGUgYnJlYWRjcnVtYikgc28gdGhlIHN0cmlwIHJlY292ZXJzIHZlcnRpY2FsIHNwYWNlIGZvciB0aGUgY2FudmFzLlxuJGFkbWluLXN1Ym1lbnUtd2lkdGg6IDE2NXB4OyAgICAvLyBUUEMgY2hhaXIgc3ViLW5hdmlnYXRpb24gcGFuZWwgKGJldHdlZW4gYWN0aXZpdHkgYmFyIGFuZCBjb250ZW50KVxuJG5hdmJhci1oZWlnaHQ6IDU1cHg7XG4kcHJveHktYmFyLWhlaWdodDogMzBweDtcbiRwcm94eS1iYXItbWFyZ2luLXNpemU6IDQ1cHg7XG4kc2lkZW5hdi13aWR0aDogMjAwcHg7XG4kc2lkZW5hdi1tb2JpbGUtd2lkdGg6IDI1MHB4O1xuJGNvbnRlbnQtd2lkdGg6ICRzaWRlbmF2LXdpZHRoICsgMTAwcHg7XG4kY29udGVudC13aWR0aC1hZG1pbjogMHB4O1xuJHNpZGVuYXYtbWluaS13aWR0aDogNDVweDsgLy8gei1pbmRleGVzXG4kc2lkZW5hdi1hZG1pbi1taW5pLXdpZHRoOiA3OXB4O1xuJHNpZGViYXItY29udGVudC16LWluZGV4OiAxMDtcbiRzaWRlYmFyLXotaW5kZXg6IDIwO1xuJG5hdmJhci16LWluZGV4OiAzMTtcbiRwcm9ncmVzcy1iYXItei1pbmRleDogMTEwMDsgIC8vIGFib3ZlIGFsbCBhcHAgY2hyb21lICh3b3Jrc3BhY2UgYmFyLCBhY3Rpdml0eSBiYXIsIG1hdC1kcmF3ZXIpIHNvIHRoZSBsb2FkaW5nIGluZGljYXRvciBpcyBuZXZlciBjbGlwcGVkXG4kcHJvZ3Jlc3MtYmFyLWhlaWdodDogMnB4O1xuJHNpZGViYXItYmFja2Ryb3Atei1pbmRleDogMzU7XG4kc2lkZWJhci1tb2JpbGUtei1pbmRleDogNDA7XG4kbmF2YmFyLWljb24tc2l6ZTogNzJweDtcblxuLy8gRmlsZSBpY29uIHNpemUgdmFyaWFibGVzLlxuJGZpbGUtaWNvbi1zaXplOiAzMHB4O1xuJGZpbGUtaWNvbi1zaXplLXNtYWxsZXI6ICRmaWxlLWljb24tc2l6ZSAqIDAuNjtcbiRmaWxlLWljb24tc2l6ZS1zbWFsbGVyLWZvbnRzaXplOiAwLjhyZW07XG5cblxuLy8gTWFpbiBsYXlvdXQgcGFkZGluZ3Mgb3IgbWFyZ2luXG4kbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtZGVza3RvcC1tZDogMS4zcmVtO1xuJGxhdGVyYWwtcGFkZGluZy1jb250ZW50LWRlc2t0b3Atc206IDAuNXJlbTtcbiRsYXRlcmFsLXBhZGRpbmctY29udGVudC10YWJsZXQ6IDFyZW07XG4kbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtbW9iaWxlOiAwLjVyZW07XG5cbi8vIHNpemUgZm9yIGF2YXRhclxuJGF2YXRhci1zaXplOiAzNnB4O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRQQyBjaGFpciBVSSDigJQgZWxldmF0aW9uIHRva2Vuc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUd28gY2Fub25pY2FsIHRpZXJzIHVzZWQgYWNyb3NzIHRoZSBjaGFpciBVSSBtZW51czpcbi8vICAgMS4gUEFORUwgIOKAlCBhbmNob3JlZCBtZW51cyAodXNlciBtZW51LCBub3RpZmljYXRpb25zLCBmbHlvdXQpLlxuLy8gICAgICAgICAgICAgICBBcHBsaWVkIHZpYSBgZmlsdGVyOiBkcm9wLXNoYWRvdyguLi4pYCBzbyB0aGUgc2hhZG93XG4vLyAgICAgICAgICAgICAgIGZvbGxvd3MgdGhlIHBhbmVsIHNpbGhvdWV0dGUgKGluY2wuIHRoZSBmbHlvdXQnc1xuLy8gICAgICAgICAgICAgICBhcnJvdyB0YWlsKS4gRGFyayBtb2RlIGFkZGl0aW9uYWxseSBnZXRzIGEgMXB4XG4vLyAgICAgICAgICAgICAgIG91dGxpbmUgdmlhIGBib3gtc2hhZG93OiAwIDAgMCAxcHggPGRhcmstYm9yZGVyPmAsXG4vLyAgICAgICAgICAgICAgIGtlcHQgaW5saW5lIGJlY2F1c2UgaXQncyBhIGNvbG91ci10b2tlbiBkZWNpc2lvblxuLy8gICAgICAgICAgICAgICByYXRoZXIgdGhhbiBhbiBlbGV2YXRpb24gb25lLlxuLy8gICAyLiBGTE9BVElORyDigJQgZHJhZyBwcmV2aWV3cyAoY2RrRHJhZyBjbG9uZXMpLiBTbGlnaHRseSBsYXJnZXJcbi8vICAgICAgICAgICAgICAgICBibHVyIC8gaGVhdmllciBhbHBoYSB0aGFuIHBhbmVscyDigJQgY29tbXVuaWNhdGVzXG4vLyAgICAgICAgICAgICAgICAgXCJsaWZ0ZWQgY2xvbmVcIiB2cyBcImFuY2hvcmVkIHBhbmVsXCIuXG4kc2hhZG93LXBhbmVsLWxpZ2h0OiAgICBkcm9wLXNoYWRvdygwIDNweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zMikpO1xuJHNoYWRvdy1wYW5lbC1kYXJrOiAgICAgZHJvcC1zaGFkb3coMCA1cHggMTRweCByZ2JhKDAsIDAsIDAsIDAuNykpO1xuJHNoYWRvdy1mbG9hdGluZy1saWdodDogMCA2cHggMThweCByZ2JhKDAsIDAsIDAsIDAuMTgpO1xuJHNoYWRvdy1mbG9hdGluZy1kYXJrOiAgMCA4cHggMjJweCByZ2JhKDAsIDAsIDAsIDAuNTUpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRQQyBjaGFpciBVSSDigJQgY29ybmVyIHJhZGl1c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTaW5nbGUgY2Fub25pY2FsIHJhZGl1cyB1c2VkIGFjcm9zcyB0aGUgY2hhaXIgVUk6IGludGVyYWN0aXZlIHBpbGxzXG4vLyAoc2lkZWJhciBpdGVtcywgbWVudSBpdGVtcywgZmx5b3V0IGl0ZW1zLCBicmVhZGNydW1iIHNlZ21lbnRzLFxuLy8gY2hyb21lIGJ1dHRvbnMpIEFORCBwYW5lbCBzdXJmYWNlcyAobWF0LW1lbnUtcGFuZWwsIHNpZGViYXIgaGVhZGVyKS5cbi8vIDZweCBpcyB0aGUgR2l0SHViLXN0eWxlIFwibW9kZXJuIGFwcFwiIGNvcm5lciB0aGF0IHJlYWRzIGFzIHJvdW5kZWRcbi8vIHdpdGhvdXQgZmVlbGluZyBzb2Z0LiBDZW50cmFsaXNlZCBoZXJlIHNvIGFueSBmdXR1cmUgdHVuaW5nIG9mIHRoZVxuLy8gY2hhaXIgVUkncyBjb3JuZXIgaWRlbnRpdHkgaXMgYSBzaW5nbGUtdG9rZW4gY2hhbmdlLlxuJGNocm9tZS1yYWRpdXM6IDZweDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUUEMgY2hhaXIgVUkg4oCUIGNvbnRyb2wgaGVpZ2h0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFsdHVyYSBjYW7DtG5pY2EgZG9zIGNvbnRyb2xlcyBpbnRlcmF0aXZvcyBkbyBKRU1TMyAoY2FpeGFzIGRlIGlucHV0L3NlbGVjdFxuLy8gZmlsdGVyLXN0eWxlZCwgZGF0ZXBpY2tlciwgbnVtYmVyLWlucHV0LCBjaGFpci1idXR0b24sIHNlbGV0b3IgZGUgcmV2aXNvciBkYVxuLy8gdGFiZWxhIGRlIHN1Z2VzdMO1ZXMpLiBGb250ZSDDmk5JQ0EgZGUgdmVyZGFkZTogYW50ZXMgY2FkYSBwcmVzZXQvY29tcG9uZW50ZVxuLy8gaGFyZGNvZGF2YSBgMzZweGAgKGTDqWJpdG8gZGUgdG9rZW4pLiBNdWRhciBhcXVpIHJlZmxldGUgZW0gdG9kb3MuIENvbSBvXG4vLyBgYm94LXNpemluZzogYm9yZGVyLWJveGAgZ2xvYmFsLCBlc3RhIGFsdHVyYSBJTkNMVUkgYm9yZGEgKyBwYWRkaW5nLlxuLy9cbi8vIEVzY29saGEgMjZweCAoMjAyNi0wNik6IGFsaW5oYSBjb20gYSBkZW5zaWRhZGUgbmF0aXZhIGRvIG1hY09TIOKAlFxuLy8gICDigKIgbWFjT1MgUmVndWxhciBOU1RleHRGaWVsZC9OU1BvcFVwQnV0dG9uIOKJiCAyMi0yNnB4LlxuLy8gICDigKIgV2luZG93cyBGbHVlbnQgMiBDb21wYWN0ID0gMjRweCwgRGVmYXVsdCA9IDMycHgg4oaSIDI2IGZpY2EgcHLDs3hpbW8gZG8gY29tcGFjdC5cbi8vICAg4oCiIFdDQUcgdGFyZ2V0IOKJpSAyNHB4IGN1bXByaWRvLlxuJGNvbnRyb2wtaGVpZ2h0OiAyNnB4O1xuXG4vLyBUYW1hbmhvIGRlIGZvbnRlIGRvIENPTlRFw5pETyBkb3MgY29udHJvbGVzIGRvIGNoYWlyIFVJICh2YWxvciBkaWdpdGFkb1xuLy8gbm8gaW5wdXQsIG9ww6fDo28gc2VsZWNpb25hZGEgbm8gc2VsZWN0LCBtw6FzY2FyYSBkbyBkYXRlcGlja2VyLCBuw7ptZXJvKS5cbi8vIEFsaW5oYSBjb20gbyBib2R5IGJhc2UgZG8gSkVNUzMgKDEzcHgg4oCUIHZlciBgZmVlZGJhY2tfYmFzZV9ib2R5X3RleHRgKVxuLy8gZSBjb20gbyBSZWd1bGFyIGRvIG1hY09TIChTRiBUZXh0IDEzcHQpLiBBbnRlcyBjYWRhIHByZXNldCBoYXJkY29kYXZhXG4vLyAxNHB4IChoZXJhbsOnYSBkbyBNYXRlcmlhbCAxMSkg4oCUIHRva2VuIMO6bmljbyBhcXVpIGV2aXRhIGRyaWZ0LlxuJGNvbnRyb2wtZm9udC1zaXplOiAxM3B4O1xuXG4vLyBQZXNvIGRvIENPTlRFw5pETyBkb3MgY29udHJvbGVzICh0ZXh0byBkZW50cm8gZGEgY2FpeGE6IHZhbG9yIGRpZ2l0YWRvIG5vXG4vLyBpbnB1dCwgdmFsb3IgZXhpYmlkbyBubyB0cmlnZ2VyIGRvIHNlbGVjdCwgbcOhc2NhcmEgZG8gZGF0ZXBpY2tlciwgcGxhY2Vob2xkZXIsXG4vLyBwcmVmaXgvc3VmZml4KS4gUGVzbyBub3JtYWwg4oCUIG7Do28gY29tcGV0ZSBjb20gbGFiZWxzIGFkamFjZW50ZXMuIERpZmVyZW50ZVxuLy8gZG8gcGVzbyBkb3MgSVRFTlMgREVOVFJPIGRvcyBwYWluw6lpcyBhYmVydG9zICgkbWVudS1pdGVtLXdlaWdodCA9IDUwMCkuXG4kY29udHJvbC1jb250ZW50LXdlaWdodDogNDAwO1xuXG4vLyBGb250LXdlaWdodCBkb3MgaXRlbnMgZW0gTUVOVVMvUEFJTsOJSVMgKG9ww6fDo28gZG8gc2VsZWN0LCBpdGVtIGRvIG1lbnUgZGVcbi8vIGNvbnRleHRvLCBsaW5oYSBkYSBsaXN0YSBkZSBmdXNvLCBldGMuKS4gQW50ZXMgaGFyZGNvZGVkIGVtIH4xMCBsdWdhcmVzLlxuJG1lbnUtaXRlbS13ZWlnaHQ6IDQwMDtcbiRtZW51LWl0ZW0td2VpZ2h0LXNlbGVjdGVkOiA2MDA7XG4kbWVudS1pdGVtLXdlaWdodC1tdXRlZDogNDAwOyAgIC8vIHRhZ3MgXCIoYnJvd3NlcilcIi9cIihldmVudClcIiwgb2Zmc2V0IEdNVFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRQQyBjaGFpciBVSSDigJQgZWFzaW5nIGZ1bmN0aW9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNpbmdsZSBjYW5vbmljYWwgZWFzaW5nIGN1cnZlIHVzZWQgYnkgZXZlcnkgYW5pbWF0aW9uL3RyYW5zaXRpb25cbi8vIGFjcm9zcyB0aGUgY2hhaXIgVUkgKHNpZGViYXIgd2lkdGggdG9nZ2xlLCBicmVhZGNydW1iIGxlZnQgdHJhY2tpbmcsXG4vLyBkcmFnLWRyb3Agcm93IHNoaWZ0cywgZXRjLikuIFNhbWUgc2hhcGUgYXMgTWF0ZXJpYWwncyBcInN0YW5kYXJkXCJcbi8vIGN1cnZlIOKAlCBhIHF1aWNrIHN0YXJ0IGFuZCBhIHNsb3cgZWFzZS1vdXQuIERlZmluZWQgb25jZSBoZXJlIHNvXG4vLyB0aW1pbmcgY2hhbmdlcyBjYW4gYmUgbWFkZSBpbiBvbmUgcGxhY2UuXG4kZWFzZS1vdXQ6IGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO1xuXG4vLyBEdXJhw6fDo28gY2Fuw7RuaWNhIGRhIGFuaW1hw6fDo28gZGUgYWJlcnR1cmEvZmVjaGFtZW50byBkbyBzaWRlYmFyIGV4cGVyaW1lbnRhbFxuLy8gKG1vZGVybm8pLiBVc2FkYSBwb3I6IGAuZXhwZXJpbWVudGFsLXNpZGViYXIgeyB0cmFuc2l0aW9uOiB3aWR0aCB9YCBlIHBvclxuLy8gVE9ETyBlbGVtZW50byBxdWUgcHJlY2lzZSBkZXNsaXphciBqdW50byAoYnJlYWRjcnVtYiwgcmVzaXplLWhhbmRsZSwgZXRjLikuXG4vLyBUZXIgdW1hIGZvbnRlIMO6bmljYSBldml0YSBkcmlmdCBlbnRyZSBlbGVzIOKAlCBtdWRhciBhcXVpID0gdHVkbyBkZXNsaXphIG5vXG4vLyBtZXNtbyByaXRtby5cbiRleHBlcmltZW50YWwtc2lkZWJhci10cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcbiIsIkBpbXBvcnQgJ2NvbG9ycyc7XG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7ICAgLy8gbWl4aW4gYGplbXMzLWNvdW50LWJhZGdlYFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJvdMOjbyBpY29uLW9ubHkgZGUgaGVhZGVyIChjaGFpci1oZWFkZXItaWNvbi1idXR0b24pLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBVc2FkbyBub3MgaGVhZGVycyBkYXMgcMOhZ2luYXMgZG8gYXV0b3IvcmV2aXNvciAoRXZlbnRvcywgTWluaGFzXG4vLyBzdWJtaXNzw7VlcywgTWluaGFzIHJldmlzw7VlcywgZXRjLikgcGFyYSBhw6fDtWVzIGNvbW8gRklMVFJBUiwgQkFJWEFSLFxuLy8gY29uZmlndXJhciB2aXN1YWxpemHDp8OjbywgZXRjLlxuLy9cbi8vIE8gY29udGXDumRvIGRvIG1lbnUvYcOnw6NvIHF1ZSBvIGJvdMOjbyBkaXNwYXJhIMOpIHJlc3BvbnNhYmlsaWRhZGUgZG9cbi8vIGNvbXBvbmVudGUgcGFpIChoYW5kbGVycyBgKGNsaWNrKWAsIFttYXRNZW51VHJpZ2dlckZvcl0sIGV0Yy4pOyBlc3RlXG4vLyBhcnF1aXZvIGN1aWRhIEFQRU5BUyBkbyB2aXN1YWwg4oCUIGdlb21ldHJpYSwgYm9yZGEsIGhvdmVyLCBiYWRnZXMsXG4vLyBlc3RhZG8gXCJtZW51IGFiZXJ0b1wiIGUgZGFyay1tb2RlLlxuLy9cbi8vIFZhcmlhbnRlcyAobW9kaWZpY2Fkb3JhcyBvcGNpb25haXMpOlxuLy8gICAtIGAuY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLS1maWx0ZXJgICDihpIgc2Vtw6JudGljYSBkZSBmaWx0cm8uXG4vLyAgIC0gYC5jaGFpci1oZWFkZXItaWNvbi1idXR0b24tLWFjdGlvbnNgIOKGkiBzZW3Dom50aWNhIGRlIG1lbnUgZGUgYcOnw7VlcyAoZG93bmxvYWQgKyBhw6fDtWVzKS5cbi8vICAgLSBgLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi5oYXMtYWN0aXZlYCAg4oaSIGVzdGFkbyBcImF0aXZvXCJcbi8vICAgICAoZXguOiB0ZW0gZmlsdHJvcyBhdGl2b3MpLCBwcmVlbmNoZSBvIMOtY29uZSAoRklMTCAxKSBjb21cbi8vICAgICB3Z2h0IDQwMCBlIG9wYWNpZGFkZSAxLlxuLy8gICAtIGAuY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLm1lbnUtb3BlbmAg4oaSIG1lbnUgYWJlcnRvIChzZWxlY2lvbmFkbyksXG4vLyAgICAgYm9yZGEgYWNjZW50IDJweCBzaW5hbGl6YW5kbyBhIHNlbGXDp8OjbyBhdGl2YS5cblxuJGNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi1zaXplOiAzNnB4O1xuXG4uY2hhaXItaGVhZGVyLWljb24tYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJGNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi1zaXplICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogJGNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi1zaXplICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJGNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi1zaXplICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kO1xuICAvLyBgLmFwcC1pY29uLWJ1dHRvbmAgZ2xvYmFsIChlbSBgX2J1dHRvbi5zY3NzYCkgZGVmaW5lXG4gIC8vIGBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudGAgbm8gbWVzbW8gbsOtdmVsIGRlIGVzcGVjaWZpY2lkYWRlIOKAlCBzZW1cbiAgLy8gYCFpbXBvcnRhbnRgIGFxdWkgYSBib3JkYSBzb21lIHF1YW5kbyBvIGJvdMOjbyB0YW1iw6ltIHRlbSBhcXVlbGEgY2xhc3NlLlxuICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmUgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDEwMG1zICRlYXNlLW91dDtcblxuICAvLyBIb3ZlciDigJQgYm9yZGEgXCJlbmdyb3NzYWRhXCIgdmlhIGJveC1zaGFkb3cgb3V0c2V0IDFweCBuYSBtZXNtYSBjb3JcbiAgLy8gZGEgYm9yZGEgKG5ldXRyYSkuIFplcm8gaW1wYWN0byBlbSBsYXlvdXQgKGJvcmRlciByZWFsIGNvbnRpbnVhIDFweCk7XG4gIC8vIGVmZWl0byB2aXN1YWwgw6kgdW1hIGJvcmRhIDLDlyBtYWlzIGdyb3NzYS5cbiAgLy9cbiAgLy8gYGJhY2tncm91bmQtY29sb3JgIHByZWNpc2Egc2VyIHByZXNlcnZhZG8gZXhwbGljaXRhbWVudGUgcG9ycXVlIG9cbiAgLy8gYF9jb2xvci1zY2hlbWUuc2Nzc2AgYXBsaWNhIHVtIGNpbnphIG5vIGhvdmVyL21lbnUtb3BlbiBkb1xuICAvLyBgLmFwcC1pY29uLWJ1dHRvbmAgZ2xvYmFsIChtYWlzIGVzcGVjw61maWNvIOKAlCBgLmxpZ2h0LXRoZW1lIC5hcHAtaWNvbi1idXR0b246aG92ZXJgKS5cbiAgLy8gQm90w6NvIGRlc2FiaWxpdGFkbyAoZXguOiBcIi4uLlwiIG5vIG1vZG8gZWRpw6fDo28gZGEgcMOhZ2luYSkgbsOjbyByZWFnZSBhbyBob3Zlcjogc2VtXG4gIC8vIGJvcmRhIGVuZ3Jvc3NhZGEgbmVtIGZ1bmRvLiBHdWFyZGEgcG9yIGAubWF0LWJ1dHRvbi1kaXNhYmxlZGAgKGNsYXNzZSBxdWUgbyBNYXRlcmlhbFxuICAvLyBzZW1wcmUgcMO1ZSBubyBtYXQtYnV0dG9uIGRlc2FiaWxpdGFkbykgRSBwb3IgYDpkaXNhYmxlZGAuIFBhcmVhZG8gY29tIG8gZ3VhcmQgZG9cbiAgLy8gZnVuZG8gY2luemEgZG8gYC5hcHAtaWNvbi1idXR0b246aG92ZXJgIGVtIGBfY29sb3Itc2NoZW1lLnNjc3NgLlxuICAmOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCk6bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgfVxuICAvLyBEZXNhYmlsaXRhZG86IGN1cnNvciBuZXV0cm8gKyBgcG9pbnRlci1ldmVudHM6IG5vbmVgLiBFc3RlIMO6bHRpbW8gbWF0YSBvIGA6aG92ZXJgXG4gIC8vIE5BIFJBSVogKG8gZWxlbWVudG8gbmVtIHJlY2ViZSBldmVudG9zIGRlIHBvbnRlaXJvKSwgZW50w6NvIG5lbmh1bWEgcmVncmEgZGUgaG92ZXJcbiAgLy8gZGlzcGFyYSDigJQgaW5kZXBlbmRlbnRlIGRlIHTDqi1sYXMgdG9kYXMgZ3VhcmRhZG8uIMOJIHRhbWLDqW0gdW0gZGlhZ27Ds3N0aWNvOiBzZSBhaW5kYVxuICAvLyBob3V2ZXIgaG92ZXIgY29tIGlzdG8sIG8gYm90w6NvIE7Dg08gZXN0w6EgZmljYW5kbyBkZXNhYmlsaXRhZG8gKGHDrSDDqSBmaWHDp8OjbywgbsOjbyBDU1MpLlxuICAmLm1hdC1idXR0b24tZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vIFNlbGVjaW9uYWRvIChtZW51IGFiZXJ0bykg4oCUIGJvcmRhIGFjY2VudCAobWVzbWEgZmFtw61saWEgZG8gYmFkZ2UpLFxuICAvLyBzaW5hbGl6YW5kbyBhIHNlbGXDp8OjbyBhdGl2YS4gQm9yZGEgcmVhbCArIGJveC1zaGFkb3cgbmEgY29yIGFjY2VudFxuICAvLyBwYXJhIHVtIGFuZWwgMnB4IGxpbXBvIGUgdW5pZm9ybWUuXG4gICYubWVudS1vcGVuIHtcbiAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIEVzdGFkbyBcImhhcy1hY3RpdmVcIiDigJQgdXNhZG8gZW0gZmlsdHJvcyBxdWUgVMOKTSBmaWx0cm9zIGF0aXZvc1xuICAvLyBtZXNtbyBjb20gbyBtZW51IGZlY2hhZG8uIFNvYnJlc2NyZXZlIG8gw61jb25lIHBhcmEgYGZpbGxlZGAuXG4gICYuaGFzLWFjdGl2ZSAubWF0LWljb24ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdvcHN6JyAyMCwgJ3dnaHQnIDQwMCwgJ0ZJTEwnIDE7XG4gIH1cblxuICAvLyBCYWRnZSBjb250YWRvciDigJQgbsO6bWVybyBvcGNpb25hbCBubyBjYW50byBzdXBlcmlvciBkaXJlaXRvXG4gIC8vIChleC46IG7CuiBkZSBmaWx0cm9zIGF0aXZvcykuIFNlbXByZSBhY2NlbnQgY29sb3IgcGFyYSBkZXN0YWNhci5cbiAgLy8gR2VvbWV0cmlhIHZpYSBtaXhpbiBjb21wYXJ0aWxoYWRvOyBwb3NpY2lvbmFtZW50byArIHNvbWJyYSBsb2NhaXMuXG4gIC5jaGFpci1oZWFkZXItaWNvbi1idXR0b24tYmFkZ2Uge1xuICAgIEBpbmNsdWRlIGplbXMzLWNvdW50LWJhZGdlKCRhY2NlbnQtYmFja2dyb3VuZCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTZweDtcbiAgICByaWdodDogLTZweDtcbiAgICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgfVxufVxuXG4vLyAtLS0tIERhcmstbW9kZSAtLS0tXG4vLyBTb2JlIG8gZMOtZ2l0byB+MXB4IGVtIHRvZG9zIG9zIGJhZGdlcyAoYmVsbCwgc2VnLCBjaGFpci1oZWFkZXIpIG5vXG4vLyBkYXJrLCB2aWEgYHBhZGRpbmctYm90dG9tYC4gUmVncmEgZ2xvYmFsIOKAlCB2aXZlIGFxdWkgKG7Do28gbm8gbWl4aW4pXG4vLyBwb3JxdWUgYC5kYXJrLXRoZW1lICZgIGRlbnRybyBkbyBtaXhpbiBzb2ZyZSBzY29waW5nIG5nY29udGVudCBkb1xuLy8gQW5ndWxhciBFbXVsYXRlZCBlIG7Do28gYmF0ZSBubyBib2R5LlxuLmRhcmstdGhlbWUgLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi1iYWRnZSxcbi5kYXJrLXRoZW1lIC5iZWxsLWJhZGdlLFxuLmRhcmstdGhlbWUgLnNlZy1iYWRnZSB7XG4gIC8vIFJlZHV6aXIgYGxpbmUtaGVpZ2h0YCAoZXJhIDE2cHggPSBoZWlnaHQpIGZheiBhIGxpbmUtYm94IGRvIHRleHRvXG4gIC8vIGVuY29saGVyIGUgZmljYXIgYW5jb3JhZGEgbm8gdG9wbyBkbyBjb250YWluZXIuIERpZ2l0IGRlc2NlIG1lbm9zXG4gIC8vID0gdmlzdWFsbWVudGUgc29iZSB+MnB4LiBgcGFkZGluZy1ib3R0b206IDJweGAgc296aW5obyBuw6NvIGZ1bmNpb25hXG4gIC8vIChib3JkZXItYm94ICsgbGluZS1oZWlnaHQ9aGVpZ2h0IGZhemVtIGEgbGluZS1ib3ggb3ZlcmZsb3cgb1xuICAvLyBjb250ZW50LWJveCwgZSBvIHRleHRvIGZpY2EgbmEgbWVzbWEgcG9zacOnw6NvKS4gYCFpbXBvcnRhbnRgXG4gIC8vIHBvcnF1ZSBhIHJlZ3JhIHNjb3BlZCBkbyBtaXhpbiAoYC51c2VyLW5vdGlmaWNhdGlvbnMgLmJlbGwtYmFkZ2VcbiAgLy8gW19uZ2NvbnRlbnQteHh4XWAgMCw0LDApIHNvYnJlcMO1ZSBlc3RhIGdsb2JhbCAwLDIsMC5cbiAgbGluZS1oZWlnaHQ6IDE0cHggIWltcG9ydGFudDtcbn1cblxuLy8gT3ZlcnJpZGUgZXNwZWPDrWZpY28gZG8gYC5jaGFpci1oZWFkZXItaWNvbi1idXR0b24tYmFkZ2VgIG5vIGRhcms6IGFxdWlcbi8vIG8gZMOtZ2l0byBERVNDRSAycHggKGVtIHZleiBkZSBzdWJpciBjb20gYSByZWdyYSBhY2ltYSkuIEFwbGljYWRvIG5vc1xuLy8gYmFkZ2VzIGRvcyBib3TDtWVzIGRlIGZpbHRybyBkZSBNaW5oYXMgU3VibWlzc8O1ZXMgZSBNaW5oYXMgUmV2aXPDtWVzLlxuLy8gUmVzdGF1cmEgbGluZS1oZWlnaHQgYW8gdmFsb3IgbmF0dXJhbCArIHBhZGRpbmctdG9wIHByYSBlbXB1cnJhclxuLy8gYSBsaW5lLWJveCAoZSBvIGTDrWdpdG8gZGVudHJvIGRlbGEpIDJweCBwcmEgYmFpeG8uXG4uZGFyay10aGVtZSAuY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLWJhZGdlIHtcbiAgbGluZS1oZWlnaHQ6IDE2cHggIWltcG9ydGFudDtcbiAgcGFkZGluZy10b3A6IDAuNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5kYXJrLXRoZW1lIC5jaGFpci1oZWFkZXItaWNvbi1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xuICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlICFpbXBvcnRhbnQ7XG4gIC8vIENvciBkbyDDrWNvbmUg4oCUIGFudGVzIGZpY2F2YSBpbmRlZmluaWRhIGUgY2HDrWEgcHJhIHByZXRvIChoZXJkYWRvXG4gIC8vIGRvIGJvZHkgbm8gZGFyayksIGludmlzw612ZWwgc29icmUgYmcgZXNjdXJvLiBObyBjaGFpciBmdW5jaW9uYXZhXG4gIC8vIHBvciByZWdyYXMgYW5jZXN0cmFpcyBhZG1pbjsgbm9zIHVzb3MgZG8gYXV0b3IvcmV2aXNvciAoZXguOiBwYWluZWxcbiAgLy8gZGUgbm90aWZpY2HDp8O1ZXMpIG7Do28gY2hlZ2F2YS4gU2V0YXIgYXF1aSBmZWNoYSBvIGdhcCBnbG9iYWxtZW50ZS5cbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4gIC5tYXQtaWNvbiB7IGNvbG9yOiBpbmhlcml0OyB9XG5cbiAgLy8gR3VhcmRhIGRlIGRpc2FibGVkIHRhbWLDqW0gbm8gZGFyayAocGFyIGRvIGd1YXJkIGxpZ2h0IGzDoSBlbSBjaW1hKS5cbiAgJjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gU2VsZWNpb25hZG8gKG1lbnUgYWJlcnRvKSDigJQgYm9yZGEgYWNjZW50IGRvIERBUksgKCNGQkJGMjQsIGFtYmVyLTQwMCkuIEFudGVzXG4gIC8vIHJldXNhdmEgJGFjY2VudC1iYWNrZ3JvdW5kICgjN0MyRDEyLCBicmljay1yZWQgZG8gbGlnaHQpLCBxdWUgZmljYXZhIFwibXVkZHlcIiBlXG4gIC8vIHNlbSBjb250cmFzdGUgc29icmUgYSBzdXBlcmbDrWNpZSBlc2N1cmEuICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrIMOpIG8gdG9rZW4gZGVcbiAgLy8gYWNjZW50IHByw7NwcmlvIGRvIGRhcmsgKG1lc21vIGRvIGJhZGdlIGFiYWl4bykg4oaSIGFuZWwgbGltcG8gZSBsZWfDrXZlbC5cbiAgJi5tZW51LW9wZW4ge1xuICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gQmFkZ2Ug4oCUIG1lc21hIGZhbcOtbGlhIGFjY2VudCBkbyBkYXJrIChhbWJlcikuIFRleHRvIGVzY3VybyBwLyBjb250cmFzdGUgc29icmUgb1xuICAvLyBhbWJlciBjbGFybyAobm8gbGlnaHQgw6kgYnJhbmNvIHNvYnJlIGJyaWNrLXJlZCkuIFPDsyBzb2JyZXNjcmV2ZSBjb3JlcztcbiAgLy8gZ2VvbWV0cmlhIHZlbSBkbyBtaXhpbi5cbiAgLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi1iYWRnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4gIH1cbn1cblxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNaXhpbiBgamVtczMtY291bnQtYmFkZ2VgIOKAlCBGT05URSDDmk5JQ0EgZGEgZ2VvbWV0cmlhIGRvcyBiYWRnZXNcbi8vIG51bcOpcmljb3MgZG8gYXBwIChjb250YWRvciBkZSBuw6NvLWxpZGFzLCBmaWx0cm9zIGF0aXZvcywgZXRjLikuXG4vL1xuLy8gVml2ZSBlbSBhcnF1aXZvIGRlZGljYWRvIChzZW0gZGVjbGFyYcOnw7VlcyBDU1MpIHBvcnF1ZSBAaW1wb3J0XG4vLyBTQVNTIGluY2x1aSBUVURPIGRvIGFycXVpdm8gaW1wb3J0YWRvLiBTZSBlc3RpdmVzc2UgZW1cbi8vIGBfaGVhZGVyLWljb24tYnV0dG9uLnNjc3NgIChjb21vIGVzdGF2YSBhbnRlcyksIHF1YWxxdWVyIGNvbXBvbmVudGVcbi8vIHF1ZSBpbXBvcnRhc3NlIHByYSB1c2FyIG8gbWl4aW4gYXJyYXN0YXJpYSBvIGAuY2hhaXItaGVhZGVyLWljb24tYnV0dG9uXG4vLyB7IGJhY2tncm91bmQ6IHdoaXRlIH1gIHBybyBzZXUgZXNjb3BvIOKAlCBjb2xpZGluZG8gY29tIGEgdmVyc8OjbyBnbG9iYWxcbi8vIHZpYSBDU1Mgc2NvcGVkIGRhIEFuZ3VsYXIgKGBfbmdjb250ZW50LSpgKSwgcXVlYnJhbmRvIG8gZGFyay1tb2RlLlxuLy9cbi8vIENvbnN1bWlkb3JlcyBhdHVhaXM6XG4vLyAgIOKAoiBgLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi1iYWRnZWAgKGhlYWRlci1pY29uLWJ1dHRvbiwgY29yIGFjY2VudClcbi8vICAg4oCiIGAuYmVsbC1iYWRnZWAgKHVzZXItbm90aWZpY2F0aW9ucywgY29yIHdhcm5pbmcpXG4vLyAgIOKAoiBgLnNlZy1iYWRnZWAgKG5vdGlmaWNhdGlvbnMtY2VudGVyLCBjb3Igd2FybmluZylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQG1peGluIGplbXMzLWNvdW50LWJhZGdlKCRiZy1jb2xvciwgJHRleHQtY29sb3I6ICNmZmZmZmYpIHtcbiAgLy8gR2VvbWV0cmlhICsgdGlwb2dyYWZpYSArIGNlbnRyYWxpemHDp8OjbyBhbGluaGFkYXMgYW9cbiAgLy8gYC5zaWRlYmFyLWl0ZW0tYmFkZ2VgIGRvIG1lbnUgbGF0ZXJhbCAoYXV0b3IvcmV2aXNvcik6XG4gIC8vICAgd2VpZ2h0IDYwMCwgcGFkZGluZyBgMCA1cHhgLCBjZW50cmFsaXphw6fDo28gdmlhXG4gIC8vICAgYGxpbmUtaGVpZ2h0OiAxNnB4ICsgdGV4dC1hbGlnbjogY2VudGVyYC4gQXNzaW0gb3MgNCBiYWRnZXMgZG9cbiAgLy8gICBhcHAgcmVuZGVyaXphbSBpZMOqbnRpY29zIGVtIGFsdHVyYSBlIGFsaW5oYW1lbnRvIGRvIGdseXBoLlxuICBtaW4td2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgcGFkZGluZzogMCA1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbG9yO1xuICBjb2xvcjogJHRleHQtY29sb3I7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAvLyBEYXJrLW1vZGU6IGNvcnJlw6fDo28gw7NwdGljYSB2aXZlIGVtIHJlZ3JhIEdMT0JBTCBmb3JhIGRvIG1peGluXG4gIC8vICh2aWRlIGBfaGVhZGVyLWljb24tYnV0dG9uLnNjc3NgKS4gTsOjbyBwb2RlIGZpY2FyIGFxdWkgcG9ycXVlXG4gIC8vIHF1YW5kbyBvIG1peGluIMOpIGluY2x1w61kbyBudW0gU0NTUyBkZSBjb21wb25lbnRlLCBvIEFuZ3VsYXJcbiAgLy8gRW11bGF0ZWQgYWRpY2lvbmEgYFtfbmdjb250ZW50LXh4eF1gIGEgVE9ET1Mgb3Mgc2VsZWN0b3JzLFxuICAvLyBpbmNsdXNpdmUgYC5kYXJrLXRoZW1lYCDigJQgZSBvIGJvZHkgKHF1ZSB0ZW0gYC5kYXJrLXRoZW1lYCkgbsOjb1xuICAvLyB0ZW0gZXNzZSBhdHJpYnV0bywgcXVlYnJhbmRvIG8gbWF0Y2guXG59XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4ubWF0LXRvb2x0aXAge1xuICAmLmNhcmRUb29sdGlwIHtcbiAgICBib3gtc2hhZG93OiAkdG9vbHRpcC1zaGFkb3c7XG5cbiAgICBiYWNrZ3JvdW5kOiAkdG9vbHRpcC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcblxuICAgIHBhZGRpbmc6IDEycHg7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIH1cbn1cblxuLy8gVG9vbHRpcCBjdXN0b20gZG9zIHBpbGxzIGRlIGNyaXTDqXJpbyBkbyBDQUJFw4dBTEhPIGRlIHNjb3JlIChMaXN0YSBkZSBTdWJtaXNzw7VlcykuIFZpdmUgbm8gPGJvZHk+XG4vLyAoZm9yYSBkbyBDREsgb3ZlcmxheSksIGVudMOjbyBlc3RpbGl6YWRvIGFxdWkgZW0gZXNjb3BvIGdsb2JhbCDigJQgSUdVQUwgYW8gYmFsw6NvIGRvIG1hdC10b29sdGlwOlxuLy8gY2luemEgbm8gY2xhcm8sIGNsYXJvIG5vIGVzY3Vyby4gQ29udGXDumRvID0gbGVnZW5kYSBNVUxUSS1MSU5IQSAodMOtdHVsbyArIFwidmFsb3I6IGRlc2NyacOnw6NvXCIgcG9yXG4vLyBsaW5oYSwgY29tIFxcbik6IGB3aGl0ZS1zcGFjZTogcHJlLWxpbmVgIHByZXNlcnZhIGFzIHF1ZWJyYXM7IGB0ZXh0LWFsaWduOiBsZWZ0YCBwb3JxdWUgw6kgbGVnZW5kYS5cbi5zZy1jcml0LXRvb2x0aXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDk3LCA5NywgOTcsIDAuOTIpO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogNnB4IDhweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1heC13aWR0aDogMzAwcHg7XG4gIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG59XG4uZGFyay10aGVtZSAuc2ctY3JpdC10b29sdGlwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTAwO1xuICBjb2xvcjogJGdyYXktOTAwO1xufVxuXG4vLyBEYXJrLW1vZGUgdG9vbHRpcHM6IGludmVydCBNYXRlcmlhbCdzIGRlZmF1bHQgZGFyayBiYWxsb29uIHRvIGEgbGlnaHRcbi8vIGJhbGxvb24gd2l0aCBkYXJrIHRleHQgc28gdG9vbHRpcHMgcmVtYWluIGxlZ2libGUgYWdhaW5zdCB0aGUgZGFyayBVSVxuLy8gY2hyb21lLiBMaXZlcyBhdCBib2R5IHNjb3BlIGJlY2F1c2UgbWF0LXRvb2x0aXAgaXMgcmVuZGVyZWQgaW4gdGhlIENES1xuLy8gb3ZlcmxheSBjb250YWluZXIgKHNpYmxpbmcgb2YgdGhlIGFwcCByb290LCBidXQgc3RpbGwgdW5kZXIgYm9keSB3aGVyZVxuLy8gLmRhcmstdGhlbWUgaXMgYXBwbGllZCkuXG4uZGFyay10aGVtZSAubWF0LXRvb2x0aXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xMDAgIWltcG9ydGFudDtcbiAgY29sb3I6ICRncmF5LTkwMCAhaW1wb3J0YW50O1xufVxuIiwiLm5vdGlmaWNhdGlvbi1tZW51IHtcbiAgYnV0dG9uLm1hdC1tZW51LWl0ZW0ge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB0ZXh0LW92ZXJmbG93OiBpbml0aWFsO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICBwYWRkaW5nOiAxcmVtIDJyZW07XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbWFpbi10aGVtZS1jb2xvcjtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICB9XG5cbiAgICAudGltZSB7XG4gICAgICBtYXJnaW4tdG9wOiAuNWVtO1xuXG4gICAgICBtYXQtaWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG5cbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsImFwcC1zaWRlYmFyIHtcbiAgbWF0LXNpZGVuYXYge1xuICAgIC5tYXQtbGlzdCAubWF0LWxpc3QtaXRlbSAubWF0LWxpc3QtaXRlbS1jb250ZW50IHtcbiAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC4ycztcbiAgICB9XG5cbiAgICAubWF0LWxpc3QgYnV0dG9uLm1hdC1pY29uLWJ1dHRvbiB7XG4gICAgICB0cmFuc2l0aW9uOiBtYXJnaW4gMC4ycztcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWljb24tY29sb3I7XG4gICAgfVxuICB9XG5cbiAgJi5taW5pIHtcbiAgICBtYXQtc2lkZW5hdiB7XG4gICAgICAubWF0LWxpc3QgLm1hdC1saXN0LWl0ZW0gLm1hdC1saXN0LWl0ZW0tY29udGVudCB7XG4gICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC4zcztcbiAgICAgICAgcGFkZGluZzogMCA3cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zaWRlbmF2IC5tYXQtaWNvbiBzdmcge1xuICAgIHdpZHRoOiAxNnB4O1xuICB9XG59XG5cbmFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIHtcbiAgbWF0LXNpZGVuYXYge1xuICAgIC5tYXQtbGlzdCB7XG4gICAgICAubWF0LWxpc3QtaXRlbSAubWF0LWxpc3QtaXRlbS1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm1lbnUge1xuICAgICAgLm1hdC1kcmF3ZXItaW5uZXItY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBtYXQtbGlzdCB7XG4gICAgICAgICAgJi5ib3R0b20tYWxpZ25lZCB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGVuZDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAnY29sb3JzJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdtaXhpbnMnOyAgICAgICAgLy8gamVtcy1zZWxlY3RlZC1jaGVjayAoY2hlY2sgU0Ytc3R5bGUgY29tcGFydGlsaGFkbylcbkBpbXBvcnQgJ2RyYWctaGFuZGxlJztcblxuLy8gQ2hyb21lIEdMT0JBTCBkbyBtYXQtbWVudSAocGFpbmVsICsgaXRlbnMgKyBzd2l0Y2hlcnMgZG8gdXNlci1tZW51IGNoYWlyKS5cbi8vIFJlZ3JhcyBQTEFOQVMgKHNlbSBgOjpuZy1kZWVwYCkgcGVsbyBNRVNNTyBtb3Rpdm8gasOhIGRvY3VtZW50YWRvIG5vIGJsb2NvXG4vLyBgLnZpZXctcHJvZmlsZS1tZW51YCBubyBmaW0gZGVzdGUgYXJxdWl2bzogbnVtIHN0eWxlc2hlZXQgR0xPQkFMIG8gYDo6bmctZGVlcGBcbi8vIHZpcmEgcHNldWRvIGludsOhbGlkbyDihpIgbyBicm93c2VyIGRlc2NhcnRhIGEgcmVncmE7IGEgw7puaWNhIGPDs3BpYSBxdWUgZnVuY2lvbmF2YVxuLy8gZXJhIElOSkVUQURBIHBvciB1bSBjb21wb25lbnRlIEVtdWxhdGVkIHF1ZSBpbXBvcnRhIGVzdGUgYXJxdWl2byAoYXZhdGFyLXByb2ZpbGVcbi8vIGV0Yy4pLCBwcmVzZW50ZSBlbSBxdWFzZSB0b2RhIHRlbGEg4oCUIE1BUyBuw6NvIG5vIHNoZWxsIGA/dmlld01vZGU9ZnVsbGBcbi8vIChyZW5kZXJpemEgc8OzIGA8cm91dGVyLW91dGxldD5gKSwgb25kZSBvIHBhaW5lbCBkbyBtYXQtbWVudSBwZXJkaWEgbyBwYWRkaW5nXG4vLyBsYXRlcmFsICg0cHjihpIwKS4gUGxhbmFzLCB2YWxlbSBTRU1QUkUgdmlhIGBfY29yZS5zY3NzYCwgbm9zIGRvaXMgbW9kb3MuXG4vLyAoQSBpbmRlbnRhw6fDo28gYSBzZWd1aXIgw6kgdmVzdMOtZ2lvIGRvIGFudGlnbyB3cmFwcGVyIGA6Om5nLWRlZXBgLilcbiAgICAubWF0LW1lbnUtcGFuZWwge1xuICAgICAgICBwYWRkaW5nOiA1cHggMCAhaW1wb3J0YW50O1xuICAgICAgICAvLyBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gKFJlbW92ZWQpIEV4cGVyaW1lbnRhbCBzaWRlYmFyIGZseW91dCBtYXQtbWVudSBzdHlsZXMuXG4gICAgLy8gVGhlIGZseW91dCBpcyBub3cgYSBjdXN0b20gYDxhc2lkZSBjbGFzcz1cImV4cGVyaW1lbnRhbC1mbHlvdXRcIj5gXG4gICAgLy8gZWxlbWVudCByZW5kZXJlZCBhdCB0aGUgLnNpZGViYXIgcm9vdCBieSBgYXBwLWFkbWluLWV2ZW50LXNpZGViYXJgXG4gICAgLy8gKHNlZSBhZG1pbi1ldmVudC1zaWRlYmFyLmNvbXBvbmVudC5zY3NzIGZvciBpdHMgc3R5bGluZykuIFRoZSBvbGRcbiAgICAvLyBgLm1hdC1tZW51LXBhbmVsLmV4cGVyaW1lbnRhbC1mbHlvdXQtbWVudWAgcnVsZSB0cmVlIHRoYXQgdXNlZCB0b1xuICAgIC8vIGxpdmUgaGVyZSB3YXMgZGVsZXRlZCB0byBhdm9pZCBmcmFtZXdvcmsgZmlnaHRzIChtYXQtbWVudSdzXG4gICAgLy8gIWltcG9ydGFudCBzaXppbmcsIENESyBvdmVybGF5IGlubGluZSBwb3NpdGlvbmluZywgYXV0by1jbG9zZSBvblxuICAgIC8vIGl0ZW0gY2xpY2spLiBUaGUgbGlnaHQvZGFyayB0aGVtZSBydWxlcyBmb3IgYC5leHBlcmltZW50YWwtZmx5b3V0YFxuICAgIC8vIGxpdmUgaW4gYF9jb2xvci1zY2hlbWUuc2Nzc2AuXG5cbiAgICAubWF0LW1lbnUtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1hdC1tZW51LWl0ZW0ge1xuICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXMgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xuICAgICAgICAvLyAzMHB4IGNhc2EgYSBhbHR1cmEgZG9zIGl0ZW5zIGRvIHNpZGViYXIgZG8gY2hhaXJcbiAgICAgICAgLy8gKGAuZXhwZXJpbWVudGFsLXNpZGViYXItaXRlbWApIOKAlCBvIGNvbWVudMOhcmlvIGFiYWl4byBqw6EgZGVjbGFyYXZhIGFcbiAgICAgICAgLy8gaW50ZW7Dp8OjbyAoXCJzYW1lIGRlZmluaXRpb25zIGFzIHRoZSBzdWJtZW51IGl0ZW1zIGluIHRoZSBjaGFpciBzaWRlYmFyXCIpLFxuICAgICAgICAvLyBtYXMgbyB2YWxvciBlc3RhdmEgZW0gMzZweC4gQWxpbmhhZG8uXG4gICAgICAgIGhlaWdodDogMzBweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDJweCAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgMTJweCAhaW1wb3J0YW50O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLm1hdC1pY29uIHtcbiAgICAgICAgICAgIC8vIGBwYWRkaW5nLXRvcDogNHB4YCBmb2kgcmVtb3ZpZG86IGNvbSBgZGlzcGxheTpmbGV4OyBhbGlnbi1pdGVtczpjZW50ZXJgXG4gICAgICAgICAgICAvLyBubyBpdGVtLCBvIMOtY29uZSBKw4Egw6kgY2VudHJhZG8gdmVydGljYWxtZW50ZS4gTyBwYWRkaW5nIGVtcHVycmF2YSBvXG4gICAgICAgICAgICAvLyDDrWNvbmUgNHB4IHByYSBiYWl4bywgZGVzbG9jYW5kby1vIGVtIHJlbGHDp8OjbyBhbyByw7N0dWxvIOKAlCBkZXNhbGluaGFtZW50b1xuICAgICAgICAgICAgLy8gdmlzw612ZWwgcHJpbmNpcGFsbWVudGUgbm8gdXNlci1tZW51IChgLnRwYy11c2VyLW1lbnVgKSwgb25kZSBvcyBpdGVuc1xuICAgICAgICAgICAgLy8gY29udml2ZW0gY29tIHdpZGdldHMgcXVlIGrDoSBhbmNvcmFtIG8gw61jb25lIG5vIGNlbnRyby5cbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm1hdC1kaXZpZGVyIHtcbiAgICAgICAgbWFyZ2luOiAwIDBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIFRQQyBjaGFpciBhcmVhIHVzZXIgbWVudSDigJQgdGV4dCBpdGVtcyBmb2xsb3cgdGhlIHNhbWUgZGVmaW5pdGlvbnMgYXNcbiAgICAvLyB0aGUgc3VibWVudSBpdGVtcyBpbiB0aGUgY2hhaXIgc2lkZWJhci4gVGhlIHRoZW1lICsgbGFuZ3VhZ2Ugcm93cyBhcmVcbiAgICAvLyBpbnRlbnRpb25hbGx5IGxlZnQgdG8gdGhlIGdsb2JhbCBkZWZhdWx0cyAodGhleSdyZSBpY29uLW9ubHkgYW5kIG5lZWRcbiAgICAvLyB0aGVpciBvd24gdHJlYXRtZW50IGxhdGVyKS5cbiAgICAvLyBTZWxldG9yIGNvYnJlIEFNQk9TOiBgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnVgIChsZWdhZG8gbWF0LW1lbnUpXG4gICAgLy8gZSBgLnRwYy11c2VyLW1lbnVgIHN0YW5kYWxvbmUgKHBvcG92ZXItYmFzZWQsIEZhc2UgMeKAkzUpLlxuICAgIC8vIOKVkOKVkOKVkCBHZW9tZXRyaWEgZG9zIGl0ZW5zIGVtIGAudHBjLXVzZXItbWVudWAgLyBgLmNvbnRhaW5lci1vcHRpb25gIOKVkOKVkOKVkFxuICAgIC8vIEZPTlRFIMOaTklDQSBkZSBhbHR1cmEvcGFkZGluZy/DrWNvbmUgZG9zIG1lbnVzIEpFTVMzIG1vZGVybm9zICh1c2VyLW1lbnUsXG4gICAgLy8gXCIuLi5cIiBkb3MgYWN0aW9ucy1tZW51LWJ1dHRvbiwgYnJlYWRjcnVtYiwgc3VibWlzc2lvbi1saXN0LCB2aWV3LXByb2ZpbGUsXG4gICAgLy8gY29sb3ItcGlja2VyLCBsYW5kaW5nLCBldGMuKS4gQW50ZXMgZXNzYSBnZW9tZXRyaWEgdml2aWEgZW1cbiAgICAvLyBgX2NvbG9yLXNjaGVtZS5zY3NzYCAoZm9yYSBkbyBlc2NvcG8gZGVzc2UgYXJxdWl2bywgcXVlIGRldmlhIHNlciBzw7MgY29yKS5cbiAgICAvL1xuICAgIC8vIEJhc2UgPSAyNnB4IChkZW5zbywgY2FzYSBgLmplbXMzLXNlbGVjdC1wYW5lbGApLiBFeGNlw6fDo28gPSB1c2VyLW1lbnVcbiAgICAvLyA9IDI4cHggdmlhIGNsYXNzZSBkaXN0aW50aXZhIGAudXNlci1tZW51YCBubyB3cmFwcGVyIGRvIGF2YXRhci1wcm9maWxlLlxuICAgIC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtLFxuICAgIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLFxuICAgIC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMjZweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiAyNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGNvbnRyb2wtZm9udC1zaXplICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkbWVudS1pdGVtLXdlaWdodCAhaW1wb3J0YW50O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMCAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLy8gRXhjZcOnw6NvIHBybyB1c2VyLW1lbnUgKGF2YXRhci1wcm9maWxlKTogMjhweCDigJQgbWFpcyByZXNwaXJvIGVtIG1lbnVcbiAgICAvLyBsb25nbyBjaGVpbyBkZSBvcMOnw7Vlcy4gRXNwZWNpZmljaWRhZGUgKDAsMiwwKSBpZ3VhbCDDoCBiYXNlOyBhIGVzcGVjw61maWNhXG4gICAgLy8gdmVuY2UgcG9yIG9yZGVtIChkZWNsYXJhZGEgZGVwb2lzKS5cbiAgICAudHBjLXVzZXItbWVudS51c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0sXG4gICAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUudXNlci1tZW51IC5tYXQtbWVudS1pdGVtIHtcbiAgICAgICAgaGVpZ2h0OiAyOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI4cHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLy8gSWNvbiBnZW9tZXRyeSDigJQgY29tdW0gYSB0b2RvcyBvcyBtZW51cyBjb20gYC50cGMtdXNlci1tZW51YC9gLmNvbnRhaW5lci1vcHRpb25gLlxuICAgIC8vIFBlc28vRklMTCBhbmltYW0gbm8gaG92ZXIgKGVmZWl0byBkZSBcImFjZW5kZXJcIiBvIMOtY29uZSBkYSBvcMOnw6NvIHNvYiBvIGN1cnNvcikuXG4gICAgLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uLFxuICAgIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbixcbiAgICAudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbSAubWF0LWljb24ge1xuICAgICAgICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnb3BzeicgMjAsICd3Z2h0JyAzMDAsICdGSUxMJyAwO1xuICAgICAgICAvLyBTZW0gdHJhbnNpw6fDo286IG11ZGFuw6dhIGRlIHBlc28vZmlsbCBpbnN0YW50w6JuZWEgKGVzdGlsbyBtYWNPUykuXG4gICAgfVxuICAgIC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtOmhvdmVyIC5tYXQtaWNvbixcbiAgICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbTpob3ZlciAubWF0LWljb24sXG4gICAgLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW06aG92ZXIgLm1hdC1pY29uIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdvcHN6JyAyMCwgJ3dnaHQnIDQwMCwgJ0ZJTEwnIDA7XG4gICAgfVxuICAgIC8vIExlYWRpbmcgY29tIGZsYWcgZW1vamkgKGVtIHZleiBkZSBtYXQtaWNvbikg4oCUIGVzcGVsaGFyIGdlb21ldHJpYS5cbiAgICAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbSAuZmxhZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LWZhbWlseTogJ0FwcGxlIENvbG9yIEVtb2ppJywgJ1NlZ29lIFVJIEVtb2ppJywgJ05vdG8gQ29sb3IgRW1vamknLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUsXG4gICAgLnRwYy11c2VyLW1lbnUge1xuXG4gICAgICAgIC8vIFN1cHJpbWUgbyBlZmVpdG8gcmlwcGxlIGRvIE1hdGVyaWFsIGVtIFRPRE9TIG9zIG1hdC1tZW51LWl0ZW1zXG4gICAgICAgIC8vIGRvIHVzZXIgbWVudSDigJQgZmVlZGJhY2sgZGUgY2xpcXVlIGFxdWkgZmljYSBwb3IgY29udGEgZG9cbiAgICAgICAgLy8gaG92ZXIgYmcgKyBhw6fDo28gaW1lZGlhdGEgKHRyb2NhIGRlIHRlbWEvbGF5b3V0L2lkaW9tYSxcbiAgICAgICAgLy8gbmF2ZWdhw6fDo28pLiBPIHJpcHBsZSBuw6NvIGNvbWJpbmEgY29tIG8gcmVzdGFudGUgZG8gY2hhaXIgVUlcbiAgICAgICAgLy8gKGVzdGlsbyB0aXBvZ3LDoWZpY28vbWluaW1hbCDDoCBsYSBOb3Rpb24vTGluZWFyKS5cbiAgICAgICAgLm1hdC1tZW51LWl0ZW0gLm1hdC1yaXBwbGUsXG4gICAgICAgIC5tYXQtbWVudS1pdGVtIC5tYXQtYnV0dG9uLXJpcHBsZSxcbiAgICAgICAgLm1hdC1tZW51LWl0ZW0gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUb3AgOHB4IG1hdGNoZXMgdGhlIGxhdGVyYWwgaW5zZXQgKHBhbmVsIDRweCArIGl0ZW0gbWFyZ2luIDRweCA9XG4gICAgICAgIC8vIDhweCkuIEJvdHRvbSB1c2VzIDVweCB0byBjb21wZW5zYXRlIGZvciB0aGUgcGVyLWl0ZW0gMXB4IG1hcmdpbi1cbiAgICAgICAgLy8gYm90dG9tIChzbyB0aGUgdmlzaWJsZSBzcGFjZSBiZWxvdyB0aGUgbGFzdCByb3cg4omIIDZweCwganVzdCB1bmRlclxuICAgICAgICAvLyB0aGUgOHB4IHRvcCksIHNpbmNlIGl0ZW1zIGRvbid0IGNhcnJ5IGEgbWFyZ2luLXRvcC5cbiAgICAgICAgcGFkZGluZzogOHB4IDRweCA1cHggNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vIDZweCBwYW5lbCBjb3JuZXJzIChHaXRIdWItc3R5bGUpIOKAlCBtb2Rlcm4gUFdBIHJhZGl1cyB3aXRob3V0XG4gICAgICAgIC8vIG1ha2luZyB0aGUgY2hyb21lIGZlZWwgXCJzb2Z0XCI7IG1hdGNoZXMgdGhlIDZweC1yYWRpdXMgb2YgdGhlXG4gICAgICAgIC8vIGlubmVyIGl0ZW0gcGlsbHMgZm9yIGEgY29oZXJlbnQgY29ybmVyIGZhbWlseS4gU2hhZG93IGxpdmVzIGluXG4gICAgICAgIC8vIGBfY29sb3Itc2NoZW1lLnNjc3NgICh0aGVtZS1hd2FyZSkuXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLy8gU2VjdGlvbiBkaXZpZGVycyDigJQga2VlcCB0aGVtIHZpc3VhbGx5IGNsZWFyIG9mIHRoZSBpdGVtIGhvdmVyXG4gICAgICAgIC8vIHBpbGxzIGFib3ZlL2JlbG93IHNvIHRoZSBncm91cHMgcmVhZCBhcyBkaXNjcmV0ZSBibG9ja3MuIExhdGVyYWxcbiAgICAgICAgLy8gbWFyZ2lucyBhcmUgTkVHQVRJVkUgNHB4IHNvIHRoZSBsaW5lIGVzY2FwZXMgdGhlIHBhbmVsJ3MgNHB4XG4gICAgICAgIC8vIGxlZnQvcmlnaHQgcGFkZGluZyBhbmQgcnVucyBlZGdlLXRvLWVkZ2UgYWNyb3NzIHRoZSBmdWxsIHBhbmVsXG4gICAgICAgIC8vIHdpZHRoIChpbnN0ZWFkIG9mIHNpdHRpbmcgaW5kZW50ZWQgbGlrZSB0aGUgaXRlbSBwaWxscyBhYm92ZS9iZWxvdykuXG4gICAgICAgIC5tYXQtZGl2aWRlciB7XG4gICAgICAgICAgICBtYXJnaW46IDZweCAtNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZWdyYXMgZGUgZ2VvbWV0cmlhIGRlIGAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbWAgYWdvcmFcbiAgICAgICAgLy8gdml2ZW0gbm8gZXNjb3BvIGA6Om5nLWRlZXBgIGRpcmV0byAoYWNpbWEpLCBwcmEgbsOjbyBkZXBlbmRlcmVtXG4gICAgICAgIC8vIGRhIGNsYXNzZSBgdHBjLXVzZXItbWVudWAgcHJvcGFnYXIgYXTDqSBvIHBhaW5lbC5cblxuICAgICAgICAvLyBDb21wYWN0IGxhbmd1YWdlIHN3aXRjaGVyIChmbGFnLW9ubHkgYnV0dG9ucykuIE5vIHJpZ2h0IG1hcmdpbiDigJRcbiAgICAgICAgLy8gZWFjaCBmbGFnIGlzIGNlbnRyZWQgaW5zaWRlIGl0cyA0NMOXMzIgY2VsbCwgbm8gbGFiZWwgZm9sbG93aW5nLlxuICAgICAgICAuY29udGFpbmVyLWxhbmd1YWdlLWNvbXBhY3QgLm1hdC1tZW51LWl0ZW0gLmZsYWcge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aWR0aDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnQXBwbGUgQ29sb3IgRW1vamknLCAnU2Vnb2UgVUkgRW1vamknLCAnTm90byBDb2xvciBFbW9qaScsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gVGhlbWUgc3dpdGNoZXIgcm93IOKAlCBjZW50ZXIgdGhlIHRocmVlIG9wdGlvbnMgYXMgYSB0aWdodCBjbHVzdGVyXG4gICAgICAgIC8vIChvdmVycmlkZSB0aGUgY29tcG9uZW50J3MgYGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbmAgKyBwZXItXG4gICAgICAgIC8vIGJ1dHRvbiBsYXRlcmFsIG1hcmdpbnMpIGFuZCBzdHJpcCB0aGUgZ2xvYmFsIG1hdC1tZW51LWl0ZW0gdmVydGljYWxcbiAgICAgICAgLy8gbWFyZ2luIHNvIHRoZSByb3cgaHVncyB0aGUgZGl2aWRlcnMgd2l0aG91dCBleHRyYSBwYWRkaW5nLlxuICAgICAgICAuY29udGFpbmVyLXRoZW1lLFxuICAgICAgICAuY29udGFpbmVyLWxheW91dCxcbiAgICAgICAgLmNvbnRhaW5lci1sYW5ndWFnZS1jb21wYWN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBnYXA6IDRweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC8vIEFjdGl2ZSBvcHRpb24g4oCUIGN1cnNvciBkZWZhdWx0IHPDsyBwcmEgY29tdW5pY2FyIHZpc3VhbG1lbnRlXG4gICAgICAgIC8vIHF1ZSBvIGNlbGwgbsOjbyDDqSBpbnRlcmF0aXZvIChhIGzDs2dpY2EgZGUgbm8tb3AgZXN0w6Egbm9cbiAgICAgICAgLy8gdGVtcGxhdGUgdmlhIGBzdG9wUHJvcGFnYXRpb25gICsgYGRpc2FibGVSaXBwbGVgKS5cbiAgICAgICAgLmNvbnRhaW5lci10aGVtZSAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uLFxuICAgICAgICAuY29udGFpbmVyLWxheW91dCAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uLFxuICAgICAgICAuY29udGFpbmVyLWxhbmd1YWdlLWNvbXBhY3QgLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbiB7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAvLyBgOm5vdCguLi4pYCBidW1wcyBzcGVjaWZpY2l0eSBwYXN0IHRoZSBhdmF0YXItcHJvZmlsZSBjb21wb25lbnQnc1xuICAgICAgICAvLyB2aWV3LWVuY2Fwc3VsYXRlZCBgOmZpcnN0LWNoaWxkYCAvIGA6bGFzdC1jaGlsZGAgbWFyZ2luIHJ1bGVzLlxuICAgICAgICAvLyBXaWRlciA0NMOXMzIgY2VsbHMgd2l0aCBhIDZweC1yYWRpdXMgcGlsbCDigJQgZXh0cmEgaG9yaXpvbnRhbCByb29tXG4gICAgICAgIC8vIGdpdmVzIHRoZSBhY3RpdmUgaGlnaGxpZ2h0IGEgbW9yZSBzdWJzdGFudGlhbCBjaGlwIHdpdGhvdXQgcHVzaGluZ1xuICAgICAgICAvLyB0aGUgYnV0dG9ucyBhcGFydCB2aXN1YWxseS5cbiAgICAgICAgLmNvbnRhaW5lci10aGVtZSAubWF0LW1lbnUtaXRlbTpub3QoLnRwYy1uby1zdWNoLWNsYXNzKSxcbiAgICAgICAgLmNvbnRhaW5lci1sYXlvdXQgLm1hdC1tZW51LWl0ZW06bm90KC50cGMtbm8tc3VjaC1jbGFzcyksXG4gICAgICAgIC5jb250YWluZXItbGFuZ3VhZ2UtY29tcGFjdCAubWF0LW1lbnUtaXRlbTpub3QoLnRwYy1uby1zdWNoLWNsYXNzKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiA0NHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDQ0cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWluLWhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMycHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoZW1lIHN3aXRjaGVyIGljb25zIChsaWdodC9kYXJrL3N5c3RlbSkuIE5vcm1hbGl6ZWQgdG8gdGhlXG4gICAgICAgIC8vIHN5c3RlbS13aWRlIGljb24tYXhpcyBsYWRkZXI6IGB3Z2h0IDMwMCAvIEZJTEwgMGAgYXQgcmVzdCDihpJcbiAgICAgICAgLy8gYHdnaHQgNDAwIC8gRklMTCAxYCB3aGVuIHRoZSBvcHRpb24gaXMgdGhlIGN1cnJlbnQgdGhlbWVcbiAgICAgICAgLy8gKGAuaGlnaGxpZ2h0LWJ1dHRvbmApLiBUaGUgRklMTCB0cmFuc2l0aW9uIGlzIHdoYXQgY2FycmllcyB0aGVcbiAgICAgICAgLy8gXCJzZWxlY3RlZFwiIGN1ZSBoZXJlIChyZXN0IG9mIHRoZSBjaGFpciBVSSBrZWVwcyBGSUxMIDAgYWx3YXlzLFxuICAgICAgICAvLyBidXQgc2VsZWN0aW9uIGluc2lkZSB0aGlzIHdpZGdldCBpcyBleGFjdGx5IHRoZSB1c2UtY2FzZSBmb3JcbiAgICAgICAgLy8gdGhlIGZpbGwgYXhpcyDigJQgc2FtZSBleGNlcHRpb24gd2UgbWFrZSBmb3IgdGhlIGZhdm9yaXRlIHN0YXIpLlxuICAgICAgICAuY29udGFpbmVyLXRoZW1lIC5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbiB7XG4gICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ29wc3onIDIwLCAnd2dodCcgMzAwLCAnRklMTCcgMDtcbiAgICAgICAgICAgIC8vIFNlbSB0cmFuc2nDp8OjbzogbXVkYW7Dp2EgZGUgcGVzby9maWxsIGluc3RhbnTDom5lYSAoZXN0aWxvIG1hY09TKS5cbiAgICAgICAgfVxuICAgICAgICAuY29udGFpbmVyLXRoZW1lIC5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b24gLm1hdC1pY29uIHtcbiAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnb3BzeicgMjAsICd3Z2h0JyA0MDAsICdGSUxMJyAwO1xuICAgICAgICB9XG4gICAgICAgIC8vIFRoZSBhY3RpdmUgdGhlbWUgYnV0dG9uIGlzIGFsc28gYFtkaXNhYmxlZF1gOyBmb3JjZSBmdWxsIG9wYWNpdHlcbiAgICAgICAgLy8gc28gdGhlIGZpbGxlZCBpY29uIHJlYWRzIGFzIGEgc2VsZWN0ZWQgc3RhdGUsIG5vdCBhIGRpbW1lZCBjb250cm9sLlxuICAgICAgICAuY29udGFpbmVyLXRoZW1lIC5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b24sXG4gICAgICAgIC5jb250YWluZXItdGhlbWUgLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbiAubWF0LWljb24ge1xuICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuLy8gQmFycmEgZGUgcm9sYWdlbSBIT1JJWk9OVEFMIGZhbnRhc21hIGRvIG1vZGFsIGRlIGVkacOnw6NvIGRlIHRlbXBsYXRlLiBPIE1hdGVyaWFsIGTDoVxuLy8gYG92ZXJmbG93OiBhdXRvYCBUQU5UTyBubyBgLm1hdC1kaWFsb2ctY29udGFpbmVyYCBRVUFOVE8gbm8gYC5tYXQtZGlhbG9nLWNvbnRlbnRgLCBlXG4vLyBhcGxpY2EgYG1hcmdpbjogMCAtMjRweGAgbm8gY29udGVudCAoY29tIGJveC1zaXppbmcgYm9yZGVyLWJveCBnbG9iYWwsIG8gY29udGVudCBmaWNhXG4vLyA0OHB4IG1haXMgbGFyZ28gcXVlIGEgw6FyZWEgZG8gY29udGFpbmVyLCBlbmNvc3RhbmRvIG5vIHBhZGRpbmcpLiBPIGBvdmVyZmxvdy14OmhpZGRlbmBcbi8vIGRvIGNvbXBvbmVudGUgY29icmUgc8OzIG8gY29udGVudDsgbyBDT05UQUlORVIgY29udGludWF2YSBwb2RlbmRvIHJvbGFyIG5vIGVpeG8gWC4gQ29ydGFyXG4vLyBzw7MgbyBYIG5vIGNvbnRhaW5lciBlbGltaW5hIGEgZmFudGFzbWEgc2VtIGFmZXRhciBvIHNjcm9sbCB2ZXJ0aWNhbCBpbnRlcm5vIGRvIGNvbnRlw7pkby5cbi5lbWFpbC10ZW1wbGF0ZS1lZGl0LWRpYWxvZy1wYW5lbCAubWF0LWRpYWxvZy1jb250YWluZXIge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAvLyBTdXBlcmbDrWNpZSBUSU5HSURBIChjaW56YS1wZWRyYSkgbm8gbGlnaHQsIHAvIG9zIGNhbXBvcyBicmFuY29zIFwiZWxldmFyZW1cIlxuICAgIC8vIChtYWlzIGNvbnRyYXN0ZS9wcm9mdW5kaWRhZGUgcXVlIG8gbW9kYWwgdG9kbyBicmFuY28pLiBEYXJrIHNvYnJlc2NyZXZlIGFiYWl4by5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xMDA7XG59XG5cbi8vIFN1cGVyZsOtY2llIGRvIG1vZGFsIGRlIGVkacOnw6NvIGRlIHRlbXBsYXRlIG5vIERBUksg4oCUIGVzY2FsYSBRVUVOVEUgZG8gSkVNUzNcbi8vIChlbSB2ZXogZG8gY2luemEgZnJpbyBwYWRyw6NvIGRvIE1hdGVyaWFsKSwgZXNjb3BhZGEgYW8gcGFuZWxDbGFzcyBkbyBkacOhbG9nby5cbi8vIE7DrXZlbCBcInN1cGVyZsOtY2llXCIgKCMyNjI2MjYpOyBpbnB1dHMgZmljYW0gcmVjdWFkb3MgKCMyMDIwMjApIGUgY2hpcHMgZWxldmFkb3Ncbi8vICgjMzQzMzJmKSwgZGVmaW5pZG9zIG5vcyByZXNwZWN0aXZvcyBjb21wb25lbnRlcy4gQm9yZGEgZGVzY29sYSBkbyBmdW5kbyBlc2N1cm8uXG4uZGFyay10aGVtZSAuZW1haWwtdGVtcGxhdGUtZWRpdC1kaWFsb2ctcGFuZWwgLm1hdC1kaWFsb2ctY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWFkbWluLWJhY2tncm91bmQtZGFyaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1kYXJrO1xufVxuXG4vLyBQb3BvdmVyIGZsdXR1YW50ZSBkZSBidXNjYSBkZSBkZXN0aW5hdMOhcmlvIChhYmVydG8gcGVsbyBjaGlwIFwiK1wiKS4gQ29udGXDumRvXG4vLyB2aXZlIG5vIG92ZXJsYXkg4oaSIGVzdGlsb3MgZ2xvYmFpcy4gTyBhcHAtdXNlci1zZWFyY2ggZSBvIGJvdMOjbyBcIkFkaWNpb25hclwiXG4vLyBqw6Egc8OjbyB0ZW3DoXRpY29zOyBhcXVpIHPDsyBvIFwiY2FydMOjb1wiICsgcmV0ZW1hdGl6YXIgbyBjYW1wbyBkZSBidXNjYVxuLy8gKHByZXRvIHB1cm8gZG8gdXNlci1zZWFyY2gg4oaSIHJlY3VhZG8pLlxuLnJlY2lwaWVudC1zZWFyY2gtcG9wb3ZlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMC41cmVtO1xuICAgIG1pbi13aWR0aDogMzAwcHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4xNik7XG5cbiAgICAvLyBPIGBhcHAtdXNlci1zZWFyY2hgIHDDtWUgYC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcmAgZW1cbiAgICAvLyBgcG9zaXRpb246IGFic29sdXRlYCAoc2VtIHRvcC9sZWZ0KSBwcmEgYSDDoXJlYSBkZSBoaW50IG7Do28gZGVzYWxpbmhhclxuICAgIC8vIG9zIHZpemluaG9zIGVtIGBhbGlnbi1pdGVtczpjZW50ZXJgLiBEZW50cm8gZG8gcG9wb3ZlciBuw6NvIGjDoSB2aXppbmhvc1xuICAgIC8vIOKAlCBtYXMgbyB3cmFwcGVyIGFic29sdXRlIHBvdXNhIGVtIGNpbWEgZG8gaW5wdXQuIERldm9sdmVtb3MgYW8gZmx1eG8sXG4gICAgLy8gc2VtIHJlc2VydmFyIGVzcGHDp28gcXVhbmRvIG7Do28gaMOhIGhpbnQgKG1hdC1oaW50IGFwYXJlY2Ugc8OzIGVtIGVycm8pOlxuICAgIC8vICAg4oCiIHdyYXBwZXIgYHN0YXRpY2AgbWFzIGNvbGFwc2FkbyAobWluLWhlaWdodDowKSDihpIgc2VtIFwiYnVyYWNvXCIgYWJhaXhvXG4gICAgLy8gICDigKIgbyByZXNwaXJvIGRlIDRweCDDqSBkbyBwcsOzcHJpbyBgLm1hdC1oaW50YCwgcXVlIHPDsyBleGlzdGUgc2UgaG91dmVyXG4gICAgLy8gICAgIG1lbnNhZ2VtIOKAlCBhc3NpbSBvIHBvcG92ZXIgZmljYSBzaW3DqXRyaWNvIHF1YW5kbyBsaW1wby5cbiAgICBhcHAtdXNlci1zZWFyY2ggLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIGFwcC11c2VyLXNlYXJjaCAubWF0LWhpbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDRweDtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIH1cbn1cbi5saWdodC10aGVtZSAucmVjaXBpZW50LXNlYXJjaC1wb3BvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodDtcbn1cbi5kYXJrLXRoZW1lIC5yZWNpcGllbnQtc2VhcmNoLXBvcG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWRhcms7XG4gICAgLm1hdC1mb3JtLWZpZWxkLWZsZXggeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDsgfVxufVxuXG4vLyBTbGFzaCBtZW51IGRlIHZhcmnDoXZlaXMgKGVkaXRvciBkZSB0ZW1wbGF0ZSBkZSBlLW1haWwpIOKAlCBkcm9wZG93biBhbmNvcmFkb1xuLy8gYWJhaXhvIGRvIGNhbXBvIHZpYSBDREsgb3ZlcmxheTsgY29udGXDumRvIHZpdmUgbm8gb3ZlcmxheSAoZ2xvYmFsICsgdGhlbWUtYXdhcmUpLlxuLnZhcmlhYmxlLXNsYXNoLW1lbnUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWF4LWhlaWdodDogMjgwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nOiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXM7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMTYpO1xuXG4gICAgLy8gSXRlbSA9IFtjaGlwIGRhIHZhcmnDoXZlbF0gLSBleHBsaWNhw6fDo28sIG51bWEgbGluaGEgKGEgZXhwbGljYcOnw6NvIHF1ZWJyYVxuICAgIC8vIHNlIGZvciBsb25nYSkuIE8gY2hpcCDDqSBvIE1FU01PIGRvcyBlZGl0b3JlcyAoYC52dGUtY2hpcGApLlxuICAgIC52YXJpYWJsZS1zbGFzaC1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICBnYXA6IDZweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bzsgICAgICAgICAgICAgICAgIC8vIHZlbmNlIG8gZ2xvYmFsIGBidXR0b24geyBoZWlnaHQ6IDM2cHggfWBcbiAgICAgICAgcGFkZGluZzogNXB4IDhweDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgICAgIC8vIENoaXAgZGEgdmFyacOhdmVsIChzZW0gXCLDl1wiIGFxdWkg4oaSIHBhZGRpbmcgZXF1aWxpYnJhZG8pLlxuICAgICAgICAudnRlLWNoaXAge1xuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDhweDtcbiAgICAgICAgfVxuICAgICAgICAudmFyLWRlc2MgeyBmbGV4OiAxIDEgYXV0bzsgbWluLXdpZHRoOiAwOyBmb250LXNpemU6IDEycHg7IGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICB9XG59XG4ubGlnaHQtdGhlbWUgLnZhcmlhYmxlLXNsYXNoLW1lbnUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xuICAgIC52YXJpYWJsZS1zbGFzaC1pdGVtIHtcbiAgICAgICAgLnZhci1kZXNjIHsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICAgICAgICAmOmhvdmVyLCAmLmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQ7IH1cbiAgICB9XG59XG4uZGFyay10aGVtZSAudmFyaWFibGUtc2xhc2gtbWVudSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3ItZGFyaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1kYXJrO1xuICAgIC52YXJpYWJsZS1zbGFzaC1pdGVtIHtcbiAgICAgICAgLnZhci1kZXNjIHsgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAgICAgICAmOmhvdmVyLCAmLmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyazsgfVxuICAgIH1cbn1cblxuLy8gQ2hpcHMgZGUgdmFyacOhdmVsIGRvIGFwcC12YXJpYWJsZS10ZW1wbGF0ZS1lZGl0b3IuIEdMT0JBSVMgcG9ycXVlIG9zIGNoaXBzIHPDo29cbi8vIGNyaWFkb3MgdmlhIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgKHNlbSBvIGF0cmlidXRvIGRlIGVuY2Fwc3VsYcOnw6NvIGRvXG4vLyBjb21wb25lbnRlKSwgZW50w6NvIGVzdGlsb3MgY29tcG9uZW50LXNjb3BlZCBuw6NvIG9zIGFsY2Fuw6dhbS4gUMOtbHVsYVxuLy8gYG5vbWUgw5dgIGNvbSBib3TDo28gZGUgcmVtb8Onw6NvLlxuLnZ0ZS1jaGlwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNHB4O1xuICAgIHBhZGRpbmc6IDAgNHB4IDAgOHB4O1xuICAgIG1hcmdpbjogMCAxcHg7XG4gICAgLy8gRXNxdWVtYSBBWlVMIENMQVJPIChtYWlzIGNvbnRyYXN0ZSkuIFRleHRvL8OXID0gdG9rZW4gZGUgYXp1bCBkZSBwYXBlbFxuICAgIC8vICgkbmF2YmFyLW15LXN1Ym1pc3Npb25zLWljb24tY29sb3IgIzExNDVDMiBsaWdodCAvICM1QzhFRjAgZGFyayk7IGZ1bmRvIGVcbiAgICAvLyBib3JkYSBlbSBhenVsIGNsYXJvIChUYWlsd2luZCBibHVlLTUwLzIwMCkgbm8gbGlnaHQgZSB0aW50YSBhenVsIG5vIGRhcmsuXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2JmZGJmZTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZjZmZjtcbiAgICBjb2xvcjogJG5hdmJhci1teS1zdWJtaXNzaW9ucy1pY29uLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICAudnRlLWNoaXAtcmVtb3ZlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMDBtcyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDEwMG1zIGVhc2U7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNywgNjksIDE5NCwgMC4xNCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4udnRlLXJlYWRvbmx5IC52dGUtY2hpcC1yZW1vdmUgeyBkaXNwbGF5OiBub25lOyB9XG5cbi8vIERlc3RhcXVlIGRvIFBSRVZJRVc6IGZ1bmRvIGF6dWwgY2xhcm8gYXRyw6FzIGRlIGNhZGEgdmFyacOhdmVsIGrDoSBzdWJzdGl0dcOtZGFcbi8vIChnZXJhZG8gcG9yIEpTIG5vIGVkaXRvciDihpIgZ2xvYmFsKS4gU2VtIGJvcmRhOyBzw7MgcmVhbGNlIGRvIHRleHRvLlxuLnZ0ZS1wcmV2aWV3LXZhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZjBmZjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgcGFkZGluZzogMCAycHg7XG59XG4uZGFyay10aGVtZSAudnRlLXByZXZpZXctdmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDkyLCAxNDIsIDI0MCwgMC4zMCk7XG59XG5cbi5kYXJrLXRoZW1lIC52dGUtY2hpcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5MiwgMTQyLCAyNDAsIDAuMjIpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSg5MiwgMTQyLCAyNDAsIDAuNTUpO1xuICAgIGNvbG9yOiAkbmF2YmFyLW15LXN1Ym1pc3Npb25zLWljb24tY29sb3ItZGFyaztcbiAgICAudnRlLWNoaXAtcmVtb3ZlOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5MiwgMTQyLCAyNDAsIDAuMzApOyB9XG59XG5cbi5tZW51LW9wdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAuZGlzYWJsZWQtYnV0dG9uIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgbWF0LWljb24ge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgICB9XG4gICAgLm1hdC1tZW51LWl0ZW0ge1xuICAgICAgICBtYXJnaW46IDJweCA1cHggIWltcG9ydGFudDtcbiAgICB9XG59XG5cblxuLy8gTWVudSBkZSBWSVPDg08gZGUgcGVyZmlsIChwYXBlci1pbmZvKTogbyBpdGVtIFZJR0VOVEUgYXBhcmVjZSBcInNlbGVjaW9uYWRvXCIgZVxuLy8gZmljYSBOw4NPIGNsaWPDoXZlbCAoYFtkaXNhYmxlZF1gIG5vIHRlbXBsYXRlKS4gRGVzLWVzbWFlY2UgbyBkaW0gZG8gZGlzYWJsZWQgZVxuLy8gYXBsaWNhIG8gcmVhbGNlIGRvIGl0ZW0gYXR1YWwuXG4vLyBTRU0gYDo6bmctZGVlcGA6IG8gcGFpbmVsIGRvIG1hdC1tZW51IHZpdmUgbm8gT1ZFUkxBWSAobsOtdmVsIGJvZHkpLCBmb3JhIGRlXG4vLyBxdWFscXVlciBjb21wb25lbnRlLCBlbnTDo28gcHJlY2lzYSBkZSByZWdyYSBHTE9CQUwgcGxhbmEuIERlbnRybyBkZSA6Om5nLWRlZXAsXG4vLyBvIHN0eWxlcy5jc3MgZ2xvYmFsIGVtaXRpYSBgOjpuZy1kZWVwIC52aWV3LXByb2ZpbGUtbWVudeKApmAgKHBzZXVkbyBpbnbDoWxpZG8g4oaSXG4vLyByZWdyYSBkZXNjYXJ0YWRhIHBlbG8gYnJvd3NlcikgZSBvIHJlYWxjZSBzw7MgYXBhcmVjaWEgcXVhbmRvIGFsZ3VtIGNvbXBvbmVudGVcbi8vIHF1ZSBpbXBvcnRhIGVzdGUgYXJxdWl2byBlc3RhdmEgbmEgdGVsYSDigJQgbyBxdWUgTsODTyBvY29ycmUgbmEgcMOhZ2luYSBkbyBjaGFpci5cbi8vIE9ww6fDtWVzIFNFTSDDrWNvbmUgbMOtZGVyLiBSZXNlcnZhbSAyOHB4IMOgIGVzcXVlcmRhIHAvIG8gY2hlY2sgZG8gaXRlbSBhdHVhbFxuLy8gKG1lc21hIG3DqXRyaWNhIGRvIGBhcHAtamVtcy1zZWxlY3RgIC8gYC5qZW1zMy1zZWxlY3QtcGFuZWxgKSwgZW50w6NvIG8gcsOzdHVsb1xuLy8gTsODTyBkZXNsb2NhIHF1YW5kbyBvIGNoZWNrIGFwYXJlY2Uvc29tZS4gYHBvc2l0aW9uOiByZWxhdGl2ZWAgYW5jb3JhIG9cbi8vIGA6OmJlZm9yZWAuIFJlZ3JhcyBQTEFOQVMgKHNlbSBgOjpuZy1kZWVwYCk6IG8gcGFpbmVsIHZpdmUgbm8gb3ZlcmxheSAoYm9keSkgZVxuLy8gbyBibG9jbyBgOjpuZy1kZWVwYCBhY2ltYSDDqSBkcm9wYWRvIG5hIHDDoWdpbmEgZG8gY2hhaXIgKHBzZXVkbyBnbG9iYWwgaW52w6FsaWRvKS5cbi8vIFByZWZpeG8gYC5tYXQtbWVudS1wYW5lbGAg4oaSIHNwZWNpZmljaXR5ICgwLDQsMCkgcC8gVkVOQ0VSIGEgcmVncmEgYmFzZSBkb3Ncbi8vIGl0ZW5zIGVtIGBfY29sb3Itc2NoZW1lLnNjc3NgIChgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW1cbi8vIHsgcGFkZGluZzogMCA4cHggIWltcG9ydGFudCB9YCwgKDAsMywwKSkg4oCUIHNlbSBpc3RvLCBvIHBhZGRpbmctbGVmdCBkZSA4cHggZGFcbi8vIGJhc2UgZ2FuaGEgcG9yIG9yZGVtIGRlIHNvdXJjZSBlIG8gcsOzdHVsbyBjb2xhIG5vIGNoZWNrIChhY2F2YWxhbWVudG8pLlxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUudmlldy1wcm9maWxlLW1lbnUgLm1hdC1tZW51LWl0ZW0sXG4udHBjLXVzZXItbWVudS52aWV3LXByb2ZpbGUtbWVudSAubWF0LW1lbnUtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAyOHB4ICFpbXBvcnRhbnQ7XG59XG4vLyBJdGVtIEFUVUFMOiBtYXJjYWRvIFPDkyBwZWxvIENIRUNLIMOgIEVTUVVFUkRBIChmb250ZSDDum5pY2E6IGBqZW1zLXNlbGVjdGVkLWNoZWNrYCxcbi8vIG8gbWVzbW8gZG8gc2VsZWN0IGdsb2JhbCkuIEZvcmEgbyBjaGVjaywgY29tcG9ydGEtc2UgY29tbyBvcyBkZW1haXMgaXRlbnMg4oCUXG4vLyBpbnRlcmF0aXZvOiByZWFsw6dhIG5vIDpob3ZlciBlIG1vc3RyYSBhIG3Do296aW5oYSAoY2xpY2FyIG5lbGUgw6kgbm8tb3ApLiBOw4NPIGZvcsOnYVxuLy8gbWFpcyBjdXJzb3Ivb3BhY2l0eS9jb2xvcjogZXJhbSByZW1lbmRvcyBkbyBgW2Rpc2FibGVkXWAgKGrDoSByZW1vdmlkbyksIGUgb1xuLy8gYGNvbG9yICFpbXBvcnRhbnRgIGFpbmRhIGF0cmFwYWxoYXJpYSBvIHRleHRvIGJyYW5jbyBkbyBob3ZlciBubyBtYWNPUy5cbi50cGMtdXNlci1tZW51LnZpZXctcHJvZmlsZS1tZW51IC5tYXQtbWVudS1pdGVtLmlzLWN1cnJlbnQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgamVtcy1zZWxlY3RlZC1jaGVjaygkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcik7XG59XG4uZGFyay10aGVtZSAudHBjLXVzZXItbWVudS52aWV3LXByb2ZpbGUtbWVudSAubWF0LW1lbnUtaXRlbS5pcy1jdXJyZW50OjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7ICAgLy8gc8OzIGEgY29yIG11ZGEgbm8gZGFya1xufVxuXG4vLyDilZDilZDilZAgSG92ZXIgZXN0aWxvIG1hY09TIOKAlCBzw7MgYmcgZGUgcm93cyBlc3BlY8OtZmljb3Mg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4vLyBJdGVtIGhvdmVyIGdlcmFsIChiYWNrZ3JvdW5kIEFjY2VudENvbG9yICsgdGV4dG8vw61jb25lL2NoZWNrIGJyYW5jb3MpIGZvaVxuLy8gY29uc29saWRhZG8gbm8gYmxvY28gW01BQy1TVFlMRV0gYWJhaXhvLiBBcXVpIFPDkyBmaWNhbSBvcyBtZW51cyBlc3BlY2lhaXNcbi8vIHF1ZSBwcmVjaXNhbSBiZyBhY2NlbnQgU0VNIHRvY2FyIG5vIGNvbnRlw7pkbyAoY2hpcHMgY29tIGlkZW50aWRhZGUgdmlzdWFsXG4vLyBwcsOzcHJpYSk6IHN0YXR1cy1tZW51LXJvdyBlIGdyb3VwLW1lbnUtcm93IChMaXN0YSBkZSBTdWJtaXNzw7VlcykuXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIHtcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuc3RhdHVzLW1lbnUtcm93OmhvdmVyLFxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5zdGF0dXMtbWVudS1yb3cuYWN0aXZlLFxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdzpob3ZlcixcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuZ3JvdXAtbWVudS1yb3cuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgfVxuICAvLyBcIisgTm92byBHcnVwb1wiIOKAlCBuw6NvIMOpIGNoaXAsIHRlbSBgY29sb3JgIHBpbmFkbyBwZWxvIGAuZ3JvdXAtY2hpcC1tZW51LWJhc2ljYFxuICAvLyAoMCwxLDAgKyBuZ2NvbnRlbnQpOyBmb3LDp2EgYnJhbmNvIHByYSBjb250cmFzdGFyIGNvbSBvIGZ1bmRvIGF6dWwgZG8gcm93LlxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdzpob3ZlciAuZ3JvdXAtY2hpcC1tZW51LWFkZC1ncm91cCxcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuZ3JvdXAtbWVudS1yb3cuYWN0aXZlIC5ncm91cC1jaGlwLW1lbnUtYWRkLWdyb3VwLFxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdzpob3ZlciAuZ3JvdXAtY2hpcC1tZW51LWFkZC1ncm91cCAuaWNvbixcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuZ3JvdXAtbWVudS1yb3cuYWN0aXZlIC5ncm91cC1jaGlwLW1lbnUtYWRkLWdyb3VwIC5pY29uIHtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgfVxufVxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuZGFyay10aGVtZSB7XG4gIC5qZW1zLXBvcG92ZXItcGFuZWwgLnN0YXR1cy1tZW51LXJvdzpob3ZlcixcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuc3RhdHVzLW1lbnUtcm93LmFjdGl2ZSxcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuZ3JvdXAtbWVudS1yb3c6aG92ZXIsXG4gIC5qZW1zLXBvcG92ZXItcGFuZWwgLmdyb3VwLW1lbnUtcm93LmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgfVxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdzpob3ZlciAuZ3JvdXAtY2hpcC1tZW51LWFkZC1ncm91cCxcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuZ3JvdXAtbWVudS1yb3cuYWN0aXZlIC5ncm91cC1jaGlwLW1lbnUtYWRkLWdyb3VwLFxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdzpob3ZlciAuZ3JvdXAtY2hpcC1tZW51LWFkZC1ncm91cCAuaWNvbixcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuZ3JvdXAtbWVudS1yb3cuYWN0aXZlIC5ncm91cC1jaGlwLW1lbnUtYWRkLWdyb3VwIC5pY29uIHtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyDilZDilZDilZAgQW5pbWHDp8OjbyBkZSBhYmVydHVyYSBkbyBwb3BvdmVyIOKAlCBwb3IgT1Mg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4vLyBNYWM6IGluc3RhbnTDom5lbyAocGFkcsOjbyBkbyBOU01lbnUg4oCUIG5hZGEgYXF1aSkuXG4vLyBMaW51eC9HVEsvS0RFIChlIGRlZmF1bHQgYG90aGVyYCk6IGZhZGUgKyBzY2FsZSAoMC444oaSMS4wKSwgMTIwbXMgZWFzZS1vdXQuXG4vLyAgIEVzdGlsbyB0cmFkaWNpb25hbCBkbyBHTk9NRS9HVEs0LiBPcmlnZW0gZG8gc2NhbGUgcmVzcGVpdGEgYC5vcGVucy11cGAuXG4vLyBXaW5kb3dzOiBmYWRlICsgc2xpZGUgdmVydGljYWwgKH44cHgsIGRpcmXDp8OjbyBvcG9zdGEgw6Agw6JuY29yYSksIDE4MG1zXG4vLyAgIGVhc2Utb3V0LiBBbGluaGEgYW8gRmx1ZW50IERlc2lnbiByZWFsICgxMC8xMSkg4oCUIG1lbnVzIGRvIFdpbmRvd3MgbsOjb1xuLy8gICBmYXplbSBcInBlcnNpYW5hXCIsIGZhemVtIGVzc2UgZmFkZStzbGlkZSBzdXRpbC4gU2VtIGVmZWl0byBhY3J5bGljIG5vXG4vLyAgIGZ1bmRvIOKAlCBvIHBhaW5lbCBwZXJtYW5lY2UgY29tIG8gbWVzbW8gYmcgZG8gcmVzdG8gZGEgVUkuXG4vLyBSZWdyYSBlbSBTQ1NTIEdMT0JBTCAobsOjbyBwYXNzYSBwb3IgdmlldyBlbmNhcHN1bGF0aW9uKS5cbjpyb290Om5vdChbZGF0YS1vcz1cIm1hY1wiXSk6bm90KFtkYXRhLW9zPVwid2luZG93c1wiXSkgLmplbXMtcG9wb3Zlci1wYW5lbCB7XG4gIGFuaW1hdGlvbjogamVtcy1wb3BvdmVyLWluIDEyMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xufVxuQGtleWZyYW1lcyBqZW1zLXBvcG92ZXItaW4ge1xuICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOyB9XG4gIHRvICAgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG59XG5cbjpyb290W2RhdGEtb3M9XCJ3aW5kb3dzXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwge1xuICBhbmltYXRpb246IGplbXMtcG9wb3Zlci1pbi13aW4gMTgwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAsIDEpO1xufVxuOnJvb3RbZGF0YS1vcz1cIndpbmRvd3NcIl0gLmplbXMtcG9wb3Zlci1wYW5lbC5vcGVucy11cCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBqZW1zLXBvcG92ZXItaW4td2luLXVwO1xufVxuQGtleWZyYW1lcyBqZW1zLXBvcG92ZXItaW4td2luIHtcbiAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTsgfVxuICB0byAgIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG5Aa2V5ZnJhbWVzIGplbXMtcG9wb3Zlci1pbi13aW4tdXAge1xuICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cbiAgdG8gICB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxufVxuXG4vLyBBY2Vzc2liaWxpZGFkZSDigJQgcXVlbSBwcmVmZXJlIG1vdmltZW50byByZWR1emlkbywgc2VtIGFuaW1hw6fDo28gZW0gTkVOSFVNIFNPLlxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCB7IGFuaW1hdGlvbjogbm9uZTsgfVxufVxuXG5cbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuLy8gW01BQy1TVFlMRSDigJQgUkVNT1ZFUiBQUkEgUkVWRVJURVJdIEVzdGlsbyBtYWNPUy1saWtlIG5vcyBtZW51cy9kcm9wZG93bnMuXG4vLyBHYXRlIMO6bmljbzogYDpyb290W2RhdGEtb3M9XCJtYWNcIl1gIChjYXJpbWJhZG8gcG9yIGBiaW5kT3NDbGFzc1RvUm9vdCgpYCBlbVxuLy8gYGRldmljZS50c2AsIGNoYW1hZG8gbm8gYm9vdHN0cmFwIHBvciBgQmFzZUNvbXBvbmVudGApLiBUcm9jYXIgdmlhIERldlRvb2xzOlxuLy8gICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGF0YXNldC5vcyA9ICd3aW5kb3dzJyAgIChvdSAnbGludXgnLydtYWMnKVxuLy9cbi8vIEVzY29wbzogaXRlbnMgZGUgVE9EQVMgYXMgZmFtw61saWFzIGRlIGRyb3Bkb3duIEpFTVMzIChkw6liaXRvIGNvbmhlY2lkbyDigJRcbi8vIHZlciBtZW3Ds3JpYSBgcHJvamVjdF9kZXNpZ25fc3lzdGVtX21pZ3JhdGlvbl9kZWJ0YCk6XG4vLyAgIOKAoiBwb3BvdmVyIGl0ZW1zIChtYXQtbWVudS1pdGVtLCBbcm9sZT1tZW51aXRlbV0sIGplbXMtc2VsZWN0LW9wdGlvbilcbi8vICAg4oCiIG1hdC1zZWxlY3QgLyBtYXQtYXV0b2NvbXBsZXRlICgubWF0LW9wdGlvbilcbi8vXG4vLyBDb21wb3J0YW1lbnRvOlxuLy8gICDigKIgRm9udCBzbW9vdGhpbmcgc3VicGl4ZWwgKG1hdGNoaW5nIHN0ZW1zIG1haXMgZ3Jvc3NvcyBkbyBzaXN0ZW1hKVxuLy8gICDigKIgSG92ZXIvYWN0aXZlIGJnID0gYEFjY2VudENvbG9yYCAoQ1NTIENvbG9yIEw1LCByZXNvbHZlIHBybyBhY2NlbnQgT1MpXG4vLyAgIOKAoiBUZXh0by/DrWNvbmUvY2hlY2sgcGludGFtIGJyYW5jbyBwcmEgY29udHJhc3RlXG4vLyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcblxuLy8gRm9udCBzbW9vdGhpbmc6IG1hdGNoaW5nIG8gcmVuZGVyaW5nIG5hdGl2byBkb3MgbWVudXMgbWFjT1MgKHN1YnBpeGVsKS5cbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAubWF0LW1lbnUtaXRlbSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCBbcm9sZT1cIm1lbnVpdGVtXCJdLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5qZW1zLXNlbGVjdC1vcHRpb24sXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtc2VsZWN0LXBhbmVsIC5tYXQtb3B0aW9uLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCAubWF0LW9wdGlvbiB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogYXV0bztcbn1cblxuLy8gSG92ZXIvYWN0aXZlIGJnICsgdGV4dG8vw61jb25lIGJyYW5jb3MuIGA6cm9vdFtkYXRhLW9zPVwibWFjXCJdYCBjb21wb3VuZCBjb21cbi8vIGR1cGxpY2HDp8OjbyBkZSBzZWxldG9yZXMgYmFzZSAoYC5tYXQtb3B0aW9uLm1hdC1vcHRpb25gLCBgLmplbXMtc2VsZWN0LW9wdGlvblxuLy8gLmplbXMtc2VsZWN0LW9wdGlvbmApIHNvYmUgc3BlY2lmaWNpdHkgcHJhIGJhdGVyIGFzIHJlZ3JhcyBjaGFpci1zdHlsZVxuLy8gZXhpc3RlbnRlcyAoYF9jb2xvci1zY2hlbWUuc2Nzc2AgMCw1LDAgZSAwLDYsMCkgc2VtIGAhaW1wb3J0YW50YCBhY3VtdWxhclxuLy8gbWFpcyBmdW5kby4gQ29tYmluYSBsaWdodCtkYXJrIGF1dG9tYXRpY2FtZW50ZSAoQWNjZW50Q29sb3IvQWNjZW50Q29sb3JUZXh0XG4vLyBqw6Egc8OjbyB0aGVtZS1hd2FyZSBwZWxvIE9TKS5cbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAubWF0LW1lbnUtaXRlbS5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCBbcm9sZT1cIm1lbnVpdGVtXCJdOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAuamVtcy1zZWxlY3Qtb3B0aW9uLmplbXMtc2VsZWN0LW9wdGlvbjpob3Zlcixcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAuamVtcy1zZWxlY3Qtb3B0aW9uLmplbXMtc2VsZWN0LW9wdGlvbi5hY3RpdmUsXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtc2VsZWN0LXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1vcHRpb246aG92ZXI6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1zZWxlY3QtcGFuZWwgLm1hdC1vcHRpb24ubWF0LW9wdGlvbi5tYXQtYWN0aXZlOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCksXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1vcHRpb246aG92ZXI6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1hdXRvY29tcGxldGUtcGFuZWwgLm1hdC1vcHRpb24ubWF0LW9wdGlvbi5tYXQtYWN0aXZlOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBBY2NlbnRDb2xvciAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4vLyBDb3IgYnJhbmNhIGNvYnJlIFRFWFQtQ09OVEVOVCArIMOtY29uZXMgKyBzcGFuIGludGVybm8gYC5tYXQtb3B0aW9uLXRleHRgLlxuLy8gKG8gY2FzY2FkZSBkbyBjb2xvciBkbyBpdGVtIHBvZGUgc2VyIHBlcmRpZG8gZW0gc3BhbnMgY29tIGNvbG9yIHByw7NwcmlvO1xuLy8gYXF1aSBnYXJhbnRpbW9zIGV4cGzDrWNpdG8uKVxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5tYXQtbWVudS1pdGVtOmhvdmVyIC5tYXQtaWNvbixcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCBbcm9sZT1cIm1lbnVpdGVtXCJdOmhvdmVyIC5tYXQtaWNvbixcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAuamVtcy1zZWxlY3Qtb3B0aW9uOmhvdmVyIC5tYXQtaWNvbixcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAuamVtcy1zZWxlY3Qtb3B0aW9uLmFjdGl2ZSAubWF0LWljb24sXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgLmplbXMtc2VsZWN0LW9wdGlvbjpob3ZlciAubWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAuamVtcy1zZWxlY3Qtb3B0aW9uLmFjdGl2ZSAubWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1zZWxlY3QtcGFuZWw6bm90KC5zdGF0dXMtY2hpcC1zZWxlY3QtcGFuZWwpIC5tYXQtb3B0aW9uOmhvdmVyIC5tYXQtaWNvbixcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1zZWxlY3QtcGFuZWw6bm90KC5zdGF0dXMtY2hpcC1zZWxlY3QtcGFuZWwpIC5tYXQtb3B0aW9uLm1hdC1hY3RpdmUgLm1hdC1pY29uLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCAubWF0LW9wdGlvbjpob3ZlciAubWF0LWljb24sXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1hY3RpdmUgLm1hdC1pY29uLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LXNlbGVjdC1wYW5lbDpub3QoLnN0YXR1cy1jaGlwLXNlbGVjdC1wYW5lbCkgLm1hdC1vcHRpb246aG92ZXIgLm1hdC1vcHRpb24tdGV4dCxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1zZWxlY3QtcGFuZWw6bm90KC5zdGF0dXMtY2hpcC1zZWxlY3QtcGFuZWwpIC5tYXQtb3B0aW9uLm1hdC1hY3RpdmUgLm1hdC1vcHRpb24tdGV4dCxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1hdXRvY29tcGxldGUtcGFuZWwgLm1hdC1vcHRpb246aG92ZXIgLm1hdC1vcHRpb24tdGV4dCxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1hdXRvY29tcGxldGUtcGFuZWwgLm1hdC1vcHRpb24ubWF0LWFjdGl2ZSAubWF0LW9wdGlvbi10ZXh0IHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLy8gQ2hlY2sgZGEgb3DDp8OjbyBzZWxlY2lvbmFkYSAoYDo6YmVmb3JlYCBkbyBtaXhpbiBgamVtcy1zZWxlY3RlZC1jaGVja2AsIENTU1xuLy8gbWFzaykuIFVzYSBgYmFja2dyb3VuZC1jb2xvcmAgY29tbyBmaWxsIChOw4NPIGBjb2xvcmApLiBDb2JyZTpcbi8vICAg4oCiIGFwcC1qZW1zLXNlbGVjdDogYC5qZW1zLXNlbGVjdC1vcHRpb24uc2VsZWN0ZWQ6OmJlZm9yZWBcbi8vICAg4oCiIG1hdC1zZWxlY3Q6IGAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6OmJlZm9yZWBcbi8vICAg4oCiIHZpZXctcHJvZmlsZS1tZW51IChhcHAtcG9wb3ZlciBjb20gaXMtY3VycmVudCk6IGAubWF0LW1lbnUtaXRlbS5pcy1jdXJyZW50OjpiZWZvcmVgXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgLmplbXMtc2VsZWN0LW9wdGlvbi5zZWxlY3RlZDpob3Zlcjo6YmVmb3JlLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5qZW1zLXNlbGVjdC1vcHRpb24uc2VsZWN0ZWQuYWN0aXZlOjpiZWZvcmUsXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgLmplbXMtc2VsZWN0LW9wdGlvbjpob3Zlcjo6YmVmb3JlLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5qZW1zLXNlbGVjdC1vcHRpb24uYWN0aXZlOjpiZWZvcmUsXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgLm1hdC1tZW51LWl0ZW0uaXMtY3VycmVudDpob3Zlcjo6YmVmb3JlLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LXNlbGVjdC1wYW5lbCAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6aG92ZXI6OmJlZm9yZSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1zZWxlY3QtcGFuZWwgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkLm1hdC1hY3RpdmU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cbiIsIkBpbXBvcnQgJ2NvbG9ycyc7XG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG5AbWl4aW4gc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wICgkY29tcG9uZW50LCAkc2VsZWN0b3IsICRwcm9wLCAkbGlnaHRWYWx1ZSwgJGRhcmtWYWx1ZSkge1xuICAgIC5saWdodC10aGVtZSB7XG4gICAgICAjeyRjb21wb25lbnR9ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICN7JHByb3B9OiAkbGlnaHRWYWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmRhcmstdGhlbWUge1xuICAgICAgI3skY29tcG9uZW50fSAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICN7JHByb3B9OiAkZGFya1ZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4vLyBDaGVjayBcInNlbGVjaW9uYWRvXCIgYW8gZXN0aWxvIFNGIFN5bWJvbHMgKG1hY09TKTogcXVhZHJhZG8gMTTDlzE0IGFuY29yYWRvIMOgXG4vLyBFU1FVRVJEQSBkYSBvcMOnw6NvIChhYnNvbHV0ZSArIHZlcnRpY2FsLWNlbnRlciksIGRlc2VuaGFkbyBwb3IgU1ZHLW1hc2sgZVxuLy8gcGludGFkbyB2aWEgYGJhY2tncm91bmQtY29sb3JgICh0aGVtZS1hd2FyZSBwZWxhIGNvciBwYXNzYWRhKS4gRm9udGUgw5pOSUNBIGRvXG4vLyBjaGVjayB1c2FkbyBubyBgYXBwLWplbXMtc2VsZWN0YCwgbm8gZmlsdHJvIGAuamVtczMtc2VsZWN0LXBhbmVsYCBlIG5vIG1lbnVcbi8vIHNlbGV0b3IgZGUgcGVyZmlsIChwYXBlci1pbmZvKS4gQSBvcMOnw6NvIHF1ZSByZWNlYmUgcHJlY2lzYSBkZVxuLy8gYHBvc2l0aW9uOiByZWxhdGl2ZWAgZSByZXNlcnZhciB+MjhweCBkZSBgcGFkZGluZy1sZWZ0YC4gTm8gZGFyaywgYmFzdGFcbi8vIHNvYnJlc2NyZXZlciBgYmFja2dyb3VuZC1jb2xvcmAgKGEgZ2VvbWV0cmlhL23DoXNjYXJhIG7Do28gbXVkYW0pLlxuQG1peGluIGplbXMtc2VsZWN0ZWQtY2hlY2soJGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJGluc2V0OiA4cHgpIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAkaW5zZXQ7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgLXdlYmtpdC1tYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEyIDEyJyBmaWxsPSdub25lJz48cGF0aCBkPSdNMi41IDYuNSBMNSA5IEw5LjUgMy41JyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8+PC9zdmc+XCIpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICBtYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEyIDEyJyBmaWxsPSdub25lJz48cGF0aCBkPSdNMi41IDYuNSBMNSA5IEw5LjUgMy41JyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8+PC9zdmc+XCIpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xufVxuIiwiYXBwLWN1c3RvbS1mb3JtIHtcbiAgYXBwLW11bHRpbGluZS10ZXh0LWlucHV0IHtcbiAgICBhcHAtY3VzdG9tLWZvcm0ge1xuICAgICAgbWF0LWZvcm0tZmllbGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuNWVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFwcC10YWJsZS1mb3JtLWZpZWxkcy1jb250YWluZXIge1xuICAgIGFwcC1jdXN0b20tZm9ybSB7XG4gICAgICBtYXQtZm9ybS1maWVsZCB7XG4gICAgICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyLFxuICAgICAgICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmV2ZW50LWFkbWluIHsgIFxuICBoMyAuc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICB9XG5cbiAgaDQgLnN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICB9XG5cbiAgaDUgLnN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMTVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgfVxuXG4gIGg2IC5zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgfVxufSIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbi5tYXQtc25hY2stYmFyLWNvbnRhaW5lciB7XG5cbiAgJi5lcnJvcixcbiAgJi5ub3RpZmljYXRpb24sXG4gICYud2FybmluZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI0cHggKyAkc2lkZW5hdi1hZG1pbi1taW5pLXdpZHRoO1xuICB9XG5cbiAgJi5lcnJvciB7XG4gICAgYmFja2dyb3VuZDogJGVycm9yLWludmFsaWQtY29sb3I7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktdGhlbWUtY29sb3ItbGlnaHRlcjtcbiAgfVxuXG4gICYubm90aWZpY2F0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAkbm90aWZpY2F0aW9uLWJhY2tncm91bmQtY29sb3I7XG4gICAgY29sb3I6ICRub3RpZmljYXRpb24tY29sb3I7XG4gIH1cblxuICAmLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmUyODk7XG4gICAgY29sb3I6ICMzMzMzMzM7XG4gIH1cbn0iLCIubWF0LWZhYiB7XG4gIC5tYXQtYnV0dG9uLXdyYXBwZXIge1xuICAgICAgLm1hdC1pY29uIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGluaXRpYWw7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuICB9XG59XG4iLCIucGFnaW5hdG9yLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTBweCAwO1xuXG4gIG1hdC1wYWdpbmF0b3Ige1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLmJvdHRvbSB7XG4gICAgICB0b3A6IHVuc2V0O1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5tYXQtcGFnaW5hdG9yLW91dGVyLWNvbnRhaW5lciB7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgYm94LXNoYWRvdzogMCAycHggMXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDFweCAxcHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCAzcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuXG4gICAgICAubWF0LXBhZ2luYXRvci1jb250YWluZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4uc2hvdy1hbGwtc3VibWlzc2lvbnMge1xuICAubWF0LWNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcblxuICAgIC5wYXBlci1pbmZvIHtcbiAgICAgIC5tYWluIHtcbiAgICAgICAgPiAuY29sdW1ucyB7XG4gICAgICAgICAgbWFyZ2luOiAtMC43NXJlbSAtMC43NXJlbSAwIC0wLjc1cmVtO1xuXG4gICAgICAgICAgLnRpdGxlLXJvdyB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wYWdlYnJlYWsge1xuICAgIGJyZWFrLWFmdGVyOiBhbHdheXM7XG4gIH1cbn1cblxuLnNob3ctYWxsLXN1Ym1pc3Npb25zLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktdGhlbWUtY29sb3I7XG4gIHBhZGRpbmc6IDFlbTtcbn1cbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdoZWFkZXInO1xuQGltcG9ydCAnY29sb3JzJztcblxubWF0LWNhcmQge1xuICAvLyBib3gtc2hhZG93OiAwIDZweCA1cHggLTFweCAkYmxhY2stYmFja2dyb3VuZC1hbHBoYTEsIDAgLTFweCAxMHB4IDAgJGJsYWNrLWJhY2tncm91bmQtYWxwaGExICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDg2cHgpIHtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDEycHggMTBweCAtMXB4ICRibGFjay1iYWNrZ3JvdW5kLWFscGhhMSwgMCAtMXB4IDIwcHggMCAkYmxhY2stYmFja2dyb3VuZC1hbHBoYTE7XG4gIH1cblxuICAubWF0LWNhcmQtaGVhZGVyLXRleHR7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgfVxuXG4gIC8vIFN0eWxlIGV2ZW50cyBjYXJkc1xuICAmLmV2ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJjpub3QoW2NsYXNzKj0nI3skbWF0LWVsZXZhdGlvbi1wcmVmaXh9J10pe1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAuaG9yaXpvbnRhbC1hbGlnbntcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgfVxuXG4gICAgICAuaW5mb3JtYXRpb24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLndhcm5pbmcge1xuICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgcGFkZGluZzogMXJlbSAwIDAuNXJlbSAycmVtO1xuICAgICAgfVxuICAgICAgLndhcm5pbmcgKyAuaW5mb3JtYXRpb24ge1xuICAgICAgICB3aWR0aDogNjAlOyAvKiBvdmVycmlkZSAqL1xuICAgICAgfVxuXG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR0YWJsZXQtYnJlYWt1cC13aWR0aCl7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgLmluZm9ybWF0aW9ue1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLndhcm5pbmd7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMnJlbSAwLjVyZW0gMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ob3Jpem9udGFsLWFsaWduIHtcbiAgICAgICAgICBmbG9hdDpub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bGluayB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgICAgY29sb3I6IGluaXRpYWw7XG4gICAgICB9XG5cbiAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgICAgY29sb3I6IGluaXRpYWw7XG4gICAgICB9XG5cbiAgICAgIC53YXJuaW5nLXB1YmxpYy1hdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0cmFjay1ub3Qtb3Blbi1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTByZW07XG4gICAgICAgIHBhZGRpbmc6IC41cmVtIDFyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGV4dGVuZCBoNTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBtYXQtY2FyZC10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgfVxuXG4gICAgbWF0LWNhcmQtc3VidGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICB9XG5cbiAgICAuZmxvYXQtcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgIC5sZWZ0LWJ1dHRvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgIH1cbiAgfVxuXG4gICYuc3ViY29uZmVyZW5jZXMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgYmFja2dyb3VuZDogJGV2ZW50LWNhcmQtYmFja2dyb3VuZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG5cbiAgJi5hZG1pbi1ldmVudCB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcblxuICAgIG1hdC1jYXJkLWhlYWRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LWNhcmQtaGVhZGVyLWNvbG9yO1xuICAgICAgY29sb3I6ICRzaWRlYmFyLWxhYmVsLWNvbG9yO1xuXG4gICAgICBAZXh0ZW5kIGgyO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuXG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogOHB4O1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDhweDtcblxuICAgICAgcGFkZGluZzogMC4yNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG5cbiAgICAgIC5tYXQtaWNvbi1idXR0b24ge1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxcHg7XG5cbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOmJsYWNrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG1hdC1zcGlubmVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBtYXQtY2FyZC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIG1hdC1leHBhbnNpb24tcGFuZWwge1xuICAgICAgICBtYXJnaW46IDAuNXJlbSAwO1xuXG4gICAgICAgIG1hdC1hY3Rpb24tcm93IHtcbiAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgbWF0LWNhcmQtYWN0aW9ucyB7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICB0YWJsZSB7XG5cbiAgICAgIC5tYXQtZm9vdGVyLWNlbGwge1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgfVxuXG4gICAgICAubWF0LWhlYWRlci1jZWxsIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGV2ZW50LWNhcmQtbGluZS1zZXBhcmF0b3I7XG4gICAgICB9XG5cbiAgICAgIC5tYXQtY2VsbCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRldmVudC1jYXJkLWxpbmUtc2VwYXJhdG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuYmFzZS1jYXJkIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcblxuICAgIG1hdC1jYXJkLWhlYWRlciB7XG4gICAgICBAZXh0ZW5kIGgyO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuXG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA4cHg7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogOHB4O1xuXG4gICAgICBwYWRkaW5nOiAwLjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcblxuICAgICAgLmNsb3NlZC1oZWFkZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA4cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA4cHg7XG4gICAgICB9XG5cbiAgICAgIC5tYXQtaWNvbi1idXR0b24ge1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgICAubWF0LWljb24ge1xuICAgICAgICAgIC8vIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjpibGFjaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBtYXQtc3Bpbm5lciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgbWF0LWNhcmQtY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBUaXRsZSB3aXRoIEgzIHByb3BlcnRpZXNcbi5jYXJkLXRpdGxlIHtcbiAgQGV4dGVuZCBoMztcbiAgY29sb3I6ICRzaWRlYmFyLWxhYmVsLWNvbG9yO1xufVxuXG4vLyBTdWJ0aXRsZSB3aXRoIEg0IHByb3BlcnRpZXNcbi5jYXJkLXN1YnRpdGxlIHtcbiAgQGV4dGVuZCBoNDtcbn1cblxuLy8gQ29udGVudCB3aXRoIEg1IHByb3BlcnRpZXNcbi5jYXJkLWNvbnRlbnQge1xuICBAZXh0ZW5kIGg1O1xufVxuXG5cbi5zZWN0aW9uIHtcbiAgcGFkZGluZy10b3A6IDBweCAhaW1wb3J0YW50O1xuXG4gIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBAZXh0ZW5kIGgzO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICB9XG5cbiAgLnNlY3Rpb24tY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjRyZW07XG4gIH1cbn1cbi8vIC5vcHRpb25zIHtcbi8vICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4vLyAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4vLyB9XG5cbi8vIC5tYXQtc2xpZGUtdG9nZ2xlIHtcbi8vICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuLy8gfVxuXG4vLyAuY29sdW1uIHtcbi8vICAgcGFkZGluZy1ib3R0b206IDA7XG4vLyB9XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4ubmd4LW1hdC10aW1lcGlja2VyLXNwYWNlciB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHBhZGRpbmctYm90dG9tOiAwLjc1ZW07XG59XG5cbi8vIFJlc3Bpcm8gZW50cmUgYSDDumx0aW1hIGxpbmhhIGRvcyBkaWFzIGRvIGNhbGVuZMOhcmlvIGUgYSDDoXJlYSBkZSBob3Jhcy5cbi8vIEEgbGliIGRlc2VuaGEgdW1hIGxpbmhhIGRpdmlzw7NyaWEgdmlhIGA6OmJlZm9yZWAgbm8gdG9wbyBkbyBjb250YWluZXIg4oCUXG4vLyBlc2NvbmRlbW9zLlxuLy8gTGF5b3V0OiB0aW1lcGlja2VyIENFTlRSQUxJWkFETyBob3Jpem9udGFsbWVudGU7IG8gYm90w6NvIGRvIGZ1c28gZmx1dHVhXG4vLyBjb21vIGBwb3NpdGlvbjogYWJzb2x1dGVgIMOgIGRpcmVpdGEg4oCUIGxhcmd1cmEgdmFyacOhdmVsIGRlbGUgbsOjbyBlbXB1cnJhXG4vLyBvIGhvcmEvbWludXRvL3NldGFzIChxdWUgZmljYW0gZml4b3MgaW5kZXBlbmRlbnRlIGRvIGZ1c28gZXNjb2xoaWRvKS5cbi5tYXQtZGF0ZXBpY2tlci1jb250ZW50IC50aW1lLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7ICAgLy8gdmVuY2UgbyBgcGFkZGluZy10b3A6IDVweGAgZGEgbGliXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEZhaXhhIMO6dGlsIG1haXMgZXN0cmVpdGEgcXVlIG8gcGFpbmVsIOKAlCBob3JhIGZpY2EgY2VudHJhZGEgbmVsYSBlIG9cbiAgLy8gZnVzbyBmaWNhIHByw7N4aW1vIMOgIGhvcmEgKG7Do28gY29sYWRvIG5hIGJvcmRhIGRpcmVpdGEgZG8gcGFpbmVsKS5cbiAgbWF4LXdpZHRoOiAyMjBweDtcblxuICAmOjpiZWZvcmUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAubmd4LW1hdC10aW1lcGlja2VyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTM1cHgpOyAgIC8vIGRlc2xvY2EgaG9yYS9taW51dG8vc2V0YXMgMzVweCBwcmEgZXNxdWVyZGFcbiAgfVxuXG4gIGFwcC10aW1lLXpvbmUtaW5wdXQsXG4gIC5jb250YWluZXItYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDE1cHg7ICAgICAgICAgICAgICAgICAgIC8vIDE1cHggcHJhIGVzcXVlcmRhIGVtIHJlbGHDp8OjbyDDoCBib3JkYSBkaXJlaXRhIGRhIGZhaXhhXG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5cbi8vIEVucXVhbnRvIG8gcGFpbmVsIGRvIGRhdGVwaWNrZXIgZXN0aXZlciBcImxpbXBvXCIgKHNlbSBpbnRlcmHDp8Ojby9tdWRhbsOnYSksXG4vLyBvcyBib3TDtWVzIMOXIChjYW5jZWxhcikgZSDinJMgKGNvbmZpcm1hcikgZmljYW0gZGVzYWJpbGl0YWRvcyDigJQgbsOjbyBow6EgbyBxdWVcbi8vIHByZXNlcnZhci9kZXNjYXJ0YXIuIEEgY2xhc3NlIGAuaXMtY2xlYW4tcGlja2VyYCDDqSBzZXRhZGEgbm8gYC5jZGstb3ZlcmxheS1wYW5lYFxuLy8gcGVsbyBgb25DYWxlbmRhck9wZW5lZGAgZG8gY29tcG9uZW50ZSBlIMOpIHJlbW92aWRhIG5vIHByaW1laXJvIGNsaWNrIGRlbnRybyBkb1xuLy8gcGFpbmVsLiBTZW0gZXNzYSBmbGFnIG9zIGJvdMO1ZXMgZ2FuaGFtIGNvbXBvcnRhbWVudG8gbm9ybWFsLlxuLmNkay1vdmVybGF5LXBhbmUuaXMtY2xlYW4tcGlja2VyIC5hY3Rpb25zIGJ1dHRvbiB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDAuNCAhaW1wb3J0YW50O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkICFpbXBvcnRhbnQ7XG59XG5cbi8vIENlbnRyYWxpemHDp8OjbyB2ZXJ0aWNhbCBkb3MgZ2xpZm9zIMOXIGUg4pyTIGRlbnRybyBkb3MgYm90w7VlcyBkYSDDoXJlYSBgLmFjdGlvbnNgXG4vLyBkbyBwYWluZWwgZG8gZGF0ZXBpY2tlci4gTWF0ZXJpYWwgZGVmYXVsdCBkZWl4YSBgLm1hdC1idXR0b24td3JhcHBlcmAgY29tb1xuLy8gaW5saW5lLWJsb2NrICsgYC5tYXQtaWNvbmAgY29tIGBsaW5lLWhlaWdodGAgZGEgZm9udGUgKGJhc2VsaW5lLWFsaWduZWQpLFxuLy8gcXVlIGRlc2NlbnRyYWxpemEgdnMgYSBhbHR1cmEgZG8gYm90w6NvICgzNnB4KS4gRm9yw6dhIGZsZXgtY2VudGVyIG5hIGNhZGVpYS5cbi5jZGstb3ZlcmxheS1wYW5lIC5hY3Rpb25zIGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcblxuICAubWF0LWJ1dHRvbi13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gIH1cbiAgbWF0LWljb24sXG4gIC5tYXQtaWNvbiB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gUmVzcGlybyBkZSAycHggZW50cmUgb3MgYm90w7VlcyDDlyBlIOKcky5cbi5jZGstb3ZlcmxheS1wYW5lIC5hY3Rpb25zIGJ1dHRvbiArIGJ1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiAycHggIWltcG9ydGFudDtcbn1cblxuLy8gQ2VudHJhbGl6YSBhIGR1cGxhIMOXIC8g4pyTIGhvcml6b250YWxtZW50ZSBubyBwYWluZWwgKGRlZmF1bHQgZGEgbGliIMOpIGZsZXgtZW5kKVxuLy8gKyBlc3Bhw6dvIGV4dHJhIGFjaW1hIHByYSBkYXIgcmVzcGlybyBlbnRyZSBvIHRpbWVwaWNrZXIgZSBvcyBib3TDtWVzIGRlIGHDp8Ojby5cbi5jZGstb3ZlcmxheS1wYW5lIC5hY3Rpb25zIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgcGFkZGluZy10b3A6IDE3cHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDE3cHggIWltcG9ydGFudDsgICAvLyBpZ3VhbCBhbyB0b3AgcHJhIHNpbWV0cmlhXG59XG5cbi8vIFNlbSB0cmFuc2nDp8OjbyBkZSBob3ZlciBub3MgYm90w7VlcyDDlyBlIOKckyDigJQgbXVkYW7Dp2EgZGUgZnVuZG8gaW5zdGFudMOibmVhLFxuLy8gbWFzIG8gZWZlaXRvIGRlIGhvdmVyIChiZykgZG8gTWF0ZXJpYWwgZmljYSBwcmVzZXJ2YWRvLlxuLmNkay1vdmVybGF5LXBhbmUgLmFjdGlvbnMgYnV0dG9uLFxuLmNkay1vdmVybGF5LXBhbmUgLmFjdGlvbnMgYnV0dG9uICoge1xuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vIEhvdmVyIGRvIMOXIChjYW5jZWxhcikg4oCUIGZhbcOtbGlhIFwiYm90w6NvL21lbnVcIiBkbyBjaGFpciBVSTpcbi8vIGAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kYCwgbWVzbW8gZG8gbWF0LW1lbnUtaXRlbSBlXG4vLyBicmVhZGNydW1iLiBWZW5jZSBvIGAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5YCBkbyBNYXRlcmlhbCAoZGVmYXVsdFxuLy8gY2luemEgdHJhbnNsw7pjaWRvKSBuZXV0cmFsaXphbmRvIG8gb3ZlcmxheS5cbi8vIGA6Zmlyc3QtY2hpbGRgID0gw5cgKHByZXBlbmQgZG8gYGFkZEJ1dHRvbkNsb3NlYCkuXG4uY2RrLW92ZXJsYXktcGFuZSAuYWN0aW9ucyBidXR0b246Zmlyc3QtY2hpbGQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSB7XG4gIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbn1cbi5jZGstb3ZlcmxheS1wYW5lIC5hY3Rpb25zIGJ1dHRvbjpmaXJzdC1jaGlsZDpob3Zlcjpub3QoW2Rpc2FibGVkXSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSAuY2RrLW92ZXJsYXktcGFuZSAuYWN0aW9ucyBidXR0b246Zmlyc3QtY2hpbGQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG5cbi8vIEJvdMOjbyDinJMgKGNvbmZpcm1hcikgRU5BQkxFRCDigJQgZmlsbCBhY2NlbnQgKyDDrWNvbmUgYnJhbmNvIChtZXNtYSBmYW3DrWxpYVxuLy8gZG9zIHByaW3DoXJpb3MgZG8gY2hhaXIgVUkpLiBPIMOXIChjYW5jZWxhcikgZmljYSBubyBmb3JtYXRvIFwic3Ryb2tlZFwiXG4vLyBuZXV0cm87IHPDsyBvIOKckyB2aXJhIFwicHJpbWFyeVwiLiBFc3RhZG8gZGlzYWJsZWQgKGZvcm0gbGltcG8g4oaSIGNsYXNzZVxuLy8gYC5pcy1jbGVhbi1waWNrZXJgIG5vIHBhbmUsIE9VIGBbZGlzYWJsZWRdYCBubyBib3TDo28gcXVhbmRvIG8gZm9ybSBlc3TDoVxuLy8gaW52w6FsaWRvKSBtYW50w6ltIG8gdmlzdWFsIG5ldXRyby9vcGFjbyBvcmlnaW5hbC5cbi8vIGA6bGFzdC1jaGlsZGAgPSDinJMgKG8gw5cgw6kgYHByZXBlbmRgYWRvIGFudGVzIHBlbG8gYGFkZEJ1dHRvbkNsb3NlYCkuXG4uY2RrLW92ZXJsYXktcGFuZTpub3QoLmlzLWNsZWFuLXBpY2tlcikgLmFjdGlvbnMgYnV0dG9uOmxhc3QtY2hpbGQ6bm90KFtkaXNhYmxlZF0pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIC5tYXQtaWNvbiB7IGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cbn1cbi5kYXJrLXRoZW1lIC5jZGstb3ZlcmxheS1wYW5lOm5vdCguaXMtY2xlYW4tcGlja2VyKSAuYWN0aW9ucyBidXR0b246bGFzdC1jaGlsZDpub3QoW2Rpc2FibGVkXSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG5cbi8vIENoYWlyIFVJIGFsaWdubWVudDogZGF0ZXBpY2tlci90aW1lcGlja2VyIHBvcHVwIHR5cG9ncmFwaHkuXG4vLyBQb3B1cCDDqSByZW5kZXJpemFkbyBlbSBgY2RrLW92ZXJsYXktY29udGFpbmVyYCBkaXJldG8gc29iIDxib2R5PiwgZm9yYVxuLy8gZG8gY29tcG9uZW50IGVuY2Fwc3VsYXRpb24g4oCUIHJ1bGVzIHByZWNpc2FtIHNlciBnbG9iYWlzLiBBbGluaGEgYXNcbi8vIGZvbnRlcyBkbyBwb3B1cCBjb20gbyByaXRtbyAxMy80MzAgZGEgcMOhZ2luYS5cbi8vIEJvcmRlci1yYWRpdXMgZG8gcG9wdXAgYWxpbmhhZG8gY29tIG8gcmVzdG8gZG8gY2hhaXIgVUkgKCRjaHJvbWUtcmFkaXVzKS5cbi8vIFBhZGRpbmcgcmVkdXppZG8gcHJhIGNvbXBhY3RhciAoTWF0ZXJpYWwgZGVmYXVsdCB0ZW0gfjhweCBubyAubWF0LWNhbGVuZGFyXG4vLyBxdWUgdml2ZSBkZW50cm8gZG8gLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQpLlxuLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQge1xuICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cyAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudDsgICAvLyBtZXNtYSBjb3IgZG9zIHBhaW7DqWlzIGRvIHNlbGVjdFxuICBtYXJnaW4tdG9wOiAycHggIWltcG9ydGFudDsgICAgICAvLyAycHggZGUgcmVzcGlybyBlbnRyZSBvIHBhaW5lbCBlIGEgY2FpeGFcbiAgbWFyZ2luLWJvdHRvbTogMnB4ICFpbXBvcnRhbnQ7ICAgLy8gaWRlbSBxdWFuZG8gYWJyZSBwcmEgY2ltYVxuICAvLyBMYXJndXJhIGRvIHBvcHVwIGNvbXBhY3RhZGEg4oCUIE1hdGVyaWFsIGRlZmF1bHQgfjI5NnB4LiBDb21vIGEgY2FsZW5kYXJcbiAgLy8gdGFibGUgZm9pIHJlZHV6aWRhIHByYSAyMDBweCwgbyBwb3B1cCB0ZW0gZXNwYcOnbyBsYXRlcmFsIHNvYnJhbmRvO1xuICAvLyAyNTZweCBkZWl4YSBmb2xnYSBjb25mb3J0w6F2ZWwgc2VtIGRlc3BlcmTDrWNpby5cbiAgd2lkdGg6IDI1NnB4ICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAvLyBTb21icmEgdW5pZmljYWRhIGNvbSBvcyBwYWluw6lpcyBkbyBzZWxlY3QgKGxpZ2h0KTogZmlsdGVyIGVtIHZleiBkb1xuICAvLyBib3gtc2hhZG93IGRlZmF1bHQgTWF0ZXJpYWwgKHF1ZSB1c2EgZWxldmF0aW9uIG11aXRvIHBlc2FkYSkuXG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWxpZ2h0O1xuXG4gIC5tYXQtY2FsZW5kYXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxufVxuXG4ubWF0LWNhbGVuZGFyIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG5cbiAgLy8gSGVhZGVyIChtw6pzL2FubyArIGFycm93cykgc29iZSDigJQgcmVkdXogcGFkZGluZy10b3AgZG8gaGVhZGVyIHByYVxuICAvLyBjb2xhciBjb20gYSBib3JkYSBzdXBlcmlvciBkbyBwb3B1cC5cbiAgLm1hdC1jYWxlbmRhci1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDEycHggMTJweCAwO1xuXG4gICAgLm1hdC1jYWxlbmRhci1jb250cm9scyB7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBCb3TDtWVzIOKAuSDigLogIChwcmV2aW91cy9uZXh0IG1vbnRoKS4gQ29udGludWFtIHNlbmRvIGA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbj5gLFxuICAgIC8vIG1hcyBlc2NvbmRlbW9zIG8gY2hyb21lIE1hdGVyaWFsIChyaXBwbGUvZm9jdXMtb3ZlcmxheS9nbGlmbyBkZWZhdWx0KSBlXG4gICAgLy8gaW5qZXRhbW9zIFNWRyBjaGV2cm9uIHZpYSBgOjphZnRlcmAuIFJlc3VsdGFkbzogcGFyZWNlIHVtIGJvdMOjbyBIVE1MIHB1cm9cbiAgICAvLyBjb20gbyBtZXNtbyBwZXNvIHZpc3VhbCBkb3MgZ2xpZm9zIHNlY3VuZMOhcmlvcyAoJGljb24tbXV0ZWQgLyBob3ZlcikuXG4gICAgLm1hdC1jYWxlbmRhci1wcmV2aW91cy1idXR0b24sXG4gICAgLm1hdC1jYWxlbmRhci1uZXh0LWJ1dHRvbiB7XG4gICAgICB3aWR0aDogMjRweCAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHggIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkaWNvbi1tdXRlZCAhaW1wb3J0YW50O1xuICAgICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICAvLyBPIE1hdGVyaWFsIGRlc2VuaGEgbyBjaGV2cm9uIHZpYSBgOjphZnRlcmAgbm8gUFLDk1BSSU8gYm90w6NvXG4gICAgICAvLyAodHJpw6JuZ3VsbyBDU1MgY29tIGJvcmRlciArIHRyYW5zZm9ybSkuIFplcmFtb3MgY29tcGxldGFtZW50ZVxuICAgICAgLy8gcHJhIGVsZSBuw6NvIGNvbXBldGlyIGNvbSBvIG5vc3NvIFNWRy1tYXNrIG5vIHdyYXBwZXIuXG4gICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5tYXQtYnV0dG9uLXdyYXBwZXIgc3ZnLFxuICAgICAgLm1hdC1idXR0b24td3JhcHBlciAubWF0LWljb24geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgICAgLy8gQ2hldnJvbiBTVkcgaW5saW5lIHZpYSBtYXNrIChtZXNtbyBwYWRyw6NvIGRvIGNoZXZyb24gZG8gc2VsZWN0KS5cbiAgICAgIC5tYXQtYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICAgIC5tYXQtYnV0dG9uLXdyYXBwZXI6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICB9XG4gICAgfVxuICAgIC5tYXQtY2FsZW5kYXItcHJldmlvdXMtYnV0dG9uIC5tYXQtYnV0dG9uLXdyYXBwZXI6OmFmdGVyIHtcbiAgICAgIC13ZWJraXQtbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMCAxMCcgZmlsbD0nbm9uZSc+PHBhdGggZD0nTTYuNSAyIEwzIDUgTDYuNSA4JyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8+PC9zdmc+XCIpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICAgICAgICAgICAgICBtYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEwIDEwJyBmaWxsPSdub25lJz48cGF0aCBkPSdNNi41IDIgTDMgNSBMNi41IDgnIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLz48L3N2Zz5cIikgbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW47XG4gICAgfVxuICAgIC5tYXQtY2FsZW5kYXItbmV4dC1idXR0b24gLm1hdC1idXR0b24td3JhcHBlcjo6YWZ0ZXIge1xuICAgICAgLXdlYmtpdC1tYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEwIDEwJyBmaWxsPSdub25lJz48cGF0aCBkPSdNMy41IDIgTDcgNSBMMy41IDgnIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLz48L3N2Zz5cIikgbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW47XG4gICAgICAgICAgICAgIG1hc2s6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTAgMTAnIGZpbGw9J25vbmUnPjxwYXRoIGQ9J00zLjUgMiBMNyA1IEwzLjUgOCcgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvPjwvc3ZnPlwiKSBuby1yZXBlYXQgY2VudGVyIC8gY29udGFpbjtcbiAgICB9XG5cbiAgICAvLyBDaHJvbWUgTWF0ZXJpYWwgZm9yYSDigJQgc2VtIHJpcHBsZS9mb2N1cy1vdmVybGF5IHF1ZSBkZWl4YXJpYW1cbiAgICAvLyBcImZsYXNoXCIgYW8gY2xpY2FyL2hvdmVyLlxuICAgIC5tYXQtY2FsZW5kYXItcHJldmlvdXMtYnV0dG9uIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksXG4gICAgLm1hdC1jYWxlbmRhci1wcmV2aW91cy1idXR0b24gLm1hdC1idXR0b24tcmlwcGxlLFxuICAgIC5tYXQtY2FsZW5kYXItcHJldmlvdXMtYnV0dG9uIC5tYXQtcmlwcGxlLFxuICAgIC5tYXQtY2FsZW5kYXItbmV4dC1idXR0b24gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSxcbiAgICAubWF0LWNhbGVuZGFyLW5leHQtYnV0dG9uIC5tYXQtYnV0dG9uLXJpcHBsZSxcbiAgICAubWF0LWNhbGVuZGFyLW5leHQtYnV0dG9uIC5tYXQtcmlwcGxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBIb3ZlcjogXCJhY2VuZGVcIiAobWVzbWEgbGluZ3VhZ2VtIGRvIGNoZXZyb24gZG8gc2VsZWN0IGUgZG8gY2FsZW5kw6FyaW8pLlxuICAgIC5tYXQtY2FsZW5kYXItcHJldmlvdXMtYnV0dG9uOmhvdmVyLFxuICAgIC5tYXQtY2FsZW5kYXItbmV4dC1idXR0b246aG92ZXIge1xuICAgICAgY29sb3I6ICRpY29uLW11dGVkLWhvdmVyICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1jb250YWluZXItYmcgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBUb2RvcyBvcyByw7N0dWxvcyBkbyBjYWxlbmTDoXJpbyDigJQgcGVyw61vZG8gKG3DqnMvYW5vKSwgYm9keS1sYWJlbCAoRkVWL0pBTuKApiksXG4gICAgLy8gaGVhZGVyIChkaWFzIGRhIHNlbWFuYSkuIFBvbMOtdGljYSBzeXN0ZW0td2lkZSBgbm8tY2Fwc2Ag4oCUIG92ZXJyaWRlXG4gICAgLy8gYW8gTWF0ZXJpYWwgZGVmYXVsdCBlIGFvIHByw7NwcmlvIGB0ZXh0LXRyYW5zZm9ybWAgaW5saW5lIHZpYSBsaWdhdHVyZS5cbiAgICAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b24sXG4gICAgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uICosXG4gICAgLm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsLFxuICAgIC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyIHRoIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOiAwIDhweDtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItY29udGVudCB7XG4gICAgcGFkZGluZzogOHB4ICFpbXBvcnRhbnQ7ICAgLy8gOHB4IGVtIHZvbHRhIOKAlCByZXNwaXJvIGRvIGhlYWRlciBubyB0b3BvICsgYmFzZSB1bmlmb3JtZSBwLyBvcyBzZWxldG9yZXMgZGUgYW5vL23DqnMuXG4gIH1cblxuICAvLyBMaW1pdGEgbGFyZ3VyYSBkYSB0YWJlbGEgcHJhIGVuY29saGVyIG8gZ2FwIGhvcml6b250YWwgZW50cmUgZGlhcy5cbiAgLy8gTWF0ZXJpYWwgZGVmYXVsdCBkZWl4YSBvIHRhYmxlIGVzdGljYXIgcHJhIDEwMCUgZG8gY29udGFpbmVyOyBjYWRhIHRkXG4gIC8vIHZpcmEgfjQwcHguIENvbSBtYXgtd2lkdGggMjQwcHggbyBjYWxlbmTDoXJpbyBmaWNhIHZpc3VhbG1lbnRlIGNvbXBhY3RvLlxuICAubWF0LWNhbGVuZGFyLXRhYmxlIHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgLy8gUmVzcGlybyBlbnRyZSBhIGxpbmhhIGRhcyBpbmljaWFpcyAoRCBTIFQuLi4pIGUgYSAxwqogbGluaGEgZG8gbcOqcyDigJRcbiAgLy8gOHB4IHZpYSBwYWRkaW5nLXRvcCBuYSBwcmltZWlyYSBsaW5oYSBkbyBib2R5IChhIGBoZWlnaHRgIG5vIGRpdmlkZXJcbiAgLy8gcG9kZSBuw6NvIGJhc3RhciBkZXBlbmRlbmRvIGRhIHRhYmVsYSkuXG4gIC5tYXQtY2FsZW5kYXItYm9keSB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gICAgcGFkZGluZy10b3A6IDhweCAhaW1wb3J0YW50O1xuICB9XG5cblxuICAvLyBUaXBvZ3JhZmlhIGRvIHLDs3R1bG8gXCJKdW4uIGRlIDIwMjZcIiDigJQgaWd1YWwgYW8gY29udGXDumRvIGRhcyBjYWl4YXNcbiAgLy8gZGUgdGV4dG8gZG8gSkVNUzMgKDEzcHggLyA0MDAgLyAtMC4wMWVtIC8gY29yIGRvIGJvZHkgZG8gY2hhaXIgVUkpLlxuICAvLyBIb3ZlcjogZmFtw61saWEgXCJib3TDo28vbWVudVwiIGRvIGNoYWlyIFVJXG4gIC8vIChgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZGAsIG1lc21vIGRvIG1hdC1tZW51LWl0ZW0gZVxuICAvLyBkbyDDlyBkbyBkYXRlcGlja2VyKS4gTmV1dHJhbGl6YSBvIGAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5YCBkbyBNYXRlcmlhbC5cbiAgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uIHtcbiAgICBmb250LXNpemU6ICRjb250cm9sLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGNvbnRyb2wtY29udGVudC13ZWlnaHQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuXG4gICAgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSB7IG9wYWNpdHk6IDAgIWltcG9ydGFudDsgfVxuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7IH1cbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyIHRoIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRpY29uLW11dGVkOyAgICAgICAgICAgICAgICAvLyBtdXRlZCwgbWFzIHZpc8OtdmVsIGVtIHF1YWxxdWVyIGJnXG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7ICAgICAgICAgICAgICAvLyBzZW0gYm9yZGEgYW8gcmVkb3IgZGFzIGluaWNpYWlzXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gTWF0ZXJpYWwgZGVzZW5oYSB1bSBkaXZpZGVyIChgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXItZGl2aWRlcmApXG4gIC8vIGxvZ28gYWJhaXhvIGRhcyBpbmljaWFpcy4gQSBMSU5IQSBlbSBzaSAoYDo6YWZ0ZXJgKSBmaWNhIGVzY29uZGlkYS5cbiAgLy8gRXNwYcOnbyBlbnRyZSBoZWFkZXIgZSAxwqogbGluaGEgZG9zIGRpYXMgdmVtIHZpYSBgaGVpZ2h0YCBleHBsw61jaXRvXG4gIC8vIG5vIGA8dGg+YCBkaXZpZGVyIOKAlCBpbXVuZSBhIGBwYWRkaW5nOiAwICFpbXBvcnRhbnRgIGUgYW9cbiAgLy8gYGJvcmRlci1jb2xsYXBzZWAgZGEgdGFiZWxhLlxuICAubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlci1kaXZpZGVyIHtcbiAgICBoZWlnaHQ6IDhweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gYC5tYXQtY2FsZW5kYXItYm9keS1sYWJlbGAgw6kgbyByw7N0dWxvIFwiRkVWLlwiIHF1ZSBNYXRlcmlhbCByZW5kZXJpemFcbiAgLy8gY29tbyBjw6lsdWxhIGludmlzw612ZWwgbm8gaW7DrWNpbyBkYSBwcmltZWlyYSBzZW1hbmEgcGFyY2lhbC4gQ29tbyBvXG4gIC8vIGhlYWRlciBqw6EgbW9zdHJhIFwiRkVWLiBERSAyMDIxXCIsIGEgbGFiZWwgZGVudHJvIGRvIGJvZHkgw6kgcmVkdW5kYW50ZS5cbiAgLy8gRXNjb25kZXIgY29tIGB2aXNpYmlsaXR5OiBoaWRkZW5gIHByZXNlcnZhIG8gbGF5b3V0IGRvIGNvbHNwYW4gKGFcbiAgLy8gcHJpbWVpcmEgc2VtYW5hIHBhcmNpYWwgZmljYSBhbGluaGFkYSBjb3JyZXRhbWVudGUpIG1hcyBvY3VsdGEgbyB0ZXh0by5cbiAgLy8gTWF0ZXJpYWwgcmVuZGVyaXphIGVzc2UgYDx0ZD5gIGNvbW8gdW0gbGFiZWwvcGxhY2Vob2xkZXIgY29sc3BhbiBub1xuICAvLyBpbsOtY2lvIGRhIHByaW1laXJhIHNlbWFuYSBwYXJjaWFsLiBDb21vIG8gaGVhZGVyIGrDoSBtb3N0cmEgXCJGRVYuIERFIDIwMjFcIixcbiAgLy8gbyByw7N0dWxvIGFxdWkgw6kgcmVkdW5kYW50ZS4gWmVyYXIgYWx0dXJhL2ZvbnQvcGFkZGluZyBjb2xhcHNhXG4gIC8vIHZpc3VhbG1lbnRlIHNlbSBxdWVicmFyIG8gYWxpbmhhbWVudG8gZGFzIGNvbHVuYXMgKG8gY29sc3BhbiBjb250aW51YVxuICAvLyByZXNlcnZhbmRvIGNvbHVuYXMsIHPDsyBuw6NvIHRlbSBhbHR1cmEpLlxuICAubWF0LWNhbGVuZGFyLWJvZHktbGFiZWwge1xuICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDAgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gTGluaGEgZGUgaW5pY2lhaXMgKEQgUyBUIFEuLi4pIHNlbSBwYWRkaW5nLWJvdHRvbSDigJQgTWF0ZXJpYWwgZGVmYXVsdFxuICAvLyBlbXB1cnJhIDhweCBhYmFpeG8gZGFzIGluaWNpYWlzIGFudGVzIGRhIGJvZHkgY29tZcOnYXIuXG4gIC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyIHRyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuXG4gIC8vIE1hdGVyaWFsIGNvbXB1dGEgYWx0dXJhIHBvciByb3cgKHRhYmxlIGxheW91dCksIG7Do28gcG9yIGNlbGwuIFByYVxuICAvLyBjb21wYWN0YXIgbyBnYXAgZW50cmUgcm93cyBkZSBkaWFzIHByZWNpc2EgYXRhY2FyIG8gPHRyPiBkaXJldG8uXG4gIC5tYXQtY2FsZW5kYXItYm9keSB0ciB7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwge1xuICAgIGhlaWdodDogMjZweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQge1xuICAgIGhlaWdodDogMjRweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHggIWltcG9ydGFudDtcbiAgICB0b3A6IDFweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MzA7XG4gIH1cblxuICAvLyBTZWxldG9yIGRlIEFOTyAodmlldyBcIm11bHRpLXllYXJcIikg4oCUIGEgY8OpbHVsYSBkZWZhdWx0ICgyNMOXMjQpIGZpY2FcbiAgLy8gcGVxdWVuYSBwcmEgYWJyaWdhciBcIjIwMjZcIi4gVmlyYSBQSUxMIGFsb25nYWRvIChsYXJndXJhIGNvbmZvcnTDoXZlbFxuICAvLyArIHJhZGl1cyBwaWxsKS4gSGVpZ2h0IG1hbnRpZGEuXG4gIG5neC1tYXQtbXVsdGkteWVhci12aWV3IHtcbiAgICAvLyBTZW0gbGluaGEgZGUgaW5pY2lhaXMgbmVzc2EgdmlldyDigJQgbyBgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXItZGl2aWRlcmBcbiAgICAvLyAoc3BhY2VyIGRlZmF1bHQgZG8gTWF0ZXJpYWwpIHZpcmEgdW1hIGZvbGdhIHN1cGVyaW9yIGluw7p0aWwuIFNvbWUuXG4gICAgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXItZGl2aWRlciB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudCB7XG4gICAgICB3aWR0aDogNDRweCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTJweCAhaW1wb3J0YW50OyAgIC8vIHBpbGwgKD0gaGVpZ2h0LzIpXG4gICAgfVxuICB9XG5cbiAgLy8gU2VsZXRvciBkZSBNw4pTICh2aWV3IFwieWVhclwiKSDigJQgbWVzbWEgaWRlaWE6IFwiamFuXCIsIFwiZmV2XCIuLi4gcHJlY2lzYW1cbiAgLy8gZGUgbWFpcyBsYXJndXJhIHF1ZSBhIGPDqWx1bGEgZGVmYXVsdC4gUGlsbCBpZMOqbnRpY28gYW8gZG8gYW5vLlxuICBuZ3gtbWF0LXllYXItdmlldyB7XG4gICAgLy8gSWRlbSDigJQgc2VtIGxpbmhhIGRlIGluaWNpYWlzLCBzcGFjZXIgbsOjbyBmYXogc2VudGlkby5cbiAgICAubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlci1kaXZpZGVyIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50IHtcbiAgICAgIHdpZHRoOiA0NHB4ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi5uZ3gtbWF0LXRpbWVwaWNrZXIge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxM3B4O1xuXG4gIGlucHV0LFxuICAubWF0LWlucHV0LWVsZW1lbnQge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNDMwO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gQXByb3hpbWEgYXMgMyBsaW5oYXMgKOKWsiAvIGhvcmE6bWludXRvIC8g4pa8KSDigJQgTWF0ZXJpYWwgZMOhIDQwcHggZGUgYWx0dXJhXG4gIC8vIG5vIGBtYXQtaWNvbi1idXR0b25gICsgZXNwYcOnbyBkZSB0ZDsgcmVkdXppbW9zIGEgYWx0dXJhIGRvcyBhcnJvd3NcbiAgLy8gZSBvIHBhZGRpbmcgZG9zIHRkcyBwcmEgY29tcGFjdGFyIG8gYmxvY28uXG4gIC5uZ3gtbWF0LXRpbWVwaWNrZXItdGFibGUgdGQge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xuICB9XG4gIC8vIEJvdMO1ZXMgZGUgc3BpbiAo4payIOKWvCkgU0VNIGNocm9tZSBNYXRlcmlhbCDigJQgcGFyZWNlbSBIVE1MIHB1cm8sXG4gIC8vIGlndWFsIGFvcyArL+KIkiBkbyBudW1iZXItaW5wdXQ6IHRyYW5zcGFyZW50ZSBlbSByZXBvdXNvLCBmaWxsIGRvIHRva2VuXG4gIC8vIG5vIGhvdmVyLCBnbGlmbyBcImFjZW5kZVwiIG5vIGhvdmVyLCBzZW0gcmlwcGxlL2ZvY3VzLW92ZXJsYXkuXG4gIC5uZ3gtbWF0LXRpbWVwaWNrZXItdGFibGUgYnV0dG9uLm1hdC1pY29uLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDI0cHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDI0cHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMjRweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICY6aG92ZXI6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWNvbnRhaW5lci1iZyAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICRpY29uLW11dGVkLWhvdmVyICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC5uZ3gtbWF0LXRpbWVwaWNrZXItdGFibGUgYnV0dG9uLm1hdC1pY29uLWJ1dHRvbiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LFxuICAubmd4LW1hdC10aW1lcGlja2VyLXRhYmxlIGJ1dHRvbi5tYXQtaWNvbi1idXR0b24gLm1hdC1idXR0b24tcmlwcGxlLFxuICAubmd4LW1hdC10aW1lcGlja2VyLXRhYmxlIGJ1dHRvbi5tYXQtaWNvbi1idXR0b24gLm1hdC1yaXBwbGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAubmd4LW1hdC10aW1lcGlja2VyLXRhYmxlIGJ1dHRvbi5tYXQtaWNvbi1idXR0b24gbWF0LWljb24sXG4gIC5uZ3gtbWF0LXRpbWVwaWNrZXItdGFibGUgYnV0dG9uLm1hdC1pY29uLWJ1dHRvbiAubWF0LWljb24ge1xuICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHggIWltcG9ydGFudDtcbiAgfVxuICAvLyBXcmFwcGVyIGludGVybm8gZG8gbWF0LWZvcm0tZmllbGQgKGlucHV0IGRhIGhvcmEvbWludXRvKSDigJQgemVyYSBhc1xuICAvLyBtYXJnZW5zL3BhZGRpbmdzIGRlZmF1bHQgZG8gYC5tYXQtZm9ybS1maWVsZC13cmFwcGVyYCBxdWUgZW1wdXJyYW1cbiAgLy8gYXMgbGluaGFzIGRlIHNldGFzIHByYSBsb25nZS5cbiAgLm5neC1tYXQtdGltZXBpY2tlci10YWJsZSAubWF0LWZvcm0tZmllbGQtd3JhcHBlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuICAubmd4LW1hdC10aW1lcGlja2VyLXRhYmxlIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubmd4LW1hdC10aW1lcGlja2VyLXRhYmxlIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUsXG4gIC5uZ3gtbWF0LXRpbWVwaWNrZXItdGFibGUgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBhcHAtZGF0ZXRpbWVwaWNrZXItaW5wdXQuZmlsdGVyLXN0eWxlZCDigJQgUFJFU0VUIEdMT0JBTCBkbyBkYXRlcGlja2VyIG5vIGVzdGlsb1xuLy8gZGEgY2FpeGEgZGUgZmlsdHJvIChhcHAtY3VzdG9tLXNlYXJjaCBgLmNoaXAtZXhwYW5kZWRgKS4gRk9OVEUgw5pOSUNBOiBlZGl0YXJcbi8vIGFxdWkgcmVmbGV0ZSBlbSBUT0RPUyBvcyB1c29zLiBPcHQtaW4gcG9yIGNsYXNzZTsgY29tYmluZSBjb20gb3MgaW5wdXRzIGRvXG4vLyBjb21wb25lbnRlIGNvbmZvcm1lIG8gY2FzbyAoZmxhZ3Mgc2VwYXJhZG9zKTpcbi8vXG4vLyAgIDxhcHAtZGF0ZXRpbWVwaWNrZXItaW5wdXQgY2xhc3M9XCJmaWx0ZXItc3R5bGVkXCJcbi8vICAgICAgICBbbG9ja0Nsb3NlXT1cInRydWVcIiAgICAgICAgLy8gY2FsZW5kw6FyaW8gbW9kYWwgKHPDsyBmZWNoYSBwb3IgWC9jaGVjaylcbi8vICAgICAgICBbaW5saW5lVGltZVpvbmVdPVwidHJ1ZVwiICAgLy8gZ2xvYm8gKyB2aXN1YWxpemFkb3IgZGUgZnVzb3Mgbm8gY2FtcG9cbi8vICAgICAgICBbZW5hYmxlZFRpbWVab25lXT1cInRydWVcIiAuLi4+XG4vL1xuLy8gVHLDqnMgcGXDp2FzIGRvIHByZXNldDogKDEpIGEgQ0FJWEEgY29tIGRhdGEgPSAuZmlsdGVyLXN0eWxlZCAoZXN0ZSBibG9jbyk7XG4vLyAoMikgbyBTRUxFVE9SIGRlIGRhdGEgPSBwb3B1cCBkbyBjYWxlbmTDoXJpbyAoLm1hdC1jYWxlbmRhciwgasOhIGdsb2JhbCBhY2ltYSlcbi8vICsgbW9kYWwgdmlhIFtsb2NrQ2xvc2VdOyAoMykgbyBWSVNVQUxJWkFET1IgZGUgZnVzb3MgPSBnbG9ibyArIGFwcC1kaWFsb2ctdGltZXpvbmVcbi8vIHZpYSBbaW5saW5lVGltZVpvbmVdIChlc3RpbG8gZG8gZ2xvYm8gbm8gZmltIGRlc3RlIGJsb2NvKS5cbi8vXG4vLyBPIG1hdC1mb3JtLWZpZWxkIChhcHBlYXJhbmNlPW91dGxpbmUpIMOpIFwiYWNoYXRhZG9cIjogZXNjb25kZW1vcyBvIGNocm9tZSBkb1xuLy8gb3V0bGluZSArIGxhYmVsIGZsdXR1YW50ZSArIHN1YnNjcmlwdCwgZSBkZXNlbmhhbW9zIGEgY2FpeGEgZGlyZXRvIG5vXG4vLyBgLm1hdC1mb3JtLWZpZWxkLWZsZXhgLiBHbG9iYWwgKHNlbSA6Om5nLWRlZXApOiBvIGNvbXBvbmVudGUgw6kgRW11bGF0ZWQsIG1hc1xuLy8gZXN0YXMgcmVncmFzIHZpdmVtIG5vIHN0eWxlc2hlZXQgR0xPQkFMLCBlbnTDo28gYXRpbmdlbSBhcyBjbGFzc2VzIGludGVybmFzXG4vLyBzZW0gcHJlY2lzYXIgZGUgZW5jYXBzdWxhbWVudG8uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5hcHAtZGF0ZXRpbWVwaWNrZXItaW5wdXQuZmlsdGVyLXN0eWxlZCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAvLyBEZWZhdWx0IGBmbGV4OiAwIDAgYXV0b2AgKGNvbnRlw7pkbyBuYXR1cmFsKSBzw7MgZm9yYSBkbyBncmlkIEJ1bG1hLlxuICAvLyBDb20gYC5jb2x1bW5gLCBkZWl4YW1vcyBhcyByZWdyYXMgZGUgZmxleCBkbyBCdWxtYSAoYGZsZXg6IDEgMSAwYCBldGMuKVxuICAvLyBkb21pbmFyZW0g4oCUIHNlbsOjbyBvIGhvc3QgbsOjbyBjcmVzY2UgbmEgY29sdW5hIGUgb3MgaXJtw6NvcyBmaWNhbVxuICAvLyBkZXNhbGluaGFkb3MgKGNhc28gZGFzIERhdGFzIHZzIExvY2FsaXphw6fDo28pLlxuICAmOm5vdCguY29sdW1uKSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDI2MHB4OyAgICAgLy8gbGFyZ3VyYSBkZWZhdWx0IGZvcmEgZG8gZ3JpZFxuICB9XG5cbiAgLy8gbWF0LWZvcm0tZmllbGQgaW50ZXJubyBleHBhbmRlIHByYSBsYXJndXJhIGRvIGhvc3QuIFNlbSBpc3NvLCBxdWFuZG9cbiAgLy8gbyBjb25zdW1pZG9yIHBhc3NhIGBbd2lkdGhdPVwiJzIwMHB4J1wiYCAodmlhIEhvc3RCaW5kaW5nIGVtIC50cyksIG8gaG9zdFxuICAvLyBnYW5oYSAyMDBweCBtYXMgbyBmb3JtLWZpZWxkIGNvbnRpbnVhIGNvbnRlbnQtc2l6ZWQg4oaSIGNhaXhhIHZpc3VhbG1lbnRlXG4gIC8vIG7Do28gcmVzcGVpdGEgYSBsYXJndXJhIHNvbGljaXRhZGEuXG4gIC8vIE7Dg08gdXNhciBgPmAgcG9ycXVlIG8gdGVtcGxhdGUgdGVtIHVtIHdyYXBwZXIgYDxkaXYgY2xhc3M9XCJkYXRlcGlja2VyLWlucHV0XCI+YFxuICAvLyBlbnRyZSBvIGhvc3QgZSBvIGBtYXQtZm9ybS1maWVsZGAg4oCUIGRlc2NlbmRlbnRlLCBuw6NvIGZpbGhvIGRpcmV0by5cbiAgLmRhdGVwaWNrZXItaW5wdXQgeyB3aWR0aDogMTAwJTsgfVxuICAubWF0LWZvcm0tZmllbGQgeyB3aWR0aDogMTAwJTsgbWluLXdpZHRoOiAwOyB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXIgeyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IG1pbi13aWR0aDogMDsgfVxuICAvLyBTdWJzY3JpcHQtd3JhcHBlciB2aXPDrXZlbCBlbSBBQlNPTFVURSBhYmFpeG8gZGEgY2FpeGEgcHJhIG1vc3RyYXJcbiAgLy8gbWF0LWVycm9yIHNlbSBlbXB1cnJhciBvIGxheW91dCAobWVzbWEgdMOpY25pY2EgZG8gX2Zvcm0tZmllbGQuc2NzcykuXG4gIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAycHg7XG4gICAgcmlnaHQ6IDJweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICAubWF0LWVycm9yIHtcbiAgICBjb2xvcjogJGFjY2VudC1jb2xvci13YXJuaW5nO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAvLyBFc2NvbmRlIG1hdC1oaW50IChpbmNsdWluZG8gbyBgP2AgZG8gYFtoZWxwXWApIG5hIMOhcmVhIGRlIHN1YnNjcmlwdCBwcmFcbiAgLy8gbsOjbyBzb2JyZXBvciBkaXZpZGVycyBlbnRyZSBzZcOnw7Vlcy5cbiAgLm1hdC1mb3JtLWZpZWxkLWhpbnQtd3JhcHBlcixcbiAgLm1hdC1oaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gIC8vIEEgY2FpeGEg4oCUIGVzcGVsaGEgYC5jaGlwLWV4cGFuZGVkYDogMzZweCwgcmFkaXVzL2Z1bmRvL2JvcmRhIGRvcyB0b2tlbnNcbiAgLy8gY2hyb21lLiBQYWRkaW5nLUxFRlQgcmVkdXppZG8gYSA0cHggcHJhIGVuY29zdGFyIG8gYm90w6NvIGRvIGNhbGVuZMOhcmlvXG4gIC8vIHByw7N4aW1vIGRhIGJvcmRhIChvIGJvdMOjbyB0ZW0gaG92ZXIgYmcgcXVlIGFicmHDp2Egb3MgNHB4IHJlc3RhbnRlcyk7XG4gIC8vIHBhZGRpbmctcmlnaHQgc2VndWUgMTBweCBkbyBnYXAgbmF0dXJhbCDDoCBkaXJlaXRhLlxuICAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6ICRjb250cm9sLWhlaWdodDtcbiAgICBtaW4taGVpZ2h0OiAkY29udHJvbC1oZWlnaHQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMTBweCAwIDNweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTtcbiAgICAvLyBDbGljayBlbSBRVUFMUVVFUiBwb250byBkbyBib3ggYWJyZSBvIHBpY2tlciAoaGFuZGxlciBub1xuICAgIC8vIGAuZGF0ZXBpY2tlci1pbnB1dGAgd3JhcHBlcikg4oCUIGN1cnNvciBgcG9pbnRlcmAgc2luYWxpemEgaXNzby5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLy8gSG92ZXIvZm9jbyBpbnN0YW50w6JuZW9zIOKAlCBzZW0gdHJhbnNpw6fDo28gKGEgcGVkaWRvIGRvIHVzdcOhcmlvKS5cbiAgICAvLyBOZWNlc3PDoXJpbyBwcmEgbyBmbGV4IGNoYWluIHNocmlua2VhcjogYG92ZXJmbG93OiBoaWRkZW5gIGNsaXBhIG8gY29udGXDumRvXG4gICAgLy8gcXVlIHZhemEgYWzDqW0gZGEgYm9yZGEgZG8gYm94OyBgbWluLXdpZHRoOiAwYCBsaWJlcmEgbyBpdGVtIGZpbGhvIGRvIGZsZXhcbiAgICAvLyBwYWkgYSBlbmNvbGhlciBhYmFpeG8gZG8gdGFtYW5obyBkZSBjb250ZcO6ZG8uXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbiAgLy8gSW5wdXQvbWFzayBpbnRlcm5vIHRhbWLDqW0gaGVyZGEgbyBwb2ludGVyIChyZWFkb25seSwgY2xpY2sgZGVsZWdhZG8pLlxuICAubWF0LWlucHV0LWVsZW1lbnQsXG4gIC5jb250YWluZXItZGF0ZS10aW1lLW1hc2sge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICAubWF0LWZvcm0tZmllbGQtaW5maXggeyBtaW4td2lkdGg6IDA7IH1cbiAgLl9jb250YWluZXItaW5wdXQgeyBtaW4td2lkdGg6IDA7IH1cblxuICAvLyBDYWxlbmTDoXJpbyA9IMONQ09ORS1HVUlBIMOAIEVTUVVFUkRBIChjb21vIG8gYGZpbHRlcl9hbHRgIGRvIGZpbHRybyk6IG1vdmlkb1xuICAvLyBwLyBhbnRlcyBkbyB0ZXh0byAoYG9yZGVyOiAtMWApLCBtdXRlZCwgMThweCwgc2VtIGNocm9tZSBkZSBtYXQtaWNvbi1idXR0b24uXG4gIC8vIE8gc3VmZml4IGRvIE1hdGVyaWFsIMOpIGBkaXNwbGF5OmJsb2NrYCAobGluZS1ib3ggMjNweCkgKyB0b2dnbGUgaW5saW5lIG5hXG4gIC8vIGJhc2VsaW5lIChhZnVuZGF2YSB+Ni41cHgpOyBmb3LDp2Ftb3MgZmxleC1jZW50ZXIgbmEgY2FkZWlhLiBNYXRlcmlhbCBhaW5kYVxuICAvLyBhcGxpY2EgYHBvc2l0aW9uOnJlbGF0aXZlOyB0b3A6NHB4YCBubyBzdWZmaXgg4oCUIHplcmFtb3MuXG4gIC5tYXQtZm9ybS1maWVsZC1zdWZmaXgge1xuICAgIG9yZGVyOiAtMTtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICB9XG4gIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gIH1cbiAgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSAubWF0LWljb24tYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLy8gQm90w6NvIDI4w5cyOCDigJQgw6FyZWEgY2xpY8OhdmVsIHF1YWRyYWRhLCBob3ZlciBiZyBcImFicmHDp2FuZG9cIiBvIGdsaWZvLlxuICAgIC8vIGAhaW1wb3J0YW50YCBuZWNlc3PDoXJpbyBwcmEgdmVuY2VyIGAubWF0LWJ1dHRvbi1iYXNlIHsgaGVpZ2h0OiAzNnB4IH1gXG4gICAgLy8gZG8gTWF0ZXJpYWwgKHNwZWNpZmljaXR5IGFsdGEgKyByZWdyYSBnbG9iYWwgZG8gYnV0dG9uIHsgaGVpZ2h0OiAzNnB4IH1cbiAgICAvLyBlbSBgX2J1dHRvbi5zY3NzYCkuXG4gICAgd2lkdGg6IDI4cHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDI4cHggIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTAwbXMgZWFzZTtcbiAgfVxuICAvLyBTZW0gZmlsbCBkZSBob3ZlciBubyBib3TDo28gZG8gY2FsZW5kw6FyaW8g4oCUIHPDsyBhIENPUiBkbyBnbGlmbyBtdWRhXG4gIC8vIChtZXNtYSBsaW5ndWFnZW0gZG9zICsv4oiSIGUgY2hldnJvbiBkbyBzZWxlY3Q6IG8gY29udGFpbmVyIGZpY2EgbGltcG8pLlxuICAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksXG4gIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgLm1hdC1idXR0b24tcmlwcGxlLFxuICAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIC5tYXQtcmlwcGxlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgLy8gTyDDrWNvbmUgZGVmYXVsdCBkbyB0b2dnbGUgw6kgdW0gU1ZHIENIRUlPIChcImdyb3NzZWlyb1wiKS4gRXNjb25kZW1vcyBlXG4gIC8vIHJlbmRlcml6YW1vcyBvIGdsaWZvIEZJTk8gZG8gTWF0ZXJpYWwgU3ltYm9scyB2aWEgbGlnYXR1cmUgbm8gYDo6YWZ0ZXJgLlxuICAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUtZGVmYXVsdC1pY29uLFxuICAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIHN2ZyB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIC5tYXQtaWNvbi1idXR0b246OmFmdGVyIHtcbiAgICBjb250ZW50OiAnY2FsZW5kYXJfdG9kYXknO1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgU3ltYm9scyBPdXRsaW5lZCc7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnb3BzeicgMjAsICd3Z2h0JyAzMDAsICdGSUxMJyAwO1xuICAgIC8vIE1lc21hIGNvciBkbyBzdWItYm90w6NvIGRvIHNlbGVjdCDigJQgbXV0ZWQgZW0gcmVwb3VzbywgXCJhY2VuZGVcIiBubyBob3Zlci5cbiAgICAvLyBTZW0gb3BhY2l0eSAobyB0b2tlbiBqw6EgZW1idXRlIGEgYWxmYSBjb3JyZXRhKS5cbiAgICBjb2xvcjogJGljb24tbXV0ZWQ7XG4gIH1cbiAgLy8gXCJBY2VuZGVcIiBubyBob3ZlciBkYSBDQUlYQSBFIGVucXVhbnRvIG8gcGFpbmVsIGRvIGNhbGVuZMOhcmlvIGVzdMOhIGFiZXJ0b1xuICAvLyAobyBtb3VzZSBtaWdyYSBwcm8gcGFpbmVsIGUgcGVyZGVyaWEgbyBob3ZlciDigJQgaWd1YWwgYW8gY2hldnJvbiBkbyBzZWxlY3RcbiAgLy8gcXVhbmRvIGAuaXMtb3BlbmApLiBDb2JyZSBgLnBpY2tlci1vcGVuYCAod3JhcHBlciBwcsOzcHJpbyksIGAubWF0LWZvY3VzZWRgXG4gIC8vIChNYXRlcmlhbCBkdXJhbnRlIG92ZXJsYXkpIGUgY2FpeGFzIGNvbSB2aXN1YWxpemFkb3IgZGUgZnVzbyBhYmVydG9cbiAgLy8gKGA6aGFzKC50ei1nbG9iZS5tZW51LW9wZW4pYCkuXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgLm1hdC1pY29uLWJ1dHRvbjo6YWZ0ZXIsXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhhcygudHotZ2xvYmUubWVudS1vcGVuKSAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIC5tYXQtaWNvbi1idXR0b246OmFmdGVyLFxuICAucGlja2VyLW9wZW4gLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSAubWF0LWljb24tYnV0dG9uOjphZnRlcixcbiAgLm1hdC1mb2N1c2VkIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgLm1hdC1pY29uLWJ1dHRvbjo6YWZ0ZXIge1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZC1ob3ZlcjtcbiAgfVxuXG4gIC8vIFByZXNlcnZhIG8gaGFsbyAoYm94LXNoYWRvdykgZGEgY2FpeGEgZW5xdWFudG8gbyB2aXN1YWxpemFkb3IgZGUgZnVzb1xuICAvLyBlc3TDoSBhYmVydG8g4oCUIG8gbW91c2UgbWlncmEgcHJvIHBvcG92ZXIgZSBvIGA6aG92ZXJgIG5hdHVyYWwgc2UgcGVyZGUuXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhhcygudHotZ2xvYmUubWVudS1vcGVuKSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTtcbiAgfVxuXG4gIC8vIMOBcmVhIGRvIHZhbG9yIOKAlCBzZW0gbyBib3JkZXItdG9wIGRvIG91dGxpbmU7IGxhcmd1cmEgbmF0dXJhbCAoYSBjYWl4YVxuICAvLyBhYnJhw6dhIG8gY29udGXDumRvIG51bWEgw7puaWNhIGxpbmhhLCBjb21vIG8gZmlsdHJvKS5cbiAgLm1hdC1mb3JtLWZpZWxkLWluZml4IHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIFZhbG9yICsgb2Zmc2V0IG51bWEgw7puaWNhIGxpbmhhLCBjZW50cmFsaXphZG9zLCBnYXAgZW54dXRvIChlcmEgMTVweCkuXG4gIC5fY29udGFpbmVyLWlucHV0IHtcbiAgICBnYXA6IDZweCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cblxuICAvLyBUaXBvZ3JhZmlhIElEw4pOVElDQSBhbyBgLmNoaXAtaW5wdXRgIGRvIGZpbHRybzogMTRweCAvIDQwMCAvIC0wLjAxZW0gLyBjb3JcbiAgLy8gZGUgY29ycG8gZG8gY2hhaXIgVUkgKG8gZGVmYXVsdCBkbyBjb21wb25lbnRlIMOpIDEzcHgvNDMwKS5cbiAgLmNvbnRhaW5lci1kYXRlLXRpbWUtbWFzayB7XG4gICAgZm9udC1zaXplOiAkY29udHJvbC1mb250LXNpemUgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogJGNvbnRyb2wtY29udGVudC13ZWlnaHQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiAgICAvLyBJTVBPUlRBTlRFOiBgZmxleC1iYXNpczogYXV0b2AgKG7Do28gMCkg4oCUIHPDsyBhc3NpbSBhIHNvbWEgZG9zIGJhc2lzIG5vXG4gICAgLy8gYC5fY29udGFpbmVyLWlucHV0YCBleGNlZGUgYSBsYXJndXJhIGRpc3BvbsOtdmVsIHF1YW5kbyBow6EgY29udGXDumRvXG4gICAgLy8gZGVtYWlzLCBkaXNwYXJhbmRvIG8gc2hyaW5rIHBoYXNlIGRvIGZsZXguIENvbSBgYmFzaXM6IDBgLCBhIG1hc2tcbiAgICAvLyBnYW5oYXZhIGVzcGHDp28gc8OzIHZpYSBgZ3Jvd2AsIGUgbyBvZmZzZXQgKHF1ZSB0ZW0gc2hyaW5rIDk5OTkpIG51bmNhXG4gICAgLy8gZXJhIGFjaW9uYWRvIHByYSBjb2xhcHNhci4gYG1pbi13aWR0aDogMGAgbGliZXJhIG8gc2hyaW5rIGFiYWl4byBkZVxuICAgIC8vIG1pbi1jb250ZW50OyBgb3ZlcmZsb3c6IGhpZGRlbmAgKyBgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXNgIGFwbGljYW1cbiAgICAvLyBcIi4uLlwiIGNvbW8gw7psdGltbyByZWN1cnNvIChhcMOzcyBvIG9mZnNldCBjb2xhcHNhcikuXG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogJGNvbnRyb2wtZm9udC1zaXplICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogJGNvbnRyb2wtY29udGVudC13ZWlnaHQ7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgZGlzcGxheTogYmxvY2s7ICAgICAgIC8vIHRleHQtb3ZlcmZsb3cgZXhpZ2UgY29udGV4dG8gZGUgYmxvY29cbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gIH1cbiAgLnBsYWNlaG9sZGVyLW1hc2sge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSkgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogJGNvbnRyb2wtY29udGVudC13ZWlnaHQ7XG4gIH1cbiAgLy8gT2Zmc2V0IGRlIHRpbWV6b25lIFJFQ1VBRE8g4oCUIHNlY3VuZMOhcmlvIGFvIHZhbG9yLlxuICAvLyBgZmxleDogMCA5OTk5IGF1dG9gICsgYG1pbi13aWR0aDogMGAgKyBgb3ZlcmZsb3c6IGhpZGRlbmA6IHF1YW5kbyBow6FcbiAgLy8gb3ZlcmZsb3cgbm8gYC5fY29udGFpbmVyLWlucHV0YCwgbyBvZmZzZXQgZW5jb2xoZSB+OTk5OXggbWFpcyByw6FwaWRvIHF1ZSBhXG4gIC8vIGRhdGEgKHF1ZSB0ZW0gYGZsZXgtc2hyaW5rOiAxYCkuIFJlc3VsdGFkbzogbyBgKFVUQy4uLilgIFwic29tZVwiIFBSSU1FSVJPXG4gIC8vIChsYXJndXJhIGNvbGFwc2EgYSAwLCBjb250ZcO6ZG8gw6kgY2xpcGFkbyksIGUgU8OTIERFUE9JUyDigJQgc2UgYWluZGEgYXNzaW1cbiAgLy8gbsOjbyBjb3ViZXIg4oCUIGEgZGF0YSB0cnVuY2EgY29tIFwiLi4uXCIuIFNlbSB0aHJlc2hvbGQgZW0gcHgsIHNlbSBjb250YWluZXJcbiAgLy8gcXVlcnk6IG8gcHLDs3ByaW8gbW90b3IgZGUgZmxleCBkZWNpZGUgY29tIGJhc2Ugbm8gb3ZlcmZsb3cgcmVhbC5cbiAgLm9mZnNldCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgb3BhY2l0eTogMC40O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZmxleDogMCA5OTk5IGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBWSVNVQUxJWkFET1IgZGUgZnVzb3MgKHJlYWQtb25seSwgW2lubGluZVRpbWVab25lXSkgw6AgZGlyZWl0YSBkbyB2YWxvcjpcbiAgLy8gZ2xvYm8gU1VUSUwgKG1lbm9yICsgb3BhY2l0eSBiYWl4YSArIHRyYcOnbyBmaW5vKSwgc2VtIGNocm9tZSBkZSBtYXQtaWNvbi1idXR0b24uXG4gIGFwcC1kaWFsb2ctdGltZXpvbmUuaW5saW5lLXR6LXZpZXdlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4OiAwIDAgYXV0bztcblxuICAgIC8vIE8gPHNwYW4+IHdyYXBwZXIgZG8gYm90w6NvIMOpIGlubGluZSAoYmFzZWxpbmUpIOKGkiBqb2dhdmEgbyBnbG9ibyB+MS4zcHhcbiAgICAvLyBhY2ltYSBkbyBjZW50cm8uIEZsZXgtY2VudGVyIG5vIHdyYXBwZXIgYWxpbmhhLlxuICAgID4gc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnNtYWxsZXItYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIC5zbWFsbGVyLWJ1dHRvbiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LFxuICAgIC5zbWFsbGVyLWJ1dHRvbiAubWF0LWJ1dHRvbi1yaXBwbGUsXG4gICAgLnNtYWxsZXItYnV0dG9uIC5tYXQtcmlwcGxlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLnNtYWxsZXItYnV0dG9uIC5tYXQtaWNvbiB7XG4gICAgICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnb3BzeicgMjAsICd3Z2h0JyAzMDAsICdGSUxMJyAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMjBtcyBlYXNlO1xuICAgIH1cbiAgICAuc21hbGxlci1idXR0b246aG92ZXIgLm1hdC1pY29uIHsgb3BhY2l0eTogMC43OyB9XG4gIH1cblxuICAvLyBIb3Zlci9mb2NvID0gbWVzbWEgbGluZ3VhZ2VtIGRvIGAuY2hpcC1leHBhbmRlZGAuXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlO1xuICB9XG4gIC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtZmxleCxcbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6Zm9jdXMtd2l0aGluLFxuICAvLyBQaWNrZXIgYWJlcnRvOiBtYW50w6ltIG8gYm94IGNvbSBvIGxvb2sgXCJzZWxlY3RlZFwiIG1lc21vIHNlIG8gZm9jbyBkb1xuICAvLyB0ZWNsYWRvIHRpdmVyIG1pZ3JhZG8gcHJvIG92ZXJsYXkgZG8gY2FsZW5kw6FyaW8uXG4gIC5waWNrZXItb3BlbiAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgfVxufVxuXG4vLyBEYXJrIG1vZGUg4oCUIGVzcGVsaGEgb3MgdG9rZW5zICotZGFyayBkYSBjYWl4YSBkZSBmaWx0cm8uXG4uZGFyay10aGVtZSBhcHAtZGF0ZXRpbWVwaWNrZXItaW5wdXQuZmlsdGVyLXN0eWxlZCB7XG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xuICAgIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmU7XG4gIH1cbiAgLmNvbnRhaW5lci1kYXRlLXRpbWUtbWFzayB7IGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrOyB9XG4gIC5wbGFjZWhvbGRlci1tYXNrIHsgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KSAhaW1wb3J0YW50OyB9XG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyLFxuICAubWF0LWZvcm0tZmllbGQtZmxleDpoYXMoLnR6LWdsb2JlLm1lbnUtb3Blbikge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZTtcbiAgfVxuICAubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWZsZXgsXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4OmZvY3VzLXdpdGhpbixcbiAgLnBpY2tlci1vcGVuIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgfVxuICAvLyBDb3IgZG8gZ2xpZm8gZG8gY2FsZW5kw6FyaW8gZW0gZGFyayDigJQgbXV0ZWQgZW0gcmVwb3VzbywgYWNlbmRlIG5vIGhvdmVyLlxuICAvLyBTZW0gZmlsbCBubyBib3TDo28gKG1lc21hIGxpbmd1YWdlbSBkb3Mgb3V0cm9zIGdsaWZvcyBzZWN1bmTDoXJpb3MpLlxuICAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIC5tYXQtaWNvbi1idXR0b246OmFmdGVyIHtcbiAgICBjb2xvcjogJGljb24tbXV0ZWQtZGFyaztcbiAgfVxuICAubWF0LWZvcm0tZmllbGQtZmxleDpob3ZlciAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIC5tYXQtaWNvbi1idXR0b246OmFmdGVyLFxuICAubWF0LWZvcm0tZmllbGQtZmxleDpoYXMoLnR6LWdsb2JlLm1lbnUtb3BlbikgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSAubWF0LWljb24tYnV0dG9uOjphZnRlcixcbiAgLnBpY2tlci1vcGVuIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgLm1hdC1pY29uLWJ1dHRvbjo6YWZ0ZXIsXG4gIC5tYXQtZm9jdXNlZCAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIC5tYXQtaWNvbi1idXR0b246OmFmdGVyIHtcbiAgICBjb2xvcjogJGljb24tbXV0ZWQtaG92ZXItZGFyaztcbiAgfVxufVxuXG4vLyBEYXJrIHRoZW1lIGRvcyBib3TDtWVzIOKAuSDigLogZG8gY2FsZW5kw6FyaW8g4oCUIHZpdmVtIG5vIG92ZXJsYXkgcG9ydGFsbGFkb1xuLy8gKGZvcmEgZG8gaG9zdCBgYXBwLWRhdGV0aW1lcGlja2VyLWlucHV0YCksIHBvciBpc3NvIGVzY29wbyBnbG9iYWwuXG4uZGFyay10aGVtZSAubWF0LWRhdGVwaWNrZXItY29udGVudCAubWF0LWNhbGVuZGFyLXByZXZpb3VzLWJ1dHRvbixcbi5kYXJrLXRoZW1lIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50IC5tYXQtY2FsZW5kYXItbmV4dC1idXR0b24ge1xuICBjb2xvcjogJGljb24tbXV0ZWQtZGFyayAhaW1wb3J0YW50O1xuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGljb24tbXV0ZWQtaG92ZXItZGFyayAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWNvbnRhaW5lci1iZy1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gRGFyazogY29yIGRlIGZ1bmRvIGRvIG1pbmktcGFpbmVsIGRvIGRhdGVwaWNrZXIgaWd1YWwgw6AgZG9zIHBhaW7DqWlzIGRvXG4vLyBzZWxlY3QgKGAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmtgKSDigJQgbWFudMOpbSBhIGxpbmd1YWdlbSBjb2VzYVxuLy8gZW50cmUgb3ZlcmxheXMuXG4uZGFyay10aGVtZSAubWF0LWRhdGVwaWNrZXItY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItZGFyayAhaW1wb3J0YW50OyAgIC8vIG1lc21hIFwiYm9yZGFcIiBkb3MgcGFpbsOpaXMgZG8gc2VsZWN0XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1kYXJrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1lc21hIHNvbWJyYSBkZSBwYWluZWwgZG8gZGFya1xuXG4gIC8vIENvciBkbyByw7N0dWxvIFwiSnVuLiBkZSAyMDI2XCIgbm8gZGFyayDigJQgbWVzbWEgZG8gY29udGXDumRvIGRhcyBjYWl4YXMgZGUgdGV4dG8uXG4gIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbiB7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50OyB9XG4gIH1cbiAgLy8gSW5pY2lhaXMgZG9zIGRpYXMgZGEgc2VtYW5hIChEIFMgVCBRLi4uKSBubyBkYXJrIOKAlCBtdXRlZCBjbGFyb1xuICAvLyAobyBkZWZhdWx0IGRvIE1hdGVyaWFsIGZpY2EgcHJldG8gcXVhc2UgaW52aXPDrXZlbCBzb2JyZSBhIGZvbGhhIGVzY3VyYSkuXG4gIC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyIHRoIHtcbiAgICBjb2xvcjogJGljb24tbXV0ZWQtZGFyaztcbiAgfVxuXG4gIC8vIEJvdMO1ZXMgZGUgc3BpbiAo4payIOKWvCkgZG8gdGltZXBpY2tlciBubyBkYXJrIOKAlCBtdXRlZCBjbGFybzsgaG92ZXJcbiAgLy8gXCJhY2VuZGVcIiBjb20gZnVuZG8gZG8gdG9rZW4gZGFyay5cbiAgLm5neC1tYXQtdGltZXBpY2tlci10YWJsZSBidXR0b24ubWF0LWljb24tYnV0dG9uIHtcbiAgICBjb2xvcjogJGljb24tbXV0ZWQtZGFyayAhaW1wb3J0YW50O1xuXG4gICAgJjpob3Zlcjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGljb24tY29udGFpbmVyLWJnLWRhcmsgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkaWNvbi1tdXRlZC1ob3Zlci1kYXJrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIOKUgOKUgOKUgCBDb3IgZG8gZGlhL23DqnMvYW5vIFNFTEVDSU9OQURPIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gTyB0ZW1hIHByZS1jb21waWxhZG8gYGluZGlnby1waW5rLmNzc2AgZG8gTWF0ZXJpYWwgcGludGFcbi8vIGAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Y1MWI1IH1gIChpbmRpZ28gZG9cbi8vIE1hdGVyaWFsKS4gTm9zc28gYWNjZW50IMOpIHN5c3RlbUJsdWUgKCMwMDdBRkYpIOKAlCBtYWlzIGNsYXJvL3Zpdm8uIEFxdWlcbi8vIHNvYnJlc2NyZXZlbW9zIHByYSBtYW50ZXIgaWRlbnRpZGFkZSB2aXN1YWwgZG8gSkVNUzMgbm8gY2FsZW5kw6FyaW8uXG4ubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG4vLyBIb3Zlci9mb2NvIGVtIGPDqWx1bGEgTsODTyBzZWxlY2lvbmFkYSDigJQgdsOpdSBzdXRpbCBkbyBhY2NlbnQgKG1lc21hXG4vLyByZWNlaXRhIGRvIE1hdGVyaWFsLCBzw7MgdHJvY2EgbyBodWUpLiB+MTUlIG9wYWNpdHkgbWFudMOpbSBsZWdpYmlsaWRhZGVcbi8vIGRvIGRpYTsgbyBNYXRlcmlhbCBkZWZhdWx0IHVzYXZhIGEgbWVzbWEgJSBzb2JyZSBvIGluZGlnby5cbi5tYXQtY2FsZW5kYXItYm9keS1jZWxsOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQpOmhvdmVyXG4gID4gLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSxcbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWNhbGVuZGFyLWJvZHktYWN0aXZlXG4gID4gLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSxcbi5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmVcbiAgPiAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYWNjZW50LWJhY2tncm91bmQsIDAuMTUpICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSAubWF0LWNhbGVuZGFyLWJvZHktY2VsbDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkKTpob3ZlclxuICA+IC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRhY2NlbnQtYmFja2dyb3VuZC1kYXJrLCAwLjIyKSAhaW1wb3J0YW50O1xufVxuLy8gXCJIb2plXCIgKGPDqWx1bGEgZG8gZGlhIGF0dWFsLCBjb250b3Jubykg4oCUIGluZGlnbyBwb3IgZGVmYXVsdDsgbW92ZSBwLyBhY2NlbnQuXG4ubWF0LWNhbGVuZGFyLWJvZHktdG9kYXk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCkge1xuICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgLm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpIHtcbiAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbG9ycyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFBSRVNFVCBHTE9CQUwgYC5maWx0ZXItc3R5bGVkYCBwYXJhIG9zIHdyYXBwZXJzIGBhcHAtdGV4dC1pbnB1dGAgZVxuLy8gYGFwcC1zZWxlY3QtaW5wdXRgIChlIHZhcmlhbnRlcyAtZmxhZy8tbGUgcXVlIGNvbXBhcnRpbGhhbSBvIHRlbXBsYXRlLWJhc2UpLlxuLy9cbi8vIE1lc21vIGNocm9tZSBkb3MgcGlja2VycyBKRU1TMyAoZGF0ZXBpY2tlciAvIG51bWJlci1pbnB1dCAvIHRocmVzaG9sZC1iYW5kKTpcbi8vIGNhaXhhIDM2cHgsIHJhZGl1cy9ib3JkZXIvYmcgZG9zIHRva2VucyBjaHJvbWUsIHNlbSB1bmRlcmxpbmUgb3Ugb3V0bGluZVxuLy8gTWF0ZXJpYWwgbGVnYWRvcy4gT3B0LWluIHBvciBjbGFzc2Ugbm8gaG9zdCDigJQgYXNzaW0gYSBtaWdyYcOnw6NvIMOpIGdyYWR1YWxcbi8vIChww6FnaW5hLWEtcMOhZ2luYSkgZSBmb3JtYXMgcmVhdGl2YXMvbmdNb2RlbC92YWxpZGF0b3JzIGNvbnRpbnVhbSBpbnRhY3Rvcy5cbi8vXG4vLyBVU086XG4vLyAgIDxhcHAtdGV4dC1pbnB1dCBjbGFzcz1cImZpbHRlci1zdHlsZWRcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiIC4uLi8+XG4vLyAgIDxhcHAtc2VsZWN0LWlucHV0IGNsYXNzPVwiZmlsdGVyLXN0eWxlZFwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgLi4uLz5cbi8vXG4vLyBDb21iaW5lIGNvbSBgW3dpZHRoXT1cIic8bj4nXCJgIHF1YW5kbyBwcmVjaXNhciBkZSBsYXJndXJhIGZpeGEgKGRlZmF1bHRcbi8vIHZpcmEgbyBjb250ZcO6ZG8gbmF0dXJhbCDigJQgaG9zdCDDqSBgZGlzcGxheTogYmxvY2tgKS5cbi8vXG4vLyBOT1RBIOKAlCB2aWV3IGVuY2Fwc3VsYXRpb24gKGBmZWVkYmFja19hbmd1bGFyX3ZpZXdfZW5jYXBzdWxhdGlvbmApOiBlc3RlXG4vLyBhcnF1aXZvIMOpIEdMT0JBTCAoaW1wb3J0YWRvIGVtIGBfY29yZS5zY3NzYCkuIE7Do28gdGVudGUgcmVwbGljYXIgZXNzYXNcbi8vIHJlZ3JhcyBubyBzY29wZWQgc2NzcyBkbyBjb21wb25lbnRlIGNvbnN1bWlkb3I7IG8gQW5ndWxhciBkcm9wYVxuLy8gc2lsZW5jaW9zYW1lbnRlIHJlZ3JhcyBxdWUgdG9jYW0gaW50ZXJub3MgZG8gTWF0ZXJpYWwuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiVmaWx0ZXItc3R5bGVkLWJveCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIC8vIFdyYXBwZXIgaW50ZXJubyBnZXJhZG8gcGVsbyBhcHAtdGV4dC1pbnB1dCAoYGRpdi5udW1lcmljLWlucHV0YCkgZSBwZWxvc1xuICAvLyBhcHAtc2VsZWN0LWlucHV0Ly1mbGFnLy1sZSAoYGRpdi5zZWxlY3QtaW5wdXRgL2BkaXYuc2VsZWN0LWlucHV0LWxlYCkuXG4gIC8vIE8gYC50aS1kZXNjcmlwdGlvbmAgbW9yYSBERU5UUk8gZGVzc2Ugd3JhcHBlciAoaWd1YWwgYW8gYGR0LWRlc2NyaXB0aW9uYFxuICAvLyBkZW50cm8gZG8gYC5kYXRlcGlja2VyLWlucHV0YCkgcHJhIGVzY2FwYXIgZG8gcGFkZGluZyBkbyBgLmNvbHVtbmAgQnVsbWFcbiAgLy8gZG8gcGFpIOKAlCBlbnTDo28gw6kgbyBXUkFQUEVSIHF1ZSBnYW5oYSBgcG9zaXRpb246IHJlbGF0aXZlYCwgbsOjbyBvIGhvc3QuXG4gID4gLm51bWVyaWMtaW5wdXQsXG4gID4gZGl2LnNlbGVjdC1pbnB1dCxcbiAgPiBkaXYuc2VsZWN0LWlucHV0LWxlLFxuICA+IGRpdiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgbWF0LWZvcm0tZmllbGQgeyB3aWR0aDogMTAwJTsgbWluLXdpZHRoOiAwOyB9XG5cbiAgLy8gWmVyYSBvIGNocm9tZSBsZWdhY3kvb3V0bGluZSBkbyBNYXRlcmlhbCDigJQgdmFtb3MgcGludGFyIGEgY2FpeGEgbsOzcyBtZXNtb3MuXG4gIC8vIEVzY29uZGUgdGFtYsOpbSBvIGAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcmAgKG8gbWF0LWxhYmVsIGZsdXR1YW50ZVxuICAvLyBpbnRlcm5vIGRvIE1hdGVyaWFsKSDigJQgdXNhbW9zIGxhYmVsIEVTVFJVVFVSQUwgZXh0ZXJubyAoLnRpLWRlc2NyaXB0aW9uKS5cbiAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXIgeyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IG1pbi13aWR0aDogMDsgfVxuICAubWF0LWZvcm0tZmllbGQtb3V0bGluZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5tYXQtcGxhY2Vob2xkZXItcmVxdWlyZWQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAvLyBTdWJzY3JpcHQtd3JhcHBlciAow6FyZWEgZGUgZXJyby9oaW50IGRvIE1hdGVyaWFsKSDigJQgcG9zaWNpb25hZG9cbiAgLy8gQUJTT0xVVE8gbG9nbyBhYmFpeG8gZGEgY2FpeGEsIHByYSBuw6NvIGVtcHVycmFyIG8gbGF5b3V0LiBTw7MgZmljYVxuICAvLyB2aXPDrXZlbCBxdWFuZG8gbyBmb3JtLWZpZWxkIGVzdMOhIGludsOhbGlkbyBFIHRvdWNoZWQvZGlydHkgKE1hdGVyaWFsXG4gIC8vIGrDoSBjb250cm9sYSBpc3NvIHZpYSBgbWF0LWZvcm0tZmllbGQtaW52YWxpZGApLlxuICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMnB4O1xuICAgIHJpZ2h0OiAycHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgLm1hdC1lcnJvciB7XG4gICAgY29sb3I6ICRhY2NlbnQtY29sb3Itd2FybmluZztcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLy8gRXNjb25kZSBtYXQtaGludCAoaW5jbHVpbmRvIG8gYD9gIGRvIGBbaGVscF1gKSBuYSDDoXJlYSBkZSBzdWJzY3JpcHQgcHJhXG4gIC8vIG7Do28gc29icmVwb3IgZGl2aWRlcnMgZW50cmUgc2XDp8O1ZXMuIE8gc3Vic2NyaXB0IEFCU09MVVRFIGV4cMO1ZSBzw7NcbiAgLy8gZXJyb3Mg4oCUIGZlZWRiYWNrIGluZm9ybWF0aXZvIChgW2hlbHBdYCkgZGV2ZSBpciBlbSBvdXRybyBsdWdhci5cbiAgLm1hdC1mb3JtLWZpZWxkLWhpbnQtd3JhcHBlcixcbiAgLm1hdC1oaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgLy8gTGFiZWwgRVNUUlVUVVJBTCBhY2ltYSBkYSBjYWl4YSDigJQgbWVzbW8gcGFkcsOjbyBkb3MgZGVtYWlzIHBpY2tlcnMgZ2xvYmFpc1xuICAvLyAoYC5kdC1kZXNjcmlwdGlvbmAgbm8gZGF0ZXBpY2tlciwgYC5uaS1kZXNjcmlwdGlvbmAgbm8gbnVtYmVyLWlucHV0KS5cbiAgLy8gUmVuZGVyaXphZG8gcGVsbyB0ZW1wbGF0ZSBkbyB3cmFwcGVyIChgPGxhYmVsICpuZ0lmPVwiZGVzY3JpcHRpb25cIlxuICAvLyBjbGFzcz1cInRpLWRlc2NyaXB0aW9uXCI+YCkgQU5URVMgZG8gbWF0LWZvcm0tZmllbGQuIFBvc2ljaW9uYW1lbnRvXG4gIC8vIEFCU09MVVRPIHNvYnJlIG8gaG9zdCAocXVlIHRlbSBgcG9zaXRpb246IHJlbGF0aXZlYCkuXG4gIC50aS1kZXNjcmlwdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAycHg7XG4gICAgcmlnaHQ6IDJweDtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNDMwO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOyAgIC8vIHBlcm1pdGUgbyBob3ZlciDihpIgbWF0VG9vbHRpcCAoYXBwT3ZlcmZsb3dUb29sdGlwKSBubyBsYWJlbFxuXG4gICAgLy8gTWFyY2Fkb3IgZGUgY2FtcG8gb2JyaWdhdMOzcmlvIChgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZC1tYXJrXCI+Kjwvc3Bhbj5gKS5cbiAgICAvLyBWZXJtZWxobyBpbnN0aXR1Y2lvbmFsICsgbWFyZ2luLWxlZnQgbcOtbmltbyDigJQgc2VndWUgY29udmVuw6fDo28gZG9cbiAgICAvLyBzaXN0ZW1hICh1c2FkYSB0YW1iw6ltIGVtIGAuamVtcy1zZWxlY3QtZGVzY3JpcHRpb25gKS5cbiAgICAucmVxdWlyZWQtbWFyayB7XG4gICAgICBjb2xvcjogJGFjY2VudC1jb2xvci13YXJuaW5nO1xuICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuICB9XG5cbiAgLy8gQSBjYWl4YSB2aXPDrXZlbCDigJQgZ2VvbWV0cmlhL3Rva2VucyBpZ3VhaXMgYW9zIGRlbWFpcyBwaWNrZXJzIGRvIEpFTVMzLlxuICAvLyBgbWFyZ2luLXRvcDogMTZweGAgcmVzZXJ2YSBvIGVzcGHDp28gZG8gbGFiZWwtYWNpbWEgKGxhYmVsIGFic29sdXRvIG5vXG4gIC8vIHRvcG8gZGEgYC5tYXQtZm9ybS1maWVsZGApOyBtZXNtbyBvZmZzZXQgdXNhZG8gcGVsb1xuICAvLyBgLmR0LWRlc2NyaXB0aW9uICsgbWF0LWZvcm0tZmllbGRgIG5vIGRhdGVwaWNrZXIgZSBwZWxvXG4gIC8vIGAubmktZGVzY3JpcHRpb24gKyAubnVtYmVyLWlucHV0LWJveGAgbm8gbnVtYmVyLWlucHV0LlxuICAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6ICRjb250cm9sLWhlaWdodDtcbiAgICBtaW4taGVpZ2h0OiAkY29udHJvbC1oZWlnaHQ7XG4gICAgbWFyZ2luOiAxNnB4IDAgMDtcbiAgICBwYWRkaW5nOiAwIDEwcHggIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7XG4gICAgLy8gSG92ZXIvZm9jbyBpbnN0YW50w6JuZW9zIOKAlCBzZW0gdHJhbnNpw6fDo28gKGEgcGVkaWRvIGRvIHVzdcOhcmlvKS5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFF1YW5kbyBow6EgYm90w6NvIGRlIGNvcGlhciBubyBzdWZmaXggKGBhcHAtdGV4dC1pbnB1dCBbY29weVZhbHVlXWApLFxuICAvLyB6ZXJhIG8gcGFkZGluZy1yaWdodCBwcm8gYm90w6NvIGZpY2FyIGZsdXNoIGNvbSBhIGJvcmRhIGRpcmVpdGEuXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhhcygudGktY29weS1idG4pIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtaW5maXgge1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBkaXNwbGF5OiBmbGV4OyAgICAgICAgICAgICAvLyBjZW50cmFsaXphIG8gaW5wdXQgdmVydGljYWxtZW50ZSB2aWEgZmxleFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDsgICAgICAgLy8gb2N1cGEgdG9kYSBhIGFsdHVyYSBkbyBgLm1hdC1mb3JtLWZpZWxkLWZsZXhgXG4gIH1cblxuICAvLyBQcmVmaXgvc3VmZml4IGNvbSBhIE1FU01BIHRpcG9ncmFmaWEvYmFzZWxpbmUgZG8gaW5wdXQg4oCUIHZpc3VhbG1lbnRlXG4gIC8vIGNvbnTDrW51b3MgKGV4LjogcHJlZml4IGNvbSBhIFVSTC1iYXNlLCBpbnB1dCBjb20gbyBzbHVnIGRvIGV2ZW50bykuXG4gIC8vIGxpbmUtaGVpZ2h0IGZpeG8gaWTDqm50aWNvIGFvIGRvIGlucHV0ICsgZGlzcGxheTogaW5saW5lLWZsZXggKyBjZW50ZXJcbiAgLy8gYWxpZ25tZW50IGdhcmFudGVtIHF1ZSBwcmVmaXggZSBpbnB1dCBmaXF1ZW0gbm8gTUVTTU8gZWl4byB2ZXJ0aWNhbFxuICAvLyAoc2VtIGlzc28sIG8gbGVnYWN5IGFwbGljYSB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgY29tIHRyYW5zZm9ybVxuICAvLyBwcsOzcHJpbyBkbyBwcmVmaXgsIHF1ZSBkZXNhbGluaGEgbGV2ZW1lbnRlKS5cbiAgLm1hdC1mb3JtLWZpZWxkLXByZWZpeCxcbiAgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIGZvbnQtc2l6ZTogJGNvbnRyb2wtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkY29udHJvbC1jb250ZW50LXdlaWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLy8gVGV4dG8gZG8gcHJlZml4L3N1ZmZpeCBzZWxlY2lvbsOhdmVsIGNvbSBjdXJzb3IgZGUgdGV4dG8uIE1hdGVyaWFsIHBvclxuICAgIC8vIGRlZmF1bHQgdXNhIGB1c2VyLXNlbGVjdDogbm9uZWAgZW0gcHJlZml4L3N1ZmZpeCAoZXNwZXJhbmRvIMOtY29uZXMpO1xuICAgIC8vIGFxdWkgZm9yw6dhbW9zIHRleHRvLWxpa2UgcHJhIHVzdcOhcmlvIHBvZGVyIGRlc3RhY2FyIGUgY29waWFyIG8gdHJlY2hvLlxuICAgIHVzZXItc2VsZWN0OiB0ZXh0O1xuICAgIGN1cnNvcjogdGV4dDtcbiAgfVxuXG4gIC8vIElucHV0IGNvbSBsaW5lLWhlaWdodCBmaXhvIGlkw6pudGljbyBhbyBwcmVmaXgvc3VmZml4LiBgIWltcG9ydGFudGBcbiAgLy8gcHJhIHZlbmNlciBvIGBtYXJnaW4tdG9wOiAtMC4wNjI1ZW1gIGUgYHZlcnRpY2FsLWFsaWduOiBib3R0b21gIHF1ZVxuICAvLyBvIE1hdGVyaWFsIGxlZ2FjeSBhcGxpY2Egbm8gYC5tYXQtaW5wdXQtZWxlbWVudGAgKHF1ZSB0ZW0gbWVzbWFcbiAgLy8gZXNwZWNpZmljaWRhZGUgcXVlIGEgbm9zc2EgcmVncmEpLiBTZW0gYWx0dXJhIGZpeGEgcHJhIGRlaXhhciBvIGZsZXhcbiAgLy8gZG8gaW5maXggY2VudHJhbGl6YXIgbyBpbnB1dC5cbiAgLm1hdC1pbnB1dC1lbGVtZW50IHtcbiAgICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBUaXBvZ3JhZmlhIGRvIElOUFVUL1NFTEVDVCDigJQgYWxpbmhhIGNvbSBgLmNoaXAtaW5wdXRgIGRvIGZpbHRyb1xuICAvLyAoMTQvNDAwLy0wLjAxZW0pIHVzYWRhIG5vcyBkZW1haXMgcHJlc2V0cyBkbyBzaXN0ZW1hLlxuICAubWF0LWlucHV0LWVsZW1lbnQsXG4gIC5tYXQtc2VsZWN0LXZhbHVlLXRleHQge1xuICAgIGZvbnQtc2l6ZTogJGNvbnRyb2wtZm9udC1zaXplICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6ICRjb250cm9sLWNvbnRlbnQtd2VpZ2h0O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB9XG5cbiAgLy8gSG92ZXIvZm9jbyDigJQgTUVTTUEgbGluZ3VhZ2VtIGRvIGBhcHAtZGF0ZXRpbWVwaWNrZXItaW5wdXQuZmlsdGVyLXN0eWxlZGBcbiAgLy8gKGUgZG8gYC5jaGlwLWV4cGFuZGVkYCk6IGhvdmVyIGdhbmhhIHJpbmcgMXB4IG5hIGJvcmRhLWFjdGl2ZTsgZm9jb1xuICAvLyBtYW50w6ltIG8gcmluZyBtYXMgdHJvY2EgYSBjb3IgcGVsbyBhY2NlbnQuXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlO1xuICB9XG4gICYubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWZsZXgsXG4gIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtZmxleCxcbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6Zm9jdXMtd2l0aGluIHtcbiAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGFjY2VudC1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gRXN0YWRvIGludsOhbGlkbyDigJQgYm9yZGEgdmVybWVsaGEgKHNlbSBvIFwicmluZ1wiIGRlIGVycm8gZ3Jvc3NvIGRvIE1hdGVyaWFsKS5cbiAgLm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1jb2xvci13YXJuaW5nO1xuICB9XG5cbiAgLy8gRXN0YWRvIERFU0FCSUxJVEFETyAoZXguOiBzZWxlY3QgZGUgZmlsdHJvIHNlbSBvcMOnw7VlcyBwcmEgbW9zdHJhcik6IGNhaXhhXG4gIC8vIGFwZW5hcyBlc21hZWNpZGEuIGBwb2ludGVyLWV2ZW50czogbm9uZWAgbmEgY2FpeGEgw6kgbyBwdWxvIGRvIGdhdG8g4oCUIHNlbVxuICAvLyBldmVudG9zIGRlIG1vdXNlIG8gYDpob3ZlcmAgTlVOQ0EgZGlzcGFyYSwgZW50w6NvIG8gc3ViLWJvdMOjbyBkbyBjaGV2cm9uIG7Do29cbiAgLy8gXCJhY2VuZGVcIiwgbsOjbyBhcGFyZWNlIGN1cnNvciBibG9xdWVhZG8gZSBuZW5odW0gcmVhbGNlIGVzY2FwYS4gTyBzZWxlY3QgasOhXG4gIC8vIGVzdMOhIGRlc2FiaWxpdGFkbyAobmFkYSBwcmEgY2xpY2FyKSwgZW50w6NvIHplcmFyIHBvaW50ZXItZXZlbnRzIMOpIHNlZ3Vyby5cbiAgLy8gTyBNYXRlcmlhbCBtYXJjYSBvIGBtYXQtZm9ybS1maWVsZGAgY29tIGAubWF0LWZvcm0tZmllbGQtZGlzYWJsZWRgLlxuICAubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgIG9wYWNpdHk6IDAuNTU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vIExhYmVsIGVzbWFlY2lkbyBqdW50byBxdWFuZG8gYSBjYWl4YSBlc3TDoSBkZXNhYmlsaXRhZGEuIE8gYC50aS1kZXNjcmlwdGlvbmBcbiAgLy8gw6kgaXJtw6NvIEFOVEVSSU9SIGRvIG1hdC1mb3JtLWZpZWxkIChmb3JhIGRvIGFsY2FuY2UgZGUgY29tYmluYXRvciBjb211bSksXG4gIC8vIGVudMOjbyBkZXRlY3RhbW9zIG8gZXN0YWRvIHBlbG8gd3JhcHBlciBjb20gYDpoYXMoKWAuXG4gID4gZGl2OmhhcygubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQpIC50aS1kZXNjcmlwdGlvbiB7XG4gICAgb3BhY2l0eTogMC41NTtcbiAgfVxufVxuXG4vLyDilIDilIDilIAgVmFyaWFudDogdGV4dC1pbnB1dCAoaW5wdXQgc2ltcGxlcykg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5hcHAtdGV4dC1pbnB1dC5maWx0ZXItc3R5bGVkIHtcbiAgQGV4dGVuZCAlZmlsdGVyLXN0eWxlZC1ib3g7XG59XG5cbi8vIOKUgOKUgOKUgCBWYXJpYW50OiBpbnB1dC1maWx0ZXItYXV0b2NvbXBsZXRlIChpbnB1dCArIG1hdC1hdXRvY29tcGxldGUpIOKUgOKUgOKUgOKUgFxuLy8gRXN0ZW5kZSBUZXh0SW5wdXRDb21wb25lbnQg4oCUIGhlcmRhIGBkZXNjcmlwdGlvbmAgZSB2aXN1YWwgZGUgaW5wdXQuXG5hcHAtaW5wdXQtZmlsdGVyLWF1dG9jb21wbGV0ZS5maWx0ZXItc3R5bGVkIHtcbiAgQGV4dGVuZCAlZmlsdGVyLXN0eWxlZC1ib3g7XG59XG5cbi8vIOKUgOKUgOKUgCBWYXJpYW50OiBtdWx0aWxpbmUtdGV4dC1pbnB1dCAodGV4dGFyZWEpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gRGlmZXJlbnRlIGRvcyBkZW1haXM6IGFsdHVyYSBuw6NvLWZpeGEgKGNyZXNjZSBjb20gYFtyb3dzXWApLiBSZXVzYSBhXG4vLyBjYWl4YSBjaHJvbWUgbWFzIGxpYmVyYSBoZWlnaHQgYXV0by9taW4taGVpZ2h0LlxuYXBwLW11bHRpbGluZS10ZXh0LWlucHV0LmZpbHRlci1zdHlsZWQge1xuICBAZXh0ZW5kICVmaWx0ZXItc3R5bGVkLWJveDtcblxuICAvLyBXcmFwcGVyIGxvY2FsIGVzcGVjw61maWNvIGRvIG11bHRpbGluZSAoYGRpdi5tdWx0aWxpbmUtdGV4dC1pbnB1dGApLlxuICA+IC5tdWx0aWxpbmUtdGV4dC1pbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLy8gQm94IGFicmHDp2EgbyB0ZXh0YXJlYSDigJQgc2VtIGFsdHVyYSBmaXhhIG5lbSBtaW4taGVpZ2h0IHByw7NwcmlvIChvIG1pbiDDqVxuICAvLyBkbyB0ZXh0YXJlYSk7IHBhZGRpbmcgdmVydGljYWwgbWFudMOpbSBvIHJlc3Bpcm8gaW50ZXJuby4gYG1hcmdpbjogMGBcbiAgLy8gc29icmVzY3JldmUgbyBgbWFyZ2luOiAxNnB4IDAgMGAgaGVyZGFkbyBkbyBiYXNlIHByZXNldCAocXVlIHJlc2VydmFyaWFcbiAgLy8gZXNwYcOnbyBwcm8gbGFiZWwtYWNpbWEgYWJzb2x1dG8g4oCUIG7Do28gdXNhZG8gbm8gbXVsdGlsaW5lIHBhZHLDo28pLlxuICAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiA4cHggMTBweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gUXVhbmRvIEjDgSBkZXNjcmlwdGlvbiBsYWJlbCAoYC50aS1kZXNjcmlwdGlvbmApLCByZXN0YXVyYSBhIHJlc2VydmEgZGVcbiAgLy8gMTZweCBubyB0b3BvIHByYSBxdWUgbyBsYWJlbCBhYnNvbHV0byBuw6NvIGZpcXVlIHNvYnJlcG9zdG8gYW8gdGV4dGFyZWEuXG4gICY6aGFzKD4gLm11bHRpbGluZS10ZXh0LWlucHV0ID4gLnRpLWRlc2NyaXB0aW9uKSAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgbWFyZ2luLXRvcDogMTZweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gT3ZlcnJpZGUgZG8gaW5maXgtZmxleCBoZXJkYWRvIGRvIGJhc2UgcHJlc2V0IChuZWNlc3PDoXJpbyBwcm8gYWxpbmhhbWVudG9cbiAgLy8gcHJlZml4K2lucHV0IG5vIHRleHQtaW5wdXQpLiBQcm8gbXVsdGlsaW5lLCB0ZXh0YXJlYSDDqSBvIMO6bmljbyBmaWxobyBlXG4gIC8vIHF1ZXJlbW9zIHF1ZSBlbGUgXCJmaXF1ZSBjb2xhZG9cIiBubyB0b3BvIGRvIGJveCwgc2VtIGNlbnRyYWxpemHDp8OjbyBvdVxuICAvLyBzdHJldGNoIHF1ZSBjcmlhIGdhcCBhY2ltYSBkbyB0ZXh0by5cbiAgLm1hdC1mb3JtLWZpZWxkLWluZml4IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBhbGlnbi1zZWxmOiBhdXRvO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIFRleHRhcmVhIGF1dG8tY3Jlc2NlIHZpYSBgY2RrVGV4dGFyZWFBdXRvc2l6ZWAg4oCUIGByZXNpemU6IG5vbmVgIGRlc2xpZ2FcbiAgLy8gbyBoYW5kbGUgbWFudWFsIGRvIGJyb3dzZXIgKENESyBhanVzdGEgc296aW5obyBhbyBjb250ZcO6ZG8pLiBgb3ZlcmZsb3c6XG4gIC8vIGhpZGRlbmAgaW1wZWRlIHNjcm9sbGJhciDigJQgYSBjYWl4YSBTRU1QUkUgbW9zdHJhIHRvZG8gbyB0ZXh0by5cbiAgLy8gQSBhbHR1cmEgTcONTklNQSDDqSBjb250cm9sYWRhIHBlbG8gYFtjZGtBdXRvc2l6ZU1pblJvd3NdYCBubyB0ZW1wbGF0ZVxuICAvLyAoY29uc3VtaWRvcmVzIHBhc3NhbSBgcm93cz1cIk5cImApIOKAlCBOw4NPIHVzYXIgQ1NTIGBtaW4taGVpZ2h0YCBhcXVpXG4gIC8vIChjYXVzYSBkb3VibGUtbWluIGNvbSBvIENESyBlIGEgY2FpeGEgY3Jlc2NlIGVycmFkbykuXG4gIHRleHRhcmVhLm1hdC1pbnB1dC1lbGVtZW50IHtcbiAgICByZXNpemU6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgICAgICAgLy8gQ0RLIGF1dG9zaXplIG1lZGUgZW0gY29udGVudC1ib3g7IHNlbSBpc3RvIGJvcmRhK3BhZGRpbmcgcG9kZW0gY2xpcGFyXG4gICAgLy8gbGluZS1oZWlnaHQgZXhwbMOtY2l0byAoMS41ID0gZXNwYcOnYW1lbnRvIHJlc3BpcsOhdmVsIGRlIGxlaXR1cmEpIOKAlFxuICAgIC8vIGBub3JtYWxgIGNhdXNhIG8gYGNka1RleHRhcmVhQXV0b3NpemVgIGEgc3ViLW1lZGlyIG8gc2Nyb2xsSGVpZ2h0XG4gICAgLy8gKGJyb3dzZXJzIHJldG9ybmFtIHVtIHZhbG9yIHF1ZSBkaWZlcmUgYWxndW5zIHB4IGRvIGFsdHVyYSByZWFsLFxuICAgIC8vIGNsaXBhbmRvIGEgw7psdGltYSBsaW5oYSkuIFZhbG9yIG51bcOpcmljbyDDqSBkZXRlcm1pbsOtc3RpY28uXG4gICAgLy8gYCFpbXBvcnRhbnRgIHNvYnJlc2NyZXZlIG8gYGxpbmUtaGVpZ2h0OiAxYCBkbyBiYXNlIHByZXNldCAocXVlIMOpXG4gICAgLy8gcHJvIGFsaW5oYW1lbnRvIHByZWZpeCtpbnB1dCBubyBpbmxpbmUgaW5wdXQpLlxuICAgIGxpbmUtaGVpZ2h0OiAxLjUgIWltcG9ydGFudDtcbiAgICAvLyBQYWRkaW5nLWJvdHRvbSAycHggPSBidWZmZXIgcHJhIGNvYnJpciBhcnJlZG9uZGFtZW50b3MgZG8gYXV0b3NpemVcbiAgICAvLyBxdWUgYWluZGEgYXNzaW0gY29ydGFtIGEgw7psdGltYSBsaW5oYSBlbSBhbGd1bnMgYnJvd3NlcnMvZm9udGVzLlxuICAgIHBhZGRpbmc6IDAgMCAycHggIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyDilIDilIDilIAgVmFyaWFudDogc2VsZWN0LWlucHV0IChjb21ibyBib3gpIGUgdmFyaWFudGVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gUmVmaW5hZG8gMjAyNi0wNiBwcmEgcHV4YXIgbGluZ3VhZ2VtIE5BVElWQSBkZSBzZWxlY3QgZG8gbWFjT1MvV2luZG93czpcbi8vICAgMS4gQmcgZGEgY2FpeGEgbWFpcyBTVVRJTCAoc2VtaS10cmFuc3BhcmVudGUsIGVzdGlsbyBOU1BvcFVwQnV0dG9uKS5cbi8vICAgMi4gQ2hldnJvbiBEVVBMTyAo4oeFIHVwK2Rvd24pIGNvbW8gbm8gbWFjT1MuXG4vLyAgIDMuIFNVQi1CT1TDg08gdmlzdWFsIMOgIGRpcmVpdGEgKGxldmUgYmcgKyBib3JkZXItbGVmdCkgY29tbyBXaW5kb3dzLlxuLy8gICA0LiBFc3RhZG9zIGRlIGZvY28vaG92ZXIgcGVybWFuZWNlbSBpbnRhY3RvcyAoYWNjZW50KSDigJQgc8OzIG8gcmVzdG8gbXVkYS5cbmFwcC1zZWxlY3QtaW5wdXQuZmlsdGVyLXN0eWxlZCxcbmFwcC1zZWxlY3QtaW5wdXQtZmxhZy5maWx0ZXItc3R5bGVkLFxuYXBwLXNlbGVjdC1pbnB1dC1sZS5maWx0ZXItc3R5bGVkIHtcbiAgQGV4dGVuZCAlZmlsdGVyLXN0eWxlZC1ib3g7XG5cbiAgLy8gMSkgQmcgc2VtaS10cmFuc3BhcmVudGUgc29icmUgbyBjYW52YXMg4oCUIGZsdXR1YSBzdXRpbCwgZXN0aWxvIG1hY09TLlxuICAvLyAgICBNYW50w6ltIGxlZ2liaWxpZGFkZSBkbyB0ZXh0byAoYm9yZGEgY29udGludWEgZGVmaW5pbmRvIG8gYm94KS5cbiAgLy8gICAg4pqgIE7Dg08gc29icmVzY3JldmVyIGBkaXNwbGF5YC9gYWxpZ24taXRlbXNgIGRvIGAubWF0LXNlbGVjdC12YWx1ZWAgb3VcbiAgLy8gICAgYC5tYXQtc2VsZWN0LXRyaWdnZXJgIOKAlCBNYXRlcmlhbCBsZWdhY3kgdXNhIGBkaXNwbGF5OiB0YWJsZS1jZWxsYCBub1xuICAvLyAgICB2YWx1ZTsgdHJvY2FyIHAvIGZsZXggZmF6IG8gdGV4dG8gc3VtaXIuXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzIpO1xuICB9XG5cbiAgLy8gTWF0ZXJpYWwgMTEgdXNhIGBkaXNwbGF5OiBpbmxpbmUtdGFibGVgIG5vIGAubWF0LXNlbGVjdC10cmlnZ2VyYCAoY29tXG4gIC8vIHZhbHVlL2Fycm93IGNvbW8gdGFibGUtY2VsbHMpLiBJc3NvIGltcGVkZSBvIHdyYXBwZXIgZG8gYXJyb3cgZGVcbiAgLy8gcmVzcGVpdGFyIGBhbGlnbi1zZWxmYCBlIHRyYXZhIGEgYWx0dXJhIGRhIHJvdyBuYSBkbyB0ZXh0by4gRm9yw6dhbW9zXG4gIC8vIEZMRVggbm8gdHJpZ2dlciBlIGBkaXNwbGF5OiBibG9jazsgZmxleDogMSAxIGF1dG9gIG5vIHZhbHVlIHByYVxuICAvLyBwcmVzZXJ2YXIgbyByZW5kZXJpbmcgZG8gdGV4dG8gKGVsbGlwc2lzKSDigJQgc2VtIHF1ZWJyYXIgb1xuICAvLyBgPG1hdC1zZWxlY3QtdmFsdWUtdGV4dD5gLCBxdWUgZXJhIG8gbW90aXZvIG9yaWdpbmFsIGRlIG1hbnRlciBvXG4gIC8vIGRpc3BsYXk6IHRhYmxlLWNlbGwgbm8gdmFsdWUuXG4gIC5tYXQtc2VsZWN0LXRyaWdnZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubWF0LXNlbGVjdC12YWx1ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuXG4gIC8vIDMpIFN1Yi1ib3TDo28gZG8gY2hldnJvbiDigJQgUVVBRFJBRE8gY29tIGNhbnRvcyA0cHggKGlkw6pudGljbyBhb1xuICAvLyAgICBgYXBwLWplbXMtc2VsZWN0YCkuIEJnIHZpYSB0b2tlbiBgJHN1cmZhY2UtcmFpc2VkYCAoaGFybW9uaXphIGNvbVxuICAvLyAgICBvIHJlc3RvIGRvIGNoYWlyIFVJKS4gTWFyZ2VtIG5lZ2F0aXZhIDhweCBwdXhhIG8gc3ViLWJvdMOjbyBwcmFcbiAgLy8gICAgfjJweCBkYSBib3JkYSBkaXJlaXRhIGRvIGJveCAocGFkZGluZy1yaWdodCBkbyBmbGV4IMOpIDEwcHgpLlxuICAubWF0LXNlbGVjdC1hcnJvdy13cmFwcGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IC04cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlOyAgIC8vIG1lc21hIGNvciBkYSBib3JkYSBkYSBjYWl4YTsgZXN0w6F0aWNhXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAgICAgICAgICAgICAgICAgICAgLy8gXCJzb21lXCIgbmEgY2FpeGE7IGhvdmVyIGRhIGNhaXhhIHByZWVuY2hlXG4gICAgLy8gWmVyYSBsaW5lLWhlaWdodCArIHRyYW5zZm9ybSBoZXJkYWRvcyBkbyBNYXRlcmlhbCDigJQgZXZpdGEgb2Zmc2V0XG4gICAgLy8gdmVydGljYWwgZmFudGFzbWEgZGVudHJvIGRvIGPDrXJjdWxvLlxuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAvLyBIb3ZlciBkYSBDQUlYQSBFIG1lbnUgYWJlcnRvIChtYXQtZm9jdXNlZCDihpIgbWF0LXNlbGVjdCBjb20gcGFpbmVsIGFiZXJ0bylcbiAgLy8g4oaSIHN1Yi1ib3TDo28gZ2FuaGEgZmlsbCBkbyB0b2tlbiBlIG8gY2hldnJvbiBcImFjZW5kZVwiIChjb3IgbWFpcyBlc2N1cmEvY2xhcmEpLlxuICAubWF0LWZvcm0tZmllbGQtZmxleDpob3ZlciAubWF0LXNlbGVjdC1hcnJvdy13cmFwcGVyLFxuICAubWF0LWZvY3VzZWQgLm1hdC1zZWxlY3QtYXJyb3ctd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGljb24tY29udGFpbmVyLWJnO1xuICB9XG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyIC5tYXQtc2VsZWN0LWFycm93LFxuICAubWF0LWZvY3VzZWQgLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZC1ob3ZlcjtcbiAgfVxuXG4gIC8vIDIpIENoZXZyb24gRFVQTE8gKHVwK2Rvd24pIOKAlCBTRiBTeW1ib2wgYGNoZXZyb24udXAuY2hldnJvbi5kb3duYCBlbVxuICAvLyAgICBwZXNvIGAubWVkaXVtYC4gQ29yIHZpYSBgVUlDb2xvci5zZWNvbmRhcnlMYWJlbGAgZGEgQXBwbGVcbiAgLy8gICAgKGxpZ2h0OiByZ2JhKDYwLDYwLDY3LDAuNjApIC8gZGFyazogcmdiYSgyMzUsMjM1LDI0NSwwLjYwKSkuXG4gIC8vICAgIFRhbWFuaG8gfjEww5cxMnB0IG1lZGlkbyBlbSBwcmludHMgZG8gU3lzdGVtIFNldHRpbmdzLlxuICAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgY29sb3I6ICRpY29uLW11dGVkO1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAvLyBNYXRlcmlhbCBhcGxpY2EgYHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUlKWAgbm8gYXJyb3cgcC8gY29tcGVuc2FyXG4gICAgLy8gbyB0cmnDom5ndWxvIENTUy1ib3JkZXIgb3JpZ2luYWwuIENvbW8gdXNhbW9zIFNWRyBtYXNrLCBvIHRyYW5zZm9ybVxuICAgIC8vIHPDsyBkZXNjZW50cmFsaXphIOKAlCB6ZXJhbW9zLlxuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAtd2Via2l0LW1hc2s6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTAnIGhlaWdodD0nMTInIHZpZXdCb3g9JzAgMCAxMCAxMic+PHBhdGggZD0nTTIgNCBMNSAxIEw4IDQnIGZpbGw9J25vbmUnIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLz48cGF0aCBkPSdNMiA4IEw1IDExIEw4IDgnIGZpbGw9J25vbmUnIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLz48L3N2Zz5cIikgbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW47XG4gICAgICAgICAgICBtYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEwJyBoZWlnaHQ9JzEyJyB2aWV3Qm94PScwIDAgMTAgMTInPjxwYXRoIGQ9J00yIDQgTDUgMSBMOCA0JyBmaWxsPSdub25lJyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8+PHBhdGggZD0nTTIgOCBMNSAxMSBMOCA4JyBmaWxsPSdub25lJyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8+PC9zdmc+XCIpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICB9XG59XG5cbi5kYXJrLXRoZW1lIHtcbiAgYXBwLXNlbGVjdC1pbnB1dC5maWx0ZXItc3R5bGVkLFxuICBhcHAtc2VsZWN0LWlucHV0LWZsYWcuZmlsdGVyLXN0eWxlZCxcbiAgYXBwLXNlbGVjdC1pbnB1dC1sZS5maWx0ZXItc3R5bGVkIHtcbiAgICAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpOyAgIC8vIHN1dGlsIGVtIGRhcmtcbiAgICB9XG4gICAgLm1hdC1zZWxlY3QtYXJyb3ctd3JhcHBlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmU7XG4gICAgfVxuICAgIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyIC5tYXQtc2VsZWN0LWFycm93LXdyYXBwZXIsXG4gICAgLm1hdC1mb2N1c2VkIC5tYXQtc2VsZWN0LWFycm93LXdyYXBwZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGljb24tY29udGFpbmVyLWJnLWRhcms7XG4gICAgfVxuICAgIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyIC5tYXQtc2VsZWN0LWFycm93LFxuICAgIC5tYXQtZm9jdXNlZCAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgICBjb2xvcjogJGljb24tbXV0ZWQtaG92ZXItZGFyaztcbiAgICB9XG4gICAgLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgICAgY29sb3I6ICRpY29uLW11dGVkLWRhcms7XG4gICAgfVxuICB9XG59XG5cbi8vIEJ1bG1hIGAuY29sdW1uYCBkZWZhdWx0IHRlbSBgcGFkZGluZzogMC43NXJlbWAgKDEycHgpLiBQcm9zIHdyYXBwZXJzXG4vLyBkZSBmb3JtdWzDoXJpbyBkbyBKRU1TMyByZWR1emltb3MgcHJhIDZweCDihpIgZ3JhZGUgbWFpcyBjb21wYWN0YSwgY29tXG4vLyBtZW5vcyBcImFyXCIgZW50cmUgYXMgY2FpeGFzLiBWYWxlIHRhbnRvIHByb3Mgd3JhcHBlcnMgY29tIGAuZmlsdGVyLXN0eWxlZGBcbi8vIHF1YW50byBwcm9zIHF1ZSB1c2FtIGBbd2lkdGhdYCAobnVtYmVyLWlucHV0LCBkYXRldGltZXBpY2tlcikuXG5hcHAtdGV4dC1pbnB1dC5jb2x1bW4sXG5hcHAtc2VsZWN0LWlucHV0LmNvbHVtbixcbmFwcC1zZWxlY3QtaW5wdXQtZmxhZy5jb2x1bW4sXG5hcHAtc2VsZWN0LWlucHV0LWxlLmNvbHVtbixcbmFwcC1pbnB1dC1maWx0ZXItYXV0b2NvbXBsZXRlLmNvbHVtbixcbmFwcC1tdWx0aWxpbmUtdGV4dC1pbnB1dC5jb2x1bW4sXG5hcHAtbnVtYmVyLWlucHV0LmNvbHVtbixcbmFwcC1kYXRldGltZXBpY2tlci1pbnB1dC5jb2x1bW4sXG5hcHAtamVtcy1zZWxlY3QuY29sdW1uIHtcbiAgcGFkZGluZzogNnB4O1xufVxuXG4vLyBNb2JpbGUgKOKJpDc2OHB4KTogZm9yw6dhIG9zIHdyYXBwZXJzIEpFTVMzIGEgc2UgY29tcG9ydGFyZW0gY29tb1xuLy8gYmxvY2sgMTAwJSB3aWR0aCwgdmVuY2VuZG8gbyBgZGlzcGxheTogaW5saW5lLWZsZXhgIGhlcmRhZG8gZG8gcHJlc2V0XG4vLyAocXVlIHRlbSBtYWlvciBlc3BlY2lmaWNpZGFkZSBxdWUgbyBgLmNvbHVtbiB7IGRpc3BsYXk6IGJsb2NrIH1gIEJ1bG1hXG4vLyBubyBtb2JpbGUpLiBTZW0gaXNzbywgb3MgY2FtcG9zIG7Do28gY29sYXBzYW0gcHJhIHZlcnRpY2FsIG5vIGNlbHVsYXIuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICBhcHAtdGV4dC1pbnB1dC5jb2x1bW4sXG4gIGFwcC1zZWxlY3QtaW5wdXQuY29sdW1uLFxuICBhcHAtc2VsZWN0LWlucHV0LWZsYWcuY29sdW1uLFxuICBhcHAtc2VsZWN0LWlucHV0LWxlLmNvbHVtbixcbiAgYXBwLWlucHV0LWZpbHRlci1hdXRvY29tcGxldGUuY29sdW1uLFxuICBhcHAtbXVsdGlsaW5lLXRleHQtaW5wdXQuY29sdW1uLFxuICBhcHAtbnVtYmVyLWlucHV0LmNvbHVtbixcbiAgYXBwLWRhdGV0aW1lcGlja2VyLWlucHV0LmNvbHVtbixcbiAgYXBwLWplbXMtc2VsZWN0LmNvbHVtbiB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIE92ZXJsYXlzIGRvcyBkcm9wZG93bnMgKG1hdC1zZWxlY3QsIG1hdC1hdXRvY29tcGxldGUsIGRhdGVwaWNrZXIpIOKAlFxuLy8gcmVuZGVyaXphZG9zIGZvcmEgZG8gaG9zdCBwZWxvIENESyBPdmVybGF5LCBwb3J0YW50byBhIHJlZ3JhIMOpIEdMT0JBTFxuLy8gKG7Do28gcG9kZSBzZXIgc2NvcGVhZGEgcGVsbyBob3N0KS4gMXB4IGRlIHJlc3Bpcm8gZW50cmUgYSBib3JkYSBpbmZlcmlvclxuLy8gZGEgY2FpeGEgZSBvIHRvcG8gZG8gcGFpbmVsLCBwcmEgbsOjbyBwYXJlY2VyIFwiY29sYWRvXCIgbm8gaW5wdXQuXG4ubWF0LXNlbGVjdC1wYW5lbCxcbi5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsLFxuLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQge1xuICBtYXJnaW4tdG9wOiAxcHg7XG59XG5cbi8vIENhbGVuZMOhcmlvIGRvIGRhdGVwaWNrZXI6IHF1YW5kbyBvIENESyBwb3NpY2lvbmEgQUNJTUEgKHNlbSBlc3Bhw6dvXG4vLyBlbWJhaXhvKSwgbyBgbWFyZ2luLXRvcGAgYWNpbWEgw6kgaXJyZWxldmFudGUg4oCUIHPDsyBgbWFyZ2luLWJvdHRvbWAgY3JpYVxuLy8gbyByZXNwaXJvIGVudHJlIGEgYm9yZGEgaW5mZXJpb3IgZG8gY2FsZW5kw6FyaW8gZSBhIHN1cGVyaW9yIGRhIGNhaXhhLlxuLy8gMnB4IChhIHBlZGlkbyBkbyB1c3XDoXJpbykg4oCUIGBtYXJnaW4tdG9wOiAxcHhgIGNvbnRpbnVhIGFwbGljYWRvIHByYVxuLy8gYWJlcnR1cmEgcGFkcsOjbyAocHJhIGJhaXhvKS5cbi5tYXQtZGF0ZXBpY2tlci1jb250ZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xufVxuXG4vLyBtYXQtYXV0b2NvbXBsZXRlIGFiZXJ0byBBQ0lNQSBkbyBjYW1wbzogbyBDREsgcMO1ZSBhIGNsYXNzZSBgbWF0LWF1dG9jb21wbGV0ZS1wYW5lbC1hYm92ZWBcbi8vIG5vIGAuY2RrLW92ZXJsYXktcGFuZWAuIEHDrSBhIGJvcmRhIElORkVSSU9SIGRvIHBhaW5lbCBlbmNvc3RhIG5vIHRvcG8gZGEgY2FpeGEgZSBjb2JyZSBhXG4vLyBib3JkYSBhenVsIGRvIGlucHV0LiBgbWFyZ2luLWJvdHRvbTogMXB4YCBhZmFzdGEgbyBwYWluZWwgMXB4IHByYSBjaW1hLCByZXZlbGFuZG8gbyBhenVsXG4vLyAobyBgbWFyZ2luLXRvcDogMXB4YCBnbG9iYWwgc8OzIHZhbGUgcHJhIGFiZXJ0dXJhIHByYSBiYWl4bykuIEVzY29wbyBuYSBidXNjYSBkZSB1c3XDoXJpb3MuXG4ubWF0LWF1dG9jb21wbGV0ZS1wYW5lbC1hYm92ZSAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbC51c2VyLXNlYXJjaC1hdXRvY29tcGxldGUge1xuICBtYXJnaW4tYm90dG9tOiAxcHg7XG59XG5cbi8vIENocm9tZSBkb3MgcGFpbsOpaXMgZGUgZHJvcGRvd24gKG1hdC1zZWxlY3QgLyBtYXQtYXV0b2NvbXBsZXRlKSB2ZW0gZG9cbi8vIHByZXNldCBjb21wYXJ0aWxoYWRvIGAuamVtczMtc2VsZWN0LXBhbmVsYCBlbSBgX2NvbG9yLXNjaGVtZS5zY3NzYC4gT3Ncbi8vIHdyYXBwZXJzIGAuZmlsdGVyLXN0eWxlZGAgKGFwcC1zZWxlY3QtaW5wdXQsIC1mbGFnLCAtbGUpIGFwbGljYW0gZXNzZVxuLy8gcGFuZWxDbGFzcyBhdXRvbWF0aWNhbWVudGUgdmlhIG5nT25Jbml0IOKAlCBvIGNvbnN1bWVyIG7Do28gcHJlY2lzYSBwYXNzYXJcbi8vIG5hZGEuIEFxdWkgTsODTyByZWRlZmluaW1vcyBnbG9iYWxtZW50ZSBgLm1hdC1zZWxlY3QtcGFuZWxgIHBvcnF1ZSBpc3NvXG4vLyBhZmV0YSBtZW51cyBmb3JhIGRvIHBhZHLDo28gSkVNUzMgKEFuZ3VsYXIgTWF0ZXJpYWwgcHVyb3MsIGNoaXAtbWVudXMgZXRjLikuXG5cbi8vIERhcmsgdGhlbWUg4oCUIHBhcmVpYSBvcyB0b2tlbnMgKi1kYXJrIGRlIGNhZGEgcHJvcHJpZWRhZGUgcGludGFkYS5cbi5kYXJrLXRoZW1lIHtcbiAgYXBwLXRleHQtaW5wdXQuZmlsdGVyLXN0eWxlZCxcbiAgYXBwLXNlbGVjdC1pbnB1dC5maWx0ZXItc3R5bGVkLFxuICBhcHAtc2VsZWN0LWlucHV0LWZsYWcuZmlsdGVyLXN0eWxlZCxcbiAgYXBwLXNlbGVjdC1pbnB1dC1sZS5maWx0ZXItc3R5bGVkLFxuICBhcHAtaW5wdXQtZmlsdGVyLWF1dG9jb21wbGV0ZS5maWx0ZXItc3R5bGVkLFxuICBhcHAtbXVsdGlsaW5lLXRleHQtaW5wdXQuZmlsdGVyLXN0eWxlZCB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyaztcbiAgICAgIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmU7XG4gICAgfVxuICAgIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZTtcbiAgICB9XG4gICAgLm1hdC1pbnB1dC1lbGVtZW50LFxuICAgIC5tYXQtc2VsZWN0LXZhbHVlLXRleHQge1xuICAgICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4gICAgfVxuICAgIC50aS1kZXNjcmlwdGlvbiB7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAgIH1cbiAgICAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAgIH1cbiAgICAmLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1mbGV4LFxuICAgIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgIH1cbiAgfVxufVxuXG4vLyDilIDilIAgYXBwLXVzZXItc2VhcmNoIGVtIE9WRVJMQVkgKHBvcG92ZXIvZGnDoWxvZ28pOiBjb250w6ltIG8gaGludCBuYSBjYWl4YSDilIDilIDilIDilIDilIDilIBcbi8vIE8gYGFwcC11c2VyLXNlYXJjaGAgcMO1ZSBvIGAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJgIGVtXG4vLyBgcG9zaXRpb246IGFic29sdXRlYCAoc2VtIHRvcC9sZWZ0KSBwcmEgYSDDoXJlYSBkZSBoaW50IG7Do28gZGVzYWxpbmhhciB2aXppbmhvc1xuLy8gaW5saW5lIChhbGlnbi1pdGVtczpjZW50ZXIpIG5vcyBGT1JNVUzDgVJJT1MgZGUgcMOhZ2luYS4gTWFzIG51bSBvdmVybGF5IGZsdXR1YW50ZVxuLy8gbyB3cmFwcGVyIGFic29sdXRlIHBvdXNhIEZPUkEgZGEgY2FpeGEg4oCUIG8gaGludCBcIk5lbmh1bSB1c3XDoXJpbyBlbmNvbnRyYWRvXCJcbi8vIGFwYXJlY2lhIHNvbHRvIGFiYWl4byBkbyBwb3BvdmVyLiBDb21vIG9zIHVzb3MgaW5saW5lIGNvbSBhbGluaGFtZW50byB2aXZlbSBlbVxuLy8gcMOhZ2luYXMgKG7Do28gZW0gb3ZlcmxheXMpLCBkZXZvbHZlbW9zIG8gc3Vic2NyaXB0IGFvIGZsdXhvIEdMT0JBTE1FTlRFIHAvIHRvZG9cbi8vIHVzZXItc2VhcmNoIGRlbnRybyBkZSBgLmNkay1vdmVybGF5LXBhbmVgLiBTb2x1w6fDo28gw7puaWNhIChzZW0gZml4ZXMgcG9yIHDDoWdpbmEpOlxuLy8gc3Vic3RpdHVpIG9zIHBhdGNoZXMgcG9udHVhaXMgdGlwbyBgLnJlY2lwaWVudC1zZWFyY2gtcG9wb3ZlcmAuXG4uY2RrLW92ZXJsYXktcGFuZSBhcHAtdXNlci1zZWFyY2ggLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG4uY2RrLW92ZXJsYXktcGFuZSBhcHAtdXNlci1zZWFyY2ggLm1hdC1oaW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgcGFkZGluZzogMCA0cHg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb2xvcnMnO1xuXG4vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3JzIGZvciBzdWJtaXNzaW9uIGFuZCByZXZpZXcuXG4kc3VibWlzc2lvbi1iZzogcmdiYSgwLCAwLCAwLCAuMSk7XG4kcmV2aWV3LWJnOiByZ2JhKDAsIDAsIDAsIC4xKTtcblxuLy8vXG4vLyBDbGFzcyBkZWZpbml0aW9ucyBmb3Igc3VibWlzc2lvbiBhbmQgcmV2aWV3IHN0YXR1cywgY29uc2lkZXJpbmcgb3B0aW9uYWwgYmFja2dyb3VuZC1maWxsIGFuZCBsaW5rcy5cbi8vL1xuXG4ucGFwZXJCYWNrZ3JvdW5kIHsgLy8gQ2xhc3MgZm9yIHRvZ2dsaW5nIGJhY2tncm91bmQgT04gYW5kIE9GRi5cbiAgLy8gQ29yIGJhc2UgZG8gdGV4dG8gbm8gQ09OVEFJTkVSIChoZXJkYWRhKSwgbsOjbyBkaXJldG8gbm9zIHNwYW5zL3NtYWxscy4gQW50ZXNcbiAgLy8gYHNwYW46bm90KC5tYXQtYnV0dG9uLXdyYXBwZXIpLCBzbWFsbCB7IGNvbG9yOiAkYmxhY2stMTAwMCB9YCBmb3LDp2F2YSAjMDMwMzAzIGVtIFRPRE9cbiAgLy8gc3Bhbi9zbWFsbCBpbnRlcm5vIGUgQVRST1BFTEFWQSBhIGNvciBwcsOzcHJpYSBkZSBjb21wb25lbnRlcyAoZXguOiBhcHAtZmlsZS1waWxsLFxuICAvLyBkZXNjcmnDp8OjbykuIENvbW8gY29yIGhlcmRhZGEsIGVsZW1lbnRvcyBzZW0gY29yIHByw7NwcmlhIHBlZ2FtIGEgYmFzZTsgY29tcG9uZW50ZXNcbiAgLy8gbWFudMOqbSBhIGRlbGVzLiBWYWxvciA9ICMzNzM3MzQgKGNvciBiYXNlIGRlIHRleHRvIGRvIHNpc3RlbWEpLCBuw6NvIG8gIzAzMDMwMyBhbnRlcmlvci5cbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuXG4gIGEsIC5mYS1maWxlLXBkZiwgLmZhLXVwbG9hZCB7XG4gICAgY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRGFyazogdHJvY2EgcHJvIGFjY2VudC1kYXJrIChhbWJlci00MDApLiBQYWRyw6NvIGRlIHRvZGEgY2hhaXIgVUk6XG4gIC8vIGFjY2VudCBtdWRhIGVudHJlIHRlbWFzLiBgIWltcG9ydGFudGAgbmVjZXNzw6FyaW8gcHJhIHZlbmNlciBhcyByZWdyYXNcbiAgLy8gbGlnaHQgYWNpbWEgKHRhbWLDqW0gY29tIGAhaW1wb3J0YW50YCkuXG4gIC5kYXJrLXRoZW1lICYge1xuICAgIGEsIC5mYS1maWxlLXBkZiwgLmZhLXVwbG9hZCB7XG4gICAgICBjb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zdWJtaXNzaW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VibWlzc2lvbi1iZztcbiAgfVxuXG4gIC5yZXZpZXcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRyZXZpZXctYmc7XG4gIH1cblxuICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbiAgLy8gcGFkZGluZzogNHB4IDEwcHggIWltcG9ydGFudDtcbiAgY29sb3I6ICRjb250ZW50LWNvbG9yO1xuXG4gIEBtaXhpbiBnZW5lcmF0ZS1zdGF0dXMtYmFja2dyb3VuZCgkc3RhdHVzLWxpc3QpIHtcbiAgICBAZWFjaCAkc3RhdHVzLCAkY29udGVudCBpbiAkc3RhdHVzLWxpc3Qge1xuICAgICAgJi4jeyRzdGF0dXN9LCAmLiN7JHN0YXR1c30ucGFwZXItc3RhdHVzIHtcbi8vICAgICAgICBhIHtcbi8vICAgICAgICAgIGNvbG9yOiAje250aCgkY29udGVudCwgMil9ICFpbXBvcnRhbnQ7XG4vLyAgICAgICAgfVxuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICN7bnRoKCRjb250ZW50LCAxKX0gIWltcG9ydGFudDtcblxuICAgICAgICAubWF0LWljb24uc3RhdHVzLWljb24ge1xuICAgICAgICAgIGNvbG9yOiAje250aCgkY29udGVudCwgMyl9ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnN1Ym1pc3Npb24ge1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXN0YXR1cy1iYWNrZ3JvdW5kKCRzdWJtaXNzaW9uLXN0YXR1cyk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtc3RhdHVzLWJhY2tncm91bmQoJHB1YmxpY2F0aW9uLXN0YXR1cyk7XG4gIH1cblxuICAvLyBUYWcgZGUgcmV2aXPDo286IGZ1bmRvIENMQVJPIChsaWdodGVuIGRhIGNvciBkbyBzdGF0dXMpICsgYm9yZGEgRVNDVVJBXG4gIC8vIGRvIG1lc21vIHRvbSAoZGFya2VuKS4gU29icmVzY3JldmUgbyBiZyBjaGVpbyBkbyBnZW5lcmF0ZS1zdGF0dXMtYmFja2dyb3VuZFxuICAvLyBzw7Mgbm8gY2hpcCAoLnBhcGVyLXN0YXR1cykg4oCUIG8gZmlsbCBkZSBjYXJkL2xpbmhhIGNvbnRpbnVhIG5hIGNvciBjaGVpYS5cbiAgQG1peGluIGdlbmVyYXRlLXN0YXR1cy1yZXZpZXctYm9yZGVyKCRzdGF0dXMtbGlzdCkge1xuICAgIEBlYWNoICRzdGF0dXMsICRjb250ZW50IGluICRzdGF0dXMtbGlzdCB7XG4gICAgICAmLiN7JHN0YXR1c30ucGFwZXItc3RhdHVzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihudGgoJGNvbnRlbnQsIDEpLCAyMCUpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtlbihudGgoJGNvbnRlbnQsIDEpLCAzMCUpICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLy8gw41jb25lIG5vIG1lc21vIHRvbSBlc2N1cm8gZGEgYm9yZGEuXG4gICAgICAgIC5tYXQtaWNvbi5zdGF0dXMtaWNvbiB7XG4gICAgICAgICAgY29sb3I6IGRhcmtlbihudGgoJGNvbnRlbnQsIDEpLCAzMCUpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnJldmlldyB7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtc3RhdHVzLWJhY2tncm91bmQoJHJldmlldy1zdGF0dXMpO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXN0YXR1cy1yZXZpZXctYm9yZGVyKCRyZXZpZXctc3RhdHVzKTtcbiAgfVxuXG4gIC8vIERpZmVyZW5jaWHDp8OjbyBkZSBGT1JNQSBlbnRyZSBvcyBkb2lzIHNpc3RlbWFzIGRlIHN0YXR1cyAoYW1ib3NcbiAgLy8gcHJlZW5jaGlkb3Mg4oCUIGJvbSBjb250cmFzdGUpOiBzdWJtaXNzw6NvID0gUElMTCBzdXBlci1hcnJlZG9uZGFkbztcbiAgLy8gcmV2aXPDo28gPSBSRVTDgk5HVUxPLiBFc2NvcG8gbm8gY2hpcCAoLnBhcGVyLXN0YXR1cykuIFByw6ktYXRlbnRpdm8uXG4gICYuc3VibWlzc2lvbi5wYXBlci1zdGF0dXMge1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgJi5yZXZpZXcucGFwZXItc3RhdHVzIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc3RhdHVzQmFja2dyb3VuZCB7XG4gIEBtaXhpbiBnZW5lcmF0ZS1zdGF0dXMtYmFja2dyb3VuZCgkc3RhdHVzLWxpc3QpIHtcbiAgICAgIEBlYWNoICRzdGF0dXMsICRjb250ZW50IGluICRzdGF0dXMtbGlzdCB7XG4gICAgICAmLiN7JHN0YXR1c30uaWNvbi1zdGF0dXMtbW9iaWxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI3tudGgoJGNvbnRlbnQsIDEpfSAhaW1wb3J0YW50O1xuXG4gICAgICAgIGhlaWdodDogMTlweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG5cbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCA1cHggcmdiYSgwLCAwLCAwLCAuMykgO1xuXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogM3B4O1xuXG4gICAgICAgIGJvcmRlcjogMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgICAgIC5ib3JkZXJCYWNrZ3JvdW5kIHtcbiAgICAgICAgICAmLmJvcmRlckNvbG9yQmFja2dyb3VuZCB7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAubWF0LWljb24uaWNvbiB7XG4gICAgICAgICAgY29sb3I6ICN7bnRoKCRjb250ZW50LCAzKX0gIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG5cbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0cmluZyB7XG4gICAgICAgICAgLy8gY29sb3I6ICN7bnRoKCRjb250ZW50LCAzKX0gIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgICAgLy8gZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUYWcgZGUgcmV2aXPDo28gbW9iaWxlOiBmdW5kbyBjbGFybyAobGlnaHRlbikgKyBib3JkYSBlc2N1cmEgKGRhcmtlbikuXG4gIEBtaXhpbiBnZW5lcmF0ZS1zdGF0dXMtcmV2aWV3LWJvcmRlcigkc3RhdHVzLWxpc3QpIHtcbiAgICBAZWFjaCAkc3RhdHVzLCAkY29udGVudCBpbiAkc3RhdHVzLWxpc3Qge1xuICAgICAgJi4jeyRzdGF0dXN9Lmljb24tc3RhdHVzLW1vYmlsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4obnRoKCRjb250ZW50LCAxKSwgMjAlKSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4obnRoKCRjb250ZW50LCAxKSwgMzAlKSAhaW1wb3J0YW50O1xuXG4gICAgICAgIC8vIMONY29uZSBubyBtZXNtbyB0b20gZXNjdXJvIGRhIGJvcmRhLlxuICAgICAgICAubWF0LWljb24uaWNvbiB7XG4gICAgICAgICAgY29sb3I6IGRhcmtlbihudGgoJGNvbnRlbnQsIDEpLCAzMCUpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnN1Ym1pc3Npb24ge1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXN0YXR1cy1iYWNrZ3JvdW5kKCRzdWJtaXNzaW9uLXN0YXR1cyk7XG4gIH1cblxuICAmLnJldmlldyB7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtc3RhdHVzLWJhY2tncm91bmQoJHJldmlldy1zdGF0dXMpO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXN0YXR1cy1yZXZpZXctYm9yZGVyKCRyZXZpZXctc3RhdHVzKTtcbiAgfVxuXG4gIC8vIERpZmVyZW5jaWHDp8OjbyBkZSBGT1JNQSAobW9iaWxlKTogc3VibWlzc8OjbyA9IFBJTEw7IHJldmlzw6NvID0gUkVUw4JOR1VMTy5cbiAgLy8gQW1ib3MgY29tIMOtY29uZS5cbiAgJi5zdWJtaXNzaW9uLmljb24tc3RhdHVzLW1vYmlsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHggIWltcG9ydGFudDtcbiAgfVxuICAmLnJldmlldy5pY29uLXN0YXR1cy1tb2JpbGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDNweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIFN1Ym1pc3Npb24gRm9ybSBBbnN3ZXJzXG4uc3VibWlzc2lvbi1mb3JtLWl0ZW0ge1xuICBwIHtcbiAgICAuZmllbGQtdGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgLmZpZWxkLWRlc2NyaXB0aW9uIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG4gIH1cbn1cbiIsIiAgLy8gTUQzIGJvZHktc21hbGwgKDEycHggLyA0MDAgLyAxNnB4IGxpbmUtaGVpZ2h0IC8gKzAuMDI1cmVtIHRyYWNraW5nKS5cbiAgLmxlZ2VuZCwgLmNhcHRpb24ge1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNXJlbTtcblxuICAgIHNwYW4ge1xuICAgICAgcGFkZGluZzogMC4yNWVtO1xuICAgICAgbWFyZ2luOiAwIDAuMjVlbTtcblxuICAgICAgbWluLXdpZHRoOiA5MHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cbiIsIkBpbXBvcnQgJ2NvbG9ycyc7XG5cbi8vIOKUgOKUgCBBdmlzbyAvIGVzdGFkbyBkZSBww6FnaW5hIChOT1RJQ0UpIOKAlCBkZWZpbmnDp8OjbyDDmk5JQ0EgZSBnbG9iYWwg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBNZW5zYWdlbnMgaW5mb3JtYXRpdmFzIC8gZXN0YWRvcyB2YXppb3MgYW8gbG9uZ28gZGEgcMOhZ2luYSBkZSBzdWJtaXNzw6NvXG4vLyAocmV2aXPDtWVzIG7Do28gbGliZXJhZGFzLCBzZW0gbWVuc2FnZW5zIG5hIGRpc2N1c3PDo28sIHByYXpvIGRlIGNvbmZlcsOqbmNpYSBuw6NvXG4vLyBkZWZpbmlkbywgc2VtIHJlZ3JhcyBkZSBhcnF1aXZvLCBldGMuKS4gVE9ET1MgY29tZcOnYW0gY29tIG8gw61jb25lIGBpbmZvYCBlXG4vLyBjb21wYXJ0aWxoYW0gYWxpbmhhbWVudG8gKMOgIGVzcXVlcmRhKSwgY29yLCBwZXNvIGUgdGFtYW5obyBkYSBmb250ZS5cbi8vXG4vLyBVc28gbm8gdGVtcGxhdGUgKG8gw61jb25lIMOpIE1hdGVyaWFsIFN5bWJvbHMgcG9yIGxpZ2FkdXJhIOKAlCBzZW0gTWF0SWNvbk1vZHVsZSk6XG4vLyAgIDxwIGNsYXNzPVwicGFnZS1ub3RpY2VcIj5cbi8vICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5pbmZvPC9zcGFuPlxuLy8gICAgIDxzcGFuPnt7ICdjaGF2ZS5pMThuJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbi8vICAgPC9wPlxuLnBhZ2Utbm90aWNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luOiA0cHggMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyAgIC8vIDEzcHhcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6ICRncmF5LTUwMDtcblxuICAgIC8vIMONY29uZSBsw61kZXIgKGluZm8pLiBgLm1hdC1pY29uYCB0YW1iw6ltIGNvYmVydG8gcC8gcXVlbSBqw6EgdXNhIDxtYXQtaWNvbj4uXG4gICAgPiAubWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCxcbiAgICA+IC5tYXQtaWNvbiB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG59XG5cbi5kYXJrLXRoZW1lIC5wYWdlLW5vdGljZSB7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4gICAgb3BhY2l0eTogMC43OyAgIC8vIG1lc21hIGxldmV6YSBkYSBtZW5zYWdlbSBkZSByZWZlcsOqbmNpYSAocmVidXR0YWwpIG5vIGRhcmtcbn1cbiIsIi5ob21lIHtcbiAgLnVzZXItZGFzaGJvYXJkLCAuc3VibWlzc2lvbnMsIC5yZXZpZXdzLCAuZXZlbnRzLCAubXlldmVudHMsIC5jb21taXR0ZWVzIHtcbiAgICAubWFpbi10aXRsZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLjVyZW07XG5cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1pUGhvbmU4cGx1cy1wb3J0cmFpdC13aWR0aCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAudnNwYWNlciB7XG4gICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIH1cbiAgfVxuICAuc3VibWlzc2lvbnMsIC5yZXZpZXdzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgfVxufVxuXG4uYWRtaW4ge1xuICAuZXZlbnQtYWRtaW4gLnN1YmNvbmZlcmVuY2Vze1xuICAgIC5jb2x1bW5zIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCJtYXJrZG93biB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cblxuICBoMiB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gIH1cblxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbiRibG9jay1oZWlnaHQ6IDYwcHg7XG4kb3B0aW9ucy13aWR0aDogMjEwcHg7XG4kZmlsdGVycy13aWR0aDogMTIwcHg7XG5cbi5tYWlue1xuICAgICYtaGVhZGVyIHtcbiAgICAgICAgLy8gcGFkZGluZzogMC4yNXJlbTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLy8gQW5jaG9yIHBhcmEgYC5wYWdlLWZpbHRlci1yb3dgIHF1YW5kbyBlbGEgdml2ZSBkZW50cm8gZG8gaGVhZGVyXG4gICAgICAgIC8vIChtb2RvIFwiY2hpcCBjZW50cmFsaXphZG8gbm8gaGVhZGVyXCIpLiBBIHJvdyB2aXJhIGFic29sdXRhbWVudGVcbiAgICAgICAgLy8gY2VudHJhbGl6YWRhIG5vIGVpeG8gWCwgaW5kZXBlbmRlbnRlIGRhIGxhcmd1cmEgZGUgdGl0bGUvb3B0aW9ucy5cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5tYWluLXRpdGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIC8vIFJlY3VvIGVzcXVlcmRvIHBhZHLDo28gZG8gdMOtdHVsbyDigJQgaGlzdG9yaWNhbWVudGUgcHJlc2VudGUgZW1cbiAgICAgICAgICAgIC8vIFN1Ym1pc3PDtWVzICh2aWEgY2FzY2FkZSBpbmRpcmV0YSk7IGV4cGzDrWNpdG8gYXF1aSBwcmEgdmFsZXJcbiAgICAgICAgICAgIC8vIGVtIHRvZGFzIGFzIHDDoWdpbmFzIGNvbSBlc3NlIGhlYWRlciAoYXV0b3IvcmV2aXNvcikuXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAkYmxvY2staGVpZ2h0O1xuXG4gICAgICAgICAgICBmbGV4LWJhc2lzOiBjb250ZW50O1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDE7XG5cbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC5maWx0ZXJBbmRPcHRpb25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLWlQaG9uZThwbHVzLXBvcnRyYWl0LXdpZHRoKSB7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAub3B0aW9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAwLjVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6ICRibG9jay1oZWlnaHQ7XG5cbiAgICAgICAgICAgIC5tYXQtY2hlY2tib3gtbGFiZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubm90aWZ5LWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHJlZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gUXVhbmRvIGjDoSBjaGlwLXNlYXJjaCBkZW50cm8gZG8gLm9wdGlvbnMgKGFwZW5hcyBuYXMgNSBww6FnaW5hc1xuICAgICAgICAgICAgLy8gYXV0b3IvcmV2aXNvciksIHRyb2NhIHBhcmEgbGF5b3V0IGhvcml6b250YWwg4oCUIHRvZ2dsZXMgKyBjaGlwXG4gICAgICAgICAgICAvLyBmaWNhbSBsYWRvIGEgbGFkbyBlbSB2ZXogZGUgZW1waWxoYWRvcyB2ZXJ0aWNhbG1lbnRlLiBPIHJlc3RvXG4gICAgICAgICAgICAvLyBkbyBhcHAgKGNoYWlyIGFkbWluIGV0YykgbWFudMOpbSBmbGV4LWNvbHVtbiBkbyBsZWdhZG8uXG4gICAgICAgICAgICAmOmhhcyhhcHAtY3VzdG9tLXNlYXJjaCkge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBnYXA6IDEycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmlsdGVycyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6ICRibG9jay1oZWlnaHQ7XG5cbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOjAgMC41cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmlsdGVyTGFiZWwge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLWlQaG9uZThwbHVzLXBvcnRyYWl0LXdpZHRoKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAuYWN0aW9uLWJ1dHRvbnMge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgICAgICBoZWlnaHQ6ICRibG9jay1oZWlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDE7XG5cbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOjAgMC4yNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHRhYmxldC1icmVha3VwLXdpZHRoKSB7XG4gICAgICAgICAgICAubWFpbi10aXRsZSB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogJGJsb2NrLWhlaWdodDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hY3Rpb24tYnV0dG9ucyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtYm9keSB7XG4gICAgICAgIHBhZGRpbmc6IDByZW07XG4gICAgfVxuXG4gICAgLy8gRmlsdHJvIGNlbnRyYWxpemFkbyBubyBoZWFkZXIgKG1vZG8gYWx3YXlzT3BlbikuIFVzYSBwb3NpdGlvbjphYnNvbHV0ZVxuICAgIC8vIHBhcmEgZ2FyYW50aXIgY2VudHJhbGl6YcOnw6NvIHZpc3VhbCBleGF0YSwgaWdub3JhbmRvIGFzIGxhcmd1cmFzXG4gICAgLy8gYXNzaW3DqXRyaWNhcyBkZSBgLm1haW4tdGl0bGVgIChlc3F1ZXJkYSkgZSBgLmZpbHRlckFuZE9wdGlvbnNgIChkaXJlaXRhKS5cbiAgICAmLWhlYWRlciA+IC5wYWdlLWZpbHRlci1yb3cge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAvLyBBY2ltYSBkb3MgZGVtYWlzIGZsZXggaXRlbXMgcHJhIG7Do28gZmljYXIgY29iZXJ0by5cbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG59XG5cbi5zZXBhcmF0b3Ige1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBociB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItc2VsZWN0ZWQtbWVudS1jb2xvcjtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItc2VsZWN0ZWQtbWVudS1jb2xvcjtcblxuICAgICAgICBoZWlnaHQ6IDFweDtcblxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAgICAgLy8gd2lkdGg6IDEwMHZ3O1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkZXNrdG9wLXdpZHRoLXNtKSB7XG4gICAgICAgICAgICAvLyB3aWR0aDogY2FsYygxMDB2dyArICgyICogKCN7JGxhdGVyYWwtcGFkZGluZy1jb250ZW50LWRlc2t0b3AtbWR9KSkpO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiAjeyRsYXRlcmFsLXBhZGRpbmctY29udGVudC1kZXNrdG9wLW1kfSk7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZGVza3RvcC13aWR0aC1zbSkge1xuICAgICAgICAgICAgLy8gd2lkdGg6IGNhbGMoMTAwdncgKyAoMiAqICgjeyRsYXRlcmFsLXBhZGRpbmctY29udGVudC1kZXNrdG9wLXNtfSkpKTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogI3skbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtZGVza3RvcC1zbX0pO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHRhYmxldC1icmVha3VwLXdpZHRoKSB7XG4gICAgICAgICAgICAvLyB3aWR0aDogY2FsYygxMDB2dyArICgyICogKCN7JGxhdGVyYWwtcGFkZGluZy1jb250ZW50LXRhYmxldH0pKSk7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqICN7JGxhdGVyYWwtcGFkZGluZy1jb250ZW50LXRhYmxldH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1vYmlsZS13aWR0aCkge1xuICAgICAgICAgICAgLy8gd2lkdGg6IGNhbGMoMTAwdncgKyAoMiAqICgjeyRsYXRlcmFsLXBhZGRpbmctY29udGVudC1tb2JpbGV9KSkpO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiAjeyRsYXRlcmFsLXBhZGRpbmctY29udGVudC1tb2JpbGV9KTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4uc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMXJlbSAwO1xuXG4gICAgJi1oZWFkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gMDtcbiAgICB9XG5cbiAgICAmLWJvZHkge1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMDtcbiAgICB9XG59XG5cbi8vIFNlY3Rpb24gZGl2aWRlciDigJQgbGluaGEgaG9yaXpvbnRhbCBlbnRyZSBzZcOnw7VlcyBhZGphY2VudGVzLlxuLy8gUGFkcsOjbyBjaGFpciBVSSB1c2FkbyBlbSB0b2RhcyBhcyBww6FnaW5hcyBjb20gbcO6bHRpcGxhcyAuc2VjdGlvblxuLy8gKGNoZWNrbGlzdCwgcmV2aWV3cy1jb25maWd1cmF0aW9uLCBldGMuKS4gQm9yZGVyLXRvcCBjb2xvciB2aWFcbi8vIGBfY29sb3Itc2NoZW1lLnNjc3NgICh0aGVtZS1hd2FyZTogJGNocm9tZS1ib3JkZXItbGlnaHQvZGFyaykuXG4vL1xuLy8gYHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnRgIHNvYnJlc2NyZXZlIG8gYC5zZWN0aW9uIHsgcGFkZGluZy10b3A6IDBcbi8vICFpbXBvcnRhbnQgfWAgZm9yw6dhZG8gcG9yIGBfY2FyZC5zY3NzYC4gYG1hcmdpbi10b3A6IDFyZW1gIGTDoSByZXNwaXJvXG4vLyBhY2ltYSBkbyBkaXZpZGVyLlxuLy9cbi8vIENvYnJlIHRhbWLDqW0gY29tYmluYcOnw7VlcyBjb20gYC5yb3ctbWRgICh3cmFwcGVyIGRlIHN1Yi1zZWN0aW9uc1xuLy8gc2lkZS1ieS1zaWRlKSB1c2FkbyBlbSByZXZpZXdzLWNvbmZpZ3VyYXRpb24uXG4uc2VjdGlvbiArIC5zZWN0aW9uLFxuLnNlY3Rpb24gKyAucm93LW1kLFxuLnJvdy1tZCArIC5zZWN0aW9uIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgbWFyZ2luLXRvcDogMC4zcmVtO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zdWJzZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xuXG4gICAgJi1oZWFkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgfVxuXG4gICAgJi1ib2R5IHtcbiAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgIH1cbn1cblxuLnN1YnN1YnNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbn1cblxuLy8gU29tYnJhIGluZmVyaW9yIG5hIHRvb2xiYXIgKG5hdmJhciBhdXRvci9yZXZpc29yKSBBUEVOQVMgbmEgcMOhZ2luYSBkZVxuLy8gc3VibWlzc8OjbyAocGFwZXItaW5mbywgbW9udGFkYSB2aWEgYXBwLXN1Ym1pc3Npb24tdmlldykuIFJlZ3JhIEdMT0JBTCBjb21cbi8vIGA6aGFzKClgIHBvcnF1ZSBhIG5hdmJhciBlIG8gY29udGXDumRvIHPDo28gc3Viw6Fydm9yZXMgSVJNw4NTIHNvYiBgLmhvbWVgXG4vLyAoYDpob3N0LWNvbnRleHRgIHPDsyBhbGNhbsOnYSBhbmNlc3RyYWlzLCBuw6NvIGlybcOjb3MpLiBTw7MgY2FzYSBuYSDDoXJlYSBgLmhvbWVgXG4vLyAoYXV0b3IvcmV2aXNvcikg4oCUIGEgcm90YSBhZG1pbiB1c2Egb3V0cm8gc2hlbGwsIGVudMOjbyBhIGFkbWluIG7Do28gw6kgYWZldGFkYS5cbi5ob21lOmhhcygucGFnZS1jb250ZW50IGFwcC1zdWJtaXNzaW9uLXZpZXcpIGFwcC1uYXZiYXIgLm5hdmJhciB7XG4gICAgYm94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XG59XG4vLyBEYXJrIG1vZGU6IHNvbWJyYSBwcmV0YSBzb2JyZSBmdW5kbyBlc2N1cm8gcHJlY2lzYSBtYWlzIG9wYWNpZGFkZVxuLy8gcHJhIGFuY29yYXIgdmlzdWFsbWVudGUgKGEgbWVzbWEgMC4xOCBkbyBsaWdodCBzb21lIG5vIGRhcmspLlxuLmRhcmstdGhlbWUgLmhvbWU6aGFzKC5wYWdlLWNvbnRlbnQgYXBwLXN1Ym1pc3Npb24tdmlldykgYXBwLW5hdmJhciAubmF2YmFyIHtcbiAgICBib3gtc2hhZG93OiAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjcpLFxuICAgICAgICAgICAgICAgIDAgOHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuXG4vLyBTb21icmEgUEVSTUFORU5URSBuYSBiYXJyYSBkZSBuYXZlZ2HDp8OjbyAoYnJlYWRjcnVtYikgZG8gVFBDIENoYWlyIGVucXVhbnRvIGFcbi8vIHDDoWdpbmEgZGUgc3VibWlzc8OjbyBlc3TDoSBhYmVydGEg4oCUIGVtIGxheW91dCBNT0RFUk5PIChgLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWRgKVxuLy8gT1UgQU1QTE8gKGAud2lkZS1tb2RlYCksIG1hcyBOw4NPIG5vIGNsw6Fzc2ljby1uw6NvLWFtcGxvLiBBIGJhcnJhIFZJU8ONVkVMIMOpIG9cbi8vIGAuZXZlbnQtYnJlYWRjcnVtYmAgKHBvc2l0aW9uOiBmaXhlZCk7IG8gaG9zdCBgYXBwLWV2ZW50LWJyZWFkY3J1bWJgIHPDs1xuLy8gcmVzZXJ2YSAzNnB4IGVtIGZsdXhvIOKAlCBwb3IgaXNzbyBhIHNvbWJyYSB2YWkgbm8gZWxlbWVudG8gaW50ZXJubywgbsOjbyBubyBob3N0XG4vLyAoc2Vuw6NvIGZpY2EgYXRyw6FzIGRhIGJhcnJhLCBpbnZpc8OtdmVsKS5cbi5zaWRlYmFyLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQ6aGFzKGFwcC1zdWJtaXNzaW9uLXZpZXcpIGFwcC1ldmVudC1icmVhZGNydW1iIC5ldmVudC1icmVhZGNydW1iLFxuLnNpZGViYXIud2lkZS1tb2RlOmhhcyhhcHAtc3VibWlzc2lvbi12aWV3KSBhcHAtZXZlbnQtYnJlYWRjcnVtYiAuZXZlbnQtYnJlYWRjcnVtYixcbi5zaWRlYmFyLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQ6aGFzKGFwcC1leHBvcnQtc3VibWlzc2lvbnMpIGFwcC1ldmVudC1icmVhZGNydW1iIC5ldmVudC1icmVhZGNydW1iLFxuLnNpZGViYXIud2lkZS1tb2RlOmhhcyhhcHAtZXhwb3J0LXN1Ym1pc3Npb25zKSBhcHAtZXZlbnQtYnJlYWRjcnVtYiAuZXZlbnQtYnJlYWRjcnVtYiB7XG4gICAgYm94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XG59XG4vLyBEYXJrIG1vZGU6IHNvbWJyYSBwcmV0YSBwcmVjaXNhIG1haXMgb3BhY2lkYWRlIEUgMiBjYW1hZGFzIHByYVxuLy8gYW5jb3JhciBzb2JyZSBmdW5kbyBlc2N1cm8gKG1lc21hIHTDqWNuaWNhIGRhcyBiYXJyYXMgYXV0b3IvcmV2aXNvcikuXG4uZGFyay10aGVtZSAuc2lkZWJhci5sZWdhY3ktY2hyb21lLWRpc2FibGVkOmhhcyhhcHAtc3VibWlzc2lvbi12aWV3KSBhcHAtZXZlbnQtYnJlYWRjcnVtYiAuZXZlbnQtYnJlYWRjcnVtYixcbi5kYXJrLXRoZW1lIC5zaWRlYmFyLndpZGUtbW9kZTpoYXMoYXBwLXN1Ym1pc3Npb24tdmlldykgYXBwLWV2ZW50LWJyZWFkY3J1bWIgLmV2ZW50LWJyZWFkY3J1bWIsXG4uZGFyay10aGVtZSAuc2lkZWJhci5sZWdhY3ktY2hyb21lLWRpc2FibGVkOmhhcyhhcHAtZXhwb3J0LXN1Ym1pc3Npb25zKSBhcHAtZXZlbnQtYnJlYWRjcnVtYiAuZXZlbnQtYnJlYWRjcnVtYixcbi5kYXJrLXRoZW1lIC5zaWRlYmFyLndpZGUtbW9kZTpoYXMoYXBwLWV4cG9ydC1zdWJtaXNzaW9ucykgYXBwLWV2ZW50LWJyZWFkY3J1bWIgLmV2ZW50LWJyZWFkY3J1bWIge1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuNyksXG4gICAgICAgICAgICAgICAgMCA4cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG5cbi8vIFNvbWJyYSBuYSBib3JkYSBESVJFSVRBIGRvIHNpZGViYXIgbW9kZXJubywgbmFzIHDDoWdpbmFzIEZVTEwtQkxFRUQgKHN1Ym1pc3PDo28gZVxuLy8gY2VydGlmaWNhZG8gZGUgYXByZXNlbnRhw6fDo28pLCBvbmRlIG8gY29udGXDumRvIHZhaSBkZSBwb250YSBhIHBvbnRhIGUgcHJlY2lzYSBkZXNzYVxuLy8gc29tYnJhIHByYSBzZSBzZXBhcmFyIGRvIG1lbnUuXG4vL1xuLy8gw4kgdW1hIGBib3gtc2hhZG93YCBOQSBQUsOTUFJJQSBgLmV4cGVyaW1lbnRhbC1zaWRlYmFyYCDigJQgbsOjbyBtYWlzIHVtIHBzZXVkbyBgOjphZnRlcmBcbi8vIGZpeG8gYW5jb3JhZG8gZW0gYGxlZnQ6IHZhcigtLWV4cGVyaW1lbnRhbC1zaWRlYmFyLXdpZHRoKWAuIE1vdGl2bzogbyBwc2V1ZG8gU0FMVEFWQSBhb1xuLy8gYWJyaXIvY29sYXBzYXIgKHVtYSBgdHJhbnNpdGlvbmAgTsODTyByZWFnZSBhIG11ZGFuw6dhIGRlIGN1c3RvbSBwcm9wZXJ0eSBuw6NvLXJlZ2lzdHJhZGEpLFxuLy8gZW5xdWFudG8gbyBgd2lkdGhgIGRvIHNpZGViYXIgYW5pbWF2YSDihpIgbyBcImVmZWl0byBkZSBkb2lzIHBhaW7DqWlzXCIuIENvbW8gYSBib3gtc2hhZG93IGZhelxuLy8gcGFydGUgZGEgY2FpeGEgZG8gc2lkZWJhciwgZWxhIGFjb21wYW5oYSBvIGB3aWR0aGAgbmEgYW5pbWHDp8OjbyBERSBHUkHDh0EsIHNpbmNyb25pemFkYS5cbi8vXG4vLyBPIGBjbGlwLXBhdGhgIHJlY29ydGEgYSBzb21icmEgQUNJTUEgZGEgYmFzZSBkbyBicmVhZGNydW1iIChtZXNtbyBwb250byBxdWUgbyBgdG9wYCBkb1xuLy8gcHNldWRvIGFudGlnbyksIHByYSBlbGEgbsOjbyBjcnV6YXIvY29icmlyIGEgYmFycmEgZGUgbmF2ZWdhw6fDo28uIE8gcG9sw61nb25vIG1hbnTDqW0gVE9ETyBvXG4vLyBjb250ZcO6ZG8gZG8gc2lkZWJhciAoZGVudHJvIGRlIGAwIDAg4oaSIDEwMCUg4oaSIGJvdHRvbWApOyBzw7MgYSBzb21icmEg4oCUIHF1ZSBmaWNhIEFMw4lNIGRlXG4vLyBgMTAwJWAsIMOgIGRpcmVpdGEg4oCUIMOpIHJlY29ydGFkYSBubyB0cmVjaG8gZG8gdG9wbyAoY2xpcC1wYXRoIHJlY29ydGEgYm94LXNoYWRvdykuIEFcbi8vIGBib3JkZXItcmlnaHRgIChkaXZpc29yIGRlIDFweCkgZG8gc2lkZWJhciBwZXJtYW5lY2UsIGRlZmluaWRhIMOgIHBhcnRlLlxuLnNpZGViYXIubGVnYWN5LWNocm9tZS1kaXNhYmxlZDpub3QoLndpZGUtbW9kZSk6aGFzKGFwcC1zdWJtaXNzaW9uLXZpZXcpIC5leHBlcmltZW50YWwtc2lkZWJhcixcbi5zaWRlYmFyLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQ6bm90KC53aWRlLW1vZGUpOmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSAuZXhwZXJpbWVudGFsLXNpZGViYXIsXG4uc2lkZWJhci5sZWdhY3ktY2hyb21lLWRpc2FibGVkOm5vdCgud2lkZS1tb2RlKTpoYXMoYXBwLWV4cG9ydC1zdWJtaXNzaW9ucykgLmV4cGVyaW1lbnRhbC1zaWRlYmFyIHtcbiAgICBib3gtc2hhZG93OiA2cHggMCAxMHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjExKTtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oXG4gICAgICAgIDAgMCxcbiAgICAgICAgMTAwJSAwLFxuICAgICAgICAxMDAlIGNhbGModmFyKC0tY2hyb21lLXRvcC1vZmZzZXQpICsgMzZweCksXG4gICAgICAgIGNhbGMoMTAwJSArIDI0cHgpIGNhbGModmFyKC0tY2hyb21lLXRvcC1vZmZzZXQpICsgMzZweCksXG4gICAgICAgIGNhbGMoMTAwJSArIDI0cHgpIDEwMCUsXG4gICAgICAgIDAgMTAwJVxuICAgICk7XG59XG5cbi8vIENvbnRyb2xlcyBkZSBwdWJsaWNhw6fDo286IGEgcMOhZ2luYSB0ZXJtaW5hIG5hcyBBQkFTIOKAlCBlLCBkZW50cm8gZGVsYXMsIG5hXG4vLyBiYXJyYSBkZSBjb25maXJtYcOnw6NvLCBxdWUgasOhIHRlbSByZXNwaXJvIHByw7NwcmlvLiBPIGBwYWRkaW5nLWJvdHRvbWAgcXVlIG9cbi8vIGNhbnZhcyBhcGxpY2EgcG9yIHBhZHLDo28gKGBhZG1pbi1ldmVudC1zaWRlYmFyLmNvbXBvbmVudC5zY3NzYCkgc29icmEgYXF1aS5cbi8vXG4vLyBBIHJlZ3JhIHZpdmUgQVFVSSwgZSBuw6NvIG5vIFNDU1MgZGEgcMOhZ2luYSwgcG9yIGRvaXMgbW90aXZvcyBxdWUgc2Ugc29tYW06IGFcbi8vIGN1c3RvbSBwcm9wZXJ0eSBwcmVjaXNhIHNlciBlc2NyaXRhIG5vIE1FU01PIGVsZW1lbnRvIHF1ZSBhIGNvbnNvbWUgKGVsYXNcbi8vIGhlcmRhbSBkZSBjaW1hIHBhcmEgYmFpeG8sIGUgbyBgLm1hdC1zaWRlbmF2LWNvbnRlbnRgIMOpIEFOQ0VTVFJBTCBkYSBww6FnaW5hKSxcbi8vIGUgcmVncmEgcXVlIGF0cmF2ZXNzYSBjb21wb25lbnRlcyB0ZW0gZGUgc2VyIGdsb2JhbCDigJQgbm8gU0NTUyBkZSB1bVxuLy8gY29tcG9uZW50ZSBjb20gZW5jYXBzdWxhbWVudG8gZW11bGFkbywgbyBzZWxldG9yIGdhbmhhcmlhIG8gYXRyaWJ1dG8gZGVcbi8vIGVuY2Fwc3VsYW1lbnRvIGUgbsOjbyBjYXNhcmlhIGNvbSB1bSBlbGVtZW50byBkZSBmb3JhLiAxcHggZW0gdmV6IGRlIDAgZXZpdGFcbi8vIGNvbGFwc28gZGUgbWFyZ2VtIGVudHJlIG8gw7psdGltbyBmaWxobyBlIG8gY2FudmFzLlxuLm1hdC1zaWRlbmF2LWNvbnRlbnQ6aGFzKGFwcC1ldmVudC1wdWJsaWNhdGlvbikge1xuICAgIC0tY2FudmFzLXBhZGRpbmctYm90dG9tOiAxcHg7XG59XG5cbi8vIFDDoWdpbmEgZGUgc3VibWlzc8OjbzogZnVuZG8gY2luemEgY29icmluZG8gVE9ETyBvIGNvbnRhaW5lciBkZSBzY3JvbGwgKGxhdGVyYWlzXG4vLyBFIHJvZGFww6kpLiBTdWJzdGl0dWkgbyBhbnRpZ28gZnVsbC1ibGVlZCBwb3IgbWFyZ2VtIG5lZ2F0aXZhIChmcsOhZ2lsIG5vIGNoYWlyKS5cbi8vXG4vLyBBdXRvcjogbyBjb250YWluZXIgw6kgYC5wYWdlLWNvbnRlbnRgLlxuLnBhZ2UtY29udGVudDpoYXMoYXBwLXN1Ym1pc3Npb24tdmlldykge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xNTA7XG59XG4vLyBDaGFpcjogemVyYSBvIHBhZGRpbmcgbGF0ZXJhbCBkbyBjb250ZW50IChwYXBlci1pbmZvIHByZWVuY2hlIGRlIHBvbnRhIGEgcG9udGEpLlxuLy8gWmVyYSB0YW1iw6ltIG8gcGFkZGluZy1CT1RUT00gKDhweCBkZWZhdWx0IGRvIE1hdGVyaWFsIG5vIG1hdC1zaWRlbmF2LWNvbnRlbnQpOlxuLy8gZWxlIHNvbWF2YSBhbyBndXR0ZXIgZGUgMjRweCBkbyBwYXBlci1pbmZvLCBkZWl4YW5kbyBvIHbDo28gaW5mZXJpb3IgKDMycHgpXG4vLyBtYWlvciBxdWUgbyBzdXBlcmlvciAoMjRweCkuIE8gcGFwZXItaW5mbyBqw6EgZm9ybmVjZSBzZXUgcHLDs3ByaW8gZ3V0dGVyLlxubWF0LXNpZGVuYXYtY29udGVudDpoYXMoYXBwLXN1Ym1pc3Npb24tdmlldykge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLy8gQ2hhaXI6IHBpbnRhIGRlIGNpbnphIFRPREEgYSBwaWxoYSBkbyBNYXRlcmlhbCBkcmF3ZXIgKGNvbnRlbnQgKyBjb250YWluZXIsIG5vc1xuLy8gMiBuw612ZWlzIGFuaW5oYWRvcykuIGAuc2lkZWJhciDigKZgICgwLDMsMCkgKyBgIWltcG9ydGFudGAgVkVOQ0UgbyBiZyBkbyB0ZW1hXG4vLyAoX2NvbG9yLXNjaGVtZS5zY3NzOiBgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLm1hdC1zaWRlbmF2LWNvbnRlbnRgID0gYnJhbmNvLFxuLy8gbWVzbWEgZXNwZWNpZmljaWRhZGUgMCwxLDEgcXVlIGEgbWluaGEgcmVncmEgYW50aWdhIHBlcmRpYSBwb3Igb3JkZW0pIGUgb1xuLy8gYCNmYWZhZmFgIGRlZmF1bHQgZG8gTWF0ZXJpYWwgbm8gYC5tYXQtZHJhd2VyLWNvbnRhaW5lcmAuIMOJIG8gcXVlIGZhbHRhdmEgcHJhXG4vLyBtYXRhciBhIGZhaXhhIGJyYW5jYSBkbyByb2RhcMOpIChvIHBhZGRpbmctYm90dG9tIGJyYW5jbyBhYmFpeG8gZG8gY29udGXDumRvKS5cbi5zaWRlYmFyOmhhcyhhcHAtc3VibWlzc2lvbi12aWV3KSAubWF0LXNpZGVuYXYtY29udGVudCxcbi5zaWRlYmFyOmhhcyhhcHAtc3VibWlzc2lvbi12aWV3KSAubWF0LWRyYXdlci1jb250YWluZXIsXG4uc2lkZWJhcjpoYXMoYXBwLWV4cG9ydC1zdWJtaXNzaW9ucykgLm1hdC1zaWRlbmF2LWNvbnRlbnQsXG4uc2lkZWJhcjpoYXMoYXBwLWV4cG9ydC1zdWJtaXNzaW9ucykgLm1hdC1kcmF3ZXItY29udGFpbmVyLFxuLnNpZGViYXI6aGFzKGFwcC1leHBvcnQtc3VibWlzc2lvbnMpIC5tYXQtc2lkZW5hdi1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTE1MCAhaW1wb3J0YW50O1xufVxuLy8gT3ZlcnNjcm9sbCBib3VuY2UgKG1hY09TIHRyYWNrcGFkKSByZXZlbGEgbyBiZyBkbyBgPGh0bWw+YCAocXVlbSByb2xhIGVtXG4vLyBhZG1pbikuIE8gdGVtYSBkZWZpbmUgYGh0bWw6aGFzKGJvZHkubGlnaHQtdGhlbWUpIHsgYmFja2dyb3VuZDogd2hpdGUgfWBcbi8vIGUgYGh0bWw6aGFzKGJvZHkuZGFyay10aGVtZSkgeyBiYWNrZ3JvdW5kOiBibGFjayB9YFxuLy8gKF9jb2xvci1zY2hlbWUuc2NzczozNDQsMzQ4IOKAlCBlc3BlY2lmaWNpZGFkZSAwLDEsMikuIFByYSB2ZW5jZXIsIGNhc2Ftb3Ncbi8vIG8gcGFkcsOjbyBkYSBww6FnaW5hIGRlIHN1Ym1pc3PDo28gbG9nbyBhY2ltYSAobGluaGFzIDQzNy00NDIpOiBkdXBsYVxuLy8gYDpoYXNgICh0ZW1hICsgcMOhZ2luYSB2MikgPSBlc3BlY2lmaWNpZGFkZSAwLDEsMy4gQ29yIGRhcmsgPSBNRVNNT1xuLy8gYCRhZG1pbi1iYWNrZ3JvdW5kLWRhcmtgIChibGFjaykgcXVlIG8gcGFwZXItaW5mbyB1c2EgY29tbyBjYW52YXMg4oCUXG4vLyBjb25zaXN0w6puY2lhIGNvbSBhIGZvbGhhIGAjMjAyMDIwYCAoZWxldmFkYSkgcXVlIGZpY2Egdmlzw612ZWwgYWNpbWEuXG5odG1sOmhhcyhib2R5LmxpZ2h0LXRoZW1lKTpoYXMoYXBwLWV4cG9ydC1zdWJtaXNzaW9ucykge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTE1MDtcbn1cbmh0bWw6aGFzKGJvZHkuZGFyay10aGVtZSk6aGFzKGFwcC1leHBvcnQtc3VibWlzc2lvbnMpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xufVxuLy8gU3RpY2t5IGRhIGJhcnJhIGRlIG1ldGFkYWRvcyBubyBjaGFpcjogbyBzY3JvbGxlciByZWFsIMOpIG8gYGh0bWxgLCBtYXMgYSBwaWxoYVxuLy8gYG1hdC1zaWRlbmF2LWNvbnRlbnRgL2Bjb250YWluZXJgIChvdmVyZmxvdyBhdXRvL2hpZGRlbikgaW50ZXJjZXB0YSBvXG4vLyBgcG9zaXRpb246IHN0aWNreWAgU0VNIHJvbGFyIChxdWVtIHJvbGEgw6kgbyBodG1sKS4gQ29tbyBlc3NhcyBjYW1hZGFzIG7Do29cbi8vIHJvbGFtLCB0b3JuYW1vcyBgb3ZlcmZsb3c6IHZpc2libGVgIHPDsyBuZXNzYSBww6FnaW5hIOKAlCBhc3NpbSBvIHN0aWNreSBzZSBwcmVuZGVcbi8vIGFvIGBodG1sYCAoc2VtIGNyaWFyIGJhcnJhIGRlIHJvbGFnZW0gaW50ZXJuYSwgYW8gY29udHLDoXJpbyBkbyBoYWNrIGFudGlnbykuXG4vLyBPIGBbc2Nyb2xsPW5vXWAgKG92ZXJmbG93OmNsaXApIE7Dg08gaW50ZXJjZXB0YSBzdGlja3ksIGVudMOjbyBmaWNhIGNvbW8gZXN0w6EuXG4uc2lkZWJhcjpoYXMoYXBwLXN1Ym1pc3Npb24tdmlldykgLm1hdC1kcmF3ZXItY29udGFpbmVyLFxuLnNpZGViYXI6aGFzKGFwcC1zdWJtaXNzaW9uLXZpZXcpIC5tYXQtZHJhd2VyLWNvbnRlbnQge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG4vLyBcIkRhbsOnYXJcIiBubyBmaW0gZGEgcMOhZ2luYSAoY2hhaXIsIG1vZG8gdmlzw6NvKTogbyB2aWRybyBmb3NjbyBzdGlja3lcbi8vIChgLnBhcGVyLXNoZWV0OmhhcygubWV0YS1jYXJkLnN0dWNrKTo6YmVmb3JlYCwgY29tIGBtYXJnaW4tYm90dG9tYCBORUdBVElWTykgZmF6IG9cbi8vIGNvbnRlw7pkbyBhY2ltYSBtdWRhciBkZSBhbHR1cmEgZHVyYW50ZSBvIHNjcm9sbDsgbyBTQ1JPTEwgQU5DSE9SSU5HIGRvIENocm9tZVxuLy8gcmVhanVzdGEgbyBzY3JvbGxUb3AgZSBlbnRyYSBlbSBsb29wIG5hIGJhc2UgKG9uZGUgbsOjbyBow6EgYmFycmEgZmx1dHVhbnRlIGVzdGVuZGVuZG9cbi8vIG8gZmltIOKAlCBwb3IgaXNzbyBuw6NvIG9jb3JyZSBlbSBlZGnDp8OjbykuIENvbW8gbyBzY3JvbGxlciDDqSBvIGBodG1sYCwgZGVzbGlnYW1vcyBvXG4vLyBhbmNob3JpbmcgZGVsZSBTw5MgbmVzdGEgcMOhZ2luYSAocmVjdXJzbyBtZW5vcjsgbyBjb250ZcO6ZG8gbGF6eSBjYXJyZWdhIGFiYWl4byBkYVxuLy8gZG9icmEsIGVudMOjbyBuw6NvIHBlcmRlIG5hZGEgcGVyY2VwdMOtdmVsKS5cbmh0bWw6aGFzKGFwcC1zdWJtaXNzaW9uLXZpZXcpIHtcbiAgICBvdmVyZmxvdy1hbmNob3I6IG5vbmU7XG59XG4vLyBNZXNtbyBtb3Rpdm8gbmEgVmlzw6NvIGRlIENhbGVuZMOhcmlvOiBvIGNhbGVuZMOhcmlvIMOpIHJlbmRlcml6YWRvIGludGVpcm8gbm9cbi8vIGZsdXhvIGRhIHDDoWdpbmEgKHF1ZW0gcm9sYSDDqSBvIGBodG1sYCkgZSBhIGxpbmhhIGRlIGRpYXMgZGEgc2VtYW5hIHVzYVxuLy8gYHBvc2l0aW9uOiBzdGlja3lgIHBhcmEgZmljYXIgZml4YSBubyB0b3BvLiBTZW0gbGliZXJhciBvIG92ZXJmbG93IGRlc3Rhc1xuLy8gY2FtYWRhcywgbyBzdGlja3kgw6kgaW50ZXJjZXB0YWRvIHBvciBlbGFzIOKAlCBxdWUgbsOjbyByb2xhbSDigJQgZSBhIGxpbmhhIHNvbWVcbi8vIGFvIHJvbGFyIGEgcMOhZ2luYS5cbi5zaWRlYmFyOmhhcyhhcHAtY2FsZW5kYXItdmlldykgLm1hdC1kcmF3ZXItY29udGFpbmVyLFxuLnNpZGViYXI6aGFzKGFwcC1jYWxlbmRhci12aWV3KSAubWF0LWRyYXdlci1jb250ZW50IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4vLyBMaXN0YXIgUHJvZ3JhbWE6IG8gZnVuZG8gZW0gdm9sdGEgZGEgZm9saGEgdXNhIGEgTUVTTUEgY29yIGRhIGZvbGhhLCBlIGVzc2Fcbi8vIGNvciDDqSBkZWZpbmlkYSBudW0gbHVnYXIgc8OzIOKAlCBgLS1wcm9ncmFtLXBhcGVyYCwgbmEgZm9saGEgZG8gcHJvZ3JhbWFcbi8vIChgcHJvZ3JhbS1zaGVldC5jc3MudHNgLCBpbmpldGFkYSBlbnF1YW50byBhIHRlbGEgZXN0w6EgbW9udGFkYSkuIEFxdWkgYXBlbmFzXG4vLyBMRU1PUyBhIHZhcmnDoXZlbDsgbsOjbyByZXBldGlyIG8gdmFsb3IuIFZhbGUgbm9zIGRvaXMgdGVtYXMsIGRlIHByb3DDs3NpdG86IG9cbi8vIHByb2dyYW1hIMOpIHBhcGVsLCBuw6NvIHNlZ3VlIGNsYXJvL2VzY3Vyby4gUGludGFyIHPDsyBvIGBtYXQtc2lkZW5hdi1jb250ZW50YFxuLy8gZGVpeGFyaWEgZmFpeGEgbm8gcm9kYXDDqSwgZGHDrSBvIGAubWF0LWRyYXdlci1jb250YWluZXJgIGp1bnRvLlxuLnNpZGViYXI6aGFzKGFwcC1ldmVudC1wcm9ncmFtKSAubWF0LXNpZGVuYXYtY29udGVudCxcbi5zaWRlYmFyOmhhcyhhcHAtZXZlbnQtcHJvZ3JhbSkgLm1hdC1kcmF3ZXItY29udGFpbmVyLFxuLmRhcmstdGhlbWUgLnNpZGViYXI6aGFzKGFwcC1ldmVudC1wcm9ncmFtKSAubWF0LXNpZGVuYXYtY29udGVudCxcbi5kYXJrLXRoZW1lIC5zaWRlYmFyOmhhcyhhcHAtZXZlbnQtcHJvZ3JhbSkgLm1hdC1kcmF3ZXItY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9ncmFtLXBhcGVyLCAjZmZmZmZmKSAhaW1wb3J0YW50O1xufVxuLy8gT3ZlcnNjcm9sbCBlbMOhc3RpY286IHF1ZW0gcm9sYSDDqSBvIGBodG1sYCwgZSDDqSBvIGZ1bmRvIGRlbGUgcXVlIGFwYXJlY2UgYW9cbi8vIHB1eGFyIGFsw6ltIGRvIHRvcG8vZmltLiBQcmVjaXNhIENBU0FSIGEgZm9ybWEgZG8gc2VsZXRvciBkbyB0ZW1hXG4vLyAoYGh0bWw6aGFzKGJvZHkuZGFyay10aGVtZSlgLCAwLDEsMSDigJQgbyBgOmhhcygpYCBoZXJkYSBhIGVzcGVjaWZpY2lkYWRlIGRvXG4vLyBhcmd1bWVudG8gbWFpcyBlc3BlY8OtZmljbyk6IHNlbSBvIGBib2R5Ljx0ZW1hPmAgYXF1aSwgYSBtaW5oYSByZWdyYSBmaWNhcmlhXG4vLyBlbSAwLDAsMiBlIG8gcHJldG8gZG8gdGVtYSBlc2N1cm8gdmVuY2VyaWEsIGFwYXJlY2VuZG8gbmFzIHBvbnRhcy5cbmh0bWw6aGFzKGJvZHkubGlnaHQtdGhlbWUpOmhhcyhhcHAtZXZlbnQtcHJvZ3JhbSksXG5odG1sOmhhcyhib2R5LmRhcmstdGhlbWUpOmhhcyhhcHAtZXZlbnQtcHJvZ3JhbSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyYW0tcGFwZXIsICNmZmZmZmYpO1xufVxuLy8gTW9kbyBlc2N1cm8uXG4uZGFyay10aGVtZSAucGFnZS1jb250ZW50OmhhcyhhcHAtc3VibWlzc2lvbi12aWV3KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyaztcbn1cbi5kYXJrLXRoZW1lIC5zaWRlYmFyOmhhcyhhcHAtc3VibWlzc2lvbi12aWV3KSAubWF0LXNpZGVuYXYtY29udGVudCxcbi5kYXJrLXRoZW1lIC5zaWRlYmFyOmhhcyhhcHAtc3VibWlzc2lvbi12aWV3KSAubWF0LWRyYXdlci1jb250YWluZXIsXG4uZGFyay10aGVtZSAuc2lkZWJhcjpoYXMoYXBwLWV4cG9ydC1zdWJtaXNzaW9ucykgLm1hdC1zaWRlbmF2LWNvbnRlbnQsXG4uZGFyay10aGVtZSAuc2lkZWJhcjpoYXMoYXBwLWV4cG9ydC1zdWJtaXNzaW9ucykgLm1hdC1kcmF3ZXItY29udGFpbmVyLFxuLmRhcmstdGhlbWUgLnNpZGViYXI6aGFzKGFwcC1leHBvcnQtc3VibWlzc2lvbnMpIC5tYXQtc2lkZW5hdi1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cblxuLy8gT3ZlcnNjcm9sbCBlbMOhc3RpY28gKG1hY09TIHJ1YmJlci1iYW5kKTogbyBzY3JvbGxlciBSRUFMIMOpIG8gYGh0bWxgIGUgbyBmdW5kb1xuLy8gZGVsZSDDqSBwcm9wYWdhZG8gcHJvIGNhbnZhcyAoYSDDoXJlYSBxdWUgYXBhcmVjZSBhbyBwdXhhciBhbMOpbSBkbyB0b3BvL2ZpbSkuIE9cbi8vIHRlbWEgcGludGEgYGh0bWw6aGFzKGJvZHkubGlnaHQtdGhlbWUpYCBkZSBicmFuY28gKF9jb2xvci1zY2hlbWUuc2NzczozNDQsXG4vLyBlc3BlY2lmaWNpZGFkZSAwLDEsMikuIEVzcGVsaGFtb3MgZXNzZSBwYWRyw6NvICsgYSBjb25kacOnw6NvIGRhIHDDoWdpbmEgZGVcbi8vIHN1Ym1pc3PDo28gKDAsMSwzKSBwcmEgVkVOQ0VSIGUgZGVpeGFyIG8gY2FudmFzIGNpbnphLiBWYWxlIGF1dG9yIGUgY2hhaXIuXG5odG1sOmhhcyhib2R5LmxpZ2h0LXRoZW1lKTpoYXMoYXBwLXN1Ym1pc3Npb24tdmlldykge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTE1MDtcbn1cbmh0bWw6aGFzKGJvZHkuZGFyay10aGVtZSk6aGFzKGFwcC1zdWJtaXNzaW9uLXZpZXcpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xufVxuXG4vLyBDZXJ0aWZpY2FkbyBkZSBhcHJlc2VudGHDp8OjbyAoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSk6IE1FU01PIGZ1bGwtYmxlZWRcbi8vIGNpbnphIGRhIHDDoWdpbmEgZGUgc3VibWlzc8OjbyBhY2ltYS4gQ29tbyDDqSBPVVRSTyBzZWxlY3RvciBkZSBjb21wb25lbnRlLCBhc1xuLy8gcmVncmFzIGA6aGFzKGFwcC1zdWJtaXNzaW9uLXZpZXcpYCBuw6NvIG8gYWxjYW7Dp2FtIOKAlCBlc3BlbGhhbW9zIGFxdWkgcC8gYXV0b3Jcbi8vIChgLnBhZ2UtY29udGVudGApIGUgY2hhaXIgKGBtYXQtc2lkZW5hdi1jb250ZW50YC9gLnNpZGViYXJgIGRyYXdlciksIGxpZ2h0K2RhcmssXG4vLyArIG8gY2FudmFzIGRvIGBodG1sYCAob3ZlcnNjcm9sbCkgKyBgb3ZlcmZsb3c6IHZpc2libGVgIG5vIHNoZWxsIChzZW7Do28gYVxuLy8gU09NQlJBIGdyYW5kZSBkYSBmb2xoYSBkbyBjZXJ0aWZpY2FkbyDDqSByZWNvcnRhZGEgcGVsYSBwaWxoYSBkbyBkcmF3ZXIsIGRvXG4vLyBtZXNtbyBqZWl0byBxdWUgYSBzdWJtaXNzw6NvIHByZWNpc2Eg4oCUIGEgZm9saGEgZmF6IHNuYXAtdG8tZml0LCBudW5jYSByb2xhKS5cbi8vIEVzcGVjaWZpY2lkYWRlIGBhcHAtaG9tZSAuaG9tZSAucGFnZS1jb250ZW50YCAoMCwyLDEpICsgYCFpbXBvcnRhbnRgIHAvIFZFTkNFUiBvXG4vLyB0b2tlbiBicmFuY28gZG8gYF9jb2xvci1zY2hlbWUuc2NzczoyNDU5YCAobWVzbWEgZXNwZWNpZmljaWRhZGUsIG1hcyAhaW1wb3J0YW50KS5cbi8vIFNlbSBpc3NvLCBvIGAuY2VydGlmaWNhdGUtcGFnZWAgcGludGEgYSDDoXJlYSB2aXPDrXZlbCBkZSBjaW56YSwgbWFzIG8gYC5wYWdlLWNvbnRlbnRgXG4vLyBhdHLDoXMgY29udGludWEgYnJhbmNvIChhcGFyZWNlIG5vcyBzbGl2ZXJzL2dhcCkuXG5hcHAtaG9tZSAuaG9tZSAucGFnZS1jb250ZW50OmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTE1MCAhaW1wb3J0YW50O1xufVxuLy8gQSBuYXZiYXIgw6kgZml4ZWQgZSBvIGAucGFnZS1jb250ZW50YCBjb21lw6dhIGVtIGB0b3A6IG5hdmJhciArIDNweGAgKGhvbWUuc2Nzcylcbi8vIOKGkiBzb2JyYSB1bWEgZmFpeGEgZGUgM3B4IGF0csOhcyBkZWxhIG1vc3RyYW5kbyBvIGZ1bmRvIGRvIGAuaG9tZWAgKHF1ZSBvIHRva2VuXG4vLyBgX2NvbG9yLXNjaGVtZS5zY3NzOjI0NTdgIHBpbnRhIGRlIEJSQU5DTyBjb20gIWltcG9ydGFudCkuIMOJIGEgbGluaGEgYnJhbmNhLlxuLy8gYGFwcC1ob21lIC5ob21lYCAoMCwxLDEpICsgIWltcG9ydGFudCB2ZW5jZSBvIHRva2VuLlxuYXBwLWhvbWUgLmhvbWU6aGFzKGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xNTAgIWltcG9ydGFudDtcbn1cbm1hdC1zaWRlbmF2LWNvbnRlbnQ6aGFzKGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi5zaWRlYmFyOmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSAubWF0LXNpZGVuYXYtY29udGVudCxcbi5zaWRlYmFyOmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSAubWF0LWRyYXdlci1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTE1MCAhaW1wb3J0YW50O1xufVxuLy8gU2hlbGwgTsODTyByZWNvcnRhIOKGkiBhIHNvbWJyYSBkYSBmb2xoYSBkZXN2YW5lY2Ugbm8gY2luemEgKGVzcGVsaGEgYXMgbGluaGFzXG4vLyBkYSBzdWJtaXNzw6NvIGFjaW1hKS4gVmFsZSBhdXRvciAoYC5wYWdlLWNvbnRlbnRgKSBlIGNoYWlyIChkcmF3ZXIpLlxuLnBhZ2UtY29udGVudDpoYXMoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSksXG4uc2lkZWJhcjpoYXMoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSkgLm1hdC1kcmF3ZXItY29udGFpbmVyLFxuLnNpZGViYXI6aGFzKGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpIC5tYXQtZHJhd2VyLWNvbnRlbnQge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG4vLyBPIGFkbWluLWV2ZW50LXNpZGViYXIgZW1icnVsaGEgbyByb3V0ZXItb3V0bGV0IG51bSBgPGRpdiBzY3JvbGw9XCJub1wiXG4vLyBzdHlsZT1cIm92ZXJmbG93OiBjbGlwXCI+YCAocC8gc3RpY2t5IGRlIHDDoWdpbmEgaW50ZXJuYSBuw6NvIHZhemFyKS4gTyBjZXJ0aWZpY2Fkb1xuLy8gZmF6IHNuYXAtdG8tZml0IGUgZW5jb3N0YSBuYSBib3JkYSDihpIgZXNzZSBjbGlwIGNvcnRhIGEgc29tYnJhIGRhIGZvbGhhLlxuLy8gRGVzdHJhdmFtb3MgU8OTIHAvIG8gY2VydGlmaWNhZG8gKG7Do28gdGVtIHN0aWNreSBuZW0gcm9sYSkuIGBvdmVyZmxvdzogY2xpcGAgw6lcbi8vIElOTElORSDihpIgcHJlY2lzYSBkZSBgIWltcG9ydGFudGAgcC8gdmVuY2VyLlxuW3Njcm9sbD1cIm5vXCJdOmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1ob21lIC5ob21lIC5wYWdlLWNvbnRlbnQ6aGFzKGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSBhcHAtaG9tZSAuaG9tZTpoYXMoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5zaWRlYmFyOmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSAubWF0LXNpZGVuYXYtY29udGVudCxcbi5kYXJrLXRoZW1lIC5zaWRlYmFyOmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSAubWF0LWRyYXdlci1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cbmh0bWw6aGFzKGJvZHkubGlnaHQtdGhlbWUpOmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTUwO1xufVxuaHRtbDpoYXMoYm9keS5kYXJrLXRoZW1lKTpoYXMoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG59XG5cbi8vIFNvbWJyYXMgZG8gY2hyb21lIG5vIGNlcnRpZmljYWRvIOKAlCBNRVNNQVMgZGEgcMOhZ2luYSBkZSBzdWJtaXNzw6NvIChuYXZiYXIgZG9cbi8vIGF1dG9yL3Jldmlzb3IsIGJyZWFkY3J1bWIgZG8gY2hhaXIsIGUgYm9yZGEgZGlyZWl0YSBkbyBtZW51IGxhdGVyYWwgbW9kZXJubyksXG4vLyBlc3BlbGhhZGFzIGRvIGJsb2NvIGA6aGFzKGFwcC1zdWJtaXNzaW9uLXZpZXcpYCBhY2ltYS4gVmVyIGFxdWVsZSBibG9jbyBwLyBvXG4vLyByYWNpb25hbCBkZSBjYWRhIHTDqWNuaWNhLiBBIG5hdmJhciBOw4NPIHRlbSBzb21icmEgcHLDs3ByaWEgKG8gZGVmYXVsdCDDqSBzw7MgdW1cbi8vIGJvcmRlci1ib3R0b20gcMOhbGlkbyBkZSAkY2hyb21lLWJvcmRlci1saWdodCkg4oCUIGEgZWxldmHDp8OjbyDDqSBzZW1wcmUgcG9yLXDDoWdpbmEuXG4uaG9tZTpoYXMoLnBhZ2UtY29udGVudCBhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSBhcHAtbmF2YmFyIC5uYXZiYXIge1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTgpO1xuICAgIC8vIE5ldXRyYWxpemEgbyBib3JkZXItYm90dG9tIHDDoWxpZG8gKCNFN0U1RTQpIGRvIGBfY29sb3Itc2NoZW1lLnNjc3NgIOKAlCBjb250cmFcbiAgICAvLyBhIHNvbWJyYSBlbGUgdmlyYSB1bWEgbGluaGEgY2xhcmEuIEEgc2VwYXJhw6fDo28gZmljYSBzw7MgbmEgc29tYnJhLiBgIWltcG9ydGFudGBcbiAgICAvLyBwLyB2ZW5jZXIgbyB0b2tlbiAocXVlIHRhbWLDqW0gdXNhICFpbXBvcnRhbnQpLlxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSAuaG9tZTpoYXMoLnBhZ2UtY29udGVudCBhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSBhcHAtbmF2YmFyIC5uYXZiYXIge1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuNyksXG4gICAgICAgICAgICAgICAgMCA4cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG4uc2lkZWJhci5sZWdhY3ktY2hyb21lLWRpc2FibGVkOmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSBhcHAtZXZlbnQtYnJlYWRjcnVtYiAuZXZlbnQtYnJlYWRjcnVtYixcbi5zaWRlYmFyLndpZGUtbW9kZTpoYXMoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSkgYXBwLWV2ZW50LWJyZWFkY3J1bWIgLmV2ZW50LWJyZWFkY3J1bWIge1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTgpO1xufVxuLmRhcmstdGhlbWUgLnNpZGViYXIubGVnYWN5LWNocm9tZS1kaXNhYmxlZDpoYXMoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSkgYXBwLWV2ZW50LWJyZWFkY3J1bWIgLmV2ZW50LWJyZWFkY3J1bWIsXG4uZGFyay10aGVtZSAuc2lkZWJhci53aWRlLW1vZGU6aGFzKGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpIGFwcC1ldmVudC1icmVhZGNydW1iIC5ldmVudC1icmVhZGNydW1iIHtcbiAgICBib3gtc2hhZG93OiAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjcpLFxuICAgICAgICAgICAgICAgIDAgOHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuLy8gKEEgc29tYnJhIGRhIGJvcmRhIGRpcmVpdGEgZG8gc2lkZWJhciBwYXJhIGBhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlYCBhZ29yYSDDqSBhIG1lc21hXG4vLyAgYGJveC1zaGFkb3dgICsgYGNsaXAtcGF0aGAgZGEgc3VibWlzc8OjbyDigJQgdmVyIGEgcmVncmEgY29tYmluYWRhIGFjaW1hLiBPIHBzZXVkbyBgOjphZnRlcmBcbi8vICBxdWUgc2FsdGF2YSBmb2kgcmVtb3ZpZG8uKVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2JpbGUgcG9ydHJhaXQg4oCUIGJvZHkgb2Zmc2V0IHBybyBib3R0b20gbmF2XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBIG5hdmJhciBlbSBtb2JpbGUgcG9ydHJhaXQgZmljYSBlbSBEVUFTIHBhcnRlczogdG9wIG1pbmkgYmFyICg0OHB4LCBhaW5kYVxuLy8gbm8gZmx1eG8gZGVmYXVsdCkgKyBib3R0b20gbmF2ICg2NHB4ICsgc2FmZS1hcmVhLCBgcG9zaXRpb246IGZpeGVkYCkuIE9cbi8vIGJvdHRvbSBuYXYgc29icmVww7VlIG8gZmluYWwgZG8gY29udGXDumRvIOKAlCByZXNlcnZhbW9zIHBhZGRpbmctYm90dG9tIG5vIGJvZHlcbi8vIHByYSBuaW5ndcOpbSBmaWNhciBlc2NvbmRpZG8gZW1iYWl4byBkZWxlLlxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBib2R5IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyg2NHB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDApKTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9iaWxlIFBvcnRyYWl0IOKAlCBUT1AgbWluaSBiYXIgKyBCT1RUT00gcHJpbWFyeSBuYXYgKHJlZ3JhcyBHTE9CQUlTKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVml2ZSBBUVVJIChhcnF1aXZvIGdsb2JhbCwgc2VtIHNjb3BpbmcgQW5ndWxhcikgZSBOw4NPIGVtXG4vLyBgbmF2YmFyLmNvbXBvbmVudC5zY3NzYCBwb3JxdWUgcXVhbmRvIG8gQW5ndWxhciBFbXVsYXRlZCBzY29wYSBhIHJlZ3JhLFxuLy8gYWRpY2lvbmEgYFtfbmdjb250ZW50LXh4eF1gIGEgVE9ET1Mgb3Mgc2ltcGxlIHNlbGVjdG9ycyDigJQgaW5jbHVzaXZlXG4vLyBgaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXWAuIENvbW8gYDxodG1sPmAgbsOjbyB0ZW0gZXNzZSBhdHJpYnV0byxcbi8vIG8gc2VsZXRvciBOVU5DQSBjYXNhIGUgYXMgcmVncmFzIG7Do28gYXBsaWNhbS4gRXN0ZSDDqSBvIG1lc21vIHRpcG8gZGUgYnVnXG4vLyBxdWUgYXBhcmVjZSBjb20gYC5kYXJrLXRoZW1lYCBzY29waW5nIGVtIFNDU1MgZGUgY29tcG9uZW50ZS5cbi8vXG4vLyBBcnF1aXRldHVyYTpcbi8vICAg4oCiIFRvcCBtaW5pIGJhciAoYSBwcsOzcHJpYSBgLm5hdmJhcmAsIGFsdHVyYSA0OHB4KSDihpIgbG9nbyArIHJpZ2h0LWNvbnRhaW5lclxuLy8gICAgIChzZWFyY2gsIGhlbHAsIG5vdGlmLCBhdmF0YXIpLiBgLm5hdmJhci1pdGVtc2Agc2FpIGRvIGZsdXhvIGRhcXVpLlxuLy8gICDigKIgQm90dG9tIG5hdiAoYSBgLm5hdmJhci1pdGVtc2AgcHJvbW92aWRhIGEgYHBvc2l0aW9uOiBmaXhlZGApIOKGklxuLy8gICAgIGFwZW5hcyBvcyA1IG5hdiBpdGVtcyBwcmltw6FyaW9zLiA2NHB4ICsgc2FmZS1hcmVhIGRvIGlQaG9uZS5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gYXBwLW5hdmJhciAubmF2YmFyIHtcbiAgICAvLyBUb3AgbWluaSBiYXIg4oCUIGZvcsOnYSB0b3AgcG9zaXRpb24gKG92ZXJyaWRlIGRhcyBgQG1lZGlhIG1heC13aWR0aGBcbiAgICAvLyBxdWUgY29sb2NhdmFtIGEgbmF2YmFyIGludGVpcmEgbm8gYm90dG9tKS5cbiAgICB0b3A6IHZhcigtLWNocm9tZS10b3Atb2Zmc2V0KTtcbiAgICBib3R0b206IGF1dG87XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCA4cHg7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAvLyBOYXYgaXRlbXMgc2FpIGRvIGZsdXhvIGRvIHRvcCBiYXIgZSB2aXJhIGJhcnJhIFBSw5NQUklBIG5vIGJvdHRvbS5cbiAgICAvLyBgIWltcG9ydGFudGAgbmEgcG9zaXRpb24vYm90dG9tL2xlZnQvcmlnaHQvaGVpZ2h0IHBvcnF1ZSBhcyByZWdyYXNcbiAgICAvLyBzY29wZWQgZG8gY29tcG9uZW50ZSBgbmF2YmFyLmNvbXBvbmVudC5zY3NzYCB0w6ptIG1lc21hXG4gICAgLy8gc3BlY2lmaWNpdHkgZSBjYXJyZWdhbSBERVBPSVMg4oCUIHNlbSAhaW1wb3J0YW50IG8gYHBvc2l0aW9uOlxuICAgIC8vIHJlbGF0aXZlYCBiYXNlIGRvIGNvbXBvbmVudGUgdmVuY2lhLlxuICAgIC5uYXZiYXItaXRlbXMge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICAgICAgYm90dG9tOiAtMXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA2NHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGdhcDogMCAhaW1wb3J0YW50O1xuICAgICAgICAvLyBPUEFDTyBleHBsw61jaXRvIOKAlCBtZXNtYSBjb3IgZGEgbmF2YmFyIGRlc2t0b3BcbiAgICAgICAgLy8gKGAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kYCDigJQgdG9rZW4gZ2xvYmFsIGRvIGNocm9tZSkuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xuICAgICAgICB6LWluZGV4OiAzMDtcblxuICAgICAgICAvLyBJbmRpY2F0b3IgKyB1bmRlcmxpbmUgQ09NUEFSVElMSEFET1MgY29tIG8gZGVza3RvcCDigJQgbWVzbWEgSlMsXG4gICAgICAgIC8vIG1lc21hIENTUyBiYXNlIGRvIG5hdmJhci5jb21wb25lbnQuc2Nzcy4gTyBKUyBhcG9udGEgcHJhXG4gICAgICAgIC8vIC5tYXQtaWNvbiBlbSBtb2JpbGUtcG9ydHJhaXQsIGVudMOjbyBhIHDDrWx1bGEgZGVzbGl6YSBubyB0YW1hbmhvXG4gICAgICAgIC8vIGRvIMOtY29uZS4gT3ZlcnJpZGVzIG1vYmlsZSBhYmFpeG8gKHRyYXDDqXppbyBpbnZlcnRpZG8gZG9cbiAgICAgICAgLy8gdW5kZXJsaW5lIHByYSBlbGUgXCJhYnJpciBwcmEgYmFpeG9cIiBubyB0b3BvIGRvIHBpbGwpLlxuICAgICAgICAubmF2YmFyLWl0ZW1zLXVuZGVybGluZSB7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMnB4IDAsIGNhbGMoMTAwJSAtIDJweCkgMCwgMTAwJSAxMDAlLCAwIDEwMCUpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDYWRhIGl0ZW0gb2N1cGEgMS81IGRhIGxhcmd1cmEgdmlhIGZsZXgg4oCUIGRpc3RyaWJ1acOnw6NvIHVuaWZvcm1lLlxuICAgICAgICBhcHAtc2lkZWJhci1pdGVtIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgICAgICAvLyBCb3R0b20tbmF2IG1vYmlsZSDDqSBGTEFUIOKAlCBzZW0gYm9yZGVycywgc2VtIGJnIG5vIGhvdmVyLCBzZW1cbiAgICAgICAgLy8gcmFkaXVzIGRlIGNoaXAuIEVzdGFkbyBhdGl2byA9IHPDsyBjb3IgYWNjZW50ICsgw61jb25lIGZpbGxlZFxuICAgICAgICAvLyAocGFkcsOjbyBpT1MvQW5kcm9pZCkuICFpbXBvcnRhbnQgdmVuY2UgbyBsYXlvdXQgZGVza3RvcCBwaWxsLlxuICAgICAgICAuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDZweCA0cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAvLyBBIHJlZ3JhIC5zZWxlY3RlZCBhbnRpZ2EgKHRyYW5zcGFyZW50KSBmb2kgUkVNT1ZJREEg4oCUIGNvbmZsaXRhdmFcbiAgICAgICAgLy8gY29tIG8gYmcgYWNjZW50IHRpbnQgcXVlIGFwbGljYW1vcyBubyBUaWVyIDEgKGJsb2NvIGFiYWl4bykuXG4gICAgICAgIC8vIFNvbWUgY29tIG8gdW5kZXJsaW5lIGFjY2VudCBkbyBpdGVtIGF0aXZvIOKAlCBlc3RhZG8gYXRpdm8gasOhXG4gICAgICAgIC8vIMOpIHNpbmFsaXphZG8gcGVsYSBjb3IgZG8gdGV4dG8vw61jb25lIHZpYSBfY29sb3Itc2NoZW1lLnNjc3MuXG4gICAgICAgIC5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbjo6YmVmb3JlLFxuICAgICAgICAuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b246OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8vIERhcms6IGJvcmRlci10b3AgZG8gYm90dG9tIG5hdiBtdWRhIHByYSB0b2tlbiBkYXJrLlxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBib2R5LmRhcmstdGhlbWUgYXBwLW5hdmJhciAubmF2YmFyIC5uYXZiYXItaXRlbXMge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcms7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vYmlsZSBQb3J0cmFpdCDigJQgUG9saW1lbnRvIFRpZXIgMSArIDIgKG5hdmJhcilcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvbXBsZW1lbnRhIG8gYmxvY28gYW50ZXJpb3IuIEFkacOnw7Vlczpcbi8vICAgVDEuMSBMb2dvIHRvcC1sZWZ0IHJlc3RhdXJhZG9cbi8vICAgVDEuMiDDjWNvbmVzIGRvIHJpZ2h0LWNvbnRhaW5lciBlbXB1cnJhZG9zIHByYSBkaXJlaXRhXG4vLyAgIFQxLjMgRXN0YWRvIGF0aXZvIGRvIGJvdHRvbSBuYXYgY29tIGJnIGFjY2VudCB0aW50ICsgdG9wIGJhciAzcHhcbi8vICAgVDEuNCBJY29uIHNpemUgMjJweCBubyBib3R0b20gbmF2XG4vLyAgIFQyLjUgOmFjdGl2ZSB0YXAgZmVlZGJhY2sgKGJnIGFvIHRvY2FyKVxuLy8gICBUMi42IExhYmVsIDExcHggKyBtYWlzIHJlc3Bpcm8gZW50cmUgw61jb25lIGUgbGFiZWxcbi8vICAgVDIuNyBDb250ZW50IGd1dHRlciBsYXRlcmFsIDE24oaSMTJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gYXBwLW5hdmJhciB7XG4gICAgLy8gVDEuMSDigJQgTG9nbyB2b2x0YSBhIGFwYXJlY2VyIG5vIHRvcC1sZWZ0LiBTb2JyZXNjcmV2ZSBvXG4gICAgLy8gYGRpc3BsYXk6IG5vbmVgIEUgYHdpZHRoOiAwcHhgIGRvIGBAbWVkaWEgbWF4LXdpZHRoYCBkbyBjb21wb25lbnQuXG4gICAgLm5hdmJhciBhLmxvZ28ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgOHB4IDAgNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIC8vIE7Dg08gdXNhIGA+YCAoZGlyZWN0IGNoaWxkKSBwb3JxdWUgbm8gSFRNTCBvIGltZyB2aXZlIGRlbnRybyBkZVxuICAgIC8vIGA8cGljdHVyZT5gIChncmFuZGNoaWxkIGRhIGFuY2hvcikuIERlc2NlbmRlbnRlIMOpIG8gcXVlIGNhc2EuXG4gICAgLm5hdmJhciBhLmxvZ28gaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAyMnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5uYXZiYXIgYS5sb2dvIHBpY3R1cmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIFQxLjIg4oCUIGAuc3BhY2VyYCAoZW50cmUgbmF2LWl0ZW1zIGUgcmlnaHQtY29udGFpbmVyKSBzb21lO1xuICAgIC8vIHJpZ2h0LWNvbnRhaW5lciBmaWNhIGFuY29yYWRvIMOgIGRpcmVpdGEgY29tIG1hcmdpbi1sZWZ0IGF1dG8uXG4gICAgLm5hdmJhciAuc3BhY2VyIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIC5uYXZiYXIgLnJpZ2h0LW5hdmJhci1jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG59XG5cbi8vIEJvdHRvbSBuYXYg4oCUIE1hdGVyaWFsIDMgRXhwcmVzc2l2ZSArIEFkYXB0aXZlIGxhYmVscy5cbi8vICAg4oCiIENlbGwgYmcgdG90YWxtZW50ZSBUUkFOU1BBUkVOVEUgKGVyYSB0aW50IGF6dWwgbm8gY2VsbCBpbnRlaXJvKS5cbi8vICAg4oCiIEluZGljYXRvciBiYXIgU1VQRVJJT1IgUkVNT1ZJRE8gKGVyYSAzcHggYWNjZW50IG5vIHRvcG8pLlxuLy8gICDigKIgU2VsZWNpb25hZG86IFDDjUxVTEEgYWNjZW50IGFicmHDp2FuZG8gU8OTIG8gw61jb25lICsgw61jb25lIEZJTExFRFxuLy8gICAgIChNYXRlcmlhbCBTeW1ib2xzIHZhcmlhdGlvbiBGSUxMPTEpICsgbGFiZWwgYWNjZW50IGJvbGQuXG4vLyAgIOKAoiBOw6NvLXNlbGVjaW9uYWRvOiBzw7Mgw61jb25lIG1haW9yICgyNnB4KSwgU0VNIGxhYmVsIOKAlCBsYWJlbCByZXNlcnZhZGFcbi8vICAgICB2aWEgdmlzaWJpbGl0eTpoaWRkZW4gcHJhIG7Do28gcHVsYXIgYWx0dXJhIG5hIHRyb2NhLlxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBhcHAtbmF2YmFyIC5uYXZiYXIgLm5hdmJhci1pdGVtcyB7XG4gICAgLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAvLyBDb250YWluZXIgZG8gw61jb25lIHZpcmEgbyBcImhpdGJveFwiIGRhIHDDrWx1bGEuIFVzYW1vcyBwYWRkaW5nXG4gICAgICAgIC8vIHZlcnRpY2FsIG1lbm9yIHByYSBkZWl4YXIgcmVzcGlybyBwcm8gbGFiZWwgYXRpdm8uXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXRvcDogNnB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLy8gUDMg4oCUIEhvdmVyL3ByZXNzZWQuIFDDrWx1bGEgZXNjdXJlY2UgfjItMyUgbm8gdG9xdWUvaG92ZXIuXG4gICAgICAgIC8vIEFwbGljYSBlbSAubWF0LWljb24gKG7Do28gbm8gYnV0dG9uKSBwb3JxdWUgYSBww61sdWxhIFZJVkUgbm9cbiAgICAgICAgLy8gLm1hdC1pY29uIChiZyBjb20gcGFkZGluZytib3JkZXItcmFkaXVzKS5cbiAgICAgICAgLy8gVGFwIGZlZWRiYWNrIFNVVElMOiBiZyBsZXZlIG5vIEJPVMODTyAobsOjbyBubyDDrWNvbmUpIGR1cmFudGVcbiAgICAgICAgLy8gbyB0b3F1ZSDigJQgbsOjbyB0aW50YSBhIGNvciBkbyDDrWNvbmUsIHPDsyBhIMOhcmVhIGFvIHJlZG9yLlxuICAgICAgICAvLyBGYWRlIHLDoXBpZG8gcHJhIHNlbnNhw6fDo28gZGUgXCJmbGFzaCB0w6F0aWxcIi5cbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxMjBtcyBlYXNlLW91dDtcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNDBtcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFAyIOKAlCBCYWRnZSBtZW5vciAoMTRweCBlbSB2ZXogZGUgMTZweCkgKyBib3JkYSBicmFuY2EgMS41cHhcbiAgICAvLyAgICAgIHByYSBcImRlc2NvbGFyXCIgZG8gZnVuZG8vcMOtbHVsYS4gQXVtZW50YSB0cmFuc2Zvcm0gWSBwcmEgZmljYXJcbiAgICAvLyAgICAgIG1haXMgY29sYWRvIG5hIGJvcmRhIHN1cGVyaW9yIGRvIMOtY29uZS5cbiAgICAuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b24gLnNpZGViYXItaXRlbS1iYWRnZSB7XG4gICAgICAgIG1pbi13aWR0aDogMTRweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDE0cHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMXB4IDRweCAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDdweCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDlweCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMTJweCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uIC5zaWRlYmFyLWl0ZW0tYmFkZ2VzIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTRweCwgMCkgIWltcG9ydGFudDtcbiAgICAgICAgei1pbmRleDogMTAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbiAuc2lkZWJhci1pdGVtLWJhZGdlIHtcbiAgICAgICAgei1pbmRleDogMTAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLy8gUXVlYnJhIG8gc3RhY2tpbmcgY29udGV4dCBkbyBgYXBwLXNpZGViYXItaXRlbWAgKHF1ZSBlcmEgej0xKSDigJRcbiAgICAvLyBjb20gYHotaW5kZXg6IGF1dG9gLCBvIGJhZGdlIGVzY2FwYSBwcm8gY29udGV4dG8gcGFpIChgLm5hdmJhci1pdGVtc2ApXG4gICAgLy8gZSBwb2RlIGlyIHByYSB6PTMgKGFjaW1hIGRhIGxpbmhhIGFjY2VudCwgej0yKS4gQSBib3JkYSBkbyBib3TDo29cbiAgICAvLyBjb250aW51YSBubyBmbHV4byBuYXR1cmFsLCBBQkFJWE8gZGEgbGluaGEgYWNjZW50ICh6PTIpLiBPbmx5LWJhZGdlLXVwLFxuICAgIC8vIGJvcmRlci1zdGlsbC1kb3duLlxuICAgIGFwcC1zaWRlYmFyLWl0ZW0ge1xuICAgICAgICB6LWluZGV4OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gw41DT05FIGRlZmF1bHQ6IHDDrWx1bGEgR0hPU1QgKGJnIGNpbnphIHVsdHJhLXN1dGlsKSBlbSBUT0RPUy5cbiAgICAvLyBDcmlhIFwiZ3JpZCB1bmlmb3JtZVwiIOKAlCB0b2RvcyBvcyBpdGVucyBwYXJlY2VtIGNvbnRpZG9zLCBhdGl2b1xuICAgIC8vIHZzLiBpbmF0aXZvIHNlIGRpc3Rpbmd1ZSBwZWxvIHRpbnQgYWNjZW50LCBuw6NvIHBlbGEgcHJlc2Vuw6dhXG4gICAgLy8gZGUgY29udGFpbmVyLlxuICAgIC5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbiAubWF0LWljb24ge1xuICAgICAgICAvLyBNYXRjaCB2aXN1YWwgZG8gZGVza3RvcDogc8OzIGJvcmRhIG5vIGluYXRpdm87IHNlbGVjdGVkIGdhbmhhXG4gICAgICAgIC8vIHNvbWJyYSAocmVncmEgYWJhaXhvKS4gU2VtIGJnIHRpbnQsIHNlbSB1bmRlcmxpbmUuXG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAyMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMjJweCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogNXB4IDE1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQ7XG4gICAgICAgIC8vIENvciArIG9wYWNpZGFkZSBoZXJkYWRhcyBkbyBjb2xvci1zY2hlbWUgKG1lc21hIGRvcyDDrWNvbmVzXG4gICAgICAgIC8vIG5vIGRlc2t0b3ApLiBTZW0gb3BhY2l0eSA8IDEgYXF1aSDigJQgZGVza3RvcCBuw6NvIGRpbW1hLlxuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAvLyBGSUxMIDEgc2VtcHJlIOKAlCDDrWNvbmVzIGRvIGJvdHRvbSBuYXYgZW0gbW9iaWxlIHPDo28gZmlsbGVkXG4gICAgICAgIC8vIChtYWlzIG1hc3NhIHZpc3VhbCwgbGVpdHVyYSBpbnN0YW50w6JuZWEgZW0gdG9xdWUpLlxuICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ0ZJTEwnIDEsICd3Z2h0JyA0MDAsICdvcHN6JyAyNCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIExBQkVMIGRlZmF1bHQ6IHNlbXByZSBWSVPDjVZFTCAoZXZpdGEgcmVjb25oZWNpbWVudG8gdHJ1bmNhZG8gc8OzXG4gICAgLy8gcGVsbyDDrWNvbmUsIGVzcGVjaWFsbWVudGUgcG9ycXVlIG9zIMOtY29uZXMgYXF1aSB0w6ptIGNvcmVzIGRlIG1hcmNhXG4gICAgLy8gcXVlIG7Do28gc2UgcHJlc3RhbSBhIHNlcmVtIGxpZG9zIGNvbW8gXCJlc3RhZG9cIikuXG4gICAgLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uIC5sYWJlbC1zaG9ydCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDNweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEVzdGFkbyBBVElWTyDigJQgcGlsbCBhY2NlbnQgKyBmaWxsZWQgKyBsYWJlbCB2aXPDrXZlbC5cbiAgICAvLyBgLnNlbGVjdGVkLnNlbGVjdGVkYCAoZHVwbGljYWRvKSBidW1wbyBzcGVjaWZpY2l0eSBwcmEgdmVuY2VyIG9cbiAgICAvLyBgLm5hdmJhcltfbmdjb250ZW50LSpdIC5uYXZiYXItaXRlbXNbX25nY29udGVudC0qXSAuc2lkZWJhci1pdGVtXG4gICAgLy8gLmplbXMtdG9vbGJhci1idXR0b24uc2VsZWN0ZWRgIGRvIGNvbXBvbmVudCAoMCw3LDAgcGVsbyBuZ2NvbnRlbnQpLlxuICAgIC8vIFNlbGVjdGVkOiBwaWxsIGJyYW5jbyArIGFjY2VudCBsaW5lIHbDqm0gZG8gYC5uYXZiYXItaXRlbXMtaW5kaWNhdG9yYFxuICAgIC8vICsgYC5uYXZiYXItaXRlbXMtdW5kZXJsaW5lYCAoSlMgc2hhcmVkIGNvbSBkZXNrdG9wLCBhbmltYSBlbnRyZSBpdGVucykuXG4gICAgLy8gQXF1aSBzw7MgbmV1dHJhbGl6YW1vcyBvIGdob3N0IHBpbGwgZGEgLm1hdC1pY29uICh0cmFuc3BhcmVudGUpLFxuICAgIC8vIG1hbnRlbmRvIG8gw61jb25lIG9wYWNvLlxuICAgIC5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZC5zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIC5tYXQtaWNvbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgLy8gQmcgKyBib3JkZXIgaGVyZGFtIGRvIGVzdGFkbyBkZWZhdWx0ICh0cmFuc3BhcmVudGUgKyBib3JkYVxuICAgICAgICAgICAgLy8gY2hyb21lKS4gTWF0Y2ggZGVza3RvcDogc2VsZWN0ZWQgTsODTyBlc2NvbmRlIGJvcmRhIG5lbVxuICAgICAgICAgICAgLy8gbXVkYSBiZyBkbyBwcsOzcHJpbyBib3TDo28gKG8gaW5kaWNhdG9yIGJyYW5jbyB2aXZlIG51bVxuICAgICAgICAgICAgLy8gZWxlbWVudG8gc2VwYXJhZG8gYXRyw6FzIOKAlCAubmF2YmFyLWl0ZW1zLWluZGljYXRvcikuXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIERhcms6IHPDsyBhanVzdGUgZGUgYm9yZGVyLWNvbG9yIHByYSBjaHJvbWUtYm9yZGVyLWRhcmsgKG1lc21vIHBhZHLDo29cbi8vIGRvIHNpZGViYXItaXRlbSBjb21wb25lbnQgZW0gYDpob3N0LWNvbnRleHQoLmRhcmstdGhlbWUpYCkuXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGJvZHkuZGFyay10aGVtZSBhcHAtbmF2YmFyIC5uYXZiYXIgLm5hdmJhci1pdGVtcyB7XG4gICAgLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uIC5tYXQtaWNvbiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyaztcbiAgICB9XG4gICAgLy8gU2VsZWN0ZWQgZW0gZGFyazogc2VtIGJnIGV4dHJhIG5vIC5tYXQtaWNvbi4gTWF0Y2ggZGVza3RvcCDigJRcbiAgICAvLyBvIHBpbGwgYnJhbmNvL2VzY3VybyB2ZW0gZG8gYC5uYXZiYXItaXRlbXMtaW5kaWNhdG9yYCAoc2hhcmVkKS5cbn1cblxuLy8gRGFyazogaG92ZXIvYWN0aXZlIGRhIHDDrWx1bGEgKyBib3JkYSBkbyBiYWRnZSBubyBiZyBlc2N1cm8uXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGJvZHkuZGFyay10aGVtZSBhcHAtbmF2YmFyIC5uYXZiYXIgLm5hdmJhci1pdGVtcyB7XG4gICAgLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSkgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vYmlsZSBQb3J0cmFpdCDigJQgTWVsaG9yaWFzIFRpZXIgQi9DL0QvRSArIEEgcGFyY2lhbFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSB7XG4gICAgLy8gQi4gU2FmZS1hcmVhLWluc2V0LXRvcCDigJQgcmVzcGVpdGEgbyBub3RjaCBkZSBpUGhvbmUgLyBzdGF0dXMgYmFyXG4gICAgLy8gICAgQW5kcm9pZC4gVG9wIGJhciBzb2JlIHByYSBmb3JhIGRhIMOhcmVhIFwiY2xpY8OhdmVsXCIgZG8gbm90Y2ggZVxuICAgIC8vICAgIGF1bWVudGEgYWx0dXJhIHByYSBjb21wZW5zYXIuXG4gICAgYXBwLW5hdmJhciAubmF2YmFyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wLCAwKSAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IGNhbGMoNDhweCArIGVudihzYWZlLWFyZWEtaW5zZXQtdG9wLCAwKSkgIWltcG9ydGFudDtcbiAgICAgICAgLy8gVHJhbnNwYXJlbnRlIOKAlCBvIGdsYXNzIGRvIC5tYWluLWhlYWRlciAocXVlIGNvYnJlIFRPRE8gb1xuICAgICAgICAvLyB0b3BvLCBub3RjaCBpbmNsdcOtZG8pIMOpIHF1ZW0gdmlzdWFsbWVudGUgcmVwcmVzZW50YSBhIHRvcCBiYXIuXG4gICAgICAgIC8vIFPDkyBiZyDigJQgTkFEQSBkZSBiYWNrZHJvcC1maWx0ZXIvdHJhbnNmb3JtL2ZpbHRlciBhcXVpLCBzZW7Do29cbiAgICAgICAgLy8gdmlyYSBjb250YWluaW5nIGJsb2NrIGUgcXVlYnJhIG8gYHBvc2l0aW9uOiBmaXhlZGAgZGEgYm90dG9tXG4gICAgICAgIC8vIG5hdiAoYC5uYXZiYXItaXRlbXNgIHNvYmUgcHJhIGRlbnRybyBkbyB0b3BvKS5cbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEMuIEJvdHRvbSBuYXYgY29tIHNvbWJyYSBzdXRpbCDigJQgZMOhIHNlbnNhw6fDo28gZGUgY2FtYWRhIGVsZXZhZGFcbiAgICAvLyAgICBzb2JyZSBvIGNvbnRlw7pkbyAocGFkcsOjbyBpT1MvQW5kcm9pZCkuIFN1YnN0aXR1aSBhIGJvcmRlci10b3BcbiAgICAvLyAgICBwbGFuYSBwb3IgdW1hIHNvbWJyYSBzdXBlcmlvciAyLWNhbWFkYXMuXG4gICAgYXBwLW5hdmJhciAubmF2YmFyIC5uYXZiYXItaXRlbXMge1xuICAgICAgICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgLTFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjA2KSxcbiAgICAgICAgICAgICAgICAgICAgMCAtM3B4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjA0KTtcbiAgICB9XG5cbiAgICAvLyBELiBMb2dvLCBzZWFyY2gsIGhlbHAsIGJlbGwg4oCUIFRPRE9TIG9jdWx0b3Mgbm8gdG9wby4gU2VhcmNoLFxuICAgIC8vICAgIGhlbHBkZXNrIGUgbm90aWZpY2HDp8O1ZXMgbWlncmFtIHBybyBtZW51IGRvIHVzdcOhcmlvIChkw6liaXRvXG4gICAgLy8gICAgZGUgdGVtcGxhdGUg4oCUIGFpbmRhIG7Do28gbW92aWRvcywgYXBlbmFzIG9jdWx0b3MgYXF1aSkuXG4gICAgYXBwLW5hdmJhciAubmF2YmFyIGEubG9nbyxcbiAgICBhcHAtbmF2YmFyIC5uYXZiYXIgLnNwYWNlcixcbiAgICBhcHAtbmF2YmFyIC5uYXZiYXIgLnJpZ2h0LW5hdmJhci1jb250YWluZXIgLmNvbW1hbmQtcGFsZXR0ZS10cmlnZ2VyLFxuICAgIGFwcC1uYXZiYXIgLm5hdmJhciAucmlnaHQtbmF2YmFyLWNvbnRhaW5lciAuc3VwcG9ydC1oZWxwLWJ1dHRvbixcbiAgICBhcHAtbmF2YmFyIC5uYXZiYXIgLnJpZ2h0LW5hdmJhci1jb250YWluZXIgYXBwLXVzZXItbm90aWZpY2F0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBPIGAucmlnaHQtbmF2YmFyLWNvbnRhaW5lcmAgaW50ZWlybyBzb21lIG5vIHRvcG8g4oCUIHRvZG9zIG9zIMOtY29uZXNcbiAgICAvLyAoc2VhcmNoL2hlbHAvYmVsbC9hdmF0YXIgZG8gdG9wbykgZXN0w6NvIG9jdWx0b3MgaW5kaXZpZHVhbG1lbnRlLlxuICAgIGFwcC1uYXZiYXIgLm5hdmJhciAucmlnaHQtbmF2YmFyLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBBdmF0YXIgbW9iaWxlIOKAlCA2wrogc2xvdCBERU5UUk8gZGEgLm5hdmJhci1pdGVtcyAodmlzw612ZWwgc8OzIGFxdWkpLlxuICAgIC8vIERlc2xvY2EgYSBmaWxhIGRlIHNpZGViYXItaXRlbXMgNHB4IHByYSBkaXJlaXRhICh2aXN1YWwgYmFsYW5jZSkuXG4gICAgLy8gTyBhdmF0YXIgKG1vYmlsZS11c2VyLW1lbnUtc2xvdCkgY29tcGVuc2EgY29tIG1hcmdpbi1sZWZ0OiAtNHB4IHByYVxuICAgIC8vIG7Do28gZGVzbG9jYXIganVudG8g4oCUIHPDsyBvcyDDrWNvbmVzIGFuZGFtLlxuICAgIC8vIERlc2xvY2EgNHB4IHByYSBkaXJlaXRhIHZpYSBtYXJnaW4gKE7Dg08gdHJhbnNmb3JtIOKAlCB0cmFuc2Zvcm0gY3JpYVxuICAgIC8vIHN0YWNraW5nIGNvbnRleHQgZSBwcmVuZGUgbyBiYWRnZSwgaW1wZWRpbmRvLW8gZGUgc3ViaXIgYWNpbWEgZGFcbiAgICAvLyBsaW5oYSBhY2NlbnQpLiBNYXJnaW4tbGVmdCBubyBwcmltZWlybywgbWFyZ2luLXJpZ2h0IGFqdXN0YWRvIG5vXG4gICAgLy8gw7psdGltbzsgb3UgYXBlbmFzIHBhZGRpbmdnIG5hIG5hdmJhci1pdGVtcyBwcmEgZW1wdXJyYXIgdG9kb3MuXG4gICAgYXBwLW5hdmJhciAubmF2YmFyIC5uYXZiYXItaXRlbXMge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgICB9XG4gICAgYXBwLW5hdmJhciAubmF2YmFyIC5uYXZiYXItaXRlbXMgLm1vYmlsZS11c2VyLW1lbnUtc2xvdCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgLy8gU29iZSBtYWlzIHF1ZSBvcyBvdXRyb3Mg4oCUIG8gYXZhdGFyICgzNsOXMzYpIMOpIG1haW9yIHF1ZSBvIHBpbGxcbiAgICAgICAgLy8gZG8gw61jb25lICh+MzIgYWx0byksIGVudMOjbyBwcmVjaXNhIGNvbWXDp2FyIG1haXMgYWx0byBwcmEgcXVlIG9cbiAgICAgICAgLy8gY2VudHJvIHZpc3VhbCBiYXRhIGNvbSBhIFwibGluaGEgZG9zIMOtY29uZXNcIiAobsOjbyBjb20gYSBsaW5oYVxuICAgICAgICAvLyBkb3MgbGFiZWxzKS5cbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIGZsZXg6IDAgMCA1NnB4O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICAgIGFwcC1uYXZiYXIgLm5hdmJhciAubmF2YmFyLWl0ZW1zIC5tb2JpbGUtdXNlci1tZW51LXNsb3QgLnVzZXItbWVudS1idXR0b24ge1xuICAgICAgICB3aWR0aDogMzZweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDM2cHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTRweCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMzZweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBhcHAtbmF2YmFyIC5uYXZiYXIgLm5hdmJhci1pdGVtcyAubW9iaWxlLXVzZXItbWVudS1zbG90IC51c2VyLW1lbnUtcGhvdG8ge1xuICAgICAgICB3aWR0aDogMzZweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDM2cHggIWltcG9ydGFudDtcbiAgICAgICAgLy8gQ2FudG9zIGFycmVkb25kYWRvcyDigJQgbWVzbW8gJGNocm9tZS1yYWRpdXMgZG8gYXZhdGFyIGRlc2t0b3AuXG4gICAgICAgIC8vIEEgcmVncmEgZG8gZGVza3RvcCBtaXJhIGAucmlnaHQtbmF2YmFyLWNvbnRhaW5lciAudXNlci1tZW51LXBob3RvYFxuICAgICAgICAvLyBlIG7Do28gcGVnYSBlc3NlIG5vdm8gc2xvdC5cbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXMgIWltcG9ydGFudDtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuXG4gICAgLy8gRS4gR3V0dGVyIGxhdGVyYWwgZG9zIGNhcmRzIG1haXMgYXBlcnRhZG8gZW0gbW9iaWxlIHBvcnRyYWl0LlxuICAgIC8vICAgIEFwcm92ZWl0YSBhIGxhcmd1cmEgZXN0cmVpdGEgZG8gdmlld3BvcnQgKG1haXMgZXNwYcOnbyBwcm9cbiAgICAvLyAgICBjb250ZcO6ZG8pLiBBcGxpY2Egbm8gc2hlbGwgcGFkcsOjbyBgLnBhZ2UtY29udGVudGAuXG4gICAgLy8gICAgVGFtYsOpbTogYHotaW5kZXg6IGF1dG9gIGRlcnJ1YmEgbyBzdGFja2luZyBjb250ZXh0IHF1ZVxuICAgIC8vICAgIHByZW5kZXJpYSBvIGAubWFpbi1oZWFkZXJgICh6PTMyKSBhYmFpeG8gZGEgbmF2YmFyICh6PTMxKSxcbiAgICAvLyAgICB0b3JuYW5kbyBvIGZpbHRybyBpbnZpc8OtdmVsIG5vIHRvcG8uXG4gICAgLnBhZ2UtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTJweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHotaW5kZXg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgLy8gaG9tZS5zY3NzIGVtcHVycmEgLnBhZ2UtY29udGVudCBwcmEgYmFpeG8gKHRvcDogbmF2YmFyKzMrY2hyb21lKVxuICAgICAgICAvLyDigJQgZW0gbW9iaWxlLXBvcnRyYWl0IG8gb2Zmc2V0IHZpdmUgbm8gLm1haW4tYm9keSwgYXF1aSB6ZXJhLlxuICAgICAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgLy8gaG9tZS5zY3NzIGFwbGljYSBwYWRkaW5nLWJvdHRvbTogbmF2YmFyLWhlaWdodCsyOCAoPTgzcHgpIGVtXG4gICAgICAgIC8vIGlQaG9uZTgtcG9ydHJhaXQg4oCUIGxlZ2FkbyBkYSBib3R0b20tYmFyIGFudGlnYS4gTyBub3NzbyBib2R5XG4gICAgICAgIC8vIGrDoSByZXNlcnZhIDMyK3NhZmUgcHJhIGJvdHRvbSBuYXYsIGVudMOjbyBhcXVpIHplcmEgcHJhIG7Do29cbiAgICAgICAgLy8gZHVwbGljYXIgZm9sZ2EuXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gQS4gRlVTw4NPIG5hdmJhciArIG1haW4taGVhZGVyIGVtIFVNQSBsaW5oYSBzw7MuXG4gICAgLy8gICAgTGF5b3V0OiBbZmlsdHJvIGRhIHDDoWdpbmEgY2VudHJhbGl6YWRvXSBbYXZhdGFyICh1c2VyLW1lbnUpXS5cbiAgICAvLyAgICBPIGAubWFpbi1oZWFkZXJgIGRhIHDDoWdpbmEgw6kgUE9TSUNJT05BRE8gc29icmUgYSBmYWl4YSBkYVxuICAgIC8vICAgIG5hdmJhciAodG9wPTAgKyBzYWZlLWFyZWEpIGUgdmlyYSBvIGRvbm8gdmlzdWFsIGRvIHRvcG8uXG4gICAgLy8gICAgVGl0bGUgZGEgcMOhZ2luYSBzb21lIChib3R0b20gbmF2IGrDoSBzaW5hbGl6YSBhIHDDoWdpbmEgYXRpdmEpLlxuICAgIC8vICAgIHJpZ2h0OiA2MHB4IHJlc2VydmEgZXNwYcOnbyBwcm8gYXZhdGFyIHF1ZSBjb250aW51YSBubyBuYXZiYXIuXG4gICAgLy8gSGVhZGVyIGVtIG1vYmlsZS1wb3J0cmFpdCDigJQgVU0gw7puaWNvIGJsb2NvIGRlIHJlZ3Jhcy4gRXNwZWNpZmljaWRhZGVcbiAgICAvLyBhbHRhICg2IGNsYXNzZXMpIHByYSB2ZW5jZXIgbyBgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50YCBkb1xuICAgIC8vIGV2ZW50cy5jb21wb25lbnQuc2NzcyBjb21waWxhZG8gY29tIDMgYXR0cnMgYF9uZ2NvbnRlbnRgIChzcGVjIDAsNiwwKS5cbiAgICAubWFpbi1oZWFkZXIubWFpbi1oZWFkZXIubWFpbi1oZWFkZXIubWFpbi1oZWFkZXIubWFpbi1oZWFkZXIubWFpbi1oZWFkZXIge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDQ4cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwgMCkpICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ4cHggIWltcG9ydGFudDtcbiAgICAgICAgLy8gcGFkZGluZy10b3AgY29tcGVuc2EgbyBub3RjaCDigJQgZmlsdHJvIGZpY2EgYWJhaXhvIGRlbGUuXG4gICAgICAgIHBhZGRpbmc6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wLCAwKSAxMnB4IDAgIWltcG9ydGFudDtcbiAgICAgICAgLy8gw5pOSUNBIGxheW91dCByZWdyYSDigJQgZmxleC1jZW50ZXIuIEFudWxhIG8gZ3JpZCBoZXJkYWRvLlxuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogMCAhaW1wb3J0YW50O1xuICAgICAgICAvLyBHbGFzcyArIHplcm8gc29tYnJhIChnbGFzcyByZWFsIHZpdmUgbm8gOjpiZWZvcmUpLlxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB6LWluZGV4OiBjYWxjKCN7JG5hdmJhci16LWluZGV4fSArIDEpICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cbiAgICAvLyBDYW1hZGEgZGUgYmx1ciBjb20gbcOhc2NhcmEgZ3JhZGllbnRlLiBGaWNhIEFUUsOBUyBkbyBjb250ZcO6ZG8gZG9cbiAgICAvLyBoZWFkZXIgKGZpbHRlciBjaGlwKSBwb3JxdWUgYSBvcmRlbSBubyBET00gKDo6YmVmb3JlIGFudGVzIGRlXG4gICAgLy8gZmlsaG9zIHJlYWlzKSBlIG8gcG9pbnRlci1ldmVudHM6bm9uZSBnYXJhbnRlbSBxdWUgbsOjbyBpbnRlcmNlcHRlXG4gICAgLy8gaW50ZXJhw6fDo28uXG4gICAgLm1haW4taGVhZGVyLm1haW4taGVhZGVyOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJyAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAvLyBUaW50IGVtIGdyYWRpZW50ZTogdG9wbyBjb20gNTAlIGRlIG9wYWNpZGFkZSBicmFuY2EsIHJvZGFww6lcbiAgICAgICAgLy8gMTAwJSB0cmFuc3BhcmVudGUuIENvbWJpbmFkbyBjb20gbyBtYXNrIChtZXNtbyBwZXJmaWwpIGTDoSB1bVxuICAgICAgICAvLyBmYWRlIGR1cGxvIHN1YXZlIOKAlCBubyByb2RhcMOpIHNvbWUgdGFudG8gbyB0aW50IHF1YW50byBvIGJsdXIuXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKSAhaW1wb3J0YW50O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoM3B4KSBzYXR1cmF0ZSgxMTUlKTtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDNweCkgc2F0dXJhdGUoMTE1JSk7XG4gICAgICAgIC8vIE3DoXNjYXJhOiBvcGFjYSBubyB0b3BvIChibHVyIGNoZWlvKSDihpIgdHJhbnNwYXJlbnRlIG5vIGZpbVxuICAgICAgICAvLyAoYmx1ciB6ZXJvKS4gTWF0Y2ggaU9TL21hY09TIHRyYW5zbHVjZW50IG5hdi5cbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMDAwIDAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICAgICAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzAwMCAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG4gICAgfVxuICAgIC8vIE92ZXJyaWRlIGRvIGV2ZW50cy5jb21wb25lbnQuc2NzcyBxdWUgYXBsaWNhIGJveC1zaGFkb3cgZW0gaXMtc2Nyb2xsZWQuXG4gICAgLm1haW4taGVhZGVyLm1haW4taGVhZGVyLmlzLXNjcm9sbGVkIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC8vIChBbnRlczogYDo6YmVmb3JlIHsgZGlzcGxheTogbm9uZSB9YCBwcmEgZGVzbGlnYXIgYSBleHRlbnPDo28gZGUgYmdcbiAgICAvLyAgZG8gZXZlbnRzLnNjc3MuIEFnb3JhIHJlYXByb3ZlaXRhbW9zIG8gOjpiZWZvcmUgcHJvIGdsYXNzIGdyYWRpZW50LFxuICAgIC8vICBlbnTDo28gTsODTyBlc2NvbmRlbW9zIG1haXMuIEEgcmVncmEgZG8gZ2xhc3MgZmljYSBubyBibG9jbyBBLilcblxuICAgIC8vIFRpdGxlIGRhIHDDoWdpbmEgc29tZSDigJQgYm90dG9tIG5hdiBqw6EgbW9zdHJhIHF1YWwgcMOhZ2luYSBlc3TDoSBhdGl2YS5cbiAgICAubWFpbi1oZWFkZXIubWFpbi1oZWFkZXIgLm1haW4tdGl0bGUsXG4gICAgLm1haW4taGVhZGVyLm1haW4taGVhZGVyIC5wYWdlLWFjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gRmlsdHJvIMOpIG8gw7puaWNvIGZpbGhvIHZpc8OtdmVsLiBTZW0gZ3JpZC1jb2x1bW4sIHNlbSBqdXN0aWZ5LXNlbGYuXG4gICAgLy8gQ29tbyBvIHBhaSDDqSBmbGV4LWNlbnRlciwgbyBmaWx0cm8gY2VudHJhbGl6YSBhdXRvbWF0aWNhbWVudGUuXG4gICAgLy8gbWF4LXdpZHRoIGxpbWl0YSBhIGxhcmd1cmEgw7p0aWw7IG1hcmdpbiBhdXRvIGZvcsOnYSBjZW50cmFsaXphw6fDo29cbiAgICAvLyBjYXNvIG91dHJvcyBpcm3Do29zIGFwYXJlw6dhbS5cbiAgICAvLyBTaHJpbmstdG8tZml0OiBmaWx0cm8gc8OzIG9jdXBhIGEgbGFyZ3VyYSBuYXR1cmFsIGRvIGNoaXAgKH4yODBweCkuXG4gICAgLy8gU2VtIHdpZHRoOiAxMDAlLCBzZW0gbWF4LXdpZHRoLiBPIGZsZXgtY2VudGVyIGRvIC5tYWluLWhlYWRlclxuICAgIC8vIGNlbnRyYWxpemEgYSBjYWl4YSBpbnRlaXJhIGF1dG9tYXRpY2FtZW50ZS4gU2UgYWxndW0gZGlhIG8gY2hpcFxuICAgIC8vIGZpY2FyIG11aXRvIGxhcmdvLCBjYXAgY29tIG1heC13aWR0aC5cbiAgICAubWFpbi1oZWFkZXIubWFpbi1oZWFkZXIgLnBhZ2Utc2VhcmNoLWZpbHRlciB7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDZweDtcbiAgICB9XG4gICAgLm1haW4taGVhZGVyLm1haW4taGVhZGVyIC5wYWdlLXNlYXJjaC1maWx0ZXIgYXBwLWN1c3RvbS1zZWFyY2gge1xuICAgICAgICBmbGV4OiAwIDAgYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyDilIDilIAgYXBwLWN1c3RvbS1zZWFyY2gg4oCUIGRlc2lnbiBnbG9iYWwgbW9iaWxlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAgIC8vIEFwbGljYSBlbSBUT0RBUyBhcyBpbnN0w6JuY2lhcyBkbyBjb21wb25lbnRlIGVtIG1vYmlsZS1wb3J0cmFpdCxcbiAgICAvLyBuw6NvIHPDsyBubyBoZWFkZXIgKDEwIGNhbGxlcnMgYWRtaW4gdGFtYsOpbSBoZXJkYW0gcXVhbmRvL3NlIG8gYXBwXG4gICAgLy8gZm9yIHVzYWRvIGVtIG1vYmlsZSkuXG4gICAgLy8g4oCiIEVzY29uZGUgbyBhdGFsaG8gXCIvXCIgKG7Do28gZmF6IHNlbnRpZG8gZW0gdG9xdWUpXG4gICAgLy8g4oCiIEJvcmRlci1yYWRpdXMgYXJyZWRvbmRhZG8gZG9zIGRvaXMgbGFkb3MgKHBpbGwgc2hhcGUpXG4gICAgYXBwLWN1c3RvbS1zZWFyY2ggLnNob3J0Y3V0LWhpbnQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIGFwcC1jdXN0b20tc2VhcmNoIC5jaGlwLWV4cGFuZGVkLFxuICAgIGFwcC1jdXN0b20tc2VhcmNoIC5jaGlwLXRyaWdnZXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweCAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSxcbiAgICAgICAgICAgICAgICAgICAgMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNikgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBCb3TDo28gZGUgZmlsdHJvIChgLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi0tZmlsdGVyYCkgYW8gbGFkbyBkb1xuICAgIC8vIGNoaXAg4oCUIGVtIG1vYmlsZSBkZXZlIHRlciBtZXNtYSBiZyBlIHNvbWJyYSBkbyBjaGlwIHByYSBwYXJlY2VyZW1cbiAgICAvLyBcImlybcOjb3NcIi4gQmcgPSBgJGFkbWluLWJhY2tncm91bmRgIChvIE1FU01PIGRvIGAuY2hpcC1leHBhbmRlZGAgZW1cbiAgICAvLyBfY29sb3Itc2NoZW1lLnNjc3Mg4oCUIGNvbSBgYWx3YXlzT3BlbmAgbyBjaGlwIHZpc8OtdmVsIMOpIG8gZXhwYW5kaWRvLFxuICAgIC8vIG7Do28gbyB0cmlnZ2VyIGNvbGFwc2FkbyksIHNvbWJyYSBpZMOqbnRpY2EuXG4gICAgLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi0tZmlsdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksXG4gICAgICAgICAgICAgICAgICAgIDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTYpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gLm1haW4tYm9keSBvZmZzZXQgPSBzw7MgbmF2YmFyICg0OCArIHNhZmUtYXJlYSkgKyBmb2xnYSAoOHB4KS5cbiAgICAvLyBTZW0gZXNwYcOnbyBleHRyYSBwcm8gaGVhZGVyIOKAlCBlbGUgYWdvcmEgdml2ZSBERU5UUk8gZGEgZmFpeGFcbiAgICAvLyBkYSBuYXZiYXIuXG4gICAgLm1haW4tYm9keSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDQ4cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwgMCkpICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vIFJlc2VydmEgcHJvIGJvdHRvbSBuYXYg4oCUIGFxdWkgZSBuw6NvIG5vIGJvZHkgcG9ycXVlIC5ob21lXG4gICAgICAgIC8vIChhbmNlc3Rvcikgw6kgaGVpZ2h0OjEwMHZoICsgb3ZlcmZsb3cgdmlzaWJsZSwgbyBxdWUgZmF6IG9cbiAgICAgICAgLy8gcGFkZGluZyBkbyBib2R5IHNlciBcImVuZ29saWRvXCIgcXVhbmRvIG9zIGNhcmRzIG92ZXJmbG93YW0uXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDY0cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMCkpICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyBDLWRhcms6IHNvbWJyYSBtYWlzIGludGVuc2EgcHJhIHZlbmNlciBiZyBlc2N1cm8gKyBiZyBvcGFjby5cbmJvZHkuZGFyay10aGVtZVtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBhcHAtbmF2YmFyIC5uYXZiYXIgLm5hdmJhci1pdGVtcyxcbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gYm9keS5kYXJrLXRoZW1lIGFwcC1uYXZiYXIgLm5hdmJhciAubmF2YmFyLWl0ZW1zIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIC0ycHggNXB4IHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAgICAgICAgICAgICAwIC02cHggMTRweCByZ2JhKDAsIDAsIDAsIDAuMzUpICFpbXBvcnRhbnQ7XG59XG5cbi8vIEdsYXNzIGRhcms6IG5hdmJhciB0cmFuc3BhcmVudGUgKyB0aW50IGRvIGhlYWRlciBlbSAjMjAyMDIwIChtZXNtYVxuLy8gY29yIGRhIC5uYXZiYXIgZG8gZGVza3RvcCBkYXJrID0gJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKS5cbmJvZHkuZGFyay10aGVtZVtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBhcHAtbmF2YmFyIC5uYXZiYXIsXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGJvZHkuZGFyay10aGVtZSBhcHAtbmF2YmFyIC5uYXZiYXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xufVxuLy8gRGFyayBkbyBmaWx0ZXIgYnV0dG9uIOKAlCBgJGFkbWluLWJhY2tncm91bmQtZGFya2AsIHBhcmVhbmRvIG9cbi8vIGAuY2hpcC1leHBhbmRlZGAgZGFyayAobWVzbW8gcGFyIGxpZ2h0L2RhcmsgZGEgcmVncmEgYWNpbWEpLlxuYm9keS5kYXJrLXRoZW1lW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIC5jaGFpci1oZWFkZXItaWNvbi1idXR0b24tLWZpbHRlcixcbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gYm9keS5kYXJrLXRoZW1lIC5jaGFpci1oZWFkZXItaWNvbi1idXR0b24tLWZpbHRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuYm9keS5kYXJrLXRoZW1lW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIC5tYWluLWhlYWRlci5tYWluLWhlYWRlcjo6YmVmb3JlLFxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBib2R5LmRhcmstdGhlbWUgLm1haW4taGVhZGVyLm1haW4taGVhZGVyOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMzIsIDMyLCAzMiwgMC41KSAwJSwgcmdiYSgzMiwgMzIsIDMyLCAwKSAxMDAlKSAhaW1wb3J0YW50O1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2JpbGUgUG9ydHJhaXQg4oCUIE1lbnUgZG8gdXN1w6FyaW8gY29tbyBCT1RUT00gU0hFRVRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE8gcG9wb3ZlciBkbyBhdmF0YXIgKGAuamVtcy1wb3BvdmVyLXBhbmVsLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZWApIMOpXG4vLyBwb3J0YWRvIHBybyA8Ym9keT4g4oCUIHJlZ3JhcyBnbG9iYWlzIGNhc2FtLiBFbSBtb2JpbGUtcG9ydHJhaXQgZWxlIGRlaXhhIGRlXG4vLyBzZXIgcG9wb3ZlciBhbmNvcmFkbyBlIHZpcmEgYm90dG9tIHNoZWV0OiBzb2JlIGRvIHJvZGFww6ksIG9jdXBhIGEgbGFyZ3VyYVxuLy8gdG9kYSwgY2FudG9zIHN1cGVyaW9yZXMgYXJyZWRvbmRhZG9zLCBoYW5kbGUgYmFyIG5vIHRvcG8sIHNjcmltIGF0csOhcy5cbi8vIERlc2t0b3AgZSB0YWJsZXRzIE7Dg08gcmVjZWJlbSBlc3NhcyByZWdyYXMg4oCUIG8gcG9wb3ZlciBhbmNvcmFkbyBub3JtYWxcbi8vIGNvbnRpbnVhIHZhbGVuZG8gbMOhLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSAuamVtcy1wb3BvdmVyLXBhbmVsLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZSB7XG4gICAgLy8gQW51bGEgdHJhbnNmb3JtIGlubGluZSBzZXRhZG8gcGVsbyBgcG9zaXRpb24oKWAgZG8gcG9wb3ZlciDigJQgc2hlZXQgZmljYVxuICAgIC8vIGZpeG8gbm8gcm9kYXDDqSwgbsOjbyBhbmNvcmFkbyBhbyB0cmlnZ2VyLlxuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgLy8gQWx0dXJhIFZBUknDgVZFTCDigJQgY3Jlc2NlIGNvbSBvIGNvbnRlw7pkby4gQ2FwIGVtIDkydmggc8OzIGNvbW9cbiAgICAvLyBzYWx2YWd1YXJkYSAoZXguOiBpZGlvbWFzIGZ1dHVyb3MgYXVtZW50YW0gZGVtYWlzIG8gbWVudSkuXG4gICAgLy8gYGhlaWdodDogYXV0b2AgKyBtYXggY2FwID0gc2hlZXQgYWNvbXBhbmhhIG8gbsO6bWVybyBkZSBpdGVucy5cbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXgtaGVpZ2h0OiA5MnZoICFpbXBvcnRhbnQ7XG4gICAgLy8gT3ZlcmZsb3cgUkVESVJFQ0lPTkFETyBwcm8gYC50cGMtdXNlci1tZW51YCAoY2hpbGQpIOKAlCBzZSBvXG4gICAgLy8gc2Nyb2xsIGZpY2FyIG5vIHNoZWV0LCBvIGJyb3dzZXIgaGlqYWNrYSBvIGdlc3RvIGRlIGFycmFzdGFyXG4gICAgLy8gcHJhIGJhaXhvIGNvbW8gc2Nyb2xsIGludGVybm8gZSBlbWl0ZSBwb2ludGVyY2FuY2VsLCBtYXRhbmRvXG4gICAgLy8gbWV1IGRyYWctdG8tY2xvc2UuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gICAgLy8gdG91Y2gtYWN0aW9uOiBub25lIGltcGVkZSBxdWFscXVlciBoaWphY2sgZG8gYnJvd3NlciBzb2JyZSBnZXN0b3NcbiAgICAvLyBubyBzaGVldC4gTyBzY3JvbGwgdml2ZSBubyBmaWxobywgY29tIHBhbi15IGF0aXZvIGzDoS5cbiAgICB0b3VjaC1hY3Rpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAvLyBCZyBkbyBzaGVldCDigJQgbWVzbWEgY29yIGRvIGAudHBjLXVzZXItbWVudWAgKHZpYVxuICAgIC8vIGAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kYCkuIE8gc2hlZXQgdGVtIHBhZGRpbmctdG9wIHBybyBoYW5kbGVcbiAgICAvLyBiYXI7IHNlbSBiZyBwcsOzcHJpbywgZXNzYSBmYWl4YSBmaWNhcmlhIHRyYW5zcGFyZW50ZSBlIG1vc3RyYXJpYVxuICAgIC8vIG8gc2NyaW0vcMOhZ2luYSBhdHLDoXMuXG4gICAgYmFja2dyb3VuZDogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZDtcbiAgICAvLyBDYW50b3MgYXJyZWRvbmRhZG9zIHPDsyBubyB0b3BvIChzZW5zYcOnw6NvIGRlIFwic2hlZXQgc3ViaW5kb1wiKS5cbiAgICBib3JkZXItcmFkaXVzOiAyMHB4IDIwcHggMCAwICFpbXBvcnRhbnQ7XG4gICAgLy8gSGFuZGxlIGJhciB2aXN1YWwg4oCUIGdyaXAgY2luemEgY2VudHJhbGl6YWRvIG5vIHRvcG8uXG4gICAgcGFkZGluZy10b3A6IDE4cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyhlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMCkgKyAxMnB4KSAhaW1wb3J0YW50O1xuICAgIC8vIFNvbWJyYSBwcmEgZGVzY29sYXIgZG8gYmcgYXRyw6FzLlxuICAgIGJveC1zaGFkb3c6IDAgLTZweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4xOCkgIWltcG9ydGFudDtcbiAgICAvLyBBbmltYSBlbnRyYWRhIOKAlCBzb2JlIGRlIGJhaXhvLlxuICAgIGFuaW1hdGlvbjogbW9iaWxlLXVzZXItc2hlZXQtaW4gMjQwbXMgY3ViaWMtYmV6aWVyKC4yLCAuOCwgLjIsIDEpO1xufVxuLy8gSGFuZGxlIGJhciAoZ3JpcCkgdmlhIDo6YmVmb3JlIOKAlCBwZXF1ZW5vIHBpbGwgY2luemEgbm8gdG9wbyBkbyBzaGVldC5cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gLmplbXMtcG9wb3Zlci1wYW5lbC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogOHB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJhY2tncm91bmQ6ICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbmJvZHkuZGFyay10aGVtZVtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSAuamVtcy1wb3BvdmVyLXBhbmVsLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZTo6YmVmb3JlLFxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBib2R5LmRhcmstdGhlbWUgLmplbXMtcG9wb3Zlci1wYW5lbC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGU6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmU7XG59XG4vLyBCZyBkbyBzaGVldCBlbSBkYXJrIOKAlCB1c2EgYCRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFya2AgKG1lc21hIGNvclxuLy8gZG8gLnRwYy11c2VyLW1lbnUgZGFyaykuXG5ib2R5LmRhcmstdGhlbWVbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gLmplbXMtcG9wb3Zlci1wYW5lbC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGUsXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGJvZHkuZGFyay10aGVtZSAuamVtcy1wb3BvdmVyLXBhbmVsLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZSB7XG4gICAgYmFja2dyb3VuZDogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xufVxuXG4vLyBTY3JpbSBhdHLDoXMgZG8gc2hlZXQ6IGVzY3VyZWNlIG8gYXBwIHBhcmEgc2luYWxpemFyIHF1ZSBvIHNoZWV0IMOpIG1vZGFsLlxuLy8gVXNhbW9zIGA6aGFzKClgIHByYSBzw7MgYXBsaWNhciBxdWFuZG8gbyBzaGVldC1jYW5kaWRhdGUgZXN0w6EgYWJlcnRvIG5vIGJvZHkuXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGJvZHk6aGFzKC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGUpIC5qZW1zLXBvcG92ZXItYmFja2Ryb3Age1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjAsIDIwLCAyMCwgMC40MikgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb246IG1vYmlsZS11c2VyLXNjcmltLWluIDI0MG1zIGVhc2Utb3V0O1xufVxuXG5Aa2V5ZnJhbWVzIG1vYmlsZS11c2VyLXNoZWV0LWluIHtcbiAgICBmcm9tIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpICFpbXBvcnRhbnQ7IH1cbiAgICB0byAgIHsgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7IH1cbn1cbkBrZXlmcmFtZXMgbW9iaWxlLXVzZXItc2NyaW0taW4ge1xuICAgIGZyb20geyBiYWNrZ3JvdW5kOiByZ2JhKDIwLCAyMCwgMjAsIDApOyB9XG4gICAgdG8gICB7IGJhY2tncm91bmQ6IHJnYmEoMjAsIDIwLCAyMCwgMC40Mik7IH1cbn1cblxuLy8gU2Nyb2xsIGxvY2s6IGVucXVhbnRvIG8gc2hlZXQgZXN0aXZlciBhYmVydG8sIGEgcMOhZ2luYSBkZSBmdW5kbyBuw6NvIHJvbGEuXG4vLyBPIHNoZWV0IHRlbSBzZXUgcHLDs3ByaW8gb3ZlcmZsb3cgaW50ZXJubywgZW50w6NvIGNvbnRpbnVhIHNjcm9sbMOhdmVsLlxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXTpoYXMoLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZSksXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdOmhhcygubW9iaWxlLXVzZXItc2hlZXQtY2FuZGlkYXRlKSBib2R5IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG4vLyBTaGVldDogc2VtIHRvdWNoLWFjdGlvbiBnbG9iYWwg4oCUIG8gbGlzdGVuZXIgSlMgY29udHJvbGEgZHJhZyB2cyBzY3JvbGxcbi8vIChwcmV2ZW50RGVmYXVsdCBubyBkcmFnLCBkZWl4YSBicm93c2VyIGhhbmRsZWFyIHNjcm9sbCBmb3JhIGRhIGdyaXAgem9uZSkuXG5cbi8vIEl0ZW5zL2Jsb2NvcyBleGNsdXNpdm9zIGRvIHNoZWV0IG1vYmlsZSDigJQgb2N1bHRvcyBlbSBxdWFscXVlciBkZW5zaWRhZGVcbi8vIHF1ZSBOw4NPIHNlamEgbW9iaWxlLXBvcnRyYWl0LiBDb2JyZSBoZWFkZXIgZG8gdXN1w6FyaW8sIGxhYmVscyBkZSBzZcOnw6NvLFxuLy8gZSBvcyAzIGl0ZW5zIG1pZ3JhZG9zIGRvIHRvcG8gKHNlYXJjaC9oZWxwL25vdGlmaWNhdGlvbnMpLiBObyBkZXNrdG9wXG4vLyBvcyAzIGJvdMO1ZXMgdml2ZW0gbm8gYC5yaWdodC1uYXZiYXItY29udGFpbmVyYCwgZW50w6NvIHJlcGV0aS1sb3Mgbm9cbi8vIG1lbnUgZGVza3RvcCBzZXJpYSByZWR1bmTDom5jaWEuXG4vLyBOdWNsZWFyOiBib2R5IGFuY2VzdG9yICsgY2xhc3MgdHJpcGxpY2FkYSDigJQgdmVuY2UgcXVhbHF1ZXIgcmVncmFcbi8vIGludGVybmEgZG8gQW5ndWxhciBNYXRlcmlhbC5cbmJvZHkgLm1vYmlsZS1vbmx5LW1lbnUtaXRlbS5tb2JpbGUtb25seS1tZW51LWl0ZW0ubW9iaWxlLW9ubHktbWVudS1pdGVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGJvZHkgLm1vYmlsZS1vbmx5LW1lbnUtaXRlbS5tb2JpbGUtb25seS1tZW51LWl0ZW0ubW9iaWxlLW9ubHktbWVudS1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG59XG4vLyBPcG9zdG86IGl0ZW5zIHF1ZSBzw7MgZXhpc3RlbSBubyBkZXNrdG9wIChleC46IENvcGlhciBKRU1TIElEIOKAlCBlbVxuLy8gbW9iaWxlIG8gSUQgasOhIGFwYXJlY2Ugbm8gaGVhZGVyIGRvIHNoZWV0KS5cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gYm9keSAuZGVza3RvcC1vbmx5LW1lbnUtaXRlbS5kZXNrdG9wLW9ubHktbWVudS1pdGVtLmRlc2t0b3Atb25seS1tZW51LWl0ZW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8g4pSA4pSAIEHDp8O1ZXMgcsOhcGlkYXMgbGFkbyBhIGxhZG8gKG1vYmlsZSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBTZWFyY2ggLyBoZWxwZGVzayAvIG5vdGlmaWNhw6fDtWVzIHJlbmRlcmFtIGNvbW8gMyDDrWNvbmVzIGVtIHJvdywgc2VtXG4vLyBsYWJlbHMuIFdyYXBwZXIgYG1vYmlsZS1xdWljay1hY3Rpb25zYCBzw7MgZXhpc3RlIGVtIG1vYmlsZS1wb3J0cmFpdFxuLy8gKGdhdGUgLm1vYmlsZS1vbmx5LW1lbnUtaXRlbSkuXG4vLyBMYXlvdXQgY2FzYSBjb20gLmNvbnRhaW5lci10aGVtZSAobGluaGEgZGUgZXNjb2xoYSBkZSB0ZW1hKSDigJQgY2x1c3RlclxuLy8gY2VudHJhbGl6YWRvLCBnYXAgNHB4LCBjZWxscyA0NMOXMzIuXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIC5qZW1zLXBvcG92ZXItcGFuZWwubW9iaWxlLXVzZXItc2hlZXQtY2FuZGlkYXRlIC5tb2JpbGUtcXVpY2stYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDhweCAwICFpbXBvcnRhbnQ7XG4gICAgZ2FwOiA0cHggIWltcG9ydGFudDtcbn1cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gLmplbXMtcG9wb3Zlci1wYW5lbC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGUgLm1vYmlsZS1xdWljay1hY3Rpb25zLWJ0biB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiA0NHB4ICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiA0NHB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXMgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbn1cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gLmplbXMtcG9wb3Zlci1wYW5lbC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGUgLm1vYmlsZS1xdWljay1hY3Rpb25zLWJ0biAubWF0LWljb24ge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMjJweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAyMnB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAyMnB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDIycHggIWltcG9ydGFudDtcbiAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ29wc3onIDIwLCAnd2dodCcgMzAwLCAnRklMTCcgMDtcbn1cbi8vIEZsYWdzIOKAlCBtZXNtYXMgZGltZW5zw7VlcyBkb3Mgw61jb25lcywgbWFzIG8gZW1vamkgdml2ZSBudW0gPHNwYW4+LlxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSAuamVtcy1wb3BvdmVyLXBhbmVsLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZSAubW9iaWxlLXF1aWNrLWFjdGlvbnMtZmxhZyAuZmxhZyB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4vLyBEaXZpc29yIHZlcnRpY2FsIGVudHJlIHF1aWNrIGFjdGlvbnMgZSBmbGFncy5cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gLmplbXMtcG9wb3Zlci1wYW5lbC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGUgLm1vYmlsZS1xdWljay1hY3Rpb25zLWRpdmlkZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW46IDAgNnB4O1xuICAgIGJhY2tncm91bmQ6ICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xufVxuYm9keS5kYXJrLXRoZW1lW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIC5qZW1zLXBvcG92ZXItcGFuZWwubW9iaWxlLXVzZXItc2hlZXQtY2FuZGlkYXRlIC5tb2JpbGUtcXVpY2stYWN0aW9ucy1kaXZpZGVyLFxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBib2R5LmRhcmstdGhlbWUgLmplbXMtcG9wb3Zlci1wYW5lbC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGUgLm1vYmlsZS1xdWljay1hY3Rpb25zLWRpdmlkZXIge1xuICAgIGJhY2tncm91bmQ6ICRjaHJvbWUtYm9yZGVyLWRhcms7XG59XG5cbi8vIOKUgOKUgCBDbGVhbnVwIGRvIC50cGMtdXNlci1tZW51IGRlbnRybyBkbyBzaGVldCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIEtpbGwgZG8gZHJvcC1zaGFkb3cgZSBkbyBib3JkZXItcmFkaXVzIGludGVybm8g4oCUIG8gc2hlZXQgasOhIMOpIG9cbi8vIFwiY29udGFpbmVyIHZpc3VhbFwiLCBvIG1lbnUgaW50ZXJubyBkZXZlIGZsdWlyIHNlbSBzb21icmEgcHLDs3ByaWEgbmVtXG4vLyBjYW50b3MgYXJyZWRvbmRhZG9zIGV4dHJhcy5cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gLmplbXMtcG9wb3Zlci1wYW5lbC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGUgLnRwYy11c2VyLW1lbnUge1xuICAgIGZpbHRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAvLyBTY3JvbGwgZG8gY29udGXDumRvIHZpdmUgQVFVSSAobsOjbyBubyBzaGVldCkg4oCUIHNoZWV0IGZpY2EgY29tXG4gICAgLy8gdG91Y2gtYWN0aW9uOiBub25lIHBybyBkcmFnLXRvLWNsb3NlLCBlIGVzdGUgY29udGFpbmVyIGN1aWRhXG4gICAgLy8gZG8gc2Nyb2xsIGNvbSBwYW4teSBuYXR1cmFsIGRvIGJyb3dzZXIuXG4gICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdy15OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teSAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLy8g4pSA4pSAIEhlYWRlciBkbyBzaGVldCBtb2JpbGUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIC5qZW1zLXBvcG92ZXItcGFuZWwubW9iaWxlLXVzZXItc2hlZXQtY2FuZGlkYXRlIHtcbiAgICAubW9iaWxlLXVzZXItaGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICBwYWRkaW5nOiAxNHB4IDIwcHggMTJweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xuICAgICAgICAvLyB0b3VjaC1hY3Rpb246IG5vbmUg4oCUIG8gaGVhZGVyIGRvIHVzdcOhcmlvIMOpIHBhcnRlIGRhIGdyaXAgem9uZTtcbiAgICAgICAgLy8gc2VtIGlzc28gbyBicm93c2VyIGludGVycHJldGEgbyBnZXN0byBjb21vIHNjcm9sbCBkZSAudHBjLXVzZXItbWVudVxuICAgICAgICAvLyAocXVlIHRlbSBwYW4teSkgZSBjYW5jZWxhIG5vc3NvIGRyYWctdG8tY2xvc2UuXG4gICAgICAgIHRvdWNoLWFjdGlvbjogbm9uZTtcbiAgICB9XG4gICAgLm1vYmlsZS11c2VyLWhlYWQtYXZhdGFyIHtcbiAgICAgICAgZmxleDogMCAwIDQwcHg7XG4gICAgICAgIHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xuICAgIH1cbiAgICAubW9iaWxlLXVzZXItaGVhZC1hdmF0YXIgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgb2JqZWN0LWZpdDogY292ZXI7IGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAubW9iaWxlLXVzZXItaGVhZC1pbmZvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICB9XG4gICAgLm1vYmlsZS11c2VyLWhlYWQtbmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICRjb250ZW50LWNvbG9yO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gICAgLm1vYmlsZS11c2VyLWhlYWQtbWFpbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gICAgLm1vYmlsZS11c2VyLWhlYWQtaWQge1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICB9XG5cbiAgICAvLyDilIDilIAgU2VjdGlvbiBsYWJlbHMgKEHDp8O1ZXMgcsOhcGlkYXMgLyBDb250YSAvIEFwYXLDqm5jaWEgLyBTb2JyZSkg4pSA4pSAXG4gICAgLm1vYmlsZS1zZWN0aW9uLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMTRweCAyMHB4IDRweCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDEwLjVweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgICAgLy8gUmVzZXRhIGhvdmVyL2ZvY3VzIGRvIG1hdC1tZW51LWl0ZW0gcXVlIGhlcmRhcmlhbS5cbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgIC8vIOKUgOKUgCBEZXN0cnVjdGl2ZSAoU2Fpcikg4oCUIHZlcm1lbGhvIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAgIC5tb2JpbGUtZGVzdHJ1Y3RpdmUtaXRlbSB7XG4gICAgICAgIGNvbG9yOiAjZDY0NTUwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tb2JpbGUtZGVzdHJ1Y3RpdmUtaXRlbSAubWF0LWljb24ge1xuICAgICAgICBjb2xvcjogI2Q2NDU1MCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLy8gRGFyayB2YXJpYW50cyDigJQgYm9yZGVyLCB0ZXh0b3MuXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGJvZHkuZGFyay10aGVtZSAuamVtcy1wb3BvdmVyLXBhbmVsLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZSxcbmJvZHkuZGFyay10aGVtZVtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSAuamVtcy1wb3BvdmVyLXBhbmVsLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZSB7XG4gICAgLm1vYmlsZS11c2VyLWhlYWQgeyBib3JkZXItYm90dG9tLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrOyB9XG4gICAgLm1vYmlsZS11c2VyLWhlYWQtYXZhdGFyIHsgYmFja2dyb3VuZDogJGNocm9tZS1ib3JkZXItZGFyazsgfVxuICAgIC5tb2JpbGUtdXNlci1oZWFkLW5hbWUgeyBjb2xvcjogJGNvbnRlbnQtY29sb3ItZGFyazsgfVxuICAgIC5tb2JpbGUtdXNlci1oZWFkLW1haWwgeyBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyazsgfVxuICAgIC5tb2JpbGUtdXNlci1oZWFkLWlkIHsgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAgIC5tb2JpbGUtc2VjdGlvbi1sYWJlbCB7IGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbn1cblxuLy8gTGF5b3V0IGRvcyBpdGVucyBkZW50cm8gZG8gc2hlZXQg4oCUIG1haXMgcmVzcGlybywgdGlwb2dyYWZpYSBsZXZlbWVudGUgbWFpb3Jcbi8vIHF1ZSBvIG1hdC1tZW51LWl0ZW0gcGFkcsOjbyBkbyBkZXNrdG9wICh0b3VjaCB0YXJnZXRzIGlPUyDiiaUgNDRweCkuXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIC5qZW1zLXBvcG92ZXItcGFuZWwubW9iaWxlLXVzZXItc2hlZXQtY2FuZGlkYXRlIHtcbiAgICAudHBjLXVzZXItbWVudSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBhZGRpbmc6IDRweCAwO1xuICAgIH1cbiAgICAvLyBDYWRhIGxpbmhhIGRvIG1lbnUgKG1hdC1tZW51LWl0ZW0gcHJlc2VydmFkbywgc8OzIGVzcGHDp2FtZW50byBtYWlvcikuXG4gICAgLm1hdC1tZW51LWl0ZW0sIFttYXQtbWVudS1pdGVtXSB7XG4gICAgICAgIGhlaWdodDogNDZweCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogNDZweCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbixcbiAgICBbbWF0LW1lbnUtaXRlbV0gLm1hdC1pY29uIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbi8vIE92ZXJmbG93IG1lbnUgZG8gaGFtYnVyZ2VyIGRhIG5hdmJhciDigJQgaXRlbXMgcmVuZGVyaXphZG9zIG5vIGJvZHlcbi8vIChtYXQtbWVudSBwb3J0YWxlZCkuIE8gdGVtcGxhdGUgYXBsaWNhIGAuaXMtbmF2LXZpc2libGVgIG5vcyBpdGVtc1xuLy8gcXVlIEFJTkRBIGFwYXJlY2VtIG5hIG5hdiAobsOjbyBhYnNvcnZpZG9zKTsgcmVncmEgYWJhaXhvIGVzY29uZGVcbi8vIGVzdGVzIGRvIG1lbnUgcHJhIGV2aXRhciByZWR1bmTDom5jaWEuXG4vLyBTZWxlY3RvciBjaGFpbmEgLm1hdC1tZW51LXBhbmVsICsgLm5hdi1vdmVyZmxvdy1taSBwcmEgdmVuY2VyIG9cbi8vIGAubmF2LW92ZXJmbG93LW1pIHsgZGlzcGxheTogZmxleCAhaW1wb3J0YW50IH1gIGRvIGJsb2NvIGRlIGxheW91dC5cbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmlzLW5hdi12aXNpYmxlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyB2MiBcIlZlciB0b2RhcyBhcyBzdWJtaXNzw7Vlc1wiIGF0aXZhOiB6ZXJhIG8gcGFkZGluZyBsYXRlcmFsIGRvXG4vLyBtYXQtc2lkZW5hdi1jb250ZW50IHByYSBxdWUgbyBjaW56YSBkYSBww6FnaW5hIChgYXBwLWV4cG9ydC1zdWJtaXNzaW9uc2Bcbi8vIHRlbSBiZyBjaW56YSBubyBob3N0KSBwcmVlbmNoYSBlZGdlLXRvLWVkZ2UuIFNlbSBpc3NvIHJlc3RhcmlhbSBmYWl4YXNcbi8vIGJyYW5jYXMgZGUgfjIxcHggZW50cmUgYSBmb2xoYSBlIG8gc2lkZWJhci9ib3JkYSBkaXJlaXRhLlxuYm9keS5leHBvcnQtc3VibWlzc2lvbnMtYWN0aXZlIC5tYXQtc2lkZW5hdi1jb250ZW50IHsgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG5cbi8vIGAtLWNvbnRlbnQtbGVmdC1vZmZzZXRgOiBkaXN0w6JuY2lhIGRvIENBTlZBUyAow6FyZWEgZGUgY29udGXDumRvKSDDoCBib3JkYVxuLy8gZXNxdWVyZGEgZG8gdmlld3BvcnQuIFZhcmlhIHBvciBtb2RvIGRvIHNoZWxsLiDDiSBjb25zdW1pZGEgcGVsYSBiYXJyYVxuLy8gZmx1dHVhbnRlIGRvIGBhcHAtZXhwb3J0LXN1Ym1pc3Npb25zYCAoZSBzdWEgYmFuZGEgZGUgYmx1cikgcHJhXG4vLyBjZW50cmFsaXphciBzb2JyZSBvIGNhbnZhcyBlbSB2ZXogZG8gdmlld3BvcnQsIGFkYXB0YW5kbyBhb3MgMyBtb2Rvcy5cbi8vICAgTW9kZXJuIG5hcnJvdzogY2FudmFzIGNvbWXDp2EgZGVwb2lzIGRhIGBleHBlcmltZW50YWwtc2lkZWJhcmAgKDI0MHB4IGRlZmF1bHQpLlxuLy8gICBNb2Rlcm4gd2lkZTogICBzaWRlYmFyIG9jdWx0byAoMHB4KS5cbi8vICAgQ2xhc3NpYzogICAgICAgZXhwZXJpbWVudGFsICsgYWN0aXZpdHktYmFyICsgYWRtaW4tc3VibWVudS5cbi8vIERlZmluaWRhcyBubyBib2R5IFBSQSBHQVJBTlRJUiBoZXJhbsOnYSBwcmEgcXVhbHF1ZXIgZGVzY2VuZGVudGUgZGEgdjIsXG4vLyBtZXNtbyBzZSBvIGAuc2lkZWJhcmAgZG8gYWRtaW4tZXZlbnQtc2lkZWJhciBuw6NvIGZvciBhbmNlc3RyYWwgZGlyZXRvLlxuLy8gYDpoYXMoKWAgY2FzYSBxdWFscXVlciBlc3RhZG8gZGUgbW9kZSBkZW50cm8gZG8gYm9keS5cbmJvZHk6aGFzKC5zaWRlYmFyLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQ6bm90KC53aWRlLW1vZGUpKSB7XG4gICAgLS1jb250ZW50LWxlZnQtb2Zmc2V0OiB2YXIoLS1leHBlcmltZW50YWwtc2lkZWJhci13aWR0aCwgI3skZXhwZXJpbWVudGFsLXNpZGViYXItd2lkdGh9KTtcbn1cbmJvZHk6aGFzKC5zaWRlYmFyLndpZGUtbW9kZSkge1xuICAgIC0tY29udGVudC1sZWZ0LW9mZnNldDogMHB4O1xuICAgIC8vIFdpZGUtbW9kZTogbyBicmVhZGNydW1iIGNvbGFwc2EgKDpob3N0IGhlaWdodDowICsgYmFycmEgdHJhbnNsYWRhXG4gICAgLy8gZm9yYSBkbyB2aWV3cG9ydCkg4oCUIG7Do28gcmVzZXJ2YSBhbHR1cmEuIEEgYmFycmEgZmx1dHVhbnRlIGRhIHYyIHVzYVxuICAgIC8vIGVzc2EgdmFyIHByYSBjYWxjdWxhciBzZXUgdG9wOyBlbSB3aWRlLW1vZGUgZmljYSAwLlxuICAgIC0tYnJlYWRjcnVtYi1yZXNlcnZlZC1oZWlnaHQ6IDBweDtcbn1cbmJvZHk6aGFzKC5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZCk6bm90KC53aWRlLW1vZGUpKSB7XG4gICAgLy8gQ2xhc3NpYzogYC5tYXQtc2lkZW5hdi1jb250YWluZXIuY29udGVudCB7IG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQgfWBcbiAgICAvLyAoYWRtaW4tZXZlbnQtc2lkZWJhciBsaW5oYSB+MjA5MCkgemVyYSBvIG9mZnNldCBkbyBvdXRlcjsgc8OzIG8gSU5ORVJcbiAgICAvLyBgLm1hdC1zaWRlbmF2LWNvbnRlbnQgeyBtYXJnaW4tbGVmdDogdmFyKC0tYWRtaW4tc3VibWVudS13aWR0aCkgfWBcbiAgICAvLyBjb250YS4gYC5jbGFzc2ljLXN1Ym1lbnVgIMOpIGZpeGVkLXBvc2l0aW9uIMOgIGVzcXVlcmRhIGNvbSBlc3NhIG1lc21hXG4gICAgLy8gbGFyZ3VyYSDihpIgY2FudmFzIGNvbWXDp2EgZW0gYWRtaW4tc3VibWVudS13aWR0aCwgbmFkYSBtYWlzLlxuICAgIC0tY29udGVudC1sZWZ0LW9mZnNldDogdmFyKC0tYWRtaW4tc3VibWVudS13aWR0aCwgI3skYWRtaW4tc3VibWVudS13aWR0aH0pO1xuICAgIC8vIENsYXNzaWMgdG9wIGNocm9tZTogYnJlYWRjcnVtYiBjb21wYWN0byAoMjYpICsgdG9vbGJhciBob3Jpem9udGFsICg1NSkgPSA4MS5cbiAgICAtLWJyZWFkY3J1bWItcmVzZXJ2ZWQtaGVpZ2h0OiBjYWxjKCN7JGNsYXNzaWMtYnJlYWRjcnVtYi1oZWlnaHR9ICsgI3skY2xhc3NpYy10b29sYmFyLWhlaWdodH0pO1xufVxuIiwiQGltcG9ydCAnY29sb3JzJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbi8vIFBhaW5lbCBcInZhemlvXCIgZGFzIHDDoWdpbmFzIGRlIGxpc3RhIGRvIGF1dG9yL3Jldmlzb3IgKFN1Ym1pc3PDtWVzLFxuLy8gUmV2aXPDtWVzLCBTZXNzw7VlcyBxdWUgY29vcmRlbm8sIFRQQ3MsIFB1YmxpY2HDp8O1ZXMsIENvb3JkZW5hw6fDo28pLlxuLy8gQ2FydMOjbyBvdXRsaW5lIHRyYWNlamFkbyArIHTDrXR1bG8gKyBtZW5zYWdlbSwgY2VudHJhbGl6YWRvLlxuLmVtcHR5LXBhZ2UtcGFuZWwge1xuICAgIG1heC13aWR0aDogNTYwcHg7XG4gICAgbWFyZ2luOiAzcmVtIGF1dG87XG4gICAgcGFkZGluZzogMi41cmVtIDIuNXJlbSAycmVtO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMXB4IGRhc2hlZCAkY2hyb21lLWJvcmRlci1saWdodDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xufVxuYm9keS5kYXJrLXRoZW1lIC5lbXB0eS1wYWdlLXBhbmVsIHtcbiAgICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcms7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG59XG5cbi5lbXB0eS1wYWdlLXRpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAwLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMDVlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xufVxuYm9keS5kYXJrLXRoZW1lIC5lbXB0eS1wYWdlLXRpdGxlIHtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbn1cblxuLmVtcHR5LXBhZ2UtbWVzc2FnZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6ICRncmF5LTUwMDtcbn1cblxuLy8gVXRpbGlkYWRlIGdsb2JhbCDigJQgZXNjb25kZSBTRU0gY29sYXBzYXIgbGF5b3V0IChncmlkIDMtc2xvdCBkbyBoZWFkZXJcbi8vIGRlIHDDoWdpbmFzIGNvbnRpbnVhIGFsaW5oYWRvKS4gVXNhZG8gbm8gYC5wYWdlLXNlYXJjaC1maWx0ZXJgIHF1YW5kb1xuLy8gYSBww6FnaW5hIG7Do28gdGVtIGNvbnRlw7pkbyAobmFkYSBwcmEgZmlsdHJhcikuXG4uaXMtaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4iLCJAaW1wb3J0ICdjb2xvcnMnO1xuQGltcG9ydCAndmFyaWFibGVzJztcblxuLy8g4pSA4pSA4pSAIC5qZW1zMy1uYXRpdmUtaW5wdXQg4oCUIGlucHV0IGRlIHRleHRvIE5BVElWTyBlc3RpbGl6YWRvIGRvIEpFTVMzIOKUgOKUgOKUgOKUgOKUgFxuLy8gTWVzbW8gcGFkcsOjbyBkbyBgLmplbXMzLW5hdGl2ZS1jaGVja2JveGA6IGVzY2FwYSBkb3Mgd3JhcHBlcnMgTWF0ZXJpYWwsXG4vLyByZXNwaXJhIG9zIHRva2VucyBkbyBzaXN0ZW1hLCBjb21wb3J0YS1zZSBjb21vIGNvbnRyb2xlIFwiY2hhaXItbGV2ZWxcIlxuLy8gKG1lc21hIGFsdHVyYSAkY29udHJvbC1oZWlnaHQgZG9zIGRlbWFpcykuXG4vL1xuLy8gVVNPOlxuLy8gICA8bGFiZWwgY2xhc3M9XCJqZW1zMy1uYXRpdmUtaW5wdXQtbGFiZWxcIj5cbi8vICAgICBSw7N0dWxvXG4vLyAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJqZW1zMy1uYXRpdmUtaW5wdXRcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCI+XG4vLyAgIDwvbGFiZWw+XG4vL1xuLy8gRXN0YWRvczogOmZvY3VzIChib3JkZXIgY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmUgKyBoYWxvKSwgOmRpc2FibGVkLFxuLy8gOmludmFsaWQuYXJpYS1pbnZhbGlkPXRydWUgKGJvcmRhIHZlcm1lbGhhKS4gRGFyayBwYXJlYWRvLlxuXG4uamVtczMtbmF0aXZlLWlucHV0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJGNvbnRyb2wtaGVpZ2h0O1xuICAgIHBhZGRpbmc6IDAgMTBweDtcblxuICAgIC8vIFRleHRhcmVhOiBtZXNtYSBjYWl4YSwgbWFzIGNyZXNjZSBlbSBhbHR1cmEgKG1pbi1oZWlnaHQgfjQgbGluaGFzKS5cbiAgICAmLmplbXMzLW5hdGl2ZS1pbnB1dC0tdGV4dGFyZWEge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skY29udHJvbC1oZWlnaHR9ICogMyk7XG4gICAgICAgIHBhZGRpbmc6IDZweCAxMHB4O1xuICAgICAgICByZXNpemU6IHZlcnRpY2FsO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIH1cbiAgICAvLyBDaHJvbWUgcGFyZWFkbyBhbyBgYXBwLWplbXMtc2VsZWN0YCAoYC5qZW1zLXNlbGVjdC10cmlnZ2VyYCk6XG4gICAgLy8gbWVzbWEgYm9yZGVyLWNvbG9yLCBtZXNtbyBiZywgbWVzbWEgd2VpZ2h0IOKAlCBhc3NpbSBvcyBjb250cm9sZXNcbiAgICAvLyBhbGluaGFtIHZpc3VhbG1lbnRlIGxhZG8gYSBsYWRvIG5vIG1lc21vIGZvcm11bMOhcmlvLlxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICBmb250LXNpemU6ICRjb250cm9sLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGNvbnRyb2wtY29udGVudC13ZWlnaHQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxMDBtcyBlYXNlLW91dCwgYm94LXNoYWRvdyAxMDBtcyBlYXNlLW91dDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zNSk7IH1cblxuICAgIC8vIEhvdmVyOiBoYWxvIGNpbnphIChtZXNtbyBkbyBgLmplbXMtc2VsZWN0LXRyaWdnZXJgKS5cbiAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOm5vdCg6Zm9jdXMpOm5vdChbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSkge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlO1xuICAgIH1cblxuICAgIC8vIEZvY3VzIChzZWxlY3RlZCk6IGJvcmRhICsgaGFsbyBhenVpcyAoYWNjZW50KS4gQ2FzYSBjb20gb1xuICAgIC8vIGAuamVtcy1zZWxlY3QtdHJpZ2dlcmAgZW0gZXN0YWRvIDpmb2N1cy9pcy1vcGVuLlxuICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogMC41NTtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG5cbiAgICAmW2FyaWEtaW52YWxpZD1cInRydWVcIl0ge1xuICAgICAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtY29sb3Itd2FybmluZztcbiAgICB9XG59XG5cbi5qZW1zMy1uYXRpdmUtaW5wdXQtbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NSk7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuXG4gICAgLnJlcXVpcmVkLW1hcmsge1xuICAgICAgICBjb2xvcjogJGFjY2VudC1jb2xvci13YXJuaW5nO1xuICAgICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbn1cblxuLmplbXMzLW5hdGl2ZS1pbnB1dC1lcnJvciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAkYWNjZW50LWNvbG9yLXdhcm5pbmc7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBtaW4taGVpZ2h0OiAxZW07XG59XG5cbi8vIExheW91dCBsYWJlbCAoZXNxdWVyZGEpICsgZXJybyAoZGlyZWl0YSwgYWxpbmhhZG8gYW8gZmltIGRvIGNhbXBvKVxuLy8gbnVtYSBtZXNtYSBsaW5oYSBBQ0lNQSBkbyBpbnB1dC4gVXNhIGZsZXggKyBnYXA7IGVycm8gcmVzZXRhIG9cbi8vIGBtYXJnaW4tdG9wYCBkbyBibG9jbyBpbmxpbmUgcHJhIGZpY2FyIG5hIG1lc21hIGJhc2VsaW5lIGRvIGxhYmVsLlxuLmplbXMzLW5hdGl2ZS1pbnB1dC1sYWJlbHJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogOHB4O1xuXG4gICAgLmplbXMzLW5hdGl2ZS1pbnB1dC1sYWJlbCB7IG1hcmdpbi1ib3R0b206IDRweDsgfVxuICAgIC5qZW1zMy1uYXRpdmUtaW5wdXQtZXJyb3IgeyBtYXJnaW4tdG9wOiAwOyB0ZXh0LWFsaWduOiByaWdodDsgfVxufVxuXG5ib2R5LmRhcmstdGhlbWUge1xuICAgIC5qZW1zMy1uYXRpdmUtaW5wdXQge1xuICAgICAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbiAgICAgICAgLy8gUGFyIERBUksgZG8gYGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kYCAoYnJhbmNvKSBkbyBibG9jb1xuICAgICAgICAvLyBsaWdodC4gRmFsdGF2YSDigJQgc2VtIGVsZSBUT0RPIGlucHV0IG5hdGl2byBkbyBhcHAgcmVuZGVyaXphdmEgY29tXG4gICAgICAgIC8vIGZ1bmRvIGJyYW5jbyBubyBkYXJrIChpc3N1ZSAjMjM3MSwgdmlzw612ZWwgbmEgdGVsYSBkZSBDb25mbGl0b3MgZGVcbiAgICAgICAgLy8gSW50ZXJlc3NlKS4gTWVzbW8gdG9rZW4gcXVlIG8gYGFwcC1pbnB1dC1maWx0ZXItYXV0b2NvbXBsZXRlYCBhbyBsYWRvXG4gICAgICAgIC8vIGrDoSB1c2EsIGVudMOjbyBvcyBkb2lzIGNvbnRyb2xlcyB2b2x0YW0gYSBjYXNhci5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyaztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrO1xuICAgICAgICAmOjpwbGFjZWhvbGRlciB7IGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpOyB9XG4gICAgICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KDpmb2N1cyk6bm90KFthcmlhLWludmFsaWQ9XCJ0cnVlXCJdKSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmU7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgICAgICB9XG4gICAgICAgICZbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSB7IGJvcmRlci1jb2xvcjogJGFjY2VudC1jb2xvci13YXJuaW5nLWRhcms7IH1cbiAgICB9XG4gICAgLmplbXMzLW5hdGl2ZS1pbnB1dC1sYWJlbCB7IGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7IH1cbiAgICAuamVtczMtbmF0aXZlLWlucHV0LWVycm9yIHsgY29sb3I6ICRhY2NlbnQtY29sb3Itd2FybmluZy1kYXJrOyB9XG59XG4iLCJAaW1wb3J0ICdjb2xvcnMnO1xuQGltcG9ydCAndmFyaWFibGVzJztcblxuLy8g4pSA4pSA4pSAIC5qZW1zMy1uYXRpdmUtYnV0dG9uIOKAlCBib3TDo28gTkFUSVZPIGVzdGlsaXphZG8gZG8gSkVNUzMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBNZXNtbyBwYWRyw6NvIGRvIGAuamVtczMtbmF0aXZlLWlucHV0YCBlIGAuamVtczMtbmF0aXZlLWNoZWNrYm94YDpcbi8vIGV2aXRhIG8gd3JhcHBlciBNYXRlcmlhbCAobWF0LWZsYXQtYnV0dG9uLCBtYXQtcmFpc2VkLWJ1dHRvbiBldGMuKSxcbi8vIHJlc3BpcmEgb3MgdG9rZW5zIGRvIGNoYWlyIFVJLlxuLy9cbi8vIFVTTzpcbi8vICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJqZW1zMy1uYXRpdmUtYnV0dG9uIGplbXMzLW5hdGl2ZS1idXR0b24tLXByaW1hcnlcIj5FbnRyYXI8L2J1dHRvbj5cbi8vICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJqZW1zMy1uYXRpdmUtYnV0dG9uIGplbXMzLW5hdGl2ZS1idXR0b24tLXNlY29uZGFyeVwiPkNhbmNlbGFyPC9idXR0b24+XG4vL1xuLy8gVmFyaWFudGVzOiAtLXByaW1hcnkgKGFjY2VudCBmaWxsZWQpLCAtLXNlY29uZGFyeSAoY2hyb21lIHN0cm9rZWQpLFxuLy8gLS1kYW5nZXIgKHZlcm1lbGhvIGZpbGxlZCwgYcOnw7VlcyBkZXN0cnV0aXZhcykuXG5cbi5qZW1zMy1uYXRpdmUtYnV0dG9uIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG4gICAgbWluLXdpZHRoOiA5NnB4O1xuICAgIGhlaWdodDogJGNvbnRyb2wtaGVpZ2h0O1xuICAgIHBhZGRpbmc6IDAgMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICBmb250LXNpemU6ICRjb250cm9sLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIC8vIGBmZWVkYmFja19ub19ob3Zlcl90cmFuc2l0aW9uYDogaG92ZXIgw6kgaW5zdGFudMOibmVvIG5vIEpFTVMzLlxuICAgIC8vIGB0cmFuc2l0aW9uYCBzw7MgZW0gZm9jdXMtdmlzaWJsZSAobXVkYW7Dp2EgZGUgZXN0YWRvLCBuw6NvIGhvdmVyKS5cblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiAwLjU1O1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbn1cblxuLy8gUHJpbWFyeSDigJQgYWNjZW50IGZpbGxlZC5cbi5qZW1zMy1uYXRpdmUtYnV0dG9uLmplbXMzLW5hdGl2ZS1idXR0b24tLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcblxuICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCkgeyBmaWx0ZXI6IGJyaWdodG5lc3MoMC45NCk7IH1cbiAgICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7IGZpbHRlcjogYnJpZ2h0bmVzcygwLjg4KTsgfVxufVxuYm9keS5kYXJrLXRoZW1lIC5qZW1zMy1uYXRpdmUtYnV0dG9uLmplbXMzLW5hdGl2ZS1idXR0b24tLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgIGNvbG9yOiAjMGExYTJlO1xuICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG59XG5cbi8vIFNlY29uZGFyeSDigJQgY2hyb21lIHN0cm9rZWQuXG4uamVtczMtbmF0aXZlLWJ1dHRvbi5qZW1zMy1uYXRpdmUtYnV0dG9uLS1zZWNvbmRhcnkge1xuICAgIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlO1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCkgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDQpOyB9XG59XG5ib2R5LmRhcmstdGhlbWUgLmplbXMzLW5hdGl2ZS1idXR0b24uamVtczMtbmF0aXZlLWJ1dHRvbi0tc2Vjb25kYXJ5IHtcbiAgICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlO1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCkgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpOyB9XG59XG5cbi8vIERhbmdlciDigJQgYcOnw6NvIGRlc3RydXRpdmEgKGV4Y2x1aXIsIGRlc2NhcnRhcikuIE1lc21vIHBlc28gdmlzdWFsIGRvXG4vLyBgLS1wcmltYXJ5YCwgdHJvY2FuZG8gbyBhY2NlbnQgcGVsbyB2ZXJtZWxobyBpbnN0aXR1Y2lvbmFsLlxuLmplbXMzLW5hdGl2ZS1idXR0b24uamVtczMtbmF0aXZlLWJ1dHRvbi0tZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWNvbG9yLXdhcm5pbmc7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWNvbG9yLXdhcm5pbmc7XG5cbiAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsgZmlsdGVyOiBicmlnaHRuZXNzKDAuOTQpOyB9XG4gICAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCkgeyBmaWx0ZXI6IGJyaWdodG5lc3MoMC44OCk7IH1cbn1cbmJvZHkuZGFyay10aGVtZSAuamVtczMtbmF0aXZlLWJ1dHRvbi5qZW1zMy1uYXRpdmUtYnV0dG9uLS1kYW5nZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3Itd2FybmluZy1kYXJrO1xuICAgIGNvbG9yOiAjMmEwYTBhO1xuICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1jb2xvci13YXJuaW5nLWRhcms7XG59XG5cbi8vIE1vZGlmaWNhZG9yIGAtLWJsb2NrYCDigJQgbGFyZ3VyYSAxMDAlIGRhIGNvbHVuYSAoZm9ybSBzdWJtaXQgZW0gY2FyZFxuLy8gdmVydGljYWwsIHRpcG8gc2lnbmluKS5cbi5qZW1zMy1uYXRpdmUtYnV0dG9uLmplbXMzLW5hdGl2ZS1idXR0b24tLWJsb2NrIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cbiIsIi5zbWFsbC10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAubWF0LWhlYWRlci1yb3cge1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgIC5tYXQtaGVhZGVyLWNlbGw6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXQtaGVhZGVyLWNlbGw6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAubWF0LWNvbHVtbi1zdGF0dXMsIC5tYXQtY29sdW1uLWV2ZW50LCAubWF0LWNvbHVtbi10cmFja0ZpbGVOYW1lLCAubWF0LWNvbHVtbi1kZWFkbGluZSwgLm1hdC1jb2x1bW4tYnV0dG9uIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXQtY29sdW1uLXN0YXR1cyB7XG4gICAgICAgICAgICB3aWR0aDogNTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXQtY29sdW1uLWV2ZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMTVweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogODVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXQtY29sdW1uLWRlYWRsaW5lIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMjVweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAubWF0LWNvbHVtbi1idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1hdC1yb3cge1xuICAgICAgICAubWF0LWNlbGw6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXQtY2VsbDpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgdGQge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXQtY29sdW1uLXN0YXR1cywgLm1hdC1jb2x1bW4tZXZlbnQsIC5tYXQtY29sdW1uLXRyYWNrRmlsZU5hbWUsIC5tYXQtY29sdW1uLWRlYWRsaW5lLCAubWF0LWNvbHVtbi1idXR0b24ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgdGQubWF0LWNvbHVtbi1zdGF0dXMge1xuICAgICAgICAgICAgd2lkdGg6IDU1cHg7XG4gICAgICAgIH1cblxuICAgICAgICB0ZC5tYXQtY29sdW1uLWV2ZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMTVweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogODVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkLm1hdC1jb2x1bW4tZGVhZGxpbmUge1xuICAgICAgICAgICAgd2lkdGg6IDEyNXB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkLm1hdC1jb2x1bW4tYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRyLnVwY29taW5nIC5tYXQtY29sdW1uLWRlYWRsaW5lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogUkdCQSgyNTUsIDE2NSwgMCwgLjUpO1xuICAgIH1cblxuICAgIHRyLmxhdGUgLm1hdC1jb2x1bW4tZGVhZGxpbmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBSR0JBKDE2NSwgNDIsIDQyLCAuNSk7XG4gICAgfVxuXG4gICAgJi5sZWdlbmQge1xuICAgICAgICAudXBjb21pbmcge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogUkdCQSgyNTUsIDE2NSwgMCwgLjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxhdGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogUkdCQSgxNjUsIDQyLCA0MiwgLjUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG50YWJsZSB7XG4gICAgJi5zaW1wbGUtdGFibGV7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICBcbiAgICAgICAgdGgge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIHRoLCB0ZCB7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgICBcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkdGFibGUtbGluZS1jb2xvcjtcbiAgICAgICAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDAgMC41cmVtO1xuICAgIFxuICAgICAgICAgICYubWF0LWhlYWRlci1jZWxsOmZpcnN0LW9mLXR5cGUsICYubWF0LWNlbGw6Zmlyc3Qtb2YtdHlwZSwgJi5tYXQtaGVhZGVyLWNlbGw6bGFzdC1vZi10eXBlLCAmLm1hdC1jZWxsOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAuNXJlbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuY29udGVudC1idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuanVzdGlmeS1jZW50ZXIge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoOmZpcnN0LWNoaWxkLCB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICB0aDpsYXN0LWNoaWxkLCB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IG5vbmU7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgdHIge1xuICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgfVxuICAgIFxuICAgIFxuICAgICAgICB0Zm9vdCB0ZCB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBub25lO1xuICAgICAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBub25lO1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IG5vbmU7XG4gICAgXG4gICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMC41cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgICAgICAuZmxleGVkIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIFxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIC8vIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgXG4gICAgICAgICAgbWF0LWljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgLm5vLWxpbmUge1xuICAgICAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogbm9uZTtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBub25lO1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIC5uby1yaWdodC1saW5le1xuICAgICAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogbm9uZTtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAubm8tYm90dG9tLWxpbmV7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogbm9uZTtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAubm8tcGFkZGluZyB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXQtaWNvbi1idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG5cbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOmJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1hdC1idXR0b24td3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgLm1hdC1pY29uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG50YWJsZSB7XG4gICAgJi5oaWdobGlnaHQtdGFibGUge1xuICAgICAgICAkdGFibGUtaG92ZXItYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgICR0YWJsZS1yb3ctYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXM7XG4gICAgICAgIFxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAwcHggMXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIFxuICAgICAgICB0aCwgdGQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkO1xuICAgICAgICAgICAgcGFkZGluZzogMCAuNWVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBib3JkZXI6bm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgdGJvZHkgPiB0ciwgdGZvb3QgPiB0ciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgXG4gICAgICAgICAgICAubWF0LWljb24ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGQ6Zmlyc3QtY2hpbGQsIHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogJHRhYmxlLWhvdmVyLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICR0YWJsZS1yb3ctYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICR0YWJsZS1yb3ctYm9yZGVyLXJhZGl1cztcbiAgICAgICAgfVxuXG4gICAgICAgIHRkOm50aC1sYXN0LWNoaWxkKDIpIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogJHRhYmxlLWhvdmVyLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkdGFibGUtcm93LWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHRhYmxlLXJvdy1ib3JkZXItcmFkaXVzO1xuICAgICAgICB9XG5cbiAgICAgICAgdHIge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAkdGFibGUtaG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAkdGFibGUtaG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0ZDpmaXJzdC1jaGlsZCwgdGQ6bGFzdC1jaGlsZHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOm5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgdGQ6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6ICR0YWJsZS1ob3Zlci1ib3JkZXItd2lkdGggc29saWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHRkOm50aC1sYXN0LWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkdGFibGUtaG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0ZC5tYXQtZm9vdGVyLWNlbGx7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjpub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGZvb3Qge1xuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gIC5tYXQtc29ydC1oZWFkZXItY29udGFpbmVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBTb3J0IGhlYWRlciAoTWF0ZXJpYWwpOiBhIMOhcmVhIGNsaWPDoXZlbCBwLyBvcmRlbmFyIMOpIEFQRU5BUyBvIHTDrXR1bG8gZGEgY29sdW5hLFxuLy8gTsODTyBhIGPDqWx1bGEgaW50ZWlyYS4gTyBgLm1hdC1zb3J0LWhlYWRlci1jb250YWluZXJgIFBSRUVOQ0hFIGEgY8OpbHVsYSAoZmxleCBibG9jayArXG4vLyBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyKSwgZW50w6NvIHJlc3RyaW5naXIgbyBwb250ZWlybyBhIGVsZSBuw6NvIGJhc3RhLiBJbmVydGl6YW1vcyBvXG4vLyBgPHRoPmAgKyBvIGNvbnRhaW5lciBlIHJlYXRpdmFtb3Mgc8OzIG8gQ09OVEXDmkRPIChgLm1hdC1zb3J0LWhlYWRlci1jb250ZW50YCA9IG8gdMOtdHVsbyxcbi8vIGRpbWVuc2lvbmFkbyBwZWxvIHRleHRvKSBlIGEgc2V0YS4gTyBjbGlxdWUgbm8gdMOtdHVsbyBib3JidWxoYSBhdMOpIG8gbGlzdGVuZXIgZG8gdGguXG4vLyBHbG9iYWw6IHZhbGUgcC8gYSB0YWJlbGEgcGFkcsOjbyAoLmplbXMzLXRhYmxlKSBlIGEgZGEgTGlzdGEgZGUgU3VibWlzc8O1ZXMuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5tYXQtc29ydC1oZWFkZXIge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAubWF0LXNvcnQtaGVhZGVyLWNvbnRhaW5lciB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbiAgLm1hdC1zb3J0LWhlYWRlci1jb250ZW50LFxuICAubWF0LXNvcnQtaGVhZGVyLWFycm93IHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLy8gdGFibGUge1xuLy8gICAgICYuc2ltcGxlLXRhYmxle1xuLy8gICAgICAgICB3aWR0aDogMTAwJTtcbi8vICAgICAgICAgYmFja2dyb3VuZDogJHRhYmxlLWJhY2tncm91bmQtY29sb3I7XG4vLyAgICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcbi8vICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG5cbi8vICAgICAgICAgdGgge1xuLy8gICAgICAgICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcbi8vICAgICAgICAgICBmb250LXNpemU6IDAuODByZW07XG4vLyAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbi8vICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4vLyAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWxhYmVsLWNvbG9yO1xuLy8gICAgICAgICB9XG4gICAgXG4vLyAgICAgICAgIHRoLCB0ZCB7XG4vLyAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbi8vICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIFxuLy8gICAgICAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWxpbmUtY29sb3I7XG4vLyAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICAgICAgICAgICBib3JkZXItd2lkdGg6IHRoaW47XG4gICAgXG4gICAgXG4vLyAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuLy8gICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG5cbi8vICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4vLyAgICAgICAgICAgbWluLWhlaWdodDogNDhweDtcbiAgICBcbi8vICAgICAgICAgICAmLm1hdC1oZWFkZXItY2VsbDpmaXJzdC1vZi10eXBlLCAmLm1hdC1jZWxsOmZpcnN0LW9mLXR5cGUsICYubWF0LWhlYWRlci1jZWxsOmxhc3Qtb2YtdHlwZSwgJi5tYXQtY2VsbDpsYXN0LW9mLXR5cGUge1xuLy8gICAgICAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuLy8gICAgICAgICAgIH1cblxuLy8gICAgICAgICAgIC5jb250ZW50LWJ1dHRvbiB7XG4vLyAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbi8vICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4vLyAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuLy8gICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbi8vICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuLy8gICAgICAgICAgICAgc3BhbiB7XG4vLyAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC4yNXJlbTtcbi8vICAgICAgICAgICAgIH1cblxuLy8gICAgICAgICAgICAgJi5qdXN0aWZ5LWNlbnRlciB7XG4vLyAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4vLyAgICAgICAgICAgICB9XG4vLyAgICAgICAgICAgfVxuLy8gICAgICAgICB9XG5cbi8vICAgICAgICAgdGg6Zmlyc3QtY2hpbGQsIHRkOmZpcnN0LWNoaWxkIHtcbi8vICAgICAgICAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBub25lO1xuLy8gICAgICAgICB9XG5cbi8vICAgICAgICAgdGg6bGFzdC1jaGlsZCwgdGQ6bGFzdC1jaGlsZCB7XG4vLyAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBub25lO1xuLy8gICAgICAgICB9XG4gICAgXG4vLyAgICAgICAgIHRib2R5IHRkIHtcbi8vICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4vLyAgICAgICAgIH1cbiAgICBcbiAgICBcbi8vICAgICAgICAgdGZvb3QgdGQge1xuLy8gICAgICAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogbm9uZTtcbi8vICAgICAgICAgICBib3JkZXItbGVmdC1zdHlsZTogbm9uZTtcbi8vICAgICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBub25lO1xuICAgIFxuLy8gICAgICAgICAgIGJ1dHRvbiB7XG4vLyAgICAgICAgICAgICBtYXJnaW46IDAuNXJlbTtcbi8vICAgICAgICAgICB9XG4vLyAgICAgICAgIH1cbiAgICBcbi8vICAgICAgICAgLmZsZXhlZCB7XG4vLyAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4vLyAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBcbi8vICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbi8vICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4vLyAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4vLyAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbi8vICAgICAgICAgICAvLyBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIFxuLy8gICAgICAgICAgIG1hdC1pY29uIHtcbi8vICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4vLyAgICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4vLyAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbi8vICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4vLyAgICAgICAgICAgfVxuLy8gICAgICAgICB9XG4gICAgXG4vLyAgICAgICAgIC5uby1saW5lIHtcbi8vICAgICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IG5vbmU7XG4vLyAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogbm9uZTtcbi8vICAgICAgICAgfVxuICAgIFxuLy8gICAgICAgICAubm8tcmlnaHQtbGluZXtcbi8vICAgICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IG5vbmU7XG4vLyAgICAgICAgIH1cbiAgICBcbi8vICAgICAgICAgLm5vLWJvdHRvbS1saW5le1xuLy8gICAgICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IG5vbmU7XG4vLyAgICAgICAgIH1cbiAgICBcbi8vICAgICAgICAgLm5vLXBhZGRpbmcge1xuLy8gICAgICAgICAgIHBhZGRpbmc6IDA7XG4vLyAgICAgICAgIH1cblxuLy8gICAgICAgICAubWF0LWljb24tYnV0dG9uIHtcbi8vICAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuLy8gICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuXG4vLyAgICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuXG4vLyAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbi8vICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4vLyAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4vLyAgICAgICAgICAgICBhIHtcbi8vICAgICAgICAgICAgICAgICBjb2xvcjpibGFjaztcbi8vICAgICAgICAgICAgIH1cbi8vICAgICAgICAgfVxuXG4vLyAgICAgICAgIC5tYXQtYnV0dG9uLXdyYXBwZXIge1xuLy8gICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4vLyAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuLy8gICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbi8vICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbi8vICAgICAgICAgICAgIC5tYXQtaWNvbiB7XG4vLyAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbi8vICAgICAgICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4vLyAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4vLyAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbi8vICAgICAgICAgICAgIH1cbi8vICAgICAgICAgfVxuLy8gICAgIH1cbi8vIH1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAuamVtczMtdGFibGUg4oCUIFRBQkVMQSBQQURSw4NPIGRvIEpFTVMzIChyZWZlcsOqbmNpYTogdGFiZWxhIGRhIExpc3RhIGRlXG4vLyBTdWJtaXNzw7VlcykuIEZ1bmNpb25hIHRhbnRvIGNvbSBNYXRlcmlhbCAoYDx0YWJsZSBtYXQtdGFibGU+YCkgcXVhbnRvXG4vLyBjb20gYDx0YWJsZT5gIEhUTUwgcHVybyDigJQgYmFzdGEgYSBjbGFzc2UuXG4vL1xuLy8gICA8dGFibGUgY2xhc3M9XCJqZW1zMy10YWJsZVwiPiAuLi4gPC90YWJsZT5cbi8vICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCIuLi5cIiBjbGFzcz1cImplbXMzLXRhYmxlXCI+IC4uLiA8L3RhYmxlPlxuLy9cbi8vIFVzZSBgbWF0LXRhYmxlYCBhcGVuYXMgcXVhbmRvIHByZWNpc2FyIGRvcyByZWN1cnNvcyBkbyBNYXRlcmlhbFxuLy8gKHNvcnQsIHBhZ2luYXRpb24sIHN0aWNreSBjb2x1bW5zLCB2aXJ0dWFsaXphdGlvbikuIFByYSB0YWJlbGFzXG4vLyBlc3TDoXRpY2FzL3NpbXBsZXMsIEhUTUwgcHVybyDDqSBvIHN1ZmljaWVudGUgZSBtYWlzIGxldmUuXG4vL1xuLy8gQ2FyYWN0ZXLDrXN0aWNhczpcbi8vICAg4oCiIEhlYWRlciB0cmFuc3BhcmVudGUsIHNlbSBib3JkYTsgdGlwb2xvZ2lhIDEycHggLyA1MDAgLyBzZW50ZW5jZSBjYXNlIC9cbi8vICAgICBjb3IgYHJnYmEoMCwwLDAsLjU0MSlgICg9IGRlZmF1bHQgYC5tYXQtaGVhZGVyLWNlbGxgIGRvIE1hdGVyaWFsKS5cbi8vICAg4oCiIExpbmhhcyBkZSBjb250ZcO6ZG8gY29tIGZ1bmRvIGNpbnphIChgJGdyYXktMTI1YCksIHN1cG9ydGFuZG8gZGFyayBtb2RlLlxuLy8gICDigKIgU2VwYXJhZG9yIGVudHJlIGPDqWx1bGFzID0gZ2FwIHRyYW5zcGFyZW50ZSAoYm9yZGVyLXNwYWNpbmcgMXB4KSDigJQgc2VtXG4vLyAgICAgYm9yZGFzIGludGVybmFzOyBvIFwicmVzcGlyb1wiIGVudHJlIGNvbHVuYXMvbGluaGFzIHJldmVsYSBhIHDDoWdpbmEgYXRyw6FzLlxuLy8gICDigKIgQ2FudG9zIGFycmVkb25kYWRvcyAoNnB4KSBuYSBwcmltZWlyYSBlIMO6bHRpbWEgdGQgZGUgY2FkYSBsaW5oYS5cbi8vICAg4oCiIENvbnRlw7pkbyAxM3B4IC8gNDAwIC8gYCRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yYCAoIzM3MzczNCkg4oCUXG4vLyAgICAgYSBhbHR1cmEgZGEgbGluaGEgdmVtIFPDkyBkbyBwYWRkaW5nIGludGVybm8gKGAwLjVlbSArIDJweGApLlxuLy9cbi8vIE9zIGAhaW1wb3J0YW50YCBleGlzdGVtIHByYSB2ZW5jZXIgKDEpIHJlZ3JhcyBNYXRlcmlhbCBjb20gbWVzbWFcbi8vIGVzcGVjaWZpY2lkYWRlIGNhcnJlZ2FkYXMgYW50ZXMgKGJvcmRlci1zcGFjaW5nLCByb3cgaGVpZ2h0KSBlICgyKSByZWdyYXNcbi8vIGdsb2JhaXMgYW50aWdhcyBlbSBgX2NvbG9yLXNjaGVtZS5zY3NzYCAoYHNpbXBsZS10YWJsZSB0aGAgY29sb3IpLiBRdWFuZG8gYVxuLy8gYC5zaW1wbGUtdGFibGVgIGZvciBhcG9zZW50YWRhLCBwb2RlbW9zIGxpbXBhciBvcyBkbyBoZWFkZXIuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG50YWJsZS5qZW1zMy10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gYCFpbXBvcnRhbnRgIHZlbmNlIG8gYC5tYXQtdGFibGUgeyBiYWNrZ3JvdW5kOiB3aGl0ZSB9YCBkbyB0ZW1hIGRvXG4gICAgLy8gQW5ndWxhciBNYXRlcmlhbCAobWVzbWEgZXNwZWNpZmljaWRhZGU7IE1hdGVyaWFsIGNvc3R1bWEgY2FycmVnYXJcbiAgICAvLyBkZXBvaXMsIGVudMOjbyBzZW0gYCFpbXBvcnRhbnRgIG8gYnJhbmNvIHZlbmNlKS5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgLy8gYCFpbXBvcnRhbnRgIG5lY2Vzc8OhcmlvIHByYSB2ZW5jZXIgYHRhYmxlLm1hdC10YWJsZSB7IGJvcmRlci1zcGFjaW5nOiAwIH1gXG4gICAgLy8gaW5qZXRhZG8gcGVsbyBNYXRlcmlhbCAobWVzbWEgZXNwZWNpZmljaWRhZGU7IE1hdGVyaWFsIGNhcnJlZ2EgcHJpbWVpcm8pLlxuICAgIGJvcmRlci1zcGFjaW5nOiAxcHggMXB4ICFpbXBvcnRhbnQ7XG5cbiAgICAvLyBNYXRlcmlhbCBmaXhhIGB0ci5tYXQtaGVhZGVyLXJvdyB7IGhlaWdodDogNTZweCB9YCBlIGB0ci5tYXQtcm93IHsgaGVpZ2h0OiA0OHB4IH1gO1xuICAgIC8vIHNvbHRhbW9zIHByYSBhbHR1cmEgc2VndWlyIG8gcGFkZGluZyBpbnRlcm5vIChtZXNtYSBlc3RyYXTDqWdpYSBkYSB2MikuXG4gICAgLy8gUHJhIEhUTUwgcHVybyBvIGA8dHI+YCBqw6Egw6kgYGhlaWdodDogYXV0b2AgcG9yIGRlZmF1bHQg4oCUIHJlZ3JhIMOpIG5vLW9wLlxuICAgIHRyLm1hdC1oZWFkZXItcm93LFxuICAgIHRyLm1hdC1yb3cge1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBIZWFkZXIg4oCUIE1hdGVyaWFsIChgLm1hdC1oZWFkZXItY2VsbGApIG91IEhUTUwgcHVybyAoYHRoYCkuXG4gICAgdGgsXG4gICAgdGgubWF0LWhlYWRlci1jZWxsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgcGFkZGluZzogMnB4IDAuNXJlbTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NDEpICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvLyBMaW5oYXMgZGUgY29udGXDumRvIOKAlCBNYXRlcmlhbCAoYC5tYXQtY2VsbGApIG91IEhUTUwgcHVybyAoYHRkYCkuXG4gICAgLy8gQWx0dXJhIGRhIGxpbmhhID0gcGFkZGluZyBpbnRlcm5vICsgY29udGXDumRvLCBzZW0gYGxpbmUtaGVpZ2h0YCBleHBsw61jaXRvXG4gICAgLy8gKGhlcmRhIGRvIGRlZmF1bHQgZG8gbmF2ZWdhZG9yKS4gVmVydGljYWwgY29tcGFjdG8gKDJweCkgw6kgbyBQQURSw4NPIGRhXG4gICAgLy8gdGFiZWxhIEpFTVMzIOKAlCB0b2RvcyBvcyBjb25zdW1pZG9yZXMgKHBlb3BsZS10YWJsZSwgZXZlbnQtdHJhY2tzLFxuICAgIC8vIGV2ZW50LXNldHRpbmdzLWVtYWlsKSB1c2F2YW0gZXNzYSBhbHR1cmEsIGVudMOjbyBlbGEgdml2ZSBhcXVpIGUgbsOjbyBlbVxuICAgIC8vIG92ZXJyaWRlcyBsb2NhaXMuIEhvcml6b250YWwgbWFudMOpbSA4LjVweCAocmVzcGlybyBlbnRyZSBjb2x1bmFzKS5cbiAgICB0ZCxcbiAgICB0ZC5tYXQtY2VsbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTEyNTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAycHggOC41cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDZweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAuamVtczMtdGFibGUtbnVtYmVyaW5nIOKAlCBtb2RpZmllciBwcmEgY29sdW5hIGRlIG51bWVyYcOnw6NvIGRlIGxpbmhhcy5cbiAgICAvLyBBcGxpY2FkbyBubyA8dGg+IGUgPHRkPiBkYSBjb2x1bmEgZG8gw61uZGljZTogY8OpbHVsYSB0cmFuc3BhcmVudGUsIHNlbVxuICAgIC8vIGFycmVkb25kYW1lbnRvLCB0aXBvZ3JhZmlhIGxldmUgKDEyLzQzMCkuIEEgMsKqIGNvbHVuYSAobmV4dCBzaWJsaW5nKVxuICAgIC8vIGFzc3VtZSBvIHJhZGl1cyBlc3F1ZXJkbyBkbyBcImNhcmRcIiBkYSBsaW5oYSDigJQgZGHDrSBvIMOtbmRpY2UgZmljYVxuICAgIC8vIHZpc3VhbG1lbnRlIEZPUkEgZGEgbGluaGEtY2FyZCwgY29tbyB1bSBtYXJjYWRvciBkaXNjcmV0byDDoCBlc3F1ZXJkYS5cbiAgICAvLyBDb25zdW1pZG9yIGRlaXhhIG8gPHRoPiB2YXppbyAoc2VtIHTDrXR1bG8pOyBDU1MgasOhIGNvbXBhY3RhIG8gZXNwYcOnby5cbiAgICB0aC5qZW1zMy10YWJsZS1udW1iZXJpbmcsXG4gICAgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nLFxuICAgIHRoLmplbXMzLXRhYmxlLW51bWJlcmluZy5tYXQtaGVhZGVyLWNlbGwsXG4gICAgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nLm1hdC1jZWxsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMi41ZW07XG4gICAgICAgIG1pbi13aWR0aDogMzBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MzA7XG4gICAgICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBRdWFuZG8gYSAxwqogY29sdW5hIMOpIG51bWVyYcOnw6NvLCBhIDLCqiBwYXNzYSBhIHJlY2ViZXIgbyByYWRpdXMgZXNxdWVyZG8uXG4gICAgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQsXG4gICAgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQubWF0LWNlbGwge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDZweDtcbiAgICB9XG59XG5cbi8vIERhcmsgbW9kZTogbnVtYmVyaW5nIHNlZ3VlIGEgY29yIGRlIHRleHRvIGxldmVsLTIgZXNjdXJhLlxuLmRhcmstdGhlbWUgdGFibGUuamVtczMtdGFibGUge1xuICAgIHRoLmplbXMzLXRhYmxlLW51bWJlcmluZyxcbiAgICB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcsXG4gICAgdGguamVtczMtdGFibGUtbnVtYmVyaW5nLm1hdC1oZWFkZXItY2VsbCxcbiAgICB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcubWF0LWNlbGwge1xuICAgICAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbiAgICB9XG59XG5cbi8vIC5qZW1zMy10YWJsZS1ob3ZlciDigJQgbW9kaWZpZXIgb3B0LWluIHByYSB0YWJlbGFzIGludGVyYXRpdmFzIChsaW5oYVxuLy8gY2xpY8OhdmVsKS4gQ29udG9ybm8gZGUgaG92ZXIgKDJweCkgYW8gcmVkb3IgZGEgbGluaGEgdmlhIGEgdMOpY25pY2EgQ0FOw5ROSUNBXG4vLyBgOjpiZWZvcmVgIChzZXBhcmFkb3IgdmVydGljYWwpICsgYDo6YWZ0ZXJgIChjb250b3Jubykg4oCUIGEgTUVTTUEgZGEgTGlzdGEgZGVcbi8vIFN1Ym1pc3PDtWVzIC8gcGVvcGxlLXRhYmxlLiAoYm94LXNoYWRvdyBmYWxoYTogbyBiZyBvcGFjbyBkYSBjw6lsdWxhIHZpemluaGFcbi8vIHBpbnRhIFBPUiBDSU1BIGRhIHNvbWJyYSBubyBnYXAg4oaSIGNvbnRvcm5vIFwiY29ydGFkb1wiLiBPIGA6OmFmdGVyYCwgYWNpbWEgZG9cbi8vIGA6OmJlZm9yZWAgbmEgcGlsaGEsIHBhc3NhIFBPUiBDSU1BIGRhcyBwb250YXMgZG8gc2VwYXJhZG9yIOKGkiBsaW5oYSBjb250w61udWEuKVxuLy9cbi8vIEdlbmVyYWxpemEgcG9yIE1BUkNBRE9SRVMg4oCUIGEgdGFiZWxhIHPDsyBkZWNsYXJhIHN1YSBlc3RydXR1cmEgZSBvIGNvbnRvcm5vIHNlXG4vLyBhZGFwdGEgw6BzIGNvbHVuYXMgZGUgQ09OVEXDmkRPLCBzZW0gY8OzZGlnbyBwb3IgdGFiZWxhOlxuLy8gICDigKIgYC5qZW1zMy10YWJsZS1udW1iZXJpbmdgIOKGkiBjb2x1bmEgYXV4aWxpYXIgZGUgbsO6bWVybyAoMcKqLCBmb3JhIGRvIFwiY2FyZFwiKS5cbi8vICAg4oCiIGAuamVtczMtdGFibGUtc2VsZWN0YWJsZWAg4oaSIGNvbHVuYSBzZWxldG9yICjDumx0aW1hLCBmb3JhIGRvIFwiY2FyZFwiKS5cbi8vIENvbSBpc3NvLCBcIjHCqi/Dumx0aW1hIGNvbHVuYSBkZSBjb250ZcO6ZG9cIiAocXVlIHJlY2ViZW0gYXMgYm9yZGFzIGVzcXVlcmRhL1xuLy8gZGlyZWl0YSkgc8OjbyBkZXJpdmFkYXMgZXN0cnV0dXJhbG1lbnRlLCBjb2JyaW5kbyB0b2RhcyBhcyBjb21iaW5hw6fDtWVzLlxuLy8gKE1lbcOzcmlhOiBmZWVkYmFja190YWJsZV9ob3Zlcl9zZXBhcmF0b3JfdGVjaG5pcXVlLilcbi8vXG4vLyBGdW5jaW9uYSBjb20gTWF0ZXJpYWwgKGB0ZC5tYXQtY2VsbGApIEUgY29tIGA8dGFibGU+YCBIVE1MIFBVUk86IG9zIHNlbGV0b3Jlc1xuLy8gbWlyYW0gYHRkYCAocXVlIGNvYnJlIGFtYm9zKSwgZW50w6NvIHRhYmVsYXMgcHVyYXMgZ2FuaGFtIG8gbWVzbW8gaG92ZXIvc2VwYXJhZG9yXG4vLyBzw7MgYWRpY2lvbmFuZG8gYSBjbGFzc2Ug4oCUIHNlbSByZXBsaWNhciBhIHJlY2VpdGEgcG9yIGNvbXBvbmVudGUuXG4vL1xuLy8gICA8dGFibGUgY2xhc3M9XCJqZW1zMy10YWJsZSBqZW1zMy10YWJsZS1ob3ZlclwiPiAuLi4gPC90YWJsZT5cbnRhYmxlLmplbXMzLXRhYmxlLWhvdmVyIHtcbiAgICAvLyBTZW0gZ2FwIGhvcml6b250YWwg4oCUIG8gc2VwYXJhZG9yIGVudHJlIGNvbHVuYXMgcGFzc2EgYSBzZXIgZGVzZW5oYWRvIHBvclxuICAgIC8vIGA6OmJlZm9yZWAgKGNvbSBnYXAsIG8gY29udG9ybm8gZG8gaG92ZXIgZmljYXZhIFwiY29ydGFkb1wiKS4gTWFudMOpbSBzw7Mgb1xuICAgIC8vIGdhcCB2ZXJ0aWNhbCBkZSAxcHggZW50cmUgbGluaGFzLiBNZXNtYSBlc3BlY2lmaWNpZGFkZSBkbyBgLmplbXMzLXRhYmxlYFxuICAgIC8vIGJhc2U7IHZlbmNlIHBvciB2aXIgZGVwb2lzIG5vIGFycXVpdm8uXG4gICAgYm9yZGVyLXNwYWNpbmc6IDAgMXB4ICFpbXBvcnRhbnQ7XG5cbiAgICB0Ym9keSB0cixcbiAgICB0ci5tYXQtcm93IHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC8vIFJlc2VydmEgZG8gY29udG9ybm8gKGA6OmFmdGVyYCwgYm9yZGEgdHJhbnNwYXJlbnRlIOKGkiBzZW0gbGF5b3V0LXNoaWZ0KSBlXG4gICAgLy8gw6JuY29yYSAoYHBvc2l0aW9uOiByZWxhdGl2ZWApIGVtIFRPREEgY8OpbHVsYSBkZSBjb250ZcO6ZG8gKGV4Y2x1aSBhXG4gICAgLy8gbnVtZXJhw6fDo28gYXV4aWxpYXIsIHF1ZSBmaWNhIGZvcmEgZG8gXCJjYXJkXCIgZGEgbGluaGEpLlxuICAgIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGluc2V0OiAwO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNlcGFyYWRvciB2ZXJ0aWNhbCBlbnRyZSBjb2x1bmFzIGRlIGNvbnRlw7pkbyDigJQgZW0gdG9kYXMgRVhDRVRPIGEgw7psdGltYVxuICAgIC8vIChjdWphIGJvcmRhIGRpcmVpdGEgasOhIMOpIG8gY29udG9ybm8gZGEgbGluaGEpLiBDb3IgPSBiZyBkbyBwYWluZWwgKHJldmVsYVxuICAgIC8vIG8gXCJnYXBcIikuIE8gY29tYm8gY29tIGAuamVtczMtdGFibGUtc2VsZWN0YWJsZWAgcmVtb3ZlIG8gc2VwYXJhZG9yIGRhXG4gICAgLy8gcGVuw7psdGltYSAocXVlIHZpcmEgYSDDumx0aW1hIGNvbHVuYSBkZSBjb250ZcO6ZG8pLlxuICAgIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTpub3QoOmxhc3Qtb2YtdHlwZSk6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gMcKqIGNvbHVuYSBkZSBjb250ZcO6ZG8g4oaSIHJlc2VydmEgYm9yZGEgZXNxdWVyZGEuIFNlbSBudW1lcmHDp8OjbzogYSAxwqogdGQ7XG4gICAgLy8gY29tIG51bWVyYcOnw6NvOiBhIHRkIGxvZ28gYXDDs3MgZWxhLlxuICAgIHRkOmZpcnN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcgKyB0ZDo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIMOabHRpbWEgY29sdW5hIGRlIGNvbnRlw7pkbyDihpIgcmVzZXJ2YSBib3JkYSBkaXJlaXRhIChjYXNvIFNFTSBzZWxldG9yOyBvXG4gICAgLy8gY29tYm8gc2VsZWN0YWJsZSBtb3ZlIGlzc28gcHJhIHBlbsO6bHRpbWEpLlxuICAgIHRkOmxhc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8g4pSA4pSAIEVzdGFkbyBIT1ZFUjogY29sb3JlIG8gY29udG9ybm8gKGNpbnphKSDilIDilIBcbiAgICB0Ym9keSB0cjpob3ZlciB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3c6aG92ZXIgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICR0YWJsZS1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0YWJsZS1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgfVxuICAgIHRib2R5IHRyOmhvdmVyIHRkOmZpcnN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0Ym9keSB0cjpob3ZlciB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcgKyB0ZDo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdzpob3ZlciB0ZDpmaXJzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdzpob3ZlciB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcgKyB0ZDo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRhYmxlLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gICAgdGJvZHkgdHI6aG92ZXIgdGQ6bGFzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdzpob3ZlciB0ZDpsYXN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHRhYmxlLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBIb3ZlciBFU0NVUkVDRSBhIGPDqWx1bGE6IHbDqXUgcHJldG8gdHJhbnNsw7pjaWRvIGNvbW8gRlVORE8gZG8gdGQuIENvbW9cbiAgICAvLyBhIGPDqWx1bGEgcGludGEgU09CUkUgcXVhbHF1ZXIgY29yIGRhIGxpbmhhIChpbmNsdXNpdmUgY29yIGRlIHN0YXR1cyksIG9cbiAgICAvLyB2w6l1IG1pc3R1cmEgY29tIG8gcXVlIGVzdMOhIGVtYmFpeG8g4oCUIHNlbSBwcmVjaXNhciBzYWJlciBhIGNvciBvcmlnaW5hbC5cbiAgICAvLyBgIWltcG9ydGFudGAgdmVuY2UgcmVncmFzIGRlIGNvciBjaGVpYSAoZXguOiBjZWxsLWJnIHNldGFkbyB2aWFcbiAgICAvLyBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AgZW0gX2NvbG9yLXNjaGVtZS5zY3NzKS4gTWVzbWEgdMOpY25pY2EgdXNhZGFcbiAgICAvLyBlbSBgc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MmAuXG4gICAgLy9cbiAgICAvLyBTb2JyZSBvIGA6bm90KC5qZW1zMy10YWJsZS1zZWxlY3RhYmxlKWA6IGVzcGVsaGEgRVhBVEFNRU5URSBvIHBhZHLDo29cbiAgICAvLyBkYXMgYm9yZGFzIGRlIGhvdmVyIGFjaW1hIOKAlCBxdWFuZG8gaMOhIG1vZGlmaWVyIHNlbGVjdGFibGUsIGEgw7psdGltYVxuICAgIC8vIGNvbHVuYSDDqSBvIGNoZWNrYm94IGRlIHNlbGXDp8OjbyBcImZvcmEgZG8gY2FyZFwiIGUgTsODTyByZWNlYmUgbmVuaHVtXG4gICAgLy8gY2hyb21lIGRlIGhvdmVyIChib3JkYSBvdSB2w6l1KS4gQSByZWdyYS1pcm3DoyBwcmEgc2VsZWN0YWJsZSBlc3TDoSBsb2dvXG4gICAgLy8gYWJhaXhvIGUgZXhjbHVpIGA6bGFzdC1vZi10eXBlYCBubyBzZWxldG9yLlxuICAgICY6bm90KC5qZW1zMy10YWJsZS1zZWxlY3RhYmxlKSB7XG4gICAgICAgIHRib2R5IHRyOmhvdmVyIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKSxcbiAgICAgICAgdHIubWF0LXJvdzpob3ZlciB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZykge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCR0YWJsZS1ob3Zlci12ZWlsLWxpZ2h0LCAkdGFibGUtaG92ZXItdmVpbC1saWdodCkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuamVtczMtdGFibGUtc2VsZWN0YWJsZSB7XG4gICAgICAgIHRib2R5IHRyOmhvdmVyIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTpub3QoOmxhc3Qtb2YtdHlwZSksXG4gICAgICAgIHRyLm1hdC1yb3c6aG92ZXIgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHRhYmxlLWhvdmVyLXZlaWwtbGlnaHQsICR0YWJsZS1ob3Zlci12ZWlsLWxpZ2h0KSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAuamVtczMtdGFibGUtc2VsZWN0YWJsZSDigJQgbW9kaWZpZXIgb3B0LWluIHByYSB0YWJlbGFzIGNvbSBsaW5oYXNcbi8vIHNlbGVjaW9uw6F2ZWlzLiBDb252ZW7Dp8Ojbzpcbi8vICAg4oCiIMOabHRpbWEgY29sdW5hIChtYXRDb2x1bW5EZWY9XCJzZWxlY3RcIikgPSBjaGVja2JveCwgY8OpbHVsYSB0cmFuc3BhcmVudGVcbi8vICAgICBmb3JhIGRvIFwiY2FyZFwiIGRhIGxpbmhhIChtZXNtYSBsw7NnaWNhIHZpc3VhbCBkYSBudW1lcmHDp8OjbyDDoCBlc3F1ZXJkYSkuXG4vLyAgIOKAoiBIZWFkZXIgZGEgY29sdW5hID0gY2hlY2tib3ggbWFzdGVyIHByYSBtYXJjYXIvZGVzbWFyY2FyIHRvZGFzLlxuLy8gICDigKIgTGluaGFzIHNlbGVjaW9uYWRhcyBnYW5oYW0gY2xhc3NlIGAuaXMtc2VsZWN0ZWRgIG5hIDx0cj4g4oaSIGJvcmRhXG4vLyAgICAgYWNjZW50IGNvbG9yIChjb250b3JubyBwZXJzaXN0ZW50ZSkuXG4vL1xuLy8gICA8dGFibGUgY2xhc3M9XCJqZW1zMy10YWJsZSBqZW1zMy10YWJsZS1zZWxlY3RhYmxlXCI+XG4vLyAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJzZWxlY3RcIj4gLi4uIDwvbmctY29udGFpbmVyPlxuLy8gICAgIDx0ciAqbWF0Um93RGVmPVwiLi4uXCIgW2NsYXNzLmlzLXNlbGVjdGVkXT1cInIuc2VsZWN0ZWRcIj48L3RyPlxuLy8gICA8L3RhYmxlPlxudGFibGUuamVtczMtdGFibGUtc2VsZWN0YWJsZSB7XG4gICAgLy8gw5psdGltYSBjb2x1bmEgKHNlbGVjdCkgPSB0cmFuc3BhcmVudGUsIGZvcmEgZG8gXCJjYXJkXCIuIFNlbSByYWRpdXMuXG4gICAgdGg6bGFzdC1vZi10eXBlLFxuICAgIHRoLm1hdC1oZWFkZXItY2VsbDpsYXN0LW9mLXR5cGUsXG4gICAgdGQ6bGFzdC1vZi10eXBlLFxuICAgIHRkOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMi41ZW07XG4gICAgICAgIG1pbi13aWR0aDogMzBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLy8gQ2hlY2tib3hlcyAobWFzdGVyIG5vIGhlYWRlciArIGRlIGxpbmhhKSBlbmNvbGhpZG9zIChzY2FsZSAwLjgpIGUgY2VudHJhZG9zLlxuICAgIHRoOmxhc3Qtb2YtdHlwZSAubWF0LWNoZWNrYm94LWlubmVyLWNvbnRhaW5lcixcbiAgICB0aC5tYXQtaGVhZGVyLWNlbGw6bGFzdC1vZi10eXBlIC5tYXQtY2hlY2tib3gtaW5uZXItY29udGFpbmVyLFxuICAgIHRkOmxhc3Qtb2YtdHlwZSAubWF0LWNoZWNrYm94LWlubmVyLWNvbnRhaW5lcixcbiAgICB0ZDpsYXN0LW9mLXR5cGUgLm1hdC1jaGVja2JveC1pbm5lci1jb250YWluZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAvLyBQZW7Dumx0aW1hIGNvbHVuYSBhc3N1bWUgbyByYWRpdXMgZGlyZWl0byBkbyBcImNhcmRcIiAoYSDDumx0aW1hIHZpcm91IHNlbGV0b3IpLlxuICAgIHRkOm50aC1sYXN0LW9mLXR5cGUoMiksXG4gICAgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKSB7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA2cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA2cHg7XG4gICAgfVxuXG4gICAgLy8gU2VsZWNpb25hZG8gKHBlcnNpc3RlbnRlKSDigJQgY29udG9ybm8gYWNjZW50IHZpYSBgOjphZnRlcmAgKG1lc21hIHTDqWNuaWNhIGRvXG4gICAgLy8gaG92ZXI7IHJlcXVlciBgLmplbXMzLXRhYmxlLWhvdmVyYCBwLyBhIHJlc2VydmEgZG8gcHNldWRvKS4gQWNlaXRhXG4gICAgLy8gYC5pcy1zZWxlY3RlZGAgZSBgLnNlbGVjdGVkYC4gYDpub3QoOmxhc3Qtb2YtdHlwZSlgIGV4Y2x1aSBvIHNlbGV0b3I7IMO6bHRpbWFcbiAgICAvLyBjb2x1bmEgZGUgY29udGXDumRvID0gcGVuw7psdGltYSB0ZCAoYDpudGgtbGFzdC1vZi10eXBlKDIpYCkuXG4gICAgdGJvZHkgdHIuaXMtc2VsZWN0ZWQgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOm5vdCg6bGFzdC1vZi10eXBlKTo6YWZ0ZXIsXG4gICAgdGJvZHkgdHIuc2VsZWN0ZWQgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOm5vdCg6bGFzdC1vZi10eXBlKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5pcy1zZWxlY3RlZCB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6bm90KDpsYXN0LW9mLXR5cGUpOjphZnRlcixcbiAgICB0ci5tYXQtcm93LnNlbGVjdGVkIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTpub3QoOmxhc3Qtb2YtdHlwZSk6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgfVxuICAgIHRib2R5IHRyLmlzLXNlbGVjdGVkIHRkOmZpcnN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0Ym9keSB0ci5pcy1zZWxlY3RlZCB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcgKyB0ZDo6YWZ0ZXIsXG4gICAgdGJvZHkgdHIuc2VsZWN0ZWQgdGQ6Zmlyc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRib2R5IHRyLnNlbGVjdGVkIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZyArIHRkOjphZnRlcixcbiAgICB0ci5tYXQtcm93LmlzLXNlbGVjdGVkIHRkOmZpcnN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93LmlzLXNlbGVjdGVkIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZyArIHRkOjphZnRlcixcbiAgICB0ci5tYXQtcm93LnNlbGVjdGVkIHRkOmZpcnN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93LnNlbGVjdGVkIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZyArIHRkOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgfVxuICAgIHRib2R5IHRyLmlzLXNlbGVjdGVkIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0Ym9keSB0ci5zZWxlY3RlZCB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5pcy1zZWxlY3RlZCB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5zZWxlY3RlZCB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICB9XG59XG5cbi5kYXJrLXRoZW1lIHRhYmxlLmplbXMzLXRhYmxlLXNlbGVjdGFibGUge1xuICAgIHRib2R5IHRyLmlzLXNlbGVjdGVkIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTpub3QoOmxhc3Qtb2YtdHlwZSk6OmFmdGVyLFxuICAgIHRib2R5IHRyLnNlbGVjdGVkIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTpub3QoOmxhc3Qtb2YtdHlwZSk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuaXMtc2VsZWN0ZWQgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOm5vdCg6bGFzdC1vZi10eXBlKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5zZWxlY3RlZCB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6bm90KDpsYXN0LW9mLXR5cGUpOjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgICB9XG4gICAgdGJvZHkgdHIuaXMtc2VsZWN0ZWQgdGQ6Zmlyc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRib2R5IHRyLmlzLXNlbGVjdGVkIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZyArIHRkOjphZnRlcixcbiAgICB0Ym9keSB0ci5zZWxlY3RlZCB0ZDpmaXJzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdGJvZHkgdHIuc2VsZWN0ZWQgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQ6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuaXMtc2VsZWN0ZWQgdGQ6Zmlyc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuaXMtc2VsZWN0ZWQgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQ6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuc2VsZWN0ZWQgdGQ6Zmlyc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuc2VsZWN0ZWQgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQ6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgIH1cbiAgICB0Ym9keSB0ci5pcy1zZWxlY3RlZCB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdGJvZHkgdHIuc2VsZWN0ZWQgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuaXMtc2VsZWN0ZWQgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuc2VsZWN0ZWQgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgICB9XG59XG5cbi8vIENvbWJvIGhvdmVyICsgc2VsZWN0YWJsZTogbyBzZWxldG9yICjDumx0aW1hIHRkKSDDqSB0cmFuc3BhcmVudGUsIGZvcmEgZG8gY2FyZDtcbi8vIGEgw7psdGltYSBjb2x1bmEgZGUgQ09OVEXDmkRPIHZpcmEgYSBwZW7Dumx0aW1hIChgOm50aC1sYXN0LW9mLXR5cGUoMilgKS5cbnRhYmxlLmplbXMzLXRhYmxlLWhvdmVyLmplbXMzLXRhYmxlLXNlbGVjdGFibGUge1xuICAgIHRkOmxhc3Qtb2YtdHlwZTo6YWZ0ZXIgeyBjb250ZW50OiBub25lOyB9XG4gICAgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTo6YmVmb3JlIHsgY29udGVudDogbm9uZTsgfVxuICAgIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICB0Ym9keSB0cjpob3ZlciB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdzpob3ZlciB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0YWJsZS1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gU2VsZWN0ZWQgKyBob3ZlcjogYm9yZGEgZGlyZWl0YSBQUkVTRVJWQSBhY2NlbnQgKHNlbSBpc3NvLCBhIHJlZ3JhIGRlXG4gICAgLy8gaG92ZXIgYWNpbWEgc29icmVzY3JldmlhIG8gYWNjZW50IGRvIHNlbGVjdGVkIOKAlCBgdHIuc2VsZWN0ZWQ6aG92ZXJgIHZlbmNlXG4gICAgLy8gcG9yIHNwZWNpZmljaXR5IGRlIDEgY2xhc3NlIGEgbWFpcyBxdWUgYHRyOmhvdmVyYCkuXG4gICAgdGJvZHkgdHIuaXMtc2VsZWN0ZWQ6aG92ZXIgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRib2R5IHRyLnNlbGVjdGVkOmhvdmVyIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93LmlzLXNlbGVjdGVkOmhvdmVyIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93LnNlbGVjdGVkOmhvdmVyIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kO1xuICAgIH1cbn1cblxuLy8gRGFyayDigJQgY29udG9ybm8gZG8gaG92ZXIgZW0gYnJhbmNvIHRyYW5zbMO6Y2lkby5cbi5kYXJrLXRoZW1lIHRhYmxlLmplbXMzLXRhYmxlLWhvdmVyIHtcbiAgICAvLyBTZXBhcmFkb3IgdmVydGljYWwgbm8gZGFyayA9IE1FU01BIGNvciBkbyBnYXAgaG9yaXpvbnRhbCAoY2FudmFzIGF0csOhcyBkYVxuICAgIC8vIHRhYmVsYSwgJGFkbWluLWJhY2tncm91bmQtZGFyaykuIE5vIGxpZ2h0IHVzYSBvIGJnIGNsYXJvIGRvIHBhaW5lbDsgbm8gZGFya1xuICAgIC8vIG8gdmFsb3IgY2xhcm8gdmlyYXZhIGxpbmhhIGJyYW5jYSwgZW50w6NvIHVzYW1vcyBvIGNhbnZhcyBlc2N1cm8gcC8gdmVydGljYWxcbiAgICAvLyBlIGhvcml6b250YWwgZmljYXJlbSBpZMOqbnRpY29zLlxuICAgIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTpub3QoOmxhc3Qtb2YtdHlwZSk6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4gICAgfVxuXG4gICAgdGJvZHkgdHI6aG92ZXIgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93OmhvdmVyIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICAgIH1cbiAgICB0Ym9keSB0cjpob3ZlciB0ZDpmaXJzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdGJvZHkgdHI6aG92ZXIgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQ6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3c6aG92ZXIgdGQ6Zmlyc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3c6aG92ZXIgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQ6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gICAgfVxuICAgIHRib2R5IHRyOmhvdmVyIHRkOmxhc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3c6aG92ZXIgdGQ6bGFzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gICAgfVxuXG59XG5cbi8vIERhcmsgaG92ZXIgdmVpbCDigJQgZXNjcml0byBzZW0gbmVzdGluZyBgJmAgcHJhIGRlaXhhciBzZWxlY3RvciBleHBsw61jaXRvXG4vLyAoZSBldml0YXIgc3VycHJlc2FzIGNvbSBhIHJlZ3JhIGFjaW1hKS4gTWVzbWEgZGl2aXPDo28gZG8gbGlnaHQ6IHNlbGVjdGFibGVcbi8vIEVYQ0xVSSBgOmxhc3Qtb2YtdHlwZWAgcHJhIG7Do28gcGludGFyIG8gY2hlY2tib3ggXCJmb3JhIGRvIGNhcmRcIi5cbi5kYXJrLXRoZW1lIHRhYmxlLmplbXMzLXRhYmxlLWhvdmVyOm5vdCguamVtczMtdGFibGUtc2VsZWN0YWJsZSkgdGJvZHkgdHI6aG92ZXIgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpLFxuLmRhcmstdGhlbWUgdGFibGUuamVtczMtdGFibGUtaG92ZXI6bm90KC5qZW1zMy10YWJsZS1zZWxlY3RhYmxlKSB0ci5tYXQtcm93OmhvdmVyIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCR0YWJsZS1ob3Zlci12ZWlsLWRhcmssICR0YWJsZS1ob3Zlci12ZWlsLWRhcmspICFpbXBvcnRhbnQ7XG59XG5cbi5kYXJrLXRoZW1lIHRhYmxlLmplbXMzLXRhYmxlLWhvdmVyLmplbXMzLXRhYmxlLXNlbGVjdGFibGUgdGJvZHkgdHI6aG92ZXIgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOm5vdCg6bGFzdC1vZi10eXBlKSxcbi5kYXJrLXRoZW1lIHRhYmxlLmplbXMzLXRhYmxlLWhvdmVyLmplbXMzLXRhYmxlLXNlbGVjdGFibGUgdHIubWF0LXJvdzpob3ZlciB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHRhYmxlLWhvdmVyLXZlaWwtZGFyaywgJHRhYmxlLWhvdmVyLXZlaWwtZGFyaykgIWltcG9ydGFudDtcbn1cblxuLmRhcmstdGhlbWUgdGFibGUuamVtczMtdGFibGUtaG92ZXIuamVtczMtdGFibGUtc2VsZWN0YWJsZSB7XG4gICAgdGJvZHkgdHI6aG92ZXIgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3c6aG92ZXIgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICAgIH1cblxuICAgIC8vIFNlbGVjdGVkICsgaG92ZXI6IGJvcmRhIERJUkVJVEEgcHJlc2VydmEgYWNjZW50LWRhcmsuXG4gICAgdGJvZHkgdHIuaXMtc2VsZWN0ZWQ6aG92ZXIgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRib2R5IHRyLnNlbGVjdGVkOmhvdmVyIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93LmlzLXNlbGVjdGVkOmhvdmVyIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93LnNlbGVjdGVkOmhvdmVyIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgfVxufVxuXG4vLyBEYXJrIOKAlCBzZWxlY3RlZCArIGhvdmVyOiB0b3AvYm90dG9tICsgbGVmdCBwcmVzZXJ2YW0gYWNjZW50LWRhcmsgKHNlbVxuLy8gaXNzbyBvIGhvdmVyIGRhcmsgYWNpbWEgdmVuY2UgbyBzZWxlY3RlZCBkYXJrLCBwZXJkZW5kbyBvIGFjY2VudCBlbVxuLy8gdG9kb3Mgb3MgbGFkb3Mgdmlzw612ZWlzKS5cbi5kYXJrLXRoZW1lIHRhYmxlLmplbXMzLXRhYmxlLWhvdmVyIHtcbiAgICB0Ym9keSB0ci5pcy1zZWxlY3RlZDpob3ZlciB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRib2R5IHRyLnNlbGVjdGVkOmhvdmVyIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5pcy1zZWxlY3RlZDpob3ZlciB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuc2VsZWN0ZWQ6aG92ZXIgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgICB9XG4gICAgdGJvZHkgdHIuaXMtc2VsZWN0ZWQ6aG92ZXIgdGQ6Zmlyc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRib2R5IHRyLmlzLXNlbGVjdGVkOmhvdmVyIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZyArIHRkOjphZnRlcixcbiAgICB0Ym9keSB0ci5zZWxlY3RlZDpob3ZlciB0ZDpmaXJzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdGJvZHkgdHIuc2VsZWN0ZWQ6aG92ZXIgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQ6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuaXMtc2VsZWN0ZWQ6aG92ZXIgdGQ6Zmlyc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuaXMtc2VsZWN0ZWQ6aG92ZXIgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQ6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuc2VsZWN0ZWQ6aG92ZXIgdGQ6Zmlyc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuc2VsZWN0ZWQ6aG92ZXIgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQ6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgIH1cbn1cblxuLy8gLmplbXMzLXRhYmxlLWFjdGlvbiDigJQgw61jb25lIGNsaWPDoXZlbCBzaW1wbGVzIHByYSBjb2x1bmFzIGRlIGHDp8OjbyBkZW50cm9cbi8vIGRlIHVtYSBgLmplbXMzLXRhYmxlYC4gU2VtIGNocm9tZSBkbyBNYXRlcmlhbCAoc2VtIDQww5c0MCwgc2VtIHJpcHBsZSxcbi8vIHNlbSBmdW5kbyksIGFwZW5hcyBvIMOtY29uZS4gRnVuY2lvbmEgZW0gYDxhPmAgKHJvdXRlckxpbmspIGUgYDxidXR0b24+YFxuLy8g4oCUIGVtIGA8YnV0dG9uPmAgemVyYW1vcyBvIGNocm9tZSBuYXRpdm8gKyBvIGBidXR0b24geyBoZWlnaHQ6IDM2cHggfWBcbi8vIGdsb2JhbCBlIG8gYHBhZGRpbmdgL2BiYWNrZ3JvdW5kYCBoZXJkYWRvcy5cbi5qZW1zMy10YWJsZS1hY3Rpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6ICRncmF5LTUwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuXG4gICAgLy8gT3ZlcnJpZGVzIHF1YW5kbyBvIGNvbnN1bWlkb3IgdXNhIGA8YnV0dG9uPmAg4oCUIG5ldXRyYWxpemEgZGVmYXVsdHNcbiAgICAvLyBuYXRpdm9zIGRvIG5hdmVnYWRvciBlIGEgcmVncmEgZ2xvYmFsIGBidXR0b24geyBoZWlnaHQ6IDM2cHggfWAuXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIC8vIFBhZGRpbmcgY3JpYSBhIFwiYWxtb2ZhZGFcIiBkbyBob3ZlciBjaXJjdWxhciBzZW0gbXVkYXIgYSBwb3Npw6fDo28gZG9cbiAgICAvLyDDrWNvbmUgKGUgc2VtIGFmZXRhciBvIGxheW91dCBlbnRyZSBlc3RhZG9zKS5cbiAgICBwYWRkaW5nOiA0cHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIC8vIEFjZWl0YSBvIMOtY29uZSBjb21vIGA8bWF0LWljb24+YCBPVSBjb21vIGA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj5gXG4gICAgLy8gKG8gZ2xpZm8gw6kgbyBtZXNtbzogYSBjbGFzc2Ugw6kgZ2xvYmFsIGVtIGBfZm9udHMtbG9jYWwuc2Nzc2ApLiBPIHNwYW4gZXZpdGFcbiAgICAvLyBpbnN0YW5jaWFyIHVtIGNvbXBvbmVudGUgQW5ndWxhciBwb3IgbGluaGEgZGEgdGFiZWxhLlxuICAgIG1hdC1pY29uLFxuICAgIC5tYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICAgIH1cbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgfVxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgfVxufVxuLmRhcmstdGhlbWUgLmplbXMzLXRhYmxlLWFjdGlvbiB7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgICB9XG4gICAgJjphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpOyB9XG59XG5cbi8vIERhcmsgbW9kZSDigJQgZnVuZG8gYCRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFya2AgZSB0ZXh0byBjbGFybyxcbi8vIGFsaW5oYWRvIGFvcyBjYXJkcyBhdXRvci9yZXZpc29yIG5vdm9zLlxuLmRhcmstdGhlbWUgdGFibGUuamVtczMtdGFibGUge1xuICAgIHRoLFxuICAgIHRoLm1hdC1oZWFkZXItY2VsbCB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNykgIWltcG9ydGFudDtcbiAgICB9XG4gICAgdGQsXG4gICAgdGQubWF0LWNlbGwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4gICAgICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbG9ycyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ0hJUCBkZSBUw5NQSUNPIChleGliacOnw6NvLCByZWFkLW9ubHkpIOKAlCBkZWZpbmnDp8OjbyDDmk5JQ0EgZ2xvYmFsLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQaWxsIGVzdMOhdGljbyBxdWUgcm90dWxhIHVtIHTDs3BpY28uIFVzYWRvIGVtOlxuLy8gICAtIExpc3RhIGRlIFN1Ym1pc3PDtWVzIChgc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiA+IC5zdWJtaXNzaW9uLXRvcGljc2ApXG4vLyAgIC0gSmFuZWxhIFwiUGVzcXVpc2FyIHBvciBpbnRlcmVzc2VcIiAoYGZpbmQtcmV2aWV3ZXJzLWJ5LWludGVyZXN0YClcbi8vXG4vLyBPIGNoaXAgRURJVMOBVkVMIGRlIGdlc3TDo28gZGUgdMOzcGljb3MgKGBldmVudC10b3BpY3NgOiBob3ZlciwgZHJhZyxcbi8vIGlzLWluYWN0aXZlLCBwYXJlbnQpIMOpIE9VVFJPIGRlc2lnbiDigJQgZmljYSBlc2NvcGFkbyBubyBjb21wb25lbnRlLCBOw4NPIG1pZ3Jhci5cbi50b3BpYy1jaGlwIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogLjc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIG1pbi1oZWlnaHQ6IDEuNHJlbTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDsgICAgICAgICAgICAgICAgICAgIC8vIHBpbGwsIGNvbW8gbyBtYXQtY2hpcCBkZWZhdWx0XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAuNSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRldmVudC1jYXJkLWJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29udGVudC1jb2xvcjtcbn1cbiIsIi8vIENhcmQgZG8gcG9wb3ZlciBkbyB0aHJlc2hvbGQgYmFuZCBkYSBjb2x1bmEgU3BhbiAoTGlzdGEgZGUgU3VibWlzc8O1ZXMpLlxuLy9cbi8vIEdMT0JBTCBkZSBwcm9ww7NzaXRvIChuw6NvIG5vIHNjc3MgZG8gY29tcG9uZW50ZSkuIE8gcG9wb3ZlciDDqSBwb3J0YWRvIHBybyA8Ym9keT4gZSBhXG4vLyB0YWJlbGEgKGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyKSDDqSBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZDogdW1hIHJlZ3JhXG4vLyBgLmRhcmstdGhlbWUgLnNwYW4tdGhyZXNob2xkLXBvcGAgZXNjcml0YSBubyBzY3NzIGRvIGNvbXBvbmVudGUgY29tcGlsYSBjb21vXG4vLyBgLmRhcmstdGhlbWVbX25nY29udGVudC14XSAuc3Bhbi10aHJlc2hvbGQtcG9wW19uZ2NvbnRlbnQteF1gIOKAlCBlIGNvbW8gYSBjbGFzc2Vcbi8vIGBkYXJrLXRoZW1lYCBtb3JhIG5vIDxib2R5PiAocXVlIE7Dg08gdGVtIG8gYXRyaWJ1dG8gX25nY29udGVudCksIG8gc2VsZXRvciBkYXJrIG51bmNhXG4vLyBjYXNhIOKGkiBvIGNhcmQgZmljYXZhIHNlbXByZSBjbGFybywgbWVzbW8gZW0gZGFyayBtb2RlLiBgOmhvc3QtY29udGV4dCguZGFyay10aGVtZSlgXG4vLyB0YW1iw6ltIG7Do28gcmVzb2x2ZSBwb3JxdWUgbyBjYXJkIMOpIHBvcnRhZG8gcHJhIEZPUkEgZG8gaG9zdCBkYSB0YWJlbGEuIFNlbVxuLy8gZW5jYXBzdWxhbWVudG8gKGFxdWkpLCBgLmRhcmstdGhlbWUgLnNwYW4tdGhyZXNob2xkLXBvcGAgY2FzYSBvIDxib2R5PiBub3JtYWxtZW50ZS5cbi8vIChtZW3Ds3JpYSBmZWVkYmFja19hbmd1bGFyX3ZpZXdfZW5jYXBzdWxhdGlvbilcbkBpbXBvcnQgJ2NvbG9ycyc7XG5cbi5zcGFuLXRocmVzaG9sZC1wb3Age1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS0zMDA7XG4gIGJvcmRlci1yYWRpdXM6IDZweDsgICAgICAgICAgICAgIC8vID0gJGNocm9tZS1yYWRpdXMgKGRlIF92YXJpYWJsZXMsIG7Do28gaW1wb3J0YWRvIGFxdWkpXG4gIGJveC1zaGFkb3c6IDAgM3B4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMyKTtcbiAgcGFkZGluZzogMTJweCAxNHB4IDRweDsgICAgICAgICAgLy8gYm90dG9tIG1lbm9yOiBvIGJhbmQgasOhIHJlc2VydmEgMzBweCBwLyBzZXRhcy92YWxvcmVzXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG5cbiAgJl9fdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzM3MzczNDtcbiAgfVxufVxuXG4uZGFyay10aGVtZSAuc3Bhbi10aHJlc2hvbGQtcG9wIHtcbiAgYmFja2dyb3VuZDogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xuICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcms7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDE0cHggcmdiYSgwLCAwLCAwLCAwLjcpO1xuXG4gIC5zcGFuLXRocmVzaG9sZC1wb3BfX3RpdGxlIHtcbiAgICBjb2xvcjogJGNvbnRlbnQtY29sb3ItZGFyaztcbiAgfVxufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbG9ycyc7XG5cbi8vIEVzdGlsb3MgZGEgbWluaS10YWJlbGEgZGUgbm90YXMgKGNvbHVuYSBcIk5vdGFzIGluZGl2aWR1YWlzXCIpLiBHTE9CQUwgcG9ycXVlIGFnb3JhIG9cbi8vIENBQkXDh0FMSE8gdml2ZSBubyA8dGg+IGRvIHBhaSAoc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MikgZSBhIEPDiUxVTEEgbnVtIGNvbXBvbmVudGUtZmlsaG9cbi8vIChhcHAtc2NvcmUtY2VsbCwgT25QdXNoKS4gRGFyayB2aWEgYC5kYXJrLXRoZW1lYCAoZXJhIDpob3N0LWNvbnRleHQgbm8gY29tcG9uZW50ZSBFbXVsYXRlZCkuXG5cbi8vIFBFUkYgZGUgcmVzaXplL3Njcm9sbDogYGNvbnRlbnQtdmlzaWJpbGl0eTogYXV0b2AgZmF6IG8gYnJvd3NlciBQVUxBUiBvIGxheW91dC9wYWludCBkYXNcbi8vIG1pbmktdGFiZWxhcyBxdWUgZXN0w6NvIEZPUkEgZGEgdmlld3BvcnQuIFNlbSBpc3RvLCBhIHRhYmVsYSAobGF5b3V0IGF1dG9tw6F0aWNvKSByZS1tZWRpYSBhc1xuLy8gfjE5NCBtaW5pLXRhYmVsYXMgZGUgbm90YXMgYSBjYWRhIGV2ZW50byBkZSByZXNpemUg4oaSIHJlYXJyYW5qbyBsZW50by4gQ29tIGlzdG8sIHPDsyBhcyB2aXPDrXZlaXNcbi8vIHPDo28gbWVkaWRhcy9waW50YWRhcy4gQSBsYXJndXJhIMOpIEVTVMOBVkVMICh0b2RhcyBhcyBtaW5pLXRhYmVsYXMgdMOqbSBhIG1lc21hIGxhcmd1cmEgZml4YSksIGVudMOjb1xuLy8gYSBjb2x1bmEgbsOjbyBcInB1bGFcIjsgYSBhbHR1cmEgZGFzIGZvcmEgZGEgdGVsYSB1c2EgYSBlc3RpbWF0aXZhIGBhdXRvYCAobGVtYnJhZGEgYXDDs3MgYSAxwqpcbi8vIHJlbmRlcml6YcOnw6NvIGRlIGNhZGEgdW1hKSwgcG9kZW5kbyBkYXIgdW0gbGV2ZSByZWZsb3cgbm8gMcK6IHNjcm9sbCBhdMOpIHNlcmVtIG1lZGlkYXMuXG5hcHAtc2NvcmUtY2VsbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50LXZpc2liaWxpdHk6IGF1dG87XG4gIGNvbnRhaW4taW50cmluc2ljLXNpemU6IGF1dG8gNDAwcHggYXV0byA3MnB4OyAgIC8vIGZhbGxiYWNrIHPDsyBhdMOpIGNhZGEgY8OpbHVsYSByZW5kZXJpemFyIDHDl1xuICAvLyBjb250ZW50LXZpc2liaWxpdHkgZW1idXRlIFBBSU5UIGNvbnRhaW5tZW50IChyZWNvcnRhIGFvIGJveCwgY29tbyBvdmVyZmxvdzpoaWRkZW4pLiBBIHNvbWJyYVxuICAvLyBwb3IgbGluaGEgcHJvamV0YS1zZSB+NHB4IHByYSBmb3JhIGRvIGJveCAoYWJhaXhvIGRhIMO6bHRpbWEgbGluaGEsIGFjaW1hIGRhIHByaW1laXJhKSDihpIgc2VyaWFcbiAgLy8gcmVjb3J0YWRhLiBFc3RhIGZvbGdhIHZlcnRpY2FsIGTDoSBlc3Bhw6dvIHByYSBzb21icmEgY2FiZXIgREVOVFJPIGRvIGJveCBlIG7Do28gc2VyIGNvcnRhZGEuXG4gIHBhZGRpbmc6IDRweCAwO1xufVxuXG4uc2NvcmUtZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdC8vIHN0cmV0Y2ggbm9zIGRvaXMgZWl4b3M6IGNhZGEgY8OpbHVsYSBQUkVFTkNIRSBhIGxhcmd1cmEgRSBhIEFMVFVSQSBkYSBzdWEgw6FyZWEgbm8gZ3JpZFxuXHQvLyAobyBmdW5kbyBjaW56YSBjb2JyZSBhIGPDqWx1bGEgaW50ZWlyYSwgaW5jbHVzaXZlIGFzIFZBWklBUyDigJQgcmV2aXPDo28gaW5jb21wbGV0YSwgc3RhdHVzXG5cdC8vIGRvIHJvZGFww6kpOyBvIGNvbnRlw7pkbyDDqSBjZW50cmFsaXphZG8gcG9yIGRlbnRybyAodGV4dC1hbGlnbiArIGxpbmUtaGVpZ2h0IC8gZmxleCkuXG5cdGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXHRqdXN0aWZ5LWl0ZW1zOiBzdHJldGNoO1xuXHQvLyBMaW5oYXMgc2VwYXJhZGFzIHBvciAxcHggdHJhbnNwYXJlbnRlIChyb3ctZ2FwIOKGkiBhIGNvciBkYSBsaW5oYSBhcGFyZWNlIGVudHJlIGVsYXMpO1xuXHQvLyBDT0xVTkFTIGFkamFjZW50ZXMgKGNvbHVtbi1nYXAgMCksIGRpdmlkaWRhcyBwb3IgdW0gOjpiZWZvcmUgZGUgMXB4IOKAlCBNRVNNQSB0w6ljbmljYSBkYVxuXHQvLyB0YWJlbGEgcHJpbmNpcGFsIChib3JkZXItc3BhY2luZyAwIDFweCkuIEFzc2ltIG8gY29udG9ybm8gZGUgaG92ZXIgKDo6YWZ0ZXIgaW5zZXQ6MCkgZmljYVxuXHQvLyBjb250w61udW8gcG9ycXVlIGFzIGPDqWx1bGFzIHNlIFRPQ0FNIChzZW0gZ2FwIGhvcml6b250YWwgcC8gY29ydGFyIGEgYm9yZGEpLlxuXHRyb3ctZ2FwOiAxcHg7XG5cdGNvbHVtbi1nYXA6IDA7XG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcblx0bGluZS1oZWlnaHQ6IDEuNTtcblx0d2lkdGg6IG1heC1jb250ZW50O1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdG1hcmdpbjogMCBhdXRvO1xuXG5cdC8vIENhZGEgTElOSEEgZGEgbWluaS10YWJlbGEgw6kgdW0gXCJwaWxsXCIgYXJyZWRvbmRhZG86IGEgMcKqIGPDqWx1bGEgZGEgbGluaGEgYXJyZWRvbmRhIMOgXG5cdC8vIGVzcXVlcmRhICguc2ctcmwpIGUgYSDDumx0aW1hIMOgIGRpcmVpdGEgKC5zZy1ycikg4oCUIG1hcmNhZGFzIG5vIEhUTUwgcG9ycXVlIG8gbsK6IGRlXG5cdC8vIGNyaXTDqXJpb3Mgw6kgdmFyacOhdmVsIChuw6NvIGTDoSBwcmEgbWlyYXIgcG9yIG50aC1jaGlsZCkuXG5cdC5zZy1ybCB7IGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDsgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4OyB9XG5cdC5zZy1yciB7IGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7IGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7IH1cblxuXHQvLyBXcmFwcGVyIGRlIExJTkhBOiBjYWl4YSByZWFsIHZpYSBgc3ViZ3JpZGAgKGFzIGPDqWx1bGFzIHNlZ3VlbSBhbGluaGFkYXMgw6BzIGNvbHVuYXMgZG8gZ3JpZFxuXHQvLyBwYWkpLCBwcmEgYSBsaW5oYSB0ZXIgY2FpeGEgcHLDs3ByaWEgZSBhY2VpdGFyIHVtIGJveC1zaGFkb3cgUE9SIExJTkhBLiBQZXJtaXRlIG8gOmhvdmVyIG5hXG5cdC8vIGxpbmhhIGludGVpcmEuIFPDsyBjb3Jwby9yb2RhcMOpLlxuXHQuc2ctcm93IHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtY29sdW1uOiAxIC8gLTE7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkO1xuXHRcdGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXHRcdC8vIEFsdHVyYSB1bmlmb3JtZSA9IMOtY29uZSBkZSBzdGF0dXMgKDE2cHgpICsgMXB4IGFjaW1hICsgMXB4IGFiYWl4by4gU2VtIGlzdG8sIGEgbGluaGFcblx0XHQvLyBcImNvbnZpZGFkb1wiIChzw7Mgw61jb25lLCBzZW0gbsO6bWVyb3MpIGZpY2EgbWVub3IgcXVlIGFzIGxpbmhhcyBjb20gdGV4dG8uIE8gcGlsbCAoMTZweClcblx0XHQvLyBjZW50cmFsaXphZG8gbmEgY8OpbHVsYSBlc3RpY2FkYSBnYXJhbnRlIG8gMXB4IGRlIGZvbGdhIGVtIGNpbWEgZSBlbWJhaXhvLlxuXHRcdG1pbi1oZWlnaHQ6IDE4cHg7XG5cdH1cblxuXHQvLyBDb20gXCJDb2xvcmlyIGxpbmhhcyBjb20gc3RhdHVzXCIgTElHQURPLCBjYWRhIEPDiUxVTEEgw6kgY2luemEgKGNvbnRyYXN0ZSBjb250cmEgYSBsaW5oYVxuXHQvLyBjb2xvcmlkYSkuIENvbSBvIHRvZ2dsZSBERVNMSUdBRE8sIGEgbGluaGEgKGB0ci5uby1zdGF0dXMtY29sb3JgKSDDqSBicmFuY2Eg4oaSIGEgbWluaS10YWJlbGFcblx0Ly8gYWNvbXBhbmhhIGUgZmljYSBicmFuY2EgKG92ZXJyaWRlIGxvZ28gYWJhaXhvKS4gQXMgY8OpbHVsYXMgdml2ZW0gc29iIC5zZy1yb3cgKGNvcnBvL3JvZGFww6kpO1xuXHQvLyBvIGNhYmXDp2FsaG8gKC5zY29yZS1ncmlkLWhlYWQpIGZpY2EgZGUgZm9yYS4gYHBvc2l0aW9uOnJlbGF0aXZlYCBhbmNvcmEgbyA6OmFmdGVyIGRvIGNvbnRvcm5vLlxuXHQmOm5vdCguc2NvcmUtZ3JpZC1oZWFkKSAuc2ctcm93ID4gKiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTAwO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQuZGFyay10aGVtZSAmIHsgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrOyB9XG5cblx0XHQvLyBDb250b3JubyBkZSBob3ZlciDigJQgTUVTTUEgdMOpY25pY2EgZGEgdGFiZWxhIHByaW5jaXBhbDogOjphZnRlciBjb20gYm9yZGEgdG9wL2JvdHRvbSBlbVxuXHRcdC8vIHRvZGEgY8OpbHVsYSAobGVmdCBuYSAxwqogLnNnLXJsLCByaWdodCBuYSDDumx0aW1hIC5zZy1yciksIHRyYW5zcGFyZW50ZSBwb3IgcGFkcsOjby5cblx0XHQmOjphZnRlciB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGluc2V0OiAwO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogaW5oZXJpdDtcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdGJvcmRlci10b3A6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHR9XG5cblx0XHQvLyBTZXBhcmFkb3IgZGUgQ09MVU5BICg6OmJlZm9yZSksIGNvbW8gbmEgdGFiZWxhIHByaW5jaXBhbDogbGluaGEgMXB4IMOgIGRpcmVpdGEgZGUgY2FkYVxuXHRcdC8vIGPDqWx1bGEgKG1lbm9zIGEgw7psdGltYSAuc2ctcnIpLiBGaWNhIEFCQUlYTyBkbyA6OmFmdGVyIOKGkiBvIGNvbnRvcm5vIGRlIGhvdmVyIHBhc3NhIHBvciBjaW1hLlxuXHRcdCY6bm90KC5zZy1ycik6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0d2lkdGg6IDFweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRcdC5kYXJrLXRoZW1lICYgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7IH1cblx0XHR9XG5cdFx0Ji5zZy1ybDo6YWZ0ZXIgeyBib3JkZXItbGVmdDogMnB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG5cdFx0Ji5zZy1ycjo6YWZ0ZXIgeyBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXHR9XG5cblx0Ly8gXCJDb2xvcmlyIGxpbmhhcyBjb20gc3RhdHVzXCIgREVTTElHQURPIChhbmNlc3RyYWwgYHRyLm5vLXN0YXR1cy1jb2xvcmApOiBubyB0ZW1hIGNsYXJvIGEgbGluaGFcblx0Ly8gw6kgYnJhbmNhLCBlbnTDo28gYSBtaW5pLXRhYmVsYSBhY29tcGFuaGEg4oCUIGPDqWx1bGFzIGJyYW5jYXMgZW0gdmV6IGRvIGNpbnphIGRlIGNvbnRyYXN0ZS4gRmljYVxuXHQvLyBBTlRFUyBkbyBibG9jbyBkZSBob3ZlciBwcmEgbyBob3ZlciAobWVzbWEgZXNwZWNpZmljaWRhZGUsIG9yZGVtIGRlIGZvbnRlKSBjb250aW51YXIgdmVuY2VuZG8uXG5cdC8vIE5vIGRhcmssIGFzIGxpbmhhcyBcInNlbSBzdGF0dXNcIiBzw6NvIHBsYW5hcyBlc2N1cmFzIOKGkiBtYW50ZW1vcyBvIGZ1bmRvIGVzY3VybyBkYXMgY8OpbHVsYXMuXG5cdC5uby1zdGF0dXMtY29sb3IgJjpub3QoLnNjb3JlLWdyaWQtaGVhZCkgLnNnLXJvdyA+ICoge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0LmRhcmstdGhlbWUgJiB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyazsgfVxuXHR9XG5cblx0Ly8gU29tYnJhIFBPUiBMSU5IQSAobmEgY2FpeGEgLnNnLXJvdyksIG5vcyBRVUFUUk8gbGFkb3Mg4oCUIFNFTVBSRSwgaW5kZXBlbmRlbnRlIGRlIFwiQ29sb3JpciBsaW5oYXNcblx0Ly8gY29tIHN0YXR1c1wiLiBBcMOzcyBvIGZpeCBkbyBwYWRkaW5nLCBhIGNhaXhhIGRhIGxpbmhhID09IGPDqWx1bGFzLCBlbnTDo28gYSBzb21icmEgYWJyYcOnYSBhIGxpbmhhXG5cdC8vIHRhbnRvIGNvbSBDb2xvcmlyIE9GRiAoY8OpbHVsYXMgYnJhbmNhcykgcXVhbnRvIE9OIChjw6lsdWxhcyBjaW56YS9jb2xvcmlkYXMpLCBzZW0gZGVzY29sYXIuXG5cdC8vIERhcms6IGxpbmhhcyBwbGFuYXMg4oaSIHNlbSBzb21icmEgKHNvbWJyYSBlc2N1cmEgc29tZSBubyBmdW5kbyBlc2N1cm8pLlxuXHQmOm5vdCguc2NvcmUtZ3JpZC1oZWFkKSAuc2ctcm93IHtcblx0XHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdFx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XG5cdFx0LmRhcmstdGhlbWUgJiB7IGJveC1zaGFkb3c6IG5vbmU7IH1cblx0fVxuXG5cdC8vIEhPVkVSIGRhIExJTkhBICh2aWEgLnNnLXJvdyBkaXNwbGF5OmNvbnRlbnRzKTogY2xhcmVpYSBhcyBjw6lsdWxhcyArIHJldmVsYSBvIGNvbnRvcm5vXG5cdC8vIGNpbnphIChyZ2JhIC4yNSkg4oCUIG1lc21vIGRlc3RhcXVlIGRhcyBsaW5oYXMgZGEgdGFiZWxhIHByaW5jaXBhbC5cblx0Jjpub3QoLnNjb3JlLWdyaWQtaGVhZCkgLnNnLXJvdzpob3ZlciA+ICoge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRncmF5LTUwO1xuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGJvcmRlci10b3AtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG5cdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuXHRcdH1cblx0XHQmLnNnLXJsOjphZnRlciB7IGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cdFx0Ji5zZy1ycjo6YWZ0ZXIgeyBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cblx0XHQuZGFyay10aGVtZSAmIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyaztcblx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcblx0XHRcdH1cblx0XHRcdCYuc2ctcmw6OmFmdGVyIHsgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7IH1cblx0XHRcdCYuc2ctcnI6OmFmdGVyIHsgYm9yZGVyLXJpZ2h0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpOyB9XG5cdFx0fVxuXHR9XG5cblx0Ly8gYD4gKjpub3QoLnNnLXJvdylgID0gZmlsaG9zIGRpcmV0b3MgZG8gZ3JpZCBRVUUgTsODTyBTw4NPIGxpbmhhIChhcyBwaWxscyBkbyBDQUJFw4dBTEhPKS4gQ29tIG9cblx0Ly8gc3ViZ3JpZCwgYXMgYC5zZy1yb3dgIHPDo28gZmlsaGFzIGRpcmV0YXMgZG8gYC5zY29yZS1ncmlkYDsgc2VtIG8gYDpub3QoLnNnLXJvdylgLCBlc3NlIHBhZGRpbmdcblx0Ly8gY2HDrWEgTkEgTElOSEEsIGRlaXhhbmRvIGEgY2FpeGEgOHB4IG1haXMgbGFyZ2EgcXVlIGFzIGPDqWx1bGFzICg0cHgvbGFkbykg4oaSIGJyYW5jby9zb21icmEgYWzDqW1cblx0Ly8gZGFzIGPDqWx1bGFzIGUgYm9yZGEgZGUgaG92ZXIgXCJwYXJhIGRlbnRyb1wiLiBPIHBhZGRpbmcgcmVhbCBkYXMgY8OpbHVsYXMgdmVtIHBvciBgLnNnLXJvdyA+ICpgLlxuXHQ+ICo6bm90KC5zZy1yb3cpLCAuc2ctcm93ID4gKiB7XG5cdFx0bWluLXdpZHRoOiAwO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nOiAwIDRweDtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyOyAgICAgIC8vIGNvbnRlw7pkbyBjZW50cmFsaXphZG8gbmEgY8OpbHVsYSBlc3RpY2FkYVxuXHR9XG5cblx0Ly8gUmV2aXNvcjogYWxpbmhhZG8gw6AgZXNxdWVyZGEgKMOpIGEgY29sdW5hIFwibGFyZ2FcIi9mbGV4w612ZWwpLlxuXHQuc2ctcmV2aWV3ZXIge1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdH1cblxuXHQvLyBDw6lsdWxhIGRvIHN0YXR1czogZmljYSBjaW56YSAodmlhIGA+ICpgKSBlIGNlbnRyYWxpemEgbyBwaWxsIHBlcXVlbm8gcG9yIGRlbnRyby5cblx0LnNnLXN0YXR1cy1jZWxsIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdH1cblxuXHRhIHsgY29sb3I6IGluaGVyaXQ7IH1cblx0LnNnLWhpZGRlbi1leWUgeyBmb250LXNpemU6IDEycHg7IGRpc3BsYXk6IGlubGluZTsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG5cdC8vIFN0YXR1cyBkZSBjYWRhIHJldmlzw6NvOiBQSUxMIHPDsyBjb20gw61jb25lICh0ZXh0byB2YWkgcHJvIHRvb2x0aXApLiBDb3JlcyA9IG1lc21hcyBkb1xuXHQvLyBjaGlwIGRlIHJldmlzw6NvIChtYXBhICRyZXZpZXctc3RhdHVzOiBiZyBjbGFybyArIGJvcmRhL8OtY29uZSBlc2N1cm9zIHAvIGNvbnRyYXN0ZSksXG5cdC8vIHZpYSBAZWFjaCBsb2NhbCAobyBtaXhpbiByZXZpZXctY2hpcC1jb2xvcnMgdml2ZSBudW0gcGFydGlhbCBuw6NvIGltcG9ydGFkbyBhcXVpKS5cblx0LnNnLXN0YXR1cyB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHQvLyBRdWFkcmFkbzogbGFyZ3VyYSA9IGFsdHVyYSBmaXhhcyAoc2VtIHBhZGRpbmcgaG9yaXpvbnRhbCwgcXVlIGRlaXhhdmEgcmV0YW5ndWxhcikuXG5cdFx0d2lkdGg6IDE2cHg7XG5cdFx0aGVpZ2h0OiAxNnB4O1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXG5cdFx0bWF0LWljb24ge1xuXHRcdFx0Zm9udC1zaXplOiA5cHg7XG5cdFx0XHR3aWR0aDogOXB4O1xuXHRcdFx0aGVpZ2h0OiA5cHg7XG5cdFx0XHRsaW5lLWhlaWdodDogOXB4O1xuXHRcdH1cblxuXHRcdEBlYWNoICRzdGF0dXMsICRjb250ZW50IGluICRyZXZpZXctc3RhdHVzIHtcblx0XHRcdCYuI3skc3RhdHVzfSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4obnRoKCRjb250ZW50LCAxKSwgMjAlKTtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiBkYXJrZW4obnRoKCRjb250ZW50LCAxKSwgNDAlKTtcblx0XHRcdFx0Y29sb3I6IGRhcmtlbihudGgoJGNvbnRlbnQsIDEpLCA0MCUpO1xuXHRcdFx0XHRtYXQtaWNvbiB7IGNvbG9yOiBkYXJrZW4obnRoKCRjb250ZW50LCAxKSwgNDAlKTsgfVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIExpbmhhIGRlIG3DqWRpYXM6IGRlc3RhY2FkYSBzw7MgcGVsbyBwZXNvIGRhIGZvbnRlLiBKw6Egw6kgc2VwYXJhZGEgZGFzIHJldmlzw7VlcyBwZWxvIGdhcFxuXHQvLyBkZSAxcHggdHJhbnNwYXJlbnRlIOKAlCBzZW0gZmlsZXRlL2JvcmRhIChlcmEgcmVzcXXDrWNpbyBkbyBlc3RpbG8gYW50aWdvLCB2aXJhdmEgdW1hXG5cdC8vIGxpbmhhIGVzY3VyYSBwb3IgY8OpbHVsYSkuXG5cdC5zZy1mb290IHtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHR9XG5cblx0Ly8gUsOzdHVsbyBcIkF2Zy5cIiAoMcKqIGPDqWx1bGEgZG8gcm9kYXDDqSk6IGFsaW5oYWRvIMOgIERJUkVJVEEg4oCUIGVuY29zdGEgbm9zIHZhbG9yZXMgZGFzXG5cdC8vIGNvbHVuYXMgZGUgbm90YSwgbW9zdHJhbmRvIG91IG7Do28gYSBjb2x1bmEgUmV2aXNvciAoZWxhIMOpIGFic29ydmlkYSBwb3Igc3Bhbj0yIG5vIEhUTUwpLlxuXHQuc2ctZm9vdC5zZy1ybCB7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdH1cbn1cblxuLy8gQ2FiZcOnYWxobyBkbyBncmlkIChtaWdyYWRvIHByYSBsaW5oYSBkZSB0w610dWxvcyk6IHNlbSBmdW5kbyBicmFuY28gYXRyw6FzIChmaWNhIHNvYnJlIGFcbi8vIGJhcnJhIGRlIHTDrXR1bG9zKSwgZW50w6NvIHVzYSBhIGNvciBkZSB0w610dWxvIHRoZW1lLWF3YXJlIGUgZGVpeGEgb3MgcsOzdHVsb3MgcXVlYnJhcmVtXG4vLyBsaW5oYSAoZW0gdmV6IGRlIGNvcnRhciksIGrDoSBxdWUgYSBjb2x1bmEgw6kgZXN0cmVpdGEuXG4uc2NvcmUtZ3JpZC5zY29yZS1ncmlkLWhlYWQge1xuXHQvLyBCb3R0b20tYWxpbmhhIG9zIHTDrXR1bG9zIGRhcyBjb2x1bmFzIGRlIHJldmlzw6NvIG5hIGJhc2UgZG8gZ3JpZCAocXVlIGrDoSBmaWNhIG5hIGJhc2Vcblx0Ly8gZG8gYHRoYCB2aWEgdmVydGljYWwtYWxpZ246IGJvdHRvbSkg4oaSIHRvZG9zIG9zIHTDrXR1bG9zLCBtZXNtbyBvcyBxdWUgcXVlYnJhbSBlbSB2w6FyaWFzXG5cdC8vIGxpbmhhcywgZW5jb3N0YW0gbmEgYmFzZSBlIGZpY2FtIG5hIE1FU01BIGxpbmhhIGRvcyBkZW1haXMgdMOtdHVsb3MgZGUgY29sdW5hIGRhIHRhYmVsYS5cblx0YWxpZ24taXRlbXM6IGVuZDtcblxuXHQ+ICoge1xuXHRcdGNvbG9yOiAkdGFibGUtaGVhZGVyLWNvbG9yO1xuXHRcdHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cdFx0d29yZC1icmVhazogYnJlYWstd29yZDtcblx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0XHR0ZXh0LW92ZXJmbG93OiBjbGlwO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdH1cblx0LmRhcmstdGhlbWUgJiA+ICogeyBjb2xvcjogJHRhYmxlLWhlYWRlci1jb2xvci1kYXJrOyB9XG5cblx0Ly8gQ2FiZcOnYWxobyBkZSBjcml0w6lyaW86IHPDsyBhIElOSUNJQUwgbnVtIHBpbGwgY2luemEgKGRlc2NyacOnw6NvIGNvbXBsZXRhIG5vIHRvb2x0aXApLFxuXHQvLyBlbSB2ZXogZG8gcsOzdHVsbyBpbnRlaXJvLiBBIGPDqWx1bGEgZG8gZ3JpZCBzw7MgY2VudHJhL2JvdHRvbS1hbGluaGEgbyBwaWxsLlxuXHQuc2ctY3JpdC1oZWFkIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0fVxuXHQuc2ctY3JpdC1waWxsIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdG1pbi13aWR0aDogMS4yNXJlbTtcblx0XHRoZWlnaHQ6IDEuMjVyZW07XG5cdFx0cGFkZGluZzogMCA0cHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRncmF5LTIwMDtcblx0XHRjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRmb250LXNpemU6IDAuNzVyZW07XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdH1cblx0LmRhcmstdGhlbWUgJiAuc2ctY3JpdC1waWxsIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpO1xuXHRcdGNvbG9yOiAkY29udGVudC1jb2xvci1kYXJrO1xuXHR9XG59XG4iLCJAaW1wb3J0ICdjb2xvcnMnO1xuQGltcG9ydCAndmFyaWFibGVzJztcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIERpw6Fsb2dvcyAobWF0LWRpYWxvZylcbi8vXG4vLyBgbXktY3VzdG9tLWRpYWxvZy1jbGFzc2Agw6kgdW0gYHBhbmVsQ2xhc3NgIHVzYWRvIHBvciB2w6FyaW9zIGNvbXBvbmVudGVzXG4vLyAocGFwZXItaW5mbywgZGVsZXRlZC1zdWJtaXNzaW9ucywgcGFwZXItcmV2aWV3LWFjdGlvbnMsIGV2ZW50LXB1YmxpY2F0aW9uLFxuLy8gZGnDoWxvZ29zIGRlIHNlc3PDo28gZGEgVmlzw6NvIGRlIENhbGVuZMOhcmlv4oCmKS4gQSByZWdyYSB2aXZpYSBudW0gYDo6bmctZGVlcGBcbi8vIHNlbSBgOmhvc3RgIGRlbnRybyBkbyBTQ1NTIGRhIFZpc8OjbyBkZSBDYWxlbmTDoXJpbyDigJQgb3Ugc2VqYSwgc8OzIGV4aXN0aWFcbi8vIGVucXVhbnRvIGFxdWVsZSBjb21wb25lbnRlIGVzdGl2ZXNzZSBuYSB0ZWxhLiBDb21vIG8gcGFpbmVsIGRvIGRpw6Fsb2dvIMOpXG4vLyByZW5kZXJpemFkbyBubyBvdmVybGF5IChmb3JhIGRlIHF1YWxxdWVyIGNvbXBvbmVudGUpLCBvIGx1Z2FyIGRlbGEgw6kgYXF1aS5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubXktY3VzdG9tLWRpYWxvZy1jbGFzcyB7XG4gIG1hdC1kaWFsb2ctY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBEacOhbG9nbyBkZSBzZXNzw6NvIChWaXPDo28gZGUgQ2FsZW5kw6FyaW8pOiBmdW5kbyBCUkFOQ08uIE8gY2luemEgY2xhcm8gZG9zXG4vLyBtZW51cyAoYCRzaWRlYmFyLWFkbWluLWJhY2tncm91bmRgKSDDqSBhIGNvciBkbyBQQUlORUwgZGFzIGFiYXMg4oCUIHF1ZSDDqSBvXG4vLyBkZWZhdWx0IGRvIGBhcHAtY2hhaXItdGFic2Ag4oCULCBlbnTDo28gbyBtb2RhbCBwcmVjaXNhIGNvbnRyYXN0YXIgY29tIGVsZS5cbi8vXG4vLyBgcGFuZWxDbGFzc2AgUFLDk1BSSU86IG8gYG15LWN1c3RvbS1kaWFsb2ctY2xhc3NgIMOpIGNvbXBhcnRpbGhhZG8gY29tIG91dHJvc1xuLy8gZGnDoWxvZ29zLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5zZXNzaW9uLWRpYWxvZy1wYW5lbCAubWF0LWRpYWxvZy1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZDtcbn1cblxuLmRhcmstdGhlbWUgLnNlc3Npb24tZGlhbG9nLXBhbmVsIC5tYXQtZGlhbG9nLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDYXJkIGVtIEFSUkFTVEUgbmEgYWJhIFwiU3VibWlzc8O1ZXMgVjJcIiBkbyBkacOhbG9nbyBkZSBzZXNzw6NvLlxuLy9cbi8vIFJlZ3JhIEdMT0JBTCBwb3IgbmVjZXNzaWRhZGU6IG8gQ0RLIGluc2VyZSBvIHByZXZpZXcgbnVtIHBvbnRvIGZvcmEgZG9cbi8vIGNvbXBvbmVudGUgKGBnZXRQcmV2aWV3SW5zZXJ0aW9uUG9pbnRgIOKGkiBib2R5L292ZXJsYXkgY29udGFpbmVyKSwgZW50w6NvXG4vLyBgOmhvc3QgOjpuZy1kZWVwYCBkbyBjb21wb25lbnRlIG7Do28gbyBhbGNhbsOnYS5cbi8vXG4vLyBTZW0gYHRyYW5zZm9ybWAgYXF1aTogbyBDREsgdXNhIGVzc2EgcHJvcHJpZWRhZGUgcGFyYSBwb3NpY2lvbmFyIG8gcHJldmlld1xuLy8gc29iIG8gY3Vyc29yOyBxdWFscXVlciB2YWxvciBub3NzbyBicmlnYXJpYSBjb20gbyBhcnJhc3RlLlxuLy9cbi8vIE8gYHotaW5kZXhgIE7Dg08gw6kgZGVmaW5pZG8gYXF1aTogbyBDREsgbyBlc2NyZXZlIElOTElORSBubyBwcmV2aWV3IChkZWZhdWx0XG4vLyAxMDAwKSwgZSBlc3RpbG8gaW5saW5lIHZlbmNlIHJlZ3JhIGRlIGNsYXNzZS4gTyBhanVzdGUgZXN0w6Egbm8gcHJvdmlkZXJcbi8vIGBDREtfRFJBR19DT05GSUdgIGRvIGNvbXBvbmVudGUgZG8gZGnDoWxvZ28g4oCUIHNlbSBlbGUgbyBjYXJkIGZpY2F2YSBhdHLDoXMgZG9cbi8vIGAuY2RrLW92ZXJsYXktY29udGFpbmVyYCAoZm9yw6dhZG8gYSAyMDEwIGVtIGBfY29sb3Itc2NoZW1lLnNjc3NgKSBlIHN1bWlhXG4vLyBkdXJhbnRlIG8gYXJyYXN0ZS5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBIGdlb21ldHJpYSBlIGEgVElQT0dSQUZJQSBJTlRFUk5BUyBwcmVjaXNhbSBzZXIgcmVzdGF0ZWQgYXF1aTogbyBjbG9uZSBmaWNhXG4vLyBmb3JhIGRvIGVuY2Fwc3VsYW1lbnRvIGRvIGNvbXBvbmVudGUsIGVudMOjbyBhcyByZWdyYXMgYDpob3N0IDo6bmctZGVlcGAgZG9cbi8vIGRpw6Fsb2dvIG7Do28gbyBhbGNhbsOnYW0gKG1lc21hIHNpdHVhw6fDo28gasOhIGRvY3VtZW50YWRhIHBhcmEgbyBwcmV2aWV3IGRvIG1lbnVcbi8vIGxhdGVyYWwgZW0gYF9jb2xvci1zY2hlbWUuc2Nzc2ApLiBTZW0gaXN0bywgdMOtdHVsbyBlIGF1dG9yZXMgc2FlbSBjb2xhZG9zIG51bWFcbi8vIGxpbmhhIHPDsywgc2VtIGEgY29sdW5hIGRvIGAuc3Vicy12Mi1ib2R5YC5cbi5zdWJzLXYyLWl0ZW0uY2RrLWRyYWctcHJldmlldyB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDNweCAwO1xuXG4gIC8vIE8gY2xvbmUgw6kgY3JpYWRvIGEgcGFydGlyIGRvIGNhcmQgc29iIG8gY3Vyc29yIChlbSBob3ZlciksIGVudMOjbyBvIFwieFwiXG4gIC8vIHZpcmlhIHZpc8OtdmVsIOKAlCBkdXJhbnRlIG8gYXJyYXN0ZSBhIGHDp8OjbyDDqSByZW9yZGVuYXIsIG7Do28gcmVtb3Zlci5cbiAgLnN1YnMtdjItcmVtb3ZlIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gIC5zdWJzLXYyLWNhcmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDhweDtcbiAgICBwYWRkaW5nOiA2cHggOHB4O1xuXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kO1xuICAgIC8vIEVsZXZhw6fDo28gbWFpb3IgcXVlIGEgZG8gY2FyZCBlbSByZXBvdXNvIOKAlCBvIGNhcmQgXCJkZXNjb2xhXCIgZGEgbGlzdGEuXG4gICAgYm94LXNoYWRvdzogMCA4cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgb3BhY2l0eTogMC45NztcbiAgfVxuXG4gIC8vIEZhbcOtbGlhIGhlcmRhZGEgZG8gPGJvZHk+IChHZWlzdCkg4oCUIG7Do28gZml4YW1vcyBhcXVpIHBvcnF1ZSBgJGZvbnQtZmFtaWx5YFxuICAvLyBtb3JhIGVtIGBfdGhlbWUuc2Nzc2AsIHF1ZSBlbWl0ZSB1bSB0ZW1hIE1hdGVyaWFsIGludGVpcm8gc2UgaW1wb3J0YWRvLlxuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcblxuICAuc3Vicy12Mi1vcmRlciB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMThweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB9XG5cbiAgLnN1YnMtdjItYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMnB4O1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC5zdWJzLXYyLXRpdGxlLFxuICAuc3Vicy12Mi1hdXRob3JzIHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICB9XG5cbiAgLnN1YnMtdjItdGl0bGUgeyBmb250LXdlaWdodDogNTAwOyB9XG5cbiAgLnN1YnMtdjItYXV0aG9ycyB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MzA7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgfVxufVxuXG4uZGFyay10aGVtZSAuc3Vicy12Mi1pdGVtLmNkay1kcmFnLXByZXZpZXcge1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcblxuICAuc3Vicy12Mi1jYXJkIHtcbiAgICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yLWRhcms7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuNTUpO1xuICB9XG5cbiAgLnN1YnMtdjItb3JkZXIsXG4gIC5zdWJzLXYyLWF1dGhvcnMgeyBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG59XG4iLCJAaW1wb3J0ICdjb2xvcnMnO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ29ubmVjdGVkIGJ1dHRvbiBncm91cCAoc2VnbWVudGVkKSDigJQgR0xPQkFMXG4vL1xuLy8gRm9udGUgw5pOSUNBIGRvIGVzdGlsbyBkYSBww61sdWxhLiBBbnRlcyBleGlzdGlhbSBxdWF0cm8gY8OzcGlhcyBwcmF0aWNhbWVudGVcbi8vIGlkw6pudGljYXM6IGBhZG1pbi1ldmVudHMtc2VnYCAoYWRtaW4vZXZlbnRzKSwgYG5vdGlmLXNjb3BlYFxuLy8gKG5vdGlmaWNhdGlvbnMtY2VudGVyKSwgYC5zZWdgIChhcHAtc2VnbWVudGVkLWNvbnRyb2wpIGUgbyBncnVwbyBkZSBuYXZlZ2HDp8Ojb1xuLy8gZGEgVmlzw6NvIGRlIENhbGVuZMOhcmlvLiBWZXIgW1tmZWVkYmFja19zZWdtZW50ZWRfbm90X3N3aXRjaF1dLlxuLy9cbi8vIFVzbzpcbi8vICAgPGRpdiBjbGFzcz1cInNlZ1wiIHJvbGU9XCJncm91cFwiPlxuLy8gICAgIDxidXR0b24gY2xhc3M9XCJzZWctYnRuXCIgW2NsYXNzLmlzLWFjdGl2ZV09XCLigKZcIj7igKY8L2J1dHRvbj5cbi8vICAgPC9kaXY+XG4vL1xuLy8gYGlzLWFjdGl2ZWAgw6kgc8OzIHBhcmEgU0VMRcOHw4NPIGVudHJlIG9ww6fDtWVzIGV4Y2x1ZGVudGVzLiBHcnVwb3MgZGUgQcOHw4NPXG4vLyAoZXguOiBBbnRlcmlvci9Ib2plL1Byw7N4aW1vKSB1c2FtIGFzIG1lc21hcyBjbGFzc2VzIHNlbSBgaXMtYWN0aXZlYC5cbi8vXG4vLyBTZW0gYHRyYW5zaXRpb25gOiBob3ZlciBubyBKRU1TMyDDqSBpbnN0YW50w6JuZW8gKHZlciBgZmVlZGJhY2tfbm9faG92ZXJfdHJhbnNpdGlvbmApLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5zZWcge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHBhZGRpbmc6IDJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnNlZy1idG4ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNDMwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiAgcGFkZGluZzogMCAxNHB4O1xuICBoZWlnaHQ6IDI4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICY6aG92ZXI6bm90KC5pcy1hY3RpdmUpIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDQ1KTtcbiAgfVxuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBvcGFjaXR5OiAwLjY7XG4gIH1cbn1cblxuLy8gVmFyaWFudGUgw41DT05FOiBzZWdtZW50byBjb20gdW0gZ2xpZm8gKE1hdGVyaWFsIFN5bWJvbCBvdSBTVkcpIG5vIGx1Z2FyIGRvIHRleHRvLlxuLy8gTUFJUyBDT01QQUNUQSBxdWUgYSB2YXJpYW50ZS10ZXh0byDigJQgbyDDrWNvbmUgKDE4cHgpIG7Do28gcHJlY2lzYSBkYSBtZXNtYSBmb2xnYVxuLy8gcXVlIHVtYSBwYWxhdnJhOiBhbHR1cmEgMjQgKHZzIDI4KSBlIHBhZGRpbmcgbGF0ZXJhbCA3ICh2cyAxMCkgZW54dWdhbSBvIGVzcGHDp29cbi8vIEFPIFJFRE9SIGRvIMOtY29uZSBzZW0gdG9jYXIgbm8gdGFtYW5obyBkZWxlLiBPIMOtY29uZSBoZXJkYSBhIGNvciBkbyBib3TDo29cbi8vIChpbmNsdWkgbyByZWFsY2UgZGUgYC5pcy1hY3RpdmVgKS4gw5puaWNvIHRvZ2dsZS3DrWNvbmUgZG8gYXBwIMOpIG8gZGUgbGF5b3V0IGRhc1xuLy8gcmV2aXPDtWVzLCBlbnTDo28gYSBjb21wYWN0YcOnw6NvIG7Do28gYWZldGEgb3MgdG9nZ2xlcyBkZSB0ZXh0by5cbi5zZWctYnRuLS1pY29uIHtcbiAgaGVpZ2h0OiAyNHB4O1xuICBwYWRkaW5nOiAwIDdweDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIC5tYXQtaWNvbiB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4uZGFyay10aGVtZSB7XG4gIC5zZWcge1xuICAgIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyaztcbiAgfVxuXG4gIC5zZWctYnRuIHtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcblxuICAgICY6aG92ZXI6bm90KC5pcy1hY3RpdmUpIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNik7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrO1xuICAgICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrO1xuICAgIH1cbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVmFyaWFudGUgREVTTElaQU5URSAob3B0LWluIHZpYSBgLnNlZy5pcy1zbGlkaW5nYCArIGA8c3BhbiBjbGFzcz1cInNlZy10aHVtYlwiPmApLlxuLy9cbi8vIEVtIHZleiBkZSBvIGZ1bmRvIHNhbHRhciBlbnRyZSBzZWdtZW50b3MsIHVtIMOaTklDTyB0aHVtYiBjaW56YSBkZXNsaXphIOKAlCBvXG4vLyBzZWdtZW50byBhdGl2byBuw6NvIHBpbnRhIG8gcHLDs3ByaW8gZnVuZG8sIHF1ZW0gcGludGEgw6kgbyB0aHVtYiAodHJhbnNpw6fDo28gc8OzXG4vLyBubyBgdHJhbnNmb3JtYCwgZW50w6NvIMOpIG8gw7puaWNvIG1vdmltZW50bzsgaG92ZXIgY29udGludWEgaW5zdGFudMOibmVvKS5cbi8vIEEgZ2VvbWV0cmlhIHZlbSBkbyB0ZW1wbGF0ZTogbGFyZ3VyYSA9IDEgc2VnbWVudG8sIGB0cmFuc2xhdGVYKDEwMCUgw5cgw61uZGljZSlgLlxuLy8gQXNzdW1lIHNlZ21lbnRvcyBkZSBsYXJndXJhIGlndWFsICh1c28gYXR1YWw6IHRvZ2dsZSBkZSBsYXlvdXQgZGFzIHJldmlzw7Vlcyxcbi8vIHPDsyDDrWNvbmVzKS4gVmVyIFtbZmVlZGJhY2tfc2VnbWVudGVkX25vdF9zd2l0Y2hdXSDigJQgbyBwYWRyw6NvIHNlZ3VlIGluc3RhbnTDom5lby5cbi8vXG4vLyBDb2xvY2FkbyBERVBPSVMgZG8gYmxvY28gYC5kYXJrLXRoZW1lYCBkZSBwcm9ww7NzaXRvOiBgLnNlZy5pcy1zbGlkaW5nXG4vLyAuc2VnLWJ0bi5pcy1hY3RpdmVgIGVtcGF0YSBlbSBlc3BlY2lmaWNpZGFkZSBjb20gYC5kYXJrLXRoZW1lIC5zZWctYnRuLmlzLWFjdGl2ZWAsXG4vLyBlbnTDo28gYSBvcmRlbSBkZSBvcmlnZW0gw6kgcXVlIGRlY2lkZSBvIGZ1bmRvIHRyYW5zcGFyZW50ZSBub3MgZG9pcyB0ZW1hcy5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uc2VnLmlzLXNsaWRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gw41jb25lcyBhY2ltYSBkbyB0aHVtYjsgbyBhdGl2byBkZWl4YSBvIHRodW1iIHNlciBvIGZ1bmRvLlxuICAuc2VnLWJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbiAgLnNlZy1idG4uaXMtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuICAvLyBTZW0gcmVhbGNlIGRlIGZ1bmRvIG5vIGhvdmVyOiBvIMO6bmljbyBmZWVkYmFjayDDqSBvIHRodW1iIGRlc2xpemFuZG8uXG4gIC8vICgwLDQsMCkgZSBkZXBvaXMgZG8gYmxvY28gYC5kYXJrLXRoZW1lYCDihpIgdmVuY2UgYSByZWdyYSBkZSBob3ZlciBnbG9iYWxcbiAgLy8gbm9zIGRvaXMgdGVtYXMuXG4gIC5zZWctYnRuOmhvdmVyOm5vdCguaXMtYWN0aXZlKSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLnNlZy10aHVtYiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAycHg7XG4gIGJvdHRvbTogMnB4O1xuICBsZWZ0OiAycHg7XG4gIHotaW5kZXg6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgJGVhc2Utb3V0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmRhcmstdGhlbWUgLnNlZy10aHVtYiB7XG4gIGJhY2tncm91bmQ6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyaztcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnNlZy10aHVtYiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuIiwiQGltcG9ydCAnY29sb3JzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDSElQIGRlIHN0YXR1cyBkYSBTVUJNSVNTw4NPIOKAlCBkZWZpbmnDp8OjbyDDum5pY2EuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFVzYWRvIGVtOlxuLy8gICAtIEZpbHRybyBkZSBzdGF0dXMgbm8gcGFpbmVsIGRlIE1pbmhhcyBzdWJtaXNzw7Vlc1xuLy8gICAgIChgc3VibWlzc2lvbnMuY29tcG9uZW50LnNjc3MgPiBsYWJlbCBzcGFuYClcbi8vICAgLSBQw61sdWxhIGRlIHN0YXR1cyBkYSBzdWJtaXNzw6NvIG5vIG5vdm8gY2FyZCBkZSBNaW5oYXMgc3VibWlzc8O1ZXNcbi8vICAgICAoYHN1Ym1pc3Npb25zLmNvbXBvbmVudC5zY3NzID4gLnNuYy1zdGF0dXNgKVxuLy9cbi8vIE8gY2hpcCBkZSBSRVZJU8ODTyAocmFkaXVzIDNweCwgbGlnaHRlbi9kYXJrZW4pIHRlbSBpZGVudGlkYWRlIHZpc3VhbFxuLy8gZGlzdGludGEgZSBmaWNhIGVtIGByZXZpZXdzLmNvbXBvbmVudC5zY3NzYCDigJQgTsODTyBtaWdyYXIgcHJhIGPDoS5cblxuLy8gLS0tLSBUb2tlbnMgZ2VvbcOpdHJpY29zIC8gdGlwb2dyw6FmaWNvcyAtLS0tXG4kc3VibWlzc2lvbi1jaGlwLXdpZHRoOiAgICAgICAgIDk2cHg7ICAgLy8gZXJhIDEwNHB4IOKAlCBmb2xnYSByZWR1emlkYSAow61jb25lIE1hdGVyaWFsIG1haXMganVzdG8pXG4kc3VibWlzc2lvbi1jaGlwLWhlaWdodDogICAgICAgIDIycHg7ICAgLy8gZXJhIDIwcHgg4oCUICtyZXNwaXJvIHAvIG8gdHJpZ2dlciBjbGljw6F2ZWwgZSBvIMOtY29uZSBwcmVlbmNoaWRvXG4kc3VibWlzc2lvbi1jaGlwLXJhZGl1czogICAgICAgIDk5OXB4O1xuJHN1Ym1pc3Npb24tY2hpcC1wYWRkaW5nOiAgICAgICAwIDhweDsgIC8vIGVyYSAwIDEwcHhcbiRzdWJtaXNzaW9uLWNoaXAtZ2FwOiAgICAgICAgICAgNXB4O1xuJHN1Ym1pc3Npb24tY2hpcC1mb250LXNpemU6ICAgICAxMXB4O1xuJHN1Ym1pc3Npb24tY2hpcC1mb250LXdlaWdodDogICA1MDA7XG4kc3VibWlzc2lvbi1jaGlwLWljb24tc2l6ZTogICAgIDEzcHg7XG4kc3VibWlzc2lvbi1jaGlwLXNoYWRvdzogICAgICAgIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNTUpOyAvLyBvZmZzZXQteCAxcHjihpIwOiBzb21icmEgMXB4IMOgIGVzcXVlcmRhXG5cbi8vIFJlbGV2byBcImVtYm9zc2VkXCIgdmlhIElOU0VUIFNIQURPV1MgKG7Do28gYm9yZGVycyAxcHggZW0gNCBsYWRvcykuIE9cbi8vIGFwcHJvYWNoIGFudGVyaW9yIOKAlCBib3JkZXItdG9wLy1sZWZ0IGNsYXJhcyArIGJvcmRlci1yaWdodC8tYm90dG9tXG4vLyBlc2N1cmFzIOKAlCBwcm9kdXppYSB1bWEgZW1lbmRhIGRpYWdvbmFsIGR1cmEgbm9zIGNhbnRvcyAoam9pbiBtaXRlciBkb1xuLy8gQ1NTKS4gSW5zZXQgc2hhZG93cyBjb20gcGVxdWVubyBgYmx1cmAgZGlzdHJpYnVlbSBhIGx1ei9zb21icmEgcG9yXG4vLyBhbGd1bnMgcGl4ZWxzLCBlIGFzIGR1YXMgY2FtYWRhcyBzZSBhdGVudWFtIG11dHVhbWVudGUgbm9zIGNhbnRvczpcbi8vIG8gZW5jb250cm8gZW50cmUgXCJsdXogZG8gdG9wby1lc3F1ZXJkYVwiIGUgXCJzb21icmEgZG8gaW5mZXJpb3ItZGlyZWl0YVwiXG4vLyB2aXJhIHVtYSB0cmFuc2nDp8OjbyBzdWF2ZSwgcmVzcGVpdGFuZG8gbyBib3JkZXItcmFkaXVzLlxuLy9cbi8vIENhbWFkYXM6XG4vLyAgIOKAoiBpbnNldCAgK3ggK3kg4oCUIGx1eiB2aW5kbyBkbyB0b3BvLWVzcXVlcmRhXG4vLyAgIOKAoiBpbnNldCAgLXggLXkg4oCUIHNvbWJyYSB2aW5kbyBkbyBpbmZlcmlvci1kaXJlaXRhXG4vLyBPIGBibHVyIOKJiCAwLjc1cHhgIMOpIG8gbcOtbmltbyBxdWUgcHJvZHV6IG8gZmFkZSBub3MgY2FudG9zIHNlbSBcInZhemFyXCJcbi8vIHBybyBtaW9sbyBkbyBjaGlwIChxdWUgw6kgY29yIGNoZWlhKS5cbiRzdWJtaXNzaW9uLWNoaXAtcmVsaWVmOlxuICAgIGluc2V0ICAxcHggIDFweCAwLjc1cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KSxcbiAgICBpbnNldCAtMXB4IC0xcHggMC43NXB4IHJnYmEoMCwgMCwgMCwgMC4yMCk7XG5cbi8vIC0tLS0gTWl4aW46IGdlb21ldHJpYSBkbyBwaWxsIC0tLS1cbi8vIGAkaW1wb3J0YW50YDogdHJ1ZSDihpIgYWRpY2lvbmEgYCFpbXBvcnRhbnRgIGVtIGNhZGEgcHJvcCAobmVjZXNzw6FyaW8gbm9cbi8vIGZpbHRybyBwcmEgc29icmVzY3JldmVyIGRlZmF1bHRzIGRvIE1hdGVyaWFsL0J1bG1hOyBmYWxzbyBwb3IgZGVmYXVsdFxuLy8gcHJvIHVzbyBmb3JhIGRvIGZpbHRybykuXG5AbWl4aW4gc3VibWlzc2lvbi1jaGlwLWdlb21ldHJ5KCRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gICAgQGlmICRpbXBvcnRhbnQge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAkc3VibWlzc2lvbi1jaGlwLWdhcDtcbiAgICAgICAgd2lkdGg6ICRzdWJtaXNzaW9uLWNoaXAtd2lkdGggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogJHN1Ym1pc3Npb24tY2hpcC13aWR0aCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6ICRzdWJtaXNzaW9uLWNoaXAtaGVpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6ICRzdWJtaXNzaW9uLWNoaXAtcGFkZGluZyAhaW1wb3J0YW50O1xuICAgICAgICAvLyBTZW0gYm9yZGVyIDFweCBlbSA0IGxhZG9zIOKAlCBvIHJlbGV2byB2ZW0gZG9zIGluc2V0IHNoYWRvd3MgYWJhaXhvXG4gICAgICAgIC8vICh0cmFuc2nDp8OjbyBzdWF2ZSBub3MgY2FudG9zOyB2ZXIgY29tZW50w6FyaW8gbm8gdG9rZW4gZG8gcmVsaWVmKS5cbiAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzdWJtaXNzaW9uLWNoaXAtcmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6ICRzdWJtaXNzaW9uLWNoaXAtcmVsaWVmLCAkc3VibWlzc2lvbi1jaGlwLXNoYWRvdyAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6ICRzdWJtaXNzaW9uLWNoaXAtZm9udC1zaXplICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkc3VibWlzc2lvbi1jaGlwLWZvbnQtd2VpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6ICRzdWJtaXNzaW9uLWNoaXAtZ2FwO1xuICAgICAgICB3aWR0aDogJHN1Ym1pc3Npb24tY2hpcC13aWR0aDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBtYXgtd2lkdGg6ICRzdWJtaXNzaW9uLWNoaXAtd2lkdGg7XG4gICAgICAgIGhlaWdodDogJHN1Ym1pc3Npb24tY2hpcC1oZWlnaHQ7XG4gICAgICAgIHBhZGRpbmc6ICRzdWJtaXNzaW9uLWNoaXAtcGFkZGluZztcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc3VibWlzc2lvbi1jaGlwLXJhZGl1cztcbiAgICAgICAgYm94LXNoYWRvdzogJHN1Ym1pc3Npb24tY2hpcC1yZWxpZWYsICRzdWJtaXNzaW9uLWNoaXAtc2hhZG93O1xuICAgICAgICBmb250LXNpemU6ICRzdWJtaXNzaW9uLWNoaXAtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJHN1Ym1pc3Npb24tY2hpcC1mb250LXdlaWdodDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cbn1cblxuLy8gLS0tLSBNaXhpbjogw61jb25lIGludGVybm8gKE1hdGVyaWFsIGZvbnQgaWNvbikgLS0tLVxuLy8gT3Mgw61jb25lcyBkZSBzdGF0dXMgc8OjbyBNYXRlcmlhbCBTeW1ib2xzIFBSRUVOQ0hJRE9TIChGSUxMIDEpIOKAlCBjb21iaW5hbSBjb20gb1xuLy8gdmlzdWFsIHPDs2xpZG8gZG8gY2hpcC4gQSBmb250ZSDDqSB2YXJpw6F2ZWwgZW0gRklMTCAwLi4xICh2ZXIgX2ZvbnRzLWxvY2FsLnNjc3MpLlxuQG1peGluIHN1Ym1pc3Npb24tY2hpcC1pY29uKCRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gICAgQGlmICRpbXBvcnRhbnQge1xuICAgICAgICBmb250LXNpemU6ICRzdWJtaXNzaW9uLWNoaXAtaWNvbi1zaXplICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAkc3VibWlzc2lvbi1jaGlwLWljb24tc2l6ZSAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6ICRzdWJtaXNzaW9uLWNoaXAtaWNvbi1zaXplICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkc3VibWlzc2lvbi1jaGlwLWljb24tc2l6ZSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDQwMCwgJ0ZJTEwnIDEgIWltcG9ydGFudDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHN1Ym1pc3Npb24tY2hpcC1pY29uLXNpemU7XG4gICAgICAgIHdpZHRoOiAkc3VibWlzc2lvbi1jaGlwLWljb24tc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkc3VibWlzc2lvbi1jaGlwLWljb24tc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRzdWJtaXNzaW9uLWNoaXAtaWNvbi1zaXplO1xuICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDQwMCwgJ0ZJTEwnIDE7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDSElQIGRlIHN0YXR1cyBkYSBSRVZJU8ODTyDigJQgZ2VvbWV0cmlhIGUgY29yZXMgdmlhIG1peGlucy5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVXNhZG8gZW06XG4vLyAgIC0gRmlsdHJvIGRlIHN0YXR1cyBubyBwYWluZWwgZGUgTWluaGFzIHJldmlzw7VlcyAoYHJldmlld3MuY29tcG9uZW50LnNjc3Ncbi8vICAgICA+IGxhYmVsIHNwYW5gIGRlbnRybyBkYSBzZcOnw6NvIGRlIHJldmlzw6NvKS5cbi8vICAgLSBQaWxsIGAuY3YtZWItc3RhdHVzYCAoZSB2YXJpYW50ZSBgLmN2LWViLXN0YXR1cy1pY29uLW9ubHlgKSBubyBub3ZvXG4vLyAgICAgY2FyZCBkZSBNaW5oYXMgcmV2aXPDtWVzLlxuLy9cbi8vIERpZmVyZW7Dp2FzIHZzIHN1Ym1pc3Npb24tY2hpcDpcbi8vICAgLSBSZXTDom5ndWxvIGFycmVkb25kYWRvIChyYWRpdXMgM3B4KSwgbsOjbyBwaWxsIHBsZW5vICg5OTlweCkuXG4vLyAgIC0gQ29yZXMgZGVyaXZhZGFzIChsaWdodGVuL2RhcmtlbikgZW0gdmV6IGRlIGNvciBjaGVpYS5cbi8vICAgLSBCb3JkZXIgZXhwbMOtY2l0byAoMXB4KSDigJQgc3VibWlzc8OjbyB1c2EgYm9yZGVyOiAwLlxuXG4kcmV2aWV3LWNoaXAtd2lkdGg6ICAgICAgICAgMTQ0cHg7XG4kcmV2aWV3LWNoaXAtaGVpZ2h0OiAgICAgICAgMjBweDtcbiRyZXZpZXctY2hpcC1yYWRpdXM6ICAgICAgICAzcHg7XG4kcmV2aWV3LWNoaXAtcGFkZGluZzogICAgICAgMCAxMHB4O1xuJHJldmlldy1jaGlwLWdhcDogICAgICAgICAgIDVweDtcbiRyZXZpZXctY2hpcC1mb250LXNpemU6ICAgICAxMXB4O1xuJHJldmlldy1jaGlwLWZvbnQtd2VpZ2h0OiAgIDUwMDtcbiRyZXZpZXctY2hpcC1pY29uLXNpemU6ICAgICAxM3B4O1xuXG4vLyAtLS0tIE1peGluOiBnZW9tZXRyaWEgZG8gY2hpcCByZXRhbmd1bGFyIGRlIHJldmlzw6NvIC0tLS1cbkBtaXhpbiByZXZpZXctY2hpcC1nZW9tZXRyeSgkaW1wb3J0YW50OiBmYWxzZSkge1xuICAgIEBpZiAkaW1wb3J0YW50IHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogJHJldmlldy1jaGlwLWdhcDtcbiAgICAgICAgd2lkdGg6ICRyZXZpZXctY2hpcC13aWR0aCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAkcmV2aWV3LWNoaXAtd2lkdGggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAkcmV2aWV3LWNoaXAtaGVpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6ICRyZXZpZXctY2hpcC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRyZXZpZXctY2hpcC1yYWRpdXMgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAkcmV2aWV3LWNoaXAtZm9udC1zaXplICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcmV2aWV3LWNoaXAtZm9udC13ZWlnaHQgIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdhcDogJHJldmlldy1jaGlwLWdhcDtcbiAgICAgICAgd2lkdGg6ICRyZXZpZXctY2hpcC13aWR0aDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBtYXgtd2lkdGg6ICRyZXZpZXctY2hpcC13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkcmV2aWV3LWNoaXAtaGVpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAkcmV2aWV3LWNoaXAtcGFkZGluZztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHJldmlldy1jaGlwLXJhZGl1cztcbiAgICAgICAgZm9udC1zaXplOiAkcmV2aWV3LWNoaXAtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJHJldmlldy1jaGlwLWZvbnQtd2VpZ2h0O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxufVxuXG4vLyAtLS0tIE1peGluOiDDrWNvbmUgaW50ZXJubyAoTWF0ZXJpYWwgZm9udCBpY29uKSAtLS0tXG5AbWl4aW4gcmV2aWV3LWNoaXAtaWNvbigkaW1wb3J0YW50OiBmYWxzZSkge1xuICAgIEBpZiAkaW1wb3J0YW50IHtcbiAgICAgICAgZm9udC1zaXplOiAkcmV2aWV3LWNoaXAtaWNvbi1zaXplICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAkcmV2aWV3LWNoaXAtaWNvbi1zaXplICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogJHJldmlldy1jaGlwLWljb24tc2l6ZSAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogJHJldmlldy1jaGlwLWljb24tc2l6ZSAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgZm9udC1zaXplOiAkcmV2aWV3LWNoaXAtaWNvbi1zaXplO1xuICAgICAgICB3aWR0aDogJHJldmlldy1jaGlwLWljb24tc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkcmV2aWV3LWNoaXAtaWNvbi1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJHJldmlldy1jaGlwLWljb24tc2l6ZTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxufVxuXG4vLyAtLS0tIE1peGluOiBjb3JlcyBwZXItc3RhdHVzIChyZXZpc8OjbykgLS0tLVxuLy8gYmcgPSBsaWdodGVuKG50aCgxKSwgMjAlKSwgYm9yZGVyL3RleHRvID0gZGFya2VuKG50aCgxKSwgNDAlKSDigJQgNDAlXG4vLyBnYXJhbnRlIGNvbnRyYXN0ZSBXQ0FHIDQuNToxIG1lc21vIGVtIGNoaXBzIGNsYXJvcyAoYW1hcmVsby9jaW56YSkuXG5AbWl4aW4gcmV2aWV3LWNoaXAtY29sb3JzKCRzdGF0dXMtbGlzdCwgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgICBAZWFjaCAkc3RhdHVzLCAkY29udGVudCBpbiAkc3RhdHVzLWxpc3Qge1xuICAgICAgICBAaWYgJGltcG9ydGFudCB7XG4gICAgICAgICAgICAmLiN7JHN0YXR1c30ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4obnRoKCRjb250ZW50LCAxKSwgMjAlKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtlbihudGgoJGNvbnRlbnQsIDEpLCA0MCUpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IGRhcmtlbihudGgoJGNvbnRlbnQsIDEpLCA0MCUpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJi4jeyRzdGF0dXN9IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKG50aCgkY29udGVudCwgMSksIDIwJSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgZGFya2VuKG50aCgkY29udGVudCwgMSksIDQwJSk7XG4gICAgICAgICAgICAgICAgY29sb3I6IGRhcmtlbihudGgoJGNvbnRlbnQsIDEpLCA0MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIChTVUJNSVNTSU9OKSBNaXhpbjogY29yZXMgcGVyLXN0YXR1cyDigJQgY29yIGNoZWlhIChiZz1udGgxKS5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gYmcgPSBudGgoMSkgKGNvciBjaGVpYSksIHRleHRvID0gbnRoKDIpLCDDrWNvbmUgPSBudGgoMykuXG4vLyBFc3BlcmEgc2VyIGNoYW1hZG8gREVOVFJPIGRlIHVtIHNlbGV0b3IgKGdlcmEgYCYucGVuZGluZ2AsIGV0Yy4pLlxuQG1peGluIHN1Ym1pc3Npb24tY2hpcC1jb2xvcnMoJHN0YXR1cy1saXN0LCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAgIEBlYWNoICRzdGF0dXMsICRjb250ZW50IGluICRzdGF0dXMtbGlzdCB7XG4gICAgICAgIEBpZiAkaW1wb3J0YW50IHtcbiAgICAgICAgICAgICYuI3skc3RhdHVzfSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI3tudGgoJGNvbnRlbnQsIDEpfSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAje250aCgkY29udGVudCwgMil9ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBgLmljb25gIGNvYnJlIG8gw61jb25lLWdsaWZvIGRvIG5vdm8gc2VsZXRvciAoc3Bhbi5pY29uKTsgYC5tYXQtaWNvbmAgbyBkbyBhdHVhbC5cbiAgICAgICAgICAgICYuI3skc3RhdHVzfSAubWF0LWljb24sXG4gICAgICAgICAgICAmLiN7JHN0YXR1c30gLmljb24ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAje250aCgkY29udGVudCwgMyl9ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJi4jeyRzdGF0dXN9IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBudGgoJGNvbnRlbnQsIDEpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBudGgoJGNvbnRlbnQsIDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi4jeyRzdGF0dXN9IC5tYXQtaWNvbixcbiAgICAgICAgICAgICYuI3skc3RhdHVzfSAuaWNvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG50aCgkY29udGVudCwgMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDTEFTU0VTIFVUSUxJVMOBUklBUyBHTE9CQUlTIOKAlCBjaGlwIGRlIHN0YXR1cyBwcm9udG8gcHJhIHVzb1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBcGxpcXVlIGRpcmV0byBubyBtYXJrdXAgKHNlbSBwcmVjaXNhciBgQGluY2x1ZGVgIG5vIFNDU1MgbG9jYWwgZG9cbi8vIGNvbXBvbmVudGUpLiBTdWJzdGl0dWkgbyBwYWRyw6NvIGFudGlnbyBgLnNuYy1zdGF0dXNgIC8gYC5jdi1lYi1zdGF0dXNgXG4vLyBxdWUgdGluaGEgcXVlIHNlciByZWRlY2xhcmFkbyBlbSBjYWRhIGNhcmQuXG4vL1xuLy8gVXNvOlxuLy8gICA8c3BhbiBjbGFzcz1cImplbXMzLXN1Ym1pc3Npb24tc3RhdHVzIHBlbmRpbmdcIj5cbi8vICAgICA8bWF0LWljb24+Li4uPC9tYXQtaWNvbj4gUGVuZGVudGVcbi8vICAgPC9zcGFuPlxuLy9cbi8vIFZhcmlhbnRlIGNpcmN1bGFyICgyMsOXMjIpIHByYSBtb3N0cmFyIHPDsyBvIMOtY29uZSBkbyBzdGF0dXM6XG4vLyAgIDxzcGFuIGNsYXNzPVwiamVtczMtc3VibWlzc2lvbi1zdGF0dXMgamVtczMtc3VibWlzc2lvbi1zdGF0dXMtLWljb24tb25seSBwZW5kaW5nXCI+XG4vLyAgICAgPG1hdC1pY29uPi4uLjwvbWF0LWljb24+XG4vLyAgIDwvc3Bhbj5cbi8vXG4vLyBgYm9yZGVyLXJhZGl1czo5OTlweGAgaGVyZGFkbyBkbyBtaXhpbiBnYXJhbnRlIGPDrXJjdWxvIHBlcmZlaXRvIHF1YW5kb1xuLy8gd2lkdGg9aGVpZ2h0PTIycHguXG5cbi5qZW1zMy1zdWJtaXNzaW9uLXN0YXR1cyB7XG4gICAgQGluY2x1ZGUgc3VibWlzc2lvbi1jaGlwLWdlb21ldHJ5KCk7XG4gICAgbWF0LWljb24geyBAaW5jbHVkZSBzdWJtaXNzaW9uLWNoaXAtaWNvbigpOyB9XG4gICAgQGluY2x1ZGUgc3VibWlzc2lvbi1jaGlwLWNvbG9ycygkc3VibWlzc2lvbi1zdGF0dXMpO1xuXG4gICAgJi0taWNvbi1vbmx5IHtcbiAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgIG1pbi13aWR0aDogMjJweDtcbiAgICAgICAgbWF4LXdpZHRoOiAyMnB4O1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGdhcDogMDtcblxuICAgICAgICBtYXQtaWNvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBBbsOhbG9nYSBwYXJhIHN0YXR1cyBkYSBSRVZJU8ODTyDigJQgcmV0w6JuZ3VsbyBhcnJlZG9uZGFkbyAzcHggY29tIGNvcmVzXG4vLyBkZXJpdmFkYXMgKGxpZ2h0ZW4vZGFya2VuIGRhIHBhbGV0YSAkcmV2aWV3LXN0YXR1cykuXG4uamVtczMtcmV2aWV3LXN0YXR1cyB7XG4gICAgQGluY2x1ZGUgcmV2aWV3LWNoaXAtZ2VvbWV0cnkoKTtcbiAgICBtYXQtaWNvbiB7IEBpbmNsdWRlIHJldmlldy1jaGlwLWljb24oKTsgfVxuICAgIEBpbmNsdWRlIHJldmlldy1jaGlwLWNvbG9ycygkcmV2aWV3LXN0YXR1cyk7XG5cbiAgICAmLS1pY29uLW9ubHkge1xuICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgbWluLXdpZHRoOiAyMnB4O1xuICAgICAgICBtYXgtd2lkdGg6IDIycHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZ2FwOiAwO1xuXG4gICAgICAgIG1hdC1pY29uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb2xvcnMnO1xuQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ21peGlucyc7XG5AaW1wb3J0ICd6LWluZGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RhdHVzLWNoaXAnOyAgLy8gbWl4aW5zIHN1Ym1pc3Npb24tY2hpcC1nZW9tZXRyeS9jb2xvcnMvaWNvbiAoZmlsdHJvIGRlIHN0YXR1cyBlbSBjaGlwcylcblxuLy8gQ29yIGRlIGxpbmsgZG8gc2lzdGVtYSAobGlnaHQsICRhY2NlbnQtYmFja2dyb3VuZCkgZXhwb3N0YSBjb21vIENTUyBjdXN0b20gcHJvcGVydHkuXG4vLyBTZXJ2ZSBwcm8gSFRNTCBleHBvcnRhZG8gZGEgTGlzdGEgZGUgc3VibWlzc8O1ZXMgSEVSREFSIGEgY29yIGRlIGxpbmsgYXR1YWwgZW0gcnVudGltZVxuLy8gKGxpZGEgdmlhIGdldENvbXB1dGVkU3R5bGUpIOKAlCBzZSB2b2PDqiBtdWRhciAkYWNjZW50LWJhY2tncm91bmQgbm8gc2lzdGVtYSwgbyBkb3dubG9hZFxuLy8gcGFzc2EgYSB1c2FyIGEgbm92YSBjb3IgYXV0b21hdGljYW1lbnRlLCBzZW0gaGFyZGNvZGUgbm8gVHlwZVNjcmlwdC5cbjpyb290IHtcbiAgLS1qZW1zLWxpbmstY29sb3I6ICN7JGFjY2VudC1iYWNrZ3JvdW5kfTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUUEMgY2hhaXIgVUkg4oCUIGRlc2lnbi1zeXN0ZW0gdG9rZW5zIChhdWRpdGVkIDIwMjYtMDUtMTgpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRFWFQgKGZvbnQtc2l6ZSk6ICAgICAxNCBkZWZhdWx0IHwgMTMgZGVuc2UgfCAxMSBtaWNyb1xuLy8gSUNPTiAoZm9udC1zaXplKTogICAgIDIwIHByaW1hcnkgfCAxOCBjYXJldC9zZXBhcmF0b3IgfCAxNiBzZWNvbmRhcnkgfCAxNCBtaWNyb1xuLy8gV0VJR0hUIChmb250LXdlaWdodCk6IDQzMCBib2R5ICAgfCA1MDAgZW1waGFzaXNcbi8vIExFVFRFUi1TUEFDSU5HOiAgICAgICAwIOKAlCBzdHJpY3Q7IG5vIG90aGVyIHZhbHVlIGFsbG93ZWQgaW4gY2hhaXIgVUlcbi8vIExJTkUtSEVJR0hUOiAgICAgICAgICAxLjMgdGV4dCAgIHwgPSBmb250LXNpemUgaWNvbnNcbi8vIElDT04tQVhFUzogICAgICAgICAgICBvcHN6IDIwIGFsd2F5cyB8IHdnaHQgMzAwIHJlc3Qg4oaSIDQwMCBhY3RpdmVcbi8vICAgICAgICAgICAgICAgICAgICAgICBGSUxMIDAgZGVmYXVsdCwgRklMTCAxIE9OTFkgYXMgXCJzZWxlY3RlZCB3aXRoaW5cbi8vICAgICAgICAgICAgICAgICAgICAgICBhIHNldFwiIGN1ZSAoZmF2b3JpdGUgc3RhciwgY3VycmVudCB0aGVtZSkuXG4vLyBPUEFDSVRZIExBRERFUiAoNSBjYW5vbmljYWwgbGV2ZWxzKTpcbi8vICAgMCAgICBoaWRkZW4g4oCUIGFmZm9yZGFuY2UgcmV2ZWFsZWQgdmlhIGludGVyYWN0aW9uXG4vLyAgIDAuNSAgbWFya2VyIGNocm9tZSAvIGhvdmVyLXJldmVhbCBmaXJzdCBzdGFnZVxuLy8gICAwLjY1IGRlZmF1bHQtbXV0ZWQgKGljb25zIGF0IHJlc3QpXG4vLyAgIDAuOSAgZW1waGFzaXMgLyBkaXJlY3QgaG92ZXIgb24gZ2x5cGhcbi8vICAgMSAgICBmdWxsIG9uIChzZWxlY3RlZCAvIGFjdGl2ZSAvIGN1cnJlbnQpXG4vLyBFTEVWQVRJT04gKDIgdGllcnMsIGRlZmluZWQgaW4gYF92YXJpYWJsZXMuc2Nzc2ApOlxuLy8gICBQQU5FTCAgICDigJQgYW5jaG9yZWQgbWVudXMgKGAkc2hhZG93LXBhbmVsLWxpZ2h0YCAvIGAtZGFya2ApXG4vLyAgICAgICAgICAgICAgdmlhIGBmaWx0ZXI6IGRyb3Atc2hhZG93YC4gRGFyayBtb2RlIGFkZHMgMXB4IG91dGxpbmVcbi8vICAgICAgICAgICAgICBgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWRhcmtgLlxuLy8gICBGTE9BVElORyDigJQgZHJhZyBwcmV2aWV3cyAoYCRzaGFkb3ctZmxvYXRpbmctbGlnaHRgIC8gYC1kYXJrYClcbi8vICAgICAgICAgICAgICB2aWEgYGJveC1zaGFkb3dgLiBIZWF2aWVyIGFscGhhICsgbGFyZ2VyIGJsdXIuXG4vLyBDSFJPTUUgQk9SREVSUyAoNCB0b2tlbnMsIGRlZmluZWQgaW4gYF9jb2xvcnMuc2Nzc2ApOlxuLy8gICAkY2hyb21lLWJvcmRlci1saWdodCAgICAgICAgLyAkY2hyb21lLWJvcmRlci1kYXJrICAgICAgICDigJQgZGVmYXVsdFxuLy8gICAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmUgLyAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZSDigJQgaG92ZXIvZHJhZ1xuLy8gICBVc2VkIGJ5IHNpZGViYXIgZWRnZS1saW5lLCBoZWFkZXIvYm90dG9tIGRpdmlkZXJzLCBicmVhZGNydW1iXG4vLyAgIGJvdHRvbSBib3JkZXIsIG1lbnUgcGFuZWwgb3V0bGluZXMgKGRhcmspLCBhbmQgY2hpcC1oZWFkZXIgYm9yZGVycy5cbi8vIFNVUkZBQ0UgQkFDS0dST1VORFM6XG4vLyAgICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQg4oCUIGNoYWlyIFVJIGNocm9tZSAoc2lkZWJhciwgYWxsIG1lbnVzLFxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWRjcnVtYikg4oCUIG9uZSB0aW50ZWQgb2ZmLXdoaXRlL2Rhcmtcbi8vICAgJGFkbWluLWJhY2tncm91bmQgICAgICAgICAg4oCUIG1haW4gY29udGVudCBhcmVhIOKAlCBwdXJlIHdoaXRlL2JsYWNrXG4vLyBSQURJVVM6XG4vLyAgICRjaHJvbWUtcmFkaXVzICg9IDZweCkg4oCUIGV2ZXJ5IGludGVyYWN0aXZlIHBpbGwgKHNpZGViYXIvbWVudSBpdGVtcyxcbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFkY3J1bWIgc2VnbWVudHMsIGNocm9tZSBidXR0b25zKSBBTkRcbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZXJ5IHBhbmVsIHN1cmZhY2UgKG1hdC1tZW51LXBhbmVsLFxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lkZWJhciBoZWFkZXIpLiBTaW5nbGUgY2Fub25pY2FsIGNvcm5lci5cbi8vIEVBU0lORzpcbi8vICAgJGVhc2Utb3V0ICg9IGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpKSDigJQgdGhlIGNoYWlyIFVJJ3Ncbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpbmdsZSB0cmFuc2l0aW9uIGN1cnZlLCB1c2VkIGJ5IGV2ZXJ5XG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaWRlYmFyL2JyZWFkY3J1bWIvZHJhZy1kcm9wIGFuaW1hdGlvbi5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKiBnbG9iYWwgc3R5bGVzICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy50aXRsZScsICcnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuc3VidGl0bGUnLCAnJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChzdHJvbmcsICcnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuY2xvc2UuYnV0dG9uJywgJycsIGNvbG9yLCAkYmxhY2stMTAwMCwgJHdoaXRlLTEwMDApO1xuLy8gSkVNUzMgY2hlY2tib3ggdGhlbWUg4oCUIGNoYWlyIFVJIGJpbmFyeS1jb250cm9sIGZhbWlseSAoRE5BIGNvbSBzbGlkZS10b2dnbGVcbi8vIGUgcmFkaW8pLiBPZmYgb3V0bGluZWQgY29tIHdhcm0gYmVpZ2UgZW0gbGlnaHQgLyB0cmFuc3BhcmVudGUgZW0gZGFyazsgb25cbi8vIGZpbGxlZCBgIzRhNDYzZmAgZW0gbGlnaHQgLyB0cmFuc3BhcmVudGUgZW0gZGFyazsgY2hlY2ttYXJrIHN0cm9rZSBvZmYtd2hpdGVcbi8vIGNyb3NzLXRoZW1lLiBgLm1hdC13YXJuYCBsZWZ0IHRvIE1hdGVyaWFsJ3MgcmVkLlxuXG4vLyBPRkYgc3RhdGUg4oCUIGZyYW1lIGJvcmRlciArIGJnIHRyYW5zcGFyZW50ZSBlbSBhbWJvcyBvcyB0ZW1hcyAobGlnaHQvZGFya1xuLy8gc2ltw6l0cmljb3MpLiBBbnRlcmlvcm1lbnRlIGxpZ2h0IHRpbmhhIHdhcm0gYmVpZ2UgdGludCBubyByZXN0OyBtdWRvdSBwYXJhXG4vLyB0cmFuc3BhcmVudCBhIHBlZGlkbyDigJQgb2ZmIGzDqiBwZWxvIGJvcmRlciArIGZhbHRhIGRlIGNoZWNrbWFyay5cbi8vIEJvcmRlciBkbyBjaGVja2JveDogYCRncmF5LTQ1MGAgKGAjOTA4OTg1YCkgbm8gbGlnaHQgKG1pZHBvaW50IHdhcm0tc3RvbmUpXG4vLyBlIGAkZ3JheS00MDBgIChgI0E4QTI5RWApIG5vIGRhcmsgKGNvbnRyYXN0ZSB+NToxIGNvbnRyYSBjYW52YXMgYCMyMDIwMjBgKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1jaGVja2JveC1mcmFtZScsICcnLCBib3JkZXItY29sb3IsICRncmF5LTQ1MCwgJGdyYXktNDAwKTtcblxuLy8gQ2hlY2tlZCBzdGF0ZSBib3JkZXIgKGRhcmspOiBgJGdyYXktMzAwYCAoYCNENkQzRDFgKSDigJQgbWVzbWEgY29yIGRvIGZpbGwsXG4vLyBxdWFkcmFkbyB2aXJhIG1vbm9jcm9tw6F0aWNvLiBMaWdodCBuw6NvIHByZWNpc2Egb3ZlcnJpZGUgKGrDoSBmaWNhIGNvYmVydG9cbi8vIHBlbG8gYmFja2dyb3VuZCBmaWxsIGAkZ3JheS01MDBgIHF1YW5kbyBjaGVja2VkKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1jaGVja2JveC1jaGVja2VkJywgJy5tYXQtY2hlY2tib3gtZnJhbWUnLCBib3JkZXItY29sb3IsICRncmF5LTQ1MCwgJGdyYXktMzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1jaGVja2JveC1mcmFtZScsICcnLCBiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpO1xuXG4vLyBPTiBzdGF0ZSDigJQgYmFja2dyb3VuZCBmaWxsOiBsaWdodCBgJGdyYXktNTAwYCAoYCM3ODcxNkNgIG1pZC1kYXJrIHdhcm0gc3RvbmUpXG4vLyB2cyBkYXJrIGAkZ3JheS0zMDBgIChgI0Q2RDNEMWAgbGlnaHQgd2FybSBzdG9uZSkuIEVtIGRhcmssIGJvcmRlciAoJGdyYXktNDAwKVxuLy8gZSBmaWxsICgkZ3JheS0zMDApIHByw7N4aW1vcyBtYXMgZGlzdGludG9zIOKAlCBvIGZpbGwgbGlnZWlyYW1lbnRlIG1haXMgY2xhcm9cbi8vIHF1ZSBhIGJvcmRlci4gSW5kZXRlcm1pbmF0ZSBzZWd1ZSBvIG1lc21vIHBhZHLDo28uXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtYWNjZW50JywgJy5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCcsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTUwMCwgJGdyYXktMzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1jaGVja2JveC1jaGVja2VkLm1hdC1wcmltYXJ5JywgJy5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCcsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTUwMCwgJGdyYXktMzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlLm1hdC1hY2NlbnQnLCAnLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktNTAwLCAkZ3JheS0zMDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUubWF0LXByaW1hcnknLCAnLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktNTAwLCAkZ3JheS0zMDApO1xuXG4vLyBNYXN0ZXIgY2hlY2tib3ggKGhlYWRlciBkZSBxdWFscXVlciBtYXQtdGFibGUgbm8gY2hhaXIgVUkpOiBpbnRlcm1lZGnDoXJpb1xuLy8gdXNhIGFjY2VudCBubyBsaWdodCBwcmEgZGVzdGFjYXIgXCJzZWxlw6fDo28gcGFyY2lhbFwiIGNvbW8gQ1RBIHZpc3VhbCwgZVxuLy8gYCRncmF5LTMwMGAgbm8gZGFyayBwcmEgdW5pZmljYXIgY29tIG8gZXN0YWRvIGxpZ2FkbyAoY2FpeGEgZmljYSBpZ3VhbCxcbi8vIHPDrW1ib2xvIMOpIHF1ZSBkaWZlcmVuY2lhKS4gYCFpbXBvcnRhbnRgIG5lY2Vzc8OhcmlvIHByYSB2ZW5jZXIgTWF0ZXJpYWxcbi8vIGUgcmVncmFzIGdlbsOpcmljYXMgYWNpbWEuIFVzYWRvIHBvciBwZW9wbGUtdGFibGUgZSBzdWJtaXNzaW9ucy1saXN0LXYyLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKFxuICAndGgubWF0LWhlYWRlci1jZWxsIC5tYXQtY2hlY2tib3gubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUnLFxuICAnLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kJyxcbiAgYmFja2dyb3VuZC1jb2xvcixcbiAgJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQsXG4gICRncmF5LTMwMCAhaW1wb3J0YW50XG4pO1xuXG4vLyBNZXNtYSByZWdyYSBwYXJhIHRhYmVsYXMgYC5qZW1zMy10YWJsZS1zZWxlY3RhYmxlYCBlbSBIVE1MIFBVUk8gKHNlbVxuLy8gbWF0LXRhYmxlLCBsb2dvIHNlbSBgdGgubWF0LWhlYWRlci1jZWxsYCkg4oCUIGV4LjogVXBsb2FkIGRlIGF1dG9yZXMuIFNlbVxuLy8gaXN0byBvIG1hc3RlciBlbSBcInNlbGXDp8OjbyBwYXJjaWFsXCIgY2FpIG5vIGNpbnphIGdlbsOpcmljbyBkYXMgcmVncmFzIGFjaW1hIGVcbi8vIGRlc3RvYSBkbyBwZW9wbGUtdGFibGUgLyBzdWJtaXNzaW9ucy1saXN0LXYyLiBBZGl0aXZvOiBuw6NvIGFsdGVyYSBuYWRhIGRvXG4vLyBxdWUgasOhIGZ1bmNpb25hdmEuIFZpdmUgYXF1aSwgZSBuw6NvIG5vIFNDU1MgZG8gY29tcG9uZW50ZSwgcG9ycXVlXG4vLyBgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kYCBwZXJ0ZW5jZSBhbyB0ZW1wbGF0ZSBkbyBNYXRDaGVja2JveCDigJQgcmVncmFcbi8vIGNyb3NzLWNvbXBvbmVudCBURU0gZGUgc2VyIGdsb2JhbCAobWVtw7NyaWEgYGZlZWRiYWNrX2FuZ3VsYXJfdmlld19lbmNhcHN1bGF0aW9uYCkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoXG4gICd0YWJsZS5qZW1zMy10YWJsZS1zZWxlY3RhYmxlIHRoIC5tYXQtY2hlY2tib3gubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUnLFxuICAnLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kJyxcbiAgYmFja2dyb3VuZC1jb2xvcixcbiAgJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQsXG4gICRncmF5LTMwMCAhaW1wb3J0YW50XG4pO1xuXG4vLyBDaGVja21hcmsgc3Ryb2tlIOKAlCB0aGVtZS1hd2FyZTogbGlnaHQgdXNhIG9mZi13aGl0ZSAoYCNmOWY4ZjdgKSBzb2JyZSBmaWxsXG4vLyBkYXJrIGAjNzg3MTZDYDsgZGFyayB1c2EgbmVhci1ibGFjayAoYCMyMDIwMjBgKSBzb2JyZSBmaWxsIGNsYXJvIGAjRTdFNUU0YC5cbi8vIENhZGEgdW0gbWF4aW1pemEgbyBjb250cmFzdGUgZG8gZ2x5cGggY29udHJhIHNldSBmaWxsIHJlc3BlY3Rpdm8uXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LWNoZWNrYm94LWNoZWNrbWFyay1wYXRoJywgc3Ryb2tlLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kICFpbXBvcnRhbnQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtY2hlY2tib3gtbWl4ZWRtYXJrJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50LCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudCk7XG5cbi8vIEhvdmVyIOKAlCB0csOqcyByZWdyYXMgY29tYmluYWRhcyAobWVzbWFzIGRvIHNsaWRlLXRvZ2dsZSBlIHJhZGlvKTpcbi8vICAgKDEpIGZyYW1lIGJvcmRlciBidW1wYSBwYXJhIGAtYWN0aXZlYCBlbSBhbWJvcyB0ZW1hc1xuLy8gICAoMikgbGlnaHQgb2ZmOiBmcmFtZSBiZyBpbnZlcnRlIHBhcmEgdHJhbnNwYXJlbnQgKGxpZnQpXG4vLyAgICgzKSBsaWdodCBvbjogYmFja2dyb3VuZCBiZyBlc2N1cmVjZSBwYXJhIGAjM2EzOTM3YCAocHJlc3MpXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtY2hlY2tib3g6aG92ZXI6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpJywgJy5tYXQtY2hlY2tib3gtZnJhbWUnLCBib3JkZXItY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LWNoZWNrYm94Lm1hdC1jaGVja2JveC1jaGVja2VkLm1hdC1hY2NlbnQ6aG92ZXI6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpJywgJy5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCcsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTcwMCwgJGdyYXktMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtY2hlY2tib3gubWF0LWNoZWNrYm94LWNoZWNrZWQubWF0LXByaW1hcnk6aG92ZXI6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpJywgJy5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCcsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTcwMCwgJGdyYXktMCk7XG5cbi8vIENoZWNrYm94IGNoZWNrZWQg4oCUIG92ZXJyaWRlIEdMT0JBTDogdXNhIGFjY2VudCBjb2xvciAoYXp1bCBkYSBtYXJjYSlcbi8vIEFQRU5BUyBubyBsaWdodCBtb2RlLiBFbSBkYXJrLCBtYW50w6ltIG8gYCRncmF5LTMwMGAgZGVmYXVsdCBkbyBjaGFpciBVSVxuLy8gKGFjY2VudCBlc2N1cm8gc29icmUgY2FudmFzIGVzY3VybyBwZXJkZXJpYSBjb250cmFzdGUpLiBBcGxpY2EgYSBUT0RPUyBvc1xuLy8gY2hlY2tib3hlcyBkbyBhcHAgKHN1YnN0aXR1aSBhcyByZWdyYXMgZ3JheS01MDAgYWNpbWEgcG9yIGNhdXNhIGRhIG9yZGVtXG4vLyBubyBjYXNjYWRlKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtYWNjZW50IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCcsIGJhY2tncm91bmQtY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGdyYXktMzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtcHJpbWFyeSAubWF0LWNoZWNrYm94LWJhY2tncm91bmQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRncmF5LTMwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LWNoZWNrYm94LWNoZWNrZWQgLm1hdC1jaGVja2JveC1mcmFtZScsIGJvcmRlci1jb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkZ3JheS0zMDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1jaGVja2JveC5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtYWNjZW50OmhvdmVyOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKSAubWF0LWNoZWNrYm94LWJhY2tncm91bmQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRncmF5LTApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1jaGVja2JveC5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtcHJpbWFyeTpob3Zlcjpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCkgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kJywgYmFja2dyb3VuZC1jb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkZ3JheS0wKTtcblxuLy8gRnJhbWUgVU5DSEVDS0VEIChhdGl2bywgYWluZGEgbsOjbyBtYXJjYWRvKTogYmcgQlJBTkNPIG5vIGxpZ2h0LCBQUkVUT1xuLy8gbm8gZGFyay4gU29icmVzY3JldmUgbyBgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50YCBnbG9iYWwgZGEgbGluaGEgNzkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtY2hlY2tib3g6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpJywgJy5tYXQtY2hlY2tib3gtZnJhbWUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAjZmZmLCAjMDAwKTtcblxuLy8gRm9jdXMgaW5kaWNhdG9yIChrZXlib2FyZC1vbmx5KSDigJQgYnJhbmQgY29sb3IsIGlkw6pudGljbyBhbyBzbGlkZS10b2dnbGUgZSByYWRpby5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1jaGVja2JveC5jZGsta2V5Ym9hcmQtZm9jdXNlZCcsICcubWF0LWNoZWNrYm94LWZyYW1lJywgb3V0bGluZSwgMnB4IHNvbGlkICMwNjRhZDksIDJweCBzb2xpZCAjMDA4MGZmKTtcblxuLy8gbWF0LXBzZXVkby1jaGVja2JveCDigJQgY2hlY2tib3ggZGFzIE9Qw4fDlUVTIGRlIG1hdC1zZWxlY3QgbXVsdGkgKGV4LjogZmlsdHJvcyBkYVxuLy8gTGlzdGEgZGUgc3VibWlzc8O1ZXMpIGUgZG8gbWF0LXNlbGVjdGlvbi1saXN0LiBPIHRlbWEgY2hhaXIgYWNpbWEgY29icmlhIG9cbi8vIG1hdC1jaGVja2JveCAoQ2hlY2tsaXN0LCBzZWxlw6fDo28gZGUgbGluaGFzKSBtYXMgTsODTyBvIHBzZXVkby1jaGVja2JveCwgcXVlXG4vLyBmaWNhdmEgbm8gZXN0aWxvIE1hdGVyaWFsIGRlZmF1bHQuIEFxdWkgZWxlIHJlY2ViZSBvIE1FU01PIGVzdGlsbzogb2ZmIG91dGxpbmVkXG4vLyB3YXJtLXN0b25lLCBvbiBmaWxsZWQsIGNoZWNrbWFyayBjbGFybywgNHB4IHJhZGl1cy4gQXBsaWNhIGFwcC13aWRlICh0b2RvcyBvc1xuLy8gbXVsdGktc2VsZWN0cy9zZWxlY3Rpb24tbGlzdHMpIOKAlCBjb25zaXN0w6puY2lhIGNvbSBvIHJlc3RvIGRvIGNoYWlyIFVJLlxuLy8gYCFpbXBvcnRhbnRgIG5lY2Vzc8OhcmlvOiBvIE1hdGVyaWFsIHNldGEgYSBjb3IgdGVtw6F0aWNhIChgLm1hdC1wcmltYXJ5Ly5tYXQtYWNjZW50XG4vLyAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkYCkgY29tIGEgTUVTTUEgZXNwZWNpZmljaWRhZGUgZG8gYC5saWdodC10aGVtZSAuLi5gLFxuLy8gZSB2ZW5jZSBwb3Igb3JkZW0gZGUgY2FyZ2EuIE1lc21vIHBhZHLDo28gZG8gdGVtYSBkbyBtYXQtY2hlY2tib3ggYWNpbWEuXG4ubWF0LXBzZXVkby1jaGVja2JveCB7XG4gIGJvcmRlci1yYWRpdXM6IDRweCAhaW1wb3J0YW50O1xuICBib3JkZXItd2lkdGg6IDEuNXB4ICFpbXBvcnRhbnQ7XG59XG4vLyBCb3JkYSAob2ZmKSB2aWEgYGNvbG9yYCA9ICRncmF5LTQ1MC8kZ3JheS00MDAgKGlndWFsIGFvIC5tYXQtY2hlY2tib3gtZnJhbWUpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXBzZXVkby1jaGVja2JveCcsICcnLCBjb2xvciwgJGdyYXktNDUwICFpbXBvcnRhbnQsICRncmF5LTQwMCAhaW1wb3J0YW50KTtcbi8vIENoZWNrbWFyayAoOjphZnRlcikg4oCUIG9mZi13aGl0ZSBubyBsaWdodCAvIG5lYXItYmxhY2sgbm8gZGFyayAoPSBzdHJva2UgZG8gbWF0LWNoZWNrYm94KS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1wc2V1ZG8tY2hlY2tib3g6OmFmdGVyJywgJycsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kICFpbXBvcnRhbnQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50KTtcbi8vIEZpbGwgKGNoZWNrZWQvaW5kZXRlcm1pbmF0ZSkgPSAkZ3JheS01MDAvJGdyYXktMzAwICg9IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQnLCAnJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktNTAwICFpbXBvcnRhbnQsICRncmF5LTMwMCAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZScsICcnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS01MDAgIWltcG9ydGFudCwgJGdyYXktMzAwICFpbXBvcnRhbnQpO1xuXG4vLyBKRU1TMyBzbGlkZS10b2dnbGUgdGhlbWUg4oCUIGNoYWlyIFVJIG1vbm9jaHJvbWF0aWMsIG91dGxpbmVkLW9mZiAoXCJQbGFuIEJcIikuXG4vLyBPZmYgc3RhdGUgPSBvdXRsaW5lZCBwaWxsICh0cmFuc3BhcmVudCBiZyArIDEuNXB4IGluc2V0IGJvcmRlciB2aWEgYm94LXNoYWRvdylcbi8vIHdpdGggYSBkYXJrIHRodW1iIOKAlCBjbGVhcmx5IFwiaW50ZXJhY3RpdmUgYnV0IGluYWN0aXZlXCIsIE5PVCBcImRpc2FibGVkXCIuXG4vLyBPbiBzdGF0ZSA9IHNvbGlkIGFjdGl2ZSBmaWxsIHdpdGggbGlnaHQgdGh1bWIg4oCUIHNhbWUgcmVjaXBlIGFzIGNoZWNrYm94XG4vLyBjaGVja2VkLiBgLm1hdC13YXJuYCBsZWZ0IHRvIE1hdGVyaWFsJ3MgcmVkIHNvIGRlc3RydWN0aXZlIHRvZ2dsZXMga2VlcFxuLy8gdGhlaXIgZGFuZ2VyIGN1ZS5cblxuLy8gT0ZGIHN0YXRlIOKAlCB0cmFjayBpcyB0cmFuc3BhcmVudCwgYm9yZGVyIGRyYXduIGJ5IGluc2V0IGJveC1zaGFkb3cgKGRvZXNuJ3Rcbi8vIGFmZmVjdCBsYXlvdXQpLiBUaHVtYiBpcyB0aGUgbXV0ZWQgdGV4dCB0b2tlbiAoZGFyayBncmF5IG9uIGxpZ2h0IHRoZW1lKS5cbi8vIE9GRiBzdGF0ZSByZXN0IGJhciBiZyDigJQgbGlnaHQgdGVtICoqd2FybSBiZWlnZSB0aW50KiogKGAjZThlNmUzYCkgY29tbyBjdWVcbi8vIHBlcm1hbmVudGUgZGUgXCJpc3RvIMOpIGludGVyYXRpdm9cIjsgZGFyayBtYW50w6ltIHRyYW5zcGFyZW50ZSAobyBjdWUgZGVcbi8vIFwiaW50ZXJhdGl2b1wiIG5vIGRhcmsgasOhIHZlbSBkbyBib3JkZXIgKyBicmlnaHRuZXNzIGNoYW5nZSBubyBob3ZlcikuIE9uXG4vLyBzdGF0ZSB2ZW5jZSBwb3IgZXNwZWNpZmljaWRhZGUgKDQgY2xhc3NlcyA+IDEpIGUgbWFudMOpbSBzZXUgcHLDs3ByaW8gZmlsbC5cbi8vIEFsaW5oYWRvIGFvIHJlY2lwZSBkbyBjaGVja2JveDogYmFyIGJnIHRyYW5zcGFyZW50IGVtIGFtYm9zIG9zIHRlbWFzXG4vLyAocmVtb3ZpZG8gbyB3YXJtIGJlaWdlIHJlc3QgZG8gbGlnaHQpOyBpbnNldCBzaGFkb3cgYm9yZGVyICRncmF5LTQ1MCBsaWdodFxuLy8gLyAkZ3JheS00MDAgZGFyazsgdGh1bWIgb2ZmIG1hdGNoZXMgYm9yZGVyIHRvbmUuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtc2xpZGUtdG9nZ2xlLWJhcicsICcnLCBiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXNsaWRlLXRvZ2dsZS1iYXInLCAnJywgYm94LXNoYWRvdywgaW5zZXQgMCAwIDAgMS41cHggJGdyYXktNDUwLCBpbnNldCAwIDAgMCAxLjVweCAkZ3JheS00MDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXNsaWRlLXRvZ2dsZS10aHVtYicsICcnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS00NTAsICRncmF5LTQwMCk7XG5cbi8vIE9OIHN0YXRlIOKAlCBhc3NpbcOpdHJpY28gcG9yIHRlbWE6XG4vLyAgIExpZ2h0OiB0cmFjayBmaWxsIGAjNGE0NjNmYCAod2FybSBkYXJrIGdyYXkpICsgdGh1bWIgYCNmOWY4ZjdgIG9mZi13aGl0ZSArXG4vLyAgICAgICAgICBjaGVjayBgIzRhNDYzZmAgbm8gdGh1bWIuXG4vLyAgIERhcms6ICB0cmFjayBmaWxsICoqdHJhbnNwYXJlbnRlKiogKHNlbSBmaWxsKSArIHRodW1iIGAjZjlmOGY3YCBvZmYtd2hpdGVcbi8vICAgICAgICAgICsgY2hlY2sgYCM0YTQ2M2ZgIG5vIHRodW1iLiBFc3RhZG8gdmVtIGRvIHRodW1iIHBvc2l0aW9uICsgdGh1bWJcbi8vICAgICAgICAgIGNvbG9yICsgY2hlY2s7IG8gZmlsbCBzZXJpYSBtdWRkeSBjb250cmEgbyBjYW52YXMgYCMyMDIwMjBgIGRhcmsuXG4vLyBCb3JkZXIgcGVyc2lzdGUgZW0gYW1ib3Mgb3MgZXN0YWRvcyAob2ZmLXN0YXRlIHJ1bGUgw6kgc3RhdGUtYWdub3N0aWMpLlxuLy8gT04gc3RhdGUg4oCUIGJhciBmaWxsIGFsaW5oYWRvIGFvIGNoZWNrYm94IChsaWdodCAkZ3JheS01MDAgLyBkYXJrICRncmF5LTMwMCkuXG4vLyBPbiB0aHVtYiBhZ29yYSB0aGVtZS1hd2FyZTogbGlnaHQgb2ZmLXdoaXRlIHNvYnJlIGZpbGwgZGFyaywgZGFyayBuZWFyLWJsYWNrXG4vLyBzb2JyZSBmaWxsIGNsYXJvIOKAlCBjYWRhIHRlbWEgbWF4aW1pemEgbyBjb250cmFzdGUgZG8gdGh1bWIgY29udHJhIG8gZmlsbC5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQubWF0LWFjY2VudCcsICcubWF0LXNsaWRlLXRvZ2dsZS1iYXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS01MDAsICRncmF5LTMwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkLm1hdC1wcmltYXJ5JywgJy5tYXQtc2xpZGUtdG9nZ2xlLWJhcicsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTUwMCwgJGdyYXktMzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQubWF0LWFjY2VudCcsICcubWF0LXNsaWRlLXRvZ2dsZS10aHVtYicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkLm1hdC1wcmltYXJ5JywgJy5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcblxuLy8gSG92ZXIgc3RhdGUg4oCUIHRyw6pzIHJlZ3JhcyBjb21iaW5hZGFzOlxuLy8gICgxKSBCb3JkZXIgKGluc2V0IHNoYWRvdykgYnVtcGEgcGFyYSBvIHRva2VuIGAtYWN0aXZlYCBlbSBhbWJvcyBvcyB0ZW1hcy5cbi8vICAoMikgTGlnaHQgT0ZGIHN0YXRlOiBiYXIgYmcgKippbnZlcnRlIHBhcmEgdHJhbnNwYXJlbnRlKiogKGNsYXJlaWEsIHJlbW92ZW5kb1xuLy8gICAgICBvIHdhcm0gYmVpZ2UgZG8gcmVzdCkg4oCUIGNyaWEgc2Vuc2HDp8OjbyBkZSBcImxpZnRpbmdcIiBubyBob3Zlci4gRGFyayBvZmZcbi8vICAgICAgc3RheXMgdHJhbnNwYXJlbnQsIGFwZW5hcyBvIGJvcmRlci1idW1wIGZheiBjdWUuXG4vLyAgKDMpIExpZ2h0IE9OIHN0YXRlOiBiYXIgYmcgKiplc2N1cmVjZSoqIGRlIGAjNGE0NjNmYCBwYXJhIGAjM2EzOTM3YCDigJRcbi8vICAgICAgZmVlbGluZyBkZSBcInByZXNzXCIgZGUgYm90w6NvLCBzdXBsZW1lbnRhIG8gYm9yZGVyLWJ1bXAgcXVlIHNvemluaG8gZmljYVxuLy8gICAgICBpbnZpc8OtdmVsIGNvbnRyYSBvIGZpbGwgZGFyay4gRGFyayBvbiBzdGF5cyB0cmFuc3BhcmVudCAoc2VtIG11ZGFuw6dhKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1zbGlkZS10b2dnbGU6aG92ZXI6bm90KC5tYXQtZGlzYWJsZWQpJywgJy5tYXQtc2xpZGUtdG9nZ2xlLWJhcicsIGJveC1zaGFkb3csIGluc2V0IDAgMCAwIDEuNXB4ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgaW5zZXQgMCAwIDAgMS41cHggJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZC5tYXQtYWNjZW50OmhvdmVyOm5vdCgubWF0LWRpc2FibGVkKScsICcubWF0LXNsaWRlLXRvZ2dsZS1iYXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS03MDAsICRncmF5LTApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZC5tYXQtcHJpbWFyeTpob3Zlcjpub3QoLm1hdC1kaXNhYmxlZCknLCAnLm1hdC1zbGlkZS10b2dnbGUtYmFyJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktNzAwLCAkZ3JheS0wKTtcblxuLy8gSkVNUzMgcmFkaW8gdGhlbWUg4oCUIGNoYWlyIFVJIGJpbmFyeS1jb250cm9sIGZhbWlseSAoc2FtZSBETkEgZG8gY2hlY2tib3ggZVxuLy8gc2xpZGUtdG9nZ2xlKS4gUmVjaXBlIGVzcGVsaGEgbyBzbGlkZS10b2dnbGU6IG9mZiBvdXRsaW5lZCBjb20gd2FybSBiZWlnZVxuLy8gZW0gbGlnaHQgLyB0cmFuc3BhcmVudGUgZW0gZGFyazsgb24gZmlsbGVkIGAjNGE0NjNmYCBlbSBsaWdodCAvIHRyYW5zcGFyZW50ZVxuLy8gZW0gZGFyayBjb20gaW5uZXIgZG90IG9mZi13aGl0ZSBzdWJzdGl0dWluZG8gbyBcInRodW1iXCIuIGAubWF0LXdhcm5gIGxlZnQgdG9cbi8vIE1hdGVyaWFsJ3MgcmVkLlxuXG4vLyBPRkYgc3RhdGUg4oCUIG91dGVyIGJvcmRlciArIGJnIHRyYW5zcGFyZW50ZSBlbSBhbWJvcyBvcyB0ZW1hcyAobGlnaHQvZGFya1xuLy8gc2ltw6l0cmljb3MpLiBBbnRlcmlvcm1lbnRlIGxpZ2h0IHRpbmhhIHdhcm0gYmVpZ2UgdGludCBubyByZXN0OyBtdWRvdSBwYXJhXG4vLyB0cmFuc3BhcmVudCBhIHBlZGlkbyDigJQgb2ZmIGzDqiBwZWxvIGJvcmRlciArIGF1c8OqbmNpYSBkbyBjZW50ZXIgZG90LlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXJhZGlvLWJ1dHRvbicsICcubWF0LXJhZGlvLW91dGVyLWNpcmNsZScsIGJvcmRlci1jb2xvciwgJGdyYXktNDUwLCAkZ3JheS00MDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXJhZGlvLWJ1dHRvbicsICcubWF0LXJhZGlvLW91dGVyLWNpcmNsZScsIGJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudCk7XG5cbi8vIE9OIHN0YXRlIOKAlCBhbGluaGFkbyBhbyByZWNpcGUgZG8gY2hlY2tib3g6IGZpbGwgYCRncmF5LTUwMGAgKGxpZ2h0KSAvIGAkZ3JheS0zMDBgIChkYXJrKS5cbi8vIEJvcmRlciBkbyBjaGVja2VkIGRhcmsgdmlyYSBgJGdyYXktMzAwYCAobWVzbWEgY29yIGRvIGZpbGwpOyBsaWdodCBzZWd1ZSBgJGdyYXktNDUwYC5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWNoZWNrZWQubWF0LWFjY2VudCcsICcubWF0LXJhZGlvLW91dGVyLWNpcmNsZScsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTUwMCwgJGdyYXktMzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWNoZWNrZWQubWF0LXByaW1hcnknLCAnLm1hdC1yYWRpby1vdXRlci1jaXJjbGUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS01MDAsICRncmF5LTMwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1jaGVja2VkLm1hdC1hY2NlbnQnLCAnLm1hdC1yYWRpby1vdXRlci1jaXJjbGUnLCBib3JkZXItY29sb3IsICRncmF5LTQ1MCwgJGdyYXktMzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWNoZWNrZWQubWF0LXByaW1hcnknLCAnLm1hdC1yYWRpby1vdXRlci1jaXJjbGUnLCBib3JkZXItY29sb3IsICRncmF5LTQ1MCwgJGdyYXktMzAwKTtcblxuLy8gSW5uZXIgZG90ICh2aXNpYmxlIG9ubHkgd2hlbiBjaGVja2VkKSDigJQgdGhlbWUtYXdhcmUgcGFyYSBjb250cmFzdGFyIGNvbSBvXG4vLyBub3ZvIGZpbGwgZW0gY2FkYSB0ZW1hLiBMaWdodDogb2ZmLXdoaXRlIHNvYnJlIGZpbGwgZGFyayBncmF5LiBEYXJrOiBuZWFyLVxuLy8gYmxhY2sgc29icmUgZmlsbCBsaWdodCBncmF5IChpZMOqbnRpY28gYW8gY2hlY2ttYXJrIHN0cm9rZSBkbyBjaGVja2JveCkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1jaGVja2VkLm1hdC1hY2NlbnQnLCAnLm1hdC1yYWRpby1pbm5lci1jaXJjbGUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tY2hlY2tlZC5tYXQtcHJpbWFyeScsICcubWF0LXJhZGlvLWlubmVyLWNpcmNsZScsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5cbi8vIFJhZGlvIGNoZWNrZWQg4oCUIG92ZXJyaWRlIEdMT0JBTDogdXNhIGFjY2VudCBjb2xvciBBUEVOQVMgbm8gbGlnaHQgbW9kZVxuLy8gKG1lc21hIGVzdHJhdMOpZ2lhIGRvIGNoZWNrYm94IGdsb2JhbCkuIEVtIGRhcmssIG1hbnTDqW0gbyBncmF5LTMwMC9ncmF5LTBcbi8vIGRlZmF1bHQgZG8gY2hhaXIgVUkuIElubmVyLWNpcmNsZSAobyBkb3QpIHNlZ3VlIG8gc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kXG4vLyBwcmEgY29udHJhc3RhciBjb250cmEgcXVhbHF1ZXIgY29yIGRvIG91dGVyLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWNoZWNrZWQubWF0LWFjY2VudCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZScsIGJhY2tncm91bmQtY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGdyYXktMzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1jaGVja2VkLm1hdC1wcmltYXJ5IC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlJywgYmFja2dyb3VuZC1jb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkZ3JheS0zMDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWNoZWNrZWQubWF0LWFjY2VudCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZScsIGJvcmRlci1jb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkZ3JheS0zMDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWNoZWNrZWQubWF0LXByaW1hcnkgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUnLCBib3JkZXItY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGdyYXktMzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1jaGVja2VkLm1hdC1hY2NlbnQ6aG92ZXI6bm90KC5tYXQtcmFkaW8tZGlzYWJsZWQpIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlJywgYmFja2dyb3VuZC1jb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkZ3JheS0wKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1jaGVja2VkLm1hdC1wcmltYXJ5OmhvdmVyOm5vdCgubWF0LXJhZGlvLWRpc2FibGVkKSAubWF0LXJhZGlvLW91dGVyLWNpcmNsZScsIGJhY2tncm91bmQtY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGdyYXktMCk7XG5cbi8vIE91dGVyIGNpcmNsZSBVTkNIRUNLRUQgKGF0aXZvLCBhaW5kYSBuw6NvIG1hcmNhZG8pOiBiZyBCUkFOQ08gbm8gbGlnaHQsXG4vLyBQUkVUTyBubyBkYXJrLiBTb2JyZXNjcmV2ZSBvIGB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnRgIGRhIGxpbmhhIDIxMy5cbi8vIE1lc21hIGRlY2lzw6NvIGRvIGAubWF0LWNoZWNrYm94LWZyYW1lYCAoY2YuIGJsb2NvIGRvIGNoZWNrYm94IGFjaW1hKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1yYWRpby1idXR0b246bm90KC5tYXQtcmFkaW8tZGlzYWJsZWQpOm5vdCgubWF0LXJhZGlvLWNoZWNrZWQpJywgJy5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlJywgYmFja2dyb3VuZC1jb2xvciwgI2ZmZiwgIzAwMCk7XG5cbi8vIFNsaWRlLXRvZ2dsZSBjaGVja2VkIOKAlCByZWdyYXMgY2Fuw7RuaWNhcyBlc3TDo28gbWFpcyBhYmFpeG8gbm8gYXJxdWl2b1xuLy8gKGJsb2NvIFwiU2xpZGUtdG9nZ2xlIHBhZHLDo28gKE0zKVwiLCBjb20gIWltcG9ydGFudCBwcmEgdmVuY2VyIE1hdGVyaWFsKS5cblxuLy8gSG92ZXIg4oCUIGFsaW5oYWRvIGFvIGNoZWNrYm94OlxuLy8gICAoMSkgYm9yZGVyIGJ1bXBhIHBhcmEgYC1hY3RpdmVgIGVtIGFtYm9zIHRlbWFzXG4vLyAgICgyKSBjaGVja2VkIGxpZ2h0OiBmaWxsIGRhcmtlbiBwYXJhIGAkZ3JheS03MDBgIChwcmVzcylcbi8vICAgKDMpIGNoZWNrZWQgZGFyazogZmlsbCBoaWdobGlnaHQgcGFyYSBgJGdyYXktMGAgKG1haXMgY2xhcm8pXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtcmFkaW8tYnV0dG9uOmhvdmVyOm5vdCgubWF0LXJhZGlvLWRpc2FibGVkKScsICcubWF0LXJhZGlvLW91dGVyLWNpcmNsZScsIGJvcmRlci1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1jaGVja2VkLm1hdC1hY2NlbnQ6aG92ZXI6bm90KC5tYXQtcmFkaW8tZGlzYWJsZWQpJywgJy5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktNzAwLCAkZ3JheS0wKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWNoZWNrZWQubWF0LXByaW1hcnk6aG92ZXI6bm90KC5tYXQtcmFkaW8tZGlzYWJsZWQpJywgJy5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktNzAwLCAkZ3JheS0wKTtcblxuLy8gRm9jdXMgaW5kaWNhdG9yIChrZXlib2FyZC1vbmx5KSDigJQgYnJhbmQgY29sb3IsIG1lc21hIGRvIHNsaWRlLXRvZ2dsZS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1yYWRpby1idXR0b24uY2RrLWtleWJvYXJkLWZvY3VzZWQnLCAnLm1hdC1yYWRpby1vdXRlci1jaXJjbGUnLCBvdXRsaW5lLCAycHggc29saWQgIzA2NGFkOSwgMnB4IHNvbGlkICMwMDgwZmYpO1xuXG4vLyBGb2N1cyBpbmRpY2F0b3IgY29sb3IgKGtleWJvYXJkLW9ubHkpLiBCcmFuZC1zYXR1cmF0ZWQgY29sb3IgKG5hdnkgbGlnaHQgL1xuLy8gYmx1ZSBkYXJrKSBzbyB0aGUgZm9jdXMgcmluZyByZWFkcyBhcyBhIGRpc3RpbmN0IGN1ZSwgbm90IFwidGhlIGJvcmRlciBnb3Rcbi8vIHRoaWNrZXJcIi4gVGhpcyBpcyB0aGUgb25seSBzcG90IHdoZXJlIGJyYW5kIGNvbG9yIGlzIGFsbG93ZWQgaW4gY2hhaXIgVUkg4oCUXG4vLyBmb2N1cyByaW5ncyBjb252ZW5jaW9uYWxtZW50ZSBzw6NvIHNhdHVyYWRvcyBwb3IgbW90aXZvIGRlIGExMXkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtc2xpZGUtdG9nZ2xlLmNkay1rZXlib2FyZC1mb2N1c2VkJywgJy5tYXQtc2xpZGUtdG9nZ2xlLWJhcicsIG91dGxpbmUsIDJweCBzb2xpZCAjMDY0YWQ5LCAycHggc29saWQgIzAwODBmZik7XG5cbi8vIENoZWNrIGdseXBoICjinJMpIGNvbG9yIGluc2lkZSB0aGUgb24gdGh1bWIuIENyb3NzLXRoZW1lIGAjNGE0NjNmYCBtYXRjaGluZ1xuLy8gdGhlIGJhciBmaWxsIOKAlCBpbnZlcnRzIHRoZSBvZmYtd2hpdGUgb24tdGh1bWIgZm9yIGNyaXNwIGNvbnRyYXN0LlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYjo6YWZ0ZXInLCAnJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktNTAwLCAkZ3JheS0zMDApO1xuLy8gUGFnZSB0aXRsZSAoLm1haW4taGVhZGVyIC5tYWluLXRpdGxlIGgxKSBhbmQgc2VjdGlvbiB0aXRsZXMgKC5zZWN0aW9uLXRpdGxlLFxuLy8gQGV4dGVuZHMgaDMpIHNoYXJlIHRoZSBzYW1lIG11dGVkIHRleHQgY29sb3IgYXMgdGhlIHNpZGViYXIgbGV2ZWwtMSBpdGVtcyBhdFxuLy8gcmVzdCDigJQgcGFnZSBsYWJlbCBhbmQgc2VjdGlvbiBoZWFkZXJzIGFyZSBcIm5vdCBpbnRlcmFjdGl2ZVwiIHNvIHRoZXkgcmVhZCBhc1xuLy8gY29udGVudCBpZGVudGlmaWVycywgbm90IGVtcGhhc2lzLiBQZXIgY2hhaXIgVUkgcnVsZSwgdGV4dCB1c2VzIGNvbG9yIHRva2Vuc1xuLy8gKG5vdCBvcGFjaXR5KSBmb3IgZGlmZmVyZW50aWF0aW9uLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1haW4taGVhZGVyIC5tYWluLXRpdGxlJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5zZWN0aW9uLXRpdGxlJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcblxuLy8gUGFnZS10aXRsZSBpY29uICgubWFpbi10aXRsZS1pY29uLCBsZWZ0IG9mIHRoZSBoMSkuIEZvbGxvd3MgdGhlIHNpZGViYXJcbi8vIGxldmVsLTEgaWNvbiByZWNpcGU6IHVzZXMgdGhlIFwiYWN0aXZlXCIgY29sb3IgdG9rZW4gKmFsd2F5cyosIHdpdGggb3BhY2l0eVxuLy8gKDAuNjUgcmVzdCwgYXBwbGllZCBpbiBjb21wb25lbnQgU0NTUykgZG9pbmcgdGhlIG11dGluZy4gRGlzdGluY3QgZnJvbSB0aGVcbi8vIHRleHQgY29sb3IsIGV4YWN0bHkgbGlrZSB0aGUgbGV2ZWwtMSBpY29ucyBhcmUgZGlzdGluY3QgZnJvbSBsZXZlbC0xIGxhYmVscy5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYWluLWhlYWRlciAubWFpbi10aXRsZSAubWFpbi10aXRsZS1pY29uJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuXG4vKiBzaW1wbGUtdGFibGUgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgndGFibGUuc2ltcGxlLXRhYmxlJywgJycsIGJhY2tncm91bmQtY29sb3IsICR0YWJsZS1iYWNrZ3JvdW5kLWNvbG9yLCAkdGFibGUtYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgndGFibGUuc2ltcGxlLXRhYmxlJywgdGgsIGJhY2tncm91bmQtY29sb3IsICR0YWJsZS1oZWFkZXItYmFja2dyb3VuZC1jb2xvciwgJHRhYmxlLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCd0YWJsZS5zaW1wbGUtdGFibGUnLCB0aCwgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcblxuLyogdGFibGUgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgndGFibGUuaGlnaGxpZ2h0LXRhYmxlJywgJycsIGJhY2tncm91bmQtY29sb3IsICRjb250ZW50LWJhY2tncm91bmQsICRjb250ZW50LWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ3RhYmxlLmhpZ2hsaWdodC10YWJsZScsICd0ZDpub3QoOmZpcnN0LWNoaWxkLCA6bGFzdC1jaGlsZCwgLm1hdC1mb290ZXItY2VsbCknLCBiYWNrZ3JvdW5kLWNvbG9yLCAkdGFibGUtYmFja2dyb3VuZC1jb2xvciwgJHRhYmxlLWJhY2tncm91bmQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ3RhYmxlLmhpZ2hsaWdodC10YWJsZScsICd0ZDpub3QoOmZpcnN0LWNoaWxkLCA6bGFzdC1jaGlsZCwgLm1hdC1mb290ZXItY2VsbCknLCBib3JkZXItY29sb3IsICR0YWJsZS1iYWNrZ3JvdW5kLWNvbG9yLCAkdGFibGUtYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgndGFibGUuaGlnaGxpZ2h0LXRhYmxlJywgJ3RkOm5vdCg6Zmlyc3QtY2hpbGQsIDpsYXN0LWNoaWxkLCAubWF0LWZvb3Rlci1jZWxsKScsIGJvcmRlci1yaWdodC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgndGFibGUuaGlnaGxpZ2h0LXRhYmxlJywgJ3RyOmhvdmVyIHRkJywgYm9yZGVyLXRvcC1jb2xvciwgJHRhYmxlLWhvdmVyLWJvcmRlci1jb2xvciwgJHRhYmxlLWhvdmVyLWJvcmRlci1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgndGFibGUuaGlnaGxpZ2h0LXRhYmxlJywgJ3RyOmhvdmVyIHRkJywgYm9yZGVyLWJvdHRvbS1jb2xvciwgJHRhYmxlLWhvdmVyLWJvcmRlci1jb2xvciwgJHRhYmxlLWhvdmVyLWJvcmRlci1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgndGFibGUuaGlnaGxpZ2h0LXRhYmxlJywgJ3RyOmhvdmVyIHRkOmZpcnN0LWNoaWxkJywgYm9yZGVyLCBub25lLCBub25lKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgndGFibGUuaGlnaGxpZ2h0LXRhYmxlJywgJ3RyOmhvdmVyIHRkOmxhc3QtY2hpbGQnLCBib3JkZXIsIG5vbmUsIG5vbmUpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCd0YWJsZS5oaWdobGlnaHQtdGFibGUnLCAndHI6aG92ZXIgdGQ6bnRoLWNoaWxkKDIpJywgYm9yZGVyLWxlZnQtY29sb3IsICR0YWJsZS1ob3Zlci1ib3JkZXItY29sb3IsICR0YWJsZS1ob3Zlci1ib3JkZXItY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ3RhYmxlLmhpZ2hsaWdodC10YWJsZScsICd0cjpob3ZlciB0ZDpudGgtbGFzdC1jaGlsZCgyKScsIGJvcmRlci1yaWdodC1jb2xvciwgJHRhYmxlLWhvdmVyLWJvcmRlci1jb2xvciwgJHRhYmxlLWhvdmVyLWJvcmRlci1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgndGFibGUuaGlnaGxpZ2h0LXRhYmxlJywgJ3RyOmhvdmVyIHRkLm1hdC1mb290ZXItY2VsbCcsIGJvcmRlciwgbm9uZSwgbm9uZSk7XG5cbi8qIDxhPiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGEsICcnLCBjb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkYWNjZW50LWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ2E6aG92ZXInLCAnJywgY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiA8YnV0dG9uPiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdidXR0b246ZGlzYWJsZWQnLCAnJywgY29sb3IsICRidXR0b24tZGlzYWJsZWQtY29sb3IsICRidXR0b24tZGlzYWJsZWQtY29sb3ItZGFyayk7XG4vLyAuYXBwLWljb24tYnV0dG9uIOKAlCBzdXJmYWNlIGhvdmVyL21lbnUtb3BlbiDDum5pY2EgcHJvcyA0IGJvdMO1ZXMgaWNvbi1vbmx5XG4vLyBkbyBKRU1TMyAoLnByb2ZpbGUtYnV0dG9uLCAudXNlci1tZW51LWJ1dHRvbiwgLmNvbW1hbmQtcGFsZXR0ZS10cmlnZ2VyLFxuLy8gLmZpbHRlci1idXR0b24pLiBUb2tlbnMgY2hhaXItc3R5bGUgcmVwbGljYWRvcyBlbSBhbWJvcyBvcyB0ZW1hcy5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLmFwcC1pY29uLWJ1dHRvbjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOm5vdCg6ZGlzYWJsZWQpOmhvdmVyJywgJycsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5hcHAtaWNvbi1idXR0b24ubWVudS1vcGVuJywgJycsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQtZGFyayk7XG5cbi8qIG1hdC1hY2NvcmRpb24gKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1hY2NvcmRpb24nLCAnLm1hdC1leHBhbnNpb24tcGFuZWwnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiBtYXQtZm9ybS1maWVsZCAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LWZvcm0tZmllbGQtaW5maXgnLCAnJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZScsICcnLCBjb2xvciwgJGJsYWNrLTEwMDAsICR3aGl0ZS0xMDAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGljaycsICcnLCBjb2xvciwgJGJsYWNrLTEwMDAsICR3aGl0ZS0xMDAwKTtcblxuLyogbWF0LWRpdmlkZXIgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1kaXZpZGVyJywgJycsIGJvcmRlci1ib3R0b20sIDFweCBzb2xpZCB3aGl0ZSwgMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMikpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LWRpdmlkZXInLCAnJywgYm9yZGVyLXRvcCwgJycsIDFweCBzb2xpZCBibGFjayk7XG5cbi8qIGFwcC1hZG1pbiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbiwgJy5hZG1pbicsIGJhY2tncm91bmQtY29sb3IsICRhZG1pbi1iYWNrZ3JvdW5kLCAkYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcblxuLyogYXBwLWFkbWluLW5hdmJhciAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1uYXZiYXIsICcuYWRtaW4tbmF2YmFyIG5hdicsIGJhY2tncm91bmQtY29sb3IsICRhZG1pbi1iYWNrZ3JvdW5kLCAkYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tbmF2YmFyLCAnLmxvZ28gaW1nJywgLXdlYmtpdC1maWx0ZXIsICcnLCBncmF5c2NhbGUoMSkgaW52ZXJ0KDEpKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tbmF2YmFyLCAnLmxvZ28gaW1nJywgZmlsdGVyLCAnJywgZ3JheXNjYWxlKDEpIGludmVydCgxKSk7XG5cbi8qIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubGFiZWwnLCBjb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1hdC1pY29uJywgY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvci1kYXJrKTtcblxuLy8g4pqg77iPIEEgcmVncmEgQUNJTUEgw6kgdW0gc2VsZXRvciBERVNDRU5ERU5URSBlIGBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhcmAgw6kgb1xuLy8gc2hlbGwgcXVlIGVudm9sdmUgVE9ETyBvIGNvbnRlw7pkbyBkYSBhZG1pbiAobyBgPHJvdXRlci1vdXRsZXQ+YCBkYXMgcMOhZ2luYXNcbi8vIHZpdmUgZGVudHJvIGRvIHRlbXBsYXRlIGRlbGUpLiBPdSBzZWphOiBlbGEgcGludGEgUVVBTFFVRVIgYC5tYXQtaWNvbmAgZGFcbi8vIMOhcmVhIGFkbWluaXN0cmF0aXZhLCBuw6NvIHPDsyBvcyBkbyBtZW51IOKAlCBlLCBjb21vIHJlZ3JhIGV4cGzDrWNpdGEgc2VtcHJlXG4vLyB2ZW5jZSBoZXJhbsOnYSwgdW0gw61jb25lIGRlbnRybyBkZSBib3TDo28gY29sb3JpZG8gbsOjbyBjb25zZWd1ZSBoZXJkYXIgYSBjb3Jcbi8vIGRvIGJvdMOjbyAow61jb25lIGVzY3VybyBzb2JyZSBmdW5kbyBhY2NlbnQsIGNvbSBvIHLDs3R1bG8gYnJhbmNvIGFvIGxhZG8pLlxuLy9cbi8vIENvcnJlw6fDo28gQ0lSw5pSR0lDQTogZGVudHJvIGRlIHVtIGBjaGFpci1idXR0b25gLCBvIMOtY29uZSB2b2x0YSBhIGhlcmRhci5cbi8vIEVzY29saGlkYSBwb3IgbWVkacOnw6NvIOKAlCByZXBpbnRhIFpFUk8gw61jb25lcyBleGlzdGVudGVzICh2ZXJpZmljYWRvIHBvciBDRFBcbi8vIGVtIDUgcMOhZ2luYXMgZGEgYWRtaW4pLCBlbnF1YW50byBvIHJlZXNjb3BvIGRvIHNlbGV0b3IgYWNpbWEgbXVkYXJpYSB+NDggZGVcbi8vIDEwOCDDrWNvbmVzIGRlIGNvbnRlw7pkbyBlIGV4aWdlIHJldmlzw6NvIHZpc3VhbCBkZWRpY2FkYS5cbi8vXG4vLyBPIHByZWZpeG8gZGUgdGVtYSDDqSBvIHF1ZSBkZWNpZGU6IHNlbSBlbGUgYSBlc3BlY2lmaWNpZGFkZSBlbXBhdGEgZW1cbi8vICgwLDIsMSkgY29tIGEgcmVncmEgYWNpbWEgZSBvIHJlc3VsdGFkbyBkZXBlbmRlcmlhIGRhIG9yZGVtIGRlIGluamXDp8Ojby5cbi8vIENvbSBlbGUgc29iZSBwcmEgKDAsMywxKSBlIHZlbmNlIGRlIGZvcm1hIGRldGVybWluw61zdGljYS5cbi8vXG4vLyBUb3JuYSBkZXNuZWNlc3PDoXJpb3Mgb3MgcGF0Y2hlcyBsb2NhaXMgcXVlIGNhZGEgcMOhZ2luYSB2aW5oYSByZXBldGluZG8uXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmNoYWlyLWJ1dHRvbiAubWF0LWljb24sXG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuY2hhaXItYnV0dG9uIC5tYXQtaWNvbiB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1hdC1zaWRlbmF2LWNvbnRlbnQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWRtaW4tYmFja2dyb3VuZCwgJGFkbWluLWJhY2tncm91bmQtZGFyayk7XG5cbi8vIEJhY2tncm91bmQgZG8gYm9keS9odG1sIOKAlCBlbSBkYXJrLCBzZW0gZXNzYSByZWdyYSBvIG92ZXJzY3JvbGxcbi8vIChib3VuY2UvcnViYmVyLWJhbmQgZG8gbWFjT1MvaU9TIHF1YW5kbyBzY3JvbGxhIGFsw6ltIGRvIGZpbmFsIGRhXG4vLyBww6FnaW5hKSByZXZlbGEgbyBicmFuY28gZGVmYXVsdCBkbyB1c2VyLWFnZW50LiBgLmRhcmstdGhlbWVgIGVzdMOhXG4vLyBubyBwcsOzcHJpbyBib2R5LCBlbnTDo28gdXNhbW9zIGNvbXBvdW5kIHNlbGVjdG9yIGVtIHZleiBkbyBtaXhpblxuLy8gKHF1ZSBwcmVmaXhhcmlhIGAuZGFyay10aGVtZSBib2R5YCBlIG7Do28gY2FzYXJpYSBjb20gbyBib2R5IHF1ZSBURU1cbi8vIGEgY2xhc3NlKS4gYDpoYXNgIG5vIGh0bWwgw6kgbmVjZXNzw6FyaW8gcG9ycXVlIGAuZGFyay10aGVtZWAgZXN0w6EgZW1cbi8vIGJvZHksIG7Do28gZW0gaHRtbC5cbmJvZHkubGlnaHQtdGhlbWUsXG5odG1sOmhhcyhib2R5LmxpZ2h0LXRoZW1lKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kO1xufVxuYm9keS5kYXJrLXRoZW1lLFxuaHRtbDpoYXMoYm9keS5kYXJrLXRoZW1lKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG59XG4vLyBIb3ZlciAvIGFjdGl2ZSBiYWNrZ3JvdW5kICsgdGV4dCBjb2xvciBmb3IgbWVudSBpdGVtcyBpbiB0aGUgQ2xhc3NpY1xuLy8gY3VzdG9tIHN1Ym1lbnUgKGAuY2xhc3NpYy1zdWJtZW51YCkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuc2lkZWJhciAuY2xhc3NpYy1zdWJtZW51IC5tYXQtbGlzdC1pdGVtOmhvdmVyJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5zaWRlYmFyIC5jbGFzc2ljLXN1Ym1lbnUgLm1hdC1saXN0LWl0ZW06aG92ZXInLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWNvbG9yLWRhcmspO1xuLy8gU2VsZWN0ZWQgYmFja2dyb3VuZCBtYXRjaGVzIE1vZGVybidzIGAuZXhwZXJpbWVudGFsLXNpZGViYXItY2hpbGQuYWN0aXZlYFxuLy8gKHNhbWUgdG9rZW4gYXMgdGhlIGhvdmVyIGJnIOKAlCBzZWxlY3RlZCByZWFkcyBhcyBhIHNsaWdodGx5IG11dGVkIHBpbGw7XG4vLyBlbXBoYXNpcyBjb21lcyBmcm9tIHRoZSBhY3RpdmUgdGV4dCBjb2xvciwgbm90IGEgdGludGVkIGZpbGwpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLnNpZGViYXIgLmNsYXNzaWMtc3VibWVudSAubGlzdC1pdGVtLWFjdGl2ZScsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayk7XG4vLyBUaGVtZS1hd2FyZSB0ZXh0IGNvbG9yOiB1bnNlbGVjdGVkIGl0ZW1zIHVzZSB0aGUgbGlnaHRlciB0b2tlbiwgc2VsZWN0ZWQgaXRlbXNcbi8vIHVzZSB0aGUgZGFya2VyIHRva2VuLiBXaXRob3V0IHRoZXNlIHRoZSBjb21wb25lbnQgU0NTUyBoYXJkY29kZXMgbGlnaHQgdmFsdWVzXG4vLyBpbiBib3RoIHRoZW1lcyAoZGFyayBtb2RlIHRoZW4gcmVuZGVycyB3aXRoIGxpZ2h0LW1vZGUgY29sb3JzKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5zaWRlYmFyIC5jbGFzc2ljLXN1Ym1lbnUgLm1hdC1saXN0LWl0ZW0nLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLnNpZGViYXIgLmNsYXNzaWMtc3VibWVudSAubGlzdC1pdGVtLWFjdGl2ZScsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbi8vIERyYWctaGFuZGxlIGdseXBoIChGYXZvcml0b3MgcmVvcmRlciBhZmZvcmRhbmNlKSDigJQgdGhlbWUtYXdhcmUgc29cbi8vIGl0J3MgdGhlIHN0cm9uZ2VzdCBhdmFpbGFibGUgY2hyb21lIHRvbmUgaW4gQk9USCBtb2RlcyAoYmxhY2staXNoXG4vLyBpbiBsaWdodCwgbmVhci13aGl0ZSBpbiBkYXJrKS4gVGhyZWUgc3VyZmFjZXMgc2hhcmUgdGhlIHNhbWUgbG9vazpcbi8vIGNsYXNzaWMgc3VibWVudSwgZXhwZXJpbWVudGFsIHNpZGViYXIgKGlubGluZSksIGFuZCBleHBlcmltZW50YWxcbi8vIGZseW91dC4gVGhlIGZseW91dCBpcyByZW5kZXJlZCBpbiB0aGUgQ0RLIG92ZXJsYXkgY29udGFpbmVyIGF0IGJvZHlcbi8vIHJvb3Qg4oCUIHNlbGVjdG9yIHRhcmdldHMgaXQgd2l0aG91dCB0aGUgYGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyYFxuLy8gY29tcG9uZW50IHNjb3BlLCBzbyB0aGUgZ2xvYmFsIHJ1bGUgKHdpdGhvdXQgY29tcG9uZW50IHdyYXBwZXIpIGlzXG4vLyBkZWNsYXJlZCBzZXBhcmF0ZWx5IGJlbG93LlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLnN1Ym1lbnUtZHJhZy1oYW5kbGUsIC5leHBlcmltZW50YWwtc2lkZWJhci1jaGlsZC1kcmFnLWhhbmRsZScsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbi8vIEZseW91dCBkcmFnIGhhbmRsZSBsaXZlcyBvdXRzaWRlIHRoZSBjb21wb25lbnQgc2NvcGUgKGJvZHktcm9vdFxuLy8gb3ZlcmxheSkuIFBsYWluIGdsb2JhbCBzZWxlY3RvcnMuXG4ubGlnaHQtdGhlbWUgLmV4cGVyaW1lbnRhbC1mbHlvdXQtZHJhZy1oYW5kbGUgeyBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlOyB9XG4uZGFyay10aGVtZSAgLmV4cGVyaW1lbnRhbC1mbHlvdXQtZHJhZy1oYW5kbGUgeyBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcms7IH1cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5sb2dvIGltZycsIC13ZWJraXQtZmlsdGVyLCBncmF5c2NhbGUoMSkgaW52ZXJ0KDEpLCAnJyk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubG9nbyBpbWcnLCBmaWx0ZXIsIGdyYXlzY2FsZSgxKSBpbnZlcnQoMSksICcnKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5uYXZiYXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLWFkbWluLWJhY2tncm91bmQsICRuYXZiYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5uYXZiYXInLCBib3gtc2hhZG93LCAwcHggMnB4IDVweCByZ2JhKDAsIDAsIDAsIC4yKSwgMHB4IDJweCA5cHggcmdiYSgwLCAwLCAwLCAuNSkpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm5hdmJhcicsIGJvcmRlci1ib3R0b20tY29sb3IsICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAkY2hyb21lLWJvcmRlci1kYXJrKTtcbi8vIFdvcmtzcGFjZSBiYXIgKFRQQyBjaGFpciBcIndpbmRvdyB0aXRsZVwiKSDigJQgc2l0cyBhYm92ZSB0aGUgdG9vbGJhciwgZnVsbFxuLy8gc2NyZWVuIHdpZHRoIHNvIGxvbmcgZXZlbnQgbmFtZXMgZml0LiBTbGFjay1zdHlsZSBpZGVudGlmaWVyIGJhbmQuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcud29ya3NwYWNlLWJhcicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcud29ya3NwYWNlLWJhcicsIGJvcmRlci1ib3R0b20tY29sb3IsICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAkY2hyb21lLWJvcmRlci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy53b3Jrc3BhY2UtYmFyIC53b3Jrc3BhY2UtdGl0bGUnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcud29ya3NwYWNlLWJhciAud29ya3NwYWNlLWljb24nLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLndvcmtzcGFjZS1iYXIgLndvcmtzcGFjZS1jaGV2cm9uJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbi8vIEpFTVMgbG9nbzogdGhlIFNWRyB2YXJpYW50IGxvYWRlZCBieSA8cGljdHVyZT4gaXMgd2hpdGUgKGRlc2lnbmVkIGZvciBkYXJrXG4vLyBiYWNrZ3JvdW5kcykuIEludmVydCBpdCBpbiBsaWdodCBtb2RlIHNvIGl0IHJlYWRzIG9uIHRoZSBvZmYtd2hpdGUgc3VyZmFjZS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy53b3Jrc3BhY2UtbG9nbyBpbWcnLCAtd2Via2l0LWZpbHRlciwgZ3JheXNjYWxlKDEpIGludmVydCgxKSwgJycpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLndvcmtzcGFjZS1sb2dvIGltZycsIGZpbHRlciwgZ3JheXNjYWxlKDEpIGludmVydCgxKSwgJycpO1xuLy8gRXhwZXJpbWVudGFsIHNpbmdsZSBzaWRlYmFyIChsZWZ0IG9mIGFjdGl2aXR5LWJhcikg4oCUIHNhbWUgc3VyZmFjZSB0b2tlbnNcbi8vIGFzIHRoZSBhY3Rpdml0eS1iYXIgLyBzdWJtZW51IHNvIHRoZSB0aHJlZSBjaHJvbWUgYmxvY2tzIHJlYWQgYXMgb25lXG4vLyBmYW1pbHkgZHVyaW5nIEEvQiBjb21wYXJpc29uLiBJdGVtIGNvbG9yICsgaG92ZXIvZXhwYW5kZWQgdG9rZW5zIG1pcnJvclxuLy8gdGhlIHN1Ym1lbnUgaXRlbXMgKGRlZmluZWQgZ3JheSDihpIgYWN0aXZlIGdyYXkgb24gaW50ZXJhY3Rpb24pLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC1zaWRlYmFyJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhcicsIGJvcmRlci1yaWdodC1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQsICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC1zaWRlYmFyJywgYm9yZGVyLXRvcC1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQsICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuLy8gRWRnZS1saW5lIGF0IHRoZSBzaWRlYmFyJ3MgcmlnaHQgZWRnZSDigJQgc2FtZSBgJGNocm9tZS1ib3JkZXItbGlnaHQvLWRhcmtgXG4vLyBwYWlyIHVzZWQgZWxzZXdoZXJlIGZvciB0aGUgcmVzdGluZyBzdGF0ZSwgcGx1cyB0aGUgYC1hY3RpdmVgIHZhcmlhbnRcbi8vIHdoZW4gdGhlIHVzZXIgaG92ZXJzL2RyYWdzIHRoZSByZXNpemUgaGFuZGxlIChzbGlnaHRseSBtb3JlIGNvbnRyYXN0XG4vLyB3aXRob3V0IGNvbW1pdHRpbmcgdG8gYW4gYWNjZW50IGNvbG9yKS5cbi8vIE1vZGVybidzIGV4cGVyaW1lbnRhbC1zaWRlYmFyIHJpZ2h0IGVkZ2Ug4oCUIGRpdmlkZXIgdmlhIGBib3JkZXItcmlnaHRgXG4vLyBvbiB0aGUgc2lkZWJhciBpdHNlbGYgKHJlc3Qgc3RhdGUpLCB3aXRoIGEgMXB4IGBib3gtc2hhZG93YCBvdXRzaWRlXG4vLyB0aGUgcmlnaHQgZWRnZSBvbiBob3Zlci9kcmFnIG9mIHRoZSByZXNpemUgaGFuZGxlIChhY3RpdmUgZW1waGFzaXMpLlxuLy8gU2FtZSBwYXR0ZXJuIGFwcGxpZWQgdG8gdGhlIENsYXNzaWMgc3VibWVudSdzIHJpZ2h0IGVkZ2UgKHNlZSBibG9ja1xuLy8gZnVydGhlciBkb3duKS4gTm8gc2VwYXJhdGUgYC5leHBlcmltZW50YWwtc2lkZWJhci1lZGdlLWxpbmVgIGVsZW1lbnRcbi8vIGV4aXN0cyBhbnltb3JlLlxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhciB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xufVxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyIHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItZGFyaztcbn1cblxuLy8gSG92ZXIgLyBkcmFnIOKAlCBib3JkZXIgY29sb3IgYnVtcHMgKyAxcHggYm94LXNoYWRvdyBvdXRzaWRlIGZvciB0aGVcbi8vIDJweCB0aW50ZWQgc3RyaXBlIGVmZmVjdCAoMXB4IGJvcmRlciBpbnNpZGUgKyAxcHggc2hhZG93IG91dHNpZGUpLlxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyLmhvdmVyaW5nLWV4cGVyaW1lbnRhbC1yZXNpemUtaGFuZGxlIC5leHBlcmltZW50YWwtc2lkZWJhcixcbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhci5yZXNpemluZy1leHBlcmltZW50YWwgLmV4cGVyaW1lbnRhbC1zaWRlYmFyIHtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmUgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMXB4IDAgMCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmUgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyLmhvdmVyaW5nLWV4cGVyaW1lbnRhbC1yZXNpemUtaGFuZGxlIC5leHBlcmltZW50YWwtc2lkZWJhcixcbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyLnJlc2l6aW5nLWV4cGVyaW1lbnRhbCAuZXhwZXJpbWVudGFsLXNpZGViYXIge1xuICBib3JkZXItcmlnaHQtY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDFweCAwIDAgJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmUgIWltcG9ydGFudDtcbn1cblxuLy8gQ2xhc3NpYyBzdWJtZW51J3MgZWRnZSBzdHlsaW5nIGlzIHJlbmRlcmVkIHZpYSBgbWF0LXNpZGVuYXZgJ3Mgb3duXG4vLyBgYm9yZGVyLXJpZ2h0YCAocmVzdCBzdGF0ZSkgcGx1cyBhIGBib3gtc2hhZG93YCAoaG92ZXIvZHJhZykg4oCUIHNlZVxuLy8gdGhlIGJsb2NrIHRpdGxlZCBcIkNMQVNTSUMgTEFZT1VUIOKAlCBzdWJtZW51J3MgcmlnaHQgYm9yZGVyXCIgZnVydGhlclxuLy8gZG93bi4gTm8gc2VwYXJhdGUgYC5zdWJtZW51LWVkZ2UtbGluZWAgZWxlbWVudCBleGlzdHMgYW55bW9yZS5cbi8vIEJvdHRvbSByYWlsIGJnIOKAlCBleHBsaWNpdCB0aGVtZSB0b2tlbnMgKHJhdGhlciB0aGFuIGBiYWNrZ3JvdW5kLWNvbG9yOlxuLy8gaW5oZXJpdGApIHNvIHRoZSBzdGlja3kgc3RyaXAgcmVsaWFibHkgb3BhcXVlLCBoaWRpbmcgc2Nyb2xsaW5nIGl0ZW1zXG4vLyBiZWhpbmQgaXQgaW5zdGVhZCBvZiBsZXR0aW5nIHRoZW0gYmxlZWQgdGhyb3VnaC5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhci1ib3R0b20nLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuLy8gU3RpY2t5IGhlYWRlciBpbnNpZGUgdGhlIHNjcm9sbGFibGUgaXRlbXMgYXJlYSDigJQgb3BhcXVlIGJnIHNvIGl0ZW1zXG4vLyBzY3JvbGxpbmcgdXAgZGlzYXBwZWFyIGJlaGluZCBpdCBpbnN0ZWFkIG9mIGJsZWVkaW5nIHRocm91Z2guXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXItaGVhZGVyJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbi8vIERpdmlkZXIgbGluZXMgb24gdGhlIGhlYWRlciAvIGJvdHRvbSByYWlsIOKAlCBzdXJmYWNlZCBvbmx5IHdoZW4gdGhlcmUnc1xuLy8gY29udGVudCBzY3JvbGxlZCBvdXQgb2YgdmlldyBhYm92ZSAoYC5oYXMtZGl2aWRlcmAgb24gaGVhZGVyKSBvciBiZWxvd1xuLy8gKGAuaGFzLWRpdmlkZXJgIG9uIGJvdHRvbSByYWlsKS4gRGVmYXVsdCBib3JkZXItY29sb3IgaXMgdHJhbnNwYXJlbnQgKHNldFxuLy8gaW4gdGhlIGNvbXBvbmVudCBTQ1NTIGFzIGEgc2hvcnRoYW5kIGBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnRgKVxuLy8gc28gdGhlIGxheW91dCBkb2Vzbid0IHNoaWZ0IHdoZW4gdGhlIGNsYXNzIHRvZ2dsZXMuIGAhaW1wb3J0YW50YCBpc1xuLy8gbmVlZGVkIGJlY2F1c2UgdGhlIHNob3J0aGFuZCBpbiB0aGUgY29tcG9uZW50IFNDU1MsIHdpdGggdmlldy1lbmNhcHN1bGF0aW9uXG4vLyBhdHRycywgaGFzIGhpZ2hlciBzcGVjaWZpY2l0eSAoMCw0LDApIHRoYW4gdGhlIHRoZW1lIHJ1bGUgKDAsMywxKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhci1oZWFkZXIuaGFzLWRpdmlkZXInLCBib3JkZXItYm90dG9tLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCAhaW1wb3J0YW50LCAkY2hyb21lLWJvcmRlci1kYXJrICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWJvdHRvbS5oYXMtZGl2aWRlcicsIGJvcmRlci10b3AtY29sb3IsICRjaHJvbWUtYm9yZGVyLWxpZ2h0ICFpbXBvcnRhbnQsICRjaHJvbWUtYm9yZGVyLWRhcmsgIWltcG9ydGFudCk7XG4vLyBEcm9wIHNoYWRvd3Mgb24gdGhlIGhlYWRlciAod2hlbiBzY3JvbGwtY2xpcHBlZCBhYm92ZSkgYW5kIGJvdHRvbSByYWlsXG4vLyAod2hlbiBzY3JvbGwtY2xpcHBlZCBiZWxvdykgd2VyZSByZW1vdmVkIHBlciBkZXNpZ24gZGVjaXNpb24g4oCUIHRoZVxuLy8gMXB4IGRpdmlkZXIgbGluZSBhbG9uZSBpcyBlbm91Z2ggdG8gY29udmV5IHRoZSBcImxpZnRlZFwiIGJvdW5kYXJ5LCBhbmRcbi8vIHRoZSBzaGFkb3cgYWRkZWQgdmlzdWFsIHdlaWdodCB0aGF0IGNvbXBldGVkIHdpdGggdGhlIHJlc3Qgb2YgdGhlXG4vLyBxdWlldCBjaGFpciBjaHJvbWUuIFJlLWFkZCB2aWEgYC5oYXMtZGl2aWRlcmAgLyBgLmhhcy1zaGFkb3dgIHJ1bGVzXG4vLyBoZXJlIGlmIHRoZSBsaWZ0IGN1ZSBpcyB3YW50ZWQgYWdhaW4uXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWl0ZW0nLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhci1pdGVtIC5tYXQtaWNvbicsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbi8vIEhvbWUtaWNvbiBkbyBicmFuZC1saW5rIChsb2dvIEpFTVMgKyBob21lIG5vIGV4cGFuZGVkIHNpZGViYXIpIOKAlCBtZXNtYVxuLy8gY29yIGFjdGl2ZSBkb3Mgw61jb25lcyBkb3MgaXRlbXMgcHJhIGJhdGVyIHZpc3VhbG1lbnRlIDE6MS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItaG9tZS1pY29uJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuLy8gSG9tZSBzdGFuZC1hbG9uZSBubyBjb2xsYXBzZWQg4oCUIGhvdmVyIGJnIGlndWFsIGFvcyBpdGVtcyBkYSByYWlsLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhci1ob21lLWNvbGxhcHNlZDpob3ZlcicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWl0ZW06aG92ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmspO1xuLy8gSG92ZXIgbGlmdHMgdGhlIGxhYmVsIHRleHQgdG8gdGhlIFNBTUUgYWN0aXZlIHRva2VuIHRoZSBpY29uIGFscmVhZHlcbi8vIHVzZXMg4oCUIGtlZXBzIGljb24gYW5kIGxhYmVsIHZpc3VhbGx5IGNvaGVyZW50IG9uIGhvdmVyIChib3RoIGF0IHRoZVxuLy8gXCJzZWxlY3RlZC9ob3ZlclwiIGludGVuc2l0eSBpbnN0ZWFkIG9mIGljb24gZGFyayArIHRleHQgcXVpZXQpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhci1pdGVtOmhvdmVyJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuLy8gQ09MTEFQU0VEIGxldmVsLTEgZ3JvdXAgY3VqbyBmaWxobyBlc3TDoSBuYSByb3RhIGF0dWFsIHJlY2ViZSBvIG1lc21vXG4vLyB2aXN1YWwgZG8gaG92ZXIg4oCUIHNlbSBpc3NvLCBmZWNoYXIgbyBncnVwbyBhcGFnYXJpYSBhIMO6bmljYSBwaXN0YVxuLy8gZGUgXCJ2b2PDqiBlc3TDoSBkZW50cm8gZGVzc2UgZ3J1cG9cIi5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItaXRlbS5oYXMtYWN0aXZlLWNoaWxkJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItaXRlbS5oYXMtYWN0aXZlLWNoaWxkJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuLy8gTGV2ZWwtMSBpdGVtcyBpbiB0aGUgZXhwYW5kZWQgc2lkZWJhciBkb24ndCBjYXJyeSBhIHBlcnNpc3RlbnRcbi8vIFwic2VsZWN0ZWRcIiBoaWdobGlnaHQg4oCUIHRoZSBleHBhbmQvY29sbGFwc2Ugc3RhdGUgaXMgY29udmV5ZWQgc29sZWx5XG4vLyBieSB0aGUgY2FyZXQgcm90YXRpb24gYW5kIHRoZSB2aXNpYmxlIGNoaWxkcmVuIHBhbmVsIGJlbG93LiAoV2FzXG4vLyBwYWludGluZyBgLmV4cGFuZGVkYCB3aXRoIHRoZSBob3ZlciBiZyArIGFjdGl2ZSBjb2xvcjsgcmVtb3ZlZCBhdFxuLy8gdGhlIHVzZXIncyByZXF1ZXN0Lilcbi8vIExldmVsLTIgY2hpbGQgcm93cyDigJQgZGVmYXVsdCArIGhvdmVyICsgcm91dGVyTGlua0FjdGl2ZSAoXCJhY3RpdmVcIiBjbGFzcykuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNoaWxkJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItY2hpbGQ6aG92ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhci1jaGlsZDpob3ZlcicsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbi8vIFNlbGVjdGVkICguYWN0aXZlKSBhbmQgaG92ZXIgc2hhcmUgdGhlIHNhbWUgYmFja2dyb3VuZCDigJQgY2hhaXIgVUkgZGVzaWduXG4vLyBydWxlOiBob3ZlciDiiaEgc2VsZWN0ZWQgZm9yIGFjdGl2ZS1zdGF0ZSBlbXBoYXNpcywgYm90aCBjbGVhcmx5IGRpc3RpbmN0XG4vLyBmcm9tIHJlc3QuIFRoZSBgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tc2VsZWN0ZWQtYmFja2dyb3VuZGAgdG9rZW4gaXNcbi8vIGtlcHQgZGVmaW5lZCAodXNlZCBlbHNld2hlcmUsIGUuZy4gdGhlIGxlZ2FjeSBuYXZiYXIpIGJ1dCBubyBsb25nZXJcbi8vIGFwcGxpZWQgaGVyZS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItY2hpbGQuYWN0aXZlJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItY2hpbGQuYWN0aXZlJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuLy8gSGVhZGVyIChsb2dvICsgY2xvc2UgYnV0dG9uKSDigJQgc2VwYXJhdG9yIGJlbG93ICsgYnV0dG9uIGhvdmVyIGJnICsgZGFyay1cbi8vIG1vZGUgbG9nbyBpbnZlcnQgKHNhbWUgcGF0dGVybiBhcyB0aGUgcHJldmlvdXNseSByZW1vdmVkIGxlZnQtY29sdW1uLWhlYWRlcikuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXItbG9nbyBpbWcnLCAtd2Via2l0LWZpbHRlciwgZ3JheXNjYWxlKDEpIGludmVydCgxKSwgJycpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWxvZ28gaW1nJywgZmlsdGVyLCBncmF5c2NhbGUoMSkgaW52ZXJ0KDEpLCAnJyk7XG4vLyBDbGFzc2ljIHRvb2xiYXIgbG9nbyDigJQgc2FtZSBmaWx0ZXIgdHJlYXRtZW50IGFzIHRoZSBNb2Rlcm4nc1xuLy8gZXhwZXJpbWVudGFsLXNpZGViYXIgbG9nbyBhYm92ZTogdGhlIHNoaXBwZWQgU1ZHIChgamVtcy1hbHQuc3ZnYCkgaXNcbi8vIHRoZSBXSElURSB2ZXJzaW9uIChkYXJrLW1vZGUgbmF0aXZlKSwgc28gbGlnaHQgbW9kZSBpbnZlcnRzIGl0IHRvXG4vLyBibGFjayB2aWEgZmlsdGVyLiBEYXJrIG1vZGUga2VlcHMgdGhlIG9yaWdpbmFsIHdoaXRlLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmFjdGl2aXR5LWJhci1sb2dvIGltZycsIC13ZWJraXQtZmlsdGVyLCBncmF5c2NhbGUoMSkgaW52ZXJ0KDEpLCAnJyk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuYWN0aXZpdHktYmFyLWxvZ28gaW1nJywgZmlsdGVyLCBncmF5c2NhbGUoMSkgaW52ZXJ0KDEpLCAnJyk7XG4vLyBTdGF0aWMgaWNvbiBjb2xvciBvbmx5IOKAlCBob3ZlciBiZyByZW1vdmVkIHBlciBkZXNpZ24gZGVjaXNpb24gKGtlZXBzXG4vLyB0aGUgdG9nZ2xlIGFzIGEgcXVpZXRlciBjaHJvbWUgZWxlbWVudCB3aXRoIG5vIGhvdmVyIGFmZm9yZGFuY2UpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNsb3NlLWJ1dHRvbiAubWF0LWljb24nLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG4vLyBCb3R0b20tcmFpbCBpZGVudGl0eSBibG9jayDigJQgc2FtZSBcImFjdGl2ZVwiIHRleHQgY29sb3IgdXNlZCBieSBleHBhbmRlZFxuLy8gbWVudSBpdGVtcyBzbyBpdCByZWFkcyBhcyBwcmltYXJ5IGluZm87IHRoZSBJRCBhbmQgZW1haWwgaW5oZXJpdCBhbmRcbi8vIG11dGUgdGhlbXNlbHZlcyB2aWEgdGhlIG9wYWNpdHkgcmFtcCBzZXQgaW4gdGhlIGNvbXBvbmVudCBTQ1NTLiBXaXRob3V0XG4vLyB0aGlzIHJ1bGUgdGhlIGJsb2NrIHdvdWxkIGZhbGwgYmFjayB0byB0aGUgZ2xvYmFsIGRlZmF1bHQgdGV4dCBjb2xvcixcbi8vIHdoaWNoIHJlbmRlcnMgdG9vIGRhcmsgaW4gZGFyay1tb2RlICh0aGUgc3ltcHRvbSB3ZSdyZSBmaXhpbmcgaGVyZSkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXVzZXItaW5mbycsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcblxuLy8gRHJhZy1hbmQtZHJvcCB2aXN1YWwgZmVlZGJhY2sgZm9yIHJlb3JkZXJpbmcgRmF2b3JpdG9zIGl0ZW1zLiBUaGVcbi8vIGAuY2RrLWRyYWctcHJldmlld2AgaXMgdGhlIGZsb2F0aW5nIGNsb25lIENESyByZW5kZXJzIGF0IHRoZSBib2R5IHJvb3Rcbi8vIHdoaWxlIHRoZSB1c2VyIGRyYWdzLiBDREsgY29waWVzIHRoZSBzb3VyY2UncyBjbGFzc2VzIGJ1dCB0aGUgY2xvbmUgaXNcbi8vIG91dHNpZGUgdGhlIGNvbXBvbmVudCdzIHZpZXcgZW5jYXBzdWxhdGlvbiwgc28gY29tcG9uZW50LXNjb3BlZCBydWxlc1xuLy8gZG9uJ3QgcmVhY2ggaXQg4oCUIHdlIHJlc3RhdGUgdGhlIHJvdyBnZW9tZXRyeSwgdHlwb2dyYXBoeSwgQU5EIGlubmVyXG4vLyBpY29uL2xhYmVsIHN0eWxlcyBoZXJlIHNvIHRoZSBmbG9hdGluZyBjbG9uZSBpcyBwaXhlbC1mYWl0aGZ1bCB0byB0aGVcbi8vIG9yaWdpbmFsIGxldmVsLTIgcm93LiBWaXN1YWxseSB0cmVhdGVkIGFzIGEgXCJob3ZlcmVkXCIgdmVyc2lvbiBvZiB0aGVcbi8vIHJvdyAoaG92ZXItYmcgKyBhY3RpdmUgdGV4dCBjb2xvcikgcGx1cyBhIHN1YnRsZSBlbGV2YXRpb24sIHNvIHRoZVxuLy8gbGlmdGVkIHN0YXRlIHJlYWRzIGFzIGEgc2libGluZyBvZiB0aGUgbWVudSdzIG93biBob3ZlciBhZmZvcmRhbmNlLlxuLmNkay1kcmFnLXByZXZpZXcuZXhwZXJpbWVudGFsLXNpZGViYXItY2hpbGQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IDI4cHg7XG4gIC8vIFBhZGRpbmctbGVmdCBtaXJyb3JzIHRoZSBzb3VyY2Ugcm93J3MgdmFsdWUgKGJ1bXBlZCBmcm9tIDIy4oaSMjYgaW5cbiAgLy8gdGhlIGNvbXBvbmVudCBTQ1NTIHRvIGxlYXZlIHJvb20gZm9yIHRoZSBkcmFnIGhhbmRsZSBpbiB0aGUgaW5kZW50XG4gIC8vIGd1dHRlcikuIFRoZSBoYW5kbGUgaXRzZWxmIGlzIGhpZGRlbiBpbnNpZGUgdGhlIHByZXZpZXcgKHNlZSBiZWxvdyksXG4gIC8vIGJ1dCB0aGUgcGFkZGluZyBzdGlsbCBoYXMgdG8gbWF0Y2ggc28gdGhlIGljb24gKyBsYWJlbCBzaXQgYXQgdGhlXG4gIC8vIHNhbWUgeCBpbiB0aGUgY2xvbmUgYXMgaW4gdGhlIHNvdXJjZSDigJQgb3RoZXJ3aXNlIHRoZSByb3cgdmlzaWJseVxuICAvLyBqdW1wcyB3aGVuIHRoZSB1c2VyIHBpY2tzIGl0IHVwLlxuICBwYWRkaW5nOiAwIDE0cHggMCAyNnB4O1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNDMwO1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC8vIExlYWRpbmcgaWNvbiDigJQgcmVzdGF0ZWQgYmVjYXVzZSB0aGUgY29tcG9uZW50LXNjb3BlZCBydWxlIGZvclxuICAvLyBgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNoaWxkLWljb25gIGRvZXNuJ3QgYXBwbHkgb3V0c2lkZSB0aGVcbiAgLy8gY29tcG9uZW50J3MgaG9zdCBhdHRyaWJ1dGUuIE1pcnJvcnMgdGhlIG9yaWdpbmFsIDE2cHggKDgwJSBvZlxuICAvLyBsZXZlbC0xKSBzaXppbmcgYW5kIHRoZSBzYW1lIE1hdGVyaWFsIFN5bWJvbHMgdmFyaWFibGUgYXhlcy5cbiAgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNoaWxkLWljb24ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgLy8gTWlycm9ycyB0aGUgc291cmNlIHJvdydzIDhweCAod2FzIDEwKSBzbyB0aGUgZmxvYXRpbmcgcHJldmlld1xuICAgIC8vIGRvZXNuJ3Qgc2hpZnQgdGhlIGxhYmVsIGhvcml6b250YWxseSB3aGVuIHRoZSB1c2VyIGdyYWJzIHRoZSByb3cuXG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdvcHN6JyAyMCwgJ3dnaHQnIDMwMCwgJ0ZJTEwnIDA7XG4gIH1cblxuICAvLyBMYWJlbCDigJQgZmxleC1ncm93IHdpdGggZWxsaXBzaXMgc28gYSBsb25nIGxhYmVsIHRydW5jYXRlcyBjbGVhbmx5XG4gIC8vIGluc2lkZSB0aGUgZml4ZWQtd2lkdGggcHJldmlldyBjbG9uZSAoQ0RLIHBpbnMgdGhlIHByZXZpZXcncyB3aWR0aFxuICAvLyB0byB0aGUgc291cmNlJ3MgY2xpZW50V2lkdGgpLlxuICAuZXhwZXJpbWVudGFsLXNpZGViYXItY2hpbGQtbGFiZWwge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIH1cblxuICAvLyBUcmFpbGluZyBmYXZvcml0ZSBzdGFyIGlzIHN1cHByZXNzZWQgaW5zaWRlIHRoZSBwcmV2aWV3IOKAlCB0aGUgZHJhZ1xuICAvLyBnZXN0dXJlIGl0c2VsZiBjb252ZXlzIFwiYWN0aXZlIGl0ZW1cIiwgYW5kIHRoZSBzdGFyJ3MgaG92ZXItZHJpdmVuXG4gIC8vIHZpc2liaWxpdHkgd291bGRuJ3QgZmlyZSBvbiB0aGUgc3RhbmRhbG9uZSBjbG9uZSBhbnl3YXkuIFNhbWUgZm9yXG4gIC8vIHRoZSBsZWFkaW5nIGRyYWcgaGFuZGxlIOKAlCBpdHMgcm9sZSAoc2lnbmFsaW5nIGRyYWcgYWZmb3JkYW5jZSkgaXNcbiAgLy8gbW9vdCBvbmNlIHRoZSB1c2VyIGlzIGFscmVhZHkgZHJhZ2dpbmcuXG4gIC5leHBlcmltZW50YWwtc2lkZWJhci1jaGlsZC1mYXZvcml0ZS1idG4sXG4gIC5leHBlcmltZW50YWwtc2lkZWJhci1jaGlsZC1kcmFnLWhhbmRsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLmxpZ2h0LXRoZW1lIC5jZGstZHJhZy1wcmV2aWV3LmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNoaWxkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZTtcbiAgYm94LXNoYWRvdzogJHNoYWRvdy1mbG9hdGluZy1saWdodDtcbn1cbi5kYXJrLXRoZW1lIC5jZGstZHJhZy1wcmV2aWV3LmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNoaWxkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrO1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcms7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3ctZmxvYXRpbmctZGFyaztcbn1cblxuLy8gUGxhY2Vob2xkZXIgbGVmdCBiZWhpbmQgaW4gdGhlIG9yaWdpbmFsIHNsb3Qg4oCUIGRpbW1lZCB0byBhIFwiZ2hvc3RcIlxuLy8gc3RhdGUgc28gdGhlIHVzZXIgc2VlcyB3aGVyZSB0aGUgcm93IHdhcyBzaXR0aW5nIGFuZCBnYXVnZXMgd2hlcmVcbi8vIHRoZSBkcm9wIHdpbGwgbGFuZCBpZiB0aGV5IHJlbGVhc2Ugb3ZlciB0aGUgc2FtZSBzbG90LiBTYW1lIGdlb21ldHJ5XG4vLyBhcyB0aGUgcm93IChDREsgY2xvbmVzIGl0KSBzbyB0aGUgc3Vycm91bmRpbmcgaXRlbXMgZG9uJ3Qgc2hpZnQuXG4uY2RrLWRyYWctcGxhY2Vob2xkZXIuZXhwZXJpbWVudGFsLXNpZGViYXItY2hpbGQge1xuICBvcGFjaXR5OiAwLjI1O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLy8gU21vb3RoIHNoaWZ0IGZvciB0aGUgT1RIRVIgaXRlbXMgYXMgdGhleSBhbmltYXRlIHRvIGZpbGwgdGhlIG1vdmVkXG4vLyByb3cncyBvbGQgc2xvdCAvIG1ha2Ugcm9vbSBmb3IgdGhlIG5ldyBwb3NpdGlvbi4gQ0RLIGFwcGxpZXNcbi8vIGAuY2RrLWRyYWctYW5pbWF0aW5nYCBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSBhdXRvLXRyYW5zbGF0ZTsgdGhlXG4vLyBgY2RrLWRyb3AtbGlzdC1kcmFnZ2luZ2AgY2xhc3Mgb24gdGhlIGNvbnRhaW5lciBsZXRzIHVzIHNjb3BlIHRoZVxuLy8gdHJhbnNpdGlvbiB0byBvbmx5IHdoZW4gYSBkcmFnIGlzIGluIHByb2dyZXNzIChvdGhlcndpc2UgdW5yZWxhdGVkXG4vLyByZS1yZW5kZXJzIGluaGVyaXQgdGhlIGVhc2luZykuXG4uY2RrLWRyb3AtbGlzdC1kcmFnZ2luZyAuZXhwZXJpbWVudGFsLXNpZGViYXItY2hpbGQ6bm90KC5jZGstZHJhZy1wbGFjZWhvbGRlcikge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgJGVhc2Utb3V0O1xufVxuXG4vLyAtLS0tLS0tLS0tIEZseW91dCBkcmFnLWFuZC1kcm9wIHZpc3VhbCBmZWVkYmFjayAtLS0tLS0tLS0tXG4vLyBUaGUgRmF2b3JpdG9zIGZseW91dCAoY29sbGFwc2VkLW1vZGUgbWF0LW1lbnUpIHN1cHBvcnRzIHRoZSBzYW1lIGRyYWctXG4vLyByZW9yZGVyIGdlc3R1cmUgYXMgdGhlIGlubGluZSBsZXZlbC0yIGxpc3QuIFByZXZpZXcgLyBwbGFjZWhvbGRlciAvXG4vLyBhbmltYXRpbmctcm93IHRyZWF0bWVudHMgbWlycm9yIHRoZSBpbmxpbmUgcnVsZXMgYWJvdmU7IHRoZSBzb3VyY2Ugcm93XG4vLyBnZW9tZXRyeSByZXN0YXRlZCBoZXJlIGlzIGZvciB0aGUgYC5jZGstZHJhZy1wcmV2aWV3YCBjbG9uZSAocmVuZGVyZWRcbi8vIGF0IGJvZHkgcm9vdCwgb3V0c2lkZSB0aGUgZmx5b3V0J3MgbWF0LW1lbnUgc3R5bGVzKS5cbi5jZGstZHJhZy1wcmV2aWV3LmV4cGVyaW1lbnRhbC1mbHlvdXQtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGhlaWdodDogMzJweDtcbiAgcGFkZGluZzogNnB4IDE0cHggNnB4IDI2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDMwO1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5leHBlcmltZW50YWwtZmx5b3V0LWNoaWxkLWljb24ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdvcHN6JyAyMCwgJ3dnaHQnIDMwMCwgJ0ZJTEwnIDA7XG4gIH1cbiAgPiBzcGFuIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB9XG4gIC8vIERyYWcgaGFuZGxlICsgZmF2b3JpdGUgc3RhciBoaWRkZW4gaW4gdGhlIHByZXZpZXcg4oCUIG5laXRoZXIgcm9sZVxuICAvLyBhcHBsaWVzIGR1cmluZyB0aGUgbGlmdGVkIGRyYWcgc3RhdGUuXG4gIC5leHBlcmltZW50YWwtZmx5b3V0LWRyYWctaGFuZGxlLFxuICAuZXhwZXJpbWVudGFsLWZseW91dC1mYXZvcml0ZS1idG4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5saWdodC10aGVtZSAuY2RrLWRyYWctcHJldmlldy5leHBlcmltZW50YWwtZmx5b3V0LWl0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlO1xuICBib3gtc2hhZG93OiAkc2hhZG93LWZsb2F0aW5nLWxpZ2h0O1xufVxuLmRhcmstdGhlbWUgLmNkay1kcmFnLXByZXZpZXcuZXhwZXJpbWVudGFsLWZseW91dC1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrO1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcms7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3ctZmxvYXRpbmctZGFyaztcbn1cblxuLmNkay1kcmFnLXBsYWNlaG9sZGVyLmV4cGVyaW1lbnRhbC1mbHlvdXQtaXRlbSB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLmNkay1kcm9wLWxpc3QtZHJhZ2dpbmcgLmV4cGVyaW1lbnRhbC1mbHlvdXQtaXRlbTpub3QoLmNkay1kcmFnLXBsYWNlaG9sZGVyKSB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyAkZWFzZS1vdXQ7XG59XG5cbi8vIC0tLS0tLS0tLS0gQ2xhc3NpYyBzdWJtZW51IGRyYWctYW5kLWRyb3AgdmlzdWFsIGZlZWRiYWNrIC0tLS0tLS0tLS1cbi8vIFRoZSBDbGFzc2ljIGxheW91dCdzIHN1Ym1lbnUgKGA8bWF0LXNpZGVuYXY+YCArIGA8bWF0LWxpc3Q+YCkgc3VwcG9ydHNcbi8vIHRoZSBzYW1lIGRyYWctcmVvcmRlciBnZXN0dXJlIGFzIHRoZSBNb2Rlcm4ncyBsZXZlbC0yIGNoaWxkcmVuLiBUaGVcbi8vIGAuY2RrLWRyYWctcHJldmlld2AgY2xvbmUgaXMgcmVuZGVyZWQgYXQgdGhlIGJvZHkgcm9vdCAob3V0c2lkZSB0aGVcbi8vIGNvbXBvbmVudCdzIHZpZXcgZW5jYXBzdWxhdGlvbiksIHNvIHdlIHJlc3RhdGUgdGhlIHJvdyBnZW9tZXRyeSArXG4vLyB0aGVtZSB0cmVhdG1lbnQgaGVyZSBzbyB0aGUgZmxvYXRpbmcgcHJldmlldyBsb29rcyBsaWtlIGEgaG92ZXJlZFxuLy8gdmVyc2lvbiBvZiB0aGUgc291cmNlIHJvdy5cbi5jZGstZHJhZy1wcmV2aWV3Lm1hdC1saXN0LWl0ZW0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IDM2cHg7XG4gIHBhZGRpbmc6IDAgMTRweCAwIDE0cHg7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXM7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDQzMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAvLyBNYXRlcmlhbCdzIGlubmVyIHdyYXBwZXIg4oCUIHJlc3RhdGVkIG91dHNpZGUgdGhlIGNvbXBvbmVudCdzIHZpZXdcbiAgLy8gZW5jYXBzdWxhdGlvbi4gVGhlIHNvdXJjZSByb3cncyBgOjpuZy1kZWVwIC5tYXQtbGlzdC1pdGVtLWNvbnRlbnRgXG4gIC8vIHJ1bGUgKGRpc3BsYXk6IGZsZXgpIGRvZXNuJ3QgcmVhY2ggdGhlIHByZXZpZXcgY2xvbmUgKHJlbmRlcmVkIGF0XG4gIC8vIDxib2R5PiByb290KS4gV2l0aG91dCB0aGlzLCB0aGUgbGFiZWwgLyBoYW5kbGUgLyBzdGFyIGluc2lkZSB0aGVcbiAgLy8gd3JhcHBlciBzdGFjayB2ZXJ0aWNhbGx5IChkZWZhdWx0IGJsb2NrIGZsb3cpIGFuZCB0aGUgcHJldmlld1xuICAvLyBsb29rcyBub3RoaW5nIGxpa2UgdGhlIHNvdXJjZSByb3cuXG4gIC5tYXQtbGlzdC1pdGVtLWNvbnRlbnQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gSGFuZGxlIC8gc3RhciBrZXB0IGFzIGZsZXggc2xvdHMgKHZpc2liaWxpdHk6IGhpZGRlbikgc28gdGhlXG4gIC8vIGxhYmVsJ3MgYXZhaWxhYmxlIHdpZHRoIG1hdGNoZXMgdGhlIHNvdXJjZSByb3cgZXhhY3RseSDigJQgc2FtZVxuICAvLyB0cnVuY2F0aW9uIHBvaW50LCBzYW1lIHdyYXAgYmVoYXZpb3IuXG4gIC5zdWJtZW51LWRyYWctaGFuZGxlIHtcbiAgICBmbGV4OiAwIDAgMTRweDtcbiAgICB3aWR0aDogMTRweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLnN1Ym1lbnUtaXRlbS1sYWJlbCB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxuXG4gIC5zdWJtZW51LWZhdm9yaXRlLWJ0biB7XG4gICAgZmxleDogMCAwIDE2cHg7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG4ubGlnaHQtdGhlbWUgLmNkay1kcmFnLXByZXZpZXcubWF0LWxpc3QtaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmU7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3ctZmxvYXRpbmctbGlnaHQ7XG59XG4uZGFyay10aGVtZSAuY2RrLWRyYWctcHJldmlldy5tYXQtbGlzdC1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrO1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcms7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3ctZmxvYXRpbmctZGFyaztcbn1cblxuLy8gUGxhY2Vob2xkZXIgbGVmdCBpbiB0aGUgc291cmNlIHNsb3Qg4oCUIGRpbW1lZCBnaG9zdCBzbyB0aGUgdXNlciBzZWVzXG4vLyB3aGVyZSB0aGUgcm93IHdhcyBiZWZvcmUgdGhleSBncmFiYmVkIGl0LlxuLmNkay1kcmFnLXBsYWNlaG9sZGVyLm1hdC1saXN0LWl0ZW0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLy8gU21vb3RoIHNoaWZ0IGZvciBzaWJsaW5nIHJvd3MgYXMgdGhleSBzbGlkZSB0byBmaWxsIHRoZSBtb3ZlZCByb3cnc1xuLy8gb2xkIHNsb3QuIFNjb3BlZCB0byBgLmNkay1kcm9wLWxpc3QtZHJhZ2dpbmdgIHNvIHVucmVsYXRlZCByZS1yZW5kZXJzXG4vLyBkb24ndCBwaWNrIHVwIHRoZSBlYXNpbmcuXG4uY2RrLWRyb3AtbGlzdC1kcmFnZ2luZyAubWF0LWxpc3QtaXRlbTpub3QoLmNkay1kcmFnLXBsYWNlaG9sZGVyKSB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyAkZWFzZS1vdXQ7XG59XG5cbi8vIEV2ZW50LWhpZXJhcmNoeSBicmVhZGNydW1iIOKAlCBzaXRzIGF0IHRoZSB0b3Agb2YgdGhlIGNvbnRlbnQgYXJlYS4gU2FtZVxuLy8gYmFja2dyb3VuZCBhcyB0aGUgc2lkZWJhciBzbyB0aGUgY2hyb21lIHJlYWRzIGFzIGEgc2luZ2xlIGhvcml6b250YWxcbi8vIGJhbmQgY29udGludWluZyBhY3Jvc3MgdGhlIHRvcC4gVGV4dCArIGhvdmVyIHVzZSB0aGUgc2FtZSBtZW51aXRlbVxuLy8gdG9rZW5zIGZvciBjb25zaXN0ZW5jeSB3aXRoIHRoZSByZXN0IG9mIHRoZSBjaGFpciBVSS5cbi8vIEJyZWFkY3J1bWIgY2hyb21lIOKAlCBzYW1lIHN1cmZhY2UgYXMgdGhlIHNpZGViYXIgKGJhY2tncm91bmQpIGFuZCB0aGVcbi8vIHNhbWUgZGl2aWRlciB0b25lIChib3JkZXItYm90dG9tKS4gU2VnbWVudCB0ZXh0IGZvbGxvd3MgdGhlIGxldmVsLTFcbi8vIHNpZGViYXIgaXRlbXMnIHJhbXA6IG11dGVkIGBtZW51aXRlbS1jb2xvcmAgYnkgZGVmYXVsdCwgYnJpZ2h0ZXJcbi8vIGBtZW51aXRlbS1jb2xvci1hY3RpdmVgIG9uIGhvdmVyIC8gY3VycmVudCAvIGljb24uIEhvdmVyIGJhY2tncm91bmRcbi8vIG1pcnJvcnMgdGhlIHNpZGViYXIgaXRlbSBob3ZlciB0b28sIHNvIHRoZSBoaWdobGlnaHQgcmVhZHMgYXMgYSBzaWJsaW5nLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1icmVhZGNydW1iLCAnLmV2ZW50LWJyZWFkY3J1bWInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1icmVhZGNydW1iLCAnLmV2ZW50LWJyZWFkY3J1bWInLCBib3JkZXItYm90dG9tLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LWJyZWFkY3J1bWIsICcuZXZlbnQtYnJlYWRjcnVtYicsIGJvcmRlci10b3AtY29sb3IsICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAkY2hyb21lLWJvcmRlci1kYXJrKTtcblxuLy8gQ0xBU1NJQyBMQVlPVVQg4oCUIHN1Ym1lbnUncyByaWdodCBib3JkZXIgZG91YmxlcyBhcyB0aGUgdmlzdWFsIHNlcGFyYXRvclxuLy8gQU5EIHRoZSByZXNpemUtbGluZSBhZmZvcmRhbmNlLiBBdCByZXN0LCB0aGUgYm9yZGVyIHVzZXMgdGhlIGNocm9tZS1cbi8vIGRpdmlkZXIgdG9uZTsgd2hlbiB0aGUgdXNlciBob3ZlcnMgdGhlIHJlc2l6ZSBoYW5kbGUgKG9yIGlzIG1pZC1kcmFnKSxcbi8vIHRoZSBib3JkZXIgYnVtcHMgdG8gdGhlIGAtYWN0aXZlYCB0b2tlbi4gVGhlIGJvcmRlciBpcyBwYXJ0IG9mIHRoZVxuLy8gc3VibWVudSdzIG93biBib3ggKHdpdGggYGJveC1zaXppbmc6IGJvcmRlci1ib3hgKSBzbyBpdCBzbGlkZXMgaW4gd2l0aFxuLy8gdGhlIG1hdC1zaWRlbmF2IGFuaW1hdGlvbiBuYXR1cmFsbHkg4oCUIG5vIGAuc3VibWVudS1lZGdlLWxpbmVgIG92ZXJsYXlcbi8vIG5lZWRlZCBmb3IgdGhlIHNlcGFyYXRvci4gVGhlbWUtYXdhcmUgKyBgIWltcG9ydGFudGAgKHRvIGJlYXQgdGhlIGJhc2Vcbi8vIGBib3JkZXItcmlnaHQ6IG5vbmUgIWltcG9ydGFudGAgYXQgYWRtaW4tZXZlbnQtc2lkZWJhci5jb21wb25lbnQuc2Nzc1xuLy8gbGluZSB+MTMzMCkuXG4vLyBCYWNrZ3JvdW5kICsgdGhlbWUgdG9rZW5zLiAoVGhlIE1hdGVyaWFsIG1hdC1zaWRlbmF2IHJ1bGVzIGF0IGxpbmVzXG4vLyAxMzItMTQ1IHN0aWxsIGFwcGx5LCBidXQgbWF0LXNpZGVuYXYgaXMgbm93IGVtcHR5L2RlY29yYXRpdmUgaW5cbi8vIENsYXNzaWMg4oCUIGtlcHQgb25seSBhcyBhIHN0cnVjdHVyYWwgcGxhY2Vob2xkZXIgZm9yIHRoZSBNYXRlcmlhbFxuLy8gbWF0LXNpZGVuYXYtY29udGFpbmVyLiBUaGUgdmlzaWJsZSBzdWJtZW51IGlzIGAuY2xhc3NpYy1zdWJtZW51YC4pXG4vL1xuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5jbGFzc2ljLXN1Ym1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kO1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xufVxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmNsYXNzaWMtc3VibWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyaztcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWRhcms7XG59XG4vLyBIb3ZlciAvIGRyYWcg4oCUIGJvcmRlciBjb2xvciBidW1wcyArIGEgSEFSRCAxcHggYm94LXNoYWRvdyBvdXRzaWRlXG4vLyAob3ZlcnJpZGVzIHRoZSBkaWZmdXNlIHJlc3Qtc3RhdGUgc2hhZG93IHNvIHRoZSBhY3RpdmUgZWRnZSByZWFkcyBhc1xuLy8gYSBjcmlzcCAycHggdGludGVkLXN0cmlwZSBpbnN0ZWFkIG9mIGEgZnV6enkgaGFsbykuXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLnNpZGViYXIuaG92ZXJpbmctcmVzaXplLWhhbmRsZSAuY2xhc3NpYy1zdWJtZW51LFxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyLnJlc2l6aW5nLXN1Ym1lbnUgLmNsYXNzaWMtc3VibWVudSB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlO1xuICBib3gtc2hhZG93OiAxcHggMCAwICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTtcbn1cbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyLmhvdmVyaW5nLXJlc2l6ZS1oYW5kbGUgLmNsYXNzaWMtc3VibWVudSxcbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyLnJlc2l6aW5nLXN1Ym1lbnUgLmNsYXNzaWMtc3VibWVudSB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmU7XG4gIGJveC1zaGFkb3c6IDFweCAwIDAgJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmU7XG59XG5cbi8vIENMQVNTSUMgTEFZT1VUIOKAlCBicmVhZGNydW1iIGlzIGEgcGVybWFuZW50IHN0cmlwIGF0IHRoZSB2ZXJ5IHRvcCBvZlxuLy8gdGhlIHdpbmRvdy4gVGhlIGNvbXBvbmVudCBob3N0IGhhcyB6ZXJvIGZsb3cgaGVpZ2h0ICh0aGUgaW5uZXJcbi8vIGAuZXZlbnQtYnJlYWRjcnVtYmAgaXMgYHBvc2l0aW9uOiBmaXhlZGAgYW5kIHBhaW50cyBpdHNlbGYpOyB0aGVcbi8vIHRvb2xiYXIvY2FudmFzL3N1Ym1lbnUgb2Zmc2V0cyBpbiB0aGUgY29tcG9uZW50IFNDU1MgcmVzZXJ2ZSB0aGVcbi8vIDM2cHggZm9yIGl0LlxuLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKSBhcHAtZXZlbnQtYnJlYWRjcnVtYiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG59XG4uc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpIGFwcC1ldmVudC1icmVhZGNydW1iIC5ldmVudC1icmVhZGNydW1iIHtcbiAgLy8gQ29uc29tZSBvZmZzZXQgYWdyZWdhZG8gZGUgY2hyb21lIChwcm94eS1iYXIgZXRjLikg4oCUIGJhc2VsaW5lIDBcbiAgLy8gcHJvIGxheW91dCBDbMOhc3NpY28gKGJyZWFkY3J1bWIgZmljYSBubyB0b3BvLCBhbnRlcyBkbyBhY3Rpdml0eS1iYXIpLlxuICAvLyBBbnRlcyBlcmEgYHRvcDogMGAgaGFyZC1jb2RlZDsgc2VtIGVzc2EgdmFyLCBwcm94eS1iYXIgZmljYXZhIGF0csOhcy5cbiAgdG9wOiB2YXIoLS1jaHJvbWUtdG9wLW9mZnNldCk7XG4gIC8vIGAkei1icmVhZGNydW1iYCBzbG90cyBhYm92ZSB0aGUgcmVzaXplIGhhbmRsZXMgYW5kIHRvb2xiYXIgYnV0XG4gIC8vIGJlbG93IENESyBvdmVybGF5cyAodG9vbHRpcHMsIG1lbnVzKS4gSGllcmFyY2h5OiBzZWUgYF96LWluZGV4LnNjc3NgLlxuICB6LWluZGV4OiAkei1icmVhZGNydW1iO1xufVxuLy8gRGFyayBtb2RlLCBDbGFzc2ljIG9ubHk6IHRoZSBmbG9hdGluZyBicmVhZGNydW1iIHNpdHMgb24gdGhlIHNhbWVcbi8vIGAjMjAyMDIwYCBjaHJvbWUgYXMgdGhlIHRvb2xiYXIsIHNvIHRoZSBzZWdtZW50cycgMC42NS1vcGFjaXR5IGRpbVxuLy8gKHdoaWNoIHJlYWRzIGZpbmUgaW4gTW9kZXJuLCB3aGVyZSB0aGUgYnJlYWRjcnVtYiBmbG9hdHMgb3ZlciB0aGVcbi8vIGJsYWNrIGNhbnZhcykgZW5kcyB1cCBmYWRlZCBpbnRvIHRoZSBzdXJyb3VuZGluZyBiZy4gQ29tcGVuc2F0ZSBieVxuLy8gcHJvbW90aW5nIHRoZSBub24tY3VycmVudCBzZWdtZW50IHRleHQgdG8gdGhlIGJyaWdodGVyIGFjdGl2ZSB0b2tlblxuLy8g4oCUIHJlc3RvcmVzIHRoZSBwZXJjZWl2ZWQgbGVnaWJpbGl0eSB0byBtYXRjaCBNb2Rlcm4uXG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpIGFwcC1ldmVudC1icmVhZGNydW1iIC5ldmVudC1icmVhZGNydW1iLXNlZ21lbnQge1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcms7XG59XG4vLyBEZWZhdWx0IHNlZ21lbnQgdGV4dDogbXV0ZWQgdG9rZW4gKGNoYWlyIFVJIFwicmVzdFwiIGNvbG9yKS4gSG9tZSBpY29uXG4vLyBhbmQgaW50ZXJtZWRpYXRlcyBpbmhlcml0IHRoaXMg4oCUIGdpdmVzIHRoZW0gdGhlIFwibGlnaHRcIiB0cmVhdG1lbnQgcGVyXG4vLyB0aGUgZGVzaWduIHJ1bGUgXCJob21lICsgaW50ZXJtZWRpYXRlcyBsaWdodGVyLCBjdXJyZW50IGhpZ2hsaWdodGVkXCIuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LWJyZWFkY3J1bWIsICcuZXZlbnQtYnJlYWRjcnVtYi1zZWdtZW50JywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbi8vIEN1cnJlbnQgc2VnbWVudCB1c2VzIHRoZSBicmlnaHRlciBgbWVudWl0ZW0tY29sb3ItYWN0aXZlYCDigJQgc2FtZSB0b2tlblxuLy8gdGhlIHNpZGViYXIgdXNlcyBmb3Igc2VsZWN0ZWQgaXRlbXMuIENvbWJpbmVkIHdpdGggdGhlIHdnaHQgNTAwIGJ1bXBcbi8vIG9uIGAuZXZlbnQtYnJlYWRjcnVtYi1sYWJlbC1zdHJvbmdgICh0aGUgYWNyb255bSArIHllYXIgcHJlZml4KSwgdGhpc1xuLy8gZ2l2ZXMgdGhlIGN1cnJlbnQgZXZlbnQgYSBjbGVhciBcInlvdSBhcmUgaGVyZVwiIGVtcGhhc2lzLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1icmVhZGNydW1iLCAnLmV2ZW50LWJyZWFkY3J1bWItc2VnbWVudC5jdXJyZW50JywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuLy8gSG92ZXIgYWZmb3JkYW5jZXMgb24gZXZlcnkgaW50ZXJhY3RpdmUgc2VnbWVudCB2YXJpYW50IOKAlCBhbmNob3JzXG4vLyAobGlua2VkIHNlZ21lbnRzKSBBTkQgYnV0dG9ucyAodGhlIHN1Yi1ldmVudHMgdHJpZ2dlcikuIFNwYW4gZmFsbGJhY2tzXG4vLyAoZWxsaXBzaXMsIHVubGlua2VkIGN1cnJlbnQpIHN0YXkgb3V0IG9mIHRoZXNlIHJ1bGVzIHNvIHRoZXkgZG9uJ3Rcbi8vIHByZXRlbmQgdG8gYmUgaW50ZXJhY3RpdmUuIENvdmVycyByZWd1bGFyIGludGVybWVkaWF0ZXMsIHRoZSBjdXJyZW50XG4vLyBldmVudCdzIGFuY2hvciAod2hpY2ggbGlua3MgdG8gdGhlIGV2ZW50J3MgXCJJbmZvcm1hw6fDtWVzXCIgcGFnZSksIGFuZFxuLy8gdGhlIHRyYWlsaW5nIFwi4oCmXCIgYnV0dG9uIHRoYXQgb3BlbnMgdGhlIHN1Yi1ldmVudHMgbWVudS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtYnJlYWRjcnVtYiwgJ2EuZXZlbnQtYnJlYWRjcnVtYi1zZWdtZW50OmhvdmVyLCBidXR0b24uZXZlbnQtYnJlYWRjcnVtYi1zZWdtZW50OmhvdmVyJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1icmVhZGNydW1iLCAnYS5ldmVudC1icmVhZGNydW1iLXNlZ21lbnQ6aG92ZXIsIGJ1dHRvbi5ldmVudC1icmVhZGNydW1iLXNlZ21lbnQ6aG92ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmspO1xuLy8gQm90w6NvIGRlIGVudHJhci9zYWlyIGRvIG1vZG8gYW1wbG8gKGNhbnRvIGRpcmVpdG8gZGEgYmFycmEpIOKAlCBtZXNtbyBiZ1xuLy8gZGUgaG92ZXIgZG9zIHNlZ21lbnRvcyBwcmEgbGVyIGNvbW8gZmFtw61saWEgdmlzdWFsIGNvZXJlbnRlLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1icmVhZGNydW1iLCAnLmV2ZW50LWJyZWFkY3J1bWItd2lkZS10b2dnbGU6aG92ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmspO1xuLy8gSWNvbnMgaW5zaWRlIHNlZ21lbnRzIHNpdCBhdCB0aGUgYWN0aXZlIHRva2VuIChzYW1lIHJ1bGUgdGhlIHNpZGViYXJcbi8vIGFwcGxpZXMgdG8gaXRzIGl0ZW0gaWNvbnMg4oCUIGtlZXBzIHRoZSBodWUgc3RhYmxlIGFjcm9zcyBzdGF0ZXMpLlxuLy8gT3BhY2l0eSBpcyBzZXQgb24gdGhlIGljb24gY2xhc3MgaW4gdGhlIGNvbXBvbmVudCBTQ1NTIHRvIHRoZSBjaGFpclxuLy8gVUkncyBgMC42NWAgaWNvbnMtYXQtcmVzdCBsZXZlbCwgbWF0Y2hpbmcgdGhlIGxldmVsLTEgc2lkZWJhciBpY29uXG4vLyB0cmVhdG1lbnQgc28gdGhlIGhvbWUgZ2x5cGggcmVhZHMgYXQgdGhlIHNhbWUgZGltbmVzcyBhcyBhIG5vbi1cbi8vIGV4cGFuZGVkIHNpZGViYXIgaWNvbi5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtYnJlYWRjcnVtYiwgJy5ldmVudC1icmVhZGNydW1iLWljb24nLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LWJyZWFkY3J1bWIsICcuZXZlbnQtYnJlYWRjcnVtYi1zZXBhcmF0b3InLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuLy8gSG92ZXIgYmFja2dyb3VuZCBvbiB0aGUgdXNlci1tZW51IHRyaWdnZXIg4oCUIHNhbWUgcmVjaXBlIGFzIHRoZSBsZXZlbC0xXG4vLyBtZW51IGl0ZW1zLCBzbyB0aGUgaGlnaGxpZ2h0IHRoYXQgY292ZXJzIChhdmF0YXIgKyBpZGVudGl0eSB0ZXh0KSByZWFkc1xuLy8gYXMgYSBzaWJsaW5nIG9mIHRoZSByZXN0IG9mIHRoZSBzaWRlYmFyJ3MgaW50ZXJhY3RpdmUgc3VyZmFjZXMuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXVzZXItbWVudS1idXR0b246aG92ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmspO1xuLy8gUmVvcGVuIHRhYiAodmlzaWJsZSBvbmx5IHdoaWxlIGNvbGxhcHNlZCkg4oCUIHNhbWUgdGhlbWUgdG9rZW5zIGFzIHRoZVxuLy8gYWN0aXZpdHktYmFyIHRvb2xiYXIgYnV0dG9ucyBzbyBpdCByZWFkcyBhcyBhIHNpYmxpbmcgb2YgdGhhdCBjaHJvbWUuXG5cbi8vIEFjdGl2aXR5IGJhciAoVlMgQ29kZS1zdHlsZSB2ZXJ0aWNhbCBpY29uIHN0cmlwKSDigJQgc2FtZSBzdXJmYWNlIGFzIHRoZVxuLy8gc2lkZWJhciBzbyBpdCByZWFkcyBhcyBhIGNvbnRpbnVhdGlvbiBvZiB0aGUgbGVmdCBjaHJvbWU7IHN1YnRsZSByaWdodFxuLy8gYm9yZGVyIHNlcGFyYXRlcyBpdCBmcm9tIHRoZSBzdWJtZW51LlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmFjdGl2aXR5LWJhcicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuYWN0aXZpdHktYmFyJywgYm9yZGVyLXJpZ2h0LWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG4vLyBEcm9wIHNoYWRvdyDigJQgc8OzIG92ZXJyaWRlIG5vIGRhcmsgKGxpZ2h0IGZpY2EgY29tIG8gYDAgMnB4IDVweCAwXG4vLyByZ2JhKDAsMCwwLDAuMilgIG9yaWdpbmFsIGRvIGFkbWluLWV2ZW50LXNpZGViYXIuY29tcG9uZW50LnNjc3MpLlxuLy8gYCFpbXBvcnRhbnRgIHByYSBnYW5oYXIgZG8gY29tcG9uZW50IFNDU1MgKHF1ZSB0ZW0gX25nY29udGVudCBuYVxuLy8gZXNwZWNpZmljaWRhZGUpLlxuLmRhcmstdGhlbWUgLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKSAuYWN0aXZpdHktYmFyIHtcbiAgYm94LXNoYWRvdzogMCAycHggOXB4IHJnYmEoMCwgMCwgMCwgMC41KSAhaW1wb3J0YW50O1xufVxuLy8gQ2xhc3NpYyBsYXlvdXQgcm90YXRlcyB0aGUgYWN0aXZpdHktYmFyIDkwwrAgKHZlcnRpY2FsIOKGkiBob3Jpem9udGFsIHRvb2xiYXJcbi8vIGJlbG93IHRoZSBicmVhZGNydW1iKS4gVGhlIHJpZ2h0IGJvcmRlciBiZWNvbWVzIGEgYm90dG9tIGJvcmRlcjsgdGhpc1xuLy8gcnVsZSBtaXJyb3JzIHRoZSBjb2xvdXIgdG9rZW4gc28gdGhlIGRpdmlkZXIgc3RheXMgaW4gY2hyb21lLWRpdmlkZXIgdG9uZVxuLy8gcmVnYXJkbGVzcyBvZiBvcmllbnRhdGlvbi4gU2V0dGluZyBib3RoIGlzIGhhcm1sZXNzIOKAlCBvbmx5IG9uZSBib3JkZXJcbi8vIHJlbmRlcnMgYXQgYSB0aW1lLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmFjdGl2aXR5LWJhcicsIGJvcmRlci1ib3R0b20tY29sb3IsICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCBibGFjayk7XG4vLyBTaW5nbGUgYmFzZSBjb2xvciAodGhlIFwiYWN0aXZlXCIgLyBkYXJrZXN0KSBmb3IgYWxsIGljb24gc3RhdGVzLiBUaGUgY29tcG9uZW50XG4vLyBTQ1NTIG1vZHVsYXRlcyBvcGFjaXR5IHRvIGRpZmZlcmVudGlhdGUgZGVmYXVsdCAvIGhvdmVyIC8gc2VsZWN0ZWQg4oCUIGtlZXBzXG4vLyB0aGUgaHVlIHN0YWJsZSBhY3Jvc3Mgc3RhdGVzIGFuZCBjcmVhdGVzIGEgY2xlYW4gdmlzdWFsIGhpZXJhcmNoeS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b24gLm1hdC1pY29uJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuLy8gSG92ZXIgKyBzZWxlY3RlZCBiZyBvbiBhY3Rpdml0eS1iYXIgYnV0dG9ucy4gTmVlZCAhaW1wb3J0YW50IGhlcmUgYmVjYXVzZVxuLy8gdGhlIGxvY2FsIHJ1bGUgaW4gc2lkZWJhci1pdGVtLWFkbWluLmNvbXBvbmVudC5zY3NzXG4vLyAoYC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uIHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1gKSBnZXRzXG4vLyBpbmZsYXRlZCBzcGVjaWZpY2l0eSBmcm9tIHZpZXctZW5jYXBzdWxhdGlvbiBhdHRyaWJ1dGVzIGFuZCBvdGhlcndpc2Ugd2lucy5cbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuYWN0aXZpdHktYmFyIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmFjdGl2aXR5LWJhciAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuLy8gLnNlbGVjdGVkIGlzIG9uIHRoZSBidXR0b24gaXRzZWxmICh2aWEgW25nQ2xhc3NdIGluIHNpZGViYXItaXRlbS1hZG1pbidzXG4vLyB0ZW1wbGF0ZSksIG5vdCBvbiB0aGUgYW5jZXN0b3Ig4oCUIHNvIHdlIHRhcmdldCBib3RoIHBvc3NpYmxlIGxvY2F0aW9ucy5cbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuYWN0aXZpdHktYmFyIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uLnNlbGVjdGVkLFxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5hY3Rpdml0eS1iYXIgLnNlbGVjdGVkIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tc2VsZWN0ZWQtYmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmFjdGl2aXR5LWJhciAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZCxcbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5hY3Rpdml0eS1iYXIgLnNlbGVjdGVkIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tc2VsZWN0ZWQtYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG5cbi8vIENMQVNTSUMgTEFZT1VUIOKAlCB0b29sYmFyIGl0ZW0gaG92ZXIvc2VsZWN0ZWQ6IGhpZ2hsaWdodCBwaWxsIG9uIHRoZSBJQ09OXG4vLyBvbmx5IChub3QgdGhlIHdob2xlIGljb24rbGFiZWwgc3RhY2spLiBUaGUgYWJvdmUgcnVsZXMgcGFpbnQgdGhlIFdIT0xFXG4vLyBidXR0b24gb24gaG92ZXIvc2VsZWN0ZWQg4oCUIGZpbmUgZm9yIE1vZGVybiAoaWNvbi1vbmx5IDQww5c0MCBidXR0b25zKSxcbi8vIGJ1dCBpbiBDbGFzc2ljIHRoZSBidXR0b24gYWxzbyBob2xkcyB0aGUgdGV4dCBsYWJlbCBiZWxvdyB0aGUgaWNvbiBhbmRcbi8vIHBhaW50aW5nIGJvdGggd291bGQgb3Zlci1lbXBoYXNpc2UgdGhlIHJvdy4gQmVsb3c6IHN1cHByZXNzIHRoZSBidXR0b25cbi8vIHBpbGwgaW4gQ2xhc3NpYywgcGFpbnQgdGhlIGljb24gcGlsbCBpbnN0ZWFkLiBUaGVtZS1hd2FyZS4gTGl2ZXMgaGVyZVxuLy8gKGdsb2JhbCBzdHlsZXNoZWV0KSBzbyB0aGUgYC5kYXJrLXRoZW1lYCBhbmNlc3RvciBvbiA8Ym9keT4gY2FuIG1hdGNoXG4vLyB3aXRob3V0IGJlaW5nIHRyYXBwZWQgYnkgQW5ndWxhcidzIHZpZXcgZW5jYXBzdWxhdGlvbi5cbi8vXG4vLyBTcGVjaWZpY2l0eSB2cy4gTW9kZXJuIHJ1bGVzOiBgLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKWBcbi8vIGFkZHMgMCwyLDAgb3ZlciB0aGUgTW9kZXJuIHNlbGVjdG9yIOKGkiB3aW5zIGRlc3BpdGUgYm90aCB1c2luZ1xuLy8gYCFpbXBvcnRhbnRgLlxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZCkgLmFjdGl2aXR5LWJhciAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbjpob3Zlcixcbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpIC5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b24uc2VsZWN0ZWQsXG4uZGFyay10aGVtZSAgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKSAuYWN0aXZpdHktYmFyIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uOmhvdmVyLFxuLmRhcmstdGhlbWUgIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZCkgLmFjdGl2aXR5LWJhciAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4vLyBgIWltcG9ydGFudGAgaGVyZSBiZWF0cyB0aGUgTW9kZXJuJ3MgYC5tYXQtaWNvbiB7IGJhY2tncm91bmQtY29sb3I6XG4vLyB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9YCBpbiBhZG1pbi1ldmVudC1zaWRlYmFyLmNvbXBvbmVudC5zY3NzIChsaW5lXG4vLyB+MTE3OCkg4oCUIHdpdGhvdXQgYCFpbXBvcnRhbnRgLCB0aGF0IHJ1bGUgd2lucyBldmVuIHRob3VnaCBvdXIgc2VsZWN0b3Jcbi8vIGhhcyBoaWdoZXIgc3BlY2lmaWNpdHksIGJlY2F1c2UgYCFpbXBvcnRhbnRgIGlzIGNvbXBhcmVkIG9ubHkgYW1vbmdcbi8vIHJ1bGVzIHRoYXQgYWxsIGNhcnJ5IGl0LlxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZCkgLmFjdGl2aXR5LWJhciAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbjpob3ZlciAubWF0LWljb24sXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKSAuYWN0aXZpdHktYmFyIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uLnNlbGVjdGVkIC5tYXQtaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZCkgLmFjdGl2aXR5LWJhciAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbjpob3ZlciAubWF0LWljb24sXG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpIC5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b24uc2VsZWN0ZWQgLm1hdC1pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG5cbi8vIENMQVNTSUMgVE9PTEJBUiDigJQgbGFiZWwgY29sb3I6IHJlc3QgdXNlcyB0aGUgbXV0ZWQgbWVudWl0ZW0tY29sb3IgdG9rZW4sXG4vLyBob3Zlci9zZWxlY3RlZCBzd2l0Y2hlcyB0byB0aGUgYnJpZ2h0ZXIgbWVudWl0ZW0tY29sb3ItYWN0aXZlLiBNaXJyb3JzXG4vLyB0aGUgTW9kZXJuIGxldmVsLTEgc2lkZWJhciBpdGVtcycgbGFiZWwgdHJlYXRtZW50IChsaW5lcyB+MjAzLTIwN1xuLy8gYWJvdmUpOiBzYW1lIHR3byB0b2tlbnMsIHNhbWUgcmVzdOKGkmFjdGl2ZSB0cmFuc2l0aW9uLCBqdXN0IGFwcGxpZWQgdG9cbi8vIGAubGFiZWxgIGluc3RlYWQgb2YgdGhlIGl0ZW0gY29udGFpbmVyLiBUaGVtZS1hd2FyZSwgZ2xvYmFsIChzbyB0aGVcbi8vIHJ1bGUgcGllcmNlcyBBbmd1bGFyJ3MgdmlldyBlbmNhcHN1bGF0aW9uIOKAlCBgLmxhYmVsYCBpcyByZW5kZXJlZCBieVxuLy8gdGhlIGNoaWxkIDxhcHAtc2lkZWJhci1pdGVtLWFkbWluPiBjb21wb25lbnQpLlxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZCkgLmFjdGl2aXR5LWJhciAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbiAubGFiZWwge1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG59XG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKSAuYWN0aXZpdHktYmFyIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uOmhvdmVyIC5sYWJlbCxcbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpIC5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b24uc2VsZWN0ZWQgLmxhYmVsIHtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZTtcbn1cbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZCkgLmFjdGl2aXR5LWJhciAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbiAubGFiZWwge1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbn1cbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZCkgLmFjdGl2aXR5LWJhciAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbjpob3ZlciAubGFiZWwsXG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpIC5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b24uc2VsZWN0ZWQgLmxhYmVsIHtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrO1xufVxuXG4vLyBOb3RpZmljYXRpb24gKGJlbGwpICsgbmV3IHVzZXItbWVudSBidXR0b25zIGluIC5hY3Rpdml0eS1iYXItYm90dG9tIOKAlCBzYW1lXG4vLyB0aGVtZS1hd2FyZSB0b2tlbnMgYXMgdGhlIHRvb2xiYXIgaXRlbXMgc28gaG92ZXIgYmVoYXZlcyBjb3JyZWN0bHkgaW4gZGFya1xuLy8gbW9kZS4gSGFuZC13cml0dGVuIHdpdGggIWltcG9ydGFudCBmb3IgdGhlIHNhbWUgdmlldy1lbmNhcHN1bGF0aW9uIHJlYXNvblxuLy8gYXMgdGhlIHRvb2xiYXIgcnVsZXMgYWJvdmUuXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmFjdGl2aXR5LWJhci1ib3R0b20gYXBwLXVzZXItbm90aWZpY2F0aW9ucyAucHJvZmlsZS1idXR0b246aG92ZXIsXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmFjdGl2aXR5LWJhci1ib3R0b20gLmhlbHBkZXNrLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5hY3Rpdml0eS1iYXItYm90dG9tIGFwcC11c2VyLW5vdGlmaWNhdGlvbnMgLnByb2ZpbGUtYnV0dG9uOmhvdmVyLFxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmFjdGl2aXR5LWJhci1ib3R0b20gLmhlbHBkZXNrLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuLy8gQmVsbCBidXR0b24ncyBcIm1lbnUgb3BlblwiIHN0YXRlIG1pcnJvcnMgdGhlIHRvb2xiYXIgU0VMRUNURUQgdmlzdWFsLlxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5hY3Rpdml0eS1iYXItYm90dG9tIGFwcC11c2VyLW5vdGlmaWNhdGlvbnMgLnByb2ZpbGUtYnV0dG9uLm1lbnUtb3Blbixcbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuYWN0aXZpdHktYmFyLWJvdHRvbSAuaGVscGRlc2stYnV0dG9uLm1lbnUtb3BlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5hY3Rpdml0eS1iYXItYm90dG9tIGFwcC11c2VyLW5vdGlmaWNhdGlvbnMgLnByb2ZpbGUtYnV0dG9uLm1lbnUtb3Blbixcbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5hY3Rpdml0eS1iYXItYm90dG9tIC5oZWxwZGVzay1idXR0b24ubWVudS1vcGVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tc2VsZWN0ZWQtYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG5cbi8vIFNhbWUgcnVsZXMgZm9yIHRoZSBleHBlcmltZW50YWwgc2lkZWJhcidzIGJvdHRvbSByYWlsICh1c2VyLW1lbnUgK1xuLy8gbm90aWZpY2F0aW9uIGJlbGwgKyBoZWxwZGVzayksIHNvIGJvdGggbGF5b3V0cyBzaGFyZSBvbmUgaW50ZXJhY3Rpb24gaWRlbnRpdHkuXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWJvdHRvbSAuZXhwZXJpbWVudGFsLXVzZXItbWVudS1idXR0b246aG92ZXIsXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWJvdHRvbSBhcHAtdXNlci1ub3RpZmljYXRpb25zIC5wcm9maWxlLWJ1dHRvbjpob3Zlcixcbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItYm90dG9tIC5oZWxwZGVzay1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItYm90dG9tIC5leHBlcmltZW50YWwtdXNlci1tZW51LWJ1dHRvbjpob3Zlcixcbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhci1ib3R0b20gYXBwLXVzZXItbm90aWZpY2F0aW9ucyAucHJvZmlsZS1idXR0b246aG92ZXIsXG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItYm90dG9tIC5oZWxwZGVzay1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItYm90dG9tIGFwcC11c2VyLW5vdGlmaWNhdGlvbnMgLnByb2ZpbGUtYnV0dG9uLm1lbnUtb3Blbixcbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItYm90dG9tIC5oZWxwZGVzay1idXR0b24ubWVudS1vcGVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tc2VsZWN0ZWQtYmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWJvdHRvbSBhcHAtdXNlci1ub3RpZmljYXRpb25zIC5wcm9maWxlLWJ1dHRvbi5tZW51LW9wZW4sXG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItYm90dG9tIC5oZWxwZGVzay1idXR0b24ubWVudS1vcGVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tc2VsZWN0ZWQtYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG5cbi8vIENvbW1hbmQgcGFsZXR0ZSB0cmlnZ2VyIChib3TDo28gXCJCdXNjYXIuLi4g4oyYS1wiKSBuYSBuYXZiYXIgZG8gYXV0b3IvcmV2aXNvci5cbi8vIEhvdmVyIHVzYSBvIG1lc21vIGJnIHdhcm0gYmVpZ2UgZG8gaG92ZXIgZG9zIGl0ZW5zIGRhIHRvb2xiYXIuXG4ubGlnaHQtdGhlbWUgYXBwLW5hdmJhciAuY29tbWFuZC1wYWxldHRlLXRyaWdnZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItbGlnaHQ7XG59XG4uZGFyay10aGVtZSBhcHAtbmF2YmFyIC5jb21tYW5kLXBhbGV0dGUtdHJpZ2dlcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcms7XG59XG5cbi8vIFNob3J0Y3V0IGhpbnQgY2hpcHMgKOKMmEYgZGVudHJvIGRvIGZpbHRlciwg4oyYSyBkZW50cm8gZG8gcGFsZXR0ZSB0cmlnZ2VyKSDigJRcbi8vIG1lc21vIGJvcmRlci1jb2xvciBkbyBjb250YWluZXIgZG8gY2hpcC1maWx0ZXIgKGNocm9tZS1ib3JkZXItYWN0aXZlKS5cbi8vIGAhaW1wb3J0YW50YCBuZWNlc3PDoXJpbyBwcmEgdmVuY2VyIGEgZXNwZWNpZmljaWRhZGUgZGEgVmlld0VuY2Fwc3VsYXRpb25cbi8vIGRvIEFuZ3VsYXIgc29icmUgbyBzaG9ydGhhbmQgYGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50YCBsb2NhbC5cbi5saWdodC10aGVtZSBhcHAtY3VzdG9tLXNlYXJjaCAuc2hvcnRjdXQtaGludCxcbi5saWdodC10aGVtZSBhcHAtbmF2YmFyIC5zaG9ydGN1dC1oaW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSBhcHAtY3VzdG9tLXNlYXJjaCAuc2hvcnRjdXQtaGludCxcbi5kYXJrLXRoZW1lIGFwcC1uYXZiYXIgLnNob3J0Y3V0LWhpbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZSAhaW1wb3J0YW50O1xufVxuXG4vLyBDaGlwLXNlYXJjaCAoZmlsdHJvIGlubGluZSBkYSB0b29sYmFyIGRvIGF1dG9yL3Jldmlzb3IpOlxuLy8gLSBUcmlnZ2VyIGNvbGFwc2FkbzogbWVzbWEgc3VwZXJmw61jaWUvYm9yZGEgZG8gYC5jaGFpci1oZWFkZXItaWNvbi1idXR0b25gXG4vLyAgIChmdW5kbyBgJGFkbWluLWJhY2tncm91bmRgLCBib3JkYSBgJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlYCkuXG4vLyAtIEhvdmVyOiBib3JkYSBcImVuZ3Jvc3NhZGFcIiB2aWEgYm94LXNoYWRvdyBvdXRzZXQgMXB4IG5hIG1lc21hIGNvclxuLy8gICAoaWTDqm50aWNvIGFvIGZpbHRlciBidXR0b24g4oCUIHBhaXJpbmcgdmlzdWFsKS5cbi8vIC0gQ29udGFpbmVyIGV4cGFuZGlkbzogYmcgd2FybSBiZWlnZSBzdXRpbCBzZW1wcmUsIGJvcmRlciBhY2NlbnQgYW8gZm9jYXIuXG4ubGlnaHQtdGhlbWUgYXBwLWN1c3RvbS1zZWFyY2ggLmNoaXAtdHJpZ2dlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZSAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgYXBwLWN1c3RvbS1zZWFyY2ggLmNoaXAtdHJpZ2dlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmUgIWltcG9ydGFudDtcbn1cbi5saWdodC10aGVtZSBhcHAtY3VzdG9tLXNlYXJjaCAuY2hpcC10cmlnZ2VyOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1jdXN0b20tc2VhcmNoIC5jaGlwLXRyaWdnZXI6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cbi8vIENoaXAtc2VhcmNoIGV4cGFuZGlkbyDigJQgY2FyZCBicmFuY28gKExpbmVhci9Ob3Rpb24tc3R5bGUpLiBDb250cmFzdGVcbi8vIGNyb23DoXRpY28gY2xhcm86IGJnIGJyYW5jbyBubyBsaWdodCAvIGNhbnZhcyBkYXJrIG5vIGRhcmssIGRpc3RpbnRvIGRvXG4vLyB3YXJtIGJlaWdlIGNpcmN1bmRhbnRlLiBCb3JkZXIgMXB4IHZpc8OtdmVsICh1c2EgY2hyb21lLWJvcmRlci1hY3RpdmUg4oCUXG4vLyBgY2hyb21lLWJvcmRlcmAgc2ltcGxlcyBmaWNvdSBww6FsaWRvIGRlbWFpcyBzb2JyZSBvIGJyYW5jbyBkbyBjYXJkKS5cbi8vIGBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94YCBldml0YSBxdWUgbyBiZyBwaW50ZSBzb2JyZSBhIMOhcmVhIGRvXG4vLyBib3JkZXIgKGRlZmF1bHQgYnJvd3NlciBkZWl4YSBiZyBjb2JyaXIgYm9yZGVyIGFyZWEpLlxuLmxpZ2h0LXRoZW1lIGFwcC1jdXN0b20tc2VhcmNoIC5jaGlwLWV4cGFuZGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmUgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1jdXN0b20tc2VhcmNoIC5jaGlwLWV4cGFuZGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlICFpbXBvcnRhbnQ7XG59XG4vLyBIb3ZlciAoc2VtIGZvY28pOiBib3JkYSBcImVuZ3Jvc3NhZGFcIiB2aWEgYm94LXNoYWRvdyBvdXRzZXQgMXB4IG5hXG4vLyBtZXNtYSBjb3Ig4oCUIDAgaW1wYWN0byBlbSBsYXlvdXQgKGJvcmRlciByZWFsIGNvbnRpbnVhIDFweCkuXG4ubGlnaHQtdGhlbWUgYXBwLWN1c3RvbS1zZWFyY2ggLmNoaXAtZXhwYW5kZWQ6aG92ZXI6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTtcbn1cbi5kYXJrLXRoZW1lIGFwcC1jdXN0b20tc2VhcmNoIC5jaGlwLWV4cGFuZGVkOmhvdmVyOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZTtcbn1cbi5saWdodC10aGVtZSBhcHAtY3VzdG9tLXNlYXJjaCAuY2hpcC1leHBhbmRlZDpmb2N1cy13aXRoaW4ge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRhY2NlbnQtYmFja2dyb3VuZDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1jdXN0b20tc2VhcmNoIC5jaGlwLWV4cGFuZGVkOmZvY3VzLXdpdGhpbiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbn1cblxuLy8gQ29yIGRvIENPTlRFw5pETyBkbyBjaGlwICjDrWNvbmUgZGUgZmlsdHJvLCBhdGFsaG8gXCIvXCIsIHRleHRvL3BsYWNlaG9sZGVyKSDigJRcbi8vIHRoZW1lLWF3YXJlLCBpZMOqbnRpY2Egw6AgZG9zIMOtY29uZXMgaW50ZXJub3MgZG8gYGFwcC11c2VyLXNlYXJjaGAgKGFkbWluXG4vLyBtZW51aXRlbSBjb2xvcikuIFNlbSBpc3RvIG8gY29udGXDumRvIGhlcmRhIHVtIGNpbnphIGZpeG8gcXVlIG5vIGRhcmsgZmljYVxuLy8gZXNjdXJvIGRlbWFpcyAocXVhc2UgaW52aXPDrXZlbCkuIENhc2NhdGVpYSBwLyBvIGAubWF0LWljb25gLCBvIGlucHV0IGUgb1xuLy8gYC5zaG9ydGN1dC1oaW50YCAodG9kb3MgaGVyZGFtIGBjb2xvcmApOyBhcyBvcGFjaXRpZXMgbG9jYWlzIHNlZ3VlbSB2YWxlbmRvLlxuLmxpZ2h0LXRoZW1lIGFwcC1jdXN0b20tc2VhcmNoIC5jaGlwLXRyaWdnZXIsXG4ubGlnaHQtdGhlbWUgYXBwLWN1c3RvbS1zZWFyY2ggLmNoaXAtZXhwYW5kZWQge1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG59XG4uZGFyay10aGVtZSBhcHAtY3VzdG9tLXNlYXJjaCAuY2hpcC10cmlnZ2VyLFxuLmRhcmstdGhlbWUgYXBwLWN1c3RvbS1zZWFyY2ggLmNoaXAtZXhwYW5kZWQge1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbn1cblxuLmxpZ2h0LXRoZW1lIGFwcC1jdXN0b20tc2VhcmNoIC5jaGlwLWNsZWFyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA2KTtcbn1cbi5kYXJrLXRoZW1lIGFwcC1jdXN0b20tc2VhcmNoIC5jaGlwLWNsZWFyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuXG4vLyBQYWluZWwgXCJGaWx0cm9zXCIgZGEgcMOhZ2luYSBkZSByZXZpZXdzIOKAlCBzZWd1ZSBleGF0YW1lbnRlIGFzIGRlZnMgZG9cbi8vIGB0cGMtdXNlci1tZW51YCAoYXZhdGFyLXByb2ZpbGUgbWVudSk6IHN1cmZhY2UgY2hhaXIgd2FybSwgZHJvcC1zaGFkb3dcbi8vIGAkc2hhZG93LXBhbmVsLWxpZ2h0Ly1kYXJrYCwgaG92ZXIgYmcgbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC5cbi8vIEFwbGljYWRvIGFvIGAuc2VwYXJhdG9yYCBxdWUgw6kgbyBcImNhcmQgcGFpXCIgKGNvbnTDqW0gc3VibWlzc2lvbnMtbGlzdC1cbi8vIGZpbHRlciArIGJvdMOjbyBMaW1wYXIgZmlsdHJvcykuXG4vLyBgLnN1Ym1pc3Npb24tcmFua2luZy1maWx0ZXItb3ZlcmxheWAgw6kgYSBwYW5lbENsYXNzIGRvIENESyBvdmVybGF5IGRvIG1lbnUgZGVcbi8vIGZpbHRyb3MgZGEgTGlzdGEgZGUgc3VibWlzc8O1ZXMg4oCUIHJlbmRlcml6YWRvIG5hIHJhaXogZG8gZG9jdW1lbnRvIChmb3JhIGRlXG4vLyBgLm1haW4uc3VibWlzc2lvbi1yYW5raW5nYCksIHBvciBpc3NvIMOpIGFsdmVqYWRvIHBlbGEgcGFuZWxDbGFzcy5cbi5saWdodC10aGVtZSAubWFpbi5yZXZpZXdzIC5zZXBhcmF0b3IsXG4ubGlnaHQtdGhlbWUgLm1haW4uc3VibWlzc2lvbnMgLnNlcGFyYXRvcixcbi5saWdodC10aGVtZSAuc3VibWlzc2lvbi1yYW5raW5nLWZpbHRlci1vdmVybGF5IC5zZXBhcmF0b3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWxpZ2h0O1xufVxuLmRhcmstdGhlbWUgLm1haW4ucmV2aWV3cyAuc2VwYXJhdG9yLFxuLmRhcmstdGhlbWUgLm1haW4uc3VibWlzc2lvbnMgLnNlcGFyYXRvcixcbi5kYXJrLXRoZW1lIC5zdWJtaXNzaW9uLXJhbmtpbmctZmlsdGVyLW92ZXJsYXkgLnNlcGFyYXRvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItZGFyayAhaW1wb3J0YW50O1xuICBmaWx0ZXI6ICRzaGFkb3ctcGFuZWwtZGFyaztcbn1cblxuLy8gUGFpbmVsIGRlIFNFTEXDh8ODTyBERSBUw5NQSUNPUyAobW9kbyBlZGnDp8OjbyBkYSBzdWJtaXNzaW9uIHBhZ2UpLiDDiSB1bSBgYXBwLXBvcG92ZXJgXG4vLyAoYmFja2Ryb3AgdHJhbnNwYXJlbnRlLCBhbmNvcmFkbyBhbyBjYW1wbykgY29tIGBwYW5lbENsYXNzOiAndG9waWNzLXNlbGVjdGlvbi1wYW5lbCdgLlxuLy8gTyBwYWluZWwgZG8gcG9wb3ZlciDDqSBzw7MgcG9zaWNpb25hbWVudG8g4oCUIHRvZG8gbyBWSVNVQUwgdmVtIGRvIGNvbnRlw7pkbyBwcm9qZXRhZG9cbi8vIChgLnRvcGljcy1wYW5lbGApLCBlIGNvbW8gbyBwb3BvdmVyIMOpIHBvcnRhZG8gcHJvIDxib2R5PiwgYXMgcmVncmFzIHTDqm0gZGUgc2VyXG4vLyBHTE9CQUlTIChtZXNtYSBzdXBlcmbDrWNpZSBjaGFpciArIHNvbWJyYSBzdWF2ZSBkbyBtZW51IGRlIGNvbHVuYXMgZGEgTGlzdGEpLlxuLnRvcGljcy1zZWxlY3Rpb24tcGFuZWwgLnRvcGljcy1wYW5lbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiA0NDBweDtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMjRweCk7XG4gIG1heC1oZWlnaHQ6IG1pbig3MHZoLCA0NjBweCk7XG4gIG92ZXJmbG93OiBoaWRkZW47ICAgICAgICAgICAgIC8vIHF1ZW0gcm9sYSDDqSBhIMOhcnZvcmUgKC50b3BpY3MtdHJlZSlcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgcGFkZGluZzogMTRweCAxNnB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLmxpZ2h0LXRoZW1lIC50b3BpY3Mtc2VsZWN0aW9uLXBhbmVsIC50b3BpY3MtcGFuZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kO1xuICBmaWx0ZXI6ICRzaGFkb3ctcGFuZWwtbGlnaHQ7XG59XG4uZGFyay10aGVtZSAudG9waWNzLXNlbGVjdGlvbi1wYW5lbCAudG9waWNzLXBhbmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItZGFyaztcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWRhcms7XG59XG5cbi8vIENhYmXDp2FsaG86IHPDsyBvIHTDrXR1bG8gKGZlY2hhciDDqSBwb3IgY2xpcXVlLWZvcmEvRVNDLCBxdWUgasOhIGNvbWl0YW0pLlxuLnRvcGljcy1zZWxlY3Rpb24tcGFuZWwgLnBhbmVsLWhlYWRlciB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG59XG4udG9waWNzLXNlbGVjdGlvbi1wYW5lbCAucGFuZWwtdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyAgICAgICAgIC8vIDE1cHhcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xufVxuXG4vLyBDb250YWRvciAobWluL21heCDDqSBzw7MgaW5mb3JtYXRpdm8g4oCUIG8gZmVjaGFyIHNlbXByZSBjb21pdGEpLlxuLnRvcGljcy1zZWxlY3Rpb24tcGFuZWwgLnRvcGljcy1jb3VudCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBmb250LXNpemU6IDAuNzVyZW07ICAgICAgICAgICAvLyAxMnB4XG4gIGNvbG9yOiAkZ3JheS01MDA7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgJi5pbnZhbGlkIHsgY29sb3I6ICRlcnJvci1pbnZhbGlkLWNvbG9yOyB9XG59XG5cbi8vIMOBcnZvcmUgcm9sw6F2ZWwuXG4udG9waWNzLXNlbGVjdGlvbi1wYW5lbCAudG9waWNzLXRyZWUge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA0cHg7XG59XG4udG9waWNzLXNlbGVjdGlvbi1wYW5lbCAudG9waWMtY2F0ZWdvcnkge1xuICBtYXJnaW4tdG9wOiA2cHg7XG4gIC5jYXRlZ29yeS1uYW1lIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTsgICAgICAgLy8gMTNweFxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuICAgIG1hcmdpbjogNnB4IDAgMnB4O1xuICB9XG4gIC50b3BpYy1pdGVtIHsgbWFyZ2luLWxlZnQ6IDE0cHg7IH1cbn1cbi50b3BpY3Mtc2VsZWN0aW9uLXBhbmVsIC50b3BpYy1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIHBhZGRpbmc6IDNweCA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDAuODEyNXJlbTsgICAgICAgICAvLyAxM3B4XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcblxuICAmOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZDsgfVxuICBpbnB1dCB7IGZsZXg6IDAgMCBhdXRvOyBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgc3BhbiB7IGxpbmUtaGVpZ2h0OiAxLjM7IH1cbn1cbi50b3BpY3Mtc2VsZWN0aW9uLXBhbmVsIC50b3BpY3MtZW1wdHkge1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgY29sb3I6ICRncmF5LTUwMDtcbn1cblxuLy8gRGFyazogdGV4dG9zL2hvdmVyIGRvIGNoYWlyLlxuLmRhcmstdGhlbWUgLnRvcGljcy1zZWxlY3Rpb24tcGFuZWwge1xuICAucGFuZWwtdGl0bGUsXG4gIC50b3BpYy1jYXRlZ29yeSAuY2F0ZWdvcnktbmFtZSxcbiAgLnRvcGljLWl0ZW0geyBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyazsgfVxuICAudG9waWNzLWNvdW50IHsgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7IH1cbiAgLnRvcGljLWl0ZW06aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcms7IH1cbn1cblxuLy8gSG92ZXIgZG8gcm93IChsYWJlbCkg4oCUIGJnIG1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQgZG8gY2hhaXIuIENvciBkb1xuLy8gdGV4dG8vw61jb25lIERFTlRSTyBkbyBjaGlwIChzcGFuKSDDqSBkZWZpbmlkYSBwZWxvIGNvbG9yQ2xhc3MgcGVyLXN0YXR1c1xuLy8gKG7Do28gbXVkYSBubyBob3ZlciDigJQgbyBjaGlwIG1hbnTDqW0gc3VhIGlkZW50aWRhZGUgY3JvbcOhdGljYSkuXG4ubGlnaHQtdGhlbWUgLm1haW4ucmV2aWV3cyAuc2VwYXJhdG9yIC5zdWJtaXNzaW9ucy1saXN0LWZpbHRlciBhcHAtY2hpcC1jaGVja2JveCAuY2hpcC1jaGVja2JveCBsYWJlbDpob3Zlcixcbi5saWdodC10aGVtZSAubWFpbi5zdWJtaXNzaW9ucyAuc2VwYXJhdG9yIC5zdWJtaXNzaW9ucy1saXN0LWZpbHRlciBhcHAtY2hpcC1jaGVja2JveCAuY2hpcC1jaGVja2JveCBsYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5tYWluLnJldmlld3MgLnNlcGFyYXRvciAuc3VibWlzc2lvbnMtbGlzdC1maWx0ZXIgYXBwLWNoaXAtY2hlY2tib3ggLmNoaXAtY2hlY2tib3ggbGFiZWw6aG92ZXIsXG4uZGFyay10aGVtZSAubWFpbi5zdWJtaXNzaW9ucyAuc2VwYXJhdG9yIC5zdWJtaXNzaW9ucy1saXN0LWZpbHRlciBhcHAtY2hpcC1jaGVja2JveCAuY2hpcC1jaGVja2JveCBsYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuXG4vLyBDdXN0b20gY2hlY2tib3ggKGlucHV0IG5hdGl2byBlc3RpbGl6YWRvKSDigJQgZXNwZWxoYSBkZWZzIGRvIENoZWNrbGlzdFxuLy8gZG8gY2hhaXI6IGJvcmRlciB3YXJtIGdyYXkgb2ZmLCBmaWxsIHdhcm0gZGFyayBvbiBjb20gY2hlY2sgY2xhcm8uXG4ubGlnaHQtdGhlbWUgLm1haW4ucmV2aWV3cyAuc2VwYXJhdG9yIC5zdWJtaXNzaW9ucy1saXN0LWZpbHRlciBhcHAtY2hpcC1jaGVja2JveCBsYWJlbCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBib3JkZXItY29sb3I6ICRncmF5LTQ1MCAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgLm1haW4ucmV2aWV3cyAuc2VwYXJhdG9yIC5zdWJtaXNzaW9ucy1saXN0LWZpbHRlciBhcHAtY2hpcC1jaGVja2JveCBsYWJlbCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBib3JkZXItY29sb3I6ICRncmF5LTQwMCAhaW1wb3J0YW50O1xufVxuLy8gQ2hlY2tlZDogZmlsbCBkYXJrICsgY2hlY2sgb2ZmLXdoaXRlIChsaWdodCB0aGVtZSkgLyBmaWxsIGxpZ2h0ICsgY2hlY2tcbi8vIG5lYXItYmxhY2sgKGRhcmsgdGhlbWUpLiBTVkcgZW1iZWRkZWQgY29tbyBkYXRhLXVyaS5cbi5saWdodC10aGVtZSAubWFpbi5yZXZpZXdzIC5zZXBhcmF0b3IgLnN1Ym1pc3Npb25zLWxpc3QtZmlsdGVyIGFwcC1jaGlwLWNoZWNrYm94IGxhYmVsIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktNTAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogJGdyYXktNTAwICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nbm9uZSclM0UlM0NwYXRoIGQ9J00zIDggTDcgMTIgTDEzIDQnIHN0cm9rZT0nJTIzZjlmOGY3JyBzdHJva2Utd2lkdGg9JzIuMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8lM0UlM0Mvc3ZnJTNFXCIpICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSAubWFpbi5yZXZpZXdzIC5zZXBhcmF0b3IgLnN1Ym1pc3Npb25zLWxpc3QtZmlsdGVyIGFwcC1jaGlwLWNoZWNrYm94IGxhYmVsIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMzAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogJGdyYXktMzAwICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nbm9uZSclM0UlM0NwYXRoIGQ9J00zIDggTDcgMTIgTDEzIDQnIHN0cm9rZT0nJTIzMjAyMDIwJyBzdHJva2Utd2lkdGg9JzIuMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8lM0UlM0Mvc3ZnJTNFXCIpICFpbXBvcnRhbnQ7XG59XG5cbi8vIFNsaWRlLXRvZ2dsZSBQQURSw4NPIERPIFNJU1RFTUEgKE0zKSDigJQgY29yIGRvIGxhYmVsIHNlZ3VlIHRva2VucyBkbyBjaGFpciBsZXZlbC0yXG4vLyBtZW51aXRlbSAoIzM3MzczNCBsaWdodCwgI2M0YzJiZCBkYXJrKS4gVGlwb2dyYWZpYSAxM3B4LzQzMC8xLjMvMCBqw6EgZW0gX2hlYWRlci5zY3NzLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1zbGlkZS10b2dnbGUtY29udGVudCcsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG5cbi8vIFNsaWRlLXRvZ2dsZSBwYWRyw6NvIChNMyk6IE9OIHN0YXRlIHRpbmdlIG5hIGNvciBkZSBkZXN0YXF1ZSBKRU1TMyBlbVxuLy8gYW1ib3Mgb3MgdGVtYXMgKHN5c3RlbUJsdWUg4oaSIGAkYWNjZW50LWJhY2tncm91bmRgIC8gYCRhY2NlbnQtYmFja2dyb3VuZC1kYXJrYCkuXG4vLyBNYXRjaCB2aXN1YWwgZG8gTlNTd2l0Y2gvVUlTd2l0Y2ggbm8gbWFjT1MvaU9TIHF1YW5kbyBhY2NlbnQgZXN0w6Egc2V0YWRvLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtYmFyJywgYmFja2dyb3VuZC1jb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQsICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQ6aG92ZXI6bm90KC5tYXQtZGlzYWJsZWQpIC5tYXQtc2xpZGUtdG9nZ2xlLWJhcicsIGJhY2tncm91bmQtY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50LCAkYWNjZW50LWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50KTtcblxuLy8gQ2hlY2sgZ2x5cGggKOKckykgZGVudHJvIGRvIHRodW1iIE9OIOKAlCBjb3IgYXp1bCBKRU1TMyBlbSBsaWdodCAoY29udHJhc3RhXG4vLyBjb20gdGh1bWIgb2ZmLXdoaXRlKS4gRW0gZGFyaywgbyB0aHVtYiDDqSBlc2N1cm8gKHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKSxcbi8vIGVudMOjbyBvIGdseXBoIHByZWNpc2Egc2VyIENMQVJPIHByYSBzZXIgdmlzw612ZWwg4oCUIHVzYSAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kXG4vLyAob2ZmLXdoaXRlIGVzdMOhdGljbykuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYjo6YWZ0ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50KTtcblxuLy8gSG92ZXIgTsODTyBkZXN0YWNhIG8gc2xpZGUtdG9nZ2xlIHBhZHLDo28gKE0zKSDigJQgc29icmVzY3JldmUgYSByZWdyYSBkbyBjaGFpclxuLy8gcXVlIG11ZGF2YSBhIGNvciBkYSBvdXRsaW5lIChPRkYpIGUgZG8gYmcgc2F0dXJhZG8gKE9OKSBvbiBob3Zlci4gTWFudMOpbSBvXG4vLyBtZXNtbyB2aXN1YWwgZXN0w6F0aWNvIGVtIHJlc3QgZSBob3ZlciwgbWFpcyBsaW1wby9NMy5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtc2xpZGUtdG9nZ2xlOmhvdmVyOm5vdCgubWF0LWRpc2FibGVkKSAubWF0LXNsaWRlLXRvZ2dsZS1iYXInLCBib3gtc2hhZG93LCBpbnNldCAwIDAgMCAxLjVweCAkZ3JheS00NTAgIWltcG9ydGFudCwgaW5zZXQgMCAwIDAgMS41cHggJGdyYXktNDAwICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQ6aG92ZXI6bm90KC5tYXQtZGlzYWJsZWQpIC5tYXQtc2xpZGUtdG9nZ2xlLWJhcicsIGJveC1zaGFkb3csIG5vbmUgIWltcG9ydGFudCwgbm9uZSAhaW1wb3J0YW50KTtcblxuLy8gTWVzbWFzIHJlZ3JhcyBwYXJhIGEgdG9vbGJhciBkbyBzaGVsbCBhdXRvci9yZXZpc29yIChhcHAtbmF2YmFyKTogaG92ZXIgK1xuLy8gbWVudS1vcGVuIGRvcyBib3TDtWVzIGRlIG5vdGlmaWNhw6fDo28gZSB1c2VyLW1lbnUgcmVwbGljYW0gb3MgdG9rZW5zIGRvIGNoYWlyLlxuLmxpZ2h0LXRoZW1lIGFwcC1uYXZiYXIgLnJpZ2h0LW5hdmJhci1jb250YWluZXIgYXBwLXVzZXItbm90aWZpY2F0aW9ucyAucHJvZmlsZS1idXR0b246aG92ZXIsXG4ubGlnaHQtdGhlbWUgYXBwLW5hdmJhciAucmlnaHQtbmF2YmFyLWNvbnRhaW5lciAuc3VwcG9ydC1oZWxwLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1uYXZiYXIgLnJpZ2h0LW5hdmJhci1jb250YWluZXIgYXBwLXVzZXItbm90aWZpY2F0aW9ucyAucHJvZmlsZS1idXR0b246aG92ZXIsXG4uZGFyay10aGVtZSBhcHAtbmF2YmFyIC5yaWdodC1uYXZiYXItY29udGFpbmVyIC5zdXBwb3J0LWhlbHAtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG5cbi5saWdodC10aGVtZSBhcHAtbmF2YmFyIC5yaWdodC1uYXZiYXItY29udGFpbmVyIGFwcC11c2VyLW5vdGlmaWNhdGlvbnMgLnByb2ZpbGUtYnV0dG9uLm1lbnUtb3Blbixcbi5saWdodC10aGVtZSBhcHAtbmF2YmFyIC5yaWdodC1uYXZiYXItY29udGFpbmVyIC5zdXBwb3J0LWhlbHAtYnV0dG9uLm1lbnUtb3BlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1uYXZiYXIgLnJpZ2h0LW5hdmJhci1jb250YWluZXIgYXBwLXVzZXItbm90aWZpY2F0aW9ucyAucHJvZmlsZS1idXR0b24ubWVudS1vcGVuLFxuLmRhcmstdGhlbWUgYXBwLW5hdmJhciAucmlnaHQtbmF2YmFyLWNvbnRhaW5lciAuc3VwcG9ydC1oZWxwLWJ1dHRvbi5tZW51LW9wZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cblxuLy8gVFBDIGNoYWlyIHVzZXIgbWVudSDigJQgc2FtZSBjb2xvciArIGhvdmVyIHRva2VucyBhcyB0aGUgc3VibWVudSBpdGVtcyBzb1xuLy8gdGhlIHR3byBzdXJmYWNlcyBmZWVsIGxpa2UgYSBzaW5nbGUgdmlzdWFsIGZhbWlseS4gVGhlIG1lbnUgcmVuZGVycyBpblxuLy8gdGhlIENESyBvdmVybGF5IChzaWJsaW5nIG9mIHRoZSBhcHAgcm9vdCB1bmRlciA8Ym9keT4pLCBzbyAubGlnaHQtdGhlbWUgL1xuLy8gLmRhcmstdGhlbWUgb24gPGJvZHk+IHN0aWxsIHJlYWNoIGl0LlxuLmxpZ2h0LXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAvLyBTYW1lIGRldGVybWluaXN0aWMgcmVjaXBlIGFzIHRoZSBleHBlcmltZW50YWwtc2lkZWJhciBmbHlvdXQ6IGEgc29mdFxuICAvLyBkcm9wLXNoYWRvdyBmb3IgZWxldmF0aW9uIGluIGxpZ2h0IG1vZGUsIG5vIHJlY3RhbmdsZSBvdXRsaW5lLlxuICAvLyBgJHNoYWRvdy1wYW5lbC1saWdodGAgaXMgdGhlIGNoYWlyIFVJJ3MgY2Fub25pY2FsIHBhbmVsLXRpZXIgZWxldmF0aW9uXG4gIC8vIChzZWUgYF92YXJpYWJsZXMuc2Nzc2ApLlxuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1saWdodDtcbn1cbi8vIE5vdGE6IGAubm90aWZpY2F0aW9ucy1tZW51YCBmb2kgUkVNT1ZJRE8gZGVzdGEgZSBkYXMgcmVncmFzIGdsb2JhaXNcbi8vIGRlc3RlIGFycXVpdm8g4oCUIG8gcGFpbmVsIGRvIHVzZXItbm90aWZpY2F0aW9ucyBwYXNzb3UgYSB0ZXIgc2V1IHByw7NwcmlvXG4vLyB2aXN1YWwgZXNjb3BhZG8gKHJlZGVzZW5obyBKRU1TMywgY2YuIHVzZXItbm90aWZpY2F0aW9ucy5jb21wb25lbnQuc2NzcykuXG4vLyBNYW50ZXIgYXMgcmVncmFzIGdsb2JhaXMgZmF6aWEgZWxhcyBjb21wZXRpcmVtIGNvbSBvIGNvbXBvbmVudGUgZVxuLy8gcmVuZGVyaXphcmVtIG8gcGFpbmVsIGRpZmVyZW50ZSBlbSBjYWRhIGNvbnN1bWlkb3IgKGF1dG9yL3Jldmlzb3IgdnNcbi8vIFRQQyBDaGFpcikgcG9ycXVlIGEgZXNwZWNpZmljaWRhZGUgbXVkYXZhIHBvciBhbmNlc3RyYWwuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gYC50cGMtdXNlci1tZW51YCBTVEFOREFMT05FIOKAlCB2YXJpYW50ZSB1c2FkYSBwZWxvIGBhcHAtcG9wb3ZlcmBcbi8vIChzZW0gbyB3cmFwcGVyIGAubWF0LW1lbnUtcGFuZWxgIHF1ZSBvIE1hdGVyaWFsIGNyaWF2YSkuIEFwbGljYWRvXG4vLyBubyBgPGRpdiBjbGFzcz1cInRwYy11c2VyLW1lbnVcIj5gIHF1ZSB2aXZlIGNvbW8gZmlsaG8gZG9cbi8vIGAuamVtcy1wb3BvdmVyLXBhbmVsYCAoZXN0ZSBzw7MgcG9zaWNpb25hLCBzZW0gdmlzdWFsKS4gR2VvbWV0cmlhICtcbi8vIHRlbWEgcmVwbGljYWRvcyBkYXMgcmVncmFzIGRvIGAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudWAgcHJhXG4vLyBwcmVzZXJ2YXIgaWTDqm50aWNhIGFwYXLDqm5jaWEgZHVyYW50ZSBhIG1pZ3Jhw6fDo28gbWF0LW1lbnUg4oaSIHBvcG92ZXIuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi50cGMtdXNlci1tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBtaW4td2lkdGg6IDE2MHB4O1xuICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbn1cbi5saWdodC10aGVtZSAudHBjLXVzZXItbWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1saWdodDtcbn1cblxuXG4vLyBQYWluZWwgZGUgZGF0YXMgZG8gcG9wb3ZlciBkZSBJTkZPIGRhIHJldmlzw6NvIChwYXBlci1yZXZpZXctbGlzdCkuIFZpdmUgY29tb1xuLy8gZmlsaG8gZG8gYC5qZW1zLXBvcG92ZXItcGFuZWxgIChhcHAtcG9wb3ZlciwgcG9ydGFkbyBhbyA8Ym9keT4pIOKAlCBwb3IgaXNzb1xuLy8gZXN0aWxvIEdMT0JBTCBjb20gLmxpZ2h0LXRoZW1lLy5kYXJrLXRoZW1lIChgOmhvc3QtY29udGV4dGAgbsOjbyBhbGNhbsOnYSBuw7NzXG4vLyBwb3J0YWRvcykuIE1lc21hIGZhbcOtbGlhIGRlIHN1cGVyZsOtY2llIGRvIGAudHBjLXVzZXItbWVudWAuXG4ucmV2aWV3LWluZm8tcGFuZWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXM7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyAgIC8vIDEzcHhcblxuICAucmV2aWV3LWluZm8tcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAyNHB4O1xuICAgIHBhZGRpbmc6IDNweCAwO1xuICB9XG4gIC5yZXZpZXctaW5mby1sYWJlbCB7IGZvbnQtd2VpZ2h0OiA0MDA7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLnJldmlldy1pbmZvLXZhbHVlIHsgZm9udC13ZWlnaHQ6IDUwMDsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnJldmlldy1pbmZvLXZhbHVlIGEgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0gICAvLyBzZW0gc3VibGluaGFkbyAobGluayBkbyBub21lKVxufVxuLmxpZ2h0LXRoZW1lIC5yZXZpZXctaW5mby1wYW5lbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQ7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1saWdodDtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuICAucmV2aWV3LWluZm8tbGFiZWwgeyBjb2xvcjogJGdyYXktNTAwOyB9XG4gIC5yZXZpZXctaW5mby12YWx1ZSBhIHsgY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDsgfVxufVxuLmRhcmstdGhlbWUgLnJldmlldy1pbmZvLXBhbmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItZGFyaztcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWRhcms7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuICAucmV2aWV3LWluZm8tbGFiZWwgeyBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyazsgb3BhY2l0eTogMC42OyB9XG4gIC5yZXZpZXctaW5mby12YWx1ZSBhIHsgY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrOyB9XG59XG5cbi8vIERpw6Fsb2dvIFwiUGVzcXVpc2FyIHJldmlzb3JlcyBwb3IgaW50ZXJlc3NlXCIgKGZpbmQtcmV2aWV3ZXJzLWJ5LWludGVyZXN0KTogb1xuLy8gY29tcG9uZW50ZSBjb250cm9sYSBvIGxheW91dCAoY2FiZcOnYWxoby9yb2RhcMOpIGZpeG9zICsgY29ycG8gcm9sw6F2ZWwpLiBBXG4vLyBcImNhZGVpYSBmbGV4XCIgcHJlY2lzYSBhdHJhdmVzc2FyIGNvbnRhaW5lciDihpIgSE9TVCDihpIgYC5maW5kLXJldmlld2Vyc2Ag4oaSIGNvcnBvLFxuLy8gc2Vuw6NvIG8gY29ycG8gbsOjbyByb2xhIGUgbyByb2RhcMOpIHRyYW5zYm9yZGEgcHJhIGZvcmEgKGZpY2EgY29ydGFkbykuIE9cbi8vIGBtYXgtaGVpZ2h0OiA5MHZoYCB2ZW0gZG8gY29uZmlnIGRvIGRpYWxvZyAobWF0LWRpYWxvZy1jb250YWluZXIgbyBoZXJkYSkuXG4uZmluZC1yZXZpZXdlcnMtZGlhbG9nIC5tYXQtZGlhbG9nLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uZmluZC1yZXZpZXdlcnMtZGlhbG9nIGFwcC1maW5kLXJldmlld2Vycy1ieS1pbnRlcmVzdCxcbi5maW5kLXJldmlld2Vycy1kaWFsb2cgYXBwLXJldmlld2VyLWZpbmRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBtaW4taGVpZ2h0OiAwO1xufVxuXG4vLyBgLm5vdGlmaWNhdGlvbnMtbWVudWAgU1RBTkRBTE9ORSAodmFyaWFudGUgYXBwLXBvcG92ZXIgZG8gdXNlci1ub3RpZmljYXRpb25zKS5cbi8vIE1lc21hIGZhbcOtbGlhIHZpc3VhbCBkbyBgLnRwYy11c2VyLW1lbnVgIChjb21wYXJ0aWxoYSBvIGAubWF0LW1lbnUtcGFuZWwuKmBcbi8vIGxlZ2FjeSBibG9jayBhY2ltYSk7IHJlcGxpY2FkbyBhcXVpIHByYSBhcHAtcG9wb3Zlci5cbi8vXG4vLyBSRVNFVCB0aXBvZ3LDoWZpY28gaW50ZXJubzogYSB2ZXJzw6NvIG1hdC1tZW51IGhlcmRhdmEgbyBgZm9udDogMTRweCBSb2JvdG9gXG4vLyBxdWUgTWF0ZXJpYWwgYXBsaWNhIGEgYC5tYXQtbWVudS1jb250ZW50YC4gU3RhbmRhbG9uZSBwZXJkZSBpc3NvIOKGkiBoMVxuLy8gZSB0ZXh0b3Mgdm9sdGFtIGFvcyBkZWZhdWx0cyBkbyBicm93c2VyL0J1bG1hIChoMSB+MzJweCkuIEZvcsOnYW1vcyBhcXVpXG4vLyBwcmEgY2FiZcOnYWxobyBkZSBtZW51ICh+MTQvNTAwKSwgcGFyw6FncmFmb3Mgbm9ybWFpcyAoMTMvNDAwKS5cbi8vIERyb3Bkb3duIENTUy1wdXJvIGRvIHVzZXItbm90aWZpY2F0aW9uczogcG9zaXRpb246IGFic29sdXRlIHJlbGF0aXZvIGFvXG4vLyBob3N0IGAudXNlci1ub3RpZmljYXRpb25zYCAocXVlIMOpIHBvc2l0aW9uOiByZWxhdGl2ZSkuIFNlbSBjw6FsY3VsbyBKUyxcbi8vIHNlbSBwb3BvdmVyLiBUb3A6MTAwJSByaWdodDowID0gYWJyZSBsb2dvIGFiYWl4byBkbyBiZWxsLCBhbGluaGFkbyDDoFxuLy8gZGlyZWl0YS4gRnVuY2lvbmEgaWTDqm50aWNvIGVtIHF1YWxxdWVyIGxheW91dCAoY2zDoXNzaWNvL21vZGVybm8vd2lkZSkuXG4vLyBUb29sdGlwcyBkbyBDREsgb3ZlcmxheSAoYG1hdC10b29sdGlwYCkgcHJlY2lzYW0gYXBhcmVjZXIgQUNJTUEgZG9zXG4vLyBhcHAtcG9wb3ZlcnMgKHF1ZSBmaWNhbSBubyA8Ym9keT4gY29tIHotaW5kZXggMTEwMCkuIEJ1bXAgZ2xvYmFsIGRvXG4vLyBjb250YWluZXIgZG8gQ0RLIOKAlCB2YWxlIHByYSB0b29sdGlwcywgZGlhbG9ncywgc2hlZXRzLCBldGMuXG4uY2RrLW92ZXJsYXktY29udGFpbmVyIHsgei1pbmRleDogJHotY2RrLW92ZXJsYXkgIWltcG9ydGFudDsgfVxuXG4vLyBQYWluZWwgZGUgbm90aWZpY2HDp8O1ZXM6IHBvc2l0aW9uOiBmaXhlZCBjb20gY29vcmRzIGNhbGN1bGFkYXMgaW5saW5lXG4vLyBubyB0b2dnbGVNZW51ICh0cykgYSBwYXJ0aXIgZG8gcmVjdCBkbyBiZWxsLiBTw7MgYSBhbmltYcOnw6NvIGRlIGVudHJhZGFcbi8vIGUgbyB6LWluZGV4IHBlcm1hbmVjZW0gZ2xvYmFpcyAobyByZXN0byDDqSBkbyBjb21wb25lbnRlIGVzY29wYWRvIOKAlFxuLy8gdXNlci1ub3RpZmljYXRpb25zLmNvbXBvbmVudC5zY3NzKS5cbi5ub3RpZmljYXRpb25zLW1lbnUge1xuICB6LWluZGV4OiAxMTAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAmLmFib3ZlIHsgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGNlbnRlcjsgfVxuICBhbmltYXRpb246IGplbXMtcG9wb3Zlci1pbiAxMjBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbn1cblxuLy8gYC5tZW51LWNoYXJ0LXYyYCBTVEFOREFMT05FICh2YXJpYW50ZSBhcHAtcG9wb3ZlciBkbyBjaGFydC1jb21wb25lbnQtdjIpXG4vLyBlIGAubWVudS1jb250YWluZXJgICh2YXJpYW50ZSBkZSB0aW1lem9uZSkuIEVzdGFzIGNsYXNzZXMgQU5URVMgbsOjb1xuLy8gdGluaGFtIHJlZ3JhIHByw7NwcmlhIGRlIHBhbmVsIOKAlCBoZXJkYXZhbSBvIGNocm9tZSBkZWZhdWx0IGRvXG4vLyBgLm1hdC1tZW51LXBhbmVsYCBkbyBNYXRlcmlhbCAod2hpdGUgYmcgKyBib3gtc2hhZG93ICsgcmFkaXVzKS4gQWdvcmEsXG4vLyBjb21vIG8gYDxkaXYgY2xhc3M9XCIuLi5cIj5gIHZpdmUgZGVudHJvIGRvIGAuamVtcy1wb3BvdmVyLXBhbmVsYCAocXVlXG4vLyBzw7MgcG9zaWNpb25hKSwgcHJlY2lzYW0gZG8gY2hyb21lIHByw7NwcmlvLiBWaXN1YWwgbmV1dHJvIHRpZXItcGFpbmVsOlxuLy8gZnVuZG8gZGEgc3VwZXJmw61jaWUgY2FyZCArIHJhZGl1cyArIGRyb3Atc2hhZG93IChtZXNtYSBmYW3DrWxpYSBkb3Ncbi8vIG91dHJvcyBwb3BvdmVycyBjaGFpci1zdHlsZSkuXG4ubWVudS1jaGFydC12Mixcbi5tZW51LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbiAgcGFkZGluZzogNXB4IDA7XG59XG5cbi8vIEl0ZW1zIGRvIG1lbnUtY2hhcnQtdjIgKGJvdMO1ZXMgKyB0b2dnbGUpOiBnZW9tZXRyaWEgKyB0aXBvZ3JhZmlhIGNoYWlyXG4vLyBlcXVpdmFsZW50ZSBhbyBgLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW1gIG1hcyBlc2NvcGFkYSBsb2NhbG1lbnRlXG4vLyBwcmEgbsOjbyBicmlnYXIgY29tIG8gYC5tZW51LWNoYXJ0LXYyIC5tYXQtbWVudS1pdGVtIHsgbWFyZ2luOiAycHggNXB4IH1gXG4vLyBkbyBjb21wb25lbnQgc2Nzcy5cbi5tZW51LWNoYXJ0LXYyIC5jb250YWluZXItb3B0aW9uIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgLm1hdC1tZW51LWl0ZW0ge1xuICAgIGhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MzA7XG4gICAgcGFkZGluZzogMCAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4cHgpICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIDRweCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICAubWF0LWljb24ge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgd2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICBjb2xvcjogcmdiYSgwLDAsMCwuNTUpO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsLjA1KTtcbiAgICAgIC5tYXQtaWNvbiB7IGNvbG9yOiByZ2JhKDAsMCwwLC44NSk7IH1cbiAgICB9XG4gIH1cbn1cbi8vIC50b2dnbGUtcm93IGRvIG1lbnUtY2hhcnQtdjI6IGxpbmhhIGRvIFwiTW9zdHJhciB2YWxvcmVzXCIg4oCUIGNlbnRyYWxpemFkYVxuLy8gaG9yaXpvbnRhbG1lbnRlLCBTRU0gYmcvaG92ZXIgYmcgKG8gcHLDs3ByaW8gdG9nZ2xlIHNpbmFsaXphIG8gZXN0YWRvKS5cbi8vIERlZmluaWRhIEZPUkEgZG8gYC5jb250YWluZXItb3B0aW9uYCBqdXN0YW1lbnRlIHByYSBlc2NhcGFyIGRhcyByZWdyYXNcbi8vIGhlcmRhZGFzIGRlIGAubWF0LW1lbnUtaXRlbWAgcXVlIHBpbnRhdmFtIG8gZnVuZG8uXG4ubWVudS1jaGFydC12MiA+IC50b2dnbGUtcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuICBtaW4taGVpZ2h0OiAzMnB4O1xuICBtYXgtaGVpZ2h0OiAzMnB4O1xuICBtYXJnaW46IDAgNHB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXQtc2xpZGUtdG9nZ2xlIHtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgLm1hdC1zbGlkZS10b2dnbGUtYmFyIHsgbWFyZ2luLWxlZnQ6IDhweDsgfVxuICB9XG4gIG1hdC1zbGlkZS10b2dnbGUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgLm1hdC1zbGlkZS10b2dnbGUtY29udGVudCxcbiAgICAubWF0LXNsaWRlLXRvZ2dsZS1sYWJlbCB7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQzMDsgfVxuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbi8vIERpdmlzb3IgcGFkcsOjbyBwYXJhIGNvbnRlw7pkb3MgY2hhaXItc3R5bGUgc3RhbmRhbG9uZSAoc2VtIHBhZGRpbmdcbi8vIGxhdGVyYWwgbm8gd3JhcHBlcikuIEVuY29zdGEgbmFzIGxhdGVyYWlzIHZpYSB3aWR0aCAxMDAlICsgbWFyZ2luXG4vLyBob3Jpem9udGFsIDAuIENvciBzdXRpbC4gQWRpY2lvbmUgYSBjbGFzc2UgZG8gbWVudSBub3ZvIGFxdWkuXG4vLyBgLnRwYy11c2VyLW1lbnVgIE7Dg08gZW50cmEgKHRlbSBwYWRkaW5nIGxhdGVyYWwgNHB4KTogY2YuIGBfbWVudS5zY3NzYFxuLy8gcXVlIGFwbGljYSBgbWFyZ2luOiA2cHggLTRweGAgZXNwZWPDrWZpY28gcHJhIGNvbXBlbnNhci5cbi5tZW51LWNoYXJ0LXYyIG1hdC1kaXZpZGVyLFxuLm1lbnUtY29udGFpbmVyIG1hdC1kaXZpZGVyIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogNHB4IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wOCk7XG59XG4uZGFyay10aGVtZSAuamVtcy1wb3BvdmVyLXBhbmVsIG1hdC1kaXZpZGVyLFxuLmRhcmstdGhlbWUgLnRwYy11c2VyLW1lbnUgbWF0LWRpdmlkZXIsXG4uZGFyay10aGVtZSAubWVudS1jaGFydC12MiBtYXQtZGl2aWRlcixcbi5kYXJrLXRoZW1lIC5tZW51LWNvbnRhaW5lciBtYXQtZGl2aWRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICMwMDA7XG59XG4ubGlnaHQtdGhlbWUgLm1lbnUtY2hhcnQtdjIsXG4ubGlnaHQtdGhlbWUgLm1lbnUtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZDtcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWxpZ2h0O1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEl0ZW1zIGRvcyBtZW51cyBjaGFpci1zdHlsZSDigJQgZ2VvbWV0cmlhICsgZXN0YWRvcy5cbi8vIEVzY3JpdG8gU0VNIGA6Om5nLWRlZXBgIChxdWUgZmljYXZhIGVtIGBfbWVudS5zY3NzYCBlIHBvZGUgc2VyXG4vLyBpbnbDoWxpZG8gZW0gQ1NTIGdsb2JhbCkuIEFxdWkgYXMgcmVncmFzIHPDo28gcGxhbmFzIGdsb2JhaXMuXG4vL1xuLy8gQXBsaWNhbS1zZSBhIERVQVMgZm9ybWFzLCBwcmEgbWVudXMgbm92b3MgTsODTyBwcmVjaXNhcmVtIGRvIHdyYXBwZXIgbWFudWFsOlxuLy8gICDigKIgYC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtYCAgICAgICAg4oCUIHdyYXBwZXIgZXhwbMOtY2l0byAobGVnYWRvKTtcbi8vICAg4oCiIGAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbWAg4oCUIGJhc3RhIGEgY2xhc3NlXG4vLyAgICAgYHRwYy11c2VyLW1lbnVgIG5vIDxtYXQtbWVudT47IG8gaXRlbSBjcnUgKGA8YnV0dG9uIG1hdC1tZW51LWl0ZW0+YCkgasOhXG4vLyAgICAgaGVyZGEgbyBlc3RpbG8uIEVTVEUgw6kgbyBjYW1pbmhvIHJlY29tZW5kYWRvIHByYSBtZW51cyBub3Zvcy5cbi8vIGAuY29udGFpbmVyLW9wdGlvbmAvYHRwYy11c2VyLW1lbnVgIHPDsyBhcGFyZWNlbSBlbSBtZW51cyBjaGFpci1zdHlsZSwgc2VtIGNvbGF0ZXJhbC5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLmNvbnRhaW5lci1vcHRpb24ge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbn1cbi8vIEdlb21ldHJpYSBkb3MgaXRlbnMgKGAudHBjLXVzZXItbWVudWAvYC5jb250YWluZXItb3B0aW9uYCAubWF0LW1lbnUtaXRlbSlcbi8vIHZpdmUgZW0gYF9tZW51LnNjc3NgIOKAlCBmb250ZSDDum5pY2EuIEFzIHJlZ3JhcyBkZSBIT1ZFUi9GT0NVUy9ISUdITElHSFRcbi8vIChjb3JlcykgcGVybWFuZWNlbSBhYmFpeG8gbmVzdGUgYXJxdWl2bywgZGVudHJvIGRvIGJsb2NvIGAubGlnaHQtdGhlbWVgIC9cbi8vIGAuZGFyay10aGVtZWAsIG9uZGUgw6kgbyBsdWdhciBkZWxhcy5cblxuLy8gRXN0YWRvcyBkZSBob3Zlci9mb2N1cy9oaWdobGlnaHQgZG8gYC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtYCDigJRcbi8vIHByb21vdmlkb3MgcGFyYSBlc2NvcG8gR0xPQkFMIChuw6NvIGVzY29uZGlkb3MgYXRyw6FzIGRlIGAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudWBcbi8vIHF1ZSBuw6NvIHByb3BhZ2EgZW0gdG9kb3Mgb3MgY2Fzb3MpLiBFc3BlY2lmaWNpZGFkZSBgKDAsNSwwKWAgdmVuY2UgYSByZWdyYVxuLy8gZ2xvYmFsIGBidXR0b24ubWF0LW1lbnUtaXRlbTpob3ZlcmAgYCgwLDQsMSlgIHF1ZSBwaW50YSBhY2NlbnQuXG4ubGlnaHQtdGhlbWUge1xuICAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbSxcbiAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0sXG4gIC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtIHtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbSAubWF0LWljb24sXG4gIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbixcbiAgLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uIHtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLy8gYGNkay1wcm9ncmFtLWZvY3VzZWRgIE7Dg08gZW50cmE6IMOpIHNldGFkYSBxdWFuZG8gYWxnbyBjaGFtYSAuZm9jdXMoKVxuICAvLyBwcm9ncmFtYXRpY2FtZW50ZSAoZXguOiBhcHAtcG9wb3ZlciBhdXRvLWZvY3VzYSBvIDHCuiBpdGVtIGFvIGFicmlyKS5cbiAgLy8gUGludGFyIGlzc28gZmFyaWEgbyAxwrogaXRlbSBwYXJlY2VyIFwic2VsZWNpb25hZG9cIiBzZW0gbyB1c3XDoXJpbyB0ZXJcbiAgLy8gaW50ZXJhZ2lkby4gTWFudGVtb3Mgc8OzIGA6aG92ZXJgLCBgY2RrLWtleWJvYXJkLWZvY3VzZWRgIChmb2NvIHBvclxuICAvLyB0YWIvYXJyb3cpIGUgYC5oaWdobGlnaHQtYnV0dG9uYCAoZXN0YWRvIGzDs2dpY28gZGUgYXRpdm8pLlxuICAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gIC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdChbZGlzYWJsZWRdKSxcbiAgLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbjpub3QoW2Rpc2FibGVkXSksXG4gIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0uY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KFtkaXNhYmxlZF0pLFxuICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uOm5vdChbZGlzYWJsZWRdKSxcbiAgLy8gVmFyaWFudGUgYXBwLXBvcG92ZXIgc3RhbmRhbG9uZTogY29icmUgY29uc3VtZXJzIHF1ZSBwcm9qZXRhbSBpdGVuc1xuICAvLyBTRU0gbyB3cmFwcGVyIGA8YSBjbGFzcz1cImNvbnRhaW5lci1vcHRpb25cIj5gIChleC46IHN1Ym1pc3Npb24tcmFua2luZyksXG4gIC8vIGRpcmV0byBjb21vIGA8YnV0dG9uIG1hdC1tZW51LWl0ZW0+YCBkZW50cm8gZG8gYC50cGMtdXNlci1tZW51YC5cbiAgLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW06aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoW2Rpc2FibGVkXSksXG4gIC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b246bm90KFtkaXNhYmxlZF0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSAhaW1wb3J0YW50O1xuICB9XG59XG4uZGFyay10aGVtZSB7XG4gIC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtLFxuICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbSxcbiAgLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ge1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uLFxuICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbSAubWF0LWljb24sXG4gIC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbiB7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLy8gYGNkay1wcm9ncmFtLWZvY3VzZWRgIHJlbW92aWRvIOKAlCB2ZXIgY29udHJhcGFydGUgbGlnaHQgcHJhIHJhdGlvbmFsZS5cbiAgLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW06aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbS5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoW2Rpc2FibGVkXSksXG4gIC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b246bm90KFtkaXNhYmxlZF0pLFxuICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdChbZGlzYWJsZWRdKSxcbiAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbjpub3QoW2Rpc2FibGVkXSksXG4gIC8vIFZhcmlhbnRlIGFwcC1wb3BvdmVyIHN0YW5kYWxvbmUgKHZlciBjb250cmFwYXJ0ZSBsaWdodCBhY2ltYSkuXG4gIC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0uY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KFtkaXNhYmxlZF0pLFxuICAudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gSXRlbSBkZSBtZW51IERFU0FCSUxJVEFETyAoY29udmVuw6fDo28gSkVNUzMpOiBuw6NvLWNsaWPDoXZlbCArIGVzbWFlY2lkby5cbi8vIEVzbWFlY2Vtb3MgdmlhIGBvcGFjaXR5YCBwb3JxdWUgbyB0b2tlbml6ZXIgcGludGEgY29yIGRvIHRleHRvIEUgZG8gw61jb25lIGNvbVxuLy8gYCFpbXBvcnRhbnRgLCBhbnVsYW5kbyBvIGRpbSBwYWRyw6NvIGRvIE1hdGVyaWFsOyBvcGFjaXR5IGNvYnJlIGFtYm9zIGRlIHVtYSB2ZXosXG4vLyBsaWdodCBlIGRhcmsuIEFzIHJlZ3JhcyBkZSBob3ZlciBhY2ltYSBqw6EgZXhjbHVlbSBgW2Rpc2FibGVkXWAgKHNlbSBmdW5kby9jb3IpLlxuLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW1bZGlzYWJsZWRdLFxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW1bZGlzYWJsZWRdLFxuLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW1bZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC40NSAhaW1wb3J0YW50O1xuICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gVmFyaWFudGUgREVTQUJJTElUQURBIENPTSBUT09MVElQIChjb252ZW7Dp8OjbyBKRU1TMykuIE8gYG1hdFRvb2x0aXBgIHPDsyBkaXNwYXJhXG4vLyBubyBlbGVtZW50byBxdWUgUkVDRUJFIG8gaG92ZXI7IG51bSBgW2Rpc2FibGVkXWAgbmF0aXZvIChvdSBgcG9pbnRlci1ldmVudHM6XG4vLyBub25lYCkgbyBib3TDo28gZmljYSBpbmVydGUgZSBvIGhvdmVyIG7Do28gY2hlZ2EgYSBlbGUgbmVtIGFvIHdyYXBwZXIg4oCUIG8gdG9vbHRpcFxuLy8gbnVuY2EgYXBhcmVjZS4gRW50w6NvIGFxdWkgbyBib3TDo28gY29udGludWEgSE9WRVLDgVZFTCAodG9vbHRpcCB2aXZlIE5FTEUpIGUgYVxuLy8gbsOjby1jbGljYWJpbGlkYWRlIHZlbSBkbyB0ZW1wbGF0ZSAoY2xpcXVlIG5ldXRyYWxpemFkbyArIHJvdGEgbnVsYSkuIFPDsyBvIHZpc3VhbFxuLy8gw6kgZXNtYWVjaWRvOyBvIGhvdmVyIG7Do28gcGludGEgZnVuZG8gKG8gZGltIMOpIG8gw7puaWNvIGZlZWRiYWNrKS5cbi5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtLmRpc2FibGVkLWhvdmVyYWJsZSxcbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLmRpc2FibGVkLWhvdmVyYWJsZSxcbi50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLmRpc2FibGVkLWhvdmVyYWJsZSB7XG4gIG9wYWNpdHk6IDAuNDUgIWltcG9ydGFudDtcbiAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XG59XG4uY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbS5kaXNhYmxlZC1ob3ZlcmFibGU6aG92ZXIsXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5kaXNhYmxlZC1ob3ZlcmFibGU6aG92ZXIsXG4udHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5kaXNhYmxlZC1ob3ZlcmFibGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4vLyBCYWzDo28gZG8gdG9vbHRpcCBKRU1TMyAoQ1NTIHB1cm8pIGRvIGl0ZW0gZGVzYWJpbGl0YWRvLiBBbmNvcmFkbyBubyB3cmFwcGVyXG4vLyBgLmNvbnRhaW5lci1vcHRpb24uaGFzLXRpcGAgKGJsb2NrIHAvIGNvbnRlciBsaW1wbyBvIGJvdMOjbyArIHNlcnZpciBkZSBjb250YWluaW5nXG4vLyBibG9jayBkbyBiYWzDo28gYWJzb2x1dG8pLiBPIGJhbMOjbyBmaWNhIEZPUkEgZG8gYm90w6NvIGRlIHByb3DDs3NpdG86IG8gYm90w6NvIHRlbVxuLy8gb3BhY2l0eSAwLjQ1IGUgb3BhY2l0eSBjcmlhIGdydXBvIOKAlCBzZSBvIGJhbMOjbyBmb3NzZSBmaWxobyBmaWNhcmlhIHRyYW5zbMO6Y2lkby5cbi8vIE1lc21vIHZpc3VhbCBkbyBgLnNnLWNyaXQtdG9vbHRpcGAgKGJhbMOjbyBjaW56YSwgdGV4dG8gYnJhbmNvKTsgbyBgOmhvdmVyYCBkbyBDU1Ncbi8vIG5vIHdyYXBwZXIgKGFwbGljYS1zZSBhbyBob3ZlcmFyIG8gYm90w6NvIGRlbnRybyBkZWxlKSBvIHJldmVsYS5cbi5jb250YWluZXItb3B0aW9uLmhhcy10aXAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLy8gQmFzZSBkbyBiYWzDo286IFNFTVBSRSBhYnNvbHV0byBlIGVzY29uZGlkbyDigJQgw6AgcHJvdmEgZGUgdmF6YXIgY29tbyBpdGVtIGRlIG1lbnVcbi8vIHZpc8OtdmVsIGNhc28gcmVuZGVyaXplIGZvcmEgZG8gY29udGV4dG8gYC5oYXMtdGlwYCAoaXRlbSBoYWJpbGl0YWRvKS4gU8OzIG9cbi8vIGA6aG92ZXJgIGRvIHdyYXBwZXIgYC5oYXMtdGlwYCBvIHJldmVsYS5cbi5qZW1zLW1lbnUtdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArIDRweCk7XG4gIGxlZnQ6IDhweDtcbiAgei1pbmRleDogMTA7XG4gIG1heC13aWR0aDogMjYwcHg7XG4gIHBhZGRpbmc6IDZweCA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5NywgOTcsIDk3LCAwLjk2KTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4uY29udGFpbmVyLW9wdGlvbi5oYXMtdGlwOmhvdmVyIC5qZW1zLW1lbnUtdGlwIHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLmxpZ2h0LXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IHtcblxuICAvLyBDb3IgLyDDrWNvbmUgLyBob3ZlciBkb3MgaXRlbnMgZGUgbWVudSB2w6ptIGRvIGJsb2NvIGFkaXRpdm8gZ2xvYmFsIGFjaW1hXG4gIC8vICgubGlnaHQtdGhlbWUgeyAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbSwgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnVcbiAgLy8gLm1hdC1tZW51LWl0ZW0gfSksIHF1ZSBjb2JyZSBpdGVtIGNydSBFIHdyYXBwZXIuIEFxdWkgZmljYW0gc8OzIG9zIHNlbGV0b3Jlc1xuICAvLyBlc3BlY8OtZmljb3MgZG8gYXZhdGFyLXByb2ZpbGUgKHRoZW1lL2xheW91dC9sYW5ndWFnZSBzd2l0Y2hlcnMpLlxuXG4gIC8vIFRoZW1lIHN3aXRjaGVyIChsaWdodC9kYXJrL3N5c3RlbSkgYW5kIGxheW91dCBzd2l0Y2hlciAobW9kZXJuL2NsYXNzaWMpXG4gIC8vIOKAlCBob3ZlciB1c2VzIHRoZSBzYW1lIHRva2VucyBhcyB0aGUgc3VibWVudSBpdGVtcyBzbyBhbGwgaW50ZXJhY3RpdmVcbiAgLy8gcm93cyBpbiB0aGlzIG1lbnUgc2hhcmUgb25lIGhvdmVyIGlkZW50aXR5LlxuICAuY29udGFpbmVyLXRoZW1lIC5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKTpub3QoLmhpZ2hsaWdodC1idXR0b24pLFxuICAuY29udGFpbmVyLWxheW91dCAubWF0LW1lbnUtaXRlbTpob3Zlcjpub3QoW2Rpc2FibGVkXSk6bm90KC5oaWdobGlnaHQtYnV0dG9uKSxcbiAgLmNvbnRhaW5lci1sYW5ndWFnZS1jb21wYWN0IC5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKTpub3QoLmhpZ2hsaWdodC1idXR0b24pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSAhaW1wb3J0YW50O1xuXG4gICAgLm1hdC1pY29uLFxuICAgIC5sYXlvdXQtaWNvbiB7XG4gICAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC5jb250YWluZXItdGhlbWUgLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbixcbiAgLmNvbnRhaW5lci1sYXlvdXQgLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbixcbiAgLmNvbnRhaW5lci1sYW5ndWFnZS1jb21wYWN0IC5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlICFpbXBvcnRhbnQ7XG4gIH1cblxufVxuLmRhcmstdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgLy8gU2FtZSBkZXRlcm1pbmlzdGljIHJlY2lwZSBhcyB0aGUgZXhwZXJpbWVudGFsLXNpZGViYXIgZmx5b3V0OiBzb2xpZFxuICAvLyAxcHggb3V0bGluZSB2aWEgYGJveC1zaGFkb3cgMCAwIDAgMXB4YCAoZm9sbG93cyBib3JkZXItcmFkaXVzKSwgcGx1c1xuICAvLyB0aGUgcGFuZWwtdGllciBkcm9wLXNoYWRvdyBmb3IgZWxldmF0aW9uLlxuICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItZGFyayAhaW1wb3J0YW50O1xuICBmaWx0ZXI6ICRzaGFkb3ctcGFuZWwtZGFyaztcbn1cbi8vIENvbnRyYXBhcnRlIGRhcmsgZG8gYC50cGMtdXNlci1tZW51YCBzdGFuZGFsb25lICh2YXJpYW50ZSBhcHAtcG9wb3ZlcikuXG4vLyBWZXIgYmxvY28gbGlnaHQgY29ycmVzcG9uZGVudGUgYWNpbWEg4oCUIG1lc21hIGRlY2lzw6NvIGFycXVpdGV0dXJhbC5cbi5kYXJrLXRoZW1lIC50cGMtdXNlci1tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItZGFyaztcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWRhcms7XG59XG5cbi8vIFRyaWdnZXIgKGdsb2JvICsgcsOzdHVsbyBkbyBmdXNvKSBkZW50cm8gZG8gcGFpbmVsIGRvIGRhdGVwaWNrZXIuIENvbW8gb1xuLy8gYGFwcC10aW1lLXpvbmUtaW5wdXRgIHZpdmUgcG9ydGFsbGFkbyBubyBvdmVybGF5IENESywgYDpob3N0LWNvbnRleHQoLmRhcmstdGhlbWUpYFxuLy8gc2NvcGVkIGRvIGNvbXBvbmVudGUgcG9kZSBuw6NvIGFsY2Fuw6dhci4gRmFsbGJhY2sgZ2xvYmFsIGNvYnJlIGxpZ2h0ICsgZGFyay5cbi5kYXJrLXRoZW1lIC5jb250YWluZXItYnV0dG9uIC50aW1lLXpvbmUtYnV0dG9uIHtcbiAgY29sb3I6ICRpY29uLW11dGVkLWRhcmsgIWltcG9ydGFudDtcbiAgJjpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICYubWVudS1vcGVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1jb250YWluZXItYmctZGFyayAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZC1ob3Zlci1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gVmlzdWFsaXphZG9yIGRlIEZVU09TIChgYXBwLWRpYWxvZy10aW1lem9uZWApIOKAlCByZWFkLW9ubHksIG1vc3RyYSBhIGRhdGEvaG9yYVxuLy8gZW0gY2FkYSBmdXNvIGNvbmhlY2lkbyAoYnJvd3NlciwgZXZlbnRvLCBVVEMsIElETFcpLiBTZW0gaG92ZXIgbmVtIHNlbGXDp8Ojbyxcbi8vIHPDsyB1bSBcImNhcnTDo29cIiBsaXN0YW5kbyBhcyBsaW5oYXMgY29tIG5vbWUgw6AgZXNxdWVyZGEgZSBob3LDoXJpbyDDoCBkaXJlaXRhLlxuLmplbXMtdHp2aWV3LW1lbnUge1xuICBtaW4td2lkdGg6IDMwMHB4O1xuICBwYWRkaW5nOiA4cHggNHB4ICFpbXBvcnRhbnQ7XG5cbiAgLmplbXMtdHp2aWV3LXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDEycHg7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiAgICBmb250LXNpemU6ICRjb250cm9sLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJG1lbnUtaXRlbS13ZWlnaHQ7XG4gIH1cbiAgLmplbXMtdHp2aWV3LW5hbWUge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbiAgLmplbXMtdHp2aWV3LXRhZyB7XG4gICAgY29sb3I6ICRpY29uLW11dGVkO1xuICAgIGZvbnQtd2VpZ2h0OiAkbWVudS1pdGVtLXdlaWdodC1tdXRlZDtcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xuICB9XG4gIC5qZW1zLXR6dmlldy10aW1lIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBjb2xvcjogJGljb24tbXV0ZWQ7XG4gICAgZm9udC13ZWlnaHQ6ICRtZW51LWl0ZW0td2VpZ2h0LW11dGVkO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIH1cbn1cblxuLy8gRGFya1xuLmRhcmstdGhlbWUgLmplbXMtdHp2aWV3LW1lbnUge1xuICAuamVtcy10enZpZXctcm93IHsgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7IH1cbiAgLmplbXMtdHp2aWV3LXRhZywgLmplbXMtdHp2aWV3LXRpbWUgeyBjb2xvcjogJGljb24tbXV0ZWQtZGFyazsgfVxufVxuXG4vLyBNZW51IGRvIHNlbGV0b3IgZGUgRlVTTyBIT1LDgVJJTyAoYGFwcC10aW1lLXpvbmUtaW5wdXRgKSDigJQgbWVzbW8gcGFkcsOjbyBkb1xuLy8gbWVudSBkbyBgYXBwLWplbXMtc2VsZWN0YDogcGlsbCAyNnB4IGZ1bGwtYmxlZWQsIGhvdmVyIGVtIHdhcm0tc3RvbmUsXG4vLyBjaGVjayBTRi1zdHlsZSDDoCBlc3F1ZXJkYSBubyBmdXNvIHNlbGVjaW9uYWRvLiBWaXZlIG5vIGAudHBjLXVzZXItbWVudWBcbi8vIHBvcnRhbGxhZG87IHJlZ3JhcyBnbG9iYWlzIChzZW0gdmlldyBlbmNhcHN1bGF0aW9uKS5cbi5qZW1zLXR6LW1lbnUge1xuICBtaW4td2lkdGg6IDI2MHB4O1xuICBwYWRkaW5nOiA1cHggNHB4ICFpbXBvcnRhbnQ7XG4gIG1heC1oZWlnaHQ6IDMyMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gIC5qZW1zLXR6LW9wdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDhweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgcGFkZGluZzogMCA4cHggMCAyOHB4OyAgIC8vIDI4cHggZXNxdWVyZGEgcmVzZXJ2YWRvIHAvIG8gY2hlY2sgU0ZcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiAgICBmb250LXNpemU6ICRjb250cm9sLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJG1lbnUtaXRlbS13ZWlnaHQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgfVxuICAgIC8vIFNlbGVjaW9uYWRvOiBjaGVjayBTRi1zdHlsZSDDoCBlc3F1ZXJkYSAobWVzbWEgcmVjZWl0YSBkbyBgLmplbXMtc2VsZWN0LW9wdGlvbmApLlxuICAgICYuc2VsZWN0ZWQ6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogOHB4O1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiAgICAgIC13ZWJraXQtbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMiAxMicgZmlsbD0nbm9uZSc+PHBhdGggZD0nTTIuNSA2LjUgTDUgOSBMOS41IDMuNScgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvPjwvc3ZnPlwiKSBuby1yZXBlYXQgY2VudGVyIC8gY29udGFpbjtcbiAgICAgIG1hc2s6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInIGZpbGw9J25vbmUnPjxwYXRoIGQ9J00yLjUgNi41IEw1IDkgTDkuNSAzLjUnIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLz48L3N2Zz5cIikgbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW47XG4gICAgfVxuICB9XG5cbiAgLmplbXMtdHotbmFtZSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICAuamVtcy10ei10YWcge1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZDtcbiAgICBmb250LXdlaWdodDogJG1lbnUtaXRlbS13ZWlnaHQtbXV0ZWQ7XG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgfVxuICAuamVtcy10ei1vZmZzZXQge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZDtcbiAgICBmb250LXdlaWdodDogJG1lbnUtaXRlbS13ZWlnaHQtbXV0ZWQ7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgfVxufVxuXG4vLyBEYXJrIHRoZW1lIGRvIG1lbnUgZGUgZnVzbyDigJQgY29yZXMgcGFyZWRhcyBjb20gbyByZXN0YW50ZSBkbyBzaXN0ZW1hLlxuLmRhcmstdGhlbWUgLmplbXMtdHotbWVudSB7XG4gIC5qZW1zLXR6LW9wdGlvbiB7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyazsgfVxuICAgICYuc2VsZWN0ZWQ6OmJlZm9yZSB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7IH1cbiAgfVxuICAuamVtcy10ei10YWcsIC5qZW1zLXR6LW9mZnNldCB7IGNvbG9yOiAkaWNvbi1tdXRlZC1kYXJrOyB9XG59XG5cbi8vIFotaW5kZXggZG8gcG9wb3ZlciAoYXBwLXBvcG92ZXIpLiBPIENTUyBzY29wZWQgZG8gY29tcG9uZW50ZSBhcGxpY2EgMTA5OS8xMTAwLFxuLy8gbWFzIG8gYC5tYXQtZGF0ZXBpY2tlci1jb250ZW50YCAoQ0RLIG92ZXJsYXkgZG8gZGF0ZXBpY2tlcikgZmljYSBlbSBzdGFja2luZ1xuLy8gY29udGV4dCBwcsOzcHJpbyBlIMOgcyB2ZXplcyB2ZW5jZSDigJQgbyBwb3BvdmVyIGRvIGdsb2JvIGFwYXJlY2lhIEFUUsOBUyBkbyBwYWluZWwuXG4vLyBSZWdyYSBnbG9iYWwgKHNlbSBlbmNhcHN1bGF0aW9uKSBnYXJhbnRlIHByaW9yaWRhZGUuXG4uamVtcy1wb3BvdmVyLWJhY2tkcm9wIHsgei1pbmRleDogMjAwMCAhaW1wb3J0YW50OyB9XG4uamVtcy1wb3BvdmVyLXBhbmVsIHsgei1pbmRleDogMjAwMSAhaW1wb3J0YW50OyB9XG4vLyBUb29sdGlwcyBkbyBDREsgcHJlY2lzYW0gZmljYXIgYWNpbWEgZG8gcG9wb3ZlciAoei1pbmRleCAyMDAxKSwgc2Vuw6NvXG4vLyBzb21lbSBhdHLDoXMgZG8gbWVudSBkbyBhdmF0YXIuXG4uY2RrLW92ZXJsYXktY29udGFpbmVyIC5tYXQtdG9vbHRpcC1wYW5lbCxcbi5jZGstb3ZlcmxheS1jb250YWluZXIgLmNkay1vdmVybGF5LXBhbmU6aGFzKC5tYXQtdG9vbHRpcCksXG4ubWF0LXRvb2x0aXAgeyB6LWluZGV4OiAyMDEwICFpbXBvcnRhbnQ7IH1cbi8vIE8gLmNkay1vdmVybGF5LWNvbnRhaW5lciBpbnRlaXJvIChxdWUgaG9zcGVkYSBvcyB0b29sdGlwcykgZmljYSBhYmFpeG9cbi8vIGRvIHBvcG92ZXIgKHotaW5kZXggMjAwMSkgcG9yIHNlciBpcm3Do28gYW50ZXJpb3Igbm8gYm9keS4gU29iZSBlbGUgdG9kby5cbi5jZGstb3ZlcmxheS1jb250YWluZXIgeyB6LWluZGV4OiAyMDEwICFpbXBvcnRhbnQ7IH1cblxuLy8gRmFsbGJhY2sgZ2xvYmFsIHAvIG8gYm90w6NvIGRlIGNvcGlhciBkbyBgYXBwLXRleHQtaW5wdXRgIG5vIGRhcmsgdGhlbWUuXG4vLyBPIGA8YnV0dG9uIG1hdFN1ZmZpeCBjbGFzcz1cInRpLWNvcHktYnRuXCI+YCDDqSBwcm9qZXRhZG8gcGVsbyBNYXRlcmlhbCBkZW50cm9cbi8vIGRvIHRlbXBsYXRlIGRvIGBtYXQtZm9ybS1maWVsZGAg4oCUIG8gYDpob3N0LWNvbnRleHQoLmRhcmstdGhlbWUpYCBkbyBTQ1NTIGRvXG4vLyB0ZXh0LWlucHV0IG7Do28gYWxjYW7Dp2EgZWxlbWVudG9zIHByb2pldGFkb3MgZGUgZm9ybWEgY29uZmnDoXZlbC4gRXN0ZSBibG9jb1xuLy8gZ2FyYW50ZSBxdWUgbyBob3ZlciBmaXF1ZSBjb20gYCRpY29uLWNvbnRhaW5lci1iZy1kYXJrYCAoaWTDqm50aWNvIGFvIHN1Yi1ib3TDo29cbi8vIGRvIHNlbGVjdCksIG1hbnRlbmRvIGEgbGluZ3VhZ2VtIHVuaWZpY2FkYS5cbi5kYXJrLXRoZW1lIC50aS1jb3B5LWJ0biB7XG4gIGNvbG9yOiAkaWNvbi1tdXRlZC1kYXJrO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1jb250YWluZXItYmctZGFyaztcbiAgICBjb2xvcjogJGljb24tbXV0ZWQtaG92ZXItZGFyaztcbiAgfVxuICAmLmlzLWNvcGllZCB7IGNvbG9yOiAjNjlmMGFlOyB9XG59XG5cbi8vIEZhbGxiYWNrIGdsb2JhbCBwLyBhcyBvcMOnw7VlcyBkbyBgYXBwLWplbXMtc2VsZWN0YCBubyBkYXJrIHRoZW1lLiBPIFNDU1MgZG9cbi8vIGNvbXBvbmVudGUgKEVtdWxhdGVkKSB1c2EgYDpob3N0LWNvbnRleHQoLmRhcmstdGhlbWUpYCwgbWFzIG8gcGFpbmVsIGRvXG4vLyBwb3BvdmVyIMOpIFBPUlRBTExFRCBwcmEgZm9yYSBkbyBob3N0IChDREsgb3ZlcmxheSkg4oCUIGRlcGVuZGVuZG8gZGEgdmVyc8Ojb1xuLy8gZG8gQW5ndWxhci9DREssIG8gZW5jYXBzdWxhdGlvbiBhdHRyaWJ1dGUgcG9kZSBuw6NvIGNoZWdhciBhb3MgZWxlbWVudG9zXG4vLyBwb3J0YWxsYWRvcywgZGVpeGFuZG8gYSByZWdyYSBzZW0gZWZlaXRvLiBFc3RlIGJsb2NvIGdsb2JhbCBjb2JyZSBpc3NvLlxuLmRhcmstdGhlbWUgLmplbXMtc2VsZWN0LW1lbnUge1xuICAuamVtcy1zZWxlY3Qtb3B0aW9uIHtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbiAgICAmLmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyazsgfVxuICAgICYuc2VsZWN0ZWQ6OmJlZm9yZSB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7IH1cbiAgfVxuICAuamVtcy1zZWxlY3QtZmlsdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrOyB9XG4gIC5qZW1zLXNlbGVjdC1maWx0ZXItaW5wdXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4gICAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrO1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuICAgICY6OnBsYWNlaG9sZGVyIHsgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICB9XG59XG4vLyBDb250cmFwYXJ0ZXMgZGFyayBkb3MgZGVtYWlzIHBhaW7DqWlzIGFwcC1wb3BvdmVyICh2ZXIgbGlnaHQgYmxvY2tzIGFjaW1hKS5cbi8vIGAubm90aWZpY2F0aW9ucy1tZW51YCBOw4NPIGVudHJhIOKAlCBjZi4gbm90YSBsb2dvIGFudGVzIGRvIGJsb2NvIGxpZ2h0LlxuLmRhcmstdGhlbWUgLm1lbnUtY2hhcnQtdjIsXG4uZGFyay10aGVtZSAubWVudS1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1kYXJrO1xuICBmaWx0ZXI6ICRzaGFkb3ctcGFuZWwtZGFyaztcbn1cblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBQYWluZWwgZGUgbWF0LXNlbGVjdCBubyBwYWRyw6NvIGRlIE1FTlUgSkVNUzMgKG1lc21hIGZhbcOtbGlhIGRvIHRwYy11c2VyLW1lbnUpLlxuLy8gQXBsaWNhZG8gdmlhIGBwYW5lbENsYXNzPVwiamVtczMtc2VsZWN0LXBhbmVsXCJgIChleC46IG9zIHNlbGVjdHMgZG8gbWVudSBkZVxuLy8gRklMVFJPIGRhIExpc3RhIGRlIFN1Ym1pc3PDtWVzKS4gTyBwYWluZWwgdml2ZSBudW0gb3ZlcmxheSBuYSByYWl6IGRvIGRvY3VtZW50b1xuLy8g4oaSIHJlZ3JhIEdMT0JBTC4gRXNwZWxoYSBvIGNocm9tZSBkbyBtZW51IGNoYWlyOiBwYWluZWwgYXJyZWRvbmRhZG8gKyBzb21icmEgZGVcbi8vIHBhaW5lbDsgb3DDp8O1ZXMgY29tbyBcInDDrWx1bGFzXCIgY29tIGhvdmVyOyB0aXBvZ3JhZmlhIDEzcHguIFRoZW1lLWF3YXJlLlxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBgLm1hdC1hY3RpdmVgIChtYXJjYWRvciBkbyBMaXN0S2V5TWFuYWdlciBkbyBDREspIHBlcnNpc3RlIG5vIMO6bHRpbW8gaXRlbVxuLy8gdXNhZG8gbWVzbW8gZGVwb2lzIHF1ZSBvIG1vdXNlIGRlaXhhIG8gcGFpbmVsIOKAlCBvIENESyBzw7MgbGltcGEgYW8gdHJvY2FyXG4vLyBkZSBpdGVtIGF0aXZvIG91IGZlY2hhci4gTyB0ZW1hIGRlZmF1bHQgZG8gTWF0ZXJpYWwgcGludGEgYmcgZW1cbi8vIGAubWF0LWFjdGl2ZWAsIG8gcXVlIGNhdXNhOiAoMSkgaXRlbSBwcsOpLWRlc3RhY2FkbyBhbyBhYnJpciAobyBzZWxlY2lvbmFkb1xuLy8gdmlyYSBhdGl2byBhdXRvbWF0aWNhbWVudGUpOyAoMikgaXRlbSBvbmRlIG8gbW91c2UgZXN0ZXZlIGZpY2EgY29tIGJnXG4vLyBwZXJzaXN0ZW50ZSBhcMOzcyBkZWl4YXIgbyBwYWluZWwuIFplcmFtb3MgYXF1aSBwcmEgcXVlIG8gZGVzdGFxdWUgc8OzXG4vLyBhcGFyZcOnYSBubyBgOmhvdmVyYCAobW91c2UpIGUgbm8gYC5jZGsta2V5Ym9hcmQtZm9jdXNlZGAgKHRlY2xhZG8pLlxuLm1hdC1zZWxlY3QtcGFuZWwuamVtczMtc2VsZWN0LXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1hY3RpdmUsXG4ubWF0LXNlbGVjdC1wYW5lbC5teS1zZWxlY3Qtc3RhdHVzLXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1hY3RpdmUsXG4ubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCAubWF0LW9wdGlvbi5tYXQtYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLm1hdC1zZWxlY3QtcGFuZWwuamVtczMtc2VsZWN0LXBhbmVsIHtcbiAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXMgIWltcG9ydGFudDtcbiAgcGFkZGluZzogNXB4IDRweCAhaW1wb3J0YW50O1xuICAvLyBmb250LXNpemUgbm8gcGFpbmVsIHJhaXogY2FzY2F0ZWlhIHAvIFRPRE9TIG9zIGRlc2NlbmRlbnRlcyAobWF0LW9wdGlvbixcbiAgLy8gY2hlY2tib3ggbGFiZWwpIOKAlCBldml0YSBvIGAxNnB4YCBkZWZhdWx0IGRvIE1hdGVyaWFsIGAubWF0LXNlbGVjdC1wYW5lbGAuXG4gIC8vIENhZGEgZGVzY2VuZGVudGUgcG9kZSBhaW5kYSBzb2JyZXNjcmV2ZXIgc2UgcHJlY2lzYXIuXG4gIGZvbnQtc2l6ZTogJGNvbnRyb2wtZm9udC1zaXplICFpbXBvcnRhbnQ7XG5cbiAgLm1hdC1vcHRpb24ge1xuICAgIGhlaWdodDogMjZweDtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICBtYXJnaW46IDA7ICAgLy8gaXRlbnMgZnVsbC1ibGVlZCBubyBwYWluZWwgKG1hY09TL1dpbmRvd3MgbW9kZXJubylcbiAgICBwYWRkaW5nOiAwIDhweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogJGNvbnRyb2wtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkbWVudS1pdGVtLXdlaWdodDtcbiAgfVxuICAvLyBDaGVja2JveCBubyBNRVNNTyB0YW1hbmhvIGRvcyBjaGVja2JveGVzIGRlIFNFTEXDh8ODTyBERSBMSU5IQVMgZGEgdGFiZWxhXG4gIC8vIChsw6Egw6kgYG1hdC1jaGVja2JveGAgY29tIGB0cmFuc2Zvcm06IHNjYWxlKDAuOClgIH4xM3B4KS4gTWVzbWEgdMOpY25pY2EgYXF1aTpcbiAgLy8gbyB0cmFuc2Zvcm0gbsOjbyBhbHRlcmEgbyBmb290cHJpbnQgZGUgbGF5b3V0IChzZWd1ZSAxNnB4KSwgZW50w6NvIG8gZXNwYcOnYW1lbnRvXG4gIC8vIGNvbSBvIHRleHRvIGRhIG9ww6fDo28gc2UgbWFudMOpbSDigJQgc8OzIGVuY29saGUgbyB2aXN1YWwgcHJvcG9yY2lvbmFsbWVudGUuXG4gIC5tYXQtcHNldWRvLWNoZWNrYm94IHsgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOyB9XG4gIC8vIFLDs3R1bG8gZGUgZ3J1cG8gKGV4LjogdMOzcGljb3MtcGFpKSDigJQgcmVjdWFkby9tZW5vciwgYW8gZXN0aWxvIGxlZ2VuZGEuXG4gIC5tYXQtb3B0Z3JvdXAtbGFiZWwge1xuICAgIGhlaWdodDogMzJweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICBwYWRkaW5nOiAwIDhweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxufVxuLy8gQ2hyb21lIGRlIG1lbnUgSkVNUzMg4oCUIENPTVBBUlRJTEhBRE8gcGVsb3MgcGFpbsOpaXMgY29tIGVzc2UgcGFkcsOjbzogamVtczMtc2VsZWN0LXBhbmVsXG4vLyAoc2VsZWN0cyBkZSBURVhUTyBkbyBmaWx0cm8pIGUgbXktc2VsZWN0LXN0YXR1cy1wYW5lbCAoQ0hJUFMgZGUgc3RhdHVzKS4gRk9OVEUgw5pOSUNBIGRvXG4vLyBmdW5kbyArIHNvbWJyYSBkZSBwYWluZWwuIE8gSE9WRVIgTsODTyDDqSBjb21wYXJ0aWxoYWRvOiBkaXZlcmdlIHBvciBwYWluZWwgKGZpbHRybyA9IHRva2VuXG4vLyBKRU1TMyBwYWRyw6NvOyBzdGF0dXMgPSBjdXN0b21pemHDp8OjbyBwcsOzcHJpYSksIGRlZmluaWRvIG5vcyBibG9jb3MgZXNwZWPDrWZpY29zIGFiYWl4by5cbi5saWdodC10aGVtZSAubWF0LXNlbGVjdC1wYW5lbC5qZW1zMy1zZWxlY3QtcGFuZWwsXG4ubGlnaHQtdGhlbWUgLm1hdC1zZWxlY3QtcGFuZWwubXktc2VsZWN0LXN0YXR1cy1wYW5lbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBmaWx0ZXI6ICRzaGFkb3ctcGFuZWwtbGlnaHQ7XG59XG4uZGFyay10aGVtZSAubWF0LXNlbGVjdC1wYW5lbC5qZW1zMy1zZWxlY3QtcGFuZWwsXG4uZGFyay10aGVtZSAubWF0LXNlbGVjdC1wYW5lbC5teS1zZWxlY3Qtc3RhdHVzLXBhbmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1kYXJrICFpbXBvcnRhbnQ7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1kYXJrO1xufVxuXG4vLyBFc3BlY8OtZmljbyBkbyBGSUxUUk8gKGplbXMzLXNlbGVjdC1wYW5lbCwgc2VsZWN0cyBkZSBURVhUTy9tdWx0aSk6IGNvciBkYXMgb3DDp8O1ZXMsXG4vLyByw7N0dWxvIGRlIGdydXBvIGUgY2hlY2tib3ggbWFyY2FkbyBlbSBhY2NlbnQuXG4vL1xuLy8gU0lOR0xFLVNFTEVDVCBzZWxlY2lvbmFkbzogc2VtIGZ1bmRvIGNpbnphIChNYXRlcmlhbCBkZWZhdWx0KSDihpIgbWFyY2EgY29tXG4vLyDDjUNPTkUgREUgQ0hFQ0sgw6AgRVNRVUVSREEgKG5hIGZyZW50ZSBkbyByw7N0dWxvKS4gUmVzZXJ2YSAyOHB4IGRlIHBhZGRpbmctbGVmdFxuLy8gZW0gVE9EQVMgYXMgb3DDp8O1ZXMgcHJhIGV2aXRhciBxdWUgbyByw7N0dWxvIHNlIGRlc2xvcXVlIHF1YW5kbyBvIGNoZWNrIGFwYXJlY2UuXG4ubGlnaHQtdGhlbWUgLm1hdC1zZWxlY3QtcGFuZWwuamVtczMtc2VsZWN0LXBhbmVsIHtcbiAgLm1hdC1vcHRpb24ge1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAyOHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLy8gT3DDp8OjbyBTRUxFQ0lPTkFEQSAoc2luZ2xlLXNlbGVjdCwgZXguOiBUcmlsaGEpOiBtYW50w6ltIGNvciBkbyB0ZXh0byBub3JtYWwsXG4gIC8vIHNlbSBmdW5kbyBjaW56YSDigJQgc8OzIG8gY2hlY2sgw6AgZXNxdWVyZGEgaW5kaWNhIGEgc2VsZcOnw6NvLlxuICAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLW11bHRpcGxlKSB7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAvLyBDaGVjayBTRiBTeW1ib2xzIOKAlCBmb250ZSDDum5pY2E6IG1peGluIGBqZW1zLXNlbGVjdGVkLWNoZWNrYCAobWVzbWEgcmVjZWl0YVxuICAgIC8vIGRvIGBhcHAtamVtcy1zZWxlY3RgIGUgZG8gbWVudSBzZWxldG9yIGRlIHBlcmZpbCkuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGplbXMtc2VsZWN0ZWQtY2hlY2soJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IpO1xuICAgIH1cbiAgfVxuICAubWF0LW9wdGlvbjpob3Zlcjpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpLFxuICAubWF0LW9wdGlvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQgIWltcG9ydGFudDsgfVxuICAubWF0LW9wdGdyb3VwLWxhYmVsIHsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICAvLyBDaGVja2JveCBtYXJjYWRvID0gQUNDRU5UIChpZ3VhbCBhbyBgLm1hdC1jaGVja2JveGAgZG8gcmVzdG8gZG8gYXBwKSwgbm8gbHVnYXIgZG8gY2luemFcbiAgLy8gZGVmYXVsdCBkbyBwc2V1ZG8tY2hlY2tib3g7IGNoZWNrbWFyayBvZmYtd2hpdGUgdmVtIGRhIHJlZ3JhIGdsb2JhbC4gKERhcmsgdXNhICRncmF5LTMwMC4pXG4gIC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsXG4gIC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUge1xuICAgIGNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgfVxufVxuLmRhcmstdGhlbWUgLm1hdC1zZWxlY3QtcGFuZWwuamVtczMtc2VsZWN0LXBhbmVsIHtcbiAgLm1hdC1vcHRpb24ge1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDI4cHggIWltcG9ydGFudDtcbiAgfVxuICAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLW11bHRpcGxlKSB7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmsgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogOHB4O1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuICAgICAgLXdlYmtpdC1tYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEyIDEyJyBmaWxsPSdub25lJz48cGF0aCBkPSdNMi41IDYuNSBMNSA5IEw5LjUgMy41JyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8+PC9zdmc+XCIpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICAgICAgbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMiAxMicgZmlsbD0nbm9uZSc+PHBhdGggZD0nTTIuNSA2LjUgTDUgOSBMOS41IDMuNScgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvPjwvc3ZnPlwiKSBuby1yZXBlYXQgY2VudGVyIC8gY29udGFpbjtcbiAgICB9XG4gIH1cbiAgLm1hdC1vcHRpb246aG92ZXI6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSxcbiAgLm1hdC1vcHRpb24uY2RrLWtleWJvYXJkLWZvY3VzZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDsgfVxuICAubWF0LW9wdGdyb3VwLWxhYmVsIHsgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxufVxuXG4vLyBPcMOnw7VlcyBkZSBtYXQtc2VsZWN0IE3DmkxUSVBMTyAoYC5tYXQtb3B0aW9uLW11bHRpcGxlYCk6IG8gTWF0ZXJpYWwgasOhIGRlc2VuaGEgb1xuLy8gcHNldWRvLWNoZWNrYm94IMOgIGVzcXVlcmRhLCBlbnTDo28gTsODTyByZXNlcnZhbW9zIG9zIDI4cHggZG8gY2hlY2sgU0Ygc2luZ2xlLXNlbGVjdFxuLy8gKHF1ZSBzw7MgYXBhcmVjZSBlbSBgOm5vdCgubWF0LW9wdGlvbi1tdWx0aXBsZSlgKSDigJQgc2Vuw6NvIG8gaXRlbSBmaWNhIGNvbSByZWN1b1xuLy8gRFVQTE8gKGNoZWNrYm94IGpvZ2FkbyB+MzRweCBwcmEgZGVudHJvKS4gUmVjdW8gZW54dXRvIGFsaW5oYSBvIGNoZWNrYm94IGEgfjEwcHggZGFcbi8vIGJvcmRhIGRvIHBhaW5lbC4gVmFsZSBwLyB0b2RvIG1hdC1zZWxlY3QgbXVsdGlwbGUgZG8gYXBwIChvIDI4cHggZXJhIGluZGV2aWRvIHByYSBlbGVzKS5cbi5saWdodC10aGVtZSAubWF0LXNlbGVjdC1wYW5lbC5qZW1zMy1zZWxlY3QtcGFuZWwgLm1hdC1vcHRpb24ubWF0LW9wdGlvbi1tdWx0aXBsZSxcbi5kYXJrLXRoZW1lIC5tYXQtc2VsZWN0LXBhbmVsLmplbXMzLXNlbGVjdC1wYW5lbCAubWF0LW9wdGlvbi5tYXQtb3B0aW9uLW11bHRpcGxlIHtcbiAgcGFkZGluZy1sZWZ0OiAxMnB4ICFpbXBvcnRhbnQ7XG59XG4vLyBNdWx0aS1zZWxlY3Q6IGEgbWFyY2EgZGUgXCJzZWxlY2lvbmFkb1wiIMOpIEFQRU5BUyBvIGNoZWNrYm94IChwc2V1ZG8tY2hlY2sgw6Bcbi8vIGVzcXVlcmRhKS4gTyBmdW5kbyBOw4NPIGRldmUgbXVkYXIgcG9yIHNlbGXDp8OjbyDigJQgc8OzIG5vIGhvdmVyLiBNYXRlcmlhbCBkZWZhdWx0XG4vLyBwaW50YSBgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkYCBjb20gdGludCBjaW56YTsgemVyYW1vcyBhcXVpIHByYSBxdWUgYSBsaW5oYVxuLy8gc2VsZWNpb25hZGEgdGVuaGEgbyBtZXNtbyBiZyBxdWUgdW1hIG7Do28tc2VsZWNpb25hZGEgZW0gZXN0YWRvIG5ldXRyby5cbi5tYXQtc2VsZWN0LXBhbmVsLmplbXMzLXNlbGVjdC1wYW5lbCAubWF0LW9wdGlvbi5tYXQtb3B0aW9uLW11bHRpcGxlLm1hdC1zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi8vIG1hdC1hdXRvY29tcGxldGUgbsOjbyBleHDDtWUgYFtwYW5lbENsYXNzXWAgZW0gTWF0ZXJpYWwgMTEsIGVudMOjbyBvIHBhaW5lbFxuLy8gZGEgQ2lkYWRlIChgYXBwLWlucHV0LWZpbHRlci1hdXRvY29tcGxldGVgKSByZWNlYmUgbyBjaHJvbWUgSkVNUzNcbi8vIEdMT0JBTE1FTlRFIHZpYSBgLm1hdC1hdXRvY29tcGxldGUtcGFuZWxgLiBNZXNtYSByZWNlaXRhIGRvXG4vLyBgLmplbXMzLXNlbGVjdC1wYW5lbGAg4oCUIHJldXRpbGl6YSBvcyB0b2tlbnMvaG92ZXIvZGFyay5cbi5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIHtcbiAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXMgIWltcG9ydGFudDtcbiAgcGFkZGluZzogNXB4IDRweCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6ICRjb250cm9sLWZvbnQtc2l6ZSAhaW1wb3J0YW50OyAgIC8vIGNhc2NhdGVpYSBwLyBvcMOnw7VlcyBlIGZpbHRlclxuXG4gIC5tYXQtb3B0aW9uIHtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgbWFyZ2luOiAwOyAgIC8vIGl0ZW5zIGZ1bGwtYmxlZWQgbm8gcGFpbmVsIChtYWNPUy9XaW5kb3dzIG1vZGVybm8pXG4gICAgcGFkZGluZzogMCA4cHggIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbiAgICBmb250LXNpemU6ICRjb250cm9sLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJG1lbnUtaXRlbS13ZWlnaHQ7XG4gIH1cbn1cbi8vIEJ1c2NhIGRlIHVzdcOhcmlvcyAoYXBwLXVzZXItc2VhcmNoKTogY2FkYSBvcMOnw6NvIMOpIFwiTm9tZSAoaWQpIC0gZW1haWwgLSBzaWdsYVwiLFxuLy8gdGV4dG8gbG9uZ28gcXVlIG8gTWF0ZXJpYWwgdHJ1bmNhIGNvbSBlbGxpcHNpcyBkZW50cm8gZGEgbGFyZ3VyYSBkbyBpbnB1dC4gQXF1aVxuLy8gZGVpeGFtb3MgYSBvcMOnw6NvIENSRVNDRVIgYXTDqSBvIGNvbnRlw7pkbyBlIGhhYmlsaXRhbW9zIFNDUk9MTCBIT1JJWk9OVEFMIG5vIHBhaW5lbCxcbi8vIHByYSBsZXIgYSBsaW5oYSBpbnRlaXJhIHNlbSBjb3J0YXIuIEVzY29wbyBwZWxhIGNsYXNzZSBwcsOzcHJpYSBkbyBhdXRvY29tcGxldGVcbi8vIChgdXNlci1zZWFyY2gtYXV0b2NvbXBsZXRlYCwgcHJvcGFnYWRhIGFvIHBhaW5lbCB2aWEgbyBgY2xhc3NgIGRvIG1hdC1hdXRvY29tcGxldGUpLFxuLy8gZW50w6NvIHZhbGUgcHJhIFRPREFTIGFzIGluc3TDom5jaWFzIGRlIGFwcC11c2VyLXNlYXJjaCBzZW0gYWZldGFyIG91dHJvcyBwYWluw6lpcy5cbi5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsLnVzZXItc2VhcmNoLWF1dG9jb21wbGV0ZSB7XG4gIG92ZXJmbG93LXg6IGF1dG87ICAgICAgICAgICAgICAvLyBiYXJyYSBob3Jpem9udGFsIHF1YW5kbyBhIG9ww6fDo28gcGFzc2EgZGEgbGFyZ3VyYSBkbyBpbnB1dFxuICAvLyBQYWluZWwgZGluw6JtaWNvOiBjcmVzY2UgYXTDqSBjYWJlciBvIGl0ZW0gbWFpcyBsYXJnbywgY29tIHBpc28gbmEgbGFyZ3VyYVxuICAvLyB0w61waWNhIGRvIGlucHV0ICgzMDBweCA9IG1heC13aWR0aCBkbyBgLnVzZXItc2VhcmNoYCkgZSB0ZXRvIHByYSBuw6NvIHZhemFyXG4gIC8vIGEgdmlld3BvcnQuIENvbXBvbmVudGUgcGFzc2EgYHBhbmVsV2lkdGg6ICdhdXRvJ2AgcHJhIE1hdGVyaWFsIG7Do28gZml4YXIgb1xuICAvLyBwYW5lOyBvIGNyZXNjaW1lbnRvIGFjb250ZWNlIHZpYSBgbWF4LWNvbnRlbnRgIGFxdWkuXG4gIG1pbi13aWR0aDogMzAwcHg7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgbWF4LXdpZHRoOiBtaW4oODAwcHgsIDkwdncpO1xuXG4gIC8vIFBvcG92ZXIgZGUgYWRpY2lvbmFyIGF1dG9yICh0ZW0gbyBoZWFkZXIgXCJDcmlhciBub3ZvIHVzdcOhcmlvXCIpLiBgOmhhc2AgbGltaXRhIGFvXG4gIC8vIGNhc28gY29tIGhlYWRlcjsgcGFpbsOpaXMgc2VtIGVsZSBmaWNhbSBpbnRhY3Rvcy5cbiAgJjpoYXMoLmNyZWF0ZS11c2VyLW9wdGlvbikge1xuICAgIC8vICgxKSBaZXJhIFRPRE8gbyBwYWRkaW5nIGRvIHBhaW5lbCAobWFudMOpbSBzw7MgbyByZXNwaXJvIGluZmVyaW9yKS4gTW90aXZvczpcbiAgICAvLyAgIC0gcGFkZGluZy10b3AgZ2VyYXZhIEZSRVNUQSBubyB0b3BvIChvIHN0aWNreSBmaXhhIGVtIHRvcDowID0gdG9wbyBkYSBjYWl4YVxuICAgIC8vICAgICBkZSBjb250ZcO6ZG8sIGFiYWl4byBkbyBwYWRkaW5nKSBwb3Igb25kZSBhIGxpc3RhIHZhemF2YSBBQ0lNQSBkbyBoZWFkZXI7XG4gICAgLy8gICAtIHBhZGRpbmcgTEFURVJBTCAoNHB4KSBlcmEgbyBWQVpBTUVOVE8gw6AgZGlyZWl0YTogbyBoZWFkZXIgZXN0aWNhIHPDsyBhdMOpIGFcbiAgICAvLyAgICAgY2FpeGEgZGUgY29udGXDumRvIChpbnNldCA0cHgpLCBtYXMgbyB0ZXh0byBkYXMgbGluaGFzIHRyYW5zYm9yZGEgcGFyYSBkZW50cm9cbiAgICAvLyAgICAgZGVzc2UgcGFkZGluZyBlIGFwYXJlY2Ugw6AgZGlyZWl0YSBkbyBoZWFkZXIuIENvbSBwYWRkaW5nIGxhdGVyYWwgMCwgbyBoZWFkZXJcbiAgICAvLyAgICAgcHJlZW5jaGUgYSBsYXJndXJhIGludGVpcmEgZG8gcGFpbmVsIGUgY29icmUgYXMgbGluaGFzIHBvciBjb21wbGV0by5cbiAgICAvLyBPIHJlc3Bpcm8gaW50ZXJubyBkbyB0ZXh0byB2ZW0gZG8gcHLDs3ByaW8gcGFkZGluZyBkYSBvcMOnw6NvIChgMCA4cHhgKSwgcHJlc2VydmFkby5cbiAgICBwYWRkaW5nOiAwIDAgNXB4ICFpbXBvcnRhbnQ7XG5cbiAgICAvLyAoMikgQSBMQVJHVVJBIGRvIHBhaW5lbCDDqSBkZWNpZGlkYSBwZWxvIGBbcGFuZWxXaWR0aF1gIGRvIG1hdC1hdXRvY29tcGxldGVcbiAgICAvLyAoZGVmYXVsdCA0ODAgbm8gYGFwcC11c2VyLXNlYXJjaGA7IG92ZXJsYXlzIGVzdHJlaXRvcyBwYXNzYW0gdmFsb3IgcHLDs3ByaW8sXG4gICAgLy8gZXguOiBwb3BvdmVyIFwiYWRpY2lvbmFyIGF1dG9yXCIgZW0gcGFwZXItaW5mbyBwYXNzYSBgW3BhbmVsV2lkdGhdPVwiMjk2XCJgKS5cbiAgICAvLyBSZWdyYSBhbnRpZ2EgYHdpZHRoOiAyOTZweCAhaW1wb3J0YW50YCBmb2kgcmVtb3ZpZGEgcHJhIG7Do28gY29uZmxpdGFyIGNvbSBvXG4gICAgLy8gSW5wdXQg4oCUIGEgSW5wdXQgaW5saW5lIG5vIHBhaW5lbCBhZ29yYSB2ZW5jZSBzZW0gYCFpbXBvcnRhbnRgIGdsb2JhbC5cbiAgfVxuICAvLyBRdWFuZG8gTsODTyBow6EgcmVzdWx0YWRvcyAoc8OzIG8gaGVhZGVyIFwiQ3JpYXIgbm92byB1c3XDoXJpb1wiKSwgZWxlIMOpIG8gw7psdGltbyBpdGVtOlxuICAvLyBzb21lIGNvbSBvIHJlc3Bpcm8gaW5mZXJpb3IsIHF1ZSBkZWl4YXZhIHVtIGVzcGHDp28gZW0gYnJhbmNvIGVtYmFpeG8gZGEgbGluaGEuXG4gICY6aGFzKC5jcmVhdGUtdXNlci1vcHRpb246bGFzdC1jaGlsZCkge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBUb2RhcyBhcyBvcMOnw7VlcyAoaGVhZGVyICsgbGluaGFzKSBlc3RpY2FtIGF0w6kgYSBMQVJHVVJBIERPIFBBSU5FTCB2aWFcbiAgLy8gYG1pbi13aWR0aDogMTAwJWAsIFNFTSBgbWF4LWNvbnRlbnRgLiBBc3NpbTpcbiAgLy8gIC0gbyBoZWFkZXIgXCJDcmlhciBub3ZvIHVzdcOhcmlvXCIgdGVtIGEgbWVzbWEgbGFyZ3VyYSBkYXMgbGluaGFzIOKGkiBjb2JyZS1hcyBwb3JcbiAgLy8gICAgaW50ZWlybyBxdWFuZG8gZWxhcyByb2xhbSBwb3IgYmFpeG8gZGVsZSAoc2VtIGBtaW4td2lkdGhgIGVsZSBlbmNvbGhpYSBwLyBvXG4gIC8vICAgIHRhbWFuaG8gZG8gdGV4dG8gZSBzb2JyYXZhIGxpbmhhIMOgIGRpcmVpdGEpO1xuICAvLyAgLSBhcyBsaW5oYXMgbsOjbyBmaWNhbSBNQUlTIGxhcmdhcyBxdWUgbyBoZWFkZXIgKHF1ZSBzZXJpYSBvIHByb2JsZW1hIG9wb3N0bykuXG4gIC8vIE8gdGV4dG8gbG9uZ28gYWluZGEgVFJBTlNCT1JEQSAoc2VtIGVsbGlwc2lzKSBlIHJvbGEgdmlhIGBvdmVyZmxvdy14OiBhdXRvYC5cbiAgLm1hdC1vcHRpb24ge1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgICAgICAgICAgIC8vIGxpYmVyYSBvIGNsaXAgcXVlIGdlcmF2YSBvIGVsbGlwc2lzIG5hIG9ww6fDo29cbiAgfVxuICAvLyBPIHNwYW4gaW50ZXJubyB0YW1iw6ltIHRydW5jYSBwb3IgcGFkcsOjbzsgbGliZXJhIHByYSBvIHRleHRvIFRSQU5TQk9SREFSIChlIGVudMOjb1xuICAvLyByb2xhciBob3Jpem9udGFsbWVudGUpIGVtIHZleiBkZSB2aXJhciByZXRpY8OqbmNpYXMuXG4gIC5tYXQtb3B0aW9uLXRleHQge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRleHQtb3ZlcmZsb3c6IGNsaXA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgICAgICAgICAvLyB1bWEgbGluaGEgc8OzIChlbnTDo28gdHJhbnNib3JkYSDihpIgcm9sYSwgbsOjbyBxdWVicmEpXG4gIH1cblxuICAvLyBJdGVtIGZpeG8gXCJDcmlhciBub3ZvIHVzdcOhcmlvXCIgKG9wdC1pbiB2aWEgW2VuYWJsZUNyZWF0ZVVzZXJdKTogcHJpbWVpcm8gZGEgbGlzdGEsXG4gIC8vIGVtIERFU1RBUVVFIOKAlCBjb3IgYWNjZW50LCDDrWNvbmUgcGVyc29uX2FkZC4gRklYTyBubyB0b3BvIChwb3NpdGlvbjogc3RpY2t5KTogYVxuICAvLyBsaXN0YSBkZSByZXN1bHRhZG9zIHJvbGEgcG9yIGJhaXhvIGRlbGUsIGVudMOjbyBwcmVjaXNhIGRlIGZ1bmRvIE9QQUNPIChwaW50YWRvIG5vc1xuICAvLyBibG9jb3MgbGlnaHQvZGFyayBhYmFpeG8pIGUgei1pbmRleCBhY2ltYSBkYXMgb3DDp8O1ZXMuXG4gIC8vXG4gIC8vIENlbnRyYWxpemHDp8OjbyBwb3IgRkxFWCAobsOjbyBwb3IgbGluZS1oZWlnaHQpOiBvIGNvbnRlw7pkbyBpbnRlcm5vIMOpIGlubGluZS1mbGV4IGUsXG4gIC8vIGFsaW5oYWRvIHBlbGEgYmFzZWxpbmUgZGEgbGluaGEgZGUgMjZweCwgc3ViaWEuIENlbnRyYWxpemFyIGEgYC5tYXQtb3B0aW9uLXRleHRgXG4gIC8vIG5hIGFsdHVyYSByZWFsIGRvIGl0ZW0gcmVzb2x2ZSwgaW5kZXBlbmRlbnRlIGRhIGFsdHVyYS5cbiAgLmNyZWF0ZS11c2VyLW9wdGlvbiB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgICAgICAgICAgICAgICAgIC8vIHN0aWNreSB0YW1iw6ltIG5hIGhvcml6b250YWw6IGNvYnJlIGEgamFuZWxhIHZpc8OtdmVsXG4gICAgei1pbmRleDogMjsgICAgICAgICAgICAgIC8vIGR1cmFudGUgcm9sYWdlbSBsYXRlcmFsLCBuw6NvIHPDsyB2ZXJ0aWNhbFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDMycHggIWltcG9ydGFudDsgLy8gKzZweCBzb2JyZSBvcyAyNnB4IHBhZHLDo28gZGEgb3DDp8OjbyDihpIgaGVhZGVyIG1haXMgZWxlZ2FudGVcbiAgICBsaW5lLWhlaWdodDogMzJweDsgICAgICAgLy8gcGFyZWlhIGEgYWx0dXJhIChtZXNtbyBjb20gZmxleCwgZXZpdGEgaGVyYW7Dp2EgZG9zIDI2cHgpXG4gICAgYm9yZGVyLXJhZGl1czogMDsgICAgICAgIC8vIGhlYWRlciBmdWxsLWJsZWVkLCBzZW0gY2FudG9zIGFycmVkb25kYWRvc1xuICAgIGNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgIC5tYXQtb3B0aW9uLXRleHQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyAgIC8vIGRlaXhhIG8gZmxleCBjZW50cmFsaXphcjsgc2VtIGxpbmUtaGVpZ2h0IGRlIDI2cHggcHV4YW5kb1xuICAgIH1cbiAgICAuY3JlYXRlLXVzZXItaW5uZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiA2cHg7XG4gICAgfVxuICAgIC5tYXQtaWNvbiB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIH1cbiAgICAvLyBEaXZpc29yIGRlIFBPTlRBIEEgUE9OVEEg4oCUIHPDsyBxdWFuZG8gSMOBIHJlc3VsdGFkb3MgYWJhaXhvIChgOm5vdCg6bGFzdC1jaGlsZClgKTtcbiAgICAvLyBzb3ppbmhvIG5vIHBhaW5lbCwgbyBoZWFkZXIgbsOjbyBwcmVjaXNhIGRlIGxpbmhhIGVtYmFpeG8uIENvbW8gbyBwYWRkaW5nIGxhdGVyYWxcbiAgICAvLyBkbyBwYWluZWwgYWdvcmEgw6kgMCwgYGxlZnQvcmlnaHQ6IDBgIGrDoSBhbGNhbsOnYW0gYXMgYm9yZGFzLlxuICAgICY6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQ7XG4gICAgfVxuICB9XG59XG4ubGlnaHQtdGhlbWUgLm1hdC1hdXRvY29tcGxldGUtcGFuZWwudXNlci1zZWFyY2gtYXV0b2NvbXBsZXRlIC5jcmVhdGUtdXNlci1vcHRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kOyAgIC8vIG9wYWNvOiBhIGxpc3RhIHJvbGEgcG9yIGJhaXhvIGRvIGhlYWRlciBmaXhvXG59XG4uZGFyay10aGVtZSAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbC51c2VyLXNlYXJjaC1hdXRvY29tcGxldGUgLmNyZWF0ZS11c2VyLW9wdGlvbiB7XG4gIGNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xuICAmOjphZnRlciB7IGJvcmRlci1ib3R0b20tY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcms7IH1cbn1cblxuLmxpZ2h0LXRoZW1lIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1saWdodDtcbiAgLm1hdC1vcHRpb24geyBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7IH1cbiAgLm1hdC1vcHRpb246aG92ZXI6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSxcbiAgLm1hdC1vcHRpb24uY2RrLWtleWJvYXJkLWZvY3VzZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7IH1cbn1cbi5kYXJrLXRoZW1lIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1kYXJrICFpbXBvcnRhbnQ7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1kYXJrO1xuICAubWF0LW9wdGlvbiB7IGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrOyB9XG4gIC5tYXQtb3B0aW9uOmhvdmVyOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCksXG4gIC5tYXQtb3B0aW9uLmNkay1rZXlib2FyZC1mb2N1c2VkIHsgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gRXNwZWPDrWZpY28gZG8gU1RBVFVTIChteS1zZWxlY3Qtc3RhdHVzLXBhbmVsLCBzaW5nbGUtc2VsZWN0KSDigJQgc8OzIGRlc3RlIG1lbnUsIE7Dg08gZGFcbi8vIGNsYXNzZSBKRU1TMyAobyBmaWx0cm8gbWFudMOpbSBvIHRva2VuIHBhZHLDo28pLiBIT1ZFUiwgZm9jby10ZWNsYWRvIEUgU0VMRUNJT05BRE8gdXNhbSBhXG4vLyBNRVNNQSBjb3IgY3VzdG9taXphZGE6IG1haXMgRVNDVVJPIG5vIGxpZ2h0LCBtYWlzIENMQVJPIG5vIGRhcmsuIERlcml2YSBkbyB0b2tlbiBKRU1TMyBkZVxuLy8gaG92ZXIgY29tIGRhcmtlbi9saWdodGVuIChzZWd1ZSBvIHRva2VuIHNlIGVsZSBtdWRhcjsgYWp1c3RlIGEgJSBwLyBtYWlzL21lbm9zIGNvbnRyYXN0ZSkuXG4ubGlnaHQtdGhlbWUgLm1hdC1zZWxlY3QtcGFuZWwubXktc2VsZWN0LXN0YXR1cy1wYW5lbCB7XG4gIC5tYXQtb3B0aW9uOmhvdmVyOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCksXG4gIC5tYXQtb3B0aW9uLmNkay1rZXlib2FyZC1mb2N1c2VkLFxuICAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCwgNyUpICFpbXBvcnRhbnQ7IH1cbn1cbi5kYXJrLXRoZW1lIC5tYXQtc2VsZWN0LXBhbmVsLm15LXNlbGVjdC1zdGF0dXMtcGFuZWwge1xuICAubWF0LW9wdGlvbjpob3Zlcjpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpLFxuICAubWF0LW9wdGlvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCxcbiAgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkIHsgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmssIDclKSAhaW1wb3J0YW50OyB9XG59XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gQ0hJUCBkZSBzdGF0dXMgbm8gRklMVFJPIGRlIHN0YXR1cyAoYXBwLXNlbGVjdC1pbnB1dCBbc3RhdHVzQ2hpcF09dHJ1ZSkg4oCUIHDDrWx1bGFcbi8vIGRlIHN0YXR1cyBkZSBzdWJtaXNzw6NvIG5hcyBPUMOHw5VFUyBkbyBkcm9wZG93biAob3ZlcmxheSkgRSBubyBnYXRpbGhvIGZlY2hhZG8uXG4vLyBNZXNtYSBpZGVudGlkYWRlIGRvcyBjaGlwcyBwZXItc3RhdHVzIChnZW9tZXRyaWEgKyBjb3JlcyArIMOtY29uZSBkZSBfc3RhdHVzLWNoaXApLlxuLy8gUmVncmEgR0xPQkFMOiBhIG9ww6fDo28gdml2ZSBubyBvdmVybGF5IChyYWl6IGRvIGRvY3VtZW50bykgZSBvIGdhdGlsaG8gbmEgdmlldyBkb1xuLy8gY29tcG9uZW50ZSDigJQgdW1hIGRlZmluacOnw6NvIMO6bmljYSBhdGVuZGUgb3MgZG9pcy4gQ29yZXMgaWTDqm50aWNhcyBlbSBsaWdodC9kYXJrXG4vLyAobyBzdGF0dXMgdGVtIGlkZW50aWRhZGUgY3JvbcOhdGljYSBwcsOzcHJpYSwgY29tbyBuYSBjb2x1bmEgZGUgc3RhdHVzIGRhIHRhYmVsYSkuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5zdGF0dXMtY2hpcC1maWx0ZXIge1xuICAvLyBWaXN1YWwgKGJvcmRhIGVtYm9zc2VkLCBzb21icmEsIGFsdHVyYSwgTEFSR1VSQSBGSVhBIDk2cHggdW5pZm9ybWUsIHJhaW8sIGNvcmVzKVxuICAvLyB2ZW0gZG9zIG1peGlucy4gTyBMQVlPVVQgw6kgc29icmVzY3JpdG8gYWJhaXhvOiBlbSB2ZXogZG8gZmxleCtqdXN0aWZ5LWNvbnRlbnRcbiAgLy8gKHF1ZSwgcG9yIGNvbmZsaXRvIGRlIHJ1bnRpbWUsIE7Dg08gZXN0YXZhIGNlbnRyYWxpemFuZG8pLCBvIGNoaXAgdmlyYSBpbmxpbmUtYmxvY2tcbiAgLy8gZSBjZW50cmFsaXphIG8gZ3J1cG8gaW50ZXJubyBwb3IgVEVYVC1BTElHTiDigJQgbWVjYW5pc21vIGluZGVwZW5kZW50ZSBkbyBmbGV4LlxuICBAaW5jbHVkZSBzdWJtaXNzaW9uLWNoaXAtZ2VvbWV0cnkodHJ1ZSk7XG4gIEBpbmNsdWRlIHN1Ym1pc3Npb24tY2hpcC1jb2xvcnMoJHN1Ym1pc3Npb24tc3RhdHVzLCB0cnVlKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuXG4gIC8vIEdydXBvIFvDrWNvbmUgKyByw7N0dWxvXTogaW5saW5lLWZsZXggaW5saW5lLWxldmVsIOKGkiBjZW50cmFkbyBob3Jpem9udGFsbWVudGUgcGVsb1xuICAvLyB0ZXh0LWFsaWduIGRvIHBhaS4gYWxpZ24taXRlbXM6IGNlbnRlciArIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgY3VpZGFtIGRvIGVpeG8gWS5cbiAgLnNjZi1ib2R5IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLy8gw41jb25lOiB6ZXJhIGEgTUFSR0lOLiBVbWEgcmVncmEgR0xPQkFMIGRlIGAubWF0LWljb25gIGFwbGljYSBtYXJnaW4tcmlnaHQ6IDE2cHhcbiAgLy8gKGVzcGHDp2FtZW50byBkZSDDrWNvbmUgZGUgbGlzdGEvbWVudSkg4oCUIGNvbmZpcm1hZG8gbm8gQ29tcHV0ZWQgKG1hcmdpbiAwIDE2cHggMCAwKS5cbiAgLy8gRVJBIGEgY2F1c2EgZG8gXCJidXJhY29cIiBlbnRyZSDDrWNvbmUgZSByw7N0dWxvLiBDb20gbWFyZ2luIDAsIG8gZ2FwIGZpY2Egc8OzIG8gZG9cbiAgLy8gLnNjZi1ib2R5ICg0cHgpIGUgbyBncnVwbyBbw61jb25lICsgcsOzdHVsb10gZmljYSBjb2xhZG8gZSBjZW50cmFkby5cbiAgLmljb24ge1xuICAgIEBpbmNsdWRlIHN1Ym1pc3Npb24tY2hpcC1pY29uKHRydWUpO1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYWJlbCB7IGxpbmUtaGVpZ2h0OiAxOyB9XG59XG5cbi8vIEdBVElMSE8gKGNhaXhhIGZlY2hhZGEpIGRvIGZpbHRybyBkZSBzdGF0dXM6IHF1YW5kbyB1bSBzdGF0dXMgZXN0w6Egc2VsZWNpb25hZG8sIG9cbi8vIGNoaXAgYXBhcmVjZSBkZW50cm8gZGEgY2FpeGEgZSBzdWEgc29tYnJhIGVtYm9zc2VkIGVyYSBDTElQQURBIOKAlCBwZWxvIGBvdmVyZmxvdzpcbi8vIGhpZGRlbmAgZG8gYC5tYXQtZm9ybS1maWVsZC1mbGV4YCAocHJlc2V0IGZpbHRlci1zdHlsZWQpIGUgZG8gYC5tYXQtc2VsZWN0LXZhbHVlYC9cbi8vIGAubWF0LXNlbGVjdC12YWx1ZS10ZXh0YCAocGFkcsOjbyBkbyBNYXRlcmlhbCwgcC8gZWxsaXBzaXMgZGUgdGV4dG8pLiBMaWJlcmFtb3Mgb1xuLy8gb3ZlcmZsb3cgU8OTIG5lc3RhIGNhaXhhLCBkZXRlY3RhZGEgcG9yIGA6aGFzKC5zdGF0dXMtY2hpcC10cmlnZ2VyKWAgKHPDsyBlbGEgdGVtIGNoaXBcbi8vIG5vIGdhdGlsaG8pIOKAlCBhcyBkZW1haXMgY2FpeGFzIGZpbHRlci1zdHlsZWQgc2VndWVtIGNvbSBvdmVyZmxvdyBoaWRkZW4gaW50YWN0by5cbmFwcC1zZWxlY3QtaW5wdXQuZmlsdGVyLXN0eWxlZDpoYXMoLnN0YXR1cy1jaGlwLXRyaWdnZXIpIHtcbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXgsXG4gIC5tYXQtc2VsZWN0LXZhbHVlLFxuICAubWF0LXNlbGVjdC12YWx1ZS10ZXh0IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxufVxuXG4vLyBQYWluZWwgZG8gZmlsdHJvIGRlIHN0YXR1czogTsODTyBlc3RpY2FyIGF0w6kgYSBsYXJndXJhIGRvIGdhdGlsaG8gKHF1ZSDDqSBsYXJnYSBwb3Jcbi8vIGNhdXNhIGRvIHBsYWNlaG9sZGVyIFwiU3RhdHVzIGRlIHN1Ym1pc3PDtWVzXCIpIOKAlCBodWdhIG8gY29udGXDumRvIChjaGVja2JveCArIGNoaXApLFxuLy8gc2Vuw6NvIHNvYnJhIGVzcGHDp28gdmF6aW8gw6AgZGlyZWl0YSBkb3MgY2hpcHMgZSBhIG9ww6fDo28gcGFyZWNlIFwibGFyZ2EgZGVtYWlzXCIuXG4ubWF0LXNlbGVjdC1wYW5lbC5zdGF0dXMtY2hpcC1zZWxlY3QtcGFuZWwge1xuICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgLy8gSHVnYSBvIGNvbnRlw7pkbyAoY2hlY2tib3ggKyBjaGlwIDk2cHgpLCBuw6NvIGEgbGFyZ3VyYSBkbyBnYXRpbGhvIChxdWUgw6kgbGFyZ2EgcG9yXG4gIC8vIGNhdXNhIGRvIHBsYWNlaG9sZGVyIFwiU3RhdHVzIGRlIHN1Ym1pc3PDtWVzXCIpLlxuICB3aWR0aDogbWF4LWNvbnRlbnQgIWltcG9ydGFudDtcbiAgLy8gUmVzcGlybyB0b3BvL2Jhc2Ugc2ltw6l0cmljbyAofjlweCBhdMOpIG8gY2hpcCkuIFNvYmUgZGUgNXB44oaSN3B4IG8gcGFkZGluZyB2ZXJ0aWNhbFxuICAvLyBkbyBgLmplbXMzLXNlbGVjdC1wYW5lbGAgKG8gcmVzdGFudGUgZG8gZ2FwIHZlbSBkYSBjZW50cmFnZW0gZGEgb3DDp8OjbykuIFZlbmNlIHBvclxuICAvLyB2aXIgZGVwb2lzIG5hIGZvbnRlLCBjb20gbWVzbWEgZXNwZWNpZmljaWRhZGUuXG4gIHBhZGRpbmc6IDdweCA0cHggIWltcG9ydGFudDtcblxuICAvLyBPIGNoaXAgKGlubGluZS1ibG9jaykgZmljYSB+MnB4IGFiYWl4byBkbyBjaGVja2JveCBwZWxhIGJhc2VsaW5lLCBtZXNtbyBjb20gb1xuICAvLyBgYWxpZ24taXRlbXM6IGNlbnRlcmAgZGEgb3DDp8OjbyAobWVkaWRvIG5vIERPTSkuIFNvYmUgMnB4IHByYSBjZW50cmFsaXphciBjb20gb1xuICAvLyBjaGVja2JveC4gRXNjb3BhZG8gYW8gcGFpbmVsIOKAlCBubyBnYXRpbGhvIGZlY2hhZG8gKHNlbSBjaGVja2JveCkgbyBjaGlwIG7Do28gbXVkYS5cbiAgLnN0YXR1cy1jaGlwLWZpbHRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTJweDtcbiAgfVxuXG4gIC8vIFJlc3Bpcm8gdmVydGljYWwgZW50cmUgb3Mgc3RhdHVzIChzw7MgbmVzdGUgbWVudSk6IGFzIHDDrWx1bGFzIGRlIHN0YXR1cyBwZWRlbVxuICAvLyBtYWlzIGZvbGdhIHF1ZSBvcyBpdGVucyBkZSB0ZXh0byBkb3MgZGVtYWlzIGZpbHRyb3MuIFNvYnJlc2NyZXZlIG8gYG1hcmdpbjogMGBcbiAgLy8gZG8gYC5qZW1zMy1zZWxlY3QtcGFuZWwgLm1hdC1vcHRpb25gICh2ZW5jZSBwb3IgdmlyIGRlcG9pcyBuYSBmb250ZSkuXG4gIC5tYXQtb3B0aW9uIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgLy8gTyBNYXRlcmlhbCBhcGxpY2EgYG92ZXJmbG93OiBoaWRkZW5gIG5vIGAubWF0LW9wdGlvbmAgKHByYSBlbGxpcHNpcyBkbyB0ZXh0byksXG4gICAgLy8gbyBxdWUgQ0xJUEEgYSBzb21icmEgZG9zIGNoaXBzIGRlIHN0YXR1cy4gQXF1aSBvIHLDs3R1bG8gdml2ZSBERU5UUk8gZG8gY2hpcFxuICAgIC8vIChuw6NvIG5hIG9ww6fDo28pLCBlbnTDo28gbGliZXJhciBvIG92ZXJmbG93IG7Do28gYWZldGEgdHJ1bmNhbWVudG8gZSBkZWl4YSBhXG4gICAgLy8gc29tYnJhIGVtYm9zc2VkIGRvIGNoaXAgYXBhcmVjZXIgaW50ZWlyYS5cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuICAubWF0LW9wdGlvbjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAvLyBPIE1hdGVyaWFsIGFwbGljYSBgb3ZlcmZsb3c6IGhpZGRlbmAgVEFNQsOJTSBubyBgLm1hdC1vcHRpb24tdGV4dGAgKHNwYW4gaW50ZXJub1xuICAvLyBxdWUgw6kgbyBwYWkgRElSRVRPIGRvIGNoaXApIOKAlCDDqSBFTEUgcXVlbSBjb3J0YXZhIGEgc29tYnJhIGVtYm9zc2VkIGRvIGNoaXBcbiAgLy8gKG1lZGlkbyBubyBET00pLiBMaWJlcmFtb3MgYXF1aTsgbyByw7N0dWxvIHZpdmUgZGVudHJvIGRvIGNoaXAsIHNlbSB0cnVuY2FtZW50by5cbiAgLm1hdC1vcHRpb24tdGV4dCB7IG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbiAgLy8gU2VtIGFuaW1hw6fDo28gZGUgY2xpcXVlIChyaXBwbGUpIG5hcyBvcMOnw7VlcyDigJQgY2xpcXVlIGRpcmV0bywgc2VtIFwib25kYVwiLlxuICAubWF0LW9wdGlvbi1yaXBwbGUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gSG92ZXIvZm9jbyBkYXMgb3DDp8O1ZXMgPSBNRVNNQSBjb3IgZG8gbWVudSBkZSBzdGF0dXMgKG15LXNlbGVjdC1zdGF0dXMtcGFuZWwpIGRvXG4vLyBMaXN0YXIgc3VibWlzc8O1ZXM6IGRhcmtlbiA3JSBubyBsaWdodCwgbGlnaHRlbiA3JSBubyBkYXJrLiBWZW5jZSBvIGhvdmVyIEpFTVMzXG4vLyBwYWRyw6NvIChvIHBhaW5lbCB0YW1iw6ltIHRlbSBhIGNsYXNzZSBqZW1zMy1zZWxlY3QtcGFuZWwpIHBvciB2aXIgREVQT0lTIG5hIGZvbnRlLlxuLmxpZ2h0LXRoZW1lIC5tYXQtc2VsZWN0LXBhbmVsLnN0YXR1cy1jaGlwLXNlbGVjdC1wYW5lbCB7XG4gIC5tYXQtb3B0aW9uOmhvdmVyOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCksXG4gIC5tYXQtb3B0aW9uLmNkay1rZXlib2FyZC1mb2N1c2VkIHsgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQsIDclKSAhaW1wb3J0YW50OyB9XG4gIC8vIGAubWF0LWFjdGl2ZWAgPSBwcmltZWlyYSBvcMOnw6NvIHF1YW5kbyBvIHBhaW5lbCBhYnJlIHNlbSBzZWxlw6fDo28gKGZvY29cbiAgLy8gcHJvZ3JhbcOhdGljbyBkbyBNYXRlcmlhbCkuIERlZmF1bHQgZG8gTWF0ZXJpYWwgcGludGEgYWNjZW50IOKAlCB6ZXJhbW9zXG4gIC8vIHByYSBxdWUgYWJyaXIgbyBtZW51IG7Do28gcGFyZcOnYSBcImFsZ28gasOhIG1hcmNhZG9cIi5cbiAgLm1hdC1vcHRpb24ubWF0LWFjdGl2ZTpub3QoOmhvdmVyKTpub3QoLmNkay1rZXlib2FyZC1mb2N1c2VkKSB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbn1cbi5kYXJrLXRoZW1lIC5tYXQtc2VsZWN0LXBhbmVsLnN0YXR1cy1jaGlwLXNlbGVjdC1wYW5lbCB7XG4gIC5tYXQtb3B0aW9uOmhvdmVyOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCksXG4gIC5tYXQtb3B0aW9uLmNkay1rZXlib2FyZC1mb2N1c2VkIHsgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmssIDclKSAhaW1wb3J0YW50OyB9XG4gIC5tYXQtb3B0aW9uLm1hdC1hY3RpdmU6bm90KDpob3Zlcik6bm90KC5jZGsta2V5Ym9hcmQtZm9jdXNlZCkgeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG59XG5cbi5kYXJrLXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IHtcblxuICAvLyBDb3IgLyDDrWNvbmUgLyBob3ZlciBkb3MgaXRlbnMgdsOqbSBkbyBibG9jbyBhZGl0aXZvIGdsb2JhbCAoLmRhcmstdGhlbWVcbiAgLy8geyAuLi4gLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0gfSkuIEFxdWkgc8OzIG9zXG4gIC8vIHNlbGV0b3JlcyBlc3BlY8OtZmljb3MgZG8gYXZhdGFyLXByb2ZpbGUgKHRoZW1lL2xheW91dC9sYW5ndWFnZSkuXG5cbiAgLy8gVGhlbWUvbGF5b3V0IHN3aXRjaGVyIGhvdmVyIOKAlCBkYXJrLW1vZGUgY291bnRlcnBhcnQgb2YgdGhlIHJ1bGUgYWJvdmUuXG4gIC5jb250YWluZXItdGhlbWUgLm1hdC1tZW51LWl0ZW06aG92ZXI6bm90KFtkaXNhYmxlZF0pOm5vdCguaGlnaGxpZ2h0LWJ1dHRvbiksXG4gIC5jb250YWluZXItbGF5b3V0IC5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKTpub3QoLmhpZ2hsaWdodC1idXR0b24pLFxuICAuY29udGFpbmVyLWxhbmd1YWdlLWNvbXBhY3QgLm1hdC1tZW51LWl0ZW06aG92ZXI6bm90KFtkaXNhYmxlZF0pOm5vdCguaGlnaGxpZ2h0LWJ1dHRvbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayAhaW1wb3J0YW50O1xuXG4gICAgLm1hdC1pY29uLFxuICAgIC5sYXlvdXQtaWNvbiB7XG4gICAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmsgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgLmNvbnRhaW5lci10aGVtZSAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uLFxuICAuY29udGFpbmVyLWxheW91dCAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uLFxuICAuY29udGFpbmVyLWxhbmd1YWdlLWNvbXBhY3QgLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cblxufVxuXG4vKiBhcHAtZXZlbnQtd2l6YXJkICovXG4vLyBgLnRhc2stdGV4dGAgYWdvcmEgdml2ZSBkZW50cm8gZGUgYG1hdC1jYXJkLmFkbWluLWV2ZW50YCAoY2FudmFzIGRvIGNoYWlyIFVJKVxuLy8g4oCUIHVzYSBvIG1lc21vIHRva2VuIGRlIHRleHRvIGJvZHkgcXVlIG8gcmVzdG8gZG8gY2FudmFzICg9IHNpZGViYXIgbGV2ZWwtMlxuLy8gcmVzdCksIG7Do28gcHJldG8vYnJhbmNvIHB1cm9zIGxlZ2FjeS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtd2l6YXJkLCAnLnRhc2stdGV4dCcsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG4vLyBTZWN0aW9uIGRpdmlkZXIgY29sb3Ig4oCUIGdsb2JhbCwgYXBsaWNhZG8gZW0gdG9kYXMgYXMgdHJhbnNpw6fDtWVzIGVudHJlXG4vLyBzZcOnw7VlcyBhZGphY2VudGVzIGRvIGNoYWlyIFVJIChjaGVja2xpc3QsIHJldmlld3MtY29uZmlndXJhdGlvbiwgZXRjKS5cbi8vIEVzdHJ1dHVyYSBkbyBkaXZpZGVyIChib3JkZXItdG9wLXdpZHRoLCBtYXJnaW4tdG9wLCBwYWRkaW5nLXRvcCkgdmVtIGRvXG4vLyBnbG9iYWwgZW0gYF9zdHJ1Y3R1cmUuc2Nzc2AuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcuc2VjdGlvbiArIC5zZWN0aW9uJywgYm9yZGVyLXRvcC1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQsICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLnNlY3Rpb24gKyAucm93LW1kJywgYm9yZGVyLXRvcC1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQsICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLnJvdy1tZCArIC5zZWN0aW9uJywgYm9yZGVyLXRvcC1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQsICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuXG4vLyBWZXJ0aWNhbCBndWlkZSBsaW5lIGRvIGAuZGVwZW5kZW50LW9wdGlvbmAg4oCUIGNoZWNrYm94IGNoaWxkIGRlIG91dHJvXG4vLyBjaGVja2JveC4gTWVzbWEgY29yIGRhcyBkaXZpZGVycyBwYXJhIGNvZXLDqm5jaWEgdmlzdWFsLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcucmV2aWV3LXNldHRpbmdzJywgJy5kZXBlbmRlbnQtb3B0aW9uOjpiZWZvcmUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG5cbi8vIEZsb2F0aW5nIHN1Ym1pdCBiYXIgKGFwcC1mbG9hdGluZy1zdWJtaXQtYmFyKTogQVQgSE9NRSAoc2VtIC5hd2F5LWZyb20taG9tZSlcbi8vIMOpIHRyYW5zcGFyZW50ZSwgaW4gZmxvdyBubyBzbG90LiBBV0FZIEZST00gSE9NRSB2aXJhIGZpeGVkIG5vIGJvdHRvbSBkb1xuLy8gdmlld3BvcnQgY29tIGJnIGNhbnZhcyAoYWRtaW4tYmFja2dyb3VuZCkg4oCUIGzDqiBjb21vIFwiZXh0ZW5zw6NvIGZsdXR1YW50ZVwiXG4vLyBkbyBjYW52YXMsIGNvbSBzaGFkb3cgcmVmb3LDp2FuZG8gZWxldmHDp8Ojby4gUmVncmFzIGdsb2JhaXMgKHNlbSBwcmVmaXhvIGRlXG4vLyBww6FnaW5hKSBwb3JxdWUgbyBjb21wb25lbnRlIMOpIGNvbXBhcnRpbGhhZG8gcG9yIHJldmlld3MtY29uZmlndXJhdGlvbixcbi8vIGNoZWNrbGlzdCwgZSBmdXR1cmFzIHDDoWdpbmFzLWZvcm0uXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ2FwcC1mbG9hdGluZy1zdWJtaXQtYmFyJywgJy5zdWJtaXQtYWN0aW9ucy5hd2F5LWZyb20taG9tZScsIGJhY2tncm91bmQtY29sb3IsICRhZG1pbi1iYWNrZ3JvdW5kLCAkYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnYXBwLWZsb2F0aW5nLXN1Ym1pdC1iYXInLCAnLnN1Ym1pdC1hY3Rpb25zLmF3YXktZnJvbS1ob21lJywgYm9yZGVyLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG4vLyBTaGFkb3cgdGhlbWUtYXdhcmU6IDAuMTIgYmxhY2sgZW0gbGlnaHQgKHN1dGlsIHNvYnJlIGNhbnZhcyBicmFuY28pIC9cbi8vIDAuNiBibGFjayBlbSBkYXJrIChwcmVjaXNhIGRlIG11aXRvIG1haXMgb3BhY2lkYWRlIHByYSBjcmlhciBsaWZ0XG4vLyBwZXJjZXB0w612ZWwgY29udHJhIGNhbnZhcyBlc2N1cm8pLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdhcHAtZmxvYXRpbmctc3VibWl0LWJhcicsICcuc3VibWl0LWFjdGlvbnMuYXdheS1mcm9tLWhvbWUnLCBib3gtc2hhZG93LCAwIDhweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgOHB4IDI0cHggcmdiYSgwLCAwLCAwLCAwLjYpKTtcblxuLy8gQ29uZmlybWF0aW9uIGRpYWxvZyAocmVkZXNpZ24gY2hhaXIgVUkpIOKAlCBjw61yY3VsbyB3YXJtLXN0b25lIGRpc2NyZXRvXG4vLyBubyDDrWNvbmUsIHRpcG9ncmFmaWEgZW0gZHVhcyB0b25hbGlkYWRlcy4gVmFyaWFudGUgXCJ3YXJuaW5nXCIgdXNhIGFtYmVyXG4vLyBzdWF2ZSAoY29yIGRlIGF2aXNvIGhpc3TDs3JpY2EpLCBcInN1Y2Nlc3NcIiB1c2EgdmVyZGUgZGEgYW5pbWHDp8Ojby5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLmNvbmZpcm1hdGlvbi1kaWFsb2cnLCAnLmRpYWxvZy1pY29uLXdyYXAnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS01MCwgJGdyYXktNzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLmNvbmZpcm1hdGlvbi1kaWFsb2cnLCAnLmRpYWxvZy1pY29uLXF1ZXN0aW9uJywgY29sb3IsICRncmF5LTcwMCwgJGdyYXktMjAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLmNvbmZpcm1hdGlvbi1kaWFsb2cnLCAnLmRpYWxvZy1pY29uLXdhcm5pbmcnLCBjb2xvciwgI0I0NTMwOSwgI0ZDRDM0RCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5jb25maXJtYXRpb24tZGlhbG9nJywgJy5kaWFsb2ctaWNvbi1zdWNjZXNzJywgY29sb3IsICMxNTgwM0QsICM0QURFODApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuY29uZmlybWF0aW9uLWRpYWxvZycsICcuZGlhbG9nLXRpdGxlJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLmNvbmZpcm1hdGlvbi1kaWFsb2cnLCAnLmRpYWxvZy1jb250ZW50JywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcblxuLyogbWF0LWNhcmQgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChtYXQtY2FyZCwgJ21hdC1jYXJkLXRpdGxlJywgY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAkd2hpdGUtMTAwMCk7XG4vLyBDYXJkcyBsZWdhZG9zIChiYXNlLWNhcmQvZXZlbnQvdHJhY2spIGNvbnZlcmdpZG9zIGFvIHBhZHLDo28gY2Fuw7RuaWNvXG4vLyBgbWF0LWNhcmQuYWRtaW4tZXZlbnRgOiBzdXBlcmbDrWNpZSB3YXJtLXN0b25lICgkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvciA9XG4vLyAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kKSArIGJvcmRhIDFweCBjaHJvbWUsIHNlbSBzb21icmEgKGFudGVzOiBjaW56YSBmcmlvXG4vLyAjZWRlZGVkIHNlbSBib3JkYSkuIEFzIHN1cHJlc3PDtWVzIGBib3JkZXI6IDBgIG5vcyBjb21wb25lbnQtc2NzcyB2ZW5jZW0gcG9yXG4vLyBlc3BlY2lmaWNpZGFkZSwgZW50w6NvIGZvcmFtIHJlbW92aWRhcyBlbSBldmVudC12aWV3L3RyYWNrcy5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnbWF0LWNhcmQuYmFzZS1jYXJkJywgJycsIGJhY2tncm91bmQtY29sb3IsICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yLCAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnbWF0LWNhcmQuYmFzZS1jYXJkJywgJycsIGJvcmRlciwgMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAxcHggc29saWQgJGNocm9tZS1ib3JkZXItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ21hdC1jYXJkLmJhc2UtY2FyZCcsICcnLCBjb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnbWF0LWNhcmQuZXZlbnQnLCBcIlwiLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvciwgJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ21hdC1jYXJkLmV2ZW50JywgXCJcIiwgYm9yZGVyLCAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQsIDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnbWF0LWNhcmQuZXZlbnQgLmV2ZW50LXBhcmVudCBzcGFuJywgJycsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ21hdC1jYXJkLmV2ZW50IC5ldmVudC1wYXJlbnQgYScsICcnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuLy8gQ2FyZCBkbyBldmVudG8gbsOjbyDDqSBpbnRlcmF0aXZvIOKAlCBib3JkYSBubyBob3ZlciBpZ3VhbCDDoCBkZSByZXN0IChzZW0gXCJwdWxvXCIpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdtYXQtY2FyZC5ldmVudDpob3ZlcicsIFwiXCIsIGJvcmRlciwgMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAxcHggc29saWQgJGNocm9tZS1ib3JkZXItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ21hdC1jYXJkLmV2ZW50Om5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pJywgXCJcIiwgYm94LXNoYWRvdywgbm9uZSwgbm9uZSk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtY2FyZC1oZWFkZXInLCAnJywgYmFja2dyb3VuZC1jb2xvciwgJHRhYmxlLWJhY2tncm91bmQtY29sb3IsICR0YWJsZS1iYWNrZ3JvdW5kLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LWNhcmQtaGVhZGVyJywgJycsIGNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ21hdC1jYXJkLmFkbWluLWV2ZW50JywgJycsIGJhY2tncm91bmQtY29sb3IsICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yLCAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnbWF0LWNhcmQuYWRtaW4tZXZlbnQnLCAnJywgYm9yZGVyLWNvbG9yLCAkbWF0LWNhcmQtYm9yZGVyLWNvbG9yLCAkbWF0LWNhcmQtYm9yZGVyLWNvbG9yLWRhcmspO1xuLy8gVGV4dCBjb2xvciBvZiBhZG1pbi1ldmVudCBjYXJkOiBzYW1lIG11dGVkIHRva2VuIHVzZWQgYnkgc2lkZWJhciBsZXZlbC0xLzJcbi8vIGl0ZW1zIGF0IHJlc3QuIE92ZXJyaWRlcyBNYXRlcmlhbCdzIGRlZmF1bHQgYG1hdC1jYXJkIHsgY29sb3I6IHJnYmEoMCwwLDAsLjg3KSB9YFxuLy8gKGNvbXBpbGVkIHVuZGVyIGAubGlnaHQtdGhlbWUgLm1hdC1jYXJkYCwgc3BlY2lmaWNpdHkgMCwyLDApLiBPdXIgc2VsZWN0b3Jcbi8vIGAubGlnaHQtdGhlbWUgbWF0LWNhcmQuYWRtaW4tZXZlbnRgIGlzIDAsMiwxIOKAlCB3aW5zIGJ5IG9uZSBlbGVtZW50IHRva2VuLlxuLy8gSW5oZXJpdGFuY2UgZmxvd3MgdG8gYWxsIHVuc3R5bGVkIHRleHQgZGVzY2VuZGFudHMgKHRvZ2dsZSBsYWJlbHMsIHJhZGlvXG4vLyBsYWJlbHMsIGhlbHBlciB0ZXh0LCBldGMuKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnbWF0LWNhcmQuYWRtaW4tZXZlbnQnLCAnJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcblxuLyogYXBwLXRyYWNrcyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC10cmFja3MsICcudHJhY2tzLWNhcmQgbWF0LWNhcmQudHJhY2snLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvciwgJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXRyYWNrcywgJy50cmFja3MtY2FyZCBtYXQtY2FyZC50cmFjaycsIGJvcmRlciwgMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAxcHggc29saWQgJGNocm9tZS1ib3JkZXItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXRyYWNrcywgJy50cmFja3MtY2FyZCBtYXQtY2FyZC50cmFjayAubWF0LWNhcmQtdGl0bGUnLCBjb2xvciwgJGJsYWNrLTEwMDAsICR3aGl0ZS0xMDAwKTtcblxuLyogYXBwLXNpZGViYXItaXRlbSAqL1xuLy8gUGVyc29uYSBBIChhdXRvci00KTogXCJJZGVudGlkYWRlLWxvdWRcIi4gw41jb25lcyBjb20gY29yIGRlIG1hcmNhIFNFTVBSRVxuLy8gKHJlc3QsIGhvdmVyLCBzZWxlY3RlZCkgKyBzZW1wcmUgZmlsbGVkLiBDYWRhIHBhcGVsIHRlbSBpZGVudGlkYWRlIHZpc3VhbFxuLy8gcGVybWFuZW50ZS4gU2VsZWN0ZWQgcmVmb3LDp2FkbyBwZWxvIGJnIHdhcm0gYmVpZ2UgKyB1bmRlcmxpbmUgYWNjZW50LlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGlzdC1pdGVtLmJ1dHRvbi1ldmVudHMgLm1hdC1pY29uJywgY29sb3IsICRuYXZiYXItZXZlbnRzLWljb24tY29sb3IsICRuYXZiYXItZXZlbnRzLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5saXN0LWl0ZW0uYnV0dG9uLW15LXN1Ym1pc3Npb25zIC5tYXQtaWNvbicsIGNvbG9yLCAkbmF2YmFyLW15LXN1Ym1pc3Npb25zLWljb24tY29sb3IsICRuYXZiYXItbXktc3VibWlzc2lvbnMtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmxpc3QtaXRlbS5idXR0b24tbXktcmV2aWV3cyAubWF0LWljb24nLCBjb2xvciwgJG5hdmJhci1teS1yZXZpZXdzLWljb24tY29sb3IsICRuYXZiYXItbXktcmV2aWV3cy1pY29uLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGlzdC1pdGVtLmJ1dHRvbi10cGNzIC5tYXQtaWNvbicsIGNvbG9yLCAkbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvciwgJG5hdmJhci1teS10cGNzLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5saXN0LWl0ZW0uYnV0dG9uLWNoYWlyaW5ncyAubWF0LWljb24nLCBjb2xvciwgJG5hdmJhci1teS1ldmVudHMtaWNvbi1jb2xvciwgJG5hdmJhci1teS1ldmVudHMtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmxpc3QtaXRlbS5idXR0b24tc2Vzc2lvbi1jaGFpcmluZ3MgLm1hdC1pY29uJywgY29sb3IsICRuYXZiYXItbXktc2Vzc2lvbi1jaGFpcmluZ3MtaWNvbi1jb2xvciwgJG5hdmJhci1teS1zZXNzaW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGlzdC1pdGVtLmJ1dHRvbi1wdWJsaWNhdGlvbi1jaGFpcmluZ3MgLm1hdC1pY29uJywgY29sb3IsICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3IsICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5saXN0LWl0ZW0uYW55LW90aGVyLWJ1dHRvbiAubWF0LWljb24nLCBjb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3IsICRuYXZiYXItZXZlbnRzLWljb24tY29sb3ItZGFyayk7XG5cbi8vIFNlbGVjdGVkOiB1bmRlcmxpbmUgYWNjZW50IDNweCBuYSBjb3IgZGUgbWFyY2EgdmlhIHBzZXVkby1lbGVtZW50b1xuLy8gYDo6YWZ0ZXJgIChlc3RydXR1cmEgZW0gc2lkZWJhci1pdGVtLnNjc3MpLiBDYW50b3MgcmV0b3Mg4oCUIGlnbm9yYSBvXG4vLyBib3JkZXItcmFkaXVzIGRhIHDDrWx1bGEuIENvbWJpbmFkbyBjb20gbyBiZyB3YXJtIGJlaWdlLCBkw6EgbyBkcmFtYVxuLy8gY2FyYWN0ZXLDrXN0aWNvIGRhIFBlcnNvbmEgQS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmxpc3QtaXRlbS5idXR0b24tZXZlbnRzLnNlbGVjdGVkOjphZnRlcicsIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItZXZlbnRzLWljb24tY29sb3IsICRuYXZiYXItZXZlbnRzLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5saXN0LWl0ZW0uYnV0dG9uLW15LXN1Ym1pc3Npb25zLnNlbGVjdGVkOjphZnRlcicsIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItbXktc3VibWlzc2lvbnMtaWNvbi1jb2xvciwgJG5hdmJhci1teS1zdWJtaXNzaW9ucy1pY29uLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGlzdC1pdGVtLmJ1dHRvbi1teS1yZXZpZXdzLnNlbGVjdGVkOjphZnRlcicsIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItbXktcmV2aWV3cy1pY29uLWNvbG9yLCAkbmF2YmFyLW15LXJldmlld3MtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmxpc3QtaXRlbS5idXR0b24tdHBjcy5zZWxlY3RlZDo6YWZ0ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvciwgJG5hdmJhci1teS10cGNzLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5saXN0LWl0ZW0uYnV0dG9uLWNoYWlyaW5ncy5zZWxlY3RlZDo6YWZ0ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLW15LWV2ZW50cy1pY29uLWNvbG9yLCAkbmF2YmFyLW15LWV2ZW50cy1pY29uLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGlzdC1pdGVtLmJ1dHRvbi1zZXNzaW9uLWNoYWlyaW5ncy5zZWxlY3RlZDo6YWZ0ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLW15LXNlc3Npb24tY2hhaXJpbmdzLWljb24tY29sb3IsICRuYXZiYXItbXktc2Vzc2lvbi1jaGFpcmluZ3MtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmxpc3QtaXRlbS5idXR0b24tcHVibGljYXRpb24tY2hhaXJpbmdzLnNlbGVjdGVkOjphZnRlcicsIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3IsICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3ItZGFyayk7XG4vLyBMYWJlbHMgZGEgdG9vbGJhciBkbyBhdXRvci9yZXZpc29yIHNlZ3VlbSBvcyBNRVNNT1MgdG9rZW5zIGRvIGNoYWlyIGxldmVsLTFcbi8vIChuw6NvIHVzYW0gbyBsZWdhZG8gYCRzaWRlYmFyLWxhYmVsLXNlbGVjdGVkLWNvbG9yYCA9ICMzYzQwNDMpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGFiZWwtZnVsbCcsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5qZW1zLXRvb2xiYXItYnV0dG9uOmhvdmVyIC5sYWJlbC1mdWxsJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcuamVtcy10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZCAubGFiZWwtZnVsbCcsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbi8vIE5hdmJhciBkbyBzaGVsbCBhdXRvci9yZXZpc29yOiBjaHJvbWUtYm9yZGVyIDFweCBhbGluaGFkbyBhbyBjaGFpci5cbi8vIGBib3JkZXItYm90dG9tYCBlbSBkZXNrdG9wL3RhYmxldCwgYGJvcmRlci10b3BgIHF1YW5kbyBhIG5hdmJhciB2aXJhXG4vLyBib3R0b20tYmFyIGVtIG1vYmlsZSAoZGVjaXPDo28gcHJlc2VydmFkYSBlbSBbW2ZlZWRiYWNrLXRvb2xiYXItYm90dG9tYmFyLW1vYmlsZV1dKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnYXBwLW5hdmJhcicsICcubmF2YmFyJywgYm9yZGVyLWJvdHRvbS1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQsICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdhcHAtbmF2YmFyJywgJy5uYXZiYXInLCBib3JkZXItdG9wLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG5cbi8vIFN1cmZhY2UgY2hyb21lIHdhcm0g4oCUIG1lc21vIGNhbnZhcyBvZmYtd2hpdGUgYXF1ZWNpZG8gdXNhZG8gZW0gdG9kbyBvIGNoYWlyLlxuLy8gYCFpbXBvcnRhbnRgIMOpIG5lY2Vzc8OhcmlvIHBvcnF1ZSBtYXQtdG9vbGJhciB0ZW0gcHJpb3JpZGFkZSBhbHRhIG5vIHRlbWEgTWF0ZXJpYWwuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ2FwcC1uYXZiYXInLCAnLm5hdmJhcicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQpO1xuXG4vLyBgLnNpZGViYXItaXRlbWAgZSBgLmplbXMtdG9vbGJhci1idXR0b25gIGFnb3JhIHZpdmVtIG5vIE1FU01PIGVsZW1lbnRvICg8YT4pXG4vLyBhcMOzcyBvIGFjaGF0YW1lbnRvIGRhIGF1dG9yLTQg4oCUIHVzYXIgc2VsZXRvcmVzIGNvbXBvc3RvcywgbsOjbyBkZXNjZW5kZW50ZXMuXG4vL1xuLy8gRGVjaXPDo28gZGUgZGVzaWduIChhdXRvci03KTogc2VsZWN0ZWQgYWdvcmEgXCJsZXZhbnRhXCIgZGEgdG9vbGJhciDigJQgYmdcbi8vIGZpY2EgYnJhbmNvIChvdSBvIGVxdWl2YWxlbnRlIGNsYXJpbmhvIG5vIGRhcmssIDEgc2hhZGUgYWNpbWEgZG9cbi8vIGAkbmF2YmFyLWFkbWluLWJhY2tncm91bmQtZGFya2AgcHJhIGRhciBsaWZ0KSwgYm9yZGEgcGFzc2EgcHJhIHZhcmlhbnRlXG4vLyBhY3RpdmUgKG1haXMgZGVmaW5pZGEgcXVlIGEgZG8gcmVzdCksIGUgZ2FuaGEgdW1hIHNvbWJyYSBwZXF1ZW5hIG1hc1xuLy8gY3Jpc3BhZGEgKG9mZnNldCAwLCBibHVyIGN1cnRvLCBhbHBoYSBtb2RlcmFkYSDigJQgc2VudGUgXCJjYXJkIGZsdXR1YW5kb1xuLy8gc29icmUgYSBjaHJvbWVcIikuIE8gdW5kZXJsaW5lIGNvbSBhIGNvciBkYSBjYXRlZ29yaWEgKDo6YWZ0ZXIpIGNvbnRpbnVhXG4vLyBzb2JyZXBvbmRvIGEgYm9yZGEgaW5mZXJpb3IsIGRhbmRvIG8gc2luYWwgY2F0ZWfDs3JpY28gcXVlIGlkZW50aWZpY2Fcbi8vIHF1YWwgaXRlbSBlc3TDoSBhdGl2by5cbi8vIEJnL2JvcmRlci9zaGFkb3cgZG8gaXRlbSBzZWxlY2lvbmFkbyDigJQgdmlzdWFsIFwicGlsbFwiIG5vIGRlc3Rpbm8uXG4vLyBBcGxpY2Fkb3MgQ09NIGB0cmFuc2l0aW9uYCBubyBpdGVtIGJhc2UgKHJlZ3JhIGFiYWl4bykgcHJhIHF1ZSBhXG4vLyB0cm9jYSBjcnV6ZSBmYWRlIGNvbSBhIGFuaW1hw6fDo28gZGEgcMOtbHVsYSBzbGlkaW5nXG4vLyAoYC5uYXZiYXItaXRlbXMtaW5kaWNhdG9yYCksIGVtIHZleiBkZSBzYWx0YXIgaW5zdGFudMOibmVvIGUgbWFzY2FyYXJcbi8vIGEgdmlhZ2VtIGRhIHDDrWx1bGEuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b24uc2VsZWN0ZWQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAjZmZmZmZmICFpbXBvcnRhbnQsICMyZTJlMmUgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b24uc2VsZWN0ZWQnLCBib3JkZXItY29sb3IsICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZSAhaW1wb3J0YW50LCAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZSAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZCcsIGJveC1zaGFkb3csIDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuMyksIDAgMXB4IDNweCByZ2JhKDAsMCwwLDAuNykgIWltcG9ydGFudCk7XG4vLyBUcmFuc2l0aW9uIG5vIGl0ZW0gYmFzZSDigJQgc2VtIGlzc28sIGJnL2JvcmRlci9zaGFkb3cgZG8gYC5zZWxlY3RlZGBcbi8vIHNhbHRhbSBkZSAwIHByYSAxMDAgaW5zdGFudGFuZWFtZW50ZSBuYSB0cm9jYSBkZSByb3RhLCBlIG8gb2xob1xuLy8gcGVyZGUgYSBww61sdWxhIHJlYWwgcXVlIGFuaW1hIDI2MG1zIHBvciBiYWl4by5cbi5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbiB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjYwbXMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSksXG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvciAyNjBtcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKSxcbiAgICAgICAgICAgICAgYm94LXNoYWRvdyAyNjBtcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKTtcbn1cblxuLy8gSG92ZXIgZMOhIGJveC1zaGFkb3cgYXBlbmFzIGVtIGl0ZW5zIE7Dg08tc2VsZWNpb25hZG9zIOKAlCBvIHNlbGVjdGVkIG1hbnTDqW1cbi8vIGEgc29tYnJhIG1lbm9yL2RlZmluaWRhIGRvIGJsb2NvIGFjaW1hIChhdXRvci03KSBpbnRhY3RhIG5vIGhvdmVyLCBwcmFcbi8vIG7Do28gZGlsdWlyIG8gc2luYWwgZGUgXCJlc3RlIGl0ZW0gZXN0w6EgYXRpdm9cIi4gRW0gZGFyaywgaG92ZXIgZGUgbsOjby1cbi8vIHNlbGVjdGVkIHRhbWLDqW0gYWRpY2lvbmEgYmcgaWd1YWwgYW8gZG8gc2VsZWN0ZWQgY29tbyByZWZvcsOnby5cbi8vIE1FU01BIHNvbWJyYSBkbyBzZWxlY3RlZCAoYXV0b3ItNykg4oCUIGhvdmVyIGUgc2VsZWN0ZWQgZGl2aWRlbSBhZ29yYSBhXG4vLyBtZXNtYSBcImFsdGl0dWRlXCIgZGUgZWxldmHDp8OjbzsgYSBkaWZlcmVuw6dhIHZpc3VhbCBlbnRyZSBlbGVzIHZpcmEgb1xuLy8gYmcvYm9yZGVyIChzZWxlY3RlZCBnYW5oYSBiZyBicmFuY28gKyBib3JkZXIgY3Jpc3BhZGE7IGhvdmVyIHPDsyBnYW5oYVxuLy8gYSBzb21icmEpLiBJc3NvIHNpbXBsaWZpY2EgYSBoaWVyYXJxdWlhIGUgZMOhIHVtYSB0cmFuc2nDp8OjbyBjb250w61udWFcbi8vIHF1YW5kbyBvIHVzdcOhcmlvIG1vdmUgbyBwb250ZWlybyBlbnRyZSBpdGVtcy5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbjpub3QoLnNlbGVjdGVkKTpob3ZlcicsIGJveC1zaGFkb3csIDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuMyksIDAgMXB4IDNweCByZ2JhKDAsMCwwLDAuNykgIWltcG9ydGFudCk7XG4uZGFyay10aGVtZSAuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b246bm90KC5zZWxlY3RlZCk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cblxuLy8gTW91c2UtZG93biAocHJlc3MpOiBhIHNvbWJyYSBkbyBob3ZlciBFTkNPTEhFIOKAlCBZIG9mZnNldCBjYWkgcHJhIDFweFxuLy8gKHBlw6dhIFwiYWZ1bmRhXCIgMXB4IGNvbnRyYSBhIGNocm9tZSkgZSBibHVyIHJlZHV6IHByb3BvcmNpb25hbG1lbnRlLlxuLy8gTWFudMOpbSBvcyBvZmZzZXRzIGRvIGhvdmVyIChjYW50byBzdXBlcmlvci1lc3F1ZXJkbyBkYSBsdXogcHJlc2VydmFkbylcbi8vIHByYSBjb250aW51YXIgbGVuZG8gY29tbyBtZXNtYSBmYW3DrWxpYSB2aXN1YWwuXG4vLyAgIGxpZ2h0OiAgaG92ZXIgMXB4IDJweCAycHgg4oaSIHByZXNzIDFweCAxcHggMXB4XG4vLyAgIGRhcms6ICAgaG92ZXIgMXB4IDJweCAzcHgg4oaSIHByZXNzIDFweCAxcHggMnB4XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b246YWN0aXZlJywgYm94LXNoYWRvdywgMXB4IDFweCAxcHggcmdiYSgwLDAsMCwwLjMpLCAxcHggMXB4IDJweCByZ2JhKDAsMCwwLDAuNykgIWltcG9ydGFudCk7XG5cbi8vIENvciBkbyB0ZXh0byBkb3MgaXRlbnMgZGEgdG9vbGJhciDigJQgbWVzbW9zIHRva2VucyBkb3MgaXRlbnMgbGV2ZWwtMSBkb1xuLy8gY2hhaXIgKC5leHBlcmltZW50YWwtc2lkZWJhci1pdGVtKTogbXV0ZWQgbm8gcmVzdCwgYWN0aXZlIG5vIGhvdmVyL3NlbGVjdGVkLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbjpob3ZlcicsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZCcsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLnNpZGViYXItaXRlbScsICcubGFiZWwtc2hvcnQnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b246aG92ZXInLCAnLmxhYmVsLXNob3J0JywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b24uc2VsZWN0ZWQnLCAnLmxhYmVsLXNob3J0JywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuXG4vKiBhcHAtc2lkZWJhci1pdGVtLWFkbWluICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbS1hZG1pbiwgJy5zaWRlYmFyLWl0ZW0tYWRtaW4gLmplbXMtY2hhaXItdG9vbGJhci1idXR0b246aG92ZXIgLm1hdC1pY29uJywgY29sb3IsICRuYXZiYXItYWRtaW4tbWVudWl0ZW0taG92ZXItY29sb3IsICRuYXZiYXItYWRtaW4tbWVudWl0ZW0taG92ZXItY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbS1hZG1pbiwgJy5zaWRlYmFyLWl0ZW0tYWRtaW4gLmplbXMtY2hhaXItdG9vbGJhci1idXR0b246aG92ZXIgLm1hdC1pY29uJywgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLCAkbmF2YmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbS1hZG1pbiwgJy5zaWRlYmFyLWl0ZW0tYWRtaW4gLmplbXMtY2hhaXItdG9vbGJhci1idXR0b24uc2VsZWN0ZWQ6bm90KDpob3ZlcikgLm1hdC1pY29uJywgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kLCAkbmF2YmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQtZGFyayk7XG5cbi8qIEFjdGl2aXR5IGJhciBvdmVycmlkZXMg4oCUIGluIHRoaXMgbGF5b3V0IHRoZSBiZyBoaWdobGlnaHQgbGl2ZXMgb24gdGhlIGJ1dHRvblxuICAgKDQww5c0MCBzcXVhcmUpLCBub3Qgb24gdGhlIG1hdC1pY29uLiBaZXJvIG91dCB0aGUgbGVnYWN5IC5tYXQtaWNvbiBiZyBmcm9tXG4gICB0aGUgcnVsZXMgYWJvdmUgYW5kIGFwcGx5IG1hdGNoaW5nIGhvdmVyL3NlbGVjdGVkIGJnIHRvIHRoZSBidXR0b24gaXRzZWxmLiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmFjdGl2aXR5LWJhciAuc2lkZWJhci1pdGVtLWFkbWluIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uOmhvdmVyIC5tYXQtaWNvbicsIGJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuYWN0aXZpdHktYmFyIC5zaWRlYmFyLWl0ZW0tYWRtaW4gLmplbXMtY2hhaXItdG9vbGJhci1idXR0b24uc2VsZWN0ZWQ6bm90KDpob3ZlcikgLm1hdC1pY29uJywgYmFja2dyb3VuZC1jb2xvciwgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5hY3Rpdml0eS1iYXIgLnNpZGViYXItaXRlbS1hZG1pbiAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbjpob3ZlcicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuYWN0aXZpdHktYmFyIC5zaWRlYmFyLWl0ZW0tYWRtaW4uc2VsZWN0ZWQgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b24nLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiBhcHAtZXZlbnQgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQsICcubmFtZSBhJywgY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAkYmxhY2stNDAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQsICcuc3ViLWV2ZW50IC5sYWJlbCcsIGNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgJHdoaXRlLTEwMDApO1xuXG4vKiBhcHAtZXZlbnQtdmlldyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC12aWV3LCAnLmV2ZW50LmNhcmQgLmluZm9ybWF0aW9uIC5uYW1lJywgY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAkYmxhY2stNDAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtdmlldywgJy5ldmVudC5jYXJkIC5pbmZvcm1hdGlvbiAuc3ViLWV2ZW50IC5uYW1lIGEnLCBjb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3IsICRibGFjay00MDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC12aWV3LCAnLmV2ZW50LmNhcmQgLmluZm9ybWF0aW9uIC5sYWJlbCcsIGNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgJHdoaXRlLTEwMDApO1xuXG4vKiBhcHAtZXZlbnQtdXNlci12aWV3ICovXG4kdGFibGUtaG92ZXItYm9yZGVyLXdpZHRoOiAycHg7XG4kdGFibGUtcm93LWJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC11c2VyLXZpZXcsICcuZXZlbnQtdXNlci12aWV3IG1hdC1jYXJkIC5tYXQtY2FyZC1oZWFkZXInLCBjb2xvciwgJGJsYWNrLTEwMDAsICR3aGl0ZS0xMDAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtdXNlci12aWV3LCAnLmV2ZW50LXVzZXItdmlldyBtYXQtY2FyZCAubWF0LWNhcmQtaGVhZGVyJywgYmFja2dyb3VuZC1jb2xvciwgJHdoaXRlLTEwMDAsICRibGFjay0xMDAwKTtcbi8vIFJFTU9WSURPOiBzaXN0ZW1hIGxlZ2FkbyBkZSBib3JkYXMgMnB4IChib3JkZXItcmlnaHQgYnJhbmNvL3ByZXRvICsgZnJhbWUgZGVcbi8vIGhvdmVyKSBkYSB0YWJlbGEgZG8gZXZlbnQtdXNlci12aWV3LCBhbnRlcmlvciDDoCBtaWdyYcOnw6NvIHBybyBgLmplbXMzLXRhYmxlYC5cbi8vIEVyYW0gZXNzYXMgYm9yZGFzIGAhaW1wb3J0YW50YCAoaW52aXPDrXZlaXMgbm8gY8OzZGlnbyBkbyBjb21wb25lbnRlKSBxdWVcbi8vIGFwYXJlY2lhbSBjb21vIFwibGluaGFzIHZlcnRpY2FpcyBncm9zc2FzXCIgZSBtb2xkdXJhIG5vIGhvdmVyLCBzYWJvdGFuZG8gYVxuLy8gZXN0aWxpemHDp8OjbyBub3ZhLiBBIHRhYmVsYSBhZ29yYSDDqSBlc3RpbGl6YWRhIDEwMCUgcGVsbyBjb21wb25lbnRlICsgLmplbXMzLXRhYmxlLlxuXG4vKiBhcHAtdXNlci1zZWFyY2ggKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtdXNlci1zZWFyY2gsICcudXNlci1zZWFyY2ggLnVzZXItYm94JywgYmFja2dyb3VuZC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcblxuLyogYXBwLXRvcGljcyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC10b3BpY3MsICcudG9waWNzIC5tYXQtY2hpcCcsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXRvcGljcywgJy50b3BpY3MgLm1hdC1jaGlwJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcblxuLyogYXBwLWV2ZW50LXRvcGljcyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC10b3BpY3MsICcuZXZlbnQtdG9waWNzIC5zdWJ0aXRsZScsIGNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3ItZGFyayk7XG5cbi8qIGFwcC11c2VyLWV2ZW50LXRvcGljcyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC11c2VyLWV2ZW50LXRvcGljcywgJy5ldmVudC10b3BpY3MgLnRvcGljcy10YWJsZSAucm93LWhpZ2hsaWdodCcsIGJhY2tncm91bmQtY29sb3IsICRyb3ctdG9waWMtaGlnaGxpZ2h0LWNvbG9yLCAkcm93LXRvcGljLWhpZ2hsaWdodC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtdXNlci1ldmVudC10b3BpY3MsICcuZXZlbnQtdG9waWNzIGJ1dHRvbi5tYXQtZmFiIG1hdC1pY29uJywgY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvci1kYXJrKTtcblxuLyogYXBwLWV2ZW50LXNlbmQtZW1haWwgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtc2VuZC1lbWFpbCwgJy5ldmVudC1zZW5kLWVtYWlsIG1hdC1jYXJkLWNvbnRlbnQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1zZW5kLWVtYWlsLCAnLmV2ZW50LXNlbmQtZW1haWwgbWF0LWNhcmQtY29udGVudCcsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5cbi8qIGFwcC1ldmVudC1zZXR0aW5ncy1lbWFpbCDigJQgYmxvY28gZGUgdGFiZWxhIFJFTU9WSURPIChhdWRpdG9yaWEpOiBhIHRhYmVsYVxuICAgbWlncm91IHBybyBgLmplbXMzLXRhYmxlIGplbXMzLXRhYmxlLWhvdmVyYCwgcXVlIHNldGEgYmFja2dyb3VuZC9jb2xvciBjb21cbiAgIGAhaW1wb3J0YW50YDsgZXN0YXMgMyByZWdyYXMgKHNlbSAhaW1wb3J0YW50KSB2aXZpYW0gbW9ydGFzL292ZXJyaWRkZW4uIE8gY2hyb21lXG4gICBkYSB0YWJlbGEgdmVtIDEwMCUgZG8gYC5qZW1zMy10YWJsZWAgZ2xvYmFsLiAqL1xuXG4vKiBhcHAtbmF2YmFyICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLW5hdmJhciwgJy5sb2dvIGltZycsIC13ZWJraXQtZmlsdGVyLCAnJywgZ3JheXNjYWxlKDEpIGludmVydCgxKSk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLW5hdmJhciwgJy5sb2dvIGltZycsIGZpbHRlciwgJycsIGdyYXlzY2FsZSgxKSBpbnZlcnQoMSkpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1uYXZiYXIsICcubmF2YmFyJywgYm94LXNoYWRvdywgJycsIDBweCAycHggOXB4IHJnYmEoMCwgMCwgMCwgLjUpKTtcblxuLyogYXBwLWF2YXRhci1wcm9maWxlICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtbWVudS1wYW5lbCcsICcnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbWF0LW1lbnUtYmFja2dyb3VuZC1jb2xvciwgJG1hdC1tZW51LWJhY2tncm91bmQtY29sb3ItZGFyayk7XG4vLyBFeHBlcmltZW50YWwgZmx5b3V0IHBhbmVsIOKAlCBmdWxsIHZpc3VhbCByZWNpcGUgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXJcbi8vIG1lbnUgKGB0cGMtdXNlci1tZW51YCk6IHNpZGViYXIgc3VyZmFjZSBiZywgaGFpcmxpbmUgKyBkaWZmdXNlIHNoYWRvdyxcbi8vIHN1Ym1lbnUgaG92ZXIvYWN0aXZlIHRva2VucyBvbiBpdGVtcywgdGhlbWUtYXdhcmUgdGV4dC4gQXJyb3cgdGFpbCBjb2xvclxuLy8gbWF0Y2hlcyB0aGUgcGFuZWwgYmcgc28gdGhlIHRyaWFuZ2xlIHJlYWRzIGFzIGEgY29udGludW91cyBleHRlbnNpb24gb2Zcbi8vIHRoZSBtZW51IHN1cmZhY2UsIHBvaW50aW5nIGF0IHRoZSBsZXZlbC0xIGljb24gdGhhdCB0cmlnZ2VyZWQgaXQuXG4ubGlnaHQtdGhlbWUgLmV4cGVyaW1lbnRhbC1mbHlvdXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIC8vIGBmaWx0ZXI6IGRyb3Atc2hhZG93YCBmb2xsb3dzIHRoZSBwYW5lbCArIGFycm93IHNpbGhvdWV0dGUgKHVubGlrZVxuICAvLyBgYm94LXNoYWRvd2AsIHdoaWNoIG9ubHkgb3V0bGluZXMgdGhlIHBhbmVsJ3MgcmVjdGFuZ2xlKS5cbiAgLy8gYCRzaGFkb3ctcGFuZWwtbGlnaHRgIGlzIHRoZSBjaGFpciBVSSdzIGNhbm9uaWNhbCBwYW5lbC10aWVyIGVsZXZhdGlvblxuICAvLyAoc2hhcmVkIHdpdGggdGhlIHVzZXIgbWVudSAvIG5vdGlmaWNhdGlvbnMpLlxuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1saWdodDtcblxuICAvLyBPdXRlciBhcnJvdyB0cmlhbmdsZSA9IG91dGxpbmUgY29sb3I7IGlubmVyID0gcGFuZWwgYmcuIFRoZSAxcHhcbiAgLy8gc2l6ZSBkaWZmZXJlbmNlIGJldHdlZW4gOjpiZWZvcmUgYW5kIDo6YWZ0ZXIgKHNldCBpbiB0aGUgY29tcG9uZW50XG4gIC8vIHNjc3MpIGxlYXZlcyBhIDFweCByaW5nIG9mIHRoZSBvdXRlciB2aXNpYmxlIGFyb3VuZCB0aGUgaW5uZXIg4oCUXG4gIC8vIGdpdmVzIHRoZSBhcnJvdyBhIGNyaXNwIGVkZ2UgYWdhaW5zdCB0aGUgYm9keSBiZyAobmVjZXNzYXJ5IGluXG4gIC8vIGxpZ2h0IG1vZGUgd2hlcmUgdGhlIHBhbmVsIGJnIGlzIG5lYXJseSBpbmRpc3Rpbmd1aXNoYWJsZSBmcm9tIHRoZVxuICAvLyBib2R5IGJnIGJlaGluZCBpdCkuXG4gICY6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY2hyb21lLWJvcmRlci1saWdodCAhaW1wb3J0YW50O1xuICB9XG4gICY6OmFmdGVyIHtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5leHBlcmltZW50YWwtZmx5b3V0LWl0ZW0ge1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIC5leHBlcmltZW50YWwtZmx5b3V0LWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLy8gYC5hY3RpdmVgIHVzZXMgdGhlIFNBTUUgYmFja2dyb3VuZCBhcyBob3ZlciAoY2hhaXIgVUkgcnVsZTogaG92ZXIg4omhXG4gIC8vIHNlbGVjdGVkLCBib3RoIGVtcGhhc2l6ZWQgdnMgcmVzdCkuXG4gIC5leHBlcmltZW50YWwtZmx5b3V0LWl0ZW0uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gQ2hpcCBoZWFkZXIg4oCUIHNhbWUgdG9rZW5zIGFzIHRoZSBvcmlnaW5hbCBjaGFpci1zdWJtZW51IHRpdGxlIGJhZGdlLlxuICAuZXhwZXJpbWVudGFsLWZseW91dC10aXRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJnO1xuICAgIC8vIFdhcyBgIzFDMTkxN2AgKHZlcnkgZGFyayB3YXJtIGdyYXkpIOKAlCBzd2FwcGVkIGZvciB0aGUgY2Fub25pY2FsXG4gICAgLy8gYG1lbnVpdGVtLWNvbG9yLWFjdGl2ZWAgKGAjMDAwYCkgc2luY2UgdGhlIGRpZmZlcmVuY2UgaXMgYmVsb3dcbiAgICAvLyBwZXJjZXB0dWFsIHRocmVzaG9sZCBhZ2FpbnN0IHRoZSBjaGlwJ3MgbmVhci13aGl0ZSBiYWNrZ3JvdW5kLlxuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmU7XG4gICAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1saWdodDtcbiAgfVxufVxuXG4uZGFyay10aGVtZSAuZXhwZXJpbWVudGFsLWZseW91dCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICAvLyBEZXRlcm1pbmlzdGljIDFweCBvdXRsaW5lOiBgYm94LXNoYWRvdyAwIDAgMCAxcHhgIGRyYXdzIGEgc29saWQgMXB4XG4gIC8vIHJpbmcgYXJvdW5kIHRoZSByZWN0YW5nbGUgKGZvbGxvd3MgYm9yZGVyLXJhZGl1cyBwZXJmZWN0bHkpLCBhbmQgdGhlXG4gIC8vIGFycm93IGdldHMgaXRzIG91dGxpbmUgZnJvbSB0aGUgdHdvIGxheWVyZWQgdHJpYW5nbGVzIGJlbG93IChvdXRlclxuICAvLyA6OmJlZm9yZSBpbiB0aGUgb3V0bGluZSBjb2xvciwgaW5uZXIgOjphZnRlciBpbiB0aGUgcGFuZWwgYmcpLiBOb1xuICAvLyBibHVyLCBubyBzdGFja2luZywgdW5pZm9ybSBwaXhlbCBkZW5zaXR5LiBUaGUgcGFuZWwtdGllciBgZmlsdGVyOlxuICAvLyBkcm9wLXNoYWRvd2AgaXMgc2hhcmVkIHdpdGggdGhlIHVzZXIgbWVudSAvIG5vdGlmaWNhdGlvbnMuXG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1kYXJrICFpbXBvcnRhbnQ7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1kYXJrO1xuXG4gIC8vIE91dGVyIGFycm93IHRyaWFuZ2xlID0gb3V0bGluZSBjb2xvcjsgaW5uZXIgPSBwYW5lbCBiZy4gVGhlIDFweFxuICAvLyBzaXplIGRpZmZlcmVuY2UgYmV0d2VlbiA6OmJlZm9yZSBhbmQgOjphZnRlciAoc2V0IGluIGBfbWVudS5zY3NzYClcbiAgLy8gbGVhdmVzIGEgMXB4IHJpbmcgb2YgdGhlIG91dGVyIHRyaWFuZ2xlIHZpc2libGUgYXJvdW5kIHRoZSBpbm5lcixcbiAgLy8gZm9ybWluZyBhIHVuaWZvcm0gb3V0bGluZSBvbiB0aGUgYXJyb3cuXG4gICY6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cbiAgJjo6YWZ0ZXIge1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZXhwZXJpbWVudGFsLWZseW91dC1pdGVtIHtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayAhaW1wb3J0YW50O1xuICB9XG4gIC5leHBlcmltZW50YWwtZmx5b3V0LWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayAhaW1wb3J0YW50O1xuICB9XG4gIC8vIERhcmstbW9kZSBjb3VudGVycGFydCBvZiB0aGUgdW5pZmllZCBob3Zlci9hY3RpdmUgYmcgYWJvdmUuXG4gIC5leHBlcmltZW50YWwtZmx5b3V0LWl0ZW0uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmsgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIENoaXAgaGVhZGVyIOKAlCBkYXJrLW1vZGUgY291bnRlcnBhcnQgb2YgdGhlIHN1Ym1lbnUgdGl0bGUgYmFkZ2UgdG9rZW5zLlxuICAvLyBCb3JkZXItY29sb3IgbWF0Y2hlcyB0aGUgcmVzdCBvZiB0aGUgY2hyb21lJ3MgZGl2aWRlciBjb2xvciAoJGNocm9tZS1ib3JkZXItZGFyayDigJRcbiAgLy8gYWxzbyB1c2VkIGJ5IHRoZSB2ZXJ0aWNhbCBzaWRlYmFyIGVkZ2UtbGluZSBhbmQgdGhlIGhlYWRlci9ib3R0b20tcmFpbFxuICAvLyBob3Jpem9udGFsIGRpdmlkZXJzKSBzbyB0aGUgY2hpcCBvdXRsaW5lIHJlYWRzIGFzIHBhcnQgb2YgdGhlIHNhbWVcbiAgLy8gdmlzdWFsIGZhbWlseS5cbiAgLmV4cGVyaW1lbnRhbC1mbHlvdXQtdGl0bGUge1xuICAgIC8vIFdhcyBgIzJiMmEyOGAgbGl0ZXJhbCDigJQgZXhhY3RseSB0aGUgc2FtZSB2YWx1ZSBhcyB0aGUgY2Fub25pY2FsXG4gICAgLy8gYG1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFya2AgdG9rZW4sIHNvIHdlIHVzZSB0aGUgdG9rZW4gZm9yXG4gICAgLy8gdHJhY2VhYmlsaXR5IChpdCdzIHRoZSBjaGFpciBVSSdzIFwiaW50ZXJhY3RpdmUgc3VyZmFjZSBhIHN0ZXAgdXBcbiAgICAvLyBmcm9tIHRoZSBzaWRlYmFyIGJnXCIgY29sb3VyLCBzYW1lIHJvbGUgaGVyZSkuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrO1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyaztcbiAgICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcms7XG4gIH1cbn1cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1tZW51LXBhbmVsJywgJycsIGJveC1zaGFkb3csICcnLCAwcHggMnB4IDEwcHggMXB4IGJsYWNrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1tZW51LWNvbnRlbnQnLCAnLm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uLCAubWF0LW1lbnUtaXRlbScsIGNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ2J1dHRvbi5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKScsICcnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWRtaW4tYWNjZW50LWJhY2tncm91bmQtY29sb3IsICRhZG1pbi1hY2NlbnQtYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnYnV0dG9uLm1hdC1tZW51LWl0ZW06aG92ZXInLCAnJywgY29sb3IsICRhZG1pbi1hY2NlbnQtY29sb3IsICRhZG1pbi1hY2NlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ2J1dHRvbi5tYXQtbWVudS1pdGVtOmhvdmVyJywgJy5tYXQtaWNvbicsIGNvbG9yLCAkYWRtaW4tYWNjZW50LWNvbG9yLCAkYWRtaW4tYWNjZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LW1lbnUtY29udGVudCAuY29udGFpbmVyLXRoZW1lIC5oaWdobGlnaHQtYnV0dG9uLCAubWF0LW1lbnUtY29udGVudCAuY29udGFpbmVyLWxheW91dCAuaGlnaGxpZ2h0LWJ1dHRvbiwgLm1hdC1tZW51LWNvbnRlbnQgLmNvbnRhaW5lci1sYW5ndWFnZS1jb21wYWN0IC5oaWdobGlnaHQtYnV0dG9uJywgJycsIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItc2VsZWN0ZWQtbWVudS1jb2xvciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSk7XG5cbi8qIGFwcC1maXhlZC10b3AtcHJvZ3Jlc3MtYmFyICovXG4vLyBCZyBvbmx5IHdoZW4gYWN0aXZlbHkgbG9hZGluZyDigJQgb3RoZXJ3aXNlIHRyYW5zcGFyZW50IHNvIHRoZSAycHggc3RyaXBcbi8vIGRvZXNuJ3QgcGFpbnQgb3ZlciB0aGUgY2hyb21lIGJlbG93IGl0IChhY3Rpdml0eSBiYXIsIHN1Ym1lbnUgdG9wIGJvcmRlcikuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpeGVkLXRvcC1wcm9ncmVzcy1iYXIsICcuZml4ZWQtdG9wLXByb2dyZXNzLWJhci5hY3RpdmUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLWJhY2tncm91bmQtY29sb3IsICRuYXZiYXItYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcblxuLyogYXBwLWhvbWUgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtaG9tZSwgJy5ob21lJywgYmFja2dyb3VuZC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtaG9tZSwgJy5ob21lJywgY29sb3IsICRjb250ZW50LWJhY2tncm91bmQtZGFyaywgJGNvbnRlbnQtYmFja2dyb3VuZCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWhvbWUsICcuaG9tZSAucGFnZS1jb250ZW50JywgYmFja2dyb3VuZC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcblxuLyogYXBwLXBhcGVyLWluZm8gKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcGFwZXItaW5mbywgJy5wYXBlci1pbmZvIGEnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuXG5cbi8qIGFwcC1kaWFsb2ctdGltZXpvbmUgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLnRpbWVab25lUGFuZWwnLCB0YWJsZSB0aGVhZCB0ciB0aCwgYmFja2dyb3VuZC1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLnRpbWVab25lUGFuZWwnLCB0YWJsZSB0aGVhZCB0ciB0aCwgYm9yZGVyLWJvdHRvbS1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLnRpbWVab25lUGFuZWwnLCAndGFibGUgdGhlYWQgdHIgdGg6Zmlyc3QtY2hpbGQnLCBib3JkZXItcmlnaHQtY29sb3IsICR3aGl0ZS0xMDAwLCAkYmxhY2stMTAwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy50aW1lWm9uZVBhbmVsJywgdGFibGUgdGJvZHkgdHIgdGQsIGJhY2tncm91bmQtY29sb3IsICR3aGl0ZS0xMDAwLCByZ2IoMjQsIDI0LCAyNCkpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcudGltZVpvbmVQYW5lbCcsIHRhYmxlIHRib2R5IHRyIHRkLCBib3JkZXItY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy50aW1lWm9uZVBhbmVsJywgJ3RhYmxlIHRib2R5IHRyIHRkOmZpcnN0LWNoaWxkJywgYm9yZGVyLXJpZ2h0LWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcudGltZVpvbmVQYW5lbCcsICd0YWJsZSB0Ym9keSB0cjpob3ZlciB0ZCcsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy50aW1lWm9uZVBhbmVsJywgJ3RhYmxlIHRib2R5IHRyOmhvdmVyIHRkJywgYm9yZGVyLXJpZ2h0LWNvbG9yLCAkd2hpdGUtMTAwMCwgJGJsYWNrLTEwMDApO1xuXG4vKiBhcHAtbGFuZGluZyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1sYW5kaW5nLCAnLmxhbmRpbmcgLmNvbnRlbnQtY29udGFpbmVyJywgYmFja2dyb3VuZC1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtbGFuZGluZywgJy5sYW5kaW5nIC5jb250ZW50LWNvbnRhaW5lciAubG9nby5pbWFnZScsIGZpbHRlciwgJycsIGludmVydCgxKSk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWxhbmRpbmcsICcubGFuZGluZyAuY29udGVudC1jb250YWluZXIgaScsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWxhbmRpbmcsICcubGFuZGluZyAubGFuZ3VhZ2UtY29udGFpbmVyJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtbGFuZGluZywgJy5sYW5kaW5nIC5sYW5ndWFnZS1jb250YWluZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiBhcHAtZXZlbnRzICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50cywgJy5ldmVudHMgLm1haW4tdGl0bGUgaScsIGNvbG9yLCAkbmF2YmFyLWV2ZW50cy1pY29uLWNvbG9yLCAkbmF2YmFyLWV2ZW50cy1pY29uLWNvbG9yLWRhcmspO1xuXG4vKiBhcHAtc3VibWlzc2lvbnMgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMsICcuc3VibWlzc2lvbnMgLm1haW4tdGl0bGUgaScsIGNvbG9yLCAkbmF2YmFyLW15LXN1Ym1pc3Npb25zLWljb24tY29sb3IsICRuYXZiYXItbXktc3VibWlzc2lvbnMtaWNvbi1jb2xvci1kYXJrKTtcblxuLyogYXBwLXJldmlld3MgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcmV2aWV3cywgJy5yZXZpZXdzIC5tYWluLXRpdGxlIGknLCBjb2xvciwgJG5hdmJhci1teS1yZXZpZXdzLWljb24tY29sb3IsICRuYXZiYXItbXktcmV2aWV3cy1pY29uLWNvbG9yLWRhcmspO1xuXG4vKiBhcHAtcGFwZXItcmV2aWV3LWxpc3QgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcGFwZXItcmV2aWV3LWxpc3QsICcucGFwZXItcmV2aWV3LWxpc3QgLnRhYmxlLWNvbnRhaW5lciAudGFibGUgLnJldmlldyB0ZCcsIGJvcmRlci1jb2xvciwgJGFkbWluLWJhY2tncm91bmQsICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiBhcHAtY29tbWl0dGVlcyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jb21taXR0ZWVzLCAnLmNvbW1pdHRlZXMgLm1haW4tdGl0bGUgaScsIGNvbG9yLCAkbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvciwgJG5hdmJhci1teS10cGNzLWljb24tY29sb3ItZGFyayk7XG5cbi8qIGFwcC1teS1ldmVudHMgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtbXktZXZlbnRzLCAnLm15ZXZlbnRzIC5tYWluLXRpdGxlIGknLCBjb2xvciwgJG5hdmJhci1teS1ldmVudHMtaWNvbi1jb2xvciwgJG5hdmJhci1teS1ldmVudHMtaWNvbi1jb2xvci1kYXJrKTtcblxuLyogYXBwLXNlc3Npb24tY2hhaXJpbmdzICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNlc3Npb24tY2hhaXJpbmdzLCAnLnNlc3Npb24tY2hhaXJpbmdzIC5tYWluLXRpdGxlIGknLCBjb2xvciwgJG5hdmJhci1teS1zZXNzaW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLCAkbmF2YmFyLW15LXNlc3Npb24tY2hhaXJpbmdzLWljb24tY29sb3ItZGFyayk7XG5cbi8qIGFwcC1wdWJsaWNhdGlvbi1jaGFpcmluZ3MgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHVibGljYXRpb24tY2hhaXJpbmdzLCAnLnB1YmxpY2F0aW9uLWNoYWlyaW5ncyAubWFpbi10aXRsZSBpJywgY29sb3IsICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3IsICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3ItZGFyayk7XG5cbi8qIGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlIChBTlRJR08pIOKAlCBibG9jbyBkZSB0YWJlbGEgUkVNT1ZJRE8gKGF1ZGl0b3JpYSk6XG4gICBvIGNvbXBvbmVudGUgw6kgREVBRCBDT0RFICgwIHVzb3MgZW0gdGVtcGxhdGU7IHN1YnN0aXR1w61kbyBwZWxvIGAtdjJgKSwgZW50w6NvIGVzdGVcbiAgIHNpc3RlbWEgZGUgYm9yZGEgKGJvcmRlci1yaWdodCB3aGl0ZS9ibGFjayArIGZyYW1lIGRlIGhvdmVyIGAhaW1wb3J0YW50YCkgbnVuY2FcbiAgIHJlbmRlcml6YXZhLiBOT1RBOiBvIGFycXVpdm8gYC50c2AgY29udGludWEgZXhpc3RpbmRvIHPDsyBwZWxvIGV4cG9ydCBgQ29sbGVjdGlvbmBcbiAgIHVzYWRvIGVtIGBzaG93LWFsbC1zdWJtaXNzaW9uc2Ag4oCUIHJlZmFjdG9yIGZ1dHVybzogZXh0cmFpciBgQ29sbGVjdGlvbmAgcC8gdW0gdGlwb1xuICAgY29tcGFydGlsaGFkbyBlIGVudMOjbyBhcGFnYXIgbyBjb21wb25lbnRlICsgc3VhIGRlY2xhcmHDp8OjbyBubyBhcHAubW9kdWxlLiAqL1xuXG4vKiBhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyLCAnLm1hdC1jYXJkIC5zdWJtaXNzaW9uLXRhYmxlLm1hdC10YWJsZScsIGJhY2tncm91bmQtY29sb3IsICRjb250ZW50LWJhY2tncm91bmQsICRjb250ZW50LWJhY2tncm91bmQtZGFyayk7XG4vLyBGYWRlIGRhIGJvcmRhIGVzcXVlcmRhICguc2Nyb2xsLWZhZGUtbGVmdCwgdmlzw612ZWwgYW8gcm9sYXIgYSB0YWJlbGEgw6AgZXNxdWVyZGEpOlxuLy8gZ3JhZGllbnRlIGRhIGNvciBkZSBmdW5kbyBkbyBjb250ZcO6ZG8g4oaSIHRyYW5zcGFyZW50ZSAocmdiYSguLi4sMCksIG7Do28gYHRyYW5zcGFyZW50YCxcbi8vIHAvIGV2aXRhciB0b20gYWNpbnplbnRhZG8gbm8gbWVpbyBkbyBkZWdyYWTDqiBlbSBhbGd1bnMgbmF2ZWdhZG9yZXMpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyLCAnLm1hdC1jYXJkIC5zY3JvbGwtZmFkZS1sZWZ0JywgYmFja2dyb3VuZCwgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkY29udGVudC1iYWNrZ3JvdW5kIDQwJSwgcmdiYSgkY29udGVudC1iYWNrZ3JvdW5kLCAwKSksIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrIDQwJSwgcmdiYSgkY29udGVudC1iYWNrZ3JvdW5kLWRhcmssIDApKSk7XG4vLyBGYWRlIGRhIGJvcmRhIGRpcmVpdGEgKC5zY3JvbGwtZmFkZS1yaWdodCk6IGdyYWRpZW50ZSBzaW1wbGVzIChjb3Ig4oaSIHRyYW5zcGFyZW50ZSkgY29tb1xuLy8gYGJhY2tncm91bmQtaW1hZ2VgOyBhIGZhaXhhIGRlIDQwcHggbmEgYm9yZGEgZGlyZWl0YSDDqSBnYXJhbnRpZGEgcG9yIGBiYWNrZ3JvdW5kLXNpemVgL1xuLy8gYC1wb3NpdGlvbmAgbm8gU0NTUyBkbyBjb21wb25lbnRlIChuw6NvIHBvciBzdG9wIGFic29sdXRvLCBxdWUgcmVuZGlhIGxhcmd1cmEgaW5jb25zaXN0ZW50ZSkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIsICcubWF0LWNhcmQgLnNjcm9sbC1mYWRlLXJpZ2h0JywgYmFja2dyb3VuZC1pbWFnZSwgbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsICRjb250ZW50LWJhY2tncm91bmQgNDAlLCByZ2JhKCRjb250ZW50LWJhY2tncm91bmQsIDApKSwgbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsICRjb250ZW50LWJhY2tncm91bmQtZGFyayA0MCUsIHJnYmEoJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrLCAwKSkpO1xuLy8gQ2FiZcOnYWxobyBzdGlja3kgKG1hdEhlYWRlclJvd0RlZiBzdGlja3kpOiBmdW5kbyBlbSBncmFkaWVudGUgdmVydGljYWwgY29tIEZPUlRFIHZhcmlhw6fDo28g4oCUIHRvcG9cbi8vIFRPVEFMTUVOVEUgb3BhY28gKHTDrXR1bG8gZGVzdGFjYSwgbsOtdGlkbykgZSBiYXNlIEZSQUNBL3RyYW5zcGFyZW50ZSAoYXMgbGluaGFzIHJvbGFtIHBvciBiYWl4byxcbi8vIGRlc2ZvY2FkYXMgcGVsbyBiYWNrZHJvcC1maWx0ZXIpLiBUb3BvIDEuMCDihpIgYmFzZSAwLjUuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIsICcubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHRoLm1hdC1oZWFkZXItY2VsbCcsIGJhY2tncm91bmQsIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRjb250ZW50LWJhY2tncm91bmQsIHJnYmEoJGNvbnRlbnQtYmFja2dyb3VuZCwgMC41KSksIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRjb250ZW50LWJhY2tncm91bmQtZGFyaywgcmdiYSgkY29udGVudC1iYWNrZ3JvdW5kLWRhcmssIDAuNSkpKTtcbi8vIENvciBkbyBURVhUTyBkbyBjYWJlw6dhbGhvIHZpYSBvIE1FU01PIHRva2VuIGRhIGNvbHVuYSAjICh1bmlmaWNhZG8pLiBObyBsaWdodFxuLy8gcmVwcm9kdXogbyBkZWZhdWx0IGRvIE1hdGVyaWFsICguNTQxKTsgbm8gZGFyayBmaXhhICNGRkZGRkZCMyAobyBNYXRlcmlhbCBuw6NvIHRlbVxuLy8gdGVtYSBkYXJrIGFxdWksIGVudMOjbyBvIGRlZmF1bHQgZmljYXJpYSBlc2N1cm8vaWxlZ8OtdmVsKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiwgJy5tYXQtY2FyZCAuc3VibWlzc2lvbi10YWJsZS5tYXQtdGFibGUgdGgubWF0LWhlYWRlci1jZWxsJywgY29sb3IsICR0YWJsZS1oZWFkZXItY29sb3IsICR0YWJsZS1oZWFkZXItY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIsICcubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHRkOmZpcnN0LWNoaWxkJywgYmFja2dyb3VuZC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiwgJy5tYXQtY2FyZCAuc3VibWlzc2lvbi10YWJsZS5tYXQtdGFibGUgdGQ6bGFzdC1jaGlsZCcsIGJhY2tncm91bmQtY29sb3IsICRjb250ZW50LWJhY2tncm91bmQsICRjb250ZW50LWJhY2tncm91bmQtZGFyayk7XG4vLyBTZXBhcmFkb3IgdmVydGljYWwgZW50cmUgY29sdW5hcyDigJQgY29yIGRhIFwibGluaGEgcmVhbFwiIChnZW9tZXRyaWEvcHNldWRvIDo6YmVmb3JlXG4vLyBmaWNhIG5vIGNvbXBvbmVudGUpLiBBbnRlcyBlcmEgdW0gYm9yZGVyLXJpZ2h0IG5hIGPDqWx1bGEsIHF1ZSBkZXNsb2NhdmEgbyA6OmFmdGVyXG4vLyBlIGNvcnRhdmEgbyBjb250b3JubyBkZSBob3Zlci9zZWxlY3RlZDsgYWdvcmEgbyA6OmJlZm9yZSBmaWNhIHNvYiBvIGNvbnRvcm5vLCBxdWVcbi8vIHBhc3NhIHBvciBjaW1hICh0b3AvYm90dG9tKSBlIHNlZ3VlIGNvbnTDrW51by5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiwgJy5tYXQtY2FyZCAuc3VibWlzc2lvbi10YWJsZS5tYXQtdGFibGUgdGQubWF0LWNlbGw6bm90KC5sYXN0LWNvbHVtbik6OmJlZm9yZScsIGJhY2tncm91bmQtY29sb3IsICRjb250ZW50LWJhY2tncm91bmQsICRjb250ZW50LWJhY2tncm91bmQtZGFyayk7XG4vLyBDb250b3JubyBkZSBob3Zlci9cImhvdmVyZWRcIiB2aWEgYm94LXNoYWRvdyBpbnNldCBubyBwc2V1ZG8gOjphZnRlciAoZ2VvbWV0cmlhXG4vLyBkbyA6OmFmdGVyIGZpY2Egbm8gY29tcG9uZW50ZSkuIFN1YnN0aXR1aSBhIHTDqWNuaWNhIGFudGlnYSBkZSByZXZlbGFyXG4vLyBgYm9yZGVyLWNvbG9yYC4gRGlyZWNpb25hbCBwYXJhIHByZXNlcnZhciBvIE1FU01PIHJlY29ydGUgZG8gZWZlaXRvIGFudGVyaW9yOlxuLy8gdG9wL2JvdHRvbSBuYXMgY29sdW5hcyBkZSBjb250ZcO6ZG8sIGxlZnQgbmEgLmZpcnN0LWNvbHVtbiwgcmlnaHQgbmEgLmxhc3QtY29sdW1uO1xuLy8gYXMgY29sdW5hcyBleHRyZW1hcyAocG9zaXRpb24vc2VsZWN0KSBzZWd1ZW0gZm9yYSBkbyBjb250b3Juby4gYC5ob3ZlcmVkYCDDqSBvXG4vLyBlc3RhZG8gdHJhdmFkbyB2aWEgSlMgKGZvcmNlSG92ZXIpIGVucXVhbnRvIHVtIGRyb3Bkb3duIGRhIGxpbmhhIGVzdMOhIGFiZXJ0by5cbi8vIEVzY29wYWRvIGVtIHRkLm1hdC1jZWxsIHBhcmEgbsOjbyBhdGluZ2lyIGFzIHN1Yi10YWJlbGFzIGludGVybmFzIChzY29yZXMvYXJxdWl2b3MpLlxuLy8gT3MgYmxvY29zIGRlIGZpcnN0L2xhc3QtY29sdW1uIHbDqm0gREVQT0lTIGRvIGRlIGNvbnRlw7pkbyBkZSBwcm9ww7NzaXRvOiB0w6ptIGFcbi8vIG1lc21hIGVzcGVjaWZpY2lkYWRlIGUgcHJlY2lzYW0gdmVuY2VyIHBlbG8gZGVzZW1wYXRlIGRlIG9yZGVtLlxuLy8gJHJvdzogcXVhbGlmaWNhZG9yIG9wY2lvbmFsIGRhIGxpbmhhIChleC46ICcubm8tc3RhdHVzLWNvbG9yJykgcC8gZXNjb3BhciBvIGNvbnRvcm5vXG4vLyBhIHVtIHN1YmNvbmp1bnRvIGRlIGxpbmhhcyBjb20gbWFpb3IgZXNwZWNpZmljaWRhZGUgKG92ZXJyaWRlKS4gVmF6aW8gPSB0b2RhcyBhcyBsaW5oYXMuXG5AbWl4aW4gc3VibWlzc2lvbi1yb3ctaG92ZXItb3V0bGluZSgkY29sb3IsICRyb3c6ICcnKSB7XG4gIHRyI3skcm93fTpob3ZlciB0ZC5tYXQtY2VsbDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOjphZnRlcixcbiAgdHIjeyRyb3d9LmhvdmVyZWQgdGQubWF0LWNlbGw6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gIH1cblxuICB0ciN7JHJvd306aG92ZXIgdGQubWF0LWNlbGwuZmlyc3QtY29sdW1uOm5vdCg6Zmlyc3QtY2hpbGQpOjphZnRlcixcbiAgdHIjeyRyb3d9LmhvdmVyZWQgdGQubWF0LWNlbGwuZmlyc3QtY29sdW1uOm5vdCg6Zmlyc3QtY2hpbGQpOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgdHIjeyRyb3d9OmhvdmVyIHRkLm1hdC1jZWxsLmxhc3QtY29sdW1uOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyLFxuICB0ciN7JHJvd30uaG92ZXJlZCB0ZC5tYXQtY2VsbC5sYXN0LWNvbHVtbjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4ubGlnaHQtdGhlbWUgYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIgLm1hdC1jYXJkIC5zdWJtaXNzaW9uLXRhYmxlLm1hdC10YWJsZSB7XG4gIEBpbmNsdWRlIHN1Ym1pc3Npb24tcm93LWhvdmVyLW91dGxpbmUoJHRhYmxlLWhvdmVyLWJvcmRlci1jb2xvcik7XG59XG4uZGFyay10aGVtZSBhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiAubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHtcbiAgLy8gTUVTTUEgbMOzZ2ljYSBkbyB2w6l1LCBhZ29yYSBwcmEgQ09SIERPIENPTlRPUk5POlxuICAvLyAg4oCiIENvbG9yaXIgT04gKGxpbmhhcyBjb2xvcmlkYXMvY2xhcmFzKSDihpIgY29udG9ybm8gRVNDVVJPICg9IGxpZ2h0IG1vZGUpLCB2aXPDrXZlbFxuICAvLyAgICBzb2JyZSBhcyBjb3JlcyBjbGFyYXMgZGUgc3RhdHVzLiDDiSBvIFBBRFLDg08gZG8gZGFyayBhcXVpLlxuICAvLyAg4oCiIENvbG9yaXIgT0ZGICgubm8tc3RhdHVzLWNvbG9yLCBsaW5oYXMgcGxhbmFzIGVzY3VyYXMpIOKGkiBjb250b3JubyBCUkFOQ08gKG92ZXJyaWRlLFxuICAvLyAgICBtYWlzIGVzcGVjw61maWNvKS5cbiAgQGluY2x1ZGUgc3VibWlzc2lvbi1yb3ctaG92ZXItb3V0bGluZSgkdGFibGUtaG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgc3VibWlzc2lvbi1yb3ctaG92ZXItb3V0bGluZShyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpLCAnLm5vLXN0YXR1cy1jb2xvcicpO1xuXG4gIC8vIENvbG9yaXIgT0ZGLCAxwqogY29sdW5hOiBhIGJvcmRhIEVTUVVFUkRBIGRvIGNvbnRvcm5vIChicmFuY28pIGZpY2Egc29icmUgYSBGQUlYQSBkZVxuICAvLyBzdGF0dXMgKHNlbXByZSBDTEFSQSkg4oaSIFwibGF2YVwiLiBVc2EgRVNDVVJPIHPDsyBuZXNzYSBib3JkYS4gKENvbSBDb2xvcmlyIE9OIG8gY29udG9ybm9cbiAgLy8gasOhIMOpIGVzY3VybyDihpIgdmlzw612ZWwgc29icmUgYSBmYWl4YSwgbsOjbyBwcmVjaXNhIGRlIG92ZXJyaWRlLikgQXDDs3MgbyBAaW5jbHVkZVxuICAvLyBuby1zdGF0dXMtY29sb3IgYWNpbWEg4oaSIG1lc21vIHNlbGV0b3IsIHZlbmNlIHBvciBvcmRlbSBkZSBmb250ZS5cbiAgdHIubm8tc3RhdHVzLWNvbG9yOmhvdmVyIHRkLm1hdC1jZWxsLmZpcnN0LWNvbHVtbjpub3QoOmZpcnN0LWNoaWxkKTo6YWZ0ZXIsXG4gIHRyLm5vLXN0YXR1cy1jb2xvci5ob3ZlcmVkIHRkLm1hdC1jZWxsLmZpcnN0LWNvbHVtbjpub3QoOmZpcnN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIH1cbn1cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiwgJy5tYXQtY2FyZCAuc3VibWlzc2lvbi10YWJsZS5tYXQtdGFibGUgdGQgc3Bhbi5zdWJ0aXRsZS10ZXh0JywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbi8vIENvciBkZWZhdWx0IGRvIHRleHRvIGRhcyBjw6lsdWxhcyA9IGl0ZW0gZGUgMcK6IG7DrXZlbCBkbyBtZW51IGxhdGVyYWwuIEFsdGFcbi8vIGVzcGVjaWZpY2lkYWRlICgubGlnaHQvLmRhcmsgKyBjYWRlaWEgbWF0LXRhYmxlKSBwYXJhIHZlbmNlciBvIGZvcmVncm91bmQgZG9cbi8vIG1hdC1jYXJkIChNYXRlcmlhbCkuIEFzIG5vdGFzICgucmFuay10YWJsZSwgZnVuZG8gYnJhbmNvKSBzw6NvIHRyYXZhZGFzIGVtXG4vLyBlc2N1cm8gbm8gcHLDs3ByaW8gY29tcG9uZW50ZSBwYXJhIG7Do28gZmljYXJlbSBpbGVnw612ZWlzIG5vIGRhcmsuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIsICcubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHRkLm1hdC1jZWxsJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbi8vIENvbHVuYSAjIChudW1lcmHDp8Ojbyk6IE1FU01BIGNvciBkbyBjYWJlw6dhbGhvLCB2aWEgdG9rZW4gdW5pZmljYWRvICR0YWJsZS1oZWFkZXItY29sb3IuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIsICcubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHRkLnBvc2l0aW9uJywgY29sb3IsICR0YWJsZS1oZWFkZXItY29sb3IsICR0YWJsZS1oZWFkZXItY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIsICcubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHRoIC5tYXJrLWFsbC1idXR0b24nLCBiYWNrZ3JvdW5kLWNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyLCAnLm1hdC1jYXJkIC5zdWJtaXNzaW9uLXRhYmxlLm1hdC10YWJsZSB0ZC5zZWxlY3QgYnV0dG9uJywgYmFja2dyb3VuZC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcblxuLy8gQ09OVEXDmkRPIGRhcyBjw6lsdWxhcyDigJQgTUVTTUEgbMOzZ2ljYSBkbyB2w6l1L2JvcmRhOiBsaW5oYXMgQ09MT1JJREFTIChDb2xvcmlyIE9OKSB0w6ptXG4vLyBmdW5kbyBkZSBzdGF0dXMgQ0xBUk8gZW0gQU1CT1Mgb3MgdGVtYXMg4oaSIG8gY29udGXDumRvIHVzYSBhcyBjb3JlcyBkbyBMSUdIVCBtb2RlXG4vLyAobGVnw612ZWwgc29icmUgbyBjbGFybykuIFPDsyBgZGFyayArIG5vLXN0YXR1cy1jb2xvcmAgbWFudMOpbSBhcyBjb3JlcyBkbyBkYXJrIChqw6EgdsOqbVxuLy8gZGFzIHJlZ3JhcyBhY2ltYSkuIEVzdGUgYmxvY28gc8OzIGF0YWNhIG8gZGFyayArIGxpbmhhIENPTE9SSURBIChgdHI6bm90KC5uby1zdGF0dXMtY29sb3IpYCksXG4vLyB2ZW5jZW5kbyBhcyByZWdyYXMgZGFyayBiYXNlIHBvciB0ZXIgbyBgdHI6bm90KC4uLilgICsgb3MgYDpub3QoOmZpcnN0L2xhc3QpYCBhIG1haXMuXG4vLyBFc2NvcG8gPSBjw6lsdWxhcyBkZSBDT05URcOaRE8gKGV4Y2x1aSBudW1lcmHDp8Ojby9zZWxlw6fDo28sIHF1ZSBmaWNhbSBmb3JhIGRvIGNhcmQpLlxuLmRhcmstdGhlbWUgYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIgLm1hdC1jYXJkIC5zdWJtaXNzaW9uLXRhYmxlLm1hdC10YWJsZSB0cjpub3QoLm5vLXN0YXR1cy1jb2xvcikge1xuICB0ZC5tYXQtY2VsbDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7ICAgICAgICAgICAgICAgICAvLyB0ZXh0byBiYXNlOiAjMzczNzM0IChlcmEgI2M0YzJiZClcblxuICAgIHNwYW4uc3VidGl0bGUtdGV4dCB7IGNvbG9yOiAkY29udGVudC1jb2xvcjsgfSAgICAgICAgIC8vIHN1YnTDrXR1bG86ICMzNjM2MzYgKGVyYSAjRjZGNkY2KVxuICAgIC50aXRsZSB7IGNvbG9yOiAkY29udGVudC1jb2xvcjsgfSAgICAgICAgICAgICAgICAgICAgIC8vIHTDrXR1bG86ICMzNjM2MzYgKGVyYSAjRjZGNkY2LCByZWdyYSBnbG9iYWwgLnRpdGxlKVxuICAgIC8vIExpbmtzL8OtY29uZXMgYWNjZW50IChhdXRvcmVzK2UtbWFpbHMpOiBhY2NlbnQgZG8gTElHSFQgKCM3QzJEMTIsIG1hcnJvbSkuIENvYnJlIG9cbiAgICAvLyA8YT4gZW0gc2kgKHZlbmNlIGBfcGFwZXIuc2Nzc2ApLiBPIDxzcGFuPiBpbnRlcm5vIGRvIG5vbWUvZS1tYWlsIHRlbSBjb3IgUFLDk1BSSUFcbiAgICAvLyAocmVncmEgYHRkLmRlc2NyaXB0aW9uIGEgc3BhbmAgZG8gY29tcG9uZW50ZSB2MiwgcXVlIGNvbXBpbGEgY29tIHbDoXJpb3MgW19uZ2NvbnRlbnRdXG4gICAgLy8g4oaSIGVzcGVjaWZpY2lkYWRlIG1haW9yKSDihpIgdHJhdGFkbyBuYSByZWdyYSBERURJQ0FEQSBsb2dvIGFww7NzIGVzdGUgYmxvY28uXG4gICAgYSwgLmZhLWZpbGUtcGRmLCAuZmEtdXBsb2FkIHsgY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBDb2x1bmEgQXJxdWl2b3M6IGFwcC1maWxlLXBpbGwgw6kgQ09NUE9ORU5URSBzZXBhcmFkbyAocmVncmFzIGRhcmsgdmlhIDpob3N0LWNvbnRleHQpLlxuICAgIC8vIEZvcsOnYSBvIHRleHRvIGRvIHBpbGwgKGluY2x1c2l2ZSBhIHZhcmlhbnRlIFwiLS1taXNzaW5nXCIsIGV4LjogXCJNYW51c2NyaXRvXCIgYXVzZW50ZSksXG4gICAgLy8gbyDDrWNvbmUgZGUgYXVzZW50ZSBFIG8gw61jb25lIGRlIGRvd25sb2FkIHBybyBlc3F1ZW1hIExJR0hUIHNvYnJlIGEgbGluaGEgY29sb3JpZGEuXG4gICAgLy8gQ2xhc3NlcyBSRUFJUyA9IGAuZmlsZS1waWxsKmAgKE7Dg08gYC5jdi1lYi0qYCwgcXVlIMOpIGRlIG91dHJvIGNvbXBvbmVudGUg4oCUIGZvaSBvXG4gICAgLy8gZXJybyBhbnRlcmlvcikuIE8gXCIqXCIgcmVxdWlyZWQgKHZlcm1lbGhvKSBmaWNhIGNvbW8gZXN0w6EuXG4gICAgYXBwLWZpbGUtcGlsbCAuZmlsZS1waWxsLFxuICAgIGFwcC1maWxlLXBpbGwgLmZpbGUtcGlsbC0tbWlzc2luZyxcbiAgICBhcHAtZmlsZS1waWxsIC5maWxlLXBpbGwtbmFtZSxcbiAgICBhcHAtZmlsZS1waWxsIC5maWxlLXBpbGwtaWNvbi1taXNzaW5nIHsgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICBhcHAtZmlsZS1waWxsIC5maWxlLXBpbGwtaWNvbiB7IGNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudDsgfVxuICB9XG59XG4vLyBBVVRPUiDigJQgPHNwYW4+IGRvIG5vbWUvZS1tYWlsOiBvIGNvbXBvbmVudGUgdjIgY29sb3JlIGB0ZC5kZXNjcmlwdGlvbiBhIHNwYW5gLCBxdWUgY29tcGlsYVxuLy8gY29tIFbDgVJJT1MgW19uZ2NvbnRlbnRdIChjYWRhIHVtIGNvbnRhIGNvbW8gY2xhc3NlKSDihpIgZXNwZWNpZmljaWRhZGUgfigwLDksMyksIEFDSU1BIGRvXG4vLyBibG9jbyBhY2ltYSB+KDAsOCw1KS4gQ29tbyBuwrogZGUgQ0xBU1NFUyBkZXNlbXBhdGEgcHJpbWVpcm8gKDkgPiA4KSwgYSBkbyBjb21wb25lbnRlIHZlbmNlXG4vLyBlIG8gc3BhbiBmaWNhIGFtYmVyICgjRkJCRjI0KS4gRXN0YSByZWdyYSBkZWRpY2FkYSBhY3Jlc2NlbnRhIGAucGFwZXJCYWNrZ3JvdW5kYCAobm8gPHRyPilcbi8vIGUgYC5kZXNjcmlwdGlvbmAgKG5vIDx0ZD4pIOKGkiBzb2JlIHByYSB+KDAsMTAsNSkgZSB2ZW5jZSDihpIgYXV0b3IvZS1tYWlsIG5vIGFjY2VudCBtYXJyb20uXG4uZGFyay10aGVtZSBhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiAubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHRyLnBhcGVyQmFja2dyb3VuZDpub3QoLm5vLXN0YXR1cy1jb2xvcikgdGQubWF0LWNlbGwuZGVzY3JpcHRpb246bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSBhIHNwYW4ge1xuICBjb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG59XG5cbi8vIMONY29uZSBkZSBkb3dubG9hZCBkbyBmaWxlLXBpbGwgbmFzIGxpbmhhcyBgbm8tc3RhdHVzLWNvbG9yYCAoQ29sb3JpciBPRkYgPSBlc3F1ZW1hIERBUkspOlxuLy8gZm9yw6dhIG8gYWNjZW50IGRvIGRhcmsgKCNGQkJGMjQgw6JtYmFyKS4gUkVEVU5EQU5URSBjb20gYSByZWdyYSBnbG9iYWwgZW1cbi8vIGBmaWxlLXBpbGwuY29tcG9uZW50LnNjc3MgOmhvc3QtY29udGV4dCguZGFyay10aGVtZSkgLmZpbGUtcGlsbC1pY29uYCAobWVzbWEgY29yKSxcbi8vIG1hbnRpZGEgcG9yIHNlZ3VyYW7Dp2EgZW0gY2FzbyBkZSBvIGRlZmF1bHQgZ2xvYmFsIHNlciByZXZlcnRpZG8uIEFzIGxpbmhhcyBDT0xPUklEQVNcbi8vIHTDqm0gcmVncmEgZGVkaWNhZGEgYWNpbWEgcXVlIGZvcsOnYSBvIGFjY2VudCBMSUdIVCAoIzdDMkQxMiBtYXJyb20pLlxuLmRhcmstdGhlbWUgYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIgLm1hdC1jYXJkIC5zdWJtaXNzaW9uLXRhYmxlLm1hdC10YWJsZSB0ci5uby1zdGF0dXMtY29sb3IgdGQubWF0LWNlbGwgYXBwLWZpbGUtcGlsbCAuZmlsZS1waWxsLWljb24ge1xuICBjb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cblxuLyogYXBwLXN1Ym1pc3Npb25zLWZpZWxkLWZpbHRlci12MiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdWJtaXNzaW9ucy1maWVsZC1maWx0ZXItdjIsICcuc3VibWlzc2lvbnMtZmllbGRzLWZpbHRlci10YWJsZS1WMiAubWF0LWV4cGFuc2lvbi1wYW5lbCcsIGJhY2tncm91bmQtY29sb3IsICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yLCAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMtZmllbGQtZmlsdGVyLXYyLCAnLnN1Ym1pc3Npb25zLWZpZWxkcy1maWx0ZXItdGFibGUtVjIgLm1hdC1leHBhbnNpb24tcGFuZWwnLCBib3JkZXItY29sb3IsICRtYXQtY2FyZC1ib3JkZXItY29sb3IsICRtYXQtY2FyZC1ib3JkZXItY29sb3ItZGFyayk7XG5cbi8qIGFwcC1zdWJtaXNzaW9ucy1saXN0LWZpbHRlciAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdWJtaXNzaW9ucy1saXN0LWZpbHRlciwgJy5zdWJtaXNzaW9ucy1saXN0LWZpbHRlciAuZmllbGRzJywgYmFja2dyb3VuZC1jb2xvciwgJycsIHJnYmEoMCwgMCwgMCwgLjc1KSk7XG5cbi8qIGFwcC1maWxlLXJ1bGVzLWNhcmQgKi9cbi8vIENpbnphIGRvIG1pbmljYXJkID0gJGdyYXktMTUwICh3YXJtLXN0b25lIGRvIHNpc3RlbWEpLCBubyBsdWdhciBkbyAjZWRlZGVkXG4vLyBuZXV0cm8gZG8gJGV2ZW50LWNhcmQtYmFja2dyb3VuZCAocXVlIGRlc3RvYXZhIGRvIHJlc3RvKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS1ydWxlcy1jYXJkLCAnLmZpbGUtY2FyZCAudG9wLWZpbGUtY2FyZCcsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTE1MCwgJHN1cmZhY2UtcmFpc2VkLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZmlsZS1jYXJkIC51cGxvYWRpbmcnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWRtaW4tYWNjZW50LWJhY2tncm91bmQtY29sb3IsICRhZG1pbi1hY2NlbnQtYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS1ydWxlcy1jYXJkLCAnLmZpbGUtY2FyZCAubm90VXBsb2FkaW5nJywgYmFja2dyb3VuZC1jb2xvciwgJGFkbWluLWJhY2tncm91bmQsICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZmlsZS1jYXJkIC5kZXRhaWwtY29sdW1ucyAuZHVlLWRhdGUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS0xNTAsICRzdXJmYWNlLXJhaXNlZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS1ydWxlcy1jYXJkLCAnLmZpbGUtY2FyZCAuZGV0YWlsLWNvbHVtbnMgLmR1ZS1kYXRlJywgY29sb3IsICRncmF5LTUwMCwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG4vLyBPIGdsb2JvIChhcHAtZGlhbG9nLXRpbWV6b25lKSDDqSB1bSBtYXQtaWNvbi1idXR0b24gcXVlIG7Do28gcmVwYXNzYSBvIGN1cnJlbnRDb2xvciDigJQgZm9yw6dhIGEgbWVzbWEgY29yIG11dGVkIGRhIGNhcHRpb24uXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtcnVsZXMtY2FyZCwgJy5maWxlLWNhcmQgLmRldGFpbC1jb2x1bW5zIC5kdWUtZGF0ZSBhcHAtZGlhbG9nLXRpbWV6b25lIC5tYXQtaWNvbicsIGNvbG9yLCAkZ3JheS01MDAsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuLy8gQXN0ZXJpc2NvIGRlIFwib2JyaWdhdMOzcmlvXCIgYW50ZXMgZG8gdMOtdHVsbyBkbyBhcnF1aXZvLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZmlsZS1jYXJkIC5pbmZvLWNvbHVtbiAuZmlsZS1yZXF1aXJlZCcsIGNvbG9yLCAkYWNjZW50LWNvbG9yLXdhcm5pbmcsICRhY2NlbnQtY29sb3Itd2FybmluZy1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS1ydWxlcy1jYXJkLCAnLmZpbGUtY2FyZCAuZGV0YWlsLWNvbHVtbnMgLmRpc2FibGVkIC5tYXQtaWNvbicsIGNvbG9yLCAkYnV0dG9uLWRpc2FibGVkLWNvbG9yLCAkYnV0dG9uLWRpc2FibGVkLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZmlsZS1jYXJkIC5kZXRhaWwtY29sdW1ucyAuZG93bmxvYWQtY29sdW1uIC5idXR0b24tZG93bmxvYWQtZmlsZTpub3QoLmRpc2FibGVkKSAuZmlsZS10eXBlLWljb24nLCBjb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkYWNjZW50LWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtcnVsZXMtY2FyZCwgJy5maWxlLWNhcmQgLmRldGFpbC1jb2x1bW5zIC5pbmZvLWNvbHVtbiAuYnV0dG9uLXJ1bGUtaW5mbyAubWF0LWljb24nLCBjb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkYWNjZW50LWJhY2tncm91bmQtZGFyayk7XG4vLyBDb3JlcyBkb3Mgw61jb25lcyBkZSBhw6fDo28gZG8gbWluaWNhcmQgKEZhc2UgMTogbWlncmHDp8OjbyBqZW1zM3PihpJNYXRlcmlhbCBTeW1ib2xzXG4vLyArIHRva2VucyB0aGVtZS1hd2FyZSkuIERlbGV0ZSBlIFwibsOjbyB1c2EgdGVtcGxhdGVcIiA9IHdhcm5pbmc7IFwidXNhIHRlbXBsYXRlXCIgPVxuLy8gc3VjY2VzczsgZXJybyA9IHdhcm5pbmcuIGRvd25sb2FkLWJhciAob3ZlcmxheSBkZSAlIG5vIGRvd25sb2FkKSBjYXNhIG8gdG9wbyBkbyBjYXJkLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZmlsZS1jYXJkIC5kZXRhaWwtY29sdW1ucyAuaW5mby1jb2x1bW4gLmJ1dHRvbi1kZWxldGUtZmlsZTpub3QoLmRpc2FibGVkKSAubWF0LWljb24nLCBjb2xvciwgJGFjY2VudC1jb2xvci13YXJuaW5nLCAkYWNjZW50LWNvbG9yLXdhcm5pbmctZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtcnVsZXMtY2FyZCwgJy5maWxlLWNhcmQgLmRldGFpbC1jb2x1bW5zIC5pbmZvLWNvbHVtbiAuYnV0dG9uLXJ1bGUtdXNlcy1zYmMtdGVtcGxhdGUgLm1hdC1pY29uJywgY29sb3IsICRhY2NlbnQtY29sb3Itc3VjY2VzcywgJGFjY2VudC1jb2xvci1zdWNjZXNzLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZmlsZS1jYXJkIC5kZXRhaWwtY29sdW1ucyAuaW5mby1jb2x1bW4gLmJ1dHRvbi1ydWxlLW5vdC11c2VzLXNiYy10ZW1wbGF0ZSAubWF0LWljb24nLCBjb2xvciwgJGFjY2VudC1jb2xvci13YXJuaW5nLCAkYWNjZW50LWNvbG9yLXdhcm5pbmctZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtcnVsZXMtY2FyZCwgJy5maWxlLWNhcmQgLmRldGFpbC1jb2x1bW5zIC5pbmZvLWNvbHVtbiAuZmlsZS1lcnJvcicsIGNvbG9yLCAkYWNjZW50LWNvbG9yLXdhcm5pbmcsICRhY2NlbnQtY29sb3Itd2FybmluZy1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS1ydWxlcy1jYXJkLCAnLmRvd25sb2FkLWJhcicsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtdXBsb2FkLCAnLnN1Y2Nlc3MtaWNvbicsIGNvbG9yLCAkYWNjZW50LWNvbG9yLXN1Y2Nlc3MsICRhY2NlbnQtY29sb3Itc3VjY2Vzcy1kYXJrKTtcblxuLyogYXBwLWZpbGUtdXBsb2FkICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtdXBsb2FkLCAnLmZpbGUtdXBsb2FkIC5maWxlLXVwbG9hZC1pY29uIC5tYXQtaWNvbicsIGNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrKTtcbi8vIMONY29uZSBkZSB1cGxvYWQgREVTQUJJTElUQURPIChwcmF6byBwYXNzb3UgLyBzZW0gcGVybWlzc8Ojbyk6IGNvciBkZSBkaXNhYmxlZCxcbi8vIE7Dg08gYWNjZW50LiBWZW0gZGVwb2lzIGRhIHJlZ3JhIGFjY2VudCAobWVzbWEgZXNwZWNpZmljaWRhZGUpIOKGkiB2ZW5jZS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS11cGxvYWQsICcuZmlsZS11cGxvYWQgLmZpbGUtdXBsb2FkLWljb24tZGlzYWJsZWQgLm1hdC1pY29uJywgY29sb3IsICRidXR0b24tZGlzYWJsZWQtY29sb3IsICRidXR0b24tZGlzYWJsZWQtY29sb3ItZGFyayk7XG5cbi8qIGFwcC1jdXN0b20tZm9ybS10ZXh0LXF1ZXN0aW9uICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWN1c3RvbS1mb3JtLXRleHQtcXVlc3Rpb24sICcuY3VzdG9tLXRleHQtcXVlc3Rpb24gdGV4dGFyZWEnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkd2hpdGUtMTAwMCwgJGJsYWNrLTEwMDApO1xuXG4vKiBhcHAtZXhwb3J0LXN1Ym1pc3Npb25zICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV4cG9ydC1zdWJtaXNzaW9ucywgJy5leHBvcnQtc3VibWlzc2lvbnMgLnNlY3Rpb24gLm5hbWUgYScsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5cbi8qIGFwcC1ldmVudC1wdWJsaWNhdGlvbiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1wdWJsaWNhdGlvbiwgJy5wdWJsaWNhdGlvbi1jb250cm9scyAubWF0LWNhcmQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiBhcHAtcHVibGljYXRpb24tZml4ZWQtY29udHJvbCAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1wdWJsaWNhdGlvbi1maXhlZC1jb250cm9sLCAnLmZpeGVkLWNvbnRyb2wgLm1hdC1jYXJkIHRhYmxlJywgYmFja2dyb3VuZC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHVibGljYXRpb24tZml4ZWQtY29udHJvbCwgJy5maXhlZC1jb250cm9sIC5tYXQtY2FyZCB0YWJsZSB0ZCcsIGJvcmRlci1yaWdodC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50LCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXB1YmxpY2F0aW9uLWZpeGVkLWNvbnRyb2wsICcuZml4ZWQtY29udHJvbCAubWF0LWNhcmQgdGFibGUgdGgnLCBib3JkZXItcmlnaHQtY29sb3IsICRjb250ZW50LWJhY2tncm91bmQgIWltcG9ydGFudCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1wdWJsaWNhdGlvbi1maXhlZC1jb250cm9sLCAnLmZpeGVkLWNvbnRyb2wgLm1hdC1jYXJkIHRhYmxlIHRoJywgY29sb3IsICRjb250ZW50LWxpZ2h0Y29sb3IsICRjb250ZW50LWxpZ2h0Y29sb3ItZGFyayk7XG5cbi8qIGFwcC1wcm9jZWVkaW5nLXN0ZXAgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHJvY2VlZGluZy1zdGVwLCAnLmNvbnRlbnQgLmNvbnRlbnQtbGlzdCBoMycsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXByb2NlZWRpbmctc3RlcCwgJy5jb250ZW50IC5ub3QtaW5jbHVkZWQnLCBib3JkZXIsIDFweCBzb2xpZCBibGFjaywgMXB4IHNvbGlkIHdoaXRlKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHJvY2VlZGluZy1zdGVwLCAnLmNvbnRlbnQgLmluY2x1ZGVkJywgYm9yZGVyLCAxcHggc29saWQgYmxhY2ssIDFweCBzb2xpZCB3aGl0ZSk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXByb2NlZWRpbmctc3RlcCwgJy5jb250ZW50IC50cmFjaycsIGJvcmRlciwgMXB4IHNvbGlkIGJsYWNrLCAxcHggc29saWQgd2hpdGUpO1xuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXByb2NlZWRpbmctc3RlcCwgJy50cmFjay1maWxlIC50cmFjayBoMycsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXByb2NlZWRpbmctc3RlcCwgJy5zZWN0aW9uczMgLnNlY3Rpb25zLWxpc3QgaDMnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuXG5cbi8qIGFwcC1wcm9jZWVkaW5nLWluZGV4LWl0ZW0gKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHJvY2VlZGluZy1pbmRleC1pdGVtLCAnLml0ZW0gLm1hdC1leHBhbnNpb24tcGFuZWwnLCBib3gtc2hhZG93LCAnJywgMHB4IDJweCAxMHB4IDFweCBibGFjayk7XG5cbi8qIGFwcC1wcm9jZWVkaW5nLWF1dGhvci1pbmRleC1pdGVtICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXByb2NlZWRpbmctYXV0aG9yLWluZGV4LWl0ZW0sICcuaXRlbSAubWF0LWV4cGFuc2lvbi1wYW5lbCcsIGJveC1zaGFkb3csICcnLCAwcHggMnB4IDEwcHggMXB4IGJsYWNrKTtcblxuLyogYXBwLWNhbGVuZGFyLXZpZXcgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2FsZW5kYXItdmlldywgJy5jb250YWluZXItdmlldy1kYXRlJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2FsZW5kYXItdmlldywgJ213bC1jYWxlbmRhci13ZWVrLXZpZXcnLCBjb2xvciwgJycsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jYWxlbmRhci12aWV3LCAnLmNhbC1kYXktaGVhZGVycycsIGJhY2tncm91bmQtY29sb3IsICcnLCAkY2FsZW5kYXItaGVhZGVyLWJhY2tncm91bmQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNhbGVuZGFyLXZpZXcsICcuY2FsLXdlZWstdmlldywgLmNhbC10aW1lLCAuY2FsLWhvdXItc2VnbWVudCcsIGJhY2tncm91bmQtY29sb3IsICcnLCAkY2FsZW5kYXItYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2FsZW5kYXItdmlldywgJy5jYWwtd2Vlay12aWV3IC5jYWwtZGF5LWhlYWRlcnMgLmNhbC1oZWFkZXI6aG92ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCByZ2JhKDAsMCwwLC4zKSwgcmdiYSgyNTUsMjU1LDI1NSwuMykpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jYWxlbmRhci12aWV3LCAnLmNhbC13ZWVrLXZpZXcgLmNhbC10aW1lLWV2ZW50cyAuY2FsLWRheS1jb2x1bW5zOm5vdCguY2FsLXJlc2l6ZS1hY3RpdmUpIC5jYWwtaG91ci1zZWdtZW50OmhvdmVyICcsIGJhY2tncm91bmQtY29sb3IsIHJnYmEoMCwwLDAsLjMpLCByZ2JhKDI1NSwyNTUsMjU1LC4zKSk7XG5cbi8qIGFwcC1jaGlwLWNoZWNrYm94ICovXG4vLyBSw7N0dWxvL8OtY29uZSBkbyBjaGlwIE7Dg08tbWFyY2FkbyBubyBkYXJrLiBFcmEgIzg2ODY4NiwgcXVlIHNvYnJlIGEgc3VwZXJmw61jaWVcbi8vIHJlYWwgZG8gcGFzc28gZGUgdMOzcGljb3MgKCM0MjQyNDIsIG1lZGlkbykgZMOhIGNvbnRyYXN0ZSBkZSAyLDY6MSDigJQgbXVpdG8gYWJhaXhvXG4vLyBkb3MgNCw1OjEgZGEgV0NBRyBBQSwgZSDDqSBvIHF1ZSBkZWl4YXZhIGEgZ3JhZGUgZGUgdMOzcGljb3MgXCJlc3RyYW5oYVwiL2lsZWfDrXZlbFxuLy8gbm8gZGFyayAoaXNzdWUgIzIzNzEpLiByZ2JhKDI1NSwyNTUsMjU1LC43NSkgY29tcMO1ZSB+I0QwRDBEMCBzb2JyZSBlc3NlIGZ1bmRvXG4vLyAofjY6MSkgZSBjb250aW51YSBSRUNVQURPIGVtIHJlbGHDp8OjbyBhb3MgdMOtdHVsb3MgZGUgY2F0ZWdvcmlhICgjRjZGNkY2KS5cbi8vIEEgZGlzdGluw6fDo28gbWFyY2Fkby9uw6NvLW1hcmNhZG8gdmVtIGRvIHByZWVuY2hpbWVudG8gYWNjZW50LCBuw6NvIGRlIGFwYWdhciBvXG4vLyB0ZXh0byDigJQgcG9yIGlzc28gY2xhcmVhciBhcXVpIG7Do28gY29uZnVuZGUgb3MgZG9pcyBlc3RhZG9zLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGlwLWNoZWNrYm94LCAnLmNoaXAtY2hlY2tib3ggbGFiZWwgZGl2Om5vdCguY2hlY2tlZCknLCBjb2xvciwgJycsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSkpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGlwLWNoZWNrYm94LCAnLmNoaXAtY2hlY2tib3ggbGFiZWwgLm1hdC1pY29uOm5vdCguY2hlY2tlZCknLCBjb2xvciwgJycsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSkpO1xuXG4vKiBhcHAtZGFzaGJvYXJkLXNldHRpbmdzICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1zZXR0aW5ncywgJy5kYXRhc2V0LW1lbnUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtc2V0dGluZ3MsICcuZGF0YXNldC1tZW51IC5tYXQtaWNvbicsIGNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrKTtcblxuLyogYXBwLWNoYXJ0LWNvbXBvbmVudCAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQsICcuY2hhcnQtY29udGFpbmVyJywgYmFja2dyb3VuZC1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hhcnQtY29tcG9uZW50LCAnLmNoYXJ0LWNvbnRhaW5lcicsIGJvcmRlci1jb2xvciwgJG1hdC1jYXJkLWJvcmRlci1jb2xvciwgJG1hdC1jYXJkLWJvcmRlci1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hhcnQtY29tcG9uZW50LCAnLmNoYXJ0LWNvbnRhaW5lciAuY3QtYXhpcy10aXRsZScsIGZpbGwsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hhcnQtY29tcG9uZW50LCAnLmNoYXJ0LWNvbnRhaW5lciAuY3QtbGFiZWwnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQsICcuY2hhcnQtY29udGFpbmVyIC5sZWdlbmQtdGl0bGUnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQsICcuY2hhcnQtY29udGFpbmVyIC5jdC1ncmlkJywgc3Ryb2tlLCAkY2hhcnQtZ3JpZC1jb2xvciwgJGNoYXJ0LWdyaWQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoYXJ0LWNvbXBvbmVudCwgJy5jdC1sZWdlbmQgbGknLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuXG5cbi8qIGFwcC1jaGFydC1jb21wb25lbnQtdjIgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hhcnQtY29tcG9uZW50LXYyLCAnLmNoYXJ0LWNvbnRhaW5lci12MiAuY2hhcnQgdGV4dCcsIGZpbGwsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hhcnQtY29tcG9uZW50LXYyLCAnLmNoYXJ0LWNvbnRhaW5lci12MiAubGVnZW5kLWxhYmVsIC5sZWdlbmQtbGFiZWwtdGV4dCcsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoYXJ0LWNvbXBvbmVudC12MiwgJy5jaGFydC12MicsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoYXJ0LWNvbXBvbmVudC12MiwgJy5jaGFydC1sZWdlbmQnLCBiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc3BhcmVudCAhaW1wb3J0YW50LCB0cmFuc3BhcmVudCAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hhcnQtY29tcG9uZW50LXYyLCAnLmNoYXJ0LWxlZ2VuZCcsIGJhY2tncm91bmQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQtdjIsICcuY2hhcnQtbGVnZW5kIC5sZWdlbmQtbGFiZWxzJywgYmFja2dyb3VuZC1jb2xvciwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoYXJ0LWNvbXBvbmVudC12MiwgJy5jaGFydC1sZWdlbmQgLmxlZ2VuZC1sYWJlbHMnLCBiYWNrZ3JvdW5kLCB0cmFuc3BhcmVudCAhaW1wb3J0YW50LCB0cmFuc3BhcmVudCAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hhcnQtY29tcG9uZW50LXYyLCAnLm5neC1jaGFydHMgLmdyaWQtcGFuZWwgcmVjdCcsIGZpbGwsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQpO1xuXG4vKiBhcHAtbWF0aC1jYXB0Y2hhICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLW1hdGgtY2FwdGNoYSwgJy5jb250YWluZXInLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1tYXRoLWNhcHRjaGEsICcjYnV0dG9uSW5wdXQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtbWF0aC1jYXB0Y2hhLCAnLmNscy0xJywgZmlsbCwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkYWNjZW50LWJhY2tncm91bmQtZGFyayk7XG5cbi8qIGFwcC1wcm9jZWVkaW5nLXN0ZXAgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCAoYXBwLXByb2NlZWRpbmctc3RlcCwgJy5zZWN0aW9ucy1saXN0IC5oeXBlcmxpbmsnLCBjb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkYWNjZW50LWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AgKGFwcC1wcm9jZWVkaW5nLXN0ZXAsICcuc2VjdGlvbnMtbGlzdCAubm8taHlwZXJsaW5rJywgY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yICFpbXBvcnRhbnQsICRzaWRlYmFyLWxhYmVsLWNvbG9yLWRhcmsgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AgKGFwcC1wcm9jZWVkaW5nLXN0ZXAsICcuc2VjdGlvbnMtbGlzdCcsIGJvcmRlci1jb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLWRhcmspO1xuXG4vKiBhcHAtY3VzdG9tLWlucHV0ICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5jdXN0b20taW5wdXQnLCAnJywgYmFja2dyb3VuZC1jb2xvciwkY29udGVudC1iYWNrZ3JvdW5kLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuY3VzdG9tLWlucHV0JywgJycsIGJvcmRlciwgMnB4IHNvbGlkICRldmVudC1jYXJkLWhvdmVyLWJvcmRlci1jb2xvciwgMnB4IHNvbGlkICRldmVudC1jYXJkLWhvdmVyLWJvcmRlci1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLmN1c3RvbS1pbnB1dCcsICcnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuXG4vKiBhcHAtc3VwcG9ydC1idXR0b24gKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VwcG9ydC1idXR0b24sICcuc3VwcG9ydC1idXR0b24nLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdXBwb3J0LWJ1dHRvbiwgJy5zdXBwb3J0LWJ1dHRvbiAubWF0LWljb24nLCBjb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrLCAkY29udGVudC1iYWNrZ3JvdW5kKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VwcG9ydC1idXR0b24sICcuc3VwcG9ydC1jYXJkJywgYmFja2dyb3VuZC1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VwcG9ydC1idXR0b24sICcuc3VwcG9ydC1jYXJkJywgY29sb3IsICRjb250ZW50LWJhY2tncm91bmQtZGFyaywgJGNvbnRlbnQtYmFja2dyb3VuZCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1cHBvcnQtYnV0dG9uLCAnLnN1cHBvcnQtY2FyZCAuY2FyZC10aXRsZScsIGNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmssICRjb250ZW50LWJhY2tncm91bmQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdXBwb3J0LWJ1dHRvbiwgJy5zdXBwb3J0LWNhcmQgLmNhcmQtaGVhZGVyIC5tYXQtaWNvbicsIGNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmssICRjb250ZW50LWJhY2tncm91bmQpO1xuXG4vKiBhcHAtZXZlbnQtc2V0dHRpbmdzLWVtYWlsICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LXNldHRpbmdzLWVtYWlsLCAnLmV2ZW50LWVtYWlsIG1hdC1jYXJkLWNvbnRlbnQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdXBwb3J0LWJ1dHRvbiwgJy5zdXBwb3J0LWNhcmQgLmNhcmQtaGVhZGVyIC5tYXQtaWNvbicsIGNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmssICRjb250ZW50LWJhY2tncm91bmQpO1xuXG4vKiBhcHAtdXNlci1ub3RpZmljYXRpb25zIOKAlCByZWdyYXMgYW50aWdhcyByZW1vdmlkYXMuIE8gcGFpbmVsIGFnb3JhIMOpXG4gICBlc2NvcGFkbyBubyBjb21wb25lbnRlICh1c2VyLW5vdGlmaWNhdGlvbnMuY29tcG9uZW50LnNjc3MpLiBSZWZlcmVuY2lhbVxuICAgZXN0cnV0dXJhIGFudGlnYSAoYC5ub3RpZmljYXRpb25zLWNvbnRhaW5lciAudGFibGUtY29udGFpbmVyIHRhYmxlYCxcbiAgIGAub3B0aW9ucyBtYXQtaWNvbi5idXR0b25gKSBxdWUgbsOjbyBleGlzdGUgbWFpcy4gKi9cbi8qIGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLmNoYXJ0LWNvbnRhaW5lci12MicsIGJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1jaGFydC12MiwgJy5jaGFydC1sZWdlbmQnLCBiYWNrZ3JvdW5kLCB0cmFuc3BhcmVudCAhaW1wb3J0YW50LCB0cmFuc3BhcmVudCAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLmNoYXJ0LWxlZ2VuZCcsIGJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcuY2hhcnQtbGVnZW5kIC5sZWdlbmQtbGFiZWxzJywgYmFja2dyb3VuZCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1jaGFydC12MiwgJy5jaGFydC1sZWdlbmQgLmxlZ2VuZC1sYWJlbHMnLCBiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc3BhcmVudCAhaW1wb3J0YW50LCB0cmFuc3BhcmVudCAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLm5neC1jaGFydHMgLmdyaWQtcGFuZWwgcmVjdCcsIGZpbGwsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcuY2hhcnQtbGVnZW5kIC5sZWdlbmQtbGFiZWwtdGV4dCcsIGNvbG9yLCAkYmxhY2stNzAwLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLmNoYXJ0LWxlZ2VuZCAubGVnZW5kLWxhYmVsIC5hY3RpdmUgLmxlZ2VuZC1sYWJlbC10ZXh0JywgY29sb3IsICRjb250ZW50LWNvbG9yICFpbXBvcnRhbnQsICRjb250ZW50LWNvbG9yLWRhcmsgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1jaGFydC12MiwgJy5jaGFydC1sZWdlbmQgLmxlZ2VuZC1sYWJlbCAuYWN0aXZlIC5sZWdlbmQtbGFiZWwtdGV4dCcsIGZpbGwsICRjb250ZW50LWNvbG9yICFpbXBvcnRhbnQsICRjb250ZW50LWNvbG9yLWRhcmsgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1jaGFydC12MiwgJy5uZ3gtY2hhcnRzIC54LmF4aXMgLmxhYmVsJywgZmlsbCwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcubmd4LWNoYXJ0cyAueS5heGlzIC5sYWJlbCcsIGZpbGwsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLm5neC1jaGFydHMgdGV4dFt0cmFuc2Zvcm09XCJyb3RhdGUoMjcwKVwiXScsIGZpbGwsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLm5neC1jaGFydHMgLmF4aXMtbGFiZWwnLCBmaWxsLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1jaGFydC12MiwgJy5uZ3gtY2hhcnRzIC54LmF4aXMgLnRpY2sgdGV4dCcsIGZpbGwsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLm5neC1jaGFydHMgZ1tuZ3gtY2hhcnRzLWF4aXMtbGFiZWxdIHRleHQnLCBmaWxsLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1jaGFydC12MiwgJy5uZ3gtY2hhcnRzIC55LmF4aXMgLnRpY2sgdGV4dCcsIGZpbGwsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLm5neC1jaGFydHMgLmdyaWRsaW5lLXBhdGgnLCBzdHJva2UsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcblxuLyogYXBwLWFkbWluLWV2ZW50LXZpZXcgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtdmlldywgJy5tYXQtdGFiLWxhYmVsLm1hdC10YWItbGFiZWwtYWN0aXZlID4gKicsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5cbi8qIGFwcC1kYXNoYm9hcmQtc2V0dGluZ3MgKHRhYiBsYWJlbHMpICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1zZXR0aW5ncywgJy5tYXQtdGFiLWxhYmVsLm1hdC10YWItbGFiZWwtYWN0aXZlID4gKicsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5cbi8qIGFwcC11c2VyLW5vdGlmaWNhdGlvbnMgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5ub3RpZmljYXRpb25zLW1lbnUgLm5vdGlmaWNhdGlvbnMtY29udGFpbmVyIC50YWJsZS1jb250YWluZXIgdGFibGUgdHInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm5vdGlmaWNhdGlvbnMtbWVudSAub3B0aW9ucyBtYXQtaWNvbicsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5cbi8qIGFwcC1hc3NpZ24tcmV2aWV3LXN1Z2dlc3Rpb24gKi9cbi8vIEhlYWRlciAobm9tZXMpIHRyYW5zcGFyZW50ZSDigJQgb3MgbGFiZWxzIGRpYWdvbmFpcyAoNDXCsCkgdHJhbnNib3JkYW0gZW50cmVcbi8vIGNvbHVuYXM7IHVtIGZ1bmRvIG9wYWNvIHBvciB0aCBjb3J0YXJpYSBvIGxhYmVsIGRhIGNvbHVuYSB2aXppbmhhLiBDYW50byArXG4vLyBjb2x1bmEgZG8gaWQgZmljYW0gY29tIG8gZnVuZG8gZG8gY2FyZCAob3BhY29zIHAvIGFzIGPDqWx1bGFzIHJvbGFyZW0gcG9yXG4vLyBiYWl4byBxdWFuZG8gYSBjb2x1bmEgZG8gaWQgZmljYSBmaXhhKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYXNzaWduLXJldmlldy1zdWdnZXN0aW9uLCAnLnRhYmxlLXdlaWdodCB0aCcsIGJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudCk7XG4vLyBCYW5kYSBvcGFjYSBkbyBoZWFkZXIgdmFpIG5vIDx0aGVhZD4gKHN0aWNreSksIGF0csOhcyBkb3MgdGggdHJhbnNwYXJlbnRlcy5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYXNzaWduLXJldmlldy1zdWdnZXN0aW9uLCAnLnRhYmxlLXdlaWdodCB0aGVhZCcsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFzc2lnbi1yZXZpZXctc3VnZ2VzdGlvbiwgJy50YWJsZS13ZWlnaHQgdGg6Zmlyc3QtY2hpbGQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hc3NpZ24tcmV2aWV3LXN1Z2dlc3Rpb24sICcudGFibGUtd2VpZ2h0IHRkOmZpcnN0LWNoaWxkJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYXNzaWduLXJldmlldy1zdWdnZXN0aW9uLCAnLnRhYmxlLXdlaWdodCB0ZDpub3QoZmlyc3QtY2hpbGQpJywgYmFja2dyb3VuZC1jb2xvciwgJHRhYmxlLWJhY2tncm91bmQtY29sb3IsICR0YWJsZS1iYWNrZ3JvdW5kLWNvbG9yLWRhcmspO1xuLy8gQm9yZGEgbGVnYWRhIHPDsyBuYSBNQVRSSVogKHRhYmxlLXdlaWdodCkuIEEgdGFibGUtYXNzaWduIG1pZ3JvdSBwLyAuamVtczMtdGFibGVcbi8vIChjaHJvbWUgcHLDs3ByaW8sIHNlbSBib3JkYXMpIOKAlCBuw6NvIHBvZGUgcmVjZWJlciBlc3RhIGJvcmRhLlxuLy8gR3JhZGUgZGEgbWF0cml6OiBubyBkYXJrIGFzIGxpbmhhcyBxdWUgc2VwYXJhbSBhcyBjw6lsdWxhcyBzw6NvIFBSRVRBUyAoYW50ZXNcbi8vICRtYXQtbWVudS1iYWNrZ3JvdW5kLWNvbG9yLWRhcmsgIzM4MzgzOCDigJQgY2luemEpIGEgcGVkaWRvLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hc3NpZ24tcmV2aWV3LXN1Z2dlc3Rpb24sICcudGFibGUtd2VpZ2h0IHRkLHRoJywgYm9yZGVyLCAxcHggc29saWQgJG1hdC1tZW51LWJhY2tncm91bmQtY29sb3IsIDFweCBzb2xpZCBibGFjayk7XG5cbi8qIE1vYmlsZSBsYXlvdXQgKFRQQyBjaGFpciwgdmlld3BvcnQgPCA3NjhweCkg4oCUIHNlZVxuICogYWRtaW4tZXZlbnQtc2lkZWJhci5jb21wb25lbnQue3RzLGh0bWwsc2Nzc30uIFZpZXcgZW5jYXBzdWxhdGlvbiBpc1xuICogRW11bGF0ZWQgb24gdGhpcyBjb21wb25lbnQ7IHRoZSBtb2JpbGUgY2hyb21lIFNDU1MgaXMgY28tbG9jYXRlZCB3aXRoXG4gKiB0aGUgY29tcG9uZW50LCBidXQgdGhlbWUgdG9rZW5zICh3aGljaCB1c2UgbGlnaHQtL2RhcmstdGhlbWUgY2xhc3Nlc1xuICogYXBwbGllZCB0byA8Ym9keT4pIG11c3QgbGl2ZSBoZXJlIGF0IHRoZSBnbG9iYWwgc2NvcGUsIG90aGVyd2lzZSB0aGVcbiAqIGAubGlnaHQtdGhlbWVgIC8gYC5kYXJrLXRoZW1lYCBib2R5IHNlbGVjdG9ycyBkb24ndCBzdXJ2aXZlIEVtdWxhdGVkXG4gKiBlbmNhcHN1bGF0aW9uIGFuZCB0aGUgcnVsZXMgYXJlIHNpbGVudGx5IGRyb3BwZWQuICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLXRvcC1iYXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1vYmlsZS10b3AtYmFyJywgYm9yZGVyLWJvdHRvbS1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQsICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1vYmlsZS10b3AtYmFyLXRpdGxlJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLWJvdHRvbS1uYXYnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1vYmlsZS1ib3R0b20tbmF2JywgYm9yZGVyLXRvcC1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQsICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1vYmlsZS1ib3R0b20tbmF2LWl0ZW0nLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1vYmlsZS1ib3R0b20tbmF2LWl0ZW0uYWN0aXZlJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1vYmlsZS1ib3R0b20tbmF2LWl0ZW0uYWN0aXZlJywgYm9yZGVyLXRvcC1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tb2JpbGUtc2hlZXQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1vYmlsZS1zaGVldC10aXRsZScsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tb2JpbGUtc2hlZXQtc2VjdGlvbi1sYWJlbCcsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLXNoZWV0LWl0ZW0nLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1vYmlsZS1zaGVldC1pdGVtOmhvdmVyJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tb2JpbGUtc2hlZXQtaXRlbS5hY3RpdmUnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLXNoZWV0LWl0ZW0uYWN0aXZlJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrKTtcblxuLyogYXBwLWV2ZW50LXByb2dyYW0gKi9cbi8vIEBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtcHJvZ3JhbSwgJy5wcm9ncmFtLXRvb2xiYXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWRtaW4tYmFja2dyb3VuZCwgJGFkbWluLWJhY2tncm91bmQtZGFyayk7XG4vLyBAaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LXByb2dyYW0sICcucHJvZ3JhbS10b29sYmFyJywgYmFja2dyb3VuZC1jb2xvciwgJGFkbWluLWJhY2tncm91bmQsICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1wcm9ncmFtLCAnLnNlc3Npb24tZ2hvc3QnLCBjb2xvciwgcmdiYSgwLCAwLCAwLCAwLjU1KSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU1KSk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LXByb2dyYW0sICcuc2Vzc2lvbi1naG9zdDpob3ZlcicsIGJvcmRlci1jb2xvciwgcmdiYSgwLCAwLCAwLCAwLjM1KSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KSk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LXByb2dyYW0sICcuc2Vzc2lvbi1naG9zdCcsIGNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuNzUpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpKTtcblxuLy8gTGFzdC13b3JkIG92ZXJyaWRlOiB0aGUgbGVnYWN5IGdsb2JhbFxuLy8gYGJ1dHRvbi5tYXQtbWVudS1pdGVtOmhvdmVyIC5tYXQtaWNvbiB7IGNvbG9yOiAkYWRtaW4tYWNjZW50LWNvbG9yID0gd2hpdGUgfWBcbi8vIHdhcyB0dXJuaW5nIHRoZSBhY3RpdmUgb3B0aW9uJ3MgaWNvbiB3aGl0ZSBvbiBob3ZlciwgbWFraW5nIHRoZVxuLy8gY2VsbCBsb29rIFwiYmxhbmsgd2hpdGVcIiBpbiBsaWdodCBtb2RlLiBQaW4gdGhlIGljb24gdG8gdGhlIGFjdGl2ZVxuLy8gdGV4dCB0b2tlbiBpbnN0ZWFkLiAoVGhlIGNlbGwgYmcgYWxyZWFkeSBzdGF5cyBwdXQgdmlhIHRoZVxuLy8gY2hhaXItVUkgYC5oaWdobGlnaHQtYnV0dG9uIHsgYmFja2dyb3VuZC1jb2xvcjogLi4uICFpbXBvcnRhbnQgfWBcbi8vIHJ1bGUgYWJvdmUg4oCUIHNlbGVjdG9yIG1hdGNoZXMgYm90aCByZXN0IGFuZCBob3Zlciwgbm8gZXh0cmFcbi8vIG92ZXJyaWRlIG5lZWRlZC4pXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoXG4gICcubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAuY29udGFpbmVyLXRoZW1lIGJ1dHRvbi5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b246aG92ZXIgLm1hdC1pY29uLCAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAuY29udGFpbmVyLWxheW91dCBidXR0b24ubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uOmhvdmVyIC5tYXQtaWNvbiwgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLmNvbnRhaW5lci1sYXlvdXQgYnV0dG9uLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbjpob3ZlciAubGF5b3V0LWljb24sIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5jb250YWluZXItbGFuZ3VhZ2UtY29tcGFjdCBidXR0b24ubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uOmhvdmVyIC5tYXQtaWNvbicsXG4gICcnLFxuICBjb2xvcixcbiAgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLFxuICAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFya1xuKTtcblxuLy8gcGVvcGxlLXRhYmxlOiBjb3IgZGUgZnVuZG8gZGFzIGPDqWx1bGFzIGJvZHkuIExpZ2h0OiBncmF5LTIwMCBzb2JyZSBjYW52YXNcbi8vIHdhcm0uIERhcms6IGdyYXkgZXNjdXJvICh+IzMwMkMyOSwgZXF1aXZhbGVudGUgYSB1bSBcIiRncmF5LTgwMFwiIGVudHJlIG9zXG4vLyB0b2tlbnMgZXhpc3RlbnRlcyA3MDAgZSA5MDApLiBFeGNsdWkgMcKqIGNvbCAobnVtYmVyaW5nKSBlIMO6bHRpbWEgKHNlbGVjdCksXG4vLyBxdWUgZmljYW0gdHJhbnNwYXJlbnRlcy5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChcbiAgJy5wZW9wbGUtdGFibGUnLFxuICAndGFibGUuamVtczMtdGFibGUgdGQubWF0LWNlbGw6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOm5vdCg6bGFzdC1vZi10eXBlKScsXG4gIGJhY2tncm91bmQtY29sb3IsXG4gICRncmF5LTIwMCxcbiAgIzMwMkMyOVxuKTtcblxuLy8g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4vLyBDb3JlcyBkb3Mgw61jb25lcyBubyBtZW51IGhhbWJ1cmdlciBkYSBuYXZiYXIgYXV0b3IvcmV2aXNvciAob3ZlcmZsb3cpLlxuLy8gRXNwZWxoYW0gYXMgY29yZXMgZG9zIHNpZGViYXItaXRlbSBpY29ucyAoY2F0ZWdvcmlhIHBvciByb3RhKS5cbi8vIGAhaW1wb3J0YW50YCBwb3JxdWUgYC50cGMtdXNlci1tZW51IC5tYXQtaWNvbmAgKGFwbGljYWRvIGFvIG1lc21vIG1lbnVcbi8vIHZpYSBjbGFzc2Ugbm8gcGFpbmVsKSB0ZW0gYCFpbXBvcnRhbnRgIGUgZ2FuaGFyaWEgc2VtIGlzc28uXG4vLyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbi8vIEVzcGVjaWZpY2lkYWRlOiBwcmVjaXNhbW9zIGNoYWluYXIgYC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51YCArXG4vLyBgLm1hdC1tZW51LWl0ZW1gIHByYSB2ZW5jZXIgYSByZWdyYSBnbG9iYWwgZG8gdHBjLXVzZXItbWVudSAocXVlIHRlbVxuLy8gKDAsNSwwKSArICFpbXBvcnRhbnQpLlxuLmxpZ2h0LXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taSAubWF0LWljb24geyBjb2xvcjogJHNpZGViYXItbGFiZWwtY29sb3IgIWltcG9ydGFudDsgfVxuLmRhcmstdGhlbWUgIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taSAubWF0LWljb24geyBjb2xvcjogJG5hdmJhci1ldmVudHMtaWNvbi1jb2xvci1kYXJrICFpbXBvcnRhbnQ7IH1cblxuLmxpZ2h0LXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tbXktcmV2aWV3cyAubWF0LWljb24geyBjb2xvcjogJG5hdmJhci1teS1yZXZpZXdzLWljb24tY29sb3IgIWltcG9ydGFudDsgfVxuLmRhcmstdGhlbWUgIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tbXktcmV2aWV3cyAubWF0LWljb24geyBjb2xvcjogJG5hdmJhci1teS1yZXZpZXdzLWljb24tY29sb3ItZGFyayAhaW1wb3J0YW50OyB9XG5cbi5saWdodC10aGVtZSAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuYnV0dG9uLXNlc3Npb24tY2hhaXJpbmdzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LXNlc3Npb24tY2hhaXJpbmdzLWljb24tY29sb3IgIWltcG9ydGFudDsgfVxuLmRhcmstdGhlbWUgIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tc2Vzc2lvbi1jaGFpcmluZ3MgLm1hdC1pY29uIHsgY29sb3I6ICRuYXZiYXItbXktc2Vzc2lvbi1jaGFpcmluZ3MtaWNvbi1jb2xvci1kYXJrICFpbXBvcnRhbnQ7IH1cblxuLmxpZ2h0LXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tcHVibGljYXRpb24tY2hhaXJpbmdzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LXB1YmxpY2F0aW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5kYXJrLXRoZW1lICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuYnV0dG9uLXB1YmxpY2F0aW9uLWNoYWlyaW5ncyAubWF0LWljb24geyBjb2xvcjogJG5hdmJhci1teS1wdWJsaWNhdGlvbi1jaGFpcmluZ3MtaWNvbi1jb2xvci1kYXJrICFpbXBvcnRhbnQ7IH1cblxuLmxpZ2h0LXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tdHBjcyAubWF0LWljb24geyBjb2xvcjogJG5hdmJhci1teS10cGNzLWljb24tY29sb3IgIWltcG9ydGFudDsgfVxuLmRhcmstdGhlbWUgIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tdHBjcyAubWF0LWljb24geyBjb2xvcjogJG5hdmJhci1teS10cGNzLWljb24tY29sb3ItZGFyayAhaW1wb3J0YW50OyB9XG5cbi5saWdodC10aGVtZSAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuYnV0dG9uLWNoYWlyaW5ncyAubWF0LWljb24geyBjb2xvcjogJG5hdmJhci1teS1ldmVudHMtaWNvbi1jb2xvciAhaW1wb3J0YW50OyB9XG4uZGFyay10aGVtZSAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1jaGFpcmluZ3MgLm1hdC1pY29uIHsgY29sb3I6ICRuYXZiYXItbXktZXZlbnRzLWljb24tY29sb3ItZGFyayAhaW1wb3J0YW50OyB9XG5cbi8vIE1lbnUgaGFtYnVyZ2VyOiDDrWNvbmVzIGZpbGxlZCAoRklMTCAxKSBwcmEgZGFyIGNvcnBvIHZpc3VhbCArXG4vLyBhbGluaGFtZW50byB2ZXJ0aWNhbCBubyBlaXhvIGRvIHRleHRvIChsaW5lLWhlaWdodCBjYXNhIGNvbSBhIGFsdHVyYVxuLy8gZG8gbWVudS1pdGVtOyBtYXQtbWVudS1pdGVtIHBhZHLDo28gdXNhIGZsZXgrYWxpZ24taXRlbXM6Y2VudGVyLCBtYXNcbi8vIGEgbGluaGEgZG8gw61jb25lIMOgcyB2ZXplcyBkZXNjb2xhIGRvIGJhc2VsaW5lIGRvIHRleHRvIHBvciBjYXVzYSBkYXNcbi8vIG3DqXRyaWNhcyBkYSBmb250ZSBjb20gRklMTCAxKS5cbi8vIFBhaW5lbCBkbyBtZW51IGhhbWJ1cmdlciDigJQgbWVzbW8gYmcgZGEgbmF2YmFyIChgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZGApO1xuLy8gb3MgdG9rZW5zIGrDoSBiYXRlbSBwb3IgcGFkcsOjbyB2aWEgdHBjLXVzZXItbWVudSwgbWFzIGZvcsOnYW1vcyBhcXVpIHByYVxuLy8gbsOjbyBoYXZlciBkcmlmdCBjYXNvIG8gdHBjLXVzZXItbWVudSBtdWRlLiBGaWx0ZXIgKGRyb3Atc2hhZG93KSBkb1xuLy8gdHBjLXVzZXItbWVudSB0aW50YSBhcyBib3JkYXMgZXNjdXJhcyDihpIgYSBwZXJjZXDDp8OjbyBmaWNhIFwiZGlmZXJlbnRlXCJcbi8vIG1lc21vIGNvbSBiZyBpZMOqbnRpY28uIFplcmEgbyBmaWx0ZXIgYXF1aS5cbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51OmhhcygubmF2LW92ZXJmbG93LW1pKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWxpZ2h0ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgLy8gbWluLWhlaWdodCAwIHByYSBvIHBhaW5lbCBuw6NvIHRyYXZhciBlbSA2NHB4IGRvIEFuZ3VsYXIgTWF0ZXJpYWxcbiAgLy8gKGVzc2UgZXJhIG8gY3VscHJpdCBkbyBcImVzcGHDp28gZW1iYWl4b1wiIHF1YW5kbyBzw7MgaMOhIDEgaXRlbSkuXG4gIC8vIHBhZGRpbmcgZG8gcGFpbmVsIHZvbHRhIHBybyByZXNwaXJvIG5vcm1hbC5cbiAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiA4cHggIWltcG9ydGFudDtcbn1cbi8vIFplcmEgcGFkZGluZyBkbyAubWF0LW1lbnUtY29udGVudCDigJQgbyBwYWluZWwgasOhIHRlbSBwYWRkaW5nIHByw7NwcmlvLlxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnU6aGFzKC5uYXYtb3ZlcmZsb3ctbWkpIC5tYXQtbWVudS1jb250ZW50IHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudTpoYXMoLm5hdi1vdmVyZmxvdy1taSkge1xuICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDhweCAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnU6aGFzKC5uYXYtb3ZlcmZsb3ctbWkpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1kYXJrICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gRXNwZWNpZmljaWRhZGU6IHByZWNpc2EgY2hhaW5hciBgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnVgICtcbi8vIGAubWF0LW1lbnUtaXRlbWAgcHJhIHZlbmNlciBhcyByZWdyYXMgMjZweCBkbyB0cGMtdXNlci1tZW51IGdsb2JhbC5cbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taSB7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDM2cHggIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMzZweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwIDEwcHggIWltcG9ydGFudDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cyAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiA2cHggIWltcG9ydGFudDtcbiAgJjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbiAgLy8gVGlwb2dyYWZpYSBpZMOqbnRpY2EgYW8gYC5sYWJlbC1mdWxsYCBkb3Mgc2lkZWJhci1pdGVtcyAoYnV0dG9ucyBkYVxuICAvLyBiYXJyYSk6IDE0cHggLyA1MDAgLyAtMC4wMWVtIC8gY29yICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLlxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW0gIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbSAhaW1wb3J0YW50O1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IgIWltcG9ydGFudDtcblxuICAubWF0LWljb24ge1xuICAgIC8vIE9wYWNpZGFkZSAxIHNlbXByZSDigJQgb3ZlcnJpZGUgZG8gdHBjLXVzZXItbWVudSBkZWZhdWx0IDAuNjUgcXVlXG4gICAgLy8gc8OzIGlhIHByYSAxIG5vIGhvdmVyIChcImVzbWFlY2lkbyBlbSByZXN0XCIpLlxuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ0ZJTEwnIDEsICd3Z2h0JyA0MDAsICdvcHN6JyAyNCAhaW1wb3J0YW50O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuICAvLyBmYS11c2VycyAoamVtczNzKSDigJQgbWVzbW8gdGFtYW5obyBkbyBib3TDo28gZGEgYmFycmEgKDE2cHggZW1cbiAgLy8gc2lkZWJhci1pdGVtLmNvbXBvbmVudC5zY3NzOjkxLTkzKSwgTsODTyBvcyAyMHB4IGRlZmF1bHQuXG4gICYuYnV0dG9uLXRwY3MgLm1hdC1pY29uIHtcbiAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTZweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTZweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5kYXJrLXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taSB7XG4gIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyayAhaW1wb3J0YW50O1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayAhaW1wb3J0YW50O1xufVxuXG4vLyBFc3RhZG8gc2VsZWN0ZWQgZG8gaXRlbSBvdmVyZmxvdyDigJQgTUVTTU8gdHJhdGFtZW50byBkbyBzaWRlYmFyLWl0ZW1cbi8vIHNlbGVjdGVkIG5hIGJhcnJhOiBiZyAjZmZmIChsaWdodCkgLyAjMmUyZTJlIChkYXJrKSArIHVuZGVybGluZSBhY2NlbnRcbi8vIDJweCBwb3IgY2F0ZWdvcmlhIG5vIGJvdHRvbSBkbyBpdGVtLlxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmlzLXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIE1lc21hIHNvbWJyYSBkbyBzaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZCBuYSBiYXJyYS5cbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4zKSAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmlzLXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJlMmUyZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLDAsMCwwLjcpICFpbXBvcnRhbnQ7XG59XG4vLyBMaW5oYSBhY2NlbnQgZG8gaXRlbSBzZWxlY2lvbmFkbyBkbyBtZW51IG92ZXJmbG93IOKAlCBtZXNtYSBzaGFwZSArXG4vLyBncmFkaWVudCB1c2Fkb3MgbmEgdW5kZXJsaW5lIGRhIG5hdi4gYGNsaXAtcGF0aGAgZSBgYmFja2dyb3VuZGBcbi8vIHbDqm0gZGUgQ1NTIGN1c3RvbSBwcm9wZXJ0aWVzIHNldGFkYXMgZW0gYHBhaW50T3ZlcmZsb3dBY2NlbnRgXG4vLyAobmF2YmFyLmNvbXBvbmVudC50cykgdmlhIGBOYXZiYXJDb21wb25lbnQuYnVpbGRBY2NlbnRDbGlwUGF0aC9cbi8vIEdyYWRpZW50YCAoZm9udGUgw7puaWNhKS4gRmFsbGJhY2tzIGdhcmFudGVtIHZpc3VhbCBiw6FzaWNvIGNhc28gb1xuLy8gSlMgbsOjbyB0ZW5oYSByb2RhZG8gKHBhaW50IGFjb250ZWNlIGFww7NzIG1lbnUgYWJyaXIpLlxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmlzLXNlbGVjdGVkOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8vIGBsZWZ0OiA1MCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKWAgY2VudHJhbGl6YSBvIGJveCBkb1xuICAvLyBhY2NlbnQgbm8gSVRFTSBpbnRlaXJvIChib3JkZXItYm94KS4gYGxlZnQvcmlnaHRgIGluc2V0cyBOw4NPXG4gIC8vIHNlcnZlbSBhcXVpOiBvIGNvbnRhaW5pbmcgYmxvY2sgZG8gOjphZnRlciDDqSBvIFBBRERJTkctYm94IGRvXG4gIC8vIG1hdC1tZW51LWl0ZW0gKHBhZGRpbmcgMCAxNnB4KSwgZW50w6NvIGByaWdodDogMnB4YCBjb3J0YXJpYSAzNHB4XG4gIC8vIGFsw6ltIGRvIGluc2V0IGRlc2VqYWRvLCBlIG9zIGFyY29zIGRvIGNsaXAtcGF0aCAoZml4b3MgZW0gcHgpXG4gIC8vIGZpY2FyaWFtIEZPUkEgZG8gYm94IHJlbmRlcml6YWRvLlxuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgd2lkdGg6IHZhcigtLWFjY2VudC13aWR0aCwgY2FsYygxMDAlIC0gMnB4KSk7XG4gIGJvdHRvbTogLTFweDtcbiAgaGVpZ2h0OiAycHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjbGlwLXBhdGg6IHZhcigtLWFjY2VudC1jbGlwLXBhdGgsIHBvbHlnb24oMCAwLCAxMDAlIDAsIGNhbGMoMTAwJSAtIDJweCkgMTAwJSwgMnB4IDEwMCUpKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LWJhY2tncm91bmQsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbn1cbi8vIENvciBhY2NlbnQgZG8gdW5kZXJsaW5lIHBvciBjYXRlZ29yaWEgKGVzcGVsaGEgYXMgcmVncmFzXG4vLyAubGlzdC1pdGVtLmJ1dHRvbi0qLnNlbGVjdGVkOjphZnRlciBkbyBzaWRlYmFyLWl0ZW0pLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1teS1yZXZpZXdzLmlzLXNlbGVjdGVkOjphZnRlcicsICAgIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItbXktcmV2aWV3cy1pY29uLWNvbG9yLCAgICAgICAgICAgJG5hdmJhci1teS1yZXZpZXdzLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuYnV0dG9uLXRwY3MuaXMtc2VsZWN0ZWQ6OmFmdGVyJywgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1teS10cGNzLWljb24tY29sb3IsICAgICAgICAgICAgICAkbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tY2hhaXJpbmdzLmlzLXNlbGVjdGVkOjphZnRlcicsICAgICBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLW15LWV2ZW50cy1pY29uLWNvbG9yLCAgICAgICAgICAgICRuYXZiYXItbXktZXZlbnRzLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuYnV0dG9uLXNlc3Npb24tY2hhaXJpbmdzLmlzLXNlbGVjdGVkOjphZnRlcicsICAgICAgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1teS1zZXNzaW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLCAgICAgICRuYXZiYXItbXktc2Vzc2lvbi1jaGFpcmluZ3MtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tcHVibGljYXRpb24tY2hhaXJpbmdzLmlzLXNlbGVjdGVkOjphZnRlcicsIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3IsICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3ItZGFyayk7XG5cbi8vIG1lbnUtaXRlbSBwcmVjaXNhIHNlciBwb3NpdGlvbjogcmVsYXRpdmUgcHJhIGFuY29yYXIgbyBvdmVybGF5IGRvIGJhZGdlLFxuLy8gZSBvdmVyZmxvdzogdmlzaWJsZSBwcmEgbyBiYWRnZSBcImVzdG91cmFyXCIgZm9yYSBkYSBib3JkYSBzZW0gc2VyIGNsaXBhZG8uXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG4vLyBDb250w6ppbmVyZXMgcGFpIHRhbWLDqW0gbsOjbyBwb2RlbSBjbGlwYXIuXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudTpoYXMoLm5hdi1vdmVyZmxvdy1taSksXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudTpoYXMoLm5hdi1vdmVyZmxvdy1taSkgLm1hdC1tZW51LWNvbnRlbnQge1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuLy8gTGFiZWwgb2N1cGEgZXNwYcOnbyByZXN0YW50ZSAoc2VtIGVzcGHDp28gcmVzZXJ2YWRvIHBybyBiYWRnZSDigJQgcXVlIGFnb3JhXG4vLyDDqSBvdmVybGF5KS5cbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taSAubmF2LW92ZXJmbG93LW1pLWxhYmVsIHtcbiAgZmxleDogMSAxIGF1dG87XG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4vLyBCYWRnZXMgY29tbyBPVkVSTEFZIGFic29sdXRvIG5vIGNhbnRvIHN1cGVyaW9yIGVzcXVlcmRvIOKAlCBtZXNtYSB0w6ljbmljYVxuLy8gZG8gYC5zaWRlYmFyLWl0ZW0tYmFkZ2VzYCBubyBib3TDo28gKHRyYW5zZm9ybSB0cmFuc2xhdGUgcHJhIFwiZXN0b3VyYXJcIlxuLy8gbGV2ZW1lbnRlIHNvYnJlIGEgYm9yZGEpLlxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pIC5uYXYtb3ZlcmZsb3ctbWktYmFkZ2VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICByaWdodDogMCAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg0cHgsIC02cHgpICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBnYXA6IDNweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDE7XG59XG4vLyBCYWRnZSBubyBtZW51IOKAlCBnZW9tZXRyaWEgKyBjb3JlcyBpZMOqbnRpY2FzIMOgcyBkbyBgLnNpZGViYXItaXRlbS1iYWRnZWBcbi8vIGRhIHNpZGViYXIgKGRlZmluaWRvIGVtIHNpZGViYXItaXRlbS5jb21wb25lbnQuc2NzczoxNjUtMTg0KS4gQ29tbyBvXG4vLyBtZW51IMOpIHBvcnRhbGVkIGFvIGJvZHksIGFzIHJlZ3JhcyBzY29wZWQgbsOjbyBhbGNhbsOnYW0g4oCUIHJlcGxpY2Ftb3MuXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkgLm5hdi1vdmVyZmxvdy1taS1iYWRnZSB7XG4gIG1pbi13aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBwYWRkaW5nOiAwIDVweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBmb250LXNpemU6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjMWYxZjFmO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgJi5pcy16ZXJvIHsgZGlzcGxheTogbm9uZTsgfVxuICAmLnN0YXR1cy1jb25maXJtZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZEODYwOyB9XG4gICYuc3RhdHVzLW5vdGlmaWVkICB7IGJhY2tncm91bmQtY29sb3I6ICM5NEMwRkI7IH1cbiAgJi5zdGF0dXMtcGVuZGluZyAgIHsgYmFja2dyb3VuZC1jb2xvcjogI0ZBQjY1QzsgfVxufVxuXG4vLyBIb3ZlciDigJQgc8OzIHNvbWJyYSwgU0VNIG11ZGFuw6dhIGRlIGJhY2tncm91bmQvY29sb3Ivd2VpZ2h0LiBCdW1wIGNvbVxuLy8gYC5saWdodC10aGVtZWAgKyBgOm5vdChbZGlzYWJsZWRdKWAgcHJhIHZlbmNlciBvIGhvdmVyIGRlZmF1bHQgZG9cbi8vIHRwYy11c2VyLW1lbnUgcXVlIHBpbnRhIGJnIGUgbXVkYSBjb2xvciAoc3BlYyAwLDYsMCkuXG4ubGlnaHQtdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pOmhvdmVyOm5vdChbZGlzYWJsZWRdKSB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMykgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taTpob3Zlcjpub3QoW2Rpc2FibGVkXSkge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjcpICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbn1cbi8vIE92ZXJyaWRlIGRvIGhvdmVyIGRlZmF1bHQgZG8gdHBjLXVzZXItbWVudSBubyDDrWNvbmUg4oCUIG1hbnTDqW0gRklMTCAxXG4vLyBlIG9wYWNpdHkgMSAoasOhIGVyYW0gYXNzaW0gbm8gcmVzdDsgc2VtIGVzdGEgcmVncmEsIG8gaG92ZXIgcmV2ZXJ0ZVxuLy8gcHJhIHdnaHQgNDAwIHNlbSBGSUxMIGUgYSB0cmFuc2nDp8OjbyBmaWNhIHZpc8OtdmVsKS5cbi5saWdodC10aGVtZSAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWk6aG92ZXI6bm90KFtkaXNhYmxlZF0pIC5tYXQtaWNvbixcbi5kYXJrLXRoZW1lICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWk6aG92ZXI6bm90KFtkaXNhYmxlZF0pIC5tYXQtaWNvbiB7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdGSUxMJyAxLCAnd2dodCcgNDAwLCAnb3BzeicgMjQgIWltcG9ydGFudDtcbn1cbi8vIEFjdGl2ZSAocHJlc3MpIOKAlCBzb21icmEgZW5jb2xoZSwgbWVzbWEgZmFtw61saWEuXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWk6YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMXB4IDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjMpICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWk6YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMXB4IDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjcpICFpbXBvcnRhbnQ7XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gWi1pbmRleCBoaWVyYXJjaHlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gU2luZ2xlIHNvdXJjZSBvZiB0cnV0aCBmb3IgdGhlIGNoYWlyIFVJJ3MgbGF5ZXJlZCB2aXN1YWwgaGllcmFyY2h5LlxuLy8gTGF5ZXJzIGZyb20gaGlnaGVzdCAoZnJvbnRtb3N0KSB0byBsb3dlc3Q6XG4vL1xuLy8gICAxLiBUb29sdGlwcyAgICAgICAgICAgICAgICAgICAgICAg4oCUIENESyBvdmVybGF5IChNYXRlcmlhbCBkZWZhdWx0KVxuLy8gICAyLiBNZW51cyAodXNlciwgbm90aWZpY2F0aW9ucywgICAg4oCUIENESyBvdmVybGF5IChNYXRlcmlhbCBkZWZhdWx0KVxuLy8gICAgICBzdWItZXZlbnRzKVxuLy8gICAzLiBCcmVhZGNydW1iICAgICAgICAgICAgICAgICAgICAg4oCUIGAkei1icmVhZGNydW1iYFxuLy8gICA0LiBGbHlvdXQgKE1vZGVybiBjb2xsYXBzZWQgICAgICAg4oCUIENESyBvdmVybGF5IChNYXRlcmlhbCBkZWZhdWx0KVxuLy8gICAgICBzaWRlYmFyJ3MgbGV2ZWwtMiBwb3BvdmVyKVxuLy8gICA1LiBSZXNpemUgaGFuZGxlcyAoc3VibWVudSAgICAgICAg4oCUIGAkei1yZXNpemUtaGFuZGxlYFxuLy8gICAgICArIE1vZGVybiBzaWRlYmFyKVxuLy8gICA2LiBUb29sYmFyIChhY3Rpdml0eS1iYXIpICAgICAgICAg4oCUIGAkei10b29sYmFyYFxuLy8gICA3LiBTdWJtZW51IChtYXQtc2lkZW5hdikgICAgICAgICAg4oCUIGAkei1zaWRlYmFyYFxuLy8gICAgICBBTkQgTW9kZXJuIHNpZGViYXJcbi8vICAgOC4gQ2FudmFzICAgICAgICAgICAgICAgICAgICAgICAgIOKAlCBgJHotY2FudmFzYCAoYXV0bylcbi8vXG4vLyBJdGVtcyAxLCAyLCBhbmQgNCBhcmUgQ0RLIG92ZXJsYXlzIGFuZCBzaGFyZSBhIHNpbmdsZVxuLy8gYC5jZGstb3ZlcmxheS1jb250YWluZXJgIHN0YWNraW5nIGNvbnRleHQgdGhhdCBNYXRlcmlhbCBwYWludHMgYWJvdmVcbi8vIGV2ZXJ5dGhpbmcgZWxzZSBpbiB0aGUgYXBwLiBPcmRlciBhbW9uZyB0aGVtIGlzIGRldGVybWluZWQgYnkgQ0RLIGF0XG4vLyBydW50aW1lIChtb3N0LXJlY2VudGx5LW9wZW5lZCB3aW5zKS4gVGhlIGhpZXJhcmNoeSBwb3NpdGlvbnMgZm9yXG4vLyBpdGVtcyAxLCAyLCA0IGFyZSB0aGVyZWZvcmUgY29uY2VwdHVhbCDigJQgcHJhY3RpY2FsIHN0YWNraW5nIGFtb25nXG4vLyB0aGVtIGlzIE1hdGVyaWFsJ3MgZGVmYXVsdCBhbmQgcmFyZWx5IGEgdmlzaWJsZSBpc3N1ZS5cbi8vXG4vLyBBbnl0aGluZyBub3QgbGlzdGVkIGhlcmUgdXNlcyBgei1pbmRleDogYXV0b2AgKD0gMCBpbiBpdHMgc3RhY2tpbmdcbi8vIGNvbnRleHQpIGFuZCBsaXZlcyBiZWxvdyBgJHotdG9vbGJhcmAgYnkgZGVmYXVsdC5cbi8vXG4vLyBUdW5pbmcgcnVsZTogd2hlbiBhZGp1c3RpbmcgYW55IHRva2VuIGJlbG93LCBsZWF2ZSBhIGNvbWZvcnRhYmxlIGdhcFxuLy8gKOKJpTEwKSB0byBpdHMgbmVpZ2hib3VyIGFib3ZlL2JlbG93IHNvIGZ1dHVyZSBhZGRpdGlvbnMgY2FuIHNsb3QgaW5cbi8vIHdpdGhvdXQgcmVudW1iZXJpbmcgdGhlIHdob2xlIHN0YWNrLlxuXG4kei1jYW52YXM6ICAgICAgICAgIGF1dG8gIWRlZmF1bHQ7XG4kei1kYXNoYm9hcmQtcGFuZWw6IDUgICAgIWRlZmF1bHQ7ICAvLyBwYWluZWwgZGUgY29tcG9uZW50ZXMgZG8gRGFzaGJvYXJkIChtb2RvIGVkacOnw6NvKTogQUNJTUEgZGEgcMOhZ2luYS9jYW52YXMgKGF1dG8vMCksIHBvcsOpbSBBQkFJWE8gZG8gYnJlYWRjcnVtYiBkbyBjaGFpciBhcmVhIChxdWUgdXNhIGB6LWluZGV4OiAxMGAgbGl0ZXJhbCwgTsODTyBvICR6LWJyZWFkY3J1bWI6OTAwIGFiYWl4bykgZSBkbyByZXN0byBkbyBjaHJvbWUgKHNpZGViYXIgMzAgLyBuYXZiYXIgMzEgLyB0b29sYmFyIDQwKSDigJQgYXNzaW0gYSBiYXJyYSBzdXBlcmlvciwgYW8gcmVzc3VyZ2lyIChleC46IHNhw61kYSBkbyBtb2RvIGFtcGxvKSwgZmljYSBOQSBGUkVOVEUgZG8gcGFpbmVsLlxuJHotc2lkZWJhcjogICAgICAgICAzMCAgICFkZWZhdWx0OyAgLy8gc3VibWVudSAobWF0LXNpZGVuYXYpIEFORCBNb2Rlcm4gZXhwZXJpbWVudGFsLXNpZGViYXJcbiR6LXRvb2xiYXI6ICAgICAgIDQwICAgIWRlZmF1bHQ7ICAvLyBoaXN0b3JpY2FsbHkgYCRuYXZiYXItei1pbmRleCArIDJgXG4kei1yZXNpemUtaGFuZGxlOiA4MDAgICFkZWZhdWx0O1xuJHotYnJlYWRjcnVtYjogICAgOTAwICAhZGVmYXVsdDsgIC8vIGJlbG93IENESyBvdmVybGF5J3MgMTAwMCBzbyBtZW51cyBwYWludCBhYm92ZVxuXG4vLyBhcHAtcG9wb3ZlciBwYW5lbCAocG9ydGFkbyBwcm8gPGJvZHk+KSBwcmVjaXNhIGVzdGFyIEFDSU1BIGRhIGNocm9tZVxuLy8gKHNpZGViYXIgMzAgLyB0b29sYmFyIDQwIC8gYnJlYWRjcnVtYiA5MDApIGUgQUJBSVhPIGRvcyB0b29sdGlwcyBkb1xuLy8gQ0RLIG92ZXJsYXkuIFRvb2x0aXBzIChjZGstb3ZlcmxheS1jb250YWluZXIpIGdhbmhhbSB6LWluZGV4IDEyMDAgcHJhXG4vLyByZW5kZXJpemFyIEFDSU1BIGRvIHBvcG92ZXIgKGNmLiAuY2RrLW92ZXJsYXktY29udGFpbmVyIG92ZXJyaWRlKS5cbiR6LXBvcG92ZXI6ICAgICAgIDExMDAgIWRlZmF1bHQ7XG4kei1jZGstb3ZlcmxheTogICAxMjAwICFkZWZhdWx0OyAgLy8gdG9vbHRpcCA+IHBvcG92ZXIgPiBicmVhZGNydW1iXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEExMXkgdXRpbGl0aWVzIOKAlCBnbG9iYWwgaGVscGVycyB1c2VkIHRocm91Z2hvdXQgSkVNUzNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRG9jdW1lbnRlZCBpbiBkb2NzL0dVSUFfSkVNUzMubWQgwqcyMCAoQWNlc3NpYmlsaWRhZGUg4oCUIMOhcmVhIGF1dG9yL3Jldmlzb3IpLlxuXG4vLyBWaXN1YWxseSBoaWRkZW4gYnV0IGF2YWlsYWJsZSB0byBhc3Npc3RpdmUgdGVjaCAoc2NyZWVuIHJlYWRlcnMpLlxuLy8gVXNlIGZvciBoZWFkaW5ncywgbGFiZWxzIGFuZCBhbm5vdW5jZW1lbnRzIHRoYXQgbXVzdCBleGlzdCBpbiB0aGVcbi8vIGFjY2Vzc2liaWxpdHkgdHJlZSBidXQgc2hvdWxkIG5vdCBhZmZlY3QgdGhlIHZpc3VhbCBsYXlvdXQuXG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBTa2lwIGxpbmsg4oCUIHZpc2libGUgb25seSB3aGVuIGZvY3VzZWQgKFRhYiBrZXkpLiBVc2VkIHRvIGJ5cGFzc1xuLy8gcmVwZXRpdGl2ZSBuYXZpZ2F0aW9uIGJsb2NrcyAoZS5nLiBzaWRlYmFyKSBhbmQganVtcCB0byA8bWFpbj4uXG4uc2tpcC1saW5rIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xMDBweDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1hY2NlbnQsICM3QzJEMTIpO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogOHB4IDE0cHg7XG4gIHotaW5kZXg6IDEwMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgJjpmb2N1cyxcbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICB0b3A6IDhweDtcbiAgICBsZWZ0OiA4cHg7XG4gIH1cbn1cblxuLy8gRm9jdXMgcmluZyDigJQgdmlzaWJsZSBmb2N1cyBpbmRpY2F0b3IgZm9yIGtleWJvYXJkIG5hdmlnYXRpb24uXG4vLyBBcHBseSB2aWEgYEBpbmNsdWRlIGZvY3VzLXJpbmc7YCBpbnNpZGUgYW55IGA6Zm9jdXMtdmlzaWJsZWAgc2VsZWN0b3IuXG5AbWl4aW4gZm9jdXMtcmluZygkY29sb3I6IHZhcigtLWMtYWNjZW50LCAjN0MyRDEyKSwgJG9mZnNldDogMnB4KSB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCAkY29sb3I7XG4gIG91dGxpbmUtb2Zmc2V0OiAkb2Zmc2V0O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi8vIENhcmQgbGlzdCDigJQgYDx1bCByb2xlPVwibGlzdFwiPmAgd3JhcHBlciBwYXJhIGxpc3RhcyBzZW3Dom50aWNhcyBkZVxuLy8gY2FyZHMuIFplcmEgbyBsaXN0LXN0eWxlIGUgcGFkZGluZyBkZWZhdWx0IGRvIGA8dWw+YCBtYW50ZW5kbyBhXG4vLyBzZW3Dom50aWNhIGRlIGxpc3RhIG5vIEFUIChXQ0FHIDEuMy4xKS4gVXNhciBjb20gYDxsaT5gIHBvciBjYXJkLlxuLy8gTyBgcm9sZT1cImxpc3RcImAgw6kgUkVEVU5EQU5URSBwcm9ncmFtYXRpY2FtZW50ZSBtYXMgbmVjZXNzw6FyaW8gcG9ycXVlXG4vLyBTYWZhcmkvV2ViS2l0IHJlbW92ZW0gYSByb2xlIGltcGzDrWNpdGEgcXVhbmRvIGFwbGljYW1vc1xuLy8gYGxpc3Qtc3R5bGU6bm9uZWAg4oCUIGJ1ZyBoaXN0w7NyaWNvLCB2aWRlXG4vLyBodHRwczovL3d3dy5zY290dG9oYXJhLm1lL2Jsb2cvMjAxOS8wMS8xMi9saXN0cy1hbmQtc2FmYXJpLmh0bWxcbi5jYXJkcy1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuXG4iLCIvLyDilIDilIDilIAgSkVNUzMgcGFnZSB2aWV3IG1vZGVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gUmVncmFzIGdsb2JhaXMgYXRpdmFkYXMgcGVsbyBib2R5IGNsYXNzIHNldGFkbyBlbVxuLy8gYHNyYy9hcHAvc2VydmljZS92aWV3LW1vZGUuc2VydmljZS50c2AgcXVhbmRvIG8gVVJMIHRyYXogYD92aWV3TW9kZT0uLi5gLlxuLy8gTW9kb3MgZGVmaW5pZG9zIGVtIGBzcmMvYXBwL3V0aWxzL3BhZ2Utdmlldy1tb2RlLnRzYC5cbi8vXG4vLyAgIOKAoiB2aWV3LW1vZGUtZnVsbCAg4oaSIG8gYGFkbWluLWV2ZW50LXNpZGViYXJgIGJyYW5jaCBqw6EgY3VpZGEgZG8gQ0hST01FXG4vLyAgICAgICAgICAgICAgICAgICAgICAgSU5URVJOTzogZW0gbW9kbyBGdWxsIGVsZSByZW5kZXJpemEgc8OzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgYDxyb3V0ZXItb3V0bGV0PmAsIHNlbSBgLnNpZGViYXJgIC9cbi8vICAgICAgICAgICAgICAgICAgICAgICBgbWF0LXNpZGVuYXYtY29udGFpbmVyYCAvIGV0Yy4gQSBww6FnaW5hIGRhIHJvdGFcbi8vICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJpemEgZGlyZXRvIG5vIGhvc3QsIFpFUk8gaGVyYW7Dp2EgZGUgZ2VvbWV0cmlhLlxuLy8gICAgICAgICAgICAgICAgICAgICAgIEFxdWkgc8OzIG9jdWx0YW1vcyBvIHF1ZSB2aXZlIEZPUkEgZG9cbi8vICAgICAgICAgICAgICAgICAgICAgICBhZG1pbi1ldmVudC1zaWRlYmFyIChgYXBwLWZpeGVkLXRvcC1wcm9ncmVzcy1iYXJgKS5cbi8vXG4vLyAgIOKAoiB2aWV3LW1vZGUtYW1wbG8g4oaSIChwbGFjZWhvbGRlcjsgYWluZGEgbsOjbyBpbXBsZW1lbnRhZG8pLlxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb2xvcnMnO1xuXG5ib2R5LnZpZXctbW9kZS1mdWxsIHtcbiAgLy8gYGFwcC1maXhlZC10b3AtcHJvZ3Jlc3MtYmFyYCB2aXZlIGVtIGBldmVudC1hZG1pbi5jb21wb25lbnQuaHRtbGAgKGFjaW1hXG4gIC8vIGRvIGBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhcmApIGUgw6kgcmVmZXJlbmNpYWRvIHZpYSBAVmlld0NoaWxkIGNvbVxuICAvLyBzdGF0aWM6dHJ1ZSBwZWxvIEFkbWluU2VydmljZSDigJQgbsOjbyBkw6EgcHJhICpuZ0lmJ2FyLiBFbSBtb2RvIEZ1bGxcbiAgLy8gb2N1bHRhbW9zIHZpYSBDU1M7IGluc3TDom5jaWEgc2VndWUgdml2YSBwcmEgbsOjbyBxdWVicmFyIHJlZnMuXG4gIGFwcC1maXhlZC10b3AtcHJvZ3Jlc3MtYmFyIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgLy8gU2VtIGNocm9tZSBhZG1pbiwgbyBCT0RZIMOpIG8gZnVuZG8gZnVsbC1ibGVlZCBkYSBww6FnaW5hLiBTZW0gaXN0byBlbGUgZmljYVxuICAvLyBCUkFOQ08gZSwgY29tbyBvIGAudmlldy1tb2RlLWZ1bGwtc2hlbGxgIHRlbSBwYWRkaW5nIGxhdGVyYWwsIHNvYnJhdmFtIGR1YXNcbiAgLy8gXCJiYXJyYXMgYnJhbmNhc1wiIG5hcyBsYXRlcmFpcyAoYm9keSBicmFuY28gZm9yYSBkbyBjaW56YSBkbyBwYXBlci1pbmZvKS5cbiAgLy8gUGludGEgY29tIG8gTUVTTU8gY2luemEgZGEgcMOhZ2luYSBkbyBwYXBlci1pbmZvICgkZ3JheS0xNTApIOKGkiBmdWxsLWJsZWVkXG4gIC8vIGNpbnphIGNvbnTDrW51byBjb20gYSBmb2xoYSBicmFuY2EgY2VudHJhZGEuIERhcmsgZXNwZWxoYSBvIHByZXRvLlxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xNTA7XG5cbiAgJi5kYXJrLXRoZW1lIHsgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyazsgfVxufVxuXG4vLyBTaGVsbCBkbyBtb2RvIEZ1bGwgKHJlbmRlcml6YWRvIGRlbnRybyBkZSBgYWRtaW4tZXZlbnQtc2lkZWJhci5odG1sYFxuLy8gcXVhbmRvIGB2aWV3TW9kZS5pc0Z1bGxgKTogcHJvdsOqIEFQRU5BUyBvIHBhZGRpbmcgbGF0ZXJhbCBxdWUgYSBww6FnaW5hXG4vLyByZWNlYmVyaWEgbmF0dXJhbG1lbnRlIHZpYSBgLm1hdC1zaWRlbmF2LWNvbnRlbnRgIG5vIGNocm9tZSBhZG1pbi5cbi8vIFNlbSBwYWRkaW5nIHRvcC9ib3R0b20g4oCUIHZlcnRpY2FsIGVkZ2UtdG8tZWRnZS5cbi52aWV3LW1vZGUtZnVsbC1zaGVsbCB7XG4gIHBhZGRpbmctbGVmdDogJGxhdGVyYWwtcGFkZGluZy1jb250ZW50LWRlc2t0b3AtbWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRsYXRlcmFsLXBhZGRpbmctY29udGVudC1kZXNrdG9wLW1kO1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIHBhZGRpbmctbGVmdDogJGxhdGVyYWwtcGFkZGluZy1jb250ZW50LWRlc2t0b3Atc207XG4gICAgcGFkZGluZy1yaWdodDogJGxhdGVyYWwtcGFkZGluZy1jb250ZW50LWRlc2t0b3Atc207XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbi8vIEpFTVMzIGNoYWlyIFVJIGNoZWNrYm94IOKAlCBzcXVhcmUgbWVtYmVyIG9mIHRoZSBiaW5hcnktY29udHJvbCBmYW1pbHkuXG4vLyBPdXRsaW5lZC1vZmYgLyBmaWxsZWQtb24gY29tIG1lc21hIEROQSBkbyBzbGlkZS10b2dnbGUgKHBpbGwpIGUgcmFkaW8gKGPDrXJjdWxvKTpcbi8vXG4vLyAgIC0gRnJhbWU6ICAgICAgICAgMTZweCBzcXVhcmUsIDRweCByYWRpdXMsIDEuNXB4IGJvcmRlciAodGhlbWUtYXdhcmUpXG4vLyAgIC0gT2ZmIGJnOiAgICAgICAgd2FybSBiZWlnZSB0aW50IChsaWdodCkgLyB0cmFuc3BhcmVudCAoZGFyaylcbi8vICAgLSBPbiBiZzogICAgICAgICBzb2xpZCBgIzRhNDYzZmAgKGxpZ2h0KSAvIHRyYW5zcGFyZW50IChkYXJrKVxuLy8gICAtIENoZWNrbWFyazogICAgIFNWRyBzdHJva2Ugb2ZmLXdoaXRlIGNyb3NzLXRoZW1lIChwb3AgZW0gYW1ib3Mgb3MgdGVtYXNcbi8vICAgICAgICAgICAgICAgICAgICDigJQgdmlzw612ZWwgdGFudG8gbm8gZmlsbCBgIzRhNDYzZmAgZW0gbGlnaHQgcXVhbnRvIG5vXG4vLyAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgY29udHJhIGNhbnZhcyBkYXJrKVxuLy9cbi8vIENvcmVzIHRoZW1lLWF3YXJlIGVtIF9jb2xvci1zY2hlbWUuc2NzczsgZ2VvbWV0cmlhICsgdHJhbnNpw6fDtWVzIGFxdWkuXG5cbi8vIEtpbGwgcmlwcGxlIOKAlCBjaGFpciBVSSBkb2Vzbid0IHVzZSByaXBwbGUgZmVlZGJhY2suXG4ubWF0LWNoZWNrYm94LXJpcHBsZSAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gS2lsbCB0aGUgY2hlY2ttYXJrIGRyYXcgYW5pbWF0aW9uIOKAlCBzdGF5cyBzbmFwIChOb3Rpb24vTGluZWFyLXN0eWxlKS5cbi8vIFN0YXRlIHRyYW5zaXRpb25zIChiZy9ib3JkZXIpIERPIGFuaW1hdGUgdmlhIHRoZSBydWxlcyBiZWxvdy5cbi5tYXQtY2hlY2tib3gtY2hlY2ttYXJrLXBhdGgge1xuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubWF0LWNoZWNrYm94IHtcbiAgLy8gTWF0ZXJpYWwgZGVmYXVsdCB0ZW0gYC5tYXQtY2hlY2tib3gtbGF5b3V0IHsgYWxpZ24taXRlbXM6IGJhc2VsaW5lIH1gIOKAlFxuICAvLyBhIGJveCAoMTZweCkgYWxpbmhhIHBlbG8gYmFzZWxpbmUgZG8gdGV4dG8gZSBlc3RlbmRlIH4zcHggYWNpbWEgZG8gdG9wIGRhXG4gIC8vIHRleHQtbGluZSwgc29tYW5kbyAycHggZGUgYWx0dXJhIHBvciByb3cgdnMgbyBgYWxpZ24taXRlbXM6IGNlbnRlcmAgZG9cbiAgLy8gcmFkaW8gZSBkbyB0b2dnbGUuIE92ZXJyaWRlIHBhcmEgY2VudGVyIGFsaW5oYSBhIGZhbcOtbGlhIHZpc3VhbG1lbnRlLlxuICAvLyBTcGVjaWZpY2l0eSAwLDIsMCAodnMgTWF0ZXJpYWwgMCwxLDApIOKAlCBzZW0gYCFpbXBvcnRhbnRgLlxuICAubWF0LWNoZWNrYm94LWxheW91dCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIDE2cHggYm94IChzZWNvbmRhcnkgaWNvbiBzY2FsZSwgbWVzbWEgZmFtw61saWEpLiA4cHggZ2FwIGJlZm9yZSBsYWJlbC5cbiAgLm1hdC1jaGVja2JveC1pbm5lci1jb250YWluZXIge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgfVxuXG4gIC8vIDRweCByYWRpdXMgb24gYm90aCBmcmFtZSAodW5jaGVja2VkKSBhbmQgYmFja2dyb3VuZCAoY2hlY2tlZCBmaWxsKS5cbiAgLy8gU2xpZ2h0IHJvdW5kaW5nIGdpdmVzIGEgTm90aW9uL0xpbmVhciBmZWVsIHdpdGhvdXQgZ29pbmcgY2lyY3VsYXIuXG4gIC5tYXQtY2hlY2tib3gtZnJhbWUge1xuICAgIGJvcmRlci13aWR0aDogMS41cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTUwbXMgJGVhc2Utb3V0LCBib3JkZXItY29sb3IgMTUwbXMgJGVhc2Utb3V0O1xuICB9XG5cbiAgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyAkZWFzZS1vdXQ7XG4gIH1cblxuICAvLyBTaHJpbmsgdGhlIGNoZWNrbWFyayBnbHlwaCBwYXJhIHJlZmluZW1lbnQgc2VtIHBlcmRlciBwcmVzZW7Dp2EuIE1hdGVyaWFsXG4gIC8vIGRlZmF1bHQgcmVuZGlhIH4xMHB4ICg2MiUgZG8gYm94KTsgMC44IHJlZHV6IHBhcmEgfjhweCA9IG1haXMgbGV2ZSBxdWUgb1xuICAvLyBkZWZhdWx0LCBtYXMgbWFudMOpbSBwZXNvIGRlIGxlaXR1cmEgaW1lZGlhdGEuXG4gIC5tYXQtY2hlY2tib3gtY2hlY2ttYXJrIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB9XG59XG5cbi8vIEZvY3VzIChrZXlib2FyZCkg4oCUIG91dGxpbmUgb2Zmc2V0IGlndWFsIGFvcyBvdXRyb3MgY29udHJvbGVzLiBDb2xvciB0aGVtZS1hd2FyZS5cbi5tYXQtY2hlY2tib3guY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1jaGVja2JveC1mcmFtZSB7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi8vIERpc2FibGVkIOKAlCBvcGFjaXR5ICsgY3Vyc29yIChwYXJhbGVsbyBhbyBzbGlkZS10b2dnbGUgZSByYWRpbykuXG4ubWF0LWNoZWNrYm94Lm1hdC1jaGVja2JveC1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbiIsIkBpbXBvcnQgJy4uL2NvbG9ycyc7XG5AaW1wb3J0ICcuLi92YXJpYWJsZXMnO1xuXG4vLyDilIDilIDilIAgLmplbXMzLW5hdGl2ZS1jaGVja2JveCDigJQgY2hlY2tib3ggTkFUSVZPIGVzdGlsaXphZG8gZG8gSkVNUzMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBBbHRlcm5hdGl2YSBsaWdodC13ZWlnaHQgYW8gPG1hdC1jaGVja2JveD4gcGFyYSB0ZWxhcyBjb20gbXVpdGFzIGluc3TDom5jaWFzXG4vLyAobWF0cml6ZXMsIGNoZWNrbGlzdHMsIGxpc3RhcyBsb25nYXMpLiBTZW0gcmlwcGxlLCBzZW0gaW5zdGFuY2lhbWVudG8gZG9cbi8vIE1hdGVyaWFsIOKAlCBzw7MgSFRNTCBuYXRpdm8gKyBDU1MuIFN1cG9ydGEgb3MgMyBlc3RhZG9zIChvZmYgLyBvbiAvIGluZGV0ZXItXG4vLyBtaW5hdGUpLiBQcm9tb3ZpZG8gcGFyYSBnbG9iYWwgcHJhIHNlciByZXV0aWxpesOhdmVsIGVtIHF1YWxxdWVyIHDDoWdpbmEuXG4vL1xuLy8gVXNvOlxuLy8gICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgY2xhc3M9XCJqZW1zMy1uYXRpdmUtY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCI+XG4vL1xuLy8gSW5kZXRlcm1pbmF0ZSDDqSBzZXRhZG8gdmlhIEpTIChBbmd1bGFyIEBWaWV3Q2hpbGQgLyBzZXR0ZXIpLCBpZ3VhbCBhb1xuLy8gbWF0LWNoZWNrYm94LiBFeGVtcGxvOiBgY2hlY2tib3hSZWYuaW5kZXRlcm1pbmF0ZSA9IGlzUGFydGlhbGx5Q2hlY2tlZDtgXG4vL1xuLy8gVGVtYTogbGlnaHQgPSBmaWxsIGFjY2VudCAob3JhbmdlLTkwMCkgKyBjaGVjayBvZmYtd2hpdGUuIERhcmsgPSBmaWxsXG4vLyBncmF5LTMwMCArIGNoZWNrIG5lYXItYmxhY2suIE92ZXJyaWRlIGVtIGAuZGFyay10aGVtZWAgbm8gZmltIGRvIGFycXVpdm8uXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLmplbXMzLW5hdGl2ZS1jaGVja2JveCB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBtYXJnaW46IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMS41cHggc29saWQgJGdyYXktNDUwO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTUwbXMgJGVhc2Utb3V0LCBib3JkZXItY29sb3IgMTUwbXMgJGVhc2Utb3V0O1xuXG4gICY6Y2hlY2tlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nbm9uZSclM0UlM0NwYXRoIGQ9J00zIDggTDcgMTIgTDEzIDQnIHN0cm9rZT0nJTIzZjlmOGY3JyBzdHJva2Utd2lkdGg9JzIuMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICB9XG5cbiAgJjppbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggZD0nTTQgOCBMMTIgOCcgc3Ryb2tlPSclMjNmOWY4ZjcnIHN0cm9rZS13aWR0aD0nMi4yJyBzdHJva2UtbGluZWNhcD0ncm91bmQnLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBib3JkZXItY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgIzA2NGFkOTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICB9XG59XG5cbi8vIERhcmsgdGhlbWUg4oCUIGZpbGwgY2xhcm8gY29tIGNoZWNrIGVzY3VybyBwcmEgY29udHJhc3RlLlxuLmRhcmstdGhlbWUgLmplbXMzLW5hdGl2ZS1jaGVja2JveCB7XG4gIGJvcmRlci1jb2xvcjogJGdyYXktNDAwO1xuXG4gICY6Y2hlY2tlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMzAwO1xuICAgIGJvcmRlci1jb2xvcjogJGdyYXktMzAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nbm9uZSclM0UlM0NwYXRoIGQ9J00zIDggTDcgMTIgTDEzIDQnIHN0cm9rZT0nJTIzMjAyMDIwJyBzdHJva2Utd2lkdGg9JzIuMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICB9XG5cbiAgJjppbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0zMDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggZD0nTTQgOCBMMTIgOCcgc3Ryb2tlPSclMjMyMDIwMjAnIHN0cm9rZS13aWR0aD0nMi4yJyBzdHJva2UtbGluZWNhcD0ncm91bmQnLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBib3JkZXItY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrO1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lLWNvbG9yOiAjMDA4MGZmO1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi9jb2xvcnMnO1xuQGltcG9ydCAnLi4vdmFyaWFibGVzJztcblxuLy8g4pSA4pSA4pSAIC5qZW1zMy1uYXRpdmUtcmFkaW8g4oCUIHJhZGlvLWJ1dHRvbiBOQVRJVk8gZXN0aWxpemFkbyBkbyBKRU1TMyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIEFsdGVybmF0aXZhIGxpZ2h0LXdlaWdodCBhbyA8bWF0LXJhZGlvLWJ1dHRvbj4g4oCUIHNlbSByaXBwbGUsIHNlbSBNYXRlcmlhbC5cbi8vIE1lc21hIGxpbmd1YWdlbSB2aXN1YWwgZG8gLmplbXMzLW5hdGl2ZS1jaGVja2JveCAoc8OzIEhUTUwgKyBDU1MpLCBwYXJhXG4vLyBhbWJpZW50ZXMgYXV0b3IvcmV2aXNvciBvbmRlIG8gcmVzdGFudGUgZG9zIGNvbnRyb2xlcyDDqSBuYXRpdm8gSkVNUzMuXG4vL1xuLy8gVXNvOlxuLy8gICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgY2xhc3M9XCJqZW1zMy1uYXRpdmUtcmFkaW9cIiBuYW1lPVwiZ3J1cG9cIlxuLy8gICAgICAgICAgW2NoZWNrZWRdPVwiLi4uXCIgKGNoYW5nZSk9XCIuLi5cIj5cbi8vXG4vLyBNdXR1YWwtZXhjbHVzw6NvIHZlbSBkbyBhdHJpYnV0byBgbmFtZWAgZG8gcHLDs3ByaW8gYnJvd3NlciDigJQgbyBtZXNtbyBgbmFtZWBcbi8vIGVtIG3Dumx0aXBsb3MgcsOhZGlvcyBhZ3J1cGEgYSBzZWxlw6fDo28uIE7Do28gcHJlY2lzYSBkZSA8bWF0LXJhZGlvLWdyb3VwPi5cbi8vXG4vLyBUZW1hOiBsaWdodCA9IGZpbGwgYWNjZW50IChvcmFuZ2UtOTAwKSBjb20gbWlvbG8gb2ZmLXdoaXRlLiBEYXJrID0gZmlsbFxuLy8gZ3JheS0zMDAgY29tIG1pb2xvIG5lYXItYmxhY2suIE92ZXJyaWRlIGVtIGAuZGFyay10aGVtZWAgbm8gZmltIGRvIGFycXVpdm8uXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLmplbXMzLW5hdGl2ZS1yYWRpbyB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBtYXJnaW46IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMS41cHggc29saWQgJGdyYXktNDUwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIC8vIE1pb2xvIGRlc2VuaGFkbyB2aWEgYGJhY2tncm91bmQtaW1hZ2VgIFNWRyAoY8OtcmN1bG8gaW50ZXJubykuIEFzc2ltXG4gIC8vIG7Do28gcHJlY2lzYSBkZSBwc2V1ZG8tZWxlbWVudG8g4oCUIGZ1bmNpb25hIGVtIDxpbnB1dD4gbmF0aXZvLCBxdWUgbsOjb1xuICAvLyBhY2VpdGEgYDo6YmVmb3JlYC9gOjphZnRlcmAuXG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTUwbXMgJGVhc2Utb3V0LCBib3JkZXItY29sb3IgMTUwbXMgJGVhc2Utb3V0O1xuXG4gICY6Y2hlY2tlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM0UlM0NjaXJjbGUgY3g9JzgnIGN5PSc4JyByPSc0JyBmaWxsPSclMjNmOWY4ZjcnLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBib3JkZXItY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgIzA2NGFkOTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICB9XG59XG5cbi8vIERhcmsgdGhlbWUg4oCUIGZpbGwgY2xhcm8gY29tIG1pb2xvIGVzY3VybyBwcmEgY29udHJhc3RlLlxuLmRhcmstdGhlbWUgLmplbXMzLW5hdGl2ZS1yYWRpbyB7XG4gIGJvcmRlci1jb2xvcjogJGdyYXktNDAwO1xuXG4gICY6Y2hlY2tlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMzAwO1xuICAgIGJvcmRlci1jb2xvcjogJGdyYXktMzAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM0UlM0NjaXJjbGUgY3g9JzgnIGN5PSc4JyByPSc0JyBmaWxsPSclMjMyMDIwMjAnLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBib3JkZXItY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrO1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lLWNvbG9yOiAjMDA4MGZmO1xuICB9XG59XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4vLyBKRU1TMyBjaGFpciBVSSBzbGlkZS10b2dnbGUg4oCUIGNvbXBhY3QsIG1vbm9jaHJvbWF0aWMsIG91dGxpbmVkLW9mZiAoXCJQbGFuIEJcIikuXG4vLyBEZWZhdWx0IE1hdGVyaWFsIHYxMSBpcyAzNsOXMTQgdHJhY2sgKyAyMHB4IGVsZXZhdGVkIHRodW1iIGluIHByaW1hcnkvYWNjZW50XG4vLyBjb2xvciAobG9va3MgZGF0ZWQgYW5kIHdhc2hlZC1vdXQgaW4gdGhlIG9mZiBzdGF0ZSkuIE91ciByZWNpcGU6XG4vL1xuLy8gICAtIFRyYWNrOiAgICAgICAyNMOXMTQgcGlsbCAocmFkaXVzIDcpLiAxNCUgc21hbGxlciB0aGFuIGZpcnN0IGNvbXBhY3QgcGFzcy5cbi8vICAgLSBUaHVtYjogICAgICAgMTDDlzEwIGZsYXQgY2lyY2xlLCAycHggcGFkZGluZyBhbGwtYXJvdW5kIGluc2lkZSB0aGUgdHJhY2tcbi8vICAgICAgICAgICAgICAgICAgKHNvIHRoZSB0aHVtYiBpcyBmdWxseSBjb250YWluZWQpLiBUcmFuc2xhdGVzIDEwcHggb24gY2hlY2suXG4vLyAgIC0gT2ZmIHRyYWNrOiAgIHRyYW5zcGFyZW50IGJnICsgMS41cHggaW5zZXQgYm9yZGVyICh2aWEgYm94LXNoYWRvdyBpbnNldClcbi8vICAgICAgICAgICAgICAgICAgaW4gJGNocm9tZS1ib3JkZXItbGlnaHQvLWRhcmsg4oCUIG91dGxpbmVkLCBOT1QgZmlsbGVkIGdyYXlcbi8vICAgICAgICAgICAgICAgICAgKGZpbGxlZCBncmF5IG1hZGUgdGhlIGNvbnRyb2wgcmVhZCBhcyBcImRpc2FibGVkXCIpLlxuLy8gICAtIE9uIHRyYWNrOiAgICBzb2xpZCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUvLWFjdGl2ZS1kYXJrXG4vLyAgICAgICAgICAgICAgICAgIChzYW1lIGFjdGl2ZSB0b2tlbiB1c2VkIGJ5IGNoZWNrYm94IGNoZWNrZWQgZmlsbCkuXG4vLyAgIC0gT2ZmIHRodW1iOiAgICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yICh0aGUgbXV0ZWQgdGV4dCB0b2tlbiDigJRcbi8vICAgICAgICAgICAgICAgICAgZGFyayBncmF5IG9uIHRoZSBvdXRsaW5lZCB0cmFjaywgY2xlYXJseSBwcmVzZW50KS5cbi8vICAgLSBPbiB0aHVtYjogICAgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCAoY2hyb21lIGJnIHRvbmUg4oCUIG9mZi13aGl0ZSBvblxuLy8gICAgICAgICAgICAgICAgICB0aGUgc29saWQgZGFyayBhY3RpdmUgdHJhY2ssIGNsZWFybHkgcHJlc2VudCkuXG4vL1xuLy8gU2VtYW50aWNhbGx5IHN5bW1ldHJpYyB3aXRoIHRoZSBjaGVja2JveDogb2ZmID0gb3V0bGluZWQsIG9uID0gZmlsbGVkLlxuLy8gQ29sb3JzIGFyZSB0aGVtZS1hd2FyZSB2aWEgX2NvbG9yLXNjaGVtZS5zY3NzOyBnZW9tZXRyeSBsaXZlcyBoZXJlLlxuXG4vLyBLaWxsIHJpcHBsZSDigJQgY2hhaXIgVUkgZG9lc24ndCB1c2UgcmlwcGxlIGZlZWRiYWNrLlxuLm1hdC1zbGlkZS10b2dnbGUgLm1hdC1zbGlkZS10b2dnbGUtcmlwcGxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1hdC1zbGlkZS10b2dnbGUge1xuICAvLyBNYXRlcmlhbCBkZWZhdWx0IGZvcsOnYSBgLm1hdC1zbGlkZS10b2dnbGUgeyBoZWlnaHQ6IDI0cHg7IGxpbmUtaGVpZ2h0OiAyNHB4IH1gXG4gIC8vIG5vIGhvc3QgKD13cmFwcGVyKSB2aWEgaW5saW5lIHN0eWxlcyBkbyBjb21wb25lbnRlIChWaWV3RW5jYXBzdWxhdGlvbikuXG4gIC8vIEVzc2VzIHN0eWxlcyBlbnRyYW0gbm8gZG9jdW1lbnQgb3JkZXIgREVQT0lTIGRvcyBub3Nzb3MgZ2xvYmFpcyDigJQgZW50w6NvXG4gIC8vIHNlbSBgIWltcG9ydGFudGAgTWF0ZXJpYWwgdmVuY2UgcG9yIHNvdXJjZSBvcmRlciAobWVzbWEgZXNwZWNpZmljaWRhZGUpLlxuICAvLyBPdmVycmlkZTogYXV0by1oZWlnaHQgY29sYXBzYSBvIHdyYXBwZXIgcGFyYSBhIGFsdHVyYSBuYXR1cmFsIGRvIGNvbnRlw7pkby5cbiAgLy9cbiAgLy8gbGluZS1oZWlnaHQgRklYTyAoMS4zLCBib2R5IHJlY2lwZSkg4oCUIE7Dg08gYGluaGVyaXRgLiBDb20gYGluaGVyaXRgIG8gaG9zdCBwZWdhdmFcbiAgLy8gbyBsaW5lLWhlaWdodCBkbyBDT05UQUlORVIsIHF1ZSB2YXJpYSBwb3IgdGVsYSAoZXguOiBgLnNtYWxsLXBpY2tlciB7IGxpbmUtaGVpZ2h0OlxuICAvLyAxICFpbXBvcnRhbnQgfWAsIGAuc2NvcGUtdG9nZ2xlLXJvdyB7IGZvbnQtc2l6ZTogLjg3NXJlbSB9YCksIGZhemVuZG8gbyBNRVNNTyB0b2dnbGVcbiAgLy8gcmVuZGVyaXphciBjb20gY2FpeGFzL2FsaW5oYW1lbnRvcyBkaWZlcmVudGVzIChcInZlcnPDtWVzIGRpZmVyZW50ZXNcIikuIEZpeG8gYXF1aSDihpJcbiAgLy8gaWTDqm50aWNvIGVtIHRvZG8gbyBzaXN0ZW1hIChMaXN0YSBkZSBzdWJtaXNzw7VlcywgYXV0b3IvcmV2aXNvciwgYWRtaW4vY2hhaXIpLlxuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuMyAhaW1wb3J0YW50O1xuXG4gIC8vIEdlb21ldHJpYSAodHJhY2sgKyB0aHVtYikgPSBibG9jbyBcIk0zIHN3aXRjaCDigJQgUEFEUsODTyBETyBTSVNURU1BXCIgYWJhaXhvICgzMsOXMTgsXG4gIC8vIGEgZ2VvbWV0cmlhIGRhIExpc3RhIGRlIHN1Ym1pc3PDtWVzKS4gTyBjaGFpciBjb21wYWN0byAyNMOXMTQgZm9pIEFQT1NFTlRBRE8g4oCUIGZvbnRlXG4gIC8vIMOaTklDQSBkZSBnZW9tZXRyaWEgYWdvcmEgw6kgbyBNMy4gQXF1aSBmaWNhIHPDsyBvIGBwb3NpdGlvbjogcmVsYXRpdmVgIGRvIHRodW1iLCBiYXNlXG4gIC8vIHAvIG8gOjphZnRlciAoZ2x5cGgg4pyTKSBzZSBwb3NpY2lvbmFyIGRlbnRybyBkbyB0aHVtYi5cbiAgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuXG4vLyBDaGVjayBnbHlwaCAo4pyTKSBpbnNpZGUgdGhlIHRodW1iIHdoZW4gT04uIFNWRyBtYXNrIGZvciBjcmlzcCByZW5kZXJpbmcgYXRcbi8vIHRoZSBzbWFsbCAxMHB4IHRodW1iIHNpemUg4oCUIGBtYXNrLXNpemU6IDYwJWAgbGVhdmVzIH4ycHggb2YgYnJlYXRoaW5nIHJvb21cbi8vIGFyb3VuZCB0aGUgY2hlY2suIENvbG9yIGlzIHRoZW1lLWF3YXJlIHZpYSBfY29sb3Itc2NoZW1lLnNjc3MuIE9mZiBzdGF0ZVxuLy8gaGFzIG5vIGdseXBoIOKAlCBvbmx5IHRoZSBvbiBzdGF0ZSBjYXJyaWVzIHRoZSBjdWUuXG4ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYjo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J00xLjUgNCBMMy41IDYgTDYuNSAyJyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgZmlsbD0nbm9uZScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgICAgIG1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBkPSdNMS41IDQgTDMuNSA2IEw2LjUgMicgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScxLjUnIGZpbGw9J25vbmUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgLXdlYmtpdC1tYXNrLXNpemU6IDYwJTtcbiAgICAgICAgICBtYXNrLXNpemU6IDYwJTtcbiAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gIC13ZWJraXQtbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbn1cblxuLy8gVHJhbnNpw6fDo28gZGEgcG9zacOnw6NvIGRvIHRodW1iIE9OIMOpIGRlZmluaWRhIG5vIGJsb2NvIE0zIChncm93ICsgc2xpZGUgMTRweCkuXG5cbi8vIFRyYW5zaXRpb246IHNtb290aCB0aHVtYiBzbGlkZSArIGJnL3RodW1iIGNvbG9yIGZhZGUuIDE1MG1zIHdpdGggJGVhc2Utb3V0XG4vLyAoY2hhaXIgVUkgY2Fub25pY2FsIGVhc2luZyBjdXJ2ZSkuIEJvcmRlciAoaW5zZXQgc2hhZG93KSBkb2Vzbid0IGNoYW5nZVxuLy8gYmV0d2VlbiBvZmYvb24sIHNvIG5vIHRyYW5zaXRpb24gbmVlZGVkIG9uIGl0LlxuLm1hdC1zbGlkZS10b2dnbGUgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWItY29udGFpbmVyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zICRlYXNlLW91dDtcbn1cbi5tYXQtc2xpZGUtdG9nZ2xlIC5tYXQtc2xpZGUtdG9nZ2xlLWJhciB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTUwbXMgJGVhc2Utb3V0LCBib3gtc2hhZG93IDE1MG1zICRlYXNlLW91dDtcbn1cbi5tYXQtc2xpZGUtdG9nZ2xlIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iIHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyAkZWFzZS1vdXQ7XG59XG5cbi8vIEZvY3VzIGluZGljYXRvciAoa2V5Ym9hcmQgYTExeSkg4oCUIG91dGxpbmUgYXJvdW5kIHRoZSB0cmFjayB3aGVuIGZvY3VzZWQgdmlhXG4vLyBrZXlib2FyZC4gTWF0ZXJpYWwncyBDREsgRm9jdXNNb25pdG9yIGFwcGxpZXMgYC5jZGsta2V5Ym9hcmQtZm9jdXNlZGAgb25seSBvblxuLy8ga2V5Ym9hcmQgZm9jdXMgKG1vdXNlIGZvY3VzIGdldHMgYC5jZGstbW91c2UtZm9jdXNlZGAsIG5vIG91dGxpbmUpLiBDb2xvciBpc1xuLy8gdGhlbWUtYXdhcmUgdmlhIF9jb2xvci1zY2hlbWUuc2Nzcy5cbi5tYXQtc2xpZGUtdG9nZ2xlLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtc2xpZGUtdG9nZ2xlLWJhciB7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi8vIERpc2FibGVkIHN0YXRlIOKAlCBzaW5nbGUgb3BhY2l0eSBkcm9wIG9uIHRoZSBob3N0IGVsZW1lbnQgKHVuaWZvcm0gbXV0ZSBvZlxuLy8gcGlsbCArIHRodW1iICsgY2hlY2sgKyBsYWJlbCkgKyBjdXJzb3IgY3VlLiBNYXRlcmlhbCBhZGRzIGAubWF0LWRpc2FibGVkYFxuLy8gY2xhc3Mgd2hlbiB0aGUgaW5wdXQgaXMgYFtkaXNhYmxlZF09XCJ0cnVlXCJgLlxuLm1hdC1zbGlkZS10b2dnbGUubWF0LWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE0zIHN3aXRjaCDigJQgR0VPTUVUUklBIEdMT0JBTCDDmk5JQ0EgKHBhZHLDo28gZG8gc2lzdGVtYSlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUmVwcm9kdXogdmlzdWFsbWVudGUgbyBNYXRlcmlhbCBEZXNpZ24gMyBzd2l0Y2ggc29icmUgbyBjb21wb25lbnRlIE1hdGVyaWFsIDExLlxuLy8gw4kgYSDDmk5JQ0EgZ2VvbWV0cmlhIGRlIHRvZG8gYG1hdC1zbGlkZS10b2dnbGVgIGRvIEpFTVMzIOKAlCBhIG1lc21hIGRvIHRvZ2dsZSBkYVxuLy8gXCJMaXN0YSBkZSBzdWJtaXNzw7Vlc1wiIChxdWUgYXBlbmFzIGhlcmRhIGVzdGUgZ2xvYmFsLCBzZW0gZ2VvbWV0cmlhIHByw7NwcmlhKS4gQW50ZXNcbi8vIGVzY29wYWRhIGFvIGF1dG9yL3Jldmlzb3IgKGAubWFpbi1oZWFkZXIgLm9wdGlvbnNgLCBgLnNtYWxsLXBpY2tlcmAsXG4vLyBgLnNjb3BlLXRvZ2dsZS1yb3dgKSBlIG8gY2hhaXIgY29tcGFjdG8gMjTDlzE0IGVyYSBvIGRlZmF1bHQ7IGFnb3JhIG8gY2hhaXIgZm9pXG4vLyBhcG9zZW50YWRvIGUgZXN0YSDDqSBhIGZvbnRlIHVuaXZlcnNhbC4gTyBibG9jbyBgLm1hdC1zbGlkZS10b2dnbGVgIGFjaW1hIGN1aWRhIHPDs1xuLy8gZG8gbsOjby1nZW9tw6l0cmljbyAoZXN0YWRvIE9GRi9jb3IsIGhvc3QgaGVpZ2h0LCBraWxsLXJpcHBsZSwgcG9zaXRpb24gZG8gdGh1bWIpLlxuLy8gTWV4ZXIgYXF1aSByZWZsZXRlIGVtIFRPRE8gbyBzaXN0ZW1hLCBpbmNsdXNpdmUgbmEgTGlzdGEgZGUgc3VibWlzc8O1ZXMuXG4vL1xuLy8gICBNMyBzcGVjcyAoY29tcGFjdG8sIG1hbnTDqW0gcmF0aW8gdGh1bWIvdHJhY2sgfjAuNzUgZG8gTTMgc3RhbmRhcmQpOlxuLy8gICAtIFRyYWNrOiAgICAzMsOXMTggcGlsbCwgcmFkaXVzIDlcbi8vICAgLSBUaHVtYjogICAgMTDDlzEwIG9mZiAoY2VudGVyZWQsIDRweCBwYWRkaW5nKSDihpIgMTTDlzE0IG9uIChjcmVzY2UgKyBzbGlkZSlcbi8vICAgLSBPdXRsaW5lOiAgMS41cHggYm9yZGVyIG5hIHRyYWNrIE9GRjsgc2VtIG91dGxpbmUgT04gKE0zIHB1cm8pXG4vLyAgIC0gQ29yIG9uOiAgICRhY2NlbnQtYmFja2dyb3VuZCAoYXp1bCBKRU1TMykg4oCUIGRlZmluaWRhIGVtIF9jb2xvci1zY2hlbWUuc2Nzc1xuLy8gICAtIFNoYWRvdzogICB0aHVtYiB0ZW0gZWxldmHDp8OjbyBzdXRpbFxuLy8gICAtIEhvdmVyOiAgICBzZW0gZGVzdGFxdWUgKGEgdHJhY2sgT04gasOhIHRlbSBjb3Igc2F0dXJhZGEgbyBzdWZpY2llbnRlKVxuLy8gICAtIFBhZGRpbmcgT046IDJweCBkZSBjYWRhIGxhZG8gKHRodW1iIG7Do28gdG9jYSBib3JkYSBkYSB0cmFjaylcbi5tYXQtc2xpZGUtdG9nZ2xlIHtcbiAgLm1hdC1zbGlkZS10b2dnbGUtYmFyIHtcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOXB4O1xuICB9XG5cbiAgLy8gT2ZmIHRodW1iOiAxMMOXMTAsIGNlbnRlcmVkICg0cHggcGFkZGluZyBhbGwtYXJvdW5kIGluc2lkZSAxOHB4IGJhcikuXG4gIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIHRvcDogNHB4O1xuICAgIGxlZnQ6IDRweDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgJGVhc2Utb3V0LCB3aWR0aCAxNTBtcyAkZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgaGVpZ2h0IDE1MG1zICRlYXNlLW91dCwgdG9wIDE1MG1zICRlYXNlLW91dCxcbiAgICAgICAgICAgICAgICBsZWZ0IDE1MG1zICRlYXNlLW91dDtcbiAgfVxuICAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYiB7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTUwbXMgJGVhc2Utb3V0LCB3aWR0aCAxNTBtcyAkZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgaGVpZ2h0IDE1MG1zICRlYXNlLW91dCwgYm94LXNoYWRvdyAxNTBtcyAkZWFzZS1vdXQ7XG4gIH1cblxuICAvLyBDaGVja2VkOiB0aHVtYiBjcmVzY2UgcGFyYSAxNMOXMTQgKE0zIGdyb3cpLiBQb3Npw6fDo28gZmluYWw6IHRodW1iIHJpZ2h0XG4gIC8vIGVkZ2UgYSAycHggZGEgYm9yZGEgZGlyZWl0YSBkYSB0cmFjayDihpIgdGh1bWIgbGVmdCA9IDMyIC0gMTQgLSAyID0gMTZweC5cbiAgLy8gQ29udGFpbmVyIE9OIHRlbSBsZWZ0OjIsIGVudMOjbyB0cmFuc2Zvcm0gPSAxNiAtIDIgPSAxNHB4LlxuICAmLm1hdC1jaGVja2VkIHtcbiAgICAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYi1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICB0b3A6IDJweDtcbiAgICAgIGxlZnQ6IDJweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTRweCwgMCwgMCkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWIge1xuICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE0zIE9OIHRodW1iOiBjaGVjayBnbHlwaCAodmlhIDo6YWZ0ZXIgZG8gY2hhaXIgcmVjaXBlKSBlbSA1NSUgZG8gdGh1bWJcbiAgLy8gMTTDlzE0ID0gfjhweC4gQ29yIGRvIGdseXBoIMOpIGF6dWwgSkVNUzMgKG92ZXJyaWRlIGVtIF9jb2xvci1zY2hlbWUuc2NzcykuXG4gICYubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWI6OmFmdGVyIHtcbiAgICAtd2Via2l0LW1hc2stc2l6ZTogNTUlO1xuICAgICAgICAgICAgbWFzay1zaXplOiA1NSU7XG4gIH1cblxuICAvLyBNMyBPTiB0cmFjazogc2VtIG91dGxpbmUgKGEgY29yIHByZWVuY2hpZGEgw6kgbyBzaW5hbCkuXG4gICYubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtYmFyIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBIb3ZlcjogYmcgZGEgYmFyIG7Do28gbXVkYSwgZSBhIGNvciBkYSBvdXRsaW5lIChPRkYgc3RhdGUpIHRhbWLDqW0gbsOjbyBtdWRhXG4gIC8vIOKAlCBvdmVycmlkZXMgZW0gX2NvbG9yLXNjaGVtZS5zY3NzIGdhcmFudGVtIHF1ZSBob3ZlciA9PT0gcmVzdGluZyBzdGF0ZS5cbn1cbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbi8vIEpFTVMzIGNoYWlyIFVJIHJhZGlvIGJ1dHRvbiDigJQgYXBwbGllcyB0aGUgc2xpZGUtdG9nZ2xlJ3MgXCJiaW5hcnkgY29udHJvbFwiXG4vLyB2aXN1YWwgbGFuZ3VhZ2UgdG8gYSBjaXJjdWxhciBzaGFwZS4gVG9nZXRoZXIgd2l0aCB0aGUgY2hlY2tib3ggKHNxdWFyZSlcbi8vIGFuZCBzbGlkZS10b2dnbGUgKHBpbGwpLCB0aGUgcmFkaW8gKGNpcmNsZSkgY29tcGxldGVzIHRoZSBmYW1pbHkg4oCUIGFsbFxuLy8gdGhyZWUgc2hhcmU6IG91dGxpbmVkLW9mZiAvIGZpbGxlZC1vbiwgbWVzbW9zIGNvbG9yIHRva2VucywgbWVzbWFzIGludmVyc8O1ZXNcbi8vIGRlIGhvdmVyLCBmb2N1cyBicmFuZC1zYXR1cmFkby5cbi8vXG4vLyAgIC0gT3V0ZXIgcmluZzogIDE2cHggY2lyY2xlLCAxLjVweCBib3JkZXIgKHRoZW1lLWF3YXJlKVxuLy8gICAtIE9mZiBiZzogICAgICB3YXJtIGJlaWdlIHRpbnQgKGxpZ2h0KSAvIHRyYW5zcGFyZW50IChkYXJrKVxuLy8gICAtIE9uIGJnOiAgICAgICBzb2xpZCBgIzRhNDYzZmAgKGxpZ2h0KSAvIHRyYW5zcGFyZW50IChkYXJrKVxuLy8gICAtIElubmVyIGRvdDogICB+NnB4IChzY2FsZSAwLjM3NSBkbyBvdXRlciAxNnB4KSBvZmYtd2hpdGUgY3Jvc3MtdGhlbWUsXG4vLyAgICAgICAgICAgICAgICAgIHZpc8OtdmVsIHPDsyBubyBjaGVja2VkIOKAlCBmYXogbyBwYXBlbCB2aXN1YWwgZG8gXCJ0aHVtYlwiIGRvXG4vLyAgICAgICAgICAgICAgICAgIHNsaWRlLXRvZ2dsZSAoY3VlIGRlIHBvc2nDp8Ojby9zZWxlw6fDo28pXG4vL1xuLy8gQ29yZXMgdGhlbWUtYXdhcmUgZW0gX2NvbG9yLXNjaGVtZS5zY3NzOyBnZW9tZXRyaWEgKyB0cmFuc2nDp8O1ZXMgYXF1aS5cblxuLy8gS2lsbCByaXBwbGUg4oCUIGNoYWlyIFVJIGRvZXNuJ3QgdXNlIHJpcHBsZS5cbi5tYXQtcmFkaW8tYnV0dG9uIC5tYXQtcmFkaW8tcmlwcGxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1hdC1yYWRpby1idXR0b24ge1xuICAvLyBDb250YWluZXIg4oCUIDE2cHggYm94IHF1ZSBhYnJpZ2Egb3V0ZXIgKyBpbm5lci5cbiAgLm1hdC1yYWRpby1jb250YWluZXIge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgfVxuXG4gIC8vIE91dGVyIGNpcmNsZSAodGhlIHJpbmcpIOKAlCAxNnB4LCBib3JkZXIgMS41cHggKHVuaWZvcm1lIG5vcyBkb2lzIHRlbWFzKS5cbiAgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBib3JkZXItd2lkdGg6IDEuNXB4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTUwbXMgJGVhc2Utb3V0LCBib3JkZXItY29sb3IgMTUwbXMgJGVhc2Utb3V0O1xuICB9XG5cbiAgLy8gSW5uZXIgY2lyY2xlICh0aGUgZG90KSDigJQgc2VtcHJlIDE2cHggZGUgw6FyZWE7IHNjYWxlIGZheiBhcGFyZWNlci9zdW1pci5cbiAgLy8gTWF0ZXJpYWwgZGVmYXVsdCA9IHNjYWxlKDApIHVuY2hlY2tlZCDihpIgc2NhbGUoMC41KSBjaGVja2VkICg9IDhweCBkb3QpLlxuICAvLyBPdmVycmlkZTogc2NhbGUoMC4zNzUpIGNoZWNrZWQgPSA2cHggZG90LCBtYWlzIGRpc2NyZXRvIGUgaGFybcO0bmljbyBjb21cbiAgLy8gYSBlc2NhbGEgbW9ub2Nyw7NtYXRpY2EgZG8gY29tcG9uZW50ZS5cbiAgLm1hdC1yYWRpby1pbm5lci1jaXJjbGUge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTUwbXMgJGVhc2Utb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zICRlYXNlLW91dDtcbiAgfVxuXG4gICYubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1pbm5lci1jaXJjbGUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4zNzUpO1xuICB9XG59XG5cbi8vIEZvY3VzIChrZXlib2FyZCkg4oCUIG91dGxpbmUgb2Zmc2V0IGlndWFsIGFvIHNsaWRlLXRvZ2dsZS5cbi5tYXQtcmFkaW8tYnV0dG9uLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLy8gRGlzYWJsZWQg4oCUIG9wYWNpdHkgKyBjdXJzb3IgKHBhcmFsZWxvIGFvcyBvdXRyb3MgY29udHJvbGVzKS5cbi5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbiIsIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnamVtczNyJztcbiAgICBzcmM6IHVybCgnL2Fzc2V0cy9mb250cy9qZW1zM3Iud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgXG4gIC5qZW1zM3Ige1xuICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gICAgZm9udC1mYW1pbHk6ICdqZW1zM3InICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIFxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICBcbiAgICAmLmZhLWNhbGVuZGFyLWFsdDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDBcIjtcbiAgICB9XG4gICAgJi5mYS1jaGVjay1zcXVhcmU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG4gICAgfVxuICAgICYuZmEtY2xvY2s6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTAyXCI7XG4gICAgfVxuICAgICYuZmEtZWRpdDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDNcIjtcbiAgICB9XG4gICAgJi5mYS1leWU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTA0XCI7XG4gICAgfVxuICAgICYuZmEtZXllLXNsYXNoOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwNVwiO1xuICAgIH1cbiAgICAmLmZhLWZpbGUtYWx0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwNlwiO1xuICAgIH1cbiAgICAmLmZhLWxpZ2h0YnVsYjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDdcIjtcbiAgICB9XG4gICAgJi5mYS1taW51cy1zcXVhcmU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTA4XCI7XG4gICAgfVxuICAgICYuZmEtcGFwZXItcGxhbmU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTA5XCI7XG4gICAgfVxuICAgICYuZmEtc3F1YXJlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwYVwiO1xuICAgIH1cbiAgICAmLmZhLXN0aWNreS1ub3RlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwYlwiO1xuICAgIH1cbiAgICAmLmZhLWJlbGw6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTBjXCI7XG4gICAgfVxuICAgICYuZmEtcGx1cy1zcXVhcmU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTBkXCI7XG4gICAgfVxuICB9XG4gICIsIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnamVtczNzJztcbiAgICAvLyBPbmx5IFdPRkYg4oCUIGFsbCBjaGFpci1VSSB0YXJnZXQgYnJvd3NlcnMgc3VwcG9ydCBpdCAoQ2hyb21lLFxuICAgIC8vIEZpcmVmb3gsIFNhZmFyaSwgRWRnZSkuIFRoZSBsZWdhY3kgYC5lb3RgIChJRTgtKSBhbmQgYC50dGZgXG4gICAgLy8gKGZhbGxiYWNrKSB3ZXJlIGRyb3BwZWQgYWxvbmcgd2l0aCB0aGUgb3JwaGFuIGAuc3ZnYCBmb250IGZpbGUuXG4gICAgc3JjOiB1cmwoJy9hc3NldHMvZm9udHMvamVtczNzLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LWRpc3BsYXk6IGJsb2NrO1xufVxuICBcbi5qZW1zM3N7XG4gIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gIGZvbnQtZmFtaWx5OiAnamVtczNzJyAhaW1wb3J0YW50O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXG4gICYuZmEtYW5nbGUtZG91YmxlLWRvd246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwMFwiO1xuICB9XG4gICYuZmEtYW5nbGUtZG91YmxlLWxlZnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwMVwiO1xuICB9XG4gICYuZmEtYW5nbGUtZG91YmxlLXVwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDJcIjtcbiAgfVxuICAmLmZhLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDNcIjtcbiAgfVxuICAmLmZhLWJhbGFuY2Utc2NhbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwNFwiO1xuICB9XG4gICYuZmEtYmFyczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA1XCI7XG4gIH1cbiAgJi5mYS1ib29rOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDZcIjtcbiAgfVxuICAmLmZhLWJvcmRlci1ub25lOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDdcIjtcbiAgfVxuICAmLmZhLWNhbGVuZGFyLWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA4XCI7XG4gIH1cbiAgJi5mYS1jYWxlbmRhci1jaGVjazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA5XCI7XG4gIH1cbiAgJi5mYS1jYW1lcmE6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwYVwiO1xuICB9XG4gICYuZmEtY2hlY2stY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGJcIjtcbiAgfVxuICAmLmZhLWNoZWNrLWRvdWJsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBjXCI7XG4gIH1cbiAgJi5mYS1jaGVjazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBkXCI7XG4gIH1cbiAgJi5mYS1jaGV2cm9uLWRvd246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwZVwiO1xuICB9XG4gICYuZmEtY2hldnJvbi11cDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBmXCI7XG4gIH1cbiAgJi5mYS1jbGlwYm9hcmQtY2hlY2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxMFwiO1xuICB9XG4gICYuZmEtY2xpcGJvYXJkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTFcIjtcbiAgfVxuICAmLmZhLWNsb2NrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTJcIjtcbiAgfVxuICAmLmZhLWNvZ3M6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxM1wiO1xuICB9XG4gICYuZmEtY29tbWVudC1kb3RzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTRcIjtcbiAgfVxuICAmLmZhLWNvbW1lbnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxNVwiO1xuICB9XG4gICYuZmEtY29tbWVudHM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxNlwiO1xuICB9XG4gICYuZmEtZG93bmxvYWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxN1wiO1xuICB9XG4gICYuZmEtZWRpdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE4XCI7XG4gIH1cbiAgJi5mYS1lbGxpcHNpcy1oOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTlcIjtcbiAgfVxuICAmLmZhLWVudmVsb3BlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWFcIjtcbiAgfVxuICAmLmZhLWV4Y2xhbWF0aW9uLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTFiXCI7XG4gIH1cbiAgJi5mYS1leGNsYW1hdGlvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTFjXCI7XG4gIH1cbiAgJi5mYS1leGNsYW1hdGlvbi10cmlhbmdsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTFkXCI7XG4gIH1cbiAgJi5mYS1leWUtc2xhc2g6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxZVwiO1xuICB9XG4gICYuZmEtZXllOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWZcIjtcbiAgfVxuICAmLmZhLWZpbGUtZG93bmxvYWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyMFwiO1xuICB9XG4gICYuZmEtZmlsZS1leGNlbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTIxXCI7XG4gIH1cbiAgJi5mYS1maWxlLXBkZjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTIyXCI7XG4gIH1cbiAgJi5mYS1maWxlLXdvcmQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyM1wiO1xuICB9XG4gICYuZmEtZmlsdGVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjRcIjtcbiAgfVxuICAmLmZhLWdsb2JlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjVcIjtcbiAgfVxuICAmLmZhLWhpc3Rvcnk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyNlwiO1xuICB9XG4gICYuZmEtaG9tZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTI3XCI7XG4gIH1cbiAgJi5mYS1ob3VyZ2xhc3MtaGFsZjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTI4XCI7XG4gIH1cbiAgJi5mYS1ob3VyZ2xhc3M6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyOVwiO1xuICB9XG4gICYuZmEtaWQtYmFkZ2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyYVwiO1xuICB9XG4gICYuZmEtaW5kZW50OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MmJcIjtcbiAgfVxuICAmLmZhLWluZm8tY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MmNcIjtcbiAgfVxuICAmLmZhLWluZm86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyZFwiO1xuICB9XG4gICYuZmEtbGlnaHRidWxiOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MmVcIjtcbiAgfVxuICAmLmZhLWxpc3QtYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MmZcIjtcbiAgfVxuICAmLmZhLWxvY2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzMFwiO1xuICB9XG4gICYuZmEtbWFwLW1hcmtlci1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzMVwiO1xuICB9XG4gICYuZmEtbWludXMtc3F1YXJlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MzJcIjtcbiAgfVxuICAmLmZhLXBhcGVyLXBsYW5lOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MzNcIjtcbiAgfVxuICAmLmZhLXBlbmNpbC1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzNFwiO1xuICB9XG4gICYuZmEtcGVuOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MzVcIjtcbiAgfVxuICAmLmZhLXBsdXMtY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MzZcIjtcbiAgfVxuICAmLmZhLXBsdXM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzN1wiO1xuICB9XG4gICYuZmEtcGx1cy1zcXVhcmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzOFwiO1xuICB9XG4gICYuZmEtcXVlc3Rpb24tY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MzlcIjtcbiAgfVxuICAmLmZhLXNlYXJjaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTNhXCI7XG4gIH1cbiAgJi5mYS1zaWduLW91dC1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzYlwiO1xuICB9XG4gICYuZmEtc2xpZGVycy1oOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5M2NcIjtcbiAgfVxuICAmLmZhLXNvcnQtYW1vdW50LXVwLWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTNkXCI7XG4gIH1cbiAgJi5mYS1zeW5jLWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTNlXCI7XG4gIH1cbiAgJi5mYS10YWNob21ldGVyLWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTNmXCI7XG4gIH1cbiAgJi5mYS10YWc6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0MFwiO1xuICB9XG4gICYuZmEtdGh1bWJzLWRvd246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0MVwiO1xuICB9XG4gICYuZmEtdGh1bWJzLXVwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NDJcIjtcbiAgfVxuICAmLmZhLXRpbWVzLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQzXCI7XG4gIH1cbiAgJi5mYS10aW1lczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQ0XCI7XG4gIH1cbiAgJi5mYS10cmFzaC1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0NVwiO1xuICB9XG4gICYuZmEtdHJhc2g6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0NlwiO1xuICB9XG4gICYuZmEtdW5kbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQ3XCI7XG4gIH1cbiAgJi5mYS11bmxvY2stYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NDhcIjtcbiAgfVxuICAmLmZhLXVwbG9hZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQ5XCI7XG4gIH1cbiAgJi5mYS11c2VyLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTRhXCI7XG4gIH1cbiAgJi5mYS11c2VyLWNvZzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTRiXCI7XG4gIH1cbiAgJi5mYS11c2VyLWVkaXQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0Y1wiO1xuICB9XG4gICYuZmEtdXNlcnMtc2xhc2g6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0ZFwiO1xuICB9XG4gICYuZmEtd2luZG93LWNsb3NlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NGVcIjtcbiAgfVxuICAmLmZhLXN0YXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0ZlwiO1xuICB9XG4gICYuZmEtdXNlcnM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1MFwiO1xuICB9XG4gICYuZmEtZmlsZS1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1MVwiO1xuICB9XG4gICYuZmEtbGV2ZWwtdXAtYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NTJcIjtcbiAgfVxuICAmLmZhLXF1ZXN0aW9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NTNcIjtcbiAgfVxuICAmLmZhLWhvdXJnbGFzcy1oYWxmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NTRcIjtcbiAgfVxuICAmLmZhLWhlYWRzZXQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1NVwiO1xuICB9XG4gICYuZmEtY2l0eTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTU2XCI7XG4gIH1cbiAgJi5mYS1maWxlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NTdcIjtcbiAgfVxuICAmLmZhLWZpbGUtYXJjaGl2ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTU4XCI7XG4gIH1cbiAgJi5mYS1iZWxsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NTlcIjtcbiAgfVxuICAmLmZhLWVudmVsb3BlLW9wZW46YmVmb3Jle1xuICAgIGNvbnRlbnQ6IFwiXFxlOTVhXCJcbiAgfVxuICAmLmZhLXN0aWNreS1ub3RlOmJlZm9yZXtcbiAgICBjb250ZW50OiBcIlxcZTk1YlwiXG4gIH1cbiAgJi5mYS1sYXB0b3A6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1Y1wiO1xuICB9XG4gICYuZmEtbW9vbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTVkXCI7XG4gIH1cbiAgJi5mYS1zdW46YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1ZVwiO1xuICB9XG59XG5cbiIsIi8vIE1hdGVyaWFsIERlc2lnbiAzIHR5cG9ncmFwaHkg4oCUIHNjb3BlZCB0byAudHBjLW1kMyAoVFBDIGNoYWlyIGFyZWEgb25seSkuXG4vLyBSZWZlcmVuY2U6IGh0dHBzOi8vbTMubWF0ZXJpYWwuaW8vc3R5bGVzL3R5cG9ncmFwaHkvdHlwZS1zY2FsZS10b2tlbnNcblxuJG1kMy1mb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcblxuLy8gQWxsIDE1IE1EMyB0eXBlLXNjYWxlIHRva2Vuczogc2l6ZSAvIGxpbmUtaGVpZ2h0IC8gd2VpZ2h0IC8gbGV0dGVyLXNwYWNpbmcuXG4kbWQzLXR5cGUtc2NhbGU6IChcbiAgZGlzcGxheS1sYXJnZTogICAgKDMuNTYyNXJlbSwgNHJlbSwgICAgNDAwLCAtMC4wMTU2MjVyZW0pLFxuICBkaXNwbGF5LW1lZGl1bTogICAoMi44MTI1cmVtLCAzLjI1cmVtLCA0MDAsIDApLFxuICBkaXNwbGF5LXNtYWxsOiAgICAoMi4yNXJlbSwgICAyLjc1cmVtLCA0MDAsIDApLFxuICBoZWFkbGluZS1sYXJnZTogICAoMnJlbSwgICAgICAyLjVyZW0sICA0MDAsIDApLFxuICBoZWFkbGluZS1tZWRpdW06ICAoMS43NXJlbSwgICAyLjI1cmVtLCA0MDAsIDApLFxuICBoZWFkbGluZS1zbWFsbDogICAoMS41cmVtLCAgICAycmVtLCAgICA0MDAsIDApLFxuICB0aXRsZS1sYXJnZTogICAgICAoMS4zNzVyZW0sICAxLjc1cmVtLCA0MDAsIDApLFxuICB0aXRsZS1tZWRpdW06ICAgICAoMXJlbSwgICAgICAxLjVyZW0sICA1MDAsIDAuMDA5Mzc1cmVtKSxcbiAgdGl0bGUtc21hbGw6ICAgICAgKDAuODc1cmVtLCAgMS4yNXJlbSwgNTAwLCAwLjAwNjI1cmVtKSxcbiAgYm9keS1sYXJnZTogICAgICAgKDFyZW0sICAgICAgMS41cmVtLCAgNDAwLCAwLjAzMTI1cmVtKSxcbiAgYm9keS1tZWRpdW06ICAgICAgKDAuODc1cmVtLCAgMS4yNXJlbSwgNDAwLCAwLjAxNTYyNXJlbSksXG4gIGJvZHktc21hbGw6ICAgICAgICgwLjc1cmVtLCAgIDFyZW0sICAgIDQwMCwgMC4wMjVyZW0pLFxuICBsYWJlbC1sYXJnZTogICAgICAoMC44NzVyZW0sICAxLjI1cmVtLCA1MDAsIDAuMDA2MjVyZW0pLFxuICBsYWJlbC1tZWRpdW06ICAgICAoMC43NXJlbSwgICAxcmVtLCAgICA1MDAsIDAuMDMxMjVyZW0pLFxuICBsYWJlbC1zbWFsbDogICAgICAoMC42ODc1cmVtLCAxcmVtLCAgICA1MDAsIDAuMDMxMjVyZW0pLFxuKTtcblxuQG1peGluIG1kMy10eXBlKCR0b2tlbikge1xuICAkdmFsdWVzOiBtYXAtZ2V0KCRtZDMtdHlwZS1zY2FsZSwgJHRva2VuKTtcbiAgZm9udC1zaXplOiBudGgoJHZhbHVlcywgMSk7XG4gIGxpbmUtaGVpZ2h0OiBudGgoJHZhbHVlcywgMik7XG4gIGZvbnQtd2VpZ2h0OiBudGgoJHZhbHVlcywgMyk7XG4gIGxldHRlci1zcGFjaW5nOiBudGgoJHZhbHVlcywgNCk7XG59XG5cbi50cGMtbWQzIHtcbiAgZm9udC1mYW1pbHk6ICRtZDMtZm9udC1mYW1pbHk7XG4gIC8vIHRudW0gZ2l2ZXMgdW5pZm9ybS13aWR0aCBkaWdpdHMgZm9yIHRhYmxlcyBvZiBJRHMvc2NvcmVzL2RhdGVzIChzdXBwb3J0ZWQgYnlcbiAgLy8gU0YgUHJvLCBTZWdvZSBVSSwgUm9ib3RvLCBIZWx2ZXRpY2EgTmV1ZSkuIGtlcm4vbGlnYSBhcmUgdW5pdmVyc2FsLlxuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiLCBcImxpZ2FcIiwgXCJjYWx0XCIsIFwidG51bVwiO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcblxuICBAaW5jbHVkZSBtZDMtdHlwZShib2R5LW1lZGl1bSk7XG5cbiAgLy8gVXRpbGl0eSBjbGFzc2VzIGZvciBlYWNoIE1EMyB0b2tlbiAoc2NvcGVkIHVuZGVyIC50cGMtbWQzIHNvIHRoZXkgZG9uJ3QgbGVhaykuXG4gIEBlYWNoICR0b2tlbiwgJF8gaW4gJG1kMy10eXBlLXNjYWxlIHtcbiAgICAubWQzLSN7JHRva2VufSB7XG4gICAgICBAaW5jbHVkZSBtZDMtdHlwZSgkdG9rZW4pO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAnY29sb3JzJztcblxuLy8gQ29yZXMgZGUgRklMTCBwb3Igc3RhdHVzIGV4cG9zdGFzIGNvbW8gQ1NTIGN1c3RvbSBwcm9wZXJ0aWVzLCBhIHBhcnRpciBkb3Ncbi8vIG1hcGFzLXRva2VuIGAkc3VibWlzc2lvbi1zdGF0dXNgIC8gYCRyZXZpZXctc3RhdHVzYCAobyAxwrogdmFsb3IgZGUgY2FkYSB0dXBsYVxuLy8gw6kgbyBmaWxsKS4gTyBuZ3gtY2hhcnRzIGNvbG9yZSB2aWEgSlMgKG7Do28gQ1NTKSwgZW50w6NvIGEgRk9OVEUgREEgVkVSREFERSBmaWNhXG4vLyBub3MgdG9rZW5zIFNDU1MgZSBvIGBEYXNoYm9hcmRDaGFydENvbXBvbmVudGAgc8OzIEzDiiBvcyB2YWxvcmVzIHJlc29sdmlkb3Ncbi8vIChnZXRDb21wdXRlZFN0eWxlKSBwcmEgbW9udGFyIG8gYFtjdXN0b21Db2xvcnNdYC4gQXNzaW0gc3RhdHVzIG11ZGEgZGUgY29yIG51bVxuLy8gbHVnYXIgc8OzIChvcyBtYXBhcyksIHNlbSBoZXggbGl0ZXJhbCBlc3BhbGhhZG8gbm8gVFMuXG46cm9vdCB7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJHN1Ym1pc3Npb24tc3RhdHVzIHtcbiAgICAtLWNoYXJ0LXN0YXR1cy0jeyRrZXl9OiAje250aCgkdmFsLCAxKX07XG4gIH1cbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkcmV2aWV3LXN0YXR1cyB7XG4gICAgLS1jaGFydC1zdGF0dXMtI3ska2V5fTogI3tudGgoJHZhbCwgMSl9O1xuICB9XG59XG4iLCJAaW1wb3J0ICdjb2xvcnMnO1xuXG4vLyBFc3RpbG9zIGFwbGljYWRvcyBBUEVOQVMgcXVhbmRvIG8gYXBwIGVzdMOhIHJvZGFuZG8gY29tbyBQV0EgaW5zdGFsYWRhXG4vLyAoc3RhbmRhbG9uZSAvIG1pbmltYWwtdWkgLyBmdWxsc2NyZWVuIC8gQ2hyb21lIC0tYXBwIC8gaU9TIEFkaWNpb25hclxuLy8gw6AgVGVsYSBkZSBJbsOtY2lvKS4gQSBjbGFzc2UgYGluc3RhbGxlZC1hcHBgIG5vIGA8Ym9keT5gIMOpIGFkaWNpb25hZGFcbi8vIHBlbG8gYEJhc2VDb21wb25lbnRgIGNvbnN1bHRhbmRvIG8gYFBsYXRmb3JtU2VydmljZWAuXG4vL1xuLy8gQm9yZGEgc3VwZXJpb3IgbmEgYmFycmEgZGUgbmF2ZWdhw6fDo28gRU5UUkUgRVZFTlRPUyAoZXZlbnQtYnJlYWRjcnVtYilcbi8vICsgbWVudSBsYXRlcmFsIGRvIGxheW91dCBtb2Rlcm5vIChleHBlcmltZW50YWwtc2lkZWJhcik6IGNvbXBlbnNhIGFcbi8vIGF1c8OqbmNpYSBkbyBjaHJvbWUgZG8gbmF2ZWdhZG9yIChiYXJyYSBkZSBlbmRlcmXDp28sIGFiYXMpIGRhbmRvIHVtYVxuLy8gbGluaGEgc3V0aWwgcXVlIGFuY29yYSB2aXN1YWxtZW50ZSBvIHRvcG8gZGEgVUkuXG5cbmJvZHkuaW5zdGFsbGVkLWFwcCB7XG4gIC5ldmVudC1icmVhZGNydW1iLCAgICAgICAgICAgLy8gYmFycmEgaG9yaXpvbnRhbCBjb20gYSBjYWRlaWEgY2xpY8OhdmVsIGRlIGV2ZW50b3NcbiAgLmV4cGVyaW1lbnRhbC1zaWRlYmFyIHsgICAgICAvLyBtZW51IGxhdGVyYWwgZG8gbGF5b3V0IG1vZGVybm8gKGNoYWlyIFVJKVxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodDtcbiAgfVxufVxuXG5ib2R5Lmluc3RhbGxlZC1hcHAuZGFyay10aGVtZSB7XG4gIC5ldmVudC1icmVhZGNydW1iLFxuICAuZXhwZXJpbWVudGFsLXNpZGViYXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcms7XG4gIH1cbn1cbiJdfQ== */
