/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/scss/plugins/ce_jfeevents_eventevaluation.scss ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/**
 * Universal form components styling - Modular approach
 * Backwards compatible with existing form-components() mixin
 */
/**
 * Form Labels Mixin
 */
/**
 * Form Controls Mixin (Input, Textarea, Select)
 */
/**
 * Form Checks Mixin (Radio & Checkbox)
 */
/**
 * Form Validation Mixin
 */
/**
 * Form Layout Mixin (Floating, Groups, Actions)
 */
/**
 * Form Accessibility Mixin
 */
/**
 * Main form-components mixin - BACKWARDS COMPATIBLE
 * Includes all form styling components
 */
.ce-jfeevents_eventevaluation .form-label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 600;
  color: var(--color-black, #000000);
  font-size: 1rem;
  line-height: 1.4;
}
.ce-jfeevents_eventevaluation .form-label.required::after {
  content: " *";
  color: var(--color-error, #dc3545);
  font-weight: 700;
}
.ce-jfeevents_eventevaluation .form-label .required {
  color: var(--color-error, #dc3545);
  font-weight: 700;
}
.ce-jfeevents_eventevaluation .form-label.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.ce-jfeevents_eventevaluation legend {
  font-size: 1.25rem;
  font-weight: 700;
}
.ce-jfeevents_eventevaluation .form-control {
  display: block;
  width: 100%;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  font-family: inherit;
  line-height: 1.4;
  color: var(--color-black, #000000);
  background-color: var(--color-white, #ffffff);
  background-clip: padding-box;
  border: none;
  border-bottom: 2px solid var(--color-black, #000000);
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.ce-jfeevents_eventevaluation .form-control::-moz-placeholder {
  color: var(--color-jfe-gray-darker, rgb(105, 105, 105));
  opacity: 1;
}
.ce-jfeevents_eventevaluation .form-control::placeholder {
  color: var(--color-jfe-gray-darker, rgb(105, 105, 105));
  opacity: 1;
}
.ce-jfeevents_eventevaluation .form-control:hover:not(:disabled):not([readonly]) {
  border-bottom-color: var(--color-primary, #009ddf);
}
.ce-jfeevents_eventevaluation .form-control:focus {
  border-bottom-color: var(--color-primary, #009ddf);
  outline: 0;
  box-shadow: 0 0 0 2px rgba(var(--color-primary, #009ddf), 0.25);
}
.ce-jfeevents_eventevaluation .form-control:disabled, .ce-jfeevents_eventevaluation .form-control[readonly] {
  background-color: var(--color-jfe-gray, #f3f3f2);
  color: var(--color-jfe-gray-dark, rgb(189, 189, 189));
  opacity: 1;
  cursor: not-allowed;
}
.ce-jfeevents_eventevaluation .form-control.is-invalid {
  border-bottom-color: var(--color-error, #dc3545);
}
.ce-jfeevents_eventevaluation .form-control.is-invalid:focus {
  border-bottom-color: var(--color-error, #dc3545);
  box-shadow: 0 0 0 2px rgba(var(--color-error, #dc3545), 0.25);
}
.ce-jfeevents_eventevaluation .form-control.is-valid {
  border-bottom-color: #95DF00;
}
.ce-jfeevents_eventevaluation .form-control.is-valid:focus {
  border-bottom-color: #95DF00;
  box-shadow: 0 0 0 2px rgba(149, 223, 0, 0.25);
}
.ce-jfeevents_eventevaluation textarea.form-control {
  min-height: 120px;
  resize: vertical;
  line-height: 1.5;
  border-top: 2px solid var(--color-black, #000000);
  border-left: 2px solid var(--color-black, #000000);
  border-right: 2px solid var(--color-black, #000000);
}
.ce-jfeevents_eventevaluation textarea.form-control:hover:not(:disabled):not([readonly]) {
  border-color: var(--color-primary, #009ddf);
}
.ce-jfeevents_eventevaluation textarea.form-control:focus {
  border-color: var(--color-primary, #009ddf);
}
.ce-jfeevents_eventevaluation select.form-control:not([multiple]) {
  background-image: url(/build/images/IconArrowAccordion--Down.8e468af5.svg);
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  padding-right: 2.5rem;
  cursor: pointer;
  border: none;
  border-bottom: 2px solid var(--color-black, #000000);
}
.ce-jfeevents_eventevaluation select.form-control:not([multiple])::-ms-expand {
  display: none;
}
.ce-jfeevents_eventevaluation select.form-control:not([multiple]):hover:not(:disabled):not([readonly]) {
  border-bottom-color: var(--color-primary, #009ddf);
}
.ce-jfeevents_eventevaluation select.form-control:not([multiple]):focus {
  border-bottom-color: var(--color-primary, #009ddf);
  background-image: url(/build/images/IconArrowAccordion--Up.2d71fcd5.svg);
}
.ce-jfeevents_eventevaluation select.form-control:not([multiple]).is-invalid {
  border-bottom-color: var(--color-error, #dc3545);
}
.ce-jfeevents_eventevaluation select.form-control:not([multiple]).is-invalid:focus {
  border-bottom-color: var(--color-error, #dc3545);
}
.ce-jfeevents_eventevaluation select.form-control:not([multiple]).is-valid {
  border-bottom-color: #95DF00;
}
.ce-jfeevents_eventevaluation select.form-control:not([multiple]).is-valid:focus {
  border-bottom-color: #95DF00;
}
.ce-jfeevents_eventevaluation .form-text {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: var(--color-jfe-gray-darker, rgb(105, 105, 105));
  line-height: 1.4;
}
.ce-jfeevents_eventevaluation .form-text.text-danger, .ce-jfeevents_eventevaluation .form-text.invalid-feedback {
  color: var(--color-error, #dc3545);
}
.ce-jfeevents_eventevaluation .form-text.text-success, .ce-jfeevents_eventevaluation .form-text.valid-feedback {
  color: #95DF00;
}
.ce-jfeevents_eventevaluation .invalid-feedback {
  display: none;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: var(--color-black, #000000);
  line-height: 1.4;
  padding-left: 1.5rem;
  position: relative;
}
.ce-jfeevents_eventevaluation .invalid-feedback::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1.25rem;
  height: 1.25rem;
  color: var(--color-black, #000000);
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27%23000%27 d=%27M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8 2.146 2.854Z%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 75% 75%;
  border-radius: 50%;
  border: 3px solid var(--color-error, #dc3545);
  display: flex;
  align-items: center;
  justify-content: center;
}
.form-control.is-invalid ~ .ce-jfeevents_eventevaluation .invalid-feedback, .form-check-input.is-invalid ~ .ce-jfeevents_eventevaluation .invalid-feedback {
  display: block;
}
.ce-jfeevents_eventevaluation .valid-feedback {
  display: none;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: #95DF00;
  line-height: 1.4;
}
.form-control.is-valid ~ .ce-jfeevents_eventevaluation .valid-feedback, .form-check-input.is-valid ~ .ce-jfeevents_eventevaluation .valid-feedback {
  display: block;
}
.ce-jfeevents_eventevaluation .validation-summary {
  margin-bottom: 1.5rem;
  padding: 1rem 1.25rem;
  border: 2px solid var(--color-error, #dc3545);
  border-radius: 4px;
  background-color: color-mix(in srgb, var(--color-error, #dc3545) 5%, var(--color-white, #ffffff));
}
@media (min-width: 640px) {
  .ce-jfeevents_eventevaluation .validation-summary {
    padding: 1.25rem 1.5rem;
  }
}
.ce-jfeevents_eventevaluation .validation-summary .alert-heading {
  margin: 0 0 0.75rem 0;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--color-error, #dc3545);
  line-height: 1.3;
}
@media (min-width: 640px) {
  .ce-jfeevents_eventevaluation .validation-summary .alert-heading {
    font-size: 1.25rem;
  }
}
.ce-jfeevents_eventevaluation .validation-summary .alert-message {
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  color: color-mix(in srgb, var(--color-error, #dc3545) 85%, black);
  line-height: 1.4;
}
@media (min-width: 640px) {
  .ce-jfeevents_eventevaluation .validation-summary .alert-message {
    font-size: 1rem;
  }
}
.ce-jfeevents_eventevaluation .validation-summary-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.ce-jfeevents_eventevaluation .validation-summary-list .validation-summary-item {
  margin-bottom: 0.5rem;
  padding-left: 1.5rem;
  position: relative;
  line-height: 1.4;
}
.ce-jfeevents_eventevaluation .validation-summary-list .validation-summary-item:last-child {
  margin-bottom: 0;
}
.ce-jfeevents_eventevaluation .validation-summary-list .validation-summary-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2rem;
  width: 1rem;
  height: 1rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27%23dc3545%27 d=%27M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z%27/%3e%3cpath fill=%27%23dc3545%27 d=%27M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: contain;
  flex-shrink: 0;
}
.ce-jfeevents_eventevaluation .validation-summary-list .validation-summary-item a {
  color: var(--color-error, #dc3545);
  text-decoration: underline;
  font-weight: 500;
  transition: color 0.2s ease;
}
.ce-jfeevents_eventevaluation .validation-summary-list .validation-summary-item a:hover, .ce-jfeevents_eventevaluation .validation-summary-list .validation-summary-item a:focus {
  color: color-mix(in srgb, var(--color-error, #dc3545) 85%, black);
  text-decoration: none;
}
.ce-jfeevents_eventevaluation .validation-summary-list .validation-summary-item a:focus-visible {
  outline: 2px solid var(--color-primary, #009ddf);
  outline-offset: 2px;
  border-radius: 2px;
}
.ce-jfeevents_eventevaluation .validation-summary {
  animation: slideInFromTop 0.3s ease-out;
}
@keyframes slideInFromTop {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.ce-jfeevents_eventevaluation .form-floating {
  position: relative;
}
.ce-jfeevents_eventevaluation .form-floating .form-control {
  padding: 1rem 0.75rem 0.5rem;
}
.ce-jfeevents_eventevaluation .form-floating .form-control::-moz-placeholder {
  color: transparent;
}
.ce-jfeevents_eventevaluation .form-floating .form-control::placeholder {
  color: transparent;
}
.ce-jfeevents_eventevaluation .form-floating .form-control:not(:-moz-placeholder) ~ label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.ce-jfeevents_eventevaluation .form-floating .form-control:focus ~ label, .ce-jfeevents_eventevaluation .form-floating .form-control:not(:placeholder-shown) ~ label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.ce-jfeevents_eventevaluation .form-floating label {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 1rem 0.75rem;
  overflow: hidden;
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: 1px solid transparent;
  transform-origin: 0 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.ce-jfeevents_eventevaluation .form-group {
  margin-bottom: 3rem;
}
.ce-jfeevents_eventevaluation .form-group:last-child {
  margin-bottom: 0;
}
.ce-jfeevents_eventevaluation .form-section {
  margin-bottom: 2rem;
}
.ce-jfeevents_eventevaluation .form-section:last-child {
  margin-bottom: 0;
}
.ce-jfeevents_eventevaluation .form-section h2, .ce-jfeevents_eventevaluation .form-section h3, .ce-jfeevents_eventevaluation .form-section h4 {
  margin-bottom: 1rem;
  color: var(--color-black, #000000);
}
.ce-jfeevents_eventevaluation .form-section .required {
  color: var(--color-error, #dc3545);
  font-weight: 700;
}
.ce-jfeevents_eventevaluation .form-actions {
  display: flex;
  gap: 1rem;
  margin-top: 2rem;
  flex-wrap: wrap;
}
@media (min-width: 640px) {
  .ce-jfeevents_eventevaluation .form-actions {
    flex-wrap: nowrap;
  }
}
.ce-jfeevents_eventevaluation .form-actions .btn {
  flex: 1;
  min-width: 120px;
}
@media (min-width: 640px) {
  .ce-jfeevents_eventevaluation .form-actions .btn {
    flex: 0 0 auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ce-jfeevents_eventevaluation .form-control,
  .ce-jfeevents_eventevaluation .form-check-input,
  .ce-jfeevents_eventevaluation .form-floating label {
    transition: none;
  }
}
@media (forced-colors: active) {
  .ce-jfeevents_eventevaluation .form-control,
  .ce-jfeevents_eventevaluation .form-check-input {
    border-width: 2px;
  }
  .ce-jfeevents_eventevaluation .validation-summary {
    border: 2px solid ButtonText;
    background-color: ButtonFace;
  }
  .ce-jfeevents_eventevaluation .validation-summary .validation-summary-item::before {
    background-image: none;
    border: 1px solid ButtonText;
    border-radius: 50%;
  }
}
@media print {
  .ce-jfeevents_eventevaluation .form-control,
  .ce-jfeevents_eventevaluation .form-check-input {
    border: 1px solid black !important;
    box-shadow: none !important;
  }
  .ce-jfeevents_eventevaluation .validation-summary {
    border: 2px solid black !important;
    background-color: white !important;
  }
  .ce-jfeevents_eventevaluation .validation-summary .alert-heading,
  .ce-jfeevents_eventevaluation .validation-summary .alert-message,
  .ce-jfeevents_eventevaluation .validation-summary .validation-summary-item a {
    color: black !important;
  }
  .ce-jfeevents_eventevaluation .validation-summary .validation-summary-item::before {
    display: none !important;
  }
}
.ce-jfeevents_eventevaluation__form {
  background: #ffffff;
  border-radius: 0;
  box-shadow: none;
  padding: 2rem;
}
.ce-jfeevents_eventevaluation__instructions {
  background-color: #f3f3f2;
  padding: 1.5rem;
  border-radius: 0;
  border-left: 4px solid #009ddf;
  margin-bottom: 2rem;
}
.ce-jfeevents_eventevaluation__instructions p {
  margin-bottom: 0.5rem;
  line-height: 1.5;
  color: #000000;
}
.ce-jfeevents_eventevaluation__instructions p:last-child {
  margin-bottom: 0;
}
.ce-jfeevents_eventevaluation__instructions strong {
  color: #000000;
  font-weight: 700;
}
.ce-jfeevents_eventevaluation__section {
  margin-bottom: 3rem;
  padding: 2rem;
  background: #ffffff;
  border-radius: 0;
  border: 1px solid #f3f3f2;
}
.ce-jfeevents_eventevaluation__section h2 {
  color: #000000;
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid #009ddf;
}
.ce-jfeevents_eventevaluation__rating-fieldset {
  border: 2px solid #f3f3f2;
  border-radius: 0;
  padding: 1.5rem;
  margin: 0 0 1.5rem 0;
  background: #f3f3f2;
  transition: border-color 0.2s ease;
}
.ce-jfeevents_eventevaluation__rating-fieldset legend {
  font-weight: 700;
  color: #000000;
  padding: 0 0.75rem;
  margin-bottom: 1rem;
  font-size: 1rem;
  border: none;
  width: auto;
  float: none;
  background: #ffffff;
  border-radius: 0;
}
.ce-jfeevents_eventevaluation__rating-fieldset:focus-within {
  border-color: #009ddf;
  box-shadow: none;
}
.ce-jfeevents_eventevaluation__rating-fieldset:hover {
  border-color: #009ddf;
}
.ce-jfeevents_eventevaluation__rating-inputs {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.ce-jfeevents_eventevaluation__rating-inputs .form-check {
  margin-right: 0;
  padding-left: 0;
  display: flex;
  align-items: center;
  min-height: 44px;
  margin-bottom: 0;
  position: relative;
}
.ce-jfeevents_eventevaluation__rating-inputs .form-check-input {
  position: relative;
  left: auto;
  top: auto;
  margin-right: 0.75rem;
  cursor: pointer;
  width: 20px;
  height: 20px;
  margin: 0 0.75rem 0 0;
  background-color: #ffffff;
  border: 1px solid #f3f3f2;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.ce-jfeevents_eventevaluation__rating-inputs .form-check-input:focus {
  border-color: #009ddf;
  box-shadow: 0 0 0 0.25rem rgba(0, 157, 223, 0.25);
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.ce-jfeevents_eventevaluation__rating-inputs .form-check-input:checked {
  background-color: #009ddf;
  border-color: #009ddf;
}
@media (prefers-contrast: high) {
  .ce-jfeevents_eventevaluation__rating-inputs .form-check-input:checked {
    background-color: #000000;
    border-color: #000000;
  }
}
@media (prefers-contrast: high) {
  .ce-jfeevents_eventevaluation__rating-inputs .form-check-input {
    border-width: 2px;
  }
}
.ce-jfeevents_eventevaluation__rating-inputs .form-check-input[type=radio] {
  border-radius: 50%;
}
.ce-jfeevents_eventevaluation__rating-inputs .form-check-input[type=radio]:checked {
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%272%27 fill=%27%23fff%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1rem 1rem;
}
.ce-jfeevents_eventevaluation__rating-inputs .form-check-input::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
}
.ce-jfeevents_eventevaluation__rating-inputs .form-check-input:hover:not(:disabled) {
  border-color: #009ddf;
}
.ce-jfeevents_eventevaluation__rating-inputs .form-check-input:disabled {
  background-color: #f3f3f2;
  border-color: rgb(189, 189, 189);
  cursor: not-allowed;
  opacity: 0.5;
}
.ce-jfeevents_eventevaluation__rating-inputs .form-check-label {
  cursor: pointer;
  margin-bottom: 0;
  font-weight: 600;
  color: #000000;
  min-height: 24px;
  display: flex;
  align-items: center;
  font-size: 1rem;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.ce-jfeevents_eventevaluation__rating-inputs .form-check-label:hover {
  color: #009ddf;
}
.form-check-input:checked + .ce-jfeevents_eventevaluation__rating-inputs .form-check-label {
  color: #009ddf;
  font-weight: 700;
}
.ce-jfeevents_eventevaluation__rating-inputs .form-check-label.disabled {
  color: rgb(189, 189, 189);
  cursor: not-allowed;
  opacity: 0.5;
}
.ce-jfeevents_eventevaluation__form-actions {
  padding: 2rem;
  background: #f3f3f2;
  border-radius: 0;
  text-align: center;
  margin-top: 2rem;
}
.ce-jfeevents_eventevaluation__form-actions .btn[aria-busy=true] {
  opacity: 0.7;
  cursor: not-allowed;
}
.ce-jfeevents_eventevaluation__form-actions .btn[aria-busy=true]::after {
  content: "...";
  animation: dots 1.5s infinite;
}
.ce-jfeevents_eventevaluation__form-actions .form-text {
  margin-top: 1rem;
  font-style: italic;
  color: rgb(105, 105, 105);
  line-height: 1.4;
}
.ce-jfeevents_eventevaluation__character-counter {
  font-size: 0.875rem;
  color: rgb(189, 189, 189);
  margin-top: 0.5rem;
  text-align: right;
}
.ce-jfeevents_eventevaluation__character-counter.text-warning {
  color: #ffcc00;
  font-weight: 600;
}
.ce-jfeevents_eventevaluation__character-counter.text-danger {
  color: #dc3545;
  font-weight: 700;
}
.ce-jfeevents_eventevaluation__event-info {
  color: #ffffff;
  padding: 2rem;
  border-radius: 0;
  margin-bottom: 2rem;
}
.ce-jfeevents_eventevaluation__event-info h2 {
  color: #ffffff;
  margin-bottom: 0.75rem;
  border-bottom: none;
  font-size: 1.5rem;
}
.ce-jfeevents_eventevaluation__event-info p {
  opacity: 0.9;
  margin: 0;
  font-size: 1rem;
}
.ce-jfeevents_eventevaluation__event-info time {
  font-weight: 600;
}
.ce-jfeevents_eventevaluation__live-region {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@media (prefers-reduced-motion: reduce) {
  .ce-jfeevents_eventevaluation * {
    transition: none !important;
    animation: none !important;
  }
}
@media print {
  .ce-jfeevents_eventevaluation__instructions {
    border-left: 3px solid #000000;
    background: transparent;
    border-radius: 0;
  }
  .ce-jfeevents_eventevaluation__rating-fieldset {
    border: 2px solid #000000;
    background: transparent;
  }
  .ce-jfeevents_eventevaluation__rating-fieldset .form-check-input:checked + .form-check-label {
    font-weight: bold;
  }
  .ce-jfeevents_eventevaluation__rating-fieldset .form-check-input:checked + .form-check-label::after {
    content: " ✓";
    font-weight: bold;
  }
  .ce-jfeevents_eventevaluation__section {
    background: transparent;
    border: 1px solid #000000;
  }
  .ce-jfeevents_eventevaluation__form-actions {
    background: transparent;
  }
}
@keyframes dots {
  0%, 20% {
    color: rgba(0, 0, 0, 0);
    text-shadow: 0.25em 0 0 rgba(0, 0, 0, 0), 0.5em 0 0 rgba(0, 0, 0, 0);
  }
  40% {
    color: #ffffff;
    text-shadow: 0.25em 0 0 rgba(0, 0, 0, 0), 0.5em 0 0 rgba(0, 0, 0, 0);
  }
  60% {
    text-shadow: 0.25em 0 0 #ffffff, 0.5em 0 0 rgba(0, 0, 0, 0);
  }
  80%, 100% {
    text-shadow: 0.25em 0 0 #ffffff, 0.5em 0 0 #ffffff;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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WyJ3ZWJwYWNrOi8vanVnZW5kLWZ1ZXItZXVyb3BhLy4vYXNzZXRzL3Njc3MvcGx1Z2lucy9jZV9qZmVldmVudHNfZXZlbnRldmFsdWF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vanVnZW5kLWZ1ZXItZXVyb3BhLy4vYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fZm9ybS1jb21wb25lbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vanVnZW5kLWZ1ZXItZXVyb3BhLy4vYXNzZXRzL3Njc3MvZ2xvYmFsL19icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovL2p1Z2VuZC1mdWVyLWV1cm9wYS8uL2Fzc2V0cy9zY3NzL2dsb2JhbC9fY29sb3JzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gYXNzZXRzL3Njc3MvcGx1Z2lucy9jZV9qZmVldmVudHNfZXZlbnRldmFsdWF0aW9uLnNjc3NcbkB1c2UgJy4uL2dsb2JhbC9jb2xvcnMnIGFzIGNvbG9ycztcbkB1c2UgJy4uL2dsb2JhbC9icmVha3BvaW50cycgYXMgYnA7XG5AdXNlICcuLi9jb21wb25lbnRzL2Zvcm0tY29tcG9uZW50cyc7XG5cbi8vIGJsb2NrQ2xhc3NcbiRibG9jazogJ2NlLWpmZWV2ZW50c19ldmVudGV2YWx1YXRpb24nO1xuXG5cbiRib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xuJGJveC1zaGFkb3c6IG5vbmU7XG4kcmFkaW8tY2hlY2tlZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCclM2UlM2NjaXJjbGUgcj0nMicgZmlsbD0nJTIzZmZmJy8lM2UlM2Mvc3ZnJTNlXCIpICFkZWZhdWx0O1xuXG4uI3skYmxvY2t9IHtcbiAgICAvLyBJbmNsdWRlIHNwZWNpZmljIGZvcm0gY29tcG9uZW50cyAoZXhjbHVkaW5nIGZvcm0tY2hlY2tzKVxuICAgIEBpbmNsdWRlIGZvcm0tY29tcG9uZW50cy5mb3JtLWxhYmVscygpO1xuICAgIEBpbmNsdWRlIGZvcm0tY29tcG9uZW50cy5mb3JtLWNvbnRyb2xzKCk7XG4gICAgQGluY2x1ZGUgZm9ybS1jb21wb25lbnRzLmZvcm0tdmFsaWRhdGlvbigpO1xuICAgIEBpbmNsdWRlIGZvcm0tY29tcG9uZW50cy5mb3JtLWxheW91dCgpO1xuICAgIEBpbmNsdWRlIGZvcm0tY29tcG9uZW50cy5mb3JtLWFjY2Vzc2liaWxpdHkoKTtcblxuICAgIC8vIEZvcm0gY29udGFpbmVyXG4gICAgJl9fZm9ybSB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9ycy4kY29sb3Itd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbiAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICB9XG5cbiAgICAvLyBGb3JtIGluc3RydWN0aW9uc1xuICAgICZfX2luc3RydWN0aW9ucyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9ycy4kY29sb3ItamZlLWdyYXk7XG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgY29sb3JzLiRjb2xvci1qZmUtbGlnaHRibHVlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcnMuJGNvbG9yLWJsYWNrO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgY29sb3I6IGNvbG9ycy4kY29sb3ItYmxhY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRm9ybSBzZWN0aW9uc1xuICAgICZfX3NlY3Rpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcnMuJGNvbG9yLXdoaXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgY29sb3JzLiRjb2xvci1qZmUtZ3JheTtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBjb2xvcjogY29sb3JzLiRjb2xvci1ibGFjaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGNvbG9ycy4kY29sb3ItamZlLWxpZ2h0Ymx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJhdGluZyBmaWVsZHNldHMgLSBLZXkgYWNjZXNzaWJpbGl0eSBjb21wb25lbnRcbiAgICAmX19yYXRpbmctZmllbGRzZXQge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBjb2xvcnMuJGNvbG9yLWpmZS1ncmF5O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgcGFkZGluZzogMS41cmVtO1xuICAgICAgICBtYXJnaW46IDAgMCAxLjVyZW0gMDtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3JzLiRjb2xvci1qZmUtZ3JheTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZTtcblxuICAgICAgICBsZWdlbmQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcnMuJGNvbG9yLWJsYWNrO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwLjc1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcnMuJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFbmhhbmNlZCBmb2N1cyBzdHlsZXMgZm9yIGtleWJvYXJkIG5hdmlnYXRpb25cbiAgICAgICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcnMuJGNvbG9yLWpmZS1saWdodGJsdWU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhvdmVyIGVmZmVjdCBmb3IgYmV0dGVyIFVYXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcnMuJGNvbG9yLWpmZS1saWdodGJsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSYXRpbmcgaW5wdXRzIGNvbnRhaW5lciAtIENVU1RPTSBGT1JNLUNIRUNLIElNUExFTUVOVEFUSU9OXG4gICAgJl9fcmF0aW5nLWlucHV0cyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgLy8gQ3VzdG9tIGZvcm0gY2hlY2sgc3R5bGluZyBmb3IgcmF0aW5nIGlucHV0c1xuICAgICAgICAuZm9ybS1jaGVjayB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQ0cHg7IC8vIE1pbmltdW0gdG91Y2ggdGFyZ2V0IGZvciBhY2Nlc3NpYmlsaXR5XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmLWlucHV0IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIE92ZXJyaWRlIGFic29sdXRlIHBvc2l0aW9uaW5nIGZyb20gc3RhbmRhcmQgZm9ybS1jaGVja3NcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMC43NXJlbSAwIDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3JzLiRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcnMuJGNvbG9yLWpmZS1ncmF5O1xuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAwLjJzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3cgMC4ycyBlYXNlO1xuXG4gICAgICAgICAgICAgICAgLy8gRW5oYW5jZWQgZm9jdXMgc3R5bGVzIGZvciBiZXR0ZXIgdmlzaWJpbGl0eVxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGNvbG9ycy4kY29sb3ItamZlLWxpZ2h0Ymx1ZTtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSByZ2JhKGNvbG9ycy4kY29sb3ItamZlLWxpZ2h0Ymx1ZSwgMC4yNSk7XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsgLy8gRm9yIFdpbmRvd3MgaGlnaCBjb250cmFzdFxuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIEJldHRlciB2aXN1YWwgZmVlZGJhY2sgZm9yIGNoZWNrZWQgc3RhdGVcbiAgICAgICAgICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcnMuJGNvbG9yLWpmZS1saWdodGJsdWU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogY29sb3JzLiRjb2xvci1qZmUtbGlnaHRibHVlO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIEhpZ2ggY29udHJhc3Qgc3VwcG9ydFxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IGhpZ2gpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9ycy4kY29sb3ItYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGNvbG9ycy4kY29sb3ItYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBIaWdoIGNvbnRyYXN0IG1vZGUgZ2VuZXJhbCBzdXBwb3J0XG4gICAgICAgICAgICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0OiBoaWdoKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIFJhZGlvIGJ1dHRvbiBzcGVjaWZpYyBzdHlsaW5nXG4gICAgICAgICAgICAgICAgJlt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gUmFkaW8gZG90XG4gICAgICAgICAgICAgICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkcmFkaW8tY2hlY2tlZC1pbWFnZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIEVuc3VyZSBtaW5pbXVtIHRvdWNoIHRhcmdldFxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDQ0cHg7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gSG92ZXIgc3RhdGVcbiAgICAgICAgICAgICAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcnMuJGNvbG9yLWpmZS1saWdodGJsdWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAgICAgICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3JzLiRjb2xvci1qZmUtZ3JheTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcnMuJGNvbG9yLWpmZS1ncmF5LWRhcms7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtbGFiZWwge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgY29sb3I6IGNvbG9ycy4kY29sb3ItYmxhY2s7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMjRweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAgICAgICAgICAgLy8gSG92ZXIgZWZmZWN0IGZvciBiZXR0ZXIgVVhcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbG9ycy4kY29sb3ItamZlLWxpZ2h0Ymx1ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBBY3RpdmUgc3RhdGUgd2hlbiByYWRpbyBpcyBzZWxlY3RlZFxuICAgICAgICAgICAgICAgIC5mb3JtLWNoZWNrLWlucHV0OmNoZWNrZWQgKyAmIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbG9ycy4kY29sb3ItamZlLWxpZ2h0Ymx1ZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICAgICAgICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29sb3JzLiRjb2xvci1qZmUtZ3JheS1kYXJrO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRm9ybSBhY3Rpb25zIGFyZWFcbiAgICAmX19mb3JtLWFjdGlvbnMge1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcnMuJGNvbG9yLWpmZS1ncmF5O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuXG4gICAgICAgIC5idG4ge1xuXG4gICAgICAgICAgICAvLyBMb2FkaW5nIHN0YXRlXG4gICAgICAgICAgICAmW2FyaWEtYnVzeT1cInRydWVcIl0ge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIi4uLlwiO1xuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb246IGRvdHMgMS41cyBpbmZpbml0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZm9ybS10ZXh0IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICBjb2xvcjogY29sb3JzLiRjb2xvci1qZmUtZ3JheS1kYXJrZXI7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2hhcmFjdGVyIGNvdW50ZXIgc3R5bGluZ1xuICAgICZfX2NoYXJhY3Rlci1jb3VudGVyIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgY29sb3I6IGNvbG9ycy4kY29sb3ItamZlLWdyYXktZGFyaztcbiAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICAmLnRleHQtd2FybmluZyB7XG4gICAgICAgICAgICBjb2xvcjogY29sb3JzLiRjb2xvci1qZmUteWVsbG93O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYudGV4dC1kYW5nZXIge1xuICAgICAgICAgICAgY29sb3I6IGNvbG9ycy4kY29sb3ItZXJyb3I7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZXZlbnQtaW5mbyB7XG4gICAgICAgIGNvbG9yOiBjb2xvcnMuJGNvbG9yLXdoaXRlO1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBjb2xvcjogY29sb3JzLiRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRpbWUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpdmUtcmVnaW9uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgfVxufVxuXG5cblxuLy8gUmVkdWNlZCBtb3Rpb24gc3VwcG9ydFxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuI3skYmxvY2t9IHtcbiAgICAgICAgKiB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBhbmltYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gUHJpbnQgc3R5bGVzXG5AbWVkaWEgcHJpbnQge1xuICAgIC4jeyRibG9ja30ge1xuICAgICAgICAmX19pbnN0cnVjdGlvbnMge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCBjb2xvcnMuJGNvbG9yLWJsYWNrO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3JhdGluZy1maWVsZHNldCB7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBjb2xvcnMuJGNvbG9yLWJsYWNrO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgIC5mb3JtLWNoZWNrLWlucHV0OmNoZWNrZWQgKyAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIOKck1wiO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19zZWN0aW9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgY29sb3JzLiRjb2xvci1ibGFjaztcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2Zvcm0tYWN0aW9ucyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gTG9hZGluZyBkb3RzIGFuaW1hdGlvblxuQGtleWZyYW1lcyBkb3RzIHtcbiAgICAwJSwgMjAlIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICAgIHRleHQtc2hhZG93OlxuICAgICAgICAgICAgLjI1ZW0gMCAwIHJnYmEoMCwgMCwgMCwgMCksXG4gICAgICAgICAgICAuNWVtIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICAgIH1cbiAgICA0MCUge1xuICAgICAgICBjb2xvcjogY29sb3JzLiRjb2xvci13aGl0ZTtcbiAgICAgICAgdGV4dC1zaGFkb3c6XG4gICAgICAgICAgICAuMjVlbSAwIDAgcmdiYSgwLCAwLCAwLCAwKSxcbiAgICAgICAgICAgIC41ZW0gMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgfVxuICAgIDYwJSB7XG4gICAgICAgIHRleHQtc2hhZG93OlxuICAgICAgICAgICAgLjI1ZW0gMCAwIGNvbG9ycy4kY29sb3Itd2hpdGUsXG4gICAgICAgICAgICAuNWVtIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICAgIH1cbiAgICA4MCUsIDEwMCUge1xuICAgICAgICB0ZXh0LXNoYWRvdzpcbiAgICAgICAgICAgIC4yNWVtIDAgMCBjb2xvcnMuJGNvbG9yLXdoaXRlLFxuICAgICAgICAgICAgLjVlbSAwIDAgY29sb3JzLiRjb2xvci13aGl0ZTtcbiAgICB9XG59XG4iLCIvLyBhc3NldHMvc2Nzcy9jb21wb25lbnRzL19mb3JtLWNvbXBvbmVudHMuc2Nzc1xuQHVzZSAnLi4vZ2xvYmFsL2NvbG9ycycgYXMgY29sb3JzO1xuQHVzZSAnLi4vZ2xvYmFsL2JyZWFrcG9pbnRzJyBhcyBicDtcblxuLyoqXG4gKiBVbml2ZXJzYWwgZm9ybSBjb21wb25lbnRzIHN0eWxpbmcgLSBNb2R1bGFyIGFwcHJvYWNoXG4gKiBCYWNrd2FyZHMgY29tcGF0aWJsZSB3aXRoIGV4aXN0aW5nIGZvcm0tY29tcG9uZW50cygpIG1peGluXG4gKi9cblxuLy8gVmlzdWFsIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzIChzaGFyZWQgYWNyb3NzIGFsbCBtaXhpbnMpXG4kb3V0bGluZS13aWR0aDogMnB4ICFkZWZhdWx0O1xuJG91dGxpbmUtb2Zmc2V0OiAycHggIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycyAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWVhc2luZzogZWFzZSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xuJGJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGZvY3VzLWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xuJG1pbi10b3VjaC1zaXplOiA0NHB4ICFkZWZhdWx0O1xuXG4vLyBDb2xvcnMgLSB1c2luZyBDU1MgdmFyaWFibGVzIGZvciB0aGVtZSBmbGV4aWJpbGl0eVxuJGZvcm0tcHJpbWFyeS1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSwgY29sb3JzLiRjb2xvci1qZmUtbGlnaHRibHVlKSAhZGVmYXVsdDtcbiRmb3JtLXNlY29uZGFyeS1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LCBjb2xvcnMuJGNvbG9yLWpmZS15ZWxsb3cpICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2ssIGNvbG9ycy4kY29sb3ItYmxhY2spICFkZWZhdWx0O1xuJGZvcm0tYmctY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlLCBjb2xvcnMuJGNvbG9yLXdoaXRlKSAhZGVmYXVsdDtcbiRmb3JtLWJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2ssIGNvbG9ycy4kY29sb3ItYmxhY2spICFkZWZhdWx0O1xuJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LCBjb2xvcnMuJGNvbG9yLWpmZS1saWdodGJsdWUpICFkZWZhdWx0O1xuJGZvcm0tZXJyb3ItY29sb3I6IHZhcigtLWNvbG9yLWVycm9yLCBjb2xvcnMuJGNvbG9yLWVycm9yKSAhZGVmYXVsdDtcbiRmb3JtLXN1Y2Nlc3MtY29sb3I6ICM5NURGMDAgIWRlZmF1bHQ7XG4kZm9ybS1kaXNhYmxlZC1iZy1jb2xvcjogdmFyKC0tY29sb3ItamZlLWdyYXksIGNvbG9ycy4kY29sb3ItamZlLWdyYXkpICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtdGV4dC1jb2xvcjogdmFyKC0tY29sb3ItamZlLWdyYXktZGFyaywgY29sb3JzLiRjb2xvci1qZmUtZ3JheS1kYXJrKSAhZGVmYXVsdDtcbiRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1qZmUtZ3JheS1kYXJrZXIsIGNvbG9ycy4kY29sb3ItamZlLWdyYXktZGFya2VyKSAhZGVmYXVsdDtcblxuJHJhZGlvLWNoZWNrZWQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNlJTNjY2lyY2xlIHI9JzInIGZpbGw9JyUyM2ZmZicvJTNlJTNjL3N2ZyUzZVwiKSAhZGVmYXVsdDtcblxuLyoqXG4gKiBGb3JtIExhYmVscyBNaXhpblxuICovXG5AbWl4aW4gZm9ybS1sYWJlbHMoKSB7XG4gICAgLmZvcm0tbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogJGZvcm0tdGV4dC1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgICAgIC8vIFJlcXVpcmVkIGZpZWxkIGluZGljYXRvclxuICAgICAgICAmLnJlcXVpcmVkOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIiAqXCI7XG4gICAgICAgICAgICBjb2xvcjogJGZvcm0tZXJyb3ItY29sb3I7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlcXVpcmVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBMYWJlbCBmb3Igc2NyZWVuIHJlYWRlcnMgb25seVxuICAgICAgICAmLnNyLW9ubHkge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxlZ2VuZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG59XG5cbi8qKlxuICogRm9ybSBDb250cm9scyBNaXhpbiAoSW5wdXQsIFRleHRhcmVhLCBTZWxlY3QpXG4gKi9cbkBtaXhpbiBmb3JtLWNvbnRyb2xzKCkge1xuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgY29sb3I6ICRmb3JtLXRleHQtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWJnLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkZm9ybS1ib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZyxcbiAgICAgICAgICAgIGJveC1zaGFkb3cgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nO1xuXG4gICAgICAgIC8vIFBsYWNlaG9sZGVyIHN0eWxpbmdcbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhvdmVyIHN0YXRlXG4gICAgICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvY3VzIHN0YXRlXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRvdXRsaW5lLXdpZHRoIHJnYmEoJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yLCAwLjI1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAgICZbcmVhZG9ubHldIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWRpc2FibGVkLWJnLWNvbG9yO1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLWRpc2FibGVkLXRleHQtY29sb3I7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEludmFsaWQgc3RhdGUgKG9ubHkgd2l0aCBleHBsaWNpdCBjbGFzcylcbiAgICAgICAgJi5pcy1pbnZhbGlkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkb3V0bGluZS13aWR0aCByZ2JhKCRmb3JtLWVycm9yLWNvbG9yLCAwLjI1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFZhbGlkIHN0YXRlIChvbmx5IHdpdGggZXhwbGljaXQgY2xhc3MpXG4gICAgICAgICYuaXMtdmFsaWQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGZvcm0tc3VjY2Vzcy1jb2xvcjtcblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGZvcm0tc3VjY2Vzcy1jb2xvcjtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkb3V0bGluZS13aWR0aCByZ2JhKCRmb3JtLXN1Y2Nlc3MtY29sb3IsIDAuMjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGV4dGFyZWEgc3BlY2lmaWMgc3R5bGluZ1xuICAgIHRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4O1xuICAgICAgICByZXNpemU6IHZlcnRpY2FsO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJGZvcm0tYm9yZGVyLWNvbG9yO1xuICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRmb3JtLWJvcmRlci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJGZvcm0tYm9yZGVyLWNvbG9yO1xuXG4gICAgICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNlbGVjdCBzcGVjaWZpYyBzdHlsaW5nIChleGNsdWRpbmcgbXVsdGlzZWxlY3QpXG4gICAgc2VsZWN0LmZvcm0tY29udHJvbDpub3QoW211bHRpcGxlXSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWFnZXMvaWNvbnMvU1ZHL1VJL0ljb25BcnJvd0FjY29yZGlvbi0tRG93bi5zdmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuNzVyZW0gY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTJweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMi41cmVtO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRmb3JtLWJvcmRlci1jb2xvcjtcblxuICAgICAgICAvLyBSZW1vdmUgZGVmYXVsdCBhcnJvdyBpbiBJRVxuICAgICAgICAmOjotbXMtZXhwYW5kIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIb3ZlciBzdGF0ZSBmb3Igc2VsZWN0XG4gICAgICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvY3VzIHN0YXRlIGZvciBzZWxlY3RcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWFnZXMvaWNvbnMvU1ZHL1VJL0ljb25BcnJvd0FjY29yZGlvbi0tVXAuc3ZnXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW52YWxpZCBzdGF0ZSAob25seSB3aXRoIGV4cGxpY2l0IGNsYXNzKVxuICAgICAgICAmLmlzLWludmFsaWQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGZvcm0tZXJyb3ItY29sb3I7XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gVmFsaWQgc3RhdGUgKG9ubHkgd2l0aCBleHBsaWNpdCBjbGFzcylcbiAgICAgICAgJi5pcy12YWxpZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1zdWNjZXNzLWNvbG9yO1xuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1zdWNjZXNzLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIEZvcm0gQ2hlY2tzIE1peGluIChSYWRpbyAmIENoZWNrYm94KVxuICovXG5AbWl4aW4gZm9ybS1jaGVja3MoKSB7XG4gICAgLmZvcm0tY2hlY2sge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWluLWhlaWdodDogMS41cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC8vIEZvcm0gY2hlY2sgaW5wdXQgKHJhZGlvICYgY2hlY2tib3gpXG4gICAgICAgIC5mb3JtLWNoZWNrLWlucHV0LFxuICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgICAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDAuMjVyZW07XG4gICAgICAgICAgICB3aWR0aDogMS4yNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWJnLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRmb3JtLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nLFxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1lYXNpbmcsXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdyAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1lYXNpbmc7XG5cbiAgICAgICAgICAgIC8vIEVuc3VyZSBtaW5pbXVtIHRvdWNoIHRhcmdldCBzaXplXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRtaW4tdG91Y2gtc2l6ZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRtaW4tdG91Y2gtc2l6ZTtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6ICRtaW4tdG91Y2gtc2l6ZTtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAkbWluLXRvdWNoLXNpemU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEhvdmVyIHN0YXRlXG4gICAgICAgICAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRm9jdXMgc3RhdGVcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJG91dGxpbmUtd2lkdGggcmdiYSgkZm9ybS1mb2N1cy1ib3JkZXItY29sb3IsIDAuMjUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBDaGVja2VkIHN0YXRlXG4gICAgICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAgICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWRpc2FibGVkLWJnLWNvbG9yO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGZvcm0tZGlzYWJsZWQtdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gSW52YWxpZCBzdGF0ZSAob25seSB3aXRoIGV4cGxpY2l0IGNsYXNzKVxuICAgICAgICAgICAgJi5pcy1pbnZhbGlkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRvdXRsaW5lLXdpZHRoIHJnYmEoJGZvcm0tZXJyb3ItY29sb3IsIDAuMjUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENoZWNrYm94IHNwZWNpZmljIHN0eWxpbmdcbiAgICAgICAgLmZvcm0tY2hlY2staW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcblxuICAgICAgICAgICAgLy8gQ2hlY2ttYXJrXG4gICAgICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNlJTNjcGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyUyM2ZmZicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzMnIGQ9J002IDEwbDMgMyA2LTYnLyUzZSUzYy9zdmclM2VcIik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxcmVtIDFyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEluZGV0ZXJtaW5hdGUgc3RhdGVcbiAgICAgICAgICAgICY6aW5kZXRlcm1pbmF0ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNlJTNjcGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyUyM2ZmZicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzMnIGQ9J002IDEwaDgnLyUzZSUzYy9zdmclM2VcIik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxcmVtIDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSYWRpbyBidXR0b24gc3BlY2lmaWMgc3R5bGluZ1xuICAgICAgICAuZm9ybS1jaGVjay1pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgICAgIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgICAgICAgICAvLyBSYWRpbyBkb3RcbiAgICAgICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJHJhZGlvLWNoZWNrZWQtaW1hZ2U7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxcmVtIDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3JtIGNoZWNrIGxhYmVsXG4gICAgICAgIC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS10ZXh0LWNvbG9yO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgICAgICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAgICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZm9ybS1kaXNhYmxlZC10ZXh0LWNvbG9yO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW5saW5lIGZvcm0gY2hlY2tzXG4gICAgLmZvcm0tY2hlY2staW5saW5lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgnc20nKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBGb3JtIFZhbGlkYXRpb24gTWl4aW5cbiAqL1xuQG1peGluIGZvcm0tdmFsaWRhdGlvbigpIHtcbiAgICAvLyBGb3JtIHRleHQgKGhlbHAgdGV4dCwgZXJyb3IgbWVzc2FnZXMpXG4gICAgLmZvcm0tdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3I7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICAgICAgLy8gRXJyb3IgdGV4dFxuICAgICAgICAmLnRleHQtZGFuZ2VyLFxuICAgICAgICAmLmludmFsaWQtZmVlZGJhY2sge1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3VjY2VzcyB0ZXh0XG4gICAgICAgICYudGV4dC1zdWNjZXNzLFxuICAgICAgICAmLnZhbGlkLWZlZWRiYWNrIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS1zdWNjZXNzLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW52YWxpZCBmZWVkYmFjayAoZXJyb3IgbWVzc2FnZXMpXG4gICAgLmludmFsaWQtZmVlZGJhY2sge1xuICAgICAgICBkaXNwbGF5OiBub25lOyAvLyBJbml0aWFsbHkgaGlkZGVuXG4gICAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGNvbG9yOiAkZm9ybS10ZXh0LWNvbG9yO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLXRleHQtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzZSUzY3BhdGggZmlsbD0nJTIzMDAwJyBkPSdNMi4xNDYgMi44NTRhLjUuNSAwIDEgMSAuNzA4LS43MDhMOCA3LjI5M2w1LjE0Ni01LjE0N2EuNS41IDAgMCAxIC43MDguNzA4TDguNzA3IDhsNS4xNDcgNS4xNDZhLjUuNSAwIDAgMS0uNzA4LjcwOEw4IDguNzA3bC01LjE0NiA1LjE0N2EuNS41IDAgMCAxLS43MDgtLjcwOEw3LjI5MyA4IDIuMTQ2IDIuODU0WicvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA3NSUgNzUlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJGZvcm0tZXJyb3ItY29sb3I7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSBzaG93IHdoZW4gcGFyZW50IGhhcyBpbnZhbGlkIGZpZWxkXG4gICAgICAgIC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZH4mLFxuICAgICAgICAuZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkfiYge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBWYWxpZCBmZWVkYmFjayAoc3VjY2VzcyBtZXNzYWdlcylcbiAgICAudmFsaWQtZmVlZGJhY2sge1xuICAgICAgICBkaXNwbGF5OiBub25lOyAvLyBJbml0aWFsbHkgaGlkZGVuXG4gICAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGNvbG9yOiAkZm9ybS1zdWNjZXNzLWNvbG9yO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgICAgIC8vIE9ubHkgc2hvdyB3aGVuIHBhcmVudCBoYXMgdmFsaWQgZmllbGRcbiAgICAgICAgLmZvcm0tY29udHJvbC5pcy12YWxpZH4mLFxuICAgICAgICAuZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZH4mIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGlvbiBTdW1tYXJ5IFN0eWxlc1xuICAgIC52YWxpZGF0aW9uLXN1bW1hcnkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGZvcm0tZXJyb3ItY29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWVycm9yLCAje2NvbG9ycy4kY29sb3ItZXJyb3J9KSA1JSwgdmFyKC0tY29sb3Itd2hpdGUsICN7Y29sb3JzLiRjb2xvci13aGl0ZX0pKTtcblxuICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCdzbScpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFsZXJ0LWhlYWRpbmcge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC43NXJlbSAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBjb2xvcjogJGZvcm0tZXJyb3ItY29sb3I7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCdzbScpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYWxlcnQtbWVzc2FnZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItZXJyb3IsICN7Y29sb3JzLiRjb2xvci1lcnJvcn0pIDg1JSwgYmxhY2spO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgnc20nKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGlvbiBTdW1tYXJ5IExpc3RcbiAgICAudmFsaWRhdGlvbi1zdW1tYXJ5LWxpc3Qge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICAgLnZhbGlkYXRpb24tc3VtbWFyeS1pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBFcnJvciBpY29uXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogMC4ycmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzZSUzY3BhdGggZmlsbD0nJTIzZGMzNTQ1JyBkPSdNOCAxNUE3IDcgMCAxIDEgOCAxYTcgNyAwIDAgMSAwIDE0em0wIDFBOCA4IDAgMSAwIDggMGE4IDggMCAwIDAgMCAxNnonLyUzZSUzY3BhdGggZmlsbD0nJTIzZGMzNTQ1JyBkPSdNNy4wMDIgMTFhMSAxIDAgMSAxIDIgMCAxIDEgMCAwIDEtMiAwek03LjEgNC45OTVhLjkwNS45MDUgMCAxIDEgMS44IDBsLS4zNSAzLjUwN2EuNTUyLjU1MiAwIDAgMS0xLjEgMEw3LjEgNC45OTV6Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGZvcm0tZXJyb3ItY29sb3I7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1lYXNpbmc7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWVycm9yLCAje2NvbG9ycy4kY29sb3ItZXJyb3J9KSA4NSUsIGJsYWNrKTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbmltYXRpb24gZm9yIHZhbGlkYXRpb24gc3VtbWFyeVxuICAgIC52YWxpZGF0aW9uLXN1bW1hcnkge1xuICAgICAgICBhbmltYXRpb246IHNsaWRlSW5Gcm9tVG9wIDAuM3MgZWFzZS1vdXQ7XG5cbiAgICAgICAgQGtleWZyYW1lcyBzbGlkZUluRnJvbVRvcCB7XG4gICAgICAgICAgICBmcm9tIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0byB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuICogRm9ybSBMYXlvdXQgTWl4aW4gKEZsb2F0aW5nLCBHcm91cHMsIEFjdGlvbnMpXG4gKi9cbkBtaXhpbiBmb3JtLWxheW91dCgpIHtcbiAgICAvLyBGb3JtIGZsb2F0aW5nIGxhYmVscyAoaWYgbmVlZGVkKVxuICAgIC5mb3JtLWZsb2F0aW5nIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAwLjc1cmVtIDAuNXJlbTtcblxuICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICY6bm90KDpwbGFjZWhvbGRlci1zaG93bikge1xuICAgICAgICAgICAgICAgIH5sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44NSkgdHJhbnNsYXRlWSgtMC41cmVtKSB0cmFuc2xhdGVYKDAuMTVyZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMC43NXJlbTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgICAgICBvcGFjaXR5ICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZyxcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRm9ybSBncm91cHMgZm9yIHNwYWNpbmdcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb3JtIHNlY3Rpb25zXG4gICAgLmZvcm0tc2VjdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBoMiwgaDMsIGg0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICBjb2xvcjogJGZvcm0tdGV4dC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXF1aXJlZCB7XG4gICAgICAgICAgICBjb2xvcjogJGZvcm0tZXJyb3ItY29sb3I7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRm9ybSBhY3Rpb25zIChidXR0b25zKVxuICAgIC5mb3JtLWFjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCdzbScpIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgnc20nKSB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuICogRm9ybSBBY2Nlc3NpYmlsaXR5IE1peGluXG4gKi9cbkBtaXhpbiBmb3JtLWFjY2Vzc2liaWxpdHkoKSB7XG4gICAgLy8gUmVkdWNlZCBtb3Rpb24gc3VwcG9ydFxuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIC5mb3JtLWNvbnRyb2wsXG4gICAgICAgIC5mb3JtLWNoZWNrLWlucHV0LFxuICAgICAgICAuZm9ybS1mbG9hdGluZyBsYWJlbCB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSGlnaCBjb250cmFzdCBtb2RlIHN1cHBvcnRcbiAgICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgICAuZm9ybS1jb250cm9sLFxuICAgICAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC52YWxpZGF0aW9uLXN1bW1hcnkge1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgQnV0dG9uVGV4dDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEJ1dHRvbkZhY2U7XG5cbiAgICAgICAgICAgIC52YWxpZGF0aW9uLXN1bW1hcnktaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEJ1dHRvblRleHQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUHJpbnQgc3R5bGVzXG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgLmZvcm0tY29udHJvbCxcbiAgICAgICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC52YWxpZGF0aW9uLXN1bW1hcnkge1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIC5hbGVydC1oZWFkaW5nLFxuICAgICAgICAgICAgLmFsZXJ0LW1lc3NhZ2UsXG4gICAgICAgICAgICAudmFsaWRhdGlvbi1zdW1tYXJ5LWl0ZW0gYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC52YWxpZGF0aW9uLXN1bW1hcnktaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuICogTWFpbiBmb3JtLWNvbXBvbmVudHMgbWl4aW4gLSBCQUNLV0FSRFMgQ09NUEFUSUJMRVxuICogSW5jbHVkZXMgYWxsIGZvcm0gc3R5bGluZyBjb21wb25lbnRzXG4gKi9cbkBtaXhpbiBmb3JtLWNvbXBvbmVudHMoKSB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbHMoKTtcbiAgICBAaW5jbHVkZSBmb3JtLWNvbnRyb2xzKCk7XG4gICAgQGluY2x1ZGUgZm9ybS1jaGVja3MoKTtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24oKTtcbiAgICBAaW5jbHVkZSBmb3JtLWxheW91dCgpO1xuICAgIEBpbmNsdWRlIGZvcm0tYWNjZXNzaWJpbGl0eSgpO1xufVxuIiwiLy8gQVVUTy1HRU5FUkFURUQgRklMRSBmcm9tIGJ1aWxkLWJyZWFrcG9pbnRzLmpzXG4vLyBETyBOT1QgRURJVCBESVJFQ1RMWVxuXG4vLyBJbXBvcnQgU2FzcyBtYXAgbW9kdWxlXG5AdXNlIFwic2FzczptYXBcIjtcblxuLy8gQnJlYWtwb2ludCB2YWx1ZXNcbiRicmVha3BvaW50LXNtOiA2NDBweDtcbiRicmVha3BvaW50LW1kOiA3NjhweDtcbiRicmVha3BvaW50LWxnOiAxMDI0cHg7XG4kYnJlYWtwb2ludC14bDogMTI4MHB4O1xuJGJyZWFrcG9pbnQtMnhsOiAxNTM2cHg7XG5cbi8vIE1hcCBmb3IgcHJvZ3JhbW1hdGljIGFjY2Vzc1xuJGJyZWFrcG9pbnRzOiAoXG4gICdzbSc6ICRicmVha3BvaW50LXNtLFxuICAnbWQnOiAkYnJlYWtwb2ludC1tZCxcbiAgJ2xnJzogJGJyZWFrcG9pbnQtbGcsXG4gICd4bCc6ICRicmVha3BvaW50LXhsLFxuICAnMnhsJzogJGJyZWFrcG9pbnQtMnhsXG4pO1xuXG4vLyBNaXhpbiBmb3IgZWFzeSBtZWRpYSBxdWVyaWVzIGJhc2VkIG9uIGRlZmluZWQgYnJlYWtwb2ludHNcbkBtaXhpbiBicmVha3BvaW50KCRwb2ludCkge1xuICBAaWYgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkcG9pbnQpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCgkYnJlYWtwb2ludHMsICRwb2ludCkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gXCJCcmVha3BvaW50ICcjeyRwb2ludH0nIGlzIG5vdCBkZWZpbmVkIGluICRicmVha3BvaW50cyBtYXAuXCI7XG4gIH1cbn1cblxuLy8gTWl4aW4gZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzIChzbWFsbGVyIHRoYW4gYSBicmVha3BvaW50KVxuQG1peGluIGJyZWFrcG9pbnQtZG93bigkcG9pbnQpIHtcbiAgQGlmIG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgJHBvaW50KSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkcG9pbnQpIC0gMXB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiQnJlYWtwb2ludCAnI3skcG9pbnR9JyBpcyBub3QgZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMgbWFwLlwiO1xuICB9XG59XG5cbi8vIE1peGluIGZvciBjcmVhdGluZyBzdHlsZXMgYmV0d2VlbiB0d28gYnJlYWtwb2ludHNcbkBtaXhpbiBicmVha3BvaW50LWJldHdlZW4oJG1pbiwgJG1heCkge1xuICBAaWYgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbWluKSBhbmQgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbWF4KSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkbWluKSkgYW5kIChtYXgtd2lkdGg6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkbWF4KSAtIDFweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAd2FybiBcIkJyZWFrcG9pbnQgJyN7JG1pbn0nIG9yICcjeyRtYXh9JyBpcyBub3QgZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMgbWFwLlwiO1xuICB9XG59XG4iLCIvLyBhc3NldHMvc2Nzcy9fY29sb3JzLnNjc3NcblxuLy8gQmFzZSBjb2xvcnMgZnJvbSBkZXNpZ24gZG9jdW1lbnRcbiRjb2xvci1qZmUtbGlnaHRibHVlOiAjMDA5ZGRmOyAgICAgICAgICAvLyBKRkUgbGlnaHQgYmx1ZVxuJGNvbG9yLWpmZS15ZWxsb3c6ICNmZmNjMDA7ICAgICAgICAgICAgIC8vIEpGRSB5ZWxsb3dcbiRjb2xvci1qZmUtYWxtb3N0LXdoaXRlOiAjZmFmYWZhOyAgICAgICAgLy8gSkZFIGFsbW9zdCB3aGl0ZSAoYmFja2dyb3VuZCBvcHRpb24pXG4kY29sb3ItamZlLWdyYXk6ICNmM2YzZjI7ICAgICAgICAgICAgICAgLy8gSkZFIGdyYXkgKGJhY2tncm91bmQgb3B0aW9uKVxuJGNvbG9yLWpmZS1ncmF5LW1lZGl1bTogI0NGQ0ZDRjsgICAgICAgIC8vIEpGRSBtZWRpdW0gZ3JheSAoZm9yIGJvcmRlcnMgZXRjLilcbiRjb2xvci1qZmUtZ3JheS1kYXJrOiByZ2JhKDE4OSwgMTg5LCAxODksIDEpOyAvLyBKRkUgZGFyayBncmF5IChmb3IgZGFya2VyIGJvcmRlcnMgZXRjLilcbiRjb2xvci1qZmUtZ3JheS1kYXJrZXI6cmdiYSgxMDUsIDEwNSwgMTA1LCAxKTsgLy8gSkZFIGRhcmtlciBncmF5IChGb3JtIGRlc2NyaXB0aW9uIHRleHQgZXRjLilcbi8vIFByb2dyYW0gc3BlY2lmaWMgY29sb3JzXG4kY29sb3ItZS1qdWdlbmQtYmx1ZTogIzAwMzM5OTsgICAgICAgICAgLy8gRXJhc211cysgWW91dGggYmx1ZVxuJGNvbG9yLWVzay1tYWdlbnRhOiAjZTUwMDZjOyAgICAgICAgICAgIC8vIEVTQyBtYWdlbnRhXG4kY29sb3ItZS1zcG9ydC1vcmFuZ2U6ICNlMzUzMGY7ICAgICAgICAgLy8gRXJhc211cysgU3BvcnQgb3JhbmdlXG5cbi8vIFV0aWxpdHkgY29sb3JzXG4kY29sb3Itd2hpdGU6ICNmZmZmZmY7ICAgICAgICAgICAgICAvLyBXaGl0ZSBjb2xvciBmb3IgYmFja2dyb3VuZHNcbiRjb2xvci1ibGFjazogIzAwMDAwMDsgICAgICAgICAgICAgIC8vIEJsYWNrIGNvbG9yIGZvciB0ZXh0XG4kY29sb3Itb3ZlcmxheS1zbTogcmdiYSgwLCAwLCAwLCAwLjMpO1xuJGNvbG9yLW92ZXJsYXktbWQ6IHJnYmEoMCwgMCwgMCwgMC42NSk7XG4kY29sb3Itb3ZlcmxheS1sZzogcmdiYSgwLCAwLCAwLCAwLjg1KTtcblxuLy8gU2Vjb25kYXJ5IGFuZCBkZXJpdmVkIGNvbG9yc1xuJGNvbG9yLWpmZS15ZWxsb3ctaG92ZXI6ICNFQkJDMDA7ICAgICAgIC8vIEhvdmVyIHN0YXRlIGZvciBKRkUgeWVsbG93XG4kY29sb3ItZS1qdWdlbmQtaG92ZXI6ICMwMDJiODA7ICAgICAgICAgLy8gSG92ZXIgc3RhdGUgZm9yIEVyYXNtdXMrIFlvdXRoIGJsdWVcbiRjb2xvci1lc2staG92ZXI6ICNkMDAwNjI7ICAgICAgICAgICAgICAvLyBIb3ZlciBzdGF0ZSBmb3IgRVNDIG1hZ2VudGFcbiRjb2xvci1lLXNwb3J0LWhvdmVyOiAjYzk0OTBkOyAgICAgICAgICAvLyBIb3ZlciBzdGF0ZSBmb3IgRXJhc211cysgU3BvcnQgb3JhbmdlXG5cbi8vIEVycm9yIGFuZCB3YXJuaW5nIGNvbG9yc1xuJGNvbG9yLWVycm9yOiAjZGMzNTQ1OyAgICAgICAgICAgICAgICAvLyBFcnJvciBjb2xvciAocmVkKVxuXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/