@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);
}
button[color].cancel_button span.mat-button-wrapper:not(:has(.mat-icon)), button[color].cancel_button span.mat-button-wrapper:has(span) {
  color: #000000 !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;
}
: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-password-input.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-password-input.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-password-input.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-password-input.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-password-input.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-password-input.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-password-input.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-password-input.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-password-input.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-password-input.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-password-input.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-password-input.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-password-input.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-password-input.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-password-input.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-password-input.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-password-input.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-password-input.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-password-input.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-password-input.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-password-input.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-password-input.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-password-input.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-password-input.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-password-input.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-password-input.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-password-input.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-password-input.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-password-input.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-password-input.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-password-input.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-password-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-password-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-password-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-password-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-password-input.filter-styled .mat-input-element,
.dark-theme app-password-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-password-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-password-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-password-input.filter-styled.mat-focused .mat-form-field-flex,
.dark-theme app-password-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 h3, .light-theme app-proceeding-step .card-title, .light-theme app-proceeding-step .section .section-title, .section .light-theme app-proceeding-step .section-title {
  color: #363636;
}
.dark-theme app-proceeding-step h3, .dark-theme app-proceeding-step .card-title, .dark-theme app-proceeding-step .section .section-title, .section .dark-theme app-proceeding-step .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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a1MxQjtBbUJyNlJFO0VBM0hBLGtCQzlCYztFRCtCZCxxQkM3QmU7QXBCaWtTakI7QW1CdDZSRTtFQTFIQSxVQUFBO0VBQ0EsaUJDdENjO0FwQjBrU2hCO0FtQnY2UkU7RUFySEEsWUFBQTtFQUNBLGlCQ3pDZ0I7QXBCeWtTbEI7QW1CeDZSRTtFQXBIQSxVQUFBO0VBQ0Esa0JDM0NhO0FwQjJrU2Y7QW1CejZSRTtFQW5IQSxVQUFBO0VBQ0Esa0JDN0NlO0FwQjZrU2pCO0FtQjVoU0U7RUFDRSxlQW9IWTtBbkIyNlJoQjtBbUI1aFNFO0VBQ0UsYUFnSFk7QW5CODZSaEI7QW1CbmlTRTtFQUNFLGVBb0hZO0FuQms3UmhCO0FtQm5pU0U7RUFDRSxhQWdIWTtBbkJxN1JoQjtBbUIxaVNFO0VBQ0UsZUFvSFk7QW5CeTdSaEI7QW1CMWlTRTtFQUNFLGFBZ0hZO0FuQjQ3UmhCO0FtQmpqU0U7RUFDRSxlQW9IWTtBbkJnOFJoQjtBbUJqalNFO0VBQ0UsYUFnSFk7QW5CbThSaEI7QW1CeGpTRTtFQUNFLGVBb0hZO0FuQnU4UmhCO0FtQnhqU0U7RUFDRSxhQWdIWTtBbkIwOFJoQjtBbUIvalNFO0VBQ0UsZUFvSFk7QW5CODhSaEI7QW1CL2pTRTtFQUNFLGFBZ0hZO0FuQmk5UmhCO0FtQnRrU0U7RUFDRSxlQW9IWTtBbkJxOVJoQjtBbUJ0a1NFO0VBQ0UsYUFnSFk7QW5CdzlSaEI7QW1CN2tTRTtFQUNFLGVBb0hZO0FuQjQ5UmhCO0FtQjdrU0U7RUFDRSxhQWdIWTtBbkIrOVJoQjtBbUJwbFNFO0VBQ0UsZUFvSFk7QW5CbStSaEI7QW1CcGxTRTtFQUNFLGFBZ0hZO0FuQnMrUmhCO0FtQjNsU0U7RUFDRSxlQW9IWTtBbkIwK1JoQjtBbUIzbFNFO0VBQ0UsYUFnSFk7QW5CNitSaEI7QW1CbG1TRTtFQUNFLGVBb0hZO0FuQmkvUmhCO0FtQmxtU0U7RUFDRSxhQWdIWTtBbkJvL1JoQjtBbUJ6bVNFO0VBQ0UsZUFvSFk7QW5Cdy9SaEI7QW1Cem1TRTtFQUNFLGFBZ0hZO0FuQjIvUmhCO0FtQmhuU0U7RUFDRSxlQW9IWTtB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LHlCQUFBO0FoRHFvZFY7QWdEN29kTTtFQUtFLG9DQUFBO0FoRDJvZFI7QWdEem9kUTtFQUNFLHlCQUFBO0FoRDJvZFY7QWdEbnBkTTtFQUtFLG9DQUFBO0FoRGlwZFI7QWdEL29kUTtFQUNFLHVCQUFBO0FoRGlwZFY7QWdEenBkTTtFQUtFLG9DQUFBO0FoRHVwZFI7QWdEcnBkUTtFQUNFLHVCQUFBO0FoRHVwZFY7QWdEL3BkTTtFQUtFLG9DQUFBO0FoRDZwZFI7QWdEM3BkUTtFQUNFLHVCQUFBO0FoRDZwZFY7QWdEcnFkTTtFQUtFLG9DQUFBO0FoRG1xZFI7QWdEanFkUTtFQUNFLHVCQUFBO0FoRG1xZFY7QWdEM3FkTTtFQUtFLG9DQUFBO0FoRHlxZFI7QWdEdnFkUTtFQUNFLHVCQUFBO0FoRHlxZFY7QWdEanJkTTtFQUtFLG9DQUFBO0FoRCtxZFI7QWdEN3FkUTtFQUNFLHVCQUFBO0FoRCtxZFY7QWdEdnJkTTtFQUtFLG9DQUFBO0FoRHFyZFI7QWdEbnJkUTtFQUNFLHVCQUFBO0FoRHFyZFY7QWdEN3JkTTtFQUtFLG9DQUFBO0FoRDJyZFI7QWdEenJkUTtFQUNFLHVCQUFBO0FoRDJyZFY7QWdEbnNkTTtFQUtFLG9DQUFBO0FoRGlzZFI7QWdEL3JkUTtFQUNFLHVCQUFBO0FoRGlzZFY7QWdEenNkTTtFQUtFLG9DQUFBO0FoRHVzZFI7QWdEcnNkUTtFQUNFLHVCQUFBO0FoRHVzZFY7QWdEL3NkTTtFQUtFLG9DQUFBO0FoRDZzZFI7QWdEM3NkUTtFQUNFLHVCQUFBO0FoRDZzZFY7QWdEN3JkTTtFQUNFLGtDQUFBO0VBQ0Esb0NBQUE7QWhEK3JkUjtBZ0Q1cmRRO0VBQ0UseUJBQUE7QWhEOHJkVjtBZ0Rwc2RNO0VBQ0Usb0NBQUE7RUFDQSxvQ0FBQTtBaERzc2RSO0FnRG5zZFE7RUFDRSx5QkFBQTtBaERxc2RWO0FnRDNzZE07RUFDRSxvQ0FBQTtFQUNBLG9DQUFBO0FoRDZzZFI7QWdEMXNkUTtFQUNFLHlCQUFBO0FoRDRzZFY7QWdEbHRkTTtFQUNFLG9DQUFBO0VBQ0Esb0NBQUE7QWhEb3RkUjtBZ0Rq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bkIsd0NuQy9UbUI7QXRCZ2hpQjNCO0F5RC9zaEJJOzs7O0VBSUksc0NuQ3JVbUI7QXRCc2hpQjNCO0F5RC9zaEJJOztFQUVJLHVDbkN6VW1CO0F0QjBoaUIzQjtBeURqc2hCUTs7RUFFSSxzRkFBQTtBekRtc2hCWjtBeUQ5cmhCUTs7RUFFSSxzRkFBQTtBekRnc2hCWjtBeUQ3cWhCSTs7OztFQUlJLHdDQUFBO0VBQ0EsMkJBQUE7RUFDQSxrQkFBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0VBQ0Esb0JBQUE7RUFDQSxnQkFBQTtBekRncmhCUjtBeUQ1cWhCSTs7OztFQUlJLHFCQUFBO0VBQ0EsZUFBQTtBekQ4cWhCUjtBeUQxcWhCSTs7RUFFSSw0QkFBQTtFQUNBLCtCQUFBO0F6RDRxaEJSO0F5RHJxaEJJOzs7O0VBSUkseUJuQ3Z0Qlk7RW1Dd3RCWiw0Qm5DeHRCWTtBdEIrM2lCcEI7QXlEcnFoQkk7Ozs7Ozs7O0VBUUksMEJuQ2x1Qlk7QXRCeTRpQnBCO0F5RHJxaEJJOzs7O0VBSUksMkJuQ3h1Qlk7QXRCKzRpQnBCO0F5RGxxaEJJOzs7O0VBSUkseUJuQ2h2QmlCO0VtQ2l2QmpCLDRCbkNqdkJpQjtBdEJzNWlCekI7QXlEbnFoQkk7Ozs7Ozs7O0VBUUksMEJuQzN2QmlCO0F0Qmc2aUJ6QjtBeURucWhCSTs7OztFQUlJLDJCbkNqd0JpQjtBdEJzNmlCekI7QXlEOXBoQkk7RUFBeUIsYUFBQTtBekRrcWhCN0I7QXlEanFoQkk7RUFBaUMsYUFBQTtBekRvcWhCckM7QXlEbnFoQkk7RUFDSSxtQ0FBQTtBekRxcWhCUjtBeURucWhCSTs7RUFFSSx1Q25DbmRtQjtBdEJ3bmlCM0I7QXlEL3BoQkk7Ozs7RUFJSSwyQm5DMXhCWTtBdEIyN2lCcEI7QXlEdnBoQkk7RUFDSSx1Qm5DdHhCZ0I7QXRCZzdpQnhCO0F5RHZwaEJJOztFQUVJLDJDQUFBO0VBQ0EsOENBQUE7QXpEeXBoQlI7QXlEdnBoQkk7Ozs7RUFJSSw0Q0FBQTtBekR5cGhCUjtBeUR2cGhCSTs7RUFFSSw2Q0FBQTtBekR5cGhCUjtBeURqcGhCQTs7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dHpsQk07RUFDRSxjaEJxWUs7QXRCbzdrQmI7QXNDcnpsQk07RUFDSSxjaEJrWUc7QXRCczdrQmI7QXNDOXpsQk07RUFDRSxxQmhCSUc7QXRCNnpsQlg7QXNDN3psQk07RUFDSSxxQmhCRkM7QXRCazBsQlg7QXNDdDBsQk07RUFDRSxxQmhCSUc7QXRCcTBsQlg7QXNDcjBsQk07RUFDSSxxQmhCSEM7QXRCMjBsQlg7QXNDOTBsQk07RUFDRSw2QjBCd0V1RTtBaEV5d2xCL0U7QXNDNzBsQk07RUFDSSw2QjBCbUVrRjtBaEU2d2xCNUY7QXNDdDFsQk07RUFDRSx5QmhCS0c7QXRCbzFsQlg7QXNDcjFsQk07RUFDSSx5QmhCSEM7QXRCMjFsQlg7QXNDOTFsQk07RUFDRSx5QmhCS0c7QXRCNDFsQlg7QXNDNzFsQk07RUFDSSx5QmhCSEM7QXRCbTJsQlg7QXNDdDJsQk07RUFDRSx5QmhCS0c7QXRCbzJsQlg7QXNDcjJsQk07RUFDSSx5QmhCSEM7QXRCMjJsQlg7QXNDOTJsQk07RUFDRSx5QmhCS0c7QXRCNDJsQlg7QXNDNzJsQk07RUFDSSx5QmhCSEM7QXRCbTNsQlg7QXNDdDNsQk07RUFDRSxvQzBCNEZOO0FoRTZ4bEJGO0FzQ3IzbEJNO0VBQ0ksb0MwQndGUjtBaEVneWxCRjtBc0M5M2xCTTtFQUNFLG9DMEIyR047QWhFc3hsQkY7QXNDNzNsQk07RUFDSSxvQzBCdUdSO0FoRXl4bEJGO0FzQ3Q0bEJNO0VBQ0UsMEIwQmtIc0U7QWhFdXhsQjlFO0FzQ3I0bEJNO0VBQ0ksMEIwQjZHMEc7QWhFMnhsQnBIO0FzQzk0bEJNO0VBQ0Usb0MwQm1IMkU7QWhFOHhsQm5GO0FzQzc0bEJNO0VBQ0ksb0MwQjhHK0c7QWhFa3lsQnpIO0FzQ3Q1bEJNO0VBQ0Usa0JoQitLOEI7QXRCMHVsQnRDO0FzQ3I1bEJNO0VBQ0kscUJoQjRLaUM7QXRCNHVsQjNDO0FzQzk1bEJNO0VBQ0UseUJoQk1HO0F0QjI1bEJYO0FzQzc1bEJNO0VBQ0kseUJoQlRDO0F0Qnk2bEJYO0FzQ3Q2bEJNO0VBQ0UseUJoQk1HO0F0Qm02bEJYO0FzQ3I2bEJNO0VBQ0kseUJoQlRDO0F0Qmk3bEJYO0FzQzk2bEJNO0VBQ0UseUJoQjJDWTtBdEJzNGxCcEI7QXNDNzZsQk07RUFDSSx5QmhCSEM7QXRCbTdsQlg7QXNDdDdsQk07RUFDRSx5QmhCMkNZO0F0Qjg0bEJwQjtBc0NyN2xCTTtFQUNJLHlCaEJIQztBdEIyN2xCWDtBc0M5N2xCTTtFQUNFLHFCaEIyQ1k7QXRCczVsQnBCO0FzQzc3bEJNO0VBQ0kscUJoQkhDO0F0Qm04bEJYO0FzQ3Q4bEJNO0VBQ0UseUJoQjJDWTtBdEI4NWxCcEI7QXNDcjhsQk07RUFDSSx5QmhCVEM7QXRCaTlsQlg7QXNDOThsQk07RUFDRSx5QmhCMkNZO0F0QnM2bEJwQjtBc0M3OGxCTTtFQUNJLHlCaEJUQztBdEJ5OWxCWDtBc0N0OWxCTTtFQUNFLHNCMEIwSWdIO0FoRSswbEJ4SDtBc0NyOWxCTTtFQUNJLHNCMEJxSW9IO0FoRW0xbEI5SDtBc0M5OWxCTTtFQUNFLDBCMEI2SWdHO0FoRW8xbEJ4RztBc0M3OWxCTTtFQUNJLDBCMEJ3SWlIO0FoRXcxbEIzSDtBZ0U3MGxCQTtFQUNFLDZCQUFBO0VBQ0EsOEJBQUE7QWhFZzFsQkY7QXNDMytsQk07RUFDRSx5QjBCNko2RDtBaEVpMWxCckU7QXNDMStsQk07RUFDSSx5QjBCd0ppRjtBaEVxMWxCM0Y7QXNDbi9sQk07RUFDRSx5QjBCK0pvRTtBaEV1MWxCNUU7QXNDbC9sQk07RUFDSSx5QjBCMEp3RztBaEUyMWxCbEg7QXNDMy9sQk07RUFDRSxvQzBCaUtnRjtBaEU2MWxCeEY7QXNDMS9sQk07RUFDSSxvQzBCNEpvRztBaEVpMmxCOUc7QXNDbmdtQk07RUFDRSxvQzBCa0tzRjtBaEVvMmxCOUY7QXNDbGdtQk07RUFDSSxvQzBCNkowRztBaEV3MmxCcEg7QXNDM2dtQk07RUFDRSw2QjBCb0x5RTtBaEUwMWxCakY7QXNDMWdtQk07RUFDSSw2QjBCK0tvRjtBaEU4MWxCOUY7QXNDbmhtQk07RUFDRSxxQzBCcUxtRTtBaEVpMmxCM0U7QXNDbGhtQk07RUFDSSxxQzBCZ0w4RjtBaEVxMmxCeEc7QXNDM2htQk07RUFDRSx5QmhCSUc7QXRCMGhtQlg7QXNDMWhtQk07RUFDSSx5QmhCRkM7QXRCK2htQlg7QXNDbmltQk07RUFDRSx5QmhCS0c7QXRCaWltQlg7QXNDbGltQk07RUFDSSx5QmhCSEM7QXRCd2ltQlg7QXNDM2ltQk07RUFDRSx5QmhCS0c7QXRCeWltQlg7QXNDMWltQk07RUFDSSx5QmhCSEM7QXRCZ2ptQlg7QXNDbmptQk07RUFDRSx5QmhCd0ttQjtBdEI4NGxCM0I7QXNDbGptQk07RUFDSSx5QmhCb0tzQjtBdEJpNWxCaEM7QXNDM2ptQk07RUFDRSx5QmhCd0ttQjtBdEJzNWxCM0I7QXNDMWptQk07RUFDSSx5QmhCb0tzQjtBdEJ5NWxCaEM7QXNDbmttQk07RUFDRSxrQzBCK002RztBaEV1M2xCckg7QXNDbGttQk07RUFDSSxxQzBCME1tSztBaEUyM2xCN0s7QXNDM2ttQk07RUFDRSx5QmhCTUc7QXRCd2ttQlg7QXNDMWttQk07RUFDSSx5QmhCVEM7QXRCc2xtQlg7QXNDbmxtQk07RUFDRSx5QmhCTUc7QXRCZ2xtQlg7QXNDbGxtQk07RUFDSSx5QmhCVEM7QXRCOGxtQlg7QXNDM2xtQk07RUFDRSxxQmhCSUc7QXRCMGxtQlg7QXNDMWxtQk07RUFDSSxxQmhCRkM7QXRCK2xtQlg7QXNDbm1tQk07RUFDRSw2QjBCNk40RjtBaEV5NGxCcEc7QXNDbG1tQk07RUFDSSw2QjBCd051RztBaEU2NGxCakg7QXNDM21tQk07RUFDRSx5QmhCS0c7QXRCeW1tQlg7QXNDMW1tQk07RUFDSSx5QmhCSEM7QXRCZ25tQlg7QXNDbm5tQk07RUFDRSx5QmhCS0c7QXRCaW5tQlg7QXNDbG5tQk07RUFDSSx5QmhCSEM7QXRCd25tQlg7QXNDM25tQk07RUFDRSxxQmhCSUc7QXRCMG5tQlg7QXNDMW5tQk07RUFDSSxxQmhCSEM7QXRCZ29tQlg7QXNDbm9tQk07RUFDRSxxQmhCSUc7QXRCa29tQlg7QXNDbG9tQk07RUFDSSxxQmhCSEM7QXRCd29tQlg7QXNDM29tQk07RUFDRSx5QmhCd0ttQjtBdEJzK2xCM0I7QXNDMW9tQk07RUFDSSx5QmhCb0tzQjtBdEJ5K2xCaEM7QXNDbnBtQk07RUFDRSx5QmhCd0ttQjtBdEI4K2xCM0I7QXNDbHBtQk07RUFDSSx5QmhCb0tzQjtBdEJpL2xCaEM7QXNDM3BtQk07RUFDRSx5QmhCMkNZO0F0Qm1ubUJwQjtBc0MxcG1CTTtFQUNJLHlCaEJIQztBdEJncW1CWDtBc0NucW1CTTtFQUNFLHlCaEIyQ1k7QXRCMm5tQnBCO0FzQ2xxbUJNO0VBQ0kseUJoQkhDO0F0QndxbUJYO0FzQzNxbUJNO0VBQ0UscUJoQjJDWTtBdEJtb21CcEI7QXNDMXFtQk07RUFDSSxxQmhCSEM7QXRCZ3JtQlg7QXNDbnJtQk07RUFDRSxxQmhCMkNZO0F0QjJvbUJwQjtBc0Nscm1CTTtFQUNJLHFCaEJIQztBdEJ3cm1CWDtBc0Mzcm1CTTtFQUNFLHlCaEIyQ1k7QXRCbXBtQnBCO0FzQzFybUJNO0VBQ0kseUJoQlRDO0F0QnNzbUJYO0FzQ25zbUJNO0VBQ0UseUJoQjJDWTtBdEIycG1CcEI7QXNDbHNtQk07RUFDSSx5QmhCVEM7QXRCOHNtQlg7QXNDM3NtQk07RUFDRSxzQjBCMFA2STtBaEVvOWxCcko7QXNDMXNtQk07RUFDSSxzQjBCcVBpSjtBaEV3OWxCM0o7QXNDbnRtQk07RUFDRSxrQmhCK0s4QjtBdEJ1aW1CdEM7QXNDbHRtQk07RUFDSSxxQmhCNEtpQztBdEJ5aW1CM0M7QXNDM3RtQk07RUFDRSx5QmhCTUc7QXRCd3RtQlg7QXNDMXRtQk07RUFDSSx5QmhCVEM7QXRCc3VtQlg7QXNDbnVtQk07RUFDRSx5QmhCTUc7QXRCZ3VtQlg7QXNDbHVtQk07RUFDSSx5QmhCVEM7QXRCOHVtQlg7QXNDM3VtQk07RUFDRSwwQjBCd1F3RztBaEVzK2xCaEg7QXNDMXVtQk07RUFDSSwwQjBCbVF5SDtBaEUwK2xCbkk7QXNDbnZtQk07RUFDRSwwQjBCOFFzRztBaEV3K2xCOUc7QXNDbHZtQk07RUFDSSwwQjBCeVF1SDtBaEU0K2xCakk7QXNDM3ZtQk07RUFDRSx5QmhCS0c7QXRCeXZtQlg7QXNDMXZtQk07RUFDSSx5QmhCSEM7QXRCZ3dtQlg7QXNDbndtQk07RUFDRSxjaEI4S3VCO0F0QndsbUIvQjtBc0Nsd21CTTtFQUNJLGNoQjJLMEI7QXRCMGxtQnBDO0FzQzN3bUJNO0VBQ0UsY2hCOEt1QjtBdEJnbW1CL0I7QXNDMXdtQk07RUFDSSxjaEIySzBCO0F0QmttbUJwQztBc0NueG1CTTtFQUNFLFdoQitLOEI7QXRCdW1tQnRDO0FzQ2x4bUJNO0VBQ0ksY2hCNEtpQztBdEJ5bW1CM0M7QWdFei9sQkEsaUJBQUE7QTFCbFNNO0VBQ0UseUJoQm1XaUI7QXRCNDdsQnpCO0FzQzN4bUJNO0VBQ0kseUJoQitWb0I7QXRCKzdsQjlCO0FzQ3B5bUJNO0VBQ0UseUJoQnFXd0I7QXRCazhsQmhDO0FzQ255bUJNO0VBQ0kseUJoQmlXMkI7QXRCcThsQnJDO0FzQzV5bUJNO0VBQ0UsY2hCZ0VRO0F0Qit1bUJoQjtBc0MzeW1CTTtFQUNJLGNoQjREVztBdEJrdm1CckI7QWdFN2dtQkEsVUFBQTtBMUJ2U007RUFDRSx1QmhCOERhO0F0QjB2bUJyQjtBc0Nwem1CTTtFQUNJLHVCaEIwRGdCO0F0QjZ2bUIxQjtBc0M3em1CTTtFQUNFLHlCaEJtV2lCO0F0QjY5bEJ6QjtBc0M1em1CTTtFQUNJLHlCaEIrVm9CO0F0QmcrbEI5QjtBc0NyMG1CTTtFQUNFLHFCaEJtV2lCO0F0QnErbEJ6QjtBc0NwMG1CTTtFQUNJLHFCaEIrVm9CO0F0QncrbEI5QjtBc0M3MG1CTTtFQUNFLHlCaEI4RGE7QXRCa3htQnJCO0FzQzUwbUJNO0VBQ0kseUJoQjBEZ0I7QXRCcXhtQjFCO0FzQ3IxbUJNO0VBQ0UscUNoQndXbUI7QXRCZy9sQjNCO0FzQ3AxbUJNO0VBQ0kseUJoQnVDZTtBdEJnem1CekI7QXNDNzFtQk07RUFDRSx3Q2hCd1dtQjtBdEJ3L2xCM0I7QXNDNTFtQk07RUFDSSw0QmhCdUNlO0F0Qnd6bUJ6QjtBc0NyMm1CTTtFQUNFLFkwQjZTc0Y7QWhFMmptQjlGO0FzQ3AybUJNO0VBQ0ksWTBCd1MwRjtBaEUram1CcEc7QXNDNzJtQk07RUFDRSxZMEI4U3FGO0FoRWtrbUI3RjtBc0M1Mm1CTTtFQUNJLFkwQnlTeUY7QWhFc2ttQm5HO0FzQ3IzbUJNO0VBQ0Usc0NoQndXbUI7QXRCZ2htQjNCO0FzQ3AzbUJNO0VBQ0ksMEJoQnVDZTtBdEJnMW1CekI7QXNDNzNtQk07RUFDRSx1Q2hCd1dtQjtBdEJ3aG1CM0I7QXNDNTNtQk07RUFDSSwyQmhCdUNlO0F0QncxbUJ6QjtBc0NyNG1CTTtFQUNFLFkwQmlUMEY7QWhFdWxtQmxHO0FzQ3A0bUJNO0VBQ0ksWTBCNFM4RjtBaEUybG1CeEc7QWdFemxtQkEsUUFBQTtBMUJwVE07RUFDRSxjaEIyQ1k7QXRCczJtQnBCO0FzQzc0bUJNO0VBQ0ksY2hCdUNlO0F0QnkybUJ6QjtBc0N0NW1CTTtFQUNFLGNoQjJDWTtBdEI4Mm1CcEI7QXNDcjVtQk07RUFDSSxjaEJ1Q2U7QXRCaTNtQnpCO0FnRXRtbUJBLGFBQUE7QTFCeFRNO0VBQ0UsY2hCd1ZnQjtBdEIwa21CeEI7QXNDOTVtQk07RUFDSSxjaEJvVmtCO0F0QjZrbUI1QjtBc0N2Nm1CTTtFQUNFLHlCaEJ1TGtDO0F0Qm12bUIxQztBc0N0Nm1CTTtFQUNJLHlCaEJtTHFDO0F0QnN2bUIvQztBc0MvNm1CTTtFQUNFLHlCaEJZSTtBdEJzNm1CWjtBc0M5Nm1CTTtFQUNJLHlCaEJxTHdDO0F0QjR2bUJsRDtBZ0V2bm1CQSxrQkFBQTtBMUJoVU07RUFDRSx5QmhCNkZnQjtBdEI4MW1CeEI7QXNDdjdtQk07RUFDSSx5QmhCeUZtQjtBdEJpMm1CN0I7QWdFN25tQkEsbUJBQUE7QTFCblVNO0VBQ0UsY2hCZ0VRO0F0Qm80bUJoQjtBc0NoOG1CTTtFQUNJLGNoQjREVztBdEJ1NG1CckI7QXNDejhtQk07RUFDRSxjaEJxWUs7QXRCdWttQmI7QXNDeDhtQk07RUFDSSxjaEJrWUc7QXRCeWttQmI7QXNDajltQk07RUFDRSxjaEJxWUs7QXRCK2ttQmI7QXNDaDltQk07RUFDSSxjaEJrWUc7QXRCaWxtQmI7QWdFanBtQkEsZ0JBQUE7QTFCeFVNO0VBQ0UsOEIwQndVNkQ7QWhFcXBtQnJFO0FzQ3o5bUJNO0VBQ0ksa0QwQm1VNEU7QWhFeXBtQnRGO0FzQ2wrbUJNO0VBQ0UsYzBCeVUwRDtBaEU0cG1CbEU7QXNDaittQk07RUFDSSwyQjBCb1U0RDtBaEVncW1CdEU7QWdFOXBtQkEsY0FBQTtBMUI1VU07RUFDRSx1QmhCeURXO0F0QnE3bUJuQjtBc0MxK21CTTtFQUNJLHVCaEJxRGM7QXRCdzdtQnhCO0FnRXBxbUJBLHFCQUFBO0ExQi9VTTtFQUNFLHVCaEJ5RFc7QXRCODdtQm5CO0FzQ24vbUJNO0VBQ0ksdUJoQnFEYztBdEJpOG1CeEI7QXNDNS9tQk07RUFDRSxrQjBCZ1Z5RTtBaEUrcW1CakY7QXNDMy9tQk07RUFDSSxzQzBCMlUyRTtBaEVtcm1CckY7QXNDcGduQk07RUFDRSxVMEJpVmlFO0FoRXNybUJ6RTtBc0NuZ25CTTtFQUNJLDhCMEI0VW1FO0FoRTBybUI3RTtBZ0V4cm1CQSw0QkFBQTtBMUJwVk07RUFDRSxjaEIrSGM7QXRCaTVtQnRCO0FzQzVnbkJNO0VBQ0ksY2hCMkhpQjtBdEJvNW1CM0I7QXNDcmhuQk07RUFDRSxjaEIrSGM7QXRCeTVtQnRCO0FzQ3BobkJNO0VBQ0ksY2hCMkhpQjtBdEI0NW1CM0I7QWdFcHJtQkE7O0VBRUUsY0FBQTtBaEV1cm1CRjtBc0NsaW5CTTtFQUNFLHVCaEJ5RFc7QXRCNCttQm5CO0FzQ2ppbkJNO0VBQ0ksdUJoQnFEYztBdEIrK21CeEI7QWdFcHJtQkE7O0VBRUUsdUIxQzlUaUI7QXRCcS9tQm5CO0FnRXJybUJBOztFQUVFLHVCMUNqVXNCO0F0QnkvbUJ4QjtBc0Nwam5CTTtFQUNFLHlCaEJ1TGtDO0F0Qmc0bUIxQztBc0Nuam5CTTtFQUNJLHlCaEJtTHFDO0F0Qm00bUIvQztBc0M1am5CTTtFQUNFLGNoQjhLdUI7QXRCaTVtQi9CO0FzQzNqbkJNO0VBQ0ksY2hCMkswQjtBdEJtNW1CcEM7QXNDcGtuQk07RUFDRSx5QmhCdUxrQztBdEJnNW1CMUM7QXNDbmtuQk07RUFDSSx5QmhCbUxxQztBdEJtNW1CL0M7QXNDNWtuQk07RUFDRSxjaEI4S3VCO0F0Qmk2bUIvQjtBc0Mza25CTTtFQUNJLGNoQjJLMEI7QXRCbTZtQnBDO0FzQ3BsbkJNO0VBQ0UsV2hCK0s4QjtBdEJ3Nm1CdEM7QXNDbmxuQk07RUFDSSxjaEI0S2lDO0F0QjA2bUIzQztBc0M1bG5CTTtFQUNFLFdoQitLOEI7QXRCZzdtQnRDO0FzQzNsbkJNO0VBQ0ksY2hCNEtpQztBdEJrN21CM0M7QWdFOXNtQkE7RUFBZ0QsVzFDdE9WO0F0Qnc3bUJ0QztBZ0VqdG1CQTtFQUFnRCxjMUNyT0w7QXRCMDdtQjNDO0FzQzVtbkJNO0VBQ0Usc0MwQnVaZ0Y7QWhFd3RtQnhGO0FzQzNtbkJNO0VBQ0ksa0IwQmtac0c7QWhFNHRtQmhIO0FzQ3BubkJNO0VBQ0UsOEIwQndad0U7QWhFK3RtQmhGO0FzQ25ubkJNO0VBQ0ksVTBCbVo4RjtBaEVtdW1CeEc7QXNDNW5uQk07RUFDRSx5QmhCSEc7QXRCa29uQlg7QXNDM25uQk07RUFDSSx5QmhCbUpxQjtBdEIyK21CL0I7QXNDcG9uQk07RUFDRSwwQzBCMFowRTtBaEU2dW1CbEY7QXNDbm9uQk07RUFDSSwwQzBCcVp1RztBaEVpdm1Cakg7QXNDNW9uQk07RUFDRSw0QmhCQ0c7QXRCOG9uQlg7QXNDM29uQk07RUFDSSw0QmhCcUltQjtBdEJ5Z25CN0I7QXNDcHBuQk07RUFDRSx5QmhCd0ttQjtBdEIrK21CM0I7QXNDbnBuQk07RUFDSSx5QmhCb0tzQjtBdEJrL21CaEM7QXNDNXBuQk07RUFDRSw0QmhCQ0c7QXRCOHBuQlg7QXNDM3BuQk07RUFDSSw0QmhCcUltQjtBdEJ5aG5CN0I7QXNDcHFuQk07RUFDRSxXaEIrSzhCO0F0QncvbUJ0QztBc0NucW5CTTtFQUNJLGNoQjRLaUM7QXRCMC9tQjNDO0FzQzVxbkJNO0VBQ0UsY2hCOEt1QjtBdEJpZ25CL0I7QXNDM3FuQk07RUFDSSxjaEIySzBCO0F0Qm1nbkJwQztBc0Nwcm5CTTtFQUNFLGNoQjhLdUI7QXRCeWduQi9CO0FzQ25ybkJNO0VBQ0ksY2hCMkswQjtBdEIyZ25CcEM7QXNDNXJuQk07RUFDRSxzQzBCcWEwRjtBaEUweG1CbEc7QXNDM3JuQk07RUFDSSxrQjBCZ2FnSDtBaEU4eG1CMUg7QXNDcHNuQk07RUFDRSw4QjBCc2FrRjtBaEVpeW1CMUY7QXNDbnNuQk07RUFDSSxVMEJpYXdHO0FoRXF5bUJsSDtBc0M1c25CTTtFQUNFLHlCaEJ3S21CO0F0QnVpbkIzQjtBc0Mzc25CTTtFQUNJLHlCaEJvS3NCO0F0QjBpbkJoQztBc0NwdG5CTTtFQUNFLDJCaEJDRztBdEJzdG5CWDtBc0NudG5CTTtFQUNJLDJCaEJxSW1CO0F0QmlsbkI3QjtBc0M1dG5CTTtFQUNFLHlCaEJDRztBdEI4dG5CWDtBc0MzdG5CTTtFQUNJLHlCaEJxSW1CO0F0QnlsbkI3QjtBZ0UzeW1CQTtFQUNFLCtCQUFBO0FoRTh5bUJGO0FnRTV5bUJBO0VBQ0UsK0JBQUE7QWhFK3ltQkY7QWdFMXltQkE7O0VBRUUsc0NBQUE7RUFDQSxzQ0FBQTtBaEU2eW1CRjtBZ0UzeW1CQTs7RUFFRSxzQ0FBQTtFQUNBLHNDQUFBO0FoRTh5bUJGO0FzQ3h2bkJNO0VBQ0UseUJoQndLbUI7QXRCbWxuQjNCO0FzQ3Z2bkJNO0VBQ0kseUJoQm9Lc0I7QXRCc2xuQmhDO0FzQ2h3bkJNO0VBQ0UseUJoQndLbUI7QXRCMmxuQjNCO0FzQy92bkJNO0VBQ0kseUJoQm9Lc0I7QXRCOGxuQmhDO0FzQ3h3bkJNO0VBQ0UsdUMwQjhkb0g7QWhFNnltQjVIO0FzQ3Z3bkJNO0VBQ0ksdUMwQnlkbUo7QWhFaXptQjdKO0FzQ2h4bkJNO0VBQ0Usb0MwQitkaUg7QWhFb3ptQnpIO0FzQy93bkJNO0VBQ0ksb0MwQjBkZ0o7QWhFd3ptQjFKO0FzQ3h4bkJNO0VBQ0UsY2hCOEt1QjtBdEI2bW5CL0I7QXNDdnhuQk07RUFDSSxjaEIySzBCO0F0QittbkJwQztBc0NoeW5CTTtFQUNFLFdoQitLOEI7QXRCb25uQnRDO0FzQy94bkJNO0VBQ0ksY2hCNEtpQztBdEJzbm5CM0M7QXNDeHluQk07RUFDRSxXaEIrSzhCO0F0QjRubkJ0QztBc0N2eW5CTTtFQUNJLGNoQjRLaUM7QXRCOG5uQjNDO0FzQ2h6bkJNO0VBQ0UseUJoQnVMa0M7QXRCNG5uQjFDO0FzQy95bkJNO0VBQ0kseUJoQm1McUM7QXRCK25uQi9DO0FzQ3h6bkJNO0VBQ0UseUJoQnVMa0M7QXRCb29uQjFDO0FzQ3Z6bkJNO0VBQ0kseUJoQm1McUM7QXRCdW9uQi9DO0FzQ2gwbkJNO0VBQ0UsV2hCK0s4QjtBdEJvcG5CdEM7QXNDL3puQk07RUFDSSxjaEI0S2lDO0F0QnNwbkIzQztBc0N4MG5CTTtFQUNFLHlCaEJ1TGtDO0F0Qm9wbkIxQztBc0N2MG5CTTtFQUNJLHlCaEJtTHFDO0F0QnVwbkIvQztBc0NoMW5CTTtFQUNFLFdoQitLOEI7QXRCb3FuQnRDO0FzQy8wbkJNO0VBQ0ksY2hCNEtpQztBdEJzcW5CM0M7QXNDeDFuQk07RUFDRSxjaEI4S3VCO0F0QjZxbkIvQjtBc0N2MW5CTTtFQUNJLGNoQjJLMEI7QXRCK3FuQnBDO0FzQ2gybkJNO0VBQ0UseUJoQnVMa0M7QXRCNHFuQjFDO0FzQy8xbkJNO0VBQ0kseUJoQm1McUM7QXRCK3FuQi9DO0FzQ3gybkJNO0VBQ0UsV2hCK0s4QjtBdEI0cm5CdEM7QXNDdjJuQk07RUFDSSxjaEI0S2lDO0F0QjhybkIzQztBc0NoM25CTTtFQUNFLHlCaEJ1TGtDO0F0QjRybkIxQztBc0MvMm5CTTtFQUNJLHlCaEJtTHFDO0F0QitybkIvQztBc0N4M25CTTtFQUNFLFdoQitLOEI7QXRCNHNuQnRDO0FzQ3YzbkJNO0VBQ0ksY2hCNEtpQztBdEI4c25CM0M7QXNDaDRuQk07RUFDRSxzQzBCeWdCcUc7QWhFMDNtQjdHO0FzQy8zbkJNO0VBQ0ksa0IwQm9nQjJIO0FoRTgzbUJySTtBc0N4NG5CTTtFQUNFLDhCMEIwZ0I2RjtBaEVpNG1Cckc7QXNDdjRuQk07RUFDSSxVMEJxZ0JtSDtBaEVxNG1CN0g7QXNDaDVuQk07RUFDRSxzQzBCK2dCNkY7QWhFbzRtQnJHO0FzQy80bkJNO0VBQ0ksa0IwQjBnQm1IO0FoRXc0bUI3SDtBc0N4NW5CTTtFQUNFLDhCMEJnaEJxRjtBaEUyNG1CN0Y7QXNDdjVuQk07RUFDSSxV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RSx5QjFDemtCNkM7RTBDMGtCN0MsYzFDamxCeUM7RTBDa2xCekMsMENqQ3ZyQnNCO0EvQjhnb0J4QjtBZ0VsMW1CQTtFQUNFLGFBQUE7RUFDQSx1QkFBQTtBaEVxMW1CRjtBZ0UvMG1CQTtFQUNFLDREQUFBO0FoRWsxbUJGO0FzQ3Btb0JNO0VBQ0UseUJoQndLbUI7QXRCKzduQjNCO0FzQ25tb0JNO0VBQ0kseUJoQm9Lc0I7QXRCazhuQmhDO0FzQzVtb0JNO0VBQ0UsNEJoQkNHO0F0Qjhtb0JYO0FzQzNtb0JNO0VBQ0ksNEJoQnFJbUI7QXRCeStuQjdCO0FzQ3Bub0JNO0VBQ0UseUJoQkNHO0F0QnNub0JYO0FzQ25ub0JNO0VBQ0kseUJoQnFJbUI7QXRCaS9uQjdCO0FnRTUwbUJBO0VBQ0UseUIxQ3hvQnlCO0UwQ3lvQnpCLGMxQ25vQjZCO0UwQ29vQjdCLCtCQUFBO0FoRSswbUJGO0FnRTcwbUJBO0VBQ0UseUIxQzVvQjhCO0UwQzZvQjlCLGMxQ3RvQmtDO0UwQ3VvQmxDLCtCQUFBO0FoRWcxbUJGO0FnRTMwbUJBOztFQUVFLDJCMUM1ekJTO0UwQzZ6QlQsMkJBQUE7QWhFODBtQkY7QWdFNTBtQkE7O0VBRUUsMkIxQ3ZyQjJCO0UwQ3dyQjNCLDJCQUFBO0FoRSswbUJGO0FnRXYwbUJBO0VBQ0UsY0FBQTtFQUNBLFNBQUE7QWhFMDBtQkY7QWdFeDBtQkE7RUFJRSw2QkFBQTtFQUdBLFlDdHpCZ0I7QWpFNG5vQmxCO0FnRTl6bUJBO0VBQ0UsYzFDL3FCeUM7QXRCZy9uQjNDO0FzQ2xxb0JNO0VBQ0UsY2hCOEt1QjtBdEJ1L25CL0I7QXNDanFvQk07RUFDSSxjaEIySzBCO0F0QnkvbkJwQztBc0MxcW9CTTtFQUNFLFdoQitLOEI7QXRCOC9uQnRDO0FzQ3pxb0JNO0VBQ0ksY2hCNEtpQztBdEJnZ29CM0M7QXNDbHJvQk07RUFDRSxXaEIrSzhCO0F0QnNnb0J0QztBc0Nqcm9CTTtFQUNJLGNoQjRLaUM7QXRCd2dvQjNDO0FzQzFyb0JNO0VBQ0UseUJoQnVMa0M7QXRCc2dvQjFDO0FzQ3pyb0JNO0VBQ0kseUJoQm1McUM7QXRCeWdvQi9DO0FzQ2xzb0JNO0VBQ0UseUJoQnVMa0M7QXRCOGdvQjFDO0FzQ2pzb0JNO0VBQ0kseUJoQm1McUM7QXRCaWhvQi9DO0FzQzFzb0JNO0VBQ0UsV2hCK0s4QjtBdEI4aG9CdEM7QXNDenNvQk07RUFDSSxjaEI0S2lDO0F0Qmdpb0IzQztBc0NsdG9CTTtFQUNFLGNoQjhLdUI7QXRCdWlvQi9CO0FzQ2p0b0JNO0VBQ0ksY2hCMkswQjtBdEJ5aW9CcEM7QXNDMXRvQk07RUFDRSx5QmhCdUxrQztBdEJzaW9CMUM7QXNDenRvQk07RUFDSSx5QmhCbUxxQztBdEJ5aW9CL0M7QXNDbHVvQk07RUFDRSx5QmhCd0ttQjtBdEI2am9CM0I7QXNDanVvQk07RUFDSSx5QmhCb0tzQjtBdEJna29CaEM7QXNDMXVvQk07RUFDRSwyQmhCQ0c7QXRCNHVvQlg7QXNDenVvQk07RUFDSSwyQmhCcUltQjtBdEJ1bW9CN0I7QWdFbjJtQkE7RUFDRSxtREFBQTtBaEVzMm1CRjtBc0N0dm9CTTtFQUNFLDRCaEJDRztBdEJ3dm9CWDtBc0Nydm9CTTtFQUNJLDBCMEJpNUI2RztBaEV1Mm1Cdkg7QXNDOXZvQk07RUFDRSxXaEIrSzhCO0F0Qmtsb0J0QztBc0M3dm9CTTtFQUNJLGNoQjRLaUM7QXRCb2xvQjNDO0FnRXQybUJBO0VBQ0Usb0NBQUE7QWhFeTJtQkY7QWdFdjJtQkE7RUFDRSxvQ0FBQTtBaEUwMm1CRjtBZ0V0Mm1CQTs7RUFFRSxvQ0FBQTtBaEV5Mm1CRjtBZ0V2Mm1CQTs7RUFFRSxvQ0FBQTtBaEUwMm1CRjtBZ0UzMW1CQTs7OztFQUlFLHdDQUFBO0FoRTgxbUJGO0FnRXYxbUJBOztFQUVFLG9DQUFBO0FoRTAxbUJGO0FnRXgxbUJBOztFQUVFLG9DQUFBO0FoRTIxbUJGO0FnRWoxbUJBO0VBQ0UsYzFDMXlCNkI7QXRCOG5vQi9CO0FnRWwxbUJBOztFQUVFLFcxQzd5Qm9DO0F0Qmtvb0J0QztBZ0VuMW1CQTtFQUNFLGMxQy95QmtDO0F0QnFvb0JwQztBZ0VwMW1CQTs7RUFFRSxjMUNsekJ5QztBdEJ5b29CM0M7QWdFaDFtQkE7O0VBRUUsb0NBQUE7QWhFbTFtQkY7QWdFajFtQkE7O0VBRUUsb0NBQUE7QWhFbzFtQkY7QWdFajFtQkE7O0VBRUUsb0NBQUE7QWhFbzFtQkY7QWdFbDFtQkE7O0VBRUUsb0NBQUE7QWhFcTFtQkY7QWdFaDFtQkE7OztFQUdFLG9DQUFBO0FoRW0xbUJGO0FnRWoxbUJBOzs7RUFHRSxvQ0FBQTtBaEVvMW1CRjtBZ0VsMW1CQTs7RUFFRSxvQ0FBQTtBaEVxMW1CRjtBZ0VuMW1CQTs7RUFFRSxvQ0FBQTtBaEVzMW1CRjtBZ0VqMW1CQTtFQUNFLG9DQUFBO0VBQ0EscUIxQ3BoQ1M7QXRCdzJvQlg7QWdFbDFtQkE7RUFDRSxvQ0FBQTtFQUNBLHFCMUMvNEIyQjtBdEJvdW9CN0I7QWdFOTBtQkE7O0VBRUUsb0NBQUE7QWhFaTFtQkY7QWdFLzBtQkE7O0VBRUUsb0NBQUE7QWhFazFtQkY7QWdFejBtQkE7RUFDRSxrQ0FBQTtFQUNBLG9DQUFBO0FoRTQwbUJGO0FnRTEwbUJBO0VBQ0Usa0NBQUE7RUFDQSxvQ0FBQTtBaEU2MG1CRjtBZ0UzMG1CQTtFQUNFLDZCQUFBO0VBQ0Esa0NBQUE7QWhFODBtQkY7QWdFNTBtQkE7RUFDRSw2QkFBQTtFQUNBLGtDQUFBO0FoRSswbUJGO0FnRXYwbUJBO0VBQ0Usa0NBQUE7RUFDQSx1Q0FBQTtFQUNBLG9DQUFBO0FoRTAwbUJGO0FnRXgwbUJBO0VBQ0Usa0NBQUE7RUFDQSx1Q0FBQTtFQUNBLG9DQUFBO0FoRTIwbUJGO0FnRXYwbUJBO0VBQ0UsNkJBQUE7QWhFMDBtQkY7QWdFeDBtQkE7RUFDRSw2QkFBQTtBaEUyMG1CRjtBZ0V6MG1CQTtFQUNFLG9DQUFBO0VBQ0EsNkJBQUE7QWhFNDBtQkY7QWdFMTBtQkE7RUFDRSxvQ0FBQTtFQUNBLDZCQUFBO0FoRTYwbUJGO0FnRXIwbUJBOztFQUVFLGMxQ3o3QjZCO0F0Qml3b0IvQjtBZ0V0MG1CQTs7RUFFRSxjMUMzN0JrQztBdEJvd29CcEM7QWdFdDBtQkE7RUFDRSxxQ0FBQTtBaEV5MG1CRjtBZ0V2MG1CQTtFQUNFLDBDQUFBO0FoRTAwbUJGO0FnRS96bUJBOzs7RUFHRSxvQ0FBQTtFQUNBLDJCQUFBO0VBQ0EsbURqQ3pqQ3NCO0EvQjIzb0J4QjtBZ0VoMG1CQTs7O0VBR0Usb0NBQUE7RUFDQSx3Q0FBQTtFQUNBLGtEakMvakNzQjtBL0JrNG9CeEI7QWdFM3ptQkE7RUFDRSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxZQUFBO0VBQ0EsNkJBQUE7RUFDQSw0QkFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0FoRTh6bUJGO0FnRTV6bUJBO0VBQ0UseUIxQ3IvQnlCO0UwQ3MvQnpCLG1EakNybENzQjtBL0JvNW9CeEI7QWdFN3ptQkE7RUFDRSx5QjFDeC9COEI7RTBDeS9COUIsNkJBQUE7RUFDQSxrRGpDemxDc0I7QS9CeTVvQnhCO0FnRTV6bUJBO0VBQ0UsY0FBQTtFQUNBLGtCQUFBO0FoRSt6bUJGO0FnRTd6bUJBO0VBQ0UsU0FBQTtFQUNBLG9CQUFBO0VBQ0EsZ0JBQUE7RUFDQSxjMUNqZ0M2QjtBdEJpMG9CL0I7QWdFNXptQkE7RUFDRSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxjMUNqckNTO0UwQ2tyQ1Qsa0JBQUE7QWhFK3ptQkY7QWdFOXptQkU7RUFBWSxjMUNsNEJRO0F0Qm1zb0J0QjtBZ0U3em1CQTtFQUNFLGNBQUE7RUFDQSxnQkFBQTtFQUNBLGFBQUE7RUFDQSxzQkFBQTtFQUNBLFFBQUE7QWhFZzBtQkY7QWdFOXptQkE7RUFDRSxlQUFBO0FoRWkwbUJGO0FnRWgwbUJFO0VBQ0Usb0JBQUE7RUFDQSxnQkFBQTtFQUNBLGMxQzFoQzJCO0UwQzJoQzNCLGlCQUFBO0FoRWswbUJKO0FnRWgwbUJFO0VBQWMsaUJBQUE7QWhFbTBtQmhCO0FnRWowbUJBO0VBQ0UsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsUUFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0VBQ0Esb0JBQUE7RUFDQSxjMUN2aUM2QjtBdEIyMm9CL0I7QWdFbDBtQkU7RUFBVSx5QjFDaGlDOEI7QXRCcTJvQjFDO0FnRXAwbUJFO0VBQVEsY0FBQTtFQUFnQixlQUFBO0FoRXcwbUIxQjtBZ0V2MG1CRTtFQUFPLGdCQUFBO0FoRTAwbUJUO0FnRXgwbUJBO0VBQ0Usb0JBQUE7RUFDQSxjMUN4dENTO0F0Qm1pcEJYO0FnRXQwbUJFOzs7RUFFYyxjMUNwakNvQjtBdEI4M29CcEM7QWdFejBtQkU7RUFBZ0IsYzFDcmpDa0I7QXRCaTRvQnBDO0FnRTMwbUJFO0VBQW9CLHlCMUM5aUN5QjtBdEI0M29CL0M7QWdFeDBtQkE7O0VBRUUsb0NBQUE7QWhFMjBtQkY7QWdFejBtQkE7O0VBRUUsb0NBQUE7QWhFNDBtQkY7QWdFdjBtQkE7RUFDRSxnQ0FBQTtBaEUwMG1CRjtBZ0V4MG1CQTtFQUNFLGdDQUFBO0FoRTIwbUJGO0FnRXYwbUJBO0VBQ0Usb0NBQUE7RUFDQSxnQ0FBQTtFQUNBLHVRQUFBO0FoRTAwbUJGO0FnRXgwbUJBO0VBQ0Usb0NBQUE7RUFDQSxnQ0FBQTtFQUNBLHVRQUFBO0FoRTIwbUJGO0FzQ25scEJNO0VBQ0UsY2hCOEt1QjtBdEJ3Nm9CL0I7QXNDbGxwQk07RUFDSSxjaEIySzBCO0F0QjA2b0JwQztBc0MzbHBCTTtFQUNFLG9DMEJpeEN1RztBaEU2MG1CL0c7QXNDMWxwQk07RUFDSSxvQzBCNHdDb0k7QWhFaTFtQjlJO0FzQ25tcEJNO0VBQ0Usb0MwQmt4Q2dJO0FoRW8xbUJ4STtBc0NsbXBCTTtFQUNJLG9DMEI2d0M2SjtBaEV3MW1Cdks7QXNDM21wQk07RUFDRSxvQzBCd3hDZ0g7QWhFczFtQnhIO0FzQzFtcEJNO0VBQ0ksb0MwQm14QzZJO0FoRTAxbUJ2SjtBc0NubnBCTTtFQUNFLGdEMEI2eEM4RztBaEV5MW1CdEg7QXNDbG5wQk07RUFDSSxnRDBCd3hDb0o7QWhFNjFtQjlKO0FzQzNucEJNO0VBQ0UsMkIwQjh4QzBIO0FoRWcybUJsSTtBc0MxbnBCTTtFQUNJLDJCMEJ5eEN5STtBaEVvMm1Cbko7QWdFaDJtQkE7O0VBRUUsb0NBQUE7QWhFbTJtQkY7QWdFajJtQkE7O0VBRUUsb0NB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O0F0QmkzcEIxQztBZ0V6dm1CSTtFQUNFLFdBQUE7RUFDQSxxQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxTQUFBO0VBQ0EsUUFBQTtFQUNBLDJCQUFBO0VBQ0EseUIxQzFvRHlCO0UwQzJvRHpCLHVRQUFBO0VBQ0EsK1BBQUE7QWhFMnZtQk47QWdFdnZtQkU7RUFDRSxjQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFDQSxtQkFBQTtBaEV5dm1CSjtBZ0V2dm1CRTtFQUNFLDBCMUMzdERTO0UwQzR0RFQsZ0JqQzlzRHFCO0VpQytzRHJCLGdCQUFBO0FoRXl2bUJKO0FnRXZ2bUJFO0VBQ0UsY0FBQTtFQUNBLDBCMUNqdURTO0UwQ2t1RFQsZ0JqQ3B0RHFCO0VpQ3F0RHJCLGtDQUFBO0FoRXl2bUJKO0FnRW52bUJFO0VBQ0UsYzFDcnFEZ0M7QXRCMjVwQnBDO0FnRXJ2bUJJO0VBQVUseUIxQzlwRGlDO0F0QnM1cEIvQztBZ0V2dm1CSTtFQUFxQix5QjFDdnFEVztBdEJpNnBCcEM7QWdFeHZtQkU7RUFBZ0MsZ0MxQzd1RGhCO0F0QncrcEJsQjtBZ0Vwdm1CQTtFQUF5Qix3QkFBQTtBaEV3dm1CekI7QWdFdnZtQkE7RUFBc0Isd0JBQUE7QWhFMnZtQnRCO0FnRXh2bUJBOzs7RUFFZSx3QkFBQTtBaEU0dm1CZjtBZ0V6dm1CQTtFQUF5Qix3QkFBQTtBaEU2dm1CekI7QWdFcnZtQkE7RUFDRSxnQzFDdHdEZ0I7QXRCOC9wQmxCO0FnRXZ2bUJFO0VBQ0UsMkMxQzN2RHFCO0UwQzR2RHJCLCtCMUNud0RvQjtBdEI0L3BCeEI7QWdFdnZtQkU7RUFBYyxjQUFBO0FoRTB2bUJoQjtBZ0Vqdm1CRTtFQUNFLGMxQ2p0RGdDO0F0QnE4cEJwQztBZ0Vudm1CSTtFQUFXLHlCMUMxc0RnQztBdEJnOHBCL0M7QWdFcnZtQkk7RUFBcUIseUIxQ250RFc7QXRCMjhwQnBDO0FnRXR2bUJFO0VBQXNCLHlCMUM1dERRO0F0QnE5cEJoQztBZ0V4dm1CRTtFQUNFLHVCMUM3MERvQjtFMEM4MERwQixxQjFDOXZEeUI7RTBDK3ZEekIsYzFDenREZ0M7QXRCbTlwQnBDO0FnRXp2bUJJO0VBQWlCLCtCQUFBO0FoRTR2bUJyQjtBZ0U1dm1CSTtFQUFpQiwrQkFBQTtBaEU0dm1CckI7QWdFNXZtQkk7RUFBaUIsK0JBQUE7QWhFNHZtQnJCO0FnRXZ2bUJBOztFQUVFLHlCMUN4dUQ4QjtFMEN5dUQ5Qiw2QkFBQTtFQUNBLGtEakN6MERzQjtBL0Jta3FCeEI7QWdFenVtQkE7OztFQUdFLHdDQUFBO0FoRTR1bUJGO0FnRXp1bUJBO0VBQ0UsNkJBQUE7RUFDQSwyQkFBQTtFQUlBLDBCQUFBO0FoRXl1bUJGO0FnRXZ1bUJFO0VBQ0UsWUFBQTtFQUNBLGlCQUFBO0VBQ0EsU0FBQTtFQUNBLHlCQUFBO0VBQ0Esa0JqQ2gyRFk7RWlDaTJEWixlakMzMERnQjtFaUM0MERoQixnQmpDbDBEZTtBL0IyaXFCbkI7QWdFbnVtQkU7RUFBdUIscUJBQUE7QWhFc3VtQnpCO0FnRXB1bUJFO0VBQ0UsWUFBQTtFQUNBLGlCQUFBO0VBQ0EsY0FBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtBaEVzdW1CSjtBZ0UvdG1CQTs7RUFFRSxvQ0FBQTtFQUNBLDJCQUFBO0VBQ0EsbURqQ3g0RHNCO0EvQjBtcUJ4QjtBZ0VodW1CQTs7RUFFRSxvQ0FBQTtFQUNBLHdDQUFBO0VBQ0Esa0RqQzc0RHNCO0EvQmducUJ4QjtBZ0V6dG1CRTtFQUNFLGMxQ3B6RDJCO0UwQ3F6RDNCLGtCQUFBO0VBQ0EsNkJBQUE7QWhFNHRtQko7QWdFeHRtQkU7RUFDRSx5QkFBQTtFQUNBLGtDQUFBO0FoRTB0bUJKO0FnRXZ0bUJJO0UxQjM5REYsV0FBQTtFQUNBLHFCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLFNBTndFO0VBT3hFLFFBQUE7RUFDQSwyQkFBQTtFQUNBLHlCaEJvSjZCO0VnQm5KN0IsdVFBQUE7RUFDQSwrUEFBQTtBdENxcnFCRjtBZ0VodW1CRTs7RUFDbUMsb0NBQUE7QWhFbXVtQnJDO0FnRWx1bUJFO0VBQXNCLHlCQUFBO0FoRXF1bUJ4QjtBZ0VsdW1CRTs7RUFFRSx5QkFBQTtFQUNBLG9DQUFBO0FoRW91bUJKO0FnRWh1bUJFO0VBQ0UsYzFDOTBEZ0M7RTBDKzBEaEMsa0JBQUE7RUFDQSw2QkFBQTtBaEVtdW1CSjtBZ0VqdW1CRTtFQUNFLHlCQUFBO0VBQ0Esa0NBQUE7QWhFbXVtQko7QWdFbHVtQkk7RUFDRSxXQUFBO0VBQ0EscUJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFFBQUE7RUFDQSwyQkFBQTtFQUNBLHlCMUM5MUQ4QjtFMEMrMUQ5Qix1UUFBQTtFQUNBLCtQQUFBO0FoRW91bUJOO0FnRWp1bUJFOztFQUNtQyxvQ0FBQTtBaEVvdW1CckM7QWdFbnVtQkU7RUFBc0IsK0JBQUE7QWhFc3VtQnhCO0FnRTl0bUJBOztFQUVFLDZCQUFBO0FoRWl1bUJGO0FnRTN0bUJBO0VBQ0Usa0NBQUE7QWhFOHRtQkY7QWdFdnRtQkE7RUFDRSw2QkFBQTtFQUNBLDJCQUFBO0VBQ0EsMEJBQUE7QWhFMHRtQkY7QWdFeHRtQkU7RUFDRSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxTQUFBO0VBQ0EseUJBQUE7RUFDQSxrQmpDaCtEWTtFaUNpK0RaLGVqQzM4RGdCO0VpQzQ4RGhCLGdCakNsOERlO0EvQjRwcUJuQjtBZ0VqdG1CQTtFQUNFLGdCQUFBO0VBS0EsZ0JBQUE7RUFDQSwwQkFBQTtFQUFBLHVCQUFBO0VBQUEsa0JBQUE7RUFDQSwyQkFBQTtBaEVndG1CRjtBZ0U1c21CRTtFQVNFLDJCQUFBO0FoRXNzbUJKO0FnRTVybUJFO0VBQ0UsNEJBQUE7QWhFOHJtQko7QWdFcHJtQkU7RUFDRSxlQUFBO0VBQ0EsaUJBQUE7QWhFc3JtQko7QWdFbHJtQkU7RUFDRSxpQkFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7QWhFb3JtQko7QWdFenFtQkU7RUFDRSxnQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsVUFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLGMxQy9sRWdCO0UwQ2dtRWhCLGdCQUFBO0FoRTJxbUJKO0FnRXpxbUJJO0VBQ0UsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7QWhFMnFtQk47QWdFenFtQkk7RUFDRSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0EsUUFBQTtBaEUycW1CTjtBZ0V6cW1CSTtFQUNFLGVBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0FoRTJxbUJOO0FnRXRxbUJJO0VBQ0UsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsZ0NBQUE7QWhFd3FtQk47QWdFcHFtQkE7RUFDRSx5QjFDbmdFeUI7QXRCMHFxQjNCO0FnRXJxbUJBO0VBQ0UsYzFDbG9FdUI7RTBDbW9FdkIseUIxQ3RnRThCO0F0QjhxcUJoQztBZ0V2cW1CRTtFQUFXLDRCMUN0aUVnQjtBdEJndHFCN0I7QWdFdnFtQkE7RUFDRSxvQ0FBQTtFQUNBLDJCQUFBO0VBQ0EsbURqQzdtRXNCO0EvQnV4cUJ4QjtBZ0V6cW1CRTtFQUFjLGMxQ3pnRWU7QXRCcXJxQi9CO0FnRTNxbUJFOztFQUNtQyxvQ0FBQTtBaEU4cW1CckM7QWdFNXFtQkE7RUFDRSxvQ0FBQTtFQUNBLHdDQUFBO0VBQ0Esa0RqQ3BuRXNCO0EvQm15cUJ4QjtBZ0U5cW1CRTtFQUFjLGMxQy9nRW9CO0F0QmdzcUJwQztBZ0Vocm1CRTs7RUFDbUMsb0NBQUE7QWhFbXJtQnJDO0FnRTNxbUJFOzs7RUFFMkIsb0NBQUE7QWhFK3FtQjdCO0FnRTVxbUJFOzs7RUFFMkIsb0NBQUE7QWhFZ3JtQjdCO0FnRXJxbUJBO0VEanJFUSxpQ0FBQTtFQUNBLCtCQUFBO0VBQ0EsOEJBQUE7RUFDQSxrQ0FBQTtFQUNBLFFBakN3QjtFQWtDeEIsc0JBQUE7RUFDQSx1QkFBQTtFQUNBLDBCQUFBO0VBQ0EsdUJBQUE7RUFDQSx5QkFBQTtFQUdBLG9CQUFBO0VBQ0EsK0JBQUE7RUFDQSwrSUFBQTtFQUNBLDBCQUFBO0VBQ0EsMkJBQUE7RUFDQSx5QkFBQTtFQUNBLDRCQUFBO0VBQ0EsNkJBQUE7RUFDQSxjQUFBO0VDb3FFTixnQ0FBQTtFQUNBLDZCQUFBO0FoRXFybUJGO0ErRC9ycUJZO0VBQ0ksb0NBQUE7RUFDQSx5QkFBQTtBL0Rpc3FCaEI7QStEOXJxQlk7RUFFSSx5QkFBQTtBL0QrcnFCaEI7QStEdHNxQlk7RUFDSSxvQ0FBQTtFQUNBLHlCQUFBO0EvRHdzcUJoQjtBK0Ryc3FCWTtFQUVJLHlCQUFBO0EvRHNzcUJoQjtBK0Q3c3FCWTtFQUNJLG9DQUFBO0VBQ0EseUJBQUE7QS9EK3NxQmhCO0ErRDVzcUJZO0VBRUkseUJBQUE7QS9ENnNxQmhCO0ErRHB0cUJZO0VBQ0ksb0NBQUE7RUFDQSx5QkFBQTtBL0RzdHFCaEI7QStEbnRxQlk7RUFFSSx5QkFBQTtBL0RvdHFCaEI7QStEM3RxQlk7RUFDSSxvQ0FBQTtFQUNBLHlCQUFBO0EvRDZ0cUJoQjtBK0QxdHFCWTtFQUVJLHlCQUFBO0EvRDJ0cUJoQjtBZ0VwdG1CRTtFQUNFLG9CQUFBO0VBQ0EsbUJBQUE7RUFDQSxRQUFBO0VBQ0EsWUFBQTtFQUNBLHNCQUFBO0FoRXN0bUJKO0FnRS9zbUJFO0VEeHBFTSwwQkFBQTtFQUNBLHNCQUFBO0VBQ0EsdUJBQUE7RUFDQSw0QkFBQTtFQUNBLHdEQUFBO0VBQ0EsY0FBQTtFQ3FwRUosb0JBQUE7QWhFc3RtQko7QWdFcHRtQkU7RUFBUyxjQUFBO0FoRXV0bUJYO0FnRTdzbUJFOzs7RUFHRSxpQkFBQTtBaEVndG1CSjtBZ0V6c21CQTtFQUNFLHVCQUFBO0VBR0EscUNBQUE7RUFBQSxrQ0FBQTtFQUFBLDZCQUFBO0VBSUEsMkJBQUE7QWhFdXNtQkY7QWdFbHNtQkU7RUFDRSxrQkFBQTtFQUNBLFNBQUE7QWhFb3NtQko7QWdFOXJtQkU7RUFDRSxXQUFBO0VBQ0Esa0JBQUE7RUFLQSxpQkFBQTtBaEU0cm1CSjtBZ0Uxcm1CRTtFQUF5QixnQkFBQTtBaEU2cm1CM0I7QWdFenJtQkU7RUFBbUIsaUJBQUE7QWhFNHJtQnJCO0FnRXpybUJFO0VBQXFCLHdCQUFBO0FoRTRybUJ2QjtBZ0Vycm1CRTs7RUFDbUMsb0NBQUE7QWhFeXJtQnJDO0FnRXJybUJFO0VBQWdFLGtDQUFBO0FoRXdybUJsRTtBZ0Vycm1CRTs7RUFDbUMsb0NBQUE7QWhFeXJtQnJDO0FnRXhybUJFO0VBQWdFLGtDQUFBO0FoRTJybUJsRTtBZ0Vqcm1CRTs7O0VBR0Usb0NBQUE7RUFDQSx5QkFBQTtBaEVvcm1CSjtBZ0Vscm1CSTs7Ozs7O0VBRUUseUJBQUE7QWhFd3JtQk47QWdFcnJtQkU7OztFQUdFLG9DQUFBO0VBQ0EseUJBQUE7QWhFdXJtQko7QWdFbHJtQkEscUJBQUE7QTFCaDJFTTtFQUNFLGNoQjhLdUI7QXRCdzJxQi9CO0FzQ2xockJNO0VBQ0ksY2hCMkswQjtBdEIwMnFCcEM7QXNDM2hyQk07RUFDRSx5QmhCQ0c7QXRCNmhyQlg7QXNDMWhyQk07RUFDSSx5QmhCcUltQjtBdEJ3NXFCN0I7QXNDbmlyQk07RUFDRSx5QmhCQ0c7QXRCcWlyQlg7QXNDbGlyQk07RUFDSSx5QmhCcUltQjtBdEJnNnFCN0I7QXNDM2lyQk07RUFDRSx5QmhCQ0c7QXRCNmlyQlg7QXNDMWlyQk07RUFDSSx5QmhCcUltQjtBdEJ3NnFCN0I7QXNDbmpyQk07RUFDRSx5QmhCQ0c7QXRCcWpyQlg7QXNDbGpyQk07RUFDSSx5QmhCcUltQjtBdEJnN3FCN0I7QXNDM2pyQk07RUFDRSx1QmhCeURXO0F0QnFnckJuQjtBc0MxanJCTTtFQUNJLHVCaEJxRGM7QXRCd2dyQnhCO0FzQ25rckJNO0VBQ0UscUJoQkNHO0F0QnFrckJYO0FzQ2xrckJNO0VBQ0kscUJoQnFJbUI7QXRCZzhxQjdCO0FzQzNrckJNO0VBQ0UsMEMwQjIzRW1HO0FoRW10bUIzRztBc0Mxa3JCTTtFQUNJLHlDMEJzM0VpSTtBaEV1dG1CM0k7QXNDbmxyQk07RUFDRSx5QmhCSEc7QXRCeWxyQlg7QXNDbGxyQk07RUFDSSx5QmhCQ0M7QXRCb2xyQlg7QXNDM2xyQk07RUFDRSxjaEJNRztBdEJ3bHJCWDtBc0MxbHJCTTtFQUNJLGNoQkpDO0F0QmltckJYO0FzQ25tckJNO0VBQ0UsYzBCazRFaUY7QWhFb3VtQnpGO0FzQ2xtckJNO0VBQ0ksYzBCNjNFd0Y7QWhFd3VtQmxHO0FzQzNtckJNO0VBQ0UsYzBCbTRFaUY7QWhFMnVtQnpGO0FzQzFtckJNO0VBQ0ksYzBCODNFd0Y7QWhFK3VtQmxHO0FzQ25uckJNO0VBQ0UsY2hCZ0VRO0F0QnNqckJoQjtBc0NsbnJCTTtFQUNJLGNoQjREVztBdEJ5anJCckI7QXNDM25yQk07RUFDRSxjaEI4S3VCO0F0Qmc5cUIvQjtBc0MxbnJCTTtFQUNJLGNoQjJLMEI7QXRCazlxQnBDO0FnRTN2bUJBLGFBQUE7QTFCeDRFTTtFQUNFLGNoQitIYztBdEJ3Z3JCdEI7QXNDbm9yQk07RUFDSSxjaEJrWUc7QXRCb3dxQmI7QXNDNW9yQk07RUFDRSx5QmhCd0ttQjtBdEJ1K3FCM0I7QXNDM29yQk07RUFDSSx5QmhCb0tzQjtBdEIwK3FCaEM7QXNDcHByQk07RUFDRSx5QjBCKzRFNEQ7QWhFd3dtQnBFO0FzQ25wckJNO0VBQ0kseUIwQjA0RTBGO0FoRTR3bUJwRztBc0M1cHJCTTtFQUNFLGNoQjhGcUI7QXRCaWtyQjdCO0FzQzNwckJNO0VBQ0ksY2hCd0ZjO0F0QnNrckJ4QjtBc0NwcXJCTTtFQUNFLHlCaEJ3S21CO0F0QisvcUIzQjtBc0NucXJCTTtFQUNJLHlCaEJvS3NCO0F0QmtnckJoQztBc0M1cXJCTTtFQUNFLHlCMEJrNUV3RDtBaEU2eG1CaEU7QXNDM3FyQk07RUFDSSx5QjBCNjRFc0Y7QWhFaXltQmhHO0FzQ3ByckJNO0VBQ0UsY2hCZ0VRO0F0QnVuckJoQjtBc0NucnJCTTtFQUNJLGNoQjREVztBdEIwbnJCckI7QXNDNXJyQk07RUFDRSxjaEJnRVE7QXRCK25yQmhCO0FzQzNyckJNO0VBQ0ksY2hCNERXO0F0QmtvckJyQjtBc0Nwc3JCTTtFQUNFLHlCMEJzNUU4RDtBaEVpem1CdEU7QXNDbnNyQk07RUFDSSx5QjBCaTVFNEY7QWhFcXptQnRHO0FzQzVzckJNO0VBQ0UsZ0IwQnU1RTBGO0FoRXd6bUJsRztBc0Mzc3JCTTtFQUNJLGdCMEJrNUU4RjtBaEU0em1CeEc7QXNDcHRyQk07RUFDRSx5QmhCbVdpQjtBdEJvM3FCekI7QXNDbnRyQk07RUFDSSx5QmhCK1ZvQjtBdEJ1M3FCOUI7QXNDNXRyQk07RUFDRSxjaEIrSGM7QXRCZ21yQnRCO0FzQzN0ckJNO0VBQ0ksY2hCMkhpQjtBdEJtbXJCM0I7QXNDcHVyQk07RUFDRSx5QmhCd0ttQjtBdEIranJCM0I7QXNDbnVyQk07RUFDSSx5QmhCb0tzQjtBdEJra3JCaEM7QXNDNXVyQk07RUFDRSxxQmhCQ0c7QXRCOHVyQlg7QXNDM3VyQk07RUFDSSxxQmhCcUltQjtBdEJ5bXJCN0I7QXNDcHZyQk07RUFDRSxjaEI4S3VCO0F0QnlrckIvQjtBc0NudnJCTTtFQUNJLGNoQjJLMEI7QXRCMmtyQnBDO0FnRXYxbUJBLGVBQUE7QTFCcjZFTTtFQUNFLHlCaEJ3S21CO0F0QndsckIzQjtBc0M1dnJCTTtFQUNJLHlCaEJvS3NCO0F0QjJsckJoQztBc0Nyd3JCTTtFQUNFLHlCMEJzNkU2RTtBaEVrMm1CckY7QXNDcHdyQk07RUFDSSx5QjBCaTZFMkc7QWhFczJtQnJIO0FzQzd3ckJNO0VBQ0UsY2hCcVlLO0F0QjI0cUJiO0FzQzV3ckJNO0VBQ0ksY2hCa1lHO0F0QjY0cUJiO0FnRTMybUJBLHFCQUFBO0ExQjE2RU07RUFDRSxjaEI0T21CO0F0QjZpckIzQjtBc0NyeHJCTTtFQUNJLGNoQndPc0I7QXRCZ2pyQmhDO0FzQzl4ckJNO0VBQ0UsY2hCMkNZO0F0QnN2ckJwQjtBc0M3eHJCTTtFQUNJLGNoQnVDZTtBdEJ5dnJCekI7QXNDdHlyQk07RUFDRSxjaEJtUHVCO0F0QnNqckIvQjtBc0NyeXJCTTtFQUNJLGNoQitPMEI7QXRCeWpyQnBDO0FzQzl5ckJNO0VBQ0UsY2hCcVBvQjtBdEI0anJCNUI7QXNDN3lyQk07RUFDSSxjaEJpUHVCO0F0QitqckJqQztBc0N0enJCTTtFQUNFLGNoQnVQc0I7QXRCa2tyQjlCO0FzQ3J6ckJNO0VBQ0ksY2hCbVB5QjtBdEJxa3JCbkM7QXNDOXpyQk07RUFDRSxjaEI0UGlDO0F0QnFrckJ6QztBc0M3enJCTTtFQUNJLGNoQndQb0M7QXRCd2tyQjlDO0FzQ3QwckJNO0VBQ0UsY2hCaVFxQztBdEJ3a3JCN0M7QXNDcjByQk07RUFDSSxjaEI2UHdDO0F0QjJrckJsRDtBc0M5MHJCTTtFQUNFLGNoQitIYztBdEJrdHJCdEI7QXNDNzByQk07RUFDSSxjaEJ3T3NCO0F0QndtckJoQztBc0N0MXJCTTtFQUNFLHlCaEI0T21CO0F0QjZtckIzQjtBc0NyMXJCTTtFQUNJLHlCaEJ3T3NCO0F0QmduckJoQztBc0M5MXJCTTtFQUNFLHlCaEIyQ1k7QXRCc3pyQnBCO0FzQzcxckJNO0VBQ0kseUJoQnVDZTtBdEJ5enJCekI7QXNDdDJyQk07RUFDRSx5QmhCbVB1QjtBdEJzbnJCL0I7QXNDcjJyQk07RUFDSSx5QmhCK08wQjtBdEJ5bnJCcEM7QXNDOTJyQk07RUFDRSx5QmhCcVBvQjtBdEI0bnJCNUI7QXNDNzJyQk07RUFDSSx5QmhCaVB1QjtBdEIrbnJCakM7QXNDdDNyQk07RUFDRSx5QmhCdVBzQjtBdEJrb3JCOUI7QXNDcjNyQk07RUFDSSx5QmhCbVB5QjtBdEJxb3JCbkM7QXNDOTNyQk07RUFDRSx5QmhCNFBpQztBdEJxb3JCekM7QXNDNzNyQk07RUFDSSx5QmhCd1BvQztBdEJ3b3JCOUM7QXNDdDRyQk07RUFDRSx5QmhCaVFxQztBdEJ3b3JCN0M7QXNDcjRyQk07RUFDSSx5QmhCNlB3QztBdEIyb3JCbEQ7QXNDOTRyQk07RUFDRSxjaEI4S3VCO0F0Qm11ckIvQjtBc0M3NHJCTTtFQUNJLGNoQjJLMEI7QXRCcXVyQnBDO0FzQ3Q1ckJNO0VBQ0UsV2hCK0s4QjtBdEIwdXJCdEM7QXNDcjVyQk07RUFDSSxjaEI0S2lDO0F0QjR1ckIzQztBc0M5NXJCTTtFQUNFLFdoQitLOEI7QXRCa3ZyQnRDO0FzQzc1ckJNO0VBQ0ksY2hCNEtpQztBdEJvdnJCM0M7QXNDdDZyQk07RUFDRSw0QmhCQ0c7QXRCdzZyQlg7QXNDcjZyQk07RUFDSSw0QmhCcUltQjtBdEJteXJCN0I7QXNDOTZyQk07RUFDRSx5QmhCQ0c7QXRCZzdyQlg7QXNDNzZyQk07RUFDSSx5QmhCcUltQjtBdEIyeXJCN0I7QXNDdDdyQk07RUFDRSxvQzBCODhFcUU7QWhFMittQjdFO0FzQ3I3ckJNO0VBQ0ksb0MwQnk4RXlHO0FoRSsrbUJuSDtBc0M5N3JCTTtFQUNFLG9DMEJnK0U4RjtBaEVpK21CdEc7QXNDNzdyQk07RUFDSSxvQzBCMjlFZ0g7QWhFcSttQjFIO0FzQ3Q4ckJNO0VBQ0UsZ0MwQmkrRTBGO0FoRXcrbUJsRztBc0NyOHJCTTtFQUNJLGdDMEI0OUVnSTtBaEU0K21CMUk7QWdFaittQkE7RUFDRSxnSEFBQTtBaEVvK21CRjtBc0NsOXJCTTtFQUNFLHdDMEJvL0VxRjtBaEVpK21CN0Y7QXNDajlyQk07RUFDSSxtRDBCKytFOEc7QWhFcSttQnhIO0FnRXArbUJBO0VBQ0Usb0NBQUE7QWhFdSttQkY7QXNDOTlyQk07RUFDRSxjaEI4S3VCO0F0Qm16ckIvQjtBc0M3OXJCTTtFQUNJLGNoQjJLMEI7QXRCcXpyQnBDO0FzQ3QrckJNO0VBQ0UsV2hCK0s4QjtBdEIwenJCdEM7QXNDcityQk07RUFDSSxjaEI0S2lDO0F0QjR6ckIzQztBc0M5K3JCTTtFQUNFLFdoQitLOEI7QXRCazByQnRDO0FzQzcrckJNO0VBQ0ksY2hCNEtpQztBdEJvMHJCM0M7QXNDdC9yQk07RUFDRSxjaEI4S3VCO0F0QjIwckIvQjtBc0NyL3JCTTtFQUNJLGNoQjJLMEI7QXRCNjByQnBDO0FzQzkvckJNO0VBQ0UsV2hCK0s4QjtBdEJrMXJCdEM7QXNDNy9yQk07RUFDSSxjaEI0S2lDO0F0Qm8xckIzQztBc0N0Z3NCTTtFQUNFLFdoQitLOEI7QXRCMDFyQnRDO0FzQ3Jnc0JNO0VBQ0ksY2hCNEtpQztBdEI0MXJCM0M7QWdFM2duQkEsMkJBQUE7QTFCbmdGTTtFQUNFLGNoQk9HO0F0QjJnc0JYO0FzQzlnc0JNO0VBQ0ksY2hCcUp5QjtBdEI0M3JCbkM7QXNDdmhzQk07RUFDRSx5QmhCV0k7QXRCK2dzQlo7QXNDdGhzQk07RUFDSSx5QmhCOEpvQztBdEIyM3JCOUM7QXNDL2hzQk07RUFDRSx5QmhCWUk7QXRCc2hzQlo7QXNDOWhzQk07RUFDSSx5QmhCZ0t1QztBdEJpNHJCakQ7QWdFL2huQkE7OytFQUFBO0ExQnhnRk07RUFDRSw2QjBCMGdGcUo7QWhFbWluQjdKO0FzQ3ppc0JNO0VBQ0ksNkIwQnFnRmdLO0FoRXVpbkIxSztBc0NsanNCTTtFQUNFLDZCMEIyZ0ZvSztBaEUwaW5CNUs7QXNDampzQk07RUFDSSw2QjBCc2dGK0s7QWhFOGluQnpMO0FzQzFqc0JNO0VBQ0UseUJoQnVMa0M7QXRCczRyQjFDO0FzQ3pqc0JNO0VBQ0kseUJoQm1McUM7QXRCeTRyQi9DO0FzQ2xrc0JNO0VBQ0UseUJoQllJO0F0Qnlqc0JaO0FzQ2prc0JNO0VBQ0kseUJoQnFMd0M7QXRCKzRyQmxEO0FnRTFqbkJBLGNBQUE7QTFCaGhGTTtFQUNFLGNoQitIYztBdEIrOHJCdEI7QXNDMWtzQk07RUFDSSxjaEIwWEU7QXRCbXRyQlo7QXNDbmxzQk07RUFDRSxjaEIrSGM7QXRCdTlyQnRCO0FzQ2xsc0JNO0VBQ0ksY2hCa1lHO0F0Qm10ckJiO0FnRXZrbkJBLG1CQUFBO0ExQnBoRk07RUFDRSxjaEIrSGM7QXRCZytyQnRCO0FzQzNsc0JNO0VBQ0ksY2hCMFhFO0F0Qm91ckJaO0FzQ3Btc0JNO0VBQ0UsY2hCK0hjO0F0QncrckJ0QjtBc0NubXNCTTtFQUNJLGNoQjBYRTtBdEI0dXJCWjtBc0M1bXNCTTtFQUNFLGNoQitIYztBdEJnL3JCdEI7QXNDM21zQk07RUFDSSxjaEJrWUc7QXRCNHVyQmI7QWdFM2xuQkEsd0JBQUE7QTFCemhGTTtFQUNFLGNoQnFZSztBdEJtdnJCYjtBc0NwbnNCTTtFQUNJLGNoQmtZRztBdEJxdnJCYjtBc0M3bnNCTTtFQUNFLHlCaEJ1WUs7QXRCeXZyQmI7QXNDNW5zQk07RUFDSSx5QmhCZ1lHO0F0Qit2ckJiO0FnRWptbkJBLG9CQUFBO0ExQnBpRk07RUFDRSx1QmhCOERhO0F0QjJrc0JyQjtBc0Nyb3NCTTtFQUNJLHVCaEIwRGdCO0F0Qjhrc0IxQjtBZ0V2bW5CQSxlQUFBO0ExQnZpRk07RUFDRSx5QmhCNkZnQjtBdEJxanNCeEI7QXNDOW9zQk07RUFDSSx5QmhCeUZtQjtBdEJ3anNCN0I7QXNDdnBzQk07RUFDRSxjaEJnRVE7QXRCMGxzQmhCO0FzQ3Rwc0JNO0VBQ0ksY2hCNERXO0F0QjZsc0JyQjtBZ0Vwbm5CQSxxQkFBQTtBMUIzaUZNO0VBQ0UsY2hCK0hjO0F0Qm9pc0J0QjtBc0MvcHNCTTtFQUNJLGNoQjJIaUI7QXRCdWlzQjNCO0FnRTFubkJBLDBCQUFBO0ExQjlpRk07RUFDRSx5QmhCbUpvQjtBdEJ5aHNCNUI7QXNDeHFzQk07RUFDSSx5QmhCK0l1QjtBdEI0aHNCakM7QXNDanJzQk07RUFDRSxjaEIrSGM7QXRCcWpzQnRCO0FzQ2hyc0JNO0VBQ0ksY2hCMkhpQjtBdEJ3anNCM0I7QWdFdm9uQkEseUJBQUE7QTFCbGpGTTtFQUNFLHlCaEI2RmdCO0F0Qmdtc0J4QjtBc0N6cnNCTTtFQUNJLHlCaEJ5Rm1CO0F0Qm1tc0I3QjtBc0Nsc3NCTTtFQUNFLGNoQmdFUTtBdEJxb3NCaEI7QXNDanNzQk07RUFDSSxjaEI0RFc7QXRCd29zQnJCO0FnRXBwbkJBOzs7aURBQUE7QUFLQSxlQUFBO0ExQjNqRk07RUFDRSxrQjBCMmpGbUU7QWhFdXBuQjNFO0FzQzlzc0JNO0VBQ0ksc0MwQnNqRnFFO0FoRTJwbkIvRTtBc0N2dHNCTTtFQUNFLFUwQjRqRjJEO0FoRThwbkJuRTtBc0N0dHNCTTtFQUNJLDhCMEJ1akY2RDtBaEVrcW5CdkU7QXNDL3RzQk07RUFDRSxjMEI2akY2RDtBaEVxcW5CckU7QXNDOXRzQk07RUFDSSwwQzBCd2pGK0Q7QWhFeXFuQnpFO0FnRXZxbkJBLHVCQUFBO0ExQmhrRk07RUFDRSx5QmhCaVhvQjtBdEIwM3JCNUI7QXNDdnVzQk07RUFDSSx5QmhCNld1QjtBdEI2M3JCakM7QWdFenFuQkE7RUFDRSxvQ0FBQTtFQUtBLDJCQUFBO0VBQ0EsbURqQ3BnRnNCO0EvQjRxc0J4QjtBZ0VocW5CRTtFQUNFLHNDQUFBO0FoRWtxbkJKO0FnRWhxbkJFO0VBQ0Usc0NBQUE7QWhFa3FuQko7QWdFL3BuQkU7RUFDRSx5QkFBQTtBaEVpcW5CSjtBZ0UvcG5CRTtFQUNFLG9DQUFBO0VBQ0Esc0JBQUE7QWhFaXFuQko7QWdFN3BuQkU7RUFDRSxvQ0FBQTtFQUNBLHNCQUFBO0FoRStwbkJKO0FnRTNwbkJFO0VBQ0UseUIxQ2ptRlE7RTBDcW1GUixXMUNqOEVrQztFMENrOEVsQyxxQjFDaG5GTztBdEIwd3NCWDtBZ0V0cG5CQTtFQUNFLG9DQUFBO0VBT0Esd0NBQUE7RUFDQSxrRGpDcGpGc0I7QS9CdXNzQnhCO0FnRTdvbkJFO0VBQ0Usc0NBQUE7QWhFK29uQko7QWdFN29uQkU7RUFDRSxzQ0FBQTtBaEUrb25CSjtBZ0U1b25CRTtFQUNFLHlCQUFBO0FoRThvbkJKO0FnRTVvbkJFO0VBQ0Usb0NBQUE7RUFDQSx5QkFBQTtBaEU4b25CSjtBZ0Uzb25CRTtFQUNFLG9DQUFBO0VBQ0EseUJBQUE7QWhFNm9uQko7QWdFcm9uQkU7RUFLRSx5QjFDMStFMkM7RTBDMitFM0MsYzFDbC9FdUM7RTBDbS9FdkMscUIxQzFoRnlCO0F0QjZwc0I3QjtBc0N4eXNCTTtFQUNFLGMwQnVxRjZEO0FoRW9vbkJyRTtBc0N2eXNCTTtFQUNJLGtDMEJrcUYrRDtBaEV3b25CekU7QXNDaHpzQk07RUFDRSxjaEIrSGM7QXRCb3JzQnRCO0FzQy95c0JNO0VBQ0ksY2hCMkhpQjtBdEJ1cnNCM0I7QXNDeHpzQk07RUFDRSx5QmhCMkNZO0F0Qmd4c0JwQjtBc0N2enNCTTtFQUNJLHlCaEJ1Q2U7QXRCbXhzQnpCO0FzQ2gwc0JNO0VBQ0UsWWhCOElhO0F0QnFyc0JyQjtBc0MvenNCTTtFQUNJLFloQjBJZ0I7QXRCd3JzQjFCO0FzQ3gwc0JNO0VBQ0UsWWhCOElhO0F0QjZyc0JyQjtBc0N2MHNCTTtFQUNJLFloQjBJZ0I7QXRCZ3NzQjFCO0FzQ2gxc0JNO0VBQ0UseUJoQm9ScUI7QXRCK2pzQjdCO0FzQy8wc0JNO0VBQ0ksMkMwQnVxRjJQO0FoRTJxbkJyUTtBZ0V6cW5CQSwrQkFBQTtBMUIvcUZNO0VBQ0UseUJoQnNNa0I7QXRCc3BzQjFCO0FzQ3gxc0JNO0VBQ0kseUJoQmtNcUI7QXRCeXBzQi9CO0FnRTdxbkJBLGFBQUE7QTFCcHJGTTtFQUNFLHVCaEI4RGE7QXRCdXlzQnJCO0FzQ2oyc0JNO0VBQ0ksdUJoQjBEZ0I7QXRCMHlzQjFCO0FzQzEyc0JNO0VBQ0UsWWhCK0RrQjtBdEI4eXNCMUI7QXNDejJzQk07RUFDSSxZaEJ5RFc7QXRCbXpzQnJCO0FzQ2wzc0JNO0VBQ0UsdUJoQjhEYTtBdEJ1enNCckI7QXNDajNzQk07RUFDSSx1QmhCMERnQjtBdEIwenNCMUI7QWdFanNuQkEsbUJBQUE7QTFCenJGTTtFQUNFLGNoQmdFUTtBdEI4enNCaEI7QXNDMTNzQk07RUFDSSxjaEI0RFc7QXRCaTBzQnJCO0FnRXRzbkJBLHdCQUFBO0ExQjdyRk07RUFDRSx5QmhCNkZnQjtBdEIweXNCeEI7QXNDbjRzQk07RUFDSSx5QmhCeUZtQjtBdEI2eXNCN0I7QXNDNTRzQk07RUFDRSw0QmhCNkZnQjtBdEJrenNCeEI7QXNDMzRzQk07RUFDSSw0QmhCeUZtQjtBdEJxenNCN0I7QXNDcDVzQk07RUFDRSwyQmhCdVlLO0F0Qmdoc0JiO0FzQ241c0JNO0VBQ0ksMkJoQmdZRztBdEJzaHNCYjtBc0M1NXNCTTtFQUNFLHlCaEJ1WUs7QXRCd2hzQmI7QXNDMzVzQk07RUFDSSx5QjBCMnJGNEY7QWhFbXVuQnRHO0FzQ3A2c0JNO0VBQ0UscUJoQjZGZ0I7QXRCMDBzQnhCO0FzQ242c0JNO0VBQ0kscUJoQnlGbUI7QXRCNjBzQjdCO0FzQzU2c0JNO0VBQ0UsMkJoQjZGZ0I7QXRCazFzQnhCO0FzQzM2c0JNO0VBQ0ksMkJoQnlGbUI7QXRCcTFzQjdCO0FzQ3A3c0JNO0VBQ0UseUJoQjZGZ0I7QXRCMDFzQnhCO0FzQ243c0JNO0VBQ0kseUJoQnlGbUI7QXRCNjFzQjdCO0FzQzU3c0JNO0VBQ0UsMkJoQnVZSztBdEJ3anNCYjtBc0MzN3NCTTtFQUNJLDJCaEJnWUc7QXRCOGpzQmI7QWdFN3ZuQkEsZ0JBQUE7QTFCdnNGTTtFQUNFLHlCaEI2RmdCO0F0QjIyc0J4QjtBc0NwOHNCTTtFQUNJLHlCaEJ5Rm1CO0F0Qjgyc0I3QjtBc0M3OHNCTTtFQUNFLFUwQndzRjBGO0FoRXd3bkJsRztBc0M1OHNCTTtFQUNJLGlCMEJtc0Y0RjtBaEU0d25CdEc7QXNDcjlzQk07RUFDRSxjaEJnRVE7QXRCdzVzQmhCO0FzQ3A5c0JNO0VBQ0ksY2hCNERXO0F0QjI1c0JyQjtBc0M3OXNCTTtFQUNFLGNoQmdFUTtBdEJnNnNCaEI7QXNDNTlzQk07RUFDSSxjaEI0RFc7QXRCbTZzQnJCO0FzQ3Irc0JNO0VBQ0UseUJoQjZGZ0I7QXRCMjRzQnhCO0FzQ3Arc0JNO0VBQ0kseUJoQnlGbUI7QXRCODRzQjdCO0FnRS94bkJBLGVBQUE7QTFCOXNGTTtFQUNFLGNoQjRPbUI7QXRCcXdzQjNCO0FzQzcrc0JNO0VBQ0ksY2hCd09zQjtBdEJ3d3NCaEM7QWdFcnluQkEsb0JBQUE7QTFCanRGTTtFQUNFLGNoQjJDWTtBdEIrOHNCcEI7QXNDdC9zQk07RUFDSSxjaEJ1Q2U7QXRCazlzQnpCO0FnRTN5bkJBLGdCQUFBO0ExQnB0Rk07RUFDRSxjaEJtUHVCO0F0Qmd4c0IvQjtBc0MvL3NCTTtFQUNJLGNoQitPMEI7QXRCbXhzQnBDO0FnRWp6bkJBLDBCQUFBO0ExQnZ0Rk07RUFDRSxtQmhCeURXO0F0Qm05c0JuQjtBc0N4Z3RCTTtFQUNJLG1CaEJxRGM7QXRCczlzQnhCO0FnRXZ6bkJBLG1CQUFBO0ExQjF0Rk07RUFDRSxjaEJxUG9CO0F0Qmd5c0I1QjtBc0NqaHRCTTtFQUNJLGNoQmlQdUI7QXRCbXlzQmpDO0FnRTd6bkJBLGtCQUFBO0ExQjd0Rk07RUFDRSxjaEJ1UHNCO0F0QnV5c0I5QjtBc0MxaHRCTTtFQUNJLGNoQm1QeUI7QXRCMHlzQm5DO0FnRW4wbkJBLDBCQUFBO0ExQmh1Rk07RUFDRSxjaEI0UGlDO0F0QjJ5c0J6QztBc0NuaXRCTTtFQUNJLGNoQndQb0M7QXRCOHlzQjlDO0FnRXowbkJBLDhCQUFBO0ExQm51Rk07RUFDRSxjaEJpUXFDO0F0Qit5c0I3QztBc0M1aXRCTTtFQUNJLGNoQjZQd0M7QXRCa3pzQmxEO0FnRS8wbkJBOzs7Ozs4RUFBQTtBQU9BLGtDQUFBO0ExQjd1Rk07RUFDRSx1QmhCOERhO0F0QmlndEJyQjtBc0MzanRCTTtFQUNJLHVCaEIwRGdCO0F0Qm9ndEIxQjtBc0Nwa3RCTTtFQUNFLHdFMEJpdkZvRztBaEVzMW5CNUc7QXNDbmt0Qk07RUFDSSxrRTBCNHVGb0w7QWhFMDFuQjlMO0FzQzVrdEJNO0VBQ0UsNkUwQnF2RjJHO0FoRTAxbkJuSDtBc0Mza3RCTTtFQUNJLHVFMEJndkYwTDtBaEU4MW5CcE07QXNDcGx0Qk07RUFDRSx1RTBCeXZGaUk7QWhFODFuQnpJO0FzQ25sdEJNO0VBQ0ksaUUwQm92RmdOO0FoRWsybkIxTjtBc0M1bHRCTTtFQUNFLGdCaEJ1RWE7QXRCd2h0QnJCO0FzQzNsdEJNO0VBQ0ksZ0JoQm1FZ0I7QXRCMmh0QjFCO0FzQ3BtdEJNO0VBQ0UsdUJoQjhEYTtBdEJ5aXRCckI7QXNDbm10Qk07RUFDSSx1QmhCMERnQjtBdEI0aXRCMUI7QXNDNW10Qk07RUFDRSx1QmhCOERhO0F0QmlqdEJyQjtBc0MzbXRCTTtFQUNJLHVCaEIwRGdCO0F0Qm9qdEIxQjtBc0NwbnRCTTtFQUNFLHVCaEI4RGE7QXRCeWp0QnJCO0FzQ25udEJNO0VBQ0ksdUJoQjBEZ0I7QXRCNGp0QjFCO0FnRTEybkJFOztFQUVFLHFDMUMzNkV1QjtFMEM0NkV2Qix3QzFDNTZFdUI7QXRCeXhzQjNCO0FnRTEybkJFOztFQUVFLHFDMUNqN0V1QjtFMENrN0V2Qix3QzFDbDdFdUI7RTBDbTdFdkIsc0MxQ243RXVCO0F0Qit4c0IzQjtBZ0V6Mm5CRTs7RUFFRSxxQzFDeDdFdUI7RTBDeTdFdkIsd0MxQ3o3RXVCO0UwQzA3RXZCLHVDMUMxN0V1QjtBdEJxeXNCM0I7QWdFNTNuQkU7O0VBRUUscUMxQzM2RXVCO0UwQzQ2RXZCLHdDMUM1NkV1QjtBdEIyeXNCM0I7QWdFNTNuQkU7O0VBRUUscUMxQ2o3RXVCO0UwQ2s3RXZCLHdDMUNsN0V1QjtFMENtN0V2QixzQzFDbjdFdUI7QXRCaXpzQjNCO0FnRTMzbkJFOztFQUVFLHFDMUN4N0V1QjtFMEN5N0V2Qix3QzFDejdFdUI7RTBDMDdFdkIsdUMxQzE3RXVCO0F0QnV6c0IzQjtBZ0U5NG5CRTs7RUFFRSwyQ0E2Qm9DO0VBNUJwQyw4Q0E0Qm9DO0FoRW8zbkJ4QztBZ0U3NG5CRTs7RUFFRSwyQ0F1Qm9DO0VBdEJwQyw4Q0FzQm9DO0VBckJwQyw0Q0FxQm9DO0FoRTAzbkJ4QztBZ0U1NG5CRTs7RUFFRSwyQ0FnQm9DO0VBZnBDLDhDQWVvQztFQWRwQyw2Q0Fjb0M7QWhFZzRuQnhDO0FnRTEzbkJFOztFQUVFLHFDQUFBO0FoRTQzbkJKO0FzQ3JydEJNO0VBQ0UsY2hCZ0VRO0F0QndudEJoQjtBc0NwcnRCTTtFQUNJLGNoQjREVztBdEIybnRCckI7QXNDN3J0Qk07RUFDRSxjaEI4S3VCO0F0QmtodEIvQjtBc0M1cnRCTTtFQUNJLGNoQjJLMEI7QXRCb2h0QnBDO0FzQ3JzdEJNO0VBQ0UsZ0JoQnVFYTtBdEJpb3RCckI7QXNDcHN0Qk07RUFDSSxnQmhCbUVnQjtBdEJvb3RCMUI7QXNDN3N0Qk07RUFDRSx1QmhCOERhO0F0QmtwdEJyQjtBc0M1c3RCTTtFQUNJLHVCaEIwRGdCO0F0QnFwdEIxQjtBc0NydHRCTTtFQUNFLHVCaEI4RGE7QXRCMHB0QnJCO0FzQ3B0dEJNO0VBQ0ksdUJoQjBEZ0I7QXRCNnB0QjFCO0FnRS80bkJFO0VBQ0UsYzFDaHFGMkI7QXRCa2p0Qi9CO0FnRWg1bkJJO0VBQXFCLGMxQ2h4RlQ7QXRCbXF0QmhCO0FnRWw1bkJJO0VBQVMsYzFDanhGRztBdEJzcXRCaEI7QWdFaDVuQkk7RUFBOEIseUJBQUE7QWhFbTVuQmxDO0FnRTU0bkJJOzs7O0VBR3dDLHlCQUFBO0FoRSs0bkI1QztBZ0U5NG5CSTtFQUFnQyx5QkFBQTtBaEVpNW5CcEM7QWdFejRuQkE7RUFDRSx5QkFBQTtBaEU0NG5CRjtBZ0VwNG5CQTtFQUNFLHlCQUFBO0FoRXU0bkJGO0FnRXA0bkJBLG9DQUFBO0ExQnYzRk07RUFDRSx5QmhCd0ttQjtBdEJ1bHRCM0I7QXNDM3Z0Qk07RUFDSSx5QmhCb0tzQjtBdEIwbHRCaEM7QXNDcHd0Qk07RUFDRSxxQmhCQ0c7QXRCc3d0Qlg7QXNDbnd0Qk07RUFDSSxxQmhCcUltQjtBdEJpb3RCN0I7QWdFajVuQkEsZ0NBQUE7QTFCMzNGTTtFQUNFLG9CMEIyM0Y2RztBaEVxNW5Cckg7QXNDNXd0Qk07RUFDSSxxQzBCczNGK0c7QWhFeTVuQnpIO0FnRXY1bkJBLHdCQUFBO0ExQjkzRk07RUFDRSx5QkFBQTtBdEN5eHRCUjtBc0NyeHRCTTtFQUNJLHlCaEIrRlk7QXRCeXJ0QnRCO0FzQzl4dEJNO0VBQ0UseUJoQjJDWTtBdEJzdnRCcEI7QXNDN3h0Qk07RUFDSSx5QmhCdUNlO0F0Qnl2dEJ6QjtBc0N0eXRCTTtFQUNFLHVCaEJ5RFc7QXRCZ3Z0Qm5CO0FzQ3J5dEJNO0VBQ0ksdUJoQnFEYztBdEJtdnRCeEI7QXNDOXl0Qk07RUFDRSx5QkFBQTtBdENpenRCUjtBc0M3eXRCTTtFQUNJLHlCaEIrRlk7QXRCaXR0QnRCO0FzQ3R6dEJNO0VBQ0UsY2hCS0c7QXRCb3p0Qlg7QXNDcnp0Qk07RUFDSSxjaEIySzBCO0F0QjZvdEJwQztBc0M5enRCTTtFQUNFLGNoQktHO0F0QjR6dEJYO0FzQzd6dEJNO0VBQ0ksY2hCMkswQjtBdEJxcHRCcEM7QXNDdDB0Qk07RUFDRSxjaEI4Q2U7QXRCMnh0QnZCO0FzQ3IwdEJNO0VBQ0ksY2hCMENrQjtBdEI4eHRCNUI7QXNDOTB0Qk07RUFDRSxjaEJ3VmdCO0F0Qnkvc0J4QjtBc0M3MHRCTTtFQUNJLGNoQm9Wa0I7QXRCNC9zQjVCO0FzQ3QxdEJNO0VBQ0UsY2hCMkNZO0F0Qjh5dEJwQjtBc0NyMXRCTTtFQUNJLGNoQnVDZTtBdEJpenRCekI7QXNDOTF0Qk07RUFDRSxjaEIyQ1k7QXRCc3p0QnBCO0FzQzcxdEJNO0VBQ0ksY2hCdUNlO0F0Qnl6dEJ6QjtBc0N0MnRCTTtFQUNFLGNoQjhDZTtBdEIyenRCdkI7QXNDcjJ0Qk07RUFDSSxjaEIwQ2tCO0F0Qjh6dEI1QjtBc0M5MnRCTTtFQUNFLGNoQmdEZTtBdEJpMHRCdkI7QXNDNzJ0Qk07RUFDSSxjaEI0Q2tCO0F0Qm8wdEI1QjtBc0N0M3RCTTtFQUNFLGNoQjhDZTtBdEIyMHRCdkI7QXNDcjN0Qk07RUFDSSxjaEIwQ2tCO0F0QjgwdEI1QjtBc0M5M3RCTTtFQUNFLGNoQjhDZTtBdEJtMXRCdkI7QXNDNzN0Qk07RUFDSSxjaEIwQ2tCO0F0QnMxdEI1QjtBc0N0NHRCTTtFQUNFLHlCaEI2RmdCO0F0QjR5dEJ4QjtBc0NyNHRCTTtFQUNJLHlCaEJ5Rm1CO0F0Qit5dEI3QjtBc0M5NHRCTTtFQUNFLGNoQmdEZTtBdEJpMnRCdkI7QXNDNzR0Qk07RUFDSSxjaEI0Q2tCO0F0Qm8ydEI1QjtBZ0UvL25CQSxvQkFBQTtBMUJ2NUZNO0VBQ0UsY2hCMkNZO0F0QisydEJwQjtBc0N0NXRCTTtFQUNJLGNoQnVDZTtBdEJrM3RCekI7QXNDLzV0Qk07RUFDRSxjaEJ3VmdCO0F0QjBrdEJ4QjtBc0M5NXRCTTtFQUNJLGNoQm9Wa0I7QXRCNmt0QjVCO0FnRTFnb0JBLGtDQUFBO0ExQjc1Rk07RUFDRSx5QmhCdVlLO0F0Qm9pdEJiO0FzQ3Y2dEJNO0VBQ0kseUJoQmdZRztBdEIwaXRCYjtBZ0VoaG9CQSwyQkFBQTtBMUJoNkZNO0VBQ0UsY2hCZ0VRO0F0Qm8zdEJoQjtBc0NoN3RCTTtFQUNJLGNoQjREVztBdEJ1M3RCckI7QWdFdGhvQkEsMEJBQUE7QTFCbjZGTTtFQUNFLHVCaEI4RGE7QXRCKzN0QnJCO0FzQ3o3dEJNO0VBQ0ksdUJoQjBEZ0I7QXRCazR0QjFCO0FnRTVob0JBLGtDQUFBO0ExQnQ2Rk07RUFDRSx1QmhCOERhO0F0Qnc0dEJyQjtBc0NsOHRCTTtFQUNJLHVCaEIwRGdCO0F0QjI0dEIxQjtBc0MzOHRCTTtFQUNFLG9DMEJ1NkZrSDtBaEV1aW9CMUg7QXNDMTh0Qk07RUFDSSxvQzBCazZGZ0o7QWhFMmlvQjFKO0FzQ245dEJNO0VBQ0Usb0MwQnc2RmtIO0FoRThpb0IxSDtBc0NsOXRCTTtFQUNJLG9DMEJtNkZnSjtBaEVram9CMUo7QXNDMzl0Qk07RUFDRSwwQmhCa0VhO0F0QjQ1dEJyQjtBc0MxOXRCTTtFQUNJLGdCaEI4RGdCO0F0Qis1dEIxQjtBZ0V2am9CQSx3QkFBQTtBMUI1NkZNO0VBQ0UsY2hCZ0VRO0F0QnU2dEJoQjtBc0NuK3RCTTtFQUNJLGNoQjREVztBdEIwNnRCckI7QXNDNSt0Qk07RUFDRSx1QjBCNjZGaUY7QWhFa2tvQnpGO0FzQzMrdEJNO0VBQ0ksdUIwQnc2RmdHO0FoRXNrb0IxRztBc0NwL3RCTTtFQUNFLHVCMEI4NkY2RTtBaEV5a29CckY7QXNDbi90Qk07RUFDSSx1QjBCeTZGNEY7QWhFNmtvQnRHO0FzQzUvdEJNO0VBQ0UsdUIwQis2RjBFO0FoRWdsb0JsRjtBc0MzL3RCTTtFQUNJLHVCMEIwNkZ5RjtBaEVvbG9Cbkc7QXNDcGd1Qk07RUFDRSxjaEJnRVE7QXRCdTh0QmhCO0FzQ25ndUJNO0VBQ0ksY2hCNERXO0F0QjA4dEJyQjtBZ0VsbG9CQSw4QkFBQTtBMUIxN0ZNO0VBQ0UsYzBCMDdGK0Y7QWhFc2xvQnZHO0FzQzVndUJNO0VBQ0ksa0MwQnE3RmlHO0FoRTBsb0IzRztBZ0V4bG9CQSxxQ0FBQTtBMUI3N0ZNO0VBQ0UsYzBCNjdGc0c7QWhFNGxvQjlHO0FzQ3JodUJNO0VBQ0ksa0MwQnc3RndHO0FoRWdtb0JsSDtBZ0U5bG9CQSxzQkFBQTtBMUJoOEZNO0VBQ0UsY2hCZ0VRO0F0QmsrdEJoQjtBc0M5aHVCTTtFQUNJLGNoQjREVztBdEJxK3RCckI7QXNDdml1Qk07RUFDRSxTMEJpOEY4RTtBaEV5bW9CdEY7QXNDdGl1Qk07RUFDSSxjaEI0RFc7QXRCNit0QnJCO0FzQy9pdUJNO0VBQ0Usb0IwQms4Rm1GO0FoRWdub0IzRjtBc0M5aXVCTTtFQUNJLHlCaEJpVzJCO0F0Qmd0dEJyQztBc0N2anVCTTtFQUNFLG9CMEJtOEYrRztBaEV1bm9Cdkg7QXNDdGp1Qk07RUFDSSx5QmhCeUZtQjtBdEJnK3RCN0I7QXNDL2p1Qk07RUFDRSxvQzBCbzhGb0g7QWhFOG5vQjVIO0FzQzlqdUJNO0VBQ0ksMEMwQis3RmtJO0FoRWtvb0I1STtBc0N2a3VCTTtFQUNFLG9DMEJxOEZvSztBaEVxb29CNUs7QXNDdGt1Qk07RUFDSSwwQzBCZzhGa0w7QWhFeW9vQjVMO0FnRXZvb0JBLHNCQUFBO0ExQng4Rk07RUFDRSxTMEIrOEY4RjtBaEVvb29CdEc7QXNDL2t1Qk07RUFDSSxnQzBCMDhGZ0c7QWhFd29vQjFHO0FzQ3hsdUJNO0VBQ0UsUzBCZzlGb0c7QWhFMm9vQjVHO0FzQ3ZsdUJNO0VBQ0ksZ0MwQjI4RnNHO0FoRStvb0JoSDtBZ0U3b29CQSwyQkFBQTtBMUJuOUZNO0VBQ0UseUJoQjZGZ0I7QXRCdWd1QnhCO0FzQ2htdUJNO0VBQ0kseUJoQnlGbUI7QXRCMGd1QjdCO0FzQ3ptdUJNO0VBQ0UsY2hCMkNZO0F0QmlrdUJwQjtBc0N4bXVCTTtFQUNJLGNoQnVDZTtBdEJva3VCekI7QWdFMXBvQkEsd0JBQUE7QTFCdjlGTTtFQUNFLHlCaEI2RmdCO0F0QndodUJ4QjtBc0NqbnVCTTtFQUNJLHlCaEJ5Rm1CO0F0QjJodUI3QjtBc0MxbnVCTTtFQUNFLHFCaEJDRztBdEI0bnVCWDtBc0N6bnVCTTtFQUNJLHFCaEJxSW1CO0F0QnUvdEI3QjtBc0Nsb3VCTTtFQUNFLGFoQmdFUTtBdEJxa3VCaEI7QXNDam91Qk07RUFDSSxhaEI0RFc7QXRCd2t1QnJCO0FzQzFvdUJNO0VBQ0UsY2hCZ0VRO0F0QjZrdUJoQjtBc0N6b3VCTTtFQUNJLGNoQjREVztBdEJnbHVCckI7QXNDbHB1Qk07RUFDRSxjaEJnRVE7QXRCcWx1QmhCO0FzQ2pwdUJNO0VBQ0ksY2hCNERXO0F0QndsdUJyQjtBc0MxcHVCTTtFQUNFLGlCaEI2Zlc7QXRCZ3F0Qm5CO0FzQ3pwdUJNO0VBQ0ksaUJoQnlmYztBdEJtcXRCeEI7QXNDbHF1Qk07RUFDRSxjaEJnRVE7QXRCcW11QmhCO0FzQ2pxdUJNO0VBQ0ksY2hCNERXO0F0QndtdUJyQjtBZ0V6c29CQSwyQkFBQTtBMUJqK0ZNO0VBQ0UsYWhCZ0VRO0F0QjhtdUJoQjtBc0MxcXVCTTtFQUNJLGFoQjREVztBdEJpbnVCckI7QXNDbnJ1Qk07RUFDRSxjaEJnRVE7QXRCc251QmhCO0FzQ2xydUJNO0VBQ0ksY2hCNERXO0F0QnludUJyQjtBc0MzcnVCTTtFQUNFLHlCaEI2RmdCO0F0QmltdUJ4QjtBc0MxcnVCTTtFQUNJLHlCaEJ5Rm1CO0F0Qm9tdUI3QjtBc0Nuc3VCTTtFQUNFLHdDMEJvK0ZxRjtBaEVrdW9CN0Y7QXNDbHN1Qk07RUFDSSx3QzBCKzlGMkc7QWhFc3VvQnJIO0FzQzNzdUJNO0VBQ0Usa0MwQnErRitFO0FoRXl1b0J2RjtBc0Mxc3VCTTtFQUNJLGtDMEJnK0ZxRztBaEU2dW9CL0c7QXNDbnR1Qk07RUFDRSx3QzBCcytGb0c7QWhFZ3ZvQjVHO0FzQ2x0dUJNO0VBQ0ksd0MwQmkrRjBIO0FoRW92b0JwSTtBc0MzdHVCTTtFQUNFLGtDMEJ1K0Y4RjtBaEV1dm9CdEc7QXNDMXR1Qk07RUFDSSxrQzBCaytGb0g7QWhFMnZvQjlIO0FzQ251dUJNO0VBQ0UsNEIwQncrRndGO0FoRTh2b0JoRztBc0NsdXVCTTtFQUNJLDRCMEJtK0Y4RztBaEVrd29CeEg7QWdFaHdvQkEscUJBQUE7QTFCMytGTTtFQUNFLGNoQmdFUTtBdEIrcXVCaEI7QXNDM3V1Qk07RUFDSSxjaEI0RFc7QXRCa3J1QnJCO0FzQ3B2dUJNO0VBQ0UseUJoQjJDWTtBdEI0c3VCcEI7QXNDbnZ1Qk07RUFDSSx5QmhCdUNlO0F0QitzdUJ6QjtBc0M1dnVCTTtFQUNFLGFoQjJDWTtBdEJvdHVCcEI7QXNDM3Z1Qk07RUFDSSxhaEJ1Q2U7QXRCdXR1QnpCO0FnRXB4b0JBLHdCQUFBO0ExQmgvRk07RUFDRSxjaEIyQ1k7QXRCNnR1QnBCO0FzQ3B3dUJNO0VBQ0ksY2hCdUNlO0F0Qmd1dUJ6QjtBc0M3d3VCTTtFQUNFLHlCMEJpL0Z1RjtBaEUreG9CL0Y7QXNDNXd1Qk07RUFDSSx5QjBCNCtGc0g7QWhFbXlvQmhJO0FzQ3J4dUJNO0VBQ0UscUJoQitIYztBdEJ5cHVCdEI7QXNDcHh1Qk07RUFDSSxxQmhCMkhpQjtBdEI0cHVCM0I7QWdFeHlvQkEscUJBQUE7QTFCci9GTTtFQUNFLHVCaEI4RGE7QXRCbXV1QnJCO0FzQzd4dUJNO0VBQ0ksdUJoQjBEZ0I7QXRCc3V1QjFCO0FzQ3R5dUJNO0VBQ0UscUMwQnMvRnVEO0FoRW16b0IvRDtBc0NyeXVCTTtFQUNJLDBDMEJpL0YrRjtBaEV1em9Cekc7QXNDOXl1Qk07RUFDRSxjaEJnRVE7QXRCaXZ1QmhCO0FzQzd5dUJNO0VBQ0ksY2hCNERXO0F0Qm92dUJyQjtBZ0U1em9CQSx1QkFBQTtBMUIxL0ZNO0VBQ0UseUJoQjZGZ0I7QXRCNnR1QnhCO0FzQ3R6dUJNO0VBQ0kseUJoQnlGbUI7QXRCZ3V1QjdCO0FzQy96dUJNO0VBQ0UsWWhCK0RrQjtBdEJtd3VCMUI7QXNDOXp1Qk07RUFDSSxZaEJ5RFc7QXRCd3d1QnJCO0FzQ3YwdUJNO0VBQ0UseUJoQjZGZ0I7QXRCNnV1QnhCO0FzQ3QwdUJNO0VBQ0kseUJoQnlGbUI7QXRCZ3Z1QjdCO0FzQy8wdUJNO0VBQ0UsWWhCK0RrQjtBdEJteHVCMUI7QXNDOTB1Qk07RUFDSSxZaEJ5RFc7QXRCd3h1QnJCO0FzQ3YxdUJNO0VBQ0UsWWhCK0RrQjtBdEIyeHVCMUI7QXNDdDF1Qk07RUFDSSxZaEJ5RFc7QXRCZ3l1QnJCO0FzQy8xdUJNO0VBQ0UsWWhCK0RrQjtBdEJteXVCMUI7QXNDOTF1Qk07RUFDSSxZaEJ5RFc7QXRCd3l1QnJCO0FnRXIyb0JBLDhCQUFBO0ExQmxnR007RUFDRSx5QmhCNkZnQjtBdEI4d3VCeEI7QXNDdjJ1Qk07RUFDSSx5QmhCeUZtQjtBdEJpeHVCN0I7QXNDaDN1Qk07RUFDRSxZaEIrRGtCO0F0Qm96dUIxQjtBc0MvMnVCTTtFQUNJLFloQnlEVztBdEJ5enVCckI7QWdFbDNvQkE7OztxREFBQTtBQUlBLDJCQUFBO0ExQjFnR007RUFDRSxtQmhCNkZnQjtBdEJteXVCeEI7QXNDNTN1Qk07RUFDSSxtQmhCeUZtQjtBdEJzeXVCN0I7QXNDcjR1Qk07RUFDRSxrQzBCMmdHK0U7QWhFNjNvQnZGO0FzQ3A0dUJNO0VBQ0ksa0MwQnNnR3FHO0FoRWk0b0IvRztBc0M3NHVCTTtFQUNFLHdDMEI0Z0dxRjtBaEVvNG9CN0Y7QXNDNTR1Qk07RUFDSSx3QzBCdWdHMkc7QWhFdzRvQnJIO0FzQ3I1dUJNO0VBQ0Usa0MwQjZnRzhGO0FoRTI0b0J0RztBc0NwNXVCTTtFQUNJLGtDMEJ3Z0dvSDtBaEUrNG9COUg7QXNDNzV1Qk07RUFDRSx3QzBCOGdHb0c7QWhFazVvQjVHO0FzQzU1dUJNO0VBQ0ksd0MwQnlnRzBIO0FoRXM1b0JwSTtBc0NyNnVCTTtFQUNFLDRCMEIrZ0d3RjtBaEV5NW9CaEc7QXNDcDZ1Qk07RUFDSSw0QjBCMGdHOEc7QWhFNjVvQnhIO0FzQzc2dUJNO0VBQ0UsY2hCa1lJO0F0QjhpdUJaO0FzQzU2dUJNO0VBQ0ksY2hCNERXO0F0Qm0zdUJyQjtBc0NyN3VCTTtFQUNFLHlCMEJpaEdtSDtBaEV1Nm9CM0g7QXNDcDd1Qk07RUFDSSx5QjBCNGdHNEk7QWhFMjZvQnRKO0FzQzc3dUJNO0VBQ0Usd0IwQmtoR2tIO0FoRTg2b0IxSDtBc0M1N3VCTTtFQUNJLHdCMEI2Z0cySTtBaEVrN29Ccko7QXNDcjh1Qk07RUFDRSxhaEJnRVE7QXRCdzR1QmhCO0FzQ3A4dUJNO0VBQ0ksYWhCNERXO0F0QjI0dUJyQjtBc0M3OHVCTTtFQUNFLGFoQmdFUTtBdEJnNXVCaEI7QXNDNTh1Qk07RUFDSSxhaEI0RFc7QXRCbTV1QnJCO0FzQ3I5dUJNO0VBQ0UsYWhCZ0VRO0F0Qnc1dUJoQjtBc0NwOXVCTTtFQUNJLGFoQjREVztBdEIyNXVCckI7QXNDNzl1Qk07RUFDRSxhaEJnRVE7QXRCZzZ1QmhCO0FzQzU5dUJNO0VBQ0ksYWhCNERXO0F0Qm02dUJyQjtBc0NyK3VCTTtFQUNFLGFoQmdFUTtBdEJ3NnVCaEI7QXNDcCt1Qk07RUFDSSxhaEI0RFc7QXRCMjZ1QnJCO0FzQzcrdUJNO0VBQ0UsYWhCZ0VRO0F0Qmc3dUJoQjtBc0M1K3VCTTtFQUNJLGFoQjREVztBdEJtN3VCckI7QXNDci91Qk07RUFDRSxhaEJnRVE7QXRCdzd1QmhCO0FzQ3AvdUJNO0VBQ0ksYWhCNERXO0F0QjI3dUJyQjtBc0M3L3VCTTtFQUNFLGVoQmdFUTtBdEJnOHVCaEI7QXNDNS91Qk07RUFDSSxlaEI0RFc7QXRCbTh1QnJCO0FnRXgrb0JBLHlCQUFBO0ExQjdoR007RUFDRSxjaEJnRVE7QXRCeTh1QmhCO0FzQ3JndkJNO0VBQ0ksY2hCNERXO0F0QjQ4dUJyQjtBZ0U5K29CQSx3Q0FBQTtBMUJoaUdNO0VBQ0UsY2hCZ0VRO0F0Qms5dUJoQjtBc0M5Z3ZCTTtFQUNJLGNoQjREVztBdEJxOXVCckI7QWdFcC9vQkEsMkJBQUE7QTFCbmlHTTtFQUNFLHlCaEI2RmdCO0F0Qjg3dUJ4QjtBc0N2aHZCTTtFQUNJLHlCaEJ5Rm1CO0F0Qmk4dUI3QjtBc0NoaXZCTTtFQUNFLGNoQmdFUTtBdEJtK3VCaEI7QXNDL2h2Qk07RUFDSSxjaEI0RFc7QXRCcyt1QnJCO0FnRWpncEJBLGlDQUFBO0ExQnZpR007RUFDRSw2QjBCMmlHOEY7QWhFaWdwQnRHO0FzQ3hpdkJNO0VBQ0ksNkIwQnNpR3lHO0FoRXFncEJuSDtBc0NqanZCTTtFQUNFLHlCaEJ3S21CO0F0QjQ0dUIzQjtBc0NoanZCTTtFQUNJLHlCaEJvS3NCO0F0Qis0dUJoQztBc0N6anZCTTtFQUNFLHlCaEJ3S21CO0F0Qm81dUIzQjtBc0N4anZCTTtFQUNJLHlCaEJvS3NCO0F0QnU1dUJoQztBc0Nqa3ZCTTtFQUNFLHlCaEJ3S21CO0F0QjQ1dUIzQjtBc0Noa3ZCTTtFQUNJLHlCaEJvS3NCO0F0Qis1dUJoQztBc0N6a3ZCTTtFQUNFLHlCaEJtV2lCO0F0Qnl1dUJ6QjtBc0N4a3ZCTTtFQUNJLHlCaEIrVm9CO0F0QjR1dUI5QjtBc0NqbHZCTTtFQUNFLHlCMEJxakd1RjtBaEUraHBCL0Y7QXNDaGx2Qk07RUFDSSx1QjBCZ2pHMkg7QWhFbWlwQnJJO0FnRWppcEJBOzs7Ozs7c0RBQUE7QTFCeGpHTTtFQUNFLHlCaEJ3S21CO0F0QjI3dUIzQjtBc0MvbHZCTTtFQUNJLHlCaEJvS3NCO0F0Qjg3dUJoQztBc0N4bXZCTTtFQUNFLDRCaEJDRztBdEIwbXZCWDtBc0N2bXZCTTtFQUNJLDRCaEJxSW1CO0F0QnErdUI3QjtBc0NobnZCTTtFQUNFLFdoQitLOEI7QXRCbzh1QnRDO0FzQy9tdkJNO0VBQ0ksY2hCNEtpQztBdEJzOHVCM0M7QXNDeG52Qk07RUFDRSx5QmhCd0ttQjtBdEJtOXVCM0I7QXNDdm52Qk07RUFDSSx5QmhCb0tzQjtBdEJzOXVCaEM7QXNDaG92Qk07RUFDRSx5QmhCQ0c7QXRCa292Qlg7QXNDL252Qk07RUFDSSx5QmhCcUltQjtBdEI2L3VCN0I7QXNDeG92Qk07RUFDRSxjaEI4S3VCO0F0QjY5dUIvQjtBc0N2b3ZCTTtFQUNJLGNoQjJLMEI7QXRCKzl1QnBDO0FzQ2hwdkJNO0VBQ0UsV2hCK0s4QjtBdEJvK3VCdEM7QXNDL292Qk07RUFDSSxjaEI0S2lDO0F0QnMrdUIzQztBc0N4cHZCTTtFQUNFLHNCaEIrSzhCO0F0QjQrdUJ0QztBc0N2cHZCTTtFQUNJLHlCaEI0S2lDO0F0QjgrdUIzQztBc0NocXZCTTtFQUNFLHlCaEJ3S21CO0F0QjIvdUIzQjtBc0MvcHZCTTtFQUNJLHlCaEJvS3NCO0F0QjgvdUJoQztBc0N4cXZCTTtFQUNFLFdoQitLOEI7QXRCNC91QnRDO0FzQ3ZxdkJNO0VBQ0ksY2hCNEtpQztBdEI4L3VCM0M7QXNDaHJ2Qk07RUFDRSxjaEI4S3VCO0F0QnFndkIvQjtBc0MvcXZCTTtFQUNJLGNoQjJLMEI7QXRCdWd2QnBDO0FzQ3hydkJNO0VBQ0UsY2hCOEt1QjtBdEI2Z3ZCL0I7QXNDdnJ2Qk07RUFDSSxjaEIySzBCO0F0QitndkJwQztBc0Noc3ZCTTtFQUNFLHlCaEJ1TGtDO0F0QjRndkIxQztBc0MvcnZCTTtFQUNJLHlCaEJtTHFDO0F0QitndkIvQztBc0N4c3ZCTTtFQUNFLFdoQitLOEI7QXRCNGh2QnRDO0FzQ3ZzdkJNO0VBQ0ksY2hCNEtpQztBdEI4aHZCM0M7QXNDaHR2Qk07RUFDRSx5QmhCdUxrQztBdEI0aHZCMUM7QXNDL3N2Qk07RUFDSSx5QmhCbUxxQztBdEIraHZCL0M7QWdFdm9wQkEsc0JBQUE7QTFCamxHTTtFQUNFLDBCMEJtbEdzRTtBaEV5b3BCOUU7QXNDeHR2Qk07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Q0UsWUFBQTtBMUV3bXlCSjtBMEV0bXlCRTtFQUNFLFlBQUE7QTFFd215Qko7QTBFdG15QkU7RUFDRSxZQUFBO0ExRXdteUJKO0EwRXRteUJFO0VBQ0UsWUFBQTtBMUV3bXlCSjtBMEV0bXlCRTtFQUNFLFlBQUE7QTFFd215Qko7QTBFdG15QkU7RUFDRSxZQUFBO0ExRXdteUJKO0EwRXRteUJFO0VBQ0UsWUFBQTtBMUV3bXlCSjtBMEV0bXlCRTtFQUNFLFlBQUE7QTFFd215Qko7QTBFdG15QkU7RUFDRSxZQUFBO0ExRXdteUJKO0EwRXRteUJFO0VBQ0UsWUFBQTtBMUV3bXlCSjtBMEV0bXlCRTtFQUNFLFlBQUE7QTFFd215Qko7QTBFdG15QkU7RUFDRSxZQUFBO0ExRXdteUJKO0EwRXRteUJFO0VBQ0UsWUFBQTtBMUV3bXlCSjtBMEV0bXlCRTtFQUNFLFlBQUE7QTFFd215Qko7QTBFdG15QkU7RUFDRSxZQUFBO0ExRXdteUJKO0EwRXRteUJFO0VBQ0UsWUFBQTtBMUV3bXlCSjtBMEV0bXlCRTtFQUNFLFlBQUE7QTFFd215Qko7QTBFdG15QkU7RUFDRSxZQUFBO0ExRXdteUJKO0EwRXRteUJFO0VBQ0UsWUFBQTtBMUV3bXlCSjtBMEV0bXlCRTtFQUNFLFlBQUE7QTFFd215Qko7QTBFdG15QkU7RUFDRSxZQUFBO0ExRXdteUJKO0EwRXRteUJFO0VBQ0UsWUFBQTtBMUV3bXlCSjtBMEV0bXlCRTtFQUNFLFlBQUE7QTFFd215Qko7QTBFdG15QkU7RUFDRSxZQUFBO0ExRXdteUJKO0EwRXRteUJFO0VBQ0UsWUFBQTtBMUV3bXlCSjtBMEV0bXlCRTtFQUNFLFlBQUE7QTFFd215Qko7QTBFdG15QkU7RUFDRSxZQUFBO0ExRXdteUJKO0EwRXRteUJFO0VBQ0UsWUFBQTtBMUV3bXlCSjtBMEV0bXlCRTtFQUNFLFlBQUE7QTFFd215Qko7QTBFdG15QkU7RUFDRSxZQUFBO0ExRXdteUJKO0EwRXRteUJFO0VBQ0UsWUFBQTtBMUV3bXlCSjtBMEV0bXlCRTtFQUNFLFlBQUE7QTFFd215Qko7QTBFdG15QkU7RUFDRSxZQUFBO0ExRXdteUJKO0EwRXRteUJFO0VBQ0UsWUFBQTtBMUV3bXlCSjtBMEV0bXlCRTtFQUNFLFlBQUE7QTFFd215Qko7QTBFdG15QkU7RUFDRSxZQUFBO0ExRXdteUJKO0EwRXRteUJFO0VBQ0UsWUFBQTtBMUV3bXlCSjtBMEV0bXlCRTtFQUNFLFlBQUE7QTFFd215Qko7QTBFdG15QkU7RUFDRSxZQUFBO0ExRXdteUJKO0EwRXRteUJFO0VBQ0UsWUFBQTtBMUV3bXlCSjtBMEV0bXlCRTtFQUNFLFlBQUE7QTFFd215Qko7QTBFdG15QkU7RUFDRSxZQUFBO0ExRXdteUJKO0EwRXRteUJFO0VBQ0UsWUFBQTtBMUV3bXlCSjtBMEV0bXlCRTtFQUNFLFlBQUE7QTFFd215Qko7QTBFdG15QkU7RUFDRSxZQUFBO0ExRXdteUJKO0EwRXRteUJFO0VBQ0UsWUFBQTtBMUV3bXlCSjtBMEV0bXlCRTtFQUNFLFlBQUE7QTFFd215Qko7QTBFdG15QkU7RUFDRSxZQUFBO0ExRXdteUJKO0EwRXRteUJFO0VBQ0UsWUFBQTtBMUV3bXlCSjtBMEV0bXlCRTtFQUNFLFlBQUE7QTFFd215Qko7QTBFdG15QkU7RUFDRSxZQUFBO0ExRXdteUJKO0EwRXRteUJFO0VBQ0UsWUFBQTtBMUV3bXlCSjtBMEV0bXlCRTtFQUNFLFlBQUE7QTFFd215Qko7QTBFdG15QkU7RUFDRSxZQUFBO0ExRXdteUJKO0EwRXRteUJFO0VBQ0UsWUFBQTtBMUV3bXlCSjtBMEV0bXlCRTtFQUNFLFlBQUE7QTFFd215Qko7QTBFdG15QkU7RUFDRSxZQUFBO0ExRXdteUJKO0EwRXRteUJFO0VBQ0UsWUFBQTtBMUV3bXlCSjtBMEV0bXlCRTtFQUNFLFlBQUE7QTFFd215Qko7QTBFdG15QkU7RUFDRSxZQUFBO0ExRXdteUJKO0EwRXRteUJFO0VBQ0UsWUFBQTtBMUV3bXlCSjtBMEV0bXlCRTtFQUNFLFlBQUE7QTFFd215Qko7QTBFdG15QkU7RUFDRSxZQUFBO0ExRXdteUJKO0EwRXRteUJFO0VBQ0UsWUFBQTtBMUV3bXlCSjtBMEV0bXlCRTtFQUNFLFlBQUE7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QXc4eUJGO0FBdDh5QkE7RUFDRSx5QkFBQTtBQXk4eUJGIiwiZmlsZSI6Il9jb3JlLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwiZm9udHMtbG9jYWxcIjtcbkBpbXBvcnQgXCJ0aGVtZVwiO1xuQGltcG9ydCBcImJ1bG1hXCI7XG5AaW1wb3J0IFwiY2hhcnRpc3RcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJsYXlvdXRcIjtcbkBpbXBvcnQgXCJhbmd1bGFyLWNhbGVuZGFyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9pbnB1dFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYnV0dG9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9oZWFkZXItaWNvbi1idXR0b25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3Rvb2x0aXBcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL25vdGlmaWNhdGlvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc2lkZWJhclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbWVudVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY3VzdG9tLWZvcm1cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2V2ZW50LWFkbWluXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zbmFja2JhclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZmFiXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wYWdpbmF0b3JcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3Nob3ctYWxsLXN1Ym1pc3Npb25zXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jYXJkXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9kYXRldGltZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZm9ybS1maWVsZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcGFwZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2xlZ2VuZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbm90aWNlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9ob21lXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9tYXJrZG93blwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaGVhZGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zdHJ1Y3R1cmVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2VtcHR5LXBhZ2UtcGFuZWxcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL25hdGl2ZS1pbnB1dFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbmF0aXZlLWJ1dHRvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdGFibGVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3RvcGljLWNoaXBcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3RocmVzaG9sZC1iYW5kLXBvcG92ZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3Njb3JlLWdyaWRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2RpYWxvZ1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc2VnbWVudGVkXCI7XG5AaW1wb3J0IFwiY29sb3Itc2NoZW1lXCI7XG5AaW1wb3J0IFwiYTExeVwiO1xuQGltcG9ydCBcInZpZXctbW9kZVwiO1xuXG4vLyBHbG9iYWwgcmVkdWNlZC1tb3Rpb24gb3ZlcnJpZGUg4oCUIGFwcGxpZWQgb25jZSwgbmV2ZXIgcGVyLWNvbXBvbmVudC5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0byAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIChUZW50YXRpdmEgZGUgXCJzZW0gYW5pbWHDp8O1ZXMgbm8gbWFjT1NcIiBSRU1PVklEQTogbWF0YXZhIENTUyBhbmltYXRpb25zXG4vLyBsZWfDrXRpbWFzIOKAlCBtYXQtcHJvZ3Jlc3MtYmFyIHJvbGFuZG8sIG1hdC1zcGlubmVyIGdpcmFuZG8sIHRyYW5zacOnw7VlcyBkZVxuLy8gZXN0YWRvLiBFIGFpbmRhIHBvciBjaW1hIE7Dg08gYXRpbmdpYSBvIGFsdm8gcmVhbCwgcXVlIHPDo28gYXMgYW5pbWHDp8O1ZXNcbi8vIHByb2dyYW3DoXRpY2FzIGRvIEBhbmd1bGFyL2FuaW1hdGlvbnMsIGV4ZWN1dGFkYXMgZm9yYSBkbyBDU1MuIFZlciBtZW3Ds3JpYVxuLy8gcHJvamVjdF9tYWNvc19ub19hbmltYXRpb25fcGVuZGluZzogbyBjYW1pbmhvIGNvcnJldG8gw6kgTm9vcEFuaW1hdGlvbnMvXG4vLyBbQC5kaXNhYmxlZF0sIG7Do28gQ1NTLilcblxuLy8gUmVzZXQgZGUgZm9udGUgZG9zIGNvbnRyb2xlcyBkZSBmb3JtdWzDoXJpbyAobm9ybWFsaXplLmNzcyDCpzEwLjEpLlxuLy8gYDxidXR0b24+YC9gPGlucHV0PmAvZXRjLiBOw4NPIGhlcmRhbSBgZm9udC1mYW1pbHlgIHBvciBwYWRyw6NvIOKAlCBvIFVBXG4vLyBzdHlsZXNoZWV0IGUgbyBCdWxtYSAoYCRmYW1pbHktc2Fucy1zZXJpZmAsIHVtYSBzdGFjayBkZSBzaXN0ZW1hLCBuw6NvIEdlaXN0KVxuLy8gaW1ww7VlbSB1bWEgZm9udGUgcHLDs3ByaWEuIFNlbSBlc3RlIHJlc2V0LCB0b2RvIGJvdMOjbyBjdXN0b20gZG8gY2hhaXIgVUlcbi8vIHByZWNpc2EgZGUgdW0gYGZvbnQtZmFtaWx5OiBpbmhlcml0YCBpbmRpdmlkdWFsIChoYXZpYSB+NyBkZXNzZXMgZXNwYWxoYWRvcykuXG4vLyBBcGxpY2FkbyBVTUEgdmV6IGFxdWkgcHJhIHF1ZSB0b2RvIGNvbnRyb2xlIGhlcmRlIEdlaXN0IGRvIGJvZHkuIEltcG9ydGFkb1xuLy8gZGVwb2lzIGRvIEJ1bG1hIChsaW5oYSAzKSwgZW50w6NvIHZlbmNlIGEgcmVncmEgZGVsZS5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuXG4vLyBQaW4gR0xPQkFMIGRlIEdlaXN0IG5hIHJhaXogZG8gY2FudmFzIChgLm1haW5gIOKAlCB3cmFwcGVyIGRlIFRPREEgcMOhZ2luYVxuLy8gY2hhaXI6IGV2ZW50LXZpZXcsIHRvcGljcywgcmV2aWV3cy1jb25maWd1cmF0aW9uLCBldGMuKS4gTmVjZXNzw6FyaW8gcG9ycXVlXG4vLyBhbGd1bSBhbmNlc3RyYWwgbmEgw6FyZWEgYWRtaW4gZGVjbGFyYSB1bWEgZm9udC1mYW1pbHkgcG9sdcOtZGEgKHN0YWNrXG4vLyBgLWFwcGxlLXN5c3RlbSwgc3lzdGVtLXVpLCDigKZgIHF1ZSBOw4NPIHZlbSBkZSBuZW5odW0gQ1NTIG5vc3NvIG5lbSBkYXMgbGlicyDigJRcbi8vIHByb3bDoXZlbCBpbmxpbmUvcnVudGltZSBkZSBjb21wb25lbnRlIE1hdGVyaWFsIGVzdHJ1dHVyYWw7IHZlciBtZW3Ds3JpYVxuLy8gcHJvamVjdF9hZG1pbl9mb250X3BvbGx1dGVkX2FuY2VzdG9yKS4gTyBgYm9keSB7IGZvbnQtZmFtaWx5IH1gIChHZWlzdCkgZmljYVxuLy8gYWJhaXhvIGRlbGEgbmEgY2FzY2F0YSBwb3IgaGVyYW7Dp2EsIGVudMOjbyBoMS9ib3TDtWVzL2V0Yy4gc2HDrWFtIGZvcmEgZG8gR2Vpc3QuXG4vLyBSZS1hZmlybWFyIEdlaXN0IGVtIGAubWFpbmAgdmVuY2UgbyBhbmNlc3RyYWwgcGFyYSB0b2RvIG8gY29udGXDumRvIGRlIHDDoWdpbmFcbi8vIGRlIHVtYSB2ZXouIMONY29uZXMgKE1hdGVyaWFsIFN5bWJvbHMvamVtczNyL2plbXMzcykgZSBtb25vc3BhY2UgKEluY29uc29sYXRhKVxuLy8gbsOjbyBzw6NvIGFmZXRhZG9zOiBkZWNsYXJhbSBgZm9udC1mYW1pbHlgIG5vIHByw7NwcmlvIGVsZW1lbnRvIChlc3BlY2lmaWNpZGFkZVxuLy8gbWFpb3IpLiBGaXggZGUgcmFpeiBkZWZpbml0aXZvID0gYWNoYXIgZSBjb3JyaWdpciBvIGFuY2VzdHJhbCBwb2x1w61kby5cbi5tYWluIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbn1cbkBpbXBvcnQgXCJjb21wb25lbnRzL21hdC1jaGVja2JveFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY2hlY2tib3hcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3JhZGlvXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9tYXQtc2xpZGUtdG9nZ2xlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9tYXQtcmFkaW9cIjtcbkBpbXBvcnQgXCJpY29ucy9qZW1zM3JcIjtcbkBpbXBvcnQgXCJpY29ucy9qZW1zM3NcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5LW1kM1wiO1xuQGltcG9ydCBcImNoYXJ0LXZhcnNcIjtcbkBpbXBvcnQgXCJpbnN0YWxsZWQtYXBwXCI7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ0hST01FIE9GRlNFVCDigJQgc2luZ2xlIHNvdXJjZSBvZiB0cnV0aCBwYXJhIGEgYWx0dXJhIGFncmVnYWRhIGRvXG4vLyBjaHJvbWUgQUNJTUEgZG8gY2FudmFzLiBDYWRhIGVsZW1lbnRvIGRlIGNocm9tZSBmaXhlZC1wb3NpdGlvbmVkXG4vLyAocHJveHktYmFyLCBuYXZiYXIsIGJyZWFkY3J1bWIsIHNpZGViYXIsIG1haW4taGVhZGVyIGRhcyBww6FnaW5hcylcbi8vIGNvbnNvbWUgYHZhcigtLWNocm9tZS10b3Atb2Zmc2V0KWAgbm8gc2V1IGB0b3BgIGVtIHZleiBkZSBzb21hclxuLy8gY29uc3RhbnRlcyBsaXRlcmFpcy4gQWRpY2lvbmFyL3JlbW92ZXIgY2FtYWRhcyBkZSBjaHJvbWUgKHByb3h5LWJhcixcbi8vIGluc3RhbGwtYmFubmVyIGZ1dHVybywgZXRjLikgdmlyYSBVTSBsdWdhciBlbSB2ZXogZGUgTiByZWdyYXNcbi8vIGAmLnByb3h5LWFjdGl2ZWAvYCYuaW5zdGFsbGVkLWFwcGAvZXRjLiBlc3BhbGhhZGFzIHBlbG9zIGNvbXBvbmVudGVzLlxuLy9cbi8vIFBhZHLDo28gZGUgY29uc3Vtbzpcbi8vICAgLm5hdmJhciAgICAgICAgICAgeyB0b3A6IHZhcigtLWNocm9tZS10b3Atb2Zmc2V0KTsgfSAgICAgICAvLyBiYXNlbGluZSAwXG4vLyAgIC5tYWluLWhlYWRlciAgICAgIHsgdG9wOiBjYWxjKDxiYXNlbGluZT4gKyB2YXIoLS1jaHJvbWUtdG9wLW9mZnNldCkpOyB9XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbjpyb290IHtcbiAgLS1jaHJvbWUtdG9wLW9mZnNldDogMHB4O1xufVxuYm9keS5wcm94eS1hY3RpdmUge1xuICAtLWNocm9tZS10b3Atb2Zmc2V0OiAjeyRwcm94eS1iYXItaGVpZ2h0fTtcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTZWxmLWhvc3RlZCB3ZWIgZm9udHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gR2Vpc3QgKFVJIGJvZHkgdHlwZSkgaXMgbG9hZGVkIGhlcmUgZnJvbSBsb2NhbCBXT0ZGMiB0byByZW1vdmUgYSBydW50aW1lXG4vLyBkZXBlbmRlbmN5IG9uIEdvb2dsZSBGb250cyBDRE46XG4vL1xuLy8gICAtIFJlc3RyaWN0aXZlIG5ldHdvcmtzIChjb3Jwb3JhdGUgcHJveGllcywgcmVnaW9ucyBibG9ja2luZyBHb29nbGUpXG4vLyAgICAgY291bGQgZmFpbCB0aGUgQ0ROIHJlcXVlc3Qg4oaSIGJvZHkgdGV4dCBmYWxscyBiYWNrIHRvIGEgc3lzdGVtIGZvbnQsXG4vLyAgICAgbGF5b3V0cyBzaGlmdC4gVGhpcyB3YXMgdGhlIHNhbWUgY2xhc3Mgb2YgaXNzdWUgdGhlIHByb2plY3QgaGl0XG4vLyAgICAgcHJldmlvdXNseSB3aXRoIEZvbnRBd2Vzb21lLlxuLy9cbi8vICAgLSBPbmUtb2ZmIEdvb2dsZSBGb250cyBvdXRhZ2VzLCBUTFMgaGljY3Vwcywgb3IgRE5TIGZhaWx1cmVzIHN0b3Bcbi8vICAgICBiZWluZyBhYmxlIHRvIGFmZmVjdCB0aGUgYXBwLlxuLy9cbi8vIFRoZSBXT0ZGMiBmaWxlcyBsaXZlIHVuZGVyIGBzcmMvYXNzZXRzL2ZvbnRzL2AuIFRoZSBidWlsZCBwaXBlbGluZVxuLy8gYnVuZGxlcyB0aGVtIHZpYSB0aGUgYXNzZXQgVVJMIHJld3JpdGluZyB0aGF0IEFuZ3VsYXIgQ0xJIGFwcGxpZXMgdG9cbi8vIGB1cmwoLi4uKWAgaW4gU0NTUyDigJQgcGF0aHMgaGVyZSBhcmUgcmVzb2x2ZWQgYWdhaW5zdCB0aGUgaW1wb3J0aW5nXG4vLyBmaWxlJ3MgbG9jYXRpb24sIGhlbmNlIHRoZSBgLi4vYXNzZXRzL2ZvbnRzLy4uLmAgcmVsYXRpdmUgcGF0aC5cbi8vXG4vLyBHZWlzdCBzaGlwcyBhcyA1IHN1YnNldHMgKGxhdGluLCBsYXRpbi1leHQsIHZpZXRuYW1lc2UsIGN5cmlsbGljLFxuLy8gY3lyaWxsaWMtZXh0KSDigJQgc2FtZSBzcGxpdCBHb29nbGUgRm9udHMgdXNlcy4gYHVuaWNvZGUtcmFuZ2VgIGxldHMgdGhlXG4vLyBicm93c2VyIG9ubHkgbG9hZCB0aGUgc3Vic2V0IHRoYXQgY29udGFpbnMgdGhlIGNoYXJhY3RlcnMgYWN0dWFsbHlcbi8vIHJlbmRlcmVkLCBzbyB0aGUgbGF0aW4tb25seSBwYXRocyBvbmx5IHBheSB+MzAgS0IgZm9yIGJvZHkgdHlwZS5cbi8vXG4vLyBNYXRlcmlhbCBTeW1ib2xzIE91dGxpbmVkIGlzIHNlbGYtaG9zdGVkIGFzIGFuIElOU1RBTkNFRCB2YXJpYWJsZSBmb250XG4vLyAofjc3MCBLQikgY2FycnlpbmcgdGhlIEZVTEwgaWNvbiBzZXQgKHRvZG9zIG9zIH40MjAwIGxpZ2F0dXJlcywgaW5jbC5cbi8vIG5vbWVzIGNvbSBkw61naXRvIGNvbW8gYGludmVudG9yeV8yYCk6XG4vLyAgIC0gTsODTyDDqSBtYWlzIHN1YnNldGFkbyBwb3Igw61jb25lIOKAlCBtYW50ZXIgbyBjb25qdW50byBjb21wbGV0byBldml0YSBvXG4vLyAgICAgcHJvYmxlbWEgZGUgXCLDrWNvbmUgaW5kaXNwb27DrXZlbFwiIChleC46IGBpbnZlbnRvcnlfMmAgZmFsdGF2YSBubyBidWlsZFxuLy8gICAgIGFudGlnbywgcXVlIHPDsyB0aW5oYSBsZXRyYXMvYF9gIGUgbmVuaHVtIGTDrWdpdG8pIGUgZGlzcGVuc2EgcmVnZW5lcmFyXG4vLyAgICAgYSBmb250ZSBhIGNhZGEgw61jb25lIG5vdm8uXG4vLyAgIC0gSW5zdGFuY2lhZG8gdmlhIGBmb250VG9vbHMudmFyTGliLmluc3RhbmNlcmAgcGFyYSBmaXhhciBvcyBlaXhvcyBxdWUgb1xuLy8gICAgIGPDs2RpZ28gbsOjbyB2YXJpYTogYEdSQUQ9MGAgZSBgb3Bzej0yMGAgKHJlbW92aWRvcyBkYSB0YWJlbGEgZGUgZWl4b3MpXG4vLyAgICAgZSBgd2dodGAgcmVzdHJpdG8gYSAzMDAuLjQwMC4gRklMTCAwLi4xIGNvbnRpbnVhIHZhcmnDoXZlbCAoYW5pbWHDp8OjbyBkYVxuLy8gICAgIGVzdHJlbGEgZGUgZmF2b3JpdG9zKS5cbi8vIE5ldCBlZmZlY3Q6IGEgdmFyaWFibGUgZm9udCBkZSB+MTAgTUIgZW5jb2xoZSBwLyB+NzcwIEtCIHByZXNlcnZhbmRvIGFcbi8vIGFuaW1hw6fDo28gZGUgRklMTCwgc2VtIGRlcGVuZMOqbmNpYSBkbyBDRE4gZG8gR29vZ2xlIEZvbnRzLlxuLy9cbi8vIFJFR0VORVJBw4fDg08gKHF1YW5kbyBwcmVjaXNhciBhdHVhbGl6YXIgYSBmb250ZSk6IGJhaXhhciBhIHZhcmlhYmxlIGZvbnRcbi8vIGNvbXBsZXRhIGRvIHJlcG8gZ29vZ2xlL21hdGVyaWFsLWRlc2lnbi1pY29uc1xuLy8gKHZhcmlhYmxlZm9udC9NYXRlcmlhbFN5bWJvbHNPdXRsaW5lZFtGSUxMLEdSQUQsb3Bzeix3Z2h0XS50dGYpLFxuLy8gYGluc3RhbnRpYXRlVmFyaWFibGVGb250KGYsIHsnb3Bzeic6MjAsJ0dSQUQnOjAsJ3dnaHQnOigzMDAsNDAwKX0pYCxcbi8vIHNhbHZhciBjb21vIHdvZmYyIChwcmVjaXNhIGRvIG3Ds2R1bG8gYGJyb3RsaWApLiBWZXIgZG9jcy9HVUlBX0pFTVMzLm1kIMKnMy5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogTWF0ZXJpYWwgU3ltYm9scyBPdXRsaW5lZCDigJQgaW5zdGFuY2VkIHZhcmlhYmxlIGZvbnQsIGNvbmp1bnRvIENPTVBMRVRPIGRlIMOtY29uZXMgKEZJTEwgMC4uMSwgd2dodCAzMDAuLjQwMCkuICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBTeW1ib2xzIE91dGxpbmVkJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwIDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybCgnLi4vYXNzZXRzL2ZvbnRzL21hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG4ubWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCxcbi8vIExlZ2FjeSBhbGlhczogQW5ndWxhciBNYXRlcmlhbCAxMSBoYXJkLWNvZGVzIGBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCJgXG4vLyBvbiBldmVyeSBgPG1hdC1pY29uPmAgd2l0aG91dCBhIGBmb250U2V0YC4gVGhlIGNvZGViYXNlIGhhcyBhIGhhbmRmdWxcbi8vIG9mIHRob3NlIChlLmcuIGBtb3JlX3ZlcnRgLCBgZmlsdGVyX2FsdGApIHRoYXQgaGlzdG9yaWNhbGx5IHBpY2tlZCB1cFxuLy8gdGhlIE1hdGVyaWFsIEljb25zIENETiBmb250LiBBbGlhc2luZyBgLm1hdGVyaWFsLWljb25zYCB0byBvdXJcbi8vIHNlbGYtaG9zdGVkIE1hdGVyaWFsIFN5bWJvbHMgT3V0bGluZWQgbGV0cyBhbGwgb2YgdGhlbSByZW5kZXIgZnJvbVxuLy8gdGhlIHNhbWUgbG9jYWwgZmlsZSDigJQgYW5kIHJlbW92ZXMgdGhlIGxhc3QgcnVudGltZSBkZXBlbmRlbmN5IG9uIHRoZVxuLy8gTWF0ZXJpYWwgSWNvbnMgQ0ROLiAoVmVyaWZpZWQ6IG9ubHkgYG1vcmVfdmVydGAgYW5kIGBmaWx0ZXJfYWx0YCBhcmVcbi8vIHVzZWQgdGhpcyB3YXksIGFuZCBib3RoIGxpZ2F0dXJlcyBleGlzdCBpbiBNYXRlcmlhbCBTeW1ib2xzLilcbi5tYXRlcmlhbC1pY29ucyB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgU3ltYm9scyBPdXRsaW5lZCc7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG4gIGRpcmVjdGlvbjogbHRyO1xuICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbn1cblxuLyogR2Vpc3Qg4oCUIFVJIGJvZHkgdHlwZSwgdmFyaWFibGUgd2VpZ2h0IDEwMC05MDAuIFNhbWUgNSBzdWJzZXRzIEdvb2dsZSBzaGlwcy4gKi9cbi8qIGN5cmlsbGljLWV4dCAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnR2Vpc3QnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAxMDAgOTAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKCcuLi9hc3NldHMvZm9udHMvZ2Vpc3QtY3lyaWxsaWMtZXh0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjtcbn1cbi8qIGN5cmlsbGljICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdHZWlzdCc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDEwMCA5MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoJy4uL2Fzc2V0cy9mb250cy9nZWlzdC1jeXJpbGxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7XG59XG4vKiB2aWV0bmFtZXNlICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdHZWlzdCc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDEwMCA5MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoJy4uL2Fzc2V0cy9mb250cy9nZWlzdC12aWV0bmFtZXNlLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjtcbn1cbi8qIGxhdGluLWV4dCAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnR2Vpc3QnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAxMDAgOTAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKCcuLi9hc3NldHMvZm9udHMvZ2Vpc3QtbGF0aW4tZXh0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjtcbn1cbi8qIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdHZWlzdCc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDEwMCA5MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoJy4uL2Fzc2V0cy9mb250cy9nZWlzdC1sYXRpbi53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7XG59XG5cbi8qIEluY29uc29sYXRhIOKAlCBtb25vc3BhY2UsIHVzZWQgaW4gY29kZSBibG9ja3MuIFNpbmdsZSB3ZWlnaHQgKDQwMCkuIDMgc3Vic2V0cyBtYXRjaGluZyBHb29nbGUncyBzcGxpdC4gKi9cbi8qIHZpZXRuYW1lc2UgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0luY29uc29sYXRhJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0cmV0Y2g6IDEwMCU7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoJy4uL2Fzc2V0cy9mb250cy9pbmNvbnNvbGF0YS12aWV0bmFtZXNlLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjtcbn1cbi8qIGxhdGluLWV4dCAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW5jb25zb2xhdGEnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3RyZXRjaDogMTAwJTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybCgnLi4vYXNzZXRzL2ZvbnRzL2luY29uc29sYXRhLWxhdGluLWV4dC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7XG59XG4vKiBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW5jb25zb2xhdGEnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3RyZXRjaDogMTAwJTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybCgnLi4vYXNzZXRzL2ZvbnRzL2luY29uc29sYXRhLWxhdGluLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDtcbn1cblxuLyogQ2Fpcm8g4oCUIHVzZWQgaW4gb25lIGNoYWlyLVVJIGNvbXBvbmVudCAoZXZlbnRzLmNvbXBvbmVudC5zY3NzKS4gU2luZ2xlIHdlaWdodCAoNDAwKS4gQXJhYmljICsgTGF0aW4gc3Vic2V0cy4gKi9cbi8qIGFyYWJpYyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQ2Fpcm8nO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoJy4uL2Fzc2V0cy9mb250cy9jYWlyby1hcmFiaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDYwMC0wNkZGLCBVKzA3NTAtMDc3RiwgVSswODcwLTA4OEUsIFUrMDg5MC0wODkxLCBVKzA4OTctMDhFMSwgVSswOEUzLTA4RkYsIFUrMjAwQy0yMDBFLCBVKzIwMTAtMjAxMSwgVSsyMDRGLCBVKzJFNDEsIFUrRkI1MC1GREZGLCBVK0ZFNzAtRkU3NCwgVStGRTc2LUZFRkMsIFUrMTAyRTAtMTAyRkIsIFUrMTBFNjAtMTBFN0UsIFUrMTBFQzItMTBFQzQsIFUrMTBFRkMtMTBFRkYsIFUrMUVFMDAtMUVFMDMsIFUrMUVFMDUtMUVFMUYsIFUrMUVFMjEtMUVFMjIsIFUrMUVFMjQsIFUrMUVFMjcsIFUrMUVFMjktMUVFMzIsIFUrMUVFMzQtMUVFMzcsIFUrMUVFMzksIFUrMUVFM0IsIFUrMUVFNDIsIFUrMUVFNDcsIFUrMUVFNDksIFUrMUVFNEIsIFUrMUVFNEQtMUVFNEYsIFUrMUVFNTEtMUVFNTIsIFUrMUVFNTQsIFUrMUVFNTcsIFUrMUVFNTksIFUrMUVFNUIsIFUrMUVFNUQsIFUrMUVFNUYsIFUrMUVFNjEtMUVFNjIsIFUrMUVFNjQsIFUrMUVFNjctMUVFNkEsIFUrMUVFNkMtMUVFNzIsIFUrMUVFNzQtMUVFNzcsIFUrMUVFNzktMUVFN0MsIFUrMUVFN0UsIFUrMUVFODAtMUVFODksIFUrMUVFOEItMUVFOUIsIFUrMUVFQTEtMUVFQTMsIFUrMUVFQTUtMUVFQTksIFUrMUVFQUItMUVFQkIsIFUrMUVFRjAtMUVFRjE7XG59XG4vKiBsYXRpbi1leHQgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0NhaXJvJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKCcuLi9hc3NldHMvZm9udHMvY2Fpcm8tbGF0aW4tZXh0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjtcbn1cbi8qIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdDYWlybyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybCgnLi4vYXNzZXRzL2ZvbnRzL2NhaXJvLWxhdGluLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDtcbn1cbiIsIi8vIEZpbGUgZm9yIHdoaWNoIGFsbCBpbXBvcnRzIGFyZSByZXNvbHZlZCBhbmQgYnVuZGxlZC4gVGhpcyBpcyB0aGUgZW50cnktcG9pbnQgZm9yXG4vLyB0aGUgYEBhbmd1bGFyL21hdGVyaWFsYCB0aGVtaW5nIFNhc3MgYnVuZGxlLiBTZWUgYC8vc3JjL21hdGVyaWFsOnRoZW1pbmdfYnVuZGxlYC5cblxuLy8gSW1wb3J0IGFsbCB0aGUgdGhlbWluZyBmdW5jdGlvbmFsaXR5LlxuLy8gV2Ugd2FudCBvdmVybGF5cyB0byBhbHdheXMgYXBwZWFyIG92ZXIgdXNlciBjb250ZW50LCBzbyBzZXQgYSBiYXNlbGluZVxuLy8gdmVyeSBoaWdoIHotaW5kZXggZm9yIHRoZSBvdmVybGF5IGNvbnRhaW5lciwgd2hpY2ggaXMgd2hlcmUgd2UgY3JlYXRlIHRoZSBuZXdcbi8vIHN0YWNraW5nIGNvbnRleHQgZm9yIGFsbCBvdmVybGF5cy5cbiRjZGstei1pbmRleC1vdmVybGF5LWNvbnRhaW5lcjogMTAwMCAhZGVmYXVsdDtcbiRjZGstei1pbmRleC1vdmVybGF5OiAxMDAwICFkZWZhdWx0O1xuJGNkay16LWluZGV4LW92ZXJsYXktYmFja2Ryb3A6IDEwMDAgIWRlZmF1bHQ7XG5cbi8vIEJhY2tncm91bmQgY29sb3IgZm9yIGFsbCBvZiB0aGUgYmFja2Ryb3BzXG4kY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcC1iYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMzIpICFkZWZhdWx0O1xuXG4vLyBEZWZhdWx0IGJhY2tkcm9wIGFuaW1hdGlvbiBpcyBiYXNlZCBvbiB0aGUgTWF0ZXJpYWwgRGVzaWduIHN3aWZ0LWVhc2Utb3V0LlxuJGJhY2tkcm9wLWFuaW1hdGlvbi1kdXJhdGlvbjogNDAwbXMgIWRlZmF1bHQ7XG4kYmFja2Ryb3AtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSkgIWRlZmF1bHQ7XG5cblxuQG1peGluIGNkay1vdmVybGF5KCkge1xuICAuY2RrLW92ZXJsYXktY29udGFpbmVyLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXIge1xuICAgIC8vIERpc2FibGUgZXZlbnRzIGZyb20gYmVpbmcgY2FwdHVyZWQgb24gdGhlIG92ZXJsYXkgY29udGFpbmVyLlxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgLy8gVGhlIGNvbnRhaW5lciBzaG91bGQgYmUgdGhlIHNpemUgb2YgdGhlIHZpZXdwb3J0LlxuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIFRoZSBvdmVybGF5LWNvbnRhaW5lciBpcyBhbiBpbnZpc2libGUgZWxlbWVudCB3aGljaCBjb250YWlucyBhbGwgaW5kaXZpZHVhbCBvdmVybGF5cy5cbiAgLmNkay1vdmVybGF5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5LWNvbnRhaW5lcjtcblxuICAgICY6ZW1wdHkge1xuICAgICAgLy8gSGlkZSB0aGUgZWxlbWVudCB3aGVuIGl0IGRvZXNuJ3QgaGF2ZSBhbnkgY2hpbGQgbm9kZXMuIFRoaXMgZG9lc24ndFxuICAgICAgLy8gaW5jbHVkZSBvdmVybGF5cyB0aGF0IGhhdmUgYmVlbiBkZXRhY2hlZCwgcmF0aGVyIHRoYW4gZGlzcG9zZWQuXG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIFdlIHVzZSBhbiBleHRyYSB3cmFwcGVyIGVsZW1lbnQgaW4gb3JkZXIgdG8gdXNlIG1ha2UgdGhlIG92ZXJsYXkgaXRzZWxmIGEgZmxleCBpdGVtLlxuICAvLyBUaGlzIG1ha2VzIGNlbnRlcmluZyB0aGUgb3ZlcmxheSBlYXN5IHdpdGhvdXQgcnVubmluZyBpbnRvIHRoZSBzdWJwaXhlbCByZW5kZXJpbmdcbiAgLy8gcHJvYmxlbXMgdGllZCB0byB1c2luZyBgdHJhbnNmb3JtYCBhbmQgd2l0aG91dCBpbnRlcmZlcmluZyB3aXRoIHRoZSBvdGhlciBwb3NpdGlvblxuICAvLyBzdHJhdGVnaWVzLlxuICAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5O1xuICB9XG5cbiAgLy8gQSBzaW5nbGUgb3ZlcmxheSBwYW5lLlxuICAuY2RrLW92ZXJsYXktcGFuZSB7XG4gICAgLy8gTm90ZTogaXQncyBpbXBvcnRhbnQgZm9yIHRoaXMgb25lIHRvIHN0YXJ0IG9mZiBgYWJzb2x1dGVgLFxuICAgIC8vIGluIG9yZGVyIGZvciB1cyB0byBiZSBhYmxlIHRvIG1lYXN1cmUgaXQgY29ycmVjdGx5LlxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5O1xuXG4gICAgLy8gRm9yIGNvbm5lY3RlZC1wb3NpdGlvbiBvdmVybGF5cywgd2Ugc2V0IGBkaXNwbGF5OiBmbGV4YCBpblxuICAgIC8vIG9yZGVyIHRvIGZvcmNlIGBtYXgtd2lkdGhgIGFuZCBgbWF4LWhlaWdodGAgdG8gdGFrZSBlZmZlY3QuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5jZGstb3ZlcmxheS1iYWNrZHJvcCB7XG4gICAgLy8gVE9ETyhqZWxib3Vybik6IHJldXNlIHNpZGVuYXYgZnVsbHNjcmVlbiBtaXhpbi5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuXG4gICAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXktYmFja2Ryb3A7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRiYWNrZHJvcC1hbmltYXRpb24tZHVyYXRpb24gJGJhY2tkcm9wLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb247XG4gICAgb3BhY2l0eTogMDtcblxuICAgICYuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XG4gICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAvLyBOb3RlIHRoYXQgd2UgY2FuJ3QgaW1wb3J0IGFuZCB1c2UgdGhlIGBoaWdoLWNvbnRyYXN0YCBtaXhpbiBmcm9tIGBfYTExeS5zY3NzYCwgYmVjYXVzZVxuICAgICAgLy8gdGhpcyBmaWxlIHdpbGwgYmUgY29waWVkIHRvIHRoZSB0b3AtbGV2ZWwgYGNka2AgcGFja2FnZSB3aGVuIHB1dHRpbmcgdG9nZXRoZXIgdGhlIGZpbGVzXG4gICAgICAvLyBmb3IgbnBtLiBBbnkgcmVsYXRpdmUgaW1wb3J0IHBhdGhzIHdlIHVzZSBoZXJlIHdpbGwgYmVjb21lIGludmFsaWQgb25jZSB0aGUgZmlsZSBpcyBjb3BpZWQuXG4gICAgICAuY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlICYge1xuICAgICAgICAvLyBJbiBoaWdoIGNvbnRyYXN0IG1vZGUgdGhlIHJnYmEgYmFja2dyb3VuZCB3aWxsIGJlY29tZSBzb2xpZFxuICAgICAgICAvLyBzbyB3ZSBuZWVkIHRvIGZhbGwgYmFjayB0byBtYWtpbmcgaXQgb3BhcXVlIHVzaW5nIGBvcGFjaXR5YC5cbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wIHtcbiAgICBiYWNrZ3JvdW5kOiAkY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcC1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wIHtcbiAgICAvLyBOb3RlOiBhcyBvZiBGaXJlZm94IDU3LCBoYXZpbmcgdGhlIGJhY2tkcm9wIGJlIGBiYWNrZ3JvdW5kOiBub25lYCB3aWxsIHByZXZlbnQgaXQgZnJvbVxuICAgIC8vIGNhcHR1cmluZyB0aGUgdXNlcidzIG1vdXNlIHNjcm9sbCBldmVudHMuIFNpbmNlIHdlIGFsc28gY2FuJ3QgdXNlIHNvbWV0aGluZyBsaWtlXG4gICAgLy8gYHJnYmEoMCwgMCwgMCwgMClgLCB3ZSB3b3JrIGFyb3VuZCB0aGUgaW5jb25zaXN0ZW5jeSBieSBub3Qgc2V0dGluZyB0aGUgYmFja2dyb3VuZCBhdFxuICAgIC8vIGFsbCBhbmQgdXNpbmcgYG9wYWNpdHlgIHRvIG1ha2UgdGhlIGVsZW1lbnQgdHJhbnNwYXJlbnQuXG4gICAgJiwgJi5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gT3ZlcmxheSBwYXJlbnQgZWxlbWVudCB1c2VkIHdpdGggdGhlIGNvbm5lY3RlZCBwb3NpdGlvbiBzdHJhdGVneS4gVXNlZCB0byBjb25zdHJhaW4gdGhlXG4gIC8vIG92ZXJsYXkgZWxlbWVudCdzIHNpemUgdG8gZml0IHdpdGhpbiB0aGUgdmlld3BvcnQuXG4gIC5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXk7XG5cbiAgICAvLyBXZSB1c2UgYGRpc3BsYXk6IGZsZXhgIG9uIHRoaXMgZWxlbWVudCBleGNsdXNpdmVseSBmb3IgY2VudGVyaW5nIGNvbm5lY3RlZCBvdmVybGF5cy5cbiAgICAvLyBXaGVuICpub3QqIGNlbnRlcmluZywgYSB0b3AvbGVmdC9ib3R0b20vcmlnaHQgd2lsbCBiZSBzZXQgd2hpY2ggb3ZlcnJpZGVzIHRoZSBub3JtYWxcbiAgICAvLyBmbGV4IGxheW91dC5cbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgLy8gV2UgdXNlIHRoZSBgY29sdW1uYCBkaXJlY3Rpb24gaGVyZSB0byBhdm9pZCBzb21lIGZsZXhib3ggaXNzdWVzIGluIEVkZ2VcbiAgICAvLyB3aGVuIHVzaW5nIHRoZSBcImdyb3cgYWZ0ZXIgb3BlblwiIG9wdGlvbnMuXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIC8vIEFkZCBzb21lIGRpbWVuc2lvbnMgc28gdGhlIGVsZW1lbnQgaGFzIGFuIGBpbm5lclRleHRgIHdoaWNoIHNvbWUgcGVvcGxlIGRlcGVuZCBvbiBpbiB0ZXN0cy5cbiAgICBtaW4td2lkdGg6IDFweDtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gIH1cblxuICAvLyBVc2VkIHdoZW4gZGlzYWJsaW5nIGdsb2JhbCBzY3JvbGxpbmcuXG4gIC5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG5cbiAgICAvLyBOZWNlc3NhcnkgZm9yIHRoZSBjb250ZW50IG5vdCB0byBsb3NlIGl0cyB3aWR0aC4gTm90ZSB0aGF0IHdlJ3JlIHVzaW5nIDEwMCUsIGluc3RlYWQgb2ZcbiAgICAvLyAxMDB2dywgYmVjYXVzZSAxMDB2dyBpbmNsdWRlcyB0aGUgd2lkdGggcGx1cyB0aGUgc2Nyb2xsYmFyLCB3aGVyZWFzIDEwMCUgaXMgdGhlIHdpZHRoXG4gICAgLy8gdGhhdCB0aGUgZWxlbWVudCBoYWQgYmVmb3JlIHdlIG1hZGUgaXQgYGZpeGVkYC5cbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC8vIE5vdGU6IHRoaXMgd2lsbCBhbHdheXMgYWRkIGEgc2Nyb2xsYmFyIHRvIHdoYXRldmVyIGVsZW1lbnQgaXQgaXMgb24sIHdoaWNoIGNhblxuICAgIC8vIHBvdGVudGlhbGx5IHJlc3VsdCBpbiBkb3VibGUgc2Nyb2xsYmFycy4gSXQgc2hvdWxkbid0IGJlIGFuIGlzc3VlLCBiZWNhdXNlIHdlIHdvbid0XG4gICAgLy8gYmxvY2sgc2Nyb2xsaW5nIG9uIGEgcGFnZSB0aGF0IGRvZXNuJ3QgaGF2ZSBhIHNjcm9sbGJhciBpbiB0aGUgZmlyc3QgcGxhY2UuXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICB9XG59XG5cbkBtaXhpbiBjZGstYTExeSB7XG4gIC5jZGstdmlzdWFsbHktaGlkZGVuIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuXG4gICAgLy8gVGhpcyB3b3JrcyBhcm91bmQgYSBDaHJvbWUgYnVnIHRoYXQgY2FuIGNhdXNlIHRoZSB0YWIgdG8gY3Jhc2ggd2hlbiBsYXJnZSBhbW91bnRzIG9mXG4gICAgLy8gbm9uLUVuZ2xpc2ggdGV4dCBnZXQgd3JhcHBlZDogaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9MTIwMTQ0NFxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAvLyBBdm9pZCBicm93c2VycyByZW5kZXJpbmcgdGhlIGZvY3VzIHJpbmcgaW4gc29tZSBjYXNlcy5cbiAgICBvdXRsaW5lOiAwO1xuXG4gICAgLy8gQXZvaWQgc29tZSBjYXNlcyB3aGVyZSB0aGUgYnJvd3NlciB3aWxsIHN0aWxsIHJlbmRlciB0aGUgbmF0aXZlIGNvbnRyb2xzIChzZWUgIzkwNDkpLlxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cbn1cblxuLy8vIEVtaXRzIHRoZSBtaXhpbidzIGNvbnRlbnQgbmVzdGVkIHVuZGVyIGAkc2VsZWN0b3ItY29udGV4dGAgaWYgYCRzZWxlY3Rvci1jb250ZXh0YFxuLy8vIGlzIG5vbi1lbXB0eS5cbi8vLyBAcGFyYW0gc2VsZWN0b3ItY29udGV4dCBUaGUgc2VsZWN0b3IgdW5kZXIgd2hpY2ggdG8gbmVzdCB0aGUgbWl4aW4ncyBjb250ZW50LlxuQG1peGluIF9jZGstb3B0aW9uYWxseS1uZXN0LWNvbnRlbnQoJHNlbGVjdG9yLWNvbnRleHQpIHtcbiAgQGlmICgkc2VsZWN0b3ItY29udGV4dCA9PSAnJykge1xuICAgIEBjb250ZW50O1xuICB9XG4gIEBlbHNlIHtcbiAgICAjeyRzZWxlY3Rvci1jb250ZXh0fSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciB1c2VycyBpbiBoaWdoIGNvbnRyYXN0IG1vZGUuIE5vdGUgdGhhdCB0aGlzIG9ubHkgYXBwbGllc1xuLy8vIHRvIE1pY3Jvc29mdCBicm93c2Vycy4gQ2hyb21lIGNhbiBiZSBpbmNsdWRlZCBieSBjaGVja2luZyBmb3IgdGhlIGBodG1sW2hjXWBcbi8vLyBhdHRyaWJ1dGUsIGhvd2V2ZXIgQ2hyb21lIGhhbmRsZXMgaGlnaCBjb250cmFzdCBkaWZmZXJlbnRseS5cbi8vL1xuLy8vIEBwYXJhbSB0YXJnZXQgV2hpY2gga2luZCBvZiBoaWdoIGNvbnRyYXN0IHNldHRpbmcgdG8gdGFyZ2V0LiBEZWZhdWx0cyB0byBgYWN0aXZlYCwgY2FuIGJlXG4vLy8gICAgYHdoaXRlLW9uLWJsYWNrYCBvciBgYmxhY2stb24td2hpdGVgLlxuLy8vIEBwYXJhbSBlbmNhcHN1bGF0aW9uIFdoZXRoZXIgdG8gZW1pdCBzdHlsZXMgZm9yIHZpZXcgZW5jYXBzdWxhdGlvbi4gVmFsdWVzIGFyZTpcbi8vLyAgICAgKiBgb25gIC0gd29ya3MgZm9yIGBFbXVsYXRlZGAsIGBOYXRpdmVgLCBhbmQgYFNoYWRvd0RvbWBcbi8vLyAgICAgKiBgb2ZmYCAtIHdvcmtzIGZvciBgTm9uZWBcbi8vLyAgICAgKiBgYW55YCAtIHdvcmtzIGZvciBhbGwgZW5jYXBzdWxhdGlvbiBtb2RlcyBieSBlbWl0dGluZyB0aGUgQ1NTIHR3aWNlIChkZWZhdWx0KS5cbkBtaXhpbiBjZGstaGlnaC1jb250cmFzdCgkdGFyZ2V0OiBhY3RpdmUsICRlbmNhcHN1bGF0aW9uOiAnYW55Jykge1xuICBAaWYgKCR0YXJnZXQgIT0gJ2FjdGl2ZScgYW5kICR0YXJnZXQgIT0gJ2JsYWNrLW9uLXdoaXRlJyBhbmQgJHRhcmdldCAhPSAnd2hpdGUtb24tYmxhY2snKSB7XG4gICAgQGVycm9yICdVbmtub3duIGNkay1oaWdoLWNvbnRyYXN0IHZhbHVlIFwiI3skdGFyZ2V0fVwiIHByb3ZpZGVkLiAnICtcbiAgICAgICAgICAgJ0FsbG93ZWQgdmFsdWVzIGFyZSBcImFjdGl2ZVwiLCBcImJsYWNrLW9uLXdoaXRlXCIsIGFuZCBcIndoaXRlLW9uLWJsYWNrXCInO1xuICB9XG5cbiAgQGlmICgkZW5jYXBzdWxhdGlvbiAhPSAnb24nIGFuZCAkZW5jYXBzdWxhdGlvbiAhPSAnb2ZmJyBhbmQgJGVuY2Fwc3VsYXRpb24gIT0gJ2FueScpIHtcbiAgICBAZXJyb3IgJ1Vua25vd24gY2RrLWhpZ2gtY29udHJhc3QgZW5jYXBzdWxhdGlvbiBcIiN7JGVuY2Fwc3VsYXRpb259XCIgcHJvdmlkZWQuICcgK1xuICAgICAgICAgICAnQWxsb3dlZCB2YWx1ZXMgYXJlIFwib25cIiwgXCJvZmZcIiwgYW5kIFwiYW55XCInO1xuICB9XG5cbiAgLy8gSWYgdGhlIHNlbGVjdG9yIGNvbnRleHQgaGFzIG11bHRpcGxlIHBhcnRzLCBzdWNoIGFzIGAuc2VjdGlvbiwgLnJlZ2lvbmAsIGp1c3QgZG9pbmdcbiAgLy8gYC5jZGstaGlnaC1jb250cmFzdC14eHggI3smfWAgd2lsbCBvbmx5IGFwcGx5IHRoZSBwYXJlbnQgc2VsZWN0b3IgdG8gdGhlIGZpcnN0IHBhcnQgb2YgdGhlXG4gIC8vIGNvbnRleHQuIFdlIGFkZHJlc3MgdGhpcyBieSBuZXN0aW5nIHRoZSBzZWxlY3RvciBjb250ZXh0IHVuZGVyIC5jZGstaGlnaC1jb250cmFzdC5cbiAgQGF0LXJvb3Qge1xuICAgICRzZWxlY3Rvci1jb250ZXh0OiAjeyZ9O1xuXG4gICAgQGlmICgkZW5jYXBzdWxhdGlvbiAhPSAnb24nKSB7XG4gICAgICAvLyBOb3RlIHRoYXQgaWYgdGhpcyBzZWxlY3RvciBpcyB1cGRhdGVkLCB0aGUgc2FtZSBjaGFuZ2UgaGFzIHRvIGJlIG1hZGUgaW5zaWRlXG4gICAgICAvLyBgX292ZXJsYXkuc2Nzc2Agd2hpY2ggY2FuJ3QgZGVwZW5kIG9uIHRoaXMgbWl4aW4gZHVlIHRvIHNvbWUgaW5mcmFzdHJ1Y3R1cmUgbGltaXRhdGlvbnMuXG4gICAgICAuY2RrLWhpZ2gtY29udHJhc3QtI3skdGFyZ2V0fSB7XG4gICAgICAgIEBpbmNsdWRlIF9jZGstb3B0aW9uYWxseS1uZXN0LWNvbnRlbnQoJHNlbGVjdG9yLWNvbnRleHQpIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoJGVuY2Fwc3VsYXRpb24gIT0gJ29mZicpIHtcbiAgICAgIC5jZGstaGlnaC1jb250cmFzdC0jeyR0YXJnZXR9IDpob3N0IHtcbiAgICAgICAgQGluY2x1ZGUgX2Nkay1vcHRpb25hbGx5LW5lc3QtY29udGVudCgkc2VsZWN0b3ItY29udGV4dCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvcmUgc3R5bGVzIHRoYXQgZW5hYmxlIG1vbml0b3JpbmcgYXV0b2ZpbGwgc3RhdGUgb2YgdGV4dCBmaWVsZHMuXG5AbWl4aW4gY2RrLXRleHQtZmllbGQge1xuICAvLyBLZXlmcmFtZXMgdGhhdCBhcHBseSBubyBzdHlsZXMsIGJ1dCBhbGxvdyB1cyB0byBtb25pdG9yIHdoZW4gYW4gdGV4dCBmaWVsZCBiZWNvbWVzIGF1dG9maWxsZWRcbiAgLy8gYnkgd2F0Y2hpbmcgZm9yIHRoZSBhbmltYXRpb24gZXZlbnRzIHRoYXQgYXJlIGZpcmVkIHdoZW4gdGhleSBzdGFydC4gTm90ZTogdGhlIC8qISovIGNvbW1lbnQgaXNcbiAgLy8gbmVlZGVkIHRvIHByZXZlbnQgTGliU2FzcyBmcm9tIHN0cmlwcGluZyB0aGUga2V5ZnJhbWVzIG91dC5cbiAgLy8gQmFzZWQgb246IGh0dHBzOi8vbWVkaXVtLmNvbS9AYnJ1bm4vZGV0ZWN0aW5nLWF1dG9maWxsZWQtZmllbGRzLWluLWphdmFzY3JpcHQtYWVkNTk4ZDI1ZGE3XG4gIEBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgey8qISovfVxuICBAa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCB7LyohKi99XG5cbiAgLmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZDotd2Via2l0LWF1dG9maWxsIHtcbiAgICAvLyBTaW5jZSBDaHJvbWUgODAgd2UgbmVlZCBhIDFtcyBkZWxheSwgb3IgdGhlIGFuaW1hdGlvbnN0YXJ0IGV2ZW50IHdvbid0IGZpcmUuXG4gICAgYW5pbWF0aW9uOiBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXM7XG4gIH1cblxuICAuY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCkge1xuICAgIC8vIFNpbmNlIENocm9tZSA4MCB3ZSBuZWVkIGEgMW1zIGRlbGF5LCBvciB0aGUgYW5pbWF0aW9uc3RhcnQgZXZlbnQgd29uJ3QgZmlyZS5cbiAgICBhbmltYXRpb246IGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXM7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIHJlc2l6ZSBoYW5kbGUgb24gYXV0b3NpemluZyB0ZXh0YXJlYXMsIGJlY2F1c2Ugd2hhdGV2ZXIgaGVpZ2h0XG4gIC8vIHRoZSB1c2VyIHJlc2l6ZWQgdG8gd2lsbCBiZSBvdmVyd3JpdHRlbiBvbmNlIHRoZXkgc3RhcnQgdHlwaW5nIGFnYWluLlxuICB0ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUge1xuICAgIHJlc2l6ZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRoaXMgY2xhc3MgaXMgdGVtcG9yYXJpbHkgYXBwbGllZCB0byB0aGUgdGV4dGFyZWEgd2hlbiBpdCBpcyBiZWluZyBtZWFzdXJlZC4gSXQgaXMgaW1tZWRpYXRlbHlcbiAgLy8gcmVtb3ZlZCB3aGVuIG1lYXN1cmluZyBpcyBjb21wbGV0ZS4gV2UgdXNlIGAhaW1wb3J0YW50YCBydWxlcyBoZXJlIHRvIG1ha2Ugc3VyZSB1c2VyLXNwZWNpZmllZFxuICAvLyBydWxlcyBkbyBub3QgaW50ZXJmZXJlIHdpdGggdGhlIG1lYXN1cmVtZW50LlxuICB0ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nIHtcbiAgICBAaW5jbHVkZSBfY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1iYXNlO1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIFNpbWlsYXIgdG8gdGhlIGBjZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nYCBjbGFzcywgYnV0IG9ubHkgYXBwbGllZCBvbiBGaXJlZm94LiBXZSBuZWVkXG4gIC8vIHRvIHVzZSB0aGlzIGNsYXNzLCBiZWNhdXNlIEZpcmVmb3ggaGFzIGEgYnVnIHdoZXJlIGNoYW5naW5nIHRoZSBgb3ZlcmZsb3dgIGJyZWFrcyB0aGUgdXNlcidzXG4gIC8vIGFiaWxpdHkgdG8gdW5kby9yZWRvIHdoYXQgdGhleSB3ZXJlIHR5cGluZyAoc2VlICMxNjYyOSkuIFRoaXMgY2xhc3MgaXMgb25seSBzY29wZWQgdG8gRmlyZWZveCxcbiAgLy8gYmVjYXVzZSB0aGUgbWVhc3VyZW1lbnRzIHRoZXJlIGRvbid0IHNlZW0gdG8gYmUgYWZmZWN0ZWQgYnkgdGhlIGBoZWlnaHQ6IDBgLCB3aGVyZWFzIG9uIG90aGVyXG4gIC8vIGJyb3dzZXJzIHRoZXkgYXJlLCBlLmcuIENocm9tZSBkZXRlY3RzIGxvbmdlciB0ZXh0IGFuZCBJRSBkb2VzJ3QgcmVzaXplIGJhY2sgdG8gbm9ybWFsLlxuICAvLyBJZGVudGljYWwgaXNzdWUgcmVwb3J0OiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD00NDg3ODRcbiAgdGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94IHtcbiAgICBAaW5jbHVkZSBfY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1iYXNlO1xuICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBfY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1iYXNlIHtcbiAgLy8gSGF2aW5nIDJweCB0b3AgYW5kIGJvdHRvbSBwYWRkaW5nIHNlZW1zIHRvIGZpeCBhIGJ1ZyB3aGVyZSBDaHJvbWUgZ2V0cyBhbiBpbmNvcnJlY3RcbiAgLy8gbWVhc3VyZW1lbnQuIFdlIGp1c3QgaGF2ZSB0byBhY2NvdW50IGZvciBpdCBsYXRlciBhbmQgc3VidHJhY3QgaXQgb2ZmIHRoZSBmaW5hbCByZXN1bHQuXG4gIHBhZGRpbmc6IDJweCAwICFpbXBvcnRhbnQ7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7XG59XG5cbi8vIFVzZWQgdG8gZ2VuZXJhdGUgVUlEcyBmb3Iga2V5ZnJhbWVzIHVzZWQgdG8gY2hhbmdlIHRoZSB0ZXh0IGZpZWxkIGF1dG9maWxsIHN0eWxlcy5cbiRjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci1mcmFtZS1jb3VudDogMDtcblxuLy8gTWl4aW4gdXNlZCB0byBhcHBseSBjdXN0b20gYmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZCBjb2xvcnMgdG8gYW4gYXV0b2ZpbGxlZCB0ZXh0IGZpZWxkLlxuLy8gQmFzZWQgb246IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzI3ODE1NDkvXG4vLyByZW1vdmluZy1pbnB1dC1iYWNrZ3JvdW5kLWNvbG91ci1mb3ItY2hyb21lLWF1dG9jb21wbGV0ZSNhbnN3ZXItMzc0MzIyNjBcbkBtaXhpbiBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvcigkYmFja2dyb3VuZCwgJGZvcmVncm91bmQ6JycpIHtcbiAgQGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci0jeyRjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci1mcmFtZS1jb3VudH0ge1xuICAgIHRvIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgQGlmICRmb3JlZ3JvdW5kICE9ICcnIHsgY29sb3I6ICRmb3JlZ3JvdW5kOyB9XG4gICAgfVxuICB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsIHtcbiAgICBhbmltYXRpb246IGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLSN7JGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLWZyYW1lLWNvdW50fSBib3RoO1xuICB9XG5cbiAgJi5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWQ6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgLy8gU2luY2UgQ2hyb21lIDgwIHdlIG5lZWQgYSAxbXMgZGVsYXkgZm9yIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0LCBvciB0aGUgYW5pbWF0aW9uc3RhcnRcbiAgICAvLyBldmVudCB3b24ndCBmaXJlLlxuICAgIGFuaW1hdGlvbjogY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zLFxuICAgICAgICAgICAgICAgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3ItI3skY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3ItZnJhbWUtY291bnR9IGJvdGg7XG4gIH1cblxuICAkY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3ItZnJhbWUtY291bnQ6XG4gICAgICAkY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3ItZnJhbWUtY291bnQgKyAxICFnbG9iYWw7XG59XG5cblxuLy8gQ29yZSBzdHlsZXMgdGhhdCBjYW4gYmUgdXNlZCB0byBhcHBseSBtYXRlcmlhbCBkZXNpZ24gdHJlYXRtZW50cyB0byBhbnkgZWxlbWVudC5cbi8vIE1lZGlhIHF1ZXJpZXNcbi8vIFRPRE8oam9zZXBocGVycm90dCk6IENoYW5nZSAkbWF0LXhzbWFsbCBhbmQgJG1hdC1zbWFsbCB1c2FnZXMgdG8gcmVseSBvbiBCcmVha3BvaW50T2JzZXJ2ZXIsXG4kbWF0LXhzbWFsbDogJ21heC13aWR0aDogNTk5cHgnO1xuJG1hdC1zbWFsbDogJ21heC13aWR0aDogOTU5cHgnO1xuXG4vLyBUT0RPOiBSZXZpc2l0IGFsbCB6LWluZGljZXMgYmVmb3JlIGJldGFcbi8vIHotaW5kZXggbWFzdGVyIGxpc3RcblxuJHotaW5kZXgtZmFiOiAyMCAhZGVmYXVsdDtcbiR6LWluZGV4LWRyYXdlcjogMTAwICFkZWZhdWx0O1xuXG4vLyBHbG9iYWwgY29uc3RhbnRzXG4kcGk6IDMuMTQxNTkyNjU7XG5cbi8vIFBhZGRpbmcgYmV0d2VlbiBpbnB1dCB0b2dnbGVzIGFuZCB0aGVpciBsYWJlbHNcbiRtYXQtdG9nZ2xlLXBhZGRpbmc6IDhweCAhZGVmYXVsdDtcbi8vIFdpZHRoIGFuZCBoZWlnaHQgb2YgaW5wdXQgdG9nZ2xlc1xuJG1hdC10b2dnbGUtc2l6ZTogMjBweCAhZGVmYXVsdDtcblxuLy8gRWFzaW5nIEN1cnZlc1xuLy8gVE9ETyhqZWxib3Vybik6IGFsbCBvZiB0aGVzZSBuZWVkIHRvIGJlIHJldmlzaXRlZFxuXG4vLyBUaGUgZGVmYXVsdCBhbmltYXRpb24gY3VydmVzIHVzZWQgYnkgbWF0ZXJpYWwgZGVzaWduLlxuJG1hdC1saW5lYXItb3V0LXNsb3ctaW4tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAwLjEpICFkZWZhdWx0O1xuJG1hdC1mYXN0LW91dC1zbG93LWluLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSAhZGVmYXVsdDtcbiRtYXQtZmFzdC1vdXQtbGluZWFyLWluLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMSwgMSkgIWRlZmF1bHQ7XG5cbiRlYXNlLWluLW91dC1jdXJ2ZS1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpICFkZWZhdWx0O1xuXG4kc3dpZnQtZWFzZS1vdXQtZHVyYXRpb246IDQwMG1zICFkZWZhdWx0O1xuJHN3aWZ0LWVhc2Utb3V0LXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSkgIWRlZmF1bHQ7XG4kc3dpZnQtZWFzZS1vdXQ6IGFsbCAkc3dpZnQtZWFzZS1vdXQtZHVyYXRpb24gJHN3aWZ0LWVhc2Utb3V0LXRpbWluZy1mdW5jdGlvbiAhZGVmYXVsdDtcblxuJHN3aWZ0LWVhc2UtaW4tZHVyYXRpb246IDMwMG1zICFkZWZhdWx0O1xuJHN3aWZ0LWVhc2UtaW4tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC41NSwgMC4yKSAhZGVmYXVsdDtcbiRzd2lmdC1lYXNlLWluOiBhbGwgJHN3aWZ0LWVhc2UtaW4tZHVyYXRpb24gJHN3aWZ0LWVhc2UtaW4tdGltaW5nLWZ1bmN0aW9uICFkZWZhdWx0O1xuXG4kc3dpZnQtZWFzZS1pbi1vdXQtZHVyYXRpb246IDUwMG1zICFkZWZhdWx0O1xuJHN3aWZ0LWVhc2UtaW4tb3V0LXRpbWluZy1mdW5jdGlvbjogJGVhc2UtaW4tb3V0LWN1cnZlLWZ1bmN0aW9uICFkZWZhdWx0O1xuJHN3aWZ0LWVhc2UtaW4tb3V0OiBhbGwgJHN3aWZ0LWVhc2UtaW4tb3V0LWR1cmF0aW9uICRzd2lmdC1lYXNlLWluLW91dC10aW1pbmctZnVuY3Rpb24gIWRlZmF1bHQ7XG5cbiRzd2lmdC1saW5lYXItZHVyYXRpb246IDgwbXMgIWRlZmF1bHQ7XG4kc3dpZnQtbGluZWFyLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFkZWZhdWx0O1xuJHN3aWZ0LWxpbmVhcjogYWxsICRzd2lmdC1saW5lYXItZHVyYXRpb24gJHN3aWZ0LWxpbmVhci10aW1pbmctZnVuY3Rpb24gIWRlZmF1bHQ7XG5cblxuXG4vLyBBIGNvbGxlY3Rpb24gb2YgbWl4aW5zIGFuZCBDU1MgY2xhc3NlcyB0aGF0IGNhbiBiZSB1c2VkIHRvIGFwcGx5IGVsZXZhdGlvbiB0byBhIG1hdGVyaWFsXG4vLyBlbGVtZW50LlxuLy8gU2VlOiBodHRwczovL21hdGVyaWFsLmlvL2Rlc2lnbi9lbnZpcm9ubWVudC9lbGV2YXRpb24uaHRtbFxuLy8gRXhhbXBsZXM6XG4vL1xuLy9cbi8vIC5tYXQtZm9vIHtcbi8vICAgQGluY2x1ZGUgJG1hdC1lbGV2YXRpb24oMik7XG4vL1xuLy8gICAmOmFjdGl2ZSB7XG4vLyAgICAgQGluY2x1ZGUgJG1hdC1lbGV2YXRpb24oOCk7XG4vLyAgIH1cbi8vIH1cbi8vXG4vLyA8ZGl2IGlkPVwiZXh0ZXJuYWwtY2FyZFwiIGNsYXNzPVwibWF0LWVsZXZhdGlvbi16MlwiPjxwPlNvbWUgY29udGVudDwvcD48L2Rpdj5cbi8vXG4vLyBGb3IgYW4gZXhwbGFuYXRpb24gb2YgdGhlIGRlc2lnbiBiZWhpbmQgaG93IGVsZXZhdGlvbiBpcyBpbXBsZW1lbnRlZCwgc2VlIHRoZSBkZXNpZ24gZG9jIGF0XG4vLyBodHRwczovL2dvby5nbC9LcTBrOVouXG5cbi8vIENvbG9ycyBmb3IgdW1icmEsIHBlbnVtYnJhLCBhbmQgYW1iaWVudCBzaGFkb3dzLiBBcyBkZXNjcmliZWQgaW4gdGhlIGRlc2lnbiBkb2MsIGVhY2ggZWxldmF0aW9uXG4vLyBsZXZlbCBpcyBjcmVhdGVkIHVzaW5nIGEgc2V0IG9mIDMgc2hhZG93IHZhbHVlcywgb25lIGZvciB1bWJyYSAodGhlIHNoYWRvdyByZXByZXNlbnRpbmcgdGhlXG4vLyBzcGFjZSBjb21wbGV0ZWx5IG9ic2N1cmVkIGJ5IGFuIG9iamVjdCByZWxhdGl2ZSB0byBpdHMgbGlnaHQgc291cmNlKSwgb25lIGZvciBwZW51bWJyYSAodGhlXG4vLyBzcGFjZSBwYXJ0aWFsbHkgb2JzY3VyZWQgYnkgYW4gb2JqZWN0KSwgYW5kIG9uZSBmb3IgYW1iaWVudCAodGhlIHNwYWNlIHdoaWNoIGNvbnRhaW5zIHRoZSBvYmplY3Rcbi8vIGl0c2VsZikuIEZvciBhIGZ1cnRoZXIgZXhwbGFuYXRpb24gb2YgdGhlc2UgdGVybXMgYW5kIHRoZWlyIG1lYW5pbmdzLCBzZWVcbi8vIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VtYnJhLF9wZW51bWJyYV9hbmRfYW50dW1icmEuXG5cbi8vIE1hcHMgZm9yIHRoZSBkaWZmZXJlbnQgc2hhZG93IHNldHMgYW5kIHRoZWlyIHZhbHVlcyB3aXRoaW4gZWFjaCB6LXNwYWNlLiBUaGVzZSB2YWx1ZXMgd2VyZVxuLy8gY3JlYXRlZCBieSB0YWtpbmcgYSBmZXcgcmVmZXJlbmNlIHNoYWRvdyBzZXRzIGNyZWF0ZWQgYnkgR29vZ2xlJ3MgRGVzaWduZXJzIGFuZCBpbnRlcnBvbGF0aW5nXG4vLyBhbGwgb2YgdGhlIHZhbHVlcyBiZXR3ZWVuIHRoZW0uXG5cbkBmdW5jdGlvbiBfZ2V0LXVtYnJhLW1hcCgkY29sb3IsICRvcGFjaXR5KSB7XG4gICRzaGFkb3ctY29sb3I6IGlmKHR5cGUtb2YoJGNvbG9yKSA9PSBjb2xvciwgcmdiYSgkY29sb3IsICRvcGFjaXR5ICogMC4yKSwgJGNvbG9yKTtcblxuICBAcmV0dXJuIChcbiAgICAwOiAnMHB4IDBweCAwcHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE6ICcwcHggMnB4IDFweCAtMXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDI6ICcwcHggM3B4IDFweCAtMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDM6ICcwcHggM3B4IDNweCAtMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDQ6ICcwcHggMnB4IDRweCAtMXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDU6ICcwcHggM3B4IDVweCAtMXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDY6ICcwcHggM3B4IDVweCAtMXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDc6ICcwcHggNHB4IDVweCAtMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDg6ICcwcHggNXB4IDVweCAtM3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDk6ICcwcHggNXB4IDZweCAtM3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDEwOiAnMHB4IDZweCA2cHggLTNweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMTogJzBweCA2cHggN3B4IC00cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTI6ICcwcHggN3B4IDhweCAtNHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDEzOiAnMHB4IDdweCA4cHggLTRweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNDogJzBweCA3cHggOXB4IC00cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTU6ICcwcHggOHB4IDlweCAtNXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE2OiAnMHB4IDhweCAxMHB4IC01cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTc6ICcwcHggOHB4IDExcHggLTVweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxODogJzBweCA5cHggMTFweCAtNXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE5OiAnMHB4IDlweCAxMnB4IC02cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjA6ICcwcHggMTBweCAxM3B4IC02cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjE6ICcwcHggMTBweCAxM3B4IC02cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjI6ICcwcHggMTBweCAxNHB4IC02cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjM6ICcwcHggMTFweCAxNHB4IC03cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjQ6ICcwcHggMTFweCAxNXB4IC03cHggI3skc2hhZG93LWNvbG9yfSdcbiAgKTtcbn1cblxuQGZ1bmN0aW9uIF9nZXQtcGVudW1icmEtbWFwKCRjb2xvciwgJG9wYWNpdHkpIHtcbiAgJHNoYWRvdy1jb2xvcjogaWYodHlwZS1vZigkY29sb3IpID09IGNvbG9yLCByZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjE0KSwgJGNvbG9yKTtcblxuICBAcmV0dXJuIChcbiAgICAwOiAnMHB4IDBweCAwcHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE6ICcwcHggMXB4IDFweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjogJzBweCAycHggMnB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAzOiAnMHB4IDNweCA0cHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDQ6ICcwcHggNHB4IDVweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNTogJzBweCA1cHggOHB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA2OiAnMHB4IDZweCAxMHB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA3OiAnMHB4IDdweCAxMHB4IDFweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA4OiAnMHB4IDhweCAxMHB4IDFweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA5OiAnMHB4IDlweCAxMnB4IDFweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMDogJzBweCAxMHB4IDE0cHggMXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDExOiAnMHB4IDExcHggMTVweCAxcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTI6ICcwcHggMTJweCAxN3B4IDJweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMzogJzBweCAxM3B4IDE5cHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE0OiAnMHB4IDE0cHggMjFweCAycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTU6ICcwcHggMTVweCAyMnB4IDJweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNjogJzBweCAxNnB4IDI0cHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE3OiAnMHB4IDE3cHggMjZweCAycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTg6ICcwcHggMThweCAyOHB4IDJweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxOTogJzBweCAxOXB4IDI5cHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDIwOiAnMHB4IDIwcHggMzFweCAzcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjE6ICcwcHggMjFweCAzM3B4IDNweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMjogJzBweCAyMnB4IDM1cHggM3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDIzOiAnMHB4IDIzcHggMzZweCAzcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjQ6ICcwcHggMjRweCAzOHB4IDNweCAjeyRzaGFkb3ctY29sb3J9J1xuICApO1xufVxuXG5AZnVuY3Rpb24gX2dldC1hbWJpZW50LW1hcCgkY29sb3IsICRvcGFjaXR5KSB7XG4gICRzaGFkb3ctY29sb3I6IGlmKHR5cGUtb2YoJGNvbG9yKSA9PSBjb2xvciwgcmdiYSgkY29sb3IsICRvcGFjaXR5ICogMC4xMiksICRjb2xvcik7XG5cbiAgQHJldHVybiAoXG4gICAgMDogJzBweCAwcHggMHB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxOiAnMHB4IDFweCAzcHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDI6ICcwcHggMXB4IDVweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMzogJzBweCAxcHggOHB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA0OiAnMHB4IDFweCAxMHB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA1OiAnMHB4IDFweCAxNHB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA2OiAnMHB4IDFweCAxOHB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA3OiAnMHB4IDJweCAxNnB4IDFweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA4OiAnMHB4IDNweCAxNHB4IDJweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA5OiAnMHB4IDNweCAxNnB4IDJweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMDogJzBweCA0cHggMThweCAzcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTE6ICcwcHggNHB4IDIwcHggM3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDEyOiAnMHB4IDVweCAyMnB4IDRweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMzogJzBweCA1cHggMjRweCA0cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTQ6ICcwcHggNXB4IDI2cHggNHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE1OiAnMHB4IDZweCAyOHB4IDVweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNjogJzBweCA2cHggMzBweCA1cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTc6ICcwcHggNnB4IDMycHggNXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE4OiAnMHB4IDdweCAzNHB4IDZweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxOTogJzBweCA3cHggMzZweCA2cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjA6ICcwcHggOHB4IDM4cHggN3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDIxOiAnMHB4IDhweCA0MHB4IDdweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMjogJzBweCA4cHggNDJweCA3cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjM6ICcwcHggOXB4IDQ0cHggOHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDI0OiAnMHB4IDlweCA0NnB4IDhweCAjeyRzaGFkb3ctY29sb3J9J1xuICApO1xufVxuXG4vLyBUaGUgZGVmYXVsdCBkdXJhdGlvbiB2YWx1ZSBmb3IgZWxldmF0aW9uIHRyYW5zaXRpb25zLlxuJG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi1kdXJhdGlvbjogMjgwbXMgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGVhc2luZyB2YWx1ZSBmb3IgZWxldmF0aW9uIHRyYW5zaXRpb25zLlxuJG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRtYXQtZmFzdC1vdXQtc2xvdy1pbi10aW1pbmctZnVuY3Rpb247XG5cbi8vIFRoZSBkZWZhdWx0IGNvbG9yIGZvciBlbGV2YXRpb24gc2hhZG93cy5cbiRtYXQtZWxldmF0aW9uLWNvbG9yOiBibGFjayAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgb3BhY2l0eSBzY2FsaW5nIHZhbHVlIGZvciBlbGV2YXRpb24gc2hhZG93cy5cbiRtYXQtZWxldmF0aW9uLW9wYWNpdHk6IDEgIWRlZmF1bHQ7XG5cbi8vIFByZWZpeCBmb3IgZWxldmF0aW9uLXJlbGF0ZWQgc2VsZWN0b3JzLlxuJG1hdC1lbGV2YXRpb24tcHJlZml4OiAnbWF0LWVsZXZhdGlvbi16JztcblxuLy8gQXBwbGllcyB0aGUgY29ycmVjdCBjc3MgcnVsZXMgdG8gYW4gZWxlbWVudCB0byBnaXZlIGl0IHRoZSBlbGV2YXRpb24gc3BlY2lmaWVkIGJ5ICR6VmFsdWUuXG4vLyBUaGUgJHpWYWx1ZSBtdXN0IGJlIGJldHdlZW4gMCBhbmQgMjQuXG5AbWl4aW4gbWF0LWVsZXZhdGlvbigkelZhbHVlLCAkY29sb3I6ICRtYXQtZWxldmF0aW9uLWNvbG9yLCAkb3BhY2l0eTogJG1hdC1lbGV2YXRpb24tb3BhY2l0eSkge1xuICBAaWYgdHlwZS1vZigkelZhbHVlKSAhPSBudW1iZXIgb3Igbm90IHVuaXRsZXNzKCR6VmFsdWUpIHtcbiAgICBAZXJyb3IgJyR6VmFsdWUgbXVzdCBiZSBhIHVuaXRsZXNzIG51bWJlcic7XG4gIH1cbiAgQGlmICR6VmFsdWUgPCAwIG9yICR6VmFsdWUgPiAyNCB7XG4gICAgQGVycm9yICckelZhbHVlIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAyNCc7XG4gIH1cblxuICBib3gtc2hhZG93OiAje21hcC1nZXQoX2dldC11bWJyYS1tYXAoJGNvbG9yLCAkb3BhY2l0eSksICR6VmFsdWUpfSxcbiAgICAgICAgICAgICAgI3ttYXAtZ2V0KF9nZXQtcGVudW1icmEtbWFwKCRjb2xvciwgJG9wYWNpdHkpLCAkelZhbHVlKX0sXG4gICAgICAgICAgICAgICN7bWFwLWdldChfZ2V0LWFtYmllbnQtbWFwKCRjb2xvciwgJG9wYWNpdHkpLCAkelZhbHVlKX07XG59XG5cbi8vIEFwcGxpZXMgdGhlIGVsZXZhdGlvbiB0byBhbiBlbGVtZW50IGluIGEgbWFubmVyIHRoYXQgYWxsb3dzXG4vLyBjb25zdW1lcnMgdG8gb3ZlcnJpZGUgaXQgdmlhIHRoZSBNYXRlcmlhbCBlbGV2YXRpb24gY2xhc3Nlcy5cbkBtaXhpbiBtYXQtb3ZlcnJpZGFibGUtZWxldmF0aW9uKFxuICAgICR6VmFsdWUsXG4gICAgJGNvbG9yOiAkbWF0LWVsZXZhdGlvbi1jb2xvcixcbiAgICAkb3BhY2l0eTogJG1hdC1lbGV2YXRpb24tb3BhY2l0eSkge1xuICAmOm5vdChbY2xhc3MqPScjeyRtYXQtZWxldmF0aW9uLXByZWZpeH0nXSkge1xuICAgIEBpbmNsdWRlIG1hdC1lbGV2YXRpb24oJHpWYWx1ZSwgJGNvbG9yLCAkb3BhY2l0eSk7XG4gIH1cbn1cblxuLy8gUmV0dXJucyBhIHN0cmluZyB0aGF0IGNhbiBiZSB1c2VkIGFzIHRoZSB2YWx1ZSBmb3IgYSB0cmFuc2l0aW9uIHByb3BlcnR5IGZvciBlbGV2YXRpb24uXG4vLyBDYWxsaW5nIHRoaXMgZnVuY3Rpb24gZGlyZWN0bHkgaXMgdXNlZnVsIGluIHNpdHVhdGlvbnMgd2hlcmUgYSBjb21wb25lbnQgbmVlZHMgdG8gdHJhbnNpdGlvblxuLy8gbW9yZSB0aGFuIG9uZSBwcm9wZXJ0eS5cbi8vXG4vLyAuZm9vIHtcbi8vICAgdHJhbnNpdGlvbjogbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLXByb3BlcnR5LXZhbHVlKCksIG9wYWNpdHkgMTAwbXMgZWFzZTtcbi8vIH1cbkBmdW5jdGlvbiBtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tcHJvcGVydHktdmFsdWUoXG4gICAgJGR1cmF0aW9uOiAkbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uLFxuICAgICRlYXNpbmc6ICRtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSB7XG4gIEByZXR1cm4gYm94LXNoYWRvdyAjeyRkdXJhdGlvbn0gI3skZWFzaW5nfTtcbn1cblxuLy8gQXBwbGllcyB0aGUgY29ycmVjdCBjc3MgcnVsZXMgbmVlZGVkIHRvIGhhdmUgYW4gZWxlbWVudCB0cmFuc2l0aW9uIGJldHdlZW4gZWxldmF0aW9ucy5cbi8vIFRoaXMgbWl4aW4gc2hvdWxkIGJlIGFwcGxpZWQgdG8gZWxlbWVudHMgd2hvc2UgZWxldmF0aW9uIHZhbHVlcyB3aWxsIGNoYW5nZSBkZXBlbmRpbmcgb24gdGhlaXJcbi8vIGNvbnRleHQgKGUuZy4gd2hlbiBhY3RpdmUgb3IgZGlzYWJsZWQpLlxuLy9cbi8vIE5PVEUodHJhdmlza2F1Zm1hbik6IEJvdGggdGhpcyBtaXhpbiBhbmQgdGhlIGFib3ZlIGZ1bmN0aW9uIHVzZSBkZWZhdWx0IHBhcmFtZXRlcnMgc28gdGhleSBjYW5cbi8vIGJlIHVzZWQgaW4gdGhlIHNhbWUgd2F5IGJ5IGNsaWVudHMuXG5AbWl4aW4gbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uKFxuICAgICRkdXJhdGlvbjogJG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi1kdXJhdGlvbixcbiAgICAkZWFzaW5nOiAkbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikge1xuICB0cmFuc2l0aW9uOiBtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tcHJvcGVydHktdmFsdWUoJGR1cmF0aW9uLCAkZWFzaW5nKTtcbn1cblxuXG5AbWl4aW4gbWF0LXByaXZhdGUtdGhlbWUtZWxldmF0aW9uKCR6VmFsdWUsICRjb25maWcsICRvcGFjaXR5OiAkbWF0LWVsZXZhdGlvbi1vcGFjaXR5KSB7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkZWxldmF0aW9uLWNvbG9yOiBtYXAtZ2V0KCRmb3JlZ3JvdW5kLCBlbGV2YXRpb24pO1xuICAkZWxldmF0aW9uLWNvbG9yLW9yLWRlZmF1bHQ6IGlmKCRlbGV2YXRpb24tY29sb3IgPT0gbnVsbCwgJG1hdC1lbGV2YXRpb24tY29sb3IsICRlbGV2YXRpb24tY29sb3IpO1xuXG4gIEBpbmNsdWRlIG1hdC1lbGV2YXRpb24oJHpWYWx1ZSwgJGVsZXZhdGlvbi1jb2xvci1vci1kZWZhdWx0LCAkb3BhY2l0eSk7XG59XG5cbkBtaXhpbiBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oJHpWYWx1ZSwgJGNvbmZpZywgJG9wYWNpdHk6ICRtYXQtZWxldmF0aW9uLW9wYWNpdHkpIHtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRlbGV2YXRpb24tY29sb3I6IG1hcC1nZXQoJGZvcmVncm91bmQsIGVsZXZhdGlvbik7XG4gICRlbGV2YXRpb24tY29sb3Itb3ItZGVmYXVsdDogaWYoJGVsZXZhdGlvbi1jb2xvciA9PSBudWxsLCAkbWF0LWVsZXZhdGlvbi1jb2xvciwgJGVsZXZhdGlvbi1jb2xvcik7XG5cbiAgQGluY2x1ZGUgbWF0LW92ZXJyaWRhYmxlLWVsZXZhdGlvbigkelZhbHVlLCAkZWxldmF0aW9uLWNvbG9yLW9yLWRlZmF1bHQsICRvcGFjaXR5KTtcbn1cblxuLy8gSWYgdGhlIG1hdC1hbmltYXRpb24tbm9vcCBjbGFzcyBpcyBwcmVzZW50IG9uIHRoZSBjb21wb25lbnRzIHJvb3QgZWxlbWVudCxcbi8vIHByZXZlbnQgbm9uIGNzcyBhbmltYXRpb25zIGZyb20gcnVubmluZy5cbi8vIE5PVEU6IEN1cnJlbnRseSB0aGlzIG1peGluIHNob3VsZCBvbmx5IGJlIHVzZWQgd2l0aCBjb21wb25lbnRzIHRoYXQgZG8gbm90XG4vLyBoYXZlIGFueSBwcm9qZWN0ZWQgY29udGVudC5cbkBtaXhpbiBtYXQtcHJpdmF0ZS1hbmltYXRpb24tbm9vcCgpIHtcbiAgLy8gQGF0LXJvb3QgaXMgdXNlZCB0byBzdGVwcyBvdXRzaWRlIG9mIHRoZSBoaWVyYXJjaHkgb2YgdGhlIHNjc3MgcnVsZXMuIFRoaXMgaXNcbiAgLy8gZG9uZSB0byBhbGxvdyBhIGNsYXNzIHRvIGJlIGFkZGVkIHRvIGJlIGFkZGVkIHRvIGJhc2Ugb2YgdGhlIHNjc3MgbmVzdGluZ1xuICAvLyBjb250ZXh0LlxuICAvLyBGb3IgZXhhbXBsZTpcbiAgLy8gLm15LXJvb3Qge1xuICAvLyAgIC5teS1zdWJjbGFzcyB7XG4gIC8vICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtYW5pbWF0aW9uLW5vb3AoKTtcbiAgLy8gICAgfVxuICAvLyB9XG4gIC8vIHJlc3VsdHMgaW46XG4gIC8vIC5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5teS1yb290IC5teS1zdWJjbGFzcyB7IC4uLiB9XG4gIEBhdC1yb290IC5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSN7Jn0ge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIENvbG9yIHBhbGV0dGVzIGZyb20gdGhlIE1hdGVyaWFsIERlc2lnbiBzcGVjLlxuLy8gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuaW8vZGVzaWduL2NvbG9yL1xuLy9cbi8vIENvbnRyYXN0IGNvbG9ycyBhcmUgaGFyZC1jb2RlZCBiZWNhdXNlIGl0IGlzIHRvbyBkaWZmaWN1bHQgKHByb2JhYmx5IGltcG9zc2libGUpIHRvXG4vLyBjYWxjdWxhdGUgdGhlbS4gVGhlc2UgY29udHJhc3QgY29sb3JzIGFyZSBwdWxsZWQgZnJvbSB0aGUgcHVibGljIE1hdGVyaWFsIERlc2lnbiBzcGVjIHN3YXRjaGVzLlxuLy8gV2hpbGUgdGhlIGNvbnRyYXN0IGNvbG9ycyBpbiB0aGUgc3BlYyBhcmUgbm90IHByZXNjcmlwdGl2ZSwgd2UgdXNlIHRoZW0gZm9yIGNvbnZlbmllbmNlLlxuXG5cbi8vIEBkZXByZWNhdGVkIHJlbmFtZWQgdG8gJGRhcmstcHJpbWFyeS10ZXh0LlxuLy8gQGJyZWFraW5nLWNoYW5nZSA4LjAuMFxuJGJsYWNrLTg3LW9wYWNpdHk6IHJnYmEoYmxhY2ssIDAuODcpO1xuLy8gQGRlcHJlY2F0ZWQgcmVuYW1lZCB0byAkbGlnaHQtcHJpbWFyeS10ZXh0LlxuLy8gQGJyZWFraW5nLWNoYW5nZSA4LjAuMFxuJHdoaXRlLTg3LW9wYWNpdHk6IHJnYmEod2hpdGUsIDAuODcpO1xuLy8gQGRlcHJlY2F0ZWQgdXNlICRkYXJrLVtzZWNvbmRhcnktdGV4dCxkaXNhYmxlZC10ZXh0LGRpdmlkZXJzLGZvY3VzZWRdIGluc3RlYWQuXG4vLyBAYnJlYWtpbmctY2hhbmdlIDguMC4wXG4kYmxhY2stMTItb3BhY2l0eTogcmdiYShibGFjaywgMC4xMik7XG4vLyBAZGVwcmVjYXRlZCB1c2UgJGxpZ2h0LVtzZWNvbmRhcnktdGV4dCxkaXNhYmxlZC10ZXh0LGRpdmlkZXJzLGZvY3VzZWRdIGluc3RlYWQuXG4vLyBAYnJlYWtpbmctY2hhbmdlIDguMC4wXG4kd2hpdGUtMTItb3BhY2l0eTogcmdiYSh3aGl0ZSwgMC4xMik7XG4vLyBAZGVwcmVjYXRlZCB1c2UgJGRhcmstW3NlY29uZGFyeS10ZXh0LGRpc2FibGVkLXRleHQsZGl2aWRlcnMsZm9jdXNlZF0gaW5zdGVhZC5cbi8vIEBicmVha2luZy1jaGFuZ2UgOC4wLjBcbiRibGFjay02LW9wYWNpdHk6IHJnYmEoYmxhY2ssIDAuMDYpO1xuLy8gQGRlcHJlY2F0ZWQgdXNlICRsaWdodC1bc2Vjb25kYXJ5LXRleHQsZGlzYWJsZWQtdGV4dCxkaXZpZGVycyxmb2N1c2VkXSBpbnN0ZWFkLlxuLy8gQGJyZWFraW5nLWNoYW5nZSA4LjAuMFxuJHdoaXRlLTYtb3BhY2l0eTogcmdiYSh3aGl0ZSwgMC4wNik7XG5cbiRkYXJrLXByaW1hcnktdGV4dDogcmdiYShibGFjaywgMC44Nyk7XG4kZGFyay1zZWNvbmRhcnktdGV4dDogcmdiYShibGFjaywgMC41NCk7XG4kZGFyay1kaXNhYmxlZC10ZXh0OiByZ2JhKGJsYWNrLCAwLjM4KTtcbiRkYXJrLWRpdmlkZXJzOiByZ2JhKGJsYWNrLCAwLjEyKTtcbiRkYXJrLWZvY3VzZWQ6IHJnYmEoYmxhY2ssIDAuMTIpO1xuJGxpZ2h0LXByaW1hcnktdGV4dDogd2hpdGU7XG4kbGlnaHQtc2Vjb25kYXJ5LXRleHQ6IHJnYmEod2hpdGUsIDAuNyk7XG4kbGlnaHQtZGlzYWJsZWQtdGV4dDogcmdiYSh3aGl0ZSwgMC41KTtcbiRsaWdodC1kaXZpZGVyczogcmdiYSh3aGl0ZSwgMC4xMik7XG4kbGlnaHQtZm9jdXNlZDogcmdiYSh3aGl0ZSwgMC4xMik7XG5cbiRtYXQtcmVkOiAoXG4gIDUwOiAjZmZlYmVlLFxuICAxMDA6ICNmZmNkZDIsXG4gIDIwMDogI2VmOWE5YSxcbiAgMzAwOiAjZTU3MzczLFxuICA0MDA6ICNlZjUzNTAsXG4gIDUwMDogI2Y0NDMzNixcbiAgNjAwOiAjZTUzOTM1LFxuICA3MDA6ICNkMzJmMmYsXG4gIDgwMDogI2M2MjgyOCxcbiAgOTAwOiAjYjcxYzFjLFxuICBBMTAwOiAjZmY4YTgwLFxuICBBMjAwOiAjZmY1MjUyLFxuICBBNDAwOiAjZmYxNzQ0LFxuICBBNzAwOiAjZDUwMDAwLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtcGluazogKFxuICA1MDogI2ZjZTRlYyxcbiAgMTAwOiAjZjhiYmQwLFxuICAyMDA6ICNmNDhmYjEsXG4gIDMwMDogI2YwNjI5MixcbiAgNDAwOiAjZWM0MDdhLFxuICA1MDA6ICNlOTFlNjMsXG4gIDYwMDogI2Q4MWI2MCxcbiAgNzAwOiAjYzIxODViLFxuICA4MDA6ICNhZDE0NTcsXG4gIDkwMDogIzg4MGU0ZixcbiAgQTEwMDogI2ZmODBhYixcbiAgQTIwMDogI2ZmNDA4MSxcbiAgQTQwMDogI2Y1MDA1NyxcbiAgQTcwMDogI2M1MTE2MixcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LXB1cnBsZTogKFxuICA1MDogI2YzZTVmNSxcbiAgMTAwOiAjZTFiZWU3LFxuICAyMDA6ICNjZTkzZDgsXG4gIDMwMDogI2JhNjhjOCxcbiAgNDAwOiAjYWI0N2JjLFxuICA1MDA6ICM5YzI3YjAsXG4gIDYwMDogIzhlMjRhYSxcbiAgNzAwOiAjN2IxZmEyLFxuICA4MDA6ICM2YTFiOWEsXG4gIDkwMDogIzRhMTQ4YyxcbiAgQTEwMDogI2VhODBmYyxcbiAgQTIwMDogI2UwNDBmYixcbiAgQTQwMDogI2Q1MDBmOSxcbiAgQTcwMDogI2FhMDBmZixcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtZGVlcC1wdXJwbGU6IChcbiAgNTA6ICNlZGU3ZjYsXG4gIDEwMDogI2QxYzRlOSxcbiAgMjAwOiAjYjM5ZGRiLFxuICAzMDA6ICM5NTc1Y2QsXG4gIDQwMDogIzdlNTdjMixcbiAgNTAwOiAjNjczYWI3LFxuICA2MDA6ICM1ZTM1YjEsXG4gIDcwMDogIzUxMmRhOCxcbiAgODAwOiAjNDUyN2EwLFxuICA5MDA6ICMzMTFiOTIsXG4gIEExMDA6ICNiMzg4ZmYsXG4gIEEyMDA6ICM3YzRkZmYsXG4gIEE0MDA6ICM2NTFmZmYsXG4gIEE3MDA6ICM2MjAwZWEsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LWluZGlnbzogKFxuICA1MDogI2U4ZWFmNixcbiAgMTAwOiAjYzVjYWU5LFxuICAyMDA6ICM5ZmE4ZGEsXG4gIDMwMDogIzc5ODZjYixcbiAgNDAwOiAjNWM2YmMwLFxuICA1MDA6ICMzZjUxYjUsXG4gIDYwMDogIzM5NDlhYixcbiAgNzAwOiAjMzAzZjlmLFxuICA4MDA6ICMyODM1OTMsXG4gIDkwMDogIzFhMjM3ZSxcbiAgQTEwMDogIzhjOWVmZixcbiAgQTIwMDogIzUzNmRmZSxcbiAgQTQwMDogIzNkNWFmZSxcbiAgQTcwMDogIzMwNGZmZSxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtYmx1ZTogKFxuICA1MDogI2UzZjJmZCxcbiAgMTAwOiAjYmJkZWZiLFxuICAyMDA6ICM5MGNhZjksXG4gIDMwMDogIzY0YjVmNixcbiAgNDAwOiAjNDJhNWY1LFxuICA1MDA6ICMyMTk2ZjMsXG4gIDYwMDogIzFlODhlNSxcbiAgNzAwOiAjMTk3NmQyLFxuICA4MDA6ICMxNTY1YzAsXG4gIDkwMDogIzBkNDdhMSxcbiAgQTEwMDogIzgyYjFmZixcbiAgQTIwMDogIzQ0OGFmZixcbiAgQTQwMDogIzI5NzlmZixcbiAgQTcwMDogIzI5NjJmZixcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LWxpZ2h0LWJsdWU6IChcbiAgNTA6ICNlMWY1ZmUsXG4gIDEwMDogI2IzZTVmYyxcbiAgMjAwOiAjODFkNGZhLFxuICAzMDA6ICM0ZmMzZjcsXG4gIDQwMDogIzI5YjZmNixcbiAgNTAwOiAjMDNhOWY0LFxuICA2MDA6ICMwMzliZTUsXG4gIDcwMDogIzAyODhkMSxcbiAgODAwOiAjMDI3N2JkLFxuICA5MDA6ICMwMTU3OWIsXG4gIEExMDA6ICM4MGQ4ZmYsXG4gIEEyMDA6ICM0MGM0ZmYsXG4gIEE0MDA6ICMwMGIwZmYsXG4gIEE3MDA6ICMwMDkxZWEsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtY3lhbjogKFxuICA1MDogI2UwZjdmYSxcbiAgMTAwOiAjYjJlYmYyLFxuICAyMDA6ICM4MGRlZWEsXG4gIDMwMDogIzRkZDBlMSxcbiAgNDAwOiAjMjZjNmRhLFxuICA1MDA6ICMwMGJjZDQsXG4gIDYwMDogIzAwYWNjMSxcbiAgNzAwOiAjMDA5N2E3LFxuICA4MDA6ICMwMDgzOGYsXG4gIDkwMDogIzAwNjA2NCxcbiAgQTEwMDogIzg0ZmZmZixcbiAgQTIwMDogIzE4ZmZmZixcbiAgQTQwMDogIzAwZTVmZixcbiAgQTcwMDogIzAwYjhkNCxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LXRlYWw6IChcbiAgNTA6ICNlMGYyZjEsXG4gIDEwMDogI2IyZGZkYixcbiAgMjAwOiAjODBjYmM0LFxuICAzMDA6ICM0ZGI2YWMsXG4gIDQwMDogIzI2YTY5YSxcbiAgNTAwOiAjMDA5Njg4LFxuICA2MDA6ICMwMDg5N2IsXG4gIDcwMDogIzAwNzk2YixcbiAgODAwOiAjMDA2OTVjLFxuICA5MDA6ICMwMDRkNDAsXG4gIEExMDA6ICNhN2ZmZWIsXG4gIEEyMDA6ICM2NGZmZGEsXG4gIEE0MDA6ICMxZGU5YjYsXG4gIEE3MDA6ICMwMGJmYTUsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1ncmVlbjogKFxuICA1MDogI2U4ZjVlOSxcbiAgMTAwOiAjYzhlNmM5LFxuICAyMDA6ICNhNWQ2YTcsXG4gIDMwMDogIzgxYzc4NCxcbiAgNDAwOiAjNjZiYjZhLFxuICA1MDA6ICM0Y2FmNTAsXG4gIDYwMDogIzQzYTA0NyxcbiAgNzAwOiAjMzg4ZTNjLFxuICA4MDA6ICMyZTdkMzIsXG4gIDkwMDogIzFiNWUyMCxcbiAgQTEwMDogI2I5ZjZjYSxcbiAgQTIwMDogIzY5ZjBhZSxcbiAgQTQwMDogIzAwZTY3NixcbiAgQTcwMDogIzAwYzg1MyxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtbGlnaHQtZ3JlZW46IChcbiAgNTA6ICNmMWY4ZTksXG4gIDEwMDogI2RjZWRjOCxcbiAgMjAwOiAjYzVlMWE1LFxuICAzMDA6ICNhZWQ1ODEsXG4gIDQwMDogIzljY2M2NSxcbiAgNTAwOiAjOGJjMzRhLFxuICA2MDA6ICM3Y2IzNDIsXG4gIDcwMDogIzY4OWYzOCxcbiAgODAwOiAjNTU4YjJmLFxuICA5MDA6ICMzMzY5MWUsXG4gIEExMDA6ICNjY2ZmOTAsXG4gIEEyMDA6ICNiMmZmNTksXG4gIEE0MDA6ICM3NmZmMDMsXG4gIEE3MDA6ICM2NGRkMTcsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtbGltZTogKFxuICA1MDogI2Y5ZmJlNyxcbiAgMTAwOiAjZjBmNGMzLFxuICAyMDA6ICNlNmVlOWMsXG4gIDMwMDogI2RjZTc3NSxcbiAgNDAwOiAjZDRlMTU3LFxuICA1MDA6ICNjZGRjMzksXG4gIDYwMDogI2MwY2EzMyxcbiAgNzAwOiAjYWZiNDJiLFxuICA4MDA6ICM5ZTlkMjQsXG4gIDkwMDogIzgyNzcxNyxcbiAgQTEwMDogI2Y0ZmY4MSxcbiAgQTIwMDogI2VlZmY0MSxcbiAgQTQwMDogI2M2ZmYwMCxcbiAgQTcwMDogI2FlZWEwMCxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQteWVsbG93OiAoXG4gIDUwOiAjZmZmZGU3LFxuICAxMDA6ICNmZmY5YzQsXG4gIDIwMDogI2ZmZjU5ZCxcbiAgMzAwOiAjZmZmMTc2LFxuICA0MDA6ICNmZmVlNTgsXG4gIDUwMDogI2ZmZWIzYixcbiAgNjAwOiAjZmRkODM1LFxuICA3MDA6ICNmYmMwMmQsXG4gIDgwMDogI2Y5YTgyNSxcbiAgOTAwOiAjZjU3ZjE3LFxuICBBMTAwOiAjZmZmZjhkLFxuICBBMjAwOiAjZmZmZjAwLFxuICBBNDAwOiAjZmZlYTAwLFxuICBBNzAwOiAjZmZkNjAwLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LWFtYmVyOiAoXG4gIDUwOiAjZmZmOGUxLFxuICAxMDA6ICNmZmVjYjMsXG4gIDIwMDogI2ZmZTA4MixcbiAgMzAwOiAjZmZkNTRmLFxuICA0MDA6ICNmZmNhMjgsXG4gIDUwMDogI2ZmYzEwNyxcbiAgNjAwOiAjZmZiMzAwLFxuICA3MDA6ICNmZmEwMDAsXG4gIDgwMDogI2ZmOGYwMCxcbiAgOTAwOiAjZmY2ZjAwLFxuICBBMTAwOiAjZmZlNTdmLFxuICBBMjAwOiAjZmZkNzQwLFxuICBBNDAwOiAjZmZjNDAwLFxuICBBNzAwOiAjZmZhYjAwLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LW9yYW5nZTogKFxuICA1MDogI2ZmZjNlMCxcbiAgMTAwOiAjZmZlMGIyLFxuICAyMDA6ICNmZmNjODAsXG4gIDMwMDogI2ZmYjc0ZCxcbiAgNDAwOiAjZmZhNzI2LFxuICA1MDA6ICNmZjk4MDAsXG4gIDYwMDogI2ZiOGMwMCxcbiAgNzAwOiAjZjU3YzAwLFxuICA4MDA6ICNlZjZjMDAsXG4gIDkwMDogI2U2NTEwMCxcbiAgQTEwMDogI2ZmZDE4MCxcbiAgQTIwMDogI2ZmYWI0MCxcbiAgQTQwMDogI2ZmOTEwMCxcbiAgQTcwMDogI2ZmNmQwMCxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogYmxhY2ssXG4gIClcbik7XG5cbiRtYXQtZGVlcC1vcmFuZ2U6IChcbiAgNTA6ICNmYmU5ZTcsXG4gIDEwMDogI2ZmY2NiYyxcbiAgMjAwOiAjZmZhYjkxLFxuICAzMDA6ICNmZjhhNjUsXG4gIDQwMDogI2ZmNzA0MyxcbiAgNTAwOiAjZmY1NzIyLFxuICA2MDA6ICNmNDUxMWUsXG4gIDcwMDogI2U2NGExOSxcbiAgODAwOiAjZDg0MzE1LFxuICA5MDA6ICNiZjM2MGMsXG4gIEExMDA6ICNmZjllODAsXG4gIEEyMDA6ICNmZjZlNDAsXG4gIEE0MDA6ICNmZjNkMDAsXG4gIEE3MDA6ICNkZDJjMDAsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LWJyb3duOiAoXG4gIDUwOiAjZWZlYmU5LFxuICAxMDA6ICNkN2NjYzgsXG4gIDIwMDogI2JjYWFhNCxcbiAgMzAwOiAjYTE4ODdmLFxuICA0MDA6ICM4ZDZlNjMsXG4gIDUwMDogIzc5NTU0OCxcbiAgNjAwOiAjNmQ0YzQxLFxuICA3MDA6ICM1ZDQwMzcsXG4gIDgwMDogIzRlMzQyZSxcbiAgOTAwOiAjM2UyNzIzLFxuICBBMTAwOiAjZDdjY2M4LFxuICBBMjAwOiAjYmNhYWE0LFxuICBBNDAwOiAjOGQ2ZTYzLFxuICBBNzAwOiAjNWQ0MDM3LFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LWdyZXk6IChcbiAgNTA6ICNmYWZhZmEsXG4gIDEwMDogI2Y1ZjVmNSxcbiAgMjAwOiAjZWVlZWVlLFxuICAzMDA6ICNlMGUwZTAsXG4gIDQwMDogI2JkYmRiZCxcbiAgNTAwOiAjOWU5ZTllLFxuICA2MDA6ICM3NTc1NzUsXG4gIDcwMDogIzYxNjE2MSxcbiAgODAwOiAjNDI0MjQyLFxuICA5MDA6ICMyMTIxMjEsXG4gIEExMDA6ICNmZmZmZmYsXG4gIEEyMDA6ICNlZWVlZWUsXG4gIEE0MDA6ICNiZGJkYmQsXG4gIEE3MDA6ICM2MTYxNjEsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuLy8gQWxpYXMgZm9yIGFsdGVybmF0ZSBzcGVsbGluZy5cbiRtYXQtZ3JheTogJG1hdC1ncmV5O1xuXG4kbWF0LWJsdWUtZ3JleTogKFxuICA1MDogI2VjZWZmMSxcbiAgMTAwOiAjY2ZkOGRjLFxuICAyMDA6ICNiMGJlYzUsXG4gIDMwMDogIzkwYTRhZSxcbiAgNDAwOiAjNzg5MDljLFxuICA1MDA6ICM2MDdkOGIsXG4gIDYwMDogIzU0NmU3YSxcbiAgNzAwOiAjNDU1YTY0LFxuICA4MDA6ICMzNzQ3NGYsXG4gIDkwMDogIzI2MzIzOCxcbiAgQTEwMDogI2NmZDhkYyxcbiAgQTIwMDogI2IwYmVjNSxcbiAgQTQwMDogIzc4OTA5YyxcbiAgQTcwMDogIzQ1NWE2NCxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4vLyBBbGlhcyBmb3IgYWx0ZXJuYXRlIHNwZWxsaW5nLlxuJG1hdC1ibHVlLWdyYXk6ICRtYXQtYmx1ZS1ncmV5O1xuXG5cbi8vIEJhY2tncm91bmQgcGFsZXR0ZSBmb3IgbGlnaHQgdGhlbWVzLlxuJG1hdC1saWdodC10aGVtZS1iYWNrZ3JvdW5kOiAoXG4gIHN0YXR1cy1iYXI6IG1hcC1nZXQoJG1hdC1ncmV5LCAzMDApLFxuICBhcHAtYmFyOiAgICBtYXAtZ2V0KCRtYXQtZ3JleSwgMTAwKSxcbiAgYmFja2dyb3VuZDogbWFwLWdldCgkbWF0LWdyZXksIDUwKSxcbiAgaG92ZXI6ICAgICAgcmdiYShibGFjaywgMC4wNCksIC8vIFRPRE8oa2FyYSk6IGNoZWNrIHN0eWxlIHdpdGggTWF0ZXJpYWwgRGVzaWduIFVYXG4gIGNhcmQ6ICAgICAgIHdoaXRlLFxuICBkaWFsb2c6ICAgICB3aGl0ZSxcbiAgZGlzYWJsZWQtYnV0dG9uOiByZ2JhKGJsYWNrLCAwLjEyKSxcbiAgcmFpc2VkLWJ1dHRvbjogd2hpdGUsXG4gIGZvY3VzZWQtYnV0dG9uOiAkZGFyay1mb2N1c2VkLFxuICBzZWxlY3RlZC1idXR0b246IG1hcC1nZXQoJG1hdC1ncmV5LCAzMDApLFxuICBzZWxlY3RlZC1kaXNhYmxlZC1idXR0b246IG1hcC1nZXQoJG1hdC1ncmV5LCA0MDApLFxuICBkaXNhYmxlZC1idXR0b24tdG9nZ2xlOiBtYXAtZ2V0KCRtYXQtZ3JleSwgMjAwKSxcbiAgdW5zZWxlY3RlZC1jaGlwOiBtYXAtZ2V0KCRtYXQtZ3JleSwgMzAwKSxcbiAgZGlzYWJsZWQtbGlzdC1vcHRpb246IG1hcC1nZXQoJG1hdC1ncmV5LCAyMDApLFxuICB0b29sdGlwOiBtYXAtZ2V0KCRtYXQtZ3JleSwgNzAwKSxcbik7XG5cbi8vIEJhY2tncm91bmQgcGFsZXR0ZSBmb3IgZGFyayB0aGVtZXMuXG4kbWF0LWRhcmstdGhlbWUtYmFja2dyb3VuZDogKFxuICBzdGF0dXMtYmFyOiBibGFjayxcbiAgYXBwLWJhcjogICAgbWFwLWdldCgkbWF0LWdyZXksIDkwMCksXG4gIGJhY2tncm91bmQ6ICMzMDMwMzAsXG4gIGhvdmVyOiAgICAgIHJnYmEod2hpdGUsIDAuMDQpLCAvLyBUT0RPKGthcmEpOiBjaGVjayBzdHlsZSB3aXRoIE1hdGVyaWFsIERlc2lnbiBVWFxuICBjYXJkOiAgICAgICBtYXAtZ2V0KCRtYXQtZ3JleSwgODAwKSxcbiAgZGlhbG9nOiAgICAgbWFwLWdldCgkbWF0LWdyZXksIDgwMCksXG4gIGRpc2FibGVkLWJ1dHRvbjogcmdiYSh3aGl0ZSwgMC4xMiksXG4gIHJhaXNlZC1idXR0b246IG1hcC1nZXQoJG1hdC1ncmV5LCA4MDApLFxuICBmb2N1c2VkLWJ1dHRvbjogJGxpZ2h0LWZvY3VzZWQsXG4gIHNlbGVjdGVkLWJ1dHRvbjogbWFwLWdldCgkbWF0LWdyZXksIDkwMCksXG4gIHNlbGVjdGVkLWRpc2FibGVkLWJ1dHRvbjogbWFwLWdldCgkbWF0LWdyZXksIDgwMCksXG4gIGRpc2FibGVkLWJ1dHRvbi10b2dnbGU6IGJsYWNrLFxuICB1bnNlbGVjdGVkLWNoaXA6IG1hcC1nZXQoJG1hdC1ncmV5LCA3MDApLFxuICBkaXNhYmxlZC1saXN0LW9wdGlvbjogYmxhY2ssXG4gIHRvb2x0aXA6IG1hcC1nZXQoJG1hdC1ncmV5LCA3MDApLFxuKTtcblxuLy8gRm9yZWdyb3VuZCBwYWxldHRlIGZvciBsaWdodCB0aGVtZXMuXG4kbWF0LWxpZ2h0LXRoZW1lLWZvcmVncm91bmQ6IChcbiAgYmFzZTogICAgICAgICAgICAgIGJsYWNrLFxuICBkaXZpZGVyOiAgICAgICAgICAgJGRhcmstZGl2aWRlcnMsXG4gIGRpdmlkZXJzOiAgICAgICAgICAkZGFyay1kaXZpZGVycyxcbiAgZGlzYWJsZWQ6ICAgICAgICAgICRkYXJrLWRpc2FibGVkLXRleHQsXG4gIGRpc2FibGVkLWJ1dHRvbjogICByZ2JhKGJsYWNrLCAwLjI2KSxcbiAgZGlzYWJsZWQtdGV4dDogICAgICRkYXJrLWRpc2FibGVkLXRleHQsXG4gIGVsZXZhdGlvbjogICAgICAgICBibGFjayxcbiAgaGludC10ZXh0OiAgICAgICAgICRkYXJrLWRpc2FibGVkLXRleHQsXG4gIHNlY29uZGFyeS10ZXh0OiAgICAkZGFyay1zZWNvbmRhcnktdGV4dCxcbiAgaWNvbjogICAgICAgICAgICAgIHJnYmEoYmxhY2ssIDAuNTQpLFxuICBpY29uczogICAgICAgICAgICAgcmdiYShibGFjaywgMC41NCksXG4gIHRleHQ6ICAgICAgICAgICAgICByZ2JhKGJsYWNrLCAwLjg3KSxcbiAgc2xpZGVyLW1pbjogICAgICAgIHJnYmEoYmxhY2ssIDAuODcpLFxuICBzbGlkZXItb2ZmOiAgICAgICAgcmdiYShibGFjaywgMC4yNiksXG4gIHNsaWRlci1vZmYtYWN0aXZlOiByZ2JhKGJsYWNrLCAwLjM4KSxcbik7XG5cbi8vIEZvcmVncm91bmQgcGFsZXR0ZSBmb3IgZGFyayB0aGVtZXMuXG4kbWF0LWRhcmstdGhlbWUtZm9yZWdyb3VuZDogKFxuICBiYXNlOiAgICAgICAgICAgICAgd2hpdGUsXG4gIGRpdmlkZXI6ICAgICAgICAgICAkbGlnaHQtZGl2aWRlcnMsXG4gIGRpdmlkZXJzOiAgICAgICAgICAkbGlnaHQtZGl2aWRlcnMsXG4gIGRpc2FibGVkOiAgICAgICAgICAkbGlnaHQtZGlzYWJsZWQtdGV4dCxcbiAgZGlzYWJsZWQtYnV0dG9uOiAgIHJnYmEod2hpdGUsIDAuMyksXG4gIGRpc2FibGVkLXRleHQ6ICAgICAkbGlnaHQtZGlzYWJsZWQtdGV4dCxcbiAgZWxldmF0aW9uOiAgICAgICAgIGJsYWNrLFxuICBoaW50LXRleHQ6ICAgICAgICAgJGxpZ2h0LWRpc2FibGVkLXRleHQsXG4gIHNlY29uZGFyeS10ZXh0OiAgICAkbGlnaHQtc2Vjb25kYXJ5LXRleHQsXG4gIGljb246ICAgICAgICAgICAgICB3aGl0ZSxcbiAgaWNvbnM6ICAgICAgICAgICAgIHdoaXRlLFxuICB0ZXh0OiAgICAgICAgICAgICAgd2hpdGUsXG4gIHNsaWRlci1taW46ICAgICAgICB3aGl0ZSxcbiAgc2xpZGVyLW9mZjogICAgICAgIHJnYmEod2hpdGUsIDAuMyksXG4gIHNsaWRlci1vZmYtYWN0aXZlOiByZ2JhKHdoaXRlLCAwLjMpLFxuKTtcblxuLy8gTm90ZSB0aGF0IHRoaXMgZmlsZSBpcyBjYWxsZWQgYHByaXZhdGVgLCBiZWNhdXNlIHRoZSBBUElzIGluIGl0IGFyZW4ndCBwdWJsaWMgeWV0LlxuLy8gT25jZSB0aGV5J3JlIG1hZGUgYXZhaWxhYmxlLCB0aGUgY29kZSBzaG91bGQgYmUgbW92ZWQgb3V0IGludG8gYW4gYGluZGV4LnNjc3NgLlxuXG4vLyBUYWtlbiBmcm9tIG1hdC1kZW5zaXR5IHdpdGggc21hbGwgbW9kaWZpY2F0aW9ucyB0byBub3QgcmVseSBvbiB0aGUgbmV3IFNhc3MgbW9kdWxlXG4vLyBzeXN0ZW0sIGFuZCB0byBzdXBwb3J0IGFyYml0cmFyeSBwcm9wZXJ0aWVzIGluIGEgZGVuc2l0eSBjb25maWd1cmF0aW9uLlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL21hdGVyaWFsLWNvbXBvbmVudHMvbWF0ZXJpYWwtY29tcG9uZW50cy13ZWIvYmxvYi9tYXN0ZXIvcGFja2FnZXMvbWRjLWRlbnNpdHlcblxuJF9tYXQtZGVuc2l0eS1pbnRlcnZhbDogNHB4ICFkZWZhdWx0O1xuJF9tYXQtZGVuc2l0eS1taW5pbXVtLXNjYWxlOiBtaW5pbXVtICFkZWZhdWx0O1xuJF9tYXQtZGVuc2l0eS1tYXhpbXVtLXNjYWxlOiBtYXhpbXVtICFkZWZhdWx0O1xuJF9tYXQtZGVuc2l0eS1zdXBwb3J0ZWQtc2NhbGVzOiAoZGVmYXVsdCwgbWluaW11bSwgbWF4aW11bSkgIWRlZmF1bHQ7XG4kX21hdC1kZW5zaXR5LWRlZmF1bHQtc2NhbGU6IDAgIWRlZmF1bHQ7XG5cbi8vIFdoZXRoZXIgZGVuc2l0eSBzaG91bGQgYmUgZ2VuZXJhdGVkIGF0IHJvb3QuIFRoaXMgd2lsbCBiZSB0ZW1wb3JhcmlseSBzZXQgdG8gYHRydWVgXG4vLyB3aGVuZXZlciBkZW5zaXR5IHN0eWxlcyBmb3IgbGVnYWN5IHRoZW1lcyBhcmUgZ2VuZXJhdGVkLlxuJG1hdC1wcml2YXRlLWRlbnNpdHktZ2VuZXJhdGUtYXQtcm9vdDogZmFsc2U7XG4vLyBXaGV0aGVyIGRlbnNpdHkgc3R5bGVzIHNob3VsZCBiZSBnZW5lcmF0ZWQuIFRoaXMgd2lsbCBiZSB0ZW1wb3JhcmlseSBzZXQgdG8gYGZhbHNlYCBpZlxuLy8gZHVwbGljYXRlIGRlbnNpdHkgc3R5bGVzIGZvciBhIGxlZ2FjeSB0aGVtZSB3b3VsZCBiZSBnZW5lcmF0ZWQuIEZvciBsZWdhY3kgdGhlbWVzLFxuLy8gd2UgYWx3YXlzIGdlbmVyYXRlIHRoZSBkZWZhdWx0IGRlbnNpdHkgKipvbmx5IG9uY2UqKiBhdCByb290LlxuJG1hdC1wcml2YXRlLWRlbnNpdHktZ2VuZXJhdGUtc3R5bGVzOiB0cnVlO1xuXG4vLyBNaXhpbiB0aGF0IGNhbiBiZSB1c2VkIHRvIHdyYXAgZGVuc2l0eSBzdHlsZXMgb2YgZ2l2ZW4gY29tcG9uZW50cy4gVGhlIG1peGluIHdpbGxcbi8vIG1vdmUgdGhlIGRlbnNpdHkgc3R5bGVzIHRvIHJvb3QgaWYgdGhlIGAkbWF0LXByaXZhdGUtZGVuc2l0eS1nZW5lcmF0ZS1hdC1yb290YCBnbG9iYWwgdmFyaWFibGVcbi8vIGlzIHNldC4gSWYgYCRtYXQtcHJpdmF0ZS1kZW5zaXR5LWdlbmVyYXRlLXN0eWxlc2AgaXMgc2V0IHRvIGBmYWxzZWAsIGdlbmVyYXRpb24gb2YgZGVuc2l0eVxuLy8gc3R5bGVzIHdyYXBwZWQgaW4gdGhpcyBtaXhpbiBpcyBza2lwcGVkLiBUaGlzIG1peGluIGV4aXN0cyB0byBpbXByb3ZlIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4vLyBvZiB0aGUgbmV3IHRoZW1pbmcgQVBJIHdoZXJlIGRlbnNpdHkgc3R5bGVzIGFyZSBpbmNsdWRlZCBhcyBwYXJ0IG9mIHRoZW1lcy4gUHJldmlvdXNseSxcbi8vIGRlbnNpdHkgc3R5bGVzIG9mIGNvbXBvbmVudHMgd2VyZSBwYXJ0IG9mIHRoZWlyIGJhc2Ugc3R5bGVzLiBXaXRoIHRoZSBuZXcgQVBJLCB0aGV5IGFyZVxuLy8gcGFydCBvZiB0aGUgdGhlbWluZyBzeXN0ZW0uIFRoZSBgPC4uPi10aGVtZWAgbWl4aW5zIGdlbmVyYXRlIGRlbnNpdHkgYnkgZGVmYXVsdCB1bmxlc3Ncbi8vIHRoZSBkZW5zaXR5IGNvbmZpZ3VyYXRpb24gaXMgZXhwbGljaXRseSBzcGVjaWZpZWQgYXMgcGVyIG5ldyBBUEkuIFRoaXMgbWVhbnMsIHRoYXQgcHJvamVjdHNcbi8vIHVzaW5nIGA8Li4+LXRoZW1lYCBtaXhpbnMgZm9yIHNlcGFyYXRlIHRoZW1lcyAobGlrZSBgLmRhcmstdGhlbWVgKSB3aWxsIGNhdXNlIGR1cGxpY2F0ZVxuLy8gZGVuc2l0eSBzdHlsZXMuIFRoaXMgaXMgYnJlYWtpbmcgYXMgaXQgaW5jcmVhc2VzIHNwZWNpZmljaXR5IG9mIGRlbnNpdHkgc3R5bGVzLiBUaGlzIG1peGluXG4vLyBwcm92aWRlcyBhbiBBUEkgdG8gY29udHJvbCBnZW5lcmF0aW9uIG9mIGRlbnNpdHkgc3R5bGVzIHNvIHRoYXQgd2UgY2FuIGVuc3VyZSB0aGV5IGFyZSBvbmx5XG4vLyBjcmVhdGVkICpvbmNlKiBhbmQgYXQgcm9vdC5cbkBtaXhpbiBtYXQtcHJpdmF0ZS1kZW5zaXR5LWxlZ2FjeS1jb21wYXRpYmlsaXR5KCkge1xuICBAaWYgJG1hdC1wcml2YXRlLWRlbnNpdHktZ2VuZXJhdGUtc3R5bGVzIGFuZCAkbWF0LXByaXZhdGUtZGVuc2l0eS1nZW5lcmF0ZS1hdC1yb290IHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJG1hdC1wcml2YXRlLWRlbnNpdHktZ2VuZXJhdGUtc3R5bGVzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AZnVuY3Rpb24gbWF0LXByaXZhdGUtZGVuc2l0eS1wcm9wLXZhbHVlKCRkZW5zaXR5LWNvbmZpZywgJGRlbnNpdHktc2NhbGUsICRwcm9wZXJ0eS1uYW1lKSB7XG4gIEBpZiAodHlwZS1vZigkZGVuc2l0eS1zY2FsZSkgPT0gJ3N0cmluZycgYW5kXG4gICAgICBpbmRleCgkbGlzdDogJF9tYXQtZGVuc2l0eS1zdXBwb3J0ZWQtc2NhbGVzLCAkdmFsdWU6ICRkZW5zaXR5LXNjYWxlKSA9PSBudWxsKSB7XG4gICAgQGVycm9yICdtYXQtZGVuc2l0eTogU3VwcG9ydGVkIGRlbnNpdHkgc2NhbGVzICN7JF9tYXQtZGVuc2l0eS1zdXBwb3J0ZWQtc2NhbGVzfSwgJyAgK1xuICAgICAgJ2J1dCByZWNlaXZlZCAjeyRkZW5zaXR5LXNjYWxlfS4nO1xuICB9XG5cbiAgJHZhbHVlOiBudWxsO1xuICAkcHJvcGVydHktc2NhbGUtbWFwOiBtYXAtZ2V0KCRkZW5zaXR5LWNvbmZpZywgJHByb3BlcnR5LW5hbWUpO1xuXG4gIEBpZiBtYXAtaGFzLWtleSgkcHJvcGVydHktc2NhbGUtbWFwLCAkZGVuc2l0eS1zY2FsZSkge1xuICAgICR2YWx1ZTogbWFwLWdldCgkcHJvcGVydHktc2NhbGUtbWFwLCAkZGVuc2l0eS1zY2FsZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWx1ZTogbWFwLWdldCgkcHJvcGVydHktc2NhbGUtbWFwLCBkZWZhdWx0KSArICRkZW5zaXR5LXNjYWxlICogJF9tYXQtZGVuc2l0eS1pbnRlcnZhbDtcbiAgfVxuXG4gICRtaW4tdmFsdWU6IG1hcC1nZXQoJHByb3BlcnR5LXNjYWxlLW1hcCwgJF9tYXQtZGVuc2l0eS1taW5pbXVtLXNjYWxlKTtcbiAgJG1heC12YWx1ZTogbWFwLWdldCgkcHJvcGVydHktc2NhbGUtbWFwLCAkX21hdC1kZW5zaXR5LW1heGltdW0tc2NhbGUpO1xuXG4gIEBpZiAoJHZhbHVlIDwgJG1pbi12YWx1ZSBvciAkdmFsdWUgPiAkbWF4LXZhbHVlKSB7XG4gICAgQGVycm9yICdtYXQtZGVuc2l0eTogI3skcHJvcGVydHktbmFtZX0gbXVzdCBiZSBiZXR3ZWVuICN7JG1pbi12YWx1ZX0gYW5kICcgK1xuICAgICAgJyN7JG1heC12YWx1ZX0gKGluY2x1c2l2ZSksIGJ1dCByZWNlaXZlZCAjeyR2YWx1ZX0uJztcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5cbi8vIFdoZXRoZXIgZHVwbGljYXRpb24gd2FybmluZ3Mgc2hvdWxkIGJlIGRpc2FibGVkLiBXYXJuaW5ncyBlbmFibGVkIGJ5IGRlZmF1bHQuXG4kbWF0LXRoZW1lLWlnbm9yZS1kdXBsaWNhdGlvbi13YXJuaW5nczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFdoZXRoZXIgZGVuc2l0eSBzaG91bGQgYmUgZ2VuZXJhdGVkIGJ5IGRlZmF1bHQuXG4kX21hdC10aGVtZS1nZW5lcmF0ZS1kZWZhdWx0LWRlbnNpdHk6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIFdhcm5pbmcgdGhhdCB3aWxsIGJlIHByaW50ZWQgaWYgZHVwbGljYXRlZCBzdHlsZXMgYXJlIGdlbmVyYXRlZCBieSBhIHRoZW1lLlxuJF9tYXQtdGhlbWUtZHVwbGljYXRlLXdhcm5pbmc6ICdSZWFkIG1vcmUgYWJvdXQgaG93IHN0eWxlIGR1cGxpY2F0aW9uIGNhbiBiZSBhdm9pZGVkIGluIGEgJyArXG4gICdkZWRpY2F0ZWQgZ3VpZGUuIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi9tYXN0ZXIvZ3VpZGVzL2R1cGxpY2F0ZS10aGVtaW5nLXN0eWxlcy5tZCc7XG5cbi8vIFRoZXNlIHZhcmlhYmxlIGFyZSBub3QgaW50ZW5kZWQgdG8gYmUgb3ZlcnJpZGRlbiBleHRlcm5hbGx5LiBUaGV5IHVzZSBgIWRlZmF1bHRgIHRvXG4vLyBhdm9pZCBiZWluZyByZXNldCBldmVyeSB0aW1lIHRoaXMgZmlsZSBpcyBpbXBvcnRlZC5cbiRfbWF0LXRoZW1lLWVtaXR0ZWQtY29sb3I6ICgpICFkZWZhdWx0O1xuJF9tYXQtdGhlbWUtZW1pdHRlZC10eXBvZ3JhcGh5OiAoKSAhZGVmYXVsdDtcbiRfbWF0LXRoZW1lLWVtaXR0ZWQtZGVuc2l0eTogKCkgIWRlZmF1bHQ7XG5cbi8vIEZvciBhIGdpdmVuIGh1ZSBpbiBhIHBhbGV0dGUsIHJldHVybiB0aGUgY29udHJhc3QgY29sb3IgZnJvbSB0aGUgbWFwIG9mIGNvbnRyYXN0IHBhbGV0dGVzLlxuLy8gQHBhcmFtICRwYWxldHRlXG4vLyBAcGFyYW0gJGh1ZVxuQGZ1bmN0aW9uIG1hdC1jb250cmFzdCgkcGFsZXR0ZSwgJGh1ZSkge1xuICBAcmV0dXJuIG1hcC1nZXQobWFwLWdldCgkcGFsZXR0ZSwgY29udHJhc3QpLCAkaHVlKTtcbn1cblxuXG4vLyBDcmVhdGVzIGEgbWFwIG9mIGh1ZXMgdG8gY29sb3JzIGZvciBhIHRoZW1lLiBUaGlzIGlzIHVzZWQgdG8gZGVmaW5lIGEgdGhlbWUgcGFsZXR0ZSBpbiB0ZXJtc1xuLy8gb2YgdGhlIE1hdGVyaWFsIERlc2lnbiBodWVzLlxuLy8gQHBhcmFtICRiYXNlLXBhbGV0dGVcbi8vIEBwYXJhbSAkZGVmYXVsdFxuLy8gQHBhcmFtICRsaWdodGVyXG4vLyBAcGFyYW0gJGRhcmtlclxuLy8gQHBhcmFtICR0ZXh0XG5AZnVuY3Rpb24gbWF0LXBhbGV0dGUoJGJhc2UtcGFsZXR0ZSwgJGRlZmF1bHQ6IDUwMCwgJGxpZ2h0ZXI6IDEwMCwgJGRhcmtlcjogNzAwLCAkdGV4dDogJGRlZmF1bHQpIHtcbiAgJHJlc3VsdDogbWFwLW1lcmdlKCRiYXNlLXBhbGV0dGUsIChcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRiYXNlLXBhbGV0dGUsICRkZWZhdWx0KSxcbiAgICBsaWdodGVyOiBtYXAtZ2V0KCRiYXNlLXBhbGV0dGUsICRsaWdodGVyKSxcbiAgICBkYXJrZXI6IG1hcC1nZXQoJGJhc2UtcGFsZXR0ZSwgJGRhcmtlciksXG4gICAgdGV4dDogbWFwLWdldCgkYmFzZS1wYWxldHRlLCAkdGV4dCksXG5cbiAgICBkZWZhdWx0LWNvbnRyYXN0OiBtYXQtY29udHJhc3QoJGJhc2UtcGFsZXR0ZSwgJGRlZmF1bHQpLFxuICAgIGxpZ2h0ZXItY29udHJhc3Q6IG1hdC1jb250cmFzdCgkYmFzZS1wYWxldHRlLCAkbGlnaHRlciksXG4gICAgZGFya2VyLWNvbnRyYXN0OiBtYXQtY29udHJhc3QoJGJhc2UtcGFsZXR0ZSwgJGRhcmtlcilcbiAgKSk7XG5cbiAgLy8gRm9yIGVhY2ggaHVlIGluIHRoZSBwYWxldHRlLCBhZGQgYSBcIi1jb250cmFzdFwiIGNvbG9yIHRvIHRoZSBtYXAuXG4gIEBlYWNoICRodWUsICRjb2xvciBpbiAkYmFzZS1wYWxldHRlIHtcbiAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgKFxuICAgICAgJyN7JGh1ZX0tY29udHJhc3QnOiBtYXQtY29udHJhc3QoJGJhc2UtcGFsZXR0ZSwgJGh1ZSlcbiAgICApKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuXG4vLyBHZXRzIGEgY29sb3IgZnJvbSBhIHRoZW1lIHBhbGV0dGUgKHRoZSBvdXRwdXQgb2YgbWF0LXBhbGV0dGUpLlxuLy8gVGhlIGh1ZSBjYW4gYmUgb25lIG9mIHRoZSBzdGFuZGFyZCB2YWx1ZXMgKDUwMCwgQTQwMCwgZXRjLiksIG9uZSBvZiB0aGUgdGhyZWUgcHJlY29uZmlndXJlZFxuLy8gaHVlcyAoZGVmYXVsdCwgbGlnaHRlciwgZGFya2VyKSwgb3IgYW55IG9mIHRoZSBhZm9yZW1lbnRpb25lZCBwcmVmaXhlZCB3aXRoIFwiLWNvbnRyYXN0XCIuXG4vL1xuLy8gQHBhcmFtICRwYWxldHRlIFRoZSB0aGVtZSBwYWxldHRlIChvdXRwdXQgb2YgbWF0LXBhbGV0dGUpLlxuLy8gQHBhcmFtICRodWUgVGhlIGh1ZSBmcm9tIHRoZSBwYWxldHRlIHRvIHVzZS4gSWYgdGhpcyBpcyBhIHZhbHVlIGJldHdlZW4gMCBhbmQgMSwgaXQgd2lsbFxuLy8gICAgIGJlIHRyZWF0ZWQgYXMgb3BhY2l0eS5cbi8vIEBwYXJhbSAkb3BhY2l0eSBUaGUgYWxwaGEgY2hhbm5lbCB2YWx1ZSBmb3IgdGhlIGNvbG9yLlxuQGZ1bmN0aW9uIG1hdC1jb2xvcigkcGFsZXR0ZSwgJGh1ZTogZGVmYXVsdCwgJG9wYWNpdHk6IG51bGwpIHtcbiAgLy8gSWYgaHVlS2V5IGlzIGEgbnVtYmVyIGJldHdlZW4gemVybyBhbmQgb25lLCB0aGVuIGl0IGFjdHVhbGx5IGNvbnRhaW5zIGFuXG4gIC8vIG9wYWNpdHkgdmFsdWUsIHNvIHJlY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggdGhlIGRlZmF1bHQgaHVlIGFuZCB0aGF0IGdpdmVuIG9wYWNpdHkuXG4gIEBpZiB0eXBlLW9mKCRodWUpID09IG51bWJlciBhbmQgJGh1ZSA+PSAwIGFuZCAkaHVlIDw9IDEge1xuICAgIEByZXR1cm4gbWF0LWNvbG9yKCRwYWxldHRlLCBkZWZhdWx0LCAkaHVlKTtcbiAgfVxuXG4gICRjb2xvcjogbWFwLWdldCgkcGFsZXR0ZSwgJGh1ZSk7XG5cbiAgQGlmICh0eXBlLW9mKCRjb2xvcikgIT0gY29sb3IpIHtcbiAgICAvLyBJZiB0aGUgJGNvbG9yIHJlc29sdmVkIHRvIHNvbWV0aGluZyBkaWZmZXJlbnQgZnJvbSBhIGNvbG9yIChlLmcuIGEgQ1NTIHZhcmlhYmxlKSxcbiAgICAvLyB3ZSBjYW4ndCBhcHBseSB0aGUgb3BhY2l0eSBhbnl3YXkgc28gd2UgcmV0dXJuIHRoZSB2YWx1ZSBhcyBpcywgb3RoZXJ3aXNlIFNhc3MgY2FuXG4gICAgLy8gdGhyb3cgYW4gZXJyb3Igb3Igb3V0cHV0IHNvbWV0aGluZyBpbnZhbGlkLlxuICAgIEByZXR1cm4gJGNvbG9yO1xuICB9XG5cbiAgQHJldHVybiByZ2JhKCRjb2xvciwgaWYoJG9wYWNpdHkgPT0gbnVsbCwgb3BhY2l0eSgkY29sb3IpLCAkb3BhY2l0eSkpO1xufVxuXG4vLyBWYWxpZGF0ZXMgdGhlIHNwZWNpZmllZCB0aGVtZSBieSBlbnN1cmluZyB0aGF0IHRoZSBvcHRpb25hbCBjb2xvciBjb25maWcgZGVmaW5lc1xuLy8gYSBwcmltYXJ5LCBhY2NlbnQgYW5kIHdhcm4gcGFsZXR0ZS4gUmV0dXJucyB0aGUgdGhlbWUgaWYgbm8gZmFpbHVyZXMgd2VyZSBmb3VuZC5cbkBmdW5jdGlvbiBfbWF0LXZhbGlkYXRlLXRoZW1lKCR0aGVtZSkge1xuICBAaWYgbWFwLWdldCgkdGhlbWUsIGNvbG9yKSB7XG4gICAgJGNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgY29sb3IpO1xuICAgIEBpZiBub3QgbWFwLWdldCgkY29sb3IsIHByaW1hcnkpIHtcbiAgICAgIEBlcnJvciAnVGhlbWUgZG9lcyBub3QgZGVmaW5lIGEgdmFsaWQgXCJwcmltYXJ5XCIgcGFsZXR0ZS4nO1xuICAgIH1cbiAgICBAZWxzZSBpZiBub3QgbWFwLWdldCgkY29sb3IsIGFjY2VudCkge1xuICAgICAgQGVycm9yICdUaGVtZSBkb2VzIG5vdCBkZWZpbmUgYSB2YWxpZCBcImFjY2VudFwiIHBhbGV0dGUuJztcbiAgICB9XG4gICAgQGVsc2UgaWYgbm90IG1hcC1nZXQoJGNvbG9yLCB3YXJuKSB7XG4gICAgICBAZXJyb3IgJ1RoZW1lIGRvZXMgbm90IGRlZmluZSBhIHZhbGlkIFwid2FyblwiIHBhbGV0dGUuJztcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkdGhlbWU7XG59XG5cbi8vIENyZWF0ZXMgYSBsaWdodC10aGVtZWQgY29sb3IgY29uZmlndXJhdGlvbiBmcm9tIHRoZSBzcGVjaWZpZWRcbi8vIHByaW1hcnksIGFjY2VudCBhbmQgd2FybiBwYWxldHRlcy5cbkBmdW5jdGlvbiBfbWF0LWNyZWF0ZS1saWdodC1jb2xvci1jb25maWcoJHByaW1hcnksICRhY2NlbnQsICR3YXJuOiBudWxsKSB7XG4gIEByZXR1cm4gKFxuICAgIHByaW1hcnk6ICRwcmltYXJ5LFxuICAgIGFjY2VudDogJGFjY2VudCxcbiAgICB3YXJuOiBpZigkd2FybiAhPSBudWxsLCAkd2FybiwgbWF0LXBhbGV0dGUoJG1hdC1yZWQpKSxcbiAgICBpcy1kYXJrOiBmYWxzZSxcbiAgICBmb3JlZ3JvdW5kOiAkbWF0LWxpZ2h0LXRoZW1lLWZvcmVncm91bmQsXG4gICAgYmFja2dyb3VuZDogJG1hdC1saWdodC10aGVtZS1iYWNrZ3JvdW5kLFxuICApO1xufVxuXG4vLyBDcmVhdGVzIGEgZGFyay10aGVtZWQgY29sb3IgY29uZmlndXJhdGlvbiBmcm9tIHRoZSBzcGVjaWZpZWRcbi8vIHByaW1hcnksIGFjY2VudCBhbmQgd2FybiBwYWxldHRlcy5cbkBmdW5jdGlvbiBfbWF0LWNyZWF0ZS1kYXJrLWNvbG9yLWNvbmZpZygkcHJpbWFyeSwgJGFjY2VudCwgJHdhcm46IG51bGwpIHtcbiAgQHJldHVybiAoXG4gICAgcHJpbWFyeTogJHByaW1hcnksXG4gICAgYWNjZW50OiAkYWNjZW50LFxuICAgIHdhcm46IGlmKCR3YXJuICE9IG51bGwsICR3YXJuLCBtYXQtcGFsZXR0ZSgkbWF0LXJlZCkpLFxuICAgIGlzLWRhcms6IHRydWUsXG4gICAgZm9yZWdyb3VuZDogJG1hdC1kYXJrLXRoZW1lLWZvcmVncm91bmQsXG4gICAgYmFja2dyb3VuZDogJG1hdC1kYXJrLXRoZW1lLWJhY2tncm91bmQsXG4gICk7XG59XG5cbi8vIENyZWF0ZXMgYSBjb250YWluZXIgb2JqZWN0IGZvciBhIGxpZ2h0IHRoZW1lIHRvIGJlIGdpdmVuIHRvIGluZGl2aWR1YWwgY29tcG9uZW50IHRoZW1lIG1peGlucy5cbi8vIFRPRE86IFJlbW92ZSBsZWdhY3kgQVBJIGFuZCByZW5hbWUgYCRwcmltYXJ5YCB0byBgJGNvbmZpZ2AuIEN1cnJlbnRseSBpdCBjYW5ub3QgYmUgcmVuYW1lZFxuLy8gYXMgaXQgd291bGQgYnJlYWsgZXhpc3RpbmcgYXBwcyB0aGF0IHNldCB0aGUgcGFyYW1ldGVyIGJ5IG5hbWUuXG5AZnVuY3Rpb24gbWF0LWxpZ2h0LXRoZW1lKCRwcmltYXJ5LCAkYWNjZW50OiBudWxsLCAkd2FybjogbWF0LXBhbGV0dGUoJG1hdC1yZWQpKSB7XG4gIC8vIFRoaXMgZnVuY3Rpb24gY3JlYXRlcyBhIGNvbnRhaW5lciBvYmplY3QgZm9yIHRoZSBpbmRpdmlkdWFsIGNvbXBvbmVudCB0aGVtZSBtaXhpbnMuIENvbnN1bWVyc1xuICAvLyBjYW4gY29uc3RydWN0IHN1Y2ggYW4gb2JqZWN0IGJ5IGNhbGxpbmcgdGhpcyBmdW5jdGlvbiwgb3IgYnkgYnVpbGRpbmcgdGhlIG9iamVjdCBtYW51YWxseS5cbiAgLy8gVGhlcmUgYXJlIHR3byBwb3NzaWJsZSB3YXlzIHRvIGludm9rZSB0aGlzIGZ1bmN0aW9uIGluIG9yZGVyIHRvIGNyZWF0ZSBzdWNoIGFuIG9iamVjdDpcbiAgLy9cbiAgLy8gICAgKDEpIFBhc3NpbmcgaW4gYSBtYXAgdGhhdCBob2xkcyBvcHRpb25hbCBjb25maWd1cmF0aW9ucyBmb3IgaW5kaXZpZHVhbCBwYXJ0cyBvZiB0aGVcbiAgLy8gICAgICAgIHRoZW1pbmcgc3lzdGVtLiBGb3IgYGNvbG9yYCBjb25maWd1cmF0aW9ucywgdGhlIGZ1bmN0aW9uIG9ubHkgZXhwZWN0cyB0aGUgcGFsZXR0ZXNcbiAgLy8gICAgICAgIGZvciBgcHJpbWFyeWAgYW5kIGBhY2NlbnRgIChhbmQgb3B0aW9uYWxseSBgd2FybmApLiBUaGUgZnVuY3Rpb24gd2lsbCBleHBhbmQgdGhlXG4gIC8vICAgICAgICBzaG9ydGhhbmQgaW50byBhbiBhY3R1YWwgY29uZmlndXJhdGlvbiB0aGF0IGNhbiBiZSBjb25zdW1lZCBpbiBgLWNvbG9yYCBtaXhpbnMuXG4gIC8vICAgICgyKSBMZWdhY3kgcGF0dGVybjogUGFzc2luZyBpbiB0aGUgcGFsZXR0ZXMgYXMgcGFyYW1ldGVycy4gVGhpcyBpcyBub3QgYXMgZmxleGlibGVcbiAgLy8gICAgICAgIGFzIHBhc3NpbmcgaW4gYSBjb25maWd1cmF0aW9uIG1hcCBiZWNhdXNlIG9ubHkgdGhlIGBjb2xvcmAgc3lzdGVtIGNhbiBiZSBjb25maWd1cmVkLlxuICAvL1xuICAvLyBJZiB0aGUgbGVnYWN5IHBhdHRlcm4gaXMgdXNlZCwgd2UgZ2VuZXJhdGUgYSBjb250YWluZXIgb2JqZWN0IG9ubHkgd2l0aCBhIGxpZ2h0LXRoZW1lZFxuICAvLyBjb25maWd1cmF0aW9uIGZvciB0aGUgYGNvbG9yYCB0aGVtaW5nIHBhcnQuXG4gIEBpZiAkYWNjZW50ICE9IG51bGwge1xuICAgIEByZXR1cm4gbWF0LXByaXZhdGUtY3JlYXRlLWJhY2t3YXJkcy1jb21wYXRpYmlsaXR5LXRoZW1lKF9tYXQtdmFsaWRhdGUtdGhlbWUoKFxuICAgICAgX2lzLWxlZ2FjeS10aGVtZTogdHJ1ZSxcbiAgICAgIGNvbG9yOiBfbWF0LWNyZWF0ZS1saWdodC1jb2xvci1jb25maWcoJHByaW1hcnksICRhY2NlbnQsICR3YXJuKSxcbiAgICApKSk7XG4gIH1cbiAgLy8gSWYgdGhlIG1hcCBwYXR0ZXJuIGlzIHVzZWQgKDEpLCB3ZSBqdXN0IHBhc3MtdGhyb3VnaCB0aGUgY29uZmlndXJhdGlvbnMgZm9yIGluZGl2aWR1YWxcbiAgLy8gcGFydHMgb2YgdGhlIHRoZW1pbmcgc3lzdGVtLCBidXQgdXBkYXRlIHRoZSBgY29sb3JgIGNvbmZpZ3VyYXRpb24gaWYgc2V0LiBBcyBleHBsYWluZWRcbiAgLy8gYWJvdmUsIHRoZSBjb2xvciBzaG9ydGhhbmQgd2lsbCBiZSBleHBhbmRlZCB0byBhbiBhY3R1YWwgbGlnaHQtdGhlbWVkIGNvbG9yIGNvbmZpZ3VyYXRpb24uXG4gICRyZXN1bHQ6ICRwcmltYXJ5O1xuICBAaWYgbWFwLWdldCgkcHJpbWFyeSwgY29sb3IpIHtcbiAgICAkY29sb3Itc2V0dGluZ3M6IG1hcC1nZXQoJHByaW1hcnksIGNvbG9yKTtcbiAgICAkcHJpbWFyeTogbWFwLWdldCgkY29sb3Itc2V0dGluZ3MsIHByaW1hcnkpO1xuICAgICRhY2NlbnQ6IG1hcC1nZXQoJGNvbG9yLXNldHRpbmdzLCBhY2NlbnQpO1xuICAgICR3YXJuOiBtYXAtZ2V0KCRjb2xvci1zZXR0aW5ncywgd2Fybik7XG4gICAgJHJlc3VsdDogbWFwLW1lcmdlKCRyZXN1bHQsIChjb2xvcjogX21hdC1jcmVhdGUtbGlnaHQtY29sb3ItY29uZmlnKCRwcmltYXJ5LCAkYWNjZW50LCAkd2FybikpKTtcbiAgfVxuICBAcmV0dXJuIG1hdC1wcml2YXRlLWNyZWF0ZS1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS10aGVtZShfbWF0LXZhbGlkYXRlLXRoZW1lKCRyZXN1bHQpKTtcbn1cblxuLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBvYmplY3QgZm9yIGEgZGFyayB0aGVtZSB0byBiZSBnaXZlbiB0byBpbmRpdmlkdWFsIGNvbXBvbmVudCB0aGVtZSBtaXhpbnMuXG4vLyBUT0RPOiBSZW1vdmUgbGVnYWN5IEFQSSBhbmQgcmVuYW1lIGAkcHJpbWFyeWAgdG8gYCRjb25maWdgLiBDdXJyZW50bHkgaXQgY2Fubm90IGJlIHJlbmFtZWRcbi8vIGFzIGl0IHdvdWxkIGJyZWFrIGV4aXN0aW5nIGFwcHMgdGhhdCBzZXQgdGhlIHBhcmFtZXRlciBieSBuYW1lLlxuQGZ1bmN0aW9uIG1hdC1kYXJrLXRoZW1lKCRwcmltYXJ5LCAkYWNjZW50OiBudWxsLCAkd2FybjogbWF0LXBhbGV0dGUoJG1hdC1yZWQpKSB7XG4gIC8vIFRoaXMgZnVuY3Rpb24gY3JlYXRlcyBhIGNvbnRhaW5lciBvYmplY3QgZm9yIHRoZSBpbmRpdmlkdWFsIGNvbXBvbmVudCB0aGVtZSBtaXhpbnMuIENvbnN1bWVyc1xuICAvLyBjYW4gY29uc3RydWN0IHN1Y2ggYW4gb2JqZWN0IGJ5IGNhbGxpbmcgdGhpcyBmdW5jdGlvbiwgb3IgYnkgYnVpbGRpbmcgdGhlIG9iamVjdCBtYW51YWxseS5cbiAgLy8gVGhlcmUgYXJlIHR3byBwb3NzaWJsZSB3YXlzIHRvIGludm9rZSB0aGlzIGZ1bmN0aW9uIGluIG9yZGVyIHRvIGNyZWF0ZSBzdWNoIGFuIG9iamVjdDpcbiAgLy9cbiAgLy8gICAgKDEpIFBhc3NpbmcgaW4gYSBtYXAgdGhhdCBob2xkcyBvcHRpb25hbCBjb25maWd1cmF0aW9ucyBmb3IgaW5kaXZpZHVhbCBwYXJ0cyBvZiB0aGVcbiAgLy8gICAgICAgIHRoZW1pbmcgc3lzdGVtLiBGb3IgYGNvbG9yYCBjb25maWd1cmF0aW9ucywgdGhlIGZ1bmN0aW9uIG9ubHkgZXhwZWN0cyB0aGUgcGFsZXR0ZXNcbiAgLy8gICAgICAgIGZvciBgcHJpbWFyeWAgYW5kIGBhY2NlbnRgIChhbmQgb3B0aW9uYWxseSBgd2FybmApLiBUaGUgZnVuY3Rpb24gd2lsbCBleHBhbmQgdGhlXG4gIC8vICAgICAgICBzaG9ydGhhbmQgaW50byBhbiBhY3R1YWwgY29uZmlndXJhdGlvbiB0aGF0IGNhbiBiZSBjb25zdW1lZCBpbiBgLWNvbG9yYCBtaXhpbnMuXG4gIC8vICAgICgyKSBMZWdhY3kgcGF0dGVybjogUGFzc2luZyBpbiB0aGUgcGFsZXR0ZXMgYXMgcGFyYW1ldGVycy4gVGhpcyBpcyBub3QgYXMgZmxleGlibGVcbiAgLy8gICAgICAgIGFzIHBhc3NpbmcgaW4gYSBjb25maWd1cmF0aW9uIG1hcCBiZWNhdXNlIG9ubHkgdGhlIGBjb2xvcmAgc3lzdGVtIGNhbiBiZSBjb25maWd1cmVkLlxuICAvL1xuICAvLyBJZiB0aGUgbGVnYWN5IHBhdHRlcm4gaXMgdXNlZCwgd2UgZ2VuZXJhdGUgYSBjb250YWluZXIgb2JqZWN0IG9ubHkgd2l0aCBhIGRhcmstdGhlbWVkXG4gIC8vIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBgY29sb3JgIHRoZW1pbmcgcGFydC5cbiAgQGlmICRhY2NlbnQgIT0gbnVsbCB7XG4gICAgQHJldHVybiBtYXQtcHJpdmF0ZS1jcmVhdGUtYmFja3dhcmRzLWNvbXBhdGliaWxpdHktdGhlbWUoX21hdC12YWxpZGF0ZS10aGVtZSgoXG4gICAgICBfaXMtbGVnYWN5LXRoZW1lOiB0cnVlLFxuICAgICAgY29sb3I6IF9tYXQtY3JlYXRlLWRhcmstY29sb3ItY29uZmlnKCRwcmltYXJ5LCAkYWNjZW50LCAkd2FybiksXG4gICAgKSkpO1xuICB9XG4gIC8vIElmIHRoZSBtYXAgcGF0dGVybiBpcyB1c2VkICgxKSwgd2UganVzdCBwYXNzLXRocm91Z2ggdGhlIGNvbmZpZ3VyYXRpb25zIGZvciBpbmRpdmlkdWFsXG4gIC8vIHBhcnRzIG9mIHRoZSB0aGVtaW5nIHN5c3RlbSwgYnV0IHVwZGF0ZSB0aGUgYGNvbG9yYCBjb25maWd1cmF0aW9uIGlmIHNldC4gQXMgZXhwbGFpbmVkXG4gIC8vIGFib3ZlLCB0aGUgY29sb3Igc2hvcnRoYW5kIHdpbGwgYmUgZXhwYW5kZWQgdG8gYW4gYWN0dWFsIGRhcmstdGhlbWVkIGNvbG9yIGNvbmZpZ3VyYXRpb24uXG4gICRyZXN1bHQ6ICRwcmltYXJ5O1xuICBAaWYgbWFwLWdldCgkcHJpbWFyeSwgY29sb3IpIHtcbiAgICAkY29sb3Itc2V0dGluZ3M6IG1hcC1nZXQoJHByaW1hcnksIGNvbG9yKTtcbiAgICAkcHJpbWFyeTogbWFwLWdldCgkY29sb3Itc2V0dGluZ3MsIHByaW1hcnkpO1xuICAgICRhY2NlbnQ6IG1hcC1nZXQoJGNvbG9yLXNldHRpbmdzLCBhY2NlbnQpO1xuICAgICR3YXJuOiBtYXAtZ2V0KCRjb2xvci1zZXR0aW5ncywgd2Fybik7XG4gICAgJHJlc3VsdDogbWFwLW1lcmdlKCRyZXN1bHQsIChjb2xvcjogX21hdC1jcmVhdGUtZGFyay1jb2xvci1jb25maWcoJHByaW1hcnksICRhY2NlbnQsICR3YXJuKSkpO1xuICB9XG4gIEByZXR1cm4gbWF0LXByaXZhdGUtY3JlYXRlLWJhY2t3YXJkcy1jb21wYXRpYmlsaXR5LXRoZW1lKF9tYXQtdmFsaWRhdGUtdGhlbWUoJHJlc3VsdCkpO1xufVxuXG4vLy8gR2V0cyB0aGUgY29sb3IgY29uZmlndXJhdGlvbiBmcm9tIHRoZSBnaXZlbiB0aGVtZSBvciBjb25maWd1cmF0aW9uLlxuQGZ1bmN0aW9uIG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgLy8gSWYgYSBjb25maWd1cmF0aW9uIGhhcyBiZWVuIHBhc3NlZCwgcmV0dXJuIHRoZSBjb25maWcgZGlyZWN0bHkuXG4gIEBpZiBub3QgbWF0LXByaXZhdGUtaXMtdGhlbWUtb2JqZWN0KCR0aGVtZSkge1xuICAgIEByZXR1cm4gJHRoZW1lO1xuICB9XG4gIC8vIElmIHRoZSB0aGVtZSBoYXMgYmVlbiBjb25zdHJ1Y3RlZCB0aHJvdWdoIHRoZSBsZWdhY3kgdGhlbWluZyBBUEksIHdlIHVzZSB0aGUgdGhlbWUgb2JqZWN0XG4gIC8vIGFzIGNvbG9yIGNvbmZpZ3VyYXRpb24gaW5zdGVhZCBvZiB0aGUgZGVkaWNhdGVkIGBjb2xvcmAgcHJvcGVydHkuIFdlIGRvIHRoaXMgYmVjYXVzZSBmb3JcbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIHdlIGNvcGllZCB0aGUgY29sb3IgY29uZmlndXJhdGlvbiBmcm9tIGAkdGhlbWUuY29sb3JgIHRvIGAkdGhlbWVgLlxuICAvLyBIZW5jZSBkZXZlbG9wZXJzIGNvdWxkIGN1c3RvbWl6ZSB0aGUgY29sb3JzIGF0IHRvcC1sZXZlbCBhbmQgd2FudCB0byByZXNwZWN0IHRoZXNlIGNoYW5nZXNcbiAgLy8gVE9ETzogUmVtb3ZlIHdoZW4gbGVnYWN5IHRoZW1pbmcgQVBJIGlzIHJlbW92ZWQuXG4gIEBpZiBtYXQtcHJpdmF0ZS1pcy1sZWdhY3ktY29uc3RydWN0ZWQtdGhlbWUoJHRoZW1lKSB7XG4gICAgQHJldHVybiAkdGhlbWU7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCR0aGVtZSwgY29sb3IpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHRoZW1lLCBjb2xvcik7XG4gIH1cbiAgQHJldHVybiAkZGVmYXVsdDtcbn1cblxuLy8vIEdldHMgdGhlIGRlbnNpdHkgY29uZmlndXJhdGlvbiBmcm9tIHRoZSBnaXZlbiB0aGVtZSBvciBjb25maWd1cmF0aW9uLlxuQGZ1bmN0aW9uIG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lLW9yLWNvbmZpZywgJGRlZmF1bHQ6IDApIHtcbiAgLy8gSWYgYSBjb25maWd1cmF0aW9uIGhhcyBiZWVuIHBhc3NlZCwgcmV0dXJuIHRoZSBjb25maWcgZGlyZWN0bHkuXG4gIEBpZiBub3QgbWF0LXByaXZhdGUtaXMtdGhlbWUtb2JqZWN0KCR0aGVtZS1vci1jb25maWcpIHtcbiAgICBAcmV0dXJuICR0aGVtZS1vci1jb25maWc7XG4gIH1cbiAgLy8gSW4gY2FzZSBhIHRoZW1lIGhhcyBiZWVuIHBhc3NlZCwgZXh0cmFjdCB0aGUgY29uZmlndXJhdGlvbiBpZiBwcmVzZW50LFxuICAvLyBvciBmYWxsIGJhY2sgdG8gdGhlIGRlZmF1bHQgZGVuc2l0eSBjb25maWcuXG4gIEBpZiBtYXAtaGFzLWtleSgkdGhlbWUtb3ItY29uZmlnLCBkZW5zaXR5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCR0aGVtZS1vci1jb25maWcsIGRlbnNpdHkpO1xuICB9XG4gIEByZXR1cm4gJGRlZmF1bHQ7XG59XG5cbi8vLyBHZXRzIHRoZSB0eXBvZ3JhcGh5IGNvbmZpZ3VyYXRpb24gZnJvbSB0aGUgZ2l2ZW4gdGhlbWUgb3IgY29uZmlndXJhdGlvbi5cbi8vLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIHR5cG9ncmFwaHkgaXMgbm90IGluY2x1ZGVkIGJ5IGRlZmF1bHQuXG5AZnVuY3Rpb24gbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUtb3ItY29uZmlnLCAkZGVmYXVsdDogbnVsbCkge1xuICAvLyBJZiBhIGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gcGFzc2VkLCByZXR1cm4gdGhlIGNvbmZpZyBkaXJlY3RseS5cbiAgQGlmIG5vdCBtYXQtcHJpdmF0ZS1pcy10aGVtZS1vYmplY3QoJHRoZW1lLW9yLWNvbmZpZykge1xuICAgIEByZXR1cm4gJHRoZW1lLW9yLWNvbmZpZztcbiAgfVxuICAvLyBJbiBjYXNlIGEgdGhlbWUgaGFzIGJlZW4gcGFzc2VkLCBleHRyYWN0IHRoZSBjb25maWd1cmF0aW9uIGlmIHByZXNlbnQsXG4gIC8vIG9yIGZhbGwgYmFjayB0byB0aGUgZGVmYXVsdCB0eXBvZ3JhcGh5IGNvbmZpZy5cbiAgQGlmIChtYXAtaGFzLWtleSgkdGhlbWUtb3ItY29uZmlnLCB0eXBvZ3JhcGh5KSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkdGhlbWUtb3ItY29uZmlnLCB0eXBvZ3JhcGh5KTtcbiAgfVxuICBAcmV0dXJuICRkZWZhdWx0O1xufVxuXG5cbi8vXG4vLyBQcml2YXRlIEFQSXNcbi8vXG5cbi8vIENoZWNrcyBpZiBjb25maWd1cmF0aW9ucyB0aGF0IGhhdmUgYmVlbiBkZWNsYXJlZCBpbiB0aGUgZ2l2ZW4gdGhlbWUgaGF2ZSBiZWVuIGdlbmVyYXRlZFxuLy8gYmVmb3JlLiBJZiBzbywgd2FybmluZ3Mgd2lsbCBiZSByZXBvcnRlZC4gVGhpcyBzaG91bGQgbm90aWZ5IGRldmVsb3BlcnMgaW4gY2FzZSBkdXBsaWNhdGVcbi8vIHN0eWxlcyBhcmUgYWNjaWRlbnRhbGx5IGdlbmVyYXRlZCBkdWUgdG8gd3JvbmcgdXNhZ2Ugb2YgdGhlIGFsbC10aGVtZSBtaXhpbnMuXG4vL1xuLy8gQWRkaXRpb25hbGx5LCB0aGlzIG1peGluIGNvbnRyb2xzIHRoZSBkZWZhdWx0IHZhbHVlIGZvciB0aGUgZGVuc2l0eSBjb25maWd1cmF0aW9uLiBCeVxuLy8gZGVmYXVsdCwgZGVuc2l0eSBzdHlsZXMgYXJlIGdlbmVyYXRlZCBhdCBzY2FsZSB6ZXJvLiBJZiB0aGUgc2FtZSBkZW5zaXR5IHN0eWxlcyB3b3VsZCBiZVxuLy8gZ2VuZXJhdGVkIGEgc2Vjb25kIHRpbWUgdGhvdWdoLCB0aGUgZGVmYXVsdCB2YWx1ZSB3aWxsIGNoYW5nZSB0byBhdm9pZCBkdXBsaWNhdGUgc3R5bGVzLlxuLy9cbi8vIFRoZSBtaXhpbiBrZWVwcyB0cmFjayBvZiBhbGwgY29uZmlndXJhdGlvbnMgaW4gYSBsaXN0IHRoYXQgaXMgc2NvcGVkIHRvIHRoZSBzcGVjaWZpZWRcbi8vIGlkLiBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIGEgZ2l2ZW4gdGhlbWUgY2FuIGJlIHBhc3NlZCB0byBtdWx0aXBsZSBkaXNqb2ludCB0aGVtZSBtaXhpbnNcbi8vIChlLmcuIGBhbmd1bGFyLW1hdGVyaWFsLXRoZW1lYCBhbmQgYGFuZ3VsYXItbWF0ZXJpYWwtbWRjLXRoZW1lYCkgd2l0aG91dCBjYXVzaW5nIGFueVxuLy8gc3R5bGUgZHVwbGljYXRpb24uXG5AbWl4aW4gbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUtb3ItY29sb3ItY29uZmlnLCAkaWQpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAkY29sb3ItY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAkZGVuc2l0eS1jb25maWc6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgJHR5cG9ncmFwaHktY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG4gIC8vIExpc3RzIG9mIHByZXZpb3VzIGBjb2xvcmAsIGBkZW5zaXR5YCBhbmQgYHR5cG9ncmFwaHlgIGNvbmZpZ3VyYXRpb25zLlxuICAkcHJldmlvdXMtY29sb3I6IG1hcC1nZXQoJF9tYXQtdGhlbWUtZW1pdHRlZC1jb2xvciwgJGlkKSBvciAoKTtcbiAgJHByZXZpb3VzLXR5cG9ncmFwaHk6IG1hcC1nZXQoJF9tYXQtdGhlbWUtZW1pdHRlZC10eXBvZ3JhcGh5LCAkaWQpIG9yICgpO1xuICAkcHJldmlvdXMtZGVuc2l0eTogbWFwLWdldCgkX21hdC10aGVtZS1lbWl0dGVkLWRlbnNpdHksICRpZCkgb3IgKCk7XG4gIC8vIFdoZXRoZXIgZHVwbGljYXRlIGxlZ2FjeSBkZW5zaXR5IHN0eWxlcyB3b3VsZCBiZSBnZW5lcmF0ZWQuXG4gICRkdXBsaWNhdGUtbGVnYWN5LWRlbnNpdHk6IGZhbHNlO1xuXG4gIC8vIENoZWNrIGlmIHRoZSBjb2xvciBjb25maWd1cmF0aW9uIGhhcyBiZWVuIGdlbmVyYXRlZCBiZWZvcmUuXG4gIEBpZiAkY29sb3ItY29uZmlnICE9IG51bGwge1xuICAgIEBpZiBpbmRleCgkcHJldmlvdXMtY29sb3IsICRjb2xvci1jb25maWcpICE9IG51bGwgYW5kXG4gICAgICAgIG5vdCAkbWF0LXRoZW1lLWlnbm9yZS1kdXBsaWNhdGlvbi13YXJuaW5ncyB7XG4gICAgICBAd2FybiAnVGhlIHNhbWUgY29sb3Igc3R5bGVzIGFyZSBnZW5lcmF0ZWQgbXVsdGlwbGUgdGltZXMuICcgK1xuICAgICAgICAgICRfbWF0LXRoZW1lLWR1cGxpY2F0ZS13YXJuaW5nO1xuICAgIH1cbiAgICAkcHJldmlvdXMtY29sb3I6IGFwcGVuZCgkcHJldmlvdXMtY29sb3IsICRjb2xvci1jb25maWcpO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHR5cG9ncmFwaHkgY29uZmlndXJhdGlvbiBoYXMgYmVlbiBnZW5lcmF0ZWQgYmVmb3JlLlxuICBAaWYgJHR5cG9ncmFwaHktY29uZmlnICE9IG51bGwge1xuICAgIEBpZiBpbmRleCgkcHJldmlvdXMtdHlwb2dyYXBoeSwgJHR5cG9ncmFwaHktY29uZmlnKSAhPSBudWxsIGFuZFxuICAgICAgICBub3QgJG1hdC10aGVtZS1pZ25vcmUtZHVwbGljYXRpb24td2FybmluZ3Mge1xuICAgICAgQHdhcm4gJ1RoZSBzYW1lIHR5cG9ncmFwaHkgc3R5bGVzIGFyZSBnZW5lcmF0ZWQgbXVsdGlwbGUgdGltZXMuICcgK1xuICAgICAgICAgICRfbWF0LXRoZW1lLWR1cGxpY2F0ZS13YXJuaW5nO1xuICAgIH1cbiAgICAkcHJldmlvdXMtdHlwb2dyYXBoeTogYXBwZW5kKCRwcmV2aW91cy10eXBvZ3JhcGh5LCAkdHlwb2dyYXBoeS1jb25maWcpO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGRlbnNpdHkgY29uZmlndXJhdGlvbiBoYXMgYmVlbiBnZW5lcmF0ZWQgYmVmb3JlLlxuICBAaWYgJGRlbnNpdHktY29uZmlnICE9IG51bGwge1xuICAgIEBpZiBpbmRleCgkcHJldmlvdXMtZGVuc2l0eSwgJGRlbnNpdHktY29uZmlnKSAhPSBudWxsIHtcbiAgICAgIC8vIE9ubHkgcmVwb3J0IGEgd2FybmluZyBpZiBkZW5zaXR5IHN0eWxlcyB3b3VsZCBiZSBkdXBsaWNhdGVkIGZvciBub24tbGVnYWN5IHRoZW1lXG4gICAgICAvLyBkZWZpbml0aW9ucy4gRm9yIGxlZ2FjeSB0aGVtZXMsIHdlIGhhdmUgY29tcGF0aWJpbGl0eSBsb2dpYyB0aGF0IGF2b2lkcyBkdXBsaWNhdGlvblxuICAgICAgLy8gb2YgZGVmYXVsdCBkZW5zaXR5IHN0eWxlcy4gV2UgZG9uJ3Qgd2FudCB0byByZXBvcnQgYSB3YXJuaW5nIGluIHRob3NlIGNhc2VzLlxuICAgICAgQGlmIG1hdC1wcml2YXRlLWlzLWxlZ2FjeS1jb25zdHJ1Y3RlZC10aGVtZSgkdGhlbWUpIHtcbiAgICAgICAgJGR1cGxpY2F0ZS1sZWdhY3ktZGVuc2l0eTogdHJ1ZTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmIG5vdCAkbWF0LXRoZW1lLWlnbm9yZS1kdXBsaWNhdGlvbi13YXJuaW5ncyB7XG4gICAgICAgIEB3YXJuICdUaGUgc2FtZSBkZW5zaXR5IHN0eWxlcyBhcmUgZ2VuZXJhdGVkIG11bHRpcGxlIHRpbWVzLiAnICtcbiAgICAgICAgICAgJF9tYXQtdGhlbWUtZHVwbGljYXRlLXdhcm5pbmc7XG4gICAgICB9XG4gICAgfVxuICAgICRwcmV2aW91cy1kZW5zaXR5OiBhcHBlbmQoJHByZXZpb3VzLWRlbnNpdHksICRkZW5zaXR5LWNvbmZpZyk7XG4gIH1cblxuICAkX21hdC10aGVtZS1lbWl0dGVkLWNvbG9yOiBtYXAtbWVyZ2UoXG4gICAgICAkX21hdC10aGVtZS1lbWl0dGVkLWNvbG9yLCAoJGlkOiAkcHJldmlvdXMtY29sb3IpKSAhZ2xvYmFsO1xuICAkX21hdC10aGVtZS1lbWl0dGVkLWRlbnNpdHk6IG1hcC1tZXJnZShcbiAgICAgICRfbWF0LXRoZW1lLWVtaXR0ZWQtZGVuc2l0eSwgKCRpZDogJHByZXZpb3VzLWRlbnNpdHkpKSAhZ2xvYmFsO1xuICAkX21hdC10aGVtZS1lbWl0dGVkLXR5cG9ncmFwaHk6IG1hcC1tZXJnZShcbiAgICAgICRfbWF0LXRoZW1lLWVtaXR0ZWQtdHlwb2dyYXBoeSwgKCRpZDogJHByZXZpb3VzLXR5cG9ncmFwaHkpKSAhZ2xvYmFsO1xuXG4gIC8vIE9wdGlvbmFsbHksIGNvbnN1bWVycyBvZiB0aGlzIG1peGluIGNhbiB3cmFwIGNvbnRlbnRzIGluc2lkZSBzbyB0aGF0IG5lc3RlZFxuICAvLyBkdXBsaWNhdGUgc3R5bGUgY2hlY2tzIGRvIG5vdCByZXBvcnQgYW5vdGhlciB3YXJuaW5nLiBlLmcuIGlmIGRldmVsb3BlcnMgaW5jbHVkZVxuICAvLyB0aGUgYGFuZ3VsYXItbWF0ZXJpYWwtdGhlbWVgIG1peGluIHR3aWNlLCBvbmx5IHRoZSB0b3AtbGV2ZWwgZHVwbGljYXRlIHN0eWxlcyBjaGVja1xuICAvLyBzaG91bGQgcmVwb3J0IGEgd2FybmluZy4gTm90IGFsbCBpbmRpdmlkdWFsIGNvbXBvbmVudHMgc2hvdWxkIHJlcG9ydCBhIHdhcm5pbmcgdG9vLlxuICAkb3JpZy1tYXQtdGhlbWUtaWdub3JlLWR1cGxpY2F0aW9uLXdhcm5pbmdzOiAkbWF0LXRoZW1lLWlnbm9yZS1kdXBsaWNhdGlvbi13YXJuaW5ncztcbiAgJG1hdC10aGVtZS1pZ25vcmUtZHVwbGljYXRpb24td2FybmluZ3M6IHRydWUgIWdsb2JhbDtcblxuICAvLyBJZiBkdXBsaWNhdGUgZGVmYXVsdCBkZW5zaXR5IHN0eWxlcyB3b3VsZCBiZSBnZW5lcmF0ZWQgZm9yIGEgbGVnYWN5IGNvbnN0cnVjdGVkIHRoZW1lLFxuICAvLyB3ZSBhZGp1c3QgdGhlIGRlbnNpdHkgZ2VuZXJhdGlvbiBzbyB0aGF0IG5vIGRlbnNpdHkgc3R5bGVzIGFyZSBnZW5lcmF0ZWQgYnkgZGVmYXVsdC5cbiAgLy8gSWYgbm8gZGVmYXVsdCBkZW5zaXR5IHN0eWxlcyBoYXZlIGJlZW4gZ2VuZXJhdGVkIHlldCwgd2UgZW5zdXJlIHRoYXQgdGhlIHN0eWxlc1xuICAvLyBhcmUgZ2VuZXJhdGVkIGF0IHJvb3QuIEZvciBsZWdhY3kgdGhlbWVzIG91ciBnb2FsIGlzIHRvIGdlbmVyYXRlIGRlZmF1bHQgZGVuc2l0eVxuICAvLyBzdHlsZXMgKipvbmNlKiogYW5kIGF0IHJvb3QuIFRoaXMgbWF0Y2hlcyB0aGUgb2xkIGJlaGF2aW9yIHdoZXJlIGRlbnNpdHkgc3R5bGVzIHdlcmVcbiAgLy8gcGFydCBvZiB0aGUgYmFzZSBjb21wb25lbnQgc3R5bGVzICh0aGF0IGRpZCBub3QgdXNlIHZpZXcgZW5jYXBzdWxhdGlvbikuXG4gIC8vIFRPRE86IFJlbW92ZSB0aGlzIGNvbXBhdGliaWxpdHkgbG9naWMgd2hlbiB0aGUgbGVnYWN5IHRoZW1pbmcgQVBJIGlzIHJlbW92ZWQuXG4gICRtYXQtcHJpdmF0ZS1kZW5zaXR5LWdlbmVyYXRlLWF0LXJvb3Q6IG1hdC1wcml2YXRlLWlzLWxlZ2FjeS1jb25zdHJ1Y3RlZC10aGVtZSgkdGhlbWUpICFnbG9iYWw7XG4gICRtYXQtcHJpdmF0ZS1kZW5zaXR5LWdlbmVyYXRlLXN0eWxlczogbm90ICRkdXBsaWNhdGUtbGVnYWN5LWRlbnNpdHkgIWdsb2JhbDtcblxuICBAY29udGVudDtcbiAgJG1hdC10aGVtZS1pZ25vcmUtZHVwbGljYXRpb24td2FybmluZ3M6ICRvcmlnLW1hdC10aGVtZS1pZ25vcmUtZHVwbGljYXRpb24td2FybmluZ3MgIWdsb2JhbDtcblxuICAkbWF0LXByaXZhdGUtZGVuc2l0eS1nZW5lcmF0ZS1hdC1yb290OiBmYWxzZSAhZ2xvYmFsO1xuICAkbWF0LXByaXZhdGUtZGVuc2l0eS1nZW5lcmF0ZS1zdHlsZXM6IHRydWUgIWdsb2JhbDtcbn1cblxuLy8gQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIHZhbHVlIHJlc29sdmVzIHRvIGEgdGhlbWUgb2JqZWN0LiBUaGVtZSBvYmplY3RzIGFyZSBhbHdheXNcbi8vIG9mIHR5cGUgYG1hcGAgYW5kIGNhbiBvcHRpb25hbGx5IG9ubHkgc3BlY2lmeSBgY29sb3JgLCBgZGVuc2l0eWAgb3IgYHR5cG9ncmFwaHlgLlxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLWlzLXRoZW1lLW9iamVjdCgkdmFsdWUpIHtcbiAgQHJldHVybiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ21hcCcgYW5kIChcbiAgICBtYXAtaGFzLWtleSgkdmFsdWUsIGNvbG9yKSBvclxuICAgIG1hcC1oYXMta2V5KCR2YWx1ZSwgZGVuc2l0eSkgb3JcbiAgICBtYXAtaGFzLWtleSgkdmFsdWUsIHR5cG9ncmFwaHkpIG9yXG4gICAgbGVuZ3RoKCR2YWx1ZSkgPT0gMFxuICApO1xufVxuXG4vLyBDaGVja3Mgd2hldGhlciBhIGdpdmVuIHZhbHVlIGNvcnJlc3BvbmRzIHRvIGEgbGVnYWN5IGNvbnN0cnVjdGVkIHRoZW1lLlxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLWlzLWxlZ2FjeS1jb25zdHJ1Y3RlZC10aGVtZSgkdmFsdWUpIHtcbiAgQHJldHVybiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ21hcCcgYW5kIG1hcC1nZXQoJHZhbHVlLCAnX2lzLWxlZ2FjeS10aGVtZScpO1xufVxuXG4vLyBDcmVhdGVzIGEgYmFja3dhcmRzIGNvbXBhdGlibGUgdGhlbWUuIFByZXZpb3VzbHkgaW4gQW5ndWxhciBNYXRlcmlhbCwgdGhlbWUgb2JqZWN0c1xuLy8gY29udGFpbmVkIHRoZSBjb2xvciBjb25maWd1cmF0aW9uIGRpcmVjdGx5LiBXaXRoIHRoZSByZWNlbnQgcmVmYWN0b3Jpbmcgb2YgdGhlIHRoZW1pbmdcbi8vIHN5c3RlbSB0byBhbGxvdyBmb3IgZGVuc2l0eSBhbmQgdHlwb2dyYXBoeSBjb25maWd1cmF0aW9ucywgdGhpcyBpcyBubyBsb25nZXIgdGhlIGNhc2UuXG4vLyBUbyBlbnN1cmUgdGhhdCBjb25zdHJ1Y3RlZCB0aGVtZXMgd2hpY2ggd2lsbCBiZSBwYXNzZWQgdG8gY3VzdG9tIHRoZW1lIG1peGlucyBkbyBub3QgYnJlYWssXG4vLyB3ZSBjb3B5IHRoZSBjb2xvciBjb25maWd1cmF0aW9uIGFuZCBwdXQgaXRzIHByb3BlcnRpZXMgYXQgdGhlIHRvcC1sZXZlbCBvZiB0aGUgdGhlbWUgb2JqZWN0LlxuLy8gSGVyZSBpcyBhbiBleGFtcGxlIG9mIGEgcGF0dGVybiB0aGF0IHNob3VsZCBzdGlsbCB3b3JrIHVudGlsIGl0J3Mgb2ZmaWNpYWxseSBtYXJrZWQgYXMgYVxuLy8gYnJlYWtpbmcgY2hhbmdlOlxuLy9cbi8vICAgIEBtaXhpbiBteS1jdXN0b20tY29tcG9uZW50LXRoZW1lKCR0aGVtZSkge1xuLy8gICAgICAubXktY29tcCB7XG4vLyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKG1hcC1nZXQoJHRoZW1lLCBwcmltYXJ5KSk7XG4vLyAgICAgIH1cbi8vICAgIH1cbi8vXG4vLyBOb3RlIHRoYXQgdGhlIGAkdGhlbWUucHJpbWFyeWAga2V5IGRvZXMgdXN1YWxseSBub3QgZXhpc3Qgc2luY2UgdGhlIGNvbG9yIGNvbmZpZ3VyYXRpb25cbi8vIGlzIHN0b3JlZCBpbiBgJHRoZW1lLmNvbG9yYCB3aGljaCBjb250YWlucyBhIHByb3BlcnR5IGZvciBgcHJpbWFyeWAuIFRoaXMgbWV0aG9kIGNvcGllc1xuLy8gdGhlIG1hcCBmcm9tIGAkdGhlbWUuY29sb3JgIHRvIGAkdGhlbWVgIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbkBmdW5jdGlvbiBtYXQtcHJpdmF0ZS1jcmVhdGUtYmFja3dhcmRzLWNvbXBhdGliaWxpdHktdGhlbWUoJHRoZW1lKSB7XG4gIEBpZiBub3QgbWFwLWdldCgkdGhlbWUsIGNvbG9yKSB7XG4gICAgQHJldHVybiAkdGhlbWU7XG4gIH1cbiAgJGNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgY29sb3IpO1xuICBAcmV0dXJuIG1hcC1tZXJnZSgkdGhlbWUsICRjb2xvcik7XG59XG5cbi8vIEdldHMgdGhlIHRoZW1lIGZyb20gdGhlIGdpdmVuIHZhbHVlIHRoYXQgaXMgZWl0aGVyIGFscmVhZHkgYSB0aGVtZSwgb3IgYSBjb2xvciBjb25maWd1cmF0aW9uLlxuLy8gVGhpcyBoYW5kbGVzIHRoZSBsZWdhY3kgY2FzZSB3aGVyZSBkZXZlbG9wZXJzIHBhc3MgYSBjb2xvciBjb25maWd1cmF0aW9uIGRpcmVjdGx5IHRvIHRoZVxuLy8gdGhlbWUgbWl4aW4uIEJlZm9yZSB3ZSBpbnRyb2R1Y2VkIHRoZSBuZXcgcGF0dGVybiBmb3IgY29uc3RydWN0aW5nIGEgdGhlbWUsIGRldmVsb3BlcnMgcGFzc2VkXG4vLyB0aGUgY29sb3IgY29uZmlndXJhdGlvbiBkaXJlY3RseSB0byB0aGUgdGhlbWUgbWl4aW5zLiBUaGlzIGNhbiBiZSBzdGlsbCB0aGUgY2FzZSBpZiBkZXZlbG9wZXJzXG4vLyBjb25zdHJ1Y3QgYSB0aGVtZSBtYW51YWxseSBhbmQgcGFzcyBpdCB0byBhIHRoZW1lLiBXZSBzdXBwb3J0IHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxuLy8gVE9ETyhkZXZ2ZXJzaW9uKTogcmVtb3ZlIHRoaXMgaW4gdGhlIGZ1dHVyZS4gQ29uc3RydWN0aW5nIHRoZW1lcyBtYW51YWxseSBpcyByYXJlLFxuLy8gYW5kIHRoZSBjb2RlIGNhbiBiZSBlYXNpbHkgdXBkYXRlZCB0byB0aGUgbmV3IEFQSS5cbkBmdW5jdGlvbiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgQGlmIG1hdC1wcml2YXRlLWlzLXRoZW1lLW9iamVjdCgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICAgQHJldHVybiAkdGhlbWUtb3ItY29sb3ItY29uZmlnO1xuICB9XG4gIEByZXR1cm4gbWF0LXByaXZhdGUtY3JlYXRlLWJhY2t3YXJkcy1jb21wYXRpYmlsaXR5LXRoZW1lKChcbiAgICBfaXMtbGVnYWN5LXRoZW1lOiB0cnVlLFxuICAgIGNvbG9yOiAkdGhlbWUtb3ItY29sb3ItY29uZmlnXG4gICkpO1xufVxuXG5cblxuJG1hdC1yaXBwbGUtY29sb3Itb3BhY2l0eTogMC4xO1xuXG5AbWl4aW4gbWF0LXJpcHBsZSgpIHtcblxuICAvLyBUaGUgaG9zdCBlbGVtZW50IG9mIGFuIG1hdC1yaXBwbGUgZGlyZWN0aXZlIHNob3VsZCBhbHdheXMgaGF2ZSBhIHBvc2l0aW9uIG9mIFwiYWJzb2x1dGVcIiBvclxuICAvLyBcInJlbGF0aXZlXCIgc28gdGhhdCB0aGUgcmlwcGxlcyBpbnNpZGUgYXJlIGNvcnJlY3RseSBwb3NpdGlvbmVkIHJlbGF0aXZlbHkgdG8gdGhlIGNvbnRhaW5lci5cbiAgLm1hdC1yaXBwbGUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAvLyBCeSBkZWZhdWx0LCBldmVyeSByaXBwbGUgY29udGFpbmVyIHNob3VsZCBoYXZlIHBvc2l0aW9uOiByZWxhdGl2ZSBpbiBmYXZvciBvZiBjcmVhdGluZyBhblxuICAgIC8vIGVhc3kgQVBJIGZvciBkZXZlbG9wZXJzIHVzaW5nIHRoZSBNYXRSaXBwbGUgZGlyZWN0aXZlLlxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8vIFByb21vdGUgY29udGFpbmVycyB0aGF0IGhhdmUgcmlwcGxlcyB0byBhIG5ldyBsYXllci4gV2Ugd2FudCB0byB0YXJnZXQgYDpub3QoOmVtcHR5KWAsXG4gICAgLy8gYmVjYXVzZSB3ZSBkb24ndCB3YW50IGFsbCByaXBwbGUgY29udGFpbmVycyB0byBoYXZlIHRoZWlyIG93biBsYXllciBzaW5jZSB0aGV5J3JlIHVzZWQgaW4gYVxuICAgIC8vIGxvdCBvZiBwbGFjZXMgYW5kIHRoZSBsYXllciBpcyBvbmx5IHJlbGV2YW50IHdoaWxlIGFuaW1hdGluZy4gTm90ZSB0aGF0IGlkZWFsbHkgd2UnZCB1c2VcbiAgICAvLyB0aGUgYGNvbnRhaW5gIHByb3BlcnR5IGhlcmUgKHNlZSAjMTMxNzUpLCBiZWNhdXNlIGA6ZW1wdHlgIGNhbiBiZSBicm9rZW4gYnkgaGF2aW5nIGV4dHJhXG4gICAgLy8gdGV4dCBpbnNpZGUgdGhlIGVsZW1lbnQsIGJ1dCBpdCBpc24ndCB2ZXJ5IHdlbGwgc3VwcG9ydGVkIHlldC5cbiAgICAmOm5vdCg6ZW1wdHkpIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB9XG4gIH1cblxuICAubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSwgdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuXG4gICAgLy8gSW4gaGlnaCBjb250cmFzdCBtb2RlIHRoZSByaXBwbGUgaXMgb3BhcXVlLCBjYXVzaW5nIGl0IHRvIG9ic3RydWN0IHRoZSBjb250ZW50LlxuICAgIEBpbmNsdWRlIGNkay1oaWdoLWNvbnRyYXN0KGFjdGl2ZSwgb2ZmKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vKiBDb2xvcnMgZm9yIHRoZSByaXBwbGUgZWxlbWVudHMuKi9cbkBtaXhpbiBtYXQtcmlwcGxlLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkZm9yZWdyb3VuZC1iYXNlOiBtYXAtZ2V0KCRmb3JlZ3JvdW5kLCBiYXNlKTtcblxuICAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICAvLyBJZiB0aGUgcmlwcGxlIGNvbG9yIGlzIHJlc29sdmVzIHRvIGEgY29sb3IgKnR5cGUqLCB3ZSBjYW4gdXNlIGl0IGRpcmVjdGx5LCBvdGhlcndpc2VcbiAgICAvLyAoZS5nLiBpdCByZXNvbHZlcyB0byBhIENTUyB2YXJpYWJsZSkgd2UgZmFsbCBiYWNrIHRvIHVzaW5nIHRoZSBjb2xvciBhbmQgc2V0dGluZyBhbiBvcGFjaXR5LlxuICAgIEBpZiAodHlwZS1vZigkZm9yZWdyb3VuZC1iYXNlKSA9PSBjb2xvcikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkZm9yZWdyb3VuZC1iYXNlLCAkbWF0LXJpcHBsZS1jb2xvci1vcGFjaXR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcmVncm91bmQtYmFzZTtcbiAgICAgIG9wYWNpdHk6ICRtYXQtcmlwcGxlLWNvbG9yLW9wYWNpdHk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcmlwcGxlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1yaXBwbGUnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcmlwcGxlLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGhpcyBtaXhpbiBlbnN1cmVzIGFuIGVsZW1lbnQgc3BhbnMgdG8gZmlsbCB0aGUgbmVhcmVzdCBhbmNlc3RvciB3aXRoIGRlZmluZWQgcG9zaXRpb25pbmcuXG5AbWl4aW4gbWF0LWZpbGwge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuXG4vLy8gTWl4aW4gdGhhdCB0dXJucyBvbiBzdHJvbmcgZm9jdXMgaW5kaWNhdG9ycy5cbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gICAubXktYXBwIHtcbi8vLyAgICAgQGluY2x1ZGUgbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzKCRjb25maWcpO1xuLy8vICAgfVxuQG1peGluIG1hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycygkY29uZmlnOiAoKSkge1xuICAvLyBEZWZhdWx0IGZvY3VzIGluZGljYXRvciBjb25maWcuXG4gICRkZWZhdWx0LWNvbmZpZzogKFxuICAgIGJvcmRlci1zdHlsZTogc29saWQsXG4gICAgYm9yZGVyLXdpZHRoOiAzcHgsXG4gICAgYm9yZGVyLXJhZGl1czogNHB4LFxuICApO1xuXG4gIC8vIE1lcmdlIGRlZmF1bHQgY29uZmlnIHdpdGggdXNlciBjb25maWcuXG4gICRjb25maWc6IG1hcC1tZXJnZSgkZGVmYXVsdC1jb25maWcsICRjb25maWcpO1xuICAkYm9yZGVyLXN0eWxlOiBtYXAtZ2V0KCRjb25maWcsIGJvcmRlci1zdHlsZSk7XG4gICRib3JkZXItd2lkdGg6IG1hcC1nZXQoJGNvbmZpZywgYm9yZGVyLXdpZHRoKTtcbiAgJGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGNvbmZpZywgYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gQmFzZSBzdHlsZXMgZm9yIGZvY3VzIGluZGljYXRvcnMuXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIG1hdC1maWxsKCk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3JkZXI6ICRib3JkZXItd2lkdGggJGJvcmRlci1zdHlsZSB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIC8vIEJ5IGRlZmF1bHQsIGFsbCBmb2N1cyBpbmRpY2F0b3JzIGFyZSBmbHVzaCB3aXRoIHRoZSBib3VuZGluZyBib3ggb2YgdGhlaXJcbiAgLy8gaG9zdCBlbGVtZW50LiBGb3IgcGFydGljdWxhciBlbGVtZW50cyAobGlzdGVkIGJlbG93KSwgZGVmYXVsdCBpbnNldC9vZmZzZXRcbiAgLy8gdmFsdWVzIGFyZSBuZWNlc3NhcnkgdG8gZW5zdXJlIHRoYXQgdGhlIGZvY3VzIGluZGljYXRvciBpcyBzdWZmaWNpZW50bHlcbiAgLy8gY29udHJhc3RpdmUgYW5kIHJlbmRlcnMgYXBwcm9wcmlhdGVseS5cblxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtZmxhdC1idXR0b246OmJlZm9yZSxcbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3IubWF0LXJhaXNlZC1idXR0b246OmJlZm9yZSxcbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3IubWF0LWZhYjo6YmVmb3JlLFxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtbWluaS1mYWI6OmJlZm9yZSxcbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3IubWF0LWNoaXA6OmJlZm9yZSxcbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3IubWF0LXNvcnQtaGVhZGVyLWNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICBtYXJnaW46IC0oJGJvcmRlci13aWR0aCArIDJweCk7XG4gIH1cblxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtc3Ryb2tlZC1idXR0b246OmJlZm9yZSxcbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3IubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50OjpiZWZvcmUge1xuICAgIG1hcmdpbjogLSgkYm9yZGVyLXdpZHRoICsgM3B4KTtcbiAgfVxuXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC10YWItbGluazo6YmVmb3JlLFxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtdGFiLWxhYmVsOjpiZWZvcmUge1xuICAgIG1hcmdpbjogNXB4O1xuICB9XG5cbiAgLy8gUmVuZGVyIHRoZSBmb2N1cyBpbmRpY2F0b3Igb24gZm9jdXMuIERlZmluaW5nIGEgcHNldWRvIGVsZW1lbnQnc1xuICAvLyBjb250ZW50IHdpbGwgY2F1c2UgaXQgdG8gcmVuZGVyLlxuXG4gIC8vIENoZWNrYm94ZXMsIHJhZGlvcywgYW5kIHNsaWRlIHRvZ2dsZXMgcmVuZGVyIGZvY3VzIGluZGljYXRvcnMgd2hlbiB0aGVcbiAgLy8gYXNzb2NpYXRlZCB2aXN1YWxseS1oaWRkZW4gaW5wdXQgaXMgZm9jdXNlZC5cbiAgLm1hdC1jaGVja2JveC1pbnB1dDpmb2N1cyB+IC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsXG4gIC5tYXQtcmFkaW8taW5wdXQ6Zm9jdXMgfiAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlLFxuICAubWF0LXNsaWRlLXRvZ2dsZS1pbnB1dDpmb2N1cyB+IC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iLWNvbnRhaW5lciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlLFxuXG4gIC8vIEZvciBvcHRpb25zLCByZW5kZXIgdGhlIGZvY3VzIGluZGljYXRvciB3aGVuIHRoZSBjbGFzcyAubWF0LWFjdGl2ZVxuICAvLyBpcyBwcmVzZW50LlxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtb3B0aW9uLm1hdC1hY3RpdmU6OmJlZm9yZSxcblxuICAvLyBGb3IgY2FsZW5kYXIgY2VsbHMsIHJlbmRlciB0aGUgZm9jdXMgaW5kaWNhdG9yIHdoZW4gdGhlIHBhcmVudCBjZWxsIGlzXG4gIC8vIGZvY3VzZWQuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jZWxsOmZvY3VzIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsXG5cbiAgLy8gRm9yIGFsbCBvdGhlciBjb21wb25lbnRzLCByZW5kZXIgdGhlIGZvY3VzIGluZGljYXRvciBvbiBmb2N1cy5cbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3I6Zm9jdXM6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gIH1cbn1cblxuLy8gTWl4aW4gdGhhdCBhcHBsaWVzIHRoZSBib3JkZXIgY29sb3IgZm9yIHRoZSBmb2N1cyBpbmRpY2F0b3JzLlxuQG1peGluIF9tYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtYm9yZGVyLWNvbG9yKCRjb2xvcikge1xuICAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIEBpbmNsdWRlIF9tYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtYm9yZGVyLWNvbG9yKG1hdC1jb2xvcihtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpKSk7XG59XG5cbi8vLyBNaXhpbiB0aGF0IHNldHMgdGhlIGNvbG9yIG9mIHRoZSBmb2N1cyBpbmRpY2F0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtjb2xvcnxtYXB9ICR0aGVtZS1vci1jb2xvclxuLy8vICAgSWYgdGhlbWUsIGZvY3VzIGluZGljYXRvcnMgYXJlIHNldCB0byB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgdGhlbWUuIElmXG4vLy8gICBjb2xvciwgZm9jdXMgaW5kaWNhdG9ycyBhcmUgc2V0IHRvIHRoYXQgY29sb3IuXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vICAgLmRlbW8tZGFyay10aGVtZSB7XG4vLy8gICAgIEBpbmNsdWRlIG1hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy10aGVtZSgkZGFyay10aGVtZS1tYXApO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyAgIC5kZW1vLXJlZC10aGVtZSB7XG4vLy8gICAgIEBpbmNsdWRlIG1hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy10aGVtZSgjZjAwKTtcbi8vLyAgIH1cbi8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXRlcmlhbC90aGVtZS1taXhpbi1hcGkgKi9cbkBtaXhpbiBtYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtdGhlbWUoJHRoZW1lLW9yLWNvbG9yKSB7XG4gIEBpZiB0eXBlLW9mKCR0aGVtZS1vci1jb2xvcikgIT0gJ21hcCcge1xuICAgIEBpbmNsdWRlIF9tYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtYm9yZGVyLWNvbG9yKCR0aGVtZS1vci1jb2xvcik7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3IpO1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzJykge1xuICAgICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgICAgQGluY2x1ZGUgbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLWNvbG9yKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE1peGluIHRoYXQgZW5zdXJlcyBmb2N1cyBpbmRpY2F0b3IgaG9zdCBlbGVtZW50cyBhcmUgcG9zaXRpb25lZCBzbyB0aGF0IHRoZSBmb2N1cyBpbmRpY2F0b3Jcbi8vIHBzZXVkbyBlbGVtZW50IHdpdGhpbiBpcyBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSBob3N0LiBQcml2YXRlIG1peGluIGluY2x1ZGVkIHdpdGhpblxuLy8gYG1hdC1jb3JlYC5cbkBtaXhpbiBtYXQtcHJpdmF0ZS1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy1wb3NpdGlvbmluZygpIHtcbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3Ige1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuXG5cblxuLy8gVXRpbGl0eSBmb3IgZmV0Y2hpbmcgYSBuZXN0ZWQgdmFsdWUgZnJvbSBhIHR5cG9ncmFwaHkgY29uZmlnLlxuQGZ1bmN0aW9uIF9tYXQtZ2V0LXR5cGUtdmFsdWUoJGNvbmZpZywgJGxldmVsLCAkbmFtZSkge1xuICBAcmV0dXJuIG1hcC1nZXQobWFwLWdldCgkY29uZmlnLCAkbGV2ZWwpLCAkbmFtZSk7XG59XG5cbi8vIEdldHMgdGhlIGZvbnQgc2l6ZSBmb3IgYSBsZXZlbCBpbnNpZGUgYSB0eXBvZ3JhcGh5IGNvbmZpZy5cbkBmdW5jdGlvbiBtYXQtZm9udC1zaXplKCRjb25maWcsICRsZXZlbCkge1xuICBAcmV0dXJuIF9tYXQtZ2V0LXR5cGUtdmFsdWUoJGNvbmZpZywgJGxldmVsLCBmb250LXNpemUpO1xufVxuXG4vLyBHZXRzIHRoZSBsaW5lIGhlaWdodCBmb3IgYSBsZXZlbCBpbnNpZGUgYSB0eXBvZ3JhcGh5IGNvbmZpZy5cbkBmdW5jdGlvbiBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgJGxldmVsKSB7XG4gIEByZXR1cm4gX21hdC1nZXQtdHlwZS12YWx1ZSgkY29uZmlnLCAkbGV2ZWwsIGxpbmUtaGVpZ2h0KTtcbn1cblxuLy8gR2V0cyB0aGUgZm9udCB3ZWlnaHQgZm9yIGEgbGV2ZWwgaW5zaWRlIGEgdHlwb2dyYXBoeSBjb25maWcuXG5AZnVuY3Rpb24gbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsICRsZXZlbCkge1xuICBAcmV0dXJuIF9tYXQtZ2V0LXR5cGUtdmFsdWUoJGNvbmZpZywgJGxldmVsLCBmb250LXdlaWdodCk7XG59XG5cbi8vIEdldHMgdGhlIGxldHRlciBzcGFjaW5nIGZvciBhIGxldmVsIGluc2lkZSBhIHR5cG9ncmFwaHkgY29uZmlnLlxuQGZ1bmN0aW9uIG1hdC1sZXR0ZXItc3BhY2luZygkY29uZmlnLCAkbGV2ZWwpIHtcbiAgQHJldHVybiBfbWF0LWdldC10eXBlLXZhbHVlKCRjb25maWcsICRsZXZlbCwgbGV0dGVyLXNwYWNpbmcpO1xufVxuXG4vLyBHZXRzIHRoZSBmb250LWZhbWlseSBmcm9tIGEgdHlwb2dyYXBoeSBjb25maWcgYW5kIHJlbW92ZXMgdGhlIHF1b3RlcyBhcm91bmQgaXQuXG5AZnVuY3Rpb24gbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsICRsZXZlbDogbnVsbCkge1xuICAkZm9udC1mYW1pbHk6IG1hcC1nZXQoJGNvbmZpZywgZm9udC1mYW1pbHkpO1xuXG4gIEBpZiAkbGV2ZWwgIT0gbnVsbCB7XG4gICAgJGZvbnQtZmFtaWx5OiBfbWF0LWdldC10eXBlLXZhbHVlKCRjb25maWcsICRsZXZlbCwgZm9udC1mYW1pbHkpO1xuICB9XG5cbiAgLy8gR3VhcmQgYWdhaW5zdCB1bnF1b3Rpbmcgbm9uLXN0cmluZyB2YWx1ZXMsIGJlY2F1c2UgaXQncyBkZXByZWNhdGVkLlxuICBAcmV0dXJuIGlmKHR5cGUtb2YoJGZvbnQtZmFtaWx5KSA9PSBzdHJpbmcsIHVucXVvdGUoJGZvbnQtZmFtaWx5KSwgJGZvbnQtZmFtaWx5KTtcbn1cblxuLy8gT3V0cHV0cyB0aGUgc2hvcnRoYW5kIGBmb250YCBDU1MgcHJvcGVydHksIGJhc2VkIG9uIGEgc2V0IG9mIHR5cG9ncmFwaHkgdmFsdWVzLiBGYWxscyBiYWNrIHRvXG4vLyB0aGUgaW5kaXZpZHVhbCBwcm9wZXJ0aWVzIGlmIGEgdmFsdWUgdGhhdCBpc24ndCBhbGxvd2VkIGluIHRoZSBzaG9ydGhhbmQgaXMgcGFzc2VkIGluLlxuQG1peGluIG1hdC10eXBvZ3JhcGh5LWZvbnQtc2hvcnRoYW5kKCRmb250LXNpemUsICRmb250LXdlaWdodCwgJGxpbmUtaGVpZ2h0LCAkZm9udC1mYW1pbHkpIHtcbiAgLy8gSWYgYW55IG9mIHRoZSB2YWx1ZXMgYXJlIHNldCB0byBgaW5oZXJpdGAsIHdlIGNhbid0IHVzZSB0aGUgc2hvcnRoYW5kXG4gIC8vIHNvIHdlIGZhbGwgYmFjayB0byBwYXNzaW5nIGluIHRoZSBpbmRpdmlkdWFsIHByb3BlcnRpZXMuXG4gIEBpZiAoJGZvbnQtc2l6ZSA9PSBpbmhlcml0IG9yXG4gICAgICAgJGZvbnQtd2VpZ2h0ID09IGluaGVyaXQgb3JcbiAgICAgICAkbGluZS1oZWlnaHQgPT0gaW5oZXJpdCBvclxuICAgICAgICRmb250LWZhbWlseSA9PSBpbmhlcml0IG9yXG4gICAgICAgJGZvbnQtc2l6ZSA9PSBudWxsIG9yXG4gICAgICAgJGZvbnQtd2VpZ2h0ID09IG51bGwgb3JcbiAgICAgICAkbGluZS1oZWlnaHQgPT0gbnVsbCBvclxuICAgICAgICRmb250LWZhbWlseSA9PSBudWxsKSB7XG5cbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIE90aGVyd2lzZSB1c2UgdGhlIHNob3J0aGFuZCBgZm9udGAsIGJlY2F1c2UgaXQncyB0aGUgbGVhc3QgYW1vdW50IG9mIGJ5dGVzLiBOb3RlXG4gICAgLy8gdGhhdCB3ZSBuZWVkIHRvIHVzZSBpbnRlcnBvbGF0aW9uIGZvciBgZm9udC1zaXplL2xpbmUtaGVpZ2h0YCBpbiBvcmRlciB0byBwcmV2ZW50XG4gICAgLy8gU2FzcyBmcm9tIGRpdmlkaW5nIHRoZSB0d28gdmFsdWVzLlxuICAgIGZvbnQ6ICRmb250LXdlaWdodCAjeyRmb250LXNpemV9LyN7JGxpbmUtaGVpZ2h0fSAkZm9udC1mYW1pbHk7XG4gIH1cbn1cblxuLy8gQ29udmVydHMgYSB0eXBvZ3JhcGh5IGxldmVsIGludG8gQ1NTIHN0eWxlcy5cbkBtaXhpbiBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgJGxldmVsKSB7XG4gICRmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgJGxldmVsKTtcbiAgJGZvbnQtd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgJGxldmVsKTtcbiAgJGxpbmUtaGVpZ2h0OiBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgJGxldmVsKTtcbiAgJGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgJGxldmVsKTtcblxuICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1mb250LXNob3J0aGFuZCgkZm9udC1zaXplLCAkZm9udC13ZWlnaHQsICRsaW5lLWhlaWdodCwgJGZvbnQtZmFtaWx5KTtcbiAgbGV0dGVyLXNwYWNpbmc6IG1hdC1sZXR0ZXItc3BhY2luZygkY29uZmlnLCAkbGV2ZWwpO1xufVxuXG5cbkBtaXhpbiBtYXQtb3B0aW9uLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG5cbiAgLm1hdC1vcHRpb24ge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuXG4gICAgJjpob3Zlcjpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpLFxuICAgICY6Zm9jdXM6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGhvdmVyKTtcbiAgICB9XG5cbiAgICAvLyBJbiBtdWx0aXBsZSBtb2RlIHRoZXJlIGlzIGEgY2hlY2tib3ggdG8gc2hvdyB0aGF0IHRoZSBvcHRpb24gaXMgc2VsZWN0ZWQuXG4gICAgJi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLW11bHRpcGxlKTpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgaG92ZXIpO1xuICAgIH1cblxuICAgICYubWF0LWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGhvdmVyKTtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICAgIH1cblxuICAgICYubWF0LW9wdGlvbi1kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBoaW50LXRleHQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtcHJpbWFyeSAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSwgdGV4dCk7XG4gIH1cblxuICAubWF0LWFjY2VudCAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkYWNjZW50LCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtd2FybiAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1vcHRpb24tdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtb3B0aW9uIHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgc3ViaGVhZGluZy0yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9tYXQtb3B0aW9uLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1vcHRpb24tdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LW9wdGlvbicpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1vcHRpb24tY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1vcHRpb24tZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1vcHRpb24tdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuQG1peGluIG1hdC1vcHRncm91cC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LW9wdGdyb3VwLWxhYmVsIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LW9wdGdyb3VwLWRpc2FibGVkIC5tYXQtb3B0Z3JvdXAtbGFiZWwge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGhpbnQtdGV4dCk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1vcHRncm91cC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1vcHRncm91cC1sYWJlbCB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGJvZHktMik7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtb3B0Z3JvdXAtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LW9wdGdyb3VwLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1vcHRncm91cCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1vcHRncm91cC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LW9wdGdyb3VwLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtb3B0Z3JvdXAtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5AbWl4aW4gbWF0LXBzZXVkby1jaGVja2JveC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuXG4gIC8vIE5PVEUodHJhdmlza2F1Zm1hbik6IFdoaWxlIHRoZSBzcGVjIGNhbGxzIGZvciB0cmFuc2x1Y2VudCBibGFja3Mvd2hpdGVzIGZvciBkaXNhYmxlZCBjb2xvcnMsXG4gIC8vIHRoaXMgZG9lcyBub3Qgd29yayB3ZWxsIHdpdGggZWxlbWVudHMgbGF5ZXJlZCBvbiB0b3Agb2Ygb25lIGFub3RoZXIuIFRvIGdldCBhcm91bmQgdGhpcyB3ZVxuICAvLyBibGVuZCB0aGUgY29sb3JzIHRvZ2V0aGVyIGJhc2VkIG9uIHRoZSBiYXNlIGNvbG9yIGFuZCB0aGUgdGhlbWUgYmFja2dyb3VuZC5cbiAgJHdoaXRlLTMwcGN0LW9wYWNpdHktb24tZGFyazogIzY4Njg2ODtcbiAgJGJsYWNrLTI2cGN0LW9wYWNpdHktb24tbGlnaHQ6ICNiMGIwYjA7XG4gICRkaXNhYmxlZC1jb2xvcjogaWYoJGlzLWRhcmstdGhlbWUsICR3aGl0ZS0zMHBjdC1vcGFjaXR5LW9uLWRhcmssICRibGFjay0yNnBjdC1vcGFjaXR5LW9uLWxpZ2h0KTtcbiAgJGNvbG9yZWQtYm94LXNlbGVjdG9yOiAnLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCwgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSc7XG5cbiAgLm1hdC1wc2V1ZG8tY2hlY2tib3gge1xuICAgIGNvbG9yOiBtYXQtY29sb3IobWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKSwgc2Vjb25kYXJ5LXRleHQpO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgYmFja2dyb3VuZCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1wc2V1ZG8tY2hlY2tib3gtZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkZGlzYWJsZWQtY29sb3I7XG4gIH1cblxuICAubWF0LXByaW1hcnkgLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCxcbiAgLm1hdC1wcmltYXJ5IC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcihtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpKTtcbiAgfVxuXG4gIC8vIERlZmF1bHQgdG8gdGhlIGFjY2VudCBjb2xvci4gTm90ZSB0aGF0IHRoZSBwc2V1ZG8gY2hlY2tib3hlcyBhcmUgbWVhbnQgdG8gaW5oZXJpdCB0aGVcbiAgLy8gdGhlbWUgZnJvbSB0aGVpciBwYXJlbnQsIHJhdGhlciB0aGFuIGltcGxlbWVudGluZyB0aGVpciBvd24gdGhlbWluZywgd2hpY2ggaXMgd2h5IHdlXG4gIC8vIGRvbid0IGF0dGFjaCB0byB0aGUgYG1hdC0qYCBjbGFzc2VzLiBBbHNvIG5vdGUgdGhhdCB0aGlzIG5lZWRzIHRvIGJlIGJlbG93IGAubWF0LXByaW1hcnlgXG4gIC8vIGluIG9yZGVyIHRvIGFsbG93IGZvciB0aGUgY29sb3IgdG8gYmUgb3ZlcndyaXR0ZW4gaWYgdGhlIGNoZWNrYm94IGlzIGluc2lkZSBhIHBhcmVudCB0aGF0XG4gIC8vIGhhcyBgbWF0LWFjY2VudGAgYW5kIGlzIHBsYWNlZCBpbnNpZGUgYW5vdGhlciBwYXJlbnQgdGhhdCBoYXMgYG1hdC1wcmltYXJ5YC5cbiAgLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCxcbiAgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSxcbiAgLm1hdC1hY2NlbnQgLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCxcbiAgLm1hdC1hY2NlbnQgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KSk7XG4gIH1cblxuICAubWF0LXdhcm4gLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCxcbiAgLm1hdC13YXJuIC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcihtYXAtZ2V0KCRjb25maWcsIHdhcm4pKTtcbiAgfVxuXG4gIC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsXG4gIC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUge1xuICAgICYubWF0LXBzZXVkby1jaGVja2JveC1kaXNhYmxlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZGlzYWJsZWQtY29sb3I7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcHNldWRvLWNoZWNrYm94LXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIF9tYXQtcHNldWRvLWNoZWNrYm94LWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1wc2V1ZG8tY2hlY2tib3gtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXBzZXVkby1jaGVja2JveCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wc2V1ZG8tY2hlY2tib3gtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1wc2V1ZG8tY2hlY2tib3gtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wc2V1ZG8tY2hlY2tib3gtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBSZXByZXNlbnRzIGEgdHlwb2dyYXBoeSBsZXZlbCBmcm9tIHRoZSBNYXRlcmlhbCBkZXNpZ24gc3BlYy5cbkBmdW5jdGlvbiBtYXQtdHlwb2dyYXBoeS1sZXZlbChcbiAgJGZvbnQtc2l6ZSxcbiAgJGxpbmUtaGVpZ2h0OiAkZm9udC1zaXplLFxuICAkZm9udC13ZWlnaHQ6IDQwMCxcbiAgJGZvbnQtZmFtaWx5OiBudWxsLFxuICAkbGV0dGVyLXNwYWNpbmc6IG5vcm1hbCkge1xuXG4gIEByZXR1cm4gKFxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZSxcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LFxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQsXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseSxcbiAgICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nXG4gICk7XG59XG5cbi8vIFJlcHJlc2VudHMgYSBjb2xsZWN0aW9uIG9mIHR5cG9ncmFwaHkgbGV2ZWxzLlxuLy8gRGVmYXVsdHMgY29tZSBmcm9tIGh0dHBzOi8vbWF0ZXJpYWwuaW8vZ3VpZGVsaW5lcy9zdHlsZS90eXBvZ3JhcGh5Lmh0bWxcbi8vIE5vdGU6IFRoZSBzcGVjIGRvZXNuJ3QgbWVudGlvbiBsZXR0ZXIgc3BhY2luZy4gVGhlIHZhbHVlcyBoZXJlIGNvbWUgZnJvbVxuLy8gZXllYmFsbGluZyBpdCB1bnRpbCBpdCBsb29rZWQgZXhhY3RseSBsaWtlIHRoZSBzcGVjIGV4YW1wbGVzLlxuQGZ1bmN0aW9uIG1hdC10eXBvZ3JhcGh5LWNvbmZpZyhcbiAgJGZvbnQtZmFtaWx5OiAgICdSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZicsXG4gICRkaXNwbGF5LTQ6ICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgxMTJweCwgMTEycHgsIDMwMCwgJGxldHRlci1zcGFjaW5nOiAtMC4wNWVtKSxcbiAgJGRpc3BsYXktMzogICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKDU2cHgsIDU2cHgsIDQwMCwgJGxldHRlci1zcGFjaW5nOiAtMC4wMmVtKSxcbiAgJGRpc3BsYXktMjogICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKDQ1cHgsIDQ4cHgsIDQwMCwgJGxldHRlci1zcGFjaW5nOiAtMC4wMDVlbSksXG4gICRkaXNwbGF5LTE6ICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgzNHB4LCA0MHB4LCA0MDApLFxuICAkaGVhZGxpbmU6ICAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMjRweCwgMzJweCwgNDAwKSxcbiAgJHRpdGxlOiAgICAgICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKDIwcHgsIDMycHgsIDUwMCksXG4gICRzdWJoZWFkaW5nLTI6ICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgxNnB4LCAyOHB4LCA0MDApLFxuICAkc3ViaGVhZGluZy0xOiAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMTVweCwgMjRweCwgNDAwKSxcbiAgJGJvZHktMjogICAgICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKDE0cHgsIDI0cHgsIDUwMCksXG4gICRib2R5LTE6ICAgICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgxNHB4LCAyMHB4LCA0MDApLFxuICAkY2FwdGlvbjogICAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMTJweCwgMjBweCwgNDAwKSxcbiAgJGJ1dHRvbjogICAgICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKDE0cHgsIDE0cHgsIDUwMCksXG4gIC8vIExpbmUtaGVpZ2h0IG11c3QgYmUgdW5pdC1sZXNzIGZyYWN0aW9uIG9mIHRoZSBmb250LXNpemUuXG4gICRpbnB1dDogICAgICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbChpbmhlcml0LCAxLjEyNSwgNDAwKVxuKSB7XG5cbiAgLy8gRGVjbGFyZSBhbiBpbml0aWFsIG1hcCB3aXRoIGFsbCBvZiB0aGUgbGV2ZWxzLlxuICAkY29uZmlnOiAoXG4gICAgZGlzcGxheS00OiAgICAgICRkaXNwbGF5LTQsXG4gICAgZGlzcGxheS0zOiAgICAgICRkaXNwbGF5LTMsXG4gICAgZGlzcGxheS0yOiAgICAgICRkaXNwbGF5LTIsXG4gICAgZGlzcGxheS0xOiAgICAgICRkaXNwbGF5LTEsXG4gICAgaGVhZGxpbmU6ICAgICAgICRoZWFkbGluZSxcbiAgICB0aXRsZTogICAgICAgICAgJHRpdGxlLFxuICAgIHN1YmhlYWRpbmctMjogICAkc3ViaGVhZGluZy0yLFxuICAgIHN1YmhlYWRpbmctMTogICAkc3ViaGVhZGluZy0xLFxuICAgIGJvZHktMjogICAgICAgICAkYm9keS0yLFxuICAgIGJvZHktMTogICAgICAgICAkYm9keS0xLFxuICAgIGNhcHRpb246ICAgICAgICAkY2FwdGlvbixcbiAgICBidXR0b246ICAgICAgICAgJGJ1dHRvbixcbiAgICBpbnB1dDogICAgICAgICAgJGlucHV0LFxuICApO1xuXG4gIC8vIExvb3AgdGhyb3VnaCB0aGUgbGV2ZWxzIGFuZCBzZXQgdGhlIGBmb250LWZhbWlseWAgb2YgdGhlIG9uZXMgdGhhdCBkb24ndCBoYXZlIG9uZSB0byB0aGUgYmFzZS5cbiAgLy8gTm90ZSB0aGF0IFNhc3MgY2FuJ3QgbW9kaWZ5IG1hcHMgaW4gcGxhY2UsIHdoaWNoIG1lYW5zIHRoYXQgd2UgbmVlZCB0byBtZXJnZSBhbmQgcmUtYXNzaWduLlxuICBAZWFjaCAka2V5LCAkbGV2ZWwgaW4gJGNvbmZpZyB7XG4gICAgQGlmIG1hcC1nZXQoJGxldmVsLCBmb250LWZhbWlseSkgPT0gbnVsbCB7XG4gICAgICAkbmV3LWxldmVsOiBtYXAtbWVyZ2UoJGxldmVsLCAoZm9udC1mYW1pbHk6ICRmb250LWZhbWlseSkpO1xuICAgICAgJGNvbmZpZzogbWFwLW1lcmdlKCRjb25maWcsICgka2V5OiAkbmV3LWxldmVsKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQWRkIHRoZSBiYXNlIGZvbnQgZmFtaWx5IHRvIHRoZSBjb25maWcuXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRjb25maWcsIChmb250LWZhbWlseTogJGZvbnQtZmFtaWx5KSk7XG59XG5cbi8vIFdoZXRoZXIgYSBjb25maWcgaXMgZm9yIHRoZSBNYXRlcmlhbCBEZXNpZ24gMjAxOCB0eXBvZ3JhcGh5IHN5c3RlbS5cbkBmdW5jdGlvbiBtYXQtcHJpdmF0ZS10eXBvZ3JhcGh5LWlzLTIwMTgtY29uZmlnKCRjb25maWcpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRjb25maWcsIGhlYWRsaW5lLTEpICE9IG51bGw7XG59XG5cbi8vIFdoZXRoZXIgYSBjb25maWcgaXMgZm9yIHRoZSBNYXRlcmlhbCBEZXNpZ24gMjAxNCB0eXBvZ3JhcGh5IHN5c3RlbS5cbkBmdW5jdGlvbiBtYXQtcHJpdmF0ZS10eXBvZ3JhcGh5LWlzLTIwMTQtY29uZmlnKCRjb25maWcpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRjb25maWcsIGhlYWRsaW5lKSAhPSBudWxsO1xufVxuXG4vLyBHaXZlbiBhIGNvbmZpZyBmb3IgZWl0aGVyIHRoZSAyMDE0IG9yIDIwMTggTWF0ZXJpYWwgRGVzaWduIHR5cG9ncmFwaHkgc3lzdGVtLFxuLy8gcHJvZHVjZXMgYSBub3JtYWxpemVkIHR5cG9ncmFwaHkgY29uZmlnIGZvciB0aGUgMjAxNCBNYXRlcmlhbCBEZXNpZ24gdHlwb2dyYXBoeSBzeXN0ZW0uXG4vLyAyMDE0IC0gaHR0cHM6Ly9tYXRlcmlhbC5pby9hcmNoaXZlL2d1aWRlbGluZXMvc3R5bGUvdHlwb2dyYXBoeS5odG1sI3R5cG9ncmFwaHktc3R5bGVzXG4vLyAyMDE4IC0gaHR0cHM6Ly9tYXRlcmlhbC5pby9kZXNpZ24vdHlwb2dyYXBoeS90aGUtdHlwZS1zeXN0ZW0uaHRtbCN0eXBlLXNjYWxlXG5AZnVuY3Rpb24gbWF0LXByaXZhdGUtdHlwb2dyYXBoeS10by0yMDE0LWNvbmZpZygkY29uZmlnKSB7XG4gIEBpZiBtYXQtcHJpdmF0ZS10eXBvZ3JhcGh5LWlzLTIwMTgtY29uZmlnKCRjb25maWcpIHtcbiAgICBAcmV0dXJuIG1hdC10eXBvZ3JhcGh5LWNvbmZpZyhcbiAgICAgICAgJGRpc3BsYXktNDogbWFwLWdldCgkY29uZmlnLCBoZWFkbGluZS0xKSxcbiAgICAgICAgJGRpc3BsYXktMzogbWFwLWdldCgkY29uZmlnLCBoZWFkbGluZS0yKSxcbiAgICAgICAgJGRpc3BsYXktMjogbWFwLWdldCgkY29uZmlnLCBoZWFkbGluZS0zKSxcbiAgICAgICAgJGRpc3BsYXktMTogbWFwLWdldCgkY29uZmlnLCBoZWFkbGluZS00KSxcbiAgICAgICAgJGhlYWRsaW5lOiBtYXAtZ2V0KCRjb25maWcsIGhlYWRsaW5lLTUpLFxuICAgICAgICAkdGl0bGU6IG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUtNiksXG4gICAgICAgICRzdWJoZWFkaW5nLTI6IG1hcC1nZXQoJGNvbmZpZywgc3VidGl0bGUtMSksXG4gICAgICAgICRzdWJoZWFkaW5nLTE6IG1hcC1nZXQoJGNvbmZpZywgc3VidGl0bGUtMiksXG4gICAgICAgICRib2R5LTI6IG1hcC1nZXQoJGNvbmZpZywgYm9keS0xKSxcbiAgICAgICAgJGJvZHktMTogbWFwLWdldCgkY29uZmlnLCBib2R5LTIpLFxuICAgICAgICAkYnV0dG9uOiBtYXAtZ2V0KCRjb25maWcsIGJ1dHRvbiksXG4gICAgICAgICRjYXB0aW9uOiBtYXAtZ2V0KCRjb25maWcsIGNhcHRpb24pLFxuICAgICk7XG4gIH1cbiAgQHJldHVybiAkY29uZmlnO1xufVxuXG4vLyBHaXZlbiBhIGNvbmZpZyBmb3IgZWl0aGVyIHRoZSAyMDE0IG9yIDIwMTggTWF0ZXJpYWwgRGVzaWduIHR5cG9ncmFwaHkgc3lzdGVtLFxuLy8gcHJvZHVjZXMgYSBub3JtYWxpemVkIHR5cG9ncmFwaHkgY29uZmlnIGZvciB0aGUgMjAxOCBNYXRlcmlhbCBEZXNpZ24gdHlwb2dyYXBoeSBzeXN0ZW0uXG4vLyAyMDE0IC0gaHR0cHM6Ly9tYXRlcmlhbC5pby9hcmNoaXZlL2d1aWRlbGluZXMvc3R5bGUvdHlwb2dyYXBoeS5odG1sI3R5cG9ncmFwaHktc3R5bGVzXG4vLyAyMDE4IC0gaHR0cHM6Ly9tYXRlcmlhbC5pby9kZXNpZ24vdHlwb2dyYXBoeS90aGUtdHlwZS1zeXN0ZW0uaHRtbCN0eXBlLXNjYWxlXG5AZnVuY3Rpb24gbWF0LXByaXZhdGUtdHlwb2dyYXBoeS10by0yMDE4LWNvbmZpZygkY29uZmlnKSB7XG4gIEBpZiBtYXQtcHJpdmF0ZS10eXBvZ3JhcGh5LWlzLTIwMTQtY29uZmlnKCRjb25maWcpIHtcbiAgICBAcmV0dXJuIChcbiAgICAgICAgaGVhZGxpbmUtMTogbWFwLWdldCgkY29uZmlnLCBkaXNwbGF5LTQpLFxuICAgICAgICBoZWFkbGluZS0yOiBtYXAtZ2V0KCRjb25maWcsIGRpc3BsYXktMyksXG4gICAgICAgIGhlYWRsaW5lLTM6IG1hcC1nZXQoJGNvbmZpZywgZGlzcGxheS0yKSxcbiAgICAgICAgaGVhZGxpbmUtNDogbWFwLWdldCgkY29uZmlnLCBkaXNwbGF5LTEpLFxuICAgICAgICBoZWFkbGluZS01OiBtYXAtZ2V0KCRjb25maWcsIGhlYWRsaW5lKSxcbiAgICAgICAgaGVhZGxpbmUtNjogbWFwLWdldCgkY29uZmlnLCB0aXRsZSksXG4gICAgICAgIHN1YnRpdGxlLTE6IG1hcC1nZXQoJGNvbmZpZywgc3ViaGVhZGluZy0yKSxcbiAgICAgICAgc3VidGl0bGUtMjogbWFwLWdldCgkY29uZmlnLCBzdWJoZWFkaW5nLTEpLFxuICAgICAgICBib2R5LTE6IG1hcC1nZXQoJGNvbmZpZywgYm9keS0yKSxcbiAgICAgICAgYm9keS0yOiBtYXAtZ2V0KCRjb25maWcsIGJvZHktMSksXG4gICAgICAgIGJ1dHRvbjogbWFwLWdldCgkY29uZmlnLCBidXR0b24pLFxuICAgICAgICBjYXB0aW9uOiBtYXAtZ2V0KCRjb25maWcsIGNhcHRpb24pLFxuICAgICk7XG4gIH1cbiAgQHJldHVybiAkY29uZmlnO1xufVxuXG4vLyBBZGRzIHRoZSBiYXNlIHR5cG9ncmFwaHkgc3R5bGVzLCBiYXNlZCBvbiBhIGNvbmZpZy5cbi8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXRlcmlhbC90aGVtZS1taXhpbi1hcGkgKi9cbkBtaXhpbiBtYXQtYmFzZS10eXBvZ3JhcGh5KCRjb25maWcsICRzZWxlY3RvcjogJy5tYXQtdHlwb2dyYXBoeScpIHtcbiAgLm1hdC1oMSwgLm1hdC1oZWFkbGluZSwgI3skc2VsZWN0b3J9IGgxIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgaGVhZGxpbmUpO1xuICAgIG1hcmdpbjogMCAwIDE2cHg7XG4gIH1cblxuICAubWF0LWgyLCAubWF0LXRpdGxlLCAjeyRzZWxlY3Rvcn0gaDIge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCB0aXRsZSk7XG4gICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgfVxuXG4gIC5tYXQtaDMsIC5tYXQtc3ViaGVhZGluZy0yLCAjeyRzZWxlY3Rvcn0gaDMge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBzdWJoZWFkaW5nLTIpO1xuICAgIG1hcmdpbjogMCAwIDE2cHg7XG4gIH1cblxuICAubWF0LWg0LCAubWF0LXN1YmhlYWRpbmctMSwgI3skc2VsZWN0b3J9IGg0IHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgc3ViaGVhZGluZy0xKTtcbiAgICBtYXJnaW46IDAgMCAxNnB4O1xuICB9XG5cbiAgLy8gTm90ZTogdGhlIHNwZWMgZG9lc24ndCBoYXZlIGFueXRoaW5nIHRoYXQgd291bGQgY29ycmVzcG9uZCB0byBoNSBhbmQgaDYsIGJ1dCB3ZSBhZGQgdGhlc2UgZm9yXG4gIC8vIGNvbnNpc3RlbmN5LiBUaGUgZm9udCBzaXplcyBjb21lIGZyb20gdGhlIENocm9tZSB1c2VyIGFnZW50IHN0eWxlcyB3aGljaCBoYXZlIGg1IGF0IDAuODNlbVxuICAvLyBhbmQgaDYgYXQgMC42N2VtLlxuICAubWF0LWg1LCAjeyRzZWxlY3Rvcn0gaDUge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWZvbnQtc2hvcnRoYW5kKFxuICAgICAgIC8vIGNhbGMgaXMgdXNlZCBoZXJlIHRvIHN1cHBvcnQgY3NzIHZhcmlhYmxlc1xuICAgICAgY2FsYygje21hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKX0gKiAwLjgzKSxcbiAgICAgIG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTEpLFxuICAgICAgbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGJvZHktMSksXG4gICAgICBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgYm9keS0xKVxuICAgICk7XG5cbiAgICBtYXJnaW46IDAgMCAxMnB4O1xuICB9XG5cbiAgLm1hdC1oNiwgI3skc2VsZWN0b3J9IGg2IHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1mb250LXNob3J0aGFuZChcbiAgICAgICAvLyBjYWxjIGlzIHVzZWQgaGVyZSB0byBzdXBwb3J0IGNzcyB2YXJpYWJsZXNcbiAgICAgIGNhbGMoI3ttYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSl9ICogMC42NyksXG4gICAgICBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0xKSxcbiAgICAgIG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCBib2R5LTEpLFxuICAgICAgbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIGJvZHktMSlcbiAgICApO1xuXG4gICAgbWFyZ2luOiAwIDAgMTJweDtcbiAgfVxuXG4gIC5tYXQtYm9keS1zdHJvbmcsIC5tYXQtYm9keS0yIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgYm9keS0yKTtcbiAgfVxuXG4gIC5tYXQtYm9keSwgLm1hdC1ib2R5LTEsICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGJvZHktMSk7XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbjogMCAwIDEycHg7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zbWFsbCwgLm1hdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgY2FwdGlvbik7XG4gIH1cblxuICAubWF0LWRpc3BsYXktNCwgI3skc2VsZWN0b3J9IC5tYXQtZGlzcGxheS00IHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgZGlzcGxheS00KTtcbiAgICBtYXJnaW46IDAgMCA1NnB4O1xuICB9XG5cbiAgLm1hdC1kaXNwbGF5LTMsICN7JHNlbGVjdG9yfSAubWF0LWRpc3BsYXktMyB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGRpc3BsYXktMyk7XG4gICAgbWFyZ2luOiAwIDAgNjRweDtcbiAgfVxuXG4gIC5tYXQtZGlzcGxheS0yLCAjeyRzZWxlY3Rvcn0gLm1hdC1kaXNwbGF5LTIge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBkaXNwbGF5LTIpO1xuICAgIG1hcmdpbjogMCAwIDY0cHg7XG4gIH1cblxuICAubWF0LWRpc3BsYXktMSwgI3skc2VsZWN0b3J9IC5tYXQtZGlzcGxheS0xIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgZGlzcGxheS0xKTtcbiAgICBtYXJnaW46IDAgMCA2NHB4O1xuICB9XG59XG5cblxuXG5cbkBtaXhpbiBtYXQtYXV0b2NvbXBsZXRlLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcblxuICAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCB7XG4gICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDQsICRjb25maWcpO1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgY2FyZCk7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG5cbiAgICAvLyBTZWxlY3RlZCBvcHRpb25zIGluIGF1dG9jb21wbGV0ZXMgc2hvdWxkIG5vdCBiZSBncmF5LCBidXQgd2VcbiAgICAvLyBvbmx5IHdhbnQgdG8gb3ZlcnJpZGUgdGhlIGJhY2tncm91bmQgZm9yIHNlbGVjdGVkIG9wdGlvbnMgaWZcbiAgICAvLyB0aGV5IGFyZSAqbm90KiBpbiBob3ZlciBvciBmb2N1cyBzdGF0ZS4gVGhpcyBjaGFuZ2UgaGFzIHRvIGJlXG4gICAgLy8gbWFkZSBoZXJlIGJlY2F1c2UgYmFzZSBvcHRpb24gc3R5bGVzIGFyZSBzaGFyZWQgYmV0d2VlbiB0aGVcbiAgICAvLyBhdXRvY29tcGxldGUgYW5kIHRoZSBzZWxlY3QuXG4gICAgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LWFjdGl2ZSk6bm90KDpob3Zlcikge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcblxuICAgICAgJjpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpIHtcbiAgICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtYXV0b2NvbXBsZXRlLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIF9tYXQtYXV0b2NvbXBsZXRlLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1hdXRvY29tcGxldGUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWF1dG9jb21wbGV0ZScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1hdXRvY29tcGxldGUtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1hdXRvY29tcGxldGUtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1hdXRvY29tcGxldGUtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFRoaXMgY29udGFpbnMgYWxsIG9mIHRoZSBzdHlsZXMgZm9yIHRoZSBiYWRnZVxuLy8gcmF0aGVyIHRoYW4ganVzdCB0aGUgY29sb3IvdGhlbWUgYmVjYXVzZSBvZlxuLy8gbm8gc3R5bGUgc2hlZXQgc3VwcG9ydCBmb3IgZGlyZWN0aXZlcy5cblxuXG5cblxuXG4kbWF0LWJhZGdlLWZvbnQtc2l6ZTogMTJweDtcbiRtYXQtYmFkZ2UtZm9udC13ZWlnaHQ6IDYwMDtcbiRtYXQtYmFkZ2UtZGVmYXVsdC1zaXplOiAyMnB4ICFkZWZhdWx0O1xuJG1hdC1iYWRnZS1zbWFsbC1zaXplOiAkbWF0LWJhZGdlLWRlZmF1bHQtc2l6ZSAtIDY7XG4kbWF0LWJhZGdlLWxhcmdlLXNpemU6ICRtYXQtYmFkZ2UtZGVmYXVsdC1zaXplICsgNjtcblxuLy8gTWl4aW4gZm9yIGJ1aWxkaW5nIG9mZnNldCBnaXZlbiBkaWZmZXJlbnQgc2l6ZXNcbkBtaXhpbiBfbWF0LWJhZGdlLXNpemUoJHNpemUpIHtcbiAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICB3aWR0aDogJHNpemU7XG4gICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHNpemU7XG4gIH1cblxuICAmLm1hdC1iYWRnZS1hYm92ZSB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgIHRvcDogLSRzaXplIC8gMjtcbiAgICB9XG4gIH1cblxuICAmLm1hdC1iYWRnZS1iZWxvdyB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgIGJvdHRvbTogLSRzaXplIC8gMjtcbiAgICB9XG4gIH1cblxuICAmLm1hdC1iYWRnZS1iZWZvcmUge1xuICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICBsZWZ0OiAtJHNpemU7XG4gICAgfVxuICB9XG5cbiAgW2Rpcj0ncnRsJ10gJi5tYXQtYmFkZ2UtYmVmb3JlIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAtJHNpemU7XG4gICAgfVxuICB9XG5cbiAgJi5tYXQtYmFkZ2UtYWZ0ZXIge1xuICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICByaWdodDogLSRzaXplO1xuICAgIH1cbiAgfVxuXG4gIFtkaXI9J3J0bCddICYubWF0LWJhZGdlLWFmdGVyIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAtJHNpemU7XG4gICAgfVxuICB9XG5cbiAgJi5tYXQtYmFkZ2Utb3ZlcmxhcCB7XG4gICAgJi5tYXQtYmFkZ2UtYmVmb3JlIHtcbiAgICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICAgIGxlZnQ6IC0kc2l6ZSAvIDI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgW2Rpcj0ncnRsJ10gJi5tYXQtYmFkZ2UtYmVmb3JlIHtcbiAgICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAtJHNpemUgLyAyO1xuICAgICAgfVxuICAgIH1cblxuICAgICYubWF0LWJhZGdlLWFmdGVyIHtcbiAgICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICAgIHJpZ2h0OiAtJHNpemUgLyAyO1xuICAgICAgfVxuICAgIH1cblxuICAgIFtkaXI9J3J0bCddICYubWF0LWJhZGdlLWFmdGVyIHtcbiAgICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAtJHNpemUgLyAyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWJhZGdlLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJHByaW1hcnkpO1xuXG4gICAgQGluY2x1ZGUgY2RrLWhpZ2gtY29udHJhc3QoYWN0aXZlLCBvZmYpIHtcbiAgICAgIG91dGxpbmU6IHNvbGlkIDFweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1iYWRnZS1hY2NlbnQge1xuICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGFjY2VudCk7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIGRlZmF1bHQtY29udHJhc3QpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYmFkZ2Utd2FybiB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIGRlZmF1bHQtY29udHJhc3QpO1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCR3YXJuKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWJhZGdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAubWF0LWJhZGdlLWhpZGRlbiB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1iYWRnZS1kaXNhYmxlZCB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgICRhcHAtYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCAnYmFja2dyb3VuZCcpO1xuICAgICAgJGJhZGdlLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLWJ1dHRvbik7XG5cbiAgICAgIC8vIFRoZSBkaXNhYmxlZCBjb2xvciB1c3VhbGx5IGhhcyBzb21lIGtpbmQgb2Ygb3BhY2l0eSwgYnV0IGJlY2F1c2UgdGhlIGJhZGdlIGlzIG92ZXJsYXllZFxuICAgICAgLy8gb24gdG9wIG9mIHNvbWV0aGluZyBlbHNlLCBpdCB3b24ndCBsb29rIGdvb2QgaWYgaXQncyBvcGFxdWUuIElmIGl0IGlzIGEgY29sb3IgKnR5cGUqLFxuICAgICAgLy8gd2UgY29udmVydCBpdCBpbnRvIGEgc29saWQgY29sb3IgYnkgdGFraW5nIHRoZSBvcGFjaXR5IGZyb20gdGhlIHJnYmEgdmFsdWUgYW5kIHVzaW5nXG4gICAgICAvLyB0aGUgdmFsdWUgdG8gZGV0ZXJtaW5lIHRoZSBwZXJjZW50YWdlIG9mIHRoZSBiYWNrZ3JvdW5kIHRvIHB1dCBpbnRvIGZvcmVncm91bmQgd2hlblxuICAgICAgLy8gbWl4aW5nIHRoZSBjb2xvcnMgdG9nZXRoZXIuXG4gICAgICBAaWYgKHR5cGUtb2YoJGJhZGdlLWNvbG9yKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYXBwLWJhY2tncm91bmQpID09IGNvbG9yKSB7XG4gICAgICAgICRiYWRnZS1vcGFjaXR5OiBvcGFjaXR5KCRiYWRnZS1jb2xvcik7XG4gICAgICAgIGJhY2tncm91bmQ6IG1peCgkYXBwLWJhY2tncm91bmQsIHJnYmEoJGJhZGdlLWNvbG9yLCAxKSwgKDEgLSAkYmFkZ2Utb3BhY2l0eSkgKiAxMDAlKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJhZGdlLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcbiAgICB9XG4gIH1cblxuICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjYpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC5uZy1hbmltYXRlLWRpc2FibGVkIC5tYXQtYmFkZ2UtY29udGVudCxcbiAgLm1hdC1iYWRnZS1jb250ZW50Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gVGhlIGFjdGl2ZSBjbGFzcyBpcyBhZGRlZCBhZnRlciB0aGUgZWxlbWVudCBpcyBhZGRlZFxuICAvLyBzbyBpdCBjYW4gYW5pbWF0ZSBzY2FsZSB0byBkZWZhdWx0XG4gIC5tYXQtYmFkZ2UtY29udGVudC5tYXQtYmFkZ2UtYWN0aXZlIHtcbiAgICAvLyBTY2FsZSB0byBgbm9uZWAgaW5zdGVhZCBvZiBgMWAgdG8gYXZvaWQgYmx1cnJ5IHRleHQgaW4gc29tZSBicm93c2Vycy5cbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAubWF0LWJhZGdlLXNtYWxsIHtcbiAgICBAaW5jbHVkZSBfbWF0LWJhZGdlLXNpemUoJG1hdC1iYWRnZS1zbWFsbC1zaXplKTtcbiAgfVxuICAubWF0LWJhZGdlLW1lZGl1bSB7XG4gICAgQGluY2x1ZGUgX21hdC1iYWRnZS1zaXplKCRtYXQtYmFkZ2UtZGVmYXVsdC1zaXplKTtcbiAgfVxuICAubWF0LWJhZGdlLWxhcmdlIHtcbiAgICBAaW5jbHVkZSBfbWF0LWJhZGdlLXNpemUoJG1hdC1iYWRnZS1sYXJnZS1zaXplKTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWJhZGdlLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgIGZvbnQtd2VpZ2h0OiAkbWF0LWJhZGdlLWZvbnQtd2VpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJG1hdC1iYWRnZS1mb250LXNpemU7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtYmFkZ2Utc21hbGwgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAvLyBTZXQgdGhlIGZvbnQgc2l6ZSB0byA3NSUgb2YgdGhlIG9yaWdpbmFsLlxuICAgIGZvbnQtc2l6ZTogJG1hdC1iYWRnZS1mb250LXNpemUgKiAwLjc1O1xuICB9XG5cbiAgLm1hdC1iYWRnZS1sYXJnZSAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogJG1hdC1iYWRnZS1mb250LXNpemUgKiAyO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWJhZGdlLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1iYWRnZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtYmFkZ2UnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtYmFkZ2UtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1iYWRnZS1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJhZGdlLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuQG1peGluIG1hdC1ib3R0b20tc2hlZXQtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtZWxldmF0aW9uKDE2LCAkY29uZmlnKTtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGRpYWxvZyk7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1ib3R0b20tc2hlZXQtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGJvZHktMSk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtYm90dG9tLXNoZWV0LWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1ib3R0b20tc2hlZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWJvdHRvbS1zaGVldCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1ib3R0b20tc2hlZXQtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1ib3R0b20tc2hlZXQtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1ib3R0b20tc2hlZXQtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuJF9tYXQtYnV0dG9uLXJpcHBsZS1vcGFjaXR5OiAwLjE7XG5cbi8vIEFwcGxpZXMgYSBmb2N1cyBzdHlsZSB0byBhbiBtYXQtYnV0dG9uIGVsZW1lbnQgZm9yIGVhY2ggb2YgdGhlIHN1cHBvcnRlZCBwYWxldHRlcy5cbkBtaXhpbiBfbWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuXG4gICYubWF0LXByaW1hcnkgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5KTtcbiAgfVxuXG4gICYubWF0LWFjY2VudCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCk7XG4gIH1cblxuICAmLm1hdC13YXJuIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkd2Fybik7XG4gIH1cblxuICAmLm1hdC1idXR0b24tZGlzYWJsZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8gQXBwbGllcyB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgYSByaXBwbGUuIElmIHRoZSB2YWx1ZSBwcm92aWRlZCBpcyBub3QgYSBTYXNzIGNvbG9yLFxuLy8gd2UgYXNzdW1lIHRoYXQgd2UndmUgYmVlbiBnaXZlbiBhIENTUyB2YXJpYWJsZS4gU2luY2Ugd2UgY2FuJ3QgcGVyZm9ybSBhbHBoYS1ibGVuZGluZ1xuLy8gb24gYSBDU1MgdmFyaWFibGUsIHdlIGluc3RlYWQgYWRkIHRoZSBvcGFjaXR5IGRpcmVjdGx5IHRvIHRoZSByaXBwbGUgZWxlbWVudC5cbkBtaXhpbiBfbWF0LWJ1dHRvbi1yaXBwbGUtYmFja2dyb3VuZCgkcGFsZXR0ZSwgJGh1ZSwgJG9wYWNpdHkpIHtcbiAgJGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgJGh1ZSwgJG9wYWNpdHkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcjtcbiAgQGlmICh0eXBlLW9mKCRiYWNrZ3JvdW5kLWNvbG9yKSAhPSBjb2xvcikge1xuICAgIG9wYWNpdHk6ICRvcGFjaXR5O1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWJ1dHRvbi1yaXBwbGUtY29sb3IoJHRoZW1lLCAkaHVlLCAkb3BhY2l0eTogJF9tYXQtYnV0dG9uLXJpcHBsZS1vcGFjaXR5KSB7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCR0aGVtZSwgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJHRoZW1lLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkdGhlbWUsIHdhcm4pO1xuXG4gICYubWF0LXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tcmlwcGxlLWJhY2tncm91bmQoJHByaW1hcnksICRodWUsICRvcGFjaXR5KTtcbiAgfVxuXG4gICYubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi1yaXBwbGUtYmFja2dyb3VuZCgkYWNjZW50LCAkaHVlLCAkb3BhY2l0eSk7XG4gIH1cblxuICAmLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIEBpbmNsdWRlIF9tYXQtYnV0dG9uLXJpcHBsZS1iYWNrZ3JvdW5kKCR3YXJuLCAkaHVlLCAkb3BhY2l0eSk7XG4gIH1cbn1cblxuLy8gQXBwbGllcyBhIHByb3BlcnR5IHRvIGFuIG1hdC1idXR0b24gZWxlbWVudCBmb3IgZWFjaCBvZiB0aGUgc3VwcG9ydGVkIHBhbGV0dGVzLlxuQG1peGluIF9tYXQtYnV0dG9uLXRoZW1lLXByb3BlcnR5KCR0aGVtZSwgJHByb3BlcnR5LCAkaHVlKSB7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCR0aGVtZSwgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJHRoZW1lLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkdGhlbWUsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkdGhlbWUsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkdGhlbWUsIGZvcmVncm91bmQpO1xuXG4gICYubWF0LXByaW1hcnkge1xuICAgICN7JHByb3BlcnR5fTogbWF0LWNvbG9yKCRwcmltYXJ5LCAkaHVlKTtcbiAgfVxuICAmLm1hdC1hY2NlbnQge1xuICAgICN7JHByb3BlcnR5fTogbWF0LWNvbG9yKCRhY2NlbnQsICRodWUpO1xuICB9XG4gICYubWF0LXdhcm4ge1xuICAgICN7JHByb3BlcnR5fTogbWF0LWNvbG9yKCR3YXJuLCAkaHVlKTtcbiAgfVxuXG4gICYubWF0LXByaW1hcnksICYubWF0LWFjY2VudCwgJi5tYXQtd2FybiwgJi5tYXQtYnV0dG9uLWRpc2FibGVkIHtcbiAgICAmLm1hdC1idXR0b24tZGlzYWJsZWQge1xuICAgICAgJHBhbGV0dGU6IGlmKCRwcm9wZXJ0eSA9PSAnY29sb3InLCAkZm9yZWdyb3VuZCwgJGJhY2tncm91bmQpO1xuICAgICAgI3skcHJvcGVydHl9OiBtYXQtY29sb3IoJHBhbGV0dGUsIGRpc2FibGVkLWJ1dHRvbik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtYnV0dG9uLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1idXR0b24sIC5tYXQtaWNvbi1idXR0b24sIC5tYXQtc3Ryb2tlZC1idXR0b24ge1xuICAgIC8vIEJ1dHRvbnMgd2l0aG91dCBhIGJhY2tncm91bmQgY29sb3Igc2hvdWxkIGluaGVyaXQgdGhlIGZvbnQgY29sb3IuIFRoaXMgaXMgbmVjZXNzYXJ5IHRvXG4gICAgLy8gZW5zdXJlIHRoYXQgdGhlIGJ1dHRvbiBpcyByZWFkYWJsZSBvbiBjdXN0b20gYmFja2dyb3VuZCBjb2xvcnMuIEl0J3Mgd3JvbmcgdG8gYWx3YXlzIGFzc3VtZVxuICAgIC8vIHRoYXQgdGhvc2UgYnV0dG9ucyBhcmUgYWx3YXlzIHBsYWNlZCBpbnNpZGUgb2YgY29udGFpbmVycyB3aXRoIHRoZSBkZWZhdWx0IGJhY2tncm91bmRcbiAgICAvLyBjb2xvciBvZiB0aGUgdGhlbWUgKGUuZy4gdGhlbWVkIHRvb2xiYXJzKS5cbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgIEBpbmNsdWRlIF9tYXQtYnV0dG9uLXRoZW1lLXByb3BlcnR5KCRjb25maWcsICdjb2xvcicsIHRleHQpO1xuICAgIEBpbmNsdWRlIF9tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXktY29sb3IoJGNvbmZpZyk7XG5cbiAgICAvLyBTZXR1cCB0aGUgcmlwcGxlIGNvbG9yIHRvIGJlIGJhc2VkIG9uIHRoZSB0ZXh0IGNvbG9yLiBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgcmlwcGxlc1xuICAgIC8vIGFyZSBtYXRjaGluZyB3aXRoIHRoZSBjdXJyZW50IHRoZW1lIHBhbGV0dGUgYW5kIGFyZSBpbiBjb250cmFzdCB0byB0aGUgYmFja2dyb3VuZCBjb2xvclxuICAgIC8vIChlLmcgaW4gdGhlbWVkIHRvb2xiYXJzKS5cbiAgICAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICAgIG9wYWNpdHk6ICRfbWF0LWJ1dHRvbi1yaXBwbGUtb3BhY2l0eTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG4gIH1cblxuICAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3JlZ3JvdW5kLCBiYXNlKTtcbiAgfVxuXG4gIC8vIE5vdGU6IHRoaXMgbmVlZHMgYSBiaXQgZXh0cmEgc3BlY2lmaWNpdHksIGJlY2F1c2Ugd2UncmUgbm90IGd1YXJhbnRlZWQgdGhlIGluY2x1c2lvblxuICAvLyBvcmRlciBvZiB0aGUgdGhlbWUgc3R5bGVzIGFuZCB0aGUgYnV0dG9uIHJlc2V0IG1heSBlbmQgdXAgcmVzZXR0aW5nIHRoaXMgYXMgd2VsbC5cbiAgLm1hdC1zdHJva2VkLWJ1dHRvbjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpIHtcbiAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG4gIH1cblxuICAubWF0LWZsYXQtYnV0dG9uLCAubWF0LXJhaXNlZC1idXR0b24sIC5tYXQtZmFiLCAubWF0LW1pbmktZmFiIHtcbiAgICAvLyBEZWZhdWx0IGZvbnQgYW5kIGJhY2tncm91bmQgY29sb3Igd2hlbiBub3QgdXNpbmcgYW55IGNvbG9yIHBhbGV0dGUuXG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCByYWlzZWQtYnV0dG9uKTtcblxuICAgIEBpbmNsdWRlIF9tYXQtYnV0dG9uLXRoZW1lLXByb3BlcnR5KCRjb25maWcsICdjb2xvcicsIGRlZmF1bHQtY29udHJhc3QpO1xuICAgIEBpbmNsdWRlIF9tYXQtYnV0dG9uLXRoZW1lLXByb3BlcnR5KCRjb25maWcsICdiYWNrZ3JvdW5kLWNvbG9yJywgZGVmYXVsdCk7XG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tcmlwcGxlLWNvbG9yKCRjb25maWcsIGRlZmF1bHQtY29udHJhc3QpO1xuICB9XG5cbiAgLm1hdC1zdHJva2VkLWJ1dHRvbiwgLm1hdC1mbGF0LWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDAsICRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1yYWlzZWQtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oMiwgJGNvbmZpZyk7XG5cbiAgICAmOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCk6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbig4LCAkY29uZmlnKTtcbiAgICB9XG5cbiAgICAmLm1hdC1idXR0b24tZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDAsICRjb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZmFiLCAubWF0LW1pbmktZmFiIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oNiwgJGNvbmZpZyk7XG5cbiAgICAmOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCk6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbigxMiwgJGNvbmZpZyk7XG4gICAgfVxuXG4gICAgJi5tYXQtYnV0dG9uLWRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbigwLCAkY29uZmlnKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1idXR0b24tdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtYnV0dG9uLCAubWF0LXJhaXNlZC1idXR0b24sIC5tYXQtaWNvbi1idXR0b24sIC5tYXQtc3Ryb2tlZC1idXR0b24sXG4gIC5tYXQtZmxhdC1idXR0b24sIC5tYXQtZmFiLCAubWF0LW1pbmktZmFiIHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBidXR0b24pO1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBidXR0b24pO1xuICAgICAgd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYnV0dG9uKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9tYXQtYnV0dG9uLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1idXR0b24tdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWJ1dHRvbicpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1idXR0b24tY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1idXR0b24tZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1idXR0b24tdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbiRtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1oZWlnaHQ6IDQ4cHggIWRlZmF1bHQ7XG4vLyBNaW5pbXVtIGhlaWdodCBmb3IgaGlnaGVzdCBkZW5zaXR5IGNhbiB2YXJ5IGJhc2VkIG9uIHRoZSBjb250ZW50IHRoYXQgZGV2ZWxvcGVyc1xuLy8gcHJvamVjdCBpbnRvIGJ1dHRvbi10b2dnbGUncy4gV2UgdXNlIGEgbWluaW11bSBvZiBgMjRweGAgdGhvdWdoIGJlY2F1c2UgY29tbW9ubHlcbi8vIGljb25zIG9yIHRleHQgYXJlIGRpc3BsYXllZC4gSWNvbnMgYnkgZGVmYXVsdCBoYXZlIGEgc2l6ZSBvZiBgMjRweGAuXG4kbWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhcmQtbWluaW11bS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG4kbWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhcmQtbWF4aW11bS1oZWlnaHQ6ICRtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1kZW5zaXR5LWNvbmZpZzogKFxuICBoZWlnaHQ6IChcbiAgICBkZWZhdWx0OiAkbWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhcmQtaGVpZ2h0LFxuICAgIG1heGltdW06ICRtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1tYXhpbXVtLWhlaWdodCxcbiAgICBtaW5pbXVtOiAkbWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhcmQtbWluaW11bS1oZWlnaHQsXG4gIClcbikgIWRlZmF1bHQ7XG5cblxuQG1peGluIG1hdC1idXR0b24tdG9nZ2xlLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGRpdmlkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYWxvbmUsXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cCB7XG4gICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtZWxldmF0aW9uKDIsICRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYWxvbmUubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCxcbiAgLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAubWF0LWJ1dHRvbi10b2dnbGUge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGhpbnQtdGV4dCk7XG5cbiAgICAubWF0LWJ1dHRvbi10b2dnbGUtZm9jdXMtb3ZlcmxheSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGZvY3VzZWQtYnV0dG9uKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcblxuICAgIC5tYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZm9jdXNlZC1idXR0b24sIDEpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJkIC5tYXQtYnV0dG9uLXRvZ2dsZSArIC5tYXQtYnV0dG9uLXRvZ2dsZSB7XG4gICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDFweCAkZGl2aWRlci1jb2xvcjtcbiAgfVxuXG4gIFtkaXI9J3J0bCddIC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJkIC5tYXQtYnV0dG9uLXRvZ2dsZSArIC5tYXQtYnV0dG9uLXRvZ2dsZSB7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggJGRpdmlkZXItY29sb3I7XG4gIH1cblxuICAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZC5tYXQtYnV0dG9uLXRvZ2dsZS12ZXJ0aWNhbCB7XG4gICAgLm1hdC1idXR0b24tdG9nZ2xlICsgLm1hdC1idXR0b24tdG9nZ2xlIHtcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgYm9yZGVyLXRvcDogc29saWQgMXB4ICRkaXZpZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1jaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIHNlbGVjdGVkLWJ1dHRvbik7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuXG4gICAgJi5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1kaXNhYmxlZCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtYnV0dG9uKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGRpc2FibGVkLWJ1dHRvbi10b2dnbGUpO1xuXG4gICAgJi5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgY2FyZCk7XG4gICAgfVxuXG4gICAgJi5tYXQtYnV0dG9uLXRvZ2dsZS1jaGVja2VkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgc2VsZWN0ZWQtZGlzYWJsZWQtYnV0dG9uKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZS5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkLFxuICAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZCB7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggJGRpdmlkZXItY29sb3I7XG4gIH1cbn1cblxuQG1peGluIG1hdC1idXR0b24tdG9nZ2xlLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LWJ1dHRvbi10b2dnbGUge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1idXR0b24tdG9nZ2xlLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkZGVuc2l0eS1zY2FsZTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHN0YW5kYXJkLWhlaWdodDogbWF0LXByaXZhdGUtZGVuc2l0eS1wcm9wLXZhbHVlKFxuICAgICAgJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLWRlbnNpdHktY29uZmlnLCAkZGVuc2l0eS1zY2FsZSwgaGVpZ2h0KTtcblxuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1kZW5zaXR5LWxlZ2FjeS1jb21wYXRpYmlsaXR5KCkge1xuICAgIC5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkIC5tYXQtYnV0dG9uLXRvZ2dsZS1sYWJlbC1jb250ZW50IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkc3RhbmRhcmQtaGVpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWJ1dHRvbi10b2dnbGUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWJ1dHRvbi10b2dnbGUnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtYnV0dG9uLXRvZ2dsZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtYnV0dG9uLXRvZ2dsZS1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJ1dHRvbi10b2dnbGUtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbkBtaXhpbiBtYXQtY2FyZC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1jYXJkIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oMSwgJGNvbmZpZyk7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcblxuICAgIC8vIE5lZWRzIGV4dHJhIHNwZWNpZmljaXR5IHRvIGJlIGFibGUgdG8gb3ZlcnJpZGUgdGhlIGVsZXZhdGlvbiBzZWxlY3RvcnMuXG4gICAgJi5tYXQtY2FyZC1mbGF0IHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbigwLCAkY29uZmlnKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWNhcmQtc3VidGl0bGUge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWNhcmQtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtY2FyZCB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtY2FyZC10aXRsZSB7XG4gICAgZm9udDoge1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBoZWFkbGluZSk7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCB0aXRsZSk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1jYXJkLWhlYWRlciAubWF0LWNhcmQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCB0aXRsZSk7XG4gIH1cblxuICAubWF0LWNhcmQtc3VidGl0bGUsXG4gIC5tYXQtY2FyZC1jb250ZW50IHtcbiAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1jYXJkLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1jYXJkLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1jYXJkJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWNhcmQtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1jYXJkLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtY2FyZC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5AbWl4aW4gbWF0LWNoZWNrYm94LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCRjb25maWcsIGlzLWRhcmspO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG5cbiAgLy8gVGhlIGNvbG9yIG9mIHRoZSBjaGVja2JveCdzIGNoZWNrbWFyayAvIG1peGVkbWFyay5cbiAgJGNoZWNrYm94LW1hcmstY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgYmFja2dyb3VuZCk7XG5cbiAgLy8gTk9URSh0cmF2aXNrYXVmbWFuKTogV2hpbGUgdGhlIHNwZWMgY2FsbHMgZm9yIHRyYW5zbHVjZW50IGJsYWNrcy93aGl0ZXMgZm9yIGRpc2FibGVkIGNvbG9ycyxcbiAgLy8gdGhpcyBkb2VzIG5vdCB3b3JrIHdlbGwgd2l0aCBlbGVtZW50cyBsYXllcmVkIG9uIHRvcCBvZiBvbmUgYW5vdGhlci4gVG8gZ2V0IGFyb3VuZCB0aGlzIHdlXG4gIC8vIGJsZW5kIHRoZSBjb2xvcnMgdG9nZXRoZXIgYmFzZWQgb24gdGhlIGJhc2UgY29sb3IgYW5kIHRoZSB0aGVtZSBiYWNrZ3JvdW5kLlxuICAkd2hpdGUtMzBwY3Qtb3BhY2l0eS1vbi1kYXJrOiAjNjg2ODY4O1xuICAkYmxhY2stMjZwY3Qtb3BhY2l0eS1vbi1saWdodDogI2IwYjBiMDtcbiAgJGRpc2FibGVkLWNvbG9yOiBpZigkaXMtZGFyay10aGVtZSwgJHdoaXRlLTMwcGN0LW9wYWNpdHktb24tZGFyaywgJGJsYWNrLTI2cGN0LW9wYWNpdHktb24tbGlnaHQpO1xuXG4gIC5tYXQtY2hlY2tib3gtZnJhbWUge1xuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LWNoZWNrYm94LWNoZWNrbWFyayB7XG4gICAgZmlsbDogJGNoZWNrYm94LW1hcmstY29sb3I7XG4gIH1cblxuICAubWF0LWNoZWNrYm94LWNoZWNrbWFyay1wYXRoIHtcbiAgICAvLyAhaW1wb3J0YW50IGlzIG5lZWRlZCBoZXJlIGJlY2F1c2UgYSBzdHJva2UgbXVzdCBiZSBzZXQgYXMgYW5cbiAgICAvLyBhdHRyaWJ1dGUgb24gdGhlIFNWRyBpbiBvcmRlciBmb3IgbGluZSBhbmltYXRpb24gdG8gd29yayBwcm9wZXJseS5cbiAgICBzdHJva2U6ICRjaGVja2JveC1tYXJrLWNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWF0LWNoZWNrYm94LW1peGVkbWFyayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNoZWNrYm94LW1hcmstY29sb3I7XG4gIH1cblxuICAubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUsIC5tYXQtY2hlY2tib3gtY2hlY2tlZCB7XG4gICAgJi5tYXQtcHJpbWFyeSAubWF0LWNoZWNrYm94LWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5KTtcbiAgICB9XG5cbiAgICAmLm1hdC1hY2NlbnQgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYWNjZW50KTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHdhcm4pO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gtZGlzYWJsZWQge1xuICAgICYubWF0LWNoZWNrYm94LWNoZWNrZWQsXG4gICAgJi5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSB7XG4gICAgICAubWF0LWNoZWNrYm94LWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLm1hdC1jaGVja2JveC1jaGVja2VkKSB7XG4gICAgICAubWF0LWNoZWNrYm94LWZyYW1lIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hdC1jaGVja2JveC1sYWJlbCB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLy8gU3dpdGNoIHRoaXMgdG8gYSBzb2xpZCBjb2xvciBzaW5jZSB3ZSdyZSB1c2luZyBgb3BhY2l0eWBcbiAgLy8gdG8gY29udHJvbCBob3cgb3BhcXVlIHRoZSByaXBwbGUgc2hvdWxkIGJlLlxuICAubWF0LWNoZWNrYm94IC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQobWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKSwgYmFzZSk7XG4gIH1cblxuICAubWF0LWNoZWNrYm94LWNoZWNrZWQ6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLFxuICAubWF0LWNoZWNrYm94OmFjdGl2ZTpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCkge1xuICAgICYubWF0LXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJHByaW1hcnkpO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYWNjZW50KTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCR3YXJuKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1jaGVja2JveC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1jaGVja2JveCB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxuXG4gIC8vIFRPRE8oa2FyYSk6IFJlbW92ZSB0aGlzIHN0eWxlIHdoZW4gZml4aW5nIHZlcnRpY2FsIGJhc2VsaW5lXG4gIC5tYXQtY2hlY2tib3gtbGF5b3V0IC5tYXQtY2hlY2tib3gtbGFiZWwge1xuICAgIGxpbmUtaGVpZ2h0OiBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgYm9keS0yKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1jaGVja2JveC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtY2hlY2tib3gtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWNoZWNrYm94Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWNoZWNrYm94LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtY2hlY2tib3gtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1jaGVja2JveC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cbiRtYXQtY2hpcC1yZW1vdmUtZm9udC1zaXplOiAxOHB4O1xuXG5AbWl4aW4gX21hdC1jaGlwLWVsZW1lbnQtY29sb3IoJGZvcmVncm91bmQsICRiYWNrZ3JvdW5kKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGZvcmVncm91bmQ7XG5cbiAgLm1hdC1jaGlwLXJlbW92ZSB7XG4gICAgY29sb3I6ICRmb3JlZ3JvdW5kO1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgfVxufVxuXG5cbi8vIEFwcGxpZXMgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIGEgcmlwcGxlIGVsZW1lbnQuXG4vLyBJZiB0aGUgY29sb3IgdmFsdWUgcHJvdmlkZWQgaXMgbm90IGEgU2FzcyBjb2xvcixcbi8vIHdlIGFzc3VtZSB0aGF0IHdlJ3ZlIGJlZW4gZ2l2ZW4gYSBDU1MgdmFyaWFibGUuXG4vLyBTaW5jZSB3ZSBjYW4ndCBwZXJmb3JtIGFscGhhLWJsZW5kaW5nIG9uIGEgQ1NTIHZhcmlhYmxlLFxuLy8gd2UgaW5zdGVhZCBhZGQgdGhlIG9wYWNpdHkgZGlyZWN0bHkgdG8gdGhlIHJpcHBsZSBlbGVtZW50LlxuQG1peGluIF9tYXQtY2hpcHMtcmlwcGxlLWJhY2tncm91bmQoJHBhbGV0dGUsICRkZWZhdWx0LWNvbnRyYXN0LCAkb3BhY2l0eSkge1xuICAkYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCAkZGVmYXVsdC1jb250cmFzdCwgJG9wYWNpdHkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcjtcbiAgQGlmICh0eXBlLW9mKCRiYWNrZ3JvdW5kLWNvbG9yKSAhPSBjb2xvcikge1xuICAgIG9wYWNpdHk6ICRvcGFjaXR5O1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWNoaXAtdGhlbWUtY29sb3IoJHBhbGV0dGUpIHtcbiAgQGluY2x1ZGUgX21hdC1jaGlwLWVsZW1lbnQtY29sb3IobWF0LWNvbG9yKCRwYWxldHRlLCBkZWZhdWx0LWNvbnRyYXN0KSwgbWF0LWNvbG9yKCRwYWxldHRlKSk7XG5cbiAgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgQGluY2x1ZGUgX21hdC1jaGlwcy1yaXBwbGUtYmFja2dyb3VuZCgkcGFsZXR0ZSwgZGVmYXVsdC1jb250cmFzdCwgMC4xKTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWNoaXBzLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCRjb25maWcsIGlzLWRhcmspO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gICR1bnNlbGVjdGVkLWJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgdW5zZWxlY3RlZC1jaGlwKTtcbiAgJHVuc2VsZWN0ZWQtZm9yZWdyb3VuZDogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcblxuICAubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAge1xuICAgIEBpbmNsdWRlIF9tYXQtY2hpcC1lbGVtZW50LWNvbG9yKCR1bnNlbGVjdGVkLWZvcmVncm91bmQsICR1bnNlbGVjdGVkLWJhY2tncm91bmQpO1xuXG4gICAgJjpub3QoLm1hdC1jaGlwLWRpc2FibGVkKSB7XG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLWVsZXZhdGlvbigzLCAkY29uZmlnKTtcbiAgICAgIH1cblxuICAgICAgLm1hdC1jaGlwLXJlbW92ZTpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5tYXQtY2hpcC1kaXNhYmxlZCB7XG4gICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm9yZWdyb3VuZCwgYmFzZSk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkIHtcbiAgICAmLm1hdC1wcmltYXJ5IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtY2hpcC10aGVtZS1jb2xvcigkcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWNoaXAtdGhlbWUtY29sb3IoJHdhcm4pO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWNoaXAtdGhlbWUtY29sb3IoJGFjY2VudCk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtY2hpcHMtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtY2hpcCB7XG4gICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMik7XG4gICAgZm9udC13ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTIpO1xuXG4gICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb24sXG4gICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbiB7XG4gICAgICBmb250LXNpemU6ICRtYXQtY2hpcC1yZW1vdmUtZm9udC1zaXplO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1jaGlwcy1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtY2hpcHMtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWNoaXBzJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWNoaXBzLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtY2hpcHMtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1jaGlwcy10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cbkBtaXhpbiBtYXQtZGl2aWRlci1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWRpdmlkZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG4gIH1cblxuICAubWF0LWRpdmlkZXItdmVydGljYWwge1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWRpdmlkZXItdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gX21hdC1kaXZpZGVyLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1kaXZpZGVyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1kaXZpZGVyJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWRpdmlkZXItY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1kaXZpZGVyLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZGl2aWRlci10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5AbWl4aW4gbWF0LXRhYmxlLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LXRhYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsICdjYXJkJyk7XG4gIH1cblxuICAubWF0LXRhYmxlIHRoZWFkLCAubWF0LXRhYmxlIHRib2R5LCAubWF0LXRhYmxlIHRmb290LFxuICBtYXQtaGVhZGVyLXJvdywgbWF0LXJvdywgbWF0LWZvb3Rlci1yb3csXG4gIFttYXQtaGVhZGVyLXJvd10sIFttYXQtcm93XSwgW21hdC1mb290ZXItcm93XSxcbiAgLm1hdC10YWJsZS1zdGlja3kge1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIH1cblxuICBtYXQtcm93LCBtYXQtaGVhZGVyLXJvdywgbWF0LWZvb3Rlci1yb3csXG4gIHRoLm1hdC1oZWFkZXItY2VsbCwgdGQubWF0LWNlbGwsIHRkLm1hdC1mb290ZXItY2VsbCB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcbiAgfVxuXG4gIC5tYXQtaGVhZGVyLWNlbGwge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtY2VsbCwgLm1hdC1mb290ZXItY2VsbCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gIH1cbn1cblxuQG1peGluIG1hdC10YWJsZS10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC10YWJsZSB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtaGVhZGVyLWNlbGwge1xuICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBjYXB0aW9uKTtcbiAgICBmb250LXdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMik7XG4gIH1cblxuICAubWF0LWNlbGwsIC5tYXQtZm9vdGVyLWNlbGwge1xuICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LXRhYmxlLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC10YWJsZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtdGFibGUnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdGFibGUtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC10YWJsZS1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRhYmxlLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG4kbWF0LWRhdGVwaWNrZXItc2VsZWN0ZWQtdG9kYXktYm94LXNoYWRvdy13aWR0aDogMXB4O1xuJG1hdC1kYXRlcGlja2VyLXNlbGVjdGVkLWZhZGUtYW1vdW50OiAwLjY7XG4kbWF0LWRhdGVwaWNrZXItcmFuZ2UtZmFkZS1hbW91bnQ6IDAuMjtcbiRtYXQtZGF0ZXBpY2tlci10b2RheS1mYWRlLWFtb3VudDogMC4yO1xuJG1hdC1jYWxlbmRhci1ib2R5LWZvbnQtc2l6ZTogMTNweCAhZGVmYXVsdDtcbiRtYXQtY2FsZW5kYXItd2Vla2RheS10YWJsZS1mb250LXNpemU6IDExcHggIWRlZmF1bHQ7XG5cbkBtaXhpbiBfbWF0LWRhdGVwaWNrZXItY29sb3IoJHBhbGV0dGUpIHtcbiAgQGluY2x1ZGUgbWF0LWRhdGUtcmFuZ2UtY29sb3JzKFxuICAgIG1hdC1jb2xvcigkcGFsZXR0ZSwgZGVmYXVsdCwgJG1hdC1kYXRlcGlja2VyLXJhbmdlLWZhZGUtYW1vdW50KSk7XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUsIGRlZmF1bHQtY29udHJhc3QpO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkID4gLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkIHtcbiAgICAkYmFja2dyb3VuZDogbWF0LWNvbG9yKCRwYWxldHRlKTtcblxuICAgIEBpZiAodHlwZS1vZigkYmFja2dyb3VuZCkgPT0gY29sb3IpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGZhZGUtb3V0KCRiYWNrZ3JvdW5kLCAkbWF0LWRhdGVwaWNrZXItc2VsZWN0ZWQtZmFkZS1hbW91bnQpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBJZiB3ZSBjb3VsZG4ndCByZXNvbHZlIHRvIGJhY2tncm91bmQgdG8gYSBjb2xvciAoZS5nLiBpdCdzIGEgQ1NTIHZhcmlhYmxlKSxcbiAgICAgIC8vIGZhbGwgYmFjayB0byBmYWRpbmcgdGhlIGNvbnRlbnQgb3V0IHZpYSBgb3BhY2l0eWAuXG4gICAgICBvcGFjaXR5OiAkbWF0LWRhdGVwaWNrZXItdG9kYXktZmFkZS1hbW91bnQ7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAkbWF0LWRhdGVwaWNrZXItc2VsZWN0ZWQtdG9kYXktYm94LXNoYWRvdy13aWR0aFxuICAgICAgICAgICAgICAgIG1hdC1jb2xvcigkcGFsZXR0ZSwgZGVmYXVsdC1jb250cmFzdCk7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktY2VsbDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkKTpob3ZlcixcbiAgLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmUsXG4gIC5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmUge1xuICAgICYgPiAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtZGF0ZXBpY2tlci11bnNlbGVjdGVkLWNlbGwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUsIDAuMyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFV0aWxpdHkgbWl4aW4gdG8gdGFyZ2V0IGNlbGxzIHRoYXQgYXJlbid0IHNlbGVjdGVkLiBVc2VkIHRvIG1ha2Ugc2VsZWN0b3IgZWFzaWVyIHRvIGZvbGxvdy5cbkBtaXhpbiBfbWF0LWRhdGVwaWNrZXItdW5zZWxlY3RlZC1jZWxsIHtcbiAgJjpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1hdC1kYXRlcGlja2VyLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGRpc2FibGVkLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuXG4gIC5tYXQtY2FsZW5kYXItYXJyb3cge1xuICAgIGJvcmRlci10b3AtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgaWNvbik7XG4gIH1cblxuICAvLyBUaGUgcHJldi9uZXh0IGJ1dHRvbnMgbmVlZCBhIGJpdCBtb3JlIHNwZWNpZmljaXR5IHRvXG4gIC8vIGF2b2lkIGJlaW5nIG92ZXJ3cml0dGVuIGJ5IHRoZSAubWF0LWljb24tYnV0dG9uLlxuICAubWF0LWRhdGVwaWNrZXItdG9nZ2xlLFxuICAubWF0LWRhdGVwaWNrZXItY29udGVudCAubWF0LWNhbGVuZGFyLW5leHQtYnV0dG9uLFxuICAubWF0LWRhdGVwaWNrZXItY29udGVudCAubWF0LWNhbGVuZGFyLXByZXZpb3VzLWJ1dHRvbiB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgaWNvbik7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlciB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgaGludC10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyLWRpdmlkZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50LFxuICAubWF0LWRhdGUtcmFuZ2UtaW5wdXQtc2VwYXJhdG9yIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkID4gLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudCB7XG4gICAgQGluY2x1ZGUgX21hdC1kYXRlcGlja2VyLXVuc2VsZWN0ZWQtY2VsbCB7XG4gICAgICBjb2xvcjogJGRpc2FibGVkLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWRhdGUtcmFuZ2UtaW5wdXQtc2VwYXJhdG9yIHtcbiAgICBjb2xvcjogJGRpc2FibGVkLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLXByZXZpZXcge1xuICAgICRkaXZpZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuXG4gICAgQGlmIHR5cGUtb2YoJGRpdmlkZXItY29sb3IpID09IGNvbG9yIHtcbiAgICAgIC8vIFRoZSBkaXZpZGVyIGNvbG9yIGlzIHNldCB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0IGl0J2xsIGJlIHVzZWRcbiAgICAgIC8vIGZvciBhIHNvbGlkIGJvcmRlciwgYnV0IGJlY2F1c2Ugd2UncmUgdXNpbmcgYSBkYXNoZWQgYm9yZGVyIGZvciB0aGVcbiAgICAgIC8vIHByZXZpZXcgcmFuZ2UsIHdlIG5lZWQgdG8gYnVtcCBpdHMgb3BhY2l0eSB0byBlbnN1cmUgdGhhdCBpdCdzIHZpc2libGUuXG4gICAgICBjb2xvcjogcmdiYSgkZGl2aWRlci1jb2xvciwgbWluKG9wYWNpdHkoJGRpdmlkZXItY29sb3IpICogMiwgMSkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBjb2xvcjogJGRpdmlkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5IHtcbiAgICBAaW5jbHVkZSBfbWF0LWRhdGVwaWNrZXItdW5zZWxlY3RlZC1jZWxsIHtcbiAgICAgIC8vIE5vdGU6IHRob3VnaCBpdCdzIG5vdCB0ZXh0LCB0aGUgYm9yZGVyIGlzIGEgaGludCBhYm91dCB0aGUgZmFjdCB0aGF0IHRoaXMgaXMgdG9kYXkncyBkYXRlLFxuICAgICAgLy8gc28gd2UgdXNlIHRoZSBoaW50IGNvbG9yLlxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGhpbnQtdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkID4gLm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5IHtcbiAgICBAaW5jbHVkZSBfbWF0LWRhdGVwaWNrZXItdW5zZWxlY3RlZC1jZWxsIHtcbiAgICAgICRjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBoaW50LXRleHQpO1xuXG4gICAgICBAaWYgKHR5cGUtb2YoJGNvbG9yKSA9PSBjb2xvcikge1xuICAgICAgICBib3JkZXItY29sb3I6IGZhZGUtb3V0KCRjb2xvciwgJG1hdC1kYXRlcGlja2VyLXRvZGF5LWZhZGUtYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgLy8gSWYgdGhlIGNvbG9yIGRpZG4ndCByZXNvbHZlIHRvIGEgY29sb3IgdmFsdWUsIGJ1dCBzb21ldGhpbmcgbGlrZSBhIENTUyB2YXJpYWJsZSwgd2UgY2FuJ3RcbiAgICAgICAgLy8gZmFkZSBpdCBvdXQgc28gd2UgZmFsbCBiYWNrIHRvIHJlZHVjaW5nIHRoZSBlbGVtZW50IG9wYWNpdHkuIE5vdGUgdGhhdCB3ZSBkb24ndCB1c2UgdGhlXG4gICAgICAgIC8vICRtYXQtZGF0ZXBpY2tlci10b2RheS1mYWRlLWFtb3VudCwgYmVjYXVzZSBoaW50IHRleHQgdXN1YWxseSBoYXMgc29tZSBvcGFjaXR5IGFwcGxpZWRcbiAgICAgICAgLy8gdG8gaXQgYWxyZWFkeSBhbmQgd2UgZG9uJ3Qgd2FudCB0aGVtIHRvIHN0YWNrIG9uIHRvcCBvZiBlYWNoIG90aGVyLlxuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgX21hdC1kYXRlcGlja2VyLWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSkpO1xuXG4gIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oNCwgJGNvbmZpZyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWRhdGVwaWNrZXItY29sb3IobWFwLWdldCgkY29uZmlnLCBhY2NlbnQpKTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtZGF0ZXBpY2tlci1jb2xvcihtYXAtZ2V0KCRjb25maWcsIHdhcm4pKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWRhdGVwaWNrZXItY29udGVudC10b3VjaCB7XG4gICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtZWxldmF0aW9uKDAsICRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZS1hY3RpdmUge1xuICAgIGNvbG9yOiBtYXQtY29sb3IobWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KSwgdGV4dCk7XG5cbiAgICAmLm1hdC1hY2NlbnQge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcihtYXAtZ2V0KCRjb25maWcsIGFjY2VudCksIHRleHQpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcihtYXAtZ2V0KCRjb25maWcsIHdhcm4pLCB0ZXh0KTtcbiAgICB9XG4gIH1cblxuICAubWF0LWRhdGUtcmFuZ2UtaW5wdXQtaW5uZXJbZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWRhdGVwaWNrZXItdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtY2FsZW5kYXIge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHkge1xuICAgIGZvbnQtc2l6ZTogJG1hdC1jYWxlbmRhci1ib2R5LWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1sYWJlbCxcbiAgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uIHtcbiAgICBmb250OiB7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJ1dHRvbik7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBidXR0b24pO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyIHRoIHtcbiAgICBmb250OiB7XG4gICAgICBzaXplOiAkbWF0LWNhbGVuZGFyLXdlZWtkYXktdGFibGUtZm9udC1zaXplO1xuICAgICAgd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0xKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1kYXRlLXJhbmdlLWNvbG9ycyhcbiAgJHJhbmdlLWNvbG9yLFxuICAkY29tcGFyaXNvbi1jb2xvcjogcmdiYSgjZjlhYjAwLCAkbWF0LWRhdGVwaWNrZXItcmFuZ2UtZmFkZS1hbW91bnQpLFxuICAkb3ZlcmxhcC1jb2xvcjogI2E4ZGFiNSxcbiAgJG92ZXJsYXAtc2VsZWN0ZWQtY29sb3I6IGRhcmtlbigkb3ZlcmxhcC1jb2xvciwgMzAlKSkge1xuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAkcmFuZ2UtY29sb3I7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwsXG4gIC5tYXQtY2FsZW5kYXItYm9keS1pbi1jb21wYXJpc29uLXJhbmdlOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICRjb21wYXJpc29uLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLXN0YXJ0OjpiZWZvcmUsXG4gIFtkaXI9J3J0bCddIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1lbmQ6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkcmFuZ2UtY29sb3IgNTAlLCAkY29tcGFyaXNvbi1jb2xvciA1MCUpO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3JlLFxuICBbZGlyPSdydGwnXSAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2Utc3RhcnQ6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsICRyYW5nZS1jb2xvciA1MCUsICRjb21wYXJpc29uLWNvbG9yIDUwJSk7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2UgPiAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwsXG4gIC5tYXQtY2FsZW5kYXItYm9keS1pbi1jb21wYXJpc29uLXJhbmdlLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogJG92ZXJsYXAtY29sb3I7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQsXG4gIC5tYXQtY2FsZW5kYXItYm9keS1pbi1jb21wYXJpc29uLXJhbmdlID4gLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAkb3ZlcmxhcC1zZWxlY3RlZC1jb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1kYXRlcGlja2VyLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1kYXRlcGlja2VyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1kYXRlcGlja2VyJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWRhdGVwaWNrZXItY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1kYXRlcGlja2VyLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZGF0ZXBpY2tlci10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuQG1peGluIG1hdC1kaWFsb2ctY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtZGlhbG9nLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtZWxldmF0aW9uKDI0LCAkY29uZmlnKTtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGRpYWxvZyk7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1kaWFsb2ctdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtZGlhbG9nLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgdGl0bGUpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWRpYWxvZy1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtZGlhbG9nLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1kaWFsb2cnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZGlhbG9nLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtZGlhbG9nLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZGlhbG9nLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuLy8gRGVmYXVsdCBtaW5pbXVtIGFuZCBtYXhpbXVtIGhlaWdodCBmb3IgY29sbGFwc2VkIHBhbmVsIGhlYWRlcnMuXG4kbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItY29sbGFwc2VkLWhlaWdodDogNDhweCAhZGVmYXVsdDtcbiRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jb2xsYXBzZWQtbWluaW11bS1oZWlnaHQ6IDM2cHggIWRlZmF1bHQ7XG4kbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItY29sbGFwc2VkLW1heGltdW0taGVpZ2h0OlxuICAgICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jb2xsYXBzZWQtaGVpZ2h0ICFkZWZhdWx0O1xuXG4vLyBEZWZhdWx0IG1pbmltdW0gYW5kIG1heGltdW0gaGVpZ2h0IGZvciBleHBhbmRlZCBwYW5lbCBoZWFkZXJzLlxuJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWV4cGFuZGVkLWhlaWdodDogNjRweCAhZGVmYXVsdDtcbiRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1leHBhbmRlZC1taW5pbXVtLWhlaWdodDogNDhweCAhZGVmYXVsdDtcbiRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1leHBhbmRlZC1tYXhpbXVtLWhlaWdodDpcbiAgICAkbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZXhwYW5kZWQtaGVpZ2h0ICFkZWZhdWx0O1xuXG4vLyBEZW5zaXR5IGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBleHBhbnNpb24gcGFuZWwuIENhcHR1cmVzIHRoZVxuLy8gaGVpZ2h0IGZvciBib3RoIGV4cGFuZGVkIGFuZCBjb2xsYXBzZWQgcGFuZWwgaGVhZGVycy5cbiRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1kZW5zaXR5LWNvbmZpZzogKFxuICBjb2xsYXBzZWQtaGVpZ2h0OiAoXG4gICAgZGVmYXVsdDogJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWNvbGxhcHNlZC1oZWlnaHQsXG4gICAgbWF4aW11bTogJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWNvbGxhcHNlZC1tYXhpbXVtLWhlaWdodCxcbiAgICBtaW5pbXVtOiAkbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItY29sbGFwc2VkLW1pbmltdW0taGVpZ2h0LFxuICApLFxuICBleHBhbmRlZC1oZWlnaHQ6IChcbiAgICBkZWZhdWx0OiAkbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZXhwYW5kZWQtaGVpZ2h0LFxuICAgIG1heGltdW06ICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1leHBhbmRlZC1tYXhpbXVtLWhlaWdodCxcbiAgICBtaW5pbXVtOiAkbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZXhwYW5kZWQtbWluaW11bS1oZWlnaHQsXG4gIClcbikgIWRlZmF1bHQ7XG5cbi8vIE5vdGU6IEtlZXAgdGhpcyBpbiBzeW5jIHdpdGggdGhlIGFuaW1hdGlvbiB0aW1pbmcgZm9yIHRoZSB0b2dnbGUgaW5kaWNhdG9yXG4vLyBhbmQgYm9keSBleHBhbnNpb24uIFRoZXNlIGFyZSBhbmltYXRlZCB1c2luZyBBbmd1bGFyIGFuaW1hdGlvbnMuXG4kbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdHJhbnNpdGlvbjogMjI1bXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcblxuQG1peGluIG1hdC1wcml2YXRlLWV4cGFuc2lvbi1mb2N1cyB7XG4gIC5tYXQtZXhwYW5zaW9uLXBhbmVsIHtcbiAgICAmIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci5jZGsta2V5Ym9hcmQtZm9jdXNlZCxcbiAgICAmIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci5jZGstcHJvZ3JhbS1mb2N1c2VkLFxuICAgICY6bm90KC5tYXQtZXhwYW5kZWQpIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcjpob3ZlciB7XG4gICAgICAmOm5vdChbYXJpYS1kaXNhYmxlZD0ndHJ1ZSddKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbkBtaXhpbiBtYXQtZXhwYW5zaW9uLXBhbmVsLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWV4cGFuc2lvbi1wYW5lbCB7XG4gICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDIsICRjb25maWcpO1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgY2FyZCk7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gIH1cblxuICAubWF0LWFjdGlvbi1yb3cge1xuICAgIGJvcmRlci10b3AtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG4gIH1cblxuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1leHBhbnNpb24tZm9jdXMge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgaG92ZXIpO1xuICB9XG5cbiAgLy8gRGlzYWJsZSB0aGUgaG92ZXIgb24gdG91Y2ggZGV2aWNlcyBzaW5jZSBpdCBjYW4gYXBwZWFyIGxpa2UgaXQgaXMgc3R1Y2suIFdlIGNhbid0IHVzZVxuICAvLyBgQG1lZGlhIChob3ZlcilgIGFib3ZlLCBiZWNhdXNlIHRoZSBkZXNrdG9wIHN1cHBvcnQgYnJvd3NlciBzdXBwb3J0IGlzbid0IGdyZWF0LlxuICBAbWVkaWEgKGhvdmVyOiBub25lKSB7XG4gICAgLm1hdC1leHBhbnNpb24tcGFuZWw6bm90KC5tYXQtZXhwYW5kZWQpOm5vdChbYXJpYS1kaXNhYmxlZD0ndHJ1ZSddKVxuICAgICAgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgY2FyZCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRpdGxlIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1kZXNjcmlwdGlvbixcbiAgLm1hdC1leHBhbnNpb24taW5kaWNhdG9yOjphZnRlciB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICB9XG5cbiAgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW2FyaWEtZGlzYWJsZWQ9J3RydWUnXSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtYnV0dG9uKTtcblxuICAgIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci10aXRsZSxcbiAgICAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24ge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtZXhwYW5zaW9uLXBhbmVsLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIge1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIHN1YmhlYWRpbmctMSk7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIHN1YmhlYWRpbmctMSk7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBzdWJoZWFkaW5nLTEpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBib2R5LTEpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtZXhwYW5zaW9uLXBhbmVsLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkZGVuc2l0eS1zY2FsZTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGV4cGFuZGVkLWhlaWdodDogbWF0LXByaXZhdGUtZGVuc2l0eS1wcm9wLXZhbHVlKFxuICAgICAgICAkbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBleHBhbmRlZC1oZWlnaHQpO1xuICAkY29sbGFwc2VkLWhlaWdodDogbWF0LXByaXZhdGUtZGVuc2l0eS1wcm9wLXZhbHVlKFxuICAgICAgJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlbnNpdHktY29uZmlnLCAkZGVuc2l0eS1zY2FsZSwgY29sbGFwc2VkLWhlaWdodCk7XG5cbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtZGVuc2l0eS1sZWdhY3ktY29tcGF0aWJpbGl0eSgpIHtcbiAgICAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIge1xuICAgICAgaGVpZ2h0OiAkY29sbGFwc2VkLWhlaWdodDtcblxuICAgICAgJi5tYXQtZXhwYW5kZWQge1xuICAgICAgICBoZWlnaHQ6ICRleHBhbmRlZC1oZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtZXhwYW5zaW9uLXBhbmVsLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1leHBhbnNpb24tcGFuZWwnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZXhwYW5zaW9uLXBhbmVsLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1leHBhbnNpb24tcGFuZWwtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1leHBhbnNpb24tcGFuZWwtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cbi8vIFRoaXMgbWl4aW4gd2lsbCBlbnN1cmUgdGhhdCBsaW5lcyB0aGF0IG92ZXJmbG93IHRoZSBjb250YWluZXIgd2lsbCBoaWRlIHRoZSBvdmVyZmxvdyBhbmRcbi8vIHRydW5jYXRlIG5lYXRseSB3aXRoIGFuIGVsbGlwc2lzLlxuQG1peGluIG1hdC10cnVuY2F0ZS1saW5lKCkge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLy8gTWl4aW4gdG8gcHJvdmlkZSBhbGwgbWF0LWxpbmUgc3R5bGVzLCBjaGFuZ2luZyBzZWNvbmRhcnkgZm9udCBzaXplIGJhc2VkIG9uIHdoZXRoZXIgdGhlIGxpc3Rcbi8vIGlzIGluIGRlbnNlIG1vZGUuXG5AbWl4aW4gbWF0LWxpbmUtYmFzZSgkc2Vjb25kYXJ5LWZvbnQtc2l6ZSkge1xuICAubWF0LWxpbmUge1xuICAgIEBpbmNsdWRlIG1hdC10cnVuY2F0ZS1saW5lKCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIC8vIGFsbCBsaW5lcyBidXQgdGhlIHRvcCBsaW5lIHNob3VsZCBoYXZlIHNtYWxsZXIgdGV4dFxuICAgICY6bnRoLWNoaWxkKG4rMikge1xuICAgICAgZm9udC1zaXplOiAkc2Vjb25kYXJ5LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gVGhpcyBtaXhpbiBub3JtYWxpemVzIGRlZmF1bHQgZWxlbWVudCBzdHlsZXMsIGUuZy4gZm9udCB3ZWlnaHQgZm9yIGhlYWRpbmcgdGV4dC5cbkBtaXhpbiBtYXQtbm9ybWFsaXplLXRleHQoKSB7XG4gICYgPiAqIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBUaGlzIG1peGluIHByb3ZpZGVzIGJhc2Ugc3R5bGVzIGZvciB0aGUgd3JhcHBlciBhcm91bmQgbWF0LWxpbmUgZWxlbWVudHMgaW4gYSBsaXN0LlxuQG1peGluIG1hdC1saW5lLXdyYXBwZXItYmFzZSgpIHtcbiAgQGluY2x1ZGUgbWF0LW5vcm1hbGl6ZS10ZXh0KCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleDogYXV0bztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAvLyBNdXN0IHJlbW92ZSB3cmFwcGVyIHdoZW4gbGluZXMgYXJlIGVtcHR5IG9yIGl0IHRha2VzIHVwIGhvcml6b250YWxcbiAgLy8gc3BhY2UgYW5kIHB1c2hlcyBvdGhlciBlbGVtZW50cyB0byB0aGUgcmlnaHQuXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG5cbi8vIEluY2x1ZGUgdGhpcyBlbXB0eSBtaXhpbiBmb3IgY29uc2lzdGVuY3kgd2l0aCB0aGUgb3RoZXIgY29tcG9uZW50cy5cbkBtaXhpbiBtYXQtZ3JpZC1saXN0LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtZ3JpZC1saXN0LXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LWdyaWQtdGlsZS1oZWFkZXIsXG4gIC5tYXQtZ3JpZC10aWxlLWZvb3RlciB7XG4gICAgQGluY2x1ZGUgbWF0LWxpbmUtYmFzZShtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pKTtcbiAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1ncmlkLWxpc3QtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWdyaWQtbGlzdC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtZ3JpZC1saXN0Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWdyaWQtbGlzdC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWdyaWQtbGlzdC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWdyaWQtbGlzdC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbkBtaXhpbiBtYXQtaWNvbi1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtaWNvbiB7XG4gICAgJi5tYXQtcHJpbWFyeSB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCB0ZXh0KTtcbiAgICB9XG5cbiAgICAmLm1hdC1hY2NlbnQge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkYWNjZW50LCB0ZXh0KTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIHRleHQpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWljb24tdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gX21hdC1pY29uLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1pY29uLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1pY29uJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWljb24tY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1pY29uLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtaWNvbi10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cbi8vIFJlbmRlcnMgYSBncmFkaWVudCBmb3Igc2hvd2luZyB0aGUgZGFzaGVkIGxpbmUgd2hlbiB0aGUgaW5wdXQgaXMgZGlzYWJsZWQuXG4vLyBVbmxpa2UgdXNpbmcgYSBib3JkZXIsIGEgZ3JhZGllbnQgYWxsb3dzIHVzIHRvIGFkanVzdCB0aGUgc3BhY2luZyBvZiB0aGUgZG90dGVkIGxpbmVcbi8vIHRvIG1hdGNoIHRoZSBNYXRlcmlhbCBEZXNpZ24gc3BlYy5cbkBtaXhpbiBtYXQtcHJpdmF0ZS1jb250cm9sLWRpc2FibGVkLXVuZGVybGluZSgkY29sb3IpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkY29sb3IgMCUsICRjb2xvciAzMyUsIHRyYW5zcGFyZW50IDAlKTtcbiAgYmFja2dyb3VuZC1zaXplOiA0cHggMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG4vLyBGaWd1cmVzIG91dCB0aGUgY29sb3Igb2YgdGhlIHBsYWNlaG9sZGVyIGZvciBhIGZvcm0gY29udHJvbC5cbi8vIFVzZWQgcHJpbWFyaWx5IHRvIHByZXZlbnQgdGhlIHZhcmlvdXMgZm9ybSBjb250cm9scyBmcm9tXG4vLyBiZWNvbWluZyBvdXQgb2Ygc3luYyBzaW5jZSB0aGVzZSBjb2xvcnMgYXJlbid0IGluIGEgcGFsZXR0ZS5cbkBmdW5jdGlvbiBtYXQtcHJpdmF0ZS1jb250cm9sLXBsYWNlaG9sZGVyLWNvbG9yKCRjb25maWcpIHtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCRjb25maWcsIGlzLWRhcmspO1xuICBAcmV0dXJuIG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjUsIDAuNDIpKTtcbn1cblxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBtYXRlcmlhbC9uby1wcmVmaXhlcyAqL1xuQG1peGluIHVzZXItc2VsZWN0KCR2YWx1ZSkge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiAkdmFsdWU7XG4gIC1tb3otdXNlci1zZWxlY3Q6ICR2YWx1ZTtcbiAgLW1zLXVzZXItc2VsZWN0OiAkdmFsdWU7XG4gIHVzZXItc2VsZWN0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBpbnB1dC1wbGFjZWhvbGRlciB7XG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGN1cnNvci1ncmFiIHtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gIGN1cnNvcjogZ3JhYjtcbn1cblxuQG1peGluIGN1cnNvci1ncmFiYmluZyB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcbiAgY3Vyc29yOiBncmFiYmluZztcbn1cblxuQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZhbHVlKSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogJHZhbHVlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBwb3NpdGlvbi1zdGlja3koJGltcG9ydGFudDogZmFsc2UpIHtcbiAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5ICN7aWYoJGltcG9ydGFudCwgJyFpbXBvcnRhbnQnLCAnJyl9O1xuICBwb3NpdGlvbjogc3RpY2t5ICN7aWYoJGltcG9ydGFudCwgJyFpbXBvcnRhbnQnLCAnJyl9O1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuXG5cblxuQG1peGluIG1hdC1pbnB1dC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlciB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICB9XG5cbiAgLm1hdC1pbnB1dC1lbGVtZW50OmRpc2FibGVkLFxuICAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVyIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtaW5wdXQtZWxlbWVudCB7XG4gICAgY2FyZXQtY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSwgdGV4dCk7XG5cbiAgICBAaW5jbHVkZSBpbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogbWF0LXByaXZhdGUtY29udHJvbC1wbGFjZWhvbGRlci1jb2xvcigkY29uZmlnKTtcbiAgICB9XG5cbiAgICAvLyBPbiBkYXJrIHRoZW1lcyB3ZSBzZXQgdGhlIG5hdGl2ZSBgc2VsZWN0YCBjb2xvciB0byBzb21lIHNoYWRlIG9mIHdoaXRlLFxuICAgIC8vIGhvd2V2ZXIgdGhlIGNvbG9yIHByb3BhZ2F0ZXMgdG8gYWxsIG9mIHRoZSBgb3B0aW9uYCBlbGVtZW50cywgd2hpY2ggYXJlXG4gICAgLy8gYWx3YXlzIG9uIGEgd2hpdGUgYmFja2dyb3VuZCBpbnNpZGUgdGhlIGRyb3Bkb3duLCBjYXVzaW5nIHRoZW0gdG8gYmxlbmQgaW4uXG4gICAgLy8gU2luY2Ugd2UgY2FuJ3QgY2hhbmdlIGJhY2tncm91bmQgb2YgdGhlIGRyb3Bkb3duLCB3ZSBuZWVkIHRvIGV4cGxpY2l0bHlcbiAgICAvLyByZXNldCB0aGUgY29sb3Igb2YgdGhlIG9wdGlvbnMgdG8gc29tZXRoaW5nIGRhcmsuXG4gICAgQGlmIChtYXAtZ2V0KCRjb25maWcsIGlzLWRhcmspKSB7XG4gICAgICBvcHRpb24ge1xuICAgICAgICBjb2xvcjogJGRhcmstcHJpbWFyeS10ZXh0O1xuICAgICAgfVxuXG4gICAgICBvcHRpb246ZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJGRhcmstZGlzYWJsZWQtdGV4dDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQubWF0LWFjY2VudCAubWF0LWlucHV0LWVsZW1lbnQge1xuICAgIGNhcmV0LWNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgdGV4dCk7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQubWF0LXdhcm4gLm1hdC1pbnB1dC1lbGVtZW50LFxuICAubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWlucHV0LWVsZW1lbnQge1xuICAgIGNhcmV0LWNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIHRleHQpO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVyIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCR3YXJuLCB0ZXh0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWlucHV0LXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAvLyBUaGUgdW5pdC1sZXNzIGxpbmUtaGVpZ2h0IGZyb20gdGhlIGZvbnQgY29uZmlnLlxuICAkbGluZS1oZWlnaHQ6IG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCBpbnB1dCk7XG5cbiAgLy8gVGhlIGFtb3VudCBvZiBzcGFjZSBiZXR3ZWVuIHRoZSB0b3Agb2YgdGhlIGxpbmUgYW5kIHRoZSB0b3Agb2YgdGhlIGFjdHVhbCB0ZXh0XG4gIC8vIChhcyBhIGZyYWN0aW9uIG9mIHRoZSBmb250LXNpemUpLlxuICAkbGluZS1zcGFjaW5nOiAoJGxpbmUtaGVpZ2h0IC0gMSkgLyAyO1xuXG4gIC8vIDxpbnB1dD4gZWxlbWVudHMgc2VlbSB0byBoYXZlIHRoZWlyIGhlaWdodCBzZXQgc2xpZ2h0bHkgdG9vIGxhcmdlIG9uIFNhZmFyaSBjYXVzaW5nIHRoZSB0ZXh0IHRvXG4gIC8vIGJlIG1pc2FsaWduZWQgdy5yLnQuIHRoZSBwbGFjZWhvbGRlci4gQWRkaW5nIHRoaXMgbWFyZ2luIGNvcnJlY3RzIGl0LlxuICBpbnB1dC5tYXQtaW5wdXQtZWxlbWVudCB7XG4gICAgbWFyZ2luLXRvcDogLSRsaW5lLXNwYWNpbmcgKiAxZW07XG4gIH1cbn1cblxuQG1peGluIF9tYXQtaW5wdXQtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWlucHV0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1pbnB1dCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1pbnB1dC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWlucHV0LWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtaW5wdXQtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbkBtaXhpbiBtYXQtbGlzdC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1saXN0LWJhc2Uge1xuICAgIC5tYXQtbGlzdC1pdGVtIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICAgIH1cblxuICAgIC5tYXQtbGlzdC1vcHRpb24ge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gICAgfVxuXG4gICAgLm1hdC1zdWJoZWFkZXIge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtbGlzdC1pdGVtLWRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGRpc2FibGVkLWxpc3Qtb3B0aW9uKTtcbiAgfVxuXG4gIC5tYXQtbGlzdC1vcHRpb24sXG4gIC5tYXQtbmF2LWxpc3QgLm1hdC1saXN0LWl0ZW0sXG4gIC5tYXQtYWN0aW9uLWxpc3QgLm1hdC1saXN0LWl0ZW0ge1xuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCAnaG92ZXInKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWxpc3Qtc2luZ2xlLXNlbGVjdGVkLW9wdGlvbiB7XG4gICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGhvdmVyLCAwLjEyKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1saXN0LXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcblxuICAubWF0LWxpc3QtaXRlbSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgfVxuXG4gIC5tYXQtbGlzdC1vcHRpb24ge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gIH1cblxuICAvLyBEZWZhdWx0IGxpc3RcbiAgLm1hdC1saXN0LWJhc2Uge1xuICAgIC5tYXQtbGlzdC1pdGVtIHtcbiAgICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBzdWJoZWFkaW5nLTIpO1xuICAgICAgQGluY2x1ZGUgbWF0LWxpbmUtYmFzZShtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSkpO1xuICAgIH1cblxuICAgIC5tYXQtbGlzdC1vcHRpb24ge1xuICAgICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIHN1YmhlYWRpbmctMik7XG4gICAgICBAaW5jbHVkZSBtYXQtbGluZS1iYXNlKG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKSk7XG4gICAgfVxuXG4gICAgLm1hdC1zdWJoZWFkZXIge1xuICAgICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBib2R5LTIpO1xuICAgICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMik7XG4gICAgICBmb250LXdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMik7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVuc2UgbGlzdFxuICAubWF0LWxpc3QtYmFzZVtkZW5zZV0ge1xuICAgIC5tYXQtbGlzdC1pdGVtIHtcbiAgICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBjYXB0aW9uKTtcbiAgICAgIEBpbmNsdWRlIG1hdC1saW5lLWJhc2UobWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBjYXB0aW9uKSk7XG4gICAgfVxuXG4gICAgLm1hdC1saXN0LW9wdGlvbiB7XG4gICAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgY2FwdGlvbik7XG4gICAgICBAaW5jbHVkZSBtYXQtbGluZS1iYXNlKG1hdC1mb250LXNpemUoJGNvbmZpZywgY2FwdGlvbikpO1xuICAgIH1cblxuICAgIC5tYXQtc3ViaGVhZGVyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgY2FwdGlvbik7XG4gICAgICBmb250LXdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfbWF0LWxpc3QtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWxpc3QtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWxpc3QnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtbGlzdC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWxpc3QtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1saXN0LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG5AbWl4aW4gbWF0LW1lbnUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtbWVudS1wYW5lbCB7XG4gICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDQsICRjb25maWcpO1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgJ2NhcmQnKTtcbiAgfVxuXG4gIC5tYXQtbWVudS1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCAndGV4dCcpO1xuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgJixcbiAgICAgICY6OmFmdGVyLFxuICAgICAgLm1hdC1pY29uLW5vLWNvbG9yIHtcbiAgICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgJ2Rpc2FibGVkJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uLW5vLWNvbG9yLFxuICAubWF0LW1lbnUtaXRlbS1zdWJtZW51LXRyaWdnZXI6OmFmdGVyIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCAnaWNvbicpO1xuICB9XG5cbiAgLm1hdC1tZW51LWl0ZW06aG92ZXIsXG4gIC5tYXQtbWVudS1pdGVtLmNkay1wcm9ncmFtLWZvY3VzZWQsXG4gIC5tYXQtbWVudS1pdGVtLmNkay1rZXlib2FyZC1mb2N1c2VkLFxuICAubWF0LW1lbnUtaXRlbS1oaWdobGlnaHRlZCB7XG4gICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCAnaG92ZXInKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1tZW51LXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LW1lbnUtaXRlbSB7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgYm9keS0xKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfbWF0LW1lbnUtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LW1lbnUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LW1lbnUnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtbWVudS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LW1lbnUtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1tZW51LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuJG1hdC1wYWdpbmF0b3ItaGVpZ2h0OiA1NnB4ICFkZWZhdWx0O1xuLy8gTWluaW11bSBoZWlnaHQgZm9yIHBhZ2luYXRvcidzIGluIHRoZSBoaWdoZXN0IGRlbnNpdHkgaXMgZGV0ZXJtaW5lZCBiYXNlZCBvbiBob3dcbi8vIG11Y2ggdGhlIHBhZ2luYXRvciBjYW4gc2hyaW5rIHVudGlsIHRoZSBjb250ZW50IGV4Y2VlZHMgKGkuZS4gbmF2aWdhdGlvbiBidXR0b25zKS5cbiRtYXQtcGFnaW5hdG9yLW1pbmltdW0taGVpZ2h0OiA0MHB4ICFkZWZhdWx0O1xuJG1hdC1wYWdpbmF0b3ItbWF4aW11bS1oZWlnaHQ6ICRtYXQtcGFnaW5hdG9yLWhlaWdodCAhZGVmYXVsdDtcblxuJG1hdC1wYWdpbmF0b3ItZGVuc2l0eS1jb25maWc6IChcbiAgaGVpZ2h0OiAoXG4gICAgZGVmYXVsdDogJG1hdC1wYWdpbmF0b3ItaGVpZ2h0LFxuICAgIG1heGltdW06ICRtYXQtcGFnaW5hdG9yLW1heGltdW0taGVpZ2h0LFxuICAgIG1pbmltdW06ICRtYXQtcGFnaW5hdG9yLW1pbmltdW0taGVpZ2h0LFxuICApXG4pICFkZWZhdWx0O1xuXG5cbkBtaXhpbiBtYXQtcGFnaW5hdG9yLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcblxuICAubWF0LXBhZ2luYXRvciB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCAnY2FyZCcpO1xuICB9XG5cbiAgLm1hdC1wYWdpbmF0b3IsXG4gIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZSAubWF0LXNlbGVjdC10cmlnZ2VyIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LXBhZ2luYXRvci1kZWNyZW1lbnQsXG4gIC5tYXQtcGFnaW5hdG9yLWluY3JlbWVudCB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgJ2ljb24nKTtcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCBtYXQtY29sb3IoJGZvcmVncm91bmQsICdpY29uJyk7XG4gIH1cblxuICAubWF0LXBhZ2luYXRvci1maXJzdCxcbiAgLm1hdC1wYWdpbmF0b3ItbGFzdCB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgJ2ljb24nKTtcbiAgfVxuXG4gIC5tYXQtaWNvbi1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAubWF0LXBhZ2luYXRvci1kZWNyZW1lbnQsXG4gICAgLm1hdC1wYWdpbmF0b3ItaW5jcmVtZW50LFxuICAgIC5tYXQtcGFnaW5hdG9yLWZpcnN0LFxuICAgIC5tYXQtcGFnaW5hdG9yLWxhc3Qge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsICdkaXNhYmxlZCcpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXBhZ2luYXRvci10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1wYWdpbmF0b3IsXG4gIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZSAubWF0LXNlbGVjdC10cmlnZ2VyIHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBjYXB0aW9uKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgY2FwdGlvbik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcGFnaW5hdG9yLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkZGVuc2l0eS1zY2FsZTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGhlaWdodDogbWF0LXByaXZhdGUtZGVuc2l0eS1wcm9wLXZhbHVlKCRtYXQtcGFnaW5hdG9yLWRlbnNpdHktY29uZmlnLCAkZGVuc2l0eS1zY2FsZSwgaGVpZ2h0KTtcblxuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1kZW5zaXR5LWxlZ2FjeS1jb21wYXRpYmlsaXR5KCkge1xuICAgIC5tYXQtcGFnaW5hdG9yLWNvbnRhaW5lciB7XG4gICAgICBtaW4taGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXBhZ2luYXRvci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtcGFnaW5hdG9yJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXBhZ2luYXRvci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcGFnaW5hdG9yLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcGFnaW5hdG9yLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5AbWl4aW4gbWF0LXByb2dyZXNzLWJhci1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcblxuICAubWF0LXByb2dyZXNzLWJhci1iYWNrZ3JvdW5kIHtcbiAgICBmaWxsOiBtYXQtY29sb3IoJHByaW1hcnksIGxpZ2h0ZXIpO1xuICB9XG5cbiAgLm1hdC1wcm9ncmVzcy1iYXItYnVmZmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIGxpZ2h0ZXIpO1xuICB9XG5cbiAgLm1hdC1wcm9ncmVzcy1iYXItZmlsbDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gIH1cblxuICAubWF0LXByb2dyZXNzLWJhci5tYXQtYWNjZW50IHtcbiAgICAubWF0LXByb2dyZXNzLWJhci1iYWNrZ3JvdW5kIHtcbiAgICAgIGZpbGw6IG1hdC1jb2xvcigkYWNjZW50LCBsaWdodGVyKTtcbiAgICB9XG5cbiAgICAubWF0LXByb2dyZXNzLWJhci1idWZmZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIGxpZ2h0ZXIpO1xuICAgIH1cblxuICAgIC5tYXQtcHJvZ3Jlc3MtYmFyLWZpbGw6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYWNjZW50KTtcbiAgICB9XG4gIH1cblxuICAubWF0LXByb2dyZXNzLWJhci5tYXQtd2FybiB7XG4gICAgLm1hdC1wcm9ncmVzcy1iYXItYmFja2dyb3VuZCB7XG4gICAgICBmaWxsOiBtYXQtY29sb3IoJHdhcm4sIGxpZ2h0ZXIpO1xuICAgIH1cblxuICAgIC5tYXQtcHJvZ3Jlc3MtYmFyLWJ1ZmZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIGxpZ2h0ZXIpO1xuICAgIH1cblxuICAgIC5tYXQtcHJvZ3Jlc3MtYmFyLWZpbGw6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkd2Fybik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcHJvZ3Jlc3MtYmFyLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIF9tYXQtcHJvZ3Jlc3MtYmFyLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1wcm9ncmVzcy1iYXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXByb2dyZXNzLWJhcicpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcm9ncmVzcy1iYXItY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1wcm9ncmVzcy1iYXItZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcm9ncmVzcy1iYXItdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuQG1peGluIG1hdC1wcm9ncmVzcy1zcGlubmVyLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuXG4gIC5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lciwgLm1hdC1zcGlubmVyIHtcbiAgICBjaXJjbGUge1xuICAgICAgc3Ryb2tlOiBtYXQtY29sb3IoJHByaW1hcnkpO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCBjaXJjbGUge1xuICAgICAgc3Ryb2tlOiBtYXQtY29sb3IoJGFjY2VudCk7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiBjaXJjbGUge1xuICAgICAgc3Ryb2tlOiBtYXQtY29sb3IoJHdhcm4pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXByb2dyZXNzLXNwaW5uZXItdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gX21hdC1wcm9ncmVzcy1zcGlubmVyLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1wcm9ncmVzcy1zcGlubmVyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1wcm9ncmVzcy1zcGlubmVyJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXByb2dyZXNzLXNwaW5uZXItY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1wcm9ncmVzcy1zcGlubmVyLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5AbWl4aW4gX21hdC1yYWRpby1jb2xvcigkcGFsZXR0ZSkge1xuICAmLm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSk7XG4gIH1cblxuICAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSxcbiAgLm1hdC1yYWRpby1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudDpub3QoLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZSksXG4gICYubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZSxcbiAgJjphY3RpdmUgLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlKTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXJhZGlvLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUge1xuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LXJhZGlvLWJ1dHRvbiB7XG4gICAgJi5tYXQtcHJpbWFyeSB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXJhZGlvLWNvbG9yKCRwcmltYXJ5KTtcbiAgICB9XG5cbiAgICAmLm1hdC1hY2NlbnQge1xuICAgICAgQGluY2x1ZGUgX21hdC1yYWRpby1jb2xvcigkYWNjZW50KTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtcmFkaW8tY29sb3IoJHdhcm4pO1xuICAgIH1cblxuICAgIC8vIFRoaXMgbmVlZHMgZXh0cmEgc3BlY2lmaWNpdHksIGJlY2F1c2UgdGhlIGNsYXNzZXMgYWJvdmUgYXJlIGNvbWJpbmVkXG4gICAgLy8gKGUuZy4gYC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1hY2NlbnRgKSB3aGljaCBpbmNyZWFzZXMgdGhlaXIgc3BlY2lmaWNpdHkgYSBsb3QuXG4gICAgLy8gVE9ETzogY29uc2lkZXIgbWFraW5nIHRoZSBzZWxlY3RvcnMgaW50byBkZXNjZW5kYW50cyAoYC5tYXQtcHJpbWFyeSAubWF0LXJhZGlvLWJ1dHRvbmApLlxuICAgICYubWF0LXJhZGlvLWRpc2FibGVkIHtcbiAgICAgICYubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUsXG4gICAgICAubWF0LXJhZGlvLW91dGVyLWNpcmNsZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZCk7XG4gICAgICB9XG5cbiAgICAgIC5tYXQtcmFkaW8tcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQsXG4gICAgICAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQpO1xuICAgICAgfVxuXG4gICAgICAubWF0LXJhZGlvLWxhYmVsLWNvbnRlbnQge1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU3dpdGNoIHRoaXMgdG8gYSBzb2xpZCBjb2xvciBzaW5jZSB3ZSdyZSB1c2luZyBgb3BhY2l0eWBcbiAgICAvLyB0byBjb250cm9sIGhvdyBvcGFxdWUgdGhlIHJpcHBsZSBzaG91bGQgYmUuXG4gICAgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3JlZ3JvdW5kLCBiYXNlKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1yYWRpby10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1yYWRpby1idXR0b24ge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtcmFkaW8tZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXJhZGlvLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1yYWRpbycpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1yYWRpby1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXJhZGlvLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcmFkaW8tdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cblxuQG1peGluIG1hdC1zZWxlY3QtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcblxuICAubWF0LXNlbGVjdC12YWx1ZSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gIH1cblxuICAubWF0LXNlbGVjdC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IG1hdC1wcml2YXRlLWNvbnRyb2wtcGxhY2Vob2xkZXItY29sb3IoJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LXNlbGVjdC1kaXNhYmxlZCAubWF0LXNlbGVjdC12YWx1ZSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG4gIH1cblxuICAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICB9XG5cbiAgLm1hdC1zZWxlY3QtcGFuZWwge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgY2FyZCk7XG4gICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDQsICRjb25maWcpO1xuXG4gICAgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1tdWx0aXBsZSkge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBob3ZlciwgMC4xMik7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkIHtcbiAgICAmLm1hdC1mb2N1c2VkIHtcbiAgICAgICYubWF0LXByaW1hcnkgLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCB0ZXh0KTtcbiAgICAgIH1cblxuICAgICAgJi5tYXQtYWNjZW50IC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICAgICAgY29sb3I6IG1hdC1jb2xvcigkYWNjZW50LCB0ZXh0KTtcbiAgICAgIH1cblxuICAgICAgJi5tYXQtd2FybiAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIHRleHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tYXQtc2VsZWN0Lm1hdC1zZWxlY3QtaW52YWxpZCAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCR3YXJuLCB0ZXh0KTtcbiAgICB9XG5cbiAgICAubWF0LXNlbGVjdC5tYXQtc2VsZWN0LWRpc2FibGVkIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXNlbGVjdC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLy8gVGhlIHVuaXQtbGVzcyBsaW5lLWhlaWdodCBmcm9tIHRoZSBmb250IGNvbmZpZy5cbiAgJGxpbmUtaGVpZ2h0OiBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgaW5wdXQpO1xuXG4gIC5tYXQtc2VsZWN0IHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1zZWxlY3QtdHJpZ2dlciB7XG4gICAgaGVpZ2h0OiAkbGluZS1oZWlnaHQgKiAxZW07XG4gIH1cbn1cblxuQG1peGluIF9tYXQtc2VsZWN0LWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1zZWxlY3QtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXNlbGVjdCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zZWxlY3QtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1zZWxlY3QtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zZWxlY3QtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuQG1peGluIG1hdC1zaWRlbmF2LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgJGRyYXdlci1iYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGRpYWxvZyk7XG4gICRkcmF3ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3I6ICBtYXQtY29sb3IoJGJhY2tncm91bmQsIGJhY2tncm91bmQpO1xuICAkZHJhd2VyLXB1c2gtYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBkaWFsb2cpO1xuICAkZHJhd2VyLXNpZGUtYm9yZGVyOiBzb2xpZCAxcHggbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcblxuICAubWF0LWRyYXdlci1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkcmF3ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3I7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gIH1cblxuICAubWF0LWRyYXdlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRyYXdlci1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuXG4gICAgJi5tYXQtZHJhd2VyLXB1c2gge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRyYXdlci1wdXNoLWJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuXG4gICAgJjpub3QoLm1hdC1kcmF3ZXItc2lkZSkge1xuICAgICAgLy8gVGhlIGVsZXZhdGlvbiBvZiB6LTE2IGlzIG5vdGVkIGluIHRoZSBkZXNpZ24gc3BlY2lmaWNhdGlvbnMuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9tYXRlcmlhbC5pby9kZXNpZ24vY29tcG9uZW50cy9uYXZpZ2F0aW9uLWRyYXdlci5odG1sXG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oMTYsICRjb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZHJhd2VyLXNpZGUge1xuICAgIGJvcmRlci1yaWdodDogJGRyYXdlci1zaWRlLWJvcmRlcjtcblxuICAgICYubWF0LWRyYXdlci1lbmQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICRkcmF3ZXItc2lkZS1ib3JkZXI7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgW2Rpcj0ncnRsJ10gLm1hdC1kcmF3ZXItc2lkZSB7XG4gICAgYm9yZGVyLWxlZnQ6ICRkcmF3ZXItc2lkZS1ib3JkZXI7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuXG4gICAgJi5tYXQtZHJhd2VyLWVuZCB7XG4gICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgIGJvcmRlci1yaWdodDogJGRyYXdlci1zaWRlLWJvcmRlcjtcbiAgICB9XG4gIH1cblxuICAubWF0LWRyYXdlci1iYWNrZHJvcC5tYXQtZHJhd2VyLXNob3duIHtcbiAgICAkb3BhY2l0eTogMC42O1xuICAgICRiYWNrZHJvcC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkLCAkb3BhY2l0eSk7XG5cbiAgICBAaWYgKHR5cGUtb2YoJGJhY2tkcm9wLWNvbG9yKSA9PSBjb2xvcikge1xuICAgICAgLy8gV2UgdXNlIGludmVydCgpIGhlcmUgdG8gaGF2ZSB0aGUgZGFya2VuIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGV4cGVjdGVkIHRvIGJlIHVzZWQuIElmIHRoZVxuICAgICAgLy8gYmFja2dyb3VuZCBpcyBsaWdodCwgd2UgdXNlIGEgZGFyayBiYWNrZHJvcC4gSWYgdGhlIGJhY2tncm91bmQgaXMgZGFyayxcbiAgICAgIC8vIHdlIHVzZSBhIGxpZ2h0IGJhY2tkcm9wLlxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW52ZXJ0KCRiYWNrZHJvcC1jb2xvcik7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIElmIHdlIGNvdWxkbid0IHJlc29sdmUgdGhlIGJhY2tkcm9wIGNvbG9yIHRvIGEgY29sb3IgdmFsdWUsIGZhbGwgYmFjayB0byB1c2luZ1xuICAgICAgLy8gYG9wYWNpdHlgIHRvIG1ha2UgaXQgb3BhcXVlIHNpbmNlIGl0cyBlbmQgdmFsdWUgY291bGQgYmUgYSBzb2xpZCBjb2xvci5cbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZHJvcC1jb2xvcjtcbiAgICAgIG9wYWNpdHk6ICRvcGFjaXR5O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXNpZGVuYXYtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gX21hdC1zaWRlbmF2LWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1zaWRlbmF2LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1zaWRlbmF2Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNpZGVuYXYtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1zaWRlbmF2LWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc2lkZW5hdi10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cbkBtaXhpbiBfbWF0LXNsaWRlLXRvZ2dsZS1jaGVja2VkKCRwYWxldHRlLCAkdGh1bWItY2hlY2tlZC1odWUpIHtcbiAgJi5tYXQtY2hlY2tlZCB7XG4gICAgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCAkdGh1bWItY2hlY2tlZC1odWUpO1xuICAgIH1cblxuICAgIC5tYXQtc2xpZGUtdG9nZ2xlLWJhciB7XG4gICAgICAvLyBPcGFjaXR5IGlzIGRldGVybWluZWQgZnJvbSB0aGUgc3BlY3MgZm9yIHRoZSBzZWxlY3Rpb24gY29udHJvbHMuXG4gICAgICAvLyBTZWU6IGh0dHBzOi8vbWF0ZXJpYWwuaW8vZGVzaWduL2NvbXBvbmVudHMvc2VsZWN0aW9uLWNvbnRyb2xzLmh0bWwjc3BlY3NcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgJHRodW1iLWNoZWNrZWQtaHVlLCAwLjU0KTtcbiAgICB9XG5cbiAgICAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICAgIC8vIFNldCBubyBvcGFjaXR5IGZvciB0aGUgcmlwcGxlcyBiZWNhdXNlIHRoZSByaXBwbGUgb3BhY2l0eSB3aWxsIGJlIGFkanVzdGVkIGR5bmFtaWNhbGx5XG4gICAgICAvLyBiYXNlZCBvbiB0aGUgdHlwZSBvZiBpbnRlcmFjdGlvbiB3aXRoIHRoZSBzbGlkZS10b2dnbGUgKGUuZy4gZm9yIGhvdmVyLCBmb2N1cylcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgJHRodW1iLWNoZWNrZWQtaHVlKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1zbGlkZS10b2dnbGUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGlzLWRhcms6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLy8gQ29sb3IgaHVlcyBhcmUgYmFzZWQgb24gdGhlIHNwZWNzIHdoaWNoIGJyaWVmbHkgc2hvdyB0aGUgaHVlcyB0aGF0IGFyZSBhcHBsaWVkIHRvIGEgc3dpdGNoLlxuICAvLyBUaGUgMjAxOCBzcGVjcyBubyBsb25nZXIgZGVzY3JpYmUgaG93IGRhcmsgc3dpdGNoZXMgc2hvdWxkIGxvb2sgbGlrZS4gRHVlIHRvIHRoZSBsYWNrIG9mXG4gIC8vIGluZm9ybWF0aW9uIGZvciBkYXJrIHRoZW1lZCBzd2l0Y2hlcywgd2UgcGFydGlhbGx5IGtlZXAgdGhlIG9sZCBiZWhhdmlvciB0aGF0IGlzIGJhc2VkIG9uXG4gIC8vIHRoZSBwcmV2aW91cyBzcGVjaWZpY2F0aW9ucy4gRm9yIHRoZSBjaGVja2VkIGNvbG9yIHdlIGFsd2F5cyB1c2UgdGhlIGBkZWZhdWx0YCBodWUgYmVjYXVzZVxuICAvLyB0aGF0IGZvbGxvd3MgTURDIGFuZCBhbHNvIG1ha2VzIGl0IGVhc2llciBmb3IgcGVvcGxlIHRvIGNyZWF0ZSBhIGN1c3RvbSB0aGVtZSB3aXRob3V0IG5lZWRpbmdcbiAgLy8gdG8gc3BlY2lmeSBlYWNoIGh1ZSBpbmRpdmlkdWFsbHkuXG4gICR0aHVtYi11bmNoZWNrZWQtaHVlOiBpZigkaXMtZGFyaywgNDAwLCA1MCk7XG4gICR0aHVtYi1jaGVja2VkLWh1ZTogZGVmYXVsdDtcblxuICAkYmFyLXVuY2hlY2tlZC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZCk7XG4gICRyaXBwbGUtdW5jaGVja2VkLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGJhc2UpO1xuXG4gIC5tYXQtc2xpZGUtdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBfbWF0LXNsaWRlLXRvZ2dsZS1jaGVja2VkKCRhY2NlbnQsICR0aHVtYi1jaGVja2VkLWh1ZSk7XG5cbiAgICAmLm1hdC1wcmltYXJ5IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtc2xpZGUtdG9nZ2xlLWNoZWNrZWQoJHByaW1hcnksICR0aHVtYi1jaGVja2VkLWh1ZSk7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNsaWRlLXRvZ2dsZS1jaGVja2VkKCR3YXJuLCAkdGh1bWItY2hlY2tlZC1odWUpO1xuICAgIH1cblxuICAgICY6bm90KC5tYXQtY2hlY2tlZCkgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgICAvLyBTZXQgbm8gb3BhY2l0eSBmb3IgdGhlIHJpcHBsZXMgYmVjYXVzZSB0aGUgcmlwcGxlIG9wYWNpdHkgd2lsbCBiZSBhZGp1c3RlZCBkeW5hbWljYWxseVxuICAgICAgLy8gYmFzZWQgb24gdGhlIHR5cGUgb2YgaW50ZXJhY3Rpb24gd2l0aCB0aGUgc2xpZGUtdG9nZ2xlIChlLmcuIGZvciBob3ZlciwgZm9jdXMpXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmlwcGxlLXVuY2hlY2tlZC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYiB7XG4gICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtZWxldmF0aW9uKDEsICRjb25maWcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkbWF0LWdyZXksICR0aHVtYi11bmNoZWNrZWQtaHVlKTtcbiAgfVxuXG4gIC5tYXQtc2xpZGUtdG9nZ2xlLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhci11bmNoZWNrZWQtY29sb3I7XG4gIH1cbn1cblxuQG1peGluIG1hdC1zbGlkZS10b2dnbGUtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnQge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtc2xpZGUtdG9nZ2xlLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1zbGlkZS10b2dnbGUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXNsaWRlLXRvZ2dsZScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zbGlkZS10b2dnbGUtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1zbGlkZS10b2dnbGUtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zbGlkZS10b2dnbGUtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5AbWl4aW4gX21hdC1zbGlkZXItaW5uZXItY29udGVudC10aGVtZSgkcGFsZXR0ZSkge1xuICAubWF0LXNsaWRlci10cmFjay1maWxsLFxuICAubWF0LXNsaWRlci10aHVtYixcbiAgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSk7XG4gIH1cblxuICAubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0IHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgfVxuXG4gIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmcge1xuICAgICRvcGFjaXR5OiAwLjI7XG4gICAgJGNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUsIGRlZmF1bHQsICRvcGFjaXR5KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgICAvLyBgbWF0LWNvbG9yYCB1c2VzIGByZ2JhYCBmb3IgdGhlIG9wYWNpdHkgd2hpY2ggd29uJ3Qgd29yayB3aXRoXG4gICAgLy8gQ1NTIHZhcmlhYmxlcyBzbyB3ZSBuZWVkIHRvIHVzZSBgb3BhY2l0eWAgYXMgYSBmYWxsYmFjay5cbiAgICBAaWYgKHR5cGUtb2YoJGNvbG9yKSAhPSBjb2xvcikge1xuICAgICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtc2xpZGVyLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgJG1hdC1zbGlkZXItb2ZmLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNsaWRlci1vZmYpO1xuICAkbWF0LXNsaWRlci1vZmYtZm9jdXNlZC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzbGlkZXItb2ZmLWFjdGl2ZSk7XG4gICRtYXQtc2xpZGVyLWRpc2FibGVkLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNsaWRlci1vZmYpO1xuICAkbWF0LXNsaWRlci1sYWJlbGVkLW1pbi12YWx1ZS10aHVtYi1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzbGlkZXItbWluKTtcbiAgJG1hdC1zbGlkZXItbGFiZWxlZC1taW4tdmFsdWUtdGh1bWItbGFiZWwtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2xpZGVyLW9mZik7XG4gICRtYXQtc2xpZGVyLXRpY2stb3BhY2l0eTogMC43O1xuICAkbWF0LXNsaWRlci10aWNrLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGJhc2UsICRtYXQtc2xpZGVyLXRpY2stb3BhY2l0eSk7XG4gICRtYXQtc2xpZGVyLXRpY2stc2l6ZTogMnB4O1xuXG4gIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYXQtc2xpZGVyLW9mZi1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtcHJpbWFyeSB7XG4gICAgQGluY2x1ZGUgX21hdC1zbGlkZXItaW5uZXItY29udGVudC10aGVtZSgkcHJpbWFyeSk7XG4gIH1cblxuICAubWF0LWFjY2VudCB7XG4gICAgQGluY2x1ZGUgX21hdC1zbGlkZXItaW5uZXItY29udGVudC10aGVtZSgkYWNjZW50KTtcbiAgfVxuXG4gIC5tYXQtd2FybiB7XG4gICAgQGluY2x1ZGUgX21hdC1zbGlkZXItaW5uZXItY29udGVudC10aGVtZSgkd2Fybik7XG4gIH1cblxuICAubWF0LXNsaWRlcjpob3ZlcixcbiAgLmNkay1mb2N1c2VkIHtcbiAgICAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYXQtc2xpZGVyLW9mZi1mb2N1c2VkLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtc2xpZGVyLWRpc2FibGVkIHtcbiAgICAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5kLFxuICAgIC5tYXQtc2xpZGVyLXRyYWNrLWZpbGwsXG4gICAgLm1hdC1zbGlkZXItdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1zbGlkZXItZGlzYWJsZWQtY29sb3I7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1zbGlkZXItZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zbGlkZXItbWluLXZhbHVlIHtcbiAgICAubWF0LXNsaWRlci1mb2N1cy1yaW5nIHtcbiAgICAgICRvcGFjaXR5OiAwLjEyO1xuICAgICAgJGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGJhc2UsICRvcGFjaXR5KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICAgICAgLy8gYG1hdC1jb2xvcmAgdXNlcyBgcmdiYWAgZm9yIHRoZSBvcGFjaXR5IHdoaWNoIHdvbid0IHdvcmsgd2l0aFxuICAgICAgLy8gQ1NTIHZhcmlhYmxlcyBzbyB3ZSBuZWVkIHRvIHVzZSBgb3BhY2l0eWAgYXMgYSBmYWxsYmFjay5cbiAgICAgIEBpZiAodHlwZS1vZigkY29sb3IpICE9IGNvbG9yKSB7XG4gICAgICAgIG9wYWNpdHk6ICRvcGFjaXR5O1xuICAgICAgfVxuICAgIH1cblxuICAgICYubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nIHtcbiAgICAgIC5tYXQtc2xpZGVyLXRodW1iLFxuICAgICAgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LXNsaWRlci1sYWJlbGVkLW1pbi12YWx1ZS10aHVtYi1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5jZGstZm9jdXNlZCB7XG4gICAgICAgIC5tYXQtc2xpZGVyLXRodW1iLFxuICAgICAgICAubWF0LXNsaWRlci10aHVtYi1sYWJlbCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1zbGlkZXItbGFiZWxlZC1taW4tdmFsdWUtdGh1bWItbGFiZWwtY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCgubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nKSB7XG4gICAgICAubWF0LXNsaWRlci10aHVtYiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJG1hdC1zbGlkZXItb2ZmLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlcixcbiAgICAgICYuY2RrLWZvY3VzZWQge1xuICAgICAgICAubWF0LXNsaWRlci10aHVtYiB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkbWF0LXNsaWRlci1vZmYtZm9jdXNlZC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYubWF0LXNsaWRlci1kaXNhYmxlZCAubWF0LXNsaWRlci10aHVtYiB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkbWF0LXNsaWRlci1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tYXQtc2xpZGVyLWhhcy10aWNrcyAubWF0LXNsaWRlci13cmFwcGVyOjphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkbWF0LXNsaWRlci10aWNrLWNvbG9yO1xuXG4gICAgLy8gYG1hdC1jb2xvcmAgdXNlcyBgcmdiYWAgZm9yIHRoZSBvcGFjaXR5IHdoaWNoIHdvbid0IHdvcmsgd2l0aFxuICAgIC8vIENTUyB2YXJpYWJsZXMgc28gd2UgbmVlZCB0byB1c2UgYG9wYWNpdHlgIGFzIGEgZmFsbGJhY2suXG4gICAgQGlmICh0eXBlLW9mKCRtYXQtc2xpZGVyLXRpY2stY29sb3IpICE9IGNvbG9yKSB7XG4gICAgICBvcGFjaXR5OiAkbWF0LXNsaWRlci10aWNrLW9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zbGlkZXItaG9yaXpvbnRhbCAubWF0LXNsaWRlci10aWNrcyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJG1hdC1zbGlkZXItdGljay1jb2xvcixcbiAgICAgICAgJG1hdC1zbGlkZXItdGljay1jb2xvciAkbWF0LXNsaWRlci10aWNrLXNpemUsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50KTtcbiAgICAvLyBGaXJlZm94IGRvZXNuJ3QgZHJhdyB0aGUgZ3JhZGllbnQgY29ycmVjdGx5IHdpdGggJ3RvIHJpZ2h0J1xuICAgIC8vIChzZWUgaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMxNDMxOSkuXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1yZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDAuMDAwMWRlZywgJG1hdC1zbGlkZXItdGljay1jb2xvcixcbiAgICAgICAgJG1hdC1zbGlkZXItdGljay1jb2xvciAkbWF0LXNsaWRlci10aWNrLXNpemUsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50KTtcblxuICAgIC8vIGBtYXQtY29sb3JgIHVzZXMgYHJnYmFgIGZvciB0aGUgb3BhY2l0eSB3aGljaCB3b24ndCB3b3JrIHdpdGhcbiAgICAvLyBDU1MgdmFyaWFibGVzIHNvIHdlIG5lZWQgdG8gdXNlIGBvcGFjaXR5YCBhcyBhIGZhbGxiYWNrLlxuICAgIEBpZiAodHlwZS1vZigkbWF0LXNsaWRlci10aWNrLWNvbG9yKSAhPSBjb2xvcikge1xuICAgICAgb3BhY2l0eTogJG1hdC1zbGlkZXItdGljay1vcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtc2xpZGVyLXZlcnRpY2FsIC5tYXQtc2xpZGVyLXRpY2tzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJG1hdC1zbGlkZXItdGljay1jb2xvcixcbiAgICAgICAgJG1hdC1zbGlkZXItdGljay1jb2xvciAkbWF0LXNsaWRlci10aWNrLXNpemUsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50KTtcblxuICAgIC8vIGBtYXQtY29sb3JgIHVzZXMgYHJnYmFgIGZvciB0aGUgb3BhY2l0eSB3aGljaCB3b24ndCB3b3JrIHdpdGhcbiAgICAvLyBDU1MgdmFyaWFibGVzIHNvIHdlIG5lZWQgdG8gdXNlIGBvcGFjaXR5YCBhcyBhIGZhbGxiYWNrLlxuICAgIEBpZiAodHlwZS1vZigkbWF0LXNsaWRlci10aWNrLWNvbG9yKSAhPSBjb2xvcikge1xuICAgICAgb3BhY2l0eTogJG1hdC1zbGlkZXItdGljay1vcGFjaXR5O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXNsaWRlci10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dCB7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pO1xuICAgICAgd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9tYXQtc2xpZGVyLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1zbGlkZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXNsaWRlcicpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zbGlkZXItY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1zbGlkZXItZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zbGlkZXItdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuJG1hdC1zdGVwcGVyLWhlYWRlci1oZWlnaHQ6IDcycHggIWRlZmF1bHQ7XG4vLyBNaW5pbXVtIGhlaWdodCBmb3IgaGlnaGVzdCBkZW5zaXR5IHN0ZXBwZXIncyBpcyBkZXRlcm1pbmVkIGJhc2VkIG9uIGhvdyBtdWNoXG4vLyBzdGVwcGVyIGhlYWRlcnMgY2FuIHNocmluayB1bnRpbCB0aGUgc3RlcCBpY29uIG9yIHN0ZXAgbGFiZWwgZXhjZWVkLiBXZSBjYW4ndCB1c2Vcbi8vIGEgdmFsdWUgYmVsb3cgYDQycHhgIGJlY2F1c2UgdGhlIG9wdGlvbmFsIGxhYmVsIGZvciBzdGVwcyB3b3VsZCBvdGhlcndpc2UgZXhjZWVkLlxuJG1hdC1zdGVwcGVyLWhlYWRlci1taW5pbXVtLWhlaWdodDogNDJweCAhZGVmYXVsdDtcbiRtYXQtc3RlcHBlci1oZWFkZXItbWF4aW11bS1oZWlnaHQ6ICRtYXQtc3RlcHBlci1oZWFkZXItaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbWF0LXN0ZXBwZXItZGVuc2l0eS1jb25maWc6IChcbiAgaGVpZ2h0OiAoXG4gICAgZGVmYXVsdDogJG1hdC1zdGVwcGVyLWhlYWRlci1oZWlnaHQsXG4gICAgbWF4aW11bTogJG1hdC1zdGVwcGVyLWhlYWRlci1tYXhpbXVtLWhlaWdodCxcbiAgICBtaW5pbXVtOiAkbWF0LXN0ZXBwZXItaGVhZGVyLW1pbmltdW0taGVpZ2h0LFxuICApXG4pICFkZWZhdWx0O1xuXG4vLyBOb3RlOiBUaGVzZSB2YXJpYWJsZXMgYXJlIG5vdCBkZW5vdGVkIHdpdGggYCFkZWZhdWx0YCBiZWNhdXNlIHRoZXkgYXJlIHVzZWQgaW4gdGhlIG5vbi10aGVtZVxuLy8gY29tcG9uZW50IHN0eWxlcy4gTW9kaWZ5aW5nIHRoZXNlIHZhcmlhYmxlcyBkb2VzIG5vdCBoYXZlIHRoZSBkZXNpcmVkIGVmZmVjdCBmb3IgY29uc3VtZXJzLlxuJG1hdC1zdGVwcGVyLWxhYmVsLWhlYWRlci1oZWlnaHQ6IDI0cHg7XG4kbWF0LXN0ZXBwZXItbGFiZWwtcG9zaXRpb24tYm90dG9tLXRvcC1nYXA6IDE2cHg7XG4kbWF0LXN0ZXBwZXItbGFiZWwtbWluLXdpZHRoOiA1MHB4O1xuXG4kbWF0LXZlcnRpY2FsLXN0ZXBwZXItY29udGVudC1tYXJnaW46IDM2cHg7XG5cbiRtYXQtc3RlcHBlci1zaWRlLWdhcDogMjRweDtcbiRtYXQtc3RlcHBlci1saW5lLXdpZHRoOiAxcHg7XG4kbWF0LXN0ZXBwZXItbGluZS1nYXA6IDhweDtcblxuJG1hdC1zdGVwLXN1Yi1sYWJlbC1mb250LXNpemU6IDEycHg7XG4kbWF0LXN0ZXAtaGVhZGVyLWljb24tc2l6ZTogMTZweDtcblxuXG5AbWl4aW4gbWF0LXN0ZXBwZXItY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcblxuICAubWF0LXN0ZXAtaGVhZGVyIHtcbiAgICAmLmNkay1rZXlib2FyZC1mb2N1c2VkLFxuICAgICYuY2RrLXByb2dyYW0tZm9jdXNlZCxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgaG92ZXIpO1xuICAgIH1cblxuICAgIC8vIE9uIHRvdWNoIGRldmljZXMgdGhlIDpob3ZlciBzdGF0ZSB3aWxsIGxpbmdlciBvbiB0aGUgZWxlbWVudCBhZnRlciBhIHRhcC5cbiAgICAvLyBSZXNldCBpdCB2aWEgYEBtZWRpYWAgYWZ0ZXIgdGhlIGRlY2xhcmF0aW9uLCBiZWNhdXNlIHRoZSBtZWRpYSBxdWVyeSBpc24ndFxuICAgIC8vIHN1cHBvcnRlZCBieSBhbGwgYnJvd3NlcnMgeWV0LlxuICAgIEBtZWRpYSAoaG92ZXI6IG5vbmUpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tYXQtc3RlcC1sYWJlbCxcbiAgICAubWF0LXN0ZXAtb3B0aW9uYWwge1xuICAgICAgLy8gVE9ETyhqb3NlcGhwZXJyb3R0KTogVXBkYXRlIHRvIHVzaW5nIGEgY29ycmVjdGVkIGRpc2FibGVkLXRleHQgY29udHJhc3RcbiAgICAgIC8vIGluc3RlYWQgb2Ygc2Vjb25kYXJ5LXRleHQuXG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gICAgfVxuXG4gICAgLm1hdC1zdGVwLWljb24ge1xuICAgICAgLy8gVE9ETyhqb3NlcGhwZXJyb3R0KTogVXBkYXRlIHRvIHVzaW5nIGEgY29ycmVjdGVkIGRpc2FibGVkLXRleHQgY29udHJhc3RcbiAgICAgIC8vIGluc3RlYWQgb2Ygc2Vjb25kYXJ5LXRleHQuXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIGRlZmF1bHQtY29udHJhc3QpO1xuICAgIH1cblxuICAgIC5tYXQtc3RlcC1pY29uLXNlbGVjdGVkLFxuICAgIC5tYXQtc3RlcC1pY29uLXN0YXRlLWRvbmUsXG4gICAgLm1hdC1zdGVwLWljb24tc3RhdGUtZWRpdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnkpO1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSwgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IHtcbiAgICAgIC5tYXQtc3RlcC1pY29uIHtcbiAgICAgICAgY29sb3I6IG1hdC1jb2xvcigkYWNjZW50LCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgICAgIH1cblxuICAgICAgLm1hdC1zdGVwLWljb24tc2VsZWN0ZWQsXG4gICAgICAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1kb25lLFxuICAgICAgLm1hdC1zdGVwLWljb24tc3RhdGUtZWRpdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYWNjZW50KTtcbiAgICAgICAgY29sb3I6IG1hdC1jb2xvcigkYWNjZW50LCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIHtcbiAgICAgIC5tYXQtc3RlcC1pY29uIHtcbiAgICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgICB9XG5cbiAgICAgIC5tYXQtc3RlcC1pY29uLXNlbGVjdGVkLFxuICAgICAgLm1hdC1zdGVwLWljb24tc3RhdGUtZG9uZSxcbiAgICAgIC5tYXQtc3RlcC1pY29uLXN0YXRlLWVkaXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHdhcm4pO1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCR3YXJuLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1lcnJvciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIHRleHQpO1xuICAgIH1cblxuICAgIC5tYXQtc3RlcC1sYWJlbC5tYXQtc3RlcC1sYWJlbC1hY3RpdmUge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gICAgfVxuXG4gICAgLm1hdC1zdGVwLWxhYmVsLm1hdC1zdGVwLWxhYmVsLWVycm9yIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIHRleHQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsLCAubWF0LXN0ZXBwZXItdmVydGljYWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgY2FyZCk7XG4gIH1cblxuICAubWF0LXN0ZXBwZXItdmVydGljYWwtbGluZTo6YmVmb3JlIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcbiAgfVxuXG4gIC5tYXQtaG9yaXpvbnRhbC1zdGVwcGVyLWhlYWRlcjo6YmVmb3JlLFxuICAubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXI6OmFmdGVyLFxuICAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbC1saW5lIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtc3RlcHBlci10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1zdGVwcGVyLXZlcnRpY2FsLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbCB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtc3RlcC1sYWJlbCB7XG4gICAgZm9udDoge1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpO1xuICAgICAgd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0xKTtcbiAgICB9O1xuICB9XG5cbiAgLm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvciB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgfVxuXG4gIC5tYXQtc3RlcC1sYWJlbC1lcnJvciB7XG4gICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMik7XG4gIH1cblxuICAubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWQge1xuICAgIGZvbnQ6IHtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0yKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMik7XG4gICAgfTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXN0ZXBwZXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRkZW5zaXR5LXNjYWxlOiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkaGVpZ2h0OiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoJG1hdC1zdGVwcGVyLWRlbnNpdHktY29uZmlnLCAkZGVuc2l0eS1zY2FsZSwgaGVpZ2h0KTtcbiAgJHZlcnRpY2FsLXBhZGRpbmc6ICgkaGVpZ2h0IC0gJG1hdC1zdGVwcGVyLWxhYmVsLWhlYWRlci1oZWlnaHQpIC8gMjtcblxuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1kZW5zaXR5LWxlZ2FjeS1jb21wYXRpYmlsaXR5KCkge1xuICAgIC5tYXQtaG9yaXpvbnRhbC1zdGVwcGVyLWhlYWRlciB7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuXG4gICAgLm1hdC1zdGVwcGVyLWxhYmVsLXBvc2l0aW9uLWJvdHRvbSAubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXIsXG4gICAgLm1hdC12ZXJ0aWNhbC1zdGVwcGVyLWhlYWRlciB7XG4gICAgICBwYWRkaW5nOiAkdmVydGljYWwtcGFkZGluZyAkbWF0LXN0ZXBwZXItc2lkZS1nYXA7XG4gICAgfVxuXG4gICAgLy8gRW5zdXJlcyB0aGF0IHRoZSB2ZXJ0aWNhbCBsaW5lcyBmb3IgdGhlIHN0ZXAgY29udGVudCBleGNlZWQgaW50byB0aGUgc3RlcFxuICAgIC8vIGhlYWRlcnMgd2l0aCBhIGdpdmVuIGRpc3RhbmNlIChgJG1hdC1zdGVwcGVyLWxpbmUtZ2FwYCkgdG8gdGhlIHN0ZXAgaWNvbi5cbiAgICAubWF0LXN0ZXBwZXItdmVydGljYWwtbGluZTo6YmVmb3JlIHtcbiAgICAgIHRvcDogJG1hdC1zdGVwcGVyLWxpbmUtZ2FwIC0gJHZlcnRpY2FsLXBhZGRpbmc7XG4gICAgICBib3R0b206ICRtYXQtc3RlcHBlci1saW5lLWdhcCAtICR2ZXJ0aWNhbC1wYWRkaW5nO1xuICAgIH1cblxuICAgIC8vIEVuc3VyZXMgdGhhdCB0aGUgaG9yaXpvbnRhbCBsaW5lcyBmb3IgdGhlIHN0ZXAgaGVhZGVyIGFyZSBjZW50ZXJlZCB2ZXJ0aWNhbGx5LlxuICAgIC5tYXQtc3RlcHBlci1sYWJlbC1wb3NpdGlvbi1ib3R0b20gLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyIHtcbiAgICAgICY6OmFmdGVyLCAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICR2ZXJ0aWNhbC1wYWRkaW5nICsgJG1hdC1zdGVwcGVyLWxhYmVsLWhlYWRlci1oZWlnaHQgLyAyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEVuc3VyZXMgdGhhdCB0aGUgaG9yaXpvbnRhbCBsaW5lIGZvciB0aGUgc3RlcCBjb250ZW50IGlzIGFsaWduZWQgY2VudGVyZWQgdmVydGljYWxseS5cbiAgICAubWF0LXN0ZXBwZXItbGFiZWwtcG9zaXRpb24tYm90dG9tIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsLWxpbmUge1xuICAgICAgdG9wOiAkdmVydGljYWwtcGFkZGluZyArICRtYXQtc3RlcHBlci1sYWJlbC1oZWFkZXItaGVpZ2h0IC8gMjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1zdGVwcGVyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1zdGVwcGVyJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXN0ZXBwZXItY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXN0ZXBwZXItZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zdGVwcGVyLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuQG1peGluIG1hdC1zb3J0LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LXNvcnQtaGVhZGVyLWFycm93IHtcbiAgICAkdGFibGUtYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCAnY2FyZCcpO1xuICAgICR0ZXh0LWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcblxuICAgIC8vIEJlY2F1c2UgdGhlIGFycm93IGlzIG1hZGUgdXAgb2YgbXVsdGlwbGUgZWxlbWVudHMgdGhhdCBhcmUgc3RhY2tlZCBvbiB0b3Agb2YgZWFjaCBvdGhlcixcbiAgICAvLyB3ZSBjYW4ndCB1c2UgdGhlIHNlbWktdHJhbnNwYXJlbnQgY29sb3IgZnJvbSB0aGUgdGhlbWUgZGlyZWN0bHkuIElmIHRoZSB2YWx1ZSBpcyBhIGNvbG9yXG4gICAgLy8gKnR5cGUqLCB3ZSBjb252ZXJ0IGl0IGludG8gYSBzb2xpZCBjb2xvciBieSB0YWtpbmcgdGhlIG9wYWNpdHkgZnJvbSB0aGUgcmdiYSB2YWx1ZSBhbmRcbiAgICAvLyB1c2luZyB0aGUgdmFsdWUgdG8gZGV0ZXJtaW5lIHRoZSBwZXJjZW50YWdlIG9mIHRoZSBiYWNrZ3JvdW5kIHRvIHB1dCBpbnRvIGZvcmVncm91bmRcbiAgICAvLyB3aGVuIG1peGluZyB0aGUgY29sb3JzIHRvZ2V0aGVyLiBPdGhlcndpc2UsIGlmIGl0IHJlc29sdmVzIHRvIHNvbWV0aGluZyBkaWZmZXJlbnRcbiAgICAvLyAoZS5nLiBpdCByZXNvbHZlcyB0byBhIENTUyB2YXJpYWJsZSksIHdlIHVzZSB0aGUgY29sb3IgZGlyZWN0bHkuXG4gICAgQGlmICh0eXBlLW9mKCR0YWJsZS1iYWNrZ3JvdW5kKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkdGV4dC1jb2xvcikgPT0gY29sb3IpIHtcbiAgICAgICR0ZXh0LW9wYWNpdHk6IG9wYWNpdHkoJHRleHQtY29sb3IpO1xuICAgICAgY29sb3I6IG1peCgkdGFibGUtYmFja2dyb3VuZCwgcmdiYSgkdGV4dC1jb2xvciwgMSksICgxIC0gJHRleHQtb3BhY2l0eSkgKiAxMDAlKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXNvcnQtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gX21hdC1zb3J0LWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1zb3J0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1zb3J0Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNvcnQtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1zb3J0LWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc29ydC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5AbWl4aW4gbWF0LXRhYnMtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGhlYWRlci1ib3JkZXI6IDFweCBzb2xpZCBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuXG4gIC5tYXQtdGFiLW5hdi1iYXIsXG4gIC5tYXQtdGFiLWhlYWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlYWRlci1ib3JkZXI7XG4gIH1cblxuICAubWF0LXRhYi1ncm91cC1pbnZlcnRlZC1oZWFkZXIge1xuICAgIC5tYXQtdGFiLW5hdi1iYXIsXG4gICAgLm1hdC10YWItaGVhZGVyIHtcbiAgICAgIGJvcmRlci10b3A6ICRoZWFkZXItYm9yZGVyO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubWF0LXRhYi1sYWJlbCwgLm1hdC10YWItbGluayB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG5cbiAgICAmLm1hdC10YWItZGlzYWJsZWQge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG5cbiAgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIGhlYWRlciBib3JkZXIgd2hlbiB0aGVyZSBpcyBhIGJhY2tncm91bmQgY29sb3JcbiAgLm1hdC10YWItZ3JvdXBbY2xhc3MqPSdtYXQtYmFja2dyb3VuZC0nXSAubWF0LXRhYi1oZWFkZXIsXG4gIC5tYXQtdGFiLW5hdi1iYXJbY2xhc3MqPSdtYXQtYmFja2dyb3VuZC0nXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICB9XG5cbiAgLm1hdC10YWItZ3JvdXAsIC5tYXQtdGFiLW5hdi1iYXIge1xuICAgICR0aGVtZS1jb2xvcnM6IChcbiAgICAgIHByaW1hcnk6ICRwcmltYXJ5LFxuICAgICAgYWNjZW50OiAkYWNjZW50LFxuICAgICAgd2FybjogJHdhcm5cbiAgICApO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICAgIC8vIFNldCB0aGUgZm9yZWdyb3VuZCBjb2xvciBvZiB0aGUgdGFic1xuICAgICAgJi5tYXQtI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBfbWF0LXRhYi1sYWJlbC1mb2N1cygkY29sb3IpO1xuICAgICAgICBAaW5jbHVkZSBfbWF0LWluay1iYXIoJGNvbG9yKTtcblxuICAgICAgICAvLyBPdmVycmlkZSBpbmsgYmFyIHdoZW4gYmFja2dyb3VuZCBjb2xvciBpcyB0aGUgc2FtZVxuICAgICAgICAmLm1hdC1iYWNrZ3JvdW5kLSN7JG5hbWV9IHtcbiAgICAgICAgICA+IC5tYXQtdGFiLWhlYWRlciwgPiAubWF0LXRhYi1saW5rLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBfbWF0LWluay1iYXIoJGNvbG9yLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICR0aGVtZS1jb2xvcnMge1xuICAgICAgLy8gU2V0IGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHRhYnMgYW5kIG92ZXJyaWRlIGZvY3VzIGNvbG9yXG4gICAgICAmLm1hdC1iYWNrZ3JvdW5kLSN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgX21hdC10YWItbGFiZWwtZm9jdXMoJGNvbG9yKTtcbiAgICAgICAgQGluY2x1ZGUgX21hdC10YWJzLWJhY2tncm91bmQoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9tYXQtaW5rLWJhcigkY29sb3IsICRodWU6IGRlZmF1bHQpIHtcbiAgLm1hdC1pbmstYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGNvbG9yLCAkaHVlKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC10YWItbGFiZWwtZm9jdXMoJHRhYi1mb2N1cy1jb2xvcikge1xuICAubWF0LXRhYi1sYWJlbCxcbiAgLm1hdC10YWItbGluayB7XG4gICAgJi5jZGsta2V5Ym9hcmQtZm9jdXNlZCxcbiAgICAmLmNkay1wcm9ncmFtLWZvY3VzZWQge1xuICAgICAgJjpub3QoLm1hdC10YWItZGlzYWJsZWQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCR0YWItZm9jdXMtY29sb3IsIGxpZ2h0ZXIsIDAuMyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfbWF0LXRhYnMtYmFja2dyb3VuZCgkYmFja2dyb3VuZC1jb2xvcikge1xuICAvLyBOb3RlIHRoYXQgdGhlc2Ugc2VsZWN0b3JzIHRhcmdldCBkaXJlY3QgZGVzY2VuZGFudHMgc29cbiAgLy8gdGhhdCB0aGUgc3R5bGVzIGRvbid0IGFwcGx5IHRvIGFueSBuZXN0ZWQgdGFiIGdyb3Vwcy5cblxuICAvLyBTZXQgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRhYiBncm91cFxuICA+IC5tYXQtdGFiLWhlYWRlciwgPiAubWF0LXRhYi1saW5rLWNvbnRhaW5lciwgPiAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgfVxuXG4gIC8vIFNldCBsYWJlbHMgdG8gY29udHJhc3QgYWdhaW5zdCBiYWNrZ3JvdW5kXG4gID4gLm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLCA+IC5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmsge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQtY29sb3IsIGRlZmF1bHQtY29udHJhc3QpO1xuXG4gICAgJi5tYXQtdGFiLWRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQtY29sb3IsIGRlZmF1bHQtY29udHJhc3QsIDAuNCk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0IHBhZ2luYXRpb24gY2hldnJvbnMgdG8gY29udHJhc3QgYmFja2dyb3VuZFxuICA+IC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sXG4gID4gLm1hdC10YWItbGlua3MgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSxcbiAgPiAubWF0LXRhYi1oZWFkZXIgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQtY29sb3IsIGRlZmF1bHQtY29udHJhc3QpO1xuICB9XG5cbiAgPiAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uIHtcbiAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZC1jb2xvciwgZGVmYXVsdC1jb250cmFzdCwgMC40KTtcbiAgfVxuXG4gIC8vIFNldCByaXBwbGVzIGNvbG9yIHRvIGJlIHRoZSBjb250cmFzdCBjb2xvciBvZiB0aGUgbmV3IGJhY2tncm91bmQuIE90aGVyd2lzZSB0aGUgcmlwcGxlXG4gIC8vIGNvbG9yIHdpbGwgYmUgYmFzZWQgb24gdGhlIGFwcCBiYWNrZ3JvdW5kIGNvbG9yLlxuICA+IC5tYXQtdGFiLWhlYWRlciAubWF0LXJpcHBsZS1lbGVtZW50LFxuICA+IC5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZC1jb2xvciwgZGVmYXVsdC1jb250cmFzdCwgMC4xMik7XG4gIH1cbn1cblxuQG1peGluIG1hdC10YWJzLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXRhYi1ncm91cCB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtdGFiLWxhYmVsLCAubWF0LXRhYi1saW5rIHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBidXR0b24pO1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBidXR0b24pO1xuICAgICAgd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYnV0dG9uKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9tYXQtdGFicy1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtdGFicy10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtdGFicycpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10YWJzLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtdGFicy1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRhYnMtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG4vLyBNaW5pbXVtIGhlaWdodCBmb3IgdG9vbGJhcidzIGluIHRoZSBoaWdoZXN0IGRlbnNpdHkgaXMgZGlmZmljdWx0IHRvIGRldGVybWluZSBiZWNhdXNlXG4vLyBkZXZlbG9wZXJzIGNhbiBwcm9qZWN0IGFyYml0cmFyeSBjb250ZW50LiBXZSB1c2UgYSBtaW5pbXVtIHZhbHVlIHRoYXQgZW5zdXJlcyB0aGF0IG1vc3Rcbi8vIGNvbW1vbiBjb250ZW50IChlLmcuIGljb24gYnV0dG9ucykgZG9lcyBub3QgZXhjZWVkIHRoZSByb3cgYm91bmRhcmllcyBpbiBoaWdoZXN0IGRlbnNpdHkuXG4kbWF0LXRvb2xiYXItbWluaW11bS1oZWlnaHQ6IDQ0cHggIWRlZmF1bHQ7XG5cbiRtYXQtdG9vbGJhci1oZWlnaHQtZGVza3RvcDogNjRweCAhZGVmYXVsdDtcbiRtYXQtdG9vbGJhci1tYXhpbXVtLWhlaWdodC1kZXNrdG9wOiAkbWF0LXRvb2xiYXItaGVpZ2h0LWRlc2t0b3AgIWRlZmF1bHQ7XG4kbWF0LXRvb2xiYXItbWluaW11bS1oZWlnaHQtZGVza3RvcDogJG1hdC10b29sYmFyLW1pbmltdW0taGVpZ2h0ICFkZWZhdWx0O1xuXG4kbWF0LXRvb2xiYXItaGVpZ2h0LW1vYmlsZTogNTZweCAhZGVmYXVsdDtcbiRtYXQtdG9vbGJhci1tYXhpbXVtLWhlaWdodC1tb2JpbGU6ICRtYXQtdG9vbGJhci1oZWlnaHQtbW9iaWxlICFkZWZhdWx0O1xuJG1hdC10b29sYmFyLW1pbmltdW0taGVpZ2h0LW1vYmlsZTogJG1hdC10b29sYmFyLW1pbmltdW0taGVpZ2h0ICFkZWZhdWx0O1xuXG4kbWF0LXRvb2xiYXItZGVza3RvcC1kZW5zaXR5LWNvbmZpZzogKFxuICBoZWlnaHQ6IChcbiAgICBkZWZhdWx0OiAkbWF0LXRvb2xiYXItaGVpZ2h0LWRlc2t0b3AsXG4gICAgbWF4aW11bTogJG1hdC10b29sYmFyLW1heGltdW0taGVpZ2h0LWRlc2t0b3AsXG4gICAgbWluaW11bTogJG1hdC10b29sYmFyLW1pbmltdW0taGVpZ2h0LWRlc2t0b3AsXG4gIClcbikgIWRlZmF1bHQ7XG5cbiRtYXQtdG9vbGJhci1tb2JpbGUtZGVuc2l0eS1jb25maWc6IChcbiAgaGVpZ2h0OiAoXG4gICAgZGVmYXVsdDogJG1hdC10b29sYmFyLWhlaWdodC1tb2JpbGUsXG4gICAgbWF4aW11bTogJG1hdC10b29sYmFyLW1heGltdW0taGVpZ2h0LW1vYmlsZSxcbiAgICBtaW5pbXVtOiAkbWF0LXRvb2xiYXItbWluaW11bS1oZWlnaHQtbW9iaWxlLFxuICApXG4pICFkZWZhdWx0O1xuXG5cbkBtaXhpbiBfbWF0LXRvb2xiYXItaGVpZ2h0KCRoZWlnaHQpIHtcbiAgLm1hdC10b29sYmFyLW11bHRpcGxlLXJvd3Mge1xuICAgIG1pbi1oZWlnaHQ6ICRoZWlnaHQ7XG4gIH1cbiAgLm1hdC10b29sYmFyLXJvdywgLm1hdC10b29sYmFyLXNpbmdsZS1yb3cge1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC10b29sYmFyLWNvbG9yKCRwYWxldHRlKSB7XG4gIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkcGFsZXR0ZSk7XG4gIGNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUsIGRlZmF1bHQtY29udHJhc3QpO1xufVxuXG5AbWl4aW4gX21hdC10b29sYmFyLWZvcm0tZmllbGQtb3ZlcnJpZGVzIHtcbiAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSxcbiAgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSxcbiAgLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1sYWJlbCxcbiAgLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1sYWJlbCxcbiAgLm1hdC1zZWxlY3QtdmFsdWUsXG4gIC5tYXQtc2VsZWN0LWFycm93LFxuICAubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG5cbiAgLm1hdC1pbnB1dC1lbGVtZW50IHtcbiAgICBjYXJldC1jb2xvcjogY3VycmVudENvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtdG9vbGJhci1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtdG9vbGJhciB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBhcHAtYmFyKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcblxuICAgICYubWF0LXByaW1hcnkge1xuICAgICAgQGluY2x1ZGUgX21hdC10b29sYmFyLWNvbG9yKCRwcmltYXJ5KTtcbiAgICB9XG5cbiAgICAmLm1hdC1hY2NlbnQge1xuICAgICAgQGluY2x1ZGUgX21hdC10b29sYmFyLWNvbG9yKCRhY2NlbnQpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgQGluY2x1ZGUgX21hdC10b29sYmFyLWNvbG9yKCR3YXJuKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBfbWF0LXRvb2xiYXItZm9ybS1maWVsZC1vdmVycmlkZXM7XG4gIH1cbn1cblxuQG1peGluIG1hdC10b29sYmFyLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXRvb2xiYXIsXG4gIC5tYXQtdG9vbGJhciBoMSxcbiAgLm1hdC10b29sYmFyIGgyLFxuICAubWF0LXRvb2xiYXIgaDMsXG4gIC5tYXQtdG9vbGJhciBoNCxcbiAgLm1hdC10b29sYmFyIGg1LFxuICAubWF0LXRvb2xiYXIgaDYge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCB0aXRsZSk7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtdG9vbGJhci1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGRlbnNpdHktc2NhbGU6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRoZWlnaHQtZGVza3RvcDogbWF0LXByaXZhdGUtZGVuc2l0eS1wcm9wLXZhbHVlKFxuICAgICAgJG1hdC10b29sYmFyLWRlc2t0b3AtZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBoZWlnaHQpO1xuICAkaGVpZ2h0LW1vYmlsZTogbWF0LXByaXZhdGUtZGVuc2l0eS1wcm9wLXZhbHVlKFxuICAgICAgJG1hdC10b29sYmFyLW1vYmlsZS1kZW5zaXR5LWNvbmZpZywgJGRlbnNpdHktc2NhbGUsIGhlaWdodCk7XG5cbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtZGVuc2l0eS1sZWdhY3ktY29tcGF0aWJpbGl0eSgpIHtcbiAgICAvLyBTZXQgdGhlIGRlZmF1bHQgaGVpZ2h0IGZvciB0aGUgdG9vbGJhci5cbiAgICBAaW5jbHVkZSBfbWF0LXRvb2xiYXItaGVpZ2h0KCRoZWlnaHQtZGVza3RvcCk7XG5cbiAgICAvLyBBcyBwZXIgc3BlY3MsIHRvb2xiYXJzIHNob3VsZCBoYXZlIGEgZGlmZmVyZW50IGhlaWdodCBpbiBtb2JpbGUgZGV2aWNlcy4gVGhpcyBoYXMgYmVlblxuICAgIC8vIHNwZWNpZmllZCBpbiB0aGUgb2xkIGd1aWRlbGluZXMgYW5kIGlzIHN0aWxsIG9ic2VydmFibGUgaW4gdGhlIG5ldyBzcGVjaWZpY2F0aW9ucyBieVxuICAgIC8vIGxvb2tpbmcgYXQgdGhlIHNwZWMgaW1hZ2VzLiBTZWU6IGh0dHBzOi8vbWF0ZXJpYWwuaW8vZGVzaWduL2NvbXBvbmVudHMvYXBwLWJhcnMtdG9wLmh0bWwjYW5hdG9teVxuICAgIEBtZWRpYSAoJG1hdC14c21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtdG9vbGJhci1oZWlnaHQoJGhlaWdodC1tb2JpbGUpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXRvb2xiYXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXRvb2xiYXInKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdG9vbGJhci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdG9vbGJhci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRvb2xiYXItdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuJG1hdC10b29sdGlwLXRhcmdldC1oZWlnaHQ6IDIycHg7XG4kbWF0LXRvb2x0aXAtZm9udC1zaXplOiAxMHB4O1xuJG1hdC10b29sdGlwLXZlcnRpY2FsLXBhZGRpbmc6ICgkbWF0LXRvb2x0aXAtdGFyZ2V0LWhlaWdodCAtICRtYXQtdG9vbHRpcC1mb250LXNpemUpIC8gMjtcblxuJG1hdC10b29sdGlwLWhhbmRzZXQtdGFyZ2V0LWhlaWdodDogMzBweDtcbiRtYXQtdG9vbHRpcC1oYW5kc2V0LWZvbnQtc2l6ZTogMTRweDtcbiRtYXQtdG9vbHRpcC1oYW5kc2V0LXZlcnRpY2FsLXBhZGRpbmc6XG4gICAgKCRtYXQtdG9vbHRpcC1oYW5kc2V0LXRhcmdldC1oZWlnaHQgLSAkbWF0LXRvb2x0aXAtaGFuZHNldC1mb250LXNpemUpIC8gMjtcblxuQG1peGluIG1hdC10b29sdGlwLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuXG4gIC5tYXQtdG9vbHRpcCB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCB0b29sdGlwLCAwLjkpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtdG9vbHRpcC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC10b29sdGlwIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICAgIGZvbnQtc2l6ZTogJG1hdC10b29sdGlwLWZvbnQtc2l6ZTtcbiAgICBwYWRkaW5nLXRvcDogJG1hdC10b29sdGlwLXZlcnRpY2FsLXBhZGRpbmc7XG4gICAgcGFkZGluZy1ib3R0b206ICRtYXQtdG9vbHRpcC12ZXJ0aWNhbC1wYWRkaW5nO1xuICB9XG5cbiAgLm1hdC10b29sdGlwLWhhbmRzZXQge1xuICAgIGZvbnQtc2l6ZTogJG1hdC10b29sdGlwLWhhbmRzZXQtZm9udC1zaXplO1xuICAgIHBhZGRpbmctdG9wOiAkbWF0LXRvb2x0aXAtaGFuZHNldC12ZXJ0aWNhbC1wYWRkaW5nO1xuICAgIHBhZGRpbmctYm90dG9tOiAkbWF0LXRvb2x0aXAtaGFuZHNldC12ZXJ0aWNhbC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LXRvb2x0aXAtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXRvb2x0aXAtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXRvb2x0aXAnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdG9vbHRpcC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXRvb2x0aXAtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10b29sdGlwLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG5AbWl4aW4gbWF0LXNuYWNrLWJhci1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuXG4gIC5tYXQtc25hY2stYmFyLWNvbnRhaW5lciB7XG4gICAgLy8gVXNlIHRoZSBwcmltYXJ5IHRleHQgb24gdGhlIGRhcmsgdGhlbWUsIGV2ZW4gdGhvdWdoIHRoZSBsaWdodGVyIG9uZSB1c2VzXG4gICAgLy8gYSBzZWNvbmRhcnksIGJlY2F1c2UgdGhlIGNvbnRyYXN0IG9uIHRoZSBsaWdodCBwcmltYXJ5IHRleHQgaXMgcG9vci5cbiAgICBjb2xvcjogaWYoJGlzLWRhcmstdGhlbWUsICRkYXJrLXByaW1hcnktdGV4dCwgJGxpZ2h0LXNlY29uZGFyeS10ZXh0KTtcbiAgICBiYWNrZ3JvdW5kOiBpZigkaXMtZGFyay10aGVtZSwgbWFwLWdldCgkbWF0LWdyZXksIDUwKSwgIzMyMzIzMik7XG5cbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oNiwgJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb24ge1xuICAgIGNvbG9yOiBpZigkaXMtZGFyay10aGVtZSwgaW5oZXJpdCwgbWF0LWNvbG9yKCRhY2NlbnQsIHRleHQpKTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXNuYWNrLWJhci10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1zaW1wbGUtc25hY2tiYXIge1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIGJvZHktMSk7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IGluaGVyaXQ7XG4gICAgICBzaXplOiBpbmhlcml0O1xuICAgICAgd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYnV0dG9uKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9tYXQtc25hY2stYmFyLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1zbmFjay1iYXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXNuYWNrLWJhcicpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zbmFjay1iYXItY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1zbmFjay1iYXItZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zbmFjay1iYXItdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLy8gVGhlbWUgc3R5bGVzIHRoYXQgb25seSBhcHBseSB0byB0aGUgZmlsbCBhcHBlYXJhbmNlIG9mIHRoZSBmb3JtLWZpZWxkLlxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtZmlsbC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG5cbiAgJGZpbGwtYmFja2dyb3VuZDogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBiYXNlLCBpZigkaXMtZGFyay10aGVtZSwgMC4xLCAwLjA0KSk7XG4gICRmaWxsLWRpc2FibGVkLWJhY2tncm91bmQ6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgYmFzZSwgaWYoJGlzLWRhcmstdGhlbWUsIDAuMDUsIDAuMDIpKTtcbiAgJHVuZGVybGluZS1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyLCBpZigkaXMtZGFyay10aGVtZSwgMC41LCAwLjQyKSk7XG4gICRsYWJlbC1kaXNhYmxlZC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcblxuICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsIHtcbiAgICAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmlsbC1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICYubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZpbGwtZGlzYWJsZWQtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuZGVybGluZS1jb2xvcjtcbiAgICB9XG5cbiAgICAmLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIHtcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkbGFiZWwtZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG5cbiAgICAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmU6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBVc2VkIHRvIG1ha2UgaW5zdGFuY2VzIG9mIHRoZSBfbWF0LWZvcm0tZmllbGQtbGFiZWwtZmxvYXRpbmcgbWl4aW4gbmVnbGlnaWJseSBkaWZmZXJlbnQsXG4vLyBhbmQgcHJldmVudCBHb29nbGUncyBDU1MgT3B0aW1pemVyIGZyb20gY29sbGFwc2luZyB0aGUgZGVjbGFyYXRpb25zLiBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIHNvbWVcbi8vIG9mIHRoZSBzZWxlY3RvcnMgY29udGFpbiBwc2V1ZG8tY2xhc3NlcyBub3QgcmVjb2duaXplZCBpbiBhbGwgYnJvd3NlcnMuIElmIGEgYnJvd3NlciBlbmNvdW50ZXJzXG4vLyBhbiB1bmtub3duIHBzZXVkby1jbGFzcyBpdCB3aWxsIGRpc2NhcmQgdGhlIGVudGlyZSBydWxlIHNldC5cbiRtYXQtZm9ybS1maWVsZC1maWxsLWRlZHVwZTogMDtcblxuLy8gQXBwbGllcyBhIGZsb2F0aW5nIGxhYmVsIGFib3ZlIHRoZSBmb3JtIGZpZWxkIGNvbnRyb2wgaXRzZWxmLlxuQG1peGluIF9tYXQtZm9ybS1maWVsZC1maWxsLWxhYmVsLWZsb2F0aW5nKCRmb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kaW5maXgtbWFyZ2luLXRvcCAtICRpbmZpeC1wYWRkaW5nICsgJG1hdC1mb3JtLWZpZWxkLWZpbGwtZGVkdXBlKVxuICAgICAgICAgICAgIHNjYWxlKCRmb250LXNjYWxlKTtcbiAgd2lkdGg6IDEwMCUgLyAkZm9udC1zY2FsZSArICRtYXQtZm9ybS1maWVsZC1maWxsLWRlZHVwZTtcblxuICAkbWF0LWZvcm0tZmllbGQtZmlsbC1kZWR1cGU6ICRtYXQtZm9ybS1maWVsZC1maWxsLWRlZHVwZSArIDAuMDAwMDEgIWdsb2JhbDtcbn1cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLWZpbGwtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC8vIFRoZSB1bml0LWxlc3MgbGluZS1oZWlnaHQgZnJvbSB0aGUgZm9udCBjb25maWcuXG4gICRsaW5lLWhlaWdodDogbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGlucHV0KTtcbiAgLy8gVGhlIGFtb3VudCB0byBzY2FsZSB0aGUgZm9udCBmb3IgdGhlIGZsb2F0aW5nIGxhYmVsIGFuZCBzdWJzY3JpcHQuXG4gICRzdWJzY3JpcHQtZm9udC1zY2FsZTogMC43NTtcbiAgLy8gVGhlIHBhZGRpbmcgb24gdG9wIG9mIHRoZSBpbmZpeC5cbiAgJGluZml4LXBhZGRpbmctdG9wOiAwLjI1ZW07XG4gIC8vIFRoZSBwYWRkaW5nIGJlbG93IHRoZSBpbmZpeC5cbiAgJGluZml4LXBhZGRpbmctYm90dG9tOiAwLjc1ZW07XG4gIC8vIFRoZSBtYXJnaW4gYXBwbGllZCB0byB0aGUgZm9ybS1maWVsZC1pbmZpeCB0byByZXNlcnZlIHNwYWNlIGZvciB0aGUgZmxvYXRpbmcgbGFiZWwuXG4gICRpbmZpeC1tYXJnaW4tdG9wOiAxZW0gKiAkbGluZS1oZWlnaHQgKiAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG4gIC8vIFRoZSBhbW91bnQgd2Ugb2Zmc2V0IHRoZSBsYWJlbCBmcm9tIHRoZSBpbnB1dCB0ZXh0IGluIHRoZSBmaWxsIGFwcGVhcmFuY2UuXG4gICRmaWxsLWFwcGVhcmFuY2UtbGFiZWwtb2Zmc2V0OiAtMC41ZW07XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLWluZml4IHtcbiAgICAgIHBhZGRpbmc6ICRpbmZpeC1wYWRkaW5nLXRvcCAwICRpbmZpeC1wYWRkaW5nLWJvdHRvbSAwO1xuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICB0b3A6ICRpbmZpeC1tYXJnaW4tdG9wICsgJGluZml4LXBhZGRpbmctdG9wO1xuICAgICAgbWFyZ2luLXRvcDogJGZpbGwtYXBwZWFyYW5jZS1sYWJlbC1vZmZzZXQ7XG4gICAgfVxuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQge1xuICAgICAgJi5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuICAgICAgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtZmlsbC1sYWJlbC1mbG9hdGluZyhcbiAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLXRvcCArICRmaWxsLWFwcGVhcmFuY2UtbGFiZWwtb2Zmc2V0LFxuICAgICAgICAgICAgICAgICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICAgIH1cblxuICAgICAgLy8gU2VydmVyLXNpZGUgcmVuZGVyZWQgbWF0SW5wdXQgd2l0aCBhIGxhYmVsIGF0dHJpYnV0ZSBidXQgbGFiZWwgbm90IHNob3duXG4gICAgICAvLyAodXNlZCBhcyBhIHB1cmUgQ1NTIHN0YW5kLWluIGZvciBtYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQpLlxuICAgICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1maWxsLWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmctdG9wICsgJGZpbGwtYXBwZWFyYW5jZS1sYWJlbC1vZmZzZXQsXG4gICAgICAgICAgICAgICAgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXByaXZhdGUtZm9ybS1maWVsZC1maWxsLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLWZpbGwtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWZvcm0tZmllbGQtZmlsbCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWZpbGwtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtZm9ybS1maWVsZC1maWxsLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1maWxsLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG4vLyBUaGVtZSBzdHlsZXMgdGhhdCBvbmx5IGFwcGx5IHRvIHRoZSBsZWdhY3kgYXBwZWFyYW5jZSBvZiB0aGUgZm9ybS1maWVsZC5cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG5cbiAgJGxhYmVsLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgJHVuZGVybGluZS1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyLCBpZigkaXMtZGFyay10aGVtZSwgMC43LCAwLjQyKSk7XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IHtcbiAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcbiAgICB9XG5cbiAgICAubWF0LWhpbnQge1xuICAgICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1bmRlcmxpbmUtY29sb3I7XG4gICAgfVxuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNvbnRyb2wtZGlzYWJsZWQtdW5kZXJsaW5lKCR1bmRlcmxpbmUtY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBVc2VkIHRvIG1ha2UgaW5zdGFuY2VzIG9mIHRoZSBfbWF0LWZvcm0tZmllbGQtbGFiZWwtZmxvYXRpbmcgbWl4aW4gbmVnbGlnaWJseSBkaWZmZXJlbnQsXG4vLyBhbmQgcHJldmVudCBHb29nbGUncyBDU1MgT3B0aW1pemVyIGZyb20gY29sbGFwc2luZyB0aGUgZGVjbGFyYXRpb25zLiBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIHNvbWVcbi8vIG9mIHRoZSBzZWxlY3RvcnMgY29udGFpbiBwc2V1ZG8tY2xhc3NlcyBub3QgcmVjb2duaXplZCBpbiBhbGwgYnJvd3NlcnMuIElmIGEgYnJvd3NlciBlbmNvdW50ZXJzXG4vLyBhbiB1bmtub3duIHBzZXVkby1jbGFzcyBpdCB3aWxsIGRpc2NhcmQgdGhlIGVudGlyZSBydWxlIHNldC5cbiRtYXQtZm9ybS1maWVsZC1sZWdhY3ktZGVkdXBlOiAwO1xuXG4vLyBBcHBsaWVzIGEgZmxvYXRpbmcgbGFiZWwgYWJvdmUgdGhlIGZvcm0gZmllbGQgY29udHJvbCBpdHNlbGYuXG5AbWl4aW4gX21hdC1mb3JtLWZpZWxkLWxlZ2FjeS1sYWJlbC1mbG9hdGluZygkZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKSB7XG4gIC8vIFdlIHVzZSBwZXJzcGVjdGl2ZSB0byBmaXggdGhlIHRleHQgYmx1cnJpbmVzcyBhcyBkZXNjcmliZWQgaGVyZTpcbiAgLy8gaHR0cDovL3d3dy51c2VyYWdlbnRtYW4uY29tL2Jsb2cvMjAxNC8wNS8wNC9maXhpbmctdHlwb2dyYXBoeS1pbnNpZGUtb2YtMi1kLWNzcy10cmFuc2Zvcm1zL1xuICAvLyBUaGlzIHJlc3VsdHMgaW4gYSBzbWFsbCBqaXR0ZXIgYWZ0ZXIgdGhlIGxhYmVsIGZsb2F0cyBvbiBGaXJlZm94LCB3aGljaCB0aGVcbiAgLy8gdHJhbnNsYXRlWiBmaXhlcy5cbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kaW5maXgtbWFyZ2luLXRvcCAtICRpbmZpeC1wYWRkaW5nKSBzY2FsZSgkZm9udC1zY2FsZSkgcGVyc3BlY3RpdmUoMTAwcHgpXG4gIHRyYW5zbGF0ZVooMC4wMDFweCArICRtYXQtZm9ybS1maWVsZC1sZWdhY3ktZGVkdXBlKTtcbiAgLy8gVGhlIHRyaWNrcyBhYm92ZSB1c2VkIHRvIHNtb290aCBvdXQgdGhlIGFuaW1hdGlvbiBvbiBjaHJvbWUgYW5kIGZpcmVmb3ggYWN0dWFsbHkgbWFrZSB0aGluZ3NcbiAgLy8gd29yc2Ugb24gSUUsIHNvIHdlIGRvbid0IGluY2x1ZGUgdGhlbSBpbiB0aGUgSUUgdmVyc2lvbi5cbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGluZml4LW1hcmdpbi10b3AgLSAkaW5maXgtcGFkZGluZyArICRtYXQtZm9ybS1maWVsZC1sZWdhY3ktZGVkdXBlKVxuICAgICAgICAgICAgICAgICAgc2NhbGUoJGZvbnQtc2NhbGUpO1xuXG4gIHdpZHRoOiAxMDAlIC8gJGZvbnQtc2NhbGUgKyAkbWF0LWZvcm0tZmllbGQtbGVnYWN5LWRlZHVwZTtcblxuICAkbWF0LWZvcm0tZmllbGQtbGVnYWN5LWRlZHVwZTogJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGUgKyAwLjAwMDAxICFnbG9iYWw7XG59XG5cbi8vIFNhbWUgYXMgbWl4aW4gYWJvdmUsIGJ1dCBvbWl0cyB0aGUgdHJhbnNsYXRlWiBmb3IgcHJpbnRpbmcgcHVycG9zZXMuXG5AbWl4aW4gX21hdC1mb3JtLWZpZWxkLWxlZ2FjeS1sYWJlbC1mbG9hdGluZy1wcmludCgkZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKSB7XG4gIC8vIFRoaXMgcmVzdWx0cyBpbiBhIHNtYWxsIGppdHRlciBhZnRlciB0aGUgbGFiZWwgZmxvYXRzIG9uIEZpcmVmb3gsIHdoaWNoIHRoZVxuICAvLyB0cmFuc2xhdGVaIGZpeGVzLlxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRpbmZpeC1tYXJnaW4tdG9wIC0gJGluZml4LXBhZGRpbmcgKyAkbWF0LWZvcm0tZmllbGQtbGVnYWN5LWRlZHVwZSlcbiAgICAgICAgICAgICAgICAgIHNjYWxlKCRmb250LXNjYWxlKTtcbiAgLy8gVGhlIHRyaWNrcyBhYm92ZSB1c2VkIHRvIHNtb290aCBvdXQgdGhlIGFuaW1hdGlvbiBvbiBjaHJvbWUgYW5kIGZpcmVmb3ggYWN0dWFsbHkgbWFrZSB0aGluZ3NcbiAgLy8gd29yc2Ugb24gSUUsIHNvIHdlIGRvbid0IGluY2x1ZGUgdGhlbSBpbiB0aGUgSUUgdmVyc2lvbi5cbiAgJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGU6ICRtYXQtZm9ybS1maWVsZC1sZWdhY3ktZGVkdXBlICsgMC4wMDAwMSAhZ2xvYmFsO1xufVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtbGVnYWN5LXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAvLyBUaGUgdW5pdC1sZXNzIGxpbmUtaGVpZ2h0IGZyb20gdGhlIGZvbnQgY29uZmlnLlxuICAkbGluZS1oZWlnaHQ6IG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCBpbnB1dCk7XG4gIC8vIFRoZSBhbW91bnQgdG8gc2NhbGUgdGhlIGZvbnQgZm9yIHRoZSBmbG9hdGluZyBsYWJlbCBhbmQgc3Vic2NyaXB0LlxuICAkc3Vic2NyaXB0LWZvbnQtc2NhbGU6IDAuNzU7XG4gIC8vIFRoZSBhbW91bnQgb2Ygc3BhY2UgYmV0d2VlbiB0aGUgdG9wIG9mIHRoZSBsaW5lIGFuZCB0aGUgdG9wIG9mIHRoZSBhY3R1YWwgdGV4dFxuICAvLyAoYXMgYSBmcmFjdGlvbiBvZiB0aGUgZm9udC1zaXplKS5cbiAgJGxpbmUtc3BhY2luZzogKCRsaW5lLWhlaWdodCAtIDEpIC8gMjtcbiAgLy8gVGhlIHBhZGRpbmcgb24gdGhlIGluZml4LiBNb2NrcyBzaG93IGhhbGYgb2YgdGhlIHRleHQgc2l6ZSwgYnV0IHNlZW0gdG8gbWVhc3VyZSBmcm9tIHRoZSBlZGdlXG4gIC8vIG9mIHRoZSB0ZXh0IGl0c2VsZiwgbm90IHRoZSBlZGdlIG9mIHRoZSBsaW5lOyB0aGVyZWZvcmUgd2Ugc3VidHJhY3Qgb2ZmIHRoZSBsaW5lIHNwYWNpbmcuXG4gICRpbmZpeC1wYWRkaW5nOiAwLjVlbSAtICRsaW5lLXNwYWNpbmc7XG4gIC8vIFRoZSBtYXJnaW4gYXBwbGllZCB0byB0aGUgZm9ybS1maWVsZC1pbmZpeCB0byByZXNlcnZlIHNwYWNlIGZvciB0aGUgZmxvYXRpbmcgbGFiZWwuXG4gICRpbmZpeC1tYXJnaW4tdG9wOiAxZW0gKiAkbGluZS1oZWlnaHQgKiAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG4gIC8vIFRoZSBzcGFjZSBiZXR3ZWVuIHRoZSBib3R0b20gb2YgdGhlIC5tYXQtZm9ybS1maWVsZC1mbGV4IGFyZWEgYW5kIHRoZSBzdWJzY3JpcHQgd3JhcHBlci5cbiAgLy8gTW9ja3Mgc2hvdyBoYWxmIG9mIHRoZSB0ZXh0IHNpemUsIGJ1dCB0aGlzIG1hcmdpbiBpcyBhcHBsaWVkIHRvIGFuIGVsZW1lbnQgd2l0aCB0aGUgc3Vic2NyaXB0XG4gIC8vIHRleHQgZm9udCBzaXplLCBzbyB3ZSBuZWVkIHRvIGRpdmlkZSBieSB0aGUgc2NhbGUgZmFjdG9yIHRvIG1ha2UgaXQgaGFsZiBvZiB0aGUgb3JpZ2luYWwgdGV4dFxuICAvLyBzaXplLiBXZSBhZ2FpbiBuZWVkIHRvIHN1YnRyYWN0IG9mZiB0aGUgbGluZSBzcGFjaW5nIHNpbmNlIHRoZSBtb2NrcyBtZWFzdXJlIHRvIHRoZSBlZGdlIG9mIHRoZVxuICAvLyB0ZXh0LCBub3QgdGhlICBlZGdlIG9mIHRoZSBsaW5lLlxuICAkc3Vic2NyaXB0LW1hcmdpbi10b3A6IDAuNWVtIC8gJHN1YnNjcmlwdC1mb250LXNjYWxlIC0gKCRsaW5lLXNwYWNpbmcgKiAyKTtcbiAgLy8gVGhlIHBhZGRpbmcgYXBwbGllZCB0byB0aGUgZm9ybS1maWVsZC13cmFwcGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIHRoZSBzdWJzY3JpcHQsIHNpbmNlIGl0J3NcbiAgLy8gYWJzb2x1dGVseSBwb3NpdGlvbmVkLiBUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgdGhlIHN1YnNjcmlwdCdzIG1hcmdpbiBhbmQgbGluZS1oZWlnaHQsIGJ1dCB3ZVxuICAvLyBuZWVkIHRvIG11bHRpcGx5IGJ5IHRoZSBzdWJzY3JpcHQgZm9udCBzY2FsZSBmYWN0b3Igc2luY2UgdGhlIHdyYXBwZXIgaGFzIGEgbGFyZ2VyIGZvbnQgc2l6ZS5cbiAgJHdyYXBwZXItcGFkZGluZy1ib3R0b206ICgkc3Vic2NyaXB0LW1hcmdpbi10b3AgKyAkbGluZS1oZWlnaHQpICogJHN1YnNjcmlwdC1mb250LXNjYWxlO1xuXG4gIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206ICR3cmFwcGVyLXBhZGRpbmctYm90dG9tO1xuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gICAgICBwYWRkaW5nOiAkaW5maXgtcGFkZGluZyAwO1xuICAgIH1cblxuICAgICYubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IHtcbiAgICAgICYubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1sYWJlbCxcbiAgICAgIC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWxlZ2FjeS1sYWJlbC1mbG9hdGluZyhcbiAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEBicmVha2luZy1jaGFuZ2UgOC4wLjAgd2lsbCByZWx5IG9uIEF1dG9maWxsTW9uaXRvciBpbnN0ZWFkLlxuICAgICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2w6LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyXG4gICAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICAgIH1cblxuICAgICAgLy8gU2VydmVyLXNpZGUgcmVuZGVyZWQgbWF0SW5wdXQgd2l0aCBhIGxhYmVsIGF0dHJpYnV0ZSBidXQgbGFiZWwgbm90IHNob3duXG4gICAgICAvLyAodXNlZCBhcyBhIHB1cmUgQ1NTIHN0YW5kLWluIGZvciBtYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQpLlxuICAgICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sZWdhY3ktbGFiZWwtZmxvYXRpbmcoXG4gICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICB0b3A6ICRpbmZpeC1tYXJnaW4tdG9wICsgJGluZml4LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XG4gICAgICAvLyBXZSB3YW50IHRoZSB1bmRlcmxpbmUgdG8gc3RhcnQgYXQgdGhlIGVuZCBvZiB0aGUgY29udGVudCBib3gsIG5vdCB0aGUgcGFkZGluZyBib3gsXG4gICAgICAvLyBzbyB3ZSBtb3ZlIGl0IHVwIGJ5IHRoZSBwYWRkaW5nIGFtb3VudC5cbiAgICAgIGJvdHRvbTogJHdyYXBwZXItcGFkZGluZy1ib3R0b207XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6ICRzdWJzY3JpcHQtbWFyZ2luLXRvcDtcblxuICAgICAgLy8gV2Ugd2FudCB0aGUgc3Vic2NyaXB0IHRvIHN0YXJ0IGF0IHRoZSBlbmQgb2YgdGhlIGNvbnRlbnQgYm94LCBub3QgdGhlIHBhZGRpbmcgYm94LFxuICAgICAgLy8gc28gd2UgbW92ZSBpdCB1cCBieSB0aGUgcGFkZGluZyBhbW91bnQgKGFkanVzdGVkIGZvciB0aGUgc21hbGxlciBmb250IHNpemUpO1xuICAgICAgdG9wOiBjYWxjKDEwMCUgLSAjeyR3cmFwcGVyLXBhZGRpbmctYm90dG9tIC8gJHN1YnNjcmlwdC1mb250LXNjYWxlfSk7XG4gICAgfVxuICB9XG5cbiAgLy8gdHJhbnNsYXRlWiBjYXVzZXMgdGhlIGxhYmVsIHRvIG5vdCBhcHBlYXIgd2hpbGUgcHJpbnRpbmcsIHNvIHdlIG92ZXJyaWRlIGl0IHRvIG5vdFxuICAvLyBhcHBseSB0cmFuc2xhdGVaIHdoaWxlIHByaW50aW5nXG4gIEBtZWRpYSBwcmludCB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IHtcbiAgICAgICYubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IHtcbiAgICAgICAgJi5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuICAgICAgICAubWF0LWlucHV0LXNlcnZlcjpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWxlZ2FjeS1sYWJlbC1mbG9hdGluZy1wcmludChcbiAgICAgICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEBicmVha2luZy1jaGFuZ2UgOC4wLjAgd2lsbCByZWx5IG9uIEF1dG9maWxsTW9uaXRvciBpbnN0ZWFkLlxuICAgICAgICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbDotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcbiAgICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nLXByaW50KFxuICAgICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2VydmVyLXNpZGUgcmVuZGVyZWQgbWF0SW5wdXQgd2l0aCBhIGxhYmVsIGF0dHJpYnV0ZSBidXQgbGFiZWwgbm90IHNob3duXG4gICAgICAgIC8vICh1c2VkIGFzIGEgcHVyZSBDU1Mgc3RhbmQtaW4gZm9yIG1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCkuXG4gICAgICAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyXG4gICAgICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWxlZ2FjeS1sYWJlbC1mbG9hdGluZy1wcmludChcbiAgICAgICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXByaXZhdGUtZm9ybS1maWVsZC1sZWdhY3ktZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtbGVnYWN5LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1mb3JtLWZpZWxkLWxlZ2FjeScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLWxlZ2FjeS1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtbGVnYWN5LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG4vLyBUaGVtZSBzdHlsZXMgdGhhdCBvbmx5IGFwcGx5IHRvIHRoZSBvdXRsaW5lIGFwcGVhcmFuY2Ugb2YgdGhlIGZvcm0tZmllbGQuXG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG5cbiAgJGxhYmVsLWRpc2FibGVkLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuICAkb3V0bGluZS1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyLCBpZigkaXMtZGFyay10aGVtZSwgMC4zLCAwLjEyKSk7XG4gICRvdXRsaW5lLWNvbG9yLWhvdmVyOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIsIGlmKCRpcy1kYXJrLXRoZW1lLCAxLCAwLjg3KSk7XG4gICRvdXRsaW5lLWNvbG9yLXByaW1hcnk6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gICRvdXRsaW5lLWNvbG9yLWFjY2VudDogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAkb3V0bGluZS1jb2xvci13YXJuOiBtYXQtY29sb3IoJHdhcm4pO1xuICAkb3V0bGluZS1jb2xvci1kaXNhYmxlZDogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyLCBpZigkaXMtZGFyay10aGVtZSwgMC4xNSwgMC4wNikpO1xuXG4gIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUge1xuICAgIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lIHtcbiAgICAgIGNvbG9yOiAkb3V0bGluZS1jb2xvcjtcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGljayB7XG4gICAgICBjb2xvcjogJG91dGxpbmUtY29sb3ItaG92ZXI7XG4gICAgfVxuXG4gICAgJi5tYXQtZm9jdXNlZCB7XG4gICAgICAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGljayB7XG4gICAgICAgIGNvbG9yOiAkb3V0bGluZS1jb2xvci1wcmltYXJ5O1xuICAgICAgfVxuXG4gICAgICAmLm1hdC1hY2NlbnQgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2sge1xuICAgICAgICBjb2xvcjogJG91dGxpbmUtY29sb3ItYWNjZW50O1xuICAgICAgfVxuXG4gICAgICAmLm1hdC13YXJuIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNrIHtcbiAgICAgICAgY29sb3I6ICRvdXRsaW5lLWNvbG9yLXdhcm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2xhc3MgcmVwZWF0ZWQgc28gdGhhdCBydWxlIGlzIHNwZWNpZmljIGVub3VnaCB0byBvdmVycmlkZSBmb2N1c2VkIGFjY2VudCBjb2xvciBjYXNlLlxuICAgICYubWF0LWZvcm0tZmllbGQtaW52YWxpZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIHtcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNrIHtcbiAgICAgICAgY29sb3I6ICRvdXRsaW5lLWNvbG9yLXdhcm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCB7XG4gICAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGxhYmVsLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAubWF0LWZvcm0tZmllbGQtb3V0bGluZSB7XG4gICAgICAgIGNvbG9yOiAkb3V0bGluZS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVXNlZCB0byBtYWtlIGluc3RhbmNlcyBvZiB0aGUgX21hdC1mb3JtLWZpZWxkLWxhYmVsLWZsb2F0aW5nIG1peGluIG5lZ2xpZ2libHkgZGlmZmVyZW50LFxuLy8gYW5kIHByZXZlbnQgR29vZ2xlJ3MgQ1NTIE9wdGltaXplciBmcm9tIGNvbGxhcHNpbmcgdGhlIGRlY2xhcmF0aW9ucy4gVGhpcyBpcyBuZWVkZWQgYmVjYXVzZSBzb21lXG4vLyBvZiB0aGUgc2VsZWN0b3JzIGNvbnRhaW4gcHNldWRvLWNsYXNzZXMgbm90IHJlY29nbml6ZWQgaW4gYWxsIGJyb3dzZXJzLiBJZiBhIGJyb3dzZXIgZW5jb3VudGVyc1xuLy8gYW4gdW5rbm93biBwc2V1ZG8tY2xhc3MgaXQgd2lsbCBkaXNjYXJkIHRoZSBlbnRpcmUgcnVsZSBzZXQuXG4kbWF0LWZvcm0tZmllbGQtb3V0bGluZS1kZWR1cGU6IDA7XG5cbi8vIEFwcGxpZXMgYSBmbG9hdGluZyBsYWJlbCBhYm92ZSB0aGUgZm9ybSBmaWVsZCBjb250cm9sIGl0c2VsZi5cbkBtaXhpbiBfbWF0LWZvcm0tZmllbGQtb3V0bGluZS1sYWJlbC1mbG9hdGluZygkZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGluZml4LW1hcmdpbi10b3AgLSAkaW5maXgtcGFkZGluZyArICRtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWRlZHVwZSlcbiAgc2NhbGUoJGZvbnQtc2NhbGUpO1xuICB3aWR0aDogMTAwJSAvICRmb250LXNjYWxlICsgJG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZGVkdXBlO1xuXG4gICRtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWRlZHVwZTogJG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZGVkdXBlICsgMC4wMDAwMSAhZ2xvYmFsO1xufVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtb3V0bGluZS10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLy8gVGhlIHVuaXQtbGVzcyBsaW5lLWhlaWdodCBmcm9tIHRoZSBmb250IGNvbmZpZy5cbiAgJGxpbmUtaGVpZ2h0OiBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgaW5wdXQpO1xuICAvLyBUaGUgYW1vdW50IHRvIHNjYWxlIHRoZSBmb250IGZvciB0aGUgZmxvYXRpbmcgbGFiZWwgYW5kIHN1YnNjcmlwdC5cbiAgJHN1YnNjcmlwdC1mb250LXNjYWxlOiAwLjc1O1xuICAvLyBUaGUgcGFkZGluZyBhYm92ZSBhbmQgYmVsb3cgdGhlIGluZml4LlxuICAkaW5maXgtcGFkZGluZzogMWVtO1xuICAvLyBUaGUgbWFyZ2luIGFwcGxpZWQgdG8gdGhlIGZvcm0tZmllbGQtaW5maXggdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIGZsb2F0aW5nIGxhYmVsLlxuICAkaW5maXgtbWFyZ2luLXRvcDogMWVtICogJGxpbmUtaGVpZ2h0ICogJHN1YnNjcmlwdC1mb250LXNjYWxlO1xuICAvLyBUaGUgc3BhY2UgYmV0d2VlbiB0aGUgYm90dG9tIG9mIHRoZSAubWF0LWZvcm0tZmllbGQtZmxleCBhcmVhIGFuZCB0aGUgc3Vic2NyaXB0IHdyYXBwZXIuXG4gIC8vIE1vY2tzIHNob3cgaGFsZiBvZiB0aGUgdGV4dCBzaXplLCBidXQgdGhpcyBtYXJnaW4gaXMgYXBwbGllZCB0byBhbiBlbGVtZW50IHdpdGggdGhlIHN1YnNjcmlwdFxuICAvLyB0ZXh0IGZvbnQgc2l6ZSwgc28gd2UgbmVlZCB0byBkaXZpZGUgYnkgdGhlIHNjYWxlIGZhY3RvciB0byBtYWtlIGl0IGhhbGYgb2YgdGhlIG9yaWdpbmFsIHRleHRcbiAgLy8gc2l6ZS5cbiAgJHN1YnNjcmlwdC1tYXJnaW4tdG9wOiAwLjVlbSAvICRzdWJzY3JpcHQtZm9udC1zY2FsZTtcbiAgLy8gVGhlIHBhZGRpbmcgYXBwbGllZCB0byB0aGUgZm9ybS1maWVsZC13cmFwcGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIHRoZSBzdWJzY3JpcHQsIHNpbmNlIGl0J3NcbiAgLy8gYWJzb2x1dGVseSBwb3NpdGlvbmVkLiBUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgdGhlIHN1YnNjcmlwdCdzIG1hcmdpbiBhbmQgbGluZS1oZWlnaHQsIGJ1dCB3ZVxuICAvLyBuZWVkIHRvIG11bHRpcGx5IGJ5IHRoZSBzdWJzY3JpcHQgZm9udCBzY2FsZSBmYWN0b3Igc2luY2UgdGhlIHdyYXBwZXIgaGFzIGEgbGFyZ2VyIGZvbnQgc2l6ZS5cbiAgJHdyYXBwZXItcGFkZGluZy1ib3R0b206ICgkc3Vic2NyaXB0LW1hcmdpbi10b3AgKyAkbGluZS1oZWlnaHQpICogJHN1YnNjcmlwdC1mb250LXNjYWxlO1xuICAvLyBUaGUgYW1vdW50IHdlIG9mZnNldCB0aGUgbGFiZWwgZnJvbSB0aGUgaW5wdXQgdGV4dCBpbiB0aGUgb3V0bGluZSBhcHBlYXJhbmNlLlxuICAkb3V0bGluZS1hcHBlYXJhbmNlLWxhYmVsLW9mZnNldDogLTAuMjVlbTtcblxuICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIHtcbiAgICAubWF0LWZvcm0tZmllbGQtaW5maXgge1xuICAgICAgcGFkZGluZzogJGluZml4LXBhZGRpbmcgMCAkaW5maXgtcGFkZGluZyAwO1xuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICB0b3A6ICRpbmZpeC1tYXJnaW4tdG9wICsgJGluZml4LXBhZGRpbmc7XG4gICAgICBtYXJnaW4tdG9wOiAkb3V0bGluZS1hcHBlYXJhbmNlLWxhYmVsLW9mZnNldDtcbiAgICB9XG5cbiAgICAmLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCB7XG4gICAgICAmLm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsXG4gICAgICAubWF0LWlucHV0LXNlcnZlcjpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1vdXRsaW5lLWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcgKyAkb3V0bGluZS1hcHBlYXJhbmNlLWxhYmVsLW9mZnNldCxcbiAgICAgICAgICAgICAgICAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNlcnZlci1zaWRlIHJlbmRlcmVkIG1hdElucHV0IHdpdGggYSBsYWJlbCBhdHRyaWJ1dGUgYnV0IGxhYmVsIG5vdCBzaG93blxuICAgICAgLy8gKHVzZWQgYXMgYSBwdXJlIENTUyBzdGFuZC1pbiBmb3IgbWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0KS5cbiAgICAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyXG4gICAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtb3V0bGluZS1sYWJlbC1mbG9hdGluZyhcbiAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nICsgJG91dGxpbmUtYXBwZWFyYW5jZS1sYWJlbC1vZmZzZXQsXG4gICAgICAgICAgICAgICAgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXByaXZhdGUtZm9ybS1maWVsZC1vdXRsaW5lLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWZvcm0tZmllbGQtb3V0bGluZScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtZm9ybS1maWVsZC1vdXRsaW5lLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1vdXRsaW5lLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG5cbi8vIFRoZW1lIHN0eWxlcyB0aGF0IG9ubHkgYXBwbHkgdG8gdGhlIHN0YW5kYXJkIGFwcGVhcmFuY2Ugb2YgdGhlIGZvcm0tZmllbGQuXG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1zdGFuZGFyZC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG5cbiAgJHVuZGVybGluZS1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyLCBpZigkaXMtZGFyay10aGVtZSwgMC43LCAwLjQyKSk7XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmQge1xuICAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuZGVybGluZS1jb2xvcjtcbiAgICB9XG5cbiAgICAmLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY29udHJvbC1kaXNhYmxlZC11bmRlcmxpbmUoJHVuZGVybGluZS1jb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1zdGFuZGFyZC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLXN0YW5kYXJkLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLXN0YW5kYXJkLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1mb3JtLWZpZWxkLXN0YW5kYXJkJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtc3RhbmRhcmQtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtZm9ybS1maWVsZC1zdGFuZGFyZC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtc3RhbmRhcmQtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQ29sb3Igc3R5bGVzIHRoYXQgYXBwbHkgdG8gYWxsIGFwcGVhcmFuY2VzIG9mIHRoZSBmb3JtLWZpZWxkLlxuQG1peGluIG1hdC1mb3JtLWZpZWxkLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCRjb25maWcsIGlzLWRhcmspO1xuXG4gIC8vIExhYmVsIGNvbG9ycy4gUmVxdWlyZWQgaXMgdXNlZCBmb3IgdGhlIGAqYCBzdGFyIHNob3duIGluIHRoZSBsYWJlbC5cbiAgJGxhYmVsLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0LCBpZigkaXMtZGFyay10aGVtZSwgMC43LCAwLjYpKTtcbiAgJGZvY3VzZWQtbGFiZWwtY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSwgdGV4dCk7XG4gICRyZXF1aXJlZC1sYWJlbC1jb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIHRleHQpO1xuXG4gIC8vIFVuZGVybGluZSBjb2xvcnMuXG4gICR1bmRlcmxpbmUtY29sb3ItYmFzZTogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyLCBpZigkaXMtZGFyay10aGVtZSwgMSwgMC44NykpO1xuICAkdW5kZXJsaW5lLWNvbG9yLWFjY2VudDogbWF0LWNvbG9yKCRhY2NlbnQsIHRleHQpO1xuICAkdW5kZXJsaW5lLWNvbG9yLXdhcm46IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gICR1bmRlcmxpbmUtZm9jdXNlZC1jb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCB0ZXh0KTtcblxuICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG4gIH1cblxuICAubWF0LWhpbnQge1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICBjb2xvcjogJGZvY3VzZWQtbGFiZWwtY29sb3I7XG5cbiAgICAmLm1hdC1hY2NlbnQge1xuICAgICAgY29sb3I6ICR1bmRlcmxpbmUtY29sb3ItYWNjZW50O1xuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgY29sb3I6ICR1bmRlcmxpbmUtY29sb3Itd2FybjtcbiAgICB9XG4gIH1cblxuICAubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLXJlcXVpcmVkLW1hcmtlciB7XG4gICAgY29sb3I6ICRyZXF1aXJlZC1sYWJlbC1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR1bmRlcmxpbmUtY29sb3ItYmFzZTtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5kZXJsaW5lLWZvY3VzZWQtY29sb3I7XG5cbiAgICAgICYubWF0LWFjY2VudCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1bmRlcmxpbmUtY29sb3ItYWNjZW50O1xuICAgICAgfVxuXG4gICAgICAmLm1hdC13YXJuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuZGVybGluZS1jb2xvci13YXJuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb2N1c2VkOm5vdCgubWF0LWZvcm0tZmllbGQtaW52YWxpZCkge1xuICAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXIge1xuICAgICAgY29sb3I6ICR1bmRlcmxpbmUtZm9jdXNlZC1jb2xvcjtcbiAgICB9XG5cbiAgICAmLm1hdC1hY2NlbnQgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlciB7XG4gICAgICBjb2xvcjogJHVuZGVybGluZS1jb2xvci1hY2NlbnQ7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVyIHtcbiAgICAgIGNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLXdhcm47XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGluZyBmb3IgdGhlIGVycm9yIHN0YXRlIG9mIHRoZSBmb3JtIGZpZWxkLiBOb3RlIHRoYXQgd2hpbGUgdGhlIHNhbWUgY2FuIGJlXG4gIC8vIGFjaGlldmVkIHdpdGggdGhlIG5nLSogY2xhc3Nlcywgd2UgdXNlIHRoaXMgYXBwcm9hY2ggaW4gb3JkZXIgdG8gZW5zdXJlIHRoYXQgdGhlIHNhbWVcbiAgLy8gbG9naWMgaXMgdXNlZCB0byBzdHlsZSB0aGUgZXJyb3Igc3RhdGUgYW5kIHRvIHNob3cgdGhlIGVycm9yIG1lc3NhZ2VzLlxuICAubWF0LWZvcm0tZmllbGQubWF0LWZvcm0tZmllbGQtaW52YWxpZCB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLXdhcm47XG5cbiAgICAgICYubWF0LWFjY2VudCxcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1yZXF1aXJlZC1tYXJrZXIge1xuICAgICAgICBjb2xvcjogJHVuZGVybGluZS1jb2xvci13YXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUsXG4gICAgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZS5tYXQtYWNjZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1bmRlcmxpbmUtY29sb3Itd2FybjtcbiAgICB9XG4gIH1cblxuICAubWF0LWVycm9yIHtcbiAgICBjb2xvcjogJHVuZGVybGluZS1jb2xvci13YXJuO1xuICB9XG5cbiAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtbGVnYWN5LWNvbG9yKCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1zdGFuZGFyZC1jb2xvcigkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtZmlsbC1jb2xvcigkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtb3V0bGluZS1jb2xvcigkY29uZmlnKTtcbn1cblxuLy8gVXNlZCB0byBtYWtlIGluc3RhbmNlcyBvZiB0aGUgX21hdC1mb3JtLWZpZWxkLWxhYmVsLWZsb2F0aW5nIG1peGluIG5lZ2xpZ2libHkgZGlmZmVyZW50LFxuLy8gYW5kIHByZXZlbnQgR29vZ2xlJ3MgQ1NTIE9wdGltaXplciBmcm9tIGNvbGxhcHNpbmcgdGhlIGRlY2xhcmF0aW9ucy4gVGhpcyBpcyBuZWVkZWQgYmVjYXVzZSBzb21lXG4vLyBvZiB0aGUgc2VsZWN0b3JzIGNvbnRhaW4gcHNldWRvLWNsYXNzZXMgbm90IHJlY29nbml6ZWQgaW4gYWxsIGJyb3dzZXJzLiBJZiBhIGJyb3dzZXIgZW5jb3VudGVyc1xuLy8gYW4gdW5rbm93biBwc2V1ZG8tY2xhc3MgaXQgd2lsbCBkaXNjYXJkIHRoZSBlbnRpcmUgcnVsZSBzZXQuXG4kbWF0LWZvcm0tZmllbGQtZGVkdXBlOiAwO1xuXG4vLyBBcHBsaWVzIGEgZmxvYXRpbmcgbGFiZWwgYWJvdmUgdGhlIGZvcm0gZmllbGQgY29udHJvbCBpdHNlbGYuXG5AbWl4aW4gX21hdC1mb3JtLWZpZWxkLWxhYmVsLWZsb2F0aW5nKCRmb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kaW5maXgtbWFyZ2luLXRvcCAtICRpbmZpeC1wYWRkaW5nICsgJG1hdC1mb3JtLWZpZWxkLWRlZHVwZSlcbiAgICAgICAgICAgICBzY2FsZSgkZm9udC1zY2FsZSk7XG4gIHdpZHRoOiAxMDAlIC8gJGZvbnQtc2NhbGUgKyAkbWF0LWZvcm0tZmllbGQtZGVkdXBlO1xuXG4gICRtYXQtZm9ybS1maWVsZC1kZWR1cGU6ICRtYXQtZm9ybS1maWVsZC1kZWR1cGUgKyAwLjAwMDAxICFnbG9iYWw7XG59XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLy8gVGhlIHVuaXQtbGVzcyBsaW5lLWhlaWdodCBmcm9tIHRoZSBmb250IGNvbmZpZy5cbiAgJGxpbmUtaGVpZ2h0OiBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgaW5wdXQpO1xuXG4gIC8vIFRoZSBhbW91bnQgdG8gc2NhbGUgdGhlIGZvbnQgZm9yIHRoZSBmbG9hdGluZyBsYWJlbCBhbmQgc3Vic2NyaXB0LlxuICAkc3Vic2NyaXB0LWZvbnQtc2NhbGU6IDAuNzU7XG4gIC8vIFRoZSBhbW91bnQgdG8gc2NhbGUgdGhlIGZvbnQgZm9yIHRoZSBwcmVmaXggYW5kIHN1ZmZpeCBpY29ucy5cbiAgJHByZWZpeC1zdWZmaXgtaWNvbi1mb250LXNjYWxlOiAxLjU7XG5cbiAgLy8gVGhlIHBhZGRpbmcgb24gdGhlIGluZml4LiBNb2NrcyBzaG93IGhhbGYgb2YgdGhlIHRleHQgc2l6ZS5cbiAgJGluZml4LXBhZGRpbmc6IDAuNWVtO1xuICAvLyBUaGUgbWFyZ2luIGFwcGxpZWQgdG8gdGhlIGZvcm0tZmllbGQtaW5maXggdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIGZsb2F0aW5nIGxhYmVsLlxuICAkaW5maXgtbWFyZ2luLXRvcDogMWVtICogJGxpbmUtaGVpZ2h0ICogJHN1YnNjcmlwdC1mb250LXNjYWxlO1xuICAvLyBGb250IHNpemUgdG8gdXNlIGZvciB0aGUgbGFiZWwgYW5kIHN1YnNjcmlwdCB0ZXh0LlxuICAkc3Vic2NyaXB0LWZvbnQtc2l6ZTogJHN1YnNjcmlwdC1mb250LXNjYWxlICogMTAwJTtcbiAgLy8gRm9udCBzaXplIHRvIHVzZSBmb3IgdGhlIGZvciB0aGUgcHJlZml4IGFuZCBzdWZmaXggaWNvbnMuXG4gICRwcmVmaXgtc3VmZml4LWljb24tZm9udC1zaXplOiAkcHJlZml4LXN1ZmZpeC1pY29uLWZvbnQtc2NhbGUgKiAxMDAlO1xuICAvLyBUaGUgc3BhY2UgYmV0d2VlbiB0aGUgYm90dG9tIG9mIHRoZSAubWF0LWZvcm0tZmllbGQtZmxleCBhcmVhIGFuZCB0aGUgc3Vic2NyaXB0IHdyYXBwZXIuXG4gIC8vIE1vY2tzIHNob3cgaGFsZiBvZiB0aGUgdGV4dCBzaXplLCBidXQgdGhpcyBtYXJnaW4gaXMgYXBwbGllZCB0byBhbiBlbGVtZW50IHdpdGggdGhlIHN1YnNjcmlwdFxuICAvLyB0ZXh0IGZvbnQgc2l6ZSwgc28gd2UgbmVlZCB0byBkaXZpZGUgYnkgdGhlIHNjYWxlIGZhY3RvciB0byBtYWtlIGl0IGhhbGYgb2YgdGhlIG9yaWdpbmFsIHRleHRcbiAgLy8gc2l6ZS5cbiAgJHN1YnNjcmlwdC1tYXJnaW4tdG9wOiAwLjVlbSAvICRzdWJzY3JpcHQtZm9udC1zY2FsZTtcbiAgLy8gVGhlIHBhZGRpbmcgYXBwbGllZCB0byB0aGUgZm9ybS1maWVsZC13cmFwcGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIHRoZSBzdWJzY3JpcHQsIHNpbmNlIGl0J3NcbiAgLy8gYWJzb2x1dGVseSBwb3NpdGlvbmVkLiBUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgdGhlIHN1YnNjcmlwdCdzIG1hcmdpbiBhbmQgbGluZS1oZWlnaHQsIGJ1dCB3ZVxuICAvLyBuZWVkIHRvIG11bHRpcGx5IGJ5IHRoZSBzdWJzY3JpcHQgZm9udCBzY2FsZSBmYWN0b3Igc2luY2UgdGhlIHdyYXBwZXIgaGFzIGEgbGFyZ2VyIGZvbnQgc2l6ZS5cbiAgJHdyYXBwZXItcGFkZGluZy1ib3R0b206ICgkc3Vic2NyaXB0LW1hcmdpbi10b3AgKyAkbGluZS1oZWlnaHQpICogJHN1YnNjcmlwdC1mb250LXNjYWxlO1xuXG4gIC5tYXQtZm9ybS1maWVsZCB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGlucHV0KTtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHdyYXBwZXItcGFkZGluZy1ib3R0b207XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtcHJlZml4LFxuICAubWF0LWZvcm0tZmllbGQtc3VmZml4IHtcbiAgICAvLyBBbGxvdyBpY29ucyBpbiBhIHByZWZpeCBvciBzdWZmaXggdG8gYWRhcHQgdG8gdGhlIGNvcnJlY3Qgc2l6ZS5cbiAgICAubWF0LWljb24ge1xuICAgICAgZm9udC1zaXplOiAkcHJlZml4LXN1ZmZpeC1pY29uLWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgfVxuXG4gICAgLy8gQWxsb3cgaWNvbiBidXR0b25zIGluIGEgcHJlZml4IG9yIHN1ZmZpeCB0byBhZGFwdCB0byB0aGUgY29ycmVjdCBzaXplLlxuICAgIC5tYXQtaWNvbi1idXR0b24ge1xuICAgICAgaGVpZ2h0OiAkcHJlZml4LXN1ZmZpeC1pY29uLWZvbnQtc2NhbGUgKiAxZW07XG4gICAgICB3aWR0aDogJHByZWZpeC1zdWZmaXgtaWNvbi1mb250LXNjYWxlICogMWVtO1xuXG4gICAgICAubWF0LWljb24ge1xuICAgICAgICBoZWlnaHQ6ICRsaW5lLWhlaWdodCAqIDFlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtaW5maXgge1xuICAgIHBhZGRpbmc6ICRpbmZpeC1wYWRkaW5nIDA7XG4gICAgLy8gVGhyb3dzIG9mZiB0aGUgYmFzZWxpbmUgaWYgd2UgZG8gaXQgYXMgYSByZWFsIG1hcmdpbiwgc28gd2UgZG8gaXQgYXMgYSBib3JkZXIgaW5zdGVhZC5cbiAgICBib3JkZXItdG9wOiAkaW5maXgtbWFyZ2luLXRvcCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQge1xuICAgICYubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1sYWJlbCxcbiAgICAubWF0LWlucHV0LXNlcnZlcjpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtbGFiZWwtZmxvYXRpbmcoXG4gICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICB9XG5cbiAgICAvLyBTZXJ2ZXItc2lkZSByZW5kZXJlZCBtYXRJbnB1dCB3aXRoIGEgbGFiZWwgYXR0cmlidXRlIGJ1dCBsYWJlbCBub3Qgc2hvd25cbiAgICAvLyAodXNlZCBhcyBhIHB1cmUgQ1NTIHN0YW5kLWluIGZvciBtYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQpLlxuICAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyXG4gICAgICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtbGFiZWwtZmxvYXRpbmcoXG4gICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciB7XG4gICAgdG9wOiAtJGluZml4LW1hcmdpbi10b3A7XG4gICAgcGFkZGluZy10b3A6ICRpbmZpeC1tYXJnaW4tdG9wO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICB0b3A6ICRpbmZpeC1tYXJnaW4tdG9wICsgJGluZml4LXBhZGRpbmc7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbiAgICAvLyBXZSB3YW50IHRoZSB1bmRlcmxpbmUgdG8gc3RhcnQgYXQgdGhlIGVuZCBvZiB0aGUgY29udGVudCBib3gsIG5vdCB0aGUgcGFkZGluZyBib3gsXG4gICAgLy8gc28gd2UgbW92ZSBpdCB1cCBieSB0aGUgcGFkZGluZyBhbW91bnQuXG4gICAgYm90dG9tOiAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlciB7XG4gICAgZm9udC1zaXplOiAkc3Vic2NyaXB0LWZvbnQtc2l6ZTtcbiAgICBtYXJnaW4tdG9wOiAkc3Vic2NyaXB0LW1hcmdpbi10b3A7XG5cbiAgICAvLyBXZSB3YW50IHRoZSBzdWJzY3JpcHQgdG8gc3RhcnQgYXQgdGhlIGVuZCBvZiB0aGUgY29udGVudCBib3gsIG5vdCB0aGUgcGFkZGluZyBib3gsXG4gICAgLy8gc28gd2UgbW92ZSBpdCB1cCBieSB0aGUgcGFkZGluZyBhbW91bnQgKGFkanVzdGVkIGZvciB0aGUgc21hbGxlciBmb250IHNpemUpO1xuICAgIHRvcDogY2FsYygxMDAlIC0gI3skd3JhcHBlci1wYWRkaW5nLWJvdHRvbSAvICRzdWJzY3JpcHQtZm9udC1zY2FsZX0pO1xuICB9XG5cbiAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtbGVnYWN5LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLXN0YW5kYXJkLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWZpbGwtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtb3V0bGluZS10eXBvZ3JhcGh5KCRjb25maWcpO1xufVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRkZW5zaXR5LXNjYWxlOiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLWxlZ2FjeS1kZW5zaXR5KCRkZW5zaXR5LXNjYWxlKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtZm9ybS1maWVsZC1zdGFuZGFyZC1kZW5zaXR5KCRkZW5zaXR5LXNjYWxlKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtZm9ybS1maWVsZC1maWxsLWRlbnNpdHkoJGRlbnNpdHktc2NhbGUpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLW91dGxpbmUtZGVuc2l0eSgkZGVuc2l0eS1zY2FsZSk7XG59XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtZm9ybS1maWVsZCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG4kbWF0LXRyZWUtbm9kZS1oZWlnaHQ6IDQ4cHggIWRlZmF1bHQ7XG4vLyBNaW5pbXVtIGhlaWdodCBmb3IgdHJlZSBub2RlcyBpbiBoaWdoZXN0IGRlbnNpdHkgaXMgZGlmZmljdWx0IHRvIGRldGVybWluZSBhc1xuLy8gZGV2ZWxvcGVycyBjYW4gZGlzcGxheSBhcmJpdHJhcnkgY29udGVudC4gV2UgdXNlIGEgbWluaW11bSBoZWlnaHQgd2hpY2ggZW5zdXJlc1xuLy8gdGhhdCBjb21tb24gY29udGVudCBwbGFjZWQgaW4gdHJlZSBub2RlcyBkb2VzIG5vdCBleGNlZWQgKGUuZy4gaWNvbnMsIGNoZWNrYm94ZXMpLlxuJG1hdC10cmVlLW5vZGUtbWluaW11bS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG4kbWF0LXRyZWUtbm9kZS1tYXhpbXVtLWhlaWdodDogJG1hdC10cmVlLW5vZGUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbWF0LXRyZWUtZGVuc2l0eS1jb25maWc6IChcbiAgaGVpZ2h0OiAoXG4gICAgZGVmYXVsdDogJG1hdC10cmVlLW5vZGUtaGVpZ2h0LFxuICAgIG1heGltdW06ICRtYXQtdHJlZS1ub2RlLW1heGltdW0taGVpZ2h0LFxuICAgIG1pbmltdW06ICRtYXQtdHJlZS1ub2RlLW1pbmltdW0taGVpZ2h0LFxuICApXG4pICFkZWZhdWx0O1xuXG5cbkBtaXhpbiBtYXQtdHJlZS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC10cmVlIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsICdjYXJkJyk7XG4gIH1cblxuICAubWF0LXRyZWUtbm9kZSxcbiAgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXRyZWUtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtdHJlZSB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtdHJlZS1ub2RlLFxuICAubWF0LW5lc3RlZC10cmVlLW5vZGUge1xuICAgIGZvbnQtd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0xKTtcbiAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXRyZWUtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRkZW5zaXR5LXNjYWxlOiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkaGVpZ2h0OiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoJG1hdC10cmVlLWRlbnNpdHktY29uZmlnLCAkZGVuc2l0eS1zY2FsZSwgaGVpZ2h0KTtcblxuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1kZW5zaXR5LWxlZ2FjeS1jb21wYXRpYmlsaXR5KCkge1xuICAgIC5tYXQtdHJlZS1ub2RlIHtcbiAgICAgIG1pbi1oZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtdHJlZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtdHJlZScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10cmVlLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10cmVlLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdHJlZS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuLy8gSW5jbHVkZXMgYWxsIG9mIHRoZSB0eXBvZ3JhcGhpYyBzdHlsZXMuXG5AbWl4aW4gYW5ndWxhci1tYXRlcmlhbC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWU6IG51bGwpIHtcbiAgJGNvbmZpZzogaWYobWF0LXByaXZhdGUtaXMtdGhlbWUtb2JqZWN0KCRjb25maWctb3ItdGhlbWUpLFxuICAgICAgbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKSwgJGNvbmZpZy1vci10aGVtZSk7XG5cbiAgLy8gSWYgbm8gYWN0dWFsIGNvbG9yIGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gc3BlY2lmaWVkLCBjcmVhdGUgYSBkZWZhdWx0IG9uZS5cbiAgQGlmIG5vdCAkY29uZmlnIHtcbiAgICAkY29uZmlnOiBtYXQtdHlwb2dyYXBoeS1jb25maWcoKTtcbiAgfVxuXG4gIC8vIFRPRE86IENPTVAtMzA5OiBEbyBub3QgdXNlIGluZGl2aWR1YWwgbWl4aW5zLiBJbnN0ZWFkLCB1c2UgdGhlIGFsbC10aGVtZSBtaXhpbiBhbmQgb25seVxuICAvLyBzcGVjaWZ5IGEgYHR5cG9ncmFwaHlgIGNvbmZpZyB3aGlsZSBzZXR0aW5nIGBjb2xvcmAgYW5kIGBkZW5zaXR5YCB0byBgbnVsbGAuIFRoaXMgaXMgY3VycmVudGx5XG4gIC8vIG5vdCBwb3NzaWJsZSBhcyBpdCB3b3VsZCBpbnRyb2R1Y2UgYSBjaXJjdWxhciBkZXBlbmRlbmN5IGZvciB0eXBvZ3JhcGh5IGJlY2F1c2UgdGhlIGBtYXQtY29yZWBcbiAgLy8gbWl4aW4gdGhhdCBpcyB0cmFuc2l0aXZlbHkgbG9hZGVkIGJ5IHRoZSBgYWxsLXRoZW1lYCBmaWxlLCBpbXBvcnRzIGBhbGwtdHlwb2dyYXBoeWAgd2hpY2hcbiAgLy8gd291bGQgdGhlbiBsb2FkIGBhbGwtdGhlbWVgIGFnYWluLiBUaGlzIHVsdGltYXRlbHkgcmVzdWx0cyBhIGNpcmN1bGFyIGRlcGVuZGVuY3kuXG5cbiAgQGluY2x1ZGUgbWF0LWJhZGdlLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1iYXNlLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1hdXRvY29tcGxldGUtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWJvdHRvbS1zaGVldC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtYnV0dG9uLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1idXR0b24tdG9nZ2xlLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1jYXJkLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1jaGVja2JveC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtY2hpcHMtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWRpdmlkZXItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXRhYmxlLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1kYXRlcGlja2VyLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1kaWFsb2ctdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWV4cGFuc2lvbi1wYW5lbC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZ3JpZC1saXN0LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1pY29uLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1pbnB1dC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtbWVudS10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcGFnaW5hdG9yLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcm9ncmVzcy1iYXItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByb2dyZXNzLXNwaW5uZXItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXJhZGlvLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1zZWxlY3QtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXNpZGVuYXYtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXNsaWRlLXRvZ2dsZS10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtc2xpZGVyLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1zdGVwcGVyLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1zb3J0LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC10YWJzLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC10b29sYmFyLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC10b29sdGlwLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1saXN0LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1vcHRpb24tdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LW9wdGdyb3VwLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1zbmFjay1iYXItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXRyZWUtdHlwb2dyYXBoeSgkY29uZmlnKTtcbn1cblxuXG4vLyBNaXhpbiB0aGF0IHJlbmRlcnMgYWxsIG9mIHRoZSBjb3JlIHN0eWxlcyB0aGF0IGFyZSBub3QgdGhlbWUtZGVwZW5kZW50LlxuQG1peGluIG1hdC1jb3JlKCR0eXBvZ3JhcGh5LWNvbmZpZzogbnVsbCkge1xuICBAaW5jbHVkZSBhbmd1bGFyLW1hdGVyaWFsLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHktY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXJpcHBsZSgpO1xuICBAaW5jbHVkZSBjZGstYTExeSgpO1xuICBAaW5jbHVkZSBjZGstb3ZlcmxheSgpO1xuICBAaW5jbHVkZSBjZGstdGV4dC1maWVsZCgpO1xuXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLXBvc2l0aW9uaW5nKCk7XG4gIEBpbmNsdWRlIF9tYXQtbWRjLWNvcmUoKTtcbn1cblxuQG1peGluIG1hdC1jb3JlLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC8vIFdyYXBwZXIgZWxlbWVudCB0aGF0IHByb3ZpZGVzIHRoZSB0aGVtZSBiYWNrZ3JvdW5kIHdoZW4gdGhlIHVzZXIncyBjb250ZW50IGlzbid0XG4gIC8vIGluc2lkZSBvZiBhIGBtYXQtc2lkZW5hdi1jb250YWluZXJgLiBOb3RlIHRoYXQgd2UgbmVlZCB0byBleGNsdWRlIHRoZSBhbXBlcnNhbmRcbiAgLy8gc2VsZWN0b3IgaW4gY2FzZSB0aGUgbWl4aW4gaXMgaW5jbHVkZWQgYXQgdGhlIHRvcCBsZXZlbC5cbiAgLm1hdC1hcHAtYmFja2dyb3VuZCN7aWYoJiwgJywgJi5tYXQtYXBwLWJhY2tncm91bmQnLCAnJyl9IHtcbiAgICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgYmFja2dyb3VuZCk7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gIH1cblxuICAvLyBQcm92aWRlcyBleHRlcm5hbCBDU1MgY2xhc3NlcyBmb3IgZWFjaCBlbGV2YXRpb24gdmFsdWUuIEVhY2ggQ1NTIGNsYXNzIGlzIGZvcm1hdHRlZCBhc1xuICAvLyBgbWF0LWVsZXZhdGlvbi16JHpWYWx1ZWAgd2hlcmUgYCR6VmFsdWVgIGNvcnJlc3BvbmRzIHRvIHRoZSB6LXNwYWNlIHRvIHdoaWNoIHRoZSBlbGVtZW50IGlzXG4gIC8vIGVsZXZhdGVkLlxuICBAZm9yICR6VmFsdWUgZnJvbSAwIHRocm91Z2ggMjQge1xuICAgIC4jeyRtYXQtZWxldmF0aW9uLXByZWZpeH0jeyR6VmFsdWV9IHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLWVsZXZhdGlvbigkelZhbHVlLCAkY29uZmlnKTtcbiAgICB9XG4gIH1cblxuICAvLyBNYXJrZXIgdGhhdCBpcyB1c2VkIHRvIGRldGVybWluZSB3aGV0aGVyIHRoZSB1c2VyIGhhcyBhZGRlZCBhIHRoZW1lIHRvIHRoZWlyIHBhZ2UuXG4gIEBhdC1yb290IHtcbiAgICAubWF0LXRoZW1lLWxvYWRlZC1tYXJrZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWl4aW4gdGhhdCByZW5kZXJzIGFsbCBvZiB0aGUgY29yZSBzdHlsZXMgdGhhdCBkZXBlbmQgb24gdGhlIHRoZW1lLlxuQG1peGluIG1hdC1jb3JlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAvLyBXcmFwIHRoZSBzdWItdGhlbWUgaW5jbHVkZXMgaW4gdGhlIGR1cGxpY2F0ZSB0aGVtZSBzdHlsZXMgbWl4aW4uIFRoaXMgZW5zdXJlcyB0aGF0XG4gIC8vIHRoZXJlIHdvbid0IGJlIG11bHRpcGxlIHdhcm5pbmdzLiBlLmcuIGlmIGBtYXQtY29yZS10aGVtZWAgcmVwb3J0cyBhIHdhcm5pbmcsIHRoZW5cbiAgLy8gdGhlIGltcG9ydGVkIHRoZW1lcyAoc3VjaCBhcyBgbWF0LXJpcHBsZS10aGVtZWApIHNob3VsZCBub3QgcmVwb3J0IGFnYWluLlxuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1jb3JlJykge1xuICAgIEBpbmNsdWRlIG1hdC1yaXBwbGUtdGhlbWUoJHRoZW1lKTtcbiAgICBAaW5jbHVkZSBtYXQtb3B0aW9uLXRoZW1lKCR0aGVtZSk7XG4gICAgQGluY2x1ZGUgbWF0LW9wdGdyb3VwLXRoZW1lKCR0aGVtZSk7XG4gICAgQGluY2x1ZGUgbWF0LXBzZXVkby1jaGVja2JveC10aGVtZSgkdGhlbWUpO1xuXG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtY29yZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNaXhpbiB0aGF0IHJlbmRlcnMgYWxsIG9mIHRoZSBjb3JlIE1EQyBzdHlsZXMuIFByaXZhdGUgbWl4aW4gaW5jbHVkZWQgd2l0aCBgbWF0LWNvcmVgLlxuQG1peGluIF9tYXQtbWRjLWNvcmUoKSB7XG4gIEBpbmNsdWRlIF9tYXQtbWRjLXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLXBvc2l0aW9uaW5nKCk7XG59XG5cbi8vIE1peGluIHRoYXQgZW5zdXJlcyBmb2N1cyBpbmRpY2F0b3IgaG9zdCBlbGVtZW50cyBhcmUgcG9zaXRpb25lZCBzbyB0aGF0IHRoZSBmb2N1cyBpbmRpY2F0b3Jcbi8vIHBzZXVkbyBlbGVtZW50IHdpdGhpbiBpcyBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSBob3N0LiBQcml2YXRlIG1peGluIGluY2x1ZGVkIHdpdGhpblxuLy8gYF9tYXQtbWRjLWNvcmVgLlxuQG1peGluIF9tYXQtbWRjLXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLXBvc2l0aW9uaW5nKCkge1xuICAubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3Ige1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4vLyBDcmVhdGUgYSB0aGVtZS5cbkBtaXhpbiBhbmd1bGFyLW1hdGVyaWFsLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJGRlZHVwZS1rZXk6ICdhbmd1bGFyLW1hdGVyaWFsLXRoZW1lJztcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUtb3ItY29sb3ItY29uZmlnLCAkZGVkdXBlLWtleSkge1xuICAgIEBpbmNsdWRlIG1hdC1jb3JlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1hdXRvY29tcGxldGUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWJhZGdlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1ib3R0b20tc2hlZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWJ1dHRvbi10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtYnV0dG9uLXRvZ2dsZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtY2FyZC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtY2hlY2tib3gtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWNoaXBzLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC10YWJsZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtZGF0ZXBpY2tlci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtZGlhbG9nLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1kaXZpZGVyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1leHBhbnNpb24tcGFuZWwtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWdyaWQtbGlzdC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtaWNvbi10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtaW5wdXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWxpc3QtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LW1lbnUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXBhZ2luYXRvci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtcHJvZ3Jlc3MtYmFyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1wcm9ncmVzcy1zcGlubmVyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1yYWRpby10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtc2VsZWN0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1zaWRlbmF2LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1zbGlkZS10b2dnbGUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXNsaWRlci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtc3RlcHBlci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtc29ydC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtdGFicy10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtdG9vbGJhci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtdG9vbHRpcC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtdHJlZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtc25hY2stYmFyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICB9XG59XG5cblxuXG4vLyBJbmNsdWRlcyBhbGwgb2YgdGhlIGNvbG9yIHN0eWxlcy5cbkBtaXhpbiBhbmd1bGFyLW1hdGVyaWFsLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgLy8gSW4gY2FzZSBhIHRoZW1lIG9iamVjdCBoYXMgYmVlbiBwYXNzZWQgaW5zdGVhZCBvZiBhIGNvbmZpZ3VyYXRpb24gZm9yXG4gIC8vIHRoZSBjb2xvciBzeXN0ZW0sIGV4dHJhY3QgdGhlIGNvbG9yIGNvbmZpZyBmcm9tIHRoZSB0aGVtZSBvYmplY3QuXG4gICRjb25maWc6IGlmKG1hdC1wcml2YXRlLWlzLXRoZW1lLW9iamVjdCgkY29uZmlnLW9yLXRoZW1lKSxcbiAgICAgIG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpLCAkY29uZmlnLW9yLXRoZW1lKTtcblxuICBAaWYgJGNvbmZpZyA9PSBudWxsIHtcbiAgICBAZXJyb3IgJ05vIGNvbG9yIGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVkLic7XG4gIH1cblxuICBAaW5jbHVkZSBhbmd1bGFyLW1hdGVyaWFsLXRoZW1lKChcbiAgICBjb2xvcjogJGNvbmZpZyxcbiAgICB0eXBvZ3JhcGh5OiBudWxsLFxuICAgIGRlbnNpdHk6IG51bGwsXG4gICkpO1xufVxuXG5cblxuXG5cblxuXG5cblxuXG4vLyBJbmNsdWRlcyBhbGwgb2YgdGhlIGRlbnNpdHkgc3R5bGVzLlxuQG1peGluIGFuZ3VsYXItbWF0ZXJpYWwtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gIC8vIEluIGNhc2UgYSB0aGVtZSBvYmplY3QgaGFzIGJlZW4gcGFzc2VkIGluc3RlYWQgb2YgYSBjb25maWd1cmF0aW9uIGZvclxuICAvLyB0aGUgZGVuc2l0eSBzeXN0ZW0sIGV4dHJhY3QgdGhlIGRlbnNpdHkgY29uZmlnIGZyb20gdGhlIHRoZW1lIG9iamVjdC5cbiAgJGNvbmZpZzogaWYobWF0LXByaXZhdGUtaXMtdGhlbWUtb2JqZWN0KCRjb25maWctb3ItdGhlbWUpLFxuICAgICAgbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKSwgJGNvbmZpZy1vci10aGVtZSk7XG5cbiAgQGlmICRjb25maWcgPT0gbnVsbCB7XG4gICAgQGVycm9yICdObyBkZW5zaXR5IGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVkLic7XG4gIH1cblxuICAvLyBUT0RPOiBDT01QLTMwOTogRG8gbm90IHVzZSBpbmRpdmlkdWFsIG1peGlucy4gSW5zdGVhZCwgdXNlIHRoZSBhbGwtdGhlbWUgbWl4aW4gYW5kIG9ubHlcbiAgLy8gc3BlY2lmeSBhIGBkZW5zaXR5YCBjb25maWcgd2hpbGUgc2V0dGluZyBgY29sb3JgIGFuZCBgdHlwb2dyYXBoeWAgdG8gYG51bGxgLiBUaGlzIGlzIGN1cnJlbnRseVxuICAvLyBub3QgcG9zc2libGUgYXMgaXQgd291bGQgaW50cm9kdWNlIGEgY2lyY3VsYXIgZGVwZW5kZW5jeSBmb3IgZGVuc2l0eSBiZWNhdXNlIHRoZSBgbWF0LWNvcmVgXG4gIC8vIG1peGluIHRoYXQgaXMgdHJhbnNpdGl2ZWx5IGxvYWRlZCBieSB0aGUgYGFsbC10aGVtZWAgZmlsZSwgaW1wb3J0cyBgYWxsLWRlbnNpdHlgIHdoaWNoXG4gIC8vIHdvdWxkIHRoZW4gbG9hZCBgYWxsLXRoZW1lYCBhZ2Fpbi4gVGhpcyB1bHRpbWF0ZWx5IHJlc3VsdHMgYSBjaXJjdWxhciBkZXBlbmRlbmN5LlxuXG4gIEBpbmNsdWRlIG1hdC1leHBhbnNpb24tcGFuZWwtZGVuc2l0eSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXN0ZXBwZXItZGVuc2l0eSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXRvb2xiYXItZGVuc2l0eSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXRyZWUtZGVuc2l0eSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXBhZ2luYXRvci1kZW5zaXR5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1kZW5zaXR5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtYnV0dG9uLXRvZ2dsZS1kZW5zaXR5KCRjb25maWcpO1xufVxuXG5cblxuIiwiQGltcG9ydCBcIn5AYW5ndWxhci9tYXRlcmlhbC90aGVtaW5nXCI7IC8vIFBsdXMgaW1wb3J0cyBmb3Igb3RoZXIgY29tcG9uZW50cyBpbiB5b3VyIGFwcC5cbi8vIEluY2x1ZGUgdGhlIGNvbW1vbiBzdHlsZXMgZm9yIEFuZ3VsYXIgTWF0ZXJpYWwuIFdlIGluY2x1ZGUgdGhpcyBoZXJlIHNvIHRoYXQgeW91IG9ubHlcbi8vIGhhdmUgdG8gbG9hZCBhIHNpbmdsZSBjc3MgZmlsZSBmb3IgQW5ndWxhciBNYXRlcmlhbCBpbiB5b3VyIGFwcC5cbi8vIEJlIHN1cmUgdGhhdCB5b3Ugb25seSBldmVyIGluY2x1ZGUgdGhpcyBtaXhpbiBvbmNlIVxuQGluY2x1ZGUgbWF0LWNvcmUoKTsgLy8gRGVmaW5lIHRoZSBwYWxldHRlcyBmb3IgeW91ciB0aGVtZSB1c2luZyB0aGUgTWF0ZXJpYWwgRGVzaWduIHBhbGV0dGVzIGF2YWlsYWJsZSBpbiBwYWxldHRlLnNjc3Ncbi8vIChpbXBvcnRlZCBhYm92ZSkuIEZvciBlYWNoIHBhbGV0dGUsIHlvdSBjYW4gb3B0aW9uYWxseSBzcGVjaWZ5IGEgZGVmYXVsdCwgbGlnaHRlciwgYW5kIGRhcmtlclxuLy8gaHVlLiBBdmFpbGFibGUgY29sb3IgcGFsZXR0ZXM6IGh0dHBzOi8vbWF0ZXJpYWwuaW8vZGVzaWduL2NvbG9yL1xuXG4vKiBGb3IgdXNlIGluIHNyYy9saWIvY29yZS90aGVtaW5nL19wYWxldHRlLnNjc3MgKi9cbi8vIFBhbGV0dGUgTWF0ZXJpYWwg4oCUIERBUksgdGhlbWUuIENlbnRybyAoNTAwKSA9IFRhaWx3aW5kIGJsdWUtNDAwICgjNjBBNUZBKSxcbi8vIHRvbSBjYW7DtG5pY28gZG8gc3lzdGVtIGFjY2VudCBubyBkYXJrIG1vZGUgKG1lc21vIGRvIGAkYWNjZW50LWJhY2tncm91bmQtZGFya2Bcbi8vIGVtIGBfY29sb3JzLnNjc3NgKS4gQUEgY29udHJhIG8gY2FudmFzIGVzY3VybyAofjYuNDoxKSBzZW0gdmlyYXIgbsOpb24uXG4vLyBFc2NhbGEgaW50ZWlyYSBzZWd1ZSBhIGZhbcOtbGlhIGJsdWUgVGFpbHdpbmQuXG4kbWQtbWNncGFsZXR0ZTA6IChcbiAgICA1MCA6ICNFRkY2RkYsXG4gICAgMTAwIDogI0RCRUFGRSxcbiAgICAyMDAgOiAjQkZEQkZFLFxuICAgIDMwMCA6ICM5M0M1RkQsXG4gICAgNDAwIDogIzYwQTVGQSxcbiAgICA1MDAgOiAjNjBBNUZBLFxuICAgIDYwMCA6ICMzQjgyRjYsXG4gICAgNzAwIDogIzI1NjNFQixcbiAgICA4MDAgOiAjMUQ0RUQ4LFxuICAgIDkwMCA6ICMxRTQwQUYsXG4gICAgQTEwMCA6ICNFRkY2RkYsXG4gICAgQTIwMCA6ICNCRkRCRkUsXG4gICAgQTQwMCA6ICM2MEE1RkEsXG4gICAgQTcwMCA6ICMyNTYzRUIsXG4gICAgLy8gVGV4dG8gQlJBTkNPIGVtIDQwMC05MDAgcHJhIHVuaWZpY2FyIHRvZG8gYm90w6NvIGFjY2VudCBubyBkYXJrXG4gICAgLy8gKHBhciBjb20gbyBgLmNoYWlyLWJ1dHRvbi0tcHJpbWFyeWAgY3VzdG9tIHF1ZSBhZ29yYSB0YW1iw6ltIHVzYVxuICAgIC8vIGJyYW5jbykuIFRyYWRlLW9mZjogY29udHJhc3RlIH40OjEgbm8gNDAwLzUwMCAoYmx1ZS00MDApIOKAlCBhYmFpeG9cbiAgICAvLyBkZSBBQUEgbWFzIGRlbnRybyBkYSB0b2xlcsOibmNpYSBwcmEgdGV4dG8gZ3JhbmRlL2JvbGQgZGUgYm90w6NvLlxuICAgIGNvbnRyYXN0OiAoXG4gICAgICAgIDUwIDogIzAwMDAwMCxcbiAgICAgICAgMTAwIDogIzAwMDAwMCxcbiAgICAgICAgMjAwIDogIzAwMDAwMCxcbiAgICAgICAgMzAwIDogIzAwMDAwMCxcbiAgICAgICAgNDAwIDogI2ZmZmZmZixcbiAgICAgICAgNTAwIDogI2ZmZmZmZixcbiAgICAgICAgNjAwIDogI2ZmZmZmZixcbiAgICAgICAgNzAwIDogI2ZmZmZmZixcbiAgICAgICAgODAwIDogI2ZmZmZmZixcbiAgICAgICAgOTAwIDogI2ZmZmZmZixcbiAgICAgICAgQTEwMCA6ICMwMDAwMDAsXG4gICAgICAgIEEyMDAgOiAjMDAwMDAwLFxuICAgICAgICBBNDAwIDogI2ZmZmZmZixcbiAgICAgICAgQTcwMCA6ICNmZmZmZmYsXG4gICAgKVxuKTtcblxuLy8gUGFsZXR0ZSBNYXRlcmlhbCDigJQgTElHSFQgdGhlbWUuIENlbnRybyAoNTAwKSA9IFRhaWx3aW5kIGJsdWUtODAwICgjMUU0MEFGKSxcbi8vIHRvbSBjYW7DtG5pY28gZG8gc3lzdGVtIGFjY2VudCBjYWxpYnJhZG8gcHJhIEFBQSAofjk6MSB2cyBicmFuY28pLiBUZXh0b1xuLy8gYnJhbmNvIGVtIDUwMC05MDAuIEVzY2FsYSBpbnRlaXJhIHNlZ3VlIGEgZmFtw61saWEgYmx1ZSBUYWlsd2luZCBwcmEgZGFyXG4vLyBncmFkaWVudGUgY29lcmVudGUgZG8gaG92ZXItcGFsZSBhdMOpIG8gZGVlcC1uYXZ5LlxuJG1kLW1jZ3BhbGV0dGUxOiAoXG4gICAgNTAgOiAjRUZGNkZGLFxuICAgIDEwMCA6ICNEQkVBRkUsXG4gICAgMjAwIDogI0JGREJGRSxcbiAgICAzMDAgOiAjOTNDNUZELFxuICAgIDQwMCA6ICMyNTYzRUIsXG4gICAgNTAwIDogIzFFNDBBRixcbiAgICA2MDAgOiAjMUIzQTlFLFxuICAgIDcwMCA6ICMxNzM0OEMsXG4gICAgODAwIDogIzEzMkI3NSxcbiAgICA5MDAgOiAjMEYyMjVFLFxuICAgIEExMDAgOiAjQkZEQkZFLFxuICAgIEEyMDAgOiAjNjBBNUZBLFxuICAgIEE0MDAgOiAjMjU2M0VCLFxuICAgIEE3MDAgOiAjMUU0MEFGLFxuICAgIGNvbnRyYXN0OiAoXG4gICAgICAgIDUwIDogIzAwMDAwMCxcbiAgICAgICAgMTAwIDogIzAwMDAwMCxcbiAgICAgICAgMjAwIDogIzAwMDAwMCxcbiAgICAgICAgMzAwIDogIzAwMDAwMCxcbiAgICAgICAgNDAwIDogI2ZmZmZmZixcbiAgICAgICAgNTAwIDogI2ZmZmZmZixcbiAgICAgICAgNjAwIDogI2ZmZmZmZixcbiAgICAgICAgNzAwIDogI2ZmZmZmZixcbiAgICAgICAgODAwIDogI2ZmZmZmZixcbiAgICAgICAgOTAwIDogI2ZmZmZmZixcbiAgICAgICAgQTEwMCA6ICMwMDAwMDAsXG4gICAgICAgIEEyMDAgOiAjMDAwMDAwLFxuICAgICAgICBBNDAwIDogI2ZmZmZmZixcbiAgICAgICAgQTcwMCA6ICNmZmZmZmYsXG4gICAgKVxuKTtcblxuJHRoZW1lLXByaW1hcnk6IChcbiAgNTA6ICNlM2U1ZWIsXG4gIDEwMDogI2JhYmZjZCxcbiAgMjAwOiAjOGM5NWFjLFxuICAzMDA6ICM1ZTZhOGIsXG4gIDQwMDogIzNjNGE3MixcbiAgNTAwOiAjMTkyYTU5LFxuICA2MDA6ICMxNjI1NTEsXG4gIDcwMDogIzEyMWY0OCxcbiAgODAwOiAjMGUxOTNlLFxuICA5MDA6ICMwODBmMmUsXG4gIEExMDA6ICM2ODdkZmYsXG4gIEEyMDA6ICMzNTUxZmYsXG4gIEE0MDA6ICMwMjI1ZmYsXG4gIEE3MDA6ICMwMDIwZTgsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kdGhlbWUtc2Vjb25kYXJ5OiAoXG4gIDUwOiAjZjBmMWYzLFxuICAxMDA6ICNkYWRjZTEsXG4gIDIwMDogI2MxYzRjZCxcbiAgMzAwOiAjYThhY2I4LFxuICA0MDA6ICM5NjliYTksXG4gIDUwMDogIzgzODk5YSxcbiAgNjAwOiAjN2I4MTkyLFxuICA3MDA6ICM3MDc2ODgsXG4gIDgwMDogIzY2NmM3ZSxcbiAgOTAwOiAjNTM1OTZjLFxuICBBMTAwOiAjZDVkZmZlLFxuICBBMjAwOiAjYTNiOGZkLFxuICBBNDAwOiAjNmU5MGZmLFxuICBBNzAwOiAjNTU3Y2ZmLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAjMDAwMDAwLFxuICAgIDEwMDogIzAwMDAwMCxcbiAgICAyMDA6ICMwMDAwMDAsXG4gICAgMzAwOiAjMDAwMDAwLFxuICAgIDQwMDogI2ZmZmZmZixcbiAgICA1MDA6ICNmZmZmZmYsXG4gICAgNjAwOiAjZmZmZmZmLFxuICAgIDcwMDogI2ZmZmZmZixcbiAgICA4MDA6ICNmZmZmZmYsXG4gICAgOTAwOiAjZmZmZmZmLFxuICAgIEExMDA6ICMwMDAwMDAsXG4gICAgQTIwMDogIzAwMDAwMCxcbiAgICBBNDAwOiAjMDAwMDAwLFxuICAgIEE3MDA6ICNmZmZmZmZcbiAgKVxuKTtcblxuJHRoZW1lLXdhcm46IChcbiAgNTA6ICNmOWUzZTMsXG4gIDEwMDogI2YwYjliOSxcbiAgMjAwOiAjZTc4YThhLFxuICAzMDA6ICNkZDViNWIsXG4gIDQwMDogI2U0M2IzYixcbiAgNTAwOiAjZTkxNDE0LFxuICA2MDA6ICNkMzE0MTQsXG4gIDcwMDogI2MyMGUwZSxcbiAgODAwOiAjYmMwYjBiLFxuICA5MDA6ICNiMDA2MDYsXG4gIEExMDA6ICNmZmRiZGIsXG4gIEEyMDA6ICNmZmE4YTgsXG4gIEE0MDA6ICNmZjc1NzUsXG4gIEE3MDA6ICNmZjViNWIsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICMwMDAwMDAsXG4gICAgMTAwOiAjMDAwMDAwLFxuICAgIDIwMDogIzAwMDAwMCxcbiAgICAzMDA6ICMwMDAwMDAsXG4gICAgNDAwOiAjZmZmZmZmLFxuICAgIDUwMDogI2ZmZmZmZixcbiAgICA2MDA6ICNmZmZmZmYsXG4gICAgNzAwOiAjZmZmZmZmLFxuICAgIDgwMDogI2ZmZmZmZixcbiAgICA5MDA6ICNmZmZmZmYsXG4gICAgQTEwMDogIzAwMDAwMCxcbiAgICBBMjAwOiAjMDAwMDAwLFxuICAgIEE0MDA6ICMwMDAwMDAsXG4gICAgQTcwMDogIzAwMDAwMCxcbiAgKVxuKTtcbi8vIEdlaXN0IFNhbnMgKHZhcmlhYmxlLCBWZXJjZWwsIDIwMjMpIGFzIHRoZSBwcmltYXJ5IFVJIGZvbnQuIFByb3ZpZGVzXG4vLyBjcm9zcy1PUyBjb25zaXN0ZW5jeSBzaW1pbGFyIHRvIHdoYXQgQ2xhdWRlLmFpIC8gTGluZWFyIC8gVmVyY2VsIGFjaGlldmVcbi8vIHdpdGggY29tbWVyY2lhbCBTw7ZobmUuIFN5c3RlbSBmb250cyByZW1haW4gYXMgZmFsbGJhY2tzIGZvciB0aGUgYnJpZWZcbi8vIHByZS1sb2FkIHBlcmlvZC5cbiRmb250LWZhbWlseTogXCJHZWlzdFwiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIjtcblxuJGFwcC13YXJuOiBtYXQtcGFsZXR0ZSgkdGhlbWUtd2Fybik7IC8vIENyZWF0ZSB0aGUgdGhlbWUgb2JqZWN0IChhIFNhc3MgbWFwIGNvbnRhaW5pbmcgYWxsIG9mIHRoZSBwYWxldHRlcykuXG4vLyBUZW1hIGNsYXJvXG4kYXBwLXByaW1hcnktbGlnaHQ6IG1hdC1wYWxldHRlKCRtZC1tY2dwYWxldHRlMSk7XG4kYXBwLWFjY2VudC1saWdodDogbWF0LXBhbGV0dGUoJG1kLW1jZ3BhbGV0dGUxKTtcbiRhcHAtdGhlbWUtbGlnaHQ6IG1hdC1saWdodC10aGVtZSgkYXBwLXByaW1hcnktbGlnaHQsICRhcHAtYWNjZW50LWxpZ2h0LCAkYXBwLXdhcm4pO1xuLmxpZ2h0LXRoZW1lIHtcbiAgQGluY2x1ZGUgYW5ndWxhci1tYXRlcmlhbC10aGVtZSgkYXBwLXRoZW1lLWxpZ2h0KTtcbn1cblxuLy8gVGVtYSBlc2N1cm9cbiRhcHAtcHJpbWFyeS1kYXJrOiBtYXQtcGFsZXR0ZSgkbWQtbWNncGFsZXR0ZTApO1xuJGFwcC1hY2NlbnQtZGFyazogbWF0LXBhbGV0dGUoJG1kLW1jZ3BhbGV0dGUwKTtcbiRhcHAtdGhlbWUtZGFyazogbWF0LWRhcmstdGhlbWUoJGFwcC1wcmltYXJ5LWRhcmssICRhcHAtYWNjZW50LWRhcmssICRhcHAtd2Fybik7XG4uZGFyay10aGVtZSB7XG4gIEBpbmNsdWRlIGFuZ3VsYXItbWF0ZXJpYWwtdGhlbWUoJGFwcC10aGVtZS1kYXJrKTtcbn1cblxuXG4kYXBwLXR5cG9ncmFwaHk6IG1hdC10eXBvZ3JhcGh5LWNvbmZpZygkZm9udC1mYW1pbHkpO1xuXG5AaW5jbHVkZSBhbmd1bGFyLW1hdGVyaWFsLXR5cG9ncmFwaHkoJGFwcC10eXBvZ3JhcGh5KTtcbiIsIkBrZXlmcmFtZXMgc3BpbkFyb3VuZFxuICBmcm9tXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZylcbiAgdG9cbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpXG4iLCJAaW1wb3J0IFwiaW5pdGlhbC12YXJpYWJsZXNcIlxuXG49Y2xlYXJmaXhcbiAgJjo6YWZ0ZXJcbiAgICBjbGVhcjogYm90aFxuICAgIGNvbnRlbnQ6IFwiIFwiXG4gICAgZGlzcGxheTogdGFibGVcblxuPWNlbnRlcigkd2lkdGgsICRoZWlnaHQ6IDApXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZVxuICBAaWYgJGhlaWdodCAhPSAwXG4gICAgbGVmdDogY2FsYyg1MCUgLSAoI3skd2lkdGh9IC8gMikpXG4gICAgdG9wOiBjYWxjKDUwJSAtICgjeyRoZWlnaHR9IC8gMikpXG4gIEBlbHNlXG4gICAgbGVmdDogY2FsYyg1MCUgLSAoI3skd2lkdGh9IC8gMikpXG4gICAgdG9wOiBjYWxjKDUwJSAtICgjeyR3aWR0aH0gLyAyKSlcblxuPWZhKCRzaXplLCAkZGltZW5zaW9ucylcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrXG4gIGZvbnQtc2l6ZTogJHNpemVcbiAgaGVpZ2h0OiAkZGltZW5zaW9uc1xuICBsaW5lLWhlaWdodDogJGRpbWVuc2lvbnNcbiAgdGV4dC1hbGlnbjogY2VudGVyXG4gIHZlcnRpY2FsLWFsaWduOiB0b3BcbiAgd2lkdGg6ICRkaW1lbnNpb25zXG5cbj1oYW1idXJnZXIoJGRpbWVuc2lvbnMpXG4gIGN1cnNvcjogcG9pbnRlclxuICBkaXNwbGF5OiBibG9ja1xuICBoZWlnaHQ6ICRkaW1lbnNpb25zXG4gIHBvc2l0aW9uOiByZWxhdGl2ZVxuICB3aWR0aDogJGRpbWVuc2lvbnNcbiAgc3BhblxuICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvclxuICAgIGRpc3BsYXk6IGJsb2NrXG4gICAgaGVpZ2h0OiAxcHhcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDhweClcbiAgICBwb3NpdGlvbjogYWJzb2x1dGVcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXJcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkc3BlZWRcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBvcGFjaXR5LCB0cmFuc2Zvcm1cbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGVhc2luZ1xuICAgIHdpZHRoOiAxNnB4XG4gICAgJjpudGgtY2hpbGQoMSlcbiAgICAgIHRvcDogY2FsYyg1MCUgLSA2cHgpXG4gICAgJjpudGgtY2hpbGQoMilcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAxcHgpXG4gICAgJjpudGgtY2hpbGQoMylcbiAgICAgIHRvcDogY2FsYyg1MCUgKyA0cHgpXG4gICY6aG92ZXJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBidWxtYVJnYmEoYmxhY2ssIDAuMDUpXG4gIC8vIE1vZGlmZXJzXG4gICYuaXMtYWN0aXZlXG4gICAgc3BhblxuICAgICAgJjpudGgtY2hpbGQoMSlcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDVweCkgcm90YXRlKDQ1ZGVnKVxuICAgICAgJjpudGgtY2hpbGQoMilcbiAgICAgICAgb3BhY2l0eTogMFxuICAgICAgJjpudGgtY2hpbGQoMylcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpIHJvdGF0ZSgtNDVkZWcpXG5cbj1vdmVyZmxvdy10b3VjaFxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2hcblxuPXBsYWNlaG9sZGVyXG4gICRwbGFjZWhvbGRlcnM6ICc6LW1veicgJzotd2Via2l0LWlucHV0JyAnLW1veicgJy1tcy1pbnB1dCdcbiAgQGVhY2ggJHBsYWNlaG9sZGVyIGluICRwbGFjZWhvbGRlcnNcbiAgICAmOiN7JHBsYWNlaG9sZGVyfS1wbGFjZWhvbGRlclxuICAgICAgQGNvbnRlbnRcblxuLy8gUmVzcG9uc2l2ZW5lc3NcblxuPWZyb20oJGRldmljZSlcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRldmljZSlcbiAgICBAY29udGVudFxuXG49dW50aWwoJGRldmljZSlcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGRldmljZSAtIDFweClcbiAgICBAY29udGVudFxuXG49bW9iaWxlXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR0YWJsZXQgLSAxcHgpXG4gICAgQGNvbnRlbnRcblxuPXRhYmxldFxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdGFibGV0KSwgcHJpbnRcbiAgICBAY29udGVudFxuXG49dGFibGV0LW9ubHlcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHRhYmxldCkgYW5kIChtYXgtd2lkdGg6ICRkZXNrdG9wIC0gMXB4KVxuICAgIEBjb250ZW50XG5cbj10b3VjaFxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZGVza3RvcCAtIDFweClcbiAgICBAY29udGVudFxuXG49ZGVza3RvcFxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGVza3RvcClcbiAgICBAY29udGVudFxuXG49ZGVza3RvcC1vbmx5XG4gIEBpZiAkd2lkZXNjcmVlbi1lbmFibGVkXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRlc2t0b3ApIGFuZCAobWF4LXdpZHRoOiAkd2lkZXNjcmVlbiAtIDFweClcbiAgICAgIEBjb250ZW50XG5cbj11bnRpbC13aWRlc2NyZWVuXG4gIEBpZiAkd2lkZXNjcmVlbi1lbmFibGVkXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHdpZGVzY3JlZW4gLSAxcHgpXG4gICAgICBAY29udGVudFxuXG49d2lkZXNjcmVlblxuICBAaWYgJHdpZGVzY3JlZW4tZW5hYmxlZFxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR3aWRlc2NyZWVuKVxuICAgICAgQGNvbnRlbnRcblxuPXdpZGVzY3JlZW4tb25seVxuICBAaWYgJHdpZGVzY3JlZW4tZW5hYmxlZCBhbmQgJGZ1bGxoZC1lbmFibGVkXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHdpZGVzY3JlZW4pIGFuZCAobWF4LXdpZHRoOiAkZnVsbGhkIC0gMXB4KVxuICAgICAgQGNvbnRlbnRcblxuPXVudGlsLWZ1bGxoZFxuICBAaWYgJGZ1bGxoZC1lbmFibGVkXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGZ1bGxoZCAtIDFweClcbiAgICAgIEBjb250ZW50XG5cbj1mdWxsaGRcbiAgQGlmICRmdWxsaGQtZW5hYmxlZFxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRmdWxsaGQpXG4gICAgICBAY29udGVudFxuXG4vLyBQbGFjZWhvbGRlcnNcblxuPXVuc2VsZWN0YWJsZVxuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmVcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZVxuICAtbW96LXVzZXItc2VsZWN0OiBub25lXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZVxuICB1c2VyLXNlbGVjdDogbm9uZVxuXG4ldW5zZWxlY3RhYmxlXG4gICt1bnNlbGVjdGFibGVcblxuPWFycm93KCRjb2xvcjogdHJhbnNwYXJlbnQpXG4gIGJvcmRlcjogM3B4IHNvbGlkICRjb2xvclxuICBib3JkZXItcmFkaXVzOiAycHhcbiAgYm9yZGVyLXJpZ2h0OiAwXG4gIGJvcmRlci10b3A6IDBcbiAgY29udGVudDogXCIgXCJcbiAgZGlzcGxheTogYmxvY2tcbiAgaGVpZ2h0OiAwLjYyNWVtXG4gIG1hcmdpbi10b3A6IC0wLjQzNzVlbVxuICBwb2ludGVyLWV2ZW50czogbm9uZVxuICBwb3NpdGlvbjogYWJzb2x1dGVcbiAgdG9wOiA1MCVcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKVxuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXJcbiAgd2lkdGg6IDAuNjI1ZW1cblxuJWFycm93XG4gICthcnJvd1xuXG49YmxvY2soJHNwYWNpbmc6ICRibG9jay1zcGFjaW5nKVxuICAmOm5vdCg6bGFzdC1jaGlsZClcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZ1xuXG4lYmxvY2tcbiAgK2Jsb2NrXG5cbj1kZWxldGVcbiAgQGV4dGVuZCAldW5zZWxlY3RhYmxlXG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZVxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmVcbiAgYmFja2dyb3VuZC1jb2xvcjogYnVsbWFSZ2JhKCRzY2hlbWUtaW52ZXJ0LCAwLjIpXG4gIGJvcmRlcjogbm9uZVxuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzLXJvdW5kZWRcbiAgY3Vyc29yOiBwb2ludGVyXG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvXG4gIGRpc3BsYXk6IGlubGluZS1ibG9ja1xuICBmbGV4LWdyb3c6IDBcbiAgZmxleC1zaHJpbms6IDBcbiAgZm9udC1zaXplOiAwXG4gIGhlaWdodDogMjBweFxuICBtYXgtaGVpZ2h0OiAyMHB4XG4gIG1heC13aWR0aDogMjBweFxuICBtaW4taGVpZ2h0OiAyMHB4XG4gIG1pbi13aWR0aDogMjBweFxuICBvdXRsaW5lOiBub25lXG4gIHBvc2l0aW9uOiByZWxhdGl2ZVxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wXG4gIHdpZHRoOiAyMHB4XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2NoZW1lLW1haW5cbiAgICBjb250ZW50OiBcIlwiXG4gICAgZGlzcGxheTogYmxvY2tcbiAgICBsZWZ0OiA1MCVcbiAgICBwb3NpdGlvbjogYWJzb2x1dGVcbiAgICB0b3A6IDUwJVxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZylcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyXG4gICY6OmJlZm9yZVxuICAgIGhlaWdodDogMnB4XG4gICAgd2lkdGg6IDUwJVxuICAmOjphZnRlclxuICAgIGhlaWdodDogNTAlXG4gICAgd2lkdGg6IDJweFxuICAmOmhvdmVyLFxuICAmOmZvY3VzXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYnVsbWFSZ2JhKCRzY2hlbWUtaW52ZXJ0LCAwLjMpXG4gICY6YWN0aXZlXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYnVsbWFSZ2JhKCRzY2hlbWUtaW52ZXJ0LCAwLjQpXG4gIC8vIFNpemVzXG4gICYuaXMtc21hbGxcbiAgICBoZWlnaHQ6IDE2cHhcbiAgICBtYXgtaGVpZ2h0OiAxNnB4XG4gICAgbWF4LXdpZHRoOiAxNnB4XG4gICAgbWluLWhlaWdodDogMTZweFxuICAgIG1pbi13aWR0aDogMTZweFxuICAgIHdpZHRoOiAxNnB4XG4gICYuaXMtbWVkaXVtXG4gICAgaGVpZ2h0OiAyNHB4XG4gICAgbWF4LWhlaWdodDogMjRweFxuICAgIG1heC13aWR0aDogMjRweFxuICAgIG1pbi1oZWlnaHQ6IDI0cHhcbiAgICBtaW4td2lkdGg6IDI0cHhcbiAgICB3aWR0aDogMjRweFxuICAmLmlzLWxhcmdlXG4gICAgaGVpZ2h0OiAzMnB4XG4gICAgbWF4LWhlaWdodDogMzJweFxuICAgIG1heC13aWR0aDogMzJweFxuICAgIG1pbi1oZWlnaHQ6IDMycHhcbiAgICBtaW4td2lkdGg6IDMycHhcbiAgICB3aWR0aDogMzJweFxuXG4lZGVsZXRlXG4gICtkZWxldGVcblxuPWxvYWRlclxuICBhbmltYXRpb246IHNwaW5Bcm91bmQgNTAwbXMgaW5maW5pdGUgbGluZWFyXG4gIGJvcmRlcjogMnB4IHNvbGlkICRncmV5LWxpZ2h0ZXJcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cy1yb3VuZGVkXG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnRcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnRcbiAgY29udGVudDogXCJcIlxuICBkaXNwbGF5OiBibG9ja1xuICBoZWlnaHQ6IDFlbVxuICBwb3NpdGlvbjogcmVsYXRpdmVcbiAgd2lkdGg6IDFlbVxuXG4lbG9hZGVyXG4gICtsb2FkZXJcblxuPW92ZXJsYXkoJG9mZnNldDogMClcbiAgYm90dG9tOiAkb2Zmc2V0XG4gIGxlZnQ6ICRvZmZzZXRcbiAgcG9zaXRpb246IGFic29sdXRlXG4gIHJpZ2h0OiAkb2Zmc2V0XG4gIHRvcDogJG9mZnNldFxuXG4lb3ZlcmxheVxuICArb3ZlcmxheVxuIiwiLy8gQ29sb3JzXG5cbiRibGFjazogICAgICAgIGhzbCgwLCAwJSwgNCUpICFkZWZhdWx0XG4kYmxhY2stYmlzOiAgICBoc2woMCwgMCUsIDclKSAhZGVmYXVsdFxuJGJsYWNrLXRlcjogICAgaHNsKDAsIDAlLCAxNCUpICFkZWZhdWx0XG5cbiRncmV5LWRhcmtlcjogIGhzbCgwLCAwJSwgMjElKSAhZGVmYXVsdFxuJGdyZXktZGFyazogICAgaHNsKDAsIDAlLCAyOSUpICFkZWZhdWx0XG4kZ3JleTogICAgICAgICBoc2woMCwgMCUsIDQ4JSkgIWRlZmF1bHRcbiRncmV5LWxpZ2h0OiAgIGhzbCgwLCAwJSwgNzElKSAhZGVmYXVsdFxuJGdyZXktbGlnaHRlcjogaHNsKDAsIDAlLCA4NiUpICFkZWZhdWx0XG4kZ3JleS1saWdodGVzdDogaHNsKDAsIDAlLCA5MyUpICFkZWZhdWx0XG5cbiR3aGl0ZS10ZXI6ICAgIGhzbCgwLCAwJSwgOTYlKSAhZGVmYXVsdFxuJHdoaXRlLWJpczogICAgaHNsKDAsIDAlLCA5OCUpICFkZWZhdWx0XG4kd2hpdGU6ICAgICAgICBoc2woMCwgMCUsIDEwMCUpICFkZWZhdWx0XG5cbiRvcmFuZ2U6ICAgICAgIGhzbCgxNCwgIDEwMCUsIDUzJSkgIWRlZmF1bHRcbiR5ZWxsb3c6ICAgICAgIGhzbCg0OCwgIDEwMCUsIDY3JSkgIWRlZmF1bHRcbiRncmVlbjogICAgICAgIGhzbCgxNDEsIDUzJSwgIDUzJSkgIWRlZmF1bHRcbiR0dXJxdW9pc2U6ICAgIGhzbCgxNzEsIDEwMCUsIDQxJSkgIWRlZmF1bHRcbiRjeWFuOiAgICAgICAgIGhzbCgyMDQsIDcxJSwgIDUzJSkgIWRlZmF1bHRcbiRibHVlOiAgICAgICAgIGhzbCgyMTcsIDcxJSwgIDUzJSkgIWRlZmF1bHRcbiRwdXJwbGU6ICAgICAgIGhzbCgyNzEsIDEwMCUsIDcxJSkgIWRlZmF1bHRcbiRyZWQ6ICAgICAgICAgIGhzbCgzNDgsIDg2JSwgNjElKSAhZGVmYXVsdFxuXG4vLyBUeXBvZ3JhcGh5XG5cbiRmYW1pbHktc2Fucy1zZXJpZjogQmxpbmtNYWNTeXN0ZW1Gb250LCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZiAhZGVmYXVsdFxuJGZhbWlseS1tb25vc3BhY2U6IG1vbm9zcGFjZSAhZGVmYXVsdFxuJHJlbmRlci1tb2RlOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHRcblxuJHNpemUtMTogM3JlbSAhZGVmYXVsdFxuJHNpemUtMjogMi41cmVtICFkZWZhdWx0XG4kc2l6ZS0zOiAycmVtICFkZWZhdWx0XG4kc2l6ZS00OiAxLjVyZW0gIWRlZmF1bHRcbiRzaXplLTU6IDEuMjVyZW0gIWRlZmF1bHRcbiRzaXplLTY6IDFyZW0gIWRlZmF1bHRcbiRzaXplLTc6IDAuNzVyZW0gIWRlZmF1bHRcblxuJHdlaWdodC1saWdodDogMzAwICFkZWZhdWx0XG4kd2VpZ2h0LW5vcm1hbDogNDAwICFkZWZhdWx0XG4kd2VpZ2h0LW1lZGl1bTogNTAwICFkZWZhdWx0XG4kd2VpZ2h0LXNlbWlib2xkOiA2MDAgIWRlZmF1bHRcbiR3ZWlnaHQtYm9sZDogNzAwICFkZWZhdWx0XG5cbi8vIFNwYWNpbmdcblxuJGJsb2NrLXNwYWNpbmc6IDEuNXJlbSAhZGVmYXVsdFxuXG4vLyBSZXNwb25zaXZlbmVzc1xuXG4vLyBUaGUgY29udGFpbmVyIGhvcml6b250YWwgZ2FwLCB3aGljaCBhY3RzIGFzIHRoZSBvZmZzZXQgZm9yIGJyZWFrcG9pbnRzXG4kZ2FwOiAzMnB4ICFkZWZhdWx0XG4vLyA5NjAsIDExNTIsIGFuZCAxMzQ0IGhhdmUgYmVlbiBjaG9zZW4gYmVjYXVzZSB0aGV5IGFyZSBkaXZpc2libGUgYnkgYm90aCAxMiBhbmQgMTZcbiR0YWJsZXQ6IDc2OXB4ICFkZWZhdWx0XG4vLyA5NjBweCBjb250YWluZXIgKyA0cmVtXG4kZGVza3RvcDogOTYwcHggKyAoMiAqICRnYXApICFkZWZhdWx0XG4vLyAxMTUycHggY29udGFpbmVyICsgNHJlbVxuJHdpZGVzY3JlZW46IDExNTJweCArICgyICogJGdhcCkgIWRlZmF1bHRcbiR3aWRlc2NyZWVuLWVuYWJsZWQ6IHRydWUgIWRlZmF1bHRcbi8vIDEzNDRweCBjb250YWluZXIgKyA0cmVtXG4kZnVsbGhkOiAxMzQ0cHggKyAoMiAqICRnYXApICFkZWZhdWx0XG4kZnVsbGhkLWVuYWJsZWQ6IHRydWUgIWRlZmF1bHRcblxuLy8gTWlzY2VsbGFuZW91c1xuXG4kZWFzaW5nOiBlYXNlLW91dCAhZGVmYXVsdFxuJHJhZGl1cy1zbWFsbDogMnB4ICFkZWZhdWx0XG4kcmFkaXVzOiA0cHggIWRlZmF1bHRcbiRyYWRpdXMtbGFyZ2U6IDZweCAhZGVmYXVsdFxuJHJhZGl1cy1yb3VuZGVkOiAyOTA0ODZweCAhZGVmYXVsdFxuJHNwZWVkOiA4Nm1zICFkZWZhdWx0XG5cbi8vIEZsYWdzXG5cbiR2YXJpYWJsZS1jb2x1bW5zOiB0cnVlICFkZWZhdWx0XG4iLCIvKiEgbWluaXJlc2V0LmNzcyB2MC4wLjYgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vamd0aG1zL21pbmlyZXNldC5jc3MgKi9cbi8vIEJsb2Nrc1xuaHRtbCxcbmJvZHksXG5wLFxub2wsXG51bCxcbmxpLFxuZGwsXG5kdCxcbmRkLFxuYmxvY2txdW90ZSxcbmZpZ3VyZSxcbmZpZWxkc2V0LFxubGVnZW5kLFxudGV4dGFyZWEsXG5wcmUsXG5pZnJhbWUsXG5ocixcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNlxuICBtYXJnaW46IDBcbiAgcGFkZGluZzogMFxuXG4vLyBIZWFkaW5nc1xuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2XG4gIGZvbnQtc2l6ZTogMTAwJVxuICBmb250LXdlaWdodDogbm9ybWFsXG5cbi8vIExpc3RcbnVsXG4gIGxpc3Qtc3R5bGU6IG5vbmVcblxuLy8gRm9ybVxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYVxuICBtYXJnaW46IDBcblxuLy8gQm94IHNpemluZ1xuaHRtbFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94XG5cbipcbiAgJixcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlclxuICAgIGJveC1zaXppbmc6IGluaGVyaXRcblxuLy8gTWVkaWFcbmltZyxcbnZpZGVvXG4gIGhlaWdodDogYXV0b1xuICBtYXgtd2lkdGg6IDEwMCVcblxuLy8gSWZyYW1lXG5pZnJhbWVcbiAgYm9yZGVyOiAwXG5cbi8vIFRhYmxlXG50YWJsZVxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlXG4gIGJvcmRlci1zcGFjaW5nOiAwXG5cbnRkLFxudGhcbiAgcGFkZGluZzogMFxuICAmOm5vdChbYWxpZ25dKVxuICAgIHRleHQtYWxpZ246IGxlZnRcbiIsIiRib2R5LWJhY2tncm91bmQtY29sb3I6ICRzY2hlbWUtbWFpbiAhZGVmYXVsdFxuJGJvZHktc2l6ZTogMTZweCAhZGVmYXVsdFxuJGJvZHktbWluLXdpZHRoOiAzMDBweCAhZGVmYXVsdFxuJGJvZHktcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHRcbiRib2R5LWZhbWlseTogJGZhbWlseS1wcmltYXJ5ICFkZWZhdWx0XG4kYm9keS1vdmVyZmxvdy14OiBoaWRkZW4gIWRlZmF1bHRcbiRib2R5LW92ZXJmbG93LXk6IHNjcm9sbCAhZGVmYXVsdFxuXG4kYm9keS1jb2xvcjogJHRleHQgIWRlZmF1bHRcbiRib2R5LWZvbnQtc2l6ZTogMWVtICFkZWZhdWx0XG4kYm9keS13ZWlnaHQ6ICR3ZWlnaHQtbm9ybWFsICFkZWZhdWx0XG4kYm9keS1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0XG5cbiRjb2RlLWZhbWlseTogJGZhbWlseS1jb2RlICFkZWZhdWx0XG4kY29kZS1wYWRkaW5nOiAwLjI1ZW0gMC41ZW0gMC4yNWVtICFkZWZhdWx0XG4kY29kZS13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdFxuJGNvZGUtc2l6ZTogMC44NzVlbSAhZGVmYXVsdFxuXG4kc21hbGwtZm9udC1zaXplOiAwLjg3NWVtICFkZWZhdWx0XG5cbiRoci1iYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZCAhZGVmYXVsdFxuJGhyLWhlaWdodDogMnB4ICFkZWZhdWx0XG4kaHItbWFyZ2luOiAxLjVyZW0gMCAhZGVmYXVsdFxuXG4kc3Ryb25nLWNvbG9yOiAkdGV4dC1zdHJvbmcgIWRlZmF1bHRcbiRzdHJvbmctd2VpZ2h0OiAkd2VpZ2h0LWJvbGQgIWRlZmF1bHRcblxuJHByZS1mb250LXNpemU6IDAuODc1ZW0gIWRlZmF1bHRcbiRwcmUtcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHRcbiRwcmUtY29kZS1mb250LXNpemU6IDFlbSAhZGVmYXVsdFxuXG5odG1sXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQtY29sb3JcbiAgZm9udC1zaXplOiAkYm9keS1zaXplXG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGVcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWRcbiAgbWluLXdpZHRoOiAkYm9keS1taW4td2lkdGhcbiAgb3ZlcmZsb3cteDogJGJvZHktb3ZlcmZsb3cteFxuICBvdmVyZmxvdy15OiAkYm9keS1vdmVyZmxvdy15XG4gIHRleHQtcmVuZGVyaW5nOiAkYm9keS1yZW5kZXJpbmdcbiAgdGV4dC1zaXplLWFkanVzdDogMTAwJVxuXG5hcnRpY2xlLFxuYXNpZGUsXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5zZWN0aW9uXG4gIGRpc3BsYXk6IGJsb2NrXG5cbmJvZHksXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhXG4gIGZvbnQtZmFtaWx5OiAkYm9keS1mYW1pbHlcblxuY29kZSxcbnByZVxuICAtbW96LW9zeC1mb250LXNtb290aGluZzogYXV0b1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhdXRvXG4gIGZvbnQtZmFtaWx5OiAkY29kZS1mYW1pbHlcblxuYm9keVxuICBjb2xvcjogJGJvZHktY29sb3JcbiAgZm9udC1zaXplOiAkYm9keS1mb250LXNpemVcbiAgZm9udC13ZWlnaHQ6ICRib2R5LXdlaWdodFxuICBsaW5lLWhlaWdodDogJGJvZHktbGluZS1oZWlnaHRcblxuLy8gSW5saW5lXG5cbmFcbiAgY29sb3I6ICRsaW5rXG4gIGN1cnNvcjogcG9pbnRlclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmVcbiAgc3Ryb25nXG4gICAgY29sb3I6IGN1cnJlbnRDb2xvclxuICAmOmhvdmVyXG4gICAgY29sb3I6ICRsaW5rLWhvdmVyXG5cbmNvZGVcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZFxuICBjb2xvcjogJGNvZGVcbiAgZm9udC1zaXplOiAkY29kZS1zaXplXG4gIGZvbnQtd2VpZ2h0OiAkY29kZS13ZWlnaHRcbiAgcGFkZGluZzogJGNvZGUtcGFkZGluZ1xuXG5oclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaHItYmFja2dyb3VuZC1jb2xvclxuICBib3JkZXI6IG5vbmVcbiAgZGlzcGxheTogYmxvY2tcbiAgaGVpZ2h0OiAkaHItaGVpZ2h0XG4gIG1hcmdpbjogJGhyLW1hcmdpblxuXG5pbWdcbiAgaGVpZ2h0OiBhdXRvXG4gIG1heC13aWR0aDogMTAwJVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl1cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lXG5cbnNtYWxsXG4gIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZVxuXG5zcGFuXG4gIGZvbnQtc3R5bGU6IGluaGVyaXRcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXRcblxuc3Ryb25nXG4gIGNvbG9yOiAkc3Ryb25nLWNvbG9yXG4gIGZvbnQtd2VpZ2h0OiAkc3Ryb25nLXdlaWdodFxuXG4vLyBCbG9ja1xuXG5maWVsZHNldFxuICBib3JkZXI6IG5vbmVcblxucHJlXG4gICtvdmVyZmxvdy10b3VjaFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJlLWJhY2tncm91bmRcbiAgY29sb3I6ICRwcmVcbiAgZm9udC1zaXplOiAkcHJlLWZvbnQtc2l6ZVxuICBvdmVyZmxvdy14OiBhdXRvXG4gIHBhZGRpbmc6ICRwcmUtcGFkZGluZ1xuICB3aGl0ZS1zcGFjZTogcHJlXG4gIHdvcmQtd3JhcDogbm9ybWFsXG4gIGNvZGVcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudFxuICAgIGNvbG9yOiBjdXJyZW50Q29sb3JcbiAgICBmb250LXNpemU6ICRwcmUtY29kZS1mb250LXNpemVcbiAgICBwYWRkaW5nOiAwXG5cbnRhYmxlXG4gIHRkLFxuICB0aFxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3BcbiAgICAmOm5vdChbYWxpZ25dKVxuICAgICAgdGV4dC1hbGlnbjogbGVmdFxuICB0aFxuICAgIGNvbG9yOiAkdGV4dC1zdHJvbmdcbiIsIi8vIEZsb2F0XG5cbi5pcy1jbGVhcmZpeFxuICArY2xlYXJmaXhcblxuLmlzLXB1bGxlZC1sZWZ0XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnRcblxuLmlzLXB1bGxlZC1yaWdodFxuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudFxuXG4vLyBPdmVyZmxvd1xuXG4uaXMtY2xpcHBlZFxuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnRcblxuLy8gT3ZlcmxheVxuXG4uaXMtb3ZlcmxheVxuICBAZXh0ZW5kICVvdmVybGF5XG5cbi8vIFR5cG9ncmFwaHlcblxuPXR5cG9ncmFwaHktc2l6ZSgkdGFyZ2V0OicnKVxuICBAZWFjaCAkc2l6ZSBpbiAkc2l6ZXNcbiAgICAkaTogaW5kZXgoJHNpemVzLCAkc2l6ZSlcbiAgICAuaXMtc2l6ZS0jeyRpfSN7aWYoJHRhcmdldCA9PSAnJywgJycsICctJyArICR0YXJnZXQpfVxuICAgICAgZm9udC1zaXplOiAkc2l6ZSAhaW1wb3J0YW50XG5cbit0eXBvZ3JhcGh5LXNpemUoKVxuXG4rbW9iaWxlXG4gICt0eXBvZ3JhcGh5LXNpemUoJ21vYmlsZScpXG5cbit0YWJsZXRcbiAgK3R5cG9ncmFwaHktc2l6ZSgndGFibGV0JylcblxuK3RvdWNoXG4gICt0eXBvZ3JhcGh5LXNpemUoJ3RvdWNoJylcblxuK2Rlc2t0b3BcbiAgK3R5cG9ncmFwaHktc2l6ZSgnZGVza3RvcCcpXG5cbit3aWRlc2NyZWVuXG4gICt0eXBvZ3JhcGh5LXNpemUoJ3dpZGVzY3JlZW4nKVxuXG4rZnVsbGhkXG4gICt0eXBvZ3JhcGh5LXNpemUoJ2Z1bGxoZCcpXG5cbiRhbGlnbm1lbnRzOiAoJ2NlbnRlcmVkJzogJ2NlbnRlcicsICdqdXN0aWZpZWQnOiAnanVzdGlmeScsICdsZWZ0JzogJ2xlZnQnLCAncmlnaHQnOiAncmlnaHQnKVxuXG5AZWFjaCAkYWxpZ25tZW50LCAkdGV4dC1hbGlnbiBpbiAkYWxpZ25tZW50c1xuICAuaGFzLXRleHQtI3skYWxpZ25tZW50fVxuICAgIHRleHQtYWxpZ246ICN7JHRleHQtYWxpZ259ICFpbXBvcnRhbnRcblxuQGVhY2ggJGFsaWdubWVudCwgJHRleHQtYWxpZ24gaW4gJGFsaWdubWVudHNcbiAgK21vYmlsZVxuICAgIC5oYXMtdGV4dC0jeyRhbGlnbm1lbnR9LW1vYmlsZVxuICAgICAgdGV4dC1hbGlnbjogI3skdGV4dC1hbGlnbn0gIWltcG9ydGFudFxuICArdGFibGV0XG4gICAgLmhhcy10ZXh0LSN7JGFsaWdubWVudH0tdGFibGV0XG4gICAgICB0ZXh0LWFsaWduOiAjeyR0ZXh0LWFsaWdufSAhaW1wb3J0YW50XG4gICt0YWJsZXQtb25seVxuICAgIC5oYXMtdGV4dC0jeyRhbGlnbm1lbnR9LXRhYmxldC1vbmx5XG4gICAgICB0ZXh0LWFsaWduOiAjeyR0ZXh0LWFsaWdufSAhaW1wb3J0YW50XG4gICt0b3VjaFxuICAgIC5oYXMtdGV4dC0jeyRhbGlnbm1lbnR9LXRvdWNoXG4gICAgICB0ZXh0LWFsaWduOiAjeyR0ZXh0LWFsaWdufSAhaW1wb3J0YW50XG4gICtkZXNrdG9wXG4gICAgLmhhcy10ZXh0LSN7JGFsaWdubWVudH0tZGVza3RvcFxuICAgICAgdGV4dC1hbGlnbjogI3skdGV4dC1hbGlnbn0gIWltcG9ydGFudFxuICArZGVza3RvcC1vbmx5XG4gICAgLmhhcy10ZXh0LSN7JGFsaWdubWVudH0tZGVza3RvcC1vbmx5XG4gICAgICB0ZXh0LWFsaWduOiAjeyR0ZXh0LWFsaWdufSAhaW1wb3J0YW50XG4gICt3aWRlc2NyZWVuXG4gICAgLmhhcy10ZXh0LSN7JGFsaWdubWVudH0td2lkZXNjcmVlblxuICAgICAgdGV4dC1hbGlnbjogI3skdGV4dC1hbGlnbn0gIWltcG9ydGFudFxuICArd2lkZXNjcmVlbi1vbmx5XG4gICAgLmhhcy10ZXh0LSN7JGFsaWdubWVudH0td2lkZXNjcmVlbi1vbmx5XG4gICAgICB0ZXh0LWFsaWduOiAjeyR0ZXh0LWFsaWdufSAhaW1wb3J0YW50XG4gICtmdWxsaGRcbiAgICAuaGFzLXRleHQtI3skYWxpZ25tZW50fS1mdWxsaGRcbiAgICAgIHRleHQtYWxpZ246ICN7JHRleHQtYWxpZ259ICFpbXBvcnRhbnRcblxuLmlzLWNhcGl0YWxpemVkXG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnRcblxuLmlzLWxvd2VyY2FzZVxuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnRcblxuLmlzLXVwcGVyY2FzZVxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnRcblxuLmlzLWl0YWxpY1xuICBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudFxuXG5AZWFjaCAkbmFtZSwgJHBhaXIgaW4gJGNvbG9yc1xuICAkY29sb3I6IG50aCgkcGFpciwgMSlcbiAgLmhhcy10ZXh0LSN7JG5hbWV9XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50XG4gIGEuaGFzLXRleHQtI3skbmFtZX1cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXNcbiAgICAgIGNvbG9yOiBidWxtYURhcmtlbigkY29sb3IsIDEwJSkgIWltcG9ydGFudFxuICAuaGFzLWJhY2tncm91bmQtI3skbmFtZX1cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudFxuXG5AZWFjaCAkbmFtZSwgJHNoYWRlIGluICRzaGFkZXNcbiAgLmhhcy10ZXh0LSN7JG5hbWV9XG4gICAgY29sb3I6ICRzaGFkZSAhaW1wb3J0YW50XG4gIC5oYXMtYmFja2dyb3VuZC0jeyRuYW1lfVxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaGFkZSAhaW1wb3J0YW50XG5cbi5oYXMtdGV4dC13ZWlnaHQtbGlnaHRcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQtbGlnaHQgIWltcG9ydGFudFxuLmhhcy10ZXh0LXdlaWdodC1ub3JtYWxcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQtbm9ybWFsICFpbXBvcnRhbnRcbi5oYXMtdGV4dC13ZWlnaHQtbWVkaXVtXG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0LW1lZGl1bSAhaW1wb3J0YW50XG4uaGFzLXRleHQtd2VpZ2h0LXNlbWlib2xkXG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0LXNlbWlib2xkICFpbXBvcnRhbnRcbi5oYXMtdGV4dC13ZWlnaHQtYm9sZFxuICBmb250LXdlaWdodDogJHdlaWdodC1ib2xkICFpbXBvcnRhbnRcblxuLmlzLWZhbWlseS1wcmltYXJ5XG4gIGZvbnQtZmFtaWx5OiAkZmFtaWx5LXByaW1hcnkgIWltcG9ydGFudFxuXG4uaXMtZmFtaWx5LXNlY29uZGFyeVxuICBmb250LWZhbWlseTogJGZhbWlseS1zZWNvbmRhcnkgIWltcG9ydGFudFxuXG4uaXMtZmFtaWx5LXNhbnMtc2VyaWZcbiAgZm9udC1mYW1pbHk6ICRmYW1pbHktc2Fucy1zZXJpZiAhaW1wb3J0YW50XG5cbi5pcy1mYW1pbHktbW9ub3NwYWNlXG4gIGZvbnQtZmFtaWx5OiAkZmFtaWx5LW1vbm9zcGFjZSAhaW1wb3J0YW50XG5cbi5pcy1mYW1pbHktY29kZVxuICBmb250LWZhbWlseTogJGZhbWlseS1jb2RlICFpbXBvcnRhbnRcblxuLy8gVmlzaWJpbGl0eVxuXG4kZGlzcGxheXM6ICdibG9jaycgJ2ZsZXgnICdpbmxpbmUnICdpbmxpbmUtYmxvY2snICdpbmxpbmUtZmxleCdcblxuQGVhY2ggJGRpc3BsYXkgaW4gJGRpc3BsYXlzXG4gIC5pcy0jeyRkaXNwbGF5fVxuICAgIGRpc3BsYXk6ICN7JGRpc3BsYXl9ICFpbXBvcnRhbnRcbiAgK21vYmlsZVxuICAgIC5pcy0jeyRkaXNwbGF5fS1tb2JpbGVcbiAgICAgIGRpc3BsYXk6ICN7JGRpc3BsYXl9ICFpbXBvcnRhbnRcbiAgK3RhYmxldFxuICAgIC5pcy0jeyRkaXNwbGF5fS10YWJsZXRcbiAgICAgIGRpc3BsYXk6ICN7JGRpc3BsYXl9ICFpbXBvcnRhbnRcbiAgK3RhYmxldC1vbmx5XG4gICAgLmlzLSN7JGRpc3BsYXl9LXRhYmxldC1vbmx5XG4gICAgICBkaXNwbGF5OiAjeyRkaXNwbGF5fSAhaW1wb3J0YW50XG4gICt0b3VjaFxuICAgIC5pcy0jeyRkaXNwbGF5fS10b3VjaFxuICAgICAgZGlzcGxheTogI3skZGlzcGxheX0gIWltcG9ydGFudFxuICArZGVza3RvcFxuICAgIC5pcy0jeyRkaXNwbGF5fS1kZXNrdG9wXG4gICAgICBkaXNwbGF5OiAjeyRkaXNwbGF5fSAhaW1wb3J0YW50XG4gICtkZXNrdG9wLW9ubHlcbiAgICAuaXMtI3skZGlzcGxheX0tZGVza3RvcC1vbmx5XG4gICAgICBkaXNwbGF5OiAjeyRkaXNwbGF5fSAhaW1wb3J0YW50XG4gICt3aWRlc2NyZWVuXG4gICAgLmlzLSN7JGRpc3BsYXl9LXdpZGVzY3JlZW5cbiAgICAgIGRpc3BsYXk6ICN7JGRpc3BsYXl9ICFpbXBvcnRhbnRcbiAgK3dpZGVzY3JlZW4tb25seVxuICAgIC5pcy0jeyRkaXNwbGF5fS13aWRlc2NyZWVuLW9ubHlcbiAgICAgIGRpc3BsYXk6ICN7JGRpc3BsYXl9ICFpbXBvcnRhbnRcbiAgK2Z1bGxoZFxuICAgIC5pcy0jeyRkaXNwbGF5fS1mdWxsaGRcbiAgICAgIGRpc3BsYXk6ICN7JGRpc3BsYXl9ICFpbXBvcnRhbnRcblxuLmlzLWhpZGRlblxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnRcblxuLmlzLXNyLW9ubHlcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnRcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50XG4gIGhlaWdodDogMC4wMWVtICFpbXBvcnRhbnRcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudFxuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudFxuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnRcbiAgd2lkdGg6IDAuMDFlbSAhaW1wb3J0YW50XG5cbittb2JpbGVcbiAgLmlzLWhpZGRlbi1tb2JpbGVcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnRcblxuK3RhYmxldFxuICAuaXMtaGlkZGVuLXRhYmxldFxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudFxuXG4rdGFibGV0LW9ubHlcbiAgLmlzLWhpZGRlbi10YWJsZXQtb25seVxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudFxuXG4rdG91Y2hcbiAgLmlzLWhpZGRlbi10b3VjaFxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudFxuXG4rZGVza3RvcFxuICAuaXMtaGlkZGVuLWRlc2t0b3BcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnRcblxuK2Rlc2t0b3Atb25seVxuICAuaXMtaGlkZGVuLWRlc2t0b3Atb25seVxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudFxuXG4rd2lkZXNjcmVlblxuICAuaXMtaGlkZGVuLXdpZGVzY3JlZW5cbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnRcblxuK3dpZGVzY3JlZW4tb25seVxuICAuaXMtaGlkZGVuLXdpZGVzY3JlZW4tb25seVxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudFxuXG4rZnVsbGhkXG4gIC5pcy1oaWRkZW4tZnVsbGhkXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50XG5cbi5pcy1pbnZpc2libGVcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnRcblxuK21vYmlsZVxuICAuaXMtaW52aXNpYmxlLW1vYmlsZVxuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50XG5cbit0YWJsZXRcbiAgLmlzLWludmlzaWJsZS10YWJsZXRcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudFxuXG4rdGFibGV0LW9ubHlcbiAgLmlzLWludmlzaWJsZS10YWJsZXQtb25seVxuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50XG5cbit0b3VjaFxuICAuaXMtaW52aXNpYmxlLXRvdWNoXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnRcblxuK2Rlc2t0b3BcbiAgLmlzLWludmlzaWJsZS1kZXNrdG9wXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnRcblxuK2Rlc2t0b3Atb25seVxuICAuaXMtaW52aXNpYmxlLWRlc2t0b3Atb25seVxuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50XG5cbit3aWRlc2NyZWVuXG4gIC5pcy1pbnZpc2libGUtd2lkZXNjcmVlblxuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50XG5cbit3aWRlc2NyZWVuLW9ubHlcbiAgLmlzLWludmlzaWJsZS13aWRlc2NyZWVuLW9ubHlcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudFxuXG4rZnVsbGhkXG4gIC5pcy1pbnZpc2libGUtZnVsbGhkXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnRcblxuLy8gT3RoZXJcblxuLmlzLW1hcmdpbmxlc3NcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnRcblxuLmlzLXBhZGRpbmdsZXNzXG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudFxuXG4uaXMtcmFkaXVzbGVzc1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnRcblxuLmlzLXNoYWRvd2xlc3NcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50XG5cbi5pcy11bnNlbGVjdGFibGVcbiAgQGV4dGVuZCAldW5zZWxlY3RhYmxlXG5cbi5pcy1yZWxhdGl2ZVxuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudFxuIiwiJGNvbHVtbi1nYXA6IDAuNzVyZW0gIWRlZmF1bHRcblxuLmNvbHVtblxuICBkaXNwbGF5OiBibG9ja1xuICBmbGV4LWJhc2lzOiAwXG4gIGZsZXgtZ3JvdzogMVxuICBmbGV4LXNocmluazogMVxuICBwYWRkaW5nOiAkY29sdW1uLWdhcFxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLW5hcnJvd1xuICAgIGZsZXg6IG5vbmVcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy1mdWxsXG4gICAgZmxleDogbm9uZVxuICAgIHdpZHRoOiAxMDAlXG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtdGhyZWUtcXVhcnRlcnNcbiAgICBmbGV4OiBub25lXG4gICAgd2lkdGg6IDc1JVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLXR3by10aGlyZHNcbiAgICBmbGV4OiBub25lXG4gICAgd2lkdGg6IDY2LjY2NjYlXG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtaGFsZlxuICAgIGZsZXg6IG5vbmVcbiAgICB3aWR0aDogNTAlXG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtb25lLXRoaXJkXG4gICAgZmxleDogbm9uZVxuICAgIHdpZHRoOiAzMy4zMzMzJVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLW9uZS1xdWFydGVyXG4gICAgZmxleDogbm9uZVxuICAgIHdpZHRoOiAyNSVcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy1vbmUtZmlmdGhcbiAgICBmbGV4OiBub25lXG4gICAgd2lkdGg6IDIwJVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLXR3by1maWZ0aHNcbiAgICBmbGV4OiBub25lXG4gICAgd2lkdGg6IDQwJVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLXRocmVlLWZpZnRoc1xuICAgIGZsZXg6IG5vbmVcbiAgICB3aWR0aDogNjAlXG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtZm91ci1maWZ0aHNcbiAgICBmbGV4OiBub25lXG4gICAgd2lkdGg6IDgwJVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLW9mZnNldC10aHJlZS1xdWFydGVyc1xuICAgIG1hcmdpbi1sZWZ0OiA3NSVcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy1vZmZzZXQtdHdvLXRoaXJkc1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2JVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLW9mZnNldC1oYWxmXG4gICAgbWFyZ2luLWxlZnQ6IDUwJVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLW9mZnNldC1vbmUtdGhpcmRcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMyVcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy1vZmZzZXQtb25lLXF1YXJ0ZXJcbiAgICBtYXJnaW4tbGVmdDogMjUlXG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtb2Zmc2V0LW9uZS1maWZ0aFxuICAgIG1hcmdpbi1sZWZ0OiAyMCVcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy1vZmZzZXQtdHdvLWZpZnRoc1xuICAgIG1hcmdpbi1sZWZ0OiA0MCVcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy1vZmZzZXQtdGhyZWUtZmlmdGhzXG4gICAgbWFyZ2luLWxlZnQ6IDYwJVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLW9mZnNldC1mb3VyLWZpZnRoc1xuICAgIG1hcmdpbi1sZWZ0OiA4MCVcbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAxMlxuICAgIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtI3skaX1cbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCRpIC8gMTIpXG4gICAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy1vZmZzZXQtI3skaX1cbiAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCRpIC8gMTIpXG4gICttb2JpbGVcbiAgICAmLmlzLW5hcnJvdy1tb2JpbGVcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAmLmlzLWZ1bGwtbW9iaWxlXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMTAwJVxuICAgICYuaXMtdGhyZWUtcXVhcnRlcnMtbW9iaWxlXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNzUlXG4gICAgJi5pcy10d28tdGhpcmRzLW1vYmlsZVxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDY2LjY2NjYlXG4gICAgJi5pcy1oYWxmLW1vYmlsZVxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDUwJVxuICAgICYuaXMtb25lLXRoaXJkLW1vYmlsZVxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDMzLjMzMzMlXG4gICAgJi5pcy1vbmUtcXVhcnRlci1tb2JpbGVcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAyNSVcbiAgICAmLmlzLW9uZS1maWZ0aC1tb2JpbGVcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAyMCVcbiAgICAmLmlzLXR3by1maWZ0aHMtbW9iaWxlXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNDAlXG4gICAgJi5pcy10aHJlZS1maWZ0aHMtbW9iaWxlXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNjAlXG4gICAgJi5pcy1mb3VyLWZpZnRocy1tb2JpbGVcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA4MCVcbiAgICAmLmlzLW9mZnNldC10aHJlZS1xdWFydGVycy1tb2JpbGVcbiAgICAgIG1hcmdpbi1sZWZ0OiA3NSVcbiAgICAmLmlzLW9mZnNldC10d28tdGhpcmRzLW1vYmlsZVxuICAgICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjYlXG4gICAgJi5pcy1vZmZzZXQtaGFsZi1tb2JpbGVcbiAgICAgIG1hcmdpbi1sZWZ0OiA1MCVcbiAgICAmLmlzLW9mZnNldC1vbmUtdGhpcmQtbW9iaWxlXG4gICAgICBtYXJnaW4tbGVmdDogMzMuMzMzMyVcbiAgICAmLmlzLW9mZnNldC1vbmUtcXVhcnRlci1tb2JpbGVcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNSVcbiAgICAmLmlzLW9mZnNldC1vbmUtZmlmdGgtbW9iaWxlXG4gICAgICBtYXJnaW4tbGVmdDogMjAlXG4gICAgJi5pcy1vZmZzZXQtdHdvLWZpZnRocy1tb2JpbGVcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MCVcbiAgICAmLmlzLW9mZnNldC10aHJlZS1maWZ0aHMtbW9iaWxlXG4gICAgICBtYXJnaW4tbGVmdDogNjAlXG4gICAgJi5pcy1vZmZzZXQtZm91ci1maWZ0aHMtbW9iaWxlXG4gICAgICBtYXJnaW4tbGVmdDogODAlXG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAxMlxuICAgICAgJi5pcy0jeyRpfS1tb2JpbGVcbiAgICAgICAgZmxleDogbm9uZVxuICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgkaSAvIDEyKVxuICAgICAgJi5pcy1vZmZzZXQtI3skaX0tbW9iaWxlXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCRpIC8gMTIpXG4gICt0YWJsZXRcbiAgICAmLmlzLW5hcnJvdyxcbiAgICAmLmlzLW5hcnJvdy10YWJsZXRcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAmLmlzLWZ1bGwsXG4gICAgJi5pcy1mdWxsLXRhYmxldFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDEwMCVcbiAgICAmLmlzLXRocmVlLXF1YXJ0ZXJzLFxuICAgICYuaXMtdGhyZWUtcXVhcnRlcnMtdGFibGV0XG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNzUlXG4gICAgJi5pcy10d28tdGhpcmRzLFxuICAgICYuaXMtdHdvLXRoaXJkcy10YWJsZXRcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA2Ni42NjY2JVxuICAgICYuaXMtaGFsZixcbiAgICAmLmlzLWhhbGYtdGFibGV0XG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNTAlXG4gICAgJi5pcy1vbmUtdGhpcmQsXG4gICAgJi5pcy1vbmUtdGhpcmQtdGFibGV0XG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMzMuMzMzMyVcbiAgICAmLmlzLW9uZS1xdWFydGVyLFxuICAgICYuaXMtb25lLXF1YXJ0ZXItdGFibGV0XG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMjUlXG4gICAgJi5pcy1vbmUtZmlmdGgsXG4gICAgJi5pcy1vbmUtZmlmdGgtdGFibGV0XG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMjAlXG4gICAgJi5pcy10d28tZmlmdGhzLFxuICAgICYuaXMtdHdvLWZpZnRocy10YWJsZXRcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA0MCVcbiAgICAmLmlzLXRocmVlLWZpZnRocyxcbiAgICAmLmlzLXRocmVlLWZpZnRocy10YWJsZXRcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA2MCVcbiAgICAmLmlzLWZvdXItZmlmdGhzLFxuICAgICYuaXMtZm91ci1maWZ0aHMtdGFibGV0XG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogODAlXG4gICAgJi5pcy1vZmZzZXQtdGhyZWUtcXVhcnRlcnMsXG4gICAgJi5pcy1vZmZzZXQtdGhyZWUtcXVhcnRlcnMtdGFibGV0XG4gICAgICBtYXJnaW4tbGVmdDogNzUlXG4gICAgJi5pcy1vZmZzZXQtdHdvLXRoaXJkcyxcbiAgICAmLmlzLW9mZnNldC10d28tdGhpcmRzLXRhYmxldFxuICAgICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjYlXG4gICAgJi5pcy1vZmZzZXQtaGFsZixcbiAgICAmLmlzLW9mZnNldC1oYWxmLXRhYmxldFxuICAgICAgbWFyZ2luLWxlZnQ6IDUwJVxuICAgICYuaXMtb2Zmc2V0LW9uZS10aGlyZCxcbiAgICAmLmlzLW9mZnNldC1vbmUtdGhpcmQtdGFibGV0XG4gICAgICBtYXJnaW4tbGVmdDogMzMuMzMzMyVcbiAgICAmLmlzLW9mZnNldC1vbmUtcXVhcnRlcixcbiAgICAmLmlzLW9mZnNldC1vbmUtcXVhcnRlci10YWJsZXRcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNSVcbiAgICAmLmlzLW9mZnNldC1vbmUtZmlmdGgsXG4gICAgJi5pcy1vZmZzZXQtb25lLWZpZnRoLXRhYmxldFxuICAgICAgbWFyZ2luLWxlZnQ6IDIwJVxuICAgICYuaXMtb2Zmc2V0LXR3by1maWZ0aHMsXG4gICAgJi5pcy1vZmZzZXQtdHdvLWZpZnRocy10YWJsZXRcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MCVcbiAgICAmLmlzLW9mZnNldC10aHJlZS1maWZ0aHMsXG4gICAgJi5pcy1vZmZzZXQtdGhyZWUtZmlmdGhzLXRhYmxldFxuICAgICAgbWFyZ2luLWxlZnQ6IDYwJVxuICAgICYuaXMtb2Zmc2V0LWZvdXItZmlmdGhzLFxuICAgICYuaXMtb2Zmc2V0LWZvdXItZmlmdGhzLXRhYmxldFxuICAgICAgbWFyZ2luLWxlZnQ6IDgwJVxuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMTJcbiAgICAgICYuaXMtI3skaX0sXG4gICAgICAmLmlzLSN7JGl9LXRhYmxldFxuICAgICAgICBmbGV4OiBub25lXG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCRpIC8gMTIpXG4gICAgICAmLmlzLW9mZnNldC0jeyRpfSxcbiAgICAgICYuaXMtb2Zmc2V0LSN7JGl9LXRhYmxldFxuICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgkaSAvIDEyKVxuICArdG91Y2hcbiAgICAmLmlzLW5hcnJvdy10b3VjaFxuICAgICAgZmxleDogbm9uZVxuICAgICYuaXMtZnVsbC10b3VjaFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDEwMCVcbiAgICAmLmlzLXRocmVlLXF1YXJ0ZXJzLXRvdWNoXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNzUlXG4gICAgJi5pcy10d28tdGhpcmRzLXRvdWNoXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNjYuNjY2NiVcbiAgICAmLmlzLWhhbGYtdG91Y2hcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA1MCVcbiAgICAmLmlzLW9uZS10aGlyZC10b3VjaFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDMzLjMzMzMlXG4gICAgJi5pcy1vbmUtcXVhcnRlci10b3VjaFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDI1JVxuICAgICYuaXMtb25lLWZpZnRoLXRvdWNoXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMjAlXG4gICAgJi5pcy10d28tZmlmdGhzLXRvdWNoXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNDAlXG4gICAgJi5pcy10aHJlZS1maWZ0aHMtdG91Y2hcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA2MCVcbiAgICAmLmlzLWZvdXItZmlmdGhzLXRvdWNoXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogODAlXG4gICAgJi5pcy1vZmZzZXQtdGhyZWUtcXVhcnRlcnMtdG91Y2hcbiAgICAgIG1hcmdpbi1sZWZ0OiA3NSVcbiAgICAmLmlzLW9mZnNldC10d28tdGhpcmRzLXRvdWNoXG4gICAgICBtYXJnaW4tbGVmdDogNjYuNjY2NiVcbiAgICAmLmlzLW9mZnNldC1oYWxmLXRvdWNoXG4gICAgICBtYXJnaW4tbGVmdDogNTAlXG4gICAgJi5pcy1vZmZzZXQtb25lLXRoaXJkLXRvdWNoXG4gICAgICBtYXJnaW4tbGVmdDogMzMuMzMzMyVcbiAgICAmLmlzLW9mZnNldC1vbmUtcXVhcnRlci10b3VjaFxuICAgICAgbWFyZ2luLWxlZnQ6IDI1JVxuICAgICYuaXMtb2Zmc2V0LW9uZS1maWZ0aC10b3VjaFxuICAgICAgbWFyZ2luLWxlZnQ6IDIwJVxuICAgICYuaXMtb2Zmc2V0LXR3by1maWZ0aHMtdG91Y2hcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MCVcbiAgICAmLmlzLW9mZnNldC10aHJlZS1maWZ0aHMtdG91Y2hcbiAgICAgIG1hcmdpbi1sZWZ0OiA2MCVcbiAgICAmLmlzLW9mZnNldC1mb3VyLWZpZnRocy10b3VjaFxuICAgICAgbWFyZ2luLWxlZnQ6IDgwJVxuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMTJcbiAgICAgICYuaXMtI3skaX0tdG91Y2hcbiAgICAgICAgZmxleDogbm9uZVxuICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgkaSAvIDEyKVxuICAgICAgJi5pcy1vZmZzZXQtI3skaX0tdG91Y2hcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoJGkgLyAxMilcbiAgK2Rlc2t0b3BcbiAgICAmLmlzLW5hcnJvdy1kZXNrdG9wXG4gICAgICBmbGV4OiBub25lXG4gICAgJi5pcy1mdWxsLWRlc2t0b3BcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAxMDAlXG4gICAgJi5pcy10aHJlZS1xdWFydGVycy1kZXNrdG9wXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNzUlXG4gICAgJi5pcy10d28tdGhpcmRzLWRlc2t0b3BcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA2Ni42NjY2JVxuICAgICYuaXMtaGFsZi1kZXNrdG9wXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNTAlXG4gICAgJi5pcy1vbmUtdGhpcmQtZGVza3RvcFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDMzLjMzMzMlXG4gICAgJi5pcy1vbmUtcXVhcnRlci1kZXNrdG9wXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMjUlXG4gICAgJi5pcy1vbmUtZmlmdGgtZGVza3RvcFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDIwJVxuICAgICYuaXMtdHdvLWZpZnRocy1kZXNrdG9wXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNDAlXG4gICAgJi5pcy10aHJlZS1maWZ0aHMtZGVza3RvcFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDYwJVxuICAgICYuaXMtZm91ci1maWZ0aHMtZGVza3RvcFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDgwJVxuICAgICYuaXMtb2Zmc2V0LXRocmVlLXF1YXJ0ZXJzLWRlc2t0b3BcbiAgICAgIG1hcmdpbi1sZWZ0OiA3NSVcbiAgICAmLmlzLW9mZnNldC10d28tdGhpcmRzLWRlc2t0b3BcbiAgICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2JVxuICAgICYuaXMtb2Zmc2V0LWhhbGYtZGVza3RvcFxuICAgICAgbWFyZ2luLWxlZnQ6IDUwJVxuICAgICYuaXMtb2Zmc2V0LW9uZS10aGlyZC1kZXNrdG9wXG4gICAgICBtYXJnaW4tbGVmdDogMzMuMzMzMyVcbiAgICAmLmlzLW9mZnNldC1vbmUtcXVhcnRlci1kZXNrdG9wXG4gICAgICBtYXJnaW4tbGVmdDogMjUlXG4gICAgJi5pcy1vZmZzZXQtb25lLWZpZnRoLWRlc2t0b3BcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMCVcbiAgICAmLmlzLW9mZnNldC10d28tZmlmdGhzLWRlc2t0b3BcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MCVcbiAgICAmLmlzLW9mZnNldC10aHJlZS1maWZ0aHMtZGVza3RvcFxuICAgICAgbWFyZ2luLWxlZnQ6IDYwJVxuICAgICYuaXMtb2Zmc2V0LWZvdXItZmlmdGhzLWRlc2t0b3BcbiAgICAgIG1hcmdpbi1sZWZ0OiA4MCVcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIDEyXG4gICAgICAmLmlzLSN7JGl9LWRlc2t0b3BcbiAgICAgICAgZmxleDogbm9uZVxuICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgkaSAvIDEyKVxuICAgICAgJi5pcy1vZmZzZXQtI3skaX0tZGVza3RvcFxuICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgkaSAvIDEyKVxuICArd2lkZXNjcmVlblxuICAgICYuaXMtbmFycm93LXdpZGVzY3JlZW5cbiAgICAgIGZsZXg6IG5vbmVcbiAgICAmLmlzLWZ1bGwtd2lkZXNjcmVlblxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDEwMCVcbiAgICAmLmlzLXRocmVlLXF1YXJ0ZXJzLXdpZGVzY3JlZW5cbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA3NSVcbiAgICAmLmlzLXR3by10aGlyZHMtd2lkZXNjcmVlblxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDY2LjY2NjYlXG4gICAgJi5pcy1oYWxmLXdpZGVzY3JlZW5cbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA1MCVcbiAgICAmLmlzLW9uZS10aGlyZC13aWRlc2NyZWVuXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMzMuMzMzMyVcbiAgICAmLmlzLW9uZS1xdWFydGVyLXdpZGVzY3JlZW5cbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAyNSVcbiAgICAmLmlzLW9uZS1maWZ0aC13aWRlc2NyZWVuXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMjAlXG4gICAgJi5pcy10d28tZmlmdGhzLXdpZGVzY3JlZW5cbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA0MCVcbiAgICAmLmlzLXRocmVlLWZpZnRocy13aWRlc2NyZWVuXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNjAlXG4gICAgJi5pcy1mb3VyLWZpZnRocy13aWRlc2NyZWVuXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogODAlXG4gICAgJi5pcy1vZmZzZXQtdGhyZWUtcXVhcnRlcnMtd2lkZXNjcmVlblxuICAgICAgbWFyZ2luLWxlZnQ6IDc1JVxuICAgICYuaXMtb2Zmc2V0LXR3by10aGlyZHMtd2lkZXNjcmVlblxuICAgICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjYlXG4gICAgJi5pcy1vZmZzZXQtaGFsZi13aWRlc2NyZWVuXG4gICAgICBtYXJnaW4tbGVmdDogNTAlXG4gICAgJi5pcy1vZmZzZXQtb25lLXRoaXJkLXdpZGVzY3JlZW5cbiAgICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzJVxuICAgICYuaXMtb2Zmc2V0LW9uZS1xdWFydGVyLXdpZGVzY3JlZW5cbiAgICAgIG1hcmdpbi1sZWZ0OiAyNSVcbiAgICAmLmlzLW9mZnNldC1vbmUtZmlmdGgtd2lkZXNjcmVlblxuICAgICAgbWFyZ2luLWxlZnQ6IDIwJVxuICAgICYuaXMtb2Zmc2V0LXR3by1maWZ0aHMtd2lkZXNjcmVlblxuICAgICAgbWFyZ2luLWxlZnQ6IDQwJVxuICAgICYuaXMtb2Zmc2V0LXRocmVlLWZpZnRocy13aWRlc2NyZWVuXG4gICAgICBtYXJnaW4tbGVmdDogNjAlXG4gICAgJi5pcy1vZmZzZXQtZm91ci1maWZ0aHMtd2lkZXNjcmVlblxuICAgICAgbWFyZ2luLWxlZnQ6IDgwJVxuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMTJcbiAgICAgICYuaXMtI3skaX0td2lkZXNjcmVlblxuICAgICAgICBmbGV4OiBub25lXG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCRpIC8gMTIpXG4gICAgICAmLmlzLW9mZnNldC0jeyRpfS13aWRlc2NyZWVuXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCRpIC8gMTIpXG4gICtmdWxsaGRcbiAgICAmLmlzLW5hcnJvdy1mdWxsaGRcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAmLmlzLWZ1bGwtZnVsbGhkXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMTAwJVxuICAgICYuaXMtdGhyZWUtcXVhcnRlcnMtZnVsbGhkXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNzUlXG4gICAgJi5pcy10d28tdGhpcmRzLWZ1bGxoZFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDY2LjY2NjYlXG4gICAgJi5pcy1oYWxmLWZ1bGxoZFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDUwJVxuICAgICYuaXMtb25lLXRoaXJkLWZ1bGxoZFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDMzLjMzMzMlXG4gICAgJi5pcy1vbmUtcXVhcnRlci1mdWxsaGRcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAyNSVcbiAgICAmLmlzLW9uZS1maWZ0aC1mdWxsaGRcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAyMCVcbiAgICAmLmlzLXR3by1maWZ0aHMtZnVsbGhkXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNDAlXG4gICAgJi5pcy10aHJlZS1maWZ0aHMtZnVsbGhkXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNjAlXG4gICAgJi5pcy1mb3VyLWZpZnRocy1mdWxsaGRcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA4MCVcbiAgICAmLmlzLW9mZnNldC10aHJlZS1xdWFydGVycy1mdWxsaGRcbiAgICAgIG1hcmdpbi1sZWZ0OiA3NSVcbiAgICAmLmlzLW9mZnNldC10d28tdGhpcmRzLWZ1bGxoZFxuICAgICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjYlXG4gICAgJi5pcy1vZmZzZXQtaGFsZi1mdWxsaGRcbiAgICAgIG1hcmdpbi1sZWZ0OiA1MCVcbiAgICAmLmlzLW9mZnNldC1vbmUtdGhpcmQtZnVsbGhkXG4gICAgICBtYXJnaW4tbGVmdDogMzMuMzMzMyVcbiAgICAmLmlzLW9mZnNldC1vbmUtcXVhcnRlci1mdWxsaGRcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNSVcbiAgICAmLmlzLW9mZnNldC1vbmUtZmlmdGgtZnVsbGhkXG4gICAgICBtYXJnaW4tbGVmdDogMjAlXG4gICAgJi5pcy1vZmZzZXQtdHdvLWZpZnRocy1mdWxsaGRcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MCVcbiAgICAmLmlzLW9mZnNldC10aHJlZS1maWZ0aHMtZnVsbGhkXG4gICAgICBtYXJnaW4tbGVmdDogNjAlXG4gICAgJi5pcy1vZmZzZXQtZm91ci1maWZ0aHMtZnVsbGhkXG4gICAgICBtYXJnaW4tbGVmdDogODAlXG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAxMlxuICAgICAgJi5pcy0jeyRpfS1mdWxsaGRcbiAgICAgICAgZmxleDogbm9uZVxuICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgkaSAvIDEyKVxuICAgICAgJi5pcy1vZmZzZXQtI3skaX0tZnVsbGhkXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCRpIC8gMTIpXG5cbi5jb2x1bW5zXG4gIG1hcmdpbi1sZWZ0OiAoLSRjb2x1bW4tZ2FwKVxuICBtYXJnaW4tcmlnaHQ6ICgtJGNvbHVtbi1nYXApXG4gIG1hcmdpbi10b3A6ICgtJGNvbHVtbi1nYXApXG4gICY6bGFzdC1jaGlsZFxuICAgIG1hcmdpbi1ib3R0b206ICgtJGNvbHVtbi1nYXApXG4gICY6bm90KDpsYXN0LWNoaWxkKVxuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMS41cmVtIC0gI3skY29sdW1uLWdhcH0pXG4gIC8vIE1vZGlmaWVyc1xuICAmLmlzLWNlbnRlcmVkXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXJcbiAgJi5pcy1nYXBsZXNzXG4gICAgbWFyZ2luLWxlZnQ6IDBcbiAgICBtYXJnaW4tcmlnaHQ6IDBcbiAgICBtYXJnaW4tdG9wOiAwXG4gICAgJiA+IC5jb2x1bW5cbiAgICAgIG1hcmdpbjogMFxuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpXG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW1cbiAgICAmOmxhc3QtY2hpbGRcbiAgICAgIG1hcmdpbi1ib3R0b206IDBcbiAgJi5pcy1tb2JpbGVcbiAgICBkaXNwbGF5OiBmbGV4XG4gICYuaXMtbXVsdGlsaW5lXG4gICAgZmxleC13cmFwOiB3cmFwXG4gICYuaXMtdmNlbnRlcmVkXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlclxuICAvLyBSZXNwb25zaXZlbmVzc1xuICArdGFibGV0XG4gICAgJjpub3QoLmlzLWRlc2t0b3ApXG4gICAgICBkaXNwbGF5OiBmbGV4XG4gICtkZXNrdG9wXG4gICAgLy8gTW9kaWZpZXJzXG4gICAgJi5pcy1kZXNrdG9wXG4gICAgICBkaXNwbGF5OiBmbGV4XG5cbkBpZiAkdmFyaWFibGUtY29sdW1uc1xuICAuY29sdW1ucy5pcy12YXJpYWJsZVxuICAgIC0tY29sdW1uR2FwOiAwLjc1cmVtXG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1jb2x1bW5HYXApKVxuICAgIG1hcmdpbi1yaWdodDogY2FsYygtMSAqIHZhcigtLWNvbHVtbkdhcCkpXG4gICAgLmNvbHVtblxuICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1jb2x1bW5HYXApXG4gICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jb2x1bW5HYXApXG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCA4XG4gICAgICAmLmlzLSN7JGl9XG4gICAgICAgIC0tY29sdW1uR2FwOiAjeyRpICogMC4yNXJlbX1cbiAgICAgICttb2JpbGVcbiAgICAgICAgJi5pcy0jeyRpfS1tb2JpbGVcbiAgICAgICAgICAtLWNvbHVtbkdhcDogI3skaSAqIDAuMjVyZW19XG4gICAgICArdGFibGV0XG4gICAgICAgICYuaXMtI3skaX0tdGFibGV0XG4gICAgICAgICAgLS1jb2x1bW5HYXA6ICN7JGkgKiAwLjI1cmVtfVxuICAgICAgK3RhYmxldC1vbmx5XG4gICAgICAgICYuaXMtI3skaX0tdGFibGV0LW9ubHlcbiAgICAgICAgICAtLWNvbHVtbkdhcDogI3skaSAqIDAuMjVyZW19XG4gICAgICArdG91Y2hcbiAgICAgICAgJi5pcy0jeyRpfS10b3VjaFxuICAgICAgICAgIC0tY29sdW1uR2FwOiAjeyRpICogMC4yNXJlbX1cbiAgICAgICtkZXNrdG9wXG4gICAgICAgICYuaXMtI3skaX0tZGVza3RvcFxuICAgICAgICAgIC0tY29sdW1uR2FwOiAjeyRpICogMC4yNXJlbX1cbiAgICAgICtkZXNrdG9wLW9ubHlcbiAgICAgICAgJi5pcy0jeyRpfS1kZXNrdG9wLW9ubHlcbiAgICAgICAgICAtLWNvbHVtbkdhcDogI3skaSAqIDAuMjVyZW19XG4gICAgICArd2lkZXNjcmVlblxuICAgICAgICAmLmlzLSN7JGl9LXdpZGVzY3JlZW5cbiAgICAgICAgICAtLWNvbHVtbkdhcDogI3skaSAqIDAuMjVyZW19XG4gICAgICArd2lkZXNjcmVlbi1vbmx5XG4gICAgICAgICYuaXMtI3skaX0td2lkZXNjcmVlbi1vbmx5XG4gICAgICAgICAgLS1jb2x1bW5HYXA6ICN7JGkgKiAwLjI1cmVtfVxuICAgICAgK2Z1bGxoZFxuICAgICAgICAmLmlzLSN7JGl9LWZ1bGxoZFxuICAgICAgICAgIC0tY29sdW1uR2FwOiAjeyRpICogMC4yNXJlbX1cbiIsIiR0aWxlLXNwYWNpbmc6IDAuNzVyZW0gIWRlZmF1bHRcblxuLnRpbGVcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2hcbiAgZGlzcGxheTogYmxvY2tcbiAgZmxleC1iYXNpczogMFxuICBmbGV4LWdyb3c6IDFcbiAgZmxleC1zaHJpbms6IDFcbiAgbWluLWhlaWdodDogbWluLWNvbnRlbnRcbiAgLy8gTW9kaWZpZXJzXG4gICYuaXMtYW5jZXN0b3JcbiAgICBtYXJnaW4tbGVmdDogJHRpbGUtc3BhY2luZyAqIC0xXG4gICAgbWFyZ2luLXJpZ2h0OiAkdGlsZS1zcGFjaW5nICogLTFcbiAgICBtYXJnaW4tdG9wOiAkdGlsZS1zcGFjaW5nICogLTFcbiAgICAmOmxhc3QtY2hpbGRcbiAgICAgIG1hcmdpbi1ib3R0b206ICR0aWxlLXNwYWNpbmcgKiAtMVxuICAgICY6bm90KDpsYXN0LWNoaWxkKVxuICAgICAgbWFyZ2luLWJvdHRvbTogJHRpbGUtc3BhY2luZ1xuICAmLmlzLWNoaWxkXG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnRcbiAgJi5pcy1wYXJlbnRcbiAgICBwYWRkaW5nOiAkdGlsZS1zcGFjaW5nXG4gICYuaXMtdmVydGljYWxcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uXG4gICAgJiA+IC50aWxlLmlzLWNoaWxkOm5vdCg6bGFzdC1jaGlsZClcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50XG4gIC8vIFJlc3BvbnNpdmVuZXNzXG4gICt0YWJsZXRcbiAgICAmOm5vdCguaXMtY2hpbGQpXG4gICAgICBkaXNwbGF5OiBmbGV4XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxMlxuICAgICAgJi5pcy0jeyRpfVxuICAgICAgICBmbGV4OiBub25lXG4gICAgICAgIHdpZHRoOiAoJGkgLyAxMikgKiAxMDAlXG4iLCIkbmF2YmFyLWJhY2tncm91bmQtY29sb3I6ICRzY2hlbWUtbWFpbiAhZGVmYXVsdFxuJG5hdmJhci1ib3gtc2hhZG93LXNpemU6IDAgMnB4IDAgMCAhZGVmYXVsdFxuJG5hdmJhci1ib3gtc2hhZG93LWNvbG9yOiAkYmFja2dyb3VuZCAhZGVmYXVsdFxuJG5hdmJhci1oZWlnaHQ6IDMuMjVyZW0gIWRlZmF1bHRcbiRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbDogMXJlbSAhZGVmYXVsdFxuJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw6IDJyZW0gIWRlZmF1bHRcbiRuYXZiYXItejogMzAgIWRlZmF1bHRcbiRuYXZiYXItZml4ZWQtejogMzAgIWRlZmF1bHRcblxuJG5hdmJhci1pdGVtLWNvbG9yOiAkdGV4dCAhZGVmYXVsdFxuJG5hdmJhci1pdGVtLWhvdmVyLWNvbG9yOiAkbGluayAhZGVmYXVsdFxuJG5hdmJhci1pdGVtLWhvdmVyLWJhY2tncm91bmQtY29sb3I6ICRzY2hlbWUtbWFpbi1iaXMgIWRlZmF1bHRcbiRuYXZiYXItaXRlbS1hY3RpdmUtY29sb3I6ICRzY2hlbWUtaW52ZXJ0ICFkZWZhdWx0XG4kbmF2YmFyLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFkZWZhdWx0XG4kbmF2YmFyLWl0ZW0taW1nLW1heC1oZWlnaHQ6IDEuNzVyZW0gIWRlZmF1bHRcblxuJG5hdmJhci1idXJnZXItY29sb3I6ICRuYXZiYXItaXRlbS1jb2xvciAhZGVmYXVsdFxuXG4kbmF2YmFyLXRhYi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdFxuJG5hdmJhci10YWItaG92ZXItYm9yZGVyLWJvdHRvbS1jb2xvcjogJGxpbmsgIWRlZmF1bHRcbiRuYXZiYXItdGFiLWFjdGl2ZS1jb2xvcjogJGxpbmsgIWRlZmF1bHRcbiRuYXZiYXItdGFiLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdFxuJG5hdmJhci10YWItYWN0aXZlLWJvcmRlci1ib3R0b20tY29sb3I6ICRsaW5rICFkZWZhdWx0XG4kbmF2YmFyLXRhYi1hY3RpdmUtYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQgIWRlZmF1bHRcbiRuYXZiYXItdGFiLWFjdGl2ZS1ib3JkZXItYm90dG9tLXdpZHRoOiAzcHggIWRlZmF1bHRcblxuJG5hdmJhci1kcm9wZG93bi1iYWNrZ3JvdW5kLWNvbG9yOiAkc2NoZW1lLW1haW4gIWRlZmF1bHRcbiRuYXZiYXItZHJvcGRvd24tYm9yZGVyLXRvcDogMnB4IHNvbGlkICRib3JkZXIgIWRlZmF1bHRcbiRuYXZiYXItZHJvcGRvd24tb2Zmc2V0OiAtNHB4ICFkZWZhdWx0XG4kbmF2YmFyLWRyb3Bkb3duLWFycm93OiAkbGluayAhZGVmYXVsdFxuJG5hdmJhci1kcm9wZG93bi1yYWRpdXM6ICRyYWRpdXMtbGFyZ2UgIWRlZmF1bHRcbiRuYXZiYXItZHJvcGRvd24tejogMjAgIWRlZmF1bHRcblxuJG5hdmJhci1kcm9wZG93bi1ib3hlZC1yYWRpdXM6ICRyYWRpdXMtbGFyZ2UgIWRlZmF1bHRcbiRuYXZiYXItZHJvcGRvd24tYm94ZWQtc2hhZG93OiAwIDhweCA4cHggYnVsbWFSZ2JhKCRzY2hlbWUtaW52ZXJ0LCAwLjEpLCAwIDAgMCAxcHggYnVsbWFSZ2JhKCRzY2hlbWUtaW52ZXJ0LCAwLjEpICFkZWZhdWx0XG5cbiRuYXZiYXItZHJvcGRvd24taXRlbS1ob3Zlci1jb2xvcjogJHNjaGVtZS1pbnZlcnQgIWRlZmF1bHRcbiRuYXZiYXItZHJvcGRvd24taXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZCAhZGVmYXVsdFxuJG5hdmJhci1kcm9wZG93bi1pdGVtLWFjdGl2ZS1jb2xvcjogJGxpbmsgIWRlZmF1bHRcbiRuYXZiYXItZHJvcGRvd24taXRlbS1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQgIWRlZmF1bHRcblxuJG5hdmJhci1kaXZpZGVyLWJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kICFkZWZhdWx0XG4kbmF2YmFyLWRpdmlkZXItaGVpZ2h0OiAycHggIWRlZmF1bHRcblxuJG5hdmJhci1ib3R0b20tYm94LXNoYWRvdy1zaXplOiAwIC0ycHggMCAwICFkZWZhdWx0XG5cbiRuYXZiYXItYnJlYWtwb2ludDogJGRlc2t0b3AgIWRlZmF1bHRcblxuPW5hdmJhci1maXhlZFxuICBsZWZ0OiAwXG4gIHBvc2l0aW9uOiBmaXhlZFxuICByaWdodDogMFxuICB6LWluZGV4OiAkbmF2YmFyLWZpeGVkLXpcblxuLm5hdmJhclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWJhY2tncm91bmQtY29sb3JcbiAgbWluLWhlaWdodDogJG5hdmJhci1oZWlnaHRcbiAgcG9zaXRpb246IHJlbGF0aXZlXG4gIHotaW5kZXg6ICRuYXZiYXItelxuICBAZWFjaCAkbmFtZSwgJHBhaXIgaW4gJGNvbG9yc1xuICAgICRjb2xvcjogbnRoKCRwYWlyLCAxKVxuICAgICRjb2xvci1pbnZlcnQ6IG50aCgkcGFpciwgMilcbiAgICAmLmlzLSN7JG5hbWV9XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JcbiAgICAgIGNvbG9yOiAkY29sb3ItaW52ZXJ0XG4gICAgICAubmF2YmFyLWJyYW5kXG4gICAgICAgICYgPiAubmF2YmFyLWl0ZW0sXG4gICAgICAgIC5uYXZiYXItbGlua1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItaW52ZXJ0XG4gICAgICAgICYgPiBhLm5hdmJhci1pdGVtLFxuICAgICAgICAubmF2YmFyLWxpbmtcbiAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJi5pcy1hY3RpdmVcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJ1bG1hRGFya2VuKCRjb2xvciwgNSUpXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWludmVydFxuICAgICAgICAubmF2YmFyLWxpbmtcbiAgICAgICAgICAmOjphZnRlclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaW52ZXJ0XG4gICAgICAubmF2YmFyLWJ1cmdlclxuICAgICAgICBjb2xvcjogJGNvbG9yLWludmVydFxuICAgICAgK2Zyb20oJG5hdmJhci1icmVha3BvaW50KVxuICAgICAgICAubmF2YmFyLXN0YXJ0LFxuICAgICAgICAubmF2YmFyLWVuZFxuICAgICAgICAgICYgPiAubmF2YmFyLWl0ZW0sXG4gICAgICAgICAgLm5hdmJhci1saW5rXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWludmVydFxuICAgICAgICAgICYgPiBhLm5hdmJhci1pdGVtLFxuICAgICAgICAgIC5uYXZiYXItbGlua1xuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmlzLWFjdGl2ZVxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBidWxtYURhcmtlbigkY29sb3IsIDUlKVxuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWludmVydFxuICAgICAgICAgIC5uYXZiYXItbGlua1xuICAgICAgICAgICAgJjo6YWZ0ZXJcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaW52ZXJ0XG4gICAgICAgIC5uYXZiYXItaXRlbS5oYXMtZHJvcGRvd246Zm9jdXMgLm5hdmJhci1saW5rLFxuICAgICAgICAubmF2YmFyLWl0ZW0uaGFzLWRyb3Bkb3duOmhvdmVyIC5uYXZiYXItbGluayxcbiAgICAgICAgLm5hdmJhci1pdGVtLmhhcy1kcm9wZG93bi5pcy1hY3RpdmUgLm5hdmJhci1saW5rXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYnVsbWFEYXJrZW4oJGNvbG9yLCA1JSlcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLWludmVydFxuICAgICAgICAubmF2YmFyLWRyb3Bkb3duXG4gICAgICAgICAgYS5uYXZiYXItaXRlbVxuICAgICAgICAgICAgJi5pcy1hY3RpdmVcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yXG4gICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItaW52ZXJ0XG4gICYgPiAuY29udGFpbmVyXG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2hcbiAgICBkaXNwbGF5OiBmbGV4XG4gICAgbWluLWhlaWdodDogJG5hdmJhci1oZWlnaHRcbiAgICB3aWR0aDogMTAwJVxuICAmLmhhcy1zaGFkb3dcbiAgICBib3gtc2hhZG93OiAkbmF2YmFyLWJveC1zaGFkb3ctc2l6ZSAkbmF2YmFyLWJveC1zaGFkb3ctY29sb3JcbiAgJi5pcy1maXhlZC1ib3R0b20sXG4gICYuaXMtZml4ZWQtdG9wXG4gICAgK25hdmJhci1maXhlZFxuICAmLmlzLWZpeGVkLWJvdHRvbVxuICAgIGJvdHRvbTogMFxuICAgICYuaGFzLXNoYWRvd1xuICAgICAgYm94LXNoYWRvdzogJG5hdmJhci1ib3R0b20tYm94LXNoYWRvdy1zaXplICRuYXZiYXItYm94LXNoYWRvdy1jb2xvclxuICAmLmlzLWZpeGVkLXRvcFxuICAgIHRvcDogMFxuXG5odG1sLFxuYm9keVxuICAmLmhhcy1uYXZiYXItZml4ZWQtdG9wXG4gICAgcGFkZGluZy10b3A6ICRuYXZiYXItaGVpZ2h0XG4gICYuaGFzLW5hdmJhci1maXhlZC1ib3R0b21cbiAgICBwYWRkaW5nLWJvdHRvbTogJG5hdmJhci1oZWlnaHRcblxuLm5hdmJhci1icmFuZCxcbi5uYXZiYXItdGFic1xuICBhbGlnbi1pdGVtczogc3RyZXRjaFxuICBkaXNwbGF5OiBmbGV4XG4gIGZsZXgtc2hyaW5rOiAwXG4gIG1pbi1oZWlnaHQ6ICRuYXZiYXItaGVpZ2h0XG5cbi5uYXZiYXItYnJhbmRcbiAgYS5uYXZiYXItaXRlbVxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRcblxuLm5hdmJhci10YWJzXG4gICtvdmVyZmxvdy10b3VjaFxuICBtYXgtd2lkdGg6IDEwMHZ3XG4gIG92ZXJmbG93LXg6IGF1dG9cbiAgb3ZlcmZsb3cteTogaGlkZGVuXG5cbi5uYXZiYXItYnVyZ2VyXG4gIGNvbG9yOiAkbmF2YmFyLWJ1cmdlci1jb2xvclxuICAraGFtYnVyZ2VyKCRuYXZiYXItaGVpZ2h0KVxuICBtYXJnaW4tbGVmdDogYXV0b1xuXG4ubmF2YmFyLW1lbnVcbiAgZGlzcGxheTogbm9uZVxuXG4ubmF2YmFyLWl0ZW0sXG4ubmF2YmFyLWxpbmtcbiAgY29sb3I6ICRuYXZiYXItaXRlbS1jb2xvclxuICBkaXNwbGF5OiBibG9ja1xuICBsaW5lLWhlaWdodDogMS41XG4gIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtXG4gIHBvc2l0aW9uOiByZWxhdGl2ZVxuICAuaWNvblxuICAgICY6b25seS1jaGlsZFxuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtXG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtXG5cbmEubmF2YmFyLWl0ZW0sXG4ubmF2YmFyLWxpbmtcbiAgY3Vyc29yOiBwb2ludGVyXG4gICY6Zm9jdXMsXG4gICY6Zm9jdXMtd2l0aGluLFxuICAmOmhvdmVyLFxuICAmLmlzLWFjdGl2ZVxuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgY29sb3I6ICRuYXZiYXItaXRlbS1ob3Zlci1jb2xvclxuXG4ubmF2YmFyLWl0ZW1cbiAgZmxleC1ncm93OiAwXG4gIGZsZXgtc2hyaW5rOiAwXG4gIGltZ1xuICAgIG1heC1oZWlnaHQ6ICRuYXZiYXItaXRlbS1pbWctbWF4LWhlaWdodFxuICAmLmhhcy1kcm9wZG93blxuICAgIHBhZGRpbmc6IDBcbiAgJi5pcy1leHBhbmRlZFxuICAgIGZsZXgtZ3JvdzogMVxuICAgIGZsZXgtc2hyaW5rOiAxXG4gICYuaXMtdGFiXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50XG4gICAgbWluLWhlaWdodDogJG5hdmJhci1oZWlnaHRcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygwLjVyZW0gLSAxcHgpXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLXRhYi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbmF2YmFyLXRhYi1ob3Zlci1ib3JkZXItYm90dG9tLWNvbG9yXG4gICAgJi5pcy1hY3RpdmVcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItdGFiLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbmF2YmFyLXRhYi1hY3RpdmUtYm9yZGVyLWJvdHRvbS1jb2xvclxuICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogJG5hdmJhci10YWItYWN0aXZlLWJvcmRlci1ib3R0b20tc3R5bGVcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICRuYXZiYXItdGFiLWFjdGl2ZS1ib3JkZXItYm90dG9tLXdpZHRoXG4gICAgICBjb2xvcjogJG5hdmJhci10YWItYWN0aXZlLWNvbG9yXG4gICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygwLjVyZW0gLSAjeyRuYXZiYXItdGFiLWFjdGl2ZS1ib3JkZXItYm90dG9tLXdpZHRofSlcblxuLm5hdmJhci1jb250ZW50XG4gIGZsZXgtZ3JvdzogMVxuICBmbGV4LXNocmluazogMVxuXG4ubmF2YmFyLWxpbms6bm90KC5pcy1hcnJvd2xlc3MpXG4gIHBhZGRpbmctcmlnaHQ6IDIuNWVtXG4gICY6OmFmdGVyXG4gICAgQGV4dGVuZCAlYXJyb3dcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItZHJvcGRvd24tYXJyb3dcbiAgICBtYXJnaW4tdG9wOiAtMC4zNzVlbVxuICAgIHJpZ2h0OiAxLjEyNWVtXG5cbi5uYXZiYXItZHJvcGRvd25cbiAgZm9udC1zaXplOiAwLjg3NXJlbVxuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtXG4gIHBhZGRpbmctdG9wOiAwLjVyZW1cbiAgLm5hdmJhci1pdGVtXG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW1cbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW1cblxuLm5hdmJhci1kaXZpZGVyXG4gIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGl2aWRlci1iYWNrZ3JvdW5kLWNvbG9yXG4gIGJvcmRlcjogbm9uZVxuICBkaXNwbGF5OiBub25lXG4gIGhlaWdodDogJG5hdmJhci1kaXZpZGVyLWhlaWdodFxuICBtYXJnaW46IDAuNXJlbSAwXG5cbit1bnRpbCgkbmF2YmFyLWJyZWFrcG9pbnQpXG4gIC5uYXZiYXIgPiAuY29udGFpbmVyXG4gICAgZGlzcGxheTogYmxvY2tcbiAgLm5hdmJhci1icmFuZCxcbiAgLm5hdmJhci10YWJzXG4gICAgLm5hdmJhci1pdGVtXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyXG4gICAgICBkaXNwbGF5OiBmbGV4XG4gIC5uYXZiYXItbGlua1xuICAgICY6OmFmdGVyXG4gICAgICBkaXNwbGF5OiBub25lXG4gIC5uYXZiYXItbWVudVxuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItYmFja2dyb3VuZC1jb2xvclxuICAgIGJveC1zaGFkb3c6IDAgOHB4IDE2cHggYnVsbWFSZ2JhKCRzY2hlbWUtaW52ZXJ0LCAwLjEpXG4gICAgcGFkZGluZzogMC41cmVtIDBcbiAgICAmLmlzLWFjdGl2ZVxuICAgICAgZGlzcGxheTogYmxvY2tcbiAgLy8gRml4ZWQgbmF2YmFyXG4gIC5uYXZiYXJcbiAgICAmLmlzLWZpeGVkLWJvdHRvbS10b3VjaCxcbiAgICAmLmlzLWZpeGVkLXRvcC10b3VjaFxuICAgICAgK25hdmJhci1maXhlZFxuICAgICYuaXMtZml4ZWQtYm90dG9tLXRvdWNoXG4gICAgICBib3R0b206IDBcbiAgICAgICYuaGFzLXNoYWRvd1xuICAgICAgICBib3gtc2hhZG93OiAwIC0ycHggM3B4IGJ1bG1hUmdiYSgkc2NoZW1lLWludmVydCwgMC4xKVxuICAgICYuaXMtZml4ZWQtdG9wLXRvdWNoXG4gICAgICB0b3A6IDBcbiAgICAmLmlzLWZpeGVkLXRvcCxcbiAgICAmLmlzLWZpeGVkLXRvcC10b3VjaFxuICAgICAgLm5hdmJhci1tZW51XG4gICAgICAgICtvdmVyZmxvdy10b3VjaFxuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skbmF2YmFyLWhlaWdodH0pXG4gICAgICAgIG92ZXJmbG93OiBhdXRvXG4gIGh0bWwsXG4gIGJvZHlcbiAgICAmLmhhcy1uYXZiYXItZml4ZWQtdG9wLXRvdWNoXG4gICAgICBwYWRkaW5nLXRvcDogJG5hdmJhci1oZWlnaHRcbiAgICAmLmhhcy1uYXZiYXItZml4ZWQtYm90dG9tLXRvdWNoXG4gICAgICBwYWRkaW5nLWJvdHRvbTogJG5hdmJhci1oZWlnaHRcblxuK2Zyb20oJG5hdmJhci1icmVha3BvaW50KVxuICAubmF2YmFyLFxuICAubmF2YmFyLW1lbnUsXG4gIC5uYXZiYXItc3RhcnQsXG4gIC5uYXZiYXItZW5kXG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2hcbiAgICBkaXNwbGF5OiBmbGV4XG4gIC5uYXZiYXJcbiAgICBtaW4taGVpZ2h0OiAkbmF2YmFyLWhlaWdodFxuICAgICYuaXMtc3BhY2VkXG4gICAgICBwYWRkaW5nOiAkbmF2YmFyLXBhZGRpbmctdmVydGljYWwgJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWxcbiAgICAgIC5uYXZiYXItc3RhcnQsXG4gICAgICAubmF2YmFyLWVuZFxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyXG4gICAgICBhLm5hdmJhci1pdGVtLFxuICAgICAgLm5hdmJhci1saW5rXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXNcbiAgICAmLmlzLXRyYW5zcGFyZW50XG4gICAgICBhLm5hdmJhci1pdGVtLFxuICAgICAgLm5hdmJhci1saW5rXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuaXMtYWN0aXZlXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudFxuICAgICAgLm5hdmJhci1pdGVtLmhhcy1kcm9wZG93blxuICAgICAgICAmLmlzLWFjdGl2ZSxcbiAgICAgICAgJi5pcy1ob3ZlcmFibGU6Zm9jdXMsXG4gICAgICAgICYuaXMtaG92ZXJhYmxlOmZvY3VzLXdpdGhpbixcbiAgICAgICAgJi5pcy1ob3ZlcmFibGU6aG92ZXJcbiAgICAgICAgICAubmF2YmFyLWxpbmtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnRcbiAgICAgIC5uYXZiYXItZHJvcGRvd25cbiAgICAgICAgYS5uYXZiYXItaXRlbVxuICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgJjpob3ZlclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kcm9wZG93bi1pdGVtLWhvdmVyLWJhY2tncm91bmQtY29sb3JcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLWl0ZW0taG92ZXItY29sb3JcbiAgICAgICAgICAmLmlzLWFjdGl2ZVxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kcm9wZG93bi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgICAgICAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1pdGVtLWFjdGl2ZS1jb2xvclxuICAubmF2YmFyLWJ1cmdlclxuICAgIGRpc3BsYXk6IG5vbmVcbiAgLm5hdmJhci1pdGVtLFxuICAubmF2YmFyLWxpbmtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyXG4gICAgZGlzcGxheTogZmxleFxuICAubmF2YmFyLWl0ZW1cbiAgICAmLmhhcy1kcm9wZG93blxuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2hcbiAgICAmLmhhcy1kcm9wZG93bi11cFxuICAgICAgLm5hdmJhci1saW5rOjphZnRlclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpIHRyYW5zbGF0ZSgwLjI1ZW0sIC0wLjI1ZW0pXG4gICAgICAubmF2YmFyLWRyb3Bkb3duXG4gICAgICAgIGJvcmRlci1ib3R0b206ICRuYXZiYXItZHJvcGRvd24tYm9yZGVyLXRvcFxuICAgICAgICBib3JkZXItcmFkaXVzOiAkbmF2YmFyLWRyb3Bkb3duLXJhZGl1cyAkbmF2YmFyLWRyb3Bkb3duLXJhZGl1cyAwIDBcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZVxuICAgICAgICBib3R0b206IDEwMCVcbiAgICAgICAgYm94LXNoYWRvdzogMCAtOHB4IDhweCBidWxtYVJnYmEoJHNjaGVtZS1pbnZlcnQsIDAuMSlcbiAgICAgICAgdG9wOiBhdXRvXG4gICAgJi5pcy1hY3RpdmUsXG4gICAgJi5pcy1ob3ZlcmFibGU6Zm9jdXMsXG4gICAgJi5pcy1ob3ZlcmFibGU6Zm9jdXMtd2l0aGluLFxuICAgICYuaXMtaG92ZXJhYmxlOmhvdmVyXG4gICAgICAubmF2YmFyLWRyb3Bkb3duXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrXG4gICAgICAgIC5uYXZiYXIuaXMtc3BhY2VkICYsXG4gICAgICAgICYuaXMtYm94ZWRcbiAgICAgICAgICBvcGFjaXR5OiAxXG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG9cbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMClcbiAgLm5hdmJhci1tZW51XG4gICAgZmxleC1ncm93OiAxXG4gICAgZmxleC1zaHJpbms6IDBcbiAgLm5hdmJhci1zdGFydFxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydFxuICAgIG1hcmdpbi1yaWdodDogYXV0b1xuICAubmF2YmFyLWVuZFxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmRcbiAgICBtYXJnaW4tbGVmdDogYXV0b1xuICAubmF2YmFyLWRyb3Bkb3duXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kcm9wZG93bi1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJG5hdmJhci1kcm9wZG93bi1yYWRpdXNcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJG5hdmJhci1kcm9wZG93bi1yYWRpdXNcbiAgICBib3JkZXItdG9wOiAkbmF2YmFyLWRyb3Bkb3duLWJvcmRlci10b3BcbiAgICBib3gtc2hhZG93OiAwIDhweCA4cHggYnVsbWFSZ2JhKCRzY2hlbWUtaW52ZXJ0LCAwLjEpXG4gICAgZGlzcGxheTogbm9uZVxuICAgIGZvbnQtc2l6ZTogMC44NzVyZW1cbiAgICBsZWZ0OiAwXG4gICAgbWluLXdpZHRoOiAxMDAlXG4gICAgcG9zaXRpb246IGFic29sdXRlXG4gICAgdG9wOiAxMDAlXG4gICAgei1pbmRleDogJG5hdmJhci1kcm9wZG93bi16XG4gICAgLm5hdmJhci1pdGVtXG4gICAgICBwYWRkaW5nOiAwLjM3NXJlbSAxcmVtXG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwXG4gICAgYS5uYXZiYXItaXRlbVxuICAgICAgcGFkZGluZy1yaWdodDogM3JlbVxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6aG92ZXJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kcm9wZG93bi1pdGVtLWhvdmVyLWJhY2tncm91bmQtY29sb3JcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZHJvcGRvd24taXRlbS1ob3Zlci1jb2xvclxuICAgICAgJi5pcy1hY3RpdmVcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kcm9wZG93bi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLWl0ZW0tYWN0aXZlLWNvbG9yXG4gICAgLm5hdmJhci5pcy1zcGFjZWQgJixcbiAgICAmLmlzLWJveGVkXG4gICAgICBib3JkZXItcmFkaXVzOiAkbmF2YmFyLWRyb3Bkb3duLWJveGVkLXJhZGl1c1xuICAgICAgYm9yZGVyLXRvcDogbm9uZVxuICAgICAgYm94LXNoYWRvdzogJG5hdmJhci1kcm9wZG93bi1ib3hlZC1zaGFkb3dcbiAgICAgIGRpc3BsYXk6IGJsb2NrXG4gICAgICBvcGFjaXR5OiAwXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZVxuICAgICAgdG9wOiBjYWxjKDEwMCUgKyAoI3skbmF2YmFyLWRyb3Bkb3duLW9mZnNldH0pKVxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpXG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkc3BlZWRcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybVxuICAgICYuaXMtcmlnaHRcbiAgICAgIGxlZnQ6IGF1dG9cbiAgICAgIHJpZ2h0OiAwXG4gIC5uYXZiYXItZGl2aWRlclxuICAgIGRpc3BsYXk6IGJsb2NrXG4gIC5uYXZiYXIgPiAuY29udGFpbmVyLFxuICAuY29udGFpbmVyID4gLm5hdmJhclxuICAgIC5uYXZiYXItYnJhbmRcbiAgICAgIG1hcmdpbi1sZWZ0OiAtLjc1cmVtXG4gICAgLm5hdmJhci1tZW51XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0uNzVyZW1cbiAgLy8gRml4ZWQgbmF2YmFyXG4gIC5uYXZiYXJcbiAgICAmLmlzLWZpeGVkLWJvdHRvbS1kZXNrdG9wLFxuICAgICYuaXMtZml4ZWQtdG9wLWRlc2t0b3BcbiAgICAgICtuYXZiYXItZml4ZWRcbiAgICAmLmlzLWZpeGVkLWJvdHRvbS1kZXNrdG9wXG4gICAgICBib3R0b206IDBcbiAgICAgICYuaGFzLXNoYWRvd1xuICAgICAgICBib3gtc2hhZG93OiAwIC0ycHggM3B4IGJ1bG1hUmdiYSgkc2NoZW1lLWludmVydCwgMC4xKVxuICAgICYuaXMtZml4ZWQtdG9wLWRlc2t0b3BcbiAgICAgIHRvcDogMFxuICBodG1sLFxuICBib2R5XG4gICAgJi5oYXMtbmF2YmFyLWZpeGVkLXRvcC1kZXNrdG9wXG4gICAgICBwYWRkaW5nLXRvcDogJG5hdmJhci1oZWlnaHRcbiAgICAmLmhhcy1uYXZiYXItZml4ZWQtYm90dG9tLWRlc2t0b3BcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkbmF2YmFyLWhlaWdodFxuICAgICYuaGFzLXNwYWNlZC1uYXZiYXItZml4ZWQtdG9wXG4gICAgICBwYWRkaW5nLXRvcDogJG5hdmJhci1oZWlnaHQgKyAoJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsICogMilcbiAgICAmLmhhcy1zcGFjZWQtbmF2YmFyLWZpeGVkLWJvdHRvbVxuICAgICAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItaGVpZ2h0ICsgKCRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbCAqIDIpXG4gIC8vIEhvdmVyL0FjdGl2ZSBzdGF0ZXNcbiAgYS5uYXZiYXItaXRlbSxcbiAgLm5hdmJhci1saW5rXG4gICAgJi5pcy1hY3RpdmVcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWl0ZW0tYWN0aXZlLWNvbG9yXG4gICAgJi5pcy1hY3RpdmU6bm90KDpmb2N1cyk6bm90KDpob3ZlcilcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaXRlbS1hY3RpdmUtYmFja2dyb3VuZC1jb2xvclxuICAubmF2YmFyLWl0ZW0uaGFzLWRyb3Bkb3duXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyLFxuICAgICYuaXMtYWN0aXZlXG4gICAgICAubmF2YmFyLWxpbmtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pdGVtLWhvdmVyLWJhY2tncm91bmQtY29sb3JcblxuLy8gQ29tYmluYXRpb25cblxuLmhlcm9cbiAgJi5pcy1mdWxsaGVpZ2h0LXdpdGgtbmF2YmFyXG4gICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtICN7JG5hdmJhci1oZWlnaHR9KVxuIiwiJGNvbnRhaW5lci1vZmZzZXQ6ICgyICogJGdhcCkgIWRlZmF1bHRcblxuLmNvbnRhaW5lclxuICBmbGV4LWdyb3c6IDFcbiAgbWFyZ2luOiAwIGF1dG9cbiAgcG9zaXRpb246IHJlbGF0aXZlXG4gIHdpZHRoOiBhdXRvXG4gICYuaXMtZmx1aWRcbiAgICBtYXgtd2lkdGg6IG5vbmVcbiAgICBwYWRkaW5nLWxlZnQ6ICRnYXBcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ2FwXG4gICAgd2lkdGg6IDEwMCVcbiAgK2Rlc2t0b3BcbiAgICBtYXgtd2lkdGg6ICRkZXNrdG9wIC0gJGNvbnRhaW5lci1vZmZzZXRcbiAgK3VudGlsLXdpZGVzY3JlZW5cbiAgICAmLmlzLXdpZGVzY3JlZW5cbiAgICAgIG1heC13aWR0aDogJHdpZGVzY3JlZW4gLSAkY29udGFpbmVyLW9mZnNldFxuICArdW50aWwtZnVsbGhkXG4gICAgJi5pcy1mdWxsaGRcbiAgICAgIG1heC13aWR0aDogJGZ1bGxoZCAtICRjb250YWluZXItb2Zmc2V0XG4gICt3aWRlc2NyZWVuXG4gICAgbWF4LXdpZHRoOiAkd2lkZXNjcmVlbiAtICRjb250YWluZXItb2Zmc2V0XG4gICtmdWxsaGRcbiAgICBtYXgtd2lkdGg6ICRmdWxsaGQgLSAkY29udGFpbmVyLW9mZnNldFxuIiwiJHNlY3Rpb24tcGFkZGluZzogM3JlbSAxLjVyZW0gIWRlZmF1bHRcbiRzZWN0aW9uLXBhZGRpbmctbWVkaXVtOiA5cmVtIDEuNXJlbSAhZGVmYXVsdFxuJHNlY3Rpb24tcGFkZGluZy1sYXJnZTogMThyZW0gMS41cmVtICFkZWZhdWx0XG5cbi5zZWN0aW9uXG4gIHBhZGRpbmc6ICRzZWN0aW9uLXBhZGRpbmdcbiAgLy8gUmVzcG9uc2l2ZW5lc3NcbiAgK2Rlc2t0b3BcbiAgICAvLyBTaXplc1xuICAgICYuaXMtbWVkaXVtXG4gICAgICBwYWRkaW5nOiAkc2VjdGlvbi1wYWRkaW5nLW1lZGl1bVxuICAgICYuaXMtbGFyZ2VcbiAgICAgIHBhZGRpbmc6ICRzZWN0aW9uLXBhZGRpbmctbGFyZ2VcbiIsIiR0aXRsZS1jb2xvcjogJHRleHQtc3Ryb25nICFkZWZhdWx0XG4kdGl0bGUtZmFtaWx5OiBmYWxzZSAhZGVmYXVsdFxuJHRpdGxlLXNpemU6ICRzaXplLTMgIWRlZmF1bHRcbiR0aXRsZS13ZWlnaHQ6ICR3ZWlnaHQtc2VtaWJvbGQgIWRlZmF1bHRcbiR0aXRsZS1saW5lLWhlaWdodDogMS4xMjUgIWRlZmF1bHRcbiR0aXRsZS1zdHJvbmctY29sb3I6IGluaGVyaXQgIWRlZmF1bHRcbiR0aXRsZS1zdHJvbmctd2VpZ2h0OiBpbmhlcml0ICFkZWZhdWx0XG4kdGl0bGUtc3ViLXNpemU6IDAuNzVlbSAhZGVmYXVsdFxuJHRpdGxlLXN1cC1zaXplOiAwLjc1ZW0gIWRlZmF1bHRcblxuJHN1YnRpdGxlLWNvbG9yOiAkdGV4dCAhZGVmYXVsdFxuJHN1YnRpdGxlLWZhbWlseTogZmFsc2UgIWRlZmF1bHRcbiRzdWJ0aXRsZS1zaXplOiAkc2l6ZS01ICFkZWZhdWx0XG4kc3VidGl0bGUtd2VpZ2h0OiAkd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdFxuJHN1YnRpdGxlLWxpbmUtaGVpZ2h0OiAxLjI1ICFkZWZhdWx0XG4kc3VidGl0bGUtc3Ryb25nLWNvbG9yOiAkdGV4dC1zdHJvbmcgIWRlZmF1bHRcbiRzdWJ0aXRsZS1zdHJvbmctd2VpZ2h0OiAkd2VpZ2h0LXNlbWlib2xkICFkZWZhdWx0XG4kc3VidGl0bGUtbmVnYXRpdmUtbWFyZ2luOiAtMS4yNXJlbSAhZGVmYXVsdFxuXG4udGl0bGUsXG4uc3VidGl0bGVcbiAgQGV4dGVuZCAlYmxvY2tcbiAgd29yZC1icmVhazogYnJlYWstd29yZFxuICBlbSxcbiAgc3BhblxuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0XG4gIHN1YlxuICAgIGZvbnQtc2l6ZTogJHRpdGxlLXN1Yi1zaXplXG4gIHN1cFxuICAgIGZvbnQtc2l6ZTogJHRpdGxlLXN1cC1zaXplXG4gIC50YWdcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlXG5cbi50aXRsZVxuICBjb2xvcjogJHRpdGxlLWNvbG9yXG4gIEBpZiAkdGl0bGUtZmFtaWx5XG4gICAgZm9udC1mYW1pbHk6ICR0aXRsZS1mYW1pbHlcbiAgZm9udC1zaXplOiAkdGl0bGUtc2l6ZVxuICBmb250LXdlaWdodDogJHRpdGxlLXdlaWdodFxuICBsaW5lLWhlaWdodDogJHRpdGxlLWxpbmUtaGVpZ2h0XG4gIHN0cm9uZ1xuICAgIGNvbG9yOiAkdGl0bGUtc3Ryb25nLWNvbG9yXG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZS1zdHJvbmctd2VpZ2h0XG4gICYgKyAuaGlnaGxpZ2h0XG4gICAgbWFyZ2luLXRvcDogLTAuNzVyZW1cbiAgJjpub3QoLmlzLXNwYWNlZCkgKyAuc3VidGl0bGVcbiAgICBtYXJnaW4tdG9wOiAkc3VidGl0bGUtbmVnYXRpdmUtbWFyZ2luXG4gIC8vIFNpemVzXG4gIEBlYWNoICRzaXplIGluICRzaXplc1xuICAgICRpOiBpbmRleCgkc2l6ZXMsICRzaXplKVxuICAgICYuaXMtI3skaX1cbiAgICAgIGZvbnQtc2l6ZTogJHNpemVcblxuLnN1YnRpdGxlXG4gIGNvbG9yOiAkc3VidGl0bGUtY29sb3JcbiAgQGlmICRzdWJ0aXRsZS1mYW1pbHlcbiAgICBmb250LWZhbWlseTogJHN1YnRpdGxlLWZhbWlseVxuICBmb250LXNpemU6ICRzdWJ0aXRsZS1zaXplXG4gIGZvbnQtd2VpZ2h0OiAkc3VidGl0bGUtd2VpZ2h0XG4gIGxpbmUtaGVpZ2h0OiAkc3VidGl0bGUtbGluZS1oZWlnaHRcbiAgc3Ryb25nXG4gICAgY29sb3I6ICRzdWJ0aXRsZS1zdHJvbmctY29sb3JcbiAgICBmb250LXdlaWdodDogJHN1YnRpdGxlLXN0cm9uZy13ZWlnaHRcbiAgJjpub3QoLmlzLXNwYWNlZCkgKyAudGl0bGVcbiAgICBtYXJnaW4tdG9wOiAkc3VidGl0bGUtbmVnYXRpdmUtbWFyZ2luXG4gIC8vIFNpemVzXG4gIEBlYWNoICRzaXplIGluICRzaXplc1xuICAgICRpOiBpbmRleCgkc2l6ZXMsICRzaXplKVxuICAgICYuaXMtI3skaX1cbiAgICAgIGZvbnQtc2l6ZTogJHNpemVcbiIsIiRwcmltYXJ5OiAkdHVycXVvaXNlICFkZWZhdWx0XG5cbiRpbmZvOiAkY3lhbiAhZGVmYXVsdFxuJHN1Y2Nlc3M6ICRncmVlbiAhZGVmYXVsdFxuJHdhcm5pbmc6ICR5ZWxsb3cgIWRlZmF1bHRcbiRkYW5nZXI6ICRyZWQgIWRlZmF1bHRcblxuJGxpZ2h0OiAkd2hpdGUtdGVyICFkZWZhdWx0XG4kZGFyazogJGdyZXktZGFya2VyICFkZWZhdWx0XG5cbi8vIEludmVydCBjb2xvcnNcblxuJG9yYW5nZS1pbnZlcnQ6IGZpbmRDb2xvckludmVydCgkb3JhbmdlKSAhZGVmYXVsdFxuJHllbGxvdy1pbnZlcnQ6IGZpbmRDb2xvckludmVydCgkeWVsbG93KSAhZGVmYXVsdFxuJGdyZWVuLWludmVydDogZmluZENvbG9ySW52ZXJ0KCRncmVlbikgIWRlZmF1bHRcbiR0dXJxdW9pc2UtaW52ZXJ0OiBmaW5kQ29sb3JJbnZlcnQoJHR1cnF1b2lzZSkgIWRlZmF1bHRcbiRjeWFuLWludmVydDogZmluZENvbG9ySW52ZXJ0KCRjeWFuKSAhZGVmYXVsdFxuJGJsdWUtaW52ZXJ0OiBmaW5kQ29sb3JJbnZlcnQoJGJsdWUpICFkZWZhdWx0XG4kcHVycGxlLWludmVydDogZmluZENvbG9ySW52ZXJ0KCRwdXJwbGUpICFkZWZhdWx0XG4kcmVkLWludmVydDogZmluZENvbG9ySW52ZXJ0KCRyZWQpICFkZWZhdWx0XG5cbiRwcmltYXJ5LWludmVydDogZmluZENvbG9ySW52ZXJ0KCRwcmltYXJ5KSAhZGVmYXVsdFxuJHByaW1hcnktbGlnaHQ6IGZpbmRMaWdodENvbG9yKCRwcmltYXJ5KSAhZGVmYXVsdFxuJHByaW1hcnktZGFyazogZmluZERhcmtDb2xvcigkcHJpbWFyeSkgIWRlZmF1bHRcbiRpbmZvLWludmVydDogZmluZENvbG9ySW52ZXJ0KCRpbmZvKSAhZGVmYXVsdFxuJGluZm8tbGlnaHQ6IGZpbmRMaWdodENvbG9yKCRpbmZvKSAhZGVmYXVsdFxuJGluZm8tZGFyazogZmluZERhcmtDb2xvcigkaW5mbykgIWRlZmF1bHRcbiRzdWNjZXNzLWludmVydDogZmluZENvbG9ySW52ZXJ0KCRzdWNjZXNzKSAhZGVmYXVsdFxuJHN1Y2Nlc3MtbGlnaHQ6IGZpbmRMaWdodENvbG9yKCRzdWNjZXNzKSAhZGVmYXVsdFxuJHN1Y2Nlc3MtZGFyazogZmluZERhcmtDb2xvcigkc3VjY2VzcykgIWRlZmF1bHRcbiR3YXJuaW5nLWludmVydDogZmluZENvbG9ySW52ZXJ0KCR3YXJuaW5nKSAhZGVmYXVsdFxuJHdhcm5pbmctbGlnaHQ6IGZpbmRMaWdodENvbG9yKCR3YXJuaW5nKSAhZGVmYXVsdFxuJHdhcm5pbmctZGFyazogZmluZERhcmtDb2xvcigkd2FybmluZykgIWRlZmF1bHRcbiRkYW5nZXItaW52ZXJ0OiBmaW5kQ29sb3JJbnZlcnQoJGRhbmdlcikgIWRlZmF1bHRcbiRkYW5nZXItbGlnaHQ6IGZpbmRMaWdodENvbG9yKCRkYW5nZXIpICFkZWZhdWx0XG4kZGFuZ2VyLWRhcms6IGZpbmREYXJrQ29sb3IoJGRhbmdlcikgIWRlZmF1bHRcbiRsaWdodC1pbnZlcnQ6IGZpbmRDb2xvckludmVydCgkbGlnaHQpICFkZWZhdWx0XG4kZGFyay1pbnZlcnQ6IGZpbmRDb2xvckludmVydCgkZGFyaykgIWRlZmF1bHRcblxuLy8gR2VuZXJhbCBjb2xvcnNcblxuJHNjaGVtZS1tYWluOiAkd2hpdGUgIWRlZmF1bHRcbiRzY2hlbWUtbWFpbi1iaXM6ICR3aGl0ZS1iaXMgIWRlZmF1bHRcbiRzY2hlbWUtbWFpbi10ZXI6ICR3aGl0ZS10ZXIgIWRlZmF1bHRcbiRzY2hlbWUtaW52ZXJ0OiAkYmxhY2sgIWRlZmF1bHRcbiRzY2hlbWUtaW52ZXJ0LWJpczogJGJsYWNrLWJpcyAhZGVmYXVsdFxuJHNjaGVtZS1pbnZlcnQtdGVyOiAkYmxhY2stdGVyICFkZWZhdWx0XG5cbiRiYWNrZ3JvdW5kOiAkd2hpdGUtdGVyICFkZWZhdWx0XG5cbiRib3JkZXI6ICRncmV5LWxpZ2h0ZXIgIWRlZmF1bHRcbiRib3JkZXItaG92ZXI6ICRncmV5LWxpZ2h0ICFkZWZhdWx0XG4kYm9yZGVyLWxpZ2h0OiAkZ3JleS1saWdodGVzdCAhZGVmYXVsdFxuJGJvcmRlci1saWdodC1ob3ZlcjogJGdyZXktbGlnaHQgIWRlZmF1bHRcblxuLy8gVGV4dCBjb2xvcnNcblxuJHRleHQ6ICRncmV5LWRhcmsgIWRlZmF1bHRcbiR0ZXh0LWludmVydDogZmluZENvbG9ySW52ZXJ0KCR0ZXh0KSAhZGVmYXVsdFxuJHRleHQtbGlnaHQ6ICRncmV5ICFkZWZhdWx0XG4kdGV4dC1zdHJvbmc6ICRncmV5LWRhcmtlciAhZGVmYXVsdFxuXG4vLyBDb2RlIGNvbG9yc1xuXG4kY29kZTogJHJlZCAhZGVmYXVsdFxuJGNvZGUtYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWRlZmF1bHRcblxuJHByZTogJHRleHQgIWRlZmF1bHRcbiRwcmUtYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWRlZmF1bHRcblxuLy8gTGluayBjb2xvcnNcblxuJGxpbms6ICRibHVlICFkZWZhdWx0XG4kbGluay1pbnZlcnQ6IGZpbmRDb2xvckludmVydCgkbGluaykgIWRlZmF1bHRcbiRsaW5rLWxpZ2h0OiBmaW5kTGlnaHRDb2xvcigkbGluaykgIWRlZmF1bHRcbiRsaW5rLWRhcms6IGZpbmREYXJrQ29sb3IoJGxpbmspICFkZWZhdWx0XG4kbGluay12aXNpdGVkOiAkcHVycGxlICFkZWZhdWx0XG5cbiRsaW5rLWhvdmVyOiAkZ3JleS1kYXJrZXIgIWRlZmF1bHRcbiRsaW5rLWhvdmVyLWJvcmRlcjogJGdyZXktbGlnaHQgIWRlZmF1bHRcblxuJGxpbmstZm9jdXM6ICRncmV5LWRhcmtlciAhZGVmYXVsdFxuJGxpbmstZm9jdXMtYm9yZGVyOiAkYmx1ZSAhZGVmYXVsdFxuXG4kbGluay1hY3RpdmU6ICRncmV5LWRhcmtlciAhZGVmYXVsdFxuJGxpbmstYWN0aXZlLWJvcmRlcjogJGdyZXktZGFyayAhZGVmYXVsdFxuXG4vLyBUeXBvZ3JhcGh5XG5cbiRmYW1pbHktcHJpbWFyeTogJGZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0XG4kZmFtaWx5LXNlY29uZGFyeTogJGZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0XG4kZmFtaWx5LWNvZGU6ICRmYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0XG5cbiRzaXplLXNtYWxsOiAkc2l6ZS03ICFkZWZhdWx0XG4kc2l6ZS1ub3JtYWw6ICRzaXplLTYgIWRlZmF1bHRcbiRzaXplLW1lZGl1bTogJHNpemUtNSAhZGVmYXVsdFxuJHNpemUtbGFyZ2U6ICRzaXplLTQgIWRlZmF1bHRcblxuLy8gTGlzdHMgYW5kIG1hcHNcbiRjdXN0b20tY29sb3JzOiBudWxsICFkZWZhdWx0XG4kY3VzdG9tLXNoYWRlczogbnVsbCAhZGVmYXVsdFxuXG4kY29sb3JzOiBtZXJnZUNvbG9yTWFwcygoXCJ3aGl0ZVwiOiAoJHdoaXRlLCAkYmxhY2spLCBcImJsYWNrXCI6ICgkYmxhY2ssICR3aGl0ZSksIFwibGlnaHRcIjogKCRsaWdodCwgJGxpZ2h0LWludmVydCksIFwiZGFya1wiOiAoJGRhcmssICRkYXJrLWludmVydCksIFwicHJpbWFyeVwiOiAoJHByaW1hcnksICRwcmltYXJ5LWludmVydCwgJHByaW1hcnktbGlnaHQsICRwcmltYXJ5LWRhcmspLCBcImxpbmtcIjogKCRsaW5rLCAkbGluay1pbnZlcnQsICRsaW5rLWxpZ2h0LCAkbGluay1kYXJrKSwgXCJpbmZvXCI6ICgkaW5mbywgJGluZm8taW52ZXJ0LCAkaW5mby1saWdodCwgJGluZm8tZGFyayksIFwic3VjY2Vzc1wiOiAoJHN1Y2Nlc3MsICRzdWNjZXNzLWludmVydCwgJHN1Y2Nlc3MtbGlnaHQsICRzdWNjZXNzLWRhcmspLCBcIndhcm5pbmdcIjogKCR3YXJuaW5nLCAkd2FybmluZy1pbnZlcnQsICR3YXJuaW5nLWxpZ2h0LCAkd2FybmluZy1kYXJrKSwgXCJkYW5nZXJcIjogKCRkYW5nZXIsICRkYW5nZXItaW52ZXJ0LCAkZGFuZ2VyLWxpZ2h0LCAkZGFuZ2VyLWRhcmspKSwgJGN1c3RvbS1jb2xvcnMpICFkZWZhdWx0XG4kc2hhZGVzOiBtZXJnZUNvbG9yTWFwcygoXCJibGFjay1iaXNcIjogJGJsYWNrLWJpcywgXCJibGFjay10ZXJcIjogJGJsYWNrLXRlciwgXCJncmV5LWRhcmtlclwiOiAkZ3JleS1kYXJrZXIsIFwiZ3JleS1kYXJrXCI6ICRncmV5LWRhcmssIFwiZ3JleVwiOiAkZ3JleSwgXCJncmV5LWxpZ2h0XCI6ICRncmV5LWxpZ2h0LCBcImdyZXktbGlnaHRlclwiOiAkZ3JleS1saWdodGVyLCBcIndoaXRlLXRlclwiOiAkd2hpdGUtdGVyLCBcIndoaXRlLWJpc1wiOiAkd2hpdGUtYmlzKSwgJGN1c3RvbS1zaGFkZXMpICFkZWZhdWx0XG5cbiRzaXplczogJHNpemUtMSAkc2l6ZS0yICRzaXplLTMgJHNpemUtNCAkc2l6ZS01ICRzaXplLTYgJHNpemUtNyAhZGVmYXVsdFxuIiwiJGRpdmlkZXItYmFja2dyb3VuZC1jb2xvcjogJGdyZXktbGlnaHRlciAhZGVmYXVsdFxuJGRpdmlkZXItdGhpY2tuZXNzOiAuMXJlbSAhZGVmYXVsdFxuJGRpdmlkZXItZm9udC1zaXplOiAkc2l6ZS03ICFkZWZhdWx0XG4kZGl2aWRlci1jb2xvcjogJGdyZXktbGlnaHQgIWRlZmF1bHRcblxuLmlzLWRpdmlkZXIsIC5pcy1kaXZpZGVyLXZlcnRpY2FsXG4gIGRpc3BsYXk6IGJsb2NrXG4gIHBvc2l0aW9uOiByZWxhdGl2ZVxuICBib3JkZXItdG9wOiAkZGl2aWRlci10aGlja25lc3Mgc29saWQgJGRpdmlkZXItYmFja2dyb3VuZC1jb2xvclxuICBoZWlnaHQ6ICRkaXZpZGVyLXRoaWNrbmVzc1xuICBtYXJnaW46IDJyZW0gMFxuICB0ZXh0LWFsaWduOiBjZW50ZXJcblxuXG4uaXMtZGl2aWRlcltkYXRhLWNvbnRlbnRdOjphZnRlciwgLmlzLWRpdmlkZXItdmVydGljYWxbZGF0YS1jb250ZW50XTo6YWZ0ZXJcbiAgYmFja2dyb3VuZDogJHdoaXRlXG4gIGNvbG9yOiAkZGl2aWRlci1jb2xvclxuICBjb250ZW50OiBhdHRyKGRhdGEtY29udGVudClcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrXG4gIGZvbnQtc2l6ZTogJGRpdmlkZXItZm9udC1zaXplXG4gIHBhZGRpbmc6IC40cmVtIC44cmVtXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xLjFyZW0pXG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEuMXJlbSlcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xLjFyZW0pXG4gIHRleHQtYWxpZ246IGNlbnRlclxuXG4uaXMtZGl2aWRlci12ZXJ0aWNhbFxuICArdGFibGV0XG4gICAgZGlzcGxheTogYmxvY2tcbiAgICBmbGV4OiBub25lXG4gICAgd2lkdGg6IGF1dG9cbiAgICBoZWlnaHQ6IGF1dG9cbiAgICBwYWRkaW5nOiAycmVtXG4gICAgbWFyZ2luOiAwXG4gICAgcG9zaXRpb246IHJlbGF0aXZlXG4gICAgYm9yZGVyLXRvcDogbm9uZVxuICAgIG1pbi1oZWlnaHQ6IDJyZW1cbiAgICAmOjpiZWZvcmVcbiAgICAgIGJvcmRlci1sZWZ0OiAkZGl2aWRlci10aGlja25lc3Mgc29saWQgJGRpdmlkZXItYmFja2dyb3VuZC1jb2xvclxuICAgICAgYm90dG9tOiAxcmVtXG4gICAgICBjb250ZW50OiBcIlwiXG4gICAgICBkaXNwbGF5OiBibG9ja1xuICAgICAgbGVmdDogNTAlXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGVcbiAgICAgIHRvcDogMXJlbVxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSlcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSlcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKVxuICAgICZbZGF0YS1jb250ZW50XTo6YWZ0ZXJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZVxuICAgICAgbGVmdDogNTAlXG4gICAgICB0b3A6IDUwJVxuICAgICAgcGFkZGluZzogLjFyZW1cbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSlcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKVxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSlcblxuLmlzLWRpdmlkZXIsXG4uaXMtZGl2aWRlci12ZXJ0aWNhbFxuICBAZWFjaCAkbmFtZSwgJHBhaXIgaW4gbWVyZ2VDb2xvck1hcHMoJGNvbG9ycywgJHNoYWRlcylcbiAgICAkY29sb3I6IG50aCgkcGFpciwgMSlcbiAgICAkY29sb3ItaW52ZXJ0OiBudGgoJHBhaXIsIDIpXG4gICAgJi5pcy0jeyRuYW1lfVxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yXG5cbiAgICAgICZbZGF0YS1jb250ZW50XTo6YWZ0ZXIsICZbZGF0YS1jb250ZW50XTo6YWZ0ZXJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWludmVydFxuICAgICAgICBjb2xvcjogJGNvbG9yXG5cbiAgICAgICY6OmJlZm9yZVxuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGNvbG9yXG4iLCIvLyBBdWRpdCAoMjAyNi0wNSk6IHRoZSBjb2RlYmFzZSBvbmx5IHVzZXMgYSBzbGljZSBvZiBCdWxtYSDigJRcbi8vICAgLSBncmlkIChgLmNvbHVtbnNgL2AuY29sdW1uYC9gLmlzLW5hcnJvd2AvYC5pcy1tdWx0aWxpbmVgL+KApik6IDUwMCsgdXNvcy5cbi8vICAgLSBjb250YWluZXIgKGA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+YCk6IH42MCB1c29zLlxuLy8gICAtIHNlY3Rpb24gKGA8c2VjdGlvbj5gIHNlbWFudGljICsgYC5zZWN0aW9uYCk6IHBvdWNvcy5cbi8vICAgLSBuYXZiYXIgKGBjbGFzcz1cIm5hdmJhclwiYCk6IDQgdXNvcy5cbi8vICAgLSBzdWJ0aXRsZSAoZGUgYGVsZW1lbnRzL3RpdGxlYCk6IDExIHVzb3MuXG4vLyAgIC0gYnVsbWEtZGl2aWRlciAoYGlzLWRpdmlkZXJgKTogMiB1c29zLlxuLy8gUmVtb3ZpZG9zIHBvciB0ZXJlbSBaRVJPIHVzb3Mgbm8gYXVkaXQ6IGBjb21wb25lbnRzL2xldmVsYCxcbi8vIGBlbGVtZW50cy9pbWFnZWAsIGBlbGVtZW50cy90YWJsZWAuIGBsYXlvdXQvX2FsbGAgZm9pIHF1ZWJyYWRvIGVtXG4vLyBgY29udGFpbmVyYCArIGBzZWN0aW9uYCAoaGVybyBlIGZvb3RlciB0YW1iw6ltIGVyYW0gMCkuXG5AaW1wb3J0IFwifmJ1bG1hL3Nhc3MvdXRpbGl0aWVzL19hbGxcIjtcbkBpbXBvcnQgXCJ+YnVsbWEvc2Fzcy9iYXNlL19hbGxcIjtcbkBpbXBvcnQgXCJ+YnVsbWEvc2Fzcy9ncmlkL19hbGxcIjtcbkBpbXBvcnQgXCJ+YnVsbWEvc2Fzcy9jb21wb25lbnRzL25hdmJhclwiO1xuQGltcG9ydCBcIn5idWxtYS9zYXNzL2VsZW1lbnRzL2NvbnRhaW5lclwiO1xuQGltcG9ydCBcIn5idWxtYS9zYXNzL2xheW91dC9zZWN0aW9uXCI7XG5AaW1wb3J0IFwifmJ1bG1hL3Nhc3MvZWxlbWVudHMvdGl0bGVcIjtcbkBpbXBvcnQgXCJ+YnVsbWEtZGl2aWRlci9zcmMvc2Fzcy9pbmRleFwiO1xuXG4vLyBUYWJsZSB3aWR0aFxuJHdpZHRoQW1vdW50czogKDIuNSwgNSwgNy41LCAxMCwgMjAsIDMwLCAzMy4zMywgNDAsIDUwLCA2Ni42NiwgMTAwKTsgLy8gSnVzdCBhZGQgdGhlIG51bWJlcnMgaGVyZSwgeW91IGNhbiB1c2UgcG9pbnRzIHRvby5cbiR3aWR0aFVuaXQ6IFwiJVwiOyAvLyBBZGQgdGhlIHVuaXQgaGVyZSAocmVtfGVtfHB4fCUpXG5cbkBlYWNoICR3aWR0aCBpbiAkd2lkdGhBbW91bnRzIHtcblx0JGk6IGluZGV4KCR3aWR0aEFtb3VudHMsICR3aWR0aCk7XG5cdC50YWJsZSB0aGVhZCB0aC5pcy0jeyRpfSB7XG5cdFx0d2lkdGg6ICN7JHdpZHRofSN7JHdpZHRoVW5pdH0gIWltcG9ydGFudDtcblx0fVxufSIsIkBpbXBvcnQgXCJzZXR0aW5ncy9jaGFydGlzdC1zZXR0aW5nc1wiO1xuXG5AbWl4aW4gY3QtcmVzcG9uc2l2ZS1zdmctY29udGFpbmVyKCR3aWR0aDogMTAwJSwgJHJhdGlvOiAkY3QtY29udGFpbmVyLXJhdGlvKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAkd2lkdGg7XG5cbiAgJjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAkcmF0aW8gKiAxMDAlO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuXG4gID4gc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuQG1peGluIGN0LWFsaWduLWp1c3RpZnkoJGN0LXRleHQtYWxpZ246ICRjdC10ZXh0LWFsaWduLCAkY3QtdGV4dC1qdXN0aWZ5OiAkY3QtdGV4dC1qdXN0aWZ5KSB7XG4gIC13ZWJraXQtYm94LWFsaWduOiAkY3QtdGV4dC1hbGlnbjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJGN0LXRleHQtYWxpZ247XG4gIC1tcy1mbGV4LWFsaWduOiAkY3QtdGV4dC1hbGlnbjtcbiAgYWxpZ24taXRlbXM6ICRjdC10ZXh0LWFsaWduO1xuICAtd2Via2l0LWJveC1wYWNrOiAkY3QtdGV4dC1qdXN0aWZ5O1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJGN0LXRleHQtanVzdGlmeTtcbiAgLW1zLWZsZXgtcGFjazogJGN0LXRleHQtanVzdGlmeTtcbiAganVzdGlmeS1jb250ZW50OiAkY3QtdGV4dC1qdXN0aWZ5O1xuICAvLyBGYWxsYmFjayB0byB0ZXh0LWFsaWduIGZvciBub24tZmxleCBicm93c2Vyc1xuICBAaWYoJGN0LXRleHQtanVzdGlmeSA9PSAnZmxleC1zdGFydCcpIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9IEBlbHNlIGlmICgkY3QtdGV4dC1qdXN0aWZ5ID09ICdmbGV4LWVuZCcpIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfSBAZWxzZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbkBtaXhpbiBjdC1mbGV4KCkge1xuICAvLyBGYWxsYmFjayB0byBibG9ja1xuICBkaXNwbGF5OiBibG9jaztcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gY3QtY2hhcnQtbGFiZWwoJGN0LXRleHQtY29sb3I6ICRjdC10ZXh0LWNvbG9yLCAkY3QtdGV4dC1zaXplOiAkY3QtdGV4dC1zaXplLCAkY3QtdGV4dC1saW5lLWhlaWdodDogJGN0LXRleHQtbGluZS1oZWlnaHQpIHtcbiAgZmlsbDogJGN0LXRleHQtY29sb3I7XG4gIGNvbG9yOiAkY3QtdGV4dC1jb2xvcjtcbiAgZm9udC1zaXplOiAkY3QtdGV4dC1zaXplO1xuICBsaW5lLWhlaWdodDogJGN0LXRleHQtbGluZS1oZWlnaHQ7XG59XG5cbkBtaXhpbiBjdC1jaGFydC1ncmlkKCRjdC1ncmlkLWNvbG9yOiAkY3QtZ3JpZC1jb2xvciwgJGN0LWdyaWQtd2lkdGg6ICRjdC1ncmlkLXdpZHRoLCAkY3QtZ3JpZC1kYXNoYXJyYXk6ICRjdC1ncmlkLWRhc2hhcnJheSkge1xuICBzdHJva2U6ICRjdC1ncmlkLWNvbG9yO1xuICBzdHJva2Utd2lkdGg6ICRjdC1ncmlkLXdpZHRoO1xuXG4gIEBpZiAoJGN0LWdyaWQtZGFzaGFycmF5KSB7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogJGN0LWdyaWQtZGFzaGFycmF5O1xuICB9XG59XG5cbkBtaXhpbiBjdC1jaGFydC1wb2ludCgkY3QtcG9pbnQtc2l6ZTogJGN0LXBvaW50LXNpemUsICRjdC1wb2ludC1zaGFwZTogJGN0LXBvaW50LXNoYXBlKSB7XG4gIHN0cm9rZS13aWR0aDogJGN0LXBvaW50LXNpemU7XG4gIHN0cm9rZS1saW5lY2FwOiAkY3QtcG9pbnQtc2hhcGU7XG59XG5cbkBtaXhpbiBjdC1jaGFydC1saW5lKCRjdC1saW5lLXdpZHRoOiAkY3QtbGluZS13aWR0aCwgJGN0LWxpbmUtZGFzaGFycmF5OiAkY3QtbGluZS1kYXNoYXJyYXkpIHtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlLXdpZHRoOiAkY3QtbGluZS13aWR0aDtcblxuICBAaWYgKCRjdC1saW5lLWRhc2hhcnJheSkge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6ICRjdC1saW5lLWRhc2hhcnJheTtcbiAgfVxufVxuXG5AbWl4aW4gY3QtY2hhcnQtYXJlYSgkY3QtYXJlYS1vcGFjaXR5OiAkY3QtYXJlYS1vcGFjaXR5KSB7XG4gIHN0cm9rZTogbm9uZTtcbiAgZmlsbC1vcGFjaXR5OiAkY3QtYXJlYS1vcGFjaXR5O1xufVxuXG5AbWl4aW4gY3QtY2hhcnQtYmFyKCRjdC1iYXItd2lkdGg6ICRjdC1iYXItd2lkdGgpIHtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlLXdpZHRoOiAkY3QtYmFyLXdpZHRoO1xufVxuXG5AbWl4aW4gY3QtY2hhcnQtZG9udXQoJGN0LWRvbnV0LXdpZHRoOiAkY3QtZG9udXQtd2lkdGgpIHtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlLXdpZHRoOiAkY3QtZG9udXQtd2lkdGg7XG59XG5cbkBtaXhpbiBjdC1jaGFydC1zZXJpZXMtY29sb3IoJGNvbG9yKSB7XG4gIC4jeyRjdC1jbGFzcy1wb2ludH0sIC4jeyRjdC1jbGFzcy1saW5lfSwgLiN7JGN0LWNsYXNzLWJhcn0sIC4jeyRjdC1jbGFzcy1zbGljZS1kb251dH0ge1xuICAgIHN0cm9rZTogJGNvbG9yO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLXNsaWNlLXBpZX0sIC4jeyRjdC1jbGFzcy1zbGljZS1kb251dC1zb2xpZH0sIC4jeyRjdC1jbGFzcy1hcmVhfSB7XG4gICAgZmlsbDogJGNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBjdC1jaGFydCgkY3QtY29udGFpbmVyLXJhdGlvOiAkY3QtY29udGFpbmVyLXJhdGlvLCAkY3QtdGV4dC1jb2xvcjogJGN0LXRleHQtY29sb3IsICRjdC10ZXh0LXNpemU6ICRjdC10ZXh0LXNpemUsICRjdC1ncmlkLWNvbG9yOiAkY3QtZ3JpZC1jb2xvciwgJGN0LWdyaWQtd2lkdGg6ICRjdC1ncmlkLXdpZHRoLCAkY3QtZ3JpZC1kYXNoYXJyYXk6ICRjdC1ncmlkLWRhc2hhcnJheSwgJGN0LXBvaW50LXNpemU6ICRjdC1wb2ludC1zaXplLCAkY3QtcG9pbnQtc2hhcGU6ICRjdC1wb2ludC1zaGFwZSwgJGN0LWxpbmUtd2lkdGg6ICRjdC1saW5lLXdpZHRoLCAkY3QtYmFyLXdpZHRoOiAkY3QtYmFyLXdpZHRoLCAkY3QtZG9udXQtd2lkdGg6ICRjdC1kb251dC13aWR0aCwgJGN0LXNlcmllcy1uYW1lczogJGN0LXNlcmllcy1uYW1lcywgJGN0LXNlcmllcy1jb2xvcnM6ICRjdC1zZXJpZXMtY29sb3JzKSB7XG5cbiAgLiN7JGN0LWNsYXNzLWxhYmVsfSB7XG4gICAgQGluY2x1ZGUgY3QtY2hhcnQtbGFiZWwoJGN0LXRleHQtY29sb3IsICRjdC10ZXh0LXNpemUpO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWNoYXJ0LWxpbmV9IC4jeyRjdC1jbGFzcy1sYWJlbH0sXG4gIC4jeyRjdC1jbGFzcy1jaGFydC1iYXJ9IC4jeyRjdC1jbGFzcy1sYWJlbH0ge1xuICAgIEBpbmNsdWRlIGN0LWZsZXgoKTtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1jaGFydC1waWV9IC4jeyRjdC1jbGFzcy1sYWJlbH0sXG4gIC4jeyRjdC1jbGFzcy1jaGFydC1kb251dH0gLiN7JGN0LWNsYXNzLWxhYmVsfSB7XG4gICAgZG9taW5hbnQtYmFzZWxpbmU6IGNlbnRyYWw7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtbGFiZWx9LiN7JGN0LWNsYXNzLWhvcml6b250YWx9LiN7JGN0LWNsYXNzLXN0YXJ0fSB7XG4gICAgQGluY2x1ZGUgY3QtYWxpZ24tanVzdGlmeShmbGV4LWVuZCwgZmxleC1zdGFydCk7XG4gICAgLy8gRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBmb3JlaWduT2JqZWN0c1xuICAgIHRleHQtYW5jaG9yOiBzdGFydDtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1sYWJlbH0uI3skY3QtY2xhc3MtaG9yaXpvbnRhbH0uI3skY3QtY2xhc3MtZW5kfSB7XG4gICAgQGluY2x1ZGUgY3QtYWxpZ24tanVzdGlmeShmbGV4LXN0YXJ0LCBmbGV4LXN0YXJ0KTtcbiAgICAvLyBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGZvcmVpZ25PYmplY3RzXG4gICAgdGV4dC1hbmNob3I6IHN0YXJ0O1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWxhYmVsfS4jeyRjdC1jbGFzcy12ZXJ0aWNhbH0uI3skY3QtY2xhc3Mtc3RhcnR9IHtcbiAgICBAaW5jbHVkZSBjdC1hbGlnbi1qdXN0aWZ5KGZsZXgtZW5kLCBmbGV4LWVuZCk7XG4gICAgLy8gRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBmb3JlaWduT2JqZWN0c1xuICAgIHRleHQtYW5jaG9yOiBlbmQ7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtbGFiZWx9LiN7JGN0LWNsYXNzLXZlcnRpY2FsfS4jeyRjdC1jbGFzcy1lbmR9IHtcbiAgICBAaW5jbHVkZSBjdC1hbGlnbi1qdXN0aWZ5KGZsZXgtZW5kLCBmbGV4LXN0YXJ0KTtcbiAgICAvLyBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGZvcmVpZ25PYmplY3RzXG4gICAgdGV4dC1hbmNob3I6IHN0YXJ0O1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWNoYXJ0LWJhcn0gLiN7JGN0LWNsYXNzLWxhYmVsfS4jeyRjdC1jbGFzcy1ob3Jpem9udGFsfS4jeyRjdC1jbGFzcy1zdGFydH0ge1xuICAgIEBpbmNsdWRlIGN0LWFsaWduLWp1c3RpZnkoZmxleC1lbmQsIGNlbnRlcik7XG4gICAgLy8gRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBmb3JlaWduT2JqZWN0c1xuICAgIHRleHQtYW5jaG9yOiBzdGFydDtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1jaGFydC1iYXJ9IC4jeyRjdC1jbGFzcy1sYWJlbH0uI3skY3QtY2xhc3MtaG9yaXpvbnRhbH0uI3skY3QtY2xhc3MtZW5kfSB7XG4gICAgQGluY2x1ZGUgY3QtYWxpZ24tanVzdGlmeShmbGV4LXN0YXJ0LCBjZW50ZXIpO1xuICAgIC8vIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZm9yZWlnbk9iamVjdHNcbiAgICB0ZXh0LWFuY2hvcjogc3RhcnQ7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtY2hhcnQtYmFyfS4jeyRjdC1jbGFzcy1ob3Jpem9udGFsLWJhcnN9IC4jeyRjdC1jbGFzcy1sYWJlbH0uI3skY3QtY2xhc3MtaG9yaXpvbnRhbH0uI3skY3QtY2xhc3Mtc3RhcnR9IHtcbiAgICBAaW5jbHVkZSBjdC1hbGlnbi1qdXN0aWZ5KGZsZXgtZW5kLCBmbGV4LXN0YXJ0KTtcbiAgICAvLyBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGZvcmVpZ25PYmplY3RzXG4gICAgdGV4dC1hbmNob3I6IHN0YXJ0O1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWNoYXJ0LWJhcn0uI3skY3QtY2xhc3MtaG9yaXpvbnRhbC1iYXJzfSAuI3skY3QtY2xhc3MtbGFiZWx9LiN7JGN0LWNsYXNzLWhvcml6b250YWx9LiN7JGN0LWNsYXNzLWVuZH0ge1xuICAgIEBpbmNsdWRlIGN0LWFsaWduLWp1c3RpZnkoZmxleC1zdGFydCwgZmxleC1zdGFydCk7XG4gICAgLy8gRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBmb3JlaWduT2JqZWN0c1xuICAgIHRleHQtYW5jaG9yOiBzdGFydDtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1jaGFydC1iYXJ9LiN7JGN0LWNsYXNzLWhvcml6b250YWwtYmFyc30gLiN7JGN0LWNsYXNzLWxhYmVsfS4jeyRjdC1jbGFzcy12ZXJ0aWNhbH0uI3skY3QtY2xhc3Mtc3RhcnR9IHtcbiAgICAvL0BpbmNsdWRlIGN0LWNoYXJ0LWxhYmVsKCRjdC10ZXh0LWNvbG9yLCAkY3QtdGV4dC1zaXplLCBjZW50ZXIsICRjdC12ZXJ0aWNhbC10ZXh0LWp1c3RpZnkpO1xuICAgIEBpbmNsdWRlIGN0LWFsaWduLWp1c3RpZnkoY2VudGVyLCBmbGV4LWVuZCk7XG4gICAgLy8gRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBmb3JlaWduT2JqZWN0c1xuICAgIHRleHQtYW5jaG9yOiBlbmQ7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtY2hhcnQtYmFyfS4jeyRjdC1jbGFzcy1ob3Jpem9udGFsLWJhcnN9IC4jeyRjdC1jbGFzcy1sYWJlbH0uI3skY3QtY2xhc3MtdmVydGljYWx9LiN7JGN0LWNsYXNzLWVuZH0ge1xuICAgIEBpbmNsdWRlIGN0LWFsaWduLWp1c3RpZnkoY2VudGVyLCBmbGV4LXN0YXJ0KTtcbiAgICAvLyBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGZvcmVpZ25PYmplY3RzXG4gICAgdGV4dC1hbmNob3I6IGVuZDtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1ncmlkfSB7XG4gICAgQGluY2x1ZGUgY3QtY2hhcnQtZ3JpZCgkY3QtZ3JpZC1jb2xvciwgJGN0LWdyaWQtd2lkdGgsICRjdC1ncmlkLWRhc2hhcnJheSk7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtZ3JpZC1iYWNrZ3JvdW5kfSB7XG4gICAgZmlsbDogJGN0LWdyaWQtYmFja2dyb3VuZC1maWxsO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLXBvaW50fSB7XG4gICAgQGluY2x1ZGUgY3QtY2hhcnQtcG9pbnQoJGN0LXBvaW50LXNpemUsICRjdC1wb2ludC1zaGFwZSk7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtbGluZX0ge1xuICAgIEBpbmNsdWRlIGN0LWNoYXJ0LWxpbmUoJGN0LWxpbmUtd2lkdGgpO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWFyZWF9IHtcbiAgICBAaW5jbHVkZSBjdC1jaGFydC1hcmVhKCk7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtYmFyfSB7XG4gICAgQGluY2x1ZGUgY3QtY2hhcnQtYmFyKCRjdC1iYXItd2lkdGgpO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLXNsaWNlLWRvbnV0fSB7XG4gICAgQGluY2x1ZGUgY3QtY2hhcnQtZG9udXQoJGN0LWRvbnV0LXdpZHRoKTtcbiAgfVxuXG4gIEBpZiAkY3QtaW5jbHVkZS1jb2xvcmVkLXNlcmllcyB7XG4gICAgQGZvciAkaSBmcm9tIDAgdG8gbGVuZ3RoKCRjdC1zZXJpZXMtbmFtZXMpIHtcbiAgICAgIC4jeyRjdC1jbGFzcy1zZXJpZXN9LSN7bnRoKCRjdC1zZXJpZXMtbmFtZXMsICRpICsgMSl9IHtcbiAgICAgICAgJGNvbG9yOiBudGgoJGN0LXNlcmllcy1jb2xvcnMsICRpICsgMSk7XG5cbiAgICAgICAgQGluY2x1ZGUgY3QtY2hhcnQtc2VyaWVzLWNvbG9yKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpZiAkY3QtaW5jbHVkZS1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgY3QtY2hhcnQoKTtcblxuICBAaWYgJGN0LWluY2x1ZGUtYWx0ZXJuYXRpdmUtcmVzcG9uc2l2ZS1jb250YWluZXJzIHtcbiAgICBAZm9yICRpIGZyb20gMCB0byBsZW5ndGgoJGN0LXNjYWxlcy1uYW1lcykge1xuICAgICAgLiN7bnRoKCRjdC1zY2FsZXMtbmFtZXMsICRpICsgMSl9IHtcbiAgICAgICAgQGluY2x1ZGUgY3QtcmVzcG9uc2l2ZS1zdmctY29udGFpbmVyKCRyYXRpbzogbnRoKCRjdC1zY2FsZXMsICRpICsgMSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gU2NhbGVzIGZvciByZXNwb25zaXZlIFNWRyBjb250YWluZXJzXG4kY3Qtc2NhbGVzOiAoKDEpLCAoMTUvMTYpLCAoOC85KSwgKDUvNiksICg0LzUpLCAoMy80KSwgKDIvMyksICg1LzgpLCAoMS8xLjYxOCksICgzLzUpLCAoOS8xNiksICg4LzE1KSwgKDEvMiksICgyLzUpLCAoMy84KSwgKDEvMyksICgxLzQpKSAhZGVmYXVsdDtcbiRjdC1zY2FsZXMtbmFtZXM6IChjdC1zcXVhcmUsIGN0LW1pbm9yLXNlY29uZCwgY3QtbWFqb3Itc2Vjb25kLCBjdC1taW5vci10aGlyZCwgY3QtbWFqb3ItdGhpcmQsIGN0LXBlcmZlY3QtZm91cnRoLCBjdC1wZXJmZWN0LWZpZnRoLCBjdC1taW5vci1zaXh0aCwgY3QtZ29sZGVuLXNlY3Rpb24sIGN0LW1ham9yLXNpeHRoLCBjdC1taW5vci1zZXZlbnRoLCBjdC1tYWpvci1zZXZlbnRoLCBjdC1vY3RhdmUsIGN0LW1ham9yLXRlbnRoLCBjdC1tYWpvci1lbGV2ZW50aCwgY3QtbWFqb3ItdHdlbGZ0aCwgY3QtZG91YmxlLW9jdGF2ZSkgIWRlZmF1bHQ7XG5cbi8vIENsYXNzIG5hbWVzIHRvIGJlIHVzZWQgd2hlbiBnZW5lcmF0aW5nIENTU1xuJGN0LWNsYXNzLWNoYXJ0OiBjdC1jaGFydCAhZGVmYXVsdDtcbiRjdC1jbGFzcy1jaGFydC1saW5lOiBjdC1jaGFydC1saW5lICFkZWZhdWx0O1xuJGN0LWNsYXNzLWNoYXJ0LWJhcjogY3QtY2hhcnQtYmFyICFkZWZhdWx0O1xuJGN0LWNsYXNzLWhvcml6b250YWwtYmFyczogY3QtaG9yaXpvbnRhbC1iYXJzICFkZWZhdWx0O1xuJGN0LWNsYXNzLWNoYXJ0LXBpZTogY3QtY2hhcnQtcGllICFkZWZhdWx0O1xuJGN0LWNsYXNzLWNoYXJ0LWRvbnV0OiBjdC1jaGFydC1kb251dCAhZGVmYXVsdDtcbiRjdC1jbGFzcy1sYWJlbDogY3QtbGFiZWwgIWRlZmF1bHQ7XG4kY3QtY2xhc3Mtc2VyaWVzOiBjdC1zZXJpZXMgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtbGluZTogY3QtbGluZSAhZGVmYXVsdDtcbiRjdC1jbGFzcy1wb2ludDogY3QtcG9pbnQgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtYXJlYTogY3QtYXJlYSAhZGVmYXVsdDtcbiRjdC1jbGFzcy1iYXI6IGN0LWJhciAhZGVmYXVsdDtcbiRjdC1jbGFzcy1zbGljZS1waWU6IGN0LXNsaWNlLXBpZSAhZGVmYXVsdDtcbiRjdC1jbGFzcy1zbGljZS1kb251dDogY3Qtc2xpY2UtZG9udXQgIWRlZmF1bHQ7XG4kY3QtY2xhc3Mtc2xpY2UtZG9udXQtc29saWQ6IGN0LXNsaWNlLWRvbnV0LXNvbGlkICFkZWZhdWx0O1xuJGN0LWNsYXNzLWdyaWQ6IGN0LWdyaWQgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtZ3JpZC1iYWNrZ3JvdW5kOiBjdC1ncmlkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtdmVydGljYWw6IGN0LXZlcnRpY2FsICFkZWZhdWx0O1xuJGN0LWNsYXNzLWhvcml6b250YWw6IGN0LWhvcml6b250YWwgIWRlZmF1bHQ7XG4kY3QtY2xhc3Mtc3RhcnQ6IGN0LXN0YXJ0ICFkZWZhdWx0O1xuJGN0LWNsYXNzLWVuZDogY3QtZW5kICFkZWZhdWx0O1xuXG4vLyBDb250YWluZXIgcmF0aW9cbiRjdC1jb250YWluZXItcmF0aW86ICgxLzEuNjE4KSAhZGVmYXVsdDtcblxuLy8gVGV4dCBzdHlsZXMgZm9yIGxhYmVsc1xuJGN0LXRleHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KSAhZGVmYXVsdDtcbiRjdC10ZXh0LXNpemU6IDAuNzVyZW0gIWRlZmF1bHQ7XG4kY3QtdGV4dC1hbGlnbjogZmxleC1zdGFydCAhZGVmYXVsdDtcbiRjdC10ZXh0LWp1c3RpZnk6IGZsZXgtc3RhcnQgIWRlZmF1bHQ7XG4kY3QtdGV4dC1saW5lLWhlaWdodDogMTtcblxuLy8gR3JpZCBzdHlsZXNcbiRjdC1ncmlkLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMikgIWRlZmF1bHQ7XG4kY3QtZ3JpZC1kYXNoYXJyYXk6IDJweCAhZGVmYXVsdDtcbiRjdC1ncmlkLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kY3QtZ3JpZC1iYWNrZ3JvdW5kLWZpbGw6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vIExpbmUgY2hhcnQgcHJvcGVydGllc1xuJGN0LWxpbmUtd2lkdGg6IDRweCAhZGVmYXVsdDtcbiRjdC1saW5lLWRhc2hhcnJheTogZmFsc2UgIWRlZmF1bHQ7XG4kY3QtcG9pbnQtc2l6ZTogMTBweCAhZGVmYXVsdDtcbi8vIExpbmUgY2hhcnQgcG9pbnQsIGNhbiBiZSBlaXRoZXIgcm91bmQgb3Igc3F1YXJlXG4kY3QtcG9pbnQtc2hhcGU6IHJvdW5kICFkZWZhdWx0O1xuLy8gQXJlYSBmaWxsIHRyYW5zcGFyZW5jeSBiZXR3ZWVuIDAgYW5kIDFcbiRjdC1hcmVhLW9wYWNpdHk6IDAuMSAhZGVmYXVsdDtcblxuLy8gQmFyIGNoYXJ0IGJhciB3aWR0aFxuJGN0LWJhci13aWR0aDogMTBweCAhZGVmYXVsdDtcblxuLy8gRG9udXQgd2lkdGggKElmIGRvbnV0IHdpZHRoIGlzIHRvIGJpZyBpdCBjYW4gY2F1c2UgaXNzdWVzIHdoZXJlIHRoZSBzaGFwZSBnZXRzIGRpc3RvcnRlZClcbiRjdC1kb251dC13aWR0aDogNjBweCAhZGVmYXVsdDtcblxuLy8gSWYgc2V0IHRvIHRydWUgaXQgd2lsbCBpbmNsdWRlIHRoZSBkZWZhdWx0IGNsYXNzZXMgYW5kIGdlbmVyYXRlIENTUyBvdXRwdXQuIElmIHlvdSdyZSBwbGFubmluZyB0byB1c2UgdGhlIG1peGlucyB5b3Vcbi8vIHNob3VsZCBzZXQgdGhpcyBwcm9wZXJ0eSB0byBmYWxzZVxuJGN0LWluY2x1ZGUtY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gSWYgdGhpcyBpcyBzZXQgdG8gdHJ1ZSB0aGUgQ1NTIHdpbGwgY29udGFpbiBjb2xvcmVkIHNlcmllcy4gWW91IGNhbiBleHRlbmQgb3IgY2hhbmdlIHRoZSBjb2xvciB3aXRoIHRoZVxuLy8gcHJvcGVydGllcyBiZWxvd1xuJGN0LWluY2x1ZGUtY29sb3JlZC1zZXJpZXM6ICRjdC1pbmNsdWRlLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIElmIHNldCB0byB0cnVlIHRoaXMgd2lsbCBpbmNsdWRlIGFsbCByZXNwb25zaXZlIGNvbnRhaW5lciB2YXJpYXRpb25zIHVzaW5nIHRoZSBzY2FsZXMgZGVmaW5lZCBhdCB0aGUgdG9wIG9mIHRoZSBzY3JpcHRcbiRjdC1pbmNsdWRlLWFsdGVybmF0aXZlLXJlc3BvbnNpdmUtY29udGFpbmVyczogJGN0LWluY2x1ZGUtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gU2VyaWVzIG5hbWVzIGFuZCBjb2xvcnMuIFRoaXMgY2FuIGJlIGV4dGVuZGVkIG9yIGN1c3RvbWl6ZWQgYXMgZGVzaXJlZC4gSnVzdCBhZGQgbW9yZSBzZXJpZXMgYW5kIGNvbG9ycy5cbiRjdC1zZXJpZXMtbmFtZXM6IChhLCBiLCBjLCBkLCBlLCBmLCBnLCBoLCBpLCBqLCBrLCBsLCBtLCBuLCBvKSAhZGVmYXVsdDtcbiRjdC1zZXJpZXMtY29sb3JzOiAoXG4gICNkNzAyMDYsXG4gICNmMDViNGYsXG4gICNmNGM2M2QsXG4gICNkMTc5MDUsXG4gICM0NTNkM2YsXG4gICM1OTkyMmIsXG4gICMwNTQ0ZDMsXG4gICM2YjAzOTIsXG4gICNmMDViNGYsXG4gICNkZGE0NTgsXG4gICNlYWNmN2QsXG4gICM4Njc5N2QsXG4gICNiMmMzMjYsXG4gICM2MTg4ZTIsXG4gICNhNzQ4Y2FcbikgIWRlZmF1bHQ7XG4iLCJAaW1wb3J0IFwifmNoYXJ0aXN0L2Rpc3Qvc2Nzcy9jaGFydGlzdC5zY3NzXCI7XG5cbi8vIEluc2lkZSBwaWUgY2hhcnRzXG4uY3QtY2hhcnQtcGllIHtcbiAgLmN0LWxhYmVsIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgfVxufVxuXG4uY3QtbGVnZW5kIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDtcblxuICBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMS41ZW07XG4gICAgcGFkZGluZy1yaWdodDogLjVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICBsaTpiZWZvcmUge1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1LjVweDtcbiAgICBsZWZ0OiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgfVxuXG4gIGxpLmluYWN0aXZlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBcbiAgfVxuXG4gICYuY3QtbGVnZW5kLWluc2lkZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDAgdG8gbGVuZ3RoKCRjdC1zZXJpZXMtY29sb3JzKSB7XG4gICAgLmN0LXNlcmllcy0jeyRpfTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbnRoKCRjdC1zZXJpZXMtY29sb3JzLCAkaSArIDEpO1xuICAgICAgYm9yZGVyLWNvbG9yOiBudGgoJGN0LXNlcmllcy1jb2xvcnMsICRpICsgMSk7XG4gICAgfVxuICB9XG59XG5cbi5jdC1iYXIge1xuICBzdHJva2Utd2lkdGg6IDUwcHg7XG59XG5cbi5jdC1sYWJlbCB7XG4gIGZpbGw6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmN0LWhvcml6b250YWwuY3QtbGFiZWwuY3QtZW5kIHtcbiAgJi5jdC1sYWJlbC1yb3RhdGUtNDUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZylcbiAgfVxuXG4gICYuY3QtbGFiZWwtcm90YXRlLTQ1LWVuZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG59XG5cbngtY2hhcnRpc3Qgc3ZnIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4iLCIvLyBOZXV0cmFsIFN0b25lIHNjYWxlIChUYWlsd2luZC1kZXJpdmVkKSDigJQgd2FybSBncmF5cyBmb3Igc3VyZmFjZXMsIHRleHQsIGJvcmRlcnMuXG4vLyBEZWNsYXJlZCBhdCB0aGUgdG9wIGJlY2F1c2UgbmF2YmFyL3NpZGVuYXYgdmFyaWFibGVzIGJlbG93IHJlZmVyZW5jZSB0aGVzZSB0b2tlbnMuXG4kZ3JheS0wOiAgICNGRkZGRkY7XG4kZ3JheS01MDogICNGQUZBRjk7XG4kZ3JheS0xMDA6ICNGNUY1RjQ7XG4kZ3JheS0xMjU6ICNGMUYwRUY7ICAvLyBNaWRwb2ludCB3YXJtLXN0b25lIGVudHJlIDEwMCBlIDE1MCDigJQgc3VyZmFjZSBhaW5kYSBtYWlzIHN1dGlsIHF1ZSBncmF5LTE1MFxuJGdyYXktMTUwOiAjRUVFQ0VCOyAgLy8gTWlkcG9pbnQgd2FybS1zdG9uZSBlbnRyZSAxMDAgZSAyMDAg4oCUIHVzYWRvIHByYSBzdXJmYWNlcyBkZSBjYXJkIHN1dGlsbWVudGUgbWFpcyBlc2N1cmFzIHF1ZSBncmF5LTEwMFxuJGdyYXktMjAwOiAjRTdFNUU0O1xuJGdyYXktMzAwOiAjRDZEM0QxO1xuJGdyYXktNDAwOiAjQThBMjlFOyAgLy8gVGFpbHdpbmQgc3RvbmUtNDAwIOKAlCBhZGRlZCAyMDI2LTA1LTIyIHBhcmEgcHJlZW5jaGVyIGdhcCBlbnRyZSAzMDAgZSA1MDBcbiRncmF5LTQ1MDogIzkwODk4NTsgIC8vIE1pZHBvaW50IHdhcm0tc3RvbmUgaW50ZXJwb2xhZG8gZW50cmUgNDAwIGUgNTAwIChuw6NvLVRhaWx3aW5kIG9maWNpYWwpIOKAlCB1c2FkbyBlbSBib3JkZXIgZG8gY2hlY2tib3ggdW5jaGVja2VkIG5vIGNoYWlyIFVJXG4kZ3JheS01MDA6ICM3ODcxNkM7XG4kZ3JheS03MDA6ICM0NDQwM0M7XG4kZ3JheS05MDA6ICMxQzE5MTc7XG5cbi8vIEludGVyYWN0aW9uIHN0YXRlcyB1c2luZyBOb3Rpb24ncyBleGFjdCB0b2tlbnMgKC0tYy1iYWNUZXIgKyBzbGlnaHRseSBkYXJrZXJcbi8vIGZvciB0aGUgYWN0aXZlIHN0YXRlIHNpbmNlIE5vdGlvbidzIHNlbGVjdGVkIGlzbid0IGluIHRoZSBwdWJsaWMgQ1NTIGR1bXApLlxuJGhvdmVyLWJnOiAgI2YwZWZlZDsgIC8vIG1vdXNlb3ZlciAoTm90aW9uIC0tYy1iYWNUZXIpXG4kYWN0aXZlLWJnOiAjZTllOGU2OyAgLy8gY3VycmVudCBpdGVtIOKAlCBvbmUgc3RlcCBkYXJrZXIgdGhhbiBob3ZlciBmb3IgY2xhcml0eVxuXG4kbWFpbi10aGVtZS1jb2xvcjogIzE5MmE1OTtcbiRtYWluLXRoZW1lLWNvbG9yLWxpZ2h0OiBsaWdodGVuKCRtYWluLXRoZW1lLWNvbG9yLCA2MCk7XG4kbWFpbi10aGVtZS1jb2xvci1kYXJrZXI6IGRhcmtlbigkbWFpbi10aGVtZS1jb2xvciwgMTApO1xuLy8gUGFyIERBUksgZG8gbmF2eSBkZSBtYXJjYS4gTm8gbGlnaHQgYSBmYWl4YSBoZXJvIGRvIGBhcHAtZm9ybS1vdmVybGF5YCDDqSB1bVxuLy8gc2xhYiAjMTkyYTU5IGNvbSBvIGNhcmQgQlJBTkNPIHBvciBjaW1hIOKAlCBjb250cmFzdGUgZm9ydGUsIGludGVuY2lvbmFsLiBOb1xuLy8gZGFyayBvIGNhcmQgw6kgIzQyNDI0MiBlIGEgZmFpeGEgZmljYXZhIGNvbSBsdW1pbsOibmNpYSBwcmF0aWNhbWVudGUgaWTDqm50aWNhXG4vLyAoMC4wMjYgdnMgMC4wNTQpLCBlbnTDo28gbyBjYXJkIG7Do28gZGVzY29sYXZhIGRvIGZ1bmRvIGUgYWluZGEgaGF2aWEgbyBkZWdyYXVcbi8vIHNlY28gcGFyYSBvIHByZXRvIHB1cm8gZGEgcMOhZ2luYSAoaXNzdWUgIzIzNzEpLiBFc3RlIHRvbSBtYW50w6ltIG8gbWF0aXogZGFcbi8vIG1hcmNhIGUgbW9udGEgYSBlc2NhZGEgZGUgZWxldmHDp8OjbyBww6FnaW5hIOKGkiBmYWl4YSDihpIgY2FyZFxuLy8gKDAuMDAwIOKGkiAwLjAyNCDihpIgMC4wNTQpLlxuJG1haW4tdGhlbWUtY29sb3ItZGFyazogIzIzMmE0MDtcbi8vIFBhciBEQVJLIGRvIHRvbSBQw4FMSURPICh1c2FkbyBjb21vIGZ1bmRvIGRlIGRlc3RhcXVlOiBsaW5oYSByZWl2aW5kaWNhZGEgZW1cbi8vIGNsYWltLXJldmlldywgY8OtcmN1bG8gZG8gw61jb25lIGVtIGVtcHR5LXN0YXRlKS4gYGxpZ2h0ZW4oLi4sIDYwKWAgw6kgcXVhc2Vcbi8vIGJyYW5jbyDigJQgbm8gZGFyayB2aXJhdmEgdW0gYm9ycsOjbyBjbGFyby4gU2VndWUgbyBwcmVjZWRlbnRlIGRvXG4vLyBgJHNlY29uZGFyeS10aGVtZS1jb2xvci1saWdodC1kYXJrYCAoIzQzNDM0MyksIG1hcyBjb20gbWF0aXogYXp1bCBwYXJhXG4vLyBjb250aW51YXIgZGlzdGluZ3XDrXZlbCBkZWxlIHF1YW5kbyBvcyBkb2lzIGFwYXJlY2VtIG5hIE1FU01BIHRhYmVsYVxuLy8gKC5wYXBlci1jbGFpbWVkIHZzIC5pcy1hc3NpZ25lZCBlbSBjbGFpbS1yZXZpZXcpLlxuJG1haW4tdGhlbWUtY29sb3ItbGlnaHQtZGFyazogIzM5NDE1YTtcbiRzZWNvbmRhcnktdGhlbWUtY29sb3I6ICNiYWJmY2Q7XG4kc2Vjb25kYXJ5LXRoZW1lLWNvbG9yLWxpZ2h0OiAjZTNlNWViO1xuJHNlY29uZGFyeS10aGVtZS1jb2xvci1saWdodC1kYXJrOiAjNDM0MzQzO1xuJHNlY29uZGFyeS10aGVtZS1jb2xvci1saWdodGVyOiAjZmFmYWZhOyAvLyBDb21wb25lbnQgQmFja2dyb3VuZFxuLy8gQWNjZW50IE9SSUdJTkFMIGRvIEpFTVMzIChyZXZlcnRpZG8gZG8gbWFjT1Mgc3lzdGVtQmx1ZSkuIFVzYWRvIHRhbnRvIGNvbW8gRklMTFxuLy8gZGUgc3VwZXJmw61jaWVzIChib3TDtWVzIHByaW1hcnksIGNoaXBzIHNlbGVjaW9uYWRvcywgZm9jdXMgcmluZ3MsIGNoZWNrYm94XG4vLyBgYWNjZW50LWNvbG9yYCkgUVVBTlRPIGNvbW8gY29yIGRlIFRFWFRPL0xJTksg4oCUIFNFTSB0b2tlbiBkZWRpY2FkbyBkZSB0ZXh0bzogYVxuLy8gc2VwYXJhw6fDo28gYCRhY2NlbnQtdGV4dC0qYCBmb2kgcmV2ZXJ0aWRhICh0ZXh0byBlIGdyw6FmaWNvcyB1c2FtIG8gbWVzbW8gYXp1bCkuXG4vLyAgIOKAoiBMaWdodCBgIzA2NGFkOWAg4oCUIGF6dWwgb3JpZ2luYWwgZG8gSkVNUzMgKEFBQSBzb2JyZSBicmFuY28pXG4vLyAgIOKAoiBEYXJrICBgIzYwYTVmYWAg4oCUIGJsdWUtNDAwOiBsZWfDrXZlbCBzb2JyZSBhIGZvbGhhIGVzY3VyYSAjMjAyMDIwIChBQSlcbi8vIE8gc2lnaWwgZGUgRXZlbnRvcyBzZWd1ZSBhbWJlci9nb2xkZW4g4oCUIG5hdHVyYWxtZW50ZSBkaXN0aW50byBkbyBhY2NlbnQuXG4kYWNjZW50LWJhY2tncm91bmQ6ICMwNjRhZDk7XG4kYWNjZW50LWJhY2tncm91bmQtZGFyazogIzYwYTVmYTtcbiRjaGVja2JveC1jaGVja2VkLWJhY2tncm91bmQ6ICRzZWNvbmRhcnktdGhlbWUtY29sb3ItbGlnaHQ7XG4kYWNjZW50LWNvbG9yLXdhcm5pbmc6ICNlOTE0MTQ7XG4kYWNjZW50LWNvbG9yLXdhcm5pbmctZGFyazogI0ZGNkI2QjsgLy8gdmVybWVsaG8tY2xhcm8gcC8gbGVnaWJpbGlkYWRlIG5vIGRhcmsgKHJlZC00MDApXG4kYWNjZW50LWNvbG9yLXN1Y2Nlc3M6ICMyZTllNDQ7XG4kYWNjZW50LWNvbG9yLXN1Y2Nlc3MtZGFyazogIzY2QkI2QTsgLy8gdmVyZGUtY2xhcm8gcC8gbGVnaWJpbGlkYWRlIG5vIGRhcmsgKGdyZWVuLTQwMClcblxuJHJldmlldy1ub3Rlcy1iYWNrZ3JvdW5kOiAjZGZmMGQ4O1xuJHJldmlldy1kcmFmdC1iYWNrZ3JvdW5kOiByZ2JhKDUxLCAxNDcsIDI1NSwgLjYpO1xuJGxpc3QtZXZlbi1iYWNrZ3JvdW5kOiAjZWVlZmYyO1xuJGxpc3QtYmFja2dyb3VuZC1ob3ZlcjogI2Q1ZDZkODtcbiRjb2x1bW4tYm9yZGVyLWNvbG9yOiAjODQ4Nzg5O1xuXG4kYWRtaW4tYmFja2dyb3VuZDogd2hpdGU7XG4kYWRtaW4tYmFja2dyb3VuZC1kYXJrOiBibGFjaztcbiRhZG1pbi1jYXJkOiAjRjZGNkY2O1xuJGFkbWluLWNhcmQtYm9yZGVyOiBsaWdodGdyYXk7XG5cbiRjb250ZW50LWJhY2tncm91bmQ6IHdoaXRlO1xuJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrOiBibGFjaztcbiRjb250ZW50LWNvbG9yOiAjMzYzNjM2O1xuJGNvbnRlbnQtY29sb3ItZGFyazogI0Y2RjZGNjtcbiRjb250ZW50LWxpZ2h0Y29sb3I6IGxpZ2h0ZW4gKCRjb250ZW50LWNvbG9yLCA2MCk7XG4kY29udGVudC1saWdodGNvbG9yLWRhcms6IGxpZ2h0Z3JheTtcbi8vIENvciBkZSB0ZXh0byBkbyBjYWJlw6dhbGhvIGRlIHRhYmVsYSAoTWF0ZXJpYWwgYC5tYXQtaGVhZGVyLWNlbGxgKTogY2luemFcbi8vIGVzbWFlY2lkby4gVG9rZW4gw7puaWNvIHJldXNhZG8gcGVsbyBjYWJlw6dhbGhvIEUgcGVsYSBjb2x1bmEgZGUgbnVtZXJhw6fDo28gKCMpLFxuLy8gcHJhIGFtYm9zIGZpY2FyZW0gaWTDqm50aWNvcy4gbGlnaHQgPSByZ2JhKDAsMCwwLC41NDEpOyBkYXJrID0gcmdiYSgyNTUsMjU1LDI1NSwuNzApLlxuJHRhYmxlLWhlYWRlci1jb2xvcjogIzAwMDAwMDhBO1xuJHRhYmxlLWhlYWRlci1jb2xvci1kYXJrOiAjRkZGRkZGQjM7XG4kY29udGVudC1ib3JkZXI6IHJnYmEoMCwgMCwgMCwgLjIzKTtcblxuJHNpZGViYXItYmFja2dyb3VuZDogJHNlY29uZGFyeS10aGVtZS1jb2xvci1saWdodGVyO1xuJHNpZGViYXItbGFiZWwtc2VsZWN0ZWQtYmFja2dyb3VuZDogI2U2ZTZlNjtcblxuJGxhbmRpbmctYmFja2dyb3VuZDogd2hpdGVzbW9rZTtcbiRmb290ZXItYmFja2dyb3VuZDogd2hpdGVzbW9rZTtcbiRmYWItYmFja2dyb3VuZDogd2hpdGU7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kOiB3aGl0ZTtcbiRjbG9zZS1idXR0b24tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiRibGFjay1iYWNrZ3JvdW5kLWFscGhhMjogcmdiYSgwLCAwLCAwLCAuMik7XG4kYmxhY2stYmFja2dyb3VuZC1hbHBoYTE6IHJnYmEoMCwgMCwgMCwgLjEpOyAvLyBDb21wb25lbnQgY29sb3JzXG5cbiRyZXZpZXctZm9ybS1ib3JkZXI6IHJnYigxNzksIDEzNiwgMjU1KTtcbiRyZXZpZXctdGV4dC1maWVsZDogcmdiYSgwLCAwLCAwLCAuNSk7XG4kcmV2aWV3LXRleHQtZmllbGQtZGFyazogcmdiKDI1NSwgMjU1LCAyNTUsIC41KTtcblxuJGV2ZW50LWNyZWF0aW9uLWZvcm0tYm9yZGVyOiByZ2IoMjQ0LCAxNjQsIDk2KTtcbiRldmVudC1yZXF1ZXN0LWZvcm0tYm9yZGVyOiAjQjlBRDgzO1xuJGV2ZW50LWNhcmQtYmFja2dyb3VuZDogI2VkZWRlZDtcbiRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyazogIzI2MjYyNjtcbi8vIFN1cGVyZsOtY2llIG5ldXRyYSBFTEVWQURBIOKAlCB1bSBwYXNzbyBhY2ltYSBkYSBmb2xoYSAoJGFkbWluLWJhY2tncm91bmQpLlxuLy8gVG9rZW4gZGUgcHJvcMOzc2l0byBnZXJhbCBwLyBlbGVtZW50b3MgXCJsZXZhbnRhZG9zXCIgKHN1Yi1ib3TDo28gZGUgc2VsZWN0LFxuLy8gY2FyZHMgZGUgYXJxdWl2bywgcGFpbsOpaXMsIGV0Yy4pLiBWYWxvciBsaWdodCA9IHRvbSBxdWVudGUgTm90aW9uIChtZXNtb1xuLy8gZG8gaG92ZXIgZGEgc2lkZWJhciBhZG1pbikgcC8gY29udmVyc2FyIGNvbSBvIHJlc3RvIGRvIGNoYWlyIFVJLlxuJHN1cmZhY2UtcmFpc2VkOiAjZjNmMmYwO1xuJHN1cmZhY2UtcmFpc2VkLWRhcms6ICMzMDMwMzA7XG5cbi8vIENvciBkZSDDjUNPTkUgc2VjdW5kw6FyaW8gLyBtdXRlZCAoZ2xpZm9zIHF1ZSBuw6NvIGNvbXBldGVtIGNvbSBvIGNvbnRlw7pkbzpcbi8vICsv4oiSIGRvIG51bWJlci1pbnB1dCwgY2hldnJvbiBkdXBsbyBkbyBzZWxlY3QsIGx1cGEgZG8gZmlsdHJvLCBzZXRhIGRvXG4vLyBkYXRlcGlja2VyLCBldGMuKS4gRXF1aXZhbGVudGUgYW8gYFVJQ29sb3Iuc2Vjb25kYXJ5TGFiZWxgIGRvIG1hY09TIOKAlFxuLy8gbmV1dHJhLCBhbGZhIDU1JSBwLyBpbnRlZ3JhciBjb20gcXVhbHF1ZXIgYmcgKGTDoSB0YW1iw6ltIG9wYWNpdHkgZmVlZGJhY2tcbi8vIG5vIGhvdmVyL2Rpc2FibGVkIHBvciBoZXJhbsOnYSkuXG4kaWNvbi1tdXRlZDogcmdiYSgwLCAwLCAwLCAwLjU1KTtcbiRpY29uLW11dGVkLWRhcms6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSk7XG5cbi8vIENvbnRyYXBhcnRlcyBcImFjZXNhc1wiIOKAlCB1c2FkYXMgZW0gaG92ZXIvZXN0YWRvIGF0aXZvIHByYSBkYXIgZmVlZGJhY2tcbi8vIHZpc3VhbCBkbyBnbGlmbyAobyBjb250YWluZXIgZ2FuaGEgYCRpY29uLWNvbnRhaW5lci1iZ2A7IG8gcHLDs3ByaW9cbi8vIGdsaWZvIGdhbmhhIGVzc2UgdG9tIG1haXMgZXNjdXJvL2NsYXJvKS5cbiRpY29uLW11dGVkLWhvdmVyOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuJGljb24tbXV0ZWQtaG92ZXItZGFyazogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuXG4vLyBDb250YWluZXIgZGUgw41DT05FIOKAlCBtZXNtbyB0b20gZGUgXCJob3ZlciB0cmFuc2zDumNpZG9cIiB1c2FkbyBub3Ncbi8vIHN0ZXBwZXJzIGRvIG51bWJlci1pbnB1dCAoYCsv4oiSYCkuIFByZXRvL2JyYW5jbyBjb20gYWxmYSBiYWl4byBpbnRlZ3JhXG4vLyBjb20gcXVhbHF1ZXIgYmcuIFJldXRpbGl6w6F2ZWwgZW0gc3ViLWJvdMO1ZXMsIHBpbGwtd3JhcHMgZSBlc3RhZG9zIGhvdmVyXG4vLyBkZSBnbGlmb3Mgc2VjdW5kw6FyaW9zIOKAlCBtYW50w6ltIGEgbGluZ3VhZ2VtIGNvZXNhLlxuJGljb24tY29udGFpbmVyLWJnOiByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuJGljb24tY29udGFpbmVyLWJnLWRhcms6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNCk7XG4kZXZlbnQtY2FyZC1saW5lLXNlcGFyYXRvcjogd2hpdGU7XG4kc3VibWlzc2lvbi1jcmVhdGlvbi1mb3JtLWJvcmRlcjogI0JBNTY1ODtcbiRldmVudC1jYXJkLWhvdmVyLWJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiRldmVudC1jYXJkLWhvdmVyLWJvcmRlci1jb2xvci1kYXJrOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5cbiRzaWRlYmFyLWxhYmVsLWNvbG9yOiAjNDM0MzQzO1xuJHNpZGViYXItbGFiZWwtY29sb3ItZGFyazogI0Q2RDZENjtcblxuJHNpZGViYXItZGl2aWRlci1jb2xvcjogJHNpZGViYXItbGFiZWwtc2VsZWN0ZWQtYmFja2dyb3VuZDtcblxuLy8gVFBDIGNoYWlyIFVJIOKAlCBjYW5vbmljYWwgY2hyb21lIGJvcmRlciB0b2tlbnMuXG4vLyBPbmUgcGFpciBmb3IgdGhlIHJlc3Rpbmcgc3RhdGUgKHRoZSBmaW5lIDFweCBsaW5lcyB0aGF0IHNlcGFyYXRlIHRoZVxuLy8gc2lkZWJhciwgYnJlYWRjcnVtYiwgYW5kIG1lbnUgcGFuZWxzIGZyb20gc3Vycm91bmRpbmcgY2hyb21lKSBhbmQgb25lXG4vLyBwYWlyIGZvciB0aGUgXCJhY3RpdmVcIiBzdGF0ZSAodXNlZCB3aGVuIHRoZSB1c2VyIGhvdmVycy9kcmFncyB0aGVcbi8vIHNpZGViYXIgcmVzaXplIGhhbmRsZSwgd2hlcmUgdGhlIGVkZ2UgbGluZSBnZXRzIGEgdG91Y2ggbW9yZSBjb250cmFzdCkuXG4kY2hyb21lLWJvcmRlci1saWdodDogICAgICAgICRncmF5LTIwMDsgICAvLyAjRTdFNUU0IOKAlCBjaGFpciBVSSBkZWZhdWx0IGRpdmlkZXJcbiRjaHJvbWUtYm9yZGVyLWRhcms6ICAgICAgICAgIzNhMzkzNzsgICAgIC8vIGRhcmstbW9kZSBjb3VudGVycGFydCAod2FybSBuZWFyLWJsYWNrICsgMSBzdGVwKVxuJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlOiAkZ3JheS0zMDA7ICAgLy8gI0Q2RDNEMSDigJQgYWN0aXZlL2hvdmVyIHZhcmlhbnRcbiRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlOiAgIzVhNTY1MTsgICAgIC8vIGRhcmstbW9kZSBhY3RpdmUgdmFyaWFudFxuXG4kYWRtaW4tYWNjZW50LWNvbG9yOiB3aGl0ZTtcbiRhZG1pbi1hY2NlbnQtY29sb3ItZGFyazogd2hpdGU7XG4kYWRtaW4tYWNjZW50LWJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiRhZG1pbi1hY2NlbnQtYmFja2dyb3VuZC1jb2xvci1kYXJrOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcblxuJHJvdy10b3BpYy1oaWdobGlnaHQtY29sb3I6ICNlM2U1ZWI7XG4kcm93LXRvcGljLWhpZ2hsaWdodC1jb2xvci1kYXJrOiAjMjYyNjI2O1xuXG4vLyBDb2xvcnMgZm9yIHRoZSB0b3AgbWVudSBpbiBhZG1pblxuJG5hdmJhci1hZG1pbi1iYWNrZ3JvdW5kOiAkZ3JheS01MDtcbiRuYXZiYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrOiAjMjYyNjI2O1xuJG5hdmJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjogJGdyYXktNzAwO1xuJG5hdmJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrOiAjRDZENkQ2O1xuLy8gSG92ZXIgaXMgbmV1dHJhbCBpbiBib3RoIHRoZW1lcyDigJQgbm8gYWdncmVzc2l2ZSBjb2xvciBmbGFzaC5cbi8vIERhcmsgbmF2YmFyIHVzZXMgTElHSFRFUiBob3Zlci9hY3RpdmUgdGhhbiB0aGUgc2lkZWJhciBiZWNhdXNlIHRoZSBuYXZiYXIgYmdcbi8vICgjMjYyNjI2KSBpcyBpdHNlbGYgYnJpZ2h0ZXIgdGhhbiB0aGUgc2lkZWJhciBiZyAoIzIwMjAyMCkg4oCUIHNhbWUgYWJzb2x1dGVcbi8vIGhvdmVyIGNvbG9yIHdvdWxkIGJlIGludmlzaWJsZSBoZXJlLiBWYWx1ZXMgcGlja2VkIGZvciB+MTYgLyB+MjQgYnJpZ2h0bmVzc1xuLy8gdW5pdHMgb2YgY29udHJhc3QgYWdhaW5zdCB0aGUgbmF2YmFyIGJnLlxuJG5hdmJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1jb2xvcjogJGdyYXktOTAwO1xuJG5hdmJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1jb2xvci1kYXJrOiAkbmF2YmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4kbmF2YmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQ6ICRob3Zlci1iZztcbiRuYXZiYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrOiAjMzYzNDMyO1xuJG5hdmJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kOiAkYWN0aXZlLWJnO1xuJG5hdmJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kLWRhcms6ICM0MjQwM2M7XG5cbi8vIGNvbG9ycyBmb3IgdGhlIHNpdGUgbWVudSBpbiBhZG1pblxuJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZDogI2Y5ZjhmNzsgIC8vIE5vdGlvbiAtLWMtYmFjU2VjIChsaWdodClcbiRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyazogIzIwMjAyMDsgIC8vIE5vdGlvbi1lcXVpdmFsZW50IGRhcmsgc2lkZWJhciAod2FybSBuZWFyLWJsYWNrKVxuLy8gU2lkZWJhciBpdGVtIHRleHQg4oCUIHZhbHVlcyBzb3VyY2VkIGZyb20gQ2xhdWRlLmFpJ3Mgc2lkZWJhciAoY29sb3Jcbi8vIHJnYig1NSwgNTUsIDUyKSA9ICMzNzM3MzQpIGZvciBhIG1vcmUgZGVmaW5lZCAvIHJlYWRhYmxlIGdyYXkgdGhhbiB0aGVcbi8vIE5vdGlvbi1kZXJpdmVkICM3MzcyNmQgd2UgaGFkIGJlZm9yZS4gU2VsZWN0ZWQgc3RheXMgc2xpZ2h0bHkgZGFya2VyXG4vLyAoIzJjMmMyYikgc28gdGhlcmUncyBzdGlsbCBhIHN1YnRsZSBjb2xvciBzdGVwIG9uIHRvcCBvZiB0aGUgYmcgcGlsbC5cbiRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yOiAjMzczNzM0OyAgICAgICAgICAgICAvLyBsaWdodCB1bnNlbGVjdGVkIOKAlCBDbGF1ZGUtc3R5bGUgZGVmaW5lZCBncmF5XG4kc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmU6ICMwMDA7ICAgICAgICAgLy8gbGlnaHQgc2VsZWN0ZWQg4oCUIHB1cmUgYmxhY2sgZm9yIG1heCBjb250cmFzdCB2cyAjMzczNzM0XG4kc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrOiAjYzRjMmJkOyAgICAgICAgLy8gZGFyayB1bnNlbGVjdGVkIChsaWdodGVyIHdhcm0gZ3JheSBmb3IgYmV0dGVyIGxlZ2liaWxpdHkpXG4kc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyazogI2YyZjFlZTsgLy8gZGFyayBzZWxlY3RlZCAoYnJpZ2h0ZXIgbmVhci13aGl0ZSlcbi8vIEhvdmVyOiB0ZXh0IGNvbG9yIHN0YXlzIGF0IHRoZSB1bnNlbGVjdGVkIHZhbHVlIChOb3Rpb24gcGF0dGVybiDigJQgb25seSBiZ1xuLy8gY2hhbmdlcyBvbiBob3ZlcikuIEJnIGlzIGEgc29mdCB3YXJtLWRhcmsgc3RlcCBhYm92ZSB0aGUgc2lkZWJhciBpbiBkYXJrIG1vZGUsXG4vLyBuZXV0cmFsIGxpZ2h0IHBpbGwgaW4gbGlnaHQgbW9kZS5cbiRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWNvbG9yLWRhcms6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4kc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAjZThlNmUzOyAgLy8gzpR+NiUgdnMgI2Y5ZjhmNyBzaWRlYmFyIOKAlCBOb3Rpb24taXNoIGJ1dCBtb3JlIGxlZ2libGVcbiRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyazogIzM0MzMyZjsgIC8vIM6UfjglIHZzICMyMDIwMjAgc2lkZWJhciDigJQgd2FybSBzdGVwIHVwXG4kc2lkZWJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kOiAkYWN0aXZlLWJnO1xuJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tc2VsZWN0ZWQtYmFja2dyb3VuZC1kYXJrOiAjM2EzOTM2OyAgLy8gdHdvIHN0ZXBzIGxpZ2h0ZXIg4oCUIHZpc2libGUgcGlsbCBpbiBkYXJrIG1vZGVcblxuXG4kc2lkZWJhci1sYWJlbC1zZWxlY3RlZC1jb2xvcjogIzNjNDA0MztcbiRzaWRlYmFyLWxhYmVsLXNlbGVjdGVkLWNvbG9yLWRhcms6IHdoaXRlO1xuXG4kc2lkZWJhci1hZG1pbi1sYWJlbC1zZWxlY3RlZC1jb2xvcjogIzNjNDA0MztcbiRzaWRlYmFyLWFkbWluLWxhYmVsLWFsdC1zZWxlY3RlZC1jb2xvcjogcmdiYSgzMSwgMzEsIDMxLCAwLjgpO1xuXG4kbmF2YmFyLWFkbWluLWljb24tY29sb3I6ICRncmF5LTUwMDtcbiRuYXZiYXItaWNvbi1jb2xvcjogJHNpZGViYXItbGFiZWwtY29sb3I7XG4kbmF2YmFyLWljb24tY29sb3ItY2xlYXI6ICRzZWNvbmRhcnktdGhlbWUtY29sb3ItbGlnaHRlcjtcbiRuYXZiYXItYmFja2dyb3VuZC1jb2xvcjogI0Y2RjZGNjtcbiRuYXZiYXItYmFja2dyb3VuZC1jb2xvci1kYXJrOiAjMjYyNjI2O1xuXG4vLyBUb29sYmFyIGRvIGF1dG9yL3Jldmlzb3Ig4oCUIHBhbGV0YSB0aGVtZS1hd2FyZSBjb20gY29udHJhc3RlIFdDQUcg4omlIDM6MVxuLy8gKFVJIGNvbXBvbmVudHMsIDEuNC4xMSksIHNhdHVyYcOnw6NvIGFsdGEgKDkwLTEwMCUpIGUgbWVzbWEgaHVlIGxpZ2h0L2Rhcmtcbi8vIChyZXZpc2FkYSAyMDI2LTA1LTI3IOKAlCB2ZXJzw6NvIFwidmlicmFudGVcIikuIExpZ2h0bmVzcyB2YXJpYSAofjM4JSBsaWdodCB2c1xuLy8gfjYwJSBkYXJrKSBhcGVuYXMgcGFyYSBwYXNzYXIgY29udHJhc3RlOyBodWUgZSBzYXR1cmHDp8OjbyBmaWNhbSBwYXJhZG9zXG4vLyDihpIgY2FkYSBwYXBlbCDDqSBcIm9idmlhbWVudGUgbGFyYW5qYVwiLCBcIm9idmlhbWVudGUgYXp1bFwiIGV0YyBlbSBhbWJvcyBtb2Rvcy5cbi8vXG4vLyAgIEh1ZSAgICAgfCBMaWdodCAgICAgICAgICAgICB8IERhcmtcbi8vICAgLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tXG4vLyAgIDQ4wrAgIGFtYXJlbG8gfCAjQTg4RTAwIChMMzMlKSB8ICNGRkQ5MzMgKEw2MCUpXG4vLyAgIDIyMMKwIGF6dWwgICAgfCAjMTE0NUMyICAgICAgICB8ICM1QzhFRjBcbi8vICAgMTQwwrAgdmVyZGUgICB8ICMwODg4MzggICAgICAgIHwgIzNGREI3RFxuLy8gICAwwrAgICB2ZXJtZWxob3wgI0RDMjYyNiAgICAgICAgfCAjRkYxQTFBXG4vLyAgIDI4MMKwIHDDunJwdXJhIHwgIzc3MDhBRiAgICAgICAgfCAjQkM1RERGXG4vL1xuLy8gKipUcmFkZS1vZmYgZXhwbMOtY2l0byAoYXV0b3ItNCwgMjAyNi0wNS0yNyk6KiogRXZlbnRvcyBsaWdodCB1c2EgV0NBR1xuLy8gcmVsYXhhZG8gU8OTIG5vIHBpbGwgc2VsZWN0ZWQgKDIuNTk6MSB2cyBpZGVhbCAzOjEpLiBTb2JyZSBvIG5hdmJhciBub3JtYWxcbi8vICgjZjlmOGY3KSBlbGUgcGFzc2EgMy4xMToxIOKcky4gSnVzdGlmaWNhdGl2YTogbyBwaWxsIHNlbGVjdGVkIHRlbSA0IHNpbmFpc1xuLy8gYWRpY2lvbmFpcyAoYmcgd2FybSBiZWlnZSArIHVuZGVybGluZSAycHggY29sb3JpZG8gKyB0ZXh0byBib2xkICsgY29yKSDigJRcbi8vIG8gdXN1w6FyaW8gbsOjbyBkZXBlbmRlIGRvIGNvbnRyYXN0ZSBkbyDDrWNvbmUgcGFyYSBwZXJjZWJlciBvIGVzdGFkbyBhdGl2by5cbi8vIEVzc2UgdHJhZGUtb2ZmIHBlcm1pdGUgbWFudGVyIGEgdmlicmHDp8OjbyBcImxhcmFuamEtbGFyYW5qYVwiIHF1ZSBhXG4vLyBpZGVudGlkYWRlIHZpc3VhbCBkYSB0b29sYmFyIHBlZGUuIFRvZG9zIG9zIG91dHJvcyA5IHZhbG9yZXMgcGFzc2FtIOKJpTM6MVxuLy8gZXN0cml0byBlbSB0b2RvcyBvcyBmdW5kb3MuXG4vL1xuLy8gQ29udHJhc3RlcyB2ZXJpZmljYWRvcyAodG9kb3Mgc29icmUgcGlsbCBzZWxlY3RlZCDigJQgY2FzbyBtYWlzIGNyw610aWNvKTpcbi8vICAgTGlnaHQ6IEV2ZW50b3MgMi41OToxIChyZWxheGFkbyksIGRlbWFpcyAzLjk24oCTOC41MDoxIOKck1xuLy8gICBEYXJrOiAgMy42MOKAkzguMTM6MSDinJNcbi8vIEV2ZW50b3Mg4oCUIGRpc3RpbnRpdm8gZGVudHJvIGRhIGZhbcOtbGlhIGFtYmVyL2xhcmFuamEuIFN5c3RlbSBhY2NlbnQgw6lcbi8vIGFtYmVyLTcwMC9hbWJlci00MDAgKGRlZXAgdXRpbGl0eSk7IEV2ZW50b3MgZmljYSBlbSBhbWJlci01MDAvYW1iZXItMzAwXG4vLyBwcmEgbGVyIGNvbW8gXCJ0b20gbWFpcyBjbGFybyAvIGJyaWxoYW50ZVwiIOKAlCBwcmVzZXJ2YSBhIGlkZW50aWRhZGUgZG9cbi8vIMOtY29uZSBzZW0gc2UgY29uZnVuZGlyIGNvbSBjaHJvbWUgYWNjZW50LlxuLy8gRXZlbnRvcyA9IGdyZWVuIChsaWdodCkgLyB0ZWFsLTYwMCAoZGFyaykg4oCUIFNXQVAgZmVpdG8gY29tIFJldmlzw7Vlcy5cbi8vIEEgY29yIGNhc2EgY29tIG8gbm92byBgJGV2ZW50LXRpdGxlLWNvbG9yLSpgIChldmVudG8gdGVtIGlkZW50aWRhZGVcbi8vIHZlcmRlL3RlYWwgZW0gdG9kbyBvIHNpc3RlbWEpLiBIdWUgc2hpZnQgZW50cmUgbW9kb3Mgw6kgaW50ZW5jaW9uYWxcbi8vIChjb250cmFzdGUgZG8gdGVhbC02MDAgZmFsaGEgQUEgZW0gZGFyaywgZW50w6NvIG1hbnRpdmVtb3MgZ3JlZW5cbi8vIG1haXMgYnJpbGhhbnRlIGzDoTsgbWFzIG11ZG91IHByYSB0ZWFsLTYwMCBwcmEgZGFyIHBlcnNvbmFsaWRhZGUpLlxuJG5hdmJhci1ldmVudHMtaWNvbi1jb2xvcjogIzA4ODgzODsgICAgICAgIC8vIGdyZWVuIChlcmEgYW1iZXItNTAwKVxuJG5hdmJhci1ldmVudHMtaWNvbi1jb2xvci1kYXJrOiAjMkRENEJGOyAgIC8vIFRhaWx3aW5kIHRlYWwtNDAwIChlcmEgYW1iZXItMzAwKVxuLy8gU3VibWlzc8O1ZXMgdXNhIG8gQUNDRU5UIGRvIHNpc3RlbWEgKHZpYSByZWZlcsOqbmNpYSDigJQgdG9rZW4gY29udGludWFcbi8vIGRlZGljYWRvOyBtdWRhIHNlIGAkYWNjZW50LWJhY2tncm91bmRgIG11ZGFyKS5cbiRuYXZiYXItbXktc3VibWlzc2lvbnMtaWNvbi1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kO1xuJG5hdmJhci1teS1zdWJtaXNzaW9ucy1pY29uLWNvbG9yLWRhcms6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuLy8gUmV2aXPDtWVzID0gYW1iZXIgKGhlcmRhIGRvIHF1ZSBlcmEgZGUgRXZlbnRvcykuIFNXQVAuXG4kbmF2YmFyLW15LXJldmlld3MtaWNvbi1jb2xvcjogI0Y1OUUwQjsgICAgIC8vIFRhaWx3aW5kIGFtYmVyLTUwMCAoZXJhIGdyZWVuKVxuJG5hdmJhci1teS1yZXZpZXdzLWljb24tY29sb3ItZGFyazogI0ZDRDM0RDsgLy8gVGFpbHdpbmQgYW1iZXItMzAwIChlcmEgZ3JlZW4gY2xhcm8pXG4kbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvcjogI0RDMjYyNjtcbiRuYXZiYXItbXktdHBjcy1pY29uLWNvbG9yLWRhcms6ICNGRjFBMUE7XG4kbmF2YmFyLW15LWV2ZW50cy1pY29uLWNvbG9yOiAjNzcwOEFGO1xuJG5hdmJhci1teS1ldmVudHMtaWNvbi1jb2xvci1kYXJrOiAjQkM1RERGO1xuLy8gQ29vcmRlbmFkb3IgZGUgc2Vzc8OjbyB0w6ljbmljYSDigJQgaW5kaWdvICjDum5pY2EgY29yIHByaW3DoXJpYSBmcmlhIHNlbVxuLy8gZG9ubyBubyBzaXN0ZW1hOyBkaXN0aW50YSBkZSBibHVlIGRlIFN1Ym1pc3PDtWVzIGUgZG8gdGVhbCBxdWUgRXZlbnRvc1xuLy8gYXNzdW1pdSBlbSBkYXJrKS5cbiRuYXZiYXItbXktc2Vzc2lvbi1jaGFpcmluZ3MtaWNvbi1jb2xvcjogIzRGNDZFNTsgICAgICAgLy8gVGFpbHdpbmQgaW5kaWdvLTYwMFxuJG5hdmJhci1teS1zZXNzaW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLWRhcms6ICM4MThDRjg7ICAvLyBUYWlsd2luZCBpbmRpZ28tNDAwXG5cbi8vIFB1YmxpY2F0aW9ucyA9IGNpYW5vL3RlYWwgKGxpdnJvL2ltcHJlc3PDo28pIOKAlCDDum5pY28gaHVlIFwiZWRpdG9yaWFsXCIgYWluZGFcbi8vIG7Do28gdXNhZG8gbm8gbmF2IGRvIGF1dG9yL3Jldmlzb3IuXG4kbmF2YmFyLW15LXB1YmxpY2F0aW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yOiAjMDg5MUIyOyAgICAgICAvLyBUYWlsd2luZCBjeWFuLTYwMFxuJG5hdmJhci1teS1wdWJsaWNhdGlvbi1jaGFpcmluZ3MtaWNvbi1jb2xvci1kYXJrOiAjNjdFOEY5OyAgLy8gVGFpbHdpbmQgY3lhbi0zMDBcblxuLy8g4pSA4pSAIENvciBkZWRpY2FkYSBkb3MgVMONVFVMT1MgREUgRVZFTlRPIG5vIHNpc3RlbWEg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBVc2FkYSBlbSB0b2RvIGx1Z2FyIHF1ZSByZW5kZXJpemEgXCJub21lIGRvIGV2ZW50b1wiIGNvbW8gbGluay90w610dWxvXG4vLyBwcmltw6FyaW8gKGxpc3RhIGRlIGV2ZW50b3MsIGNhcmRzIGVtIFN1Ym1pc3PDtWVzL1Jldmlzw7Vlcy9TZXNzw7Vlcyxcbi8vIGV2ZW50LXZpZXcgZXRjLikuIFNlbWFudGljYW1lbnRlID0gXCJpZGVudGlkYWRlIGRlIGV2ZW50b1wiLlxuLy8gQmF0ZSBjb20gYCRuYXZiYXItZXZlbnRzLWljb24tY29sb3ItKmAgKEV2ZW50b3MgPSBncmVlbi90ZWFsKS5cbi8vIEh1ZSBzaGlmdCBlbnRyZSBsaWdodC9kYXJrIMOpIGludGVuY2lvbmFsLlxuJGV2ZW50LXRpdGxlLWNvbG9yLWxpZ2h0OiAjMDg4ODM4OyAgIC8vIGdyZWVuIChtZXNtbyBkbyDDrWNvbmUgRXZlbnRvcyBsaWdodClcbiRldmVudC10aXRsZS1jb2xvci1kYXJrOiAgIzJERDRCRjsgICAvLyBUYWlsd2luZCB0ZWFsLTQwMCAobWVzbW8gZG8gw61jb25lIEV2ZW50b3MgZGFyaylcblxuLy8gUGFyIGRvICRldmVudC10aXRsZS1jb2xvci0qIOKAlCBjb3IgREVESUNBREEgZGUgXCJub21lIGRhIHN1Ym1pc3PDo29cIlxuLy8gY29tbyBsaW5rL3TDrXR1bG8gcHJpbcOhcmlvIChjYXJkIGRlIHN1Ym1pc3PDo28sIGhlYWRlciBkZSBwYXBlci1pbmZvLFxuLy8gbGlzdGFzKS4gU2VtYW50aWNhbWVudGUgPSBcImlkZW50aWRhZGUgZGUgc3VibWlzc8Ojb1wiLiBIb2plIGVzcGVsaGEgb1xuLy8gJGFjY2VudC1iYWNrZ3JvdW5kLCBtYXMgZGVzYWNvcGxhZG8gcHJhIHBvZGVyIGFqdXN0YXIgdG9tL2JyaWxob1xuLy8gc2VtIGFmZXRhciBib3TDtWVzL2FjY2VudCBkbyBzaXN0ZW1hLlxuJHN1Ym1pc3Npb24tdGl0bGUtY29sb3ItbGlnaHQ6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiRzdWJtaXNzaW9uLXRpdGxlLWNvbG9yLWRhcms6ICAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiRuYXZiYXItc2VsZWN0ZWQtbWVudS1jb2xvcjogI2UwZTBlMDtcbiRuYXZiYXItc2VsZWN0ZWQtbWVudS1jb2xvci1kYXJrOiAjM2M0MDQzO1xuJHNlYXJjaC1iYXItYmFja2dyb3VuZDogJHNpZGViYXItbGFiZWwtc2VsZWN0ZWQtYmFja2dyb3VuZDtcbiRsYW5kaW5nLXBhZ2UtYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYztcblxuJHN1Ym1pc3Npb24tZmlsZXM6IHJnYig1NCwgNTQsIDU0KTtcbiRpbnB1dHMtbGFuZGluZy1jb2xvcjogI2I1YjViNTtcbiRmb290ZXItdmVyc2lvbi1jb2xvcjogYmxhY2s7XG4kZmFiLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuJHRvb2x0aXAtY29sb3I6IHdoaXRlO1xuJGNsb3NlLWJ1dHRvbi1jb2xvcjogYmxhY2s7IC8vIENvbXBvbmVudCBTaGFkb3dzXG4kY2xvc2UtYnV0dG9uLWNvbG9yLWRhcms6IHdoaXRlO1xuJG1hdC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgLjIpLFxuMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAuMTQpLFxuMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAuMTIpO1xuJHRvb2x0aXAtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIC4yKSxcbjAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgLjE0KSxcbjAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgLjEyKTtcbi8vICRpbnNldC1tYXQtc2hhZG93OiBpbnNldCAwIDAgMnB4IHJnYmEoMCwgMCwgMCwgLjEyKSxcbi8vIGluc2V0IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIC4yNCk7IC8vIFN1Ym1pc3Npb24gU3RhdHVzXG4kbWF0LWNhcmQtdGl0bGUtYmFja2dyb3VuZDogI2QxZDFkMTtcbiRpbnNldC1tYXQtc2hhZG93OiAwcHggMHB4IDVweCAjYmJiYmJiOyAvLyBTdWJtaXNzaW9uIFN0YXR1c1xuJHN0YXR1cy1pY29uLWNvbG9yOiB3aGl0ZTtcbiRjbG9zZS1idXR0b24tY29sb3I6IGJsYWNrO1xuJHNsaWRlci10aWNrLWJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMSk7XG4kZmFiLXNoYWRvdzogMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAuMTIpO1xuJHRvb2x0aXAtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIC4xMik7XG4kc2xpZGVyLWxhYmVsLXNoYWRvdzogMCAxcHggNXB4IDFweCByZ2JhKDAsMCwwLC43KTtcblxuLy8gVHJhY2tcbiR0cmFjay1ub3Qtb3Blbi1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjUpO1xuJHRyYWNrLWNsb3NlZC1jb2xvcjogcmdiYSgyMjIsNTgsNDMsMC45KTtcblxuLy8gRXJyb3JzXG4kZXJyb3ItaW52YWxpZC1jb2xvcjogI0NDMDAyOTtcbiRub3RpZmljYXRpb24tYmFja2dyb3VuZC1jb2xvcjogIzdGQzE1QztcbiRub3RpZmljYXRpb24tY29sb3I6ICNmYWZhZmE7XG5cbiRsZWdlbmQtY29sb3ItbGVzczogI2ZiOGMwMDMzO1xuJGxlZ2VuZC1jb2xvci1tb3JlOiAjYjBiZWM1ODA7XG4kbGVnZW5kLWNvbG9yLWNvcnJlY3Q6ICNiYmRlZmJhNjtcbiRsZWdlbmQtY29sb3ItZXhhY3Q6ICM4MWM3ODQ2NjtcblxuLy8gQ2hhcnQgcGFsZXR0ZSBkZWZpbml0aW9ucyBleHBvc2VkIGFzIENTUyB2YXJpYWJsZXMgKHVzZWQgYnkgQ29sb3JQYWxldHRlcyBUUyBoZWxwZXIpXG46cm9vdCB7XG4gIC8vIFRhbmdvOiB3YXJtL2Nvb2wgYWx0ZXJuYXRlZCwgZ3JvdXBlZCB0byBwcmVzZXJ2ZSBjb250cmFzdCB3aGVuIGludGVybGVhdmluZ1xuICAtLXBhbGV0dGUtdGFuZ28tZ3JvdXBzOiAjZmNlOTRmLCNlZGQ0MDAsI2M0YTAwMHwjNzI5ZmNmLCMzNDY1YTQsIzIwNGE4N3wjZmNhZjNlLCNmNTc5MDAsI2NlNWMwMHwjOGFlMjM0LCM3M2QyMTYsIzRlOWEwNnwjZTliOTZlLCNjMTdkMTEsIzhmNTkwMnwjYWQ3ZmE4LCM3NTUwN2IsIzVjMzU2NnwjODg4YTg1LCM1NTU3NTMsIzJlMzQzNnwjZWYyOTI5LCNjYzAwMDAsI2E0MDAwMHwjZWVlZWVjLCNkM2Q3Y2YsI2JhYmRiNjtcbiAgLy8gQWR3YWl0YSAoR05PTUUgSElHKTogY29vbC93YXJtIGFsdGVybmF0aW9uLCBuZXV0cmFscyBsYXN0XG4gIC0tcGFsZXR0ZS1hZHdhaXRhLWdyb3VwczogIzk5YzFmMSwjNjJhMGVhLCMzNTg0ZTQsIzFjNzFkOCwjMWE1ZmI0fCNmZmJlNmYsI2ZmYTM0OCwjZmY3ODAwLCNlNjYxMDAsI2M2NDYwMHwjOGZmMGE0LCM1N2UzODksIzMzZDE3YSwjMjZhMjY5LCMxZjdmNTZ8I2Y2NjE1MSwjZWQzMzNiLCNlMDFiMjQsI2MwMWMyOCwjYTUxZDJkfCNmOWYwNmIsI2Y4ZTQ1YywjZjZkMzJkLCNmNWMyMTEsI2U1YTUwYXwjZGM4YWRkLCNjMDYxY2IsIzkxNDFhYywjODEzZDljLCM2MTM1ODN8I2NkYWI4ZiwjYjU4MzVhLCM5ODZhNDQsIzg2NWUzYywjNjM0NTJjfCNmZmZmZmYsI2Y2ZjVmNCwjZGVkZGRhLCNjMGJmYmMsIzlhOTk5NnwjNzc3NjdiLCM1ZTVjNjQsIzNkMzg0NiwjMjQxZjMxLCMwMDAwMDA7XG59XG5cbi8vRW1wdHktc3RhdGU6XG4kZW1wdHktc3RhdGUtYmFja2dyb3VuZDogbWFpbi10aGVtZS1jb2xvci1saWdodDtcbiRlbXB0eS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG9yLWRhcms6ICMyNjI2MjY7XG5cbi8vIE1hdC1jYXJkOiBFdmVudFxuJG1hdC1jYXJkLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiRtYXQtY2FyZC1jb2xvci1kYXJrOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQ7XG4kbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvci1kYXJrOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4vLyBDYXJkIGJvcmRlciBhbGluaGFkbyBhb3MgdG9rZW5zIGNhbsO0bmljb3MgZG8gY2hyb21lIGNoYWlyIFVJIChtZXNtYSBjb3Jcbi8vIHVzYWRhIHBvciBzaWRlYmFyIGhlYWRlciBkaXZpZGVyLCBicmVhZGNydW1iIGJvdHRvbSBib3JkZXIsIGJvdHRvbSByYWlsLFxuLy8gZSBvdXRsaW5lIGRlIHBhaW5lbCBkYXJrKS4gU3Vic3RpdHVpIG8gcmdiYSBhZC1ob2MgYW50ZXJpb3Ig4oCUIHZpc3VhbG1lbnRlXG4vLyBwcsOzeGltbyBtYXMgYWdvcmEgMTAwJSBjb2VyZW50ZSBjb20gbyByZXN0byBkbyBzaXN0ZW1hLlxuJG1hdC1jYXJkLWJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItbGlnaHQ7XG4kbWF0LWNhcmQtYm9yZGVyLWNvbG9yLWRhcms6ICRjaHJvbWUtYm9yZGVyLWRhcms7XG4kbWF0LWNhcmQtaGVhZGVyLWNvbG9yOiAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kO1xuXG4kYnV0dG9uLWRpc2FibGVkLWNvbG9yOiAjOTk5OTk5O1xuJGJ1dHRvbi1kaXNhYmxlZC1jb2xvci1kYXJrOiM2NjY2NjY7XG5cbi8vIFNpbmFsaXphw6fDo28gZGUgXCJ1c3XDoXJpbyBpbmF0aXZvXCIgLyBhw6fDo28gcGVuZGVudGUgKGVudmVsb3BlIGRlIHJlZW52aW8gZGVcbi8vIGUtbWFpbCBkZSBhdGl2YcOnw6NvIG5hIHRhYmVsYSBkZSBQZXNzb2FzKS4gVmVybWVsaG8gZm9ydGUgbm8gbGlnaHQgcHJhXG4vLyBjaGFtYXIgYXRlbsOnw6NvOyB0b20gbWFpcyBjbGFybyBubyBkYXJrIHByYSBjb250cmFzdGFyIGNvbSBvIGNhbnZhcyB3YXJtXG4vLyAoIzIwMjAyMCkgc2VtIHZpcmFyIGJsb2NvIGdyaXRhbnRlLiBUYWlsd2luZCByZWQtNzAwIC8gcmVkLTQwMC5cbiR1c2VyLWluYWN0aXZlLWNvbG9yOiAjYzYyODI4O1xuJHVzZXItaW5hY3RpdmUtY29sb3ItZGFyazogI2Y4NzE3MTtcblxuLy8gTWF0LWNhcmQ6IFRhYmxlXG4kdGFibGUtYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcbiR0YWJsZS1iYWNrZ3JvdW5kLWNvbG9yLWRhcms6ICMyNjI2MjY7XG4kdGFibGUtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICNkMWQxZDE7XG4kdGFibGUtaGVhZGVyLWJhY2tncm91bmQtY29sb3ItZGFyazogIzRkNGQ0ZDtcbiR0YWJsZS1saW5lLWNvbG9yOiB3aGl0ZTtcbiR0YWJsZS1ob3Zlci1ib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgLjI1KTtcbiR0YWJsZS1ob3Zlci1ib3JkZXItY29sb3ItZGFyazogJGFkbWluLWFjY2VudC1iYWNrZ3JvdW5kLWNvbG9yLWRhcms7XG4vLyBWw6l1IGRlIGhvdmVyIGRlIGxpbmhhIOKAlCBGT05URSDDmk5JQ0EsIHVzYWRvIHBlbG8gbW9kaWZpZXIgZ2xvYmFsIGAuamVtczMtdGFibGUtaG92ZXJgXG4vLyAoX3RhYmxlLnNjc3MpIGUgcmVwbGljYWRvIG5vIHN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIuIExpZ2h0ID0gcHJldG8gdHJhbnNsw7pjaWRvXG4vLyAoZXNjdXJlY2Ugc3V0aWwpOyBkYXJrID0gYnJhbmNvIHRyYW5zbMO6Y2lkbyAoY2xhcmVpYSBzdXRpbCkuIE11ZGUgYXF1aSDihpIgbXVkYSBlbSB0b2Rhcy5cbiR0YWJsZS1ob3Zlci12ZWlsLWxpZ2h0OiByZ2JhKDAsIDAsIDAsIDAuMDQpO1xuJHRhYmxlLWhvdmVyLXZlaWwtZGFyazogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA3KTtcblxuLy9NYXQtbWVudVxuJG1hdC1tZW51LWJhY2tncm91bmQtY29sb3I6ICNGNkY2RjY7XG4kbWF0LW1lbnUtYmFja2dyb3VuZC1jb2xvci1kYXJrOiAjMzgzODM4O1xuXG4vLyBDYWxlbmRhclxuJGNhbGVuZGFyLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZGVyLWJhY2tncm91bmQtY29sb3I7XG4kY2FsZW5kYXItaGVhZGVyLWJhY2tncm91bmQtY29sb3ItZGFyazogJHRhYmxlLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yLWRhcms7XG4kY2FsZW5kYXItYmFja2dyb3VuZC1jb2xvcjogJGV2ZW50LWNhcmQtYmFja2dyb3VuZDtcbiRjYWxlbmRhci1iYWNrZ3JvdW5kLWNvbG9yLWRhcms6ICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyaztcblxuLy8gR3JheXNjYWxlXG4kYmxhY2stMTAwOiAjZmFmYWZhO1xuJGJsYWNrLTE1MDogI2Y1ZjVmNTtcbiRibGFjay0yMDA6ICNlZGVkZWQ7XG4kYmxhY2stMzAwOiAjZDFkMWQxO1xuJGJsYWNrLTQwMDogI2JiYmJiYjtcbiRibGFjay01MDA6ICM4YjhkOGY7XG4kYmxhY2stNjAwOiAjNzI3NjdiO1xuJGJsYWNrLTcwMDogIzRkNTI1ODtcbiRibGFjay04MDA6ICMzOTNmNDQ7XG4kYmxhY2stOTAwOiAjMjkyZTM0O1xuJGJsYWNrLTEwMDA6ICMwMzAzMDM7XG5cbiR3aGl0ZS0xMDAwOiAjZmZmZmZmO1xuXG4vLyBtYXQtdGFiXG4kbWF0LXRhYi1sYWJlbDogIzQzNDM0MztcbiRtYXQtdGFiLWxhYmVsLWRhcms6ICNENkQ2RDY7XG4kbWF0LXRhYi11bmRlcmxpbmU6IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4kbWF0LXRhYi11bmRlcmxpbmUtZGFyazogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuXG5cbi8vL1xuLy8gQ29sb3IgZGVmaW5pdGlvbnMgb2Ygc3VibWlzc2lvbiBhbmQgcmV2aWV3IHN0YXR1cy5cbi8vIEl0ZW0gZm9ybWF0OiBcInN0YXR1czogKCBiYWNrZ3JvdW5kQ29sb3IsIGxpbmtDb2xvciApXCJcbi8vL1xuLy8gU3VibWlzc2lvbiBTdGF0dXNcbi8vXG4vLyBDYWRhIHN0YXR1czogKGZ1bmRvLCBjb3IgZG8gdGV4dG8sIGNvciBkbyDDrWNvbmUpLiBPIMOtY29uZSDDqSB1bSB0b20gRVNDVVJPXG4vLyBoYXJtb25pemFkbyAobsOjbyBwcmltw6FyaW8gcHVybyk6IGFudGVzIEF0aXZhIHVzYXZhIGF6dWwgcHVybyAjMDAwMGZmIGVcbi8vIFJlamVpdGFkYSB2ZXJtZWxobyBwdXJvICNmZjAwMDAsIHF1ZSBkZXN0b2F2YW0gZG9zIGRlbWFpcyAodmVyZGUvbWFycm9tL2NpbnphXG4vLyBlc2N1cmVjaWRvcykuIEFnb3JhIEF0aXZhID0gYXp1bC1tYXJpbmhvIGUgUmVqZWl0YWRhID0gdmVybWVsaG8tZXNjdXJvLlxuJHN1Ym1pc3Npb24tc3RhdHVzOiAoXG4gIC8vIFwicGVuZGluZ1wiID0gc3RhdHVzIERyYWZ0IChSYXNjdW5obykg4oaSIGNpbnphLlxuICBcInBlbmRpbmdcIjogKCNlNWU1ZTUsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAjNmI2YjZiKSxcbiAgXCJhY3RpdmVcIjogKCNGRkZGNTUsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAjMWYzYTkzKSxcbiAgXCJhY2NlcHRlZFwiOiAoIzk5RkY5OSwkc2lkZWJhci1sYWJlbC1jb2xvciwgIzFjNzUzMCksXG4gIFwicmVqZWN0ZWRcIjogKCNmZmJkYmQsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAjYjMyNjFlKSxcbiAgXCJ3aXRoZHJhd25cIjogKCNEREREREQsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAjODA4MDgwKVxuKTtcblxuOnJvb3Qge1xuICAvLyBTdWJtaXNzaW9uIHN0YXR1cyBjb2xvcnMgKGRlcml2ZWQgZnJvbSAkc3VibWlzc2lvbi1zdGF0dXMgU0NTUyBtYXApXG4gIC0tc3VibWlzc2lvbi1zdGF0dXMtcGVuZGluZzogI3tudGgobWFwLWdldCgkc3VibWlzc2lvbi1zdGF0dXMsIFwicGVuZGluZ1wiKSwgMSl9O1xuICAtLXN1Ym1pc3Npb24tc3RhdHVzLWFjdGl2ZTogI3tudGgobWFwLWdldCgkc3VibWlzc2lvbi1zdGF0dXMsIFwiYWN0aXZlXCIpLCAxKX07XG4gIC0tc3VibWlzc2lvbi1zdGF0dXMtYWNjZXB0ZWQ6ICN7bnRoKG1hcC1nZXQoJHN1Ym1pc3Npb24tc3RhdHVzLCBcImFjY2VwdGVkXCIpLCAxKX07XG4gIC0tc3VibWlzc2lvbi1zdGF0dXMtcmVqZWN0ZWQ6ICN7bnRoKG1hcC1nZXQoJHN1Ym1pc3Npb24tc3RhdHVzLCBcInJlamVjdGVkXCIpLCAxKX07XG4gIC0tc3VibWlzc2lvbi1zdGF0dXMtd2l0aGRyYXduOiAje250aChtYXAtZ2V0KCRzdWJtaXNzaW9uLXN0YXR1cywgXCJ3aXRoZHJhd25cIiksIDEpfTtcbiAgLS1zdWJtaXNzaW9uLXN0YXR1cy1kZWxldGVkOiAje250aChtYXAtZ2V0KCRzdWJtaXNzaW9uLXN0YXR1cywgXCJ3aXRoZHJhd25cIiksIDEpfTtcbn1cblxuLy8gUmV2aWV3IFN0YXR1c1xuJHJldmlldy1zdGF0dXM6IChcbiAgXCJhc3NpZ25lZFwiOiAoI0ZGRkZGRiwgJHNpZGViYXItbGFiZWwtY29sb3IsIGJsYWNrKSxcbiAgXCJub3RpZmllZFwiOiAoIzk0QzBGQiwgJHNpZGViYXItbGFiZWwtY29sb3IsIGJsYWNrKSxcbiAgXCJjb25maXJtZWRcIjogKCNGRkQ4NjAsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCBibGFjayksXG4gIFwiZGVjbGluZWRcIjogKCNDNkM2QzYsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCBibGFjayksXG4gIFwicmVtaW5kZWRcIjogKCNGRjhGQTAsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCBibGFjayksXG4gIFwibGF0ZVwiOiAoI2ZhNWI1YiwgJHNpZGViYXItbGFiZWwtY29sb3IsIGJsYWNrKSxcbiAgXCJkZWxlZ2F0ZWRcIjogKCNmZjg5YzksICRzaWRlYmFyLWxhYmVsLWNvbG9yLCBibGFjayksXG4gIFwiY29tcGxldGVkXCI6ICgjNjNGQ0M4LCAkc2lkZWJhci1sYWJlbC1jb2xvciwgYmxhY2spLFxuICBcImRyYWZ0XCI6ICgjQUFBQUFBLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgYmxhY2spXG4gICk7XG5cbiAgLy8gUmV2aWV3IGFjdGlvbnMgYnV0dG9uc1xuICAkcmV2aWV3LWFjdGlvbnM6IChcbiAgICBcImNvbmZpcm1cIjogIzI2MzZlNixcbiAgICBcImRlY2xpbmVcIjogI2NlMTQxNCxcbiAgICBcImVkaXRcIjogIzQxYWIwYyxcbiAgICBcImRlbGVnYXRlXCI6ICNjOTNkZGVcbiAgKTtcblxuICAkZW1haWwtc3RhdHVzOiAoXG4gICAgXCJwZW5kaW5nXCI6ICgjZmFiNjVjLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgIzg3NGQwMCksXG4gICAgXCJzZW50XCI6ICgjOTlGRjk5LCRzaWRlYmFyLWxhYmVsLWNvbG9yLCAjMWM3NTMwKSxcbiAgICBcInJlamVjdGVkXCI6ICgjZmZiZGJkLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgI2ZmMDAwMCksXG4gICk7XG5cbiAgJHB1YmxpY2F0aW9uLXN0YXR1czogKFxuICAgIFwicmVhZHlcIjogKCM2ZGEzNmYsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCBibGFjayksXG4gICAgXCJub3QtcmVhZHlcIjogKCNmOTM4MjYsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCBibGFjayksIC8vIG1heWJlOiAjZmY1ZDZlXG4gICk7XG5cbi8vIFNwYW4gY29sb3JzIGZvciBzdWJtaXNzaW9uIHJhbmtpbmdcbiRzcGFuLWJlbG93LUEtYmFja2dyb3VuZC1jb2xvcjogIzc1RDc3NTtcbiRzcGFuLWFib3ZlLUItYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDtcbiRzcGFuLWJldHdlZW4tQS1hbmQtQi1iYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQwLCAyNDAsIDc0KTtcblxuLy8gUHJvY2VlZGluZ3MgY29udGVudCB0eXBlc1xuJHByb2NlZWRpbmdzLWNvbnRlbnQtdHlwZXM6IChcbiAgXCJzdWJtaXNzaW9uXCI6ICM5OUZGOTksXG4gIFwiZmlsZVwiOiAjZTc4Yzg0LFxuICBcImluZGV4XCI6ICNhYWEsXG4gIFwiYXV0aG9yLWluZGV4XCI6ICNhYWEsXG4gIFwid2hpdGUtcGFnZVwiOiAjZmZmXG4pO1xuXG4vLyBDaGVjayBsaXN0IGFuc3dlciBzdGF0dXNcbiRjaGVja2xpc3QtYW5zd2Vycy1zdGF0dXM6IChcbiAgXCJub3QtZm91bmRcIjogI2ZmYmRiZCxcbiAgXCJ1bnJlbGF0ZWRcIjogI0ZGRkY1NSxcbiAgXCJkdXBsaWNhdGVkXCI6ICNmYWI2NWMsXG4gIFwidW5jYXRlZ29yaXplZFwiOiAjZDRkM2QzLFxuICBcImludmFsaWRcIjogIzZkNmQ2ZCxcbiAgXCJkZWxldGluZ1wiOiAjODg4ODg4LFxuICBcIm9rXCI6ICM5OUZGOTlcbik7XG5cbiRwdWJsaWNhdGlvbi1zdGF0dXMtcmVhZHk6ICM2ZGEzNmY7XG4kcHVibGljYXRpb24tc3RhdHVzLW5vdC1yZWFkeTogI2Y5MzgyNjtcbi8vIFwiUGVuZGVudGVcIiDigJQgdmVybWVsaG8gQ0hBTUFUSVZPIHAvIG8gY2hpcCBkYSBzZcOnw6NvIFN0YXR1cyBkZSBwdWJsaWNhw6fDo28uIFVzYSBvXG4vLyB2ZXJtZWxobyBkZSBlcnJvIGRvIHNpc3RlbWEgKCNDQzAwMjksIG1lc21vIGRvIGNoaXAgZGUgXCJ0cmlsaGEgZmVjaGFkYVwiKTogZm9ydGUgZVxuLy8gZW0tc2lzdGVtYSwgY29tIGJvbSBjb250cmFzdGUgcC8gdGV4dG8gYnJhbmNvICh+Ni40OjEpLiBTdWJzdGl0dWkgbyBuw6lvbiAjZjkzODI2LlxuJHB1YmxpY2F0aW9uLXN0YXR1cy1wZW5kaW5nOiAjQ0MwMDI5O1xuXG5cbi8vIEludGVyZXN0IFRvcGljcyBDb2xvcnMgZm9yIEJpZFxuJGludGVyZXN0LXRvcGljLWJhY2tncm91bmQtY29sb3I6ICM3NUQ3NzU7XG4kbmV1dHJhbC1pbnRlcmVzdC10b3BpYy1iYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwO1xuJG5vLWludGVyZXN0LXRvcGljLWJhY2tncm91bmQtY29sb3I6ICNmNjZkMDQ7XG5cblxuLy9EZWZhdWx0IGNvbG9ycyBmb3IgZGFzaGJvYXJkc1xuJGRlZmF1bHQtZmlyc3Qtc2VjdG9yLWNvbG9yOiAjZmZjODcwO1xuJGRlZmF1bHQtc2Vjb25kLXNlY3Rvci1jb2xvcjogI2Y3ZjdjNjtcbiRkZWZhdWx0LXRoaXJkLXNlY3Rvci1jb2xvcjogI2M4ZTNjNTtcbiRkZWZhdWx0LWZvdXJ0aC1zZWN0b3ItY29sb3I6ICM5Y2FkOWE7XG4kZGVmYXVsdC1maWZ0aC1zZWN0b3ItY29sb3I6ICM3NTU4NTg7XG4kZGVmYXVsdC1zaXh0aC1zZWN0b3ItY29sb3I6ICNhYmRmNTc7XG5cbi8vQ2hhcnQgZ3JpZCBjb2xvclxuJGNoYXJ0LWdyaWQtY29sb3I6ICMwMDAwMDAzMztcbiRjaGFydC1ncmlkLWNvbG9yLWRhcms6ICNmZmZmZmYzMztcblxuLy8gYXBwLXVzZXItbm90aWZpY2F0aW9uc1xuJG5vdC1yZWFkLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLWNvbG9yOiBuYXZham93aGl0ZTsiLCJAaW1wb3J0IFwiY29sb3JzXCI7XG5cbi8vIEhlYWRpbmcgaGllcmFyY2h5IGFsaWduZWQgdG8gdGhlIE1hdGVyaWFsIERlc2lnbiAzIHR5cGUgcmFtcCxcbi8vIGVkaXRvcmlhbCB3ZWlnaHQgdmFyaWFudCAoT3B0aW9uIEIpOiBoZWFkbGluZXMgcmVuZGVyIGF0IHdlaWdodCA0MDAgZm9yIGFcbi8vIG1vZGVybiBcIk5vdGlvbi9MaW5lYXJcIiBmZWVsLiBUb2tlbnMgZG9jdW1lbnRlZCBpbiBfdHlwb2dyYXBoeS1tZDMuc2Nzcy5cblxuLy8gUGFnZSB0aXRsZSDigJQgdXNlZCBpbiAubWFpbi10aXRsZSBoMSBhY3Jvc3MgfjM0IGNoYWlyIHNjcmVlbnMuXG4vLyBUdW5lZCBmb3IgY2hhaXIgYXJlYSB3aGVyZSB0aGUgYnJlYWRjcnVtYiBhbHJlYWR5IGNhcnJpZXMgcGFnZSBpZGVudGl0eTpcbi8vIDIwcHggKExpbmVhci9WZXJjZWwtc3R5bGUgc3RlcCksIHdlaWdodCA1MDAgKGNsZWFyIGhpZXJhcmNoeSBvdmVyIHRoZVxuLy8gNDMwLXdlaWdodCBuYXYgaXRlbXMpLCAyNHB4IGxpbmUtaGVpZ2h0LCB0cmFja2luZyAwIChjaGFpciBVSSBydWxlKS5cbmgxIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyAgICAgICAvLyAyMHB4XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07ICAgICAgLy8gMjRweFxuICBsZXR0ZXItc3BhY2luZzogMDtcbn1cblxuLy8gTWF0ZXJpYWwgU3ltYm9scyBkZW50cm8gZGUgSDEg4oCUIGhlcmRhbSBGSUxMIDEgKyB3Z2h0IDQwMCAoUGVyc29uYSBBIGRhXG4vLyB0b29sYmFyIGRvIGF1dG9yL3Jldmlzb3IpLCBwYXJhIHZpc3VhbG1lbnRlIGJhdGVyZW0gY29tIG9zIMOtY29uZXMgZG9zXG4vLyBpdGVucyBkZSBuYXZlZ2HDp8Ojby4gQWxpbmhhbWVudG8gw7NwdGljbyB2aWEgYHZlcnRpY2FsLWFsaWduOiAtMC4yZW1gICtcbi8vIGBsaW5lLWhlaWdodDogMWAgKGxpbmUtYm94IGFwZXJ0YWRhIGRvIMOtY29uZSwgc2VtIHBhZGRpbmcgaGVyZGFkbykuXG5oMSAubWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCxcbmgxIGkubWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCB7XG4gIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnb3BzeicgMjAsICd3Z2h0JyA0MDAsICdGSUxMJyAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiAtMC4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4vLyBQYWdlLXRpdGxlIGljb24gKMOgIGVzcXVlcmRhIGRvIGgxKSDigJQgcmVjaXBlIHNpZGViYXIgbGV2ZWwtMSByZXN0OlxuLy8gTWF0ZXJpYWwgU3ltYm9scyBPdXRsaW5lZCwgb3BzeiAyMCwgd2dodCAzMDAsIEZJTEwgMCwgb3BhY2l0eSAwLjY1LlxuLy8gVGFtYW5obyAyMnB4IGhhcm1vbml6YSBjb20gaDEgMjAvMjQgKGxlYWQtaW4gc2VtIGRvbWluYXIpLiA4cHggZGUgZ2FwXG4vLyBlbnRyZSDDrWNvbmUgZSB0w610dWxvLiBHbG9iYWwgcHJhIGV2aXRhciBkdXBsaWNhciBhIHJlZ3JhIGVtIGNhZGEgcMOhZ2luYS5cbi5tYWluLXRpdGxlLWljb24ge1xuICBmb250LXNpemU6IDIycHg7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgb3BhY2l0eTogMC42NTtcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdvcHN6JyAyMCwgJ3dnaHQnIDQwMCwgJ0ZJTEwnIDA7XG59XG5cbi8vIExhYmVsIGRvIHNsaWRlLXRvZ2dsZSBQQURSw4NPIERPIFNJU1RFTUEgKE0zKTogdGlwb2dyYWZpYSBkbyBjaGFpciBsZXZlbC0yIOKAlFxuLy8gMTNweCAoZGVuc28pLCB3ZWlnaHQgNDMwIChib2R5KSwgbGluZS1oZWlnaHQgMS4zLCBsZXR0ZXItc3BhY2luZyAwLiBVbml2ZXJzYWxcbi8vIChhbnRlcyBlc2NvcGFkbyBhIGAubWFpbi1oZWFkZXIgLm9wdGlvbnNgIGUgYC5zbWFsbC1waWNrZXJgKS5cbi5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnQge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MzA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xufVxuXG4vLyBNYWpvciBzZWN0aW9uIHRpdGxlLiBNRDMgdGl0bGUtbGFyZ2UuXG5oMiB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07ICAgICAgLy8gMjJweFxuICBsaW5lLWhlaWdodDogMS43NXJlbTsgICAgIC8vIDI4cHhcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG59XG5cbi8vIFN1YnNlY3Rpb24gLyAuc2VjdGlvbi10aXRsZSAod2hpY2ggQGV4dGVuZHMgaDMpLiBTaXplZCBhdCAxNXB4IHNvIGl0IHNpdHNcbi8vIGp1c3QgYWJvdmUgdGhlIDEzcHggYm9keSBpbiB0aGUgY2FudmFzIOKAlCBnaXZlcyBhIGNsZWFyIFwiaGVhZGVyXCIgY3VlIHdpdGhvdXRcbi8vIGFkZGluZyBhIHRoaXJkIHNjYWxlIGJleW9uZCB3aGF0IHRoZSBtZW51IGhpZXJhcmNoeSBhbHJlYWR5IGVzdGFibGlzaGVkXG4vLyAoaDE9MjAgcGFnZSB0aXRsZSwgaDM9MTUgc2VjdGlvbiBoZWFkZXIsIGJvZHk9MTMpLiBXZWlnaHQgNTAwIHZzIGJvZHkgNDMwLFxuLy8gdHJhY2tpbmcgMCAoY2hhaXIgVUkgcnVsZSkuIENvbG9yIHNldCBvbiAuc2VjdGlvbi10aXRsZSB2aWEgX2NvbG9yLXNjaGVtZS5zY3NzLlxuaDMge1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTsgICAgIC8vIDE1cHhcbiAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtOyAgICAvLyAyMnB4XG4gIGxldHRlci1zcGFjaW5nOiAwO1xufVxuXG4vLyBDYXJkL3BhbmVsIHRpdGxlLiBNRDMgdGl0bGUtc21hbGwuXG5oNCB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07ICAgICAgLy8gMTRweFxuICBsaW5lLWhlaWdodDogMS4yNXJlbTsgICAgIC8vIDIwcHhcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDA2MjVyZW07XG59XG5cbi8vIEV5ZWJyb3cgbGFiZWwuIE1EMyBsYWJlbC1tZWRpdW0gdXBwZXJjYXNlLlxuaDUge1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDAuNzVyZW07ICAgICAgIC8vIDEycHhcbiAgbGluZS1oZWlnaHQ6IDFyZW07ICAgICAgICAvLyAxNnB4XG4gIGxldHRlci1zcGFjaW5nOiAwLjAzMTI1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBHZW5lcmljIHN1YnRpdGxlL2V5ZWJyb3cuIE1EMyBsYWJlbC1sYXJnZSB1cHBlcmNhc2UuXG4vLyBDb21wb25lbnQtbG9jYWwgLnN1YnRpdGxlIG92ZXJyaWRlcyAoZXZlbnQtc2VuZC1lbWFpbCwgZXZlbnQtdG9waWNzLFxuLy8gZGFzaGJvYXJkLXNldHRpbmdzLCBfZXZlbnQtYWRtaW4uc2Nzcykgc3RpbGwgd2luIHdoZXJlIHRoZXkgZXhpc3QuXG4uc3VidGl0bGUge1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDAuODc1cmVtOyAgICAgIC8vIDE0cHhcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07ICAgICAvLyAyMHB4XG4gIGxldHRlci1zcGFjaW5nOiAwLjAzMTI1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBUYWJsZSBjb2x1bW4gaGVhZGVycyAoMjY0IGluc3RhbmNlcyBhcHAtd2lkZSkuIE1EMyBsYWJlbC1tZWRpdW0gdXBwZXJjYXNlXG4vLyArIHRhYnVsYXIgbnVtYmVycyBzbyBjb2x1bW5zIG9mIG51bWVyaWMgSURzIGFsaWduIHZpc3VhbGx5LlxuLm1hdC1oZWFkZXItY2VsbCB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgICAgICAgLy8gMTJweFxuICBsaW5lLWhlaWdodDogMXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDMxMjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJ0bnVtXCI7XG59XG5cbi8vIE1hdGVyaWFsIGNhcmQgdGl0bGVzLiBNRDMgdGl0bGUtbWVkaXVtLlxuLm1hdC1jYXJkLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMDkzNzVyZW07XG59XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG5odG1sIHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuYm9keSxcbmh0bWwge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG5cbiAgJi5tb2RhbC1vcGVuIHtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG5cbiAgICBhcHAtbmF2YmFyIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cblxuICAmLnNpZGVzaGVldC1vcGVuIHtcbiAgICAuc2lkZXNoZWV0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICYuY2RrLWdsb2JhbC1zY3JvbGxibG9jayB7XG4gICAgYXBwLWZpeGVkLXRvcC1wcm9ncmVzcy1iYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBtYXQtaWNvbiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtb2JpbGUtd2lkdGgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICB9XG5cbiAgLnRhYmxlLmlzLWZ1bGx3aWR0aCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbmJvZHkge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbmFwcC1hZG1pbiB7XG4gIC5tYXQtdGFiLWJvZHktY29udGVudCB7XG4gICAgcGFkZGluZzogMC41ZW0gMWVtO1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi92YXJpYWJsZXMnO1xuXG4kY2FsLW1vbnRoLXZpZXctdmFyczogKCkgIWRlZmF1bHQ7XG4kY2FsLW1vbnRoLXZpZXctdmFyczogbWFwLW1lcmdlKCRjYWwtdmFycywgJGNhbC1tb250aC12aWV3LXZhcnMpO1xuXG5AbWl4aW4gY2FsLW1vbnRoLXZpZXctdGhlbWUoJG92ZXJyaWRlcykge1xuICAkdGhlbWU6IG1hcC1tZXJnZSgkY2FsLW1vbnRoLXZpZXctdmFycywgJG92ZXJyaWRlcyk7XG5cbiAgLmNhbC1tb250aC12aWV3IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYmctcHJpbWFyeSk7XG5cbiAgICAuY2FsLWNlbGwtcm93OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBiZy1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC5jYWwtY2VsbC1yb3cgLmNhbC1jZWxsOmhvdmVyLFxuICAgIC5jYWwtY2VsbC5jYWwtaGFzLWV2ZW50cy5jYWwtb3BlbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYmctYWN0aXZlKTtcbiAgICB9XG5cbiAgICAuY2FsLWRheXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYm9yZGVyLWNvbG9yKTtcbiAgICB9XG5cbiAgICAuY2FsLWRheS1jZWxsOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYm9yZGVyLWNvbG9yKTtcbiAgICB9XG5cbiAgICAuY2FsLWRheXMgLmNhbC1jZWxsLXJvdyB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYm9yZGVyLWNvbG9yKTtcbiAgICB9XG5cbiAgICAuY2FsLWRheS1iYWRnZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYmFkZ2UtY29sb3IpO1xuICAgICAgY29sb3I6IG1hcC1nZXQoJHRoZW1lLCB3aGl0ZSk7XG4gICAgfVxuXG4gICAgLmNhbC1ldmVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgZXZlbnQtY29sb3ItcHJpbWFyeSk7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBldmVudC1jb2xvci1zZWNvbmRhcnkpO1xuICAgICAgY29sb3I6IG1hcC1nZXQoJHRoZW1lLCB3aGl0ZSk7XG4gICAgfVxuXG4gICAgLmNhbC1kYXktY2VsbC5jYWwtd2Vla2VuZCAuY2FsLWRheS1udW1iZXIge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJHRoZW1lLCB3ZWVrZW5kLWNvbG9yKTtcbiAgICB9XG5cbiAgICAuY2FsLWRheS1jZWxsLmNhbC10b2RheSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgdG9kYXktYmcpO1xuICAgIH1cblxuICAgIC5jYWwtZGF5LWNlbGwuY2FsLWRyYWctb3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4obWFwLWdldCgkdGhlbWUsIGJnLWFjdGl2ZSksIDUlKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jYWwtb3Blbi1kYXktZXZlbnRzIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgd2hpdGUpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGdyYXkpO1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDE1cHggMCByZ2JhKG1hcC1nZXQoJHRoZW1lLCBibGFjayksIDAuNSk7XG4gICAgfVxuICB9XG59XG5cbi5jYWwtbW9udGgtdmlldyB7XG4gIC5jYWwtaGVhZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC5jYWwtaGVhZGVyIC5jYWwtY2VsbCB7XG4gICAgcGFkZGluZzogNXB4IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgLmNhbC1kYXlzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICB9XG5cbiAgLmNhbC1jZWxsLXRvcCB7XG4gICAgbWluLWhlaWdodDogNzhweDtcbiAgICBmbGV4OiAxO1xuICB9XG5cbiAgLmNhbC1jZWxsLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIC5jYWwtY2VsbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgICAuY2FsLWV2ZW50IHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGwgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuY2FsLWRheS1jZWxsIHtcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcblxuICAgIC8vIGllMTEgaGFjayBmb3IgaHR0cHM6Ly9naXRodWIuY29tL21hdHRsZXdpczkyL2FuZ3VsYXItY2FsZW5kYXIvaXNzdWVzLzUwMVxuICAgIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmNhbC1kYXktY2VsbDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZDtcbiAgfVxuXG4gIC5jYWwtZGF5cyAuY2FsLWNlbGwtcm93IHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gIH1cblxuICAuY2FsLWRheS1iYWRnZSB7XG4gICAgbWFyZ2luLXRvcDogMThweDtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWluLXdpZHRoOiAxMHB4O1xuICAgIHBhZGRpbmc6IDNweCA3cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICB9XG5cbiAgLmNhbC1kYXktbnVtYmVyIHtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgLmNhbC1ldmVudHMge1xuICAgIGZsZXg6IDE7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIG1hcmdpbjogM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgLmNhbC1ldmVudCB7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAycHg7XG4gIH1cblxuICAuY2FsLWRheS1jZWxsLmNhbC1pbi1tb250aC5jYWwtaGFzLWV2ZW50cyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgLmNhbC1kYXktY2VsbC5jYWwtb3V0LW1vbnRoIC5jYWwtZGF5LW51bWJlciB7XG4gICAgb3BhY2l0eTogMC4xO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxuXG4gIC5jYWwtZGF5LWNlbGwuY2FsLXRvZGF5IC5jYWwtZGF5LW51bWJlciB7XG4gICAgZm9udC1zaXplOiAxLjllbTtcbiAgfVxuXG4gIC5jYWwtb3Blbi1kYXktZXZlbnRzIHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICB9XG5cbiAgLmNhbC1vcGVuLWRheS1ldmVudHMgLmNhbC1ldmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMnB4O1xuICB9XG5cbiAgLmNhbC1vdXQtbW9udGgge1xuICAgIC5jYWwtZGF5LWJhZGdlLFxuICAgIC5jYWwtZXZlbnQge1xuICAgICAgb3BhY2l0eTogMC4zO1xuICAgIH1cbiAgfVxuXG4gIC5jYWwtZHJhZ2dhYmxlIHtcbiAgICBjdXJzb3I6IG1vdmU7XG4gIH1cblxuICAuY2FsLWRyYWctYWN0aXZlICoge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLmNhbC1ldmVudC10aXRsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgY2FsLW1vbnRoLXZpZXctdGhlbWUoJGNhbC1tb250aC12aWV3LXZhcnMpO1xuIiwiQGltcG9ydCAnLi4vLi4vdmFyaWFibGVzJztcblxuJGNhbC13ZWVrLXZpZXctdmFyczogKCkgIWRlZmF1bHQ7XG4kY2FsLXdlZWstdmlldy12YXJzOiBtYXAtbWVyZ2UoJGNhbC12YXJzLCAkY2FsLXdlZWstdmlldy12YXJzKTtcblxuQG1peGluIGNhbC13ZWVrLXZpZXctdGhlbWUoJG92ZXJyaWRlcykge1xuICAkdGhlbWU6IG1hcC1tZXJnZSgkY2FsLXdlZWstdmlldy12YXJzLCAkb3ZlcnJpZGVzKTtcblxuICAuY2FsLXdlZWstdmlldyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJnLXByaW1hcnkpO1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCBtYXAtZ2V0KCR0aGVtZSwgYm9yZGVyLWNvbG9yKTtcblxuICAgIC5jYWwtZGF5LWhlYWRlcnMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYm9yZGVyLWNvbG9yKTtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgfVxuXG4gICAgLmNhbC1kYXktaGVhZGVycyAuY2FsLWhlYWRlciB7XG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBib3JkZXItY29sb3IpO1xuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBib3JkZXItY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jYWwtZGF5LWhlYWRlcnMgLmNhbC1oZWFkZXI6aG92ZXIsXG4gICAgLmNhbC1kYXktaGVhZGVycyAuY2FsLWRyYWctb3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYmctYWN0aXZlKTtcbiAgICB9XG5cbiAgICAuY2FsLWRheS1jb2x1bW4ge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBib3JkZXItY29sb3IpO1xuICAgIH1cblxuICAgIC5jYWwtZXZlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGV2ZW50LWNvbG9yLXNlY29uZGFyeSk7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBldmVudC1jb2xvci1wcmltYXJ5KTtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgZXZlbnQtY29sb3ItcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLmNhbC1hbGwtZGF5LWV2ZW50cyB7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBib3JkZXItY29sb3IpO1xuICAgIH1cblxuICAgIC5jYWwtaGVhZGVyLmNhbC10b2RheSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgdG9kYXktYmcpO1xuICAgIH1cblxuICAgIC5jYWwtaGVhZGVyLmNhbC13ZWVrZW5kIHNwYW4ge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJHRoZW1lLCB3ZWVrZW5kLWNvbG9yKTtcbiAgICB9XG5cbiAgICAuY2FsLXRpbWUtZXZlbnRzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJvcmRlci1jb2xvcik7XG5cbiAgICAgIC5jYWwtZGF5LWNvbHVtbnMge1xuICAgICAgICAmOm5vdCguY2FsLXJlc2l6ZS1hY3RpdmUpIHtcbiAgICAgICAgICAuY2FsLWhvdXItc2VnbWVudDpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYmctYWN0aXZlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FsLWhvdXItb2RkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBiZy1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC5jYWwtZHJhZy1vdmVyIC5jYWwtaG91ci1zZWdtZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBiZy1hY3RpdmUpO1xuICAgIH1cblxuICAgIC5jYWwtaG91cjpub3QoOmxhc3QtY2hpbGQpIC5jYWwtaG91ci1zZWdtZW50LFxuICAgIC5jYWwtaG91cjpsYXN0LWNoaWxkIDpub3QoOmxhc3QtY2hpbGQpIC5jYWwtaG91ci1zZWdtZW50IHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBib3JkZXItY29sb3IpO1xuICAgIH1cblxuICAgIC5jYWwtY3VycmVudC10aW1lLW1hcmtlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgY3VycmVudC10aW1lLW1hcmtlci1jb2xvcik7XG4gICAgfVxuICB9XG59XG5cbi5jYWwtd2Vlay12aWV3IHtcbiAgKiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC5jYWwtZGF5LWhlYWRlcnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZy1sZWZ0OiA3MHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICB9XG5cbiAgLmNhbC1kYXktaGVhZGVycyAuY2FsLWhlYWRlciB7XG4gICAgZmxleDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogNXB4O1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkO1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICB9XG4gIH1cblxuICAuY2FsLWRheS1oZWFkZXJzIHNwYW4ge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG5cbiAgLmNhbC1kYXktY29sdW1uIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDFweDtcbiAgfVxuXG4gIC5jYWwtZXZlbnQge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgfVxuXG4gIC5jYWwtdGltZS1sYWJlbC1jb2x1bW4ge1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5jYWwtY3VycmVudC10aW1lLW1hcmtlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAuY2FsLWFsbC1kYXktZXZlbnRzIHtcbiAgICBib3JkZXI6IHNvbGlkIDFweDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDNweDtcbiAgICBwYWRkaW5nLXRvcDogM3B4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5jYWwtZGF5LWNvbHVtbnMge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgei1pbmRleDogMDtcbiAgICB9XG5cbiAgICAuY2FsLWV2ZW50cy1yb3cge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAzMXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDcwcHg7XG4gICAgfVxuXG4gICAgLmNhbC1ldmVudC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAmLnJlc2l6ZS1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FsLWV2ZW50IHtcbiAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgfVxuXG4gICAgLmNhbC1zdGFydHMtd2l0aGluLXdlZWsgLmNhbC1ldmVudCB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgfVxuXG4gICAgLmNhbC1lbmRzLXdpdGhpbi13ZWVrIC5jYWwtZXZlbnQge1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgfVxuXG4gICAgLmNhbC10aW1lLWxhYmVsLWNvbHVtbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIC5jYWwtcmVzaXplLWhhbmRsZSB7XG4gICAgICB3aWR0aDogNnB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgY3Vyc29yOiBjb2wtcmVzaXplO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuXG4gICAgICAmLmNhbC1yZXNpemUtaGFuZGxlLWFmdGVyLWVuZCB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jYWwtZXZlbnQsXG4gIC5jYWwtaGVhZGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAuY2FsLWRyYWctYWN0aXZlIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgJiAqIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5jYWwtdGltZS1ldmVudHMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IHNvbGlkIDFweDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAuY2FsLWRheS1jb2x1bW5zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxuXG4gICAgLmNhbC1kYXktY29sdW1uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuY2FsLWV2ZW50cy1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5jYWwtZXZlbnQtY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLmNhbC1ldmVudCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMnB4KTtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnB4KTtcbiAgICAgIG1hcmdpbjogMXB4O1xuICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICB9XG5cbiAgICAuY2FsLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIGN1cnNvcjogcm93LXJlc2l6ZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgJi5jYWwtcmVzaXplLWhhbmRsZS1hZnRlci1lbmQge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNhbC1ob3VyLXNlZ21lbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYTAnO1xuICAgIH1cbiAgfVxuXG4gIC5jYWwtZXZlbnQtY29udGFpbmVyOm5vdCguY2FsLWRyYWdnYWJsZSkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC5jYWwtZHJhZ2dhYmxlIHtcbiAgICBjdXJzb3I6IG1vdmU7XG4gIH1cblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItdHlwZS1uby11bmtub3duICovXG4gIG13bC1jYWxlbmRhci13ZWVrLXZpZXctaG91ci1zZWdtZW50LCAvKiBmaXggZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXR0bGV3aXM5Mi9hbmd1bGFyLWNhbGVuZGFyL2lzc3Vlcy8yNjAqL1xuICAuY2FsLWhvdXItc2VnbWVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuY2FsLWhvdXI6bm90KDpsYXN0LWNoaWxkKSAuY2FsLWhvdXItc2VnbWVudCxcbiAgLmNhbC1ob3VyOmxhc3QtY2hpbGQgOm5vdCg6bGFzdC1jaGlsZCkgLmNhbC1ob3VyLXNlZ21lbnQge1xuICAgIGJvcmRlci1ib3R0b206IHRoaW4gZGFzaGVkO1xuICB9XG5cbiAgLmNhbC10aW1lIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5jYWwtaG91ci1zZWdtZW50LmNhbC1hZnRlci1ob3VyLXN0YXJ0IHtcbiAgICAuY2FsLXRpbWUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuY2FsLXN0YXJ0cy13aXRoaW4tZGF5IC5jYWwtZXZlbnQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xuICB9XG5cbiAgLmNhbC1lbmRzLXdpdGhpbi1kYXkgLmNhbC1ldmVudCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7XG4gIH1cbn1cblxuQGluY2x1ZGUgY2FsLXdlZWstdmlldy10aGVtZSgkY2FsLXdlZWstdmlldy12YXJzKTtcbiIsIi5jYWwtZGF5LXZpZXcge1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItdHlwZS1uby11bmtub3duICovXG4gIG13bC1jYWxlbmRhci13ZWVrLXZpZXctaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmNhbC1ldmVudHMtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tbGVmdDogNzBweDtcbiAgfVxuXG4gIC5jYWwtZGF5LWNvbHVtbiB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAuY2FsLWN1cnJlbnQtdGltZS1tYXJrZXIge1xuICAgIG1hcmdpbi1sZWZ0OiA3MHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA3MHB4KTtcbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vdmFyaWFibGVzJztcblxuJGNhbC10b29sdGlwLXZhcnM6ICgpICFkZWZhdWx0O1xuJGNhbC10b29sdGlwLXZhcnM6IG1hcC1tZXJnZSgkY2FsLXZhcnMsICRjYWwtdG9vbHRpcC12YXJzKTtcblxuQG1peGluIGNhbC10b29sdGlwLXRoZW1lKCRvdmVycmlkZXMpIHtcbiAgJHRoZW1lOiBtYXAtbWVyZ2UoJGNhbC10b29sdGlwLXZhcnMsICRvdmVycmlkZXMpO1xuXG4gIC5jYWwtdG9vbHRpcC5jYWwtdG9vbHRpcC10b3AgLmNhbC10b29sdGlwLWFycm93IHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYmxhY2spO1xuICB9XG5cbiAgLmNhbC10b29sdGlwLmNhbC10b29sdGlwLXJpZ2h0IC5jYWwtdG9vbHRpcC1hcnJvdyB7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYmxhY2spO1xuICB9XG5cbiAgLmNhbC10b29sdGlwLmNhbC10b29sdGlwLWJvdHRvbSAuY2FsLXRvb2x0aXAtYXJyb3cge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBibGFjayk7XG4gIH1cblxuICAuY2FsLXRvb2x0aXAuY2FsLXRvb2x0aXAtbGVmdCAuY2FsLXRvb2x0aXAtYXJyb3cge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYmxhY2spO1xuICB9XG5cbiAgLmNhbC10b29sdGlwLWlubmVyIHtcbiAgICBjb2xvcjogbWFwLWdldCgkdGhlbWUsIHdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYmxhY2spO1xuICB9XG59XG5cbi5jYWwtdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA3MDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICBmb250LXNpemU6IDExcHg7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMC45O1xufVxuXG4uY2FsLXRvb2x0aXAuY2FsLXRvb2x0aXAtdG9wIHtcbiAgcGFkZGluZzogNXB4IDA7XG4gIG1hcmdpbi10b3A6IC0zcHg7XG59XG5cbi5jYWwtdG9vbHRpcC5jYWwtdG9vbHRpcC10b3AgLmNhbC10b29sdGlwLWFycm93IHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICBib3JkZXItd2lkdGg6IDVweCA1cHggMDtcbn1cblxuLmNhbC10b29sdGlwLmNhbC10b29sdGlwLXJpZ2h0IHtcbiAgcGFkZGluZzogMCA1cHg7XG4gIG1hcmdpbi1sZWZ0OiAzcHg7XG59XG5cbi5jYWwtdG9vbHRpcC5jYWwtdG9vbHRpcC1yaWdodCAuY2FsLXRvb2x0aXAtYXJyb3cge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogLTVweDtcbiAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDVweCAwO1xufVxuXG4uY2FsLXRvb2x0aXAuY2FsLXRvb2x0aXAtYm90dG9tIHtcbiAgcGFkZGluZzogNXB4IDA7XG4gIG1hcmdpbi10b3A6IDNweDtcbn1cblxuLmNhbC10b29sdGlwLmNhbC10b29sdGlwLWJvdHRvbSAuY2FsLXRvb2x0aXAtYXJyb3cge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gIGJvcmRlci13aWR0aDogMCA1cHggNXB4O1xufVxuXG4uY2FsLXRvb2x0aXAuY2FsLXRvb2x0aXAtbGVmdCB7XG4gIHBhZGRpbmc6IDAgNXB4O1xuICBtYXJnaW4tbGVmdDogLTNweDtcbn1cblxuLmNhbC10b29sdGlwLmNhbC10b29sdGlwLWxlZnQgLmNhbC10b29sdGlwLWFycm93IHtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW4tdG9wOiAtNXB4O1xuICBib3JkZXItd2lkdGg6IDVweCAwIDVweCA1cHg7XG59XG5cbi5jYWwtdG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogMjAwcHg7XG4gIHBhZGRpbmc6IDNweCA4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cblxuLmNhbC10b29sdGlwLWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG5AaW5jbHVkZSBjYWwtdG9vbHRpcC10aGVtZSgkY2FsLXRvb2x0aXAtdmFycyk7XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4ubWF0LWRpYWxvZy1jb250YWluZXIge1xuICBib3JkZXItcmFkaXVzOiAwLjg3NXJlbSAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMTVweCAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgLm1vZGFsV2luZG93IHtcbiAgICB3aWR0aDogMjUwcHg7XG5cbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAubG9nb0NvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDEuODEyNXJlbTtcbiAgICAgIG1hcmdpbjogMS43cmVtIDAgMnJlbSAwO1xuXG4gICAgICAubG9nbyB7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAxcHggNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6IEdhaW5zYm9ybztcbiAgICAgICAgLy8gY29sb3I6IGJsYWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDAuMjVyZW07XG4gICAgICB3aWR0aDogMTEycHg7XG4gICAgfVxuXG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgLy8gYm9yZGVyOiAwcHggbm9uZSB3aGl0ZTtcbiAgICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggM3B4IDFweCBMaWdodEdyYXk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWluZml4IHtcbiAgICAvLyBib3JkZXItdG9wOiAwcHggbm9uZSB3aGl0ZTtcbiAgICBib3JkZXI6IDBweCBub25lIHdoaXRlO1xuICB9XG59XG5cbi5tYXQtZm9ybS1maWVsZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBsaW5lLWhlaWdodDogMS41O1xuXG4gIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyIHtcbiAgICAubWF0LWljb24ge1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cbiAgfVxufVxuXG5hcHAtc2VhcmNoLWJ1dHRvbiB7XG4gIC5tYXQtc2VhcmNoX2ZpZWxkIHtcbiAgICBpbnB1dCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDM2cHg7XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XG4gICAgICBoZWlnaHQ6IDNweDtcblxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pY29uLWNvbG9yO1xuICAgICAgYm9yZGVyLXJhZGl1czogMS41cHg7XG4gICAgfVxuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQge1xuICAgICAgbGFiZWwubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2UtaW47XG5cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDEuNSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIHRvcDogMnJlbTtcblxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gICAgfVxuICB9XG59XG5cbi50b3BpY3MtdGFibGUge1xuICAubWF0LXJhZGlvLWxhYmVsIHtcbiAgICB3aWR0aDogMjBweDtcbiAgfVxufVxuXG4vLyBhZGRzIGJyZWFrcyB0byB0aGUgbWF0LWNoZWNrYm94ZXMgd2l0aCBsb25nIGxhYmVsc1xuLm1hdC1jaGVja2JveC1sYXlvdXQge1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7XG59XG5cbi8vIE8gbWF0LXNlbGVjdCAoY29tIGBbZGlzYWJsZU9wdGlvbkNlbnRlcmluZ109XCJ0cnVlXCJgLCBnbG9iYWwgZW0gYXBwLXNlbGVjdC1pbnB1dC9cbi8vIC1sZS8tZmxhZykgYW5jb3JhIG8gcGFpbmVsIG5vIFRPUE8gZGEgY2FpeGEg4oaSIHNvYnJlcG9yaWEgbyBpbnB1dC4gRW1wdXJyYW1vcyBvXG4vLyBgLm1hdC1zZWxlY3QtcGFuZWwtd3JhcGAgcHJhIGJhaXhvLCB+cGVsYSBBTFRVUkEgZGEgY2FpeGEsIHByYSBhYnJpciBsb2dvIEFCQUlYT1xuLy8gZGVsYS4gVmFsb3IgY2FsaWJyYWRvIHByYXMgY2FpeGFzIExFR0FEQVMgKGFwcGVhcmFuY2UgcGFkcsOjbywgfjM2cHgpLiBDb21taXRcbi8vIG9yaWdpbmFsOiBkOTYzM2ExMTAuXG4ubWF0LXNlbGVjdC1wYW5lbC13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDQwcHg7XG59XG5cbi8vIENhaXhhcyBGSUxURVItU1RZTEVEIChtYXJjYSBgamVtczMtc2VsZWN0LXBhbmVsLWNvbXBhY3RgKTogY29ycmXDp8OjbyBkb1xuLy8gcG9zaWNpb25hbWVudG8gZG8gcGFpbmVsIGRvIG1hdC1zZWxlY3QgTVVMVElQTEUuIEJhc2UgKGRhIGZvbnRlIGRvIEBhbmd1bGFyL1xuLy8gbWF0ZXJpYWwgMTEuMik6IG8gcGFpbmVsIFNPQlJFUMOVRSBvIGdhdGlsaG8gcGVsbyB0b3BvIChvdmVybGF5WTp0b3Avb3JpZ2luWTp0b3ApLFxuLy8gYXBsaWNhIGB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpYCAob2Zmc2V0WCBkZSBtdWx0aXBsZSkgZSBvZmZzZXRZPTAgKHZpYVxuLy8gYGRpc2FibGVPcHRpb25DZW50ZXJpbmdgKS4gTyBgbGVmdGAgY2FuY2VsYSBvIC00MCBlIG8gYHRvcGAgZGVzY2UgcHJhIGJhaXhvIGRhIGNhaXhhLlxuLy8gT3MgdmFsb3JlcyBmb3JhbSBDQUxJQlJBRE9TIHBlbG8gRE9NIHJlYWwgKGdldEJvdW5kaW5nQ2xpZW50UmVjdCBtZWRpZG8pOiBjb21cbi8vIHRvcDoyNi9sZWZ0OjQwIG8gcGFpbmVsIGZpY2F2YSBkeExlZnQ9KzExcHgsIGR5VG9wPSs3cHgg4oaSIGNvcnJpZ2lkbyBwLyBib3JkYVxuLy8gZXNxdWVyZGEgYWxpbmhhZGEgw6AgY2FpeGEgKGR4TGVmdOKGkjApIGUgfjRweCBkZSBmb2xnYSBhYmFpeG8gKGR5VG9w4oaSNCk6XG4vLyAgIGxlZnQgPSA0MCAtIDExID0gMjlweCA7ICB0b3AgPSAyNiAtIDMgPSAyM3B4XG4ubWF0LXNlbGVjdC1wYW5lbC13cmFwOmhhcyguamVtczMtc2VsZWN0LXBhbmVsLWNvbXBhY3QpIHtcbiAgdG9wOiAyM3B4O1xuICBsZWZ0OiAyOXB4O1xufVxuXG4vLyBaZXJhIGEgYW5pbWHDp8OjbyBkZSBhYmVydHVyYSBkbyBwYWluZWwgZmlsdGVyLXN0eWxlZCDigJQgcGFyZWlhIGNvbSBvIHJlc3RvXG4vLyBkbyBKRU1TMyAobWVudXMvcG9wb3ZlcnMgasOhIGFicmVtIHNlbSBhbmltYcOnw6NvKS4gTsODTyBtZXhlciBlbSB0cmFuc2Zvcm06XG4vLyBNYXRlcmlhbCB1c2EgdHJhbnNsYXRlWCgtNDBweCkgZSBvdXRyb3MgcHJhIHBvc2ljaW9uYXIgbyBwYWluZWwuXG4ubWF0LXNlbGVjdC1wYW5lbC5qZW1zMy1zZWxlY3QtcGFuZWwge1xuICBhbmltYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uY29tcGFjdCB7XG4gIC5tYXQtZm9ybS1maWVsZCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1O1xuXG4gICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4kYnV0dG9uLWhlaWdodDogJGNvbnRyb2wtaGVpZ2h0OyAgIC8vIGFsaWFzIGxlZ2FkbyDihpIgdG9rZW4gw7puaWNvICh2ZXIgX3ZhcmlhYmxlcy5zY3NzKVxuXG4uYnV0dG9ucyB7XG4gIC5pcy1kaXZpZGVyIHtcbiAgICBtYXJnaW46IDJyZW0gMDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICBtYXJnaW46IDFyZW0gMDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsYW5kaW5nLWJhY2tncm91bmQ7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuOTVyZW0pO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICB9XG59XG5cbmEge1xuICBvdXRsaW5lOiAwO1xuICAvLyBDb252ZW7Dp8OjbyBkbyBKRU1TMzogbGlua3MgbnVuY2Egc3VibGluaGFtIG5vIGhvdmVyLiBSZWdyYSBnbG9iYWxcbiAgLy8gY29kaWZpY2FkYSBhcXVpIHByYSBldml0YXIgcXVlIGNhZGEgcMOhZ2luYSByZWludmVudGUgbyBgJjpob3ZlclxuICAvLyB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH1gLiBWZXIgbWVtw7NyaWEgZmVlZGJhY2tfbm9fbGlua191bmRlcmxpbmVfaG92ZXIuXG4gICY6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbn1cblxuYnV0dG9uIHtcbiAgaGVpZ2h0OiAkYnV0dG9uLWhlaWdodDtcbn1cblxuLy8gQSByZWdyYSBhY2ltYSBGT1LDh0EgYSBhbHR1cmEgZGUgdG9kbyA8YnV0dG9uPiBhbyB0b2tlbi4gTyBNYXRlcmlhbCwgcG9yw6ltLFxuLy8gY2VudHJhbGl6YSBvIGxhYmVsIGRvcyBib3TDtWVzIGRlIFRFWFRPIHZpYSBgbGluZS1oZWlnaHQ6IDM2cHhgIGZpeG8g4oCUIHF1ZVxuLy8gZGVzY2FzYSBxdWFuZG8gJGNvbnRyb2wtaGVpZ2h0IOKJoCAzNnB4IChvIGxhYmVsIGRlc2xpemEgcHJhIGJhaXhvKS4gQW1hcnJhbW9zIG9cbi8vIGxpbmUtaGVpZ2h0IGFvIHRva2VuIHAvIG8gbGFiZWwgY2VudHJhbGl6YXIgZW0gUVVBTFFVRVIgYWx0dXJhLiAobWF0LXJhaXNlZC1idXR0b25cbi8vIGrDoSBjZW50cmFsaXphIHZpYSBgaW5saW5lLWdyaWRgIG1haXMgYWJhaXhvLCBlbnTDo28gZmljYSBkZSBmb3JhLilcbmJ1dHRvbi5tYXQtYnV0dG9uLFxuYnV0dG9uLm1hdC1mbGF0LWJ1dHRvbixcbmJ1dHRvbi5tYXQtc3Ryb2tlZC1idXR0b24ge1xuICBsaW5lLWhlaWdodDogJGNvbnRyb2wtaGVpZ2h0O1xufVxuXG4uY2xvc2UuYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE1cHg7XG4gIHJpZ2h0OiAxNXB4O1xuXG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBmb250LXNpemU6IDIycHg7XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5yaXBwbGUtYnV0dG9uLm1hdC1yYWlzZWQtYnV0dG9uIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgaGVpZ2h0OiAzNHB4O1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG5cbiAgLm1hdC1pY29uIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gICYuc2VsZWN0ZWQge1xuICAgIHBhZGRpbmc6IDAgMC41cmVtO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAxcHggMXB4IDVweCAkYmxhY2stNTAwO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KC5zZWxlY3RlZCkge1xuICAgIHBhZGRpbmc6IDAgMC41cmVtO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAxcHggMXB4IDVweCAkYmxhY2stNTAwO1xuICAgIH1cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgY29sb3I6ICRzaWRlYmFyLWxhYmVsLXNlbGVjdGVkLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gICYubWF0LXJhaXNlZC1idXR0b24uY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5zdWJtaXNzaW9ucywgLnJldmlld3MsIC5ldmVudHMsIC5teWV2ZW50cywgLmNvbW1pdHRlZXMsIC5ldmVudC1hZG1pbiB7XG4gIC5maWx0ZXJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgLnRvZ2dsZSB7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgLm1hdC1jaGVja2JveC1sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIH1cblxuICAgICAgLm5vdGlmeS1idXR0b24ge1xuICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubm90aWZ5LWJ1dHRvbiB7XG4gIGNvbG9yOiByZWQgIWltcG9ydGFudDtcbn1cblxuLmZpbGUtaWNvbi1idXR0b25zIHtcbiAgbGluZS1oZWlnaHQ6ICRmaWxlLWljb24tc2l6ZTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICRmaWxlLWljb24tc2l6ZTtcbiAgICB3aWR0aDogJGZpbGUtaWNvbi1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkZmlsZS1pY29uLXNpemU7XG4gIH1cblxuICAuc21hbGxlci1idXR0b24sIC5zbWFsbGVyLWJ1dHRvbiBtYXQtaWNvbiB7XG4gICAgaGVpZ2h0OiAkZmlsZS1pY29uLXNpemUtc21hbGxlcjtcbiAgICB3aWR0aDogJGZpbGUtaWNvbi1zaXplLXNtYWxsZXI7XG4gICAgbGluZS1oZWlnaHQ6ICRmaWxlLWljb24tc2l6ZS1zbWFsbGVyO1xuICAgIGZvbnQtc2l6ZTogJGZpbGUtaWNvbi1zaXplLXNtYWxsZXItZm9udHNpemU7XG4gIH1cblxuICBhcHAtZmlsZS11cGxvYWQge1xuICAgIG1hcmdpbi1sZWZ0OiAuNWVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogJGZpbGUtaWNvbi1zaXplLXNtYWxsZXI7XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAuYXBwLWljb24tYnV0dG9uIOKAlCBib3TDo28gaWNvbi1vbmx5IDQww5c0MCBkbyBKRU1TMy5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUGFkcsOjbyDDum5pY28gY29tcGFydGlsaGFkbyBwb3I6IHNpbm8gZGUgbm90aWZpY2HDp8O1ZXMgKC5wcm9maWxlLWJ1dHRvbiksXG4vLyBtZW51IGRlIHVzdcOhcmlvICgudXNlci1tZW51LWJ1dHRvbiksIHRyaWdnZXIgZG8gY29tbWFuZCBwYWxldHRlXG4vLyAoLmNvbW1hbmQtcGFsZXR0ZS10cmlnZ2VyKSBlIGJvdMOjbyBkZSBmaWx0cm9zICguZmlsdGVyLWJ1dHRvbikuXG4vLyBTdWJzdGl0dWkgfjMwIGxpbmhhcyBkdXBsaWNhZGFzIGVtIGNhZGEgY29tcG9uZW50ZS4gVG9rZW5zIGRlIGhvdmVyL1xuLy8gbWVudS1vcGVuIGZpY2FtIGVtIGBfY29sb3Itc2NoZW1lLnNjc3NgIChnYXRlZCBwb3IgdGVtYSkuIFVzZSBqdW50b1xuLy8gY29tIGEgY2xhc3NlIGVzcGVjw61maWNhIGRvIGNvbnRleHRvIChleDogYGNsYXNzPVwiYXBwLWljb24tYnV0dG9uIGZpbHRlci1idXR0b25cImApXG4vLyDigJQgYSBlc3BlY8OtZmljYSBmaWNhIGNvbW8gaG9vayBkZSBKUyBlIG92ZXJyaWRlcyBwb250dWFpcyAoYmFkZ2UsIGV0YykuXG4uYXBwLWljb24tYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICB3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cyAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxMDBtcyAkZWFzZS1vdXQ7XG5cbiAgLy8gUmlwcGxlL2ZvY3VzLW92ZXJsYXkgZG8gbWF0LWJ1dHRvbiDigJQgZXNjb25kaWRvcyBwcmEgc3VyZmFjZSBmaWNhciBsaW1wYS5cbiAgOjpuZy1kZWVwIC5tYXQtYnV0dG9uLXJpcHBsZSxcbiAgOjpuZy1kZWVwIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIMONY29uZSDigJQgMjBweCBjb20gYXhlcyB3Z2h0IDMwMC9GSUxMIDAgZGVmYXVsdC4gT3BhY2l0eSAwLjY1IGJhc2UsXG4gIC8vIDAuOSBob3ZlciwgMSBjb20gYC5tZW51LW9wZW5gIChlc3RhZG8gYXRpdm8gZG8gbWVudS9wYWluZWwpLlxuICAubWF0LWljb24ge1xuICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnb3BzeicgMjAsICd3Z2h0JyAzMDAsICdGSUxMJyAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTIwbXMgJGVhc2Utb3V0O1xuICAgIC8vIGBmb250LXZhcmlhdGlvbi1zZXR0aW5nc2AgcmVtb3ZpZG8gZGEgdHJhbnNpw6fDo286IGNhZGEgZnJhbWUgaW50ZXJtZWRpw6FyaW9cbiAgICAvLyByZS1zaGFwZSBhIGdseXBoIChjdXN0byBhbHRvIHF1YW5kbyBkaXNwYXJhKS4gRW0gdGFiZWxhcyBjb20gbXVpdG9zXG4gICAgLy8gYC5hcHAtaWNvbi1idXR0b25gIHBvciBsaW5oYSwgaG92ZXIgdmlhamFuZG8gZW50cmUgbGluaGFzIHBhZ2EgZXNzZVxuICAgIC8vIHJlLXNoYXBlIGVtIHbDoXJpb3Mgw61jb25lcyBzaW11bHTDom5lb3MuXG4gIH1cblxuICAvLyBgOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZClgIOKAlCBib3TDo28gZGVzYWJpbGl0YWRvIG7Do28gY2xhcmVpYSBvIMOtY29uZSBubyBob3ZlclxuICAvLyAoZXJhIGVzc2UgbyBob3ZlciBxdWUgc29icmF2YSBubyBcIi4uLlwiIGVtIG1vZG8gZWRpw6fDo287IGFzIG91dHJhcyByZWdyYXMgZGUgaG92ZXJcbiAgLy8gasOhIGVzdGF2YW0gZ3VhcmRhZGFzLCBtYXMgbyByZWFsY2UgZG8gw61jb25lIG7Do28pLlxuICAmOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCk6bm90KDpkaXNhYmxlZCk6aG92ZXIgLm1hdC1pY29uIHtcbiAgICBvcGFjaXR5OiAwLjk7XG4gIH1cblxuICAmLm1lbnUtb3BlbiAubWF0LWljb24ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdvcHN6JyAyMCwgJ3dnaHQnIDQwMCwgJ0ZJTEwnIDE7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jLWFjY2VudCwgIzdDMkQxMik7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgfVxufVxuXG5cblxuLy8gQ2hhaXIgVUkgYnV0dG9uIGZhbWlseSDigJQgcGFyIFwicHJpbWFyeSBmaWxsZWRcIiAvIFwic2Vjb25kYXJ5IHN0cm9rZWRcIlxuLy8gY29tcGFydGlsaGFkbyBwb3IgZm9ybSBzdWJtaXQtYmFycywgZGlhbG9ncywgZSBxdWFscXVlciBmbHV4byBkZSBhw6fDo29cbi8vIGNvbmZpcm1hci9jYW5jZWxhci4gQ2VudHJhbGl6YXIgYXF1aSBldml0YSBkcmlmdCB2aXN1YWwgZW50cmUgcMOhZ2luYXNcbi8vIChkZXNjb2JyaW1vcyBpc3NvIGNvbXBhcmFuZG8gRGVzY2FydGFyIGRvIHJldmlld3MtY29uZmlndXJhdGlvbiB2c1xuLy8gQ2FuY2VsYXIgZG8gY29uZmlybWF0aW9uLWRpYWxvZyDigJQgZXN0YXZhbSBjb20gZ2VvbWV0cmlhIGRpZmVyZW50ZSkuXG4vL1xuLy8gVXNvOlxuLy8gICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiAgIGNsYXNzPVwiY2hhaXItYnV0dG9uIGNoYWlyLWJ1dHRvbi0tcHJpbWFyeVwiICAgLi4uPlNhbHZhcjwvYnV0dG9uPlxuLy8gICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cImNoYWlyLWJ1dHRvbiBjaGFpci1idXR0b24tLXNlY29uZGFyeVwiIC4uLj5DYW5jZWxhcjwvYnV0dG9uPlxuLy9cbi8vIFZhcmlhbnRlIGRlc3RydXRpdmE6IGFwbGljYXIgYGNvbG9yPVwid2FyblwiYCBubyBib3TDo28gcHJpbcOhcmlvOyBjb3Igw6lcbi8vIGdlcmVuY2lhZGEgcGVsbyBNYXRlcmlhbCwgZ2VvbWV0cmlhL3RpcG9ncmFmaWEgasOhIHbDqm0gZGFxdWkuXG4vL1xuLy8gT3ZlcnJpZGVzIGxvY2FpcyAoZXg6IHN1Ym1pdCBkbyByZXZpZXdzLWNvbmZpZ3VyYXRpb24gY29tIG1pbi13aWR0aFxuLy8gbWFpb3IgcG9yIGNhdXNhIGRvIGxhYmVsIFwiU2FsdmFyIGFsdGVyYcOnw7Vlc1wiL1wiU2FsdmFuZG/igKZcIikgc2VndWVtXG4vLyBwb3Nzw612ZWlzIOKAlCBiYXN0YSBzb2JyZXNjcmV2ZXIgbWluLXdpZHRoIG5vIGNvbXBvbmVudGUuXG4uY2hhaXItYnV0dG9uLm1hdC1mbGF0LWJ1dHRvbixcbi5jaGFpci1idXR0b24ubWF0LXN0cm9rZWQtYnV0dG9uIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBtaW4td2lkdGg6IDk2cHg7XG4gIHBhZGRpbmc6IDAgMTZweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxMjBtcyBlYXNlLCBib3JkZXItY29sb3IgMTIwbXMgZWFzZSxcbiAgICAgICAgICAgICAgYm94LXNoYWRvdyAxMjBtcyBlYXNlLCBmaWx0ZXIgMTIwbXMgZWFzZTtcbn1cblxuLy8gQ2VudHJhbGl6YSB2ZXJ0aWNhbG1lbnRlIMOtY29uZSArIHRleHRvIGRlbnRybyBkbyBib3TDo28uIE8gd3JhcHBlciBkbyBNYXRlcmlhbFxuLy8gKGAubWF0LWJ1dHRvbi13cmFwcGVyYCkgYWxpbmhhIG8gY29udGXDumRvIHBlbGEgbGluaGEgZGUgYmFzZSBwb3IgcGFkcsOjbywgbyBxdWVcbi8vIGRlc2VuY29udHJhIG8gw61jb25lIGRvIHLDs3R1bG87IGlubGluZS1mbGV4ICsgYWxpZ24taXRlbXMgY2VudGVyIHJlc29sdmUgZW1cbi8vIFRPRE8gY2hhaXItYnV0dG9uIGNvbSBkaXJldGl2YSAobWF0LWZsYXQvbWF0LXN0cm9rZWQpLlxuLmNoYWlyLWJ1dHRvbi5tYXQtZmxhdC1idXR0b24gLm1hdC1idXR0b24td3JhcHBlcixcbi5jaGFpci1idXR0b24ubWF0LXN0cm9rZWQtYnV0dG9uIC5tYXQtYnV0dG9uLXdyYXBwZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Lm1hdC1mbGF0LWJ1dHRvbiB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1zZWNvbmRhcnkubWF0LXN0cm9rZWQtYnV0dG9uIHtcbiAgZm9udC13ZWlnaHQ6IDQzMDtcbiAgLy8gQmFja2dyb3VuZCBlIGJvcmRlciBleHBsw61jaXRvcyBHTE9CQUlTIChuw6NvIHRoZW1lLXNjb3BlZCkuIE1hdGVyaWFsXG4gIC8vIGRpYWxvZ3MgcmVuZGVyaXphbSB2aWEgY2RrLW92ZXJsYXktY29udGFpbmVyOyBlbWJvcmEgLmxpZ2h0LXRoZW1lL1xuICAvLyAuZGFyay10aGVtZSBlc3RlamFtIGVtIDxib2R5PiwgcmVncmFzIGdsb2JhaXMgc2VtIHByZWZpeG8gZ2FyYW50ZW1cbiAgLy8gYXBsaWNhw6fDo28gaW5kZXBlbmRlbnRlIGRlIHF1YWxxdWVyIGNhbWluaG8gZGUgY2FzY2FkZS5cbiAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3I7XG4gIC8vIENvciBkZSB0ZXh0byBleHBsw61jaXRhICh0aGVtZS1hd2FyZSkuIFNlbSBlbGEgbyBNYXRlcmlhbCBhcGxpY2EgdW0gZm9yZWdyb3VuZFxuICAvLyBwYWRyw6NvIHF1ZSBubyBkYXJrIGZpY2EgZXNjdXJvIOKGkiBcIkRlc2NhcnRhclwiIGVzbWFlY2lkbyBtZXNtbyBoYWJpbGl0YWRvLlxuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG4gIC8vIEJvcmRhIGRvcyBDT05UUk9MRVMgPSBjaHJvbWUtYm9yZGVyLUFDVElWRSAobWFpcyBkZWZpbmlkYSksIE1FU01PIHRva2VuIGRvIHRyaW8gZG9cbiAgLy8gaGVhZGVyIChjYWl4YSBkZSBmaWx0cm8sIGJvdMOjbyBkZSBmaWx0cm8sIGJvdMOjbyBkZSBhw6fDtWVzKS4gSGFybW9uaXphIG9zIGJvdMO1ZXMgZGFcbiAgLy8gYmFycmEgZGUgYcOnw7VlcyBjb20gbyBoZWFkZXI7IG8gYGNocm9tZS1ib3JkZXJgIGJhc2UgZmljYSByZXNlcnZhZG8gYSBESVZJU09SRVMuXG4gIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlO1xufVxuXG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tc2Vjb25kYXJ5Lm1hdC1zdHJva2VkLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yLWRhcms7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlO1xufVxuXG4vLyBIb3ZlciBkb3MgYm90w7VlcyBkYSBiYXJyYSBkZSBjb25maXJtYcOnw6NvIChjaGFpci1idXR0b24pLiBDb21vIG8gZm9jdXMtb3ZlcmxheSBmb2lcbi8vIHplcmFkbyAoYWJhaXhvKSwgbyBmZWVkYmFjayDDqSBleHBsw61jaXRvOiBlbGV2YcOnw6NvIHN1dGlsIG5vcyBkb2lzICsgbXVkYW7Dp2EgZGUgZnVuZG9cbi8vIG5vIHNlY3VuZMOhcmlvIGUgbGV2ZSBlc2N1cmVjaW1lbnRvIG5vIHByaW3DoXJpby4gRXhjbHVpIG8gZXN0YWRvIGRlc2FiaWxpdGFkby5cbi5jaGFpci1idXR0b24ubWF0LWZsYXQtYnV0dG9uOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCk6aG92ZXIsXG4uY2hhaXItYnV0dG9uLm1hdC1zdHJva2VkLWJ1dHRvbjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XG59XG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tc2Vjb25kYXJ5Lm1hdC1zdHJva2VkLWJ1dHRvbjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7XG59XG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tc2Vjb25kYXJ5Lm1hdC1zdHJva2VkLWJ1dHRvbjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrO1xuICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlO1xufVxuLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXByaW1hcnkubWF0LWZsYXQtYnV0dG9uOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCk6aG92ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMC45Myk7XG59XG5cbi8vIFplcmEgbyB0aW50IGRvIGZvY3VzIG92ZXJsYXkgbm8gY2hhaXItYnV0dG9uIChNYXRlcmlhbCBhcGxpY2EgfjAuMTJcbi8vIG9wYWNpdHkgcXVhbmRvIGZvY2FkbyDigJQgbyBxdWUgZMOhIGEgaW1wcmVzc8OjbyB2aXN1YWwgZGUgXCJmdW5kbyBjaW56YVwiXG4vLyBubyBib3TDo28gQ2FuY2VsYXIgZG8gZGlhbG9nLCBxdWUgw6kgYXV0by1mb2NhZG8pLiBGb2N1cyBjb250aW51YVxuLy8gcGVyY2VwdMOtdmVsIHZpYSAuY2RrLWZvY3VzZWQgb3V0bGluZS5cbi5jaGFpci1idXR0b24gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSB7XG4gIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbn1cblxuLy8gRGlzYWJsZWQ6IE1hdGVyaWFsIGFwbGljYSBzZXUgcHLDs3ByaW8gZ3JheSAoYC5tYXQtYnV0dG9uLWRpc2FibGVkYCksXG4vLyBxdWUgZGVzdG9hIGRvIHJlc3RvIGRvIGNoYWlyIFVJLiBGb3LDp2Ftb3Mgb3MgdG9rZW5zIGdsb2JhaXNcbi8vIGAkYnV0dG9uLWRpc2FibGVkLWNvbG9yYCAvIGAkYnV0dG9uLWRpc2FibGVkLWNvbG9yLWRhcmtgIChqw6EgdXNhZG9zIGVtXG4vLyBgYnV0dG9uOmRpc2FibGVkYCBlbSBfY29sb3Itc2NoZW1lLnNjc3MsIG1hcyBNYXRlcmlhbCB2ZW5jZSBwb3Jcbi8vIHNwZWNpZmljaXR5KS4gTyBgLm1hdC1pY29uYCBoZXJkYSB2aWEgYGNvbG9yOiBpbmhlcml0YCAoc2V0YWRvIG5vXG4vLyBvdmVycmlkZSBkbyBmbG9hdGluZy1zdWJtaXQtYmFyKS4gQWp1c3RhciBnbG9iYWxtZW50ZSA9IGVkaXRhciBvIHRva2VuLlxuLmNoYWlyLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLFxuLmNoYWlyLWJ1dHRvbjpkaXNhYmxlZCxcbi5jaGFpci1idXR0b25bZGlzYWJsZWRdIHtcbiAgY29sb3I6ICRidXR0b24tZGlzYWJsZWQtY29sb3IgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCxcbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b246ZGlzYWJsZWQsXG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uW2Rpc2FibGVkXSB7XG4gIGNvbG9yOiAkYnV0dG9uLWRpc2FibGVkLWNvbG9yLWRhcmsgIWltcG9ydGFudDtcbn1cblxuLy8gRGlzYWJsZWQgZG8gUFJJTUFSWSAobWF0LWZsYXQtYnV0dG9uKTogbWFudMOpbSBvIGF6dWwsIGFwZW5hcyBlc21hZWNpZG8g4oCUXG4vLyBuw6NvIGNhaXIgbm8gZ3JheSBkZWZhdWx0IGRvIE1hdGVyaWFsLiBSZWdyYSBnbG9iYWw6IHVtIGJvdMOjbyBkZXNhYmlsaXRhZG9cbi8vIHRlbSBxdWUgc2UgcGFyZWNlciBjb20gbyBtZXNtbyBib3TDo28gaGFiaWxpdGFkbywgc8OzIHF1ZSBhcGFnYWRvLCBlbVxuLy8gUVVBTFFVRVIgY29udGV4dG8gKHRhYmVsYSBkZSB0cmlsaGFzLCBmbG9hdGluZyBiYXIsIHByw6l2aWEsIGV0Yy4pLiBTZW1cbi8vIGlzc28gbyBNYXRlcmlhbCBzb2JyZXNjcmV2ZSBiYWNrZ3JvdW5kK2NvbG9yIGNvbSBvIHByZXNldCBkZSBkaXNhYmxlZCBlXG4vLyBkZXN0b2EgZG8gcmVzdG8gZGEgVUkuIENvYnJlIHRhbnRvIGBbZGlzYWJsZWRdYCBxdWFudG8gYC5tYXQtYnV0dG9uLWRpc2FibGVkYFxuLy8gKGNsYXNzZSBxdWUgTWF0ZXJpYWwgYWRpY2lvbmEgcXVhbmRvIHVtIDxhPiBjaGFpci1idXR0b24gcGVyZGUgcm91dGVyTGluaykuXG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tcHJpbWFyeS5tYXQtZmxhdC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCxcbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Lm1hdC1mbGF0LWJ1dHRvbjpkaXNhYmxlZCxcbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Lm1hdC1mbGF0LWJ1dHRvbltkaXNhYmxlZF0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGFwcC1wcmltYXJ5LWxpZ2h0LCA1MDApICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Lm1hdC1mbGF0LWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLFxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXByaW1hcnkubWF0LWZsYXQtYnV0dG9uOmRpc2FibGVkLFxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXByaW1hcnkubWF0LWZsYXQtYnV0dG9uW2Rpc2FibGVkXSB7XG4gIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYXBwLXByaW1hcnktZGFyaywgNTAwKSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAwLjU1O1xufVxuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIGNoYWlyLWJ1dHRvbiBcInB1cm9cIiDigJQgcGFyYSA8YnV0dG9uPi88YT4gY29tIGNsYXNzPVwiY2hhaXItYnV0dG9uXCIgU0VNXG4vLyBkaXJldGl2YSBNYXRlcmlhbC4gUmVwbGljYSBhIGdlb21ldHJpYS90aXBvZ3JhZmlhL2VzdGFkb3MgcXVlXG4vLyBtYXQtc3Ryb2tlZC1idXR0b24gZSBtYXQtZmxhdC1idXR0b24gZm9ybmVjZXJpYW0uIFNlbGV0b3Jcbi8vIGA6bm90KC5tYXQtYnV0dG9uLWJhc2UpYCBtaXJhIHPDsyBvcyBiYXJlIChNYXRlcmlhbCBzZW1wcmUgYWRpY2lvbmFcbi8vIC5tYXQtYnV0dG9uLWJhc2UgbmFzIHN1YXMgdmFyaWFudGVzKSwgZW50w6NvIGVzdGVzIGNvbnZpdmVtIGNvbSBvc1xuLy8gY2hhaXItYnV0dG9uIE1hdGVyaWFsIGRvIHJlc3RvIGRvIGFwcCBzZW0gY29saXPDo28uIENvYnJlIDxhPiAobmF2ZWdhw6fDo29cbi8vIHZpYSByb3V0ZXJMaW5rLCBleC46IGHDp8O1ZXMgZG8gbWVtYnJvIGRvIGNvbWl0w6ogbmEgcMOhZ2luYSBkbyBldmVudG8pIGFsw6ltXG4vLyBkZSA8YnV0dG9uPi5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLmNoYWlyLWJ1dHRvbjpub3QoLm1hdC1idXR0b24tYmFzZSkge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAvLyDDjWNvbmUgaW50ZXJubyBhbGluaGFkbyBhbyB0YW1hbmhvIGRhIHRpcG9ncmFmaWEgZG8gYm90w6NvICgxM3B4LzE2cHgpLlxuICAvLyBDb2JyZSAzIGZvcm1hcyBkZSByZW5kZXJpemFyIG8gw61jb25lOiBgbWF0LWljb25gIChNYXRlcmlhbCDigJQgMjRweFxuICAvLyBkZWZhdWx0LCBwcmVjaXNhIGNhcCksIGAubWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZGAgKHNwYW4gY29tIGFcbiAgLy8gZm9udGUgc2VsZi1ob3N0ZWQsIEpFTVMzIHB1cm8gc2VtIE1hdGVyaWFsKSBlIGAuamVtczNzYCAoZm9udFNldFxuICAvLyBjbMOhc3NpY28pLiBOYXMgdmFyaWFudGVzIGNvbSBkaXJldGl2YSBNYXRlcmlhbCBvIHdyYXBwZXJcbiAgLy8gYC5tYXQtYnV0dG9uLXdyYXBwZXJgIGrDoSBkaW1lbnNpb25hOyBhcXVpIMOpIG8gcGFyIHB1cm8uXG4gIG1hdC1pY29uLFxuICAubWF0LWljb24sXG4gIC5tYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkLFxuICAuamVtczNzLFxuICAuamVtczNyIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG4gIC8vIGhlaWdodDogYXV0byBzb2JyZXNjcmV2ZSBhIHJlZ3JhIGdsb2JhbCBgYnV0dG9uIHsgaGVpZ2h0IH1gIG1hcyBhcXVpXG4gIC8vIHF1ZXJlbW9zIGV4YXRhbWVudGUgYSBhbHR1cmEgcGFkcsOjbyBkbyBNYXRlcmlhbCDigJQgZW50w6NvIGRlaXhhbW9zLlxuICBoZWlnaHQ6ICRjb250cm9sLWhlaWdodDtcbiAgbWluLXdpZHRoOiA5NnB4O1xuICBwYWRkaW5nOiAwIDE2cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA0cHg7ICAgICAgICAgICAgLy8gPSAkY2hyb21lLXJhZGl1cyBkbyBtYXQtc3Ryb2tlZC1idXR0b25cbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDQzMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAgICAgICAgIC8vIDxhPiBlc3RpbGl6YWRvIGNvbW8gYm90w6NvIG7Do28gc3VibGluaGFcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcblxuICAvLyBGb2NvIHZpc8OtdmVsIHPDsyBwb3IgdGVjbGFkbyDigJQgbWVzbWEgaWTDqWlhIGRvIGNkay1rZXlib2FyZC1mb2N1c2VkLlxuICAmOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgfVxuXG4gIC8vIERpc2FibGVkOiBjdXJzb3IgKyBzZW0gaW50ZXJhw6fDo28uIEVzbWFlY2Vtb3MgQVBFTkFTIHRleHRvIGUgw61jb25lXG4gIC8vIChuw6NvIG8gYm90w6NvIGludGVpcm8gY29tIGBvcGFjaXR5YCwgcXVlIGNsYXJlYXJpYSB0YW1iw6ltIGJvcmRhIGUgYmcpLlxuICAvLyBgY29sb3JgIHJlYmFpeGFkYSB2aWEgcmdiYTsgw61jb25lIHNlZ3VlIHBvciBgY29sb3I6IGluaGVyaXRgIChkZWZpbmlkb1xuICAvLyBubyBmbG9hdGluZy1zdWJtaXQtYmFyLmNvbXBvbmVudC5zY3NzKS5cbiAgJjpkaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcbiAgfVxufVxuXG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uOm5vdCgubWF0LWJ1dHRvbi1iYXNlKTpkaXNhYmxlZCxcbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b246bm90KC5tYXQtYnV0dG9uLWJhc2UpW2Rpc2FibGVkXSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzgpO1xufVxuXG4vLyBTZWNvbmRhcnkgKG91dGxpbmVkLCBmdW5kbyBkZSBjYXJkKTogZXF1aXZhbGVudGUgYW8gbWF0LXN0cm9rZWQtYnV0dG9uLlxuLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXNlY29uZGFyeTpub3QoLm1hdC1idXR0b24tYmFzZSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1saWdodDtcbn1cbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1zZWNvbmRhcnk6bm90KC5tYXQtYnV0dG9uLWJhc2UpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3ItZGFyaztcbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrO1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbn1cblxuLy8gUHJpbWFyeSAoZmlsbGVkLCBmdW5kbyBhY2NlbnQpOiBlcXVpdmFsZW50ZSBhbyBtYXQtZmxhdC1idXR0b24gKyBjb2xvcj1cInByaW1hcnlcIi5cbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Om5vdCgubWF0LWJ1dHRvbi1iYXNlKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXByaW1hcnk6bm90KC5tYXQtYnV0dG9uLWJhc2UpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4gIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4gIC8vIFRleHRvIEJSQU5DTyBubyBhY2NlbnQgKG1lc21hIGRlY2lzw6NvIGRvIGxpZ2h0KTogY29uc2lzdMOqbmNpYVxuICAvLyB2aXN1YWwgZW0gdG9kbyBib3TDo28gZGUgYWNjZW50LiBgJGFkbWluLWFjY2VudC1jb2xvci1kYXJrYCA9IHdoaXRlLlxuICBjb2xvcjogJGFkbWluLWFjY2VudC1jb2xvci1kYXJrO1xufVxuXG4vLyBXYXJuIChmaWxsZWQsIHZlcm1lbGhvKTogZXF1aXZhbGVudGUgYW8gbWF0LWZsYXQtYnV0dG9uICsgY29sb3I9XCJ3YXJuXCIuXG4vLyBQYXJhIGHDp8O1ZXMgcXVlIHBlZGVtIGF0ZW7Dp8OjbyAoZXguOiBjb25maXJtYXIgY29udml0ZSBwZW5kZW50ZSBkZSBUUEMpLlxuLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXdhcm46bm90KC5tYXQtYnV0dG9uLWJhc2UpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvci13YXJuaW5nO1xuICBib3JkZXItY29sb3I6ICRhY2NlbnQtY29sb3Itd2FybmluZztcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0td2Fybjpub3QoLm1hdC1idXR0b24tYmFzZSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWNvbG9yLXdhcm5pbmctZGFyaztcbiAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWNvbG9yLXdhcm5pbmctZGFyaztcbiAgY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG59XG5cbi8vIEhvdmVyIOKAlCBzZWNvbmRhcnk6IGJnID0gYCRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmRgIChtZXNtb1xuLy8gZG8gaG92ZXIgZG8gbWVudSBsYXRlcmFsIG1vZGVybm8gZG8gVFBDIGNoYWlyKS4gU2VtIHRyYW5zaXRpb247IHNlbSBib3gtc2hhZG93LlxuLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXNlY29uZGFyeTpub3QoLm1hdC1idXR0b24tYmFzZSk6bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTtcbn1cbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1zZWNvbmRhcnk6bm90KC5tYXQtYnV0dG9uLWJhc2UpOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrO1xuICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlO1xufVxuXG4vLyBIb3ZlciDigJQgcHJpbWFyeS93YXJuOiBlc2N1cmVjZSBsZXZlbWVudGUsIGlndWFsIGFvIG1hdC1mbGF0LWJ1dHRvbi5cbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Om5vdCgubWF0LWJ1dHRvbi1iYXNlKTpub3QoOmRpc2FibGVkKTpob3Zlcixcbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS13YXJuOm5vdCgubWF0LWJ1dHRvbi1iYXNlKTpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwLjkzKTtcbn1cblxuLy8gRGlzYWJsZWQg4oCUIHByaW1hcnkvd2FybjogZGVycnViYSBvIGFjY2VudCAoYmcgKyBib3JkZXIpIGUgY2FpIG5vIHZpc3VhbFxuLy8gZG8gc2Vjb25kYXJ5IGRlc2FiaWxpdGFkby4gQXNzaW0gYm90w7VlcyBjb20gYWNjZW50LWNvbG9yIGZpY2FtIGlkw6pudGljb3Ncbi8vIGFvcyBjb252ZW5jaW9uYWlzIHF1YW5kbyBpbmF0aXZvcyAoc8OzIG8gdGV4dG8gZXNtYWVjaWRvIGNhcnJlZ2EgbyBlc3RhZG8pLlxuLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXByaW1hcnk6bm90KC5tYXQtYnV0dG9uLWJhc2UpOmRpc2FibGVkLFxuLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXByaW1hcnk6bm90KC5tYXQtYnV0dG9uLWJhc2UpW2Rpc2FibGVkXSxcbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS13YXJuOm5vdCgubWF0LWJ1dHRvbi1iYXNlKTpkaXNhYmxlZCxcbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS13YXJuOm5vdCgubWF0LWJ1dHRvbi1iYXNlKVtkaXNhYmxlZF0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1saWdodDtcbn1cbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Om5vdCgubWF0LWJ1dHRvbi1iYXNlKTpkaXNhYmxlZCxcbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Om5vdCgubWF0LWJ1dHRvbi1iYXNlKVtkaXNhYmxlZF0sXG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0td2Fybjpub3QoLm1hdC1idXR0b24tYmFzZSk6ZGlzYWJsZWQsXG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0td2Fybjpub3QoLm1hdC1idXR0b24tYmFzZSlbZGlzYWJsZWRdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3ItZGFyaztcbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrO1xufVxuXG4vLyBHZW5lcmFsIHJlZmFjdG9yXG5cbmJ1dHRvbiB7XG4gICYubWF0LXJhaXNlZC1idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuXG4gICAgLm1hdC1pY29uIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjRyZW07XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG5cbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XG5cbiAgICAgICYubWF0LWJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAxcHggMXB4IDdweCAkYmxhY2stNTAwO1xuICAgIH1cbiAgfVxuXG4gICYucHJvZmlsZS1idXR0b24sICYubWF0LWljb24tYnV0dG9uLnByb2ZpbGUtYnV0dG9uIHtcbiAgICB3aWR0aDogJGJ1dHRvbi1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkYnV0dG9uLWhlaWdodDtcblxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi1oZWlnaHQ7XG4gIH1cblxuICAmW2NvbG9yXS5tYXQtcmFpc2VkLWJ1dHRvbiBzcGFuLm1hdC1idXR0b24td3JhcHBlcjpub3QoOmhhcygubWF0LWljb24pKSwgXG4gICZbY29sb3JdLm1hdC1yYWlzZWQtYnV0dG9uIHNwYW4ubWF0LWJ1dHRvbi13cmFwcGVyOmhhcyhzcGFuKSB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cblxuICAmLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQubWF0LWJ1dHRvbi1kaXNhYmxlZFtkaXNhYmxlZD1cInRydWVcIl0ge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gIH1cblxuICAmW2NvbG9yXS5jYW5jZWxfYnV0dG9uIHNwYW4ubWF0LWJ1dHRvbi13cmFwcGVyOm5vdCg6aGFzKC5tYXQtaWNvbikpLFxuICAmW2NvbG9yXS5jYW5jZWxfYnV0dG9uIHNwYW4ubWF0LWJ1dHRvbi13cmFwcGVyOmhhcyhzcGFuKSB7XG4gICAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgfVxuICBcbn1cbiIsIkBpbXBvcnQgJ2NvbG9ycyc7IC8vIHNpemVzXG5AaW1wb3J0ICdjb21wb25lbnRzL2hlYWRlcic7XG5cbiRtYXgtYmFzZS1jb250YWluZXItd2lkdGg6IDExMDBweDtcblxuJGRlc2t0b3Atd2lkdGgtbWQ6IDE0NTBweDtcbiRkZXNrdG9wLXdpZHRoLXNtOiAxMjE2cHg7XG4kdGFibGV0LWJyZWFrdXAtd2lkdGg6IDc2OHB4O1xuJG1vYmlsZS13aWR0aDogNDg2cHg7XG4kc2NyZWVuLWlQaG9uZVNFLXBvcnRyYWl0LXdpZHRoOiAzMjBweDtcbiRzY3JlZW4taVBob25lOC1wb3J0cmFpdC13aWR0aDogMzc1cHg7XG4kc2NyZWVuLWlQaG9uZTEyLXByby13aWR0aDogMzkwcHg7XG4kc2NyZWVuLWlQaG9uZThwbHVzLXBvcnRyYWl0LXdpZHRoOiA0MTRweDtcbiRzY3JlZW4taVBhZE1pbmktcG9ydHJhaXQtd2lkdGg6IDg4MHB4O1xuJHNjcmVlbi1pUGFkTWluaS1sYW5kc2NhcGUtd2lkdGg6IDEwMjRweDtcblxuLy8gU2NyZWVuIHdpZHRoIHBlciBpbnRlcmZhY2VcbiRzY3JlZW4tbWFpbi1wb3J0YWwtc2hvcnQ6IDg5MHB4O1xuXG5cbiRtaW4tc2NyZWVuLXdpZHRoOiAzMjBweDtcbiRuYXZiYXItbW9iaWxlLWJyZWFrOiA2MDBweDtcblxuJGV2ZW50LXRpdGxlLWJhcjogMHB4OyAgICAgICAgICAvLyAobGVnYWN5IHNsb3QsIGtlcHQgYXQgemVybzsgZG8gbm90IHJldXNlKVxuJHdvcmtzcGFjZS1iYXItaGVpZ2h0OiAwcHg7ICAgICAgIC8vIHdvcmtzcGFjZSBiYXIgcmVtb3ZlZCDigJQga2VlcGluZyB0aGUgdmFyaWFibGUgYXQgMCBzbyBhbnkgZG93bnN0cmVhbSBvZmZzZXRzIHJlc29sdmUgbmF0dXJhbGx5ICh1bml0IG9icmlnYXTDs3JpYSBwcmEgY2FsYygpIGMvIHZhcigpIG7Do28gcXVlYnJhcilcbiRsZWZ0LWNvbHVtbi1oZWFkZXItaGVpZ2h0OiAwcHg7ICAvLyAobGVnYWN5IHNsb3QsIGtlcHQgYXQgemVybzsgZG8gbm90IHJldXNlIOKAlCBoZWFkZXIgc3RyaXAgcmVtb3ZlZCBieSByZXF1ZXN0KVxuJGV4cGVyaW1lbnRhbC1zaWRlYmFyLXdpZHRoOiAyNDBweDsgLy8gZXhwZXJpbWVudGFsIHNpbmdsZS1zaWRlYmFyIChpY29uK3RleHQgKyBhY2NvcmRpb24gY2hpbGRyZW4pLCBzaXRzIHRvIHRoZSBsZWZ0IG9mIHRoZSBvcmlnaW5hbCBjaHJvbWUgZm9yIEEvQiBjb21wYXJpc29uXG4kYWN0aXZpdHktYmFyLXdpZHRoOiA0OHB4OyAgICAgIC8vIFZTIENvZGUtc3R5bGUgdmVydGljYWwgaWNvbiBiYXIgb24gdGhlIGxlZnQgKFRQQyBjaGFpciBwcmltYXJ5IG5hdmlnYXRpb24gaW4gTW9kZXJuKS4gSWNvbi1vbmx5LCA0MMOXNDAgYnV0dG9ucy5cbiRjbGFzc2ljLXRvb2xiYXItaGVpZ2h0OiA1NXB4OyAgLy8gSG9yaXpvbnRhbCB0b29sYmFyIGhlaWdodCBpbiBDbGFzc2ljIGxheW91dC4gU2l6ZWQgdG8gZml0IGEgY29tcGFjdCBpY29uLXBpbGwgKDI4cHgpICsgdGlueSBnYXAgKyBsYWJlbCAoMTBweCkgKyBidXR0b24gcGFkZGluZyArIHNtYWxsIGJyZWF0aGluZyByb29tIOKAlCB0aWdodGVyIHRoYW4gdGhlIGljb24tb25seSBNb2Rlcm4gdmFyaWFudCBzbyBpY29uIGFuZCBsYWJlbCByZWFkIGFzIGEgdW5pdC5cbiRldmVudC1icmVhZGNydW1iLWhlaWdodDogMzZweDsgLy8gVG90YWwgcmVuZGVyZWQgaGVpZ2h0IG9mIHRoZSBicmVhZGNydW1iIChtYXRjaGVzIGAuZXZlbnQtYnJlYWRjcnVtYiB7IGhlaWdodDogMzZweCB9YCBpbiBldmVudC1icmVhZGNydW1iLmNvbXBvbmVudC5zY3NzIOKAlCB3aXRoIHRoZSBwcm9qZWN0J3MgZ2xvYmFsIGBib3gtc2l6aW5nOiBib3JkZXItYm94YCwgdGhlIDFweCBgYm9yZGVyLWJvdHRvbWAgaXMgSU5DTFVERUQgaW4gdGhlIDM2cHgsIG5vdCBhZGRlZCBvbiB0b3ApLiBNb2Rlcm4gbGF5b3V0IHVzZXMgdGhpcyBkaXJlY3RseS5cbiRjbGFzc2ljLWJyZWFkY3J1bWItaGVpZ2h0OiAyNnB4OyAvLyBDb21wYWN0IG92ZXJyaWRlIGZvciBDbGFzc2ljIG9ubHkg4oCUIGFwcGxpZWQgdmlhIHRoZSBgLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKWAgYmxvY2sgaW4gYWRtaW4tZXZlbnQtc2lkZWJhci5jb21wb25lbnQuc2NzcyAoaGVpZ2h0ICsgZm9udCArIGljb24gb3ZlcnJpZGVzIG9uIHRoZSBicmVhZGNydW1iKSBzbyB0aGUgc3RyaXAgcmVjb3ZlcnMgdmVydGljYWwgc3BhY2UgZm9yIHRoZSBjYW52YXMuXG4kYWRtaW4tc3VibWVudS13aWR0aDogMTY1cHg7ICAgIC8vIFRQQyBjaGFpciBzdWItbmF2aWdhdGlvbiBwYW5lbCAoYmV0d2VlbiBhY3Rpdml0eSBiYXIgYW5kIGNvbnRlbnQpXG4kbmF2YmFyLWhlaWdodDogNTVweDtcbiRwcm94eS1iYXItaGVpZ2h0OiAzMHB4O1xuJHByb3h5LWJhci1tYXJnaW4tc2l6ZTogNDVweDtcbiRzaWRlbmF2LXdpZHRoOiAyMDBweDtcbiRzaWRlbmF2LW1vYmlsZS13aWR0aDogMjUwcHg7XG4kY29udGVudC13aWR0aDogJHNpZGVuYXYtd2lkdGggKyAxMDBweDtcbiRjb250ZW50LXdpZHRoLWFkbWluOiAwcHg7XG4kc2lkZW5hdi1taW5pLXdpZHRoOiA0NXB4OyAvLyB6LWluZGV4ZXNcbiRzaWRlbmF2LWFkbWluLW1pbmktd2lkdGg6IDc5cHg7XG4kc2lkZWJhci1jb250ZW50LXotaW5kZXg6IDEwO1xuJHNpZGViYXItei1pbmRleDogMjA7XG4kbmF2YmFyLXotaW5kZXg6IDMxO1xuJHByb2dyZXNzLWJhci16LWluZGV4OiAxMTAwOyAgLy8gYWJvdmUgYWxsIGFwcCBjaHJvbWUgKHdvcmtzcGFjZSBiYXIsIGFjdGl2aXR5IGJhciwgbWF0LWRyYXdlcikgc28gdGhlIGxvYWRpbmcgaW5kaWNhdG9yIGlzIG5ldmVyIGNsaXBwZWRcbiRwcm9ncmVzcy1iYXItaGVpZ2h0OiAycHg7XG4kc2lkZWJhci1iYWNrZHJvcC16LWluZGV4OiAzNTtcbiRzaWRlYmFyLW1vYmlsZS16LWluZGV4OiA0MDtcbiRuYXZiYXItaWNvbi1zaXplOiA3MnB4O1xuXG4vLyBGaWxlIGljb24gc2l6ZSB2YXJpYWJsZXMuXG4kZmlsZS1pY29uLXNpemU6IDMwcHg7XG4kZmlsZS1pY29uLXNpemUtc21hbGxlcjogJGZpbGUtaWNvbi1zaXplICogMC42O1xuJGZpbGUtaWNvbi1zaXplLXNtYWxsZXItZm9udHNpemU6IDAuOHJlbTtcblxuXG4vLyBNYWluIGxheW91dCBwYWRkaW5ncyBvciBtYXJnaW5cbiRsYXRlcmFsLXBhZGRpbmctY29udGVudC1kZXNrdG9wLW1kOiAxLjNyZW07XG4kbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtZGVza3RvcC1zbTogMC41cmVtO1xuJGxhdGVyYWwtcGFkZGluZy1jb250ZW50LXRhYmxldDogMXJlbTtcbiRsYXRlcmFsLXBhZGRpbmctY29udGVudC1tb2JpbGU6IDAuNXJlbTtcblxuLy8gc2l6ZSBmb3IgYXZhdGFyXG4kYXZhdGFyLXNpemU6IDM2cHg7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVFBDIGNoYWlyIFVJIOKAlCBlbGV2YXRpb24gdG9rZW5zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFR3byBjYW5vbmljYWwgdGllcnMgdXNlZCBhY3Jvc3MgdGhlIGNoYWlyIFVJIG1lbnVzOlxuLy8gICAxLiBQQU5FTCAg4oCUIGFuY2hvcmVkIG1lbnVzICh1c2VyIG1lbnUsIG5vdGlmaWNhdGlvbnMsIGZseW91dCkuXG4vLyAgICAgICAgICAgICAgIEFwcGxpZWQgdmlhIGBmaWx0ZXI6IGRyb3Atc2hhZG93KC4uLilgIHNvIHRoZSBzaGFkb3dcbi8vICAgICAgICAgICAgICAgZm9sbG93cyB0aGUgcGFuZWwgc2lsaG91ZXR0ZSAoaW5jbC4gdGhlIGZseW91dCdzXG4vLyAgICAgICAgICAgICAgIGFycm93IHRhaWwpLiBEYXJrIG1vZGUgYWRkaXRpb25hbGx5IGdldHMgYSAxcHhcbi8vICAgICAgICAgICAgICAgb3V0bGluZSB2aWEgYGJveC1zaGFkb3c6IDAgMCAwIDFweCA8ZGFyay1ib3JkZXI+YCxcbi8vICAgICAgICAgICAgICAga2VwdCBpbmxpbmUgYmVjYXVzZSBpdCdzIGEgY29sb3VyLXRva2VuIGRlY2lzaW9uXG4vLyAgICAgICAgICAgICAgIHJhdGhlciB0aGFuIGFuIGVsZXZhdGlvbiBvbmUuXG4vLyAgIDIuIEZMT0FUSU5HIOKAlCBkcmFnIHByZXZpZXdzIChjZGtEcmFnIGNsb25lcykuIFNsaWdodGx5IGxhcmdlclxuLy8gICAgICAgICAgICAgICAgIGJsdXIgLyBoZWF2aWVyIGFscGhhIHRoYW4gcGFuZWxzIOKAlCBjb21tdW5pY2F0ZXNcbi8vICAgICAgICAgICAgICAgICBcImxpZnRlZCBjbG9uZVwiIHZzIFwiYW5jaG9yZWQgcGFuZWxcIi5cbiRzaGFkb3ctcGFuZWwtbGlnaHQ6ICAgIGRyb3Atc2hhZG93KDAgM3B4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMyKSk7XG4kc2hhZG93LXBhbmVsLWRhcms6ICAgICBkcm9wLXNoYWRvdygwIDVweCAxNHB4IHJnYmEoMCwgMCwgMCwgMC43KSk7XG4kc2hhZG93LWZsb2F0aW5nLWxpZ2h0OiAwIDZweCAxOHB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XG4kc2hhZG93LWZsb2F0aW5nLWRhcms6ICAwIDhweCAyMnB4IHJnYmEoMCwgMCwgMCwgMC41NSk7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVFBDIGNoYWlyIFVJIOKAlCBjb3JuZXIgcmFkaXVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNpbmdsZSBjYW5vbmljYWwgcmFkaXVzIHVzZWQgYWNyb3NzIHRoZSBjaGFpciBVSTogaW50ZXJhY3RpdmUgcGlsbHNcbi8vIChzaWRlYmFyIGl0ZW1zLCBtZW51IGl0ZW1zLCBmbHlvdXQgaXRlbXMsIGJyZWFkY3J1bWIgc2VnbWVudHMsXG4vLyBjaHJvbWUgYnV0dG9ucykgQU5EIHBhbmVsIHN1cmZhY2VzIChtYXQtbWVudS1wYW5lbCwgc2lkZWJhciBoZWFkZXIpLlxuLy8gNnB4IGlzIHRoZSBHaXRIdWItc3R5bGUgXCJtb2Rlcm4gYXBwXCIgY29ybmVyIHRoYXQgcmVhZHMgYXMgcm91bmRlZFxuLy8gd2l0aG91dCBmZWVsaW5nIHNvZnQuIENlbnRyYWxpc2VkIGhlcmUgc28gYW55IGZ1dHVyZSB0dW5pbmcgb2YgdGhlXG4vLyBjaGFpciBVSSdzIGNvcm5lciBpZGVudGl0eSBpcyBhIHNpbmdsZS10b2tlbiBjaGFuZ2UuXG4kY2hyb21lLXJhZGl1czogNnB4O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRQQyBjaGFpciBVSSDigJQgY29udHJvbCBoZWlnaHRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQWx0dXJhIGNhbsO0bmljYSBkb3MgY29udHJvbGVzIGludGVyYXRpdm9zIGRvIEpFTVMzIChjYWl4YXMgZGUgaW5wdXQvc2VsZWN0XG4vLyBmaWx0ZXItc3R5bGVkLCBkYXRlcGlja2VyLCBudW1iZXItaW5wdXQsIGNoYWlyLWJ1dHRvbiwgc2VsZXRvciBkZSByZXZpc29yIGRhXG4vLyB0YWJlbGEgZGUgc3VnZXN0w7VlcykuIEZvbnRlIMOaTklDQSBkZSB2ZXJkYWRlOiBhbnRlcyBjYWRhIHByZXNldC9jb21wb25lbnRlXG4vLyBoYXJkY29kYXZhIGAzNnB4YCAoZMOpYml0byBkZSB0b2tlbikuIE11ZGFyIGFxdWkgcmVmbGV0ZSBlbSB0b2Rvcy4gQ29tIG9cbi8vIGBib3gtc2l6aW5nOiBib3JkZXItYm94YCBnbG9iYWwsIGVzdGEgYWx0dXJhIElOQ0xVSSBib3JkYSArIHBhZGRpbmcuXG4vL1xuLy8gRXNjb2xoYSAyNnB4ICgyMDI2LTA2KTogYWxpbmhhIGNvbSBhIGRlbnNpZGFkZSBuYXRpdmEgZG8gbWFjT1Mg4oCUXG4vLyAgIOKAoiBtYWNPUyBSZWd1bGFyIE5TVGV4dEZpZWxkL05TUG9wVXBCdXR0b24g4omIIDIyLTI2cHguXG4vLyAgIOKAoiBXaW5kb3dzIEZsdWVudCAyIENvbXBhY3QgPSAyNHB4LCBEZWZhdWx0ID0gMzJweCDihpIgMjYgZmljYSBwcsOzeGltbyBkbyBjb21wYWN0LlxuLy8gICDigKIgV0NBRyB0YXJnZXQg4omlIDI0cHggY3VtcHJpZG8uXG4kY29udHJvbC1oZWlnaHQ6IDI2cHg7XG5cbi8vIFRhbWFuaG8gZGUgZm9udGUgZG8gQ09OVEXDmkRPIGRvcyBjb250cm9sZXMgZG8gY2hhaXIgVUkgKHZhbG9yIGRpZ2l0YWRvXG4vLyBubyBpbnB1dCwgb3DDp8OjbyBzZWxlY2lvbmFkYSBubyBzZWxlY3QsIG3DoXNjYXJhIGRvIGRhdGVwaWNrZXIsIG7Dum1lcm8pLlxuLy8gQWxpbmhhIGNvbSBvIGJvZHkgYmFzZSBkbyBKRU1TMyAoMTNweCDigJQgdmVyIGBmZWVkYmFja19iYXNlX2JvZHlfdGV4dGApXG4vLyBlIGNvbSBvIFJlZ3VsYXIgZG8gbWFjT1MgKFNGIFRleHQgMTNwdCkuIEFudGVzIGNhZGEgcHJlc2V0IGhhcmRjb2RhdmFcbi8vIDE0cHggKGhlcmFuw6dhIGRvIE1hdGVyaWFsIDExKSDigJQgdG9rZW4gw7puaWNvIGFxdWkgZXZpdGEgZHJpZnQuXG4kY29udHJvbC1mb250LXNpemU6IDEzcHg7XG5cbi8vIFBlc28gZG8gQ09OVEXDmkRPIGRvcyBjb250cm9sZXMgKHRleHRvIGRlbnRybyBkYSBjYWl4YTogdmFsb3IgZGlnaXRhZG8gbm9cbi8vIGlucHV0LCB2YWxvciBleGliaWRvIG5vIHRyaWdnZXIgZG8gc2VsZWN0LCBtw6FzY2FyYSBkbyBkYXRlcGlja2VyLCBwbGFjZWhvbGRlcixcbi8vIHByZWZpeC9zdWZmaXgpLiBQZXNvIG5vcm1hbCDigJQgbsOjbyBjb21wZXRlIGNvbSBsYWJlbHMgYWRqYWNlbnRlcy4gRGlmZXJlbnRlXG4vLyBkbyBwZXNvIGRvcyBJVEVOUyBERU5UUk8gZG9zIHBhaW7DqWlzIGFiZXJ0b3MgKCRtZW51LWl0ZW0td2VpZ2h0ID0gNTAwKS5cbiRjb250cm9sLWNvbnRlbnQtd2VpZ2h0OiA0MDA7XG5cbi8vIEZvbnQtd2VpZ2h0IGRvcyBpdGVucyBlbSBNRU5VUy9QQUlOw4lJUyAob3DDp8OjbyBkbyBzZWxlY3QsIGl0ZW0gZG8gbWVudSBkZVxuLy8gY29udGV4dG8sIGxpbmhhIGRhIGxpc3RhIGRlIGZ1c28sIGV0Yy4pLiBBbnRlcyBoYXJkY29kZWQgZW0gfjEwIGx1Z2FyZXMuXG4kbWVudS1pdGVtLXdlaWdodDogNDAwO1xuJG1lbnUtaXRlbS13ZWlnaHQtc2VsZWN0ZWQ6IDYwMDtcbiRtZW51LWl0ZW0td2VpZ2h0LW11dGVkOiA0MDA7ICAgLy8gdGFncyBcIihicm93c2VyKVwiL1wiKGV2ZW50KVwiLCBvZmZzZXQgR01UXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVFBDIGNoYWlyIFVJIOKAlCBlYXNpbmcgZnVuY3Rpb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2luZ2xlIGNhbm9uaWNhbCBlYXNpbmcgY3VydmUgdXNlZCBieSBldmVyeSBhbmltYXRpb24vdHJhbnNpdGlvblxuLy8gYWNyb3NzIHRoZSBjaGFpciBVSSAoc2lkZWJhciB3aWR0aCB0b2dnbGUsIGJyZWFkY3J1bWIgbGVmdCB0cmFja2luZyxcbi8vIGRyYWctZHJvcCByb3cgc2hpZnRzLCBldGMuKS4gU2FtZSBzaGFwZSBhcyBNYXRlcmlhbCdzIFwic3RhbmRhcmRcIlxuLy8gY3VydmUg4oCUIGEgcXVpY2sgc3RhcnQgYW5kIGEgc2xvdyBlYXNlLW91dC4gRGVmaW5lZCBvbmNlIGhlcmUgc29cbi8vIHRpbWluZyBjaGFuZ2VzIGNhbiBiZSBtYWRlIGluIG9uZSBwbGFjZS5cbiRlYXNlLW91dDogY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7XG5cbi8vIER1cmHDp8OjbyBjYW7DtG5pY2EgZGEgYW5pbWHDp8OjbyBkZSBhYmVydHVyYS9mZWNoYW1lbnRvIGRvIHNpZGViYXIgZXhwZXJpbWVudGFsXG4vLyAobW9kZXJubykuIFVzYWRhIHBvcjogYC5leHBlcmltZW50YWwtc2lkZWJhciB7IHRyYW5zaXRpb246IHdpZHRoIH1gIGUgcG9yXG4vLyBUT0RPIGVsZW1lbnRvIHF1ZSBwcmVjaXNlIGRlc2xpemFyIGp1bnRvIChicmVhZGNydW1iLCByZXNpemUtaGFuZGxlLCBldGMuKS5cbi8vIFRlciB1bWEgZm9udGUgw7puaWNhIGV2aXRhIGRyaWZ0IGVudHJlIGVsZXMg4oCUIG11ZGFyIGFxdWkgPSB0dWRvIGRlc2xpemEgbm9cbi8vIG1lc21vIHJpdG1vLlxuJGV4cGVyaW1lbnRhbC1zaWRlYmFyLXRyYW5zaXRpb24tZHVyYXRpb246IDIwMG1zO1xuIiwiQGltcG9ydCAnY29sb3JzJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJzsgICAvLyBtaXhpbiBgamVtczMtY291bnQtYmFkZ2VgXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQm90w6NvIGljb24tb25seSBkZSBoZWFkZXIgKGNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbikuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFVzYWRvIG5vcyBoZWFkZXJzIGRhcyBww6FnaW5hcyBkbyBhdXRvci9yZXZpc29yIChFdmVudG9zLCBNaW5oYXNcbi8vIHN1Ym1pc3PDtWVzLCBNaW5oYXMgcmV2aXPDtWVzLCBldGMuKSBwYXJhIGHDp8O1ZXMgY29tbyBGSUxUUkFSLCBCQUlYQVIsXG4vLyBjb25maWd1cmFyIHZpc3VhbGl6YcOnw6NvLCBldGMuXG4vL1xuLy8gTyBjb250ZcO6ZG8gZG8gbWVudS9hw6fDo28gcXVlIG8gYm90w6NvIGRpc3BhcmEgw6kgcmVzcG9uc2FiaWxpZGFkZSBkb1xuLy8gY29tcG9uZW50ZSBwYWkgKGhhbmRsZXJzIGAoY2xpY2spYCwgW21hdE1lbnVUcmlnZ2VyRm9yXSwgZXRjLik7IGVzdGVcbi8vIGFycXVpdm8gY3VpZGEgQVBFTkFTIGRvIHZpc3VhbCDigJQgZ2VvbWV0cmlhLCBib3JkYSwgaG92ZXIsIGJhZGdlcyxcbi8vIGVzdGFkbyBcIm1lbnUgYWJlcnRvXCIgZSBkYXJrLW1vZGUuXG4vL1xuLy8gVmFyaWFudGVzIChtb2RpZmljYWRvcmFzIG9wY2lvbmFpcyk6XG4vLyAgIC0gYC5jaGFpci1oZWFkZXItaWNvbi1idXR0b24tLWZpbHRlcmAgIOKGkiBzZW3Dom50aWNhIGRlIGZpbHRyby5cbi8vICAgLSBgLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi0tYWN0aW9uc2Ag4oaSIHNlbcOibnRpY2EgZGUgbWVudSBkZSBhw6fDtWVzIChkb3dubG9hZCArIGHDp8O1ZXMpLlxuLy8gICAtIGAuY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLmhhcy1hY3RpdmVgICDihpIgZXN0YWRvIFwiYXRpdm9cIlxuLy8gICAgIChleC46IHRlbSBmaWx0cm9zIGF0aXZvcyksIHByZWVuY2hlIG8gw61jb25lIChGSUxMIDEpIGNvbVxuLy8gICAgIHdnaHQgNDAwIGUgb3BhY2lkYWRlIDEuXG4vLyAgIC0gYC5jaGFpci1oZWFkZXItaWNvbi1idXR0b24ubWVudS1vcGVuYCDihpIgbWVudSBhYmVydG8gKHNlbGVjaW9uYWRvKSxcbi8vICAgICBib3JkYSBhY2NlbnQgMnB4IHNpbmFsaXphbmRvIGEgc2VsZcOnw6NvIGF0aXZhLlxuXG4kY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLXNpemU6IDM2cHg7XG5cbi5jaGFpci1oZWFkZXItaWNvbi1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAkY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLXNpemUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAkY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLXNpemUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLXNpemUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQ7XG4gIC8vIGAuYXBwLWljb24tYnV0dG9uYCBnbG9iYWwgKGVtIGBfYnV0dG9uLnNjc3NgKSBkZWZpbmVcbiAgLy8gYGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50YCBubyBtZXNtbyBuw612ZWwgZGUgZXNwZWNpZmljaWRhZGUg4oCUIHNlbVxuICAvLyBgIWltcG9ydGFudGAgYXF1aSBhIGJvcmRhIHNvbWUgcXVhbmRvIG8gYm90w6NvIHRhbWLDqW0gdGVtIGFxdWVsYSBjbGFzc2UuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMTAwbXMgJGVhc2Utb3V0O1xuXG4gIC8vIEhvdmVyIOKAlCBib3JkYSBcImVuZ3Jvc3NhZGFcIiB2aWEgYm94LXNoYWRvdyBvdXRzZXQgMXB4IG5hIG1lc21hIGNvclxuICAvLyBkYSBib3JkYSAobmV1dHJhKS4gWmVybyBpbXBhY3RvIGVtIGxheW91dCAoYm9yZGVyIHJlYWwgY29udGludWEgMXB4KTtcbiAgLy8gZWZlaXRvIHZpc3VhbCDDqSB1bWEgYm9yZGEgMsOXIG1haXMgZ3Jvc3NhLlxuICAvL1xuICAvLyBgYmFja2dyb3VuZC1jb2xvcmAgcHJlY2lzYSBzZXIgcHJlc2VydmFkbyBleHBsaWNpdGFtZW50ZSBwb3JxdWUgb1xuICAvLyBgX2NvbG9yLXNjaGVtZS5zY3NzYCBhcGxpY2EgdW0gY2luemEgbm8gaG92ZXIvbWVudS1vcGVuIGRvXG4gIC8vIGAuYXBwLWljb24tYnV0dG9uYCBnbG9iYWwgKG1haXMgZXNwZWPDrWZpY28g4oCUIGAubGlnaHQtdGhlbWUgLmFwcC1pY29uLWJ1dHRvbjpob3ZlcmApLlxuICAvLyBCb3TDo28gZGVzYWJpbGl0YWRvIChleC46IFwiLi4uXCIgbm8gbW9kbyBlZGnDp8OjbyBkYSBww6FnaW5hKSBuw6NvIHJlYWdlIGFvIGhvdmVyOiBzZW1cbiAgLy8gYm9yZGEgZW5ncm9zc2FkYSBuZW0gZnVuZG8uIEd1YXJkYSBwb3IgYC5tYXQtYnV0dG9uLWRpc2FibGVkYCAoY2xhc3NlIHF1ZSBvIE1hdGVyaWFsXG4gIC8vIHNlbXByZSBww7VlIG5vIG1hdC1idXR0b24gZGVzYWJpbGl0YWRvKSBFIHBvciBgOmRpc2FibGVkYC4gUGFyZWFkbyBjb20gbyBndWFyZCBkb1xuICAvLyBmdW5kbyBjaW56YSBkbyBgLmFwcC1pY29uLWJ1dHRvbjpob3ZlcmAgZW0gYF9jb2xvci1zY2hlbWUuc2Nzc2AuXG4gICY6bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICB9XG4gIC8vIERlc2FiaWxpdGFkbzogY3Vyc29yIG5ldXRybyArIGBwb2ludGVyLWV2ZW50czogbm9uZWAuIEVzdGUgw7psdGltbyBtYXRhIG8gYDpob3ZlcmBcbiAgLy8gTkEgUkFJWiAobyBlbGVtZW50byBuZW0gcmVjZWJlIGV2ZW50b3MgZGUgcG9udGVpcm8pLCBlbnTDo28gbmVuaHVtYSByZWdyYSBkZSBob3ZlclxuICAvLyBkaXNwYXJhIOKAlCBpbmRlcGVuZGVudGUgZGUgdMOqLWxhcyB0b2RhcyBndWFyZGFkby4gw4kgdGFtYsOpbSB1bSBkaWFnbsOzc3RpY286IHNlIGFpbmRhXG4gIC8vIGhvdXZlciBob3ZlciBjb20gaXN0bywgbyBib3TDo28gTsODTyBlc3TDoSBmaWNhbmRvIGRlc2FiaWxpdGFkbyAoYcOtIMOpIGZpYcOnw6NvLCBuw6NvIENTUykuXG4gICYubWF0LWJ1dHRvbi1kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLy8gU2VsZWNpb25hZG8gKG1lbnUgYWJlcnRvKSDigJQgYm9yZGEgYWNjZW50IChtZXNtYSBmYW3DrWxpYSBkbyBiYWRnZSksXG4gIC8vIHNpbmFsaXphbmRvIGEgc2VsZcOnw6NvIGF0aXZhLiBCb3JkYSByZWFsICsgYm94LXNoYWRvdyBuYSBjb3IgYWNjZW50XG4gIC8vIHBhcmEgdW0gYW5lbCAycHggbGltcG8gZSB1bmlmb3JtZS5cbiAgJi5tZW51LW9wZW4ge1xuICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gRXN0YWRvIFwiaGFzLWFjdGl2ZVwiIOKAlCB1c2FkbyBlbSBmaWx0cm9zIHF1ZSBUw4pNIGZpbHRyb3MgYXRpdm9zXG4gIC8vIG1lc21vIGNvbSBvIG1lbnUgZmVjaGFkby4gU29icmVzY3JldmUgbyDDrWNvbmUgcGFyYSBgZmlsbGVkYC5cbiAgJi5oYXMtYWN0aXZlIC5tYXQtaWNvbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ29wc3onIDIwLCAnd2dodCcgNDAwLCAnRklMTCcgMTtcbiAgfVxuXG4gIC8vIEJhZGdlIGNvbnRhZG9yIOKAlCBuw7ptZXJvIG9wY2lvbmFsIG5vIGNhbnRvIHN1cGVyaW9yIGRpcmVpdG9cbiAgLy8gKGV4LjogbsK6IGRlIGZpbHRyb3MgYXRpdm9zKS4gU2VtcHJlIGFjY2VudCBjb2xvciBwYXJhIGRlc3RhY2FyLlxuICAvLyBHZW9tZXRyaWEgdmlhIG1peGluIGNvbXBhcnRpbGhhZG87IHBvc2ljaW9uYW1lbnRvICsgc29tYnJhIGxvY2Fpcy5cbiAgLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi1iYWRnZSB7XG4gICAgQGluY2x1ZGUgamVtczMtY291bnQtYmFkZ2UoJGFjY2VudC1iYWNrZ3JvdW5kKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNnB4O1xuICAgIHJpZ2h0OiAtNnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICB9XG59XG5cbi8vIC0tLS0gRGFyay1tb2RlIC0tLS1cbi8vIFNvYmUgbyBkw61naXRvIH4xcHggZW0gdG9kb3Mgb3MgYmFkZ2VzIChiZWxsLCBzZWcsIGNoYWlyLWhlYWRlcikgbm9cbi8vIGRhcmssIHZpYSBgcGFkZGluZy1ib3R0b21gLiBSZWdyYSBnbG9iYWwg4oCUIHZpdmUgYXF1aSAobsOjbyBubyBtaXhpbilcbi8vIHBvcnF1ZSBgLmRhcmstdGhlbWUgJmAgZGVudHJvIGRvIG1peGluIHNvZnJlIHNjb3Bpbmcgbmdjb250ZW50IGRvXG4vLyBBbmd1bGFyIEVtdWxhdGVkIGUgbsOjbyBiYXRlIG5vIGJvZHkuXG4uZGFyay10aGVtZSAuY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLWJhZGdlLFxuLmRhcmstdGhlbWUgLmJlbGwtYmFkZ2UsXG4uZGFyay10aGVtZSAuc2VnLWJhZGdlIHtcbiAgLy8gUmVkdXppciBgbGluZS1oZWlnaHRgIChlcmEgMTZweCA9IGhlaWdodCkgZmF6IGEgbGluZS1ib3ggZG8gdGV4dG9cbiAgLy8gZW5jb2xoZXIgZSBmaWNhciBhbmNvcmFkYSBubyB0b3BvIGRvIGNvbnRhaW5lci4gRGlnaXQgZGVzY2UgbWVub3NcbiAgLy8gPSB2aXN1YWxtZW50ZSBzb2JlIH4ycHguIGBwYWRkaW5nLWJvdHRvbTogMnB4YCBzb3ppbmhvIG7Do28gZnVuY2lvbmFcbiAgLy8gKGJvcmRlci1ib3ggKyBsaW5lLWhlaWdodD1oZWlnaHQgZmF6ZW0gYSBsaW5lLWJveCBvdmVyZmxvdyBvXG4gIC8vIGNvbnRlbnQtYm94LCBlIG8gdGV4dG8gZmljYSBuYSBtZXNtYSBwb3Npw6fDo28pLiBgIWltcG9ydGFudGBcbiAgLy8gcG9ycXVlIGEgcmVncmEgc2NvcGVkIGRvIG1peGluIChgLnVzZXItbm90aWZpY2F0aW9ucyAuYmVsbC1iYWRnZVxuICAvLyBbX25nY29udGVudC14eHhdYCAwLDQsMCkgc29icmVww7VlIGVzdGEgZ2xvYmFsIDAsMiwwLlxuICBsaW5lLWhlaWdodDogMTRweCAhaW1wb3J0YW50O1xufVxuXG4vLyBPdmVycmlkZSBlc3BlY8OtZmljbyBkbyBgLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi1iYWRnZWAgbm8gZGFyazogYXF1aVxuLy8gbyBkw61naXRvIERFU0NFIDJweCAoZW0gdmV6IGRlIHN1YmlyIGNvbSBhIHJlZ3JhIGFjaW1hKS4gQXBsaWNhZG8gbm9zXG4vLyBiYWRnZXMgZG9zIGJvdMO1ZXMgZGUgZmlsdHJvIGRlIE1pbmhhcyBTdWJtaXNzw7VlcyBlIE1pbmhhcyBSZXZpc8O1ZXMuXG4vLyBSZXN0YXVyYSBsaW5lLWhlaWdodCBhbyB2YWxvciBuYXR1cmFsICsgcGFkZGluZy10b3AgcHJhIGVtcHVycmFyXG4vLyBhIGxpbmUtYm94IChlIG8gZMOtZ2l0byBkZW50cm8gZGVsYSkgMnB4IHByYSBiYWl4by5cbi5kYXJrLXRoZW1lIC5jaGFpci1oZWFkZXItaWNvbi1idXR0b24tYmFkZ2Uge1xuICBsaW5lLWhlaWdodDogMTZweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogMC41cHggIWltcG9ydGFudDtcbn1cblxuLmRhcmstdGhlbWUgLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4gIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmUgIWltcG9ydGFudDtcbiAgLy8gQ29yIGRvIMOtY29uZSDigJQgYW50ZXMgZmljYXZhIGluZGVmaW5pZGEgZSBjYcOtYSBwcmEgcHJldG8gKGhlcmRhZG9cbiAgLy8gZG8gYm9keSBubyBkYXJrKSwgaW52aXPDrXZlbCBzb2JyZSBiZyBlc2N1cm8uIE5vIGNoYWlyIGZ1bmNpb25hdmFcbiAgLy8gcG9yIHJlZ3JhcyBhbmNlc3RyYWlzIGFkbWluOyBub3MgdXNvcyBkbyBhdXRvci9yZXZpc29yIChleC46IHBhaW5lbFxuICAvLyBkZSBub3RpZmljYcOnw7VlcykgbsOjbyBjaGVnYXZhLiBTZXRhciBhcXVpIGZlY2hhIG8gZ2FwIGdsb2JhbG1lbnRlLlxuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbiAgLm1hdC1pY29uIHsgY29sb3I6IGluaGVyaXQ7IH1cblxuICAvLyBHdWFyZGEgZGUgZGlzYWJsZWQgdGFtYsOpbSBubyBkYXJrIChwYXIgZG8gZ3VhcmQgbGlnaHQgbMOhIGVtIGNpbWEpLlxuICAmOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCk6bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBTZWxlY2lvbmFkbyAobWVudSBhYmVydG8pIOKAlCBib3JkYSBhY2NlbnQgZG8gREFSSyAoI0ZCQkYyNCwgYW1iZXItNDAwKS4gQW50ZXNcbiAgLy8gcmV1c2F2YSAkYWNjZW50LWJhY2tncm91bmQgKCM3QzJEMTIsIGJyaWNrLXJlZCBkbyBsaWdodCksIHF1ZSBmaWNhdmEgXCJtdWRkeVwiIGVcbiAgLy8gc2VtIGNvbnRyYXN0ZSBzb2JyZSBhIHN1cGVyZsOtY2llIGVzY3VyYS4gJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmsgw6kgbyB0b2tlbiBkZVxuICAvLyBhY2NlbnQgcHLDs3ByaW8gZG8gZGFyayAobWVzbW8gZG8gYmFkZ2UgYWJhaXhvKSDihpIgYW5lbCBsaW1wbyBlIGxlZ8OtdmVsLlxuICAmLm1lbnUtb3BlbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBCYWRnZSDigJQgbWVzbWEgZmFtw61saWEgYWNjZW50IGRvIGRhcmsgKGFtYmVyKS4gVGV4dG8gZXNjdXJvIHAvIGNvbnRyYXN0ZSBzb2JyZSBvXG4gIC8vIGFtYmVyIGNsYXJvIChubyBsaWdodCDDqSBicmFuY28gc29icmUgYnJpY2stcmVkKS4gU8OzIHNvYnJlc2NyZXZlIGNvcmVzO1xuICAvLyBnZW9tZXRyaWEgdmVtIGRvIG1peGluLlxuICAuY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLWJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgICBjb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyaztcbiAgfVxufVxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1peGluIGBqZW1zMy1jb3VudC1iYWRnZWAg4oCUIEZPTlRFIMOaTklDQSBkYSBnZW9tZXRyaWEgZG9zIGJhZGdlc1xuLy8gbnVtw6lyaWNvcyBkbyBhcHAgKGNvbnRhZG9yIGRlIG7Do28tbGlkYXMsIGZpbHRyb3MgYXRpdm9zLCBldGMuKS5cbi8vXG4vLyBWaXZlIGVtIGFycXVpdm8gZGVkaWNhZG8gKHNlbSBkZWNsYXJhw6fDtWVzIENTUykgcG9ycXVlIEBpbXBvcnRcbi8vIFNBU1MgaW5jbHVpIFRVRE8gZG8gYXJxdWl2byBpbXBvcnRhZG8uIFNlIGVzdGl2ZXNzZSBlbVxuLy8gYF9oZWFkZXItaWNvbi1idXR0b24uc2Nzc2AgKGNvbW8gZXN0YXZhIGFudGVzKSwgcXVhbHF1ZXIgY29tcG9uZW50ZVxuLy8gcXVlIGltcG9ydGFzc2UgcHJhIHVzYXIgbyBtaXhpbiBhcnJhc3RhcmlhIG8gYC5jaGFpci1oZWFkZXItaWNvbi1idXR0b25cbi8vIHsgYmFja2dyb3VuZDogd2hpdGUgfWAgcHJvIHNldSBlc2NvcG8g4oCUIGNvbGlkaW5kbyBjb20gYSB2ZXJzw6NvIGdsb2JhbFxuLy8gdmlhIENTUyBzY29wZWQgZGEgQW5ndWxhciAoYF9uZ2NvbnRlbnQtKmApLCBxdWVicmFuZG8gbyBkYXJrLW1vZGUuXG4vL1xuLy8gQ29uc3VtaWRvcmVzIGF0dWFpczpcbi8vICAg4oCiIGAuY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLWJhZGdlYCAoaGVhZGVyLWljb24tYnV0dG9uLCBjb3IgYWNjZW50KVxuLy8gICDigKIgYC5iZWxsLWJhZGdlYCAodXNlci1ub3RpZmljYXRpb25zLCBjb3Igd2FybmluZylcbi8vICAg4oCiIGAuc2VnLWJhZGdlYCAobm90aWZpY2F0aW9ucy1jZW50ZXIsIGNvciB3YXJuaW5nKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AbWl4aW4gamVtczMtY291bnQtYmFkZ2UoJGJnLWNvbG9yLCAkdGV4dC1jb2xvcjogI2ZmZmZmZikge1xuICAvLyBHZW9tZXRyaWEgKyB0aXBvZ3JhZmlhICsgY2VudHJhbGl6YcOnw6NvIGFsaW5oYWRhcyBhb1xuICAvLyBgLnNpZGViYXItaXRlbS1iYWRnZWAgZG8gbWVudSBsYXRlcmFsIChhdXRvci9yZXZpc29yKTpcbiAgLy8gICB3ZWlnaHQgNjAwLCBwYWRkaW5nIGAwIDVweGAsIGNlbnRyYWxpemHDp8OjbyB2aWFcbiAgLy8gICBgbGluZS1oZWlnaHQ6IDE2cHggKyB0ZXh0LWFsaWduOiBjZW50ZXJgLiBBc3NpbSBvcyA0IGJhZGdlcyBkb1xuICAvLyAgIGFwcCByZW5kZXJpemFtIGlkw6pudGljb3MgZW0gYWx0dXJhIGUgYWxpbmhhbWVudG8gZG8gZ2x5cGguXG4gIG1pbi13aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBwYWRkaW5nOiAwIDVweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29sb3I7XG4gIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC8vIERhcmstbW9kZTogY29ycmXDp8OjbyDDs3B0aWNhIHZpdmUgZW0gcmVncmEgR0xPQkFMIGZvcmEgZG8gbWl4aW5cbiAgLy8gKHZpZGUgYF9oZWFkZXItaWNvbi1idXR0b24uc2Nzc2ApLiBOw6NvIHBvZGUgZmljYXIgYXF1aSBwb3JxdWVcbiAgLy8gcXVhbmRvIG8gbWl4aW4gw6kgaW5jbHXDrWRvIG51bSBTQ1NTIGRlIGNvbXBvbmVudGUsIG8gQW5ndWxhclxuICAvLyBFbXVsYXRlZCBhZGljaW9uYSBgW19uZ2NvbnRlbnQteHh4XWAgYSBUT0RPUyBvcyBzZWxlY3RvcnMsXG4gIC8vIGluY2x1c2l2ZSBgLmRhcmstdGhlbWVgIOKAlCBlIG8gYm9keSAocXVlIHRlbSBgLmRhcmstdGhlbWVgKSBuw6NvXG4gIC8vIHRlbSBlc3NlIGF0cmlidXRvLCBxdWVicmFuZG8gbyBtYXRjaC5cbn1cbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbi5tYXQtdG9vbHRpcCB7XG4gICYuY2FyZFRvb2x0aXAge1xuICAgIGJveC1zaGFkb3c6ICR0b29sdGlwLXNoYWRvdztcblxuICAgIGJhY2tncm91bmQ6ICR0b29sdGlwLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICAgcGFkZGluZzogMTJweDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgfVxufVxuXG4vLyBUb29sdGlwIGN1c3RvbSBkb3MgcGlsbHMgZGUgY3JpdMOpcmlvIGRvIENBQkXDh0FMSE8gZGUgc2NvcmUgKExpc3RhIGRlIFN1Ym1pc3PDtWVzKS4gVml2ZSBubyA8Ym9keT5cbi8vIChmb3JhIGRvIENESyBvdmVybGF5KSwgZW50w6NvIGVzdGlsaXphZG8gYXF1aSBlbSBlc2NvcG8gZ2xvYmFsIOKAlCBJR1VBTCBhbyBiYWzDo28gZG8gbWF0LXRvb2x0aXA6XG4vLyBjaW56YSBubyBjbGFybywgY2xhcm8gbm8gZXNjdXJvLiBDb250ZcO6ZG8gPSBsZWdlbmRhIE1VTFRJLUxJTkhBICh0w610dWxvICsgXCJ2YWxvcjogZGVzY3Jpw6fDo29cIiBwb3Jcbi8vIGxpbmhhLCBjb20gXFxuKTogYHdoaXRlLXNwYWNlOiBwcmUtbGluZWAgcHJlc2VydmEgYXMgcXVlYnJhczsgYHRleHQtYWxpZ246IGxlZnRgIHBvcnF1ZSDDqSBsZWdlbmRhLlxuLnNnLWNyaXQtdG9vbHRpcCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTcsIDk3LCA5NywgMC45Mik7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiA2cHggOHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWF4LXdpZHRoOiAzMDBweDtcbiAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cbi5kYXJrLXRoZW1lIC5zZy1jcml0LXRvb2x0aXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xMDA7XG4gIGNvbG9yOiAkZ3JheS05MDA7XG59XG5cbi8vIERhcmstbW9kZSB0b29sdGlwczogaW52ZXJ0IE1hdGVyaWFsJ3MgZGVmYXVsdCBkYXJrIGJhbGxvb24gdG8gYSBsaWdodFxuLy8gYmFsbG9vbiB3aXRoIGRhcmsgdGV4dCBzbyB0b29sdGlwcyByZW1haW4gbGVnaWJsZSBhZ2FpbnN0IHRoZSBkYXJrIFVJXG4vLyBjaHJvbWUuIExpdmVzIGF0IGJvZHkgc2NvcGUgYmVjYXVzZSBtYXQtdG9vbHRpcCBpcyByZW5kZXJlZCBpbiB0aGUgQ0RLXG4vLyBvdmVybGF5IGNvbnRhaW5lciAoc2libGluZyBvZiB0aGUgYXBwIHJvb3QsIGJ1dCBzdGlsbCB1bmRlciBib2R5IHdoZXJlXG4vLyAuZGFyay10aGVtZSBpcyBhcHBsaWVkKS5cbi5kYXJrLXRoZW1lIC5tYXQtdG9vbHRpcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTEwMCAhaW1wb3J0YW50O1xuICBjb2xvcjogJGdyYXktOTAwICFpbXBvcnRhbnQ7XG59XG4iLCIubm90aWZpY2F0aW9uLW1lbnUge1xuICBidXR0b24ubWF0LW1lbnUtaXRlbSB7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIHRleHQtb3ZlcmZsb3c6IGluaXRpYWw7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgIHBhZGRpbmc6IDFyZW0gMnJlbTtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRtYWluLXRoZW1lLWNvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICAgIH1cblxuICAgIC50aW1lIHtcbiAgICAgIG1hcmdpbi10b3A6IC41ZW07XG5cbiAgICAgIG1hdC1pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICB3aWR0aDogMTZweDtcblxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEycHg7XG5cbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiYXBwLXNpZGViYXIge1xuICBtYXQtc2lkZW5hdiB7XG4gICAgLm1hdC1saXN0IC5tYXQtbGlzdC1pdGVtIC5tYXQtbGlzdC1pdGVtLWNvbnRlbnQge1xuICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzO1xuICAgIH1cblxuICAgIC5tYXQtbGlzdCBidXR0b24ubWF0LWljb24tYnV0dG9uIHtcbiAgICAgIHRyYW5zaXRpb246IG1hcmdpbiAwLjJzO1xuICAgICAgY29sb3I6ICRuYXZiYXItaWNvbi1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAmLm1pbmkge1xuICAgIG1hdC1zaWRlbmF2IHtcbiAgICAgIC5tYXQtbGlzdCAubWF0LWxpc3QtaXRlbSAubWF0LWxpc3QtaXRlbS1jb250ZW50IHtcbiAgICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjNzO1xuICAgICAgICBwYWRkaW5nOiAwIDdweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWF0LXNpZGVuYXYgLm1hdC1pY29uIHN2ZyB7XG4gICAgd2lkdGg6IDE2cHg7XG4gIH1cbn1cblxuYXBwLWFkbWluLWV2ZW50LXNpZGViYXIge1xuICBtYXQtc2lkZW5hdiB7XG4gICAgLm1hdC1saXN0IHtcbiAgICAgIC5tYXQtbGlzdC1pdGVtIC5tYXQtbGlzdC1pdGVtLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgcGFkZGluZzogNHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYubWVudSB7XG4gICAgICAubWF0LWRyYXdlci1pbm5lci1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIG1hdC1saXN0IHtcbiAgICAgICAgICAmLmJvdHRvbS1hbGlnbmVkIHtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZW5kO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICdjb2xvcnMnO1xuQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ21peGlucyc7ICAgICAgICAvLyBqZW1zLXNlbGVjdGVkLWNoZWNrIChjaGVjayBTRi1zdHlsZSBjb21wYXJ0aWxoYWRvKVxuQGltcG9ydCAnZHJhZy1oYW5kbGUnO1xuXG4vLyBDaHJvbWUgR0xPQkFMIGRvIG1hdC1tZW51IChwYWluZWwgKyBpdGVucyArIHN3aXRjaGVycyBkbyB1c2VyLW1lbnUgY2hhaXIpLlxuLy8gUmVncmFzIFBMQU5BUyAoc2VtIGA6Om5nLWRlZXBgKSBwZWxvIE1FU01PIG1vdGl2byBqw6EgZG9jdW1lbnRhZG8gbm8gYmxvY29cbi8vIGAudmlldy1wcm9maWxlLW1lbnVgIG5vIGZpbSBkZXN0ZSBhcnF1aXZvOiBudW0gc3R5bGVzaGVldCBHTE9CQUwgbyBgOjpuZy1kZWVwYFxuLy8gdmlyYSBwc2V1ZG8gaW52w6FsaWRvIOKGkiBvIGJyb3dzZXIgZGVzY2FydGEgYSByZWdyYTsgYSDDum5pY2EgY8OzcGlhIHF1ZSBmdW5jaW9uYXZhXG4vLyBlcmEgSU5KRVRBREEgcG9yIHVtIGNvbXBvbmVudGUgRW11bGF0ZWQgcXVlIGltcG9ydGEgZXN0ZSBhcnF1aXZvIChhdmF0YXItcHJvZmlsZVxuLy8gZXRjLiksIHByZXNlbnRlIGVtIHF1YXNlIHRvZGEgdGVsYSDigJQgTUFTIG7Do28gbm8gc2hlbGwgYD92aWV3TW9kZT1mdWxsYFxuLy8gKHJlbmRlcml6YSBzw7MgYDxyb3V0ZXItb3V0bGV0PmApLCBvbmRlIG8gcGFpbmVsIGRvIG1hdC1tZW51IHBlcmRpYSBvIHBhZGRpbmdcbi8vIGxhdGVyYWwgKDRweOKGkjApLiBQbGFuYXMsIHZhbGVtIFNFTVBSRSB2aWEgYF9jb3JlLnNjc3NgLCBub3MgZG9pcyBtb2Rvcy5cbi8vIChBIGluZGVudGHDp8OjbyBhIHNlZ3VpciDDqSB2ZXN0w61naW8gZG8gYW50aWdvIHdyYXBwZXIgYDo6bmctZGVlcGAuKVxuICAgIC5tYXQtbWVudS1wYW5lbCB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyAoUmVtb3ZlZCkgRXhwZXJpbWVudGFsIHNpZGViYXIgZmx5b3V0IG1hdC1tZW51IHN0eWxlcy5cbiAgICAvLyBUaGUgZmx5b3V0IGlzIG5vdyBhIGN1c3RvbSBgPGFzaWRlIGNsYXNzPVwiZXhwZXJpbWVudGFsLWZseW91dFwiPmBcbiAgICAvLyBlbGVtZW50IHJlbmRlcmVkIGF0IHRoZSAuc2lkZWJhciByb290IGJ5IGBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhcmBcbiAgICAvLyAoc2VlIGFkbWluLWV2ZW50LXNpZGViYXIuY29tcG9uZW50LnNjc3MgZm9yIGl0cyBzdHlsaW5nKS4gVGhlIG9sZFxuICAgIC8vIGAubWF0LW1lbnUtcGFuZWwuZXhwZXJpbWVudGFsLWZseW91dC1tZW51YCBydWxlIHRyZWUgdGhhdCB1c2VkIHRvXG4gICAgLy8gbGl2ZSBoZXJlIHdhcyBkZWxldGVkIHRvIGF2b2lkIGZyYW1ld29yayBmaWdodHMgKG1hdC1tZW51J3NcbiAgICAvLyAhaW1wb3J0YW50IHNpemluZywgQ0RLIG92ZXJsYXkgaW5saW5lIHBvc2l0aW9uaW5nLCBhdXRvLWNsb3NlIG9uXG4gICAgLy8gaXRlbSBjbGljaykuIFRoZSBsaWdodC9kYXJrIHRoZW1lIHJ1bGVzIGZvciBgLmV4cGVyaW1lbnRhbC1mbHlvdXRgXG4gICAgLy8gbGl2ZSBpbiBgX2NvbG9yLXNjaGVtZS5zY3NzYC5cblxuICAgIC5tYXQtbWVudS1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWF0LW1lbnUtaXRlbSB7XG4gICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cyAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vIDMwcHggY2FzYSBhIGFsdHVyYSBkb3MgaXRlbnMgZG8gc2lkZWJhciBkbyBjaGFpclxuICAgICAgICAvLyAoYC5leHBlcmltZW50YWwtc2lkZWJhci1pdGVtYCkg4oCUIG8gY29tZW50w6FyaW8gYWJhaXhvIGrDoSBkZWNsYXJhdmEgYVxuICAgICAgICAvLyBpbnRlbsOnw6NvIChcInNhbWUgZGVmaW5pdGlvbnMgYXMgdGhlIHN1Ym1lbnUgaXRlbXMgaW4gdGhlIGNoYWlyIHNpZGViYXJcIiksXG4gICAgICAgIC8vIG1hcyBvIHZhbG9yIGVzdGF2YSBlbSAzNnB4LiBBbGluaGFkby5cbiAgICAgICAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMnB4IDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcblxuICAgICAgICAubWF0LWljb24ge1xuICAgICAgICAgICAgLy8gYHBhZGRpbmctdG9wOiA0cHhgIGZvaSByZW1vdmlkbzogY29tIGBkaXNwbGF5OmZsZXg7IGFsaWduLWl0ZW1zOmNlbnRlcmBcbiAgICAgICAgICAgIC8vIG5vIGl0ZW0sIG8gw61jb25lIErDgSDDqSBjZW50cmFkbyB2ZXJ0aWNhbG1lbnRlLiBPIHBhZGRpbmcgZW1wdXJyYXZhIG9cbiAgICAgICAgICAgIC8vIMOtY29uZSA0cHggcHJhIGJhaXhvLCBkZXNsb2NhbmRvLW8gZW0gcmVsYcOnw6NvIGFvIHLDs3R1bG8g4oCUIGRlc2FsaW5oYW1lbnRvXG4gICAgICAgICAgICAvLyB2aXPDrXZlbCBwcmluY2lwYWxtZW50ZSBubyB1c2VyLW1lbnUgKGAudHBjLXVzZXItbWVudWApLCBvbmRlIG9zIGl0ZW5zXG4gICAgICAgICAgICAvLyBjb252aXZlbSBjb20gd2lkZ2V0cyBxdWUgasOhIGFuY29yYW0gbyDDrWNvbmUgbm8gY2VudHJvLlxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubWF0LWRpdmlkZXIge1xuICAgICAgICBtYXJnaW46IDAgMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gVFBDIGNoYWlyIGFyZWEgdXNlciBtZW51IOKAlCB0ZXh0IGl0ZW1zIGZvbGxvdyB0aGUgc2FtZSBkZWZpbml0aW9ucyBhc1xuICAgIC8vIHRoZSBzdWJtZW51IGl0ZW1zIGluIHRoZSBjaGFpciBzaWRlYmFyLiBUaGUgdGhlbWUgKyBsYW5ndWFnZSByb3dzIGFyZVxuICAgIC8vIGludGVudGlvbmFsbHkgbGVmdCB0byB0aGUgZ2xvYmFsIGRlZmF1bHRzICh0aGV5J3JlIGljb24tb25seSBhbmQgbmVlZFxuICAgIC8vIHRoZWlyIG93biB0cmVhdG1lbnQgbGF0ZXIpLlxuICAgIC8vIFNlbGV0b3IgY29icmUgQU1CT1M6IGAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudWAgKGxlZ2FkbyBtYXQtbWVudSlcbiAgICAvLyBlIGAudHBjLXVzZXItbWVudWAgc3RhbmRhbG9uZSAocG9wb3Zlci1iYXNlZCwgRmFzZSAx4oCTNSkuXG4gICAgLy8g4pWQ4pWQ4pWQIEdlb21ldHJpYSBkb3MgaXRlbnMgZW0gYC50cGMtdXNlci1tZW51YCAvIGAuY29udGFpbmVyLW9wdGlvbmAg4pWQ4pWQ4pWQXG4gICAgLy8gRk9OVEUgw5pOSUNBIGRlIGFsdHVyYS9wYWRkaW5nL8OtY29uZSBkb3MgbWVudXMgSkVNUzMgbW9kZXJub3MgKHVzZXItbWVudSxcbiAgICAvLyBcIi4uLlwiIGRvcyBhY3Rpb25zLW1lbnUtYnV0dG9uLCBicmVhZGNydW1iLCBzdWJtaXNzaW9uLWxpc3QsIHZpZXctcHJvZmlsZSxcbiAgICAvLyBjb2xvci1waWNrZXIsIGxhbmRpbmcsIGV0Yy4pLiBBbnRlcyBlc3NhIGdlb21ldHJpYSB2aXZpYSBlbVxuICAgIC8vIGBfY29sb3Itc2NoZW1lLnNjc3NgIChmb3JhIGRvIGVzY29wbyBkZXNzZSBhcnF1aXZvLCBxdWUgZGV2aWEgc2VyIHPDsyBjb3IpLlxuICAgIC8vXG4gICAgLy8gQmFzZSA9IDI2cHggKGRlbnNvLCBjYXNhIGAuamVtczMtc2VsZWN0LXBhbmVsYCkuIEV4Y2XDp8OjbyA9IHVzZXItbWVudVxuICAgIC8vID0gMjhweCB2aWEgY2xhc3NlIGRpc3RpbnRpdmEgYC51c2VyLW1lbnVgIG5vIHdyYXBwZXIgZG8gYXZhdGFyLXByb2ZpbGUuXG4gICAgLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW0sXG4gICAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0sXG4gICAgLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAyNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI2cHggIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCA4cHggIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXMgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAkY29udHJvbC1mb250LXNpemUgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRtZW51LWl0ZW0td2VpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAvLyBFeGNlw6fDo28gcHJvIHVzZXItbWVudSAoYXZhdGFyLXByb2ZpbGUpOiAyOHB4IOKAlCBtYWlzIHJlc3Bpcm8gZW0gbWVudVxuICAgIC8vIGxvbmdvIGNoZWlvIGRlIG9ww6fDtWVzLiBFc3BlY2lmaWNpZGFkZSAoMCwyLDApIGlndWFsIMOgIGJhc2U7IGEgZXNwZWPDrWZpY2FcbiAgICAvLyB2ZW5jZSBwb3Igb3JkZW0gKGRlY2xhcmFkYSBkZXBvaXMpLlxuICAgIC50cGMtdXNlci1tZW51LnVzZXItbWVudSAubWF0LW1lbnUtaXRlbSxcbiAgICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudS51c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ge1xuICAgICAgICBoZWlnaHQ6IDI4cHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogMjhweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAvLyBJY29uIGdlb21ldHJ5IOKAlCBjb211bSBhIHRvZG9zIG9zIG1lbnVzIGNvbSBgLnRwYy11c2VyLW1lbnVgL2AuY29udGFpbmVyLW9wdGlvbmAuXG4gICAgLy8gUGVzby9GSUxMIGFuaW1hbSBubyBob3ZlciAoZWZlaXRvIGRlIFwiYWNlbmRlclwiIG8gw61jb25lIGRhIG9ww6fDo28gc29iIG8gY3Vyc29yKS5cbiAgICAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbSAubWF0LWljb24sXG4gICAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uLFxuICAgIC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdvcHN6JyAyMCwgJ3dnaHQnIDMwMCwgJ0ZJTEwnIDA7XG4gICAgICAgIC8vIFNlbSB0cmFuc2nDp8OjbzogbXVkYW7Dp2EgZGUgcGVzby9maWxsIGluc3RhbnTDom5lYSAoZXN0aWxvIG1hY09TKS5cbiAgICB9XG4gICAgLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW06aG92ZXIgLm1hdC1pY29uLFxuICAgIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtOmhvdmVyIC5tYXQtaWNvbixcbiAgICAudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbTpob3ZlciAubWF0LWljb24ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ29wc3onIDIwLCAnd2dodCcgNDAwLCAnRklMTCcgMDtcbiAgICB9XG4gICAgLy8gTGVhZGluZyBjb20gZmxhZyBlbW9qaSAoZW0gdmV6IGRlIG1hdC1pY29uKSDigJQgZXNwZWxoYXIgZ2VvbWV0cmlhLlxuICAgIC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtIC5mbGFnIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHggIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnQXBwbGUgQ29sb3IgRW1vamknLCAnU2Vnb2UgVUkgRW1vamknLCAnTm90byBDb2xvciBFbW9qaScsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSxcbiAgICAudHBjLXVzZXItbWVudSB7XG5cbiAgICAgICAgLy8gU3VwcmltZSBvIGVmZWl0byByaXBwbGUgZG8gTWF0ZXJpYWwgZW0gVE9ET1Mgb3MgbWF0LW1lbnUtaXRlbXNcbiAgICAgICAgLy8gZG8gdXNlciBtZW51IOKAlCBmZWVkYmFjayBkZSBjbGlxdWUgYXF1aSBmaWNhIHBvciBjb250YSBkb1xuICAgICAgICAvLyBob3ZlciBiZyArIGHDp8OjbyBpbWVkaWF0YSAodHJvY2EgZGUgdGVtYS9sYXlvdXQvaWRpb21hLFxuICAgICAgICAvLyBuYXZlZ2HDp8OjbykuIE8gcmlwcGxlIG7Do28gY29tYmluYSBjb20gbyByZXN0YW50ZSBkbyBjaGFpciBVSVxuICAgICAgICAvLyAoZXN0aWxvIHRpcG9ncsOhZmljby9taW5pbWFsIMOgIGxhIE5vdGlvbi9MaW5lYXIpLlxuICAgICAgICAubWF0LW1lbnUtaXRlbSAubWF0LXJpcHBsZSxcbiAgICAgICAgLm1hdC1tZW51LWl0ZW0gLm1hdC1idXR0b24tcmlwcGxlLFxuICAgICAgICAubWF0LW1lbnUtaXRlbSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRvcCA4cHggbWF0Y2hlcyB0aGUgbGF0ZXJhbCBpbnNldCAocGFuZWwgNHB4ICsgaXRlbSBtYXJnaW4gNHB4ID1cbiAgICAgICAgLy8gOHB4KS4gQm90dG9tIHVzZXMgNXB4IHRvIGNvbXBlbnNhdGUgZm9yIHRoZSBwZXItaXRlbSAxcHggbWFyZ2luLVxuICAgICAgICAvLyBib3R0b20gKHNvIHRoZSB2aXNpYmxlIHNwYWNlIGJlbG93IHRoZSBsYXN0IHJvdyDiiYggNnB4LCBqdXN0IHVuZGVyXG4gICAgICAgIC8vIHRoZSA4cHggdG9wKSwgc2luY2UgaXRlbXMgZG9uJ3QgY2FycnkgYSBtYXJnaW4tdG9wLlxuICAgICAgICBwYWRkaW5nOiA4cHggNHB4IDVweCA0cHggIWltcG9ydGFudDtcbiAgICAgICAgLy8gNnB4IHBhbmVsIGNvcm5lcnMgKEdpdEh1Yi1zdHlsZSkg4oCUIG1vZGVybiBQV0EgcmFkaXVzIHdpdGhvdXRcbiAgICAgICAgLy8gbWFraW5nIHRoZSBjaHJvbWUgZmVlbCBcInNvZnRcIjsgbWF0Y2hlcyB0aGUgNnB4LXJhZGl1cyBvZiB0aGVcbiAgICAgICAgLy8gaW5uZXIgaXRlbSBwaWxscyBmb3IgYSBjb2hlcmVudCBjb3JuZXIgZmFtaWx5LiBTaGFkb3cgbGl2ZXMgaW5cbiAgICAgICAgLy8gYF9jb2xvci1zY2hlbWUuc2Nzc2AgKHRoZW1lLWF3YXJlKS5cbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXMgIWltcG9ydGFudDtcblxuICAgICAgICAvLyBTZWN0aW9uIGRpdmlkZXJzIOKAlCBrZWVwIHRoZW0gdmlzdWFsbHkgY2xlYXIgb2YgdGhlIGl0ZW0gaG92ZXJcbiAgICAgICAgLy8gcGlsbHMgYWJvdmUvYmVsb3cgc28gdGhlIGdyb3VwcyByZWFkIGFzIGRpc2NyZXRlIGJsb2Nrcy4gTGF0ZXJhbFxuICAgICAgICAvLyBtYXJnaW5zIGFyZSBORUdBVElWRSA0cHggc28gdGhlIGxpbmUgZXNjYXBlcyB0aGUgcGFuZWwncyA0cHhcbiAgICAgICAgLy8gbGVmdC9yaWdodCBwYWRkaW5nIGFuZCBydW5zIGVkZ2UtdG8tZWRnZSBhY3Jvc3MgdGhlIGZ1bGwgcGFuZWxcbiAgICAgICAgLy8gd2lkdGggKGluc3RlYWQgb2Ygc2l0dGluZyBpbmRlbnRlZCBsaWtlIHRoZSBpdGVtIHBpbGxzIGFib3ZlL2JlbG93KS5cbiAgICAgICAgLm1hdC1kaXZpZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogNnB4IC00cHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlZ3JhcyBkZSBnZW9tZXRyaWEgZGUgYC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtYCBhZ29yYVxuICAgICAgICAvLyB2aXZlbSBubyBlc2NvcG8gYDo6bmctZGVlcGAgZGlyZXRvIChhY2ltYSksIHByYSBuw6NvIGRlcGVuZGVyZW1cbiAgICAgICAgLy8gZGEgY2xhc3NlIGB0cGMtdXNlci1tZW51YCBwcm9wYWdhciBhdMOpIG8gcGFpbmVsLlxuXG4gICAgICAgIC8vIENvbXBhY3QgbGFuZ3VhZ2Ugc3dpdGNoZXIgKGZsYWctb25seSBidXR0b25zKS4gTm8gcmlnaHQgbWFyZ2luIOKAlFxuICAgICAgICAvLyBlYWNoIGZsYWcgaXMgY2VudHJlZCBpbnNpZGUgaXRzIDQ0w5czMiBjZWxsLCBubyBsYWJlbCBmb2xsb3dpbmcuXG4gICAgICAgIC5jb250YWluZXItbGFuZ3VhZ2UtY29tcGFjdCAubWF0LW1lbnUtaXRlbSAuZmxhZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdBcHBsZSBDb2xvciBFbW9qaScsICdTZWdvZSBVSSBFbW9qaScsICdOb3RvIENvbG9yIEVtb2ppJywgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBUaGVtZSBzd2l0Y2hlciByb3cg4oCUIGNlbnRlciB0aGUgdGhyZWUgb3B0aW9ucyBhcyBhIHRpZ2h0IGNsdXN0ZXJcbiAgICAgICAgLy8gKG92ZXJyaWRlIHRoZSBjb21wb25lbnQncyBganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuYCArIHBlci1cbiAgICAgICAgLy8gYnV0dG9uIGxhdGVyYWwgbWFyZ2lucykgYW5kIHN0cmlwIHRoZSBnbG9iYWwgbWF0LW1lbnUtaXRlbSB2ZXJ0aWNhbFxuICAgICAgICAvLyBtYXJnaW4gc28gdGhlIHJvdyBodWdzIHRoZSBkaXZpZGVycyB3aXRob3V0IGV4dHJhIHBhZGRpbmcuXG4gICAgICAgIC5jb250YWluZXItdGhlbWUsXG4gICAgICAgIC5jb250YWluZXItbGF5b3V0LFxuICAgICAgICAuY29udGFpbmVyLWxhbmd1YWdlLWNvbXBhY3Qge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGdhcDogNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQWN0aXZlIG9wdGlvbiDigJQgY3Vyc29yIGRlZmF1bHQgc8OzIHByYSBjb211bmljYXIgdmlzdWFsbWVudGVcbiAgICAgICAgLy8gcXVlIG8gY2VsbCBuw6NvIMOpIGludGVyYXRpdm8gKGEgbMOzZ2ljYSBkZSBuby1vcCBlc3TDoSBub1xuICAgICAgICAvLyB0ZW1wbGF0ZSB2aWEgYHN0b3BQcm9wYWdhdGlvbmAgKyBgZGlzYWJsZVJpcHBsZWApLlxuICAgICAgICAuY29udGFpbmVyLXRoZW1lIC5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b24sXG4gICAgICAgIC5jb250YWluZXItbGF5b3V0IC5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b24sXG4gICAgICAgIC5jb250YWluZXItbGFuZ3VhZ2UtY29tcGFjdCAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uIHtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC8vIGA6bm90KC4uLilgIGJ1bXBzIHNwZWNpZmljaXR5IHBhc3QgdGhlIGF2YXRhci1wcm9maWxlIGNvbXBvbmVudCdzXG4gICAgICAgIC8vIHZpZXctZW5jYXBzdWxhdGVkIGA6Zmlyc3QtY2hpbGRgIC8gYDpsYXN0LWNoaWxkYCBtYXJnaW4gcnVsZXMuXG4gICAgICAgIC8vIFdpZGVyIDQ0w5czMiBjZWxscyB3aXRoIGEgNnB4LXJhZGl1cyBwaWxsIOKAlCBleHRyYSBob3Jpem9udGFsIHJvb21cbiAgICAgICAgLy8gZ2l2ZXMgdGhlIGFjdGl2ZSBoaWdobGlnaHQgYSBtb3JlIHN1YnN0YW50aWFsIGNoaXAgd2l0aG91dCBwdXNoaW5nXG4gICAgICAgIC8vIHRoZSBidXR0b25zIGFwYXJ0IHZpc3VhbGx5LlxuICAgICAgICAuY29udGFpbmVyLXRoZW1lIC5tYXQtbWVudS1pdGVtOm5vdCgudHBjLW5vLXN1Y2gtY2xhc3MpLFxuICAgICAgICAuY29udGFpbmVyLWxheW91dCAubWF0LW1lbnUtaXRlbTpub3QoLnRwYy1uby1zdWNoLWNsYXNzKSxcbiAgICAgICAgLmNvbnRhaW5lci1sYW5ndWFnZS1jb21wYWN0IC5tYXQtbWVudS1pdGVtOm5vdCgudHBjLW5vLXN1Y2gtY2xhc3MpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IDQ0cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNDRweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXMgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhlbWUgc3dpdGNoZXIgaWNvbnMgKGxpZ2h0L2Rhcmsvc3lzdGVtKS4gTm9ybWFsaXplZCB0byB0aGVcbiAgICAgICAgLy8gc3lzdGVtLXdpZGUgaWNvbi1heGlzIGxhZGRlcjogYHdnaHQgMzAwIC8gRklMTCAwYCBhdCByZXN0IOKGklxuICAgICAgICAvLyBgd2dodCA0MDAgLyBGSUxMIDFgIHdoZW4gdGhlIG9wdGlvbiBpcyB0aGUgY3VycmVudCB0aGVtZVxuICAgICAgICAvLyAoYC5oaWdobGlnaHQtYnV0dG9uYCkuIFRoZSBGSUxMIHRyYW5zaXRpb24gaXMgd2hhdCBjYXJyaWVzIHRoZVxuICAgICAgICAvLyBcInNlbGVjdGVkXCIgY3VlIGhlcmUgKHJlc3Qgb2YgdGhlIGNoYWlyIFVJIGtlZXBzIEZJTEwgMCBhbHdheXMsXG4gICAgICAgIC8vIGJ1dCBzZWxlY3Rpb24gaW5zaWRlIHRoaXMgd2lkZ2V0IGlzIGV4YWN0bHkgdGhlIHVzZS1jYXNlIGZvclxuICAgICAgICAvLyB0aGUgZmlsbCBheGlzIOKAlCBzYW1lIGV4Y2VwdGlvbiB3ZSBtYWtlIGZvciB0aGUgZmF2b3JpdGUgc3RhcikuXG4gICAgICAgIC5jb250YWluZXItdGhlbWUgLm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uIHtcbiAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnb3BzeicgMjAsICd3Z2h0JyAzMDAsICdGSUxMJyAwO1xuICAgICAgICAgICAgLy8gU2VtIHRyYW5zacOnw6NvOiBtdWRhbsOnYSBkZSBwZXNvL2ZpbGwgaW5zdGFudMOibmVhIChlc3RpbG8gbWFjT1MpLlxuICAgICAgICB9XG4gICAgICAgIC5jb250YWluZXItdGhlbWUgLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbiAubWF0LWljb24ge1xuICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdvcHN6JyAyMCwgJ3dnaHQnIDQwMCwgJ0ZJTEwnIDA7XG4gICAgICAgIH1cbiAgICAgICAgLy8gVGhlIGFjdGl2ZSB0aGVtZSBidXR0b24gaXMgYWxzbyBgW2Rpc2FibGVkXWA7IGZvcmNlIGZ1bGwgb3BhY2l0eVxuICAgICAgICAvLyBzbyB0aGUgZmlsbGVkIGljb24gcmVhZHMgYXMgYSBzZWxlY3RlZCBzdGF0ZSwgbm90IGEgZGltbWVkIGNvbnRyb2wuXG4gICAgICAgIC5jb250YWluZXItdGhlbWUgLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbixcbiAgICAgICAgLmNvbnRhaW5lci10aGVtZSAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uIC5tYXQtaWNvbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4vLyBCYXJyYSBkZSByb2xhZ2VtIEhPUklaT05UQUwgZmFudGFzbWEgZG8gbW9kYWwgZGUgZWRpw6fDo28gZGUgdGVtcGxhdGUuIE8gTWF0ZXJpYWwgZMOhXG4vLyBgb3ZlcmZsb3c6IGF1dG9gIFRBTlRPIG5vIGAubWF0LWRpYWxvZy1jb250YWluZXJgIFFVQU5UTyBubyBgLm1hdC1kaWFsb2ctY29udGVudGAsIGVcbi8vIGFwbGljYSBgbWFyZ2luOiAwIC0yNHB4YCBubyBjb250ZW50IChjb20gYm94LXNpemluZyBib3JkZXItYm94IGdsb2JhbCwgbyBjb250ZW50IGZpY2Fcbi8vIDQ4cHggbWFpcyBsYXJnbyBxdWUgYSDDoXJlYSBkbyBjb250YWluZXIsIGVuY29zdGFuZG8gbm8gcGFkZGluZykuIE8gYG92ZXJmbG93LXg6aGlkZGVuYFxuLy8gZG8gY29tcG9uZW50ZSBjb2JyZSBzw7MgbyBjb250ZW50OyBvIENPTlRBSU5FUiBjb250aW51YXZhIHBvZGVuZG8gcm9sYXIgbm8gZWl4byBYLiBDb3J0YXJcbi8vIHPDsyBvIFggbm8gY29udGFpbmVyIGVsaW1pbmEgYSBmYW50YXNtYSBzZW0gYWZldGFyIG8gc2Nyb2xsIHZlcnRpY2FsIGludGVybm8gZG8gY29udGXDumRvLlxuLmVtYWlsLXRlbXBsYXRlLWVkaXQtZGlhbG9nLXBhbmVsIC5tYXQtZGlhbG9nLWNvbnRhaW5lciB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIC8vIFN1cGVyZsOtY2llIFRJTkdJREEgKGNpbnphLXBlZHJhKSBubyBsaWdodCwgcC8gb3MgY2FtcG9zIGJyYW5jb3MgXCJlbGV2YXJlbVwiXG4gICAgLy8gKG1haXMgY29udHJhc3RlL3Byb2Z1bmRpZGFkZSBxdWUgbyBtb2RhbCB0b2RvIGJyYW5jbykuIERhcmsgc29icmVzY3JldmUgYWJhaXhvLlxuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTEwMDtcbn1cblxuLy8gU3VwZXJmw61jaWUgZG8gbW9kYWwgZGUgZWRpw6fDo28gZGUgdGVtcGxhdGUgbm8gREFSSyDigJQgZXNjYWxhIFFVRU5URSBkbyBKRU1TM1xuLy8gKGVtIHZleiBkbyBjaW56YSBmcmlvIHBhZHLDo28gZG8gTWF0ZXJpYWwpLCBlc2NvcGFkYSBhbyBwYW5lbENsYXNzIGRvIGRpw6Fsb2dvLlxuLy8gTsOtdmVsIFwic3VwZXJmw61jaWVcIiAoIzI2MjYyNik7IGlucHV0cyBmaWNhbSByZWN1YWRvcyAoIzIwMjAyMCkgZSBjaGlwcyBlbGV2YWRvc1xuLy8gKCMzNDMzMmYpLCBkZWZpbmlkb3Mgbm9zIHJlc3BlY3Rpdm9zIGNvbXBvbmVudGVzLiBCb3JkYSBkZXNjb2xhIGRvIGZ1bmRvIGVzY3Vyby5cbi5kYXJrLXRoZW1lIC5lbWFpbC10ZW1wbGF0ZS1lZGl0LWRpYWxvZy1wYW5lbCAubWF0LWRpYWxvZy1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWRhcms7XG59XG5cbi8vIFBvcG92ZXIgZmx1dHVhbnRlIGRlIGJ1c2NhIGRlIGRlc3RpbmF0w6FyaW8gKGFiZXJ0byBwZWxvIGNoaXAgXCIrXCIpLiBDb250ZcO6ZG9cbi8vIHZpdmUgbm8gb3ZlcmxheSDihpIgZXN0aWxvcyBnbG9iYWlzLiBPIGFwcC11c2VyLXNlYXJjaCBlIG8gYm90w6NvIFwiQWRpY2lvbmFyXCJcbi8vIGrDoSBzw6NvIHRlbcOhdGljb3M7IGFxdWkgc8OzIG8gXCJjYXJ0w6NvXCIgKyByZXRlbWF0aXphciBvIGNhbXBvIGRlIGJ1c2NhXG4vLyAocHJldG8gcHVybyBkbyB1c2VyLXNlYXJjaCDihpIgcmVjdWFkbykuXG4ucmVjaXBpZW50LXNlYXJjaC1wb3BvdmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjE2KTtcblxuICAgIC8vIE8gYGFwcC11c2VyLXNlYXJjaGAgcMO1ZSBgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyYCBlbVxuICAgIC8vIGBwb3NpdGlvbjogYWJzb2x1dGVgIChzZW0gdG9wL2xlZnQpIHByYSBhIMOhcmVhIGRlIGhpbnQgbsOjbyBkZXNhbGluaGFyXG4gICAgLy8gb3Mgdml6aW5ob3MgZW0gYGFsaWduLWl0ZW1zOmNlbnRlcmAuIERlbnRybyBkbyBwb3BvdmVyIG7Do28gaMOhIHZpemluaG9zXG4gICAgLy8g4oCUIG1hcyBvIHdyYXBwZXIgYWJzb2x1dGUgcG91c2EgZW0gY2ltYSBkbyBpbnB1dC4gRGV2b2x2ZW1vcyBhbyBmbHV4byxcbiAgICAvLyBzZW0gcmVzZXJ2YXIgZXNwYcOnbyBxdWFuZG8gbsOjbyBow6EgaGludCAobWF0LWhpbnQgYXBhcmVjZSBzw7MgZW0gZXJybyk6XG4gICAgLy8gICDigKIgd3JhcHBlciBgc3RhdGljYCBtYXMgY29sYXBzYWRvIChtaW4taGVpZ2h0OjApIOKGkiBzZW0gXCJidXJhY29cIiBhYmFpeG9cbiAgICAvLyAgIOKAoiBvIHJlc3Bpcm8gZGUgNHB4IMOpIGRvIHByw7NwcmlvIGAubWF0LWhpbnRgLCBxdWUgc8OzIGV4aXN0ZSBzZSBob3V2ZXJcbiAgICAvLyAgICAgbWVuc2FnZW0g4oCUIGFzc2ltIG8gcG9wb3ZlciBmaWNhIHNpbcOpdHJpY28gcXVhbmRvIGxpbXBvLlxuICAgIGFwcC11c2VyLXNlYXJjaCAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgYXBwLXVzZXItc2VhcmNoIC5tYXQtaGludCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgNHB4O1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgfVxufVxuLmxpZ2h0LXRoZW1lIC5yZWNpcGllbnQtc2VhcmNoLXBvcG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xufVxuLmRhcmstdGhlbWUgLnJlY2lwaWVudC1zZWFyY2gtcG9wb3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItZGFyaztcbiAgICAubWF0LWZvcm0tZmllbGQtZmxleCB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50OyB9XG59XG5cbi8vIFNsYXNoIG1lbnUgZGUgdmFyacOhdmVpcyAoZWRpdG9yIGRlIHRlbXBsYXRlIGRlIGUtbWFpbCkg4oCUIGRyb3Bkb3duIGFuY29yYWRvXG4vLyBhYmFpeG8gZG8gY2FtcG8gdmlhIENESyBvdmVybGF5OyBjb250ZcO6ZG8gdml2ZSBubyBvdmVybGF5IChnbG9iYWwgKyB0aGVtZS1hd2FyZSkuXG4udmFyaWFibGUtc2xhc2gtbWVudSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXgtaGVpZ2h0OiAyODBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4xNik7XG5cbiAgICAvLyBJdGVtID0gW2NoaXAgZGEgdmFyacOhdmVsXSAtIGV4cGxpY2HDp8OjbywgbnVtYSBsaW5oYSAoYSBleHBsaWNhw6fDo28gcXVlYnJhXG4gICAgLy8gc2UgZm9yIGxvbmdhKS4gTyBjaGlwIMOpIG8gTUVTTU8gZG9zIGVkaXRvcmVzIChgLnZ0ZS1jaGlwYCkuXG4gICAgLnZhcmlhYmxlLXNsYXNoLWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgIGdhcDogNnB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyAgICAgICAgICAgICAgICAgLy8gdmVuY2UgbyBnbG9iYWwgYGJ1dHRvbiB7IGhlaWdodDogMzZweCB9YFxuICAgICAgICBwYWRkaW5nOiA1cHggOHB4O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICAgICAgLy8gQ2hpcCBkYSB2YXJpw6F2ZWwgKHNlbSBcIsOXXCIgYXF1aSDihpIgcGFkZGluZyBlcXVpbGlicmFkbykuXG4gICAgICAgIC52dGUtY2hpcCB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgICAgICB9XG4gICAgICAgIC52YXItZGVzYyB7IGZsZXg6IDEgMSBhdXRvOyBtaW4td2lkdGg6IDA7IGZvbnQtc2l6ZTogMTJweDsgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIH1cbn1cbi5saWdodC10aGVtZSAudmFyaWFibGUtc2xhc2gtbWVudSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQ7XG4gICAgLnZhcmlhYmxlLXNsYXNoLWl0ZW0ge1xuICAgICAgICAudmFyLWRlc2MgeyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gICAgICAgICY6aG92ZXIsICYuYWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZDsgfVxuICAgIH1cbn1cbi5kYXJrLXRoZW1lIC52YXJpYWJsZS1zbGFzaC1tZW51IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvci1kYXJrO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWRhcms7XG4gICAgLnZhcmlhYmxlLXNsYXNoLWl0ZW0ge1xuICAgICAgICAudmFyLWRlc2MgeyBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gICAgICAgICY6aG92ZXIsICYuYWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrOyB9XG4gICAgfVxufVxuXG4vLyBDaGlwcyBkZSB2YXJpw6F2ZWwgZG8gYXBwLXZhcmlhYmxlLXRlbXBsYXRlLWVkaXRvci4gR0xPQkFJUyBwb3JxdWUgb3MgY2hpcHMgc8Ojb1xuLy8gY3JpYWRvcyB2aWEgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCAoc2VtIG8gYXRyaWJ1dG8gZGUgZW5jYXBzdWxhw6fDo28gZG9cbi8vIGNvbXBvbmVudGUpLCBlbnTDo28gZXN0aWxvcyBjb21wb25lbnQtc2NvcGVkIG7Do28gb3MgYWxjYW7Dp2FtLiBQw61sdWxhXG4vLyBgbm9tZSDDl2AgY29tIGJvdMOjbyBkZSByZW1vw6fDo28uXG4udnRlLWNoaXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA0cHg7XG4gICAgcGFkZGluZzogMCA0cHggMCA4cHg7XG4gICAgbWFyZ2luOiAwIDFweDtcbiAgICAvLyBFc3F1ZW1hIEFaVUwgQ0xBUk8gKG1haXMgY29udHJhc3RlKS4gVGV4dG8vw5cgPSB0b2tlbiBkZSBhenVsIGRlIHBhcGVsXG4gICAgLy8gKCRuYXZiYXItbXktc3VibWlzc2lvbnMtaWNvbi1jb2xvciAjMTE0NUMyIGxpZ2h0IC8gIzVDOEVGMCBkYXJrKTsgZnVuZG8gZVxuICAgIC8vIGJvcmRhIGVtIGF6dWwgY2xhcm8gKFRhaWx3aW5kIGJsdWUtNTAvMjAwKSBubyBsaWdodCBlIHRpbnRhIGF6dWwgbm8gZGFyay5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYmZkYmZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZmNmZmO1xuICAgIGNvbG9yOiAkbmF2YmFyLW15LXN1Ym1pc3Npb25zLWljb24tY29sb3I7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIC52dGUtY2hpcC1yZW1vdmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEwMG1zIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMTAwbXMgZWFzZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3LCA2OSwgMTk0LCAwLjE0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi52dGUtcmVhZG9ubHkgLnZ0ZS1jaGlwLXJlbW92ZSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLy8gRGVzdGFxdWUgZG8gUFJFVklFVzogZnVuZG8gYXp1bCBjbGFybyBhdHLDoXMgZGUgY2FkYSB2YXJpw6F2ZWwgasOhIHN1YnN0aXR1w61kYVxuLy8gKGdlcmFkbyBwb3IgSlMgbm8gZWRpdG9yIOKGkiBnbG9iYWwpLiBTZW0gYm9yZGE7IHPDsyByZWFsY2UgZG8gdGV4dG8uXG4udnRlLXByZXZpZXctdmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZmMGZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBwYWRkaW5nOiAwIDJweDtcbn1cbi5kYXJrLXRoZW1lIC52dGUtcHJldmlldy12YXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTIsIDE0MiwgMjQwLCAwLjMwKTtcbn1cblxuLmRhcmstdGhlbWUgLnZ0ZS1jaGlwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDkyLCAxNDIsIDI0MCwgMC4yMik7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDkyLCAxNDIsIDI0MCwgMC41NSk7XG4gICAgY29sb3I6ICRuYXZiYXItbXktc3VibWlzc2lvbnMtaWNvbi1jb2xvci1kYXJrO1xuICAgIC52dGUtY2hpcC1yZW1vdmU6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDkyLCAxNDIsIDI0MCwgMC4zMCk7IH1cbn1cblxuLm1lbnUtb3B0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC5kaXNhYmxlZC1idXR0b24ge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBtYXQtaWNvbiB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICAgIH1cbiAgICAubWF0LW1lbnUtaXRlbSB7XG4gICAgICAgIG1hcmdpbjogMnB4IDVweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuXG4vLyBNZW51IGRlIFZJU8ODTyBkZSBwZXJmaWwgKHBhcGVyLWluZm8pOiBvIGl0ZW0gVklHRU5URSBhcGFyZWNlIFwic2VsZWNpb25hZG9cIiBlXG4vLyBmaWNhIE7Dg08gY2xpY8OhdmVsIChgW2Rpc2FibGVkXWAgbm8gdGVtcGxhdGUpLiBEZXMtZXNtYWVjZSBvIGRpbSBkbyBkaXNhYmxlZCBlXG4vLyBhcGxpY2EgbyByZWFsY2UgZG8gaXRlbSBhdHVhbC5cbi8vIFNFTSBgOjpuZy1kZWVwYDogbyBwYWluZWwgZG8gbWF0LW1lbnUgdml2ZSBubyBPVkVSTEFZIChuw612ZWwgYm9keSksIGZvcmEgZGVcbi8vIHF1YWxxdWVyIGNvbXBvbmVudGUsIGVudMOjbyBwcmVjaXNhIGRlIHJlZ3JhIEdMT0JBTCBwbGFuYS4gRGVudHJvIGRlIDo6bmctZGVlcCxcbi8vIG8gc3R5bGVzLmNzcyBnbG9iYWwgZW1pdGlhIGA6Om5nLWRlZXAgLnZpZXctcHJvZmlsZS1tZW514oCmYCAocHNldWRvIGludsOhbGlkbyDihpJcbi8vIHJlZ3JhIGRlc2NhcnRhZGEgcGVsbyBicm93c2VyKSBlIG8gcmVhbGNlIHPDsyBhcGFyZWNpYSBxdWFuZG8gYWxndW0gY29tcG9uZW50ZVxuLy8gcXVlIGltcG9ydGEgZXN0ZSBhcnF1aXZvIGVzdGF2YSBuYSB0ZWxhIOKAlCBvIHF1ZSBOw4NPIG9jb3JyZSBuYSBww6FnaW5hIGRvIGNoYWlyLlxuLy8gT3DDp8O1ZXMgU0VNIMOtY29uZSBsw61kZXIuIFJlc2VydmFtIDI4cHggw6AgZXNxdWVyZGEgcC8gbyBjaGVjayBkbyBpdGVtIGF0dWFsXG4vLyAobWVzbWEgbcOpdHJpY2EgZG8gYGFwcC1qZW1zLXNlbGVjdGAgLyBgLmplbXMzLXNlbGVjdC1wYW5lbGApLCBlbnTDo28gbyByw7N0dWxvXG4vLyBOw4NPIGRlc2xvY2EgcXVhbmRvIG8gY2hlY2sgYXBhcmVjZS9zb21lLiBgcG9zaXRpb246IHJlbGF0aXZlYCBhbmNvcmEgb1xuLy8gYDo6YmVmb3JlYC4gUmVncmFzIFBMQU5BUyAoc2VtIGA6Om5nLWRlZXBgKTogbyBwYWluZWwgdml2ZSBubyBvdmVybGF5IChib2R5KSBlXG4vLyBvIGJsb2NvIGA6Om5nLWRlZXBgIGFjaW1hIMOpIGRyb3BhZG8gbmEgcMOhZ2luYSBkbyBjaGFpciAocHNldWRvIGdsb2JhbCBpbnbDoWxpZG8pLlxuLy8gUHJlZml4byBgLm1hdC1tZW51LXBhbmVsYCDihpIgc3BlY2lmaWNpdHkgKDAsNCwwKSBwLyBWRU5DRVIgYSByZWdyYSBiYXNlIGRvc1xuLy8gaXRlbnMgZW0gYF9jb2xvci1zY2hlbWUuc2Nzc2AgKGAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbVxuLy8geyBwYWRkaW5nOiAwIDhweCAhaW1wb3J0YW50IH1gLCAoMCwzLDApKSDigJQgc2VtIGlzdG8sIG8gcGFkZGluZy1sZWZ0IGRlIDhweCBkYVxuLy8gYmFzZSBnYW5oYSBwb3Igb3JkZW0gZGUgc291cmNlIGUgbyByw7N0dWxvIGNvbGEgbm8gY2hlY2sgKGFjYXZhbGFtZW50bykuXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudS52aWV3LXByb2ZpbGUtbWVudSAubWF0LW1lbnUtaXRlbSxcbi50cGMtdXNlci1tZW51LnZpZXctcHJvZmlsZS1tZW51IC5tYXQtbWVudS1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI4cHggIWltcG9ydGFudDtcbn1cbi8vIEl0ZW0gQVRVQUw6IG1hcmNhZG8gU8OTIHBlbG8gQ0hFQ0sgw6AgRVNRVUVSREEgKGZvbnRlIMO6bmljYTogYGplbXMtc2VsZWN0ZWQtY2hlY2tgLFxuLy8gbyBtZXNtbyBkbyBzZWxlY3QgZ2xvYmFsKS4gRm9yYSBvIGNoZWNrLCBjb21wb3J0YS1zZSBjb21vIG9zIGRlbWFpcyBpdGVucyDigJRcbi8vIGludGVyYXRpdm86IHJlYWzDp2Egbm8gOmhvdmVyIGUgbW9zdHJhIGEgbcOjb3ppbmhhIChjbGljYXIgbmVsZSDDqSBuby1vcCkuIE7Dg08gZm9yw6dhXG4vLyBtYWlzIGN1cnNvci9vcGFjaXR5L2NvbG9yOiBlcmFtIHJlbWVuZG9zIGRvIGBbZGlzYWJsZWRdYCAoasOhIHJlbW92aWRvKSwgZSBvXG4vLyBgY29sb3IgIWltcG9ydGFudGAgYWluZGEgYXRyYXBhbGhhcmlhIG8gdGV4dG8gYnJhbmNvIGRvIGhvdmVyIG5vIG1hY09TLlxuLnRwYy11c2VyLW1lbnUudmlldy1wcm9maWxlLW1lbnUgLm1hdC1tZW51LWl0ZW0uaXMtY3VycmVudDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBqZW1zLXNlbGVjdGVkLWNoZWNrKCRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yKTtcbn1cbi5kYXJrLXRoZW1lIC50cGMtdXNlci1tZW51LnZpZXctcHJvZmlsZS1tZW51IC5tYXQtbWVudS1pdGVtLmlzLWN1cnJlbnQ6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyazsgICAvLyBzw7MgYSBjb3IgbXVkYSBubyBkYXJrXG59XG5cbi8vIOKVkOKVkOKVkCBIb3ZlciBlc3RpbG8gbWFjT1Mg4oCUIHPDsyBiZyBkZSByb3dzIGVzcGVjw61maWNvcyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbi8vIEl0ZW0gaG92ZXIgZ2VyYWwgKGJhY2tncm91bmQgQWNjZW50Q29sb3IgKyB0ZXh0by/DrWNvbmUvY2hlY2sgYnJhbmNvcykgZm9pXG4vLyBjb25zb2xpZGFkbyBubyBibG9jbyBbTUFDLVNUWUxFXSBhYmFpeG8uIEFxdWkgU8OTIGZpY2FtIG9zIG1lbnVzIGVzcGVjaWFpc1xuLy8gcXVlIHByZWNpc2FtIGJnIGFjY2VudCBTRU0gdG9jYXIgbm8gY29udGXDumRvIChjaGlwcyBjb20gaWRlbnRpZGFkZSB2aXN1YWxcbi8vIHByw7NwcmlhKTogc3RhdHVzLW1lbnUtcm93IGUgZ3JvdXAtbWVudS1yb3cgKExpc3RhIGRlIFN1Ym1pc3PDtWVzKS5cbjpyb290W2RhdGEtb3M9XCJtYWNcIl0ge1xuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5zdGF0dXMtbWVudS1yb3c6aG92ZXIsXG4gIC5qZW1zLXBvcG92ZXItcGFuZWwgLnN0YXR1cy1tZW51LXJvdy5hY3RpdmUsXG4gIC5qZW1zLXBvcG92ZXItcGFuZWwgLmdyb3VwLW1lbnUtcm93OmhvdmVyLFxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdy5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICB9XG4gIC8vIFwiKyBOb3ZvIEdydXBvXCIg4oCUIG7Do28gw6kgY2hpcCwgdGVtIGBjb2xvcmAgcGluYWRvIHBlbG8gYC5ncm91cC1jaGlwLW1lbnUtYmFzaWNgXG4gIC8vICgwLDEsMCArIG5nY29udGVudCk7IGZvcsOnYSBicmFuY28gcHJhIGNvbnRyYXN0YXIgY29tIG8gZnVuZG8gYXp1bCBkbyByb3cuXG4gIC5qZW1zLXBvcG92ZXItcGFuZWwgLmdyb3VwLW1lbnUtcm93OmhvdmVyIC5ncm91cC1jaGlwLW1lbnUtYWRkLWdyb3VwLFxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdy5hY3RpdmUgLmdyb3VwLWNoaXAtbWVudS1hZGQtZ3JvdXAsXG4gIC5qZW1zLXBvcG92ZXItcGFuZWwgLmdyb3VwLW1lbnUtcm93OmhvdmVyIC5ncm91cC1jaGlwLW1lbnUtYWRkLWdyb3VwIC5pY29uLFxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdy5hY3RpdmUgLmdyb3VwLWNoaXAtbWVudS1hZGQtZ3JvdXAgLmljb24ge1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICB9XG59XG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5kYXJrLXRoZW1lIHtcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuc3RhdHVzLW1lbnUtcm93OmhvdmVyLFxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5zdGF0dXMtbWVudS1yb3cuYWN0aXZlLFxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdzpob3ZlcixcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuZ3JvdXAtbWVudS1yb3cuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICB9XG4gIC5qZW1zLXBvcG92ZXItcGFuZWwgLmdyb3VwLW1lbnUtcm93OmhvdmVyIC5ncm91cC1jaGlwLW1lbnUtYWRkLWdyb3VwLFxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdy5hY3RpdmUgLmdyb3VwLWNoaXAtbWVudS1hZGQtZ3JvdXAsXG4gIC5qZW1zLXBvcG92ZXItcGFuZWwgLmdyb3VwLW1lbnUtcm93OmhvdmVyIC5ncm91cC1jaGlwLW1lbnUtYWRkLWdyb3VwIC5pY29uLFxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdy5hY3RpdmUgLmdyb3VwLWNoaXAtbWVudS1hZGQtZ3JvdXAgLmljb24ge1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIOKVkOKVkOKVkCBBbmltYcOnw6NvIGRlIGFiZXJ0dXJhIGRvIHBvcG92ZXIg4oCUIHBvciBPUyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbi8vIE1hYzogaW5zdGFudMOibmVvIChwYWRyw6NvIGRvIE5TTWVudSDigJQgbmFkYSBhcXVpKS5cbi8vIExpbnV4L0dUSy9LREUgKGUgZGVmYXVsdCBgb3RoZXJgKTogZmFkZSArIHNjYWxlICgwLjjihpIxLjApLCAxMjBtcyBlYXNlLW91dC5cbi8vICAgRXN0aWxvIHRyYWRpY2lvbmFsIGRvIEdOT01FL0dUSzQuIE9yaWdlbSBkbyBzY2FsZSByZXNwZWl0YSBgLm9wZW5zLXVwYC5cbi8vIFdpbmRvd3M6IGZhZGUgKyBzbGlkZSB2ZXJ0aWNhbCAofjhweCwgZGlyZcOnw6NvIG9wb3N0YSDDoCDDom5jb3JhKSwgMTgwbXNcbi8vICAgZWFzZS1vdXQuIEFsaW5oYSBhbyBGbHVlbnQgRGVzaWduIHJlYWwgKDEwLzExKSDigJQgbWVudXMgZG8gV2luZG93cyBuw6NvXG4vLyAgIGZhemVtIFwicGVyc2lhbmFcIiwgZmF6ZW0gZXNzZSBmYWRlK3NsaWRlIHN1dGlsLiBTZW0gZWZlaXRvIGFjcnlsaWMgbm9cbi8vICAgZnVuZG8g4oCUIG8gcGFpbmVsIHBlcm1hbmVjZSBjb20gbyBtZXNtbyBiZyBkbyByZXN0byBkYSBVSS5cbi8vIFJlZ3JhIGVtIFNDU1MgR0xPQkFMIChuw6NvIHBhc3NhIHBvciB2aWV3IGVuY2Fwc3VsYXRpb24pLlxuOnJvb3Q6bm90KFtkYXRhLW9zPVwibWFjXCJdKTpub3QoW2RhdGEtb3M9XCJ3aW5kb3dzXCJdKSAuamVtcy1wb3BvdmVyLXBhbmVsIHtcbiAgYW5pbWF0aW9uOiBqZW1zLXBvcG92ZXItaW4gMTIwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG59XG5Aa2V5ZnJhbWVzIGplbXMtcG9wb3Zlci1pbiB7XG4gIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7IH1cbiAgdG8gICB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbn1cblxuOnJvb3RbZGF0YS1vcz1cIndpbmRvd3NcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCB7XG4gIGFuaW1hdGlvbjogamVtcy1wb3BvdmVyLWluLXdpbiAxODBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMCwgMSk7XG59XG46cm9vdFtkYXRhLW9zPVwid2luZG93c1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsLm9wZW5zLXVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGplbXMtcG9wb3Zlci1pbi13aW4tdXA7XG59XG5Aa2V5ZnJhbWVzIGplbXMtcG9wb3Zlci1pbi13aW4ge1xuICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpOyB9XG4gIHRvICAgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cbkBrZXlmcmFtZXMgamVtcy1wb3BvdmVyLWluLXdpbi11cCB7XG4gIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTsgfVxuICB0byAgIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG5cbi8vIEFjZXNzaWJpbGlkYWRlIOKAlCBxdWVtIHByZWZlcmUgbW92aW1lbnRvIHJlZHV6aWRvLCBzZW0gYW5pbWHDp8OjbyBlbSBORU5IVU0gU08uXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuamVtcy1wb3BvdmVyLXBhbmVsIHsgYW5pbWF0aW9uOiBub25lOyB9XG59XG5cblxuLy8g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4vLyBUb2tlbnMgZGUgUkVBTENFIERFIEhPVkVSIChiZyArIGZnKSwgZGVyaXZhZG9zIGRvIE9TIG51bSBsdWdhciBzw7MuIEEgcmVncmFcbi8vIFwibWFjIOKGkiBhY2NlbnQgZG8gc2lzdGVtYSAoYXp1bCkgY29tIHRleHRvIGJyYW5jbzsgZGVtYWlzIE9TIOKGkiBjaW56YSBuZXV0cm8gZG9cbi8vIG1lbnVcIiBtb3JhIEFRVUksIG7Do28gZXNwYWxoYWRhIHBvciBzZWxldG9yLiBDb21wb25lbnRlcyBmYXplbSwgbm8gaG92ZXI6XG4vLyAgIGJhY2tncm91bmQ6IHZhcigtLWplbXMtaG92ZXItYmcpOyAgY29sb3I6IHZhcigtLWplbXMtaG92ZXItZmcpO1xuLy8gZSBoZXJkYW0gbyBjb21wb3J0YW1lbnRvIHBvciBPUyBhdXRvbWF0aWNhbWVudGUgKGV4LjogYC5jb2x1bW5zLW1lbnUtYnV0dG9uYCkuXG4vLyBgLS1qZW1zLWhvdmVyLWZnYCBndWFyZGEgYSBjb3IgTk9STUFMIGRvIHRleHRvIG5vIG7Do28tbWFjIChuw6NvIGBpbmhlcml0YDogY29tb1xuLy8gY3VzdG9tIHByb3BlcnR5LCBgaW5oZXJpdGAgdmlyYXJpYSBrZXl3b3JkIGUgbsOjbyB1bSB2YWxvciB1c8OhdmVsIGVtIHZhcigpKS5cbi8vIElNUE9SVEFOVEU6IGEgY2xhc3NlIGRlIHRlbWEgKGAuZGFyay10aGVtZWApIHZpdmUgbm8gYDxib2R5PmAsIGVudMOjbyBlbGFcbi8vIHJlZGVjbGFyYSBhIHZhcmnDoXZlbCBBQkFJWE8gZG8gYDpyb290W2RhdGEtb3M9XCJtYWNcIl1gIChubyBgPGh0bWw+YCkgZSB2ZW5jZXJpYVxuLy8gcG9yIGhlcmFuw6dhIGRlIERPTSBubyBtYWMtZGFyayAoY2luemEgbm8gbHVnYXIgZG8gYWNjZW50KS4gUG9yIGlzc28gbyBvdmVycmlkZVxuLy8gZGFyayDDqSBlc2NvcGFkbyBhIGA6cm9vdDpub3QoW2RhdGEtb3M9XCJtYWNcIl0pYCDigJQgbm8gbWFjIChsaWdodCBPVSBkYXJrKSBzw7MgdmFsZVxuLy8gbyBgOnJvb3RbZGF0YS1vcz1cIm1hY1wiXWAgZG8gYDxodG1sPmAsIGUgbyBBY2NlbnRDb2xvciBqw6Egw6kgdGhlbWUtYXdhcmUgcGVsbyBPUy5cbjpyb290IHtcbiAgLS1qZW1zLWhvdmVyLWJnOiAjeyRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmR9O1xuICAtLWplbXMtaG92ZXItZmc6ICN7JHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3J9O1xufVxuOnJvb3Q6bm90KFtkYXRhLW9zPVwibWFjXCJdKSAuZGFyay10aGVtZSB7XG4gIC0tamVtcy1ob3Zlci1iZzogI3skc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmt9O1xuICAtLWplbXMtaG92ZXItZmc6ICN7JHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFya307XG59XG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIHtcbiAgLS1qZW1zLWhvdmVyLWJnOiBBY2NlbnRDb2xvcjtcbiAgLS1qZW1zLWhvdmVyLWZnOiAjZmZmO1xufVxuXG4vLyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbi8vIFtNQUMtU1RZTEUg4oCUIFJFTU9WRVIgUFJBIFJFVkVSVEVSXSBFc3RpbG8gbWFjT1MtbGlrZSBub3MgbWVudXMvZHJvcGRvd25zLlxuLy8gR2F0ZSDDum5pY286IGA6cm9vdFtkYXRhLW9zPVwibWFjXCJdYCAoY2FyaW1iYWRvIHBvciBgYmluZE9zQ2xhc3NUb1Jvb3QoKWAgZW1cbi8vIGBkZXZpY2UudHNgLCBjaGFtYWRvIG5vIGJvb3RzdHJhcCBwb3IgYEJhc2VDb21wb25lbnRgKS4gVHJvY2FyIHZpYSBEZXZUb29sczpcbi8vICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXQub3MgPSAnd2luZG93cycgICAob3UgJ2xpbnV4Jy8nbWFjJylcbi8vXG4vLyBFc2NvcG86IGl0ZW5zIGRlIFRPREFTIGFzIGZhbcOtbGlhcyBkZSBkcm9wZG93biBKRU1TMyAoZMOpYml0byBjb25oZWNpZG8g4oCUXG4vLyB2ZXIgbWVtw7NyaWEgYHByb2plY3RfZGVzaWduX3N5c3RlbV9taWdyYXRpb25fZGVidGApOlxuLy8gICDigKIgcG9wb3ZlciBpdGVtcyAobWF0LW1lbnUtaXRlbSwgW3JvbGU9bWVudWl0ZW1dLCBqZW1zLXNlbGVjdC1vcHRpb24pXG4vLyAgIOKAoiBtYXQtc2VsZWN0IC8gbWF0LWF1dG9jb21wbGV0ZSAoLm1hdC1vcHRpb24pXG4vL1xuLy8gQ29tcG9ydGFtZW50bzpcbi8vICAg4oCiIEZvbnQgc21vb3RoaW5nIHN1YnBpeGVsIChtYXRjaGluZyBzdGVtcyBtYWlzIGdyb3Nzb3MgZG8gc2lzdGVtYSlcbi8vICAg4oCiIEhvdmVyL2FjdGl2ZSBiZyA9IGBBY2NlbnRDb2xvcmAgKENTUyBDb2xvciBMNSwgcmVzb2x2ZSBwcm8gYWNjZW50IE9TKVxuLy8gICDigKIgVGV4dG8vw61jb25lL2NoZWNrIHBpbnRhbSBicmFuY28gcHJhIGNvbnRyYXN0ZVxuLy8g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG5cbi8vIEZvbnQgc21vb3RoaW5nOiBtYXRjaGluZyBvIHJlbmRlcmluZyBuYXRpdm8gZG9zIG1lbnVzIG1hY09TIChzdWJwaXhlbCkuXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgLm1hdC1tZW51LWl0ZW0sXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgW3JvbGU9XCJtZW51aXRlbVwiXSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAuamVtcy1zZWxlY3Qtb3B0aW9uLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LXNlbGVjdC1wYW5lbCAubWF0LW9wdGlvbixcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1hdXRvY29tcGxldGUtcGFuZWwgLm1hdC1vcHRpb24ge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGF1dG87XG59XG5cbi8vIEhvdmVyL2FjdGl2ZSBiZyArIHRleHRvL8OtY29uZSBicmFuY29zLiBgOnJvb3RbZGF0YS1vcz1cIm1hY1wiXWAgY29tcG91bmQgY29tXG4vLyBkdXBsaWNhw6fDo28gZGUgc2VsZXRvcmVzIGJhc2UgKGAubWF0LW9wdGlvbi5tYXQtb3B0aW9uYCwgYC5qZW1zLXNlbGVjdC1vcHRpb25cbi8vIC5qZW1zLXNlbGVjdC1vcHRpb25gKSBzb2JlIHNwZWNpZmljaXR5IHByYSBiYXRlciBhcyByZWdyYXMgY2hhaXItc3R5bGVcbi8vIGV4aXN0ZW50ZXMgKGBfY29sb3Itc2NoZW1lLnNjc3NgIDAsNSwwIGUgMCw2LDApIHNlbSBgIWltcG9ydGFudGAgYWN1bXVsYXJcbi8vIG1haXMgZnVuZG8uIENvbWJpbmEgbGlnaHQrZGFyayBhdXRvbWF0aWNhbWVudGUgKEFjY2VudENvbG9yL0FjY2VudENvbG9yVGV4dFxuLy8gasOhIHPDo28gdGhlbWUtYXdhcmUgcGVsbyBPUykuXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgLm1hdC1tZW51LWl0ZW0ubWF0LW1lbnUtaXRlbTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgW3JvbGU9XCJtZW51aXRlbVwiXTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgLmplbXMtc2VsZWN0LW9wdGlvbi5qZW1zLXNlbGVjdC1vcHRpb246aG92ZXIsXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgLmplbXMtc2VsZWN0LW9wdGlvbi5qZW1zLXNlbGVjdC1vcHRpb24uYWN0aXZlLFxuLy8gYC5jZGsta2V5Ym9hcmQtZm9jdXNlZGAgKG7Do28gYC5tYXQtYWN0aXZlYCkgcGFyYSBvIHJlYWxjZSBwb3IgVEVDTEFETzogYC5tYXQtYWN0aXZlYCDDqSBvXG4vLyBtYXJjYWRvciBkbyBMaXN0S2V5TWFuYWdlciBxdWUgbyBDREsgcMO1ZSBuYSBQUklNRUlSQSBvcMOnw6NvIGFvIEFCUklSIG8gcGFpbmVsIChzZW0gc2VsZcOnw6NvKSxcbi8vIGVudMOjbyBwaW50w6EtbG8gY29tIEFjY2VudENvbG9yIGRhdmEgbyBmdW5kbyBhY2NlbnQgaW5kZXNlamFkbyBsb2dvIG5vIG9wZW4uIEFjY2VudCBzw7Mgbm9cbi8vIG1vdXNlICg6aG92ZXIpIGUgbm8gZm9jbyBwb3IgdGVjbGFkbyDigJQgaWd1YWwgw6AgbmV1dHJhbGl6YcOnw6NvIGVtIF9jb2xvci1zY2hlbWUuc2Nzcy5cbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1zZWxlY3QtcGFuZWwgLm1hdC1vcHRpb24ubWF0LW9wdGlvbjpob3Zlcjpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LXNlbGVjdC1wYW5lbCAubWF0LW9wdGlvbi5tYXQtb3B0aW9uLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCksXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1vcHRpb246aG92ZXI6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1hdXRvY29tcGxldGUtcGFuZWwgLm1hdC1vcHRpb24ubWF0LW9wdGlvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQWNjZW50Q29sb3IgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLy8gQ29yIGJyYW5jYSBjb2JyZSBURVhULUNPTlRFTlQgKyDDrWNvbmVzICsgc3BhbiBpbnRlcm5vIGAubWF0LW9wdGlvbi10ZXh0YC5cbi8vIChvIGNhc2NhZGUgZG8gY29sb3IgZG8gaXRlbSBwb2RlIHNlciBwZXJkaWRvIGVtIHNwYW5zIGNvbSBjb2xvciBwcsOzcHJpbztcbi8vIGFxdWkgZ2FyYW50aW1vcyBleHBsw61jaXRvLilcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAubWF0LW1lbnUtaXRlbTpob3ZlciAubWF0LWljb24sXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgW3JvbGU9XCJtZW51aXRlbVwiXTpob3ZlciAubWF0LWljb24sXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgLmplbXMtc2VsZWN0LW9wdGlvbjpob3ZlciAubWF0LWljb24sXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgLmplbXMtc2VsZWN0LW9wdGlvbi5hY3RpdmUgLm1hdC1pY29uLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5qZW1zLXNlbGVjdC1vcHRpb246aG92ZXIgLm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQsXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgLmplbXMtc2VsZWN0LW9wdGlvbi5hY3RpdmUgLm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQsXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtc2VsZWN0LXBhbmVsOm5vdCguc3RhdHVzLWNoaXAtc2VsZWN0LXBhbmVsKSAubWF0LW9wdGlvbjpob3ZlciAubWF0LWljb24sXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtc2VsZWN0LXBhbmVsOm5vdCguc3RhdHVzLWNoaXAtc2VsZWN0LXBhbmVsKSAubWF0LW9wdGlvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWljb24sXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIC5tYXQtb3B0aW9uOmhvdmVyIC5tYXQtaWNvbixcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1hdXRvY29tcGxldGUtcGFuZWwgLm1hdC1vcHRpb24uY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1pY29uLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LXNlbGVjdC1wYW5lbDpub3QoLnN0YXR1cy1jaGlwLXNlbGVjdC1wYW5lbCkgLm1hdC1vcHRpb246aG92ZXIgLm1hdC1vcHRpb24tdGV4dCxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1zZWxlY3QtcGFuZWw6bm90KC5zdGF0dXMtY2hpcC1zZWxlY3QtcGFuZWwpIC5tYXQtb3B0aW9uLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtb3B0aW9uLXRleHQsXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIC5tYXQtb3B0aW9uOmhvdmVyIC5tYXQtb3B0aW9uLXRleHQsXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIC5tYXQtb3B0aW9uLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtb3B0aW9uLXRleHQge1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4vLyBDaGVjayBkYSBvcMOnw6NvIHNlbGVjaW9uYWRhIChgOjpiZWZvcmVgIGRvIG1peGluIGBqZW1zLXNlbGVjdGVkLWNoZWNrYCwgQ1NTXG4vLyBtYXNrKS4gVXNhIGBiYWNrZ3JvdW5kLWNvbG9yYCBjb21vIGZpbGwgKE7Dg08gYGNvbG9yYCkuIENvYnJlOlxuLy8gICDigKIgYXBwLWplbXMtc2VsZWN0OiBgLmplbXMtc2VsZWN0LW9wdGlvbi5zZWxlY3RlZDo6YmVmb3JlYFxuLy8gICDigKIgbWF0LXNlbGVjdDogYC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDo6YmVmb3JlYFxuLy8gICDigKIgdmlldy1wcm9maWxlLW1lbnUgKGFwcC1wb3BvdmVyIGNvbSBpcy1jdXJyZW50KTogYC5tYXQtbWVudS1pdGVtLmlzLWN1cnJlbnQ6OmJlZm9yZWBcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAuamVtcy1zZWxlY3Qtb3B0aW9uLnNlbGVjdGVkOmhvdmVyOjpiZWZvcmUsXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgLmplbXMtc2VsZWN0LW9wdGlvbi5zZWxlY3RlZC5hY3RpdmU6OmJlZm9yZSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAuamVtcy1zZWxlY3Qtb3B0aW9uOmhvdmVyOjpiZWZvcmUsXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgLmplbXMtc2VsZWN0LW9wdGlvbi5hY3RpdmU6OmJlZm9yZSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAubWF0LW1lbnUtaXRlbS5pcy1jdXJyZW50OmhvdmVyOjpiZWZvcmUsXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtc2VsZWN0LXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpob3Zlcjo6YmVmb3JlLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LXNlbGVjdC1wYW5lbCAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQubWF0LWFjdGl2ZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuIiwiQGltcG9ydCAnY29sb3JzJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbkBtaXhpbiBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AgKCRjb21wb25lbnQsICRzZWxlY3RvciwgJHByb3AsICRsaWdodFZhbHVlLCAkZGFya1ZhbHVlKSB7XG4gICAgLmxpZ2h0LXRoZW1lIHtcbiAgICAgICN7JGNvbXBvbmVudH0gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgI3skcHJvcH06ICRsaWdodFZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICAuZGFyay10aGVtZSB7XG4gICAgICAjeyRjb21wb25lbnR9ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgI3skcHJvcH06ICRkYXJrVmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbi8vIENoZWNrIFwic2VsZWNpb25hZG9cIiBhbyBlc3RpbG8gU0YgU3ltYm9scyAobWFjT1MpOiBxdWFkcmFkbyAxNMOXMTQgYW5jb3JhZG8gw6Bcbi8vIEVTUVVFUkRBIGRhIG9ww6fDo28gKGFic29sdXRlICsgdmVydGljYWwtY2VudGVyKSwgZGVzZW5oYWRvIHBvciBTVkctbWFzayBlXG4vLyBwaW50YWRvIHZpYSBgYmFja2dyb3VuZC1jb2xvcmAgKHRoZW1lLWF3YXJlIHBlbGEgY29yIHBhc3NhZGEpLiBGb250ZSDDmk5JQ0EgZG9cbi8vIGNoZWNrIHVzYWRvIG5vIGBhcHAtamVtcy1zZWxlY3RgLCBubyBmaWx0cm8gYC5qZW1zMy1zZWxlY3QtcGFuZWxgIGUgbm8gbWVudVxuLy8gc2VsZXRvciBkZSBwZXJmaWwgKHBhcGVyLWluZm8pLiBBIG9ww6fDo28gcXVlIHJlY2ViZSBwcmVjaXNhIGRlXG4vLyBgcG9zaXRpb246IHJlbGF0aXZlYCBlIHJlc2VydmFyIH4yOHB4IGRlIGBwYWRkaW5nLWxlZnRgLiBObyBkYXJrLCBiYXN0YVxuLy8gc29icmVzY3JldmVyIGBiYWNrZ3JvdW5kLWNvbG9yYCAoYSBnZW9tZXRyaWEvbcOhc2NhcmEgbsOjbyBtdWRhbSkuXG5AbWl4aW4gamVtcy1zZWxlY3RlZC1jaGVjaygkY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkaW5zZXQ6IDhweCkge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6ICRpbnNldDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAtd2Via2l0LW1hc2s6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInIGZpbGw9J25vbmUnPjxwYXRoIGQ9J00yLjUgNi41IEw1IDkgTDkuNSAzLjUnIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLz48L3N2Zz5cIikgbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW47XG4gIG1hc2s6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInIGZpbGw9J25vbmUnPjxwYXRoIGQ9J00yLjUgNi41IEw1IDkgTDkuNSAzLjUnIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLz48L3N2Zz5cIikgbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW47XG59XG4iLCJhcHAtY3VzdG9tLWZvcm0ge1xuICBhcHAtbXVsdGlsaW5lLXRleHQtaW5wdXQge1xuICAgIGFwcC1jdXN0b20tZm9ybSB7XG4gICAgICBtYXQtZm9ybS1maWVsZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMi41ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXBwLXRhYmxlLWZvcm0tZmllbGRzLWNvbnRhaW5lciB7XG4gICAgYXBwLWN1c3RvbS1mb3JtIHtcbiAgICAgIG1hdC1mb3JtLWZpZWxkIHtcbiAgICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIsXG4gICAgICAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuZXZlbnQtYWRtaW4geyAgXG4gIGgzIC5zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIH1cblxuICBoNCAuc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIH1cblxuICBoNSAuc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4xNXJlbTtcbiAgICBmb250LXdlaWdodDogMjAwO1xuICB9XG5cbiAgaDYgLnN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBmb250LXdlaWdodDogMjAwO1xuICB9XG59IiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuLm1hdC1zbmFjay1iYXItY29udGFpbmVyIHtcblxuICAmLmVycm9yLFxuICAmLm5vdGlmaWNhdGlvbixcbiAgJi53YXJuaW5nIHtcbiAgICBtYXJnaW4tbGVmdDogMjRweCArICRzaWRlbmF2LWFkbWluLW1pbmktd2lkdGg7XG4gIH1cblxuICAmLmVycm9yIHtcbiAgICBiYWNrZ3JvdW5kOiAkZXJyb3ItaW52YWxpZC1jb2xvcjtcbiAgICBjb2xvcjogJHNlY29uZGFyeS10aGVtZS1jb2xvci1saWdodGVyO1xuICB9XG5cbiAgJi5ub3RpZmljYXRpb24ge1xuICAgIGJhY2tncm91bmQ6ICRub3RpZmljYXRpb24tYmFja2dyb3VuZC1jb2xvcjtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1jb2xvcjtcbiAgfVxuXG4gICYud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmZTI4OTtcbiAgICBjb2xvcjogIzMzMzMzMztcbiAgfVxufSIsIi5tYXQtZmFiIHtcbiAgLm1hdC1idXR0b24td3JhcHBlciB7XG4gICAgICAubWF0LWljb24ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogaW5pdGlhbDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG4gIH1cbn1cbiIsIi5wYWdpbmF0b3ItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxMHB4IDA7XG5cbiAgbWF0LXBhZ2luYXRvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuYm90dG9tIHtcbiAgICAgIHRvcDogdW5zZXQ7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuXG4gICAgLm1hdC1wYWdpbmF0b3Itb3V0ZXItY29udGFpbmVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBib3gtc2hhZG93OiAwIDJweCAxcHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMXB4IDFweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG5cbiAgICAgIC5tYXQtcGFnaW5hdG9yLWNvbnRhaW5lciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbi5zaG93LWFsbC1zdWJtaXNzaW9ucyB7XG4gIC5tYXQtY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuXG4gICAgLnBhcGVyLWluZm8ge1xuICAgICAgLm1haW4ge1xuICAgICAgICA+IC5jb2x1bW5zIHtcbiAgICAgICAgICBtYXJnaW46IC0wLjc1cmVtIC0wLjc1cmVtIDAgLTAuNzVyZW07XG5cbiAgICAgICAgICAudGl0bGUtcm93IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaDIge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnBhZ2VicmVhayB7XG4gICAgYnJlYWstYWZ0ZXI6IGFsd2F5cztcbiAgfVxufVxuXG4uc2hvdy1hbGwtc3VibWlzc2lvbnMtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS10aGVtZS1jb2xvcjtcbiAgcGFkZGluZzogMWVtO1xufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ2hlYWRlcic7XG5AaW1wb3J0ICdjb2xvcnMnO1xuXG5tYXQtY2FyZCB7XG4gIC8vIGJveC1zaGFkb3c6IDAgNnB4IDVweCAtMXB4ICRibGFjay1iYWNrZ3JvdW5kLWFscGhhMSwgMCAtMXB4IDEwcHggMCAkYmxhY2stYmFja2dyb3VuZC1hbHBoYTEgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODZweCkge1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMTJweCAxMHB4IC0xcHggJGJsYWNrLWJhY2tncm91bmQtYWxwaGExLCAwIC0xcHggMjBweCAwICRibGFjay1iYWNrZ3JvdW5kLWFscGhhMTtcbiAgfVxuXG4gIC5tYXQtY2FyZC1oZWFkZXItdGV4dHtcbiAgICBtYXJnaW46IDAgNXB4O1xuICB9XG5cbiAgLy8gU3R5bGUgZXZlbnRzIGNhcmRzXG4gICYuZXZlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmOm5vdChbY2xhc3MqPScjeyRtYXQtZWxldmF0aW9uLXByZWZpeH0nXSl7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgIC5ob3Jpem9udGFsLWFsaWdue1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB9XG5cbiAgICAgIC5pbmZvcm1hdGlvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAud2FybmluZyB7XG4gICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDAgMC41cmVtIDJyZW07XG4gICAgICB9XG4gICAgICAud2FybmluZyArIC5pbmZvcm1hdGlvbiB7XG4gICAgICAgIHdpZHRoOiA2MCU7IC8qIG92ZXJyaWRlICovXG4gICAgICB9XG5cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHRhYmxldC1icmVha3VwLXdpZHRoKXtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAuaW5mb3JtYXRpb257XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAud2FybmluZ3tcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZzogMXJlbSAycmVtIDAuNXJlbSAycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhvcml6b250YWwtYWxpZ24ge1xuICAgICAgICAgIGZsb2F0Om5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpsaW5rIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogaW5pdGlhbDtcbiAgICAgIH1cblxuICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogaW5pdGlhbDtcbiAgICAgIH1cblxuICAgICAgLndhcm5pbmctcHVibGljLWF0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRyYWNrLW5vdC1vcGVuLWNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHJlbTtcbiAgICAgICAgcGFkZGluZzogLjVyZW0gMXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAZXh0ZW5kIGg1O1xuICAgICAgfVxuICAgIH1cblxuICAgIG1hdC1jYXJkLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICB9XG5cbiAgICBtYXQtY2FyZC1zdWJ0aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgIH1cblxuICAgIC5mbG9hdC1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG4gICAgLmxlZnQtYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgfVxuICB9XG5cbiAgJi5zdWJjb25mZXJlbmNlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cblxuICAmLmFkbWluLWV2ZW50IHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG5cbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuXG4gICAgbWF0LWNhcmQtaGVhZGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYXQtY2FyZC1oZWFkZXItY29sb3I7XG4gICAgICBjb2xvcjogJHNpZGViYXItbGFiZWwtY29sb3I7XG5cbiAgICAgIEBleHRlbmQgaDI7XG4gICAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA4cHg7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogOHB4O1xuXG4gICAgICBwYWRkaW5nOiAwLjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcblxuICAgICAgLm1hdC1pY29uLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDFweDtcblxuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6YmxhY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbWF0LXNwaW5uZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIG1hdC1jYXJkLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgbWF0LWV4cGFuc2lvbi1wYW5lbCB7XG4gICAgICAgIG1hcmdpbjogMC41cmVtIDA7XG5cbiAgICAgICAgbWF0LWFjdGlvbi1yb3cge1xuICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBtYXQtY2FyZC1hY3Rpb25zIHtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIHRhYmxlIHtcblxuICAgICAgLm1hdC1mb290ZXItY2VsbCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICB9XG5cbiAgICAgIC5tYXQtaGVhZGVyLWNlbGwge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZXZlbnQtY2FyZC1saW5lLXNlcGFyYXRvcjtcbiAgICAgIH1cblxuICAgICAgLm1hdC1jZWxsIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGV2ZW50LWNhcmQtbGluZS1zZXBhcmF0b3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5iYXNlLWNhcmQge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuXG4gICAgbWF0LWNhcmQtaGVhZGVyIHtcbiAgICAgIEBleHRlbmQgaDI7XG4gICAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG5cbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDhweDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA4cHg7XG5cbiAgICAgIHBhZGRpbmc6IDAuMjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMHB4O1xuXG4gICAgICAuY2xvc2VkLWhlYWRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDhweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDhweDtcbiAgICAgIH1cblxuICAgICAgLm1hdC1pY29uLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDFweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG5cbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuXG4gICAgICAgIC5tYXQtaWNvbiB7XG4gICAgICAgICAgLy8gdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOmJsYWNrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG1hdC1zcGlubmVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBtYXQtY2FyZC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIFRpdGxlIHdpdGggSDMgcHJvcGVydGllc1xuLmNhcmQtdGl0bGUge1xuICBAZXh0ZW5kIGgzO1xuICBjb2xvcjogJHNpZGViYXItbGFiZWwtY29sb3I7XG59XG5cbi8vIFN1YnRpdGxlIHdpdGggSDQgcHJvcGVydGllc1xuLmNhcmQtc3VidGl0bGUge1xuICBAZXh0ZW5kIGg0O1xufVxuXG4vLyBDb250ZW50IHdpdGggSDUgcHJvcGVydGllc1xuLmNhcmQtY29udGVudCB7XG4gIEBleHRlbmQgaDU7XG59XG5cblxuLnNlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG5cbiAgLnNlY3Rpb24tdGl0bGUge1xuICAgIEBleHRlbmQgaDM7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gIH1cblxuICAuc2VjdGlvbi1jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNHJlbTtcbiAgfVxufVxuLy8gLm9wdGlvbnMge1xuLy8gICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbi8vICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbi8vIH1cblxuLy8gLm1hdC1zbGlkZS10b2dnbGUge1xuLy8gICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4vLyB9XG5cbi8vIC5jb2x1bW4ge1xuLy8gICBwYWRkaW5nLWJvdHRvbTogMDtcbi8vIH1cbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbi5uZ3gtbWF0LXRpbWVwaWNrZXItc3BhY2VyIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgcGFkZGluZy1ib3R0b206IDAuNzVlbTtcbn1cblxuLy8gUmVzcGlybyBlbnRyZSBhIMO6bHRpbWEgbGluaGEgZG9zIGRpYXMgZG8gY2FsZW5kw6FyaW8gZSBhIMOhcmVhIGRlIGhvcmFzLlxuLy8gQSBsaWIgZGVzZW5oYSB1bWEgbGluaGEgZGl2aXPDs3JpYSB2aWEgYDo6YmVmb3JlYCBubyB0b3BvIGRvIGNvbnRhaW5lciDigJRcbi8vIGVzY29uZGVtb3MuXG4vLyBMYXlvdXQ6IHRpbWVwaWNrZXIgQ0VOVFJBTElaQURPIGhvcml6b250YWxtZW50ZTsgbyBib3TDo28gZG8gZnVzbyBmbHV0dWFcbi8vIGNvbW8gYHBvc2l0aW9uOiBhYnNvbHV0ZWAgw6AgZGlyZWl0YSDigJQgbGFyZ3VyYSB2YXJpw6F2ZWwgZGVsZSBuw6NvIGVtcHVycmFcbi8vIG8gaG9yYS9taW51dG8vc2V0YXMgKHF1ZSBmaWNhbSBmaXhvcyBpbmRlcGVuZGVudGUgZG8gZnVzbyBlc2NvbGhpZG8pLlxuLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQgLnRpbWUtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgICAvLyB2ZW5jZSBvIGBwYWRkaW5nLXRvcDogNXB4YCBkYSBsaWJcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gRmFpeGEgw7p0aWwgbWFpcyBlc3RyZWl0YSBxdWUgbyBwYWluZWwg4oCUIGhvcmEgZmljYSBjZW50cmFkYSBuZWxhIGUgb1xuICAvLyBmdXNvIGZpY2EgcHLDs3hpbW8gw6AgaG9yYSAobsOjbyBjb2xhZG8gbmEgYm9yZGEgZGlyZWl0YSBkbyBwYWluZWwpLlxuICBtYXgtd2lkdGg6IDIyMHB4O1xuXG4gICY6OmJlZm9yZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIC5uZ3gtbWF0LXRpbWVwaWNrZXIge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzVweCk7ICAgLy8gZGVzbG9jYSBob3JhL21pbnV0by9zZXRhcyAzNXB4IHByYSBlc3F1ZXJkYVxuICB9XG5cbiAgYXBwLXRpbWUtem9uZS1pbnB1dCxcbiAgLmNvbnRhaW5lci1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTVweDsgICAgICAgICAgICAgICAgICAgLy8gMTVweCBwcmEgZXNxdWVyZGEgZW0gcmVsYcOnw6NvIMOgIGJvcmRhIGRpcmVpdGEgZGEgZmFpeGFcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cblxuLy8gRW5xdWFudG8gbyBwYWluZWwgZG8gZGF0ZXBpY2tlciBlc3RpdmVyIFwibGltcG9cIiAoc2VtIGludGVyYcOnw6NvL211ZGFuw6dhKSxcbi8vIG9zIGJvdMO1ZXMgw5cgKGNhbmNlbGFyKSBlIOKckyAoY29uZmlybWFyKSBmaWNhbSBkZXNhYmlsaXRhZG9zIOKAlCBuw6NvIGjDoSBvIHF1ZVxuLy8gcHJlc2VydmFyL2Rlc2NhcnRhci4gQSBjbGFzc2UgYC5pcy1jbGVhbi1waWNrZXJgIMOpIHNldGFkYSBubyBgLmNkay1vdmVybGF5LXBhbmVgXG4vLyBwZWxvIGBvbkNhbGVuZGFyT3BlbmVkYCBkbyBjb21wb25lbnRlIGUgw6kgcmVtb3ZpZGEgbm8gcHJpbWVpcm8gY2xpY2sgZGVudHJvIGRvXG4vLyBwYWluZWwuIFNlbSBlc3NhIGZsYWcgb3MgYm90w7VlcyBnYW5oYW0gY29tcG9ydGFtZW50byBub3JtYWwuXG4uY2RrLW92ZXJsYXktcGFuZS5pcy1jbGVhbi1waWNrZXIgLmFjdGlvbnMgYnV0dG9uIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMC40ICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQgIWltcG9ydGFudDtcbn1cblxuLy8gQ2VudHJhbGl6YcOnw6NvIHZlcnRpY2FsIGRvcyBnbGlmb3Mgw5cgZSDinJMgZGVudHJvIGRvcyBib3TDtWVzIGRhIMOhcmVhIGAuYWN0aW9uc2Bcbi8vIGRvIHBhaW5lbCBkbyBkYXRlcGlja2VyLiBNYXRlcmlhbCBkZWZhdWx0IGRlaXhhIGAubWF0LWJ1dHRvbi13cmFwcGVyYCBjb21vXG4vLyBpbmxpbmUtYmxvY2sgKyBgLm1hdC1pY29uYCBjb20gYGxpbmUtaGVpZ2h0YCBkYSBmb250ZSAoYmFzZWxpbmUtYWxpZ25lZCksXG4vLyBxdWUgZGVzY2VudHJhbGl6YSB2cyBhIGFsdHVyYSBkbyBib3TDo28gKDM2cHgpLiBGb3LDp2EgZmxleC1jZW50ZXIgbmEgY2FkZWlhLlxuLmNkay1vdmVybGF5LXBhbmUgLmFjdGlvbnMgYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuXG4gIC5tYXQtYnV0dG9uLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgfVxuICBtYXQtaWNvbixcbiAgLm1hdC1pY29uIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBSZXNwaXJvIGRlIDJweCBlbnRyZSBvcyBib3TDtWVzIMOXIGUg4pyTLlxuLmNkay1vdmVybGF5LXBhbmUgLmFjdGlvbnMgYnV0dG9uICsgYnV0dG9uIHtcbiAgbWFyZ2luLWxlZnQ6IDJweCAhaW1wb3J0YW50O1xufVxuXG4vLyBDZW50cmFsaXphIGEgZHVwbGEgw5cgLyDinJMgaG9yaXpvbnRhbG1lbnRlIG5vIHBhaW5lbCAoZGVmYXVsdCBkYSBsaWIgw6kgZmxleC1lbmQpXG4vLyArIGVzcGHDp28gZXh0cmEgYWNpbWEgcHJhIGRhciByZXNwaXJvIGVudHJlIG8gdGltZXBpY2tlciBlIG9zIGJvdMO1ZXMgZGUgYcOnw6NvLlxuLmNkay1vdmVybGF5LXBhbmUgLmFjdGlvbnMge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogMTdweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMTdweCAhaW1wb3J0YW50OyAgIC8vIGlndWFsIGFvIHRvcCBwcmEgc2ltZXRyaWFcbn1cblxuLy8gU2VtIHRyYW5zacOnw6NvIGRlIGhvdmVyIG5vcyBib3TDtWVzIMOXIGUg4pyTIOKAlCBtdWRhbsOnYSBkZSBmdW5kbyBpbnN0YW50w6JuZWEsXG4vLyBtYXMgbyBlZmVpdG8gZGUgaG92ZXIgKGJnKSBkbyBNYXRlcmlhbCBmaWNhIHByZXNlcnZhZG8uXG4uY2RrLW92ZXJsYXktcGFuZSAuYWN0aW9ucyBidXR0b24sXG4uY2RrLW92ZXJsYXktcGFuZSAuYWN0aW9ucyBidXR0b24gKiB7XG4gIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gSG92ZXIgZG8gw5cgKGNhbmNlbGFyKSDigJQgZmFtw61saWEgXCJib3TDo28vbWVudVwiIGRvIGNoYWlyIFVJOlxuLy8gYCRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmRgLCBtZXNtbyBkbyBtYXQtbWVudS1pdGVtIGVcbi8vIGJyZWFkY3J1bWIuIFZlbmNlIG8gYC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXlgIGRvIE1hdGVyaWFsIChkZWZhdWx0XG4vLyBjaW56YSB0cmFuc2zDumNpZG8pIG5ldXRyYWxpemFuZG8gbyBvdmVybGF5LlxuLy8gYDpmaXJzdC1jaGlsZGAgPSDDlyAocHJlcGVuZCBkbyBgYWRkQnV0dG9uQ2xvc2VgKS5cbi5jZGstb3ZlcmxheS1wYW5lIC5hY3Rpb25zIGJ1dHRvbjpmaXJzdC1jaGlsZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xufVxuLmNkay1vdmVybGF5LXBhbmUgLmFjdGlvbnMgYnV0dG9uOmZpcnN0LWNoaWxkOmhvdmVyOm5vdChbZGlzYWJsZWRdKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5jZGstb3ZlcmxheS1wYW5lIC5hY3Rpb25zIGJ1dHRvbjpmaXJzdC1jaGlsZDpob3Zlcjpub3QoW2Rpc2FibGVkXSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cblxuLy8gQm90w6NvIOKckyAoY29uZmlybWFyKSBFTkFCTEVEIOKAlCBmaWxsIGFjY2VudCArIMOtY29uZSBicmFuY28gKG1lc21hIGZhbcOtbGlhXG4vLyBkb3MgcHJpbcOhcmlvcyBkbyBjaGFpciBVSSkuIE8gw5cgKGNhbmNlbGFyKSBmaWNhIG5vIGZvcm1hdG8gXCJzdHJva2VkXCJcbi8vIG5ldXRybzsgc8OzIG8g4pyTIHZpcmEgXCJwcmltYXJ5XCIuIEVzdGFkbyBkaXNhYmxlZCAoZm9ybSBsaW1wbyDihpIgY2xhc3NlXG4vLyBgLmlzLWNsZWFuLXBpY2tlcmAgbm8gcGFuZSwgT1UgYFtkaXNhYmxlZF1gIG5vIGJvdMOjbyBxdWFuZG8gbyBmb3JtIGVzdMOhXG4vLyBpbnbDoWxpZG8pIG1hbnTDqW0gbyB2aXN1YWwgbmV1dHJvL29wYWNvIG9yaWdpbmFsLlxuLy8gYDpsYXN0LWNoaWxkYCA9IOKckyAobyDDlyDDqSBgcHJlcGVuZGBhZG8gYW50ZXMgcGVsbyBgYWRkQnV0dG9uQ2xvc2VgKS5cbi5jZGstb3ZlcmxheS1wYW5lOm5vdCguaXMtY2xlYW4tcGlja2VyKSAuYWN0aW9ucyBidXR0b246bGFzdC1jaGlsZDpub3QoW2Rpc2FibGVkXSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgLm1hdC1pY29uIHsgY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxufVxuLmRhcmstdGhlbWUgLmNkay1vdmVybGF5LXBhbmU6bm90KC5pcy1jbGVhbi1waWNrZXIpIC5hY3Rpb25zIGJ1dHRvbjpsYXN0LWNoaWxkOm5vdChbZGlzYWJsZWRdKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cblxuLy8gQ2hhaXIgVUkgYWxpZ25tZW50OiBkYXRlcGlja2VyL3RpbWVwaWNrZXIgcG9wdXAgdHlwb2dyYXBoeS5cbi8vIFBvcHVwIMOpIHJlbmRlcml6YWRvIGVtIGBjZGstb3ZlcmxheS1jb250YWluZXJgIGRpcmV0byBzb2IgPGJvZHk+LCBmb3JhXG4vLyBkbyBjb21wb25lbnQgZW5jYXBzdWxhdGlvbiDigJQgcnVsZXMgcHJlY2lzYW0gc2VyIGdsb2JhaXMuIEFsaW5oYSBhc1xuLy8gZm9udGVzIGRvIHBvcHVwIGNvbSBvIHJpdG1vIDEzLzQzMCBkYSBww6FnaW5hLlxuLy8gQm9yZGVyLXJhZGl1cyBkbyBwb3B1cCBhbGluaGFkbyBjb20gbyByZXN0byBkbyBjaGFpciBVSSAoJGNocm9tZS1yYWRpdXMpLlxuLy8gUGFkZGluZyByZWR1emlkbyBwcmEgY29tcGFjdGFyIChNYXRlcmlhbCBkZWZhdWx0IHRlbSB+OHB4IG5vIC5tYXQtY2FsZW5kYXJcbi8vIHF1ZSB2aXZlIGRlbnRybyBkbyAubWF0LWRhdGVwaWNrZXItY29udGVudCkuXG4ubWF0LWRhdGVwaWNrZXItY29udGVudCB7XG4gIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50OyAgIC8vIG1lc21hIGNvciBkb3MgcGFpbsOpaXMgZG8gc2VsZWN0XG4gIG1hcmdpbi10b3A6IDJweCAhaW1wb3J0YW50OyAgICAgIC8vIDJweCBkZSByZXNwaXJvIGVudHJlIG8gcGFpbmVsIGUgYSBjYWl4YVxuICBtYXJnaW4tYm90dG9tOiAycHggIWltcG9ydGFudDsgICAvLyBpZGVtIHF1YW5kbyBhYnJlIHByYSBjaW1hXG4gIC8vIExhcmd1cmEgZG8gcG9wdXAgY29tcGFjdGFkYSDigJQgTWF0ZXJpYWwgZGVmYXVsdCB+Mjk2cHguIENvbW8gYSBjYWxlbmRhclxuICAvLyB0YWJsZSBmb2kgcmVkdXppZGEgcHJhIDIwMHB4LCBvIHBvcHVwIHRlbSBlc3Bhw6dvIGxhdGVyYWwgc29icmFuZG87XG4gIC8vIDI1NnB4IGRlaXhhIGZvbGdhIGNvbmZvcnTDoXZlbCBzZW0gZGVzcGVyZMOtY2lvLlxuICB3aWR0aDogMjU2cHggIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gIC8vIFNvbWJyYSB1bmlmaWNhZGEgY29tIG9zIHBhaW7DqWlzIGRvIHNlbGVjdCAobGlnaHQpOiBmaWx0ZXIgZW0gdmV6IGRvXG4gIC8vIGJveC1zaGFkb3cgZGVmYXVsdCBNYXRlcmlhbCAocXVlIHVzYSBlbGV2YXRpb24gbXVpdG8gcGVzYWRhKS5cbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBmaWx0ZXI6ICRzaGFkb3ctcGFuZWwtbGlnaHQ7XG5cbiAgLm1hdC1jYWxlbmRhciB7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5tYXQtY2FsZW5kYXIge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsZXR0ZXItc3BhY2luZzogMDtcblxuICAvLyBIZWFkZXIgKG3DqnMvYW5vICsgYXJyb3dzKSBzb2JlIOKAlCByZWR1eiBwYWRkaW5nLXRvcCBkbyBoZWFkZXIgcHJhXG4gIC8vIGNvbGFyIGNvbSBhIGJvcmRhIHN1cGVyaW9yIGRvIHBvcHVwLlxuICAubWF0LWNhbGVuZGFyLWhlYWRlciB7XG4gICAgcGFkZGluZzogMTJweCAxMnB4IDA7XG5cbiAgICAubWF0LWNhbGVuZGFyLWNvbnRyb2xzIHtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEJvdMO1ZXMg4oC5IOKAuiAgKHByZXZpb3VzL25leHQgbW9udGgpLiBDb250aW51YW0gc2VuZG8gYDxidXR0b24gbWF0LWljb24tYnV0dG9uPmAsXG4gICAgLy8gbWFzIGVzY29uZGVtb3MgbyBjaHJvbWUgTWF0ZXJpYWwgKHJpcHBsZS9mb2N1cy1vdmVybGF5L2dsaWZvIGRlZmF1bHQpIGVcbiAgICAvLyBpbmpldGFtb3MgU1ZHIGNoZXZyb24gdmlhIGA6OmFmdGVyYC4gUmVzdWx0YWRvOiBwYXJlY2UgdW0gYm90w6NvIEhUTUwgcHVyb1xuICAgIC8vIGNvbSBvIG1lc21vIHBlc28gdmlzdWFsIGRvcyBnbGlmb3Mgc2VjdW5kw6FyaW9zICgkaWNvbi1tdXRlZCAvIGhvdmVyKS5cbiAgICAubWF0LWNhbGVuZGFyLXByZXZpb3VzLWJ1dHRvbixcbiAgICAubWF0LWNhbGVuZGFyLW5leHQtYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDI0cHggIWltcG9ydGFudDtcbiAgICAgIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweCAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICRpY29uLW11dGVkICFpbXBvcnRhbnQ7XG4gICAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgIC8vIE8gTWF0ZXJpYWwgZGVzZW5oYSBvIGNoZXZyb24gdmlhIGA6OmFmdGVyYCBubyBQUsOTUFJJTyBib3TDo29cbiAgICAgIC8vICh0cmnDom5ndWxvIENTUyBjb20gYm9yZGVyICsgdHJhbnNmb3JtKS4gWmVyYW1vcyBjb21wbGV0YW1lbnRlXG4gICAgICAvLyBwcmEgZWxlIG7Do28gY29tcGV0aXIgY29tIG8gbm9zc28gU1ZHLW1hc2sgbm8gd3JhcHBlci5cbiAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLm1hdC1idXR0b24td3JhcHBlciBzdmcsXG4gICAgICAubWF0LWJ1dHRvbi13cmFwcGVyIC5tYXQtaWNvbiB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgICAvLyBDaGV2cm9uIFNWRyBpbmxpbmUgdmlhIG1hc2sgKG1lc21vIHBhZHLDo28gZG8gY2hldnJvbiBkbyBzZWxlY3QpLlxuICAgICAgLm1hdC1idXR0b24td3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgICAgLm1hdC1idXR0b24td3JhcHBlcjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgLm1hdC1jYWxlbmRhci1wcmV2aW91cy1idXR0b24gLm1hdC1idXR0b24td3JhcHBlcjo6YWZ0ZXIge1xuICAgICAgLXdlYmtpdC1tYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEwIDEwJyBmaWxsPSdub25lJz48cGF0aCBkPSdNNi41IDIgTDMgNSBMNi41IDgnIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLz48L3N2Zz5cIikgbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW47XG4gICAgICAgICAgICAgIG1hc2s6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTAgMTAnIGZpbGw9J25vbmUnPjxwYXRoIGQ9J002LjUgMiBMMyA1IEw2LjUgOCcgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvPjwvc3ZnPlwiKSBuby1yZXBlYXQgY2VudGVyIC8gY29udGFpbjtcbiAgICB9XG4gICAgLm1hdC1jYWxlbmRhci1uZXh0LWJ1dHRvbiAubWF0LWJ1dHRvbi13cmFwcGVyOjphZnRlciB7XG4gICAgICAtd2Via2l0LW1hc2s6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTAgMTAnIGZpbGw9J25vbmUnPjxwYXRoIGQ9J00zLjUgMiBMNyA1IEwzLjUgOCcgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvPjwvc3ZnPlwiKSBuby1yZXBlYXQgY2VudGVyIC8gY29udGFpbjtcbiAgICAgICAgICAgICAgbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMCAxMCcgZmlsbD0nbm9uZSc+PHBhdGggZD0nTTMuNSAyIEw3IDUgTDMuNSA4JyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8+PC9zdmc+XCIpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICAgIH1cblxuICAgIC8vIENocm9tZSBNYXRlcmlhbCBmb3JhIOKAlCBzZW0gcmlwcGxlL2ZvY3VzLW92ZXJsYXkgcXVlIGRlaXhhcmlhbVxuICAgIC8vIFwiZmxhc2hcIiBhbyBjbGljYXIvaG92ZXIuXG4gICAgLm1hdC1jYWxlbmRhci1wcmV2aW91cy1idXR0b24gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSxcbiAgICAubWF0LWNhbGVuZGFyLXByZXZpb3VzLWJ1dHRvbiAubWF0LWJ1dHRvbi1yaXBwbGUsXG4gICAgLm1hdC1jYWxlbmRhci1wcmV2aW91cy1idXR0b24gLm1hdC1yaXBwbGUsXG4gICAgLm1hdC1jYWxlbmRhci1uZXh0LWJ1dHRvbiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LFxuICAgIC5tYXQtY2FsZW5kYXItbmV4dC1idXR0b24gLm1hdC1idXR0b24tcmlwcGxlLFxuICAgIC5tYXQtY2FsZW5kYXItbmV4dC1idXR0b24gLm1hdC1yaXBwbGUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEhvdmVyOiBcImFjZW5kZVwiIChtZXNtYSBsaW5ndWFnZW0gZG8gY2hldnJvbiBkbyBzZWxlY3QgZSBkbyBjYWxlbmTDoXJpbykuXG4gICAgLm1hdC1jYWxlbmRhci1wcmV2aW91cy1idXR0b246aG92ZXIsXG4gICAgLm1hdC1jYWxlbmRhci1uZXh0LWJ1dHRvbjpob3ZlciB7XG4gICAgICBjb2xvcjogJGljb24tbXV0ZWQtaG92ZXIgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWNvbnRhaW5lci1iZyAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIFRvZG9zIG9zIHLDs3R1bG9zIGRvIGNhbGVuZMOhcmlvIOKAlCBwZXLDrW9kbyAobcOqcy9hbm8pLCBib2R5LWxhYmVsIChGRVYvSkFO4oCmKSxcbiAgICAvLyBoZWFkZXIgKGRpYXMgZGEgc2VtYW5hKS4gUG9sw610aWNhIHN5c3RlbS13aWRlIGBuby1jYXBzYCDigJQgb3ZlcnJpZGVcbiAgICAvLyBhbyBNYXRlcmlhbCBkZWZhdWx0IGUgYW8gcHLDs3ByaW8gYHRleHQtdHJhbnNmb3JtYCBpbmxpbmUgdmlhIGxpZ2F0dXJlLlxuICAgIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbixcbiAgICAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b24gKixcbiAgICAubWF0LWNhbGVuZGFyLWJvZHktbGFiZWwsXG4gICAgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXIgdGgge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uIHtcbiAgICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1jb250ZW50IHtcbiAgICBwYWRkaW5nOiA4cHggIWltcG9ydGFudDsgICAvLyA4cHggZW0gdm9sdGEg4oCUIHJlc3Bpcm8gZG8gaGVhZGVyIG5vIHRvcG8gKyBiYXNlIHVuaWZvcm1lIHAvIG9zIHNlbGV0b3JlcyBkZSBhbm8vbcOqcy5cbiAgfVxuXG4gIC8vIExpbWl0YSBsYXJndXJhIGRhIHRhYmVsYSBwcmEgZW5jb2xoZXIgbyBnYXAgaG9yaXpvbnRhbCBlbnRyZSBkaWFzLlxuICAvLyBNYXRlcmlhbCBkZWZhdWx0IGRlaXhhIG8gdGFibGUgZXN0aWNhciBwcmEgMTAwJSBkbyBjb250YWluZXI7IGNhZGEgdGRcbiAgLy8gdmlyYSB+NDBweC4gQ29tIG1heC13aWR0aCAyNDBweCBvIGNhbGVuZMOhcmlvIGZpY2EgdmlzdWFsbWVudGUgY29tcGFjdG8uXG4gIC5tYXQtY2FsZW5kYXItdGFibGUge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICAvLyBSZXNwaXJvIGVudHJlIGEgbGluaGEgZGFzIGluaWNpYWlzIChEIFMgVC4uLikgZSBhIDHCqiBsaW5oYSBkbyBtw6pzIOKAlFxuICAvLyA4cHggdmlhIHBhZGRpbmctdG9wIG5hIHByaW1laXJhIGxpbmhhIGRvIGJvZHkgKGEgYGhlaWdodGAgbm8gZGl2aWRlclxuICAvLyBwb2RlIG7Do28gYmFzdGFyIGRlcGVuZGVuZG8gZGEgdGFiZWxhKS5cbiAgLm1hdC1jYWxlbmRhci1ib2R5IHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICBwYWRkaW5nLXRvcDogOHB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuXG4gIC8vIFRpcG9ncmFmaWEgZG8gcsOzdHVsbyBcIkp1bi4gZGUgMjAyNlwiIOKAlCBpZ3VhbCBhbyBjb250ZcO6ZG8gZGFzIGNhaXhhc1xuICAvLyBkZSB0ZXh0byBkbyBKRU1TMyAoMTNweCAvIDQwMCAvIC0wLjAxZW0gLyBjb3IgZG8gYm9keSBkbyBjaGFpciBVSSkuXG4gIC8vIEhvdmVyOiBmYW3DrWxpYSBcImJvdMOjby9tZW51XCIgZG8gY2hhaXIgVUlcbiAgLy8gKGAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kYCwgbWVzbW8gZG8gbWF0LW1lbnUtaXRlbSBlXG4gIC8vIGRvIMOXIGRvIGRhdGVwaWNrZXIpLiBOZXV0cmFsaXphIG8gYC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXlgIGRvIE1hdGVyaWFsLlxuICAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogJGNvbnRyb2wtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkY29udHJvbC1jb250ZW50LXdlaWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG5cbiAgICAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHsgb3BhY2l0eTogMCAhaW1wb3J0YW50OyB9XG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQgIWltcG9ydGFudDsgfVxuICB9XG5cbiAgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXIgdGgge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGljb24tbXV0ZWQ7ICAgICAgICAgICAgICAgIC8vIG11dGVkLCBtYXMgdmlzw612ZWwgZW0gcXVhbHF1ZXIgYmdcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDsgICAgICAgICAgICAgIC8vIHNlbSBib3JkYSBhbyByZWRvciBkYXMgaW5pY2lhaXNcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBNYXRlcmlhbCBkZXNlbmhhIHVtIGRpdmlkZXIgKGAubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlci1kaXZpZGVyYClcbiAgLy8gbG9nbyBhYmFpeG8gZGFzIGluaWNpYWlzLiBBIExJTkhBIGVtIHNpIChgOjphZnRlcmApIGZpY2EgZXNjb25kaWRhLlxuICAvLyBFc3Bhw6dvIGVudHJlIGhlYWRlciBlIDHCqiBsaW5oYSBkb3MgZGlhcyB2ZW0gdmlhIGBoZWlnaHRgIGV4cGzDrWNpdG9cbiAgLy8gbm8gYDx0aD5gIGRpdmlkZXIg4oCUIGltdW5lIGEgYHBhZGRpbmc6IDAgIWltcG9ydGFudGAgZSBhb1xuICAvLyBgYm9yZGVyLWNvbGxhcHNlYCBkYSB0YWJlbGEuXG4gIC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyLWRpdmlkZXIge1xuICAgIGhlaWdodDogOHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBgLm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsYCDDqSBvIHLDs3R1bG8gXCJGRVYuXCIgcXVlIE1hdGVyaWFsIHJlbmRlcml6YVxuICAvLyBjb21vIGPDqWx1bGEgaW52aXPDrXZlbCBubyBpbsOtY2lvIGRhIHByaW1laXJhIHNlbWFuYSBwYXJjaWFsLiBDb21vIG9cbiAgLy8gaGVhZGVyIGrDoSBtb3N0cmEgXCJGRVYuIERFIDIwMjFcIiwgYSBsYWJlbCBkZW50cm8gZG8gYm9keSDDqSByZWR1bmRhbnRlLlxuICAvLyBFc2NvbmRlciBjb20gYHZpc2liaWxpdHk6IGhpZGRlbmAgcHJlc2VydmEgbyBsYXlvdXQgZG8gY29sc3BhbiAoYVxuICAvLyBwcmltZWlyYSBzZW1hbmEgcGFyY2lhbCBmaWNhIGFsaW5oYWRhIGNvcnJldGFtZW50ZSkgbWFzIG9jdWx0YSBvIHRleHRvLlxuICAvLyBNYXRlcmlhbCByZW5kZXJpemEgZXNzZSBgPHRkPmAgY29tbyB1bSBsYWJlbC9wbGFjZWhvbGRlciBjb2xzcGFuIG5vXG4gIC8vIGluw61jaW8gZGEgcHJpbWVpcmEgc2VtYW5hIHBhcmNpYWwuIENvbW8gbyBoZWFkZXIgasOhIG1vc3RyYSBcIkZFVi4gREUgMjAyMVwiLFxuICAvLyBvIHLDs3R1bG8gYXF1aSDDqSByZWR1bmRhbnRlLiBaZXJhciBhbHR1cmEvZm9udC9wYWRkaW5nIGNvbGFwc2FcbiAgLy8gdmlzdWFsbWVudGUgc2VtIHF1ZWJyYXIgbyBhbGluaGFtZW50byBkYXMgY29sdW5hcyAobyBjb2xzcGFuIGNvbnRpbnVhXG4gIC8vIHJlc2VydmFuZG8gY29sdW5hcywgc8OzIG7Do28gdGVtIGFsdHVyYSkuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1sYWJlbCB7XG4gICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBMaW5oYSBkZSBpbmljaWFpcyAoRCBTIFQgUS4uLikgc2VtIHBhZGRpbmctYm90dG9tIOKAlCBNYXRlcmlhbCBkZWZhdWx0XG4gIC8vIGVtcHVycmEgOHB4IGFiYWl4byBkYXMgaW5pY2lhaXMgYW50ZXMgZGEgYm9keSBjb21lw6dhci5cbiAgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXIgdHIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG5cbiAgLy8gTWF0ZXJpYWwgY29tcHV0YSBhbHR1cmEgcG9yIHJvdyAodGFibGUgbGF5b3V0KSwgbsOjbyBwb3IgY2VsbC4gUHJhXG4gIC8vIGNvbXBhY3RhciBvIGdhcCBlbnRyZSByb3dzIGRlIGRpYXMgcHJlY2lzYSBhdGFjYXIgbyA8dHI+IGRpcmV0by5cbiAgLm1hdC1jYWxlbmRhci1ib2R5IHRyIHtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktY2VsbCB7XG4gICAgaGVpZ2h0OiAyNnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudCB7XG4gICAgaGVpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDI0cHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMjRweCAhaW1wb3J0YW50O1xuICAgIHRvcDogMXB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50IHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQzMDtcbiAgfVxuXG4gIC8vIFNlbGV0b3IgZGUgQU5PICh2aWV3IFwibXVsdGkteWVhclwiKSDigJQgYSBjw6lsdWxhIGRlZmF1bHQgKDI0w5cyNCkgZmljYVxuICAvLyBwZXF1ZW5hIHByYSBhYnJpZ2FyIFwiMjAyNlwiLiBWaXJhIFBJTEwgYWxvbmdhZG8gKGxhcmd1cmEgY29uZm9ydMOhdmVsXG4gIC8vICsgcmFkaXVzIHBpbGwpLiBIZWlnaHQgbWFudGlkYS5cbiAgbmd4LW1hdC1tdWx0aS15ZWFyLXZpZXcge1xuICAgIC8vIFNlbSBsaW5oYSBkZSBpbmljaWFpcyBuZXNzYSB2aWV3IOKAlCBvIGAubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlci1kaXZpZGVyYFxuICAgIC8vIChzcGFjZXIgZGVmYXVsdCBkbyBNYXRlcmlhbCkgdmlyYSB1bWEgZm9sZ2Egc3VwZXJpb3IgaW7DunRpbC4gU29tZS5cbiAgICAubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlci1kaXZpZGVyIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50IHtcbiAgICAgIHdpZHRoOiA0NHB4ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMnB4ICFpbXBvcnRhbnQ7ICAgLy8gcGlsbCAoPSBoZWlnaHQvMilcbiAgICB9XG4gIH1cblxuICAvLyBTZWxldG9yIGRlIE3DilMgKHZpZXcgXCJ5ZWFyXCIpIOKAlCBtZXNtYSBpZGVpYTogXCJqYW5cIiwgXCJmZXZcIi4uLiBwcmVjaXNhbVxuICAvLyBkZSBtYWlzIGxhcmd1cmEgcXVlIGEgY8OpbHVsYSBkZWZhdWx0LiBQaWxsIGlkw6pudGljbyBhbyBkbyBhbm8uXG4gIG5neC1tYXQteWVhci12aWV3IHtcbiAgICAvLyBJZGVtIOKAlCBzZW0gbGluaGEgZGUgaW5pY2lhaXMsIHNwYWNlciBuw6NvIGZheiBzZW50aWRvLlxuICAgIC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyLWRpdmlkZXIgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDQ0cHggIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEycHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLm5neC1tYXQtdGltZXBpY2tlciB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEzcHg7XG5cbiAgaW5wdXQsXG4gIC5tYXQtaW5wdXQtZWxlbWVudCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MzA7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBBcHJveGltYSBhcyAzIGxpbmhhcyAo4payIC8gaG9yYTptaW51dG8gLyDilrwpIOKAlCBNYXRlcmlhbCBkw6EgNDBweCBkZSBhbHR1cmFcbiAgLy8gbm8gYG1hdC1pY29uLWJ1dHRvbmAgKyBlc3Bhw6dvIGRlIHRkOyByZWR1emltb3MgYSBhbHR1cmEgZG9zIGFycm93c1xuICAvLyBlIG8gcGFkZGluZyBkb3MgdGRzIHByYSBjb21wYWN0YXIgbyBibG9jby5cbiAgLm5neC1tYXQtdGltZXBpY2tlci10YWJsZSB0ZCB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gIH1cbiAgLy8gQm90w7VlcyBkZSBzcGluICjilrIg4pa8KSBTRU0gY2hyb21lIE1hdGVyaWFsIOKAlCBwYXJlY2VtIEhUTUwgcHVybyxcbiAgLy8gaWd1YWwgYW9zICsv4oiSIGRvIG51bWJlci1pbnB1dDogdHJhbnNwYXJlbnRlIGVtIHJlcG91c28sIGZpbGwgZG8gdG9rZW5cbiAgLy8gbm8gaG92ZXIsIGdsaWZvIFwiYWNlbmRlXCIgbm8gaG92ZXIsIHNlbSByaXBwbGUvZm9jdXMtb3ZlcmxheS5cbiAgLm5neC1tYXQtdGltZXBpY2tlci10YWJsZSBidXR0b24ubWF0LWljb24tYnV0dG9uIHtcbiAgICB3aWR0aDogMjRweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMjRweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRpY29uLW11dGVkICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgJjpob3Zlcjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGljb24tY29udGFpbmVyLWJnICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJGljb24tbXV0ZWQtaG92ZXIgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgLm5neC1tYXQtdGltZXBpY2tlci10YWJsZSBidXR0b24ubWF0LWljb24tYnV0dG9uIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksXG4gIC5uZ3gtbWF0LXRpbWVwaWNrZXItdGFibGUgYnV0dG9uLm1hdC1pY29uLWJ1dHRvbiAubWF0LWJ1dHRvbi1yaXBwbGUsXG4gIC5uZ3gtbWF0LXRpbWVwaWNrZXItdGFibGUgYnV0dG9uLm1hdC1pY29uLWJ1dHRvbiAubWF0LXJpcHBsZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5uZ3gtbWF0LXRpbWVwaWNrZXItdGFibGUgYnV0dG9uLm1hdC1pY29uLWJ1dHRvbiBtYXQtaWNvbixcbiAgLm5neC1tYXQtdGltZXBpY2tlci10YWJsZSBidXR0b24ubWF0LWljb24tYnV0dG9uIC5tYXQtaWNvbiB7XG4gICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDE4cHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDE4cHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMThweCAhaW1wb3J0YW50O1xuICB9XG4gIC8vIFdyYXBwZXIgaW50ZXJubyBkbyBtYXQtZm9ybS1maWVsZCAoaW5wdXQgZGEgaG9yYS9taW51dG8pIOKAlCB6ZXJhIGFzXG4gIC8vIG1hcmdlbnMvcGFkZGluZ3MgZGVmYXVsdCBkbyBgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJgIHF1ZSBlbXB1cnJhbVxuICAvLyBhcyBsaW5oYXMgZGUgc2V0YXMgcHJhIGxvbmdlLlxuICAubmd4LW1hdC10aW1lcGlja2VyLXRhYmxlIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5uZ3gtbWF0LXRpbWVwaWNrZXItdGFibGUgLm1hdC1mb3JtLWZpZWxkLWluZml4IHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5uZ3gtbWF0LXRpbWVwaWNrZXItdGFibGUgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSxcbiAgLm5neC1tYXQtdGltZXBpY2tlci10YWJsZSAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIGFwcC1kYXRldGltZXBpY2tlci1pbnB1dC5maWx0ZXItc3R5bGVkIOKAlCBQUkVTRVQgR0xPQkFMIGRvIGRhdGVwaWNrZXIgbm8gZXN0aWxvXG4vLyBkYSBjYWl4YSBkZSBmaWx0cm8gKGFwcC1jdXN0b20tc2VhcmNoIGAuY2hpcC1leHBhbmRlZGApLiBGT05URSDDmk5JQ0E6IGVkaXRhclxuLy8gYXF1aSByZWZsZXRlIGVtIFRPRE9TIG9zIHVzb3MuIE9wdC1pbiBwb3IgY2xhc3NlOyBjb21iaW5lIGNvbSBvcyBpbnB1dHMgZG9cbi8vIGNvbXBvbmVudGUgY29uZm9ybWUgbyBjYXNvIChmbGFncyBzZXBhcmFkb3MpOlxuLy9cbi8vICAgPGFwcC1kYXRldGltZXBpY2tlci1pbnB1dCBjbGFzcz1cImZpbHRlci1zdHlsZWRcIlxuLy8gICAgICAgIFtsb2NrQ2xvc2VdPVwidHJ1ZVwiICAgICAgICAvLyBjYWxlbmTDoXJpbyBtb2RhbCAoc8OzIGZlY2hhIHBvciBYL2NoZWNrKVxuLy8gICAgICAgIFtpbmxpbmVUaW1lWm9uZV09XCJ0cnVlXCIgICAvLyBnbG9ibyArIHZpc3VhbGl6YWRvciBkZSBmdXNvcyBubyBjYW1wb1xuLy8gICAgICAgIFtlbmFibGVkVGltZVpvbmVdPVwidHJ1ZVwiIC4uLj5cbi8vXG4vLyBUcsOqcyBwZcOnYXMgZG8gcHJlc2V0OiAoMSkgYSBDQUlYQSBjb20gZGF0YSA9IC5maWx0ZXItc3R5bGVkIChlc3RlIGJsb2NvKTtcbi8vICgyKSBvIFNFTEVUT1IgZGUgZGF0YSA9IHBvcHVwIGRvIGNhbGVuZMOhcmlvICgubWF0LWNhbGVuZGFyLCBqw6EgZ2xvYmFsIGFjaW1hKVxuLy8gKyBtb2RhbCB2aWEgW2xvY2tDbG9zZV07ICgzKSBvIFZJU1VBTElaQURPUiBkZSBmdXNvcyA9IGdsb2JvICsgYXBwLWRpYWxvZy10aW1lem9uZVxuLy8gdmlhIFtpbmxpbmVUaW1lWm9uZV0gKGVzdGlsbyBkbyBnbG9ibyBubyBmaW0gZGVzdGUgYmxvY28pLlxuLy9cbi8vIE8gbWF0LWZvcm0tZmllbGQgKGFwcGVhcmFuY2U9b3V0bGluZSkgw6kgXCJhY2hhdGFkb1wiOiBlc2NvbmRlbW9zIG8gY2hyb21lIGRvXG4vLyBvdXRsaW5lICsgbGFiZWwgZmx1dHVhbnRlICsgc3Vic2NyaXB0LCBlIGRlc2VuaGFtb3MgYSBjYWl4YSBkaXJldG8gbm9cbi8vIGAubWF0LWZvcm0tZmllbGQtZmxleGAuIEdsb2JhbCAoc2VtIDo6bmctZGVlcCk6IG8gY29tcG9uZW50ZSDDqSBFbXVsYXRlZCwgbWFzXG4vLyBlc3RhcyByZWdyYXMgdml2ZW0gbm8gc3R5bGVzaGVldCBHTE9CQUwsIGVudMOjbyBhdGluZ2VtIGFzIGNsYXNzZXMgaW50ZXJuYXNcbi8vIHNlbSBwcmVjaXNhciBkZSBlbmNhcHN1bGFtZW50by5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmFwcC1kYXRldGltZXBpY2tlci1pbnB1dC5maWx0ZXItc3R5bGVkIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIC8vIERlZmF1bHQgYGZsZXg6IDAgMCBhdXRvYCAoY29udGXDumRvIG5hdHVyYWwpIHPDsyBmb3JhIGRvIGdyaWQgQnVsbWEuXG4gIC8vIENvbSBgLmNvbHVtbmAsIGRlaXhhbW9zIGFzIHJlZ3JhcyBkZSBmbGV4IGRvIEJ1bG1hIChgZmxleDogMSAxIDBgIGV0Yy4pXG4gIC8vIGRvbWluYXJlbSDigJQgc2Vuw6NvIG8gaG9zdCBuw6NvIGNyZXNjZSBuYSBjb2x1bmEgZSBvcyBpcm3Do29zIGZpY2FtXG4gIC8vIGRlc2FsaW5oYWRvcyAoY2FzbyBkYXMgRGF0YXMgdnMgTG9jYWxpemHDp8OjbykuXG4gICY6bm90KC5jb2x1bW4pIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMjYwcHg7ICAgICAvLyBsYXJndXJhIGRlZmF1bHQgZm9yYSBkbyBncmlkXG4gIH1cblxuICAvLyBtYXQtZm9ybS1maWVsZCBpbnRlcm5vIGV4cGFuZGUgcHJhIGxhcmd1cmEgZG8gaG9zdC4gU2VtIGlzc28sIHF1YW5kb1xuICAvLyBvIGNvbnN1bWlkb3IgcGFzc2EgYFt3aWR0aF09XCInMjAwcHgnXCJgICh2aWEgSG9zdEJpbmRpbmcgZW0gLnRzKSwgbyBob3N0XG4gIC8vIGdhbmhhIDIwMHB4IG1hcyBvIGZvcm0tZmllbGQgY29udGludWEgY29udGVudC1zaXplZCDihpIgY2FpeGEgdmlzdWFsbWVudGVcbiAgLy8gbsOjbyByZXNwZWl0YSBhIGxhcmd1cmEgc29saWNpdGFkYS5cbiAgLy8gTsODTyB1c2FyIGA+YCBwb3JxdWUgbyB0ZW1wbGF0ZSB0ZW0gdW0gd3JhcHBlciBgPGRpdiBjbGFzcz1cImRhdGVwaWNrZXItaW5wdXRcIj5gXG4gIC8vIGVudHJlIG8gaG9zdCBlIG8gYG1hdC1mb3JtLWZpZWxkYCDigJQgZGVzY2VuZGVudGUsIG7Do28gZmlsaG8gZGlyZXRvLlxuICAuZGF0ZXBpY2tlci1pbnB1dCB7IHdpZHRoOiAxMDAlOyB9XG4gIC5tYXQtZm9ybS1maWVsZCB7IHdpZHRoOiAxMDAlOyBtaW4td2lkdGg6IDA7IH1cblxuICAubWF0LWZvcm0tZmllbGQtd3JhcHBlciB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgbWluLXdpZHRoOiAwOyB9XG4gIC8vIFN1YnNjcmlwdC13cmFwcGVyIHZpc8OtdmVsIGVtIEFCU09MVVRFIGFiYWl4byBkYSBjYWl4YSBwcmEgbW9zdHJhclxuICAvLyBtYXQtZXJyb3Igc2VtIGVtcHVycmFyIG8gbGF5b3V0IChtZXNtYSB0w6ljbmljYSBkbyBfZm9ybS1maWVsZC5zY3NzKS5cbiAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDJweDtcbiAgICByaWdodDogMnB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gIC5tYXQtZXJyb3Ige1xuICAgIGNvbG9yOiAkYWNjZW50LWNvbG9yLXdhcm5pbmc7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC8vIEVzY29uZGUgbWF0LWhpbnQgKGluY2x1aW5kbyBvIGA/YCBkbyBgW2hlbHBdYCkgbmEgw6FyZWEgZGUgc3Vic2NyaXB0IHByYVxuICAvLyBuw6NvIHNvYnJlcG9yIGRpdmlkZXJzIGVudHJlIHNlw6fDtWVzLlxuICAubWF0LWZvcm0tZmllbGQtaGludC13cmFwcGVyLFxuICAubWF0LWhpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgLy8gQSBjYWl4YSDigJQgZXNwZWxoYSBgLmNoaXAtZXhwYW5kZWRgOiAzNnB4LCByYWRpdXMvZnVuZG8vYm9yZGEgZG9zIHRva2Vuc1xuICAvLyBjaHJvbWUuIFBhZGRpbmctTEVGVCByZWR1emlkbyBhIDRweCBwcmEgZW5jb3N0YXIgbyBib3TDo28gZG8gY2FsZW5kw6FyaW9cbiAgLy8gcHLDs3hpbW8gZGEgYm9yZGEgKG8gYm90w6NvIHRlbSBob3ZlciBiZyBxdWUgYWJyYcOnYSBvcyA0cHggcmVzdGFudGVzKTtcbiAgLy8gcGFkZGluZy1yaWdodCBzZWd1ZSAxMHB4IGRvIGdhcCBuYXR1cmFsIMOgIGRpcmVpdGEuXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogJGNvbnRyb2wtaGVpZ2h0O1xuICAgIG1pbi1oZWlnaHQ6ICRjb250cm9sLWhlaWdodDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAxMHB4IDAgM3B4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlO1xuICAgIC8vIENsaWNrIGVtIFFVQUxRVUVSIHBvbnRvIGRvIGJveCBhYnJlIG8gcGlja2VyIChoYW5kbGVyIG5vXG4gICAgLy8gYC5kYXRlcGlja2VyLWlucHV0YCB3cmFwcGVyKSDigJQgY3Vyc29yIGBwb2ludGVyYCBzaW5hbGl6YSBpc3NvLlxuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvLyBIb3Zlci9mb2NvIGluc3RhbnTDom5lb3Mg4oCUIHNlbSB0cmFuc2nDp8OjbyAoYSBwZWRpZG8gZG8gdXN1w6FyaW8pLlxuICAgIC8vIE5lY2Vzc8OhcmlvIHByYSBvIGZsZXggY2hhaW4gc2hyaW5rZWFyOiBgb3ZlcmZsb3c6IGhpZGRlbmAgY2xpcGEgbyBjb250ZcO6ZG9cbiAgICAvLyBxdWUgdmF6YSBhbMOpbSBkYSBib3JkYSBkbyBib3g7IGBtaW4td2lkdGg6IDBgIGxpYmVyYSBvIGl0ZW0gZmlsaG8gZG8gZmxleFxuICAgIC8vIHBhaSBhIGVuY29saGVyIGFiYWl4byBkbyB0YW1hbmhvIGRlIGNvbnRlw7pkby5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuICAvLyBJbnB1dC9tYXNrIGludGVybm8gdGFtYsOpbSBoZXJkYSBvIHBvaW50ZXIgKHJlYWRvbmx5LCBjbGljayBkZWxlZ2FkbykuXG4gIC5tYXQtaW5wdXQtZWxlbWVudCxcbiAgLmNvbnRhaW5lci1kYXRlLXRpbWUtbWFzayB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7IG1pbi13aWR0aDogMDsgfVxuICAuX2NvbnRhaW5lci1pbnB1dCB7IG1pbi13aWR0aDogMDsgfVxuXG4gIC8vIENhbGVuZMOhcmlvID0gw41DT05FLUdVSUEgw4AgRVNRVUVSREEgKGNvbW8gbyBgZmlsdGVyX2FsdGAgZG8gZmlsdHJvKTogbW92aWRvXG4gIC8vIHAvIGFudGVzIGRvIHRleHRvIChgb3JkZXI6IC0xYCksIG11dGVkLCAxOHB4LCBzZW0gY2hyb21lIGRlIG1hdC1pY29uLWJ1dHRvbi5cbiAgLy8gTyBzdWZmaXggZG8gTWF0ZXJpYWwgw6kgYGRpc3BsYXk6YmxvY2tgIChsaW5lLWJveCAyM3B4KSArIHRvZ2dsZSBpbmxpbmUgbmFcbiAgLy8gYmFzZWxpbmUgKGFmdW5kYXZhIH42LjVweCk7IGZvcsOnYW1vcyBmbGV4LWNlbnRlciBuYSBjYWRlaWEuIE1hdGVyaWFsIGFpbmRhXG4gIC8vIGFwbGljYSBgcG9zaXRpb246cmVsYXRpdmU7IHRvcDo0cHhgIG5vIHN1ZmZpeCDigJQgemVyYW1vcy5cbiAgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeCB7XG4gICAgb3JkZXI6IC0xO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gIH1cbiAgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgfVxuICAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIC5tYXQtaWNvbi1idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvLyBCb3TDo28gMjjDlzI4IOKAlCDDoXJlYSBjbGljw6F2ZWwgcXVhZHJhZGEsIGhvdmVyIGJnIFwiYWJyYcOnYW5kb1wiIG8gZ2xpZm8uXG4gICAgLy8gYCFpbXBvcnRhbnRgIG5lY2Vzc8OhcmlvIHByYSB2ZW5jZXIgYC5tYXQtYnV0dG9uLWJhc2UgeyBoZWlnaHQ6IDM2cHggfWBcbiAgICAvLyBkbyBNYXRlcmlhbCAoc3BlY2lmaWNpdHkgYWx0YSArIHJlZ3JhIGdsb2JhbCBkbyBidXR0b24geyBoZWlnaHQ6IDM2cHggfVxuICAgIC8vIGVtIGBfYnV0dG9uLnNjc3NgKS5cbiAgICB3aWR0aDogMjhweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMjhweCAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxMDBtcyBlYXNlO1xuICB9XG4gIC8vIFNlbSBmaWxsIGRlIGhvdmVyIG5vIGJvdMOjbyBkbyBjYWxlbmTDoXJpbyDigJQgc8OzIGEgQ09SIGRvIGdsaWZvIG11ZGFcbiAgLy8gKG1lc21hIGxpbmd1YWdlbSBkb3MgKy/iiJIgZSBjaGV2cm9uIGRvIHNlbGVjdDogbyBjb250YWluZXIgZmljYSBsaW1wbykuXG4gIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSxcbiAgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSAubWF0LWJ1dHRvbi1yaXBwbGUsXG4gIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgLm1hdC1yaXBwbGUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAvLyBPIMOtY29uZSBkZWZhdWx0IGRvIHRvZ2dsZSDDqSB1bSBTVkcgQ0hFSU8gKFwiZ3Jvc3NlaXJvXCIpLiBFc2NvbmRlbW9zIGVcbiAgLy8gcmVuZGVyaXphbW9zIG8gZ2xpZm8gRklOTyBkbyBNYXRlcmlhbCBTeW1ib2xzIHZpYSBsaWdhdHVyZSBubyBgOjphZnRlcmAuXG4gIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZS1kZWZhdWx0LWljb24sXG4gIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgc3ZnIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgLm1hdC1pY29uLWJ1dHRvbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICdjYWxlbmRhcl90b2RheSc7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBTeW1ib2xzIE91dGxpbmVkJztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdvcHN6JyAyMCwgJ3dnaHQnIDMwMCwgJ0ZJTEwnIDA7XG4gICAgLy8gTWVzbWEgY29yIGRvIHN1Yi1ib3TDo28gZG8gc2VsZWN0IOKAlCBtdXRlZCBlbSByZXBvdXNvLCBcImFjZW5kZVwiIG5vIGhvdmVyLlxuICAgIC8vIFNlbSBvcGFjaXR5IChvIHRva2VuIGrDoSBlbWJ1dGUgYSBhbGZhIGNvcnJldGEpLlxuICAgIGNvbG9yOiAkaWNvbi1tdXRlZDtcbiAgfVxuICAvLyBcIkFjZW5kZVwiIG5vIGhvdmVyIGRhIENBSVhBIEUgZW5xdWFudG8gbyBwYWluZWwgZG8gY2FsZW5kw6FyaW8gZXN0w6EgYWJlcnRvXG4gIC8vIChvIG1vdXNlIG1pZ3JhIHBybyBwYWluZWwgZSBwZXJkZXJpYSBvIGhvdmVyIOKAlCBpZ3VhbCBhbyBjaGV2cm9uIGRvIHNlbGVjdFxuICAvLyBxdWFuZG8gYC5pcy1vcGVuYCkuIENvYnJlIGAucGlja2VyLW9wZW5gICh3cmFwcGVyIHByw7NwcmlvKSwgYC5tYXQtZm9jdXNlZGBcbiAgLy8gKE1hdGVyaWFsIGR1cmFudGUgb3ZlcmxheSkgZSBjYWl4YXMgY29tIHZpc3VhbGl6YWRvciBkZSBmdXNvIGFiZXJ0b1xuICAvLyAoYDpoYXMoLnR6LWdsb2JlLm1lbnUtb3BlbilgKS5cbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aG92ZXIgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSAubWF0LWljb24tYnV0dG9uOjphZnRlcixcbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aGFzKC50ei1nbG9iZS5tZW51LW9wZW4pIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgLm1hdC1pY29uLWJ1dHRvbjo6YWZ0ZXIsXG4gIC5waWNrZXItb3BlbiAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIC5tYXQtaWNvbi1idXR0b246OmFmdGVyLFxuICAubWF0LWZvY3VzZWQgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSAubWF0LWljb24tYnV0dG9uOjphZnRlciB7XG4gICAgY29sb3I6ICRpY29uLW11dGVkLWhvdmVyO1xuICB9XG5cbiAgLy8gUHJlc2VydmEgbyBoYWxvIChib3gtc2hhZG93KSBkYSBjYWl4YSBlbnF1YW50byBvIHZpc3VhbGl6YWRvciBkZSBmdXNvXG4gIC8vIGVzdMOhIGFiZXJ0byDigJQgbyBtb3VzZSBtaWdyYSBwcm8gcG9wb3ZlciBlIG8gYDpob3ZlcmAgbmF0dXJhbCBzZSBwZXJkZS5cbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aGFzKC50ei1nbG9iZS5tZW51LW9wZW4pIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gw4FyZWEgZG8gdmFsb3Ig4oCUIHNlbSBvIGJvcmRlci10b3AgZG8gb3V0bGluZTsgbGFyZ3VyYSBuYXR1cmFsIChhIGNhaXhhXG4gIC8vIGFicmHDp2EgbyBjb250ZcO6ZG8gbnVtYSDDum5pY2EgbGluaGEsIGNvbW8gbyBmaWx0cm8pLlxuICAubWF0LWZvcm0tZmllbGQtaW5maXgge1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gVmFsb3IgKyBvZmZzZXQgbnVtYSDDum5pY2EgbGluaGEsIGNlbnRyYWxpemFkb3MsIGdhcCBlbnh1dG8gKGVyYSAxNXB4KS5cbiAgLl9jb250YWluZXItaW5wdXQge1xuICAgIGdhcDogNnB4ICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuXG4gIC8vIFRpcG9ncmFmaWEgSUTDik5USUNBIGFvIGAuY2hpcC1pbnB1dGAgZG8gZmlsdHJvOiAxNHB4IC8gNDAwIC8gLTAuMDFlbSAvIGNvclxuICAvLyBkZSBjb3JwbyBkbyBjaGFpciBVSSAobyBkZWZhdWx0IGRvIGNvbXBvbmVudGUgw6kgMTNweC80MzApLlxuICAuY29udGFpbmVyLWRhdGUtdGltZS1tYXNrIHtcbiAgICBmb250LXNpemU6ICRjb250cm9sLWZvbnQtc2l6ZSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29udHJvbC1jb250ZW50LXdlaWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuICAgIC8vIElNUE9SVEFOVEU6IGBmbGV4LWJhc2lzOiBhdXRvYCAobsOjbyAwKSDigJQgc8OzIGFzc2ltIGEgc29tYSBkb3MgYmFzaXMgbm9cbiAgICAvLyBgLl9jb250YWluZXItaW5wdXRgIGV4Y2VkZSBhIGxhcmd1cmEgZGlzcG9uw612ZWwgcXVhbmRvIGjDoSBjb250ZcO6ZG9cbiAgICAvLyBkZW1haXMsIGRpc3BhcmFuZG8gbyBzaHJpbmsgcGhhc2UgZG8gZmxleC4gQ29tIGBiYXNpczogMGAsIGEgbWFza1xuICAgIC8vIGdhbmhhdmEgZXNwYcOnbyBzw7MgdmlhIGBncm93YCwgZSBvIG9mZnNldCAocXVlIHRlbSBzaHJpbmsgOTk5OSkgbnVuY2FcbiAgICAvLyBlcmEgYWNpb25hZG8gcHJhIGNvbGFwc2FyLiBgbWluLXdpZHRoOiAwYCBsaWJlcmEgbyBzaHJpbmsgYWJhaXhvIGRlXG4gICAgLy8gbWluLWNvbnRlbnQ7IGBvdmVyZmxvdzogaGlkZGVuYCArIGB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpc2AgYXBsaWNhbVxuICAgIC8vIFwiLi4uXCIgY29tbyDDumx0aW1vIHJlY3Vyc28gKGFww7NzIG8gb2Zmc2V0IGNvbGFwc2FyKS5cbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuICAgIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAkY29udHJvbC1mb250LXNpemUgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkY29udHJvbC1jb250ZW50LXdlaWdodDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICBkaXNwbGF5OiBibG9jazsgICAgICAgLy8gdGV4dC1vdmVyZmxvdyBleGlnZSBjb250ZXh0byBkZSBibG9jb1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuICAucGxhY2Vob2xkZXItbWFzayB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29udHJvbC1jb250ZW50LXdlaWdodDtcbiAgfVxuICAvLyBPZmZzZXQgZGUgdGltZXpvbmUgUkVDVUFETyDigJQgc2VjdW5kw6FyaW8gYW8gdmFsb3IuXG4gIC8vIGBmbGV4OiAwIDk5OTkgYXV0b2AgKyBgbWluLXdpZHRoOiAwYCArIGBvdmVyZmxvdzogaGlkZGVuYDogcXVhbmRvIGjDoVxuICAvLyBvdmVyZmxvdyBubyBgLl9jb250YWluZXItaW5wdXRgLCBvIG9mZnNldCBlbmNvbGhlIH45OTk5eCBtYWlzIHLDoXBpZG8gcXVlIGFcbiAgLy8gZGF0YSAocXVlIHRlbSBgZmxleC1zaHJpbms6IDFgKS4gUmVzdWx0YWRvOiBvIGAoVVRDLi4uKWAgXCJzb21lXCIgUFJJTUVJUk9cbiAgLy8gKGxhcmd1cmEgY29sYXBzYSBhIDAsIGNvbnRlw7pkbyDDqSBjbGlwYWRvKSwgZSBTw5MgREVQT0lTIOKAlCBzZSBhaW5kYSBhc3NpbVxuICAvLyBuw6NvIGNvdWJlciDigJQgYSBkYXRhIHRydW5jYSBjb20gXCIuLi5cIi4gU2VtIHRocmVzaG9sZCBlbSBweCwgc2VtIGNvbnRhaW5lclxuICAvLyBxdWVyeTogbyBwcsOzcHJpbyBtb3RvciBkZSBmbGV4IGRlY2lkZSBjb20gYmFzZSBubyBvdmVyZmxvdyByZWFsLlxuICAub2Zmc2V0IHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBvcGFjaXR5OiAwLjQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmbGV4OiAwIDk5OTkgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFZJU1VBTElaQURPUiBkZSBmdXNvcyAocmVhZC1vbmx5LCBbaW5saW5lVGltZVpvbmVdKSDDoCBkaXJlaXRhIGRvIHZhbG9yOlxuICAvLyBnbG9ibyBTVVRJTCAobWVub3IgKyBvcGFjaXR5IGJhaXhhICsgdHJhw6dvIGZpbm8pLCBzZW0gY2hyb21lIGRlIG1hdC1pY29uLWJ1dHRvbi5cbiAgYXBwLWRpYWxvZy10aW1lem9uZS5pbmxpbmUtdHotdmlld2VyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuXG4gICAgLy8gTyA8c3Bhbj4gd3JhcHBlciBkbyBib3TDo28gw6kgaW5saW5lIChiYXNlbGluZSkg4oaSIGpvZ2F2YSBvIGdsb2JvIH4xLjNweFxuICAgIC8vIGFjaW1hIGRvIGNlbnRyby4gRmxleC1jZW50ZXIgbm8gd3JhcHBlciBhbGluaGEuXG4gICAgPiBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuc21hbGxlci1idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgLnNtYWxsZXItYnV0dG9uIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksXG4gICAgLnNtYWxsZXItYnV0dG9uIC5tYXQtYnV0dG9uLXJpcHBsZSxcbiAgICAuc21hbGxlci1idXR0b24gLm1hdC1yaXBwbGUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAuc21hbGxlci1idXR0b24gLm1hdC1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdvcHN6JyAyMCwgJ3dnaHQnIDMwMCwgJ0ZJTEwnIDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEyMG1zIGVhc2U7XG4gICAgfVxuICAgIC5zbWFsbGVyLWJ1dHRvbjpob3ZlciAubWF0LWljb24geyBvcGFjaXR5OiAwLjc7IH1cbiAgfVxuXG4gIC8vIEhvdmVyL2ZvY28gPSBtZXNtYSBsaW5ndWFnZW0gZG8gYC5jaGlwLWV4cGFuZGVkYC5cbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7XG4gIH1cbiAgLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1mbGV4LFxuICAubWF0LWZvcm0tZmllbGQtZmxleDpmb2N1cy13aXRoaW4sXG4gIC8vIFBpY2tlciBhYmVydG86IG1hbnTDqW0gbyBib3ggY29tIG8gbG9vayBcInNlbGVjdGVkXCIgbWVzbW8gc2UgbyBmb2NvIGRvXG4gIC8vIHRlY2xhZG8gdGl2ZXIgbWlncmFkbyBwcm8gb3ZlcmxheSBkbyBjYWxlbmTDoXJpby5cbiAgLnBpY2tlci1vcGVuIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGFjY2VudC1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbi8vIERhcmsgbW9kZSDigJQgZXNwZWxoYSBvcyB0b2tlbnMgKi1kYXJrIGRhIGNhaXhhIGRlIGZpbHRyby5cbi5kYXJrLXRoZW1lIGFwcC1kYXRldGltZXBpY2tlci1pbnB1dC5maWx0ZXItc3R5bGVkIHtcbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4gICAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZTtcbiAgfVxuICAuY29udGFpbmVyLWRhdGUtdGltZS1tYXNrIHsgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7IH1cbiAgLnBsYWNlaG9sZGVyLW1hc2sgeyBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpICFpbXBvcnRhbnQ7IH1cbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aG92ZXIsXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhhcygudHotZ2xvYmUubWVudS1vcGVuKSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlO1xuICB9XG4gIC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtZmxleCxcbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6Zm9jdXMtd2l0aGluLFxuICAucGlja2VyLW9wZW4gLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICB9XG4gIC8vIENvciBkbyBnbGlmbyBkbyBjYWxlbmTDoXJpbyBlbSBkYXJrIOKAlCBtdXRlZCBlbSByZXBvdXNvLCBhY2VuZGUgbm8gaG92ZXIuXG4gIC8vIFNlbSBmaWxsIG5vIGJvdMOjbyAobWVzbWEgbGluZ3VhZ2VtIGRvcyBvdXRyb3MgZ2xpZm9zIHNlY3VuZMOhcmlvcykuXG4gIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgLm1hdC1pY29uLWJ1dHRvbjo6YWZ0ZXIge1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZC1kYXJrO1xuICB9XG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgLm1hdC1pY29uLWJ1dHRvbjo6YWZ0ZXIsXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhhcygudHotZ2xvYmUubWVudS1vcGVuKSAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIC5tYXQtaWNvbi1idXR0b246OmFmdGVyLFxuICAucGlja2VyLW9wZW4gLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSAubWF0LWljb24tYnV0dG9uOjphZnRlcixcbiAgLm1hdC1mb2N1c2VkIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgLm1hdC1pY29uLWJ1dHRvbjo6YWZ0ZXIge1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZC1ob3Zlci1kYXJrO1xuICB9XG59XG5cbi8vIERhcmsgdGhlbWUgZG9zIGJvdMO1ZXMg4oC5IOKAuiBkbyBjYWxlbmTDoXJpbyDigJQgdml2ZW0gbm8gb3ZlcmxheSBwb3J0YWxsYWRvXG4vLyAoZm9yYSBkbyBob3N0IGBhcHAtZGF0ZXRpbWVwaWNrZXItaW5wdXRgKSwgcG9yIGlzc28gZXNjb3BvIGdsb2JhbC5cbi5kYXJrLXRoZW1lIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50IC5tYXQtY2FsZW5kYXItcHJldmlvdXMtYnV0dG9uLFxuLmRhcmstdGhlbWUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQgLm1hdC1jYWxlbmRhci1uZXh0LWJ1dHRvbiB7XG4gIGNvbG9yOiAkaWNvbi1tdXRlZC1kYXJrICFpbXBvcnRhbnQ7XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZC1ob3Zlci1kYXJrICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGljb24tY29udGFpbmVyLWJnLWRhcmsgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBEYXJrOiBjb3IgZGUgZnVuZG8gZG8gbWluaS1wYWluZWwgZG8gZGF0ZXBpY2tlciBpZ3VhbCDDoCBkb3MgcGFpbsOpaXMgZG9cbi8vIHNlbGVjdCAoYCRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFya2ApIOKAlCBtYW50w6ltIGEgbGluZ3VhZ2VtIGNvZXNhXG4vLyBlbnRyZSBvdmVybGF5cy5cbi5kYXJrLXRoZW1lIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1kYXJrICFpbXBvcnRhbnQ7ICAgLy8gbWVzbWEgXCJib3JkYVwiIGRvcyBwYWluw6lpcyBkbyBzZWxlY3RcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWRhcms7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWVzbWEgc29tYnJhIGRlIHBhaW5lbCBkbyBkYXJrXG5cbiAgLy8gQ29yIGRvIHLDs3R1bG8gXCJKdW4uIGRlIDIwMjZcIiBubyBkYXJrIOKAlCBtZXNtYSBkbyBjb250ZcO6ZG8gZGFzIGNhaXhhcyBkZSB0ZXh0by5cbiAgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uIHtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbiAgICAmOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7IH1cbiAgfVxuICAvLyBJbmljaWFpcyBkb3MgZGlhcyBkYSBzZW1hbmEgKEQgUyBUIFEuLi4pIG5vIGRhcmsg4oCUIG11dGVkIGNsYXJvXG4gIC8vIChvIGRlZmF1bHQgZG8gTWF0ZXJpYWwgZmljYSBwcmV0byBxdWFzZSBpbnZpc8OtdmVsIHNvYnJlIGEgZm9saGEgZXNjdXJhKS5cbiAgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXIgdGgge1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZC1kYXJrO1xuICB9XG5cbiAgLy8gQm90w7VlcyBkZSBzcGluICjilrIg4pa8KSBkbyB0aW1lcGlja2VyIG5vIGRhcmsg4oCUIG11dGVkIGNsYXJvOyBob3ZlclxuICAvLyBcImFjZW5kZVwiIGNvbSBmdW5kbyBkbyB0b2tlbiBkYXJrLlxuICAubmd4LW1hdC10aW1lcGlja2VyLXRhYmxlIGJ1dHRvbi5tYXQtaWNvbi1idXR0b24ge1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZC1kYXJrICFpbXBvcnRhbnQ7XG5cbiAgICAmOmhvdmVyOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1jb250YWluZXItYmctZGFyayAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICRpY29uLW11dGVkLWhvdmVyLWRhcmsgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLy8g4pSA4pSA4pSAIENvciBkbyBkaWEvbcOqcy9hbm8gU0VMRUNJT05BRE8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBPIHRlbWEgcHJlLWNvbXBpbGFkbyBgaW5kaWdvLXBpbmsuY3NzYCBkbyBNYXRlcmlhbCBwaW50YVxuLy8gYC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCB7IGJhY2tncm91bmQtY29sb3I6ICMzZjUxYjUgfWAgKGluZGlnbyBkb1xuLy8gTWF0ZXJpYWwpLiBOb3NzbyBhY2NlbnQgw6kgc3lzdGVtQmx1ZSAoIzAwN0FGRikg4oCUIG1haXMgY2xhcm8vdml2by4gQXF1aVxuLy8gc29icmVzY3JldmVtb3MgcHJhIG1hbnRlciBpZGVudGlkYWRlIHZpc3VhbCBkbyBKRU1TMyBubyBjYWxlbmTDoXJpby5cbi5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cbi8vIEhvdmVyL2ZvY28gZW0gY8OpbHVsYSBOw4NPIHNlbGVjaW9uYWRhIOKAlCB2w6l1IHN1dGlsIGRvIGFjY2VudCAobWVzbWFcbi8vIHJlY2VpdGEgZG8gTWF0ZXJpYWwsIHPDsyB0cm9jYSBvIGh1ZSkuIH4xNSUgb3BhY2l0eSBtYW50w6ltIGxlZ2liaWxpZGFkZVxuLy8gZG8gZGlhOyBvIE1hdGVyaWFsIGRlZmF1bHQgdXNhdmEgYSBtZXNtYSAlIHNvYnJlIG8gaW5kaWdvLlxuLm1hdC1jYWxlbmRhci1ib2R5LWNlbGw6bm90KC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCk6aG92ZXJcbiAgPiAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpLFxuLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmVcbiAgPiAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpLFxuLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZVxuICA+IC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRhY2NlbnQtYmFja2dyb3VuZCwgMC4xNSkgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5tYXQtY2FsZW5kYXItYm9keS1jZWxsOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQpOmhvdmVyXG4gID4gLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmssIDAuMjIpICFpbXBvcnRhbnQ7XG59XG4vLyBcIkhvamVcIiAoY8OpbHVsYSBkbyBkaWEgYXR1YWwsIGNvbnRvcm5vKSDigJQgaW5kaWdvIHBvciBkZWZhdWx0OyBtb3ZlIHAvIGFjY2VudC5cbi5tYXQtY2FsZW5kYXItYm9keS10b2RheTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSB7XG4gIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSAubWF0LWNhbGVuZGFyLWJvZHktdG9kYXk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCkge1xuICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuQGltcG9ydCAnY29sb3JzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUFJFU0VUIEdMT0JBTCBgLmZpbHRlci1zdHlsZWRgIHBhcmEgb3Mgd3JhcHBlcnMgYGFwcC10ZXh0LWlucHV0YCBlXG4vLyBgYXBwLXNlbGVjdC1pbnB1dGAgKGUgdmFyaWFudGVzIC1mbGFnLy1sZSBxdWUgY29tcGFydGlsaGFtIG8gdGVtcGxhdGUtYmFzZSkuXG4vL1xuLy8gTWVzbW8gY2hyb21lIGRvcyBwaWNrZXJzIEpFTVMzIChkYXRlcGlja2VyIC8gbnVtYmVyLWlucHV0IC8gdGhyZXNob2xkLWJhbmQpOlxuLy8gY2FpeGEgMzZweCwgcmFkaXVzL2JvcmRlci9iZyBkb3MgdG9rZW5zIGNocm9tZSwgc2VtIHVuZGVybGluZSBvdSBvdXRsaW5lXG4vLyBNYXRlcmlhbCBsZWdhZG9zLiBPcHQtaW4gcG9yIGNsYXNzZSBubyBob3N0IOKAlCBhc3NpbSBhIG1pZ3Jhw6fDo28gw6kgZ3JhZHVhbFxuLy8gKHDDoWdpbmEtYS1ww6FnaW5hKSBlIGZvcm1hcyByZWF0aXZhcy9uZ01vZGVsL3ZhbGlkYXRvcnMgY29udGludWFtIGludGFjdG9zLlxuLy9cbi8vIFVTTzpcbi8vICAgPGFwcC10ZXh0LWlucHV0IGNsYXNzPVwiZmlsdGVyLXN0eWxlZFwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgLi4uLz5cbi8vICAgPGFwcC1zZWxlY3QtaW5wdXQgY2xhc3M9XCJmaWx0ZXItc3R5bGVkXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiAuLi4vPlxuLy9cbi8vIENvbWJpbmUgY29tIGBbd2lkdGhdPVwiJzxuPidcImAgcXVhbmRvIHByZWNpc2FyIGRlIGxhcmd1cmEgZml4YSAoZGVmYXVsdFxuLy8gdmlyYSBvIGNvbnRlw7pkbyBuYXR1cmFsIOKAlCBob3N0IMOpIGBkaXNwbGF5OiBibG9ja2ApLlxuLy9cbi8vIE5PVEEg4oCUIHZpZXcgZW5jYXBzdWxhdGlvbiAoYGZlZWRiYWNrX2FuZ3VsYXJfdmlld19lbmNhcHN1bGF0aW9uYCk6IGVzdGVcbi8vIGFycXVpdm8gw6kgR0xPQkFMIChpbXBvcnRhZG8gZW0gYF9jb3JlLnNjc3NgKS4gTsOjbyB0ZW50ZSByZXBsaWNhciBlc3Nhc1xuLy8gcmVncmFzIG5vIHNjb3BlZCBzY3NzIGRvIGNvbXBvbmVudGUgY29uc3VtaWRvcjsgbyBBbmd1bGFyIGRyb3BhXG4vLyBzaWxlbmNpb3NhbWVudGUgcmVncmFzIHF1ZSB0b2NhbSBpbnRlcm5vcyBkbyBNYXRlcmlhbC5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJWZpbHRlci1zdHlsZWQtYm94IHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgLy8gV3JhcHBlciBpbnRlcm5vIGdlcmFkbyBwZWxvIGFwcC10ZXh0LWlucHV0IChgZGl2Lm51bWVyaWMtaW5wdXRgKSBlIHBlbG9zXG4gIC8vIGFwcC1zZWxlY3QtaW5wdXQvLWZsYWcvLWxlIChgZGl2LnNlbGVjdC1pbnB1dGAvYGRpdi5zZWxlY3QtaW5wdXQtbGVgKS5cbiAgLy8gTyBgLnRpLWRlc2NyaXB0aW9uYCBtb3JhIERFTlRSTyBkZXNzZSB3cmFwcGVyIChpZ3VhbCBhbyBgZHQtZGVzY3JpcHRpb25gXG4gIC8vIGRlbnRybyBkbyBgLmRhdGVwaWNrZXItaW5wdXRgKSBwcmEgZXNjYXBhciBkbyBwYWRkaW5nIGRvIGAuY29sdW1uYCBCdWxtYVxuICAvLyBkbyBwYWkg4oCUIGVudMOjbyDDqSBvIFdSQVBQRVIgcXVlIGdhbmhhIGBwb3NpdGlvbjogcmVsYXRpdmVgLCBuw6NvIG8gaG9zdC5cbiAgPiAubnVtZXJpYy1pbnB1dCxcbiAgPiBkaXYuc2VsZWN0LWlucHV0LFxuICA+IGRpdi5zZWxlY3QtaW5wdXQtbGUsXG4gID4gZGl2IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICBtYXQtZm9ybS1maWVsZCB7IHdpZHRoOiAxMDAlOyBtaW4td2lkdGg6IDA7IH1cblxuICAvLyBaZXJhIG8gY2hyb21lIGxlZ2FjeS9vdXRsaW5lIGRvIE1hdGVyaWFsIOKAlCB2YW1vcyBwaW50YXIgYSBjYWl4YSBuw7NzIG1lc21vcy5cbiAgLy8gRXNjb25kZSB0YW1iw6ltIG8gYC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyYCAobyBtYXQtbGFiZWwgZmx1dHVhbnRlXG4gIC8vIGludGVybm8gZG8gTWF0ZXJpYWwpIOKAlCB1c2Ftb3MgbGFiZWwgRVNUUlVUVVJBTCBleHRlcm5vICgudGktZGVzY3JpcHRpb24pLlxuICAubWF0LWZvcm0tZmllbGQtd3JhcHBlciB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgbWluLXdpZHRoOiAwOyB9XG4gIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLm1hdC1wbGFjZWhvbGRlci1yZXF1aXJlZCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIC8vIFN1YnNjcmlwdC13cmFwcGVyICjDoXJlYSBkZSBlcnJvL2hpbnQgZG8gTWF0ZXJpYWwpIOKAlCBwb3NpY2lvbmFkb1xuICAvLyBBQlNPTFVUTyBsb2dvIGFiYWl4byBkYSBjYWl4YSwgcHJhIG7Do28gZW1wdXJyYXIgbyBsYXlvdXQuIFPDsyBmaWNhXG4gIC8vIHZpc8OtdmVsIHF1YW5kbyBvIGZvcm0tZmllbGQgZXN0w6EgaW52w6FsaWRvIEUgdG91Y2hlZC9kaXJ0eSAoTWF0ZXJpYWxcbiAgLy8gasOhIGNvbnRyb2xhIGlzc28gdmlhIGBtYXQtZm9ybS1maWVsZC1pbnZhbGlkYCkuXG4gIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAycHg7XG4gICAgcmlnaHQ6IDJweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICAubWF0LWVycm9yIHtcbiAgICBjb2xvcjogJGFjY2VudC1jb2xvci13YXJuaW5nO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAvLyBFc2NvbmRlIG1hdC1oaW50IChpbmNsdWluZG8gbyBgP2AgZG8gYFtoZWxwXWApIG5hIMOhcmVhIGRlIHN1YnNjcmlwdCBwcmFcbiAgLy8gbsOjbyBzb2JyZXBvciBkaXZpZGVycyBlbnRyZSBzZcOnw7Vlcy4gTyBzdWJzY3JpcHQgQUJTT0xVVEUgZXhww7VlIHPDs1xuICAvLyBlcnJvcyDigJQgZmVlZGJhY2sgaW5mb3JtYXRpdm8gKGBbaGVscF1gKSBkZXZlIGlyIGVtIG91dHJvIGx1Z2FyLlxuICAubWF0LWZvcm0tZmllbGQtaGludC13cmFwcGVyLFxuICAubWF0LWhpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAvLyBMYWJlbCBFU1RSVVRVUkFMIGFjaW1hIGRhIGNhaXhhIOKAlCBtZXNtbyBwYWRyw6NvIGRvcyBkZW1haXMgcGlja2VycyBnbG9iYWlzXG4gIC8vIChgLmR0LWRlc2NyaXB0aW9uYCBubyBkYXRlcGlja2VyLCBgLm5pLWRlc2NyaXB0aW9uYCBubyBudW1iZXItaW5wdXQpLlxuICAvLyBSZW5kZXJpemFkbyBwZWxvIHRlbXBsYXRlIGRvIHdyYXBwZXIgKGA8bGFiZWwgKm5nSWY9XCJkZXNjcmlwdGlvblwiXG4gIC8vIGNsYXNzPVwidGktZGVzY3JpcHRpb25cIj5gKSBBTlRFUyBkbyBtYXQtZm9ybS1maWVsZC4gUG9zaWNpb25hbWVudG9cbiAgLy8gQUJTT0xVVE8gc29icmUgbyBob3N0IChxdWUgdGVtIGBwb3NpdGlvbjogcmVsYXRpdmVgKS5cbiAgLnRpLWRlc2NyaXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDJweDtcbiAgICByaWdodDogMnB4O1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MzA7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87ICAgLy8gcGVybWl0ZSBvIGhvdmVyIOKGkiBtYXRUb29sdGlwIChhcHBPdmVyZmxvd1Rvb2x0aXApIG5vIGxhYmVsXG5cbiAgICAvLyBNYXJjYWRvciBkZSBjYW1wbyBvYnJpZ2F0w7NyaW8gKGA8c3BhbiBjbGFzcz1cInJlcXVpcmVkLW1hcmtcIj4qPC9zcGFuPmApLlxuICAgIC8vIFZlcm1lbGhvIGluc3RpdHVjaW9uYWwgKyBtYXJnaW4tbGVmdCBtw61uaW1vIOKAlCBzZWd1ZSBjb252ZW7Dp8OjbyBkb1xuICAgIC8vIHNpc3RlbWEgKHVzYWRhIHRhbWLDqW0gZW0gYC5qZW1zLXNlbGVjdC1kZXNjcmlwdGlvbmApLlxuICAgIC5yZXF1aXJlZC1tYXJrIHtcbiAgICAgIGNvbG9yOiAkYWNjZW50LWNvbG9yLXdhcm5pbmc7XG4gICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cblxuICAvLyBBIGNhaXhhIHZpc8OtdmVsIOKAlCBnZW9tZXRyaWEvdG9rZW5zIGlndWFpcyBhb3MgZGVtYWlzIHBpY2tlcnMgZG8gSkVNUzMuXG4gIC8vIGBtYXJnaW4tdG9wOiAxNnB4YCByZXNlcnZhIG8gZXNwYcOnbyBkbyBsYWJlbC1hY2ltYSAobGFiZWwgYWJzb2x1dG8gbm9cbiAgLy8gdG9wbyBkYSBgLm1hdC1mb3JtLWZpZWxkYCk7IG1lc21vIG9mZnNldCB1c2FkbyBwZWxvXG4gIC8vIGAuZHQtZGVzY3JpcHRpb24gKyBtYXQtZm9ybS1maWVsZGAgbm8gZGF0ZXBpY2tlciBlIHBlbG9cbiAgLy8gYC5uaS1kZXNjcmlwdGlvbiArIC5udW1iZXItaW5wdXQtYm94YCBubyBudW1iZXItaW5wdXQuXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogJGNvbnRyb2wtaGVpZ2h0O1xuICAgIG1pbi1oZWlnaHQ6ICRjb250cm9sLWhlaWdodDtcbiAgICBtYXJnaW46IDE2cHggMCAwO1xuICAgIHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTtcbiAgICAvLyBIb3Zlci9mb2NvIGluc3RhbnTDom5lb3Mg4oCUIHNlbSB0cmFuc2nDp8OjbyAoYSBwZWRpZG8gZG8gdXN1w6FyaW8pLlxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gUXVhbmRvIGjDoSBib3TDo28gZGUgY29waWFyIG5vIHN1ZmZpeCAoYGFwcC10ZXh0LWlucHV0IFtjb3B5VmFsdWVdYCksXG4gIC8vIHplcmEgbyBwYWRkaW5nLXJpZ2h0IHBybyBib3TDo28gZmljYXIgZmx1c2ggY29tIGEgYm9yZGEgZGlyZWl0YS5cbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aGFzKC50aS1jb3B5LWJ0bikge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7ICAgICAgICAgICAgIC8vIGNlbnRyYWxpemEgbyBpbnB1dCB2ZXJ0aWNhbG1lbnRlIHZpYSBmbGV4XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoOyAgICAgICAvLyBvY3VwYSB0b2RhIGEgYWx0dXJhIGRvIGAubWF0LWZvcm0tZmllbGQtZmxleGBcbiAgfVxuXG4gIC8vIFByZWZpeC9zdWZmaXggY29tIGEgTUVTTUEgdGlwb2dyYWZpYS9iYXNlbGluZSBkbyBpbnB1dCDigJQgdmlzdWFsbWVudGVcbiAgLy8gY29udMOtbnVvcyAoZXguOiBwcmVmaXggY29tIGEgVVJMLWJhc2UsIGlucHV0IGNvbSBvIHNsdWcgZG8gZXZlbnRvKS5cbiAgLy8gbGluZS1oZWlnaHQgZml4byBpZMOqbnRpY28gYW8gZG8gaW5wdXQgKyBkaXNwbGF5OiBpbmxpbmUtZmxleCArIGNlbnRlclxuICAvLyBhbGlnbm1lbnQgZ2FyYW50ZW0gcXVlIHByZWZpeCBlIGlucHV0IGZpcXVlbSBubyBNRVNNTyBlaXhvIHZlcnRpY2FsXG4gIC8vIChzZW0gaXNzbywgbyBsZWdhY3kgYXBsaWNhIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSBjb20gdHJhbnNmb3JtXG4gIC8vIHByw7NwcmlvIGRvIHByZWZpeCwgcXVlIGRlc2FsaW5oYSBsZXZlbWVudGUpLlxuICAubWF0LWZvcm0tZmllbGQtcHJlZml4LFxuICAubWF0LWZvcm0tZmllbGQtc3VmZml4IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgZm9udC1zaXplOiAkY29udHJvbC1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRjb250cm9sLWNvbnRlbnQtd2VpZ2h0O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICAvLyBUZXh0byBkbyBwcmVmaXgvc3VmZml4IHNlbGVjaW9uw6F2ZWwgY29tIGN1cnNvciBkZSB0ZXh0by4gTWF0ZXJpYWwgcG9yXG4gICAgLy8gZGVmYXVsdCB1c2EgYHVzZXItc2VsZWN0OiBub25lYCBlbSBwcmVmaXgvc3VmZml4IChlc3BlcmFuZG8gw61jb25lcyk7XG4gICAgLy8gYXF1aSBmb3LDp2Ftb3MgdGV4dG8tbGlrZSBwcmEgdXN1w6FyaW8gcG9kZXIgZGVzdGFjYXIgZSBjb3BpYXIgbyB0cmVjaG8uXG4gICAgdXNlci1zZWxlY3Q6IHRleHQ7XG4gICAgY3Vyc29yOiB0ZXh0O1xuICB9XG5cbiAgLy8gSW5wdXQgY29tIGxpbmUtaGVpZ2h0IGZpeG8gaWTDqm50aWNvIGFvIHByZWZpeC9zdWZmaXguIGAhaW1wb3J0YW50YFxuICAvLyBwcmEgdmVuY2VyIG8gYG1hcmdpbi10b3A6IC0wLjA2MjVlbWAgZSBgdmVydGljYWwtYWxpZ246IGJvdHRvbWAgcXVlXG4gIC8vIG8gTWF0ZXJpYWwgbGVnYWN5IGFwbGljYSBubyBgLm1hdC1pbnB1dC1lbGVtZW50YCAocXVlIHRlbSBtZXNtYVxuICAvLyBlc3BlY2lmaWNpZGFkZSBxdWUgYSBub3NzYSByZWdyYSkuIFNlbSBhbHR1cmEgZml4YSBwcmEgZGVpeGFyIG8gZmxleFxuICAvLyBkbyBpbmZpeCBjZW50cmFsaXphciBvIGlucHV0LlxuICAubWF0LWlucHV0LWVsZW1lbnQge1xuICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIFRpcG9ncmFmaWEgZG8gSU5QVVQvU0VMRUNUIOKAlCBhbGluaGEgY29tIGAuY2hpcC1pbnB1dGAgZG8gZmlsdHJvXG4gIC8vICgxNC80MDAvLTAuMDFlbSkgdXNhZGEgbm9zIGRlbWFpcyBwcmVzZXRzIGRvIHNpc3RlbWEuXG4gIC5tYXQtaW5wdXQtZWxlbWVudCxcbiAgLm1hdC1zZWxlY3QtdmFsdWUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAkY29udHJvbC1mb250LXNpemUgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogJGNvbnRyb2wtY29udGVudC13ZWlnaHQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIH1cblxuICAvLyBIb3Zlci9mb2NvIOKAlCBNRVNNQSBsaW5ndWFnZW0gZG8gYGFwcC1kYXRldGltZXBpY2tlci1pbnB1dC5maWx0ZXItc3R5bGVkYFxuICAvLyAoZSBkbyBgLmNoaXAtZXhwYW5kZWRgKTogaG92ZXIgZ2FuaGEgcmluZyAxcHggbmEgYm9yZGEtYWN0aXZlOyBmb2NvXG4gIC8vIG1hbnTDqW0gbyByaW5nIG1hcyB0cm9jYSBhIGNvciBwZWxvIGFjY2VudC5cbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7XG4gIH1cbiAgJi5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtZmxleCxcbiAgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1mbGV4LFxuICAubWF0LWZvcm0tZmllbGQtZmxleDpmb2N1cy13aXRoaW4ge1xuICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYWNjZW50LWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBFc3RhZG8gaW52w6FsaWRvIOKAlCBib3JkYSB2ZXJtZWxoYSAoc2VtIG8gXCJyaW5nXCIgZGUgZXJybyBncm9zc28gZG8gTWF0ZXJpYWwpLlxuICAubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWNvbG9yLXdhcm5pbmc7XG4gIH1cblxuICAvLyBFc3RhZG8gREVTQUJJTElUQURPIChleC46IHNlbGVjdCBkZSBmaWx0cm8gc2VtIG9ww6fDtWVzIHByYSBtb3N0cmFyKTogY2FpeGFcbiAgLy8gYXBlbmFzIGVzbWFlY2lkYS4gYHBvaW50ZXItZXZlbnRzOiBub25lYCBuYSBjYWl4YSDDqSBvIHB1bG8gZG8gZ2F0byDigJQgc2VtXG4gIC8vIGV2ZW50b3MgZGUgbW91c2UgbyBgOmhvdmVyYCBOVU5DQSBkaXNwYXJhLCBlbnTDo28gbyBzdWItYm90w6NvIGRvIGNoZXZyb24gbsOjb1xuICAvLyBcImFjZW5kZVwiLCBuw6NvIGFwYXJlY2UgY3Vyc29yIGJsb3F1ZWFkbyBlIG5lbmh1bSByZWFsY2UgZXNjYXBhLiBPIHNlbGVjdCBqw6FcbiAgLy8gZXN0w6EgZGVzYWJpbGl0YWRvIChuYWRhIHByYSBjbGljYXIpLCBlbnTDo28gemVyYXIgcG9pbnRlci1ldmVudHMgw6kgc2VndXJvLlxuICAvLyBPIE1hdGVyaWFsIG1hcmNhIG8gYG1hdC1mb3JtLWZpZWxkYCBjb20gYC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZGAuXG4gIC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgb3BhY2l0eTogMC41NTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLy8gTGFiZWwgZXNtYWVjaWRvIGp1bnRvIHF1YW5kbyBhIGNhaXhhIGVzdMOhIGRlc2FiaWxpdGFkYS4gTyBgLnRpLWRlc2NyaXB0aW9uYFxuICAvLyDDqSBpcm3Do28gQU5URVJJT1IgZG8gbWF0LWZvcm0tZmllbGQgKGZvcmEgZG8gYWxjYW5jZSBkZSBjb21iaW5hdG9yIGNvbXVtKSxcbiAgLy8gZW50w6NvIGRldGVjdGFtb3MgbyBlc3RhZG8gcGVsbyB3cmFwcGVyIGNvbSBgOmhhcygpYC5cbiAgPiBkaXY6aGFzKC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCkgLnRpLWRlc2NyaXB0aW9uIHtcbiAgICBvcGFjaXR5OiAwLjU1O1xuICB9XG59XG5cbi8vIOKUgOKUgOKUgCBWYXJpYW50OiB0ZXh0LWlucHV0IChpbnB1dCBzaW1wbGVzKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbmFwcC10ZXh0LWlucHV0LmZpbHRlci1zdHlsZWQge1xuICBAZXh0ZW5kICVmaWx0ZXItc3R5bGVkLWJveDtcbn1cblxuLy8g4pSA4pSA4pSAIFZhcmlhbnQ6IHBhc3N3b3JkLWlucHV0IChlc3RlbmRlIFRleHRJbnB1dENvbXBvbmVudCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5hcHAtcGFzc3dvcmQtaW5wdXQuZmlsdGVyLXN0eWxlZCB7XG4gIEBleHRlbmQgJWZpbHRlci1zdHlsZWQtYm94O1xufVxuXG4vLyDilIDilIDilIAgVmFyaWFudDogaW5wdXQtZmlsdGVyLWF1dG9jb21wbGV0ZSAoaW5wdXQgKyBtYXQtYXV0b2NvbXBsZXRlKSDilIDilIDilIDilIBcbi8vIEVzdGVuZGUgVGV4dElucHV0Q29tcG9uZW50IOKAlCBoZXJkYSBgZGVzY3JpcHRpb25gIGUgdmlzdWFsIGRlIGlucHV0LlxuYXBwLWlucHV0LWZpbHRlci1hdXRvY29tcGxldGUuZmlsdGVyLXN0eWxlZCB7XG4gIEBleHRlbmQgJWZpbHRlci1zdHlsZWQtYm94O1xufVxuXG4vLyDilIDilIDilIAgVmFyaWFudDogbXVsdGlsaW5lLXRleHQtaW5wdXQgKHRleHRhcmVhKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIERpZmVyZW50ZSBkb3MgZGVtYWlzOiBhbHR1cmEgbsOjby1maXhhIChjcmVzY2UgY29tIGBbcm93c11gKS4gUmV1c2EgYVxuLy8gY2FpeGEgY2hyb21lIG1hcyBsaWJlcmEgaGVpZ2h0IGF1dG8vbWluLWhlaWdodC5cbmFwcC1tdWx0aWxpbmUtdGV4dC1pbnB1dC5maWx0ZXItc3R5bGVkIHtcbiAgQGV4dGVuZCAlZmlsdGVyLXN0eWxlZC1ib3g7XG5cbiAgLy8gV3JhcHBlciBsb2NhbCBlc3BlY8OtZmljbyBkbyBtdWx0aWxpbmUgKGBkaXYubXVsdGlsaW5lLXRleHQtaW5wdXRgKS5cbiAgPiAubXVsdGlsaW5lLXRleHQtaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC8vIEJveCBhYnJhw6dhIG8gdGV4dGFyZWEg4oCUIHNlbSBhbHR1cmEgZml4YSBuZW0gbWluLWhlaWdodCBwcsOzcHJpbyAobyBtaW4gw6lcbiAgLy8gZG8gdGV4dGFyZWEpOyBwYWRkaW5nIHZlcnRpY2FsIG1hbnTDqW0gbyByZXNwaXJvIGludGVybm8uIGBtYXJnaW46IDBgXG4gIC8vIHNvYnJlc2NyZXZlIG8gYG1hcmdpbjogMTZweCAwIDBgIGhlcmRhZG8gZG8gYmFzZSBwcmVzZXQgKHF1ZSByZXNlcnZhcmlhXG4gIC8vIGVzcGHDp28gcHJvIGxhYmVsLWFjaW1hIGFic29sdXRvIOKAlCBuw6NvIHVzYWRvIG5vIG11bHRpbGluZSBwYWRyw6NvKS5cbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogOHB4IDEwcHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIFF1YW5kbyBIw4EgZGVzY3JpcHRpb24gbGFiZWwgKGAudGktZGVzY3JpcHRpb25gKSwgcmVzdGF1cmEgYSByZXNlcnZhIGRlXG4gIC8vIDE2cHggbm8gdG9wbyBwcmEgcXVlIG8gbGFiZWwgYWJzb2x1dG8gbsOjbyBmaXF1ZSBzb2JyZXBvc3RvIGFvIHRleHRhcmVhLlxuICAmOmhhcyg+IC5tdWx0aWxpbmUtdGV4dC1pbnB1dCA+IC50aS1kZXNjcmlwdGlvbikgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgIG1hcmdpbi10b3A6IDE2cHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIE92ZXJyaWRlIGRvIGluZml4LWZsZXggaGVyZGFkbyBkbyBiYXNlIHByZXNldCAobmVjZXNzw6FyaW8gcHJvIGFsaW5oYW1lbnRvXG4gIC8vIHByZWZpeCtpbnB1dCBubyB0ZXh0LWlucHV0KS4gUHJvIG11bHRpbGluZSwgdGV4dGFyZWEgw6kgbyDDum5pY28gZmlsaG8gZVxuICAvLyBxdWVyZW1vcyBxdWUgZWxlIFwiZmlxdWUgY29sYWRvXCIgbm8gdG9wbyBkbyBib3gsIHNlbSBjZW50cmFsaXphw6fDo28gb3VcbiAgLy8gc3RyZXRjaCBxdWUgY3JpYSBnYXAgYWNpbWEgZG8gdGV4dG8uXG4gIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYWxpZ24tc2VsZjogYXV0bztcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBUZXh0YXJlYSBhdXRvLWNyZXNjZSB2aWEgYGNka1RleHRhcmVhQXV0b3NpemVgIOKAlCBgcmVzaXplOiBub25lYCBkZXNsaWdhXG4gIC8vIG8gaGFuZGxlIG1hbnVhbCBkbyBicm93c2VyIChDREsgYWp1c3RhIHNvemluaG8gYW8gY29udGXDumRvKS4gYG92ZXJmbG93OlxuICAvLyBoaWRkZW5gIGltcGVkZSBzY3JvbGxiYXIg4oCUIGEgY2FpeGEgU0VNUFJFIG1vc3RyYSB0b2RvIG8gdGV4dG8uXG4gIC8vIEEgYWx0dXJhIE3DjU5JTUEgw6kgY29udHJvbGFkYSBwZWxvIGBbY2RrQXV0b3NpemVNaW5Sb3dzXWAgbm8gdGVtcGxhdGVcbiAgLy8gKGNvbnN1bWlkb3JlcyBwYXNzYW0gYHJvd3M9XCJOXCJgKSDigJQgTsODTyB1c2FyIENTUyBgbWluLWhlaWdodGAgYXF1aVxuICAvLyAoY2F1c2EgZG91YmxlLW1pbiBjb20gbyBDREsgZSBhIGNhaXhhIGNyZXNjZSBlcnJhZG8pLlxuICB0ZXh0YXJlYS5tYXQtaW5wdXQtZWxlbWVudCB7XG4gICAgcmVzaXplOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7ICAgICAgIC8vIENESyBhdXRvc2l6ZSBtZWRlIGVtIGNvbnRlbnQtYm94OyBzZW0gaXN0byBib3JkYStwYWRkaW5nIHBvZGVtIGNsaXBhclxuICAgIC8vIGxpbmUtaGVpZ2h0IGV4cGzDrWNpdG8gKDEuNSA9IGVzcGHDp2FtZW50byByZXNwaXLDoXZlbCBkZSBsZWl0dXJhKSDigJRcbiAgICAvLyBgbm9ybWFsYCBjYXVzYSBvIGBjZGtUZXh0YXJlYUF1dG9zaXplYCBhIHN1Yi1tZWRpciBvIHNjcm9sbEhlaWdodFxuICAgIC8vIChicm93c2VycyByZXRvcm5hbSB1bSB2YWxvciBxdWUgZGlmZXJlIGFsZ3VucyBweCBkbyBhbHR1cmEgcmVhbCxcbiAgICAvLyBjbGlwYW5kbyBhIMO6bHRpbWEgbGluaGEpLiBWYWxvciBudW3DqXJpY28gw6kgZGV0ZXJtaW7DrXN0aWNvLlxuICAgIC8vIGAhaW1wb3J0YW50YCBzb2JyZXNjcmV2ZSBvIGBsaW5lLWhlaWdodDogMWAgZG8gYmFzZSBwcmVzZXQgKHF1ZSDDqVxuICAgIC8vIHBybyBhbGluaGFtZW50byBwcmVmaXgraW5wdXQgbm8gaW5saW5lIGlucHV0KS5cbiAgICBsaW5lLWhlaWdodDogMS41ICFpbXBvcnRhbnQ7XG4gICAgLy8gUGFkZGluZy1ib3R0b20gMnB4ID0gYnVmZmVyIHByYSBjb2JyaXIgYXJyZWRvbmRhbWVudG9zIGRvIGF1dG9zaXplXG4gICAgLy8gcXVlIGFpbmRhIGFzc2ltIGNvcnRhbSBhIMO6bHRpbWEgbGluaGEgZW0gYWxndW5zIGJyb3dzZXJzL2ZvbnRlcy5cbiAgICBwYWRkaW5nOiAwIDAgMnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8g4pSA4pSA4pSAIFZhcmlhbnQ6IHNlbGVjdC1pbnB1dCAoY29tYm8gYm94KSBlIHZhcmlhbnRlcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFJlZmluYWRvIDIwMjYtMDYgcHJhIHB1eGFyIGxpbmd1YWdlbSBOQVRJVkEgZGUgc2VsZWN0IGRvIG1hY09TL1dpbmRvd3M6XG4vLyAgIDEuIEJnIGRhIGNhaXhhIG1haXMgU1VUSUwgKHNlbWktdHJhbnNwYXJlbnRlLCBlc3RpbG8gTlNQb3BVcEJ1dHRvbikuXG4vLyAgIDIuIENoZXZyb24gRFVQTE8gKOKHhSB1cCtkb3duKSBjb21vIG5vIG1hY09TLlxuLy8gICAzLiBTVUItQk9Uw4NPIHZpc3VhbCDDoCBkaXJlaXRhIChsZXZlIGJnICsgYm9yZGVyLWxlZnQpIGNvbW8gV2luZG93cy5cbi8vICAgNC4gRXN0YWRvcyBkZSBmb2NvL2hvdmVyIHBlcm1hbmVjZW0gaW50YWN0b3MgKGFjY2VudCkg4oCUIHPDsyBvIHJlc3RvIG11ZGEuXG5hcHAtc2VsZWN0LWlucHV0LmZpbHRlci1zdHlsZWQsXG5hcHAtc2VsZWN0LWlucHV0LWZsYWcuZmlsdGVyLXN0eWxlZCxcbmFwcC1zZWxlY3QtaW5wdXQtbGUuZmlsdGVyLXN0eWxlZCB7XG4gIEBleHRlbmQgJWZpbHRlci1zdHlsZWQtYm94O1xuXG4gIC8vIDEpIEJnIHNlbWktdHJhbnNwYXJlbnRlIHNvYnJlIG8gY2FudmFzIOKAlCBmbHV0dWEgc3V0aWwsIGVzdGlsbyBtYWNPUy5cbiAgLy8gICAgTWFudMOpbSBsZWdpYmlsaWRhZGUgZG8gdGV4dG8gKGJvcmRhIGNvbnRpbnVhIGRlZmluaW5kbyBvIGJveCkuXG4gIC8vICAgIOKaoCBOw4NPIHNvYnJlc2NyZXZlciBgZGlzcGxheWAvYGFsaWduLWl0ZW1zYCBkbyBgLm1hdC1zZWxlY3QtdmFsdWVgIG91XG4gIC8vICAgIGAubWF0LXNlbGVjdC10cmlnZ2VyYCDigJQgTWF0ZXJpYWwgbGVnYWN5IHVzYSBgZGlzcGxheTogdGFibGUtY2VsbGAgbm9cbiAgLy8gICAgdmFsdWU7IHRyb2NhciBwLyBmbGV4IGZheiBvIHRleHRvIHN1bWlyLlxuICAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcyKTtcbiAgfVxuXG4gIC8vIE1hdGVyaWFsIDExIHVzYSBgZGlzcGxheTogaW5saW5lLXRhYmxlYCBubyBgLm1hdC1zZWxlY3QtdHJpZ2dlcmAgKGNvbVxuICAvLyB2YWx1ZS9hcnJvdyBjb21vIHRhYmxlLWNlbGxzKS4gSXNzbyBpbXBlZGUgbyB3cmFwcGVyIGRvIGFycm93IGRlXG4gIC8vIHJlc3BlaXRhciBgYWxpZ24tc2VsZmAgZSB0cmF2YSBhIGFsdHVyYSBkYSByb3cgbmEgZG8gdGV4dG8uIEZvcsOnYW1vc1xuICAvLyBGTEVYIG5vIHRyaWdnZXIgZSBgZGlzcGxheTogYmxvY2s7IGZsZXg6IDEgMSBhdXRvYCBubyB2YWx1ZSBwcmFcbiAgLy8gcHJlc2VydmFyIG8gcmVuZGVyaW5nIGRvIHRleHRvIChlbGxpcHNpcykg4oCUIHNlbSBxdWVicmFyIG9cbiAgLy8gYDxtYXQtc2VsZWN0LXZhbHVlLXRleHQ+YCwgcXVlIGVyYSBvIG1vdGl2byBvcmlnaW5hbCBkZSBtYW50ZXIgb1xuICAvLyBkaXNwbGF5OiB0YWJsZS1jZWxsIG5vIHZhbHVlLlxuICAubWF0LXNlbGVjdC10cmlnZ2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1hdC1zZWxlY3QtdmFsdWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICAvLyAzKSBTdWItYm90w6NvIGRvIGNoZXZyb24g4oCUIFFVQURSQURPIGNvbSBjYW50b3MgNHB4IChpZMOqbnRpY28gYW9cbiAgLy8gICAgYGFwcC1qZW1zLXNlbGVjdGApLiBCZyB2aWEgdG9rZW4gYCRzdXJmYWNlLXJhaXNlZGAgKGhhcm1vbml6YSBjb21cbiAgLy8gICAgbyByZXN0byBkbyBjaGFpciBVSSkuIE1hcmdlbSBuZWdhdGl2YSA4cHggcHV4YSBvIHN1Yi1ib3TDo28gcHJhXG4gIC8vICAgIH4ycHggZGEgYm9yZGEgZGlyZWl0YSBkbyBib3ggKHBhZGRpbmctcmlnaHQgZG8gZmxleCDDqSAxMHB4KS5cbiAgLm1hdC1zZWxlY3QtYXJyb3ctd3JhcHBlciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtOHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTsgICAvLyBtZXNtYSBjb3IgZGEgYm9yZGEgZGEgY2FpeGE7IGVzdMOhdGljYVxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgICAgICAgICAgICAgICAgICAgIC8vIFwic29tZVwiIG5hIGNhaXhhOyBob3ZlciBkYSBjYWl4YSBwcmVlbmNoZVxuICAgIC8vIFplcmEgbGluZS1oZWlnaHQgKyB0cmFuc2Zvcm0gaGVyZGFkb3MgZG8gTWF0ZXJpYWwg4oCUIGV2aXRhIG9mZnNldFxuICAgIC8vIHZlcnRpY2FsIGZhbnRhc21hIGRlbnRybyBkbyBjw61yY3Vsby5cbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLy8gSG92ZXIgZGEgQ0FJWEEgRSBtZW51IGFiZXJ0byAobWF0LWZvY3VzZWQg4oaSIG1hdC1zZWxlY3QgY29tIHBhaW5lbCBhYmVydG8pXG4gIC8vIOKGkiBzdWItYm90w6NvIGdhbmhhIGZpbGwgZG8gdG9rZW4gZSBvIGNoZXZyb24gXCJhY2VuZGVcIiAoY29yIG1haXMgZXNjdXJhL2NsYXJhKS5cbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aG92ZXIgLm1hdC1zZWxlY3QtYXJyb3ctd3JhcHBlcixcbiAgLm1hdC1mb2N1c2VkIC5tYXQtc2VsZWN0LWFycm93LXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWNvbnRhaW5lci1iZztcbiAgfVxuICAubWF0LWZvcm0tZmllbGQtZmxleDpob3ZlciAubWF0LXNlbGVjdC1hcnJvdyxcbiAgLm1hdC1mb2N1c2VkIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICBjb2xvcjogJGljb24tbXV0ZWQtaG92ZXI7XG4gIH1cblxuICAvLyAyKSBDaGV2cm9uIERVUExPICh1cCtkb3duKSDigJQgU0YgU3ltYm9sIGBjaGV2cm9uLnVwLmNoZXZyb24uZG93bmAgZW1cbiAgLy8gICAgcGVzbyBgLm1lZGl1bWAuIENvciB2aWEgYFVJQ29sb3Iuc2Vjb25kYXJ5TGFiZWxgIGRhIEFwcGxlXG4gIC8vICAgIChsaWdodDogcmdiYSg2MCw2MCw2NywwLjYwKSAvIGRhcms6IHJnYmEoMjM1LDIzNSwyNDUsMC42MCkpLlxuICAvLyAgICBUYW1hbmhvIH4xMMOXMTJwdCBtZWRpZG8gZW0gcHJpbnRzIGRvIFN5c3RlbSBTZXR0aW5ncy5cbiAgLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgLy8gTWF0ZXJpYWwgYXBsaWNhIGB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1JSlgIG5vIGFycm93IHAvIGNvbXBlbnNhclxuICAgIC8vIG8gdHJpw6JuZ3VsbyBDU1MtYm9yZGVyIG9yaWdpbmFsLiBDb21vIHVzYW1vcyBTVkcgbWFzaywgbyB0cmFuc2Zvcm1cbiAgICAvLyBzw7MgZGVzY2VudHJhbGl6YSDigJQgemVyYW1vcy5cbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgLXdlYmtpdC1tYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEwJyBoZWlnaHQ9JzEyJyB2aWV3Qm94PScwIDAgMTAgMTInPjxwYXRoIGQ9J00yIDQgTDUgMSBMOCA0JyBmaWxsPSdub25lJyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8+PHBhdGggZD0nTTIgOCBMNSAxMSBMOCA4JyBmaWxsPSdub25lJyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8+PC9zdmc+XCIpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICAgICAgICAgICAgbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMCcgaGVpZ2h0PScxMicgdmlld0JveD0nMCAwIDEwIDEyJz48cGF0aCBkPSdNMiA0IEw1IDEgTDggNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvPjxwYXRoIGQ9J00yIDggTDUgMTEgTDggOCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvPjwvc3ZnPlwiKSBuby1yZXBlYXQgY2VudGVyIC8gY29udGFpbjtcbiAgfVxufVxuXG4uZGFyay10aGVtZSB7XG4gIGFwcC1zZWxlY3QtaW5wdXQuZmlsdGVyLXN0eWxlZCxcbiAgYXBwLXNlbGVjdC1pbnB1dC1mbGFnLmZpbHRlci1zdHlsZWQsXG4gIGFwcC1zZWxlY3QtaW5wdXQtbGUuZmlsdGVyLXN0eWxlZCB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTsgICAvLyBzdXRpbCBlbSBkYXJrXG4gICAgfVxuICAgIC5tYXQtc2VsZWN0LWFycm93LXdyYXBwZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlO1xuICAgIH1cbiAgICAubWF0LWZvcm0tZmllbGQtZmxleDpob3ZlciAubWF0LXNlbGVjdC1hcnJvdy13cmFwcGVyLFxuICAgIC5tYXQtZm9jdXNlZCAubWF0LXNlbGVjdC1hcnJvdy13cmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWNvbnRhaW5lci1iZy1kYXJrO1xuICAgIH1cbiAgICAubWF0LWZvcm0tZmllbGQtZmxleDpob3ZlciAubWF0LXNlbGVjdC1hcnJvdyxcbiAgICAubWF0LWZvY3VzZWQgLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgICAgY29sb3I6ICRpY29uLW11dGVkLWhvdmVyLWRhcms7XG4gICAgfVxuICAgIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICAgIGNvbG9yOiAkaWNvbi1tdXRlZC1kYXJrO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCdWxtYSBgLmNvbHVtbmAgZGVmYXVsdCB0ZW0gYHBhZGRpbmc6IDAuNzVyZW1gICgxMnB4KS4gUHJvcyB3cmFwcGVyc1xuLy8gZGUgZm9ybXVsw6FyaW8gZG8gSkVNUzMgcmVkdXppbW9zIHByYSA2cHgg4oaSIGdyYWRlIG1haXMgY29tcGFjdGEsIGNvbVxuLy8gbWVub3MgXCJhclwiIGVudHJlIGFzIGNhaXhhcy4gVmFsZSB0YW50byBwcm9zIHdyYXBwZXJzIGNvbSBgLmZpbHRlci1zdHlsZWRgXG4vLyBxdWFudG8gcHJvcyBxdWUgdXNhbSBgW3dpZHRoXWAgKG51bWJlci1pbnB1dCwgZGF0ZXRpbWVwaWNrZXIpLlxuYXBwLXRleHQtaW5wdXQuY29sdW1uLFxuYXBwLXBhc3N3b3JkLWlucHV0LmNvbHVtbixcbmFwcC1zZWxlY3QtaW5wdXQuY29sdW1uLFxuYXBwLXNlbGVjdC1pbnB1dC1mbGFnLmNvbHVtbixcbmFwcC1zZWxlY3QtaW5wdXQtbGUuY29sdW1uLFxuYXBwLWlucHV0LWZpbHRlci1hdXRvY29tcGxldGUuY29sdW1uLFxuYXBwLW11bHRpbGluZS10ZXh0LWlucHV0LmNvbHVtbixcbmFwcC1udW1iZXItaW5wdXQuY29sdW1uLFxuYXBwLWRhdGV0aW1lcGlja2VyLWlucHV0LmNvbHVtbixcbmFwcC1qZW1zLXNlbGVjdC5jb2x1bW4ge1xuICBwYWRkaW5nOiA2cHg7XG59XG5cbi8vIE1vYmlsZSAo4omkNzY4cHgpOiBmb3LDp2Egb3Mgd3JhcHBlcnMgSkVNUzMgYSBzZSBjb21wb3J0YXJlbSBjb21vXG4vLyBibG9jayAxMDAlIHdpZHRoLCB2ZW5jZW5kbyBvIGBkaXNwbGF5OiBpbmxpbmUtZmxleGAgaGVyZGFkbyBkbyBwcmVzZXRcbi8vIChxdWUgdGVtIG1haW9yIGVzcGVjaWZpY2lkYWRlIHF1ZSBvIGAuY29sdW1uIHsgZGlzcGxheTogYmxvY2sgfWAgQnVsbWFcbi8vIG5vIG1vYmlsZSkuIFNlbSBpc3NvLCBvcyBjYW1wb3MgbsOjbyBjb2xhcHNhbSBwcmEgdmVydGljYWwgbm8gY2VsdWxhci5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIGFwcC10ZXh0LWlucHV0LmNvbHVtbixcbiAgYXBwLXBhc3N3b3JkLWlucHV0LmNvbHVtbixcbiAgYXBwLXNlbGVjdC1pbnB1dC5jb2x1bW4sXG4gIGFwcC1zZWxlY3QtaW5wdXQtZmxhZy5jb2x1bW4sXG4gIGFwcC1zZWxlY3QtaW5wdXQtbGUuY29sdW1uLFxuICBhcHAtaW5wdXQtZmlsdGVyLWF1dG9jb21wbGV0ZS5jb2x1bW4sXG4gIGFwcC1tdWx0aWxpbmUtdGV4dC1pbnB1dC5jb2x1bW4sXG4gIGFwcC1udW1iZXItaW5wdXQuY29sdW1uLFxuICBhcHAtZGF0ZXRpbWVwaWNrZXItaW5wdXQuY29sdW1uLFxuICBhcHAtamVtcy1zZWxlY3QuY29sdW1uIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gT3ZlcmxheXMgZG9zIGRyb3Bkb3ducyAobWF0LXNlbGVjdCwgbWF0LWF1dG9jb21wbGV0ZSwgZGF0ZXBpY2tlcikg4oCUXG4vLyByZW5kZXJpemFkb3MgZm9yYSBkbyBob3N0IHBlbG8gQ0RLIE92ZXJsYXksIHBvcnRhbnRvIGEgcmVncmEgw6kgR0xPQkFMXG4vLyAobsOjbyBwb2RlIHNlciBzY29wZWFkYSBwZWxvIGhvc3QpLiAxcHggZGUgcmVzcGlybyBlbnRyZSBhIGJvcmRhIGluZmVyaW9yXG4vLyBkYSBjYWl4YSBlIG8gdG9wbyBkbyBwYWluZWwsIHByYSBuw6NvIHBhcmVjZXIgXCJjb2xhZG9cIiBubyBpbnB1dC5cbi5tYXQtc2VsZWN0LXBhbmVsLFxuLm1hdC1hdXRvY29tcGxldGUtcGFuZWwsXG4ubWF0LWRhdGVwaWNrZXItY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDFweDtcbn1cblxuLy8gQ2FsZW5kw6FyaW8gZG8gZGF0ZXBpY2tlcjogcXVhbmRvIG8gQ0RLIHBvc2ljaW9uYSBBQ0lNQSAoc2VtIGVzcGHDp29cbi8vIGVtYmFpeG8pLCBvIGBtYXJnaW4tdG9wYCBhY2ltYSDDqSBpcnJlbGV2YW50ZSDigJQgc8OzIGBtYXJnaW4tYm90dG9tYCBjcmlhXG4vLyBvIHJlc3Bpcm8gZW50cmUgYSBib3JkYSBpbmZlcmlvciBkbyBjYWxlbmTDoXJpbyBlIGEgc3VwZXJpb3IgZGEgY2FpeGEuXG4vLyAycHggKGEgcGVkaWRvIGRvIHVzdcOhcmlvKSDigJQgYG1hcmdpbi10b3A6IDFweGAgY29udGludWEgYXBsaWNhZG8gcHJhXG4vLyBhYmVydHVyYSBwYWRyw6NvIChwcmEgYmFpeG8pLlxuLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG59XG5cbi8vIG1hdC1hdXRvY29tcGxldGUgYWJlcnRvIEFDSU1BIGRvIGNhbXBvOiBvIENESyBww7VlIGEgY2xhc3NlIGBtYXQtYXV0b2NvbXBsZXRlLXBhbmVsLWFib3ZlYFxuLy8gbm8gYC5jZGstb3ZlcmxheS1wYW5lYC4gQcOtIGEgYm9yZGEgSU5GRVJJT1IgZG8gcGFpbmVsIGVuY29zdGEgbm8gdG9wbyBkYSBjYWl4YSBlIGNvYnJlIGFcbi8vIGJvcmRhIGF6dWwgZG8gaW5wdXQuIGBtYXJnaW4tYm90dG9tOiAxcHhgIGFmYXN0YSBvIHBhaW5lbCAxcHggcHJhIGNpbWEsIHJldmVsYW5kbyBvIGF6dWxcbi8vIChvIGBtYXJnaW4tdG9wOiAxcHhgIGdsb2JhbCBzw7MgdmFsZSBwcmEgYWJlcnR1cmEgcHJhIGJhaXhvKS4gRXNjb3BvIG5hIGJ1c2NhIGRlIHVzdcOhcmlvcy5cbi5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsLWFib3ZlIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsLnVzZXItc2VhcmNoLWF1dG9jb21wbGV0ZSB7XG4gIG1hcmdpbi1ib3R0b206IDFweDtcbn1cblxuLy8gQ2hyb21lIGRvcyBwYWluw6lpcyBkZSBkcm9wZG93biAobWF0LXNlbGVjdCAvIG1hdC1hdXRvY29tcGxldGUpIHZlbSBkb1xuLy8gcHJlc2V0IGNvbXBhcnRpbGhhZG8gYC5qZW1zMy1zZWxlY3QtcGFuZWxgIGVtIGBfY29sb3Itc2NoZW1lLnNjc3NgLiBPc1xuLy8gd3JhcHBlcnMgYC5maWx0ZXItc3R5bGVkYCAoYXBwLXNlbGVjdC1pbnB1dCwgLWZsYWcsIC1sZSkgYXBsaWNhbSBlc3NlXG4vLyBwYW5lbENsYXNzIGF1dG9tYXRpY2FtZW50ZSB2aWEgbmdPbkluaXQg4oCUIG8gY29uc3VtZXIgbsOjbyBwcmVjaXNhIHBhc3NhclxuLy8gbmFkYS4gQXF1aSBOw4NPIHJlZGVmaW5pbW9zIGdsb2JhbG1lbnRlIGAubWF0LXNlbGVjdC1wYW5lbGAgcG9ycXVlIGlzc29cbi8vIGFmZXRhIG1lbnVzIGZvcmEgZG8gcGFkcsOjbyBKRU1TMyAoQW5ndWxhciBNYXRlcmlhbCBwdXJvcywgY2hpcC1tZW51cyBldGMuKS5cblxuLy8gRGFyayB0aGVtZSDigJQgcGFyZWlhIG9zIHRva2VucyAqLWRhcmsgZGUgY2FkYSBwcm9wcmllZGFkZSBwaW50YWRhLlxuLmRhcmstdGhlbWUge1xuICBhcHAtdGV4dC1pbnB1dC5maWx0ZXItc3R5bGVkLFxuICBhcHAtcGFzc3dvcmQtaW5wdXQuZmlsdGVyLXN0eWxlZCxcbiAgYXBwLXNlbGVjdC1pbnB1dC5maWx0ZXItc3R5bGVkLFxuICBhcHAtc2VsZWN0LWlucHV0LWZsYWcuZmlsdGVyLXN0eWxlZCxcbiAgYXBwLXNlbGVjdC1pbnB1dC1sZS5maWx0ZXItc3R5bGVkLFxuICBhcHAtaW5wdXQtZmlsdGVyLWF1dG9jb21wbGV0ZS5maWx0ZXItc3R5bGVkLFxuICBhcHAtbXVsdGlsaW5lLXRleHQtaW5wdXQuZmlsdGVyLXN0eWxlZCB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyaztcbiAgICAgIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmU7XG4gICAgfVxuICAgIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZTtcbiAgICB9XG4gICAgLm1hdC1pbnB1dC1lbGVtZW50LFxuICAgIC5tYXQtc2VsZWN0LXZhbHVlLXRleHQge1xuICAgICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4gICAgfVxuICAgIC50aS1kZXNjcmlwdGlvbiB7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAgIH1cbiAgICAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAgIH1cbiAgICAmLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1mbGV4LFxuICAgIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgIH1cbiAgfVxufVxuXG4vLyDilIDilIAgYXBwLXVzZXItc2VhcmNoIGVtIE9WRVJMQVkgKHBvcG92ZXIvZGnDoWxvZ28pOiBjb250w6ltIG8gaGludCBuYSBjYWl4YSDilIDilIDilIDilIDilIDilIBcbi8vIE8gYGFwcC11c2VyLXNlYXJjaGAgcMO1ZSBvIGAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJgIGVtXG4vLyBgcG9zaXRpb246IGFic29sdXRlYCAoc2VtIHRvcC9sZWZ0KSBwcmEgYSDDoXJlYSBkZSBoaW50IG7Do28gZGVzYWxpbmhhciB2aXppbmhvc1xuLy8gaW5saW5lIChhbGlnbi1pdGVtczpjZW50ZXIpIG5vcyBGT1JNVUzDgVJJT1MgZGUgcMOhZ2luYS4gTWFzIG51bSBvdmVybGF5IGZsdXR1YW50ZVxuLy8gbyB3cmFwcGVyIGFic29sdXRlIHBvdXNhIEZPUkEgZGEgY2FpeGEg4oCUIG8gaGludCBcIk5lbmh1bSB1c3XDoXJpbyBlbmNvbnRyYWRvXCJcbi8vIGFwYXJlY2lhIHNvbHRvIGFiYWl4byBkbyBwb3BvdmVyLiBDb21vIG9zIHVzb3MgaW5saW5lIGNvbSBhbGluaGFtZW50byB2aXZlbSBlbVxuLy8gcMOhZ2luYXMgKG7Do28gZW0gb3ZlcmxheXMpLCBkZXZvbHZlbW9zIG8gc3Vic2NyaXB0IGFvIGZsdXhvIEdMT0JBTE1FTlRFIHAvIHRvZG9cbi8vIHVzZXItc2VhcmNoIGRlbnRybyBkZSBgLmNkay1vdmVybGF5LXBhbmVgLiBTb2x1w6fDo28gw7puaWNhIChzZW0gZml4ZXMgcG9yIHDDoWdpbmEpOlxuLy8gc3Vic3RpdHVpIG9zIHBhdGNoZXMgcG9udHVhaXMgdGlwbyBgLnJlY2lwaWVudC1zZWFyY2gtcG9wb3ZlcmAuXG4uY2RrLW92ZXJsYXktcGFuZSBhcHAtdXNlci1zZWFyY2ggLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG4uY2RrLW92ZXJsYXktcGFuZSBhcHAtdXNlci1zZWFyY2ggLm1hdC1oaW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgcGFkZGluZzogMCA0cHg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb2xvcnMnO1xuXG4vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3JzIGZvciBzdWJtaXNzaW9uIGFuZCByZXZpZXcuXG4kc3VibWlzc2lvbi1iZzogcmdiYSgwLCAwLCAwLCAuMSk7XG4kcmV2aWV3LWJnOiByZ2JhKDAsIDAsIDAsIC4xKTtcblxuLy8vXG4vLyBDbGFzcyBkZWZpbml0aW9ucyBmb3Igc3VibWlzc2lvbiBhbmQgcmV2aWV3IHN0YXR1cywgY29uc2lkZXJpbmcgb3B0aW9uYWwgYmFja2dyb3VuZC1maWxsIGFuZCBsaW5rcy5cbi8vL1xuXG4ucGFwZXJCYWNrZ3JvdW5kIHsgLy8gQ2xhc3MgZm9yIHRvZ2dsaW5nIGJhY2tncm91bmQgT04gYW5kIE9GRi5cbiAgLy8gQ29yIGJhc2UgZG8gdGV4dG8gbm8gQ09OVEFJTkVSIChoZXJkYWRhKSwgbsOjbyBkaXJldG8gbm9zIHNwYW5zL3NtYWxscy4gQW50ZXNcbiAgLy8gYHNwYW46bm90KC5tYXQtYnV0dG9uLXdyYXBwZXIpLCBzbWFsbCB7IGNvbG9yOiAkYmxhY2stMTAwMCB9YCBmb3LDp2F2YSAjMDMwMzAzIGVtIFRPRE9cbiAgLy8gc3Bhbi9zbWFsbCBpbnRlcm5vIGUgQVRST1BFTEFWQSBhIGNvciBwcsOzcHJpYSBkZSBjb21wb25lbnRlcyAoZXguOiBhcHAtZmlsZS1waWxsLFxuICAvLyBkZXNjcmnDp8OjbykuIENvbW8gY29yIGhlcmRhZGEsIGVsZW1lbnRvcyBzZW0gY29yIHByw7NwcmlhIHBlZ2FtIGEgYmFzZTsgY29tcG9uZW50ZXNcbiAgLy8gbWFudMOqbSBhIGRlbGVzLiBWYWxvciA9ICMzNzM3MzQgKGNvciBiYXNlIGRlIHRleHRvIGRvIHNpc3RlbWEpLCBuw6NvIG8gIzAzMDMwMyBhbnRlcmlvci5cbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuXG4gIGEsIC5mYS1maWxlLXBkZiwgLmZhLXVwbG9hZCB7XG4gICAgY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRGFyazogdHJvY2EgcHJvIGFjY2VudC1kYXJrIChhbWJlci00MDApLiBQYWRyw6NvIGRlIHRvZGEgY2hhaXIgVUk6XG4gIC8vIGFjY2VudCBtdWRhIGVudHJlIHRlbWFzLiBgIWltcG9ydGFudGAgbmVjZXNzw6FyaW8gcHJhIHZlbmNlciBhcyByZWdyYXNcbiAgLy8gbGlnaHQgYWNpbWEgKHRhbWLDqW0gY29tIGAhaW1wb3J0YW50YCkuXG4gIC5kYXJrLXRoZW1lICYge1xuICAgIGEsIC5mYS1maWxlLXBkZiwgLmZhLXVwbG9hZCB7XG4gICAgICBjb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zdWJtaXNzaW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VibWlzc2lvbi1iZztcbiAgfVxuXG4gIC5yZXZpZXcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRyZXZpZXctYmc7XG4gIH1cblxuICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbiAgLy8gcGFkZGluZzogNHB4IDEwcHggIWltcG9ydGFudDtcbiAgY29sb3I6ICRjb250ZW50LWNvbG9yO1xuXG4gIEBtaXhpbiBnZW5lcmF0ZS1zdGF0dXMtYmFja2dyb3VuZCgkc3RhdHVzLWxpc3QpIHtcbiAgICBAZWFjaCAkc3RhdHVzLCAkY29udGVudCBpbiAkc3RhdHVzLWxpc3Qge1xuICAgICAgJi4jeyRzdGF0dXN9LCAmLiN7JHN0YXR1c30ucGFwZXItc3RhdHVzIHtcbi8vICAgICAgICBhIHtcbi8vICAgICAgICAgIGNvbG9yOiAje250aCgkY29udGVudCwgMil9ICFpbXBvcnRhbnQ7XG4vLyAgICAgICAgfVxuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICN7bnRoKCRjb250ZW50LCAxKX0gIWltcG9ydGFudDtcblxuICAgICAgICAubWF0LWljb24uc3RhdHVzLWljb24ge1xuICAgICAgICAgIGNvbG9yOiAje250aCgkY29udGVudCwgMyl9ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnN1Ym1pc3Npb24ge1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXN0YXR1cy1iYWNrZ3JvdW5kKCRzdWJtaXNzaW9uLXN0YXR1cyk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtc3RhdHVzLWJhY2tncm91bmQoJHB1YmxpY2F0aW9uLXN0YXR1cyk7XG4gIH1cblxuICAvLyBUYWcgZGUgcmV2aXPDo286IGZ1bmRvIENMQVJPIChsaWdodGVuIGRhIGNvciBkbyBzdGF0dXMpICsgYm9yZGEgRVNDVVJBXG4gIC8vIGRvIG1lc21vIHRvbSAoZGFya2VuKS4gU29icmVzY3JldmUgbyBiZyBjaGVpbyBkbyBnZW5lcmF0ZS1zdGF0dXMtYmFja2dyb3VuZFxuICAvLyBzw7Mgbm8gY2hpcCAoLnBhcGVyLXN0YXR1cykg4oCUIG8gZmlsbCBkZSBjYXJkL2xpbmhhIGNvbnRpbnVhIG5hIGNvciBjaGVpYS5cbiAgQG1peGluIGdlbmVyYXRlLXN0YXR1cy1yZXZpZXctYm9yZGVyKCRzdGF0dXMtbGlzdCkge1xuICAgIEBlYWNoICRzdGF0dXMsICRjb250ZW50IGluICRzdGF0dXMtbGlzdCB7XG4gICAgICAmLiN7JHN0YXR1c30ucGFwZXItc3RhdHVzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihudGgoJGNvbnRlbnQsIDEpLCAyMCUpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtlbihudGgoJGNvbnRlbnQsIDEpLCAzMCUpICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLy8gw41jb25lIG5vIG1lc21vIHRvbSBlc2N1cm8gZGEgYm9yZGEuXG4gICAgICAgIC5tYXQtaWNvbi5zdGF0dXMtaWNvbiB7XG4gICAgICAgICAgY29sb3I6IGRhcmtlbihudGgoJGNvbnRlbnQsIDEpLCAzMCUpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnJldmlldyB7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtc3RhdHVzLWJhY2tncm91bmQoJHJldmlldy1zdGF0dXMpO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXN0YXR1cy1yZXZpZXctYm9yZGVyKCRyZXZpZXctc3RhdHVzKTtcbiAgfVxuXG4gIC8vIERpZmVyZW5jaWHDp8OjbyBkZSBGT1JNQSBlbnRyZSBvcyBkb2lzIHNpc3RlbWFzIGRlIHN0YXR1cyAoYW1ib3NcbiAgLy8gcHJlZW5jaGlkb3Mg4oCUIGJvbSBjb250cmFzdGUpOiBzdWJtaXNzw6NvID0gUElMTCBzdXBlci1hcnJlZG9uZGFkbztcbiAgLy8gcmV2aXPDo28gPSBSRVTDgk5HVUxPLiBFc2NvcG8gbm8gY2hpcCAoLnBhcGVyLXN0YXR1cykuIFByw6ktYXRlbnRpdm8uXG4gICYuc3VibWlzc2lvbi5wYXBlci1zdGF0dXMge1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgJi5yZXZpZXcucGFwZXItc3RhdHVzIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc3RhdHVzQmFja2dyb3VuZCB7XG4gIEBtaXhpbiBnZW5lcmF0ZS1zdGF0dXMtYmFja2dyb3VuZCgkc3RhdHVzLWxpc3QpIHtcbiAgICAgIEBlYWNoICRzdGF0dXMsICRjb250ZW50IGluICRzdGF0dXMtbGlzdCB7XG4gICAgICAmLiN7JHN0YXR1c30uaWNvbi1zdGF0dXMtbW9iaWxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI3tudGgoJGNvbnRlbnQsIDEpfSAhaW1wb3J0YW50O1xuXG4gICAgICAgIGhlaWdodDogMTlweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG5cbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCA1cHggcmdiYSgwLCAwLCAwLCAuMykgO1xuXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogM3B4O1xuXG4gICAgICAgIGJvcmRlcjogMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgICAgIC5ib3JkZXJCYWNrZ3JvdW5kIHtcbiAgICAgICAgICAmLmJvcmRlckNvbG9yQmFja2dyb3VuZCB7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAubWF0LWljb24uaWNvbiB7XG4gICAgICAgICAgY29sb3I6ICN7bnRoKCRjb250ZW50LCAzKX0gIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG5cbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0cmluZyB7XG4gICAgICAgICAgLy8gY29sb3I6ICN7bnRoKCRjb250ZW50LCAzKX0gIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgICAgLy8gZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUYWcgZGUgcmV2aXPDo28gbW9iaWxlOiBmdW5kbyBjbGFybyAobGlnaHRlbikgKyBib3JkYSBlc2N1cmEgKGRhcmtlbikuXG4gIEBtaXhpbiBnZW5lcmF0ZS1zdGF0dXMtcmV2aWV3LWJvcmRlcigkc3RhdHVzLWxpc3QpIHtcbiAgICBAZWFjaCAkc3RhdHVzLCAkY29udGVudCBpbiAkc3RhdHVzLWxpc3Qge1xuICAgICAgJi4jeyRzdGF0dXN9Lmljb24tc3RhdHVzLW1vYmlsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4obnRoKCRjb250ZW50LCAxKSwgMjAlKSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4obnRoKCRjb250ZW50LCAxKSwgMzAlKSAhaW1wb3J0YW50O1xuXG4gICAgICAgIC8vIMONY29uZSBubyBtZXNtbyB0b20gZXNjdXJvIGRhIGJvcmRhLlxuICAgICAgICAubWF0LWljb24uaWNvbiB7XG4gICAgICAgICAgY29sb3I6IGRhcmtlbihudGgoJGNvbnRlbnQsIDEpLCAzMCUpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnN1Ym1pc3Npb24ge1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXN0YXR1cy1iYWNrZ3JvdW5kKCRzdWJtaXNzaW9uLXN0YXR1cyk7XG4gIH1cblxuICAmLnJldmlldyB7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtc3RhdHVzLWJhY2tncm91bmQoJHJldmlldy1zdGF0dXMpO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXN0YXR1cy1yZXZpZXctYm9yZGVyKCRyZXZpZXctc3RhdHVzKTtcbiAgfVxuXG4gIC8vIERpZmVyZW5jaWHDp8OjbyBkZSBGT1JNQSAobW9iaWxlKTogc3VibWlzc8OjbyA9IFBJTEw7IHJldmlzw6NvID0gUkVUw4JOR1VMTy5cbiAgLy8gQW1ib3MgY29tIMOtY29uZS5cbiAgJi5zdWJtaXNzaW9uLmljb24tc3RhdHVzLW1vYmlsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHggIWltcG9ydGFudDtcbiAgfVxuICAmLnJldmlldy5pY29uLXN0YXR1cy1tb2JpbGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDNweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIFN1Ym1pc3Npb24gRm9ybSBBbnN3ZXJzXG4uc3VibWlzc2lvbi1mb3JtLWl0ZW0ge1xuICBwIHtcbiAgICAuZmllbGQtdGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgLmZpZWxkLWRlc2NyaXB0aW9uIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG4gIH1cbn1cbiIsIiAgLy8gTUQzIGJvZHktc21hbGwgKDEycHggLyA0MDAgLyAxNnB4IGxpbmUtaGVpZ2h0IC8gKzAuMDI1cmVtIHRyYWNraW5nKS5cbiAgLmxlZ2VuZCwgLmNhcHRpb24ge1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNXJlbTtcblxuICAgIHNwYW4ge1xuICAgICAgcGFkZGluZzogMC4yNWVtO1xuICAgICAgbWFyZ2luOiAwIDAuMjVlbTtcblxuICAgICAgbWluLXdpZHRoOiA5MHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cbiIsIkBpbXBvcnQgJ2NvbG9ycyc7XG5cbi8vIOKUgOKUgCBBdmlzbyAvIGVzdGFkbyBkZSBww6FnaW5hIChOT1RJQ0UpIOKAlCBkZWZpbmnDp8OjbyDDmk5JQ0EgZSBnbG9iYWwg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBNZW5zYWdlbnMgaW5mb3JtYXRpdmFzIC8gZXN0YWRvcyB2YXppb3MgYW8gbG9uZ28gZGEgcMOhZ2luYSBkZSBzdWJtaXNzw6NvXG4vLyAocmV2aXPDtWVzIG7Do28gbGliZXJhZGFzLCBzZW0gbWVuc2FnZW5zIG5hIGRpc2N1c3PDo28sIHByYXpvIGRlIGNvbmZlcsOqbmNpYSBuw6NvXG4vLyBkZWZpbmlkbywgc2VtIHJlZ3JhcyBkZSBhcnF1aXZvLCBldGMuKS4gVE9ET1MgY29tZcOnYW0gY29tIG8gw61jb25lIGBpbmZvYCBlXG4vLyBjb21wYXJ0aWxoYW0gYWxpbmhhbWVudG8gKMOgIGVzcXVlcmRhKSwgY29yLCBwZXNvIGUgdGFtYW5obyBkYSBmb250ZS5cbi8vXG4vLyBVc28gbm8gdGVtcGxhdGUgKG8gw61jb25lIMOpIE1hdGVyaWFsIFN5bWJvbHMgcG9yIGxpZ2FkdXJhIOKAlCBzZW0gTWF0SWNvbk1vZHVsZSk6XG4vLyAgIDxwIGNsYXNzPVwicGFnZS1ub3RpY2VcIj5cbi8vICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5pbmZvPC9zcGFuPlxuLy8gICAgIDxzcGFuPnt7ICdjaGF2ZS5pMThuJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbi8vICAgPC9wPlxuLnBhZ2Utbm90aWNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luOiA0cHggMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyAgIC8vIDEzcHhcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6ICRncmF5LTUwMDtcblxuICAgIC8vIMONY29uZSBsw61kZXIgKGluZm8pLiBgLm1hdC1pY29uYCB0YW1iw6ltIGNvYmVydG8gcC8gcXVlbSBqw6EgdXNhIDxtYXQtaWNvbj4uXG4gICAgPiAubWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCxcbiAgICA+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+KGkk1hdGVyaWFsIFN5bWJvbHNcbi8vICsgdG9rZW5zIHRoZW1lLWF3YXJlKS4gRGVsZXRlIGUgXCJuw6NvIHVzYSB0ZW1wbGF0ZVwiID0gd2FybmluZzsgXCJ1c2EgdGVtcGxhdGVcIiA9XG4vLyBzdWNjZXNzOyBlcnJvID0gd2FybmluZy4gZG93bmxvYWQtYmFyIChvdmVybGF5IGRlICUgbm8gZG93bmxvYWQpIGNhc2EgbyB0b3BvIGRvIGNhcmQuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtcnVsZXMtY2FyZCwgJy5maWxlLWNhcmQgLmRldGFpbC1jb2x1bW5zIC5pbmZvLWNvbHVtbiAuYnV0dG9uLWRlbGV0ZS1maWxlOm5vdCguZGlzYWJsZWQpIC5tYXQtaWNvbicsIGNvbG9yLCAkYWNjZW50LWNvbG9yLXdhcm5pbmcsICRhY2NlbnQtY29sb3Itd2FybmluZy1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS1ydWxlcy1jYXJkLCAnLmZpbGUtY2FyZCAuZGV0YWlsLWNvbHVtbnMgLmluZm8tY29sdW1uIC5idXR0b24tcnVsZS11c2VzLXNiYy10ZW1wbGF0ZSAubWF0LWljb24nLCBjb2xvciwgJGFjY2VudC1jb2xvci1zdWNjZXNzLCAkYWNjZW50LWNvbG9yLXN1Y2Nlc3MtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtcnVsZXMtY2FyZCwgJy5maWxlLWNhcmQgLmRldGFpbC1jb2x1bW5zIC5pbmZvLWNvbHVtbiAuYnV0dG9uLXJ1bGUtbm90LXVzZXMtc2JjLXRlbXBsYXRlIC5tYXQtaWNvbicsIGNvbG9yLCAkYWNjZW50LWNvbG9yLXdhcm5pbmcsICRhY2NlbnQtY29sb3Itd2FybmluZy1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS1ydWxlcy1jYXJkLCAnLmZpbGUtY2FyZCAuZGV0YWlsLWNvbHVtbnMgLmluZm8tY29sdW1uIC5maWxlLWVycm9yJywgY29sb3IsICRhY2NlbnQtY29sb3Itd2FybmluZywgJGFjY2VudC1jb2xvci13YXJuaW5nLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZG93bmxvYWQtYmFyJywgYmFja2dyb3VuZC1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS11cGxvYWQsICcuc3VjY2Vzcy1pY29uJywgY29sb3IsICRhY2NlbnQtY29sb3Itc3VjY2VzcywgJGFjY2VudC1jb2xvci1zdWNjZXNzLWRhcmspO1xuXG4vKiBhcHAtZmlsZS11cGxvYWQgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS11cGxvYWQsICcuZmlsZS11cGxvYWQgLmZpbGUtdXBsb2FkLWljb24gLm1hdC1pY29uJywgY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmspO1xuLy8gw41jb25lIGRlIHVwbG9hZCBERVNBQklMSVRBRE8gKHByYXpvIHBhc3NvdSAvIHNlbSBwZXJtaXNzw6NvKTogY29yIGRlIGRpc2FibGVkLFxuLy8gTsODTyBhY2NlbnQuIFZlbSBkZXBvaXMgZGEgcmVncmEgYWNjZW50IChtZXNtYSBlc3BlY2lmaWNpZGFkZSkg4oaSIHZlbmNlLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXVwbG9hZCwgJy5maWxlLXVwbG9hZCAuZmlsZS11cGxvYWQtaWNvbi1kaXNhYmxlZCAubWF0LWljb24nLCBjb2xvciwgJGJ1dHRvbi1kaXNhYmxlZC1jb2xvciwgJGJ1dHRvbi1kaXNhYmxlZC1jb2xvci1kYXJrKTtcblxuLyogYXBwLWN1c3RvbS1mb3JtLXRleHQtcXVlc3Rpb24gKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY3VzdG9tLWZvcm0tdGV4dC1xdWVzdGlvbiwgJy5jdXN0b20tdGV4dC1xdWVzdGlvbiB0ZXh0YXJlYScsIGJhY2tncm91bmQtY29sb3IsICR3aGl0ZS0xMDAwLCAkYmxhY2stMTAwMCk7XG5cbi8qIGFwcC1leHBvcnQtc3VibWlzc2lvbnMgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXhwb3J0LXN1Ym1pc3Npb25zLCAnLmV4cG9ydC1zdWJtaXNzaW9ucyAuc2VjdGlvbiAubmFtZSBhJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcblxuLyogYXBwLWV2ZW50LXB1YmxpY2F0aW9uICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LXB1YmxpY2F0aW9uLCAnLnB1YmxpY2F0aW9uLWNvbnRyb2xzIC5tYXQtY2FyZCcsIGJhY2tncm91bmQtY29sb3IsICRjb250ZW50LWJhY2tncm91bmQsICRjb250ZW50LWJhY2tncm91bmQtZGFyayk7XG5cbi8qIGFwcC1wdWJsaWNhdGlvbi1maXhlZC1jb250cm9sICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXB1YmxpY2F0aW9uLWZpeGVkLWNvbnRyb2wsICcuZml4ZWQtY29udHJvbCAubWF0LWNhcmQgdGFibGUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1wdWJsaWNhdGlvbi1maXhlZC1jb250cm9sLCAnLmZpeGVkLWNvbnRyb2wgLm1hdC1jYXJkIHRhYmxlIHRkJywgYm9yZGVyLXJpZ2h0LWNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQsICRjb250ZW50LWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHVibGljYXRpb24tZml4ZWQtY29udHJvbCwgJy5maXhlZC1jb250cm9sIC5tYXQtY2FyZCB0YWJsZSB0aCcsIGJvcmRlci1yaWdodC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50LCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXB1YmxpY2F0aW9uLWZpeGVkLWNvbnRyb2wsICcuZml4ZWQtY29udHJvbCAubWF0LWNhcmQgdGFibGUgdGgnLCBjb2xvciwgJGNvbnRlbnQtbGlnaHRjb2xvciwgJGNvbnRlbnQtbGlnaHRjb2xvci1kYXJrKTtcblxuLyogYXBwLXByb2NlZWRpbmctc3RlcCAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1wcm9jZWVkaW5nLXN0ZXAsICcuY29udGVudCAuY29udGVudC1saXN0IGgzJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHJvY2VlZGluZy1zdGVwLCAnLmNvbnRlbnQgLm5vdC1pbmNsdWRlZCcsIGJvcmRlciwgMXB4IHNvbGlkIGJsYWNrLCAxcHggc29saWQgd2hpdGUpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1wcm9jZWVkaW5nLXN0ZXAsICcuY29udGVudCAuaW5jbHVkZWQnLCBib3JkZXIsIDFweCBzb2xpZCBibGFjaywgMXB4IHNvbGlkIHdoaXRlKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHJvY2VlZGluZy1zdGVwLCAnLmNvbnRlbnQgLnRyYWNrJywgYm9yZGVyLCAxcHggc29saWQgYmxhY2ssIDFweCBzb2xpZCB3aGl0ZSk7XG5cbi8vIFRPRE9TIG9zIGgzIGRvIGNvbXBvbmVudGUsIGRlIHVtYSB2ZXouIEFudGVzIGhhdmlhIHVtYSByZWdyYSBwb3IgcGFzc28sIGU6XG4vLyAoMSkgYSBkbyBwYXNzbyBcIlNvbCBTZWN0aW9uc1wiIHVzYXZhIGAuc2VjdGlvbnMzYCDigJQgY2xhc3NlIHF1ZSBuw6NvIGV4aXN0ZSxcbi8vIGVudMOjbyBudW5jYSBjYXNvdSAoZXJhIG8gXCJ0w610dWxvIGRhIHRyaWxoYSBhcGFnYWRvXCIgZGEgaXNzdWUgIzIzNzEpOyBlXG4vLyAoMikgb3Mgb3V0cm9zIGgzIGRvIGNvbXBvbmVudGUgbnVuY2EgdGl2ZXJhbSBwYXIgbm8gZGFyay5cbi8vIE8gY29tcG9uZW50ZSBuw6NvIGZpeGEgbWFpcyBhIGNvciwgZW50w6NvIGVzdGEgw6kgYSBmb250ZSDDum5pY2EuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXByb2NlZWRpbmctc3RlcCwgJ2gzJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcblxuXG4vKiBhcHAtcHJvY2VlZGluZy1pbmRleC1pdGVtICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXByb2NlZWRpbmctaW5kZXgtaXRlbSwgJy5pdGVtIC5tYXQtZXhwYW5zaW9uLXBhbmVsJywgYm94LXNoYWRvdywgJycsIDBweCAycHggMTBweCAxcHggYmxhY2spO1xuXG4vKiBhcHAtcHJvY2VlZGluZy1hdXRob3ItaW5kZXgtaXRlbSAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1wcm9jZWVkaW5nLWF1dGhvci1pbmRleC1pdGVtLCAnLml0ZW0gLm1hdC1leHBhbnNpb24tcGFuZWwnLCBib3gtc2hhZG93LCAnJywgMHB4IDJweCAxMHB4IDFweCBibGFjayk7XG5cbi8qIGFwcC1jYWxlbmRhci12aWV3ICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNhbGVuZGFyLXZpZXcsICcuY29udGFpbmVyLXZpZXctZGF0ZScsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNhbGVuZGFyLXZpZXcsICdtd2wtY2FsZW5kYXItd2Vlay12aWV3JywgY29sb3IsICcnLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2FsZW5kYXItdmlldywgJy5jYWwtZGF5LWhlYWRlcnMnLCBiYWNrZ3JvdW5kLWNvbG9yLCAnJywgJGNhbGVuZGFyLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jYWxlbmRhci12aWV3LCAnLmNhbC13ZWVrLXZpZXcsIC5jYWwtdGltZSwgLmNhbC1ob3VyLXNlZ21lbnQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAnJywgJGNhbGVuZGFyLWJhY2tncm91bmQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNhbGVuZGFyLXZpZXcsICcuY2FsLXdlZWstdmlldyAuY2FsLWRheS1oZWFkZXJzIC5jYWwtaGVhZGVyOmhvdmVyJywgYmFja2dyb3VuZC1jb2xvciwgcmdiYSgwLDAsMCwuMyksIHJnYmEoMjU1LDI1NSwyNTUsLjMpKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2FsZW5kYXItdmlldywgJy5jYWwtd2Vlay12aWV3IC5jYWwtdGltZS1ldmVudHMgLmNhbC1kYXktY29sdW1uczpub3QoLmNhbC1yZXNpemUtYWN0aXZlKSAuY2FsLWhvdXItc2VnbWVudDpob3ZlciAnLCBiYWNrZ3JvdW5kLWNvbG9yLCByZ2JhKDAsMCwwLC4zKSwgcmdiYSgyNTUsMjU1LDI1NSwuMykpO1xuXG4vKiBhcHAtY2hpcC1jaGVja2JveCAqL1xuLy8gUsOzdHVsby/DrWNvbmUgZG8gY2hpcCBOw4NPLW1hcmNhZG8gbm8gZGFyay4gRXJhICM4Njg2ODYsIHF1ZSBzb2JyZSBhIHN1cGVyZsOtY2llXG4vLyByZWFsIGRvIHBhc3NvIGRlIHTDs3BpY29zICgjNDI0MjQyLCBtZWRpZG8pIGTDoSBjb250cmFzdGUgZGUgMiw2OjEg4oCUIG11aXRvIGFiYWl4b1xuLy8gZG9zIDQsNToxIGRhIFdDQUcgQUEsIGUgw6kgbyBxdWUgZGVpeGF2YSBhIGdyYWRlIGRlIHTDs3BpY29zIFwiZXN0cmFuaGFcIi9pbGVnw612ZWxcbi8vIG5vIGRhcmsgKGlzc3VlICMyMzcxKS4gcmdiYSgyNTUsMjU1LDI1NSwuNzUpIGNvbXDDtWUgfiNEMEQwRDAgc29icmUgZXNzZSBmdW5kb1xuLy8gKH42OjEpIGUgY29udGludWEgUkVDVUFETyBlbSByZWxhw6fDo28gYW9zIHTDrXR1bG9zIGRlIGNhdGVnb3JpYSAoI0Y2RjZGNikuXG4vLyBBIGRpc3RpbsOnw6NvIG1hcmNhZG8vbsOjby1tYXJjYWRvIHZlbSBkbyBwcmVlbmNoaW1lbnRvIGFjY2VudCwgbsOjbyBkZSBhcGFnYXIgb1xuLy8gdGV4dG8g4oCUIHBvciBpc3NvIGNsYXJlYXIgYXF1aSBuw6NvIGNvbmZ1bmRlIG9zIGRvaXMgZXN0YWRvcy5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hpcC1jaGVja2JveCwgJy5jaGlwLWNoZWNrYm94IGxhYmVsIGRpdjpub3QoLmNoZWNrZWQpJywgY29sb3IsICcnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hpcC1jaGVja2JveCwgJy5jaGlwLWNoZWNrYm94IGxhYmVsIC5tYXQtaWNvbjpub3QoLmNoZWNrZWQpJywgY29sb3IsICcnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpKTtcblxuLyogYXBwLWRhc2hib2FyZC1zZXR0aW5ncyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtc2V0dGluZ3MsICcuZGF0YXNldC1tZW51JywgYmFja2dyb3VuZC1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLXNldHRpbmdzLCAnLmRhdGFzZXQtbWVudSAubWF0LWljb24nLCBjb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkYWNjZW50LWJhY2tncm91bmQtZGFyayk7XG5cbi8qIGFwcC1jaGFydC1jb21wb25lbnQgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hhcnQtY29tcG9uZW50LCAnLmNoYXJ0LWNvbnRhaW5lcicsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoYXJ0LWNvbXBvbmVudCwgJy5jaGFydC1jb250YWluZXInLCBib3JkZXItY29sb3IsICRtYXQtY2FyZC1ib3JkZXItY29sb3IsICRtYXQtY2FyZC1ib3JkZXItY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoYXJ0LWNvbXBvbmVudCwgJy5jaGFydC1jb250YWluZXIgLmN0LWF4aXMtdGl0bGUnLCBmaWxsLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoYXJ0LWNvbXBvbmVudCwgJy5jaGFydC1jb250YWluZXIgLmN0LWxhYmVsJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hhcnQtY29tcG9uZW50LCAnLmNoYXJ0LWNvbnRhaW5lciAubGVnZW5kLXRpdGxlJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hhcnQtY29tcG9uZW50LCAnLmNoYXJ0LWNvbnRhaW5lciAuY3QtZ3JpZCcsIHN0cm9rZSwgJGNoYXJ0LWdyaWQtY29sb3IsICRjaGFydC1ncmlkLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQsICcuY3QtbGVnZW5kIGxpJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcblxuXG4vKiBhcHAtY2hhcnQtY29tcG9uZW50LXYyICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoYXJ0LWNvbXBvbmVudC12MiwgJy5jaGFydC1jb250YWluZXItdjIgLmNoYXJ0IHRleHQnLCBmaWxsLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoYXJ0LWNvbXBvbmVudC12MiwgJy5jaGFydC1jb250YWluZXItdjIgLmxlZ2VuZC1sYWJlbCAubGVnZW5kLWxhYmVsLXRleHQnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQtdjIsICcuY2hhcnQtdjInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQtdjIsICcuY2hhcnQtbGVnZW5kJywgYmFja2dyb3VuZC1jb2xvciwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoYXJ0LWNvbXBvbmVudC12MiwgJy5jaGFydC1sZWdlbmQnLCBiYWNrZ3JvdW5kLCB0cmFuc3BhcmVudCAhaW1wb3J0YW50LCB0cmFuc3BhcmVudCAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hhcnQtY29tcG9uZW50LXYyLCAnLmNoYXJ0LWxlZ2VuZCAubGVnZW5kLWxhYmVscycsIGJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQtdjIsICcuY2hhcnQtbGVnZW5kIC5sZWdlbmQtbGFiZWxzJywgYmFja2dyb3VuZCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoYXJ0LWNvbXBvbmVudC12MiwgJy5uZ3gtY2hhcnRzIC5ncmlkLXBhbmVsIHJlY3QnLCBmaWxsLCB0cmFuc3BhcmVudCAhaW1wb3J0YW50LCB0cmFuc3BhcmVudCAhaW1wb3J0YW50KTtcblxuLyogYXBwLW1hdGgtY2FwdGNoYSAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1tYXRoLWNhcHRjaGEsICcuY29udGFpbmVyJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtbWF0aC1jYXB0Y2hhLCAnI2J1dHRvbklucHV0JywgYmFja2dyb3VuZC1jb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkYWNjZW50LWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLW1hdGgtY2FwdGNoYSwgJy5jbHMtMScsIGZpbGwsICRhY2NlbnQtYmFja2dyb3VuZCwgJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiBhcHAtcHJvY2VlZGluZy1zdGVwICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AgKGFwcC1wcm9jZWVkaW5nLXN0ZXAsICcuc2VjdGlvbnMtbGlzdCAuaHlwZXJsaW5rJywgY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wIChhcHAtcHJvY2VlZGluZy1zdGVwLCAnLnNlY3Rpb25zLWxpc3QgLm5vLWh5cGVybGluaycsIGNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvciAhaW1wb3J0YW50LCAkc2lkZWJhci1sYWJlbC1jb2xvci1kYXJrICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wIChhcHAtcHJvY2VlZGluZy1zdGVwLCAnLnNlY3Rpb25zLWxpc3QnLCBib3JkZXItY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvci1kYXJrKTtcblxuLyogYXBwLWN1c3RvbS1pbnB1dCAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuY3VzdG9tLWlucHV0JywgJycsIGJhY2tncm91bmQtY29sb3IsJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLmN1c3RvbS1pbnB1dCcsICcnLCBib3JkZXIsIDJweCBzb2xpZCAkZXZlbnQtY2FyZC1ob3Zlci1ib3JkZXItY29sb3IsIDJweCBzb2xpZCAkZXZlbnQtY2FyZC1ob3Zlci1ib3JkZXItY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5jdXN0b20taW5wdXQnLCAnJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcblxuLyogYXBwLXN1cHBvcnQtYnV0dG9uICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1cHBvcnQtYnV0dG9uLCAnLnN1cHBvcnQtYnV0dG9uJywgYmFja2dyb3VuZC1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VwcG9ydC1idXR0b24sICcuc3VwcG9ydC1idXR0b24gLm1hdC1pY29uJywgY29sb3IsICRjb250ZW50LWJhY2tncm91bmQtZGFyaywgJGNvbnRlbnQtYmFja2dyb3VuZCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1cHBvcnQtYnV0dG9uLCAnLnN1cHBvcnQtY2FyZCcsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1cHBvcnQtYnV0dG9uLCAnLnN1cHBvcnQtY2FyZCcsIGNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmssICRjb250ZW50LWJhY2tncm91bmQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdXBwb3J0LWJ1dHRvbiwgJy5zdXBwb3J0LWNhcmQgLmNhcmQtdGl0bGUnLCBjb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrLCAkY29udGVudC1iYWNrZ3JvdW5kKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VwcG9ydC1idXR0b24sICcuc3VwcG9ydC1jYXJkIC5jYXJkLWhlYWRlciAubWF0LWljb24nLCBjb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrLCAkY29udGVudC1iYWNrZ3JvdW5kKTtcblxuLyogYXBwLWV2ZW50LXNldHR0aW5ncy1lbWFpbCAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1zZXR0aW5ncy1lbWFpbCwgJy5ldmVudC1lbWFpbCBtYXQtY2FyZC1jb250ZW50JywgYmFja2dyb3VuZC1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VwcG9ydC1idXR0b24sICcuc3VwcG9ydC1jYXJkIC5jYXJkLWhlYWRlciAubWF0LWljb24nLCBjb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrLCAkY29udGVudC1iYWNrZ3JvdW5kKTtcblxuLyogYXBwLXVzZXItbm90aWZpY2F0aW9ucyDigJQgcmVncmFzIGFudGlnYXMgcmVtb3ZpZGFzLiBPIHBhaW5lbCBhZ29yYSDDqVxuICAgZXNjb3BhZG8gbm8gY29tcG9uZW50ZSAodXNlci1ub3RpZmljYXRpb25zLmNvbXBvbmVudC5zY3NzKS4gUmVmZXJlbmNpYW1cbiAgIGVzdHJ1dHVyYSBhbnRpZ2EgKGAubm90aWZpY2F0aW9ucy1jb250YWluZXIgLnRhYmxlLWNvbnRhaW5lciB0YWJsZWAsXG4gICBgLm9wdGlvbnMgbWF0LWljb24uYnV0dG9uYCkgcXVlIG7Do28gZXhpc3RlIG1haXMuICovXG4vKiBhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1jaGFydC12MiwgJy5jaGFydC1jb250YWluZXItdjInLCBiYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcuY2hhcnQtbGVnZW5kJywgYmFja2dyb3VuZCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1jaGFydC12MiwgJy5jaGFydC1sZWdlbmQnLCBiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc3BhcmVudCAhaW1wb3J0YW50LCB0cmFuc3BhcmVudCAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLmNoYXJ0LWxlZ2VuZCAubGVnZW5kLWxhYmVscycsIGJhY2tncm91bmQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcuY2hhcnQtbGVnZW5kIC5sZWdlbmQtbGFiZWxzJywgYmFja2dyb3VuZC1jb2xvciwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1jaGFydC12MiwgJy5uZ3gtY2hhcnRzIC5ncmlkLXBhbmVsIHJlY3QnLCBmaWxsLCB0cmFuc3BhcmVudCAhaW1wb3J0YW50LCB0cmFuc3BhcmVudCAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLmNoYXJ0LWxlZ2VuZCAubGVnZW5kLWxhYmVsLXRleHQnLCBjb2xvciwgJGJsYWNrLTcwMCwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1jaGFydC12MiwgJy5jaGFydC1sZWdlbmQgLmxlZ2VuZC1sYWJlbCAuYWN0aXZlIC5sZWdlbmQtbGFiZWwtdGV4dCcsIGNvbG9yLCAkY29udGVudC1jb2xvciAhaW1wb3J0YW50LCAkY29udGVudC1jb2xvci1kYXJrICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcuY2hhcnQtbGVnZW5kIC5sZWdlbmQtbGFiZWwgLmFjdGl2ZSAubGVnZW5kLWxhYmVsLXRleHQnLCBmaWxsLCAkY29udGVudC1jb2xvciAhaW1wb3J0YW50LCAkY29udGVudC1jb2xvci1kYXJrICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcubmd4LWNoYXJ0cyAueC5heGlzIC5sYWJlbCcsIGZpbGwsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLm5neC1jaGFydHMgLnkuYXhpcyAubGFiZWwnLCBmaWxsLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1jaGFydC12MiwgJy5uZ3gtY2hhcnRzIHRleHRbdHJhbnNmb3JtPVwicm90YXRlKDI3MClcIl0nLCBmaWxsLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1jaGFydC12MiwgJy5uZ3gtY2hhcnRzIC5heGlzLWxhYmVsJywgZmlsbCwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcubmd4LWNoYXJ0cyAueC5heGlzIC50aWNrIHRleHQnLCBmaWxsLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1jaGFydC12MiwgJy5uZ3gtY2hhcnRzIGdbbmd4LWNoYXJ0cy1heGlzLWxhYmVsXSB0ZXh0JywgZmlsbCwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcubmd4LWNoYXJ0cyAueS5heGlzIC50aWNrIHRleHQnLCBmaWxsLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1jaGFydC12MiwgJy5uZ3gtY2hhcnRzIC5ncmlkbGluZS1wYXRoJywgc3Ryb2tlLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5cbi8qIGFwcC1hZG1pbi1ldmVudC12aWV3ICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXZpZXcsICcubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWxhYmVsLWFjdGl2ZSA+IConLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuXG4vKiBhcHAtZGFzaGJvYXJkLXNldHRpbmdzICh0YWIgbGFiZWxzKSAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtc2V0dGluZ3MsICcubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWxhYmVsLWFjdGl2ZSA+IConLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuXG4vKiBhcHAtdXNlci1ub3RpZmljYXRpb25zICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubm90aWZpY2F0aW9ucy1tZW51IC5ub3RpZmljYXRpb25zLWNvbnRhaW5lciAudGFibGUtY29udGFpbmVyIHRhYmxlIHRyJywgYmFja2dyb3VuZC1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5ub3RpZmljYXRpb25zLW1lbnUgLm9wdGlvbnMgbWF0LWljb24nLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuXG4vKiBhcHAtYXNzaWduLXJldmlldy1zdWdnZXN0aW9uICovXG4vLyBIZWFkZXIgKG5vbWVzKSB0cmFuc3BhcmVudGUg4oCUIG9zIGxhYmVscyBkaWFnb25haXMgKDQ1wrApIHRyYW5zYm9yZGFtIGVudHJlXG4vLyBjb2x1bmFzOyB1bSBmdW5kbyBvcGFjbyBwb3IgdGggY29ydGFyaWEgbyBsYWJlbCBkYSBjb2x1bmEgdml6aW5oYS4gQ2FudG8gK1xuLy8gY29sdW5hIGRvIGlkIGZpY2FtIGNvbSBvIGZ1bmRvIGRvIGNhcmQgKG9wYWNvcyBwLyBhcyBjw6lsdWxhcyByb2xhcmVtIHBvclxuLy8gYmFpeG8gcXVhbmRvIGEgY29sdW5hIGRvIGlkIGZpY2EgZml4YSkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFzc2lnbi1yZXZpZXctc3VnZ2VzdGlvbiwgJy50YWJsZS13ZWlnaHQgdGgnLCBiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpO1xuLy8gQmFuZGEgb3BhY2EgZG8gaGVhZGVyIHZhaSBubyA8dGhlYWQ+IChzdGlja3kpLCBhdHLDoXMgZG9zIHRoIHRyYW5zcGFyZW50ZXMuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFzc2lnbi1yZXZpZXctc3VnZ2VzdGlvbiwgJy50YWJsZS13ZWlnaHQgdGhlYWQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hc3NpZ24tcmV2aWV3LXN1Z2dlc3Rpb24sICcudGFibGUtd2VpZ2h0IHRoOmZpcnN0LWNoaWxkJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYXNzaWduLXJldmlldy1zdWdnZXN0aW9uLCAnLnRhYmxlLXdlaWdodCB0ZDpmaXJzdC1jaGlsZCcsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFzc2lnbi1yZXZpZXctc3VnZ2VzdGlvbiwgJy50YWJsZS13ZWlnaHQgdGQ6bm90KGZpcnN0LWNoaWxkKScsIGJhY2tncm91bmQtY29sb3IsICR0YWJsZS1iYWNrZ3JvdW5kLWNvbG9yLCAkdGFibGUtYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbi8vIEJvcmRhIGxlZ2FkYSBzw7MgbmEgTUFUUklaICh0YWJsZS13ZWlnaHQpLiBBIHRhYmxlLWFzc2lnbiBtaWdyb3UgcC8gLmplbXMzLXRhYmxlXG4vLyAoY2hyb21lIHByw7NwcmlvLCBzZW0gYm9yZGFzKSDigJQgbsOjbyBwb2RlIHJlY2ViZXIgZXN0YSBib3JkYS5cbi8vIEdyYWRlIGRhIG1hdHJpejogbm8gZGFyayBhcyBsaW5oYXMgcXVlIHNlcGFyYW0gYXMgY8OpbHVsYXMgc8OjbyBQUkVUQVMgKGFudGVzXG4vLyAkbWF0LW1lbnUtYmFja2dyb3VuZC1jb2xvci1kYXJrICMzODM4Mzgg4oCUIGNpbnphKSBhIHBlZGlkby5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYXNzaWduLXJldmlldy1zdWdnZXN0aW9uLCAnLnRhYmxlLXdlaWdodCB0ZCx0aCcsIGJvcmRlciwgMXB4IHNvbGlkICRtYXQtbWVudS1iYWNrZ3JvdW5kLWNvbG9yLCAxcHggc29saWQgYmxhY2spO1xuXG4vKiBNb2JpbGUgbGF5b3V0IChUUEMgY2hhaXIsIHZpZXdwb3J0IDwgNzY4cHgpIOKAlCBzZWVcbiAqIGFkbWluLWV2ZW50LXNpZGViYXIuY29tcG9uZW50Lnt0cyxodG1sLHNjc3N9LiBWaWV3IGVuY2Fwc3VsYXRpb24gaXNcbiAqIEVtdWxhdGVkIG9uIHRoaXMgY29tcG9uZW50OyB0aGUgbW9iaWxlIGNocm9tZSBTQ1NTIGlzIGNvLWxvY2F0ZWQgd2l0aFxuICogdGhlIGNvbXBvbmVudCwgYnV0IHRoZW1lIHRva2VucyAod2hpY2ggdXNlIGxpZ2h0LS9kYXJrLXRoZW1lIGNsYXNzZXNcbiAqIGFwcGxpZWQgdG8gPGJvZHk+KSBtdXN0IGxpdmUgaGVyZSBhdCB0aGUgZ2xvYmFsIHNjb3BlLCBvdGhlcndpc2UgdGhlXG4gKiBgLmxpZ2h0LXRoZW1lYCAvIGAuZGFyay10aGVtZWAgYm9keSBzZWxlY3RvcnMgZG9uJ3Qgc3Vydml2ZSBFbXVsYXRlZFxuICogZW5jYXBzdWxhdGlvbiBhbmQgdGhlIHJ1bGVzIGFyZSBzaWxlbnRseSBkcm9wcGVkLiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1vYmlsZS10b3AtYmFyJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tb2JpbGUtdG9wLWJhcicsIGJvcmRlci1ib3R0b20tY29sb3IsICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAkY2hyb21lLWJvcmRlci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tb2JpbGUtdG9wLWJhci10aXRsZScsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcblxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1vYmlsZS1ib3R0b20tbmF2JywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tb2JpbGUtYm90dG9tLW5hdicsIGJvcmRlci10b3AtY29sb3IsICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAkY2hyb21lLWJvcmRlci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tb2JpbGUtYm90dG9tLW5hdi1pdGVtJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tb2JpbGUtYm90dG9tLW5hdi1pdGVtLmFjdGl2ZScsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tb2JpbGUtYm90dG9tLW5hdi1pdGVtLmFjdGl2ZScsIGJvcmRlci10b3AtY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLXNoZWV0JywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tb2JpbGUtc2hlZXQtdGl0bGUnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLXNoZWV0LXNlY3Rpb24tbGFiZWwnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1vYmlsZS1zaGVldC1pdGVtJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tb2JpbGUtc2hlZXQtaXRlbTpob3ZlcicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLXNoZWV0LWl0ZW0uYWN0aXZlJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1vYmlsZS1zaGVldC1pdGVtLmFjdGl2ZScsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayk7XG5cbi8qIGFwcC1ldmVudC1wcm9ncmFtICovXG4vLyBAaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LXByb2dyYW0sICcucHJvZ3JhbS10b29sYmFyJywgYmFja2dyb3VuZC1jb2xvciwgJGFkbWluLWJhY2tncm91bmQsICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuLy8gQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1wcm9ncmFtLCAnLnByb2dyYW0tdG9vbGJhcicsIGJhY2tncm91bmQtY29sb3IsICRhZG1pbi1iYWNrZ3JvdW5kLCAkYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtcHJvZ3JhbSwgJy5zZXNzaW9uLWdob3N0JywgY29sb3IsIHJnYmEoMCwgMCwgMCwgMC41NSksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSkpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1wcm9ncmFtLCAnLnNlc3Npb24tZ2hvc3Q6aG92ZXInLCBib3JkZXItY29sb3IsIHJnYmEoMCwgMCwgMCwgMC4zNSksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSkpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1wcm9ncmFtLCAnLnNlc3Npb24tZ2hvc3QnLCBjb2xvciwgcmdiYSgwLCAwLCAwLCAwLjc1KSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KSk7XG5cbi8vIExhc3Qtd29yZCBvdmVycmlkZTogdGhlIGxlZ2FjeSBnbG9iYWxcbi8vIGBidXR0b24ubWF0LW1lbnUtaXRlbTpob3ZlciAubWF0LWljb24geyBjb2xvcjogJGFkbWluLWFjY2VudC1jb2xvciA9IHdoaXRlIH1gXG4vLyB3YXMgdHVybmluZyB0aGUgYWN0aXZlIG9wdGlvbidzIGljb24gd2hpdGUgb24gaG92ZXIsIG1ha2luZyB0aGVcbi8vIGNlbGwgbG9vayBcImJsYW5rIHdoaXRlXCIgaW4gbGlnaHQgbW9kZS4gUGluIHRoZSBpY29uIHRvIHRoZSBhY3RpdmVcbi8vIHRleHQgdG9rZW4gaW5zdGVhZC4gKFRoZSBjZWxsIGJnIGFscmVhZHkgc3RheXMgcHV0IHZpYSB0aGVcbi8vIGNoYWlyLVVJIGAuaGlnaGxpZ2h0LWJ1dHRvbiB7IGJhY2tncm91bmQtY29sb3I6IC4uLiAhaW1wb3J0YW50IH1gXG4vLyBydWxlIGFib3ZlIOKAlCBzZWxlY3RvciBtYXRjaGVzIGJvdGggcmVzdCBhbmQgaG92ZXIsIG5vIGV4dHJhXG4vLyBvdmVycmlkZSBuZWVkZWQuKVxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKFxuICAnLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLmNvbnRhaW5lci10aGVtZSBidXR0b24ubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uOmhvdmVyIC5tYXQtaWNvbiwgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLmNvbnRhaW5lci1sYXlvdXQgYnV0dG9uLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbjpob3ZlciAubWF0LWljb24sIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5jb250YWluZXItbGF5b3V0IGJ1dHRvbi5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b246aG92ZXIgLmxheW91dC1pY29uLCAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAuY29udGFpbmVyLWxhbmd1YWdlLWNvbXBhY3QgYnV0dG9uLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbjpob3ZlciAubWF0LWljb24nLFxuICAnJyxcbiAgY29sb3IsXG4gICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSxcbiAgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmtcbik7XG5cbi8vIHBlb3BsZS10YWJsZTogY29yIGRlIGZ1bmRvIGRhcyBjw6lsdWxhcyBib2R5LiBMaWdodDogZ3JheS0yMDAgc29icmUgY2FudmFzXG4vLyB3YXJtLiBEYXJrOiBncmF5IGVzY3VybyAofiMzMDJDMjksIGVxdWl2YWxlbnRlIGEgdW0gXCIkZ3JheS04MDBcIiBlbnRyZSBvc1xuLy8gdG9rZW5zIGV4aXN0ZW50ZXMgNzAwIGUgOTAwKS4gRXhjbHVpIDHCqiBjb2wgKG51bWJlcmluZykgZSDDumx0aW1hIChzZWxlY3QpLFxuLy8gcXVlIGZpY2FtIHRyYW5zcGFyZW50ZXMuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoXG4gICcucGVvcGxlLXRhYmxlJyxcbiAgJ3RhYmxlLmplbXMzLXRhYmxlIHRkLm1hdC1jZWxsOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTpub3QoOmxhc3Qtb2YtdHlwZSknLFxuICBiYWNrZ3JvdW5kLWNvbG9yLFxuICAkZ3JheS0yMDAsXG4gICMzMDJDMjlcbik7XG5cbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuLy8gQ29yZXMgZG9zIMOtY29uZXMgbm8gbWVudSBoYW1idXJnZXIgZGEgbmF2YmFyIGF1dG9yL3Jldmlzb3IgKG92ZXJmbG93KS5cbi8vIEVzcGVsaGFtIGFzIGNvcmVzIGRvcyBzaWRlYmFyLWl0ZW0gaWNvbnMgKGNhdGVnb3JpYSBwb3Igcm90YSkuXG4vLyBgIWltcG9ydGFudGAgcG9ycXVlIGAudHBjLXVzZXItbWVudSAubWF0LWljb25gIChhcGxpY2FkbyBhbyBtZXNtbyBtZW51XG4vLyB2aWEgY2xhc3NlIG5vIHBhaW5lbCkgdGVtIGAhaW1wb3J0YW50YCBlIGdhbmhhcmlhIHNlbSBpc3NvLlxuLy8g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4vLyBFc3BlY2lmaWNpZGFkZTogcHJlY2lzYW1vcyBjaGFpbmFyIGAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudWAgK1xuLy8gYC5tYXQtbWVudS1pdGVtYCBwcmEgdmVuY2VyIGEgcmVncmEgZ2xvYmFsIGRvIHRwYy11c2VyLW1lbnUgKHF1ZSB0ZW1cbi8vICgwLDUsMCkgKyAhaW1wb3J0YW50KS5cbi5saWdodC10aGVtZSAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkgLm1hdC1pY29uIHsgY29sb3I6ICRzaWRlYmFyLWxhYmVsLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5kYXJrLXRoZW1lICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkgLm1hdC1pY29uIHsgY29sb3I6ICRuYXZiYXItZXZlbnRzLWljb24tY29sb3ItZGFyayAhaW1wb3J0YW50OyB9XG5cbi5saWdodC10aGVtZSAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuYnV0dG9uLW15LXJldmlld3MgLm1hdC1pY29uIHsgY29sb3I6ICRuYXZiYXItbXktcmV2aWV3cy1pY29uLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5kYXJrLXRoZW1lICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuYnV0dG9uLW15LXJldmlld3MgLm1hdC1pY29uIHsgY29sb3I6ICRuYXZiYXItbXktcmV2aWV3cy1pY29uLWNvbG9yLWRhcmsgIWltcG9ydGFudDsgfVxuXG4ubGlnaHQtdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1zZXNzaW9uLWNoYWlyaW5ncyAubWF0LWljb24geyBjb2xvcjogJG5hdmJhci1teS1zZXNzaW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5kYXJrLXRoZW1lICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuYnV0dG9uLXNlc3Npb24tY2hhaXJpbmdzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LXNlc3Npb24tY2hhaXJpbmdzLWljb24tY29sb3ItZGFyayAhaW1wb3J0YW50OyB9XG5cbi5saWdodC10aGVtZSAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuYnV0dG9uLXB1YmxpY2F0aW9uLWNoYWlyaW5ncyAubWF0LWljb24geyBjb2xvcjogJG5hdmJhci1teS1wdWJsaWNhdGlvbi1jaGFpcmluZ3MtaWNvbi1jb2xvciAhaW1wb3J0YW50OyB9XG4uZGFyay10aGVtZSAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1wdWJsaWNhdGlvbi1jaGFpcmluZ3MgLm1hdC1pY29uIHsgY29sb3I6ICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3ItZGFyayAhaW1wb3J0YW50OyB9XG5cbi5saWdodC10aGVtZSAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuYnV0dG9uLXRwY3MgLm1hdC1pY29uIHsgY29sb3I6ICRuYXZiYXItbXktdHBjcy1pY29uLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5kYXJrLXRoZW1lICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuYnV0dG9uLXRwY3MgLm1hdC1pY29uIHsgY29sb3I6ICRuYXZiYXItbXktdHBjcy1pY29uLWNvbG9yLWRhcmsgIWltcG9ydGFudDsgfVxuXG4ubGlnaHQtdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1jaGFpcmluZ3MgLm1hdC1pY29uIHsgY29sb3I6ICRuYXZiYXItbXktZXZlbnRzLWljb24tY29sb3IgIWltcG9ydGFudDsgfVxuLmRhcmstdGhlbWUgIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tY2hhaXJpbmdzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LWV2ZW50cy1pY29uLWNvbG9yLWRhcmsgIWltcG9ydGFudDsgfVxuXG4vLyBNZW51IGhhbWJ1cmdlcjogw61jb25lcyBmaWxsZWQgKEZJTEwgMSkgcHJhIGRhciBjb3JwbyB2aXN1YWwgK1xuLy8gYWxpbmhhbWVudG8gdmVydGljYWwgbm8gZWl4byBkbyB0ZXh0byAobGluZS1oZWlnaHQgY2FzYSBjb20gYSBhbHR1cmFcbi8vIGRvIG1lbnUtaXRlbTsgbWF0LW1lbnUtaXRlbSBwYWRyw6NvIHVzYSBmbGV4K2FsaWduLWl0ZW1zOmNlbnRlciwgbWFzXG4vLyBhIGxpbmhhIGRvIMOtY29uZSDDoHMgdmV6ZXMgZGVzY29sYSBkbyBiYXNlbGluZSBkbyB0ZXh0byBwb3IgY2F1c2EgZGFzXG4vLyBtw6l0cmljYXMgZGEgZm9udGUgY29tIEZJTEwgMSkuXG4vLyBQYWluZWwgZG8gbWVudSBoYW1idXJnZXIg4oCUIG1lc21vIGJnIGRhIG5hdmJhciAoYCRzaWRlYmFyLWFkbWluLWJhY2tncm91bmRgKTtcbi8vIG9zIHRva2VucyBqw6EgYmF0ZW0gcG9yIHBhZHLDo28gdmlhIHRwYy11c2VyLW1lbnUsIG1hcyBmb3LDp2Ftb3MgYXF1aSBwcmFcbi8vIG7Do28gaGF2ZXIgZHJpZnQgY2FzbyBvIHRwYy11c2VyLW1lbnUgbXVkZS4gRmlsdGVyIChkcm9wLXNoYWRvdykgZG9cbi8vIHRwYy11c2VyLW1lbnUgdGludGEgYXMgYm9yZGFzIGVzY3VyYXMg4oaSIGEgcGVyY2Vww6fDo28gZmljYSBcImRpZmVyZW50ZVwiXG4vLyBtZXNtbyBjb20gYmcgaWTDqm50aWNvLiBaZXJhIG8gZmlsdGVyIGFxdWkuXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudTpoYXMoLm5hdi1vdmVyZmxvdy1taSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1saWdodCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIC8vIG1pbi1oZWlnaHQgMCBwcmEgbyBwYWluZWwgbsOjbyB0cmF2YXIgZW0gNjRweCBkbyBBbmd1bGFyIE1hdGVyaWFsXG4gIC8vIChlc3NlIGVyYSBvIGN1bHByaXQgZG8gXCJlc3Bhw6dvIGVtYmFpeG9cIiBxdWFuZG8gc8OzIGjDoSAxIGl0ZW0pLlxuICAvLyBwYWRkaW5nIGRvIHBhaW5lbCB2b2x0YSBwcm8gcmVzcGlybyBub3JtYWwuXG4gIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogOHB4ICFpbXBvcnRhbnQ7XG59XG4vLyBaZXJhIHBhZGRpbmcgZG8gLm1hdC1tZW51LWNvbnRlbnQg4oCUIG8gcGFpbmVsIGrDoSB0ZW0gcGFkZGluZyBwcsOzcHJpby5cbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51OmhhcygubmF2LW92ZXJmbG93LW1pKSAubWF0LW1lbnUtY29udGVudCB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnU6aGFzKC5uYXYtb3ZlcmZsb3ctbWkpIHtcbiAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiA4cHggIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51OmhhcygubmF2LW92ZXJmbG93LW1pKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICBmaWx0ZXI6ICRzaGFkb3ctcGFuZWwtZGFyayAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vIEVzcGVjaWZpY2lkYWRlOiBwcmVjaXNhIGNoYWluYXIgYC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51YCArXG4vLyBgLm1hdC1tZW51LWl0ZW1gIHByYSB2ZW5jZXIgYXMgcmVncmFzIDI2cHggZG8gdHBjLXVzZXItbWVudSBnbG9iYWwuXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAzNnB4ICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IDM2cHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAxMHB4ICFpbXBvcnRhbnQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXMgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogNnB4ICFpbXBvcnRhbnQ7XG4gICY6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4gIC8vIFRpcG9ncmFmaWEgaWTDqm50aWNhIGFvIGAubGFiZWwtZnVsbGAgZG9zIHNpZGViYXItaXRlbXMgKGJ1dHRvbnMgZGFcbiAgLy8gYmFycmEpOiAxNHB4IC8gNTAwIC8gLTAuMDFlbSAvIGNvciAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci5cbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseSAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDAuODc1cmVtICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW0gIWltcG9ydGFudDtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yICFpbXBvcnRhbnQ7XG5cbiAgLm1hdC1pY29uIHtcbiAgICAvLyBPcGFjaWRhZGUgMSBzZW1wcmUg4oCUIG92ZXJyaWRlIGRvIHRwYy11c2VyLW1lbnUgZGVmYXVsdCAwLjY1IHF1ZVxuICAgIC8vIHPDsyBpYSBwcmEgMSBubyBob3ZlciAoXCJlc21hZWNpZG8gZW0gcmVzdFwiKS5cbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdGSUxMJyAxLCAnd2dodCcgNDAwLCAnb3BzeicgMjQgIWltcG9ydGFudDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbiAgLy8gZmEtdXNlcnMgKGplbXMzcykg4oCUIG1lc21vIHRhbWFuaG8gZG8gYm90w6NvIGRhIGJhcnJhICgxNnB4IGVtXG4gIC8vIHNpZGViYXItaXRlbS5jb21wb25lbnQuc2Nzczo5MS05MyksIE7Dg08gb3MgMjBweCBkZWZhdWx0LlxuICAmLmJ1dHRvbi10cGNzIC5tYXQtaWNvbiB7XG4gICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDE2cHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDE2cHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMTZweCAhaW1wb3J0YW50O1xuICB9XG59XG4uZGFyay10aGVtZSAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkge1xuICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcmsgIWltcG9ydGFudDtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmsgIWltcG9ydGFudDtcbn1cblxuLy8gRXN0YWRvIHNlbGVjdGVkIGRvIGl0ZW0gb3ZlcmZsb3cg4oCUIE1FU01PIHRyYXRhbWVudG8gZG8gc2lkZWJhci1pdGVtXG4vLyBzZWxlY3RlZCBuYSBiYXJyYTogYmcgI2ZmZiAobGlnaHQpIC8gIzJlMmUyZSAoZGFyaykgKyB1bmRlcmxpbmUgYWNjZW50XG4vLyAycHggcG9yIGNhdGVnb3JpYSBubyBib3R0b20gZG8gaXRlbS5cbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5pcy1zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBTZW0gc29tYnJhIGVtIHJlc3Qg4oCUIGJnIGJyYW5jbyArIGxpbmhhIGFjY2VudCBqw6EgbWFyY2FtIG9cbiAgLy8gc2VsZWNpb25hZG8uIFNvbWJyYSB2b2x0YSBhcGVuYXMgbm8gaG92ZXIgKG1lc21vIHBhZHLDo28gZG9cbiAgLy8gdG9vbGJhciBidXR0b24gbmEgYmFycmEpLlxuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuaXMtc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUyZTJlICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cbi8vIExpbmhhIGFjY2VudCBkbyBpdGVtIHNlbGVjaW9uYWRvIGRvIG1lbnUgb3ZlcmZsb3cg4oCUIG1lc21hIHNoYXBlICtcbi8vIGdyYWRpZW50IHVzYWRvcyBuYSB1bmRlcmxpbmUgZGEgbmF2LiBgY2xpcC1wYXRoYCBlIGBiYWNrZ3JvdW5kYFxuLy8gdsOqbSBkZSBDU1MgY3VzdG9tIHByb3BlcnRpZXMgc2V0YWRhcyBlbSBgcGFpbnRPdmVyZmxvd0FjY2VudGBcbi8vIChuYXZiYXIuY29tcG9uZW50LnRzKSB2aWEgYE5hdmJhckNvbXBvbmVudC5idWlsZEFjY2VudENsaXBQYXRoL1xuLy8gR3JhZGllbnRgIChmb250ZSDDum5pY2EpLiBGYWxsYmFja3MgZ2FyYW50ZW0gdmlzdWFsIGLDoXNpY28gY2FzbyBvXG4vLyBKUyBuw6NvIHRlbmhhIHJvZGFkbyAocGFpbnQgYWNvbnRlY2UgYXDDs3MgbWVudSBhYnJpcikuXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuaXMtc2VsZWN0ZWQ6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLy8gYGxlZnQ6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpYCBjZW50cmFsaXphIG8gYm94IGRvXG4gIC8vIGFjY2VudCBubyBJVEVNIGludGVpcm8gKGJvcmRlci1ib3gpLiBgbGVmdC9yaWdodGAgaW5zZXRzIE7Dg09cbiAgLy8gc2VydmVtIGFxdWk6IG8gY29udGFpbmluZyBibG9jayBkbyA6OmFmdGVyIMOpIG8gUEFERElORy1ib3ggZG9cbiAgLy8gbWF0LW1lbnUtaXRlbSAocGFkZGluZyAwIDE2cHgpLCBlbnTDo28gYHJpZ2h0OiAycHhgIGNvcnRhcmlhIDM0cHhcbiAgLy8gYWzDqW0gZG8gaW5zZXQgZGVzZWphZG8sIGUgb3MgYXJjb3MgZG8gY2xpcC1wYXRoIChmaXhvcyBlbSBweClcbiAgLy8gZmljYXJpYW0gRk9SQSBkbyBib3ggcmVuZGVyaXphZG8uXG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB3aWR0aDogdmFyKC0tYWNjZW50LXdpZHRoLCBjYWxjKDEwMCUgLSAycHgpKTtcbiAgYm90dG9tOiAtMXB4O1xuICBoZWlnaHQ6IDJweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNsaXAtcGF0aDogdmFyKC0tYWNjZW50LWNsaXAtcGF0aCwgcG9seWdvbigwIDAsIDEwMCUgMCwgY2FsYygxMDAlIC0gMnB4KSAxMDAlLCAycHggMTAwJSkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtYmFja2dyb3VuZCwgbm9uZSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xufVxuLy8gQ29yIGFjY2VudCBkbyB1bmRlcmxpbmUgcG9yIGNhdGVnb3JpYSAoZXNwZWxoYSBhcyByZWdyYXNcbi8vIC5saXN0LWl0ZW0uYnV0dG9uLSouc2VsZWN0ZWQ6OmFmdGVyIGRvIHNpZGViYXItaXRlbSkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuYnV0dG9uLW15LXJldmlld3MuaXMtc2VsZWN0ZWQ6OmFmdGVyJywgICAgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1teS1yZXZpZXdzLWljb24tY29sb3IsICAgICAgICAgICAkbmF2YmFyLW15LXJldmlld3MtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tdHBjcy5pcy1zZWxlY3RlZDo6YWZ0ZXInLCAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvciwgICAgICAgICAgICAgICRuYXZiYXItbXktdHBjcy1pY29uLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1jaGFpcmluZ3MuaXMtc2VsZWN0ZWQ6OmFmdGVyJywgICAgIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItbXktZXZlbnRzLWljb24tY29sb3IsICAgICAgICAgICAgJG5hdmJhci1teS1ldmVudHMtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tc2Vzc2lvbi1jaGFpcmluZ3MuaXMtc2VsZWN0ZWQ6OmFmdGVyJywgICAgICBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLW15LXNlc3Npb24tY2hhaXJpbmdzLWljb24tY29sb3IsICAgICAgJG5hdmJhci1teS1zZXNzaW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1wdWJsaWNhdGlvbi1jaGFpcmluZ3MuaXMtc2VsZWN0ZWQ6OmFmdGVyJywgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1teS1wdWJsaWNhdGlvbi1jaGFpcmluZ3MtaWNvbi1jb2xvciwgJG5hdmJhci1teS1wdWJsaWNhdGlvbi1jaGFpcmluZ3MtaWNvbi1jb2xvci1kYXJrKTtcblxuLy8gbWVudS1pdGVtIHByZWNpc2Egc2VyIHBvc2l0aW9uOiByZWxhdGl2ZSBwcmEgYW5jb3JhciBvIG92ZXJsYXkgZG8gYmFkZ2UsXG4vLyBlIG92ZXJmbG93OiB2aXNpYmxlIHByYSBvIGJhZGdlIFwiZXN0b3VyYXJcIiBmb3JhIGRhIGJvcmRhIHNlbSBzZXIgY2xpcGFkby5cbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbn1cbi8vIENvbnTDqmluZXJlcyBwYWkgdGFtYsOpbSBuw6NvIHBvZGVtIGNsaXBhci5cbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51OmhhcygubmF2LW92ZXJmbG93LW1pKSxcbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51OmhhcygubmF2LW92ZXJmbG93LW1pKSAubWF0LW1lbnUtY29udGVudCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG4vLyBMYWJlbCBvY3VwYSBlc3Bhw6dvIHJlc3RhbnRlIChzZW0gZXNwYcOnbyByZXNlcnZhZG8gcHJvIGJhZGdlIOKAlCBxdWUgYWdvcmFcbi8vIMOpIG92ZXJsYXkpLlxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pIC5uYXYtb3ZlcmZsb3ctbWktbGFiZWwge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cbi8vIEJhZGdlcyBjb21vIE9WRVJMQVkgYWJzb2x1dG8gbm8gY2FudG8gc3VwZXJpb3IgZXNxdWVyZG8g4oCUIG1lc21hIHTDqWNuaWNhXG4vLyBkbyBgLnNpZGViYXItaXRlbS1iYWRnZXNgIG5vIGJvdMOjbyAodHJhbnNmb3JtIHRyYW5zbGF0ZSBwcmEgXCJlc3RvdXJhclwiXG4vLyBsZXZlbWVudGUgc29icmUgYSBib3JkYSkuXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkgLm5hdi1vdmVyZmxvdy1taS1iYWRnZXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDRweCwgLTZweCkgIWltcG9ydGFudDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGdhcDogM3B4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTtcbn1cbi8vIEJhZGdlIG5vIG1lbnUg4oCUIGdlb21ldHJpYSArIGNvcmVzIGlkw6pudGljYXMgw6BzIGRvIGAuc2lkZWJhci1pdGVtLWJhZGdlYFxuLy8gZGEgc2lkZWJhciAoZGVmaW5pZG8gZW0gc2lkZWJhci1pdGVtLmNvbXBvbmVudC5zY3NzOjE2NS0xODQpLiBDb21vIG9cbi8vIG1lbnUgw6kgcG9ydGFsZWQgYW8gYm9keSwgYXMgcmVncmFzIHNjb3BlZCBuw6NvIGFsY2Fuw6dhbSDigJQgcmVwbGljYW1vcy5cbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taSAubmF2LW92ZXJmbG93LW1pLWJhZGdlIHtcbiAgbWluLXdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIHBhZGRpbmc6IDAgNXB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICMxZjFmMWY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICAmLmlzLXplcm8geyBkaXNwbGF5OiBub25lOyB9XG4gICYuc3RhdHVzLWNvbmZpcm1lZCB7IGJhY2tncm91bmQtY29sb3I6ICNGRkQ4NjA7IH1cbiAgJi5zdGF0dXMtbm90aWZpZWQgIHsgYmFja2dyb3VuZC1jb2xvcjogIzk0QzBGQjsgfVxuICAmLnN0YXR1cy1wZW5kaW5nICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkFCNjVDOyB9XG59XG5cbi8vIEhvdmVyIOKAlCBzw7Mgc29tYnJhLCBTRU0gbXVkYW7Dp2EgZGUgYmFja2dyb3VuZC9jb2xvci93ZWlnaHQuIEJ1bXAgY29tXG4vLyBgLmxpZ2h0LXRoZW1lYCArIGA6bm90KFtkaXNhYmxlZF0pYCBwcmEgdmVuY2VyIG8gaG92ZXIgZGVmYXVsdCBkb1xuLy8gdHBjLXVzZXItbWVudSBxdWUgcGludGEgYmcgZSBtdWRhIGNvbG9yIChzcGVjIDAsNiwwKS5cbi8vIEhvdmVyIOKAlCBTw5Mgc29tYnJhLiBTZW0gbXVkYW7Dp2EgZGUgYmcsIGNvciwgZm9udC13ZWlnaHQgb3UgRklMTCBkb1xuLy8gw61jb25lIChlc3NhcyBhbHRlcmHDp8O1ZXMgZGF2YW0gYSBpbXByZXNzw6NvIGRlIFwiY29yIG11ZG91XCIpLlxuLmxpZ2h0LXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taTpob3Zlcjpub3QoW2Rpc2FibGVkXSkge1xuICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjMpICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pOmhvdmVyOm5vdChbZGlzYWJsZWRdKSB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuNykgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmsgIWltcG9ydGFudDtcbn1cbi8vIEhvdmVyIHNvYnJlIGl0ZW0gU0VMRUNURUQ6IHByZXNlcnZhIGJnIGJyYW5jby9kYXJrIGRvIGAuaXMtc2VsZWN0ZWRgXG4vLyBlIGFkaWNpb25hIGEgc29tYnJhIChxdWUgZmljYSBzw7Mgbm8gaG92ZXIg4oCUIGVtIHJlc3QgbyBzZWxlY3RlZCDDqVxuLy8gcGxhbm8pLiBTZW0gZXN0YSByZWdyYSwgYSBnZW7DqXJpY2EgZGUgaG92ZXIgKGJnIHRyYW5zcGFyZW50KSBnYW5oYSBlXG4vLyBhIGJnIGJyYW5jYSBzb21lIGRlaXhhbmRvIG8gY2luemEgZG8gcGFpbmVsIHZhemFyLlxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmlzLXNlbGVjdGVkOmhvdmVyOm5vdChbZGlzYWJsZWRdKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zKSAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmlzLXNlbGVjdGVkOmhvdmVyOm5vdChbZGlzYWJsZWRdKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZTJlMmUgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC43KSAhaW1wb3J0YW50O1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFotaW5kZXggaGllcmFyY2h5XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIFNpbmdsZSBzb3VyY2Ugb2YgdHJ1dGggZm9yIHRoZSBjaGFpciBVSSdzIGxheWVyZWQgdmlzdWFsIGhpZXJhcmNoeS5cbi8vIExheWVycyBmcm9tIGhpZ2hlc3QgKGZyb250bW9zdCkgdG8gbG93ZXN0OlxuLy9cbi8vICAgMS4gVG9vbHRpcHMgICAgICAgICAgICAgICAgICAgICAgIOKAlCBDREsgb3ZlcmxheSAoTWF0ZXJpYWwgZGVmYXVsdClcbi8vICAgMi4gTWVudXMgKHVzZXIsIG5vdGlmaWNhdGlvbnMsICAgIOKAlCBDREsgb3ZlcmxheSAoTWF0ZXJpYWwgZGVmYXVsdClcbi8vICAgICAgc3ViLWV2ZW50cylcbi8vICAgMy4gQnJlYWRjcnVtYiAgICAgICAgICAgICAgICAgICAgIOKAlCBgJHotYnJlYWRjcnVtYmBcbi8vICAgNC4gRmx5b3V0IChNb2Rlcm4gY29sbGFwc2VkICAgICAgIOKAlCBDREsgb3ZlcmxheSAoTWF0ZXJpYWwgZGVmYXVsdClcbi8vICAgICAgc2lkZWJhcidzIGxldmVsLTIgcG9wb3Zlcilcbi8vICAgNS4gUmVzaXplIGhhbmRsZXMgKHN1Ym1lbnUgICAgICAgIOKAlCBgJHotcmVzaXplLWhhbmRsZWBcbi8vICAgICAgKyBNb2Rlcm4gc2lkZWJhcilcbi8vICAgNi4gVG9vbGJhciAoYWN0aXZpdHktYmFyKSAgICAgICAgIOKAlCBgJHotdG9vbGJhcmBcbi8vICAgNy4gU3VibWVudSAobWF0LXNpZGVuYXYpICAgICAgICAgIOKAlCBgJHotc2lkZWJhcmBcbi8vICAgICAgQU5EIE1vZGVybiBzaWRlYmFyXG4vLyAgIDguIENhbnZhcyAgICAgICAgICAgICAgICAgICAgICAgICDigJQgYCR6LWNhbnZhc2AgKGF1dG8pXG4vL1xuLy8gSXRlbXMgMSwgMiwgYW5kIDQgYXJlIENESyBvdmVybGF5cyBhbmQgc2hhcmUgYSBzaW5nbGVcbi8vIGAuY2RrLW92ZXJsYXktY29udGFpbmVyYCBzdGFja2luZyBjb250ZXh0IHRoYXQgTWF0ZXJpYWwgcGFpbnRzIGFib3ZlXG4vLyBldmVyeXRoaW5nIGVsc2UgaW4gdGhlIGFwcC4gT3JkZXIgYW1vbmcgdGhlbSBpcyBkZXRlcm1pbmVkIGJ5IENESyBhdFxuLy8gcnVudGltZSAobW9zdC1yZWNlbnRseS1vcGVuZWQgd2lucykuIFRoZSBoaWVyYXJjaHkgcG9zaXRpb25zIGZvclxuLy8gaXRlbXMgMSwgMiwgNCBhcmUgdGhlcmVmb3JlIGNvbmNlcHR1YWwg4oCUIHByYWN0aWNhbCBzdGFja2luZyBhbW9uZ1xuLy8gdGhlbSBpcyBNYXRlcmlhbCdzIGRlZmF1bHQgYW5kIHJhcmVseSBhIHZpc2libGUgaXNzdWUuXG4vL1xuLy8gQW55dGhpbmcgbm90IGxpc3RlZCBoZXJlIHVzZXMgYHotaW5kZXg6IGF1dG9gICg9IDAgaW4gaXRzIHN0YWNraW5nXG4vLyBjb250ZXh0KSBhbmQgbGl2ZXMgYmVsb3cgYCR6LXRvb2xiYXJgIGJ5IGRlZmF1bHQuXG4vL1xuLy8gVHVuaW5nIHJ1bGU6IHdoZW4gYWRqdXN0aW5nIGFueSB0b2tlbiBiZWxvdywgbGVhdmUgYSBjb21mb3J0YWJsZSBnYXBcbi8vICjiiaUxMCkgdG8gaXRzIG5laWdoYm91ciBhYm92ZS9iZWxvdyBzbyBmdXR1cmUgYWRkaXRpb25zIGNhbiBzbG90IGluXG4vLyB3aXRob3V0IHJlbnVtYmVyaW5nIHRoZSB3aG9sZSBzdGFjay5cblxuJHotY2FudmFzOiAgICAgICAgICBhdXRvICFkZWZhdWx0O1xuJHotZGFzaGJvYXJkLXBhbmVsOiA1ICAgICFkZWZhdWx0OyAgLy8gcGFpbmVsIGRlIGNvbXBvbmVudGVzIGRvIERhc2hib2FyZCAobW9kbyBlZGnDp8Ojbyk6IEFDSU1BIGRhIHDDoWdpbmEvY2FudmFzIChhdXRvLzApLCBwb3LDqW0gQUJBSVhPIGRvIGJyZWFkY3J1bWIgZG8gY2hhaXIgYXJlYSAocXVlIHVzYSBgei1pbmRleDogMTBgIGxpdGVyYWwsIE7Dg08gbyAkei1icmVhZGNydW1iOjkwMCBhYmFpeG8pIGUgZG8gcmVzdG8gZG8gY2hyb21lIChzaWRlYmFyIDMwIC8gbmF2YmFyIDMxIC8gdG9vbGJhciA0MCkg4oCUIGFzc2ltIGEgYmFycmEgc3VwZXJpb3IsIGFvIHJlc3N1cmdpciAoZXguOiBzYcOtZGEgZG8gbW9kbyBhbXBsbyksIGZpY2EgTkEgRlJFTlRFIGRvIHBhaW5lbC5cbiR6LXNpZGViYXI6ICAgICAgICAgMzAgICAhZGVmYXVsdDsgIC8vIHN1Ym1lbnUgKG1hdC1zaWRlbmF2KSBBTkQgTW9kZXJuIGV4cGVyaW1lbnRhbC1zaWRlYmFyXG4kei10b29sYmFyOiAgICAgICA0MCAgICFkZWZhdWx0OyAgLy8gaGlzdG9yaWNhbGx5IGAkbmF2YmFyLXotaW5kZXggKyAyYFxuJHotcmVzaXplLWhhbmRsZTogODAwICAhZGVmYXVsdDtcbiR6LWJyZWFkY3J1bWI6ICAgIDkwMCAgIWRlZmF1bHQ7ICAvLyBiZWxvdyBDREsgb3ZlcmxheSdzIDEwMDAgc28gbWVudXMgcGFpbnQgYWJvdmVcblxuLy8gYXBwLXBvcG92ZXIgcGFuZWwgKHBvcnRhZG8gcHJvIDxib2R5PikgcHJlY2lzYSBlc3RhciBBQ0lNQSBkYSBjaHJvbWVcbi8vIChzaWRlYmFyIDMwIC8gdG9vbGJhciA0MCAvIGJyZWFkY3J1bWIgOTAwKSBlIEFCQUlYTyBkb3MgdG9vbHRpcHMgZG9cbi8vIENESyBvdmVybGF5LiBUb29sdGlwcyAoY2RrLW92ZXJsYXktY29udGFpbmVyKSBnYW5oYW0gei1pbmRleCAxMjAwIHByYVxuLy8gcmVuZGVyaXphciBBQ0lNQSBkbyBwb3BvdmVyIChjZi4gLmNkay1vdmVybGF5LWNvbnRhaW5lciBvdmVycmlkZSkuXG4kei1wb3BvdmVyOiAgICAgICAxMTAwICFkZWZhdWx0O1xuJHotY2RrLW92ZXJsYXk6ICAgMTIwMCAhZGVmYXVsdDsgIC8vIHRvb2x0aXAgPiBwb3BvdmVyID4gYnJlYWRjcnVtYlxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBMTF5IHV0aWxpdGllcyDigJQgZ2xvYmFsIGhlbHBlcnMgdXNlZCB0aHJvdWdob3V0IEpFTVMzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERvY3VtZW50ZWQgaW4gZG9jcy9HVUlBX0pFTVMzLm1kIMKnMjAgKEFjZXNzaWJpbGlkYWRlIOKAlCDDoXJlYSBhdXRvci9yZXZpc29yKS5cblxuLy8gVmlzdWFsbHkgaGlkZGVuIGJ1dCBhdmFpbGFibGUgdG8gYXNzaXN0aXZlIHRlY2ggKHNjcmVlbiByZWFkZXJzKS5cbi8vIFVzZSBmb3IgaGVhZGluZ3MsIGxhYmVscyBhbmQgYW5ub3VuY2VtZW50cyB0aGF0IG11c3QgZXhpc3QgaW4gdGhlXG4vLyBhY2Nlc3NpYmlsaXR5IHRyZWUgYnV0IHNob3VsZCBub3QgYWZmZWN0IHRoZSB2aXN1YWwgbGF5b3V0LlxuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gU2tpcCBsaW5rIOKAlCB2aXNpYmxlIG9ubHkgd2hlbiBmb2N1c2VkIChUYWIga2V5KS4gVXNlZCB0byBieXBhc3Ncbi8vIHJlcGV0aXRpdmUgbmF2aWdhdGlvbiBibG9ja3MgKGUuZy4gc2lkZWJhcikgYW5kIGp1bXAgdG8gPG1haW4+LlxuLnNraXAtbGluayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTAwcHg7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtYWNjZW50LCAjN0MyRDEyKTtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDhweCAxNHB4O1xuICB6LWluZGV4OiAxMDAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gICY6Zm9jdXMsXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgdG9wOiA4cHg7XG4gICAgbGVmdDogOHB4O1xuICB9XG59XG5cbi8vIEZvY3VzIHJpbmcg4oCUIHZpc2libGUgZm9jdXMgaW5kaWNhdG9yIGZvciBrZXlib2FyZCBuYXZpZ2F0aW9uLlxuLy8gQXBwbHkgdmlhIGBAaW5jbHVkZSBmb2N1cy1yaW5nO2AgaW5zaWRlIGFueSBgOmZvY3VzLXZpc2libGVgIHNlbGVjdG9yLlxuQG1peGluIGZvY3VzLXJpbmcoJGNvbG9yOiB2YXIoLS1jLWFjY2VudCwgIzdDMkQxMiksICRvZmZzZXQ6IDJweCkge1xuICBvdXRsaW5lOiAycHggc29saWQgJGNvbG9yO1xuICBvdXRsaW5lLW9mZnNldDogJG9mZnNldDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4vLyBDYXJkIGxpc3Qg4oCUIGA8dWwgcm9sZT1cImxpc3RcIj5gIHdyYXBwZXIgcGFyYSBsaXN0YXMgc2Vtw6JudGljYXMgZGVcbi8vIGNhcmRzLiBaZXJhIG8gbGlzdC1zdHlsZSBlIHBhZGRpbmcgZGVmYXVsdCBkbyBgPHVsPmAgbWFudGVuZG8gYVxuLy8gc2Vtw6JudGljYSBkZSBsaXN0YSBubyBBVCAoV0NBRyAxLjMuMSkuIFVzYXIgY29tIGA8bGk+YCBwb3IgY2FyZC5cbi8vIE8gYHJvbGU9XCJsaXN0XCJgIMOpIFJFRFVOREFOVEUgcHJvZ3JhbWF0aWNhbWVudGUgbWFzIG5lY2Vzc8OhcmlvIHBvcnF1ZVxuLy8gU2FmYXJpL1dlYktpdCByZW1vdmVtIGEgcm9sZSBpbXBsw61jaXRhIHF1YW5kbyBhcGxpY2Ftb3Ncbi8vIGBsaXN0LXN0eWxlOm5vbmVgIOKAlCBidWcgaGlzdMOzcmljbywgdmlkZVxuLy8gaHR0cHM6Ly93d3cuc2NvdHRvaGFyYS5tZS9ibG9nLzIwMTkvMDEvMTIvbGlzdHMtYW5kLXNhZmFyaS5odG1sXG4uY2FyZHMtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuIiwiLy8g4pSA4pSA4pSAIEpFTVMzIHBhZ2UgdmlldyBtb2RlcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFJlZ3JhcyBnbG9iYWlzIGF0aXZhZGFzIHBlbG8gYm9keSBjbGFzcyBzZXRhZG8gZW1cbi8vIGBzcmMvYXBwL3NlcnZpY2Uvdmlldy1tb2RlLnNlcnZpY2UudHNgIHF1YW5kbyBvIFVSTCB0cmF6IGA/dmlld01vZGU9Li4uYC5cbi8vIE1vZG9zIGRlZmluaWRvcyBlbSBgc3JjL2FwcC91dGlscy9wYWdlLXZpZXctbW9kZS50c2AuXG4vL1xuLy8gICDigKIgdmlldy1tb2RlLWZ1bGwgIOKGkiBvIGBhZG1pbi1ldmVudC1zaWRlYmFyYCBicmFuY2ggasOhIGN1aWRhIGRvIENIUk9NRVxuLy8gICAgICAgICAgICAgICAgICAgICAgIElOVEVSTk86IGVtIG1vZG8gRnVsbCBlbGUgcmVuZGVyaXphIHPDs1xuLy8gICAgICAgICAgICAgICAgICAgICAgIGA8cm91dGVyLW91dGxldD5gLCBzZW0gYC5zaWRlYmFyYCAvXG4vLyAgICAgICAgICAgICAgICAgICAgICAgYG1hdC1zaWRlbmF2LWNvbnRhaW5lcmAgLyBldGMuIEEgcMOhZ2luYSBkYSByb3RhXG4vLyAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyaXphIGRpcmV0byBubyBob3N0LCBaRVJPIGhlcmFuw6dhIGRlIGdlb21ldHJpYS5cbi8vICAgICAgICAgICAgICAgICAgICAgICBBcXVpIHPDsyBvY3VsdGFtb3MgbyBxdWUgdml2ZSBGT1JBIGRvXG4vLyAgICAgICAgICAgICAgICAgICAgICAgYWRtaW4tZXZlbnQtc2lkZWJhciAoYGFwcC1maXhlZC10b3AtcHJvZ3Jlc3MtYmFyYCkuXG4vL1xuLy8gICDigKIgdmlldy1tb2RlLWFtcGxvIOKGkiAocGxhY2Vob2xkZXI7IGFpbmRhIG7Do28gaW1wbGVtZW50YWRvKS5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuQGltcG9ydCAnY29sb3JzJztcblxuYm9keS52aWV3LW1vZGUtZnVsbCB7XG4gIC8vIGBhcHAtZml4ZWQtdG9wLXByb2dyZXNzLWJhcmAgdml2ZSBlbSBgZXZlbnQtYWRtaW4uY29tcG9uZW50Lmh0bWxgIChhY2ltYVxuICAvLyBkbyBgYXBwLWFkbWluLWV2ZW50LXNpZGViYXJgKSBlIMOpIHJlZmVyZW5jaWFkbyB2aWEgQFZpZXdDaGlsZCBjb21cbiAgLy8gc3RhdGljOnRydWUgcGVsbyBBZG1pblNlcnZpY2Ug4oCUIG7Do28gZMOhIHByYSAqbmdJZidhci4gRW0gbW9kbyBGdWxsXG4gIC8vIG9jdWx0YW1vcyB2aWEgQ1NTOyBpbnN0w6JuY2lhIHNlZ3VlIHZpdmEgcHJhIG7Do28gcXVlYnJhciByZWZzLlxuICBhcHAtZml4ZWQtdG9wLXByb2dyZXNzLWJhciB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIC8vIFNlbSBjaHJvbWUgYWRtaW4sIG8gQk9EWSDDqSBvIGZ1bmRvIGZ1bGwtYmxlZWQgZGEgcMOhZ2luYS4gU2VtIGlzdG8gZWxlIGZpY2FcbiAgLy8gQlJBTkNPIGUsIGNvbW8gbyBgLnZpZXctbW9kZS1mdWxsLXNoZWxsYCB0ZW0gcGFkZGluZyBsYXRlcmFsLCBzb2JyYXZhbSBkdWFzXG4gIC8vIFwiYmFycmFzIGJyYW5jYXNcIiBuYXMgbGF0ZXJhaXMgKGJvZHkgYnJhbmNvIGZvcmEgZG8gY2luemEgZG8gcGFwZXItaW5mbykuXG4gIC8vIFBpbnRhIGNvbSBvIE1FU01PIGNpbnphIGRhIHDDoWdpbmEgZG8gcGFwZXItaW5mbyAoJGdyYXktMTUwKSDihpIgZnVsbC1ibGVlZFxuICAvLyBjaW56YSBjb250w61udW8gY29tIGEgZm9saGEgYnJhbmNhIGNlbnRyYWRhLiBEYXJrIGVzcGVsaGEgbyBwcmV0by5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTUwO1xuXG4gICYuZGFyay10aGVtZSB7IGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcms7IH1cbn1cblxuLy8gU2hlbGwgZG8gbW9kbyBGdWxsIChyZW5kZXJpemFkbyBkZW50cm8gZGUgYGFkbWluLWV2ZW50LXNpZGViYXIuaHRtbGBcbi8vIHF1YW5kbyBgdmlld01vZGUuaXNGdWxsYCk6IHByb3bDqiBBUEVOQVMgbyBwYWRkaW5nIGxhdGVyYWwgcXVlIGEgcMOhZ2luYVxuLy8gcmVjZWJlcmlhIG5hdHVyYWxtZW50ZSB2aWEgYC5tYXQtc2lkZW5hdi1jb250ZW50YCBubyBjaHJvbWUgYWRtaW4uXG4vLyBTZW0gcGFkZGluZyB0b3AvYm90dG9tIOKAlCB2ZXJ0aWNhbCBlZGdlLXRvLWVkZ2UuXG4udmlldy1tb2RlLWZ1bGwtc2hlbGwge1xuICBwYWRkaW5nLWxlZnQ6ICRsYXRlcmFsLXBhZGRpbmctY29udGVudC1kZXNrdG9wLW1kO1xuICBwYWRkaW5nLXJpZ2h0OiAkbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtZGVza3RvcC1tZDtcblxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRsYXRlcmFsLXBhZGRpbmctY29udGVudC1kZXNrdG9wLXNtO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRsYXRlcmFsLXBhZGRpbmctY29udGVudC1kZXNrdG9wLXNtO1xuICB9XG59XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4vLyBKRU1TMyBjaGFpciBVSSBjaGVja2JveCDigJQgc3F1YXJlIG1lbWJlciBvZiB0aGUgYmluYXJ5LWNvbnRyb2wgZmFtaWx5LlxuLy8gT3V0bGluZWQtb2ZmIC8gZmlsbGVkLW9uIGNvbSBtZXNtYSBETkEgZG8gc2xpZGUtdG9nZ2xlIChwaWxsKSBlIHJhZGlvIChjw61yY3Vsbyk6XG4vL1xuLy8gICAtIEZyYW1lOiAgICAgICAgIDE2cHggc3F1YXJlLCA0cHggcmFkaXVzLCAxLjVweCBib3JkZXIgKHRoZW1lLWF3YXJlKVxuLy8gICAtIE9mZiBiZzogICAgICAgIHdhcm0gYmVpZ2UgdGludCAobGlnaHQpIC8gdHJhbnNwYXJlbnQgKGRhcmspXG4vLyAgIC0gT24gYmc6ICAgICAgICAgc29saWQgYCM0YTQ2M2ZgIChsaWdodCkgLyB0cmFuc3BhcmVudCAoZGFyaylcbi8vICAgLSBDaGVja21hcms6ICAgICBTVkcgc3Ryb2tlIG9mZi13aGl0ZSBjcm9zcy10aGVtZSAocG9wIGVtIGFtYm9zIG9zIHRlbWFzXG4vLyAgICAgICAgICAgICAgICAgICAg4oCUIHZpc8OtdmVsIHRhbnRvIG5vIGZpbGwgYCM0YTQ2M2ZgIGVtIGxpZ2h0IHF1YW50byBub1xuLy8gICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50IGNvbnRyYSBjYW52YXMgZGFyaylcbi8vXG4vLyBDb3JlcyB0aGVtZS1hd2FyZSBlbSBfY29sb3Itc2NoZW1lLnNjc3M7IGdlb21ldHJpYSArIHRyYW5zacOnw7VlcyBhcXVpLlxuXG4vLyBLaWxsIHJpcHBsZSDigJQgY2hhaXIgVUkgZG9lc24ndCB1c2UgcmlwcGxlIGZlZWRiYWNrLlxuLm1hdC1jaGVja2JveC1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIEtpbGwgdGhlIGNoZWNrbWFyayBkcmF3IGFuaW1hdGlvbiDigJQgc3RheXMgc25hcCAoTm90aW9uL0xpbmVhci1zdHlsZSkuXG4vLyBTdGF0ZSB0cmFuc2l0aW9ucyAoYmcvYm9yZGVyKSBETyBhbmltYXRlIHZpYSB0aGUgcnVsZXMgYmVsb3cuXG4ubWF0LWNoZWNrYm94LWNoZWNrbWFyay1wYXRoIHtcbiAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLm1hdC1jaGVja2JveCB7XG4gIC8vIE1hdGVyaWFsIGRlZmF1bHQgdGVtIGAubWF0LWNoZWNrYm94LWxheW91dCB7IGFsaWduLWl0ZW1zOiBiYXNlbGluZSB9YCDigJRcbiAgLy8gYSBib3ggKDE2cHgpIGFsaW5oYSBwZWxvIGJhc2VsaW5lIGRvIHRleHRvIGUgZXN0ZW5kZSB+M3B4IGFjaW1hIGRvIHRvcCBkYVxuICAvLyB0ZXh0LWxpbmUsIHNvbWFuZG8gMnB4IGRlIGFsdHVyYSBwb3Igcm93IHZzIG8gYGFsaWduLWl0ZW1zOiBjZW50ZXJgIGRvXG4gIC8vIHJhZGlvIGUgZG8gdG9nZ2xlLiBPdmVycmlkZSBwYXJhIGNlbnRlciBhbGluaGEgYSBmYW3DrWxpYSB2aXN1YWxtZW50ZS5cbiAgLy8gU3BlY2lmaWNpdHkgMCwyLDAgKHZzIE1hdGVyaWFsIDAsMSwwKSDigJQgc2VtIGAhaW1wb3J0YW50YC5cbiAgLm1hdC1jaGVja2JveC1sYXlvdXQge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAvLyAxNnB4IGJveCAoc2Vjb25kYXJ5IGljb24gc2NhbGUsIG1lc21hIGZhbcOtbGlhKS4gOHB4IGdhcCBiZWZvcmUgbGFiZWwuXG4gIC5tYXQtY2hlY2tib3gtaW5uZXItY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIH1cblxuICAvLyA0cHggcmFkaXVzIG9uIGJvdGggZnJhbWUgKHVuY2hlY2tlZCkgYW5kIGJhY2tncm91bmQgKGNoZWNrZWQgZmlsbCkuXG4gIC8vIFNsaWdodCByb3VuZGluZyBnaXZlcyBhIE5vdGlvbi9MaW5lYXIgZmVlbCB3aXRob3V0IGdvaW5nIGNpcmN1bGFyLlxuICAubWF0LWNoZWNrYm94LWZyYW1lIHtcbiAgICBib3JkZXItd2lkdGg6IDEuNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zICRlYXNlLW91dCwgYm9yZGVyLWNvbG9yIDE1MG1zICRlYXNlLW91dDtcbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTUwbXMgJGVhc2Utb3V0O1xuICB9XG5cbiAgLy8gU2hyaW5rIHRoZSBjaGVja21hcmsgZ2x5cGggcGFyYSByZWZpbmVtZW50IHNlbSBwZXJkZXIgcHJlc2Vuw6dhLiBNYXRlcmlhbFxuICAvLyBkZWZhdWx0IHJlbmRpYSB+MTBweCAoNjIlIGRvIGJveCk7IDAuOCByZWR1eiBwYXJhIH44cHggPSBtYWlzIGxldmUgcXVlIG9cbiAgLy8gZGVmYXVsdCwgbWFzIG1hbnTDqW0gcGVzbyBkZSBsZWl0dXJhIGltZWRpYXRhLlxuICAubWF0LWNoZWNrYm94LWNoZWNrbWFyayB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgfVxufVxuXG4vLyBGb2N1cyAoa2V5Ym9hcmQpIOKAlCBvdXRsaW5lIG9mZnNldCBpZ3VhbCBhb3Mgb3V0cm9zIGNvbnRyb2xlcy4gQ29sb3IgdGhlbWUtYXdhcmUuXG4ubWF0LWNoZWNrYm94LmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtY2hlY2tib3gtZnJhbWUge1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4vLyBEaXNhYmxlZCDigJQgb3BhY2l0eSArIGN1cnNvciAocGFyYWxlbG8gYW8gc2xpZGUtdG9nZ2xlIGUgcmFkaW8pLlxuLm1hdC1jaGVja2JveC5tYXQtY2hlY2tib3gtZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4iLCJAaW1wb3J0ICcuLi9jb2xvcnMnO1xuQGltcG9ydCAnLi4vdmFyaWFibGVzJztcblxuLy8g4pSA4pSA4pSAIC5qZW1zMy1uYXRpdmUtY2hlY2tib3gg4oCUIGNoZWNrYm94IE5BVElWTyBlc3RpbGl6YWRvIGRvIEpFTVMzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gQWx0ZXJuYXRpdmEgbGlnaHQtd2VpZ2h0IGFvIDxtYXQtY2hlY2tib3g+IHBhcmEgdGVsYXMgY29tIG11aXRhcyBpbnN0w6JuY2lhc1xuLy8gKG1hdHJpemVzLCBjaGVja2xpc3RzLCBsaXN0YXMgbG9uZ2FzKS4gU2VtIHJpcHBsZSwgc2VtIGluc3RhbmNpYW1lbnRvIGRvXG4vLyBNYXRlcmlhbCDigJQgc8OzIEhUTUwgbmF0aXZvICsgQ1NTLiBTdXBvcnRhIG9zIDMgZXN0YWRvcyAob2ZmIC8gb24gLyBpbmRldGVyLVxuLy8gbWluYXRlKS4gUHJvbW92aWRvIHBhcmEgZ2xvYmFsIHByYSBzZXIgcmV1dGlsaXrDoXZlbCBlbSBxdWFscXVlciBww6FnaW5hLlxuLy9cbi8vIFVzbzpcbi8vICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwiamVtczMtbmF0aXZlLWNoZWNrYm94XCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiPlxuLy9cbi8vIEluZGV0ZXJtaW5hdGUgw6kgc2V0YWRvIHZpYSBKUyAoQW5ndWxhciBAVmlld0NoaWxkIC8gc2V0dGVyKSwgaWd1YWwgYW9cbi8vIG1hdC1jaGVja2JveC4gRXhlbXBsbzogYGNoZWNrYm94UmVmLmluZGV0ZXJtaW5hdGUgPSBpc1BhcnRpYWxseUNoZWNrZWQ7YFxuLy9cbi8vIFRlbWE6IGxpZ2h0ID0gZmlsbCBhY2NlbnQgKG9yYW5nZS05MDApICsgY2hlY2sgb2ZmLXdoaXRlLiBEYXJrID0gZmlsbFxuLy8gZ3JheS0zMDAgKyBjaGVjayBuZWFyLWJsYWNrLiBPdmVycmlkZSBlbSBgLmRhcmstdGhlbWVgIG5vIGZpbSBkbyBhcnF1aXZvLlxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5qZW1zMy1uYXRpdmUtY2hlY2tib3gge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgbWFyZ2luOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXI6IDEuNXB4IHNvbGlkICRncmF5LTQ1MDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zICRlYXNlLW91dCwgYm9yZGVyLWNvbG9yIDE1MG1zICRlYXNlLW91dDtcblxuICAmOmNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBkPSdNMyA4IEw3IDEyIEwxMyA0JyBzdHJva2U9JyUyM2Y5ZjhmNycgc3Ryb2tlLXdpZHRoPScyLjInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuXG4gICY6aW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nbm9uZSclM0UlM0NwYXRoIGQ9J000IDggTDEyIDgnIHN0cm9rZT0nJTIzZjlmOGY3JyBzdHJva2Utd2lkdGg9JzIuMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICB9XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmU7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICMwNjRhZDk7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgfVxufVxuXG4vLyBEYXJrIHRoZW1lIOKAlCBmaWxsIGNsYXJvIGNvbSBjaGVjayBlc2N1cm8gcHJhIGNvbnRyYXN0ZS5cbi5kYXJrLXRoZW1lIC5qZW1zMy1uYXRpdmUtY2hlY2tib3gge1xuICBib3JkZXItY29sb3I6ICRncmF5LTQwMDtcblxuICAmOmNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTMwMDtcbiAgICBib3JkZXItY29sb3I6ICRncmF5LTMwMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBkPSdNMyA4IEw3IDEyIEwxMyA0JyBzdHJva2U9JyUyMzIwMjAyMCcgc3Ryb2tlLXdpZHRoPScyLjInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuXG4gICY6aW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMzAwO1xuICAgIGJvcmRlci1jb2xvcjogJGdyYXktMzAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nbm9uZSclM0UlM0NwYXRoIGQ9J000IDggTDEyIDgnIHN0cm9rZT0nJTIzMjAyMDIwJyBzdHJva2Utd2lkdGg9JzIuMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICB9XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyaztcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZS1jb2xvcjogIzAwODBmZjtcbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vY29sb3JzJztcbkBpbXBvcnQgJy4uL3ZhcmlhYmxlcyc7XG5cbi8vIOKUgOKUgOKUgCAuamVtczMtbmF0aXZlLXJhZGlvIOKAlCByYWRpby1idXR0b24gTkFUSVZPIGVzdGlsaXphZG8gZG8gSkVNUzMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBBbHRlcm5hdGl2YSBsaWdodC13ZWlnaHQgYW8gPG1hdC1yYWRpby1idXR0b24+IOKAlCBzZW0gcmlwcGxlLCBzZW0gTWF0ZXJpYWwuXG4vLyBNZXNtYSBsaW5ndWFnZW0gdmlzdWFsIGRvIC5qZW1zMy1uYXRpdmUtY2hlY2tib3ggKHPDsyBIVE1MICsgQ1NTKSwgcGFyYVxuLy8gYW1iaWVudGVzIGF1dG9yL3Jldmlzb3Igb25kZSBvIHJlc3RhbnRlIGRvcyBjb250cm9sZXMgw6kgbmF0aXZvIEpFTVMzLlxuLy9cbi8vIFVzbzpcbi8vICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIGNsYXNzPVwiamVtczMtbmF0aXZlLXJhZGlvXCIgbmFtZT1cImdydXBvXCJcbi8vICAgICAgICAgIFtjaGVja2VkXT1cIi4uLlwiIChjaGFuZ2UpPVwiLi4uXCI+XG4vL1xuLy8gTXV0dWFsLWV4Y2x1c8OjbyB2ZW0gZG8gYXRyaWJ1dG8gYG5hbWVgIGRvIHByw7NwcmlvIGJyb3dzZXIg4oCUIG8gbWVzbW8gYG5hbWVgXG4vLyBlbSBtw7psdGlwbG9zIHLDoWRpb3MgYWdydXBhIGEgc2VsZcOnw6NvLiBOw6NvIHByZWNpc2EgZGUgPG1hdC1yYWRpby1ncm91cD4uXG4vL1xuLy8gVGVtYTogbGlnaHQgPSBmaWxsIGFjY2VudCAob3JhbmdlLTkwMCkgY29tIG1pb2xvIG9mZi13aGl0ZS4gRGFyayA9IGZpbGxcbi8vIGdyYXktMzAwIGNvbSBtaW9sbyBuZWFyLWJsYWNrLiBPdmVycmlkZSBlbSBgLmRhcmstdGhlbWVgIG5vIGZpbSBkbyBhcnF1aXZvLlxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5qZW1zMy1uYXRpdmUtcmFkaW8ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgbWFyZ2luOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXI6IDEuNXB4IHNvbGlkICRncmF5LTQ1MDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAvLyBNaW9sbyBkZXNlbmhhZG8gdmlhIGBiYWNrZ3JvdW5kLWltYWdlYCBTVkcgKGPDrXJjdWxvIGludGVybm8pLiBBc3NpbVxuICAvLyBuw6NvIHByZWNpc2EgZGUgcHNldWRvLWVsZW1lbnRvIOKAlCBmdW5jaW9uYSBlbSA8aW5wdXQ+IG5hdGl2bywgcXVlIG7Do29cbiAgLy8gYWNlaXRhIGA6OmJlZm9yZWAvYDo6YWZ0ZXJgLlxuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zICRlYXNlLW91dCwgYm9yZGVyLWNvbG9yIDE1MG1zICRlYXNlLW91dDtcblxuICAmOmNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNFJTNDY2lyY2xlIGN4PSc4JyBjeT0nOCcgcj0nNCcgZmlsbD0nJTIzZjlmOGY3Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICB9XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmU7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICMwNjRhZDk7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgfVxufVxuXG4vLyBEYXJrIHRoZW1lIOKAlCBmaWxsIGNsYXJvIGNvbSBtaW9sbyBlc2N1cm8gcHJhIGNvbnRyYXN0ZS5cbi5kYXJrLXRoZW1lIC5qZW1zMy1uYXRpdmUtcmFkaW8ge1xuICBib3JkZXItY29sb3I6ICRncmF5LTQwMDtcblxuICAmOmNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTMwMDtcbiAgICBib3JkZXItY29sb3I6ICRncmF5LTMwMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNFJTNDY2lyY2xlIGN4PSc4JyBjeT0nOCcgcj0nNCcgZmlsbD0nJTIzMjAyMDIwJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICB9XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyaztcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZS1jb2xvcjogIzAwODBmZjtcbiAgfVxufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuLy8gSkVNUzMgY2hhaXIgVUkgc2xpZGUtdG9nZ2xlIOKAlCBjb21wYWN0LCBtb25vY2hyb21hdGljLCBvdXRsaW5lZC1vZmYgKFwiUGxhbiBCXCIpLlxuLy8gRGVmYXVsdCBNYXRlcmlhbCB2MTEgaXMgMzbDlzE0IHRyYWNrICsgMjBweCBlbGV2YXRlZCB0aHVtYiBpbiBwcmltYXJ5L2FjY2VudFxuLy8gY29sb3IgKGxvb2tzIGRhdGVkIGFuZCB3YXNoZWQtb3V0IGluIHRoZSBvZmYgc3RhdGUpLiBPdXIgcmVjaXBlOlxuLy9cbi8vICAgLSBUcmFjazogICAgICAgMjTDlzE0IHBpbGwgKHJhZGl1cyA3KS4gMTQlIHNtYWxsZXIgdGhhbiBmaXJzdCBjb21wYWN0IHBhc3MuXG4vLyAgIC0gVGh1bWI6ICAgICAgIDEww5cxMCBmbGF0IGNpcmNsZSwgMnB4IHBhZGRpbmcgYWxsLWFyb3VuZCBpbnNpZGUgdGhlIHRyYWNrXG4vLyAgICAgICAgICAgICAgICAgIChzbyB0aGUgdGh1bWIgaXMgZnVsbHkgY29udGFpbmVkKS4gVHJhbnNsYXRlcyAxMHB4IG9uIGNoZWNrLlxuLy8gICAtIE9mZiB0cmFjazogICB0cmFuc3BhcmVudCBiZyArIDEuNXB4IGluc2V0IGJvcmRlciAodmlhIGJveC1zaGFkb3cgaW5zZXQpXG4vLyAgICAgICAgICAgICAgICAgIGluICRjaHJvbWUtYm9yZGVyLWxpZ2h0Ly1kYXJrIOKAlCBvdXRsaW5lZCwgTk9UIGZpbGxlZCBncmF5XG4vLyAgICAgICAgICAgICAgICAgIChmaWxsZWQgZ3JheSBtYWRlIHRoZSBjb250cm9sIHJlYWQgYXMgXCJkaXNhYmxlZFwiKS5cbi8vICAgLSBPbiB0cmFjazogICAgc29saWQgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLy1hY3RpdmUtZGFya1xuLy8gICAgICAgICAgICAgICAgICAoc2FtZSBhY3RpdmUgdG9rZW4gdXNlZCBieSBjaGVja2JveCBjaGVja2VkIGZpbGwpLlxuLy8gICAtIE9mZiB0aHVtYjogICAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciAodGhlIG11dGVkIHRleHQgdG9rZW4g4oCUXG4vLyAgICAgICAgICAgICAgICAgIGRhcmsgZ3JheSBvbiB0aGUgb3V0bGluZWQgdHJhY2ssIGNsZWFybHkgcHJlc2VudCkuXG4vLyAgIC0gT24gdGh1bWI6ICAgICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQgKGNocm9tZSBiZyB0b25lIOKAlCBvZmYtd2hpdGUgb25cbi8vICAgICAgICAgICAgICAgICAgdGhlIHNvbGlkIGRhcmsgYWN0aXZlIHRyYWNrLCBjbGVhcmx5IHByZXNlbnQpLlxuLy9cbi8vIFNlbWFudGljYWxseSBzeW1tZXRyaWMgd2l0aCB0aGUgY2hlY2tib3g6IG9mZiA9IG91dGxpbmVkLCBvbiA9IGZpbGxlZC5cbi8vIENvbG9ycyBhcmUgdGhlbWUtYXdhcmUgdmlhIF9jb2xvci1zY2hlbWUuc2NzczsgZ2VvbWV0cnkgbGl2ZXMgaGVyZS5cblxuLy8gS2lsbCByaXBwbGUg4oCUIGNoYWlyIFVJIGRvZXNuJ3QgdXNlIHJpcHBsZSBmZWVkYmFjay5cbi5tYXQtc2xpZGUtdG9nZ2xlIC5tYXQtc2xpZGUtdG9nZ2xlLXJpcHBsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tYXQtc2xpZGUtdG9nZ2xlIHtcbiAgLy8gTWF0ZXJpYWwgZGVmYXVsdCBmb3LDp2EgYC5tYXQtc2xpZGUtdG9nZ2xlIHsgaGVpZ2h0OiAyNHB4OyBsaW5lLWhlaWdodDogMjRweCB9YFxuICAvLyBubyBob3N0ICg9d3JhcHBlcikgdmlhIGlubGluZSBzdHlsZXMgZG8gY29tcG9uZW50ZSAoVmlld0VuY2Fwc3VsYXRpb24pLlxuICAvLyBFc3NlcyBzdHlsZXMgZW50cmFtIG5vIGRvY3VtZW50IG9yZGVyIERFUE9JUyBkb3Mgbm9zc29zIGdsb2JhaXMg4oCUIGVudMOjb1xuICAvLyBzZW0gYCFpbXBvcnRhbnRgIE1hdGVyaWFsIHZlbmNlIHBvciBzb3VyY2Ugb3JkZXIgKG1lc21hIGVzcGVjaWZpY2lkYWRlKS5cbiAgLy8gT3ZlcnJpZGU6IGF1dG8taGVpZ2h0IGNvbGFwc2EgbyB3cmFwcGVyIHBhcmEgYSBhbHR1cmEgbmF0dXJhbCBkbyBjb250ZcO6ZG8uXG4gIC8vXG4gIC8vIGxpbmUtaGVpZ2h0IEZJWE8gKDEuMywgYm9keSByZWNpcGUpIOKAlCBOw4NPIGBpbmhlcml0YC4gQ29tIGBpbmhlcml0YCBvIGhvc3QgcGVnYXZhXG4gIC8vIG8gbGluZS1oZWlnaHQgZG8gQ09OVEFJTkVSLCBxdWUgdmFyaWEgcG9yIHRlbGEgKGV4LjogYC5zbWFsbC1waWNrZXIgeyBsaW5lLWhlaWdodDpcbiAgLy8gMSAhaW1wb3J0YW50IH1gLCBgLnNjb3BlLXRvZ2dsZS1yb3cgeyBmb250LXNpemU6IC44NzVyZW0gfWApLCBmYXplbmRvIG8gTUVTTU8gdG9nZ2xlXG4gIC8vIHJlbmRlcml6YXIgY29tIGNhaXhhcy9hbGluaGFtZW50b3MgZGlmZXJlbnRlcyAoXCJ2ZXJzw7VlcyBkaWZlcmVudGVzXCIpLiBGaXhvIGFxdWkg4oaSXG4gIC8vIGlkw6pudGljbyBlbSB0b2RvIG8gc2lzdGVtYSAoTGlzdGEgZGUgc3VibWlzc8O1ZXMsIGF1dG9yL3Jldmlzb3IsIGFkbWluL2NoYWlyKS5cbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjMgIWltcG9ydGFudDtcblxuICAvLyBHZW9tZXRyaWEgKHRyYWNrICsgdGh1bWIpID0gYmxvY28gXCJNMyBzd2l0Y2gg4oCUIFBBRFLDg08gRE8gU0lTVEVNQVwiIGFiYWl4byAoMzLDlzE4LFxuICAvLyBhIGdlb21ldHJpYSBkYSBMaXN0YSBkZSBzdWJtaXNzw7VlcykuIE8gY2hhaXIgY29tcGFjdG8gMjTDlzE0IGZvaSBBUE9TRU5UQURPIOKAlCBmb250ZVxuICAvLyDDmk5JQ0EgZGUgZ2VvbWV0cmlhIGFnb3JhIMOpIG8gTTMuIEFxdWkgZmljYSBzw7MgbyBgcG9zaXRpb246IHJlbGF0aXZlYCBkbyB0aHVtYiwgYmFzZVxuICAvLyBwLyBvIDo6YWZ0ZXIgKGdseXBoIOKckykgc2UgcG9zaWNpb25hciBkZW50cm8gZG8gdGh1bWIuXG4gIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cblxuLy8gQ2hlY2sgZ2x5cGggKOKckykgaW5zaWRlIHRoZSB0aHVtYiB3aGVuIE9OLiBTVkcgbWFzayBmb3IgY3Jpc3AgcmVuZGVyaW5nIGF0XG4vLyB0aGUgc21hbGwgMTBweCB0aHVtYiBzaXplIOKAlCBgbWFzay1zaXplOiA2MCVgIGxlYXZlcyB+MnB4IG9mIGJyZWF0aGluZyByb29tXG4vLyBhcm91bmQgdGhlIGNoZWNrLiBDb2xvciBpcyB0aGVtZS1hd2FyZSB2aWEgX2NvbG9yLXNjaGVtZS5zY3NzLiBPZmYgc3RhdGVcbi8vIGhhcyBubyBnbHlwaCDigJQgb25seSB0aGUgb24gc3RhdGUgY2FycmllcyB0aGUgY3VlLlxuLm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWI6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBkPSdNMS41IDQgTDMuNSA2IEw2LjUgMicgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScxLjUnIGZpbGw9J25vbmUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZD0nTTEuNSA0IEwzLjUgNiBMNi41IDInIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMS41JyBmaWxsPSdub25lJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLyUzRSUzQy9zdmclM0VcIik7XG4gIC13ZWJraXQtbWFzay1zaXplOiA2MCU7XG4gICAgICAgICAgbWFzay1zaXplOiA2MCU7XG4gIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG59XG5cbi8vIFRyYW5zacOnw6NvIGRhIHBvc2nDp8OjbyBkbyB0aHVtYiBPTiDDqSBkZWZpbmlkYSBubyBibG9jbyBNMyAoZ3JvdyArIHNsaWRlIDE0cHgpLlxuXG4vLyBUcmFuc2l0aW9uOiBzbW9vdGggdGh1bWIgc2xpZGUgKyBiZy90aHVtYiBjb2xvciBmYWRlLiAxNTBtcyB3aXRoICRlYXNlLW91dFxuLy8gKGNoYWlyIFVJIGNhbm9uaWNhbCBlYXNpbmcgY3VydmUpLiBCb3JkZXIgKGluc2V0IHNoYWRvdykgZG9lc24ndCBjaGFuZ2Vcbi8vIGJldHdlZW4gb2ZmL29uLCBzbyBubyB0cmFuc2l0aW9uIG5lZWRlZCBvbiBpdC5cbi5tYXQtc2xpZGUtdG9nZ2xlIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iLWNvbnRhaW5lciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNTBtcyAkZWFzZS1vdXQ7XG59XG4ubWF0LXNsaWRlLXRvZ2dsZSAubWF0LXNsaWRlLXRvZ2dsZS1iYXIge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zICRlYXNlLW91dCwgYm94LXNoYWRvdyAxNTBtcyAkZWFzZS1vdXQ7XG59XG4ubWF0LXNsaWRlLXRvZ2dsZSAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYiB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTUwbXMgJGVhc2Utb3V0O1xufVxuXG4vLyBGb2N1cyBpbmRpY2F0b3IgKGtleWJvYXJkIGExMXkpIOKAlCBvdXRsaW5lIGFyb3VuZCB0aGUgdHJhY2sgd2hlbiBmb2N1c2VkIHZpYVxuLy8ga2V5Ym9hcmQuIE1hdGVyaWFsJ3MgQ0RLIEZvY3VzTW9uaXRvciBhcHBsaWVzIGAuY2RrLWtleWJvYXJkLWZvY3VzZWRgIG9ubHkgb25cbi8vIGtleWJvYXJkIGZvY3VzIChtb3VzZSBmb2N1cyBnZXRzIGAuY2RrLW1vdXNlLWZvY3VzZWRgLCBubyBvdXRsaW5lKS4gQ29sb3IgaXNcbi8vIHRoZW1lLWF3YXJlIHZpYSBfY29sb3Itc2NoZW1lLnNjc3MuXG4ubWF0LXNsaWRlLXRvZ2dsZS5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LXNsaWRlLXRvZ2dsZS1iYXIge1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4vLyBEaXNhYmxlZCBzdGF0ZSDigJQgc2luZ2xlIG9wYWNpdHkgZHJvcCBvbiB0aGUgaG9zdCBlbGVtZW50ICh1bmlmb3JtIG11dGUgb2Zcbi8vIHBpbGwgKyB0aHVtYiArIGNoZWNrICsgbGFiZWwpICsgY3Vyc29yIGN1ZS4gTWF0ZXJpYWwgYWRkcyBgLm1hdC1kaXNhYmxlZGBcbi8vIGNsYXNzIHdoZW4gdGhlIGlucHV0IGlzIGBbZGlzYWJsZWRdPVwidHJ1ZVwiYC5cbi5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNMyBzd2l0Y2gg4oCUIEdFT01FVFJJQSBHTE9CQUwgw5pOSUNBIChwYWRyw6NvIGRvIHNpc3RlbWEpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJlcHJvZHV6IHZpc3VhbG1lbnRlIG8gTWF0ZXJpYWwgRGVzaWduIDMgc3dpdGNoIHNvYnJlIG8gY29tcG9uZW50ZSBNYXRlcmlhbCAxMS5cbi8vIMOJIGEgw5pOSUNBIGdlb21ldHJpYSBkZSB0b2RvIGBtYXQtc2xpZGUtdG9nZ2xlYCBkbyBKRU1TMyDigJQgYSBtZXNtYSBkbyB0b2dnbGUgZGFcbi8vIFwiTGlzdGEgZGUgc3VibWlzc8O1ZXNcIiAocXVlIGFwZW5hcyBoZXJkYSBlc3RlIGdsb2JhbCwgc2VtIGdlb21ldHJpYSBwcsOzcHJpYSkuIEFudGVzXG4vLyBlc2NvcGFkYSBhbyBhdXRvci9yZXZpc29yIChgLm1haW4taGVhZGVyIC5vcHRpb25zYCwgYC5zbWFsbC1waWNrZXJgLFxuLy8gYC5zY29wZS10b2dnbGUtcm93YCkgZSBvIGNoYWlyIGNvbXBhY3RvIDI0w5cxNCBlcmEgbyBkZWZhdWx0OyBhZ29yYSBvIGNoYWlyIGZvaVxuLy8gYXBvc2VudGFkbyBlIGVzdGEgw6kgYSBmb250ZSB1bml2ZXJzYWwuIE8gYmxvY28gYC5tYXQtc2xpZGUtdG9nZ2xlYCBhY2ltYSBjdWlkYSBzw7Ncbi8vIGRvIG7Do28tZ2VvbcOpdHJpY28gKGVzdGFkbyBPRkYvY29yLCBob3N0IGhlaWdodCwga2lsbC1yaXBwbGUsIHBvc2l0aW9uIGRvIHRodW1iKS5cbi8vIE1leGVyIGFxdWkgcmVmbGV0ZSBlbSBUT0RPIG8gc2lzdGVtYSwgaW5jbHVzaXZlIG5hIExpc3RhIGRlIHN1Ym1pc3PDtWVzLlxuLy9cbi8vICAgTTMgc3BlY3MgKGNvbXBhY3RvLCBtYW50w6ltIHJhdGlvIHRodW1iL3RyYWNrIH4wLjc1IGRvIE0zIHN0YW5kYXJkKTpcbi8vICAgLSBUcmFjazogICAgMzLDlzE4IHBpbGwsIHJhZGl1cyA5XG4vLyAgIC0gVGh1bWI6ICAgIDEww5cxMCBvZmYgKGNlbnRlcmVkLCA0cHggcGFkZGluZykg4oaSIDE0w5cxNCBvbiAoY3Jlc2NlICsgc2xpZGUpXG4vLyAgIC0gT3V0bGluZTogIDEuNXB4IGJvcmRlciBuYSB0cmFjayBPRkY7IHNlbSBvdXRsaW5lIE9OIChNMyBwdXJvKVxuLy8gICAtIENvciBvbjogICAkYWNjZW50LWJhY2tncm91bmQgKGF6dWwgSkVNUzMpIOKAlCBkZWZpbmlkYSBlbSBfY29sb3Itc2NoZW1lLnNjc3Ncbi8vICAgLSBTaGFkb3c6ICAgdGh1bWIgdGVtIGVsZXZhw6fDo28gc3V0aWxcbi8vICAgLSBIb3ZlcjogICAgc2VtIGRlc3RhcXVlIChhIHRyYWNrIE9OIGrDoSB0ZW0gY29yIHNhdHVyYWRhIG8gc3VmaWNpZW50ZSlcbi8vICAgLSBQYWRkaW5nIE9OOiAycHggZGUgY2FkYSBsYWRvICh0aHVtYiBuw6NvIHRvY2EgYm9yZGEgZGEgdHJhY2spXG4ubWF0LXNsaWRlLXRvZ2dsZSB7XG4gIC5tYXQtc2xpZGUtdG9nZ2xlLWJhciB7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDlweDtcbiAgfVxuXG4gIC8vIE9mZiB0aHVtYjogMTDDlzEwLCBjZW50ZXJlZCAoNHB4IHBhZGRpbmcgYWxsLWFyb3VuZCBpbnNpZGUgMThweCBiYXIpLlxuICAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYi1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICB0b3A6IDRweDtcbiAgICBsZWZ0OiA0cHg7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zICRlYXNlLW91dCwgd2lkdGggMTUwbXMgJGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgIGhlaWdodCAxNTBtcyAkZWFzZS1vdXQsIHRvcCAxNTBtcyAkZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgbGVmdCAxNTBtcyAkZWFzZS1vdXQ7XG4gIH1cbiAgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWIge1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zICRlYXNlLW91dCwgd2lkdGggMTUwbXMgJGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgIGhlaWdodCAxNTBtcyAkZWFzZS1vdXQsIGJveC1zaGFkb3cgMTUwbXMgJGVhc2Utb3V0O1xuICB9XG5cbiAgLy8gQ2hlY2tlZDogdGh1bWIgY3Jlc2NlIHBhcmEgMTTDlzE0IChNMyBncm93KS4gUG9zacOnw6NvIGZpbmFsOiB0aHVtYiByaWdodFxuICAvLyBlZGdlIGEgMnB4IGRhIGJvcmRhIGRpcmVpdGEgZGEgdHJhY2sg4oaSIHRodW1iIGxlZnQgPSAzMiAtIDE0IC0gMiA9IDE2cHguXG4gIC8vIENvbnRhaW5lciBPTiB0ZW0gbGVmdDoyLCBlbnTDo28gdHJhbnNmb3JtID0gMTYgLSAyID0gMTRweC5cbiAgJi5tYXQtY2hlY2tlZCB7XG4gICAgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWItY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgdG9wOiAycHg7XG4gICAgICBsZWZ0OiAycHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDE0cHgsIDAsIDApICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iIHtcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICB9XG4gIH1cblxuICAvLyBNMyBPTiB0aHVtYjogY2hlY2sgZ2x5cGggKHZpYSA6OmFmdGVyIGRvIGNoYWlyIHJlY2lwZSkgZW0gNTUlIGRvIHRodW1iXG4gIC8vIDE0w5cxNCA9IH44cHguIENvciBkbyBnbHlwaCDDqSBhenVsIEpFTVMzIChvdmVycmlkZSBlbSBfY29sb3Itc2NoZW1lLnNjc3MpLlxuICAmLm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iOjphZnRlciB7XG4gICAgLXdlYmtpdC1tYXNrLXNpemU6IDU1JTtcbiAgICAgICAgICAgIG1hc2stc2l6ZTogNTUlO1xuICB9XG5cbiAgLy8gTTMgT04gdHJhY2s6IHNlbSBvdXRsaW5lIChhIGNvciBwcmVlbmNoaWRhIMOpIG8gc2luYWwpLlxuICAmLm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLWJhciB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gSG92ZXI6IGJnIGRhIGJhciBuw6NvIG11ZGEsIGUgYSBjb3IgZGEgb3V0bGluZSAoT0ZGIHN0YXRlKSB0YW1iw6ltIG7Do28gbXVkYVxuICAvLyDigJQgb3ZlcnJpZGVzIGVtIF9jb2xvci1zY2hlbWUuc2NzcyBnYXJhbnRlbSBxdWUgaG92ZXIgPT09IHJlc3Rpbmcgc3RhdGUuXG59XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4vLyBKRU1TMyBjaGFpciBVSSByYWRpbyBidXR0b24g4oCUIGFwcGxpZXMgdGhlIHNsaWRlLXRvZ2dsZSdzIFwiYmluYXJ5IGNvbnRyb2xcIlxuLy8gdmlzdWFsIGxhbmd1YWdlIHRvIGEgY2lyY3VsYXIgc2hhcGUuIFRvZ2V0aGVyIHdpdGggdGhlIGNoZWNrYm94IChzcXVhcmUpXG4vLyBhbmQgc2xpZGUtdG9nZ2xlIChwaWxsKSwgdGhlIHJhZGlvIChjaXJjbGUpIGNvbXBsZXRlcyB0aGUgZmFtaWx5IOKAlCBhbGxcbi8vIHRocmVlIHNoYXJlOiBvdXRsaW5lZC1vZmYgLyBmaWxsZWQtb24sIG1lc21vcyBjb2xvciB0b2tlbnMsIG1lc21hcyBpbnZlcnPDtWVzXG4vLyBkZSBob3ZlciwgZm9jdXMgYnJhbmQtc2F0dXJhZG8uXG4vL1xuLy8gICAtIE91dGVyIHJpbmc6ICAxNnB4IGNpcmNsZSwgMS41cHggYm9yZGVyICh0aGVtZS1hd2FyZSlcbi8vICAgLSBPZmYgYmc6ICAgICAgd2FybSBiZWlnZSB0aW50IChsaWdodCkgLyB0cmFuc3BhcmVudCAoZGFyaylcbi8vICAgLSBPbiBiZzogICAgICAgc29saWQgYCM0YTQ2M2ZgIChsaWdodCkgLyB0cmFuc3BhcmVudCAoZGFyaylcbi8vICAgLSBJbm5lciBkb3Q6ICAgfjZweCAoc2NhbGUgMC4zNzUgZG8gb3V0ZXIgMTZweCkgb2ZmLXdoaXRlIGNyb3NzLXRoZW1lLFxuLy8gICAgICAgICAgICAgICAgICB2aXPDrXZlbCBzw7Mgbm8gY2hlY2tlZCDigJQgZmF6IG8gcGFwZWwgdmlzdWFsIGRvIFwidGh1bWJcIiBkb1xuLy8gICAgICAgICAgICAgICAgICBzbGlkZS10b2dnbGUgKGN1ZSBkZSBwb3Npw6fDo28vc2VsZcOnw6NvKVxuLy9cbi8vIENvcmVzIHRoZW1lLWF3YXJlIGVtIF9jb2xvci1zY2hlbWUuc2NzczsgZ2VvbWV0cmlhICsgdHJhbnNpw6fDtWVzIGFxdWkuXG5cbi8vIEtpbGwgcmlwcGxlIOKAlCBjaGFpciBVSSBkb2Vzbid0IHVzZSByaXBwbGUuXG4ubWF0LXJhZGlvLWJ1dHRvbiAubWF0LXJhZGlvLXJpcHBsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tYXQtcmFkaW8tYnV0dG9uIHtcbiAgLy8gQ29udGFpbmVyIOKAlCAxNnB4IGJveCBxdWUgYWJyaWdhIG91dGVyICsgaW5uZXIuXG4gIC5tYXQtcmFkaW8tY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gIH1cblxuICAvLyBPdXRlciBjaXJjbGUgKHRoZSByaW5nKSDigJQgMTZweCwgYm9yZGVyIDEuNXB4ICh1bmlmb3JtZSBub3MgZG9pcyB0ZW1hcykuXG4gIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgYm9yZGVyLXdpZHRoOiAxLjVweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zICRlYXNlLW91dCwgYm9yZGVyLWNvbG9yIDE1MG1zICRlYXNlLW91dDtcbiAgfVxuXG4gIC8vIElubmVyIGNpcmNsZSAodGhlIGRvdCkg4oCUIHNlbXByZSAxNnB4IGRlIMOhcmVhOyBzY2FsZSBmYXogYXBhcmVjZXIvc3VtaXIuXG4gIC8vIE1hdGVyaWFsIGRlZmF1bHQgPSBzY2FsZSgwKSB1bmNoZWNrZWQg4oaSIHNjYWxlKDAuNSkgY2hlY2tlZCAoPSA4cHggZG90KS5cbiAgLy8gT3ZlcnJpZGU6IHNjYWxlKDAuMzc1KSBjaGVja2VkID0gNnB4IGRvdCwgbWFpcyBkaXNjcmV0byBlIGhhcm3DtG5pY28gY29tXG4gIC8vIGEgZXNjYWxhIG1vbm9jcsOzbWF0aWNhIGRvIGNvbXBvbmVudGUuXG4gIC5tYXQtcmFkaW8taW5uZXItY2lyY2xlIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zICRlYXNlLW91dCwgYmFja2dyb3VuZC1jb2xvciAxNTBtcyAkZWFzZS1vdXQ7XG4gIH1cblxuICAmLm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8taW5uZXItY2lyY2xlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMzc1KTtcbiAgfVxufVxuXG4vLyBGb2N1cyAoa2V5Ym9hcmQpIOKAlCBvdXRsaW5lIG9mZnNldCBpZ3VhbCBhbyBzbGlkZS10b2dnbGUuXG4ubWF0LXJhZGlvLWJ1dHRvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZSB7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi8vIERpc2FibGVkIOKAlCBvcGFjaXR5ICsgY3Vyc29yIChwYXJhbGVsbyBhb3Mgb3V0cm9zIGNvbnRyb2xlcykuXG4ubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4iLCJAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ2plbXMzcic7XG4gICAgc3JjOiB1cmwoJy9hc3NldHMvZm9udHMvamVtczNyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LWRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIFxuICAuamVtczNyIHtcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICAgIGZvbnQtZmFtaWx5OiAnamVtczNyJyAhaW1wb3J0YW50O1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICBcbiAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgXG4gICAgJi5mYS1jYWxlbmRhci1hbHQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG4gICAgfVxuICAgICYuZmEtY2hlY2stc3F1YXJlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwMVwiO1xuICAgIH1cbiAgICAmLmZhLWNsb2NrOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwMlwiO1xuICAgIH1cbiAgICAmLmZhLWVkaXQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTAzXCI7XG4gICAgfVxuICAgICYuZmEtZXllOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwNFwiO1xuICAgIH1cbiAgICAmLmZhLWV5ZS1zbGFzaDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDVcIjtcbiAgICB9XG4gICAgJi5mYS1maWxlLWFsdDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDZcIjtcbiAgICB9XG4gICAgJi5mYS1saWdodGJ1bGI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTA3XCI7XG4gICAgfVxuICAgICYuZmEtbWludXMtc3F1YXJlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwOFwiO1xuICAgIH1cbiAgICAmLmZhLXBhcGVyLXBsYW5lOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwOVwiO1xuICAgIH1cbiAgICAmLmZhLXNxdWFyZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MGFcIjtcbiAgICB9XG4gICAgJi5mYS1zdGlja3ktbm90ZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MGJcIjtcbiAgICB9XG4gICAgJi5mYS1iZWxsOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwY1wiO1xuICAgIH1cbiAgICAmLmZhLXBsdXMtc3F1YXJlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwZFwiO1xuICAgIH1cbiAgfVxuICAiLCJAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ2plbXMzcyc7XG4gICAgLy8gT25seSBXT0ZGIOKAlCBhbGwgY2hhaXItVUkgdGFyZ2V0IGJyb3dzZXJzIHN1cHBvcnQgaXQgKENocm9tZSxcbiAgICAvLyBGaXJlZm94LCBTYWZhcmksIEVkZ2UpLiBUaGUgbGVnYWN5IGAuZW90YCAoSUU4LSkgYW5kIGAudHRmYFxuICAgIC8vIChmYWxsYmFjaykgd2VyZSBkcm9wcGVkIGFsb25nIHdpdGggdGhlIG9ycGhhbiBgLnN2Z2AgZm9udCBmaWxlLlxuICAgIHNyYzogdXJsKCcvYXNzZXRzL2ZvbnRzL2plbXMzcy53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBibG9jaztcbn1cbiAgXG4uamVtczNze1xuICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICBmb250LWZhbWlseTogJ2plbXMzcycgIWltcG9ydGFudDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuXG4gIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblxuICAmLmZhLWFuZ2xlLWRvdWJsZS1kb3duOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDBcIjtcbiAgfVxuICAmLmZhLWFuZ2xlLWRvdWJsZS1sZWZ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDFcIjtcbiAgfVxuICAmLmZhLWFuZ2xlLWRvdWJsZS11cDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAyXCI7XG4gIH1cbiAgJi5mYS1hcnJvdy1yaWdodDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAzXCI7XG4gIH1cbiAgJi5mYS1iYWxhbmNlLXNjYWxlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDRcIjtcbiAgfVxuICAmLmZhLWJhcnM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwNVwiO1xuICB9XG4gICYuZmEtYm9vazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA2XCI7XG4gIH1cbiAgJi5mYS1ib3JkZXItbm9uZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA3XCI7XG4gIH1cbiAgJi5mYS1jYWxlbmRhci1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwOFwiO1xuICB9XG4gICYuZmEtY2FsZW5kYXItY2hlY2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwOVwiO1xuICB9XG4gICYuZmEtY2FtZXJhOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGFcIjtcbiAgfVxuICAmLmZhLWNoZWNrLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBiXCI7XG4gIH1cbiAgJi5mYS1jaGVjay1kb3VibGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwY1wiO1xuICB9XG4gICYuZmEtY2hlY2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwZFwiO1xuICB9XG4gICYuZmEtY2hldnJvbi1kb3duOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGVcIjtcbiAgfVxuICAmLmZhLWNoZXZyb24tdXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwZlwiO1xuICB9XG4gICYuZmEtY2xpcGJvYXJkLWNoZWNrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTBcIjtcbiAgfVxuICAmLmZhLWNsaXBib2FyZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTExXCI7XG4gIH1cbiAgJi5mYS1jbG9jazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTEyXCI7XG4gIH1cbiAgJi5mYS1jb2dzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTNcIjtcbiAgfVxuICAmLmZhLWNvbW1lbnQtZG90czpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE0XCI7XG4gIH1cbiAgJi5mYS1jb21tZW50OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTVcIjtcbiAgfVxuICAmLmZhLWNvbW1lbnRzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTZcIjtcbiAgfVxuICAmLmZhLWRvd25sb2FkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTdcIjtcbiAgfVxuICAmLmZhLWVkaXQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxOFwiO1xuICB9XG4gICYuZmEtZWxsaXBzaXMtaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE5XCI7XG4gIH1cbiAgJi5mYS1lbnZlbG9wZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTFhXCI7XG4gIH1cbiAgJi5mYS1leGNsYW1hdGlvbi1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxYlwiO1xuICB9XG4gICYuZmEtZXhjbGFtYXRpb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxY1wiO1xuICB9XG4gICYuZmEtZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxZFwiO1xuICB9XG4gICYuZmEtZXllLXNsYXNoOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWVcIjtcbiAgfVxuICAmLmZhLWV5ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTFmXCI7XG4gIH1cbiAgJi5mYS1maWxlLWRvd25sb2FkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjBcIjtcbiAgfVxuICAmLmZhLWZpbGUtZXhjZWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyMVwiO1xuICB9XG4gICYuZmEtZmlsZS1wZGY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyMlwiO1xuICB9XG4gICYuZmEtZmlsZS13b3JkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjNcIjtcbiAgfVxuICAmLmZhLWZpbHRlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTI0XCI7XG4gIH1cbiAgJi5mYS1nbG9iZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTI1XCI7XG4gIH1cbiAgJi5mYS1oaXN0b3J5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjZcIjtcbiAgfVxuICAmLmZhLWhvbWU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyN1wiO1xuICB9XG4gICYuZmEtaG91cmdsYXNzLWhhbGY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyOFwiO1xuICB9XG4gICYuZmEtaG91cmdsYXNzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjlcIjtcbiAgfVxuICAmLmZhLWlkLWJhZGdlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MmFcIjtcbiAgfVxuICAmLmZhLWluZGVudDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTJiXCI7XG4gIH1cbiAgJi5mYS1pbmZvLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTJjXCI7XG4gIH1cbiAgJi5mYS1pbmZvOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MmRcIjtcbiAgfVxuICAmLmZhLWxpZ2h0YnVsYjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTJlXCI7XG4gIH1cbiAgJi5mYS1saXN0LWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTJmXCI7XG4gIH1cbiAgJi5mYS1sb2NrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MzBcIjtcbiAgfVxuICAmLmZhLW1hcC1tYXJrZXItYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MzFcIjtcbiAgfVxuICAmLmZhLW1pbnVzLXNxdWFyZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTMyXCI7XG4gIH1cbiAgJi5mYS1wYXBlci1wbGFuZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTMzXCI7XG4gIH1cbiAgJi5mYS1wZW5jaWwtYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MzRcIjtcbiAgfVxuICAmLmZhLXBlbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTM1XCI7XG4gIH1cbiAgJi5mYS1wbHVzLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTM2XCI7XG4gIH1cbiAgJi5mYS1wbHVzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MzdcIjtcbiAgfVxuICAmLmZhLXBsdXMtc3F1YXJlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MzhcIjtcbiAgfVxuICAmLmZhLXF1ZXN0aW9uLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTM5XCI7XG4gIH1cbiAgJi5mYS1zZWFyY2g6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzYVwiO1xuICB9XG4gICYuZmEtc2lnbi1vdXQtYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5M2JcIjtcbiAgfVxuICAmLmZhLXNsaWRlcnMtaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTNjXCI7XG4gIH1cbiAgJi5mYS1zb3J0LWFtb3VudC11cC1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzZFwiO1xuICB9XG4gICYuZmEtc3luYy1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzZVwiO1xuICB9XG4gICYuZmEtdGFjaG9tZXRlci1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzZlwiO1xuICB9XG4gICYuZmEtdGFnOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NDBcIjtcbiAgfVxuICAmLmZhLXRodW1icy1kb3duOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NDFcIjtcbiAgfVxuICAmLmZhLXRodW1icy11cDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQyXCI7XG4gIH1cbiAgJi5mYS10aW1lcy1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0M1wiO1xuICB9XG4gICYuZmEtdGltZXM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0NFwiO1xuICB9XG4gICYuZmEtdHJhc2gtYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NDVcIjtcbiAgfVxuICAmLmZhLXRyYXNoOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NDZcIjtcbiAgfVxuICAmLmZhLXVuZG86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0N1wiO1xuICB9XG4gICYuZmEtdW5sb2NrLWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQ4XCI7XG4gIH1cbiAgJi5mYS11cGxvYWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0OVwiO1xuICB9XG4gICYuZmEtdXNlci1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0YVwiO1xuICB9XG4gICYuZmEtdXNlci1jb2c6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0YlwiO1xuICB9XG4gICYuZmEtdXNlci1lZGl0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NGNcIjtcbiAgfVxuICAmLmZhLXVzZXJzLXNsYXNoOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NGRcIjtcbiAgfVxuICAmLmZhLXdpbmRvdy1jbG9zZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTRlXCI7XG4gIH1cbiAgJi5mYS1zdGFyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NGZcIjtcbiAgfVxuICAmLmZhLXVzZXJzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NTBcIjtcbiAgfVxuICAmLmZhLWZpbGUtYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NTFcIjtcbiAgfVxuICAmLmZhLWxldmVsLXVwLWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTUyXCI7XG4gIH1cbiAgJi5mYS1xdWVzdGlvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTUzXCI7XG4gIH1cbiAgJi5mYS1ob3VyZ2xhc3MtaGFsZjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTU0XCI7XG4gIH1cbiAgJi5mYS1oZWFkc2V0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NTVcIjtcbiAgfVxuICAmLmZhLWNpdHk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1NlwiO1xuICB9XG4gICYuZmEtZmlsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTU3XCI7XG4gIH1cbiAgJi5mYS1maWxlLWFyY2hpdmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1OFwiO1xuICB9XG4gICYuZmEtYmVsbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTU5XCI7XG4gIH1cbiAgJi5mYS1lbnZlbG9wZS1vcGVuOmJlZm9yZXtcbiAgICBjb250ZW50OiBcIlxcZTk1YVwiXG4gIH1cbiAgJi5mYS1zdGlja3ktbm90ZTpiZWZvcmV7XG4gICAgY29udGVudDogXCJcXGU5NWJcIlxuICB9XG4gICYuZmEtbGFwdG9wOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NWNcIjtcbiAgfVxuICAmLmZhLW1vb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1ZFwiO1xuICB9XG4gICYuZmEtc3VuOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NWVcIjtcbiAgfVxufVxuXG4iLCIvLyBNYXRlcmlhbCBEZXNpZ24gMyB0eXBvZ3JhcGh5IOKAlCBzY29wZWQgdG8gLnRwYy1tZDMgKFRQQyBjaGFpciBhcmVhIG9ubHkpLlxuLy8gUmVmZXJlbmNlOiBodHRwczovL20zLm1hdGVyaWFsLmlvL3N0eWxlcy90eXBvZ3JhcGh5L3R5cGUtc2NhbGUtdG9rZW5zXG5cbiRtZDMtZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbi8vIEFsbCAxNSBNRDMgdHlwZS1zY2FsZSB0b2tlbnM6IHNpemUgLyBsaW5lLWhlaWdodCAvIHdlaWdodCAvIGxldHRlci1zcGFjaW5nLlxuJG1kMy10eXBlLXNjYWxlOiAoXG4gIGRpc3BsYXktbGFyZ2U6ICAgICgzLjU2MjVyZW0sIDRyZW0sICAgIDQwMCwgLTAuMDE1NjI1cmVtKSxcbiAgZGlzcGxheS1tZWRpdW06ICAgKDIuODEyNXJlbSwgMy4yNXJlbSwgNDAwLCAwKSxcbiAgZGlzcGxheS1zbWFsbDogICAgKDIuMjVyZW0sICAgMi43NXJlbSwgNDAwLCAwKSxcbiAgaGVhZGxpbmUtbGFyZ2U6ICAgKDJyZW0sICAgICAgMi41cmVtLCAgNDAwLCAwKSxcbiAgaGVhZGxpbmUtbWVkaXVtOiAgKDEuNzVyZW0sICAgMi4yNXJlbSwgNDAwLCAwKSxcbiAgaGVhZGxpbmUtc21hbGw6ICAgKDEuNXJlbSwgICAgMnJlbSwgICAgNDAwLCAwKSxcbiAgdGl0bGUtbGFyZ2U6ICAgICAgKDEuMzc1cmVtLCAgMS43NXJlbSwgNDAwLCAwKSxcbiAgdGl0bGUtbWVkaXVtOiAgICAgKDFyZW0sICAgICAgMS41cmVtLCAgNTAwLCAwLjAwOTM3NXJlbSksXG4gIHRpdGxlLXNtYWxsOiAgICAgICgwLjg3NXJlbSwgIDEuMjVyZW0sIDUwMCwgMC4wMDYyNXJlbSksXG4gIGJvZHktbGFyZ2U6ICAgICAgICgxcmVtLCAgICAgIDEuNXJlbSwgIDQwMCwgMC4wMzEyNXJlbSksXG4gIGJvZHktbWVkaXVtOiAgICAgICgwLjg3NXJlbSwgIDEuMjVyZW0sIDQwMCwgMC4wMTU2MjVyZW0pLFxuICBib2R5LXNtYWxsOiAgICAgICAoMC43NXJlbSwgICAxcmVtLCAgICA0MDAsIDAuMDI1cmVtKSxcbiAgbGFiZWwtbGFyZ2U6ICAgICAgKDAuODc1cmVtLCAgMS4yNXJlbSwgNTAwLCAwLjAwNjI1cmVtKSxcbiAgbGFiZWwtbWVkaXVtOiAgICAgKDAuNzVyZW0sICAgMXJlbSwgICAgNTAwLCAwLjAzMTI1cmVtKSxcbiAgbGFiZWwtc21hbGw6ICAgICAgKDAuNjg3NXJlbSwgMXJlbSwgICAgNTAwLCAwLjAzMTI1cmVtKSxcbik7XG5cbkBtaXhpbiBtZDMtdHlwZSgkdG9rZW4pIHtcbiAgJHZhbHVlczogbWFwLWdldCgkbWQzLXR5cGUtc2NhbGUsICR0b2tlbik7XG4gIGZvbnQtc2l6ZTogbnRoKCR2YWx1ZXMsIDEpO1xuICBsaW5lLWhlaWdodDogbnRoKCR2YWx1ZXMsIDIpO1xuICBmb250LXdlaWdodDogbnRoKCR2YWx1ZXMsIDMpO1xuICBsZXR0ZXItc3BhY2luZzogbnRoKCR2YWx1ZXMsIDQpO1xufVxuXG4udHBjLW1kMyB7XG4gIGZvbnQtZmFtaWx5OiAkbWQzLWZvbnQtZmFtaWx5O1xuICAvLyB0bnVtIGdpdmVzIHVuaWZvcm0td2lkdGggZGlnaXRzIGZvciB0YWJsZXMgb2YgSURzL3Njb3Jlcy9kYXRlcyAoc3VwcG9ydGVkIGJ5XG4gIC8vIFNGIFBybywgU2Vnb2UgVUksIFJvYm90bywgSGVsdmV0aWNhIE5ldWUpLiBrZXJuL2xpZ2EgYXJlIHVuaXZlcnNhbC5cbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImtlcm5cIiwgXCJsaWdhXCIsIFwiY2FsdFwiLCBcInRudW1cIjtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG5cbiAgQGluY2x1ZGUgbWQzLXR5cGUoYm9keS1tZWRpdW0pO1xuXG4gIC8vIFV0aWxpdHkgY2xhc3NlcyBmb3IgZWFjaCBNRDMgdG9rZW4gKHNjb3BlZCB1bmRlciAudHBjLW1kMyBzbyB0aGV5IGRvbid0IGxlYWspLlxuICBAZWFjaCAkdG9rZW4sICRfIGluICRtZDMtdHlwZS1zY2FsZSB7XG4gICAgLm1kMy0jeyR0b2tlbn0ge1xuICAgICAgQGluY2x1ZGUgbWQzLXR5cGUoJHRva2VuKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbG9ycyc7XG5cbi8vIENvcmVzIGRlIEZJTEwgcG9yIHN0YXR1cyBleHBvc3RhcyBjb21vIENTUyBjdXN0b20gcHJvcGVydGllcywgYSBwYXJ0aXIgZG9zXG4vLyBtYXBhcy10b2tlbiBgJHN1Ym1pc3Npb24tc3RhdHVzYCAvIGAkcmV2aWV3LXN0YXR1c2AgKG8gMcK6IHZhbG9yIGRlIGNhZGEgdHVwbGFcbi8vIMOpIG8gZmlsbCkuIE8gbmd4LWNoYXJ0cyBjb2xvcmUgdmlhIEpTIChuw6NvIENTUyksIGVudMOjbyBhIEZPTlRFIERBIFZFUkRBREUgZmljYVxuLy8gbm9zIHRva2VucyBTQ1NTIGUgbyBgRGFzaGJvYXJkQ2hhcnRDb21wb25lbnRgIHPDsyBMw4ogb3MgdmFsb3JlcyByZXNvbHZpZG9zXG4vLyAoZ2V0Q29tcHV0ZWRTdHlsZSkgcHJhIG1vbnRhciBvIGBbY3VzdG9tQ29sb3JzXWAuIEFzc2ltIHN0YXR1cyBtdWRhIGRlIGNvciBudW1cbi8vIGx1Z2FyIHPDsyAob3MgbWFwYXMpLCBzZW0gaGV4IGxpdGVyYWwgZXNwYWxoYWRvIG5vIFRTLlxuOnJvb3Qge1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRzdWJtaXNzaW9uLXN0YXR1cyB7XG4gICAgLS1jaGFydC1zdGF0dXMtI3ska2V5fTogI3tudGgoJHZhbCwgMSl9O1xuICB9XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJHJldmlldy1zdGF0dXMge1xuICAgIC0tY2hhcnQtc3RhdHVzLSN7JGtleX06ICN7bnRoKCR2YWwsIDEpfTtcbiAgfVxufVxuIiwiQGltcG9ydCAnY29sb3JzJztcblxuLy8gRXN0aWxvcyBhcGxpY2Fkb3MgQVBFTkFTIHF1YW5kbyBvIGFwcCBlc3TDoSByb2RhbmRvIGNvbW8gUFdBIGluc3RhbGFkYVxuLy8gKHN0YW5kYWxvbmUgLyBtaW5pbWFsLXVpIC8gZnVsbHNjcmVlbiAvIENocm9tZSAtLWFwcCAvIGlPUyBBZGljaW9uYXJcbi8vIMOgIFRlbGEgZGUgSW7DrWNpbykuIEEgY2xhc3NlIGBpbnN0YWxsZWQtYXBwYCBubyBgPGJvZHk+YCDDqSBhZGljaW9uYWRhXG4vLyBwZWxvIGBCYXNlQ29tcG9uZW50YCBjb25zdWx0YW5kbyBvIGBQbGF0Zm9ybVNlcnZpY2VgLlxuLy9cbi8vIEJvcmRhIHN1cGVyaW9yIG5hIGJhcnJhIGRlIG5hdmVnYcOnw6NvIEVOVFJFIEVWRU5UT1MgKGV2ZW50LWJyZWFkY3J1bWIpXG4vLyArIG1lbnUgbGF0ZXJhbCBkbyBsYXlvdXQgbW9kZXJubyAoZXhwZXJpbWVudGFsLXNpZGViYXIpOiBjb21wZW5zYSBhXG4vLyBhdXPDqm5jaWEgZG8gY2hyb21lIGRvIG5hdmVnYWRvciAoYmFycmEgZGUgZW5kZXJlw6dvLCBhYmFzKSBkYW5kbyB1bWFcbi8vIGxpbmhhIHN1dGlsIHF1ZSBhbmNvcmEgdmlzdWFsbWVudGUgbyB0b3BvIGRhIFVJLlxuXG5ib2R5Lmluc3RhbGxlZC1hcHAge1xuICAuZXZlbnQtYnJlYWRjcnVtYiwgICAgICAgICAgIC8vIGJhcnJhIGhvcml6b250YWwgY29tIGEgY2FkZWlhIGNsaWPDoXZlbCBkZSBldmVudG9zXG4gIC5leHBlcmltZW50YWwtc2lkZWJhciB7ICAgICAgLy8gbWVudSBsYXRlcmFsIGRvIGxheW91dCBtb2Rlcm5vIChjaGFpciBVSSlcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQ7XG4gIH1cbn1cblxuYm9keS5pbnN0YWxsZWQtYXBwLmRhcmstdGhlbWUge1xuICAuZXZlbnQtYnJlYWRjcnVtYixcbiAgLmV4cGVyaW1lbnRhbC1zaWRlYmFyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrO1xuICB9XG59XG4iXX0= */
