@import url(https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,300%3b0,400%3b0,500%3b0,700%3b0,800%3b0,900%3b1,400%3b1,700&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap);
body {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #18181B;
}

h1, .like-h1,
h2, .like-h2,
h3, .like-h3,
h4, .like-h4 {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-weight: 800;
}

h5, .like-h5,
h6, .like-h6 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}

.title-with-line.yellow:before {
  background-color: #FFFFFF;
}
.title-with-line:before {
  background-color: #FFFFFF;
}

strong {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
}

a {
  color: #0EBC93;
}
a:hover, a:focus {
  color: #0D6B54;
}

.primary-button {
  padding: 12px 20px;
  justify-content: center;
  align-items: center;
  border-radius: 16px;
  background: #00966B;
  border: 1px solid #00966B;
  color: #FFFFFF !important;
  display: flex;
  height: 56px;
  gap: 8px;
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  text-decoration: none;
  width: inherit;
  max-width: 385px;
  min-width: 250px;
}
@media (max-width: 575.98px) {
  .primary-button {
    max-width: 500px;
    width: 100%;
  }
}
.primary-button svg path, .primary-button svg line {
  stroke: #fff;
}
.primary-button.disabled, .primary-button.button-disabled {
  background-color: #E4E4E7 !important;
  color: #A1A1AA !important;
  border: 0 !important;
}
.primary-button.disabled svg path, .primary-button.disabled svg line, .primary-button.button-disabled svg path, .primary-button.button-disabled svg line {
  stroke: #A1A1AA;
}
.primary-button:not(.disabled):hover, .primary-button:not(.disabled):focus {
  background: #0D6B54;
  /* hover shadow */
  box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.15);
  color: #FFFFFF;
}
.primary-button:not(.disabled):active {
  border-radius: 16px;
  background: #084D3D;
  /* pressed shadow */
  box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1) inset;
  color: #FFFFFF;
}

.secondary-button {
  padding: 12px 20px;
  justify-content: center;
  align-items: center;
  border-radius: 16px;
  color: #00966B !important;
  border: 1px solid #00966B;
  background: var(--white, #FFF);
  display: flex;
  height: 56px;
  gap: 8px;
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  width: auto;
  text-decoration: none;
}
@media (max-width: 575.98px) {
  .secondary-button {
    width: 100%;
    height: 100%;
  }
}
.secondary-button svg path, .secondary-button svg line {
  stroke: #00966B;
}
.secondary-button.disabled {
  background-color: #E4E4E7;
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #A1A1AA;
}
.secondary-button:not(.disabled):hover, .secondary-button:not(.disabled):focus {
  background: #ECF5F2;
  /* hover shadow */
  box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.15);
  color: #00966B !important;
}
.secondary-button:not(.disabled):active {
  border: 1px solid #00966B;
  color: #00966B !important;
  box-shadow: none;
  background: #B8EEE5;
}
.secondary-button:not(.disabled):active svg path, .secondary-button:not(.disabled):active svg line {
  stroke: #00966B;
}

