/**
 * Variable file 
 * place global variables here:
 *
 * @package Chef Gutenberg Child Theme
 */
/**
 * Mixin file 
 * All our custom mixins
 *
 * @package Chef Gutenberg Child Theme
 * @since 2019
 */
/* Boxsizing shortcut: */
/* Transform shortcuts */
/* Styling placeholders: */
/* Retina images: */
/* "Hard" gradients: */
/* REM font sizes: */
@keyframes pulse-gradient-smooth {
  0%, 100% {
    opacity: 0.2;
    transform: scale(1);
    filter: brightness(1); }
  50% {
    opacity: 0.5;
    transform: scale(1.08);
    filter: brightness(1.15); } }

.block.form-block .gform_wrapper {
  background: #F4F4F4;
  border-radius: 10px;
  padding: 50px; }

.popup-content .popup-form .gform_wrapper {
  background: transparent;
  border-radius: 0;
  padding: 0; }

.block.form-block .gform_wrapper .gfield_label,
.popup-content .popup-form .gform_wrapper .gfield_label {
  font-weight: 500;
  margin-left: 0;
  margin-bottom: 8px;
  color: #1F1A46;
  font-size: 16px;
  font-size: 1rem; }

.block.form-block .gform_wrapper .gform_body,
.popup-content .popup-form .gform_wrapper .gform_body {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  gap: 20px; }

.block.form-block .gform_wrapper .gform_page_footer,
.block.form-block .gform_wrapper .gform_footer,
.popup-content .popup-form .gform_wrapper .gform_page_footer,
.popup-content .popup-form .gform_wrapper .gform_footer {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  -ms-flex-pack: end;
      justify-content: flex-end;
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid rgba(31, 26, 70, 0.1); }
  .block.form-block .gform_wrapper .gform_page_footer .button,
  .block.form-block .gform_wrapper .gform_page_footer input[type="submit"],
  .block.form-block .gform_wrapper .gform_page_footer button[type="submit"],
  .block.form-block .gform_wrapper .gform_footer .button,
  .block.form-block .gform_wrapper .gform_footer input[type="submit"],
  .block.form-block .gform_wrapper .gform_footer button[type="submit"],
  .popup-content .popup-form .gform_wrapper .gform_page_footer .button,
  .popup-content .popup-form .gform_wrapper .gform_page_footer input[type="submit"],
  .popup-content .popup-form .gform_wrapper .gform_page_footer button[type="submit"],
  .popup-content .popup-form .gform_wrapper .gform_footer .button,
  .popup-content .popup-form .gform_wrapper .gform_footer input[type="submit"],
  .popup-content .popup-form .gform_wrapper .gform_footer button[type="submit"] {
    background: linear-gradient(180deg, #68569e 0%, #483584 50%, #1f1a46 100%);
    padding: 15px 22px;
    display: inline-block;
    border-radius: 30px;
    font-style: italic;
    position: relative;
    transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    font-size: 1rem;
    overflow: hidden;
    font-weight: 400;
    border: none;
    padding: 16px 36px !important;
    font-style: italic;
    min-width: 160px;
    text-align: center;
    border-radius: 30px !important;
    box-shadow: none !important; }
    .block.form-block .gform_wrapper .gform_page_footer .button::before,
    .block.form-block .gform_wrapper .gform_page_footer input[type="submit"]::before,
    .block.form-block .gform_wrapper .gform_page_footer button[type="submit"]::before,
    .block.form-block .gform_wrapper .gform_footer .button::before,
    .block.form-block .gform_wrapper .gform_footer input[type="submit"]::before,
    .block.form-block .gform_wrapper .gform_footer button[type="submit"]::before,
    .popup-content .popup-form .gform_wrapper .gform_page_footer .button::before,
    .popup-content .popup-form .gform_wrapper .gform_page_footer input[type="submit"]::before,
    .popup-content .popup-form .gform_wrapper .gform_page_footer button[type="submit"]::before,
    .popup-content .popup-form .gform_wrapper .gform_footer .button::before,
    .popup-content .popup-form .gform_wrapper .gform_footer input[type="submit"]::before,
    .popup-content .popup-form .gform_wrapper .gform_footer button[type="submit"]::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(180deg, rgba(104, 86, 158, 0.9) 0%, rgba(72, 53, 132, 0.95) 50%, #1f1a46 100%);
      opacity: 0.3;
      z-index: 1;
      animation: pulse-gradient-smooth 4s ease-in-out infinite;
      border-radius: 30px; }
    .block.form-block .gform_wrapper .gform_page_footer .button::after,
    .block.form-block .gform_wrapper .gform_page_footer input[type="submit"]::after,
    .block.form-block .gform_wrapper .gform_page_footer button[type="submit"]::after,
    .block.form-block .gform_wrapper .gform_footer .button::after,
    .block.form-block .gform_wrapper .gform_footer input[type="submit"]::after,
    .block.form-block .gform_wrapper .gform_footer button[type="submit"]::after,
    .popup-content .popup-form .gform_wrapper .gform_page_footer .button::after,
    .popup-content .popup-form .gform_wrapper .gform_page_footer input[type="submit"]::after,
    .popup-content .popup-form .gform_wrapper .gform_page_footer button[type="submit"]::after,
    .popup-content .popup-form .gform_wrapper .gform_footer .button::after,
    .popup-content .popup-form .gform_wrapper .gform_footer input[type="submit"]::after,
    .popup-content .popup-form .gform_wrapper .gform_footer button[type="submit"]::after {
      content: '';
      position: absolute;
      top: -50%;
      left: -50%;
      width: 200%;
      height: 200%;
      background: radial-gradient(circle, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.1) 30%, transparent 70%);
      transform: translate(-50%, -50%) scale(0);
      transition: transform 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      z-index: 2;
      pointer-events: none;
      border-radius: 50%; }
    .block.form-block .gform_wrapper .gform_page_footer .button > *,
    .block.form-block .gform_wrapper .gform_page_footer input[type="submit"] > *,
    .block.form-block .gform_wrapper .gform_page_footer button[type="submit"] > *,
    .block.form-block .gform_wrapper .gform_footer .button > *,
    .block.form-block .gform_wrapper .gform_footer input[type="submit"] > *,
    .block.form-block .gform_wrapper .gform_footer button[type="submit"] > *,
    .popup-content .popup-form .gform_wrapper .gform_page_footer .button > *,
    .popup-content .popup-form .gform_wrapper .gform_page_footer input[type="submit"] > *,
    .popup-content .popup-form .gform_wrapper .gform_page_footer button[type="submit"] > *,
    .popup-content .popup-form .gform_wrapper .gform_footer .button > *,
    .popup-content .popup-form .gform_wrapper .gform_footer input[type="submit"] > *,
    .popup-content .popup-form .gform_wrapper .gform_footer button[type="submit"] > * {
      position: relative;
      z-index: 3; }
    .block.form-block .gform_wrapper .gform_page_footer .button:hover, .block.form-block .gform_wrapper .gform_page_footer .button:focus,
    .block.form-block .gform_wrapper .gform_page_footer input[type="submit"]:hover,
    .block.form-block .gform_wrapper .gform_page_footer input[type="submit"]:focus,
    .block.form-block .gform_wrapper .gform_page_footer button[type="submit"]:hover,
    .block.form-block .gform_wrapper .gform_page_footer button[type="submit"]:focus,
    .block.form-block .gform_wrapper .gform_footer .button:hover,
    .block.form-block .gform_wrapper .gform_footer .button:focus,
    .block.form-block .gform_wrapper .gform_footer input[type="submit"]:hover,
    .block.form-block .gform_wrapper .gform_footer input[type="submit"]:focus,
    .block.form-block .gform_wrapper .gform_footer button[type="submit"]:hover,
    .block.form-block .gform_wrapper .gform_footer button[type="submit"]:focus,
    .popup-content .popup-form .gform_wrapper .gform_page_footer .button:hover,
    .popup-content .popup-form .gform_wrapper .gform_page_footer .button:focus,
    .popup-content .popup-form .gform_wrapper .gform_page_footer input[type="submit"]:hover,
    .popup-content .popup-form .gform_wrapper .gform_page_footer input[type="submit"]:focus,
    .popup-content .popup-form .gform_wrapper .gform_page_footer button[type="submit"]:hover,
    .popup-content .popup-form .gform_wrapper .gform_page_footer button[type="submit"]:focus,
    .popup-content .popup-form .gform_wrapper .gform_footer .button:hover,
    .popup-content .popup-form .gform_wrapper .gform_footer .button:focus,
    .popup-content .popup-form .gform_wrapper .gform_footer input[type="submit"]:hover,
    .popup-content .popup-form .gform_wrapper .gform_footer input[type="submit"]:focus,
    .popup-content .popup-form .gform_wrapper .gform_footer button[type="submit"]:hover,
    .popup-content .popup-form .gform_wrapper .gform_footer button[type="submit"]:focus {
      outline: none;
      transform: translateY(-3px);
      box-shadow: 0 10px 25px rgba(72, 53, 132, 0.6), 0 5px 10px rgba(31, 26, 70, 0.4); }
      .block.form-block .gform_wrapper .gform_page_footer .button:hover::before, .block.form-block .gform_wrapper .gform_page_footer .button:focus::before,
      .block.form-block .gform_wrapper .gform_page_footer input[type="submit"]:hover::before,
      .block.form-block .gform_wrapper .gform_page_footer input[type="submit"]:focus::before,
      .block.form-block .gform_wrapper .gform_page_footer button[type="submit"]:hover::before,
      .block.form-block .gform_wrapper .gform_page_footer button[type="submit"]:focus::before,
      .block.form-block .gform_wrapper .gform_footer .button:hover::before,
      .block.form-block .gform_wrapper .gform_footer .button:focus::before,
      .block.form-block .gform_wrapper .gform_footer input[type="submit"]:hover::before,
      .block.form-block .gform_wrapper .gform_footer input[type="submit"]:focus::before,
      .block.form-block .gform_wrapper .gform_footer button[type="submit"]:hover::before,
      .block.form-block .gform_wrapper .gform_footer button[type="submit"]:focus::before,
      .popup-content .popup-form .gform_wrapper .gform_page_footer .button:hover::before,
      .popup-content .popup-form .gform_wrapper .gform_page_footer .button:focus::before,
      .popup-content .popup-form .gform_wrapper .gform_page_footer input[type="submit"]:hover::before,
      .popup-content .popup-form .gform_wrapper .gform_page_footer input[type="submit"]:focus::before,
      .popup-content .popup-form .gform_wrapper .gform_page_footer button[type="submit"]:hover::before,
      .popup-content .popup-form .gform_wrapper .gform_page_footer button[type="submit"]:focus::before,
      .popup-content .popup-form .gform_wrapper .gform_footer .button:hover::before,
      .popup-content .popup-form .gform_wrapper .gform_footer .button:focus::before,
      .popup-content .popup-form .gform_wrapper .gform_footer input[type="submit"]:hover::before,
      .popup-content .popup-form .gform_wrapper .gform_footer input[type="submit"]:focus::before,
      .popup-content .popup-form .gform_wrapper .gform_footer button[type="submit"]:hover::before,
      .popup-content .popup-form .gform_wrapper .gform_footer button[type="submit"]:focus::before {
        animation-duration: 2s;
        opacity: 0.5; }
      .block.form-block .gform_wrapper .gform_page_footer .button:hover::after, .block.form-block .gform_wrapper .gform_page_footer .button:focus::after,
      .block.form-block .gform_wrapper .gform_page_footer input[type="submit"]:hover::after,
      .block.form-block .gform_wrapper .gform_page_footer input[type="submit"]:focus::after,
      .block.form-block .gform_wrapper .gform_page_footer button[type="submit"]:hover::after,
      .block.form-block .gform_wrapper .gform_page_footer button[type="submit"]:focus::after,
      .block.form-block .gform_wrapper .gform_footer .button:hover::after,
      .block.form-block .gform_wrapper .gform_footer .button:focus::after,
      .block.form-block .gform_wrapper .gform_footer input[type="submit"]:hover::after,
      .block.form-block .gform_wrapper .gform_footer input[type="submit"]:focus::after,
      .block.form-block .gform_wrapper .gform_footer button[type="submit"]:hover::after,
      .block.form-block .gform_wrapper .gform_footer button[type="submit"]:focus::after,
      .popup-content .popup-form .gform_wrapper .gform_page_footer .button:hover::after,
      .popup-content .popup-form .gform_wrapper .gform_page_footer .button:focus::after,
      .popup-content .popup-form .gform_wrapper .gform_page_footer input[type="submit"]:hover::after,
      .popup-content .popup-form .gform_wrapper .gform_page_footer input[type="submit"]:focus::after,
      .popup-content .popup-form .gform_wrapper .gform_page_footer button[type="submit"]:hover::after,
      .popup-content .popup-form .gform_wrapper .gform_page_footer button[type="submit"]:focus::after,
      .popup-content .popup-form .gform_wrapper .gform_footer .button:hover::after,
      .popup-content .popup-form .gform_wrapper .gform_footer .button:focus::after,
      .popup-content .popup-form .gform_wrapper .gform_footer input[type="submit"]:hover::after,
      .popup-content .popup-form .gform_wrapper .gform_footer input[type="submit"]:focus::after,
      .popup-content .popup-form .gform_wrapper .gform_footer button[type="submit"]:hover::after,
      .popup-content .popup-form .gform_wrapper .gform_footer button[type="submit"]:focus::after {
        transform: translate(-50%, -50%) scale(1.2); }
    .block.form-block .gform_wrapper .gform_page_footer .button:active,
    .block.form-block .gform_wrapper .gform_page_footer input[type="submit"]:active,
    .block.form-block .gform_wrapper .gform_page_footer button[type="submit"]:active,
    .block.form-block .gform_wrapper .gform_footer .button:active,
    .block.form-block .gform_wrapper .gform_footer input[type="submit"]:active,
    .block.form-block .gform_wrapper .gform_footer button[type="submit"]:active,
    .popup-content .popup-form .gform_wrapper .gform_page_footer .button:active,
    .popup-content .popup-form .gform_wrapper .gform_page_footer input[type="submit"]:active,
    .popup-content .popup-form .gform_wrapper .gform_page_footer button[type="submit"]:active,
    .popup-content .popup-form .gform_wrapper .gform_footer .button:active,
    .popup-content .popup-form .gform_wrapper .gform_footer input[type="submit"]:active,
    .popup-content .popup-form .gform_wrapper .gform_footer button[type="submit"]:active {
      transform: translateY(-1px);
      box-shadow: 0 5px 15px rgba(72, 53, 132, 0.5), 0 3px 6px rgba(31, 26, 70, 0.3); }
      .block.form-block .gform_wrapper .gform_page_footer .button:active::before,
      .block.form-block .gform_wrapper .gform_page_footer input[type="submit"]:active::before,
      .block.form-block .gform_wrapper .gform_page_footer button[type="submit"]:active::before,
      .block.form-block .gform_wrapper .gform_footer .button:active::before,
      .block.form-block .gform_wrapper .gform_footer input[type="submit"]:active::before,
      .block.form-block .gform_wrapper .gform_footer button[type="submit"]:active::before,
      .popup-content .popup-form .gform_wrapper .gform_page_footer .button:active::before,
      .popup-content .popup-form .gform_wrapper .gform_page_footer input[type="submit"]:active::before,
      .popup-content .popup-form .gform_wrapper .gform_page_footer button[type="submit"]:active::before,
      .popup-content .popup-form .gform_wrapper .gform_footer .button:active::before,
      .popup-content .popup-form .gform_wrapper .gform_footer input[type="submit"]:active::before,
      .popup-content .popup-form .gform_wrapper .gform_footer button[type="submit"]:active::before {
        animation-duration: 1s; }

