@charset "UTF-8";
/**
 * Variables Portal Web del Ayuntamiento de Valladolid
 */
/**
 * Fichero general SCSS que importa todos los ficheros de variables definidos a nivel de proyecto, a fin
 * de permitir la composición de un SASS que disponga de todos los datos del proyecto.
 *
 * @author drodriguez
 */
/**
 * Sobreescritura de ciertos elementos en funcion de parametrizaciones de proxia
 * por defecto.
 */
/**
 * Variables predefinidas de Proxia para la maquetación de datos
 */
/**
 * Mixins y variables de compatibilidad entre BS3 y BS4
 */
.nav-repeat-group.nav-tabs > .nav-item {
  float: left;
  margin-bottom: -1px; }
  .nav-repeat-group.nav-tabs > .nav-item > .nav-link {
    margin-right: 2px;
    line-height: 1.4286;
    border: 1px solid transparent;
    border-radius: 4px 4px 0 0; }
    .nav-repeat-group.nav-tabs > .nav-item > .nav-link:hover, .nav-repeat-group.nav-tabs > .nav-item > .nav-link:active, .nav-repeat-group.nav-tabs > .nav-item > .nav-link:focus, .nav-repeat-group.nav-tabs > .nav-item > .nav-link:active:hover, .nav-repeat-group.nav-tabs > .nav-item > .nav-link:active:focus {
      border-color: white white #ddd; }
    .nav-repeat-group.nav-tabs > .nav-item > .nav-link.active, .nav-repeat-group.nav-tabs > .nav-item > .nav-link.active:hover, .nav-repeat-group.nav-tabs > .nav-item > .nav-link.active:focus {
      color: #616161;
      background-color: #ffffff;
      border: 1px solid #ddd;
      border-bottom-color: transparent; }

/**
 * Mixins que tenemos y permitimos su reutilización en otros proyectos.
 */
body.proxia-restful-printable {
  background-color: transparent;
  margin: 0px;
  padding: 0px; }

iframe.proxia-restful-printable {
  height: 400px;
  width: 100%; }

div[data-proxiarestful="true"] {
  /**
 * Aspecto general del sistema de navegación de los componentes REACT
 *
 * @author David Rodríguez Alfayate (drodriguez@divisait.com)
 * @since Proxia CMS 10.2
 */
  /**
 * Aspecto general de formularios dentro del sopaorte de REACT con los controles gestionados
 * por el propio sistema, controles verificados, aspecto de radio button y checks, padding
 * sobre campos de formulario
 *
 * @author David Rodríguez Alfayate
 * @since Proxia CMS 10.2
 */
  /**
 * Soporte del selector de fecha a través del control react-date-picker
 *
 * @author David Rodríguez Alfayate
 * @since Proxia CMS 10.2
 */
  /**
 * Para controlar la apariencia de elementos autocompletados por el sistema.
 *
 * @author David Rodríguez Alfayate
 * @since Proxia CMS 10.2
 */
  /**
 * Estilos CSS para el selector general de ficheros y para el control que permite visualizar el selector
 * de ficheros vía Excel para su procesado posterior
 *
 * @author David Rodríguez Alfayate (drodriguez@divisait.com)
 */
  /**
 * Permite mostrar el control de selección de contenidos para la búsqueda de los mismos en el sistema
 *
 * @author David Rodríguez Alfayate (drodriguez@divisait.com)
 */
  /**
 * Elementos básicos de CORE de Proxia REACT que dan ciertos estilos predefinidos
 */ }
  div[data-proxiarestful="true"] .navigation.navigation-short,
  div[data-proxiarestful="true"] .navigation.navigation-long {
    margin-top: 30px; }
    div[data-proxiarestful="true"] .navigation.navigation-short .totalPageList,
    div[data-proxiarestful="true"] .navigation.navigation-long .totalPageList {
      float: left; }
    div[data-proxiarestful="true"] .navigation.navigation-short .numPageList,
    div[data-proxiarestful="true"] .navigation.navigation-long .numPageList {
      float: right; }
      div[data-proxiarestful="true"] .navigation.navigation-short .numPageList ul,
      div[data-proxiarestful="true"] .navigation.navigation-long .numPageList ul {
        margin: 0px;
        padding: 0px;
        list-style: none; }
        div[data-proxiarestful="true"] .navigation.navigation-short .numPageList ul > li,
        div[data-proxiarestful="true"] .navigation.navigation-long .numPageList ul > li {
          display: inline-block; }
          div[data-proxiarestful="true"] .navigation.navigation-short .numPageList ul > li + li,
          div[data-proxiarestful="true"] .navigation.navigation-long .numPageList ul > li + li {
            padding-left: 6px; }
    div[data-proxiarestful="true"] .navigation.navigation-short:before, div[data-proxiarestful="true"] .navigation.navigation-short:after,
    div[data-proxiarestful="true"] .navigation.navigation-long:before,
    div[data-proxiarestful="true"] .navigation.navigation-long:after {
      display: table;
      content: " "; }
    div[data-proxiarestful="true"] .navigation.navigation-short:after,
    div[data-proxiarestful="true"] .navigation.navigation-long:after {
      clear: both; }
  div[data-proxiarestful="true"] .navigation.navigation-short .numPageList > * + * {
    margin-left: 6px; }
  div[data-proxiarestful="true"] .navigation.navigation-long .totalPageList div {
    display: inline-block; }
    div[data-proxiarestful="true"] .navigation.navigation-long .totalPageList div + div {
      margin-left: 6px; }
    div[data-proxiarestful="true"] .navigation.navigation-long .totalPageList div.changePageSize input {
      padding: 0px 3px;
      border: 1px solid #767677;
      width: 80px; }
      div[data-proxiarestful="true"] .navigation.navigation-long .totalPageList div.changePageSize input + label {
        margin-left: 6px;
        font-weight: normal;
        display: inline-block; }
  div[data-proxiarestful="true"] form, div[data-proxiarestful="true"] .form, div[data-proxiarestful="true"] .form-filter {
    position: relative; }
    div[data-proxiarestful="true"] form > .loading, div[data-proxiarestful="true"] .form > .loading, div[data-proxiarestful="true"] .form-filter > .loading {
      position: absolute;
      height: 100%;
      background-color: rgba(255, 255, 255, 0.3); }
    div[data-proxiarestful="true"] form .toastr.form-error, div[data-proxiarestful="true"] .form .toastr.form-error, div[data-proxiarestful="true"] .form-filter .toastr.form-error {
      padding: 15px;
      margin: 15px;
      background: #ee0000;
      color: white;
      font-size: 16px;
      position: absolute;
      right: 0px;
      width: 250px;
      z-index: 4;
      opacity: 0.8;
      display: -webkit-box;
      display: -moz-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
      div[data-proxiarestful="true"] form .toastr.form-error:hover, div[data-proxiarestful="true"] .form .toastr.form-error:hover, div[data-proxiarestful="true"] .form-filter .toastr.form-error:hover {
        opacity: 1; }
      div[data-proxiarestful="true"] form .toastr.form-error .toastr-icon, div[data-proxiarestful="true"] .form .toastr.form-error .toastr-icon, div[data-proxiarestful="true"] .form-filter .toastr.form-error .toastr-icon {
        display: -webkit-box;
        display: -moz-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        align-self: center;
        padding-right: 15px; }
      div[data-proxiarestful="true"] form .toastr.form-error .toastr-close .btn, div[data-proxiarestful="true"] form .toastr.form-error .toastr-close .printable-button a.printButton, div[data-proxiarestful="true"] .printable-button form .toastr.form-error .toastr-close a.printButton, div[data-proxiarestful="true"] .form .toastr.form-error .toastr-close .btn, div[data-proxiarestful="true"] .form .toastr.form-error .toastr-close .printable-button a.printButton, div[data-proxiarestful="true"] .printable-button .form .toastr.form-error .toastr-close a.printButton, div[data-proxiarestful="true"] .form-filter .toastr.form-error .toastr-close .btn, div[data-proxiarestful="true"] .form-filter .toastr.form-error .toastr-close .printable-button a.printButton, div[data-proxiarestful="true"] .printable-button .form-filter .toastr.form-error .toastr-close a.printButton {
        padding: 0px;
        margin: 0px;
        color: inherit; }
        div[data-proxiarestful="true"] form .toastr.form-error .toastr-close .btn:hover, div[data-proxiarestful="true"] form .toastr.form-error .toastr-close .printable-button a.printButton:hover, div[data-proxiarestful="true"] .printable-button form .toastr.form-error .toastr-close a.printButton:hover, div[data-proxiarestful="true"] form .toastr.form-error .toastr-close .btn:active, div[data-proxiarestful="true"] form .toastr.form-error .toastr-close .printable-button a.printButton:active, div[data-proxiarestful="true"] .printable-button form .toastr.form-error .toastr-close a.printButton:active, div[data-proxiarestful="true"] form .toastr.form-error .toastr-close .btn:focus, div[data-proxiarestful="true"] form .toastr.form-error .toastr-close .printable-button a.printButton:focus, div[data-proxiarestful="true"] .printable-button form .toastr.form-error .toastr-close a.printButton:focus, div[data-proxiarestful="true"] form .toastr.form-error .toastr-close .btn:active:hover, div[data-proxiarestful="true"] form .toastr.form-error .toastr-close .btn:active:focus, div[data-proxiarestful="true"] .form .toastr.form-error .toastr-close .btn:hover, div[data-proxiarestful="true"] .form .toastr.form-error .toastr-close .printable-button a.printButton:hover, div[data-proxiarestful="true"] .printable-button .form .toastr.form-error .toastr-close a.printButton:hover, div[data-proxiarestful="true"] .form .toastr.form-error .toastr-close .btn:active, div[data-proxiarestful="true"] .form .toastr.form-error .toastr-close .printable-button a.printButton:active, div[data-proxiarestful="true"] .printable-button .form .toastr.form-error .toastr-close a.printButton:active, div[data-proxiarestful="true"] .form .toastr.form-error .toastr-close .btn:focus, div[data-proxiarestful="true"] .form .toastr.form-error .toastr-close .printable-button a.printButton:focus, div[data-proxiarestful="true"] .printable-button .form .toastr.form-error .toastr-close a.printButton:focus, div[data-proxiarestful="true"] .form .toastr.form-error .toastr-close .btn:active:hover, div[data-proxiarestful="true"] .form .toastr.form-error .toastr-close .btn:active:focus, div[data-proxiarestful="true"] .form-filter .toastr.form-error .toastr-close .btn:hover, div[data-proxiarestful="true"] .form-filter .toastr.form-error .toastr-close .printable-button a.printButton:hover, div[data-proxiarestful="true"] .printable-button .form-filter .toastr.form-error .toastr-close a.printButton:hover, div[data-proxiarestful="true"] .form-filter .toastr.form-error .toastr-close .btn:active, div[data-proxiarestful="true"] .form-filter .toastr.form-error .toastr-close .printable-button a.printButton:active, div[data-proxiarestful="true"] .printable-button .form-filter .toastr.form-error .toastr-close a.printButton:active, div[data-proxiarestful="true"] .form-filter .toastr.form-error .toastr-close .btn:focus, div[data-proxiarestful="true"] .form-filter .toastr.form-error .toastr-close .printable-button a.printButton:focus, div[data-proxiarestful="true"] .printable-button .form-filter .toastr.form-error .toastr-close a.printButton:focus, div[data-proxiarestful="true"] .form-filter .toastr.form-error .toastr-close .btn:active:hover, div[data-proxiarestful="true"] .form-filter .toastr.form-error .toastr-close .btn:active:focus {
          color: inherit; }
    div[data-proxiarestful="true"] form .form-control.react-date-picker--disabled, div[data-proxiarestful="true"] .form .form-control.react-date-picker--disabled, div[data-proxiarestful="true"] .form-filter .form-control.react-date-picker--disabled {
      background-color: white; }
    div[data-proxiarestful="true"] form .input-group.verified-control, div[data-proxiarestful="true"] .form .input-group.verified-control, div[data-proxiarestful="true"] .form-filter .input-group.verified-control {
      width: 100%;
      background-color: white;
      border: 1px solid #767677; }
      div[data-proxiarestful="true"] form .input-group.verified-control .form-control[readonly]:not(.dialog-input-control) + .input-group-append,
      div[data-proxiarestful="true"] form .input-group.verified-control .form-control[readonly]:not(.dialog-input-control) + .input-group-addon,
      div[data-proxiarestful="true"] form .input-group.verified-control .form-control:disabled + .input-group-addon,
      div[data-proxiarestful="true"] form .input-group.verified-control .form-control:disabled + .input-group-append, div[data-proxiarestful="true"] .form .input-group.verified-control .form-control[readonly]:not(.dialog-input-control) + .input-group-append,
      div[data-proxiarestful="true"] .form .input-group.verified-control .form-control[readonly]:not(.dialog-input-control) + .input-group-addon,
      div[data-proxiarestful="true"] .form .input-group.verified-control .form-control:disabled + .input-group-addon,
      div[data-proxiarestful="true"] .form .input-group.verified-control .form-control:disabled + .input-group-append, div[data-proxiarestful="true"] .form-filter .input-group.verified-control .form-control[readonly]:not(.dialog-input-control) + .input-group-append,
      div[data-proxiarestful="true"] .form-filter .input-group.verified-control .form-control[readonly]:not(.dialog-input-control) + .input-group-addon,
      div[data-proxiarestful="true"] .form-filter .input-group.verified-control .form-control:disabled + .input-group-addon,
      div[data-proxiarestful="true"] .form-filter .input-group.verified-control .form-control:disabled + .input-group-append {
        background-color: white;
        opacity: 1; }
      div[data-proxiarestful="true"] form .input-group.verified-control:focus-within, div[data-proxiarestful="true"] .form .input-group.verified-control:focus-within, div[data-proxiarestful="true"] .form-filter .input-group.verified-control:focus-within {
        box-shadow: 0 0 0 2px rgba(152, 0, 70, 0.25); }
      div[data-proxiarestful="true"] form .input-group.verified-control[data-contains-error="true"], div[data-proxiarestful="true"] .form .input-group.verified-control[data-contains-error="true"], div[data-proxiarestful="true"] .form-filter .input-group.verified-control[data-contains-error="true"] {
        border-color: red; }
      div[data-proxiarestful="true"] form .input-group.verified-control .form-control, div[data-proxiarestful="true"] .form .input-group.verified-control .form-control, div[data-proxiarestful="true"] .form-filter .input-group.verified-control .form-control {
        box-shadow: none;
        border: 0px; }
        div[data-proxiarestful="true"] form .input-group.verified-control .form-control:not([type="radio"]):not([type="checkbox"]), div[data-proxiarestful="true"] .form .input-group.verified-control .form-control:not([type="radio"]):not([type="checkbox"]), div[data-proxiarestful="true"] .form-filter .input-group.verified-control .form-control:not([type="radio"]):not([type="checkbox"]) {
          height: 40.8571px; }
      div[data-proxiarestful="true"] form .input-group.verified-control .input-group-text, div[data-proxiarestful="true"] .form .input-group.verified-control .input-group-text, div[data-proxiarestful="true"] .form-filter .input-group.verified-control .input-group-text {
        background-color: transparent;
        border: 0px; }
        div[data-proxiarestful="true"] form .input-group.verified-control .input-group-text .fa-times, div[data-proxiarestful="true"] .form .input-group.verified-control .input-group-text .fa-times, div[data-proxiarestful="true"] .form-filter .input-group.verified-control .input-group-text .fa-times {
          color: red; }
        div[data-proxiarestful="true"] form .input-group.verified-control .input-group-text .fa-check, div[data-proxiarestful="true"] .form .input-group.verified-control .input-group-text .fa-check, div[data-proxiarestful="true"] .form-filter .input-group.verified-control .input-group-text .fa-check {
          color: green; }
        div[data-proxiarestful="true"] form .input-group.verified-control .input-group-text .show, div[data-proxiarestful="true"] .form .input-group.verified-control .input-group-text .show, div[data-proxiarestful="true"] .form-filter .input-group.verified-control .input-group-text .show {
          color: #4E6FB8;
          font-size: 10.5px;
          display: block; }
      div[data-proxiarestful="true"] form .input-group.verified-control .input-group-text.unset *, div[data-proxiarestful="true"] .form .input-group.verified-control .input-group-text.unset *, div[data-proxiarestful="true"] .form-filter .input-group.verified-control .input-group-text.unset * {
        display: none; }
      div[data-proxiarestful="true"] form .input-group.verified-control .input-group-append,
      div[data-proxiarestful="true"] form .input-group.verified-control .input-group-addon, div[data-proxiarestful="true"] .form .input-group.verified-control .input-group-append,
      div[data-proxiarestful="true"] .form .input-group.verified-control .input-group-addon, div[data-proxiarestful="true"] .form-filter .input-group.verified-control .input-group-append,
      div[data-proxiarestful="true"] .form-filter .input-group.verified-control .input-group-addon {
        border: 0px;
        border-radius: 0px;
        min-width: 27px;
        margin-left: 0px; }
        div[data-proxiarestful="true"] form .input-group.verified-control .input-group-append > span,
        div[data-proxiarestful="true"] form .input-group.verified-control .input-group-addon > span, div[data-proxiarestful="true"] .form .input-group.verified-control .input-group-append > span,
        div[data-proxiarestful="true"] .form .input-group.verified-control .input-group-addon > span, div[data-proxiarestful="true"] .form-filter .input-group.verified-control .input-group-append > span,
        div[data-proxiarestful="true"] .form-filter .input-group.verified-control .input-group-addon > span {
          display: inline-block;
          width: 100%;
          padding-left: 0px;
          padding-right: 6px; }
    div[data-proxiarestful="true"] form .form-group.form-inline label, div[data-proxiarestful="true"] .form .form-group.form-inline label, div[data-proxiarestful="true"] .form-filter .form-group.form-inline label {
      margin-right: 6px; }
    div[data-proxiarestful="true"] form input[type="checkbox"] + label,
    div[data-proxiarestful="true"] form input[type="radio"] + label, div[data-proxiarestful="true"] .form input[type="checkbox"] + label,
    div[data-proxiarestful="true"] .form input[type="radio"] + label, div[data-proxiarestful="true"] .form-filter input[type="checkbox"] + label,
    div[data-proxiarestful="true"] .form-filter input[type="radio"] + label {
      padding-left: 6px;
      font-size: 14px;
      line-height: 20px;
      font-weight: normal; }
      div[data-proxiarestful="true"] form input[type="checkbox"] + label .required,
      div[data-proxiarestful="true"] form input[type="radio"] + label .required, div[data-proxiarestful="true"] .form input[type="checkbox"] + label .required,
      div[data-proxiarestful="true"] .form input[type="radio"] + label .required, div[data-proxiarestful="true"] .form-filter input[type="checkbox"] + label .required,
      div[data-proxiarestful="true"] .form-filter input[type="radio"] + label .required {
        display: none; }
    div[data-proxiarestful="true"] form input[type="radio"] + label.error, div[data-proxiarestful="true"] .form input[type="radio"] + label.error, div[data-proxiarestful="true"] .form-filter input[type="radio"] + label.error {
      color: unset; }
    div[data-proxiarestful="true"] form label + input[type="checkbox"],
    div[data-proxiarestful="true"] form label + input[type="radio"], div[data-proxiarestful="true"] .form label + input[type="checkbox"],
    div[data-proxiarestful="true"] .form label + input[type="radio"], div[data-proxiarestful="true"] .form-filter label + input[type="checkbox"],
    div[data-proxiarestful="true"] .form-filter label + input[type="radio"] {
      margin-left: 6px; }
    div[data-proxiarestful="true"] form input[type="checkbox"],
    div[data-proxiarestful="true"] form input[type="radio"], div[data-proxiarestful="true"] .form input[type="checkbox"],
    div[data-proxiarestful="true"] .form input[type="radio"], div[data-proxiarestful="true"] .form-filter input[type="checkbox"],
    div[data-proxiarestful="true"] .form-filter input[type="radio"] {
      position: relative;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      width: 18px;
      height: 18px;
      top: 3px;
      border: 0px;
      display: inline-block;
      padding: 0px; }
      div[data-proxiarestful="true"] form input[type="checkbox"]:after,
      div[data-proxiarestful="true"] form input[type="radio"]:after, div[data-proxiarestful="true"] .form input[type="checkbox"]:after,
      div[data-proxiarestful="true"] .form input[type="radio"]:after, div[data-proxiarestful="true"] .form-filter input[type="checkbox"]:after,
      div[data-proxiarestful="true"] .form-filter input[type="radio"]:after {
        position: absolute;
        display: block;
        left: 0px;
        z-index: 1;
        content: '';
        width: 18px;
        height: 18px;
        background-color: white;
        border: 2px solid #980046; }
      div[data-proxiarestful="true"] form input[type="checkbox"]:disabled:after,
      div[data-proxiarestful="true"] form input[type="radio"]:disabled:after, div[data-proxiarestful="true"] .form input[type="checkbox"]:disabled:after,
      div[data-proxiarestful="true"] .form input[type="radio"]:disabled:after, div[data-proxiarestful="true"] .form-filter input[type="checkbox"]:disabled:after,
      div[data-proxiarestful="true"] .form-filter input[type="radio"]:disabled:after {
        background-color: white;
        border-color: #767677; }
      div[data-proxiarestful="true"] form input[type="checkbox"][type="radio"]:checked:after,
      div[data-proxiarestful="true"] form input[type="radio"][type="radio"]:checked:after, div[data-proxiarestful="true"] .form input[type="checkbox"][type="radio"]:checked:after,
      div[data-proxiarestful="true"] .form input[type="radio"][type="radio"]:checked:after, div[data-proxiarestful="true"] .form-filter input[type="checkbox"][type="radio"]:checked:after,
      div[data-proxiarestful="true"] .form-filter input[type="radio"][type="radio"]:checked:after {
        background: radial-gradient(ellipse at center, #980046 0%, #980046 35%, #980046 35%, transparent 47%, transparent 48%); }
      div[data-proxiarestful="true"] form input[type="checkbox"][type="checkbox"]:checked:after,
      div[data-proxiarestful="true"] form input[type="radio"][type="checkbox"]:checked:after, div[data-proxiarestful="true"] .form input[type="checkbox"][type="checkbox"]:checked:after,
      div[data-proxiarestful="true"] .form input[type="radio"][type="checkbox"]:checked:after, div[data-proxiarestful="true"] .form-filter input[type="checkbox"][type="checkbox"]:checked:after,
      div[data-proxiarestful="true"] .form-filter input[type="radio"][type="checkbox"]:checked:after {
        background: linear-gradient(#980046, #980046) 50% 50%/50% 50%; }
    div[data-proxiarestful="true"] form input[type="checkbox"]:after, div[data-proxiarestful="true"] .form input[type="checkbox"]:after, div[data-proxiarestful="true"] .form-filter input[type="checkbox"]:after {
      border-radius: 2px; }
    div[data-proxiarestful="true"] form input[type="radio"]:after, div[data-proxiarestful="true"] .form input[type="radio"]:after, div[data-proxiarestful="true"] .form-filter input[type="radio"]:after {
      border-radius: 18px; }
    div[data-proxiarestful="true"] form textarea, div[data-proxiarestful="true"] .form textarea, div[data-proxiarestful="true"] .form-filter textarea {
      resize: none; }
    div[data-proxiarestful="true"] form .form-control, div[data-proxiarestful="true"] .form .form-control, div[data-proxiarestful="true"] .form-filter .form-control {
      border-radius: 0px;
      border-color: #767677;
      font-size: 16px;
      line-height: 22.8571px;
      background-color: white; }
      div[data-proxiarestful="true"] form .form-control.dialog-input-control[readonly]:not(:disabled), div[data-proxiarestful="true"] .form .form-control.dialog-input-control[readonly]:not(:disabled), div[data-proxiarestful="true"] .form-filter .form-control.dialog-input-control[readonly]:not(:disabled) {
        background-color: white; }
      div[data-proxiarestful="true"] form .form-control:not([type="radio"]):not([type="checkbox"]):not(textarea), div[data-proxiarestful="true"] .form .form-control:not([type="radio"]):not([type="checkbox"]):not(textarea), div[data-proxiarestful="true"] .form-filter .form-control:not([type="radio"]):not([type="checkbox"]):not(textarea) {
        border-width: 1px;
        height: 42.8571px; }
        div[data-proxiarestful="true"] form .form-control:not([type="radio"]):not([type="checkbox"]):not(textarea):not(.react-date-picker), div[data-proxiarestful="true"] .form .form-control:not([type="radio"]):not([type="checkbox"]):not(textarea):not(.react-date-picker), div[data-proxiarestful="true"] .form-filter .form-control:not([type="radio"]):not([type="checkbox"]):not(textarea):not(.react-date-picker) {
          padding: 9px 12px; }
        div[data-proxiarestful="true"] form .form-control:not([type="radio"]):not([type="checkbox"]):not(textarea):disabled, div[data-proxiarestful="true"] .form .form-control:not([type="radio"]):not([type="checkbox"]):not(textarea):disabled, div[data-proxiarestful="true"] .form-filter .form-control:not([type="radio"]):not([type="checkbox"]):not(textarea):disabled {
          background: white; }
      div[data-proxiarestful="true"] form .form-control:focus, div[data-proxiarestful="true"] .form .form-control:focus, div[data-proxiarestful="true"] .form-filter .form-control:focus {
        box-shadow: 0 0 0 2px rgba(152, 0, 70, 0.25); }
    div[data-proxiarestful="true"] form .form-control.error,
    div[data-proxiarestful="true"] form .form-control[data-error="true"], div[data-proxiarestful="true"] .form .form-control.error,
    div[data-proxiarestful="true"] .form .form-control[data-error="true"], div[data-proxiarestful="true"] .form-filter .form-control.error,
    div[data-proxiarestful="true"] .form-filter .form-control[data-error="true"] {
      border-color: red; }
    div[data-proxiarestful="true"] form .error-area-description.error-active, div[data-proxiarestful="true"] .form .error-area-description.error-active, div[data-proxiarestful="true"] .form-filter .error-area-description.error-active {
      position: absolute;
      display: block;
      padding: 0;
      width: 100%;
      z-index: 3; }
      div[data-proxiarestful="true"] form .error-area-description.error-active > span, div[data-proxiarestful="true"] .form .error-area-description.error-active > span, div[data-proxiarestful="true"] .form-filter .error-area-description.error-active > span {
        margin-top: 5px;
        font-size: 10.5px;
        line-height: 15px;
        background: #ee0000;
        color: white;
        padding: 3px 6px;
        display: inline-block; }
        div[data-proxiarestful="true"] form .error-area-description.error-active > span:before, div[data-proxiarestful="true"] .form .error-area-description.error-active > span:before, div[data-proxiarestful="true"] .form-filter .error-area-description.error-active > span:before {
          position: absolute;
          width: 0;
          height: 0;
          border-color: transparent;
          border-style: solid;
          top: 5px;
          left: 9px;
          margin-top: -5px;
          border-width: 0 5px 5px;
          border-bottom-color: #ee0000;
          display: block;
          content: ''; }
    div[data-proxiarestful="true"] form div[data-anyof=true] .error .error-area-description.error-active,
    div[data-proxiarestful="true"] form legend.error .error-area-description.error-active,
    div[data-proxiarestful="true"] form .legend.error .error-area-description.error-active, div[data-proxiarestful="true"] .form div[data-anyof=true] .error .error-area-description.error-active,
    div[data-proxiarestful="true"] .form legend.error .error-area-description.error-active,
    div[data-proxiarestful="true"] .form .legend.error .error-area-description.error-active, div[data-proxiarestful="true"] .form-filter div[data-anyof=true] .error .error-area-description.error-active,
    div[data-proxiarestful="true"] .form-filter legend.error .error-area-description.error-active,
    div[data-proxiarestful="true"] .form-filter .legend.error .error-area-description.error-active {
      color: initial;
      display: inline;
      position: initial;
      position: unset;
      width: auto;
      font-weight: normal; }
      div[data-proxiarestful="true"] form div[data-anyof=true] .error .error-area-description.error-active > span,
      div[data-proxiarestful="true"] form legend.error .error-area-description.error-active > span,
      div[data-proxiarestful="true"] form .legend.error .error-area-description.error-active > span, div[data-proxiarestful="true"] .form div[data-anyof=true] .error .error-area-description.error-active > span,
      div[data-proxiarestful="true"] .form legend.error .error-area-description.error-active > span,
      div[data-proxiarestful="true"] .form .legend.error .error-area-description.error-active > span, div[data-proxiarestful="true"] .form-filter div[data-anyof=true] .error .error-area-description.error-active > span,
      div[data-proxiarestful="true"] .form-filter legend.error .error-area-description.error-active > span,
      div[data-proxiarestful="true"] .form-filter .legend.error .error-area-description.error-active > span {
        color: #ee0000;
        background: transparent;
        display: inline; }
        div[data-proxiarestful="true"] form div[data-anyof=true] .error .error-area-description.error-active > span:before,
        div[data-proxiarestful="true"] form legend.error .error-area-description.error-active > span:before,
        div[data-proxiarestful="true"] form .legend.error .error-area-description.error-active > span:before, div[data-proxiarestful="true"] .form div[data-anyof=true] .error .error-area-description.error-active > span:before,
        div[data-proxiarestful="true"] .form legend.error .error-area-description.error-active > span:before,
        div[data-proxiarestful="true"] .form .legend.error .error-area-description.error-active > span:before, div[data-proxiarestful="true"] .form-filter div[data-anyof=true] .error .error-area-description.error-active > span:before,
        div[data-proxiarestful="true"] .form-filter legend.error .error-area-description.error-active > span:before,
        div[data-proxiarestful="true"] .form-filter .legend.error .error-area-description.error-active > span:before {
          content: none; }
    div[data-proxiarestful="true"] form .form-group, div[data-proxiarestful="true"] .form .form-group, div[data-proxiarestful="true"] .form-filter .form-group {
      position: relative; }
    div[data-proxiarestful="true"] form .form-group .error-area-description, div[data-proxiarestful="true"] .form .form-group .error-area-description, div[data-proxiarestful="true"] .form-filter .form-group .error-area-description {
      display: block; }
    div[data-proxiarestful="true"] form label,
    div[data-proxiarestful="true"] form .label, div[data-proxiarestful="true"] .form label,
    div[data-proxiarestful="true"] .form .label, div[data-proxiarestful="true"] .form-filter label,
    div[data-proxiarestful="true"] .form-filter .label {
      font-weight: 600;
      font-size: 14px;
      line-height: 20px; }
    div[data-proxiarestful="true"] form .label, div[data-proxiarestful="true"] .form .label, div[data-proxiarestful="true"] .form-filter .label {
      margin-bottom: 5px; }
    div[data-proxiarestful="true"] form label.error-field,
    div[data-proxiarestful="true"] form div.error-field, div[data-proxiarestful="true"] .form label.error-field,
    div[data-proxiarestful="true"] .form div.error-field, div[data-proxiarestful="true"] .form-filter label.error-field,
    div[data-proxiarestful="true"] .form-filter div.error-field {
      color: red; }
    div[data-proxiarestful="true"] form label.error,
    div[data-proxiarestful="true"] form .label.error, div[data-proxiarestful="true"] .form label.error,
    div[data-proxiarestful="true"] .form .label.error, div[data-proxiarestful="true"] .form-filter label.error,
    div[data-proxiarestful="true"] .form-filter .label.error {
      color: red; }
    div[data-proxiarestful="true"] form div[data-anyof=true] .error, div[data-proxiarestful="true"] .form div[data-anyof=true] .error, div[data-proxiarestful="true"] .form-filter div[data-anyof=true] .error {
      color: initial; }
    div[data-proxiarestful="true"] form .btn, div[data-proxiarestful="true"] form .printable-button a.printButton, div[data-proxiarestful="true"] .printable-button form a.printButton, div[data-proxiarestful="true"] .form .btn, div[data-proxiarestful="true"] .form .printable-button a.printButton, div[data-proxiarestful="true"] .printable-button .form a.printButton, div[data-proxiarestful="true"] .form-filter .btn, div[data-proxiarestful="true"] .form-filter .printable-button a.printButton, div[data-proxiarestful="true"] .printable-button .form-filter a.printButton {
      font-size: 16px;
      padding-left: 12px;
      padding-right: 12px;
      border-radius: 0px; }
      div[data-proxiarestful="true"] form .btn + .btn, div[data-proxiarestful="true"] form .printable-button a.printButton + .btn, div[data-proxiarestful="true"] .printable-button form a.printButton + .btn, div[data-proxiarestful="true"] form .printable-button .btn + a.printButton, div[data-proxiarestful="true"] .printable-button form .btn + a.printButton, div[data-proxiarestful="true"] form .printable-button a.printButton + a.printButton, div[data-proxiarestful="true"] .printable-button form a.printButton + a.printButton, div[data-proxiarestful="true"] form .btn + .btn-group, div[data-proxiarestful="true"] form .printable-button a.printButton + .btn-group, div[data-proxiarestful="true"] .printable-button form a.printButton + .btn-group, div[data-proxiarestful="true"] .form .btn + .btn, div[data-proxiarestful="true"] .form .printable-button a.printButton + .btn, div[data-proxiarestful="true"] .printable-button .form a.printButton + .btn, div[data-proxiarestful="true"] .form .printable-button .btn + a.printButton, div[data-proxiarestful="true"] .printable-button .form .btn + a.printButton, div[data-proxiarestful="true"] .form .printable-button a.printButton + a.printButton, div[data-proxiarestful="true"] .printable-button .form a.printButton + a.printButton, div[data-proxiarestful="true"] .form .btn + .btn-group, div[data-proxiarestful="true"] .form .printable-button a.printButton + .btn-group, div[data-proxiarestful="true"] .printable-button .form a.printButton + .btn-group, div[data-proxiarestful="true"] .form-filter .btn + .btn, div[data-proxiarestful="true"] .form-filter .printable-button a.printButton + .btn, div[data-proxiarestful="true"] .printable-button .form-filter a.printButton + .btn, div[data-proxiarestful="true"] .form-filter .printable-button .btn + a.printButton, div[data-proxiarestful="true"] .printable-button .form-filter .btn + a.printButton, div[data-proxiarestful="true"] .form-filter .printable-button a.printButton + a.printButton, div[data-proxiarestful="true"] .printable-button .form-filter a.printButton + a.printButton, div[data-proxiarestful="true"] .form-filter .btn + .btn-group, div[data-proxiarestful="true"] .form-filter .printable-button a.printButton + .btn-group, div[data-proxiarestful="true"] .printable-button .form-filter a.printButton + .btn-group {
        margin-left: 15px; }
    div[data-proxiarestful="true"] form legend, div[data-proxiarestful="true"] form .legend, div[data-proxiarestful="true"] form .title, div[data-proxiarestful="true"] .form legend, div[data-proxiarestful="true"] .form .legend, div[data-proxiarestful="true"] .form .title, div[data-proxiarestful="true"] .form-filter legend, div[data-proxiarestful="true"] .form-filter .legend, div[data-proxiarestful="true"] .form-filter .title {
      font-weight: 600;
      font-size: 22px;
      line-height: 31.4286px;
      border-bottom: 0px; }
    div[data-proxiarestful="true"] form .title, div[data-proxiarestful="true"] .form .title, div[data-proxiarestful="true"] .form-filter .title {
      margin-bottom: 6px; }
    div[data-proxiarestful="true"] form .help-info, div[data-proxiarestful="true"] .form .help-info, div[data-proxiarestful="true"] .form-filter .help-info {
      /* position: absolute;
    background-color: white;
    top: $line-height-base * $form-control-legend-font-size;*/
      margin-top: 31.4286px;
      font-size: 10.5px;
      z-index: 3; }
      div[data-proxiarestful="true"] form .help-info .content, div[data-proxiarestful="true"] .form .help-info .content, div[data-proxiarestful="true"] .form-filter .help-info .content {
        position: relative;
        border: 1px solid #F2D16B;
        background-color: #FBF0CF;
        width: 80%;
        padding: 3px; }
    div[data-proxiarestful="true"] form .form-control.select-multiple-holder, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder {
      min-height: 42.8571px;
      height: auto !important;
      padding: 6px 2px 0px !important; }
      div[data-proxiarestful="true"] form .form-control.select-multiple-holder:before, div[data-proxiarestful="true"] form .form-control.select-multiple-holder:after, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder:before, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder:after, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder:before, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder:after {
        display: table;
        content: " "; }
      div[data-proxiarestful="true"] form .form-control.select-multiple-holder:after, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder:after, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder:after {
        clear: both; }
      div[data-proxiarestful="true"] form .form-control.select-multiple-holder.disabled, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder.disabled, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder.disabled {
        background-color: white;
        opacity: 1; }
      div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.close-window, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.close-window, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.close-window {
        float: left;
        width: 15px;
        margin: 0 3px; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.close-window button, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.close-window button, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.close-window button {
          padding: 0px;
          display: inline-block;
          margin: 0px;
          width: 100%;
          color: #767677; }
      div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options {
        float: left;
        width: calc(100% - 15px - 6px); }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple):before, div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple):after, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple):before, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple):after, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple):before, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple):after {
          display: table;
          content: " "; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple):after, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple):after, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple):after {
          clear: both; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple) img, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple) img, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple) img {
          max-width: 100%; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple) > *, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple) > *, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple) > * {
          float: left;
          width: 50%; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple) > *:nth-child(2n+1), div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple) > *:nth-child(2n+1), div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple) > *:nth-child(2n+1) {
          clear: both; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple:before, div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple:after, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple:before, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple:after, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple:before, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple:after {
          display: table;
          content: " "; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple:after, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple:after, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple:after {
          clear: both; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple img, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple img, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple img {
          max-width: 100%; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple > *, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple > *, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple > * {
          float: left;
          width: 33.33%; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple > *:nth-child(3n+1), div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple > *:nth-child(3n+1), div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple > *:nth-child(3n+1) {
          clear: both; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value), div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value), div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value) {
          margin-right: -3px;
          margin-left: -3px;
          margin-top: -6px; }
          div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value) > *, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value) > *, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value) > * {
            padding-right: 3px;
            padding-left: 3px;
            padding-top: 6px; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options > *, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options > *, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options > * {
          font-size: 10.5px;
          display: inline-block; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options button, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options button, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options button {
          width: 100%;
          font-size: 10.5px;
          padding: 0px 2px;
          border-radius: 2px;
          font-weight: normal;
          text-align: left;
          display: block; }
          div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options button:before, div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options button:after, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options button:before, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options button:after, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options button:before, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options button:after {
            display: table;
            content: " "; }
          div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options button:after, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options button:after, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options button:after {
            clear: both; }
          div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options button:before, div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options button:after, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options button:before, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options button:after, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options button:before, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options button:after {
            display: table;
            content: " "; }
          div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options button:after, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options button:after, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options button:after {
            clear: both; }
          div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options button .txt, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options button .txt, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options button .txt {
            display: inline-block;
            float: left;
            width: calc(100% - 10.5px);
            white-space: nowrap;
            overflow: hidden;
            height: 15px;
            text-overflow: ellipsis; }
          div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options button .icon, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options button .icon, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options button .icon {
            float: right; }
          div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options button + button, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options button + button, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options button + button {
            margin-left: 0px; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options input, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options input, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options input {
          border: 0px;
          border-radius: 0px;
          width: 100%;
          font-size: inherit;
          height: auto;
          font-size: 10.5px;
          display: block;
          text-overflow: ellipsis;
          white-space: nowrap; }
    div[data-proxiarestful="true"] form .special-svg-btn, div[data-proxiarestful="true"] .form .special-svg-btn, div[data-proxiarestful="true"] .form-filter .special-svg-btn {
      border: 0;
      background: transparent;
      padding: 4px 6px; }
      div[data-proxiarestful="true"] form .special-svg-btn:enabled, div[data-proxiarestful="true"] .form .special-svg-btn:enabled, div[data-proxiarestful="true"] .form-filter .special-svg-btn:enabled {
        cursor: pointer; }
        div[data-proxiarestful="true"] form .special-svg-btn:enabled:hover .svg-btn__button__icon, div[data-proxiarestful="true"] form .special-svg-btn:enabled:focus .svg-btn__button__icon, div[data-proxiarestful="true"] .form .special-svg-btn:enabled:hover .svg-btn__button__icon, div[data-proxiarestful="true"] .form .special-svg-btn:enabled:focus .svg-btn__button__icon, div[data-proxiarestful="true"] .form-filter .special-svg-btn:enabled:hover .svg-btn__button__icon, div[data-proxiarestful="true"] .form-filter .special-svg-btn:enabled:focus .svg-btn__button__icon {
          stroke: #0078d7;
          fill: #0078d7; }
      div[data-proxiarestful="true"] form .special-svg-btn:disabled .svg-btn__button__icon, div[data-proxiarestful="true"] .form .special-svg-btn:disabled .svg-btn__button__icon, div[data-proxiarestful="true"] .form-filter .special-svg-btn:disabled .svg-btn__button__icon {
        stroke: #6d6d6d;
        fill: #6d6d6d; }
      div[data-proxiarestful="true"] form .special-svg-btn svg, div[data-proxiarestful="true"] .form .special-svg-btn svg, div[data-proxiarestful="true"] .form-filter .special-svg-btn svg {
        display: inherit; }
  div[data-proxiarestful="true"] .btn-outline-primary {
    background-color: white;
    border-color: #980046;
    color: #980046;
    border-radius: 4px;
    padding-left: 12px;
    padding-right: 12px; }
  div[data-proxiarestful="true"] .btn-outline-secondary {
    color: #1E1E1E;
    border: 1px solid #1E1E1E;
    border-radius: 0px;
    padding-left: 12px;
    padding-right: 12px; }
  div[data-proxiarestful="true"] .cmSearchField.choiceControl {
    position: relative;
    overflow: hidden; }
    div[data-proxiarestful="true"] .cmSearchField.choiceControl:focus-within {
      overflow: unset; }
    div[data-proxiarestful="true"] .cmSearchField.choiceControl select,
    div[data-proxiarestful="true"] .cmSearchField.choiceControl select.form-control {
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      text-overflow: ellipsis;
      white-space: nowrap;
      padding-right: 16px; }
      div[data-proxiarestful="true"] .cmSearchField.choiceControl select::-ms-expand,
      div[data-proxiarestful="true"] .cmSearchField.choiceControl select.form-control::-ms-expand {
        display: none; }
    div[data-proxiarestful="true"] .cmSearchField.choiceControl::before {
      content: '';
      width: 0;
      height: 0;
      border-width: 0 5px;
      border-style: solid;
      border-top-width: 6px;
      border-color: #980046 transparent transparent transparent;
      position: absolute;
      right: 10px;
      top: 16px;
      pointer-events: none; }
  div[data-proxiarestful="true"] ul.radio-group-controls {
    list-style: none;
    margin: 0px;
    padding: 0px; }
    div[data-proxiarestful="true"] ul.radio-group-controls li {
      display: inline-block; }
      div[data-proxiarestful="true"] ul.radio-group-controls li + li {
        margin-left: 6px; }
  div[data-proxiarestful="true"] .react-date-picker {
    display: inline-flex;
    position: relative; }
    div[data-proxiarestful="true"] .react-date-picker, div[data-proxiarestful="true"] .react-date-picker *, div[data-proxiarestful="true"] .react-date-picker *:before, div[data-proxiarestful="true"] .react-date-picker *:after {
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
    div[data-proxiarestful="true"] .react-date-picker--disabled {
      background-color: #f0f0f0;
      color: #6d6d6d; }
    div[data-proxiarestful="true"] .react-date-picker__wrapper {
      display: flex;
      flex-grow: 1;
      flex-shrink: 0;
      border: thin solid gray; }
    div[data-proxiarestful="true"] .react-date-picker__inputGroup {
      min-width: calc(12px + 4.32em +  0.434em);
      flex-grow: 1;
      padding: 0 2px;
      box-sizing: content-box; }
      div[data-proxiarestful="true"] .react-date-picker__inputGroup__divider {
        padding: 1px 0;
        white-space: pre; }
      div[data-proxiarestful="true"] .react-date-picker__inputGroup__input {
        min-width: 0.54em;
        height: 100%;
        position: relative;
        padding: 0 1px;
        border: 0;
        background: none;
        font: inherit;
        box-sizing: content-box;
        -moz-appearance: textfield; }
        div[data-proxiarestful="true"] .react-date-picker__inputGroup__input::-webkit-outer-spin-button, div[data-proxiarestful="true"] .react-date-picker__inputGroup__input::-webkit-inner-spin-button {
          -webkit-appearance: none;
          margin: 0; }
        div[data-proxiarestful="true"] .react-date-picker__inputGroup__input:invalid {
          background: rgba(128, 0, 0, 0.3);
          color: black; }
          div[data-proxiarestful="true"] .react-date-picker__inputGroup__input:invalid::placeholder {
            color: black; }
        div[data-proxiarestful="true"] .react-date-picker__inputGroup__input--hasLeadingZero {
          margin-left: -0.54em;
          padding-left: calc(0.54em + 1px); }
    div[data-proxiarestful="true"] .react-date-picker__button {
      border: 0;
      background: transparent;
      padding: 4px 6px; }
      div[data-proxiarestful="true"] .react-date-picker__button:enabled {
        cursor: pointer; }
        div[data-proxiarestful="true"] .react-date-picker__button:enabled:hover .react-date-picker__button__icon, div[data-proxiarestful="true"] .react-date-picker__button:enabled:focus .react-date-picker__button__icon {
          stroke: #0078d7; }
      div[data-proxiarestful="true"] .react-date-picker__button:disabled .react-date-picker__button__icon {
        stroke: #6d6d6d; }
      div[data-proxiarestful="true"] .react-date-picker__button svg {
        display: inherit; }
    div[data-proxiarestful="true"] .react-date-picker__calendar {
      width: 350px;
      max-width: 100vw;
      position: absolute;
      top: 100%;
      left: 0;
      z-index: 3; }
      div[data-proxiarestful="true"] .react-date-picker__calendar--closed {
        display: none; }
      div[data-proxiarestful="true"] .react-date-picker__calendar .react-calendar {
        border-width: thin; }
  div[data-proxiarestful="true"] .react-date-picker.form-control {
    padding: 0px; }
    div[data-proxiarestful="true"] .react-date-picker.form-control > .react-date-picker__wrapper {
      padding: 6px 15px;
      border: 0px; }
  div[data-proxiarestful="true"] .react-calendar {
    width: 350px;
    max-width: 100%;
    background: white;
    border: 1px solid #a0a096;
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.125em; }
    div[data-proxiarestful="true"] .react-calendar--doubleView {
      width: 700px; }
      div[data-proxiarestful="true"] .react-calendar--doubleView .react-calendar__viewContainer {
        display: flex;
        margin: -.5em; }
        div[data-proxiarestful="true"] .react-calendar--doubleView .react-calendar__viewContainer > * {
          width: 50%;
          margin: .5em; }
    div[data-proxiarestful="true"] .react-calendar, div[data-proxiarestful="true"] .react-calendar *, div[data-proxiarestful="true"] .react-calendar *:before, div[data-proxiarestful="true"] .react-calendar *:after {
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
    div[data-proxiarestful="true"] .react-calendar button {
      margin: 0;
      border: 0;
      outline: none; }
      div[data-proxiarestful="true"] .react-calendar button:enabled:hover {
        cursor: pointer; }
    div[data-proxiarestful="true"] .react-calendar__navigation {
      height: 44px;
      margin-bottom: 1em; }
      div[data-proxiarestful="true"] .react-calendar__navigation button {
        min-width: 44px;
        background: none; }
        div[data-proxiarestful="true"] .react-calendar__navigation button:enabled:hover, div[data-proxiarestful="true"] .react-calendar__navigation button:enabled:focus {
          background-color: #e6e6e6; }
        div[data-proxiarestful="true"] .react-calendar__navigation button[disabled] {
          background-color: #f0f0f0; }
    div[data-proxiarestful="true"] .react-calendar__month-view__weekdays {
      text-align: center;
      text-transform: uppercase;
      font-weight: bold;
      font-size: .75em; }
      div[data-proxiarestful="true"] .react-calendar__month-view__weekdays__weekday {
        padding: .5em; }
    div[data-proxiarestful="true"] .react-calendar__month-view__weekNumbers {
      font-weight: bold; }
      div[data-proxiarestful="true"] .react-calendar__month-view__weekNumbers .react-calendar__tile {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: .75em;
        padding: calc(.75em / .75) calc(.5em / .75); }
    div[data-proxiarestful="true"] .react-calendar__month-view__days__day--weekend {
      color: #d10000; }
    div[data-proxiarestful="true"] .react-calendar__month-view__days__day--neighboringMonth {
      color: #757575; }
    div[data-proxiarestful="true"] .react-calendar__year-view .react-calendar__tile, div[data-proxiarestful="true"] .react-calendar__decade-view .react-calendar__tile, div[data-proxiarestful="true"] .react-calendar__century-view .react-calendar__tile {
      padding: 2em .5em; }
    div[data-proxiarestful="true"] .react-calendar__tile {
      max-width: 100%;
      text-align: center;
      padding: .75em .5em;
      background: none; }
      div[data-proxiarestful="true"] .react-calendar__tile:disabled {
        background-color: #f0f0f0; }
      div[data-proxiarestful="true"] .react-calendar__tile:enabled:hover, div[data-proxiarestful="true"] .react-calendar__tile:enabled:focus {
        background-color: #e6e6e6; }
      div[data-proxiarestful="true"] .react-calendar__tile--now {
        background: #ffff76; }
        div[data-proxiarestful="true"] .react-calendar__tile--now:enabled:hover, div[data-proxiarestful="true"] .react-calendar__tile--now:enabled:focus {
          background: #ffffa9; }
      div[data-proxiarestful="true"] .react-calendar__tile--hasActive {
        background: #76bbff; }
        div[data-proxiarestful="true"] .react-calendar__tile--hasActive:enabled:hover, div[data-proxiarestful="true"] .react-calendar__tile--hasActive:enabled:focus {
          background: #a9d4ff; }
      div[data-proxiarestful="true"] .react-calendar__tile--active {
        background: #006edc;
        color: white; }
        div[data-proxiarestful="true"] .react-calendar__tile--active:enabled:hover, div[data-proxiarestful="true"] .react-calendar__tile--active:enabled:focus {
          background: #1088ff; }
    div[data-proxiarestful="true"] .react-calendar--selectRange .react-calendar__tile--hover {
      background-color: #e6e6e6; }
  div[data-proxiarestful="true"] .autocomplete-items {
    padding: 12px 0px;
    background-color: white;
    z-index: 3;
    list-style: none;
    margin: 0px;
    max-height: 200px;
    overflow-y: scroll;
    width: 100%;
    width: calc(100% - 1px);
    border: 1px solid #cccccc; }
    div[data-proxiarestful="true"] .autocomplete-items > li a,
    div[data-proxiarestful="true"] .autocomplete-items > li button {
      display: block;
      width: 100%;
      padding: 6px;
      color: #646464;
      font-size: 14px;
      background-color: white;
      border: 0px;
      text-align: left; }
      div[data-proxiarestful="true"] .autocomplete-items > li a .help,
      div[data-proxiarestful="true"] .autocomplete-items > li button .help {
        padding-left: 6px; }
    div[data-proxiarestful="true"] .autocomplete-items.multiple > li a,
    div[data-proxiarestful="true"] .autocomplete-items.multiple > li button {
      border: 1px solid transparent; }
      div[data-proxiarestful="true"] .autocomplete-items.multiple > li a:hover, div[data-proxiarestful="true"] .autocomplete-items.multiple > li a:active, div[data-proxiarestful="true"] .autocomplete-items.multiple > li a:focus, div[data-proxiarestful="true"] .autocomplete-items.multiple > li a:active:hover, div[data-proxiarestful="true"] .autocomplete-items.multiple > li a:active:focus,
      div[data-proxiarestful="true"] .autocomplete-items.multiple > li button:hover,
      div[data-proxiarestful="true"] .autocomplete-items.multiple > li button:active,
      div[data-proxiarestful="true"] .autocomplete-items.multiple > li button:focus,
      div[data-proxiarestful="true"] .autocomplete-items.multiple > li button:active:hover,
      div[data-proxiarestful="true"] .autocomplete-items.multiple > li button:active:focus {
        border: 1px solid #980046; }
    div[data-proxiarestful="true"] .autocomplete-items.multiple > li:focus a,
    div[data-proxiarestful="true"] .autocomplete-items.multiple > li:focus button {
      border: 1px solid #980046; }
    div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li a:hover, div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li a:active, div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li a:focus, div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li a:active:hover, div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li a:active:focus,
    div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li button:hover,
    div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li button:active,
    div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li button:focus,
    div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li button:active:hover,
    div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li button:active:focus {
      color: white;
      background-color: #980046; }
    div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li:focus a:hover, div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li:focus a:active, div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li:focus a:focus, div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li:focus a:active:hover, div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li:focus a:active:focus,
    div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li:focus button:hover,
    div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li:focus button:active,
    div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li:focus button:focus,
    div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li:focus button:active:hover,
    div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li:focus button:active:focus {
      color: white;
      background-color: #980046; }
    div[data-proxiarestful="true"] .autocomplete-items > li.selected a,
    div[data-proxiarestful="true"] .autocomplete-items > li.selected button {
      color: white;
      background-color: #980046; }
      div[data-proxiarestful="true"] .autocomplete-items > li.selected a .help-info,
      div[data-proxiarestful="true"] .autocomplete-items > li.selected button .help-info {
        color: #646464;
        padding-left: 6px; }
    div[data-proxiarestful="true"] .autocomplete-items > li + li.add-autocomplete:before {
      display: block;
      padding-top: 6px;
      margin: 6px;
      content: '';
      border-top: 1px solid white; }
    div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete a,
    div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete button {
      margin: 6px;
      width: auto;
      background-color: white;
      color: #646464;
      border: 1px solid #767677;
      border-radius: 0px;
      text-align: right; }
      div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete a > span.icon,
      div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete button > span.icon {
        padding-right: 6px; }
      div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete a:hover, div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete a:active, div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete a:focus, div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete a:active:hover, div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete a:active:focus,
      div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete button:hover,
      div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete button:active,
      div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete button:focus,
      div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete button:active:hover,
      div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete button:active:focus {
        background-color: white;
        color: #646464;
        text-decoration: underline; }
  div[data-proxiarestful="true"] div.dropzone {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 15px;
    border: 2px dotted #CDCDCD;
    background-color: #F7F7F7;
    border-radius: 2px;
    color: #CDCDCD;
    outline: none;
    transition: border .24s ease-in-out;
    position: relative; }
    div[data-proxiarestful="true"] div.dropzone .currentImage {
      position: absolute;
      top: 0px;
      max-width: 100%;
      max-height: 100%;
      z-index: 1;
      opacity: 0.3; }
    div[data-proxiarestful="true"] div.dropzone .fileArea {
      z-index: 2;
      border: 4px dashed;
      padding: 15px;
      text-align: center;
      border-radius: 15px;
      max-width: 250px;
      margin: 30px 0px;
      color: inherit; }
      div[data-proxiarestful="true"] div.dropzone .fileArea .fa {
        font-size: 34px; }
      div[data-proxiarestful="true"] div.dropzone .fileArea p {
        color: #646464; }
      div[data-proxiarestful="true"] div.dropzone .fileArea.imageArea.with-image p {
        background-color: rgba(255, 255, 255, 0.7); }
    div[data-proxiarestful="true"] div.dropzone .fileArea.imageArea {
      color: #646464; }
  div[data-proxiarestful="true"] .delete-button-area.with-image {
    text-align: right; }
  div[data-proxiarestful="true"] .delete-button-area button {
    margin-top: 6px; }
  div[data-proxiarestful="true"] div.excel-control .sampleExcel {
    margin: 15px 0px;
    font-size: 16px;
    line-height: 22.8571px;
    font-weight: 600; }
    div[data-proxiarestful="true"] div.excel-control .sampleExcel > a {
      color: #767677; }
      div[data-proxiarestful="true"] div.excel-control .sampleExcel > a:before {
        font: normal normal normal 14px/1 "FontAwesome";
        font-size: inherit;
        text-rendering: auto;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        speak: never;
        content: "";
        font-size: 28px;
        padding-right: 6px; }
  div[data-proxiarestful="true"] div.excel-control .mappings-detail {
    margin: 0px;
    padding: 0px;
    list-style: none; }
    div[data-proxiarestful="true"] div.excel-control .mappings-detail > li.header {
      margin: 15px 0px;
      font-weight: bold; }
      div[data-proxiarestful="true"] div.excel-control .mappings-detail > li.header .yours {
        text-align: right; }
      @media screen and (max-width: 767px) {
        div[data-proxiarestful="true"] div.excel-control .mappings-detail > li.header {
          display: none; } }
    @media screen and (min-width: 768px) {
      div[data-proxiarestful="true"] div.excel-control .mappings-detail > li .form-group:first-child {
        text-align: right; }
        div[data-proxiarestful="true"] div.excel-control .mappings-detail > li .form-group:first-child label {
          padding-top: 12px; } }
  div[data-proxiarestful="true"] div.excel-control .actions-area {
    text-align: right; }
  div[data-proxiarestful="true"] div.excel-control .results-view {
    background-color: #f0f0f0;
    padding: 30px; }
    div[data-proxiarestful="true"] div.excel-control .results-view .results {
      font-weight: 600;
      margin-bottom: 15px; }
    div[data-proxiarestful="true"] div.excel-control .results-view .btn-outline-primary {
      font-size: 16px; }
  div[data-proxiarestful="true"] .cmResourcesOuterBox {
    margin-top: 15px !important; }
    div[data-proxiarestful="true"] .cmResourcesOuterBox ul.cmResourceList {
      padding: 0px;
      list-style: none; }
      div[data-proxiarestful="true"] .cmResourcesOuterBox ul.cmResourceList .resourceData4 {
        padding-left: 6px; }
  div[data-proxiarestful="true"] .content-control .content-filter .btn, div[data-proxiarestful="true"] .content-control .content-filter .printable-button a.printButton, div[data-proxiarestful="true"] .printable-button .content-control .content-filter a.printButton {
    margin-top: 27px;
    background-color: white;
    font-size: 14px;
    padding: 9px;
    border-color: #9b9b9b; }
  div[data-proxiarestful="true"] .content-control .current-contents {
    margin: 0px;
    padding: 0px;
    list-style: none; }
    div[data-proxiarestful="true"] .content-control .current-contents > li {
      margin: 0px;
      background-color: #e3e3e3;
      font-size: 14px;
      margin: 6px 0;
      width: 160px;
      display: inline-block !important;
      border-radius: 6px;
      position: relative;
      padding: 0 30px 0 6px; }
      div[data-proxiarestful="true"] .content-control .current-contents > li {
        font-size: 14px;
        line-height: 20px;
        height: 80px;
        overflow: hidden;
        text-overflow: ellipsis;
        display: block;
        display: -webkit-box;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical; }
      div[data-proxiarestful="true"] .content-control .current-contents > li .options {
        display: inline-block;
        margin-left: 15px;
        position: absolute;
        top: 0px;
        right: 6px;
        color: black; }
        div[data-proxiarestful="true"] .content-control .current-contents > li .options .fa {
          font-size: 20px;
          position: relative;
          top: 2px; }
      div[data-proxiarestful="true"] .content-control .current-contents > li + li {
        margin-left: 6px; }
  div[data-proxiarestful="true"] .content-control .search-results {
    margin: 0px;
    list-style: none;
    padding: 0px; }
    div[data-proxiarestful="true"] .content-control .search-results > li {
      position: relative;
      padding: 0px 6px 0px 30px;
      margin: 0px; }
      div[data-proxiarestful="true"] .content-control .search-results > li:before, div[data-proxiarestful="true"] .content-control .search-results > li:after {
        display: table;
        content: " "; }
      div[data-proxiarestful="true"] .content-control .search-results > li:after {
        clear: both; }
      div[data-proxiarestful="true"] .content-control .search-results > li:before {
        color: #980046;
        position: absolute;
        top: 6px;
        left: 6px;
        content: "";
        font-family: "font-valladolid"; }
      div[data-proxiarestful="true"] .content-control .search-results > li .content-data {
        width: 75%; }
      div[data-proxiarestful="true"] .content-control .search-results > li .content-path a {
        background-color: #9b9b9b;
        border: 1px solid #9b9b9b;
        display: inline-block;
        padding: 3px 15px;
        border-radius: 15px;
        font-size: 12px;
        color: white;
        margin-top: 6px;
        margin-bottom: 6px; }
        div[data-proxiarestful="true"] .content-control .search-results > li .content-path a:after {
          font-family: FontAwesome;
          content: '\f08e';
          padding-left: 6px; }
      div[data-proxiarestful="true"] .content-control .search-results > li .content-add .btn, div[data-proxiarestful="true"] .content-control .search-results > li .content-add .printable-button a.printButton, div[data-proxiarestful="true"] .printable-button .content-control .search-results > li .content-add a.printButton {
        background-color: white; }
  div[data-proxiarestful="true"] ul.master-view {
    margin: 15px 0 0 0;
    padding: 0px;
    list-style: none;
    position: relative; }
    div[data-proxiarestful="true"] ul.master-view > li {
      position: relative;
      padding: 0px 6px 0px 30px;
      margin: 0px; }
      div[data-proxiarestful="true"] ul.master-view > li:before {
        color: #980046;
        position: absolute;
        top: 6px;
        left: 6px;
        content: "";
        font-family: "font-valladolid"; }
      div[data-proxiarestful="true"] ul.master-view > li + li {
        padding-top: 15px; }
        div[data-proxiarestful="true"] ul.master-view > li + li:before {
          top: 21px; }
      div[data-proxiarestful="true"] ul.master-view > li .master-view-title {
        font-size: 18px;
        font-weight: bold;
        line-height: 25.7143px; }
      div[data-proxiarestful="true"] ul.master-view > li .master-view-description {
        font-size: 16px;
        line-height: 22.8571px; }
      div[data-proxiarestful="true"] ul.master-view > li .master-view-features {
        margin-top: 6px; }
        div[data-proxiarestful="true"] ul.master-view > li .master-view-features ul {
          margin: 0px;
          padding: 0px;
          list-style: none; }
          div[data-proxiarestful="true"] ul.master-view > li .master-view-features ul li {
            margin: 0px;
            padding: 0px;
            display: inline-block;
            font-size: 12px;
            border: 1px solid white;
            color: white;
            padding: 3px 18px; }
            div[data-proxiarestful="true"] ul.master-view > li .master-view-features ul li + li {
              margin-left: 15px; }
      div[data-proxiarestful="true"] ul.master-view > li .btn-edit {
        color: #4E6FB8;
        border: 1px solid #4E6FB8;
        padding: 4px 18px;
        border-radius: 0px;
        font-weight: 600; }
      div[data-proxiarestful="true"] ul.master-view > li .btn-delete {
        color: red;
        border: 1px solid red;
        padding: 4px 18px;
        border-radius: 0px;
        font-weight: 600; }
    div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > ul.dropdown-menu > li > .btn, div[data-proxiarestful="true"] ul.master-view .printable-button div.master-view-options.btn-group > ul.dropdown-menu > li > a.printButton, div[data-proxiarestful="true"] .printable-button ul.master-view div.master-view-options.btn-group > ul.dropdown-menu > li > a.printButton {
      padding: 6px 12px; }
    @media screen and (max-width: 991px) {
      div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > button {
        border: 0px;
        border-radius: 0px; }
      div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > ul.dropdown-menu > li > * {
        border: 0px;
        background-color: transparent;
        width: 100%;
        text-align: left;
        color: inherit;
        font-weight: normal; }
        div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > ul.dropdown-menu > li > * .fa {
          display: none; }
        div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > ul.dropdown-menu > li > *:hover, div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > ul.dropdown-menu > li > *:active, div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > ul.dropdown-menu > li > *:focus, div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > ul.dropdown-menu > li > *:active:hover, div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > ul.dropdown-menu > li > *:active:focus {
          text-decoration: underline;
          color: #1E1E1E; } }
    @media screen and (min-width: 992px) {
      div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > button {
        display: none; }
      div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > ul.dropdown-menu {
        list-style: none;
        position: unset;
        position: static;
        display: block;
        float: none;
        min-width: auto;
        padding: 0px;
        margin: 0px;
        border: 0px;
        border-radius: 0px;
        -webkit-box-shadow: none;
        box-shadow: none;
        background-clip: initial;
        background-color: transparent; }
        div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > ul.dropdown-menu > li {
          display: inline-block; }
          div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > ul.dropdown-menu > li + li {
            margin-left: 6px; }
          div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > ul.dropdown-menu > li > * {
            display: inline-block; } }
  div[data-proxiarestful="true"] .master-results-view {
    position: relative; }
    div[data-proxiarestful="true"] .master-results-view > .loading, div[data-proxiarestful="true"] .master-results-view + .loading {
      position: absolute;
      top: 50%;
      bottom: 50%;
      padding-top: 0; }
  @media screen {
    div[data-proxiarestful="true"] .printable-area {
      margin-bottom: 6px;
      overflow-y: auto;
      overflow-x: hidden;
      height: 90%; } }
  @media print {
    div[data-proxiarestful="true"] .printable-button {
      display: none; } }
  div[data-proxiarestful="true"] a {
    cursor: pointer; }
  div[data-proxiarestful="true"] .disabled {
    opacity: 0.65; }
  div[data-proxiarestful="true"] .failed {
    text-align: center; }
    div[data-proxiarestful="true"] .failed img {
      width: 20%;
      margin-bottom: 6px; }
  div[data-proxiarestful="true"] .loading {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    background-color: transparent;
    padding: 15px 0px;
    text-align: center; }
  div[data-proxiarestful="true"] .edit-view {
    position: relative; }
    div[data-proxiarestful="true"] .edit-view .reloading .loading {
      position: absolute;
      width: 100%;
      height: 100%;
      text-align: center;
      font-size: 40px;
      background-color: rgba(255, 255, 255, 0.6);
      z-index: 4; }
      div[data-proxiarestful="true"] .edit-view .reloading .loading > span {
        position: relative;
        top: calc(40% - 40px); }
  div[data-proxiarestful="true"] .no-content {
    margin: 15px 0;
    text-align: center; }
  div[data-proxiarestful="true"] button.emulated-link {
    outline: 0;
    border: 0;
    padding: 0;
    margin: 0;
    background-color: transparent;
    display: inline; }
    div[data-proxiarestful="true"] button.emulated-link:not(.nav-item) {
      color: #1E1E1E; }
      div[data-proxiarestful="true"] button.emulated-link:not(.nav-item):hover, div[data-proxiarestful="true"] button.emulated-link:not(.nav-item):active, div[data-proxiarestful="true"] button.emulated-link:not(.nav-item):focus, div[data-proxiarestful="true"] button.emulated-link:not(.nav-item):active:hover, div[data-proxiarestful="true"] button.emulated-link:not(.nav-item):active:focus {
        text-decoration: underline;
        color: #980046; }
      div[data-proxiarestful="true"] button.emulated-link:not(.nav-item).disabled:hover, div[data-proxiarestful="true"] button.emulated-link:not(.nav-item).disabled:active, div[data-proxiarestful="true"] button.emulated-link:not(.nav-item).disabled:focus, div[data-proxiarestful="true"] button.emulated-link:not(.nav-item).disabled:active:hover, div[data-proxiarestful="true"] button.emulated-link:not(.nav-item).disabled:active:focus {
        text-decoration: none;
        color: #1E1E1E; }
    div[data-proxiarestful="true"] button.emulated-link.nav-item:focus {
      outline: 5px auto -webkit-focus-ring-color;
      outline-offset: -2px; }
  div[data-proxiarestful="true"] a.emulated-link.disabled:hover, div[data-proxiarestful="true"] a.emulated-link.disabled:active, div[data-proxiarestful="true"] a.emulated-link.disabled:focus, div[data-proxiarestful="true"] a.emulated-link.disabled:active:hover, div[data-proxiarestful="true"] a.emulated-link.disabled:active:focus {
    text-decoration: none;
    color: #1E1E1E; }

@keyframes xFadeIn {
  0% {
    opacity: 0.3; }
  100% {
    opacity: 1; } }

@-moz-keyframes xFadeIn {
  0% {
    opacity: 0.3; }
  100% {
    opacity: 1; } }

@-webkit-keyframes xFadeIn {
  0% {
    opacity: 0.3; }
  100% {
    opacity: 1; } }

@-o-keyframes xFadeIn {
  0% {
    opacity: 0.3; }
  100% {
    opacity: 1; } }

@-ms-keyframes xFadeIn {
  div[data-proxiarestful="true"] 0% {
    opacity: 0.3; }
  div[data-proxiarestful="true"] 100% {
    opacity: 1; } }

@keyframes xFadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0.2; } }

@-moz-keyframes xFadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0.2; } }

@-webkit-keyframes xFadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0.2; } }

@-o-keyframes xFadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0.2; } }

@-ms-keyframes xFadeOut {
  div[data-proxiarestful="true"] 0% {
    opacity: 1; }
  div[data-proxiarestful="true"] 100% {
    opacity: 0.2; } }

.modal[data-proxiarestful="true"] .modal-title + .close {
  position: absolute;
  top: 15px;
  right: 15px;
  float: none; }

div[data-service="proxia-restful-gpdr"] .gpdr-policy {
  margin: 0px;
  padding: 0px;
  list-style: none; }
  div[data-service="proxia-restful-gpdr"] .gpdr-policy .gpdr-name {
    font-weight: 600;
    margin-bottom: 15px; }

/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAidGVtcC9lc3RpbG8xNjA5NTMxMDIwMjE5MzIzMTY0Ni5jc3MiLAoJInNvdXJjZXMiOiBbCgkJInRlbXAvZXN0aWxvMTYwOTUzMTAyMDIxOTMyMzE2NDYuY3NzIiwKCQkidGVtcC9lc3RpbG8xNjA5NTMxMDIwMjE5MzIzMTY0Ni5jc3MvSlNBU1NfQ1VTVE9NLnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvdGhlbWVzL3ZhbGxhZG9saWQvX3ZhcmlhYmxlcy5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL2FydGlmYWN0LnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvX3NldHRpbmdzLnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvdmVuZG9ycy9ib290c3RyYXAvYm9vdHN0cmFwL192YXJpYWJsZXMuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy92ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19iczQtY29tcGF0LnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvcHJveGlhL192YXJpYWJsZXMuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy9wcm94aWEvYnMzLWNvbXBhdC5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL3Byb3hpYS9yZWFjdC9fdmFyaWFibGVzLnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvdmVuZG9ycy9ib290c3RyYXAvYm9vdHN0cmFwL19taXhpbnMuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy92ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19oaWRlLXRleHQuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy92ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19vcGFjaXR5LnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvdmVuZG9ycy9ib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9faW1hZ2Uuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy92ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19sYWJlbHMuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy92ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19yZXNldC1maWx0ZXIuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy92ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19yZXNpemUuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy92ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19yZXNwb25zaXZlLXZpc2liaWxpdHkuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy92ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19zaXplLnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvdmVuZG9ycy9ib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9fdGFiLWZvY3VzLnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvdmVuZG9ycy9ib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL3ZlbmRvcnMvYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy92ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL190ZXh0LW92ZXJmbG93LnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvdmVuZG9ycy9ib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9fdmVuZG9yLXByZWZpeGVzLnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvdmVuZG9ycy9ib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9fYWxlcnRzLnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvdmVuZG9ycy9ib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9fYnV0dG9ucy5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL3ZlbmRvcnMvYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX3BhbmVscy5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL3ZlbmRvcnMvYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy92ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvdmVuZG9ycy9ib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy92ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19mb3Jtcy5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL3ZlbmRvcnMvYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX3Byb2dyZXNzLWJhci5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL3ZlbmRvcnMvYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL3ZlbmRvcnMvYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL3ZlbmRvcnMvYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy92ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy92ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL3ZlbmRvcnMvYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX2NlbnRlci1ibG9jay5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL3ZlbmRvcnMvYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX25hdi12ZXJ0aWNhbC1hbGlnbi5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL3ZlbmRvcnMvYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX2dyaWQtZnJhbWV3b3JrLnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvdmVuZG9ycy9ib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9fZ3JpZC5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL3Byb3hpYS9fbWl4aW5zLnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvcHJveGlhL19yZWFjdC1wcm94aWFwb3J0YWwuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy9wcm94aWEvcmVhY3QvX25hdmlnYXRpb24uc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy9wcm94aWEvcmVhY3QvX2Zvcm0uc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy9wcm94aWEvcmVhY3QvX2RhdGVwaWNrZXIuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy9wcm94aWEvcmVhY3QvX2F1dG9jb21wbGV0ZS5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL3Byb3hpYS9yZWFjdC9fZmlsZXMuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy9wcm94aWEvcmVhY3QvX2NvbnRlbnRjb250cm9sLnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvcHJveGlhL3JlYWN0L19tYXN0ZXJkZXRhaWwuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy9wcm94aWEvcmVhY3QvX3ByaW50LnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvcHJveGlhL3JlYWN0L2NvcmUuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy9wcm94aWEvcmVhY3QvX2RpYWxvZy5zY3NzIiwKCQkicHJveGlhLXRlbXAvc2VydmljZTE1NTAyNTk1NjU5NDM5OTE4ODM3L3N0eWxlc2hlZXRzL3NlcnZpY2Uuc2NzcyIKCV0sCgkic291cmNlc0NvbnRlbnQiOiBbCgkJIkBpbXBvcnQgXCIvb3B0L3RvbWNhdC93ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvdGhlbWVzL3ZhbGxhZG9saWQvX3ZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwiL29wdC90b21jYXQvd2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL2FydGlmYWN0XCI7XHJcbkBpbXBvcnQgXCIvb3B0L3RvbWNhdC9wcm94aWEtdGVtcC9zZXJ2aWNlMTU1MDI1OTU2NTk0Mzk5MTg4Mzcvc3R5bGVzaGVldHMvc2VydmljZS5zY3NzXCI7XHJcbiIsCgkJIiRqc2Fzcy12b2lkOiBqc2Fzc19pbXBvcnRfc3RhY2tfcHVzaCgxKTtcbiIsCgkJIi8qKlxuICogVmFyaWFibGVzIFBvcnRhbCBXZWIgZGVsIEF5dW50YW1pZW50byBkZSBWYWxsYWRvbGlkXG4gKi9cblxuLy9WQVJJQUJMRVMgR0xPQkFMRVMgREUgTEEgV0VCXG4kZ3JpZC1ndXR0ZXItd2lkdGg6IDMwcHg7XG4kaGFsZkd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLzI7XG4kbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc6IDZweDtcbiRpbWFnZS1nYWxsZXJ5LWNvbHVtbnM6ICgneHMnOjIsJ3NtJzo0LCdtZCc6NCkgIWRlZmF1bHQ7XG5cbi8vIFZhcmlhYmxlcyBwYXJhIGVsIGdyaWRcbiRzY3JlZW4teGwtbWluOiAxMjU4cHg7XG4vLyAkY29udGFpbmVyLXhsOiAxMTk4cHg7XG4kY29udGFpbmVyLXhsOiAxMjI4cHg7XG5cbi8vRk9OVFNcbiRtYWluLWZvbnQ6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuJGZvbnRzLWRlZmF1bHQtZm9udC1zaXplOiAzOHB4O1xuXG4vLyBDT0xPUkVTIFBSSU5DSVBBTEVTXG4kYnJhbmQtcHJpbWFyeTogICAgICAgICAgICAgIzk4MDA0NjsgLy8jOTkwQTQyO1xuJGJyYW5kLXNlY29uZGFyeTogICAgICAgICAgICMxRTFFMUU7XG4kYnJhbmQtdGVydGlhcnk6ICAgICAgICAgICAgIzc5YWRkZTsgXG4kYnJhbmQtdGVydGlhcnktY29udHJhc3Q6ICAgIzQ4NzlhNDsgLy80LjY6MVxuJHdoaXRlOiAgICAgICAgICAgICAgICAgICAgICNmZmZmZmY7XG4kYmxhY2s6ICAgICAgICAgICAgICAgICAgICAgIzAwMDAwMDtcblxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICNmZmZmZmY7XG4kZGFyay1iZzogICAgICAgICAgICAgICAgICAgIzAwMDAwMDtcbiRkYXJrLWNvbnRlbnQtdGV4dDogICAgICAgICAjMkMyQzJDOyAgICBcbiRhZ2VuZGEtZGVzdGFjYWRvOiAgICAgICAgICAjRjhFNzFDO1xuJHNlcnZpY2lvcy1iZzogICAgICAgICAgICAgICNGNkY2RjY7XG4kbWF4LXRlbXA6ICAgICAgICAgICAgICAgICAgI0RGMzczNztcbiRzZW1hbmEtdmlkZW8tdmlld21vcmU6ICAgICAjQkI1NjI3OyAvLzQuNzoxXG4kb3JhbmdlLWhvdmVyLW1lbnU6ICAgICAgICAgI0MzNTYxOTtcbiRpbnRlcmVzdC1saW5rLWhvdmVyOiAgICAgICAjM0U1NEE4O1xuJG1lbnUtbW92aWwtYmc6ICAgICAgICAgICAgICMzRDNEM0Q7XG4kY3VycmVudC1tb3ZpbC1tZW51OiAgICAgICAgI0VGQ0Q1NztcbiRob3Zlci1hbGNhbGRlOiAgICAgICAgICAgICAjQjYyOTVGO1xuJGJsdWUtYnVsbGV0OiAgICAgICAgICAgICAgICMzRTU0QTg7XG4kb3JhbmdlLWRyb3Bkb3duOiAgICAgICAgICAgI0ZGQzAwMDtcbiR3ZWF0aGVyLW1heDogICAgICAgICAgICAgICAjZDIzMzMzOyAvLzQuOToxXG4kd2VhdGhlci1taW46ICAgICAgICAgICAgICAgIzI3NzNDMTtcbiRtYXNjb25zdWx0YWRvLXZpZXdtb3JlOiAgICAjM2M3MmEwOyAvLzQuNzoxXG4kc3FsLWV4cG9ydC1leGNlbDogICAgICAgICAgIzNDODUzQzsgLy80LjZcbiRvcmRlbi1kaWEtY29sb3I6ICAgICAgICAgICAjRDZFM0ZGO1xuJGFycm93cy1jb2xvcjogICAgICAgICAgICAgICMyNTNmNzk7XG4kYWRkcmVzcy1ibHVlOiAgICAgICAgICAgICAgIzRFNkZCODtcbiRwcm94aWEtbGlua3MtY29sb3I6ICAgICAgICAkYnJhbmQtc2Vjb25kYXJ5O1xuJGxpbmstb3RoZXJzOiAgICAgICAgICAgICAgICM1MDY4YzA7XG4kbGluay12aWV3TW9yZS1wbHVzOiAgICAgICAgIzZhNzE5NDtcbiR3aGl0ZTogICAgICAgICAgICAgICAgICAgICAjZmZmO1xuXG4vLyBycnNzXG4keXRiLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmMDAwMDtcbiRmYi1jb2xvcjogICAgICAgICAgICAgICAgICAjM2Y1MWI1O1xuXG4vL0VTQ0FMQSBERSBHUklTRVNcbiAgICAkZ3JheS1iYXNlOiAgICAgICAgICMyNDI0MjQ7XG4gICAgJGdyYXktZGFya2VyOiAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDglKTtcbiAgICBcbiAgICAvL1RleHRvXG4gICAgJGdyYXktZGFyazogICAgICAgICAjNjQ2NDY0OyBcbiAgICAkZ3JheTogICAgICAgICAgICAgICM2MTYxNjE7IC8vNi4yOjFcbiAgICAkZ3JheS1saWdodDogICAgICAgICM3Njc2Nzc7IC8vNC41OjFcbiAgICAkb2xhcC1jYWxlbmRhci1jb2xvcjogI0M3QTVBQztcbiAgICAkcG9saXRpY2FsLXBhcnR5LWNvbG9yOiAjN0U3RTdFO1xuICAgICRyZXVuaW9uZXMtdGl0bGUtY29sb3I6ICMzQjNCM0I7XG4gICAgJGFzYW1ibGVhLWRhdGUtY29sb3I6ICRncmF5LWxpZ2h0O1xuICAgICRmaWxlLWljb246ICAgICAgICAgICAjQ0VDRUNFO1xuICAgICRvZmZpY2UtdGhlbWU6ICAgICAgIzJDMkMyQztcblxuICAgIC8vQm9yZGVyXG4gICAgJGJvcmRlci1ncmF5OiAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCA0Ni41JSk7XG4gICAgJGJvcmRlci1ncmF5LWxpZ2h0OiAgI0NEQ0RDRDtcbiAgICAkYm9yZGVyLWdyYXktc29saWNpdHVkZXM6ICNERkRGREY7XG4gICAgXG4gICAgLy9CYWNrZ3JvdW5kXG4gICAgJGJnLWdyYXktZGFya2VyOiAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDglKTtcbiAgICAkYmctZ3JheTogICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgNDYuNSUpO1xuICAgICRiZy1ncmF5LWxpZ2h0OiAgICAgICAgI2JmYmZiZjtcbiAgICAkYmctZ3JheS1saWdodGVyOiAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgNzUlKTtcbiAgICAkYmctZ3JheS1saWdodGVzdDogICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgODAlKTtcbiAgICAkYmctZ3JheS1jb250ZW50OiAgICAgICNGN0Y3Rjc7XG4gICAgJGJnLWdyYXktdGVtYXM6ICAgICAgICAjMjMyNTI2O1xuICAgICRiZy1ncmF5LXRlbWFzLW1vYmlsZTogIzFBMUExQTtcbiAgICAkYmctZ3JheS1hZG9wdGEtZm9ybTogICNlM2UzZTM7XG4gICAgJGJnLWdyYXktaW50ZXJlczogICAgICAjRUZFRkVGO1xuICAgICRiZy1ncmF5LWJpZW5lczogICAgICAgIzc2NzY3NztcblxuLy8gQk9SREVTXG4kdmFsbGFkb2xpZC1iYXNlLWJvcmRlcjogMXB4IHNvbGlkICRncmF5LWxpZ2h0O1xuXG4vLyBGb250IFdlaWdodHNcblxuJHdlaWdodC1yZWd1bGFyOiA0MDA7XG4kd2VpZ2h0LW1lZGl1bTogNTAwO1xuJHdlaWdodC1zZW1pYm9sZDogNjAwO1xuJHdlaWdodC1ib2xkOiA3MDA7XG5cbi8vIFRBTUHDkU9TIERFIExFVFJBXG4kZm9udC1zaXplLXNtYWxsOiAgIDEycHg7IFxuJGZvbnQtc2l6ZS1iYXNlOlx0MTRweDtcbiRmb250LXNpemUtbGFyZ2U6ICAgMTZweDtcbiRmb250LXNpemUtbGFyZ2VzdDogMThweDsgXG5cbiRmb250LXNpemUtaDI6ICAgICAgMjhweDsgICBcbiRmb250LXNpemUtaDQ6ICAgICAgMjRweDsgXG4kZm9udC1zaXplLWg1OiAgICAgIDIycHg7IFxuJGZvbnQtc2l6ZS1oNjogICAgICAyMHB4OyBcblxuJHRpdHVsby10ZW1hczogXHRcdDMycHg7XG4kdGl0dWxvLXhzLXRyYW5zcGFyZW5jaWE6IDMycHg7XHRcdFx0XHRcbiR0aXR1bG8tYWxjYWxkZTogICAgNDJweDsgXG5cbiRob21lLXNsaWRlci1hcnJvd3M6IDcwcHg7XG5cbi8vU0xJREVSXG4kc2xpZGVyLWNvbnRyb2wtZG90U21hbGw6ICAgIDExcHg7XG4kc2xpZGVyLWNvbnRyb2wtYmc6ICRncmF5LWxpZ2h0O1xuXG4vLyAtLS0tLS0tLS0tLS0tLVxuLy8gRm9udCBXZWlnaHRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kd2VpZ2h0LXJlZ3VsYXI6IDQwMDtcbiR3ZWlnaHQtbWVkaXVtOiA1MDA7XG4kd2VpZ2h0LXNlbWlib2xkOiA2MDA7XG4kd2VpZ2h0LWJvbGQ6IDcwMDtcblxuLy8gQ29udGVuaWRvcyByZWxhY2lvbmFkb3MsIHZhcmlhYmxlcyBlc3BlY8OtZmljYXMgcGFyYSBkZWZpbmljacOzbiBkZSBsYSBtYXF1ZXRhY2nDs24gZGVsIGJsb3F1ZS5cbiRyZWxhdGVkLWJsb2NrLWZvbnQtc2l6ZS1iYXNlOiAkZm9udC1zaXplLWg2O1xuJHJlbGF0ZWQtYmxvY2stbWFyZ2luOiAwO1xuJHJlbGF0ZWQtYmxvY2stcGFkZGluZzogMDtcbiRyZWxhdGVkLWJsb2NrLXRpdGxlLWNvbG9yOiAkZ3JheS1kYXJrO1xuJHJlbGF0ZWQtYmxvY2staXRlbS1wYWRkaW5nOiAwO1xuJHJlbGF0ZWQtYmxvY2staXRlbS1tYXJnaW46IDA7XG4kcmVsYXRlZC1ibG9jay1pdGVtLWljb246ICcnO1xuXG4vLyBTdWJjb250ZW5pZG9zLCB2YXJpYWJsZXMgZXNwZWPDrWZpY2FzIHBhcmEgbGEgbWFxdWV0YWNpw7NuIGRlbCBibG9xdWVcbiRzdWJjb250ZW50cy1ibG9jay1tYXJnaW46IDAgMCAkaGFsZkd1dHRlciAwO1xuJHN1YmNvbnRlbnRzLWJsb2NrLXBhZGRpbmc6IDA7XG4kc3ViY29udGVudHMtYmxvY2staXRlbS1jb2xvcjogJGJyYW5kLXNlY29uZGFyeTtcbiRzdWJjb250ZW50cy1ibG9jay1pdGVtLWJvcmRlci10b3A6IDFweCAkYm9yZGVyLWdyYXktbGlnaHQgc29saWQ7XG4kc3ViY29udGVudHMtYmxvY2staXRlbS1wYWRkaW5nOiAkaGFsZkd1dHRlciAwICRoYWxmR3V0dGVyICRoYWxmR3V0dGVyO1xuJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0taWNvbjogICdcXGU5M2UnO1xuJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0taWNvbi1mb250OiAnZm9udC12YWxsYWRvbGlkJztcbiRzdWJjb250ZW50cy1ibG9jay1pdGVtLWljb24tY29sb3I6ICRibHVlLWJ1bGxldDtcbiRzdWJjb250ZW50cy1ibG9jay1pdGVtLWljb24tcGFkZGluZzogMDtcblxuLy8gQXV0b3JlbGFjaW9uYWRvc1xuJGF1dG9yZWxhdGVkLWJsb2NrLW1hcmdpbjogMDtcbiRhdXRvcmVsYXRlZC1ibG9jay1wYWRkaW5nOiAwO1xuXG4vLyBSZWN1cnNvc1xuJHJlc291cmNlcy1ibG9jay1mb250LXNpemUtYmFzZTogJGZvbnQtc2l6ZS1sYXJnZTtcbiRyZXNvdXJjZXMtYmxvY2stbWFyZ2luOiAwO1xuJHJlc291cmNlcy1ibG9jay1wYWRkaW5nOiAwICRncmlkLWd1dHRlci13aWR0aDtcbiRyZXNvdXJjZXMtY29sdW1uczogMiAhZGVmYXVsdDtcblxuLy9NQVBBIFdFQlxuJGdsb2JhbC1zaXRlbWFwLWxldmVsMS1jb2x1bW5zOiAxO1xuJGdsb2JhbC1zaXRlbWFwLWxldmVsMi1jb2x1bW5zOiAxO1xuJHNpdGVtYXAtbGV2ZWwxOiAoXG4gICAgICAgIGJsb2NrLXBhZGRpbmc6IDBweCAwcHggMHB4ICRoYWxmR3V0dGVyLFxuICAgICAgICBibG9jay1pdGVtLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNCxcbiAgICAgICAgYmxvY2staXRlbS1jb2xvcjogJGJyYW5kLXByaW1hcnksXG4gICAgICAgIGJsb2NrLWl0ZW0tY29sb3ItaG92ZXI6ICRpbnRlcmVzdC1saW5rLWhvdmVyLFxuICAgICAgICBibG9jay1pdGVtLW1hcmdpbjogMCAwICRoYWxmR3V0dGVyIDAsXG4gICAgICAgIHRpdGxlLWljb246ICdcXGU5NDUnLFxuICAgICAgICB0aXRsZS1pY29uLWZvbnQ6ICdmb250LXZhbGxhZG9saWQnLFxuICAgICAgICB0aXRsZS1pY29uLWNvbG9yOiAkaW50ZXJlc3QtbGluay1ob3ZlcixcbiAgICAgICAgdGl0bGUtaWNvbi1wYWRkaW5nOiAkaGFsZkd1dHRlclxuKTtcbiRzaXRlbWFwLWxldmVsMjogbWFwX21lcmdlKCRzaXRlbWFwLWxldmVsMSwoXG4gICAgICAgIGJsb2NrLWl0ZW0tZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlc3QsXG4gICAgICAgIHRpdGxlLWljb246ICAnXFxlOTQ1JyxcbiAgICAgICAgdGl0bGUtaWNvbi1mb250OiAnZm9udC12YWxsYWRvbGlkJyxcbiAgICAgICAgdGl0bGUtaWNvbi1jb2xvcjogJG9yYW5nZS1ob3Zlci1tZW51LFxuICAgICAgICB0aXRsZS1pY29uLXBhZGRpbmc6ICRoYWxmR3V0dGVyLFxuICAgICAgICB0aXRsZS1tYXJnaW46IDAsXG4gICAgICAgIGluZGVudC1tYXJnaW46ICRoYWxmR3V0dGVyXG4pKTtcblxuLy8gQ29sb3IgcGFyYSByZXN1bHRhZG9zIGRlIGxhIGLDunNxdWVkYVxuJGhpZ2hsaWdodGVkLXRleHQtY29sb3I6ICRicmFuZC1zZWNvbmRhcnk7XG4kaGlnaGxpZ2h0ZWQtYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZDMDtcblxuLy8gQmxvcXVlIGRlIHJlZGVzIHNvY2lhbGVzLi4uIHJlZGVmaW5pbW9zIGVsIHRhbWHDsW8gZGUgaWNvbm9zLCBmdWVudGVzIHkgZGVtw6FzLlxuJGNvbnRlbnQtc2VydmljZXMtaXRlbS1ib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWdyYXktbGlnaHQ7XG4kY29udGVudC1zZXJ2aWNlcy1jb2xvcjogJGdyYXktZGFyaztcbiRjb250ZW50LXNlcnZpY2VzLWFjdGl2ZS1jb2xvcjogJGJyYW5kLXByaW1hcnk7XG4kY29udGVudC1zZXJ2aWNlcy1pdGVtLWxhcmdlLWJveC13aWR0aDogNTBweDtcbiRjb250ZW50LXNlcnZpY2VzLWl0ZW0tZm9udC1sYXJnZTogJGZvbnQtc2l6ZS1oNDtcblxuLy8gVGFtYcOxb3MgcGVxdWXDsW9zIHNlIHV0aWxpemEgZW4gdGVtYXNcbiRjb250ZW50LXNlcnZpY2VzLWl0ZW0tc21hbGwtYm94LXdpZHRoOiAzMHB4O1xuJGNvbnRlbnQtc2VydmljZXMtaXRlbS1mb250LXNtYWxsOiAkZm9udC1zaXplLWxhcmdlO1xuXG4vLyBDdWFuZG8gY2F0ZWdvcml6YW1vcyBjb25ldG5pZG9zXG4kY2F0ZWdvcml6ZXItY2F0ZWdvcnktYm9yZGVyLXN0eWxlOiBub25lO1xuJGNhdGVnb3JpemVyLWNhdGVnb3J5LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuJGNhdGVnb3JpemVyLWNhdGVnb3J5LWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNDtcbiRjYXRlZ29yaXplci1ibG9jay1wYWRkaW5nOiAwO1xuJGNhdGVnb3JpemVyLWJsb2NrLWl0ZW0tcGFkZGluZzogJGhhbGZHdXR0ZXI7XG4kY2F0ZWdvcml6ZXItYmxvY2staXRlbS1tYXJnaW46ICRoYWxmR3V0dGVyIDAgMCAwO1xuJHN1YmNvbnRlbnRzLWNhdGVnb3J5LWJsb2NrLWl0ZW0taWNvbjogJyc7XG4kc3ViY29udGVudHMtY2F0ZWdvcnktYmxvY2staXRlbS1ib3JkZXItdG9wOiBub25lO1xuJHN1YmNvbnRlbnRzLWNhdGVnb3J5LWJsb2NrLXBhZGRpbmc6IDA7XG4kc3ViY29udGVudHMtY2F0ZWdvcnktYmxvY2staXRlbS1tYXJnaW46IDAgMCAwICRoYWxmR3V0dGVyO1xuJHN1YmNvbnRlbnRzLWNhdGVnb3J5LWJsb2NrLWl0ZW0tcGFkZGluZzogJGhhbGZHdXR0ZXIgMCAwIDA7XG5cbi8vQ0FMRU5EQVJJT1xuJGNhbGVuZGFyLWN1cnJlbnRkYXk6ICNkYTU1MmY7XG4kY2FsZW5kYXItaG9saWRheTogJGRhcmstYmc7XG4kY2FsZW5kYXItaG9saWRheS1lbmNpcmNsZWQ6IGZhbHNlO1xuJGNhbGVuZGFyLWV2ZW50LWVuY2lyY2xlZDogZmFsc2U7XG4kY2FsZW5kYXItaGVhZGVyLWJnY29sb3I6ICRib2R5LWJnO1xuJGNhbGVuZGFyLWNlbGxzLWlubmVyLWJvcmRlcjogZmFsc2U7XG4kY2FsZW5kYXItZm9udC1zaXplLWJhc2U6ICRmb250LXNpemUtc21hbGw7XG4kY2FsZW5kYXItZXZlbnQ6ICRkYXJrLWJnO1xuJGNhbGVuZGFyLWJvcmRlcjogMXB4IHNvbGlkICNDNUM1QzU7XG4kY2FsZW5kYXItb3RoZXJkYXlzLW9wYWNpdGl5OiAwLjk7IC8vIEFjY2VzaWJpbGlkYWRcblxuXG4vL1JDQ0FWQVxuJHJjY2F2YS1ibHVlOiAjNjNDRUZGO1xuJHJjY2F2YS1ob21lLWJsdWU6ICMzRTU0QTg7XG4kcmNjYXZhLWhvbWUtZ3JlZW4tYXJyb3c6ICM5QUNFOTg7XG4kcmNjYXZhLWhvbWUtbGluay1iZzogI0VFRUVFRTtcbiRyY2NhdmEtaWNvbi1mb250LXNpemU6IDU4cHg7XG4kcmNjYXZhLWJveC1zaGFkb3c6IDAgOHB4IDE2cHggMCByZ2JhKDAsMCwwLDAuMDYpO1xuJHJjY2F2YS1jb250ZW50LWJnOiAjRjdGN0Y3O1xuJHJjY2F2YS10aXRsZS1mb250LXNpemU6IDQwcHg7XG4kcmNjYXZhLW1lbnUtY29sdW1uczogKCdzbSc6NSwgJ21kJzo1KTtcbiRyY2NhdmEtbWVudS1ib3JkZXI6IDRweCBzb2xpZCAkcmNjYXZhLWNvbnRlbnQtYmc7XG4kcmNjYXZhLWhvbWUtdGl0bGUtYmc6ICM5RkFBRUY7XG5cbi8vIEFET1BUQVxuJGFuaW1hbHMtc2l0dWF0aW9uLWNvbG9yOiAjQzM1NjE5O1xuJGFuaW1hbHMtY2FyLWNvbG9yOiAjOTkwQTQyO1xuXG4vLyBTRUFSQ0hcbiRiZy1zZWFyY2g6ICM5OTBBNDI7XG5cbi8vIE1hcGFzXG4kbWFwcy1vcHRpb25zLWRpc3Bvc2l0aW9uOiAoJ3hzJzooMTIsMTIpKTtcblxuLy9Ob3RhcyBkZSBwcmVuc2FcbiRvbGFwY2FsZW5kYXItY2xvdWQtc2l6ZTogKCd4cyc6MTIsJ3NtJzoxMiwnbWQnOjQsJ2xnJzozKTtcbiRub3Rhcy1wcmVuc2EtYmFzZS1ib3JkZXI6IDFweCBzb2xpZCAjQzVDNUM1O1xuJG5vdGFzLXByZW5zYS1tZXM6ICAgICAgICAgICM2QjZCNkI7IC8vNC42OjFcbiRub3Rhcy1wcmVuc2EtbWVzLWJnOiAgICAgICAjRURFREVEOyBcblxuLy9TZXNpb25lcyBwbGVuYXJpYXNcbiRzZXNpb24tYmx1ZS1jb2xvcjogIzRFNkZCODtcblxuLy9QYXJ0aWRvcyBwb2xpdGljb3NcbiRjb25jZWphbGVzLWxpc3QtYm9yZGVyOiAxcHggc29saWQgI0NBQ0FDQTtcbiRhZ2VuZGEtYmctY29sb3I6ICNGM0YzRjM7XG5cbi8vw5NyZ2Fub3MgcGFydGljaXBhdGl2b3NcbiRvcmdhbm8tYmctY29sb3I6ICNGNUY1RjU7XG4kb3JnYW5vLWRlc3QtdGl0bGU6IDMycHg7XG4kb3JnYW5vLXNob3dtb3JlLWNvbG9yOiAjNEU2RkI4O1xuJG9yZ2Fuby10aXRsZTogMzZweDtcbiRvcmdhbm8tcmVsYXRlZC1iZzogI0ZCRkJGQjtcblxuLy9CaWVuZXNcbiRiaWVuLWljb24tY29sb3I6ICNCOUI5Qjk7XG4kYmllbi1pY29uLXNpemU6IDM2cHg7XG5cbi8vVmlkZW90ZWNhXG4kdmlkZW90ZWNhLXNlY29uZGFyeS10aXRsZS1mb250LXNpemU6IDE1cHg7XG4kdmlkZW90ZWNhLXRleHQtZm9udC1zaXplOiAxM3B4O1xuJHZpZGVvdGVjYS10ZXh0LWNvbG9yOiAjMkMyQzJDO1xuJHZpZGVvdGVjYS1tYWluLXRpdGxlOiAzMHB4O1xuJHZpZGVvdGVjYS1pY29uLWZvbnQtc2l6ZTogNzBweDtcbiR2aWRlb3RlY2EtbGlzdC1pY29uLWZvbnQtc2l6ZTogMjZweDtcblxuLy9DZW50cm9zIENpdmljb3MvTXVuaWNpcGFsZXNcbiRjZW50cm9zLWljb24tZm9udC1zaXplOiA2NnB4O1xuJGNlbnRyb3Mtc3ViY29udGVudC1ib3JkZXI6IDhweCBzb2xpZCAjRjNCRkQzO1xuJGNlbnRyb3MtaW5zdGFsYWNpb25lcy1ib3JkZXI6IDJweCBzb2xpZCAjQzlDOUM5O1xuJGNlbnRyb3MtaW5zdGFsYWNpb25lcy1pY29uOiAkZ3JheS1saWdodDsgLy8gQWNjZXNpYmlsaWRhZCwgZWwgY29udHJhc3RlIGVyYSBiYWpvLlxuJGNlbnRyb3MtaW5zdGFsYWNpb25lcy1pY29uLXNpemU6IDM2cHg7XG5cbi8vIEFzcGVjdG8gZGVsIGxpZ2h0Ym94Li4uXG4kbGlnaHRib3gtdGl0bGUtZm9udC1zaXplOiAkZm9udC1zaXplLWg2O1xuJGxpZ2h0Ym94LXRpdGxlLWJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuJGxpZ2h0Ym94LXRpdGxlLWNvbG9yOiAkYnJhbmQtc2Vjb25kYXJ5O1xuJGxpZ2h0Ym94LWZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiRsaWdodGJveC1idXR0b24tY29sb3I6ICNmZmYsICRicmFuZC1wcmltYXJ5LCBkYXJrZW4oJGJyYW5kLXByaW1hcnksIDUlKSA7XG5cbiRkcm9wem9uZS1yZXN1bHRzLWJhY2tncm91bmQ6ICRiZy1ncmF5LWxpZ2h0ZXN0O1xuJGRyb3B6b25lLWJhY2tncm91bmQ6ICRiZy1ncmF5LWNvbnRlbnQ7XG4kZHJvcHpvbmUtY29sb3I6ICRib3JkZXItZ3JheS1saWdodDtcblxuJGNvbnRlbnQtY29udHJvbC1iYWNrZ3JvdW5kOiAkYmctZ3JheS1saWdodGVyO1xuJGNvbnRlbnQtY29udHJvbC1jb2xvcjogJGJnLWdyYXk7XG4kY29udGVudC1jb250cm9sLWl0ZW0taWNvbi1mb250OiAnZm9udC12YWxsYWRvbGlkJztcbiRjb250ZW50LWNvbnRyb2wtaXRlbS1pY29uOiAnXFxlOTNlJztcbiRmb3JtLWNvbnRyb2wtZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlO1xuXG4vLyBNZXJjYWRvcyBNdW5pY2lwYWxlc1xuJG1lcmNhZG9zLWljb24tY29sb3I6ICM1NjI2N2Q7XG4kbWVyY2Fkb3MtaWNvbi1zaXplOiA5MHB4O1xuJG1lcmNhZG9zLWJhci1jb2xvcjogIzU4M0Y5QTtcbiRtZXJjYWRvcy1oZWFkZXItdGV4dC1jb2xvcjogI0ZCRjAyNDtcbiRtZXJjYWRvcy1oZWFkZXItdGV4dC1zaXplOiA0NnB4O1xuJG1lcmNhZG9zLWhlYWRlci10ZXh0LXNpemUtbW9iaWxlOiA2LjV2dztcblxuLy8gQWp1c3RhbW9zIGVsIHBhZGRpbmcgWSBkZSBsb3MgZm9ybXVsYXJpb3MgUkVBQ1QsIHBvcnF1ZSB0ZW5lbW9zIHRvZG9zIGxvcyBib3RvbmVzIGFqdXN0YWRvc1xuLy8gYSBlc2UgdGFtYcOxby5cbiRmb3JtLWNvbnRyb2wtcGFkZGluZy15OiAxLjUqJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuXG4vLyBFbCBib3JkZSBkZSBsb3MgaW5wdXQgYSBncmF5IGxpZ2h0XG4kaW5wdXQtYm9yZGVyOiAkZ3JheS1saWdodDtcblxuLy8gRm9jbyBjb250cm9sZXMgZm9ybXVsYXJpb1xuJGZvcm0tY29udHJvbC1ib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgkYnJhbmQtcHJpbWFyeSwgLjI1KSAhZGVmYXVsdDtcblxuLy8gTWVudSBCb2R5XG4kbWVudS1jb250YWluZXItcGFkZGluZzogMzhweCAxNXB4IDY2cHg7XG4kbWVudS1jb250YWluZXItYmc6ICMzOTM5Mzk7XG4kbWVudS1ib2R5LWhvbWUtZ2FwOiAyNnB4O1xuJG1lbnUtYm9keS1kYXJrLWljb24tY29sb3I6ICNkMmQyZDI7XG4kbWVudS1ib2R5LWxpZ2h0LWhvdmVyLWJnOiAjRUJFQkVCO1xuXG4vLyBBdGVuY2nDs24gcHJlc2VuY2lhbFxuJGF0ZW5jaW9uLXByZXNlbmNpYWwtbGFiZWwtY29sb3I6ICM0QzRDNEM7XG4kYXRlbmNpb24tcHJlc2VuY2lhbC1maWVsZC1mb250LXNpemU6IDE1cHg7XG4kYXRlbmNpb24tcHJlc2VuY2lhbC1wbGFjZWhvbGRlci1jb2xvcjogI0IxQjFCMTtcbiRhdGVuY2lvbi1wcmVzZW5jaWFsLWNhcmV0LWNvbG9yOiAjMzczNzM3O1xuJGF0ZW5jaW9uLXByZXNlbmNpYWwtZmVhdHVyZXMtY29sb3I6ICM2NjY2NjY7XG4kYXRlbmNpb24tcHJlc2VuY2lhbC1mZWF0dXJlcy1zaXplOiAxM3B4O1xuIiwKCQkiLyoqXG4gKiBGaWNoZXJvIGdlbmVyYWwgU0NTUyBxdWUgaW1wb3J0YSB0b2RvcyBsb3MgZmljaGVyb3MgZGUgdmFyaWFibGVzIGRlZmluaWRvcyBhIG5pdmVsIGRlIHByb3llY3RvLCBhIGZpblxuICogZGUgcGVybWl0aXIgbGEgY29tcG9zaWNpw7NuIGRlIHVuIFNBU1MgcXVlIGRpc3BvbmdhIGRlIHRvZG9zIGxvcyBkYXRvcyBkZWwgcHJveWVjdG8uXG4gKlxuICogQGF1dGhvciBkcm9kcmlndWV6XG4gKi9cblxuLy8gU2V0dGluZ3MgcHJpbmNpcGFsZXMgZGUgUHJveGlhLCBpbmljaWFsaXphIGNpZXJ0YXMgdmFyaWFibGVzXG4vLyBkZSBib290c3RyYXAgcXVlIHB1ZWRlIHNlciBuZWNlc2FyaW8gcmVkZWZpbmlyLCBhc8OtIGNvbW8gZmlqYXJcbi8vIGNpZXJ0b3MgcGF0aHMgaW1wb3J0YW50ZXMuIHNlcsOtYSB1biBmaWNoZXJvIHBvciBkZWZlY3RvLCBubyBkZWJlXG4vLyB0b2NhcnNlIGVuIGNhc28gZGUgZXhpc3RpciB1biBmaWNoZXJvIGRlIHZhcmlhYmxlcyBkZWwgdGVtYSBzZSBpbXBvcnRhcsOhXG4vLyDDqXN0ZSBwb3IgZGVmZWN0b1xuQGltcG9ydCBcInNldHRpbmdzXCI7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBJbXBvcnRzIFZlbmRvciBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJvb3RzdHJhcFxuQGltcG9ydCBcInZlbmRvcnMvYm9vdHN0cmFwL2Jvb3RzdHJhcC92YXJpYWJsZXNcIjtcblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSW1wb3J0cyBQcm94aWEgVmFyaWFibGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AaW1wb3J0IFwicHJveGlhL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcInByb3hpYS9iczMtY29tcGF0XCI7XG5AaW1wb3J0IFwicHJveGlhL3JlYWN0L3ZhcmlhYmxlc1wiO1xuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEltcG9ydCBCb290c3RyYXAgTWl4aW5zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQGltcG9ydCBcInZlbmRvcnMvYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnNcIjtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSW1wb3J0IFByb3hpYSBNaXhpbnMgKGRlc3B1w6lzIGRlIGNvbXBhdGliaWxpZGFkIGJzMylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AaW1wb3J0IFwicHJveGlhL21peGluc1wiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBJbXBvcnQgUHJveGlhIFJFQUNUIGVuIG1vZG8gUG9ydGFsXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpbXBvcnQgXCJwcm94aWEvcmVhY3QtcHJveGlhcG9ydGFsXCI7XG5cblxuXG5cblxuXG4iLAoJCSIvKipcbiAqIFNvYnJlZXNjcml0dXJhIGRlIGNpZXJ0b3MgZWxlbWVudG9zIGVuIGZ1bmNpb24gZGUgcGFyYW1ldHJpemFjaW9uZXMgZGUgcHJveGlhXG4gKiBwb3IgZGVmZWN0by5cbiAqL1xuXG4vLyBTb2JyZWVzY3JpYmUsIHZlbmRvci9ib290c3RyYXAvYm9vdHN0cmFwL192YXJpYWJsZXMgKEdseXBoaWNvbnMpXG4kaWNvbi1mb250LXBhdGg6ICcvZm9udHMvZ2x5cGhpY29ucy8nO1xuXG4vLyBTb2JyZWVzY3JpYmUsIHZlbmRvci9mb250LWF3ZXNvbWUvX3ZhcmlhYmxlcyAoRm9udGF3ZXNvbWUpXG4kZmEtZm9udC1wYXRoOiAnL2ZvbnRzL2ZvbnQtYXdlc29tZSc7XG4iLAoJCSIkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyOiBmYWxzZSAhZGVmYXVsdDtcbi8vXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy89PSBDb2xvcnNcbi8vXG4vLyMjIEdyYXkgYW5kIGJyYW5kIGNvbG9ycyBmb3IgdXNlIGFjcm9zcyBCb290c3RyYXAuXG5cbkBpbXBvcnQgXCJtaXhpbnMvYnM0LWNvbXBhdFwiO1xuXG4kZ3JheS1iYXNlOiAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRncmF5LWRhcmtlcjogICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDEzLjUlKSAhZGVmYXVsdDsgLy8gIzIyMlxuJGdyYXktZGFyazogICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgMjAlKSAhZGVmYXVsdDsgICAvLyAjMzMzXG4kZ3JheTogICAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCAzMy41JSkgIWRlZmF1bHQ7IC8vICM1NTVcbiRncmF5LWxpZ2h0OiAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDQ2LjclKSAhZGVmYXVsdDsgLy8gIzc3N1xuJGdyYXktbGlnaHRlcjogICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgOTMuNSUpICFkZWZhdWx0OyAvLyAjZWVlXG5cbiRicmFuZC1wcmltYXJ5OiAgICAgICAgIGRhcmtlbigjNDI4YmNhLCA2LjUlKSAhZGVmYXVsdDsgLy8gIzMzN2FiN1xuJGJyYW5kLXN1Y2Nlc3M6ICAgICAgICAgIzVjYjg1YyAhZGVmYXVsdDtcbiRicmFuZC1pbmZvOiAgICAgICAgICAgICM1YmMwZGUgIWRlZmF1bHQ7XG4kYnJhbmQtd2FybmluZzogICAgICAgICAjZjBhZDRlICFkZWZhdWx0O1xuJGJyYW5kLWRhbmdlcjogICAgICAgICAgI2Q5NTM0ZiAhZGVmYXVsdDtcblxuXG4vLz09IFNjYWZmb2xkaW5nXG4vL1xuLy8jIyBTZXR0aW5ncyBmb3Igc29tZSBvZiB0aGUgbW9zdCBnbG9iYWwgc3R5bGVzLlxuXG4vLyoqIEJhY2tncm91bmQgY29sb3IgZm9yIGA8Ym9keT5gLlxuJGJvZHktYmc6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogR2xvYmFsIHRleHQgY29sb3Igb24gYDxib2R5PmAuXG4kdGV4dC1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuXG4vLyoqIEdsb2JhbCB0ZXh0dWFsIGxpbmsgY29sb3IuXG4kbGluay1jb2xvcjogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogTGluayBob3ZlciBjb2xvciBzZXQgdmlhIGBkYXJrZW4oKWAgZnVuY3Rpb24uXG4kbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4vLyoqIExpbmsgaG92ZXIgZGVjb3JhdGlvbi5cbiRsaW5rLWhvdmVyLWRlY29yYXRpb246IHVuZGVybGluZSAhZGVmYXVsdDtcblxuXG4vLz09IFR5cG9ncmFwaHlcbi8vXG4vLyMjIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1zZXJpZjogICAgICAgR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmICFkZWZhdWx0O1xuLy8qKiBEZWZhdWx0IG1vbm9zcGFjZSBmb250cyBmb3IgYDxjb2RlPmAsIGA8a2JkPmAsIGFuZCBgPHByZT5gLlxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgIDE0cHggIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxhcmdlOiAgICAgICAgICgoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkpICFkZWZhdWx0OyAvLyB+MThweFxuJGZvbnQtc2l6ZS1zbWFsbDogICAgICAgICAoKCRmb250LXNpemUtYmFzZSAqIC44NSkpICFkZWZhdWx0OyAvLyB+MTJweFxuXG4kZm9udC1zaXplLWgxOiAgICAgICAgICAgICgoJGZvbnQtc2l6ZS1iYXNlICogMi42KSkgIWRlZmF1bHQ7IC8vIH4zNnB4XG4kZm9udC1zaXplLWgyOiAgICAgICAgICAgICgoJGZvbnQtc2l6ZS1iYXNlICogMi4xNSkpICFkZWZhdWx0OyAvLyB+MzBweFxuJGZvbnQtc2l6ZS1oMzogICAgICAgICAgICAoKCRmb250LXNpemUtYmFzZSAqIDEuNykpICFkZWZhdWx0OyAvLyB+MjRweFxuJGZvbnQtc2l6ZS1oNDogICAgICAgICAgICAoKCRmb250LXNpemUtYmFzZSAqIDEuMjUpKSAhZGVmYXVsdDsgLy8gfjE4cHhcbiRmb250LXNpemUtaDU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oNjogICAgICAgICAgICAoKCRmb250LXNpemUtYmFzZSAqIC44NSkpICFkZWZhdWx0OyAvLyB+MTJweFxuXG4vLyoqIFVuaXQtbGVzcyBgbGluZS1oZWlnaHRgIGZvciB1c2UgaW4gY29tcG9uZW50cyBsaWtlIGJ1dHRvbnMuXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgIDEuNDI4NTcxNDI5ICFkZWZhdWx0OyAvLyAyMC8xNFxuLy8qKiBDb21wdXRlZCBcImxpbmUtaGVpZ2h0XCIgKGBmb250LXNpemVgICogYGxpbmUtaGVpZ2h0YCkgZm9yIHVzZSB3aXRoIGBtYXJnaW5gLCBgcGFkZGluZ2AsIGV0Yy5cbiRsaW5lLWhlaWdodC1jb21wdXRlZDogICAgKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSkpICFkZWZhdWx0OyAvLyB+MjBweFxuXG4vLyoqIEJ5IGRlZmF1bHQsIHRoaXMgaW5oZXJpdHMgZnJvbSB0aGUgYDxib2R5PmAuXG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgMS4xICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuXG5cbi8vPT0gSWNvbm9ncmFwaHlcbi8vXG4vLyMjIFNwZWNpZnkgY3VzdG9tIGxvY2F0aW9uIGFuZCBmaWxlbmFtZSBvZiB0aGUgaW5jbHVkZWQgR2x5cGhpY29ucyBpY29uIGZvbnQuIFVzZWZ1bCBmb3IgdGhvc2UgaW5jbHVkaW5nIEJvb3RzdHJhcCB2aWEgQm93ZXIuXG5cbi8vKiogTG9hZCBmb250cyBmcm9tIHRoaXMgZGlyZWN0b3J5LlxuXG4vLyBbY29udmVydGVyXSBJZiAkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyIGlmIHVzZWQsIHByb3ZpZGUgcGF0aCByZWxhdGl2ZSB0byB0aGUgYXNzZXRzIGxvYWQgcGF0aC5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgYmVjYXVzZSBzb21lIGFzc2V0IGhlbHBlcnMsIHN1Y2ggYXMgU3Byb2NrZXRzLCBkbyBub3Qgd29yayB3aXRoIGZpbGUtcmVsYXRpdmUgcGF0aHMuXG4kaWNvbi1mb250LXBhdGg6IGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIFwiYm9vdHN0cmFwL1wiLCBcIi4uL2ZvbnRzL2Jvb3RzdHJhcC9cIikgIWRlZmF1bHQ7XG5cbi8vKiogRmlsZSBuYW1lIGZvciBhbGwgZm9udCBmaWxlcy5cbiRpY29uLWZvbnQtbmFtZTogICAgICAgICAgXCJnbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyXCIgIWRlZmF1bHQ7XG4vLyoqIEVsZW1lbnQgSUQgd2l0aGluIFNWRyBpY29uIGZpbGUuXG4kaWNvbi1mb250LXN2Zy1pZDogICAgICAgIFwiZ2x5cGhpY29uc19oYWxmbGluZ3NyZWd1bGFyXCIgIWRlZmF1bHQ7XG5cblxuLy89PSBDb21wb25lbnRzXG4vL1xuLy8jIyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuIFZhbHVlcyBiYXNlZCBvbiAxNHB4IHRleHQgYW5kIDEuNDI4IGxpbmUtaGVpZ2h0ICh+MjBweCB0byBzdGFydCkuXG5cbiRwYWRkaW5nLWJhc2UtdmVydGljYWw6ICAgICA2cHggIWRlZmF1bHQ7XG4kcGFkZGluZy1iYXNlLWhvcml6b250YWw6ICAgMTJweCAhZGVmYXVsdDtcblxuJHBhZGRpbmctbGFyZ2UtdmVydGljYWw6ICAgIDEwcHggIWRlZmF1bHQ7XG4kcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsOiAgMTZweCAhZGVmYXVsdDtcblxuJHBhZGRpbmctc21hbGwtdmVydGljYWw6ICAgIDVweCAhZGVmYXVsdDtcbiRwYWRkaW5nLXNtYWxsLWhvcml6b250YWw6ICAxMHB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy14cy12ZXJ0aWNhbDogICAgICAgMXB4ICFkZWZhdWx0O1xuJHBhZGRpbmcteHMtaG9yaXpvbnRhbDogICAgIDVweCAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LWxhcmdlOiAgICAgICAgIDEuMzMzMzMzMyAhZGVmYXVsdDsgLy8gZXh0cmEgZGVjaW1hbHMgZm9yIFdpbiA4LjEgQ2hyb21lXG4kbGluZS1oZWlnaHQtc21hbGw6ICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgNHB4ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgIDZweCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtYWxsOiAgICAgICAzcHggIWRlZmF1bHQ7XG5cbi8vKiogR2xvYmFsIGNvbG9yIGZvciBhY3RpdmUgaXRlbXMgKGUuZy4sIG5hdnMgb3IgZHJvcGRvd25zKS5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBHbG9iYWwgYmFja2dyb3VuZCBjb2xvciBmb3IgYWN0aXZlIGl0ZW1zIChlLmcuLCBuYXZzIG9yIGRyb3Bkb3ducykuXG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vKiogV2lkdGggb2YgdGhlIGBib3JkZXJgIGZvciBnZW5lcmF0aW5nIGNhcmV0cyB0aGF0IGluZGljYXRlIGRyb3Bkb3ducy5cbiRjYXJldC13aWR0aC1iYXNlOiAgICAgICAgICA0cHggIWRlZmF1bHQ7XG4vLyoqIENhcmV0cyBpbmNyZWFzZSBzbGlnaHRseSBpbiBzaXplIGZvciBsYXJnZXIgY29tcG9uZW50cy5cbiRjYXJldC13aWR0aC1sYXJnZTogICAgICAgICA1cHggIWRlZmF1bHQ7XG5cblxuLy89PSBUYWJsZXNcbi8vXG4vLyMjIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuLy8qKiBQYWRkaW5nIGZvciBgPHRoPmBzIGFuZCBgPHRkPmBzLlxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgICA4cHggIWRlZmF1bHQ7XG4vLyoqIFBhZGRpbmcgZm9yIGNlbGxzIGluIGAudGFibGUtY29uZGVuc2VkYC5cbiR0YWJsZS1jb25kZW5zZWQtY2VsbC1wYWRkaW5nOiAgNXB4ICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBhbGwgdGFibGVzLlxuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLXN0cmlwZWRgLlxuJHRhYmxlLWJnLWFjY2VudDogICAgICAgICAgICAgICAjZjlmOWY5ICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGAudGFibGUtaG92ZXJgLlxuJHRhYmxlLWJnLWhvdmVyOiAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHRhYmxlLWJnLWFjdGl2ZTogICAgICAgICAgICAgICAkdGFibGUtYmctaG92ZXIgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciB0YWJsZSBhbmQgY2VsbCBib3JkZXJzLlxuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT0gQnV0dG9uc1xuLy9cbi8vIyMgRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuXG4kYnRuLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG5cbiRidG4tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXByaW1hcnktYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJGJ0bi1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgICAgZGFya2VuKCRidG4tc3VjY2Vzcy1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG4kYnRuLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1pbmZvLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4td2FybmluZy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbiRidG4td2FybmluZy1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXdhcm5pbmctYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1kYW5nZXItYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sYXJnZSAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgICRib3JkZXItcmFkaXVzLXNtYWxsICFkZWZhdWx0O1xuXG5cbi8vPT0gRm9ybXNcbi8vXG4vLyMjXG5cbi8vKiogYDxpbnB1dD5gIGJhY2tncm91bmQgY29sb3JcbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIGA8aW5wdXQgZGlzYWJsZWQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG4kaW5wdXQtYmctZGlzYWJsZWQ6ICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4vLyoqIFRleHQgY29sb3IgZm9yIGA8aW5wdXQ+YHNcbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuLy8qKiBgPGlucHV0PmAgYm9yZGVyIGNvbG9yXG4kaW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBSZW5hbWUgYCRpbnB1dC1ib3JkZXItcmFkaXVzYCB0byBgJGlucHV0LWJvcmRlci1yYWRpdXMtYmFzZWAgaW4gdjRcbi8vKiogRGVmYXVsdCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuLy8gVGhpcyBoYXMgbm8gZWZmZWN0IG9uIGA8c2VsZWN0PmBzIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuLy8qKiBMYXJnZSBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgJGJvcmRlci1yYWRpdXMtbGFyZ2UgIWRlZmF1bHQ7XG4vLyoqIFNtYWxsIGAuZm9ybS1jb250cm9sYCBib3JkZXIgcmFkaXVzXG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgaW5wdXRzIG9uIGZvY3VzXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAgICAgICAgICAgICAjNjZhZmU5ICFkZWZhdWx0O1xuXG4vLyoqIFBsYWNlaG9sZGVyIHRleHQgY29sb3JcbiRpbnB1dC1jb2xvci1wbGFjZWhvbGRlcjogICAgICAgICM5OTkgIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XG4kaW5wdXQtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgICBic19hZGQoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkLCAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAqIDIpICsgMikgIWRlZmF1bHQ7XG4vLyoqIExhcmdlIGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtbGFyZ2U6ICAgICAgICAgICAgIGJzX2FkZCgoJGZvbnQtc2l6ZS1sYXJnZSAqICRsaW5lLWhlaWdodC1sYXJnZSksICgkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCAqIDIpICsgMikgIWRlZmF1bHQ7XG4vLyoqIFNtYWxsIGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtc21hbGw6ICAgICAgICAgICAgIGJzX2FkZCgoJGZvbnQtc2l6ZS1zbWFsbCAqICRsaW5lLWhlaWdodC1zbWFsbCksICgkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCAqIDIpICsgMikgIWRlZmF1bHQ7XG5cbi8vKiogYC5mb3JtLWdyb3VwYCBtYXJnaW5cbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbiRsZWdlbmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kbGVnZW5kLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZTVlNWU1ICFkZWZhdWx0O1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3IgZm9yIHRleHR1YWwgaW5wdXQgYWRkb25zXG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBCb3JkZXIgY29sb3IgZm9yIHRleHR1YWwgaW5wdXQgYWRkb25zXG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLyoqIERpc2FibGVkIGN1cnNvciBmb3IgZm9ybSBjb250cm9scyBhbmQgYnV0dG9ucy5cbiRjdXJzb3ItZGlzYWJsZWQ6ICAgICAgICAgICAgICAgIG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG5cbi8vPT0gRHJvcGRvd25zXG4vL1xuLy8jIyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbi8vKiogQmFja2dyb3VuZCBmb3IgdGhlIGRyb3Bkb3duIG1lbnUuXG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBEcm9wZG93biBtZW51IGBib3JkZXItY29sb3JgLlxuJGRyb3Bkb3duLWJvcmRlcjogICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMTUpICFkZWZhdWx0O1xuLy8qKiBEcm9wZG93biBtZW51IGBib3JkZXItY29sb3JgICoqZm9yIElFOCoqLlxuJGRyb3Bkb3duLWZhbGxiYWNrLWJvcmRlcjogICAgICAgI2NjYyAhZGVmYXVsdDtcbi8vKiogRGl2aWRlciBjb2xvciBmb3IgYmV0d2VlbiBkcm9wZG93biBpdGVtcy5cbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICNlNWU1ZTUgIWRlZmF1bHQ7XG5cbi8vKiogRHJvcGRvd24gbGluayB0ZXh0IGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbi8vKiogSG92ZXIgY29sb3IgZm9yIGRyb3Bkb3duIGxpbmtzLlxuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRncmF5LWRhcmssIDUlKSAhZGVmYXVsdDtcbi8vKiogSG92ZXIgYmFja2dyb3VuZCBmb3IgZHJvcGRvd24gbGlua3MuXG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuXG4vLyoqIEFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0gdGV4dCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8qKiBBY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtIGJhY2tncm91bmQgY29sb3IuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuLy8qKiBEaXNhYmxlZCBkcm9wZG93biBtZW51IGl0ZW0gYmFja2dyb3VuZCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyoqIFRleHQgY29sb3IgZm9yIGhlYWRlcnMgd2l0aGluIGRyb3Bkb3duIG1lbnVzLlxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogRGVwcmVjYXRlZCBgJGRyb3Bkb3duLWNhcmV0LWNvbG9yYCBhcyBvZiB2My4xLjBcbiRkcm9wZG93bi1jYXJldC1jb2xvcjogICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG5cblxuLy8tLSBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG4vL1xuLy8gTm90ZTogVGhlc2UgdmFyaWFibGVzIGFyZSBub3QgZ2VuZXJhdGVkIGludG8gdGhlIEN1c3RvbWl6ZXIuXG5cbiR6aW5kZXgtbmF2YmFyOiAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG4kemluZGV4LW5hdmJhci1maXhlZDogICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZ3JvdW5kOiAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG5cblxuLy89PSBNZWRpYSBxdWVyaWVzIGJyZWFrcG9pbnRzXG4vL1xuLy8jIyBEZWZpbmUgdGhlIGJyZWFrcG9pbnRzIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLCBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyBFeHRyYSBzbWFsbCBzY3JlZW4gLyBwaG9uZVxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXhzYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4teHM6ICAgICAgICAgICAgICAgICAgNDgwcHggIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4teHMtbWluYCBhcyBvZiB2My4yLjBcbiRzY3JlZW4teHMtbWluOiAgICAgICAgICAgICAgJHNjcmVlbi14cyAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1waG9uZWAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXBob25lOiAgICAgICAgICAgICAgICRzY3JlZW4teHMtbWluICFkZWZhdWx0O1xuXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1zbWAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXNtOiAgICAgICAgICAgICAgICAgIDc2OHB4ICFkZWZhdWx0O1xuJHNjcmVlbi1zbS1taW46ICAgICAgICAgICAgICAkc2NyZWVuLXNtICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXRhYmxldGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXRhYmxldDogICAgICAgICAgICAgICRzY3JlZW4tc20tbWluICFkZWZhdWx0O1xuXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcFxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLW1kYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbWQ6ICAgICAgICAgICAgICAgICAgOTkycHggIWRlZmF1bHQ7XG4kc2NyZWVuLW1kLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tbWQgIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tZGVza3RvcGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLWRlc2t0b3A6ICAgICAgICAgICAgICRzY3JlZW4tbWQtbWluICFkZWZhdWx0O1xuXG4vLyBMYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3Bcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1sZ2AgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLWxnOiAgICAgICAgICAgICAgICAgIDEyMDBweCAhZGVmYXVsdDtcbiRzY3JlZW4tbGctbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1sZyAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1sZy1kZXNrdG9wYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbGctZGVza3RvcDogICAgICAgICAgJHNjcmVlbi1sZy1taW4gIWRlZmF1bHQ7XG5cbi8vIFNvIG1lZGlhIHF1ZXJpZXMgZG9uJ3Qgb3ZlcmxhcCB3aGVuIHJlcXVpcmVkLCBwcm92aWRlIGEgbWF4aW11bVxuJHNjcmVlbi14cy1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1zbS1taW4gLSAxKSAhZGVmYXVsdDtcbiRzY3JlZW4tc20tbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tbWQtbWluIC0gMSkgIWRlZmF1bHQ7XG4kc2NyZWVuLW1kLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLWxnLW1pbiAtIDEpICFkZWZhdWx0O1xuXG5cbi8vPT0gR3JpZCBzeXN0ZW1cbi8vXG4vLyMjIERlZmluZSB5b3VyIGN1c3RvbSByZXNwb25zaXZlIGdyaWQuXG5cbi8vKiogTnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4vLyoqIFBhZGRpbmcgYmV0d2VlbiBjb2x1bW5zLiBHZXRzIGRpdmlkZWQgaW4gaGFsZiBmb3IgdGhlIGxlZnQgYW5kIHJpZ2h0LlxuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4vLyBOYXZiYXIgY29sbGFwc2Vcbi8vKiogUG9pbnQgYXQgd2hpY2ggdGhlIG5hdmJhciBiZWNvbWVzIHVuY29sbGFwc2VkLlxuJGdyaWQtZmxvYXQtYnJlYWtwb2ludDogICAgICRzY3JlZW4tc20tbWluICFkZWZhdWx0O1xuLy8qKiBQb2ludCBhdCB3aGljaCB0aGUgbmF2YmFyIGJlZ2lucyBjb2xsYXBzaW5nLlxuJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXg6ICgkZ3JpZC1mbG9hdC1icmVha3BvaW50IC0gMSkgIWRlZmF1bHQ7XG5cblxuLy89PSBDb250YWluZXIgc2l6ZXNcbi8vXG4vLyMjIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIFNtYWxsIHNjcmVlbiAvIHRhYmxldFxuJGNvbnRhaW5lci10YWJsZXQ6ICAgICAgICAgICAgICg3MjBweCArICRncmlkLWd1dHRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1zbS1taW5gIGFuZCB1cC5cbiRjb250YWluZXItc206ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLXRhYmxldCAhZGVmYXVsdDtcblxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3BcbiRjb250YWluZXItZGVza3RvcDogICAgICAgICAgICAoOTQwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xuLy8qKiBGb3IgYCRzY3JlZW4tbWQtbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLW1kOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1kZXNrdG9wICFkZWZhdWx0O1xuXG4vLyBMYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3BcbiRjb250YWluZXItbGFyZ2UtZGVza3RvcDogICAgICAoMTE0MHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vKiogRm9yIGAkc2NyZWVuLWxnLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1sZzogICAgICAgICAgICAgICAgICRjb250YWluZXItbGFyZ2UtZGVza3RvcCAhZGVmYXVsdDtcblxuXG4vLz09IE5hdmJhclxuLy9cbi8vIyNcblxuLy8gQmFzaWNzIG9mIGEgbmF2YmFyXG4kbmF2YmFyLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICRsaW5lLWhlaWdodC1jb21wdXRlZCAhZGVmYXVsdDtcbiRuYXZiYXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgZmxvb3IoKCRncmlkLWd1dHRlci13aWR0aCAvIDIpKSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgYnNfc3VidHJhY3QoJG5hdmJhci1oZWlnaHQvMiwkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKSAhZGVmYXVsdDtcbiRuYXZiYXItY29sbGFwc2UtbWF4LWhlaWdodDogICAgICAgMzQwcHggIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgIzc3NyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgI2Y4ZjhmOCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1iZywgNi41JSkgIWRlZmF1bHQ7XG5cbi8vIE5hdmJhciBsaW5rc1xuJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICM3NzcgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAjNTU1ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWRlZmF1bHQtYmcsIDYuNSUpICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICNjY2MgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1iZzogICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIE5hdmJhciBicmFuZCBsYWJlbFxuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbigkbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3IsIDEwJSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItYmc6ICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIE5hdmJhciB0b2dnbGVcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtaG92ZXItYmc6ICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1pY29uLWJhci1iZzogICAgICAgICM4ODggIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWJvcmRlci1jb2xvcjogICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLz09PSBJbnZlcnRlZCBuYXZiYXJcbi8vIFJlc2V0IGludmVydGVkIG5hdmJhciBiYXNpY3NcbiRuYXZiYXItaW52ZXJzZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1saWdodCwgMTUlKSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1iZzogICAgICAgICAgICAgICAgICAgICAgICAgIzIyMiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItaW52ZXJzZS1iZywgMTAlKSAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGxpbmtzXG4kbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjogICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktbGlnaHQsIDE1JSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItaW52ZXJzZS1iZywgMTAlKSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgIzQ0NCAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWJnOiAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciBicmFuZCBsYWJlbFxuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAkbmF2YmFyLWludmVyc2UtbGluay1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciB0b2dnbGVcbiRuYXZiYXItaW52ZXJzZS10b2dnbGUtaG92ZXItYmc6ICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS10b2dnbGUtaWNvbi1iYXItYmc6ICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgIzMzMyAhZGVmYXVsdDtcblxuXG4vLz09IE5hdnNcbi8vXG4vLyMjXG5cbi8vPT09IFNoYXJlZCBuYXYgc3R5bGVzXG4kbmF2LWxpbmstcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggMTVweCAhZGVmYXVsdDtcbiRuYXYtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRuYXYtZGlzYWJsZWQtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vPT0gVGFic1xuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAjZGRkICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtanVzdGlmaWVkLWFjdGl2ZS1saW5rLWJvcmRlci1jb2xvcjogICAgICRib2R5LWJnICFkZWZhdWx0O1xuXG4vLz09IFBpbGxzXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vLz09IFBhZ2luYXRpb25cbi8vXG4vLyMjXG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjogICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXI6ICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFnZXJcbi8vXG4vLyMjXG5cbiRwYWdlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWJnICFkZWZhdWx0O1xuJHBhZ2VyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYm9yZGVyICFkZWZhdWx0O1xuJHBhZ2VyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcblxuJHBhZ2VyLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24taG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwYWdlci1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdlci1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuJHBhZ2VyLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy89PSBKdW1ib3Ryb25cbi8vXG4vLyMjXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kanVtYm90cm9uLWNvbG9yOiAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRqdW1ib3Ryb24taGVhZGluZy1jb2xvcjogICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWZvbnQtc2l6ZTogICAgICAgICAgICAoKCRmb250LXNpemUtYmFzZSAqIDEuNSkpICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1oZWFkaW5nLWZvbnQtc2l6ZTogICAgKCgkZm9udC1zaXplLWJhc2UgKiA0LjUpKSAhZGVmYXVsdDtcblxuXG4vLz09IEZvcm0gc3RhdGVzIGFuZCBhbGVydHNcbi8vXG4vLyMjIERlZmluZSBjb2xvcnMgZm9yIGZvcm0gZmVlZGJhY2sgc3RhdGVzIGFuZCwgYnkgZGVmYXVsdCwgYWxlcnRzLlxuXG4kc3RhdGUtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAgICAjM2M3NjNkICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgI2RmZjBkOCAhZGVmYXVsdDtcbiRzdGF0ZS1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1zdWNjZXNzLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1pbmZvLXRleHQ6ICAgICAgICAgICAgICAgICMzMTcwOGYgIWRlZmF1bHQ7XG4kc3RhdGUtaW5mby1iZzogICAgICAgICAgICAgICAgICAjZDllZGY3ICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLWluZm8tYmcsIC0xMCksIDclKSAhZGVmYXVsdDtcblxuJHN0YXRlLXdhcm5pbmctdGV4dDogICAgICAgICAgICAgIzhhNmQzYiAhZGVmYXVsdDtcbiRzdGF0ZS13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICNmY2Y4ZTMgIWRlZmF1bHQ7XG4kc3RhdGUtd2FybmluZy1ib3JkZXI6ICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtd2FybmluZy1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG4kc3RhdGUtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAgICAjYTk0NDQyICFkZWZhdWx0O1xuJHN0YXRlLWRhbmdlci1iZzogICAgICAgICAgICAgICAgI2YyZGVkZSAhZGVmYXVsdDtcbiRzdGF0ZS1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1kYW5nZXItYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuXG4vLz09IFRvb2x0aXBzXG4vL1xuLy8jI1xuXG4vLyoqIFRvb2x0aXAgbWF4IHdpZHRoXG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbi8vKiogVG9vbHRpcCB0ZXh0IGNvbG9yXG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBUb29sdGlwIGJhY2tncm91bmQgY29sb3JcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcblxuLy8qKiBUb29sdGlwIGFycm93IHdpZHRoXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICA1cHggIWRlZmF1bHQ7XG4vLyoqIFRvb2x0aXAgYXJyb3cgY29sb3JcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG5cbi8vPT0gUG9wb3ZlcnNcbi8vXG4vLyMjXG5cbi8vKiogUG9wb3ZlciBib2R5IGJhY2tncm91bmQgY29sb3JcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBtYXhpbXVtIHdpZHRoXG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGJvcmRlciBjb2xvclxuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4yKSAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBmYWxsYmFjayBib3JkZXIgY29sb3JcbiRwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvcjogICAgICAgI2NjYyAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIHRpdGxlIGJhY2tncm91bmQgY29sb3JcbiRwb3BvdmVyLXRpdGxlLWJnOiAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciBhcnJvdyB3aWR0aFxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGFycm93IGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgd2lkdGhcbiRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoOiAgICAgICAgICAgKCRwb3BvdmVyLWFycm93LXdpZHRoICsgMSkgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgY29sb3JcbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgICAgZmFkZV9pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIDAuMDUpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IGZhbGxiYWNrIGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjogIGRhcmtlbigkcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3IsIDIwJSkgIWRlZmF1bHQ7XG5cblxuLy89PSBMYWJlbHNcbi8vXG4vLyMjXG5cbi8vKiogRGVmYXVsdCBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtZGVmYXVsdC1iZzogICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogUHJpbWFyeSBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtcHJpbWFyeS1iZzogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogU3VjY2VzcyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtc3VjY2Vzcy1iZzogICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbi8vKiogSW5mbyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtaW5mby1iZzogICAgICAgICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbi8vKiogV2FybmluZyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtd2FybmluZy1iZzogICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbi8vKiogRGFuZ2VyIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1kYW5nZXItYmc6ICAgICAgICAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBsYWJlbCB0ZXh0IGNvbG9yXG4kbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBEZWZhdWx0IHRleHQgY29sb3Igb2YgYSBsaW5rZWQgbGFiZWxcbiRsYWJlbC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICNmZmYgIWRlZmF1bHQ7XG5cblxuLy89PSBNb2RhbHNcbi8vXG4vLyMjXG5cbi8vKiogUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4vLyoqIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgdGl0bGVcbiRtb2RhbC10aXRsZS1wYWRkaW5nOiAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIHRpdGxlIGxpbmUtaGVpZ2h0XG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIGNvbnRlbnQgYXJlYVxuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBjb250ZW50IGJvcmRlciBjb2xvclxuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4yKSAhZGVmYXVsdDtcbi8vKiogTW9kYWwgY29udGVudCBib3JkZXIgY29sb3IgKipmb3IgSUU4KipcbiRtb2RhbC1jb250ZW50LWZhbGxiYWNrLWJvcmRlci1jb2xvcjogICAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuLy8qKiBNb2RhbCBiYWNrZHJvcCBiYWNrZ3JvdW5kIGNvbG9yXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBiYWNrZHJvcCBvcGFjaXR5XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAuNSAhZGVmYXVsdDtcbi8vKiogTW9kYWwgaGVhZGVyIGJvcmRlciBjb2xvclxuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgI2U1ZTVlNSAhZGVmYXVsdDtcbi8vKiogTW9kYWwgZm9vdGVyIGJvcmRlciBjb2xvclxuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgIDkwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgNjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuXG4vLz09IEFsZXJ0c1xuLy9cbi8vIyMgRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nOiAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgYm9sZCAhZGVmYXVsdDtcblxuJGFsZXJ0LXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYmcgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtaW5mby1iZzogICAgICAgICAgICAgICAkc3RhdGUtaW5mby1iZyAhZGVmYXVsdDtcbiRhbGVydC1pbmZvLXRleHQ6ICAgICAgICAgICAgICRzdGF0ZS1pbmZvLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtaW5mby1ib3JkZXI6ICAgICAgICAgICAkc3RhdGUtaW5mby1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC13YXJuaW5nLWJnOiAgICAgICAgICAgICRzdGF0ZS13YXJuaW5nLWJnICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctdGV4dDogICAgICAgICAgJHN0YXRlLXdhcm5pbmctdGV4dCAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWJvcmRlcjogICAgICAgICRzdGF0ZS13YXJuaW5nLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LWRhbmdlci1iZzogICAgICAgICAgICAgJHN0YXRlLWRhbmdlci1iZyAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItdGV4dDogICAgICAgICAgICRzdGF0ZS1kYW5nZXItdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItYm9yZGVyOiAgICAgICAgICRzdGF0ZS1kYW5nZXItYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8vPT0gUHJvZ3Jlc3MgYmFyc1xuLy9cbi8vIyNcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSB3aG9sZSBwcm9ncmVzcyBjb21wb25lbnRcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4vLyoqIFByb2dyZXNzIGJhciB0ZXh0IGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBWYXJpYWJsZSBmb3Igc2V0dGluZyByb3VuZGVkIGNvcm5lcnMgb24gcHJvZ3Jlc3MgYmFyLlxuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIFN1Y2Nlc3MgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLXN1Y2Nlc3MtYmc6ICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbi8vKiogV2FybmluZyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItd2FybmluZy1iZzogICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuLy8qKiBEYW5nZXIgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWRhbmdlci1iZzogICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuLy8qKiBJbmZvIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1pbmZvLWJnOiAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG5cblxuLy89PSBMaXN0IGdyb3VwXG4vL1xuLy8jI1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb24gYC5saXN0LWdyb3VwLWl0ZW1gXG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIGAubGlzdC1ncm91cC1pdGVtYCBib3JkZXIgY29sb3JcbiRsaXN0LWdyb3VwLWJvcmRlcjogICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbi8vKiogTGlzdCBncm91cCBib3JkZXIgcmFkaXVzXG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBzaW5nbGUgbGlzdCBpdGVtcyBvbiBob3ZlclxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuLy8qKiBCb3JkZXIgY29sb3Igb2YgYWN0aXZlIGxpc3QgZWxlbWVudHNcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXI6ICAgICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIGZvciBjb250ZW50IHdpdGhpbiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLXRleHQtY29sb3I6ICBsaWdodGVuKCRsaXN0LWdyb3VwLWFjdGl2ZS1iZywgNDAlKSAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIG9mIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3IgZm9yIGNvbnRlbnQgd2l0aGluIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLXRleHQtY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1saW5rLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1saW5rLWhvdmVyLWNvbG9yOiAgICRsaXN0LWdyb3VwLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1saW5rLWhlYWRpbmctY29sb3I6ICMzMzMgIWRlZmF1bHQ7XG5cblxuLy89PSBQYW5lbHNcbi8vXG4vLyMjXG5cbiRwYW5lbC1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFuZWwtYm9keS1wYWRkaW5nOiAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJHBhbmVsLWhlYWRpbmctcGFkZGluZzogICAgICAgMTBweCAxNXB4ICFkZWZhdWx0O1xuJHBhbmVsLWZvb3Rlci1wYWRkaW5nOiAgICAgICAgJHBhbmVsLWhlYWRpbmctcGFkZGluZyAhZGVmYXVsdDtcbiRwYW5lbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciBlbGVtZW50cyB3aXRoaW4gcGFuZWxzXG4kcGFuZWwtaW5uZXItYm9yZGVyOiAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuJHBhbmVsLWZvb3Rlci1iZzogICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcblxuJHBhbmVsLWRlZmF1bHQtdGV4dDogICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRwYW5lbC1kZWZhdWx0LWJvcmRlcjogICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kcGFuZWwtZGVmYXVsdC1oZWFkaW5nLWJnOiAgICAjZjVmNWY1ICFkZWZhdWx0O1xuXG4kcGFuZWwtcHJpbWFyeS10ZXh0OiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhbmVsLXByaW1hcnktYm9yZGVyOiAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kcGFuZWwtcHJpbWFyeS1oZWFkaW5nLWJnOiAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJHBhbmVsLXN1Y2Nlc3MtdGV4dDogICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1zdWNjZXNzLWJvcmRlcjogICAgICAgICRzdGF0ZS1zdWNjZXNzLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1zdWNjZXNzLWhlYWRpbmctYmc6ICAgICRzdGF0ZS1zdWNjZXNzLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtaW5mby10ZXh0OiAgICAgICAgICAgICAkc3RhdGUtaW5mby10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLWluZm8tYm9yZGVyOiAgICAgICAgICAgJHN0YXRlLWluZm8tYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLWluZm8taGVhZGluZy1iZzogICAgICAgJHN0YXRlLWluZm8tYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC13YXJuaW5nLXRleHQ6ICAgICAgICAgICRzdGF0ZS13YXJuaW5nLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtd2FybmluZy1ib3JkZXI6ICAgICAgICAkc3RhdGUtd2FybmluZy1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtd2FybmluZy1oZWFkaW5nLWJnOiAgICAkc3RhdGUtd2FybmluZy1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLWRhbmdlci10ZXh0OiAgICAgICAgICAgJHN0YXRlLWRhbmdlci10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLWRhbmdlci1ib3JkZXI6ICAgICAgICAgJHN0YXRlLWRhbmdlci1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtZGFuZ2VyLWhlYWRpbmctYmc6ICAgICAkc3RhdGUtZGFuZ2VyLWJnICFkZWZhdWx0O1xuXG5cbi8vPT0gVGh1bWJuYWlsc1xuLy9cbi8vIyNcblxuLy8qKiBQYWRkaW5nIGFyb3VuZCB0aGUgdGh1bWJuYWlsIGltYWdlXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICA0cHggIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBiYWNrZ3JvdW5kIGNvbG9yXG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbi8vKiogVGh1bWJuYWlsIGJvcmRlciBjb2xvclxuJHRodW1ibmFpbC1ib3JkZXI6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbi8vKiogVGh1bWJuYWlsIGJvcmRlciByYWRpdXNcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQ3VzdG9tIHRleHQgY29sb3IgZm9yIHRodW1ibmFpbCBjYXB0aW9uc1xuJHRodW1ibmFpbC1jYXB0aW9uLWNvbG9yOiAgICAgJHRleHQtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgY2FwdGlvblxuJHRodW1ibmFpbC1jYXB0aW9uLXBhZGRpbmc6ICAgOXB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gV2VsbHNcbi8vXG4vLyMjXG5cbiR3ZWxsLWJnOiAgICAgICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4kd2VsbC1ib3JkZXI6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHdlbGwtYmcsIDclKSAhZGVmYXVsdDtcblxuXG4vLz09IEJhZGdlc1xuLy9cbi8vIyNcblxuJGJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogTGlua2VkIGJhZGdlIHRleHQgY29sb3Igb24gaG92ZXJcbiRiYWRnZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYmFkZ2UtYmc6ICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBCYWRnZSB0ZXh0IGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xuJGJhZGdlLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEJhZGdlIGJhY2tncm91bmQgY29sb3IgaW4gYWN0aXZlIG5hdiBsaW5rXG4kYmFkZ2UtYWN0aXZlLWJnOiAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJGJhZGdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgMSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBCcmVhZGNydW1ic1xuLy9cbi8vIyNcblxuJGJyZWFkY3J1bWItcGFkZGluZy12ZXJ0aWNhbDogICA4cHggIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4vLyoqIEJyZWFkY3J1bWIgYmFja2dyb3VuZCBjb2xvclxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuLy8qKiBCcmVhZGNydW1iIHRleHQgY29sb3JcbiRicmVhZGNydW1iLWNvbG9yOiAgICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBvZiBjdXJyZW50IHBhZ2UgaW4gdGhlIGJyZWFkY3J1bWJcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIFRleHR1YWwgc2VwYXJhdG9yIGZvciBiZXR3ZWVuIGJyZWFkY3J1bWIgZWxlbWVudHNcbiRicmVhZGNydW1iLXNlcGFyYXRvcjogICAgICAgICAgXCIvXCIgIWRlZmF1bHQ7XG5cblxuLy89PSBDYXJvdXNlbFxuLy9cbi8vIyNcblxuJGNhcm91c2VsLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIC42KSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG5cbi8vPT0gQ2xvc2Vcbi8vXG4vLyMjXG5cbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgMCAxcHggMCAjZmZmICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29kZVxuLy9cbi8vIyNcblxuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgI2M3MjU0ZSAhZGVmYXVsdDtcbiRjb2RlLWJnOiAgICAgICAgICAgICAgICAgICAgICNmOWYyZjQgIWRlZmF1bHQ7XG5cbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuXG4kcHJlLWJnOiAgICAgICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRwcmUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAzNDBweCAhZGVmYXVsdDtcblxuXG4vLz09IFR5cGVcbi8vXG4vLyMjXG5cbi8vKiogSG9yaXpvbnRhbCBvZmZzZXQgZm9yIGZvcm1zIGFuZCBsaXN0cy5cbiRjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWw6IDE4MHB4ICFkZWZhdWx0O1xuLy8qKiBUZXh0IG11dGVkIGNvbG9yXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQWJicmV2aWF0aW9ucyBhbmQgYWNyb255bXMgYm9yZGVyIGNvbG9yXG4kYWJici1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogSGVhZGluZ3Mgc21hbGwgY29sb3JcbiRoZWFkaW5ncy1zbWFsbC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBCbG9ja3F1b3RlIHNtYWxsIGNvbG9yXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBmb250IHNpemVcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBib3JkZXIgY29sb3JcbiRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFBhZ2UgaGVhZGVyIGJvcmRlciBjb2xvclxuJHBhZ2UtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogV2lkdGggb2YgaG9yaXpvbnRhbCBkZXNjcmlwdGlvbiBsaXN0IHRpdGxlc1xuJGRsLWhvcml6b250YWwtb2Zmc2V0OiAgICAgICAgJGNvbXBvbmVudC1vZmZzZXQtaG9yaXpvbnRhbCAhZGVmYXVsdDtcbi8vKiogUG9pbnQgYXQgd2hpY2ggLmRsLWhvcml6b250YWwgYmVjb21lcyBob3Jpem9udGFsXG4kZGwtaG9yaXpvbnRhbC1icmVha3BvaW50OiAgICAkZ3JpZC1mbG9hdC1icmVha3BvaW50ICFkZWZhdWx0O1xuLy8qKiBIb3Jpem9udGFsIGxpbmUgY29sb3IuXG4kaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuIiwKCQkiXG4vLyBSZXR1cm4gdmFsaWQgY2FsYyAoY29waWFkbyBkZSBCUzQsIHRhbCBjdWFsKVxuQGZ1bmN0aW9uIGJzX2FkZCgkdmFsdWUxLCAkdmFsdWUyLCAkcmV0dXJuLWNhbGM6IHRydWUpIHtcbiAgQGlmICR2YWx1ZTEgPT0gbnVsbCB7XG4gICAgQHJldHVybiAkdmFsdWUyO1xuICB9XG5cbiAgQGlmICR2YWx1ZTIgPT0gbnVsbCB7XG4gICAgQHJldHVybiAkdmFsdWUxO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHZhbHVlMSkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCR2YWx1ZTIpID09IG51bWJlciBhbmQgY29tcGFyYWJsZSgkdmFsdWUxLCAkdmFsdWUyKSB7XG4gICAgQHJldHVybiAkdmFsdWUxICsgJHZhbHVlMjtcbiAgfVxuXG4gIEByZXR1cm4gaWYoJHJldHVybi1jYWxjID09IHRydWUsIGNhbGMoI3skdmFsdWUxfSArICN7JHZhbHVlMn0pLCAkdmFsdWUxICsgdW5xdW90ZShcIiArIFwiKSArICR2YWx1ZTIpO1xufVxuXG5AZnVuY3Rpb24gYnNfc3VidHJhY3QoJHZhbHVlMSwgJHZhbHVlMiwgJHJldHVybi1jYWxjOiB0cnVlKSB7XG4gIEBpZiAkdmFsdWUxID09IG51bGwgYW5kICR2YWx1ZTIgPT0gbnVsbCB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgQGlmICR2YWx1ZTEgPT0gbnVsbCB7XG4gICAgQHJldHVybiAtJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTEpID09IG51bWJlciBhbmQgdHlwZS1vZigkdmFsdWUyKSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHZhbHVlMSwgJHZhbHVlMikge1xuICAgIEByZXR1cm4gJHZhbHVlMSAtICR2YWx1ZTI7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRyZXR1cm4tY2FsYyA9PSB0cnVlLCBjYWxjKCN7JHZhbHVlMX0gLSAjeyR2YWx1ZTJ9KSwgJHZhbHVlMSArIHVucXVvdGUoXCIgLSBcIikgKyAkdmFsdWUyKTtcbn1cbiIsCgkJIi8qKlxuICogVmFyaWFibGVzIHByZWRlZmluaWRhcyBkZSBQcm94aWEgcGFyYSBsYSBtYXF1ZXRhY2nDs24gZGUgZGF0b3NcbiAqL1xuXG4vLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuLy8vIEF0YWpvIGRlIGxvcyBjb3J0ZXMgZGUgZXNjZW5hcmlvcyAoUGhvbmUpIC5cbi8vLyBAZXhhbXBsZVxuLy8vICAgQG1lZGlhICN7JHRhYmxldH17Li4ufVxuJHBob25lOiAgICAgICAgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpOyBcblxuLy8vIEF0YWpvIGRlIGxvcyBjb3J0ZXMgZGUgZXNjZW5hcmlvcyAoVGFibGV0KS4gXG4vLy8gQGV4YW1wbGVcbi8vLyAgIEBtZWRpYSAjeyR0YWJsZXR9ey4uLn1cbiR0YWJsZXQ6ICAgICAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCk7XG5cbi8vLyBBdGFqbyBkZSBsb3MgY29ydGVzIGRlIGVzY2VuYXJpb3MgKERlc2t0b3ApLiBcbi8vLyBAZXhhbXBsZVxuLy8vICAgQG1lZGlhICN7JHRhYmxldH17Li4ufVxuJGRlc2t0b3A6ICAgIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KTtcblxuLy8vIEF0YWpvIGRlIGxvcyBjb3J0ZXMgZGUgZXNjZW5hcmlvcyAoRGVza3RvcC1MZykuIFxuLy8vIEBleGFtcGxlXG4vLy8gICBAbWVkaWEgI3skdGFibGV0fXsuLi59XG4kZGVza3RvcExnOiAgICAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbik7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIHJhbWEgZGUgY29sb3IgZ3Jpc1xuLy8vIEB0eXBlIENvbG9yXG4kYnJhbmQtZ3JheTogICAgICAjZjJmMmYyIWRlZmF1bHQ7XG5cbi8vJGJyYW5kLXByaW1hcnk6ICAgIzMwNDM4MSAhZGVmYXVsdDsgLy8gZGVmaW5pZG8gdmFyIHRoZW1lXG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIHJhbWEgZGUgY29sb3JlcyBzZWN1bmRhcmlhXG4vLy8gQHR5cGUgQ29sb3JcbiRicmFuZC1zZWNvbmRhcnk6ICNmZjQyMDAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgcmFtYSBkZSBjb2xvcmVzIHRlcmNpYXJpYVxuLy8vIEB0eXBlIENvbG9yXG4kYnJhbmQtdGVydGlhcnk6ICAjZmZlNTAwICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZSBlcnJvciBkZSBsb3MgZm9ybXVsYXJpb3MgXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWVycm9yLWNvbG9yOiAjZmZmZmZmICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCBmb25kbyBkZSBlcnJvciBkZSBsb3MgZm9ybXVsYXJpb3Ncbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tZXJyb3ItYmc6ICAgICNlZTAwMDAgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGZ1ZW50ZSBleHRyYSBwZXF1ZcOxYVxuLy8vIEB0eXBlIE51bWJlclxuJGZvbnQtc2l6ZS1zbWFsbGVyOiAgICAgICAgICAgICAgICAoKCRmb250LXNpemUtYmFzZSAqIDAuNzUpKSAhZGVmYXVsdDtcbiRmb250LXNpemUtbGFyZ2VzdDogICAgICAgICAgICAgICAgKCgkZm9udC1zaXplLWJhc2UgKiAxLjUpKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGVsIGJvdMOzbiBzZWN1bmRhcmlvIFxuLy8vIEB0eXBlIENvbG9yXG4kYnRuLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGZvbmRvIGRlbCBib3TDs24gc2VjdW5kYXJpb1xuLy8vIEB0eXBlIENvbG9yXG4kYnRuLXNlY29uZGFyeS1iZzogICAgICAgICAgICAgICAgICRicmFuZC1zZWNvbmRhcnkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGJvcmRlIGRlbCBib3TDs24gc2VjdW5kYXJpb1xuLy8vIEB0eXBlIENvbG9yXG4kYnRuLXNlY29uZGFyeS1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXNlY29uZGFyeS1iZywgNSUpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZWwgYm90w7NuIHRlcmNpYXJpb1xuLy8vIEB0eXBlIENvbG9yXG4kYnRuLXRlcnRpYXJ5LWNvbG9yOiAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgZm9uZG8gZGVsIGJvdMOzbiB0ZXJjaWFyaW9cbi8vLyBAdHlwZSBDb2xvclxuJGJ0bi10ZXJ0aWFyeS1iZzogICAgICAgICAgICAgICAgICRicmFuZC10ZXJ0aWFyeSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgYm9yZGUgZGVsIGJvdMOzbiB0ZXJjaWFyaW9cbi8vLyBAdHlwZSBDb2xvclxuJGJ0bi10ZXJ0aWFyeS1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXRlcnRpYXJ5LWJnLCA1JSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCBib3TDs24gZ3Jpc1xuLy8vIEB0eXBlIENvbG9yXG4kYnRuLWdyYXktY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCBmb25kbyBkZWwgYm90w7NuIGdyaXNcbi8vLyBAdHlwZSBDb2xvclxuJGJ0bi1ncmF5LWJnOiAgICAgICAgICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGJvcmRlIGRlbCBib3TDs24gZ3Jpc1xuLy8vIEB0eXBlIENvbG9yXG4kYnRuLWdyYXktYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1ncmF5LWJnLCA1JSkgIWRlZmF1bHQ7XG5cblxuXG4vLy8gTWFyZ2VuIHF1ZSB0ZW5lbW9zIGVudHJlIGRpc3RpbnRvcyBlbGVtZW50b3MgZGVsIHNpc3RlbWFcbi8vLyBAdHlwZSBOdW1iZXJcbiRoYWxmR3V0dGVyOiBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2VuIHF1ZSB0ZW5lbW9zIGVudHJlIGRpc3RpbnRvcyBlbGVtZW50b3MgZGVsIHNpc3RlbWFcbi8vLyBAdHlwZSBOdW1iZXJcbiRzcGFjZS1ndXR0ZXI6JGhhbGZHdXR0ZXIgIWRlZmF1bHQ7XG5cbi8vLyBFc3BhY2lhZG8gbcOtbmltbyBlbnRyZSBlbGVtZW50b3MgcXVlIHJlcHJlc2VudGFtb3MgZW4gbW9kbyBpbmxpbmUtYmxvY2tcbi8vLyBAdHlwZSBOdW1iZXJcbiRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZzogNnB4ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCBib3JkZSBxdWUgc2VwYXJhIGRpc3RpbnRvcyBlbGVtZW50b3MgZGVsIHNpc3RlbWFcbi8vLyBAdHlwZSBDb2xvclxuJHNlcGFyYXRpb24tYm9yZGVyLWNvbG9yOiAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4vLy8gU2FuZ3JpYSBkZWwgbWFyZ2VuIFxuLy8vIEB0eXBlIE51bWJlclxuJGluZGVudC1tYXJnaW46IGZsb29yKCgkZ3JpZC1ndXR0ZXItd2lkdGggKiA0KSAvIDMpICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2VuIGhvcml6b250YWwgZGUgbGEgaW1hZ2VuIGRlIHVuIGNvbnRlbmlkb1xuLy8vIEB0eXBlIE51bWJlclxuJGltYWdlLW1hcmdpbi1ob3Jpem9udGFsOiAkaGFsZkd1dHRlciAhZGVmYXVsdDtcblxuLy8vIE1hcmdlbiB2ZXJ0aWNhbCBkZSBsYSBpbWFnZW4gZGUgdW4gY29udGVuaWRvXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW1hZ2UtbWFyZ2luLXZlcnRpY2FsOiBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoICogMikgLyAzKSAhZGVmYXVsdDtcblxuLy8vIEFuY2hvIGRlIGxhIGltYWdlbiBlbiBsYSBwbGFudGlsbGEgZGUgbGlzdGFkbyBjb24gaW1hZ2VuIGFsaW5lYWRhIGEgbGEgaXpkYSBvIGRjaGFcbi8vLyBAdHlwZSBOdW1iZXJcbiRodG1sbGlzdGltYWdlLXdpZHRoOiAyNSUgIWRlZmF1bHQ7IFxuXG4vLy8gRXNwYWNpYWRvIGVudHJlIGxhIGltYWdlbiB5IGVsIHRleHRvIGVuIGxhIHBsYW50aWxsYSBkZSBsaXN0YWRvIGNvbiBpbWFnZW4gYWxpbmVhZGEgYSBsYSBpemRhIG8gZGNoYVxuLy8vIEB0eXBlIE51bWJlclxuJGh0bWxsaXN0aW1hZ2UtZ3V0dGVyOiAkaGFsZkd1dHRlciAhZGVmYXVsdDsgXG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGZvbmRvIGRlIGxhcyBjb29raWVzXG4vLy8gQHR5cGUgQ29sb3JcbiRjb29raWVzLWJnLWNvbG9yOiAgICByZ2JhKCRidG4tcHJpbWFyeS1iZyAsIDAuODUpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZSBsYXMgY29va2llc1xuLy8vIEB0eXBlIENvbG9yXG4kY29va2llcy10ZXh0LWNvbG9yOiAgcmdiYSgkYnRuLXByaW1hcnktY29sb3IsIDAuOCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGZvbmRvIGRlbCBib3RvbiBkZSBsYXMgY29va2llc1xuLy8vIEB0eXBlIENvbG9yXG4kY29va2llcy1idG4tYmctY29sb3I6IGxpZ2h0ZW4oJGNvb2tpZXMtYmctY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCBib3RvbiBkZSBsYXMgY29va2llc1xuLy8vIEB0eXBlIENvbG9yXG4kY29va2llcy1idG4tdGV4dC1jb2xvcjogJGJ0bi1wcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCBmb25kbyBkZWwgU2xpZGVyXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItY29udHJvbC1iZzogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGVsIFNsaWRlclxuLy8vIEB0eXBlIENvbG9yXG4kc2xpZGVyLWNvbnRyb2wtY29sb3I6ICAgICAgICAjRkZGICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyB1c2FkbyBwYXJhIGxvcyBkb3RzIGRlIG5hdmVnYWNpw7NuIGRlbCBTbGlkZXJcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItY29udHJvbC1kb3RTbWFsbDogICAgMjBweCAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gdXNhZG8gcGFyYSBlbCBjb250ZW5lZG9yIGRlIGxvcyBkb3RzIGRlIG5hdmVnYWNpb24gZGVsIFNsaWRlclxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1jb250cm9sLWRvdDogICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyB1c2FkbyBwYXJhIGxhcyBmbGVjaGFzIGRlIG5hdmVnYWNpw7NuIGRlbCBTbGlkZXJcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItYXJyb3dzLXNpemU6ICAgICAgICAzMHB4ICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBncmFuZGUgcGFyYSBsYXMgZmxlY2hhcyBkZSBuYXZlZ2FjacOzbiBkZWwgU2xpZGVyXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWJpZy1hcnJvd3Mtc2l6ZTogICAgJHNsaWRlci1hcnJvd3Mtc2l6ZSAqIDIgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCBTbGlkZXJcbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci10ZXh0LWNvbG9yOiAgICAgICAgICAgICNGRkYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGZvbmRvIGRlIGxhcyBmbGVjaGFzIGRlIG5hdmVnYWNpw7NuIGRlbCBTbGlkZXJcbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1hcnJvd3MtYmc6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGFzIGZsZWNoYXMgZGUgbmF2ZWdhY2nDs24gZGVsIFNsaWRlclxuLy8vIEB0eXBlIENvbG9yXG4kc2xpZGVyLWFycm93cy1jb2xvcjogICAgICAgIHJnYmEoMjIwLCAyMTYsIDIxNiwgMC44OCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGZvbmRvIGRlbCBib3TDs24gU2Nyb2xsIHRvIFRvcCBcbi8vLyBAdHlwZSBDb2xvclxuJHRvLXRvcC1iZy1jb2xvcjogIzAwMCAgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGljb25vIGRlbCBib3TDs24gU2Nyb2xsIHRvIFRvcFxuLy8vIEB0eXBlIENvbG9yXG4kdG8tdG9wLWljb24tY29sb3I6ICNGRkYgICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZWwgYm9yZGVyLXJhZGlvdXMgZGVsIGJvdMOzbiBTY3JvbGwgdG8gVG9wXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG8tdG9wLWItcmFkaXVzOiA1MCUgICFkZWZhdWx0O1xuXG4vLy8gQm9yZGUgZGVsIGJvdMOzbiBTY3JvbGwgdG8gVG9wXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG8tdG9wLWJvcmRlcjogMXB4IHNvbGlkICMwMDAgICFkZWZhdWx0O1xuXG4vLy8gSGFiaWxpdGEgbGEgYW5pbWFjacOzbiBkZWwgYm90w7NuIFNjcm9sbCB0byBUb3Bcbi8vLyBAdHlwZSBib29sXG4kdG8tdG9wLWFuaW1hdGlvbi1yb3RhdGUtZW5hYmxlZDogdHJ1ZSAgIWRlZmF1bHQ7XG5cbi8vLyBEYXRvcyBiw6FzaWNvcyBxdWUgc29uIGNvbXBhcnRpZG9zIHBvciB0b2RvcyBsb3MgbGlzdGFkb3MsIHBlcm8gcXVlIGNvbnZpZW5lIGluZGljYXIgYXF1aS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb250ZW50TGlzdEljb25Gb250RmFtaWx5OiAnJyAhZGVmYXVsdDtcblxuLy8vIERhdG9zIGLDoXNpY29zIHF1ZSBzb24gY29tcGFydGlkb3MgcG9yIHRvZG9zIGxvcyBsaXN0YWRvcywgcGVybyBxdWUgY29udmllbmUgaW5kaWNhciBhcXVpLlxuLy8vIEB0eXBlIE51bWJlclxuJGNvbnRlbnRMaXN0SWNvblBhZGRpbmc6ICRoYWxmR3V0dGVyICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsb3MgZW5sYWNlcyBpbnRlcm5vcyBkZSBwcm94aWEgKHNlIHJlcHJlc2VudGFuIHNpZW1wcmUgZW4gZWwgY29sb3IgZGVsIHRleHRvXG4vLy8geSBjb24gaW52ZXJzbyBlbCBkZSBsYSBtYXJjYSwgYXVucXVlIHB1ZWRlbiBtb2RpZmljYXJzZSBhIG5pdmVsIGRlIGl0ZW0gaW5kaXZpZHVhbCBhc8OtIGVzIG3DoXMgZmFjaWwgaGFjZXJsbylcbi8vLyBAdHlwZSBDb2xvclxuJHByb3hpYS1saW5rcy1jb2xvcjogJGdyYXktZGFyayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgaG92ZXIgZW4gbG9zIGVubGFjZXMgaW50ZXJub3MgZGUgcHJveGlhIChzZSByZXByZXNlbnRhbiBzaWVtcHJlIGVuIGVsIGNvbG9yIGRlbCB0ZXh0b1xuLy8vIHkgY29uIGludmVyc28gZWwgZGUgbGEgbWFyY2EsIGF1bnF1ZSBwdWVkZW4gbW9kaWZpY2Fyc2UgYSBuaXZlbCBkZSBpdGVtIGluZGl2aWR1YWwgYXPDrSBlcyBtw6FzIGZhY2lsIGhhY2VybG8pXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm94aWEtbGlua3MtY29sb3ItaG92ZXI6ICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBsYSBsZXRyYSBkZWwgdMOtdHVsbyBlbiB1biBsaWdodGJveFxuLy8vIEB0eXBlIE51bWJlclxuJGxpZ2h0Ym94LXRpdGxlLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMyAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZGUgbGEgbGV0cmEgZGVsIGN1ZXJwbyBlbiB1biBsaWdodGJveFxuLy8vIEB0eXBlIE51bWJlclxuJGxpZ2h0Ym94LWJvZHktZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGZvbmRvIGRlbCB0w610dWxvIGVuIHVuIGxpZ2h0Ym94XG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodGJveC10aXRsZS1iYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgZm9uZG8gZGVsIGZvb3RlciBlbiB1biBsaWdodGJveFxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHRib3gtZm9vdGVyLWJhY2tncm91bmQtY29sb3I6ICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZWwgdMOtdHVsbyBlbiB1biBsaWdodGJveFxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHRib3gtdGl0bGUtY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZWwgZm9vdGVyIGVuIHVuIGxpZ2h0Ym94XG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodGJveC1mb290ZXItY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZWwgYm90w7NuIGVuIHVuIGxpZ2h0Ym94XG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodGJveC1idXR0b24tY29sb3I6IHdoaXRlIGRhcmtlbigkbGlnaHRib3gtZm9vdGVyLWJhY2tncm91bmQtY29sb3IsMzAlKSAhZGVmYXVsdDtcblxuLy8vIEVzcGFjaWFkbyBlbnRyZSBjb21wb25lbnRlcyAoTWFyZ2luKVxuLy8vIEB0eXBlIE51bWJlclxuJGJsb2NrLW1hcmdpbjogMCAwICRoYWxmR3V0dGVyICFkZWZhdWx0O1xuXG4vLy8gRXNwYWNpYWRvIGVudHJlIGNvbXBvbmVudGVzIChQYWRkaW5nKVxuLy8vIEB0eXBlIE51bWJlclxuJGJsb2NrLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGxhIGxldHJhIGRlbCBjb21wb25lbnRlIGRlIG1pZ2FzIGRlIHBhblxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWItZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBGYW1pbHkgcGFyYSBlbCBzZXBhcmFkb3IgZGVsIGNvbXBvbmVudGUgZGUgbWlnYXMgZGUgcGFuIChQb3IgZGVmZWN0byBubyB0ZW5lbW9zIGZhbWlsaWEgZGUgZnVlbnRlcyBwYXJhIGVsIHNlcGFyYWRvcilcbi8vLyBAdHlwZSBTdHJpbmdcbiRicmVhZGNydW1iLXNlcGFyYXRvci1mb250LWZhbWlseTogJycgIWRlZmF1bHQ7IFxuXG4vLy8gSWNvbm8gcGFyYSBsYSBob21lIGRlIEZvbnQtQXdlc29tZSBwYXJhIGVsIGNvbXBvbmVudGUgZGUgbWlnYXMgZGUgcGFuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnJlYWRjcnVtYi1ob21lLWljb246ICdcXGYwMTUnICFkZWZhdWx0O1xuXG4vLy8gRmFtaWxpYSBkZWwgaWNvbm8gcGFyYSBsYSBob21lIHBhcmEgZWwgY29tcG9uZW50ZSBkZSBtaWdhcyBkZSBwYW4gKFBvciBkZWZlY3RvIHBvbmVtb3MgZWwgaWNvbm8gcGFyYSBsYSBIT01FIGRlIGZvbnQtYXdlc29tZSlcbi8vLyBAdHlwZSBTdHJpbmdcbiRicmVhZGNydW1iLWhvbWUtaWNvbi1mYW1pbHk6IEZvbnRBd2Vzb21lICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBkZWwgc2VwYXJhZG9yIGRlbCBjb21wb25lbnRlIGRlIG1pZ2FzIGRlIHBhbiAoUG9yIHNpIHF1ZXJlbW9zIHBpc2FyIGVsIHBhZGRpbmcgZGVsIHNlcGFyYWRvcilcbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1iLXNlcGFyYXRvci1wYWRkaW5nOiAwICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZyAhZGVmYXVsdDsgXG5cbi8vLyBJY29ubyBkZWwgc2VwYXJhZG9yIHBhcmEgZWwgY29tcG9uZW50ZSBkZSBtaWdhcyBkZSBwYW5cbi8vLyBAdHlwZSBTdHJpbmdcbiRicmVhZGNydW1iLXNlcGFyYXRvci1pY29uOiBcInxcIiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGUgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIG1pZ2FzIGRlIHBhblxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYi1pdGVtLWNvbG9yOiAkcHJveGlhLWxpbmtzLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZWwgaG92ZXIgZW4gbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIG1pZ2FzIGRlIHBhblxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYi1pdGVtLWNvbG9yLWhvdmVyOiAkcHJveGlhLWxpbmtzLWNvbG9yLWhvdmVyICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCBmb25kbyBkZWwgY29tcG9uZW50ZSBkZSBibG9xdWVzIGRlIHNlcnZpY2lvcyBkZWwgY29udGVuaWRvXG4vLy8gQHR5cGUgQ29sb3JcbiRjb250ZW50LXNlcnZpY2VzLWJnLWNvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgZm9uZG8gZGVsIGNvbXBvbmVudGUgZGUgYmxvcXVlcyBkZSBzZXJ2aWNpb3MgZGVsIGNvbnRlbmlkbyBjdWFuZG8gZXN0YSBhY3Rpdm9cbi8vLyBAdHlwZSBDb2xvclxuJGNvbnRlbnQtc2VydmljZXMtYWN0aXZlLWJnLWNvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGVsIGNvbXBvbmVudGUgZGUgYmxvcXVlcyBkZSBzZXJ2aWNpb3MgZGVsIGNvbnRlbmlkb1xuLy8vIEB0eXBlIENvbG9yXG4kY29udGVudC1zZXJ2aWNlcy1jb2xvcjogJHByb3hpYS1saW5rcy1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGVsIGNvbXBvbmVudGUgZGUgYmxvcXVlcyBkZSBzZXJ2aWNpb3MgZGVsIGNvbnRlbmlkbyBjdWFuZG8gZXN0YSBhY3Rpdm9cbi8vLyBAdHlwZSBDb2xvclxuJGNvbnRlbnQtc2VydmljZXMtYWN0aXZlLWNvbG9yOiAkcHJveGlhLWxpbmtzLWNvbG9yLWhvdmVyICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBncmFuZGUgZGUgbGV0cmEgcGFyYSBsb3MgaXRlbXMgZGVsIGNvbXBvbmVudGUgZGUgYmxvcXVlcyBkZSBzZXJ2aWNpb3MgZGVsIGNvbnRlbmlkb1xuLy8vIEB0eXBlIE51bWJlclxuJGNvbnRlbnQtc2VydmljZXMtaXRlbS1mb250LWxhcmdlOiAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIHBlcXVlw7FvIGRlIGxldHJhIHBhcmEgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIGJsb3F1ZXMgZGUgc2VydmljaW9zIGRlbCBjb250ZW5pZG9cbi8vLyBAdHlwZSBOdW1iZXJcbiRjb250ZW50LXNlcnZpY2VzLWl0ZW0tZm9udC1zbWFsbDogJGZvbnQtc2l6ZS1zbWFsbCAhZGVmYXVsdDtcblxuLy8vIEFuY2hvIGdyYW5kZSBkZWwgY29udGVuZWRvciBkZSBsb3MgaXRlbXMgZGVsIGNvbXBvbmVudGUgZGUgYmxvcXVlcyBkZSBzZXJ2aWNpb3MgZGVsIGNvbnRlbmlkb1xuLy8vIEB0eXBlIE51bWJlclxuJGNvbnRlbnQtc2VydmljZXMtaXRlbS1sYXJnZS1ib3gtd2lkdGg6IDIuNSokY29udGVudC1zZXJ2aWNlcy1pdGVtLWZvbnQtbGFyZ2UgIWRlZmF1bHQ7XG5cbi8vLyBBbmNobyBwZXF1ZcOxbyBkZWwgY29udGVuZWRvciBkZSBsb3MgaXRlbXMgZGVsIGNvbXBvbmVudGUgZGUgYmxvcXVlcyBkZSBzZXJ2aWNpb3MgZGVsIGNvbnRlbmlkb1xuLy8vIEB0eXBlIE51bWJlclxuJGNvbnRlbnQtc2VydmljZXMtaXRlbS1zbWFsbC1ib3gtd2lkdGg6IDIqJGNvbnRlbnQtc2VydmljZXMtaXRlbS1mb250LXNtYWxsICFkZWZhdWx0O1xuXG4vLy8gQm9yZGUgcGFyYSBsb3MgaXRlbXMgZGVsIGNvbXBvbmVudGUgZGUgYmxvcXVlcyBkZSBzZXJ2aWNpb3MgZGVsIGNvbnRlbmlkb1xuLy8vIEB0eXBlIE51bWJlclxuJGNvbnRlbnQtc2VydmljZXMtaXRlbS1ib3JkZXI6IDBweCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGVsIGljb25vIFJTUyBkZWwgY29tcG9uZW50ZSBkZSBibG9xdWVzIGRlIHNlcnZpY2lvcyBkZWwgY29udGVuaWRvXG4vLy8gQHR5cGUgQ29sb3JcbiRjb250ZW50LXNlcnZpY2VzLXJzcy1jb2xvcjogI2Y4OTkxZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGVsIGljb25vIFBERiBkZWwgY29tcG9uZW50ZSBkZSBibG9xdWVzIGRlIHNlcnZpY2lvcyBkZWwgY29udGVuaWRvXG4vLy8gQHR5cGUgQ29sb3JcbiRjb250ZW50LXNlcnZpY2VzLXBkZi1jb2xvcjogI2NiMDYwNiAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZGUgbGV0cmEgZGUgbGEgbWFxdWV0YWNpw7NuIGRlIGxvcyBjb250ZW5pZG9zIGEgdHJhdsOpcyBkZSBzdXMgcGxhbnRpbGxhcyBlc3BlY2lhbGVzXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGVtcGxhdGluZy1mZWF0dXJlcy1mb250LXNpemU6ICRmb250LXNpemUtc21hbGwgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlbCBtYXJnaW4tdG9wIGRlIGxhIG1hcXVldGFjacOzbiBkZSBsb3MgY29udGVuaWRvcyBhIHRyYXbDqXMgZGUgc3VzIHBsYW50aWxsYXMgZXNwZWNpYWxlc1xuLy8vIEB0eXBlIE51bWJlclxuJHRlbXBsYXRpbmctZmVhdHVyZXMtbWFyZ2luLXRvcDogJGhhbGZHdXR0ZXIvMiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGVsIHTDrXR1bG8gZGUgbGEgbWFxdWV0YWNpw7NuIGRlIGxvcyBjb250ZW5pZG9zIGEgdHJhdsOpcyBkZSBzdXMgcGxhbnRpbGxhcyBlc3BlY2lhbGVzXG4vLy8gQHR5cGUgQ29sb3JcbiR0ZW1wbGF0aW5nLWZlYXR1cmVzLXRpdGxlLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNmb3JtYWNpw7NuIGRlbCB0w610dWxvIGRlIGxhIG1hcXVldGFjacOzbiBkZSBsb3MgY29udGVuaWRvcyBhIHRyYXbDqXMgZGUgc3VzIHBsYW50aWxsYXMgZXNwZWNpYWxlc1xuJHRlbXBsYXRpbmctZmVhdHVyZXMtdGl0bGUtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTsO6bWVybyBkZSBjb2x1bW5hcyBkZSBsYXMgc3Vic2VjY2lvbmVzIGRlIGxhIG1hcXVldGFjacOzbiBkZSBsb3MgY29udGVuaWRvcyBhIHRyYXbDqXMgZGUgc3VzIHBsYW50aWxsYXMgZXNwZWNpYWxlc1xuLy8vIEB0eXBlIE51bWJlclxuJHRlbXBsYXRpbmctc3Vic2VjdGlvbi1jb2x1bW5zOiAyICFkZWZhdWx0O1xuXG4vLy8gUGVzbyBkZWwgdMOtdHVsbyBkZSBsYXMgc3Vic2VjY2lvbmVzIGRlIGxhIG1hcXVldGFjacOzbiBkZSBsb3MgY29udGVuaWRvcyBhIHRyYXbDqXMgZGUgc3VzIHBsYW50aWxsYXMgZXNwZWNpYWxlc1xuLy8vIEB0eXBlIE51bWJlclxuJHRlbXBsYXRpbmctc3Vic2VjdGlvbi10aXRsZS13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCB0w610dWxvIGRlIGxhcyBzdWJzZWNjaW9uZXMgZGUgbGEgbWFxdWV0YWNpw7NuIGRlIGxvcyBjb250ZW5pZG9zIGEgdHJhdsOpcyBkZSBzdXMgcGxhbnRpbGxhcyBlc3BlY2lhbGVzXG4vLy8gQHR5cGUgQ29sb3JcbiR0ZW1wbGF0aW5nLXN1YnNlY3Rpb24tdGl0bGUtY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2Zvcm1hY2nDs24gZGVsIHTDrXR1bG8gZGUgbGFzIHN1YnNlY2Npb25lcyBkZSBsYSBtYXF1ZXRhY2nDs24gZGUgbG9zIGNvbnRlbmlkb3MgYSB0cmF2w6lzIGRlIHN1cyBwbGFudGlsbGFzIGVzcGVjaWFsZXNcbiR0ZW1wbGF0aW5nLXN1YnNlY3Rpb24tdGl0bGUtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCBmb25kbyBkZWwgY29tcG9uZW50ZSBkZSBzdWJjb250ZW5pZG9zXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJjb250ZW50cy1ibG9jay1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZGVsIG1hcmdlbiBkZWwgY29tcG9uZW50ZSBkZSBzdWJjb250ZW5pZG9zXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViY29udGVudHMtYmxvY2stbWFyZ2luOiAkYmxvY2stbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZWwgcGFkZGluZyBkZWwgY29tcG9uZW50ZSBkZSBzdWJjb250ZW5pZG9zXG4vLy8gQHR5cGUgTnVtYmVyIFxuJHN1YmNvbnRlbnRzLWJsb2NrLXBhZGRpbmc6ICRibG9jay1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZSBsb3MgaXRlbXMgZGVsIGNvbXBvbmVudGUgZGUgc3ViY29udGVuaWRvc1xuLy8vIEB0eXBlIENvbG9yXG4kc3ViY29udGVudHMtYmxvY2staXRlbS1jb2xvcjogJHByb3hpYS1saW5rcy1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGUgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIHN1YmNvbnRlbmlkb3MgYWwgaGFjZXIgaG92ZXJcbi8vLyBAdHlwZSBDb2xvclxuJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0tY29sb3ItaG92ZXI6ICRwcm94aWEtbGlua3MtY29sb3ItaG92ZXIgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgdG9wIGRlIGxvcyBpdGVtcyBkZWwgY29tcG9uZW50ZSBkZSBzdWJjb250ZW5pZG9zXG4kc3ViY29udGVudHMtYmxvY2staXRlbS1ib3JkZXItdG9wOiAxcHggJGdyYXktbGlnaHQgc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlbCBwYWRkaW5nIGRlIGxvcyBpdGVtcyBkZWwgY29tcG9uZW50ZSBkZSBzdWJjb250ZW5pZG9zXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViY29udGVudHMtYmxvY2staXRlbS1wYWRkaW5nOiAkaGFsZkd1dHRlciAwICRoYWxmR3V0dGVyIDAgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlbCBtYXJnZW4gZGUgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIHN1YmNvbnRlbmlkb3Ncbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJjb250ZW50cy1ibG9jay1pdGVtLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIEljb25vIHBhcmEgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIHN1YmNvbnRlbmlkb3Ncbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJjb250ZW50cy1ibG9jay1pdGVtLWljb246ICAnPicgIWRlZmF1bHQ7XG5cbi8vLyBGdWVudGUgZGVsIGljb25vIGVuIGxvcyBpdGVtcyBkZWwgY29tcG9uZW50ZSBkZSBzdWJjb250ZW5pZG9zXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViY29udGVudHMtYmxvY2staXRlbS1pY29uLWZvbnQ6ICRjb250ZW50TGlzdEljb25Gb250RmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCBpY29ubyBkZSBsb3MgaXRlbXMgZGVsIGNvbXBvbmVudGUgZGUgc3ViY29udGVuaWRvc1xuLy8vIEB0eXBlIENvbG9yXG4kc3ViY29udGVudHMtYmxvY2staXRlbS1pY29uLWNvbG9yOiAkZ3JheS1kYXJrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBkZWwgaWNvbm8gZGUgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIHN1YmNvbnRlbmlkb3Ncbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJjb250ZW50cy1ibG9jay1pdGVtLWljb24tcGFkZGluZzogJGNvbnRlbnRMaXN0SWNvblBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGRlbCBjYXRlZ29yaXphZG9yIGRlbnRybyBkZSBsb3Mgc3ViY29udGVuaWRvc1xuLy8vIEB0eXBlIE51bWJlclxuJGNhdGVnb3JpemVyLWJsb2NrLXBhZGRpbmc6ICRzdWJjb250ZW50cy1ibG9jay1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBkZSBsb3MgaXRlbXMgZGVsIGNhdGVnb3JpemFkb3IgZGVudHJvIGRlIGxvcyBzdWJjb250ZW5pZG9zXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2F0ZWdvcml6ZXItYmxvY2staXRlbS1wYWRkaW5nOiAkc3ViY29udGVudHMtYmxvY2staXRlbS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2VuIGRlbCBjYXRlZ29yaXphZG9yIGRlbnRybyBkZSBsb3Mgc3ViY29udGVuaWRvc1xuLy8vIEB0eXBlIE51bWJlclxuJGNhdGVnb3JpemVyLWNhdGVnb3J5LW1hcmdpbjogMHB4ICFkZWZhdWx0OyBcblxuLy8vIFBhZGRpbmcgZGUgbGEgY2F0ZWdvcmlhIGRlbCBjYXRlZ29yaXphZG9yIGRlbnRybyBkZSBsb3Mgc3ViY29udGVuaWRvc1xuLy8vIEB0eXBlIE51bWJlclxuJGNhdGVnb3JpemVyLWNhdGVnb3J5LXBhZGRpbmc6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZyAhZGVmYXVsdDsgXG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGZvbmRvIGRlIGxhIGNhdGVnb3JpYSBkZWwgY2F0ZWdvcml6YWRvciBkZW50cm8gZGUgbG9zIHN1YmNvbnRlbmlkb3Ncbi8vLyBAdHlwZSBDb2xvclxuJGNhdGVnb3JpemVyLWNhdGVnb3J5LWJhY2tncm91bmQ6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQ29tbyBzZSBtdWVzdHJhIGxhcyBjYXRlZ29yaWFzIGRlbCBjYXRlZ29yaXphZG9yIGRlbnRybyBkZSBsb3Mgc3ViY29udGVuaWRvc1xuJGNhdGVnb3JpemVyLWNhdGVnb3J5LWRpc3BsYXk6IGJsb2NrICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBsYSBsZXRyYSBkZSBsYXMgY2F0ZWdvcmlhcyBkZWwgY2F0ZWdvcml6YWRvciBkZW50cm8gZGUgbG9zIHN1YmNvbnRlbmlkb3Ncbi8vLyBAdHlwZSBOdW1iZXJcbiRjYXRlZ29yaXplci1jYXRlZ29yeS1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuLy8vIEVzdGlsbyBkZWwgYm9yZGUgZGUgbGFzIGNhdGVnb3JpYXMgZGVsIGNhdGVnb3JpemFkb3IgZGVudHJvIGRlIGxvcyBzdWJjb250ZW5pZG9zXG4kY2F0ZWdvcml6ZXItY2F0ZWdvcnktYm9yZGVyLXN0eWxlOiBub25lICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgZGVsIGJvcmRlIGRlIGxhcyBjYXRlZ29yaWFzIGRlbCBjYXRlZ29yaXphZG9yIGRlbnRybyBkZSBsb3Mgc3ViY29udGVuaWRvc1xuLy8vIEB0eXBlIENvbG9yXG4kY2F0ZWdvcml6ZXItY2F0ZWdvcnktYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8vIEFuY2hvIGRlbCBib3JkZSBkZSBsYXMgY2F0ZWdvcmlhcyBkZWwgY2F0ZWdvcml6YWRvciBkZW50cm8gZGUgbG9zIHN1YmNvbnRlbmlkb3Ncbi8vLyBAdHlwZSBOdW1iZXJcbiRjYXRlZ29yaXplci1jYXRlZ29yeS1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGRlIGxhcyBjYXRlZ29yaWFzIGRlIGxvcyBzdWJjb250ZW5pZG9zXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViY29udGVudHMtY2F0ZWdvcnktYmxvY2stcGFkZGluZzogMHB4IDBweCAwcHggJGhhbGZHdXR0ZXIgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlIGxvcyBpdGVtcyBkZSBsYXMgY2F0ZWdvcmlhcyBkZSBsb3Mgc3ViY29udGVuaWRvc1xuLy8vIEB0eXBlIENvbG9yXG4kc3ViY29udGVudHMtY2F0ZWdvcnktYmxvY2staXRlbS1jb2xvcjogJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0tY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlIGxvcyBpdGVtcyBkZSBsYXMgY2F0ZWdvcmlhcyBkZSBsb3Mgc3ViY29udGVuaWRvcyBjdWFuZG8gc2UgaGFjZSBob3ZlclxuLy8vIEB0eXBlIENvbG9yXG4kc3ViY29udGVudHMtY2F0ZWdvcnktYmxvY2staXRlbS1jb2xvci1ob3ZlcjogJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0tY29sb3ItaG92ZXIgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgdG9wIGRlIGxvcyBpdGVtcyBkZSBsYXMgY2F0ZWdvcmlhcyBkZSBsb3Mgc3ViY29udGVuaWRvc1xuJHN1YmNvbnRlbnRzLWNhdGVnb3J5LWJsb2NrLWl0ZW0tYm9yZGVyLXRvcDogJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0tYm9yZGVyLXRvcCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZGUgbG9zIGl0ZW1zIGRlIGxhcyBjYXRlZ29yaWFzIGRlIGxvcyBzdWJjb250ZW5pZG9zXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViY29udGVudHMtY2F0ZWdvcnktYmxvY2staXRlbS1wYWRkaW5nOiAkc3ViY29udGVudHMtYmxvY2staXRlbS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGRlIGxvcyBpdGVtcyBkZSBsYXMgY2F0ZWdvcmlhcyBkZSBsb3Mgc3ViY29udGVuaWRvc1xuLy8vIEB0eXBlIE51bWJlclxuJHN1YmNvbnRlbnRzLWNhdGVnb3J5LWJsb2NrLWl0ZW0tbWFyZ2luOiAkc3ViY29udGVudHMtYmxvY2staXRlbS1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBJY29ubyBkZSBsb3MgaXRlbXMgZGUgbGFzIGNhdGVnb3JpYXMgZGUgbG9zIHN1YmNvbnRlbmlkb3Ncbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJjb250ZW50cy1jYXRlZ29yeS1ibG9jay1pdGVtLWljb246ICAkc3ViY29udGVudHMtYmxvY2staXRlbS1pY29uICFkZWZhdWx0O1xuXG4vLy8gRnVlbnRlIGRlbCBpY29ubyBkZSBsb3MgaXRlbXMgZGUgbGFzIGNhdGVnb3JpYXMgZGUgbG9zIHN1YmNvbnRlbmlkb3Ncbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJjb250ZW50cy1jYXRlZ29yeS1ibG9jay1pdGVtLWljb24tZm9udDogJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0taWNvbi1mb250ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZWwgaWNvbm8gZGUgbG9zIGl0ZW1zIGRlIGxhcyBjYXRlZ29yaWFzIGRlIGxvcyBzdWJjb250ZW5pZG9zXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJjb250ZW50cy1jYXRlZ29yeS1ibG9jay1pdGVtLWljb24tY29sb3I6ICRzdWJjb250ZW50cy1ibG9jay1pdGVtLWljb24tY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGRlbCBpY29ubyBkZSBsb3MgaXRlbXMgZGUgbGFzIGNhdGVnb3JpYXMgZGUgbG9zIHN1YmNvbnRlbmlkb3Ncbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJjb250ZW50cy1jYXRlZ29yeS1ibG9jay1pdGVtLWljb24tcGFkZGluZzogJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0taWNvbi1wYWRkaW5nICFkZWZhdWx0O1xuXG5cblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgZm9uZG8gZGVsIGNvbXBvbmVudGUgZGUgYXV0b3JlbGFjaW9uYWRvc1xuLy8vIEB0eXBlIENvbG9yXG4kYXV0b3JlbGF0ZWQtYmxvY2stYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnZW4gZGVsIGNvbXBvbmVudGUgZGUgYXV0b3JlbGFjaW9uYWRvc1xuLy8vIEB0eXBlIE51bWJlclxuJGF1dG9yZWxhdGVkLWJsb2NrLW1hcmdpbjogJGJsb2NrLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZGVsIGNvbXBvbmVudGUgZGUgYXV0b3JlbGFjaW9uYWRvc1xuLy8vIEB0eXBlIE51bWJlclxuJGF1dG9yZWxhdGVkLWJsb2NrLXBhZGRpbmc6ICRibG9jay1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZSBsb3MgaXRlbXMgZGVsIGNvbXBvbmVudGUgZGUgYXV0b3JlbGFjaW9uYWRvc1xuLy8vIEB0eXBlIENvbG9yXG4kYXV0b3JlbGF0ZWQtYmxvY2staXRlbS1jb2xvcjogJHByb3hpYS1saW5rcy1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGUgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIGF1dG9yZWxhY2lvbmFkb3MgY3VhbmRvIHNlIGhhY2UgaG92ZXJcbi8vLyBAdHlwZSBDb2xvclxuJGF1dG9yZWxhdGVkLWJsb2NrLWl0ZW0tY29sb3ItaG92ZXI6ICRwcm94aWEtbGlua3MtY29sb3ItaG92ZXIgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgdG9wIGRlIGxvcyBpdGVtcyBkZWwgY29tcG9uZW50ZSBkZSBhdXRvcmVsYWNpb25hZG9zXG4kYXV0b3JlbGF0ZWQtYmxvY2staXRlbS1ib3JkZXItdG9wOiAwcHggIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGRlIGxvcyBpdGVtcyBkZWwgY29tcG9uZW50ZSBkZSBhdXRvcmVsYWNpb25hZG9zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYXV0b3JlbGF0ZWQtYmxvY2staXRlbS1wYWRkaW5nOiAkaGFsZkd1dHRlciAwICRoYWxmR3V0dGVyIDAgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnZW4gZGUgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIGF1dG9yZWxhY2lvbmFkb3Ncbi8vLyBAdHlwZSBOdW1iZXJcbiRhdXRvcmVsYXRlZC1ibG9jay1pdGVtLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIEljb25vIGRlIGxvcyBpdGVtcyBkZWwgY29tcG9uZW50ZSBkZSBhdXRvcmVsYWNpb25hZG9zXG4vLy8gQHR5cGUgU3RyaW5nXG4kYXV0b3JlbGF0ZWQtYmxvY2staXRlbS1pY29uOiAgJycgIWRlZmF1bHQ7XG5cbi8vLyBGdWVudGUgZGVsIGljb25vIGRlIGxvcyBpdGVtcyBkZWwgY29tcG9uZW50ZSBkZSBhdXRvcmVsYWNpb25hZG9zXG4vLy8gQHR5cGUgU3RyaW5nXG4kYXV0b3JlbGF0ZWQtYmxvY2staXRlbS1pY29uLWZvbnQ6ICRjb250ZW50TGlzdEljb25Gb250RmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZWwgaWNvbm8gZGUgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIGF1dG9yZWxhY2lvbmFkb3Ncbi8vLyBAdHlwZSBDb2xvclxuJGF1dG9yZWxhdGVkLWJsb2NrLWl0ZW0taWNvbi1jb2xvcjogJGdyYXktZGFyayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgdXNhZG8gcGFyYSBlbCBpY29ubyBkZSBsb3MgaXRlbXMgZGVsIGNvbXBvbmVudGUgZGUgYXV0b3JlbGFjaW9uYWRvc1xuLy8vIEB0eXBlIE51bWJlclxuJGF1dG9yZWxhdGVkLWJsb2NrLWl0ZW0taWNvbi1wYWRkaW5nOiAkY29udGVudExpc3RJY29uUGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZGVsIGNhdGVnb3JpemFkb3IgYXV0b3JlbGFjaW9uYWRvIGRlbnRybyBkZSBsb3Mgc3ViY29udGVuaWRvc1xuLy8vIEB0eXBlIE51bWJlclxuJGF1dG9yZWxhdGVkLWNhdGVnb3JpemVyLWJsb2NrLXBhZGRpbmc6ICRhdXRvcmVsYXRlZC1ibG9jay1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBkZSBsb3MgaXRlbXMgZGVsIGNhdGVnb3JpemFkb3IgYXV0b3JlbGFjaW9uYWRvIGRlbnRybyBkZSBsb3Mgc3ViY29udGVuaWRvc1xuLy8vIEB0eXBlIE51bWJlclxuJGF1dG9yZWxhdGVkLWNhdGVnb3JpemVyLWJsb2NrLWl0ZW0tcGFkZGluZzogJGF1dG9yZWxhdGVkLWJsb2NrLWl0ZW0tcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIE1hcmdlbiBkZSBsYXMgY2F0ZWdvcmlhcyBkZWwgY2F0ZWdvcml6YWRvciBhdXRvcmVsYWNpb25hZG8gZGVudHJvIGRlIGxvcyBzdWJjb250ZW5pZG9zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYXV0b3JlbGF0ZWQtY2F0ZWdvcml6ZXItY2F0ZWdvcnktbWFyZ2luOiAwcHggIWRlZmF1bHQ7IFxuXG4vLy8gUGFkZGluZyBkZSBsYXMgY2F0ZWdvcmlhcyBkZWwgY2F0ZWdvcml6YWRvciBhdXRvcmVsYWNpb25hZG8gZGVudHJvIGRlIGxvcyBzdWJjb250ZW5pZG9zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYXV0b3JlbGF0ZWQtY2F0ZWdvcml6ZXItY2F0ZWdvcnktcGFkZGluZzogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nICFkZWZhdWx0OyBcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgZm9uZG8gZGUgbGFzIGNhdGVnb3JpYXMgZGVsIGNhdGVnb3JpemFkb3IgYXV0b3JlbGFjaW9uYWRvIGRlbnRybyBkZSBsb3Mgc3ViY29udGVuaWRvc1xuLy8vIEB0eXBlIENvbG9yXG4kYXV0b3JlbGF0ZWQtY2F0ZWdvcml6ZXItY2F0ZWdvcnktYmFja2dyb3VuZDogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBDb21vIHNlIG11ZXN0cmFuIGxhcyBjYXRlZ29yaWFzIGRlbCBjYXRlZ29yaXphZG9yIGF1dG9yZWxhY2lvbmFkbyBkZW50cm8gZGUgbG9zIHN1YmNvbnRlbmlkb3NcbiRhdXRvcmVsYXRlZC1jYXRlZ29yaXplci1jYXRlZ29yeS1kaXNwbGF5OiBibG9jayAhZGVmYXVsdDtcblxuLy8vIEVzdGlsbyBkZWwgYm9yZGUgZGUgbGFzIGNhdGVnb3JpYXMgZGVsIGNhdGVnb3JpemFkb3IgYXV0b3JlbGFjaW9uYWRvIGRlbnRybyBkZSBsb3Mgc3ViY29udGVuaWRvc1xuJGF1dG9yZWxhdGVkLWNhdGVnb3JpemVyLWNhdGVnb3J5LWJvcmRlci1zdHlsZTogbm9uZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgYm9yZGUgZGUgbGFzIGNhdGVnb3JpYXMgZGVsIGNhdGVnb3JpemFkb3IgYXV0b3JlbGFjaW9uYWRvIGRlbnRybyBkZSBsb3Mgc3ViY29udGVuaWRvc1xuLy8vIEB0eXBlIENvbG9yXG4kYXV0b3JlbGF0ZWQtY2F0ZWdvcml6ZXItY2F0ZWdvcnktYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlIGRlIGxhcyBjYXRlZ29yaWFzIGRlbCBjYXRlZ29yaXphZG9yIGF1dG9yZWxhY2lvbmFkbyBkZW50cm8gZGUgbG9zIHN1YmNvbnRlbmlkb3NcbiRhdXRvcmVsYXRlZC1jYXRlZ29yaXplci1jYXRlZ29yeS1ib3JkZXI6IDAgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGRlIGxhcyBjYXRlZ29yaWFzIGF1dG9yZWxhY2lvbmFkYXNcbi8vLyBAdHlwZSBOdW1iZXJcbiRhdXRvcmVsYXRlZC1jYXRlZ29yeS1ibG9jay1wYWRkaW5nOiAwcHggMHB4IDBweCAkaGFsZkd1dHRlciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGUgbG9zIGl0ZW1zIGRlIGxhcyBjYXRlZ29yaWFzIGF1dG9yZWxhY2lvbmFkYXNcbi8vLyBAdHlwZSBDb2xvclxuJGF1dG9yZWxhdGVkLWNhdGVnb3J5LWJsb2NrLWl0ZW0tY29sb3I6ICRhdXRvcmVsYXRlZC1ibG9jay1pdGVtLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZSBsb3MgaXRlbXMgZGUgbGFzIGNhdGVnb3JpYXMgYXV0b3JlbGFjaW9uYWRhcyBjdWFuZG8gc2UgaGFjZSBob3ZlclxuLy8vIEB0eXBlIENvbG9yXG4kYXV0b3JlbGF0ZWQtY2F0ZWdvcnktYmxvY2staXRlbS1jb2xvci1ob3ZlcjogJGF1dG9yZWxhdGVkLWJsb2NrLWl0ZW0tY29sb3ItaG92ZXIgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgdG9wIGRlIGxvcyBpdGVtcyBkZSBsYXMgY2F0ZWdvcmlhcyBhdXRvcmVsYWNpb25hZGFzXG4kYXV0b3JlbGF0ZWQtY2F0ZWdvcnktYmxvY2staXRlbS1ib3JkZXItdG9wOiAkYXV0b3JlbGF0ZWQtYmxvY2staXRlbS1ib3JkZXItdG9wICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBkZSBsb3MgaXRlbXMgZGUgbGFzIGNhdGVnb3JpYXMgYXV0b3JlbGFjaW9uYWRhc1xuLy8vIEB0eXBlIE51bWJlclxuJGF1dG9yZWxhdGVkLWNhdGVnb3J5LWJsb2NrLWl0ZW0tcGFkZGluZzogJGF1dG9yZWxhdGVkLWJsb2NrLWl0ZW0tcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBkZSBsb3MgaXRlbXMgZGUgbGFzIGNhdGVnb3JpYXMgYXV0b3JlbGFjaW9uYWRhc1xuLy8vIEB0eXBlIE51bWJlclxuJGF1dG9yZWxhdGVkLWNhdGVnb3J5LWJsb2NrLWl0ZW0tbWFyZ2luOiAkYXV0b3JlbGF0ZWQtYmxvY2staXRlbS1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBJY29ubyBkZSBsb3MgaXRlbXMgZGUgbGFzIGNhdGVnb3JpYXMgYXV0b3JlbGFjaW9uYWRhc1xuLy8vIEB0eXBlIFN0cmluZyBcbiRhdXRvcmVsYXRlZC1jYXRlZ29yeS1ibG9jay1pdGVtLWljb246ICAkYXV0b3JlbGF0ZWQtYmxvY2staXRlbS1pY29uICFkZWZhdWx0O1xuXG4vLy8gRnVlbnRlIGRlIGxvcyBpdGVtcyBkZSBsYXMgY2F0ZWdvcmlhcyBhdXRvcmVsYWNpb25hZGFzXG4vLy8gQHR5cGUgU3RyaW5nXG4kYXV0b3JlbGF0ZWQtY2F0ZWdvcnktYmxvY2staXRlbS1pY29uLWZvbnQ6ICRhdXRvcmVsYXRlZC1ibG9jay1pdGVtLWljb24tZm9udCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGVsIGljb25vIGRlIGxvcyBpdGVtcyBkZSBsYXMgY2F0ZWdvcmlhcyBhdXRvcmVsYWNpb25hZGFzXG4vLy8gQHR5cGUgQ29sb3JcbiRhdXRvcmVsYXRlZC1jYXRlZ29yeS1ibG9jay1pdGVtLWljb24tY29sb3I6ICRhdXRvcmVsYXRlZC1ibG9jay1pdGVtLWljb24tY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGRlIGxvcyBpdGVtcyBkZSBsYXMgY2F0ZWdvcmlhcyBhdXRvcmVsYWNpb25hZGFzXG4vLy8gQHR5cGUgTnVtYmVyXG4kYXV0b3JlbGF0ZWQtY2F0ZWdvcnktYmxvY2staXRlbS1pY29uLXBhZGRpbmc6ICRhdXRvcmVsYXRlZC1ibG9jay1pdGVtLWljb24tcGFkZGluZyAhZGVmYXVsdDtcbiBcbi8vLyBCbG9xdWUgZGUgdmFyaWFibGVzIHJlbGFjaW9uYWRhcyBjb24gZWwgbWFwYSBXZWI6IFxuLy8vIFxuLy8vICAgICBibG9jay1wYWRkaW5nOiAgICAgICAgICBFbCBwYWRkaW5nIGRlbCBtYXBhIHdlYlxuLy8vICAgICBibG9jay1pdGVtLWZvbnQtc2l6ZTogICBFbCB0YW1hw7FvIGRlIGZ1ZW50ZSBkZSBjYWRhIGVsZW1lbnRvXG4vLy8gICAgIGJsb2NrLWl0ZW0tY29sb3I6ICAgICAgIEVsIGNvbG9yIGRlIGxhIGZ1ZW50ZSBkZSBjYWRhIGVsZW1lbnRvXG4vLy8gICAgIGJsb2NrLWl0ZW0tY29sb3ItaG92ZXI6IEVsIGNvbG9yIGRlIGxhIGZ1ZW50ZSBkZSBjYWRhIGVsZW1lbnRvIGN1YW5kbyBzZSBoYWNlIGhvdmVyXG4vLy8gICAgIGJsb2NrLWl0ZW0tYm9yZGVyLXRvcDogIEVsIGJvcmRlIHN1cGVyaW9yIGRlIGNhZGEgZWxlbWVudG9cbi8vLyAgICAgYmxvY2staXRlbS1wYWRkaW5nOiAgICAgRWwgbWFyZ2VuIGludGVyaW9yIGRlIGNhZGEgZWxlbWVudG9cbi8vLyAgICAgYmxvY2staXRlbS1tYXJnaW46ICAgICAgRWwgbWFyZ2VuIGRlIGNhZGEgZWxlbWVudG9cbi8vLyAgICAgdGl0bGUtaWNvbjogICAgICAgICAgICAgRWwgaWNvbm8gZGVsIHTDrXR1bG8gZGVsIG1hcGEgd2ViXG4vLy8gICAgIHRpdGxlLWljb24tZm9udDogICAgICAgIExhIGZ1ZW50ZSBkZWwgaWNvbm8gZGVsIHTDrXR1bG9cbi8vLyAgICAgdGl0bGUtaWNvbi1wYWRkaW5nOiAgICAgRWwgbWFyZ2VuIGludGVyaW9yIGRlbCBpY29ubyBkZWwgdMOtdHVsb1xuLy8vICAgICB0aXRsZS1tYXJnaW46ICAgICAgICAgICBFbCBtYXJnZW4gZGVsIHTDrXR1bG9cbi8vLyAgICAgdGl0bGUtYmFja2dyb3VuZDogICAgICAgRWwgY29sb3IgZGVsIGZvbmRvIGRlbCB0w610dWxvXG4vLy8gICAgIHRpdGxlLXBhZGRpbmc6ICAgICAgICAgIEVsIG1hcmdlbiBpbnRlcmlvciBkZWwgdMOtdHVsb1xuLy8vICAgICB0aXRsZS1kaXNwbGF5OiAgICAgICAgICBMYSBmb3JtYSBlbiBsYSBxdWUgc2UgdmEgYSBtb3N0cmFyIGVsIHTDrXR1bG9cbi8vLyAgICAgdGl0bGUtYm9yZGVyLXN0eWxlOiAgICAgRWwgZXN0aWxvIGRlbCBib3JkZSBkZWwgdMOtdHVsbyBkZWwgbWFwYSB3ZWJcbi8vLyAgICAgdGl0bGUtYm9yZGVyLWNvbG9yOiAgICAgRWwgY29sb3IgZGVsIGJvcmRlIGRlbCB0w610dWxvXG4vLy8gICAgIHRpdGxlLWJvcmRlcjogICAgICAgICAgIEVsIHRpcG8gZGUgYm9yZGUgcXVlIHRlbmRyYSBlbCB0w610dWxvXG4vLy8gICAgIFxuLy8vIEB0eXBlIE1hcFxuJHNpdGVtYXAtbGV2ZWwxOiAoXG4gICAgYmxvY2stcGFkZGluZzogMHB4IDBweCAwcHggJGhhbGZHdXR0ZXIsXG4gICAgYmxvY2staXRlbS1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSxcbiAgICBibG9jay1pdGVtLWNvbG9yOiAkc3ViY29udGVudHMtYmxvY2staXRlbS1jb2xvcixcbiAgICBibG9jay1pdGVtLWNvbG9yLWhvdmVyOiAkc3ViY29udGVudHMtYmxvY2staXRlbS1jb2xvci1ob3ZlcixcbiAgICBibG9jay1pdGVtLWJvcmRlci10b3A6ICRzdWJjb250ZW50cy1ibG9jay1pdGVtLWJvcmRlci10b3AsXG4gICAgYmxvY2staXRlbS1wYWRkaW5nOiAkc3ViY29udGVudHMtYmxvY2staXRlbS1wYWRkaW5nLFxuICAgIGJsb2NrLWl0ZW0tbWFyZ2luOiAkc3ViY29udGVudHMtYmxvY2staXRlbS1tYXJnaW4sXG4gICAgdGl0bGUtaWNvbjogICRzdWJjb250ZW50cy1ibG9jay1pdGVtLWljb24sXG4gICAgdGl0bGUtaWNvbi1mb250OiAkc3ViY29udGVudHMtYmxvY2staXRlbS1pY29uLWZvbnQsXG4gICAgdGl0bGUtaWNvbi1jb2xvcjogJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0taWNvbi1jb2xvcixcbiAgICB0aXRsZS1pY29uLXBhZGRpbmc6ICRzdWJjb250ZW50cy1ibG9jay1pdGVtLWljb24tcGFkZGluZyxcbiAgICB0aXRsZS1tYXJnaW46ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZyAwcHggJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nIDBweCxcbiAgICB0aXRsZS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCxcbiAgICB0aXRsZS1wYWRkaW5nOiAwcHgsXG4gICAgdGl0bGUtZGlzcGxheTogYmxvY2ssXG4gICAgdGl0bGUtYm9yZGVyLXN0eWxlOiBub25lLFxuICAgIHRpdGxlLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQsXG4gICAgdGl0bGUtYm9yZGVyOiAwcHhcbikgIWRlZmF1bHQ7XG5cbi8vLyBCbG9xdWUgZGUgdmFyaWFibGVzIHJlbGFjaW9uYWRhcyBjb24gZWwgbWFwYSBXZWIgMlxuJHNpdGVtYXAtbGV2ZWwyOiAkc2l0ZW1hcC1sZXZlbDEgIWRlZmF1bHQ7XG5cbi8vLyBCbG9xdWUgZGUgdmFyaWFibGVzIHJlbGFjaW9uYWRhcyBjb24gZWwgbWFwYSBXZWIgM1xuJHNpdGVtYXAtbGV2ZWwzOiAkc2l0ZW1hcC1sZXZlbDIgIWRlZmF1bHQ7XG5cbi8vLyBCbG9xdWUgZGUgdmFyaWFibGVzIHJlbGFjaW9uYWRhcyBjb24gZWwgbWFwYSBXZWIgNFxuJHNpdGVtYXAtbGV2ZWw0OiAkc2l0ZW1hcC1sZXZlbDMgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlbCBjYWxlbmRhcmlvIFxuLy8vIEB0eXBlIGJvb2wgfCBOdW1iZXJcbiRjYWxlbmRhci1tb250aGV2ZW50YmxvY2stc2l6ZTogKCd4cyc6MTIsJ3NtJzo2LCdtZCc6NiwnbGcnOjcpICFkZWZhdWx0O1xuXG4vLy8gUmF0aW8gZGUgbGFzIGNvbHVtbmFzIGRlbCBjYWxlbmRhcmlvIFxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGVuZGFyLWNlbGwtYXNwZWN0LXJhdGlvOiAxLjMgIWRlZmF1bHQ7XG5cbi8vLyBBbGluZWFtaWVudG8gZGUgbGEgY29sdW1uYSBkZWwgZGlhIGRlbCBjYWxlbmRhcmlvXG4kY2FsZW5kYXItY2VsbC1kYXktYWxpZ246IG1pZGRsZSBjZW50ZXIgIWRlZmF1bHQ7XG5cbi8vLyBMb3MgZMOtYXMgcHVlZGVuIHByZXNlbnRhcnNlIGRlIHZhcmlhcyBmb3JtYXMuXG4vLy8gYSkgRMOtYSBhY3Rpdm8uLi4gXG4vLy8gICAgKiBDb24gdW4gY29sb3IgZGUgZm9uZG8gZXNwZWNpYWxcbi8vLyAgICAqIENvbiB1biBjb2xvciBkZSBsZXRyYSBlc3BlY2lhbFxuLy8vICAgICogRW52dWVsdG8gZW4gdW4gY2lyY3Vsb1xuLy8vXG4vLy8gYikgRMOtYSBmZXN0aXZvLi4uXG4vLy8gICAgKiBDb24gdW4gY29sb3IgZGUgZm9uZG8gZXNwZWNpYWxcbi8vLyAgICAqIENvbiB1biBjb2xvciBkZSBsZXRyYSBlc3BjaWFsXG4vLy8gICAgKiBFbnZ1ZWx0byBlbiB1biBjaXJjdWxvXG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIG1hcmNhciBlbCBkaWEgYWN0dWFsIGRlbCBjYWxlbmRhcmlvXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxlbmRhci1jdXJyZW50ZGF5OiAkYnJhbmQtcHJpbWFyeSB3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFJvZGVhciBjb24gdW4gY2lyY3VsbyBlbCBkaWEgYWN0dWFsXG4vLy8gQHR5cGUgYm9vbFxuJGNhbGVuZGFyLWN1cnJlbnRkYXktZW5jaXJjbGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIGVuIGVsIGNhbGVuZGFyaW8gcGFyYSBtYXJjYXIgdW4gZGlhIGRlIHZhY2FjaW9uZXNcbi8vLyBAdHlwZSBDb2xvclxuJGNhbGVuZGFyLWhvbGlkYXk6IHRyYW5zcGFyZW50IHJlZCAhZGVmYXVsdDtcblxuLy8vIFJvZGVhciBjb24gdW4gY2lyY3VsbyB1biBkaWEgZGUgdmFjYWNpb25lc1xuLy8vIEB0eXBlIGJvb2xcbiRjYWxlbmRhci1ob2xpZGF5LWVuY2lyY2xlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgZGlhIGVuIGVsIHF1ZSBvY3VycmEgdW4gZXZlbnRvIChFbCBkw61hIGRlbCBldmVudG8gcHVlZGUgY29tcG9ydGFyc2UgaWd1YWwsIHRlbmVyIHVuIGNvbG9yIGRlIGZvbmRvIHRlbmVyIHVuIGNpcmN1bG8sIHVuIGNvbG9yIHkgYWRlbcOhcyBkZWJlbW9zIHBvZGVyIGFzb2NpYXIgZGlzdGludG9zIGVzdGlsb3MgYWwgZWxlbWVudG8gY29tbyB1biBpY29ubyBkZSBldmVudG8gZGUgY2FsZW5kYXJpbyBwYXJhIHF1ZSBzZSBzZXBhIHF1ZSBoYXkgYWxnbylcbi8vLyBAdHlwZSBDb2xvclxuJGNhbGVuZGFyLWV2ZW50OiAkYnJhbmQtc2Vjb25kYXJ5IHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUm9kZWFyIGNvbiB1biBjaXJjdWxvIHVuIGRpYSBlbiBlbCBxdWUgaGF5YSB1biBldmVudG8gKEVsIGTDrWEgZGVsIGV2ZW50byBwdWVkZSBjb21wb3J0YXJzZSBpZ3VhbCwgdGVuZXIgdW4gY29sb3IgZGUgZm9uZG8gdGVuZXIgdW4gY2lyY3VsbywgdW4gY29sb3IgeSBhZGVtw6FzIGRlYmVtb3MgcG9kZXIgYXNvY2lhciBkaXN0aW50b3MgZXN0aWxvcyBhbCBlbGVtZW50byBjb21vIHVuIGljb25vIGRlIGV2ZW50byBkZSBjYWxlbmRhcmlvIHBhcmEgcXVlIHNlIHNlcGEgcXVlIGhheSBhbGdvKVxuLy8vIEB0eXBlIGJvb2xcbiRjYWxlbmRhci1ldmVudC1lbmNpcmNsZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJY29ubyBwYXJhIHVuIGRpYSBlbiBlbCBxdWUgb2N1cnJhIHVuIGV2ZW50byBlbiBlbCBjYWxlbmRhcmlvIChFbCBkw61hIGRlbCBldmVudG8gcHVlZGUgY29tcG9ydGFyc2UgaWd1YWwsIHRlbmVyIHVuIGNvbG9yIGRlIGZvbmRvIHRlbmVyIHVuIGNpcmN1bG8sIHVuIGNvbG9yIHkgYWRlbcOhcyBkZWJlbW9zIHBvZGVyIGFzb2NpYXIgZGlzdGludG9zIGVzdGlsb3MgYWwgZWxlbWVudG8gY29tbyB1biBpY29ubyBkZSBldmVudG8gZGUgY2FsZW5kYXJpbyBwYXJhIHF1ZSBzZSBzZXBhIHF1ZSBoYXkgYWxnbylcbiRjYWxlbmRhci1ldmVudC1pY29uOiBGb250QXdlc29tZSAnXFxmMjc0JyAkZm9udC1zaXplLXNtYWxsZXIgIWRlZmF1bHQ7XG5cbi8vIE9wYWNpZGFkIGRlIGxvcyBkaWFzIHF1ZSBubyBzb24gZGVsIG1lcyAoTG9zIGTDrWFzIHF1ZSBubyBzb24gZGVsIG1lcyB0aWVuZW4gdW5hIG9wYWNpZGFkIGRldGVybWluYWRhKVxuJGNhbGVuZGFyLW90aGVyZGF5cy1vcGFjaXRpeTogMC41ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGUgaW50ZXJubyBkZSBsYXMgY29sdW1uYXMgZGVsIGNhbGVuZGFyaW9cbi8vLyBAdHlwZSBib29sXG4kY2FsZW5kYXItY2VsbHMtaW5uZXItYm9yZGVyOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQm9yZGUgZXh0ZXJpb3IgZGVsIGNhbGVuZGFyaW8gXG4vLy8gQHR5cGUgYm9vbFxuJGNhbGVuZGFyLW91dGVyLWJvcmRlcjogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgZm9uZG8gZGUgbGEgY2FiZWNlcmEgZGVsIGNhbGVuZGFyaW9cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGVuZGFyLWhlYWRlci1iZ2NvbG9yOiAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCBib3JkZSBkZWwgY2FsZW5kYXJpb1xuLy8vIEB0eXBlIENvbG9yXG4kY2FsZW5kYXItYm9yZGVyLWNvbG9yOiAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlbCBib3JkZSByYWRpb3VzIGRlbCBjYWxlbmRhcmlvXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsZW5kYXItYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc21hbGwgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGxldHJhIGJhc2UgZGVsIGNhbGVuZGFyaW9cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxlbmRhci1mb250LXNpemUtYmFzZTogJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHRvcCBkZSB1biBkaWEgZGUgY2FsZW5kYXJpbyBjb24gZXZlbnRvXG4kY2FsZW5kYXItaW5ldmVudC1ib3JkZXItdG9wOiAxcHggc29saWQgJGNhbGVuZGFyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEljb25vIGRlIGxvcyBpdGVtcyBkZWwgY2FsZW5kYXJpbyBjb24gZXZlbnRvXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2FsZW5kYXItaW5ldmVudC1ibG9jay1pdGVtLWljb246ICRzdWJjb250ZW50cy1ibG9jay1pdGVtLWljb24gIWRlZmF1bHQ7XG5cbi8vLyBGdWVudGUgZGVsIGljb25vIGRlIGxvcyBpdGVtcyBkZWwgY2FsZW5kYXJpbyBjb24gZXZlbnRvXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2FsZW5kYXItaW5ldmVudC1ibG9jay1pdGVtLWljb24tZm9udDogJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0taWNvbi1mb250ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZSBsb3MgaWNvbm9zIGRlIGxvcyBpdGVtcyBkZWwgY2FsZW5kYXJpbyBjb24gZXZlbnRvXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxlbmRhci1pbmV2ZW50LWJsb2NrLWl0ZW0taWNvbi1jb2xvcjogJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0taWNvbi1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZGVsIGljb25vIGRlIGxvcyBpdGVtcyBkZWwgY2FsZW5kYXJpbyBjb24gZXZlbnRvXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsZW5kYXItaW5ldmVudC1ibG9jay1pdGVtLWljb24tcGFkZGluZzogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBsYSBsZXRyYSBkZSBsb3MgZGlhcyBkZSBjYWxlbmRhcmlvIGNvbiBldmVudG9cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxlbmRhci1pbmV2ZW50LWJsb2NrLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbGVyICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBkaW1lbnNpb25lcyBkZWwgY3VibyBkaXZpZGllbmRvIGVudHJlIGxhIG51YmUgZGUgZXRpcXVldGFzIHkgbG9zIGRhdG9zIGbDrXNpY29zIGFzb2NpYWRvc1xuJG9sYXBjYWxlbmRhci1jbG91ZC1zaXplOiAoJ3hzJzoxMiwnc20nOjIsJ21kJzozLCdsZyc6MikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBwb3IgZGVmZWN0byBkZSBsb3MgY29tcG9uZW50ZXMgZGUgYmFubmVycyBjdWFuZG8gc2UgaGFjZSBob3ZlclxuLy8vIEB0eXBlIENvbG9yXG4kYmFubmVyLWNvbG9yLWhvdmVyOiAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8vIE9wY2lvbmVzIHBhcmEgZWwgYm90w7NuIGRlIG1vc3RyYXIgbWFzIGRlIHVuIGJhbm5lcjpcbi8vLyBcbi8vLyAgICAgdGV4dC1jb2xvcjogICAgICAgICBFbCBjb2xvciBkZSBsYSBmdWVudGUgZGVsIGJvdMOzblxuLy8vICAgICBiZy1jb2xvcjogICAgICAgICAgIEVsIGNvbG9yIGRlIGZvbmRvIGRlbCBib3TDs25cbi8vLyAgICAgZm9udC1zaXplOiAgICAgICAgICBFbCB0YW1hw7FvIGRlIGxldHJhIGJhc2UgZGVsIGJvdMOzblxuLy8vICAgICBib3JkZXItcmFkaXVzOiAgICAgIEVsIHJlZG9uZGVvIGRlbCBjb250b3JubyBkZWwgYm90w7NuXG4vLy8gICAgIGljb24tY29udGVudDogICAgICAgRWwgaWNvbm8gcXVlIHNlIHZhIGEgdXNhciBhc29jaWFkbyBhbCBib3TDs25cbi8vLyAgICAgaWNvbi1mb250LWZhbWlseTogICBFbCB0aXBvIGRlIGZhbWlsaWEgZGVsIGljb25vIGFzb2NpYWRvIGFsIGJvdMOzblxuLy8vICAgICBpY29uLXBvc2l0aW9uOiAgICAgIExhIHBvc2ljacOzbiBkb25kZSBzZSBwaW50YXJhIGVsIGljb25vIChhZnRlciBvIGJlZm9yZSlcbi8vLyAgICAgXG4vLy8gQHR5cGUgTWFwICAgICBcbiRiYW5uZXItc2hvd21vcmUtYnV0dG9uOiAoXG4gICAgdGV4dC1jb2xvcjogJGJ0bi1wcmltYXJ5LWNvbG9yLFxuICAgIGJnLWNvbG9yOiAkYnJhbmQtcHJpbWFyeSxcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZSxcbiAgICBib3JkZXItcmFkaXVzOiAkYnRuLWJvcmRlci1yYWRpdXMtYmFzZSxcbiAgICBpY29uLWNvbnRlbnQ6ICdcXGYwNTQnLFxuICAgIGljb24tZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lLFxuICAgIGljb24tcG9zaXRpb246ICdyaWdodCdcbikgIWRlZmF1bHQ7XG5cbi8vLyBBbmNobyBwb3IgZGVmZWN0byBkZSBsYSBpbWFnZW4gY29uIHRleHRvIGRlbCBiYW5uZXJcbi8vLyBAdHlwZSBOdW1iZXJcbiRiYW5uZXItd2l0aC10ZXh0LWRlZmF1bHQtaW1hZ2Utd2lkdGg6IDUwJSAhZGVmYXVsdDtcblxuLy8vIEFsdHVyYSBwb3IgZGVmZWN0byBkZSBsb3MgY29tcG9uZW50ZXMgZGUgYmFubmVyXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFubmVyLWJlbG93LWRlZmF1bHQtaGVpZ2h0OiAxMzBweCAhZGVmYXVsdDtcblxuXG4vLy8gVGFtYcOxbyBkZSBsYSBsZXRyYSBiYXNlIGRlbCBjb21wb25lbnRlIGRlIHJlY3Vyc29zIGRlbCBjb250ZW5pZG9cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNvdXJjZXMtYmxvY2stZm9udC1zaXplLWJhc2U6ICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgZm9uZG8gZGVsIGNvbXBvbmVudGUgZGUgcmVjdXJzb3MgZGVsIGNvbnRlbmlkb1xuLy8vIEB0eXBlIENvbG9yXG4kcmVzb3VyY2VzLWJsb2NrLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2VuIGRlbCBjb21wb25lbnRlIGRlIHJlY3Vyc29zIGRlbCBjb250ZW5pZG9cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNvdXJjZXMtYmxvY2stbWFyZ2luOiAkYmxvY2stbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBkZWwgY29tcG9uZW50ZSBkZSByZWN1cnNvcyBkZWwgY29udGVuaWRvXG4kcmVzb3VyY2VzLWJsb2NrLXBhZGRpbmc6ICRibG9jay1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCB0w610dWxvIGRlbCBjb21wb25lbnRlIGRlIHJlY3Vyc29zIGRlbCBjb250ZW5pZG9cbi8vLyBAdHlwZSBDb2xvclxuJHJlc291cmNlcy1ibG9jay10aXRsZS1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGVsIGl0ZW0gZGVsIGNvbXBvbmVudGUgZGUgcmVjdXJzb3MgZGVsIGNvbnRlbmlkb1xuLy8vIEB0eXBlIENvbG9yXG4kcmVzb3VyY2VzLWJsb2NrLWl0ZW0tY29sb3I6ICRwcm94aWEtbGlua3MtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCBpdGVtIGRlbCBjb21wb25lbnRlIGRlIHJlY3Vyc29zIGRlbCBjb250ZW5pZG8gY3VhbmRvIHNlIGhhY2UgaG92ZXJcbiRyZXNvdXJjZXMtYmxvY2staXRlbS1jb2xvci1ob3ZlcjogJHByb3hpYS1saW5rcy1jb2xvci1ob3ZlciAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB0b3AgZGUgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIHJlY3Vyc29zIGRlbCBjb250ZW5pZG9cbiRyZXNvdXJjZXMtYmxvY2staXRlbS1ib3JkZXItdG9wOiAwcHggIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGRlIGxvcyBpdGVtcyBkZWwgY29tcG9uZW50ZSBkZSByZWN1cnNvcyBkZWwgY29udGVuaWRvXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzb3VyY2VzLWJsb2NrLWl0ZW0tcGFkZGluZzogJHN1YmNvbnRlbnRzLWJsb2NrLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnZW4gZGUgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIHJlY3Vyc29zIGRlbCBjb250ZW5pZG9cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNvdXJjZXMtYmxvY2staXRlbS1tYXJnaW46ICRzdWJjb250ZW50cy1ibG9jay1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBJY29ubyBkZSBsb3MgaXRlbXMgZGVsIGNvbXBvbmVudGUgZGUgcmVjdXJzb3MgZGVsIGNvbnRlbmlkb1xuLy8vIEB0eXBlIFN0cmluZ1xuJHJlc291cmNlcy1ibG9jay1pdGVtLWljb246ICcnICFkZWZhdWx0O1xuXG4vLy8gRnVlbnRlIGRlbCBpY29ubyBkZSBsb3MgaXRlbXMgZGVsIGNvbXBvbmVudGUgZGUgcmVjdXJzb3MgZGVsIGNvbnRlbmlkb1xuLy8vIEB0eXBlIFN0cmluZ1xuJHJlc291cmNlcy1ibG9jay1pdGVtLWljb24tZm9udDogJGNvbnRlbnRMaXN0SWNvbkZvbnRGYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCBpY29ubyBkZWwgY29tcG9uZW50ZSBkZSByZWN1cnNvcyBkZWwgY29udGVuaWRvXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXNvdXJjZXMtYmxvY2staXRlbS1pY29uLWNvbG9yOiAkZ3JheS1kYXJrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBkZSBsb3MgaXRlbXMgZGVsIGNvbXBvbmVudGUgZGUgcmVjdXJzb3MgZGVsIGNvbnRlbmlkb1xuLy8vIEB0eXBlIE51bWJlclxuJHJlc291cmNlcy1ibG9jay1pdGVtLWljb24tcGFkZGluZzogMHB4ICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBsZXRyYSBiYXNlIGRlbCBjb21wb25lbnRlIGRlIGNvbnRlbmlkb3MgcmVsYWNpb25hZG9zXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVsYXRlZC1ibG9jay1mb250LXNpemUtYmFzZTogJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCBmb25kbyBkZWwgY29tcG9uZW50ZSBkZSBjb250ZW5pZG9zIHJlbGFjaW9uYWRvc1xuLy8vIEB0eXBlIENvbG9yXG4kcmVsYXRlZC1ibG9jay1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8vIE1hcmdlbiBkZWwgY29tcG9uZW50ZSBkZSBjb250ZW5pZG9zIHJlbGFjaW9uYWRvc1xuLy8vIEB0eXBlIE51bWJlclxuJHJlbGF0ZWQtYmxvY2stbWFyZ2luOiAkYmxvY2stbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBkZWwgY29tcG9uZW50ZSBkZSBjb250ZW5pZG9zIHJlbGFjaW9uYWRvc1xuLy8vIEB0eXBlIE51bWJlclxuJHJlbGF0ZWQtYmxvY2stcGFkZGluZzogJGJsb2NrLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIHTDrXR1bG8gZGVsIGNvbXBvbmVudGUgZGUgY29udGVuaWRvcyByZWxhY2lvbmFkb3Ncbi8vLyBAdHlwZSBDb2xvclxuJHJlbGF0ZWQtYmxvY2stdGl0bGUtY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCBpdGVtIGRlbCBjb21wb25lbnRlIGRlIGNvbnRlbmlkb3MgcmVsYWNpb25hZG9zXG4vLy8gQHR5cGUgQ29sb3JcbiRyZWxhdGVkLWJsb2NrLWl0ZW0tY29sb3I6ICRwcm94aWEtbGlua3MtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCBpdGVtIGRlbCBjb21wb25lbnRlIGRlIGNvbnRlbmlkb3MgcmVsYWNpb25hZG9zIGN1YW5kbyBzZSBoYWNlIGhvdmVyXG4vLy8gQHR5cGUgQ29sb3JcbiRyZWxhdGVkLWJsb2NrLWl0ZW0tY29sb3ItaG92ZXI6ICRwcm94aWEtbGlua3MtY29sb3ItaG92ZXIgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgdG9wIGRlbCBpdGVtIGRlbCBjb21wb25lbnRlIGRlIGNvbnRlbmlkb3MgcmVsYWNpb25hZG9zXG4kcmVsYXRlZC1ibG9jay1pdGVtLWJvcmRlci10b3A6IDBweCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZGUgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIGNvbnRlbmlkb3MgcmVsYWNpb25hZG9zXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVsYXRlZC1ibG9jay1pdGVtLXBhZGRpbmc6ICRzdWJjb250ZW50cy1ibG9jay1pdGVtLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnZW4gZGUgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIGNvbnRlbmlkb3MgcmVsYWNpb25hZG9zXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVsYXRlZC1ibG9jay1pdGVtLW1hcmdpbjogJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0tbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gSWNvbm8gZGUgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIGNvbnRlbmlkb3MgcmVsYWNpb25hZG9zXG4vLy8gQHR5cGUgU3RyaW5nXG4kcmVsYXRlZC1ibG9jay1pdGVtLWljb246ICc+JyAhZGVmYXVsdDtcblxuLy8vIEZ1ZW50ZSBkZWwgaWNvbm8gZGUgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIGNvbnRlbmlkb3MgcmVsYWNpb25hZG9zXG4vLy8gQHR5cGUgU3RyaW5nXG4kcmVsYXRlZC1ibG9jay1pdGVtLWljb24tZm9udDogJGNvbnRlbnRMaXN0SWNvbkZvbnRGYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGljb25vIGRlIGxvcyBpdGVtcyBkZWwgY29tcG9uZW50ZSBkZSBjb250ZW5pZG9zIHJlbGFjaW9uYWRvc1xuLy8vIEB0eXBlIENvbG9yXG4kcmVsYXRlZC1ibG9jay1pdGVtLWljb24tY29sb3I6ICRncmF5LWRhcmsgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGRlbCBpY29ubyBkZSBsb3MgaXRlbXMgZGVsIGNvbXBvbmVudGUgZGUgY29udGVuaWRvcyByZWxhY2lvbmFkb3Ncbi8vLyBAdHlwZSBOdW1iZXJcbiRyZWxhdGVkLWJsb2NrLWl0ZW0taWNvbi1wYWRkaW5nOiAkY29udGVudExpc3RJY29uUGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGUgbG9zIG1lbnVzXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWNvbG9yOiAnJyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGUgbG9zIG1lbnVzIGN1YW5kbyBzZSBoYWNlIGhvdmVyXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWNvbG9yLWhvdmVyOiAkcHJveGlhLWxpbmtzLWNvbG9yLWhvdmVyICFkZWZhdWx0O1xuXG4vLy8gTsO6bWVybyBkZSBjb2x1bW5hcyBkZSBsb3Mgc3VibWVudXNcbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJtZW51LWNvbHM6IDIgIWRlZmF1bHQ7XG5cbi8vLyBJY29ubyBkZSBsb3Mgc3VibWVudXNcbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJtZW51LWljb246ICc+JyAhZGVmYXVsdDtcblxuLy8vIEZ1ZW50ZSBkZWwgaWNvbm8gZGUgbG9zIHN1Ym1lbnVzXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3VibWVudS1pY29uLWZvbnQ6ICcnICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCBpY29ubyBkZSBsb3Mgc3VibWVudXNcbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJtZW51LWljb24tY29sb3I6ICcnICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBkZWwgaWNvbm8gZGUgbG9zIHN1Ym1lbnVzXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3VibWVudS1pY29uLXBhZGRpbmc6ICRoYWxmR3V0dGVyICFkZWZhdWx0O1xuXG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCB0w610dWxvIGRlbCBjb21wb25lbnRlIGRlIGVubGFjZSBhIGNvbnRlbmlkb1xuLy8vIEB0eXBlIENvbG9yXG4kYWJzdHJhY3QtYmxvY2stdGl0bGUtY29sb3I6ICRwcm94aWEtbGlua3MtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCB0w610dWxvIGRlbCBjb21wb25lbnRlIGRlIGVubGFjZSBhIGNvbnRlbmlkbyBjdWFuZG8gc2UgaGFjZSBob3ZlclxuLy8vIEB0eXBlIENvbG9yXG4kYWJzdHJhY3QtYmxvY2stdGl0bGUtY29sb3ItaG92ZXI6ICRwcm94aWEtbGlua3MtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGxldHJhIGRlbCB0w610dWxvIGRlbCBjb21wb25lbnRlIGRlIGVubGFjZSBhIGNvbnRlbmlkb1xuLy8vIEB0eXBlIE51bWJlclxuJGFic3RyYWN0LWJsb2NrLXRpdGxlLXNpemU6ICRmb250LXNpemUtaDEgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGRlbCB0w610dWxvIGRlbCBjb21wb25lbnRlIGRlIGVubGFjZSBhIGNvbnRlbmlkb1xuLy8vIEB0eXBlIE51bWJlclxuJGFic3RyYWN0LWJsb2NrLXRpdGxlLXBhZGRpbmc6IDBweCAhZGVmYXVsdDtcblxuLy8vIE1hcmdlbiBkZWwgdMOtdHVsbyBkZWwgY29tcG9uZW50ZSBkZSBlbmxhY2UgYSBjb250ZW5pZG9cbi8vLyBAdHlwZSBOdW1iZXJcbiRhYnN0cmFjdC1ibG9jay10aXRsZS1tYXJnaW46IDBweCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgZm9uZG8gZGVsIHTDrXR1bG8gZGVsIGNvbXBvbmVudGUgZGUgZW5sYWNlIGEgY29udGVuaWRvXG4vLy8gQHR5cGUgQ29sb3JcbiRhYnN0cmFjdC1ibG9jay10aXRsZS1iZ2NvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgZm9uZG8gZGUgbG9zIHN1YmNvbnRlbmlkb3MgZGVsIGNvbXBvbmVudGUgZGUgZW5sYWNlIGEgY29udGVuaWRvXG4vLy8gQHR5cGUgQ29sb3JcbiRhYnN0cmFjdC1ibG9jay1zdWJjb250ZW50cy1iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZGUgbGV0cmEgZGVsIHTDrXR1bG8gZGUgbG9zIHN1YmNvbnRlbmlkb3MgZGVsIGNvbXBvbmVudGUgZGUgZW5sYWNlIGEgY29udGVuaWRvXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWJzdHJhY3QtYmxvY2stc3ViY29udGVudHMtaXRlbS10aXRsZS1zaXplOiAkZm9udC1zaXplLWxhcmdlICFkZWZhdWx0O1xuXG4vLy8gTsO6bWVybyBkZSBsaW5lYXMgZGVsIHTDrXR1bG8gZGUgbG9zIHN1YmNvbnRlbmlkbyBkZWwgY29tcG9uZW50ZSBkZSBlbmxhY2UgYSBjb250ZW5pZG9cbi8vLyBAdHlwZSBOdW1iZXJcbiRhYnN0cmFjdC1ibG9jay1zdWJjb250ZW50cy1pdGVtLXRpdGxlLWxpbmVzOiAzICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2VuIGRlbCBjb250ZW5pZG8gZGUgbG9zIHN1YmNvbnRlbmlkb3MgZGVsIGNvbXBvbmVudGUgZGUgZW5sYWNlIGEgY29udGVuaWRvXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWJzdHJhY3QtYmxvY2stc3ViY29udGVudHMtaXRlbS1jb250ZW50LW1hcmdpbjogJGhhbGZHdXR0ZXIgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGxhIGxldHJhIGRlbCBjb250ZW5pZG8gZGUgbG9zIHN1YmNvbnRlbmlkb3MgZGVsIGNvbXBvbmVudGUgZGUgZW5sYWNlIGEgY29udGVuaWRvXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWJzdHJhY3QtYmxvY2stc3ViY29udGVudHMtaXRlbS1jb250ZW50LXNpemU6ICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuLy8vIE7Dum1lcm8gZGUgbGluZWFzIGRlbCBjb250ZW5pZG8gZGUgbG9zIHN1YmNvbnRlbmlkb3MgZGVsIGNvbXBvbmVudGUgZGUgZW5sYWNlIGEgY29udGVuaWRvXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWJzdHJhY3QtYmxvY2stc3ViY29udGVudHMtaXRlbS1jb250ZW50LWxpbmVzOiA2ICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBsYSBsZXRyYSBkZWwgXCJNYXMgaW5mb1wiIGRlIGxvcyBzdWJjb3Rlbmlkb3MgZGVsIGNvbXBvbmVudGUgZGUgZW5sYWNlIGEgY29udGVuaWRvXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWJzdHJhY3QtYmxvY2stc3ViY29udGVudHMtbW9yZWluZm8tZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZWwgXCJNYXMgaW5mb1wiIGRlIGxvcyBzdWJjb250ZW5pZG9zIGRlbCBjb21wb25lbnRlIGRlIGVubGFjZSBhIGNvbnRlbmlkb1xuLy8vIEB0eXBlIENvbG9yXG4kYWJzdHJhY3QtYmxvY2stc3ViY29udGVudHMtbW9yZWluZm8tY29sb3I6ICRhYnN0cmFjdC1ibG9jay10aXRsZS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGVsIFwiTWFzIGluZm9cIiBkZSBsb3Mgc3ViY29udGVuaWRvcyBkZWwgY29tcG9uZW50ZSBkZSBlbmxhY2UgYSBjb250ZW5pZG8gY3VhbmRvIHNlIGhhY2UgaG92ZXJcbi8vLyBAdHlwZSBDb2xvclxuJGFic3RyYWN0LWJsb2NrLXN1YmNvbnRlbnRzLW1vcmVpbmZvLWNvbG9yLWhvdmVyOiAkYWJzdHJhY3QtYmxvY2stdGl0bGUtY29sb3ItaG92ZXIgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGZvbmRvIGRlbCBcIk1hcyBpbmZvXCIgZGUgbG9zIHN1YmNvbnRlbmlkb3MgZGVsIGNvbXBvbmVudGUgZGUgZW5sYWNlIGEgY29udGVuaWRvXG4vLy8gQHR5cGUgQ29sb3JcbiRhYnN0cmFjdC1ibG9jay1zdWJjb250ZW50cy1tb3JlaW5mby1iZ2NvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZGVsIFwiTWFzIGluZm9cIiBkZSBsb3Mgc3ViY29udGVuaWRvcyBkZWwgY29tcG9uZW50ZSBkZSBlbmxhY2UgYSBjb250ZW5pZG9cbi8vLyBAdHlwZSBOdW1iZXJcbiRhYnN0cmFjdC1ibG9jay1zdWJjb250ZW50cy1tb3JlaW5mby1wYWRkaW5nOiAwcHggIWRlZmF1bHQ7XG5cbi8vLyBNYXJnZW4gZGVsIFwiTWFzIGluZm9cIiBkZSBsb3Mgc3ViY29udGVuaWRvcyBkZWwgY29tcG9uZW50ZSBkZSBlbmxhY2UgYSBjb250ZW5pZG9cbi8vLyBAdHlwZSBOdW1iZXJcbiRhYnN0cmFjdC1ibG9jay1zdWJjb250ZW50cy1tb3JlaW5mby1tYXJnaW46ICRoYWxmR3V0dGVyIDAgMCAwICFkZWZhdWx0O1xuXG4vLy8gSWNvbm8gZGUgXCJNYXMgaW5mb1wiIGRlIGxvcyBzdWJjb250ZW5pZG9zIGRlbCBjb21wb25lbnRlIGRlIGVubGFjZSBhIGNvbnRlbmlkb1xuLy8vIEB0eXBlIFN0cmluZ1xuJGFic3RyYWN0LWJsb2NrLXN1YmNvbnRlbnRzLW1vcmVpbmZvLWljb24tY29udGVudDogJ1xcZjA1NCcgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBkZWwgaWNvbm8gZGUgXCJNYXMgaW5mb1wiIGRlIGxvcyBzdWJjb250ZW5pZG9zIGRlbCBjb21wb25lbnRlIGRlIGVubGFjZSBhIGNvbnRlbmlkb1xuLy8vIEB0eXBlIFN0cmluZ1xuJGFic3RyYWN0LWJsb2NrLXN1YmNvbnRlbnRzLW1vcmVpbmZvLWljb24tZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lICFkZWZhdWx0O1xuXG4vLy8gUG9zaWNpw7NuIGRlbCBpY29ubyBkZSBcIk1hcyBpbmZvXCIgIGRlIGxvcyBzdWJjb250ZW5pZG9zIGRlbCBjb21wb25lbnRlIGRlIGVubGFjZSBhIGNvbnRlbmlkb1xuLy8vIEB0eXBlIFN0cmluZ1xuJGFic3RyYWN0LWJsb2NrLXN1YmNvbnRlbnRzLW1vcmVpbmZvLWljb24tcG9zaXRpb246ICdyaWdodCcgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGRlIGxvcyBzdWJjb250ZW5pZG9zIGRlbCBjb21wb25lbnRlIGRlIGVubGFjZSBhIGNvbnRlbmlkb1xuLy8vIEB0eXBlIE51bWJlclxuJGFic3RyYWN0LWJsb2NrLXN1YmNvbnRlbnRzLXBhZGRpbmc6IDBweCAhZGVmYXVsdDtcblxuLy8vIE1hcmdlbiBkZSBsb3MgaXRlbXMgZGUgbG9zIHN1YmNvbnRlbmlkb3MgZGVsIGNvbXBvbmVudGUgZGUgZW5sYWNlIGEgY29udGVuaWRvXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWJzdHJhY3QtYmxvY2stc3ViY29udGVudHMtaXRlbS1tYXJnaW46IDBweCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZGUgbG9zIGl0ZW1zIGRlIGxvcyBzdWJjb250ZW5pZG9zIGRlbCBjb21wb25lbnRlIGRlIGVubGFjZSBhIGNvbnRlbmlkb1xuLy8vIEB0eXBlIE51bWJlclxuJGFic3RyYWN0LWJsb2NrLXN1YmNvbnRlbnRzLWl0ZW0tcGFkZGluZzogMHB4ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZSBsb3MgaXRlbXMgZGUgbG9zIHN1YmNvbnRlbmlkb3MgZGVsIGNvbXBvbmVudGUgZGUgZW5sYWNlIGEgY29udGVuaWRvXG4vLy8gQHR5cGUgQ29sb3JcbiRhYnN0cmFjdC1ibG9jay1zdWJjb250ZW50cy1pdGVtLWNvbG9yOiAkYWJzdHJhY3QtYmxvY2stdGl0bGUtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlIGxvcyBpdGVtcyBkZSBsb3Mgc3ViY29udGVuaWRvcyBkZWwgY29tcG9uZW50ZSBkZSBlbmxhY2UgYSBjb250ZW5pZG8gY3VhbmRvIHNlIGhhY2UgaG92ZXJcbi8vLyBAdHlwZSBDb2xvclxuJGFic3RyYWN0LWJsb2NrLXN1YmNvbnRlbnRzLWl0ZW0tY29sb3ItaG92ZXI6ICRhYnN0cmFjdC1ibG9jay10aXRsZS1jb2xvci1ob3ZlciAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB0b3AgZGUgbG9zIGl0ZW1zIGRlIGxvcyBzdWJjb250ZW5pZG9zIGRlbCBjb21wb25lbnRlIGRlIGVubGFjZSBhIGNvbnRlbmlkb1xuJGFic3RyYWN0LWJsb2NrLXN1YmNvbnRlbnRzLWl0ZW0tYm9yZGVyLXRvcDogMHB4ICFkZWZhdWx0O1xuXG4vLy8gSWNvbm8gZGUgbG9zIGl0ZW1zIGRlIGxvcyBzdWJjb250ZW5pZG9zIGRlbCBjb21wb25lbnRlIGRlIGVubGFjZSBhIGNvbnRlbmlkb1xuLy8vIEB0eXBlIFN0cmluZ1xuJGFic3RyYWN0LWJsb2NrLXN1YmNvbnRlbnRzLWl0ZW0taWNvbjogJycgIWRlZmF1bHQ7XG5cbi8vLyBGdWVudGUgZGVsIGljb25vIGRlIGxvcyBpdGVtcyBkZSBsb3Mgc3ViY29udGVuaWRvcyBkZWwgY29tcG9uZW50ZSBkZSBlbmxhY2UgYSBjb250ZW5pZG9cbi8vLyBAdHlwZSBTdHJpbmdcbiRhYnN0cmFjdC1ibG9jay1zdWJjb250ZW50cy1pdGVtLWljb24tZm9udDogJycgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGljb25vIGRlIGxvcyBpdGVtcyBkZSBsb3Mgc3ViY29udGVuaWRvcyBkZWwgY29tcG9uZW50ZSBkZSBlbmxhY2UgYSBjb250ZW5pZG9cbi8vLyBAdHlwZSBDb2xvclxuJGFic3RyYWN0LWJsb2NrLXN1YmNvbnRlbnRzLWl0ZW0taWNvbi1jb2xvcjogJGFic3RyYWN0LWJsb2NrLXRpdGxlLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBkZWwgaWNvbm8gZGUgbG9zIGl0ZW1zIGRlIGxvcyBzdWJjb250ZW5pZG9zIGRlbCBjb21wb25lbnRlIGRlIGVubGFjZSBhIGNvbnRlbmlkb1xuLy8vIEB0eXBlIE51bWJlclxuJGFic3RyYWN0LWJsb2NrLXN1YmNvbnRlbnRzLWl0ZW0taWNvbi1wYWRkaW5nOiAkY29udGVudExpc3RJY29uUGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFZhcmlhYmxlIHBhcmEgaW5kaWNhciBzaSBzZSBtdWVzdHJhbiBsb3MgaWNvbm9zIGRlIGRpcmVjY2lvbiBvIG5vXG4vLy8gQHR5cGUgYm9vbFxuJGFkZHJlc3Mtc2hvdy1pY29uczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEZ1ZW50ZSBkZWwgaWNvbm8gZGUgZGlyZWNjacOzblxuLy8vIEB0eXBlIFN0cmluZ1xuJGFkZHJlc3MtaWNvbi1mb250OiAnRm9udEF3ZXNvbWUnICFkZWZhdWx0O1xuXG4vLy8gSWNvbm8gZGUgZW1haWwgYWwgaW5kaWNhciBkYXRvcyBkZSBkaXJlY2Npw7NuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYWRkcmVzcy1pY29uLWVtYWlsOiAnXFxmMGUwJyAhZGVmYXVsdDtcblxuLy8vIEljb25vIGRlIHdlYiBhbCBpbmRpY2FyIGRhdG9zIGRlIGRpcmVjY2nDs25cbi8vLyBAdHlwZSBTdHJpbmdcbiRhZGRyZXNzLWljb24td2ViOiAnXFxmMGMxJyAhZGVmYXVsdDtcblxuLy8vIEljb25vIGRlIHRlbGVmb25vIGFsIGluZGljYXIgZGF0b3MgZGUgZGlyZWNjacOzblxuLy8vIEB0eXBlIFN0cmluZ1xuJGFkZHJlc3MtaWNvbi1waG9uZTogJ1xcZjA5NScgIWRlZmF1bHQ7XG5cbi8vLyBJY29ubyBkZSBmYXggYWwgaW5kaWNhciBkYXRvcyBkZSBkaXJlY2Npw7NuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYWRkcmVzcy1pY29uLWZheDogJ1xcZjFhYycgIWRlZmF1bHQ7XG5cbi8vLyBJY29ubyBkZSBtb3ZpbCBhbCBpbmRpY2FyIGRhdG9zIGRlIGRpcmVjY2nDs25cbi8vLyBAdHlwZSBTdHJpbmdcbiRhZGRyZXNzLWljb24tbW9iaWxlOiAnXFxmMTBiJyAhZGVmYXVsdDtcblxuLy8vIEFsdHVyYSBkZWwgY29tcG9uZW50ZSBkZSBtYXBhc1xuLy8vIEB0eXBlIE51bWJlclxuJG1hcHMtaGVpZ2h0OiA0MDBweCAhZGVmYXVsdDtcblxuLy8vIExhIGZvcm1hIGVuIGxhIHF1ZSBhcGFyZWNlbiBsYXMgb3BjaW9uZXMgZW4gbW9kbyBlbWJlYmlkbyBkZWwgY29tcG9uZW50ZSBkZSBtYXBhcyAoc2UgZXNwZWNpZmljYVxuLy8vIHVuIG1hcGEgaW5kZXhhZG8gcG9yIGxhIHJlc29sdWNpw7NuICh4cywgc20sIG1kLCBsZykgeSBwYXJhIGNhZGEgdW5vIFxuLy8vIHVuIHBhciBlbCBwcmltZXJvIGVsIHRhbWHDsW8gZGVsIGJsb3F1ZSBkZSBtYXBhIHkgZWwgc2VndW5kbyBkZSBvcGNpb25lcykuXG4vLy8gXG4vLy8gICAgIHhzOiBEaXNwb3NpdGl2b3MgZXh0cmEgcGVxdWXDsW9zICAoVGVsZWZvbm8pO1xuLy8vICAgICBzbTogRGlzcG9zaXRpdm9zIHBlcXVlw7FvcyAoVGFibGV0cyk7XG4vLy8gICAgIG1kOiBEaXNwb3NpdGl2b3MgbWVkaW9zIChNb25pdG9yZXMpO1xuLy8vICAgICBsZzogRGlzcG9zaXRpdm9zIGdyYW5kZXMgKE1vbml0b3JlcyA+IDEyMDBweCk7XG4vLy8gICAgIFxuLy8vIEB0eXBlIE1hcFxuJG1hcHMtb3B0aW9ucy1kaXNwb3NpdGlvbjogKCd4cyc6ICgxMiwxMiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NtJzogKDEyLDEyKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWQnOiAoNiw2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbGcnOiAoOCw0KSkgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGxldHJhIGRlbCB0w610dWxvIGRlIGxhIHZlbnRhbmEgZGUgaW5mb3JtYWNpw7NuIGVuIGVsIGNvbXBvbmVudGUgZGUgbWFwYXNcbi8vLyBAdHlwZSBOdW1iZXIgXG4kbWFwcy1pbmZvd2luZG93LXRpdGxlLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbCAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZGUgbGV0cmEgZGVsIGN1ZXJwbyBkZSBsYSB2ZW50YW5hIGRlIGluZm9ybWFjacOzbiBlbiBlbCBjb21wb25lbnRlIGRlIG1hcGFzXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWFwcy1pbmZvd2luZG93LWJvZHktZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsZXIgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIHRleHRvIGRlbCBjdWVycG8gZGUgbGEgdmVudGFuYSBkZSBpbmZvcm1hY2nDs24gZW4gZWwgY29tcG9uZW50ZSBkZSBtYXBhc1xuLy8vIEB0eXBlIENvbG9yXG4kbWFwcy1pbmZvd2luZG93LWJvZHktdGV4dC1jb2xvcjogJHRleHQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGxhIGxldHJhIGRlIGxvcyBlbmxhY2VzIGRlIGxhIHZlbnRhbmEgZGUgaW5mb3JtYWNpw7NuIGVuIGVsIGNvbXBvbmVudGUgZGUgbWFwYXNcbi8vLyBAdHlwZSBOdW1iZXJcbiRtYXBzLWluZm93aW5kb3ctbGluay1mb250LXNpemU6ICRmb250LXNpemUtc21hbGwgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGxldHJhIGRlIGxhIGxleWVuZGEgZGVsIGJ1c2NhZG9yIGVuIGVsIGNvbXBvbmVudGUgZGUgbWFwYXNcbi8vLyBAdHlwZSBOdW1iZXJcbiRtYXBzLXNlYXJjaGVyLWxlZ2VuZC1mb250LXNpemU6ICRmb250LXNpemUtc21hbGwgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGxldHJhIGRlbCBidXNjYWRvciBlbiBlbCBjb21wb25lbnRlIGRlIG1hcGFzXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWFwcy1zZWFyY2hlci1mb250LXNpemU6ICRmb250LXNpemUtc21hbGwgIWRlZmF1bHQ7XG5cbi8vLyBWYXJpYWJsZSBxdWUgaW5kaWNhIHNpIGVsIGZpZWxkc2V0IGRlbCBidXNjYWRvciB0aWVuZSBib3JkZSBvIG5vXG4vLy8gQHR5cGUgYm9vbFxuJG1hcHMtc2VhcmNoZXItZmllbGRzZXQtaGFzLWJvcmRlcjogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBWYXJpYWJsZSBxdWUgaW5kaWNhIHNpIGxhIGxleWVuZGEgZGVsIGJ1c2NhZG9yIHRpZW5lIGJvcmRlIG8gbm9cbi8vLyBAdHlwZSBib29sXG4kbWFwcy1zZWFyY2hlci1sZWdlbmQtaGFzLWJvcmRlcjogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgYm9yZGUgZGVsIGJ1c2NhZG9yIGVuIGVsIGNvbXBvbmVudGUgZGUgbWFwYXNcbi8vLyBAdHlwZSBDb2xvclxuJG1hcHMtc2VhcmNoZXItYm9yZGVyLWNvbG9yOiAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8vIE7Dum1lcm8gZGUgY29sdW1uYXMgZGVsIG1hcmtlciBkZWwgYnVzY2Fkb3IgZW4gZWwgY29tcG9uZW50ZSBkZSBtYXBhc1xuLy8vIEB0eXBlIE51bWJlclxuJG1hcHMtc2VhcmNoZXItbWFya2VyLWNvbHVtbnM6IDMgIWRlZmF1bHQ7XG5cbi8vLyBOw7ptZXJvIGRlIHB1bnRvcyBkZSBydXB0dXJhIGRlbCBtYXJrZXIgZGVsIGJ1c2NhZG9yIGRlcGVuZGllbmRvIGRlIGxhIHJlc29sdWNpb24gZW4gZWwgY29tcG9uZW50ZSBkZSBtYXBhc1xuLy8vIEB0eXBlIE51bWJlclxuJG1hcHMtc2VhcmNoZXItbWFya2VyLWJyZWFrcG9pbnRzOiAoJ3hzJzoxLCdzbSc6MiwnbWQnOjIpICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBsZXRyYSBkZWwgbWFya2VyIGRlbCBidXNjYWRvciBlbiBlbCBjb21wb25lbnRlIGRlIG1hcGFzXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWFwcy1zZWFyY2hlci1tYXJrZXItZm9udC1zaXplOiAkbWFwcy1zZWFyY2hlci1mb250LXNpemUgIWRlZmF1bHQ7IFxuXG4vLy8gVGFtYcOxbyBkZSBsZXRyYSBkZWwgYm90w7NuIGRlbCBidXNjYWRvciBlbiBlbCBjb21wb25lbnRlIGRlIG1hcGFzXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWFwcy1zZWFyY2hlci1idXR0b24tZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZWwgYm90w7NuIHBvciBkZWZlY3RvIGRlbCBidXNjYWRvciBlbiBlbCBjb21wb25lbnRlIGRlIG1hcGFzXG4vLy8gQHR5cGUgQ29sb3JcbiRtYXBzLXNlYXJjaGVyLWJ1dHRvbi1kZWZhdWx0LWNvbG9yczogJGdyYXktZGFyayAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgYm90w7NuIGRlbCBidXNjYWRvciBlbiBlbCBjb21wb25lbnRlIGRlIG1hcGFzXG4vLy8gQHR5cGUgQ29sb3JcbiRtYXBzLXNlYXJjaGVyLWJ1dHRvbi1hcnJpdmUtY29sb3JzOiAjZmZmZmZmICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLy8gQWx0dXJhIGRlbCBidXNjYWRvciBkZSBtYXBhc1xuLy8vIEB0eXBlIE51bWJlclxuJHNlYXJjaC1tYXBzLWhlaWdodDogJG1hcHMtaGVpZ2h0ICFkZWZhdWx0O1xuXG4vLyBMYSBmb3JtYSBlbiBsYSBxdWUgYXBhcmVjZW4gbGFzIG9wY2lvbmVzIGVuIG1vZG8gZW1iZWJpZG8gKHNlIGVzcGVjaWZpY2Fcbi8vIHVuIG1hcGEgaW5kZXhhZG8gcG9yIGxhIHJlc29sdWNpw7NuICh4cywgc20sIG1kLCBsZykgeSBwYXJhIGNhZGEgdW5vIFxuLy8gdW4gcGFyIGVsIHByaW1lcm8gZWwgdGFtYcOxbyBkZWwgYmxvcXVlIGRlIG1hcGEgeSBlbCBzZWd1bmRvIGRlIG9wY2lvbmVzKVxuJHNlYXJjaC1tYXBzLW9wdGlvbnMtZGlzcG9zaXRpb246ICRtYXBzLW9wdGlvbnMtZGlzcG9zaXRpb24gIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGxhIGxldHJhIGRlbCB0w610dWxvIGRlIGxhIHZlbnRhbmEgZGUgaW5mb3JtYWNpw7NuIGRlbCBidXNjYWRvciBkZSBtYXBhc1xuLy8vIEB0eXBlIE51bWJlclxuJHNlYXJjaC1tYXBzLWluZm93aW5kb3ctdGl0bGUtZm9udC1zaXplOiAkbWFwcy1pbmZvd2luZG93LXRpdGxlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZGUgbGEgbGV0cmEgZGVsIGN1ZXJwbyBkZSBsYSB2ZW50YW5hIGRlIGluZm9ybWFjacOzbiBkZWwgYnVzY2Fkb3IgZGUgbWFwYXNcbi8vLyBAdHlwZSBOdW1iZXJcbiRzZWFyY2gtbWFwcy1pbmZvd2luZG93LWJvZHktZm9udC1zaXplOiAkbWFwcy1pbmZvd2luZG93LWJvZHktZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCB0ZXh0byBkZWwgY3VlcnBvIGRlIGxhIHZlbnRhbmEgZGUgaW5mb3JtYWNpw7NuIGRlbCBidXNjYWRvciBkZSBtYXBhc1xuLy8vIEB0eXBlIENvbG9yXG4kc2VhcmNoLW1hcHMtaW5mb3dpbmRvdy1ib2R5LXRleHQtY29sb3I6ICRtYXBzLWluZm93aW5kb3ctYm9keS10ZXh0LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBsYSBsZXRyYSBkZSBsb3MgZW5sYWNlcyBkZSBsYSB2ZW50YW5hIGRlIGluZm9ybWFjacOzbiBlbiBlbCBidXNjYWRvciBkZSBtYXBhc1xuLy8vIEB0eXBlIE51bWJlclxuJHNlYXJjaC1tYXBzLWluZm93aW5kb3ctbGluay1mb250LXNpemU6ICRtYXBzLWluZm93aW5kb3ctbGluay1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGxhIGxldHJhIGRlIGxhIGxleWVuZGEgZGVsIGJ1c2NhZG9yIGVuIGVsIGJ1c2NhZG9yIGRlIG1hcGFzXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2VhcmNoLW1hcHMtc2VhcmNoZXItbGVnZW5kLWZvbnQtc2l6ZTogJG1hcHMtc2VhcmNoZXItbGVnZW5kLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZGUgbGEgbGV0cmEgZGVsIGJ1c2NhZG9yIGVuIGVsIGJ1c2NhZG9yIGRlIG1hcGFzXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2VhcmNoLW1hcHMtc2VhcmNoZXItZm9udC1zaXplOiAkbWFwcy1zZWFyY2hlci1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBWYXJpYWJsZSBxdWUgaW5kaWNhIHNpIGVsIGZpZWxkc2V0IGRlbCBidXNjYWRvciBlbiBlbCBidXNjYWRvciBkZSBtYXBhcyB0aWVuZSBib3JkZSBvIG5vXG4vLy8gQHR5cGUgYm9vbFxuJHNlYXJjaC1tYXBzLXNlYXJjaGVyLWZpZWxkc2V0LWhhcy1ib3JkZXI6ICRtYXBzLXNlYXJjaGVyLWZpZWxkc2V0LWhhcy1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBWYXJpYWJsZSBxdWUgaW5kaWNhIHNpIGxhIGxleWVuZGEgZGVsIGJ1c2NhZG9yIGVuIGVsIGJ1c2NhZG9yIGRlIG1hcGFzIHRpZW5lIGJvcmRlIG8gbm9cbi8vLyBAdHlwZSBib29sXG4kc2VhcmNoLW1hcHMtc2VhcmNoZXItbGVnZW5kLWhhcy1ib3JkZXI6ICRtYXBzLXNlYXJjaGVyLWxlZ2VuZC1oYXMtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCBib3JkZSBkZWwgYnVzY2Fkb3IgZW4gZWwgYnVzY2Fkb3IgZGUgbWFwYXNcbi8vLyBAdHlwZSBDb2xvciBcbiRzZWFyY2gtbWFwcy1zZWFyY2hlci1ib3JkZXItY29sb3I6ICRtYXBzLXNlYXJjaGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIE7Dum1lcm8gZGUgY29sdW1uYXMgZGVsIG1hcmtlciBkZWwgYnVzY2Fkb3IgZW4gZWwgYnVzY2Fkb3IgZGUgbWFwYXNcbi8vLyBAdHlwZSBOdW1iZXJcbiRzZWFyY2gtbWFwcy1zZWFyY2hlci1tYXJrZXItY29sdW1uczogJG1hcHMtc2VhcmNoZXItbWFya2VyLWNvbHVtbnMgIWRlZmF1bHQ7XG5cbi8vLyBQdW50b3MgZGUgcnVwdHVyYSBkZWwgbWFya2VyIGRlbCBidXNjYWRvciBkZXBlbmRpZW5kbyBkZSBsYSByZXNvbHVjacOzbiBlbiBlbCBidXNjYWRvciBkZSBtYXBhc1xuLy8vIEB0eXBlIE51bWJlclxuJHNlYXJjaC1tYXBzLXNlYXJjaGVyLW1hcmtlci1icmVha3BvaW50czogJG1hcHMtc2VhcmNoZXItbWFya2VyLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBsYSBsZXRyYSBkZWwgbWFya2VyIGRlbCBidXNjYWRvciBlbiBlbCBidXNjYWRvciBkZSBtYXBhc1xuLy8vIEB0eXBlIE51bWJlclxuJHNlYXJjaC1tYXBzLXNlYXJjaGVyLW1hcmtlci1mb250LXNpemU6ICRtYXBzLXNlYXJjaGVyLW1hcmtlci1mb250LXNpemUgIWRlZmF1bHQ7IFxuXG4vLy8gVGFtYcOxbyBkZSBsYSBsZXRyYSBkZWwgYm90w7NuIGRlbCBidXNjYWRvciBlbiBlbCBidXNjYWRvciBkZSBtYXBhc1xuLy8vIEB0eXBlIE51bWJlclxuJHNlYXJjaC1tYXBzLXNlYXJjaGVyLWJ1dHRvbi1mb250LXNpemU6ICRtYXBzLXNlYXJjaGVyLWJ1dHRvbi1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCBib3TDs24gcG9yIGRlZmVjdG8gZGVsIGJ1c2NhZG9yIGVuIGVsIGJ1c2NhZG9yIGRlIG1hcGFzXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWFyY2gtbWFwcy1zZWFyY2hlci1idXR0b24tZGVmYXVsdC1jb2xvcnM6ICRtYXBzLXNlYXJjaGVyLWJ1dHRvbi1kZWZhdWx0LWNvbG9ycyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGVsIGJvdMOzbiBwb3IgZGVmZWN0byBkZWwgYnVzY2Fkb3IgZW4gZWwgYnVzY2Fkb3IgZGUgbWFwYXNcbi8vLyBAdHlwZSBDb2xvclxuJHNlYXJjaC1tYXBzLXNlYXJjaGVyLWJ1dHRvbi1hcnJpdmUtY29sb3JzOiAkbWFwcy1zZWFyY2hlci1idXR0b24tYXJyaXZlLWNvbG9ycyAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZGUgbGV0cmEgZGVsIHTDrXR1bG8gZGUgbGEgdmVudGFuYSBkZSBpbmZvcm1hY2nDs24gZGUgbG9zIG1hcGFzIHBvcHVwXG4vLy8gQHR5cGUgTnVtYmVyXG4kcG9wdXAtbWFwcy1pbmZvd2luZG93LXRpdGxlLWZvbnQtc2l6ZTogJG1hcHMtaW5mb3dpbmRvdy10aXRsZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGxldHJhIGRlbCBjdWVycG8gZGUgbGEgdmVudGFuYSBkZSBpbmZvcm1hY2nDs24gZGUgbG9zIG1hcGFzIHBvcHVwXG4vLy8gQHR5cGUgTnVtYmVyXG4kcG9wdXAtbWFwcy1pbmZvd2luZG93LWJvZHktZm9udC1zaXplOiAkbWFwcy1pbmZvd2luZG93LWJvZHktZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCB0ZXh0byBkZWwgY3VlcnBvIGRlIGxhIHZlbnRhbmEgZGUgaW5mb3JtYWNpw7NuIGRlIGxvcyBtYXBhcyBwb3B1cFxuLy8vIEB0eXBlIENvbG9yXG4kcG9wdXAtbWFwcy1pbmZvd2luZG93LWJvZHktdGV4dC1jb2xvcjogJG1hcHMtaW5mb3dpbmRvdy1ib2R5LXRleHQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGxldHJhIGRlIGxvcyBlbmxhY2VzIGVuIGxhIHZlbnRhbmEgZGUgaW5mb3JtYWNpw7NuIGRlIGxvcyBtYXBhcyBwb3B1cFxuLy8vIEB0eXBlIE51bWJlclxuJHBvcHVwLW1hcHMtaW5mb3dpbmRvdy1saW5rLWZvbnQtc2l6ZTogJG1hcHMtaW5mb3dpbmRvdy1saW5rLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZGUgbGV0cmEgZGUgbGEgbGV5ZW5kYSBkZWwgYnVzY2Fkb3IgZW4gbG8gbWFwYXMgcG9wdXBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwb3B1cC1tYXBzLXNlYXJjaGVyLWxlZ2VuZC1mb250LXNpemU6ICRtYXBzLXNlYXJjaGVyLWxlZ2VuZC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGxldHJhIGRlbCBidXNjYWRvciBlbiBsb3MgbWFwYXMgcG9wdXBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwb3B1cC1tYXBzLXNlYXJjaGVyLWZvbnQtc2l6ZTogJG1hcHMtc2VhcmNoZXItZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gVmFyaWFibGUgcXVlIGluZGljYSBzaSBlbCBmaWVsZHNldCBkZWwgYnVzY2Fkb3IgZW4gbG9zIG1hcGFzIHBvcHVwIHRpZW5lIGJvcmRlIG8gbm9cbi8vLyBAdHlwZSBib29sXG4kcG9wdXAtbWFwcy1zZWFyY2hlci1maWVsZHNldC1oYXMtYm9yZGVyOiAkbWFwcy1zZWFyY2hlci1maWVsZHNldC1oYXMtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVmFyaWFibGUgcXVlIGluZGljYSBzaSBsYSBsZXllbmRhIGRlbCBidXNjYWRvciBlbiBsb3MgbWFwYXMgcG9wdXAgdGllbmUgYm9yZGUgbyBub1xuLy8vIEB0eXBlIGJvb2xcbiRwb3B1cC1tYXBzLXNlYXJjaGVyLWxlZ2VuZC1oYXMtYm9yZGVyOiAkbWFwcy1zZWFyY2hlci1sZWdlbmQtaGFzLWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgYm9yZGUgZGVsIGJ1c2NhZG9yIGVuIGxvcyBtYXBhcyBwb3B1cFxuLy8vIEB0eXBlIENvbG9yXG4kcG9wdXAtbWFwcy1zZWFyY2hlci1ib3JkZXItY29sb3I6ICRtYXBzLXNlYXJjaGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIE7Dum1lcm8gZGUgY29sdW1uYXMgZGVsIG1hcmtlciBkZWwgYnVzY2Fkb3IgZW4gbG9zIG1hcGFzIHBvcHVwXG4vLy8gQHR5cGUgTnVtYmVyIFxuJHBvcHVwLW1hcHMtc2VhcmNoZXItbWFya2VyLWNvbHVtbnM6ICRtYXBzLXNlYXJjaGVyLW1hcmtlci1jb2x1bW5zICFkZWZhdWx0O1xuXG4vLy8gTsO6bWVybyBkZSBwdW50b3MgZGUgcnVwdHVyYSBkZWwgbWFya2VyIGRlbCBidXNjYWRvciBlbiBsb3MgbWFwYXMgcG9wdXBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwb3B1cC1tYXBzLXNlYXJjaGVyLW1hcmtlci1icmVha3BvaW50czogJG1hcHMtc2VhcmNoZXItbWFya2VyLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBsZXRyYSBkZWwgbWFya2VyIGRlbCBidXNjYWRvciBlbiBsb3MgbWFwYXMgcG9wdXBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwb3B1cC1tYXBzLXNlYXJjaGVyLW1hcmtlci1mb250LXNpemU6ICRtYXBzLXNlYXJjaGVyLW1hcmtlci1mb250LXNpemUgIWRlZmF1bHQ7IFxuXG4vLy8gVGFtYcOxbyBkZSBsZXRyYSBkZWwgYm90w7NuIGRlbCBidXNjYWRvciBlbiBsb3MgbWFwYXMgcG9wdXBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwb3B1cC1tYXBzLXNlYXJjaGVyLWJ1dHRvbi1mb250LXNpemU6ICRtYXBzLXNlYXJjaGVyLWJ1dHRvbi1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCBib3TDs24gcG9yIGRlZmVjdG8gZGVsIGJ1c2NhZG9yIGVuIGxvcyBtYXBhcyBwb3B1cFxuLy8vIEB0eXBlIENvbG9yXG4kcG9wdXAtbWFwcy1zZWFyY2hlci1idXR0b24tZGVmYXVsdC1jb2xvcnM6ICRtYXBzLXNlYXJjaGVyLWJ1dHRvbi1kZWZhdWx0LWNvbG9ycyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGVsIGJvdMOzbiBkZWwgYnVzY2Fkb3IgZW4gbG9zIG1hcGFzIHBvcHVwXG4vLy8gQHR5cGUgQ29sb3JcbiRwb3B1cC1tYXBzLXNlYXJjaGVyLWJ1dHRvbi1hcnJpdmUtY29sb3JzOiAkbWFwcy1zZWFyY2hlci1idXR0b24tYXJyaXZlLWNvbG9ycyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgZm9uZG8gZGUgbG9zIG1hcGFzIHBvcHVwXG4vLy8gQHR5cGUgQ29sb3JcbiRwb3B1cC1tYXBzLWJhY2tncm91bmQtY29sb3I6ICMwMDAwMDAgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlIGxvcyBtYXBhcyBwb3B1cFxuLy8vIEB0eXBlIENvbG9yXG4kcG9wdXAtbWFwcy10ZXh0LWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZGUgbGEgbGV0cmEgZGUgbG9zIHN0YXRlIGRlIGxhIGxpc3RhIGRlIG1hcGFzXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWFwcy1saXN0LXN0YXRlLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbCAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZGUgbGV0cmEgZGUgbGEgY2F0ZWdvcmlhIGRlIGxhIGxpc3RhIGRlIG1hcGFzXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWFwcy1saXN0LWNhdGVnb3J5LWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbGVyICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBsZXRyYSBkZWwgaXRlbSBkZSBsYSBsaXN0YSBkZSBtYXBhc1xuLy8vIEB0eXBlIE51bWJlclxuJG1hcHMtbGlzdC1pdGVtLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4vLy8gTsO6bWVybyBkZSBjb2x1bW5hcyBkZWwgbml2ZWwgMSBkZWwgc2l0ZW1hcFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1zaXRlbWFwLWxldmVsMS1jb2x1bW5zOiAxICFkZWZhdWx0O1xuXG4vLy8gTsO6bWVybyBkZSBwdW50b3MgZGUgcnVwdHVyYSBkZWwgbml2ZWwgMSBkZWwgc2l0ZW1hcFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1zaXRlbWFwLWxldmVsMS1jb2x1bW5zLWJyZWFrcG9pbnRzOiAoJ3hzJzoxKSAhZGVmYXVsdDtcblxuLy8vIE7Dum1lcm8gZGUgY29sdW1uYXMgZGVsIG5pdmVsIDIgZGVsIHNpdGVtYXBcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtc2l0ZW1hcC1sZXZlbDItY29sdW1uczogMiAhZGVmYXVsdDtcblxuLy8vIE7Dum1lcm8gZGUgcHVudG9zIGRlIHJ1cHR1cmEgZGVsIG5pdmVsIDIgZGVsIHNpdGVtYXBcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtc2l0ZW1hcC1sZXZlbDItY29sdW1ucy1icmVha3BvaW50czogKCd4cyc6MSkgIWRlZmF1bHQ7XG5cblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGVsIHRleHRvIGFsIGVuZmF0aXphciBlbCByZXN1bHRhZG8gZGUgdW5hIGLDunNxdWVkYSBkZSB1biB0w6lybWlubyBxdWUgZXhpc3RlXG4vLy8gQHR5cGUgQ29sb3JcbiRoaWdobGlnaHRlZC10ZXh0LWNvbG9yOiB5ZWxsb3cgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGZvbmRvIGFsIGVuZmF0aXphciBlbCByZXN1bHRhZG8gZGUgdW5hIGLDunNxdWVkYSBkZSB1biB0w6lybWlubyBxdWUgZXhpc3RlXG4vLy8gQHR5cGUgQ29sb3JcbiRoaWdobGlnaHRlZC1iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGVsIGVubGFjZSBxdWUgc2FsdGEgYWwgY29udGVuaWRvXG4vLy8gQHR5cGUgQ29sb3JcbiRqdW1wdG9jb250ZW50LXRleHQtY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCBmb25kbyBkZWwgZW5sYWNlIHF1ZSBzYWx0YSBhbCBjb250ZW5pZG9cbi8vLyBAdHlwZSBDb2xvclxuJGp1bXB0b2NvbnRlbnQtYmFja2dyb3VuZC1jb2xvcjogeWVsbG93ICFkZWZhdWx0O1xuXG4vLy8gTsO6bWVybyBkZSBjb2x1bW5hcyBwb3IgZGVmZWN0byBwYXJhIGxhIGdhbGVyw61hIGRlIGltYWdlbmVzXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW1hZ2UtZ2FsbGVyeS1jb2x1bW5zLWRlZmF1bHQ6IDQgIWRlZmF1bHQ7XG5cbi8vLyBOw7ptZXJvIGRlIGNvbHVtbmFzIGRlcGVuZGllbmRvIGRlIGxhIHJlc29sdWNpw7NuIHBhcmEgbGEgZ2FsZXLDrWEgZGUgaW1hZ2VuZXNcbi8vLyBAdHlwZSBOdW1iZXJcbiRpbWFnZS1nYWxsZXJ5LWNvbHVtbnM6ICgneHMnOjEsJ3NtJzozLCdtZCc6NCkgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGxhIHNlcGFyYWNpw7NuIGVudHJlIGxvcyBjb21wb25lbnRlcyBlbiBsYSBnYWxlcsOtYSBkZSBpbWFnZW5lc1xuLy8vIEB0eXBlIE51bWJlclxuJGltYWdlLWdhbGxlcnktZ3V0dGVyOiAkaGFsZkd1dHRlciAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZGUgbGEgbGV0cmEgZGUgbGEgbGV5ZW5kYSBlbiBsYSBnYWxlcsOtYSBkZSBpbWFnZW5lc1xuLy8vIEB0eXBlIE51bWJlclxuJGltYWdlLWdhbGxlcnktbGVnZW5kLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGUgbG9zIGVubGFjZXMgZGUgYXV0ZW50aWNhY2nDs25cbi8vLyBAdHlwZSBOdW1iZXJcbiRhdXRoLWxpbmtzLWNvbG9yOiAkcHJveGlhLWxpbmtzLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZSBsb3MgZW5sYWNlcyBkZSBhdXRlbnRpY2FjacOzbiBjdWFuZG8gc2UgaGFjZSBob3ZlclxuLy8vIEB0eXBlIENvbG9yXG4kYXV0aC1saW5rcy1jb2xvci1ob3ZlcjogJHByb3hpYS1saW5rcy1jb2xvci1ob3ZlciAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZGUgbGEgbGV0cmEgZGUgbG9zIGVubGFjZXMgZGUgYXV0ZW50aWNhY2nDs25cbi8vLyBAdHlwZSBOdW1iZXJcbiRhdXRoLW9wdGlvbnMtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbi8vLyBWYXJpYWJsZSBxdWUgaW5kaWNhIHNpIHNlIG9jdWx0YSBlbCB0ZXh0byBkZSBsb3MgZW5sYWNlcyBkZSBhdXRlbnRpY2FjacOzbiBvIG5vXG4vLy8gQHR5cGUgYm9vbFxuJGF1dGgtb3B0aW9ucy1oaWRlLXRleHQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGxhIGxldHJhIGRlbCBvdmVybGF5IGRlbnRybyBkZSB1biBjb250ZW5lZG9yXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3ZlcmxheS1zaXplOiAxNXB4ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZWwgb3ZlcmxheSBkZW50cm8gZGUgdW4gY29udGVuZWRvclxuLy8vIEB0eXBlIENvbG9yXG4kb3ZlcmxheS1jb2xvcjogI2FhYSAhZGVmYXVsdDtcblxuLy8vIEFuY2hvIHBhcmEgbGEgcMOhZ2luYSBkZSBlcnJvciB5IG1lbnNhamVcbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdlLWVycm9yLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgZm9uZG8gZGUgbGEgcMOhZ2luYSBkZSBlcnJvciB5IG1lbnNhamVcbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2UtZXJyb3ItYmFja2dyb3VuZDogI2ZmZiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGUgbGEgcMOhZ2luYSBkZSBlcnJvciB5IG1lbnNhamVcbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2UtZXJyb3ItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZSBwYXJhIGxhIGxhIHDDoWdpbmEgZGUgZXJyb3IgeSBtZW5zYWplXG4kcGFnZS1lcnJvci1ib3JkZXI6IDNweCBzb2xpZCAjY2NjICFkZWZhdWx0O1xuXG4vLy8gQWxpbmVhY2nDs24gZGVsIHTDrXR1bG8gcGFyYSBsYSBww6FnaW5hIGRlIGVycm9yIHkgbWVuc2FqZVxuJHBhZ2UtZXJyb3ItdGl0bGUtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGVsIHN1YnTDrXR1bG8gcGFyYSBsYSBww6FnaW5hIGRlIGVycm9yIHkgbWVuc2FqZVxuLy8vIEB0eXBlIENvbG9yXG4kcGFnZS1lcnJvci1zdWJ0aXRsZS1jb2xvcjogIzg4OCAhZGVmYXVsdDtcblxuLy8vIEFsaW5lYWNpw7NuIGRlbCBjb250ZW5pZG8gZW4gbGEgcMOhZ2luYSBkZSBlcnJvciB5IG1lbnNhamVcbiRwYWdlLWVycm9yLWNvbnRlbnQtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGVsIGNvbnRlbmlkbyBlbiBsYSBsYSBww6FnaW5hIGRlIGVycm9yIHkgbWVuc2FqZVxuLy8vIEB0eXBlIENvbG9yXG4kcGFnZS1lcnJvci1jb250ZW50LWNvbG9yOiAjNDQ0ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgZGUgZm9uZG8gcGFyYSBlbCBtZW7DuiBkZSBhdXRvY29tcGxldGFyIGVuIGxhcyBiw7pzcXVlZGFzXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWFyY2gtYXV0b2NvbXBsZXRlLWJhY2tncm91bmQtY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBkZSBsZXRyYSBwYXJhIGVsIG1lbsO6IGRlIGF1dG9jb21wbGV0YXIgZW4gbGFzIGLDunNxdWVkYXNcbi8vLyBAdHlwZSBDb2xvclxuJHNlYXJjaC1hdXRvY29tcGxldGUtY29sb3I6ICM3YzdjN2MgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZSBwYXJhIGVsIG1lbsO6IGRlIGF1dG9jb21wbGV0YXIgZW4gbGFzIGLDunNxdWVkYXNcbi8vLyBAdHlwZSBOdW1iZXJcbiRzZWFyY2gtYXV0b2NvbXBsZXRlLWJvcmRlcjogMXB4IHNvbGlkICNjY2MgIWRlZmF1bHQ7XG5cbi8vLyBBbmNobyBtw61uaW1vIGRlbCBhdXRvY29tcGxldGFyIGVuIGxhcyBiw7pzcXVlZGFzXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2VhcmNoLWF1dG9jb21wbGV0ZS1taW4td2lkdGg6IDEwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQW5jaG8gbcOheGltbyBkZWwgYXV0b2NvbXBsZXRhciBlbiBsYXMgYsO6c3F1ZWRhcy4gQXBhcnRlIGRlIGVzdG8sIGVsIGFuY2hvIG3DoXhpbW8gc2llbXByZSBlcyBoYXN0YSBlbCBib3JkZSBkZXJlY2hvIGRlIGxhIHZlbnRhbmEuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2VhcmNoLWF1dG9jb21wbGV0ZS1tYXgtd2lkdGg6IDcwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQWx0byBtw6F4aW1vIGRlbCBhdXRvY29tcGxldGFyIGVuIGxhcyBiw7pzcXVlZGFzXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2VhcmNoLWF1dG9jb21wbGV0ZS1tYXgtaGVpZ2h0OiA1MDBweCAhZGVmYXVsdDtcblxuIiwKCQkiLy8gQ29weXJpZ2h0IChjKSAyMDIxLiBEaXZpc2EgaVQgU0FVXG5cbi8qKlxuICogTWl4aW5zIHkgdmFyaWFibGVzIGRlIGNvbXBhdGliaWxpZGFkIGVudHJlIEJTMyB5IEJTNFxuICovXG4kcHJpbWFyeSAgIDogJGJyYW5kLXByaW1hcnkgICAhZGVmYXVsdDtcbiRzZWNvbmRhcnkgOiAkYnJhbmQtc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJGgxLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICRmb250LXNpemUtaDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAkZm9udC1zaXplLWgzICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNCAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICRmb250LXNpemUtaDUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAkZm9udC1zaXplLWg2ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS14c206ICRmb250LXNpemUtc21hbGxlciAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICRmb250LXNpemUtc21hbGwgIWRlZmF1bHQ7XG4kZm9udC1zaXplLXhsZzogJGZvbnQtc2l6ZS1sYXJnZXN0ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sZzogJGZvbnQtc2l6ZS1sYXJnZSAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAkdGV4dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoJHByaW1hcnksIC4yNSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15OiAkcGFkZGluZy1iYXNlLXZlcnRpY2FsICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXk6ICRwYWRkaW5nLWJhc2UtdmVydGljYWwgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAkcGFkZGluZy1iYXNlLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXM6ICRidG4tYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAkaW5wdXQtYmctZGlzYWJsZWQgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4kbGFiZWwtbWFyZ2luLWJvdHRvbTogNXB4ICFkZWZhdWx0O1xuJGJzMzogdHJ1ZTtcbiRncmF5LTIwMDogJGdyYXktbGlnaHRlciAhZGVmYXVsdDs7XG4kZ3JheS0zMDA6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJGdyYXktNDAwOiAkZ3JheS1iYXNlICFkZWZhdWx0O1xuJGdyYXktNzAwOiAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICR0ZXh0LWNvbG9yICFkZWZhdWx0O1xuXG4keHM6ICRzY3JlZW4teHMtbWluICFkZWZhdWx0O1xuJHNtOiAkc2NyZWVuLXNtLW1pbiAhZGVmYXVsdDtcbiRtZDogJHNjcmVlbi1tZC1taW4gIWRlZmF1bHQ7XG4kbGc6ICRzY3JlZW4tbGctbWluICFkZWZhdWx0O1xuJHhsOiAkc2NyZWVuLWxnLW1pbiAhZGVmYXVsdDtcblxuLy8vIFBhcmEgZXZpdGFyIHByb2JsZW1hcyByYXJvcywgQlM0IHRyYWJhamEgY29uIFJFTSBlbiBCUzMgY29uIHB4LCBhc8OtIHF1ZSBzaW1wbGVtZW50ZSB1bmEgZnVuY2nDs24gcGFyYSBoYWNlciB1biBlcXVpdmFsZW50ZVxuLy8vIGVudHJlIGFtYm9zIHNpbiB0ZW5lciBxdWUgcmVlc2NyaWJpciBlbCBzaXN0ZW1hLCBzaW1wbGVtZW50ZSBlbiBCUzMgZGV2b2x2ZW1vcyBlbCB2YWxvciBzb2xpY2l0YWRvIHNpbiBjb252ZXJ0aXJsbyBhIFJFTVxuQGZ1bmN0aW9uIHJlbSgkdW5pdCkge1xuICBAcmV0dXJuICR1bml0O1xufVxuXG5AZnVuY3Rpb24gcHgoJHVuaXQpIHtcbiAgQHJldHVybiAkdW5pdDtcbn1cblxuLy8gTWl4aW4gcGFyYSBAbWVkaWEtYnJlYWtwb2ludC11cCB5IEBtZWRpYS1icmVha3BpbnQtZG93bjsgZXMgdW5hXG4vLyBpbXBsYW50YWNpw7NuIGJhc3RhbnRlIGLDoXNpY2EsIHBlcm8gbm9zIHBlcm1pdGUgbWFudGVuZXIgY29tcGF0aWJpbGlkYWRcbi8vIGVudHJlIGFtYm9zIGVudG9ybm9zIChiczMgeSBiczQpXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkdW5pdCkge1xuICAkbWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbjtcblxuICBAaWYgJHVuaXQgPT0geHMge1xuICAgICRtaW4td2lkdGg6ICRzY3JlZW4teHMtbWluO1xuICB9IEBlbHNlIGlmICR1bml0ID09IHNtIHtcbiAgICAkbWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbjtcbiAgfSBAZWxzZSBpZiAkdW5pdCA9PSBtZCB7XG4gICAgJG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW47XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWluLXdpZHRoKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdW5pdCkge1xuICAkbWF4LXdpZHRoOiAkc2NyZWVuLWxnLW1pbjtcblxuICBAaWYgJHVuaXQgPT0geHMge1xuICAgICRtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4O1xuICB9IEBlbHNlIGlmICR1bml0ID09IHNtIHtcbiAgICAkbWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heDtcbiAgfSBAZWxzZSBpZiAkdW5pdCA9PSBtZCB7XG4gICAgJG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXg7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWF4LXdpZHRoKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gUmV0dXJuIHZhbGlkIGNhbGMgKGNvcGlhZG8gZGUgQlM0LCB0YWwgY3VhbClcbkBmdW5jdGlvbiBhZGQoJHZhbHVlMSwgJHZhbHVlMiwgJHJldHVybi1jYWxjOiB0cnVlKSB7XG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTEpID09IG51bWJlciBhbmQgdHlwZS1vZigkdmFsdWUyKSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHZhbHVlMSwgJHZhbHVlMikge1xuICAgIEByZXR1cm4gJHZhbHVlMSArICR2YWx1ZTI7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRyZXR1cm4tY2FsYyA9PSB0cnVlLCBjYWxjKCN7JHZhbHVlMX0gKyAjeyR2YWx1ZTJ9KSwgJHZhbHVlMSArIHVucXVvdGUoXCIgKyBcIikgKyAkdmFsdWUyKTtcbn1cblxuQGZ1bmN0aW9uIGNvbXBhdFN0cmlwVW5pdCgkdmFsdWUpIHtcbiAgQHJldHVybiAkdmFsdWUgLyAoJHZhbHVlICogMCArIDEpO1xufVxuXG5AZnVuY3Rpb24gc3VtKCR2YWx1ZS4uLikge1xuICAkcmVzdWx0OiBbMHB4LDBlbSwwcmVtLDAlLDB2aCwwdnYsJyddO1xuXG4gIEBlYWNoICR2IGluICR2YWx1ZSB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09IG51bWJlciBhbmQgY29tcGFyYWJsZSgkdixudGgoJHJlc3VsdCwxKSkge1xuICAgICAgJHI6IG50aCgkcmVzdWx0LDEpO1xuICAgICAgJHJlc3VsdDogc2V0LW50aCgkcmVzdWx0LDEsJHYrJHIpO1xuICAgIH1cbiAgICBAaWYgdHlwZS1vZigkdikgPT0gbnVtYmVyIGFuZCBjb21wYXJhYmxlKCR2LG50aCgkcmVzdWx0LDIpKSB7XG4gICAgICAkcjogbnRoKCRyZXN1bHQsMik7XG4gICAgICAkcmVzdWx0OiBzZXQtbnRoKCRyZXN1bHQsMiwkdiskcik7XG4gICAgfVxuICAgIEBpZiB0eXBlLW9mKCR2KSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHYsbnRoKCRyZXN1bHQsMykpIHtcbiAgICAgICRyOiBudGgoJHJlc3VsdCwzKTtcbiAgICAgICRyZXN1bHQ6IHNldC1udGgoJHJlc3VsdCwzLCR2KyRyKTtcbiAgICB9XG4gICAgQGlmIHR5cGUtb2YoJHYpID09IG51bWJlciBhbmQgY29tcGFyYWJsZSgkdixudGgoJHJlc3VsdCw0KSkge1xuICAgICAgJHI6IG50aCgkcmVzdWx0LDQpO1xuICAgICAgJHJlc3VsdDogc2V0LW50aCgkcmVzdWx0LDQsJHYrJHIpO1xuICAgIH1cbiAgICBAaWYgdHlwZS1vZigkdikgPT0gbnVtYmVyIGFuZCBjb21wYXJhYmxlKCR2LG50aCgkcmVzdWx0LDUpKSB7XG4gICAgICAkcjogbnRoKCRyZXN1bHQsNSk7XG4gICAgICAkcmVzdWx0OiBzZXQtbnRoKCRyZXN1bHQsNSwkdiskcik7XG4gICAgfVxuICAgIEBpZiB0eXBlLW9mKCR2KSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHYsbnRoKCRyZXN1bHQsNikpIHtcbiAgICAgICRyOiBudGgoJHJlc3VsdCw2KTtcbiAgICAgICRyZXN1bHQ6IHNldC1udGgoJHJlc3VsdCw2LCR2KyRyKTtcbiAgICB9XG4gICAgQGlmIHR5cGUtb2YoJHYpID09IHN0cmluZyB7XG4gICAgICAkcjogbnRoKCRyZXN1bHQsNyk7XG4gICAgICBAaWYgJHIgPT0gJycge1xuICAgICAgICAkcmVzdWx0OiBzZXQtbnRoKCRyZXN1bHQsIDcsICcjeyR2fScpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRyZXN1bHQ6IHNldC1udGgoJHJlc3VsdCwgNywgJyN7JHZ9ICsgI3skcn0nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG5cbiAgJG91dHB1dDonJztcbiAgQGVhY2ggJHIgaW4gJHJlc3VsdCB7XG5cbiAgICBAaWYgdHlwZS1vZigkcikgPT0gbnVtYmVyIGFuZCBjb21wYXRTdHJpcFVuaXQoJHIpICE9IDAge1xuICAgICAgQGlmICRvdXRwdXQgIT0gJycge1xuICAgICAgICAkb3V0cHV0OiAkb3V0cHV0KycgKyAjeyRyfSc7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJG91dHB1dDogJyN7JHJ9JztcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmKHR5cGUtb2YoJHIpID09IHN0cmluZyBhbmQgJHIhPScnKSB7XG4gICAgICBAaWYgJG91dHB1dCAhPSAnJyB7XG4gICAgICAgICRvdXRwdXQ6ICRvdXRwdXQrJyArICN7JHJ9JztcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkb3V0cHV0OiAnI3skcn0nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAcmV0dXJuIGNhbGMoI3skb3V0cHV0fSk7XG5cbn1cblxuXG5AZnVuY3Rpb24gc3VidHJhY3QoJHZhbHVlMSwgJHZhbHVlMiwgJHJldHVybi1jYWxjOiB0cnVlKSB7XG4gIEBpZiAkdmFsdWUxID09IG51bGwgYW5kICR2YWx1ZTIgPT0gbnVsbCB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgQGlmICR2YWx1ZTEgPT0gbnVsbCB7XG4gICAgQHJldHVybiAtJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTEpID09IG51bWJlciBhbmQgdHlwZS1vZigkdmFsdWUyKSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHZhbHVlMSwgJHZhbHVlMikge1xuICAgIEByZXR1cm4gJHZhbHVlMSAtICR2YWx1ZTI7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRyZXR1cm4tY2FsYyA9PSB0cnVlLCBjYWxjKCN7JHZhbHVlMX0gLSAjeyR2YWx1ZTJ9KSwgJHZhbHVlMSArIHVucXVvdGUoXCIgLSBcIikgKyAkdmFsdWUyKTtcbn1cblxuXG4vLyBMb3MgdGFicyBlbiBib290c3RyYXAgMyBubyBzb24gY29tbyBlbiA0LCBlIGludGVybmFtZW50ZSBlbiBlbCByZXBlYXQtZ3JvdXAgc2UgdXRpbGl6YW4sXG4vLyBsbyByZXRyb2NvbXBhdGliaWxpemFtb3MgcGFyYSBxdWUgc2UgdmVhbiBjb21vIGVuIDMsIHBlcm8gY29uIGxhIGVzdHJ1Y3R1cmEgaW50ZXJuYVxuLm5hdi1yZXBlYXQtZ3JvdXAubmF2LXRhYnMge1xuICA+IC5uYXYtaXRlbSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgLy8gTWFrZSB0aGUgbGlzdC1pdGVtcyBvdmVybGF5IHRoZSBib3R0b20gYm9yZGVyXG4gICAgbWFyZ2luLWJvdHRvbTogLTFweDtcblxuICAgIC8vIEFjdHVhbCB0YWJzIChhcyBsaW5rcylcbiAgICA+IC5uYXYtbGluayB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZSAkYm9yZGVyLXJhZGl1cy1iYXNlIDAgMDtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6YWN0aXZlLFxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6YWN0aXZlOmhvdmVyLFxuICAgICAgJjphY3RpdmU6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvciAkbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IgJG5hdi10YWJzLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICAgIC8vIENhbWJpYSBsYSBlc3RydWN0dXJhIGVuIGJvb3RzdHJhcCA0IHJlc3BlY3RvIGEgMywgYXPDrSBxdWUgYXF1aSBjb21vIGdlbmVyYW1vc1xuICAgICAgLy8gY8OzZGlnbyBiczQgY29tcGF0aWJsZSBsbyBlbWJlYmVtb3MgZW4gZXN0ZSBwdW50by5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgJixcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG59XG4iLAoJCSIvLy8gVmFyaWFibGVzIHByZWRlZmluaWRhcyBwYXJhIGVzcGFjaWFkb1xuJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBoYWxmR3V0dGVyXG4kaGFsZkd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMiAhZGVmYXVsdDtcblxuLy8vIFZhcmlhYmxlcyBwYXJhIHNlcnZpY2lvcyBSRUFDVCBjb24gZWwgc29wb3J0ZSBkZSBmb3JtdWxhcmlvc1xuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tY29udHJvbC1mb250LXNpemU6ICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlbCByYWRpbyBidXR0b24gZGUgUkVBQ1QgcGFyYSBsYSBzZWxlY2Npw7NuIGRlIGNhbXBvc1xuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tY29udHJvbC1yYWRpby1zaXplOiAkZm9udC1zaXplLXhsZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlIGRlIGxvcyBjb250cm9sZXMgZGUgZm9ybXVsYXJpbyBSRUFDVFxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tY29udHJvbC1ib3JkZXItcmFkaXVzOiAwcHggIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGZ1ZW50ZSBkZSBsYSBsZXllbmRhIGVuIGZvcm11bGFyaW9zIFJFQUNUXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1jb250cm9sLWxlZ2VuZC1mb250LXNpemU6ICRoNS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGZ1ZW50ZSBkZSBsYSBldGlxdWV0YSBlbiBmb3JtdWxhcmlvcyBSRUFDVFxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tY29udHJvbC1sYWJlbC1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGRlbCBib3JkZVxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1jb250cm9sLWJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuLy8gUGFyYSBlbCBzZWxlY3RvciBtdWx0aXBsZSBlbCB0YW1hw7FvIGRlbCBjYW1wbyBkZSB0ZXh0byBpbnRlcm5vXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1jb250cm9sLW11bHRpcGxlLXNlbGVjdC1mb250LXNpemU6ICRmb250LXNpemUteHNtICFkZWZhdWx0O1xuXG4vLy8gU29tYnJhIGRlbCBvYmpldG8gY29uIGZvY3VzXG4kZm9ybS1jb250cm9sLWJveC1zaGFkb3c6ICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuLy8vIEZvbmRvIGRlbCBjb250cm9sXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWNvbnRyb2wtYmdjb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHR1cmEgZW4gcGl4ZWxlcyBkZWwgYm9yZGVcbiRmb3JtLWNvbnRyb2wtYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4vLyBQYWRkaW5nIGRlbCBjb250cm9sIGRlIGZvcm11bGFyaW8gZW4gWVxuJGZvcm0tY29udHJvbC1wYWRkaW5nLXk6ICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG5cbi8vIFBhZGRpbmcgZGVsIGNvbnRyb2wgZGUgZm9ybXVsYXJpbyBlbiBYXG4kZm9ybS1jb250cm9sLXBhZGRpbmcteDogJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcblxuXG5cbi8vLyBBbHR1cmEgZGUgbMOtbmVhIGRlbCBjb250cm9sIGRlIGZvcm11bGFyaW9cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWNvbnRyb2wtbGluZS1oZWlnaHQ6ICRmb3JtLWNvbnRyb2wtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbi8vLyBBbHR1cmEgYmFzZSBkZWwgY29udHJvbCBkZSBmb3JtdWxhcmlvXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1jb250cm9sLWhlaWdodC1iYXNlOiBhZGQoJGZvcm0tY29udHJvbC1saW5lLWhlaWdodCwyKiRmb3JtLWNvbnRyb2wtcGFkZGluZy15KSAhZGVmYXVsdDtcblxuLy8vIEFsdHVyYSBkZWwgY29udHJvbCBkZSBmb3JtdWxhcmlvIGNvbXBsZXRvXG4kZm9ybS1jb250cm9sLWhlaWdodDogYWRkKCRmb3JtLWNvbnRyb2wtaGVpZ2h0LWJhc2UsIDIqJGZvcm0tY29udHJvbC1ib3JkZXItd2lkdGgsdHJ1ZSk7XG5cbi8vLyBQYWRkaW5nIHBhcmEgbG9zIGNvbnRyb2xlcyBkZSBmb3JtdWxhcmlvIGVzdMOhbmRhclxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tY29udHJvbC1wYWRkaW5nOiAkZm9ybS1jb250cm9sLXBhZGRpbmcteSAkZm9ybS1jb250cm9sLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuLy8vIEVuIGVsIGF1dG9jb21wbGV0ZSwgY29sb3IgZGUgZm9uZG8gZGVsIGJvdMOzbiBkZSBhw7FhZGlyIHVuIGl0ZW1cbi8vLyBAdHlwZSBOdW1iZXJcbiRhdXRvY29tcGxldGUtZWRpdC1iYWNrZ3JvdW5kOiAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbi8vLyBFbiBlbCBhdXRvY29tcGxldGUsIGJvcmRlIGRlbCBib3TDs24gZGUgYcOxYWRpciB1biBpdGVtXG4vLy8gQHR5cGUgTnVtYmVyXG4kYXV0b2NvbXBsZXRlLWVkaXQtYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRW4gZWwgYXV0b2NvbXBsZXRlLCByYWRpbyBkZWwgYm90w7NuIGRlIGHDsWFkaXIgdW4gaXRlbVxuLy8vIEB0eXBlIE51bWJlclxuJGF1dG9jb21wbGV0ZS1lZGl0LWJvcmRlci1yYWRpdXM6ICRmb3JtLWNvbnRyb2wtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEVuIGVsIGF1dG9jb21wbGV0ZSwgYWxpbmVhY2nDs24gZGVsIHRleHRvIGVudHJvIGRlbCBib3TDs24gZGUgYcOxYWRpciB1biBpdGVtXG4vLy8gQHR5cGUgU3RyaW5nXG4kYXV0b2NvbXBsZXRlLWVkaXQtdGV4dC1hbGlnbjogcmlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBFbiBlbCBhdXRvY29tcGxldGUsIGNvbG9yIGRlIHRleHRvIGRlbCBib3TDs24gZGUgYcOxYWRpciB1biBpdGVtLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGF1dG9jb21wbGV0ZS1lZGl0LXRleHQtY29sb3I6ICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gWm9uYSBlc3BlY8OtZmljYSBmaWNoZXJvcyBSRUFDVFxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcHpvbmUtcmVzdWx0cy1iYWNrZ3JvdW5kOiAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaWNpZGFkIGRlIGZvbmRvIGRlIGxhIGltYWdlbiBlbiBlbCBjb250cm9sIGRlIHRpcG8gaW1hZ2VuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcHpvbmUtY3VycmVudGltYWdlLW9wYWNpdHk6IDAuMyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGRlbCBib3JkZSBkZSBsYSB6b25hIGRlIHN1YmlkYSBkZSBkb2N1bWVudG9zXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wem9uZS1maWxlYXJlYS1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGRlbCBib3JkZSBkZSBsYSB6b25hIGRlIHN1YmlkYSBkZSBkb2N1bWVudG9zXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wem9uZS1pbWFnZWFyZWEtY29sb3I6ICRncmF5LTcwMCAhZGVmYXVsdDtcblxuXG4vLy8gRm9uZG8gZ2VuZXJhbCBkZSBsYSB6b25hIGRlIFJFQUNUIGRlIGZpY2hlcm9zXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wem9uZS1iYWNrZ3JvdW5kOiAkZ3JheS00MDAgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBkZSB0ZXh0byBkZSBsYSBab25hIGRlIGZpY2hlcm9zIGVuIGNvbXBvbmVudGVzIFJFQUNUXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wem9uZS1jb2xvcjogJGdyYXktMzAwICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgZGUgdGV4dG8gZGUgbGEgem9uYSBkZSBheXVkYSBkZSBkZXNjYXJnYSBkZSBmaWNoZXJvcyBlbiBSRUFDVFxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcHpvbmUtbGluay1jb2xvcjogJGdyYXktMzAwICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgZGUgZm9uZG8gZGVsIGNvbnRyb2wgZGUgYsO6c3VxZWRhIGRlIGNvbnRlbmlkb3Ncbi8vLyBAdHlwZSBDb2xvclxuJGNvbnRlbnQtY29udHJvbC1iYWNrZ3JvdW5kOiAkZ3JheS0yMDAgIWRlZmF1bHQ7O1xuXG4vLy8gQ29sb3IgZGUgdGV4dG8gZGUgbGEgem9uYSBkZSBiw7pzcXVlZGEgZGUgY29udGVuaWRvc1xuLy8vIEB0eXBlIENvbG9yXG4kY29udGVudC1jb250cm9sLWNvbG9yOiAkZ3JheS00MDAgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBkZSB0ZXh0byBkZWwgYm9yZGUgZGUgbGFzIGZlYXR1cmVzIGRlIGxhIHpvbmEgbWFlc3Ryby1kZXRhbGxlXG4vLy8gQHR5cGUgQ29sb3JcbiRjb250ZW50LWNvbG9yLWZlYXR1cmVzLWJvcmRlci1jb2xvcjogJGdyYXktMjAwICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgZGUgdGV4dG8gZGUgbGFzIGZlYXR1cmVzIGRlIGxhIHpvbmEgbWFlc3Ryby1kZXRhbGxlXG4vLy8gQHR5cGUgQ29sb3JcbiRjb250ZW50LWNvbG9yLWZlYXR1cmVzLWNvbG9yOiAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8vIEZ1ZW50ZSBkZWwgaWNvbm8gZGUgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlbCByZXN1bHRhZG8gZGUgYsO6c3F1ZWRhIGRlIGNvbnRlbmlkb3Ncbi8vLyBAdHlwZSBTdHJpbmdcbiRjb250ZW50LWNvbnRyb2wtaXRlbS1pY29uLWZvbnQ6ICcnICFkZWZhdWx0O1xuXG4vLy8gSWNvbm8gcGFyYSBsb3MgaXRlbXMgZGVsIGNvbXBvbmVudGUgZGUgc3ViY29udGVuaWRvc1xuLy8vIEB0eXBlIFN0cmluZ1xuJGNvbnRlbnQtY29udHJvbC1pdGVtLWljb246ICc+JyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGRlIGxvcyBpdGVtcyBlbiBkZWwgY29tcG9uZXRlIGRlIHN1YmNvbnRlbmlkb3MgZW4gUkVBQ1Rcbi8vLyBAdHlwZSBDb2xvclxuJGNvbnRlbnQtY29udHJvbC1pdGVtLWNvbG9yOiAkcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGRlIGxvcyBpdGVtcyBlbiBkZWwgY29tcG9uZXRlIGRlIHN1YmNvbnRlbmlkb3MgZW4gUkVBQ1QgZW4gdmlzdGEgbWFlc3Ryby1kZXRhbGxlXG4vLy8gQHR5cGUgQ29sb3JcbiRjb250ZW50LWNvbnRyb2wtbWFzdGVyZGV0YWlsLWl0ZW0tY29sb3I6ICRwcmltYXJ5ICFkZWZhdWx0O1xuXG5cbi8vLyBMYSB6b25hIGRlIGVycm9yIGRlbCBmb3JtdWxhcmlvIChmdWVudGUpXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1jb250cm9sLWVycm9yYXJlYS1mb250LXNpemU6ICRmb250LXNpemUteHNtICFkZWZhdWx0O1xuXG4vLy8gTGEgem9uYSBkZSBlcnJvciBkZWwgZm9ybXVsYXJpbyBzaSBxdWVyZW1vcyBzYWNhcmxvIGZsb3RhbnRlIG8gbm8gZW4gbG9zIGNhbXBvcyBhbnlPZlxuLy8vIHBvciBkZWZlY3RvIGVzIGZhbHNlXG4kZm9ybS1jb250cm9sLWVycm9yYXJlYS1hbnlvZi1mbG9hdDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBkZSBmb25kbyBkZSBsYSB6b25hIGRlIGVycm9yXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWNvbnRyb2wtZXJyb3JhcmVhLWJhY2tncm91bmQ6ICNlZTAwMDAgIWRlZmF1bHQ7XG5cblxuLy8vIENvbG9yIGRlIHRleHRvIGRlIGxhIHpvbmEgZGUgZXJyb3Jcbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tY29udHJvbC1lcnJvcmFyZWEtY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBmdWVudGUgZGUgdMOtdHVsb1xuLy8vIEB0eXBlIE51bWJlclxuJG1hc3Rlci12aWV3LXRpdGxlLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14bGcgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGZ1ZW50ZSBkZSBkZXNjcmlwY2nDs25cbi8vLyBAdHlwZSBOdW1iZXJcbiRtYXN0ZXItdmlldy1kZXNjcmlwdGlvbi1mb250LXNpemU6ICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGZ1ZW50ZSBkZSBmZWF0dXJlc1xuLy8vIEB0eXBlIE51bWJlclxuJG1hc3Rlci12aWV3LWZlYXR1cmVzLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuXG5cbiIsCgkJIi8vIE1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0IFwibWl4aW5zL2hpZGUtdGV4dFwiO1xuQGltcG9ydCBcIm1peGlucy9vcGFjaXR5XCI7XG5AaW1wb3J0IFwibWl4aW5zL2ltYWdlXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xhYmVsc1wiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC1maWx0ZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc3BvbnNpdmUtdmlzaWJpbGl0eVwiO1xuQGltcG9ydCBcIm1peGlucy9zaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYi1mb2N1c1wiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtZW1waGFzaXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1vdmVyZmxvd1wiO1xuQGltcG9ydCBcIm1peGlucy92ZW5kb3ItcHJlZml4ZXNcIjtcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcIm1peGlucy9hbGVydHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYnV0dG9uc1wiO1xuQGltcG9ydCBcIm1peGlucy9wYW5lbHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwibWl4aW5zL25hdi1kaXZpZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zvcm1zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Byb2dyZXNzLWJhclwiO1xuQGltcG9ydCBcIm1peGlucy90YWJsZS1yb3dcIjtcblxuLy8gU2tpbnNcbkBpbXBvcnQgXCJtaXhpbnMvYmFja2dyb3VuZC12YXJpYW50XCI7XG5AaW1wb3J0IFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JhZGllbnRzXCI7XG5cbi8vIExheW91dFxuQGltcG9ydCBcIm1peGlucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcIm1peGlucy9jZW50ZXItYmxvY2tcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbmF2LXZlcnRpY2FsLWFsaWduXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWQtZnJhbWV3b3JrXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWRcIjtcbiIsCgkJIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuLy9cbi8vIEhlYWRzIHVwISB2MyBsYXVuY2hlZCB3aXRoIG9ubHkgYC5oaWRlLXRleHQoKWAsIGJ1dCBwZXIgb3VyIHBhdHRlcm4gZm9yXG4vLyBtaXhpbnMgYmVpbmcgcmV1c2VkIGFzIGNsYXNzZXMgd2l0aCB0aGUgc2FtZSBuYW1lLCB0aGlzIGRvZXNuJ3QgaG9sZCB1cC4gQXNcbi8vIG9mIHYzLjAuMSB3ZSBoYXZlIGFkZGVkIGAudGV4dC1oaWRlKClgIGFuZCBkZXByZWNhdGVkIGAuaGlkZS10ZXh0KClgLlxuLy9cbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvY29tbWl0L2FhMDM5NmVhZTc1N1xuXG4vLyBEZXByZWNhdGVkIGFzIG9mIHYzLjAuMSAoaGFzIGJlZW4gcmVtb3ZlZCBpbiB2NClcbkBtaXhpbiBoaWRlLXRleHQoKSB7XG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBOZXcgbWl4aW4gdG8gdXNlIGFzIG9mIHYzLjAuMVxuQG1peGluIHRleHQtaGlkZSgpIHtcbiAgQGluY2x1ZGUgaGlkZS10ZXh0O1xufVxuIiwKCQkiLy8gT3BhY2l0eVxuXG5AbWl4aW4gb3BhY2l0eSgkb3BhY2l0eSkge1xuICAkb3BhY2l0eS1pZTogKCRvcGFjaXR5ICogMTAwKTsgIC8vIElFOCBmaWx0ZXJcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PSRvcGFjaXR5LWllKTtcbiAgb3BhY2l0eTogJG9wYWNpdHk7XG59XG4iLAoJCSIvLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cbkBtaXhpbiBpbWctcmVzcG9uc2l2ZSgkZGlzcGxheTogYmxvY2spIHtcbiAgZGlzcGxheTogJGRpc3BsYXk7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgaGVpZ2h0OiBhdXRvOyAvLyBQYXJ0IDI6IFNjYWxlIHRoZSBoZWlnaHQgYWNjb3JkaW5nIHRvIHRoZSB3aWR0aCwgb3RoZXJ3aXNlIHlvdSBnZXQgc3RyZXRjaGluZ1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS4gTm90ZSB0aGF0IHRoZVxuLy8gc3BlbGxpbmcgb2YgYG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpb2AgaXMgaW50ZW50aW9uYWwuXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1pbWFnZS1wYXRoKFwiI3skZmlsZS0xeH1cIiksIFwiI3skZmlsZS0xeH1cIikpO1xuXG4gIEBtZWRpYVxuICBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSksXG4gIG9ubHkgc2NyZWVuIGFuZCAoIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSxcbiAgb25seSBzY3JlZW4gYW5kICggbWluLXJlc29sdXRpb246IDJkcHB4KSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtaW1hZ2UtcGF0aChcIiN7JGZpbGUtMnh9XCIpLCBcIiN7JGZpbGUtMnh9XCIpKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xuICB9XG59XG4iLAoJCSIvLyBMYWJlbHNcblxuQG1peGluIGxhYmVsLXZhcmlhbnQoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICAmW2hyZWZdIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIFJlc2V0IGZpbHRlcnMgZm9yIElFXG4vL1xuLy8gV2hlbiB5b3UgbmVlZCB0byByZW1vdmUgYSBncmFkaWVudCBiYWNrZ3JvdW5kLCBkbyBub3QgZm9yZ2V0IHRvIHVzZSB0aGlzIHRvIHJlc2V0XG4vLyB0aGUgSUUgZmlsdGVyIGZvciBJRTkgYW5kIGJlbG93LlxuXG5AbWl4aW4gcmVzZXQtZmlsdGVyKCkge1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpO1xufVxuIiwKCQkiLy8gUmVzaXplIGFueXRoaW5nXG5cbkBtaXhpbiByZXNpemFibGUoJGRpcmVjdGlvbikge1xuICBvdmVyZmxvdzogYXV0bzsgLy8gUGVyIENTUzMgVUksIGByZXNpemVgIG9ubHkgYXBwbGllcyB3aGVuIGBvdmVyZmxvd2AgaXNuJ3QgYHZpc2libGVgXG4gIHJlc2l6ZTogJGRpcmVjdGlvbjsgLy8gT3B0aW9uczogaG9yaXpvbnRhbCwgdmVydGljYWwsIGJvdGhcbn1cbiIsCgkJIi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgkcGFyZW50KSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGFibGUjeyRwYXJlbnR9ICB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdHIjeyRwYXJlbnR9ICAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRoI3skcGFyZW50fSxcbiAgdGQjeyRwYXJlbnR9ICAgICB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxufVxuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiByZXNwb25zaXZlLWludmlzaWJpbGl0eSgkcGFyZW50KSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwKCQkiLy8gU2l6aW5nIHNob3J0Y3V0c1xuXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQpIHtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xufVxuXG5AbWl4aW4gc3F1YXJlKCRzaXplKSB7XG4gIEBpbmNsdWRlIHNpemUoJHNpemUsICRzaXplKTtcbn1cbiIsCgkJIi8vIFdlYktpdC1zdHlsZSBmb2N1c1xuXG5AbWl4aW4gdGFiLWZvY3VzKCkge1xuICAvLyBXZWJLaXQtc3BlY2lmaWMuIE90aGVyIGJyb3dzZXJzIHdpbGwga2VlcCB0aGVpciBkZWZhdWx0IG91dGxpbmUgc3R5bGUuXG4gIC8vIChJbml0aWFsbHkgdHJpZWQgdG8gYWxzbyBmb3JjZSBkZWZhdWx0IHZpYSBgb3V0bGluZTogaW5pdGlhbGAsXG4gIC8vIGJ1dCB0aGF0IHNlZW1zIHRvIGVycm9uZW91c2x5IHJlbW92ZSB0aGUgb3V0bGluZSBpbiBGaXJlZm94IGFsdG9nZXRoZXIuKVxuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuIiwKCQkiQG1peGluIHJlc2V0LXRleHQoKSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG4iLAoJCSIvLyBUeXBvZ3JhcGh5XG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuICBhI3skcGFyZW50fTpob3ZlcixcbiAgYSN7JHBhcmVudH06Zm9jdXMge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLAoJCSIvLyBUZXh0IG92ZXJmbG93XG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LW92ZXJmbG93KCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsCgkJIi8vIFZlbmRvciBQcmVmaXhlc1xuLy9cbi8vIEFsbCB2ZW5kb3IgbWl4aW5zIGFyZSBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBkdWUgdG8gdGhlIGludHJvZHVjdGlvbiBvZlxuLy8gQXV0b3ByZWZpeGVyIGluIG91ciBHcnVudGZpbGUuIFRoZXkgaGF2ZSBiZWVuIHJlbW92ZWQgaW4gdjQuXG5cbi8vIC0gQW5pbWF0aW9uc1xuLy8gLSBCYWNrZmFjZSB2aXNpYmlsaXR5XG4vLyAtIEJveCBzaGFkb3dcbi8vIC0gQm94IHNpemluZ1xuLy8gLSBDb250ZW50IGNvbHVtbnNcbi8vIC0gSHlwaGVuc1xuLy8gLSBQbGFjZWhvbGRlciB0ZXh0XG4vLyAtIFRyYW5zZm9ybWF0aW9uc1xuLy8gLSBUcmFuc2l0aW9uc1xuLy8gLSBVc2VyIFNlbGVjdFxuXG5cbi8vIEFuaW1hdGlvbnNcbkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiAgICAgICAtby1hbmltYXRpb246ICRhbmltYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1uYW1lKCRuYW1lKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ICRuYW1lO1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcbn1cbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24oJGR1cmF0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG59XG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1kZWxheSgkZGVsYXkpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbn1cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCRpdGVyYXRpb24tY291bnQpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkaXRlcmF0aW9uLWNvdW50O1xuICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6ICRpdGVyYXRpb24tY291bnQ7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWRpcmVjdGlvbigkZGlyZWN0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1maWxsLW1vZGUoJGZpbGwtbW9kZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsLW1vZGU7XG4gICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogJGZpbGwtbW9kZTtcbn1cblxuLy8gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gUHJldmVudCBicm93c2VycyBmcm9tIGZsaWNrZXJpbmcgd2hlbiB1c2luZyBDU1MgM0QgdHJhbnNmb3Jtcy5cbi8vIERlZmF1bHQgdmFsdWUgaXMgYHZpc2libGVgLCBidXQgY2FuIGJlIGNoYW5nZWQgdG8gYGhpZGRlbmBcblxuQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbn1cblxuLy8gRHJvcCBzaGFkb3dzXG4vL1xuLy8gTm90ZTogRGVwcmVjYXRlZCBgLmJveC1zaGFkb3coKWAgYXMgb2YgdjMuMS4wIHNpbmNlIGFsbCBvZiBCb290c3RyYXAnc1xuLy8gc3VwcG9ydGVkIGJyb3dzZXJzIHRoYXQgaGF2ZSBib3ggc2hhZG93IGNhcGFiaWxpdGllcyBub3cgc3VwcG9ydCBpdC5cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7IC8vIGlPUyA8NC4zICYgQW5kcm9pZCA8NC4xXG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuLy8gQm94IHNpemluZ1xuQG1peGluIGJveC1zaXppbmcoJGJveG1vZGVsKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkYm94bW9kZWw7XG59XG5cbi8vIENTUzMgQ29udGVudCBDb2x1bW5zXG5AbWl4aW4gY29udGVudC1jb2x1bW5zKCRjb2x1bW4tY291bnQsICRjb2x1bW4tZ2FwOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gICAgIC1tb3otY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAgICAgICAgIGNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgLW1vei1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbn1cblxuLy8gT3B0aW9uYWwgaHlwaGVuYXRpb25cbkBtaXhpbiBoeXBoZW5zKCRtb2RlOiBhdXRvKSB7XG4gIC13ZWJraXQtaHlwaGVuczogJG1vZGU7XG4gICAgIC1tb3otaHlwaGVuczogJG1vZGU7XG4gICAgICAtbXMtaHlwaGVuczogJG1vZGU7IC8vIElFMTArXG4gICAgICAgLW8taHlwaGVuczogJG1vZGU7XG4gICAgICAgICAgaHlwaGVuczogJG1vZGU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLy8gUGxhY2Vob2xkZXIgdGV4dFxuQG1peGluIHBsYWNlaG9sZGVyKCRjb2xvcjogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyKSB7XG4gIC8vIEZpcmVmb3hcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBvcGFjaXR5OiAxOyAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNlxuICB9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRjb2xvcjsgfSAvLyBJbnRlcm5ldCBFeHBsb3JlciAxMCtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciAgeyBjb2xvcjogJGNvbG9yOyB9IC8vIFNhZmFyaSBhbmQgQ2hyb21lXG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uc1xuQG1peGluIHNjYWxlKCRyYXRpby4uLikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbn1cblxuQG1peGluIHNjYWxlWCgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xufVxuQG1peGluIHNjYWxlWSgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xufVxuQG1peGluIHNrZXcoJHgsICR5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNDg4NTsgSUU5K1xuICAgICAgIC1vLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlKCR4LCAkeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlM2QoJHgsICR5LCAkeikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbn1cbkBtaXhpbiByb3RhdGUoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWCgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWSgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCRwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xufVxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbikge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luOyAvLyBJRTkgb25seVxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG59XG5cblxuLy8gVHJhbnNpdGlvbnNcblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCR0cmFuc2l0aW9uLXByb3BlcnR5Li4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdHJhbnNpdGlvbi1kZWxheSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xufVxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJHRyYW5zaXRpb24tZHVyYXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG59XG5AbWl4aW4gdHJhbnNpdGlvbi10cmFuc2Zvcm0oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xufVxuXG5cbi8vIFVzZXIgc2VsZWN0XG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2VcblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QpIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDsgLy8gSUUxMCtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cbiIsCgkJIi8vIEFsZXJ0c1xuXG5AbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJHRleHQtY29sb3IpIHtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xuICB9XG5cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJHRleHQtY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsCgkJIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGNvbG9yLCAkYmFja2dyb3VuZCwgJGJvcmRlcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDI1JSk7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSk7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMTIlKTtcbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMTIlKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDE3JSk7XG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAyNSUpO1xuICAgIH1cbiAgfVxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC5iYWRnZSB7XG4gICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuIiwKCQkiLy8gUGFuZWxzXG5cbkBtaXhpbiBwYW5lbC12YXJpYW50KCRib3JkZXIsICRoZWFkaW5nLXRleHQtY29sb3IsICRoZWFkaW5nLWJnLWNvbG9yLCAkaGVhZGluZy1ib3JkZXIpIHtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gICYgPiAucGFuZWwtaGVhZGluZyB7XG4gICAgY29sb3I6ICRoZWFkaW5nLXRleHQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkaGVhZGluZy1ib3JkZXI7XG5cbiAgICArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICAgIC5iYWRnZSB7XG4gICAgICBjb2xvcjogJGhlYWRpbmctYmctY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGluZy10ZXh0LWNvbG9yO1xuICAgIH1cbiAgfVxuICAmID4gLnBhbmVsLWZvb3RlciB7XG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gUGFnaW5hdGlvblxuXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gID4gbGkge1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gTGlzdCBHcm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhJiwgYnV0dG9uJiB0byBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0sIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9XG4gIH1cblxuICBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0sXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgfVxuICAgICYuYWN0aXZlLFxuICAgICYuYWN0aXZlOmhvdmVyLFxuICAgICYuYWN0aXZlOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICNlNWU1ZTUpIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogKCgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKSAtIDEpIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbn1cbiIsCgkJIi8vIEZvcm0gdmFsaWRhdGlvbiBzdGF0ZXNcbi8vXG4vLyBVc2VkIGluIGZvcm1zLmxlc3MgdG8gZ2VuZXJhdGUgdGhlIGZvcm0gdmFsaWRhdGlvbiBDU1MgZm9yIHdhcm5pbmdzLCBlcnJvcnMsXG4vLyBhbmQgc3VjY2Vzc2VzLlxuXG5AbWl4aW4gZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHRleHQtY29sb3I6ICM1NTUsICRib3JkZXItY29sb3I6ICNjY2MsICRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1KSB7XG4gIC8vIENvbG9yIHRoZSBsYWJlbCBhbmQgaGVscCB0ZXh0XG4gIC5oZWxwLWJsb2NrLFxuICAuY29udHJvbC1sYWJlbCxcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUsXG4gICYucmFkaW8gbGFiZWwsXG4gICYuY2hlY2tib3ggbGFiZWwsXG4gICYucmFkaW8taW5saW5lIGxhYmVsLFxuICAmLmNoZWNrYm94LWlubGluZSBsYWJlbCAge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxuICAvLyBTZXQgdGhlIGJvcmRlciBhbmQgYm94IHNoYWRvdyBvbiBzcGVjaWZpYyBpbnB1dHMgdG8gbWF0Y2hcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSkpOyAvLyBSZWRlY2xhcmUgc28gdHJhbnNpdGlvbnMgd29ya1xuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlci1jb2xvciwgMTAlKTtcbiAgICAgICRzaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpLCAwIDAgNnB4IGxpZ2h0ZW4oJGJvcmRlci1jb2xvciwgMjAlKTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJHNoYWRvdyk7XG4gICAgfVxuICB9XG4gIC8vIFNldCB2YWxpZGF0aW9uIHN0YXRlcyBhbHNvIGZvciBhZGRvbnNcbiAgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICB9XG4gIC8vIE9wdGlvbmFsIGZlZWRiYWNrIGljb25cbiAgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgJGlucHV0LWJvcmRlci1mb2N1c2AgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoJGNvbG9yOiAkaW5wdXQtYm9yZGVyLWZvY3VzKSB7XG4gICRjb2xvci1yZ2JhOiByZ2JhKHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvciksIC42KTtcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpLCAwIDAgOHB4ICRjb2xvci1yZ2JhKTtcbiAgfVxufVxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gUmVsYXRpdmUgdGV4dCBzaXplLCBwYWRkaW5nLCBhbmQgYm9yZGVyLXJhZGlpIGNoYW5nZXMgZm9yIGZvcm0gY29udHJvbHMuIEZvclxuLy8gaG9yaXpvbnRhbCBzaXppbmcsIHdyYXAgY29udHJvbHMgaW4gdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLiBgPHNlbGVjdD5gXG4vLyBlbGVtZW50IGdldHMgc3BlY2lhbCBsb3ZlIGJlY2F1c2UgaXQncyBzcGVjaWFsLCBhbmQgdGhhdCdzIGEgZmFjdCFcbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIGlucHV0LXNpemUoJHBhcmVudCwgJGlucHV0LWhlaWdodCwgJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXZlcnRpY2FsICRwYWRkaW5nLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIH1cblxuICBzZWxlY3QjeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIH1cblxuICB0ZXh0YXJlYSN7JHBhcmVudH0sXG4gIHNlbGVjdFttdWx0aXBsZV0jeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsCgkJIi8vIFByb2dyZXNzIGJhcnNcblxuQG1peGluIHByb2dyZXNzLWJhci12YXJpYW50KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgLy8gRGVwcmVjYXRlZCBwYXJlbnQgY2xhc3MgcmVxdWlyZW1lbnQgYXMgb2YgdjMuMi4wXG4gIC5wcm9ncmVzcy1zdHJpcGVkICYge1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQ7XG4gIH1cbn1cbiIsCgkJIi8vIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUgPiB0aGVhZCA+IHRyLFxuICAudGFibGUgPiB0Ym9keSA+IHRyLFxuICAudGFibGUgPiB0Zm9vdCA+IHRyIHtcbiAgICA+IHRkLiN7JHN0YXRlfSxcbiAgICA+IHRoLiN7JHN0YXRlfSxcbiAgICAmLiN7JHN0YXRlfSA+IHRkLFxuICAgICYuI3skc3RhdGV9ID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciB7XG4gICAgPiB0ZC4jeyRzdGF0ZX06aG92ZXIsXG4gICAgPiB0aC4jeyRzdGF0ZX06aG92ZXIsXG4gICAgJi4jeyRzdGF0ZX06aG92ZXIgPiB0ZCxcbiAgICAmOmhvdmVyID4gLiN7JHN0YXRlfSxcbiAgICAmLiN7JHN0YXRlfTpob3ZlciA+IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbiAgYSN7JHBhcmVudH06aG92ZXIsXG4gIGEjeyRwYXJlbnR9OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLAoJCSIvLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xufVxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuIiwKCQkiXG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG4vLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkgYW5kIGJlbG93LlxuQG1peGluIGdyYWRpZW50LWhvcml6b250YWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gT3BlcmEgMTJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0xKTsgLy8gSUU5IGFuZCBkb3duXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG4vLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkgYW5kIGJlbG93LlxuQG1peGluIGdyYWRpZW50LXZlcnRpY2FsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgIC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgIC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTApOyAvLyBJRTkgYW5kIGRvd25cbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7IC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MSk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtdmVydGljYWwtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTApOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICM1NTUsICRvdXRlci1jb2xvcjogIzMzMykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuIiwKCQkiLy8gQ2xlYXJmaXhcbi8vXG4vLyBGb3IgbW9kZXJuIGJyb3dzZXJzXG4vLyAxLiBUaGUgc3BhY2UgY29udGVudCBpcyBvbmUgd2F5IHRvIGF2b2lkIGFuIE9wZXJhIGJ1ZyB3aGVuIHRoZVxuLy8gICAgY29udGVudGVkaXRhYmxlIGF0dHJpYnV0ZSBpcyBpbmNsdWRlZCBhbnl3aGVyZSBlbHNlIGluIHRoZSBkb2N1bWVudC5cbi8vICAgIE90aGVyd2lzZSBpdCBjYXVzZXMgc3BhY2UgdG8gYXBwZWFyIGF0IHRoZSB0b3AgYW5kIGJvdHRvbSBvZiBlbGVtZW50c1xuLy8gICAgdGhhdCBhcmUgY2xlYXJmaXhlZC5cbi8vIDIuIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXG4vLyAgICBgOmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXG4vL1xuLy8gU291cmNlOiBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay9cblxuQG1peGluIGNsZWFyZml4KCkge1xuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7IC8vIDJcbiAgICBjb250ZW50OiBcIiBcIjsgLy8gMVxuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG4iLAoJCSIvLyBDZW50ZXItYWxpZ24gYSBibG9jayBsZXZlbCBlbGVtZW50XG5cbkBtaXhpbiBjZW50ZXItYmxvY2soKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuIiwKCQkiLy8gTmF2YmFyIHZlcnRpY2FsIGFsaWduXG4vL1xuLy8gVmVydGljYWxseSBjZW50ZXIgZWxlbWVudHMgaW4gdGhlIG5hdmJhci5cbi8vIEV4YW1wbGU6IGFuIGVsZW1lbnQgaGFzIGEgaGVpZ2h0IG9mIDMwcHgsIHNvIHdyaXRlIG91dCBgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbigzMHB4KTtgIHRvIGNhbGN1bGF0ZSB0aGUgYXBwcm9wcmlhdGUgdG9wIG1hcmdpbi5cblxuQG1peGluIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigkZWxlbWVudC1oZWlnaHQpIHtcbiAgbWFyZ2luLXRvcDogKGJzX3N1YnRyYWN0KCRuYXZiYXItaGVpZ2h0LCAkZWxlbWVudC1oZWlnaHQpIC8gMik7XG4gIG1hcmdpbi1ib3R0b206IChic19zdWJ0cmFjdCgkbmF2YmFyLWhlaWdodCwkZWxlbWVudC1oZWlnaHQpIC8gMik7XG59XG4iLAoJCSIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRpOiAxLCAkbGlzdDogXCIuY29sLXhzLSN7JGl9LCAuY29sLXNtLSN7JGl9LCAuY29sLW1kLSN7JGl9LCAuY29sLWxnLSN7JGl9XCIpIHtcbiAgQGZvciAkaSBmcm9tICgxICsgMSkgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAkbGlzdDogXCIjeyRsaXN0fSwgLmNvbC14cy0jeyRpfSwgLmNvbC1zbS0jeyRpfSwgLmNvbC1tZC0jeyRpfSwgLmNvbC1sZy0jeyRpfVwiO1xuICB9XG4gICN7JGxpc3R9IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIC8vIElubmVyIGd1dHRlciB2aWEgcGFkZGluZ1xuICAgIHBhZGRpbmctcmlnaHQ6IGZsb29yKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XG4gICAgcGFkZGluZy1sZWZ0OiBjZWlsKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XG4gIH1cbn1cblxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIGZsb2F0LWdyaWQtY29sdW1ucygkY2xhc3MsICRpOiAxLCAkbGlzdDogXCIuY29sLSN7JGNsYXNzfS0jeyRpfVwiKSB7XG4gIEBmb3IgJGkgZnJvbSAoMSArIDEpIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgJGxpc3Q6IFwiI3skbGlzdH0sIC5jb2wtI3skY2xhc3N9LSN7JGl9XCI7XG4gIH1cbiAgI3skbGlzdH0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cblxuQG1peGluIGNhbGMtZ3JpZC1jb2x1bW4oJGluZGV4LCAkY2xhc3MsICR0eXBlKSB7XG4gIEBpZiAoJHR5cGUgPT0gd2lkdGgpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LSN7JGluZGV4fSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1c2gpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1c2gtI3skaW5kZXh9IHtcbiAgICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdXNoKSBhbmQgKCRpbmRleCA9PSAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVzaC0wIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVsbCkgYW5kICgkaW5kZXggPiAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVsbC0jeyRpbmRleH0ge1xuICAgICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdWxsKSBhbmQgKCRpbmRleCA9PSAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVsbC0wIHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IG9mZnNldCkge1xuICAgIC5jb2wtI3skY2xhc3N9LW9mZnNldC0jeyRpbmRleH0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBsb29wLWdyaWQtY29sdW1ucygkY29sdW1ucywgJGNsYXNzLCAkdHlwZSkge1xuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICBAaW5jbHVkZSBjYWxjLWdyaWQtY29sdW1uKCRpLCAkY2xhc3MsICR0eXBlKTtcbiAgfVxufVxuXG5cbi8vIENyZWF0ZSBncmlkIGZvciBzcGVjaWZpYyBjbGFzc1xuQG1peGluIG1ha2UtZ3JpZCgkY2xhc3MpIHtcbiAgQGluY2x1ZGUgZmxvYXQtZ3JpZC1jb2x1bW5zKCRjbGFzcyk7XG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgd2lkdGgpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHB1bGwpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHB1c2gpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIG9mZnNldCk7XG59XG4iLAoJCSIvLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuLy8gQ2VudGVyZWQgY29udGFpbmVyIGVsZW1lbnRcbkBtaXhpbiBjb250YWluZXItZml4ZWQoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBhZGRpbmctcmlnaHQ6IGNlaWwoKCRndXR0ZXIgLyAyKSk7XG4gIHBhZGRpbmctbGVmdDogZmxvb3IoKCRndXR0ZXIgLyAyKSk7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4vLyBDcmVhdGVzIGEgd3JhcHBlciBmb3IgYSBzZXJpZXMgb2YgY29sdW1uc1xuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tcmlnaHQ6IGZsb29yKCgkZ3V0dGVyIC8gLTIpKTtcbiAgbWFyZ2luLWxlZnQ6IGNlaWwoKCRndXR0ZXIgLyAtMikpO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIGV4dHJhIHNtYWxsIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXhzLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLWxlZnQ6ICgkZ3V0dGVyIC8gMik7XG59XG5AbWl4aW4gbWFrZS14cy1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xufVxuQG1peGluIG1ha2UteHMtY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xufVxuXG4vLyBHZW5lcmF0ZSB0aGUgc21hbGwgY29sdW1uc1xuQG1peGluIG1ha2Utc20tY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctbGVmdDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBtZWRpdW0gY29sdW1uc1xuQG1peGluIG1ha2UtbWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctbGVmdDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBsYXJnZSBjb2x1bW5zXG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1sZWZ0OiAoJGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbiIsCgkJIi8qKlxuICogTWl4aW5zIHF1ZSB0ZW5lbW9zIHkgcGVybWl0aW1vcyBzdSByZXV0aWxpemFjacOzbiBlbiBvdHJvcyBwcm95ZWN0b3MuXG4gKi9cblxuLy8vIEZ1bmNpw7NuIHF1ZSBwZXJtaXRlIHNlbGVjY2lvbmFyIGVsIHZhbG9yIHBhc2FkbyBjb21vIHBhcsOhbWV0cm8gbyBzaSBlc3RlIGVzIG1lbm9yIHF1ZVxuLy8vIHVuIHZhbG9yIG3DrW5pbW8gZWwgdmFsb3IgbcOtbmltbyBwYXNhZG8gY29tbyBzZWd1bmRvIHBhcsOhbWV0cm9cbi8vL1xuLy8vIEBwYXJhbWV0ZXIgICAge051bWJlcn0gdmFsdWUgICAgICAgIC0gRWwgdmFsb3IgcXVlIG5lY2VzaXRhbW9zIHBhc2FyXG4vLy8gQHBhcmFtZXRlciAge051bWJlcn0gbGltaXRlZEJ5ICAgICAtIEVsIHZhbG9yIG3DrW5pbW8gcXVlIHB1ZWRlIHRlbmVyXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuQGZ1bmN0aW9uIGdldExpbWl0ZWRWYWx1ZSgkdmFsdWUsJGxpbWl0ZWRCeSkge1xuICAgIEBpZiAkdmFsdWUgPCAkbGltaXRlZEJ5IHtcbiAgICAgICAgQHJldHVybiAkbGltaXRlZEJ5O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gJHZhbHVlO1xuICAgIH1cbn1cblxuLy8vIE9idGllbmUgZWwgcHJpbWVyIGVsZW1lbnRvIGRlIHVuYSBsaXN0YVxuLy8vXG4vLy8gQHBhcmFtZXRlciB7TGlzdH0gbGlzdCAtIExhIGxpc3RhIGRlIGxhIHF1ZSByZWN1cGVyYW1vcyBlbCB2YWxvclxuQGZ1bmN0aW9uIGZpcnN0KCRsaXN0KSB7XG4gICAgQHJldHVybiBudGgoJGxpc3QsIDEpO1xufVxuXG4vLy8gT2J0aWVuZSBlbCB1bHRpbW8gZWxlbWVudG8gZGUgdW5hIGxpc3RhXG4vLy9cbi8vLyBAcGFyYW1ldGVyIHtMaXN0fSBsaXN0IC0gTGEgbGlzdGEgZGUgbGEgcXVlIHJlY3VwZXJhbW9zIGVsIHZhbG9yXG5AZnVuY3Rpb24gbGFzdCgkbGlzdCkge1xuICAgIEByZXR1cm4gbnRoKCRsaXN0LCBsZW5ndGgoJGxpc3QpKTtcbn1cblxuXG5cbi8vLyBNaXhpbiBxdWUgbm9zIHBlcm1pdGUgaW5jbHVpciB1bmEgZnVlbnRlIGRldGVybWluYWRhIGVuIGVsIGPDs2RpZ28sIHJlY2liZSBjb21vIHBhcsOhbWV0cm9zXG4vLy8gZWwgbm9tYnJlIGRlIGxhIGZ1ZW50ZSB5IGdlbmVyYSB1biBDU1MgYWRlY3VhZG8gcGFyYSBzdSBpbmNsdXNpw7NuXG4vLy9cbi8vLyBAcGFyYW1ldGVyIHtTdHJpbmd9IGZvbnQtZmFtaWx5IFsnJ10gLSBFbCBub21icmUgZGUgbGEgZmFtaWxpYSBkZSBmdWVudGVzIHF1ZSBlbXBsZWFtb3NcbkBtaXhpbiBmb250KCRmb250LWZhbWlseTonJykge1xuICAgIEBpZigkZm9udC1mYW1pbHkgIT0gJycpIHtcbiAgICAgICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xICRmb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgIHNwZWFrOiBuZXZlcjtcbiAgICB9XG59XG5cbi8vLyBHZW5lcmEgdW4gYmxvcXVlIGNvcnJlc3BvbmRpZW50ZSBhIHVuYSBmdWVudGUgaW5zZXJ0YW5kbyBsYSBpbmZybWFjacOzbiBkZSB1bmEgZGV0ZXJtaW5hZGFcbi8vLyBmdWVudGUgZGVsIHNpc3RlbWEuXG4vLy9cbi8vLyBAcGFyYW1ldGVyIHtTdHJpbmd9ICRmb250LWZhbWlseSAtIEVsIG5vbWJyZSBkZSBsYSBmYW1pbGlhIGRlIGZ1ZW50ZXMgcXVlIGVtcGxlYW1vc1xuLy8vIEBwYXJhbWV0ZXIge1N0cmluZ30gJHRleHQgLSBFbCB0ZXh0byBhIGluY2x1aXIgY29tbyBjb250ZW5pZG9cbi8vLyBAY29udGVudCBFbiBjYXNvIGRlIHF1ZXJlciBhw7FhZGlyIGluZm9ybWFjacOzbiBleHRyYS5cbkBtaXhpbiBmb250QmxvY2soJGZvbnQtZmFtaWx5LCR0ZXh0KSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBmb250KCRmb250LWZhbWlseSk7XG4gICAgICAgIGNvbnRlbnQ6ICR0ZXh0O1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8vLyBHZW5lcmEgdW4gYmxvcXVlIGNvcnJlc3BvbmRpZW50ZSBhIHVuYSBmdWVudGUgaW5zZXJ0YW5kbyBsYSBpbmZybWFjacOzbiBkZSB1bmEgZGV0ZXJtaW5hZGFcbi8vLyBmdWVudGUgZGVsIHNpc3RlbWEuXG4vLy9cbi8vLyBAcGFyYW1ldGVyIHtTdHJpbmd9ICRmb250LWZhbWlseSAtIEVsIG5vbWJyZSBkZSBsYSBmYW1pbGlhIGRlIGZ1ZW50ZXMgcXVlIGVtcGxlYW1vc1xuLy8vIEBwYXJhbWV0ZXIge1N0cmluZ30gJHRleHQgLSBFbCB0ZXh0byBhIGluY2x1aXIgY29tbyBjb250ZW5pZG9cbi8vLyBAY29udGVudCBFbiBjYXNvIGRlIHF1ZXJlciBhw7FhZGlyIGluZm9ybWFjacOzbiBleHRyYS5cbkBtaXhpbiBmb250QmxvY2tBZnRlcigkZm9udC1mYW1pbHksJHRleHQpIHtcbiAgJjphZnRlciB7XG4gICAgQGluY2x1ZGUgZm9udCgkZm9udC1mYW1pbHkpO1xuICAgIGNvbnRlbnQ6ICR0ZXh0O1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBNaXhpbiBxdWUgcGVybWl0ZSB1bmEgYWxpbmVhY2nDs24gdmVydGljYWwgZGUgdW4gZWxlbWVudG9cbkBtaXhpbiB2Y2VudGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmbG9hdDogbm9uZTtcbn1cblxuLy8vIE1peGluIHF1ZSBub3MgcGVybWl0ZSBoYWNlciB1biBtYXNvbnJ5IGRlIHVuIGNvbnRlbmVkb3Jcbi8vL1xuLy8vIEBwYXJhbWV0ZXIge01hcH0gJGNvbHMgWygpXSAtIFVuIG1hcGEgY29uIGxhcyBjb2x1bW5hcyBlbiBjYWRhIHJlc29sdWNpw7NuXG4vLy8gQHBhcmFtZXRlciB7TnVtYmVyfSAkZ3V0dGVyIFskaGFsZkd1dHRlcl0gLSBFbCBndXR0ZXIgcG9yIGRlZmVjdG8gcXVlIHRlbmVtb3Ncbi8vLyBAY29udGVudCBFbiBjYXNvIGRlIHF1ZXJlciBhw7FhZGlyIGluZm9ybWFjacOzbiBleHRyYS5cbkBtaXhpbiBtYXNvbnJ5KCRjb2xzOigpLCAkZ3V0dGVyOiRoYWxmR3V0dGVyKSB7XG4gICAgJiB7XG4gICAgICAgICR4czogaWYobWFwLWhhcy1rZXkoJGNvbHMsJ3hzJyksbWFwLWdldCgkY29scywneHMnKSwxKTtcbiAgICAgICAgJHNtOiBpZihtYXAtaGFzLWtleSgkY29scywnc20nKSxtYXAtZ2V0KCRjb2xzLCdzbScpLCR4cyk7XG4gICAgICAgICRtZDogaWYobWFwLWhhcy1rZXkoJGNvbHMsJ21kJyksbWFwLWdldCgkY29scywnbWQnKSwwKTtcbiAgICAgICAgJGxnOiBpZihtYXAtaGFzLWtleSgkY29scywnbGcnKSxtYXAtZ2V0KCRjb2xzLCdsZycpLDApO1xuXG4gICAgICAgIC8vIExhcyBjb25kaWNpb25lcyBkZSBYUyB5IFNNIGVzdGFuIGZpamFzLlxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhzKSB7XG4gICAgICAgICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHhzO1xuICAgICAgICAgICAgICAgLW1vei1jb2x1bW4tY291bnQ6ICR4cztcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLWNvdW50OiAkeHM7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkZ3V0dGVyO1xuICAgICAgICAgICAgICAgLW1vei1jb2x1bW4tZ2FwOiAkZ3V0dGVyO1xuICAgICAgICAgICAgICAgICAgICBjb2x1bW4tZ2FwOiAkZ3V0dGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICRzbTtcbiAgICAgICAgICAgICAgIC1tb3otY29sdW1uLWNvdW50OiAkc207XG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbi1jb3VudDogJHNtO1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIC13ZWJraXQtY29sdW1uLWdhcDogJGd1dHRlcjtcbiAgICAgICAgICAgICAgIC1tb3otY29sdW1uLWdhcDogJGd1dHRlcjtcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLWdhcDogJGd1dHRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGlmICRtZCA+IDAge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAkbWQ7XG4gICAgICAgICAgICAgICAgICAgLW1vei1jb2x1bW4tY291bnQ6ICRtZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi1jb3VudDogJG1kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpZiAkbGcgPiAwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogJGxnO1xuICAgICAgICAgICAgICAgICAgIC1tb3otY29sdW1uLWNvdW50OiAkbGc7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4tY291bnQ6ICRsZztcbiAgICAgICAgICAgIH0gICAgICAgIFxuICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJGd1dHRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDsgLyogQ2hyb21lLCBTYWZhcmksIE9wZXJhICovXG4gICAgICAgICAgICAgICAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyAvKiBGaXJlZm94ICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhay1pbnNpZGU6IGF2b2lkOyAvKiBJRTEwKyAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47IC8qIFdoZW4gc3VwcG9ydGVkICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gTWl4aW4gcXVlIHBlcm1pdGUgZ2VuZXJhciBjb2x1bW5hcyBkZW50cm8gZGUgbGEgcGVzdGHDsWEgZGUgdW4gY29udGVuaWRvLlxuLy8vXG4vLy8gQHBhcmFtZXRlciB7U3RyaW5nfSAkY29sdW1ucyAtIEVsIG7Dum1lcm8gZGUgY29sdW1uYXMgZW4gbGFzIHF1ZSBxdWVyZW1vcyBkaXZpZGlyIGxvcyBlbGVtZW50b3MgZGUgbGEgcGVzdGHDsWEuXG5AbWl4aW4gY29sdW1uaXplLWNvbnRlbnR0YWJzKCRjb2x1bW5zKSB7XG5cbiAgICAvKipcbiAgICAgKiBOb3MgYXNlZ3VyYW1vcyBkZSBxdWUgdGVuZW1vcyBsaW1waWEgbGEgaW5mb3JtYWNpw7NuIGNvcnJlc3BvbmRpZW50ZS5cbiAgICAgKi9cbiAgICAuc2VjdGlvbi1kYXRhLFxuICAgIC5jb250ZW50LXNlY3Rpb24tYmxvY2sge1xuICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cbiAgICBcbiAgICAgICAgXG4gICAgLyoqXG4gICAgICogSW5kaWNhbW9zIGxhIGFuY2h1cmEgZGUgY2FkYSBjb2x1bW5hIHF1ZSB0ZW5lbW9zIGludGVybmFtZW50ZSwgc2llbXByZSBsbyBoYWNlbW9zIGEgbml2ZWxcbiAgICAgKiBkZSBzdWJzZWNjaW9uIG5vIGRlIHNlY2Npb24gaW50ZXJuYSwgeSBzaWVtcHJlIHkgY3VhbmRvIG5vIGVzdGUgYXNvY2lhZGEgYSB1biB2YWxvciwgcG9ycXVlIGVuIGVzZVxuICAgICAqIGNhc28gbm8gYXBsaWNhIGxhIGRpdmlzacOzbiBlbiBjb2x1bW5hc1xuICAgICAqL1xuICAgIC5zZWN0aW9uLWRhdGE6bm90KC5wdmFsKSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAkY29sdW1uczsgLyogQ2hyb21lLCBTYWZhcmksIE9wZXJhICovXG4gICAgICAgICAgICAgICAtbW96LWNvbHVtbi1jb3VudDogJGNvbHVtbnM7IC8qIEZpcmVmb3ggKi9cbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLWNvdW50OiAkY29sdW1ucztcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgXG4gICAgICAgICAgICAub2xkLWJyb3dzZXIgJiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS8kY29sdW1ucyk7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgLy8gRWwgbi1zaW1vIHRpZW5lIHF1ZSBzYWxpciBkZWwgYmxvcXVlXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoI3skY29sdW1uc31uKzEpIHtcbiAgICAgICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC8qKlxuICAgICAqIE1hcmNhbW9zIGxvcyBlc3RpbG9zIGRlbCB0w610dWxvIHkgZGUgbGEgc3Vic2VjY2nDs25cbiAgICAgKi9cbiAgICBoNC5zdWJzZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiOlwiO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNnB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIGRpdi5zdWJzZWN0aW9uLWRhdGEge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgZGl2LnB2YWwtY29tcGxleCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgPiBkbCB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zOyAvKiBDaHJvbWUsIFNhZmFyaSwgT3BlcmEgKi9cbiAgICAgICAgICAgICAgICAgICAtbW96LWNvbHVtbi1jb3VudDogJGNvbHVtbnM7IC8qIEZpcmVmb3ggKi9cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi1jb3VudDogJGNvbHVtbnM7XG4gICAgICAgICAgICAgICAgPiBkdC5wZGVmIHtcbiAgICAgICAgICAgICAgICAgICAgLm9sZC1icm93c2VyICYge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMC4zLyRjb2x1bW5zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKCN7MiokY29sdW1uc31uKzEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIjpcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPiBkZC5wdmFsIHtcbiAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLm9sZC1icm93c2VyICYge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMC43LyRjb2x1bW5zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIFxuIFxuLy8vIE1peGluIHF1ZSBhY3R1YSBwYXJhIHBlcm1pdGlyIHJlcHJlc2VudGFyIHVuIGJsb3F1ZSBkZSBjb250ZW5pZG9zIG8gcmVjdXJzb3MsIHBlcm1pdGllbmRvIHJlY2liaXJcbi8vLyBkaXN0aW50b3MgcGFyw6FtZXRyb3MgcXVlIHBlcm1pdGVuIGNvbnRyb2xhciBlbCBtYXJnZW4gZGVsIGJsb3F1ZSwgcGFkZGluZywgeSBlbCB0aXBvIGRlIGljb25vXG4vLy8gYSB1dGlsaXphciBwYXJhIGNhZGEgbGlzdC1pdGVtLlxuLy8vXG4vLy8gQHBhcmFtZXRlciB7U3RyaW5nfSBibG9jay1wYWRkaW5nIC0gRWwgcGFkZGluZyBkZWwgYmxvcXVlIHF1ZSB0ZW5lbW9zXG4vLy8gQHBhcmFtZXRlciB7U3RyaW5nfSBtYXJnaW4gLSBFbCBtYXJnZW4gcXVlIHRpZW5lIGNhZGEgdW5vIGRlIGxpIHF1ZSBmb3JtYW4gcGFydGUgZGVsIGxpc3RhZG9cbi8vLyBAcGFyYW1ldGVyIHtTdHJpbmd9IHBhZGRpbmcgLSBDYWRlbmEgcXVlIGNvbnRpZW5lIHRvZGFzIGxhcyBwb3NpY2lvbmVzIGRlIHBhZGRpbmcgYXNvY2lhZGFzIGFsIGxpXG4vLy8gQHBhcmFtZXRlciB7U3RyaW5nfSBjb2xvciAgIC0gRWwgY29sb3IgcXVlIGFzb2NpYW1vcyBhbCBlbGVtZW50b1xuLy8vIEBwYXJhbWV0ZXIge1N0cmluZ30gY29sb3ItaG92ZXIgLSBFbCBjb2xvciBjdWFuZG8gZXN0YW1vcyBlbmNpbWEgZGVsIGVsZW1lbnRvXG4vLy8gQHBhcmFtZXRlciB7U3RyaW5nfSBpdGVtLWJvcmRlci10b3AgLSBFbCBmb3JtYXRvIGRlbCBib3JkZSBzdXBlcmlvciBkZSBjYWRhIGVsZW1lbnRvIGRlbCBsaXN0YWRvXG4vLy8gQHBhcmFtZXRlciB7U3RyaW5nfSBpdGVtLWljb24gWycnXSAtIEVsIHRleHRvIHF1ZSB2YW1vcyBhIHV0aWxpemFyIGNvbW8gZWxlbWVudG8gYWRpY2lvbmFsIGVuIGxvcyBsaXN0YWRvcywgcG9yIGRlZmVjdG8gZXMgdW5hIGNhZGVuYSB2YWPDrWFcbi8vLyBAcGFyYW1ldGVyIHtTdHJpbmd9IGljb24tZm9udC1mYW1pbHkgWyRjb250ZW50TGlzdEljb25Gb250RmFtaWx5XSAtIExhIGZhbWlsaWEgZGUgZnVlbnRlcyBxdWUgdXRpbGl6YW1vcyBwYXJhIHJlcHJlc2VudGFyIGEgbG9zIGljb25vcy5cbi8vLyBAcGFyYW1ldGVyIHtTdHJpbmd9IGljb24tY29sb3IgWycnXSAtIEVsIGNvbG9yIGRlbCBpY29uby5cbi8vLyBAcGFyYW1ldGVyIHtOdW1iZXJ9IGljb24tcGFkZGluZyBbJGNvbnRlbnRMaXN0SWNvblBhZGRpbmddIC0gRWwgcGFkZGluZyBxdWUgYXNvY2lhbW9zIGEgY2FkYSB1bm8gZGUgbG9zIGxpIGVuIGVsIGNhc28gZGUgdGVuZXIgdW4gaWNvbm8gYSBsYSBpenF1aWVyZGEsIGEgZmluIGRlIHF1ZSBzZSBwdWVkYSBkaWZlcmVuY2lhciBlbnRyZSBpY29ubyB5IGVsZW1lbnRvXG4vLy8gQHBhcmFtZXRlciB7Qm9vbGVhbn0gcmVzZXQgW3RydWVdIC0gU2kgdGVuZW1vcyBxdWUgZ2VuZXJhciBDU1MgcGFyYSByZXNldGVhciBwb3NpYmxlcyB2YWxvcmVzIGVzcGVjaWZpY2Fkb3MgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIGN1YW5kbyBxdWVyZW1vcyBwb25lciB1biBpdGVtSWNvbiB2YWPDrW8sIHBvciBkZWZlY3RvIHNpLlxuLy8vIEBjb250ZW50IFBlcm1pdGUgYW5pZGFyIGN1ZXJwbyBkZWwgY29udGVuaWRvIGVuIGVsIGludGVyaW9yLlxuQG1peGluIGNvbnRlbnRCbG9jaygkYmxvY2stcGFkZGluZywgJG1hcmdpbiwkcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgJGNvbG9yLCRjb2xvci1ob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgJGl0ZW0tYm9yZGVyLXRvcCwgXG4gICAgICAgICAgICAgICAgICAgICRpdGVtLWljb246JycsXG4gICAgICAgICAgICAgICAgICAgICRpY29uLWZvbnQtZmFtaWx5OiRjb250ZW50TGlzdEljb25Gb250RmFtaWx5LFxuICAgICAgICAgICAgICAgICAgICAkaWNvbi1jb2xvcjogJycsXG4gICAgICAgICAgICAgICAgICAgICRpY29uLXBhZGRpbmc6JGNvbnRlbnRMaXN0SWNvblBhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICRyZXNldDp0cnVlKSB7XG4gICAgICAgICAgICAgICBcbiAgICAmIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAkYmxvY2stcGFkZGluZztcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgLmNtQ29udGVudExpbmssIGEuY21Db250ZW50TGluazp2aXNpdGVkLFxuICAgICAgICAuY21SZXNvdXJjZUxpbmssIGEuY21SZXNvdXJjZUxpbms6dmlzaXRlZCB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIGEuY21Db250ZW50TGluazpob3ZlciwgYS5jbUNvbnRlbnRMaW5rOmFjdGl2ZSwgYS5jbUNvbnRlbnRMaW5rOmZvY3VzLFxuICAgICAgICBhLmNtUmVzb3VyY2VMaW5rOmhvdmVyLCBhLmNtUmVzb3VyY2VMaW5rOmFjdGl2ZSwgYS5jbVJlc291cmNlTGluazpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgICAgICB9XG4gICAgICAgID4gbGkgeyAgICBcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgbWFyZ2luOiAkbWFyZ2luO1xuICAgICAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBAaWYgJGl0ZW0taWNvbiAhPSAnJyB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUgIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCgkaWNvbi1mb250LWZhbWlseSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRpdGVtLWljb247XG4gICAgICAgICAgICAgICAgICAgIEBpZiAkaWNvbi1jb2xvciE9Jycge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGljb24tY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY+ICoge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpY29uLXBhZGRpbmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgJHJlc2V0IHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSAge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJj4gKiB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICAgICAmLmNtSWNvbkNvbnRlbnRJdGVtID4gKiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAY29udGVudDtcblxuICAgICAgICB9XG4gICAgXG4gICAgICAgIC8vIExpbXBpYW1vcyBlbCBwcmltZXIgaGlqby5cbiAgICAgICAgPiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLy8gRnVuY2lvbmVzIGV4dHJhIHF1ZSB0ZW5lbW9zIHF1ZSBzb3BvcnRhciBwYXJhIGVsIGZ1bmNpb25hbWVpbnRvIG11bHRpLWNvbHVtbmFcbiAgICAgICAgJjpub3QoLm5Db2x1bW5zKSB7XG4gICAgICAgICAgICA+IGxpK2xpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAkaXRlbS1ib3JkZXItdG9wO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAvLyBBaG9yYSBlc3BlY2lmaWNhbW9zIGxvcyBlc3RpbG9zIGVuIGZ1bmNpw7NuIGRlIGxhcyBuLWNvbHVtbmFzXG4gICAgICAgIEBmb3IgJGNvbCBmcm9tIDIgdGhyb3VnaCAxMiB7XG4gICAgICAgICAgICAkY3Vyckl0ZW06ICAkY29sICsgMTtcbiAgICAgICAgICAgICYubkNvbHVtbnNfI3skY29sfSA+IGxpOm50aC1jaGlsZChuKyN7JGN1cnJJdGVtfSkge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6ICRpdGVtLWJvcmRlci10b3A7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gICAgICAgIFxuICAgICAgICBcbiAgICB9XG59XG5cbi8vLyBNaXhpbiBxdWUgbm9zIHBlcm1pdGUgZXN0YWJsZWNlciB1biB0YW1hw7FvIGRlIGxvcyBkaXN0aW50b3MgZWxlbWVudG9zIGRlIHVuIGJsb3F1ZSBkZSBjb250ZW5pZG9zIGFzb2NpYWRvIGEgdW4gZGV0ZXJtaW5hZG9cbi8vLyB0YW1hw7FvIGRlIGZ1ZW50ZSBxdWUgcGFzYW1vcyBjb21vIHBhcsOhbWV0cm8sIHRpZW5lIGVuIGN1ZW50YSBlbCByZXN0byBkZSB0YW1hw7FvcyBkZWZpbmlkb3MgcGFyYSBjYWxjdWxhciBlbCB0YW1hw7FvIGFkZWN1YWRvLFxuLy8vIHBhcnRlIGRlbCAkZm9udC1zaXplLWJhc2UsIHNpIGVzIGVsIG1pc21vIG5vIGdlbmVyYSBuYWRhLCBlbiBvdHJvIGNhc28gZ2VuZXJhIGluZm9ybWFjacOzbiBhZGVjdWFkYSBwYXJhIHBpbnRhciBsb3MgZGlzdGludG9zXG4vLy8gZWxlbWVudG9zLlxuLy8vIFxuLy8vIEBwYXJhbWV0ZXIge1N0cmluZ30gYmxvY2stcGFkZGluZyAtIEVsIHBhZGRpbmcgZGVsIGJsb3F1ZSBxdWUgdGVuZW1vc1xuQG1peGluIGNvbnRlbnRCbG9ja1NpemluZygkZm9udC1iYXNlKSB7XG4gICAgJiB7XG4gICAgICAgID4gbGkge1xuICAgICAgICAgICAgLy8gTGEgZnVlbnRlIGJhc2UgZGUgdG9kbyBlbCBjdWVycG9cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtYmFzZTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLy8gRWwgdGFtYcOxbyBkZSBsb3MgZWxlbWVudG9zIGludGVucm9zIHF1ZSB0ZW5lbW9zLCBxdWUgYWp1c3RhbW9zIGVuIGZ1bmNpw7NuIGRlIGVzdGEsIGLDoXNpY2FtZW50ZVxuICAgICAgICAgICAgLy8gc8OzbG8gYWp1c3RhbW9zIGVsIHRhbWHDsW8gZGUgbGFzIGNhcmFjdGVyw61zdGljYXMsIHF1ZSBlcyBsbyDDum5pY28gcXVlIGFwYXJlbnRlbWVudGUgcHVlZGUgdmFyaWFyLlxuICAgICAgICAgICAgLnRlbXBsYXRlSHRtbExpc3REZXRhaWwge1xuICAgICAgICAgICAgICAgIC5mZWF0dXJlcyB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKCR0ZW1wbGF0aW5nLWZlYXR1cmVzLWZvbnQtc2l6ZSAvICRmb250LXNpemUtYmFzZSkqJGZvbnQtYmFzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLy8vIE1peGluIHF1ZSBwZXJtaXRlIHJlcHJlc2VudGFyIHVuIGZvcm1hdG8gZGUgbWFwYSB3ZWIsIHJlY2liaWVuZG8gZWwgbml2ZWwgeSBlbCBlc3RpbG8gYXNvY2lhZG8gY29tbyB1biBcbi8vLyBtYXBhIGVuIGVsIHF1ZSBzZSBkZWZpbmVuIHZhcmlhcyB2YXJpYWJsZXMsIHZlYXNlIGVsIGZpY2hlcm8gZGUgdmFyaWFibGVzIGdsb2JhbCBkZSBQcm94aWEgcGFyYSBcbi8vLyBjb25maWd1cmFyIGFkZWN1YWRhbWVudGUgc3UgZm9ybWF0by5cbi8vLyBcbi8vLyBAcGFyYW1ldGVyIHtOdW1iZXJ9IGxldmVsIC0gRWwgbml2ZWwgZGVsIG1hcGEgV2ViIGVuIGVsIHF1ZSBub3MgZW5jb250cmFtb3Ncbi8vLyBAcGFyYW1ldGVyIHtNYXB9IGNvbmZpZ3VyYXRpb24gLSBMYSBjb25maWd1cmFjacOzbiBkZWwgZWxlbWVudG8gZGVsIG1hcGEgV2ViIHF1ZSBlc3RhbW9zIHBpbnRhbmRvLlxuQG1peGluIHNpdGVtYXAoJGxldmVsLCRjb25maWd1cmF0aW9uKSB7XG4gICAgdWwuY21XZWJNYXBMZXZlbCN7JGxldmVsfSB7XG4gICAgICAgIC8vIE5vIHF1ZXJlbW9zIHF1ZSBub3MgZ2VuZXJlIGljb25vLCBwb3JxdWUgc2UgbG8gdmFtb3MgYSBtZXRlciBkaXJlY3RhbWVudGUgYWwgbml2ZWxcbiAgICAgICAgLy8gZGUgZm9ybWEgbWFudWFsLlxuICAgICAgICBAaW5jbHVkZSBjb250ZW50QmxvY2sobWFwLWdldCgkY29uZmlndXJhdGlvbiwnYmxvY2stcGFkZGluZycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLWdldCgkY29uZmlndXJhdGlvbiwnYmxvY2staXRlbS1tYXJnaW4nKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC1nZXQoJGNvbmZpZ3VyYXRpb24sJ2Jsb2NrLWl0ZW0tcGFkZGluZycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLWdldCgkY29uZmlndXJhdGlvbiwnYmxvY2staXRlbS1jb2xvcicpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLWdldCgkY29uZmlndXJhdGlvbiwnYmxvY2staXRlbS1jb2xvci1ob3ZlcicpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLWdldCgkY29uZmlndXJhdGlvbiwnYmxvY2staXRlbS1ib3JkZXItdG9wJykpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgIC8vIEVsIHRhbWHDsW8gZGUgbGEgZnVlbnRlIHF1ZSBhcGxpY2Ftb3MgYWwgYmxvcXVlLi4uXG4gICAgICAgIEBpbmNsdWRlIGNvbnRlbnRCbG9ja1NpemluZyhtYXAtZ2V0KCRjb25maWd1cmF0aW9uLCdibG9jay1pdGVtLWZvbnQtc2l6ZScpKTtcblxuICAgICAgICAkbGV2ZWxtYXJnaW46IGlmKG1hcC1oYXMta2V5KCRjb25maWd1cmF0aW9uLCdpbmRlbnQtbWFyZ2luJyksbWFwLWdldCgkY29uZmlndXJhdGlvbiwnaW5kZW50LW1hcmdpbicpLCRpbmRlbnQtbWFyZ2luKTsgICAgICAgIFxuICAgICAgICBcbiAgICAgICAgLy8gdmFtb3MgYSBpbnRyb2R1Y2lyIHNpZW1wcmUgdW4gcGFkZGluZyBhIGxhIGl6cXVpZXJkYSwgZXhjZXB0byBzaSBlc3RhbW9zIGVuIGVsIG5pdmVsIDEsIHB1ZXN0byBxdWVcbiAgICAgICAgLy8gZXNlIG5vIGFwaWNhXG4gICAgICAgIEBpZiAkbGV2ZWwgIT0gMSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJGxldmVsbWFyZ2luICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgIC8vIEludHJvZHVjaW1vcyBlbCBzdHlsaW5nIGRlbCBESVZcbiAgICAgICAgLmNtV2ViTWFwTGV2ZWwjeyRsZXZlbH1IZWFkZXIge1xuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkY29uZmlndXJhdGlvbiwndGl0bGUtbWFyZ2luJyk7XG4gICAgICAgICAgICAuY21XZWJNYXBMZXZlbCN7JGxldmVsfSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29uZmlndXJhdGlvbiwndGl0bGUtYmFja2dyb3VuZCcpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGNvbmZpZ3VyYXRpb24sJ3RpdGxlLXBhZGRpbmcnKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBtYXAtZ2V0KCRjb25maWd1cmF0aW9uLCd0aXRsZS1kaXNwbGF5Jyk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBtYXAtZ2V0KCRjb25maWd1cmF0aW9uLCd0aXRsZS1ib3JkZXItc3R5bGUnKTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbmZpZ3VyYXRpb24sJ3RpdGxlLWJvcmRlci1jb2xvcicpO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbWFwLWdldCgkY29uZmlndXJhdGlvbiwndGl0bGUtYm9yZGVyJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBJbnRyb2R1Y2ltb3MgbG9zIGRhdG9zIHJlbGFjaW9uYWRvcyBjb24gZWwgaWNvbm8sIHNpIGVzIFxuICAgICAgICAgICAgLy8gcXVlIGV4aXN0ZSBlbiBlbCBtYXBhLlxuICAgICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRjb25maWd1cmF0aW9uLCd0aXRsZS1pY29uJykge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udChtYXAtZ2V0KCRjb25maWd1cmF0aW9uLCd0aXRsZS1pY29uLWZvbnQnKSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGNvbmZpZ3VyYXRpb24sJ3RpdGxlLWljb24nKTtcbiAgICAgICAgICAgICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRjb25maWd1cmF0aW9uLCd0aXRsZS1pY29uLWNvbG9yJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbmZpZ3VyYXRpb24sJ3RpdGxlLWljb24tY29sb3InKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogbWFwLWdldCgkY29uZmlndXJhdGlvbiwndGl0bGUtaWNvbi1wYWRkaW5nJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSAge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLy8vIE1peGluIHF1ZSBwZXJtaXRlIGRlZmluaXIgZWwgZm9ybWF0byBkZWwgYm90w7NuIGRlIHZlciBtw6FzLlxuLy8vXG4vLy8gQHBhcmFtZXRlciAge01hcH0gICAgdXNlclNldHRpbmdzICAtICBBanVzdGVzIGRlbCBib3TDs24gZGUgdmVyIG3DoXNcbkBtaXhpbiBiYW5uZXItc2hvd21vcmUoJHVzZXJTZXR0aW5ncykge1xuICAgICYge1xuICAgICAgICAkc2hvd01vcmVJY29uOiBtYXAtZ2V0KCR1c2VyU2V0dGluZ3MsJ2ljb24tY29udGVudCcpO1xuICAgICAgICAkc2hvd01vcmVGYW1pbHk6IG1hcC1nZXQoJHVzZXJTZXR0aW5ncywnaWNvbi1mb250LWZhbWlseScpO1xuICAgICAgICAkc2hvd01vcmVQb3NpdGlvbjogbWFwLWdldCgkdXNlclNldHRpbmdzLCdpY29uLXBvc2l0aW9uJyk7XG5cbiAgICBcbiAgICAgICAgJHNldHRpbmdzOiBtYXAtbWVyZ2UoJGJhbm5lci1zaG93bW9yZS1idXR0b24sJHVzZXJTZXR0aW5ncyk7XG4gICAgICAgXG4gICAgICAgIC5oYXMtc2hvdy1tb3JlIHtcbiAgICAgICAgICAgIC5iYW5uZXJTaG93TW9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KG1hcC1nZXQoJHNldHRpbmdzLCd0ZXh0LWNvbG9yJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLWdldCgkc2V0dGluZ3MsJ2JnLWNvbG9yJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLWdldCgkc2V0dGluZ3MsJ2JnLWNvbG9yJykpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZywyKiRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAtZ2V0KCRzZXR0aW5ncywnZm9udC1zaXplJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChtYXAtZ2V0KCRzZXR0aW5ncywnZm9udC1zaXplJykgKiAkbGluZS1oZWlnaHQtYmFzZSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC1nZXQoJHNldHRpbmdzLCdib3JkZXItcmFkaXVzJykpO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgICAgICAgICAgICAgQGlmICRzaG93TW9yZUljb24gIT0gJycge1xuICAgICAgICAgICAgICAgICAgICBAaWYgJHNob3dNb3JlUG9zaXRpb24gPT0gJ3JpZ2h0JyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAkc2hvd01vcmVJY29uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoJHNob3dNb3JlRmFtaWx5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJHNob3dNb3JlSWNvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCgkc2hvd01vcmVGYW1pbHkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIsXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIFxuICAgIH1cblxufVxuXG4vLy8gTWl4aW4gcGFyYSBjb2xvY2FyIHVuIGJhbm5lciBlbiBsYSBwb3NpY2nDs24gdG9wXG4vLy9cbi8vLyBAcGFyYW1ldGVyICB7TWFwfSAgICBiYW5uZXItc2hvd21vcmUtc2V0dGluZ3MgWyRiYW5uZXItc2hvd21vcmUtYnV0dG9uXSAtICBBanVzdGVzIGRlbCBib3TDs24gZGUgdmVyIG3DoXNcbkBtaXhpbiBiYW5uZXItdG9wKCRiYW5uZXItc2hvd21vcmUtc2V0dGluZ3M6JGJhbm5lci1zaG93bW9yZS1idXR0b24pIHtcbiAgICAmIHtcbiAgICAgICAgaW1nLCAuY21CYW5uZXJJbm5lciB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuY21CYW5uZXJJbm5lciB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJGhhbGZHdXR0ZXI7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYmFubmVyLXNob3dtb3JlKCRiYW5uZXItc2hvd21vcmUtc2V0dGluZ3MpO1xuICAgIH1cbn1cblxuLy8vIE1peGluIHBhcmEgY29sb2NhciB1biBiYW5uZXIgZW4gbGEgcG9zaWNpw7NuIGJvdHRvbVxuLy8vXG4vLy8gQHBhcmFtZXRlciAge01hcH0gICAgYmFubmVyLXNob3dtb3JlLXNldHRpbmdzIFskYmFubmVyLXNob3dtb3JlLWJ1dHRvbl0gLSAgQWp1c3RlcyBkZWwgYm90w7NuIGRlIHZlciBtw6FzXG5AbWl4aW4gYmFubmVyLWJvdHRvbSgkYmFubmVyLXNob3dtb3JlLXNldHRpbmdzOiRiYW5uZXItc2hvd21vcmUtYnV0dG9uKSB7XG4gICAgJiB7XG4gICAgICAgIGltZywgLmNtQmFubmVySW5uZXIge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmNtQmFubmVySW5uZXIge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRoYWxmR3V0dGVyO1xuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYmFubmVyLXNob3dtb3JlKCRiYW5uZXItc2hvd21vcmUtc2V0dGluZ3MpOyAgICAgICAgXG4gICAgfVxufVxuLy8vIE1peGluIHF1ZSBub3MgcGVybWl0ZSBnZW5lcmFyIHVuIGJhbm5lciBlbiBwb3NpY2nDs24gaXpxdWllcmRhLCByZWNpYmUgY29tbyBhcmd1bWVudG9zIGxhIGFuY2h1cmEgbcOheGltYVxuLy8vIGRlIGxhIGltYWdlbiB5IGxhIGFuY2h1cmEgbcOheGltYSBkZWwgY2FtcG8gZGUgdGV4dG8uXG4vLy9cbi8vLyBAcGFyYW1ldGVyICAgIHtOdW1iZXJ9IGltYWdlLXdpZHRoIC0gRWwgYW5jaG8gcXVlIHNlIGRlc2VhIGRhciBhIGxhIGltYWdlblxuLy8vIEBwYXJhbWV0ZXIgICAge051bWJlcn0gdGV4dC13aWR0aCAtIEVsIGFuY2hvIHF1ZSBzZSBkZXNlYSBkYXIgYSBsYSBjYXBhIGRlIHRleHRvXG4vLy8gQHBhcmFtZXRlciAge01hcH0gICAgYmFubmVyLXNob3dtb3JlLXNldHRpbmdzIFskYmFubmVyLXNob3dtb3JlLWJ1dHRvbl0gLSAgQWp1c3RlcyBkZWwgYm90w7NuIGRlIHZlciBtw6FzXG5AbWl4aW4gYmFubmVyLWxlZnQoJGltYWdlLXdpZHRoLCAkdGV4dC13aWR0aCwkYmFubmVyLXNob3dtb3JlLXNldHRpbmdzOiRiYW5uZXItc2hvd21vcmUtYnV0dG9uKSB7XG4gICAgJiB7XG4gICAgICAgICAgIGltZywgLmNtQmFubmVySW5uZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgdmNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuY21CYW5uZXJJbm5lciB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRoYWxmR3V0dGVyO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJhbm5lci1zaG93bW9yZSgkYmFubmVyLXNob3dtb3JlLXNldHRpbmdzKTsgICAgICAgIFxuICAgIH1cbiAgICBcbiAgICAmLmltYWdlVGV4dCB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRpbWFnZS13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmNtQmFubmVySW5uZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkdGV4dC13aWR0aDtcbiAgICAgICAgfVxuICAgIH0gICAgXG59XG5cbi8vLyBNaXhpbiBxdWUgbm9zIHBlcm1pdGUgZ2VuZXJhciB1biBiYW5uZXIgZW4gcG9zaWNpw7NuIGl6cXVpZXJkYSwgcmVjaWJlIGNvbW8gYXJndW1lbnRvcyBsYSBhbmNodXJhIG3DoXhpbWFcbi8vLyBkZSBsYSBpbWFnZW4geSBsYSBhbmNodXJhIG3DoXhpbWEgZGVsIGNhbXBvIGRlIHRleHRvLlxuLy8vIFxuLy8vIEBwYXJhbWV0ZXIgICAge051bWJlcn0gaW1hZ2Utd2lkdGggLSBFbCBhbmNobyBxdWUgc2UgZGVzZWEgZGFyIGEgbGEgaW1hZ2VuXG4vLy8gQHBhcmFtZXRlciAgICB7TnVtYmVyfSB0ZXh0LXdpZHRoIC0gRWwgYW5jaG8gcXVlIHNlIGRlc2VhIGRhciBhIGxhIGNhcGEgZGUgdGV4dG9cbi8vLyBAcGFyYW1ldGVyICB7TWFwfSAgICBiYW5uZXItc2hvd21vcmUtc2V0dGluZ3MgWyRiYW5uZXItc2hvd21vcmUtYnV0dG9uXSAtICBBanVzdGVzIGRlbCBib3TDs24gZGUgdmVyIG3DoXNcbkBtaXhpbiBiYW5uZXItcmlnaHQoJGltYWdlLXdpZHRoLCAkdGV4dC13aWR0aCwkYmFubmVyLXNob3dtb3JlLXNldHRpbmdzOiRiYW5uZXItc2hvd21vcmUtYnV0dG9uKSB7XG4gICAgJiB7XG4gICAgICAgIGltZywgLmNtQmFubmVySW5uZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgdmNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuY21CYW5uZXJJbm5lciB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaGFsZkd1dHRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgYmFubmVyLXNob3dtb3JlKCRiYW5uZXItc2hvd21vcmUtc2V0dGluZ3MpOyAgICAgICAgXG4gICAgfVxuICAgIFxuICAgICYuaW1hZ2VUZXh0IHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogJGltYWdlLXdpZHRoO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuY21CYW5uZXJJbm5lciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICR0ZXh0LXdpZHRoO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gVW4gbWl4aW4gcXVlIHBlcm1pdGUgY3JlYXIgZWwgdMOtdHVsbyBkZSB1biBibG9xdWUgZGUgZW5sYWNlIGEgY29udGVuaWRvIGVuIGVsIHNpc3RlbWEsIGF1bnF1ZSBwb2Ryw61hIHVzYXJzZSBjb24gb3Ryb1xuLy8vIG9iamV0aXZvLlxuLy8vXG4vLy8gQHBhcmFtZXRlciAgICB7U3RyaW5nfSB0aXRsZS1jb2xvciAgICAgICAgICAgICAgICAgICAgLSBFbCBjb2xvciBwb3IgZGVmZWN0byBxdWUgdXRpbGl6YW1vc1xuLy8vIEBwYXJhbWV0ZXIgIHtTdHJpbmd9IHRpdGxlLWNvbG9yLWhvdmVyICAgICAgICAgICAgICAtIEVsIGNvbG9yIHBvciBkZWZlY3RvIHF1ZSB1dGlsaXphbW9zIHBhcmEgbG9zIGVubGFjZXNcbi8vLyBAcGFyYW1ldGVyICB7U3RyaW5nfSB0aXRsZS1zaXplICAgICAgICAgICAgICAgICAgICAgLSBFbCB0YW1hw7FvIGFzb2NpYWRvIGFsIGN1ZXJwbyBkZWwgY29udGVuaWRvc1xuLy8vIEBwYXJhbWV0ZXIgIHtTdHJpbmd9IHRpdGxlLXBhZGRpbmcgICAgICAgICAgICAgICAgICAtIEVsIHBhZGRpbmcgYXNvY2lhZG8gYWwgdMOtdHVsb1xuLy8vIEBwYXJhbWV0ZXIgIHtTdHJpbmd9IHRpdGxlLW1hcmdpbiAgICAgICAgICAgICAgICAgICAtIEVsIG1hcmdlbiBhc29jaWFkbyBhbCB0w610dWxvXG4vLy8gQHBhcmFtZXRlciAge1N0cmluZ30gdGl0bGUtYmdjb2xvciAgICAgICAgICAgICAgICAgIC0gRWwgY29sb3IgZGUgZm9uZG8gYXNvY2lhZG8gYWwgdMOtdHVsb1xuLy8vIEBjb250ZW50ICAgIEFkbWl0ZSBjdWVycG8gZGVsIGNvbnRlbmlkb1xuQG1peGluIGFic3RyYWN0QmxvY2tUaXRsZSgkdGl0bGUtY29sb3IsJHRpdGxlLWNvbG9yLWhvdmVyLCR0aXRsZS1zaXplLCR0aXRsZS1wYWRkaW5nLCR0aXRsZS1tYXJnaW4sJHRpdGxlLWJnY29sb3IpIHtcbiAgICAmIHtcbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRpdGxlLXNpemU7XG4gICAgICAgICAgICBjb2xvcjogJHRpdGxlLWNvbG9yO1xuICAgICAgICAgICAgcGFkZGluZzogJHRpdGxlLXBhZGRpbmc7XG4gICAgICAgICAgICBtYXJnaW46ICR0aXRsZS1tYXJnaW47XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGl0bGUtYmdjb2xvcjtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgYSwgYTp2aXNpdGVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGE6Zm9jdXMsYTpob3ZlciwgYTphY3RpdmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGl0bGUtY29sb3ItaG92ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgICAgXG4gICAgICAgIFxuICAgICAgICB9XG4gICAgXG4gICAgfVxuXG59XG5cbi8vLyBVbiBtaXhpbiBxdWUgaGFjZSB1biBlbGxpcHNpcyBhIHVuIG7Dum1lcm8gZGUgbGluZWFzIGRlIHVuIGJsb3F1ZSBkZSB0ZXh0b1xuLy8vIEBwYXJhbWV0ZXIge051bWJlcn0gc2l6ZSAtIEVsIHRhbWHDsW8gZGUgZnVlbnRlc1xuLy8vIEBwYXJhbWV0ZXIge051bWJlcn0gbGluZXMgLSBFbCBuw7ptZXJvIGRlIGxpbmVhc1xuLy8vIEBwYXJhbWV0ZXIge051bWJlcn0gbGluZS1oZWlnaHQgLSBFbCB0YW1hw7FvIGRlIGxhIGxpbmVhIHNpIG5vIHNlIHF1aWVyZSBlbCB2YWxvciBwb3IgZGVmZWN0b1xuQG1peGluIGN1dFRleHQoJHNpemUsICRsaW5lcywgJGxpbmUtaGVpZ2h0OiAtMSkge1xuICAgICRhY3R1YWxMaW5lSGVpZ2h0OiBpZigkbGluZS1oZWlnaHQgPT0gLTEsICgkc2l6ZSokbGluZS1oZWlnaHQtYmFzZSksICRsaW5lLWhlaWdodCk7XG5cbiAgICAmIHtcbiAgICAgICAgZm9udC1zaXplOiAkc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRhY3R1YWxMaW5lSGVpZ2h0O1xuICAgICAgICBAaWYgJGxpbmVzICE9IC0xIHtcbiAgICAgICAgICAgIGhlaWdodDogJGxpbmVzICogJGFjdHVhbExpbmVIZWlnaHQ7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAkbGluZXM7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG92ZXJmbG93OiBpbml0aWFsO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogaW5pdGlhbDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gVW4gbWl4aW4gcXVlIHBlcm1pdGUgZGVmaW5pciBkYXRvcyBlc3BlY2lhbGVzIHJlbGFjaW9uYWRvcyBjb24gZWwgY3VlcnBvIGRlIGxvcyBzdWJjb250ZW5pZG9zIGFzb2NpYWRvcyBhbCBjdWVycG8gZGUgdW4gZW5sYWNlXG4vLy9cbi8vLyBAcGFyYW1ldGVyICB7U3RyaW5nfSBiYWNrZ3JvdW5kLWNvbG9yICAgICAgICAtIEVsIGNvbG9yIGRlIGZvbmRvIGRlbCBlbGVtZW50byBjb21wbGV0b1xuLy8vIEBwYXJhbWV0ZXIgIHtOdW1iZXJ9IGl0ZW0tdGl0bGUtc2l6ZSAgICAgICAgIC0gRWwgdGFtYcOxbyBkZSBmdWVudGUgYXNvY2lhZG8gYWwgdMOtdHVsbyBkZSBjYWRhIGl0ZW1cbi8vLyBAcGFyYW1ldGVyICB7TnVtYmVyfSBpdGVtLXRpdGxlLWxpbmVzICAgICAgICAtIEVsIG7Dum1lcm8gbcOheGltbyBkZSBsw61uZWFzIHF1ZSBxdWVyZW1zbyBtb3N0cmFyIGRlbCB0w610dWxvXG4vLy8gQHBhcmFtZXRlciAge051bWJlcn0gaXRlbS1jb250ZW50LW1hcmdpbi10b3AgLSBFbCBtYXJnZW4gZGUgbGEgcGFydGUgc3VwZXJpb3IgcXVlIHRlbmVtb3MuXG4vLy8gQHBhcmFtZXRlciAge051bWJlcn0gaXRlbS1jb250ZW50LXNpemUgICAgICAgLSBFbCB0YW1hw7FvIGRlIGZ1ZW50ZSBhc29jaWFkbyBhbCBjdWVycG8gZGUgY2FkYSBpdGVtXG4vLy8gQHBhcmFtZXRlciAge051bWJlcn0gaXRlbS1jb250ZW50LWxpbmVzICAgICAgLSBFbCBuw7ptZXJvIG3DoXhpbW8gZGUgbMOtbmVhcyBxdWUgcXVlcmVtb3MgbW9zdHJhciBkZWwgY3VlcnBvXG4vLy8gQHBhcmFtZXRlciAge051bWJlcn0gaXRlbS1tb3JlaW5mby1zaXplICAgICAgLSBFbCB0YW1hw7FvIGRlIGZ1ZW50ZSBhc29jaWFkbyBhIGxhIGV0aXF1ZXRhIGRlIG3DoXMgaW5mb3JtYWNpw7NuXG4vLy8gQGNvbnRlbnQgICAgSW5mb3JtYWNpw7NuIGV4dHJhIGEgYcOxYWRpciBhbCBibG9xdWUgZGUgaW5mb3JtYWNpw7NuXG5AbWl4aW4gYWJzdHJhY3RCbG9ja1N1YmNvbnRlbnRzU2l6aW5nKCRiYWNrZ3JvdW5kLWNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaXRlbS10aXRsZS1zaXplLCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGl0ZW0tdGl0bGUtbGluZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpdGVtLWNvbnRlbnQtbWFyZ2luLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaXRlbS1jb250ZW50LXNpemUsIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaXRlbS1jb250ZW50LWxpbmVzKSB7XG4gICAgJiB7XG4gICAgICAgIC5jbUNvbnRlbnRMaXN0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAuY29udGVudC1uYW1lIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjdXRUZXh0KCRpdGVtLXRpdGxlLXNpemUsJGl0ZW0tdGl0bGUtbGluZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAuY29udGVudC10ZXh0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkaXRlbS1jb250ZW50LW1hcmdpbjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjdXRUZXh0KCRpdGVtLWNvbnRlbnQtc2l6ZSwkaXRlbS1jb250ZW50LWxpbmVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICBcbiAgICB9XG59XG5cbi8vLyBVbiBtaXhpbiBxdWUgcGVybWl0ZSBtYXF1ZXRhciBlbCBibG9xdWUgZGUgbcOhcyBpbmZvcm1hY2nDs24gdmluY3VsYWRvIGEgdW4gaWNvbm8sIGNvbiBsYSBwb3NpYmlsaWRhZCBkZSBhw7FhZGlyXG4vLy8gdW4gaXRlbSwgZXNwZWNpZmljYXIgdW4gbWFyZ2luIHVuIHBhZGRpbmcsIGV0Yy5cbi8vLyBcbi8vLyBAcGFyYW1ldGVyICB7TnVtYmVyfSBmb250LXNpemUgICAgICAgICAgLSBFbCB0YW1hw7FvIGRlIGxhIGZ1ZW50ZSBkZWwgYmxvcXVlIGRlIG3DoXMgaW5mb3JtYWNpw7NuXG4vLy8gQHBhcmFtZXRlciAge1N0cmluZ30gY29sb3IgICAgICAgICAgICAgIC0gRWwgY29sb3IgZGUgZnVlbnRlIGRlbCBlbGVtZW50b1xuLy8vIEBwYXJhbWV0ZXIgIHtTdHJpbmd9IGNvbG9yLWhvdmVyICAgICAgICAtIEVsIGNvbG9yIGRlIGZ1ZW50ZSBhbCBwYXNhciBlbCByYXTDs24gcG9yIGVuY2ltYSBkZWwgZWxlbWVudG9cbi8vLyBAcGFyYW1ldGVyICB7U3RyaW5nfSBiZ2NvbG9yICAgICAgICAgICAgLSBFbCBjb2xvciBkZSBmb25kbyBkZWwgYmxvcXVlIGRlIG3DoXMgaW5mb3JtYWNpw7NuXG4vLy8gQHBhcmFtZXRlciAge051bWJlcn0gcGFkZGluZyAgICAgICAgICAgIC0gRWwgbWFyZ2VuIGludGVyaW9yIGRlbCBibG9xdWUgZGUgbcOhcyBpbmZvcm1hY2nDs25cbi8vLyBAcGFyYW1ldGVyICB7TnVtYmVyfSBtYXJnaW4gICAgICAgICAgICAgLSBFbCBtYXJnZW4gZGVsIGJsb3F1ZSBkZSBtw6FzIGluZm9ybWFjacOzblxuLy8vIEBwYXJhbWV0ZXIgIHtTdHJpbmd9IGljb24tY29udGVudCAgICAgICAtIEVsIGljb25vIGNvbiBlbCBxdWUgc2UgdmEgYSB2aW5jdWxhclxuLy8vIEBwYXJhbWV0ZXIgIHtTdHJpbmd9IGljb24tZm9udC1mYW1pbHkgICAtIEVsIHRpcG8gZGUgZnVlbnRlIGRlIGZhbWlsaWEgYSBsYSBxdWUgcGVydGVuZWNlIGVsIGljb25vIFxuLy8vIEBwYXJhbWV0ZXIgIHtTdHJpbmd9IGljb24tcG9zaXRpb24gICAgICAtIExhIHBvc2ljacOzbiBwYXJhIGluY2x1aXIgZWwgaWNvbm8gZW4gZWwgYWZ0ZXIgbyBlbiBlbCBiZWZvcmVcbkBtaXhpbiBhYnN0cmFjdEJsb2NrU3ViY29udGVudHNNb3JlSW5mb3JtYXRpb24oJGZvbnQtc2l6ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItaG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRiZ2NvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG1hcmdpbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGljb24tY29udGVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGljb24tZm9udC1mYW1pbHksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpY29uLXBvc2l0aW9uKSB7XG4gICAgJiB7XG4gICAgICAgIC5jbUNvbnRlbnRMaXN0IHtcbiAgICAgICAgICAgIC5tb3JlLWluZm9ybWF0aW9uIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgICAgICBhLGE6dmlzaXRlZCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhOmZvY3VzLGE6aG92ZXIsYTphY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRtYXJnaW47XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnY29sb3I7XG4gICAgICAgICAgICAgICAgQGlmICRpY29uLWNvbnRlbnQgIT0gJycge1xuICAgICAgICAgICAgICAgICAgICBAaWYgJGljb24tcG9zaXRpb24gPT0gJ3JpZ2h0JyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jb250ZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoJGljb24tZm9udC1mYW1pbHkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAkaWNvbi1jb250ZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoJGljb24tZm9udC1mYW1pbHkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8vIFVuIG1peGluIHBhcmEgcG9uZXIgbGEgaW1hZ2VuIGRlYmFqbyBkZWwgdGV4dG8uXG4vLy9cbi8vLyBAcGFyYW1ldGVyICAgIHtOdW1iZXJ9IGJhbm5lci1oZWlnaHQgICAgLSBMYSBhbHR1cmEgcXVlIGRlc2VhbW9zIHRlbmdhIGVsIGJhbm5lclxuLy8vIEBwYXJhbWV0ZXIgIHtOdW1iZXJ9IHBhZGRpbmctYm94WzBdICAgIC0gRWwgdGFtYcOxbyBkZWwgcGFkZGluZyBib3ggZGUgbGEgY2FqYSBwYXJhIGNhbGN1bGFyIGxhIGFsdHVyYSBhZGVjdWFkYW1lbnRlXG4vLy8gQHBhcmFtZXRlciAge01hcH0gICAgYmFubmVyLXNob3dtb3JlLXNldHRpbmdzIFskYmFubmVyLXNob3dtb3JlLWJ1dHRvbl0gLSAgQWp1c3RlcyBkZWwgYm90w7NuIGRlIHZlciBtw6FzXG5AbWl4aW4gYmFubmVyLWJlbG93KCRiYW5uZXItaGVpZ2h0LCRwYWRkaW5nLWJveDowLCAkYmFubmVyLXNob3dtb3JlLXNldHRpbmdzOiRiYW5uZXItc2hvd21vcmUtYnV0dG9uKSB7XG4gICAgJiB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAuY21CYW5uZXJPdXRlciB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNtQmFubmVySW5uZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAuYmFubmVyVGV4dCwuYmFubmVyU2hvd01vcmUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB2Y2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuYmFubmVyU2hvd01vcmUge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSAgICBcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgYmFubmVyLXNob3dtb3JlKCRiYW5uZXItc2hvd21vcmUtc2V0dGluZ3MpOyAgICAgICAgXG4gICAgfVxuXG59XG5cbi8vLyBNaXhpbiBvcmllbnRhZG8gYSBlc3BhY2lhciBsb3MgZWxlbWVudG9zIGRlIHVuYSBsaXN0YSBxdWUgaGFuIHNpZG8gY29udmVydGlkb3MgZW4gY29sdW1uYXMgcHJldmlhbWVudGUgdW5cbi8vLyBkZXRlcm1pbmFkbyBlc3BhY2lhZG8gdmVydGljYWwgeSB1bm8gaG9yaXpvbnRhbFxuLy8vXG4vLy8gQHBhcmFtZXRlciB7TnVtYmVyfSBjb2wtc3BhY2luZyAtICAgRWwgZXNwYWNpYWRvIGVudHJlIGNvbHVtbmFzXG4vLy8gQHBhcmFtZXRlciB7TnVtYmVyfSByb3ctc3BhY2luZyAtICAgRWwgZXNwYWNpYWRvIGVudHJlIGZpbGFzXG5AbWl4aW4gc3BhY2UtY29sdW1uaXplZC1saXN0ICgkY29sLXNwYWNpbmcsJHJvdy1zcGFjaW5nKSB7XG4gICAgJiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLSRjb2wtc3BhY2luZy8yO1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRjb2wtc3BhY2luZy8yO1xuICAgICAgICBtYXJnaW4tdG9wOiAtJHJvdy1zcGFjaW5nO1xuICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb2wtc3BhY2luZy8yO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29sLXNwYWNpbmcvMjtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkcm93LXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuQG1peGluIHNwYWNlLWNvbHVtbml6ZWQtYW55ICgkY29sLXNwYWNpbmcsJHJvdy1zcGFjaW5nKSB7XG4gICAgJiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLSRjb2wtc3BhY2luZy8yO1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRjb2wtc3BhY2luZy8yO1xuICAgICAgICBtYXJnaW4tdG9wOiAtJHJvdy1zcGFjaW5nO1xuICAgICAgICA+ICoge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGNvbC1zcGFjaW5nLzI7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb2wtc3BhY2luZy8yO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRyb3ctc3BhY2luZztcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbi8vLyBNaXhpbiBxdWUgY2FsY3VsYSBlbCBwb3JjZW50YWplIGRlIHBhbnRhbGxhIHBhcmEgdW4gZGV0ZXJtaW5hZG8gdmFsb3Igc29icmUgZWwgMTAwJSwgZW4gY2FzbyBkZSBxdWUgbGEgbXVsdGlwbGljYWNpw7NuIGRlIGxvcyBzdXBlcmlvcmVzIHNlYVxuLy8vIG1heW9yIHF1ZSBlbCAxMDAlIHJlc3RhIDAuMDEgYWwgdmFsb3IuXG4vLy9cbi8vLyBAcGFyYW1ldGVyIHtOdW1iZXJ9IGNvbHMgIC0gRWwgdmFsb3Igc29icmUgZWwgcXVlIHNlIGNhbGN1bGFyYSBzdSBwb3JjZW50YWplIGRlIHBhbnRhbGxhIG9jdXBhZGFcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XG5AZnVuY3Rpb24gY29tcHV0ZVBlcmNlbnRhZ2UoJGNvbHMpIHtcbiAgICAkdG1wOiBmbG9vcigxMDAwMCAvICRjb2xzKTtcblxuICAgIC8vIEVzdG8gbm9zIGRhcsOhIGVsIHBvcmNlbnRhamUgcXVlIHRlbmVtb3MgY29tbyBudW1lcmljbywgYWhvcmEgbG8gcXVlIGhhY2Vtb3MgZXMgcmVjb252ZXJ0aXJsbyBhIDEwLlxuICAgIEByZXR1cm4gcGVyY2VudGFnZSgkdG1wIC8gMTAwMDApO1xuXG5cbn1cblxuLy8vIE1peGluIG9yaWVudGFkbyBhIHBlcm1pdGlyIG1vc3RyYXIgdW5hIGzDrXN0YSBjb21vIHVuIGNvbmp1bnRvIGRlIGNvbHVtbmFzLlxuLy8vXG4vLy8gQHBhcmFtZXRlciB7TnVtYmVyfSBjb2xzICAgICAgICAtIEVsIG7Dum1lcm8gZGUgY29sdW1uYXMgZW4gbGFzIHF1ZSBxdWVyZW1vcyBkaXZpZGlyIGVsIGVsZW1lbnRvIGRlIG1lbnVcbi8vLyBAcGFyYW1ldGVyIHtNYXB9ICAgIGJyZWFrcG9pbnRzIC0gRW4gZWwgY2FzbyBkZSBxdWUgcXVlcmFtb3Mgcm9tcGVyIGVsIGRpc2XDsW8gZGUgbGEgY29sdW1uYSBlbiBjaWVydGFzIHBvc2ljaW9uZXMgZW4gZnVuY2nDs24gZGVsIHRhbWHDsW9cbi8vLyBAY29udGVudCAtIEFkbWl0ZSBjdWVycG8gZGUgY29udGVuaWRvIHF1ZSBzZSBpbmNsdXllIGRlbnRybyBkZSBsb3MgbGkgaW50ZXJub3MuXG5AbWl4aW4gY29sdW1uaXplLWxpc3QgKCRjb2xzLCRicmVha3BvaW50czonJykge1xuICAgICYge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cblxuICAgICAgICBAaWYoJGJyZWFrcG9pbnRzID09ICcnKSB7XG5cbiAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjb21wdXRlUGVyY2VudGFnZSgkY29scyk7XG4gICAgICAgICAgICAgICAgLy8gSW5jbHVpbW9zIGVsIGN1ZXJwbyBkZWwgY29udGVuaWRvIHF1ZSBub3MgcHVlZGVuIGFkanVudGFyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gbGk6bnRoLWNoaWxkKCN7JGNvbHN9bisxKSB7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJHhzOiBpZihtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsJ3hzJyksbWFwLWdldCgkYnJlYWtwb2ludHMsJ3hzJyksMSk7XG4gICAgICAgICAgICAkc206IGlmKG1hcC1oYXMta2V5KCRicmVha3BvaW50cywnc20nKSxtYXAtZ2V0KCRicmVha3BvaW50cywnc20nKSwkY29scyk7XG4gICAgICAgICAgICAkbWQ6IGlmKG1hcC1oYXMta2V5KCRicmVha3BvaW50cywnbWQnKSxtYXAtZ2V0KCRicmVha3BvaW50cywnbWQnKSwkY29scyk7XG4gICAgICAgICAgICAkbGc6IGlmKG1hcC1oYXMta2V5KCRicmVha3BvaW50cywnbGcnKSxtYXAtZ2V0KCRicmVha3BvaW50cywnbGcnKSwkY29scyk7XG5cbiAgICAgICAgICAgIC8vIEdlbmVyYW1vcyBsb3MgbWVkaWEgcGFyYSBjYWRhIGNhc28uLi5cbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbHVtbml6ZS1saXN0ICgkeHMpIHtcbiAgICAgICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAkc20gIT0gJHhzIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFkgYWRlbcOhcyBkZWJlbW9zIHJlc2V0ZWFyIGVsIGNsZWFyIGRlbCBjYXNvIGFudGVyaW9yLCBwb3JxdWUgc2lubyByb21wZXJcbiAgICAgICAgICAgICAgICAgICAgLy8gZG9uZGUgbm8gdG9jYS5cbiAgICAgICAgICAgICAgICAgICAgPiBsaTpudGgtY2hpbGQoI3skeHN9bisxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbHVtbml6ZS1saXN0ICgkc20pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgJG1kIT0gJHNtIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBZIGFkZW3DoXMgZGViZW1vcyByZXNldGVhciBlbCBjbGVhciBkZWwgY2FzbyBhbnRlcmlvciwgcG9ycXVlIHNpbm8gcm9tcGVyXG4gICAgICAgICAgICAgICAgICAgIC8vIGRvbmRlIG5vIHRvY2EuXG4gICAgICAgICAgICAgICAgICAgID4gbGk6bnRoLWNoaWxkKCN7JHNtfW4rMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2x1bW5pemUtbGlzdCAoJG1kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAkbGchPSAkbWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFkgYWRlbcOhcyBkZWJlbW9zIHJlc2V0ZWFyIGVsIGNsZWFyIGRlbCBjYXNvIGFudGVyaW9yLCBwb3JxdWUgc2lubyByb21wZXJcbiAgICAgICAgICAgICAgICAgICAgLy8gZG9uZGUgbm8gdG9jYS5cbiAgICAgICAgICAgICAgICAgICAgPiBsaTpudGgtY2hpbGQoI3skbWR9bisxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbHVtbml6ZS1saXN0ICgkbGcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLyBNaXhpbiBxdWUgbm9zIHBlcm1pdGUgZWxpbWluYXIgdW5hIGNvbHVtbml6YWNpw7NuIHF1ZSB0ZW5lbW9zIHBhcmEgdW4gbW9kbyBYU1xuLy8vXG4vLy8gQHBhcmFtZXRlciAge051bWJlcn0gbWFyZ2luIFskaGFsZkd1dHRlcl0gLSBFbCBtYXJnZW4gcGFyYSBjYWRhIGxpXG4vLy8gQHBhcmFtZXRlciAge051bWJlcn0gcGFkZGluZyBbJGhhbGZHdXR0ZXJdIC0gRWwgcGFkZGluZyBwYXJhIGNhZGEgbGlcbkBtaXhpbiBjbGVhci14cy1jb2x1bW5zKCRtYXJnaW46JGhhbGZHdXR0ZXIsICRwYWRkaW5nOiRoYWxmR3V0dGVyKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKSB7XG4gICAgICAgID4gbGkge1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRoYWxmR3V0dGVyO1xuXG4gICAgICAgICAgICArIGxpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkaGFsZkd1dHRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vIE1peGluIG9yaWVudGFkbyBhIHBlcm1pdGlyIG1vc3RyYXIgdW5hIGzDrXN0YSBkZSBlbGVtZW50b3MgY29tbyB1biBjb25qdW50byBkZSBjb2x1bW5hcy5cbi8vL1xuLy8vIEBwYXJhbWV0ZXIge051bWJlcn0gY29scyAgICAgICAgLSBFbCBuw7ptZXJvIGRlIGNvbHVtbmFzIGVuIGxhcyBxdWUgcXVlcmVtb3MgZGl2aWRpciBlbCBlbGVtZW50byBkZSBtZW51XG4vLy8gQHBhcmFtZXRlciB7TWFwfSAgICBicmVha3BvaW50cyAtIEVuIGVsIGNhc28gZGUgcXVlIHF1ZXJhbW9zIHJvbXBlciBlbCBkaXNlw7FvIGRlIGxhIGNvbHVtbmEgZW4gY2llcnRhcyBwb3NpY2lvbmVzIGVuIGZ1bmNpw7NuIGRlbCB0YW1hw7FvXG4vLy8gQGNvbnRlbnQgLSBBZG1pdGUgY3VlcnBvIGRlIGNvbnRlbmlkbyBxdWUgc2UgaW5jbHV5ZSBkZW50cm8gZGUgbG9zIGxpIGludGVybm9zLlxuQG1peGluIGNvbHVtbml6ZS1hbnkgKCRjb2xzLCRicmVha3BvaW50czonJykge1xuICAgICYge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmKCRicmVha3BvaW50cyA9PSAnJykge1xuXG4gICAgICAgICAgICA+ICoge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjb21wdXRlUGVyY2VudGFnZSgkY29scyk7XG4gICAgICAgICAgICAgICAgLy8gSW5jbHVpbW9zIGVsIGN1ZXJwbyBkZWwgY29udGVuaWRvIHF1ZSBub3MgcHVlZGVuIGFkanVudGFyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gKjpudGgtY2hpbGQoI3skY29sc31uKzEpIHtcbiAgICAgICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkeHM6IGlmKG1hcC1oYXMta2V5KCRicmVha3BvaW50cywneHMnKSxtYXAtZ2V0KCRicmVha3BvaW50cywneHMnKSwxKTtcbiAgICAgICAgICAgICRzbTogaWYobWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCdzbScpLG1hcC1nZXQoJGJyZWFrcG9pbnRzLCdzbScpLCRjb2xzKTtcbiAgICAgICAgICAgICRtZDogaWYobWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCdtZCcpLG1hcC1nZXQoJGJyZWFrcG9pbnRzLCdtZCcpLCRjb2xzKTtcbiAgICAgICAgICAgICRsZzogaWYobWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCdsZycpLG1hcC1nZXQoJGJyZWFrcG9pbnRzLCdsZycpLCRjb2xzKTtcblxuICAgICAgICAgICAgLy8gR2VuZXJhbW9zIGxvcyBtZWRpYSBwYXJhIGNhZGEgY2Fzby4uLlxuICAgICAgICAgICAgQGluY2x1ZGUgY29sdW1uaXplLWFueSAoJHhzKSB7XG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgJHNtICE9ICR4cyB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gWSBhZGVtw6FzIGRlYmVtb3MgcmVzZXRlYXIgZWwgY2xlYXIgZGVsIGNhc28gYW50ZXJpb3IsIHBvcnF1ZSBzaW5vIHJvbXBlclxuICAgICAgICAgICAgICAgICAgICAvLyBkb25kZSBubyB0b2NhLlxuICAgICAgICAgICAgICAgICAgICA+ICo6bnRoLWNoaWxkKCN7JHhzfW4rMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2x1bW5pemUtYW55ICgkc20pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICRtZCE9ICRzbSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gWSBhZGVtw6FzIGRlYmVtb3MgcmVzZXRlYXIgZWwgY2xlYXIgZGVsIGNhc28gYW50ZXJpb3IsIHBvcnF1ZSBzaW5vIHJvbXBlclxuICAgICAgICAgICAgICAgICAgICAvLyBkb25kZSBubyB0b2NhLlxuICAgICAgICAgICAgICAgICAgICA+ICo6bnRoLWNoaWxkKCN7JHNtfW4rMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sdW1uaXplLWFueSAoJG1kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAkbGchPSAkbWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFkgYWRlbcOhcyBkZWJlbW9zIHJlc2V0ZWFyIGVsIGNsZWFyIGRlbCBjYXNvIGFudGVyaW9yLCBwb3JxdWUgc2lubyByb21wZXJcbiAgICAgICAgICAgICAgICAgICAgLy8gZG9uZGUgbm8gdG9jYS5cbiAgICAgICAgICAgICAgICAgICAgPiAqOm50aC1jaGlsZCgjeyRtZH1uKzEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbHVtbml6ZS1hbnkgKCRsZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLyBHZW5lcmEgcGFyYSB1biBtZW51IGxhIG1hcXVldGFjacOzbiBlbiBjb2x1bW5hcyBwZXJtaXRpZW5kbyBhw7FhZGlyIHVuIGljb25vIGEgY2FkYSB1bm8gZGUgbG9zIGVsZW1lbnRvc1xuLy8vIHF1ZSB0ZW5lbW9zXG4vLy9cbi8vLyBAcGFyYW1ldGVyIHtOdW1iZXJ9IGNvbHMgLSBFbCBuw7ptZXJvIGRlIGNvbHVtbmFzXG4vLy8gQHBhcmFtZXRlciB7U3RyaW5nfSBpY29uIC0gQ2FkZW5hIGRlIHRleHRvIHF1ZSB1dGlsaXphbW9zIHBhcmEgaW5jbHVpciB1biBpY29ubyBjb24gYW50ZXJpb3JpZGFkIGFsIGVsZW1lbnRvXG4vLy8gQHBhcmFtZXRlciB7U3RyaW5nfSBmYW1pbHkgLSBGYW1pbGlhIGRlIGZ1ZW50ZXMgcGFyYSByZXByZXNlbnRhciBlbCBpY29uby4gXG4vLy8gQHBhcmFtZXRlciB7TnVtYmVyfSBpY29uLXBhZGRpbmcgLSBQYWRkaW5nIGEgbGEgaXpxdWllcmRhIGRlbCBpY29ubywgcGFyYSBjb25zZWd1aXIgcXVlIGxhIG1hcXVldGFjacOzbiBzZWEgY29ycmVjdGEuXG4vLy8gQHBhcmFtZXRlciB7U3RyaW5nfSAkaWNvbi1jb2xvciAtIENvbG9yIHBhcmEgZWwgaWNvbm8uIFNvbG8gc2UgYXBsaWNhIHNpIGVzdMOhIGRlZmluaWRvIHBvciBlbCB1c3VhcmlvLlxuQG1peGluIG1lbnUtY29sdW1ucygkY29scywkaWNvbiwkZmFtaWx5LCRpY29uLXBhZGRpbmcsJGljb24tY29sb3I6JycpIHtcbiAgICAmIHtcbiAgICAgICAgQGluY2x1ZGUgY29sdW1uaXplLWxpc3QoJGNvbHMpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnRCbG9jaygkZmFtaWx5LCRpY29uKXtcbiAgICAgICAgICAgICAgICAvLyBTaSBoYXkgZGVmaW5pZG8gdW4gY29sb3IgcGFyYSBlbCBpY29ubyBkZWwgc3VibWVudSBsbyBhcGxpY2Ftb3MuXG4gICAgICAgICAgICAgICAgQGlmICRpY29uLWNvbG9yICE9ICcnIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRpY29uLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAkaWNvbiAhPSAnJyB7XG4gICAgICAgICAgICAgICAgJj4gKiB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGljb24tcGFkZGluZztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLyBNaXhpbiBwYXJhIHJlcHJlc25ldGFyIHVuIGJhbm5lciBhIHBhbnRhbGxhIGNvbXBsZXRhXG4vLy8gXG4vLy8gQmFubmVycyBxdWUgc2UgbXVlc3RyYW4gYSBwYW50YWxsYSBjb21wbGV0YSwgcmVzZXRlYW1vcyB0b2RvIGVsIEd1dHRlciBkZSBsb3MgbGFkb3MgZSBpbmRpY2Ftb3Ncbi8vLyBxdWUgbGEgaW1hZ2VuIGludGVyaW9yIGVzIGEgMTAwJSBkZSB0YW1hw7FvIHkgYWx0dXJhIGF1dG9tw6F0aWNhLlxuQG1peGluIG1haW4tYmFubmVyKCkge1xuICAgIG1hcmdpbjogMHB4ICgtJGhhbGZHdXR0ZXIpIDBweCAoLSRoYWxmR3V0dGVyKTtcbiAgICBcbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxufVxuXG4vLy8gTWl4aW4gcXVlIHBlcm1pdGUgbW9zdHJhciB1biBtYXBhIGRlIEdvb2dsZSBNYXBzIGNvbiBzdXMgY29uanVudG9zIGRlIG9wY2lvbmVzXG4vLy9cbi8vLyBAcGFyYW1ldGVyICAgIHtOdW1iZXJ9IGhlaWdodCAgICAgICAgLSBFbCB2YWxvciBkZSBsYSBjYXBhIGRlIG1hcGFzLCBkZWJlIHNlciBudW3DqXJpY28sIHB1ZXN0byBxdWUgZW4gb3RybyBjYXNvIGVsIG1hcGEgbm8gc2UgbXVlc3RyYW5cbi8vLyBAcGFyYW1ldGVyICAgIHtNYXB9IG9wdGlvbnMtZGlzcG9zaXRpb24gLSBVbiBtYXBhIHF1ZSBjb250aWVuZSBwYXJhIGNhZGEgcHJvcGllZGFkICh4cywgc20sIG1kLCBsZykgdW4gcGFyIGRlIHZhbG9yZXMgKG8gdW5vKSwgZWwgcHJpbWVlcm86IGxhIGFuY2h1cmEgZGUgbGEgY29sdW1uYSBkZSBtYXBhcywgZWwgc2VndW5kbyBsYSBkZSBsYSBvcGNpb25lcywgc2kgc2UgcGFzYSB2YWPDrW8gc2UgYXN1bWUgcXVlIGVzIDEyLCAxMlxuLy8vIEBwYXJhbWV0ZXIgICAge051bWJlcn0gaW5mb3dpbmRvdy1ib2R5LWZvbnQtc2l6ZSAtIFRhbWHDsW8gZGUgZnVlbnRlIGRlIGxhIHZlbnRhbmEgZGUgb3BjaW9uZXNcbi8vLyBAcGFyYW1ldGVyICAgIHtOdW1iZXJ9IGluZm93aW5kb3ctdGl0bGUtZm9udC1zaXplIC0gVGFtYcOxbyBkZWwgdMOtdHVsbyBkZSBsYSB2ZW50YW5hIGRlIGRldGFsbGUgZGVsIG1hcGEuXG4vLy8gQHBhcmFtZXRlciAgICB7TnVtYmVyfSBpbmZvd2luZG93LWxpbmstZm9udC1zaXplIC0gVGFtYcOxbyBkZSBsYSBmdWVudGUgZGUgbGEgdmVudGFuYSBkZSBkZXRhbGxlIGRlbCBtYXBhXG4vLy8gQHBhcmFtZXRlciAgICB7TnVtYmVyfSBzZWFyY2hlci1mb250LXNpemUgLSBUYW1hw7FvIGRlbCBmdWVudGUgcGFyYSBlbCBibG9xdWUgZGUgb3BjaW9uZXMgZGVudHJvIGRlbCBidXNjYWRvclxuLy8vIEBwYXJhbWV0ZXIgICAge051bWJlcn0gc2VhcmNoZXItbGVnZW5kLWZvbnQtc2l6ZSAgLSBUYW1hw7FvIGRlIGxhIGxleWVuZGFcbi8vLyBAcGFyYW1ldGVyICAgIHtOdW1iZXJ9IHNlYXJjaGVyLWZpZWxkc2V0LWhhcy1ib3JkZXIgLSBJTmRpY2Egc2kgZGViZSBhw7FhZGlyc2UgdW4gYm9yZGUgYWwgZmllbGRzZXQgcXVlIGNvbnRpZW5lIGEgdW4gZ3J1cG8gZGUgY2FtcG9zIG8gbm9cbi8vLyBAcGFyYW1ldGVyICAgIHtOdW1iZXJ9IHNlYXJjaGVyLWxlZ2VuZC1oYXMtYm9yZGVyIC0gSU5kaWNhIHNpIGRlYmUgYcOxYWRpcnNlIHVuIGJvcmRlIGluZmVyaW9yIGEgbGEgbGV5ZW5kYSBxdWUgY29udGllbmUgYSB1biBncnVwbyBkZSBjYW1wb3MgbyBubywgc29sbyBhcGxpY2Egc2kgbm8gc2UgZGVmaW5lIGFsIGZpZWxkc2V0XG4vLy8gQHBhcmFtZXRlciAgICB7TnVtYmVyfSBzZWFyY2hlci1ib3JkZXItY29sb3IgLSBDb2xvciBkZWwgYm9yZGUgICAgICAgICAgICAgICAgXG4vLy8gQHBhcmFtZXRlciAgICB7TnVtYmVyfSBzZWFyY2hlci1idXR0b24tZm9udC1zaXplIC0gVGFtYcOxbyBkZWwgZnVlbnRlIGRlbCBib3TDs25cbi8vLyBAcGFyYW1ldGVyICAgIHtOdW1iZXJ9IHNlYXJjaGVyLW1hcmtlci1jb2x1bW5zIC0gQ29sdW1uYXMgcG9yIGRlZmVjdG8gcGFyYSBtYXJjYWRvcmVzXG4vLy8gQHBhcmFtZXRlciAgICB7TWFwfSBzZWFyY2hlci1tYXJrZXItYnJlYWtwb2ludHMgLSBQdW50b3MgZGUgcnVwdHVyYSBlbiBsYXMgY29sdW1uYXMgYSBkaXN0aW50YXMgZGltZW5zaW9uZXMuXG4vLy8gQHBhcmFtZXRlciAgICB7TnVtYmVyfSBzZWFyY2hlci1tYXJrZXItZm9udC1zaXplIC0gVGFtbmHDsW8gZGUgZnVlbnRlIGRlbCBtYXJjYWRvci5cbi8vLyBAcGFyYW1ldGVyICAgIHtMaXN0fSBzZWFyY2hlci1idXR0b24tZGVmYXVsdC1jb2xvcnMgLSBQYXIgY29uIGVsIGNvbG9yIGRlIHRleHRvIHkgZm9uZG8gZGUgbG9zIGJvdG9uZXMgcG9yIGRlZmVjdG9cbi8vLyBAcGFyYW1ldGVyICAgIHtMaXN0fSBzZWFyY2hlci1idXR0b24tYXJyaXZlLWNvbG9ycyAtIFBhciBjb24gZWwgY29sb3IgZGUgdGV4dG8geSBmb25kbyBkZWwgYm90w7NuIGRlIGFtcGxpYXIgeS9vIGNvbW8gbGxlZ2FyLlxuQG1peGluIHNob3ctbWFwKCRoZWlnaHQsIFxuICAgICAgICAgICAgICAgICRvcHRpb25zLWRpc3Bvc2l0aW9uLFxuICAgICAgICAgICAgICAgICRpbmZvd2luZG93LWJvZHktZm9udC1zaXplLFxuICAgICAgICAgICAgICAgICRpbmZvd2luZG93LWJvZHktdGV4dC1jb2xvcixcbiAgICAgICAgICAgICAgICAkaW5mb3dpbmRvdy10aXRsZS1mb250LXNpemUsXG4gICAgICAgICAgICAgICAgJGluZm93aW5kb3ctbGluay1mb250LXNpemUsXG4gICAgICAgICAgICAgICAgJHNlYXJjaGVyLWZvbnQtc2l6ZSxcbiAgICAgICAgICAgICAgICAkc2VhcmNoZXItbGVnZW5kLWZvbnQtc2l6ZSxcbiAgICAgICAgICAgICAgICAkc2VhcmNoZXItZmllbGRzZXQtaGFzLWJvcmRlcixcbiAgICAgICAgICAgICAgICAkc2VhcmNoZXItbGVnZW5kLWhhcy1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJHNlYXJjaGVyLWJvcmRlci1jb2xvcixcbiAgICAgICAgICAgICAgICAkc2VhcmNoZXItYnV0dG9uLWZvbnQtc2l6ZSxcbiAgICAgICAgICAgICAgICAkc2VhcmNoZXItbWFya2VyLWNvbHVtbnMsXG4gICAgICAgICAgICAgICAgJHNlYXJjaGVyLW1hcmtlci1icmVha3BvaW50cyxcbiAgICAgICAgICAgICAgICAkc2VhcmNoZXItbWFya2VyLWZvbnQtc2l6ZSxcbiAgICAgICAgICAgICAgICAkc2VhcmNoZXItYnV0dG9uLWRlZmF1bHQtY29sb3JzLFxuICAgICAgICAgICAgICAgICRzZWFyY2hlci1idXR0b24tYXJyaXZlLWNvbG9ycykge1xuICAgICYge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICAmOm5vdCguZW1wdHktY29tcG9uZW50KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkaGFsZkd1dHRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLy8gVmFsb3JlcyBwb3IgZGVmZWN0byBxdWUgYXNpZ25hbW9zLlxuICAgICAgICAkeHNfbWFwOiBpZihtYXAtaGFzLWtleSgkb3B0aW9ucy1kaXNwb3NpdGlvbiwneHMnKSxtYXAtZ2V0KCRvcHRpb25zLWRpc3Bvc2l0aW9uLCd4cycpLDEyKTtcbiAgICAgICAgJHNtX21hcDogaWYobWFwLWhhcy1rZXkoJG9wdGlvbnMtZGlzcG9zaXRpb24sJ3NtJyksbWFwLWdldCgkb3B0aW9ucy1kaXNwb3NpdGlvbiwnc20nKSwnJyk7XG4gICAgICAgICRtZF9tYXA6IGlmKG1hcC1oYXMta2V5KCRvcHRpb25zLWRpc3Bvc2l0aW9uLCdtZCcpLG1hcC1nZXQoJG9wdGlvbnMtZGlzcG9zaXRpb24sJ21kJyksJycpO1xuICAgICAgICAkbGdfbWFwOiBpZihtYXAtaGFzLWtleSgkb3B0aW9ucy1kaXNwb3NpdGlvbiwnbGcnKSxtYXAtZ2V0KCRvcHRpb25zLWRpc3Bvc2l0aW9uLCdsZycpLCcnKTtcbiAgICAgICAgXG4gICAgICAgICRoYXNSb3c6IGlmKCgkc21fbWFwICE9ICcnIG9yICRtZF9tYXAgIT0gJycgb3IgJGxnX21hcCAhPSAnJyBvciBmaXJzdCgkeHNfbWFwKSE9MTIpLHRydWUsZmFsc2UpO1xuICAgICAgICBcbiAgICAgICAgQGlmICRoYXNSb3cge1xuICAgICAgICAgICAgLmNvbnRlbnREYXRhMiwgXG4gICAgICAgICAgICAuY21NYXBfYWN0dWFsTWFwIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgXG4gICAgICAgIC5jbU1hcF9Db250YWluZXIge1xuICAgICAgICAgICAgQGlmICRoYXNSb3cge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UteHMtY29sdW1uKGZpcnN0KCR4c19tYXApKTtcbiAgICAgICAgICAgICAgICBAaWYgJHNtX21hcCAhPSAnJyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2Utc20tY29sdW1uKGZpcnN0KCRzbV9tYXApKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmICRtZF9tYXAgIT0gJycge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLW1kLWNvbHVtbihmaXJzdCgkbWRfbWFwKSk7XG4gICAgICAgICAgICAgICAgfSAgICAgXG4gICAgICAgICAgICAgICAgQGlmICRsZ19tYXAgIT0gJycge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWxnLWNvbHVtbihmaXJzdCgkbGdfbWFwKSk7XG4gICAgICAgICAgICAgICAgfSAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmNtTWFwX2dvb2dsZU1hcHMge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLmxlYWZsZXQtdG9vbHRpcC5jbHVzdGVyLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5sZWFmbGV0LXJvdXRpbmctY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmF5LWRhcmtlcjtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmxlYWZsZXQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgLmxlYWZsZXQtbWFwLXBhbmUsXG4gICAgICAgICAgICAgICAgICAgIC5sZWFmbGV0LXRvcCxcbiAgICAgICAgICAgICAgICAgICAgLmxlYWZsZXQtYm90dG9tIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBkaXYuaW5mb1dpbmRvd092ZXJsYXlUb1Nob3cge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRpbmZvd2luZG93LWJvZHktZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkaXYuaW5mb1dpbmRvd1dyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICAvLyBDYWxjdWxhbW9zIGxhIGFuY2h1cmEgbcOheGltYSBlbiBmdW5jacOzbiBkZWwgdGFtYcOxbyBkZSBsYSBjZWxkYS5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICRkaW1zbTogaWYoJHNtX21hcCE9JycsZmlyc3QoJHNtX21hcCksZmlyc3QoJHhzX21hcCkpO1xuICAgICAgICAgICAgICAgICAgICAkZGltbWQ6IGlmKCRtZF9tYXAhPScnLGZpcnN0KCRtZF9tYXApLCRkaW1zbSk7XG4gICAgICAgICAgICAgICAgICAgICRkaW1sZzogaWYoJGxnX21hcCE9JycsZmlyc3QoJGxnX21hcCksJGRpbW1kKTtcblxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMC42ICogJGNvbnRhaW5lci1zbSAqICRkaW1zbSAvICRncmlkLWNvbHVtbnM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAwLjYgKiAkY29udGFpbmVyLW1kICogJGRpbW1kIC8gJGdyaWQtY29sdW1ucztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDAuNiAqICRjb250YWluZXItbGcgKiAkZGltbGcgLyAkZ3JpZC1jb2x1bW5zO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGluZm93aW5kb3ctYm9keS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaW5mb3dpbmRvdy1ib2R5LXRleHQtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIC5jb250ZW50LW5hbWUsXG4gICAgICAgICAgICAgICAgICAgIC5jb250ZW50TmFtZSxcbiAgICAgICAgICAgICAgICAgICAgLmNvbnRlbnQtdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgLmNvbnRlbnRBYnN0cmFjdCxcbiAgICAgICAgICAgICAgICAgICAgLmluZm9XaW5kb3dVcmwge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAuY29udGVudC1uYW1lLFxuICAgICAgICAgICAgICAgICAgICAuY29udGVudE5hbWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkaW5mb3dpbmRvdy10aXRsZS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIC5pbmZvV2luZG93VXJsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGluZm93aW5kb3ctbGluay1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgICAgIC5pbmZvV2luZG93Q29udGVudHMgLnNwaW5uZXIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAzKiRoYWxmR3V0dGVyO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXktYmFzZTtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjY7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNtTWFwX3NlYXJjaEZvcm0ge1xuICAgICAgICAgICAgQGlmICRoYXNSb3cge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UteHMtY29sdW1uKGxhc3QoJHhzX21hcCkpO1xuICAgICAgICAgICAgICAgIEBpZihsYXN0KCR4c19tYXApID09IDEyKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGhhbGZHdXR0ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgQGlmICRzbV9tYXAgIT0gJycge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLXNtLWNvbHVtbihsYXN0KCRzbV9tYXApKTtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIEBpZihsYXN0KCRzbV9tYXApID09IDEyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGhhbGZHdXR0ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAkbWRfbWFwICE9ICcnIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1tZC1jb2x1bW4obGFzdCgkbWRfbWFwKSk7XG4gICAgICAgICAgICAgICAgICAgIEBpZihsYXN0KCRtZF9tYXApID09IDEyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGhhbGZHdXR0ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSAgICAgXG4gICAgICAgICAgICAgICAgQGlmICRsZ19tYXAgIT0gJycge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWxnLWNvbHVtbihsYXN0KCRsZ19tYXApKTtcbiAgICAgICAgICAgICAgICAgICAgQGlmKGxhc3QoJGxnX21hcCkgPT0gMTIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkaGFsZkd1dHRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH0gICAgXG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJGhhbGZHdXR0ZXI7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gTGEgY29uZmlndXJjacOzbiBlc3BlY2lhbCBkZSBsYSB6b25hIGRlIG9wY2lvbmVzIGRlbCBtYXBhLlxuICAgICAgICAgICAgZmllbGRzZXQge1xuICAgICAgICAgICAgICAgIEBpZiAkc2VhcmNoZXItZmllbGRzZXQtaGFzLWJvcmRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRzZWFyY2hlci1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRoYWxmR3V0dGVyO1xuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNlYXJjaGVyLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICAgICAgbGVnZW5kIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICRzZWFyY2hlci1maWVsZHNldC1oYXMtYm9yZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgJGhhbGZHdXR0ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGlmICRzZWFyY2hlci1sZWdlbmQtaGFzLWJvcmRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRzZWFyY2hlci1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkaGFsZkd1dHRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzZWFyY2hlci1sZWdlbmQtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICYgKyBmaWVsZHNldCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRoYWxmR3V0dGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gTGEgYWx0dXRyYSwgZG9zIHZlY2VzIGVsIHBhZGRpbmcgKHN1cGVyaW9yIGUgaW5mZXJpb3IpIHkgMiBwaXhlbHMgZGUgYm9yZGVcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhZGQoKCRzZWFyY2hlci1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSksMiokbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmcgKyAyKTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nIDIqJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzZWFyY2hlci1mb250LXNpemUgO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogKCRzZWFyY2hlci1mb250LXNpemUgICogJGxpbmUtaGVpZ2h0LWJhc2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nLDIqJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2VhcmNoZXItZm9udC1zaXplICxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCRzZWFyY2hlci1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2VhcmNoZXItZm9udC1zaXplIDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICgkc2VhcmNoZXItZm9udC1zaXplICAqICRsaW5lLWhlaWdodC1iYXNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5tYXJrZXJzIHtcbiAgICAgICAgICAgICAgICBmaWVsZHNldCBkaXYge1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbHVtbml6ZS1hbnkoJHNlYXJjaGVyLW1hcmtlci1jb2x1bW5zLCRzZWFyY2hlci1tYXJrZXItYnJlYWtwb2ludHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzZWFyY2hlci1tYXJrZXItZm9udC1zaXplO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgKyAuYnV0dG9ucyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRoYWxmR3V0dGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmJ1dHRvbnMge1xuICAgICAgICAgICAgICAgIC5idG4ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmcsMiokbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZWFyY2hlci1idXR0b24tZm9udC1zaXplLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJHNlYXJjaGVyLWJ1dHRvbi1mb250LXNpemUqICRsaW5lLWhlaWdodC1iYXNlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC8vIENyZWFtb3MgZWwgbWFya3VwIGRlIGxvcyBib3RvbmVzLlxuICAgICAgICAgICAgICAgIC5idG4tc2hvd2xpc3QsXG4gICAgICAgICAgICAgICAgLmJ0bi1wcmludGxpc3Qge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudChmaXJzdCgkc2VhcmNoZXItYnV0dG9uLWRlZmF1bHQtY29sb3JzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdCgkc2VhcmNoZXItYnV0dG9uLWRlZmF1bHQtY29sb3JzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdCgkc2VhcmNoZXItYnV0dG9uLWRlZmF1bHQtY29sb3JzKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5idG4taG93dG9hcnJpdmUsXG4gICAgICAgICAgICAgICAgLmJ0bi1lbmxhcmdlbWFwIHtcbiAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KGZpcnN0KCRzZWFyY2hlci1idXR0b24tYXJyaXZlLWNvbG9ycyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0KCRzZWFyY2hlci1idXR0b24tYXJyaXZlLWNvbG9ycyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0KCRzZWFyY2hlci1idXR0b24tYXJyaXZlLWNvbG9ycykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNtU2VhcmNoQ29udGFpbmVyICsgLm1hcmtlcnMge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRoYWxmR3V0dGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAuY21TZWFyY2hDb250YWluZXIge1xuICAgICAgICAgICAgICAgIHNlbGVjdCwgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIFxuICAgICAgICB9ICBcbiAgICB9XG59XG5cbi8vLyBNaXhpbiBpbXBsZW1lbnRhciBsb3MgZXN0aWxvcyBkZSBhIGVuIGNvbmp1bnRvXG4vLy9cbi8vLyBAcGFyYW1ldGVyICB7U3RyaW5nfSBjc3MtY2xhc3NbJyddICAtIE5vbWJyZSBkZSBsYSBjbGFzZSBvIGVsZW1lbnRvIGRvbmRlIGFwbGljYXIgbG9zIGVzdGlsb3MgOmxpbmsgeSA6dmlzaXRlZCwgc2kgbm8gc2UgZXNwZWNpZmljYSBzZSB1dGlsaXphbW9zIGNwb21vIHZhbG9yIGVsIG5vZG8gZW4gZWwgcXVlIG5vcyBlbmNvbnRyYW1vc1xuLy8vIEBwYXJhbWV0ZXIgIHtCb29sZWFufSBob3ZlciBbdHJ1ZV0gIC0gUG9yIGRlZmVjdG8gc2UgaW5jbHV5ZW4gbG9zIGV2ZW50b3MgOmhvdmVyLCA6YWN0aXZlIHkgOmZvY3VzXG4vLy8gQGNvbnRlbnQgICAgSW5mb3JtYWNpw7NuIGV4dHJhIGEgYcOxYWRpciBhbCBibG9xdWUgZGUgaW5mb3JtYWNpw7NuXG5AbWl4aW4gYS1ldmVudHMoJGNzcy1jbGFzczonJywgJGhvdmVyOiB0cnVlKSB7XG5cbiAgICBAaWYgJGNzcy1jbGFzcyA9PSAnJyB7XG4gICAgICAgICYsICY6dmlzaXRlZCB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgICAjeyRjc3MtY2xhc3N9LFxuICAgICAgICAjeyRjc3MtY2xhc3N9OnZpc2l0ZWQge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRob3ZlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBhLWV2ZW50cy1ob3ZlcigkY3NzLWNsYXNzKSB7XG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLyBNaXhpbiBpbXBsZW1lbnRhciBsb3MgZXZlbnRvcyBkZSBsb3MgZXN0aWxvcyBkZSB1biBhIGVuIGNvbmp1bnRvXG4vLy9cbi8vLyBAcGFyYW1ldGVyICB7U3RyaW5nfSBjc3MtY2xhc3MgICAgICAtIE5vbWJyZSBkZSBsYSBjbGFzZSBvIGVsZW1lbnRvIGRvbmRlIGFwbGljYXIgbG9zIGVzdGlsb3MgOmhvdmVyLCA6YWN0aXZlIHkgOmZvY3VzLCBzaSBubyBzZSBlc3BlY2lmaWNhIHNlIHVzYSBlbCB2YWxvciBkZWwgbm9kbyBhY3Rpdm9cbi8vLyBAY29udGVudCAgICBJbmZvcm1hY2nDs24gZXh0cmEgYSBhw7FhZGlyIGFsIGJsb3F1ZSBkZSBpbmZvcm1hY2nDs25cbkBtaXhpbiBhLWV2ZW50cy1ob3ZlcigkY3NzLWNsYXNzOicnKSB7XG4gICAgQGlmICRjc3MtY2xhc3MgPT0gJycge1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjphY3RpdmU6aG92ZXIsXG4gICAgICAgICY6YWN0aXZlOmZvY3VzIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgICN7JGNzcy1jbGFzc306aG92ZXIsXG4gICAgICAgICN7JGNzcy1jbGFzc306YWN0aXZlLFxuICAgICAgICAjeyRjc3MtY2xhc3N9OmZvY3VzLFxuICAgICAgICAjeyRjc3MtY2xhc3N9OmFjdGl2ZTpob3ZlcixcbiAgICAgICAgI3skY3NzLWNsYXNzfTphY3RpdmU6Zm9jdXMge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLyBNaXhpbiBxdWUgcGVybWl0ZSBpbXByaW1pciB1biBkw61hIGRlIGNhbGVuZGFyaW8gY29uY3JldG9cbi8vLyBcbi8vLyBAcGFyYW1ldGVyIHtCb29sZWFufSAkZW5jaXJjbGVkIC0gU2kgdGVuZW1vcyBxdWUgaW50cm9kdWNpciAtIG8gbm8gLSBlbiB1biBjaXJjdWxvIGVsIGTDrWFcbi8vLyBAcGFyYW1ldGVyIHtMaXN0fSAkY29sb3JzIC0gTGlzdGEgY29uIGVsIGNvbG9yIGRlIGZvbmRvIChlbCBwcmltZXIgY29sb3IpIHkgZWwgY29sb3IgYWN0aXZvIChlbCBzZWd1bmRvIGNvbG9yKVxuLy8vIEBwYXJhbWV0ZXIge051bWJlcn0gJGFzcGVjdC1yYXRpbyAtIExhIHJlbGFjacOzbiBkZSBhc3BlY3RvIGRlIGxhIGNlbGRhIHF1ZSB0ZW5lbW9zLlxuLy8vIEBwYXJhbWV0ZXIge0Jvb2xlYW59ICR2YWxpZ25bZmFsc2VdICAtIFNpIGRlYmVtb3MgYWxpbmVhciBlbCBkw61hIHZlcnRpY2FsbWVudGUgbyBuby5cbi8vLyBAcGFyYW1ldGVyIHtMaXN0fSAkaWNvbiBbJyddIC0gRWwgaWNvbm8gcXVlIHNlIGltcHJpbWUgYmFqbyBlbCBkw61hIGVuIGVsIGNhc28gZGUgcXVlIGVsIGV2ZW50byBzZSBtZXRhIGVuIHVuIGPDrXJjdWxvLiBJbmNsdXllIGZ1ZW50ZSwgY2FyYWN0ZXIgeSB0YW1hw7FvLlxuQG1peGluIHByaW50LWRheSgkZW5jaXJjbGVkLCRjb2xvcnMsJGFzcGVjdC1yYXRpbywkdmFsaWduOmZhbHNlLCRpY29uOicnKSB7XG4gICAgJiB7XG4gICAgICAgIC8vIFNpIGVsIGNhbGVuZGFyaW8gZXN0w6EgZW4gdW4gY2lyY3VsbywgbG8gcXVlIGhhY2Vtb3MgZXMgbW9kaWZpY2FyIGVsIHRhYmxlIGludGVybm8geSBlbCB0YWJsZS1jZWxsIGludGVybm9cbiAgICAgICAgQGlmICRlbmNpcmNsZWQge1xuICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICAuYWN0dWFsLWRheS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuYWN0dWFsLWRheS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICRpY29uICE9ICcnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDc1JSAvICRhc3BlY3QtcmF0aW87XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udChudGgoJGljb24sMSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG50aCgkaWNvbiwyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByb3hpYS1saW5rcy1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IG50aCgkaWNvbiwzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJSAvICRhc3BlY3QtcmF0aW87XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgJHZhbGlnbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlIC8gJGFzcGVjdC1yYXRpbyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSAvICRhc3BlY3QtcmF0aW8pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlIC8gJGFzcGVjdC1yYXRpbyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAuYWN0dWFsLWRheS10YWJsZS1jZWxsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgLy8gUmVzZXRhbW9zIHB1ZXN0byBxdWUgcHVlZGUgY29pbmNpZGlyIGNvbiB1biBkw61hIGZlc3Rpdm8uXG4gICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICAgIC5hY3R1YWwtZGF5LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmFjdHVhbC1kYXktd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAkdmFsaWduID09IGZhbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTsgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlIC8gJGFzcGVjdC1yYXRpbztcbiAgICAgICAgICAgICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSAvICRhc3BlY3QtcmF0aW8pO1xuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSAvICRhc3BlY3QtcmF0aW8pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUgLyAkYXNwZWN0LXJhdGlvKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTUwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgLmFjdHVhbC1kYXktdGFibGUtY2VsbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIEFob3JhIHRlbmVtb3MgcXVlIGNvbG9yZWFyIGVsIGZvbmRvIGRlIGxhIGNlbGRhLlxuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYS1ldmVudHMtaG92ZXIoJ2EuYWN0dWFsLWRheS1jb250YWluZXInKSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGxhc3QoJGNvbG9ycyk7XG4gICAgICAgICAgICB9ICAgXG4gICAgICAgICAgICBAaWYoJGVuY2lyY2xlZCA9PSBmYWxzZSBhbmQgJHZhbGlnbikge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGZpcnN0KCRjb2xvcnMpO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5hY3R1YWwtZGF5LXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBsYXN0KCRjb2xvcnMpO1xuICAgICAgICAgICAgICAgIEBpZigkZW5jaXJjbGVkIG9yICR2YWxpZ24gPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgLmFjdHVhbC1kYXktdGFibGUtY2VsbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBmaXJzdCgkY29sb3JzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vIE1peGluIHF1ZSBub3MgcGVybWl0ZSB1YmljYXIgYWRlY3VhZGFtZW50ZSB1biBjYWxlbmRhcmlvIGVuIGVsIHNpc3RlbWEsIGNvbiBlbCBvYmpldG8gZGUgcXVlIHB1ZWRhXG4vLy8gc2VyIHJlY29sb2NhYmxlIGJham8gY2llcnRhcyBjaXJjdW5zdGFuY2lhcywgcG9yIGVqZW1wbG8gbG8gdWJpY2Ftb3MgZW4gdW5hIHpvbmEgY29uIG1lbm9zIGVzcGFjaW8gbGlicmUgeVxuLy8vIG5lY2VzaXRhbW9zIGRpc3BvbmVyIGVsIGxpc3RhZG8gZGUgdW5hIGZvcm1hIGFsdGVybmF0aXZhLlxuLy8vXG4vLy8gQHBhcmFtZXRlciB7TWFwfSBtb250aGV2ZW50cy1ibG9jay1zaXplIFsnJ10gVW4gbWFwYSBjb24gZWwgdGFtYcOxbyBxdWUgb2N1cGEgbGEgY2VsZGEgZGUgY29udGVuaWRvc1xuQG1peGluIHBsYWNlLWNhbGVuZGFyLWJsb2NrKCRtb250aGV2ZW50cy1ibG9jay1zaXplKSB7XG4gICAgJiB7XG4gICAgICAgIC8vIFZhbW9zIGEgaW50ZW50YXIgY2FsY3VsYXIgbGEgZGlzcG9uaWJpbGlkYWQgcXVlIHRlbmVtb3MgZGUgY2FkYSBjYXNvIGNvbmNyZXRvIHBhcmEgdmVyIFxuICAgICAgICAvLyBjb21vIGRpYnVqYW1vcyBsYSBpbmZvcm1hY2nDs24uXG4gICAgICAgICR4c19tYXA6IGlmKG1hcC1oYXMta2V5KCRtb250aGV2ZW50cy1ibG9jay1zaXplLCd4cycpLG1hcC1nZXQoJG1vbnRoZXZlbnRzLWJsb2NrLXNpemUsJ3hzJyksMTIpO1xuICAgICAgICAkc21fbWFwOiBpZihtYXAtaGFzLWtleSgkbW9udGhldmVudHMtYmxvY2stc2l6ZSwnc20nKSxtYXAtZ2V0KCRtb250aGV2ZW50cy1ibG9jay1zaXplLCdzbScpLCcnKTtcbiAgICAgICAgJG1kX21hcDogaWYobWFwLWhhcy1rZXkoJG1vbnRoZXZlbnRzLWJsb2NrLXNpemUsJ21kJyksbWFwLWdldCgkbW9udGhldmVudHMtYmxvY2stc2l6ZSwnbWQnKSwnJyk7XG4gICAgICAgICRsZ19tYXA6IGlmKG1hcC1oYXMta2V5KCRtb250aGV2ZW50cy1ibG9jay1zaXplLCdsZycpLG1hcC1nZXQoJG1vbnRoZXZlbnRzLWJsb2NrLXNpemUsJ2xnJyksJycpO1xuICAgICAgICBcbiAgICAgICAgJGhhc1JvdzogaWYoKCRzbV9tYXAgIT0gJycgb3IgJG1kX21hcCAhPSAnJyBvciAkbGdfbWFwICE9ICcnIG9yICR4c19tYXAhPTEyKSx0cnVlLGZhbHNlKTtcbiAgICAgICAgXG4gICAgICAgIEBpZiAkaGFzUm93IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2Utcm93KCk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC8vIEFob3JhIGRpYnVqYW1vcyBlbCBlc3BhY2lhZG8gZW4gY29sdW1uYXMgZGUgY2FkYSB1bmEgZGUgbGFzIGRvcyBwYXJ0ZXMgcXVlIHRlbmVtb3MgZGUgbGEgcGFudGFsbGEuXG4gICAgICAgICAgICAuY21DYWxlbmRhclZpZXdDb250YWluZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UteHMtY29sdW1uKGlmKCR4c19tYXAgPT0gMTIsMTIsMTItJHhzX21hcCkpO1xuICAgICAgICAgICAgICAgIEBpZiAkc21fbWFwICE9ICcnIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1zbS1jb2x1bW4oaWYoJHNtX21hcCA9PSAxMiwxMiwxMi0kc21fbWFwKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAkbWRfbWFwICE9ICcnIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1tZC1jb2x1bW4oaWYoJG1kX21hcCA9PSAxMiwxMiwxMi0kbWRfbWFwKSk7XG4gICAgICAgICAgICAgICAgfSAgICAgXG4gICAgICAgICAgICAgICAgQGlmICRsZ19tYXAgIT0gJycge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWxnLWNvbHVtbihpZigkbGdfbWFwID09IDEyLDEyLDEyLSRsZ19tYXApKTtcbiAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmNtTW9udGhFdmVudHNDb250YWluZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UteHMtY29sdW1uKCR4c19tYXApO1xuICAgICAgICAgICAgICAgIEBpZiAkeHNfbWFwID09IDEyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkaGFsZkd1dHRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgJHNtX21hcCAhPSAnJyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2Utc20tY29sdW1uKCRzbV9tYXApO1xuICAgICAgICAgICAgICAgICAgICBAaWYgJHNtX21hcCA9PSAxMiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGhhbGZHdXR0ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgJG1kX21hcCAhPSAnJyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtbWQtY29sdW1uKCRtZF9tYXApO1xuICAgICAgICAgICAgICAgICAgICBAaWYgJG1kX21hcCA9PSAxMiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGhhbGZHdXR0ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgfSAgICAgXG4gICAgICAgICAgICAgICAgQGlmICRsZ19tYXAgIT0gJycge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWxnLWNvbHVtbigkbGdfbWFwKTtcbiAgICAgICAgICAgICAgICAgICAgQGlmICRsZ19tYXAgPT0gMTIge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRoYWxmR3V0dGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH0gICAgXG4gICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICB9XG4gICAgXG4gICAgXG4gICAgfVxuXG59XG5cblxuIC8vLyBNaXhpbiBkZSB1dGlsaWRhZCBwYXJhIG1hcXVldGFyIHVuIGZvcm11bGFyaW8gZ2VuZXJhbCwgY29uIHVuIGNvbG9yIGRlIGZvbmRvIHkgY29uIHVuYSByZXByZXNlbnRhY2nDs24gZGUgZWxlbWVudG9zIGVuIG4gY29sdW1uYXMgY29uIGluZGVwZW5kZW5jaWFcbiAvLy8gZGUgbG9zIGRhdG9zIGludGVybm9zIHF1ZSB0ZW5nYW1vcyByZWZsZWphZG9zLiBTZSBtYW50aWVuZSBhcXVpIHBvciBzaSBlcyBuZWNlc2FyaW8gc3UgdXNvIGVuIGRpc3RpbnRvcyBwcm95ZWN0b3MsIG1hcXVldGEgZGUgZm9ybWEgcHJlZGV0ZXJtaW5hZGFcbiAvLy8gbG9zIGJvdG9uZXMsIGV0Yy5cbiAvLy9cbiAvLy8gQHBhcmFtZXRlciB7TnVtYmVyfSBjb2xzICAgICAtIEVsIG7Dum1lcm8gZGUgY29sdW1uYXMgY29uIGVsIHF1ZSBzZSByZXByZXNlbnRhcmEgZWwgY29udGVuaWRvXG4gLy8vIEBwYXJhbWV0ZXIge1N0cmluZ30gYmdDb2xvciAgLSBFbCBjb2xvciBkZSBmb25kbyBkZWwgZm9ybXVsYXJpb1xuIC8vLyBAcGFyYW1ldGVyIHtOdW1iZXJ9IGZvbnRTaXplIC0gRWwgdGFtYcOxbyBkZSBmdWVudGUgcGFyYSBlbCBmb3JtdWxhcmlvXG5AbWl4aW4gZm9ybSgkY29sczoxLCRiZ0NvbG9yOiRncmF5LWxpZ2h0ZXIsJGZvbnRTaXplOiRmb250LXNpemUtc21hbGwpIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnQ29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnRTaXplO1xuICAgICAgICBwYWRkaW5nOiAkaGFsZkd1dHRlcjtcblxuICAgICAgICAmLm5vLWZpZWxkc2V0cyAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICRoYWxmR3V0dGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgZGl2LnByb3hpYV9tYXBUb3duIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UteHMtY29sdW1uKDEyKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2Utc20tY29sdW1uKDEyKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtbWQtY29sdW1uKDEyKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmNtU2VhcmNoTGFiZWwsIFxuICAgICAgICAgICAgLmNtTG9jYXRpb25MZWdlbmQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNyLW9ubHk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmZvcm0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcbiAgICAgICAgICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UteHMtY29sdW1uKDEyKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1zbS1jb2x1bW4oNik7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtbWQtY29sdW1uKDQpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgXG4gICAgICAgIC5wYW5lbCB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgICAgICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG5cbiAgICAgICAgICAgICAgICAmICsgLmZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkaGFsZkd1dHRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wYW5lbC1oZWFkaW5nIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBhbmVsLWJvZHkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZigkY29scyA+IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sdW1uaXplLWFueSgkY29scywoKSk7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5mb3JtLWdyb3VwOm50aC1jaGlsZCgjeyRjb2xzfSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiArIC5wYW5lbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNtU2VhcmNoQnV0dG9uWm9uZSxcbiAgICAgICAgLmRpdkJvdHRvbSAge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICRoYWxmR3V0dGVyO1xuICAgICAgICAgICAgLmZhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgLy8gUGlzYW1vcyBsb3MgYm90b25lcy4uLlxuICAgICAgICAgICAgLmJ0bi1kZWZhdWx0LFxuICAgICAgICAgICAgLmJ0bi1wcmltYXJ5IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmcsMiokbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZvbnRTaXplLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgkZm9udFNpemUqICRsaW5lLWhlaWdodC1iYXNlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ0bi1kZWZhdWx0ICB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGdyYXktZGFyayxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYmdDb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYmdDb2xvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxufVxuXG4vLy8gTWl4aW4gcGFyYSBlbCBtZW7DuiBwcmluY2lwYWwgXG4vLy8gXG4vLy8gU2UgcHVlZGUgZXNwZWNpZmljYXIgYSBwYXJ0aXIgZGUgcXVlIGVzY2VuYXJpbyBzZSBxdWllcmUgcXVlIGFwYXJlemNhIGxhIGhhbWJ1cmd1ZXNhOiBwb3IgZGVmZWN0byBsYSBYUyAkY29sczoxXG4vLy8gQHBhcmFtZXRlciB7TnVtYmVyfSBzY3JlZW4tbWF4ICAtIEVsIHRhbWHDsW8gbWF4aW1vIGRlIHBhbnRhbGxhIHBhcmEgYXBsaWNhciBhIGxhIG1lZGlhIHF1ZXJ5XG5AbWl4aW4gbWFpbi1tZW51LWhvbGRlcigkc2NyZWVuLW1heDogeHMsICRtZW51T3BlbkNvbnRhaW5lcjogJ3VsLmNtTWVudUxldmVsMScpIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHNjcmVlbi1tYXgpIHtcblx0XHQubWFpbk1lbnUge1xuXHRcdFx0Ly8gTG8gb2N1bHRhbW9zIGVuIGVzdGUgbml2ZWwuLi5cblx0XHRcdCN7JG1lbnVPcGVuQ29udGFpbmVyfSB7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IC0xMDAlO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0cGFkZGluZzokaGFsZkd1dHRlciAwO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdFx0XHR6LWluZGV4OiAxMjA7XG5cdFx0XHRcdGZsb2F0OiBub25lOyAgICAgICAgXG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdC8vIEFob3JhIGxvIG1vc3RyYW1vcywgY3VhbmRvIGVzdGEgZWwgbWVuw7ogYWJpZXJ0by5cblx0XHRcdCYubWVudU9wZW4gI3skbWVudU9wZW5Db250YWluZXJ9IHtcblx0XHRcdFx0dG9wOiA3NXB4O1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzIGxpbmVhcjtcblx0XHRcdFx0LW1vei10cmFuc2l0aW9uOiBhbGwgLjJzIGxpbmVhcjtcblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIC4ycyBsaW5lYXI7XG5cdFx0XHRcdG92ZXJmbG93OiBhdXRvO1xuXHRcdFx0XHRjb2xvcjogJHByb3hpYS1saW5rcy1jb2xvcjtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAkaGFsZkd1dHRlcjtcblx0XHRcdFx0LmNtTWVudUxpbmsge1xuXHRcdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdFx0Jjpmb2N1cyxcblx0XHRcdFx0XHQmOmFjdGl2ZXtcblx0XHRcdFx0XHRcdGNvbG9yOiAkcHJveGlhLWxpbmtzLWNvbG9yLWhvdmVyO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgdWwuY21NZW51TGV2ZWwxe1xuICAgICAgICAgICAgICAgID4gbGkge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdCYuaGFzU3ViZWxlbWVudHMgPiBkaXYge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC8vIFF1aXRhbW9zIGVsIGVmZWN0byA6aG92ZXIsIHBhcmEgcXVlIG5vIGhhZ2EgZXh0cmHDsW9zXG5cdFx0XHRcdFx0Ji5oYXNTdWJlbGVtZW50czpob3ZlciA+IGRpdixcbiAgICAgICAgICAgICAgICAgICAgJi5oYXNTdWJlbGVtZW50czpmb2N1cy13aXRoaW4gPiBkaXZ7XG5cdFx0XHRcdFx0XHQtd2Via2l0LXRyYW5zaXRpb246IG5vbmU7XG5cdFx0XHRcdFx0XHQtbW96LXRyYW5zaXRpb246IG5vbmU7XG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBub25lO1xuXHRcdFx0XHRcdFx0LXdlYmtpdC1hbmltYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0XHRhbmltYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC5jbU1lbnVMZXZlbDIge1xuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6ICRoYWxmR3V0dGVyO1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVudS1jb2x1bW5zKDEsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0ICAkc3VibWVudS1pY29uLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgJHN1Ym1lbnUtaWNvbi1mb250LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgJHN1Ym1lbnUtaWNvbi1wYWRkaW5nKTsgICAgICAgICAgICAgICAgXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC8vIEHDsWFkaW1vcyB1biBtYXJnZW4gcmVzcGVjdG8gYWwgcHJpbWVybyBlbiBlbCBzZWd1bmRvIGVsZW1lbnRvIGRlIG1lbsO6LlxuXHRcdFx0XHRcdCsgbGkge1xuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogJGhhbGZHdXR0ZXI7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdH1cbiAgICAgICAgICAgIH1cblxuXHRcdFx0LmhvbGRlciB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAkaGFsZkd1dHRlcjtcblx0XHRcdFx0cmlnaHQ6ICRoYWxmR3V0dGVyO1xuXHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0XHRcdHBhZGRpbmc6ICRoYWxmR3V0dGVyO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcblx0XHRcdFx0ei1pbmRleDogMTtcblx0XHRcdFx0Lmljb24tYmFyIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHR3aWR0aDogMjJweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDNweDtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAxcHg7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHRcdFx0XHQrIC5pY29uLWJhciB7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDRweCAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8vIE1peGluIHBhcmEgaW5jbHVpciBlbCBzb3BvcnRlIGLDoXNpY28gcGFyYSBmbGV4IGVuIHRvZG9zIGxvcyBuYXZlZ2Fkb3Jlc1xuQG1peGluIGZsZXgoKSB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBNaXhpbiBkZSB1dGlsaWRhZCBwYXJhIG1hcXVldGFyIGNvbiBGTEVYQk9YXG4vLy9cbi8vLyBGbGV4Ym94IGVzIHVuIHNpc3RlbWEgZGUgZWxlbWVudG9zIGZsZXhpYmxlcyBxdWUgbGxlZ2EgY29uIGxhIGlkZWEgZGUgb2x2aWRhciBlc3RvcyBtZWNhbmlzbW9zIHkgYWNvc3R1bWJyYXJub3MgYVxuLy8vIHVuYSBtZWPDoW5pY2EgbcOhcyBwb3RlbnRlLCBsaW1waWEgeSBwZXJzb25hbGl6YWJsZSwgZW4gbGEgcXVlIGxvcyBlbGVtZW50b3MgSFRNTCBzZSBhZGFwdGFuIHkgY29sb2NhbiBhdXRvbcOhdGljYW1lbnRcbi8vLyBlIHkgZXMgbcOhcyBmw6FjaWwgcGVyc29uYWxpemFyIGxvcyBkaXNlw7Fvcy4gRXN0w6EgZXNwZWNpYWxtZW50ZSBkaXNlw7FhZG8gcGFyYSBjcmVhciwgbWVkaWFudGUgQ1NTLCBlc3RydWN0dXJhcyBkZSB1bmEgc8OzbGEgZGltZW5zacOzbi5cbi8vL1xuLy8vIEBwYXJhbWV0ZXIge1N0cmluZ30gJGFsaWduICAtIFVzYWRhIHBhcmEgYWxpbmVhciBsb3Mgw610ZW1zIGRlbCBlamUgc2VjdW5kYXJpbyAocG9yIGRlZmVjdG8sIGVsIHZlcnRpY2FsKS5cbi8vLyBAcGFyYW1ldGVyIHtTdHJpbmd9ICRqdXN0aWZ5ICAtIFNlIHV0aWxpemEgcGFyYSBhbGluZWFyIGxvcyDDrXRlbXMgZGVsIGVqZSBwcmluY2lwYWwgKHBvciBkZWZlY3RvLCBlbCBob3Jpem9udGFsKS5cbi8vLyBAcGFyYW1ldGVyIHtTdHJpbmd9ICRkaXJlY3Rpb24gIC0gQ2FtYmlhIGxhIG9yaWVudGFjacOzbiBkZWwgZWplIHByaW5jaXBhbC5cbkBtaXhpbiBmbGV4Ym94KCRhbGlnbjogbm9ybWFsLCAkanVzdGlmeTogbm9ybWFsLCAkZGlyZWN0aW9uOiByb3cpIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiAgJGRpcmVjdGlvbjtcbiAgICBhbGlnbi1pdGVtczogICAgICRhbGlnbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xufVxuXG4vLy8gTWl4aW4gZGUgdXRpbGlkYWQgcGFyYSBlbGltaW5hciBlbCBib3JkZWFkbyBuYXRpdm8gZGVsIG5hdmVnYWRvciBlbiBlbCBmb2N1cyBkZSBsb3MgZWxlbWVudG9zLlxuLy8vIFBvZGVtb3MgYXBsaWNhcmxvIGN1YW5kbyB0ZW5lbW9zIGVzdGlsb3MgY3VzdG9tIHBhcmEgZWwgaG92ZXIsIGZvY3VzIG8gYWN0aXZlLlxuQG1peGluIHJlbW92ZS1mb2N1cygpIHtcbiAgICBib3JkZXI6ICAgICBub25lO1xuICAgIG91dGxpbmU6ICAgIG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLy8vIEdlbmVyYSB1biBjYXJldCAodHJpYW5ndWxvKSBxdWUgcHVlZGUgc2VyIGVtcGxlYWRvIGVuIGxvcyBzZWxlY3QgKHBvciBkZWZlY3RvIHNlIGVtcGxlYSBlbiBlbGxvcylcbi8vLyBvIGVuIG90cm9zIGVsZW1lbnRvc1xuLy9cbi8vLyBAcGFyYW1ldGVyIHtOdW1iZXJ9ICR3aWR0aCAgLSBMYSBhbmNodXJhIGRlbCBjYXJldFxuLy8vIEBwYXJhbWV0ZXIge1N0cmluZ30gJGNvbG9yICAtIENvbG9yIHZpbmN1bGFkbyBhbCBtaXNtb1xuLy8vIEBwYXJhbWV0ZXIge0Jvb2xlYW59ICRkaXJlY3Rpb24gIC0gQ2FtYmlhIGxhIG9yaWVudGFjacOzbiwgc2kgYXB1bnRhIGhhY2lhIGFiYWpvIChwb3IgZGVmZWN0bykgbyBzaSBxdWVyZW1vcyBkYXJsZSBsYSB2dWVsdGEgYXB1bnRhbmRvIGhhY2lhIGFycmliYS5cbkBtaXhpbiBjYXJldCgkd2lkdGgsJGNvbG9yLCRyZXZlcnNlOmZhbHNlKSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci13aWR0aDogMCBzdWJ0cmFjdCgkd2lkdGgsMXB4KTtcblxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgQGlmKCRyZXZlcnNlKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICR3aWR0aDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkY29sb3IgdHJhbnNwYXJlbnQ7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6ICR3aWR0aDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuXG5cbi8vLyBNaXhpbiBxdWUgaW5jbHV5ZSBlbCB0YW1hw7FvIGRlIGZ1ZW50ZSBqdW50byBjb24gc3UgYWx0dXJhIGRlIGxpbmVhIGNhbGN1bGFkYVxuLy8vIEBwYXJhbWV0ZXIge051bWJlcn0gc2l6ZSAtIEVsIHRhbWHDsW8gZGUgZnVlbnRlXG5AbWl4aW4gZm9udFNpemUoJHNpemUpIHtcbiAgZm9udC1zaXplOiAkc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICgoJHNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSkpO1xufVxuXG4vLy8gTWl4aW4gcGFyYSBhcGxpY2FyIGVsIHRpcG8gZGUgZnVlbnRlXG4vLy8gQHBhcmFtZXRlciBjb2xvciAtIENvbG9yIGRlIGxldHJhIChoZXgsIG51bWJlciwgbGV0cmEuLi4pXG4vLy8gQHBhcmFtZXRlciB7TnVtYmVyfSBmb250LXdlaWdodCAtIGZvbnQtd2VpZ2h0IGRlIGxhIGxldHJhXG4vLy8gQHBhcmFtZXRlciB7TnVtYmVyfSBmb250LXNpemUgLSBmb250LXNpemUgZGUgbGEgbGV0cmFcbi8vLyBAcGFyYW1ldGVyIHtOdW1iZXJ9IGZvbnQtZmFtaWx5IC0gZmFtaWxpYSBkZSBsYSBsZXRyYSAocG9yIGRlZmVjdG8gZWwgZGUgbGEgd2ViIHF1ZSBzZSB2YSBhIGRpc2XDsWFyKVxuQG1peGluIGZvbnRUeXBlKCRjb2xvciwgJGZvbnQtd2VpZ2h0LCAkZm9udC1zaXplLCAkZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIEBpZiAkZm9udC1mYW1pbHkgIT0gJGZvbnQtZmFtaWx5LWJhc2Uge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gIH1cbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodDtcbiAgQGluY2x1ZGUgZm9udFNpemUoJGZvbnQtc2l6ZSk7XG4gIEBjb250ZW50O1xuXG59XG4iLAoJCSIvLyBFc3RpbG9zIGVzcGVjw61maWNvcyBwYXJhIGxvcyBpZnJhbWUgZGUgbGEgdmVyc2nDs24gaW1wcmltaWJsZVxuLy8gTGEgem9uYSBkZSBpbXByZXNpw7NuIGdlbmVyYSB1biBpZnJhbWUgeSBlcyBuZWNlc2FyaW8gY29uZmlndXJhcmxvIGFkZWN1YWRhbWVudGUuXG4vLyBQYXJhIGVsIGN1ZXJwbyBpbXByaW1pYmxlXG5ib2R5LnByb3hpYS1yZXN0ZnVsLXByaW50YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDBweDtcbiAgcGFkZGluZzogMHB4O1xufVxuXG4vLyBFbCBpZnJhbWUgY29udGVuZWRvclxuaWZyYW1lLnByb3hpYS1yZXN0ZnVsLXByaW50YWJsZSB7XG4gIGhlaWdodDogNDAwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vLyBJbmNsdWltb3MgZnVuY2lvbmFsaWRhZGVzIGdlbsOpcmljYXMgZGUgcHJlc2VudGFjacOzbiBkZSBzZXJ2aWNpb3NcbmRpdltkYXRhLXByb3hpYXJlc3RmdWw9XCJ0cnVlXCJdIHtcbiAgQGltcG9ydCBcInJlYWN0L25hdmlnYXRpb25cIjtcbiAgQGltcG9ydCBcInJlYWN0L2Zvcm1cIjtcbiAgQGltcG9ydCBcInJlYWN0L2RhdGVwaWNrZXJcIjtcbiAgQGltcG9ydCBcInJlYWN0L2F1dG9jb21wbGV0ZVwiO1xuICBAaW1wb3J0IFwicmVhY3QvZmlsZXNcIjtcbiAgQGltcG9ydCBcInJlYWN0L2NvbnRlbnRjb250cm9sXCI7XG4gIEBpbXBvcnQgXCJyZWFjdC9tYXN0ZXJkZXRhaWxcIjtcbiAgQGltcG9ydCBcInJlYWN0L3ByaW50XCI7XG4gIEBpbXBvcnQgXCJyZWFjdC9jb3JlXCI7XG59XG5AaW1wb3J0IFwicmVhY3QvZGlhbG9nXCI7XG5cbiIsCgkJIi8vIENvcHlyaWdodCAoYykgMjAyMC4gRGl2aXNhIGlUIFNBVVxuXG4vKipcbiAqIEFzcGVjdG8gZ2VuZXJhbCBkZWwgc2lzdGVtYSBkZSBuYXZlZ2FjacOzbiBkZSBsb3MgY29tcG9uZW50ZXMgUkVBQ1RcbiAqXG4gKiBAYXV0aG9yIERhdmlkIFJvZHLDrWd1ZXogQWxmYXlhdGUgKGRyb2RyaWd1ZXpAZGl2aXNhaXQuY29tKVxuICogQHNpbmNlIFByb3hpYSBDTVMgMTAuMlxuICovXG5cbi5uYXZpZ2F0aW9uLm5hdmlnYXRpb24tc2hvcnQsXG4ubmF2aWdhdGlvbi5uYXZpZ2F0aW9uLWxvbmcge1xuICBtYXJnaW4tdG9wOiAkZ3JpZC1ndXR0ZXItd2lkdGg7XG5cbiAgLnRvdGFsUGFnZUxpc3Qge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5udW1QYWdlTGlzdCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgID4gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICYgKyBsaSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi5uYXZpZ2F0aW9uLm5hdmlnYXRpb24tc2hvcnQge1xuICAubnVtUGFnZUxpc3Qge1xuICAgID4qICsgKiB7XG4gICAgICBtYXJnaW4tbGVmdDogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgIH1cbiAgfVxufVxuXG4ubmF2aWdhdGlvbi5uYXZpZ2F0aW9uLWxvbmcge1xuICAudG90YWxQYWdlTGlzdCB7XG4gICAgZGl2IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICYgKyBkaXYge1xuICAgICAgICBtYXJnaW4tbGVmdDogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgICAgfVxuICAgICAgJi5jaGFuZ2VQYWdlU2l6ZSB7XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICBwYWRkaW5nOiAwcHggJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nIC8gMjtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZm9ybS1jb250cm9sLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICB3aWR0aDogODBweDtcblxuICAgICAgICAgICYgKyBsYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIENvcHlyaWdodCAoYykgMjAyMC4gRGl2aXNhIGlUIFNBVVxuXG4vKipcbiAqIEFzcGVjdG8gZ2VuZXJhbCBkZSBmb3JtdWxhcmlvcyBkZW50cm8gZGVsIHNvcGFvcnRlIGRlIFJFQUNUIGNvbiBsb3MgY29udHJvbGVzIGdlc3Rpb25hZG9zXG4gKiBwb3IgZWwgcHJvcGlvIHNpc3RlbWEsIGNvbnRyb2xlcyB2ZXJpZmljYWRvcywgYXNwZWN0byBkZSByYWRpbyBidXR0b24geSBjaGVja3MsIHBhZGRpbmdcbiAqIHNvYnJlIGNhbXBvcyBkZSBmb3JtdWxhcmlvXG4gKlxuICogQGF1dGhvciBEYXZpZCBSb2Ryw61ndWV6IEFsZmF5YXRlXG4gKiBAc2luY2UgUHJveGlhIENNUyAxMC4yXG4gKi9cblxuZm9ybSwgLmZvcm0sIC5mb3JtLWZpbHRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgPiAubG9hZGluZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRncmF5LTIwMCwwLjMpO1xuICB9XG4gIC50b2FzdHIuZm9ybS1lcnJvciB7XG4gICAgcGFkZGluZzogJGhhbGZHdXR0ZXI7XG4gICAgbWFyZ2luOiAkaGFsZkd1dHRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1jb250cm9sLWVycm9yYXJlYS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkZm9ybS1jb250cm9sLWVycm9yYXJlYS1jb2xvcjtcbiAgICBmb250LXNpemU6ICRmb3JtLWNvbnRyb2wtZm9udC1zaXplO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMHB4O1xuICAgIHdpZHRoOiAyNTBweDtcbiAgICB6LWluZGV4OiA0O1xuICAgIG9wYWNpdHk6IDAuODtcbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIEBpbmNsdWRlIGZsZXgoKTtcbiAgICAudG9hc3RyLWljb24ge1xuICAgICAgQGluY2x1ZGUgZmxleCgpO1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgcGFkZGluZy1yaWdodDogJGhhbGZHdXR0ZXI7XG4gICAgfVxuICAgIC50b2FzdHItY2xvc2Uge1xuICAgICAgLmJ0biB7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBAaW5jbHVkZSBhLWV2ZW50cy1ob3ZlcigpIHtcbiAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wucmVhY3QtZGF0ZS1waWNrZXItLWRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gIH1cblxuICAvLyBDb250cm9sYW1vcyBlbCBhc3BlY3RvIGRlIGxhIGVudHJhZGEgc3VqZXRhIGEgdW4gY29tcG9uZW50ZVxuICAvLyBSZWFjdCBkZSB0aXBvIFZlcmlmaWVkQ29udHJvbFxuICAuaW5wdXQtZ3JvdXAudmVyaWZpZWQtY29udHJvbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLmZvcm0tY29udHJvbFtyZWFkb25seV06bm90KC5kaWFsb2ctaW5wdXQtY29udHJvbCkgKyAuaW5wdXQtZ3JvdXAtYXBwZW5kLFxuICAgIC5mb3JtLWNvbnRyb2xbcmVhZG9ubHldOm5vdCguZGlhbG9nLWlucHV0LWNvbnRyb2wpICArIC5pbnB1dC1ncm91cC1hZGRvbixcbiAgICAuZm9ybS1jb250cm9sOmRpc2FibGVkICsgLmlucHV0LWdyb3VwLWFkZG9uLCBcbiAgICAuZm9ybS1jb250cm9sOmRpc2FibGVkICsgLmlucHV0LWdyb3VwLWFwcGVuZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgICAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1LlxuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXI6ICRmb3JtLWNvbnRyb2wtYm9yZGVyLXdpZHRoIHNvbGlkICRmb3JtLWNvbnRyb2wtYm9yZGVyLWNvbG9yO1xuICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGZvcm0tY29udHJvbC1ib3gtc2hhZG93O1xuICAgICAgfVxuICAgICZbZGF0YS1jb250YWlucy1lcnJvcj1cInRydWVcIl0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZWQ7XG4gICAgfVxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMHB4O1xuICAgICAgJjpub3QoW3R5cGU9XCJyYWRpb1wiXSk6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pIHtcbiAgICAgICAgaGVpZ2h0OiAkZm9ybS1jb250cm9sLWhlaWdodC1iYXNlO1xuICAgICAgfVxuICAgIH1cbiAgICAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMHB4O1xuICAgICAgLmZhLXRpbWVzIHtcbiAgICAgICAgY29sb3I6IHJlZDtcbiAgICAgIH1cbiAgICAgIC5mYS1jaGVjayB7XG4gICAgICAgIGNvbG9yOiBncmVlbjtcbiAgICAgIH1cbiAgICAgIC5zaG93IHtcbiAgICAgICAgY29sb3I6ICM0RTZGQjg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14c207XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgICAuaW5wdXQtZ3JvdXAtdGV4dC51bnNldCB7XG4gICAgICAqIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmlucHV0LWdyb3VwLWFwcGVuZCxcbiAgICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgICAgYm9yZGVyOiAwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBtaW4td2lkdGg6ICRoYWxmR3V0dGVyICsgMiAqICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgICA+IHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWdyb3VwLmZvcm0taW5saW5lIGxhYmVsIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgfVxuICAvLyBBc3BlY3RvIGdlbmVyYWwgZGUgaW5wdXRzIHkgcmFkaW8tYnV0dG9ucyBhc29jaWFkb3MgYSBjb250cm9sZXMgZGUgZm9ybXVsYXJpb1xuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCxcbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwge1xuICAgIHBhZGRpbmctbGVmdDogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tY29udHJvbC1sYWJlbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWNvbnRyb2wtbGFiZWwtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAucmVxdWlyZWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbC5lcnJvciB7XG4gICAgY29sb3I6IHVuc2V0O1xuICB9XG4gIGxhYmVsICtpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIGxhYmVsICtpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIG1hcmdpbi1sZWZ0OiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gIH1cblxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB3aWR0aDogJGZvcm0tY29udHJvbC1yYWRpby1zaXplO1xuICAgIGhlaWdodDogJGZvcm0tY29udHJvbC1yYWRpby1zaXplO1xuICAgIHRvcDogM3B4O1xuICAgIGJvcmRlcjogMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwcHg7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGVmdDogMHB4O1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6ICRmb3JtLWNvbnRyb2wtcmFkaW8tc2l6ZTtcbiAgICAgIGhlaWdodDogJGZvcm0tY29udHJvbC1yYWRpby1zaXplO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tY29udHJvbC1iZ2NvbG9yO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgJHByaW1hcnk7XG4gICAgfVxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1jb250cm9sLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgJlt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZDphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBjZW50ZXIsICRwcmltYXJ5IDAlLCRwcmltYXJ5IDM1JSwkcHJpbWFyeSAzNSUsdHJhbnNwYXJlbnQgNDclLHRyYW5zcGFyZW50IDQ4JSk7XG4gICAgfVxuICAgICZbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQ6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRwcmltYXJ5LCAkcHJpbWFyeSkgNTAlIDUwJSAvIDUwJSA1MCU7XG4gIH1cbiAgfVxuXG5cbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmFmdGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gIH1cblxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl06YWZ0ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWNvbnRyb2wtcmFkaW8tc2l6ZTtcbiAgfVxuXG4gIC8vIEV2aXRhbW9zIGVsIHJlZGltZW5zaW9uYW1pZW50byBkZSBsb3MgdGV4dGFyZWFcbiAgdGV4dGFyZWEge1xuICAgIHJlc2l6ZTogbm9uZTtcbiAgfVxuXG4gIC8vIFF1ZXJlbW9zIHF1ZSB0b2RvcyBsb3MgY29udHJvbGVzIGRlIGZvcm11bGFyaW9zIHRlbmdhbiB1biBkZXRlcm1pbmFkb1xuICAvLyB0YW1hw7FvXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWNvbnRyb2wtYm9yZGVyLXJhZGl1cztcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWNvbnRyb2wtYm9yZGVyLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tY29udHJvbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWNvbnRyb2wtbGluZS1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tY29udHJvbC1iZ2NvbG9yO1xuICAgICYuZGlhbG9nLWlucHV0LWNvbnRyb2xbcmVhZG9ubHldOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWNvbnRyb2wtYmdjb2xvcjtcbiAgICB9XG4gICAgJjpub3QoW3R5cGU9XCJyYWRpb1wiXSk6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pOm5vdCh0ZXh0YXJlYSkge1xuICAgICAgJjpub3QoLnJlYWN0LWRhdGUtcGlja2VyKSB7XG4gICAgICAgIEBpZiAkZm9ybS1jb250cm9sLXBhZGRpbmchPScnIHtcbiAgICAgICAgICBwYWRkaW5nOiAkZm9ybS1jb250cm9sLXBhZGRpbmc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGJvcmRlci13aWR0aDogJGZvcm0tY29udHJvbC1ib3JkZXItd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRmb3JtLWNvbnRyb2wtaGVpZ2h0O1xuICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gICAgJjpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAkZm9ybS1jb250cm9sLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY29udHJvbC5lcnJvcixcbiAgLmZvcm0tY29udHJvbFtkYXRhLWVycm9yPVwidHJ1ZVwiXXtcbiAgICBib3JkZXItY29sb3I6IHJlZDtcbiAgfVxuXG4gIC5lcnJvci1hcmVhLWRlc2NyaXB0aW9uLmVycm9yLWFjdGl2ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMztcbiAgICA+IHNwYW4ge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIC8vIFRyYWJhamFtb3MgY29uIHBpeGVsZXMgcGFyYSBsYSBmbGVjaGEsIHRyYWJhamFyIGNvbiByZW1zIGRlamEgY29zYXMgbXV5IHJhcmFzLlxuICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgbGVmdDogMS41KiRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDVweCA1cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLWNvbnRyb2wtZXJyb3JhcmVhLWJhY2tncm91bmQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgIH1cbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgIGZvbnQtc2l6ZTogJGZvcm0tY29udHJvbC1lcnJvcmFyZWEtZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6ICRmb3JtLWNvbnRyb2wtZXJyb3JhcmVhLWZvbnQtc2l6ZSokbGluZS1oZWlnaHQtYmFzZTtcbiAgICAgIGJhY2tncm91bmQ6ICRmb3JtLWNvbnRyb2wtZXJyb3JhcmVhLWJhY2tncm91bmQ7XG4gICAgICBjb2xvcjogJGZvcm0tY29udHJvbC1lcnJvcmFyZWEtY29sb3I7XG4gICAgICBwYWRkaW5nOiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmcvMiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkZm9ybS1jb250cm9sLWVycm9yYXJlYS1hbnlvZi1mbG9hdCA9PSBmYWxzZSkge1xuICAgIGRpdltkYXRhLWFueW9mPXRydWVdIC5lcnJvcixcbiAgICBsZWdlbmQuZXJyb3IsXG4gICAgLmxlZ2VuZC5lcnJvciB7XG4gICAgICAuZXJyb3ItYXJlYS1kZXNjcmlwdGlvbi5lcnJvci1hY3RpdmUge1xuICAgICAgICBjb2xvcjogaW5pdGlhbDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgcG9zaXRpb246IHVuc2V0O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29sb3I6ICRmb3JtLWNvbnRyb2wtZXJyb3JhcmVhLWJhY2tncm91bmQ7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tZ3JvdXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5mb3JtLWdyb3VwIC5lcnJvci1hcmVhLWRlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIEFzcGVjdG8gZ2VuZXJhbCBkZSBsYXMgZXRpcXVldGFzXG4gIGxhYmVsLFxuICAubGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAkZm9ybS1jb250cm9sLWxhYmVsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tY29udHJvbC1sYWJlbC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgfVxuICAubGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsYWJlbC1tYXJnaW4tYm90dG9tO1xuICB9XG5cbiAgbGFiZWwuZXJyb3ItZmllbGQsXG4gIGRpdi5lcnJvci1maWVsZCB7XG4gICAgY29sb3I6IHJlZDtcbiAgfVxuXG4gIGxhYmVsLmVycm9yLFxuICAubGFiZWwuZXJyb3Ige1xuICAgIGNvbG9yOiByZWQ7XG4gIH1cbiAgZGl2W2RhdGEtYW55b2Y9dHJ1ZV0gLmVycm9yIHtcbiAgICBjb2xvcjogaW5pdGlhbDtcbiAgfVxuXG5cblxuICAvLyBVbiBhc3BlY3RvIGdlbmVyYWwgcGFyYSB0b2RvcyBsb3MgYm90b25lcyBxdWUgdGVuZW1vcywgYXNlZ3VyYW5kb25vc1xuICAvLyB1bmEgc2VwYXJhY2nDs24gZW50cmUgZWxsb3MuXG4gIC5idG4ge1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tY29udHJvbC1mb250LXNpemU7XG4gICAgcGFkZGluZy1sZWZ0OiAkaW5wdXQtYnRuLXBhZGRpbmcteDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtYnRuLXBhZGRpbmcteDtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1jb250cm9sLWJvcmRlci1yYWRpdXM7XG5cbiAgICAmICsgLmJ0bixcbiAgICAmICsgLmJ0bi1ncm91cCB7XG4gICAgICBtYXJnaW4tbGVmdDogJGhhbGZHdXR0ZXI7XG4gICAgfVxuICB9XG5cbiAgbGVnZW5kLCAubGVnZW5kLCAudGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAkZm9ybS1jb250cm9sLWxlZ2VuZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlICogJGZvcm0tY29udHJvbC1sZWdlbmQtZm9udC1zaXplO1xuICAgIGJvcmRlci1ib3R0b206IDBweDtcbiAgfVxuXG4gIC50aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICB9XG5cblxuICAuaGVscC1pbmZvIHtcbiAgIC8qIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICB0b3A6ICRsaW5lLWhlaWdodC1iYXNlICogJGZvcm0tY29udHJvbC1sZWdlbmQtZm9udC1zaXplOyovXG4gICAgbWFyZ2luLXRvcDogJGxpbmUtaGVpZ2h0LWJhc2UgKiAkZm9ybS1jb250cm9sLWxlZ2VuZC1mb250LXNpemU7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXhzbTtcbiAgICB6LWluZGV4OiAzO1xuICAgIC5jb250ZW50IHtcblxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0YyRDE2QjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGQkYwQ0Y7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgcGFkZGluZzogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nLzI7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY29udHJvbC5zZWxlY3QtbXVsdGlwbGUtaG9sZGVyIHtcbiAgICBtaW4taGVpZ2h0OiAkZm9ybS1jb250cm9sLWhlaWdodDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15IDJweCAwcHggIWltcG9ydGFudDtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICA+IGRpdi5jbG9zZS13aW5kb3cge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICAgIG1hcmdpbjogMCAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmcvMjtcbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGNvbG9yOiAkZm9ybS1jb250cm9sLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGRpdi5zZWxlY3QtbXVsdGlwbGUtY29udGFpbmVyLW9wdGlvbnMge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTVweCAtICN7JG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nfSk7XG4gICAgICAmOm5vdCgubm8tdmFsdWUpOm5vdCgubXVsdGlwbGUpIHtcbiAgICAgICAgQGluY2x1ZGUgY29sdW1uaXplLWFueSgyKTtcbiAgICAgIH1cblxuICAgICAgJjpub3QoLm5vLXZhbHVlKS5tdWx0aXBsZSB7XG4gICAgICAgIEBpbmNsdWRlIGNvbHVtbml6ZS1hbnkoMyk7XG4gICAgICB9XG5cbiAgICAgICY6bm90KC5uby12YWx1ZSkge1xuICAgICAgICBAaW5jbHVkZSBzcGFjZS1jb2x1bW5pemVkLWFueSgkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmcsICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZyk7XG4gICAgICB9XG5cbiAgICAgID4gKiB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvcm0tY29udHJvbC1tdWx0aXBsZS1zZWxlY3QtZm9udC1zaXplO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgZm9udC1zaXplOiAkZm9ybS1jb250cm9sLW11bHRpcGxlLXNlbGVjdC1mb250LXNpemU7XG4gICAgICAgIHBhZGRpbmc6IDBweCAycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIC50eHQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skZm9ybS1jb250cm9sLW11bHRpcGxlLXNlbGVjdC1mb250LXNpemV9KTtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgaGVpZ2h0OiAkZm9ybS1jb250cm9sLW11bHRpcGxlLXNlbGVjdC1mb250LXNpemUqJGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgJiArIGJ1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpbnB1dCB7XG4gICAgICAgIGJvcmRlcjogMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgZm9udC1zaXplOiAkZm9ybS1jb250cm9sLW11bHRpcGxlLXNlbGVjdC1mb250LXNpemU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zcGVjaWFsLXN2Zy1idG4ge1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiA0cHggNnB4O1xuXG4gICAgJjplbmFibGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIC5zdmctYnRuX19idXR0b25fX2ljb24ge1xuICAgICAgICAgIHN0cm9rZTogcmdiKDAsIDEyMCwgMjE1KTtcbiAgICAgICAgICBmaWxsOiByZ2IoMCwgMTIwLCAyMTUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAuc3ZnLWJ0bl9fYnV0dG9uX19pY29uIHtcbiAgICAgICAgc3Ryb2tlOiByZ2IoMTA5LCAxMDksIDEwOSk7XG4gICAgICAgIGZpbGw6IHJnYigxMDksIDEwOSwgMTA5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuXG59XG5cbi8vIEFzcGVjdG8gZ2VuZXJhbCBkZWwgYnV0dG9uLW91dGxpbmUtcHJpbWFyeVxuLmJ0bi1vdXRsaW5lLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeTtcbiAgY29sb3I6ICRwcmltYXJ5O1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cztcbiAgcGFkZGluZy1sZWZ0OiAkaW5wdXQtYnRuLXBhZGRpbmcteDtcbiAgcGFkZGluZy1yaWdodDogJGlucHV0LWJ0bi1wYWRkaW5nLXg7XG59XG5cbi5idG4tb3V0bGluZS1zZWNvbmRhcnkge1xuICBjb2xvcjogJHNlY29uZGFyeTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHNlY29uZGFyeTtcbiAgYm9yZGVyLXJhZGl1czogJGZvcm0tY29udHJvbC1ib3JkZXItcmFkaXVzO1xuICBwYWRkaW5nLWxlZnQ6ICRpbnB1dC1idG4tcGFkZGluZy14O1xuICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtYnRuLXBhZGRpbmcteDtcbn1cblxuLmNtU2VhcmNoRmllbGQuY2hvaWNlQ29udHJvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3ZlcmZsb3c6IHVuc2V0O1xuICB9XG5cbiAgc2VsZWN0LFxuICBzZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBwYWRkaW5nLXJpZ2h0OiBhZGQoMTBweCwkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmcsdHJ1ZSk7XG5cbiAgICAmOjotbXMtZXhwYW5kIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjYXJldCgkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmcsICRwcmltYXJ5KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgdG9wOiBhZGQoMTBweCwkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmcpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59XG5cbnVsLnJhZGlvLWdyb3VwLWNvbnRyb2xzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwcHg7XG4gIHBhZGRpbmc6IDBweDtcbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAmICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICB9XG4gIH1cbn1cblxuIiwKCQkiLy8gQ29weXJpZ2h0IChjKSAyMDIwLiBEaXZpc2EgaVQgU0FVXG5cbi8qKlxuICogU29wb3J0ZSBkZWwgc2VsZWN0b3IgZGUgZmVjaGEgYSB0cmF2w6lzIGRlbCBjb250cm9sIHJlYWN0LWRhdGUtcGlja2VyXG4gKlxuICogQGF1dGhvciBEYXZpZCBSb2Ryw61ndWV6IEFsZmF5YXRlXG4gKiBAc2luY2UgUHJveGlhIENNUyAxMC4yXG4gKi9cblxuLnJlYWN0LWRhdGUtcGlja2VyIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmLCAmICosICYgKjpiZWZvcmUsICYgKjphZnRlciB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgJi0tZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDAsIDI0MCwgMjQwKTtcbiAgICBjb2xvcjogcmdiKDEwOSwgMTA5LCAxMDkpO1xuICB9XG5cbiAgJl9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYm9yZGVyOiB0aGluIHNvbGlkIGdyYXk7XG4gIH1cblxuICAmX19pbnB1dEdyb3VwIHtcbiAgICAkZGlnaXQtd2lkdGg6IC41NGVtO1xuICAgICRkb3Qtd2lkdGg6IC4yMTdlbTtcbiAgICAvLyBvd24gcGFkZGluZyArIGlucHV0cyBwYWRkaW5nICsgZGlnaXRzIHdpZHRoICsgZG90cyB3aWR0aFxuICAgIG1pbi13aWR0aDogY2FsYygxMnB4ICsgI3skZGlnaXQtd2lkdGggKiA4fSArICAjeyRkb3Qtd2lkdGggKiAyfSk7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHBhZGRpbmc6IDAgMnB4O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXG4gICAgJl9fZGl2aWRlciB7XG4gICAgICBwYWRkaW5nOiAxcHggMDtcbiAgICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgfVxuXG4gICAgJl9faW5wdXQge1xuICAgICAgbWluLXdpZHRoOiAkZGlnaXQtd2lkdGg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwIDFweDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBmb250OiBpbmhlcml0O1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcblxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cblxuICAgICAgJjppbnZhbGlkIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxMjgsMCwwLDAuMyk7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLS1oYXNMZWFkaW5nWmVybyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJGRpZ2l0LXdpZHRoO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoI3skZGlnaXQtd2lkdGh9ICsgMXB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19idXR0b24ge1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiA0cHggNnB4O1xuXG4gICAgJjplbmFibGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIC5yZWFjdC1kYXRlLXBpY2tlcl9fYnV0dG9uX19pY29uIHtcbiAgICAgICAgICBzdHJva2U6IHJnYigwLCAxMjAsIDIxNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIC5yZWFjdC1kYXRlLXBpY2tlcl9fYnV0dG9uX19pY29uIHtcbiAgICAgICAgc3Ryb2tlOiByZ2IoMTA5LCAxMDksIDEwOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgfVxuICB9XG5cbiAgJl9fY2FsZW5kYXIge1xuICAgIHdpZHRoOiAzNTBweDtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAzO1xuXG4gICAgJi0tY2xvc2VkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnJlYWN0LWNhbGVuZGFyIHtcbiAgICAgIGJvcmRlci13aWR0aDogdGhpbjtcbiAgICB9XG4gIH1cbn1cblxuLnJlYWN0LWRhdGUtcGlja2VyLmZvcm0tY29udHJvbCB7XG4gIHBhZGRpbmc6IDBweDtcblxuICA+IC5yZWFjdC1kYXRlLXBpY2tlcl9fd3JhcHBlciB7XG4gICAgcGFkZGluZzogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nICRoYWxmR3V0dGVyO1xuICAgIGJvcmRlcjogMHB4O1xuICB9XG59XG5cbi5yZWFjdC1jYWxlbmRhciB7XG4gIHdpZHRoOiAzNTBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiKDE2MCwgMTYwLCAxNTApO1xuICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1ZW07XG5cbiAgJi0tZG91YmxlVmlldyB7XG4gICAgd2lkdGg6IDcwMHB4O1xuXG4gICAgLnJlYWN0LWNhbGVuZGFyX192aWV3Q29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBtYXJnaW46IC0uNWVtO1xuXG4gICAgICA+ICoge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBtYXJnaW46IC41ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJiwgJiAqLCAmICo6YmVmb3JlLCAmICo6YWZ0ZXIge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgJjplbmFibGVkIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbmF2aWdhdGlvbiB7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcblxuICAgIGJ1dHRvbiB7XG4gICAgICBtaW4td2lkdGg6IDQ0cHg7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICAmOmVuYWJsZWQge1xuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjMwLCAyMzAsIDIzMCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQwLCAyNDAsIDI0MCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbW9udGgtdmlldyB7XG4gICAgJl9fd2Vla2RheXMge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiAuNzVlbTtcblxuICAgICAgJl9fd2Vla2RheSB7XG4gICAgICAgIHBhZGRpbmc6IC41ZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fd2Vla051bWJlcnMge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgIC5yZWFjdC1jYWxlbmRhcl9fdGlsZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IC43NWVtO1xuICAgICAgICBwYWRkaW5nOiBjYWxjKC43NWVtIC8gLjc1KSBjYWxjKC41ZW0gLyAuNzUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2RheXMge1xuICAgICAgJl9fZGF5IHtcbiAgICAgICAgJi0td2Vla2VuZCB7XG4gICAgICAgICAgY29sb3I6IHJnYigyMDksIDAsIDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbmVpZ2hib3JpbmdNb250aCB7XG4gICAgICAgICAgY29sb3I6IHJnYigxMTcsIDExNywgMTE3KVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9feWVhci12aWV3LFxuICAmX19kZWNhZGUtdmlldyxcbiAgJl9fY2VudHVyeS12aWV3IHtcbiAgICAucmVhY3QtY2FsZW5kYXJfX3RpbGUge1xuICAgICAgcGFkZGluZzogMmVtIC41ZW07XG4gICAgfVxuICB9XG5cbiAgJl9fdGlsZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAuNzVlbSAuNWVtO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDAsIDI0MCwgMjQwKTtcbiAgICB9XG5cbiAgICAmOmVuYWJsZWQge1xuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzAsIDIzMCwgMjMwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1ub3cge1xuICAgICAgJGJnY29sb3I6IGxpZ2h0ZW4ocmdiKDIyMCwgMjIwLCAwKSwgMzAlKTtcbiAgICAgIGJhY2tncm91bmQ6ICRiZ2NvbG9yO1xuXG4gICAgICAmOmVuYWJsZWQge1xuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRiZ2NvbG9yLCAxMCUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0taGFzQWN0aXZlIHtcbiAgICAgICRiZ2NvbG9yOiBsaWdodGVuKHJnYigwLCAxMTAsIDIyMCksIDMwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmdjb2xvcjtcblxuICAgICAgJjplbmFibGVkIHtcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbGlnaHRlbigkYmdjb2xvciwgMTAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLWFjdGl2ZSB7XG4gICAgICAkYmdjb2xvcjogcmdiKDAsIDExMCwgMjIwKTtcbiAgICAgIGJhY2tncm91bmQ6ICRiZ2NvbG9yO1xuICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICAmOmVuYWJsZWQge1xuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRiZ2NvbG9yLCAxMCUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tc2VsZWN0UmFuZ2Uge1xuICAgIC5yZWFjdC1jYWxlbmRhcl9fdGlsZSB7XG4gICAgICAmLS1ob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzAsIDIzMCwgMjMwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIENvcHlyaWdodCAoYykgMjAyMC4gRGl2aXNhIGlUIFNBVVxuXG4vKipcbiAqIFBhcmEgY29udHJvbGFyIGxhIGFwYXJpZW5jaWEgZGUgZWxlbWVudG9zIGF1dG9jb21wbGV0YWRvcyBwb3IgZWwgc2lzdGVtYS5cbiAqXG4gKiBAYXV0aG9yIERhdmlkIFJvZHLDrWd1ZXogQWxmYXlhdGVcbiAqIEBzaW5jZSBQcm94aWEgQ01TIDEwLjJcbiAqL1xuXG4uYXV0b2NvbXBsZXRlLWl0ZW1zIHtcbiAgcGFkZGluZzogMiokbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmcgMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgei1pbmRleDogMztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwcHg7XG4gIG1heC1oZWlnaHQ6IDIwMHB4O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIHdpZHRoOiAxMDAlO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMXB4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjY2NjYztcbiAgPiBsaSBhLFxuICA+IGxpIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXI6IDBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIC5oZWxwIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gICYubXVsdGlwbGUge1xuICAgID4gbGkgYSxcbiAgICA+IGxpIGJ1dHRvbiB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIEBpbmNsdWRlIGEtZXZlbnRzLWhvdmVyKCkge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeTtcbiAgICAgIH1cbiAgICB9XG4gICAgPmxpOmZvY3VzIGEsXG4gICAgPmxpOmZvY3VzIGJ1dHRvbiB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeTtcbiAgICB9XG4gIH1cblxuICAmOm5vdCgubXVsdGlwbGUpIHtcbiAgICA+IGxpIGEsXG4gICAgPiBsaSBidXR0b24ge1xuICAgICAgQGluY2x1ZGUgYS1ldmVudHMtaG92ZXIoKSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG4gICAgICB9XG4gICAgfVxuICAgID5saTpmb2N1cyBhLFxuICAgID5saTpmb2N1cyBidXR0b24ge1xuICAgICAgQGluY2x1ZGUgYS1ldmVudHMtaG92ZXIoKSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICA+bGkuc2VsZWN0ZWQgYSxcbiAgPmxpLnNlbGVjdGVkIGJ1dHRvbntcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG4gICAgLmhlbHAtaW5mbyB7XG4gICAgICBjb2xvcjogJGJvZHktY29sb3I7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICB9XG4gIH1cbiAgLy8gUGVxdWXDsW8gbWFyZ2VuIHNpIGhheSBkYXRvcyBwcmV2aW9zIGFsIGF1dG9jb21wbGV0YWRvLlxuICA+IGxpICsgbGkuYWRkLWF1dG9jb21wbGV0ZSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLXRvcDogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgICAgbWFyZ2luOiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgICBjb250ZW50OicnO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRhdXRvY29tcGxldGUtZWRpdC1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICB9XG5cbiAgLy8gQm90b24gZGUgYXV0b2NvbXBsZXRhZG9cbiAgPmxpLmFkZC1hdXRvY29tcGxldGUgYSxcbiAgPmxpLmFkZC1hdXRvY29tcGxldGUgYnV0dG9uIHtcbiAgICA+IHNwYW4uaWNvbiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgfVxuICAgIG1hcmdpbjogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhdXRvY29tcGxldGUtZWRpdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYXV0b2NvbXBsZXRlLWVkaXQtdGV4dC1jb2xvcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYXV0b2NvbXBsZXRlLWVkaXQtYm9yZGVyLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6ICRhdXRvY29tcGxldGUtZWRpdC1ib3JkZXItcmFkaXVzO1xuICAgIHRleHQtYWxpZ246ICRhdXRvY29tcGxldGUtZWRpdC10ZXh0LWFsaWduO1xuICAgIEBpbmNsdWRlIGEtZXZlbnRzLWhvdmVyKCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGF1dG9jb21wbGV0ZS1lZGl0LWJhY2tncm91bmQ7XG4gICAgICBjb2xvcjogJGF1dG9jb21wbGV0ZS1lZGl0LXRleHQtY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIENvcHlyaWdodCAoYykgMjAyMC4gRGl2aXNhIGlUIFNBVVxuXG4vKipcbiAqIEVzdGlsb3MgQ1NTIHBhcmEgZWwgc2VsZWN0b3IgZ2VuZXJhbCBkZSBmaWNoZXJvcyB5IHBhcmEgZWwgY29udHJvbCBxdWUgcGVybWl0ZSB2aXN1YWxpemFyIGVsIHNlbGVjdG9yXG4gKiBkZSBmaWNoZXJvcyB2w61hIEV4Y2VsIHBhcmEgc3UgcHJvY2VzYWRvIHBvc3RlcmlvclxuICpcbiAqIEBhdXRob3IgRGF2aWQgUm9kcsOtZ3VleiBBbGZheWF0ZSAoZHJvZHJpZ3VlekBkaXZpc2FpdC5jb20pXG4gKi9cblxuZGl2LmRyb3B6b25lIHtcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJGhhbGZHdXR0ZXI7XG4gIGJvcmRlcjogMnB4IGRvdHRlZCAkZHJvcHpvbmUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wem9uZS1iYWNrZ3JvdW5kO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGNvbG9yOiAkZHJvcHpvbmUtY29sb3I7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJvcmRlciAuMjRzIGVhc2UtaW4tb3V0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmN1cnJlbnRJbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3BhY2l0eTogJGRyb3B6b25lLWN1cnJlbnRpbWFnZS1vcGFjaXR5O1xuICB9XG5cbiAgLmZpbGVBcmVhIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGJvcmRlcjogNHB4IGRhc2hlZDtcbiAgICBwYWRkaW5nOiAkaGFsZkd1dHRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogJGhhbGZHdXR0ZXI7XG4gICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICBtYXJnaW46ICRncmlkLWd1dHRlci13aWR0aCAwcHg7XG4gICAgY29sb3I6ICRkcm9wem9uZS1maWxlYXJlYS1jb2xvcjtcblxuICAgIC5mYSB7XG4gICAgICBmb250LXNpemU6IDM0cHg7XG4gICAgfVxuICAgIHAge1xuICAgICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgIH1cbiAgICAmLmltYWdlQXJlYS53aXRoLWltYWdlIHAge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpO1xuICAgIH1cbiAgfVxuICAuZmlsZUFyZWEuaW1hZ2VBcmVhIHtcbiAgICBjb2xvcjogJGRyb3B6b25lLWltYWdlYXJlYS1jb2xvcjtcbiAgfVxufVxuXG4uZGVsZXRlLWJ1dHRvbi1hcmVhIHtcbiAgJi53aXRoLWltYWdlIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICBidXR0b24ge1xuICAgIG1hcmdpbi10b3A6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgfVxufVxuXG4vLyBVcGxvYWRzIGRlIGV4Y2VsXG5kaXYuZXhjZWwtY29udHJvbCB7XG4gIC5zYW1wbGVFeGNlbCB7XG4gICAgbWFyZ2luOiAkaGFsZkd1dHRlciAwcHg7XG4gICAgZm9udC1zaXplOiAkZm9ybS1jb250cm9sLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2UgKiAkZm9ybS1jb250cm9sLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgID4gYSB7XG4gICAgICBjb2xvcjogJGRyb3B6b25lLWxpbmstY29sb3I7XG4gICAgICBAaW5jbHVkZSBmb250QmxvY2soJ0ZvbnRBd2Vzb21lJywnXFxmMWMzJykge1xuICAgICAgICBmb250LXNpemU6ICRoMi1mb250LXNpemU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWFwcGluZ3MtZGV0YWlsIHtcbiAgICBtYXJnaW46IDBweDtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICA+bGkuaGVhZGVyIHtcbiAgICAgIG1hcmdpbjogJGhhbGZHdXR0ZXIgMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAueW91cnMge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICA+bGkgLmZvcm0tZ3JvdXA6Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAyKiRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYWN0aW9ucy1hcmVhIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gIC5yZXN1bHRzLXZpZXcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkcm9wem9uZS1yZXN1bHRzLWJhY2tncm91bmQ7XG4gICAgcGFkZGluZzogJGdyaWQtZ3V0dGVyLXdpZHRoO1xuICAgIC5yZXN1bHRzIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkaGFsZkd1dHRlcjtcbiAgICB9XG4gICAgLmJ0bi1vdXRsaW5lLXByaW1hcnkge1xuICAgICAgZm9udC1zaXplOiAkZm9ybS1jb250cm9sLWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFyYSBwaW50YXIgbGEgY2FqYSBkZSBsb3MgcmVjdXJzb3MgdmluY3VsYWRvcyBhIHVuIGNvbnRyb2wgZGUgc2VsZWNjacOzbiwgeSBxdWUgZWwgdXN1YXJpb1xuLy8gcHVlZGEgdmlzdWFsaXphcmxvc1xuLmNtUmVzb3VyY2VzT3V0ZXJCb3gge1xuICBtYXJnaW4tdG9wOiAkaGFsZkd1dHRlciAhaW1wb3J0YW50O1xuICB1bC5jbVJlc291cmNlTGlzdCB7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgLnJlc291cmNlRGF0YTQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBDb3B5cmlnaHQgKGMpIDIwMjAuIERpdmlzYSBpVCBTQVVcblxuLyoqXG4gKiBQZXJtaXRlIG1vc3RyYXIgZWwgY29udHJvbCBkZSBzZWxlY2Npw7NuIGRlIGNvbnRlbmlkb3MgcGFyYSBsYSBiw7pzcXVlZGEgZGUgbG9zIG1pc21vcyBlbiBlbCBzaXN0ZW1hXG4gKlxuICogQGF1dGhvciBEYXZpZCBSb2Ryw61ndWV6IEFsZmF5YXRlIChkcm9kcmlndWV6QGRpdmlzYWl0LmNvbSlcbiAqL1xuXG4uY29udGVudC1jb250cm9sIHtcbiAgLmNvbnRlbnQtZmlsdGVyIHtcbiAgICAuYnRuIHtcbiAgICAgIG1hcmdpbi10b3A6IGFkZCgkZm9udC1zaXplLWJhc2UqJGxpbmUtaGVpZ2h0LWJhc2UsN3B4KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgICBwYWRkaW5nOiA5cHg7XG4gICAgICBib3JkZXItY29sb3I6ICRjb250ZW50LWNvbnRyb2wtY29sb3I7XG4gICAgfVxuICB9XG5cblxuXG4gIC5jdXJyZW50LWNvbnRlbnRzIHtcbiAgICBtYXJnaW46IDBweDtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgID4gbGkge1xuICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29udGVudC1jb250cm9sLWJhY2tncm91bmQ7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICAgIG1hcmdpbjogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nIDA7XG4gICAgICB3aWR0aDogMTYwcHg7XG4gICAgICBAaW5jbHVkZSBjdXRUZXh0KCRmb250LXNpemUtYmFzZSw0KTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMCAkZ3JpZC1ndXR0ZXItd2lkdGggMCAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG5cbiAgICAgIC5vcHRpb25zIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGhhbGZHdXR0ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgIHJpZ2h0OiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgICAgIGNvbG9yOiBibGFjaztcblxuICAgICAgICAuZmEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGg2LWZvbnQtc2l6ZTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJiArIGxpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2VhcmNoLXJlc3VsdHMge1xuICAgIG1hcmdpbjogMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMHB4O1xuICAgID4gbGkge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwcHggJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nIDBweCAkZ3JpZC1ndXR0ZXItd2lkdGg7XG4gICAgICBtYXJnaW46IDBweDtcbiAgICAgIEBpZiAkY29udGVudC1jb250cm9sLWl0ZW0taWNvbiAhPSAnJyB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogJGNvbnRlbnQtY29udHJvbC1pdGVtLWNvbG9yO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICAgICAgICBsZWZ0OiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgICAgICAgY29udGVudDogJGNvbnRlbnQtY29udHJvbC1pdGVtLWljb247XG4gICAgICAgICAgQGlmICRjb250ZW50LWNvbnRyb2wtaXRlbS1pY29uLWZvbnQgIT0gJycge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRjb250ZW50LWNvbnRyb2wtaXRlbS1pY29uLWZvbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb250ZW50LWRhdGEge1xuICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgfVxuXG4gICAgICAuY29udGVudC1wYXRoIGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29udGVudC1jb250cm9sLWNvbG9yO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29udGVudC1jb250cm9sLWNvbG9yO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZy8yICRoYWxmR3V0dGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkaGFsZkd1dHRlcjtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIG1hcmdpbi10b3A6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgICAgY29udGVudDogJ1xcZjA4ZSc7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbnRlbnQtYWRkIC5idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4iLAoJCSJcbnVsLm1hc3Rlci12aWV3IHtcbiAgbWFyZ2luOiAkaGFsZkd1dHRlciAwIDAgMDtcbiAgcGFkZGluZzogMHB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gID4gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwcHggJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nIDBweCAkZ3JpZC1ndXR0ZXItd2lkdGg7XG4gICAgbWFyZ2luOiAwcHg7XG4gICAgQGlmICRjb250ZW50LWNvbnRyb2wtaXRlbS1pY29uICE9ICcnIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICRjb250ZW50LWNvbnRyb2wtbWFzdGVyZGV0YWlsLWl0ZW0tY29sb3I7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgICAgIGxlZnQ6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICAgICAgY29udGVudDogJGNvbnRlbnQtY29udHJvbC1pdGVtLWljb247XG4gICAgICAgIEBpZiAkY29udGVudC1jb250cm9sLWl0ZW0taWNvbi1mb250ICE9ICcnIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJGNvbnRlbnQtY29udHJvbC1pdGVtLWljb24tZm9udDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuXG4gICAgJiArIGxpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkaGFsZkd1dHRlcjtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAkaGFsZkd1dHRlciArICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWFzdGVyLXZpZXctdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAkbWFzdGVyLXZpZXctdGl0bGUtZm9udC1zaXplO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2UgKiAkbWFzdGVyLXZpZXctdGl0bGUtZm9udC1zaXplO1xuICAgIH1cbiAgICAubWFzdGVyLXZpZXctZGVzY3JpcHRpb24ge1xuICAgICAgZm9udC1zaXplOiAkbWFzdGVyLXZpZXctZGVzY3JpcHRpb24tZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlICogJG1hc3Rlci12aWV3LWRlc2NyaXB0aW9uLWZvbnQtc2l6ZTtcbiAgICB9XG5cbiAgICAubWFzdGVyLXZpZXctZmVhdHVyZXMge1xuICAgICAgbWFyZ2luLXRvcDogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgICAgdWwge1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBmb250LXNpemU6ICRtYXN0ZXItdmlldy1mZWF0dXJlcy1mb250LXNpemU7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbnRlbnQtY29sb3ItZmVhdHVyZXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgIGNvbG9yOiAkY29udGVudC1jb2xvci1mZWF0dXJlcy1jb2xvcjtcbiAgICAgICAgICBwYWRkaW5nOiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmcvMiAzKiRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcblxuICAgICAgICAgICYgKyBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJGhhbGZHdXR0ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJ0bi1lZGl0IHtcbiAgICAgIGNvbG9yOiAjNEU2RkI4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzRFNkZCODtcbiAgICAgIHBhZGRpbmc6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZy8xLjUgMyokbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cblxuICAgIC5idG4tZGVsZXRlIHtcbiAgICAgIGNvbG9yOiByZWQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZWQ7XG4gICAgICBwYWRkaW5nOiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmcvMS41IDMqJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG5cbiAgfVxuXG4gIGRpdi5tYXN0ZXItdmlldy1vcHRpb25zLmJ0bi1ncm91cCB7XG4gICAgPiB1bC5kcm9wZG93bi1tZW51ID4gbGkgPiAuYnRuIHtcbiAgICAgIHBhZGRpbmc6ICRpbnB1dC1idG4tcGFkZGluZy15ICRpbnB1dC1idG4tcGFkZGluZy14O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyOiAwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgIH1cbiAgICAgID4gdWwuZHJvcGRvd24tbWVudSA+IGxpID4gKiB7XG4gICAgICAgIGJvcmRlcjogMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAuZmEge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBhLWV2ZW50cy1ob3ZlcigpIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICBjb2xvcjogJHByb3hpYS1saW5rcy1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG5cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgPiBidXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgPiB1bC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHVuc2V0O1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgYm9yZGVyOiAwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6MHB4O1xuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY2xpcDogaW5pdGlhbDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgID4gbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAmICsgbGkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICA+ICoge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIH1cblxuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4ubWFzdGVyLXJlc3VsdHMtdmlldyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmID4gLmxvYWRpbmcsXG4gICYgKyAubG9hZGluZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGJvdHRvbTogNTAlO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG59XG4iLAoJCSIvLyBGdW5jaW9uYWxpZGFkZXMgcmVsYWNpb2FuZGFzIGNvbiBsYSBpbXByZXNpw7NuLCB5IGNvbW8gYWZlY3RhIGEgbG8gcXVlIHNlIGVuY3VlbnRyYSBjb250ZW5pZG8gZGVudHJvXG4vLyBkZWwgc2VydmljaW8uXG5cbkBtZWRpYSBzY3JlZW4ge1xuICAucHJpbnRhYmxlLWFyZWEge1xuICAgIG1hcmdpbi1ib3R0b206ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IDkwJTtcbiAgfVxufVxuXG4ucHJpbnRhYmxlLWJ1dHRvbiBhLnByaW50QnV0dG9uIHtcbiAgQGV4dGVuZCAuYnRuO1xufVxuXG5AbWVkaWEgcHJpbnQge1xuICAucHJpbnRhYmxlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwKCQkiLy8gQ29weXJpZ2h0IChjKSAyMDIwLiBEaXZpc2EgaVQgU0FVXG5cbi8qKlxuICogRWxlbWVudG9zIGLDoXNpY29zIGRlIENPUkUgZGUgUHJveGlhIFJFQUNUIHF1ZSBkYW4gY2llcnRvcyBlc3RpbG9zIHByZWRlZmluaWRvc1xuICovXG5cbmEge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjY1O1xufVxuLmZhaWxlZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgaW1nIHtcbiAgICB3aWR0aDogMjAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgfVxufVxuLmxvYWRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogJGhhbGZHdXR0ZXIgMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8vIExhIHpvbmEgZGUgY2FyZ2EsIGRlYmUgdGVuZXIgdW5hIGNvbXBvc2ljacOzbiBkZWwgdGlwbyAuZWRpdC12aWV3IFsucmVsb2FkaW5nIFsubG9hZGluZ10sIC4uLl1cbi5lZGl0LXZpZXcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC5yZWxvYWRpbmcgLmxvYWRpbmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogNDBweDtcblxuICAgID4gc3BhbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IGNhbGMoNDAlIC0gNDBweCk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUod2hpdGUsIDAuNCk7XG4gICAgei1pbmRleDogNDtcbiAgfVxufVxuXG4ubm8tY29udGVudCB7XG4gIG1hcmdpbjogJGhhbGZHdXR0ZXIgMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5idXR0b24uZW11bGF0ZWQtbGluayB7XG4gIG91dGxpbmU6IDA7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogaW5saW5lO1xuICAmOm5vdCgubmF2LWl0ZW0pIHtcbiAgICBjb2xvcjogJHByb3hpYS1saW5rcy1jb2xvcjtcbiAgICBAaW5jbHVkZSBhLWV2ZW50cy1ob3ZlcigpIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgY29sb3I6ICRwcm94aWEtbGlua3MtY29sb3ItaG92ZXI7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBhLWV2ZW50cy1ob3ZlcigpIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogJHByb3hpYS1saW5rcy1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5uYXYtaXRlbTpmb2N1cyB7XG4gICAgQGluY2x1ZGUgdGFiLWZvY3VzKCk7XG4gIH1cbn1cblxuYS5lbXVsYXRlZC1saW5rLmRpc2FibGVkIHtcbiAgQGluY2x1ZGUgYS1ldmVudHMtaG92ZXIoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiRwcm94aWEtbGlua3MtY29sb3I7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB4RmFkZUluIHtcbiAgMCUge29wYWNpdHk6MC4zO31cbiAgMTAwJSB7b3BhY2l0eToxO31cbn1cblxuQC1tb3ota2V5ZnJhbWVzIHhGYWRlSW4ge1xuICAwJSB7b3BhY2l0eTowLjM7fVxuICAxMDAlIHtvcGFjaXR5OjE7fVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgeEZhZGVJbiB7XG4gIDAlIHtvcGFjaXR5OjAuMzt9XG4gIDEwMCUge29wYWNpdHk6MTt9XG59XG5cbkAtby1rZXlmcmFtZXMgeEZhZGVJbiB7XG4gIDAlIHtvcGFjaXR5OjAuMzt9XG4gIDEwMCUge29wYWNpdHk6MTt9XG59XG5cbkAtbXMta2V5ZnJhbWVzIHhGYWRlSW4ge1xuICAwJSB7b3BhY2l0eTowLjM7fVxuICAxMDAlIHtvcGFjaXR5OjE7fVxufVxuXG5Aa2V5ZnJhbWVzIHhGYWRlT3V0IHtcbiAgMCUge29wYWNpdHk6MTt9XG4gIDEwMCUge29wYWNpdHk6MC4yO31cbn1cblxuQC1tb3ota2V5ZnJhbWVzIHhGYWRlT3V0IHtcbiAgMCUge29wYWNpdHk6MX1cbiAgMTAwJSB7b3BhY2l0eTowLjI7fVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgeEZhZGVPdXQge1xuICAwJSB7b3BhY2l0eToxO31cbiAgMTAwJSB7b3BhY2l0eTowLjI7fVxufVxuXG5ALW8ta2V5ZnJhbWVzIHhGYWRlT3V0IHtcbiAgMCUge29wYWNpdHk6MTt9XG4gIDEwMCUge29wYWNpdHk6MC4yO31cbn1cblxuQC1tcy1rZXlmcmFtZXMgeEZhZGVPdXQge1xuICAwJSB7b3BhY2l0eToxO31cbiAgMTAwJSB7b3BhY2l0eTowLjI7fVxufVxuXG4iLAoJCSIubW9kYWxbZGF0YS1wcm94aWFyZXN0ZnVsPVwidHJ1ZVwiXSB7XG4gIC5tb2RhbC10aXRsZSArIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJGhhbGZHdXR0ZXI7XG4gICAgcmlnaHQ6ICRoYWxmR3V0dGVyO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG4iLAoJCSIvLyBDb3B5cmlnaHQgKGMpIDIwMjAgLSBEaXZpc2EgSW5mb3Jtw6F0aWNhIHkgVGVsZWNvbXVuaWNhY2lvbmVzIFNBVVxuXG4vLyBGaWNoZXJvIGRlIGVqZW1wbG8gZW4gZWwgcXVlIHB1ZWRlIGludHJvZHVjaXIgY29uZmlndXJhY2nDs24gZXNwZWPDrWZpY2EgU0NTUyBkZSBzdSBwcm95ZWN0b1xuLy8gUHVlZGUgb3B0YXIgcG9yIHV0aWxpemFyIHVuYSBjb25maWd1cmFjacOzbiBSRUFDVCBwdXJhIHV0aWxpemFuZG8gZGlzdGludGFzIGxpYnJlcsOtYXNcbi8vIGRlIHRyYW5zcGlsYWNpw7NuIGRlIENTUy1KU1xuXG4vLyBQb3IgZGVmZWN0byBlbCBzaXN0ZW1hIGluY2x1eWUgbG9zIHNpZ3VpZW50ZXMgY29tcG9uZW50ZXMgU0FTU1xuLy8gQm9vdHN0cmFwIDMgVmFyaWFibGVzXG4vLyBCb290c3RyYXAgMyBNaXhpbnNcbi8vIFByb3hpYSBNaXhpbnNcbi8vIFByb3hpYSBWYXJpYWJsZXNcbi8vIFZhcmlhYmxlcyBkZSBwcm95ZWN0b1xuLy8gRXN0aWxvcyBTQVNTIHByZWRlZmluaWRvcyBlbiBQcm94aWFcbi8vXG4vLyBFbiBlbCBjYXNvIGRlIG5lY2VzaXRhciBlc3RpbG9zIFNBU1MgcXVlIGFwbGlxdWVuIGEgbXVsdGlwbGVzIGNvbXBvbmVudGVzIGRlbCBwcm95ZWN0b1xuLy8gZGVmaW5pcmxvcyBlbiBsYSBob2phIGRlIGVzdGlsb3MgZ2VuZXJhbCBkZWwgcHJveWVjdG8uXG5cbi8vIFBhcmEgZXZpdGFyIHByb2JsZW1hcyBkZSBkZXBlbmRlbmNpYSBlbnRyZSDDoXJlYXMgaW5jbHVpbW9zIGFxdWkgdG9kb3MgbG9zIGVzdGlsb3MgcmVsYWNpb25hZG9zXG4vLyBjb24gZXN0ZSBzZXJ2aWNpbyBlbiBjb25jcmV0by5cbmRpdltkYXRhLXNlcnZpY2U9XCJwcm94aWEtcmVzdGZ1bC1ncGRyXCJdIHtcbiAgLy8gQXF1aSBzZSBkZWJlbiBpbnRyb2R1Y2lyIGZ1bmNpb25hbGlkYWRlcyBlc3BlY8OtZmljYXMgZGUgZXN0aWxvc1xuICAvLyBkZWwgY29tcG9uZW50ZS5cblxuICAuZ3Bkci1wb2xpY3kge1xuICAgIG1hcmdpbjogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC5ncGRyLW5hbWUge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRoYWxmR3V0dGVyO1xuICAgIH1cbiAgfVxuXG59XG5cblxuIgoJXSwKCSJuYW1lcyI6IFtdLAoJIm1hcHBpbmdzIjogIjtBRUFBOztHQUVHO0FDRkg7Ozs7O0dBS0c7QUNMSDs7O0dBR0c7QUdISDs7R0FFRztBQ0FIOztHQUVHO0FBOExILEFBQ0UsaUJBRGUsQUFBQSxTQUFTLEdBQ3RCLFNBQVMsQ0FBQztFQUNWLEtBQUssRUFBRSxJQUFJO0VBRVgsYUFBYSxFQUFFLElBQUksR0E4QnBCO0VBbENILEFBT0ksaUJBUGEsQUFBQSxTQUFTLEdBQ3RCLFNBQVMsR0FNUCxTQUFTLENBQUM7SUFDVixZQUFZLEVBQUUsR0FBRztJQUNqQixXQUFXLEVIMUlTLE1BQVc7SUcySS9CLE1BQU0sRUFBRSxxQkFBcUI7SUFDN0IsYUFBYSxFSDlGUyxHQUFHLENBQUgsR0FBRyxDRzhGOEIsQ0FBQyxDQUFDLENBQUMsR0FxQjNEO0lBaENMLEFBYU0saUJBYlcsQUFBQSxTQUFTLEdBQ3RCLFNBQVMsR0FNUCxTQUFTLENBTVAsS0FBSyxFQWJiLGlCQUFpQixBQUFBLFNBQVMsR0FDdEIsU0FBUyxHQU1QLFNBQVMsQ0FPUCxNQUFNLEVBZGQsaUJBQWlCLEFBQUEsU0FBUyxHQUN0QixTQUFTLEdBTVAsU0FBUyxDQVFQLEtBQUssRUFmYixpQkFBaUIsQUFBQSxTQUFTLEdBQ3RCLFNBQVMsR0FNUCxTQUFTLENBU1AsTUFBTSxDQUFDLEtBQUssRUFoQnBCLGlCQUFpQixBQUFBLFNBQVMsR0FDdEIsU0FBUyxHQU1QLFNBQVMsQ0FVUCxNQUFNLENBQUMsS0FBSyxDQUFDO01BQ2IsWUFBWSxFTjFKSSxLQUFPLENBQVAsS0FBTyxDRzBYYSxJQUFJLEdHL056QztJQW5CUCxBQXVCUSxpQkF2QlMsQUFBQSxTQUFTLEdBQ3RCLFNBQVMsR0FNUCxTQUFTLEFBZVIsT0FBTyxFQXRCZCxpQkFBaUIsQUFBQSxTQUFT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 */