a.primary-btn, button.primary-btn {
  background-color: #0EBC93;
  box-shadow: 0 0 0 rgba(13, 107, 84, 0.3);
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  color: #FFFFFF;
}
a.primary-btn svg path, a.primary-btn svg line, button.primary-btn svg path, button.primary-btn svg line {
  stroke: #FFFFFF;
}
a.primary-btn .animated-bg-wrapper .animated-background, button.primary-btn .animated-bg-wrapper .animated-background {
  background-color: #0EBC93;
}
a.primary-btn.alt-colors, button.primary-btn.alt-colors {
  background-color: #FFFFFF;
  color: #0D6B54;
}
a.primary-btn.alt-colors svg path, a.primary-btn.alt-colors svg line, button.primary-btn.alt-colors svg path, button.primary-btn.alt-colors svg line {
  stroke: #0D6B54;
}
a.primary-btn.alt-colors .animated-bg-wrapper .animated-background, button.primary-btn.alt-colors .animated-bg-wrapper .animated-background {
  background-color: #e6e6e6;
}
a.primary-btn.disabled, button.primary-btn.disabled {
  background-color: #E4E4E7;
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #A1A1AA;
}
a.primary-btn:not(.disabled):hover, a.primary-btn:not(.disabled):focus, button.primary-btn:not(.disabled):hover, button.primary-btn:not(.disabled):focus {
  box-shadow: 0 10px 20px rgba(13, 107, 84, 0.3);
}
a.primary-btn:not(.disabled):active, a.primary-btn:not(.disabled):focus, button.primary-btn:not(.disabled):active, button.primary-btn:not(.disabled):focus {
  box-shadow: 0 5px 5px rgba(13, 107, 84, 0.3);
}
a.secondary-btn, button.secondary-btn {
  border-color: #0EBC93;
  background-color: #FFFFFF;
  box-shadow: 0 0 0 rgba(13, 107, 84, 0.3);
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  color: #0EBC93;
}
a.secondary-btn svg path, a.secondary-btn svg line, button.secondary-btn svg path, button.secondary-btn svg line {
  stroke: #0EBC93;
}
a.secondary-btn .animated-bg-wrapper .animated-background, button.secondary-btn .animated-bg-wrapper .animated-background {
  background-color: #0EBC93;
}
a.secondary-btn.disabled, button.secondary-btn.disabled {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
}
a.secondary-btn.alt-colors, button.secondary-btn.alt-colors {
  border-color: #FFFFFF;
  background-color: transparent;
  color: #FFFFFF;
}
a.secondary-btn.alt-colors svg path, a.secondary-btn.alt-colors svg line, button.secondary-btn.alt-colors svg path, button.secondary-btn.alt-colors svg line {
  stroke: #FFFFFF;
}
a.secondary-btn.alt-colors .animated-bg-wrapper .animated-background, button.secondary-btn.alt-colors .animated-bg-wrapper .animated-background {
  background-color: #FFFFFF;
}
a.secondary-btn.alt-colors:not(.disabled):hover, a.secondary-btn.alt-colors:not(.disabled):focus, button.secondary-btn.alt-colors:not(.disabled):hover, button.secondary-btn.alt-colors:not(.disabled):focus {
  color: #0D6B54;
}
a.secondary-btn.alt-colors:not(.disabled):hover svg path, a.secondary-btn.alt-colors:not(.disabled):hover svg line, a.secondary-btn.alt-colors:not(.disabled):focus svg path, a.secondary-btn.alt-colors:not(.disabled):focus svg line, button.secondary-btn.alt-colors:not(.disabled):hover svg path, button.secondary-btn.alt-colors:not(.disabled):hover svg line, button.secondary-btn.alt-colors:not(.disabled):focus svg path, button.secondary-btn.alt-colors:not(.disabled):focus svg line {
  stroke: #0D6B54;
}
a.secondary-btn.disabled, button.secondary-btn.disabled {
  border-color: #A1A1AA;
  background-color: #FFFFFF;
  color: #A1A1AA;
}
a.secondary-btn:not(.disabled):hover, a.secondary-btn:not(.disabled):focus, button.secondary-btn:not(.disabled):hover, button.secondary-btn:not(.disabled):focus {
  box-shadow: 0 10px 20px rgba(13, 107, 84, 0.3);
  color: #FFFFFF;
}
a.secondary-btn:not(.disabled):hover svg path, a.secondary-btn:not(.disabled):hover svg line, a.secondary-btn:not(.disabled):focus svg path, a.secondary-btn:not(.disabled):focus svg line, button.secondary-btn:not(.disabled):hover svg path, button.secondary-btn:not(.disabled):hover svg line, button.secondary-btn:not(.disabled):focus svg path, button.secondary-btn:not(.disabled):focus svg line {
  stroke: #FFFFFF;
}
a.secondary-btn:not(.disabled):active, a.secondary-btn:not(.disabled):focus, button.secondary-btn:not(.disabled):active, button.secondary-btn:not(.disabled):focus {
  box-shadow: 0 5px 5px rgba(13, 107, 84, 0.3);
}
a.tertiary-btn, button.tertiary-btn {
  background: linear-gradient(90deg, #0EBC93 33.3333333333%, transparent 0 66.6666666667%, #0EBC93 0) var(--d, 100%) 100%/300% 1px no-repeat;
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  color: #0EBC93;
}
a.tertiary-btn.green:not(.disabled):hover, a.tertiary-btn.green:not(.disabled):focus, button.tertiary-btn.green:not(.disabled):hover, button.tertiary-btn.green:not(.disabled):focus {
  background: linear-gradient(90deg, #0D6B54 33.3333333333%, transparent 0 66.6666666667%, #0D6B54 0) var(--d, 100%) 100%/300% 1px no-repeat;
  color: #0D6B54;
}
a.tertiary-btn.alt-colors, button.tertiary-btn.alt-colors {
  background: linear-gradient(90deg, #FFFFFF 33.3333333333%, transparent 0 66.6666666667%, #FFFFFF 0) var(--d, 100%) 100%/300% 1px no-repeat;
  color: #FFFFFF;
}
a.tertiary-btn.alt-colors:not(.disabled):hover, a.tertiary-btn.alt-colors:not(.disabled):focus, button.tertiary-btn.alt-colors:not(.disabled):hover, button.tertiary-btn.alt-colors:not(.disabled):focus {
  background: linear-gradient(90deg, #FFFFFF 33.3333333333%, transparent 0 66.6666666667%, #FFFFFF 0) var(--d, 100%) 100%/300% 1px no-repeat;
  color: #FFFFFF;
}
a.tertiary-btn.white, button.tertiary-btn.white {
  background: linear-gradient(90deg, #FFFFFF 33.3333333333%, transparent 0 66.6666666667%, #FFFFFF 0) var(--d, 100%) 100%/300% 1px no-repeat;
  color: #FFFFFF;
}
a.tertiary-btn.white:not(.disabled):hover, a.tertiary-btn.white:not(.disabled):focus, button.tertiary-btn.white:not(.disabled):hover, button.tertiary-btn.white:not(.disabled):focus {
  background: linear-gradient(90deg, #FFFFFF 33.3333333333%, transparent 0 66.6666666667%, #FFFFFF 0) var(--d, 100%) 100%/300% 1px no-repeat;
  color: #FFFFFF;
}
a.tertiary-btn:not(.disabled):hover, a.tertiary-btn:not(.disabled):focus, button.tertiary-btn:not(.disabled):hover, button.tertiary-btn:not(.disabled):focus {
  background: linear-gradient(90deg, #FFFFFF 33.3333333333%, transparent 0 66.6666666667%, #FFFFFF 0) var(--d, 100%) 100%/300% 1px no-repeat;
  color: #FFFFFF;
}
a.quartery-btn, button.quartery-btn {
  background: linear-gradient(90deg, #0EBC93 33.3333333333%, transparent 0 66.6666666667%, #18181B 0) var(--d, 100%) 100%/300% 1px no-repeat;
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #18181B;
}
a.quartery-btn:not(.disabled):hover, a.quartery-btn:not(.disabled):focus, button.quartery-btn:not(.disabled):hover, button.quartery-btn:not(.disabled):focus {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
a.quartery-btn.alt-colors, button.quartery-btn.alt-colors {
  background: linear-gradient(90deg, #FFFFFF 33.3333333333%, transparent 0 66.6666666667%, #FFFFFF 0) var(--d, 100%) 100%/300% 1px no-repeat;
  color: #FFFFFF;
}
a.quartery-btn.alt-colors:not(.disabled):hover, a.quartery-btn.alt-colors:not(.disabled):focus, button.quartery-btn.alt-colors:not(.disabled):hover, button.quartery-btn.alt-colors:not(.disabled):focus {
  background: linear-gradient(90deg, #0EBC93 33.3333333333%, transparent 0 66.6666666667%, #0EBC93 0) var(--d, 100%) 100%/300% 1px no-repeat;
  color: #0EBC93;
}
a.primary-round-btn, button.primary-round-btn {
  background-color: #FFFFFF;
}
a.primary-round-btn svg path, a.primary-round-btn svg line, button.primary-round-btn svg path, button.primary-round-btn svg line {
  stroke: #0D6B54;
}
a.primary-round-btn:hover, a.primary-round-btn:focus, button.primary-round-btn:hover, button.primary-round-btn:focus {
  box-shadow: 0 10px 20px rgba(13, 107, 84, 0.75);
}
a.primary-round-btn:active, a.primary-round-btn:focus, button.primary-round-btn:active, button.primary-round-btn:focus {
  box-shadow: 0 5px 5px rgba(13, 107, 84, 0.75);
}
a.secondary-round-btn, button.secondary-round-btn {
  background-color: transparent;
  border-color: #FFFFFF;
}
a.secondary-round-btn svg path, a.secondary-round-btn svg line, button.secondary-round-btn svg path, button.secondary-round-btn svg line {
  stroke: #FFFFFF;
}
a.secondary-round-btn:hover, a.secondary-round-btn:focus, button.secondary-round-btn:hover, button.secondary-round-btn:focus {
  background-color: #FFFFFF;
  box-shadow: 0 10px 20px rgba(13, 107, 84, 0.75);
}
a.secondary-round-btn:hover svg path, a.secondary-round-btn:hover svg line, a.secondary-round-btn:focus svg path, a.secondary-round-btn:focus svg line, button.secondary-round-btn:hover svg path, button.secondary-round-btn:hover svg line, button.secondary-round-btn:focus svg path, button.secondary-round-btn:focus svg line {
  stroke: #0D6B54;
}
a.secondary-round-btn:active, a.secondary-round-btn:focus, button.secondary-round-btn:active, button.secondary-round-btn:focus {
  box-shadow: 0 5px 5px rgba(13, 107, 84, 0.75);
}

[type=checkbox]:not(:checked),
[type=checkbox]:checked {
  /* Disabled checkbox */
}
[type=checkbox]:not(:checked) + label,
[type=checkbox]:checked + label {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #0D6B54;
  /* checkbox aspect */
}
[type=checkbox]:not(:checked) + label .animated-background,
[type=checkbox]:checked + label .animated-background {
  background-color: #ECF5F2;
}
[type=checkbox]:not(:checked) + label::before,
[type=checkbox]:checked + label::before {
  border-color: #A1A1AA;
  background: #FFFFFF;
}
[type=checkbox]:not(:checked):not(:disabled):hover + label::before, [type=checkbox]:not(:checked):not(:disabled):focus + label::before,
[type=checkbox]:checked:not(:disabled):hover + label::before,
[type=checkbox]:checked:not(:disabled):focus + label::before {
  border-color: #0EBC93;
}
[type=checkbox]:not(:checked):disabled + label,
[type=checkbox]:checked:disabled + label {
  color: #A1A1AA;
}
[type=checkbox]:not(:checked):disabled + label::before,
[type=checkbox]:checked:disabled + label::before {
  border-color: #A1A1AA;
  background-color: #FFFFFF;
}
[type=checkbox]:not(:checked):checked + label::before,
[type=checkbox]:checked:checked + label::before {
  background-color: #0EBC93;
  border-color: #0EBC93;
}
[type=checkbox]:not(:checked):checked:focus + label::before,
[type=checkbox]:checked:checked:focus + label::before {
  border-color: #A1A1AA;
}

[type=radio]:not(:checked),
[type=radio]:checked {
  /* Disabled checkbox */
}
[type=radio]:not(:checked) + label,
[type=radio]:checked + label {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #18181B;
  /* checkbox aspect */
}
[type=radio]:not(:checked) + label .animated-background,
[type=radio]:checked + label .animated-background {
  background-color: rgba(161, 161, 170, 0.08);
}
[type=radio]:not(:checked) + label::before,
[type=radio]:checked + label::before {
  border-color: #A1A1AA;
  background: #FFFFFF;
}
[type=radio]:not(:checked) + label::after,
[type=radio]:checked + label::after {
  background: #0EBC93;
}
[type=radio]:not(:checked):not(:disabled):hover + label::before, [type=radio]:not(:checked):not(:disabled):focus + label::before,
[type=radio]:checked:not(:disabled):hover + label::before,
[type=radio]:checked:not(:disabled):focus + label::before {
  border-color: #0EBC93;
}
[type=radio]:not(:checked):disabled + label,
[type=radio]:checked:disabled + label {
  color: #A1A1AA;
}
[type=radio]:not(:checked):disabled + label::before,
[type=radio]:checked:disabled + label::before {
  border-color: #A1A1AA;
  background-color: #FFFFFF;
}
[type=radio]:not(:checked):checked + label::before,
[type=radio]:checked:checked + label::before {
  border-color: #0EBC93;
}
[type=radio]:not(:checked):checked:focus + label::before,
[type=radio]:checked:checked:focus + label::before {
  border-color: #A1A1AA;
}

.checkbox-error {
  color: #fa000a;
}
.checkbox-error .exclamation-icon {
  background-color: #fa000a;
  color: #FFFFFF;
}

select.select2-hidden-accessible {
  visibility: hidden;
}

[type=text], [type=number], [type=tel], [type=email], [type=password], [type=email], select, textarea {
  border-bottom-color: #A1A1AA;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #18181B;
  caret-color: #18181B;
  -moz-appearance: textfield;
}
[type=text]::-webkit-outer-spin-button, [type=text]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button, [type=number]::-webkit-inner-spin-button, [type=tel]::-webkit-outer-spin-button, [type=tel]::-webkit-inner-spin-button, [type=email]::-webkit-outer-spin-button, [type=email]::-webkit-inner-spin-button, [type=password]::-webkit-outer-spin-button, [type=password]::-webkit-inner-spin-button, [type=email]::-webkit-outer-spin-button, [type=email]::-webkit-inner-spin-button, select::-webkit-outer-spin-button, select::-webkit-inner-spin-button, textarea::-webkit-outer-spin-button, textarea::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
[type=text].form-control + label, [type=number].form-control + label, [type=tel].form-control + label, [type=email].form-control + label, [type=password].form-control + label, [type=email].form-control + label, select.form-control + label, textarea.form-control + label {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #18181B;
}
[type=text].form-control ~ .invalid-feedback .exclamation-icon, [type=number].form-control ~ .invalid-feedback .exclamation-icon, [type=tel].form-control ~ .invalid-feedback .exclamation-icon, [type=email].form-control ~ .invalid-feedback .exclamation-icon, [type=password].form-control ~ .invalid-feedback .exclamation-icon, [type=email].form-control ~ .invalid-feedback .exclamation-icon, select.form-control ~ .invalid-feedback .exclamation-icon, textarea.form-control ~ .invalid-feedback .exclamation-icon {
  background-color: #fa000a;
  color: #FFFFFF;
}
[type=text].form-control:focus, [type=number].form-control:focus, [type=tel].form-control:focus, [type=email].form-control:focus, [type=password].form-control:focus, [type=email].form-control:focus, select.form-control:focus, textarea.form-control:focus {
  color: #0D6B54;
  border-color: #0EBC93;
}
[type=text].form-control:focus + label, [type=number].form-control:focus + label, [type=tel].form-control:focus + label, [type=email].form-control:focus + label, [type=password].form-control:focus + label, [type=email].form-control:focus + label, select.form-control:focus + label, textarea.form-control:focus + label {
  color: #0EBC93;
}
[type=text].form-control.is-invalid, [type=number].form-control.is-invalid, [type=tel].form-control.is-invalid, [type=email].form-control.is-invalid, [type=password].form-control.is-invalid, [type=email].form-control.is-invalid, select.form-control.is-invalid, textarea.form-control.is-invalid {
  border-color: #fa000a;
}
[type=text].form-control.is-invalid + label, [type=number].form-control.is-invalid + label, [type=tel].form-control.is-invalid + label, [type=email].form-control.is-invalid + label, [type=password].form-control.is-invalid + label, [type=email].form-control.is-invalid + label, select.form-control.is-invalid + label, textarea.form-control.is-invalid + label {
  color: #fa000a;
}
[type=text].form-control.is-invalid ~ .select2-container .select2-selection, [type=number].form-control.is-invalid ~ .select2-container .select2-selection, [type=tel].form-control.is-invalid ~ .select2-container .select2-selection, [type=email].form-control.is-invalid ~ .select2-container .select2-selection, [type=password].form-control.is-invalid ~ .select2-container .select2-selection, [type=email].form-control.is-invalid ~ .select2-container .select2-selection, select.form-control.is-invalid ~ .select2-container .select2-selection, textarea.form-control.is-invalid ~ .select2-container .select2-selection {
  border-bottom-color: #fa000a;
}
[type=text].form-control.is-invalid ~ .select2-container .select2-selection .select2-selection__arrow b, [type=number].form-control.is-invalid ~ .select2-container .select2-selection .select2-selection__arrow b, [type=tel].form-control.is-invalid ~ .select2-container .select2-selection .select2-selection__arrow b, [type=email].form-control.is-invalid ~ .select2-container .select2-selection .select2-selection__arrow b, [type=password].form-control.is-invalid ~ .select2-container .select2-selection .select2-selection__arrow b, [type=email].form-control.is-invalid ~ .select2-container .select2-selection .select2-selection__arrow b, select.form-control.is-invalid ~ .select2-container .select2-selection .select2-selection__arrow b, textarea.form-control.is-invalid ~ .select2-container .select2-selection .select2-selection__arrow b {
  background-image: url("../images/dropdown-arrow-error@2x.png");
}
[type=text].form-control.is-invalid ~ .select2-container .select2-selection__placeholder, [type=number].form-control.is-invalid ~ .select2-container .select2-selection__placeholder, [type=tel].form-control.is-invalid ~ .select2-container .select2-selection__placeholder, [type=email].form-control.is-invalid ~ .select2-container .select2-selection__placeholder, [type=password].form-control.is-invalid ~ .select2-container .select2-selection__placeholder, [type=email].form-control.is-invalid ~ .select2-container .select2-selection__placeholder, select.form-control.is-invalid ~ .select2-container .select2-selection__placeholder, textarea.form-control.is-invalid ~ .select2-container .select2-selection__placeholder {
  color: #fa000a !important;
}
[type=text].form-control.alt-colors, [type=number].form-control.alt-colors, [type=tel].form-control.alt-colors, [type=email].form-control.alt-colors, [type=password].form-control.alt-colors, [type=email].form-control.alt-colors, select.form-control.alt-colors, textarea.form-control.alt-colors {
  border-color: #FFFFFF;
  color: #FFFFFF;
  caret-color: #FFFFFF;
}
[type=text].form-control.alt-colors + label, [type=number].form-control.alt-colors + label, [type=tel].form-control.alt-colors + label, [type=email].form-control.alt-colors + label, [type=password].form-control.alt-colors + label, [type=email].form-control.alt-colors + label, select.form-control.alt-colors + label, textarea.form-control.alt-colors + label {
  color: #FFFFFF;
}
[type=text].form-control.alt-colors:focus, [type=number].form-control.alt-colors:focus, [type=tel].form-control.alt-colors:focus, [type=email].form-control.alt-colors:focus, [type=password].form-control.alt-colors:focus, [type=email].form-control.alt-colors:focus, select.form-control.alt-colors:focus, textarea.form-control.alt-colors:focus {
  border-color: #FFFFFF;
}
[type=text].form-control.alt-colors.is-invalid, [type=number].form-control.alt-colors.is-invalid, [type=tel].form-control.alt-colors.is-invalid, [type=email].form-control.alt-colors.is-invalid, [type=password].form-control.alt-colors.is-invalid, [type=email].form-control.alt-colors.is-invalid, select.form-control.alt-colors.is-invalid, textarea.form-control.alt-colors.is-invalid {
  border-color: #FFFFFF;
}
[type=text].form-control.alt-colors.is-invalid + label, [type=number].form-control.alt-colors.is-invalid + label, [type=tel].form-control.alt-colors.is-invalid + label, [type=email].form-control.alt-colors.is-invalid + label, [type=password].form-control.alt-colors.is-invalid + label, [type=email].form-control.alt-colors.is-invalid + label, select.form-control.alt-colors.is-invalid + label, textarea.form-control.alt-colors.is-invalid + label {
  color: #FFFFFF;
}
[type=text].form-control.alt-colors.is-invalid ~ .invalid-feedback, [type=number].form-control.alt-colors.is-invalid ~ .invalid-feedback, [type=tel].form-control.alt-colors.is-invalid ~ .invalid-feedback, [type=email].form-control.alt-colors.is-invalid ~ .invalid-feedback, [type=password].form-control.alt-colors.is-invalid ~ .invalid-feedback, [type=email].form-control.alt-colors.is-invalid ~ .invalid-feedback, select.form-control.alt-colors.is-invalid ~ .invalid-feedback, textarea.form-control.alt-colors.is-invalid ~ .invalid-feedback {
  color: #E32033;
}
[type=text].form-control.alt-colors.is-invalid ~ .invalid-feedback .exclamation-icon, [type=number].form-control.alt-colors.is-invalid ~ .invalid-feedback .exclamation-icon, [type=tel].form-control.alt-colors.is-invalid ~ .invalid-feedback .exclamation-icon, [type=email].form-control.alt-colors.is-invalid ~ .invalid-feedback .exclamation-icon, [type=password].form-control.alt-colors.is-invalid ~ .invalid-feedback .exclamation-icon, [type=email].form-control.alt-colors.is-invalid ~ .invalid-feedback .exclamation-icon, select.form-control.alt-colors.is-invalid ~ .invalid-feedback .exclamation-icon, textarea.form-control.alt-colors.is-invalid ~ .invalid-feedback .exclamation-icon {
  background-color: #E32033;
  color: #fff;
}

.form-floating textarea.form-control {
  border-color: #A1A1AA;
  caret-color: #0EBC93;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #0D6B54;
}
.form-floating textarea.form-control + label {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #A1A1AA;
  background-color: #FFFFFF;
}
.form-floating textarea.form-control:focus {
  border-color: #0EBC93;
}
.form-floating textarea.form-control:focus + label {
  color: #0EBC93;
}

.select-label .select-label-content {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #A1A1AA;
}

.select2-container .select2-selection {
  border-bottom-color: #A1A1AA;
}
.select2-container .select2-selection .select2-selection__rendered {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #0EBC93;
}
.select2-container .select2-selection .select2-selection__rendered .select2-selection__placeholder {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
}
.select2-container .select2-selection .select2-selection__arrow b {
  background-image: url("../images/dropdown-arrow@2x.png");
}
.select2-container .select2-results__options {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.16);
}
.select2-container .select2-results__options .select2-results__option {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #52525B;
}
.select2-container .select2-results__options .select2-results__option.select2-results__option--selected {
  background-color: #FFFFFF;
}
.select2-container .select2-results__options .select2-results__option.select2-results__option--highlighted {
  background-color: #E4E4E7;
}
.select2-container.select2-container--open .select2-selection {
  border-bottom-color: #0EBC93;
}

aside.aside-locations {
  background: #0EBC93;
}
aside.aside-locations h3 {
  color: #FFFFFF;
}
aside.aside-locations [type=text] {
  border-bottom-color: #FFFFFF;
  color: #FFFFFF;
  caret-color: #FFFFFF;
}
aside.aside-locations [type=text]:focus {
  color: #FFFFFF;
}
aside.aside-locations [type=text].form-control + label {
  color: #FFFFFF;
}
aside.aside-locations .actions div {
  border: 1px solid #FFFFFF;
}
aside.aside-locations .actions div svg g > * {
  stroke: #FFFFFF;
}
aside.aside-locations .actions div:hover {
  background-color: #FFFFFF;
  border-color: #FFFFFF;
}
aside.aside-locations .actions div:hover svg g > * {
  stroke: #0D6B54;
}
aside.aside-locations .location.active {
  background-color: #FFFFFF;
  box-shadow: 0 0 0 100vmax #FFFFFF;
  border-bottom: 1px solid #FFFFFF;
}
aside.aside-locations .location.active .infos {
  color: #0D6B54;
}
aside.aside-locations .location.active .infos .icon span {
  color: #FFFFFF;
}
aside.aside-locations .location.active .select-location a {
  color: #0D6B54;
}
aside.aside-locations .location.active .select-location a:hover {
  color: #0D6B54;
}
aside.aside-locations .location:not(:last-child) {
  border-bottom: 1px solid #0EBC93;
}
aside.aside-locations .location .infos {
  color: #FFFFFF;
}
aside.aside-locations .location .select-location a {
  color: #FFFFFF;
}
aside.aside-locations .location .select-location a:hover {
  color: #FFFFFF;
}
@media (max-width: 1023.98px) {
  aside.mobile-overlay .thumb:before {
    background: #FFFFFF;
  }
}

.add-child {
  background-color: #B8EEE5;
}

.checkout-confirmation .content .order {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.checkout-confirmation .check-instructions .thanks {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
@media (max-width: 767.98px) {
  .checkout-confirmation .check-instructions {
    border-top: 1px solid #E4E4E7;
  }
  .checkout-confirmation .check-instructions .text, .checkout-confirmation .check-instructions .notice {
    font-family: "Poppins", sans-serif;
    font-weight: 700;
  }
}

.checkout-form {
  background-color: #FFFFFF;
}
.checkout-form .has-top-border {
  border-top: 1px solid #E4E4E7;
}
.checkout-form h2 .text {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
}
.checkout-form .text, .checkout-form .bold {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.checkout-form .separator {
  background-color: #E4E4E7;
}
.checkout-form .form-check [type=radio]:not(:checked) + label,
.checkout-form .form-check [type=radio]:checked + label,
.checkout-form .form-check .info-label,
.checkout-form .form-check .floating-elem {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.checkout-form .form-check input:disabled ~ .info, .checkout-form .form-check input:disabled ~ .info-label, .checkout-form .form-check input:disabled ~ .floating-elem {
  color: #A1A1AA;
}
.checkout-form .form-check .floating-elem {
  color: #52525B;
}
.checkout-form .form-check .floating-elem.pictures .payment-method.active {
  border-color: #0EBC93;
}
.checkout-form .select-label .select2-selection__placeholder {
  color: #18181B;
}
.checkout-form .select-label .select2-selection__rendered {
  color: #18181B;
}

.checkout-review .has-bottom-border {
  border-bottom: 1px solid #E4E4E7;
  padding-bottom: 1.875rem;
}
.checkout-review .has-top-border {
  border-top: 1px solid #E4E4E7;
  padding-top: 1.5rem;
}
.checkout-review .content {
  background-color: #FFFFFF;
}
.checkout-review .extra-info .is-small {
  color: #18181B;
}
.checkout-review .extra-info .total .price.is-free {
  color: #0EBC93;
}
.checkout-review .extra-info .total .tip {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.checkout-review .review-part.is-shipping .elem .label, .checkout-review .review-part.is-payment .elem .label {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
}
@media (max-width: 767.98px) {
  .checkout-review .has-bottom-border {
    padding-bottom: 1.4375rem;
  }
  .checkout-review .has-top-border {
    padding-top: 1.25rem;
  }
}

.child-tile .package {
  background-color: #FFFFFF;
}
.child-tile .package-summary .qty span, .child-tile .package-summary .original-price {
  color: #18181B;
}
.child-tile .package-summary .qty .select2-container .select2-selection .select2-selection__arrow b {
  background-image: url("../images/dropdown-arrow-colored@2x.png");
}
.child-tile .package-summary .price.is-free {
  color: #0EBC93;
}
.child-tile .package-summary .tip {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
}

.club-subscription {
  background-color: #FFFFFF;
}
.club-subscription .bottom {
  border-top: 1px solid #E4E4E7;
}
.club-subscription .bottom .price {
  color: #0EBC93;
}

.letter-animation svg rect,
.letter-animation svg path,
.letter-animation svg line {
  stroke: #0D6B54;
}
.letter-animation svg ellipse {
  stroke: none;
}
.letter-animation svg rect,
.letter-animation svg path,
.letter-animation svg ellipse {
  fill: #D3E6EC;
}
.letter-animation .checkmark rect,
.letter-animation .checkmark path,
.letter-animation .checkmark ellipse {
  fill: #22C55E;
}
.letter-animation .checkmark path {
  stroke: #fff;
}
.letter-animation:after {
  background-color: #F4F4F5;
}

.package-part.is-review .part-content {
  border: none;
}
.package-part:not(.is-review) {
  border-bottom: 1px solid #E4E4E7;
}
.package-part .package-title .description {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
}
.package-part .img-wrapper {
  border: 1px solid #E4E4E7;
}
.package-part .img-wrapper .extra-poses {
  background-color: #0EBC93;
  color: #FFFFFF;
}
.package-part .label {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
}
.package-part .layout-img {
  border: 1px solid #E4E4E7;
}

.summary .detail.is-bold .label, .summary .detail.is-bold .value {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
}
.summary .detail.is-highligthed .value {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  color: #0EBC93;
}
.summary .detail.final-total {
  border-top: 1px solid #E4E4E7;
}
.summary .need-help a {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.summary .promises p {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}

.survey-form {
  background-color: #FFFFFF;
}
.survey-form .experience .field label {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.survey-form .error {
  color: #fa000a;
}
.survey-form .thanks .checkmark-icon {
  background-color: #0EBC93;
}

.popup {
  background: rgba(0, 0, 0, 0.75);
}
.popup .popup-wrapper {
  background: #FFFFFF;
}
.popup .popup-wrapper .popup-close-btn svg line {
  stroke: #0D6B54;
}
.popup .popup-wrapper .popup-content .title {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
}

.type-background .pictures-list .img-wrapper:hover .background, .type-background .pictures-list .img-wrapper.selected .background {
  border-color: #0EBC93;
}
.type-background .pictures-list .img-wrapper:hover .background-name, .type-background .pictures-list .img-wrapper:hover .background-price, .type-background .pictures-list .img-wrapper.selected .background-name, .type-background .pictures-list .img-wrapper.selected .background-price {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #18181B;
}
.type-background .pictures-list .img-wrapper.load-more p {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #A1A1AA;
}
.type-background .pictures-list .img-wrapper:hover, .type-background .pictures-list .img-wrapper.favorited {
  color: #18181B;
}
.type-background .pictures-list .img-wrapper:hover .favorite, .type-background .pictures-list .img-wrapper.favorited .favorite {
  background-image: url("../images/customize/favorite-icon-filled.png");
}
.type-background .pictures-list .img-wrapper .favorite {
  background-image: url("../images/customize/favorite-icon-outline.png");
  background-size: 20px auto;
  background-position: center center;
  background-repeat: no-repeat;
}
.type-background .pictures-list .img-wrapper .background {
  border-color: transparent;
}
.type-background .pictures-list .img-wrapper .background-name {
  color: #A1A1AA;
}
@media (max-width: 1023.98px) {
  .type-background .pictures-list .img-wrapper .favorite {
    background-size: 15px auto;
  }
  .type-background .pictures-list .img-wrapper:hover .favorite, .type-background .pictures-list .img-wrapper.favorited .favorite {
    background-image: url("../images/customize/favorite-icon-filled.png");
  }
  .type-background .pictures-list .img-wrapper .favorite {
    background-image: url("../images/customize/favorite-icon-outline.png");
  }
}

.type-grades .select2-selection__placeholder {
  color: #A1A1AA !important;
}
.type-grades .select2-selection__rendered {
  color: #0D6B54 !important;
}

.type-layout .layouts-list .layout-wrapper {
  border: 1px solid #E4E4E7;
}
.type-layout .layouts-list .layout-wrapper:hover, .type-layout .layouts-list .layout-wrapper.selected {
  border: 3px solid #0EBC93;
}
.type-layout .layouts-list .layout-wrapper:hover ~ .label, .type-layout .layouts-list .layout-wrapper.selected ~ .label {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #18181B;
}
.type-layout .layouts-list .layout-display {
  border-top: 1px solid #A1A1AA;
  border-right: 1px solid #A1A1AA;
}
.type-layout .layouts-list .layout-display .cell {
  border-bottom: 1px solid #A1A1AA;
  border-left: 1px solid #A1A1AA;
}
.type-layout .layouts-list .layout-display .cell .bg {
  background-color: #A1A1AA;
}

.type-phone .select2-selection__placeholder {
  color: #A1A1AA !important;
}
.type-phone .select2-selection__rendered {
  color: #0D6B54 !important;
}

.type-pose .pictures-list .img-wrapper {
  border-color: transparent;
}
.type-pose .pictures-list .img-wrapper:hover, .type-pose .pictures-list .img-wrapper.selected {
  border-color: #0EBC93;
}
.type-pose .pictures-list .img-wrapper:hover img, .type-pose .pictures-list .img-wrapper.selected img {
  border-color: #0EBC93;
}
.type-pose .pictures-list .img-wrapper i {
  background: #0EBC93;
}
.type-pose .pictures-list .img-wrapper img {
  border-color: #E4E4E7;
  border-width: 2px;
}

.downloads .download-link a {
  color: #00966B;
}
.downloads .download-link a svg, .downloads .download-link a svg * {
  width: 32px;
  height: 32px;
  aspect-ratio: 1/1;
  fill: #00966B;
}
.downloads .download-link a:hover {
  color: #0D6B54;
}
.downloads .download-link a:hover svg, .downloads .download-link a:hover svg * {
  fill: #0D6B54;
}

.login {
  background-color: #fff;
}
.login .login__title {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.login .remove-code svg * {
  stroke: #18181B;
}
.login .form-login .login-codes:focus {
  border: 1px solid var(--darker-primary-color, #0D6B54);
  background: var(--white, #FFF) !important;
  box-shadow: 0px 1px 4px 0px #0EBC93;
}
.login .login__add-code-btn {
  color: #00966B;
  border: 1px solid #00966B;
}
.login .login__add-code-btn:hover {
  background: var(--NanC-Light-primary, #ECF5F2);
  /* hover shadow */
  box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.15);
}
.login .login__add-code-btn:active {
  background: #00966B;
}
.login .form-login__submit {
  background: #00966B;
  border: 1px solid #00966B;
}
.login .form-login__submit:hover {
  background: var(--NanC-Hover, #0EBC93);
}
.login .form-login__submit:active {
  background: #00966B;
}

.package-tile .link:hover ~ .package, .package-tile .link:hover ~ .price {
  color: #0EBC93;
}
.package-tile .link:hover ~ .name {
  color: #0D6B54;
}
.package-tile .img-wrapper {
  background-color: #ECF5F2;
}

.animated-curve .background {
  background-color: #0D6B54;
}

.header-map {
  border-bottom: 1px solid #E4E4E7;
  background-color: #FFFFFF;
}
.header-map span.close-overlay svg line {
  stroke: #18181B;
}

header.checkout {
  background: #FFFFFF;
  border-bottom: 1px solid #E4E4E7;
  padding-bottom: 0 !important;
}
header.checkout .logo {
  padding-bottom: 16px;
}
header.checkout .checkout-nav {
  color: #A1A1AA;
  /* Label/Label medium */
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px; /* 125% */
  text-transform: capitalize;
  /* Label/Label medium */
}
header.checkout .checkout-nav ul li a, header.checkout .checkout-nav ul li p {
  color: #52525B;
  padding-bottom: 16px;
}
header.checkout .checkout-nav ul li.active a, header.checkout .checkout-nav ul li.active p {
  font-weight: 600;
  color: #18181B;
}
header.checkout .checkout-nav ul li.active a::after, header.checkout .checkout-nav ul li.active p::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 70%;
  height: 2px;
  background-color: #18181B;
}
header.checkout .checkout-nav ul li.completed a, header.checkout .checkout-nav ul li.completed p {
  font-weight: 600;
  color: #18181B;
}
header.checkout .checkout-nav ul li.completed i.caret svg * {
  stroke: #18181B;
}
header.checkout .checkout-nav ul li i.completed-icon {
  top: 14px !important;
  background-color: #22C55E;
}
@media (max-width: 1023.98px) {
  header.checkout .checkout-nav ul li i.completed-icon {
    top: 32px !important;
  }
}
header.checkout .checkout-nav ul li i.caret {
  margin-bottom: 16px;
}
header.checkout .checkout-nav ul li i.caret svg * {
  stroke: #A1A1AA;
}
@media (max-width: 1023.98px) {
  header.checkout .header-container .checkout-nav ul {
    border-top: 1px solid #E4E4E7;
    border-bottom: 1px solid #E4E4E7;
  }
  header.checkout .header-container .checkout-nav ul li a {
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
  }
}
.checkout-page-content {
  background-color: #FAFAFA;
}
.checkout-page-content .newsletter-signup, .checkout-page-content .add-webcode {
  background: #B8EEE5;
  border: 2px solid #0EBC93;
}

.upsell-cta-buttons {
  padding-top: 24px;
}

.aside-customize {
  background: #FAFAFA;
  border-color: #E4E4E7;
}
.aside-customize .step {
  color: #52525B;
}
.aside-customize .step .step-title {
  color: #52525B;
  font-size: 14px;
  font-weight: 400;
}
.aside-customize .step svg path {
  stroke: #52525B;
}
.aside-customize .step svg circle {
  stroke: #52525B;
}
.aside-customize .step svg line {
  stroke: #52525B;
}
.aside-customize .step .error-icon svg circle, .aside-customize .step .error-icon svg path {
  fill: #fa000a;
}
@media (min-width: 1024px) {
  .aside-customize .step.active {
    background: #ECF5F2;
  }
  .aside-customize .step.active:hover {
    background: #ECF5F2;
  }
}

.header-customize {
  background: #FFFFFF;
  border-bottom: 1px solid #E4E4E7;
}
.header-customize .navigation h1 {
  color: #18181B;
}
.header-customize .navigation ul li {
  color: #A1A1AA;
}
.header-customize .navigation ul li.active {
  color: #A1A1AA;
}
.header-customize .navigation ul li.active p {
  color: #18181B;
}
.header-customize .navigation ul li.completed {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  opacity: 0.9;
}
.header-customize .navigation ul li.completed i.caret svg * {
  stroke: #0EBC93;
}
.header-customize .navigation ul li.completed.active {
  opacity: 1;
  font-family: "Poppins", sans-serif;
  font-weight: 800;
}
.header-customize .navigation ul li i.completed-icon {
  background-color: #0EBC93;
}
.header-customize .navigation ul li i.caret svg * {
  stroke: #A1A1AA;
}
.header-customize .prices .total {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-weight: 600;
  color: #18181B;
}
.header-customize .prices .donation {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #52525B;
}
@media (max-width: 1023.98px) {
  .header-customize {
    background: none;
  }
  .header-customize .navigation {
    background: #FFFFFF;
  }
  .header-customize .navigation ul {
    background: #FFFFFF;
  }
}
@media (max-width: 1023.98px) {
  .mobile-nav {
    border-color: #E4E4E7;
    background: var(--primary-green, #0EBC93);
    justify-content: center;
    padding: 0;
  }
  .mobile-nav .prices {
    color: #0EBC93;
  }
  .mobile-nav .prices .total {
    font-family: "Poppins", sans-serif;
    font-weight: 800;
  }
  .mobile-nav .prices .donation {
    font-family: "Poppins", sans-serif;
    font-weight: 700;
  }
  .mobile-nav .tertiary-button {
    display: flex;
    width: 300px;
    height: 56px;
    padding: 8px 20px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    border-radius: 20px;
    border: 1px solid #00966B;
    background: var(--white, #FFF);
  }
  .mobile-nav .tertiary-button span {
    color: #00966B;
    /* Big button style */
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
  }
  .mobile-nav .tertiary-button svg {
    margin-left: 0;
  }
  .mobile-nav .tertiary-button svg path {
    stroke: #00966B;
  }
  .mobile-nav .tertiary-button svg line {
    stroke: #00966B;
  }
  .mobile-nav .tertiary-button :hover, .mobile-nav .tertiary-button :focus {
    background: #F4F4F5;
    /* hover shadow */
    box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.15);
    color: #00966B;
  }
  .mobile-nav .tertiary-button:hover, .mobile-nav .tertiary-button:focus {
    background: #F4F4F5;
    /* hover shadow */
    box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.15);
    color: #00966B;
  }
}

.preview-customize {
  background-color: #FFF;
}
.preview-customize .preview-montage {
  background: #FAFAFA;
}
.preview-customize .preview-montage.has-bg .image-wrapper img {
  background-color: transparent;
}
.preview-customize .preview-montage .image-wrapper img {
  background-color: #F4F4F5;
  border-radius: 8px;
}
.preview-customize .preview-montage .random-background i {
  border-color: #0EBC93;
}
.preview-customize .preview-montage .random-background i:before {
  background-color: #0EBC93;
}
.preview-customize .preview-montage .random-background i svg .svg-background {
  fill: #0EBC93;
}
.preview-customize .preview-montage .random-background span {
  color: #0EBC93;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
@media (max-width: 1023.98px) {
  .preview-customize .preview-montage {
    background: #ffffff;
  }
  .preview-customize .preview-montage .included-formats .top h5 {
    color: #A1A1AA;
  }
  .preview-customize .preview-montage .included-formats .top h5 span.is-mobile {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
  }
  .preview-customize .preview-montage .included-formats .top .tertiary-btn:hover, .preview-customize .preview-montage .included-formats .top .tertiary-btn:focus {
    color: #0EBC93 !important;
    background: linear-gradient(90deg, #0EBC93 33.3333333333%, transparent 0 66.6666666667%, #0EBC93 0) var(--d, 100%) 100%/300% 1px no-repeat;
  }
}
.tools-customize {
  background: #FFFFFF;
}
.tools-customize:after {
  background: #FFFFFF;
}
.tools-customize .tools-content .error {
  color: #fa000a;
}
@media (max-width: 1023.98px) {
  .tools-customize {
    background: transparent;
  }
}
.footer {
  padding-top: 32px;
}
.footer .footer__wrapper.is-main-content {
  background-color: #084D3D;
  background-color: #084D3D;
  color: #FFFFFF;
}
.footer .footer__wrapper.is-main-content a {
  color: currentColor;
}
.footer .footer__wrapper.is-main-content a:hover, .footer .footer__wrapper.is-main-content a:focus {
  color: #FFFFFF;
}
.footer .footer-advantage {
  background-color: #0D6B54;
  color: #FFFFFF;
}
.footer .footer-advantage .footer-advantage__text {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.footer .footer-socials .footer-socials__link:hover svg rect, .footer .footer-socials .footer-socials__link:focus svg rect {
  fill: #FFFFFF;
}
.footer .footer-socials .footer-socials__link:hover svg > g, .footer .footer-socials .footer-socials__link:focus svg > g {
  fill: #FFFFFF;
}
.footer .footer-socials .footer-socials__link:hover svg > path, .footer .footer-socials .footer-socials__link:focus svg > path {
  fill: #0D6B54;
}
.footer .footer__website {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.footer .footer-nav .footer-nav__link {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
}
@media (max-width: 1023.98px) {
  .footer .footer-contacts .footer-contacts__link {
    font-family: "Poppins", sans-serif;
    font-weight: 700;
  }
}

.header-category {
  background-color: #ECF5F2;
}
.header-category.open .selected-session-selector,
.header-category.open .scrolling-wrapper {
  background-color: #FFFFFF;
}
.header-category .scrolling-wrapper {
  filter: drop-shadow(0px 8px 30px rgba(0, 0, 0, 0.16));
}
.header-category .scrolling-wrapper .scroll:before {
  background: linear-gradient(rgb(255, 255, 255) 10%, rgba(255, 255, 255, 0) 100%);
}
.header-category .scrolling-wrapper .scroll:after {
  background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
}
.header-category .scrolling-wrapper .nano-pane {
  background: #ECF5F2;
}
.header-category .scrolling-wrapper .nano-pane .nano-slider {
  background: #0EBC93;
}
.header-category .session-selector, .header-category .selected-session-selector {
  color: #52525B;
}
.header-category .session-selector:hover .name, .header-category .selected-session-selector:hover .name {
  color: #18181B;
}
.header-category .session-selector:hover .session-name, .header-category .selected-session-selector:hover .session-name {
  color: #18181B;
}
.header-category .session-selector .img-wrapper, .header-category .selected-session-selector .img-wrapper {
  background-color: #FFFFFF;
  box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.1);
}

.support-mode-banner {
  display: flex;
  height: 56px;
  padding: 10px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  background: var(--color-Status-Info-colorInfoActive, #2563EB);
  color: var(--white, #FFF);
  text-align: center;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px; /* 125% */
  text-transform: uppercase;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
}
.messages.support-mode + .support-mode-banner {
  top: 49px;
}

.seasonal-promo-banner {
  border: 1px solid #B8EEE5;
  background: linear-gradient(180deg, #FFF 79.35%, #B8EEE5 79.36%);
}
.seasonal-promo-banner .promo-column1 .promo-title {
  color: #00966B;
}
.seasonal-promo-banner .promo-column1 .promo-description {
  color: #00966B;
}

.seasonal-promo-banner-promo-page {
  background: #ECF5F2;
}
.seasonal-promo-banner-promo-page .promo-title {
  color: #00966B;
}
.seasonal-promo-banner-promo-page .promo-description {
  color: #00966B;
}

header {
  background-color: #00966B;
  color: var(--white, #FFF);
  padding-top: 20px;
  padding-left: 50px;
  padding-right: 50px;
}
header.connected {
  background-color: var(--white, #FFF);
  border-bottom: 1px solid #A1A1AA;
  padding-bottom: 18px;
}
header.support-mode {
  margin-top: 50px;
}
header a.main-header-link {
  color: #52525B;
  position: relative;
}
header a.main-header-link.selected {
  border: 0;
  font-weight: 600;
}
header a.main-header-link.selected::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 70%;
  height: 2px;
  background-color: #18181B;
}
header a.main-header-link:hover {
  color: #18181B;
}
header a.main-header-link:active {
  color: #18181B;
}
header a.main-header-link.inactive {
  color: #A1A1AA;
}
header nav ul li.cart-icon a span.item-count {
  background-color: #18181B;
}
header .header-info {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 40px;
  font-size: 14px;
  line-height: normal;
}
header .header-info p {
  margin-bottom: 0 !important;
}
header .header-info .lang-switch {
  display: flex;
  width: 32px;
  height: 32px;
  padding: 7.5px 6px;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  border: 1px solid #F4F4F5;
  background: #00966B;
}
header .header-info .lang-switch:hover {
  border: 1px solid var(--white, #FFF);
  background: var(--primary-green, #0EBC93);
}
header .header-info .lang-switch:hover a {
  color: var(--white, #FFF);
}
header .header-info .lang-switch a {
  color: #F4F4F5;
}
header .header-info .lang-switch a:hover, header .header-info .lang-switch a:focus {
  color: var(--white, #FFF);
}
header .header-info .lang-switch.connected {
  border: 1px solid #00966B;
  background: var(--white, #FFF);
  background: #FFF;
}
header .header-info .lang-switch.connected a {
  color: #00966B;
}
header .header-info .lang-switch.connected:hover, header .header-info .lang-switch.connected:focus {
  background: var(--primary-green, #0EBC93);
}
header .header-info .lang-switch.connected:hover a, header .header-info .lang-switch.connected:focus a {
  color: var(--white, #FFF);
}
header nav ul li a {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  color: #FFF;
  font-size: 16px;
  font-style: normal;
  line-height: normal;
}
header nav ul li a:hover, header nav ul li a:focus {
  color: #FFFFFF;
}
header nav ul li.active a {
  color: #FFF;
}
header nav ul li.active a svg path, header nav ul li.active a svg line {
  stroke: #FFF;
}
header nav ul li.cart-link-wrapper span {
  color: #FFFFFF;
  background-color: #fa000a;
}
header nav ul li .header-logout {
  font-weight: 500 !important;
  font-size: 14px !important;
}

.hero-default {
  background-color: #0EBC93;
  color: #FFFFFF;
}

.hero-home {
  background: linear-gradient(180deg, #00966B 55.5%, #0EBC93 100%);
  color: #FFFFFF;
}
@media (max-width: 1023.98px) {
  .hero-home {
    padding-top: 32px;
  }
}
.hero-home .col-12 button.login__add-code-btn, .hero-home .col-md-12 button.login__add-code-btn {
  width: 100%;
  margin-bottom: 20px;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
.hero-home .col-12 button.login__add-code-btn svg line, .hero-home .col-md-12 button.login__add-code-btn svg line {
  stroke: #00966B;
}
.hero-home .col-12 button.form-login__submit, .hero-home .col-md-12 button.form-login__submit {
  width: 100%;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

.hero-welcome {
  background: #fff;
  color: #18181B;
}
@media (max-width: 1023.98px) {
  .hero-welcome .mobile-add-code {
    background-color: #ECF5F2;
  }
}
.hero-welcome .nav-pills .nav-link.active, .hero-welcome .nav-pills .show > .nav-link {
  border: 1px solid #0EBC93;
  border-radius: 12px;
}
.hero-welcome .secondary-round-btn.slick-disabled {
  box-shadow: none;
  background-color: transparent;
  border: 1px solid #FFFFFF;
}
.hero-welcome .secondary-round-btn.slick-disabled svg path, .hero-welcome .secondary-round-btn.slick-disabled svg line {
  stroke: #FFFFFF;
}
.hero-welcome .add-codes-wrapper.expanded .content {
  background: #B8EEE5;
}
.hero-welcome .add-codes-wrapper .content {
  background: #0EBC93;
}
.hero-welcome .add-codes-wrapper .content .texts {
  color: #0D6B54 !important;
}
.hero-welcome .add-codes-wrapper .content .codes input {
  color: #0D6B54 !important;
  border-color: var(--mid-gri, #18181B);
  text-transform: uppercase;
}
.hero-welcome .add-codes-wrapper .content .codes label {
  color: var(--mid-gri, #18181B);
}
.hero-welcome .datacards .datacard {
  position: relative;
}
.hero-welcome .datacards .datacard .photos {
  background: #fff;
  margin-bottom: 16px;
  border-radius: 12px;
}
.hero-welcome .datacards .datacard .photo-container:nth-child(1) {
  border-top-left-radius: 12px;
}
.hero-welcome .datacards .datacard .photo-container:nth-child(2) {
  border-top-right-radius: 12px;
}
.hero-welcome .datacards .datacard .photo-container:nth-child(3) {
  border-bottom-left-radius: 12px;
}
.hero-welcome .datacards .datacard .photo-container:nth-child(4) {
  border-bottom-right-radius: 12px;
}
.hero-welcome .datacards .datacard .photo-container:nth-child(2), .hero-welcome .datacards .datacard .photo-container:nth-child(3) {
  background: #FFFFFF;
}
.hero-welcome .datacards .datacard .photo-container .more {
  font-size: 2.25rem;
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  color: #0D6B54;
}

.image-text .row:after {
  background-color: #18181B;
}
.image-text .row .col-texts * {
  color: #18181B;
}

.messages .message.is-info .close-btn svg line, .messages .message.is-warning .close-btn svg line {
  stroke: #0D6B54;
}
.messages .message.is-error .close-btn svg line, .messages .message.is-success .close-btn svg line {
  stroke: #FFFFFF;
}
.messages .message.is-info {
  background: #B8EEE5;
}
.messages .message.is-warning {
  background: #FFFFFF;
}
.messages .message.is-error {
  background: #fa000a;
  color: #FFFFFF;
}
.messages .message.is-success {
  background: #0D6B54;
  color: #FFFFFF;
}
.messages .message p {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.messages .message .particles.particle-1 {
  background: #0D6B54;
}
.messages .message .particles.particle-2 {
  background: #FFFFFF;
}
.messages .message .particles.particle-3 {
  border: 1px solid #0D6B54;
}
.messages .message .particles.particle-4 {
  background: #0D6B54;
}
.messages .message .particles.particle-5 {
  border: 1px solid #0D6B54;
}
.messages .message .particles.particle-6 {
  background: #FFFFFF;
}

.notice-bar {
  background: #B8EEE5;
}
.notice-bar p {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.notice-bar .particles.particle-1 {
  background: #0D6B54;
}
.notice-bar .particles.particle-2 {
  background: #FFFFFF;
}
.notice-bar .particles.particle-3 {
  border: 1px solid #0D6B54;
}
.notice-bar .particles.particle-4 {
  background: #0D6B54;
}
.notice-bar .particles.particle-5 {
  border: 1px solid #0D6B54;
}
.notice-bar .particles.particle-6 {
  background: #FFFFFF;
}

.text-page-content {
  background-color: #FFFFFF;
}
.text-page-content .heading-wrapper {
  background-color: #0EBC93;
}
.text-page-content .heading-wrapper h1 {
  color: #FFFFFF;
}

.customize-page {
  background-color: #ECF5F2;
}
.customize-page.scroll-disabled {
  overflow: hidden;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL2Nzcy90aGVtZS5zdHVkaW8tcG9tbWUtdmVydGUuY3NzIiwibWFwcGluZ3MiOiI7O0FBR0E7RUNHSTtFQUNBO0VERkEsY0VKVztBQ0tmOztBSE1BOzs7O0VDTkk7RUFDQTtFRFVBO0FHRko7O0FIS0E7O0VDRUk7RUFDQTtBRUZKOztBSE9RO0VBQ0k7QUdKWjtBSFNJO0VBQ0k7QUdQUjs7QUhlQTtFQ0xJO0VBQ0E7QUVOSjs7QUhrQkE7RUFDSTtBR2ZKO0FIaUJJO0VBQ0k7QUdmUjs7QUN2Q0k7RUFDSDtFQUNBO0VBQ0E7RUFDQTtFQUNBLG1CQ0dlO0VERmY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFSHNCRztFQUNBO0VHckJIO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FEMkNEO0FDMUNDO0VBbkJHO0lBb0JDO0lBQ087RUQ2Q1Y7QUFDRjtBQzFDWTtFQUNJO0FENENoQjtBQ3hDUTtFQUNJO0VBQ0E7RUFDUDtBRDBDTDtBQ3hDRTtFQUNrQixlRmxDYjtBQzRFUDtBQ2xDWTtFQUNWLG1CQ3RDbUI7RUR1Q25CO0VBQ0E7RUFDQTtBRG9DRjtBQ2xDSztFQUNIO0VBQ0EsbUJDOUNzQjtFRCtDdEI7RUFDQTtFQUNBO0FEb0NGOztBQzdCSTtFQUNIO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VIMUNHO0VBQ0E7RUcyQ0g7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRCtCRDtBQzdCQztFQXBCRztJQXFCUTtJQUNQO0VEZ0NIO0FBQ0Y7QUM1Qlk7RUFDVixlQ2xGYztBRmdIaEI7QUMxQlE7RUFDSTtFSDFGUjtFQUNBO0VHMkZRO0FENkJaO0FDeEJZO0VBQ1YsbUJDNUZ1QjtFRDZGdkI7RUFDQTtFQUNBO0FEMEJGO0FDeEJLO0VBQ0g7RUFDQTtFQUNBO0VBQ0EsbUJDdEdvQjtBRmdJdEI7QUN4Qk07RUFDSCxlQzNHYTtBRnFJaEI7O0FDZkk7RUFDSTtFQUNBO0VIaEdKO0VBQ0E7RUdpR0k7QURtQlI7QUNoQlk7RUFDSTtBRGtCaEI7QUNiWTtFQUNJO0FEZWhCO0FDWFE7RUFDSTtFQUNBO0FEYVo7QUNWZ0I7RUFDSTtBRFlwQjtBQ1BnQjtFQUNJO0FEU3BCO0FDSlE7RUFDSTtFSDdKUjtFQUNBO0VHOEpRO0FET1o7QUNIWTtFQUNJO0FES2hCO0FDRlk7RUFDSTtBREloQjtBQ0NJO0VBQ0k7RUFDQTtFQUNBO0VIckpKO0VBQ0E7RUdzSkk7QURFUjtBQ0NZO0VBQ0k7QURDaEI7QUNJWTtFQUNJO0FERmhCO0FDTVE7RUhoTUo7RUFDQTtBRTZMSjtBQ01RO0VBQ0k7RUFDQTtFQUNBO0FESlo7QUNPZ0I7RUFDSTtBRExwQjtBQ1VnQjtFQUNJO0FEUnBCO0FDYWdCO0VBQ0k7QURYcEI7QUNjd0I7RUFDSTtBRFo1QjtBQ21CUTtFQUNJO0VBQ0E7RUFDQTtBRGpCWjtBQ3FCWTtFQUNJO0VBQ0E7QURuQmhCO0FDc0JvQjtFQUNJO0FEcEJ4QjtBQ3lCWTtFQUNJO0FEdkJoQjtBQzRCSTtFQUNJO0VIaE9KO0VBQ0E7RUdpT0k7QUR6QlI7QUM2QmdCO0VBQ0k7RUFDQTtBRDNCcEI7QUNnQ1E7RUFDSTtFQUNBO0FEOUJaO0FDaUNnQjtFQUNJO0VBQ0E7QUQvQnBCO0FDb0NRO0VBQ0k7RUFDQTtBRGxDWjtBQ3FDZ0I7RUFDSTtFQUNBO0FEbkNwQjtBQ3lDWTtFQUNJO0VBQ0E7QUR2Q2hCO0FDNENJO0VBQ0k7RUh6U0o7RUFDQTtFRzBTSSxjRmhUTztBQ3VRZjtBQzRDWTtFSDlSUjtFQUNBO0FFcVBKO0FDNkNRO0VBQ0k7RUFDQTtBRDNDWjtBQzhDZ0I7RUFDSTtFQUNBO0FENUNwQjtBQ2tESTtFQUNJO0FEaERSO0FDbURZO0VBQ0k7QURqRGhCO0FDcURRO0VBQ0k7QURuRFo7QUNzRFE7RUFDSTtBRHBEWjtBQ3dESTtFQUNJO0VBQ0E7QUR0RFI7QUN5RFk7RUFDSTtBRHZEaEI7QUMyRFE7RUFDSTtFQUNBO0FEekRaO0FDNERnQjtFQUNJO0FEMURwQjtBQytEUTtFQUNJO0FEN0RaOztBQ21FQTs7RUEyQkk7QUR6Rko7QUNnRUk7O0VIaFhBO0VBQ0E7RUdpWEk7RUFNQTtBRGpFUjtBQzZEUTs7RUFDSTtBRDFEWjtBQzhEUTs7RUFDSTtFQUNBO0FEM0RaO0FDa0VnQjs7O0VBQ0k7QUQ5RHBCO0FDc0VROztFQUNJO0FEbkVaO0FDcUVZOztFQUNJO0VBQ0E7QURsRWhCO0FDeUVZOztFQUNJO0VBQ0E7QUR0RWhCO0FDNEVnQjs7RUFFSTtBRDFFcEI7O0FDa0ZBOztFQStCSTtBRDVHSjtBQytFSTs7RUgzYUE7RUFDQTtFRzRhSSxjRmxiTztFRXdiUDtBRGhGUjtBQzRFUTs7RUFDSTtBRHpFWjtBQzZFUTs7RUFDSTtFQUNBO0FEMUVaO0FDNkVROztFQUNJO0FEMUVaO0FDaUZnQjs7O0VBQ0k7QUQ3RXBCO0FDcUZROztFQUNJO0FEbEZaO0FDb0ZZOztFQUNJO0VBQ0E7QURqRmhCO0FDd0ZZOztFQUNJO0FEckZoQjtBQzJGZ0I7O0VBRUk7QUR6RnBCOztBQ2dHQTtFQUNJO0FEN0ZKO0FDK0ZJO0VBQ0k7RUFDQTtBRDdGUjs7QUNpR0E7RUFDSTtBRDlGSjs7QUNrR0E7RUFDSTtFSHJlQTtFQUNBO0VHc2VBLGNGNWZXO0VFNmZYLG9CRjdmVztFRThmWDtBRDlGSjtBQ2dHSTtFQUVJO0VBQ0E7QUQvRlI7QUNtR1E7RUhsZ0JKO0VBQ0E7RUdtZ0JRLGNGemdCRztBQ3lhZjtBQ29HWTtFQUNJO0VBQ0E7QURsR2hCO0FDc0dRO0VBQ0k7RUFDQTtBRHBHWjtBQ3NHWTtFQUNJO0FEcEdoQjtBQ3dHUTtFQUNJO0FEdEdaO0FDd0dZO0VBQ0k7QUR0R2hCO0FDMEdnQjtFQUNJO0FEeEdwQjtBQzJHd0I7RUFDSTtBRHpHNUI7QUM4R2dCO0VBQ0k7QUQ1R3BCO0FDaUhRO0VBQ0k7RUFDQTtFQUNBO0FEL0daO0FDaUhZO0VBQ0k7QUQvR2hCO0FDa0hZO0VBQ0k7QURoSGhCO0FDbUhZO0VBQ0k7QURqSGhCO0FDbUhnQjtFQUNJO0FEakhwQjtBQ29IZ0I7RUFDSTtBRGxIcEI7QUNvSG9CO0VBQ0k7RUFDQTtBRGxIeEI7O0FDNEhJO0VBQ0k7RUFDQTtFSHBrQko7RUFDQTtFR3FrQkk7QUR4SFI7QUMwSFE7RUh4bEJKO0VBQ0E7RUd5bEJRO0VBQ0E7QUR2SFo7QUMwSFE7RUFDSTtBRHhIWjtBQzBIWTtFQUNJO0FEeEhoQjs7QUNnSUk7RUgxbUJBO0VBQ0E7RUcybUJJO0FENUhSOztBQ2lJSTtFQUNJO0FEOUhSO0FDZ0lRO0VIcG1CSjtFQUNBO0VHcW1CUTtBRDdIWjtBQytIWTtFSHhuQlI7RUFDQTtBRTRmSjtBQ2lJWTtFQUNJO0FEL0hoQjtBQ29JSTtFQUNJO0FEbElSO0FDb0lRO0VIdm5CSjtFQUNBO0VHd25CUSxjRjdvQkE7QUM0Z0JaO0FDbUlZO0VBQ0k7QURqSWhCO0FDb0lZO0VBQ0k7QURsSWhCO0FDd0lRO0VBQ0k7QUR0SVo7O0FHdGhCSTtFQUNJO0FIeWhCUjtBR3ZoQlE7RUFDSTtBSHloQlo7QUd0aEJRO0VBQ0k7RUFDQTtFQUNBO0FId2hCWjtBR3RoQlk7RUFDSTtBSHdoQmhCO0FHcGhCZ0I7RUFDSTtBSHNoQnBCO0FHaGhCWTtFQUNJO0FIa2hCaEI7QUc5Z0JvQjtFQUNJO0FIZ2hCeEI7QUc1Z0JnQjtFQUNJO0VBQ0E7QUg4Z0JwQjtBRzNnQndCO0VBQ0k7QUg2Z0I1QjtBR3JnQlk7RUFDSTtFQUNBO0VBQ0E7QUh1Z0JoQjtBR3JnQmdCO0VBQ0k7QUh1Z0JwQjtBR3BnQndCO0VBQ0k7QUhzZ0I1QjtBRy9mb0I7RUFDSTtBSGlnQnhCO0FHL2Z3QjtFQUNJO0FIaWdCNUI7QUcxZlk7RUFDSTtBSDRmaEI7QUd4Zlk7RUFDSTtBSDBmaEI7QUd0ZmdCO0VBQ0k7QUh3ZnBCO0FHdGZvQjtFQUNJO0FId2Z4QjtBSXZnQkk7RUR5Qlk7SUFDSTtFSGlmbEI7QUFDRjs7QUt4bEJBO0VBQ0k7QUwybEJKOztBTTFsQlE7RVJvQko7RUFDQTtBRTBrQko7QU16bEJRO0VSY0o7RUFDQTtBRThrQko7QUl6aEJJO0VFOURJO0lBQ0k7RU4wbEJWO0VNeGxCVTtJUktSO0lBQ0E7RUVzbEJGO0FBQ0Y7O0FPOW1CQTtFQUNJO0FQaW5CSjtBT2huQkk7RUFDSTtBUGtuQlI7QU8vbUJRO0VUQUo7RUFDQTtBRWtuQko7QU85bUJJO0VUV0E7RUFDQTtBRXNtQko7QU85bUJJO0VBQ0k7QVBnbkJSO0FPNW1CUTs7OztFVEVKO0VBQ0E7QUVnbkJKO0FPM21CWTtFQUdJO0FQMm1CaEI7QU92bUJRO0VBQ0ksY1JsQ0E7QUMyb0JaO0FPdG1CZ0I7RUFDSTtBUHdtQnBCO0FPam1CUTtFQUNJLGNSL0NHO0FDa3BCZjtBT2htQlE7RUFDSSxjUm5ERztBQ3FwQmY7O0FRcnBCSTtFQUNJO0VBQ0E7QVJ3cEJSO0FRdHBCSTtFQUNJO0VBQ0E7QVJ3cEJSO0FRcnBCSTtFQUNJO0FSdXBCUjtBUW5wQlE7RUFDSSxjVGZHO0FDb3FCZjtBUWpwQlk7RUFDSTtBUm1wQmhCO0FRaHBCWTtFVkZSO0VBQ0E7QUVxcEJKO0FRem9CZ0I7RVZHWjtFQUNBO0FFeW9CSjtBSXBtQkk7RUlqQ0k7SUFDSTtFUndvQlY7RVF0b0JNO0lBQ0k7RVJ3b0JWO0FBQ0Y7O0FTdnJCSTtFQUNJO0FUMHJCUjtBU3RyQlE7RUFDSSxjVk5HO0FDOHJCZjtBU2hyQm9CO0VBQ0k7QVRrckJ4QjtBUzVxQlE7RUFDSTtBVDhxQlo7QVMzcUJRO0VYWUo7RUFDQTtBRWtxQko7O0FVenNCQTtFQUNJO0FWNHNCSjtBVTFzQkk7RUFDSTtBVjRzQlI7QVUxc0JRO0VBQ0k7QVY0c0JaOztBV2p0QkM7OztFQUlJLGVURWdCO0FGaXRCckI7QVdqdEJDO0VBQ0k7QVhtdEJMO0FXaHRCQzs7O0VBR0k7QVhrdEJMO0FXN3NCQzs7O0VBR0k7QVgrc0JMO0FXM3NCQztFQUNJO0FYNnNCTDtBV3pzQkk7RUFDSTtBWDJzQlI7O0FZMXVCUTtFQUNJO0FaNnVCWjtBWXp1Qkk7RUFDSTtBWjJ1QlI7QVl2dUJRO0VkTko7RUFDQTtBRWd2Qko7QVlsdUJJO0VBQ0k7QVpvdUJSO0FZbHVCUTtFQUNJO0VBQ0E7QVpvdUJaO0FZaHVCSTtFZFFBO0VBQ0E7QUUydEJKO0FZaHVCSTtFQUNJO0Faa3VCUjs7QWFsd0JZO0VmbUNSO0VBQ0E7QUVtdUJKO0FhandCWTtFZjZCUjtFQUNBO0VlNUJZO0Fib3dCaEI7QWFod0JRO0VBQ0k7QWJrd0JaO0FhN3ZCUTtFZkNKO0VBQ0E7QUUrdkJKO0FhM3ZCUTtFZkxKO0VBQ0E7QUVtd0JKOztBYzF4QkE7RUFDSTtBZDZ4Qko7QWN6eEJZO0VoQmlCUjtFQUNBO0FFMndCSjtBY3Z4Qkk7RUFDSTtBZHl4QlI7QWNyeEJRO0VBQ0k7QWR1eEJaOztBZXh5QkE7RUFDSTtBZjJ5Qko7QWV6eUJJO0VBQ0k7QWYyeUJSO0FleHlCWTtFQUNJO0FmMHlCaEI7QWVyeUJZO0VqQnlCUjtFQUNBO0FFK3dCSjs7QWdCbHpCZ0I7RUFDSTtBaEJxekJwQjtBZ0JsekJnQjtFbEJjWjtFQUNBO0VrQmJnQixjakJUTDtBQzh6QmY7QWdCL3lCZ0I7RWxCTVo7RUFDQTtFa0JMZ0IsY2pCZmI7QUNpMEJQO0FnQjl5Qlk7RUFDVixjakJ0QmE7QUNzMEJmO0FnQi95QmdCO0VBQ0k7QWhCaXpCcEI7QWdCN3lCWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FoQit5QmhCO0FnQjV5Qlk7RUFDSTtBaEI4eUJoQjtBZ0IzeUJZO0VBQ0ksY2pCdENUO0FDbTFCUDtBSTF3Qkk7RVkzQlk7SUFDSTtFaEJ3eUJsQjtFZ0JyeUJrQjtJQUNJO0VoQnV5QnRCO0VnQm55QmM7SUFDSTtFaEJxeUJsQjtBQUNGOztBaUJoMkJJO0VBQ0k7QWpCbTJCUjtBaUJoMkJJO0VBQ0k7QWpCazJCUjs7QWtCdDJCUTtFQUNJO0FsQnkyQlo7QWtCdjJCWTtFQUNJO0FsQnkyQmhCO0FrQnYyQmdCO0VwQmNaO0VBQ0E7RW9CYmdCLGNuQlRMO0FDbTNCZjtBa0JyMkJRO0VBQ0k7RUFDQTtBbEJ1MkJaO0FrQnIyQlk7RUFDSTtFQUNBO0FsQnUyQmhCO0FrQnIyQmdCO0VBQ0kseUJuQnJCYjtBQzQzQlA7O0FtQjkzQkk7RUFDSTtBbkJpNEJSO0FtQjkzQkk7RUFDSTtBbkJnNEJSOztBb0JwNEJRO0VBQ0k7QXBCdTRCWjtBb0JyNEJZO0VBQ0k7QXBCdTRCaEI7QW9CcjRCZ0I7RUFDSTtBcEJ1NEJwQjtBb0JuNEJZO0VBQ0k7QXBCcTRCaEI7QW9CbDRCWTtFQUNJO0VBQ2Q7QXBCbzRCRjs7QXFCcjVCSTtFQUNILGNuQk1lO0FGazVCaEI7QXFCdjVCUTtFQUNIO0VBQ0E7RUFDQTtFQUNPLGFuQkNJO0FGdzVCaEI7QXFCdDVCUTtFQUNJLGNuQkpTO0FGNDVCckI7QXFCdjVCWTtFQUNWLGFuQk5tQjtBRis1QnJCOztBc0J2NkJBO0VBQ0k7QXRCMDZCSjtBc0J4NkJJO0V4Qm1CQTtFQUNBO0FFdzVCSjtBc0J0NkJZO0VBQ0ksZXZCVEQ7QUNpN0JmO0FzQmg2Qlk7RUFDVjtFQUNBO0VBQ0E7QXRCazZCRjtBc0I3NUJJO0VBQ0gsY3BCbEJlO0VvQm1CZjtBdEIrNUJEO0FzQjc1QlE7RUFDSDtFQUNBO0VBQ0E7QXRCKzVCTDtBc0I3NUJDO0VBQ0ksbUJwQjNCVztBRjA3QmhCO0FzQjM1Qkk7RUFDSCxtQnBCaENlO0VvQmlDZjtBdEI2NUJEO0FzQjM1QkM7RUFDSTtBdEI2NUJMO0FzQjM1QkM7RUFDSSxtQnBCdkNXO0FGbzhCaEI7O0F1QjM4QlE7RUFDSTtBdkI4OEJaO0F1QjM4QlE7RUFDSTtBdkI2OEJaO0F1Qno4Qkk7RUFDSTtBdkIyOEJSOztBd0J0OUJJO0VBQ0k7QXhCeTlCUjs7QXlCMzlCQTtFQUNJO0VBQ0E7QXpCODlCSjtBeUIxOUJnQjtFQUNJLGUxQk5MO0FDaytCZjs7QTBCbitCQTtFQUNJO0VBQ0E7RUFDQTtBMUJzK0JKO0EwQnArQkk7RUFDSDtBMUJzK0JEO0EwQm4rQkk7RUFDSCxjM0JQTTtFMkJRTjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUJxK0JEO0EwQmwrQmdCO0VBQ0ksYzNCbkJSO0UyQm9CTjtBMUJvK0JOO0EwQmgrQm9CO0VBQ2pCO0VBQ0EsYzNCM0JZO0FDNi9CZjtBMEJqK0JHO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QjNCcENRO0FDdWdDZjtBMEI1OUJNO0VBQ0g7RUFDQSxjM0I3Q1k7QUMyZ0NmO0EwQng5QjRCO0VBQ0ksZTNCcERqQjtBQzhnQ2Y7QTBCcDlCZ0I7RUFFVjtFQUtjO0ExQmk5QnBCO0FJdjhCSTtFc0JqQlk7SUFJYjtFMUJ3OUJEO0FBQ0Y7QTBCbjlCZ0I7RUFDVjtBMUJxOUJOO0EwQmw5QndCO0VBQ0k7QTFCbzlCNUI7QUlsOUJJO0VzQllZO0lBQ0k7SUFDQTtFMUJ5OEJsQjtFMEJyOEJzQjtJQUNJO0lBQ0E7RTFCdThCMUI7QUFDRjtBMkJ4aUNBO0VBQ0kseUI1QktZO0FDcWlDaEI7QTJCemlDSTtFQUNILG1CekJRcUI7RXlCUHJCO0EzQjJpQ0Q7O0EyQnhpQ0E7RUFDSTtBM0IyaUNKOztBNEJuakNBO0VBQ0ksbUI3QktZO0U2QkpaO0E1QnNqQ0o7QTRCcGpDSTtFQUNJLGM3QkhJO0FDeWpDWjtBNEJyakNDO0VBQ0ksYzdCTE87RTZCTVA7RUFDQTtBNUJ1akNMO0E0QmxqQ0s7RUFDSCxlN0JiVTtBQ2lrQ1o7QTRCbGpDSztFQUNILGU3QmhCVTtBQ29rQ1o7QTRCbGpDSztFQUNILGU3Qm5CVTtBQ3VrQ1o7QTRCL2lDWTtFQUNJO0E1QmlqQ2hCO0FJN2dDSTtFd0IvQkM7SUFDSCxtQjFCckJ1QjtFRm9rQ3ZCO0U0QjlpQ0E7SUFDSSxtQjFCdkJtQjtFRnVrQ3ZCO0FBQ0Y7O0E2QnBsQ0E7RUFDSTtFQUNBO0E3QnVsQ0o7QTZCcGxDUTtFQUNILGM5QkxVO0FDMmxDZjtBNkJsbENZO0VBQ0k7QTdCb2xDaEI7QTZCbGxDZ0I7RUFDSSxjOUJYYjtBQytsQ1A7QTZCbGxDZ0I7RUFDVixjOUJoQlM7QUNvbUNmO0E2QmxsQ2dCO0UvQkdaO0VBQ0E7RStCRmdCO0E3QnFsQ3BCO0E2QmpsQzRCO0VBQ0k7QTdCbWxDaEM7QTZCL2tDb0I7RUFDSTtFL0JPcEI7RUFDQTtBRTJrQ0o7QTZCOWtDZ0I7RUFDSTtBN0JnbENwQjtBNkIza0N3QjtFQUNJO0E3QjZrQzVCO0E2QmxrQ1E7RS9CaEJKO0VBQ0E7RStCaUJLO0VBQ1AsYzlCeERhO0FDNm5DZjtBNkJsa0NRO0UvQnRDSjtFQUNBO0UrQnVDQyxjOUI1RE87QUNpb0NaO0FJdmpDSTtFeUI1RUo7SUFtRVE7RTdCb2tDTjtFNkJsa0NNO0lBQ0k7RTdCb2tDVjtFNkJsa0NVO0lBQ0k7RTdCb2tDZDtBQUNGO0FJbGtDSTtFMEI1RUo7SUFFUTtJQUNQO0lBQ0E7SUFDQTtFOUJncENDO0U4Qi9vQ007SUFDSTtFOUJpcENWO0U4Qi9vQ1U7SWhDNkJSO0lBQ0E7RUVxbkNGO0U4Qi9vQ1U7SWhDU1I7SUFDQTtFRXlvQ0Y7RThCOW9DRDtJQUVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTlCK29DSDtFOEI5b0NHO0lBQ0gsYzVCdkJjO0k0QndCZDtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U5QmdwQ0E7RThCOW9DRztJQUNIO0U5QmdwQ0E7RThCL29DQTtJQUNJLGU1QmpDVTtFRmtyQ2Q7RThCL29DQTtJQUNJLGU1QnBDVTtFRnFyQ2Q7RThCN29DRztJQUNILG1CL0I3Q1c7SStCOENYO0lBQ0E7SUFDQSxjNUI1Q2M7RUYyckNkO0U4QjFvQ0Q7SUFDSSxtQi9CdERRO0krQnVEUjtJQUNBO0lBQ0EsYzVCckRXO0VGaXNDZDtBQUNGOztBK0Izc0NBO0VBQ0k7QS9COHNDSjtBK0I1c0NJO0VBQ0YsbUJoQ0VjO0FDNHNDaEI7QStCMXNDZ0I7RUFDSTtBL0I0c0NwQjtBK0J0c0NZO0VBQ0kseUJoQ1hIO0VnQ1lYO0EvQndzQ0Y7QStCbnNDWTtFQUNJO0EvQnFzQ2hCO0ErQm5zQ2dCO0VBQ0k7QS9CcXNDcEI7QStCanNDb0I7RUFDSTtBL0Jtc0N4QjtBK0I5ckNZO0VBQ0k7RWpDZlo7RUFDQTtBRWd0Q0o7QUkzcENJO0UyQi9CSTtJQUNIO0UvQjZyQ0g7RStCMXJDa0I7SUFDSTtFL0I0ckN0QjtFK0IxckNzQjtJakM5Q3BCO0lBQ0E7RUUydUNGO0UrQnhyQ3NCO0lBQ0k7SUFDQTtFL0IwckMxQjtBQUNGO0FnQ3Z2Q0E7RUFDSTtBaEN5dkNKO0FnQ3Z2Q0k7RUFDSTtBaEN5dkNSO0FnQ3J2Q1E7RUFDSTtBaEN1dkNaO0FJcHJDSTtFNEI1RUo7SUFjUTtFaENzdkNOO0FBQ0Y7QWlDcndDQTtFQUNJO0FqQ3V3Q0o7QWlDcndDUTtFQUNJLHlCL0JHWTtFK0JGbkI7RUFFTztBakNzd0NaO0FpQ3B3Q1k7RUFDSTtBakNzd0NoQjtBaUNwd0NnQjtFQUNJO0FqQ3N3Q3BCO0FpQ2h3Q0k7RUFDSTtFQUNBO0FqQ2t3Q1I7QWlDaHdDUTtFbkNESjtFQUNBO0FFb3dDSjtBaUMxdkNvQjtFQUNJO0FqQzR2Q3hCO0FpQzF2Q29CO0VBQ0k7QWpDNHZDeEI7QWlDenZDb0I7RUFDSTtBakMydkN4QjtBaUNwdkNJO0VuQzFCQTtFQUNBO0FFaXhDSjtBaUNudkNRO0VuQ2ZKO0VBQ0E7QUVxd0NKO0FJaHVDSTtFNkJoQlE7SW5DdENSO0lBQ0E7RUUweENGO0FBQ0Y7O0FrQ2x6Q0E7RUFDSTtBbENxekNKO0FrQ2x6Q1E7O0VBRUk7QWxDb3pDWjtBa0M5eUNJO0VBQ0k7QWxDZ3pDUjtBa0M3eUNZO0VBQ0k7QWxDK3lDaEI7QWtDNXlDWTtFQUNJO0FsQzh5Q2hCO0FrQzF5Q1E7RUFDSTtBbEM0eUNaO0FrQzF5Q1k7RUFDSTtBbEM0eUNoQjtBa0N2eUNJO0VBQ0gsY25DakNXO0FDMDBDWjtBa0N2eUNZO0VBQ0ksY25DckNEO0FDODBDZjtBa0N2eUNLO0VBQ1csY25DeENEO0FDaTFDZjtBa0NyeUNRO0VBQ0k7RUFDQTtBbEN1eUNaOztBbUN0MUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQ3kxQ0o7QW1DcjFDSTtFQUNIO0FuQ3UxQ0Q7O0FtQ2oxQ0E7RUFFSTtFQVdBO0FuQ3kwQ0o7QW1DajFDQztFQUNJLGNqQzFCVztBRjYyQ2hCO0FtQ2gxQ0M7RUFDSSxjakM5Qlc7QUZnM0NoQjs7QW1DNTBDQTtFQUVJLG1CakNuQ3FCO0FGaTNDekI7QW1DNTBDSTtFQUNILGNqQ3pDZTtBRnUzQ2hCO0FtQzMwQ0k7RUFDSCxjakM3Q2U7QUYwM0NoQjs7QW1DdjBDQTtFQWlESSx5QmpDcEdZO0VpQ3FHWjtFQUNBO0VBQ0E7RUFDQTtBbkMweENKO0FtQzUwQ0k7RUFDSTtFQUNQO0VBQ0E7QW5DODBDRDtBbUM1MENJO0VBQ0g7QW5DODBDRDtBbUMzMENJO0VBQ0gsY3BDdkVXO0VvQ3dFWDtBbkM2MENEO0FtQzUwQ0M7RUFDSTtFQUNBO0FuQzgwQ0w7QW1DNTBDWTtFQUNWO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJwQ3RGYTtBQ282Q2Y7QW1DejBDQztFQUNJLGNwQzVGVTtBQ3U2Q2Y7QW1DeDBDQztFQUNJLGNwQ2hHVTtBQzA2Q2Y7QW1DdjBDQztFQUNJLGNwQ2xHRTtBQzI2Q1A7QW1DdDBDSTtFQUNILHlCcEN4R2M7QUNnN0NmO0FtQy96Q0k7RUFDSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5DaTBDRDtBbUNoMENDO0VBQ0k7QW5DazBDTDtBbUNoMENDO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLG1CakM1SFk7QUY4N0NoQjtBbUNoMENJO0VBQ0k7RUFDQTtBbkNrMENSO0FtQ2gwQ1E7RUFDSTtBbkNrMENaO0FtQzl6Q0k7RUFDSSxjcEM1SUs7QUM0OENiO0FtQy96Q1E7RUFDSTtBbkNpMENaO0FtQzd6Q0k7RUFDSTtFQUNBO0VBUUE7QW5Dd3pDUjtBbUM3ekNRO0VBQ0ksY2pDcEpJO0FGbTlDaEI7QW1DenpDUTtFQUNJO0FuQzJ6Q1o7QW1DMXpDWTtFQUNJO0FuQzR6Q2hCO0FtQ2p6Q2dCO0VyQ2hLWjtFQUNBO0VxQ2lLRTtFQUNBO0VBQ0E7RUFDQTtBbkNvekNOO0FtQ256Q29CO0VBQ0k7QW5DcXpDeEI7QW1DaHpDb0I7RUFDakI7QW5Da3pDSDtBbUMveUM0QjtFQUNJO0FuQ2l6Q2hDO0FtQzN5Q29CO0VBQ0k7RUFDQTtBbkM2eUN4QjtBbUMxeUNFO0VBQ0k7RUFDQTtBbkM0eUNOOztBb0MzL0NBO0VBQ0k7RUFDQTtBcEM4L0NKOztBcUNoZ0RBO0VBQ0k7RUFDQTtBckNtZ0RKO0FJejdDSTtFaUM1RUo7SUFLQztFckNvZ0RDO0FBQ0Y7QXFDbGdESTtFQUNIO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckNvZ0REO0FxQ2xnREs7RUFDSCxlbkNSYztBRjRnRGhCO0FxQy8vQ0k7RUFDSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQ2lnREQ7O0FzQzVoREE7RUFDSTtFQVNBLGN2Q1RXO0FDZ2lEZjtBSXI5Q0k7RWtDeEVIO0lBQ0kseUJwQ09vQjtFRnloRHZCO0FBQ0Y7QXNDMWhESTtFQUNIO0VBQ0E7QXRDNGhERDtBc0N0aERRO0VBQ0k7RUFDQTtFQUNBO0F0Q3doRFo7QXNDcmhEZ0I7RUFDSTtBdEN1aERwQjtBc0MvZ0RZO0VBQ0ksbUJwQ3pCTTtBRjBpRHRCO0FzQzdnRFE7RUFDSTtBdEMrZ0RaO0FzQzlnREs7RUFDSDtBdENnaERGO0FzQzdnREU7RUFDSTtFQUNBO0VBQ0E7QXRDK2dETjtBc0M3Z0RFO0VBQ0k7QXRDK2dETjtBc0N4Z0RRO0VBQ0c7QXRDMGdEWDtBc0N4Z0RZO0VBQ0k7RUFDZDtFQUNBO0F0QzBnREY7QXNDcmdERTtFQUNJO0F0Q3VnRE47QXNDcmdERTtFQUNJO0F0Q3VnRE47QXNDcmdERTtFQUNJO0F0Q3VnRE47QXNDcmdERTtFQUNJO0F0Q3VnRE47QXNDcGdEZ0I7RUFDSTtBdENzZ0RwQjtBc0NuZ0RnQjtFQUNJO0V4Q2xEaEI7RUFDQTtFd0NtRGdCO0F0Q3NnRHBCOztBdUM5bERRO0VBQ0kseUJ4Q0ZHO0FDbW1EZjtBdUM3bERZO0VBQ1YsY3hDUGE7QUNzbURmOztBd0NubURnQjtFQUNJO0F4Q3NtRHBCO0F3Qy9sRGdCO0VBQ0k7QXhDaW1EcEI7QXdDNWxEUTtFQUNJO0F4QzhsRFo7QXdDM2xEUTtFQUNJO0F4QzZsRFo7QXdDMWxEUTtFQUNJO0VBQ0E7QXhDNGxEWjtBd0N6bERRO0VBQ0k7RUFDQTtBeEMybERaO0F3Q3hsRFE7RTFDZEo7RUFDQTtBRXltREo7QXdDdmxEWTtFQUNJO0F4Q3lsRGhCO0F3Q3RsRFk7RUFDSTtBeEN3bERoQjtBd0N0bERZO0VBQ0k7QXhDd2xEaEI7QXdDdGxEWTtFQUNJO0F4Q3dsRGhCO0F3Q3RsRFk7RUFDSTtBeEN3bERoQjtBd0N0bERZO0VBQ0k7QXhDd2xEaEI7O0F5Q2pwREE7RUFDSTtBekNvcERKO0F5Q2xwREk7RTNDa0JBO0VBQ0E7QUVtb0RKO0F5Q2pwRFE7RUFDSTtBekNtcERaO0F5Q2hwRFE7RUFDSTtBekNrcERaO0F5Q2hwRFE7RUFDSTtBekNrcERaO0F5Q2hwRFE7RUFDSTtBekNrcERaO0F5Q2hwRFE7RUFDSTtBekNrcERaO0F5Q2hwRFE7RUFDSTtBekNrcERaOztBMEM1cURBO0VBQ0k7QTFDK3FESjtBMEM3cURJO0VBQ0k7QTFDK3FEUjtBMEM3cURRO0VBQ0k7QTFDK3FEWjs7QTJDdHJEQTtFQUNJO0EzQ3lyREo7QTJDdnJESTtFQUNJO0EzQ3lyRFIsQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL2FwcC5iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvX2NvbmZpZy9fZm9udHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL3Njc3MvX2NvbmZpZy9fYm9vdHN0cmFwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvdGhlbWUuc3R1ZGlvLXBvbW1lLXZlcnRlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvYXBwLnVpLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvX2NvbmZpZy9fY29sb3JzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1icmFuY2gvbG9jYXRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1wb21tZS12ZXJ0ZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2NoZWNrb3V0LXByb2Nlc3MvYWRkLWNoaWxkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL2NoZWNrb3V0LWNvbmZpcm1hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtcHJvY2Vzcy9jaGVja291dC1mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL2NoZWNrb3V0LXJldmlldy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtcHJvY2Vzcy9jaGlsZC10aWxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL2NsdWItc3Vic2NyaXB0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL2xldHRlci1hbmltYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1wb21tZS12ZXJ0ZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2NoZWNrb3V0LXByb2Nlc3MvcGFja2FnZS1wYXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL3N1bW1hcnkuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1wb21tZS12ZXJ0ZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2NoZWNrb3V0LXByb2Nlc3Mvc3VydmV5LWZvcm0uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1wb21tZS12ZXJ0ZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2N1c3RvbWl6ZS9wb3B1cC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY3VzdG9taXplL3Rvb2xzL2JhY2tncm91bmQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1wb21tZS12ZXJ0ZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2N1c3RvbWl6ZS90b29scy9ncmFkZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1wb21tZS12ZXJ0ZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2N1c3RvbWl6ZS90b29scy9sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1wb21tZS12ZXJ0ZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2N1c3RvbWl6ZS90b29scy9waG9uZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY3VzdG9taXplL3Rvb2xzL3Bvc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1wb21tZS12ZXJ0ZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2Rvd25sb2FkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9sb2dpbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvcGFja2FnZS10aWxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvYW5pbWF0ZWQtY3VydmUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1wb21tZS12ZXJ0ZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9jaGVja291dC1icmFuY2gvaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvY2hlY2tvdXQtcHJvY2Vzcy9oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1wb21tZS12ZXJ0ZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9jaGVja291dC1wcm9jZXNzL3BhZ2UtY29udGVudC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2N1c3RvbWl6ZS9hc2lkZS1jdXN0b21pemUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1wb21tZS12ZXJ0ZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9jdXN0b21pemUvaGVhZGVyLWN1c3RvbWl6ZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2N1c3RvbWl6ZS9tb2JpbGUtbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvY3VzdG9taXplL3ByZXZpZXctY3VzdG9taXplLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvY3VzdG9taXplL3Rvb2xzLWN1c3RvbWl6ZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2Zvb3Rlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2hlYWRlci1jYXRlZ29yeS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2hlYWRlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2hlcm9zL2hlcm8tZGVmYXVsdC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2hlcm9zL2hlcm8taG9tZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2hlcm9zL2hlcm8td2VsY29tZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2ltYWdlLXRleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1wb21tZS12ZXJ0ZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9tZXNzYWdlcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL25vdGljZS1iYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1wb21tZS12ZXJ0ZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy90ZXh0LXBhZ2UtY29udGVudC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhZ2VzL2N1c3RvbWl6ZS1wYWdlLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy9cbi8vIFJvb3Qgc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuYm9keSB7XG4gICAgQGluY2x1ZGUgcG9wcGlucygpO1xuICAgIGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xufVxuXG4vL1xuLy8gSGVhZGluZyBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmgxLCAubGlrZS1oMSxcbmgyLCAubGlrZS1oMixcbmgzLCAubGlrZS1oMyxcbmg0LCAubGlrZS1oNCB7XG4gICAgQGluY2x1ZGUgcG9wcGlucygpO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG59XG5cbmg1LCAubGlrZS1oNSxcbmg2LCAubGlrZS1oNiB7XG4gICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG59XG5cbi50aXRsZS13aXRoLWxpbmV7XG5cbiAgICAmLnllbGxvd3tcbiAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGl0bGUtbGluZS1hbHQpO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAmOmJlZm9yZXtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRpdGxlLWxpbmUpO1xuICAgIH1cbn1cblxuLy9cbi8vIFRleHQgc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5zdHJvbmcge1xuICAgIEBpbmNsdWRlIHBvcHBpbnMtYmxhY2soKTtcbn1cblxuLy9cbi8vIExpbmsgc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5hIHtcbiAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGxpbmstY29sb3IpO1xuXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgbGluay1ob3Zlci1jb2xvcik7XG4gICAgfVxufVxuIiwiQG1peGluIHBvcHBpbnMtbGlnaHQoKSB7XG4gICAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogMzAwO1xufVxuXG5AbWl4aW4gcG9wcGlucygpIHtcbiAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbkBtaXhpbiBwb3BwaW5zLWl0YWxpYygpIHtcbiAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG5AbWl4aW4gcG9wcGlucy1tZWRpdW0oKSB7XG4gICAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWl4aW4gcG9wcGlucy1ib2xkKCkge1xuICAgIGZvbnQtZmFtaWx5OiAnUG9wcGlucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuQG1peGluIHBvcHBpbnMtYm9sZC1pdGFsaWMoKSB7XG4gICAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuQG1peGluIHBvcHBpbnMtZXh0cmEtYm9sZCgpIHtcbiAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG59XG5cbkBtaXhpbiBwb3BwaW5zLWJsYWNrKCkge1xuICAgIGZvbnQtZmFtaWx5OiAnUG9wcGlucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbn1cbiIsIi8vIE92ZXJyaWRlIGFueSBib290c3RyYXAgZGVmYXVsdCB2YXJpYWJsZSBoZXJlXG4kZ3JleS1kYXJrZXN0OiAjMTgxODFCOyBcbiRncmV5LWRhcms6ICM1MjUyNUI7XG4kZ3JleTogI0ExQTFBQTtcbiRncmV5LXJlZ3VsYXI6ICNFNEU0RTc7IFxuJGdyZXktbGlnaHQ6ICNGNEY0RjU7IFxuJGdyZXktbGlnaHRlc3Q6ICNGQUZBRkE7IFxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gICAgeHhzOiAwLFxuICAgIHhzOiA0ODBweCxcbiAgICBzbTogNzY4cHgsXG4gICAgbWQ6IDEwMjRweCxcbiAgICBsZzogMTQ0MHB4LFxuICAgIHhsOiAxOTIwcHgsXG4pO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICAgIG1kOiA5NjBweCxcbiAgICBsZzogMTIyMHB4LFxuICAgIHhsOiAxNjAwcHgsXG4pO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAxMjtcbiRncmlkLWd1dHRlci13aWR0aDogMTZweDtcblxuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbiRmb250LXNpemUtcm9vdDogMTZweDtcblxuJGhyLW1hcmdpbi15OiAwO1xuJGhyLW9wYWNpdHk6IDE7XG5cblxuLy9Ub29sdGlwc1xuJHRvb2x0aXAtZm9udC1zaXplOiAxNHB4O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAzMDBweDtcbiR0b29sdGlwLWNvbG9yOiB2YXIoLS1jb2xvci1UZXh0SWNvbi1UZXh0LXNlY29uZGFyeSwgIzNGM0Y0Nik7XG4kdG9vbHRpcC1iZzogdmFyKC0td2hpdGUsICNGRkYpO1xuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICRncmV5O1xuJHRvb2x0aXAtb3BhY2l0eTogMTtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiA4cHg7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgJGdyZXktbGlnaHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuJG5hdi1saW5rLWNvbG9yIDogIHZhcigtLWNvbG9yLVRleHQtYW5kLWljb24tVGV4dC1kZXNjcmlwdGlvbiwgIzNGM0Y0Nik7XG5cbiRuYXYtdW5kZXJsaW5lLWdhcDogICAgICAgICAgICAgICAgIDFyZW07XG4kbmF2LXVuZGVybGluZS1ib3JkZXItd2lkdGg6ICAgICAgICAuMTI1cmVtO1xuLy8kbmF2LXVuZGVybGluZS1saW5rLWFjdGl2ZS1jb2xvcjogICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpO1xuXG4iLCIvLyAxLiBJbXBvcnQgd2ViIGZvbnRzXG4vLyBASEFDSyByZXBsYWNlIGFueSA7IGluIHVybCBieSAlM2Igb3RoZXJ3aXNlIGl0IHdpbGwgYnJlYWsgKGh0dHBzOi8vZ2l0aHViLmNvbS9sYXJhdmVsLW1peC9sYXJhdmVsLW1peC9pc3N1ZXMvMjQzMCNpc3N1ZWNvbW1lbnQtODMzNTkxMDQ0KVxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9V29yaytTYW5zOml0YWwsd2dodEAwLDMwMCUzYjAsNDAwJTNiMCw1MDAlM2IwLDcwMCUzYjAsODAwJTNiMCw5MDAlM2IxLDQwMCUzYjEsNzAwJmRpc3BsYXk9c3dhcCcpO1xuXG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1GaWd0cmVlOml0YWwsd2dodEAwLDMwMC4uOTAwOzEsMzAwLi45MDAmZmFtaWx5PU1vbnRzZXJyYXQ6aXRhbCx3Z2h0QDAsMTAwLi45MDA7MSwxMDAuLjkwMCZkaXNwbGF5PXN3YXAnKTtcblxuLy8gMi4gSW1wb3J0IGFsbCBmdW5jdGlvbiwgbWl4aW5zIGFuZCB2YXJpYWJsZXMgZnJvbSBjb21tb24gc3R5bGVzXG5AaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uL2Fzc2V0cy9zY3NzL2FwcC5mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9hc3NldHMvc2Nzcy9fY29uZmlnL2FuaW1hdGlvblwiO1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uL2Fzc2V0cy9zY3NzL19jb25maWcvYm9vdHN0cmFwXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vYXNzZXRzL3Njc3MvX2NvbmZpZy9lYXNpbmdcIjtcbkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL21peGluc1wiO1xuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy91dGlsaXRpZXNcIjtcblxuLy8gMy4gSW5jbHVkZSBhbnkgZGVmYXVsdCB2YXJpYWJsZSBvdmVycmlkZXMgaGVyZVxuQGltcG9ydCBcImFwcC5jb25maWdcIjtcblxuLy8gNC4gQWRkIGFkZGl0aW9uYWwgY3VzdG9tIGNvZGUgaGVyZVxuQGltcG9ydCBcImFwcC5iYXNlXCI7XG5AaW1wb3J0IFwiYXBwLnVpXCI7XG4vLztcbkBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1iZXRhMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1wb21tZS12ZXJ0ZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2NoZWNrb3V0LWJyYW5jaC9sb2NhdGlvbnMuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtYmV0YTIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL2FkZC1jaGlsZC5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1iZXRhMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1wb21tZS12ZXJ0ZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2NoZWNrb3V0LXByb2Nlc3MvY2hlY2tvdXQtY29uZmlybWF0aW9uLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWJldGEyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtcHJvY2Vzcy9jaGVja291dC1mb3JtLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWJldGEyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtcHJvY2Vzcy9jaGVja291dC1yZXZpZXcuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtYmV0YTIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL2NoaWxkLXRpbGUuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtYmV0YTIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL2NsdWItc3Vic2NyaXB0aW9uLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWJldGEyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtcHJvY2Vzcy9sZXR0ZXItYW5pbWF0aW9uLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWJldGEyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtcHJvY2Vzcy9wYWNrYWdlLXBhcnQuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtYmV0YTIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL3N1bW1hcnkuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtYmV0YTIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL3N1cnZleS1mb3JtLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWJldGEyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY3VzdG9taXplL3BvcHVwLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWJldGEyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY3VzdG9taXplL3Rvb2xzL2JhY2tncm91bmQuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtYmV0YTIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jdXN0b21pemUvdG9vbHMvZ3JhZGVzLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWJldGEyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY3VzdG9taXplL3Rvb2xzL2xheW91dC5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1iZXRhMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1wb21tZS12ZXJ0ZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2N1c3RvbWl6ZS90b29scy9waG9uZS5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1iZXRhMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1wb21tZS12ZXJ0ZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2N1c3RvbWl6ZS90b29scy9wb3NlLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWJldGEyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvZG93bmxvYWQuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtYmV0YTIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9sb2dpbi5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1iZXRhMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1wb21tZS12ZXJ0ZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL3BhY2thZ2UtdGlsZS5zY3NzXCI7XG5AaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtYmV0YTIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvYW5pbWF0ZWQtY3VydmUuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtYmV0YTIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvY2F0ZWdvcnkvcGFja2FnZS1saXN0aW5nLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWJldGEyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2NoZWNrb3V0LWJyYW5jaC9oZWFkZXIuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtYmV0YTIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvY2hlY2tvdXQtcHJvY2Vzcy9oZWFkZXIuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtYmV0YTIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvY2hlY2tvdXQtcHJvY2Vzcy9wYWdlLWNvbnRlbnQuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtYmV0YTIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvY3VzdG9taXplL2FzaWRlLWN1c3RvbWl6ZS5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1iZXRhMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1wb21tZS12ZXJ0ZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9jdXN0b21pemUvaGVhZGVyLWN1c3RvbWl6ZS5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1iZXRhMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1wb21tZS12ZXJ0ZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9jdXN0b21pemUvbW9iaWxlLW5hdi5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1iZXRhMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1wb21tZS12ZXJ0ZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9jdXN0b21pemUvcHJldmlldy1jdXN0b21pemUuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtYmV0YTIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvY3VzdG9taXplL3Rvb2xzLWN1c3RvbWl6ZS5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1iZXRhMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1wb21tZS12ZXJ0ZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9mb290ZXIuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtYmV0YTIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvaGVhZGVyLWNhdGVnb3J5LnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWJldGEyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2hlYWRlci5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1iZXRhMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1wb21tZS12ZXJ0ZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9oZXJvcy9oZXJvLWRlZmF1bHQuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtYmV0YTIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvaGVyb3MvaGVyby1ob21lLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWJldGEyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2hlcm9zL2hlcm8td2VsY29tZS5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1iZXRhMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1wb21tZS12ZXJ0ZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9pbWFnZS10ZXh0LnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWJldGEyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL21lc3NhZ2VzLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWJldGEyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLXBvbW1lLXZlcnRlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL25vdGljZS1iYXIuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtYmV0YTIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvdGV4dC1wYWdlLWNvbnRlbnQuc2Nzc1wiO1xuLy87XG5AaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtYmV0YTIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tcG9tbWUtdmVydGUvYXNzZXRzL3Njc3MvcGFnZXMvY3VzdG9taXplLXBhZ2Uuc2Nzc1wiO1xuIiwiLy89PT09PT09PT09ICBMSUVOUy9CVVRUT05TICA9PT09PT09PT09Ly9cbiAgICAucHJpbWFyeS1idXR0b24ge1xuXHRwYWRkaW5nOiAxMnB4IDIwcHg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRib3JkZXItcmFkaXVzOiAxNnB4O1xuXHRiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeTtcblx0Ym9yZGVyOiAxcHggc29saWQgJGJyYW5kLXByaW1hcnk7XG5cdGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGhlaWdodDogNTZweDtcblx0Z2FwOiA4cHg7XG4gICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtZXh0cmEtYm9sZCgpO1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR3aWR0aDogaW5oZXJpdDtcblx0bWF4LXdpZHRoOiAzODVweDtcblx0bWluLXdpZHRoOiAyNTBweDtcblx0QG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7IC8vIFRhcmdldGluZyBYUyBhbmQgc21hbGxlciBzY3JlZW5zXG5cdCAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cdH1cblx0XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBwYXRoLCBsaW5lIHtcbiAgICAgICAgICAgICAgICBzdHJva2U6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmRpc2FibGVkLCAmLmJ1dHRvbi1kaXNhYmxlZCAge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXktcmVndWxhciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6ICRncmV5ICFpbXBvcnRhbnQ7XG5cdCAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHN2ZyB7XG5cdFx0cGF0aCwgbGluZSB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJGdyZXk7XG5cdFx0fVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCguZGlzYWJsZWQpIHtcblxuICAgICAgICAgICAgJjpob3ZlciwsICY6Zm9jdXN7XG5cdFx0YmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnktZGFyaztcblx0XHQvKiBob3ZlciBzaGFkb3cgKi9cblx0XHRib3gtc2hhZG93OiAwcHggM3B4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdFx0Y29sb3I6ICNGRkZGRkY7XG5cdCAgICB9XG5cdCAgICAmOmFjdGl2ZSB7XG5cdFx0Ym9yZGVyLXJhZGl1czogMTZweDtcblx0XHRiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeS1kYXJrZXN0O1xuXHRcdC8qIHByZXNzZWQgc2hhZG93ICovXG5cdFx0Ym94LXNoYWRvdzogMHB4IDJweCA4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMCkgaW5zZXQ7XG5cdFx0Y29sb3I6ICNGRkZGRkY7XG5cdCAgICB9XHRcbiAgICAgICAgfVxuICAgIH1cblxuXG5cbiAgICAuc2Vjb25kYXJ5LWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDEycHggMjBweDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IDE2cHg7XG5cblx0Y29sb3I6JGJyYW5kLXByaW1hcnkgIWltcG9ydGFudDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGJyYW5kLXByaW1hcnk7XG5cdGJhY2tncm91bmQ6IHZhcigtLXdoaXRlLCAjRkZGKTtcblx0XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGhlaWdodDogNTZweDtcblx0Z2FwOiA4cHg7XG4gICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtZXh0cmEtYm9sZCgpO1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0d2lkdGg6YXV0bztcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdEBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkgeyAvLyBUYXJnZXRpbmcgWFMgYW5kIHNtYWxsZXIgc2NyZWVuc1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cdCAgICBoZWlnaHQ6IDEwMCU7XG5cblx0fVxuXHRcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHBhdGgsIGxpbmUge1xuXHRcdHN0cm9rZTogJGJyYW5kLXByaW1hcnlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHByaW1hcnktZGlzYWJsZWQtYnRuLWJnKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMoKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcHJpbWFyeS1kaXNhYmxlZC1idG4tdGV4dCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCguZGlzYWJsZWQpIHtcblxuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1c3tcblx0XHRiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeS1saWdodGVzdDtcblx0XHQvKiBob3ZlciBzaGFkb3cgKi9cblx0XHRib3gtc2hhZG93OiAwcHggM3B4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdFx0Y29sb3I6JGJyYW5kLXByaW1hcnkgIWltcG9ydGFudDtcdFx0XG5cdCAgICB9XG5cdCAgICAmOmFjdGl2ZSB7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGJyYW5kLXByaW1hcnk7XG5cdFx0Y29sb3I6JGJyYW5kLXByaW1hcnkgIWltcG9ydGFudDtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5LWxpZ2h0O1xuXHRcdHN2ZyB7XG5cdFx0ICAgIHBhdGgsIGxpbmUge1xuXHRcdFx0c3Ryb2tlOiAkYnJhbmQtcHJpbWFyeTtcblx0XHQgICAgfVxuXHRcdH1cblx0ICAgIH1cdFxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBcbmEsIGJ1dHRvbiB7XG4gICAgXG4gICAgJi5wcmltYXJ5LWJ0biB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBwcmltYXJ5LWJ0bi1iZyk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBwcmltYXJ5LWhvdmVyLWJ0bi1zaGFkb3cpO1xuICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWV4dHJhLWJvbGQoKTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBwcmltYXJ5LWJ0bi10ZXh0KTtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgcGF0aCwgbGluZSB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcHJpbWFyeS1idG4tdGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYW5pbWF0ZWQtYmctd3JhcHBlciB7XG4gICAgICAgICAgICAuYW5pbWF0ZWQtYmFja2dyb3VuZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHByaW1hcnktaG92ZXItYnRuLWJnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWx0LWNvbG9ycyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcHJpbWFyeS1hbHQtYnRuLWJnKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcHJpbWFyeS1hbHQtYnRuLXRleHQpO1xuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHBhdGgsIGxpbmUge1xuICAgICAgICAgICAgICAgICAgICBzdHJva2U6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBwcmltYXJ5LWFsdC1idG4tdGV4dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYW5pbWF0ZWQtYmctd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgLmFuaW1hdGVkLWJhY2tncm91bmQge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4obWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHByaW1hcnktYWx0LWJ0bi1iZyksIDEwJSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcHJpbWFyeS1kaXNhYmxlZC1idG4tYmcpO1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucygpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBwcmltYXJ5LWRpc2FibGVkLWJ0bi10ZXh0KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDIwcHggbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHByaW1hcnktaG92ZXItYnRuLXNoYWRvdyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDVweCA1cHggbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHByaW1hcnktaG92ZXItYnRuLXNoYWRvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNlY29uZGFyeS1idG4ge1xuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktYnRuLWJvcmRlcik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktYnRuLWJnKTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHByaW1hcnktaG92ZXItYnRuLXNoYWRvdyk7XG4gICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtZXh0cmEtYm9sZCgpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1idG4tdGV4dCk7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHBhdGgsIGxpbmUge1xuICAgICAgICAgICAgICAgIHN0cm9rZTogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1idG4tdGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYW5pbWF0ZWQtYmctd3JhcHBlciB7XG4gICAgICAgICAgICAuYW5pbWF0ZWQtYmFja2dyb3VuZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1ob3Zlci1idG4tYmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zKCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFsdC1jb2xvcnMge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWFsdC1idG4tYm9yZGVyKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktYWx0LWJ0bi1iZyk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1hbHQtYnRuLXRleHQpO1xuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHBhdGgsIGxpbmUge1xuICAgICAgICAgICAgICAgICAgICBzdHJva2U6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktYWx0LWJ0bi10ZXh0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hbmltYXRlZC1iZy13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAuYW5pbWF0ZWQtYmFja2dyb3VuZCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktYWx0LWhvdmVyLWJ0bi1iZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktYWx0LWhvdmVyLWJ0bi10ZXh0KTtcblxuICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCwgbGluZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWFsdC1ob3Zlci1idG4tdGV4dCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1kaXNhYmxlZC1idG4tYm9yZGVyKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktZGlzYWJsZWQtYnRuLWJnKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWRpc2FibGVkLWJ0bi10ZXh0KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDIwcHggbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1ob3Zlci1idG4tc2hhZG93KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1ob3Zlci1idG4tY29sb3IpO1xuXG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aCwgbGluZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktaG92ZXItYnRuLWNvbG9yKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDVweCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWhvdmVyLWJ0bi1zaGFkb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi50ZXJ0aWFyeS1idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1idG4tdGV4dCkgY2FsYygxMDAlIC8gMyksIHRyYW5zcGFyZW50IDAgY2FsYygyMDAlIC8gMyksIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1idG4tdGV4dCkgMCkgdmFyKC0tZCwgMTAwJSkgMTAwJSAvMzAwJSAxcHggbm8tcmVwZWF0O1xuICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWV4dHJhLWJvbGQoKTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1idG4tdGV4dCk7XG5cbiAgICAgICAgJi5ncmVlbiB7XG4gICAgICAgICAgICAmOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGVydGlhcnktZ3JlZW4taG92ZXItYnRuLXRleHQpIGNhbGMoMTAwJSAvIDMpLCB0cmFuc3BhcmVudCAwIGNhbGMoMjAwJSAvIDMpLCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGVydGlhcnktZ3JlZW4taG92ZXItYnRuLXRleHQpIDApIHZhcigtLWQsIDEwMCUpIDEwMCUgLzMwMCUgMXB4IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1ncmVlbi1ob3Zlci1idG4tdGV4dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hbHQtY29sb3JzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWFsdC1idG4tdGV4dCkgY2FsYygxMDAlIC8gMyksIHRyYW5zcGFyZW50IDAgY2FsYygyMDAlIC8gMyksIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1hbHQtYnRuLXRleHQpIDApIHZhcigtLWQsIDEwMCUpIDEwMCUgLzMwMCUgMXB4IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGVydGlhcnktYWx0LWJ0bi10ZXh0KTtcblxuICAgICAgICAgICAgJjpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWhvdmVyLWFsdC1idG4tdGV4dCkgY2FsYygxMDAlIC8gMyksIHRyYW5zcGFyZW50IDAgY2FsYygyMDAlIC8gMyksIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1ob3Zlci1hbHQtYnRuLXRleHQpIDApIHZhcigtLWQsIDEwMCUpIDEwMCUgLzMwMCUgMXB4IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1ob3Zlci1hbHQtYnRuLXRleHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYud2hpdGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGVydGlhcnktaG92ZXItYWx0LWJ0bi10ZXh0KSBjYWxjKDEwMCUgLyAzKSwgdHJhbnNwYXJlbnQgMCBjYWxjKDIwMCUgLyAzKSwgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWhvdmVyLWFsdC1idG4tdGV4dCkgMCkgdmFyKC0tZCwgMTAwJSkgMTAwJSAvMzAwJSAxcHggbm8tcmVwZWF0O1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1ob3Zlci1hbHQtYnRuLXRleHQpO1xuXG4gICAgICAgICAgICAmOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGVydGlhcnktaG92ZXItYnRuLXRleHQpIGNhbGMoMTAwJSAvIDMpLCB0cmFuc3BhcmVudCAwIGNhbGMoMjAwJSAvIDMpLCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGVydGlhcnktaG92ZXItYnRuLXRleHQpIDApIHZhcigtLWQsIDEwMCUpIDEwMCUgLzMwMCUgMXB4IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1ob3Zlci1idG4tdGV4dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1ob3Zlci1idG4tdGV4dCkgY2FsYygxMDAlIC8gMyksIHRyYW5zcGFyZW50IDAgY2FsYygyMDAlIC8gMyksIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1ob3Zlci1idG4tdGV4dCkgMCkgdmFyKC0tZCwgMTAwJSkgMTAwJSAvMzAwJSAxcHggbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGVydGlhcnktaG92ZXItYnRuLXRleHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5xdWFydGVyeS1idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBxdWFydGVyeS1idG4tdGV4dCkgY2FsYygxMDAlIC8gMyksIHRyYW5zcGFyZW50IDAgY2FsYygyMDAlIC8gMyksICRncmV5LWRhcmtlc3QgMCkgdmFyKC0tZCwgMTAwJSkgMTAwJSAvMzAwJSAxcHggbm8tcmVwZWF0O1xuICAgICAgICBAaW5jbHVkZSBwb3BwaW5zKCk7XG4gICAgICAgIGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuXG4gICAgICAgICY6bm90KC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmFsdC1jb2xvcnMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcXVhcnRlcnktYWx0LWJ0bi10ZXh0KSBjYWxjKDEwMCUgLyAzKSwgdHJhbnNwYXJlbnQgMCBjYWxjKDIwMCUgLyAzKSwgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHF1YXJ0ZXJ5LWFsdC1idG4tdGV4dCkgMCkgdmFyKC0tZCwgMTAwJSkgMTAwJSAvMzAwJSAxcHggbm8tcmVwZWF0O1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBxdWFydGVyeS1hbHQtYnRuLXRleHQpO1xuXG4gICAgICAgICAgICAmOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcXVhcnRlcnktaG92ZXItYWx0LWJ0bi10ZXh0KSBjYWxjKDEwMCUgLyAzKSwgdHJhbnNwYXJlbnQgMCBjYWxjKDIwMCUgLyAzKSwgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHF1YXJ0ZXJ5LWhvdmVyLWFsdC1idG4tdGV4dCkgMCkgdmFyKC0tZCwgMTAwJSkgMTAwJSAvMzAwJSAxcHggbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHF1YXJ0ZXJ5LWhvdmVyLWFsdC1idG4tdGV4dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5wcmltYXJ5LXJvdW5kLWJ0biB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBwcmltYXJ5LWFycm93LWJ0bi1iZyk7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHBhdGgsIGxpbmUge1xuICAgICAgICAgICAgICAgIHN0cm9rZTogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHByaW1hcnktYXJyb3ctYnRuLWljb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcHJpbWFyeS1hcnJvdy1idG4tc2hhZG93KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDVweCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcHJpbWFyeS1hcnJvdy1idG4tc2hhZG93KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc2Vjb25kYXJ5LXJvdW5kLWJ0biB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktYXJyb3ctYnRuLWJnKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWFycm93LWJ0bi1ib3JkZXIpO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBwYXRoLCBsaW5lIHtcbiAgICAgICAgICAgICAgICBzdHJva2U6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktYXJyb3ctYnRuLWljb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWFycm93LWJ0bi1ob3Zlci1iZyk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWFycm93LWJ0bi1zaGFkb3cpO1xuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHBhdGgsIGxpbmUge1xuICAgICAgICAgICAgICAgICAgICBzdHJva2U6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktYXJyb3ctYnRuLWhvdmVyLWljb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDVweCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWFycm93LWJ0bi1zaGFkb3cpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLz09PT09PT09PT0gIENIRUNLQk9YICA9PT09PT09PT09Ly9cblt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSxcblt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCB7XG4gICAgKyBsYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIHBvcHBpbnMoKTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBjaGVja2JveC1sYWJlbCk7XG5cbiAgICAgICAgLmFuaW1hdGVkLWJhY2tncm91bmQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGNoZWNrYm94LWhvdmVyLWVmZmVjdCk7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBjaGVja2JveCBhc3BlY3QgKi9cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGNoZWNrYm94LWJvcmRlcik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgY2hlY2tib3gtYmcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgY2hlY2tib3gtaG92ZXItYm9yZGVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBEaXNhYmxlZCBjaGVja2JveCAqL1xuICAgICY6ZGlzYWJsZWQge1xuICAgICAgICArIGxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgY2hlY2tib3gtZGlzYWJsZWQtbGFiZWwpO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGNoZWNrYm94LWRpc2FibGVkLWJvcmRlcik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGNoZWNrYm94LWRpc2FibGVkLWJnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgY2hlY2tib3gtYWN0aXZlLWJnKTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBjaGVja2JveC1hY3RpdmUtYmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAvLz09PT09IEZPUiBBQ0NFU1NJQklMSVRZIFBVUlBPU0VTIEBUT0RPIFRPIEJFIENPTkZJUk1FRCBXSVRIIERFU0lHTiBURUFNXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGNoZWNrYm94LWJvcmRlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLz09PT09PT09PT0gIFJBRElPICA9PT09PT09PT09Ly9cblt0eXBlPVwicmFkaW9cIl06bm90KDpjaGVja2VkKSxcblt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCB7XG4gICAgKyBsYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIHBvcHBpbnMoKTtcbiAgICAgICAgY29sb3I6ICRncmV5LWRhcmtlc3Q7XG5cbiAgICAgICAgLmFuaW1hdGVkLWJhY2tncm91bmQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHJhZGlvLWhvdmVyLWVmZmVjdCk7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBjaGVja2JveCBhc3BlY3QgKi9cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHJhZGlvLWJvcmRlcik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcmFkaW8tYmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHJhZGlvLWRvdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCByYWRpby1ob3Zlci1ib3JkZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIERpc2FibGVkIGNoZWNrYm94ICovXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCByYWRpby1kaXNhYmxlZC1sYWJlbCk7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcmFkaW8tZGlzYWJsZWQtYm9yZGVyKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcmFkaW8tZGlzYWJsZWQtYmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpjaGVja2VkIHtcbiAgICAgICAgKyBsYWJlbCB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHJhZGlvLWFjdGl2ZS1iZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vPT09PT0gRk9SIEFDQ0VTU0lCSUxJVFkgUFVSUE9TRVMgQFRPRE8gVE8gQkUgQ09ORklSTUVEIFdJVEggREVTSUdOIFRFQU1cbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcmFkaW8tYm9yZGVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jaGVja2JveC1lcnJvciB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBpbnB1dC1lcnJvci1sYWJlbCk7XG5cbiAgICAuZXhjbGFtYXRpb24taWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBpbnB1dC1lcnJvci1ib3JkZXIpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWVycm9yLWljb24pO1xuICAgIH1cbn1cblxuc2VsZWN0LnNlbGVjdDItaGlkZGVuLWFjY2Vzc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLy89PT09PT09PT09ICBDSEFNUCBURVhUKysgID09PT09PT09PT0vL1xuW3R5cGU9XCJ0ZXh0XCJdLCBbdHlwZT1cIm51bWJlclwiXSwgW3R5cGU9XCJ0ZWxcIl0sIFt0eXBlPVwiZW1haWxcIl0sIFt0eXBlPVwicGFzc3dvcmRcIl0sIFt0eXBlPVwiZW1haWxcIl0sIHNlbGVjdCwgdGV4dGFyZWEge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBpbnB1dC1ib3JkZXIpO1xuICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgIGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuICAgIGNhcmV0LWNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuXG4gICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJi5mb3JtLWNvbnRyb2wge1xuICAgICAgICAmICsgbGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucygpO1xuICAgICAgICAgICAgY29sb3I6ICRncmV5LWRhcmtlc3Q7XG4gICAgICAgIH1cblxuICAgICAgICAmIH4gLmludmFsaWQtZmVlZGJhY2sge1xuICAgICAgICAgICAgLmV4Y2xhbWF0aW9uLWljb24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBpbnB1dC1lcnJvci1ib3JkZXIpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgaW5wdXQtZXJyb3ItaWNvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgaW5wdXQtdmFsdWUpO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgaW5wdXQtYWN0aXZlLWJvcmRlcik7XG5cbiAgICAgICAgICAgICYgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBpbnB1dC1hY3RpdmUtbGFiZWwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1pbnZhbGlkIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWVycm9yLWJvcmRlcik7XG5cbiAgICAgICAgICAgICYgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBpbnB1dC1lcnJvci1sYWJlbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYgfiAuc2VsZWN0Mi1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBpbnB1dC1lcnJvci1ib3JkZXIpO1xuXG4gICAgICAgICAgICAgICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgICAgICAgICAgICAgICAgICAgICAgYiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Ryb3Bkb3duLWFycm93LWVycm9yQDJ4LnBuZ1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWVycm9yLWxhYmVsKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWx0LWNvbG9ycyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBpbnB1dC1hbHQtYm9yZGVyKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgaW5wdXQtYWx0LXZhbHVlKTtcbiAgICAgICAgICAgIGNhcmV0LWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgaW5wdXQtYWx0LWNhcmV0KTtcblxuICAgICAgICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWFsdC1sYWJlbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWFsdC1hY3RpdmUtYm9yZGVyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5pcy1pbnZhbGlkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBpbnB1dC1hbHQtZXJyb3ItYm9yZGVyKTtcblxuICAgICAgICAgICAgICAgICYgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgaW5wdXQtYWx0LWVycm9yLWxhYmVsKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmIH4gLmludmFsaWQtZmVlZGJhY2sge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjojRTMyMDMzOyBcblxuICAgICAgICAgICAgICAgICAgICAuZXhjbGFtYXRpb24taWNvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTMyMDMzO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vPT09PT09PT09PSAgQ0hBTVAgVEVYVEFSRUEgID09PT09PT09PT0vL1xuLmZvcm0tZmxvYXRpbmcge1xuICAgIHRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRleHRhcmVhLWJvcmRlcik7XG4gICAgICAgIGNhcmV0LWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGV4dGFyZWEtY2FyZXQpO1xuICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXh0YXJlYS10ZXh0KTtcblxuICAgICAgICAmICsgbGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucygpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXh0YXJlYS1sYWJlbCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGV4dGFyZWEtbGFiZWwtYmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXh0YXJlYS1hY3RpdmUtYm9yZGVyKTtcblxuICAgICAgICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRleHRhcmVhLWFjdGl2ZS1sYWJlbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vPT09PT09PT09PSAgU0VMRUNUMiBTVFlMRVMgT1ZFUldSSVRFICA9PT09PT09PT09Ly9cbi5zZWxlY3QtbGFiZWwge1xuICAgIC5zZWxlY3QtbGFiZWwtY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIHBvcHBpbnMoKTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWxlY3QtcGxhY2Vob2xkZXIpO1xuICAgIH1cbn1cblxuLnNlbGVjdDItY29udGFpbmVyIHtcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb24ge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2VsZWN0LWJvcmRlcik7XG5cbiAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2VsZWN0LW9wdGlvbnMpO1xuXG4gICAgICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3BsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICAgICAgICAgIGIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9kcm9wZG93bi1hcnJvd0AyeC5wbmdcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25zIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDMwcHggbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlbGVjdC1hY3RpdmUtc2hhZG93KTtcblxuICAgICAgICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgICAgICAgICBjb2xvcjogJGdyZXktZGFyaztcblxuICAgICAgICAgICAgJi5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0tc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWxlY3QtYWN0aXZlLW9wdGlvbnMtYmcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlbGVjdC1ob3Zlci1vcHRpb25zLWJnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc2VsZWN0Mi1jb250YWluZXItLW9wZW4ge1xuICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb24ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlbGVjdC1vcGVuLWJvcmRlcik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gQ09MT1JTXG4vLyBVc2UgaHR0cDovL3d3dy5jb2xvci1ibGluZG5lc3MuY29tL2NvbG9yLW5hbWUtaHVlLyBmb3IgY29sb3IgbmFtaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFN0dWRpbyBQb21tZSBWZXJ0ZSB0aGVtZSBjb2xvcnNcbiRicmFuZC1wcmltYXJ5LWRhcmtlc3Q6ICMwODREM0Q7XG4kYnJhbmQtcHJpbWFyeS1kYXJrOiAjMEQ2QjU0O1xuJGJyYW5kLXByaW1hcnk6ICMwMDk2NkI7XG4kYnJhbmQtcHJpbWFyeS1taWRsaWdodDogIzBFQkM5MztcbiRicmFuZC1wcmltYXJ5LWxpZ2h0OiAjQjhFRUU1O1xuJGJyYW5kLXByaW1hcnktbGlnaHRlc3Q6ICNFQ0Y1RjI7XG5cbiR3aGl0ZTogI0ZGRkZGRjtcbiR3aGl0ZS1mNzogI2Y3ZjdmNztcbiRzdXZhLWdyZXk6ICNBMUExQUE7XG4kY2xlYXItZGF5OiAkYnJhbmQtcHJpbWFyeS1saWdodGVzdDtcbiRnYWluc2Jvcm86ICNFNEU0RTc7XG4kZ2FpbnNib3JvLWU2OiAjRTRFNEU3O1xuJGxpZ2h0LWN5YW46ICRicmFuZC1wcmltYXJ5LWxpZ2h0O1xuJGh1bW1pbmctYmlyZDogJGJyYW5kLXByaW1hcnktbGlnaHQ7XG4kZGltLWdyYXk6ICNBMUExQUE7XG4kZGFyay1ncmVlbjogJGJyYW5kLXByaW1hcnktZGFyaztcbiRkYXJrLWRlZXAtc2VhOiAkYnJhbmQtcHJpbWFyeS1taWRsaWdodDtcbiRkZWVwLXNlYTogJGJyYW5kLXByaW1hcnktbWlkbGlnaHQ7XG4kbW91bnRhaW4tbWVhZG93OiAkYnJhbmQtcHJpbWFyeS1kYXJrO1xuJGRlZXAtY2xlYXI6ICRicmFuZC1wcmltYXJ5LW1pZGxpZ2h0O1xuJG11c3RhcmQ6ICNGRkZGRkY7XG4kcmVkOiAjZmEwMDBhO1xuXG5cbi8vXG4vLyBNQVAtR0VUKCkgQVJSQVlTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kY29sb3JzLWJhc2UtdWk6IChcbiAgICB0aXRsZXM6ICRkYXJrLWdyZWVuLFxuICAgIHBhcmFncmFwaHM6ICRkYXJrLWdyZWVuLFxuXG4gICAgcHJpbWFyeS1idG4tYmc6ICRkZWVwLXNlYSxcbiAgICBwcmltYXJ5LWJ0bi10ZXh0OiAkd2hpdGUsXG4gICAgcHJpbWFyeS1kaXNhYmxlZC1idG4tYmc6ICRnYWluc2Jvcm8sXG4gICAgcHJpbWFyeS1kaXNhYmxlZC1idG4tdGV4dDogJGRpbS1ncmF5LFxuICAgIHByaW1hcnktaG92ZXItYnRuLWJnOiAkZGFyay1kZWVwLXNlYSxcbiAgICBwcmltYXJ5LWhvdmVyLWJ0bi1zaGFkb3c6IHJnYmEoJGRhcmstZ3JlZW4sIDAuMyksXG4gICAgcHJpbWFyeS1hbHQtYnRuLWJnOiAkbXVzdGFyZCxcbiAgICBwcmltYXJ5LWFsdC1idG4tdGV4dDogJGRhcmstZ3JlZW4sXG5cbiAgICBzZWNvbmRhcnktYnRuLWJnOiAkd2hpdGUsXG4gICAgc2Vjb25kYXJ5LWJ0bi10ZXh0OiAkZGVlcC1zZWEsXG4gICAgc2Vjb25kYXJ5LWJ0bi1ib3JkZXI6ICRkZWVwLXNlYSxcbiAgICBzZWNvbmRhcnktZGlzYWJsZWQtYnRuLWJnOiAkd2hpdGUsXG4gICAgc2Vjb25kYXJ5LWRpc2FibGVkLWJ0bi10ZXh0OiAkZGltLWdyYXksXG4gICAgc2Vjb25kYXJ5LWRpc2FibGVkLWJ0bi1ib3JkZXI6ICRkaW0tZ3JheSxcbiAgICBzZWNvbmRhcnktaG92ZXItYnRuLWNvbG9yOiAkd2hpdGUsXG4gICAgc2Vjb25kYXJ5LWhvdmVyLWJ0bi1iZzogJGRlZXAtc2VhLFxuICAgIHNlY29uZGFyeS1ob3Zlci1idG4tc2hhZG93OiByZ2JhKCRkYXJrLWdyZWVuLCAwLjMpLFxuICAgIHNlY29uZGFyeS1hbHQtYnRuLWJnOiB0cmFuc3BhcmVudCxcbiAgICBzZWNvbmRhcnktYWx0LWJ0bi10ZXh0OiAkd2hpdGUsXG4gICAgc2Vjb25kYXJ5LWFsdC1idG4tYm9yZGVyOiAkbXVzdGFyZCxcbiAgICBzZWNvbmRhcnktYWx0LWhvdmVyLWJ0bi10ZXh0OiAkZGFyay1ncmVlbixcbiAgICBzZWNvbmRhcnktYWx0LWhvdmVyLWJ0bi1iZzogJG11c3RhcmQsXG5cbiAgICB0ZXJ0aWFyeS1idG4tdGV4dDogJGRlZXAtc2VhLFxuICAgIHRlcnRpYXJ5LWhvdmVyLWJ0bi10ZXh0OiAkbXVzdGFyZCxcbiAgICB0ZXJ0aWFyeS1ncmVlbi1ob3Zlci1idG4tdGV4dDogJGRhcmstZ3JlZW4sXG4gICAgdGVydGlhcnktYWx0LWJ0bi10ZXh0OiAkbXVzdGFyZCxcbiAgICB0ZXJ0aWFyeS1ob3Zlci1hbHQtYnRuLXRleHQ6ICR3aGl0ZSxcblxuICAgIHF1YXJ0ZXJ5LWJ0bi10ZXh0OiAkZGVlcC1zZWEsXG4gICAgcXVhcnRlcnktYWx0LWJ0bi10ZXh0OiAkbXVzdGFyZCxcbiAgICBxdWFydGVyeS1ob3Zlci1hbHQtYnRuLXRleHQ6ICRkZWVwLXNlYSxcblxuICAgIGNoZWNrYm94LWxhYmVsOiAkZGFyay1ncmVlbixcbiAgICBjaGVja2JveC1ib3JkZXI6ICRkaW0tZ3JheSxcbiAgICBjaGVja2JveC1iZzogJHdoaXRlLFxuICAgIGNoZWNrYm94LWhvdmVyLWJvcmRlcjogJGRlZXAtc2VhLFxuICAgIGNoZWNrYm94LWhvdmVyLWVmZmVjdDogJGNsZWFyLWRheSxcbiAgICBjaGVja2JveC1hY3RpdmUtYmc6ICRkZWVwLXNlYSxcbiAgICBjaGVja2JveC1kaXNhYmxlZC1sYWJlbDogJGRpbS1ncmF5LFxuICAgIGNoZWNrYm94LWRpc2FibGVkLWJvcmRlcjogJGRpbS1ncmF5LFxuICAgIGNoZWNrYm94LWRpc2FibGVkLWJnOiAkd2hpdGUsXG5cbiAgICByYWRpby1sYWJlbDogJGRhcmstZ3JlZW4sXG4gICAgcmFkaW8tYm9yZGVyOiAkZGltLWdyYXksXG4gICAgcmFkaW8tZG90OiAkZGVlcC1zZWEsXG4gICAgcmFkaW8tYmc6ICR3aGl0ZSxcbiAgICByYWRpby1ob3Zlci1ib3JkZXI6ICRkZWVwLXNlYSxcbiAgICByYWRpby1ob3Zlci1lZmZlY3Q6IHJnYmEoJGRpbS1ncmF5LCAwLjA4KSxcbiAgICByYWRpby1hY3RpdmUtYmc6ICRkZWVwLXNlYSxcbiAgICByYWRpby1kaXNhYmxlZC1sYWJlbDogJGRpbS1ncmF5LFxuICAgIHJhZGlvLWRpc2FibGVkLWJvcmRlcjogJGRpbS1ncmF5LFxuICAgIHJhZGlvLWRpc2FibGVkLWJnOiAkd2hpdGUsXG5cbiAgICBpbnB1dC1sYWJlbDogJGRpbS1ncmF5LFxuICAgIGlucHV0LXZhbHVlOiAkZGFyay1ncmVlbixcbiAgICBpbnB1dC1jYXJldDogJGRlZXAtc2VhLFxuICAgIGlucHV0LWJvcmRlcjogJGRpbS1ncmF5LFxuICAgIGlucHV0LWFjdGl2ZS1sYWJlbDogJGRlZXAtc2VhLFxuICAgIGlucHV0LWFjdGl2ZS1ib3JkZXI6ICRkZWVwLXNlYSxcbiAgICBpbnB1dC1lcnJvci1pY29uOiAkd2hpdGUsXG4gICAgaW5wdXQtZXJyb3ItbGFiZWw6ICRyZWQsXG4gICAgaW5wdXQtZXJyb3ItYm9yZGVyOiAkcmVkLFxuICAgIGlucHV0LWFsdC1sYWJlbDogJHdoaXRlLFxuICAgIGlucHV0LWFsdC12YWx1ZTogJHdoaXRlLFxuICAgIGlucHV0LWFsdC1jYXJldDogJG11c3RhcmQsXG4gICAgaW5wdXQtYWx0LWJvcmRlcjogJHdoaXRlLFxuICAgIGlucHV0LWFsdC1hY3RpdmUtbGFiZWw6ICR3aGl0ZSxcbiAgICBpbnB1dC1hbHQtYWN0aXZlLWJvcmRlcjogJG11c3RhcmQsXG4gICAgaW5wdXQtYWx0LWVycm9yLWljb246ICRkZWVwLXNlYSxcbiAgICBpbnB1dC1hbHQtZXJyb3ItbGFiZWw6ICRtdXN0YXJkLFxuICAgIGlucHV0LWFsdC1lcnJvci1ib3JkZXI6ICRtdXN0YXJkLFxuXG4gICAgdGV4dGFyZWEtYm9yZGVyOiAkZGltLWdyYXksXG4gICAgdGV4dGFyZWEtbGFiZWw6ICRkaW0tZ3JheSxcbiAgICB0ZXh0YXJlYS10ZXh0OiAkZGFyay1ncmVlbixcbiAgICB0ZXh0YXJlYS1jYXJldDogJGRlZXAtc2VhLFxuICAgIHRleHRhcmVhLWxhYmVsLWJnOiAkd2hpdGUsXG4gICAgdGV4dGFyZWEtYWN0aXZlLWJvcmRlcjogJGRlZXAtc2VhLFxuICAgIHRleHRhcmVhLWFjdGl2ZS1sYWJlbDogJGRlZXAtc2VhLFxuXG4gICAgc2VsZWN0LXBsYWNlaG9sZGVyOiAkZGltLWdyYXksXG4gICAgc2VsZWN0LW9wdGlvbnM6ICRkYXJrLWRlZXAtc2VhLFxuICAgIHNlbGVjdC1ib3JkZXI6ICRkaW0tZ3JheSxcbiAgICBzZWxlY3Qtb3Blbi1ib3JkZXI6ICRkYXJrLWRlZXAtc2VhLFxuICAgIHNlbGVjdC1ob3Zlci1vcHRpb25zLWJnOiAkZ2FpbnNib3JvLFxuICAgIHNlbGVjdC1hY3RpdmUtb3B0aW9ucy1iZzogJHdoaXRlLFxuICAgIHNlbGVjdC1hY3RpdmUtc2hhZG93OiByZ2JhKGJsYWNrLCAwLjE2KSxcblxuICAgIHByaW1hcnktYXJyb3ctYnRuLWJnOiAkbXVzdGFyZCxcbiAgICBwcmltYXJ5LWFycm93LWJ0bi1pY29uOiAkZGFyay1ncmVlbixcbiAgICBwcmltYXJ5LWFycm93LWJ0bi1zaGFkb3c6IHJnYmEoJGRhcmstZ3JlZW4sIDAuNzUpLFxuXG4gICAgc2Vjb25kYXJ5LWFycm93LWJ0bi1iZzogdHJhbnNwYXJlbnQsXG4gICAgc2Vjb25kYXJ5LWFycm93LWJ0bi1ib3JkZXI6ICR3aGl0ZSxcbiAgICBzZWNvbmRhcnktYXJyb3ctYnRuLWljb246ICR3aGl0ZSxcbiAgICBzZWNvbmRhcnktYXJyb3ctYnRuLXNoYWRvdzogcmdiYSgkZGFyay1ncmVlbiwgMC43NSksXG4gICAgc2Vjb25kYXJ5LWFycm93LWJ0bi1ob3Zlci1iZzogJG11c3RhcmQsXG4gICAgc2Vjb25kYXJ5LWFycm93LWJ0bi1ob3Zlci1pY29uOiAkZGFyay1ncmVlbixcblxuICAgIGxpbmstY29sb3I6ICRkZWVwLXNlYSxcbiAgICBsaW5rLWhvdmVyLWNvbG9yOiAkZGFyay1ncmVlbixcblxuICAgIHRpdGxlLWxpbmU6ICR3aGl0ZSxcbiAgICB0aXRsZS1saW5lLWFsdDogJG11c3RhcmRcbik7XG5cbiRjb2xvcnMtaGVhZGVyOiAoXG4gICAgYmFja2dyb3VuZDojMWU2Zjg3LFxuICAgIGJhY2tncm91bmQtaXRlbXM6ICRyZWQsXG4gICAgbGluay10ZXh0OiAkd2hpdGUsXG4gICAgbGluay1ob3Zlci10ZXh0OiAkbXVzdGFyZCxcbik7XG5cbiRjb2xvcnMtY2F0ZWdvcnktaGVhZGVyOiAoXG4gICAgYmFja2dyb3VuZDogJGNsZWFyLWRheSxcbiAgICBjYXRlZ29yeS1saW5rOiAkZGFyay1ncmVlbixcbiAgICBjYXRlZ29yeS1saW5rLWFjdGl2ZTogJGRlZXAtc2VhLFxuICAgIHNlc3Npb24taW1nLWJhY2tncm91bmQ6ICR3aGl0ZSxcbiAgICBzZXNzaW9uLWhvdmVyOiAkZGVlcC1zZWEsXG4gICAgc2Vzc2lvbi1vcGVuOiAkd2hpdGUsXG4gICAgbmFuby1wYW5lOiAkY2xlYXItZGF5LFxuICAgIG5hbm8tc2xpZGVyOiAkZGVlcC1zZWFcbik7XG5cbiRjb2xvcnMtZm9vdGVyOiAoXG4gICAgYWR2YW50YWdlLWJhY2tncm91bmQ6ICRkYXJrLWdyZWVuLFxuICAgIGFkdmFudGFnZS10ZXh0OiAkd2hpdGUsXG4gICAgbWFpbi1jb250ZW50LWJhY2tncm91bmQ6ICRkZWVwLXNlYSxcbiAgICBtYWluLWNvbnRlbnQtdGV4dDogJHdoaXRlLFxuICAgIG1haW4tY29udGVudC1saW5rLWNvbG9yOiBjdXJyZW50Q29sb3IsXG4gICAgbWFpbi1jb250ZW50LWxpbmstaG92ZXItY29sb3I6ICRtdXN0YXJkLFxuICAgIHNvY2lhbC1ob3Zlci1iYWNrZ3JvdW5kOiAkbXVzdGFyZCxcbiAgICBzb2NpYWwtaG92ZXItbG9nbzogJGRhcmstZ3JlZW4sXG4pO1xuXG4kY29sb3JzLWhlcm86IChcbiAgICBiYWNrZ3JvdW5kOiAkZGVlcC1zZWEsXG4gICAgdGV4dDogJHdoaXRlLFxuKTtcbiRjb2xvcnMtaGVyby13ZWxjb21lOiAoXG4gICAgY29kZS1iZy1pbmFjdGl2ZTogJG11c3RhcmQsXG4gICAgY29kZS1iZy1hY3RpdmU6ICRkYXJrLWRlZXAtc2VhLFxuICAgIHBob3RvLWJnLWFsdDokd2hpdGUtZjcsXG4gICAgcGhvdG8tYmc6JHdoaXRlLFxuICAgIHRpbGUtYWN0aXZlLWJnOiAkd2hpdGUsXG4gICAgdGlsZS1hY3RpdmUtdGV4dDogJGRhcmstZ3JlZW4sXG4gICAgdGlsZS1saW5rOiAkd2hpdGUsXG4gICAgdGlsZS1hY3RpdmUtbGluazogJGRhcmstZ3JlZW4sXG4gICAgdGlsZS1tb2JpbGUtYmc6ICR3aGl0ZSxcbiAgICB0aWxlLW1vYmlsZS10ZXh0OiAkZGFyay1ncmVlbixcbiAgICB0aWxlLW1vYmlsZS1saW5rOiAkZGFyay1ncmVlblxuKTtcblxuJGNvbG9ycy1sb2dpbjogKFxuICAgIGJhY2tncm91bmQ6ICRkYXJrLWRlZXAtc2VhXG4pO1xuXG4kY29sb3JzLWhvbWVwYWdlLXByZXNlbnRhdGlvbjogKFxuICAgIGJhY2tncm91bmQ6ICRkYXJrLWdyZWVuLFxuICAgIHRleHQ6ICR3aGl0ZSxcbik7XG5cbiRjb2xvcnMtYW5pbWF0ZWQtY3VydmU6IChcbiAgICBjdXJ2ZS1iZzogJG1vdW50YWluLW1lYWRvdyxcbik7XG5cbiRjb2xvcnMtZ2FsbGVyeS1vdmVybGF5OiAoXG4gICAgYmFja2dyb3VuZDogJGNsZWFyLWRheSxcbiAgICBpbWFnZS1iYWNrZ3JvdW5kOiAkd2hpdGUsXG4gICAgYXJyb3dzOiAkZGFyay1ncmVlbixcbiAgICBoZWFkaW5nczogJHdoaXRlLFxuICAgIGJvcmRlcjogJGdhaW5zYm9yby1lNixcbiAgICBib3JkZXItYWN0aXZlOiAkZGVlcC1zZWEsXG4pO1xuXG4kY29sb3JzLWltYWdlLXRleHQ6IChcbiAgICBiYWNrZ3JvdW5kOiAkZGFyay1ncmVlbixcbiAgICB0ZXh0czogJHdoaXRlXG4pO1xuXG4kY29sb3JzLXByb2R1Y3QtdGlsZTogKFxuICAgIGJhY2tncm91bmQ6ICRjbGVhci1kYXksXG4gICAgaG92ZXItMTogJGRlZXAtc2VhLFxuICAgIGhvdmVyLTI6ICRkYXJrLWdyZWVuXG4pO1xuXG4kY29sb3JzLWN1c3RvbWl6ZTogKFxuICAgIGJhY2tncm91bmQ6ICR3aGl0ZSxcbiAgICBsYXlvdXQtY2VsbC1iYWNrZ3JvdW5kOiAkaHVtbWluZy1iaXJkLFxuICAgIGJvcmRlcnM6ICRnYWluc2Jvcm8tZTYsXG4gICAgYm9yZGVycy1ob3ZlcjogJGRlZXAtc2VhLFxuICAgIHRleHQtaG92ZXI6ICRkZWVwLXNlYSxcbiAgICBwYXJ0LWluYWN0aXZlOiRzdXZhLWdyZXksXG4gICAgcGFydC1hY3RpdmU6ICRkZWVwLXNlYSxcbiAgICBzdGVwczogJGRlZXAtc2VhLFxuICAgIHByZXZpZXctYmc6ICRjbGVhci1kYXksXG4gICAgcHJldmlldy1pbWctYmc6ICR3aGl0ZSxcbiAgICBuYW1lOiAkZGFyay1ncmVlbixcbiAgICByYW5kb20tYnV0dG9uOiAkZGVlcC1zZWEsXG4gICAgaW5wdXQtcGxhY2Vob2xkZXI6ICRkaW0tZ3JheSxcbiAgICBpbnB1dC1jb250ZW50OiAkZGFyay1ncmVlbixcbiAgICBlcnJvcjogJHJlZCxcbiAgICBpbmNsdWRlZC1pdGVtczogJHN1dmEtZ3JleSxcbiAgICBpbmNsdWRlZC1pdGVtcy1idG46ICRkZWVwLXNlYSxcbik7XG5cbiRjb2xvcnMtcG9wdXA6IChcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGUsXG4gICAgYmFja2dyb3VuZC1mYWRlOiByZ2JhKDAsIDAsIDAsIDAuNzUpLFxuICAgIGJ0bi1jbG9zZTogJGRhcmstZ3JlZW5cbik7XG5cbiRjb2xvcnMtbm90aWNlOiAoXG4gICAgYmFja2dyb3VuZDogJGxpZ2h0LWN5YW4sXG4gICAgcGFydGljbGUtY29sb3ItMTogJG1vdW50YWluLW1lYWRvdyxcbiAgICBwYXJ0aWNsZS1jb2xvci0yOiAkbXVzdGFyZCxcbiAgICBwYXJ0aWNsZS1ib3JkZXI6ICRkYXJrLWdyZWVuXG4pO1xuXG4kY29sb3JzLW1lc3NhZ2VzOiAoXG4gICAgdGV4dC13aGl0ZTogJHdoaXRlLFxuICAgIGJhY2tncm91bmQtaW5mbzogJGxpZ2h0LWN5YW4sXG4gICAgYmFja2dyb3VuZC13YXJuaW5nOiAkbXVzdGFyZCxcbiAgICBiYWNrZ3JvdW5kLWVycm9yOiAkcmVkLFxuICAgIGJhY2tncm91bmQtc3VjY2VzczogJG1vdW50YWluLW1lYWRvdyxcbiAgICBjbG9zZS1idG46ICRkYXJrLWdyZWVuLFxuICAgIGNsb3NlLWJ0bi13aGl0ZTogJHdoaXRlLFxuKTtcblxuJGNvbG9ycy1jaGVja291dC1wcm9jZXNzOiAoXG4gICAgcGFnZS1iYWNrZ3JvdW5kOiAjRjRGNEY1LFxuICAgIGNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlLFxuICAgIGFkZC1jaGlsZC1iYWNrZ3JvdW5kOiAkbGlnaHQtY3lhbixcbiAgICBleHRyYS1wb3Nlcy1iYWNrZ3JvdW5kOiAkZGFyay1kZWVwLXNlYSxcbiAgICBleHRyYS1wb3Nlcy10ZXh0OiAkd2hpdGUsXG4gICAgbWVudS1pbmFjdGl2ZTokc3V2YS1ncmV5LFxuICAgIG1lbnUtYWN0aXZlOiAkZGVlcC1zZWEsXG4gICAgYm9yZGVyOiAkZ2FpbnNib3JvLWU2LFxuICAgIGJ1dHRvbi10ZXh0OiAkZGVlcC1zZWEsXG4gICAgaGlnaGxpZ2h0LXRleHQ6ICRkZWVwLXNlYSxcbiAgICBjaGVja2JveC1sYWJlbDogJGRhcmstZ3JlZW4sXG4gICAgZGlzYWJsZWQ6ICRkaW0tZ3JheSxcbiAgICBjaGVja21hcmstaWNvbjogJGRlZXAtc2VhLFxuICAgIGVycm9yOiAkcmVkXG4pO1xuXG5cbiRjb2xvcnMtdGV4dC1wYWdlOiAoXG4gICAgaGVhZGluZy1iYWNrZ3JvdW5kOiAkZGVlcC1zZWEsXG4gICAgaGVhZGluZzogJHdoaXRlLFxuICAgIGJhY2tncm91bmQ6ICR3aGl0ZSxcbik7XG5cblxuJGNvbG9ycy1tYXA6IChcbiAgICBiYWNrZ3JvdW5kOiAkZGVlcC1zZWEsXG4gICAgaW50ZXJhY3RpdmUtY29sb3I6ICRtdXN0YXJkLFxuICAgIHNlY29uZGFyeS1jb2xvcjogJGRhcmstZ3JlZW4sXG4gICAgc2Vjb25kYXJ5LWJvcmRlcjogJGRlZXAtY2xlYXIsXG4gICAgbGlnaHQ6ICR3aGl0ZSxcbiAgICBsaWdodC1ib3JkZXI6ICRnYWluc2Jvcm8tZTYsXG5cbik7XG4iLCJhc2lkZSB7XG4gICAgJi5hc2lkZS1sb2NhdGlvbnMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBiYWNrZ3JvdW5kKTtcblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLW1hcCwgbGlnaHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgW3R5cGU9dGV4dF0ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogbWFwX2dldCgkY29sb3JzLW1hcCwgaW50ZXJhY3RpdmUtY29sb3IpO1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1tYXAsIGxpZ2h0KTtcbiAgICAgICAgICAgIGNhcmV0LWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBpbnRlcmFjdGl2ZS1jb2xvcik7XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBsaWdodCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgICAgICArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1tYXAsIGludGVyYWN0aXZlLWNvbG9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9ucyB7XG4gICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9ycy1tYXAsIGxpZ2h0KTtcblxuXG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgZyA+ICoge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBsaWdodCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwX2dldCgkY29sb3JzLW1hcCwgaW50ZXJhY3RpdmUtY29sb3IpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1tYXAsIGludGVyYWN0aXZlLWNvbG9yKTtcblxuICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgZyA+ICoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogbWFwX2dldCgkY29sb3JzLW1hcCwgc2Vjb25kYXJ5LWNvbG9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2NhdGlvbiB7XG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwX2dldCgkY29sb3JzLW1hcCwgaW50ZXJhY3RpdmUtY29sb3IpO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwMHZtYXggbWFwX2dldCgkY29sb3JzLW1hcCwgaW50ZXJhY3RpdmUtY29sb3IpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBpbnRlcmFjdGl2ZS1jb2xvcik7XG5cbiAgICAgICAgICAgICAgICAuaW5mb3Mge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLW1hcCwgc2Vjb25kYXJ5LWNvbG9yKTtcblxuICAgICAgICAgICAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLW1hcCwgbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuc2VsZWN0LWxvY2F0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLW1hcCwgc2Vjb25kYXJ5LWNvbG9yKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1tYXAsIHNlY29uZGFyeS1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JzLW1hcCwgc2Vjb25kYXJ5LWJvcmRlcik7XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgLmluZm9zIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLW1hcCwgbGlnaHQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VsZWN0LWxvY2F0aW9uIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1tYXAsIGludGVyYWN0aXZlLWNvbG9yKTtcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBsaWdodCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgJi5tb2JpbGUtb3ZlcmxheSB7XG4gICAgICAgICAgICAudGh1bWIge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JzLW1hcCwgbGlnaHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAaWYgbm90ICRuIHtcbiAgICBAZXJyb3IgXCJicmVha3BvaW50IGAjeyRuYW1lfWAgbm90IGZvdW5kIGluIGAjeyRicmVha3BvaW50c31gXCI7XG4gIH1cbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyByZWR1Y2VkIGJ5IDAuMDJweCB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2Zcbi8vIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgobWQsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1heCBhbmQgJG1heCA+IDAsICRtYXggLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiAgYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6ICBicmVha3BvaW50LW1heCgkbmV4dCk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuZXh0LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLmFkZC1jaGlsZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGFkZC1jaGlsZC1iYWNrZ3JvdW5kKTtcbn1cbiIsIi5jaGVja291dC1jb25maXJtYXRpb24ge1xuICAgIC5jb250ZW50IHtcbiAgICAgICAgLm9yZGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNoZWNrLWluc3RydWN0aW9ucyB7XG4gICAgICAgIC50aGFua3Mge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgLmNoZWNrLWluc3RydWN0aW9ucyB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGJvcmRlcik7XG5cbiAgICAgICAgICAgIC50ZXh0LCAubm90aWNlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5jaGVja291dC1mb3JtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgY29udGVudC1iYWNrZ3JvdW5kKTtcbiAgICAuaGFzLXRvcC1ib3JkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGJvcmRlcik7XG4gICAgfVxuICAgIGgyIHtcbiAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRleHQsIC5ib2xkIHtcbiAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgfVxuXG4gICAgLnNlcGFyYXRvciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBib3JkZXIpO1xuICAgIH1cblxuICAgIC5mb3JtLWNoZWNrIHtcbiAgICAgICAgW3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpICsgbGFiZWwsXG4gICAgICAgIFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsLFxuICAgICAgICAuaW5mby1sYWJlbCxcbiAgICAgICAgLmZsb2F0aW5nLWVsZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dDpkaXNhYmxlZCB7XG4gICAgICAgICAgICAmIH4gLmluZm8sXG4gICAgICAgICAgICAmIH4gLmluZm8tbGFiZWwsXG4gICAgICAgICAgICAmIH4gLmZsb2F0aW5nLWVsZW0ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgZGlzYWJsZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZsb2F0aW5nLWVsZW0ge1xuICAgICAgICAgICAgY29sb3I6ICRncmV5LWRhcms7XG5cbiAgICAgICAgICAgICYucGljdHVyZXMge1xuICAgICAgICAgICAgICAgIC5wYXltZW50LW1ldGhvZC5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBoaWdobGlnaHQtdGV4dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdC1sYWJlbCB7XG4gICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICRncmV5LWRhcmtlc3Q7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmNoZWNrb3V0LXJldmlldyB7XG4gICAgLmhhcy1ib3R0b20tYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBib3JkZXIpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcHgtdG8tcmVtKDMwcHgpO1xuICAgIH1cbiAgICAuaGFzLXRvcC1ib3JkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGJvcmRlcik7XG4gICAgICAgIHBhZGRpbmctdG9wOiBweC10by1yZW0oMjRweCk7XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgY29udGVudC1iYWNrZ3JvdW5kKTtcbiAgICB9XG5cbiAgICAuZXh0cmEtaW5mbyB7XG4gICAgICAgIC5pcy1zbWFsbCB7XG4gICAgICAgICAgICBjb2xvcjogJGdyZXktZGFya2VzdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50b3RhbCB7XG4gICAgICAgICAgICAucHJpY2UuaXMtZnJlZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBoaWdobGlnaHQtdGV4dCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50aXAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAucmV2aWV3LXBhcnQge1xuICAgICAgICAmLmlzLXNoaXBwaW5nLFxuICAgICAgICAmLmlzLXBheW1lbnQge1xuICAgICAgICAgICAgLmVsZW0ge1xuICAgICAgICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYmxhY2soKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgLmhhcy1ib3R0b20tYm9yZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBweC10by1yZW0oMjNweCk7XG4gICAgICAgIH1cbiAgICAgICAgLmhhcy10b3AtYm9yZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBweC10by1yZW0oMjBweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY2hpbGQtdGlsZSB7XG4gICAgLnBhY2thZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgY29udGVudC1iYWNrZ3JvdW5kKTtcbiAgICB9XG5cbiAgICAucGFja2FnZS1zdW1tYXJ5IHtcbiAgICAgICAgLnF0eSBzcGFuLCAub3JpZ2luYWwtcHJpY2Uge1xuICAgICAgICAgICAgY29sb3I6ICRncmV5LWRhcmtlc3Q7XG4gICAgICAgIH1cblxuICAgICAgICAucXR5e1xuICAgICAgICAgICAgLnNlbGVjdDItY29udGFpbmVyIHtcblxuICAgICAgICAgICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbiB7XG5cbiAgICAgICAgICAgICAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyBiIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9kcm9wZG93bi1hcnJvdy1jb2xvcmVkQDJ4LnBuZ1wiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS5pcy1mcmVlIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgaGlnaGxpZ2h0LXRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRpcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJsYWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY2x1Yi1zdWJzY3JpcHRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBjb250ZW50LWJhY2tncm91bmQpO1xuXG4gICAgLmJvdHRvbSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgYm9yZGVyKTtcblxuICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBoaWdobGlnaHQtdGV4dCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubGV0dGVyLWFuaW1hdGlvbiB7XG4gICAgc3ZnIHtcblx0cmVjdCxcblx0cGF0aCxcblx0bGluZVxuXHR7XG5cdCAgICBzdHJva2U6ICRicmFuZC1wcmltYXJ5LWRhcms7XG5cdH1cblx0ZWxsaXBzZSB7XG5cdCAgICBzdHJva2U6bm9uZTtcblx0fVxuXHRcblx0cmVjdCxcblx0cGF0aCxcblx0ZWxsaXBzZSB7XG5cdCAgICBmaWxsOiAjRDNFNkVDO1xuXHR9XG4gICAgfVxuXG4gICAgLmNoZWNrbWFyayB7XG5cdHJlY3QsXG5cdHBhdGgsXG5cdGVsbGlwc2Uge1xuXHQgICAgZmlsbDogIzIyQzU1RTtcblx0fVxuXG5cdC8vIEVuc3VyZSB0aGUgc3Ryb2tlIGNvbG9yIG9mIHRoZSBjaGVja21hcmsgcGF0aCByZW1haW5zIHdoaXRlXG5cdHBhdGgge1xuXHQgICAgc3Ryb2tlOiAjZmZmO1xuXHR9XG4gICAgfVxuICAgIFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgcGFnZS1iYWNrZ3JvdW5kKTtcbiAgICB9XG59XG4iLCIucGFja2FnZS1wYXJ0IHtcbiAgICAmLmlzLXJldmlldyB7XG4gICAgICAgIC5wYXJ0LWNvbnRlbnQge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLmlzLXJldmlldykge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGJvcmRlcik7XG4gICAgfVxuXG4gICAgLnBhY2thZ2UtdGl0bGUge1xuICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhcnQtY29udGVudCB7XG4gICAgICAgIC8vYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBib3JkZXIpO1xuICAgIH1cblxuICAgIC5pbWctd3JhcHBlciB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBib3JkZXIpO1xuXG4gICAgICAgIC5leHRyYS1wb3NlcyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgZXh0cmEtcG9zZXMtYmFja2dyb3VuZCk7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGV4dHJhLXBvc2VzLXRleHQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ibGFjaygpO1xuICAgIH1cblxuICAgIC5sYXlvdXQtaW1nIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGJvcmRlcik7XG4gICAgfVxufVxuIiwiLnN1bW1hcnkge1xuICAgIC5kZXRhaWwge1xuICAgICAgICAmLmlzLWJvbGQge1xuICAgICAgICAgICAgLmxhYmVsLCAudmFsdWUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYmxhY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtaGlnaGxpZ3RoZWQge1xuICAgICAgICAgICAgLnZhbHVlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJsYWNrKCk7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBoaWdobGlnaHQtdGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmZpbmFsLXRvdGFsIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgYm9yZGVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uZWVkLWhlbHAge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb21pc2VzIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5zdXJ2ZXktZm9ybSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGNvbnRlbnQtYmFja2dyb3VuZCk7XG5cbiAgICAuZXhwZXJpZW5jZSB7XG4gICAgICAgIC5maWVsZCB7XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZXJyb3Ige1xuICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGVycm9yKTtcbiAgICB9XG5cbiAgICAudGhhbmtzIHtcbiAgICAgICAgLmNoZWNrbWFyay1pY29uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBjaGVja21hcmstaWNvbik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIucG9wdXAge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1wb3B1cCwgYmFja2dyb3VuZC1mYWRlKTtcblxuICAgIC5wb3B1cC13cmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkY29sb3JzLXBvcHVwLCBiYWNrZ3JvdW5kKTtcblxuICAgICAgICAucG9wdXAtY2xvc2UtYnRuIHtcbiAgICAgICAgICAgIHN2ZyBsaW5lIHtcbiAgICAgICAgICAgICAgICBzdHJva2U6IG1hcF9nZXQoJGNvbG9ycy1wb3B1cCwgYnRuLWNsb3NlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3B1cC1jb250ZW50IHtcbiAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ibGFjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnR5cGUtYmFja2dyb3VuZCB7XG4gICAgLnBpY3R1cmVzLWxpc3Qge1xuICAgICAgICAuaW1nLXdyYXBwZXIge1xuICAgICAgICAgICAgJjpob3ZlciwgJi5zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgLmJhY2tncm91bmQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJvcmRlcnMtaG92ZXIpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5iYWNrZ3JvdW5kLW5hbWUsIC5iYWNrZ3JvdW5kLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmxvYWQtbW9yZSB7XG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyLCAmLmZhdm9yaXRlZCB7XG5cdFx0Y29sb3I6ICRncmV5LWRhcmtlc3Q7XG4gICAgICAgICAgICAgICAgLmZhdm9yaXRlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY3VzdG9taXplL2Zhdm9yaXRlLWljb24tZmlsbGVkLnBuZycpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZhdm9yaXRlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jdXN0b21pemUvZmF2b3JpdGUtaWNvbi1vdXRsaW5lLnBuZycpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjBweCBhdXRvO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJhY2tncm91bmQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5iYWNrZ3JvdW5kLW5hbWUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICAucGljdHVyZXMtbGlzdCB7XG4gICAgICAgICAgICAuaW1nLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIC5mYXZvcml0ZXtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNXB4IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6aG92ZXIsICYuZmF2b3JpdGVkIHtcbiAgICAgICAgICAgICAgICAgICAgLmZhdm9yaXRlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2N1c3RvbWl6ZS9mYXZvcml0ZS1pY29uLWZpbGxlZC5wbmcnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5mYXZvcml0ZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2N1c3RvbWl6ZS9mYXZvcml0ZS1pY29uLW91dGxpbmUucG5nJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnR5cGUtZ3JhZGVze1xuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLWN1c3RvbWl6ZSwgaW5wdXQtcGxhY2Vob2xkZXIpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBpbnB1dC1jb250ZW50KSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbiIsIi50eXBlLWxheW91dCB7XG4gICAgLmxheW91dHMtbGlzdHtcbiAgICAgICAgLmxheW91dC13cmFwcGVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJvcmRlcnMpO1xuXG4gICAgICAgICAgICAmOmhvdmVyLCAmLnNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBib3JkZXJzLWhvdmVyKTtcblxuICAgICAgICAgICAgICAgICYgfiAubGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmV5LWRhcmtlc3Q7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxheW91dC1kaXNwbGF5IHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JleTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRncmV5O1xuXG4gICAgICAgICAgICAuY2VsbCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5O1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGdyZXk7XG5cbiAgICAgICAgICAgICAgICAuYmcge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudHlwZS1waG9uZXtcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3BsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jdXN0b21pemUsIGlucHV0LXBsYWNlaG9sZGVyKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLWN1c3RvbWl6ZSwgaW5wdXQtY29udGVudCkgIWltcG9ydGFudDtcbiAgICB9XG59XG4iLCIudHlwZS1wb3Nle1xuICAgIC5waWN0dXJlcy1saXN0e1xuICAgICAgICAuaW1nLXdyYXBwZXJ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAmOmhvdmVyLCAmLnNlbGVjdGVke1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgYm9yZGVycy1ob3Zlcik7XG5cbiAgICAgICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgYm9yZGVycy1ob3Zlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpe1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJvcmRlcnMtaG92ZXIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBib3JkZXJzKTtcblx0XHRib3JkZXItd2lkdGg6IDJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5kb3dubG9hZHMge1xuXG4gICAgLmRvd25sb2FkLWxpbmsgYXtcblx0Y29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgICBzdmcsIHN2ZyAqIHtcblx0ICAgIHdpZHRoOiAzMnB4O1xuXHQgICAgaGVpZ2h0OiAzMnB4O1xuXHQgICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgICAgICAgICBmaWxsOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5LWRhcms7XG4gICAgICAgICAgICBzdmcsIHN2ZyAqIHtcblx0XHRmaWxsOiAkYnJhbmQtcHJpbWFyeS1kYXJrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cdFxuICAgIH1cbn1cbiIsIi5sb2dpbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgXG5cbiAgICAubG9naW5fX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgfVxuXG4gICAgLnJlbW92ZS1jb2Rle1xuICAgICAgICBzdmd7XG4gICAgICAgICAgICAqe1xuICAgICAgICAgICAgICAgIHN0cm9rZTokZ3JleS1kYXJrZXN0OyBcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tbG9naW4ge1xuICAgICAgICAubG9naW4tY29kZXN7XG4gICAgICAgICAgICAmOmZvY3Vze1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRhcmtlci1wcmltYXJ5LWNvbG9yLCAkYnJhbmQtcHJpbWFyeS1kYXJrKTtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZSwgI0ZGRikgIWltcG9ydGFudDtcblx0XHRib3gtc2hhZG93OiAwcHggMXB4IDRweCAwcHggJGJyYW5kLXByaW1hcnktbWlkbGlnaHQ7XG5cdCAgICB9XG5cblx0fVxuICAgIH1cbiAgICAubG9naW5fX2FkZC1jb2RlLWJ0biB7XG5cdGNvbG9yOiRicmFuZC1wcmltYXJ5O1xuXHRib3JkZXI6IDFweCBzb2xpZCAkYnJhbmQtcHJpbWFyeTtcblxuICAgICAgICAmOmhvdmVye1xuXHQgICAgYmFja2dyb3VuZDogdmFyKC0tTmFuQy1MaWdodC1wcmltYXJ5LCAkYnJhbmQtcHJpbWFyeS1saWdodGVzdCk7XG5cdCAgICAvKiBob3ZlciBzaGFkb3cgKi9cblx0ICAgIGJveC1zaGFkb3c6IDBweCAzcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcblx0fVxuXHQmOmFjdGl2ZSB7XG5cdCAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeTtcblx0fVx0XG4gICAgfVxuXG4gICAgLmZvcm0tbG9naW5fX3N1Ym1pdCB7XG5cdGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5O1xuXHRib3JkZXI6IDFweCBzb2xpZCAkYnJhbmQtcHJpbWFyeTtcblxuXHQmOmhvdmVye1xuXHQgICAgYmFja2dyb3VuZDogdmFyKC0tTmFuQy1Ib3ZlciwgJGJyYW5kLXByaW1hcnktbWlkbGlnaHQpO1xuXHR9XG5cdCY6YWN0aXZlIHtcblx0ICAgIGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5O1xuXHR9XHRcbiAgICB9XG5cbiAgICBcbiAgICBcbn1cbiIsIi5wYWNrYWdlLXRpbGUge1xuICAgIC5saW5rOmhvdmVyIHtcbiAgICAgICAgJiB+IC5wYWNrYWdlLCAmIH4gLnByaWNlIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtcHJvZHVjdC10aWxlLCBob3Zlci0xKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYgfiAubmFtZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLXByb2R1Y3QtdGlsZSwgaG92ZXItMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW1nLXdyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtcHJpbWFyeS1saWdodGVzdDtcbiAgICB9XG59XG4iLCIuYW5pbWF0ZWQtY3VydmV7XG4gICAgLmJhY2tncm91bmR7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1hbmltYXRlZC1jdXJ2ZSwgY3VydmUtYmcpO1xuICAgIH1cbn1cbiIsIi5oZWFkZXItbWFwIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JzLW1hcCwgbGlnaHQtYm9yZGVyKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBsaWdodCk7XG4gICAgc3BhbntcbiAgICAgICAgJi5jbG9zZS1vdmVybGF5e1xuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBsaW5lIHtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiAkZ3JleS1kYXJrZXN0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsImhlYWRlci5jaGVja291dHtcbiAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgY29udGVudC1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGJvcmRlcik7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDs7XG5cbiAgICAubG9nb3tcblx0cGFkZGluZy1ib3R0b206IDE2cHg7XG4gICAgfVxuICAgIFxuICAgIC5jaGVja291dC1uYXZ7XG5cdGNvbG9yOiAkZ3JleTtcblx0LyogTGFiZWwvTGFiZWwgbWVkaXVtICovXG5cdGZvbnQtc2l6ZTogMTZweDtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRsaW5lLWhlaWdodDogMjBweDsgLyogMTI1JSAqL1xuXHR0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblx0LyogTGFiZWwvTGFiZWwgbWVkaXVtICovXG4gICAgICAgIHVse1xuICAgICAgICAgICAgbGl7XG4gICAgICAgICAgICAgICAgYSxwe1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXktZGFyaztcblx0XHQgICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5hY3RpdmV7IFxuICAgICAgICAgICAgICAgICAgICBhLHB7XG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0Y29sb3I6ICRncmV5LWRhcmtlc3Q7XG5cdFx0XHQmOjphZnRlciB7XG5cdFx0XHQgICAgY29udGVudDogJyc7XG5cdFx0XHQgICAgcG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0ICAgIGJvdHRvbTogMDtcblx0XHRcdCAgICBsZWZ0OiA1MCU7XG5cdFx0XHQgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHRcdFx0ICAgIHdpZHRoOiA3MCU7XG5cdFx0XHQgICAgaGVpZ2h0OiAycHg7IC8vIEFkanVzdCB0aGlja25lc3Mgb2YgdGhlIFwiYm9yZGVyXCJcblx0XHRcdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuXHRcdFx0fVxuXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cblx0XHQmLmNvbXBsZXRlZHtcblx0XHQgICAgYSxwe1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuICAgICAgICAgICAgICAgICAgICB9XG5cdFx0fVxuICAgICAgICAgICAgICAgICYuY29tcGxldGVke1xuICAgICAgICAgICAgICAgICAgICBpLmNhcmV0e1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Zne1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICp7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJGdyZXktZGFya2VzdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpLmNvbXBsZXRlZC1pY29ue1xuXG5cdFx0ICAgIHRvcDogMTRweCAhaW1wb3J0YW50O1xuXHRcdCAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcblx0XHRcdHRvcDogMzJweCAhaW1wb3J0YW50O1xuXHRcdCAgICBcblx0XHQgICAgfVxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJDNTVFO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGkuY2FyZXR7XG5cdFx0ICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgc3Zne1xuICAgICAgICAgICAgICAgICAgICAgICAgKntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6IG1hcC1nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBtZW51LWluYWN0aXZlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgIC5oZWFkZXItY29udGFpbmVyIHtcblxuICAgICAgICAgICAgLmNoZWNrb3V0LW5hdiB7XG5cbiAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBtYXAtZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgYm9yZGVyKTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBib3JkZXIpO1xuXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vLm5hdmlnYXRpb24ge1xuICAgICAgICAvLyAgICB1bCB7XG4gICAgICAgIC8vICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBiYWNrZ3JvdW5kKTtcbiAgICAgICAgLy8gICAgfVxuICAgICAgICAvL31cbiAgICAgICAgLy9cbiAgICAgICAgLy8ubW9iaWxlLW5hdmlnYXRpb24ge1xuICAgICAgICAvLyAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJvcmRlcnMpO1xuICAgICAgICAvLyAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBiYWNrZ3JvdW5kKTtcbiAgICAgICAgLy99XG4gICAgICAgIC8vXG4gICAgICAgIC8vLnByaWNlc3tcbiAgICAgICAgLy8gICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIHN0ZXBzKTtcbiAgICAgICAgLy99XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgLy8ubmF2aWdhdGlvbiB7XG4gICAgICAgIC8vICAgIHVsIHtcbiAgICAgICAgLy8gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgYm9yZGVycyk7XG4gICAgICAgIC8vICAgIH1cbiAgICAgICAgLy99XG4gICAgfVxufVxuIiwiLmNoZWNrb3V0LXBhZ2UtY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXktbGlnaHRlc3Q7XG4gICAgLm5ld3NsZXR0ZXItc2lnbnVwLCAuYWRkLXdlYmNvZGV7XG5cdGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5LWxpZ2h0O1xuXHRib3JkZXI6IDJweCBzb2xpZCAkYnJhbmQtcHJpbWFyeS1taWRsaWdodDtcbiAgICB9XG59XG4udXBzZWxsLWN0YS1idXR0b25ze1xuICAgIHBhZGRpbmctdG9wOjI0cHg7XG59XG4iLCIuYXNpZGUtY3VzdG9taXple1xuICAgIGJhY2tncm91bmQ6ICRncmV5LWxpZ2h0ZXN0O1xuICAgIGJvcmRlci1jb2xvcjptYXBfZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBib3JkZXJzKTtcblxuICAgIC5zdGVwe1xuICAgICAgICBjb2xvcjogJGdyZXktZGFyaztcblx0LnN0ZXAtdGl0bGUge1xuXHQgICAgY29sb3I6ICRncmV5LWRhcms7IFxuXHQgICAgZm9udC1zaXplOiAxNHB4O1xuXHQgICAgZm9udC13ZWlnaHQ6IDQwMDtcblx0fVxuXG5cblx0c3Zne1xuXHQgICAgcGF0aCB7XG5cdFx0c3Ryb2tlOiAkZ3JleS1kYXJrO1xuXHQgICAgfVxuXHQgICAgY2lyY2xlIHtcblx0XHRzdHJva2U6ICRncmV5LWRhcms7XG5cdCAgICB9XG5cdCAgICBsaW5lIHtcblx0XHRzdHJva2U6ICRncmV5LWRhcms7XG5cdCAgICB9XG5cdH1cblxuICAgICAgICAuZXJyb3ItaWNvbiB7XG4gICAgICAgICAgICBzdmcgY2lyY2xlLCBzdmcgcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogbWFwX2dldCgkY29sb3JzLWN1c3RvbWl6ZSwgZXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCl7XG5cdCAgICAmLmFjdGl2ZSB7XG5cdFx0YmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnktbGlnaHRlc3Q7XG5cdFx0Jjpob3Zlcntcblx0XHQgICAgYmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnktbGlnaHRlc3Q7XG5cdFx0fVxuXHQgICAgfVxuXHR9XG4gICAgfVxufVxuIiwiLmhlYWRlci1jdXN0b21pemV7XG4gICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JzLWN1c3RvbWl6ZSwgYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJvcmRlcnMpO1xuXG4gICAgLm5hdmlnYXRpb257XG4gICAgICAgIGgxe1xuXHQgICAgY29sb3I6ICRncmV5LWRhcmtlc3Q7XG4gICAgICAgIH1cblxuICAgICAgICB1bHtcbiAgICAgICAgICAgIGxpe1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBwYXJ0LWluYWN0aXZlKTtcblxuICAgICAgICAgICAgICAgICYuYWN0aXZle1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHB7XG5cdFx0ICAgIGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuXHRcdH1cbiAgICAgICAgICAgICAgICAmLmNvbXBsZXRlZHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6MC45O1xuXG4gICAgICAgICAgICAgICAgICAgIGkuY2FyZXR7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdmd7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBwYXJ0LWFjdGl2ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZle1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYmxhY2soKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGkuY29tcGxldGVkLWljb257XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIHBhcnQtYWN0aXZlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpLmNhcmV0e1xuICAgICAgICAgICAgICAgICAgICBzdmd7XG4gICAgICAgICAgICAgICAgICAgICAgICAqe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgcGFydC1pbmFjdGl2ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJpY2VzIHtcblx0XG5cdFxuICAgICAgICAudG90YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ibGFjaygpO1xuXHQgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0Y29sb3I6ICRncmV5LWRhcmtlc3Q7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9uYXRpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG5cdCAgICBjb2xvcjogJGdyZXktZGFyaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICAgIC5uYXZpZ2F0aW9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJhY2tncm91bmQpO1xuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JzLWN1c3RvbWl6ZSwgYmFja2dyb3VuZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAubmF2aWdhdGlvbiB7XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgLy9ib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJvcmRlcnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLm1vYmlsZS1uYXYge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCl7XG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgYm9yZGVycyk7XG5cdGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktZ3JlZW4sICRicmFuZC1wcmltYXJ5LW1pZGxpZ2h0KTtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHBhZGRpbmc6IDA7XG4gICAgICAgIC5wcmljZXMge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIHN0ZXBzKTtcblxuICAgICAgICAgICAgLnRvdGFsIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJsYWNrKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5kb25hdGlvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXHQudGVydGlhcnktYnV0dG9ue1xuXG5cdCAgICBkaXNwbGF5OiBmbGV4O1xuXHQgICAgd2lkdGg6IDMwMHB4O1xuXHQgICAgaGVpZ2h0OiA1NnB4O1xuXHQgICAgcGFkZGluZzogOHB4IDIwcHg7XG5cdCAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0ICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdCAgICBnYXA6IDhweDtcblx0ICAgIGZsZXgtc2hyaW5rOiAwO1xuXHQgICAgYm9yZGVyLXJhZGl1czogMjBweDtcblx0ICAgIGJvcmRlcjogMXB4IHNvbGlkICRicmFuZC1wcmltYXJ5Oztcblx0ICAgIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlLCAjRkZGKTtcblx0ICAgIHNwYW57XG5cdFx0Y29sb3I6ICRicmFuZC1wcmltYXJ5Oztcblx0XHQvKiBCaWcgYnV0dG9uIHN0eWxlICovXG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cdCAgICB9XG5cdCAgICBzdmd7XG5cdFx0bWFyZ2luLWxlZnQ6MDtcblx0XHRwYXRoIHtcblx0XHQgICAgc3Ryb2tlOiAkYnJhbmQtcHJpbWFyeTtcblx0XHR9XG5cdFx0bGluZSB7XG5cdFx0ICAgIHN0cm9rZTogJGJyYW5kLXByaW1hcnk7XG5cdFx0fVxuXHQgICAgfVxuXG5cdCAgICA6aG92ZXIsIDpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZDogJGdyZXktbGlnaHQ7XG5cdFx0LyogaG92ZXIgc2hhZG93ICovXG5cdFx0Ym94LXNoYWRvdzogMHB4IDNweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXHRcdGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcblx0ICAgIH1cblxuXHQgICAgXG5cdH1cblx0LnRlcnRpYXJ5LWJ1dHRvbjpob3ZlciwgLnRlcnRpYXJ5LWJ1dHRvbjpmb2N1cyB7XG5cdCAgICBiYWNrZ3JvdW5kOiAkZ3JleS1saWdodDtcblx0ICAgIC8qIGhvdmVyIHNoYWRvdyAqL1xuXHQgICAgYm94LXNoYWRvdzogMHB4IDNweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXHQgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuXHR9XG5cblx0XG4gICAgfVxufVxuIiwiLnByZXZpZXctY3VzdG9taXple1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7IFxuXG4gICAgLnByZXZpZXctbW9udGFnZXtcbiBcdGJhY2tncm91bmQ6ICRncmV5LWxpZ2h0ZXN0O1xuXG4gICAgICAgICYuaGFzLWJne1xuICAgICAgICAgICAgLmltYWdlLXdyYXBwZXJ7XG4gICAgICAgICAgICAgICAgaW1ne1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW1hZ2Utd3JhcHBlcntcbiAgICAgICAgICAgIGltZ3tcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1saWdodDsgXG5cdFx0Ym9yZGVyLXJhZGl1czogOHB4OyBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yYW5kb20tYmFja2dyb3VuZHtcbiAgICAgICAgICAgIGl7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCByYW5kb20tYnV0dG9uKTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCByYW5kb20tYnV0dG9uKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzdmd7XG4gICAgICAgICAgICAgICAgICAgIC5zdmctYmFja2dyb3VuZHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIHJhbmRvbS1idXR0b24pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFue1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCByYW5kb20tYnV0dG9uKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKXtcbiAgICAgICAgLnByZXZpZXctbW9udGFnZSB7XG5cdCAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgICAgICAgLmluY2x1ZGVkLWZvcm1hdHMge1xuICAgICAgICAgICAgICAgIC50b3Age1xuICAgICAgICAgICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLWN1c3RvbWl6ZSwgaW5jbHVkZWQtaXRlbXMpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBzcGFuLmlzLW1vYmlsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnRlcnRpYXJ5LWJ0biB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLWN1c3RvbWl6ZSwgaW5jbHVkZWQtaXRlbXMtYnRuKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWJ0bi10ZXh0KSBjYWxjKDEwMCUvMyksIHRyYW5zcGFyZW50IDAgY2FsYygyMDAlLzMpLCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGVydGlhcnktYnRuLXRleHQpIDApIHZhcigtLWQsIDEwMCUpIDEwMCUgLzMwMCUgMXB4IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSl7XG5cbiAgICB9XG59XG4iLCIudG9vbHMtY3VzdG9taXple1xuICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJhY2tncm91bmQpO1xuXG4gICAgJjphZnRlcntcbiAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JzLWN1c3RvbWl6ZSwgYmFja2dyb3VuZCk7XG4gICAgfVxuXG4gICAgLnRvb2xzLWNvbnRlbnQge1xuICAgICAgICAuZXJyb3Ige1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jdXN0b21pemUsIGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCl7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSl7XG5cbiAgICB9XG59XG4iLCIuZm9vdGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMzJweDtcbiAgICAuZm9vdGVyX193cmFwcGVyIHtcbiAgICAgICAgJi5pcy1tYWluLWNvbnRlbnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLXByaW1hcnktZGFya2VzdDtcblx0ICAgIGJhY2tncm91bmQtY29sb3I6IGlmKGdsb2JhbC12YXJpYWJsZS1leGlzdHMoYnJhbmQtc2Vjb25kYXJ5KSBhbmQgJGJyYW5kLXNlY29uZGFyeSAhPSBudWxsLCAkYnJhbmQtc2Vjb25kYXJ5LCAkYnJhbmQtcHJpbWFyeS1kYXJrZXN0KTtcblxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1mb290ZXIsIG1haW4tY29udGVudC10ZXh0KTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1mb290ZXIsIG1haW4tY29udGVudC1saW5rLWNvbG9yKTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWZvb3RlciwgbWFpbi1jb250ZW50LWxpbmstaG92ZXItY29sb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb290ZXItYWR2YW50YWdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaWYoZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cyhicmFuZC1zZWNvbmRhcnkpIGFuZCAkYnJhbmQtc2Vjb25kYXJ5LWxpZ2h0ICE9IG51bGwsICRicmFuZC1zZWNvbmRhcnktbGlnaHQsICBtYXAtZ2V0KCRjb2xvcnMtZm9vdGVyLCBhZHZhbnRhZ2UtYmFja2dyb3VuZCkpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWZvb3RlciwgYWR2YW50YWdlLXRleHQpO1xuXG4gICAgICAgIC5mb290ZXItYWR2YW50YWdlX190ZXh0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3Rlci1zb2NpYWxzIHtcbiAgICAgICAgLmZvb3Rlci1zb2NpYWxzX19saW5rIHtcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzLCB7XG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgcmVjdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiBtYXAtZ2V0KCRjb2xvcnMtZm9vdGVyLCBzb2NpYWwtaG92ZXItYmFja2dyb3VuZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPiBnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IG1hcC1nZXQoJGNvbG9ycy1mb290ZXIsIHNvY2lhbC1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgID4gcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiBtYXAtZ2V0KCRjb2xvcnMtZm9vdGVyLCBzb2NpYWwtaG92ZXItbG9nbyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9vdGVyX193ZWJzaXRlIHtcbiAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgfVxuXG4gICAgLmZvb3Rlci1uYXYge1xuICAgICAgICAuZm9vdGVyLW5hdl9fbGluayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJsYWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgLmZvb3Rlci1jb250YWN0cyB7XG4gICAgICAgICAgICAuZm9vdGVyLWNvbnRhY3RzX19saW5rIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5oZWFkZXItY2F0ZWdvcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jYXRlZ29yeS1oZWFkZXIsIGJhY2tncm91bmQpO1xuXG4gICAgJi5vcGVuIHtcbiAgICAgICAgLnNlbGVjdGVkLXNlc3Npb24tc2VsZWN0b3IsXG4gICAgICAgIC5zY3JvbGxpbmctd3JhcHBlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2F0ZWdvcnktaGVhZGVyLCBzZXNzaW9uLW9wZW4pO1xuICAgICAgICB9XG4gICAgfVxuXG5cblxuICAgIC5zY3JvbGxpbmctd3JhcHBlciB7XG4gICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMHB4IDhweCAzMHB4IHJnYmEoMCwwLDAsLjE2KSk7XG5cbiAgICAgICAgLnNjcm9sbCB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHJnYmEoMjU1LDI1NSwyNTUsMSkgMTAlLHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwyNTUsMjU1LDApIDAlLHJnYmEoMjU1LDI1NSwyNTUsMSkgMTAwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmFuby1wYW5lIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9ycy1jYXRlZ29yeS1oZWFkZXIsIG5hbm8tcGFuZSk7XG5cbiAgICAgICAgICAgIC5uYW5vLXNsaWRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JzLWNhdGVnb3J5LWhlYWRlciwgbmFuby1zbGlkZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlc3Npb24tc2VsZWN0b3IsIC5zZWxlY3RlZC1zZXNzaW9uLXNlbGVjdG9yIHtcblx0Y29sb3I6JGdyZXktZGFyaztcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAubmFtZSwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuICAgICAgICAgICAgfVxuXHQgICAgLnNlc3Npb24tbmFtZXtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXktZGFya2VzdDtcblx0ICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pbWctd3JhcHBlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2F0ZWdvcnktaGVhZGVyLCBzZXNzaW9uLWltZy1iYWNrZ3JvdW5kKTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDVweCA1cHggMjBweCByZ2JhKDAsIDAsICAwLCAwLjEpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnN1cHBvcnQtbW9kZS1iYW5uZXJ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDU2cHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1TdGF0dXMtSW5mby1jb2xvckluZm9BY3RpdmUsICMyNTYzRUIpO1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSwgI0ZGRik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMjBweDsgLyogMTI1JSAqL1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDAwO1xuXG5cbiAgICAvLyBBZGp1c3QgdG9wIGlmIHByZWNlZGVkIGJ5IC5tZXNzYWdlcy5zdXBwb3J0LW1vZGVcbiAgICAubWVzc2FnZXMuc3VwcG9ydC1tb2RlICsgJiB7XG5cdHRvcDogNDlweDtcbiAgICB9XG5cbiAgICBcbn1cblxuLnNlYXNvbmFsLXByb21vLWJhbm5lcntcbiAgICBcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYnJhbmQtcHJpbWFyeS1saWdodDtcblxuICAgIC5wcm9tby1jb2x1bW4xLHtcblx0LnByb21vLXRpdGxle1xuXHQgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuXHR9XG5cblx0LnByb21vLWRlc2NyaXB0aW9ue1xuXHQgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuXHR9XG4gICAgfVxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNGRkYgNzkuMzUlLCAkYnJhbmQtcHJpbWFyeS1saWdodCA3OS4zNiUpO1xufVxuXG4uc2Vhc29uYWwtcHJvbW8tYmFubmVyLXByb21vLXBhZ2V7XG4gICAgXG4gICAgYmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnktbGlnaHRlc3Q7XG5cbiAgICAucHJvbW8tdGl0bGV7XG5cdGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICB9XG5cbiAgICAucHJvbW8tZGVzY3JpcHRpb257XG5cdGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICB9XG5cbn1cblxuXG5oZWFkZXJ7XG5cbiAgICBcbiAgICAmLmNvbm5lY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlLCAjRkZGKTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5O1xuXHRwYWRkaW5nLWJvdHRvbTogMThweDtcbiAgICB9XG4gICAgJi5zdXBwb3J0LW1vZGUge1xuXHRtYXJnaW4tdG9wOjUwcHg7XG4gICAgfVxuXG4gICAgYS5tYWluLWhlYWRlci1saW5rIHtcblx0Y29sb3I6ICRncmV5LWRhcms7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Ji5zZWxlY3RlZCB7XG5cdCAgICBib3JkZXI6IDA7XG5cdCAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHRcdHdpZHRoOiA3MCU7XG5cdFx0aGVpZ2h0OiAycHg7IFxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRncmV5LWRhcmtlc3Q7XG4gICAgICAgICAgICB9XG5cdH1cblxuXHRcblx0Jjpob3ZlciB7XG5cdCAgICBjb2xvcjogJGdyZXktZGFya2VzdDtcblx0fVxuXG5cdCY6YWN0aXZlIHtcblx0ICAgIGNvbG9yOiAkZ3JleS1kYXJrZXN0OyAvLyBQcmVzc2VkIHN0YXRlXG5cdH1cblxuXHQmLmluYWN0aXZlIHtcblx0ICAgIGNvbG9yOiAkZ3JleTsgLy8gSW5hY3RpdmUgc3RhdGVcblx0fVxuICAgIH1cbiAgICBuYXYgdWwgbGkuY2FydC1pY29uIGEgc3Bhbi5pdGVtLWNvdW50e1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiRncmV5LWRhcmtlc3Q7XG4gICAgfVxuXG4gICAgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlLCAjRkZGKTtcbiAgICBwYWRkaW5nLXRvcDoyMHB4O1xuICAgIHBhZGRpbmctbGVmdDo1MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6NTBweDtcbiAgICAuaGVhZGVyLWluZm97XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNDBweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRsaW5lLWhlaWdodDogbm9ybWFsOyBcblx0cCB7XG5cdCAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cdH1cblx0Lmxhbmctc3dpdGNoIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBwYWRkaW5nOiA3LjVweCA2cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXktbGlnaHQ7XG4gICAgYmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0td2hpdGUsICNGRkYpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LWdyZWVuLCAkYnJhbmQtcHJpbWFyeS1taWRsaWdodCk7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUsICNGRkYpOyAvLyBBbmNob3IgdGV4dCBjb2xvciBvbiBob3ZlclxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkZ3JleS1saWdodDtcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUsICNGRkYpOyAvLyBBbmNob3IgdGV4dCBjb2xvciBvbiBob3Zlci9mb2N1c1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5jb25uZWN0ZWQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUsICNGRkYpOyAvLyBEZWZhdWx0IGJhY2tncm91bmQgZm9yIGNvbm5lY3RlZCBzdGF0ZVxuICAgICAgICBcbiAgICAgICAgLy8gU2V0IGRlZmF1bHQgY29sb3Igd2hlbiAubGFuZy1zd2l0Y2guY29ubmVjdGVkXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRW5zdXJlIHRoZSBkZWZhdWx0IGJhY2tncm91bmQgY29sb3IgaXMgJGdyZXktbGlnaHQgZm9yIGNvbm5lY3RlZFxuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGO1xuXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS1ncmVlbiwgJGJyYW5kLXByaW1hcnktbWlkbGlnaHQpOyAvLyBIb3ZlciBiYWNrZ3JvdW5kIGZvciBjb25uZWN0ZWRcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSwgI0ZGRik7IC8vIEFuY2hvciB0ZXh0IGNvbG9yIG9uIGhvdmVyL2ZvY3VzIGZvciBjb25uZWN0ZWRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4gICAgfVxuICAgIG5hdntcbiAgICAgICAgdWx7XG4gICAgICAgICAgICBsaXtcbiAgICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLW1lZGl1bSgpO1xuXHRcdCAgICBjb2xvcjogI0ZGRjtcblx0XHQgICAgZm9udC1zaXplOiAxNnB4O1xuXHRcdCAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0ICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXN7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWhlYWRlciwgbGluay1ob3Zlci10ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuYWN0aXZle1xuICAgICAgICAgICAgICAgICAgICBhe1xuXHRcdFx0Y29sb3I6ICNGRkY7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHN2Z3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoLCBsaW5le1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6ICNGRkY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuY2FydC1saW5rLXdyYXBwZXJ7XG4gICAgICAgICAgICAgICAgICAgIHNwYW57XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWhlYWRlciwgbGluay10ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1oZWFkZXIsIGJhY2tncm91bmQtaXRlbXMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXHRcdC5oZWFkZXItbG9nb3V0e1xuXHRcdCAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG5cdFx0ICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuXHRcdH1cblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59XG4iLCIuaGVyby1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtaGVybywgYmFja2dyb3VuZCk7XG4gICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1oZXJvLCB0ZXh0KTtcbn1cbiIsIi5oZXJvLWhvbWUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICRicmFuZC1wcmltYXJ5IDU1LjUlLCAkYnJhbmQtcHJpbWFyeS1taWRsaWdodCAxMDAlKTtcbiAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWhlcm8sIHRleHQpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG5cdHBhZGRpbmctdG9wOiAzMnB4O1xuICAgIH1cbiAgICBcbiAgICAuY29sLTEyIGJ1dHRvbi5sb2dpbl9fYWRkLWNvZGUtYnRuLCAuY29sLW1kLTEyIGJ1dHRvbi5sb2dpbl9fYWRkLWNvZGUtYnRuIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1hcmdpbi1ib3R0b206MjBweDtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cdHN2Z3tcblx0ICAgIGxpbmUge1xuXHRcdHN0cm9rZTogJGJyYW5kLXByaW1hcnk7IFxuXHQgICAgfVxuXG5cdH1cbiAgICB9XG4gICAgLmNvbC0xMiBidXR0b24uZm9ybS1sb2dpbl9fc3VibWl0LCAuY29sLW1kLTEyIGJ1dHRvbi5mb3JtLWxvZ2luX19zdWJtaXQge1xuXHR3aWR0aDogMTAwJTtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdGxpbmUtaGVpZ2h0OiBub3JtYWw7IFxuICAgIH1cbiAgICBcbn1cbiIsIi5oZXJvLXdlbGNvbWUge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcblx0Lm1vYmlsZS1hZGQtY29kZSB7XG5cdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiRicmFuZC1wcmltYXJ5LWxpZ2h0ZXN0O1xuXHR9XG4gICAgfVxuXG4gICAgXG4gICAgY29sb3I6ICRncmV5LWRhcmtlc3Q7XG5cbiAgICAubmF2LXBpbGxzIC5uYXYtbGluay5hY3RpdmUsIC5uYXYtcGlsbHMgLnNob3cgPiAubmF2LWxpbmsge1xuXHRib3JkZXI6IDFweCBzb2xpZCAkYnJhbmQtcHJpbWFyeS1taWRsaWdodDtcblx0Ym9yZGVyLXJhZGl1czogMTJweDtcbiAgICB9XG5cbiAgICBcblxuICAgIC5zZWNvbmRhcnktcm91bmQtYnRuIHtcbiAgICAgICAgJi5zbGljay1kaXNhYmxlZCB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1hcnJvdy1idG4tYmcpO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1hcnJvdy1idG4tYm9yZGVyKTtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBwYXRoLCBsaW5lIHtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWFycm93LWJ0bi1ib3JkZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hZGQtY29kZXMtd3JhcHBlciB7XG4gICAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5LWxpZ2h0OyBcblx0ICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICBtYXAtZ2V0KCRjb2xvcnMtaGVyby13ZWxjb21lLCBjb2RlLWJnLWFjdGl2ZSk7XG5cdCAgICAudGV4dHN7XG5cdFx0Y29sb3I6ICRicmFuZC1wcmltYXJ5LWRhcmsgIWltcG9ydGFudDtcblx0ICAgIH1cblx0ICAgIC5jb2Rlc3tcblx0XHRpbnB1dHtcblx0XHQgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5LWRhcmsgIWltcG9ydGFudDtcblx0XHQgICAgYm9yZGVyLWNvbG9yOnZhcigtLW1pZC1ncmksICRncmV5LWRhcmtlc3QpO1xuXHRcdCAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdH1cblx0XHRsYWJlbHtcblx0XHQgICAgY29sb3I6IHZhcigtLW1pZC1ncmksICRncmV5LWRhcmtlc3QpO1xuXHRcdH1cblx0ICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kYXRhY2FyZHN7XG4gICAgICAgIC5kYXRhY2FyZHtcbiAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAucGhvdG9ze1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTZweDtcblx0XHRib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgICAgICAgfVxuXG5cdCAgICBcbiAgICAgICAgICAgIC5waG90by1jb250YWluZXJ7XG5cdFx0JjpudGgtY2hpbGQoMSl7XG5cdFx0ICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEycHg7XG5cdFx0fVxuXHRcdCY6bnRoLWNoaWxkKDIpe1xuXHRcdCAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTJweDtcdFx0ICAgIFxuXHRcdH1cblx0XHQmOm50aC1jaGlsZCgzKXtcblx0XHQgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTJweDsgIFxuXHRcdH1cblx0XHQmOm50aC1jaGlsZCg0KXtcblx0XHQgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEycHg7XG5cdFx0fVxuXHRcdFxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpLCY6bnRoLWNoaWxkKDMpe1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcnMtaGVyby13ZWxjb21lLCBwaG90by1iZyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm1vcmV7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgtdG8tcmVtKDM2cHgpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJsYWNrKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtaGVyby13ZWxjb21lLCB0aWxlLWFjdGl2ZS1saW5rKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuaW1hZ2UtdGV4dCB7XG4gICAgLnJvdyB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXktZGFya2VzdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2wtdGV4dHMge1xuICAgICAgICAgICAgKiB7XG5cdFx0Y29sb3I6ICRncmV5LWRhcmtlc3Q7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubWVzc2FnZXMge1xuICAgIC5tZXNzYWdlIHtcbiAgICAgICAgJi5pcy1pbmZvLCAmLmlzLXdhcm5pbmcge1xuICAgICAgICAgICAgLmNsb3NlLWJ0biB7XG4gICAgICAgICAgICAgICAgc3ZnIGxpbmUge1xuICAgICAgICAgICAgICAgICAgICBzdHJva2U6IG1hcF9nZXQoJGNvbG9ycy1tZXNzYWdlcywgY2xvc2UtYnRuKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWVycm9yLCAmLmlzLXN1Y2Nlc3Mge1xuICAgICAgICAgICAgLmNsb3NlLWJ0biB7XG4gICAgICAgICAgICAgICAgc3ZnIGxpbmUge1xuICAgICAgICAgICAgICAgICAgICBzdHJva2U6IG1hcF9nZXQoJGNvbG9ycy1tZXNzYWdlcywgY2xvc2UtYnRuLXdoaXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWluZm8ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkY29sb3JzLW1lc3NhZ2VzLCBiYWNrZ3JvdW5kLWluZm8pO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy13YXJuaW5nIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1tZXNzYWdlcywgYmFja2dyb3VuZC13YXJuaW5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtZXJyb3Ige1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkY29sb3JzLW1lc3NhZ2VzLCBiYWNrZ3JvdW5kLWVycm9yKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtbWVzc2FnZXMsIHRleHQtd2hpdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1zdWNjZXNzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1tZXNzYWdlcywgYmFja2dyb3VuZC1zdWNjZXNzKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtbWVzc2FnZXMsIHRleHQtd2hpdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhcnRpY2xlc3tcbiAgICAgICAgICAgICYucGFydGljbGUtMXtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb2xvcnMtbm90aWNlLCBwYXJ0aWNsZS1jb2xvci0xKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5wYXJ0aWNsZS0ye1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1ub3RpY2UsIHBhcnRpY2xlLWNvbG9yLTIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5wYXJ0aWNsZS0ze1xuICAgICAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgbWFwLWdldCgkY29sb3JzLW5vdGljZSwgcGFydGljbGUtYm9yZGVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYucGFydGljbGUtNHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb2xvcnMtbm90aWNlLCBwYXJ0aWNsZS1jb2xvci0xKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYucGFydGljbGUtNXtcbiAgICAgICAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkIG1hcC1nZXQoJGNvbG9ycy1ub3RpY2UsIHBhcnRpY2xlLWJvcmRlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnBhcnRpY2xlLTZ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkY29sb3JzLW5vdGljZSwgcGFydGljbGUtY29sb3ItMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJcbi5ub3RpY2UtYmFye1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1ub3RpY2UsIGJhY2tncm91bmQpO1xuXG4gICAgcHtcbiAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgfVxuXG4gICAgLnBhcnRpY2xlc3tcbiAgICAgICAgJi5wYXJ0aWNsZS0xe1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkY29sb3JzLW5vdGljZSwgcGFydGljbGUtY29sb3ItMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLnBhcnRpY2xlLTJ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb2xvcnMtbm90aWNlLCBwYXJ0aWNsZS1jb2xvci0yKTtcbiAgICAgICAgfVxuICAgICAgICAmLnBhcnRpY2xlLTN7XG4gICAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkIG1hcC1nZXQoJGNvbG9ycy1ub3RpY2UsIHBhcnRpY2xlLWJvcmRlcik7XG4gICAgICAgIH1cbiAgICAgICAgJi5wYXJ0aWNsZS00e1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkY29sb3JzLW5vdGljZSwgcGFydGljbGUtY29sb3ItMSk7XG4gICAgICAgIH1cbiAgICAgICAgJi5wYXJ0aWNsZS01e1xuICAgICAgICAgICAgYm9yZGVyOjFweCBzb2xpZCBtYXAtZ2V0KCRjb2xvcnMtbm90aWNlLCBwYXJ0aWNsZS1ib3JkZXIpO1xuICAgICAgICB9XG4gICAgICAgICYucGFydGljbGUtNntcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1ub3RpY2UsIHBhcnRpY2xlLWNvbG9yLTIpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnRleHQtcGFnZS1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtdGV4dC1wYWdlLCBiYWNrZ3JvdW5kKTtcblxuICAgIC5oZWFkaW5nLXdyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAgbWFwX2dldCgkY29sb3JzLXRleHQtcGFnZSwgaGVhZGluZy1iYWNrZ3JvdW5kKTtcblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLXRleHQtcGFnZSwgaGVhZGluZyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY3VzdG9taXplLXBhZ2V7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgcHJldmlldy1iZyk7XG5cbiAgICAmLnNjcm9sbC1kaXNhYmxlZCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/