.block.form-block .gform_wrapper .gform_fields,
.popup-content .popup-form .gform_wrapper .gform_fields {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: column wrap;
      flex-flow: column wrap;
  gap: 24px; }
  .block.form-block .gform_wrapper .gform_fields .gfield,
  .popup-content .popup-form .gform_wrapper .gform_fields .gfield {
    -ms-flex: 0 1 100%;
        flex: 0 1 100%;
    margin-bottom: 0; }

.block.form-block .gform_wrapper input[type="checkbox"],
.popup-content .popup-form .gform_wrapper input[type="checkbox"] {
  padding: 2px;
  border-radius: 3px;
  height: 22px; }

.block.form-block .gform_wrapper label,
.popup-content .popup-form .gform_wrapper label {
  font-weight: 500;
  margin-bottom: 8px;
  margin-left: 0;
  display: block;
  color: #1F1A46;
  font-size: 16px;
  font-size: 1rem; }
  .block.form-block .gform_wrapper label.gfield_consent_label,
  .popup-content .popup-form .gform_wrapper label.gfield_consent_label {
    margin-left: 10px; }

.block.form-block .gform_wrapper input, .block.form-block .gform_wrapper textarea, .block.form-block .gform_wrapper select,
.popup-content .popup-form .gform_wrapper input,
.popup-content .popup-form .gform_wrapper textarea,
.popup-content .popup-form .gform_wrapper select {
  width: 100%;
  padding: 6px 12px;
  margin-bottom: 0;
  border: 1px solid rgba(31, 26, 70, 0.2);
  border-radius: 10px;
  font-size: 1rem;
  background-color: #fff;
  color: #000;
  transition: all 0.3s ease;
  font-family: "komet", sans-serif;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5; }
  .block.form-block .gform_wrapper input:focus, .block.form-block .gform_wrapper textarea:focus, .block.form-block .gform_wrapper select:focus,
  .popup-content .popup-form .gform_wrapper input:focus,
  .popup-content .popup-form .gform_wrapper textarea:focus,
  .popup-content .popup-form .gform_wrapper select:focus {
    border-color: #68569E;
    box-shadow: 0 0 0 3px rgba(104, 86, 158, 0.1);
    outline: none; }
  .block.form-block .gform_wrapper input:-ms-input-placeholder, .block.form-block .gform_wrapper textarea:-ms-input-placeholder, .block.form-block .gform_wrapper select:-ms-input-placeholder,
  .popup-content .popup-form .gform_wrapper input:-ms-input-placeholder,
  .popup-content .popup-form .gform_wrapper textarea:-ms-input-placeholder,
  .popup-content .popup-form .gform_wrapper select:-ms-input-placeholder {
    color: rgba(0, 0, 0, 0.5); }
  .block.form-block .gform_wrapper input::placeholder, .block.form-block .gform_wrapper textarea::placeholder, .block.form-block .gform_wrapper select::placeholder,
  .popup-content .popup-form .gform_wrapper input::placeholder,
  .popup-content .popup-form .gform_wrapper textarea::placeholder,
  .popup-content .popup-form .gform_wrapper select::placeholder {
    color: rgba(0, 0, 0, 0.5); }

.block.form-block .gform_wrapper textarea,
.popup-content .popup-form .gform_wrapper textarea {
  min-height: 120px;
  resize: vertical; }

.block.form-block .gform_wrapper .ginput_container_image_choice .gfield_radio,
.popup-content .popup-form .gform_wrapper .ginput_container_image_choice .gfield_radio {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  gap: 10px; }
  .block.form-block .gform_wrapper .ginput_container_image_choice .gfield_radio .gchoice,
  .popup-content .popup-form .gform_wrapper .ginput_container_image_choice .gfield_radio .gchoice {
    -ms-flex: 1;
        flex: 1; }

.block.form-block .gform_wrapper .gfield_radio, .block.form-block .gform_wrapper .gfield_checkbox,
.popup-content .popup-form .gform_wrapper .gfield_radio,
.popup-content .popup-form .gform_wrapper .gfield_checkbox {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  gap: 16px; }
  .block.form-block .gform_wrapper .gfield_radio label, .block.form-block .gform_wrapper .gfield_checkbox label,
  .popup-content .popup-form .gform_wrapper .gfield_radio label,
  .popup-content .popup-form .gform_wrapper .gfield_checkbox label {
    font-weight: 300;
    cursor: pointer;
    color: #000;
    font-size: 16px;
    font-size: 1rem;
    padding-left: 40px;
    padding-top: 2px;
    position: relative;
    line-height: 1.5;
    min-height: 24px;
    margin: 0; }
    .block.form-block .gform_wrapper .gfield_radio label:before, .block.form-block .gform_wrapper .gfield_checkbox label:before,
    .popup-content .popup-form .gform_wrapper .gfield_radio label:before,
    .popup-content .popup-form .gform_wrapper .gfield_checkbox label:before {
      content: "";
      position: absolute;
      left: 0;
      top: 2px;
      width: 22px;
      height: 22px;
      border: 2px solid rgba(31, 26, 70, 0.3);
      transition: all 0.3s ease;
      background: #fff; }

.block.form-block .gform_wrapper .gfield_radio input[type="radio"],
.popup-content .popup-form .gform_wrapper .gfield_radio input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none; }

.block.form-block .gform_wrapper .gfield_radio label:before,
.popup-content .popup-form .gform_wrapper .gfield_radio label:before {
  border-radius: 50%; }

.block.form-block .gform_wrapper .gfield_radio input[type="radio"]:checked + label:before,
.popup-content .popup-form .gform_wrapper .gfield_radio input[type="radio"]:checked + label:before {
  border-color: #68569E;
  background: #68569E; }

.block.form-block .gform_wrapper .gfield_radio input[type="radio"]:checked + label:after,
.popup-content .popup-form .gform_wrapper .gfield_radio input[type="radio"]:checked + label:after {
  content: "";
  position: absolute;
  left: 6px;
  top: 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff; }

.block.form-block .gform_wrapper .gfield_checkbox input[type="checkbox"],
.popup-content .popup-form .gform_wrapper .gfield_checkbox input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none; }

.block.form-block .gform_wrapper .gfield_checkbox label:before,
.popup-content .popup-form .gform_wrapper .gfield_checkbox label:before {
  border-radius: 4px; }

.block.form-block .gform_wrapper .gfield_checkbox input[type="checkbox"]:checked + label:before,
.popup-content .popup-form .gform_wrapper .gfield_checkbox input[type="checkbox"]:checked + label:before {
  border-color: #68569E;
  background: #68569E; }

.block.form-block .gform_wrapper .gfield_checkbox input[type="checkbox"]:checked + label:after,
.popup-content .popup-form .gform_wrapper .gfield_checkbox input[type="checkbox"]:checked + label:after {
  content: "\f00c";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  left: 5px;
  top: 3px;
  color: #fff;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1; }

.block.form-block .gform_wrapper .ginput_container_consent .gfield_checkbox,
.popup-content .popup-form .gform_wrapper .ginput_container_consent .gfield_checkbox {
  gap: 12px; }
  .block.form-block .gform_wrapper .ginput_container_consent .gfield_checkbox label,
  .popup-content .popup-form .gform_wrapper .ginput_container_consent .gfield_checkbox label {
    padding-left: 40px;
    padding-top: 4px;
    font-weight: 300;
    color: #000;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.6; }

.block.form-block .gform_wrapper .ginput_container_select,
.popup-content .popup-form .gform_wrapper .ginput_container_select {
  position: relative;
  z-index: 2;
  cursor: pointer; }
  .block.form-block .gform_wrapper .ginput_container_select select,
  .popup-content .popup-form .gform_wrapper .ginput_container_select select {
    cursor: pointer;
    appearance: none;
    border-radius: 10px;
    background: #fff;
    width: 100%;
    padding: 6px 50px 6px 12px;
    line-height: 1.5;
    color: #000;
    font-family: "komet", sans-serif;
    font-size: 16px;
    font-size: 1rem; }
    .block.form-block .gform_wrapper .ginput_container_select select:focus,
    .popup-content .popup-form .gform_wrapper .ginput_container_select select:focus {
      outline: none;
      border-color: #68569E;
      box-shadow: 0 0 0 3px rgba(104, 86, 158, 0.1); }
    .block.form-block .gform_wrapper .ginput_container_select select option,
    .popup-content .popup-form .gform_wrapper .ginput_container_select select option {
      color: #000;
      background: #fff;
      padding: 10px; }

.block.form-block .gform_wrapper .ginput_container_multiselect select,
.popup-content .popup-form .gform_wrapper .ginput_container_multiselect select {
  padding: 16px 20px;
  min-height: 120px;
  color: #000; }
  .block.form-block .gform_wrapper .ginput_container_multiselect select option,
  .popup-content .popup-form .gform_wrapper .ginput_container_multiselect select option {
    padding: 10px;
    color: #000;
    background: #fff;
    line-height: 1.6; }

.block.form-block .gform_wrapper .ginput_container_select:after,
.popup-content .popup-form .gform_wrapper .ginput_container_select:after {
  content: "";
  height: calc(100% - 2px);
  width: 44px;
  pointer-events: none;
  display: block;
  position: absolute;
  background: linear-gradient(180deg, #68569e 0%, #483584 50%, #1f1a46 100%);
  bottom: 1px;
  right: 1px;
  border-radius: 0 10px 10px 0;
  transition: all 0.3s ease; }

.block.form-block .gform_wrapper .ginput_container_select:before,
.popup-content .popup-form .gform_wrapper .ginput_container_select:before {
  content: "\f078";
  position: absolute;
  right: 0;
  width: 44px;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
  text-align: center;
  font-weight: 900;
  font-family: "Font Awesome 5 free";
  font-size: 16px;
  font-size: 1rem;
  pointer-events: none;
  z-index: 3; }

.block.form-block .gform_wrapper .ginput_container_select:hover:after,
.popup-content .popup-form .gform_wrapper .ginput_container_select:hover:after {
  background: linear-gradient(180deg, #483584 0%, #1f1a46 50%, #1f1a46 100%); }

button, .button {
  background: linear-gradient(180deg, #68569e 0%, #483584 50%, #1f1a46 100%);
  padding: 15px 22px;
  display: inline-block;
  border-radius: 30px;
  font-style: italic;
  position: relative;
  transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  color: #fff;
  text-decoration: none;
  font-size: 16px;
  font-size: 1rem;
  overflow: hidden;
  font-weight: 400;
  border: none;
  padding: 15px 30px;
  font-style: italic;
  cursor: pointer; }
  button::before, .button::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(104, 86, 158, 0.9) 0%, rgba(72, 53, 132, 0.95) 50%, #1f1a46 100%);
    opacity: 0.3;
    z-index: 1;
    animation: pulse-gradient-smooth 4s ease-in-out infinite;
    border-radius: 30px; }
  button::after, .button::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.1) 30%, transparent 70%);
    transform: translate(-50%, -50%) scale(0);
    transition: transform 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 2;
    pointer-events: none;
    border-radius: 50%; }
  button > *, .button > * {
    position: relative;
    z-index: 3; }
  button:hover, button:focus, .button:hover, .button:focus {
    outline: none;
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(72, 53, 132, 0.6), 0 5px 10px rgba(31, 26, 70, 0.4); }
    button:hover::before, button:focus::before, .button:hover::before, .button:focus::before {
      animation-duration: 2s;
      opacity: 0.5; }
    button:hover::after, button:focus::after, .button:hover::after, .button:focus::after {
      transform: translate(-50%, -50%) scale(1.2); }
  button:active, .button:active {
    transform: translateY(-1px);
    box-shadow: 0 5px 15px rgba(72, 53, 132, 0.5), 0 3px 6px rgba(31, 26, 70, 0.3); }
    button:active::before, .button:active::before {
      animation-duration: 1s; }
  button:focus, .button:focus {
    outline: none; }

.ginput_complex {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 15px; }
  .ginput_complex input, .ginput_complex select {
    margin: 0; }
  .ginput_complex select {
    line-height: 160%;
    padding: 4px 10px; }
  .ginput_complex .ginput_full {
    -ms-flex: 0 1 100%;
        flex: 0 1 100%; }
  .ginput_complex .ginput_left {
    -ms-flex: 0 1 calc(50% - 12px);
        flex: 0 1 calc(50% - 12px); }
  .ginput_complex .ginput_right {
    -ms-flex: 0 1 calc(50% - 12px);
        flex: 0 1 calc(50% - 12px); }

.ginput_container_fileupload {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  gap: 12px;
  padding: 16px 20px;
  border: 1px solid rgba(31, 26, 70, 0.2);
  border-radius: 10px;
  background: #fff;
  transition: all 0.3s ease; }
  .ginput_container_fileupload:hover {
    border-color: rgba(104, 86, 158, 0.5); }
  .ginput_container_fileupload input[type="file"] {
    display: block;
    width: auto;
    padding: 12px 24px;
    font-size: 1rem;
    cursor: pointer;
    background: rgba(104, 86, 158, 0.1);
    border: 2px dashed rgba(104, 86, 158, 0.3);
    border-radius: 10px;
    text-align: center;
    transition: all 0.3s ease;
    box-shadow: none;
    color: #1F1A46;
    margin-bottom: 0;
    font-weight: 500; }
    .ginput_container_fileupload input[type="file"]:hover {
      background: rgba(104, 86, 158, 0.15);
      border-color: rgba(104, 86, 158, 0.5); }
  .ginput_container_fileupload:before {
    display: none; }
  .ginput_container_fileupload .file-name {
    font-size: 14px;
    font-size: 0.875rem;
    margin-top: 8px;
    color: rgba(0, 0, 0, 0.7);
    font-style: italic; }

.ginput_container_date input {
  width: calc(100% - 20px);
  padding-right: 20px; }

.ginput_container_multiselect select {
  height: auto; }

.gfield_description {
  margin-top: 6px;
  color: rgba(0, 0, 0, 0.6);
  font-size: 14px;
  font-size: 0.875rem;
  font-style: italic; }

.validation_message,
.error-message {
  color: #ae2d30;
  font-size: 14px;
  font-size: 0.875rem;
  margin-top: 6px;
  margin-bottom: 0;
  font-weight: 300; }

.gfield_error input, .gfield_error textarea, .gfield_error select {
  border-color: #ae2d30; }
  .gfield_error input:focus, .gfield_error textarea:focus, .gfield_error select:focus {
    border-color: #ae2d30;
    box-shadow: 0 0 0 3px rgba(174, 45, 48, 0.1); }

.success-message {
  color: #40A536;
  font-size: 16px;
  font-size: 1rem;
  margin-top: 20px;
  padding: 15px;
  background: rgba(64, 165, 54, 0.1);
  border-radius: 10px;
  border-left: 4px solid #40A536; }

@media (max-width: 768px) {
  .block.form-block .gform_wrapper {
    padding: 30px; }
  .block.form-block .gform_wrapper input, .block.form-block .gform_wrapper textarea, .block.form-block .gform_wrapper select,
  .popup-content .popup-form .gform_wrapper input,
  .popup-content .popup-form .gform_wrapper textarea,
  .popup-content .popup-form .gform_wrapper select {
    padding: 12px 16px;
    font-size: 16px;
    font-size: 1rem; }
  .block.form-block .gform_wrapper button, .block.form-block .gform_wrapper .button,
  .block.form-block .gform_wrapper input[type="submit"],
  .block.form-block .gform_wrapper button[type="submit"],
  .popup-content .popup-form .gform_wrapper button,
  .popup-content .popup-form .gform_wrapper .button,
  .popup-content .popup-form .gform_wrapper input[type="submit"],
  .popup-content .popup-form .gform_wrapper button[type="submit"] {
    padding: 12px 24px;
    width: 100%;
    text-align: center; }
  .block.form-block .gform_wrapper .gform_page_footer .button,
  .block.form-block .gform_wrapper .gform_page_footer input[type="submit"],
  .block.form-block .gform_wrapper .gform_page_footer button[type="submit"],
  .block.form-block .gform_wrapper .gform_footer .button,
  .block.form-block .gform_wrapper .gform_footer input[type="submit"],
  .block.form-block .gform_wrapper .gform_footer button[type="submit"],
  .popup-content .popup-form .gform_wrapper .gform_page_footer .button,
  .popup-content .popup-form .gform_wrapper .gform_page_footer input[type="submit"],
  .popup-content .popup-form .gform_wrapper .gform_page_footer button[type="submit"],
  .popup-content .popup-form .gform_wrapper .gform_footer .button,
  .popup-content .popup-form .gform_wrapper .gform_footer input[type="submit"],
  .popup-content .popup-form .gform_wrapper .gform_footer button[type="submit"] {
    width: auto;
    min-width: 120px; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2UvX3ZhcmlhYmxlcy5zY3NzIiwiYmFzZS9fbWl4aW5zLnNjc3MiLCJmb3JtLWJsb2NrLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUNMSDs7Ozs7O0dBTUc7QUFnQkgseUJBQXlCO0FBT3pCLHlCQUF5QjtBQStCekIsMkJBQTJCO0FBZ0IzQixvQkFBb0I7QUFhcEIsdUJBQXVCO0FBdUV2QixxQkFBcUI7QUFvSHJCO0VBQ0M7SUFDQyxhQUFZO0lBQ1osb0JBQW1CO0lBQ25CLHNCQUFxQixFQUFBO0VBRXRCO0lBQ0MsYUFBWTtJQUNaLHVCQUFzQjtJQUN0Qix5QkFBd0IsRUFBQSxFQUFBOztBQ3pSMUI7RUFDSSxvQkZPVTtFRU5WLG9CRmdCZ0I7RUVmaEIsY0FBYSxFQUNoQjs7QUFHRDtFQUNJLHdCQUF1QjtFQUN2QixpQkFBZ0I7RUFDaEIsV0FBVSxFQUNiOztBQUdEOztFQUdHLGlCRlljO0VFWEwsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixlRlRZO0VDNkp2QixnQkNuSmtDO0VEb0psQyxnQkFWdUIsRUN6SXJCOztBQVJIOztFQVdZLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDJCQUFzQjtNQUF0Qix1QkFBc0I7RUFDdEIsVUFBUyxFQUNaOztBQWRUOzs7O0VBbUJHLHFCQUFhO0VBQWIsY0FBYTtFQUNiLHdCQUFtQjtNQUFuQixvQkFBbUI7RUFDbkIsbUJBQXlCO01BQXpCLDBCQUF5QjtFQUN6QixpQkFBZ0I7RUFDaEIsa0JBQWlCO0VBQ2pCLDRDRjNCcUIsRUV5Q3JCO0VBdENIOzs7Ozs7Ozs7Ozs7SURnS0MsMkVBS0M7SUFDRCxtQkFBa0I7SUFDbEIsc0JBQXFCO0lBQ3JCLG9CQUFtQjtJQUNuQixtQkFBa0I7SUFDbEIsbUJBQWtCO0lBQ2xCLDBEQUF5RDtJQUN6RCxZRHBMVztJQ3FMWCxzQkFBcUI7SUFuQnJCLGdCQW9CdUI7SUFuQnZCLGdCQVZ1QjtJQThCdkIsaUJBQWdCO0lBQ2hCLGlCRGxLa0I7SUVnQmYsYUFBWTtJQUNaLDhCQUE2QjtJQUM3QixtQkFBa0I7SUFDbEIsaUJBQWdCO0lBQ2hCLG1CQUFrQjtJQUNOLCtCQUE4QjtJQUM5Qiw0QkFBMkIsRUFDdkM7SUFyQ0o7Ozs7Ozs7Ozs7OztNRG9MRSxZQUFXO01BQ1gsbUJBQWtCO01BQ2xCLE9BQU07TUFDTixRQUFPO01BQ1AsWUFBVztNQUNYLGFBQVk7TUFDWiwyR0FLQztNQUNELGFBQVk7TUFDWixXQUFVO01BQ1YseURBQXdEO01BQ3hELG9CQUFtQixFQUNuQjtJQ3BNRjs7Ozs7Ozs7Ozs7O01Ed01FLFlBQVc7TUFDWCxtQkFBa0I7TUFDbEIsVUFBUztNQUNULFdBQVU7TUFDVixZQUFXO01BQ1gsYUFBWTtNQUNaLGdIQUtDO01BQ0QsMENBQXlDO01BQ3pDLDhEQUE2RDtNQUM3RCxXQUFVO01BQ1YscUJBQW9CO01BQ3BCLG1CQUFrQixFQUNsQjtJQ3pORjs7Ozs7Ozs7Ozs7O01ENk5FLG1CQUFrQjtNQUNsQixXQUFVLEVBQ1Y7SUMvTkY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01EbU9FLGNBQWE7TUFDYiw0QkFBMkI7TUFDM0IsaUZBRWlDLEVBWWpDO01DblBGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztRRDJPRyx1QkFBc0I7UUFDdEIsYUFBWSxFQUNaO01DN09IOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztRRGlQRyw0Q0FBMkMsRUFDM0M7SUNsUEg7Ozs7Ozs7Ozs7OztNRHNQRSw0QkFBMkI7TUFDM0IsK0VBRWdDLEVBS2hDO01DOVBGOzs7Ozs7Ozs7Ozs7UUQ0UEcsdUJBQXNCLEVBQ3RCOztBQzdQSDs7RUF5Q1kscUJBQWE7RUFBYixjQUFhO0VBQ2IsMkJBQXNCO01BQXRCLHVCQUFzQjtFQUN0QixVQUFTLEVBS1o7RUFoRFQ7O0lBNkNnQixtQkFBYztRQUFkLGVBQWM7SUFDZCxpQkFBZ0IsRUFDbkI7O0FBL0NiOztFQW1EWSxhQUFZO0VBQ1osbUJBQWtCO0VBQ2xCLGFBQVksRUFDZjs7QUF0RFQ7O0VBeURZLGlCRjFDSztFRTJDTCxtQkFBa0I7RUFDbEIsZUFBYztFQUNkLGVBQWM7RUFDZCxlRmhFWTtFQzZKdkIsZ0JDNUZrQztFRDZGbEMsZ0JBVnVCLEVDL0VmO0VBbEVUOztJQWdFZ0Isa0JBQWlCLEVBQ3BCOztBQWpFYjs7OztFQXFFWSxZQUFXO0VBQ1gsa0JBQWlCO0VBQ2pCLGlCQUFnQjtFQUNoQix3Q0YzRVk7RUU0RVosb0JGckVRO0VFc0VSLGdCQUFlO0VBQ2YsdUJGbkZBO0VFb0ZBLFlGbkZBO0VFb0ZBLDBCQUF5QjtFQUN6QixpQ0Z6Rm9CO0VDcUsvQixnQkMzRWtDO0VENEVsQyxnQkFWdUI7RUNqRVosaUJBQWdCLEVBV25CO0VBM0ZUOzs7O0lBbUZnQixzQkZ4RkE7SUV5RkEsOENGekZBO0lFMEZBLGNBQWEsRUFDaEI7RUF0RmI7Ozs7SUF5RmdCLDBCRmhHSixFRWlHQztFQTFGYjs7OztJQXlGZ0IsMEJGaEdKLEVFaUdDOztBQTFGYjs7RUE4Rlksa0JBQWlCO0VBQ2pCLGlCQUFnQixFQUNuQjs7QUFoR1Q7O0VBbUdZLHFCQUFhO0VBQWIsY0FBYTtFQUNiLHdCQUFtQjtNQUFuQixvQkFBbUI7RUFDbkIsVUFBUyxFQUlaO0VBekdUOztJQXVHZ0IsWUFBTztRQUFQLFFBQU8sRUFDVjs7QUF4R2I7OztFQTRHWSxxQkFBYTtFQUFiLGNBQWE7RUFDYiwyQkFBc0I7TUFBdEIsdUJBQXNCO0VBQ3RCLFVBQVMsRUF5Qlo7RUF2SVQ7OztJQWlIZ0IsaUJGcEdJO0lFcUdKLGdCQUFlO0lBQ2YsWUYxSEo7SUNpS1gsZ0JDdENzQztJRHVDdEMsZ0JBVnVCO0lDNUJSLG1CQUFrQjtJQUNsQixpQkFBZ0I7SUFDaEIsbUJBQWtCO0lBQ2xCLGlCQUFnQjtJQUNoQixpQkFBZ0I7SUFDaEIsVUFBUyxFQVlaO0lBdEliOzs7TUE0SG9CLFlBQVc7TUFDWCxtQkFBa0I7TUFDbEIsUUFBTztNQUNQLFNBQVE7TUFDUixZQUFXO01BQ1gsYUFBWTtNQUNaLHdDRnJJSTtNRXNJSiwwQkFBeUI7TUFDekIsaUJGNUlSLEVFNklLOztBQXJJakI7O0VBMklnQixtQkFBa0I7RUFDbEIsV0FBVTtFQUNWLHFCQUFvQixFQUN2Qjs7QUE5SWI7O0VBaUpnQixtQkFBa0IsRUFDckI7O0FBbEpiOztFQXFKZ0Isc0JGMUpBO0VFMkpBLG9CRjNKQSxFRTRKSDs7QUF2SmI7O0VBMEpnQixZQUFXO0VBQ1gsbUJBQWtCO0VBQ2xCLFVBQVM7RUFDVCxTQUFRO0VBQ1IsV0FBVTtFQUNWLFlBQVc7RUFDWCxtQkFBa0I7RUFDbEIsaUJGektKLEVFMEtDOztBQWxLYjs7RUF1S2dCLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YscUJBQW9CLEVBQ3ZCOztBQTFLYjs7RUE2S2dCLG1CQUFrQixFQUNyQjs7QUE5S2I7O0VBaUxnQixzQkZ0TEE7RUV1TEEsb0JGdkxBLEVFd0xIOztBQW5MYjs7RUFzTGdCLGlCQUFnQjtFQUNoQixtQ0FBa0M7RUFDbEMsaUJBQWdCO0VBQ2hCLG1CQUFrQjtFQUNsQixVQUFTO0VBQ1QsU0FBUTtFQUNSLFlGcE1KO0VDa0tYLGdCQ21Dc0M7RURsQ3RDLG9CQVZ1QjtFQzZDUixlQUFjLEVBQ2pCOztBQS9MYjs7RUFxTWdCLFVBQVMsRUFVWjtFQS9NYjs7SUF3TW9CLG1CQUFrQjtJQUNsQixpQkFBZ0I7SUFDaEIsaUJGN0xBO0lFOExBLFlGbE5SO0lDaUtYLGdCQ2tEMEM7SURqRDFDLGdCQVZ1QjtJQzRESixpQkFBZ0IsRUFDbkI7O0FBOU1qQjs7RUFtTlksbUJBQWtCO0VBQ2xCLFdBQVU7RUFDVixnQkFBZSxFQTBCbEI7RUEvT1Q7O0lBd05nQixnQkFBZTtJQUNmLGlCQUFnQjtJQUNoQixvQkZ0Tkk7SUV1TkosaUJGbk9KO0lFb09JLFlBQVc7SUFDWCwyQkFBMEI7SUFDMUIsaUJBQWdCO0lBQ2hCLFlGdE9KO0lFdU9JLGlDRjNPZ0I7SUNxSy9CLGdCQ3VFc0M7SUR0RXRDLGdCQVZ1QixFQzZGWDtJQTlPYjs7TUFvT29CLGNBQWE7TUFDYixzQkYxT0o7TUUyT0ksOENGM09KLEVFNE9DO0lBdk9qQjs7TUEwT29CLFlGalBSO01Fa1BRLGlCRm5QUjtNRW9QUSxjQUFhLEVBQ2hCOztBQTdPakI7O0VBb1BnQixtQkFBa0I7RUFDbEIsa0JBQWlCO0VBQ2pCLFlGN1BKLEVFcVFDO0VBOVBiOztJQXlQb0IsY0FBYTtJQUNiLFlGalFSO0lFa1FRLGlCRm5RUjtJRW9RUSxpQkFBZ0IsRUFDbkI7O0FBN1BqQjs7RUFrUWdCLFlBQVc7RUFDWCx5QkFBd0I7RUFDeEIsWUFBVztFQUNYLHFCQUFvQjtFQUNwQixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLDJFQUtDO0VBQ0QsWUFBVztFQUNYLFdBQVU7RUFDViw2QkFBZ0Q7RUFDaEQsMEJBQXlCLEVBQzVCOztBQWxSYjs7RUFxUmdCLGlCQUFnQjtFQUNoQixtQkFBa0I7RUFDbEIsU0FBUTtFQUNSLFlBQVc7RUFDWCxTQUFRO0VBQ1IsNEJBQTJCO0VBQzNCLFlGblNKO0VFb1NJLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFDaEIsbUNBQWtDO0VEcElqRCxnQkNxSXNDO0VEcEl0QyxnQkFWdUI7RUMrSVIscUJBQW9CO0VBQ3BCLFdBQVUsRUFDYjs7QUFsU2I7O0VBc1NvQiwyRUFLQyxFQUNKOztBQUtUO0VEakpQLDJFQUtDO0VBQ0QsbUJBQWtCO0VBQ2xCLHNCQUFxQjtFQUNyQixvQkFBbUI7RUFDbkIsbUJBQWtCO0VBQ2xCLG1CQUFrQjtFQUNsQiwwREFBeUQ7RUFDekQsWURwTFc7RUNxTFgsc0JBQXFCO0VBbkJyQixnQkFvQnVCO0VBbkJ2QixnQkFWdUI7RUE4QnZCLGlCQUFnQjtFQUNoQixpQkRsS2tCO0VFcVNQLGFBQVk7RUFDWixtQkFBa0I7RUFDbEIsbUJBQWtCO0VBQ2xCLGdCQUFlLEVBS2xCO0VBVkQ7SUQ3SE4sWUFBVztJQUNYLG1CQUFrQjtJQUNsQixPQUFNO0lBQ04sUUFBTztJQUNQLFlBQVc7SUFDWCxhQUFZO0lBQ1osMkdBS0M7SUFDRCxhQUFZO0lBQ1osV0FBVTtJQUNWLHlEQUF3RDtJQUN4RCxvQkFBbUIsRUFDbkI7RUM2R007SUR6R04sWUFBVztJQUNYLG1CQUFrQjtJQUNsQixVQUFTO0lBQ1QsV0FBVTtJQUNWLFlBQVc7SUFDWCxhQUFZO0lBQ1osZ0hBS0M7SUFDRCwwQ0FBeUM7SUFDekMsOERBQTZEO0lBQzdELFdBQVU7SUFDVixxQkFBb0I7SUFDcEIsbUJBQWtCLEVBQ2xCO0VDd0ZNO0lEcEZOLG1CQUFrQjtJQUNsQixXQUFVLEVBQ1Y7RUNrRk07SUQ5RU4sY0FBYTtJQUNiLDRCQUEyQjtJQUMzQixpRkFFaUMsRUFZakM7SUM4RE07TUR0RUwsdUJBQXNCO01BQ3RCLGFBQVksRUFDWjtJQ29FSztNRGhFTCw0Q0FBMkMsRUFDM0M7RUMrREs7SUQzRE4sNEJBQTJCO0lBQzNCLCtFQUVnQyxFQUtoQztJQ21ETTtNRHJETCx1QkFBc0IsRUFDdEI7RUNvREs7SUFRUSxjQUFhLEVBQ2hCOztBQUdMO0VBQ0kscUJBQWE7RUFBYixjQUFhO0VBQ2Isb0JBQWU7TUFBZixnQkFBZTtFQUNmLFVBQVMsRUFrQlo7RUFyQkQ7SUFNUSxVQUFTLEVBQ1o7RUFQTDtJQVNRLGtCQUFpQjtJQUNqQixrQkFBaUIsRUFDcEI7RUFYTDtJQWFRLG1CQUFjO1FBQWQsZUFBYyxFQUNqQjtFQWRMO0lBZ0JZLCtCQUEwQjtRQUExQiwyQkFBMEIsRUFDN0I7RUFqQlQ7SUFtQlEsK0JBQTBCO1FBQTFCLDJCQUEwQixFQUM3Qjs7QUFHTDtFQUNJLG1CQUFrQjtFQUNsQixxQkFBYTtFQUFiLGNBQWE7RUFDYiwyQkFBc0I7TUFBdEIsdUJBQXNCO0VBQ3RCLFVBQVM7RUFDVCxtQkFBa0I7RUFDbEIsd0NGN1ZZO0VFOFZaLG9CRnZWUTtFRXdWUixpQkZwV0E7RUVxV0EsMEJBQXlCLEVBc0M1QjtFQS9DRDtJQVlRLHNDRnJXQSxFRXNXSDtFQWJMO0lBZ0JRLGVBQWM7SUFDZCxZQUFXO0lBQ1gsbUJBQWtCO0lBQ2xCLGdCQUFlO0lBQ2YsZ0JBQWU7SUFDZixvQ0Y5V0E7SUUrV0EsMkNGL1dBO0lFZ1hBLG9CRnZXSTtJRXdXSixtQkFBa0I7SUFDbEIsMEJBQXlCO0lBQ3pCLGlCQUFnQjtJQUNoQixlRmxYUTtJRW1YUixpQkFBZ0I7SUFDaEIsaUJGbFdDLEVFd1dKO0lBbkNMO01BZ0NZLHFDRnpYSjtNRTBYSSxzQ0YxWEosRUUyWEM7RUFsQ1Q7SUFzQ1EsY0FBYSxFQUNoQjtFQXZDTDtJRDFMUCxnQkNvT3NDO0lEbk90QyxvQkFWdUI7SUM4T1IsZ0JBQWU7SUFDZiwwQkZ2WUo7SUV3WUksbUJBQWtCLEVBQ3JCOztBQUtMO0VBQ0kseUJBQXdCO0VBQ3hCLG9CQUFtQixFQUN0Qjs7QUFFRDtFQUNJLGFBQVksRUFDZjs7QUFFRDtFQUNJLGdCQUFlO0VBQ2YsMEJGelpBO0VDaUtYLGdCQ3lQa0M7RUR4UGxDLG9CQVZ1QjtFQ21RWixtQkFBa0IsRUFDckI7O0FBRUQ7O0VBRUksZUYvWVE7RUNnSm5CLGdCQ2dRa0M7RUQvUGxDLG9CQVZ1QjtFQzBRWixnQkFBZTtFQUNmLGlCQUFnQjtFQUNoQixpQkZoWlEsRUVpWlg7O0FBRUQ7RUFFUSxzQkZ4WkksRUU4WlA7RUFSTDtJQUtZLHNCRjNaQTtJRTRaQSw2Q0Y1WkEsRUU2Wkg7O0FBSWI7RUFDSSxlRjFhTztFQ3dKZCxnQkNtUjhCO0VEbFI5QixnQkFWdUI7RUM2UmhCLGlCQUFnQjtFQUNoQixjQUFhO0VBQ2IsbUNGOWFPO0VFK2FQLG9CRjdhWTtFRThhWiwrQkZoYk8sRUVpYlY7O0FBSUw7RUFDSTtJQUNJLGNBQWEsRUFDaEI7RUFFRDs7OztJQUdRLG1CQUFrQjtJRHJTN0IsZ0JDc1NrQztJRHJTbEMsZ0JBVnVCLEVDZ1RmO0VBTEw7Ozs7Ozs7SUFVUSxtQkFBa0I7SUFDbEIsWUFBVztJQUNYLG1CQUFrQixFQUNyQjtFQWJMOzs7Ozs7Ozs7Ozs7SUFvQlksWUFBVztJQUNYLGlCQUFnQixFQUNuQixFQUFBIiwiZmlsZSI6ImZvcm0tYmxvY2suY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBWYXJpYWJsZSBmaWxlIFxuICogcGxhY2UgZ2xvYmFsIHZhcmlhYmxlcyBoZXJlOlxuICpcbiAqIEBwYWNrYWdlIENoZWYgR3V0ZW5iZXJnIENoaWxkIFRoZW1lXG4gKi9cblxuJGZvbnQtc3RhY2s6IFwia29tZXRcIiwgc2Fucy1zZXJpZjtcbiRoZWFkLXN0YWNrOiBcImtvbWV0XCIsIHNhbnMtc2VyaWY7XG5cbiR3aGl0ZTogI2ZmZjtcbiRibGFjazogIzAwMDtcbiRncmV5OiAjRjRGNEY0O1xuJHB1cnBsZTogIzY4NTY5RTtcbiRkYXJrUHVycGxlOiAjNDgzNTg0O1xuJHJlYWxEYXJrUHVycGxlOiAjMUYxQTQ2O1xuJGJsdWU6ICRwdXJwbGU7XG4keWVsbG93OiAjRkZCOTAwO1xuXG4kZGFya0dyZWVuOiAjMDA0MjU4O1xuJGdyZWVuOiAjNDBBNTM2O1xuXG4kYm9yZGVyLXJhZGl1czogMTBweDtcblxuJHByaW1hcnktY29sb3I6ICRibHVlO1xuJGZvcm0taW5wdXQtY29sb3I6ICM5OTk7XG4kZm9ybS1pbnB1dC1ob3Zlci1jb2xvcjogIzAwMDtcblxuJGVycm9yQ29sb3I6ICNhZTJkMzA7XG5cbiRsaWdodC13ZWlnaHQ6IDIwMDtcbiRyZWd1bGFyLXdlaWdodDogMzAwO1xuJG1lZGl1bS13ZWlnaHQ6IDQwMDtcbiRzZW1pLXdlaWdodDogNTAwO1xuJGJvbGQtd2VpZ2h0OiA2MDA7XG5cbiRjb250YWluZXJXaWR0aDogMTE0OHB4OyIsIi8qKlxuICogTWl4aW4gZmlsZSBcbiAqIEFsbCBvdXIgY3VzdG9tIG1peGluc1xuICpcbiAqIEBwYWNrYWdlIENoZWYgR3V0ZW5iZXJnIENoaWxkIFRoZW1lXG4gKiBAc2luY2UgMjAxOVxuICovXG5cbi8vbWFrZSBmbGV4IHJvd3MgYSBiaXQgZWFzaWVyOlxuQG1peGluIGZsZXgtcm93KCRlcXVhbGl6ZTogc3RyZXRjaCkge1xuXHRAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuXHRAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xuXHRAaW5jbHVkZSBhbGlnbi1pdGVtcygkZXF1YWxpemUpO1xufVxuXG4vL21ha2UgZmxleCBjb2x1bW5zIGEgYml0IGVhc2llcjpcbkBtaXhpbiBmbGV4LWNvbCgkZXF1YWxpemU6IHN0cmV0Y2gpIHtcblx0QGluY2x1ZGUgZGlzcGxheShmbGV4KTtcblx0QGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcblx0QGluY2x1ZGUgYWxpZ24taXRlbXMoJGVxdWFsaXplKTtcbn1cblxuLyogQm94c2l6aW5nIHNob3J0Y3V0OiAqL1xuQG1peGluIGJvcmRlcmJveCgpIHtcblx0LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHQtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qIFRyYW5zZm9ybSBzaG9ydGN1dHMgKi9cblxuLy8gcm90YXRlXG5AbWl4aW4gcm90YXRlKCRkZWcpIHtcblx0QGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgjeyRkZWd9ZGVnKSk7XG59XG5cbi8vIHNjYWxlXG5AbWl4aW4gc2NhbGUoJHNjYWxlKSB7XG5cdEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgkc2NhbGUpKTtcbn1cblxuLy8gdHJhbnNsYXRlXG5AbWl4aW4gdHJhbnNsYXRlKCR4LCAkeSkge1xuXHRAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKCR4LCAkeSkpO1xufVxuXG4vLyBza2V3XG5AbWl4aW4gc2tldygkeCwgJHkpIHtcblx0QGluY2x1ZGUgdHJhbnNmb3JtKHNrZXcoI3skeH1kZWcsICN7JHl9ZGVnKSk7XG59XG5cbi8vdHJhbnNmb3JtIG9yaWdpblxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbikge1xuXHRtb3otdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcblx0LW8tdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcblx0LW1zLXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG5cdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcblx0dHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbn1cblxuLyogU3R5bGluZyBwbGFjZWhvbGRlcnM6ICovXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuXHQmLnBsYWNlaG9sZGVyIHtcblx0XHRAY29udGVudDtcblx0fVxuXHQmOi1tb3otcGxhY2Vob2xkZXIge1xuXHRcdEBjb250ZW50O1xuXHR9XG5cdCY6Oi1tb3otcGxhY2Vob2xkZXIge1xuXHRcdEBjb250ZW50O1xuXHR9XG5cdCY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8qIFJldGluYSBpbWFnZXM6ICovXG5AbWl4aW4gaW1hZ2UtMngoJGltYWdlLCAkd2lkdGgsICRoZWlnaHQpIHtcblx0QG1lZGlhIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMyksXG5cdFx0KC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIuNi8yKSxcblx0XHQoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjMpLFxuXHRcdChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjMpLFxuXHRcdChtaW4tcmVzb2x1dGlvbjogMS4zZHBweCkge1xuXHRcdC8qIG9uIHJldGluYSwgdXNlIGltYWdlIHRoYXQncyBzY2FsZWQgYnkgMiAqL1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaW1hZ2UpO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogJHdpZHRoICRoZWlnaHQ7XG5cdH1cbn1cblxuLyogXCJIYXJkXCIgZ3JhZGllbnRzOiAqL1xuQG1peGluIGdyYWRpZW50LWhhcmQoJHN0YXJ0LCAkZW5kOiAjZmZmLCAkZGlyZWN0aW9uOiBcImhvcml6b250YWxcIikge1xuXHRAaWYgJGRpcmVjdGlvbiA9PSBcImhvcml6b250YWxcIiB7XG5cdFx0QGluY2x1ZGUgZ3JhZGllbnQtaGFyZC1ob3Jpem9udGFsKCRzdGFydCwgJGVuZCk7XG5cdH0gQGVsc2Uge1xuXHRcdEBpbmNsdWRlIGdyYWRpZW50LWhhcmQtdmVydGljYWwoJHN0YXJ0LCAkZW5kKTtcblx0fVxufVxuXG5AbWl4aW4gZ3JhZGllbnQtaGFyZC1ob3Jpem9udGFsKCRmcm9tLCAkdG8pIHtcblx0YmFja2dyb3VuZDogJHRvO1xuXHRiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KFxuXHRcdGxpbmVhcixcblx0XHRsZWZ0IHRvcCxcblx0XHRyaWdodCB0b3AsXG5cdFx0Y29sb3Itc3RvcCgwJSwgJGZyb20pLFxuXHRcdGNvbG9yLXN0b3AoNTAlLCAkZnJvbSksXG5cdFx0Y29sb3Itc3RvcCg1MCUsICR0byksXG5cdFx0Y29sb3Itc3RvcCgxMDAlLCAkdG8pXG5cdCk7XG5cdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KFxuXHRcdGxlZnQsXG5cdFx0JGZyb20gMCUsXG5cdFx0JGZyb20gNTAlLFxuXHRcdCR0byA1MCUsXG5cdFx0JHRvIDEwMCVcblx0KTtcblx0YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoXG5cdFx0bGVmdCxcblx0XHQkZnJvbSAwJSxcblx0XHQkZnJvbSA1MCUsXG5cdFx0JHRvIDUwJSxcblx0XHQkdG8gMTAwJVxuXHQpO1xuXHRiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsICRmcm9tIDAlLCAkZnJvbSA1MCUsICR0byA1MCUsICR0byAxMDAlKTtcblx0YmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICRmcm9tIDAlLCAkZnJvbSA1MCUsICR0byA1MCUsICR0byAxMDAlKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkZnJvbSAwJSwgJGZyb20gNTAlLCAkdG8gNTAlLCAkdG8gMTAwJSk7XG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPSckZnJvbScsIGVuZENvbG9yc3RyPSckdG8nLEdyYWRpZW50VHlwZT0xICk7XG59XG5cbkBtaXhpbiBncmFkaWVudC1oYXJkLXZlcnRpY2FsKCRmcm9tLCAkdG8pIHtcblx0YmFja2dyb3VuZDogJHRvO1xuXHRiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KFxuXHRcdGxpbmVhcixcblx0XHR0b3AgdG9wLFxuXHRcdHJpZ2h0IHRvcCxcblx0XHRjb2xvci1zdG9wKDAlLCAkZnJvbSksXG5cdFx0Y29sb3Itc3RvcCg1MCUsICRmcm9tKSxcblx0XHRjb2xvci1zdG9wKDUwJSwgJHRvKSxcblx0XHRjb2xvci1zdG9wKDEwMCUsICR0bylcblx0KTtcblx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoXG5cdFx0dG9wLFxuXHRcdCRmcm9tIDAlLFxuXHRcdCRmcm9tIDUwJSxcblx0XHQkdG8gNTAlLFxuXHRcdCR0byAxMDAlXG5cdCk7XG5cdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgJGZyb20gMCUsICRmcm9tIDUwJSwgJHRvIDUwJSwgJHRvIDEwMCUpO1xuXHRiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgJGZyb20gMCUsICRmcm9tIDUwJSwgJHRvIDUwJSwgJHRvIDEwMCUpO1xuXHRiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAkZnJvbSAwJSwgJGZyb20gNTAlLCAkdG8gNTAlLCAkdG8gMTAwJSk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcblx0XHR0byBib3R0b20sXG5cdFx0JGZyb20gMCUsXG5cdFx0JGZyb20gNTAlLFxuXHRcdCR0byA1MCUsXG5cdFx0JHRvIDEwMCVcblx0KTtcblx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyRmcm9tJywgZW5kQ29sb3JzdHI9JyR0bycsR3JhZGllbnRUeXBlPTEgKTtcbn1cblxuLyogUkVNIGZvbnQgc2l6ZXM6ICovXG5AZnVuY3Rpb24gY2FsY3VsYXRlUmVtKCRzaXplKSB7XG5cdCRyZW1TaXplOiAkc2l6ZSAvIDE2cHg7XG5cdEByZXR1cm4gJHJlbVNpemUgKiAxcmVtO1xufVxuXG5AbWl4aW4gYnJlYWstY29udGFpbmVyKCkge1xuXHRtYXJnaW4tbGVmdDogY2FsYygtNTB2dyArIDUwJSk7XG5cdG1hcmdpbi1yaWdodDogY2FsYygtNTB2dyArIDUwJSk7XG59XG5cbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcblx0Zm9udC1zaXplOiAkc2l6ZTtcblx0Zm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xufVxuXG5AbWl4aW4gYnV0dG9uKCkge1xuXHQvLyBCYXNlIGdyYWRpZW50IGJhY2tncm91bmQgbWF0Y2hpbmcgdGhlIGltYWdlIChkYXJrIHB1cnBsZSB3aXRoIHZlcnRpY2FsIGdyYWRpZW50KVxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0MTgwZGVnLFxuXHRcdHJnYmEoMTA0LCA4NiwgMTU4LCAxKSAwJSwgICAgICAvLyBMaWdodGVyIHB1cnBsZSBhdCB0b3AgKCRwdXJwbGUpXG5cdFx0cmdiYSg3MiwgNTMsIDEzMiwgMSkgNTAlLCAgICAgICAvLyBNZWRpdW0gcHVycGxlIGluIG1pZGRsZSAoJGRhcmtQdXJwbGUpXG5cdFx0cmdiYSgzMSwgMjYsIDcwLCAxKSAxMDAlICAgICAgICAvLyBEYXJrIHB1cnBsZS9ibGFjayBhdCBib3R0b20gKCRyZWFsRGFya1B1cnBsZSlcblx0KTtcblx0cGFkZGluZzogMTVweCAyMnB4O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGJvcmRlci1yYWRpdXM6IDMwcHg7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC41cyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0QGluY2x1ZGUgZm9udC1zaXplKDE2cHgpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRmb250LXdlaWdodDogJG1lZGl1bS13ZWlnaHQ7XG5cdFxuXHQvLyBQdWxzaW5nIGdyYWRpZW50IG92ZXJsYXkgLSBjb250aW51b3VzbHkgcHVsc2luZ1xuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdFx0MTgwZGVnLFxuXHRcdFx0cmdiYSgxMDQsIDg2LCAxNTgsIDAuOSkgMCUsXG5cdFx0XHRyZ2JhKDcyLCA1MywgMTMyLCAwLjk1KSA1MCUsXG5cdFx0XHRyZ2JhKDMxLCAyNiwgNzAsIDEpIDEwMCVcblx0XHQpO1xuXHRcdG9wYWNpdHk6IDAuMztcblx0XHR6LWluZGV4OiAxO1xuXHRcdGFuaW1hdGlvbjogcHVsc2UtZ3JhZGllbnQtc21vb3RoIDRzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuXHRcdGJvcmRlci1yYWRpdXM6IDMwcHg7XG5cdH1cblx0XG5cdC8vIFNoaW1tZXIvc2hpbmUgZWZmZWN0IG9uIGhvdmVyXG5cdCY6OmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAtNTAlO1xuXHRcdGxlZnQ6IC01MCU7XG5cdFx0d2lkdGg6IDIwMCU7XG5cdFx0aGVpZ2h0OiAyMDAlO1xuXHRcdGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChcblx0XHRcdGNpcmNsZSxcblx0XHRcdHJnYmEoJHdoaXRlLCAwLjIpIDAlLFxuXHRcdFx0cmdiYSgkd2hpdGUsIDAuMSkgMzAlLFxuXHRcdFx0dHJhbnNwYXJlbnQgNzAlXG5cdFx0KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwKTtcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuXHRcdHotaW5kZXg6IDI7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHR9XG5cdFxuXHQvLyBUZXh0L2NvbnRlbnQgc2hvdWxkIGJlIGFib3ZlIHRoZSBncmFkaWVudHNcblx0PiAqIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogMztcblx0fVxuXHRcblx0Jjpob3Zlcixcblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG5cdFx0Ym94LXNoYWRvdzogXG5cdFx0XHQwIDEwcHggMjVweCByZ2JhKDcyLCA1MywgMTMyLCAwLjYpLFxuXHRcdFx0MCA1cHggMTBweCByZ2JhKDMxLCAyNiwgNzAsIDAuNCk7XG5cdFx0XG5cdFx0Ly8gSW50ZW5zaWZ5IHB1bHNpbmcgb24gaG92ZXJcblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0YW5pbWF0aW9uLWR1cmF0aW9uOiAycztcblx0XHRcdG9wYWNpdHk6IDAuNTtcblx0XHR9XG5cdFx0XG5cdFx0Ly8gRXhwYW5kIHNoaW1tZXIgZWZmZWN0IHNtb290aGx5XG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMS4yKTtcblx0XHR9XG5cdH1cblx0XG5cdCY6YWN0aXZlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG5cdFx0Ym94LXNoYWRvdzogXG5cdFx0XHQwIDVweCAxNXB4IHJnYmEoNzIsIDUzLCAxMzIsIDAuNSksXG5cdFx0XHQwIDNweCA2cHggcmdiYSgzMSwgMjYsIDcwLCAwLjMpO1xuXHRcdFxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRhbmltYXRpb24tZHVyYXRpb246IDFzO1xuXHRcdH1cblx0fVxufVxuXG4vLyBTbW9vdGggcHVsc2luZyBncmFkaWVudCBhbmltYXRpb24gLSBjb250aW51b3VzbHkgcHVsc2luZ1xuQGtleWZyYW1lcyBwdWxzZS1ncmFkaWVudC1zbW9vdGgge1xuXHQwJSwgMTAwJSB7XG5cdFx0b3BhY2l0eTogMC4yO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdFx0ZmlsdGVyOiBicmlnaHRuZXNzKDEpO1xuXHR9XG5cdDUwJSB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4wOCk7XG5cdFx0ZmlsdGVyOiBicmlnaHRuZXNzKDEuMTUpO1xuXHR9XG59XG5cbkBtaXhpbiByZW1vdmUtZWxlbWVudCgpIHtcblx0Y2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuXHRwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcblx0aGVpZ2h0OiAxcHg7XG5cdHdpZHRoOiAxcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vQ29udGFpbmVyIHdoaXRlc3BhY2VcbkBmdW5jdGlvbiBjYWxjLWNvbnRhaW5lci13aGl0ZXNwYWNlKCRjb250YWluZXIpIHtcblx0QHJldHVybiBjYWxjKCgoMTAwdncgLSAjeyRjb250YWluZXJ9IC0gdmFyKC0tc2Nyb2xsYmFyLXdpZHRoLCAxN3B4KSkgLyAyKSk7XG59XG5cblxuLy9GbGV4IHNvbHV0aW9uXG5AbWl4aW4gYmxvY2stc2l6ZSgkc2l6ZSwgJGl0ZW1JblJvdywgJGdhcCkge1xuXHRmbGV4OiAwIDEgY2FsYy13aGl0ZXNwYWNlKCRzaXplLCAkaXRlbUluUm93LCAkZ2FwKTtcbn1cblxuQGZ1bmN0aW9uIGNhbGMtd2hpdGVzcGFjZSgkYmFzZSwgJGl0ZW1JblJvdywgJGdhcCkge1xuXHRAcmV0dXJuIGNhbGMoI3skYmFzZX0gLSAoKCN7JGl0ZW1JblJvd30gLSAxKSAqICN7JGdhcH0gLyAjeyRpdGVtSW5Sb3d9KSk7XG59XG5cbi8vUmV0dXJuXG5AZnVuY3Rpb24gcmV0dXJuLWJsb2NrLXNpemUoJHNpemUsICRpdGVtSW5Sb3csICRnYXApIHtcblx0QHJldHVybiBjYWxjLXdoaXRlc3BhY2UoJHNpemUsICRpdGVtSW5Sb3csICRnYXApO1xufSIsIkBpbXBvcnQgXCJiYXNlL192YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJiYXNlL19taXhpbnNcIjtcblxuLy8gQXBwbHkgZm9ybSBzdHlsaW5nIHRvIGJvdGggZm9ybSBibG9ja3MgYW5kIHBvcHVwIGZvcm1zXG4uYmxvY2suZm9ybS1ibG9jayAuZ2Zvcm1fd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogJGdyZXk7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgcGFkZGluZzogNTBweDtcbn1cblxuLy8gUG9wdXAgZm9ybXMgLSBubyBiYWNrZ3JvdW5kLCBpbmhlcml0cyBwb3B1cCBzdHlsaW5nXG4ucG9wdXAtY29udGVudCAucG9wdXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vLyBTaGFyZWQgZm9ybSBzdHlsaW5nIGZvciBib3RoIGNvbnRleHRzXG4uYmxvY2suZm9ybS1ibG9jayAuZ2Zvcm1fd3JhcHBlcixcbi5wb3B1cC1jb250ZW50IC5wb3B1cC1mb3JtIC5nZm9ybV93cmFwcGVyIHtcbiAgICAuZ2ZpZWxkX2xhYmVsIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiAkc2VtaS13ZWlnaHQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgICAgIGNvbG9yOiAkcmVhbERhcmtQdXJwbGU7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTZweCk7XG5cdFx0fVxuXHRcdFxuICAgICAgICAuZ2Zvcm1fYm9keSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGdhcDogMjBweDtcbiAgICAgICAgfVxuICAgICAgICBcblxuXHRcdC5nZm9ybV9wYWdlX2Zvb3Rlcixcblx0XHQuZ2Zvcm1fZm9vdGVyIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdG1hcmdpbi10b3A6IDMycHg7IC8vIE1lZXIgcnVpbXRlIGJvdmVuIGJ1dHRvblxuXHRcdFx0cGFkZGluZy10b3A6IDI0cHg7IC8vIEV4dHJhIHBhZGRpbmdcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKCRyZWFsRGFya1B1cnBsZSwgMC4xKTsgLy8gU3VidGllbGUgc2NoZWlkaW5nc2xpam5cblx0XHRcdFxuXHRcdFx0LmJ1dHRvbixcblx0XHRcdGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5cdFx0XHRidXR0b25bdHlwZT1cInN1Ym1pdFwiXSB7XG5cdFx0XHRcdEBpbmNsdWRlIGJ1dHRvbigpO1xuXHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdHBhZGRpbmc6IDE2cHggMzZweCAhaW1wb3J0YW50OyAvLyBNZWVyIHBhZGRpbmcgdm9vciBiZXRlcmUga2xpa2JhYXJoZWlkXG5cdFx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRcdFx0bWluLXdpZHRoOiAxNjBweDsgLy8gTWluaW1hbGUgYnJlZWR0ZVxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XG5cbiAgICAgICAgLmdmb3JtX2ZpZWxkc3tcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICAgICAgICAgICAgZ2FwOiAyNHB4OyAvLyBNZWVyIHJ1aW10ZSB0dXNzZW4gdmVsZGVuXG4gICAgICAgICAgICAuZ2ZpZWxke1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMSAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiwgZ2FwIGhhbmRsZXMgc3BhY2luZ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJde1xuICAgICAgICAgICAgcGFkZGluZzogMnB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzZW1pLXdlaWdodDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogJHJlYWxEYXJrUHVycGxlO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgpO1xuICAgICAgICAgICAgJi5nZmllbGRfY29uc2VudF9sYWJlbHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0LCB0ZXh0YXJlYSwgc2VsZWN0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogNnB4IDEycHg7IC8vIE1lZXIgcnVpbXRlXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkcmVhbERhcmtQdXJwbGUsIDAuMik7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHVycGxlO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKCRwdXJwbGUsIDAuMSk7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKCRibGFjaywgMC41KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4O1xuICAgICAgICAgICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5naW5wdXRfY29udGFpbmVyX2ltYWdlX2Nob2ljZSAuZ2ZpZWxkX3JhZGlve1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgICAgICBnYXA6IDEwcHg7XG4gICAgICAgICAgICAuZ2Nob2ljZXtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmdmaWVsZF9yYWRpbywgLmdmaWVsZF9jaGVja2JveCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGdhcDogMTZweDsgLy8gTWVlciBydWltdGUgdHVzc2VuIG9wdGllc1xuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRyZWd1bGFyLXdlaWdodDtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTZweCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4OyAvLyBNZWVyIHJ1aW10ZSB2b29yIGNoZWNrYm94XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDJweDsgLy8gQmV0ZXJlIHZlcnRpY2FsZSB1aXRsaWpuaW5nXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMjRweDsgLy8gWm9yZyB2b29yIHZvbGRvZW5kZSBob29ndGVcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjJweDsgLy8gSWV0cyBncm90ZXJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMnB4OyAvLyBJZXRzIGdyb3RlclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKCRyZWFsRGFya1B1cnBsZSwgMC4zKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5nZmllbGRfcmFkaW8ge1xuICAgICAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwdXJwbGU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHB1cnBsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogNnB4O1xuICAgICAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5nZmllbGRfY2hlY2tib3gge1xuICAgICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwdXJwbGU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHB1cnBsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwMGNcIjtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0cHgpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ29uc2VudCBjaGVja2JveCBzdHlsaW5nIC0gc3BlY2lmaWVrIHZvb3IgaW5zdGVtbWluZyB2ZWxkZW5cbiAgICAgICAgLmdpbnB1dF9jb250YWluZXJfY29uc2VudCB7XG4gICAgICAgICAgICAuZ2ZpZWxkX2NoZWNrYm94IHtcbiAgICAgICAgICAgICAgICBnYXA6IDEycHg7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcmVndWxhci13ZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4KTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3Qge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNnB4IDUwcHggNnB4IDEycHg7IC8vIE1lZXIgcGFkZGluZywgcnVpbXRlIHZvb3IgZHJvcGRvd24gaWNvblxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjazsgLy8gWm9yZyBkYXQgdGVrc3QgbGVlc2JhYXIgaXNcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2s7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgpO1xuICAgIFxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwdXJwbGU7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKCRwdXJwbGUsIDAuMSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgb3B0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE11bHRpLXNlbGVjdCBzdHlsaW5nXG4gICAgICAgIC5naW5wdXRfY29udGFpbmVyX211bHRpc2VsZWN0IHtcbiAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTZweCAyMHB4O1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4OyAvLyBab3JnIHZvb3Igdm9sZG9lbmRlIGhvb2d0ZVxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgb3B0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3R7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnB4KTtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgICAgICAgICAxODBkZWcsXG4gICAgICAgICAgICAgICAgICAgIHJnYmEoMTA0LCA4NiwgMTU4LCAxKSAwJSxcbiAgICAgICAgICAgICAgICAgICAgcmdiYSg3MiwgNTMsIDEzMiwgMSkgNTAlLFxuICAgICAgICAgICAgICAgICAgICByZ2JhKDMxLCAyNiwgNzAsIDEpIDEwMCVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMXB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAkYm9yZGVyLXJhZGl1cyAkYm9yZGVyLXJhZGl1cyAwO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjA3OFwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBmcmVlXCI7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgpO1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgMTgwZGVnLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSg3MiwgNTMsIDEzMiwgMSkgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICByZ2JhKDMxLCAyNiwgNzAsIDEpIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoMzEsIDI2LCA3MCwgMSkgMTAwJVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICAgICBidXR0b24sIC5idXR0b24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKCk7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZ2lucHV0X2NvbXBsZXgge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGdhcDogMTVweDtcblxuICAgICAgICAgICAgaW5wdXQsIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2VsZWN0e1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRweCAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmdpbnB1dF9mdWxse1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMSAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmdpbnB1dF9sZWZ0e1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDEgY2FsYyg1MCUgLSAxMnB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAuZ2lucHV0X3JpZ2h0e1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMSBjYWxjKDUwJSAtIDEycHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmdpbnB1dF9jb250YWluZXJfZmlsZXVwbG9hZCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE2cHggMjBweDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJHJlYWxEYXJrUHVycGxlLCAwLjIpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoJHB1cnBsZSwgMC41KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTJweCAyNHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkcHVycGxlLCAwLjEpO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IGRhc2hlZCByZ2JhKCRwdXJwbGUsIDAuMyk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHJlYWxEYXJrUHVycGxlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzZW1pLXdlaWdodDtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkcHVycGxlLCAwLjE1KTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKCRwdXJwbGUsIDAuNSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgICAgIC5maWxlLW5hbWUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNHB4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoJGJsYWNrLCAwLjcpO1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgXG5cbiAgICAgICAgLmdpbnB1dF9jb250YWluZXJfZGF0ZSBpbnB1dCB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmdpbnB1dF9jb250YWluZXJfbXVsdGlzZWxlY3Qgc2VsZWN0IHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoJGJsYWNrLCAwLjYpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0cHgpO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICB9XG5cbiAgICAgICAgLnZhbGlkYXRpb25fbWVzc2FnZSxcbiAgICAgICAgLmVycm9yLW1lc3NhZ2Uge1xuICAgICAgICAgICAgY29sb3I6ICRlcnJvckNvbG9yO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0cHgpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcmVndWxhci13ZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuZ2ZpZWxkX2Vycm9yIHtcbiAgICAgICAgICAgIGlucHV0LCB0ZXh0YXJlYSwgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRlcnJvckNvbG9yO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRlcnJvckNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgkZXJyb3JDb2xvciwgMC4xKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIC5zdWNjZXNzLW1lc3NhZ2Uge1xuICAgICAgICBjb2xvcjogJGdyZWVuO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTZweCk7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGdyZWVuLCAwLjEpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAkZ3JlZW47XG4gICAgfVxuLy99XG5cbi8vIE1vYmlsZSByZXNwb25zaXZlIHN0eWxlc1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmJsb2NrLmZvcm0tYmxvY2sgLmdmb3JtX3dyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgIH1cblxuICAgIC5ibG9jay5mb3JtLWJsb2NrIC5nZm9ybV93cmFwcGVyLFxuICAgIC5wb3B1cC1jb250ZW50IC5wb3B1cC1mb3JtIC5nZm9ybV93cmFwcGVyIHtcbiAgICAgICAgaW5wdXQsIHRleHRhcmVhLCBzZWxlY3Qge1xuICAgICAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgpOyAvLyBLZWVwIHJlYWRhYmxlIG9uIG1vYmlsZVxuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uLCAuYnV0dG9uLFxuICAgICAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuICAgICAgICBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDI0cHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nZm9ybV9wYWdlX2Zvb3RlcixcbiAgICAgICAgLmdmb3JtX2Zvb3RlciB7XG4gICAgICAgICAgICAuYnV0dG9uLFxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAgICAgICAgIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBAaW1wb3J0IFwiYmFzZS9fdmFyaWFibGVzXCI7XG4vLyBAaW1wb3J0IFwiYmFzZS9fbWl4aW5zXCI7XG5cbi8vIC5zZWN0aW9uLmNvbnRlbnRfYW5kX2Zvcm0gLmJsb2NrLmZvcm0tYmxvY2t7XG4vLyBcdC5nZm9ybV93cmFwcGVye1xuLy8gXHRcdGJhY2tncm91bmQ6ICRncmV5O1xuLy8gXHRcdGJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLyBcdFx0cGFkZGluZzogNTBweDtcbi8vIFx0XHRoMntcbi8vIFx0XHRcdG1hcmdpbjogMCAwIDE1cHggMDtcbi8vIFx0XHR9XG4vLyBcdFx0Lmdmb3JtX3BhZ2VfZm9vdGVye1xuLy8gXHRcdFx0ZGlzcGxheTogZmxleDtcbi8vIFx0XHRcdGZsZXgtZmxvdzogcm93IHdyYXA7XG4vLyBcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuLy8gXHRcdFx0LmJ1dHRvbntcbi8vIFx0XHRcdFx0Ym9yZGVyOiBub25lO1xuLy8gXHRcdFx0XHRwYWRkaW5nOiAxMnB4IDMwcHg7XG4vLyBcdFx0XHR9XG4vLyBcdFx0fVxuLy8gXHRcdC5nZmllbGRfcmVxdWlyZWRfYXN0ZXJpc2t7XG4vLyBcdFx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4vLyBcdFx0fVxuLy8gXHR9XG4vLyBcdC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgaW5wdXRbdHlwZT1jb2xvcl0sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgaW5wdXRbdHlwZT1kYXRlXSwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBpbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXSwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBpbnB1dFt0eXBlPWRhdGV0aW1lXSwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBpbnB1dFt0eXBlPWVtYWlsXSwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBpbnB1dFt0eXBlPW1vbnRoXSwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBpbnB1dFt0eXBlPW51bWJlcl0sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgaW5wdXRbdHlwZT1wYXNzd29yZF0sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgaW5wdXRbdHlwZT1zZWFyY2hdLCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIGlucHV0W3R5cGU9dGVsXSwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBpbnB1dFt0eXBlPXRleHRdLCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIGlucHV0W3R5cGU9dGltZV0sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgaW5wdXRbdHlwZT11cmxdLCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIGlucHV0W3R5cGU9d2Vla10sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgc2VsZWN0LCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIHRleHRhcmVhe1xuLy8gXHRcdHBhZGRpbmc6IDE2cHg7XG4vLyBcdFx0Ym9yZGVyLXJhZGl1czogMTBweDtcbi8vIFx0XHRib3JkZXI6IDFweCBzb2xpZCAjZDJkMmQyO1xuLy8gXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSggMTZweCApO1xuLy8gXHRcdEBpbmNsdWRlIGZvbnRmYWNlKFwibGlnaHRcIik7XG4vLyBcdH1cbi8vIH1cblxuLy8gLy8gRk9STVMgRk9STVMgRk9STVNcbi8vIC53cC1hZG1pbiAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIC5nZm9ybV9maWVsZHMge1xuLy8gXHRsaXN0LXN0eWxlOiBub25lO1xuLy8gXHRwYWRkaW5nLWxlZnQ6IDA7XG4vLyBcdG1hcmdpbjogMDtcbi8vIH1cblxuLy8gLmdmb3JtX3dyYXBwZXIge1xuLy8gXHQuZ2ZpZWxkIHtcbi8vIFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuLy8gXHRcdCY6bGFzdC1jaGlsZCB7XG4vLyBcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuLy8gXHRcdH1cbi8vIFx0fVxuLy8gXHQuZ2Zvcm1fZm9vdGVyIC5idXR0b257XG4vLyBcdFx0Ym9yZGVyOiBub25lO1xuLy8gXHR9XG4vLyBcdC5nZmllbGRfbGFiZWwge1xuLy8gXHRcdG1hcmdpbi1ib3R0b206IDhweDtcbi8vIFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4vLyBcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG4vLyBcdH1cbi8vIFx0aW5wdXQge1xuLy8gXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4KTtcbi8vIFx0XHR0cmFuc2l0aW9uOiAwLjNzO1xuLy8gXHR9XG4vLyBcdGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLy8gXHRpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLy8gXHRpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4vLyBcdHRleHRhcmVhLFxuLy8gXHRzZWxlY3Qge1xuLy8gXHRcdHdpZHRoOiAxMDAlO1xuLy8gXHRcdHBhZGRpbmc6IDEwcHggMTZweDtcbi8vIFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuLy8gXHRcdGJvcmRlcjogMXB4IHNvbGlkICRmb3JtLWlucHV0LWNvbG9yO1xuLy8gXHRcdGxpbmUtaGVpZ2h0OiAxO1xuLy8gXHRcdGRpc3BsYXk6IGJsb2NrO1xuLy8gXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4KTtcbi8vIFx0XHR0cmFuc2l0aW9uOiAwLjNzO1xuLy8gXHRcdCY6Zm9jdXMge1xuLy8gXHRcdFx0b3V0bGluZTogbm9uZTtcbi8vIFx0XHRcdGJvcmRlci1jb2xvcjogJGZvcm0taW5wdXQtaG92ZXItY29sb3I7XG4vLyBcdFx0fVxuLy8gXHR9XG4vLyBcdC5nZmllbGRfcmFkaW8ge1xuLy8gXHRcdGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4vLyBcdFx0XHRAaW5jbHVkZSByZW1vdmUtZWxlbWVudCgpO1xuLy8gXHRcdH1cblxuLy8gXHRcdGxpIHtcbi8vIFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG4vLyBcdFx0XHQmOmxhc3QtY2hpbGQge1xuLy8gXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuLy8gXHRcdFx0fVxuLy8gXHRcdH1cblxuLy8gXHRcdGxhYmVsIHtcbi8vIFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbi8vIFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcbi8vIFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vIFx0XHRcdHBhZGRpbmctbGVmdDogNDVweDtcbi8vIFx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4KTtcblxuLy8gXHRcdFx0Jjpob3ZlciB7XG4vLyBcdFx0XHRcdCY6YmVmb3JlIHtcbi8vIFx0XHRcdFx0XHRib3JkZXItY29sb3I6ICRmb3JtLWlucHV0LWhvdmVyLWNvbG9yO1xuLy8gXHRcdFx0XHR9XG4vLyBcdFx0XHR9XG4vLyBcdFx0fVxuXG4vLyBcdFx0aW5wdXRbdHlwZT1cInJhZGlvXCJdOmZvY3VzICsgbGFiZWw6YmVmb3JlIHtcbi8vIFx0XHRcdGJvcmRlci1jb2xvcjogJGZvcm0taW5wdXQtaG92ZXItY29sb3I7XG4vLyBcdFx0fVxuXG4vLyBcdFx0bGFiZWw6YmVmb3JlIHtcbi8vIFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG4vLyBcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4vLyBcdFx0XHR3aWR0aDogMjVweDtcbi8vIFx0XHRcdGhlaWdodDogMjVweDtcbi8vIFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vIFx0XHRcdGxlZnQ6IDA7XG4vLyBcdFx0XHR0b3A6IDA7XG4vLyBcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkZm9ybS1pbnB1dC1jb2xvcjtcbi8vIFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcbi8vIFx0XHR9XG4vLyBcdFx0bGFiZWw6YWZ0ZXIge1xuLy8gXHRcdFx0Y29udGVudDogXCJcIjtcbi8vIFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuLy8gXHRcdFx0b3BhY2l0eTogMDtcbi8vIFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vIFx0XHRcdGhlaWdodDogMTFweDtcbi8vIFx0XHRcdHdpZHRoOiAxMXB4O1xuLy8gXHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuLy8gXHRcdFx0bGVmdDogN3B4O1xuLy8gXHRcdFx0dG9wOiA3cHg7XG4vLyBcdFx0XHRiYWNrZ3JvdW5kOiAkYmxhY2s7XG4vLyBcdFx0XHR0cmFuc2l0aW9uOiAwLjNzO1xuLy8gXHRcdH1cbi8vIFx0XHRpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbi8vIFx0XHRcdG9wYWNpdHk6IDE7XG4vLyBcdFx0fVxuLy8gXHR9XG4vLyBcdC5nZmllbGRfY2hlY2tib3gsXG4vLyBcdC5naW5wdXRfY29udGFpbmVyX2NvbnNlbnQge1xuLy8gXHRcdGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4vLyBcdFx0XHRAaW5jbHVkZSByZW1vdmUtZWxlbWVudCgpO1xuLy8gXHRcdH1cblxuLy8gXHRcdGxpIHtcbi8vIFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG4vLyBcdFx0XHQmOmxhc3QtY2hpbGQge1xuLy8gXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuLy8gXHRcdFx0fVxuLy8gXHRcdH1cblxuLy8gXHRcdGxhYmVsIHtcbi8vIFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbi8vIFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcbi8vIFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vIFx0XHRcdHBhZGRpbmctbGVmdDogNDVweDtcbi8vIFx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4KTtcblxuLy8gXHRcdFx0Jjpob3ZlciB7XG4vLyBcdFx0XHRcdCY6YmVmb3JlIHtcbi8vIFx0XHRcdFx0XHRib3JkZXItY29sb3I6ICRmb3JtLWlucHV0LWhvdmVyLWNvbG9yO1xuLy8gXHRcdFx0XHR9XG4vLyBcdFx0XHR9XG4vLyBcdFx0fVxuXG4vLyBcdFx0aW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmZvY3VzICsgbGFiZWw6YmVmb3JlIHtcbi8vIFx0XHRcdGJvcmRlci1jb2xvcjogJGZvcm0taW5wdXQtaG92ZXItY29sb3I7XG4vLyBcdFx0fVxuXG4vLyBcdFx0bGFiZWw6YmVmb3JlIHtcbi8vIFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG4vLyBcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4vLyBcdFx0XHR3aWR0aDogMjVweDtcbi8vIFx0XHRcdGhlaWdodDogMjVweDtcbi8vIFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vIFx0XHRcdGxlZnQ6IDA7XG4vLyBcdFx0XHR0b3A6IDBweDtcbi8vIFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRmb3JtLWlucHV0LWNvbG9yO1xuLy8gXHRcdH1cbi8vIFx0XHRsYWJlbDphZnRlciB7XG4vLyBcdFx0XHRjb250ZW50OiBcIlxcZjAwY1wiO1xuLy8gXHRcdFx0Zm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuLy8gXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuLy8gXHRcdFx0bGluZS1oZWlnaHQ6IDEwcHg7XG4vLyBcdFx0XHRvcGFjaXR5OiAwO1xuLy8gXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuLy8gXHRcdFx0aGVpZ2h0OiAxMHB4O1xuLy8gXHRcdFx0d2lkdGg6IDI1cHg7XG4vLyBcdFx0XHRsZWZ0OiAwO1xuLy8gXHRcdFx0dG9wOiA4cHg7XG4vLyBcdFx0XHRmb250LXdlaWdodDogOTAwO1xuLy8gXHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKDE2cHgpO1xuLy8gXHRcdFx0Y29sb3I6ICRibGFjaztcbi8vIFx0XHRcdHRyYW5zaXRpb246IDAuM3M7XG4vLyBcdFx0fVxuLy8gXHRcdGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuLy8gXHRcdFx0b3BhY2l0eTogMTtcbi8vIFx0XHR9XG4vLyBcdH1cbi8vIFx0LmdpbnB1dF9jb250YWluZXJfZmlsZXVwbG9hZCB7XG4vLyBcdFx0Ym9yZGVyOiAxcHggc29saWQgJGZvcm0taW5wdXQtY29sb3I7XG4vLyBcdFx0cGFkZGluZzogN3B4IDE0cHg7XG4vLyBcdFx0aW5wdXQge1xuLy8gXHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKDE0cHgpO1xuLy8gXHRcdH1cbi8vIFx0XHQmOmJlZm9yZSB7XG4vLyBcdFx0XHRjb250ZW50OiBcIlxcZjE1YlwiO1xuLy8gXHRcdFx0Zm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgZnJlZVwiO1xuLy8gXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcbi8vIFx0XHRcdG1hcmdpbi1yaWdodDogMTBweDtcbi8vIFx0XHR9XG4vLyBcdH1cbi8vIFx0LmdpbnB1dF9jb250YWluZXJfc2VsZWN0IHtcbi8vIFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG4vLyBcdFx0ei1pbmRleDogMjtcbi8vIFx0XHRjdXJzb3I6IHBvaW50ZXI7XG4vLyBcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuLy8gXHRcdHNlbGVjdCB7XG4vLyBcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG4vLyBcdFx0XHRhcHBlYXJhbmNlOiBub25lO1xuLy8gXHRcdFx0Ym9yZGVyLXJhZGl1czogMHB4O1xuLy8gXHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcbi8vIFx0XHRcdHdpZHRoOiAxMDAlO1xuLy8gXHRcdFx0bGluZS1oZWlnaHQ6IDEwMCU7XG5cbi8vIFx0XHRcdCY6Zm9jdXMge1xuLy8gXHRcdFx0XHRvdXRsaW5lOiBub25lO1xuLy8gXHRcdFx0fVxuLy8gXHRcdH1cbi8vIFx0XHQmOmFmdGVyIHtcbi8vIFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG4vLyBcdFx0XHRoZWlnaHQ6IDQ5cHg7XG4vLyBcdFx0XHR3aWR0aDogNDRweDtcbi8vIFx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuLy8gXHRcdFx0ZGlzcGxheTogYmxvY2s7XG4vLyBcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyBcdFx0XHRiYWNrZ3JvdW5kOiAkYmx1ZTtcbi8vIFx0XHRcdGJvdHRvbTogMDtcbi8vIFx0XHRcdHJpZ2h0OiAwO1xuLy8gXHRcdFx0dHJhbnNpdGlvbjogMC4zcztcbi8vIFx0XHRcdGJvcmRlci1yYWRpdXM6IDAgMTBweCAxMHB4IDA7XG4vLyBcdFx0fVxuLy8gXHRcdCY6YmVmb3JlIHtcbi8vIFx0XHRcdGNvbnRlbnQ6IFwiXFxmMDc4XCI7XG4vLyBcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyBcdFx0XHRyaWdodDogMDtcbi8vIFx0XHRcdHdpZHRoOiA0NHB4O1xuLy8gXHRcdFx0Ym90dG9tOiA1cHg7XG4vLyBcdFx0XHRjb2xvcjogJHdoaXRlO1xuLy8gXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuLy8gXHRcdFx0Zm9udC13ZWlnaHQ6IDkwMDtcbi8vIFx0XHRcdGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IGZyZWVcIjtcbi8vIFx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4KTtcbi8vIFx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuLy8gXHRcdFx0ei1pbmRleDogMjtcbi8vIFx0XHR9XG5cbi8vIFx0XHQmOmhvdmVyIHtcbi8vIFx0XHRcdCY6YWZ0ZXIge1xuLy8gXHRcdFx0XHRiYWNrZ3JvdW5kOiAkZGFya0dyZWVuO1xuLy8gXHRcdFx0fVxuLy8gXHRcdH1cbi8vIFx0fVxuLy8gXHQuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcbi8vIFx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuLy8gXHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcbi8vIFx0XHRAaW5jbHVkZSBmb250LXNpemUoMTJweCk7XG4vLyBcdH1cbi8vIH1cblxuLy8gLmdmb3JtX2Zvb3RlciB7XG4vLyBcdG1hcmdpbi10b3A6IDMwcHg7XG4vLyB9XG4iXX0= */
