@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 {
  --jems-hover-bg: #e8e6e3;
  --jems-hover-fg: #373734;
}
:root:not([data-os=mac]) .dark-theme {
  --jems-hover-bg: #34332f;
  --jems-hover-fg: #c4c2bd;
}
:root[data-os=mac] {
  --jems-hover-bg: AccentColor;
  --jems-hover-fg: #fff;
}
: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.cdk-keyboard-focused: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.cdk-keyboard-focused: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.cdk-keyboard-focused .mat-icon,
:root[data-os=mac] .mat-autocomplete-panel .mat-option:hover .mat-icon,
:root[data-os=mac] .mat-autocomplete-panel .mat-option.cdk-keyboard-focused .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.cdk-keyboard-focused .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.cdk-keyboard-focused .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;
}
.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);
}
.light-theme .sidebar-item.jems-toolbar-button:hover {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.dark-theme .sidebar-item.jems-toolbar-button: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 {
  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: none !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.is-selected {
  background-color: #2e2e2e !important;
  box-shadow: none !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;
}
.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;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.is-selected:hover:not([disabled]) {
  background-color: #ffffff !important;
  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:hover:not([disabled]) {
  background-color: #2e2e2e !important;
  box-shadow: 0 1px 3px 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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a1MxQjtBbUJyNlJFO0VBM0hBLGtCQzlCYztFRCtCZCxxQkM3QmU7QXBCaWtTakI7QW1CdDZSRTtFQTFIQSxVQUFBO0VBQ0EsaUJDdENjO0FwQjBrU2hCO0FtQnY2UkU7RUFySEEsWUFBQTtFQUNBLGlCQ3pDZ0I7QXBCeWtTbEI7QW1CeDZSRTtFQXBIQSxVQUFBO0VBQ0Esa0JDM0NhO0FwQjJrU2Y7QW1CejZSRTtFQW5IQSxVQUFBO0VBQ0Esa0JDN0NlO0FwQjZrU2pCO0FtQjVoU0U7RUFDRSxlQW9IWTtBbkIyNlJoQjtBbUI1aFNFO0VBQ0UsYUFnSFk7QW5CODZSaEI7QW1CbmlTRTtFQUNFLGVBb0hZO0FuQms3UmhCO0FtQm5pU0U7RUFDRSxhQWdIWTtBbkJxN1JoQjtBbUIxaVNFO0VBQ0UsZUFvSFk7QW5CeTdSaEI7QW1CMWlTRTtFQUNFLGFBZ0hZO0FuQjQ3UmhCO0FtQmpqU0U7RUFDRSxlQW9IWTtBbkJnOFJoQjtBbUJqalNFO0VBQ0UsYUFnSFk7QW5CbThSaEI7QW1CeGpTRTtFQUNFLGVBb0hZO0FuQnU4UmhCO0FtQnhqU0U7RUFDRSxhQWdIWTtBbkIwOFJoQjtBbUIvalNFO0VBQ0UsZUFvSFk7QW5CODhSaEI7QW1CL2pTRTtFQUNFLGFBZ0hZO0FuQmk5UmhCO0FtQnRrU0U7RUFDRSxlQW9IWTtBbkJxOVJoQjtBbUJ0a1NFO0VBQ0UsYUFnSFk7QW5CdzlSaEI7QW1CN2tTRTtFQUNFLGVBb0hZO0FuQjQ5UmhCO0FtQjdrU0U7RUFDRSxhQWdIWTtBbkIrOVJoQjtBbUJwbFNFO0VBQ0UsZUFvSFk7QW5CbStSaEI7QW1CcGxTRTtFQUNFLGFBZ0hZO0FuQnMrUmhCO0FtQjNsU0U7RUFDRSxlQW9IWTtBbkIwK1JoQjtBbUIzbFNFO0VBQ0UsYUFnSFk7QW5CNitSaEI7QW1CbG1TRTtFQUNFLGVBb0hZO0FuQmkvUmhCO0FtQmxtU0U7RUFDRSxhQWdIWTtBbkJvL1JoQjtBbUJ6bVNFO0VBQ0UsZUFvSFk7QW5Cdy9SaEI7QW1Cem1TRTtFQUNFLGFBZ0hZO0FuQjIvUmhCO0FtQmhuU0U7RUFDRSxlQW9IWTtBbkIrL1JoQjtBbUJoblNFO0VBQ0UsYUFnSFk7QW5Ca2dTaEI7QW1Cdm5TRTtFQUNFLGVBb0hZO0FuQnNnU2hCO0FtQnZuU0U7RUFDRSxhQWdIWTtBbkJ5Z1NoQjtBbUI5blNFO0VBQ0UsZUFvSFk7QW5CNmdTaEI7QW1COW5TRTtFQUNFLGFBZ0hZO0FuQmdoU2hCO0FtQm5nU007RUF4T0osY0FBQTtFQUNBLGtCQUFBO0VBQ0EsV0FIeUM7QW5Ca3ZTM0M7QW1CN3VTRTtFQUNFLGNBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0Esb0JBQUE7QW5CK3VTSjtBbUI1dVNFO0VBQ0UsV0FBQTtFQUNBLGNBQUE7RUFDQSxXQUFBO0FuQjh1U0o7QW1CM3VTRTtFQUNFLGNBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0FuQjZ1U0o7QW1CNWhTTTtFQXhPSixjQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUh5QztBbkIyd1MzQztBbUJ0d1NFO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxzQkFBQTtBbkJ3d1NKO0FtQnJ3U0U7RUFDRSxXQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7QW5CdXdTSjtBbUJwd1NFO0VBQ0UsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7QW5Cc3dTSjtBbUJyalNNO0VBeE9KLGNBQUE7RUFDQSxrQkFBQTtFQUNBLFdBSHlDO0FuQm95UzNDO0FtQi94U0U7RUFDRSxjQUFBO0VBQ0EsV0FBQTtFQUNBLFdBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLDhCQUFBO0FuQml5U0o7QW1COXhTRTtFQUNFLFdBQUE7RUFDQSxjQUFBO0VBQ0EsV0FBQTtBbkJneVNKO0FtQjd4U0U7RUFDRSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtBbkIreFNKO0FtQjlrU007RUF4T0osY0FBQTtFQUNBLGtCQUFBO0VBQ0EsV0FIeUM7QW5CNnpTM0M7QW1CeHpTRTtFQUNFLGNBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsOEJBQUE7QW5CMHpTSjtBbUJ2elNFO0VBQ0UsV0FBQTtFQUNBLGNBQUE7RUFDQSxXQUFBO0FuQnl6U0o7QW1CdHpTRTtFQUNFLGNBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0FuQnd6U0o7QW1Cdm1TTTtFQXhPSixjQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUh5QztBbkJzMVMzQztBbUJqMVNFO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxtQkFBQTtBbkJtMVNKO0FtQmgxU0U7RUFDRSxXQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7QW5CazFTSjtBbUIvMFNFO0VBQ0UsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7QW5CaTFTSjtBbUJob1NNO0VBeE9KLGNBQUE7RUFDQSxrQkFBQTtFQUNBLFdBSHlDO0FuQisyUzNDO0FtQjEyU0U7RUFDRSxjQUFBO0VBQ0EsV0FBQTtFQUNBLFdBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLG1CQUFBO0FuQjQyU0o7QW1CejJTRTtFQUNFLFdBQUE7RUFDQSxjQUFBO0VBQ0EsV0FBQTtBbkIyMlNKO0FtQngyU0U7RUFDRSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtBbkIwMlNKO0FtQnpwU007RUF4T0osY0FBQTtFQUNBLGtCQUFBO0VBQ0EsV0FIeUM7QW5CdzRTM0M7QW1CbjRTRTtFQUNFLGNBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsOEJBQUE7QW5CcTRTSjtBbUJsNFNFO0VBQ0UsV0FBQTtFQUNBLGNBQUE7RUFDQSxXQUFBO0FuQm80U0o7QW1CajRTRTtFQUNFLGNBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0FuQm00U0o7QW1CbHJTTTtFQXhPSixjQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUh5QztBbkJpNlMzQztBbUI1NVNFO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxxQkFBQTtBbkI4NVNKO0FtQjM1U0U7RUFDRSxXQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7QW5CNjVTSjtBbUIxNVNFO0VBQ0UsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7QW5CNDVTSjtBbUIzc1NNO0VBeE9KLGNBQUE7RUFDQSxrQkFBQTtFQUNBLFdBSHlDO0FuQjA3UzNDO0FtQnI3U0U7RUFDRSxjQUFBO0VBQ0EsV0FBQTtFQUNBLFdBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLDZCQUFBO0FuQnU3U0o7QW1CcDdTRTtFQUNFLFdBQUE7RUFDQSxjQUFBO0VBQ0EsV0FBQTtBbkJzN1NKO0FtQm43U0U7RUFDRSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtBbkJxN1NKO0FtQnB1U007RUF4T0osY0FBQTtFQUNBLGtCQUFBO0VBQ0EsV0FIeUM7QW5CbTlTM0M7QW1COThTRTtFQUNFLGNBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsbUJBQUE7QW5CZzlTSjtBbUI3OFNFO0VBQ0UsV0FBQTtFQUNBLGNBQUE7RUFDQSxXQUFBO0FuQis4U0o7QW1CNThTRTtFQUNFLGNBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0FuQjg4U0o7QW1CN3ZTTTtFQXhPSixjQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUh5QztBbkI0K1MzQztBbUJ2K1NFO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxzQkFBQTtBbkJ5K1NKO0FtQnQrU0U7RUFDRSxXQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7QW5CdytTSjtBbUJyK1NFO0VBQ0UsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7QW5CdStTSjtBbUJ0eFNNO0VBeE9KLGNBQUE7RUFDQSxrQkFBQTtFQUNBLFdBSHlDO0FuQnFnVDNDO0FtQmhnVEU7RUFDRSxjQUFBO0VBQ0EsV0FBQTtFQUNBLFdBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLDhCQUFBO0FuQmtnVEo7QW1CLy9TRTtFQUNFLFdBQUE7RUFDQSxjQUFBO0VBQ0EsV0FBQTtBbkJpZ1RKO0FtQjkvU0U7RUFDRSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtBbkJnZ1RKO0FtQi95U007RUF4T0osY0FBQTtFQUNBLGtCQUFBO0VBQ0EsV0FIeUM7QW5COGhUM0M7QW1CemhURTtFQUNFLGNBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsbUJBQUE7QW5CMmhUSjtBbUJ4aFRFO0VBQ0UsV0FBQTtFQUNBLGNBQUE7RUFDQSxXQUFBO0FuQjBoVEo7QW1CdmhURTtFQUNFLGNBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0FuQnloVEo7QW1CeDBTTTtFQXhPSixjQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUh5QztBbkJ1alQzQztBbUJsalRFO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxtQkFBQTtBbkJvalRKO0FtQmpqVEU7RUFDRSxXQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7QW5CbWpUSjtBbUJoalRFO0VBQ0UsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7QW5Ca2pUSjtBbUJqMlNNO0VBeE9KLGNBQUE7RUFDQSxrQkFBQTtFQUNBLFdBSHlDO0FuQmdsVDNDO0FtQjNrVEU7RUFDRSxjQUFBO0VBQ0EsV0FBQTtFQUNBLFdBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLHFCQUFBO0FuQjZrVEo7QW1CMWtURTtFQUNFLFdBQUE7RUFDQSxjQUFBO0VBQ0EsV0FBQTtBbkI0a1RKO0FtQnprVEU7RUFDRSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtBbkIya1RKO0FtQjEzU007RUF4T0osY0FBQTtFQUNBLGtCQUFBO0VBQ0EsV0FIeUM7QW5CeW1UM0M7QW1CcG1URTtFQUNFLGNBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsOEJBQUE7QW5Cc21USjtBbUJubVRFO0VBQ0UsV0FBQTtFQUNBLGNBQUE7RUFDQSxXQUFBO0FuQnFtVEo7QW1CbG1URTtFQUNFLGNBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0FuQm9tVEo7QW1CbjVTTTtFQXhPSixjQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUh5QztBbkJrb1QzQztBbUI3blRFO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxtQkFBQTtBbkIrblRKO0FtQjVuVEU7RUFDRSxXQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7QW5COG5USjtBbUIzblRFO0VBQ0UsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7QW5CNm5USjtBcUJucFRFO0VBQ0UsaUJBQUE7QXJCc3BUSjtBcUJscFRBO0VBQ0Usa0JBQUE7RUFDQSxXQUFBO0FyQnFwVEY7QXFCbnBURTtFQUNFLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLGtCQUFBO0VBRUEsZUFBQTtBckJvcFRKO0FxQmpwVEU7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLE9BQUE7RUFDQSxXQUFBO0VBQ0EsNkJBQUE7RUFDQSxrQkFBQTtBckJtcFRKO0FxQmhwVEU7RUFDRSxrQ0FBQTtBckJrcFRKO0FxQjlvVEU7RUFDRSxrQkFBQTtFQUNBLFFBQUE7QXJCZ3BUSjtBcUI1b1RJO0VBQ0UseUJBQUE7RUFDQSxxQkFBQTtBckI4b1ROO0FxQmhwVEk7RUFDRSx5QkFBQTtFQUNBLHFCQUFBO0FyQmtwVE47QXFCcHBUSTtFQUNFLHlCQUFBO0VBQ0EscUJBQUE7QXJCc3BUTjtBcUJ4cFRJO0VBQ0UseUJBQUE7RUFDQSxxQkFBQTtBckIwcFROO0FxQjVwVEk7RUFDRSx5QkFBQTtFQUNBLHFCQUFBO0FyQjhwVE47QXFCaHFUSTtFQUNFLHlCQUFBO0VBQ0EscUJBQUE7QXJCa3FUTjtBcUJwcVRJO0VBQ0UseUJBQUE7RUFDQSxxQkFBQTtBckJzcVROO0FxQnhxVEk7RUFDRSx5QkFBQTtFQUNBLHFCQUFBO0FyQjBxVE47QXFCNXFUSTtFQUNFLHlCQUFBO0VBQ0EscUJBQUE7QXJCOHFUTjtBcUJoclRJO0VBQ0UseUJBQUE7RUFDQSxxQkFBQTtBckJrclROO0FxQnByVEk7RUFDRSx5QkFBQTtFQUNBLHFCQUFBO0FyQnNyVE47QXFCeHJUSTtFQUNFLHlCQUFBO0VBQ0EscUJBQUE7QXJCMHJUTjtBcUI1clRJO0VBQ0UseUJBQUE7RUFDQSxxQkFBQTtBckI4clROO0FxQmhzVEk7RUFDRSx5QkFBQTtFQUNBLHFCQUFBO0FyQmtzVE47QXFCcHNUSTtFQUNFLHlCQUFBO0VBQ0EscUJBQUE7QXJCc3NUTjtBcUJqc1RBO0VBQ0Usa0JBQUE7QXJCb3NURjtBcUJqc1RBO0VBQ0Usd0JBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VBQ0EsY0FBQTtBckJvc1RGO0FxQmhzVEU7RUFDRSx5QkFBQTtBckJtc1RKO0FxQmhzVEU7RUFDRSxrQkFBQTtFQUNBLHlCQUFBO0VBQ0EsaUJBQUE7RUFDQSx3QkFBQTtFQUNBLDBDQUFBO0VBQ0EsbUJBQUE7QXJCa3NUSjtBcUI5clRBO0VBQ0UsaUJBQUE7QXJCaXNURjtBc0J6OFNBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEIwOFNGO0FzQjMyU0E7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCNjJTRjtBc0J2OVNBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEJ3OVNGO0FzQnozU0E7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCMjNTRjtBc0JyK1NBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEJzK1NGO0FzQnY0U0E7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCeTRTRjtBdUIveVRBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7QXZCa3pURjtBdUIzeVRBOztFQUVFLHdEQUFBO0VBQ0EscUJBQUE7RUFDQSxzQkFBQTtFQUNBLGNBQUE7QXZCOHlURjtBdUJ2eVRBO0VBQ0UsZUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxpQkFBQTtFQUNBLGFBQUE7RUFDQSx3REFBQTtBdkIweVRGO0F1QnB5VEE7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0F2QnV5VEY7QXVCbnlUQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLGlCQUFBO0F2QnN5VEY7QXVCOXhUQTtFQUNFLGdCQUFBO0VBQ0Esb0JBQUE7RUFDQSxxQkFBQTtFQUNBLGlCQUFBO0F2Qml5VEY7QXVCN3hUQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLDBCQUFBO0F2Qmd5VEY7QXVCNXhUQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7QXZCK3hURjtBdUJ6eFRBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkI0eFRGO0F1QnZ4VEE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0VBQ0EsNkJBQUE7QXZCMHhURjtBdUJ0eFRBO0VBQ0UsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSwyQkFBQTtBdkJ5eFRGO0FzQnhrVEE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QnlrVEY7QXNCMStTQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEI0K1NGO0FzQnRsVEE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QnVsVEY7QXNCeC9TQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEIwL1NGO0F1Qmg2VEE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtBdkJtNlRGO0F1QjU1VEE7O0VBRUUsd0RBQUE7RUFDQSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsY0FBQTtBdkIrNVRGO0F1Qng1VEE7RUFDRSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLHdEQUFBO0F2QjI1VEY7QXVCcjVUQTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QXZCdzVURjtBdUJwNVRBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7QXZCdTVURjtBdUIvNFRBO0VBQ0UsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7QXZCazVURjtBdUI5NFRBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7QXZCaTVURjtBdUI3NFRBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkJnNVRGO0F1QjE0VEE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2QjY0VEY7QXVCeDRUQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7RUFDQSw2QkFBQTtBdkIyNFRGO0F1QnY0VEE7RUFDRSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLDJCQUFBO0F2QjA0VEY7QXdCNy9UQTtFQUNFLGdCQUFBO0F4QmdnVUY7QXdCNy9UQTs7RUFFRSxZQUFBO0VBQ0EsdUxyQm9MWTtBSDQwVGQ7QXdCOS9URTs7RUFDRSxrQkFBQTtBeEJpZ1VKO0F3Qi8vVEk7O0VBQ0UsZUFBQTtBeEJrZ1VOO0F3QjcvVEk7O0VBQ0UsY0FBQTtBeEJnZ1VOO0F3QjMvVEk7O0VBQ0UsYUFBQTtBeEI4L1ROO0F3QjEvVEU7O0VBQ0UsZUFBQTtBeEI2L1RKO0F3QjUvVEk7RUFGRjs7SUFHSSxlQUFBO0V4QmdnVUo7QUFDRjtBd0I3L1RFOztFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7QXhCZ2dVSjtBd0I3L1RFOztFQUNFLFdBQUE7RUFDQSxZQUFBO0F4QmdnVUo7QXdCNS9UQTtFQUNFLFVBQUE7RUFDQSxTQUFBO0F4QisvVEY7QXdCMy9URTtFQUNFLGtCQUFBO0F4QjgvVEo7QXlCdC9URTtFQUNFLGtCQUFBO0VBQ0EsbUJBQUE7QXpCeS9USjtBeUJ0L1RFO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFDQSxjQUFBO0VBQ0EsbUJBQUE7QXpCdy9USjtBeUJyL1RFO0VBQ0UsaUJBQUE7RUFDQSxnQkFBQTtBekJ1L1RKO0F5QnAvVEU7RUFDRSxnQkFBQTtFQUNBLE9BQUE7QXpCcy9USjtBeUJuL1RFO0VBQ0UsYUFBQTtBekJxL1RKO0F5QmwvVEU7RUFDRSxXQUFBO0VBQ0EsT0FBQTtFQUNBLGFBQUE7RUFDQSxzQkFBQTtFQUNBLG9CQUFBO0F6Qm8vVEo7QXlCbC9USTtFQUNFLDhCQUFBO0F6Qm8vVE47QXlCaC9URTtFQUNFLGlCQUFBO0F6QmsvVEo7QXlCLytUSTtFQUpGO0lBS0ksY0FBQTtFekJrL1RKO0FBQ0Y7QXlCLytURTtFQUNFLHVCQUFBO0F6QmkvVEo7QXlCOStURTtFQUNFLHdCQUFBO0F6QmcvVEo7QXlCNytURTtFQUNFLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxxQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBQTtBekIrK1RKO0F5QjUrVEU7RUFDRSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7QXpCOCtUSjtBeUIzK1RFO0VBQ0UsT0FBQTtFQUNBLHFCQUFBO0VBQ0EsV0FBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLGVBQUE7QXpCNitUSjtBeUIxK1RFO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLHFCQUFBO0VBQ0EsV0FBQTtBekI0K1RKO0F5QnorVEU7RUFDRSxlQUFBO0F6QjIrVEo7QXlCeCtURTtFQUNFLFlBQUE7RUFDQSxlQUFBO0F6QjArVEo7QXlCditURTtFQUNFLGdCQUFBO0F6QnkrVEo7QXlCdCtURTtFQUNFLGFBQUE7QXpCdytUSjtBeUJyK1RFO0VBQ0Usa0JBQUE7RUFDQSxRQUFBO0F6QnUrVEo7QXlCbitUSTs7RUFFRSxZQUFBO0F6QnErVE47QXlCaitURTtFQUNFLFlBQUE7QXpCbStUSjtBeUJoK1RFO0VBQ0Usb0JBQUE7QXpCaytUSjtBeUIvOVRFO0VBQ0UsZUFBQTtBekJpK1RKO0F5Qi85VEk7RUFDRSwwQkFBQTtBekJpK1ROO0F5QnBxVUU7RUFDRSxzQkFBQTtBekJ1cVVKO0F5QnJxVUk7RUFDRSx5QkFBQTtBekJ1cVVOO0F5QnBxVUk7O0VBRUUseUJBQUE7QXpCc3FVTjtBeUJucVVJO0VBQ0UscUJBQUE7QXpCcXFVTjtBeUJscVVJO0VBQ0UsMkJBQUE7QXpCb3FVTjtBeUJqcVVJO0VBQ0UsNEJBQUE7QXpCbXFVTjtBeUJocVVJO0VBQ0UseUJBQUE7RUFDQSxXQUFBO0F6QmtxVU47QXlCL3BVSTtFQUNFLHlCQUFBO0VBQ0EscUJBQUE7RUFDQSxXQUFBO0F6QmlxVU47QXlCOXBVSTtFQUNFLGNBQUE7QXpCZ3FVTjtBeUI3cFVJO0VBQ0UseUJBQUE7QXpCK3BVTjtBeUI1cFVJO0VBQ0Usb0NBQUE7QXpCOHBVTjtBeUIzcFVJO0VBQ0UsV0FBQTtFQUNBLHNCQUFBO0VBQ0EsK0NBQUE7QXpCNnBVTjtBMEJsb1VBO0VBc01FLHlEQUFBO0ExQmc4VEY7QTBCcm9VRTtFQUNFLHNCQUFBO0ExQnVvVUo7QTBCcG9VRTtFQUNFLGFBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0ExQnNvVUo7QTBCbm9VRTtFQUNFLE9BQUE7RUFDQSxrQkFBQTtFQUNBLFlBQUE7QTFCcW9VSjtBMEJub1VJO0VBQ0UsdUJBQUE7QTFCcW9VTjtBMEJsb1VJO0VBQ0Usc0JBQUE7QTFCb29VTjtBMEJob1VFO0VBQ0UsZ0JBQUE7RUFDQSxZQUFBO0ExQmtvVUo7QTBCL25VRTtFQUNFLFlBQUE7RUFDQSxzQkFBQTtBMUJpb1VKO0EwQjluVUU7RUFDRSxlQUFBO0VBQ0EsaUJBQUE7QTFCZ29VSjtBMEI3blVFO0VBQ0UsV0FBQTtFQUNBLFlBQUE7QTFCK25VSjtBMEI1blVFO0VBQ0Usa0JBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTtFQUNBLFVBQUE7QTFCOG5VSjtBMEIzblVFO0VBQ0UsaUJBQUE7RUFDQSxhQUFBO0VBQ0Esd0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0ExQjZuVUo7QTBCM25VSTtFQUNFLFlBQUE7RUFDQSxXQUFBO0VBQ0EsYUFBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFVBQUE7QTFCNm5VTjtBMEIxblVJO0VBQ0Usa0JBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7QTFCNG5VTjtBMEJ6blVJO0VBQ0UscUJBQUE7RUFDQSxrQkFBQTtBMUIyblVOO0EwQnpuVU07RUFDRSxVQUFBO0VBQ0Esb0JBQUE7QTFCMm5VUjtBMEJ2blVJO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7QTFCeW5VTjtBMEJ0blVJO0VBQ0UsMkJBQUE7RUFDQSw4QkFBQTtBMUJ3blVOO0EwQnJuVUk7RUFDRSw0QkFBQTtFQUNBLCtCQUFBO0ExQnVuVU47QTBCcG5VSTtFQUNFLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EsZUFBQTtBMUJzblVOO0EwQm5uVUk7RUFDRSxVQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0ExQnFuVU47QTBCbm5VTTtFQUNFLFFBQUE7QTFCcW5VUjtBMEJoblVFOztFQUVFLGdCQUFBO0VBQ0EsdUJBQUE7RUFDQSxtQkFBQTtBMUJrblVKO0EwQi9tVUU7RUFDRSxvQkFBQTtFQUNBLFVBQUE7QTFCaW5VSjtBMEIvbVVJO0VBQ0Usb0JBQUE7QTFCaW5VTjtBMEI3bVVFO0VBQ0Usa0JBQUE7RUFDQSxpQkFBQTtFQUNBLGFBQUE7RUFDQSxhQUFBO0ExQittVUo7QTBCN21VSTtFQUNFLGFBQUE7RUFDQSxZQUFBO0ExQittVU47QTBCNW1VSTtFQUNFLGtCQUFBO0ExQjhtVU47QTBCM21VSTtFQUNFLGtCQUFBO0ExQjZtVU47QTBCMW1VSTtFQUNFLGtCQUFBO0VBQ0EsVUFBQTtBMUI0bVVOO0EwQnptVUk7RUFDRSx1QkFBQTtFQUNBLHdCQUFBO0VBQ0EsV0FBQTtFQUNBLGNBQUE7RUFDQSxpQkFBQTtBMUIybVVOO0EwQnhtVUk7RUFDRSxXQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7QTFCMG1VTjtBMEJ4bVVNO0VBQ0UsU0FBQTtBMUIwbVVSO0EwQnJtVUU7RUFDRSxrQkFBQTtBMUJ1bVVKO0EwQnJtVUk7RUFDRSxZQUFBO0ExQnVtVU47QTBCbm1VRTtFQUNFLGVBQUE7QTFCcW1VSjtBMEJsbVVFO0VBQ0UsWUFBQTtBMUJvbVVKO0EwQmhtVUU7O0VBRUUsY0FBQTtBMUJrbVVKO0EwQi9sVUU7O0VBRUUsMEJBQUE7QTFCaW1VSjtBMEI5bFVFO0VBQ0UsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTtBMUJnbVVKO0EwQjVsVUk7RUFDRSxhQUFBO0ExQjhsVU47QTBCMWxVRTtFQUNFLDJCQUFBO0VBQ0EsNEJBQUE7QTFCNGxVSjtBMEJ6bFVFO0VBQ0UsOEJBQUE7RUFDQSwrQkFBQTtBMUIybFVKO0EwQjc0VUU7RUFDRSxzQkFBQTtFQUNBLDZCQUFBO0ExQmc1VUo7QTBCOTRVSTtFQUNFLHFCQUFBO0VBQ0EsYUFBQTtBMUJnNVVOO0EwQjU0VU07RUFDRSwyQkFBQTtBMUI4NFVSO0EwQjM0VU07RUFDRSwwQkFBQTtBMUI2NFVSO0EwQno0VUk7O0VBRUUseUJBQUE7QTFCMjRVTjtBMEJ4NFVJO0VBQ0UsMEJBQUE7QTFCMDRVTjtBMEJ2NFVJO0VBQ0UseUJBQUE7RUFDQSxxQkFBQTtFQUNBLGNBQUE7QTFCeTRVTjtBMEJ0NFVJO0VBQ0UscUJBQUE7QTFCdzRVTjtBMEJyNFVJO0VBQ0UseUJBQUE7QTFCdTRVTjtBMEJwNFVJO0VBQ0UsY0FBQTtBMUJzNFVOO0EwQm40VUk7RUFDRSxxQkFBQTtBMUJxNFVOO0EwQmo0VVU7RUFDRSx5QkFBQTtBMUJtNFVaO0EwQjczVUk7RUFDRSx5QkFBQTtBMUIrM1VOO0EwQjUzVUk7RUFDRSx5QkFBQTtBMUI4M1VOO0EwQjMzVUk7O0VBRUUsNEJBQUE7QTFCNjNVTjtBMEIxM1VJO0VBQ0UseUJBQUE7QTFCNDNVTjtBMkI1OFVBO0VBQ0UseURBQUE7QTNCKzhVRjtBMkI5OFVFO0VBQ0UsYUFBQTtBM0JnOVVKO0EyQjc4VUU7RUFDRSxpQkFBQTtBM0IrOFVKO0EyQjU4VUU7RUFDRSxjQUFBO0EzQjg4VUo7QTJCMzhVRTtFQUNFLGlCQUFBO0VBQ0Esd0JBQUE7QTNCNjhVSjtBNEIvN1VBO0VBQ0Usa0JBQUE7RUFDQSxhQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxzQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxvQkFBQTtFQUNBLGVBQUE7RUFDQSxxQkFBQTtFQUNBLFlBQUE7QTVCazhVRjtBNEIvN1VBO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0E1Qms4VUY7QTRCLzdVQTtFQUNFLFNBQUE7RUFDQSxTQUFBO0VBQ0EsaUJBQUE7RUFDQSx1QkFBQTtBNUJrOFVGO0E0Qi83VUE7RUFDRSxjQUFBO0VBQ0EsZ0JBQUE7QTVCazhVRjtBNEIvN1VBO0VBQ0UsUUFBQTtFQUNBLE9BQUE7RUFDQSxnQkFBQTtFQUNBLDJCQUFBO0E1Qms4VUY7QTRCLzdVQTtFQUNFLGNBQUE7RUFDQSxlQUFBO0E1Qms4VUY7QTRCLzdVQTtFQUNFLE1BQUE7RUFDQSxTQUFBO0VBQ0EsaUJBQUE7RUFDQSx1QkFBQTtBNUJrOFVGO0E0Qi83VUE7RUFDRSxjQUFBO0VBQ0EsaUJBQUE7QTVCazhVRjtBNEIvN1VBO0VBQ0UsUUFBQTtFQUNBLFFBQUE7RUFDQSxnQkFBQTtFQUNBLDJCQUFBO0E1Qms4VUY7QTRCLzdVQTtFQUNFLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLHNCQUFBO0E1Qms4VUY7QTRCLzdVQTtFQUNFLGtCQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSx5QkFBQTtFQUNBLG1CQUFBO0E1Qms4VUY7QTRCemlWRTtFQUNFLHNCQUFBO0E1QjRpVko7QTRCemlWRTtFQUNFLHdCQUFBO0E1QjRpVko7QTRCemlWRTtFQUNFLHlCQUFBO0E1QjRpVko7QTRCemlWRTtFQUNFLHVCQUFBO0E1QjRpVko7QTRCemlWRTtFQUNFLFdBQUE7RUFDQSxzQkFBQTtBNUI0aVZKO0FzQmh3VUE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0Qml3VUY7QXNCbHFVQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJvcVVGO0FzQjl3VUE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0Qit3VUY7QXNCaHJVQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJrclVGO0F1QnhsVkE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtBdkIybFZGO0F1QnBsVkE7O0VBRUUsd0RBQUE7RUFDQSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsY0FBQTtBdkJ1bFZGO0F1QmhsVkE7RUFDRSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLHdEQUFBO0F2Qm1sVkY7QXVCN2tWQTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QXZCZ2xWRjtBdUI1a1ZBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7QXZCK2tWRjtBdUJ2a1ZBO0VBQ0UsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7QXZCMGtWRjtBdUJ0a1ZBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7QXZCeWtWRjtBdUJya1ZBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkJ3a1ZGO0F1QmxrVkE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2QnFrVkY7QXVCaGtWQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7RUFDQSw2QkFBQTtBdkJta1ZGO0F1Qi9qVkE7RUFDRSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLDJCQUFBO0F2QmtrVkY7QTZCcnJWQTtFQUNFLGtDQUFBO0VBQ0EsNkJBQUE7RUFDQSx3QkFBQTtFQUNBLGtCQUFBO0E3QndyVkY7QTZCdHJWRTtFQUNFLFlBQUE7QTdCd3JWSjtBNkJ0clZJO0VBQ0UsbUJBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0E3QndyVk47QTZCcnJWSTtFQUNFLG9CQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtBN0J1clZOO0E2QnByVkk7RUFDRSxhQUFBO0VBQ0EsdUJBQUE7RUFDQSxvQkFBQTtFQUNBLHVCQUFBO0E3QnNyVk47QTZCcHJWTTtFQUNFLDhDQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtBN0JzclZSO0E2QmhyVkk7RUFDRSxlQUFBO0VBQ0EsWUFBQTtBN0JrclZOO0E2QjFxVkk7RUFDRSx1QkFBQTtFQUNBLHlDQUFBO0E3QjRxVk47QTZCeHFWRTtFQUVFLHNCQUFBO0E3QnlxVko7QTZCcnFWQTtFQUNFLFdBQUE7RUFDQSxnQkFBQTtBN0J3cVZGO0E2QnJxVkk7RUFDRSxzQkFBQTtFQUNBLGlCQUFBO0E3QnVxVk47QTZCaHFWSTtFQUNFLGlCQUFBO0VBQ0EsbUJBQUE7QTdCbXFWTjtBNkJocVZJO0VBQ0UsV0FBQTtFQUVBLHlCUG1EZ0I7RU9sRGhCLG9CQUFBO0E3QmlxVk47QTZCN3BWTTtFQUNFLFVBQUE7RUFDQSw0QkFBQTtFQUVBLG1GQUFBO0E3QjhwVlI7QTZCMXBWSTtFQUNFLFVBQUE7RUFDQSxnQ0FBQTtFQUVBLGVBQUE7RUFDQSxTQUFBO0VBRUEsZ0JBQUE7RUFDQSxVQUFBO0VBQ0Esa0JBQUE7QTdCMHBWTjtBNkJwcFZFO0VBQ0UsV0FBQTtBN0J1cFZKO0E2QmxwVkE7RUFDRSw4QkFBQTtBN0JxcFZGO0E2QjdvVkE7RUFDRSxrQkFBQTtFQUNBLFNBQUE7QTdCZ3BWRjtBNkJwb1ZBO0VBQ0UsU0FBQTtFQUNBLFVBQUE7QTdCdW9WRjtBNkJqb1ZBO0VBQ0Usa0NBQUE7VUFBQSwwQkFBQTtFQUNBLDJCQUFBO0E3Qm9vVkY7QTZCaG9WRTtFQUNFLGtCQUFBO0E3Qm1vVko7QTZCam9WSTtFQUNFLGlCQUFBO0E3Qm1vVk47QTZCaG9WSTtFQUNFLFNBQUE7QTdCa29WTjtBc0I3OVVBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEI4OVVGO0FzQi8zVUE7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCaTRVRjtBc0IzK1VBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEI0K1VGO0FzQjc0VUE7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCKzRVRjtBdUJyelZBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7QXZCd3pWRjtBdUJqelZBOztFQUVFLHdEQUFBO0VBQ0EscUJBQUE7RUFDQSxzQkFBQTtFQUNBLGNBQUE7QXZCb3pWRjtBdUI3eVZBO0VBQ0UsZUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxpQkFBQTtFQUNBLGFBQUE7RUFDQSx3REFBQTtBdkJnelZGO0F1QjF5VkE7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0F2QjZ5VkY7QXVCenlWQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLGlCQUFBO0F2QjR5VkY7QXVCcHlWQTtFQUNFLGdCQUFBO0VBQ0Esb0JBQUE7RUFDQSxxQkFBQTtFQUNBLGlCQUFBO0F2QnV5VkY7QXVCbnlWQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLDBCQUFBO0F2QnN5VkY7QXVCbHlWQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7QXZCcXlWRjtBdUIveFZBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkJreVZGO0F1Qjd4VkE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0VBQ0EsNkJBQUE7QXZCZ3lWRjtBdUI1eFZBO0VBQ0UsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSwyQkFBQTtBdkIreFZGO0E4Qi80VkU7RUFDRSxjQUFBO0E5Qms1Vko7QThCaDVWSTtFQUhGO0lBSUksY0FBQTtFOUJtNVZKO0FBQ0Y7QThCajVWSTtFQUNFLDRCUnVFZTtFUXRFZiwrQkFBQTtFQUNBLGlCQUFBO0E5Qm01Vk47QThCOTRWQTtFQUNFLFVBQUE7QTlCaTVWRjtBOEI3NFZFO0VBQVUscUJBQUE7QTlCZzVWWjtBOEI3NFZBO0VBQ0UsWUMrRWU7QS9CaTBWakI7QThCeDRWQTs7O0VBR0UsaUJDb0VlO0EvQnUwVmpCO0E4Qng0VkE7RUFDRSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxXQUFBO0VBRUEsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7RUFFQSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBO0E5Qnk0VkY7QThCdDRWQTtFQUNFLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0E5Qnk0VkY7QThCdjRWRTtFQUNFLG1DQUFBO0E5Qnk0Vko7QThCdDRWRTtFQUNFLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSw2QkFBQTtBOUJ3NFZKO0E4QnY0Vkk7RUFDRSwrQkFBQTtBOUJ5NFZOO0E4QnI0VkU7RUFDRSxpQkFBQTtFQUNBLHVCQUFBO0VBQ0EsZ0JBQUE7RUFDQSw2QkFBQTtBOUJ1NFZKO0E4QnQ0Vkk7RUFDRSwrQkFBQTtBOUJ3NFZOO0E4QnQ0Vkk7RUFDRSxnQkFBQTtFQUNBLGNSNkd5QjtBdEIyeFYvQjtBOEJwNFZFO0VBQ0UsVUFBQTtBOUJzNFZKO0E4Qmo0VkU7RUFDRSxhQUFBO0E5Qm80Vko7QThCbDRWSTtFQUNFLHVMM0J5RlE7RTJCeEZSLGdCQUFBO0E5Qm80Vk47QThCbDRWTTtFQUNFLGlCQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7QTlCbzRWUjtBOEJqNFZNO0VBQ0UsVUFBQTtBOUJtNFZSO0E4QjczVkE7RUFDRSxxQkFBQTtBOUJnNFZGO0E4QjczVkE7RUFDRSxpQkN0RWU7RUR1RWYsaUJBQUE7QTlCZzRWRjtBOEI5M1ZFO0VBQ0UsWUMxRWE7RUQyRWIsV0MzRWE7RUQ0RWIsaUJDNUVhO0EvQjQ4VmpCO0E4QjczVkU7RUFDRSxZQy9FcUI7RURnRnJCLFdDaEZxQjtFRGlGckIsaUJDakZxQjtFRGtGckIsaUJDakY4QjtBL0JnOVZsQztBOEI1M1ZFO0VBQ0Usa0JBQUE7RUFDQSxxQkFBQTtFQUNBLGlCQ3hGcUI7QS9CczlWekI7QThCaDNWQTtFQUNFLCtCQUFBO0VBQ0EsOEJBQUE7RUFDQSxrQ0FBQTtFQUNBLHNCQUFBO0VBQ0EsdUJBQUE7RUFDQSwwQkFBQTtFQUNBLHFCQUFBO0VBQ0Esb0JBQUE7RUFDQSw2QkFBQTtFQUNBLDZCQUFBO0VBQ0EsNEJBQUE7RUFDQSx1QkFBQTtFQUNBLGNBQUE7RUFDQSxlQUFBO0VBQ0EsbUVBQUE7QTlCbTNWRjtBOEJoM1ZFOztFQUVFLHdCQUFBO0E5QmszVko7QThCNzJWRTtFQUNFLDBCQUFBO0VBQ0Esc0JBQUE7RUFDQSx1QkFBQTtFQUNBLDRCQUFBO0VBQ0EsYUFBQTtFQUNBLHdEQUFBO0VBQ0EsMERBQUE7QTlCKzJWSjtBOEJyMlZFO0VBQ0UsWUFBQTtBOUJ1MlZKO0E4QnAyVkU7RUFDRSxVQUFBO0VBQ0Esd0RBQUE7QTlCczJWSjtBOEJuMlZFO0VBQ0UsMkNBQUE7RUFDQSxtQkFBQTtBOUJxMlZKO0E4Qi8wVkE7O0VBRUUsb0JBQUE7RUFDQSxvQkFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7RUFDQSxlQUFBO0VBQ0EsMEdBQUE7QTlCazFWRjtBOEIxMFZBOztFQUVFLG9CQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtBOUI2MFZGO0E4QjEwVkE7RUFDRSxnQkFBQTtBOUI2MFZGO0E4QjEwVkE7RUFDRSxnQkFBQTtFQUtBLHlCUnhGeUI7RVEyRnpCLGNSckY2QjtFUXlGN0IscUJSclFTO0F0QnlrV1g7QThCajBWQTtFQUNFLHlCUmxHOEI7RVFtRzlCLGNSNUZrQztFUTZGbEMscUJSakkyQjtBdEJxOFY3QjtBOEI5elZBOztFQUVFLHlDQUFBO0E5QmkwVkY7QThCL3pWQTtFQUNFLHlCUmpHd0M7RVFrR3hDLHFCUnZSUztBdEJ5bFdYO0E4QmgwVkE7RUFDRSx5QlJwRzZDO0VRcUc3QyxxQlJqSjJCO0F0Qm85VjdCO0E4QmowVkE7RUFDRSx3QkFBQTtBOUJvMFZGO0E4Qjd6VkE7RUFDRSxxQkFBQTtBOUJnMFZGO0E4QnZ6VkE7OztFQUdFLHlCQUFBO0E5QjB6VkY7QThCeHpWQTs7O0VBR0UseUJBQUE7QTlCMnpWRjtBOEJqelZBOzs7RUFHRSxvQ0FBQTtFQUNBLHlCQUFBO0VBQ0EsWUFBQTtBOUJvelZGO0E4Qmx6VkE7OztFQUdFLG9DQUFBO0VBQ0EseUJBQUE7RUFDQSxhQUFBO0E5QnF6VkY7QThCeHlWQTtFQUNFLHdCQUFBO0tBQUEscUJBQUE7VUFBQSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7RUFzQkEsWUNqUmU7RURrUmYsZUFBQTtFQUNBLGVBQUE7RUFDQSw2QkFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLGNBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsbUJBQUE7RUFDQSw2QkFBQTtFQUNBLGNSdk42QjtBdEI2K1YvQjtBOEJselZFOzs7OztFQUtFLGVBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0EsaUJBQUE7RUFDQSxjQUFBO0E5Qm96Vko7QThCL3hWRTtFQUFVLGFBQUE7QTlCa3lWWjtBOEJqeVZFO0VBQ0UsMEJBQUE7RUFDQSxtQkFBQTtBOUJteVZKO0E4QjV4VkU7RUFFRSxlQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtBOUI2eFZKO0E4Qnp4VkE7O0VBRUUsZ0NBQUE7QTlCNHhWRjtBOEJ4eFZBO0VBQ0UseUJSelB5QjtFUTBQekIscUJSamFTO0F0QjRyV1g7QThCenhWQTtFQUNFLHlCUjVQOEI7RVE2UDlCLHFCUjVSMkI7RVE2UjNCLGNSdlBrQztBdEJtaFdwQztBOEJ4eFZBO0VBQ0UseUJSallrQjtFUWtZbEIscUJSbFlrQjtFUW1ZbEIsV0FBQTtFQUNBLGdCQUFBO0E5QjJ4VkY7QThCenhWQTtFQUNFLHlCUnRZdUI7RVF1WXZCLHFCUnZZdUI7RVEwWXZCLFlSdlN3QjtBdEJpa1cxQjtBOEJyeFZBO0VBQ0UseUJSOVlxQjtFUStZckIscUJSL1lxQjtFUWdackIsV0FBQTtFQUNBLGdCQUFBO0E5Qnd4VkY7QThCdHhWQTtFQUNFLHlCUm5aMEI7RVFvWjFCLHFCUnBaMEI7RVFxWjFCLFlSMVlzQjtBdEJtcVd4QjtBOEJweFZBO0VBQ0UseUJSblJ3QztFUW9SeEMscUJSemNTO0F0Qmd1V1g7QThCcnhWQTtFQUNFLHlCUnRSNkM7RVF1UjdDLHFCUm5VMkI7QXRCMmxXN0I7QThCcHhWQTs7RUFFRSx3QkFBQTtBOUJ1eFZGO0E4Qmp4VkE7Ozs7RUFJRSx5QlJ2VHlCO0VRd1R6QixxQlIvZFM7QXRCbXZXWDtBOEJseFZBOzs7O0VBSUUseUJSN1Q4QjtFUThUOUIscUJSN1YyQjtBdEJrblc3QjtBOEIvd1ZFO0VBQ0Usb0JBQUE7RUFDQSxzQkFBQTtFQUNBLHFCQUFBO0VBRUEsa0JBQUE7QTlCaXhWSjtBOEIvd1ZJO0VBQ0UsbUJBQUE7QTlCaXhWTjtBOEI5d1ZJO0VBQ0UsdUwzQmxVUTtFMkJtVVIsaUJBQUE7RUFFQSxtQkFBQTtFQUNBLGdCQUFBO0VBRUEsc0JBQUE7RUFDQSxpQkFBQTtBOUI4d1ZOO0E4QjV3Vk07RUFDRSxVQUFBO0VBRUEscUJBQUE7RUFDQSxzQkFBQTtBOUI2d1ZSO0E4Qnp3Vkk7RUFDRSwrQkFBQTtBOUIyd1ZOO0E4QnZ3VkU7RUFDRSxXQzFhYTtFRDJhYixZQzNhYTtFRDZhYixvQkFBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7RUFFQSxpQkNqYmE7QS9Cd3JXakI7QThCcHdWRTtFQUVFLFdBQUE7QTlCcXdWSjtBOEJsd1ZFO0VBQ0UsK0JBQUE7QTlCb3dWSjtBc0JwK1ZBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEJxK1ZGO0FzQnQ0VkE7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCdzRWRjtBc0JsL1ZBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEJtL1ZGO0FzQnA1VkE7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCczVWRjtBc0JoZ1dBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEJpZ1dGO0FzQmw2VkE7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCbzZWRjtBdUIxMFdBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7QXZCNjBXRjtBdUJ0MFdBOztFQUVFLHdEQUFBO0VBQ0EscUJBQUE7RUFDQSxzQkFBQTtFQUNBLGNBQUE7QXZCeTBXRjtBdUJsMFdBO0VBQ0UsZUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxpQkFBQTtFQUNBLGFBQUE7RUFDQSx3REFBQTtBdkJxMFdGO0F1Qi96V0E7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0F2QmswV0Y7QXVCOXpXQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLGlCQUFBO0F2QmkwV0Y7QXVCenpXQTtFQUNFLGdCQUFBO0VBQ0Esb0JBQUE7RUFDQSxxQkFBQTtFQUNBLGlCQUFBO0F2QjR6V0Y7QXVCeHpXQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLDBCQUFBO0F2QjJ6V0Y7QXVCdnpXQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7QXZCMHpXRjtBdUJweldBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkJ1eldGO0F1Qmx6V0E7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0VBQ0EsNkJBQUE7QXZCcXpXRjtBdUJqeldBO0VBQ0UsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSwyQkFBQTtBdkJveldGO0FnQzk0V0E7RUFDRSxrQkFBQTtFQUNBLHNCQUFBO0VBQ0EsdUJBQUE7RUFDQSwwQkFBQTtFQUNBLHVCVitCaUI7RVUzQmpCLG9DQUFBO0VBQ0EsNkJBQUE7RUFDQSxzQkFBQTtFQUNBLGVBQUE7RUFDQSw2REFBQTtBaEM4NFdGO0FnQ2o0V0U7RUFDRSw2QkFBQTtFQUNBLGtDQUFBO0FoQ200V0o7QWdDNzNXRTtFQUVFLGVBQUE7RUFDQSxvQkFBQTtBaEM4M1dKO0FnQ3gzV0U7RUFDRSxnQ0FBQTtFQUNBLDZCQUFBO0VBQ0Esa0NBQUE7QWhDMDNXSjtBZ0NyM1dFO0VBQ0UsVUFBQTtFQUNBLHdEQUFBO0FoQ3UzV0o7QWdDajNXRTtFQ2hFQSxlQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLHlCWHVCa0I7RVd0QmxCLGNBWCtDO0VBWS9DLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLG9CQUFBO0VEdURFLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUFDQSx5Q0FBQTtBaEM4M1dKO0FnQ3IzV0E7OztFQVVFLDRCQUFBO0FoQ2kzV0Y7QWdDejJXQTtFQUNFLDRCQUFBO0VBQ0EsNkJBQUE7QWhDNDJXRjtBZ0N6MldBO0VBQ0UsdUJWNURzQjtFVTZEdEIsZ0NBQUE7RUFLQSxjVm9Ea0M7QXRCb3pXcEM7QWdDdjJXRTtFQUFZLGNBQUE7QWhDMDJXZDtBZ0N2MldFO0VBQ0UsNkJBQUE7RUFDQSxrQ0FBQTtBaEN5MldKO0FnQ2wyV0U7RUFDRSxnQ0FBQTtFQUNBLDZCQUFBO0VBQ0Esa0NBQUE7QWhDbzJXSjtBZ0M5MVdFO0VBQ0UseUJWdkdxQjtFVXdHckIsWVYxRm9CO0F0QjA3V3hCO0FzQnByV0E7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QnFyV0Y7QXNCdGxXQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJ3bFdGO0FzQmxzV0E7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0Qm1zV0Y7QXNCcG1XQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJzbVdGO0F1QjVnWEE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtBdkIrZ1hGO0F1QnhnWEE7O0VBRUUsd0RBQUE7RUFDQSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsY0FBQTtBdkIyZ1hGO0F1QnBnWEE7RUFDRSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLHdEQUFBO0F2QnVnWEY7QXVCamdYQTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QXZCb2dYRjtBdUJoZ1hBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7QXZCbWdYRjtBdUIzL1dBO0VBQ0UsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7QXZCOC9XRjtBdUIxL1dBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7QXZCNi9XRjtBdUJ6L1dBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkI0L1dGO0F1QnQvV0E7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2QnkvV0Y7QXVCcC9XQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7RUFDQSw2QkFBQTtBdkJ1L1dGO0F1Qm4vV0E7RUFDRSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLDJCQUFBO0F2QnMvV0Y7QWtDeG1YRTtFQUNFLCtHWmdUYTtFWTlTYixpQlppRmlCO0VZaEZqQixZWjRSWTtFWTFSWixhQUFBO0VBQ0Esb0JBQUE7QWxDeW1YSjtBa0NqbVhBO0VBQ0Usd0NBQUE7RUFDQSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EscUJBQUE7RUFDQSxnQkFBQTtFQUNBLHNCQUFBO0VBQ0EseUNBQUE7QWxDb21YRjtBa0NsbVhBO0VBQ0UseUJaN0JTO0VZOEJULGNackJTO0F0QjBuWFg7QWtDN2xYQTtFQUNFLG9DQUFBO0VBQ0EseUJBQUE7QWxDZ21YRjtBbUMzb1hFO0VBQ0Usb0JBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esc0JBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtBbkM4b1hKO0FtQzVvWEk7RUFDRSwwQkFBQTtFQUNBLDRCYlFhO0VhUGIsd0JBQUE7QW5DOG9YTjtBbUMzb1hJO0VBQ0UsaUJBQUE7QW5DNm9YTjtBbUMzb1hNO0VBQ0UsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFFQSxpQkFBQTtBbkM0b1hSO0FtQ3pvWE07RUFDRSxlQUFBO0VBQ0EsaUJBQUE7RUFFQSxxQkFBQTtFQUNBLHNCQUFBO0FuQzBvWFI7QW9DenFYSTtFQUNFLHdCQUFBO0FwQzRxWE47QW9DenFYSTtFQUNFLHVCQUFBO0VBQ0EsY2Q2SGdCO0F0QjhpWHRCO0FvQ3JxWE07RUFDRSx3QkFBQTtFQUNBLGNBQUE7QXBDdXFYUjtBb0NscVhFO0VBQ0UsV0FBQTtBcENvcVhKO0FvQzdwWE07RUFDRSxXQUFBO0VBQ0EsWUFBQTtBcENncVhSO0FvQzNwWE07RUFDRSxhQUFBO0VBQ0EsZ0JBQUE7QXBDNnBYUjtBb0MxcFhVO0VBQ0Usb0JBQUE7RUFDQSxlQUFBO0VBQ0Esb0JBQUE7QXBDNHBYWjtBc0JsNFdBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEJtNFdGO0FzQnB5V0E7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCc3lXRjtBc0JoNVdBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEJpNVdGO0FzQmx6V0E7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCb3pXRjtBc0I5NVdBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEIrNVdGO0FzQmgwV0E7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCazBXRjtBdUJ4dVhBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7QXZCMnVYRjtBdUJwdVhBOztFQUVFLHdEQUFBO0VBQ0EscUJBQUE7RUFDQSxzQkFBQTtFQUNBLGNBQUE7QXZCdXVYRjtBdUJodVhBO0VBQ0UsZUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxpQkFBQTtFQUNBLGFBQUE7RUFDQSx3REFBQTtBdkJtdVhGO0F1Qjd0WEE7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0F2Qmd1WEY7QXVCNXRYQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLGlCQUFBO0F2Qit0WEY7QXVCdnRYQTtFQUNFLGdCQUFBO0VBQ0Esb0JBQUE7RUFDQSxxQkFBQTtFQUNBLGlCQUFBO0F2QjB0WEY7QXVCdHRYQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLDBCQUFBO0F2Qnl0WEY7QXVCcnRYQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7QXZCd3RYRjtBdUJsdFhBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkJxdFhGO0F1Qmh0WEE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0VBQ0EsNkJBQUE7QXZCbXRYRjtBdUIvc1hBO0VBQ0UsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSwyQkFBQTtBdkJrdFhGO0FzQmpnWEE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QmtnWEY7QXNCbjZXQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJxNldGO0FzQi9nWEE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QmdoWEY7QXNCajdXQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJtN1dGO0FzQjdoWEE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QjhoWEY7QXNCLzdXQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJpOFdGO0F1QnYyWEE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtBdkIwMlhGO0F1Qm4yWEE7O0VBRUUsd0RBQUE7RUFDQSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsY0FBQTtBdkJzMlhGO0F1Qi8xWEE7RUFDRSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLHdEQUFBO0F2QmsyWEY7QXVCNTFYQTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QXZCKzFYRjtBdUIzMVhBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7QXZCODFYRjtBdUJ0MVhBO0VBQ0UsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7QXZCeTFYRjtBdUJyMVhBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7QXZCdzFYRjtBdUJwMVhBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkJ1MVhGO0F1QmoxWEE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2Qm8xWEY7QXVCLzBYQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7RUFDQSw2QkFBQTtBdkJrMVhGO0F1QjkwWEE7RUFDRSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLDJCQUFBO0F2QmkxWEY7QXNCaG9YQTtFQUVFLCtPQUFBO0VBRUEsaVlBQUE7QXRCaW9YRjtBc0JsaVhBO0VBRUUsb0NBQUE7RUFDQSxtQ0FBQTtFQUNBLHFDQUFBO0VBQ0EscUNBQUE7RUFDQSxzQ0FBQTtFQUNBLG9DQUFBO0F0Qm9pWEY7QXFDdDhYSTtFQUNJLHlCQUFBO0FyQ3k4WFI7QXFDMzdYSTtFQUNJLHFCQUFBO0FyQzg3WFI7QXFDNTdYSTtFQUNJLG9CQUFBO0VBQ0EscUJBQUE7RUFDQSw2QkFBQTtFQUNBLDZCQUFBO0VBQ0EsMkJBQUE7RUFLQSx1QkFBQTtFQUNBLHdCQUFBO0VBQ0EsMEJBQUE7RUFDQSxlQUFBO0VBRUEsd0JBQUE7RUFDQSw4QkFBQTtBckMwN1hSO0FxQ3g3WFE7RUFNSSw0QkFBQTtBckNxN1haO0FxQ2w3WEk7RUFDSSx3QkFBQTtBckNxN1hSO0FxQ3A2WEk7OztFQUdJLGlDQUFBO0VBQ0Esd0JBQUE7RUFDQSw4QkFBQTtFQUNBLHNCQUFBO0VBQ0Esb0JBQUE7RUFDQSx1QkFBQTtFQUNBLDJCQUFBO0VBQ0EseUJBQUE7RUFDQSx5QkFBQTtFQUNBLDZCQUFBO0VBQ0EsMEJBQUE7RUFDQSwyQkFBQTtFQUNBLDRCQUFBO0VBQ0EsZ0NBQUE7QXJDdTZYUjtBcUNsNlhJOztFQUVJLHVCQUFBO0VBQ0EsMkJBQUE7QXJDcTZYUjtBcUNqNlhJOzs7RUFHSSwwQkFBQTtFQUNBLHNCQUFBO0VBQ0EsdUJBQUE7RUFDQSw0QkFBQTtFQUNBLHlCQUFBO0VBQ0EsNEJBQUE7RUFDQSxhQUFBO0VBQ0Esd0RBQUE7QXJDbzZYUjtBcUNqNlhJOzs7RUFHSSxVQUFBO0VBQ0Esd0RBQUE7QXJDbzZYUjtBcUNqNlhJO0VBQ0ksK0JBQUE7RUFDQSw4QkFBQTtFQUNBLGtDQUFBO0VBQ0Esc0JBQUE7RUFDQSx1QkFBQTtFQUNBLDRCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtFQUNBLDZGQUFBO0FyQ282WFI7QXFDajZYSTs7RUFrQkksbUNBQUE7RUFLQSw2QkFBQTtBckNnNVhSO0FxQy81WFE7Ozs7OztFQUdJLHdCQUFBO0FyQ282WFo7QXFDajVYUTs7RUFDSSwyQkFBQTtBckNvNVhaO0FxQzM0WFE7O0VBQ0ksK0JBQUE7RUFDQSw4QkFBQTtFQUNBLGtDQUFBO0VBQ0Esc0JBQUE7RUFDQSx1QkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtFQUNBLDZGQUFBO0FyQzg0WFo7QXFDdDRYUTs7Ozs7O0VBR0ksd0JBQUE7RUFDQSxrQ0FBQTtFQUNBLG1CQUFBO0FyQzI0WFo7QXFDdDRYUTs7Ozs7O0VBR0ksMEJBQUE7QXJDMjRYWjtBcUNwNFhROzs7Ozs7RUFHSSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSwwQkFBQTtFQUNBLHVCQUFBO0VBQ0EsMkJBQUE7RUFDQSw0QkFBQTtFQUNBLDZCQUFBO0VBQ0EsK0JBQUE7RUFDQSw4QkFBQTtFQUNBLGtDQUFBO0FyQ3k0WFo7QXFDLzNYUTs7RUFDSSx3REFBQTtBckNrNFhaO0FxQy8zWFE7O0VBQ0ksd0RBQUE7QXJDazRYWjtBcUM5M1hROzs7O0VBRUkscUJBQUE7QXJDazRYWjtBcUN6M1hBO0VBQ0ksa0JBQUE7RUFHQSx5QmZqUU87QXRCMm5ZWDtBcUNuM1hBO0VBQ0kseUJmL0cyQjtFZWdIM0IseUJBQUE7QXJDczNYSjtBcUMvMlhBO0VBQ0ksYUFBQTtFQUNBLHNCQUFBO0VBQ0EsV0FBQTtFQUNBLGdCQUFBO0VBQ0EsYUFBQTtFQUNBLGtCTjlMWTtFTStMWiwwQ0FBQTtBckNrM1hKO0FxQ3gyWEk7RUFDSSwyQkFBQTtFQUNBLHdCQUFBO0VBQ0Esb0JBQUE7RUFDQSxxQkFBQTtBckMwMlhSO0FxQ3gyWEk7RUFDSSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGNBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7QXJDMDJYUjtBcUN2MlhBO0VBQ0kseUJmdkl1QjtFZXdJdkIseUJBQUE7QXJDMDJYSjtBcUN4MlhBO0VBQ0kseUJmM0oyQjtFZTRKM0IseUJBQUE7QXJDMjJYSjtBcUMxMlhJO0VBQXVCLG9DQUFBO0FyQzYyWDNCO0FxQ3gyWEE7RUFDSSxXQUFBO0VBQ0Esc0JBQUE7RUFDQSxpQkFBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLGtCTnpPWTtFTTBPWiwwQ0FBQTtBckMyMlhKO0FxQ3YyWEk7RUFDSSxhQUFBO0VBQ0EscUJBQUE7RUFDQSxRQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFQUNBLFlBQUE7RUFDQSx1QkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0Esb0JBQUE7RUFDQSxnQkFBQTtBckN5MlhSO0FxQ3QyWFE7RUFDSSxjQUFBO0VBQ0EsY0FBQTtBckN3MlhaO0FxQ3QyWFE7RUFBWSxjQUFBO0VBQWdCLFlBQUE7RUFBYyxlQUFBO0VBQWlCLGdCQUFBO0FyQzQyWG5FO0FxQ3oyWEE7RUFDSSx5QmZyTHVCO0Vlc0x2Qix5QkFBQTtBckM0MlhKO0FxQzEyWFE7RUFBWSx5QkFBQTtBckM2MlhwQjtBcUM1MlhRO0VBQW9CLHlCZjFLYztBdEJ5aFkxQztBcUM1MlhBO0VBQ0kseUJmNUw0QjtFZTZMNUIseUJBQUE7QXJDKzJYSjtBcUM3MlhRO0VBQVksK0JBQUE7QXJDZzNYcEI7QXFDLzJYUTtFQUFvQix5QmZqTG1CO0F0Qm1pWS9DO0FxQzEyWEE7RUFDSSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0EsUUFBQTtFQUNBLG9CQUFBO0VBQ0EsYUFBQTtFQUlBLHlCQUFBO0VBQ0Esa0JBQUE7RUFDQSx5QkFBQTtFQUNBLGNmbFZnQjtFZW1WaEIsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLHlCQUFBO0tBQUEsc0JBQUE7TUFBQSxxQkFBQTtVQUFBLGlCQUFBO0VBQ0Esd0JBQUE7QXJDMDJYSjtBcUN4MlhJO0VBQ0ksb0JBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGFBQUE7RUFDQSwyREFBQTtBckMwMlhSO0FxQ3gyWFE7RUFDSSxVQUFBO0VBQ0EseUNBQUE7QXJDMDJYWjtBcUN0MlhBO0VBQWlDLGFBQUE7QXJDMDJYakM7QXFDdDJYQTtFQUNJLHlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxjQUFBO0FyQ3kyWEo7QXFDdjJYQTtFQUNJLHlDQUFBO0FyQzAyWEo7QXFDdjJYQTtFQUNJLDBDQUFBO0VBQ0Esc0NBQUE7RUFDQSxjZjVYcUI7QXRCc3VZekI7QXFDejJYSTtFQUF5Qix5Q0FBQTtBckM0Mlg3QjtBcUN6MlhBO0VBQ0ksYUFBQTtBckM0MlhKO0FxQzMyWEk7RUFDQSxZQUFBO0VBQ0Esb0JBQUE7QXJDNjJYSjtBcUM1MlhJO0VBQ0ksWUFBQTtFQUNBLG9CQUFBO0FyQzgyWFI7QXFDMzJYSTtFQUNJLDBCQUFBO0FyQzYyWFI7QXFDdjFYQTs7RUFFSSw2QkFBQTtFQUNBLDZCQUFBO0FyQzAxWEo7QXFDbjFYQTtFQ3JjRSxXQUFBO0VBQ0EscUJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsU0FOd0U7RUFPeEUsUUFBQTtFQUNBLDJCQUFBO0VBQ0EseUJoQm9KNkI7RWdCbko3Qix1UUFBQTtFQUNBLCtQQUFBO0F0QzR4WUY7QXFDOTFYQTtFQUNJLHlCZjNTZ0M7QXRCNG9ZcEM7QXFDeDFYRTs7OztFQUlFLG9DQUFBO0FyQzIxWEo7QXFDdjFYRTs7OztFQUlFLHVCQUFBO0FyQ3kxWEo7QXFDcjFYRTs7OztFQUlFLG9DQUFBO0FyQ3cxWEo7QXFDdDFYRTs7OztFQUlFLHVCQUFBO0FyQ3cxWEo7QXFDMzBYQTtFQUNFLG1FQUFBO1VBQUEsMkRBQUE7QXJDODBYRjtBcUM1MFhBO0VBQ0U7SUFBTyxVQUFBO0lBQVkscUJBQUE7RXJDaTFYbkI7RXFDaDFYQTtJQUFPLFVBQUE7SUFBWSxtQkFBQTtFckNvMVhuQjtBQUNGO0FxQ3YxWEE7RUFDRTtJQUFPLFVBQUE7SUFBWSxxQkFBQTtFckNpMVhuQjtFcUNoMVhBO0lBQU8sVUFBQTtJQUFZLG1CQUFBO0VyQ28xWG5CO0FBQ0Y7QXFDbDFYQTtFQUNFLHFFQUFBO1VBQUEsNkRBQUE7QXJDbzFYRjtBcUNsMVhBO0VBQ0UsOENBQUE7VUFBQSxzQ0FBQTtBckNxMVhGO0FxQ24xWEE7RUFDRTtJQUFPLFVBQUE7SUFBWSwyQkFBQTtFckN3MVhuQjtFcUN2MVhBO0lBQU8sVUFBQTtJQUFZLHdCQUFBO0VyQzIxWG5CO0FBQ0Y7QXFDOTFYQTtFQUNFO0lBQU8sVUFBQTtJQUFZLDJCQUFBO0VyQ3cxWG5CO0VxQ3YxWEE7SUFBTyxVQUFBO0lBQVksd0JBQUE7RXJDMjFYbkI7QUFDRjtBcUMxMVhBO0VBQ0U7SUFBTyxVQUFBO0lBQVksMEJBQUE7RXJDODFYbkI7RXFDNzFYQTtJQUFPLFVBQUE7SUFBWSx3QkFBQTtFckNpMlhuQjtBQUNGO0FxQ3AyWEE7RUFDRTtJQUFPLFVBQUE7SUFBWSwwQkFBQTtFckM4MVhuQjtFcUM3MVhBO0lBQU8sVUFBQTtJQUFZLHdCQUFBO0VyQ2kyWG5CO0FBQ0Y7QXFDOTFYQTtFQUNFO0lBQXNCLHVCQUFBO1lBQUEsZUFBQTtFckNpMlh0QjtBQUNGO0FxQ2oxWEE7RUFDRSx3QkFBQTtFQUNBLHdCQUFBO0FyQ20xWEY7QXFDajFYQTtFQUNFLHdCQUFBO0VBQ0Esd0JBQUE7QXJDbzFYRjtBcUNsMVhBO0VBQ0UsNEJBQUE7RUFDQSxxQkFBQTtBckNxMVhGO0FxQ2gwWEE7Ozs7O0VBS0UsNENBQUE7RUFDQSw2QkFBQTtBckNtMFhGO0FxQzF6WEE7Ozs7Ozs7O0VBWUUsd0NBQUE7RUFDQSxzQkFBQTtBckN5elhGO0FxQ256WEE7Ozs7Ozs7Ozs7Ozs7O0VBY0Usc0JBQUE7QXJDc3pYRjtBcUM5eVhBOzs7Ozs7O0VBT0UsaUNBQUE7QXJDaXpYRjtBdUN2OFlNO0VBQ0UsbUJBQUE7QXZDMDhZUjtBdUNsOFlROztFQUVFLGFBQUE7QXZDbzhZVjtBd0NqOVlFO0VBQ0Usa0JBQUE7RUFDQSxnQkFBQTtBeENvOVlKO0F3Q2o5WUU7RUFDRSxvQkFBQTtFQUNBLGdCQUFBO0F4Q205WUo7QXdDaDlZRTtFQUNFLGtCQUFBO0VBQ0EsZ0JBQUE7QXhDazlZSjtBd0MvOFlFO0VBQ0UsaUJBQUE7RUFDQSxnQkFBQTtBeENpOVlKO0FzQjdwWUE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QjhwWUY7QXNCL2pZQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJpa1lGO0FzQjNxWUE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QjRxWUY7QXNCN2tZQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEIra1lGO0F1QnIvWUE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtBdkJ3L1lGO0F1QmovWUE7O0VBRUUsd0RBQUE7RUFDQSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsY0FBQTtBdkJvL1lGO0F1QjcrWUE7RUFDRSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLHdEQUFBO0F2QmcvWUY7QXVCMStZQTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QXZCNitZRjtBdUJ6K1lBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7QXZCNCtZRjtBdUJwK1lBO0VBQ0UsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7QXZCdStZRjtBdUJuK1lBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7QXZCcytZRjtBdUJsK1lBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkJxK1lGO0F1Qi85WUE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2QmsrWUY7QXVCNzlZQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7RUFDQSw2QkFBQTtBdkJnK1lGO0F1QjU5WUE7RUFDRSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLDJCQUFBO0F2Qis5WUY7QXlDaGxaRTtFQUdFLGtCQUFBO0F6Q2lsWko7QXlDOWtaRTtFQUNFLG1CbkJpVGtCO0VtQmhUbEIsY25CNkI0QjtBdEJtalpoQztBeUM3a1pFO0VBQ0UsbUJuQjZTNEI7RW1CNVM1QixjbkI2U2lCO0F0Qmt5WXJCO0F5QzVrWkU7RUFDRSxtQkFBQTtFQUNBLGNBQUE7QXpDOGtaSjtBMENsbVpNO0VBQ0UsdUJBQUE7RUFDQSxXQUFBO0ExQ3FtWlI7QTJDem1aQTtFQUNFLGtCQUFBO0VBQ0EsZUFBQTtBM0M0bVpGO0EyQzFtWkU7RUFDRSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxXQUFBO0EzQzRtWko7QTJDMW1aSTtFQUNFLFVBQUE7RUFDQSxTQUFBO0EzQzRtWk47QTJDem1aSTtFQUNFLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSwrR0FBQTtBM0MybVpOO0EyQ3ptWk07RUFDRSw4QkFBQTtBM0MybVpSO0FzQnp6WUE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QjB6WUY7QXNCM3RZQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEI2dFlGO0FzQnYwWUE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QncwWUY7QXNCenVZQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEIydVlGO0F1QmpwWkE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtBdkJvcFpGO0F1QjdvWkE7O0VBRUUsd0RBQUE7RUFDQSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsY0FBQTtBdkJncFpGO0F1QnpvWkE7RUFDRSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLHdEQUFBO0F2QjRvWkY7QXVCdG9aQTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QXZCeW9aRjtBdUJyb1pBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7QXZCd29aRjtBdUJob1pBO0VBQ0UsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7QXZCbW9aRjtBdUIvblpBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7QXZCa29aRjtBdUI5blpBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkJpb1pGO0F1QjNuWkE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2QjhuWkY7QXVCem5aQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7RUFDQSw2QkFBQTtBdkI0blpGO0F1QnhuWkE7RUFDRSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLDJCQUFBO0F2QjJuWkY7QTRDN3VaRTtFQUNFLGtCQUFBO0E1Q2d2Wko7QTRDNXVaUTtFQUNFLG9DQUFBO0E1Qzh1WlY7QTRDNXVaVTtFQUNFLFNBQUE7RUFDQSxpQkFBQTtBNUM4dVpaO0E0QzV1Wlk7RUFDRSx5QkFBQTtBNUM4dVpkO0E0QzF1WlU7RUFDRSxjQUFBO0E1QzR1Wlo7QTRDcnVaRTtFQUNFLCtCQUFBO09BQUEsbUJBQUE7QTVDdXVaSjtBNENudVpBO0VBQ0UseUJ0QklzQjtFc0JIdEIsWUFBQTtBNUNzdVpGO0FzQm44WUE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0Qm84WUY7QXNCcjJZQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJ1MllGO0FzQmo5WUE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0Qms5WUY7QXNCbjNZQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJxM1lGO0F1QjN4WkE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtBdkI4eFpGO0F1QnZ4WkE7O0VBRUUsd0RBQUE7RUFDQSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsY0FBQTtBdkIweFpGO0F1Qm54WkE7RUFDRSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLHdEQUFBO0F2QnN4WkY7QXVCaHhaQTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QXZCbXhaRjtBdUIvd1pBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7QXZCa3haRjtBdUIxd1pBO0VBQ0UsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7QXZCNndaRjtBdUJ6d1pBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7QXZCNHdaRjtBdUJ4d1pBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkIyd1pGO0F1QnJ3WkE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2Qnd3WkY7QXVCbndaQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7RUFDQSw2QkFBQTtBdkJzd1pGO0F1Qmx3WkE7RUFDRSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLDJCQUFBO0F2QnF3WkY7QXNCcGpaQTtFQUVFLCtPQUFBO0VBRUEsaVlBQUE7QXRCcWpaRjtBc0J0OVlBO0VBRUUsb0NBQUE7RUFDQSxtQ0FBQTtFQUNBLHFDQUFBO0VBQ0EscUNBQUE7RUFDQSxzQ0FBQTtFQUNBLG9DQUFBO0F0Qnc5WUY7QXVCOTNaQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGlCQUFBO0F2Qmk0WkY7QXVCMTNaQTs7RUFFRSx3REFBQTtFQUNBLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxjQUFBO0F2QjYzWkY7QXVCdDNaQTtFQUNFLGVBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0EsaUJBQUE7RUFDQSxhQUFBO0VBQ0Esd0RBQUE7QXZCeTNaRjtBdUJuM1pBO0VBQ0UsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtBdkJzM1pGO0F1QmwzWkE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSxpQkFBQTtBdkJxM1pGO0F1QjcyWkE7RUFDRSxnQkFBQTtFQUNBLG9CQUFBO0VBQ0EscUJBQUE7RUFDQSxpQkFBQTtBdkJnM1pGO0F1QjUyWkE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtBdkIrMlpGO0F1QjMyWkE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2QjgyWkY7QXVCeDJaQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7QXZCMjJaRjtBdUJ0MlpBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtFQUNBLDZCQUFBO0F2QnkyWkY7QXVCcjJaQTtFQUNFLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLG1CQUFBO0VBQ0EsMkJBQUE7QXZCdzJaRjtBc0J2cFpBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEJ3cFpGO0FzQnpqWkE7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCMmpaRjtBNkN2K1pBO0VBRUUsa0JBQUE7QTdDeStaRjtBNkN4K1pFO0VBSEY7SUFJSSxlQUFBO0U3QzIrWkY7QUFDRjtBNkN6K1pFO0VBQ0UsaUZBQUE7QTdDMitaSjtBNkN4K1pFO0VBQ0UsYUFBQTtBN0MwK1pKO0E2Q3QrWkU7RUFDRSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLFdBQUE7QTdDdytaSjtBNkN0K1pJO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLDZCQUFBO0E3Q3crWk47QTZDcitaSTtFQUNFLFVBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7QTdDdStaTjtBNkNyK1pNO0VBQ0UsWUFBQTtBN0N1K1pSO0E2Q3ArWk07RUFDRSxXQUFBO0E3Q3MrWlI7QTZDbitaTTtFQUNFLFVBQUE7RUFDQSxrQkFBQTtFQUNBLFlBQUE7RUFDQSwyQkFBQTtBN0NxK1pSO0E2Q24rWk07RUFDRSxVQUFBO0VBQVksYUFBQTtBN0NzK1pwQjtBNkNsK1pNO0VBeEJGO0lBeUJJLHNCQUFBO0U3Q3ErWk47RTZDbitaTTtJQUNFLFdBQUE7RTdDcStaUjtFNkNsK1pNO0lBQ0UsV0FBQTtJQUNBLGtCQUFBO0lBQ0EsOEJBQUE7RTdDbytaUjtFNkNqK1pNO0lBQ0UsV0FBQTtFN0NtK1pSO0FBQ0Y7QTZDaCtaTTtFQUNFLHdCQUFBO0VBQ0EsY0FBQTtBN0NrK1pSO0E2Qy85Wk07RUFDRSx3QkFBQTtFQUNBLGNBQUE7QTdDaStaUjtBNkM5OVpNO0VBQ0UsMEN2QmtPZTtFdUJqT2Ysb0JBQUE7RUFDQSxvQkFBQTtFQUNBLGtCQUFBO0E3Q2crWlI7QTZDMzlaSTtFQUNFLHFCQUFBO0E3QzY5Wk47QTZDMTlaSTtFQUNFLHNCQUFBO0E3QzQ5Wk47QTZDejlaSTtFQUNFLFlBQUE7QTdDMjlaTjtBNkN4OVpJO0VBQ0UsZ0JBQUE7QTdDMDlaTjtBNkN0OVpFO0VBQ0UsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSxtQnZCakJvQjtFdUJrQnBCLFdBQUE7QTdDdzlaSjtBNkNwOVpFO0VBQ0UsOEJBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxpQkFBQTtFQUNBLG1CQUFBO0VBRUEscUJBQUE7RUFDQSxrQkFBQTtBN0NxOVpKO0E2Q245Wkk7RUFDRSx5QnZCakNrQjtFdUJrQ2xCLGNBQUE7RUFHQSwyQkFBQTtFQUVBLFdBQUE7RUFFQSwyQkFBQTtFQUNBLDRCQUFBO0VBRUEsZ0JBQUE7RUFDQSxnQkFBQTtBN0NnOVpOO0E2Qzk4Wk07RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7RUFFQSxtQkFBQTtBN0MrOFpSO0E2Qzc4WlE7RUFDSSxZQUFBO0E3Qys4Wlo7QTZDMzhaTTtFQUNFLG1CQUFBO0E3QzY4WlI7QTZDejhaSTtFQUNFLGFBQUE7RUFDQSxTQUFBO0E3QzI4Wk47QTZDejhaTTtFQUNFLGdCQUFBO0E3QzI4WlI7QTZDejhaUTtFQUNFLGFBQUE7QTdDMjhaVjtBNkN0OFpJO0VBQ0Usb0JBQUE7RUFDQSx3QkFBQTtBN0N3OFpOO0E2Q244Wk07RUFDRSxzQkFBQTtBN0NxOFpSO0E2Q2w4Wk07RUFDRSwwQnZCNURvQjtBdEJnZ2E1QjtBNkNqOFpNO0VBQ0UsMEJ2QmhFb0I7QXRCbWdhNUI7QTZDOTdaRTtFQUNFLDhCQUFBO0VBQ0EsV0FBQTtFQUVBLFVBQUE7RUFDQSxrQkFBQTtBN0MrN1pKO0E2Qzc3Wkk7RUFFRSwyQkFBQTtFQUVBLDJCQUFBO0VBQ0EsNEJBQUE7RUFFQSxnQkFBQTtFQUNBLGdCQUFBO0E3QzQ3Wk47QTZDMTdaTTtFQUNFLDhCQUFBO0VBQ0EsK0JBQUE7QTdDNDdaUjtBNkN6N1pNO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7RUFFQSxlQUFBO0VBQ0EsbUJBQUE7QTdDMDdaUjtBNkN4N1pRO0VBRUUsZUFBQTtBN0N5N1pWO0E2Q3Q3WlE7RUFDSSxZQUFBO0E3Q3c3Wlo7QTZDcDdaTTtFQUNFLG1CQUFBO0E3Q3M3WlI7QTZDbDdaSTtFQUNFLGFBQUE7RUFDQSxTQUFBO0E3Q283Wk47QTZDOTZaQTtFQUVFLGN2QnhIb0I7QXRCd2lhdEI7QTZDbDZaQTtFQUNFLDJCQUFBO0E3Q3E2WkY7QTZDbjZaRTtFQUVFLGVBQUE7RUFDQSxzQkFBQTtBN0NvNlpKO0E2Q2o2WkU7RUFDRSxvQkFBQTtBN0NtNlpKO0FzQmwzWkE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0Qm0zWkY7QXNCcHhaQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJzeFpGO0FzQmg0WkE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0Qmk0WkY7QXNCbHlaQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJveVpGO0F1QjFzYUE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtBdkI2c2FGO0F1QnRzYUE7O0VBRUUsd0RBQUE7RUFDQSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsY0FBQTtBdkJ5c2FGO0F1QmxzYUE7RUFDRSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLHdEQUFBO0F2QnFzYUY7QXVCL3JhQTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QXZCa3NhRjtBdUI5cmFBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7QXZCaXNhRjtBdUJ6cmFBO0VBQ0UsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7QXZCNHJhRjtBdUJ4cmFBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7QXZCMnJhRjtBdUJ2cmFBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkIwcmFGO0F1QnByYUE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2QnVyYUY7QXVCbHJhQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7RUFDQSw2QkFBQTtBdkJxcmFGO0F1QmpyYUE7RUFDRSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLDJCQUFBO0F2Qm9yYUY7QThDdnlhQTtFQUNFLHNCQUFBO0VBQ0Esc0JBQUE7QTlDMHlhRjtBOENqeWFBO0VBQ0UseUJBQUE7RUFDQSx5QkFBQTtFQUNBLGFBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFHQSxnQkFBQTtBOUNreWFGO0E4Q2h5YUU7RUFBWSx3QkFBQTtBOUNteWFkO0E4Q2p5YUU7RUFDRSxjQUFBO0VBQ0EsNEJBQUE7QTlDbXlhSjtBOENoeWFFOztFQUVFLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFFBQUE7RUFDQSwyQkFBQTtBOUNreWFKO0E4Q3p4YUE7RUFDRSwrQkFBQTtFQUNBLHVCQUFBO0VBQ0EsOEJBQUE7QTlDNHhhRjtBOENyeGFBO0VBQ0UsK0JBQUE7RUFDQSw4QkFBQTtFQUNBLGtDQUFBO0E5Q3d4YUY7QThDdHhhRTtFQUNFLCtCQUFBO0VBQ0EsOEJBQUE7RUFDQSxrQ0FBQTtFQUNBLHlCQUFBO0E5Q3d4YUo7QThDdHhhRTs7RUFFRSx3QkFBQTtFQUNBLDhCQUFBO0VBQ0Esa0NBQUE7RUFDQSx5QkFBQTtBOUN3eGFKO0E4Q254YUE7RUFDRSwyQkFBQTtBOUNzeGFGO0E4Q2p4YUE7RUFDRSxrQ0FBQTtFQUNBLDRCQUFBO0VBQ0EsK0JBQUE7QTlDb3hhRjtBOEMvd2FBOztFQUVFLDJCQUFBO0E5Q2t4YUY7QThDMXdhQTtFQUNFLHFCQUFBO0E5QzZ3YUY7QThDM3dhQTtFQUNFLG9DQUFBO0E5Qzh3YUY7QThDNXdhQTtFQUNFLG9DQUFBO0E5Qyt3YUY7QThDdHdhQTtFQUNFLG9DQUFBO0VBQ0EsZ0NBQUE7RUFDQSxzQkFBQTtBOUN5d2FGO0E4Q3h3YUU7RUFBWSxzQkFBQTtBOUMyd2FkO0E4Q3p3YUE7RUFDRSxvQ0FBQTtFQUNBLGdDQUFBO0E5QzR3YUY7QThDbHdhQTtFQUNFLDZCQUFBO0VBQ0EscUJBQUE7RUFDQSxvQ0FBQTtFQUNBLDBCQUFBO0VBQ0EsNkJBQUE7RUFJQSx1QkFBQTtFQUNBLHVCQUFBO0VBR0EsMkJBQUE7RUFDQSxtRGZyRXNCO0EvQnEwYXhCO0E4Qzl2YUU7RUFDRSxVQUFBO0VBQ0Esc0JBQUE7QTlDZ3dhSjtBOEM1dmFBO0VBQ0Usb0JBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7QTlDK3ZhRjtBOEMzdmFFO0VBQ0Usb0JBQUE7QTlDNnZhSjtBOEMzdmFJO0VBQ0Usb0JBQUE7RUFDQSxxQkFBQTtBOUM2dmFOO0E4Q3R2YUk7O0VBRUUsc0JBQUE7RUFDQSx1QkFBQTtFQUNBLHdCQUFBO0VBQ0EscUJBQUE7RUFDQSw2QkFBQTtFQUNBLHFDQUFBO0VBQ0EsMkJBQUE7QTlDd3ZhTjtBOENudmFNOzs7RUFDRSx3QkFBQTtFQUNBLHdCQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtBOUN1dmFSO0E4Q3J2YU07Ozs7RUFDZ0Msd0JBQUE7QTlDMHZhdEM7QThDdnZhTTs7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0E5QzB2YVI7QThDeHZhTTs7RUFDRSxXQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsOEJBQUE7QTlDMnZhUjtBOEN4dmFJO0VBQ0UsbVFBQUE7RUFDUSwyUEFBQTtBOUMwdmFkO0E4Q3h2YUk7RUFDRSxtUUFBQTtFQUNRLDJQQUFBO0E5QzB2YWQ7QThDcnZhSTs7Ozs7O0VBTUUsd0JBQUE7QTlDdXZhTjtBOENudmFJOztFQUVFLHFDQUFBO0VBQ0EsZ0RBQUE7QTlDcXZhTjtBOEMvdWFJOzs7O0VBSUUsK0JBQUE7QTlDaXZhTjtBOEMvdWFJO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7QTlDaXZhTjtBOEM3dWFFO0VBQ0UsdUJBQUE7QTlDK3VhSjtBOEN6dWFFO0VBQ0UsZ0JBQUE7RUFDQSxjQUFBO0E5QzJ1YUo7QThDcnVhRTtFQUNFLDJCQUFBO0E5Q3V1YUo7QThDOXRhRTtFQUNFLGVmdktnQjtFZXdLaEIsZ0JmbEtxQjtFZW1LckIsdUJBQUE7RUFDQSxjeEJ6RzJCO0F0QnkwYS9CO0E4Qzl0YUk7RUFBNEIscUJBQUE7QTlDaXVhaEM7QThDaHVhSTtFQUFVLG9DQUFBO0E5Q211YWQ7QThDaHVhRTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLHFCQUFBO0VBQ0EsMEJ4QnRMUztFd0J1TFQsb0JBQUE7RUFDQSwyQkFBQTtBOUNrdWFKO0E4QzF0YUU7RUFDRSxzQkFBQTtFQUNBLHFCQUFBO0VBQ0Esb0JBQUE7QTlDNHRhSjtBOEMxdGFJO0VBQ0UsYUFBQTtBOUM0dGFOO0E4QzlzYUU7RUFDRSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsdUJBQUE7RUFDQSx5QkFBQTtFQUNBLDZCQUFBO0E5Q2d0YUo7QThDM3NhRTtFQUNFLGlCQUFBO0E5QzZzYUo7QThDeHNhRTtFQUNFLFlBQUE7QTlDMHNhSjtBOEN2c2FFO0VBQ0UsdUJBQUE7RUFDQSxxQkFBQTtBOUN5c2FKO0E4Q3RzYUU7RUFDRSx1QkFBQTtFQUNBLHNCQUFBO0VBQ0EsNEJBQUE7RUFDQSxtQkFBQTtBOUN3c2FKO0E4Q3JzYUU7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7QTlDdXNhSjtBOEM5cmFJO0VBQXFDLHdCQUFBO0E5Q2lzYXpDO0E4Qy9yYUk7RUFDRSxzQkFBQTtFQUNBLDhCQUFBO0E5Q2lzYU47QThDenJhSTtFQUFxQyx3QkFBQTtBOUM0cmF6QztBOEMxcmFJO0VBQ0Usc0JBQUE7RUFDQSw4QkFBQTtBOUM0cmFOO0E4Q3ZyYUE7RUFDRSxvQkFBQTtFQUNBLGVBQUE7QTlDMHJhRjtBOEN4cmFFOztFQUVFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLG9CQUFBO0E5QzByYUo7QThDcHJhRTtFQUNFLHFCQUFBO0VBQ0EseUJBQUE7QTlDc3JhSjtBOENqcmFFO0VBQ0Usc0JBQUE7RUFDQSx1QkFBQTtFQUNBLDRCQUFBO0VBQ0EscUJBQUE7RUFDQSw2QkFBQTtFQUNBLHdDQUFBO0VBQ0EscUNBQUE7RUFDQSwyQkFBQTtBOUNtcmFKO0E4Q2pyYUk7RUFDRSxnREFBQTtFQUNBLHFDQUFBO0E5Q21yYU47QThDaHJhRTs7O0VBR0Usd0JBQUE7QTlDa3JhSjtBOENocmFFOztFQUVFLDBCQUFBO0VBQ0Esc0JBQUE7RUFDQSx1QkFBQTtFQUNBLDRCQUFBO0E5Q2tyYUo7QThDN3FhRTtFQUNFLDRCQUFBO0VBQ0Esb0JBQUE7QTlDK3FhSjtBOEM3cWFFO0VBQ0UscUJBQUE7RUFDQSx3QkFBQTtBOUMrcWFKO0E4QzdxYUU7O0VBRUUsd0JBQUE7QTlDK3FhSjtBOENwcGFBO0VBQ0Usb0JBQUE7QTlDdXBhRjtBOENscGFFO0VBQ0UsY0FBQTtFQUNBLFlBQUE7QTlDb3BhSjtBOEMzb2FFO0VBQW9CLFdBQUE7QTlDOG9hdEI7QThDN29hRTtFQUFrQixXQUFBO0VBQWEsWUFBQTtBOUNpcGFqQztBOEMvb2FFO0VBQTBCLFNBQUE7RUFBVyxVQUFBO0VBQVksWUFBQTtBOUNvcGFuRDtBOENqcGFFO0VBQ0Usa0JBQUE7RUFDQSxTQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxVQUFBO0VBQ0EsZUFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLG9CQUFBO0E5Q21wYUo7QThDanBhRTtFQUNFLGN4QjVjbUI7RXdCNmNuQixlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxTQUFBO0E5Q21wYUo7QThDL29hRTs7RUFDWSx3QkFBQTtBOUNrcGFkO0E4Q2pwYUU7RUFBMEIsd0JBQUE7QTlDb3BhNUI7QThDbnBhRTtFQUFnQyxhQUFBO0E5Q3NwYWxDO0E4Q2hwYUU7RUFDRSxtQkFBQTtFQUNBLFlmdGFhO0VldWFiLGdCZnZhYTtFZXdhYixTQUFBO0VBQ0EsZ0NBQUE7RUFDQSxrQmZ6Ylk7RWUwYlosdUJ4QnhkZTtFd0J5ZGYseUJBQUE7RUFHQSxlQUFBO0VBS0EsZ0JBQUE7RUFDQSxZQUFBO0E5QzRvYUo7QThDem9hRTs7RUFFRSxlQUFBO0E5QzJvYUo7QThDem9hRTtFQUF3QixZQUFBO0E5QzRvYTFCO0E4QzNvYUU7RUFBb0IsWUFBQTtBOUM4b2F0QjtBOEN2b2FFO0VBQ0UsU0FBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0E5Q3lvYUo7QThDdm9hRTtFQUNFLG9CQUFBO0VBQ0EsbUJBQUE7RUFDQSxjQUFBO0E5Q3lvYUo7QThDdm9hRTtFQUNFLG9CQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLHNCQUFBO0VBS0Esc0JBQUE7RUFDQSx1QkFBQTtFQUNBLHdCQUFBO0VBQ0EsY0FBQTtFQUNBLFVBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUFDQSx1Q0FBQTtBOUNxb2FKO0E4Q2pvYUU7OztFQUVxQyx3QkFBQTtBOUNvb2F2QztBOENob2FFOztFQUM2Qix3QkFBQTtBOUNtb2EvQjtBOENsb2FFO0VBQ0UseUJBQUE7RUFDQSx3Q0FBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQUE7RUFDQSxxQ0FBQTtFQUNBLG1DQUFBO0VBQ0Esd0RBQUE7RUFHQSwwQnhCdmZTO0F0QnluYmI7QThDM25hRTs7OztFQUlFLDBCeEI1ZmU7QXRCeW5ibkI7QThDeG5hRTtFQUNFLDZCQUFBO0E5QzBuYUo7QThDcm5hRTtFQUNFLGFBQUE7RUFDQSxxQkFBQTtFQUNBLFdBQUE7QTlDdW5hSjtBOENubmFFO0VBQ0UsbUJBQUE7RUFDQSxtQkFBQTtFQUNBLGlCQUFBO0E5Q3FuYUo7QThDaG5hRTtFQUNFLDBCQUFBO0VBQ0EsZ0JmdGhCcUI7RWV1aEJyQix1QkFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7RUFDQSxjeEIvZDJCO0V3QnVlM0IsY0FBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFQUNBLHVCQUFBO0E5QzJtYUo7QThDem1hSTtFQUNFLDBCQUFBO0VBQ0EsZ0JmemlCbUI7RWUwaUJuQixtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFDQSxjQUFBO0VBQ0EsWUFBQTtBOUMybWFOO0E4Q3htYUU7RUFDRSxvQ0FBQTtFQUNBLGdCZm5qQnFCO0EvQjZwYnpCO0E4Q2ptYUU7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtBOUNtbWFKO0E4QzlsYUU7RUFDRSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0EsY0FBQTtBOUNnbWFKO0E4QzVsYUk7RUFDRSxvQkFBQTtFQUNBLG1CQUFBO0E5QzhsYU47QThDM2xhSTtFQUNFLG9CQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0EsVUFBQTtBOUM2bGFOO0E4QzNsYUk7OztFQUU4Qix3QkFBQTtBOUM4bGFsQztBOEM3bGFJO0VBQ0UsMEJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7RUFDQSx3REFBQTtFQUNBLDhCQUFBO0E5QytsYU47QThDN2xhSTtFQUFrQyxZQUFBO0E5Q2dtYXRDO0E4QzVsYUU7RUFDRSw2QkFBQTtBOUM4bGFKO0E4QzVsYUU7OztFQUtFLHFCeEIvckJnQjtFd0Jnc0JoQiw2QkFBQTtBOUM0bGFKO0E4Q3RsYUU7RUFDRSx1QnhCeHJCb0I7RXdCeXJCcEIscUJ4QnZtQnlCO0F0QmdzYjdCO0E4Q3ZsYUU7RUFBNEIsY3hCcmtCTTtBdEIrcGJwQztBOEN6bGFFO0VBQW9CLDBDQUFBO0E5QzRsYXRCO0E4QzNsYUU7O0VBRUUsNkJBQUE7QTlDNmxhSjtBOEMzbGFFOzs7RUFHRSxxQnhCbHRCcUI7RXdCbXRCckIsNkJBQUE7QTlDNmxhSjtBOEN6bGFFO0VBQ0UsZ0N4QnhwQmM7QXRCbXZibEI7QThDemxhRTs7OztFQUlFLCtCeEJ4cEJvQjtBdEJtdmJ4QjtBOENybGFBOztFQUVFLDJDQUFBO0E5Q3dsYUY7QThDdmxhRTs7RUFDRSwwQ0FBQTtFQUNBLHNEQUFBO0E5QzBsYUo7QThDbmxhQTtFQUNFLG9DQUFBO0VBQ0Esd0NBQUE7RUFDQSxrRGZydEJzQjtBL0IyeWJ4QjtBOENubGFFO0VBQ0UsY3hCbm5CZ0M7QXRCd3NicEM7QThDcGxhSTtFQUFVLG9DQUFBO0E5Q3VsYWQ7QThDbmxhRTtFQUNFLGdDeEI3ckJjO0F0Qmt4YmxCO0E4Q2hsYUU7RUFDRSwyQ0FBQTtBOUNrbGFKO0E4Q2hsYUk7RUFDRSxzREFBQTtFQUNBLDBDQUFBO0E5Q2tsYU47QThDeGthQTtFQUNFLG9DQUFBO0VBQ0Esc0JBQUE7QTlDMmthRjtBOEN6a2FBO0VBQ0Usb0NBQUE7QTlDNGthRjtBOEN2a2FBOzs7RUFNRSxtREFBQTtBOUN1a2FGO0E4Q3JrYUE7RUFFRSxxREFBQTtBOUN1a2FGO0E4Q3BrYUE7RUFDRSxnQ0FBQTtBOUN1a2FGO0E4Q3JrYUE7RUFDRSxnQ0FBQTtBOUN3a2FGO0FzQmhtYkE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QmltYkY7QXNCbGdiQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJvZ2JGO0FzQjltYkE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QittYkY7QXNCaGhiQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJraGJGO0F1Qng3YkE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtBdkIyN2JGO0F1QnA3YkE7O0VBRUUsd0RBQUE7RUFDQSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsY0FBQTtBdkJ1N2JGO0F1Qmg3YkE7RUFDRSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLHdEQUFBO0F2Qm03YkY7QXVCNzZiQTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QXZCZzdiRjtBdUI1NmJBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7QXZCKzZiRjtBdUJ2NmJBO0VBQ0UsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7QXZCMDZiRjtBdUJ0NmJBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7QXZCeTZiRjtBdUJyNmJBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkJ3NmJGO0F1Qmw2YkE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2QnE2YkY7QXVCaDZiQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7RUFDQSw2QkFBQTtBdkJtNmJGO0F1Qi81YkE7RUFDRSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLDJCQUFBO0F2Qms2YkY7QXNCanRiQTtFQUVFLCtPQUFBO0VBRUEsaVlBQUE7QXRCa3RiRjtBc0JubmJBO0VBRUUsb0NBQUE7RUFDQSxtQ0FBQTtFQUNBLHFDQUFBO0VBQ0EscUNBQUE7RUFDQSxzQ0FBQTtFQUNBLG9DQUFBO0F0QnFuYkY7QStDNWdjQTs7O0VBQ0UsY0FBQTtBL0NpaGNGO0ErQzFnY0U7Ozs7Ozs7OztFQUlFLFdBQUE7RUFDQSxrQkFBQTtBL0NpaGNKO0ErQzlnY0U7OztFQUFpQixXQUFBO0VBQWEsWUFBQTtBL0NvaGNoQztBK0MvZ2NFOzs7RUFBMEIsU0FBQTtFQUFXLFVBQUE7RUFBWSxZQUFBO0EvQ3NoY25EO0ErQ3JoY0U7OztFQUEwQix3QkFBQTtBL0MwaGM1QjtBK0N6aGNFOzs7RUFBNEIsd0JBQUE7QS9DOGhjOUI7QStDN2hjRTs7O0VBQWdDLHdCQUFBO0EvQ2tpY2xDO0ErQ2ppY0U7OztFQUE0Qix3QkFBQTtBL0NzaWM5QjtBK0NoaWNFOzs7RUFDRSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLFVBQUE7RUFDQSxlQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0Esb0JBQUE7QS9Db2ljSjtBK0NsaWNFOzs7RUFDRSxjekJoQm1CO0V5QmlCbkIsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsU0FBQTtBL0NzaWNKO0ErQ2ppY0U7Ozs7Ozs7OztFQUNZLHdCQUFBO0EvQzJpY2Q7QStDcGljRTs7O0VBQ0Usa0JBQUE7RUFDQSxNQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSx5QkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLG9CQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFDQSxvQkFBQTtBL0N3aWNKO0ErQ25pY0k7OztFQUNFLGN6Qm5EaUI7RXlCb0RqQixnQkFBQTtFQUNBLGdCQUFBO0EvQ3VpY047QStDOWhjRTs7O0VBQ0UsbUJBQUE7RUFDQSxZaEJSYTtFZ0JTYixnQmhCVGE7RWdCVWIsZ0JBQUE7RUFDQSwwQkFBQTtFQUNBLGtCaEIzQlk7RWdCNEJaLHVCekIxRGU7RXlCMkRmLHlCQUFBO0VBRUEsZ0JBQUE7RUFDQSxZQUFBO0EvQ2lpY0o7QStDNWhjRTs7O0VBQ0UsMkJBQUE7QS9DZ2ljSjtBK0M3aGNFOzs7RUFDRSxhQUFBO0VBQ0EscUJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0EvQ2lpY0o7QStDeGhjRTs7Ozs7Ozs7O0VBRUUsb0JBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZWhCeENnQjtFZ0J5Q2hCLGdCaEJuQ3FCO0VnQm9DckIsdUJBQUE7RUFDQSxjQUFBO0VBQ0EsY3pCcUIyQjtFeUJwQjNCLGlCQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFJQSx5QkFBQTtLQUFBLHNCQUFBO01BQUEscUJBQUE7VUFBQSxpQkFBQTtFQUNBLFlBQUE7QS9DOGhjSjtBK0N0aGNFOzs7RUFDRSx5QkFBQTtFQUNBLG9CQUFBO0VBQ0EscUJBQUE7RUFDQSxvQkFBQTtFQUNBLGlDQUFBO0EvQzBoY0o7QStDcmhjRTs7Ozs7Ozs7O0VBRUUsMEJBQUE7RUFDQSxnQmhCbkVxQjtFZ0JvRXJCLHVCQUFBO0VBQ0EsbUJBQUE7RUFDQSxjekJYMkI7QXRCeWljL0I7QStDM2hjRTs7O0VBQ0UseUJBQUE7QS9DK2hjSjtBK0N6aGNFOzs7RUFDRSw2QkFBQTtBL0M2aGNKO0ErQzNoY0U7Ozs7Ozs7Ozs7Ozs7OztFQUdFLHFCekI5SmdCO0V5QitKaEIsNkJBQUE7QS9DeWljSjtBK0NyaWNFOzs7RUFDRSxxQnpCakttQjtBdEIwc2N2QjtBK0NoaWNFOzs7RUFDRSxhQUFBO0VBQ0EsZ0JBQUE7RUFDQSxvQkFBQTtBL0NvaWNKO0ErQzloY0U7OztFQUNFLGFBQUE7QS9Da2ljSjtBK0M1Z2NFO0VBQ0UsV0FBQTtFQUNBLGtCQUFBO0EvQytnY0o7QStDeGdjRTtFQUNFLHVCQUFBO0VBQ0EsdUJBQUE7RUFDQSxhQUFBO0VBQ0Esb0JBQUE7RUFDQSw0QkFBQTtBL0MwZ2NKO0ErQ3JnY0U7RUFDRSwyQkFBQTtBL0N1Z2NKO0ErQ2hnY0U7RUFDRSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSxxQkFBQTtFQUNBLFdBQUE7QS9Da2djSjtBK0N6L2JFO0VBQ0UsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFPQSwyQkFBQTtFQUdBLDJCQUFBO0EvQ20vYko7QStDLzliRTs7O0VBQ0UsMkNBQUE7QS9DbytiSjtBK0MxOWJFOzs7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxXQUFBO0EvQzg5Yko7QStDNTliRTs7O0VBQ0UsY0FBQTtFQUNBLGNBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtBL0NnK2JKO0ErQ3o5YkU7OztFQUNFLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxVQUFBO0VBQ0Esa0JBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VBQ0EsNkJBQUE7RUFHQSxjQUFBO0VBQ0EsMEJBQUE7RUFDQSxzQkFBQTtBL0MyOWJKO0ErQ3Q5YkU7Ozs7OztFQUVFLHFDekIzUGdCO0F0QnV0Y3BCO0ErQzE5YkU7Ozs7OztFQUVFLDBCekJ0UWU7QXRCc3VjbkI7QStDejliRTs7O0VBQ0UsMEJ6QnBSUztFeUJxUlQsb0JBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLG9CQUFBO0VBSUEsMEJBQUE7RUFDQSw4QkFBQTtFQUNBLDhZQUFBO0VBQ1Esc1lBQUE7QS9DMDliWjtBK0NsOWJJOzs7RUFDRSwyQ0FBQTtBL0N1OWJOO0ErQ3I5Ykk7OztFQUNFLDZCQUFBO0VBQ0EscUJ6QjNRdUI7QXRCb3VjN0I7QStDdjliSTs7Ozs7O0VBRUUsMkN6QmxTbUI7QXRCK3ZjekI7QStDMzliSTs7Ozs7O0VBRUUsK0J6QjdTa0I7QXRCOHdjeEI7QStDLzliSTs7O0VBQ0UsZ0N6QnRUWTtBdEJ5eGNsQjtBK0MxOWJBOzs7Ozs7Ozs7RUFTRSxZQUFBO0EvQzY5YkY7QStDdDliQTtFQUNFOzs7Ozs7Ozs7SUFTRSx5QkFBQTtJQUNBLHNCQUFBO0UvQ3k5YkY7QUFDRjtBK0NsOWJBOzs7RUFHRSxlQUFBO0EvQ285YkY7QStDNThiQTtFQUNFLGtCQUFBO0EvQys4YkY7QStDeDhiQTtFQUNFLGtCQUFBO0EvQzI4YkY7QStDejdiSTs7Ozs7O0VBQ0UsdUJ6QjNia0I7RXlCNGJsQixxQnpCMVd1QjtBdEIyeWM3QjtBK0MvN2JJOzs7Ozs7RUFDRSw2QkFBQTtBL0NzOGJOO0ErQ3A4Ykk7Ozs7Ozs7Ozs7OztFQUVFLGN6QjdVOEI7QXRCNnhjcEM7QStDOThiSTs7Ozs7O0VBQ0UsK0JBQUE7QS9DcTliTjtBK0NuOWJJOzs7Ozs7RUFDRSwrQkFBQTtBL0MwOWJOO0ErQ3g5Ykk7Ozs7Ozs7Ozs7OztFQUVFLHFCekIzZG1CO0V5QjRkbkIsNkJBQUE7QS9DbytiTjtBK0N0OWJBO0VBQ0UsMkJBQUE7RUFDQSx3QkFBQTtFQUNBLG9CQUFBO0VBQ0EscUJBQUE7QS9DeTliRjtBK0N2OWJBO0VBQ0UsY0FBQTtFQUNBLGVBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0EvQzA5YkY7QXNCM3JjQTtFQUVFLCtPQUFBO0VBRUEsaVlBQUE7QXRCNHJjRjtBc0I3bGNBO0VBRUUsb0NBQUE7RUFDQSxtQ0FBQTtFQUNBLHFDQUFBO0VBQ0EscUNBQUE7RUFDQSxzQ0FBQTtFQUNBLG9DQUFBO0F0QitsY0Y7QXNCenNjQTtFQUVFLCtPQUFBO0VBRUEsaVlBQUE7QXRCMHNjRjtBc0IzbWNBO0VBRUUsb0NBQUE7RUFDQSxtQ0FBQTtFQUNBLHFDQUFBO0VBQ0EscUNBQUE7RUFDQSxzQ0FBQTtFQUNBLG9DQUFBO0F0QjZtY0Y7QXVCbmhkQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGlCQUFBO0F2QnNoZEY7QXVCL2dkQTs7RUFFRSx3REFBQTtFQUNBLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxjQUFBO0F2QmtoZEY7QXVCM2dkQTtFQUNFLGVBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0EsaUJBQUE7RUFDQSxhQUFBO0VBQ0Esd0RBQUE7QXZCOGdkRjtBdUJ4Z2RBO0VBQ0UsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtBdkIyZ2RGO0F1QnZnZEE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSxpQkFBQTtBdkIwZ2RGO0F1QmxnZEE7RUFDRSxnQkFBQTtFQUNBLG9CQUFBO0VBQ0EscUJBQUE7RUFDQSxpQkFBQTtBdkJxZ2RGO0F1QmpnZEE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtBdkJvZ2RGO0F1QmhnZEE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2Qm1nZEY7QXVCNy9jQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7QXZCZ2dkRjtBdUIzL2NBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtFQUNBLDZCQUFBO0F2QjgvY0Y7QXVCMS9jQTtFQUNFLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLG1CQUFBO0VBQ0EsMkJBQUE7QXZCNi9jRjtBc0I1eWNBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEI2eWNGO0FzQjlzY0E7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCZ3RjRjtBZ0RybmRBO0VBTUUsYzFCbUs2QjtFMEJwSTdCLGtCakI2Q2M7RWlCM0NkLGMxQm9CYztBdEJna2RoQjtBZ0RubmRFO0VBQ0UseUJBQUE7QWhEcW5kSjtBZ0RubmRJO0VBQ0UseUJBQUE7QWhEcW5kTjtBZ0Q3bWRJO0VBQ0UseUJBQUE7QWhEK21kTjtBZ0Q3bWRNO0VBQ0UseUJBQUE7QWhEK21kUjtBZ0QxbWRFO0VBQ0Usb0NBckNZO0FoRGlwZGhCO0FnRHptZEU7RUFDRSxvQ0F4Q1E7QWhEbXBkWjtBZ0RsbWRNO0VBS0Usb0NBQUE7QWhEZ21kUjtBZ0Q5bGRRO0VBQ0UseUJBQUE7QWhEZ21kVjtBZ0R4bWRNO0VBS0Usb0NBQUE7QWhEc21kUjtBZ0RwbWRRO0VBQ0UseUJBQUE7QWhEc21kVjtBZ0Q5bWRNO0VBS0Usb0NBQUE7QWhENG1kUjtBZ0QxbWRRO0VBQ0UseUJBQUE7QWhENG1kVjtBZ0RwbmRNO0VBS0Usb0NBQUE7QWhEa25kUjtBZ0RobmRRO0VBQ0UseUJBQUE7QWhEa25kVjtBZ0QxbmRNO0VBS0Usb0NBQUE7QWhEd25kUjtBZ0R0bmRRO0VBQ0UseUJBQUE7QWhEd25kVjtBZ0Rob2RNO0VBS0Usb0NBQUE7QWhEOG5kUjtBZ0Q1bmRRO0VBQ0UsdUJBQUE7QWhEOG5kVjtBZ0R0b2RNO0VBS0Usb0NBQUE7QWhEb29kUjtBZ0Rsb2RRO0VBQ0UsdUJBQUE7QWhEb29kVjtBZ0Q1b2RNO0VBS0Usb0NBQUE7QWhEMG9kUjtBZ0R4b2RRO0VBQ0UsdUJBQUE7QWhEMG9kVjtBZ0RscGRNO0VBS0Usb0NBQUE7QWhEZ3BkUjtBZ0Q5b2RRO0VBQ0UsdUJBQUE7QWhEZ3BkVjtBZ0R4cGRNO0VBS0Usb0NBQUE7QWhEc3BkUjtBZ0RwcGRRO0VBQ0UsdUJBQUE7QWhEc3BkVjtBZ0Q5cGRNO0VBS0Usb0NBQUE7QWhENHBkUjtBZ0QxcGRRO0VBQ0UsdUJBQUE7QWhENHBkVjtBZ0RwcWRNO0VBS0Usb0NBQUE7QWhEa3FkUjtBZ0RocWRRO0VBQ0UsdUJBQUE7QWhEa3FkVjtBZ0QxcWRNO0VBS0Usb0NBQUE7QWhEd3FkUjtBZ0R0cWRRO0VBQ0UsdUJBQUE7QWhEd3FkVjtBZ0RocmRNO0VBS0Usb0NBQUE7QWhEOHFkUjtBZ0Q1cWRRO0VBQ0UsdUJBQUE7QWhEOHFkVjtBZ0R0cmRNO0VBS0Usb0NBQUE7QWhEb3JkUjtBZ0RscmRRO0VBQ0UsdUJBQUE7QWhEb3JkVjtBZ0Q1cmRNO0VBS0Usb0NBQUE7QWhEMHJkUjtBZ0R4cmRRO0VBQ0UsdUJBQUE7QWhEMHJkVjtBZ0QxcWRNO0VBQ0Usa0NBQUE7RUFDQSxvQ0FBQTtBaEQ0cWRSO0FnRHpxZFE7RUFDRSx5QkFBQTtBaEQycWRWO0FnRGpyZE07RUFDRSxvQ0FBQTtFQUNBLG9DQUFBO0FoRG1yZFI7QWdEaHJkUTtFQUNFLHlCQUFBO0FoRGtyZFY7QWdEeHJkTTtFQUNFLG9DQUFBO0VBQ0Esb0NBQUE7QWhEMHJkUjtBZ0R2cmRRO0VBQ0UseUJBQUE7QWhEeXJkVjtBZ0QvcmRNO0VBQ0Usb0NBQUE7RUFDQSxvQ0FBQTtBaERpc2RSO0FnRDlyZFE7RUFDRSx5QkFBQTtBaERnc2RWO0FnRHRzZE07RUFDRSxvQ0FBQTtF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QjtBdEJtZ2lCM0I7QXlENXJoQkk7O0VBRUksdUNuQ3pVbUI7QXRCdWdpQjNCO0F5RDlxaEJROztFQUVJLHNGQUFBO0F6RGdyaEJaO0F5RDNxaEJROztFQUVJLHNGQUFBO0F6RDZxaEJaO0F5RDFwaEJJOzs7O0VBSUksd0NBQUE7RUFDQSwyQkFBQTtFQUNBLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7RUFDQSxvQkFBQTtFQUNBLGdCQUFBO0F6RDZwaEJSO0F5RHpwaEJJOzs7O0VBSUkscUJBQUE7RUFDQSxlQUFBO0F6RDJwaEJSO0F5RHZwaEJJOztFQUVJLDRCQUFBO0VBQ0EsK0JBQUE7QXpEeXBoQlI7QXlEbHBoQkk7Ozs7RUFJSSx5Qm5DdnRCWTtFbUN3dEJaLDRCbkN4dEJZO0F0QjQyaUJwQjtBeURscGhCSTs7Ozs7Ozs7RUFRSSwwQm5DbHVCWTtBdEJzM2lCcEI7QXlEbHBoQkk7Ozs7RUFJSSwyQm5DeHVCWTtBdEI0M2lCcEI7QXlEL29oQkk7Ozs7RUFJSSx5Qm5DaHZCaUI7RW1DaXZCakIsNEJuQ2p2QmlCO0F0Qm00aUJ6QjtBeURocGhCSTs7Ozs7Ozs7RUFRSSwwQm5DM3ZCaUI7QXRCNjRpQnpCO0F5RGhwaEJJOzs7O0VBSUksMkJuQ2p3QmlCO0F0Qm01aUJ6QjtBeUQzb2hCSTtFQUF5QixhQUFBO0F6RCtvaEI3QjtBeUQ5b2hCSTtFQUFpQyxhQUFBO0F6RGlwaEJyQztBeURocGhCSTtFQUNJLG1DQUFBO0F6RGtwaEJSO0F5RGhwaEJJOztFQUVJLHVDbkNuZG1CO0F0QnFtaUIzQjtBeUQ1b2hCSTs7OztFQUlJLDJCbkMxeEJZO0F0Qnc2aUJwQjtBeURwb2hCSTtFQUNJLHVCbkN0eEJnQjtBdEI2NWlCeEI7QXlEcG9oQkk7O0VBRUksMkNBQUE7RUFDQSw4Q0FBQTtBekRzb2hCUjtBeURwb2hCSTs7OztFQUlJLDRDQUFBO0F6RHNvaEJSO0F5RHBvaEJJOztFQUVJLDZDQUFBO0F6RHNvaEJSO0F5RDluaEJBOztFQUVJLGtHQUFBO0F6RGlvaEJKO0F5RDluaEJBOztFQUVJLGtHQUFBO0F6RGlv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RztBdEJtNmtCYjtBc0MzeWxCTTtFQUNFLHFCaEJJRztBdEIweWxCWDtBc0MxeWxCTTtFQUNJLHFCaEJGQztBdEIreWxCWDtBc0NuemxCTTtFQUNFLHFCaEJJRztBdEJremxCWDtBc0NsemxCTTtFQUNJLHFCaEJIQztBdEJ3emxCWDtBc0MzemxCTTtFQUNFLDZCMEJ3RXVFO0FoRXN2bEIvRTtBc0MxemxCTTtFQUNJLDZCMEJtRWtGO0FoRTB2bEI1RjtBc0NuMGxCTTtFQUNFLHlCaEJLRztBdEJpMGxCWDtBc0NsMGxCTTtFQUNJLHlCaEJIQztBdEJ3MGxCWDtBc0MzMGxCTTtFQUNFLHlCaEJLRztBdEJ5MGxCWDtBc0MxMGxCTTtFQUNJLHlCaEJIQztBdEJnMWxCWDtBc0NuMWxCTTtFQUNFLHlCaEJLRztBdEJpMWxCWDtBc0NsMWxCTTtFQUNJLHlCaEJIQztBdEJ3MWxCWDtBc0MzMWxCTTtFQUNFLHlCaEJLRztBdEJ5MWxCWDtBc0MxMWxCTTtFQUNJLHlCaEJIQztBdEJnMmxCWDtBc0NuMmxCTTtFQUNFLG9DMEI0Rk47QWhFMHdsQkY7QXNDbDJsQk07RUFDSSxvQzBCd0ZSO0FoRTZ3bEJGO0FzQzMybEJNO0VBQ0Usb0MwQjJHTjtBaEVtd2xCRjtBc0MxMmxCTTtFQUNJLG9DMEJ1R1I7QWhFc3dsQkY7QXNDbjNsQk07RUFDRSwwQjBCa0hzRTtBaEVvd2xCOUU7QXNDbDNsQk07RUFDSSwwQjBCNkcwRztBaEV3d2xCcEg7QXNDMzNsQk07RUFDRSxvQzBCbUgyRTtBaEUyd2xCbkY7QXNDMTNsQk07RUFDSSxvQzBCOEcrRztBaEUrd2xCekg7QXNDbjRsQk07RUFDRSxrQmhCK0s4QjtBdEJ1dGxCdEM7QXNDbDRsQk07RUFDSSxxQmhCNEtpQztBdEJ5dGxCM0M7QXNDMzRsQk07RUFDRSx5QmhCTUc7QXRCdzRsQlg7QXNDMTRsQk07RUFDSSx5QmhCVEM7QXRCczVsQlg7QXNDbjVsQk07RUFDRSx5QmhCTUc7QXRCZzVsQlg7QXNDbDVsQk07RUFDSSx5QmhCVEM7QXRCODVsQlg7QXNDMzVsQk07RUFDRSx5QmhCMkNZO0F0Qm0zbEJwQjtBc0MxNWxCTTtFQUNJLHlCaEJIQztBdEJnNmxCWDtBc0NuNmxCTTtFQUNFLHlCaEIyQ1k7QXRCMjNsQnBCO0FzQ2w2bEJNO0VBQ0kseUJoQkhDO0F0Qnc2bEJYO0FzQzM2bEJNO0VBQ0UscUJoQjJDWTtBdEJtNGxCcEI7QXNDMTZsQk07RUFDSSxxQmhCSEM7QXRCZzdsQlg7QXNDbjdsQk07RUFDRSx5QmhCMkNZO0F0QjI0bEJwQjtBc0NsN2xCTTtFQUNJLHlCaEJUQztBdEI4N2xCWDtBc0MzN2xCTTtFQUNFLHlCaEIyQ1k7QXRCbTVsQnBCO0FzQzE3bEJNO0VBQ0kseUJoQlRDO0F0QnM4bEJYO0FzQ244bEJNO0VBQ0Usc0IwQjBJZ0g7QWhFNHpsQnhIO0FzQ2w4bEJNO0VBQ0ksc0IwQnFJb0g7QWhFZzBsQjlIO0FzQzM4bEJNO0VBQ0UsMEIwQjZJZ0c7QWhFaTBsQnhHO0FzQzE4bEJNO0VBQ0ksMEIwQndJaUg7QWhFcTBsQjNIO0FnRTF6bEJBO0VBQ0UsNkJBQUE7RUFDQSw4QkFBQTtBaEU2emxCRjtBc0N4OWxCTTtFQUNFLHlCMEI2SjZEO0FoRTh6bEJyRTtBc0N2OWxCTTtFQUNJLHlCMEJ3SmlGO0FoRWswbEIzRjtBc0NoK2xCTTtFQUNFLHlCMEIrSm9FO0FoRW8wbEI1RTtBc0MvOWxCTTtFQUNJLHlCMEIwSndHO0FoRXcwbEJsSDtBc0N4K2xCTTtFQUNFLG9DMEJpS2dGO0FoRTAwbEJ4RjtBc0N2K2xCTTtFQUNJLG9DMEI0Sm9HO0FoRTgwbEI5RztBc0NoL2xCTTtFQUNFLG9DMEJrS3NGO0FoRWkxbEI5RjtBc0MvK2xCTTtFQUNJLG9DMEI2SjBHO0FoRXExbEJwSDtBc0N4L2xCTTtFQUNFLDZCMEJvTHlFO0FoRXUwbEJqRjtBc0N2L2xCTTtFQUNJLDZCMEIrS29GO0FoRTIwbEI5RjtBc0NoZ21CTTtFQUNFLHFDMEJxTG1FO0FoRTgwbEIzRTtBc0MvL2xCTTtFQUNJLHFDMEJnTDhGO0FoRWsxbEJ4RztBc0N4Z21CTTtFQUNFLHlCaEJJRztBdEJ1Z21CWDtBc0N2Z21CTTtFQUNJLHlCaEJGQztBdEI0Z21CWDtBc0NoaG1CTTtFQUNFLHlCaEJLRztBdEI4Z21CWDtBc0MvZ21CTTtFQUNJLHlCaEJIQztBdEJxaG1CWDtBc0N4aG1CTTtFQUNFLHlCaEJLRztBdEJzaG1CWDtBc0N2aG1CTTtFQUNJLHlCaEJIQztBdEI2aG1CWDtBc0NoaW1CTTtFQUNFLHlCaEJ3S21CO0F0QjIzbEIzQjtBc0MvaG1CTTtFQUNJLHlCaEJvS3NCO0F0QjgzbEJoQztBc0N4aW1CTTtFQUNFLHlCaEJ3S21CO0F0Qm00bEIzQjtBc0N2aW1CTTtFQUNJLHlCaEJvS3NCO0F0QnM0bEJoQztBc0Noam1CTTtFQUNFLGtDMEIrTTZHO0FoRW8ybEJySDtBc0MvaW1CTTtFQUNJLHFDMEIwTW1LO0FoRXcybEI3SztBc0N4am1CTTtFQUNFLHlCaEJNRztBdEJxam1CWDtBc0N2am1CTTtFQUNJLHlCaEJUQztBdEJta21CWDtBc0Noa21CTTtFQUNFLHlCaEJNRztBdEI2am1CWDtBc0Mvam1CTTtFQUNJLHlCaEJUQztBdEIya21CWDtBc0N4a21CTTtFQUNFLHFCaEJJRztBdEJ1a21CWDtBc0N2a21CTTtFQUNJLHFCaEJGQztBdEI0a21CWDtBc0NobG1CTTtFQUNFLDZCMEI2TjRGO0FoRXMzbEJwRztBc0Mva21CTTtFQUNJLDZCMEJ3TnVHO0FoRTAzbEJqSDtBc0N4bG1CTTtFQUNFLHlCaEJLRztBdEJzbG1CWDtBc0N2bG1CTTtFQUNJLHlCaEJIQztBdEI2bG1CWDtBc0NobW1CTTtFQUNFLHlCaEJLRztBdEI4bG1CWDtBc0MvbG1CTTtFQUNJLHlCaEJIQztBdEJxbW1CWDtBc0N4bW1CTTtFQUNFLHFCaEJJRztBdEJ1bW1CWDtBc0N2bW1CTTtFQUNJLHFCaEJIQztBdEI2bW1CWDtBc0Nobm1CTTtFQUNFLHFCaEJJRztBdEIrbW1CWDtBc0MvbW1CTTtFQUNJLHFCaEJIQztBdEJxbm1CWDtBc0N4bm1CTTtFQUNFLHlCaEJ3S21CO0F0Qm05bEIzQjtBc0N2bm1CTTtFQUNJLHlCaEJvS3NCO0F0QnM5bEJoQztBc0Nob21CTTtFQUNFLHlCaEJ3S21CO0F0QjI5bEIzQjtBc0Mvbm1CTTtFQUNJLHlCaEJvS3NCO0F0Qjg5bEJoQztBc0N4b21CTTtFQUNFLHlCaEIyQ1k7QXRCZ21tQnBCO0FzQ3ZvbUJNO0VBQ0kseUJoQkhDO0F0QjZvbUJYO0FzQ2hwbUJNO0VBQ0UseUJoQjJDWTtBdEJ3bW1CcEI7QXNDL29tQk07RUFDSSx5QmhCSEM7QXRCcXBtQlg7QXNDeHBtQk07RUFDRSxxQmhCMkNZO0F0QmdubUJwQjtBc0N2cG1CTTtFQUNJLHFCaEJIQztBdEI2cG1CWDtBc0NocW1CTTtFQUNFLHFCaEIyQ1k7QXRCd25tQnBCO0FzQy9wbUJNO0VBQ0kscUJoQkhDO0F0QnFxbUJYO0FzQ3hxbUJNO0VBQ0UseUJoQjJDWTtBdEJnb21CcEI7QXNDdnFtQk07RUFDSSx5QmhCVEM7QXRCbXJtQlg7QXNDaHJtQk07RUFDRSx5QmhCMkNZO0F0QndvbUJwQjtBc0MvcW1CTTtFQUNJLHlCaEJUQztBdEIycm1CWDtBc0N4cm1CTTtFQUNFLHNCMEIwUDZJO0FoRWk4bEJySjtBc0N2cm1CTTtFQUNJLHNCMEJxUGlKO0FoRXE4bEIzSjtBc0Noc21CTTtFQUNFLGtCaEIrSzhCO0F0Qm9obUJ0QztBc0Mvcm1CTTtFQUNJLHFCaEI0S2lDO0F0QnNobUIzQztBc0N4c21CTTtFQUNFLHlCaEJNRztBdEJxc21CWDtBc0N2c21CTTtFQUNJLHlCaEJUQztBdEJtdG1CWDtBc0NodG1CTTtFQUNFLHlCaEJNRztBdEI2c21CWDtBc0Mvc21CTTtFQUNJLHlCaEJUQztBdEIydG1CWDtBc0N4dG1CTTtFQUNFLDBCMEJ3UXdHO0FoRW05bEJoSDtBc0N2dG1CTTtFQUNJLDBCMEJtUXlIO0FoRXU5bEJuSTtBc0NodW1CTTtFQUNFLDBCMEI4UXNHO0FoRXE5bEI5RztBc0MvdG1CTTtFQUNJLDBCMEJ5UXVIO0FoRXk5bEJqSTtBc0N4dW1CTTtFQUNFLHlCaEJLRztBdEJzdW1CWDtBc0N2dW1CTTtFQUNJLHlCaEJIQztBdEI2dW1CWDtBc0Nodm1CTTtFQUNFLGNoQjhLdUI7QXRCcWttQi9CO0FzQy91bUJNO0VBQ0ksY2hCMkswQjtBdEJ1a21CcEM7QXNDeHZtQk07RUFDRSxjaEI4S3VCO0F0QjZrbUIvQjtBc0N2dm1CTTtFQUNJLGNoQjJLMEI7QXRCK2ttQnBDO0FzQ2h3bUJNO0VBQ0UsV2hCK0s4QjtBdEJvbG1CdEM7QXNDL3ZtQk07RUFDSSxjaEI0S2lDO0F0QnNsbUIzQztBZ0V0K2xCQSxpQkFBQTtBMUJsU007RUFDRSx5QmhCbVdpQjtBdEJ5NmxCekI7QXNDeHdtQk07RUFDSSx5QmhCK1ZvQjtBdEI0NmxCOUI7QXNDanhtQk07RUFDRSx5QmhCcVd3QjtBdEIrNmxCaEM7QXNDaHhtQk07RUFDSSx5QmhCaVcyQjtBdEJrN2xCckM7QXNDenhtQk07RUFDRSxjaEJnRVE7QXRCNHRtQmhCO0FzQ3h4bUJNO0VBQ0ksY2hCNERXO0F0Qit0bUJyQjtBZ0UxL2xCQSxVQUFBO0ExQnZTTTtFQUNFLHVCaEI4RGE7QXRCdXVtQnJCO0FzQ2p5bUJNO0VBQ0ksdUJoQjBEZ0I7QXRCMHVtQjFCO0FzQzF5bUJNO0VBQ0UseUJoQm1XaUI7QXRCMDhsQnpCO0FzQ3p5bUJNO0VBQ0kseUJoQitWb0I7QXRCNjhsQjlCO0FzQ2x6bUJNO0VBQ0UscUJoQm1XaUI7QXRCazlsQnpCO0FzQ2p6bUJNO0VBQ0kscUJoQitWb0I7QXRCcTlsQjlCO0FzQzF6bUJNO0VBQ0UseUJoQjhEYTtBdEIrdm1CckI7QXNDenptQk07RUFDSSx5QmhCMERnQjtBdEJrd21CMUI7QXNDbDBtQk07RUFDRSxxQ2hCd1dtQjtBdEI2OWxCM0I7QXNDajBtQk07RUFDSSx5QmhCdUNlO0F0QjZ4bUJ6QjtBc0MxMG1CTTtFQUNFLHdDaEJ3V21CO0F0QnErbEIzQjtBc0N6MG1CTTtFQUNJLDRCaEJ1Q2U7QXRCcXltQnpCO0FzQ2wxbUJNO0VBQ0UsWTBCNlNzRjtBaEV3aW1COUY7QXNDajFtQk07RUFDSSxZMEJ3UzBGO0FoRTRpbUJwRztBc0MxMW1CTTtFQUNFLFkwQjhTcUY7QWhFK2ltQjdGO0FzQ3oxbUJNO0VBQ0ksWTBCeVN5RjtBaEVtam1Cbkc7QXNDbDJtQk07RUFDRSxzQ2hCd1dtQjtBdEI2L2xCM0I7QXNDajJtQk07RUFDSSwwQmhCdUNlO0F0QjZ6bUJ6QjtBc0MxMm1CTTtFQUNFLHVDaEJ3V21CO0F0QnFnbUIzQjtBc0N6Mm1CTTtFQUNJLDJCaEJ1Q2U7QXRCcTBtQnpCO0FzQ2wzbUJNO0VBQ0UsWTBCaVQwRjtBaEVva21CbEc7QXNDajNtQk07RUFDSSxZMEI0UzhGO0FoRXdrbUJ4RztBZ0V0a21CQSxRQUFBO0ExQnBUTTtFQUNFLGNoQjJDWTtBdEJtMW1CcEI7QXNDMTNtQk07RUFDSSxjaEJ1Q2U7QXRCczFtQnpCO0FzQ240bUJNO0VBQ0UsY2hCMkNZO0F0QjIxbUJwQjtBc0NsNG1CTTtFQUNJLGNoQnVDZTtBdEI4MW1CekI7QWdFbmxtQkEsYUFBQTtBMUJ4VE07RUFDRSxjaEJ3VmdCO0F0QnVqbUJ4QjtBc0MzNG1CTTtFQUNJLGNoQm9Wa0I7QXRCMGptQjVCO0FzQ3A1bUJNO0VBQ0UseUJoQnVMa0M7QXRCZ3VtQjFDO0FzQ241bUJNO0VBQ0kseUJoQm1McUM7QXRCbXVtQi9DO0FzQzU1bUJNO0VBQ0UseUJoQllJO0F0Qm01bUJaO0FzQzM1bUJNO0VBQ0kseUJoQnFMd0M7QXRCeXVtQmxEO0FnRXBtbUJBLGtCQUFBO0ExQmhVTTtFQUNFLHlCaEI2RmdCO0F0QjIwbUJ4QjtBc0NwNm1CTTtFQUNJLHlCaEJ5Rm1CO0F0QjgwbUI3QjtBZ0UxbW1CQSxtQkFBQTtBMUJuVU07RUFDRSxjaEJnRVE7QXRCaTNtQmhCO0FzQzc2bUJNO0VBQ0ksY2hCNERXO0F0Qm8zbUJyQjtBc0N0N21CTTtFQUNFLGNoQnFZSztBdEJvam1CYjtBc0NyN21CTTtFQUNJLGNoQmtZRztBdEJzam1CYjtBc0M5N21CTTtFQUNFLGNoQnFZSztBdEI0am1CYjtBc0M3N21CTTtFQUNJLGNoQmtZRztBdEI4am1CYjtBZ0U5bm1CQSxnQkFBQTtBMUJ4VU07RUFDRSw4QjBCd1U2RDtBaEVrb21CckU7QXNDdDhtQk07RUFDSSxrRDBCbVU0RTtBaEVzb21CdEY7QXNDLzhtQk07RUFDRSxjMEJ5VTBEO0FoRXlvbUJsRTtBc0M5OG1CTTtFQUNJLDJCMEJvVTREO0FoRTZvbUJ0RTtBZ0Uzb21CQSxjQUFBO0ExQjVVTTtFQUNFLHVCaEJ5RFc7QXRCazZtQm5CO0FzQ3Y5bUJNO0VBQ0ksdUJoQnFEYztBdEJxNm1CeEI7QWdFanBtQkEscUJBQUE7QTFCL1VNO0VBQ0UsdUJoQnlEVztBdEIyNm1CbkI7QXNDaCttQk07RUFDSSx1QmhCcURjO0F0Qjg2bUJ4QjtBc0N6K21CTTtFQUNFLGtCMEJnVnlFO0FoRTRwbUJqRjtBc0N4K21CTTtFQUNJLHNDMEIyVTJFO0FoRWdxbUJyRjtBc0NqL21CTTtFQUNFLFUwQmlWaUU7QWhFbXFtQnpFO0FzQ2gvbUJNO0VBQ0ksOEIwQjRVbUU7QWhFdXFtQjdFO0FnRXJxbUJBLDRCQUFBO0ExQnBWTTtFQUNFLGNoQitIYztBdEI4M21CdEI7QXNDei9tQk07RUFDSSxjaEIySGlCO0F0Qmk0bUIzQjtBc0NsZ25CTTtFQUNFLGNoQitIYztBdEJzNG1CdEI7QXNDamduQk07RUFDSSxjaEIySGlCO0F0Qnk0bUIzQjtBZ0VqcW1CQTs7RUFFRSxjQUFBO0FoRW9xbUJGO0FzQy9nbkJNO0VBQ0UsdUJoQnlEVztBdEJ5OW1CbkI7QXNDOWduQk07RUFDSSx1QmhCcURjO0F0QjQ5bUJ4QjtBZ0VqcW1CQTs7RUFFRSx1QjFDOVRpQjtBdEJrK21CbkI7QWdFbHFtQkE7O0VBRUUsdUIxQ2pVc0I7QXRCcyttQnhCO0FzQ2ppbkJNO0VBQ0UseUJoQnVMa0M7QXRCNjJtQjFDO0FzQ2hpbkJNO0VBQ0kseUJoQm1McUM7QXRCZzNtQi9DO0FzQ3ppbkJNO0VBQ0UsY2hCOEt1QjtBdEI4M21CL0I7QXNDeGluQk07RUFDSSxjaEIySzBCO0F0Qmc0bUJwQztBc0Nqam5CTTtFQUNFLHlCaEJ1TGtDO0F0QjYzbUIxQztBc0Noam5CTTtFQUNJLHlCaEJtTHFDO0F0Qmc0bUIvQztBc0N6am5CTTtFQUNFLGNoQjhLdUI7QXRCODRtQi9CO0FzQ3hqbkJNO0VBQ0ksY2hCMkswQjtBdEJnNW1CcEM7QXNDamtuQk07RUFDRSxXaEIrSzhCO0F0QnE1bUJ0QztBc0Noa25CTTtFQUNJLGNoQjRLaUM7QXRCdTVtQjNDO0FzQ3prbkJNO0VBQ0UsV2hCK0s4QjtBdEI2NW1CdEM7QXNDeGtuQk07RUFDSSxjaEI0S2lDO0F0Qis1bUIzQztBZ0Uzcm1CQTtFQUFnRCxXMUN0T1Y7QXRCcTZtQnRDO0FnRTlybUJBO0VBQWdELGMxQ3JPTDtBdEJ1Nm1CM0M7QXNDemxuQk07RUFDRSxzQzBCdVpnRjtBaEVxc21CeEY7QXNDeGxuQk07RUFDSSxrQjBCa1pzRztBaEV5c21CaEg7QXNDam1uQk07RUFDRSw4QjBCd1p3RTtBaEU0c21CaEY7QXNDaG1uQk07RUFDSSxVMEJtWjhGO0FoRWd0bUJ4RztBc0N6bW5CTTtFQUNFLHlCaEJIRztBdEIrbW5CWDtBc0N4bW5CTTtFQUNJLHlCaEJtSnFCO0F0Qnc5bUIvQjtBc0Nqbm5CTTtFQUNFLDBDMEIwWjBFO0FoRTB0bUJsRjtBc0Nobm5CTTtFQUNJLDBDMEJxWnVHO0FoRTh0bUJqSDtBc0N6bm5CTTtFQUNFLDRCaEJDRztBdEIybm5CWDtBc0N4bm5CTTtFQUNJLDRCaEJxSW1CO0F0QnMvbUI3QjtBc0Nqb25CTTtFQUNFLHlCaEJ3S21CO0F0QjQ5bUIzQjtBc0Nob25CTTtFQUNJLHlCaEJvS3NCO0F0Qis5bUJoQztBc0N6b25CTTtFQUNFLDRCaEJDRztBdEIyb25CWDtBc0N4b25CTTtFQUNJLDRCaEJxSW1CO0F0QnNnbkI3QjtBc0NqcG5CTTtFQUNFLFdoQitLOEI7QXRCcSttQnRDO0FzQ2hwbkJNO0VBQ0ksY2hCNEtpQztBdEJ1K21CM0M7QXNDenBuQk07RUFDRSxjaEI4S3VCO0F0QjgrbUIvQjtBc0N4cG5CTTtFQUNJLGNoQjJLMEI7QXRCZy9tQnBDO0FzQ2pxbkJNO0VBQ0UsY2hCOEt1QjtBdEJzL21CL0I7QXNDaHFuQk07RUFDSSxjaEIySzBCO0F0QncvbUJwQztBc0N6cW5CTTtFQUNFLHNDMEJxYTBGO0FoRXV3bUJsRztBc0N4cW5CTTtFQUNJLGtCMEJnYWdIO0FoRTJ3bUIxSDtBc0Nqcm5CTTtFQUNFLDhCMEJzYWtGO0FoRTh3bUIxRjtBc0Nocm5CTTtFQUNJLFUwQmlhd0c7QWhFa3htQmxIO0FzQ3pybkJNO0VBQ0UseUJoQndLbUI7QXRCb2huQjNCO0FzQ3hybkJNO0VBQ0kseUJoQm9Lc0I7QXRCdWhuQmhDO0FzQ2pzbkJNO0VBQ0UsMkJoQkNHO0F0Qm1zbkJYO0FzQ2hzbkJNO0VBQ0ksMkJoQnFJbUI7QXRCOGpuQjdCO0FzQ3pzbkJNO0VBQ0UseUJoQkNHO0F0QjJzbkJYO0FzQ3hzbkJNO0VBQ0kseUJoQnFJbUI7QXRCc2tuQjdCO0FnRXh4bUJBO0VBQ0UsK0JBQUE7QWhFMnhtQkY7QWdFenhtQkE7RUFDRSwrQkFBQTtBaEU0eG1CRjtBZ0V2eG1CQTs7RUFFRSxzQ0FBQTtFQUNBLHNDQUFBO0FoRTB4bUJGO0FnRXh4bUJBOztFQUVFLHNDQUFBO0VBQ0Esc0NBQUE7QWhFMnhtQkY7QXNDcnVuQk07RUFDRSx5QmhCd0ttQjtBdEJna25CM0I7QXNDcHVuQk07RUFDSSx5QmhCb0tzQjtBdEJta25CaEM7QXNDN3VuQk07RUFDRSx5QmhCd0ttQjtBdEJ3a25CM0I7QXNDNXVuQk07RUFDSSx5QmhCb0tzQjtBdEIya25CaEM7QXNDcnZuQk07RUFDRSx1QzBCOGRvSDtBaEUweG1CNUg7QXNDcHZuQk07RUFDSSx1QzBCeWRtSjtBaEU4eG1CN0o7QXNDN3ZuQk07RUFDRSxvQzBCK2RpSDtBaEVpeW1Cekg7QXNDNXZuQk07RUFDSSxvQzBCMGRnSjtBaEVxeW1CMUo7QXNDcnduQk07RUFDRSxjaEI4S3VCO0F0QjBsbkIvQjtBc0Nwd25CTTtFQUNJLGNoQjJLMEI7QXRCNGxuQnBDO0FzQzd3bkJNO0VBQ0UsV2hCK0s4QjtBdEJpbW5CdEM7QXNDNXduQk07RUFDSSxjaEI0S2lDO0F0Qm1tbkIzQztBc0NyeG5CTTtFQUNFLFdoQitLOEI7QXRCeW1uQnRDO0FzQ3B4bkJNO0VBQ0ksY2hCNEtpQztBdEIybW5CM0M7QXNDN3huQk07RUFDRSx5QmhCdUxrQztBdEJ5bW5CMUM7QXNDNXhuQk07RUFDSSx5QmhCbUxxQztBdEI0bW5CL0M7QXNDcnluQk07RUFDRSx5QmhCdUxrQztBdEJpbm5CMUM7QXNDcHluQk07RUFDSSx5QmhCbUxxQztBdEJvbm5CL0M7QXNDN3luQk07RUFDRSxXaEIrSzhCO0F0QmlvbkJ0QztBc0M1eW5CTTtFQUNJLGNoQjRLaUM7QXRCbW9uQjNDO0FzQ3J6bkJNO0VBQ0UseUJoQnVMa0M7QXRCaW9uQjFDO0FzQ3B6bkJNO0VBQ0kseUJoQm1McUM7QXRCb29uQi9DO0FzQzd6bkJNO0VBQ0UsV2hCK0s4QjtBdEJpcG5CdEM7QXNDNXpuQk07RUFDSSxjaEI0S2lDO0F0Qm1wbkIzQztBc0NyMG5CTTtFQUNFLGNoQjhLdUI7QXRCMHBuQi9CO0FzQ3AwbkJNO0VBQ0ksY2hCMkswQjtBdEI0cG5CcEM7QXNDNzBuQk07RUFDRSx5QmhCdUxrQztBdEJ5cG5CMUM7QXNDNTBuQk07RUFDSSx5QmhCbUxxQztBdEI0cG5CL0M7QXNDcjFuQk07RUFDRSxXaEIrSzhCO0F0QnlxbkJ0QztBc0NwMW5CTTtFQUNJLGNoQjRLaUM7QXRCMnFuQjNDO0FzQzcxbkJNO0VBQ0UseUJoQnVMa0M7QXRCeXFuQjFDO0FzQzUxbkJNO0VBQ0kseUJoQm1McUM7QXRCNHFuQi9DO0FzQ3IybkJNO0VBQ0UsV2hCK0s4QjtBdEJ5cm5CdEM7QXNDcDJuQk07RUFDSSxjaEI0S2lDO0F0QjJybkIzQztBc0M3Mm5CTTtFQUNFLHNDMEJ5Z0JxRztBaEV1Mm1CN0c7QXNDNTJuQk07RUFDSSxrQjBCb2dCMkg7QWhFMjJtQnJJO0FzQ3IzbkJNO0VBQ0UsOEIwQjBnQjZGO0FoRTgybUJyRztBc0NwM25CTTtFQUNJLFUwQnFnQm1IO0FoRWszbUI3SDtBc0M3M25CTTtFQUNFLHNDMEIrZ0I2RjtBaEVpM21Cckc7QXNDNTNuQk07RUFDSSxrQjBCMGdCbUg7QWhFcTNtQjdIO0FzQ3I0bkJNO0VBQ0UsOEIwQmdoQnFGO0FoRXczbUI3RjtBc0NwNG5CTTtFQUNJLFUwQjJnQjJHO0FoRTQzbUJySDtBc0M3NG5CTTtFQUNFLFdoQitLOEI7QXRCaXVu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c0I7QS9CMi9uQnhCO0FnRS96bUJBO0VBQ0UsYUFBQTtFQUNBLHVCQUFBO0FoRWswbUJGO0FnRTV6bUJBO0VBQ0UsNERBQUE7QWhFK3ptQkY7QXNDamxvQk07RUFDRSx5QmhCd0ttQjtBdEI0Nm5CM0I7QXNDaGxvQk07RUFDSSx5QmhCb0tzQjtBdEIrNm5CaEM7QXNDemxvQk07RUFDRSw0QmhCQ0c7QXRCMmxvQlg7QXNDeGxvQk07RUFDSSw0QmhCcUltQjtBdEJzOW5CN0I7QXNDam1vQk07RUFDRSx5QmhCQ0c7QXRCbW1vQlg7QXNDaG1vQk07RUFDSSx5QmhCcUltQjtBdEI4OW5CN0I7QWdFenptQkE7RUFDRSx5QjFDeG9CeUI7RTBDeW9CekIsYzFDbm9CNkI7RTBDb29CN0IsK0JBQUE7QWhFNHptQkY7QWdFMXptQkE7RUFDRSx5QjFDNW9COEI7RTBDNm9COUIsYzFDdG9Ca0M7RTBDdW9CbEMsK0JBQUE7QWhFNnptQkY7QWdFeHptQkE7O0VBRUUsMkIxQzV6QlM7RTBDNnpCVCwyQkFBQTtBaEUyem1CRjtBZ0V6em1CQTs7RUFFRSwyQjFDdnJCMkI7RTBDd3JCM0IsMkJBQUE7QWhFNHptQkY7QWdFcHptQkE7RUFDRSxjQUFBO0VBQ0EsU0FBQTtBaEV1em1CRjtBZ0Vyem1CQTtFQUlFLDZCQUFBO0VBR0EsWUN0ekJnQjtBakV5bW9CbEI7QWdFM3ltQkE7RUFDRSxjMUMvcUJ5QztBdEI2OW5CM0M7QXNDL29vQk07RUFDRSxjaEI4S3VCO0F0Qm8rbkIvQjtBc0M5b29CTTtFQUNJLGNoQjJLMEI7QXRCcytuQnBDO0FzQ3Zwb0JNO0VBQ0UsV2hCK0s4QjtBdEIyK25CdEM7QXNDdHBvQk07RUFDSSxjaEI0S2lDO0F0QjYrbkIzQztBc0MvcG9CTTtFQUNFLFdoQitLOEI7QXRCbS9uQnRDO0FzQzlwb0JNO0VBQ0ksY2hCNEtpQztBdEJxL25CM0M7QXNDdnFvQk07RUFDRSx5QmhCdUxrQztBdEJtL25CMUM7QXNDdHFvQk07RUFDSSx5QmhCbUxxQztBdEJzL25CL0M7QXNDL3FvQk07RUFDRSx5QmhCdUxrQztBdEIyL25CMUM7QXNDOXFvQk07RUFDSSx5QmhCbUxxQztBdEI4L25CL0M7QXNDdnJvQk07RUFDRSxXaEIrSzhCO0F0QjJnb0J0QztBc0N0cm9CTTtFQUNJLGNoQjRLaUM7QXRCNmdvQjNDO0FzQy9yb0JNO0VBQ0UsY2hCOEt1QjtBdEJvaG9CL0I7QXNDOXJvQk07RUFDSSxjaEIySzBCO0F0QnNob0JwQztBc0N2c29CTTtFQUNFLHlCaEJ1TGtDO0F0Qm1ob0IxQztBc0N0c29CTTtFQUNJLHlCaEJtTHFDO0F0QnNob0IvQztBc0Mvc29CTTtFQUNFLHlCaEJ3S21CO0F0QjBpb0IzQjtBc0M5c29CTTtFQUNJLHlCaEJvS3NCO0F0QjZpb0JoQztBc0N2dG9CTTtFQUNFLDJCaEJDRztBdEJ5dG9CWDtBc0N0dG9CTTtFQUNJLDJCaEJxSW1CO0F0Qm9sb0I3QjtBZ0VoMW1CQTtFQUNFLG1EQUFBO0FoRW0xbUJGO0FzQ251b0JNO0VBQ0UsNEJoQkNHO0F0QnF1b0JYO0FzQ2x1b0JNO0VBQ0ksMEIwQmk1QjZHO0FoRW8xbUJ2SDtBc0MzdW9CTTtFQUNFLFdoQitLOEI7QXRCK2pvQnRDO0FzQzF1b0JNO0VBQ0ksY2hCNEtpQztBdEJpa29CM0M7QWdFbjFtQkE7RUFDRSxvQ0FBQTtBaEVzMW1CRjtBZ0VwMW1CQTtFQUNFLG9DQUFBO0FoRXUxbUJGO0FnRW4xbUJBOztFQUVFLG9DQUFBO0FoRXMxbUJGO0FnRXAxbUJBOztFQUVFLG9DQUFBO0FoRXUxbUJGO0FnRXgwbUJBOzs7O0VBSUUsd0NBQUE7QWhFMjBtQkY7QWdFcDBtQkE7O0VBRUUsb0NBQUE7QWhFdTBtQkY7QWdFcjBtQkE7O0VBRUUsb0NBQUE7QWhFdzBtQkY7QWdFOXptQkE7RUFDRSxjMUMxeUI2QjtBdEIybW9CL0I7QWdFL3ptQkE7O0VBRUUsVzFDN3lCb0M7QXRCK21vQnRDO0FnRWgwbUJBO0VBQ0UsYzFDL3lCa0M7QXRCa25vQnBDO0FnRWowbUJBOztFQUVFLGMxQ2x6QnlDO0F0QnNub0IzQztBZ0U3em1CQTs7RUFFRSxvQ0FBQTtBaEVnMG1CRjtBZ0U5em1C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cXptQjFCO0FnRXB6bUJFO0VBQU8sZ0JBQUE7QWhFdXptQlQ7QWdFcnptQkE7RUFDRSxvQkFBQTtFQUNBLGMxQ3h0Q1M7QXRCZ2hwQlg7QWdFbnptQkU7OztFQUVjLGMxQ3BqQ29CO0F0QjIyb0JwQztBZ0V0em1CRTtFQUFnQixjMUNyakNrQjtBdEI4Mm9CcEM7QWdFeHptQkU7RUFBb0IseUIxQzlpQ3lCO0F0Qnkyb0IvQztBZ0Vyem1CQTs7RUFFRSxvQ0FBQTtBaEV3em1CRjtBZ0V0em1CQTs7RUFFRSxvQ0FBQTtBaEV5em1CRjtBZ0Vwem1CQTtFQUNFLGdDQUFBO0FoRXV6bUJGO0FnRXJ6bUJBO0VBQ0UsZ0NBQUE7QWhFd3ptQkY7QWdFcHptQkE7RUFDRSxvQ0FBQTtFQUNBLGdDQUFBO0VBQ0EsdVFBQUE7QWhFdXptQkY7QWdFcnptQkE7RUFDRSxvQ0FBQTtFQUNBLGdDQUFBO0VBQ0EsdVFBQUE7QWhFd3ptQkY7QXNDaGtwQk07RUFDRSxjaEI4S3VCO0F0QnE1b0IvQjtBc0MvanBCTTtFQUNJLGNoQjJLMEI7QXRCdTVvQnBDO0FzQ3hrcEJNO0VBQ0Usb0MwQml4Q3VHO0FoRTB6bUIvRztBc0N2a3BCTTtFQUNJLG9DMEI0d0NvSTtBaEU4em1COUk7QXNDaGxwQk07RUFDRSxvQzBCa3hDZ0k7QWhFaTBtQnhJO0FzQy9rcEJNO0VBQ0ksb0MwQjZ3QzZKO0FoRXEwbUJ2SztBc0N4bHBCTTtFQUNFLG9DMEJ3eENnSDtBaEVtMG1CeEg7QXNDdmxwQk07RUFDSSxvQzBCbXhDNkk7QWhFdTBtQnZKO0FzQ2htcEJNO0VBQ0UsZ0QwQjZ4QzhHO0FoRXMwbUJ0SDtBc0MvbHBCTTtFQUNJLGdEMEJ3eENvSjtBaEUwMG1COUo7QXNDeG1wQk07RUFDRSwyQjBCOHhDMEg7QWhFNjBtQmxJO0FzQ3ZtcEJNO0VBQ0ksMkIwQnl4Q3lJO0FoRWkxbUJuSjtBZ0U3MG1CQTs7RUFFRSxvQ0FBQTtBaEVnMW1CRjtBZ0U5MG1CQTs7RUFFRSxvQ0FBQTtBaEVpMW1CRjtBZ0U5MG1CQTs7RUFFRSxvQ0FBQTtBaEVpMW1CRjtBZ0UvMG1CQTs7RUFFRSxvQ0FBQTtBaEVrMW1CRjtBZ0UzMG1CQTtFQUNFLG9DQUFBO0VBS0EsMkJBQUE7RUFDQSxtRGpDdHZDc0I7QS9CZ2twQnhCO0FnRXp6bUJBO0VBQ0UsY0FBQTtFQUNBLHNCQUFBO0VBQ0EsY0FBQTtFQUNBLGdCQUFBO0VBQ0Esa0JqQzl2Q2M7QS9CMGpwQmhCO0FnRTF6bUJBO0VBQ0UseUIxQ2hyQ3lCO0UwQ2lyQ3pCLGdCQUFBO0VBQ0EsbURqQ2p4Q3NCO0EvQjhrcEJ4QjtBZ0Vyem1CQTtFQUNFLHNCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLGtCakMvd0NjO0VpQ2d4Q2Qsb0JBQUE7QWhFd3ptQkY7QWdFdHptQkU7RUFDRSxhQUFBO0VBQ0EscUJBQUE7RUFDQSw4QkFBQTtFQUNBLFNBQUE7RUFDQSxjQUFBO0FoRXd6bUJKO0FnRXR6bUJFO0VBQXFCLGdCQUFBO0VBQWtCLG1CQUFBO0FoRTB6bUJ6QztBZ0V6em1CRTtFQUFxQixnQkFBQTtFQUFrQixpQkFBQTtBaEU2em1CekM7QWdFNXptQkU7RUFBdUIscUJBQUE7QWhFK3ptQnpCO0FnRTd6bUJBO0VBQ0UseUIxQzdzQ3lCO0UwQzhzQ3pCLG1EakM3eUNzQjtFaUM4eUN0QixjMUN6c0M2QjtBdEJ5Z3BCL0I7QWdFL3ptQkU7RUFBcUIsYzFDbjNDWjtBdEJxcnBCWDtBZ0VqMG1CRTtFQUF1QixjMUM5MENMO0F0QmtwcEJwQjtBZ0VsMG1CQTtFQUNFLHlCMUNudEM4QjtFMENvdEM5Qiw2QkFBQTtFQUNBLGtEakNwekNzQjtFaUNxekN0QixjMUMvc0NrQztBdEJvaHBCcEM7QWdFcDBtQkU7RUFBcUIsYzFDaHRDYTtFMENndEM4QixZQUFBO0FoRXcwbUJsRTtBZ0V2MG1CRTtFQUF1QixjMUNyMUNBO0F0QitwcEJ6QjtBZ0VsMG1CQTtFQUNFLFVBQUE7RUFDQSxnQkFBQTtFQUNBLGFBQUE7RUFDQSxzQkFBQTtBaEVxMG1CRjtBZ0VuMG1CQTs7RUFFRSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxjQUFBO0VBQ0EsYUFBQTtBaEVzMG1CRjtBZ0Vwem1CQTtFQUF5Qix3QkFBQTtBaEV3em1CekI7QWdFbHptQkE7RUFDRSxhQUFBO0VBQ0EsNEJBQUE7RUFFQSxtRUFBQTtVQUFBLDJEQUFBO0FoRW96bUJGO0FnRXJ6bUJFO0VBQVUsK0JBQUE7QWhFd3ptQlo7QWdFNXltQkE7O0VBRUUsY0FBQTtFQUNBLHNCQUFBO0VBQ0Esa0JqQ3gyQ2M7RWlDeTJDZCxjQUFBO0FoRSt5bUJGO0FnRXh5bUJBO0VBQ0UseUJBQUE7QWhFMnltQkY7QWdFMXltQkU7RUFDRSx1QkFBQTtFQUNBLDRCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsMEJBQUE7RUFDQSxrQkFBQTtFQUNBLGtDQUFBO0VBQ0Esd0JBQUE7RUFDQSx3QkFBQTtFQUNBLG1CQUFBO0VBQ0EsU0FBQTtBaEU0eW1CSjtBZ0UzeW1CSTtFQUNFLGVBQUE7RUFDQSxXQUFBO0VBQWEsWUFBQTtFQUFjLGlCQUFBO0VBQzNCLDBCQUFBO0VBQ0EsU0FBQTtBaEUreW1CTjtBZ0U3eW1CSTtFQUNFLHFDQUFBO0FoRSt5bUJOO0FnRTl5bUJNO0VBQVksMEJBQUE7QWhFaXptQmxCO0FnRXp5bUJBO0VBQ0UsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7RUFDQSx1QkFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxhQUFBO0VBQ0EsVUFBQTtBaEU0eW1CRjtBZ0UzeW1CRTtFQUNFLFlBQUE7RUFDQSxpQkFBQTtBaEU2eW1CSjtBZ0U1eW1CSTtFQUF3QixnQkFBQTtBaEUreW1CNUI7QWdFN3ltQkU7RUFDRSxrQ0FBQTtBaEUreW1CSjtBZ0U5eW1CSTs7RUFDMEIsZUFBQTtFQUFpQixnQkFBQTtBaEVrem1CL0M7QWdFanptQkk7RUFBVSxrQ0FBQTtBaEVvem1CZDtBZ0U1eW1CQTs7RUFFRSxzQkFBQTtFQUNBLDBCQUFBO0VBQ0Esd0JBQUE7RUFDQSx5Q0FBQTtBaEUreW1CRjtBZ0U3eW1CQTs7OztFQUlFLHNCQUFBO0FoRWd6bUJGO0FnRTl5bUJBOztFQUVFLHlCMUN0MkN5QjtFMEN1MkN6QixtRGpDdDhDc0I7QS9CdXZwQnhCO0FnRWx5bUJBO0VBQ0UsZ0NBQUE7RUFDQSx5QkFBQTtBaEVxeW1CRjtBZ0V6eG1CRTs7O0VBR0UseUJBQUE7QWhFNHhtQko7QWdFMXhtQkU7OztFQUdFLHNCQUFBO0FoRTR4bUJKO0FnRXJ4bUJFOzs7Ozs7Ozs7RUFZRSxvQ0FBQTtFQUNBLHNCQUFBO0FoRW94bUJKO0FnRWh4bUJFOzs7RUFHRSx5QkFBQTtBaEVteG1CSjtBZ0VqeG1CRTs7O0VBR0UseUJBQUE7QWhFbXhtQko7QWdFaHhtQkU7Ozs7Ozs7OztFQVVFLG9DQUFBO0VBQ0EseUJBQUE7QWhFaXhtQko7QWdFendtQkE7OztFQUdFLHdCQUFBO0VBQ0EsMEJBQUE7RUFDQSwrQkFBQTtBaEU0d21CRjtBZ0Vud21CQTs7O0VBR0Usd0JBQUE7RUFDQSwwQkFBQTtBaEVzd21CRjtBZ0Vwd21CQTs7O0VBR0Usd0NBQUE7QWhFdXdtQkY7QWdFOXZtQkE7RUFDRSxjQUFBO0VBQ0Esa0JBQUE7QWhFaXdtQkY7QWdFNXZtQkE7RUFDRSxrQkFBQTtFQUNBLHFCQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSx3Q0FBQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EseUNBQUE7RUFDQSxvQkFBQTtFQUNBLFVBQUE7RUFDQSxrQkFBQTtBaEUrdm1CRjtBZ0U3dm1CQTtFQUNFLFVBQUE7RUFDQSxtQkFBQTtBaEVnd21CRjtBZ0Vudm1CRTs7O0VBR0Usb0NBQUE7RUFDQSxzQkFBQTtBaEVzdm1CSjtBZ0Vwdm1CSTs7Ozs7O0VBRUUsc0JBQUE7QWhFMHZtQk47QWdFdnZtQkU7OztFQUdFLG9DQUFBO0VBQ0Esc0JBQUE7QWhFeXZtQko7QWdFcnZtQkE7RUFDRSxvQ0FBQTtFQUlBLHdDQUFBO0VBQ0Esa0RqQ25vRHNCO0EvQnczcEJ4QjtBZ0Vqdm1CQTtFQUNFLHlCMUN6aUQ4QjtFMEMwaUQ5Qiw2QkFBQTtFQUNBLGtEakMxb0RzQjtBL0I4M3BCeEI7QWdFOXVtQkE7RUFDRSwyQ0FBQTtBaEVpdm1CRjtBZ0Vodm1CRTtFQUVFLHNEQUFBO0VBQ0EsMENBQUE7QWhFaXZtQko7QWdFMXVtQkE7RUFDRSxnQkFBQTtFQUNBLDJCQUFBO0FoRTZ1bUJGO0FnRTN1bUJFO0VBQ0UsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsOEJBQUE7RUFDQSxTQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7RUFDQSxjMUNua0QyQjtFMENva0QzQixlakNyb0RnQjtFaUNzb0RoQixnQmpDNW5EZTtBL0J5MnBCbkI7QWdFM3VtQkU7RUFDRSxjQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFDQSxtQkFBQTtBaEU2dW1CSjtBZ0UzdW1CRTtFQUNFLDBCMUNscERTO0UwQ21wRFQsZ0JqQ3JvRHFCO0VpQ3NvRHJCLGdCQUFBO0FoRTZ1bUJKO0FnRTN1bUJFO0VBQ0UsY0FBQTtFQUNBLDBCMUN4cERTO0UwQ3lwRFQsZ0JqQzNvRHFCO0VpQzRvRHJCLGtDQUFBO0FoRTZ1bUJKO0FnRXZ1bUJFO0VBQW1CLGMxQzNsRGU7QXRCczBwQnBDO0FnRTF1bUJFO0VBQXNDLGdDMUNocUR0QjtBdEI2NHBCbEI7QWdFdHVtQkE7RUFDRSxnQkFBQTtFQUNBLDJCQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtBaEV5dW1CRjtBZ0V2dW1CRTtFQUNFLGFBQUE7RUFDQSxtQkFBQTtFQUNBLDhCQUFBO0VBQ0EsUUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EscUJBQUE7RUFDQSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxrQmpDNXNEWTtFaUM2c0RaLHVCQUFBO0VBQ0EsYzFDdm5EMkI7RTBDd25EM0IsZWpDenJEZ0I7RWlDMHJEaEIsZ0JqQ2hyRGU7RWlDaXJEZixnQkFBQTtFQUNBLGVBQUE7QWhFeXVtQko7QWdFdnVtQkk7RUFDRSx5QjFDcm5Eb0M7QXRCODFwQjFDO0FnRXR1bUJJO0VBQ0UsV0FBQTtFQUNBLHFCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxRQUFBO0VBQ0EsMkJBQUE7RUFDQSx5QjFDMW9EeUI7RTBDMm9EekIsdVFBQUE7RUFDQSwrUEFBQTtBaEV3dW1CTjtBZ0VwdW1CRTtFQUNFLGNBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0FoRXN1bUJKO0FnRXB1bUJFO0VBQ0UsMEIxQzN0RFM7RTBDNHREVCxnQmpDOXNEcUI7RWlDK3NEckIsZ0JBQUE7QWhFc3VtQko7QWdFcHVtQkU7RUFDRSxjQUFBO0VBQ0EsMEIxQ2p1RFM7RTBDa3VEVCxnQmpDcHREcUI7RWlDcXREckIsa0NBQUE7QWhFc3VtQko7QWdFaHVtQkU7RUFDRSxjMUNycURnQztBdEJ3NHBCcEM7QWdFbHVtQkk7RUFBVSx5QjFDOXBEaUM7QXRCbTRwQi9DO0FnRXB1bUJJO0VBQXFCLHlCMUN2cURXO0F0Qjg0cEJwQztBZ0VydW1CRTtFQUFnQyxnQzFDN3VEaEI7QXRCcTlwQmxCO0FnRWp1bUJBO0VBQXlCLHdCQUFBO0FoRXF1bUJ6QjtBZ0VwdW1CQTtFQUFzQix3QkFBQTtBaEV3dW1CdEI7QWdFcnVtQkE7OztFQUVlLHdCQUFBO0FoRXl1bUJmO0FnRXR1bUJBO0VBQXlCLHdCQUFBO0FoRTB1bUJ6QjtBZ0VsdW1CQTtFQUNFLGdDMUN0d0RnQjtBdEIyK3BCbEI7QWdFcHVtQkU7RUFDRSwyQzFDM3ZEcUI7RTBDNHZEckIsK0IxQ253RG9CO0F0QnkrcEJ4QjtBZ0VwdW1CRTtFQUFjLGNBQUE7QWhFdXVtQmhCO0FnRTl0bUJFO0VBQ0UsYzFDanREZ0M7QXRCazdwQnBDO0FnRWh1bUJJO0VBQVcseUIxQzFzRGdDO0F0QjY2cEIvQztBZ0VsdW1CSTtFQUFxQix5QjFDbnREVztBdEJ3N3BCcEM7QWdFbnVtQkU7RUFBc0IseUIxQzV0RFE7QXRCazhwQmhDO0FnRXJ1bUJFO0VBQ0UsdUIxQzcwRG9CO0UwQzgwRHBCLHFCMUM5dkR5QjtFMEMrdkR6QixjMUN6dERnQztBdEJnOHBCcEM7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QWdFbHFtQkU7RUFBZ0Usa0NBQUE7QWhFcXFtQmxFO0FnRWxxbUJFOztFQUNtQyxvQ0FBQTtBaEVzcW1CckM7QWdFcnFtQkU7RUFBZ0Usa0NBQUE7QWhFd3FtQmxFO0FnRTlwbUJFOzs7RUFHRSxvQ0FBQTtFQUNBLHlCQUFBO0FoRWlxbUJKO0FnRS9wbUJJOzs7Ozs7RUFFRSx5QkFBQTtBaEVxcW1CTjtBZ0VscW1CRTs7O0VBR0Usb0NBQUE7RUFDQSx5QkFBQTtBaEVvcW1CSjtBZ0UvcG1CQSxxQkFBQTtBMUJoMkVNO0VBQ0UsY2hCOEt1QjtBdEJxMXFCL0I7QXNDLy9xQk07RUFDSSxjaEIySzBCO0F0QnUxcUJwQztBc0N4Z3JCTTtFQUNFLHlCaEJDRztBdEIwZ3JCWDtBc0N2Z3JCTTtFQUNJLHlCaEJxSW1CO0F0QnE0cUI3QjtBc0NoaHJCTTtFQUNFLHlCaEJDRztBdEJraHJCWDtBc0MvZ3JCTTtFQUNJLHlCaEJxSW1CO0F0QjY0cUI3QjtBc0N4aHJCTTtFQUNFLHlCaEJDRztBdEIwaHJCWDtBc0N2aHJCTTtFQUNJLHlCaEJxSW1CO0F0QnE1cUI3QjtBc0NoaXJCTTtFQUNFLHlCaEJDRztBdEJraXJCWDtBc0MvaHJCTTtFQUNJLHlCaEJxSW1CO0F0QjY1cUI3QjtBc0N4aXJCTTtFQUNFLHVCaEJ5RFc7QXRCay9xQm5CO0FzQ3ZpckJNO0VBQ0ksdUJoQnFEYztBdEJxL3FCeEI7QXNDaGpyQk07RUFDRSxxQmhCQ0c7QXRCa2pyQlg7QXNDL2lyQk07RUFDSSxxQmhCcUltQjtBdEI2NnFCN0I7QXNDeGpyQk07RUFDRSwwQzBCMjNFbUc7QWhFZ3NtQjNHO0FzQ3ZqckJNO0VBQ0kseUMwQnMzRWlJO0FoRW9zbUIzSTtBc0Noa3JCTTtFQUNFLHlCaEJIRztBdEJza3JCWDtBc0MvanJCTTtFQUNJLHlCaEJDQztBdEJpa3JCWDtBc0N4a3JCTTtFQUNFLGNoQk1HO0F0QnFrckJYO0FzQ3ZrckJNO0VBQ0ksY2hCSkM7QXRCOGtyQlg7QXNDaGxyQk07RUFDRSxjMEJrNEVpRjtBaEVpdG1CekY7QXNDL2tyQk07RUFDSSxjMEI2M0V3RjtBaEVxdG1CbEc7QXNDeGxyQk07RUFDRSxjMEJtNEVpRjtBaEV3dG1CekY7QXNDdmxyQk07RUFDSSxjMEI4M0V3RjtBaEU0dG1CbEc7QXNDaG1yQk07RUFDRSxjaEJnRVE7QXRCbWlyQmhCO0FzQy9sckJNO0VBQ0ksY2hCNERXO0F0QnNpckJyQjtBc0N4bXJCTTtFQUNFLGNoQjhLdUI7QXRCNjdxQi9CO0FzQ3ZtckJNO0VBQ0ksY2hCMkswQjtBdEIrN3FCcEM7QWdFeHVtQkEsYUFBQTtBMUJ4NEVNO0VBQ0UsY2hCK0hjO0F0QnEvcUJ0QjtBc0NobnJCTTtFQUNJLGNoQmtZRztBdEJpdnFCYjtBc0N6bnJCTTtFQUNFLHlCaEJ3S21CO0F0Qm85cUIzQjtBc0N4bnJCTTtFQUNJLHlCaEJvS3NCO0F0QnU5cUJoQztBc0Nqb3JCTTtFQUNFLHlCMEIrNEU0RDtBaEVxdm1CcEU7QXNDaG9yQk07RUFDSSx5QjBCMDRFMEY7QWhFeXZtQnBHO0FzQ3pvckJNO0VBQ0UsY2hCOEZxQjtBdEI4aXJCN0I7QXNDeG9yQk07RUFDSSxjaEJ3RmM7QXRCbWpyQnhCO0FzQ2pwckJNO0VBQ0UseUJoQndLbUI7QXRCNCtxQjNCO0FzQ2hwckJNO0VBQ0kseUJoQm9Lc0I7QXRCKytxQmhDO0FzQ3pwckJNO0VBQ0UseUIwQms1RXdEO0FoRTB3bUJoRTtBc0N4cHJCTTtFQUNJLHlCMEI2NEVzRjtBaEU4d21CaEc7QXNDanFyQk07RUFDRSxjaEJnRVE7QXRCb21yQmhCO0FzQ2hxckJNO0VBQ0ksY2hCNERXO0F0QnVtckJyQjtBc0N6cXJCTTtFQUNFLGNoQmdFUTtBdEI0bXJCaEI7QXNDeHFyQk07RUFDSSxjaEI0RFc7QXRCK21yQnJCO0FzQ2pyckJNO0VBQ0UseUIwQnM1RThEO0FoRTh4bUJ0RTtBc0NocnJCTTtFQUNJLHlCMEJpNUU0RjtBaEVreW1CdEc7QXNDenJyQk07RUFDRSxnQjBCdTVFMEY7QWhFcXltQmxHO0FzQ3hyckJNO0VBQ0ksZ0IwQms1RThGO0FoRXl5bUJ4RztBc0Nqc3JCTTtFQUNFLHlCaEJtV2lCO0F0QmkycUJ6QjtBc0Noc3JCTTtFQUNJLHlCaEIrVm9CO0F0Qm8ycUI5QjtBc0N6c3JCTTtFQUNFLGNoQitIYztBdEI2a3JCdEI7QXNDeHNyQk07RUFDSSxjaEIySGlCO0F0QmdsckIzQjtBc0NqdHJCTTtFQUNFLHlCaEJ3S21CO0F0QjRpckIzQjtBc0NodHJCTTtFQUNJLHlCaEJvS3NCO0F0QitpckJoQztBc0N6dHJCTTtFQUNFLHFCaEJDRztBdEIydHJCWDtBc0N4dHJCTTtFQUNJLHFCaEJxSW1CO0F0QnNsckI3QjtBc0NqdXJCTTtFQUNFLGNoQjhLdUI7QXRCc2pyQi9CO0FzQ2h1ckJNO0VBQ0ksY2hCMkswQjtBdEJ3anJCcEM7QWdFcDBtQkEsZUFBQTtBMUJyNkVNO0VBQ0UseUJoQndLbUI7QXRCcWtyQjNCO0FzQ3p1ckJNO0VBQ0kseUJoQm9Lc0I7QXRCd2tyQmhDO0FzQ2x2ckJNO0VBQ0UseUIwQnM2RTZFO0FoRSswbUJyRjtBc0NqdnJCTTtFQUNJLHlCMEJpNkUyRztBaEVtMW1Cckg7QXNDMXZyQk07RUFDRSxjaEJxWUs7QXRCdzNxQmI7QXNDenZyQk07RUFDSSxjaEJrWUc7QXRCMDNxQmI7QWdFeDFtQkEscUJBQUE7QTFCMTZFTTtFQUNFLGNoQjRPbUI7QXRCMGhyQjNCO0FzQ2x3ckJNO0VBQ0ksY2hCd09zQjtBdEI2aHJCaEM7QXNDM3dyQk07RUFDRSxjaEIyQ1k7QXRCbXVyQnBCO0FzQzF3ckJNO0VBQ0ksY2hCdUNlO0F0QnN1ckJ6QjtBc0NueHJCTTtFQUNFLGNoQm1QdUI7QXRCbWlyQi9CO0FzQ2x4ckJNO0VBQ0ksY2hCK08wQjtBdEJzaXJCcEM7QXNDM3hyQk07RUFDRSxjaEJxUG9CO0F0QnlpckI1QjtBc0MxeHJCTTtFQUNJLGNoQmlQdUI7QXRCNGlyQmpDO0FzQ255ckJNO0VBQ0UsY2hCdVBzQjtBdEIraXJCOUI7QXNDbHlyQk07RUFDSSxjaEJtUHlCO0F0QmtqckJuQztBc0MzeXJCTTtFQUNFLGNoQjRQaUM7QXRCa2pyQnpDO0FzQzF5ckJNO0VBQ0ksY2hCd1BvQztBdEJxanJCOUM7QXNDbnpyQk07RUFDRSxjaEJpUXFDO0F0QnFqckI3QztBc0NsenJCTTtFQUNJLGNoQjZQd0M7QXRCd2pyQmxEO0FzQzN6ckJNO0VBQ0UsY2hCK0hjO0F0QityckJ0QjtBc0MxenJCTTtFQUNJLGNoQndPc0I7QXRCcWxyQmhDO0FzQ24wckJNO0VBQ0UseUJoQjRPbUI7QXRCMGxyQjNCO0FzQ2wwckJNO0VBQ0kseUJoQndPc0I7QXRCNmxyQmhDO0FzQzMwckJNO0VBQ0UseUJoQjJDWTtBdEJteXJCcEI7QXNDMTByQk07RUFDSSx5QmhCdUNlO0F0QnN5ckJ6QjtBc0NuMXJCTTtFQUNFLHlCaEJtUHVCO0F0Qm1tckIvQjtBc0NsMXJCTTtFQUNJLHlCaEIrTzBCO0F0QnNtckJwQztBc0MzMXJCTTtFQUNFLHlCaEJxUG9CO0F0QnltckI1QjtBc0MxMXJCTTtFQUNJLHlCaEJpUHVCO0F0QjRtckJqQztBc0NuMnJCTTtFQUNFLHlCaEJ1UHNCO0F0QittckI5QjtBc0NsMnJCTTtFQUNJLHlCaEJtUHlCO0F0QmtuckJuQztBc0MzMnJCTTtFQUNFLHlCaEI0UGlDO0F0QmtuckJ6QztBc0MxMnJCTTtFQUNJLHlCaEJ3UG9DO0F0QnFuckI5QztBc0NuM3JCTTtFQUNFLHlCaEJpUXFDO0F0QnFuckI3QztBc0NsM3JCTTtFQUNJLHlCaEI2UHdDO0F0QnduckJsRDtBc0MzM3JCTTtFQUNFLGNoQjhLdUI7QXRCZ3RyQi9CO0FzQzEzckJNO0VBQ0ksY2hCMkswQjtBdEJrdHJCcEM7QXNDbjRyQk07RUFDRSxXaEIrSzhCO0F0QnV0ckJ0QztBc0NsNHJCTTtFQUNJLGNoQjRLaUM7QXRCeXRyQjNDO0FzQzM0ckJNO0VBQ0UsV2hCK0s4QjtBdEIrdHJCdEM7QXNDMTRyQk07RUFDSSxjaEI0S2lDO0F0Qml1ckIzQztBc0NuNXJCTTtFQUNFLDRCaEJDRztBdEJxNXJCWDtBc0NsNXJCTTtFQUNJLDRCaEJxSW1CO0F0Qmd4ckI3QjtBc0MzNXJCTTtFQUNFLHlCaEJDRztBdEI2NXJCWDtBc0MxNXJCTTtFQUNJLHlCaEJxSW1CO0F0Qnd4ckI3QjtBc0NuNnJCTTtFQUNFLG9DMEI4OEVxRTtBaEV3OW1CN0U7QXNDbDZyQk07RUFDSSxvQzBCeThFeUc7QWhFNDltQm5IO0FzQzM2ckJNO0VBQ0Usb0MwQmcrRThGO0FoRTg4bUJ0RztBc0MxNnJCTTtFQUNJLG9DMEIyOUVnSDtBaEVrOW1CMUg7QXNDbjdyQk07RUFDRSxnQzBCaStFMEY7QWhFcTltQmxHO0FzQ2w3ckJNO0VBQ0ksZ0MwQjQ5RWdJO0FoRXk5bUIxSTtBZ0U5OG1CQTtFQUNFLGdIQUFBO0FoRWk5bUJGO0FzQy83ckJNO0VBQ0Usd0MwQm8vRXFGO0FoRTg4bUI3RjtBc0M5N3JCTTtFQUNJLG1EMEIrK0U4RztBaEVrOW1CeEg7QWdFajltQkE7RUFDRSxvQ0FBQTtBaEVvOW1CRjtBc0MzOHJCTTtFQUNFLGNoQjhLdUI7QXRCZ3lyQi9CO0FzQzE4ckJNO0VBQ0ksY2hCMkswQjtBdEJreXJCcEM7QXNDbjlyQk07RUFDRSxXaEIrSzhCO0F0QnV5ckJ0QztBc0NsOXJCTTtFQUNJLGNoQjRLaUM7QXRCeXlyQjNDO0FzQzM5ckJNO0VBQ0UsV2hCK0s4QjtBdEIreXJCdEM7QXNDMTlyQk07RUFDSSxjaEI0S2lDO0F0Qml6ckIzQztBc0NuK3JCTTtFQUNFLGNoQjhLdUI7QXRCd3pyQi9CO0FzQ2wrckJNO0VBQ0ksY2hCMkswQjtBdEIwenJCcEM7QXNDMytyQk07RUFDRSxXaEIrSzhCO0F0Qit6ckJ0QztBc0MxK3JCTTtFQUNJLGNoQjRLaUM7QXRCaTByQjNDO0FzQ24vckJNO0VBQ0UsV2hCK0s4QjtBdEJ1MHJCdEM7QXNDbC9yQk07RUFDSSxjaEI0S2lDO0F0QnkwckIzQztBZ0V4L21CQSwyQkFBQTtBMUJuZ0ZNO0VBQ0UsY2hCT0c7QXRCdy9yQlg7QXNDMy9yQk07RUFDSSxjaEJxSnlCO0F0QnkyckJuQztBc0NwZ3NCTTtFQUNFLHlCaEJXSTtBdEI0L3JCWjtBc0NuZ3NCTTtFQUNJLHlCaEI4Sm9DO0F0QncyckI5QztBc0M1Z3NCTTtFQUNFLHlCaEJZSTtBdEJtZ3NCWjtBc0MzZ3NCTTtFQUNJLHlCaEJnS3VDO0F0QjgyckJqRDtBZ0U1Z25CQTs7K0VBQUE7QTFCeGdGTTtFQUNFLDZCMEIwZ0ZxSjtBaEVnaG5CN0o7QXNDdGhzQk07RUFDSSw2QjBCcWdGZ0s7QWhFb2huQjFLO0FzQy9oc0JNO0VBQ0UsNkIwQjJnRm9LO0FoRXVobkI1SztBc0M5aHNCTTtFQUNJLDZCMEJzZ0YrSztBaEUyaG5Cekw7QXNDdmlzQk07RUFDRSx5QmhCdUxrQztBdEJtM3JCMUM7QXNDdGlzQk07RUFDSSx5QmhCbUxxQztBdEJzM3JCL0M7QXNDL2lzQk07RUFDRSx5QmhCWUk7QXRCc2lzQlo7QXNDOWlzQk07RUFDSSx5QmhCcUx3QztBdEI0M3JCbEQ7QWdFdmluQkEsY0FBQTtBMUJoaEZNO0VBQ0UsY2hCK0hjO0F0QjQ3ckJ0QjtBc0N2anNCTTtFQUNJLGNoQjBYRTtBdEJnc3JCWjtBc0Noa3NCTTtFQUNFLGNoQitIYztBdEJvOHJCdEI7QXNDL2pzQk07RUFDSSxjaEJrWUc7QXRCZ3NyQmI7QWdFcGpuQkEsbUJBQUE7QTFCcGhGTTtFQUNFLGNoQitIYztBdEI2OHJCdEI7QXNDeGtzQk07RUFDSSxjaEIwWEU7QXRCaXRyQlo7QXNDamxzQk07RUFDRSxjaEIrSGM7QXRCcTlyQnRCO0FzQ2hsc0JNO0VBQ0ksY2hCMFhFO0F0Qnl0ckJaO0FzQ3psc0JNO0VBQ0UsY2hCK0hjO0F0QjY5ckJ0QjtBc0N4bHNCTTtFQUNJLGNoQmtZRztBdEJ5dHJCYjtBZ0V4a25CQSx3QkFBQTtBMUJ6aEZNO0VBQ0UsY2hCcVlLO0F0Qmd1ckJiO0FzQ2ptc0JNO0VBQ0ksY2hCa1lHO0F0Qmt1ckJiO0FzQzFtc0JNO0VBQ0UseUJoQnVZSztBdEJzdXJCYjtBc0N6bXNCTTtFQUNJLHlCaEJnWUc7QXRCNHVyQmI7QWdFOWtuQkEsb0JBQUE7QTFCcGlGTTtFQUNFLHVCaEI4RGE7QXRCd2pzQnJCO0FzQ2xuc0JNO0VBQ0ksdUJoQjBEZ0I7QXRCMmpzQjFCO0FnRXBsbkJBLGVBQUE7QTFCdmlGTTtFQUNFLHlCaEI2RmdCO0F0Qmtpc0J4QjtBc0MzbnNCTTtFQUNJLHlCaEJ5Rm1CO0F0QnFpc0I3QjtBc0Nwb3NCTTtFQUNFLGNoQmdFUTtBdEJ1a3NCaEI7QXNDbm9zQk07RUFDSSxjaEI0RFc7QXRCMGtzQnJCO0FnRWptbkJBLHFCQUFBO0ExQjNpRk07RUFDRSxjaEIrSGM7QXRCaWhzQnRCO0FzQzVvc0JNO0VBQ0ksY2hCMkhpQjtBdEJvaHNCM0I7QWdFdm1uQkEsMEJBQUE7QTFCOWlGTTtFQUNFLHlCaEJtSm9CO0F0QnNnc0I1QjtBc0NycHNCTTtFQUNJLHlCaEIrSXVCO0F0Qnlnc0JqQztBc0M5cHNCTTtFQUNFLGNoQitIYztBdEJraXNCdEI7QXNDN3BzQk07RUFDSSxjaEIySGlCO0F0QnFpc0IzQjtBZ0Vwbm5CQSx5QkFBQTtBMUJsakZNO0VBQ0UseUJoQjZGZ0I7QXRCNmtzQnhCO0FzQ3Rxc0JNO0VBQ0kseUJoQnlGbUI7QXRCZ2xzQjdCO0FzQy9xc0JNO0VBQ0UsY2hCZ0VRO0F0Qmtuc0JoQjtBc0M5cXNCTTtFQUNJLGNoQjREVztBdEJxbnNCckI7QWdFam9uQkE7OztpREFBQTtBQUtBLGVBQUE7QTFCM2pGTTtFQUNFLGtCMEIyakZtRTtBaEVvb25CM0U7QXNDM3JzQk07RUFDSSxzQzBCc2pGcUU7QWhFd29uQi9FO0FzQ3Bzc0JNO0VBQ0UsVTBCNGpGMkQ7QWhFMm9uQm5FO0FzQ25zc0JNO0VBQ0ksOEIwQnVqRjZEO0FoRStvbkJ2RTtBc0M1c3NCTTtFQUNFLGMwQjZqRjZEO0FoRWtwbkJyRTtBc0Mzc3NCTTtFQUNJLDBDMEJ3akYrRDtBaEVzcG5CekU7QWdFcHBuQkEsdUJBQUE7QTFCaGtGTTtFQUNFLHlCaEJpWG9CO0F0QnUyckI1QjtBc0NwdHNCTTtFQUNJLHlCaEI2V3VCO0F0QjAyckJqQztBZ0V0cG5CQTtFQUNFLG9DQUFBO0VBS0EsMkJBQUE7RUFDQSxtRGpDcGdGc0I7QS9CeXBzQnhCO0FnRTdvbkJFO0VBQ0Usc0NBQUE7QWhFK29uQko7QWdFN29uQkU7RUFDRSxzQ0FBQTtBaEUrb25CSjtBZ0U1b25CRTtFQUNFLHlCQUFBO0FoRThvbkJKO0FnRTVvbkJFO0VBQ0Usb0NBQUE7RUFDQSxzQkFBQTtBaEU4b25CSjtBZ0Uxb25CRTtFQUNFLG9DQUFBO0VBQ0Esc0JBQUE7QWhFNG9uQko7QWdFeG9uQkU7RUFDRSx5QjFDam1GUTtFMENxbUZSLFcxQ2o4RWtDO0UwQ2s4RWxDLHFCMUNobkZPO0F0QnV2c0JYO0FnRW5vbkJBO0VBQ0Usb0NBQUE7RUFPQSx3Q0FBQTtFQUNBLGtEakNwakZzQjtBL0JvcnNCeEI7QWdFMW5uQkU7RUFDRSxzQ0FBQTtBaEU0bm5CSjtBZ0Uxbm5CRTtFQUNFLHNDQUFBO0FoRTRubkJKO0FnRXpubkJFO0VBQ0UseUJBQUE7QWhFMm5uQko7QWdFem5uQkU7RUFDRSxvQ0FBQTtFQUNBLHlCQUFBO0FoRTJubkJKO0FnRXhubkJFO0VBQ0Usb0NBQUE7RUFDQSx5QkFBQTtBaEUwbm5CSjtBZ0Vsbm5CRTtFQUtFLHlCMUMxK0UyQztFMEMyK0UzQyxjMUNsL0V1QztFMENtL0V2QyxxQjFDMWhGeUI7QXRCMG9zQjdCO0FzQ3J4c0JNO0VBQ0UsYzBCdXFGNkQ7QWhFaW5uQnJFO0FzQ3B4c0JNO0VBQ0ksa0MwQmtxRitEO0FoRXFubkJ6RTtBc0M3eHNCTTtFQUNFLGNoQitIYztBdEJpcXNCdEI7QXNDNXhzQk07RUFDSSxjaEIySGlCO0F0Qm9xc0IzQjtBc0NyeXNCTTtFQUNFLHlCaEIyQ1k7QXRCNnZzQnBCO0FzQ3B5c0JNO0VBQ0kseUJoQnVDZTtBdEJnd3NCekI7QXNDN3lzQk07RUFDRSxZaEI4SWE7QXRCa3FzQnJCO0FzQzV5c0JNO0VBQ0ksWWhCMElnQjtBdEJxcXNCMUI7QXNDcnpzQk07RUFDRSxZaEI4SWE7QXRCMHFzQnJCO0FzQ3B6c0JNO0VBQ0ksWWhCMElnQjtBdEI2cXNCMUI7QXNDN3pzQk07RUFDRSx5QmhCb1JxQjtBdEI0aXNCN0I7QXNDNXpzQk07RUFDSSwyQzBCdXFGMlA7QWhFd3BuQnJRO0FnRXRwbkJBLCtCQUFBO0ExQi9xRk07RUFDRSx5QmhCc01rQjtBdEJtb3NCMUI7QXNDcjBzQk07RUFDSSx5QmhCa01xQjtBdEJzb3NCL0I7QWdFMXBuQkEsYUFBQTtBMUJwckZNO0VBQ0UsdUJoQjhEYTtBdEJveHNCckI7QXNDOTBzQk07RUFDSSx1QmhCMERnQjtBdEJ1eHNCMUI7QXNDdjFzQk07RUFDRSxZaEIrRGtCO0F0QjJ4c0IxQjtBc0N0MXNCTTtFQUNJLFloQnlEVztBdEJneXNCckI7QXNDLzFzQk07RUFDRSx1QmhCOERhO0F0Qm95c0JyQjtBc0M5MXNCTTtFQUNJLHVCaEIwRGdCO0F0QnV5c0IxQjtBZ0U5cW5CQSxtQkFBQTtBMUJ6ckZNO0VBQ0UsY2hCZ0VRO0F0QjJ5c0JoQjtBc0N2MnNCTTtFQUNJLGNoQjREVztBdEI4eXNCckI7QWdFbnJuQkEsd0JBQUE7QTFCN3JGTTtFQUNFLHlCaEI2RmdCO0F0QnV4c0J4QjtBc0NoM3NCTTtFQUNJLHlCaEJ5Rm1CO0F0QjB4c0I3QjtBc0N6M3NCTTtFQUNFLDRCaEI2RmdCO0F0Qit4c0J4QjtBc0N4M3NCTTtFQUNJLDRCaEJ5Rm1CO0F0Qmt5c0I3QjtBc0NqNHNCTTtFQUNFLDJCaEJ1WUs7QXRCNi9yQmI7QXNDaDRzQk07RUFDSSwyQmhCZ1lHO0F0Qm1nc0JiO0FzQ3o0c0JNO0VBQ0UseUJoQnVZSztBdEJxZ3NCYjtBc0N4NHNCTTtFQUNJLHlCMEIyckY0RjtBaEVndG5CdEc7QXNDajVzQk07RUFDRSxxQmhCNkZnQjtBdEJ1enNCeEI7QXNDaDVzQk07RUFDSSxxQmhCeUZtQjtBdEIwenNCN0I7QXNDejVzQk07RUFDRSwyQmhCNkZnQjtBdEIrenNCeEI7QXNDeDVzQk07RUFDSSwyQmhCeUZtQjtBdEJrMHNCN0I7QXNDajZzQk07RUFDRSx5QmhCNkZnQjtBdEJ1MHNCeEI7QXNDaDZzQk07RUFDSSx5QmhCeUZtQjtBdEIwMHNCN0I7QXNDejZzQk07RUFDRSwyQmhCdVlLO0F0QnFpc0JiO0FzQ3g2c0JNO0VBQ0ksMkJoQmdZRztBdEIyaXNCYjtBZ0UxdW5CQSxnQkFBQTtBMUJ2c0ZNO0VBQ0UseUJoQjZGZ0I7QXRCdzFzQnhCO0FzQ2o3c0JNO0VBQ0kseUJoQnlGbUI7QXRCMjFzQjdCO0FzQzE3c0JNO0VBQ0UsVTBCd3NGMEY7QWhFcXZuQmxHO0FzQ3o3c0JNO0VBQ0ksaUIwQm1zRjRGO0FoRXl2bkJ0RztBc0NsOHNCTTtFQUNFLGNoQmdFUTtBdEJxNHNCaEI7QXNDajhzQk07RUFDSSxjaEI0RFc7QXRCdzRzQnJCO0FzQzE4c0JNO0VBQ0UsY2hCZ0VRO0F0QjY0c0JoQjtBc0N6OHNCTTtFQUNJLGNoQjREVztBdEJnNXNCckI7QXNDbDlzQk07RUFDRSx5QmhCNkZnQjtBdEJ3M3NCeEI7QXNDajlzQk07RUFDSSx5QmhCeUZtQjtBdEIyM3NCN0I7QWdFNXduQkEsZUFBQTtBMUI5c0ZNO0VBQ0UsY2hCNE9tQjtBdEJrdnNCM0I7QXNDMTlzQk07RUFDSSxjaEJ3T3NCO0F0QnF2c0JoQztBZ0VseG5CQSxvQkFBQTtBMUJqdEZNO0VBQ0UsY2hCMkNZO0F0QjQ3c0JwQjtBc0NuK3NCTTtFQUNJLGNoQnVDZTtBdEIrN3NCekI7QWdFeHhuQkEsZ0JBQUE7QTFCcHRGTTtFQUNFLGNoQm1QdUI7QXRCNnZzQi9CO0FzQzUrc0JNO0VBQ0ksY2hCK08wQjtBdEJnd3NCcEM7QWdFOXhuQkEsMEJBQUE7QTFCdnRGTTtFQUNFLG1CaEJ5RFc7QXRCZzhzQm5CO0FzQ3Ivc0JNO0VBQ0ksbUJoQnFEYztBdEJtOHNCeEI7QWdFcHluQkEsbUJBQUE7QTFCMXRGTTtFQUNFLGNoQnFQb0I7QXRCNndzQjVCO0FzQzkvc0JNO0VBQ0ksY2hCaVB1QjtBdEJneHNCakM7QWdFMXluQkEsa0JBQUE7QTFCN3RGTTtFQUNFLGNoQnVQc0I7QXRCb3hzQjlCO0FzQ3ZndEJNO0VBQ0ksY2hCbVB5QjtBdEJ1eHNCbkM7QWdFaHpuQkEsMEJBQUE7QTFCaHVGTTtFQUNFLGNoQjRQaUM7QXRCd3hzQnpDO0FzQ2hodEJNO0VBQ0ksY2hCd1BvQztBdEIyeHNCOUM7QWdFdHpuQkEsOEJBQUE7QTFCbnVGTTtFQUNFLGNoQmlRcUM7QXRCNHhzQjdDO0FzQ3podEJNO0VBQ0ksY2hCNlB3QztBdEIreHNCbEQ7QWdFNXpuQkE7Ozs7OzhFQUFBO0FBT0Esa0NBQUE7QTFCN3VGTTtFQUNFLHVCaEI4RGE7QXRCOCtzQnJCO0FzQ3hpdEJNO0VBQ0ksdUJoQjBEZ0I7QXRCaS9zQjFCO0FzQ2pqdEJNO0VBQ0Usd0UwQml2Rm9HO0FoRW0wbkI1RztBc0NoanRCTTtFQUNJLGtFMEI0dUZvTDtBaEV1MG5COUw7QXNDemp0Qk07RUFDRSw2RTBCcXZGMkc7QWhFdTBuQm5IO0FzQ3hqdEJNO0VBQ0ksdUUwQmd2RjBMO0FoRTIwbkJwTTtBc0Nqa3RCTTtFQUNFLHVFMEJ5dkZpSTtBaEUyMG5Cekk7QXNDaGt0Qk07RUFDSSxpRTBCb3ZGZ047QWhFKzBuQjFOO0FzQ3prdEJNO0VBQ0UsZ0JoQnVFYTtBdEJxZ3RCckI7QXNDeGt0Qk07RUFDSSxnQmhCbUVnQjtBdEJ3Z3RCMUI7QXNDamx0Qk07RUFDRSx1QmhCOERhO0F0QnNodEJyQjtBc0NobHRCTTtFQUNJLHVCaEIwRGdCO0F0QnlodEIxQjtBc0N6bHRCTTtFQUNFLHVCaEI4RGE7QXRCOGh0QnJCO0FzQ3hsdEJNO0VBQ0ksdUJoQjBEZ0I7QXRCaWl0QjFCO0FzQ2ptdEJNO0VBQ0UsdUJoQjhEYTtBdEJzaXRCckI7QXNDaG10Qk07RUFDSSx1QmhCMERnQjtBdEJ5aXRCMUI7QWdFdjFuQkU7O0VBRUUscUMxQzM2RXVCO0UwQzQ2RXZCLHdDMUM1NkV1QjtBdEJzd3NCM0I7QWdFdjFuQkU7O0VBRUUscUMxQ2o3RXVCO0UwQ2s3RXZCLHdDMUNsN0V1QjtFMENtN0V2QixzQzFDbjdFdUI7QXRCNHdzQjNCO0FnRXQxbkJFOztFQUVFLHFDMUN4N0V1QjtFMEN5N0V2Qix3QzFDejdFdUI7RTBDMDdFdkIsdUMxQzE3RXVCO0F0Qmt4c0IzQjtBZ0V6Mm5CRTs7RUFFRSxxQzFDMzZFdUI7RTBDNDZFdkIsd0MxQzU2RXVCO0F0Qnd4c0IzQjtBZ0V6Mm5CRTs7RUFFRSxxQzFDajdFdUI7RTBDazdFdkIsd0MxQ2w3RXVCO0UwQ203RXZCLHNDMUNuN0V1QjtBdEI4eHNCM0I7QWdFeDJuQkU7O0VBRUUscUMxQ3g3RXVCO0UwQ3k3RXZCLHdDMUN6N0V1QjtFMEMwN0V2Qix1QzFDMTdFdUI7QXRCb3lzQjNCO0FnRTMzbkJFOztFQUVFLDJDQTZCb0M7RUE1QnBDLDhDQTRCb0M7QWhFaTJuQnhDO0FnRTEzbkJFOztFQUVFLDJDQXVCb0M7RUF0QnBDLDhDQXNCb0M7RUFyQnBDLDRDQXFCb0M7QWhFdTJuQnhDO0FnRXozbkJFOztFQUVFLDJDQWdCb0M7RUFmcEMsOENBZW9DO0VBZHBDLDZDQWNvQztBaEU2Mm5CeEM7QWdFdjJuQkU7O0VBRUUscUNBQUE7QWhFeTJuQko7QXNDbHF0Qk07RUFDRSxjaEJnRVE7QXRCcW10QmhCO0FzQ2pxdEJNO0VBQ0ksY2hCNERXO0F0QndtdEJyQjtBc0MxcXRCTTtFQUNFLGNoQjhLdUI7QXRCKy9zQi9CO0FzQ3pxdEJNO0VBQ0ksY2hCMkswQjtBdEJpZ3RCcEM7QXNDbHJ0Qk07RUFDRSxnQmhCdUVhO0F0QjhtdEJyQjtBc0NqcnRCTTtFQUNJLGdCaEJtRWdCO0F0QmludEIxQjtBc0MxcnRCTTtFQUNFLHVCaEI4RGE7QXRCK250QnJCO0FzQ3pydEJNO0VBQ0ksdUJoQjBEZ0I7QXRCa290QjFCO0FzQ2xzdEJNO0VBQ0UsdUJoQjhEYTtBdEJ1b3RCckI7QXNDanN0Qk07RUFDSSx1QmhCMERnQjtBdEIwb3RCMUI7QWdFNTNuQkU7RUFDRSxjMUNocUYyQjtBdEIraHRCL0I7QWdFNzNuQkk7RUFBcUIsYzFDaHhGVDtBdEJncHRCaEI7QWdFLzNuQkk7RUFBUyxjMUNqeEZHO0F0Qm1wdEJoQjtBZ0U3M25CSTtFQUE4Qix5QkFBQTtBaEVnNG5CbEM7QWdFejNuQkk7Ozs7RUFHd0MseUJBQUE7QWhFNDNuQjVDO0FnRTMzbkJJO0VBQWdDLHlCQUFBO0FoRTgzbkJwQztBZ0V0M25CQTtFQUNFLHlCQUFBO0FoRXkzbkJGO0FnRWozbkJBO0VBQ0UseUJBQUE7QWhFbzNuQkY7QWdFajNuQkEsb0NBQUE7QTFCdjNGTTtFQUNFLHlCaEJ3S21CO0F0Qm9rdEIzQjtBc0N4dXRCTTtFQUNJLHlCaEJvS3NCO0F0QnVrdEJoQztBc0NqdnRCTTtFQUNFLHFCaEJDRztBdEJtdnRCWDtBc0NodnRCTTtFQUNJLHFCaEJxSW1CO0F0QjhtdEI3QjtBZ0U5M25CQSxnQ0FBQTtBMUIzM0ZNO0VBQ0Usb0IwQjIzRjZHO0FoRWs0bkJySDtBc0N6dnRCTTtFQUNJLHFDMEJzM0YrRztBaEVzNG5Cekg7QWdFcDRuQkEsd0JBQUE7QTFCOTNGTTtFQUNFLHlCQUFBO0F0Q3N3dEJSO0FzQ2x3dEJNO0VBQ0kseUJoQitGWTtBdEJzcXRCdEI7QXNDM3d0Qk07RUFDRSx5QmhCMkNZO0F0Qm11dEJwQjtBc0Mxd3RCTTtFQUNJLHlCaEJ1Q2U7QXRCc3V0QnpCO0FzQ254dEJNO0VBQ0UsdUJoQnlEVztBdEI2dHRCbkI7QXNDbHh0Qk07RUFDSSx1QmhCcURjO0F0Qmd1dEJ4QjtBc0MzeHRCTTtFQUNFLHlCQUFBO0F0Qzh4dEJSO0FzQzF4dEJNO0VBQ0kseUJoQitGWTtBdEI4cnRCdEI7QXNDbnl0Qk07RUFDRSxjaEJLRztBdEJpeXRCWDtBc0NseXRCTTtFQUNJLGNoQjJLMEI7QXRCMG50QnBDO0FzQzN5dEJNO0VBQ0UsY2hCS0c7QXRCeXl0Qlg7QXNDMXl0Qk07RUFDSSxjaEIySzBCO0F0QmtvdEJwQztBc0NuenRCTTtFQUNFLGNoQjhDZTtBdEJ3d3RCdkI7QXNDbHp0Qk07RUFDSSxjaEIwQ2tCO0F0QjJ3dEI1QjtBc0MzenRCTTtFQUNFLGNoQndWZ0I7QXRCcytzQnhCO0FzQzF6dEJNO0VBQ0ksY2hCb1ZrQjtBdEJ5K3NCNUI7QXNDbjB0Qk07RUFDRSxjaEIyQ1k7QXRCMnh0QnBCO0FzQ2wwdEJNO0VBQ0ksY2hCdUNlO0F0Qjh4dEJ6QjtBc0MzMHRCTTtFQUNFLGNoQjJDWTtBdEJteXRCcEI7QXNDMTB0Qk07RUFDSSxjaEJ1Q2U7QXRCc3l0QnpCO0FzQ24xdEJNO0VBQ0UsY2hCOENlO0F0Qnd5dEJ2QjtBc0NsMXRCTTtFQUNJLGNoQjBDa0I7QXRCMnl0QjVCO0FzQzMxdEJNO0VBQ0UsY2hCZ0RlO0F0Qjh5dEJ2QjtBc0MxMXRCTTtFQUNJLGNoQjRDa0I7QXRCaXp0QjVCO0FzQ24ydEJNO0VBQ0UsY2hCOENlO0F0Qnd6dEJ2QjtBc0NsMnRCTTtFQUNJLGNoQjBDa0I7QXRCMnp0QjVCO0FzQzMydEJNO0VBQ0UsY2hCOENlO0F0QmcwdEJ2QjtBc0MxMnRCTTtFQUNJLGNoQjBDa0I7QXRCbTB0QjVCO0FzQ24zdEJNO0VBQ0UseUJoQjZGZ0I7QXRCeXh0QnhCO0FzQ2wzdEJNO0VBQ0kseUJoQnlGbUI7QXRCNHh0QjdCO0FzQzMzdEJNO0VBQ0UsY2hCZ0RlO0F0QjgwdEJ2QjtBc0MxM3RCTTtFQUNJLGNoQjRDa0I7QXRCaTF0QjVCO0FnRTUrbkJBLG9CQUFBO0ExQnY1Rk07RUFDRSxjaEIyQ1k7QXRCNDF0QnBCO0FzQ240dEJNO0VBQ0ksY2hCdUNlO0F0QisxdEJ6QjtBc0M1NHRCTTtFQUNFLGNoQndWZ0I7QXRCdWp0QnhCO0FzQzM0dEJNO0VBQ0ksY2hCb1ZrQjtBdEIwanRCNUI7QWdFdi9uQkEsa0NBQUE7QTFCNzVGTTtFQUNFLHlCaEJ1WUs7QXRCaWh0QmI7QXNDcDV0Qk07RUFDSSx5QmhCZ1lHO0F0QnVodEJiO0FnRTcvbkJBLDJCQUFBO0ExQmg2Rk07RUFDRSxjaEJnRVE7QXRCaTJ0QmhCO0FzQzc1dEJNO0VBQ0ksY2hCNERXO0F0Qm8ydEJyQjtBZ0VuZ29CQSwwQkFBQTtBMUJuNkZNO0VBQ0UsdUJoQjhEYTtBdEI0MnRCckI7QXNDdDZ0Qk07RUFDSSx1QmhCMERnQjtBdEIrMnRCMUI7QWdFemdvQkEsa0NBQUE7QTFCdDZGTTtFQUNFLHVCaEI4RGE7QXRCcTN0QnJCO0FzQy82dEJNO0VBQ0ksdUJoQjBEZ0I7QXRCdzN0QjFCO0FzQ3g3dEJNO0VBQ0Usb0MwQnU2RmtIO0FoRW9ob0IxSDtBc0N2N3RCTTtFQUNJLG9DMEJrNkZnSjtBaEV3aG9CMUo7QXNDaDh0Qk07RUFDRSxvQzBCdzZGa0g7QWhFMmhvQjFIO0FzQy83dEJNO0VBQ0ksb0MwQm02RmdKO0FoRStob0IxSjtBc0N4OHRCTTtFQUNFLDBCaEJrRWE7QXRCeTR0QnJCO0FzQ3Y4dEJNO0VBQ0ksZ0JoQjhEZ0I7QXRCNDR0QjFCO0FnRXBpb0JBLHdCQUFBO0ExQjU2Rk07RUFDRSxjaEJnRVE7QXRCbzV0QmhCO0FzQ2g5dEJNO0VBQ0ksY2hCNERXO0F0QnU1dEJyQjtBc0N6OXRCTTtFQUNFLHVCMEI2NkZpRjtBaEUraW9CekY7QXNDeDl0Qk07RUFDSSx1QjBCdzZGZ0c7QWhFbWpvQjFHO0FzQ2ordEJNO0VBQ0UsdUIwQjg2RjZFO0FoRXNqb0JyRjtBc0NoK3RCTTtFQUNJLHVCMEJ5NkY0RjtBaEUwam9CdEc7QXNDeit0Qk07RUFDRSx1QjBCKzZGMEU7QWhFNmpvQmxGO0FzQ3grdEJNO0VBQ0ksdUIwQjA2RnlGO0FoRWlrb0JuRztBc0NqL3RCTTtFQUNFLGNoQmdFUTtBdEJvN3RCaEI7QXNDaC90Qk07RUFDSSxjaEI0RFc7QXRCdTd0QnJCO0FzQ3ovdEJNO0VBQ0UsY2hCZ0VRO0F0QjQ3dEJoQjtBc0N4L3RCTTtFQUNJLGNoQjREVztBdEIrN3RCckI7QWdFM2tvQkEsOEJBQUE7QTFCdDdGTTtFQUNFLGMwQnM3RitGO0FoRStrb0J2RztBc0NqZ3VCTTtFQUNJLGtDMEJpN0ZpRztBaEVtbG9CM0c7QWdFamxvQkEscUNBQUE7QTFCejdGTTtFQUNFLGMwQnk3RnNHO0FoRXFsb0I5RztBc0MxZ3VCTTtFQUNJLGtDMEJvN0Z3RztBaEV5bG9CbEg7QWdFdmxvQkEsc0JBQUE7QTFCNTdGTTtFQUNFLGNoQmdFUTtBdEJ1OXRCaEI7QXNDbmh1Qk07RUFDSSxjaEI0RFc7QXRCMDl0QnJCO0FzQzVodUJNO0VBQ0UsUzBCNjdGOEU7QWhFa21vQnRGO0FzQzNodUJNO0VBQ0ksY2hCNERXO0F0QmsrdEJyQjtBc0NwaXVCTTtFQUNFLG9CMEI4N0ZtRjtBaEV5bW9CM0Y7QXNDbml1Qk07RUFDSSx5QmhCaVcyQjtBdEJxc3RCckM7QXNDNWl1Qk07RUFDRSxvQjBCKzdGK0c7QWhFZ25vQnZIO0FzQzNpdUJNO0VBQ0kseUJoQnlGbUI7QXRCcTl0QjdCO0FzQ3BqdUJNO0VBQ0Usb0MwQmc4Rm9IO0FoRXVub0I1SDtBc0NuanVCTTtFQUNJLDBDMEIyN0ZrSTtBaEUybm9CNUk7QXNDNWp1Qk07RUFDRSxvQzBCaThGb0s7QWhFOG5vQjVLO0FzQzNqdUJNO0VBQ0ksMEMwQjQ3RmtMO0FoRWtvb0I1TDtBZ0Vob29CQSxzQkFBQTtBMUJwOEZNO0VBQ0UsUzBCMjhGOEY7QWhFNm5vQnRHO0FzQ3BrdUJNO0VBQ0ksZ0MwQnM4RmdHO0FoRWlvb0IxRztBc0M3a3VCTTtFQUNFLFMwQjQ4Rm9HO0FoRW9vb0I1RztBc0M1a3VCTTtFQUNJLGdDMEJ1OEZzRztBaEV3b29CaEg7QWdFdG9vQkEsMkJBQUE7QTFCLzhGTTtFQUNFLHlCaEI2RmdCO0F0QjQvdEJ4QjtBc0NybHVCTTtFQUNJLHlCaEJ5Rm1CO0F0QisvdEI3QjtBc0M5bHVCTTtFQUNFLGNoQjJDWTtBdEJzanVCcEI7QXNDN2x1Qk07RUFDSSxjaEJ1Q2U7QXRCeWp1QnpCO0FnRW5wb0JBLHdCQUFBO0ExQm45Rk07RUFDRSx5QmhCNkZnQjtBdEI2Z3VCeEI7QXNDdG11Qk07RUFDSSx5QmhCeUZtQjtBdEJnaHVCN0I7QXNDL211Qk07RUFDRSxxQmhCQ0c7QXRCaW51Qlg7QXNDOW11Qk07RUFDSSxxQmhCcUltQjtBdEI0K3RCN0I7QXNDdm51Qk07RUFDRSxhaEJnRVE7QXRCMGp1QmhCO0FzQ3RudUJNO0VBQ0ksYWhCNERXO0F0QjZqdUJyQjtBc0MvbnVCTTtFQUNFLGNoQmdFUTtBdEJra3VCaEI7QXNDOW51Qk07RUFDSSxjaEI0RFc7QXRCcWt1QnJCO0FzQ3ZvdUJNO0VBQ0UsY2hCZ0VRO0F0QjBrdUJoQjtBc0N0b3VCTTtFQUNJLGNoQjREVztBdEI2a3VCckI7QXNDL291Qk07RUFDRSxpQmhCNmZXO0F0QnFwdEJuQjtBc0M5b3VCTTtFQUNJLGlCaEJ5ZmM7QXRCd3B0QnhCO0FzQ3ZwdUJNO0VBQ0UsY2hCZ0VRO0F0QjBsdUJoQjtBc0N0cHVCTTtFQUNJLGNoQjREVztBdEI2bHVCckI7QWdFbHNvQkEsMkJBQUE7QTFCNzlGTTtFQUNFLGFoQmdFUTtBdEJtbXVCaEI7QXNDL3B1Qk07RUFDSSxhaEI0RFc7QXRCc211QnJCO0FzQ3hxdUJNO0VBQ0UsY2hCZ0VRO0F0QjJtdUJoQjtBc0N2cXVCTTtFQUNJLGNoQjREVztBdEI4bXVCckI7QXNDaHJ1Qk07RUFDRSx5QmhCNkZnQjtBdEJzbHVCeEI7QXNDL3F1Qk07RUFDSSx5QmhCeUZtQjtBdEJ5bHVCN0I7QXNDeHJ1Qk07RUFDRSx3QzBCZytGcUY7QWhFMnRvQjdGO0FzQ3ZydUJNO0VBQ0ksd0MwQjI5RjJHO0FoRSt0b0JySDtBc0Noc3VCTTtFQUNFLGtDMEJpK0YrRTtBaEVrdW9CdkY7QXNDL3J1Qk07RUFDSSxrQzBCNDlGcUc7QWhFc3VvQi9HO0FzQ3hzdUJNO0VBQ0Usd0MwQmsrRm9HO0FoRXl1b0I1RztBc0N2c3VCTTtFQUNJLHdDMEI2OUYwSDtBaEU2dW9CcEk7QXNDaHR1Qk07RUFDRSxrQzBCbStGOEY7QWhFZ3ZvQnRHO0FzQy9zdUJNO0VBQ0ksa0MwQjg5Rm9IO0FoRW92b0I5SDtBc0N4dHVCTTtFQUNFLDRCMEJvK0Z3RjtBaEV1dm9CaEc7QXNDdnR1Qk07RUFDSSw0QjBCKzlGOEc7QWhFMnZvQnhIO0FnRXp2b0JBLHFCQUFBO0ExQnYrRk07RUFDRSxjaEJnRVE7QXRCb3F1QmhCO0FzQ2h1dUJNO0VBQ0ksY2hCNERXO0F0QnVxdUJyQjtBc0N6dXVCTTtFQUNFLHlCaEIyQ1k7QXRCaXN1QnBCO0FzQ3h1dUJNO0VBQ0kseUJoQnVDZTtBdEJvc3VCekI7QXNDanZ1Qk07RUFDRSxhaEIyQ1k7QXRCeXN1QnBCO0FzQ2h2dUJNO0VBQ0ksYWhCdUNlO0F0QjRzdUJ6QjtBZ0U3d29CQSx3QkFBQTtBMUI1K0ZNO0VBQ0UsY2hCMkNZO0F0Qmt0dUJwQjtBc0N6dnVCTTtFQUNJLGNoQnVDZTtBdEJxdHVCekI7QXNDbHd1Qk07RUFDRSx5QjBCNitGdUY7QWhFd3hvQi9GO0FzQ2p3dUJNO0VBQ0kseUIwQncrRnNIO0FoRTR4b0JoSTtBc0Mxd3VCTTtFQUNFLHFCaEIrSGM7QXRCOG91QnRCO0FzQ3p3dUJNO0VBQ0kscUJoQjJIaUI7QXRCaXB1QjNCO0FnRWp5b0JBLHFCQUFBO0ExQmovRk07RUFDRSx1QmhCOERhO0F0Qnd0dUJyQjtBc0NseHVCTTtFQUNJLHVCaEIwRGdCO0F0QjJ0dUIxQjtBc0MzeHVCTTtFQUNFLHFDMEJrL0Z1RDtBaEU0eW9CL0Q7QXNDMXh1Qk07RUFDSSwwQzBCNitGK0Y7QWhFZ3pvQnpHO0FzQ255dUJNO0VBQ0UsY2hCZ0VRO0F0QnN1dUJoQjtBc0NseXVCTTtFQUNJLGNoQjREVztBdEJ5dXVCckI7QWdFcnpvQkEsdUJBQUE7QTFCdC9GTTtFQUNFLHlCaEI2RmdCO0F0Qmt0dUJ4QjtBc0MzeXVCTTtFQUNJLHlCaEJ5Rm1CO0F0QnF0dUI3QjtBc0NwenVCTTtFQUNFLFloQitEa0I7QXRCd3Z1QjFCO0FzQ256dUJNO0VBQ0ksWWhCeURXO0F0QjZ2dUJyQjtBc0M1enVCTTtFQUNFLHlCaEI2RmdCO0F0Qmt1dUJ4QjtBc0MzenVCTTtFQUNJLHlCaEJ5Rm1CO0F0QnF1dUI3QjtBc0NwMHVCTTtFQUNFLFloQitEa0I7QXRCd3d1QjFCO0FzQ24wdUJNO0VBQ0ksWWhCeURXO0F0QjZ3dUJyQjtBc0M1MHVCTTtFQUNFLFloQitEa0I7QXRCZ3h1QjFCO0FzQzMwdUJNO0VBQ0ksWWhCeURXO0F0QnF4dUJyQjtBc0NwMXVCTTtFQUNFLFloQitEa0I7QXRCd3h1QjFCO0FzQ24xdUJNO0VBQ0ksWWhCeURXO0F0QjZ4dUJyQjtBZ0U5MW9CQSw4QkFBQTtBMUI5L0ZNO0VBQ0UseUJoQjZGZ0I7QXRCbXd1QnhCO0FzQzUxdUJNO0VBQ0kseUJoQnlGbUI7QXRCc3d1QjdCO0FzQ3IydUJNO0VBQ0UsWWhCK0RrQjtBdEJ5eXVCMUI7QXNDcDJ1Qk07RUFDSSxZaEJ5RFc7QXRCOHl1QnJCO0FnRTMyb0JBOzs7cURBQUE7QUFJQSwyQkFBQTtBMUJ0Z0dNO0VBQ0UsbUJoQjZGZ0I7QXRCd3h1QnhCO0FzQ2ozdUJNO0VBQ0ksbUJoQnlGbUI7QXRCMnh1QjdCO0FzQzEzdUJNO0VBQ0Usa0MwQnVnRytFO0FoRXMzb0J2RjtBc0N6M3VCTTtFQUNJLGtDMEJrZ0dxRztBaEUwM29CL0c7QXNDbDR1Qk07RUFDRSx3QzBCd2dHcUY7QWhFNjNvQjdGO0FzQ2o0dUJNO0VBQ0ksd0MwQm1nRzJHO0FoRWk0b0JySDtBc0MxNHVCTTtFQUNFLGtDMEJ5Z0c4RjtBaEVvNG9CdEc7QXNDejR1Qk07RUFDSSxrQzBCb2dHb0g7QWhFdzRvQjlIO0FzQ2w1dUJNO0VBQ0Usd0MwQjBnR29HO0FoRTI0b0I1RztBc0NqNXVCTTtFQUNJLHdDMEJxZ0cwSDtBaEUrNG9CcEk7QXNDMTV1Qk07RUFDRSw0QjBCMmdHd0Y7QWhFazVvQmhHO0FzQ3o1dUJNO0VBQ0ksNEIwQnNnRzhHO0FoRXM1b0J4SDtBc0NsNnVCTTtFQUNFLGNoQmtZSTtBdEJtaXVCWjtBc0NqNnVCTTtFQUNJLGNoQjREVztBdEJ3MnVCckI7QXNDMTZ1Qk07RUFDRSx5QjBCNmdHbUg7QWhFZzZvQjNIO0FzQ3o2dUJNO0VBQ0kseUIwQndnRzRJO0FoRW82b0J0SjtBc0NsN3VCTTtFQUNFLHdCMEI4Z0drSDtBaEV1Nm9CMUg7QXNDajd1Qk07RUFDSSx3QjBCeWdHMkk7QWhFMjZvQnJKO0FzQzE3dUJNO0VBQ0UsYWhCZ0VRO0F0QjYzdUJoQjtBc0N6N3VCTTtFQUNJLGFoQjREVztBdEJnNHVCckI7QXNDbDh1Qk07RUFDRSxhaEJnRVE7QXRCcTR1QmhCO0FzQ2o4dUJNO0VBQ0ksYWhCNERXO0F0Qnc0dUJyQjtBc0MxOHVCTTtFQUNFLGFoQmdFUTtBdEI2NHVCaEI7QXNDejh1Qk07RUFDSSxhaEI0RFc7QXRCZzV1QnJCO0FzQ2w5dUJNO0VBQ0UsYWhCZ0VRO0F0QnE1dUJoQjtBc0NqOXVCTTtFQUNJLGFoQjREVztBdEJ3NXVCckI7QXNDMTl1Qk07RUFDRSxhaEJnRVE7QXRCNjV1QmhCO0FzQ3o5dUJNO0VBQ0ksYWhCNERXO0F0Qmc2dUJyQjtBc0NsK3VCTTtFQUNFLGFoQmdFUTtBdEJxNnVCaEI7QXNDait1Qk07RUFDSSxhaEI0RFc7QXRCdzZ1QnJCO0FzQzErdUJNO0VBQ0UsYWhCZ0VRO0F0QjY2dUJoQjtBc0N6K3VCTTtFQUNJLGFoQjREVztBdEJnN3VCckI7QXNDbC91Qk07RUFDRSxlaEJnRVE7QXRCcTd1QmhCO0FzQ2ovdUJNO0VBQ0ksZWhCNERXO0F0Qnc3dUJyQjtBZ0VqK29CQSx5QkFBQTtBMUJ6aEdNO0VBQ0UsY2hCZ0VRO0F0Qjg3dUJoQjtBc0MxL3VCTTtFQUNJLGNoQjREVztBdEJpOHVCckI7QWdFditvQkEsd0NBQUE7QTFCNWhHTTtFQUNFLGNoQmdFUTtBdEJ1OHVCaEI7QXNDbmd2Qk07RUFDSSxjaEI0RFc7QXRCMDh1QnJCO0FnRTcrb0JBLDJCQUFBO0ExQi9oR007RUFDRSx5QmhCNkZnQjtBdEJtN3VCeEI7QXNDNWd2Qk07RUFDSSx5QmhCeUZtQjtBdEJzN3VCN0I7QXNDcmh2Qk07RUFDRSxjaEJnRVE7QXRCdzl1QmhCO0FzQ3BodkJNO0VBQ0ksY2hCNERXO0F0QjI5dUJyQjtBZ0UxL29CQSxpQ0FBQTtBMUJuaUdNO0VBQ0UsNkIwQnVpRzhGO0FoRTAvb0J0RztBc0M3aHZCTTtFQUNJLDZCMEJraUd5RztBaEU4L29Cbkg7QXNDdGl2Qk07RUFDRSx5QmhCd0ttQjtBdEJpNHVCM0I7QXNDcml2Qk07RUFDSSx5QmhCb0tzQjtBdEJvNHVCaEM7QXNDOWl2Qk07RUFDRSx5QmhCd0ttQjtBdEJ5NHVCM0I7QXNDN2l2Qk07RUFDSSx5QmhCb0tzQjtBdEI0NHVCaEM7QXNDdGp2Qk07RUFDRSx5QmhCd0ttQjtBdEJpNXVCM0I7QXNDcmp2Qk07RUFDSSx5QmhCb0tzQjtBdEJvNXVCaEM7QXNDOWp2Qk07RUFDRSx5QmhCbVdpQjtBdEI4dHVCekI7QXNDN2p2Qk07RUFDSSx5QmhCK1ZvQjtBdEJpdXVCOUI7QXNDdGt2Qk07RUFDRSx5QjBCaWpHdUY7QWhFd2hwQi9GO0FzQ3JrdkJNO0VBQ0ksdUIwQjRpRzJIO0FoRTRocEJySTtBZ0UxaHBCQTs7Ozs7O3NEQUFBO0ExQnBqR007RUFDRSx5QmhCd0ttQjtBdEJnN3VCM0I7QXNDcGx2Qk07RUFDSSx5QmhCb0tzQjtBdEJtN3VCaEM7QXNDN2x2Qk07RUFDRSw0QmhCQ0c7QXRCK2x2Qlg7QXNDNWx2Qk07RUFDSSw0QmhCcUltQjtBdEIwOXVCN0I7QXNDcm12Qk07RUFDRSxXaEIrSzhCO0F0Qnk3dUJ0QztBc0NwbXZCTTtFQUNJLGNoQjRLaUM7QXRCMjd1QjNDO0FzQzdtdkJNO0VBQ0UseUJoQndLbUI7QXRCdzh1QjNCO0FzQzVtdkJNO0VBQ0kseUJoQm9Lc0I7QXRCMjh1QmhDO0FzQ3JudkJNO0VBQ0UseUJoQkNHO0F0QnVudkJYO0FzQ3BudkJNO0VBQ0kseUJoQnFJbUI7QXRCay91QjdCO0FzQzdudkJNO0VBQ0UsY2hCOEt1QjtBdEJrOXVCL0I7QXNDNW52Qk07RUFDSSxjaEIySzBCO0F0Qm85dUJwQztBc0Nyb3ZCTTtFQUNFLFdoQitLOEI7QXRCeTl1QnRDO0FzQ3BvdkJNO0VBQ0ksY2hCNEtpQztBdEIyOXVCM0M7QXNDN292Qk07RUFDRSxzQmhCK0s4QjtBdEJpK3VCdEM7QXNDNW92Qk07RUFDSSx5QmhCNEtpQztBdEJtK3VCM0M7QXNDcnB2Qk07RUFDRSx5QmhCd0ttQjtBdEJnL3VCM0I7QXNDcHB2Qk07RUFDSSx5QmhCb0tzQjtBdEJtL3VCaEM7QXNDN3B2Qk07RUFDRSxXaEIrSzhCO0F0QmkvdUJ0QztBc0M1cHZCTTtFQUNJLGNoQjRLaUM7QXRCbS91QjNDO0FzQ3JxdkJNO0VBQ0UsY2hCOEt1QjtBdEIwL3VCL0I7QXNDcHF2Qk07RUFDSSxjaEIySzBCO0F0QjQvdUJwQztBc0M3cXZCTTtFQUNFLGNoQjhLdUI7QXRCa2d2Qi9CO0FzQzVxdkJNO0VBQ0ksY2hCMkswQjtBdEJvZ3ZCcEM7QXNDcnJ2Qk07RUFDRSx5QmhCdUxrQztBdEJpZ3ZCMUM7QXNDcHJ2Qk07RUFDSSx5QmhCbUxxQztBdEJvZ3ZCL0M7QXNDN3J2Qk07RUFDRSxXaEIrSzhCO0F0QmlodkJ0QztBc0M1cnZCTTtFQUNJLGNoQjRLaUM7QXRCbWh2QjNDO0FzQ3JzdkJNO0VBQ0UseUJoQnVMa0M7QXRCaWh2QjFDO0FzQ3BzdkJNO0VBQ0kseUJoQm1McUM7QXRCb2h2Qi9DO0FnRWhvcEJBLHNCQUFBO0ExQjdrR007RUFDRSwwQjBCK2tHc0U7QWhFa29wQjlFO0FzQzdzdkJNO0VBQ0ksZ0MwQjBrR3lGO0FoRXNvcEJuRztBc0N0dHZCTTtFQUNFLGlDMEJnbEdtRjtBaEV5b3BCM0Y7QXNDcnR2Qk07RUFDSSx1QzBCMmtHc0c7QWhFNm9wQmhIO0FzQzl0dkJNO0VBQ0UsMEIwQmlsR3NFO0FoRWdwcEI5RTtBc0M3dHZCTTtFQUNJLGdDMEI0a0d5RjtBaEVvcHBCbkc7QXNDdHV2Qk07RUFDRSxXaEIrSzhCO0F0QjBqdkJ0QztBc0NydXZCTTtFQUNJLGNoQjRLaUM7QXRCNGp2QjNDO0FzQzl1dkJNO0VBQ0UseUJoQkNHO0F0Qmd2dkJYO0FzQzd1dkJNO0VBQ0kseUIwQnVtR1I7QWhFeW9wQkY7QWdFN25wQkE7RUFBc0YseUJBQUE7QWhFaW9wQnRGO0FnRWhvcEJBO0VBQXNGLHlCQUFBO0FoRW9vcEJ0RjtBZ0Vsb3BCQTtFQUF3Ryx5QkFBQTtBaEVzb3BCeEc7QWdFcm9wQkE7RUFBd0cseUJBQUE7QWhFeW9wQnhHO0FnRXZvcEJBO0VBQStHLHlCQUFBO0FoRTJvcEIvRztBZ0Uxb3BCQTtFQUErRyx5QkFBQTtBaEU4b3BCL0c7QWdFNW9wQkE7RUFBbUgseUJBQUE7QWhFZ3BwQm5IO0FnRS9vcEJBO0VBQW1ILHlCQUFBO0FoRW1wcEJuSDtBZ0VqcHBCQTtFQUFrRyx5QkFBQTtBaEVxcHBCbEc7QWdFcHBwQkE7RUFBa0cseUJBQUE7QWhFd3BwQmxHO0FnRXRwcEJBO0VBQXVHLHlCQUFBO0FoRTBwcEJ2RztBZ0V6cHBCQTtFQUF1Ryx5QkFBQTtBaEU2cHBCdkc7QWdFanBwQkE7RUFDRSxvQ0FBQTtFQUNBLDhEQUFBO0VBQ0EsMkJBQUE7RUFJQSx3QkFBQTtFQUNBLHVCQUFBO0FoRWlwcEJGO0FnRTlvcEJBO0VBQ0UscUJBQUE7RUFDQSx3QkFBQTtBaEVpcHBCRjtBZ0Uvb3BCQTtFQUNFLHdCQUFBO0VBQ0EsdUJBQUE7QWhFa3BwQkY7QWdFaHBwQkE7RUFDRSxvQ0FBQTtFQUNBLDZEQUFBO0VBQ0EsMkJBQUE7QWhFbXBwQkY7QWdFOW9wQkE7RUFDRSx3QkFBQTtFQUNBLDhCQUFBO0VBQ0EsdUJBQUE7RUFDQSwyQkFBQTtFQUNBLHlCQUFBO0VBQ0EsMEJBQUE7RUFDQSxpQ0FBQTtFQUNBLG9DQUFBO0VBQ0EsNkJBQUE7RUFDQSw2QkFBQTtFQUtBLGtNQUFBO0VBQ0EsOEJBQUE7RUFDQSwyQkFBQTtFQUNBLGtDQUFBO0VBQ0EseUJBQUE7QWhFNm9wQkY7QWdFcnBwQkU7RUFBZSwyQkFBQTtBaEV3cHBCakI7QWdFOW9wQkU7RUFHRSxxQkFBQTtFQUNBLG1FQUFBO0VBQ0Esc0JBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7RUFDQSxjQUFBO0FoRThvcEJKO0FnRTFvcEJFO0VBQ0UsMEJBQUE7RUFDQSxzQkFBQTtFQUNBLHVCQUFBO0VBQ0EsNEJBQUE7QWhFNG9wQko7QWdFem9wQkE7RUFDRSxnQ0FBQTtFQUNBLHlCQUFBO0FoRTRvcEJGO0FnRXRvcEJBO0VBQ0Usb0NBQUE7RUFDQSxrQkFBQTtFQUlBLDJCQUFBO0FoRXNvcEJGO0FnRXBvcEJBO0VBQ0Usb0NBQUE7RUFDQSwyQkFBQTtBaEV1b3BCRjtBZ0UvbnBCQTtFQUNFLFdBQUE7RUFDQSxrQkFBQTtFQU9BLFNBQUE7RUFDQSwyQkFBQTtFQUNBLDRDQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxvQkFBQTtFQUNBLGlHQUFBO1VBQUEseUZBQUE7RUFDQSwwQ0FBQTtFQUNBLHlCMUNybEc2QjtBdEJpdHZCL0I7QXNDaDR2Qk07RUFDRSx5QmhCbVB1QjtBdEJncHZCL0I7QXNDLzN2Qk07RUFDSSx5QmhCK08wQjtBdEJtcHZCcEM7QXNDeDR2Qk07RUFDRSx5QmhCcVBvQjtBdEJzcHZCNUI7QXNDdjR2Qk07RUFDSSx5QmhCaVB1QjtBdEJ5cHZCakM7QXNDaDV2Qk07RUFDRSx5QmhCdVBzQjtBdEI0cHZCOUI7QXNDLzR2Qk07RUFDSSx5QmhCbVB5QjtBdEIrcHZCbkM7QXNDeDV2Qk07RUFDRSx5QmhCNFBpQztBdEIrcHZCekM7QXNDdjV2Qk07RUFDSSx5QmhCd1BvQztBdEJrcXZCOUM7QXNDaDZ2Qk07RUFDRSx5QmhCaVFxQztBdEJrcXZCN0M7QXNDLzV2Qk07RUFDSSx5QmhCNlB3QztBdEJxcXZCbEQ7QWdFeHBwQkE7RUFDRSxrQkFBQTtFQUNBLDRCQUFBO0FoRTJwcEJGO0FnRXhwcEJBOztFQUVFLDRCQUFBO0FoRTJwcEJGO0FnRXZwcEJBO0VBQ0UsY0FBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFQUNBLHVCQUFBO0FoRTBwcEJGO0FnRXJwcEJBO0VBQ0UsNkJBQUE7RUFDQSxpQkFBQTtFQUNBLG1CQUFBO0VBQ0EsMENBQUE7RUFDQSxvQkFBQTtFQUNBLFFBQUE7RUFDQSxvQkFBQTtFQUNBLFVBQUE7QWhFd3BwQkY7QWdFbnBwQkE7RUFDRSxlQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxjQUFBO0VBQ0EsaUJBQUE7QWhFc3BwQkY7QWdFcnBwQkU7RUFBWSxhQUFBO0FoRXdwcEJkO0FnRXZwcEJFO0VBQXFCLHlCQUFBO0FoRTBwcEJ2QjtBZ0V6cHBCRTtFQUFxQix5QkFBQTtBaEU0cHBCdkI7QWdFM3BwQkU7RUFBcUIseUJBQUE7QWhFOHBwQnZCO0FnRXRwcEJBO0VBQ0UsbURBQUE7RUFDQSx3Q0FBQTtFQUNBLHlCQUFBO0FoRXlwcEJGO0FnRXZwcEJBO0VBQ0UsbURBQUE7RUFDQSx3Q0FBQTtFQUNBLHlCQUFBO0FoRTBwcEJGO0FnRXBwcEJBO0VBQ0Usb0NBQUE7RUFDQSxtREFBQTtBaEV1cHBCRjtBZ0VycHBCQTtFQUNFLG9DQUFBO0VBQ0EsbURBQUE7QWhFd3BwQkY7QWtFaC92QkE7RUFDRSxrQkFBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0EsVUFBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQUE7RUFDQSxTQUFBO0FsRW0vdkJGO0FrRTkrdkJBO0VBQ0Usa0JBQUE7RUFDQSxXQUFBO0VBQ0EsT0FBQTtFQUNBLG9DQUFBO0VBQ0EsV0FBQTtFQUNBLGlCQUFBO0VBQ0EsY0FBQTtFQUNBLHFCQUFBO0VBQ0EsZ0JBQUE7QWxFaS92QkY7QWtFLyt2QkU7RUFFRSxRQUFBO0VBQ0EsU0FBQTtBbEVnL3ZCSjtBa0U3OXZCQTtFQUNFLGdCQUFBO0VBQ0EsVUFBQTtFQUNBLFNBQUE7QWxFZyt2QkY7QXNCcHR2QkE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QnF0dkJGO0FzQnRudkJBO0VBRUUsb0NBQUE7RUFDQSxtQ0FBQTtFQUNBLHFDQUFBO0VBQ0EscUNBQUE7RUFDQSxzQ0FBQTtFQUNBLG9DQUFBO0F0QndudkJGO0FzQmx1dkJBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEJtdXZCRjtBc0Jwb3ZCQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJzb3ZCRjtBdUI1aXdCQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGlCQUFBO0F2Qitpd0JGO0F1Qnhpd0JBOztFQUVFLHdEQUFBO0VBQ0EscUJBQUE7RUFDQSxzQkFBQTtFQUNBLGNBQUE7QXZCMml3QkY7QXVCcGl3QkE7RUFDRSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLHdEQUFBO0F2QnVpd0JGO0F1Qmppd0JBO0VBQ0UsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtBdkJvaXdCRjtBdUJoaXdCQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLGlCQUFBO0F2Qm1pd0JGO0F1QjNod0JBO0VBQ0UsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7QXZCOGh3QkY7QXVCMWh3QkE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtBdkI2aHdCRjtBdUJ6aHdCQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7QXZCNGh3QkY7QXVCdGh3QkE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2Qnlod0JGO0F1QnBod0JBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtFQUNBLDZCQUFBO0F2QnVod0JGO0F1Qm5od0JBO0VBQ0UsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSwyQkFBQTtBdkJzaHdCRjtBc0JyMHZCQTtFQUVFLCtPQUFBO0VBRUEsaVlBQUE7QXRCczB2QkY7QXNCdnV2QkE7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCeXV2QkY7QW1FdG93QkE7RUFZRSx5QjdDekJTO0F0QnVwd0JYO0FtRXJvd0JFO0VBQTZCLHdCQUFBO0FuRXdvd0IvQjtBbUUvbndCRTtFQUFlLHVCN0MrQk87QXRCbW13QnhCO0FtRTNud0JBO0VBQ0Usb0JwQ2dCbUM7RW9DZm5DLHFCcENlbUM7QS9CK213QnJDO0FtRTVud0JFO0VBSkY7SUFLSSxvQnBDYWlDO0lvQ1pqQyxxQnBDWWlDO0UvQm1ud0JuQztBQUNGO0FBbG93QkE7RUFDRTs7O0lBR0UsNkNBQUE7WUFBQSxxQ0FBQTtJQUNBLCtDQUFBO1lBQUEsdUNBQUE7SUFDQSxzQ0FBQTtJQUNBLGdDQUFBO0VBcW93QkY7QUFDRjtBQXBud0JBOzs7OztFQUtFLG9CQUFBO0FBc253QkY7QUF4bXdCQTtFQUNFLHVMR29HWTtBSHVnd0JkO0FzQjkzdkJBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEIrM3ZCRjtBc0JoeXZCQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJreXZCRjtBc0I1NHZCQTtFQUVFLCtPQUFBO0VBRUEsaVlBQUE7QXRCNjR2QkY7QXNCOXl2QkE7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCZ3p2QkY7QXVCdHR3QkE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtBdkJ5dHdCRjtBdUJsdHdCQTs7RUFFRSx3REFBQTtFQUNBLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxjQUFBO0F2QnF0d0JGO0F1Qjlzd0JBO0VBQ0UsZUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxpQkFBQTtFQUNBLGFBQUE7RUFDQSx3REFBQTtBdkJpdHdCRjtBdUIzc3dCQTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QXZCOHN3QkY7QXVCMXN3QkE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSxpQkFBQTtBdkI2c3dCRjtBdUJyc3dCQTtFQUNFLGdCQUFBO0VBQ0Esb0JBQUE7RUFDQSxxQkFBQTtFQUNBLGlCQUFBO0F2Qndzd0JGO0F1QnBzd0JBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7QXZCdXN3QkY7QXVCbnN3QkE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2QnNzd0JGO0F1Qmhzd0JBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkJtc3dCRjtBdUI5cndCQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7RUFDQSw2QkFBQTtBdkJpc3dCRjtBdUI3cndCQTtFQUNFLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLG1CQUFBO0VBQ0EsMkJBQUE7QXZCZ3N3QkY7QW9FdHl3QkE7RUFDRSxhQUFBO0FwRXl5d0JGO0FvRXB5d0JBO0VBQ0UsMkJBQUE7RUFDQSxrQ0FBQTtVQUFBLDBCQUFBO0FwRXV5d0JGO0FvRTl4d0JFO0VBQ0UsbUJBQUE7QXBFaXl3Qko7QW9FN3h3QkU7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0FwRSt4d0JKO0FvRTF4d0JFO0VBQ0UsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLHdIQUFBO0FwRTR4d0JKO0FvRXp4d0JFO0VBQ0Usa0JBQUE7RUFDQSxtRUFBQTtBcEUyeHdCSjtBb0VyeHdCRTtFQUNFLHFCQUFBO0VBQ0Esd0JBQUE7QXBFdXh3Qko7QW9FbHh3QkE7RUFDRSxtQkFBQTtBcEVxeHdCRjtBb0VqeHdCQTtFQUNFLFlBQUE7RUFDQSxtQkFBQTtBcEVveHdCRjtBc0J2aHdCQTtFQUVFLCtPQUFBO0VBRUEsaVlBQUE7QXRCd2h3QkY7QXNCejd2QkE7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCMjd2QkY7QXNCcml3QkE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QnNpd0JGO0FzQnY4dkJBO0VBRUUsb0NBQUE7RUFDQSxtQ0FBQTtFQUNBLHFDQUFBO0VBQ0EscUNBQUE7RUFDQSxzQ0FBQTtFQUNBLG9DQUFBO0F0Qnk4dkJGO0FzQm5qd0JBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEJvandCRjtBc0JyOXZCQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJ1OXZCRjtBdUI3M3dCQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGlCQUFBO0F2Qmc0d0JGO0F1Qnozd0JBOztFQUVFLHdEQUFBO0VBQ0EscUJBQUE7RUFDQSxzQkFBQTtFQUNBLGNBQUE7QXZCNDN3QkY7QXVCcjN3QkE7RUFDRSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLHdEQUFBO0F2Qnczd0JGO0F1Qmwzd0JBO0VBQ0UsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtBdkJxM3dCRjtBdUJqM3dCQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLGlCQUFBO0F2Qm8zd0JGO0F1QjUyd0JBO0VBQ0UsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7QXZCKzJ3QkY7QXVCMzJ3QkE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtBdkI4MndCRjtBdUIxMndCQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7QXZCNjJ3QkY7QXVCdjJ3QkE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2QjAyd0JGO0F1QnIyd0JBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtFQUNBLDZCQUFBO0F2Qncyd0JGO0F1QnAyd0JBO0VBQ0UsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSwyQkFBQTtBdkJ1MndCRjtBcUV6OHdCQTtFQUNFLGdCQUFBO0VBQ0Esd0JBQUE7RUFDQSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxTQUFBO0VBQ0Esc0JBQUE7RUFDQSwyQkFBQTtFQUNBLGtCQUFBO0VBQ0EsNkJBQUE7RUFDQSwyQkFBQTtFQUNBLDRCQUFBO0VBQ0EsMEJBQUE7RUFDQSxlQUFBO0VBQ0Esd0hBQUE7QXJFNDh3QkY7QXFFMTh3QkU7RUFDRSx5Qi9DV2dCO0UrQ1ZoQixxQi9DVWdCO0UrQ1RoQiw0UEFBQTtBckU0OHdCSjtBcUV6OHdCRTtFQUNFLHlCL0NLZ0I7RStDSmhCLHFCL0NJZ0I7RStDSGhCLDhOQUFBO0FyRTI4d0JKO0FxRXg4d0JFO0VBQ0Usa0IvQ21Ja0M7QXRCdTB3QnRDO0FxRXY4d0JFO0VBQ0UsbUJBQUE7RUFDQSxZQUFBO0FyRXk4d0JKO0FxRXQ4d0JFO0VBQ0UsMEJBQUE7RUFDQSxtQkFBQTtBckV3OHdCSjtBcUVuOHdCQTtFQUNFLHFCL0N6RFM7QXRCKy93Qlg7QXFFcDh3QkU7RUFDRSx5Qi9DN0RPO0UrQzhEUCxxQi9DOURPO0UrQytEUCw0UEFBQTtBckVzOHdCSjtBcUVuOHdCRTtFQUNFLHlCL0NuRU87RStDb0VQLHFCL0NwRU87RStDcUVQLDhOQUFBO0FyRXE4d0JKO0FxRWw4d0JFO0VBQ0UscUIvQ3NHdUM7QXRCODF3QjNDO0FxRWo4d0JFO0VBQ0Usc0JBQUE7QXJFbTh3Qko7QXNCbHR3QkE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0Qm10d0JGO0FzQnBud0JBO0VBRUUsb0NBQUE7RUFDQSxtQ0FBQTtFQUNBLHFDQUFBO0VBQ0EscUNBQUE7RUFDQSxzQ0FBQTtFQUNBLG9DQUFBO0F0QnNud0JGO0FzQmh1d0JBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEJpdXdCRjtBc0Jsb3dCQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJvb3dCRjtBc0I5dXdCQTtFQUVFLCtPQUFBO0VBRUEsaVlBQUE7QXRCK3V3QkY7QXNCaHB3QkE7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCa3B3QkY7QXVCeGp4QkE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtBdkIyanhCRjtBdUJwanhCQTs7RUFFRSx3REFBQTtFQUNBLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxjQUFBO0F2QnVqeEJGO0F1QmhqeEJBO0VBQ0UsZUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxpQkFBQTtFQUNBLGFBQUE7RUFDQSx3REFBQTtBdkJtanhCRjtBdUI3aXhCQTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QXZCZ2p4QkY7QXVCNWl4QkE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSxpQkFBQTtBdkIraXhCRjtBdUJ2aXhCQTtFQUNFLGdCQUFBO0VBQ0Esb0JBQUE7RUFDQSxxQkFBQTtFQUNBLGlCQUFBO0F2QjBpeEJGO0F1QnRpeEJBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7QXZCeWl4QkY7QXVCcml4QkE7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2QndpeEJGO0F1QmxpeEJBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtBdkJxaXhCRjtBdUJoaXhCQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7RUFDQSw2QkFBQTtBdkJtaXhCRjtBdUIvaHhCQTtFQUNFLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLG1CQUFBO0VBQ0EsMkJBQUE7QXZCa2l4QkY7QXNFcG94QkE7RUFDRSxnQkFBQTtFQUNBLHdCQUFBO0VBQ0EscUJBQUE7RUFDQSxzQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsU0FBQTtFQUNBLHNCQUFBO0VBQ0EsMkJBQUE7RUFDQSxrQkFBQTtFQUNBLDZCQUFBO0VBQ0EsMkJBQUE7RUFDQSw0QkFBQTtFQUlBLDBCQUFBO0VBQ0EsZUFBQTtFQUNBLHdIQUFBO0F0RW9veEJGO0FzRWxveEJFO0VBQ0UseUJoRFFnQjtFZ0RQaEIscUJoRE9nQjtFZ0ROaEIsNktBQUE7QXRFb294Qko7QXNFam94QkU7RUFDRSxrQmhEc0lrQztBdEI2L3dCdEM7QXNFaG94QkU7RUFDRSxtQkFBQTtFQUNBLFlBQUE7QXRFa294Qko7QXNFL254QkU7RUFDRSwwQkFBQTtFQUNBLG1CQUFBO0F0RWlveEJKO0FzRTVueEJBO0VBQ0UscUJoRHREUztBdEJxcnhCWDtBc0U3bnhCRTtFQUNFLHlCaEQxRE87RWdEMkRQLHFCaEQzRE87RWdENERQLDZLQUFBO0F0RStueEJKO0FzRTVueEJFO0VBQ0UscUJoRCtHdUM7QXRCK2d4QjNDO0FzRTNueEJFO0VBQ0Usc0JBQUE7QXRFNm54Qko7QXNCbjR3QkE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0Qm80d0JGO0FzQnJ5d0JBO0VBRUUsb0NBQUE7RUFDQSxtQ0FBQTtFQUNBLHFDQUFBO0VBQ0EscUNBQUE7RUFDQSxzQ0FBQTtFQUNBLG9DQUFBO0F0QnV5d0JGO0FzQmo1d0JBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEJrNXdCRjtBc0JuendCQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJxendCRjtBdUIzdHhCQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGlCQUFBO0F2Qjh0eEJGO0F1QnZ0eEJBOztFQUVFLHdEQUFBO0VBQ0EscUJBQUE7RUFDQSxzQkFBQTtFQUNBLGNBQUE7QXZCMHR4QkY7QXVCbnR4QkE7RUFDRSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLHdEQUFBO0F2QnN0eEJGO0F1Qmh0eEJBO0VBQ0UsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtBdkJtdHhCRjtBdUIvc3hCQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLGlCQUFBO0F2Qmt0eEJGO0F1QjFzeEJBO0VBQ0UsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7QXZCNnN4QkY7QXVCenN4QkE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtBdkI0c3hCRjtBdUJ4c3hCQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7QXZCMnN4QkY7QXVCcnN4QkE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2QndzeEJGO0F1Qm5zeEJBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtFQUNBLDZCQUFBO0F2QnNzeEJGO0F1QmxzeEJBO0VBQ0UsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSwyQkFBQTtBdkJxc3hCRjtBdUVueXhCQTtFQUNFLGFBQUE7QXZFc3l4QkY7QXVFbnl4QkE7RUFZRSx1QkFBQTtFQUNBLDJCQUFBO0F2RTJ4eEJGO0F1RXJ4eEJFO0VBQ0Usa0JBQUE7QXZFdXh4Qko7QXVFL3d4QkE7RUFDRSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxRQUFBO0VBQ0Esb0JBQUE7RUFDQSw0UEFBQTtFQUNRLG9QQUFBO0VBQ1Isc0JBQUE7RUFDUSxjQUFBO0VBQ1IsOEJBQUE7RUFDUSxzQkFBQTtFQUNSLDZCQUFBO0VBQ1EscUJBQUE7QXZFa3h4QlY7QXVFMXd4QkE7RUFDRSw0REFBQTtBdkU2d3hCRjtBdUUzd3hCQTtFQUNFLHNIQUFBO0F2RTh3eEJGO0F1RTV3eEJBO0VBQ0UsbUVBQUE7QXZFK3d4QkY7QXVFeHd4QkE7RUFDRSxtQkFBQTtBdkUyd3hCRjtBdUVyd3hCQTtFQUNFLFlBQUE7RUFDQSxtQkFBQTtBdkV3d3hCRjtBdUVodnhCRTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7QXZFbXZ4Qko7QXVFL3V4QkU7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0Esa1BBQUE7QXZFaXZ4Qko7QXVFN3V4QkU7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLHlDQUFBO0VBQ0EsbU5BQUE7QXZFK3V4Qko7QXVFdnV4Qkk7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsNkNBQUE7QXZFeXV4Qk47QXVFdnV4Qkk7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLHdDQUFBO0F2RXl1eEJOO0F1RW51eEJFO0VBQ0Usc0JBQUE7RUFDUSxjQUFBO0F2RXF1eEJaO0F1RWp1eEJFO0VBQ0UsMkJBQUE7QXZFbXV4Qko7QXNCMWt4QkE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QjJreEJGO0FzQjUrd0JBO0VBRUUsb0NBQUE7RUFDQSxtQ0FBQTtFQUNBLHFDQUFBO0VBQ0EscUNBQUE7RUFDQSxzQ0FBQTtFQUNBLG9DQUFBO0F0Qjgrd0JGO0FzQnhseEJBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEJ5bHhCRjtBc0IxL3dCQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEI0L3dCRjtBdUJsNnhCQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGlCQUFBO0F2QnE2eEJGO0F1Qjk1eEJBOztFQUVFLHdEQUFBO0VBQ0EscUJBQUE7RUFDQSxzQkFBQTtFQUNBLGNBQUE7QXZCaTZ4QkY7QXVCMTV4QkE7RUFDRSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLHdEQUFBO0F2QjY1eEJGO0F1QnY1eEJBO0VBQ0UsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtBdkIwNXhCRjtBdUJ0NXhCQTtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLGlCQUFBO0F2Qnk1eEJGO0F1Qmo1eEJBO0VBQ0UsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7QXZCbzV4QkY7QXVCaDV4QkE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtBdkJtNXhCRjtBdUIvNHhCQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7QXZCazV4QkY7QXVCNTR4QkE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0F2Qis0eEJGO0F1QjE0eEJBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtFQUNBLDZCQUFBO0F2QjY0eEJGO0F1Qno0eEJBO0VBQ0UsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSwyQkFBQTtBdkI0NHhCRjtBd0UvK3hCQTtFQUNFLGFBQUE7QXhFay94QkY7QXdFNyt4QkU7RUFDRSxXQUFBO0VBQ0EsWUFBQTtBeEVnL3hCSjtBd0U1K3hCRTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7RUFDQSx3SEFBQTtBeEU4K3hCSjtBd0V2K3hCRTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0EscUhBQUE7QXhFeSt4Qko7QXdFdCt4QkU7RUFDRSx1QkFBQTtBeEV3K3hCSjtBd0VuK3hCQTtFQUNFLG1CQUFBO0F4RXMreEJGO0F3RWwreEJBO0VBQ0UsWUFBQTtFQUNBLG1CQUFBO0F4RXEreEJGO0F5RWppeUJBO0VBQ0kscUJBQUE7RUFDQSxvREFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtBekVvaXlCSjtBeUVqaXlCRTtFQUNFLCtFQUFBO0VBQ0EsZ0NBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSxvQkFBQTtFQUNBLGNBQUE7RUFFQSxzQ0FBQTtFQUNBLG1DQUFBO0VBQ0Esa0NBQUE7QXpFa2l5Qko7QXlFaGl5Qkk7RUFDRSxZQUFBO0F6RWtpeUJOO0F5RWhpeUJJO0VBQ0UsWUFBQTtBekVraXlCTjtBeUVoaXlCSTtFQUNFLFlBQUE7QXpFa2l5Qk47QXlFaGl5Qkk7RUFDRSxZQUFBO0F6RWtpeUJOO0F5RWhpeUJJO0VBQ0UsWUFBQTtBekVraXlCTjtBeUVoaXlCSTtFQUNFLFlBQUE7QXpFa2l5Qk47QXlFaGl5Qkk7RUFDRSxZQUFBO0F6RWtpeUJOO0F5RWhpeUJJO0VBQ0UsWUFBQTtBekVraXlCTjtBeUVoaXlCSTtFQUNFLFlBQUE7QXpFa2l5Qk47QXlFaGl5Qkk7RUFDRSxZQUFBO0F6RWtpeUJOO0F5RWhpeUJJO0VBQ0UsWUFBQTtBekVraXlCTjtBeUVoaXlCSTtFQUNFLFlBQUE7QXpFa2l5Qk47QXlFaGl5Qkk7RUFDRSxZQUFBO0F6RWtpeUJOO0F5RWhpeUJJO0VBQ0UsWUFBQTtBekVraXlCTjtBMEUvbHlCQTtFQUNJLHFCQUFBO0VBSUEsb0RBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7QTFFK2x5Qko7QTBFNWx5QkE7RUFDRSwrRUFBQTtFQUNBLGdDQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0Esb0JBQUE7RUFDQSxjQUFBO0VBRUEsc0NBQUE7RUFDQSxtQ0FBQTtFQUNBLGtDQUFBO0ExRTZseUJGO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBFM2x5QkU7RUFDRSxZQUFBO0ExRTZseUJKO0EwRTNseUJFO0VBQ0UsWUFBQTtBMUU2bHlCSjtBMEUzbHlCRTtFQUNFLFlBQUE7QTFFNmx5Qko7QTBF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eUJBO0VBQ0Usd0JBQUE7QUE2N3lCRjtBQTM3eUJBO0VBQ0UseUJBQUE7QUE4N3lCRiIsImZpbGUiOiJfY29yZS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcImZvbnRzLWxvY2FsXCI7XG5AaW1wb3J0IFwidGhlbWVcIjtcbkBpbXBvcnQgXCJidWxtYVwiO1xuQGltcG9ydCBcImNoYXJ0aXN0XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5AaW1wb3J0IFwibGF5b3V0XCI7XG5AaW1wb3J0IFwiYW5ndWxhci1jYWxlbmRhclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaW5wdXRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2J1dHRvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaGVhZGVyLWljb24tYnV0dG9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90b29sdGlwXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9ub3RpZmljYXRpb25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NpZGViYXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL21lbnVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2N1c3RvbS1mb3JtXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9ldmVudC1hZG1pblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc25hY2tiYXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2ZhYlwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcGFnaW5hdG9yXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zaG93LWFsbC1zdWJtaXNzaW9uc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY2FyZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZGF0ZXRpbWVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvcm0tZmllbGRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BhcGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9sZWdlbmRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL25vdGljZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaG9tZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbWFya2Rvd25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2hlYWRlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc3RydWN0dXJlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9lbXB0eS1wYWdlLXBhbmVsXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9uYXRpdmUtaW5wdXRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL25hdGl2ZS1idXR0b25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3RhYmxlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90b3BpYy1jaGlwXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90aHJlc2hvbGQtYmFuZC1wb3BvdmVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zY29yZS1ncmlkXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9kaWFsb2dcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NlZ21lbnRlZFwiO1xuQGltcG9ydCBcImNvbG9yLXNjaGVtZVwiO1xuQGltcG9ydCBcImExMXlcIjtcbkBpbXBvcnQgXCJ2aWV3LW1vZGVcIjtcblxuLy8gR2xvYmFsIHJlZHVjZWQtbW90aW9uIG92ZXJyaWRlIOKAlCBhcHBsaWVkIG9uY2UsIG5ldmVyIHBlci1jb21wb25lbnQuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyAoVGVudGF0aXZhIGRlIFwic2VtIGFuaW1hw6fDtWVzIG5vIG1hY09TXCIgUkVNT1ZJREE6IG1hdGF2YSBDU1MgYW5pbWF0aW9uc1xuLy8gbGVnw610aW1hcyDigJQgbWF0LXByb2dyZXNzLWJhciByb2xhbmRvLCBtYXQtc3Bpbm5lciBnaXJhbmRvLCB0cmFuc2nDp8O1ZXMgZGVcbi8vIGVzdGFkby4gRSBhaW5kYSBwb3IgY2ltYSBOw4NPIGF0aW5naWEgbyBhbHZvIHJlYWwsIHF1ZSBzw6NvIGFzIGFuaW1hw6fDtWVzXG4vLyBwcm9ncmFtw6F0aWNhcyBkbyBAYW5ndWxhci9hbmltYXRpb25zLCBleGVjdXRhZGFzIGZvcmEgZG8gQ1NTLiBWZXIgbWVtw7NyaWFcbi8vIHByb2plY3RfbWFjb3Nfbm9fYW5pbWF0aW9uX3BlbmRpbmc6IG8gY2FtaW5obyBjb3JyZXRvIMOpIE5vb3BBbmltYXRpb25zL1xuLy8gW0AuZGlzYWJsZWRdLCBuw6NvIENTUy4pXG5cbi8vIFJlc2V0IGRlIGZvbnRlIGRvcyBjb250cm9sZXMgZGUgZm9ybXVsw6FyaW8gKG5vcm1hbGl6ZS5jc3MgwqcxMC4xKS5cbi8vIGA8YnV0dG9uPmAvYDxpbnB1dD5gL2V0Yy4gTsODTyBoZXJkYW0gYGZvbnQtZmFtaWx5YCBwb3IgcGFkcsOjbyDigJQgbyBVQVxuLy8gc3R5bGVzaGVldCBlIG8gQnVsbWEgKGAkZmFtaWx5LXNhbnMtc2VyaWZgLCB1bWEgc3RhY2sgZGUgc2lzdGVtYSwgbsOjbyBHZWlzdClcbi8vIGltcMO1ZW0gdW1hIGZvbnRlIHByw7NwcmlhLiBTZW0gZXN0ZSByZXNldCwgdG9kbyBib3TDo28gY3VzdG9tIGRvIGNoYWlyIFVJXG4vLyBwcmVjaXNhIGRlIHVtIGBmb250LWZhbWlseTogaW5oZXJpdGAgaW5kaXZpZHVhbCAoaGF2aWEgfjcgZGVzc2VzIGVzcGFsaGFkb3MpLlxuLy8gQXBsaWNhZG8gVU1BIHZleiBhcXVpIHByYSBxdWUgdG9kbyBjb250cm9sZSBoZXJkZSBHZWlzdCBkbyBib2R5LiBJbXBvcnRhZG9cbi8vIGRlcG9pcyBkbyBCdWxtYSAobGluaGEgMyksIGVudMOjbyB2ZW5jZSBhIHJlZ3JhIGRlbGUuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cblxuLy8gUGluIEdMT0JBTCBkZSBHZWlzdCBuYSByYWl6IGRvIGNhbnZhcyAoYC5tYWluYCDigJQgd3JhcHBlciBkZSBUT0RBIHDDoWdpbmFcbi8vIGNoYWlyOiBldmVudC12aWV3LCB0b3BpY3MsIHJldmlld3MtY29uZmlndXJhdGlvbiwgZXRjLikuIE5lY2Vzc8OhcmlvIHBvcnF1ZVxuLy8gYWxndW0gYW5jZXN0cmFsIG5hIMOhcmVhIGFkbWluIGRlY2xhcmEgdW1hIGZvbnQtZmFtaWx5IHBvbHXDrWRhIChzdGFja1xuLy8gYC1hcHBsZS1zeXN0ZW0sIHN5c3RlbS11aSwg4oCmYCBxdWUgTsODTyB2ZW0gZGUgbmVuaHVtIENTUyBub3NzbyBuZW0gZGFzIGxpYnMg4oCUXG4vLyBwcm92w6F2ZWwgaW5saW5lL3J1bnRpbWUgZGUgY29tcG9uZW50ZSBNYXRlcmlhbCBlc3RydXR1cmFsOyB2ZXIgbWVtw7NyaWFcbi8vIHByb2plY3RfYWRtaW5fZm9udF9wb2xsdXRlZF9hbmNlc3RvcikuIE8gYGJvZHkgeyBmb250LWZhbWlseSB9YCAoR2Vpc3QpIGZpY2Fcbi8vIGFiYWl4byBkZWxhIG5hIGNhc2NhdGEgcG9yIGhlcmFuw6dhLCBlbnTDo28gaDEvYm90w7Vlcy9ldGMuIHNhw61hbSBmb3JhIGRvIEdlaXN0LlxuLy8gUmUtYWZpcm1hciBHZWlzdCBlbSBgLm1haW5gIHZlbmNlIG8gYW5jZXN0cmFsIHBhcmEgdG9kbyBvIGNvbnRlw7pkbyBkZSBww6FnaW5hXG4vLyBkZSB1bWEgdmV6LiDDjWNvbmVzIChNYXRlcmlhbCBTeW1ib2xzL2plbXMzci9qZW1zM3MpIGUgbW9ub3NwYWNlIChJbmNvbnNvbGF0YSlcbi8vIG7Do28gc8OjbyBhZmV0YWRvczogZGVjbGFyYW0gYGZvbnQtZmFtaWx5YCBubyBwcsOzcHJpbyBlbGVtZW50byAoZXNwZWNpZmljaWRhZGVcbi8vIG1haW9yKS4gRml4IGRlIHJhaXogZGVmaW5pdGl2byA9IGFjaGFyIGUgY29ycmlnaXIgbyBhbmNlc3RyYWwgcG9sdcOtZG8uXG4ubWFpbiB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG59XG5AaW1wb3J0IFwiY29tcG9uZW50cy9tYXQtY2hlY2tib3hcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NoZWNrYm94XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9yYWRpb1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbWF0LXNsaWRlLXRvZ2dsZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbWF0LXJhZGlvXCI7XG5AaW1wb3J0IFwiaWNvbnMvamVtczNyXCI7XG5AaW1wb3J0IFwiaWNvbnMvamVtczNzXCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeS1tZDNcIjtcbkBpbXBvcnQgXCJjaGFydC12YXJzXCI7XG5AaW1wb3J0IFwiaW5zdGFsbGVkLWFwcFwiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENIUk9NRSBPRkZTRVQg4oCUIHNpbmdsZSBzb3VyY2Ugb2YgdHJ1dGggcGFyYSBhIGFsdHVyYSBhZ3JlZ2FkYSBkb1xuLy8gY2hyb21lIEFDSU1BIGRvIGNhbnZhcy4gQ2FkYSBlbGVtZW50byBkZSBjaHJvbWUgZml4ZWQtcG9zaXRpb25lZFxuLy8gKHByb3h5LWJhciwgbmF2YmFyLCBicmVhZGNydW1iLCBzaWRlYmFyLCBtYWluLWhlYWRlciBkYXMgcMOhZ2luYXMpXG4vLyBjb25zb21lIGB2YXIoLS1jaHJvbWUtdG9wLW9mZnNldClgIG5vIHNldSBgdG9wYCBlbSB2ZXogZGUgc29tYXJcbi8vIGNvbnN0YW50ZXMgbGl0ZXJhaXMuIEFkaWNpb25hci9yZW1vdmVyIGNhbWFkYXMgZGUgY2hyb21lIChwcm94eS1iYXIsXG4vLyBpbnN0YWxsLWJhbm5lciBmdXR1cm8sIGV0Yy4pIHZpcmEgVU0gbHVnYXIgZW0gdmV6IGRlIE4gcmVncmFzXG4vLyBgJi5wcm94eS1hY3RpdmVgL2AmLmluc3RhbGxlZC1hcHBgL2V0Yy4gZXNwYWxoYWRhcyBwZWxvcyBjb21wb25lbnRlcy5cbi8vXG4vLyBQYWRyw6NvIGRlIGNvbnN1bW86XG4vLyAgIC5uYXZiYXIgICAgICAgICAgIHsgdG9wOiB2YXIoLS1jaHJvbWUtdG9wLW9mZnNldCk7IH0gICAgICAgLy8gYmFzZWxpbmUgMFxuLy8gICAubWFpbi1oZWFkZXIgICAgICB7IHRvcDogY2FsYyg8YmFzZWxpbmU+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/DrWNvbmUgZG9zIG1lbnVzIEpFTVMzIG1vZGVybm9zICh1c2VyLW1lbnUsXG4gICAgLy8gXCIuLi5cIiBkb3MgYWN0aW9ucy1tZW51LWJ1dHRvbiwgYnJlYWRjcnVtYiwgc3VibWlzc2lvbi1saXN0LCB2aWV3LXByb2ZpbGUsXG4gICAgLy8gY29sb3ItcGlja2VyLCBsYW5kaW5nLCBldGMuKS4gQW50ZXMgZXNzYSBnZW9tZXRyaWEgdml2aWEgZW1cbiAgICAvLyBgX2NvbG9yLXNjaGVtZS5zY3NzYCAoZm9yYSBkbyBlc2NvcG8gZGVzc2UgYXJxdWl2bywgcXVlIGRldmlhIHNlciBzw7MgY29yKS5cbiAgICAvL1xuICAgIC8vIEJhc2UgPSAyNnB4IChkZW5zbywgY2FzYSBgLmplbXMzLXNlbGVjdC1wYW5lbGApLiBFeGNlw6fDo28gPSB1c2VyLW1lbnVcbiAgICAvLyA9IDI4cHggdmlhIGNsYXNzZSBkaXN0aW50aXZhIGAudXNlci1tZW51YCBubyB3cmFwcGVyIGRvIGF2YXRhci1wcm9maWxlLlxuICAgIC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtLFxuICAgIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLFxuICAgIC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMjZweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiAyNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGNvbnRyb2wtZm9udC1zaXplICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkbWVudS1pdGVtLXdlaWdodCAhaW1wb3J0YW50O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMCAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLy8gRXhjZcOnw6NvIHBybyB1c2VyLW1lbnUgKGF2YXRhci1wcm9maWxlKTogMjhweCDigJQgbWFpcyByZXNwaXJvIGVtIG1lbnVcbiAgICAvLyBsb25nbyBjaGVpbyBkZSBvcMOnw7Vlcy4gRXNwZWNpZmljaWRhZGUgKDAsMiwwKSBpZ3VhbCDDoCBiYXNlOyBhIGVzcGVjw61maWNhXG4gICAgLy8gdmVuY2UgcG9yIG9yZGVtIChkZWNsYXJhZGEgZGVwb2lzKS5cbiAgICAudHBjLXVzZXItbWVudS51c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0sXG4gICAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUudXNlci1tZW51IC5tYXQtbWVudS1pdGVtIHtcbiAgICAgICAgaGVpZ2h0OiAyOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI4cHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLy8gSWNvbiBnZW9tZXRyeSDigJQgY29tdW0gYSB0b2RvcyBvcyBtZW51cyBjb20gYC50cGMtdXNlci1tZW51YC9gLmNvbnRhaW5lci1vcHRpb25gLlxuICAgIC8vIFBlc28vRklMTCBhbmltYW0gbm8gaG92ZXIgKGVmZWl0byBkZSBcImFjZW5kZXJcIiBvIMOtY29uZSBkYSBvcMOnw6NvIHNvYiBvIGN1cnNvcikuXG4gICAgLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uLFxuICAgIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbixcbiAgICAudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbSAubWF0LWljb24ge1xuICAgICAgICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnb3BzeicgMjAsICd3Z2h0JyAzMDAsICdGSUxMJyAwO1xuICAgICAgICAvLyBTZW0gdHJhbnNpw6fDo286IG11ZGFuw6dhIGRlIHBlc28vZmlsbCBpbnN0YW50w6JuZWEgKGVzdGlsbyBtYWNPUykuXG4gICAgfVxuICAgIC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtOmhvdmVyIC5tYXQtaWNvbixcbiAgICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbTpob3ZlciAubWF0LWljb24sXG4gICAgLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW06aG92ZXIgLm1hdC1pY29uIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdvcHN6JyAyMCwgJ3dnaHQnIDQwMCwgJ0ZJTEwnIDA7XG4gICAgfVxuICAgIC8vIExlYWRpbmcgY29tIGZsYWcgZW1vamkgKGVtIHZleiBkZSBtYXQtaWNvbikg4oCUIGVzcGVsaGFyIGdlb21ldHJpYS5cbiAgICAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbSAuZmxhZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LWZhbWlseTogJ0FwcGxlIENvbG9yIEVtb2ppJywgJ1NlZ29lIFVJIEVtb2ppJywgJ05vdG8gQ29sb3IgRW1vamknLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUsXG4gICAgLnRwYy11c2VyLW1lbnUge1xuXG4gICAgICAgIC8vIFN1cHJpbWUgbyBlZmVpdG8gcmlwcGxlIGRvIE1hdGVyaWFsIGVtIFRPRE9TIG9zIG1hdC1tZW51LWl0ZW1zXG4gICAgICAgIC8vIGRvIHVzZXIgbWVudSDigJQgZmVlZGJhY2sgZGUgY2xpcXVlIGFxdWkgZmljYSBwb3IgY29udGEgZG9cbiAgICAgICAgLy8gaG92ZXIgYmcgKyBhw6fDo28gaW1lZGlhdGEgKHRyb2NhIGRlIHRlbWEvbGF5b3V0L2lkaW9tYSxcbiAgICAgICAgLy8gbmF2ZWdhw6fDo28pLiBPIHJpcHBsZSBuw6NvIGNvbWJpbmEgY29tIG8gcmVzdGFudGUgZG8gY2hhaXIgVUlcbiAgICAgICAgLy8gKGVzdGlsbyB0aXBvZ3LDoWZpY28vbWluaW1hbCDDoCBsYSBOb3Rpb24vTGluZWFyKS5cbiAgICAgICAgLm1hdC1tZW51LWl0ZW0gLm1hdC1yaXBwbGUsXG4gICAgICAgIC5tYXQtbWVudS1pdGVtIC5tYXQtYnV0dG9uLXJpcHBsZSxcbiAgICAgICAgLm1hdC1tZW51LWl0ZW0gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUb3AgOHB4IG1hdGNoZXMgdGhlIGxhdGVyYWwgaW5zZXQgKHBhbmVsIDRweCArIGl0ZW0gbWFyZ2luIDRweCA9XG4gICAgICAgIC8vIDhweCkuIEJvdHRvbSB1c2VzIDVweCB0byBjb21wZW5zYXRlIGZvciB0aGUgcGVyLWl0ZW0gMXB4IG1hcmdpbi1cbiAgICAgICAgLy8gYm90dG9tIChzbyB0aGUgdmlzaWJsZSBzcGFjZSBiZWxvdyB0aGUgbGFzdCByb3cg4omIIDZweCwganVzdCB1bmRlclxuICAgICAgICAvLyB0aGUgOHB4IHRvcCksIHNpbmNlIGl0ZW1zIGRvbid0IGNhcnJ5IGEgbWFyZ2luLXRvcC5cbiAgICAgICAgcGFkZGluZzogOHB4IDRweCA1cHggNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vIDZweCBwYW5lbCBjb3JuZXJzIChHaXRIdWItc3R5bGUpIOKAlCBtb2Rlcm4gUFdBIHJhZGl1cyB3aXRob3V0XG4gICAgICAgIC8vIG1ha2luZyB0aGUgY2hyb21lIGZlZWwgXCJzb2Z0XCI7IG1hdGNoZXMgdGhlIDZweC1yYWRpdXMgb2YgdGhlXG4gICAgICAgIC8vIGlubmVyIGl0ZW0gcGlsbHMgZm9yIGEgY29oZXJlbnQgY29ybmVyIGZhbWlseS4gU2hhZG93IGxpdmVzIGluXG4gICAgICAgIC8vIGBfY29sb3Itc2NoZW1lLnNjc3NgICh0aGVtZS1hd2FyZSkuXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLy8gU2VjdGlvbiBkaXZpZGVycyDigJQga2VlcCB0aGVtIHZpc3VhbGx5IGNsZWFyIG9mIHRoZSBpdGVtIGhvdmVyXG4gICAgICAgIC8vIHBpbGxzIGFib3ZlL2JlbG93IHNvIHRoZSBncm91cHMgcmVhZCBhcyBkaXNjcmV0ZSBibG9ja3MuIExhdGVyYWxcbiAgICAgICAgLy8gbWFyZ2lucyBhcmUgTkVHQVRJVkUgNHB4IHNvIHRoZSBsaW5lIGVzY2FwZXMgdGhlIHBhbmVsJ3MgNHB4XG4gICAgICAgIC8vIGxlZnQvcmlnaHQgcGFkZGluZyBhbmQgcnVucyBlZGdlLXRvLWVkZ2UgYWNyb3NzIHRoZSBmdWxsIHBhbmVsXG4gICAgICAgIC8vIHdpZHRoIChpbnN0ZWFkIG9mIHNpdHRpbmcgaW5kZW50ZWQgbGlrZSB0aGUgaXRlbSBwaWxscyBhYm92ZS9iZWxvdykuXG4gICAgICAgIC5tYXQtZGl2aWRlciB7XG4gICAgICAgICAgICBtYXJnaW46IDZweCAtNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZWdyYXMgZGUgZ2VvbWV0cmlhIGRlIGAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbWAgYWdvcmFcbiAgICAgICAgLy8gdml2ZW0gbm8gZXNjb3BvIGA6Om5nLWRlZXBgIGRpcmV0byAoYWNpbWEpLCBwcmEgbsOjbyBkZXBlbmRlcmVtXG4gICAgICAgIC8vIGRhIGNsYXNzZSBgdHBjLXVzZXItbWVudWAgcHJvcGFnYXIgYXTDqSBvIHBhaW5lbC5cblxuICAgICAgICAvLyBDb21wYWN0IGxhbmd1YWdlIHN3aXRjaGVyIChmbGFnLW9ubHkgYnV0dG9ucykuIE5vIHJpZ2h0IG1hcmdpbiDigJRcbiAgICAgICAgLy8gZWFjaCBmbGFnIGlzIGNlbnRyZWQgaW5zaWRlIGl0cyA0NMOXMzIgY2VsbCwgbm8gbGFiZWwgZm9sbG93aW5nLlxuICAgICAgICAuY29udGFpbmVyLWxhbmd1YWdlLWNvbXBhY3QgLm1hdC1tZW51LWl0ZW0gLmZsYWcge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aWR0aDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnQXBwbGUgQ29sb3IgRW1vamknLCAnU2Vnb2UgVUkgRW1vamknLCAnTm90byBDb2xvciBFbW9qaScsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gVGhlbWUgc3dpdGNoZXIgcm93IOKAlCBjZW50ZXIgdGhlIHRocmVlIG9wdGlvbnMgYXMgYSB0aWdodCBjbHVzdGVyXG4gICAgICAgIC8vIChvdmVycmlkZSB0aGUgY29tcG9uZW50J3MgYGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbmAgKyBwZXItXG4gICAgICAgIC8vIGJ1dHRvbiBsYXRlcmFsIG1hcmdpbnMpIGFuZCBzdHJpcCB0aGUgZ2xvYmFsIG1hdC1tZW51LWl0ZW0gdmVydGljYWxcbiAgICAgICAgLy8gbWFyZ2luIHNvIHRoZSByb3cgaHVncyB0aGUgZGl2aWRlcnMgd2l0aG91dCBleHRyYSBwYWRkaW5nLlxuICAgICAgICAuY29udGFpbmVyLXRoZW1lLFxuICAgICAgICAuY29udGFpbmVyLWxheW91dCxcbiAgICAgICAgLmNvbnRhaW5lci1sYW5ndWFnZS1jb21wYWN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBnYXA6IDRweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC8vIEFjdGl2ZSBvcHRpb24g4oCUIGN1cnNvciBkZWZhdWx0IHPDsyBwcmEgY29tdW5pY2FyIHZpc3VhbG1lbnRlXG4gICAgICAgIC8vIHF1ZSBvIGNlbGwgbsOjbyDDqSBpbnRlcmF0aXZvIChhIGzDs2dpY2EgZGUgbm8tb3AgZXN0w6Egbm9cbiAgICAgICAgLy8gdGVtcGxhdGUgdmlhIGBzdG9wUHJvcGFnYXRpb25gICsgYGRpc2FibGVSaXBwbGVgKS5cbiAgICAgICAgLmNvbnRhaW5lci10aGVtZSAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uLFxuICAgICAgICAuY29udGFpbmVyLWxheW91dCAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uLFxuICAgICAgICAuY29udGFpbmVyLWxhbmd1YWdlLWNvbXBhY3QgLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbiB7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAvLyBgOm5vdCguLi4pYCBidW1wcyBzcGVjaWZpY2l0eSBwYXN0IHRoZSBhdmF0YXItcHJvZmlsZSBjb21wb25lbnQnc1xuICAgICAgICAvLyB2aWV3LWVuY2Fwc3VsYXRlZCBgOmZpcnN0LWNoaWxkYCAvIGA6bGFzdC1jaGlsZGAgbWFyZ2luIHJ1bGVzLlxuICAgICAgICAvLyBXaWRlciA0NMOXMzIgY2VsbHMgd2l0aCBhIDZweC1yYWRpdXMgcGlsbCDigJQgZXh0cmEgaG9yaXpvbnRhbCByb29tXG4gICAgICAgIC8vIGdpdmVzIHRoZSBhY3RpdmUgaGlnaGxpZ2h0IGEgbW9yZSBzdWJzdGFudGlhbCBjaGlwIHdpdGhvdXQgcHVzaGluZ1xuICAgICAgICAvLyB0aGUgYnV0dG9ucyBhcGFydCB2aXN1YWxseS5cbiAgICAgICAgLmNvbnRhaW5lci10aGVtZSAubWF0LW1lbnUtaXRlbTpub3QoLnRwYy1uby1zdWNoLWNsYXNzKSxcbiAgICAgICAgLmNvbnRhaW5lci1sYXlvdXQgLm1hdC1tZW51LWl0ZW06bm90KC50cGMtbm8tc3VjaC1jbGFzcyksXG4gICAgICAgIC5jb250YWluZXItbGFuZ3VhZ2UtY29tcGFjdCAubWF0LW1lbnUtaXRlbTpub3QoLnRwYy1uby1zdWNoLWNsYXNzKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiA0NHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDQ0cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWluLWhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMycHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoZW1lIHN3aXRjaGVyIGljb25zIChsaWdodC9kYXJrL3N5c3RlbSkuIE5vcm1hbGl6ZWQgdG8gdGhlXG4gICAgICAgIC8vIHN5c3RlbS13aWRlIGljb24tYXhpcyBsYWRkZXI6IGB3Z2h0IDMwMCAvIEZJTEwgMGAgYXQgcmVzdCDihpJcbiAgICAgICAgLy8gYHdnaHQgNDAwIC8gRklMTCAxYCB3aGVuIHRoZSBvcHRpb24gaXMgdGhlIGN1cnJlbnQgdGhlbWVcbiAgICAgICAgLy8gKGAuaGlnaGxpZ2h0LWJ1dHRvbmApLiBUaGUgRklMTCB0cmFuc2l0aW9uIGlzIHdoYXQgY2FycmllcyB0aGVcbiAgICAgICAgLy8gXCJzZWxlY3RlZFwiIGN1ZSBoZXJlIChyZXN0IG9mIHRoZSBjaGFpciBVSSBrZWVwcyBGSUxMIDAgYWx3YXlzLFxuICAgICAgICAvLyBidXQgc2VsZWN0aW9uIGluc2lkZSB0aGlzIHdpZGdldCBpcyBleGFjdGx5IHRoZSB1c2UtY2FzZSBmb3JcbiAgICAgICAgLy8gdGhlIGZpbGwgYXhpcyDigJQgc2FtZSBleGNlcHRpb24gd2UgbWFrZSBmb3IgdGhlIGZhdm9yaXRlIHN0YXIpLlxuICAgICAgICAuY29udGFpbmVyLXRoZW1lIC5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbiB7XG4gICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ29wc3onIDIwLCAnd2dodCcgMzAwLCAnRklMTCcgMDtcbiAgICAgICAgICAgIC8vIFNlbSB0cmFuc2nDp8OjbzogbXVkYW7Dp2EgZGUgcGVzby9maWxsIGluc3RhbnTDom5lYSAoZXN0aWxvIG1hY09TKS5cbiAgICAgICAgfVxuICAgICAgICAuY29udGFpbmVyLXRoZW1lIC5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b24gLm1hdC1pY29uIHtcbiAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnb3BzeicgMjAsICd3Z2h0JyA0MDAsICdGSUxMJyAwO1xuICAgICAgICB9XG4gICAgICAgIC8vIFRoZSBhY3RpdmUgdGhlbWUgYnV0dG9uIGlzIGFsc28gYFtkaXNhYmxlZF1gOyBmb3JjZSBmdWxsIG9wYWNpdHlcbiAgICAgICAgLy8gc28gdGhlIGZpbGxlZCBpY29uIHJlYWRzIGFzIGEgc2VsZWN0ZWQgc3RhdGUsIG5vdCBhIGRpbW1lZCBjb250cm9sLlxuICAgICAgICAuY29udGFpbmVyLXRoZW1lIC5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b24sXG4gICAgICAgIC5jb250YWluZXItdGhlbWUgLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbiAubWF0LWljb24ge1xuICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuLy8gQmFycmEgZGUgcm9sYWdlbSBIT1JJWk9OVEFMIGZhbnRhc21hIGRvIG1vZGFsIGRlIGVkacOnw6NvIGRlIHRlbXBsYXRlLiBPIE1hdGVyaWFsIGTDoVxuLy8gYG92ZXJmbG93OiBhdXRvYCBUQU5UTyBubyBgLm1hdC1kaWFsb2ctY29udGFpbmVyYCBRVUFOVE8gbm8gYC5tYXQtZGlhbG9nLWNvbnRlbnRgLCBlXG4vLyBhcGxpY2EgYG1hcmdpbjogMCAtMjRweGAgbm8gY29udGVudCAoY29tIGJveC1zaXppbmcgYm9yZGVyLWJveCBnbG9iYWwsIG8gY29udGVudCBmaWNhXG4vLyA0OHB4IG1haXMgbGFyZ28gcXVlIGEgw6FyZWEgZG8gY29udGFpbmVyLCBlbmNvc3RhbmRvIG5vIHBhZGRpbmcpLiBPIGBvdmVyZmxvdy14OmhpZGRlbmBcbi8vIGRvIGNvbXBvbmVudGUgY29icmUgc8OzIG8gY29udGVudDsgbyBDT05UQUlORVIgY29udGludWF2YSBwb2RlbmRvIHJvbGFyIG5vIGVpeG8gWC4gQ29ydGFyXG4vLyBzw7MgbyBYIG5vIGNvbnRhaW5lciBlbGltaW5hIGEgZmFudGFzbWEgc2VtIGFmZXRhciBvIHNjcm9sbCB2ZXJ0aWNhbCBpbnRlcm5vIGRvIGNvbnRlw7pkby5cbi5lbWFpbC10ZW1wbGF0ZS1lZGl0LWRpYWxvZy1wYW5lbCAubWF0LWRpYWxvZy1jb250YWluZXIge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAvLyBTdXBlcmbDrWNpZSBUSU5HSURBIChjaW56YS1wZWRyYSkgbm8gbGlnaHQsIHAvIG9zIGNhbXBvcyBicmFuY29zIFwiZWxldmFyZW1cIlxuICAgIC8vIChtYWlzIGNvbnRyYXN0ZS9wcm9mdW5kaWRhZGUgcXVlIG8gbW9kYWwgdG9kbyBicmFuY28pLiBEYXJrIHNvYnJlc2NyZXZlIGFiYWl4by5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xMDA7XG59XG5cbi8vIFN1cGVyZsOtY2llIGRvIG1vZGFsIGRlIGVkacOnw6NvIGRlIHRlbXBsYXRlIG5vIERBUksg4oCUIGVzY2FsYSBRVUVOVEUgZG8gSkVNUzNcbi8vIChlbSB2ZXogZG8gY2luemEgZnJpbyBwYWRyw6NvIGRvIE1hdGVyaWFsKSwgZXNjb3BhZGEgYW8gcGFuZWxDbGFzcyBkbyBkacOhbG9nby5cbi8vIE7DrXZlbCBcInN1cGVyZsOtY2llXCIgKCMyNjI2MjYpOyBpbnB1dHMgZmljYW0gcmVjdWFkb3MgKCMyMDIwMjApIGUgY2hpcHMgZWxldmFkb3Ncbi8vICgjMzQzMzJmKSwgZGVmaW5pZG9zIG5vcyByZXNwZWN0aXZvcyBjb21wb25lbnRlcy4gQm9yZGEgZGVzY29sYSBkbyBmdW5kbyBlc2N1cm8uXG4uZGFyay10aGVtZSAuZW1haWwtdGVtcGxhdGUtZWRpdC1kaWFsb2ctcGFuZWwgLm1hdC1kaWFsb2ctY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWFkbWluLWJhY2tncm91bmQtZGFyaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1kYXJrO1xufVxuXG4vLyBQb3BvdmVyIGZsdXR1YW50ZSBkZSBidXNjYSBkZSBkZXN0aW5hdMOhcmlvIChhYmVydG8gcGVsbyBjaGlwIFwiK1wiKS4gQ29udGXDumRvXG4vLyB2aXZlIG5vIG92ZXJsYXkg4oaSIGVzdGlsb3MgZ2xvYmFpcy4gTyBhcHAtdXNlci1zZWFyY2ggZSBvIGJvdMOjbyBcIkFkaWNpb25hclwiXG4vLyBqw6Egc8OjbyB0ZW3DoXRpY29zOyBhcXVpIHPDsyBvIFwiY2FydMOjb1wiICsgcmV0ZW1hdGl6YXIgbyBjYW1wbyBkZSBidXNjYVxuLy8gKHByZXRvIHB1cm8gZG8gdXNlci1zZWFyY2gg4oaSIHJlY3VhZG8pLlxuLnJlY2lwaWVudC1zZWFyY2gtcG9wb3ZlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMC41cmVtO1xuICAgIG1pbi13aWR0aDogMzAwcHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4xNik7XG5cbiAgICAvLyBPIGBhcHAtdXNlci1zZWFyY2hgIHDDtWUgYC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcmAgZW1cbiAgICAvLyBgcG9zaXRpb246IGFic29sdXRlYCAoc2VtIHRvcC9sZWZ0KSBwcmEgYSDDoXJlYSBkZSBoaW50IG7Do28gZGVzYWxpbmhhclxuICAgIC8vIG9zIHZpemluaG9zIGVtIGBhbGlnbi1pdGVtczpjZW50ZXJgLiBEZW50cm8gZG8gcG9wb3ZlciBuw6NvIGjDoSB2aXppbmhvc1xuICAgIC8vIOKAlCBtYXMgbyB3cmFwcGVyIGFic29sdXRlIHBvdXNhIGVtIGNpbWEgZG8gaW5wdXQuIERldm9sdmVtb3MgYW8gZmx1eG8sXG4gICAgLy8gc2VtIHJlc2VydmFyIGVzcGHDp28gcXVhbmRvIG7Do28gaMOhIGhpbnQgKG1hdC1oaW50IGFwYXJlY2Ugc8OzIGVtIGVycm8pOlxuICAgIC8vICAg4oCiIHdyYXBwZXIgYHN0YXRpY2AgbWFzIGNvbGFwc2FkbyAobWluLWhlaWdodDowKSDihpIgc2VtIFwiYnVyYWNvXCIgYWJhaXhvXG4gICAgLy8gICDigKIgbyByZXNwaXJvIGRlIDRweCDDqSBkbyBwcsOzcHJpbyBgLm1hdC1oaW50YCwgcXVlIHPDsyBleGlzdGUgc2UgaG91dmVyXG4gICAgLy8gICAgIG1lbnNhZ2VtIOKAlCBhc3NpbSBvIHBvcG92ZXIgZmljYSBzaW3DqXRyaWNvIHF1YW5kbyBsaW1wby5cbiAgICBhcHAtdXNlci1zZWFyY2ggLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIGFwcC11c2VyLXNlYXJjaCAubWF0LWhpbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDRweDtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIH1cbn1cbi5saWdodC10aGVtZSAucmVjaXBpZW50LXNlYXJjaC1wb3BvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodDtcbn1cbi5kYXJrLXRoZW1lIC5yZWNpcGllbnQtc2VhcmNoLXBvcG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWRhcms7XG4gICAgLm1hdC1mb3JtLWZpZWxkLWZsZXggeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDsgfVxufVxuXG4vLyBTbGFzaCBtZW51IGRlIHZhcmnDoXZlaXMgKGVkaXRvciBkZSB0ZW1wbGF0ZSBkZSBlLW1haWwpIOKAlCBkcm9wZG93biBhbmNvcmFkb1xuLy8gYWJhaXhvIGRvIGNhbXBvIHZpYSBDREsgb3ZlcmxheTsgY29udGXDumRvIHZpdmUgbm8gb3ZlcmxheSAoZ2xvYmFsICsgdGhlbWUtYXdhcmUpLlxuLnZhcmlhYmxlLXNsYXNoLW1lbnUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWF4LWhlaWdodDogMjgwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nOiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXM7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMTYpO1xuXG4gICAgLy8gSXRlbSA9IFtjaGlwIGRhIHZhcmnDoXZlbF0gLSBleHBsaWNhw6fDo28sIG51bWEgbGluaGEgKGEgZXhwbGljYcOnw6NvIHF1ZWJyYVxuICAgIC8vIHNlIGZvciBsb25nYSkuIE8gY2hpcCDDqSBvIE1FU01PIGRvcyBlZGl0b3JlcyAoYC52dGUtY2hpcGApLlxuICAgIC52YXJpYWJsZS1zbGFzaC1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICBnYXA6IDZweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bzsgICAgICAgICAgICAgICAgIC8vIHZlbmNlIG8gZ2xvYmFsIGBidXR0b24geyBoZWlnaHQ6IDM2cHggfWBcbiAgICAgICAgcGFkZGluZzogNXB4IDhweDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgICAgIC8vIENoaXAgZGEgdmFyacOhdmVsIChzZW0gXCLDl1wiIGFxdWkg4oaSIHBhZGRpbmcgZXF1aWxpYnJhZG8pLlxuICAgICAgICAudnRlLWNoaXAge1xuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDhweDtcbiAgICAgICAgfVxuICAgICAgICAudmFyLWRlc2MgeyBmbGV4OiAxIDEgYXV0bzsgbWluLXdpZHRoOiAwOyBmb250LXNpemU6IDEycHg7IGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICB9XG59XG4ubGlnaHQtdGhlbWUgLnZhcmlhYmxlLXNsYXNoLW1lbnUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xuICAgIC52YXJpYWJsZS1zbGFzaC1pdGVtIHtcbiAgICAgICAgLnZhci1kZXNjIHsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICAgICAgICAmOmhvdmVyLCAmLmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQ7IH1cbiAgICB9XG59XG4uZGFyay10aGVtZSAudmFyaWFibGUtc2xhc2gtbWVudSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3ItZGFyaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1kYXJrO1xuICAgIC52YXJpYWJsZS1zbGFzaC1pdGVtIHtcbiAgICAgICAgLnZhci1kZXNjIHsgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAgICAgICAmOmhvdmVyLCAmLmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyazsgfVxuICAgIH1cbn1cblxuLy8gQ2hpcHMgZGUgdmFyacOhdmVsIGRvIGFwcC12YXJpYWJsZS10ZW1wbGF0ZS1lZGl0b3IuIEdMT0JBSVMgcG9ycXVlIG9zIGNoaXBzIHPDo29cbi8vIGNyaWFkb3MgdmlhIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgKHNlbSBvIGF0cmlidXRvIGRlIGVuY2Fwc3VsYcOnw6NvIGRvXG4vLyBjb21wb25lbnRlKSwgZW50w6NvIGVzdGlsb3MgY29tcG9uZW50LXNjb3BlZCBuw6NvIG9zIGFsY2Fuw6dhbS4gUMOtbHVsYVxuLy8gYG5vbWUgw5dgIGNvbSBib3TDo28gZGUgcmVtb8Onw6NvLlxuLnZ0ZS1jaGlwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNHB4O1xuICAgIHBhZGRpbmc6IDAgNHB4IDAgOHB4O1xuICAgIG1hcmdpbjogMCAxcHg7XG4gICAgLy8gRXNxdWVtYSBBWlVMIENMQVJPIChtYWlzIGNvbnRyYXN0ZSkuIFRleHRvL8OXID0gdG9rZW4gZGUgYXp1bCBkZSBwYXBlbFxuICAgIC8vICgkbmF2YmFyLW15LXN1Ym1pc3Npb25zLWljb24tY29sb3IgIzExNDVDMiBsaWdodCAvICM1QzhFRjAgZGFyayk7IGZ1bmRvIGVcbiAgICAvLyBib3JkYSBlbSBhenVsIGNsYXJvIChUYWlsd2luZCBibHVlLTUwLzIwMCkgbm8gbGlnaHQgZSB0aW50YSBhenVsIG5vIGRhcmsuXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2JmZGJmZTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZjZmZjtcbiAgICBjb2xvcjogJG5hdmJhci1teS1zdWJtaXNzaW9ucy1pY29uLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICAudnRlLWNoaXAtcmVtb3ZlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMDBtcyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDEwMG1zIGVhc2U7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNywgNjksIDE5NCwgMC4xNCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4udnRlLXJlYWRvbmx5IC52dGUtY2hpcC1yZW1vdmUgeyBkaXNwbGF5OiBub25lOyB9XG5cbi8vIERlc3RhcXVlIGRvIFBSRVZJRVc6IGZ1bmRvIGF6dWwgY2xhcm8gYXRyw6FzIGRlIGNhZGEgdmFyacOhdmVsIGrDoSBzdWJzdGl0dcOtZGFcbi8vIChnZXJhZG8gcG9yIEpTIG5vIGVkaXRvciDihpIgZ2xvYmFsKS4gU2VtIGJvcmRhOyBzw7MgcmVhbGNlIGRvIHRleHRvLlxuLnZ0ZS1wcmV2aWV3LXZhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZjBmZjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgcGFkZGluZzogMCAycHg7XG59XG4uZGFyay10aGVtZSAudnRlLXByZXZpZXctdmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDkyLCAxNDIsIDI0MCwgMC4zMCk7XG59XG5cbi5kYXJrLXRoZW1lIC52dGUtY2hpcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5MiwgMTQyLCAyNDAsIDAuMjIpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSg5MiwgMTQyLCAyNDAsIDAuNTUpO1xuICAgIGNvbG9yOiAkbmF2YmFyLW15LXN1Ym1pc3Npb25zLWljb24tY29sb3ItZGFyaztcbiAgICAudnRlLWNoaXAtcmVtb3ZlOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5MiwgMTQyLCAyNDAsIDAuMzApOyB9XG59XG5cbi5tZW51LW9wdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAuZGlzYWJsZWQtYnV0dG9uIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgbWF0LWljb24ge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgICB9XG4gICAgLm1hdC1tZW51LWl0ZW0ge1xuICAgICAgICBtYXJnaW46IDJweCA1cHggIWltcG9ydGFudDtcbiAgICB9XG59XG5cblxuLy8gTWVudSBkZSBWSVPDg08gZGUgcGVyZmlsIChwYXBlci1pbmZvKTogbyBpdGVtIFZJR0VOVEUgYXBhcmVjZSBcInNlbGVjaW9uYWRvXCIgZVxuLy8gZmljYSBOw4NPIGNsaWPDoXZlbCAoYFtkaXNhYmxlZF1gIG5vIHRlbXBsYXRlKS4gRGVzLWVzbWFlY2UgbyBkaW0gZG8gZGlzYWJsZWQgZVxuLy8gYXBsaWNhIG8gcmVhbGNlIGRvIGl0ZW0gYXR1YWwuXG4vLyBTRU0gYDo6bmctZGVlcGA6IG8gcGFpbmVsIGRvIG1hdC1tZW51IHZpdmUgbm8gT1ZFUkxBWSAobsOtdmVsIGJvZHkpLCBmb3JhIGRlXG4vLyBxdWFscXVlciBjb21wb25lbnRlLCBlbnTDo28gcHJlY2lzYSBkZSByZWdyYSBHTE9CQUwgcGxhbmEuIERlbnRybyBkZSA6Om5nLWRlZXAsXG4vLyBvIHN0eWxlcy5jc3MgZ2xvYmFsIGVtaXRpYSBgOjpuZy1kZWVwIC52aWV3LXByb2ZpbGUtbWVudeKApmAgKHBzZXVkbyBpbnbDoWxpZG8g4oaSXG4vLyByZWdyYSBkZXNjYXJ0YWRhIHBlbG8gYnJvd3NlcikgZSBvIHJlYWxjZSBzw7MgYXBhcmVjaWEgcXVhbmRvIGFsZ3VtIGNvbXBvbmVudGVcbi8vIHF1ZSBpbXBvcnRhIGVzdGUgYXJxdWl2byBlc3RhdmEgbmEgdGVsYSDigJQgbyBxdWUgTsODTyBvY29ycmUgbmEgcMOhZ2luYSBkbyBjaGFpci5cbi8vIE9ww6fDtWVzIFNFTSDDrWNvbmUgbMOtZGVyLiBSZXNlcnZhbSAyOHB4IMOgIGVzcXVlcmRhIHAvIG8gY2hlY2sgZG8gaXRlbSBhdHVhbFxuLy8gKG1lc21hIG3DqXRyaWNhIGRvIGBhcHAtamVtcy1zZWxlY3RgIC8gYC5qZW1zMy1zZWxlY3QtcGFuZWxgKSwgZW50w6NvIG8gcsOzdHVsb1xuLy8gTsODTyBkZXNsb2NhIHF1YW5kbyBvIGNoZWNrIGFwYXJlY2Uvc29tZS4gYHBvc2l0aW9uOiByZWxhdGl2ZWAgYW5jb3JhIG9cbi8vIGA6OmJlZm9yZWAuIFJlZ3JhcyBQTEFOQVMgKHNlbSBgOjpuZy1kZWVwYCk6IG8gcGFpbmVsIHZpdmUgbm8gb3ZlcmxheSAoYm9keSkgZVxuLy8gbyBibG9jbyBgOjpuZy1kZWVwYCBhY2ltYSDDqSBkcm9wYWRvIG5hIHDDoWdpbmEgZG8gY2hhaXIgKHBzZXVkbyBnbG9iYWwgaW52w6FsaWRvKS5cbi8vIFByZWZpeG8gYC5tYXQtbWVudS1wYW5lbGAg4oaSIHNwZWNpZmljaXR5ICgwLDQsMCkgcC8gVkVOQ0VSIGEgcmVncmEgYmFzZSBkb3Ncbi8vIGl0ZW5zIGVtIGBfY29sb3Itc2NoZW1lLnNjc3NgIChgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW1cbi8vIHsgcGFkZGluZzogMCA4cHggIWltcG9ydGFudCB9YCwgKDAsMywwKSkg4oCUIHNlbSBpc3RvLCBvIHBhZGRpbmctbGVmdCBkZSA4cHggZGFcbi8vIGJhc2UgZ2FuaGEgcG9yIG9yZGVtIGRlIHNvdXJjZSBlIG8gcsOzdHVsbyBjb2xhIG5vIGNoZWNrIChhY2F2YWxhbWVudG8pLlxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUudmlldy1wcm9maWxlLW1lbnUgLm1hdC1tZW51LWl0ZW0sXG4udHBjLXVzZXItbWVudS52aWV3LXByb2ZpbGUtbWVudSAubWF0LW1lbnUtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAyOHB4ICFpbXBvcnRhbnQ7XG59XG4vLyBJdGVtIEFUVUFMOiBtYXJjYWRvIFPDkyBwZWxvIENIRUNLIMOgIEVTUVVFUkRBIChmb250ZSDDum5pY2E6IGBqZW1zLXNlbGVjdGVkLWNoZWNrYCxcbi8vIG8gbWVzbW8gZG8gc2VsZWN0IGdsb2JhbCkuIEZvcmEgbyBjaGVjaywgY29tcG9ydGEtc2UgY29tbyBvcyBkZW1haXMgaXRlbnMg4oCUXG4vLyBpbnRlcmF0aXZvOiByZWFsw6dhIG5vIDpob3ZlciBlIG1vc3RyYSBhIG3Do296aW5oYSAoY2xpY2FyIG5lbGUgw6kgbm8tb3ApLiBOw4NPIGZvcsOnYVxuLy8gbWFpcyBjdXJzb3Ivb3BhY2l0eS9jb2xvcjogZXJhbSByZW1lbmRvcyBkbyBgW2Rpc2FibGVkXWAgKGrDoSByZW1vdmlkbyksIGUgb1xuLy8gYGNvbG9yICFpbXBvcnRhbnRgIGFpbmRhIGF0cmFwYWxoYXJpYSBvIHRleHRvIGJyYW5jbyBkbyBob3ZlciBubyBtYWNPUy5cbi50cGMtdXNlci1tZW51LnZpZXctcHJvZmlsZS1tZW51IC5tYXQtbWVudS1pdGVtLmlzLWN1cnJlbnQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgamVtcy1zZWxlY3RlZC1jaGVjaygkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcik7XG59XG4uZGFyay10aGVtZSAudHBjLXVzZXItbWVudS52aWV3LXByb2ZpbGUtbWVudSAubWF0LW1lbnUtaXRlbS5pcy1jdXJyZW50OjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7ICAgLy8gc8OzIGEgY29yIG11ZGEgbm8gZGFya1xufVxuXG4vLyDilZDilZDilZAgSG92ZXIgZXN0aWxvIG1hY09TIOKAlCBzw7MgYmcgZGUgcm93cyBlc3BlY8OtZmljb3Mg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4vLyBJdGVtIGhvdmVyIGdlcmFsIChiYWNrZ3JvdW5kIEFjY2VudENvbG9yICsgdGV4dG8vw61jb25lL2NoZWNrIGJyYW5jb3MpIGZvaVxuLy8gY29uc29saWRhZG8gbm8gYmxvY28gW01BQy1TVFlMRV0gYWJhaXhvLiBBcXVpIFPDkyBmaWNhbSBvcyBtZW51cyBlc3BlY2lhaXNcbi8vIHF1ZSBwcmVjaXNhbSBiZyBhY2NlbnQgU0VNIHRvY2FyIG5vIGNvbnRlw7pkbyAoY2hpcHMgY29tIGlkZW50aWRhZGUgdmlzdWFsXG4vLyBwcsOzcHJpYSk6IHN0YXR1cy1tZW51LXJvdyBlIGdyb3VwLW1lbnUtcm93IChMaXN0YSBkZSBTdWJtaXNzw7VlcykuXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIHtcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuc3RhdHVzLW1lbnUtcm93OmhvdmVyLFxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5zdGF0dXMtbWVudS1yb3cuYWN0aXZlLFxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdzpob3ZlcixcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuZ3JvdXAtbWVudS1yb3cuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgfVxuICAvLyBcIisgTm92byBHcnVwb1wiIOKAlCBuw6NvIMOpIGNoaXAsIHRlbSBgY29sb3JgIHBpbmFkbyBwZWxvIGAuZ3JvdXAtY2hpcC1tZW51LWJhc2ljYFxuICAvLyAoMCwxLDAgKyBuZ2NvbnRlbnQpOyBmb3LDp2EgYnJhbmNvIHByYSBjb250cmFzdGFyIGNvbSBvIGZ1bmRvIGF6dWwgZG8gcm93LlxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdzpob3ZlciAuZ3JvdXAtY2hpcC1tZW51LWFkZC1ncm91cCxcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuZ3JvdXAtbWVudS1yb3cuYWN0aXZlIC5ncm91cC1jaGlwLW1lbnUtYWRkLWdyb3VwLFxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdzpob3ZlciAuZ3JvdXAtY2hpcC1tZW51LWFkZC1ncm91cCAuaWNvbixcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuZ3JvdXAtbWVudS1yb3cuYWN0aXZlIC5ncm91cC1jaGlwLW1lbnUtYWRkLWdyb3VwIC5pY29uIHtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgfVxufVxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuZGFyay10aGVtZSB7XG4gIC5qZW1zLXBvcG92ZXItcGFuZWwgLnN0YXR1cy1tZW51LXJvdzpob3ZlcixcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuc3RhdHVzLW1lbnUtcm93LmFjdGl2ZSxcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuZ3JvdXAtbWVudS1yb3c6aG92ZXIsXG4gIC5qZW1zLXBvcG92ZXItcGFuZWwgLmdyb3VwLW1lbnUtcm93LmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgfVxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdzpob3ZlciAuZ3JvdXAtY2hpcC1tZW51LWFkZC1ncm91cCxcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuZ3JvdXAtbWVudS1yb3cuYWN0aXZlIC5ncm91cC1jaGlwLW1lbnUtYWRkLWdyb3VwLFxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdzpob3ZlciAuZ3JvdXAtY2hpcC1tZW51LWFkZC1ncm91cCAuaWNvbixcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuZ3JvdXAtbWVudS1yb3cuYWN0aXZlIC5ncm91cC1jaGlwLW1lbnUtYWRkLWdyb3VwIC5pY29uIHtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyDilZDilZDilZAgQW5pbWHDp8OjbyBkZSBhYmVydHVyYSBkbyBwb3BvdmVyIOKAlCBwb3IgT1Mg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4vLyBNYWM6IGluc3RhbnTDom5lbyAocGFkcsOjbyBkbyBOU01lbnUg4oCUIG5hZGEgYXF1aSkuXG4vLyBMaW51eC9HVEsvS0RFIChlIGRlZmF1bHQgYG90aGVyYCk6IGZhZGUgKyBzY2FsZSAoMC444oaSMS4wKSwgMTIwbXMgZWFzZS1vdXQuXG4vLyAgIEVzdGlsbyB0cmFkaWNpb25hbCBkbyBHTk9NRS9HVEs0LiBPcmlnZW0gZG8gc2NhbGUgcmVzcGVpdGEgYC5vcGVucy11cGAuXG4vLyBXaW5kb3dzOiBmYWRlICsgc2xpZGUgdmVydGljYWwgKH44cHgsIGRpcmXDp8OjbyBvcG9zdGEgw6Agw6JuY29yYSksIDE4MG1zXG4vLyAgIGVhc2Utb3V0LiBBbGluaGEgYW8gRmx1ZW50IERlc2lnbiByZWFsICgxMC8xMSkg4oCUIG1lbnVzIGRvIFdpbmRvd3MgbsOjb1xuLy8gICBmYXplbSBcInBlcnNpYW5hXCIsIGZhemVtIGVzc2UgZmFkZStzbGlkZSBzdXRpbC4gU2VtIGVmZWl0byBhY3J5bGljIG5vXG4vLyAgIGZ1bmRvIOKAlCBvIHBhaW5lbCBwZXJtYW5lY2UgY29tIG8gbWVzbW8gYmcgZG8gcmVzdG8gZGEgVUkuXG4vLyBSZWdyYSBlbSBTQ1NTIEdMT0JBTCAobsOjbyBwYXNzYSBwb3IgdmlldyBlbmNhcHN1bGF0aW9uKS5cbjpyb290Om5vdChbZGF0YS1vcz1cIm1hY1wiXSk6bm90KFtkYXRhLW9zPVwid2luZG93c1wiXSkgLmplbXMtcG9wb3Zlci1wYW5lbCB7XG4gIGFuaW1hdGlvbjogamVtcy1wb3BvdmVyLWluIDEyMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xufVxuQGtleWZyYW1lcyBqZW1zLXBvcG92ZXItaW4ge1xuICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOyB9XG4gIHRvICAgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG59XG5cbjpyb290W2RhdGEtb3M9XCJ3aW5kb3dzXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwge1xuICBhbmltYXRpb246IGplbXMtcG9wb3Zlci1pbi13aW4gMTgwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAsIDEpO1xufVxuOnJvb3RbZGF0YS1vcz1cIndpbmRvd3NcIl0gLmplbXMtcG9wb3Zlci1wYW5lbC5vcGVucy11cCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBqZW1zLXBvcG92ZXItaW4td2luLXVwO1xufVxuQGtleWZyYW1lcyBqZW1zLXBvcG92ZXItaW4td2luIHtcbiAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTsgfVxuICB0byAgIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG5Aa2V5ZnJhbWVzIGplbXMtcG9wb3Zlci1pbi13aW4tdXAge1xuICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cbiAgdG8gICB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxufVxuXG4vLyBBY2Vzc2liaWxpZGFkZSDigJQgcXVlbSBwcmVmZXJlIG1vdmltZW50byByZWR1emlkbywgc2VtIGFuaW1hw6fDo28gZW0gTkVOSFVNIFNPLlxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCB7IGFuaW1hdGlvbjogbm9uZTsgfVxufVxuXG5cbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuLy8gVG9rZW5zIGRlIFJFQUxDRSBERSBIT1ZFUiAoYmcgKyBmZyksIGRlcml2YWRvcyBkbyBPUyBudW0gbHVnYXIgc8OzLiBBIHJlZ3JhXG4vLyBcIm1hYyDihpIgYWNjZW50IGRvIHNpc3RlbWEgKGF6dWwpIGNvbSB0ZXh0byBicmFuY287IGRlbWFpcyBPUyDihpIgY2luemEgbmV1dHJvIGRvXG4vLyBtZW51XCIgbW9yYSBBUVVJLCBuw6NvIGVzcGFsaGFkYSBwb3Igc2VsZXRvci4gQ29tcG9uZW50ZXMgZmF6ZW0sIG5vIGhvdmVyOlxuLy8gICBiYWNrZ3JvdW5kOiB2YXIoLS1qZW1zLWhvdmVyLWJnKTsgIGNvbG9yOiB2YXIoLS1qZW1zLWhvdmVyLWZnKTtcbi8vIGUgaGVyZGFtIG8gY29tcG9ydGFtZW50byBwb3IgT1MgYXV0b21hdGljYW1lbnRlIChleC46IGAuY29sdW1ucy1tZW51LWJ1dHRvbmApLlxuLy8gYC0tamVtcy1ob3Zlci1mZ2AgZ3VhcmRhIGEgY29yIE5PUk1BTCBkbyB0ZXh0byBubyBuw6NvLW1hYyAobsOjbyBgaW5oZXJpdGA6IGNvbW9cbi8vIGN1c3RvbSBwcm9wZXJ0eSwgYGluaGVyaXRgIHZpcmFyaWEga2V5d29yZCBlIG7Do28gdW0gdmFsb3IgdXPDoXZlbCBlbSB2YXIoKSkuXG4vLyBJTVBPUlRBTlRFOiBhIGNsYXNzZSBkZSB0ZW1hIChgLmRhcmstdGhlbWVgKSB2aXZlIG5vIGA8Ym9keT5gLCBlbnTDo28gZWxhXG4vLyByZWRlY2xhcmEgYSB2YXJpw6F2ZWwgQUJBSVhPIGRvIGA6cm9vdFtkYXRhLW9zPVwibWFjXCJdYCAobm8gYDxodG1sPmApIGUgdmVuY2VyaWFcbi8vIHBvciBoZXJhbsOnYSBkZSBET00gbm8gbWFjLWRhcmsgKGNpbnphIG5vIGx1Z2FyIGRvIGFjY2VudCkuIFBvciBpc3NvIG8gb3ZlcnJpZGVcbi8vIGRhcmsgw6kgZXNjb3BhZG8gYSBgOnJvb3Q6bm90KFtkYXRhLW9zPVwibWFjXCJdKWAg4oCUIG5vIG1hYyAobGlnaHQgT1UgZGFyaykgc8OzIHZhbGVcbi8vIG8gYDpyb290W2RhdGEtb3M9XCJtYWNcIl1gIGRvIGA8aHRtbD5gLCBlIG8gQWNjZW50Q29sb3IgasOhIMOpIHRoZW1lLWF3YXJlIHBlbG8gT1MuXG46cm9vdCB7XG4gIC0tamVtcy1ob3Zlci1iZzogI3skc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kfTtcbiAgLS1qZW1zLWhvdmVyLWZnOiAjeyRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yfTtcbn1cbjpyb290Om5vdChbZGF0YS1vcz1cIm1hY1wiXSkgLmRhcmstdGhlbWUge1xuICAtLWplbXMtaG92ZXItYmc6ICN7JHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrfTtcbiAgLS1qZW1zLWhvdmVyLWZnOiAjeyRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmt9O1xufVxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSB7XG4gIC0tamVtcy1ob3Zlci1iZzogQWNjZW50Q29sb3I7XG4gIC0tamVtcy1ob3Zlci1mZzogI2ZmZjtcbn1cblxuLy8g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4vLyBbTUFDLVNUWUxFIOKAlCBSRU1PVkVSIFBSQSBSRVZFUlRFUl0gRXN0aWxvIG1hY09TLWxpa2Ugbm9zIG1lbnVzL2Ryb3Bkb3ducy5cbi8vIEdhdGUgw7puaWNvOiBgOnJvb3RbZGF0YS1vcz1cIm1hY1wiXWAgKGNhcmltYmFkbyBwb3IgYGJpbmRPc0NsYXNzVG9Sb290KClgIGVtXG4vLyBgZGV2aWNlLnRzYCwgY2hhbWFkbyBubyBib290c3RyYXAgcG9yIGBCYXNlQ29tcG9uZW50YCkuIFRyb2NhciB2aWEgRGV2VG9vbHM6XG4vLyAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kYXRhc2V0Lm9zID0gJ3dpbmRvd3MnICAgKG91ICdsaW51eCcvJ21hYycpXG4vL1xuLy8gRXNjb3BvOiBpdGVucyBkZSBUT0RBUyBhcyBmYW3DrWxpYXMgZGUgZHJvcGRvd24gSkVNUzMgKGTDqWJpdG8gY29uaGVjaWRvIOKAlFxuLy8gdmVyIG1lbcOzcmlhIGBwcm9qZWN0X2Rlc2lnbl9zeXN0ZW1fbWlncmF0aW9uX2RlYnRgKTpcbi8vICAg4oCiIHBvcG92ZXIgaXRlbXMgKG1hdC1tZW51LWl0ZW0sIFtyb2xlPW1lbnVpdGVtXSwgamVtcy1zZWxlY3Qtb3B0aW9uKVxuLy8gICDigKIgbWF0LXNlbGVjdCAvIG1hdC1hdXRvY29tcGxldGUgKC5tYXQtb3B0aW9uKVxuLy9cbi8vIENvbXBvcnRhbWVudG86XG4vLyAgIOKAoiBGb250IHNtb290aGluZyBzdWJwaXhlbCAobWF0Y2hpbmcgc3RlbXMgbWFpcyBncm9zc29zIGRvIHNpc3RlbWEpXG4vLyAgIOKAoiBIb3Zlci9hY3RpdmUgYmcgPSBgQWNjZW50Q29sb3JgIChDU1MgQ29sb3IgTDUsIHJlc29sdmUgcHJvIGFjY2VudCBPUylcbi8vICAg4oCiIFRleHRvL8OtY29uZS9jaGVjayBwaW50YW0gYnJhbmNvIHByYSBjb250cmFzdGVcbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuXG4vLyBGb250IHNtb290aGluZzogbWF0Y2hpbmcgbyByZW5kZXJpbmcgbmF0aXZvIGRvcyBtZW51cyBtYWNPUyAoc3VicGl4ZWwpLlxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5tYXQtbWVudS1pdGVtLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIFtyb2xlPVwibWVudWl0ZW1cIl0sXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgLmplbXMtc2VsZWN0LW9wdGlvbixcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1zZWxlY3QtcGFuZWwgLm1hdC1vcHRpb24sXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIC5tYXQtb3B0aW9uIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xufVxuXG4vLyBIb3Zlci9hY3RpdmUgYmcgKyB0ZXh0by/DrWNvbmUgYnJhbmNvcy4gYDpyb290W2RhdGEtb3M9XCJtYWNcIl1gIGNvbXBvdW5kIGNvbVxuLy8gZHVwbGljYcOnw6NvIGRlIHNlbGV0b3JlcyBiYXNlIChgLm1hdC1vcHRpb24ubWF0LW9wdGlvbmAsIGAuamVtcy1zZWxlY3Qtb3B0aW9uXG4vLyAuamVtcy1zZWxlY3Qtb3B0aW9uYCkgc29iZSBzcGVjaWZpY2l0eSBwcmEgYmF0ZXIgYXMgcmVncmFzIGNoYWlyLXN0eWxlXG4vLyBleGlzdGVudGVzIChgX2NvbG9yLXNjaGVtZS5zY3NzYCAwLDUsMCBlIDAsNiwwKSBzZW0gYCFpbXBvcnRhbnRgIGFjdW11bGFyXG4vLyBtYWlzIGZ1bmRvLiBDb21iaW5hIGxpZ2h0K2RhcmsgYXV0b21hdGljYW1lbnRlIChBY2NlbnRDb2xvci9BY2NlbnRDb2xvclRleHRcbi8vIGrDoSBzw6NvIHRoZW1lLWF3YXJlIHBlbG8gT1MpLlxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5tYXQtbWVudS1pdGVtLm1hdC1tZW51LWl0ZW06aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIFtyb2xlPVwibWVudWl0ZW1cIl06aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5qZW1zLXNlbGVjdC1vcHRpb24uamVtcy1zZWxlY3Qtb3B0aW9uOmhvdmVyLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5qZW1zLXNlbGVjdC1vcHRpb24uamVtcy1zZWxlY3Qtb3B0aW9uLmFjdGl2ZSxcbi8vIGAuY2RrLWtleWJvYXJkLWZvY3VzZWRgIChuw6NvIGAubWF0LWFjdGl2ZWApIHBhcmEgbyByZWFsY2UgcG9yIFRFQ0xBRE86IGAubWF0LWFjdGl2ZWAgw6kgb1xuLy8gbWFyY2Fkb3IgZG8gTGlzdEtleU1hbmFnZXIgcXVlIG8gQ0RLIHDDtWUgbmEgUFJJTUVJUkEgb3DDp8OjbyBhbyBBQlJJUiBvIHBhaW5lbCAoc2VtIHNlbGXDp8OjbyksXG4vLyBlbnTDo28gcGludMOhLWxvIGNvbSBBY2NlbnRDb2xvciBkYXZhIG8gZnVuZG8gYWNjZW50IGluZGVzZWphZG8gbG9nbyBubyBvcGVuLiBBY2NlbnQgc8OzIG5vXG4vLyBtb3VzZSAoOmhvdmVyKSBlIG5vIGZvY28gcG9yIHRlY2xhZG8g4oCUIGlndWFsIMOgIG5ldXRyYWxpemHDp8OjbyBlbSBfY29sb3Itc2NoZW1lLnNjc3MuXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtc2VsZWN0LXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1vcHRpb246aG92ZXI6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1zZWxlY3QtcGFuZWwgLm1hdC1vcHRpb24ubWF0LW9wdGlvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCAubWF0LW9wdGlvbi5tYXQtb3B0aW9uOmhvdmVyOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCksXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1vcHRpb24uY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEFjY2VudENvbG9yICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG5cbi8vIENvciBicmFuY2EgY29icmUgVEVYVC1DT05URU5UICsgw61jb25lcyArIHNwYW4gaW50ZXJubyBgLm1hdC1vcHRpb24tdGV4dGAuXG4vLyAobyBjYXNjYWRlIGRvIGNvbG9yIGRvIGl0ZW0gcG9kZSBzZXIgcGVyZGlkbyBlbSBzcGFucyBjb20gY29sb3IgcHLDs3ByaW87XG4vLyBhcXVpIGdhcmFudGltb3MgZXhwbMOtY2l0by4pXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgLm1hdC1tZW51LWl0ZW06aG92ZXIgLm1hdC1pY29uLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIFtyb2xlPVwibWVudWl0ZW1cIl06aG92ZXIgLm1hdC1pY29uLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5qZW1zLXNlbGVjdC1vcHRpb246aG92ZXIgLm1hdC1pY29uLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5qZW1zLXNlbGVjdC1vcHRpb24uYWN0aXZlIC5tYXQtaWNvbixcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAuamVtcy1zZWxlY3Qtb3B0aW9uOmhvdmVyIC5tYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5qZW1zLXNlbGVjdC1vcHRpb24uYWN0aXZlIC5tYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LXNlbGVjdC1wYW5lbDpub3QoLnN0YXR1cy1jaGlwLXNlbGVjdC1wYW5lbCkgLm1hdC1vcHRpb246aG92ZXIgLm1hdC1pY29uLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LXNlbGVjdC1wYW5lbDpub3QoLnN0YXR1cy1jaGlwLXNlbGVjdC1wYW5lbCkgLm1hdC1vcHRpb24uY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1pY29uLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCAubWF0LW9wdGlvbjpob3ZlciAubWF0LWljb24sXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIC5tYXQtb3B0aW9uLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtaWNvbixcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1zZWxlY3QtcGFuZWw6bm90KC5zdGF0dXMtY2hpcC1zZWxlY3QtcGFuZWwpIC5tYXQtb3B0aW9uOmhvdmVyIC5tYXQtb3B0aW9uLXRleHQsXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtc2VsZWN0LXBhbmVsOm5vdCguc3RhdHVzLWNoaXAtc2VsZWN0LXBhbmVsKSAubWF0LW9wdGlvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LW9wdGlvbi10ZXh0LFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCAubWF0LW9wdGlvbjpob3ZlciAubWF0LW9wdGlvbi10ZXh0LFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCAubWF0LW9wdGlvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LW9wdGlvbi10ZXh0IHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLy8gQ2hlY2sgZGEgb3DDp8OjbyBzZWxlY2lvbmFkYSAoYDo6YmVmb3JlYCBkbyBtaXhpbiBgamVtcy1zZWxlY3RlZC1jaGVja2AsIENTU1xuLy8gbWFzaykuIFVzYSBgYmFja2dyb3VuZC1jb2xvcmAgY29tbyBmaWxsIChOw4NPIGBjb2xvcmApLiBDb2JyZTpcbi8vICAg4oCiIGFwcC1qZW1zLXNlbGVjdDogYC5qZW1zLXNlbGVjdC1vcHRpb24uc2VsZWN0ZWQ6OmJlZm9yZWBcbi8vICAg4oCiIG1hdC1zZWxlY3Q6IGAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6OmJlZm9yZWBcbi8vICAg4oCiIHZpZXctcHJvZmlsZS1tZW51IChhcHAtcG9wb3ZlciBjb20gaXMtY3VycmVudCk6IGAubWF0LW1lbnUtaXRlbS5pcy1jdXJyZW50OjpiZWZvcmVgXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgLmplbXMtc2VsZWN0LW9wdGlvbi5zZWxlY3RlZDpob3Zlcjo6YmVmb3JlLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5qZW1zLXNlbGVjdC1vcHRpb24uc2VsZWN0ZWQuYWN0aXZlOjpiZWZvcmUsXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgLmplbXMtc2VsZWN0LW9wdGlvbjpob3Zlcjo6YmVmb3JlLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5qZW1zLXNlbGVjdC1vcHRpb24uYWN0aXZlOjpiZWZvcmUsXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgLm1hdC1tZW51LWl0ZW0uaXMtY3VycmVudDpob3Zlcjo6YmVmb3JlLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LXNlbGVjdC1wYW5lbCAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6aG92ZXI6OmJlZm9yZSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1zZWxlY3QtcGFuZWwgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkLm1hdC1hY3RpdmU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cbiIsIkBpbXBvcnQgJ2NvbG9ycyc7XG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG5AbWl4aW4gc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wICgkY29tcG9uZW50LCAkc2VsZWN0b3IsICRwcm9wLCAkbGlnaHRWYWx1ZSwgJGRhcmtWYWx1ZSkge1xuICAgIC5saWdodC10aGVtZSB7XG4gICAgICAjeyRjb21wb25lbnR9ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICN7JHByb3B9OiAkbGlnaHRWYWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmRhcmstdGhlbWUge1xuICAgICAgI3skY29tcG9uZW50fSAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICN7JHByb3B9OiAkZGFya1ZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4vLyBDaGVjayBcInNlbGVjaW9uYWRvXCIgYW8gZXN0aWxvIFNGIFN5bWJvbHMgKG1hY09TKTogcXVhZHJhZG8gMTTDlzE0IGFuY29yYWRvIMOgXG4vLyBFU1FVRVJEQSBkYSBvcMOnw6NvIChhYnNvbHV0ZSArIHZlcnRpY2FsLWNlbnRlciksIGRlc2VuaGFkbyBwb3IgU1ZHLW1hc2sgZVxuLy8gcGludGFkbyB2aWEgYGJhY2tncm91bmQtY29sb3JgICh0aGVtZS1hd2FyZSBwZWxhIGNvciBwYXNzYWRhKS4gRm9udGUgw5pOSUNBIGRvXG4vLyBjaGVjayB1c2FkbyBubyBgYXBwLWplbXMtc2VsZWN0YCwgbm8gZmlsdHJvIGAuamVtczMtc2VsZWN0LXBhbmVsYCBlIG5vIG1lbnVcbi8vIHNlbGV0b3IgZGUgcGVyZmlsIChwYXBlci1pbmZvKS4gQSBvcMOnw6NvIHF1ZSByZWNlYmUgcHJlY2lzYSBkZVxuLy8gYHBvc2l0aW9uOiByZWxhdGl2ZWAgZSByZXNlcnZhciB+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+MnB4IGFiYWl4byBkbyBjaGVja2JveCBwZWxhIGJhc2VsaW5lLCBtZXNtbyBjb20gb1xuICAvLyBgYWxpZ24taXRlbXM6IGNlbnRlcmAgZGEgb3DDp8OjbyAobWVkaWRvIG5vIERPTSkuIFNvYmUgMnB4IHByYSBjZW50cmFsaXphciBjb20gb1xuICAvLyBjaGVja2JveC4gRXNjb3BhZG8gYW8gcGFpbmVsIOKAlCBubyBnYXRpbGhvIGZlY2hhZG8gKHNlbSBjaGVja2JveCkgbyBjaGlwIG7Do28gbXVkYS5cbiAgLnN0YXR1cy1jaGlwLWZpbHRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTJweDtcbiAgfVxuXG4gIC8vIFJlc3Bpcm8gdmVydGljYWwgZW50cmUgb3Mgc3RhdHVzIChzw7MgbmVzdGUgbWVudSk6IGFzIHDDrWx1bGFzIGRlIHN0YXR1cyBwZWRlbVxuICAvLyBtYWlzIGZvbGdhIHF1ZSBvcyBpdGVucyBkZSB0ZXh0byBkb3MgZGVtYWlzIGZpbHRyb3MuIFNvYnJlc2NyZXZlIG8gYG1hcmdpbjogMGBcbiAgLy8gZG8gYC5qZW1zMy1zZWxlY3QtcGFuZWwgLm1hdC1vcHRpb25gICh2ZW5jZSBwb3IgdmlyIGRlcG9pcyBuYSBmb250ZSkuXG4gIC5tYXQtb3B0aW9uIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgLy8gTyBNYXRlcmlhbCBhcGxpY2EgYG92ZXJmbG93OiBoaWRkZW5gIG5vIGAubWF0LW9wdGlvbmAgKHByYSBlbGxpcHNpcyBkbyB0ZXh0byksXG4gICAgLy8gbyBxdWUgQ0xJUEEgYSBzb21icmEgZG9zIGNoaXBzIGRlIHN0YXR1cy4gQXF1aSBvIHLDs3R1bG8gdml2ZSBERU5UUk8gZG8gY2hpcFxuICAgIC8vIChuw6NvIG5hIG9ww6fDo28pLCBlbnTDo28gbGliZXJhciBvIG92ZXJmbG93IG7Do28gYWZldGEgdHJ1bmNhbWVudG8gZSBkZWl4YSBhXG4gICAgLy8gc29tYnJhIGVtYm9zc2VkIGRvIGNoaXAgYXBhcmVjZXIgaW50ZWlyYS5cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuICAubWF0LW9wdGlvbjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAvLyBPIE1hdGVyaWFsIGFwbGljYSBgb3ZlcmZsb3c6IGhpZGRlbmAgVEFNQsOJTSBubyBgLm1hdC1vcHRpb24tdGV4dGAgKHNwYW4gaW50ZXJub1xuICAvLyBxdWUgw6kgbyBwYWkgRElSRVRPIGRvIGNoaXApIOKAlCDDqSBFTEUgcXVlbSBjb3J0YXZhIGEgc29tYnJhIGVtYm9zc2VkIGRvIGNoaXBcbiAgLy8gKG1lZGlkbyBubyBET00pLiBMaWJlcmFtb3MgYXF1aTsgbyByw7N0dWxvIHZpdmUgZGVudHJvIGRvIGNoaXAsIHNlbSB0cnVuY2FtZW50by5cbiAgLm1hdC1vcHRpb24tdGV4dCB7IG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbiAgLy8gU2VtIGFuaW1hw6fDo28gZGUgY2xpcXVlIChyaXBwbGUpIG5hcyBvcMOnw7VlcyDigJQgY2xpcXVlIGRpcmV0bywgc2VtIFwib25kYVwiLlxuICAubWF0LW9wdGlvbi1yaXBwbGUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gSG92ZXIvZm9jbyBkYXMgb3DDp8O1ZXMgPSBNRVNNQSBjb3IgZG8gbWVudSBkZSBzdGF0dXMgKG15LXNlbGVjdC1zdGF0dXMtcGFuZWwpIGRvXG4vLyBMaXN0YXIgc3VibWlzc8O1ZXM6IGRhcmtlbiA3JSBubyBsaWdodCwgbGlnaHRlbiA3JSBubyBkYXJrLiBWZW5jZSBvIGhvdmVyIEpFTVMzXG4vLyBwYWRyw6NvIChvIHBhaW5lbCB0YW1iw6ltIHRlbSBhIGNsYXNzZSBqZW1zMy1zZWxlY3QtcGFuZWwpIHBvciB2aXIgREVQT0lTIG5hIGZvbnRlLlxuLmxpZ2h0LXRoZW1lIC5tYXQtc2VsZWN0LXBhbmVsLnN0YXR1cy1jaGlwLXNlbGVjdC1wYW5lbCB7XG4gIC5tYXQtb3B0aW9uOmhvdmVyOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCksXG4gIC5tYXQtb3B0aW9uLmNkay1rZXlib2FyZC1mb2N1c2VkIHsgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQsIDclKSAhaW1wb3J0YW50OyB9XG4gIC8vIGAubWF0LWFjdGl2ZWAgPSBwcmltZWlyYSBvcMOnw6NvIHF1YW5kbyBvIHBhaW5lbCBhYnJlIHNlbSBzZWxlw6fDo28gKGZvY29cbiAgLy8gcHJvZ3JhbcOhdGljbyBkbyBNYXRlcmlhbCkuIERlZmF1bHQgZG8gTWF0ZXJpYWwgcGludGEgYWNjZW50IOKAlCB6ZXJhbW9zXG4gIC8vIHByYSBxdWUgYWJyaXIgbyBtZW51IG7Do28gcGFyZcOnYSBcImFsZ28gasOhIG1hcmNhZG9cIi5cbiAgLm1hdC1vcHRpb24ubWF0LWFjdGl2ZTpub3QoOmhvdmVyKTpub3QoLmNkay1rZXlib2FyZC1mb2N1c2VkKSB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbn1cbi5kYXJrLXRoZW1lIC5tYXQtc2VsZWN0LXBhbmVsLnN0YXR1cy1jaGlwLXNlbGVjdC1wYW5lbCB7XG4gIC5tYXQtb3B0aW9uOmhvdmVyOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCksXG4gIC5tYXQtb3B0aW9uLmNkay1rZXlib2FyZC1mb2N1c2VkIHsgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmssIDclKSAhaW1wb3J0YW50OyB9XG4gIC5tYXQtb3B0aW9uLm1hdC1hY3RpdmU6bm90KDpob3Zlcik6bm90KC5jZGsta2V5Ym9hcmQtZm9jdXNlZCkgeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG59XG5cbi5kYXJrLXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IHtcblxuICAvLyBDb3IgLyDDrWNvbmUgLyBob3ZlciBkb3MgaXRlbnMgdsOqbSBkbyBibG9jbyBhZGl0aXZvIGdsb2JhbCAoLmRhcmstdGhlbWVcbiAgLy8geyAuLi4gLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0gfSkuIEFxdWkgc8OzIG9zXG4gIC8vIHNlbGV0b3JlcyBlc3BlY8OtZmljb3MgZG8gYXZhdGFyLXByb2ZpbGUgKHRoZW1lL2xheW91dC9sYW5ndWFnZSkuXG5cbiAgLy8gVGhlbWUvbGF5b3V0IHN3aXRjaGVyIGhvdmVyIOKAlCBkYXJrLW1vZGUgY291bnRlcnBhcnQgb2YgdGhlIHJ1bGUgYWJvdmUuXG4gIC5jb250YWluZXItdGhlbWUgLm1hdC1tZW51LWl0ZW06aG92ZXI6bm90KFtkaXNhYmxlZF0pOm5vdCguaGlnaGxpZ2h0LWJ1dHRvbiksXG4gIC5jb250YWluZXItbGF5b3V0IC5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKTpub3QoLmhpZ2hsaWdodC1idXR0b24pLFxuICAuY29udGFpbmVyLWxhbmd1YWdlLWNvbXBhY3QgLm1hdC1tZW51LWl0ZW06aG92ZXI6bm90KFtkaXNhYmxlZF0pOm5vdCguaGlnaGxpZ2h0LWJ1dHRvbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayAhaW1wb3J0YW50O1xuXG4gICAgLm1hdC1pY29uLFxuICAgIC5sYXlvdXQtaWNvbiB7XG4gICAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmsgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgLmNvbnRhaW5lci10aGVtZSAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uLFxuICAuY29udGFpbmVyLWxheW91dCAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uLFxuICAuY29udGFpbmVyLWxhbmd1YWdlLWNvbXBhY3QgLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cblxufVxuXG4vKiBhcHAtZXZlbnQtd2l6YXJkICovXG4vLyBgLnRhc2stdGV4dGAgYWdvcmEgdml2ZSBkZW50cm8gZGUgYG1hdC1jYXJkLmFkbWluLWV2ZW50YCAoY2FudmFzIGRvIGNoYWlyIFVJKVxuLy8g4oCUIHVzYSBvIG1lc21vIHRva2VuIGRlIHRleHRvIGJvZHkgcXVlIG8gcmVzdG8gZG8gY2FudmFzICg9IHNpZGViYXIgbGV2ZWwtMlxuLy8gcmVzdCksIG7Do28gcHJldG8vYnJhbmNvIHB1cm9zIGxlZ2FjeS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtd2l6YXJkLCAnLnRhc2stdGV4dCcsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG4vLyBTZWN0aW9uIGRpdmlkZXIgY29sb3Ig4oCUIGdsb2JhbCwgYXBsaWNhZG8gZW0gdG9kYXMgYXMgdHJhbnNpw6fDtWVzIGVudHJlXG4vLyBzZcOnw7VlcyBhZGphY2VudGVzIGRvIGNoYWlyIFVJIChjaGVja2xpc3QsIHJldmlld3MtY29uZmlndXJhdGlvbiwgZXRjKS5cbi8vIEVzdHJ1dHVyYSBkbyBkaXZpZGVyIChib3JkZXItdG9wLXdpZHRoLCBtYXJnaW4tdG9wLCBwYWRkaW5nLXRvcCkgdmVtIGRvXG4vLyBnbG9iYWwgZW0gYF9zdHJ1Y3R1cmUuc2Nzc2AuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcuc2VjdGlvbiArIC5zZWN0aW9uJywgYm9yZGVyLXRvcC1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQsICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLnNlY3Rpb24gKyAucm93LW1kJywgYm9yZGVyLXRvcC1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQsICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLnJvdy1tZCArIC5zZWN0aW9uJywgYm9yZGVyLXRvcC1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQsICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuXG4vLyBWZXJ0aWNhbCBndWlkZSBsaW5lIGRvIGAuZGVwZW5kZW50LW9wdGlvbmAg4oCUIGNoZWNrYm94IGNoaWxkIGRlIG91dHJvXG4vLyBjaGVja2JveC4gTWVzbWEgY29yIGRhcyBkaXZpZGVycyBwYXJhIGNvZXLDqm5jaWEgdmlzdWFsLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcucmV2aWV3LXNldHRpbmdzJywgJy5kZXBlbmRlbnQtb3B0aW9uOjpiZWZvcmUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG5cbi8vIEZsb2F0aW5nIHN1Ym1pdCBiYXIgKGFwcC1mbG9hdGluZy1zdWJtaXQtYmFyKTogQVQgSE9NRSAoc2VtIC5hd2F5LWZyb20taG9tZSlcbi8vIMOpIHRyYW5zcGFyZW50ZSwgaW4gZmxvdyBubyBzbG90LiBBV0FZIEZST00gSE9NRSB2aXJhIGZpeGVkIG5vIGJvdHRvbSBkb1xuLy8gdmlld3BvcnQgY29tIGJnIGNhbnZhcyAoYWRtaW4tYmFja2dyb3VuZCkg4oCUIGzDqiBjb21vIFwiZXh0ZW5zw6NvIGZsdXR1YW50ZVwiXG4vLyBkbyBjYW52YXMsIGNvbSBzaGFkb3cgcmVmb3LDp2FuZG8gZWxldmHDp8Ojby4gUmVncmFzIGdsb2JhaXMgKHNlbSBwcmVmaXhvIGRlXG4vLyBww6FnaW5hKSBwb3JxdWUgbyBjb21wb25lbnRlIMOpIGNvbXBhcnRpbGhhZG8gcG9yIHJldmlld3MtY29uZmlndXJhdGlvbixcbi8vIGNoZWNrbGlzdCwgZSBmdXR1cmFzIHDDoWdpbmFzLWZvcm0uXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ2FwcC1mbG9hdGluZy1zdWJtaXQtYmFyJywgJy5zdWJtaXQtYWN0aW9ucy5hd2F5LWZyb20taG9tZScsIGJhY2tncm91bmQtY29sb3IsICRhZG1pbi1iYWNrZ3JvdW5kLCAkYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnYXBwLWZsb2F0aW5nLXN1Ym1pdC1iYXInLCAnLnN1Ym1pdC1hY3Rpb25zLmF3YXktZnJvbS1ob21lJywgYm9yZGVyLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG4vLyBTaGFkb3cgdGhlbWUtYXdhcmU6IDAuMTIgYmxhY2sgZW0gbGlnaHQgKHN1dGlsIHNvYnJlIGNhbnZhcyBicmFuY28pIC9cbi8vIDAuNiBibGFjayBlbSBkYXJrIChwcmVjaXNhIGRlIG11aXRvIG1haXMgb3BhY2lkYWRlIHByYSBjcmlhciBsaWZ0XG4vLyBwZXJjZXB0w612ZWwgY29udHJhIGNhbnZhcyBlc2N1cm8pLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdhcHAtZmxvYXRpbmctc3VibWl0LWJhcicsICcuc3VibWl0LWFjdGlvbnMuYXdheS1mcm9tLWhvbWUnLCBib3gtc2hhZG93LCAwIDhweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgOHB4IDI0cHggcmdiYSgwLCAwLCAwLCAwLjYpKTtcblxuLy8gQ29uZmlybWF0aW9uIGRpYWxvZyAocmVkZXNpZ24gY2hhaXIgVUkpIOKAlCBjw61yY3VsbyB3YXJtLXN0b25lIGRpc2NyZXRvXG4vLyBubyDDrWNvbmUsIHRpcG9ncmFmaWEgZW0gZHVhcyB0b25hbGlkYWRlcy4gVmFyaWFudGUgXCJ3YXJuaW5nXCIgdXNhIGFtYmVyXG4vLyBzdWF2ZSAoY29yIGRlIGF2aXNvIGhpc3TDs3JpY2EpLCBcInN1Y2Nlc3NcIiB1c2EgdmVyZGUgZGEgYW5pbWHDp8Ojby5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLmNvbmZpcm1hdGlvbi1kaWFsb2cnLCAnLmRpYWxvZy1pY29uLXdyYXAnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS01MCwgJGdyYXktNzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLmNvbmZpcm1hdGlvbi1kaWFsb2cnLCAnLmRpYWxvZy1pY29uLXF1ZXN0aW9uJywgY29sb3IsICRncmF5LTcwMCwgJGdyYXktMjAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLmNvbmZpcm1hdGlvbi1kaWFsb2cnLCAnLmRpYWxvZy1pY29uLXdhcm5pbmcnLCBjb2xvciwgI0I0NTMwOSwgI0ZDRDM0RCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5jb25maXJtYXRpb24tZGlhbG9nJywgJy5kaWFsb2ctaWNvbi1zdWNjZXNzJywgY29sb3IsICMxNTgwM0QsICM0QURFODApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuY29uZmlybWF0aW9uLWRpYWxvZycsICcuZGlhbG9nLXRpdGxlJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLmNvbmZpcm1hdGlvbi1kaWFsb2cnLCAnLmRpYWxvZy1jb250ZW50JywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcblxuLyogbWF0LWNhcmQgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChtYXQtY2FyZCwgJ21hdC1jYXJkLXRpdGxlJywgY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAkd2hpdGUtMTAwMCk7XG4vLyBDYXJkcyBsZWdhZG9zIChiYXNlLWNhcmQvZXZlbnQvdHJhY2spIGNvbnZlcmdpZG9zIGFvIHBhZHLDo28gY2Fuw7RuaWNvXG4vLyBgbWF0LWNhcmQuYWRtaW4tZXZlbnRgOiBzdXBlcmbDrWNpZSB3YXJtLXN0b25lICgkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvciA9XG4vLyAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kKSArIGJvcmRhIDFweCBjaHJvbWUsIHNlbSBzb21icmEgKGFudGVzOiBjaW56YSBmcmlvXG4vLyAjZWRlZGVkIHNlbSBib3JkYSkuIEFzIHN1cHJlc3PDtWVzIGBib3JkZXI6IDBgIG5vcyBjb21wb25lbnQtc2NzcyB2ZW5jZW0gcG9yXG4vLyBlc3BlY2lmaWNpZGFkZSwgZW50w6NvIGZvcmFtIHJlbW92aWRhcyBlbSBldmVudC12aWV3L3RyYWNrcy5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnbWF0LWNhcmQuYmFzZS1jYXJkJywgJycsIGJhY2tncm91bmQtY29sb3IsICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yLCAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnbWF0LWNhcmQuYmFzZS1jYXJkJywgJycsIGJvcmRlciwgMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAxcHggc29saWQgJGNocm9tZS1ib3JkZXItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ21hdC1jYXJkLmJhc2UtY2FyZCcsICcnLCBjb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnbWF0LWNhcmQuZXZlbnQnLCBcIlwiLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvciwgJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ21hdC1jYXJkLmV2ZW50JywgXCJcIiwgYm9yZGVyLCAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQsIDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnbWF0LWNhcmQuZXZlbnQgLmV2ZW50LXBhcmVudCBzcGFuJywgJycsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ21hdC1jYXJkLmV2ZW50IC5ldmVudC1wYXJlbnQgYScsICcnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuLy8gQ2FyZCBkbyBldmVudG8gbsOjbyDDqSBpbnRlcmF0aXZvIOKAlCBib3JkYSBubyBob3ZlciBpZ3VhbCDDoCBkZSByZXN0IChzZW0gXCJwdWxvXCIpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdtYXQtY2FyZC5ldmVudDpob3ZlcicsIFwiXCIsIGJvcmRlciwgMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAxcHggc29saWQgJGNocm9tZS1ib3JkZXItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ21hdC1jYXJkLmV2ZW50Om5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pJywgXCJcIiwgYm94LXNoYWRvdywgbm9uZSwgbm9uZSk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtY2FyZC1oZWFkZXInLCAnJywgYmFja2dyb3VuZC1jb2xvciwgJHRhYmxlLWJhY2tncm91bmQtY29sb3IsICR0YWJsZS1iYWNrZ3JvdW5kLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LWNhcmQtaGVhZGVyJywgJycsIGNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ21hdC1jYXJkLmFkbWluLWV2ZW50JywgJycsIGJhY2tncm91bmQtY29sb3IsICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yLCAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnbWF0LWNhcmQuYWRtaW4tZXZlbnQnLCAnJywgYm9yZGVyLWNvbG9yLCAkbWF0LWNhcmQtYm9yZGVyLWNvbG9yLCAkbWF0LWNhcmQtYm9yZGVyLWNvbG9yLWRhcmspO1xuLy8gVGV4dCBjb2xvciBvZiBhZG1pbi1ldmVudCBjYXJkOiBzYW1lIG11dGVkIHRva2VuIHVzZWQgYnkgc2lkZWJhciBsZXZlbC0xLzJcbi8vIGl0ZW1zIGF0IHJlc3QuIE92ZXJyaWRlcyBNYXRlcmlhbCdzIGRlZmF1bHQgYG1hdC1jYXJkIHsgY29sb3I6IHJnYmEoMCwwLDAsLjg3KSB9YFxuLy8gKGNvbXBpbGVkIHVuZGVyIGAubGlnaHQtdGhlbWUgLm1hdC1jYXJkYCwgc3BlY2lmaWNpdHkgMCwyLDApLiBPdXIgc2VsZWN0b3Jcbi8vIGAubGlnaHQtdGhlbWUgbWF0LWNhcmQuYWRtaW4tZXZlbnRgIGlzIDAsMiwxIOKAlCB3aW5zIGJ5IG9uZSBlbGVtZW50IHRva2VuLlxuLy8gSW5oZXJpdGFuY2UgZmxvd3MgdG8gYWxsIHVuc3R5bGVkIHRleHQgZGVzY2VuZGFudHMgKHRvZ2dsZSBsYWJlbHMsIHJhZGlvXG4vLyBsYWJlbHMsIGhlbHBlciB0ZXh0LCBldGMuKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnbWF0LWNhcmQuYWRtaW4tZXZlbnQnLCAnJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcblxuLyogYXBwLXRyYWNrcyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC10cmFja3MsICcudHJhY2tzLWNhcmQgbWF0LWNhcmQudHJhY2snLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvciwgJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXRyYWNrcywgJy50cmFja3MtY2FyZCBtYXQtY2FyZC50cmFjaycsIGJvcmRlciwgMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAxcHggc29saWQgJGNocm9tZS1ib3JkZXItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXRyYWNrcywgJy50cmFja3MtY2FyZCBtYXQtY2FyZC50cmFjayAubWF0LWNhcmQtdGl0bGUnLCBjb2xvciwgJGJsYWNrLTEwMDAsICR3aGl0ZS0xMDAwKTtcblxuLyogYXBwLXNpZGViYXItaXRlbSAqL1xuLy8gUGVyc29uYSBBIChhdXRvci00KTogXCJJZGVudGlkYWRlLWxvdWRcIi4gw41jb25lcyBjb20gY29yIGRlIG1hcmNhIFNFTVBSRVxuLy8gKHJlc3QsIGhvdmVyLCBzZWxlY3RlZCkgKyBzZW1wcmUgZmlsbGVkLiBDYWRhIHBhcGVsIHRlbSBpZGVudGlkYWRlIHZpc3VhbFxuLy8gcGVybWFuZW50ZS4gU2VsZWN0ZWQgcmVmb3LDp2FkbyBwZWxvIGJnIHdhcm0gYmVpZ2UgKyB1bmRlcmxpbmUgYWNjZW50LlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGlzdC1pdGVtLmJ1dHRvbi1ldmVudHMgLm1hdC1pY29uJywgY29sb3IsICRuYXZiYXItZXZlbnRzLWljb24tY29sb3IsICRuYXZiYXItZXZlbnRzLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5saXN0LWl0ZW0uYnV0dG9uLW15LXN1Ym1pc3Npb25zIC5tYXQtaWNvbicsIGNvbG9yLCAkbmF2YmFyLW15LXN1Ym1pc3Npb25zLWljb24tY29sb3IsICRuYXZiYXItbXktc3VibWlzc2lvbnMtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmxpc3QtaXRlbS5idXR0b24tbXktcmV2aWV3cyAubWF0LWljb24nLCBjb2xvciwgJG5hdmJhci1teS1yZXZpZXdzLWljb24tY29sb3IsICRuYXZiYXItbXktcmV2aWV3cy1pY29uLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGlzdC1pdGVtLmJ1dHRvbi10cGNzIC5tYXQtaWNvbicsIGNvbG9yLCAkbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvciwgJG5hdmJhci1teS10cGNzLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5saXN0LWl0ZW0uYnV0dG9uLWNoYWlyaW5ncyAubWF0LWljb24nLCBjb2xvciwgJG5hdmJhci1teS1ldmVudHMtaWNvbi1jb2xvciwgJG5hdmJhci1teS1ldmVudHMtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmxpc3QtaXRlbS5idXR0b24tc2Vzc2lvbi1jaGFpcmluZ3MgLm1hdC1pY29uJywgY29sb3IsICRuYXZiYXItbXktc2Vzc2lvbi1jaGFpcmluZ3MtaWNvbi1jb2xvciwgJG5hdmJhci1teS1zZXNzaW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGlzdC1pdGVtLmJ1dHRvbi1wdWJsaWNhdGlvbi1jaGFpcmluZ3MgLm1hdC1pY29uJywgY29sb3IsICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3IsICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5saXN0LWl0ZW0uYW55LW90aGVyLWJ1dHRvbiAubWF0LWljb24nLCBjb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3IsICRuYXZiYXItZXZlbnRzLWljb24tY29sb3ItZGFyayk7XG5cbi8vIFNlbGVjdGVkOiB1bmRlcmxpbmUgYWNjZW50IDNweCBuYSBjb3IgZGUgbWFyY2EgdmlhIHBzZXVkby1lbGVtZW50b1xuLy8gYDo6YWZ0ZXJgIChlc3RydXR1cmEgZW0gc2lkZWJhci1pdGVtLnNjc3MpLiBDYW50b3MgcmV0b3Mg4oCUIGlnbm9yYSBvXG4vLyBib3JkZXItcmFkaXVzIGRhIHDDrWx1bGEuIENvbWJpbmFkbyBjb20gbyBiZyB3YXJtIGJlaWdlLCBkw6EgbyBkcmFtYVxuLy8gY2FyYWN0ZXLDrXN0aWNvIGRhIFBlcnNvbmEgQS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmxpc3QtaXRlbS5idXR0b24tZXZlbnRzLnNlbGVjdGVkOjphZnRlcicsIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItZXZlbnRzLWljb24tY29sb3IsICRuYXZiYXItZXZlbnRzLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5saXN0LWl0ZW0uYnV0dG9uLW15LXN1Ym1pc3Npb25zLnNlbGVjdGVkOjphZnRlcicsIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItbXktc3VibWlzc2lvbnMtaWNvbi1jb2xvciwgJG5hdmJhci1teS1zdWJtaXNzaW9ucy1pY29uLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGlzdC1pdGVtLmJ1dHRvbi1teS1yZXZpZXdzLnNlbGVjdGVkOjphZnRlcicsIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItbXktcmV2aWV3cy1pY29uLWNvbG9yLCAkbmF2YmFyLW15LXJldmlld3MtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmxpc3QtaXRlbS5idXR0b24tdHBjcy5zZWxlY3RlZDo6YWZ0ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvciwgJG5hdmJhci1teS10cGNzLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5saXN0LWl0ZW0uYnV0dG9uLWNoYWlyaW5ncy5zZWxlY3RlZDo6YWZ0ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLW15LWV2ZW50cy1pY29uLWNvbG9yLCAkbmF2YmFyLW15LWV2ZW50cy1pY29uLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGlzdC1pdGVtLmJ1dHRvbi1zZXNzaW9uLWNoYWlyaW5ncy5zZWxlY3RlZDo6YWZ0ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLW15LXNlc3Npb24tY2hhaXJpbmdzLWljb24tY29sb3IsICRuYXZiYXItbXktc2Vzc2lvbi1jaGFpcmluZ3MtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmxpc3QtaXRlbS5idXR0b24tcHVibGljYXRpb24tY2hhaXJpbmdzLnNlbGVjdGVkOjphZnRlcicsIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3IsICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3ItZGFyayk7XG4vLyBMYWJlbHMgZGEgdG9vbGJhciBkbyBhdXRvci9yZXZpc29yIHNlZ3VlbSBvcyBNRVNNT1MgdG9rZW5zIGRvIGNoYWlyIGxldmVsLTFcbi8vIChuw6NvIHVzYW0gbyBsZWdhZG8gYCRzaWRlYmFyLWxhYmVsLXNlbGVjdGVkLWNvbG9yYCA9ICMzYzQwNDMpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGFiZWwtZnVsbCcsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5qZW1zLXRvb2xiYXItYnV0dG9uOmhvdmVyIC5sYWJlbC1mdWxsJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcuamVtcy10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZCAubGFiZWwtZnVsbCcsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbi8vIE5hdmJhciBkbyBzaGVsbCBhdXRvci9yZXZpc29yOiBjaHJvbWUtYm9yZGVyIDFweCBhbGluaGFkbyBhbyBjaGFpci5cbi8vIGBib3JkZXItYm90dG9tYCBlbSBkZXNrdG9wL3RhYmxldCwgYGJvcmRlci10b3BgIHF1YW5kbyBhIG5hdmJhciB2aXJhXG4vLyBib3R0b20tYmFyIGVtIG1vYmlsZSAoZGVjaXPDo28gcHJlc2VydmFkYSBlbSBbW2ZlZWRiYWNrLXRvb2xiYXItYm90dG9tYmFyLW1vYmlsZV1dKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnYXBwLW5hdmJhcicsICcubmF2YmFyJywgYm9yZGVyLWJvdHRvbS1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQsICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdhcHAtbmF2YmFyJywgJy5uYXZiYXInLCBib3JkZXItdG9wLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG5cbi8vIFN1cmZhY2UgY2hyb21lIHdhcm0g4oCUIG1lc21vIGNhbnZhcyBvZmYtd2hpdGUgYXF1ZWNpZG8gdXNhZG8gZW0gdG9kbyBvIGNoYWlyLlxuLy8gYCFpbXBvcnRhbnRgIMOpIG5lY2Vzc8OhcmlvIHBvcnF1ZSBtYXQtdG9vbGJhciB0ZW0gcHJpb3JpZGFkZSBhbHRhIG5vIHRlbWEgTWF0ZXJpYWwuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ2FwcC1uYXZiYXInLCAnLm5hdmJhcicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQpO1xuXG4vLyBgLnNpZGViYXItaXRlbWAgZSBgLmplbXMtdG9vbGJhci1idXR0b25gIGFnb3JhIHZpdmVtIG5vIE1FU01PIGVsZW1lbnRvICg8YT4pXG4vLyBhcMOzcyBvIGFjaGF0YW1lbnRvIGRhIGF1dG9yLTQg4oCUIHVzYXIgc2VsZXRvcmVzIGNvbXBvc3RvcywgbsOjbyBkZXNjZW5kZW50ZXMuXG4vL1xuLy8gRGVjaXPDo28gZGUgZGVzaWduIChhdXRvci03KTogc2VsZWN0ZWQgYWdvcmEgXCJsZXZhbnRhXCIgZGEgdG9vbGJhciDigJQgYmdcbi8vIGZpY2EgYnJhbmNvIChvdSBvIGVxdWl2YWxlbnRlIGNsYXJpbmhvIG5vIGRhcmssIDEgc2hhZGUgYWNpbWEgZG9cbi8vIGAkbmF2YmFyLWFkbWluLWJhY2tncm91bmQtZGFya2AgcHJhIGRhciBsaWZ0KSwgYm9yZGEgcGFzc2EgcHJhIHZhcmlhbnRlXG4vLyBhY3RpdmUgKG1haXMgZGVmaW5pZGEgcXVlIGEgZG8gcmVzdCksIGUgZ2FuaGEgdW1hIHNvbWJyYSBwZXF1ZW5hIG1hc1xuLy8gY3Jpc3BhZGEgKG9mZnNldCAwLCBibHVyIGN1cnRvLCBhbHBoYSBtb2RlcmFkYSDigJQgc2VudGUgXCJjYXJkIGZsdXR1YW5kb1xuLy8gc29icmUgYSBjaHJvbWVcIikuIE8gdW5kZXJsaW5lIGNvbSBhIGNvciBkYSBjYXRlZ29yaWEgKDo6YWZ0ZXIpIGNvbnRpbnVhXG4vLyBzb2JyZXBvbmRvIGEgYm9yZGEgaW5mZXJpb3IsIGRhbmRvIG8gc2luYWwgY2F0ZWfDs3JpY28gcXVlIGlkZW50aWZpY2Fcbi8vIHF1YWwgaXRlbSBlc3TDoSBhdGl2by5cbi8vIEJnL2JvcmRlci9zaGFkb3cgZG8gaXRlbSBzZWxlY2lvbmFkbyDigJQgdmlzdWFsIFwicGlsbFwiIG5vIGRlc3Rpbm8uXG4vLyBBcGxpY2Fkb3MgQ09NIGB0cmFuc2l0aW9uYCBubyBpdGVtIGJhc2UgKHJlZ3JhIGFiYWl4bykgcHJhIHF1ZSBhXG4vLyB0cm9jYSBjcnV6ZSBmYWRlIGNvbSBhIGFuaW1hw6fDo28gZGEgcMOtbHVsYSBzbGlkaW5nXG4vLyAoYC5uYXZiYXItaXRlbXMtaW5kaWNhdG9yYCksIGVtIHZleiBkZSBzYWx0YXIgaW5zdGFudMOibmVvIGUgbWFzY2FyYXJcbi8vIGEgdmlhZ2VtIGRhIHDDrWx1bGEuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b24uc2VsZWN0ZWQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAjZmZmZmZmICFpbXBvcnRhbnQsICMyZTJlMmUgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b24uc2VsZWN0ZWQnLCBib3JkZXItY29sb3IsICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZSAhaW1wb3J0YW50LCAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZSAhaW1wb3J0YW50KTtcbi8vIFNlbSBzb21icmEgZW0gcmVzdCDigJQgYmcgYnJhbmNvICsgYm9yZGVyIGFjZW50dWFkYSBqw6EgbWFyY2FtIG9cbi8vIHNlbGVjaW9uYWRvLiBTb21icmEgdm9sdGEgQVBFTkFTIG5vIGhvdmVyIChyZWdyYSBhYmFpeG8pLCB0YW50byBwcmFcbi8vIHNlbGVjdGVkIHF1YW50byBwcmEgbsOjby1zZWxlY3RlZC5cbi8vIFRyYW5zaXRpb24gbm8gaXRlbSBiYXNlIOKAlCBTw5MgYmcgKyBib3JkZXIgY3Jvc3MtZmFkZSBlbSAyNjBtcyBwcmFcbi8vIGFjb21wYW5oYXIgbyBzbGlkZSBkYSBww61sdWxhIHJlYWwgbmEgdHJvY2EgZGUgcm90YSAoc2VtIGlzc28sIG9cbi8vIFwibG9vayBkZSBww61sdWxhXCIgc2FsdGEgaW5zdGFudMOibmVvIG5vIGRlc3Rpbm8gZSBtYXNjYXJhIG8gc2xpZGUpLlxuLy8gYGJveC1zaGFkb3dgIEZJQ0EgREUgRk9SQSBkYSB0cmFuc2l0aW9uIOKAlCDDqSBvIHF1ZSBkw6EgYSBzb21icmEgbm9cbi8vIGhvdmVyLCBlIGEgcmVncmEgZGUgc2lzdGVtYSBgZmVlZGJhY2tfbm9faG92ZXJfdHJhbnNpdGlvbmAgcGVkZVxuLy8gaG92ZXIgaW5zdGFudMOibmVvLiBDb21vIGJnICsgYm9yZGVyIHPDo28gbWFpcyBwcm9taW5lbnRlcyBxdWUgYVxuLy8gc29tYnJhIDAuMyBvcGFjaXR5LCBvIGNyb3NzLWZhZGUgZGEgcMOtbHVsYSBjb250aW51YSB2aXPDrXZlbC5cbi5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbiB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjYwbXMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSksXG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvciAyNjBtcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKTtcbn1cblxuLy8gSG92ZXIgZW0gUVVBTFFVRVIgaXRlbSAoc2VsZWN0ZWQgb3UgbsOjbykgZMOhIGJveC1zaGFkb3cuIE5vIHNlbGVjdGVkLFxuLy8gYSBzb21icmEgc29tZSBhc3NpbSBxdWUgbyBjdXJzb3Igc2FpIOKAlCBvIHJlc3QgZG8gc2VsZWN0ZWQgZmljYSBwbGFub1xuLy8gKHPDsyBiZyArIGJvcmRlciBtYXJjYW0pLCBlIGEgZWxldmHDp8OjbyB2aXJhIHNpbmFsIGRlIFwiaG92ZXIgYXRpdm9cIi5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbjpob3ZlcicsIGJveC1zaGFkb3csIDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuMyksIDAgMXB4IDNweCByZ2JhKDAsMCwwLDAuNykgIWltcG9ydGFudCk7XG4uZGFyay10aGVtZSAuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b246bm90KC5zZWxlY3RlZCk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cblxuLy8gQ29yIGRvIHRleHRvIGRvcyBpdGVucyBkYSB0b29sYmFyIOKAlCBtZXNtb3MgdG9rZW5zIGRvcyBpdGVucyBsZXZlbC0xIGRvXG4vLyBjaGFpciAoLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWl0ZW0pOiBtdXRlZCBubyByZXN0LCBhY3RpdmUgbm8gaG92ZXIvc2VsZWN0ZWQuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b24nLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uOmhvdmVyJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uLnNlbGVjdGVkJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuc2lkZWJhci1pdGVtJywgJy5sYWJlbC1zaG9ydCcsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbjpob3ZlcicsICcubGFiZWwtc2hvcnQnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZCcsICcubGFiZWwtc2hvcnQnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG5cbi8qIGFwcC1zaWRlYmFyLWl0ZW0tYWRtaW4gKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLWFkbWluLCAnLnNpZGViYXItaXRlbS1hZG1pbiAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbjpob3ZlciAubWF0LWljb24nLCBjb2xvciwgJG5hdmJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1jb2xvciwgJG5hdmJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLWFkbWluLCAnLnNpZGViYXItaXRlbS1hZG1pbiAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbjpob3ZlciAubWF0LWljb24nLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQsICRuYXZiYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLWFkbWluLCAnLnNpZGViYXItaXRlbS1hZG1pbiAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZDpub3QoOmhvdmVyKSAubWF0LWljb24nLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQsICRuYXZiYXItYWRtaW4tbWVudWl0ZW0tc2VsZWN0ZWQtYmFja2dyb3VuZC1kYXJrKTtcblxuLyogQWN0aXZpdHkgYmFyIG92ZXJyaWRlcyDigJQgaW4gdGhpcyBsYXlvdXQgdGhlIGJnIGhpZ2hsaWdodCBsaXZlcyBvbiB0aGUgYnV0dG9uXG4gICAoNDDDlzQwIHNxdWFyZSksIG5vdCBvbiB0aGUgbWF0LWljb24uIFplcm8gb3V0IHRoZSBsZWdhY3kgLm1hdC1pY29uIGJnIGZyb21cbiAgIHRoZSBydWxlcyBhYm92ZSBhbmQgYXBwbHkgbWF0Y2hpbmcgaG92ZXIvc2VsZWN0ZWQgYmcgdG8gdGhlIGJ1dHRvbiBpdHNlbGYuICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuYWN0aXZpdHktYmFyIC5zaWRlYmFyLWl0ZW0tYWRtaW4gLmplbXMtY2hhaXItdG9vbGJhci1idXR0b246aG92ZXIgLm1hdC1pY29uJywgYmFja2dyb3VuZC1jb2xvciwgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5hY3Rpdml0eS1iYXIgLnNpZGViYXItaXRlbS1hZG1pbiAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZDpub3QoOmhvdmVyKSAubWF0LWljb24nLCBiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmFjdGl2aXR5LWJhciAuc2lkZWJhci1pdGVtLWFkbWluIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uOmhvdmVyJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5hY3Rpdml0eS1iYXIgLnNpZGViYXItaXRlbS1hZG1pbi5zZWxlY3RlZCAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQtZGFyayk7XG5cbi8qIGFwcC1ldmVudCAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudCwgJy5uYW1lIGEnLCBjb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3IsICRibGFjay00MDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudCwgJy5zdWItZXZlbnQgLmxhYmVsJywgY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAkd2hpdGUtMTAwMCk7XG5cbi8qIGFwcC1ldmVudC12aWV3ICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LXZpZXcsICcuZXZlbnQuY2FyZCAuaW5mb3JtYXRpb24gLm5hbWUnLCBjb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3IsICRibGFjay00MDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC12aWV3LCAnLmV2ZW50LmNhcmQgLmluZm9ybWF0aW9uIC5zdWItZXZlbnQgLm5hbWUgYScsIGNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgJGJsYWNrLTQwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LXZpZXcsICcuZXZlbnQuY2FyZCAuaW5mb3JtYXRpb24gLmxhYmVsJywgY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAkd2hpdGUtMTAwMCk7XG5cbi8qIGFwcC1ldmVudC11c2VyLXZpZXcgKi9cbiR0YWJsZS1ob3Zlci1ib3JkZXItd2lkdGg6IDJweDtcbiR0YWJsZS1yb3ctYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXM7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LXVzZXItdmlldywgJy5ldmVudC11c2VyLXZpZXcgbWF0LWNhcmQgLm1hdC1jYXJkLWhlYWRlcicsIGNvbG9yLCAkYmxhY2stMTAwMCwgJHdoaXRlLTEwMDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC11c2VyLXZpZXcsICcuZXZlbnQtdXNlci12aWV3IG1hdC1jYXJkIC5tYXQtY2FyZC1oZWFkZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkd2hpdGUtMTAwMCwgJGJsYWNrLTEwMDApO1xuLy8gUkVNT1ZJRE86IHNpc3RlbWEgbGVnYWRvIGRlIGJvcmRhcyAycHggKGJvcmRlci1yaWdodCBicmFuY28vcHJldG8gKyBmcmFtZSBkZVxuLy8gaG92ZXIpIGRhIHRhYmVsYSBkbyBldmVudC11c2VyLXZpZXcsIGFudGVyaW9yIMOgIG1pZ3Jhw6fDo28gcHJvIGAuamVtczMtdGFibGVgLlxuLy8gRXJhbSBlc3NhcyBib3JkYXMgYCFpbXBvcnRhbnRgIChpbnZpc8OtdmVpcyBubyBjw7NkaWdvIGRvIGNvbXBvbmVudGUpIHF1ZVxuLy8gYXBhcmVjaWFtIGNvbW8gXCJsaW5oYXMgdmVydGljYWlzIGdyb3NzYXNcIiBlIG1vbGR1cmEgbm8gaG92ZXIsIHNhYm90YW5kbyBhXG4vLyBlc3RpbGl6YcOnw6NvIG5vdmEuIEEgdGFiZWxhIGFnb3JhIMOpIGVzdGlsaXphZGEgMTAwJSBwZWxvIGNvbXBvbmVudGUgKyAuamVtczMtdGFibGUuXG5cbi8qIGFwcC11c2VyLXNlYXJjaCAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC11c2VyLXNlYXJjaCwgJy51c2VyLXNlYXJjaCAudXNlci1ib3gnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiBhcHAtdG9waWNzICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXRvcGljcywgJy50b3BpY3MgLm1hdC1jaGlwJywgYmFja2dyb3VuZC1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtdG9waWNzLCAnLnRvcGljcyAubWF0LWNoaXAnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuXG4vKiBhcHAtZXZlbnQtdG9waWNzICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LXRvcGljcywgJy5ldmVudC10b3BpY3MgLnN1YnRpdGxlJywgY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvci1kYXJrKTtcblxuLyogYXBwLXVzZXItZXZlbnQtdG9waWNzICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXVzZXItZXZlbnQtdG9waWNzLCAnLmV2ZW50LXRvcGljcyAudG9waWNzLXRhYmxlIC5yb3ctaGlnaGxpZ2h0JywgYmFja2dyb3VuZC1jb2xvciwgJHJvdy10b3BpYy1oaWdobGlnaHQtY29sb3IsICRyb3ctdG9waWMtaGlnaGxpZ2h0LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC11c2VyLWV2ZW50LXRvcGljcywgJy5ldmVudC10b3BpY3MgYnV0dG9uLm1hdC1mYWIgbWF0LWljb24nLCBjb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLWRhcmspO1xuXG4vKiBhcHAtZXZlbnQtc2VuZC1lbWFpbCAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1zZW5kLWVtYWlsLCAnLmV2ZW50LXNlbmQtZW1haWwgbWF0LWNhcmQtY29udGVudCcsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LXNlbmQtZW1haWwsICcuZXZlbnQtc2VuZC1lbWFpbCBtYXQtY2FyZC1jb250ZW50JywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcblxuLyogYXBwLWV2ZW50LXNldHRpbmdzLWVtYWlsIOKAlCBibG9jbyBkZSB0YWJlbGEgUkVNT1ZJRE8gKGF1ZGl0b3JpYSk6IGEgdGFiZWxhXG4gICBtaWdyb3UgcHJvIGAuamVtczMtdGFibGUgamVtczMtdGFibGUtaG92ZXJgLCBxdWUgc2V0YSBiYWNrZ3JvdW5kL2NvbG9yIGNvbVxuICAgYCFpbXBvcnRhbnRgOyBlc3RhcyAzIHJlZ3JhcyAoc2VtICFpbXBvcnRhbnQpIHZpdmlhbSBtb3J0YXMvb3ZlcnJpZGRlbi4gTyBjaHJvbWVcbiAgIGRhIHRhYmVsYSB2ZW0gMTAwJSBkbyBgLmplbXMzLXRhYmxlYCBnbG9iYWwuICovXG5cbi8qIGFwcC1uYXZiYXIgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtbmF2YmFyLCAnLmxvZ28gaW1nJywgLXdlYmtpdC1maWx0ZXIsICcnLCBncmF5c2NhbGUoMSkgaW52ZXJ0KDEpKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtbmF2YmFyLCAnLmxvZ28gaW1nJywgZmlsdGVyLCAnJywgZ3JheXNjYWxlKDEpIGludmVydCgxKSk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLW5hdmJhciwgJy5uYXZiYXInLCBib3gtc2hhZG93LCAnJywgMHB4IDJweCA5cHggcmdiYSgwLCAwLCAwLCAuNSkpO1xuXG4vKiBhcHAtYXZhdGFyLXByb2ZpbGUgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1tZW51LXBhbmVsJywgJycsIGJhY2tncm91bmQtY29sb3IsICRtYXQtbWVudS1iYWNrZ3JvdW5kLWNvbG9yLCAkbWF0LW1lbnUtYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbi8vIEV4cGVyaW1lbnRhbCBmbHlvdXQgcGFuZWwg4oCUIGZ1bGwgdmlzdWFsIHJlY2lwZSBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlclxuLy8gbWVudSAoYHRwYy11c2VyLW1lbnVgKTogc2lkZWJhciBzdXJmYWNlIGJnLCBoYWlybGluZSArIGRpZmZ1c2Ugc2hhZG93LFxuLy8gc3VibWVudSBob3Zlci9hY3RpdmUgdG9rZW5zIG9uIGl0ZW1zLCB0aGVtZS1hd2FyZSB0ZXh0LiBBcnJvdyB0YWlsIGNvbG9yXG4vLyBtYXRjaGVzIHRoZSBwYW5lbCBiZyBzbyB0aGUgdHJpYW5nbGUgcmVhZHMgYXMgYSBjb250aW51b3VzIGV4dGVuc2lvbiBvZlxuLy8gdGhlIG1lbnUgc3VyZmFjZSwgcG9pbnRpbmcgYXQgdGhlIGxldmVsLTEgaWNvbiB0aGF0IHRyaWdnZXJlZCBpdC5cbi5saWdodC10aGVtZSAuZXhwZXJpbWVudGFsLWZseW91dCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgLy8gYGZpbHRlcjogZHJvcC1zaGFkb3dgIGZvbGxvd3MgdGhlIHBhbmVsICsgYXJyb3cgc2lsaG91ZXR0ZSAodW5saWtlXG4gIC8vIGBib3gtc2hhZG93YCwgd2hpY2ggb25seSBvdXRsaW5lcyB0aGUgcGFuZWwncyByZWN0YW5nbGUpLlxuICAvLyBgJHNoYWRvdy1wYW5lbC1saWdodGAgaXMgdGhlIGNoYWlyIFVJJ3MgY2Fub25pY2FsIHBhbmVsLXRpZXIgZWxldmF0aW9uXG4gIC8vIChzaGFyZWQgd2l0aCB0aGUgdXNlciBtZW51IC8gbm90aWZpY2F0aW9ucykuXG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWxpZ2h0O1xuXG4gIC8vIE91dGVyIGFycm93IHRyaWFuZ2xlID0gb3V0bGluZSBjb2xvcjsgaW5uZXIgPSBwYW5lbCBiZy4gVGhlIDFweFxuICAvLyBzaXplIGRpZmZlcmVuY2UgYmV0d2VlbiA6OmJlZm9yZSBhbmQgOjphZnRlciAoc2V0IGluIHRoZSBjb21wb25lbnRcbiAgLy8gc2NzcykgbGVhdmVzIGEgMXB4IHJpbmcgb2YgdGhlIG91dGVyIHZpc2libGUgYXJvdW5kIHRoZSBpbm5lciDigJRcbiAgLy8gZ2l2ZXMgdGhlIGFycm93IGEgY3Jpc3AgZWRnZSBhZ2FpbnN0IHRoZSBib2R5IGJnIChuZWNlc3NhcnkgaW5cbiAgLy8gbGlnaHQgbW9kZSB3aGVyZSB0aGUgcGFuZWwgYmcgaXMgbmVhcmx5IGluZGlzdGluZ3Vpc2hhYmxlIGZyb20gdGhlXG4gIC8vIGJvZHkgYmcgYmVoaW5kIGl0KS5cbiAgJjo6YmVmb3JlIHtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICRjaHJvbWUtYm9yZGVyLWxpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgJjo6YWZ0ZXIge1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmV4cGVyaW1lbnRhbC1mbHlvdXQtaXRlbSB7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmV4cGVyaW1lbnRhbC1mbHlvdXQtaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUgIWltcG9ydGFudDtcbiAgfVxuICAvLyBgLmFjdGl2ZWAgdXNlcyB0aGUgU0FNRSBiYWNrZ3JvdW5kIGFzIGhvdmVyIChjaGFpciBVSSBydWxlOiBob3ZlciDiiaFcbiAgLy8gc2VsZWN0ZWQsIGJvdGggZW1waGFzaXplZCB2cyByZXN0KS5cbiAgLmV4cGVyaW1lbnRhbC1mbHlvdXQtaXRlbS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBDaGlwIGhlYWRlciDigJQgc2FtZSB0b2tlbnMgYXMgdGhlIG9yaWdpbmFsIGNoYWlyLXN1Ym1lbnUgdGl0bGUgYmFkZ2UuXG4gIC5leHBlcmltZW50YWwtZmx5b3V0LXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmc7XG4gICAgLy8gV2FzIGAjMUMxOTE3YCAodmVyeSBkYXJrIHdhcm0gZ3JheSkg4oCUIHN3YXBwZWQgZm9yIHRoZSBjYW5vbmljYWxcbiAgICAvLyBgbWVudWl0ZW0tY29sb3ItYWN0aXZlYCAoYCMwMDBgKSBzaW5jZSB0aGUgZGlmZmVyZW5jZSBpcyBiZWxvd1xuICAgIC8vIHBlcmNlcHR1YWwgdGhyZXNob2xkIGFnYWluc3QgdGhlIGNoaXAncyBuZWFyLXdoaXRlIGJhY2tncm91bmQuXG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZTtcbiAgICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xuICB9XG59XG5cbi5kYXJrLXRoZW1lIC5leHBlcmltZW50YWwtZmx5b3V0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gIC8vIERldGVybWluaXN0aWMgMXB4IG91dGxpbmU6IGBib3gtc2hhZG93IDAgMCAwIDFweGAgZHJhd3MgYSBzb2xpZCAxcHhcbiAgLy8gcmluZyBhcm91bmQgdGhlIHJlY3RhbmdsZSAoZm9sbG93cyBib3JkZXItcmFkaXVzIHBlcmZlY3RseSksIGFuZCB0aGVcbiAgLy8gYXJyb3cgZ2V0cyBpdHMgb3V0bGluZSBmcm9tIHRoZSB0d28gbGF5ZXJlZCB0cmlhbmdsZXMgYmVsb3cgKG91dGVyXG4gIC8vIDo6YmVmb3JlIGluIHRoZSBvdXRsaW5lIGNvbG9yLCBpbm5lciA6OmFmdGVyIGluIHRoZSBwYW5lbCBiZykuIE5vXG4gIC8vIGJsdXIsIG5vIHN0YWNraW5nLCB1bmlmb3JtIHBpeGVsIGRlbnNpdHkuIFRoZSBwYW5lbC10aWVyIGBmaWx0ZXI6XG4gIC8vIGRyb3Atc2hhZG93YCBpcyBzaGFyZWQgd2l0aCB0aGUgdXNlciBtZW51IC8gbm90aWZpY2F0aW9ucy5cbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWRhcmsgIWltcG9ydGFudDtcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWRhcms7XG5cbiAgLy8gT3V0ZXIgYXJyb3cgdHJpYW5nbGUgPSBvdXRsaW5lIGNvbG9yOyBpbm5lciA9IHBhbmVsIGJnLiBUaGUgMXB4XG4gIC8vIHNpemUgZGlmZmVyZW5jZSBiZXR3ZWVuIDo6YmVmb3JlIGFuZCA6OmFmdGVyIChzZXQgaW4gYF9tZW51LnNjc3NgKVxuICAvLyBsZWF2ZXMgYSAxcHggcmluZyBvZiB0aGUgb3V0ZXIgdHJpYW5nbGUgdmlzaWJsZSBhcm91bmQgdGhlIGlubmVyLFxuICAvLyBmb3JtaW5nIGEgdW5pZm9ybSBvdXRsaW5lIG9uIHRoZSBhcnJvdy5cbiAgJjo6YmVmb3JlIHtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcmsgIWltcG9ydGFudDtcbiAgfVxuICAmOjphZnRlciB7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5leHBlcmltZW50YWwtZmx5b3V0LWl0ZW0ge1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmV4cGVyaW1lbnRhbC1mbHlvdXQtaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLy8gRGFyay1tb2RlIGNvdW50ZXJwYXJ0IG9mIHRoZSB1bmlmaWVkIGhvdmVyL2FjdGl2ZSBiZyBhYm92ZS5cbiAgLmV4cGVyaW1lbnRhbC1mbHlvdXQtaXRlbS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gQ2hpcCBoZWFkZXIg4oCUIGRhcmstbW9kZSBjb3VudGVycGFydCBvZiB0aGUgc3VibWVudSB0aXRsZSBiYWRnZSB0b2tlbnMuXG4gIC8vIEJvcmRlci1jb2xvciBtYXRjaGVzIHRoZSByZXN0IG9mIHRoZSBjaHJvbWUncyBkaXZpZGVyIGNvbG9yICgkY2hyb21lLWJvcmRlci1kYXJrIOKAlFxuICAvLyBhbHNvIHVzZWQgYnkgdGhlIHZlcnRpY2FsIHNpZGViYXIgZWRnZS1saW5lIGFuZCB0aGUgaGVhZGVyL2JvdHRvbS1yYWlsXG4gIC8vIGhvcml6b250YWwgZGl2aWRlcnMpIHNvIHRoZSBjaGlwIG91dGxpbmUgcmVhZHMgYXMgcGFydCBvZiB0aGUgc2FtZVxuICAvLyB2aXN1YWwgZmFtaWx5LlxuICAuZXhwZXJpbWVudGFsLWZseW91dC10aXRsZSB7XG4gICAgLy8gV2FzIGAjMmIyYTI4YCBsaXRlcmFsIOKAlCBleGFjdGx5IHRoZSBzYW1lIHZhbHVlIGFzIHRoZSBjYW5vbmljYWxcbiAgICAvLyBgbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrYCB0b2tlbiwgc28gd2UgdXNlIHRoZSB0b2tlbiBmb3JcbiAgICAvLyB0cmFjZWFiaWxpdHkgKGl0J3MgdGhlIGNoYWlyIFVJJ3MgXCJpbnRlcmFjdGl2ZSBzdXJmYWNlIGEgc3RlcCB1cFxuICAgIC8vIGZyb20gdGhlIHNpZGViYXIgYmdcIiBjb2xvdXIsIHNhbWUgcm9sZSBoZXJlKS5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcms7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrO1xuICAgIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyaztcbiAgfVxufVxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LW1lbnUtcGFuZWwnLCAnJywgYm94LXNoYWRvdywgJycsIDBweCAycHggMTBweCAxcHggYmxhY2spO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LW1lbnUtY29udGVudCcsICcubWF0LW1lbnUtaXRlbSAubWF0LWljb24sIC5tYXQtbWVudS1pdGVtJywgY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnYnV0dG9uLm1hdC1tZW51LWl0ZW06aG92ZXI6bm90KFtkaXNhYmxlZF0pJywgJycsIGJhY2tncm91bmQtY29sb3IsICRhZG1pbi1hY2NlbnQtYmFja2dyb3VuZC1jb2xvciwgJGFkbWluLWFjY2VudC1iYWNrZ3JvdW5kLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdidXR0b24ubWF0LW1lbnUtaXRlbTpob3ZlcicsICcnLCBjb2xvciwgJGFkbWluLWFjY2VudC1jb2xvciwgJGFkbWluLWFjY2VudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnYnV0dG9uLm1hdC1tZW51LWl0ZW06aG92ZXInLCAnLm1hdC1pY29uJywgY29sb3IsICRhZG1pbi1hY2NlbnQtY29sb3IsICRhZG1pbi1hY2NlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtbWVudS1jb250ZW50IC5jb250YWluZXItdGhlbWUgLmhpZ2hsaWdodC1idXR0b24sIC5tYXQtbWVudS1jb250ZW50IC5jb250YWluZXItbGF5b3V0IC5oaWdobGlnaHQtYnV0dG9uLCAubWF0LW1lbnUtY29udGVudCAuY29udGFpbmVyLWxhbmd1YWdlLWNvbXBhY3QgLmhpZ2hsaWdodC1idXR0b24nLCAnJywgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1zZWxlY3RlZC1tZW51LWNvbG9yLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpKTtcblxuLyogYXBwLWZpeGVkLXRvcC1wcm9ncmVzcy1iYXIgKi9cbi8vIEJnIG9ubHkgd2hlbiBhY3RpdmVseSBsb2FkaW5nIOKAlCBvdGhlcndpc2UgdHJhbnNwYXJlbnQgc28gdGhlIDJweCBzdHJpcFxuLy8gZG9lc24ndCBwYWludCBvdmVyIHRoZSBjaHJvbWUgYmVsb3cgaXQgKGFjdGl2aXR5IGJhciwgc3VibWVudSB0b3AgYm9yZGVyKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZml4ZWQtdG9wLXByb2dyZXNzLWJhciwgJy5maXhlZC10b3AtcHJvZ3Jlc3MtYmFyLmFjdGl2ZScsIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1iYWNrZ3JvdW5kLWNvbG9yLWRhcmspO1xuXG4vKiBhcHAtaG9tZSAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ob21lLCAnLmhvbWUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ob21lLCAnLmhvbWUnLCBjb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrLCAkY29udGVudC1iYWNrZ3JvdW5kKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtaG9tZSwgJy5ob21lIC5wYWdlLWNvbnRlbnQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiBhcHAtcGFwZXItaW5mbyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1wYXBlci1pbmZvLCAnLnBhcGVyLWluZm8gYScsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5cblxuLyogYXBwLWRpYWxvZy10aW1lem9uZSAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcudGltZVpvbmVQYW5lbCcsIHRhYmxlIHRoZWFkIHRyIHRoLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcudGltZVpvbmVQYW5lbCcsIHRhYmxlIHRoZWFkIHRyIHRoLCBib3JkZXItYm90dG9tLWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcudGltZVpvbmVQYW5lbCcsICd0YWJsZSB0aGVhZCB0ciB0aDpmaXJzdC1jaGlsZCcsIGJvcmRlci1yaWdodC1jb2xvciwgJHdoaXRlLTEwMDAsICRibGFjay0xMDAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLnRpbWVab25lUGFuZWwnLCB0YWJsZSB0Ym9keSB0ciB0ZCwgYmFja2dyb3VuZC1jb2xvciwgJHdoaXRlLTEwMDAsIHJnYigyNCwgMjQsIDI0KSk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy50aW1lWm9uZVBhbmVsJywgdGFibGUgdGJvZHkgdHIgdGQsIGJvcmRlci1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLnRpbWVab25lUGFuZWwnLCAndGFibGUgdGJvZHkgdHIgdGQ6Zmlyc3QtY2hpbGQnLCBib3JkZXItcmlnaHQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy50aW1lWm9uZVBhbmVsJywgJ3RhYmxlIHRib2R5IHRyOmhvdmVyIHRkJywgYmFja2dyb3VuZC1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLnRpbWVab25lUGFuZWwnLCAndGFibGUgdGJvZHkgdHI6aG92ZXIgdGQnLCBib3JkZXItcmlnaHQtY29sb3IsICR3aGl0ZS0xMDAwLCAkYmxhY2stMTAwMCk7XG5cbi8qIGFwcC1sYW5kaW5nICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWxhbmRpbmcsICcubGFuZGluZyAuY29udGVudC1jb250YWluZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1sYW5kaW5nLCAnLmxhbmRpbmcgLmNvbnRlbnQtY29udGFpbmVyIC5sb2dvLmltYWdlJywgZmlsdGVyLCAnJywgaW52ZXJ0KDEpKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtbGFuZGluZywgJy5sYW5kaW5nIC5jb250ZW50LWNvbnRhaW5lciBpJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtbGFuZGluZywgJy5sYW5kaW5nIC5sYW5ndWFnZS1jb250YWluZXInLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1sYW5kaW5nLCAnLmxhbmRpbmcgLmxhbmd1YWdlLWNvbnRhaW5lcicsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5cbi8qIGFwcC1ldmVudHMgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnRzLCAnLmV2ZW50cyAubWFpbi10aXRsZSBpJywgY29sb3IsICRuYXZiYXItZXZlbnRzLWljb24tY29sb3IsICRuYXZiYXItZXZlbnRzLWljb24tY29sb3ItZGFyayk7XG5cbi8qIGFwcC1zdWJtaXNzaW9ucyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdWJtaXNzaW9ucywgJy5zdWJtaXNzaW9ucyAubWFpbi10aXRsZSBpJywgY29sb3IsICRuYXZiYXItbXktc3VibWlzc2lvbnMtaWNvbi1jb2xvciwgJG5hdmJhci1teS1zdWJtaXNzaW9ucy1pY29uLWNvbG9yLWRhcmspO1xuXG4vKiBhcHAtcmV2aWV3cyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1yZXZpZXdzLCAnLnJldmlld3MgLm1haW4tdGl0bGUgaScsIGNvbG9yLCAkbmF2YmFyLW15LXJldmlld3MtaWNvbi1jb2xvciwgJG5hdmJhci1teS1yZXZpZXdzLWljb24tY29sb3ItZGFyayk7XG5cbi8qIGFwcC1wYXBlci1yZXZpZXctbGlzdCAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1wYXBlci1yZXZpZXctbGlzdCwgJy5wYXBlci1yZXZpZXctbGlzdCAudGFibGUtY29udGFpbmVyIC50YWJsZSAucmV2aWV3IHRkJywgYm9yZGVyLWNvbG9yLCAkYWRtaW4tYmFja2dyb3VuZCwgJGFkbWluLWJhY2tncm91bmQtZGFyayk7XG5cbi8qIGFwcC1jb21taXR0ZWVzICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNvbW1pdHRlZXMsICcuY29tbWl0dGVlcyAubWFpbi10aXRsZSBpJywgY29sb3IsICRuYXZiYXItbXktdHBjcy1pY29uLWNvbG9yLCAkbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvci1kYXJrKTtcblxuLyogYXBwLW15LWV2ZW50cyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1teS1ldmVudHMsICcubXlldmVudHMgLm1haW4tdGl0bGUgaScsIGNvbG9yLCAkbmF2YmFyLW15LWV2ZW50cy1pY29uLWNvbG9yLCAkbmF2YmFyLW15LWV2ZW50cy1pY29uLWNvbG9yLWRhcmspO1xuXG4vKiBhcHAtc2Vzc2lvbi1jaGFpcmluZ3MgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2Vzc2lvbi1jaGFpcmluZ3MsICcuc2Vzc2lvbi1jaGFpcmluZ3MgLm1haW4tdGl0bGUgaScsIGNvbG9yLCAkbmF2YmFyLW15LXNlc3Npb24tY2hhaXJpbmdzLWljb24tY29sb3IsICRuYXZiYXItbXktc2Vzc2lvbi1jaGFpcmluZ3MtaWNvbi1jb2xvci1kYXJrKTtcblxuLyogYXBwLXB1YmxpY2F0aW9uLWNoYWlyaW5ncyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1wdWJsaWNhdGlvbi1jaGFpcmluZ3MsICcucHVibGljYXRpb24tY2hhaXJpbmdzIC5tYWluLXRpdGxlIGknLCBjb2xvciwgJG5hdmJhci1teS1wdWJsaWNhdGlvbi1jaGFpcmluZ3MtaWNvbi1jb2xvciwgJG5hdmJhci1teS1wdWJsaWNhdGlvbi1jaGFpcmluZ3MtaWNvbi1jb2xvci1kYXJrKTtcblxuLyogYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUgKEFOVElHTykg4oCUIGJsb2NvIGRlIHRhYmVsYSBSRU1PVklETyAoYXVkaXRvcmlhKTpcbiAgIG8gY29tcG9uZW50ZSDDqSBERUFEIENPREUgKDAgdXNvcyBlbSB0ZW1wbGF0ZTsgc3Vic3RpdHXDrWRvIHBlbG8gYC12MmApLCBlbnTDo28gZXN0ZVxuICAgc2lzdGVtYSBkZSBib3JkYSAoYm9yZGVyLXJpZ2h0IHdoaXRlL2JsYWNrICsgZnJhbWUgZGUgaG92ZXIgYCFpbXBvcnRhbnRgKSBudW5jYVxuICAgcmVuZGVyaXphdmEuIE5PVEE6IG8gYXJxdWl2byBgLnRzYCBjb250aW51YSBleGlzdGluZG8gc8OzIHBlbG8gZXhwb3J0IGBDb2xsZWN0aW9uYFxuICAgdXNhZG8gZW0gYHNob3ctYWxsLXN1Ym1pc3Npb25zYCDigJQgcmVmYWN0b3IgZnV0dXJvOiBleHRyYWlyIGBDb2xsZWN0aW9uYCBwLyB1bSB0aXBvXG4gICBjb21wYXJ0aWxoYWRvIGUgZW50w6NvIGFwYWdhciBvIGNvbXBvbmVudGUgKyBzdWEgZGVjbGFyYcOnw6NvIG5vIGFwcC5tb2R1bGUuICovXG5cbi8qIGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIsICcubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlJywgYmFja2dyb3VuZC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcbi8vIEZhZGUgZGEgYm9yZGEgZXNxdWVyZGEgKC5zY3JvbGwtZmFkZS1sZWZ0LCB2aXPDrXZlbCBhbyByb2xhciBhIHRhYmVsYSDDoCBlc3F1ZXJkYSk6XG4vLyBncmFkaWVudGUgZGEgY29yIGRlIGZ1bmRvIGRvIGNvbnRlw7pkbyDihpIgdHJhbnNwYXJlbnRlIChyZ2JhKC4uLiwwKSwgbsOjbyBgdHJhbnNwYXJlbnRgLFxuLy8gcC8gZXZpdGFyIHRvbSBhY2luemVudGFkbyBubyBtZWlvIGRvIGRlZ3JhZMOqIGVtIGFsZ3VucyBuYXZlZ2Fkb3JlcykuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIsICcubWF0LWNhcmQgLnNjcm9sbC1mYWRlLWxlZnQnLCBiYWNrZ3JvdW5kLCBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRjb250ZW50LWJhY2tncm91bmQgNDAlLCByZ2JhKCRjb250ZW50LWJhY2tncm91bmQsIDApKSwgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmsgNDAlLCByZ2JhKCRjb250ZW50LWJhY2tncm91bmQtZGFyaywgMCkpKTtcbi8vIEZhZGUgZGEgYm9yZGEgZGlyZWl0YSAoLnNjcm9sbC1mYWRlLXJpZ2h0KTogZ3JhZGllbnRlIHNpbXBsZXMgKGNvciDihpIgdHJhbnNwYXJlbnRlKSBjb21vXG4vLyBgYmFja2dyb3VuZC1pbWFnZWA7IGEgZmFpeGEgZGUgNDBweCBuYSBib3JkYSBkaXJlaXRhIMOpIGdhcmFudGlkYSBwb3IgYGJhY2tncm91bmQtc2l6ZWAvXG4vLyBgLXBvc2l0aW9uYCBubyBTQ1NTIGRvIGNvbXBvbmVudGUgKG7Do28gcG9yIHN0b3AgYWJzb2x1dG8sIHF1ZSByZW5kaWEgbGFyZ3VyYSBpbmNvbnNpc3RlbnRlKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiwgJy5tYXQtY2FyZCAuc2Nyb2xsLWZhZGUtcmlnaHQnLCBiYWNrZ3JvdW5kLWltYWdlLCBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgJGNvbnRlbnQtYmFja2dyb3VuZCA0MCUsIHJnYmEoJGNvbnRlbnQtYmFja2dyb3VuZCwgMCkpLCBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrIDQwJSwgcmdiYSgkY29udGVudC1iYWNrZ3JvdW5kLWRhcmssIDApKSk7XG4vLyBDYWJlw6dhbGhvIHN0aWNreSAobWF0SGVhZGVyUm93RGVmIHN0aWNreSk6IGZ1bmRvIGVtIGdyYWRpZW50ZSB2ZXJ0aWNhbCBjb20gRk9SVEUgdmFyaWHDp8OjbyDigJQgdG9wb1xuLy8gVE9UQUxNRU5URSBvcGFjbyAodMOtdHVsbyBkZXN0YWNhLCBuw610aWRvKSBlIGJhc2UgRlJBQ0EvdHJhbnNwYXJlbnRlIChhcyBsaW5oYXMgcm9sYW0gcG9yIGJhaXhvLFxuLy8gZGVzZm9jYWRhcyBwZWxvIGJhY2tkcm9wLWZpbHRlcikuIFRvcG8gMS4wIOKGkiBiYXNlIDAuNS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiwgJy5tYXQtY2FyZCAuc3VibWlzc2lvbi10YWJsZS5tYXQtdGFibGUgdGgubWF0LWhlYWRlci1jZWxsJywgYmFja2dyb3VuZCwgbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJGNvbnRlbnQtYmFja2dyb3VuZCwgcmdiYSgkY29udGVudC1iYWNrZ3JvdW5kLCAwLjUpKSwgbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrLCByZ2JhKCRjb250ZW50LWJhY2tncm91bmQtZGFyaywgMC41KSkpO1xuLy8gQ29yIGRvIFRFWFRPIGRvIGNhYmXDp2FsaG8gdmlhIG8gTUVTTU8gdG9rZW4gZGEgY29sdW5hICMgKHVuaWZpY2FkbykuIE5vIGxpZ2h0XG4vLyByZXByb2R1eiBvIGRlZmF1bHQgZG8gTWF0ZXJpYWwgKC41NDEpOyBubyBkYXJrIGZpeGEgI0ZGRkZGRkIzIChvIE1hdGVyaWFsIG7Do28gdGVtXG4vLyB0ZW1hIGRhcmsgYXF1aSwgZW50w6NvIG8gZGVmYXVsdCBmaWNhcmlhIGVzY3Vyby9pbGVnw612ZWwpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyLCAnLm1hdC1jYXJkIC5zdWJtaXNzaW9uLXRhYmxlLm1hdC10YWJsZSB0aC5tYXQtaGVhZGVyLWNlbGwnLCBjb2xvciwgJHRhYmxlLWhlYWRlci1jb2xvciwgJHRhYmxlLWhlYWRlci1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiwgJy5tYXQtY2FyZCAuc3VibWlzc2lvbi10YWJsZS5tYXQtdGFibGUgdGQ6Zmlyc3QtY2hpbGQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyLCAnLm1hdC1jYXJkIC5zdWJtaXNzaW9uLXRhYmxlLm1hdC10YWJsZSB0ZDpsYXN0LWNoaWxkJywgYmFja2dyb3VuZC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcbi8vIFNlcGFyYWRvciB2ZXJ0aWNhbCBlbnRyZSBjb2x1bmFzIOKAlCBjb3IgZGEgXCJsaW5oYSByZWFsXCIgKGdlb21ldHJpYS9wc2V1ZG8gOjpiZWZvcmVcbi8vIGZpY2Egbm8gY29tcG9uZW50ZSkuIEFudGVzIGVyYSB1bSBib3JkZXItcmlnaHQgbmEgY8OpbHVsYSwgcXVlIGRlc2xvY2F2YSBvIDo6YWZ0ZXJcbi8vIGUgY29ydGF2YSBvIGNvbnRvcm5vIGRlIGhvdmVyL3NlbGVjdGVkOyBhZ29yYSBvIDo6YmVmb3JlIGZpY2Egc29iIG8gY29udG9ybm8sIHF1ZVxuLy8gcGFzc2EgcG9yIGNpbWEgKHRvcC9ib3R0b20pIGUgc2VndWUgY29udMOtbnVvLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyLCAnLm1hdC1jYXJkIC5zdWJtaXNzaW9uLXRhYmxlLm1hdC10YWJsZSB0ZC5tYXQtY2VsbDpub3QoLmxhc3QtY29sdW1uKTo6YmVmb3JlJywgYmFja2dyb3VuZC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcbi8vIENvbnRvcm5vIGRlIGhvdmVyL1wiaG92ZXJlZFwiIHZpYSBib3gtc2hhZG93IGluc2V0IG5vIHBzZXVkbyA6OmFmdGVyIChnZW9tZXRyaWFcbi8vIGRvIDo6YWZ0ZXIgZmljYSBubyBjb21wb25lbnRlKS4gU3Vic3RpdHVpIGEgdMOpY25pY2EgYW50aWdhIGRlIHJldmVsYXJcbi8vIGBib3JkZXItY29sb3JgLiBEaXJlY2lvbmFsIHBhcmEgcHJlc2VydmFyIG8gTUVTTU8gcmVjb3J0ZSBkbyBlZmVpdG8gYW50ZXJpb3I6XG4vLyB0b3AvYm90dG9tIG5hcyBjb2x1bmFzIGRlIGNvbnRlw7pkbywgbGVmdCBuYSAuZmlyc3QtY29sdW1uLCByaWdodCBuYSAubGFzdC1jb2x1bW47XG4vLyBhcyBjb2x1bmFzIGV4dHJlbWFzIChwb3NpdGlvbi9zZWxlY3QpIHNlZ3VlbSBmb3JhIGRvIGNvbnRvcm5vLiBgLmhvdmVyZWRgIMOpIG9cbi8vIGVzdGFkbyB0cmF2YWRvIHZpYSBKUyAoZm9yY2VIb3ZlcikgZW5xdWFudG8gdW0gZHJvcGRvd24gZGEgbGluaGEgZXN0w6EgYWJlcnRvLlxuLy8gRXNjb3BhZG8gZW0gdGQubWF0LWNlbGwgcGFyYSBuw6NvIGF0aW5naXIgYXMgc3ViLXRhYmVsYXMgaW50ZXJuYXMgKHNjb3Jlcy9hcnF1aXZvcykuXG4vLyBPcyBibG9jb3MgZGUgZmlyc3QvbGFzdC1jb2x1bW4gdsOqbSBERVBPSVMgZG8gZGUgY29udGXDumRvIGRlIHByb3DDs3NpdG86IHTDqm0gYVxuLy8gbWVzbWEgZXNwZWNpZmljaWRhZGUgZSBwcmVjaXNhbSB2ZW5jZXIgcGVsbyBkZXNlbXBhdGUgZGUgb3JkZW0uXG4vLyAkcm93OiBxdWFsaWZpY2Fkb3Igb3BjaW9uYWwgZGEgbGluaGEgKGV4LjogJy5uby1zdGF0dXMtY29sb3InKSBwLyBlc2NvcGFyIG8gY29udG9ybm9cbi8vIGEgdW0gc3ViY29uanVudG8gZGUgbGluaGFzIGNvbSBtYWlvciBlc3BlY2lmaWNpZGFkZSAob3ZlcnJpZGUpLiBWYXppbyA9IHRvZGFzIGFzIGxpbmhhcy5cbkBtaXhpbiBzdWJtaXNzaW9uLXJvdy1ob3Zlci1vdXRsaW5lKCRjb2xvciwgJHJvdzogJycpIHtcbiAgdHIjeyRyb3d9OmhvdmVyIHRkLm1hdC1jZWxsOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyLFxuICB0ciN7JHJvd30uaG92ZXJlZCB0ZC5tYXQtY2VsbDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIHRyI3skcm93fTpob3ZlciB0ZC5tYXQtY2VsbC5maXJzdC1jb2x1bW46bm90KDpmaXJzdC1jaGlsZCk6OmFmdGVyLFxuICB0ciN7JHJvd30uaG92ZXJlZCB0ZC5tYXQtY2VsbC5maXJzdC1jb2x1bW46bm90KDpmaXJzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkY29sb3I7XG4gIH1cblxuICB0ciN7JHJvd306aG92ZXIgdGQubWF0LWNlbGwubGFzdC1jb2x1bW46bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIsXG4gIHRyI3skcm93fS5ob3ZlcmVkIHRkLm1hdC1jZWxsLmxhc3QtY29sdW1uOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi5saWdodC10aGVtZSBhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiAubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHtcbiAgQGluY2x1ZGUgc3VibWlzc2lvbi1yb3ctaG92ZXItb3V0bGluZSgkdGFibGUtaG92ZXItYm9yZGVyLWNvbG9yKTtcbn1cbi5kYXJrLXRoZW1lIGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyIC5tYXQtY2FyZCAuc3VibWlzc2lvbi10YWJsZS5tYXQtdGFibGUge1xuICAvLyBNRVNNQSBsw7NnaWNhIGRvIHbDqXUsIGFnb3JhIHByYSBDT1IgRE8gQ09OVE9STk86XG4gIC8vICDigKIgQ29sb3JpciBPTiAobGluaGFzIGNvbG9yaWRhcy9jbGFyYXMpIOKGkiBjb250b3JubyBFU0NVUk8gKD0gbGlnaHQgbW9kZSksIHZpc8OtdmVsXG4gIC8vICAgIHNvYnJlIGFzIGNvcmVzIGNsYXJhcyBkZSBzdGF0dXMuIMOJIG8gUEFEUsODTyBkbyBkYXJrIGFxdWkuXG4gIC8vICDigKIgQ29sb3JpciBPRkYgKC5uby1zdGF0dXMtY29sb3IsIGxpbmhhcyBwbGFuYXMgZXNjdXJhcykg4oaSIGNvbnRvcm5vIEJSQU5DTyAob3ZlcnJpZGUsXG4gIC8vICAgIG1haXMgZXNwZWPDrWZpY28pLlxuICBAaW5jbHVkZSBzdWJtaXNzaW9uLXJvdy1ob3Zlci1vdXRsaW5lKCR0YWJsZS1ob3Zlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBzdWJtaXNzaW9uLXJvdy1ob3Zlci1vdXRsaW5lKHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSksICcubm8tc3RhdHVzLWNvbG9yJyk7XG5cbiAgLy8gQ29sb3JpciBPRkYsIDHCqiBjb2x1bmE6IGEgYm9yZGEgRVNRVUVSREEgZG8gY29udG9ybm8gKGJyYW5jbykgZmljYSBzb2JyZSBhIEZBSVhBIGRlXG4gIC8vIHN0YXR1cyAoc2VtcHJlIENMQVJBKSDihpIgXCJsYXZhXCIuIFVzYSBFU0NVUk8gc8OzIG5lc3NhIGJvcmRhLiAoQ29tIENvbG9yaXIgT04gbyBjb250b3Jub1xuICAvLyBqw6Egw6kgZXNjdXJvIOKGkiB2aXPDrXZlbCBzb2JyZSBhIGZhaXhhLCBuw6NvIHByZWNpc2EgZGUgb3ZlcnJpZGUuKSBBcMOzcyBvIEBpbmNsdWRlXG4gIC8vIG5vLXN0YXR1cy1jb2xvciBhY2ltYSDihpIgbWVzbW8gc2VsZXRvciwgdmVuY2UgcG9yIG9yZGVtIGRlIGZvbnRlLlxuICB0ci5uby1zdGF0dXMtY29sb3I6aG92ZXIgdGQubWF0LWNlbGwuZmlyc3QtY29sdW1uOm5vdCg6Zmlyc3QtY2hpbGQpOjphZnRlcixcbiAgdHIubm8tc3RhdHVzLWNvbG9yLmhvdmVyZWQgdGQubWF0LWNlbGwuZmlyc3QtY29sdW1uOm5vdCg6Zmlyc3QtY2hpbGQpOjphZnRlciB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgfVxufVxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyLCAnLm1hdC1jYXJkIC5zdWJtaXNzaW9uLXRhYmxlLm1hdC10YWJsZSB0ZCBzcGFuLnN1YnRpdGxlLXRleHQnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuLy8gQ29yIGRlZmF1bHQgZG8gdGV4dG8gZGFzIGPDqWx1bGFzID0gaXRlbSBkZSAxwrogbsOtdmVsIGRvIG1lbnUgbGF0ZXJhbC4gQWx0YVxuLy8gZXNwZWNpZmljaWRhZGUgKC5saWdodC8uZGFyayArIGNhZGVpYSBtYXQtdGFibGUpIHBhcmEgdmVuY2VyIG8gZm9yZWdyb3VuZCBkb1xuLy8gbWF0LWNhcmQgKE1hdGVyaWFsKS4gQXMgbm90YXMgKC5yYW5rLXRhYmxlLCBmdW5kbyBicmFuY28pIHPDo28gdHJhdmFkYXMgZW1cbi8vIGVzY3VybyBubyBwcsOzcHJpbyBjb21wb25lbnRlIHBhcmEgbsOjbyBmaWNhcmVtIGlsZWfDrXZlaXMgbm8gZGFyay5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiwgJy5tYXQtY2FyZCAuc3VibWlzc2lvbi10YWJsZS5tYXQtdGFibGUgdGQubWF0LWNlbGwnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuLy8gQ29sdW5hICMgKG51bWVyYcOnw6NvKTogTUVTTUEgY29yIGRvIGNhYmXDp2FsaG8sIHZpYSB0b2tlbiB1bmlmaWNhZG8gJHRhYmxlLWhlYWRlci1jb2xvci5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiwgJy5tYXQtY2FyZCAuc3VibWlzc2lvbi10YWJsZS5tYXQtdGFibGUgdGQucG9zaXRpb24nLCBjb2xvciwgJHRhYmxlLWhlYWRlci1jb2xvciwgJHRhYmxlLWhlYWRlci1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiwgJy5tYXQtY2FyZCAuc3VibWlzc2lvbi10YWJsZS5tYXQtdGFibGUgdGggLm1hcmstYWxsLWJ1dHRvbicsIGJhY2tncm91bmQtY29sb3IsICRjb250ZW50LWJhY2tncm91bmQsICRjb250ZW50LWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIsICcubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHRkLnNlbGVjdCBidXR0b24nLCBiYWNrZ3JvdW5kLWNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vLyBDT05URcOaRE8gZGFzIGPDqWx1bGFzIOKAlCBNRVNNQSBsw7NnaWNhIGRvIHbDqXUvYm9yZGE6IGxpbmhhcyBDT0xPUklEQVMgKENvbG9yaXIgT04pIHTDqm1cbi8vIGZ1bmRvIGRlIHN0YXR1cyBDTEFSTyBlbSBBTUJPUyBvcyB0ZW1hcyDihpIgbyBjb250ZcO6ZG8gdXNhIGFzIGNvcmVzIGRvIExJR0hUIG1vZGVcbi8vIChsZWfDrXZlbCBzb2JyZSBvIGNsYXJvKS4gU8OzIGBkYXJrICsgbm8tc3RhdHVzLWNvbG9yYCBtYW50w6ltIGFzIGNvcmVzIGRvIGRhcmsgKGrDoSB2w6ptXG4vLyBkYXMgcmVncmFzIGFjaW1hKS4gRXN0ZSBibG9jbyBzw7MgYXRhY2EgbyBkYXJrICsgbGluaGEgQ09MT1JJREEgKGB0cjpub3QoLm5vLXN0YXR1cy1jb2xvcilgKSxcbi8vIHZlbmNlbmRvIGFzIHJlZ3JhcyBkYXJrIGJhc2UgcG9yIHRlciBvIGB0cjpub3QoLi4uKWAgKyBvcyBgOm5vdCg6Zmlyc3QvbGFzdClgIGEgbWFpcy5cbi8vIEVzY29wbyA9IGPDqWx1bGFzIGRlIENPTlRFw5pETyAoZXhjbHVpIG51bWVyYcOnw6NvL3NlbGXDp8OjbywgcXVlIGZpY2FtIGZvcmEgZG8gY2FyZCkuXG4uZGFyay10aGVtZSBhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiAubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHRyOm5vdCgubm8tc3RhdHVzLWNvbG9yKSB7XG4gIHRkLm1hdC1jZWxsOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjsgICAgICAgICAgICAgICAgIC8vIHRleHRvIGJhc2U6ICMzNzM3MzQgKGVyYSAjYzRjMmJkKVxuXG4gICAgc3Bhbi5zdWJ0aXRsZS10ZXh0IHsgY29sb3I6ICRjb250ZW50LWNvbG9yOyB9ICAgICAgICAgLy8gc3VidMOtdHVsbzogIzM2MzYzNiAoZXJhICNGNkY2RjYpXG4gICAgLnRpdGxlIHsgY29sb3I6ICRjb250ZW50LWNvbG9yOyB9ICAgICAgICAgICAgICAgICAgICAgLy8gdMOtdHVsbzogIzM2MzYzNiAoZXJhICNGNkY2RjYsIHJlZ3JhIGdsb2JhbCAudGl0bGUpXG4gICAgLy8gTGlua3Mvw61jb25lcyBhY2NlbnQgKGF1dG9yZXMrZS1tYWlscyk6IGFjY2VudCBkbyBMSUdIVCAoIzdDMkQxMiwgbWFycm9tKS4gQ29icmUgb1xuICAgIC8vIDxhPiBlbSBzaSAodmVuY2UgYF9wYXBlci5zY3NzYCkuIE8gPHNwYW4+IGludGVybm8gZG8gbm9tZS9lLW1haWwgdGVtIGNvciBQUsOTUFJJQVxuICAgIC8vIChyZWdyYSBgdGQuZGVzY3JpcHRpb24gYSBzcGFuYCBkbyBjb21wb25lbnRlIHYyLCBxdWUgY29tcGlsYSBjb20gdsOhcmlvcyBbX25nY29udGVudF1cbiAgICAvLyDihpIgZXNwZWNpZmljaWRhZGUgbWFpb3IpIOKGkiB0cmF0YWRvIG5hIHJlZ3JhIERFRElDQURBIGxvZ28gYXDDs3MgZXN0ZSBibG9jby5cbiAgICBhLCAuZmEtZmlsZS1wZGYsIC5mYS11cGxvYWQgeyBjb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIENvbHVuYSBBcnF1aXZvczogYXBwLWZpbGUtcGlsbCDDqSBDT01QT05FTlRFIHNlcGFyYWRvIChyZWdyYXMgZGFyayB2aWEgOmhvc3QtY29udGV4dCkuXG4gICAgLy8gRm9yw6dhIG8gdGV4dG8gZG8gcGlsbCAoaW5jbHVzaXZlIGEgdmFyaWFudGUgXCItLW1pc3NpbmdcIiwgZXguOiBcIk1hbnVzY3JpdG9cIiBhdXNlbnRlKSxcbiAgICAvLyBvIMOtY29uZSBkZSBhdXNlbnRlIEUgbyDDrWNvbmUgZGUgZG93bmxvYWQgcHJvIGVzcXVlbWEgTElHSFQgc29icmUgYSBsaW5oYSBjb2xvcmlkYS5cbiAgICAvLyBDbGFzc2VzIFJFQUlTID0gYC5maWxlLXBpbGwqYCAoTsODTyBgLmN2LWViLSpgLCBxdWUgw6kgZGUgb3V0cm8gY29tcG9uZW50ZSDigJQgZm9pIG9cbiAgICAvLyBlcnJvIGFudGVyaW9yKS4gTyBcIipcIiByZXF1aXJlZCAodmVybWVsaG8pIGZpY2EgY29tbyBlc3TDoS5cbiAgICBhcHAtZmlsZS1waWxsIC5maWxlLXBpbGwsXG4gICAgYXBwLWZpbGUtcGlsbCAuZmlsZS1waWxsLS1taXNzaW5nLFxuICAgIGFwcC1maWxlLXBpbGwgLmZpbGUtcGlsbC1uYW1lLFxuICAgIGFwcC1maWxlLXBpbGwgLmZpbGUtcGlsbC1pY29uLW1pc3NpbmcgeyBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IgIWltcG9ydGFudDsgfVxuICAgIGFwcC1maWxlLXBpbGwgLmZpbGUtcGlsbC1pY29uIHsgY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbi8vIEFVVE9SIOKAlCA8c3Bhbj4gZG8gbm9tZS9lLW1haWw6IG8gY29tcG9uZW50ZSB2MiBjb2xvcmUgYHRkLmRlc2NyaXB0aW9uIGEgc3BhbmAsIHF1ZSBjb21waWxhXG4vLyBjb20gVsOBUklPUyBbX25nY29udGVudF0gKGNhZGEgdW0gY29udGEgY29tbyBjbGFzc2UpIOKGkiBlc3BlY2lmaWNpZGFkZSB+KDAsOSwzKSwgQUNJTUEgZG9cbi8vIGJsb2NvIGFjaW1hIH4oMCw4LDUpLiBDb21vIG7CuiBkZSBDTEFTU0VTIGRlc2VtcGF0YSBwcmltZWlybyAoOSA+IDgpLCBhIGRvIGNvbXBvbmVudGUgdmVuY2Vcbi8vIGUgbyBzcGFuIGZpY2EgYW1iZXIgKCNGQkJGMjQpLiBFc3RhIHJlZ3JhIGRlZGljYWRhIGFjcmVzY2VudGEgYC5wYXBlckJhY2tncm91bmRgIChubyA8dHI+KVxuLy8gZSBgLmRlc2NyaXB0aW9uYCAobm8gPHRkPikg4oaSIHNvYmUgcHJhIH4oMCwxMCw1KSBlIHZlbmNlIOKGkiBhdXRvci9lLW1haWwgbm8gYWNjZW50IG1hcnJvbS5cbi5kYXJrLXRoZW1lIGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyIC5tYXQtY2FyZCAuc3VibWlzc2lvbi10YWJsZS5tYXQtdGFibGUgdHIucGFwZXJCYWNrZ3JvdW5kOm5vdCgubm8tc3RhdHVzLWNvbG9yKSB0ZC5tYXQtY2VsbC5kZXNjcmlwdGlvbjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIGEgc3BhbiB7XG4gIGNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudDtcbn1cblxuLy8gw41jb25lIGRlIGRvd25sb2FkIGRvIGZpbGUtcGlsbCBuYXMgbGluaGFzIGBuby1zdGF0dXMtY29sb3JgIChDb2xvcmlyIE9GRiA9IGVzcXVlbWEgREFSSyk6XG4vLyBmb3LDp2EgbyBhY2NlbnQgZG8gZGFyayAoI0ZCQkYyNCDDom1iYXIpLiBSRURVTkRBTlRFIGNvbSBhIHJlZ3JhIGdsb2JhbCBlbVxuLy8gYGZpbGUtcGlsbC5jb21wb25lbnQuc2NzcyA6aG9zdC1jb250ZXh0KC5kYXJrLXRoZW1lKSAuZmlsZS1waWxsLWljb25gIChtZXNtYSBjb3IpLFxuLy8gbWFudGlkYSBwb3Igc2VndXJhbsOnYSBlbSBjYXNvIGRlIG8gZGVmYXVsdCBnbG9iYWwgc2VyIHJldmVydGlkby4gQXMgbGluaGFzIENPTE9SSURBU1xuLy8gdMOqbSByZWdyYSBkZWRpY2FkYSBhY2ltYSBxdWUgZm9yw6dhIG8gYWNjZW50IExJR0hUICgjN0MyRDEyIG1hcnJvbSkuXG4uZGFyay10aGVtZSBhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiAubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHRyLm5vLXN0YXR1cy1jb2xvciB0ZC5tYXQtY2VsbCBhcHAtZmlsZS1waWxsIC5maWxlLXBpbGwtaWNvbiB7XG4gIGNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuXG4vKiBhcHAtc3VibWlzc2lvbnMtZmllbGQtZmlsdGVyLXYyICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWZpZWxkLWZpbHRlci12MiwgJy5zdWJtaXNzaW9ucy1maWVsZHMtZmlsdGVyLXRhYmxlLVYyIC5tYXQtZXhwYW5zaW9uLXBhbmVsJywgYmFja2dyb3VuZC1jb2xvciwgJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3IsICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdWJtaXNzaW9ucy1maWVsZC1maWx0ZXItdjIsICcuc3VibWlzc2lvbnMtZmllbGRzLWZpbHRlci10YWJsZS1WMiAubWF0LWV4cGFuc2lvbi1wYW5lbCcsIGJvcmRlci1jb2xvciwgJG1hdC1jYXJkLWJvcmRlci1jb2xvciwgJG1hdC1jYXJkLWJvcmRlci1jb2xvci1kYXJrKTtcblxuLyogYXBwLXN1Ym1pc3Npb25zLWxpc3QtZmlsdGVyICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWxpc3QtZmlsdGVyLCAnLnN1Ym1pc3Npb25zLWxpc3QtZmlsdGVyIC5maWVsZHMnLCBiYWNrZ3JvdW5kLWNvbG9yLCAnJywgcmdiYSgwLCAwLCAwLCAuNzUpKTtcblxuLyogYXBwLWZpbGUtcnVsZXMtY2FyZCAqL1xuLy8gQ2luemEgZG8gbWluaWNhcmQgPSAkZ3JheS0xNTAgKHdhcm0tc3RvbmUgZG8gc2lzdGVtYSksIG5vIGx1Z2FyIGRvICNlZGVkZWRcbi8vIG5ldXRybyBkbyAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kIChxdWUgZGVzdG9hdmEgZG8gcmVzdG8pLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZmlsZS1jYXJkIC50b3AtZmlsZS1jYXJkJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktMTUwLCAkc3VyZmFjZS1yYWlzZWQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtcnVsZXMtY2FyZCwgJy5maWxlLWNhcmQgLnVwbG9hZGluZycsIGJhY2tncm91bmQtY29sb3IsICRhZG1pbi1hY2NlbnQtYmFja2dyb3VuZC1jb2xvciwgJGFkbWluLWFjY2VudC1iYWNrZ3JvdW5kLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZmlsZS1jYXJkIC5ub3RVcGxvYWRpbmcnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWRtaW4tYmFja2dyb3VuZCwgJGFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtcnVsZXMtY2FyZCwgJy5maWxlLWNhcmQgLmRldGFpbC1jb2x1bW5zIC5kdWUtZGF0ZScsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTE1MCwgJHN1cmZhY2UtcmFpc2VkLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZmlsZS1jYXJkIC5kZXRhaWwtY29sdW1ucyAuZHVlLWRhdGUnLCBjb2xvciwgJGdyYXktNTAwLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbi8vIE8gZ2xvYm8gKGFwcC1kaWFsb2ctdGltZXpvbmUpIMOpIHVtIG1hdC1pY29uLWJ1dHRvbiBxdWUgbsOjbyByZXBhc3NhIG8gY3VycmVudENvbG9yIOKAlCBmb3LDp2EgYSBtZXNtYSBjb3IgbXV0ZWQgZGEgY2FwdGlvbi5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS1ydWxlcy1jYXJkLCAnLmZpbGUtY2FyZCAuZGV0YWlsLWNvbHVtbnMgLmR1ZS1kYXRlIGFwcC1kaWFsb2ctdGltZXpvbmUgLm1hdC1pY29uJywgY29sb3IsICRncmF5LTUwMCwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG4vLyBBc3RlcmlzY28gZGUgXCJvYnJpZ2F0w7NyaW9cIiBhbnRlcyBkbyB0w610dWxvIGRvIGFycXVpdm8uXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtcnVsZXMtY2FyZCwgJy5maWxlLWNhcmQgLmluZm8tY29sdW1uIC5maWxlLXJlcXVpcmVkJywgY29sb3IsICRhY2NlbnQtY29sb3Itd2FybmluZywgJGFjY2VudC1jb2xvci13YXJuaW5nLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZmlsZS1jYXJkIC5kZXRhaWwtY29sdW1ucyAuZGlzYWJsZWQgLm1hdC1pY29uJywgY29sb3IsICRidXR0b24tZGlzYWJsZWQtY29sb3IsICRidXR0b24tZGlzYWJsZWQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtcnVsZXMtY2FyZCwgJy5maWxlLWNhcmQgLmRldGFpbC1jb2x1bW5zIC5kb3dubG9hZC1jb2x1bW4gLmJ1dHRvbi1kb3dubG9hZC1maWxlOm5vdCguZGlzYWJsZWQpIC5maWxlLXR5cGUtaWNvbicsIGNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS1ydWxlcy1jYXJkLCAnLmZpbGUtY2FyZCAuZGV0YWlsLWNvbHVtbnMgLmluZm8tY29sdW1uIC5idXR0b24tcnVsZS1pbmZvIC5tYXQtaWNvbicsIGNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrKTtcbi8vIENvcmVzIGRvcyDDrWNvbmVzIGRlIGHDp8OjbyBkbyBtaW5pY2FyZCAoRmFzZSAxOiBtaWdyYcOnw6NvIGplbXMzc+KGkk1hdGVyaWFsIFN5bWJvbHNcbi8vICsgdG9rZW5zIHRoZW1lLWF3YXJlKS4gRGVsZXRlIGUgXCJuw6NvIHVzYSB0ZW1wbGF0ZVwiID0gd2FybmluZzsgXCJ1c2EgdGVtcGxhdGVcIiA9XG4vLyBzdWNjZXNzOyBlcnJvID0gd2FybmluZy4gZG93bmxvYWQtYmFyIChvdmVybGF5IGRlICUgbm8gZG93bmxvYWQpIGNhc2EgbyB0b3BvIGRvIGNhcmQuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtcnVsZXMtY2FyZCwgJy5maWxlLWNhcmQgLmRldGFpbC1jb2x1bW5zIC5pbmZvLWNvbHVtbiAuYnV0dG9uLWRlbGV0ZS1maWxlOm5vdCguZGlzYWJsZWQpIC5tYXQtaWNvbicsIGNvbG9yLCAkYWNjZW50LWNvbG9yLXdhcm5pbmcsICRhY2NlbnQtY29sb3Itd2FybmluZy1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS1ydWxlcy1jYXJkLCAnLmZpbGUtY2FyZCAuZGV0YWlsLWNvbHVtbnMgLmluZm8tY29sdW1uIC5idXR0b24tcnVsZS11c2VzLXNiYy10ZW1wbGF0ZSAubWF0LWljb24nLCBjb2xvciwgJGFjY2VudC1jb2xvci1zdWNjZXNzLCAkYWNjZW50LWNvbG9yLXN1Y2Nlc3MtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtcnVsZXMtY2FyZCwgJy5maWxlLWNhcmQgLmRldGFpbC1jb2x1bW5zIC5pbmZvLWNvbHVtbiAuYnV0dG9uLXJ1bGUtbm90LXVzZXMtc2JjLXRlbXBsYXRlIC5tYXQtaWNvbicsIGNvbG9yLCAkYWNjZW50LWNvbG9yLXdhcm5pbmcsICRhY2NlbnQtY29sb3Itd2FybmluZy1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS1ydWxlcy1jYXJkLCAnLmZpbGUtY2FyZCAuZGV0YWlsLWNvbHVtbnMgLmluZm8tY29sdW1uIC5maWxlLWVycm9yJywgY29sb3IsICRhY2NlbnQtY29sb3Itd2FybmluZywgJGFjY2VudC1jb2xvci13YXJuaW5nLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZG93bmxvYWQtYmFyJywgYmFja2dyb3VuZC1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS11cGxvYWQsICcuc3VjY2Vzcy1pY29uJywgY29sb3IsICRhY2NlbnQtY29sb3Itc3VjY2VzcywgJGFjY2VudC1jb2xvci1zdWNjZXNzLWRhcmspO1xuXG4vKiBhcHAtZmlsZS11cGxvYWQgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS11cGxvYWQsICcuZmlsZS11cGxvYWQgLmZpbGUtdXBsb2FkLWljb24gLm1hdC1pY29uJywgY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmspO1xuLy8gw41jb25lIGRlIHVwbG9hZCBERVNBQklMSVRBRE8gKHByYXpvIHBhc3NvdSAvIHNlbSBwZXJtaXNzw6NvKTogY29yIGRlIGRpc2FibGVkLFxuLy8gTsODTyBhY2NlbnQuIFZlbSBkZXBvaXMgZGEgcmVncmEgYWNjZW50IChtZXNtYSBlc3BlY2lmaWNpZGFkZSkg4oaSIHZlbmNlLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXVwbG9hZCwgJy5maWxlLXVwbG9hZCAuZmlsZS11cGxvYWQtaWNvbi1kaXNhYmxlZCAubWF0LWljb24nLCBjb2xvciwgJGJ1dHRvbi1kaXNhYmxlZC1jb2xvciwgJGJ1dHRvbi1kaXNhYmxlZC1jb2xvci1kYXJrKTtcblxuLyogYXBwLWN1c3RvbS1mb3JtLXRleHQtcXVlc3Rpb24gKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY3VzdG9tLWZvcm0tdGV4dC1xdWVzdGlvbiwgJy5jdXN0b20tdGV4dC1xdWVzdGlvbiB0ZXh0YXJlYScsIGJhY2tncm91bmQtY29sb3IsICR3aGl0ZS0xMDAwLCAkYmxhY2stMTAwMCk7XG5cbi8qIGFwcC1leHBvcnQtc3VibWlzc2lvbnMgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXhwb3J0LXN1Ym1pc3Npb25zLCAnLmV4cG9ydC1zdWJtaXNzaW9ucyAuc2VjdGlvbiAubmFtZSBhJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcblxuLyogYXBwLWV2ZW50LXB1YmxpY2F0aW9uICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LXB1YmxpY2F0aW9uLCAnLnB1YmxpY2F0aW9uLWNvbnRyb2xzIC5tYXQtY2FyZCcsIGJhY2tncm91bmQtY29sb3IsICRjb250ZW50LWJhY2tncm91bmQsICRjb250ZW50LWJhY2tncm91bmQtZGFyayk7XG5cbi8qIGFwcC1wdWJsaWNhdGlvbi1maXhlZC1jb250cm9sICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXB1YmxpY2F0aW9uLWZpeGVkLWNvbnRyb2wsICcuZml4ZWQtY29udHJvbCAubWF0LWNhcmQgdGFibGUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1wdWJsaWNhdGlvbi1maXhlZC1jb250cm9sLCAnLmZpeGVkLWNvbnRyb2wgLm1hdC1jYXJkIHRhYmxlIHRkJywgYm9yZGVyLXJpZ2h0LWNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQsICRjb250ZW50LWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHVibGljYXRpb24tZml4ZWQtY29udHJvbCwgJy5maXhlZC1jb250cm9sIC5tYXQtY2FyZCB0YWJsZSB0aCcsIGJvcmRlci1yaWdodC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50LCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXB1YmxpY2F0aW9uLWZpeGVkLWNvbnRyb2wsICcuZml4ZWQtY29udHJvbCAubWF0LWNhcmQgdGFibGUgdGgnLCBjb2xvciwgJGNvbnRlbnQtbGlnaHRjb2xvciwgJGNvbnRlbnQtbGlnaHRjb2xvci1kYXJrKTtcblxuLyogYXBwLXByb2NlZWRpbmctc3RlcCAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1wcm9jZWVkaW5nLXN0ZXAsICcuY29udGVudCAuY29udGVudC1saXN0IGgzJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHJvY2VlZGluZy1zdGVwLCAnLmNvbnRlbnQgLm5vdC1pbmNsdWRlZCcsIGJvcmRlciwgMXB4IHNvbGlkIGJsYWNrLCAxcHggc29saWQgd2hpdGUpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1wcm9jZWVkaW5nLXN0ZXAsICcuY29udGVudCAuaW5jbHVkZWQnLCBib3JkZXIsIDFweCBzb2xpZCBibGFjaywgMXB4IHNvbGlkIHdoaXRlKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHJvY2VlZGluZy1zdGVwLCAnLmNvbnRlbnQgLnRyYWNrJywgYm9yZGVyLCAxcHggc29saWQgYmxhY2ssIDFweCBzb2xpZCB3aGl0ZSk7XG5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHJvY2VlZGluZy1zdGVwLCAnLnRyYWNrLWZpbGUgLnRyYWNrIGgzJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHJvY2VlZGluZy1zdGVwLCAnLnNlY3Rpb25zMyAuc2VjdGlvbnMtbGlzdCBoMycsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5cblxuLyogYXBwLXByb2NlZWRpbmctaW5kZXgtaXRlbSAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1wcm9jZWVkaW5nLWluZGV4LWl0ZW0sICcuaXRlbSAubWF0LWV4cGFuc2lvbi1wYW5lbCcsIGJveC1zaGFkb3csICcnLCAwcHggMnB4IDEwcHggMXB4IGJsYWNrKTtcblxuLyogYXBwLXByb2NlZWRpbmctYXV0aG9yLWluZGV4LWl0ZW0gKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHJvY2VlZGluZy1hdXRob3ItaW5kZXgtaXRlbSwgJy5pdGVtIC5tYXQtZXhwYW5zaW9uLXBhbmVsJywgYm94LXNoYWRvdywgJycsIDBweCAycHggMTBweCAxcHggYmxhY2spO1xuXG4vKiBhcHAtY2FsZW5kYXItdmlldyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jYWxlbmRhci12aWV3LCAnLmNvbnRhaW5lci12aWV3LWRhdGUnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jYWxlbmRhci12aWV3LCAnbXdsLWNhbGVuZGFyLXdlZWstdmlldycsIGNvbG9yLCAnJywgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNhbGVuZGFyLXZpZXcsICcuY2FsLWRheS1oZWFkZXJzJywgYmFja2dyb3VuZC1jb2xvciwgJycsICRjYWxlbmRhci1oZWFkZXItYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2FsZW5kYXItdmlldywgJy5jYWwtd2Vlay12aWV3LCAuY2FsLXRpbWUsIC5jYWwtaG91ci1zZWdtZW50JywgYmFja2dyb3VuZC1jb2xvciwgJycsICRjYWxlbmRhci1iYWNrZ3JvdW5kLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jYWxlbmRhci12aWV3LCAnLmNhbC13ZWVrLXZpZXcgLmNhbC1kYXktaGVhZGVycyAuY2FsLWhlYWRlcjpob3ZlcicsIGJhY2tncm91bmQtY29sb3IsIHJnYmEoMCwwLDAsLjMpLCByZ2JhKDI1NSwyNTUsMjU1LC4zKSk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNhbGVuZGFyLXZpZXcsICcuY2FsLXdlZWstdmlldyAuY2FsLXRpbWUtZXZlbnRzIC5jYWwtZGF5LWNvbHVtbnM6bm90KC5jYWwtcmVzaXplLWFjdGl2ZSkgLmNhbC1ob3VyLXNlZ21lbnQ6aG92ZXIgJywgYmFja2dyb3VuZC1jb2xvciwgcmdiYSgwLDAsMCwuMyksIHJnYmEoMjU1LDI1NSwyNTUsLjMpKTtcblxuLyogYXBwLWNoaXAtY2hlY2tib3ggKi9cbi8vIFLDs3R1bG8vw61jb25lIGRvIGNoaXAgTsODTy1tYXJjYWRvIG5vIGRhcmsuIEVyYSAjODY4Njg2LCBxdWUgc29icmUgYSBzdXBlcmbDrWNpZVxuLy8gcmVhbCBkbyBwYXNzbyBkZSB0w7NwaWNvcyAoIzQyNDI0MiwgbWVkaWRvKSBkw6EgY29udHJhc3RlIGRlIDIsNjoxIOKAlCBtdWl0byBhYmFpeG9cbi8vIGRvcyA0LDU6MSBkYSBXQ0FHIEFBLCBlIMOpIG8gcXVlIGRlaXhhdmEgYSBncmFkZSBkZSB0w7NwaWNvcyBcImVzdHJhbmhhXCIvaWxlZ8OtdmVsXG4vLyBubyBkYXJrIChpc3N1ZSAjMjM3MSkuIHJnYmEoMjU1LDI1NSwyNTUsLjc1KSBjb21ww7VlIH4jRDBEMEQwIHNvYnJlIGVzc2UgZnVuZG9cbi8vICh+NjoxKSBlIGNvbnRpbnVhIFJFQ1VBRE8gZW0gcmVsYcOnw6NvIGFvcyB0w610dWxvcyBkZSBjYXRlZ29yaWEgKCNGNkY2RjYpLlxuLy8gQSBkaXN0aW7Dp8OjbyBtYXJjYWRvL27Do28tbWFyY2FkbyB2ZW0gZG8gcHJlZW5jaGltZW50byBhY2NlbnQsIG7Do28gZGUgYXBhZ2FyIG9cbi8vIHRleHRvIOKAlCBwb3IgaXNzbyBjbGFyZWFyIGFxdWkgbsOjbyBjb25mdW5kZSBvcyBkb2lzIGVzdGFkb3MuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoaXAtY2hlY2tib3gsICcuY2hpcC1jaGVja2JveCBsYWJlbCBkaXY6bm90KC5jaGVja2VkKScsIGNvbG9yLCAnJywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KSk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoaXAtY2hlY2tib3gsICcuY2hpcC1jaGVja2JveCBsYWJlbCAubWF0LWljb246bm90KC5jaGVja2VkKScsIGNvbG9yLCAnJywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KSk7XG5cbi8qIGFwcC1kYXNoYm9hcmQtc2V0dGluZ3MgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLXNldHRpbmdzLCAnLmRhdGFzZXQtbWVudScsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1zZXR0aW5ncywgJy5kYXRhc2V0LW1lbnUgLm1hdC1pY29uJywgY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiBhcHAtY2hhcnQtY29tcG9uZW50ICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoYXJ0LWNvbXBvbmVudCwgJy5jaGFydC1jb250YWluZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQsICcuY2hhcnQtY29udGFpbmVyJywgYm9yZGVyLWNvbG9yLCAkbWF0LWNhcmQtYm9yZGVyLWNvbG9yLCAkbWF0LWNhcmQtYm9yZGVyLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQsICcuY2hhcnQtY29udGFpbmVyIC5jdC1heGlzLXRpdGxlJywgZmlsbCwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQsICcuY2hhcnQtY29udGFpbmVyIC5jdC1sYWJlbCcsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoYXJ0LWNvbXBvbmVudCwgJy5jaGFydC1jb250YWluZXIgLmxlZ2VuZC10aXRsZScsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoYXJ0LWNvbXBvbmVudCwgJy5jaGFydC1jb250YWluZXIgLmN0LWdyaWQnLCBzdHJva2UsICRjaGFydC1ncmlkLWNvbG9yLCAkY2hhcnQtZ3JpZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hhcnQtY29tcG9uZW50LCAnLmN0LWxlZ2VuZCBsaScsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5cblxuLyogYXBwLWNoYXJ0LWNvbXBvbmVudC12MiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQtdjIsICcuY2hhcnQtY29udGFpbmVyLXYyIC5jaGFydCB0ZXh0JywgZmlsbCwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQtdjIsICcuY2hhcnQtY29udGFpbmVyLXYyIC5sZWdlbmQtbGFiZWwgLmxlZ2VuZC1sYWJlbC10ZXh0JywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hhcnQtY29tcG9uZW50LXYyLCAnLmNoYXJ0LXYyJywgYmFja2dyb3VuZC1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hhcnQtY29tcG9uZW50LXYyLCAnLmNoYXJ0LWxlZ2VuZCcsIGJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQtdjIsICcuY2hhcnQtbGVnZW5kJywgYmFja2dyb3VuZCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoYXJ0LWNvbXBvbmVudC12MiwgJy5jaGFydC1sZWdlbmQgLmxlZ2VuZC1sYWJlbHMnLCBiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc3BhcmVudCAhaW1wb3J0YW50LCB0cmFuc3BhcmVudCAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hhcnQtY29tcG9uZW50LXYyLCAnLmNoYXJ0LWxlZ2VuZCAubGVnZW5kLWxhYmVscycsIGJhY2tncm91bmQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQtdjIsICcubmd4LWNoYXJ0cyAuZ3JpZC1wYW5lbCByZWN0JywgZmlsbCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCk7XG5cbi8qIGFwcC1tYXRoLWNhcHRjaGEgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtbWF0aC1jYXB0Y2hhLCAnLmNvbnRhaW5lcicsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLW1hdGgtY2FwdGNoYSwgJyNidXR0b25JbnB1dCcsIGJhY2tncm91bmQtY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1tYXRoLWNhcHRjaGEsICcuY2xzLTEnLCBmaWxsLCAkYWNjZW50LWJhY2tncm91bmQsICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrKTtcblxuLyogYXBwLXByb2NlZWRpbmctc3RlcCAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wIChhcHAtcHJvY2VlZGluZy1zdGVwLCAnLnNlY3Rpb25zLWxpc3QgLmh5cGVybGluaycsIGNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCAoYXBwLXByb2NlZWRpbmctc3RlcCwgJy5zZWN0aW9ucy1saXN0IC5uby1oeXBlcmxpbmsnLCBjb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3IgIWltcG9ydGFudCwgJHNpZGViYXItbGFiZWwtY29sb3ItZGFyayAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCAoYXBwLXByb2NlZWRpbmctc3RlcCwgJy5zZWN0aW9ucy1saXN0JywgYm9yZGVyLWNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3ItZGFyayk7XG5cbi8qIGFwcC1jdXN0b20taW5wdXQgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLmN1c3RvbS1pbnB1dCcsICcnLCBiYWNrZ3JvdW5kLWNvbG9yLCRjb250ZW50LWJhY2tncm91bmQsICRjb250ZW50LWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5jdXN0b20taW5wdXQnLCAnJywgYm9yZGVyLCAycHggc29saWQgJGV2ZW50LWNhcmQtaG92ZXItYm9yZGVyLWNvbG9yLCAycHggc29saWQgJGV2ZW50LWNhcmQtaG92ZXItYm9yZGVyLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuY3VzdG9tLWlucHV0JywgJycsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5cbi8qIGFwcC1zdXBwb3J0LWJ1dHRvbiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdXBwb3J0LWJ1dHRvbiwgJy5zdXBwb3J0LWJ1dHRvbicsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1cHBvcnQtYnV0dG9uLCAnLnN1cHBvcnQtYnV0dG9uIC5tYXQtaWNvbicsIGNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmssICRjb250ZW50LWJhY2tncm91bmQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdXBwb3J0LWJ1dHRvbiwgJy5zdXBwb3J0LWNhcmQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdXBwb3J0LWJ1dHRvbiwgJy5zdXBwb3J0LWNhcmQnLCBjb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrLCAkY29udGVudC1iYWNrZ3JvdW5kKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VwcG9ydC1idXR0b24sICcuc3VwcG9ydC1jYXJkIC5jYXJkLXRpdGxlJywgY29sb3IsICRjb250ZW50LWJhY2tncm91bmQtZGFyaywgJGNvbnRlbnQtYmFja2dyb3VuZCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1cHBvcnQtYnV0dG9uLCAnLnN1cHBvcnQtY2FyZCAuY2FyZC1oZWFkZXIgLm1hdC1pY29uJywgY29sb3IsICRjb250ZW50LWJhY2tncm91bmQtZGFyaywgJGNvbnRlbnQtYmFja2dyb3VuZCk7XG5cbi8qIGFwcC1ldmVudC1zZXR0dGluZ3MtZW1haWwgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtc2V0dGluZ3MtZW1haWwsICcuZXZlbnQtZW1haWwgbWF0LWNhcmQtY29udGVudCcsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1cHBvcnQtYnV0dG9uLCAnLnN1cHBvcnQtY2FyZCAuY2FyZC1oZWFkZXIgLm1hdC1pY29uJywgY29sb3IsICRjb250ZW50LWJhY2tncm91bmQtZGFyaywgJGNvbnRlbnQtYmFja2dyb3VuZCk7XG5cbi8qIGFwcC11c2VyLW5vdGlmaWNhdGlvbnMg4oCUIHJlZ3JhcyBhbnRpZ2FzIHJlbW92aWRhcy4gTyBwYWluZWwgYWdvcmEgw6lcbiAgIGVzY29wYWRvIG5vIGNvbXBvbmVudGUgKHVzZXItbm90aWZpY2F0aW9ucy5jb21wb25lbnQuc2NzcykuIFJlZmVyZW5jaWFtXG4gICBlc3RydXR1cmEgYW50aWdhIChgLm5vdGlmaWNhdGlvbnMtY29udGFpbmVyIC50YWJsZS1jb250YWluZXIgdGFibGVgLFxuICAgYC5vcHRpb25zIG1hdC1pY29uLmJ1dHRvbmApIHF1ZSBuw6NvIGV4aXN0ZSBtYWlzLiAqL1xuLyogYXBwLWRhc2hib2FyZC1jaGFydC12MiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcuY2hhcnQtY29udGFpbmVyLXYyJywgYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLmNoYXJ0LWxlZ2VuZCcsIGJhY2tncm91bmQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcuY2hhcnQtbGVnZW5kJywgYmFja2dyb3VuZC1jb2xvciwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1jaGFydC12MiwgJy5jaGFydC1sZWdlbmQgLmxlZ2VuZC1sYWJlbHMnLCBiYWNrZ3JvdW5kLCB0cmFuc3BhcmVudCAhaW1wb3J0YW50LCB0cmFuc3BhcmVudCAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLmNoYXJ0LWxlZ2VuZCAubGVnZW5kLWxhYmVscycsIGJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcubmd4LWNoYXJ0cyAuZ3JpZC1wYW5lbCByZWN0JywgZmlsbCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1jaGFydC12MiwgJy5jaGFydC1sZWdlbmQgLmxlZ2VuZC1sYWJlbC10ZXh0JywgY29sb3IsICRibGFjay03MDAsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcuY2hhcnQtbGVnZW5kIC5sZWdlbmQtbGFiZWwgLmFjdGl2ZSAubGVnZW5kLWxhYmVsLXRleHQnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IgIWltcG9ydGFudCwgJGNvbnRlbnQtY29sb3ItZGFyayAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLmNoYXJ0LWxlZ2VuZCAubGVnZW5kLWxhYmVsIC5hY3RpdmUgLmxlZ2VuZC1sYWJlbC10ZXh0JywgZmlsbCwgJGNvbnRlbnQtY29sb3IgIWltcG9ydGFudCwgJGNvbnRlbnQtY29sb3ItZGFyayAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLm5neC1jaGFydHMgLnguYXhpcyAubGFiZWwnLCBmaWxsLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1jaGFydC12MiwgJy5uZ3gtY2hhcnRzIC55LmF4aXMgLmxhYmVsJywgZmlsbCwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcubmd4LWNoYXJ0cyB0ZXh0W3RyYW5zZm9ybT1cInJvdGF0ZSgyNzApXCJdJywgZmlsbCwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcubmd4LWNoYXJ0cyAuYXhpcy1sYWJlbCcsIGZpbGwsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLm5neC1jaGFydHMgLnguYXhpcyAudGljayB0ZXh0JywgZmlsbCwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcubmd4LWNoYXJ0cyBnW25neC1jaGFydHMtYXhpcy1sYWJlbF0gdGV4dCcsIGZpbGwsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLm5neC1jaGFydHMgLnkuYXhpcyAudGljayB0ZXh0JywgZmlsbCwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcubmd4LWNoYXJ0cyAuZ3JpZGxpbmUtcGF0aCcsIHN0cm9rZSwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuXG4vKiBhcHAtYWRtaW4tZXZlbnQtdmlldyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC12aWV3LCAnLm1hdC10YWItbGFiZWwubWF0LXRhYi1sYWJlbC1hY3RpdmUgPiAqJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcblxuLyogYXBwLWRhc2hib2FyZC1zZXR0aW5ncyAodGFiIGxhYmVscykgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLXNldHRpbmdzLCAnLm1hdC10YWItbGFiZWwubWF0LXRhYi1sYWJlbC1hY3RpdmUgPiAqJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcblxuLyogYXBwLXVzZXItbm90aWZpY2F0aW9ucyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm5vdGlmaWNhdGlvbnMtbWVudSAubm90aWZpY2F0aW9ucy1jb250YWluZXIgLnRhYmxlLWNvbnRhaW5lciB0YWJsZSB0cicsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubm90aWZpY2F0aW9ucy1tZW51IC5vcHRpb25zIG1hdC1pY29uJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcblxuLyogYXBwLWFzc2lnbi1yZXZpZXctc3VnZ2VzdGlvbiAqL1xuLy8gSGVhZGVyIChub21lcykgdHJhbnNwYXJlbnRlIOKAlCBvcyBsYWJlbHMgZGlhZ29uYWlzICg0NcKwKSB0cmFuc2JvcmRhbSBlbnRyZVxuLy8gY29sdW5hczsgdW0gZnVuZG8gb3BhY28gcG9yIHRoIGNvcnRhcmlhIG8gbGFiZWwgZGEgY29sdW5hIHZpemluaGEuIENhbnRvICtcbi8vIGNvbHVuYSBkbyBpZCBmaWNhbSBjb20gbyBmdW5kbyBkbyBjYXJkIChvcGFjb3MgcC8gYXMgY8OpbHVsYXMgcm9sYXJlbSBwb3Jcbi8vIGJhaXhvIHF1YW5kbyBhIGNvbHVuYSBkbyBpZCBmaWNhIGZpeGEpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hc3NpZ24tcmV2aWV3LXN1Z2dlc3Rpb24sICcudGFibGUtd2VpZ2h0IHRoJywgYmFja2dyb3VuZC1jb2xvciwgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50KTtcbi8vIEJhbmRhIG9wYWNhIGRvIGhlYWRlciB2YWkgbm8gPHRoZWFkPiAoc3RpY2t5KSwgYXRyw6FzIGRvcyB0aCB0cmFuc3BhcmVudGVzLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hc3NpZ24tcmV2aWV3LXN1Z2dlc3Rpb24sICcudGFibGUtd2VpZ2h0IHRoZWFkJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYXNzaWduLXJldmlldy1zdWdnZXN0aW9uLCAnLnRhYmxlLXdlaWdodCB0aDpmaXJzdC1jaGlsZCcsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFzc2lnbi1yZXZpZXctc3VnZ2VzdGlvbiwgJy50YWJsZS13ZWlnaHQgdGQ6Zmlyc3QtY2hpbGQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hc3NpZ24tcmV2aWV3LXN1Z2dlc3Rpb24sICcudGFibGUtd2VpZ2h0IHRkOm5vdChmaXJzdC1jaGlsZCknLCBiYWNrZ3JvdW5kLWNvbG9yLCAkdGFibGUtYmFja2dyb3VuZC1jb2xvciwgJHRhYmxlLWJhY2tncm91bmQtY29sb3ItZGFyayk7XG4vLyBCb3JkYSBsZWdhZGEgc8OzIG5hIE1BVFJJWiAodGFibGUtd2VpZ2h0KS4gQSB0YWJsZS1hc3NpZ24gbWlncm91IHAvIC5qZW1zMy10YWJsZVxuLy8gKGNocm9tZSBwcsOzcHJpbywgc2VtIGJvcmRhcykg4oCUIG7Do28gcG9kZSByZWNlYmVyIGVzdGEgYm9yZGEuXG4vLyBHcmFkZSBkYSBtYXRyaXo6IG5vIGRhcmsgYXMgbGluaGFzIHF1ZSBzZXBhcmFtIGFzIGPDqWx1bGFzIHPDo28gUFJFVEFTIChhbnRlc1xuLy8gJG1hdC1tZW51LWJhY2tncm91bmQtY29sb3ItZGFyayAjMzgzODM4IOKAlCBjaW56YSkgYSBwZWRpZG8uXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFzc2lnbi1yZXZpZXctc3VnZ2VzdGlvbiwgJy50YWJsZS13ZWlnaHQgdGQsdGgnLCBib3JkZXIsIDFweCBzb2xpZCAkbWF0LW1lbnUtYmFja2dyb3VuZC1jb2xvciwgMXB4IHNvbGlkIGJsYWNrKTtcblxuLyogTW9iaWxlIGxheW91dCAoVFBDIGNoYWlyLCB2aWV3cG9ydCA8IDc2OHB4KSDigJQgc2VlXG4gKiBhZG1pbi1ldmVudC1zaWRlYmFyLmNvbXBvbmVudC57dHMsaHRtbCxzY3NzfS4gVmlldyBlbmNhcHN1bGF0aW9uIGlzXG4gKiBFbXVsYXRlZCBvbiB0aGlzIGNvbXBvbmVudDsgdGhlIG1vYmlsZSBjaHJvbWUgU0NTUyBpcyBjby1sb2NhdGVkIHdpdGhcbiAqIHRoZSBjb21wb25lbnQsIGJ1dCB0aGVtZSB0b2tlbnMgKHdoaWNoIHVzZSBsaWdodC0vZGFyay10aGVtZSBjbGFzc2VzXG4gKiBhcHBsaWVkIHRvIDxib2R5PikgbXVzdCBsaXZlIGhlcmUgYXQgdGhlIGdsb2JhbCBzY29wZSwgb3RoZXJ3aXNlIHRoZVxuICogYC5saWdodC10aGVtZWAgLyBgLmRhcmstdGhlbWVgIGJvZHkgc2VsZWN0b3JzIGRvbid0IHN1cnZpdmUgRW11bGF0ZWRcbiAqIGVuY2Fwc3VsYXRpb24gYW5kIHRoZSBydWxlcyBhcmUgc2lsZW50bHkgZHJvcHBlZC4gKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tb2JpbGUtdG9wLWJhcicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLXRvcC1iYXInLCBib3JkZXItYm90dG9tLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLXRvcC1iYXItdGl0bGUnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tb2JpbGUtYm90dG9tLW5hdicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLWJvdHRvbS1uYXYnLCBib3JkZXItdG9wLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLWJvdHRvbS1uYXYtaXRlbScsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLWJvdHRvbS1uYXYtaXRlbS5hY3RpdmUnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLWJvdHRvbS1uYXYtaXRlbS5hY3RpdmUnLCBib3JkZXItdG9wLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcblxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1vYmlsZS1zaGVldCcsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLXNoZWV0LXRpdGxlJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1vYmlsZS1zaGVldC1zZWN0aW9uLWxhYmVsJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tb2JpbGUtc2hlZXQtaXRlbScsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLXNoZWV0LWl0ZW06aG92ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1vYmlsZS1zaGVldC1pdGVtLmFjdGl2ZScsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tb2JpbGUtc2hlZXQtaXRlbS5hY3RpdmUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiBhcHAtZXZlbnQtcHJvZ3JhbSAqL1xuLy8gQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1wcm9ncmFtLCAnLnByb2dyYW0tdG9vbGJhcicsIGJhY2tncm91bmQtY29sb3IsICRhZG1pbi1iYWNrZ3JvdW5kLCAkYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbi8vIEBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtcHJvZ3JhbSwgJy5wcm9ncmFtLXRvb2xiYXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWRtaW4tYmFja2dyb3VuZCwgJGFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LXByb2dyYW0sICcuc2Vzc2lvbi1naG9zdCcsIGNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuNTUpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTUpKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtcHJvZ3JhbSwgJy5zZXNzaW9uLWdob3N0OmhvdmVyJywgYm9yZGVyLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuMzUpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtcHJvZ3JhbSwgJy5zZXNzaW9uLWdob3N0JywgY29sb3IsIHJnYmEoMCwgMCwgMCwgMC43NSksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSkpO1xuXG4vLyBMYXN0LXdvcmQgb3ZlcnJpZGU6IHRoZSBsZWdhY3kgZ2xvYmFsXG4vLyBgYnV0dG9uLm1hdC1tZW51LWl0ZW06aG92ZXIgLm1hdC1pY29uIHsgY29sb3I6ICRhZG1pbi1hY2NlbnQtY29sb3IgPSB3aGl0ZSB9YFxuLy8gd2FzIHR1cm5pbmcgdGhlIGFjdGl2ZSBvcHRpb24ncyBpY29uIHdoaXRlIG9uIGhvdmVyLCBtYWtpbmcgdGhlXG4vLyBjZWxsIGxvb2sgXCJibGFuayB3aGl0ZVwiIGluIGxpZ2h0IG1vZGUuIFBpbiB0aGUgaWNvbiB0byB0aGUgYWN0aXZlXG4vLyB0ZXh0IHRva2VuIGluc3RlYWQuIChUaGUgY2VsbCBiZyBhbHJlYWR5IHN0YXlzIHB1dCB2aWEgdGhlXG4vLyBjaGFpci1VSSBgLmhpZ2hsaWdodC1idXR0b24geyBiYWNrZ3JvdW5kLWNvbG9yOiAuLi4gIWltcG9ydGFudCB9YFxuLy8gcnVsZSBhYm92ZSDigJQgc2VsZWN0b3IgbWF0Y2hlcyBib3RoIHJlc3QgYW5kIGhvdmVyLCBubyBleHRyYVxuLy8gb3ZlcnJpZGUgbmVlZGVkLilcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChcbiAgJy5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5jb250YWluZXItdGhlbWUgYnV0dG9uLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbjpob3ZlciAubWF0LWljb24sIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5jb250YWluZXItbGF5b3V0IGJ1dHRvbi5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b246aG92ZXIgLm1hdC1pY29uLCAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAuY29udGFpbmVyLWxheW91dCBidXR0b24ubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uOmhvdmVyIC5sYXlvdXQtaWNvbiwgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLmNvbnRhaW5lci1sYW5ndWFnZS1jb21wYWN0IGJ1dHRvbi5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b246aG92ZXIgLm1hdC1pY29uJyxcbiAgJycsXG4gIGNvbG9yLFxuICAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsXG4gICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrXG4pO1xuXG4vLyBwZW9wbGUtdGFibGU6IGNvciBkZSBmdW5kbyBkYXMgY8OpbHVsYXMgYm9keS4gTGlnaHQ6IGdyYXktMjAwIHNvYnJlIGNhbnZhc1xuLy8gd2FybS4gRGFyazogZ3JheSBlc2N1cm8gKH4jMzAyQzI5LCBlcXVpdmFsZW50ZSBhIHVtIFwiJGdyYXktODAwXCIgZW50cmUgb3Ncbi8vIHRva2VucyBleGlzdGVudGVzIDcwMCBlIDkwMCkuIEV4Y2x1aSAxwqogY29sIChudW1iZXJpbmcpIGUgw7psdGltYSAoc2VsZWN0KSxcbi8vIHF1ZSBmaWNhbSB0cmFuc3BhcmVudGVzLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKFxuICAnLnBlb3BsZS10YWJsZScsXG4gICd0YWJsZS5qZW1zMy10YWJsZSB0ZC5tYXQtY2VsbDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6bm90KDpsYXN0LW9mLXR5cGUpJyxcbiAgYmFja2dyb3VuZC1jb2xvcixcbiAgJGdyYXktMjAwLFxuICAjMzAyQzI5XG4pO1xuXG4vLyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbi8vIENvcmVzIGRvcyDDrWNvbmVzIG5vIG1lbnUgaGFtYnVyZ2VyIGRhIG5hdmJhciBhdXRvci9yZXZpc29yIChvdmVyZmxvdykuXG4vLyBFc3BlbGhhbSBhcyBjb3JlcyBkb3Mgc2lkZWJhci1pdGVtIGljb25zIChjYXRlZ29yaWEgcG9yIHJvdGEpLlxuLy8gYCFpbXBvcnRhbnRgIHBvcnF1ZSBgLnRwYy11c2VyLW1lbnUgLm1hdC1pY29uYCAoYXBsaWNhZG8gYW8gbWVzbW8gbWVudVxuLy8gdmlhIGNsYXNzZSBubyBwYWluZWwpIHRlbSBgIWltcG9ydGFudGAgZSBnYW5oYXJpYSBzZW0gaXNzby5cbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuLy8gRXNwZWNpZmljaWRhZGU6IHByZWNpc2Ftb3MgY2hhaW5hciBgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnVgICtcbi8vIGAubWF0LW1lbnUtaXRlbWAgcHJhIHZlbmNlciBhIHJlZ3JhIGdsb2JhbCBkbyB0cGMtdXNlci1tZW51IChxdWUgdGVtXG4vLyAoMCw1LDApICsgIWltcG9ydGFudCkuXG4ubGlnaHQtdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pIC5tYXQtaWNvbiB7IGNvbG9yOiAkc2lkZWJhci1sYWJlbC1jb2xvciAhaW1wb3J0YW50OyB9XG4uZGFyay10aGVtZSAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLWV2ZW50cy1pY29uLWNvbG9yLWRhcmsgIWltcG9ydGFudDsgfVxuXG4ubGlnaHQtdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1teS1yZXZpZXdzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LXJldmlld3MtaWNvbi1jb2xvciAhaW1wb3J0YW50OyB9XG4uZGFyay10aGVtZSAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1teS1yZXZpZXdzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LXJldmlld3MtaWNvbi1jb2xvci1kYXJrICFpbXBvcnRhbnQ7IH1cblxuLmxpZ2h0LXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tc2Vzc2lvbi1jaGFpcmluZ3MgLm1hdC1pY29uIHsgY29sb3I6ICRuYXZiYXItbXktc2Vzc2lvbi1jaGFpcmluZ3MtaWNvbi1jb2xvciAhaW1wb3J0YW50OyB9XG4uZGFyay10aGVtZSAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1zZXNzaW9uLWNoYWlyaW5ncyAubWF0LWljb24geyBjb2xvcjogJG5hdmJhci1teS1zZXNzaW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLWRhcmsgIWltcG9ydGFudDsgfVxuXG4ubGlnaHQtdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1wdWJsaWNhdGlvbi1jaGFpcmluZ3MgLm1hdC1pY29uIHsgY29sb3I6ICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3IgIWltcG9ydGFudDsgfVxuLmRhcmstdGhlbWUgIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tcHVibGljYXRpb24tY2hhaXJpbmdzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LXB1YmxpY2F0aW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLWRhcmsgIWltcG9ydGFudDsgfVxuXG4ubGlnaHQtdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi10cGNzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvciAhaW1wb3J0YW50OyB9XG4uZGFyay10aGVtZSAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi10cGNzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvci1kYXJrICFpbXBvcnRhbnQ7IH1cblxuLmxpZ2h0LXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tY2hhaXJpbmdzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LWV2ZW50cy1pY29uLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5kYXJrLXRoZW1lICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuYnV0dG9uLWNoYWlyaW5ncyAubWF0LWljb24geyBjb2xvcjogJG5hdmJhci1teS1ldmVudHMtaWNvbi1jb2xvci1kYXJrICFpbXBvcnRhbnQ7IH1cblxuLy8gTWVudSBoYW1idXJnZXI6IMOtY29uZXMgZmlsbGVkIChGSUxMIDEpIHByYSBkYXIgY29ycG8gdmlzdWFsICtcbi8vIGFsaW5oYW1lbnRvIHZlcnRpY2FsIG5vIGVpeG8gZG8gdGV4dG8gKGxpbmUtaGVpZ2h0IGNhc2EgY29tIGEgYWx0dXJhXG4vLyBkbyBtZW51LWl0ZW07IG1hdC1tZW51LWl0ZW0gcGFkcsOjbyB1c2EgZmxleCthbGlnbi1pdGVtczpjZW50ZXIsIG1hc1xuLy8gYSBsaW5oYSBkbyDDrWNvbmUgw6BzIHZlemVzIGRlc2NvbGEgZG8gYmFzZWxpbmUgZG8gdGV4dG8gcG9yIGNhdXNhIGRhc1xuLy8gbcOpdHJpY2FzIGRhIGZvbnRlIGNvbSBGSUxMIDEpLlxuLy8gUGFpbmVsIGRvIG1lbnUgaGFtYnVyZ2VyIOKAlCBtZXNtbyBiZyBkYSBuYXZiYXIgKGAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kYCk7XG4vLyBvcyB0b2tlbnMgasOhIGJhdGVtIHBvciBwYWRyw6NvIHZpYSB0cGMtdXNlci1tZW51LCBtYXMgZm9yw6dhbW9zIGFxdWkgcHJhXG4vLyBuw6NvIGhhdmVyIGRyaWZ0IGNhc28gbyB0cGMtdXNlci1tZW51IG11ZGUuIEZpbHRlciAoZHJvcC1zaGFkb3cpIGRvXG4vLyB0cGMtdXNlci1tZW51IHRpbnRhIGFzIGJvcmRhcyBlc2N1cmFzIOKGkiBhIHBlcmNlcMOnw6NvIGZpY2EgXCJkaWZlcmVudGVcIlxuLy8gbWVzbW8gY29tIGJnIGlkw6pudGljby4gWmVyYSBvIGZpbHRlciBhcXVpLlxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnU6aGFzKC5uYXYtb3ZlcmZsb3ctbWkpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBmaWx0ZXI6ICRzaGFkb3ctcGFuZWwtbGlnaHQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAvLyBtaW4taGVpZ2h0IDAgcHJhIG8gcGFpbmVsIG7Do28gdHJhdmFyIGVtIDY0cHggZG8gQW5ndWxhciBNYXRlcmlhbFxuICAvLyAoZXNzZSBlcmEgbyBjdWxwcml0IGRvIFwiZXNwYcOnbyBlbWJhaXhvXCIgcXVhbmRvIHPDsyBow6EgMSBpdGVtKS5cbiAgLy8gcGFkZGluZyBkbyBwYWluZWwgdm9sdGEgcHJvIHJlc3Bpcm8gbm9ybWFsLlxuICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDhweCAhaW1wb3J0YW50O1xufVxuLy8gWmVyYSBwYWRkaW5nIGRvIC5tYXQtbWVudS1jb250ZW50IOKAlCBvIHBhaW5lbCBqw6EgdGVtIHBhZGRpbmcgcHLDs3ByaW8uXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudTpoYXMoLm5hdi1vdmVyZmxvdy1taSkgLm1hdC1tZW51LWNvbnRlbnQge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51OmhhcygubmF2LW92ZXJmbG93LW1pKSB7XG4gIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogOHB4ICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudTpoYXMoLm5hdi1vdmVyZmxvdy1taSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWRhcmsgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyBFc3BlY2lmaWNpZGFkZTogcHJlY2lzYSBjaGFpbmFyIGAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudWAgK1xuLy8gYC5tYXQtbWVudS1pdGVtYCBwcmEgdmVuY2VyIGFzIHJlZ3JhcyAyNnB4IGRvIHRwYy11c2VyLW1lbnUgZ2xvYmFsLlxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pIHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMzZweCAhaW1wb3J0YW50O1xuICBtaW4taGVpZ2h0OiAzNnB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDZweCAhaW1wb3J0YW50O1xuICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuICAvLyBUaXBvZ3JhZmlhIGlkw6pudGljYSBhbyBgLmxhYmVsLWZ1bGxgIGRvcyBzaWRlYmFyLWl0ZW1zIChidXR0b25zIGRhXG4gIC8vIGJhcnJhKTogMTRweCAvIDUwMCAvIC0wLjAxZW0gLyBjb3IgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IuXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHkgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciAhaW1wb3J0YW50O1xuXG4gIC5tYXQtaWNvbiB7XG4gICAgLy8gT3BhY2lkYWRlIDEgc2VtcHJlIOKAlCBvdmVycmlkZSBkbyB0cGMtdXNlci1tZW51IGRlZmF1bHQgMC42NSBxdWVcbiAgICAvLyBzw7MgaWEgcHJhIDEgbm8gaG92ZXIgKFwiZXNtYWVjaWRvIGVtIHJlc3RcIikuXG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnRklMTCcgMSwgJ3dnaHQnIDQwMCwgJ29wc3onIDI0ICFpbXBvcnRhbnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG4gIC8vIGZhLXVzZXJzIChqZW1zM3MpIOKAlCBtZXNtbyB0YW1hbmhvIGRvIGJvdMOjbyBkYSBiYXJyYSAoMTZweCBlbVxuICAvLyBzaWRlYmFyLWl0ZW0uY29tcG9uZW50LnNjc3M6OTEtOTMpLCBOw4NPIG9zIDIwcHggZGVmYXVsdC5cbiAgJi5idXR0b24tdHBjcyAubWF0LWljb24ge1xuICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHggIWltcG9ydGFudDtcbiAgfVxufVxuLmRhcmstdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pIHtcbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrICFpbXBvcnRhbnQ7XG59XG5cbi8vIEVzdGFkbyBzZWxlY3RlZCBkbyBpdGVtIG92ZXJmbG93IOKAlCBNRVNNTyB0cmF0YW1lbnRvIGRvIHNpZGViYXItaXRlbVxuLy8gc2VsZWN0ZWQgbmEgYmFycmE6IGJnICNmZmYgKGxpZ2h0KSAvICMyZTJlMmUgKGRhcmspICsgdW5kZXJsaW5lIGFjY2VudFxuLy8gMnB4IHBvciBjYXRlZ29yaWEgbm8gYm90dG9tIGRvIGl0ZW0uXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuaXMtc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gU2VtIHNvbWJyYSBlbSByZXN0IOKAlCBiZyBicmFuY28gKyBsaW5oYSBhY2NlbnQgasOhIG1hcmNhbSBvXG4gIC8vIHNlbGVjaW9uYWRvLiBTb21icmEgdm9sdGEgYXBlbmFzIG5vIGhvdmVyIChtZXNtbyBwYWRyw6NvIGRvXG4gIC8vIHRvb2xiYXIgYnV0dG9uIG5hIGJhcnJhKS5cbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmlzLXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJlMmUyZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG4vLyBMaW5oYSBhY2NlbnQgZG8gaXRlbSBzZWxlY2lvbmFkbyBkbyBtZW51IG92ZXJmbG93IOKAlCBtZXNtYSBzaGFwZSArXG4vLyBncmFkaWVudCB1c2Fkb3MgbmEgdW5kZXJsaW5lIGRhIG5hdi4gYGNsaXAtcGF0aGAgZSBgYmFja2dyb3VuZGBcbi8vIHbDqm0gZGUgQ1NTIGN1c3RvbSBwcm9wZXJ0aWVzIHNldGFkYXMgZW0gYHBhaW50T3ZlcmZsb3dBY2NlbnRgXG4vLyAobmF2YmFyLmNvbXBvbmVudC50cykgdmlhIGBOYXZiYXJDb21wb25lbnQuYnVpbGRBY2NlbnRDbGlwUGF0aC9cbi8vIEdyYWRpZW50YCAoZm9udGUgw7puaWNhKS4gRmFsbGJhY2tzIGdhcmFudGVtIHZpc3VhbCBiw6FzaWNvIGNhc28gb1xuLy8gSlMgbsOjbyB0ZW5oYSByb2RhZG8gKHBhaW50IGFjb250ZWNlIGFww7NzIG1lbnUgYWJyaXIpLlxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmlzLXNlbGVjdGVkOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8vIGBsZWZ0OiA1MCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKWAgY2VudHJhbGl6YSBvIGJveCBkb1xuICAvLyBhY2NlbnQgbm8gSVRFTSBpbnRlaXJvIChib3JkZXItYm94KS4gYGxlZnQvcmlnaHRgIGluc2V0cyBOw4NPXG4gIC8vIHNlcnZlbSBhcXVpOiBvIGNvbnRhaW5pbmcgYmxvY2sgZG8gOjphZnRlciDDqSBvIFBBRERJTkctYm94IGRvXG4gIC8vIG1hdC1tZW51LWl0ZW0gKHBhZGRpbmcgMCAxNnB4KSwgZW50w6NvIGByaWdodDogMnB4YCBjb3J0YXJpYSAzNHB4XG4gIC8vIGFsw6ltIGRvIGluc2V0IGRlc2VqYWRvLCBlIG9zIGFyY29zIGRvIGNsaXAtcGF0aCAoZml4b3MgZW0gcHgpXG4gIC8vIGZpY2FyaWFtIEZPUkEgZG8gYm94IHJlbmRlcml6YWRvLlxuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgd2lkdGg6IHZhcigtLWFjY2VudC13aWR0aCwgY2FsYygxMDAlIC0gMnB4KSk7XG4gIGJvdHRvbTogLTFweDtcbiAgaGVpZ2h0OiAycHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjbGlwLXBhdGg6IHZhcigtLWFjY2VudC1jbGlwLXBhdGgsIHBvbHlnb24oMCAwLCAxMDAlIDAsIGNhbGMoMTAwJSAtIDJweCkgMTAwJSwgMnB4IDEwMCUpKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LWJhY2tncm91bmQsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbn1cbi8vIENvciBhY2NlbnQgZG8gdW5kZXJsaW5lIHBvciBjYXRlZ29yaWEgKGVzcGVsaGEgYXMgcmVncmFzXG4vLyAubGlzdC1pdGVtLmJ1dHRvbi0qLnNlbGVjdGVkOjphZnRlciBkbyBzaWRlYmFyLWl0ZW0pLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1teS1yZXZpZXdzLmlzLXNlbGVjdGVkOjphZnRlcicsICAgIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItbXktcmV2aWV3cy1pY29uLWNvbG9yLCAgICAgICAgICAgJG5hdmJhci1teS1yZXZpZXdzLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuYnV0dG9uLXRwY3MuaXMtc2VsZWN0ZWQ6OmFmdGVyJywgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1teS10cGNzLWljb24tY29sb3IsICAgICAgICAgICAgICAkbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tY2hhaXJpbmdzLmlzLXNlbGVjdGVkOjphZnRlcicsICAgICBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLW15LWV2ZW50cy1pY29uLWNvbG9yLCAgICAgICAgICAgICRuYXZiYXItbXktZXZlbnRzLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuYnV0dG9uLXNlc3Npb24tY2hhaXJpbmdzLmlzLXNlbGVjdGVkOjphZnRlcicsICAgICAgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1teS1zZXNzaW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLCAgICAgICRuYXZiYXItbXktc2Vzc2lvbi1jaGFpcmluZ3MtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tcHVibGljYXRpb24tY2hhaXJpbmdzLmlzLXNlbGVjdGVkOjphZnRlcicsIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3IsICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3ItZGFyayk7XG5cbi8vIG1lbnUtaXRlbSBwcmVjaXNhIHNlciBwb3NpdGlvbjogcmVsYXRpdmUgcHJhIGFuY29yYXIgbyBvdmVybGF5IGRvIGJhZGdlLFxuLy8gZSBvdmVyZmxvdzogdmlzaWJsZSBwcmEgbyBiYWRnZSBcImVzdG91cmFyXCIgZm9yYSBkYSBib3JkYSBzZW0gc2VyIGNsaXBhZG8uXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG4vLyBDb250w6ppbmVyZXMgcGFpIHRhbWLDqW0gbsOjbyBwb2RlbSBjbGlwYXIuXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudTpoYXMoLm5hdi1vdmVyZmxvdy1taSksXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudTpoYXMoLm5hdi1vdmVyZmxvdy1taSkgLm1hdC1tZW51LWNvbnRlbnQge1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuLy8gTGFiZWwgb2N1cGEgZXNwYcOnbyByZXN0YW50ZSAoc2VtIGVzcGHDp28gcmVzZXJ2YWRvIHBybyBiYWRnZSDigJQgcXVlIGFnb3JhXG4vLyDDqSBvdmVybGF5KS5cbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taSAubmF2LW92ZXJmbG93LW1pLWxhYmVsIHtcbiAgZmxleDogMSAxIGF1dG87XG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4vLyBCYWRnZXMgY29tbyBPVkVSTEFZIGFic29sdXRvIG5vIGNhbnRvIHN1cGVyaW9yIGVzcXVlcmRvIOKAlCBtZXNtYSB0w6ljbmljYVxuLy8gZG8gYC5zaWRlYmFyLWl0ZW0tYmFkZ2VzYCBubyBib3TDo28gKHRyYW5zZm9ybSB0cmFuc2xhdGUgcHJhIFwiZXN0b3VyYXJcIlxuLy8gbGV2ZW1lbnRlIHNvYnJlIGEgYm9yZGEpLlxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pIC5uYXYtb3ZlcmZsb3ctbWktYmFkZ2VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICByaWdodDogMCAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg0cHgsIC02cHgpICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBnYXA6IDNweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDE7XG59XG4vLyBCYWRnZSBubyBtZW51IOKAlCBnZW9tZXRyaWEgKyBjb3JlcyBpZMOqbnRpY2FzIMOgcyBkbyBgLnNpZGViYXItaXRlbS1iYWRnZWBcbi8vIGRhIHNpZGViYXIgKGRlZmluaWRvIGVtIHNpZGViYXItaXRlbS5jb21wb25lbnQuc2NzczoxNjUtMTg0KS4gQ29tbyBvXG4vLyBtZW51IMOpIHBvcnRhbGVkIGFvIGJvZHksIGFzIHJlZ3JhcyBzY29wZWQgbsOjbyBhbGNhbsOnYW0g4oCUIHJlcGxpY2Ftb3MuXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkgLm5hdi1vdmVyZmxvdy1taS1iYWRnZSB7XG4gIG1pbi13aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBwYWRkaW5nOiAwIDVweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBmb250LXNpemU6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjMWYxZjFmO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgJi5pcy16ZXJvIHsgZGlzcGxheTogbm9uZTsgfVxuICAmLnN0YXR1cy1jb25maXJtZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZEODYwOyB9XG4gICYuc3RhdHVzLW5vdGlmaWVkICB7IGJhY2tncm91bmQtY29sb3I6ICM5NEMwRkI7IH1cbiAgJi5zdGF0dXMtcGVuZGluZyAgIHsgYmFja2dyb3VuZC1jb2xvcjogI0ZBQjY1QzsgfVxufVxuXG4vLyBIb3ZlciDigJQgc8OzIHNvbWJyYSwgU0VNIG11ZGFuw6dhIGRlIGJhY2tncm91bmQvY29sb3Ivd2VpZ2h0LiBCdW1wIGNvbVxuLy8gYC5saWdodC10aGVtZWAgKyBgOm5vdChbZGlzYWJsZWRdKWAgcHJhIHZlbmNlciBvIGhvdmVyIGRlZmF1bHQgZG9cbi8vIHRwYy11c2VyLW1lbnUgcXVlIHBpbnRhIGJnIGUgbXVkYSBjb2xvciAoc3BlYyAwLDYsMCkuXG4vLyBIb3ZlciDigJQgU8OTIHNvbWJyYS4gU2VtIG11ZGFuw6dhIGRlIGJnLCBjb3IsIGZvbnQtd2VpZ2h0IG91IEZJTEwgZG9cbi8vIMOtY29uZSAoZXNzYXMgYWx0ZXJhw6fDtWVzIGRhdmFtIGEgaW1wcmVzc8OjbyBkZSBcImNvciBtdWRvdVwiKS5cbi5saWdodC10aGVtZSAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWk6aG92ZXI6bm90KFtkaXNhYmxlZF0pIHtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zKSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taTpob3Zlcjpub3QoW2Rpc2FibGVkXSkge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjcpICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrICFpbXBvcnRhbnQ7XG59XG4vLyBIb3ZlciBzb2JyZSBpdGVtIFNFTEVDVEVEOiBwcmVzZXJ2YSBiZyBicmFuY28vZGFyayBkbyBgLmlzLXNlbGVjdGVkYFxuLy8gZSBhZGljaW9uYSBhIHNvbWJyYSAocXVlIGZpY2Egc8OzIG5vIGhvdmVyIOKAlCBlbSByZXN0IG8gc2VsZWN0ZWQgw6lcbi8vIHBsYW5vKS4gU2VtIGVzdGEgcmVncmEsIGEgZ2Vuw6lyaWNhIGRlIGhvdmVyIChiZyB0cmFuc3BhcmVudCkgZ2FuaGEgZVxuLy8gYSBiZyBicmFuY2Egc29tZSBkZWl4YW5kbyBvIGNpbnphIGRvIHBhaW5lbCB2YXphci5cbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5pcy1zZWxlY3RlZDpob3Zlcjpub3QoW2Rpc2FibGVkXSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMykgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5pcy1zZWxlY3RlZDpob3Zlcjpub3QoW2Rpc2FibGVkXSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUyZTJlICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuNykgIWltcG9ydGFudDtcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBaLWluZGV4IGhpZXJhcmNoeVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBTaW5nbGUgc291cmNlIG9mIHRydXRoIGZvciB0aGUgY2hhaXIgVUkncyBsYXllcmVkIHZpc3VhbCBoaWVyYXJjaHkuXG4vLyBMYXllcnMgZnJvbSBoaWdoZXN0IChmcm9udG1vc3QpIHRvIGxvd2VzdDpcbi8vXG4vLyAgIDEuIFRvb2x0aXBzICAgICAgICAgICAgICAgICAgICAgICDigJQgQ0RLIG92ZXJsYXkgKE1hdGVyaWFsIGRlZmF1bHQpXG4vLyAgIDIuIE1lbnVzICh1c2VyLCBub3RpZmljYXRpb25zLCAgICDigJQgQ0RLIG92ZXJsYXkgKE1hdGVyaWFsIGRlZmF1bHQpXG4vLyAgICAgIHN1Yi1ldmVudHMpXG4vLyAgIDMuIEJyZWFkY3J1bWIgICAgICAgICAgICAgICAgICAgICDigJQgYCR6LWJyZWFkY3J1bWJgXG4vLyAgIDQuIEZseW91dCAoTW9kZXJuIGNvbGxhcHNlZCAgICAgICDigJQgQ0RLIG92ZXJsYXkgKE1hdGVyaWFsIGRlZmF1bHQpXG4vLyAgICAgIHNpZGViYXIncyBsZXZlbC0yIHBvcG92ZXIpXG4vLyAgIDUuIFJlc2l6ZSBoYW5kbGVzIChzdWJtZW51ICAgICAgICDigJQgYCR6LXJlc2l6ZS1oYW5kbGVgXG4vLyAgICAgICsgTW9kZXJuIHNpZGViYXIpXG4vLyAgIDYuIFRvb2xiYXIgKGFjdGl2aXR5LWJhcikgICAgICAgICDigJQgYCR6LXRvb2xiYXJgXG4vLyAgIDcuIFN1Ym1lbnUgKG1hdC1zaWRlbmF2KSAgICAgICAgICDigJQgYCR6LXNpZGViYXJgXG4vLyAgICAgIEFORCBNb2Rlcm4gc2lkZWJhclxuLy8gICA4LiBDYW52YXMgICAgICAgICAgICAgICAgICAgICAgICAg4oCUIGAkei1jYW52YXNgIChhdXRvKVxuLy9cbi8vIEl0ZW1zIDEsIDIsIGFuZCA0IGFyZSBDREsgb3ZlcmxheXMgYW5kIHNoYXJlIGEgc2luZ2xlXG4vLyBgLmNkay1vdmVybGF5LWNvbnRhaW5lcmAgc3RhY2tpbmcgY29udGV4dCB0aGF0IE1hdGVyaWFsIHBhaW50cyBhYm92ZVxuLy8gZXZlcnl0aGluZyBlbHNlIGluIHRoZSBhcHAuIE9yZGVyIGFtb25nIHRoZW0gaXMgZGV0ZXJtaW5lZCBieSBDREsgYXRcbi8vIHJ1bnRpbWUgKG1vc3QtcmVjZW50bHktb3BlbmVkIHdpbnMpLiBUaGUgaGllcmFyY2h5IHBvc2l0aW9ucyBmb3Jcbi8vIGl0ZW1zIDEsIDIsIDQgYXJlIHRoZXJlZm9yZSBjb25jZXB0dWFsIOKAlCBwcmFjdGljYWwgc3RhY2tpbmcgYW1vbmdcbi8vIHRoZW0gaXMgTWF0ZXJpYWwncyBkZWZhdWx0IGFuZCByYXJlbHkgYSB2aXNpYmxlIGlzc3VlLlxuLy9cbi8vIEFueXRoaW5nIG5vdCBsaXN0ZWQgaGVyZSB1c2VzIGB6LWluZGV4OiBhdXRvYCAoPSAwIGluIGl0cyBzdGFja2luZ1xuLy8gY29udGV4dCkgYW5kIGxpdmVzIGJlbG93IGAkei10b29sYmFyYCBieSBkZWZhdWx0LlxuLy9cbi8vIFR1bmluZyBydWxlOiB3aGVuIGFkanVzdGluZyBhbnkgdG9rZW4gYmVsb3csIGxlYXZlIGEgY29tZm9ydGFibGUgZ2FwXG4vLyAo4omlMTApIHRvIGl0cyBuZWlnaGJvdXIgYWJvdmUvYmVsb3cgc28gZnV0dXJlIGFkZGl0aW9ucyBjYW4gc2xvdCBpblxuLy8gd2l0aG91dCByZW51bWJlcmluZyB0aGUgd2hvbGUgc3RhY2suXG5cbiR6LWNhbnZhczogICAgICAgICAgYXV0byAhZGVmYXVsdDtcbiR6LWRhc2hib2FyZC1wYW5lbDogNSAgICAhZGVmYXVsdDsgIC8vIHBhaW5lbCBkZSBjb21wb25lbnRlcyBkbyBEYXNoYm9hcmQgKG1vZG8gZWRpw6fDo28pOiBBQ0lNQSBkYSBww6FnaW5hL2NhbnZhcyAoYXV0by8wKSwgcG9yw6ltIEFCQUlYTyBkbyBicmVhZGNydW1iIGRvIGNoYWlyIGFyZWEgKHF1ZSB1c2EgYHotaW5kZXg6IDEwYCBsaXRlcmFsLCBOw4NPIG8gJHotYnJlYWRjcnVtYjo5MDAgYWJhaXhvKSBlIGRvIHJlc3RvIGRvIGNocm9tZSAoc2lkZWJhciAzMCAvIG5hdmJhciAzMSAvIHRvb2xiYXIgNDApIOKAlCBhc3NpbSBhIGJhcnJhIHN1cGVyaW9yLCBhbyByZXNzdXJnaXIgKGV4Ljogc2HDrWRhIGRvIG1vZG8gYW1wbG8pLCBmaWNhIE5BIEZSRU5URSBkbyBwYWluZWwuXG4kei1zaWRlYmFyOiAgICAgICAgIDMwICAgIWRlZmF1bHQ7ICAvLyBzdWJtZW51IChtYXQtc2lkZW5hdikgQU5EIE1vZGVybiBleHBlcmltZW50YWwtc2lkZWJhclxuJHotdG9vbGJhcjogICAgICAgNDAgICAhZGVmYXVsdDsgIC8vIGhpc3RvcmljYWxseSBgJG5hdmJhci16LWluZGV4ICsgMmBcbiR6LXJlc2l6ZS1oYW5kbGU6IDgwMCAgIWRlZmF1bHQ7XG4kei1icmVhZGNydW1iOiAgICA5MDAgICFkZWZhdWx0OyAgLy8gYmVsb3cgQ0RLIG92ZXJsYXkncyAxMDAwIHNvIG1lbnVzIHBhaW50IGFib3ZlXG5cbi8vIGFwcC1wb3BvdmVyIHBhbmVsIChwb3J0YWRvIHBybyA8Ym9keT4pIHByZWNpc2EgZXN0YXIgQUNJTUEgZGEgY2hyb21lXG4vLyAoc2lkZWJhciAzMCAvIHRvb2xiYXIgNDAgLyBicmVhZGNydW1iIDkwMCkgZSBBQkFJWE8gZG9zIHRvb2x0aXBzIGRvXG4vLyBDREsgb3ZlcmxheS4gVG9vbHRpcHMgKGNkay1vdmVybGF5LWNvbnRhaW5lcikgZ2FuaGFtIHotaW5kZXggMTIwMCBwcmFcbi8vIHJlbmRlcml6YXIgQUNJTUEgZG8gcG9wb3ZlciAoY2YuIC5jZGstb3ZlcmxheS1jb250YWluZXIgb3ZlcnJpZGUpLlxuJHotcG9wb3ZlcjogICAgICAgMTEwMCAhZGVmYXVsdDtcbiR6LWNkay1vdmVybGF5OiAgIDEyMDAgIWRlZmF1bHQ7ICAvLyB0b29sdGlwID4gcG9wb3ZlciA+IGJyZWFkY3J1bWJcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQTExeSB1dGlsaXRpZXMg4oCUIGdsb2JhbCBoZWxwZXJzIHVzZWQgdGhyb3VnaG91dCBKRU1TM1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEb2N1bWVudGVkIGluIGRvY3MvR1VJQV9KRU1TMy5tZCDCpzIwIChBY2Vzc2liaWxpZGFkZSDigJQgw6FyZWEgYXV0b3IvcmV2aXNvcikuXG5cbi8vIFZpc3VhbGx5IGhpZGRlbiBidXQgYXZhaWxhYmxlIHRvIGFzc2lzdGl2ZSB0ZWNoIChzY3JlZW4gcmVhZGVycykuXG4vLyBVc2UgZm9yIGhlYWRpbmdzLCBsYWJlbHMgYW5kIGFubm91bmNlbWVudHMgdGhhdCBtdXN0IGV4aXN0IGluIHRoZVxuLy8gYWNjZXNzaWJpbGl0eSB0cmVlIGJ1dCBzaG91bGQgbm90IGFmZmVjdCB0aGUgdmlzdWFsIGxheW91dC5cbi5zci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFNraXAgbGluayDigJQgdmlzaWJsZSBvbmx5IHdoZW4gZm9jdXNlZCAoVGFiIGtleSkuIFVzZWQgdG8gYnlwYXNzXG4vLyByZXBldGl0aXZlIG5hdmlnYXRpb24gYmxvY2tzIChlLmcuIHNpZGViYXIpIGFuZCBqdW1wIHRvIDxtYWluPi5cbi5za2lwLWxpbmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTEwMHB4O1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWFjY2VudCwgIzdDMkQxMik7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiA4cHggMTRweDtcbiAgei1pbmRleDogMTAwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAmOmZvY3VzLFxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIHRvcDogOHB4O1xuICAgIGxlZnQ6IDhweDtcbiAgfVxufVxuXG4vLyBGb2N1cyByaW5nIOKAlCB2aXNpYmxlIGZvY3VzIGluZGljYXRvciBmb3Iga2V5Ym9hcmQgbmF2aWdhdGlvbi5cbi8vIEFwcGx5IHZpYSBgQGluY2x1ZGUgZm9jdXMtcmluZztgIGluc2lkZSBhbnkgYDpmb2N1cy12aXNpYmxlYCBzZWxlY3Rvci5cbkBtaXhpbiBmb2N1cy1yaW5nKCRjb2xvcjogdmFyKC0tYy1hY2NlbnQsICM3QzJEMTIpLCAkb2Zmc2V0OiAycHgpIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkICRjb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6ICRvZmZzZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLy8gQ2FyZCBsaXN0IOKAlCBgPHVsIHJvbGU9XCJsaXN0XCI+YCB3cmFwcGVyIHBhcmEgbGlzdGFzIHNlbcOibnRpY2FzIGRlXG4vLyBjYXJkcy4gWmVyYSBvIGxpc3Qtc3R5bGUgZSBwYWRkaW5nIGRlZmF1bHQgZG8gYDx1bD5gIG1hbnRlbmRvIGFcbi8vIHNlbcOibnRpY2EgZGUgbGlzdGEgbm8gQVQgKFdDQUcgMS4zLjEpLiBVc2FyIGNvbSBgPGxpPmAgcG9yIGNhcmQuXG4vLyBPIGByb2xlPVwibGlzdFwiYCDDqSBSRURVTkRBTlRFIHByb2dyYW1hdGljYW1lbnRlIG1hcyBuZWNlc3PDoXJpbyBwb3JxdWVcbi8vIFNhZmFyaS9XZWJLaXQgcmVtb3ZlbSBhIHJvbGUgaW1wbMOtY2l0YSBxdWFuZG8gYXBsaWNhbW9zXG4vLyBgbGlzdC1zdHlsZTpub25lYCDigJQgYnVnIGhpc3TDs3JpY28sIHZpZGVcbi8vIGh0dHBzOi8vd3d3LnNjb3R0b2hhcmEubWUvYmxvZy8yMDE5LzAxLzEyL2xpc3RzLWFuZC1zYWZhcmkuaHRtbFxuLmNhcmRzLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbiIsIi8vIOKUgOKUgOKUgCBKRU1TMyBwYWdlIHZpZXcgbW9kZXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBSZWdyYXMgZ2xvYmFpcyBhdGl2YWRhcyBwZWxvIGJvZHkgY2xhc3Mgc2V0YWRvIGVtXG4vLyBgc3JjL2FwcC9zZXJ2aWNlL3ZpZXctbW9kZS5zZXJ2aWNlLnRzYCBxdWFuZG8gbyBVUkwgdHJheiBgP3ZpZXdNb2RlPS4uLmAuXG4vLyBNb2RvcyBkZWZpbmlkb3MgZW0gYHNyYy9hcHAvdXRpbHMvcGFnZS12aWV3LW1vZGUudHNgLlxuLy9cbi8vICAg4oCiIHZpZXctbW9kZS1mdWxsICDihpIgbyBgYWRtaW4tZXZlbnQtc2lkZWJhcmAgYnJhbmNoIGrDoSBjdWlkYSBkbyBDSFJPTUVcbi8vICAgICAgICAgICAgICAgICAgICAgICBJTlRFUk5POiBlbSBtb2RvIEZ1bGwgZWxlIHJlbmRlcml6YSBzw7Ncbi8vICAgICAgICAgICAgICAgICAgICAgICBgPHJvdXRlci1vdXRsZXQ+YCwgc2VtIGAuc2lkZWJhcmAgL1xuLy8gICAgICAgICAgICAgICAgICAgICAgIGBtYXQtc2lkZW5hdi1jb250YWluZXJgIC8gZXRjLiBBIHDDoWdpbmEgZGEgcm90YVxuLy8gICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcml6YSBkaXJldG8gbm8gaG9zdCwgWkVSTyBoZXJhbsOnYSBkZSBnZW9tZXRyaWEuXG4vLyAgICAgICAgICAgICAgICAgICAgICAgQXF1aSBzw7Mgb2N1bHRhbW9zIG8gcXVlIHZpdmUgRk9SQSBkb1xuLy8gICAgICAgICAgICAgICAgICAgICAgIGFkbWluLWV2ZW50LXNpZGViYXIgKGBhcHAtZml4ZWQtdG9wLXByb2dyZXNzLWJhcmApLlxuLy9cbi8vICAg4oCiIHZpZXctbW9kZS1hbXBsbyDihpIgKHBsYWNlaG9sZGVyOyBhaW5kYSBuw6NvIGltcGxlbWVudGFkbykuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbG9ycyc7XG5cbmJvZHkudmlldy1tb2RlLWZ1bGwge1xuICAvLyBgYXBwLWZpeGVkLXRvcC1wcm9ncmVzcy1iYXJgIHZpdmUgZW0gYGV2ZW50LWFkbWluLmNvbXBvbmVudC5odG1sYCAoYWNpbWFcbiAgLy8gZG8gYGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyYCkgZSDDqSByZWZlcmVuY2lhZG8gdmlhIEBWaWV3Q2hpbGQgY29tXG4gIC8vIHN0YXRpYzp0cnVlIHBlbG8gQWRtaW5TZXJ2aWNlIOKAlCBuw6NvIGTDoSBwcmEgKm5nSWYnYXIuIEVtIG1vZG8gRnVsbFxuICAvLyBvY3VsdGFtb3MgdmlhIENTUzsgaW5zdMOibmNpYSBzZWd1ZSB2aXZhIHByYSBuw6NvIHF1ZWJyYXIgcmVmcy5cbiAgYXBwLWZpeGVkLXRvcC1wcm9ncmVzcy1iYXIgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAvLyBTZW0gY2hyb21lIGFkbWluLCBvIEJPRFkgw6kgbyBmdW5kbyBmdWxsLWJsZWVkIGRhIHDDoWdpbmEuIFNlbSBpc3RvIGVsZSBmaWNhXG4gIC8vIEJSQU5DTyBlLCBjb21vIG8gYC52aWV3LW1vZGUtZnVsbC1zaGVsbGAgdGVtIHBhZGRpbmcgbGF0ZXJhbCwgc29icmF2YW0gZHVhc1xuICAvLyBcImJhcnJhcyBicmFuY2FzXCIgbmFzIGxhdGVyYWlzIChib2R5IGJyYW5jbyBmb3JhIGRvIGNpbnphIGRvIHBhcGVyLWluZm8pLlxuICAvLyBQaW50YSBjb20gbyBNRVNNTyBjaW56YSBkYSBww6FnaW5hIGRvIHBhcGVyLWluZm8gKCRncmF5LTE1MCkg4oaSIGZ1bGwtYmxlZWRcbiAgLy8gY2luemEgY29udMOtbnVvIGNvbSBhIGZvbGhhIGJyYW5jYSBjZW50cmFkYS4gRGFyayBlc3BlbGhhIG8gcHJldG8uXG4gIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTE1MDtcblxuICAmLmRhcmstdGhlbWUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrOyB9XG59XG5cbi8vIFNoZWxsIGRvIG1vZG8gRnVsbCAocmVuZGVyaXphZG8gZGVudHJvIGRlIGBhZG1pbi1ldmVudC1zaWRlYmFyLmh0bWxgXG4vLyBxdWFuZG8gYHZpZXdNb2RlLmlzRnVsbGApOiBwcm92w6ogQVBFTkFTIG8gcGFkZGluZyBsYXRlcmFsIHF1ZSBhIHDDoWdpbmFcbi8vIHJlY2ViZXJpYSBuYXR1cmFsbWVudGUgdmlhIGAubWF0LXNpZGVuYXYtY29udGVudGAgbm8gY2hyb21lIGFkbWluLlxuLy8gU2VtIHBhZGRpbmcgdG9wL2JvdHRvbSDigJQgdmVydGljYWwgZWRnZS10by1lZGdlLlxuLnZpZXctbW9kZS1mdWxsLXNoZWxsIHtcbiAgcGFkZGluZy1sZWZ0OiAkbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtZGVza3RvcC1tZDtcbiAgcGFkZGluZy1yaWdodDogJGxhdGVyYWwtcGFkZGluZy1jb250ZW50LWRlc2t0b3AtbWQ7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtZGVza3RvcC1zbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtZGVza3RvcC1zbTtcbiAgfVxufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuLy8gSkVNUzMgY2hhaXIgVUkgY2hlY2tib3gg4oCUIHNxdWFyZSBtZW1iZXIgb2YgdGhlIGJpbmFyeS1jb250cm9sIGZhbWlseS5cbi8vIE91dGxpbmVkLW9mZiAvIGZpbGxlZC1vbiBjb20gbWVzbWEgRE5BIGRvIHNsaWRlLXRvZ2dsZSAocGlsbCkgZSByYWRpbyAoY8OtcmN1bG8pOlxuLy9cbi8vICAgLSBGcmFtZTogICAgICAgICAxNnB4IHNxdWFyZSwgNHB4IHJhZGl1cywgMS41cHggYm9yZGVyICh0aGVtZS1hd2FyZSlcbi8vICAgLSBPZmYgYmc6ICAgICAgICB3YXJtIGJlaWdlIHRpbnQgKGxpZ2h0KSAvIHRyYW5zcGFyZW50IChkYXJrKVxuLy8gICAtIE9uIGJnOiAgICAgICAgIHNvbGlkIGAjNGE0NjNmYCAobGlnaHQpIC8gdHJhbnNwYXJlbnQgKGRhcmspXG4vLyAgIC0gQ2hlY2ttYXJrOiAgICAgU1ZHIHN0cm9rZSBvZmYtd2hpdGUgY3Jvc3MtdGhlbWUgKHBvcCBlbSBhbWJvcyBvcyB0ZW1hc1xuLy8gICAgICAgICAgICAgICAgICAgIOKAlCB2aXPDrXZlbCB0YW50byBubyBmaWxsIGAjNGE0NjNmYCBlbSBsaWdodCBxdWFudG8gbm9cbi8vICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCBjb250cmEgY2FudmFzIGRhcmspXG4vL1xuLy8gQ29yZXMgdGhlbWUtYXdhcmUgZW0gX2NvbG9yLXNjaGVtZS5zY3NzOyBnZW9tZXRyaWEgKyB0cmFuc2nDp8O1ZXMgYXF1aS5cblxuLy8gS2lsbCByaXBwbGUg4oCUIGNoYWlyIFVJIGRvZXNuJ3QgdXNlIHJpcHBsZSBmZWVkYmFjay5cbi5tYXQtY2hlY2tib3gtcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBLaWxsIHRoZSBjaGVja21hcmsgZHJhdyBhbmltYXRpb24g4oCUIHN0YXlzIHNuYXAgKE5vdGlvbi9MaW5lYXItc3R5bGUpLlxuLy8gU3RhdGUgdHJhbnNpdGlvbnMgKGJnL2JvcmRlcikgRE8gYW5pbWF0ZSB2aWEgdGhlIHJ1bGVzIGJlbG93LlxuLm1hdC1jaGVja2JveC1jaGVja21hcmstcGF0aCB7XG4gIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5tYXQtY2hlY2tib3gge1xuICAvLyBNYXRlcmlhbCBkZWZhdWx0IHRlbSBgLm1hdC1jaGVja2JveC1sYXlvdXQgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgfWAg4oCUXG4gIC8vIGEgYm94ICgxNnB4KSBhbGluaGEgcGVsbyBiYXNlbGluZSBkbyB0ZXh0byBlIGVzdGVuZGUgfjNweCBhY2ltYSBkbyB0b3AgZGFcbiAgLy8gdGV4dC1saW5lLCBzb21hbmRvIDJweCBkZSBhbHR1cmEgcG9yIHJvdyB2cyBvIGBhbGlnbi1pdGVtczogY2VudGVyYCBkb1xuICAvLyByYWRpbyBlIGRvIHRvZ2dsZS4gT3ZlcnJpZGUgcGFyYSBjZW50ZXIgYWxpbmhhIGEgZmFtw61saWEgdmlzdWFsbWVudGUuXG4gIC8vIFNwZWNpZmljaXR5IDAsMiwwICh2cyBNYXRlcmlhbCAwLDEsMCkg4oCUIHNlbSBgIWltcG9ydGFudGAuXG4gIC5tYXQtY2hlY2tib3gtbGF5b3V0IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLy8gMTZweCBib3ggKHNlY29uZGFyeSBpY29uIHNjYWxlLCBtZXNtYSBmYW3DrWxpYSkuIDhweCBnYXAgYmVmb3JlIGxhYmVsLlxuICAubWF0LWNoZWNrYm94LWlubmVyLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICB9XG5cbiAgLy8gNHB4IHJhZGl1cyBvbiBib3RoIGZyYW1lICh1bmNoZWNrZWQpIGFuZCBiYWNrZ3JvdW5kIChjaGVja2VkIGZpbGwpLlxuICAvLyBTbGlnaHQgcm91bmRpbmcgZ2l2ZXMgYSBOb3Rpb24vTGluZWFyIGZlZWwgd2l0aG91dCBnb2luZyBjaXJjdWxhci5cbiAgLm1hdC1jaGVja2JveC1mcmFtZSB7XG4gICAgYm9yZGVyLXdpZHRoOiAxLjVweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyAkZWFzZS1vdXQsIGJvcmRlci1jb2xvciAxNTBtcyAkZWFzZS1vdXQ7XG4gIH1cblxuICAubWF0LWNoZWNrYm94LWJhY2tncm91bmQge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zICRlYXNlLW91dDtcbiAgfVxuXG4gIC8vIFNocmluayB0aGUgY2hlY2ttYXJrIGdseXBoIHBhcmEgcmVmaW5lbWVudCBzZW0gcGVyZGVyIHByZXNlbsOnYS4gTWF0ZXJpYWxcbiAgLy8gZGVmYXVsdCByZW5kaWEgfjEwcHggKDYyJSBkbyBib3gpOyAwLjggcmVkdXogcGFyYSB+OHB4ID0gbWFpcyBsZXZlIHF1ZSBvXG4gIC8vIGRlZmF1bHQsIG1hcyBtYW50w6ltIHBlc28gZGUgbGVpdHVyYSBpbWVkaWF0YS5cbiAgLm1hdC1jaGVja2JveC1jaGVja21hcmsge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIH1cbn1cblxuLy8gRm9jdXMgKGtleWJvYXJkKSDigJQgb3V0bGluZSBvZmZzZXQgaWd1YWwgYW9zIG91dHJvcyBjb250cm9sZXMuIENvbG9yIHRoZW1lLWF3YXJlLlxuLm1hdC1jaGVja2JveC5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWNoZWNrYm94LWZyYW1lIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLy8gRGlzYWJsZWQg4oCUIG9wYWNpdHkgKyBjdXJzb3IgKHBhcmFsZWxvIGFvIHNsaWRlLXRvZ2dsZSBlIHJhZGlvKS5cbi5tYXQtY2hlY2tib3gubWF0LWNoZWNrYm94LWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuIiwiQGltcG9ydCAnLi4vY29sb3JzJztcbkBpbXBvcnQgJy4uL3ZhcmlhYmxlcyc7XG5cbi8vIOKUgOKUgOKUgCAuamVtczMtbmF0aXZlLWNoZWNrYm94IOKAlCBjaGVja2JveCBOQVRJVk8gZXN0aWxpemFkbyBkbyBKRU1TMyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIEFsdGVybmF0aXZhIGxpZ2h0LXdlaWdodCBhbyA8bWF0LWNoZWNrYm94PiBwYXJhIHRlbGFzIGNvbSBtdWl0YXMgaW5zdMOibmNpYXNcbi8vIChtYXRyaXplcywgY2hlY2tsaXN0cywgbGlzdGFzIGxvbmdhcykuIFNlbSByaXBwbGUsIHNlbSBpbnN0YW5jaWFtZW50byBkb1xuLy8gTWF0ZXJpYWwg4oCUIHPDsyBIVE1MIG5hdGl2byArIENTUy4gU3Vwb3J0YSBvcyAzIGVzdGFkb3MgKG9mZiAvIG9uIC8gaW5kZXRlci1cbi8vIG1pbmF0ZSkuIFByb21vdmlkbyBwYXJhIGdsb2JhbCBwcmEgc2VyIHJldXRpbGl6w6F2ZWwgZW0gcXVhbHF1ZXIgcMOhZ2luYS5cbi8vXG4vLyBVc286XG4vLyAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBjbGFzcz1cImplbXMzLW5hdGl2ZS1jaGVja2JveFwiIFsobmdNb2RlbCldPVwidmFsdWVcIj5cbi8vXG4vLyBJbmRldGVybWluYXRlIMOpIHNldGFkbyB2aWEgSlMgKEFuZ3VsYXIgQFZpZXdDaGlsZCAvIHNldHRlciksIGlndWFsIGFvXG4vLyBtYXQtY2hlY2tib3guIEV4ZW1wbG86IGBjaGVja2JveFJlZi5pbmRldGVybWluYXRlID0gaXNQYXJ0aWFsbHlDaGVja2VkO2Bcbi8vXG4vLyBUZW1hOiBsaWdodCA9IGZpbGwgYWNjZW50IChvcmFuZ2UtOTAwKSArIGNoZWNrIG9mZi13aGl0ZS4gRGFyayA9IGZpbGxcbi8vIGdyYXktMzAwICsgY2hlY2sgbmVhci1ibGFjay4gT3ZlcnJpZGUgZW0gYC5kYXJrLXRoZW1lYCBubyBmaW0gZG8gYXJxdWl2by5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4uamVtczMtbmF0aXZlLWNoZWNrYm94IHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIG1hcmdpbjogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCAkZ3JheS00NTA7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyAkZWFzZS1vdXQsIGJvcmRlci1jb2xvciAxNTBtcyAkZWFzZS1vdXQ7XG5cbiAgJjpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggZD0nTTMgOCBMNyAxMiBMMTMgNCcgc3Ryb2tlPSclMjNmOWY4ZjcnIHN0cm9rZS13aWR0aD0nMi4yJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cblxuICAmOmluZGV0ZXJtaW5hdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBkPSdNNCA4IEwxMiA4JyBzdHJva2U9JyUyM2Y5ZjhmNycgc3Ryb2tlLXdpZHRoPScyLjInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJvcmRlci1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAjMDY0YWQ5O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cbn1cblxuLy8gRGFyayB0aGVtZSDigJQgZmlsbCBjbGFybyBjb20gY2hlY2sgZXNjdXJvIHByYSBjb250cmFzdGUuXG4uZGFyay10aGVtZSAuamVtczMtbmF0aXZlLWNoZWNrYm94IHtcbiAgYm9yZGVyLWNvbG9yOiAkZ3JheS00MDA7XG5cbiAgJjpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0zMDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggZD0nTTMgOCBMNyAxMiBMMTMgNCcgc3Ryb2tlPSclMjMyMDIwMjAnIHN0cm9rZS13aWR0aD0nMi4yJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cblxuICAmOmluZGV0ZXJtaW5hdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTMwMDtcbiAgICBib3JkZXItY29sb3I6ICRncmF5LTMwMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBkPSdNNCA4IEwxMiA4JyBzdHJva2U9JyUyMzIwMjAyMCcgc3Ryb2tlLXdpZHRoPScyLjInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJvcmRlci1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcms7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmUtY29sb3I6ICMwMDgwZmY7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uL2NvbG9ycyc7XG5AaW1wb3J0ICcuLi92YXJpYWJsZXMnO1xuXG4vLyDilIDilIDilIAgLmplbXMzLW5hdGl2ZS1yYWRpbyDigJQgcmFkaW8tYnV0dG9uIE5BVElWTyBlc3RpbGl6YWRvIGRvIEpFTVMzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gQWx0ZXJuYXRpdmEgbGlnaHQtd2VpZ2h0IGFvIDxtYXQtcmFkaW8tYnV0dG9uPiDigJQgc2VtIHJpcHBsZSwgc2VtIE1hdGVyaWFsLlxuLy8gTWVzbWEgbGluZ3VhZ2VtIHZpc3VhbCBkbyAuamVtczMtbmF0aXZlLWNoZWNrYm94IChzw7MgSFRNTCArIENTUyksIHBhcmFcbi8vIGFtYmllbnRlcyBhdXRvci9yZXZpc29yIG9uZGUgbyByZXN0YW50ZSBkb3MgY29udHJvbGVzIMOpIG5hdGl2byBKRU1TMy5cbi8vXG4vLyBVc286XG4vLyAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiBjbGFzcz1cImplbXMzLW5hdGl2ZS1yYWRpb1wiIG5hbWU9XCJncnVwb1wiXG4vLyAgICAgICAgICBbY2hlY2tlZF09XCIuLi5cIiAoY2hhbmdlKT1cIi4uLlwiPlxuLy9cbi8vIE11dHVhbC1leGNsdXPDo28gdmVtIGRvIGF0cmlidXRvIGBuYW1lYCBkbyBwcsOzcHJpbyBicm93c2VyIOKAlCBvIG1lc21vIGBuYW1lYFxuLy8gZW0gbcO6bHRpcGxvcyByw6FkaW9zIGFncnVwYSBhIHNlbGXDp8Ojby4gTsOjbyBwcmVjaXNhIGRlIDxtYXQtcmFkaW8tZ3JvdXA+LlxuLy9cbi8vIFRlbWE6IGxpZ2h0ID0gZmlsbCBhY2NlbnQgKG9yYW5nZS05MDApIGNvbSBtaW9sbyBvZmYtd2hpdGUuIERhcmsgPSBmaWxsXG4vLyBncmF5LTMwMCBjb20gbWlvbG8gbmVhci1ibGFjay4gT3ZlcnJpZGUgZW0gYC5kYXJrLXRoZW1lYCBubyBmaW0gZG8gYXJxdWl2by5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4uamVtczMtbmF0aXZlLXJhZGlvIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIG1hcmdpbjogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCAkZ3JheS00NTA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgLy8gTWlvbG8gZGVzZW5oYWRvIHZpYSBgYmFja2dyb3VuZC1pbWFnZWAgU1ZHIChjw61yY3VsbyBpbnRlcm5vKS4gQXNzaW1cbiAgLy8gbsOjbyBwcmVjaXNhIGRlIHBzZXVkby1lbGVtZW50byDigJQgZnVuY2lvbmEgZW0gPGlucHV0PiBuYXRpdm8sIHF1ZSBuw6NvXG4gIC8vIGFjZWl0YSBgOjpiZWZvcmVgL2A6OmFmdGVyYC5cbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyAkZWFzZS1vdXQsIGJvcmRlci1jb2xvciAxNTBtcyAkZWFzZS1vdXQ7XG5cbiAgJjpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2NpcmNsZSBjeD0nOCcgY3k9JzgnIHI9JzQnIGZpbGw9JyUyM2Y5ZjhmNycvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJvcmRlci1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAjMDY0YWQ5O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cbn1cblxuLy8gRGFyayB0aGVtZSDigJQgZmlsbCBjbGFybyBjb20gbWlvbG8gZXNjdXJvIHByYSBjb250cmFzdGUuXG4uZGFyay10aGVtZSAuamVtczMtbmF0aXZlLXJhZGlvIHtcbiAgYm9yZGVyLWNvbG9yOiAkZ3JheS00MDA7XG5cbiAgJjpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0zMDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2NpcmNsZSBjeD0nOCcgY3k9JzgnIHI9JzQnIGZpbGw9JyUyMzIwMjAyMCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJvcmRlci1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcms7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmUtY29sb3I6ICMwMDgwZmY7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbi8vIEpFTVMzIGNoYWlyIFVJIHNsaWRlLXRvZ2dsZSDigJQgY29tcGFjdCwgbW9ub2Nocm9tYXRpYywgb3V0bGluZWQtb2ZmIChcIlBsYW4gQlwiKS5cbi8vIERlZmF1bHQgTWF0ZXJpYWwgdjExIGlzIDM2w5cxNCB0cmFjayArIDIwcHggZWxldmF0ZWQgdGh1bWIgaW4gcHJpbWFyeS9hY2NlbnRcbi8vIGNvbG9yIChsb29rcyBkYXRlZCBhbmQgd2FzaGVkLW91dCBpbiB0aGUgb2ZmIHN0YXRlKS4gT3VyIHJlY2lwZTpcbi8vXG4vLyAgIC0gVHJhY2s6ICAgICAgIDI0w5cxNCBwaWxsIChyYWRpdXMgNykuIDE0JSBzbWFsbGVyIHRoYW4gZmlyc3QgY29tcGFjdCBwYXNzLlxuLy8gICAtIFRodW1iOiAgICAgICAxMMOXMTAgZmxhdCBjaXJjbGUsIDJweCBwYWRkaW5nIGFsbC1hcm91bmQgaW5zaWRlIHRoZSB0cmFja1xuLy8gICAgICAgICAgICAgICAgICAoc28gdGhlIHRodW1iIGlzIGZ1bGx5IGNvbnRhaW5lZCkuIFRyYW5zbGF0ZXMgMTBweCBvbiBjaGVjay5cbi8vICAgLSBPZmYgdHJhY2s6ICAgdHJhbnNwYXJlbnQgYmcgKyAxLjVweCBpbnNldCBib3JkZXIgKHZpYSBib3gtc2hhZG93IGluc2V0KVxuLy8gICAgICAgICAgICAgICAgICBpbiAkY2hyb21lLWJvcmRlci1saWdodC8tZGFyayDigJQgb3V0bGluZWQsIE5PVCBmaWxsZWQgZ3JheVxuLy8gICAgICAgICAgICAgICAgICAoZmlsbGVkIGdyYXkgbWFkZSB0aGUgY29udHJvbCByZWFkIGFzIFwiZGlzYWJsZWRcIikuXG4vLyAgIC0gT24gdHJhY2s6ICAgIHNvbGlkICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS8tYWN0aXZlLWRhcmtcbi8vICAgICAgICAgICAgICAgICAgKHNhbWUgYWN0aXZlIHRva2VuIHVzZWQgYnkgY2hlY2tib3ggY2hlY2tlZCBmaWxsKS5cbi8vICAgLSBPZmYgdGh1bWI6ICAgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IgKHRoZSBtdXRlZCB0ZXh0IHRva2VuIOKAlFxuLy8gICAgICAgICAgICAgICAgICBkYXJrIGdyYXkgb24gdGhlIG91dGxpbmVkIHRyYWNrLCBjbGVhcmx5IHByZXNlbnQpLlxuLy8gICAtIE9uIHRodW1iOiAgICAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kIChjaHJvbWUgYmcgdG9uZSDigJQgb2ZmLXdoaXRlIG9uXG4vLyAgICAgICAgICAgICAgICAgIHRoZSBzb2xpZCBkYXJrIGFjdGl2ZSB0cmFjaywgY2xlYXJseSBwcmVzZW50KS5cbi8vXG4vLyBTZW1hbnRpY2FsbHkgc3ltbWV0cmljIHdpdGggdGhlIGNoZWNrYm94OiBvZmYgPSBvdXRsaW5lZCwgb24gPSBmaWxsZWQuXG4vLyBDb2xvcnMgYXJlIHRoZW1lLWF3YXJlIHZpYSBfY29sb3Itc2NoZW1lLnNjc3M7IGdlb21ldHJ5IGxpdmVzIGhlcmUuXG5cbi8vIEtpbGwgcmlwcGxlIOKAlCBjaGFpciBVSSBkb2Vzbid0IHVzZSByaXBwbGUgZmVlZGJhY2suXG4ubWF0LXNsaWRlLXRvZ2dsZSAubWF0LXNsaWRlLXRvZ2dsZS1yaXBwbGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWF0LXNsaWRlLXRvZ2dsZSB7XG4gIC8vIE1hdGVyaWFsIGRlZmF1bHQgZm9yw6dhIGAubWF0LXNsaWRlLXRvZ2dsZSB7IGhlaWdodDogMjRweDsgbGluZS1oZWlnaHQ6IDI0cHggfWBcbiAgLy8gbm8gaG9zdCAoPXdyYXBwZXIpIHZpYSBpbmxpbmUgc3R5bGVzIGRvIGNvbXBvbmVudGUgKFZpZXdFbmNhcHN1bGF0aW9uKS5cbiAgLy8gRXNzZXMgc3R5bGVzIGVudHJhbSBubyBkb2N1bWVudCBvcmRlciBERVBPSVMgZG9zIG5vc3NvcyBnbG9iYWlzIOKAlCBlbnTDo29cbiAgLy8gc2VtIGAhaW1wb3J0YW50YCBNYXRlcmlhbCB2ZW5jZSBwb3Igc291cmNlIG9yZGVyIChtZXNtYSBlc3BlY2lmaWNpZGFkZSkuXG4gIC8vIE92ZXJyaWRlOiBhdXRvLWhlaWdodCBjb2xhcHNhIG8gd3JhcHBlciBwYXJhIGEgYWx0dXJhIG5hdHVyYWwgZG8gY29udGXDumRvLlxuICAvL1xuICAvLyBsaW5lLWhlaWdodCBGSVhPICgxLjMsIGJvZHkgcmVjaXBlKSDigJQgTsODTyBgaW5oZXJpdGAuIENvbSBgaW5oZXJpdGAgbyBob3N0IHBlZ2F2YVxuICAvLyBvIGxpbmUtaGVpZ2h0IGRvIENPTlRBSU5FUiwgcXVlIHZhcmlhIHBvciB0ZWxhIChleC46IGAuc21hbGwtcGlja2VyIHsgbGluZS1oZWlnaHQ6XG4gIC8vIDEgIWltcG9ydGFudCB9YCwgYC5zY29wZS10b2dnbGUtcm93IHsgZm9udC1zaXplOiAuODc1cmVtIH1gKSwgZmF6ZW5kbyBvIE1FU01PIHRvZ2dsZVxuICAvLyByZW5kZXJpemFyIGNvbSBjYWl4YXMvYWxpbmhhbWVudG9zIGRpZmVyZW50ZXMgKFwidmVyc8O1ZXMgZGlmZXJlbnRlc1wiKS4gRml4byBhcXVpIOKGklxuICAvLyBpZMOqbnRpY28gZW0gdG9kbyBvIHNpc3RlbWEgKExpc3RhIGRlIHN1Ym1pc3PDtWVzLCBhdXRvci9yZXZpc29yLCBhZG1pbi9jaGFpcikuXG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS4zICFpbXBvcnRhbnQ7XG5cbiAgLy8gR2VvbWV0cmlhICh0cmFjayArIHRodW1iKSA9IGJsb2NvIFwiTTMgc3dpdGNoIOKAlCBQQURSw4NPIERPIFNJU1RFTUFcIiBhYmFpeG8gKDMyw5cxOCxcbiAgLy8gYSBnZW9tZXRyaWEgZGEgTGlzdGEgZGUgc3VibWlzc8O1ZXMpLiBPIGNoYWlyIGNvbXBhY3RvIDI0w5cxNCBmb2kgQVBPU0VOVEFETyDigJQgZm9udGVcbiAgLy8gw5pOSUNBIGRlIGdlb21ldHJpYSBhZ29yYSDDqSBvIE0zLiBBcXVpIGZpY2Egc8OzIG8gYHBvc2l0aW9uOiByZWxhdGl2ZWAgZG8gdGh1bWIsIGJhc2VcbiAgLy8gcC8gbyA6OmFmdGVyIChnbHlwaCDinJMpIHNlIHBvc2ljaW9uYXIgZGVudHJvIGRvIHRodW1iLlxuICAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5cbi8vIENoZWNrIGdseXBoICjinJMpIGluc2lkZSB0aGUgdGh1bWIgd2hlbiBPTi4gU1ZHIG1hc2sgZm9yIGNyaXNwIHJlbmRlcmluZyBhdFxuLy8gdGhlIHNtYWxsIDEwcHggdGh1bWIgc2l6ZSDigJQgYG1hc2stc2l6ZTogNjAlYCBsZWF2ZXMgfjJweCBvZiBicmVhdGhpbmcgcm9vbVxuLy8gYXJvdW5kIHRoZSBjaGVjay4gQ29sb3IgaXMgdGhlbWUtYXdhcmUgdmlhIF9jb2xvci1zY2hlbWUuc2Nzcy4gT2ZmIHN0YXRlXG4vLyBoYXMgbm8gZ2x5cGgg4oCUIG9ubHkgdGhlIG9uIHN0YXRlIGNhcnJpZXMgdGhlIGN1ZS5cbi5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZD0nTTEuNSA0IEwzLjUgNiBMNi41IDInIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMS41JyBmaWxsPSdub25lJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J00xLjUgNCBMMy41IDYgTDYuNSAyJyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgZmlsbD0nbm9uZScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAtd2Via2l0LW1hc2stc2l6ZTogNjAlO1xuICAgICAgICAgIG1hc2stc2l6ZTogNjAlO1xuICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4vLyBUcmFuc2nDp8OjbyBkYSBwb3Npw6fDo28gZG8gdGh1bWIgT04gw6kgZGVmaW5pZGEgbm8gYmxvY28gTTMgKGdyb3cgKyBzbGlkZSAxNHB4KS5cblxuLy8gVHJhbnNpdGlvbjogc21vb3RoIHRodW1iIHNsaWRlICsgYmcvdGh1bWIgY29sb3IgZmFkZS4gMTUwbXMgd2l0aCAkZWFzZS1vdXRcbi8vIChjaGFpciBVSSBjYW5vbmljYWwgZWFzaW5nIGN1cnZlKS4gQm9yZGVyIChpbnNldCBzaGFkb3cpIGRvZXNuJ3QgY2hhbmdlXG4vLyBiZXR3ZWVuIG9mZi9vbiwgc28gbm8gdHJhbnNpdGlvbiBuZWVkZWQgb24gaXQuXG4ubWF0LXNsaWRlLXRvZ2dsZSAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYi1jb250YWluZXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTUwbXMgJGVhc2Utb3V0O1xufVxuLm1hdC1zbGlkZS10b2dnbGUgLm1hdC1zbGlkZS10b2dnbGUtYmFyIHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyAkZWFzZS1vdXQsIGJveC1zaGFkb3cgMTUwbXMgJGVhc2Utb3V0O1xufVxuLm1hdC1zbGlkZS10b2dnbGUgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWIge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zICRlYXNlLW91dDtcbn1cblxuLy8gRm9jdXMgaW5kaWNhdG9yIChrZXlib2FyZCBhMTF5KSDigJQgb3V0bGluZSBhcm91bmQgdGhlIHRyYWNrIHdoZW4gZm9jdXNlZCB2aWFcbi8vIGtleWJvYXJkLiBNYXRlcmlhbCdzIENESyBGb2N1c01vbml0b3IgYXBwbGllcyBgLmNkay1rZXlib2FyZC1mb2N1c2VkYCBvbmx5IG9uXG4vLyBrZXlib2FyZCBmb2N1cyAobW91c2UgZm9jdXMgZ2V0cyBgLmNkay1tb3VzZS1mb2N1c2VkYCwgbm8gb3V0bGluZSkuIENvbG9yIGlzXG4vLyB0aGVtZS1hd2FyZSB2aWEgX2NvbG9yLXNjaGVtZS5zY3NzLlxuLm1hdC1zbGlkZS10b2dnbGUuY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1zbGlkZS10b2dnbGUtYmFyIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLy8gRGlzYWJsZWQgc3RhdGUg4oCUIHNpbmdsZSBvcGFjaXR5IGRyb3Agb24gdGhlIGhvc3QgZWxlbWVudCAodW5pZm9ybSBtdXRlIG9mXG4vLyBwaWxsICsgdGh1bWIgKyBjaGVjayArIGxhYmVsKSArIGN1cnNvciBjdWUuIE1hdGVyaWFsIGFkZHMgYC5tYXQtZGlzYWJsZWRgXG4vLyBjbGFzcyB3aGVuIHRoZSBpbnB1dCBpcyBgW2Rpc2FibGVkXT1cInRydWVcImAuXG4ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTTMgc3dpdGNoIOKAlCBHRU9NRVRSSUEgR0xPQkFMIMOaTklDQSAocGFkcsOjbyBkbyBzaXN0ZW1hKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSZXByb2R1eiB2aXN1YWxtZW50ZSBvIE1hdGVyaWFsIERlc2lnbiAzIHN3aXRjaCBzb2JyZSBvIGNvbXBvbmVudGUgTWF0ZXJpYWwgMTEuXG4vLyDDiSBhIMOaTklDQSBnZW9tZXRyaWEgZGUgdG9kbyBgbWF0LXNsaWRlLXRvZ2dsZWAgZG8gSkVNUzMg4oCUIGEgbWVzbWEgZG8gdG9nZ2xlIGRhXG4vLyBcIkxpc3RhIGRlIHN1Ym1pc3PDtWVzXCIgKHF1ZSBhcGVuYXMgaGVyZGEgZXN0ZSBnbG9iYWwsIHNlbSBnZW9tZXRyaWEgcHLDs3ByaWEpLiBBbnRlc1xuLy8gZXNjb3BhZGEgYW8gYXV0b3IvcmV2aXNvciAoYC5tYWluLWhlYWRlciAub3B0aW9uc2AsIGAuc21hbGwtcGlja2VyYCxcbi8vIGAuc2NvcGUtdG9nZ2xlLXJvd2ApIGUgbyBjaGFpciBjb21wYWN0byAyNMOXMTQgZXJhIG8gZGVmYXVsdDsgYWdvcmEgbyBjaGFpciBmb2lcbi8vIGFwb3NlbnRhZG8gZSBlc3RhIMOpIGEgZm9udGUgdW5pdmVyc2FsLiBPIGJsb2NvIGAubWF0LXNsaWRlLXRvZ2dsZWAgYWNpbWEgY3VpZGEgc8OzXG4vLyBkbyBuw6NvLWdlb23DqXRyaWNvIChlc3RhZG8gT0ZGL2NvciwgaG9zdCBoZWlnaHQsIGtpbGwtcmlwcGxlLCBwb3NpdGlvbiBkbyB0aHVtYikuXG4vLyBNZXhlciBhcXVpIHJlZmxldGUgZW0gVE9ETyBvIHNpc3RlbWEsIGluY2x1c2l2ZSBuYSBMaXN0YSBkZSBzdWJtaXNzw7Vlcy5cbi8vXG4vLyAgIE0zIHNwZWNzIChjb21wYWN0bywgbWFudMOpbSByYXRpbyB0aHVtYi90cmFjayB+MC43NSBkbyBNMyBzdGFuZGFyZCk6XG4vLyAgIC0gVHJhY2s6ICAgIDMyw5cxOCBwaWxsLCByYWRpdXMgOVxuLy8gICAtIFRodW1iOiAgICAxMMOXMTAgb2ZmIChjZW50ZXJlZCwgNHB4IHBhZGRpbmcpIOKGkiAxNMOXMTQgb24gKGNyZXNjZSArIHNsaWRlKVxuLy8gICAtIE91dGxpbmU6ICAxLjVweCBib3JkZXIgbmEgdHJhY2sgT0ZGOyBzZW0gb3V0bGluZSBPTiAoTTMgcHVybylcbi8vICAgLSBDb3Igb246ICAgJGFjY2VudC1iYWNrZ3JvdW5kIChhenVsIEpFTVMzKSDigJQgZGVmaW5pZGEgZW0gX2NvbG9yLXNjaGVtZS5zY3NzXG4vLyAgIC0gU2hhZG93OiAgIHRodW1iIHRlbSBlbGV2YcOnw6NvIHN1dGlsXG4vLyAgIC0gSG92ZXI6ICAgIHNlbSBkZXN0YXF1ZSAoYSB0cmFjayBPTiBqw6EgdGVtIGNvciBzYXR1cmFkYSBvIHN1ZmljaWVudGUpXG4vLyAgIC0gUGFkZGluZyBPTjogMnB4IGRlIGNhZGEgbGFkbyAodGh1bWIgbsOjbyB0b2NhIGJvcmRhIGRhIHRyYWNrKVxuLm1hdC1zbGlkZS10b2dnbGUge1xuICAubWF0LXNsaWRlLXRvZ2dsZS1iYXIge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBib3JkZXItcmFkaXVzOiA5cHg7XG4gIH1cblxuICAvLyBPZmYgdGh1bWI6IDEww5cxMCwgY2VudGVyZWQgKDRweCBwYWRkaW5nIGFsbC1hcm91bmQgaW5zaWRlIDE4cHggYmFyKS5cbiAgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWItY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgdG9wOiA0cHg7XG4gICAgbGVmdDogNHB4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyAkZWFzZS1vdXQsIHdpZHRoIDE1MG1zICRlYXNlLW91dCxcbiAgICAgICAgICAgICAgICBoZWlnaHQgMTUwbXMgJGVhc2Utb3V0LCB0b3AgMTUwbXMgJGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgIGxlZnQgMTUwbXMgJGVhc2Utb3V0O1xuICB9XG4gIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iIHtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyAkZWFzZS1vdXQsIHdpZHRoIDE1MG1zICRlYXNlLW91dCxcbiAgICAgICAgICAgICAgICBoZWlnaHQgMTUwbXMgJGVhc2Utb3V0LCBib3gtc2hhZG93IDE1MG1zICRlYXNlLW91dDtcbiAgfVxuXG4gIC8vIENoZWNrZWQ6IHRodW1iIGNyZXNjZSBwYXJhIDE0w5cxNCAoTTMgZ3JvdykuIFBvc2nDp8OjbyBmaW5hbDogdGh1bWIgcmlnaHRcbiAgLy8gZWRnZSBhIDJweCBkYSBib3JkYSBkaXJlaXRhIGRhIHRyYWNrIOKGkiB0aHVtYiBsZWZ0ID0gMzIgLSAxNCAtIDIgPSAxNnB4LlxuICAvLyBDb250YWluZXIgT04gdGVtIGxlZnQ6MiwgZW50w6NvIHRyYW5zZm9ybSA9IDE2IC0gMiA9IDE0cHguXG4gICYubWF0LWNoZWNrZWQge1xuICAgIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTRweDtcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIHRvcDogMnB4O1xuICAgICAgbGVmdDogMnB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxNHB4LCAwLCAwKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYiB7XG4gICAgICB3aWR0aDogMTRweDtcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgfVxuICB9XG5cbiAgLy8gTTMgT04gdGh1bWI6IGNoZWNrIGdseXBoICh2aWEgOjphZnRlciBkbyBjaGFpciByZWNpcGUpIGVtIDU1JSBkbyB0aHVtYlxuICAvLyAxNMOXMTQgPSB+OHB4LiBDb3IgZG8gZ2x5cGggw6kgYXp1bCBKRU1TMyAob3ZlcnJpZGUgZW0gX2NvbG9yLXNjaGVtZS5zY3NzKS5cbiAgJi5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYjo6YWZ0ZXIge1xuICAgIC13ZWJraXQtbWFzay1zaXplOiA1NSU7XG4gICAgICAgICAgICBtYXNrLXNpemU6IDU1JTtcbiAgfVxuXG4gIC8vIE0zIE9OIHRyYWNrOiBzZW0gb3V0bGluZSAoYSBjb3IgcHJlZW5jaGlkYSDDqSBvIHNpbmFsKS5cbiAgJi5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS1iYXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIEhvdmVyOiBiZyBkYSBiYXIgbsOjbyBtdWRhLCBlIGEgY29yIGRhIG91dGxpbmUgKE9GRiBzdGF0ZSkgdGFtYsOpbSBuw6NvIG11ZGFcbiAgLy8g4oCUIG92ZXJyaWRlcyBlbSBfY29sb3Itc2NoZW1lLnNjc3MgZ2FyYW50ZW0gcXVlIGhvdmVyID09PSByZXN0aW5nIHN0YXRlLlxufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuLy8gSkVNUzMgY2hhaXIgVUkgcmFkaW8gYnV0dG9uIOKAlCBhcHBsaWVzIHRoZSBzbGlkZS10b2dnbGUncyBcImJpbmFyeSBjb250cm9sXCJcbi8vIHZpc3VhbCBsYW5ndWFnZSB0byBhIGNpcmN1bGFyIHNoYXBlLiBUb2dldGhlciB3aXRoIHRoZSBjaGVja2JveCAoc3F1YXJlKVxuLy8gYW5kIHNsaWRlLXRvZ2dsZSAocGlsbCksIHRoZSByYWRpbyAoY2lyY2xlKSBjb21wbGV0ZXMgdGhlIGZhbWlseSDigJQgYWxsXG4vLyB0aHJlZSBzaGFyZTogb3V0bGluZWQtb2ZmIC8gZmlsbGVkLW9uLCBtZXNtb3MgY29sb3IgdG9rZW5zLCBtZXNtYXMgaW52ZXJzw7Vlc1xuLy8gZGUgaG92ZXIsIGZvY3VzIGJyYW5kLXNhdHVyYWRvLlxuLy9cbi8vICAgLSBPdXRlciByaW5nOiAgMTZweCBjaXJjbGUsIDEuNXB4IGJvcmRlciAodGhlbWUtYXdhcmUpXG4vLyAgIC0gT2ZmIGJnOiAgICAgIHdhcm0gYmVpZ2UgdGludCAobGlnaHQpIC8gdHJhbnNwYXJlbnQgKGRhcmspXG4vLyAgIC0gT24gYmc6ICAgICAgIHNvbGlkIGAjNGE0NjNmYCAobGlnaHQpIC8gdHJhbnNwYXJlbnQgKGRhcmspXG4vLyAgIC0gSW5uZXIgZG90OiAgIH42cHggKHNjYWxlIDAuMzc1IGRvIG91dGVyIDE2cHgpIG9mZi13aGl0ZSBjcm9zcy10aGVtZSxcbi8vICAgICAgICAgICAgICAgICAgdmlzw612ZWwgc8OzIG5vIGNoZWNrZWQg4oCUIGZheiBvIHBhcGVsIHZpc3VhbCBkbyBcInRodW1iXCIgZG9cbi8vICAgICAgICAgICAgICAgICAgc2xpZGUtdG9nZ2xlIChjdWUgZGUgcG9zacOnw6NvL3NlbGXDp8Ojbylcbi8vXG4vLyBDb3JlcyB0aGVtZS1hd2FyZSBlbSBfY29sb3Itc2NoZW1lLnNjc3M7IGdlb21ldHJpYSArIHRyYW5zacOnw7VlcyBhcXVpLlxuXG4vLyBLaWxsIHJpcHBsZSDigJQgY2hhaXIgVUkgZG9lc24ndCB1c2UgcmlwcGxlLlxuLm1hdC1yYWRpby1idXR0b24gLm1hdC1yYWRpby1yaXBwbGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWF0LXJhZGlvLWJ1dHRvbiB7XG4gIC8vIENvbnRhaW5lciDigJQgMTZweCBib3ggcXVlIGFicmlnYSBvdXRlciArIGlubmVyLlxuICAubWF0LXJhZGlvLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICB9XG5cbiAgLy8gT3V0ZXIgY2lyY2xlICh0aGUgcmluZykg4oCUIDE2cHgsIGJvcmRlciAxLjVweCAodW5pZm9ybWUgbm9zIGRvaXMgdGVtYXMpLlxuICAubWF0LXJhZGlvLW91dGVyLWNpcmNsZSB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGJvcmRlci13aWR0aDogMS41cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyAkZWFzZS1vdXQsIGJvcmRlci1jb2xvciAxNTBtcyAkZWFzZS1vdXQ7XG4gIH1cblxuICAvLyBJbm5lciBjaXJjbGUgKHRoZSBkb3QpIOKAlCBzZW1wcmUgMTZweCBkZSDDoXJlYTsgc2NhbGUgZmF6IGFwYXJlY2VyL3N1bWlyLlxuICAvLyBNYXRlcmlhbCBkZWZhdWx0ID0gc2NhbGUoMCkgdW5jaGVja2VkIOKGkiBzY2FsZSgwLjUpIGNoZWNrZWQgKD0gOHB4IGRvdCkuXG4gIC8vIE92ZXJyaWRlOiBzY2FsZSgwLjM3NSkgY2hlY2tlZCA9IDZweCBkb3QsIG1haXMgZGlzY3JldG8gZSBoYXJtw7RuaWNvIGNvbVxuICAvLyBhIGVzY2FsYSBtb25vY3LDs21hdGljYSBkbyBjb21wb25lbnRlLlxuICAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNTBtcyAkZWFzZS1vdXQsIGJhY2tncm91bmQtY29sb3IgMTUwbXMgJGVhc2Utb3V0O1xuICB9XG5cbiAgJi5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjM3NSk7XG4gIH1cbn1cblxuLy8gRm9jdXMgKGtleWJvYXJkKSDigJQgb3V0bGluZSBvZmZzZXQgaWd1YWwgYW8gc2xpZGUtdG9nZ2xlLlxuLm1hdC1yYWRpby1idXR0b24uY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUge1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4vLyBEaXNhYmxlZCDigJQgb3BhY2l0eSArIGN1cnNvciAocGFyYWxlbG8gYW9zIG91dHJvcyBjb250cm9sZXMpLlxuLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuIiwiQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdqZW1zM3InO1xuICAgIHNyYzogdXJsKCcvYXNzZXRzL2ZvbnRzL2plbXMzci53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBibG9jaztcbiAgfVxuICBcbiAgLmplbXMzciB7XG4gICAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgICBmb250LWZhbWlseTogJ2plbXMzcicgIWltcG9ydGFudDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgXG4gICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgIFxuICAgICYuZmEtY2FsZW5kYXItYWx0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwMFwiO1xuICAgIH1cbiAgICAmLmZhLWNoZWNrLXNxdWFyZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDFcIjtcbiAgICB9XG4gICAgJi5mYS1jbG9jazpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDJcIjtcbiAgICB9XG4gICAgJi5mYS1lZGl0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwM1wiO1xuICAgIH1cbiAgICAmLmZhLWV5ZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDRcIjtcbiAgICB9XG4gICAgJi5mYS1leWUtc2xhc2g6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTA1XCI7XG4gICAgfVxuICAgICYuZmEtZmlsZS1hbHQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTA2XCI7XG4gICAgfVxuICAgICYuZmEtbGlnaHRidWxiOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwN1wiO1xuICAgIH1cbiAgICAmLmZhLW1pbnVzLXNxdWFyZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDhcIjtcbiAgICB9XG4gICAgJi5mYS1wYXBlci1wbGFuZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDlcIjtcbiAgICB9XG4gICAgJi5mYS1zcXVhcmU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTBhXCI7XG4gICAgfVxuICAgICYuZmEtc3RpY2t5LW5vdGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTBiXCI7XG4gICAgfVxuICAgICYuZmEtYmVsbDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MGNcIjtcbiAgICB9XG4gICAgJi5mYS1wbHVzLXNxdWFyZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MGRcIjtcbiAgICB9XG4gIH1cbiAgIiwiQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdqZW1zM3MnO1xuICAgIC8vIE9ubHkgV09GRiDigJQgYWxsIGNoYWlyLVVJIHRhcmdldCBicm93c2VycyBzdXBwb3J0IGl0IChDaHJvbWUsXG4gICAgLy8gRmlyZWZveCwgU2FmYXJpLCBFZGdlKS4gVGhlIGxlZ2FjeSBgLmVvdGAgKElFOC0pIGFuZCBgLnR0ZmBcbiAgICAvLyAoZmFsbGJhY2spIHdlcmUgZHJvcHBlZCBhbG9uZyB3aXRoIHRoZSBvcnBoYW4gYC5zdmdgIGZvbnQgZmlsZS5cbiAgICBzcmM6IHVybCgnL2Fzc2V0cy9mb250cy9qZW1zM3Mud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtZGlzcGxheTogYmxvY2s7XG59XG4gIFxuLmplbXMzc3tcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgZm9udC1mYW1pbHk6ICdqZW1zM3MnICFpbXBvcnRhbnQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcblxuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cbiAgJi5mYS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG4gIH1cbiAgJi5mYS1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG4gIH1cbiAgJi5mYS1hbmdsZS1kb3VibGUtdXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwMlwiO1xuICB9XG4gICYuZmEtYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwM1wiO1xuICB9XG4gICYuZmEtYmFsYW5jZS1zY2FsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA0XCI7XG4gIH1cbiAgJi5mYS1iYXJzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDVcIjtcbiAgfVxuICAmLmZhLWJvb2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwNlwiO1xuICB9XG4gICYuZmEtYm9yZGVyLW5vbmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwN1wiO1xuICB9XG4gICYuZmEtY2FsZW5kYXItYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDhcIjtcbiAgfVxuICAmLmZhLWNhbGVuZGFyLWNoZWNrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDlcIjtcbiAgfVxuICAmLmZhLWNhbWVyYTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBhXCI7XG4gIH1cbiAgJi5mYS1jaGVjay1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwYlwiO1xuICB9XG4gICYuZmEtY2hlY2stZG91YmxlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGNcIjtcbiAgfVxuICAmLmZhLWNoZWNrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGRcIjtcbiAgfVxuICAmLmZhLWNoZXZyb24tZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBlXCI7XG4gIH1cbiAgJi5mYS1jaGV2cm9uLXVwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGZcIjtcbiAgfVxuICAmLmZhLWNsaXBib2FyZC1jaGVjazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTEwXCI7XG4gIH1cbiAgJi5mYS1jbGlwYm9hcmQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxMVwiO1xuICB9XG4gICYuZmEtY2xvY2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxMlwiO1xuICB9XG4gICYuZmEtY29nczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTEzXCI7XG4gIH1cbiAgJi5mYS1jb21tZW50LWRvdHM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxNFwiO1xuICB9XG4gICYuZmEtY29tbWVudDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE1XCI7XG4gIH1cbiAgJi5mYS1jb21tZW50czpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE2XCI7XG4gIH1cbiAgJi5mYS1kb3dubG9hZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE3XCI7XG4gIH1cbiAgJi5mYS1lZGl0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MThcIjtcbiAgfVxuICAmLmZhLWVsbGlwc2lzLWg6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxOVwiO1xuICB9XG4gICYuZmEtZW52ZWxvcGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxYVwiO1xuICB9XG4gICYuZmEtZXhjbGFtYXRpb24tY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWJcIjtcbiAgfVxuICAmLmZhLWV4Y2xhbWF0aW9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWNcIjtcbiAgfVxuICAmLmZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWRcIjtcbiAgfVxuICAmLmZhLWV5ZS1zbGFzaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTFlXCI7XG4gIH1cbiAgJi5mYS1leWU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxZlwiO1xuICB9XG4gICYuZmEtZmlsZS1kb3dubG9hZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTIwXCI7XG4gIH1cbiAgJi5mYS1maWxlLWV4Y2VsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjFcIjtcbiAgfVxuICAmLmZhLWZpbGUtcGRmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjJcIjtcbiAgfVxuICAmLmZhLWZpbGUtd29yZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTIzXCI7XG4gIH1cbiAgJi5mYS1maWx0ZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyNFwiO1xuICB9XG4gICYuZmEtZ2xvYmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyNVwiO1xuICB9XG4gICYuZmEtaGlzdG9yeTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTI2XCI7XG4gIH1cbiAgJi5mYS1ob21lOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjdcIjtcbiAgfVxuICAmLmZhLWhvdXJnbGFzcy1oYWxmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjhcIjtcbiAgfVxuICAmLmZhLWhvdXJnbGFzczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTI5XCI7XG4gIH1cbiAgJi5mYS1pZC1iYWRnZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTJhXCI7XG4gIH1cbiAgJi5mYS1pbmRlbnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyYlwiO1xuICB9XG4gICYuZmEtaW5mby1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyY1wiO1xuICB9XG4gICYuZmEtaW5mbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTJkXCI7XG4gIH1cbiAgJi5mYS1saWdodGJ1bGI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyZVwiO1xuICB9XG4gICYuZmEtbGlzdC1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyZlwiO1xuICB9XG4gICYuZmEtbG9jazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTMwXCI7XG4gIH1cbiAgJi5mYS1tYXAtbWFya2VyLWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTMxXCI7XG4gIH1cbiAgJi5mYS1taW51cy1zcXVhcmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzMlwiO1xuICB9XG4gICYuZmEtcGFwZXItcGxhbmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzM1wiO1xuICB9XG4gICYuZmEtcGVuY2lsLWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTM0XCI7XG4gIH1cbiAgJi5mYS1wZW46YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzNVwiO1xuICB9XG4gICYuZmEtcGx1cy1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzNlwiO1xuICB9XG4gICYuZmEtcGx1czpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTM3XCI7XG4gIH1cbiAgJi5mYS1wbHVzLXNxdWFyZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTM4XCI7XG4gIH1cbiAgJi5mYS1xdWVzdGlvbi1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzOVwiO1xuICB9XG4gICYuZmEtc2VhcmNoOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5M2FcIjtcbiAgfVxuICAmLmZhLXNpZ24tb3V0LWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTNiXCI7XG4gIH1cbiAgJi5mYS1zbGlkZXJzLWg6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzY1wiO1xuICB9XG4gICYuZmEtc29ydC1hbW91bnQtdXAtYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5M2RcIjtcbiAgfVxuICAmLmZhLXN5bmMtYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5M2VcIjtcbiAgfVxuICAmLmZhLXRhY2hvbWV0ZXItYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5M2ZcIjtcbiAgfVxuICAmLmZhLXRhZzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQwXCI7XG4gIH1cbiAgJi5mYS10aHVtYnMtZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQxXCI7XG4gIH1cbiAgJi5mYS10aHVtYnMtdXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0MlwiO1xuICB9XG4gICYuZmEtdGltZXMtY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NDNcIjtcbiAgfVxuICAmLmZhLXRpbWVzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NDRcIjtcbiAgfVxuICAmLmZhLXRyYXNoLWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQ1XCI7XG4gIH1cbiAgJi5mYS10cmFzaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQ2XCI7XG4gIH1cbiAgJi5mYS11bmRvOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NDdcIjtcbiAgfVxuICAmLmZhLXVubG9jay1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0OFwiO1xuICB9XG4gICYuZmEtdXBsb2FkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NDlcIjtcbiAgfVxuICAmLmZhLXVzZXItY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NGFcIjtcbiAgfVxuICAmLmZhLXVzZXItY29nOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NGJcIjtcbiAgfVxuICAmLmZhLXVzZXItZWRpdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTRjXCI7XG4gIH1cbiAgJi5mYS11c2Vycy1zbGFzaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTRkXCI7XG4gIH1cbiAgJi5mYS13aW5kb3ctY2xvc2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0ZVwiO1xuICB9XG4gICYuZmEtc3RhcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTRmXCI7XG4gIH1cbiAgJi5mYS11c2VyczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTUwXCI7XG4gIH1cbiAgJi5mYS1maWxlLWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTUxXCI7XG4gIH1cbiAgJi5mYS1sZXZlbC11cC1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1MlwiO1xuICB9XG4gICYuZmEtcXVlc3Rpb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1M1wiO1xuICB9XG4gICYuZmEtaG91cmdsYXNzLWhhbGY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1NFwiO1xuICB9XG4gICYuZmEtaGVhZHNldDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTU1XCI7XG4gIH1cbiAgJi5mYS1jaXR5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NTZcIjtcbiAgfVxuICAmLmZhLWZpbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1N1wiO1xuICB9XG4gICYuZmEtZmlsZS1hcmNoaXZlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NThcIjtcbiAgfVxuICAmLmZhLWJlbGw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1OVwiO1xuICB9XG4gICYuZmEtZW52ZWxvcGUtb3BlbjpiZWZvcmV7XG4gICAgY29udGVudDogXCJcXGU5NWFcIlxuICB9XG4gICYuZmEtc3RpY2t5LW5vdGU6YmVmb3Jle1xuICAgIGNvbnRlbnQ6IFwiXFxlOTViXCJcbiAgfVxuICAmLmZhLWxhcHRvcDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTVjXCI7XG4gIH1cbiAgJi5mYS1tb29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NWRcIjtcbiAgfVxuICAmLmZhLXN1bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTVlXCI7XG4gIH1cbn1cblxuIiwiLy8gTWF0ZXJpYWwgRGVzaWduIDMgdHlwb2dyYXBoeSDigJQgc2NvcGVkIHRvIC50cGMtbWQzIChUUEMgY2hhaXIgYXJlYSBvbmx5KS5cbi8vIFJlZmVyZW5jZTogaHR0cHM6Ly9tMy5tYXRlcmlhbC5pby9zdHlsZXMvdHlwb2dyYXBoeS90eXBlLXNjYWxlLXRva2Vuc1xuXG4kbWQzLWZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4vLyBBbGwgMTUgTUQzIHR5cGUtc2NhbGUgdG9rZW5zOiBzaXplIC8gbGluZS1oZWlnaHQgLyB3ZWlnaHQgLyBsZXR0ZXItc3BhY2luZy5cbiRtZDMtdHlwZS1zY2FsZTogKFxuICBkaXNwbGF5LWxhcmdlOiAgICAoMy41NjI1cmVtLCA0cmVtLCAgICA0MDAsIC0wLjAxNTYyNXJlbSksXG4gIGRpc3BsYXktbWVkaXVtOiAgICgyLjgxMjVyZW0sIDMuMjVyZW0sIDQwMCwgMCksXG4gIGRpc3BsYXktc21hbGw6ICAgICgyLjI1cmVtLCAgIDIuNzVyZW0sIDQwMCwgMCksXG4gIGhlYWRsaW5lLWxhcmdlOiAgICgycmVtLCAgICAgIDIuNXJlbSwgIDQwMCwgMCksXG4gIGhlYWRsaW5lLW1lZGl1bTogICgxLjc1cmVtLCAgIDIuMjVyZW0sIDQwMCwgMCksXG4gIGhlYWRsaW5lLXNtYWxsOiAgICgxLjVyZW0sICAgIDJyZW0sICAgIDQwMCwgMCksXG4gIHRpdGxlLWxhcmdlOiAgICAgICgxLjM3NXJlbSwgIDEuNzVyZW0sIDQwMCwgMCksXG4gIHRpdGxlLW1lZGl1bTogICAgICgxcmVtLCAgICAgIDEuNXJlbSwgIDUwMCwgMC4wMDkzNzVyZW0pLFxuICB0aXRsZS1zbWFsbDogICAgICAoMC44NzVyZW0sICAxLjI1cmVtLCA1MDAsIDAuMDA2MjVyZW0pLFxuICBib2R5LWxhcmdlOiAgICAgICAoMXJlbSwgICAgICAxLjVyZW0sICA0MDAsIDAuMDMxMjVyZW0pLFxuICBib2R5LW1lZGl1bTogICAgICAoMC44NzVyZW0sICAxLjI1cmVtLCA0MDAsIDAuMDE1NjI1cmVtKSxcbiAgYm9keS1zbWFsbDogICAgICAgKDAuNzVyZW0sICAgMXJlbSwgICAgNDAwLCAwLjAyNXJlbSksXG4gIGxhYmVsLWxhcmdlOiAgICAgICgwLjg3NXJlbSwgIDEuMjVyZW0sIDUwMCwgMC4wMDYyNXJlbSksXG4gIGxhYmVsLW1lZGl1bTogICAgICgwLjc1cmVtLCAgIDFyZW0sICAgIDUwMCwgMC4wMzEyNXJlbSksXG4gIGxhYmVsLXNtYWxsOiAgICAgICgwLjY4NzVyZW0sIDFyZW0sICAgIDUwMCwgMC4wMzEyNXJlbSksXG4pO1xuXG5AbWl4aW4gbWQzLXR5cGUoJHRva2VuKSB7XG4gICR2YWx1ZXM6IG1hcC1nZXQoJG1kMy10eXBlLXNjYWxlLCAkdG9rZW4pO1xuICBmb250LXNpemU6IG50aCgkdmFsdWVzLCAxKTtcbiAgbGluZS1oZWlnaHQ6IG50aCgkdmFsdWVzLCAyKTtcbiAgZm9udC13ZWlnaHQ6IG50aCgkdmFsdWVzLCAzKTtcbiAgbGV0dGVyLXNwYWNpbmc6IG50aCgkdmFsdWVzLCA0KTtcbn1cblxuLnRwYy1tZDMge1xuICBmb250LWZhbWlseTogJG1kMy1mb250LWZhbWlseTtcbiAgLy8gdG51bSBnaXZlcyB1bmlmb3JtLXdpZHRoIGRpZ2l0cyBmb3IgdGFibGVzIG9mIElEcy9zY29yZXMvZGF0ZXMgKHN1cHBvcnRlZCBieVxuICAvLyBTRiBQcm8sIFNlZ29lIFVJLCBSb2JvdG8sIEhlbHZldGljYSBOZXVlKS4ga2Vybi9saWdhIGFyZSB1bml2ZXJzYWwuXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIsIFwibGlnYVwiLCBcImNhbHRcIiwgXCJ0bnVtXCI7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuXG4gIEBpbmNsdWRlIG1kMy10eXBlKGJvZHktbWVkaXVtKTtcblxuICAvLyBVdGlsaXR5IGNsYXNzZXMgZm9yIGVhY2ggTUQzIHRva2VuIChzY29wZWQgdW5kZXIgLnRwYy1tZDMgc28gdGhleSBkb24ndCBsZWFrKS5cbiAgQGVhY2ggJHRva2VuLCAkXyBpbiAkbWQzLXR5cGUtc2NhbGUge1xuICAgIC5tZDMtI3skdG9rZW59IHtcbiAgICAgIEBpbmNsdWRlIG1kMy10eXBlKCR0b2tlbik7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICdjb2xvcnMnO1xuXG4vLyBDb3JlcyBkZSBGSUxMIHBvciBzdGF0dXMgZXhwb3N0YXMgY29tbyBDU1MgY3VzdG9tIHByb3BlcnRpZXMsIGEgcGFydGlyIGRvc1xuLy8gbWFwYXMtdG9rZW4gYCRzdWJtaXNzaW9uLXN0YXR1c2AgLyBgJHJldmlldy1zdGF0dXNgIChvIDHCuiB2YWxvciBkZSBjYWRhIHR1cGxhXG4vLyDDqSBvIGZpbGwpLiBPIG5neC1jaGFydHMgY29sb3JlIHZpYSBKUyAobsOjbyBDU1MpLCBlbnTDo28gYSBGT05URSBEQSBWRVJEQURFIGZpY2Fcbi8vIG5vcyB0b2tlbnMgU0NTUyBlIG8gYERhc2hib2FyZENoYXJ0Q29tcG9uZW50YCBzw7MgTMOKIG9zIHZhbG9yZXMgcmVzb2x2aWRvc1xuLy8gKGdldENvbXB1dGVkU3R5bGUpIHByYSBtb250YXIgbyBgW2N1c3RvbUNvbG9yc11gLiBBc3NpbSBzdGF0dXMgbXVkYSBkZSBjb3IgbnVtXG4vLyBsdWdhciBzw7MgKG9zIG1hcGFzKSwgc2VtIGhleCBsaXRlcmFsIGVzcGFsaGFkbyBubyBUUy5cbjpyb290IHtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkc3VibWlzc2lvbi1zdGF0dXMge1xuICAgIC0tY2hhcnQtc3RhdHVzLSN7JGtleX06ICN7bnRoKCR2YWwsIDEpfTtcbiAgfVxuICBAZWFjaCAka2V5LCAkdmFsIGluICRyZXZpZXctc3RhdHVzIHtcbiAgICAtLWNoYXJ0LXN0YXR1cy0jeyRrZXl9OiAje250aCgkdmFsLCAxKX07XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbG9ycyc7XG5cbi8vIEVzdGlsb3MgYXBsaWNhZG9zIEFQRU5BUyBxdWFuZG8gbyBhcHAgZXN0w6Egcm9kYW5kbyBjb21vIFBXQSBpbnN0YWxhZGFcbi8vIChzdGFuZGFsb25lIC8gbWluaW1hbC11aSAvIGZ1bGxzY3JlZW4gLyBDaHJvbWUgLS1hcHAgLyBpT1MgQWRpY2lvbmFyXG4vLyDDoCBUZWxhIGRlIEluw61jaW8pLiBBIGNsYXNzZSBgaW5zdGFsbGVkLWFwcGAgbm8gYDxib2R5PmAgw6kgYWRpY2lvbmFkYVxuLy8gcGVsbyBgQmFzZUNvbXBvbmVudGAgY29uc3VsdGFuZG8gbyBgUGxhdGZvcm1TZXJ2aWNlYC5cbi8vXG4vLyBCb3JkYSBzdXBlcmlvciBuYSBiYXJyYSBkZSBuYXZlZ2HDp8OjbyBFTlRSRSBFVkVOVE9TIChldmVudC1icmVhZGNydW1iKVxuLy8gKyBtZW51IGxhdGVyYWwgZG8gbGF5b3V0IG1vZGVybm8gKGV4cGVyaW1lbnRhbC1zaWRlYmFyKTogY29tcGVuc2EgYVxuLy8gYXVzw6puY2lhIGRvIGNocm9tZSBkbyBuYXZlZ2Fkb3IgKGJhcnJhIGRlIGVuZGVyZcOnbywgYWJhcykgZGFuZG8gdW1hXG4vLyBsaW5oYSBzdXRpbCBxdWUgYW5jb3JhIHZpc3VhbG1lbnRlIG8gdG9wbyBkYSBVSS5cblxuYm9keS5pbnN0YWxsZWQtYXBwIHtcbiAgLmV2ZW50LWJyZWFkY3J1bWIsICAgICAgICAgICAvLyBiYXJyYSBob3Jpem9udGFsIGNvbSBhIGNhZGVpYSBjbGljw6F2ZWwgZGUgZXZlbnRvc1xuICAuZXhwZXJpbWVudGFsLXNpZGViYXIgeyAgICAgIC8vIG1lbnUgbGF0ZXJhbCBkbyBsYXlvdXQgbW9kZXJubyAoY2hhaXIgVUkpXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xuICB9XG59XG5cbmJvZHkuaW5zdGFsbGVkLWFwcC5kYXJrLXRoZW1lIHtcbiAgLmV2ZW50LWJyZWFkY3J1bWIsXG4gIC5leHBlcmltZW50YWwtc2lkZWJhciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyaztcbiAgfVxufVxuIl19 */
