@charset "UTF-8";
/* BOOTSTRAP 5 FUNCTIONS *******************************************/
/* THEME FUNCTIONS/MIXINS/VARIABLES/FONTS/ETC. *********************/
/* THEME VARIABLES *************************************************/
/* BOOTSTRAP 5 VARIABLES *******************************************/
/* BOOTSTRAP 5 *****************************************************/
.table {
  --bs-table-bg: transparent;
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: #757575;
  --bs-table-striped-bg: rgba(0, 0, 0, 0.05);
  --bs-table-active-color: #757575;
  --bs-table-active-bg: rgba(0, 0, 0, 0.1);
  --bs-table-hover-color: #757575;
  --bs-table-hover-bg: rgba(0, 0, 0, 0.075);
  width: 100%;
  margin-bottom: 1rem;
  color: #757575;
  vertical-align: top;
  border-color: #dee2e6;
}
.table > :not(caption) > * > * {
  padding: 0.5rem 0.5rem;
  background-color: var(--bs-table-bg);
  border-bottom-width: 1px;
  box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
}
.table > tbody {
  vertical-align: inherit;
}
.table > thead {
  vertical-align: bottom;
}
.table > :not(:first-child) {
  border-top: 2px solid currentColor;
}

.caption-top {
  caption-side: top;
}

.table-sm > :not(caption) > * > * {
  padding: 0.25rem 0.25rem;
}

.table-bordered > :not(caption) > * {
  border-width: 1px 0;
}
.table-bordered > :not(caption) > * > * {
  border-width: 0 1px;
}

.table-borderless > :not(caption) > * > * {
  border-bottom-width: 0;
}
.table-borderless > :not(:first-child) {
  border-top-width: 0;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-accent-bg: var(--bs-table-striped-bg);
  color: var(--bs-table-striped-color);
}

.table-active {
  --bs-table-accent-bg: var(--bs-table-active-bg);
  color: var(--bs-table-active-color);
}

.table-hover > tbody > tr:hover > * {
  --bs-table-accent-bg: var(--bs-table-hover-bg);
  color: var(--bs-table-hover-color);
}

.table-primary {
  --bs-table-bg: rgb(231.8, 243.4, 216.8);
  --bs-table-striped-bg: rgb(220.21, 231.23, 205.96);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(208.62, 219.06, 195.12);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(214.415, 225.145, 200.54);
  --bs-table-hover-color: #000;
  color: #000;
  border-color: rgb(208.62, 219.06, 195.12);
}

.table-secondary {
  --bs-table-bg: rgb(212.8, 211.6, 213);
  --bs-table-striped-bg: rgb(202.16, 201.02, 202.35);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(191.52, 190.44, 191.7);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(196.84, 195.73, 197.025);
  --bs-table-hover-color: #000;
  color: #000;
  border-color: rgb(191.52, 190.44, 191.7);
}

.table-success {
  --bs-table-bg: rgb(231.8, 243.4, 216.8);
  --bs-table-striped-bg: rgb(220.21, 231.23, 205.96);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(208.62, 219.06, 195.12);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(214.415, 225.145, 200.54);
  --bs-table-hover-color: #000;
  color: #000;
  border-color: rgb(208.62, 219.06, 195.12);
}

.table-info {
  --bs-table-bg: rgb(206.6, 244.4, 252);
  --bs-table-striped-bg: rgb(196.27, 232.18, 239.4);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(185.94, 219.96, 226.8);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(191.105, 226.07, 233.1);
  --bs-table-hover-color: #000;
  color: #000;
  border-color: rgb(185.94, 219.96, 226.8);
}

.table-warning {
  --bs-table-bg: rgb(255, 242.6, 205.4);
  --bs-table-striped-bg: rgb(242.25, 230.47, 195.13);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(229.5, 218.34, 184.86);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(235.875, 224.405, 189.995);
  --bs-table-hover-color: #000;
  color: #000;
  border-color: rgb(229.5, 218.34, 184.86);
}

.table-danger {
  --bs-table-bg: rgb(248, 214.6, 217.8);
  --bs-table-striped-bg: rgb(235.6, 203.87, 206.91);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(223.2, 193.14, 196.02);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(229.4, 198.505, 201.465);
  --bs-table-hover-color: #000;
  color: #000;
  border-color: rgb(223.2, 193.14, 196.02);
}

.table-light {
  --bs-table-bg: #E6E6E6;
  --bs-table-striped-bg: rgb(218.5, 218.5, 218.5);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #cfcfcf;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(212.75, 212.75, 212.75);
  --bs-table-hover-color: #000;
  color: #000;
  border-color: #cfcfcf;
}

.table-dark {
  --bs-table-bg: #2C262D;
  --bs-table-striped-bg: rgb(54.55, 48.85, 55.5);
  --bs-table-striped-color: #fff;
  --bs-table-active-bg: rgb(65.1, 59.7, 66);
  --bs-table-active-color: #fff;
  --bs-table-hover-bg: rgb(59.825, 54.275, 60.75);
  --bs-table-hover-color: #fff;
  color: #fff;
  border-color: rgb(65.1, 59.7, 66);
}

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 575.98px) {
  .table-responsive-sm {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 767.98px) {
  .table-responsive-md {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 991.98px) {
  .table-responsive-lg {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1199.98px) {
  .table-responsive-xl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1399.98px) {
  .table-responsive-xxl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
.fade {
  transition: opacity 0.15s linear;
}
@media (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}
.fade:not(.show) {
  opacity: 0;
}

.collapse:not(.show) {
  display: none;
}

.collapsing {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}
.collapsing.collapse-horizontal {
  width: 0;
  height: auto;
  transition: width 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing.collapse-horizontal {
    transition: none;
  }
}

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  flex: 1 1 auto;
}
.btn-group > .btn-check:checked + .btn,
.btn-group > .btn-check:focus + .btn,
.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn-check:checked + .btn,
.btn-group-vertical > .btn-check:focus + .btn,
.btn-group-vertical > .btn:hover,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
  z-index: 1;
}

.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.btn-toolbar .input-group {
  width: auto;
}

.btn-group > .btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) {
  margin-left: -1px;
}
.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn-group:not(:last-child) > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btn-group > .btn:nth-child(n+3),
.btn-group > :not(.btn-check) + .btn,
.btn-group > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.dropdown-toggle-split {
  padding-right: 0.5625rem;
  padding-left: 0.5625rem;
}
.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {
  margin-left: 0;
}
.dropstart .dropdown-toggle-split::before {
  margin-right: 0;
}

.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
  padding-right: 0.375rem;
  padding-left: 0.375rem;
}

.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}

.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group {
  width: 100%;
}
.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
  margin-top: -1px;
}
.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn ~ .btn,
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid rgba(0, 0, 0, 0.125);
  border-radius: 0.25rem;
}
.card > hr {
  margin-right: 0;
  margin-left: 0;
}
.card > .list-group {
  border-top: inherit;
  border-bottom: inherit;
}
.card > .list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}
.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}
.card > .card-header + .list-group,
.card > .list-group + .card-footer {
  border-top: 0;
}

.card-body {
  flex: 1 1 auto;
  padding: 1rem 1rem;
}

.card-title {
  margin-bottom: 0.5rem;
}

.card-subtitle {
  margin-top: -0.25rem;
  margin-bottom: 0;
}

.card-text:last-child {
  margin-bottom: 0;
}

.card-link + .card-link {
  margin-left: 1rem;
}

.card-header {
  padding: 0.5rem 1rem;
  margin-bottom: 0;
  background-color: rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}
.card-header:first-child {
  border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
}

.card-footer {
  padding: 0.5rem 1rem;
  background-color: rgba(0, 0, 0, 0.03);
  border-top: 1px solid rgba(0, 0, 0, 0.125);
}
.card-footer:last-child {
  border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);
}

.card-header-tabs {
  margin-right: -0.5rem;
  margin-bottom: -0.5rem;
  margin-left: -0.5rem;
  border-bottom: 0;
}

.card-header-pills {
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1rem;
  border-radius: calc(0.25rem - 1px);
}

.card-img,
.card-img-top,
.card-img-bottom {
  width: 100%;
}

.card-img,
.card-img-top {
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.card-img,
.card-img-bottom {
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}

.card-group > .card {
  margin-bottom: 0.75rem;
}
@media (min-width: 576px) {
  .card-group {
    display: flex;
    flex-flow: row wrap;
  }
  .card-group > .card {
    flex: 1 0 0%;
    margin-bottom: 0;
  }
  .card-group > .card + .card {
    margin-left: 0;
    border-left: 0;
  }
  .card-group > .card:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:last-child) .card-img-top,
  .card-group > .card:not(:last-child) .card-header {
    border-top-right-radius: 0;
  }
  .card-group > .card:not(:last-child) .card-img-bottom,
  .card-group > .card:not(:last-child) .card-footer {
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .card-group > .card:not(:first-child) .card-img-top,
  .card-group > .card:not(:first-child) .card-header {
    border-top-left-radius: 0;
  }
  .card-group > .card:not(:first-child) .card-img-bottom,
  .card-group > .card:not(:first-child) .card-footer {
    border-bottom-left-radius: 0;
  }
}

.accordion-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 1rem 1.25rem;
  font-size: 1.25rem;
  color: #757575;
  text-align: left;
  background-color: #fff;
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button {
    transition: none;
  }
}
.accordion-button:not(.collapsed) {
  color: rgb(125.1, 177.3, 57.6);
  background-color: rgb(243.4, 249.2, 235.9);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.125);
}
.accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgb%28125.1, 177.3, 57.6%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  transform: rotate(-180deg);
}
.accordion-button::after {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin-left: auto;
  content: "";
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23757575'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: 1.25rem;
  transition: transform 0.2s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button::after {
    transition: none;
  }
}
.accordion-button:hover {
  z-index: 2;
}
.accordion-button:focus {
  z-index: 3;
  border-color: rgb(197, 226, 159.5);
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(139, 197, 64, 0.25);
}

.accordion-header {
  margin-bottom: 0;
}

.accordion-item {
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125);
}
.accordion-item:first-of-type {
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}
.accordion-item:first-of-type .accordion-button {
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}
.accordion-item:not(:first-of-type) {
  border-top: 0;
}
.accordion-item:last-of-type {
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}
.accordion-item:last-of-type .accordion-button.collapsed {
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}
.accordion-item:last-of-type .accordion-collapse {
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

.accordion-body {
  padding: 1rem 1.25rem;
}

.accordion-flush .accordion-collapse {
  border-width: 0;
}
.accordion-flush .accordion-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}
.accordion-flush .accordion-item:first-child {
  border-top: 0;
}
.accordion-flush .accordion-item:last-child {
  border-bottom: 0;
}
.accordion-flush .accordion-item .accordion-button {
  border-radius: 0;
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  padding: 0 0;
  margin-bottom: 1rem;
  list-style: none;
}

.breadcrumb-item + .breadcrumb-item {
  padding-left: 0.5rem;
}
.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: 0.5rem;
  color: #808080;
  content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */;
}
.breadcrumb-item.active {
  color: #808080;
}

.pagination {
  display: flex;
  padding-left: 0;
  list-style: none;
}

.page-link {
  position: relative;
  display: block;
  color: #8BC540;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid #dee2e6;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .page-link {
    transition: none;
  }
}
.page-link:hover {
  z-index: 2;
  color: rgb(111.2, 157.6, 51.2);
  background-color: #e9ecef;
  border-color: #dee2e6;
}
.page-link:focus {
  z-index: 3;
  color: rgb(111.2, 157.6, 51.2);
  background-color: #e9ecef;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(139, 197, 64, 0.25);
}

.page-item:not(:first-child) .page-link {
  margin-left: -1px;
}
.page-item.active .page-link {
  z-index: 3;
  color: #fff;
  background-color: #8BC540;
  border-color: #8BC540;
}
.page-item.disabled .page-link {
  color: #808080;
  pointer-events: none;
  background-color: #fff;
  border-color: #dee2e6;
}

.page-link {
  padding: 0.375rem 0.75rem;
}

.page-item:first-child .page-link {
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}
.page-item:last-child .page-link {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}

.pagination-lg .page-link {
  padding: 0.75rem 1.5rem;
  font-size: calc(1.28125rem + 0.375vw);
}
@media (min-width: 1200px) {
  .pagination-lg .page-link {
    font-size: 1.5625rem;
  }
}
.pagination-lg .page-item:first-child .page-link {
  border-top-left-radius: 0.3rem;
  border-bottom-left-radius: 0.3rem;
}
.pagination-lg .page-item:last-child .page-link {
  border-top-right-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem;
}

.pagination-sm .page-link {
  padding: 0.25rem 0.5rem;
  font-size: 1.09375rem;
}
.pagination-sm .page-item:first-child .page-link {
  border-top-left-radius: 0.2rem;
  border-bottom-left-radius: 0.2rem;
}
.pagination-sm .page-item:last-child .page-link {
  border-top-right-radius: 0.2rem;
  border-bottom-right-radius: 0.2rem;
}

.badge {
  display: inline-block;
  padding: 0.35em 0.65em;
  font-size: 0.75em;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25rem;
}
.badge:empty {
  display: none;
}

.btn .badge {
  position: relative;
  top: -1px;
}

@keyframes progress-bar-stripes {
  0% {
    background-position-x: 1rem;
  }
}
.progress {
  display: flex;
  height: 1rem;
  overflow: hidden;
  font-size: 0.9375rem;
  background-color: #e9ecef;
  border-radius: 0.25rem;
}

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: #8BC540;
  transition: width 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar {
    transition: none;
  }
}

.progress-bar-striped {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 1rem 1rem;
}

.progress-bar-animated {
  animation: 1s linear infinite progress-bar-stripes;
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar-animated {
    animation: none;
  }
}

.list-group {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: 0.25rem;
}

.list-group-numbered {
  list-style-type: none;
  counter-reset: section;
}
.list-group-numbered > li::before {
  content: counters(section, ".") ". ";
  counter-increment: section;
}

.list-group-item-action {
  width: 100%;
  color: #707070;
  text-align: inherit;
}
.list-group-item-action:hover, .list-group-item-action:focus {
  z-index: 1;
  color: #707070;
  text-decoration: none;
  background-color: #E6E6E6;
}
.list-group-item-action:active {
  color: #757575;
  background-color: #e9ecef;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 0.5rem 1rem;
  color: #2C262D;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125);
}
.list-group-item:first-child {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}
.list-group-item:last-child {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}
.list-group-item.disabled, .list-group-item:disabled {
  color: #808080;
  pointer-events: none;
  background-color: #fff;
}
.list-group-item.active {
  z-index: 2;
  color: #fff;
  background-color: #8BC540;
  border-color: #8BC540;
}
.list-group-item + .list-group-item {
  border-top-width: 0;
}
.list-group-item + .list-group-item.active {
  margin-top: -1px;
  border-top-width: 1px;
}

.list-group-horizontal {
  flex-direction: row;
}
.list-group-horizontal > .list-group-item:first-child {
  border-bottom-left-radius: 0.25rem;
  border-top-right-radius: 0;
}
.list-group-horizontal > .list-group-item:last-child {
  border-top-right-radius: 0.25rem;
  border-bottom-left-radius: 0;
}
.list-group-horizontal > .list-group-item.active {
  margin-top: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item {
  border-top-width: 1px;
  border-left-width: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item.active {
  margin-left: -1px;
  border-left-width: 1px;
}

@media (min-width: 576px) {
  .list-group-horizontal-sm {
    flex-direction: row;
  }
  .list-group-horizontal-sm > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
@media (min-width: 768px) {
  .list-group-horizontal-md {
    flex-direction: row;
  }
  .list-group-horizontal-md > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
@media (min-width: 992px) {
  .list-group-horizontal-lg {
    flex-direction: row;
  }
  .list-group-horizontal-lg > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
@media (min-width: 1200px) {
  .list-group-horizontal-xl {
    flex-direction: row;
  }
  .list-group-horizontal-xl > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
@media (min-width: 1400px) {
  .list-group-horizontal-xxl {
    flex-direction: row;
  }
  .list-group-horizontal-xxl > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
.list-group-flush {
  border-radius: 0;
}
.list-group-flush > .list-group-item {
  border-width: 0 0 1px;
}
.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 0;
}

.list-group-item-primary {
  color: rgb(83.4, 118.2, 38.4);
  background-color: rgb(231.8, 243.4, 216.8);
}
.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
  color: rgb(83.4, 118.2, 38.4);
  background-color: rgb(208.62, 219.06, 195.12);
}
.list-group-item-primary.list-group-item-action.active {
  color: #fff;
  background-color: rgb(83.4, 118.2, 38.4);
  border-color: rgb(83.4, 118.2, 38.4);
}

.list-group-item-secondary {
  color: rgb(26.4, 22.8, 27);
  background-color: rgb(212.8, 211.6, 213);
}
.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
  color: rgb(26.4, 22.8, 27);
  background-color: rgb(191.52, 190.44, 191.7);
}
.list-group-item-secondary.list-group-item-action.active {
  color: #fff;
  background-color: rgb(26.4, 22.8, 27);
  border-color: rgb(26.4, 22.8, 27);
}

.list-group-item-success {
  color: rgb(83.4, 118.2, 38.4);
  background-color: rgb(231.8, 243.4, 216.8);
}
.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
  color: rgb(83.4, 118.2, 38.4);
  background-color: rgb(208.62, 219.06, 195.12);
}
.list-group-item-success.list-group-item-action.active {
  color: #fff;
  background-color: rgb(83.4, 118.2, 38.4);
  border-color: rgb(83.4, 118.2, 38.4);
}

.list-group-item-info {
  color: rgb(5.2, 80.8, 96);
  background-color: rgb(206.6, 244.4, 252);
}
.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
  color: rgb(5.2, 80.8, 96);
  background-color: rgb(185.94, 219.96, 226.8);
}
.list-group-item-info.list-group-item-action.active {
  color: #fff;
  background-color: rgb(5.2, 80.8, 96);
  border-color: rgb(5.2, 80.8, 96);
}

.list-group-item-warning {
  color: rgb(102, 77.2, 2.8);
  background-color: rgb(255, 242.6, 205.4);
}
.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
  color: rgb(102, 77.2, 2.8);
  background-color: rgb(229.5, 218.34, 184.86);
}
.list-group-item-warning.list-group-item-action.active {
  color: #fff;
  background-color: rgb(102, 77.2, 2.8);
  border-color: rgb(102, 77.2, 2.8);
}

.list-group-item-danger {
  color: rgb(132, 31.8, 41.4);
  background-color: rgb(248, 214.6, 217.8);
}
.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
  color: rgb(132, 31.8, 41.4);
  background-color: rgb(223.2, 193.14, 196.02);
}
.list-group-item-danger.list-group-item-action.active {
  color: #fff;
  background-color: rgb(132, 31.8, 41.4);
  border-color: rgb(132, 31.8, 41.4);
}

.list-group-item-light {
  color: #5c5c5c;
  background-color: #fafafa;
}
.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
  color: #5c5c5c;
  background-color: #e1e1e1;
}
.list-group-item-light.list-group-item-action.active {
  color: #fff;
  background-color: #5c5c5c;
  border-color: #5c5c5c;
}

.list-group-item-dark {
  color: rgb(26.4, 22.8, 27);
  background-color: rgb(212.8, 211.6, 213);
}
.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
  color: rgb(26.4, 22.8, 27);
  background-color: rgb(191.52, 190.44, 191.7);
}
.list-group-item-dark.list-group-item-action.active {
  color: #fff;
  background-color: rgb(26.4, 22.8, 27);
  border-color: rgb(26.4, 22.8, 27);
}

.btn-close {
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: 0.25em 0.25em;
  color: #000;
  background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
  border: 0;
  border-radius: 0.25rem;
  opacity: 0.5;
}
.btn-close:hover {
  color: #000;
  text-decoration: none;
  opacity: 0.75;
}
.btn-close:focus {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(139, 197, 64, 0.25);
  opacity: 1;
}
.btn-close:disabled, .btn-close.disabled {
  pointer-events: none;
  user-select: none;
  opacity: 0.25;
}

.btn-close-white {
  filter: invert(1) grayscale(100%) brightness(200%);
}

.toast {
  width: 350px;
  max-width: 100%;
  font-size: 0.875rem;
  pointer-events: auto;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem;
}
.toast.showing {
  opacity: 0;
}
.toast:not(.show) {
  display: none;
}

.toast-container {
  width: max-content;
  max-width: 100%;
  pointer-events: none;
}
.toast-container > :not(:last-child) {
  margin-bottom: 0.75rem;
}

.toast-header {
  display: flex;
  align-items: center;
  padding: 0.5rem 0.75rem;
  color: #808080;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}
.toast-header .btn-close {
  margin-right: -0.375rem;
  margin-left: 0.75rem;
}

.toast-body {
  padding: 0.75rem;
  word-wrap: break-word;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1055;
  display: none;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: 0.5rem;
  pointer-events: none;
}
.modal.fade .modal-dialog {
  transition: transform 0.3s ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.fade .modal-dialog {
  transform: translate(0, -50px);
}
.modal.show .modal-dialog {
  transform: none;
}
.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

.modal-dialog-scrollable {
  height: calc(100% - 1rem);
}
.modal-dialog-scrollable .modal-content {
  max-height: 100%;
  overflow: hidden;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 1rem);
}

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
  outline: 0;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  width: 100vw;
  height: 100vh;
  background-color: #000;
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: 0.5;
}

.modal-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1rem;
  border-bottom: 1px solid #dee2e6;
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px);
}
.modal-header .btn-close {
  padding: 0.5rem 0.5rem;
  margin: -0.5rem -0.5rem -0.5rem auto;
}

.modal-title {
  margin-bottom: 0;
  line-height: 2;
}

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: 1rem;
}

.modal-footer {
  display: flex;
  flex-wrap: wrap;
  flex-shrink: 0;
  align-items: center;
  justify-content: flex-end;
  padding: 0.75rem;
  border-top: 1px solid #dee2e6;
  border-bottom-right-radius: calc(0.3rem - 1px);
  border-bottom-left-radius: calc(0.3rem - 1px);
}
.modal-footer > * {
  margin: 0.25rem;
}

@media (min-width: 576px) {
  .modal-dialog {
    max-width: 500px;
    margin: 1.75rem auto;
  }
  .modal-dialog-scrollable {
    height: calc(100% - 3.5rem);
  }
  .modal-dialog-centered {
    min-height: calc(100% - 3.5rem);
  }
  .modal-sm {
    max-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    max-width: 800px;
  }
}
@media (min-width: 1200px) {
  .modal-xl {
    max-width: 1140px;
  }
}
.modal-fullscreen {
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0;
}
.modal-fullscreen .modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
}
.modal-fullscreen .modal-header {
  border-radius: 0;
}
.modal-fullscreen .modal-body {
  overflow-y: auto;
}
.modal-fullscreen .modal-footer {
  border-radius: 0;
}

@media (max-width: 575.98px) {
  .modal-fullscreen-sm-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-sm-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-header {
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-body {
    overflow-y: auto;
  }
  .modal-fullscreen-sm-down .modal-footer {
    border-radius: 0;
  }
}
@media (max-width: 767.98px) {
  .modal-fullscreen-md-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-md-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-header {
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-body {
    overflow-y: auto;
  }
  .modal-fullscreen-md-down .modal-footer {
    border-radius: 0;
  }
}
@media (max-width: 991.98px) {
  .modal-fullscreen-lg-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-lg-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-header {
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-body {
    overflow-y: auto;
  }
  .modal-fullscreen-lg-down .modal-footer {
    border-radius: 0;
  }
}
@media (max-width: 1199.98px) {
  .modal-fullscreen-xl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-header {
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-body {
    overflow-y: auto;
  }
  .modal-fullscreen-xl-down .modal-footer {
    border-radius: 0;
  }
}
@media (max-width: 1399.98px) {
  .modal-fullscreen-xxl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xxl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-header {
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-body {
    overflow-y: auto;
  }
  .modal-fullscreen-xxl-down .modal-footer {
    border-radius: 0;
  }
}
.tooltip {
  position: absolute;
  z-index: 1080;
  display: block;
  margin: 0;
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 2;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 1.09375rem;
  word-wrap: break-word;
  opacity: 0;
}
.tooltip.show {
  opacity: 0.9;
}
.tooltip .tooltip-arrow {
  position: absolute;
  display: block;
  width: 0.8rem;
  height: 0.4rem;
}
.tooltip .tooltip-arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-tooltip-top, .bs-tooltip-auto[data-popper-placement^=top] {
  padding: 0.4rem 0;
}
.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {
  bottom: 0;
}
.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
  top: -1px;
  border-width: 0.4rem 0.4rem 0;
  border-top-color: #000;
}

.bs-tooltip-end, .bs-tooltip-auto[data-popper-placement^=right] {
  padding: 0 0.4rem;
}
.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
  left: 0;
  width: 0.4rem;
  height: 0.8rem;
}
.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {
  right: -1px;
  border-width: 0.4rem 0.4rem 0.4rem 0;
  border-right-color: #000;
}

.bs-tooltip-bottom, .bs-tooltip-auto[data-popper-placement^=bottom] {
  padding: 0.4rem 0;
}
.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
  top: 0;
}
.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
  bottom: -1px;
  border-width: 0 0.4rem 0.4rem;
  border-bottom-color: #000;
}

.bs-tooltip-start, .bs-tooltip-auto[data-popper-placement^=left] {
  padding: 0 0.4rem;
}
.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
  right: 0;
  width: 0.4rem;
  height: 0.8rem;
}
.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
  left: -1px;
  border-width: 0.4rem 0 0.4rem 0.4rem;
  border-left-color: #000;
}

.tooltip-inner {
  max-width: 200px;
  padding: 0.25rem 0.5rem;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 0.25rem;
}

.popover {
  position: absolute;
  top: 0;
  left: 0 /* rtl:ignore */;
  z-index: 1070;
  display: block;
  max-width: 276px;
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 2;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 1.09375rem;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
}
.popover .popover-arrow {
  position: absolute;
  display: block;
  width: 1rem;
  height: 0.5rem;
}
.popover .popover-arrow::before, .popover .popover-arrow::after {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
  bottom: calc(-0.5rem - 1px);
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {
  bottom: 0;
  border-width: 0.5rem 0.5rem 0;
  border-top-color: rgba(0, 0, 0, 0.25);
}
.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
  bottom: 1px;
  border-width: 0.5rem 0.5rem 0;
  border-top-color: #fff;
}

.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
  left: calc(-0.5rem - 1px);
  width: 0.5rem;
  height: 1rem;
}
.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
  left: 0;
  border-width: 0.5rem 0.5rem 0.5rem 0;
  border-right-color: rgba(0, 0, 0, 0.25);
}
.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
  left: 1px;
  border-width: 0.5rem 0.5rem 0.5rem 0;
  border-right-color: #fff;
}

.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
  top: calc(-0.5rem - 1px);
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {
  top: 0;
  border-width: 0 0.5rem 0.5rem 0.5rem;
  border-bottom-color: rgba(0, 0, 0, 0.25);
}
.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
  top: 1px;
  border-width: 0 0.5rem 0.5rem 0.5rem;
  border-bottom-color: #fff;
}
.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 1rem;
  margin-left: -0.5rem;
  content: "";
  border-bottom: 1px solid rgb(239.7, 239.7, 239.7);
}

.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
  right: calc(-0.5rem - 1px);
  width: 0.5rem;
  height: 1rem;
}
.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
  right: 0;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  border-left-color: rgba(0, 0, 0, 0.25);
}
.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
  right: 1px;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  border-left-color: #fff;
}

.popover-header {
  padding: 0.5rem 1rem;
  margin-bottom: 0;
  font-size: 1.25rem;
  background-color: rgb(239.7, 239.7, 239.7);
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px);
}
.popover-header:empty {
  display: none;
}

.popover-body {
  padding: 1rem 1rem;
  color: #757575;
}

.carousel {
  position: relative;
}

.carousel.pointer-event {
  touch-action: pan-y;
}

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.carousel-inner::after {
  display: block;
  clear: both;
  content: "";
}

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}

/* rtl:begin:ignore */
.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end {
  transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start {
  transform: translateX(-100%);
}

/* rtl:end:ignore */
.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none;
}
.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-start,
.carousel-fade .carousel-item-prev.carousel-item-end {
  z-index: 1;
  opacity: 1;
}
.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-start,
  .carousel-fade .active.carousel-item-end {
    transition: none;
  }
}

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  padding: 0;
  color: #fff;
  text-align: center;
  background: none;
  border: 0;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-control-prev,
  .carousel-control-next {
    transition: none;
  }
}
.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}

.carousel-control-prev {
  left: 0;
}

.carousel-control-next {
  right: 0;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 100% 100%;
}

/* rtl:options: {
  "autoRename": true,
  "stringMap":[ {
    "name"    : "prev-next",
    "search"  : "prev",
    "replace" : "next"
  } ]
} */
.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  padding: 0;
  margin-right: 15%;
  margin-bottom: 1rem;
  margin-left: 15%;
  list-style: none;
}
.carousel-indicators [data-bs-target] {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  padding: 0;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #fff;
  background-clip: padding-box;
  border: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: 0.5;
  transition: opacity 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-indicators [data-bs-target] {
    transition: none;
  }
}
.carousel-indicators .active {
  opacity: 1;
}

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 1.25rem;
  left: 15%;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  color: #fff;
  text-align: center;
}

.carousel-dark .carousel-control-prev-icon,
.carousel-dark .carousel-control-next-icon {
  filter: invert(1) grayscale(100);
}
.carousel-dark .carousel-indicators [data-bs-target] {
  background-color: #000;
}
.carousel-dark .carousel-caption {
  color: #000;
}

@keyframes spinner-border {
  to {
    transform: rotate(360deg) /* rtl:ignore */;
  }
}
.spinner-border {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125em;
  border: 0.25em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: 0.75s linear infinite spinner-border;
}

.spinner-border-sm {
  width: 1rem;
  height: 1rem;
  border-width: 0.2em;
}

@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}
.spinner-grow {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125em;
  background-color: currentColor;
  border-radius: 50%;
  opacity: 0;
  animation: 0.75s linear infinite spinner-grow;
}

.spinner-grow-sm {
  width: 1rem;
  height: 1rem;
}

@media (prefers-reduced-motion: reduce) {
  .spinner-border,
  .spinner-grow {
    animation-duration: 1.5s;
  }
}
.offcanvas {
  position: fixed;
  bottom: 0;
  z-index: 1045;
  display: flex;
  flex-direction: column;
  max-width: 100%;
  visibility: hidden;
  background-color: #fff;
  background-clip: padding-box;
  outline: 0;
  transition: transform 0.3s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .offcanvas {
    transition: none;
  }
}

.offcanvas-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: #000;
}
.offcanvas-backdrop.fade {
  opacity: 0;
}
.offcanvas-backdrop.show {
  opacity: 0.5;
}

.offcanvas-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1rem;
}
.offcanvas-header .btn-close {
  padding: 0.5rem 0.5rem;
  margin-top: -0.5rem;
  margin-right: -0.5rem;
  margin-bottom: -0.5rem;
}

.offcanvas-title {
  margin-bottom: 0;
  line-height: 2;
}

.offcanvas-body {
  flex-grow: 1;
  padding: 1rem 1rem;
  overflow-y: auto;
}

.offcanvas-start {
  top: 0;
  left: 0;
  width: 400px;
  border-right: 1px solid rgba(0, 0, 0, 0.2);
  transform: translateX(-100%);
}

.offcanvas-end {
  top: 0;
  right: 0;
  width: 400px;
  border-left: 1px solid rgba(0, 0, 0, 0.2);
  transform: translateX(100%);
}

.offcanvas-top {
  top: 0;
  right: 0;
  left: 0;
  height: 30vh;
  max-height: 100%;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  transform: translateY(-100%);
}

.offcanvas-bottom {
  right: 0;
  left: 0;
  height: 30vh;
  max-height: 100%;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  transform: translateY(100%);
}

.offcanvas.show {
  transform: none;
}

.placeholder {
  display: inline-block;
  min-height: 1em;
  vertical-align: middle;
  cursor: wait;
  background-color: currentColor;
  opacity: 0.5;
}
.placeholder.btn::before {
  display: inline-block;
  content: "";
}

.placeholder-xs {
  min-height: 0.6em;
}

.placeholder-sm {
  min-height: 0.8em;
}

.placeholder-lg {
  min-height: 1.2em;
}

.placeholder-glow .placeholder {
  animation: placeholder-glow 2s ease-in-out infinite;
}

@keyframes placeholder-glow {
  50% {
    opacity: 0.2;
  }
}
.placeholder-wave {
  mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
  mask-size: 200% 100%;
  animation: placeholder-wave 2s linear infinite;
}

@keyframes placeholder-wave {
  100% {
    mask-position: -200% 0%;
  }
}
/* MISC. THIRD-PARTY ***********************************************/
/*!
 * mmenu.js
 * mmenujs.com
 *
 * Copyright (c) Fred Heusschen
 * frebsite.nl
 *
 * License: CC-BY-NC-4.0
 * http://creativecommons.org/licenses/by-nc/4.0/
 */
:root {
  --mm-line-height: 20px;
  --mm-listitem-size: 44px;
  --mm-navbar-size: 44px;
  --mm-offset-top: 0;
  --mm-offset-right: 0;
  --mm-offset-bottom: 0;
  --mm-offset-left: 0;
  --mm-color-border: rgba(0, 0, 0, 0.1);
  --mm-color-button: rgba(0, 0, 0, 0.3);
  --mm-color-text: rgba(0, 0, 0, 0.75);
  --mm-color-text-dimmed: rgba(0, 0, 0, 0.3);
  --mm-color-background: #f3f3f3;
  --mm-color-background-highlight: rgba(0, 0, 0, 0.05);
  --mm-color-background-emphasis: rgba(255, 255, 255, 0.4);
  --mm-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

.mm-hidden {
  display: none !important;
}

.mm-wrapper {
  overflow-x: hidden;
  position: relative;
}

.mm-menu {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #f3f3f3;
  border-color: rgba(0, 0, 0, 0.1);
  color: rgba(0, 0, 0, 0.75);
  line-height: 20px;
  display: flex;
  flex-direction: column;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  position: absolute;
  top: var(--mm-offset-top);
  right: var(--mm-offset-right);
  bottom: var(--mm-offset-bottom);
  left: var(--mm-offset-left);
  z-index: 0;
  overscroll-behavior: auto;
  background: var(--mm-color-background);
  border-color: var(--mm-color-border);
  color: var(--mm-color-text);
  line-height: var(--mm-line-height);
  -webkit-tap-highlight-color: var(--mm-color-background-emphasis);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.mm-menu a,
.mm-menu a:link,
.mm-menu a:active,
.mm-menu a:visited,
.mm-menu a:hover {
  text-decoration: none;
  color: inherit;
}

[dir=rtl] .mm-menu {
  direction: rtl;
}

.mm-panel {
  background: #f3f3f3;
  border-color: rgba(0, 0, 0, 0.1);
  color: rgba(0, 0, 0, 0.75);
}
.mm-panel:after {
  height: 44px;
}
.mm-panel {
  z-index: 0;
  box-sizing: border-box;
  width: 100%;
  -webkit-overflow-scrolling: touch;
  overflow: hidden;
  overflow-y: auto;
  color: var(--mm-color-text);
  border-color: var(--mm-color-border);
  background: var(--mm-color-background);
  transform: translate3d(100%, 0, 0);
  transition: transform 0.4s ease;
}
.mm-panel:not(.mm-hidden) {
  display: block;
}
.mm-panel:after {
  content: "";
  display: block;
  height: var(--mm-listitem-size);
}
.mm-panel_opened {
  z-index: 1;
  transform: translate3d(0%, 0, 0);
}
.mm-panel_opened-parent {
  transform: translate3d(-30%, 0, 0);
}
.mm-panel_highest {
  z-index: 2;
}
.mm-panel_noanimation {
  transition: none !important;
}
.mm-panel_noanimation.mm-panel_opened-parent {
  transform: translate3d(0, 0, 0);
}
.mm-panels > .mm-panel {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

.mm-panel__content {
  padding: 20px 20px 0;
}

.mm-panels {
  background: #f3f3f3;
  border-color: rgba(0, 0, 0, 0.1);
  color: rgba(0, 0, 0, 0.75);
  position: relative;
  height: 100%;
  flex-grow: 1;
  overflow: hidden;
  background: var(--mm-color-background);
  border-color: var(--mm-color-border);
  color: var(--mm-color-text);
}

[dir=rtl] .mm-panel:not(.mm-panel_opened) {
  transform: translate3d(-100%, 0, 0);
}
[dir=rtl] .mm-panel.mm-panel_opened-parent {
  transform: translate3d(30%, 0, 0);
}

.mm-listitem_vertical > .mm-panel {
  display: none;
  width: 100%;
  padding: 10px 0 10px 10px;
  transform: none !important;
}
.mm-listitem_vertical > .mm-panel:before, .mm-listitem_vertical > .mm-panel:after {
  content: none;
  display: none;
}

.mm-listitem_opened > .mm-panel {
  display: block;
}

.mm-listitem_vertical > .mm-listitem__btn {
  height: 44px;
  height: var(--mm-listitem-size);
  bottom: auto;
}
.mm-listitem_vertical .mm-listitem:last-child:after {
  border-color: transparent;
}

.mm-listitem_opened > .mm-listitem__btn:after {
  transform: rotate(225deg);
  right: 19px;
}

.mm-btn {
  flex-grow: 0;
  flex-shrink: 0;
  position: relative;
  box-sizing: border-box;
  width: 50px;
  padding: 0;
}
.mm-btn:before, .mm-btn:after {
  border: 2px solid rgba(0, 0, 0, 0.3);
  border: 2px solid var(--mm-color-button);
}

.mm-btn_next:after, .mm-btn_prev:before {
  content: "";
  border-bottom: none;
  border-right: none;
  box-sizing: content-box;
  display: block;
  width: 8px;
  height: 8px;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
}

.mm-btn_prev:before {
  transform: rotate(-45deg);
  left: 23px;
  right: auto;
}
.mm-btn_next:after {
  transform: rotate(135deg);
  right: 23px;
  left: auto;
}
.mm-btn_close:before, .mm-btn_close:after {
  content: "";
  box-sizing: content-box;
  display: block;
  width: 5px;
  height: 5px;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  transform: rotate(-45deg);
}
.mm-btn_close:before {
  border-right: none;
  border-bottom: none;
  right: 18px;
}
.mm-btn_close:after {
  border-left: none;
  border-top: none;
  right: 25px;
}

[dir=rtl] .mm-btn_next:after {
  transform: rotate(-45deg);
  left: 23px;
  right: auto;
}
[dir=rtl] .mm-btn_prev:before {
  transform: rotate(135deg);
  right: 23px;
  left: auto;
}
[dir=rtl] .mm-btn_close:before, [dir=rtl] .mm-btn_close:after {
  right: auto;
}
[dir=rtl] .mm-btn_close:before {
  left: 25px;
}
[dir=rtl] .mm-btn_close:after {
  left: 18px;
}

.mm-navbar {
  min-height: 44px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  background: #f3f3f3;
  color: rgba(0, 0, 0, 0.3);
}
.mm-navbar > * {
  min-height: 44px;
}
.mm-navbar {
  display: flex;
  min-height: var(--mm-navbar-size);
  border-bottom: 1px solid var(--mm-color-border);
  background: var(--mm-color-background);
  color: var(--mm-color-text-dimmed);
  text-align: center;
  opacity: 1;
  transition: opacity 0.4s ease;
}
@supports (position: sticky) {
  .mm-navbar_sticky {
    position: sticky;
    top: 0;
    z-index: 1;
  }
}
.mm-navbar > * {
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.mm-navbar__btn {
  flex-grow: 0;
}

.mm-navbar__title {
  flex: 1 1 50%;
  display: flex;
  padding-left: 20px;
  padding-right: 20px;
  overflow: hidden;
}
.mm-navbar__title:not(:last-child) {
  padding-right: 0;
}
.mm-navbar__title > span {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.mm-navbar__btn:not(.mm-hidden) + .mm-navbar__title {
  padding-left: 0;
}
.mm-navbar__btn:not(.mm-hidden) + .mm-navbar__title:last-child {
  padding-right: 50px;
}

[dir=rtl] .mm-navbar {
  flex-direction: row-reverse;
}

.mm-listview {
  list-style: none;
  display: block;
  padding: 0;
  margin: 0;
}

.mm-listitem {
  color: rgba(0, 0, 0, 0.75);
  border-color: rgba(0, 0, 0, 0.1);
  color: var(--mm-color-text);
  border-color: var(--mm-color-border);
  list-style: none;
  display: block;
  padding: 0;
  margin: 0;
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
.mm-listitem:after {
  content: "";
  border-color: inherit;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  display: block;
  position: absolute;
  left: 20px;
  right: 0;
  bottom: 0;
}
.mm-listitem a,
.mm-listitem a:hover {
  text-decoration: none;
}

.mm-listitem__btn, .mm-listitem__text {
  padding: 12px;
  display: block;
  padding: calc((var(--mm-listitem-size) - var(--mm-line-height)) / 2);
  padding-left: 0;
  padding-right: 0;
  color: inherit;
}

.mm-listitem__text {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding-left: 20px;
  padding-right: 10px;
  flex-grow: 1;
  flex-basis: 10%;
}

.mm-listitem__btn {
  background: rgba(3, 2, 1, 0);
  border-color: inherit;
  width: auto;
  padding-right: 50px;
  position: relative;
}
.mm-listitem__btn:not(.mm-listitem__text) {
  border-left-width: 1px;
  border-left-style: solid;
}

.mm-listitem_selected > .mm-listitem__text {
  background: rgba(255, 255, 255, 0.4);
  background: var(--mm-color-background-emphasis);
}
.mm-listitem_opened > .mm-listitem__btn,
.mm-listitem_opened > .mm-panel {
  background: rgba(0, 0, 0, 0.05);
  background: var(--mm-color-background-highlight);
}

[dir=rtl] .mm-listitem:after {
  left: 0;
  right: 20px;
}
[dir=rtl] .mm-listitem__text {
  padding-left: 10px;
  padding-right: 20px;
}
[dir=rtl] .mm-listitem__btn {
  padding-left: 50px;
  border-left-width: 0;
  border-left-style: none;
}
[dir=rtl] .mm-listitem__btn:not(.mm-listitem__text) {
  padding-right: 0;
  border-right-width: 1px;
  border-right-style: solid;
}

.mm-page {
  box-sizing: border-box;
  position: relative;
}

.mm-slideout {
  transition: transform 0.4s ease;
  z-index: 1;
}

.mm-wrapper_opened {
  overflow-x: hidden;
  position: relative;
}
.mm-wrapper_opened .mm-page {
  min-height: 100vh;
}
.mm-wrapper_background .mm-page {
  background: inherit;
}

.mm-menu_offcanvas {
  position: fixed;
  right: auto;
  z-index: 0;
}
.mm-menu_offcanvas:not(.mm-menu_opened) {
  display: none;
}

.mm-menu_offcanvas {
  width: 80%;
  min-width: 240px;
  max-width: 440px;
}

.mm-wrapper_opening .mm-menu_offcanvas.mm-menu_opened ~ .mm-slideout {
  transform: translate3d(80vw, 0, 0);
}

@media all and (max-width: 300px) {
  .mm-wrapper_opening .mm-menu_offcanvas.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(240px, 0, 0);
  }
}
@media all and (min-width: 550px) {
  .mm-wrapper_opening .mm-menu_offcanvas.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(440px, 0, 0);
  }
}
.mm-wrapper__blocker {
  background: rgba(3, 2, 1, 0);
  overflow: hidden;
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
}

.mm-wrapper_blocking {
  overflow: hidden;
}
.mm-wrapper_blocking body {
  overflow: hidden;
}
.mm-wrapper_blocking .mm-wrapper__blocker {
  display: block;
}

[dir=rtl] .mm-menu_offcanvas {
  /*left: unset;
  right: 0;*/
}

.mm-sronly {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  width: 1px !important;
  min-width: 1px !important;
  height: 1px !important;
  min-height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
}

.mm-menu_autoheight:not(.mm-menu_offcanvas) {
  position: relative;
}
.mm-menu_autoheight.mm-menu_position-top, .mm-menu_autoheight.mm-menu_position-bottom {
  max-height: 80%;
}
.mm-menu_autoheight-measuring .mm-panel {
  display: block !important;
}
.mm-menu_autoheight-measuring .mm-panels > .mm-panel {
  bottom: auto !important;
  height: auto !important;
}
.mm-menu_autoheight-measuring .mm-listitem_vertical:not(.mm-listitem_opened) .mm-panel {
  display: none !important;
}

[class*=mm-menu_columns-] {
  transition-property: width;
}
[class*=mm-menu_columns-] .mm-panels > .mm-panel {
  right: auto;
  transition-property: width, transform;
}
[class*=mm-menu_columns-] .mm-panels > .mm-panel_opened, [class*=mm-menu_columns-] .mm-panels > .mm-panel_opened-parent {
  display: block !important;
}

[class*=mm-panel_columns-] {
  border-right: 1px solid;
  border-color: inherit;
}

.mm-menu_columns-1 .mm-panel_columns-0,
.mm-menu_columns-2 .mm-panel_columns-1,
.mm-menu_columns-3 .mm-panel_columns-2,
.mm-menu_columns-4 .mm-panel_columns-3 {
  border-right: none;
}

[class*=mm-menu_columns-] .mm-panels > .mm-panel_columns-0 {
  transform: translate3d(0%, 0, 0);
}

.mm-menu_columns-0 .mm-panels > .mm-panel {
  z-index: 0;
}
.mm-menu_columns-0 .mm-panels > .mm-panel else {
  width: 100%;
}
.mm-menu_columns-0 .mm-panels > .mm-panel:not(.mm-panel_opened):not(.mm-panel_opened-parent) {
  transform: translate3d(100%, 0, 0);
}

.mm-menu_columns-0 {
  width: 80%;
  min-width: 240px;
  max-width: 0px;
}

.mm-wrapper_opening .mm-menu_columns-0.mm-menu_opened ~ .mm-slideout {
  transform: translate3d(80vw, 0, 0);
}

@media all and (max-width: 300px) {
  .mm-wrapper_opening .mm-menu_columns-0.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(240px, 0, 0);
  }
}
@media all and (min-width: 0px) {
  .mm-wrapper_opening .mm-menu_columns-0.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(0px, 0, 0);
  }
}
.mm-wrapper_opening .mm-menu_columns-0.mm-menu_position-right.mm-menu_opened ~ .mm-slideout {
  transform: translate3d(-80vw, 0, 0);
}

@media all and (max-width: 300px) {
  .mm-wrapper_opening .mm-menu_columns-0.mm-menu_position-right.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(-240px, 0, 0);
  }
}
@media all and (min-width: 0px) {
  .mm-wrapper_opening .mm-menu_columns-0.mm-menu_position-right.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(0px, 0, 0);
  }
}
[class*=mm-menu_columns-] .mm-panels > .mm-panel_columns-1 {
  transform: translate3d(100%, 0, 0);
}

.mm-menu_columns-1 .mm-panels > .mm-panel {
  z-index: 1;
  width: 100%;
}
.mm-menu_columns-1 .mm-panels > .mm-panel else {
  width: 100%;
}
.mm-menu_columns-1 .mm-panels > .mm-panel:not(.mm-panel_opened):not(.mm-panel_opened-parent) {
  transform: translate3d(200%, 0, 0);
}

.mm-menu_columns-1 {
  width: 80%;
  min-width: 240px;
  max-width: 440px;
}

.mm-wrapper_opening .mm-menu_columns-1.mm-menu_opened ~ .mm-slideout {
  transform: translate3d(80vw, 0, 0);
}

@media all and (max-width: 300px) {
  .mm-wrapper_opening .mm-menu_columns-1.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(240px, 0, 0);
  }
}
@media all and (min-width: 550px) {
  .mm-wrapper_opening .mm-menu_columns-1.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(440px, 0, 0);
  }
}
.mm-wrapper_opening .mm-menu_columns-1.mm-menu_position-right.mm-menu_opened ~ .mm-slideout {
  transform: translate3d(-80vw, 0, 0);
}

@media all and (max-width: 300px) {
  .mm-wrapper_opening .mm-menu_columns-1.mm-menu_position-right.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(-240px, 0, 0);
  }
}
@media all and (min-width: 550px) {
  .mm-wrapper_opening .mm-menu_columns-1.mm-menu_position-right.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(-440px, 0, 0);
  }
}
[class*=mm-menu_columns-] .mm-panels > .mm-panel_columns-2 {
  transform: translate3d(200%, 0, 0);
}

.mm-menu_columns-2 .mm-panels > .mm-panel {
  z-index: 2;
  width: 50%;
}
.mm-menu_columns-2 .mm-panels > .mm-panel else {
  width: 100%;
}
.mm-menu_columns-2 .mm-panels > .mm-panel:not(.mm-panel_opened):not(.mm-panel_opened-parent) {
  transform: translate3d(300%, 0, 0);
}

.mm-menu_columns-2 {
  width: 80%;
  min-width: 240px;
  max-width: 880px;
}

.mm-wrapper_opening .mm-menu_columns-2.mm-menu_opened ~ .mm-slideout {
  transform: translate3d(80vw, 0, 0);
}

@media all and (max-width: 300px) {
  .mm-wrapper_opening .mm-menu_columns-2.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(240px, 0, 0);
  }
}
@media all and (min-width: 1100px) {
  .mm-wrapper_opening .mm-menu_columns-2.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(880px, 0, 0);
  }
}
.mm-wrapper_opening .mm-menu_columns-2.mm-menu_position-right.mm-menu_opened ~ .mm-slideout {
  transform: translate3d(-80vw, 0, 0);
}

@media all and (max-width: 300px) {
  .mm-wrapper_opening .mm-menu_columns-2.mm-menu_position-right.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(-240px, 0, 0);
  }
}
@media all and (min-width: 1100px) {
  .mm-wrapper_opening .mm-menu_columns-2.mm-menu_position-right.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(-880px, 0, 0);
  }
}
[class*=mm-menu_columns-] .mm-panels > .mm-panel_columns-3 {
  transform: translate3d(300%, 0, 0);
}

.mm-menu_columns-3 .mm-panels > .mm-panel {
  z-index: 3;
  width: 33.34%;
}
.mm-menu_columns-3 .mm-panels > .mm-panel else {
  width: 100%;
}
.mm-menu_columns-3 .mm-panels > .mm-panel:not(.mm-panel_opened):not(.mm-panel_opened-parent) {
  transform: translate3d(400%, 0, 0);
}

.mm-menu_columns-3 {
  width: 80%;
  min-width: 240px;
  max-width: 1320px;
}

.mm-wrapper_opening .mm-menu_columns-3.mm-menu_opened ~ .mm-slideout {
  transform: translate3d(80vw, 0, 0);
}

@media all and (max-width: 300px) {
  .mm-wrapper_opening .mm-menu_columns-3.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(240px, 0, 0);
  }
}
@media all and (min-width: 1650px) {
  .mm-wrapper_opening .mm-menu_columns-3.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(1320px, 0, 0);
  }
}
.mm-wrapper_opening .mm-menu_columns-3.mm-menu_position-right.mm-menu_opened ~ .mm-slideout {
  transform: translate3d(-80vw, 0, 0);
}

@media all and (max-width: 300px) {
  .mm-wrapper_opening .mm-menu_columns-3.mm-menu_position-right.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(-240px, 0, 0);
  }
}
@media all and (min-width: 1650px) {
  .mm-wrapper_opening .mm-menu_columns-3.mm-menu_position-right.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(-1320px, 0, 0);
  }
}
[class*=mm-menu_columns-] .mm-panels > .mm-panel_columns-4 {
  transform: translate3d(400%, 0, 0);
}

.mm-menu_columns-4 .mm-panels > .mm-panel {
  z-index: 4;
  width: 25%;
}
.mm-menu_columns-4 .mm-panels > .mm-panel else {
  width: 100%;
}
.mm-menu_columns-4 .mm-panels > .mm-panel:not(.mm-panel_opened):not(.mm-panel_opened-parent) {
  transform: translate3d(500%, 0, 0);
}

.mm-menu_columns-4 {
  width: 80%;
  min-width: 240px;
  max-width: 1760px;
}

.mm-wrapper_opening .mm-menu_columns-4.mm-menu_opened ~ .mm-slideout {
  transform: translate3d(80vw, 0, 0);
}

@media all and (max-width: 300px) {
  .mm-wrapper_opening .mm-menu_columns-4.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(240px, 0, 0);
  }
}
@media all and (min-width: 2200px) {
  .mm-wrapper_opening .mm-menu_columns-4.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(1760px, 0, 0);
  }
}
.mm-wrapper_opening .mm-menu_columns-4.mm-menu_position-right.mm-menu_opened ~ .mm-slideout {
  transform: translate3d(-80vw, 0, 0);
}

@media all and (max-width: 300px) {
  .mm-wrapper_opening .mm-menu_columns-4.mm-menu_position-right.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(-240px, 0, 0);
  }
}
@media all and (min-width: 2200px) {
  .mm-wrapper_opening .mm-menu_columns-4.mm-menu_position-right.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(-1760px, 0, 0);
  }
}
[class*=mm-menu_columns-].mm-menu_position-bottom, [class*=mm-menu_columns-].mm-menu_position-top {
  width: 100%;
  max-width: 100%;
  min-width: 100%;
}

.mm-wrapper_opening [class*=mm-menu_columns-].mm-menu_position-front {
  transition-property: width, min-width, max-width, transform;
}

.mm-counter {
  color: rgba(0, 0, 0, 0.3);
  display: block;
  padding-left: 20px;
  float: right;
  text-align: right;
  color: var(--mm-color-text-dimmed);
}

.mm-listitem_nosubitems > .mm-counter {
  display: none;
}

[dir=rtl] .mm-counter {
  text-align: left;
  float: left;
  padding-left: 0;
  padding-right: 20px;
}

.mm-divider {
  position: relative;
  min-height: 20px;
  padding: 4.3px;
  background: #f3f3f3;
}
.mm-divider:before {
  background: rgba(0, 0, 0, 0.05);
}
.mm-divider {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
@supports (position: sticky) {
  .mm-divider {
    position: sticky;
    z-index: 2;
    top: 0;
  }
  .mm-navbar_sticky:not(.mm-hidden) ~ .mm-listview .mm-divider {
    top: var(--mm-navbar-size);
  }
}
.mm-divider {
  min-height: var(--mm-line-height);
  padding: calc((var(--mm-listitem-size) * 0.65 - var(--mm-line-height)) * 0.5);
  padding-right: 10px;
  padding-left: 20px;
  font-size: 75%;
  text-transform: uppercase;
  background: var(--mm-color-background);
  opacity: 1;
  transition: opacity 0.4s ease;
}
.mm-divider:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background: var(--mm-color-background-highlight);
}

.mm-wrapper_dragging .mm-menu,
.mm-wrapper_dragging .mm-slideout {
  transition-duration: 0s !important;
  user-select: none !important;
}
.mm-wrapper_dragging .mm-menu {
  pointer-events: none !important;
}
.mm-wrapper_dragging .mm-wrapper__blocker {
  display: none !important;
}

.mm-menu_dropdown {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
  height: 80%;
}

.mm-wrapper_dropdown .mm-slideout {
  transform: none !important;
  z-index: 0;
}
.mm-wrapper_dropdown .mm-wrapper__blocker {
  transition-delay: 0s !important;
  z-index: 1;
}
.mm-wrapper_dropdown .mm-menu_dropdown {
  z-index: 2;
}
.mm-wrapper_dropdown.mm-wrapper_opened:not(.mm-wrapper_opening) .mm-menu_dropdown {
  display: none;
}

.mm-menu_tip-left:before, .mm-menu_tip-right:before, .mm-menu_tip-top:before, .mm-menu_tip-bottom:before {
  content: "";
  background: inherit;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
  display: block;
  width: 15px;
  height: 15px;
  position: absolute;
  z-index: -1;
  transform: rotate(45deg);
}
.mm-menu_tip-left:before {
  left: 22px;
}
.mm-menu_tip-right:before {
  right: 22px;
}
.mm-menu_tip-top:before {
  top: -8px;
}
.mm-menu_tip-bottom:before {
  bottom: -8px;
}

:root {
  --mm-iconbar-size: 50px;
}

.mm-menu_iconbar-left .mm-panels,
.mm-menu_iconbar-left .mm-navbars_top,
.mm-menu_iconbar-left .mm-navbars_bottom {
  margin-left: 50px;
  margin-left: var(--mm-iconbar-size);
}
.mm-menu_iconbar-right .mm-panels,
.mm-menu_iconbar-right .mm-navbars_top,
.mm-menu_iconbar-right .mm-navbars_bottom {
  margin-right: 50px;
  margin-right: var(--mm-iconbar-size);
}

.mm-iconbar {
  width: 50px;
  border-color: rgba(0, 0, 0, 0.1);
  background: #f3f3f3;
  color: rgba(0, 0, 0, 0.3);
  display: none;
}
.mm-menu_iconbar-left .mm-iconbar, .mm-menu_iconbar-right .mm-iconbar {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.mm-menu_iconbar-left .mm-iconbar {
  border-right-width: 1px;
  left: 0;
}
.mm-menu_iconbar-right .mm-iconbar {
  border-left-width: 1px;
  right: 0;
}
.mm-iconbar {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 2;
  width: var(--mm-iconbar-size);
  overflow: hidden;
  box-sizing: border-box;
  border: 0 solid;
  border-color: var(--mm-color-border);
  background: var(--mm-color-background);
  color: var(--mm-color-text-dimmed);
  text-align: center;
}

.mm-iconbar__top,
.mm-iconbar__bottom {
  width: 100%;
  -webkit-overflow-scrolling: touch;
  overflow: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.mm-iconbar__top > *,
.mm-iconbar__bottom > * {
  box-sizing: border-box;
  display: block;
  padding: 12.5px 0;
}
.mm-iconbar__top a,
.mm-iconbar__top a:hover,
.mm-iconbar__bottom a,
.mm-iconbar__bottom a:hover {
  text-decoration: none;
}

.mm-iconbar__tab_selected {
  background: rgba(255, 255, 255, 0.4);
  background: var(--mm-color-background-emphasis);
}

:root {
  --mm-iconpanel-size: 50px;
}

.mm-panel_iconpanel-1 {
  width: calc(100% - 50px);
  width: calc(100% - var(--mm-iconpanel-size) * 1);
}

.mm-panel_iconpanel-2 {
  width: calc(100% - 100px);
  width: calc(100% - var(--mm-iconpanel-size) * 2);
}

.mm-panel_iconpanel-3 {
  width: calc(100% - 150px);
  width: calc(100% - var(--mm-iconpanel-size) * 3);
}

.mm-panel_iconpanel-first ~ .mm-panel {
  width: calc(100% - 50px);
  width: calc(100% - var(--mm-iconpanel-size));
}

.mm-menu_iconpanel .mm-panels > .mm-panel {
  left: auto;
  transition-property: transform, width;
}
.mm-menu_iconpanel .mm-panels > .mm-panel_opened, .mm-menu_iconpanel .mm-panels > .mm-panel_opened-parent {
  display: block !important;
}
.mm-menu_iconpanel .mm-panels > .mm-panel_opened-parent {
  overflow-y: hidden;
  transform: unset;
}
.mm-menu_iconpanel .mm-panels > .mm-panel:not(.mm-panel_iconpanel-first):not(.mm-panel_iconpanel-0) {
  border-left-width: 1px;
  border-left-style: solid;
}

.mm-menu_hidenavbar .mm-panel_opened-parent .mm-navbar,
.mm-menu_hidedivider .mm-panel_opened-parent .mm-divider {
  opacity: 0;
}

.mm-panel__blocker {
  background: inherit;
  opacity: 0;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 3;
  transition: opacity 0.4s ease;
}
.mm-panel_opened-parent .mm-panel__blocker {
  opacity: 0.6;
  bottom: -100000px;
}

[dir=rtl] .mm-menu_iconpanel .mm-panels > .mm-panel {
  left: 0;
  right: auto;
  transition-property: transform, width;
}
[dir=rtl] .mm-menu_iconpanel .mm-panels > .mm-panel:not(.mm-panel_iconpanel-first):not(.mm-panel_iconpanel-0) {
  border-left: none;
  border-right: 1px solid;
  border-color: inherit;
}

.mm-menu_keyboardfocus a:focus, .mm-menu_keyboardfocus.mm-menu_opened ~ .mm-wrapper__blocker a:focus {
  background: rgba(255, 255, 255, 0.4);
  background: var(--mm-color-background-emphasis);
  outline: none;
}

.mm-wrapper__blocker .mm-tabstart {
  cursor: default;
  display: block;
  width: 100%;
  height: 100%;
}
.mm-wrapper__blocker .mm-tabend {
  opacity: 0;
  position: absolute;
  bottom: 0;
}

.mm-navbars_top {
  flex-shrink: 0;
}
.mm-navbars_top .mm-navbar:not(:last-child) {
  border-bottom: none;
}

.mm-navbars_bottom {
  flex-shrink: 0;
}
.mm-navbars_bottom .mm-navbar {
  border-bottom: none;
}
.mm-navbars_bottom .mm-navbar:first-child {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  border-top: 1px solid var(--mm-color-border);
}

.mm-btn:not(.mm-hidden) + .mm-navbar__searchfield .mm-searchfield__input {
  padding-left: 0;
}
.mm-navbar__searchfield:not(:last-child) .mm-searchfield__input {
  padding-right: 0;
}

.mm-navbar__breadcrumbs {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  flex: 1 1 50%;
  display: flex;
  justify-content: flex-start;
  padding: 0 20px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.mm-navbar__breadcrumbs > * {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-right: 6px;
}
.mm-navbar__breadcrumbs > a {
  text-decoration: underline;
}
.mm-navbar__breadcrumbs:not(:last-child) {
  padding-right: 0;
}
.mm-btn:not(.mm-hidden) + .mm-navbar__breadcrumbs {
  padding-left: 0;
}

.mm-navbar_tabs > * {
  padding: 0 10px;
  border: 1px solid transparent;
}

.mm-navbar__tab_selected {
  background: #f3f3f3;
  color: rgba(0, 0, 0, 0.75);
}
.mm-navbar__tab_selected:not(:first-child) {
  border-left-color: rgba(0, 0, 0, 0.1);
}
.mm-navbar__tab_selected:not(:last-child) {
  border-right-color: rgba(0, 0, 0, 0.1);
}
.mm-navbar__tab_selected {
  background: var(--mm-color-background);
  color: var(--mm-color-text);
}
.mm-navbar__tab_selected:not(:first-child) {
  border-left-color: var(--mm-color-border);
}
.mm-navbar__tab_selected:not(:last-child) {
  border-right-color: var(--mm-color-border);
}

.mm-navbars_top .mm-navbar_tabs {
  border-bottom: none;
}
.mm-navbars_top .mm-navbar_tabs > * {
  border-bottom-color: rgba(0, 0, 0, 0.1);
  border-bottom-color: var(--mm-color-border);
}
.mm-navbars_top .mm-navbar__tab_selected {
  border-top-color: rgba(0, 0, 0, 0.1);
  border-top-color: var(--mm-color-border);
  border-bottom-color: transparent;
}
.mm-navbars_top.mm-navbars_has-tabs .mm-navbar {
  background: rgba(255, 255, 255, 0.4);
  background: var(--mm-color-background-emphasis);
}
.mm-navbars_top.mm-navbars_has-tabs .mm-navbar_tabs ~ .mm-navbar {
  background: #f3f3f3;
  background: var(--mm-color-background);
}

.mm-navbars_bottom .mm-navbar_tabs:first-child {
  border-top: none;
}
.mm-navbars_bottom .mm-navbar_tabs > * {
  border-top-color: rgba(0, 0, 0, 0.1);
  border-top-color: var(--mm-color-border);
}
.mm-navbars_bottom .mm-navbar__tab_selected {
  border-bottom-color: rgba(0, 0, 0, 0.1);
  border-bottom-color: var(--mm-color-border);
  border-top-color: transparent;
}
.mm-navbars_bottom.mm-navbars_has-tabs .mm-navbar {
  background: #f3f3f3;
  background: var(--mm-color-background);
}
.mm-navbars_bottom.mm-navbars_has-tabs .mm-navbar_tabs,
.mm-navbars_bottom.mm-navbars_has-tabs .mm-navbar_tabs ~ .mm-navbar {
  background: rgba(255, 255, 255, 0.4);
  background: var(--mm-color-background-emphasis);
}

.mm-searchfield {
  height: 44px;
}
.mm-searchfield input {
  height: 30.8px;
  line-height: 30.8px;
}
.mm-searchfield input, .mm-searchfield input:hover, .mm-searchfield input:focus {
  background: rgba(0, 0, 0, 0.05);
  color: rgba(0, 0, 0, 0.75);
}
.mm-searchfield {
  display: flex;
  flex-grow: 1;
  height: var(--mm-navbar-size);
  padding: 0;
  overflow: hidden;
}
.mm-searchfield input {
  display: block;
  width: 100%;
  max-width: 100%;
  height: calc(var(--mm-navbar-size) * 0.7);
  min-height: unset;
  max-height: unset;
  margin: 0;
  padding: 0 10px;
  box-sizing: border-box;
  border: none !important;
  border-radius: 4px;
  line-height: calc(var(--mm-navbar-size) * 0.7);
  box-shadow: none !important;
  outline: none !important;
  font: inherit;
  font-size: inherit;
}
.mm-searchfield input, .mm-searchfield input:hover, .mm-searchfield input:focus {
  background: var(--mm-color-background-highlight);
  color: var(--mm-color-text);
}
.mm-searchfield input::-ms-clear {
  display: none;
}

.mm-searchfield__input {
  display: flex;
  flex: 1;
  align-items: center;
  position: relative;
  width: 100%;
  max-width: 100%;
  padding: 0 10px;
  box-sizing: border-box;
}

.mm-panel__noresultsmsg {
  color: rgba(0, 0, 0, 0.3);
  padding: 50px 0;
  color: var(--mm-color-text-dimmed);
  text-align: center;
  font-size: 150%;
}

.mm-searchfield__btn {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
}

.mm-panel_search {
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  border-left: none !important;
}

.mm-searchfield__cancel {
  line-height: 44px;
  display: block;
  padding-right: 10px;
  margin-right: -100px;
  line-height: var(--mm-navbar-size);
  text-decoration: none;
  transition: margin 0.4s ease;
}

.mm-searchfield__cancel-active {
  margin-right: 0;
}

.mm-listitem_nosubitems > .mm-listitem__btn {
  display: none;
}
.mm-listitem_nosubitems > .mm-listitem__text {
  padding-right: 10px;
}

.mm-listitem_onlysubitems > .mm-listitem__text:not(.mm-listitem__btn) {
  z-index: -1;
  pointer-events: none;
}

.mm-sectionindexer {
  background: inherit;
  text-align: center;
  font-size: 12px;
  box-sizing: border-box;
  width: 20px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -20px;
  z-index: 5;
  transition: right 0.4s ease;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
}
.mm-sectionindexer a {
  color: rgba(0, 0, 0, 0.3);
  color: var(--mm-color-text-dimmed);
  line-height: 1;
  text-decoration: none;
  display: block;
}
.mm-sectionindexer ~ .mm-panel {
  padding-right: 0;
}
.mm-sectionindexer_active {
  right: 0;
}
.mm-sectionindexer_active ~ .mm-panel {
  padding-right: 20px;
}

.mm-menu_selected-hover .mm-listitem__text,
.mm-menu_selected-hover .mm-listitem__btn, .mm-menu_selected-parent .mm-listitem__text,
.mm-menu_selected-parent .mm-listitem__btn {
  transition: background-color 0.4s ease;
}
.mm-menu_selected-hover .mm-listview:hover > .mm-listitem_selected:not(:hover) > .mm-listitem__text {
  background: none;
}
.mm-menu_selected-hover .mm-listitem__text:hover,
.mm-menu_selected-hover .mm-listitem__btn:hover {
  background: rgba(255, 255, 255, 0.4);
  background: var(--mm-color-background-emphasis);
}
.mm-menu_selected-parent .mm-panel_opened-parent .mm-listitem:not(.mm-listitem_selected-parent) > .mm-listitem__text {
  background: none;
}
.mm-menu_selected-parent .mm-listitem_selected-parent > .mm-listitem__text,
.mm-menu_selected-parent .mm-listitem_selected-parent > .mm-listitem__btn {
  background: rgba(255, 255, 255, 0.4);
  background: var(--mm-color-background-emphasis);
}

:root {
  --mm-sidebar-collapsed-size: 50px;
  --mm-sidebar-expanded-size: 440px;
}

.mm-wrapper_sidebar-collapsed body, .mm-wrapper_sidebar-expanded body {
  position: relative;
}
.mm-wrapper_sidebar-collapsed .mm-slideout, .mm-wrapper_sidebar-expanded .mm-slideout {
  transition-property: width, transform;
}
.mm-wrapper_sidebar-collapsed .mm-page, .mm-wrapper_sidebar-expanded .mm-page {
  background: inherit;
  box-sizing: border-box;
  min-height: 100vh;
}
.mm-wrapper_sidebar-collapsed .mm-menu_sidebar-collapsed, .mm-wrapper_sidebar-expanded .mm-menu_sidebar-expanded {
  display: flex !important;
  top: 0 !important;
  right: auto !important;
  bottom: 0 !important;
  left: 0 !important;
}

.mm-wrapper_sidebar-collapsed .mm-slideout {
  width: calc(100% - 50px);
  transform: translate3d(50px, 0, 0);
  width: calc(100% - var(--mm-sidebar-collapsed-size));
  transform: translate3d(var(--mm-sidebar-collapsed-size), 0, 0);
}
.mm-wrapper_sidebar-collapsed:not(.mm-wrapper_opening) .mm-menu_hidenavbar .mm-navbar,
.mm-wrapper_sidebar-collapsed:not(.mm-wrapper_opening) .mm-menu_hidedivider .mm-divider {
  opacity: 0;
}

.mm-wrapper_sidebar-expanded .mm-menu_sidebar-expanded {
  width: 440px;
  width: var(--mm-sidebar-expanded-size);
  min-width: 0 !important;
  max-width: 100000px !important;
  border-right-width: 1px;
  border-right-style: solid;
}
.mm-wrapper_sidebar-expanded .mm-menu_sidebar-expanded.mm-menu_pageshadow:after {
  content: none;
  display: none;
}
.mm-wrapper_sidebar-expanded.mm-wrapper_blocking,
.mm-wrapper_sidebar-expanded.mm-wrapper_blocking body {
  overflow: visible;
}
.mm-wrapper_sidebar-expanded .mm-wrapper__blocker {
  display: none !important;
}
.mm-wrapper_sidebar-expanded:not(.mm-wrapper_sidebar-closed) .mm-menu_sidebar-expanded.mm-menu_opened ~ .mm-slideout {
  width: calc(100% - 440px);
  transform: translate3d(440px, 0, 0);
  width: calc(100% - var(--mm-sidebar-expanded-size));
  transform: translate3d(var(--mm-sidebar-expanded-size), 0, 0);
}

.mm-menu__blocker {
  background: rgba(3, 2, 1, 0);
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3;
}
.mm-menu_opened .mm-menu__blocker {
  display: none;
}

[dir=rtl].mm-wrapper_sidebar-collapsed .mm-slideout {
  transform: translate3d(0, 0, 0);
}

[dir=rtl].mm-wrapper_sidebar-expanded .mm-slideout {
  transform: translate3d(0, 0, 0);
}
[dir=rtl].mm-wrapper_sidebar-expanded:not(.mm-wrapper_sidebar-closed) .mm-menu_sidebar-expanded.mm-menu_opened ~ .mm-slideout {
  transform: translate3d(0, 0, 0);
}

input.mm-toggle {
  margin-top: 5px;
  background: rgba(0, 0, 0, 0.1);
}
input.mm-toggle:before {
  background: #f3f3f3;
}
input.mm-toggle {
  display: inline-block;
  min-width: 58px;
  width: 58px;
  height: 34px;
  margin: 0 10px;
  margin-top: calc((var(--mm-listitem-size) - 34px) / 2);
  border: none !important;
  background: var(--mm-color-border);
  border-radius: 34px;
  appearance: none !important;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
input.mm-toggle:before {
  content: "";
  display: block;
  width: 32px;
  height: 32px;
  margin: 1px;
  border-radius: 34px;
  background: var(--mm-color-background);
  transition: transform 0.2s ease;
}
input.mm-toggle:checked {
  background: #4bd963;
}
input.mm-toggle:checked:before {
  transform: translateX(24px);
}

input.mm-check {
  margin-top: 2px;
  appearance: none !important;
  border: none !important;
  background: none !important;
  cursor: pointer;
  display: inline-block;
  width: 40px;
  height: 40px;
  margin: 0 10px;
  margin-top: calc((var(--mm-listitem-size) - 40px) / 2);
}
input.mm-check:before {
  content: "";
  display: block;
  width: 40%;
  height: 20%;
  margin: 25% 0 0 20%;
  border-left: 3px solid;
  border-bottom: 3px solid;
  border-color: var(--mm-color-text);
  opacity: 0.3;
  transform: rotate(-45deg);
  transition: opacity 0.2s ease;
}
input.mm-check:checked:before {
  opacity: 1;
}

[dir=rtl] input.mm-toggle:checked ~ label.mm-toggle:before {
  float: left;
}

.mm-menu_border-none .mm-listitem:after {
  content: none;
}

.mm-menu_border-full .mm-listitem:after {
  left: 0 !important;
}

.mm-menu_fx-menu-slide {
  transition: transform 0.4s ease;
}

.mm-wrapper_opened .mm-menu_fx-menu-slide {
  transform: translate3d(-30%, 0, 0);
}

.mm-wrapper_opening .mm-menu_fx-menu-slide {
  transform: translate3d(0%, 0, 0);
}

.mm-wrapper_opened .mm-menu_fx-menu-slide.mm-menu_position-right {
  transform: translate3d(30%, 0, 0);
}

.mm-wrapper_opening .mm-menu_fx-menu-slide.mm-menu_position-right {
  transform: translate3d(0%, 0, 0);
}

.mm-menu_fx-panels-none .mm-panel,
.mm-panel_fx-none {
  transition-property: none;
}
.mm-menu_fx-panels-none .mm-panel.mm-panel_opened-parent,
.mm-panel_fx-none.mm-panel_opened-parent {
  transform: translate3d(0, 0, 0);
}

.mm-menu_fx-panels-slide-0 .mm-panel_opened-parent {
  transform: translate3d(0, 0, 0);
}

.mm-menu_fx-panels-slide-100 .mm-panel_opened-parent {
  transform: translate3d(-100%, 0, 0);
}

.mm-menu_fullscreen {
  width: 100%;
  min-width: 140px;
  max-width: 10000px;
}

.mm-wrapper_opening .mm-menu_fullscreen.mm-menu_opened ~ .mm-slideout {
  transform: translate3d(100vw, 0, 0);
}

@media all and (max-width: 140px) {
  .mm-wrapper_opening .mm-menu_fullscreen.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(140px, 0, 0);
  }
}
@media all and (min-width: 10000px) {
  .mm-wrapper_opening .mm-menu_fullscreen.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(10000px, 0, 0);
  }
}
.mm-wrapper_opening .mm-menu_fullscreen.mm-menu_position-right.mm-menu_opened ~ .mm-slideout {
  transform: translate3d(-100vw, 0, 0);
}

@media all and (max-width: 140px) {
  .mm-wrapper_opening .mm-menu_fullscreen.mm-menu_position-right.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(-140px, 0, 0);
  }
}
@media all and (min-width: 10000px) {
  .mm-wrapper_opening .mm-menu_fullscreen.mm-menu_position-right.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(-10000px, 0, 0);
  }
}
.mm-menu_fullscreen.mm-menu_position-top {
  height: 100vh;
  min-height: 140px;
  max-height: 10000px;
}

.mm-menu_fullscreen.mm-menu_position-bottom {
  height: 100vh;
  min-height: 140px;
  max-height: 10000px;
}

.mm-menu_listview-justify .mm-panels > .mm-panel {
  display: flex;
  flex-direction: column;
}
.mm-menu_listview-justify .mm-panels > .mm-panel:after {
  content: none;
  display: none;
}
.mm-menu_listview-justify .mm-panels > .mm-panel .mm-listview {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  height: 100%;
  margin-top: 0;
  margin-bottom: 0;
}
.mm-menu_listview-justify .mm-panels > .mm-panel .mm-listitem {
  flex: 1 0 auto;
  min-height: 50px; /* for Safari :( */
}
.mm-menu_listview-justify .mm-panels > .mm-panel .mm-listitem__text {
  box-sizing: border-box;
  flex: 1 0 auto;
  display: flex;
  align-items: center;
}

.mm-listview_inset {
  list-style: inside disc;
  width: 100%;
  padding: 0 30px 15px 30px;
  margin: 0;
}
.mm-listview_inset .mm-listitem {
  padding: 5px 0;
}

.mm-menu_multiline .mm-listitem__text {
  text-overflow: clip;
  white-space: normal;
}

[class*=mm-menu_pagedim].mm-menu_opened ~ .mm-wrapper__blocker {
  opacity: 0;
}

.mm-wrapper_opening [class*=mm-menu_pagedim].mm-menu_opened ~ .mm-wrapper__blocker {
  opacity: 0.3;
  transition: opacity 0.4s ease 0.4s;
}

.mm-menu_opened.mm-menu_pagedim ~ .mm-wrapper__blocker {
  background: inherit;
}
.mm-menu_opened.mm-menu_pagedim-black ~ .mm-wrapper__blocker {
  background: #000;
}
.mm-menu_opened.mm-menu_pagedim-white ~ .mm-wrapper__blocker {
  background: #fff;
}

.mm-menu_popup {
  transition: opacity 0.4s ease;
  opacity: 0;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
  height: 80%;
  min-height: 140px;
  max-height: 880px;
  top: 50%;
  left: 50%;
  bottom: auto;
  right: auto;
  z-index: 2;
  transform: translate3d(-50%, -50%, 0);
}
.mm-menu_popup.mm-menu_opened ~ .mm-slideout {
  transform: none !important;
  z-index: 0;
}
.mm-menu_popup.mm-menu_opened ~ .mm-wrapper__blocker {
  transition-delay: 0s !important;
  z-index: 1;
}
.mm-wrapper_opening .mm-menu_popup {
  opacity: 1;
}

.mm-menu_position-right {
  left: auto;
  right: 0;
}

.mm-wrapper_opening .mm-menu_position-right.mm-menu_opened ~ .mm-slideout {
  transform: translate3d(-80vw, 0, 0);
}

@media all and (max-width: 300px) {
  .mm-wrapper_opening .mm-menu_position-right.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(-240px, 0, 0);
  }
}
@media all and (min-width: 550px) {
  .mm-wrapper_opening .mm-menu_position-right.mm-menu_opened ~ .mm-slideout {
    transform: translate3d(-440px, 0, 0);
  }
}
.mm-menu_position-front, .mm-menu_position-top, .mm-menu_position-bottom {
  transition: transform 0.4s ease;
}
.mm-menu_position-front.mm-menu_opened, .mm-menu_position-top.mm-menu_opened, .mm-menu_position-bottom.mm-menu_opened {
  z-index: 2;
}
.mm-menu_position-front.mm-menu_opened ~ .mm-slideout, .mm-menu_position-top.mm-menu_opened ~ .mm-slideout, .mm-menu_position-bottom.mm-menu_opened ~ .mm-slideout {
  transform: none !important;
  z-index: 0;
}
.mm-menu_position-front.mm-menu_opened ~ .mm-wrapper__blocker, .mm-menu_position-top.mm-menu_opened ~ .mm-wrapper__blocker, .mm-menu_position-bottom.mm-menu_opened ~ .mm-wrapper__blocker {
  z-index: 1;
}

.mm-menu_position-front {
  transform: translate3d(-100%, 0, 0);
}
.mm-menu_position-front.mm-menu_position-right {
  transform: translate3d(100%, 0, 0);
}

.mm-menu_position-top, .mm-menu_position-bottom {
  width: 100%;
  min-width: 100%;
  max-width: 100%;
}

.mm-menu_position-top {
  transform: translate3d(0, -100%, 0);
}

.mm-menu_position-top {
  height: 80vh;
  min-height: 140px;
  max-height: 880px;
}

.mm-menu_position-bottom {
  transform: translate3d(0, 100%, 0);
  top: auto;
}

.mm-menu_position-bottom {
  height: 80vh;
  min-height: 140px;
  max-height: 880px;
}

.mm-wrapper_opening .mm-menu_position-front, .mm-wrapper_opening .mm-menu_position-top, .mm-wrapper_opening .mm-menu_position-bottom {
  transform: translate3d(0, 0, 0);
}

.mm-menu_shadow-page:after {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  content: "";
  display: block;
  width: 20px;
  height: 120%;
  position: absolute;
  left: 100%;
  top: -10%;
  z-index: 100;
  clip-path: polygon(-20px 0, 0 0, 0 100%, -20px 100%);
  box-shadow: var(--mm-shadow);
}
.mm-menu_shadow-page.mm-menu_position-right:after {
  left: auto;
  right: 100%;
  clip-path: polygon(20px 0, 40px 0, 40px 100%, 20px 100%);
}
.mm-menu_shadow-page.mm-menu_position-front:after {
  content: none;
  display: none;
}

.mm-menu_shadow-menu {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  box-shadow: var(--mm-shadow);
}

.mm-menu_shadow-panels .mm-panels > .mm-panel {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  box-shadow: var(--mm-shadow);
}

.mm-menu_theme-white {
  --mm-color-border: rgba( 0,0,0, 0.1 );
  --mm-color-button: rgba( 0,0,0, 0.3 );
  --mm-color-text: rgba( 0,0,0, 0.7 );
  --mm-color-text-dimmed: rgba( 0,0,0, 0.3 );
  --mm-color-background: #fff;
  --mm-color-background-highlight: rgba( 0,0,0, 0.06 );
  --mm-color-background-emphasis: rgba( 0,0,0, 0.03 );
  --mm-shadow: 0 0 10px rgba( 0,0,0, 0.2 );
}

.mm-menu_theme-dark {
  --mm-color-border: rgba( 0,0,0, 0.3 );
  --mm-color-button: rgba( 255,255,255, 0.4 );
  --mm-color-text: rgba( 255,255,255, 0.85 );
  --mm-color-text-dimmed: rgba( 255,255,255, 0.4 );
  --mm-color-background: #333;
  --mm-color-background-highlight: rgba( 255,255,255, 0.08 );
  --mm-color-background-emphasis: rgba( 0,0,0, 0.1 );
  --mm-shadow: 0 0 20px rgba( 0,0,0, 0.5 );
}

.mm-menu_theme-black {
  --mm-color-border: rgba( 255,255,255, 0.25 );
  --mm-color-button: rgba( 255,255,255, 0.4 );
  --mm-color-text: rgba( 255,255,255, 0.75 );
  --mm-color-text-dimmed: rgba( 255,255,255, 0.4 );
  --mm-color-background: #000;
  --mm-color-background-highlight: rgba( 255,255,255, 0.2 );
  --mm-color-background-emphasis: rgba( 255,255,255, 0.15 );
  --mm-shadow: none ;
}

body.modal-open .mm-slideout {
  z-index: unset;
}

/* THEME ***********************************************************/
.btn {
  font-size: 1.1875rem;
  font-weight: 100;
  line-height: 1.8125rem;
  padding: 0.75rem 2.5rem;
  border-radius: 0;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
}

.btn-gray {
  color: #fff;
  background-color: #808080;
  border-color: #808080;
}
.btn-gray:hover {
  color: #808080;
  background-color: #fff;
  border-color: #808080;
}
.btn-check:focus + .btn-gray, .btn-gray:focus {
  color: #808080;
  background-color: #fff;
  border-color: #808080;
  box-shadow: 0 0 0 0.25rem rgba(147.05, 147.05, 147.05, 0.5);
}
.btn-check:checked + .btn-gray, .btn-check:active + .btn-gray, .btn-gray:active, .btn-gray.active, .show > .btn-gray.dropdown-toggle {
  color: #fff;
  background-color: rgb(102.4, 102.4, 102.4);
  border-color: #606060;
}
.btn-check:checked + .btn-gray:focus, .btn-check:active + .btn-gray:focus, .btn-gray:active:focus, .btn-gray.active:focus, .show > .btn-gray.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(147.05, 147.05, 147.05, 0.5);
}
.btn-gray:disabled, .btn-gray.disabled {
  color: #000;
  background-color: #808080;
  border-color: #808080;
}

.btn-purple {
  color: #2C262D;
  background-color: #BFC0EE;
  border-color: #BFC0EE;
}
.btn-purple:hover {
  color: #BFC0EE;
  background-color: #2C262D;
  border-color: #BFC0EE;
}
.btn-check:focus + .btn-purple, .btn-purple:focus {
  color: #BFC0EE;
  background-color: #2C262D;
  border-color: #BFC0EE;
  box-shadow: 0 0 0 0.25rem rgba(168.95, 168.9, 209.05, 0.5);
}
.btn-check:checked + .btn-purple, .btn-check:active + .btn-purple, .btn-purple:active, .btn-purple.active, .show > .btn-purple.dropdown-toggle {
  color: #000;
  background-color: rgb(203.8, 204.6, 241.4);
  border-color: rgb(197.4, 198.3, 239.7);
}
.btn-check:checked + .btn-purple:focus, .btn-check:active + .btn-purple:focus, .btn-purple:active:focus, .btn-purple.active:focus, .show > .btn-purple.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgba(168.95, 168.9, 209.05, 0.5);
}
.btn-purple:disabled, .btn-purple.disabled {
  color: #000;
  background-color: #BFC0EE;
  border-color: #BFC0EE;
}

.table {
  border: 1px solid #2C262D;
  border-collapse: collapse;
}
.table > :not(:first-child) {
  border-top: 0;
}
.table__cell:nth-child(2) {
  border-left: 1px solid #2C262D;
}
.table__cell:nth-child(3) {
  border-inline: 1px solid #2C262D;
}
.table__cell--center {
  vertical-align: middle;
}
.table__head {
  background: #8BC540;
}
.table__head .table__heading {
  color: #fff;
}
.table__body .table__heading {
  background: rgba(139, 197, 64, 0.4);
}
.table__row {
  border-color: #2C262D;
}
.table__list {
  list-style-type: none;
  padding-left: 0;
}
.table__list li + li {
  margin-top: 1rem;
}
.table__text--green {
  font-weight: bold;
  text-align: center;
  color: #8BC540;
  font-size: 2.5rem;
}

.mm-menu__toggle {
  --mb-bar-height: 3px;
  --mb-bar-spacing: 7px;
  --mb-bar-width: 1;
  --mb-button-size: 26px;
  z-index: 99;
  outline: none;
}
.mm-menu__toggle b {
  background-color: #fff;
}
.mm-menu_position-bottom {
  height: calc(100% - 119px);
}
@media (min-width: 992px) {
  .mm-menu_position-bottom {
    height: calc(100% - 118px);
  }
}
.mm-listitem .btn {
  margin: 0.75rem 1.5rem;
}
.mm-listitem__text {
  padding-left: 1.5rem;
}
.mm-listitem__btn {
  padding-right: 75px;
}
.mm-listitem__btn::after {
  right: 2.125rem;
}
.mm-listitem_opened .mm-listitem__btn::after {
  left: 1.5rem;
}
.mm-panels > .mm-panel > .mm-listview > .mm-listitem::after {
  left: 0;
}
.mm-panels > .mm-panel > .mm-listview > .mm-listitem > .mm-listitem__text {
  color: #2C262D;
  font-size: 1.125rem;
}
.mm-panels > .mm-panel > .mm-listview > .mm-listitem .mm-listview > .mm-listitem > .mm-listitem__text {
  color: #2C262D;
  font-size: 1rem;
}
@media (max-width: 782px) {
  .admin-bar .mm-menu_position-bottom {
    height: calc(100% - (119px + 46px));
  }
}
@media (min-width: 783px) {
  .admin-bar .mm-menu_position-bottom {
    height: calc(100% - (119px + 32px));
  }
}
@media (min-width: 992px) {
  .admin-bar .mm-menu_position-bottom {
    height: calc(100% - (118px + 32px));
  }
}

.component--boutique .boutique__logo {
  position: absolute;
  top: -9.375rem;
  left: 50%;
  transform: translateX(-50%);
}
.component--boutique .boutique__logo img {
  max-width: 13.375rem;
  height: auto;
  position: relative;
  z-index: 10;
}
.component--boutique .boutique__logo:after {
  content: "";
  position: absolute;
  background-color: #2C262D;
  width: 23rem;
  height: 4.6875rem;
  clip-path: polygon(20% 0%, 80% 0%, 100% 100%, 0% 100%);
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9;
}

.component--content_image p {
  letter-spacing: -0.08px;
}

@media (min-width: 992px) {
  .component--content_offset_images {
    margin-top: 6.25rem;
  }
}
@media (min-width: 1200px) {
  .component--content_offset_images {
    margin-top: 9.375rem;
  }
}
@media (min-width: 1400px) {
  .component--content_offset_images {
    margin-top: 12.5rem;
  }
}
.component--content_offset_images .content {
  padding: 3.125rem 0;
}
@media (min-width: 1200px) {
  .component--content_offset_images .content {
    padding: 14.625rem 0;
  }
}
@media (min-width: 992px) {
  .component--content_offset_images .image--primary {
    transform: translateY(175px);
  }
}
@media (min-width: 992px) {
  .component--content_offset_images .image--secondary {
    z-index: 999;
    position: absolute;
    top: -6.25rem;
    left: 100px;
  }
}
@media (min-width: 1200px) {
  .component--content_offset_images .image--secondary {
    top: -9.375rem;
    left: 60px;
  }
}
@media (min-width: 1400px) {
  .component--content_offset_images .image--secondary {
    top: -12.5rem;
  }
}
.component--content_offset_images .block--image {
  text-align: center;
}
@media (min-width: 992px) {
  .component--content_offset_images .block--image {
    text-align: left;
  }
}

.component--lawyers {
  overflow: hidden;
}
.component--lawyers .row--lawyers {
  margin-bottom: -2.5rem;
}
@media (min-width: 992px) {
  .component--lawyers .row--lawyers {
    margin-bottom: -12rem;
  }
}
.component--lawyers .col-12 {
  margin-bottom: 2.5rem;
}
@media (min-width: 992px) {
  .component--lawyers .col-12 {
    margin-bottom: 12rem;
  }
}
.component--lawyers .lawyer {
  position: relative;
  border: 6px solid #8BC540;
  z-index: 10;
  max-width: 327px;
  height: 100%;
  margin: 0 auto;
}
.component--lawyers .lawyer a {
  height: 100%;
  display: block;
}
.component--lawyers .lawyer a:active .lawyer__subtitle, .component--lawyers .lawyer a:hover .lawyer__subtitle, .component--lawyers .lawyer a:focus .lawyer__subtitle {
  color: #fff;
}
.component--lawyers .lawyer a:active .lawyer__link, .component--lawyers .lawyer a:hover .lawyer__link, .component--lawyers .lawyer a:focus .lawyer__link {
  display: block;
}
.component--lawyers .lawyer__thumbnail {
  height: 100%;
  display: block;
}
@media (min-width: 992px) {
  .component--lawyers .lawyer__thumbnail {
    aspect-ratio: 0.51;
  }
}
.component--lawyers .lawyer__thumbnail img {
  object-fit: center;
  object-fit: cover;
  height: 100%;
  width: 100%;
}
.component--lawyers .lawyer__details {
  position: absolute;
  bottom: 0;
  width: 100%;
  text-align: center;
  background-color: rgba(44, 38, 45, 0.8);
  padding: 0.875rem 0.5rem;
}
.component--lawyers .lawyer__title, .component--lawyers .lawyer__subtitle {
  color: #fff;
}
.component--lawyers .lawyer__subtitle {
  font-weight: 100;
  font-size: 0.875rem;
  line-height: 1.375rem;
}
.component--lawyers .lawyer__link {
  position: absolute;
  padding: 0.5625rem;
  bottom: 0.8125rem;
  right: 0.5rem;
  border: 1px solid #fff;
  border-radius: 50%;
  transition: all 0.2s ease-in-out;
  display: none;
}
.component--lawyers .lawyer__link img {
  width: 0.8125rem;
  height: 0.8125rem;
  display: block;
}
.component--lawyers .lawyer__divider {
  position: relative;
}
.component--lawyers .lawyer__divider:after {
  content: "";
  position: absolute;
  left: 0;
  width: 150vw;
  background-color: #2C262D;
  z-index: 9;
  transform: translateX(-50vw);
}
.component--lawyers .lawyer__divider:nth-child(3n+1):after {
  top: 0;
  height: 454px;
}
.component--lawyers .lawyer__divider:nth-child(3n+2):after {
  bottom: -700px;
  height: 568px;
}
.component--lawyers .lawyer__divider:nth-child(3n+3):after {
  bottom: -535px;
  height: 216px;
}

.component--services .service__disc {
  max-width: 17.5rem;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
  text-align: center;
  text-decoration: none;
  background-color: #2C262D;
  aspect-ratio: 1/1;
  width: 100%;
}
@media (max-width: 767.98px) {
  .component--services .service__disc {
    max-width: 300px;
  }
}
.component--services .service__disc:hover, .component--services .service__disc:active, .component--services .service__disc:focus {
  color: #fff;
  background: linear-gradient(180deg, #808080 0%, #B3B3B3 25%, #E6E6E6 50%, #B3B3B3 75%, #808080 100%);
}
.component--services .service__disc:hover .service__title, .component--services .service__disc:active .service__title, .component--services .service__disc:focus .service__title {
  color: #2C262D;
}
.component--services .service__disc:hover .service__thumbnail img, .component--services .service__disc:active .service__thumbnail img, .component--services .service__disc:focus .service__thumbnail img {
  max-width: 7.1875rem;
  max-height: 100%;
}
.component--services .service__thumbnail {
  margin-top: 3.3125rem;
  width: 7.8125rem;
  height: 8.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.component--services .service__thumbnail img {
  width: auto;
  height: auto;
  max-width: 6.875rem;
  max-height: 90%;
}
@media (min-width: 1400px) {
  .component--services .service__thumbnail {
    margin-top: 2.5rem;
  }
}
.component--services .service__title {
  color: #8BC540;
  font-size: 1.75rem;
  padding: 0 1rem;
  margin-bottom: 0;
  max-width: 14.625rem;
}
@media (max-width: 1399.98px) {
  .component--services .service__title {
    padding: 0 0.625rem;
    font-size: 1.5rem;
  }
}
@media (max-width: 1199.98px) {
  .component--services .service__title {
    font-size: 1.5625rem;
  }
}
.component--services .service__description {
  display: none;
}

.staff {
  height: 100%;
  position: relative;
  display: block;
  width: 100%;
  padding: 1.25rem;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  border-width: 2px;
  border-style: solid;
}
.single-lawyers .staff {
  min-width: 214px;
}
.staff__name {
  color: #8BC540 !important;
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.875rem;
  margin-bottom: 0.3125rem;
}
.staff__position {
  color: currentColor;
}
.staff__linktext {
  color: #8BC540;
  font-weight: 400;
}
.staff--light {
  border-color: #757575;
  color: #2C262D;
}
.staff--light:active, .staff--light:hover, .staff--light:focus {
  color: #fff;
  background-color: #2C262D;
  border-color: #2C262D;
}
.staff--dark {
  border-color: #2C262D;
  background-color: #2C262D;
  color: #fff;
}
.staff--dark:active, .staff--dark:hover, .staff--dark:focus {
  color: #2C262D;
  background-color: #fff;
  border-color: #757575;
}
.staff--dark:active .staff__position, .staff--dark:hover .staff__position, .staff--dark:focus .staff__position {
  color: #2C262D;
}

.resource-tile {
  color: #757575 !important;
  display: block;
  line-height: 1.2;
  padding: 1.375rem;
  text-decoration: unset;
}
.resource-tile__flex {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.resource-tile__title, .resource-tile__more {
  display: block;
}
.resource-tile__title {
  display: block;
  font-weight: 400;
  margin-bottom: 1.375rem;
}
.resource-tile__more {
  margin-top: auto;
}
.resource-tile__more svg {
  margin-left: 1.375rem;
}
.resource-tile--green {
  background-color: rgba(139, 197, 64, 0.6);
}
.resource-tile--green:hover {
  background-color: rgba(139, 197, 64, 0.45);
}
.resource-tile--purple {
  background-color: rgba(191, 192, 238, 0.6);
}
.resource-tile--purple:hover {
  background-color: rgba(191, 192, 238, 0.45);
}

#gform_1 .gfield_label {
  font-size: 1.625rem;
  line-height: 1.875rem;
  font-weight: 100;
}
#gform_1 .gfield_error .gfield_label {
  color: #fff;
}
#gform_1 .gfield_required {
  display: none;
}
#gform_1 .gform_footer {
  text-align: center;
  margin: 1rem 0 0;
  padding: 0;
}

#gform_confirmation_wrapper_1 {
  background-color: #fff;
  color: #808080;
  text-align: center;
}

.footer {
  background-color: #2C262D;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #fff;
}
@media (min-width: 768px) {
  .footer {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }
}
.footer__contact-detail {
  font-size: 1rem;
  line-height: 1.25rem;
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
  font-weight: 100;
}
@media (min-width: 768px) {
  .footer__contact-detail {
    font-size: 1.125rem;
    line-height: 1.375rem;
  }
}
.footer__contact-detail a {
  margin-right: 0.625rem;
  color: #fff;
  transition: all 0.2s ease-in-out;
  text-decoration: none;
}
.footer__contact-detail a:hover, .footer__contact-detail a:active, .footer__contact-detail a:focus {
  color: #8BC540;
}
@media (min-width: 768px) {
  .footer__contact-detail a {
    margin-right: 1.75rem;
  }
}
.footer__contact-detail:last-child a {
  margin-right: 0;
}
.footer__social-menu {
  margin-bottom: 1.125rem;
}
.footer__social-menu a {
  display: inline-block;
  line-height: 0.9375rem;
  margin-right: 1.25rem;
}
.footer__social-menu a:last-child {
  margin-right: 0;
}
.footer__social-menu a:hover svg path, .footer__social-menu a:active svg path, .footer__social-menu a:focus svg path {
  fill: #8BC540;
}
.footer__copyright p {
  margin-bottom: 0;
  font-size: 0.875rem;
  line-height: 1.125rem;
}

.news-events {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  text-align: center;
  text-decoration: none;
  background-color: #808080;
}
.news-events__title {
  padding: 1.25rem;
  margin: auto;
}
.news-events__thumbnail {
  margin-bottom: 0;
  aspect-ratio: 1/1;
}
.news-events__thumbnail img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
.news-events__link {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -1.75rem;
  background-color: #8BC540;
  max-width: 100%;
  width: 11.25rem;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
.news-events__link span {
  color: #fff;
  font-size: 1.25rem;
  line-height: 2.5rem;
  font-weight: lighter;
  text-decoration: none;
}
.news-events__link span::after {
  content: url("/wp-content/themes/gvelaw/dist/images//icons/arrow-right-bold.svg");
  filter: brightness(11);
  left: 10px;
  top: 2px;
  position: relative;
}
.news-events:hover .news-events__link, .news-events:focus .news-events__link, .news-events:active .news-events__link {
  background-color: rgb(131.2373493976, 188.4686746988, 57.2313253012);
}

#services-modal .modal-content {
  border: 0;
  padding: 4.375rem 1.875rem 1.875rem;
  background: linear-gradient(180deg, #2C262D 60%, #fff 40%);
}
@media (min-width: 992px) {
  #services-modal .modal-content {
    padding: 4.625rem 4.375rem;
  }
}
#services-modal .modal-body {
  width: 100%;
  max-width: 957px;
  margin: 0 auto;
  background-color: #BFC0EE;
  color: #2C262D;
  padding: 1.875rem;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.21);
}
@media (min-width: 992px) {
  #services-modal .modal-body {
    padding: 7.1875rem 8.75rem 3.125rem;
  }
}
#services-modal .modal-title {
  font-weight: 500;
  color: #2C262D;
  margin-bottom: 1.25rem;
  line-height: initial;
}
#services-modal .btn-close {
  position: absolute;
  right: 1.875rem;
  top: 2.125rem;
  padding: 0;
  background: none;
  opacity: 1;
}
#services-modal .btn-close::after {
  display: inline-block;
  content: "×";
  color: #BFC0EE;
  font-weight: 100;
  font-size: 2.625rem;
  line-height: 1.6875rem;
}

.modal-animate {
  position: relative;
  animation: modalanimate 0.25s;
}

@keyframes modalanimate {
  from {
    bottom: -100%;
  }
  to {
    bottom: 0;
  }
}
.single-lawyer .lawyer__detail {
  margin-bottom: 1.875rem;
}
@media (min-width: 768px) {
  .single-lawyer .lawyer__detail {
    margin-bottom: 3.125rem;
  }
}
.single-lawyer .lawyer__detail > h3 {
  border-bottom: 2px solid #8BC540;
  margin-bottom: 0.875rem;
  padding-bottom: 0.3125rem;
  font-weight: 400;
  color: #808080;
}
.single-lawyer .lawyer__detail p {
  font-weight: 100;
  margin-bottom: 0;
}

body.single-resource .resource-content {
  font-size: 1.125rem;
}
body.single-resource .resource-content h2, body.single-resource .resource-content .h2 {
  color: #8BC540;
  font-size: 1.25rem;
  line-height: 2;
}
body.single-resource .resource-content h3, body.single-resource .resource-content .h3 {
  color: inherit;
  font-size: 1.125rem;
  font-weight: 400;
}
body.single-resource .resource-content__disclaimer {
  color: #8BC540;
  font-size: 1.25rem;
  line-height: 2;
}

.single-news-event .section--content p:first-child:first-letter {
  font-size: 13.25rem;
  line-height: 11.25rem;
  color: #8BC540;
  font-weight: normal;
  float: left;
  padding-right: 1.25rem;
}
@media (max-width: 767.98px) {
  .single-news-event .section--content p:first-child:first-letter {
    font-size: 7.5625rem;
    line-height: 6.25rem;
  }
}
.single-news-event .section--content p:first-child {
  float: right;
}
.single-news-event .section--content .lead {
  font-size: 1.375rem;
  line-height: 2.5rem;
  font-weight: normal;
}
.single-news-event .section--content p:last-child {
  margin-bottom: 0;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJlbG93LWZvbGQuc2NzcyIsIl92YXJpYWJsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdGFibGVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS12YXJpYW50cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHJhbnNpdGlvbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmVuZG9yL19yZnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JhZGdlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Byb2dyZXNzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2xpc3QtZ3JvdXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3QtZ3JvdXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2xvc2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdG9hc3RzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21vZGFsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWNrZHJvcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b29sdGlwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BvcG92ZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2Fyb3VzZWwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3NwaW5uZXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX29mZmNhbnZhcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wbGFjZWhvbGRlcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvbW1lbnUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvY29yZS9vbmNhbnZhcy9tbWVudS5vbmNhbnZhcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9jb3JlL29uY2FudmFzL19vbmNhbnZhcy5tZW51LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvY29yZS9vbmNhbnZhcy9fb25jYW52YXMubWVudS5ydGwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvY29yZS9vbmNhbnZhcy9fb25jYW52YXMucGFuZWxzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2NvcmUvb25jYW52YXMvX29uY2FudmFzLnBhbmVscy5ydGwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvY29yZS9vbmNhbnZhcy9fb25jYW52YXMudmVydGljYWwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvY29yZS9vbmNhbnZhcy9fb25jYW52YXMuYnV0dG9ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9fbWl4aW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2NvcmUvb25jYW52YXMvX29uY2FudmFzLmJ1dHRvbnMucnRsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2NvcmUvb25jYW52YXMvX29uY2FudmFzLm5hdmJhci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9jb3JlL29uY2FudmFzL19vbmNhbnZhcy5uYXZiYXIucnRsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2NvcmUvb25jYW52YXMvX29uY2FudmFzLmxpc3R2aWV3cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9jb3JlL29uY2FudmFzL19vbmNhbnZhcy5saXN0dmlld3MucnRsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2NvcmUvb2ZmY2FudmFzL21tZW51Lm9mZmNhbnZhcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9jb3JlL29mZmNhbnZhcy9fb2ZmY2FudmFzLnJ0bC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9jb3JlL3NjcmVlbnJlYWRlci9tbWVudS5zY3JlZW5yZWFkZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvYWRkb25zL2F1dG9oZWlnaHQvbW1lbnUuYXV0b2hlaWdodC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9hZGRvbnMvY29sdW1ucy9tbWVudS5jb2x1bW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2FkZG9ucy9jb3VudGVycy9tbWVudS5jb3VudGVycy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9hZGRvbnMvY291bnRlcnMvX2NvdW50ZXJzLnJ0bC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9hZGRvbnMvZGl2aWRlcnMvbW1lbnUuZGl2aWRlcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvYWRkb25zL2RyYWcvbW1lbnUuZHJhZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9hZGRvbnMvZHJvcGRvd24vbW1lbnUuZHJvcGRvd24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvYWRkb25zL2ljb25iYXIvbW1lbnUuaWNvbmJhci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9hZGRvbnMvaWNvbnBhbmVscy9tbWVudS5pY29ucGFuZWxzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2FkZG9ucy9pY29ucGFuZWxzL19pY29ucGFuZWxzLnJ0bC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9hZGRvbnMva2V5Ym9hcmRuYXZpZ2F0aW9uL21tZW51LmtleWJvYXJkbmF2aWdhdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9hZGRvbnMvbmF2YmFycy9tbWVudS5uYXZiYXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2FkZG9ucy9uYXZiYXJzL19uYXZiYXIuc2VhcmNoZmllbGQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvYWRkb25zL25hdmJhcnMvX25hdmJhci5icmVhZGNydW1icy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9hZGRvbnMvbmF2YmFycy9fbmF2YmFyLnRhYnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvYWRkb25zL3NlYXJjaGZpZWxkL21tZW51LnNlYXJjaGZpZWxkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2FkZG9ucy9zZWN0aW9uaW5kZXhlci9tbWVudS5zZWN0aW9uaW5kZXhlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9hZGRvbnMvc2V0c2VsZWN0ZWQvbW1lbnUuc2V0c2VsZWN0ZWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvYWRkb25zL3NpZGViYXIvbW1lbnUuc2lkZWJhci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9hZGRvbnMvc2lkZWJhci9fc2lkZWJhci5ydGwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvYWRkb25zL3RvZ2dsZXMvbW1lbnUudG9nZ2xlcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9hZGRvbnMvdG9nZ2xlcy9fdG9nZ2xlcy5ydGwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvZXh0ZW5zaW9ucy9ib3JkZXJzdHlsZS9tbWVudS5ib3JkZXJzdHlsZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9leHRlbnNpb25zL2VmZmVjdHMvbW1lbnUuZWZmZWN0cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9leHRlbnNpb25zL2xpc3R2aWV3L21tZW51Lmxpc3R2aWV3LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2V4dGVuc2lvbnMvbXVsdGlsaW5lL21tZW51Lm11bHRpbGluZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9leHRlbnNpb25zL3BhZ2VkaW0vbW1lbnUucGFnZWRpbS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21tZW51LWpzL3NyYy9leHRlbnNpb25zL3BvcHVwL21tZW51LnBvcHVwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL2V4dGVuc2lvbnMvcG9zaXRpb25pbmcvbW1lbnUucG9zaXRpb25pbmcuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvZXh0ZW5zaW9ucy9zaGFkb3dzL21tZW51LnNoYWRvd3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tbWVudS1qcy9zcmMvZXh0ZW5zaW9ucy90aGVtZXMvbW1lbnUudGhlbWVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW1lbnUtanMvc3JjL3dyYXBwZXJzL2Jvb3RzdHJhcC9tbWVudS5ib290c3RyYXAuc2NzcyIsIl9idXR0b25zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCJfdGFibGVzLnNjc3MiLCJwYXJ0aWFscy9tZW51cy9fbW9iaWxlLnNjc3MiLCJwYXJ0aWFscy9jb21wb25lbnRzL19ib3V0aXF1ZS5zY3NzIiwicGFydGlhbHMvY29tcG9uZW50cy9fY29udGVudF9pbWFnZS5zY3NzIiwicGFydGlhbHMvY29tcG9uZW50cy9fY29udGVudF9vZmZzZXRfaW1hZ2VzLnNjc3MiLCJwYXJ0aWFscy9jb21wb25lbnRzL19sYXd5ZXJzLnNjc3MiLCJwYXJ0aWFscy9jb21wb25lbnRzL19zZXJ2aWNlcy5zY3NzIiwicGFydGlhbHMvcG9zdC9fc3RhZmYuc2NzcyIsInBhcnRpYWxzL3Jlc291cmNlcy9fdGlsZS5zY3NzIiwicGFydGlhbHMvZm9ybXMvX2JvdXRpcXVlLnNjc3MiLCJwYXJ0aWFscy9fZm9vdGVyLnNjc3MiLCJwYXJ0aWFscy9faW5kZXguc2NzcyIsInBhcnRpYWxzL19tb2RhbHMuc2NzcyIsIl9zaW5nbGUtbGF3eWVyLnNjc3MiLCJfc2luZ2xlLXJlc291cmNlLnNjc3MiLCJfc2luZ2xlLW5ld3MtZXZlbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7QUFJQTtBQ0pBO0FBNkJBO0FEbkJBO0FFTkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQSxlRHNZTztFQ3JZUCxPRFdXO0VDVlgsZ0JEaXNCNEI7RUNoc0I1QixjRHdCUzs7QUNqQlQ7RUFDRTtFQUNBO0VBQ0EscUJEd2dCMEI7RUN2Z0IxQjs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBSUY7RUFDRTs7O0FBU0o7RUFDRTs7O0FBVUE7RUFDRTs7O0FBZUY7RUFDRTs7QUFHQTtFQUNFOzs7QUFPSjtFQUNFOztBQUdGO0VBQ0U7OztBQVNGO0VBQ0U7RUFDQTs7O0FBUUo7RUFDRTtFQUNBOzs7QUFRQTtFQUNFO0VBQ0E7OztBQzVIRjtFQU1FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUEsT0FiUTtFQWNSOzs7QUFmRjtFQU1FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUEsT0FiUTtFQWNSOzs7QUFmRjtFQU1F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QlE7OztBSUZOO0VBQ0UsT1R3eENzQztFU3Z4Q3RDLGtCVHN4Q3NDO0VTcnhDdEM7O0FBRUE7RUFDRTtFQUNBLFdUMnhDb0M7O0FTdHhDeEM7RUFDRTtFQUNBLE9UZ3hDc0M7RVMvd0N0QyxRVCt3Q3NDO0VTOXdDdEM7RUFDQTtFQUNBO0VBQ0E7RUFDQSxpQlQwd0NzQztFS2p5Q3BDLFlJd0JGOztBSnBCRTtFSVdKO0lKVk07OztBSXNCTjtFQUNFOztBQUdGO0VBQ0U7RUFDQSxjVGcxQm9DO0VTLzBCcEM7RUFDQSxZVDZ0QjRCOzs7QVN6dEJoQztFQUNFOzs7QUFHRjtFQUNFLGtCVHJCUztFU3NCVDs7QUFFQTtFRm5DRTtFQUNBOztBRXFDQTtFRnRDQTtFQUNBOztBRTBDRjtFQUNFOztBQUlGO0VGbENFO0VBQ0E7O0FFcUNFO0VGdENGO0VBQ0E7O0FFMENBO0VGM0NBO0VBQ0E7OztBRWdESjtFQUNFOzs7QUFTQTtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFRnhGQTs7QUUyRkE7RUFBZ0I7O0FBQ2hCO0VBQWU7O0FBRWY7RUY5RkE7OztBSW5CSjtFQUNFO0VBQ0E7RUFDQTtFQUNBLGVYdWhEa0M7RVdyaERsQzs7O0FBT0E7RUFDRSxjWDRnRGdDOztBVzFnRGhDO0VBQ0U7RUFDQSxlWHdnRDhCO0VXdmdEOUIsT1hHSztFV0ZMOztBQUlKO0VBQ0UsT1hITzs7O0FZdEJYO0VBQ0U7RUNHQTtFQUNBOzs7QURBRjtFQUNFO0VBQ0E7RUFDQSxPWlVTO0VZVFQ7RUFDQSxrQlo2QlM7RVk1QlQ7RVBLSSxZT0pKOztBUFFJO0VPZk47SVBnQlE7OztBT1BOO0VBQ0U7RUFDQSxPWjhjc0M7RVk1Y3RDLGtCWnVCTztFWXRCUCxjWnVCTzs7QVlwQlQ7RUFDRTtFQUNBLE9ac2NzQztFWXJjdEMsa0JaZ0JPO0VZZlAsU1oyc0NnQztFWTFzQ2hDLFlacXZCNEI7OztBWWh2QjlCO0VBQ0UsYVo4ckNnQzs7QVkzckNsQztFQUNFO0VBQ0EsT1pDTztFY25DVCxrQmRjUztFWXNCUCxjWnRCTzs7QVl5QlQ7RUFDRSxPWnRCTztFWXVCUDtFQUNBLGtCWlBPO0VZUVAsY1pMTzs7O0FldENUO0VBQ0U7OztBQU9JO0VScUNKO0VBQ0E7O0FRaENJO0VSaUJKO0VBQ0E7OztBUWhDRjtFQUNFO0VMb1NJOztBQWxLSjtFS25JRjtJTDRTTTs7O0FLcFNBO0VScUNKO0VBQ0E7O0FRaENJO0VSaUJKO0VBQ0E7OztBUWhDRjtFQUNFO0VMZ1NFLFdBTEk7O0FLcFJGO0VScUNKO0VBQ0E7O0FRaENJO0VSaUJKO0VBQ0E7OztBUy9CSjtFQUNFO0VBQ0E7RU44UkksV0FMSTtFTXZSUixhaEJzbUI0QjtFZ0JybUI1QjtFQUNBLE9oQjRCUztFZ0IzQlQ7RUFDQTtFQUNBO0VUS0U7O0FTQUY7RUFDRTs7O0FBS0o7RUFDRTtFQUNBOzs7QUN2QkE7RUFDRTtJQUFLLHVCakJpOUMyQjs7O0FpQjU4Q3BDO0VBQ0U7RUFDQSxRakIwOENrQztFaUJ6OENsQztFUHdSSSxXQUxJO0VPalJSLGtCakIwQlM7RU90QlA7OztBVUNKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPakJjUztFaUJiVDtFQUNBO0VBQ0Esa0JqQlZTO0VLRkwsWVlhSjs7QVpUSTtFWUFOO0laQ1E7Ozs7QVlXUjtFSFlFO0VHVkE7OztBQUlBO0VBQ0U7O0FBR0U7RUFKSjtJQUtNOzs7O0FDdkNSO0VBQ0U7RUFDQTtFQUdBO0VBQ0E7RVhTRTs7O0FXTEo7RUFDRTtFQUNBOztBQUVBO0VBRUU7RUFDQTs7O0FBVUo7RUFDRTtFQUNBLE9sQlpTO0VrQmFUOztBQUdBO0VBRUU7RUFDQSxPbEJuQk87RWtCb0JQO0VBQ0Esa0JsQmxCTzs7QWtCcUJUO0VBQ0UsT2xCbkJTO0VrQm9CVCxrQmxCTk87OztBa0JlWDtFQUNFO0VBQ0E7RUFDQTtFQUNBLE9sQnpDUztFa0IwQ1Q7RUFDQSxrQmxCdkJTO0VrQndCVDs7QUFFQTtFWHJDRTtFQUNBOztBV3dDRjtFWDNCRTtFQUNBOztBVzhCRjtFQUVFLE9sQnJETztFa0JzRFA7RUFDQSxrQmxCdENPOztBa0IwQ1Q7RUFDRTtFQUNBLE9sQjVDTztFa0I2Q1Asa0JsQmxFTztFa0JtRVAsY2xCbkVPOztBa0JzRVQ7RUFDRTs7QUFFQTtFQUNFO0VBQ0Esa0JsQnVjd0I7OztBa0J6YjFCO0VBQ0U7O0FBR0U7RVhyQ0o7RUFaQTs7QVdzREk7RVh0REo7RUFZQTs7QVcrQ0k7RUFDRTs7QUFHRjtFQUNFLGtCbEJzYW9CO0VrQnJhcEI7O0FBRUE7RUFDRTtFQUNBLG1CbEJpYWtCOzs7QUdyZTFCO0VlNENBO0lBQ0U7O0VBR0U7SVhyQ0o7SUFaQTs7RVdzREk7SVh0REo7SUFZQTs7RVcrQ0k7SUFDRTs7RUFHRjtJQUNFLGtCbEJzYW9CO0lrQnJhcEI7O0VBRUE7SUFDRTtJQUNBLG1CbEJpYWtCOzs7QUdyZTFCO0VlNENBO0lBQ0U7O0VBR0U7SVhyQ0o7SUFaQTs7RVdzREk7SVh0REo7SUFZQTs7RVcrQ0k7SUFDRTs7RUFHRjtJQUNFLGtCbEJzYW9CO0lrQnJhcEI7O0VBRUE7SUFDRTtJQUNBLG1CbEJpYWtCOzs7QUdyZTFCO0VlNENBO0lBQ0U7O0VBR0U7SVhyQ0o7SUFaQTs7RVdzREk7SVh0REo7SUFZQTs7RVcrQ0k7SUFDRTs7RUFHRjtJQUNFLGtCbEJzYW9CO0lrQnJhcEI7O0VBRUE7SUFDRTtJQUNBLG1CbEJpYWtCOzs7QUdyZTFCO0VlNENBO0lBQ0U7O0VBR0U7SVhyQ0o7SUFaQTs7RVdzREk7SVh0REo7SUFZQTs7RVcrQ0k7SUFDRTs7RUFHRjtJQUNFLGtCbEJzYW9CO0lrQnJhcEI7O0VBRUE7SUFDRTtJQUNBLG1CbEJpYWtCOzs7QUdyZTFCO0VlNENBO0lBQ0U7O0VBR0U7SVhyQ0o7SUFaQTs7RVdzREk7SVh0REo7SUFZQTs7RVcrQ0k7SUFDRTs7RUFHRjtJQUNFLGtCbEJzYW9CO0lrQnJhcEI7O0VBRUE7SUFDRTtJQUNBLG1CbEJpYWtCOzs7QWtCblo5QjtFWDlISTs7QVdpSUY7RUFDRTs7QUFFQTtFQUNFOzs7QUNwSko7RUFDRSxPRGlLeUI7RUNoS3pCLGtCRCtKc0I7O0FDNUpwQjtFQUVFLE9EMkpxQjtFQzFKckI7O0FBR0Y7RUFDRSxPbkJ1Qkc7RW1CdEJILGtCRHFKcUI7RUNwSnJCLGNEb0pxQjs7O0FDbEszQjtFQUNFLE9EaUt5QjtFQ2hLekIsa0JEK0pzQjs7QUM1SnBCO0VBRUUsT0QySnFCO0VDMUpyQjs7QUFHRjtFQUNFLE9uQnVCRztFbUJ0Qkgsa0JEcUpxQjtFQ3BKckIsY0RvSnFCOzs7QUNsSzNCO0VBQ0UsT0RpS3lCO0VDaEt6QixrQkQrSnNCOztBQzVKcEI7RUFFRSxPRDJKcUI7RUMxSnJCOztBQUdGO0VBQ0UsT25CdUJHO0VtQnRCSCxrQkRxSnFCO0VDcEpyQixjRG9KcUI7OztBQ2xLM0I7RUFDRSxPRG1LMkI7RUNsSzNCLGtCRCtKc0I7O0FDNUpwQjtFQUVFLE9ENkp1QjtFQzVKdkI7O0FBR0Y7RUFDRSxPbkJ1Qkc7RW1CdEJILGtCRHVKdUI7RUN0SnZCLGNEc0p1Qjs7O0FDcEs3QjtFQUNFLE9EbUsyQjtFQ2xLM0Isa0JEK0pzQjs7QUM1SnBCO0VBRUUsT0Q2SnVCO0VDNUp2Qjs7QUFHRjtFQUNFLE9uQnVCRztFbUJ0Qkgsa0JEdUp1QjtFQ3RKdkIsY0RzSnVCOzs7QUNwSzdCO0VBQ0UsT0RpS3lCO0VDaEt6QixrQkQrSnNCOztBQzVKcEI7RUFFRSxPRDJKcUI7RUMxSnJCOztBQUdGO0VBQ0UsT25CdUJHO0VtQnRCSCxrQkRxSnFCO0VDcEpyQixjRG9KcUI7OztBQ2xLM0I7RUFDRSxPRG1LMkI7RUNsSzNCLGtCRCtKc0I7O0FDNUpwQjtFQUVFLE9ENkp1QjtFQzVKdkI7O0FBR0Y7RUFDRSxPbkJ1Qkc7RW1CdEJILGtCRHVKdUI7RUN0SnZCLGNEc0p1Qjs7O0FDcEs3QjtFQUNFLE9EaUt5QjtFQ2hLekIsa0JEK0pzQjs7QUM1SnBCO0VBRUUsT0QySnFCO0VDMUpyQjs7QUFHRjtFQUNFLE9uQnVCRztFbUJ0Qkgsa0JEcUpxQjtFQ3BKckIsY0RvSnFCOzs7QUVqSzdCO0VBQ0U7RUFDQSxPcEJvbEQyQjtFb0JubEQzQixRcEJtbEQyQjtFb0JsbEQzQjtFQUNBLE9wQnVDUztFb0J0Q1Q7RUFDQTtFYk9FO0VhTEYsU3BCb2xEMkI7O0FvQmpsRDNCO0VBQ0Us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Rjs7O0FpQmxCSjtFQUNFO0VBQ0EsU3hCK2tDa0M7RXdCOWtDbEM7RUFDQSxReEJpMENrQztFeUJyMENsQyxhekJpbUI0QjtFeUIvbEI1QjtFQUNBLGF6QjBtQjRCO0V5QnptQjVCLGF6QittQjRCO0V5QjltQjVCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0Vmc1JJLFdBTEk7RWNyUlI7RUFDQTs7QUFFQTtFQUFTLFN4QnF6Q3lCOztBd0JuekNsQztFQUNFO0VBQ0E7RUFDQSxPeEJxekNnQztFd0JwekNoQyxReEJxekNnQzs7QXdCbnpDaEM7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBS047RUFDRTs7QUFFQTtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBLGtCeEJTSzs7O0F3QkpYO0VBQ0U7O0FBRUE7RUFDRTtFQUNBLE94QnV4Q2dDO0V3QnR4Q2hDLFF4QnF4Q2dDOztBd0JueENoQztFQUNFO0VBQ0E7RUFDQSxvQnhCUEs7OztBd0JZWDtFQUNFOztBQUVBO0VBQ0U7O0FBRUE7RUFDRTtFQUNBO0VBQ0EscUJ4QnJCSzs7O0F3QjBCWDtFQUNFOztBQUVBO0VBQ0U7RUFDQSxPeEJ5dkNnQztFd0J4dkNoQyxReEJ1dkNnQzs7QXdCcnZDaEM7RUFDRTtFQUNBO0VBQ0EsbUJ4QnJDSzs7O0F3QjBEWDtFQUNFLFd4Qm10Q2tDO0V3Qmx0Q2xDO0VBQ0EsT3hCdkVTO0V3QndFVDtFQUNBLGtCeEIvRFM7RU85QlA7OztBbUJuQko7RUFDRTtFQUNBO0VBQ0E7RUFDQSxTMUI2a0NrQztFMEI1a0NsQztFQUNBLFcxQnUxQ2tDO0V5QjUxQ2xDLGF6QmltQjRCO0V5Qi9sQjVCO0VBQ0EsYXpCMG1CNEI7RXlCem1CNUIsYXpCK21CNEI7RXlCOW1CNUI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWZzUkksV0FMSTtFZ0JwUlI7RUFDQSxrQjFCMEJTO0UwQnpCVDtFQUNBO0VuQklFOztBbUJBRjtFQUNFO0VBQ0E7RUFDQSxPMUJ1MUNnQztFMEJ0MUNoQyxRMUJ1MUNnQzs7QTBCcjFDaEM7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNSjtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBLGtCMUJzMEM4Qjs7QTBCbjBDaEM7RUFDRSxRMUJxZndCO0UwQnBmeEI7RUFDQSxrQjFCVks7OztBMEJnQlQ7RUFDRTtFQUNBLE8xQnF6Q2dDO0UwQnB6Q2hDLFExQm16Q2dDOztBMEJqekNoQztFQUNFO0VBQ0E7RUFDQSxvQjFCa3pDOEI7O0EwQi95Q2hDO0VBQ0UsTTFCaWV3QjtFMEJoZXhCO0VBQ0Esb0IxQjlCSzs7O0EwQm9DVDtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBLHFCMUJneUM4Qjs7QTBCN3hDaEM7RUFDRSxLMUIrY3dCO0UwQjljeEI7RUFDQSxxQjFCaERLOztBMEJxRFQ7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE8xQjR3Q2dDO0UwQjN3Q2hDO0VBQ0E7RUFDQTs7O0FBS0Y7RUFDRTtFQUNBLE8xQm13Q2dDO0UwQmx3Q2hDLFExQml3Q2dDOztBMEIvdkNoQztFQUNFO0VBQ0E7RUFDQSxtQjFCZ3dDOEI7O0EwQjd2Q2hDO0VBQ0UsTzFCK2F3QjtFMEI5YXhCO0VBQ0EsbUIxQmhGSzs7O0EwQnFHWDtFQUNFO0VBQ0E7RWhCdUpJLFdBTEk7RWdCL0lSLGtCMUJtdENrQztFMEJsdENsQztFbkJ0SEU7RUFDQTs7QW1Cd0hGO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQSxPMUJqSVc7OztBMkJkYjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUN0QkE7RUFDRTtFQUNBO0VBQ0E7OztBRHVCSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFdEJsQkksWXNCbUJKOztBdEJmSTtFc0JRTjtJdEJQUTs7OztBc0JpQlI7QUFBQTtBQUFBO0VBR0U7OztBQUdGO0FBQ0E7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBQUdGO0FBUUU7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7QUFBQTtBQUFBO0VBR0U7RUFDQTs7QUFHRjtBQUFBO0VBRUU7RUFDQTtFdEIvREUsWXNCZ0VGOztBdEI1REU7RXNCd0RKO0FBQUE7SXRCdkRNOzs7O0FzQm9FUjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQSxPM0JxOENtQztFMkJwOENuQztFQUNBLE8zQjlEUztFMkIrRFQ7RUFDQTtFQUNBO0VBQ0EsUzNCZzhDbUM7RUt6aEQvQixZc0IwRko7O0F0QnRGSTtFc0JxRU47QUFBQTtJdEJwRVE7OztBc0J3Rk47QUFBQTtBQUFBO0VBRUUsTzNCeEVPO0UyQnlFUDtFQUNBO0VBQ0EsUzNCdzdDaUM7OztBMkJyN0NyQztFQUNFOzs7QUFHRjtFQUNFOzs7QUFLRjtBQUFBO0VBRUU7RUFDQSxPM0J5N0NtQztFMkJ4N0NuQyxRM0J3N0NtQztFMkJ2N0NuQztFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQTtFQUNFOzs7QUFFRjtFQUNFOzs7QUFRRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQSxjM0JpNENtQztFMkJoNENuQztFQUNBLGEzQiszQ21DO0UyQjkzQ25DOztBQUVBO0VBQ0U7RUFDQTtFQUNBLE8zQjgzQ2lDO0UyQjczQ2pDLFEzQjgzQ2lDO0UyQjczQ2pDO0VBQ0EsYzNCODNDaUM7RTJCNzNDakMsYTNCNjNDaUM7RTJCNTNDakM7RUFDQTtFQUNBLGtCM0IvSU87RTJCZ0pQO0VBQ0E7RUFFQTtFQUNBO0VBQ0EsUzNCcTNDaUM7RUtqaUQvQixZc0I2S0Y7O0F0QnpLRTtFc0J3Sko7SXRCdkpNOzs7QXNCMktOO0VBQ0UsUzNCazNDaUM7OztBMkJ6MkNyQztFQUNFO0VBQ0E7RUFDQSxRM0I0MkNtQztFMkIzMkNuQztFQUNBLGEzQnkyQ21DO0UyQngyQ25DLGdCM0J3MkNtQztFMkJ2MkNuQyxPM0IxS1M7RTJCMktUOzs7QUFNQTtBQUFBO0VBRUUsUTNCMjJDaUM7O0EyQngyQ25DO0VBQ0Usa0IzQjdLTzs7QTJCZ0xUO0VBQ0UsTzNCakxPOzs7QTZCNUNYO0VBQ0U7SUFBSzs7O0FBSVA7RUFDRTtFQUNBLE83QmdrRHdCO0U2Qi9qRHhCLFE3QitqRHdCO0U2QjlqRHhCLGdCN0Jna0R3QjtFNkIvakR4QjtFQUNBO0VBRUE7RUFDQTs7O0FBR0Y7RUFDRSxPN0IyakR3QjtFNkIxakR4QixRN0IwakR3QjtFNkJ6akR4QixjN0IyakR3Qjs7O0E2Qm5qRDFCO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBQ0E7OztBQUtKO0VBQ0U7RUFDQSxPN0I4aER3QjtFNkI3aER4QixRN0I2aER3QjtFNkI1aER4QixnQjdCOGhEd0I7RTZCN2hEeEI7RUFFQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0UsTzdCeWhEd0I7RTZCeGhEeEIsUTdCd2hEd0I7OztBNkJwaER4QjtFQUNFO0FBQUE7SUFFRTs7O0FDakVOO0VBQ0U7RUFDQTtFQUNBLFM5QjJrQ2tDO0U4QjFrQ2xDO0VBQ0E7RUFDQTtFQUVBO0VBQ0Esa0I5QjhCUztFOEI3QlQ7RUFDQTtFekJLSSxZeUJISjs7QXpCT0k7RXlCcEJOO0l6QnFCUTs7OztBeUJMUjtFUGRFO0VBQ0E7RUFDQTtFQUNBLFN2QndrQ2tDO0V1QnZrQ2xDO0VBQ0E7RUFDQSxrQnZCeUNTOztBdUJ0Q1Q7RUFBUzs7QUFDVDtFQUFTLFN2Qmc2Q3lCOzs7QThCeDVDcEM7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0EsYTlCZ2xCNEI7OztBOEI3a0I5QjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0EsTzlCK2pEa0M7RThCOWpEbEM7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0EsTzlCdWpEa0M7RThCdGpEbEM7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQSxROUIraURrQztFOEI5aURsQztFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBLFE5QnNpRGtDO0U4QnJpRGxDO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FDakZGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFMvQnV2Q2tDOztBK0JydkNsQztFQUNFO0VBQ0E7OztBQUtKO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUtBO0VBQ0U7OztBQUlKO0VBQ0U7SUFDRSxTL0IwdENnQzs7O0ErQnR0Q3BDO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7OztBaENFSjtBaUNsREE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNHQTtFQUVJO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUNsQ0o7RUFFUSxLQ2FPO0VEWlAsT0NhUztFRFpULFFDYVU7RURaVixNQ2FRO0VEWFIsWUNEYTtFREViLGNDRFM7RURFVCxPQ0dPO0VERlAsYUNjUTtFRFhaO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFFQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLSTtFQUNBOzs7QUUzQ1A7RUFDQzs7O0FDQUY7RUFFUSxZRkVhO0VFRGIsY0ZFUztFRURULE9GTU87O0FFSlA7RUFDSSxRRllNOztBRW5CbEI7RUFXSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOztBQUdBO0VBQ0k7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUVBO0VBQ0k7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJUjtFQUNJOzs7QUFHSjtFQUVRLFlGdEVhO0VFdUViLGNGdEVTO0VFdUVULE9GbEVPO0VFcUVYO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOzs7QUN0Rkk7RUFDSTs7QUFHSjtFQUNJOzs7QUNOUjtFQUNJO0VBQ0E7RUFDQTtFQUVBOztBQUVBO0VBRUk7RUFDQTs7O0FBSVI7RUFDSTs7O0FBSUE7RUFFUSxRSkRFO0VJSU47RUFDQTs7QUFHSjtFQUNJOzs7QUFLSjtFQUNJO0VBQ0E7OztBQ25DWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT0xlUztFS2RUOztBQUVBO0VBR1E7RUFHSjs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJQTtFQ2pDSDtFQUNBO0VBQ0E7O0FEb0NHO0VDaENIO0VBQ0E7RUFDQTs7QURvQ087RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7O0FFL0RUO0VESEY7RUFDQTtFQUNBOztBQ01FO0VERkY7RUFDQTtFQUNBOztBQ0tHO0VBRUM7O0FBR0Q7RUFDQzs7QUFHRDtFQUNDOzs7QUN2Qkw7RUFFUSxZUmlCVTtFUWhCVjtFQUNBO0VBQ0EsT1JDYTs7QVFDYjtFQUNJLFlSV007O0FRbkJsQjtFQVlJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7O0FBRUE7RUFDSTtJQUNJO0lBQ0E7SUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJUjtFQUNJOzs7QUFHSjtFQUVJO0VBQ0E7RUFDQSxjUnJCYztFUXNCZCxlUnRCYztFUXVCZDs7QUFHQTtFQUNJOztBQUdKO0VGMUNIO0VBQ0E7RUFDQTs7QUU0Q0c7RUFDSTs7QUFFQTtFQUNJLGVSNUNDOzs7QVNsQkw7RUFDSTs7O0FDSFo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFFUSxPVkNPO0VVQVAsY1ZMUztFVVFiO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE1WUlk7RVVTWjtFQUNBOztBQUdKO0FBQUE7RUFFSTs7O0FBSVI7RUFFUTtFQUdKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VKekNDO0VBQ0E7RUFDQTtFSTJDRyxjVm5DZ0I7RVVvQ2hCLGVWdkNTO0VVd0NUO0VBQ0E7OztBQUdKO0VBR0k7RUFDQTtFQUNBO0VBQ0EsZVZuRFM7RVVvRFQ7O0FBRUE7RUFDSTtFQUNBOzs7QUFNQTtFQUVRLFlWN0VlO0VVZ0ZuQjs7QUFLSjtBQUFBO0VBR1EsWVZ2RmdCO0VVMEZwQjs7O0FDOUZWO0VBQ0M7RUFDQSxPWGtCaUI7O0FXZmxCO0VBQ0MsY1hXVTtFV1ZWLGVYYWlCOztBV1ZsQjtFQUNDLGNYS1U7RVdKVjtFQUNBOztBQUVBO0VBQ0M7RUFFQTtFQUNBOzs7QUN0Qko7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUtBO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUlKO0VBQ0k7OztBQU1aO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7OztBTkhKO0VBQ0k7RUFDQSxXTkhVO0VNSVYsV05IVTs7O0FNT1Y7RUFDSTs7O0FBS1I7RUFFUTtJQUNJOzs7QUFLWjtFQUVRO0lBQ0k7OztBTWRaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTs7O0FDL0RYO0FBQ0M7QUFBQTs7O0FDSUY7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUNkRztFQUNJOztBQUlBO0VBRUk7O0FBS0o7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7O0FBSUE7RUFDSTs7O0FDeEJoQjtFQUNJOztBQUdJO0VBQ0k7RUFDQTs7QUFFQTtFQUVJOzs7QUFNaEI7RUFDSTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtFQUlJOzs7QVZzQ0E7RUFDSTs7O0FBR0o7RUFDSSxTVXhDaUI7O0FWNkNqQjtFQUNJOztBQUdKO0VBQ0k7OztBQTlDUjtFQUNJO0VBQ0EsV05IVTtFTUlWLFdBbURBOzs7QUEvQ0E7RUFDSTs7O0FBS1I7RUFFUTtJQUNJOzs7QUFLWjtFQUVRO0lBQ0k7OztBQStFUjtFQUNJOzs7QUFLUjtFQUVRO0lBQ0k7OztBQUlaO0VBRVE7SUFDSTs7O0FBeEZaO0VBQ0k7OztBQUdKO0VBQ0ksU1V2Q2lCO0VWMENiOztBQUVKO0VBQ0k7O0FBR0o7RUFDSTs7O0FBOUNSO0VBQ0k7RUFDQSxXTkhVO0VNSVYsV0FtREE7OztBQS9DQTtFQUNJOzs7QUFLUjtFQUVRO0lBQ0k7OztBQUtaO0VBRVE7SUFDSTs7O0FBK0VSO0VBQ0k7OztBQUtSO0VBRVE7SUFDSTs7O0FBSVo7RUFFUTtJQUNJOzs7QUF4Rlo7RUFDSTs7O0FBR0o7RUFDSSxTVXRDaUI7RVZ5Q2I7O0FBRUo7RUFDSTs7QUFHSjtFQUNJOzs7QUE5Q1I7RUFDSTtFQUNBLFdOSFU7RU1JVixXQW1EQTs7O0FBL0NBO0VBQ0k7OztBQUtSO0VBRVE7SUFDSTs7O0FBS1o7RUFFUTtJQUNJOzs7QUErRVI7RUFDSTs7O0FBS1I7RUFFUTtJQUNJOzs7QUFJWjtFQUVRO0lBQ0k7OztBQXhGWjtFQUNJOzs7QUFHSjtFQUNJLFNVckNpQjtFVndDYjs7QUFFSjtFQUNJOztBQUdKO0VBQ0k7OztBQTlDUjtFQUNJO0VBQ0EsV05IVTtFTUlWLFdBbURBOzs7QUEvQ0E7RUFDSTs7O0FBS1I7RUFFUTtJQUNJOzs7QUFLWjtFQUVRO0lBQ0k7OztBQStFUjtFQUNJOzs7QUFLUjtFQUVRO0lBQ0k7OztBQUlaO0VBRVE7SUFDSTs7O0FBeEZaO0VBQ0k7OztBQUdKO0VBQ0ksU1VwQ2lCO0VWdUNiOztBQUVKO0VBQ0k7O0FBR0o7RUFDSTs7O0FBOUNSO0VBQ0k7RUFDQSxXTkhVO0VNSVYsV0FtREE7OztBQS9DQTtFQUNJOzs7QUFLUjtFQUVRO0lBQ0k7OztBQUtaO0VBRVE7SUFDSTs7O0FBK0VSO0VBQ0k7OztBQUtSO0VBRVE7SUFDSTs7O0FBSVo7RUFFUTtJQUNJOzs7QVVsSEo7RUFFSTtFQUNBO0VBQ0E7OztBQVNKO0VBQ0k7OztBQ2pEaEI7RUFFUSxPakJFYTtFaUJDakI7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUE7RUFDSTs7O0FDakJKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQ0RSO0VBRVE7RUFDQSxZbkJpQlE7RW1CaEJSO0VBQ0EsWW5CSGE7O0FtQktiO0VBQ0ksWW5CRm9COztBbUJOaEM7RWJZQztFQUNBO0VBQ0E7O0FhQUc7RUFkSjtJQWVRO0lBQ0E7SUFDQTs7RUFFQTtJQUNJOzs7QUFwQlo7RUF3Qkk7RUFDQTtFQUdBLGVuQlRTO0VtQlVULGNuQlBnQjtFbUJTaEI7RUFDQTtFQUNBO0VBRUE7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQy9DSjtBQUFBO0VBRUk7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7OztBQ1hKO0VBQ0ksWXJCdUNZO0VxQnRDWjs7O0FBSUE7RUFDSTtFQUNBOztBQUlBO0VBQ0k7RUFDQTs7QUFJUjtFQUNJOztBQUdKO0VBQ0k7OztBQVlBO0VBQ0k7RUFDQTtFQUNBLFlyQkVJO0VxQkFKO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTs7QUFJUjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOzs7QUMvRFo7RUFDSTs7O0FBS0k7QUFBQTtBQUFBO0VBSVEsYXRCUUg7RXNCTEQ7O0FBS0o7QUFBQTtBQUFBO0VBSVEsY3RCSkg7RXNCT0Q7OztBQUtaO0VBRVEsT3RCZEs7RXNCZUwsY3RCOUJTO0VzQitCVCxZdEJoQ2E7RXNCaUNiLE90Qi9CYTtFc0JrQ2pCOztBQUVBO0VBRUk7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBeEJSO0VBMkJJO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7QUFBQTtFQUVJO0VBRUE7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtBQUFBO0FBQUE7QUFBQTtFQUVJOzs7QUFLSjtFQUVRLFl0QjVGbUI7RXNCK0Z2Qjs7O0FDdEdSO0VBQ0k7OztBakJnR0E7RUFFUTtFQUdKOzs7QUFMSjtFQUVRO0VBR0o7OztBQUxKO0VBRVE7RUFHSjs7O0FpQjdGSjtFQUVRO0VBR0o7OztBQUtKO0VBQ0k7RUFDQTs7QUFFQTtFQUVJOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7OztBQUtaO0FBQUE7RUFFSTs7O0FBSUE7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7O0FBRUE7RUFDSTtFQUNBOzs7QUM3REo7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7OztBQ0xSO0VBRVEsWXpCRWU7RXlCQ25CO0VBQ0E7OztBQU1SO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7OztBQ3BCSjtFQUNJOztBQUVBO0VBQ0k7OztBQU1SO0VBQ0k7O0FBRUE7RUFDSTs7QUFFQTtFQUVRO0VBR0o7OztBQ3pCUjtFQUNJOztBQUdKO0VBQ0k7OztBQ05SO0V0QmVIO0VBQ0E7RUFDQTtFc0JkTztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7O0FDdEJKO0VBQ0k7RUFDQTs7O0FBS1I7RUFFUSxZN0JSUztFNkJTVCxPN0JIRzs7QTZCS0g7RUFDSSxtQjdCWEM7O0E2QmNMO0VBQ0ksb0I3QmZDOztBNkJLYjtFQWNJO0VBR0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJOzs7QUFRSjtFQUNJOztBQUlKO0VBRVEscUI3QjVDQztFNkIrQ0w7O0FBR0o7RUFFUSxrQjdCcERDO0U2QnVETDtFQUNBOztBQUtBO0VBRVEsWTdCN0RXO0U2QmdFZjs7QUFHSjtFQUVRLFk3QnhFQztFNkIyRUw7OztBQVNKO0VBQ0k7O0FBS1I7RUFFUSxrQjdCM0ZDO0U2QjhGTDs7QUFHSjtFQUVRLHFCN0JuR0M7RTZCc0dMO0VBQ0E7O0FBSUE7RUFFUSxZN0I5R0M7RTZCaUhMOztBQUdKO0FBQUE7RUFHUSxZN0JwSFc7RTZCdUhmOzs7QUM1SGhCO0VBRVEsUTlCZVU7O0E4QmJWO0VBQ0k7RUFDQTs7QUFFQTtFQUdJLFk5QkxnQjtFOEJNaEIsTzlCSkQ7O0E4QlJmO0VBaUJJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUdJO0VBQ0E7O0FBSVI7RUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUVRLE85Qi9EYTtFOEJrRWpCO0VBQ0E7RUFDQTtFQUNBOzs7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFLSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUVRLGE5QjlFTTtFOEJpRlY7RUFDQSxlOUJoRks7RThCaUZMO0VBQ0E7RUFDQTtFQUVBOzs7QUFHSjtFQUNJOzs7QUFNSjtFQUNJOztBQUdKO0VBQ0ksZTlCcEdLOzs7QThCMEdUO0VBRUk7RUFDQTs7O0FDaElSO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQSxPL0J5Q29CO0UrQnZDcEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBRUE7RUFDQTtFQUNBOztBQUVBO0VBRVEsTy9CbEJTO0UrQnFCYjtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBRUE7RUFDSSxlL0JRWTs7O0FnQzlDaEI7QUFBQTtBQUFBO0VBRUk7O0FBT0E7RUFDSTs7QUFLSjtBQUFBO0VBRVEsWWhDYlc7RWdDZ0JmOztBQU9KO0VBQ0k7O0FBSUo7QUFBQTtFQUdRLFloQy9CVztFZ0NrQ2Y7OztBQ3hDWjtFQUNJO0VBQ0E7OztBQU1JO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFJUjtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQVFBO0VBRVE7RUFDQTtFQUdKO0VBQ0E7O0FBSUE7QUFBQTtFQUVJOzs7QUFVUjtFQUVRLE9qQy9CRjtFaUNrQ0Y7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSTtFQUNJO0VBQ0E7O0FBT0o7QUFBQTtFQUVJOztBQUlSO0VBQ0k7O0FBTUE7RUFFUTtFQUNBO0VBT0o7RUFDQTs7O0FBYXBCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOzs7QUNoSVI7RUFDQzs7O0FBUUY7RUFDQzs7QUFLQztFQUNDOzs7QUNqQkY7RUFFUTtFQUNBLFluQ0NLOztBbUNDTDtFQUNJLFluQ0hLOztBbUNIakI7RUFVSTtFQUNBLFduQzRDUztFbUMzQ1QsT25DMkNTO0VtQzFDVCxRbkN5Q1U7RW1DeENWO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZW5Db0NVO0VtQ25DVjtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZW5DeUJNO0VtQ3hCTjtFQUNBOztBQUdKO0VBQ0ksWW5Da0JZOztBbUNoQlo7RUFDSTs7O0FBT1o7RUFFUTtFQUdKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPbkNFUTtFbUNEUjtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlBO0VBQ0k7OztBQzdFZDtFQUNDOzs7QUNDSztFQUNJOzs7QUFPSjtFQUNJOzs7QUNSUjtFQUNJOzs7QUFJSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFLSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFNSjtBQUFBO0VBRUk7O0FBRUE7QUFBQTtFQUNJOzs7QUFPUjtFQUNJOzs7QUFHSjtFQUNJOzs7QWhDZEo7RUFDSTtFQUNBLFdOMkJZO0VNMUJaLFdOMkJZOzs7QU12Qlo7RUFDSTs7O0FBS1I7RUFFUTtJQUNJOzs7QUFLWjtFQUVRO0lBQ0k7OztBQStFUjtFQUNJOzs7QUFLUjtFQUVRO0lBQ0k7OztBQUlaO0VBRVE7SUFDSTs7O0FBYVo7RUFDSTtFQUNBLFlOekdZO0VNMEdaLFlOekdZOzs7QU1vSGhCO0VBQ0k7RUFDQSxZTnZIWTtFTXdIWixZTnZIWTs7O0F1QzVEaEI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0EsWXZDSEMsTXVDR3dCOztBQUc3QjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFPUjtFQUNJO0VBQ0E7RUFDQTtFQUlBOztBQUVBO0VBQ0k7OztBQzlDUjtFQUNJO0VBQ0E7OztBQ0dOO0VBQ0M7OztBQUtEO0VBQ0MsU3pDbURpQjtFeUNsRGpCOzs7QUFNQTtFQUNDOztBQUtEO0VBQ0M7O0FBS0Q7RUFDQzs7O0FDakNKO0VBQ0k7RUFDQTtFQUVBLFkxQzhEYTtFMEM3RGI7RUFDQSxZMUM0QmU7RTBDM0JmLFkxQzRCZTtFMEMxQmY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBOztBQUdJO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBSVI7RUFDSTs7O0FDNUJBO0VBQ0k7RUFDQTs7O0FyQ21JRztFQUNIOzs7QUFLUjtFQUVlO0lBQ0g7OztBQUlaO0VBRWU7SUFDSDs7O0FxQ3ZJUjtFQUdJOztBQUVBO0VBQ0k7O0FBRUE7RUFDSTtFQUNBOztBQUdKO0VBQ0k7OztBQVFSO0VBQ0k7O0FBR0k7RUFDSTs7O0FBU1o7RUFFSTtFQUNBO0VBQ0E7OztBQU9KO0VBQ0k7OztBckNvR0w7RUFDSDtFQUNBLFlOcElXO0VNcUlYLFlOcElXOzs7QTJDcUNQO0VBQ0k7RUFDQTs7O0FyQ3dHTDtFQUNIO0VBQ0EsWU5sSlc7RU1tSlgsWU5sSlc7OztBMkMrQ1A7RUFHSTs7O0FDbkZSO0VBRVE7RUFHSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTs7QUFJQTtFQUNJO0VBQ0E7RUFDQTs7QUFLSjtFQUNJO0VBQ0E7OztBQU9aO0VBRVE7RUFHSjs7O0FBS0o7RUFFUTtFQUdKOzs7QUNoRFA7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDekNGO0VBQ0k7OztBbEZxREo7QW1GdERBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtFQ1dFLE9uRm1CUztFY25DVCxrQmRrQlM7RW1GQVQ7O0FBR0E7RUFDRSxPbkZKTztFY2xCVCxrQmRtQ1M7RW1GWFAsY25GTk87O0FtRlNUO0VBRUUsT25GWE87RWNsQlQsa0JkbUNTO0VtRkpQLGNuRmJPO0VtRmtCTDs7QUFJSjtFQUtFLE9BbENhO0VBbUNiLGtCQXJDa0I7RUF3Q2xCLGNBdkNjOztBQXlDZDtFQUtJOztBQUtOO0VBRUUsT0FqRGU7RUFrRGYsa0JuRjlDTztFbUZpRFAsY25GakRPOzs7QWtGVFg7RUNPRSxPbkZEUztFY2ZULGtCZHFCUztFbUZIVCxjbkZHUzs7QW1GQVQ7RUFDRSxPbkZETztFY3JCVCxrQmRlUztFbUZTUCxjbkZITzs7QW1GTVQ7RUFFRSxPbkZSTztFY3JCVCxrQmRlUztFbUZnQlAsY25GVk87RW1GZUw7O0FBSUo7RUFLRSxPQWxDYTtFQW1DYixrQkFyQ2tCO0VBd0NsQixjQXZDYzs7QUF5Q2Q7RUFLSTs7QUFLTjtFQUVFLE9BakRlO0VBa0RmLGtCbkYzQ087RW1GOENQLGNuRjlDTzs7O0FvRnpCWDtFQUNDO0VBQ0E7O0FBRUE7RUFDQzs7QUFLQTtFQUNDOztBQUdEO0VBQ0M7O0FBR0Q7RUFDQzs7QUFJRjtFQUNDLFlwRk5TOztBb0ZRVDtFQUNDLE9wRllROztBb0ZOVDtFQUNDOztBQUlGO0VBQ0MsY3BGcEJTOztBb0Z1QlY7RUFDQztFQUNBOztBQUVBO0VBQ0M7O0FBTUQ7RUFDQztFQUNBO0VBQ0EsT3BGdENRO0VvRnVDUjs7O0FDcERDO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBOztBQUVBO0VBQ0ksa0JyRndCRDs7QXFGbEJIO0VBQ0k7O0FsRnlDUjtFa0YxQ0k7SUFJUTs7O0FBT1I7RUFDSTs7QUFHSjtFQUNJLGNyRmdma0I7O0FxRjdldEI7RUFDSTs7QUFFQTtFQUNJOztBQVFBO0VBQ0k7O0FBY0E7RUFDSTs7QUFHSjtFQUNJLE9yRnJEYjtFcUZzRGE7O0FBT0k7RUFDSSxPckY5RHJCO0VxRitEcUI7O0FBV3hCO0VBSVE7SUFDSTs7O0FBS1o7RUFJUTtJQUNJOzs7QWxGN0NoQjtFa0ZzRFk7SUFDSTs7OztBQ2xIWjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0Esa0J0RkRMO0VzRkVLO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUN6Qlo7RUFDSTs7O0FwRjRESjtFcUYvREo7SUFHUTs7O0FyRjRESjtFcUYvREo7SUFPUTs7O0FyRndESjtFcUYvREo7SUFXUTs7O0FBR0o7RUFDSTs7QXJGZ0RKO0VxRmpEQTtJQUlPOzs7QXJGNkNQO0VxRnZDSTtJQUVROzs7QXJGcUNaO0VxRmpDSTtJQUdRO0lBQ0E7SUFDQTtJQUNBOzs7QXJGMkJaO0VxRmpDSTtJQVVRO0lBQ0E7OztBckZzQlo7RXFGakNJO0lBZVE7OztBQUtaO0VBQ0k7O0FyRllKO0VxRmJBO0lBSVE7Ozs7QUN0RFo7RUFDSTs7QUFFQTtFQUNJOztBdEYyREo7RXNGNURBO0lBSVE7OztBQUlYO0VBQ0M7O0F0Rm1ERTtFc0ZwREg7SUFJVzs7O0FBSVI7RUFDSTtFQUNOO0VBQ007RUFDQTtFQUNOO0VBQ0E7O0FBRU07RUFDTDtFQUNBOztBQU1hO0VBQ0ksT3pGR1Q7O0F5RkFLO0VBQ0k7O0FBS1o7RUFDTDtFQUNBOztBdEZnQkM7RXNGbEJJO0lBS0o7OztBQUdRO0VBQ1I7RUFDQTtFQUNZO0VBQ1o7O0FBSUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFFSSxPekZqQ0Q7O0F5Rm9DSDtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFl6Ritla0I7RXlGOWVsQjs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFJUjtFQUNJOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQnpGdkZMO0V5RndGSztFQUNBOztBQUtBO0VBQ0k7RUFDQTs7QUFLSjtFQUNJO0VBQ0E7O0FBS0o7RUFDSTtFQUNBOzs7QUM3SFo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0IxRk1EO0UwRkxDO0VBQ0E7O0F2RjZEUjtFdUZ4RUk7SUFjUTs7O0FBR0o7RUFDSSxPMUZpQkw7RTBGaEJLOztBQUVBO0VBQ0ksTzFGUFQ7O0EwRldTO0VBQ0k7RUFDQTs7QUFNaEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QXZGYVo7RXVGekJJO0lBZ0JROzs7QUFJUjtFQUNJLE8xRnpDRDtFMEYwQ0M7RUFDQTtFQUNBO0VBQ0E7O0F2RmFSO0V1RmxCSTtJQVFRO0lBQ0E7OztBdkZTWjtFdUZsQkk7SUFhUTs7O0FBSVI7RUFDSTs7O0FDNUVaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWTNGZ2tCMEI7RTJGL2pCMUI7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7O0FBR0o7RUFDSSxPM0ZYRztFMkZZSDs7QUFHSjtFQUNJLGMzRlBLO0UyRlFMLE8zRmhCRzs7QTJGa0JIO0VBR0ksTzNGREQ7RTJGRUMsa0IzRnRCRDtFMkZ1QkMsYzNGdkJEOztBMkYyQlA7RUFDSSxjM0Y1Qkc7RTJGNkJILGtCM0Y3Qkc7RTJGOEJILE8zRlZHOztBMkZZSDtFQUdJLE8zRm5DRDtFMkZvQ0Msa0IzRmhCRDtFMkZpQkMsYzNGN0JDOztBMkYrQkQ7RUFDSSxPM0Z4Q0w7OztBNEZuQlg7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBLGE1RjJsQjBCO0U0RjFsQjFCOztBQUdGO0VBQ0U7O0FBRUE7RUFDRTs7QUFJSjtFQUNFOztBQUVBO0VBQ0U7O0FBSUo7RUFDRTs7QUFFQTtFQUNFOzs7QUN6Q0w7RUFDQztFQUNBO0VBQ0E7O0FBR0Q7RUFDQyxPN0Y4QlM7O0E2RjNCVjtFQUNDOztBQUdEO0VBQ0M7RUFDQTtFQUNBOzs7QUFJRjtFQUNDLGtCN0ZlVTtFNkZkVixPN0ZIVTtFNkZJVjs7O0FDMUJEO0VBQ0ksa0I5RmtCTztFOEZqQlA7RUFDQTtFQUNBLE85Rm1DTzs7QUd3QlA7RTJGL0RKO0lBT1E7SUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0EsTzlGeUJHO0U4RnhCSDtFQUNBO0VBQ0E7O0EzRjhDSjtFMkZwREE7SUFTUTtJQUNBOzs7QUFHSjtFQUNJO0VBQ0EsTzlGYUQ7RThGWkMsWTlGNGlCa0I7RThGM2lCbEI7O0FBRUE7RUFDSSxPOUZiTDs7QUc2Q1A7RTJGdkNJO0lBV1E7OztBQUtKO0VBQ0k7O0FBS1o7RUFFSTs7QUFFQTtFQUNHO0VBQ0E7RUFDQTs7QUFFQztFQUNHOztBQUlDO0VBQ0ksTTlGM0NUOztBOEZtREg7RUFDSTtFQUNBO0VBQ0E7OztBQ3hFWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCL0ZlTzs7QStGYlA7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCL0ZkRztFK0ZlSDtFQUNBO0VBQ0E7O0FBRUE7RUFDSSxPL0ZDRDtFK0ZBQztFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBT1I7RUFDSTs7O0FDdkRSO0VBQ0k7RUFDQTtFQUNBOztBN0YwREo7RTZGN0RBO0lBTVE7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0Esa0JoR1NHO0VnR1JILE9oR0VHO0VnR0RIO0VBQ0E7O0E3RjRDSjtFNkZuREE7SUFVUTs7O0FBSVI7RUFDSTtFQUNBLE9oR1RHO0VnR1VIO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0EsT2hHbkJEO0VnR29CQztFQUNBO0VBQ0E7OztBQUtaO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtJQUNJOztFQUdKO0lBQ0k7OztBQzNETjtFQUNDOztBOUYwREM7RThGM0RGO0lBSUU7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPakdNTzs7QWlHSFI7RUFDQztFQUNBOzs7QUNqQkE7RXhGaVNFLFdBTEk7O0F3RnpSSjtFQUNFLE9sR1VHO0VVbVJMLFdBTEk7RXdGdFJGLGFsRzBtQnNCOztBa0d2bUJ4QjtFQUNFO0V4RnVSRixXQUxJO0V3RmhSRixhbEc4bEJzQjs7QWtHM2xCeEI7RUFDRSxPbEdGRztFVW1STCxXQUxJO0V3RjFRRixhbEc4bEJzQjs7O0FtR2huQnRCO0VBQ0k7RUFDQTtFQUNBLE9uR1dEO0VtR1ZDO0VBQ0E7RUFDQTs7QWhHa0VSO0VnR3hFSTtJQVNRO0lBQ0E7OztBQUlSO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSSIsImZpbGUiOiJiZWxvdy1mb2xkLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIEJPT1RTVFJBUCA1IEZVTkNUSU9OUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AaW1wb3J0ICdib290c3RyYXAvc2Nzcy9mdW5jdGlvbnMnO1xuXG4vKiBUSEVNRSBGVU5DVElPTlMvTUlYSU5TL1ZBUklBQkxFUy9GT05UUy9FVEMuICoqKioqKioqKioqKioqKioqKioqKi9cblxuQGltcG9ydCAnZnVuY3Rpb25zJztcbkBpbXBvcnQgJ21peGlucyc7XG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4vKiBCT09UU1RSQVAgNSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLy8gQ29uZmlndXJhdGlvblxuQGltcG9ydCAnYm9vdHN0cmFwL3Njc3MvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2Jvb3RzdHJhcC9zY3NzL21peGlucyc7XG5AaW1wb3J0ICdib290c3RyYXAvc2Nzcy91dGlsaXRpZXMnO1xuXG4vLyBMYXlvdXQgJiBjb21wb25lbnRzXG4vLyBAaW1wb3J0ICdib290c3RyYXAvc2Nzcy9yb290Jztcbi8vIEBpbXBvcnQgJ2Jvb3RzdHJhcC9zY3NzL3JlYm9vdCc7XG4vLyBAaW1wb3J0ICdib290c3RyYXAvc2Nzcy90eXBlJztcbi8vIEBpbXBvcnQgJ2Jvb3RzdHJhcC9zY3NzL2ltYWdlcyc7XG4vLyBAaW1wb3J0ICdib290c3RyYXAvc2Nzcy9jb250YWluZXJzJztcbi8vIEBpbXBvcnQgJ2Jvb3RzdHJhcC9zY3NzL2dyaWQnO1xuQGltcG9ydCAnYm9vdHN0cmFwL3Njc3MvdGFibGVzJztcbi8vIEBpbXBvcnQgJ2Jvb3RzdHJhcC9zY3NzL2Zvcm1zJztcbi8vIEBpbXBvcnQgJ2Jvb3RzdHJhcC9zY3NzL2J1dHRvbnMnO1xuQGltcG9ydCAnYm9vdHN0cmFwL3Njc3MvdHJhbnNpdGlvbnMnO1xuLy8gQGltcG9ydCAnYm9vdHN0cmFwL3Njc3MvZHJvcGRvd24nO1xuQGltcG9ydCAnYm9vdHN0cmFwL3Njc3MvYnV0dG9uLWdyb3VwJztcbi8vIEBpbXBvcnQgJ2Jvb3RzdHJhcC9zY3NzL25hdic7XG4vLyBAaW1wb3J0ICdib290c3RyYXAvc2Nzcy9uYXZiYXInO1xuQGltcG9ydCAnYm9vdHN0cmFwL3Njc3MvY2FyZCc7XG5AaW1wb3J0ICdib290c3RyYXAvc2Nzcy9hY2NvcmRpb24nO1xuQGltcG9ydCAnYm9vdHN0cmFwL3Njc3MvYnJlYWRjcnVtYic7XG5AaW1wb3J0ICdib290c3RyYXAvc2Nzcy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2Jvb3RzdHJhcC9zY3NzL2JhZGdlJztcbi8vIEBpbXBvcnQgJ2Jvb3RzdHJhcC9zY3NzL2FsZXJ0JztcbkBpbXBvcnQgJ2Jvb3RzdHJhcC9zY3NzL3Byb2dyZXNzJztcbkBpbXBvcnQgJ2Jvb3RzdHJhcC9zY3NzL2xpc3QtZ3JvdXAnO1xuQGltcG9ydCAnYm9vdHN0cmFwL3Njc3MvY2xvc2UnO1xuQGltcG9ydCAnYm9vdHN0cmFwL3Njc3MvdG9hc3RzJztcbkBpbXBvcnQgJ2Jvb3RzdHJhcC9zY3NzL21vZGFsJztcbkBpbXBvcnQgJ2Jvb3RzdHJhcC9zY3NzL3Rvb2x0aXAnO1xuQGltcG9ydCAnYm9vdHN0cmFwL3Njc3MvcG9wb3Zlcic7XG5AaW1wb3J0ICdib290c3RyYXAvc2Nzcy9jYXJvdXNlbCc7XG5AaW1wb3J0ICdib290c3RyYXAvc2Nzcy9zcGlubmVycyc7XG5AaW1wb3J0ICdib290c3RyYXAvc2Nzcy9vZmZjYW52YXMnO1xuQGltcG9ydCAnYm9vdHN0cmFwL3Njc3MvcGxhY2Vob2xkZXJzJztcblxuLyogTUlTQy4gVEhJUkQtUEFSVFkgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkBpbXBvcnQgJ21tZW51LWpzL3NyYy9tbWVudSc7XG5cbi8qIFRIRU1FICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AaW1wb3J0ICdidXR0b25zJztcbkBpbXBvcnQgJ3RhYmxlcyc7XG5cbkBpbXBvcnQgJ3BhcnRpYWxzL21lbnVzL21vYmlsZSc7XG5AaW1wb3J0IFwicGFydGlhbHMvY29tcG9uZW50cy9fYm91dGlxdWUuc2Nzc1wiO1xuQGltcG9ydCBcInBhcnRpYWxzL2NvbXBvbmVudHMvX2NvbnRlbnRfaW1hZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcInBhcnRpYWxzL2NvbXBvbmVudHMvX2NvbnRlbnRfb2Zmc2V0X2ltYWdlcy5zY3NzXCI7XG5AaW1wb3J0IFwicGFydGlhbHMvY29tcG9uZW50cy9fbGF3eWVycy5zY3NzXCI7XG5AaW1wb3J0IFwicGFydGlhbHMvY29tcG9uZW50cy9fc2VydmljZXMuc2Nzc1wiO1xuQGltcG9ydCBcInBhcnRpYWxzL3Bvc3QvX3N0YWZmLnNjc3NcIjtcbkBpbXBvcnQgXCJwYXJ0aWFscy9yZXNvdXJjZXMvX3RpbGUuc2Nzc1wiO1xuQGltcG9ydCBcInBhcnRpYWxzL2Zvcm1zL19ib3V0aXF1ZS5zY3NzXCI7XG5AaW1wb3J0ICdwYXJ0aWFscy9mb290ZXInO1xuQGltcG9ydCAncGFydGlhbHMvaW5kZXgnO1xuQGltcG9ydCAncGFydGlhbHMvbW9kYWxzJztcblxuQGltcG9ydCAnc2luZ2xlLWxhd3llcic7XG5AaW1wb3J0ICdzaW5nbGUtcmVzb3VyY2UnO1xuQGltcG9ydCAnc2luZ2xlLW5ld3MtZXZlbnQnO1xuIiwiLyogVEhFTUUgVkFSSUFCTEVTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiR0aGVtZS1kaXJlY3Rvcnk6ICcvd3AtY29udGVudC90aGVtZXMvZ3ZlbGF3JztcbiRpbWFnZS1kaXJlY3Rvcnk6ICR0aGVtZS1kaXJlY3RvcnkgKyAnL2Rpc3QvaW1hZ2VzLyc7XG5cbiRzZWN0aW9uLXNwYWNpbmcteHM6ICBweC10by1yZW0oNDApO1xuJHNlY3Rpb24tc3BhY2luZy1zbTogIHB4LXRvLXJlbSg1MCk7XG4kc2VjdGlvbi1zcGFjaW5nLW1kOiAgcHgtdG8tcmVtKDYwKTtcbiRzZWN0aW9uLXNwYWNpbmctbGc6ICBweC10by1yZW0oODApO1xuJHNlY3Rpb24tc3BhY2luZy14bDogIHB4LXRvLXJlbSgxMDApO1xuJHNlY3Rpb24tc3BhY2luZy14eGw6IHB4LXRvLXJlbSgxMjUpO1xuXG4vLyBXb3JkUHJlc3MgYWRtaW4gYmFyIG1lZGlhIHF1ZXJpZXM6XG4kd3AtYWRtaW4tYmFyLXhzLW1heDogNjAwcHg7IC8vIDQ2cHggdGFsbCwgbm90IGZpeGVkXG4kd3AtYWRtaW4tYmFyLXNtLW1pbjogNjAxcHg7IC8vIDQ2cHggdGFsbCwgZml4ZWRcbiR3cC1hZG1pbi1iYXItc20tbWF4OiA3ODJweDtcbiR3cC1hZG1pbi1iYXItbWQtbWluOiA3ODNweDsgLy8gMzJweCB0YWxsLCBmaXhlZFxuXG4kZ3JlZW46ICAgICM4QkM1NDA7XG4kZ3JheS05MDA6ICMyQzI2MkQ7XG4kZ3JheS04MDA6ICM1RDVCNUU7XG4kZ3JheS03MDA6ICM3MDcwNzA7XG4kZ3JheS02MDA6ICM4MDgwODA7XG4kZ3JheS01MDA6ICNCM0IzQjM7XG4kZ3JheS0xMDA6ICNFNkU2RTY7XG4kcHVycGxlOiAgICNCRkMwRUU7XG5cbiRib2R5LWNvbG9yOiAjNzU3NTc1O1xuXG4vKiBCT09UU1RSQVAgNSBWQVJJQUJMRVMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLy8gVmFyaWFibGVzXG4vL1xuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cblxuLy8gQ29sb3Igc3lzdGVtXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmF5LWNvbG9yLXZhcmlhYmxlc1xuJHdoaXRlOiAgICAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjhmOWZhICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllY2VmICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZGVlMmU2ICFkZWZhdWx0O1xuJGdyYXktNDAwOiAjY2VkNGRhICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjYWRiNWJkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjNmM3NTdkICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xuJGdyYXktODAwOiAjMzQzYTQwICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMjEyNTI5ICFkZWZhdWx0O1xuJGJsYWNrOiAgICAjMDAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBncmF5LWNvbG9yLXZhcmlhYmxlc1xuXG4vLyBmdXN2LWRpc2FibGVcbi8vIHNjc3MtZG9jcy1zdGFydCBncmF5LWNvbG9ycy1tYXBcbiRncmF5czogKFxuICBcIjEwMFwiOiAkZ3JheS0xMDAsXG4gIFwiMjAwXCI6ICRncmF5LTIwMCxcbiAgXCIzMDBcIjogJGdyYXktMzAwLFxuICBcIjQwMFwiOiAkZ3JheS00MDAsXG4gIFwiNTAwXCI6ICRncmF5LTUwMCxcbiAgXCI2MDBcIjogJGdyYXktNjAwLFxuICBcIjcwMFwiOiAkZ3JheS03MDAsXG4gIFwiODAwXCI6ICRncmF5LTgwMCxcbiAgXCI5MDBcIjogJGdyYXktOTAwXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBncmF5LWNvbG9ycy1tYXBcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvci12YXJpYWJsZXNcbiRibHVlOiAgICAjMGQ2ZWZkICFkZWZhdWx0O1xuJGluZGlnbzogICM2NjEwZjIgIWRlZmF1bHQ7XG4kcHVycGxlOiAgIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAgICAjZDYzMzg0ICFkZWZhdWx0O1xuJHJlZDogICAgICNkYzM1NDUgIWRlZmF1bHQ7XG4kb3JhbmdlOiAgI2ZkN2UxNCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICAjZmZjMTA3ICFkZWZhdWx0O1xuJGdyZWVuOiAgICMxOTg3NTQgIWRlZmF1bHQ7XG4kdGVhbDogICAgIzIwYzk5NyAhZGVmYXVsdDtcbiRjeWFuOiAgICAjMGRjYWYwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbG9ycy1tYXBcbiRjb2xvcnM6IChcbiAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICBcImluZGlnb1wiOiAgICAgJGluZGlnbyxcbiAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXG4gIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgXCJyZWRcIjogICAgICAgICRyZWQsXG4gIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxuICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgXCJncmVlblwiOiAgICAgICRncmVlbixcbiAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxuICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gIFwid2hpdGVcIjogICAgICAkd2hpdGUsXG4gIFwiZ3JheVwiOiAgICAgICAkZ3JheS02MDAsXG4gIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbG9ycy1tYXBcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWNvbG9yLXZhcmlhYmxlc1xuJHByaW1hcnk6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAgJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1jb2xvci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWNvbG9ycy1tYXBcbiR0aGVtZS1jb2xvcnM6IChcbiAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICBcImluZm9cIjogICAgICAgJGluZm8sXG4gIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gIFwiZGFya1wiOiAgICAgICAkZGFya1xuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtY29sb3JzLW1hcFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtY29sb3JzLXJnYlxuJHRoZW1lLWNvbG9ycy1yZ2I6IG1hcC1sb29wKCR0aGVtZS1jb2xvcnMsIHRvLXJnYiwgXCIkdmFsdWVcIikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWNvbG9ycy1yZ2JcblxuLy8gVGhlIGNvbnRyYXN0IHJhdGlvIHRvIHJlYWNoIGFnYWluc3Qgd2hpdGUsIHRvIGRldGVybWluZSBpZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJsaWdodFwiIHRvIFwiZGFya1wiLiBBY2NlcHRhYmxlIHZhbHVlcyBmb3IgV0NBRyAyLjAgYXJlIDMsIDQuNSBhbmQgNy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvV0NBRzIwLyN2aXN1YWwtYXVkaW8tY29udHJhc3QtY29udHJhc3RcbiRtaW4tY29udHJhc3QtcmF0aW86ICAgNC41ICFkZWZhdWx0O1xuXG4vLyBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJGNvbG9yLWNvbnRyYXN0LWRhcms6ICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNvbG9yLWNvbnRyYXN0LWxpZ2h0OiAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBmdXN2LWRpc2FibGVcbiRibHVlLTEwMDogdGludC1jb2xvcigkYmx1ZSwgODAlKSAhZGVmYXVsdDtcbiRibHVlLTIwMDogdGludC1jb2xvcigkYmx1ZSwgNjAlKSAhZGVmYXVsdDtcbiRibHVlLTMwMDogdGludC1jb2xvcigkYmx1ZSwgNDAlKSAhZGVmYXVsdDtcbiRibHVlLTQwMDogdGludC1jb2xvcigkYmx1ZSwgMjAlKSAhZGVmYXVsdDtcbiRibHVlLTUwMDogJGJsdWUgIWRlZmF1bHQ7XG4kYmx1ZS02MDA6IHNoYWRlLWNvbG9yKCRibHVlLCAyMCUpICFkZWZhdWx0O1xuJGJsdWUtNzAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgNDAlKSAhZGVmYXVsdDtcbiRibHVlLTgwMDogc2hhZGUtY29sb3IoJGJsdWUsIDYwJSkgIWRlZmF1bHQ7XG4kYmx1ZS05MDA6IHNoYWRlLWNvbG9yKCRibHVlLCA4MCUpICFkZWZhdWx0O1xuXG4kaW5kaWdvLTEwMDogdGludC1jb2xvcigkaW5kaWdvLCA4MCUpICFkZWZhdWx0O1xuJGluZGlnby0yMDA6IHRpbnQtY29sb3IoJGluZGlnbywgNjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tMzAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDQwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTQwMDogdGludC1jb2xvcigkaW5kaWdvLCAyMCUpICFkZWZhdWx0O1xuJGluZGlnby01MDA6ICRpbmRpZ28gIWRlZmF1bHQ7XG4kaW5kaWdvLTYwMDogc2hhZGUtY29sb3IoJGluZGlnbywgMjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tNzAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCA0MCUpICFkZWZhdWx0O1xuJGluZGlnby04MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDYwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTkwMDogc2hhZGUtY29sb3IoJGluZGlnbywgODAlKSAhZGVmYXVsdDtcblxuJHB1cnBsZS0xMDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgODAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtMjAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDYwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTMwMDogdGludC1jb2xvcigkcHVycGxlLCA0MCUpICFkZWZhdWx0O1xuJHB1cnBsZS00MDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgMjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtNTAwOiAkcHVycGxlICFkZWZhdWx0O1xuJHB1cnBsZS02MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDIwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTcwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgNDAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtODAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCA2MCUpICFkZWZhdWx0O1xuJHB1cnBsZS05MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDgwJSkgIWRlZmF1bHQ7XG5cbiRwaW5rLTEwMDogdGludC1jb2xvcigkcGluaywgODAlKSAhZGVmYXVsdDtcbiRwaW5rLTIwMDogdGludC1jb2xvcigkcGluaywgNjAlKSAhZGVmYXVsdDtcbiRwaW5rLTMwMDogdGludC1jb2xvcigkcGluaywgNDAlKSAhZGVmYXVsdDtcbiRwaW5rLTQwMDogdGludC1jb2xvcigkcGluaywgMjAlKSAhZGVmYXVsdDtcbiRwaW5rLTUwMDogJHBpbmsgIWRlZmF1bHQ7XG4kcGluay02MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCAyMCUpICFkZWZhdWx0O1xuJHBpbmstNzAwOiBzaGFkZS1jb2xvcigkcGluaywgNDAlKSAhZGVmYXVsdDtcbiRwaW5rLTgwMDogc2hhZGUtY29sb3IoJHBpbmssIDYwJSkgIWRlZmF1bHQ7XG4kcGluay05MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCA4MCUpICFkZWZhdWx0O1xuXG4kcmVkLTEwMDogdGludC1jb2xvcigkcmVkLCA4MCUpICFkZWZhdWx0O1xuJHJlZC0yMDA6IHRpbnQtY29sb3IoJHJlZCwgNjAlKSAhZGVmYXVsdDtcbiRyZWQtMzAwOiB0aW50LWNvbG9yKCRyZWQsIDQwJSkgIWRlZmF1bHQ7XG4kcmVkLTQwMDogdGludC1jb2xvcigkcmVkLCAyMCUpICFkZWZhdWx0O1xuJHJlZC01MDA6ICRyZWQgIWRlZmF1bHQ7XG4kcmVkLTYwMDogc2hhZGUtY29sb3IoJHJlZCwgMjAlKSAhZGVmYXVsdDtcbiRyZWQtNzAwOiBzaGFkZS1jb2xvcigkcmVkLCA0MCUpICFkZWZhdWx0O1xuJHJlZC04MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDYwJSkgIWRlZmF1bHQ7XG4kcmVkLTkwMDogc2hhZGUtY29sb3IoJHJlZCwgODAlKSAhZGVmYXVsdDtcblxuJG9yYW5nZS0xMDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgODAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtMjAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDYwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTMwMDogdGludC1jb2xvcigkb3JhbmdlLCA0MCUpICFkZWZhdWx0O1xuJG9yYW5nZS00MDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgMjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtNTAwOiAkb3JhbmdlICFkZWZhdWx0O1xuJG9yYW5nZS02MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDIwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTcwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgNDAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtODAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCA2MCUpICFkZWZhdWx0O1xuJG9yYW5nZS05MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDgwJSkgIWRlZmF1bHQ7XG5cbiR5ZWxsb3ctMTAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDgwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTIwMDogdGludC1jb2xvcigkeWVsbG93LCA2MCUpICFkZWZhdWx0O1xuJHllbGxvdy0zMDA6IHRpbnQtY29sb3IoJHllbGxvdywgNDAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctNDAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDIwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTUwMDogJHllbGxvdyAhZGVmYXVsdDtcbiR5ZWxsb3ctNjAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCAyMCUpICFkZWZhdWx0O1xuJHllbGxvdy03MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDQwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTgwMDogc2hhZGUtY29sb3IoJHllbGxvdywgNjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctOTAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCA4MCUpICFkZWZhdWx0O1xuXG4kZ3JlZW4tMTAwOiB0aW50LWNvbG9yKCRncmVlbiwgODAlKSAhZGVmYXVsdDtcbiRncmVlbi0yMDA6IHRpbnQtY29sb3IoJGdyZWVuLCA2MCUpICFkZWZhdWx0O1xuJGdyZWVuLTMwMDogdGludC1jb2xvcigkZ3JlZW4sIDQwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNDAwOiB0aW50LWNvbG9yKCRncmVlbiwgMjAlKSAhZGVmYXVsdDtcbiRncmVlbi01MDA6ICRncmVlbiAhZGVmYXVsdDtcbiRncmVlbi02MDA6IHNoYWRlLWNvbG9yKCRncmVlbiwgMjAlKSAhZGVmYXVsdDtcbiRncmVlbi03MDA6IHNoYWRlLWNvbG9yKCRncmVlbiwgNDAlKSAhZGVmYXVsdDtcbiRncmVlbi04MDA6IHNoYWRlLWNvbG9yKCRncmVlbiwgNjAlKSAhZGVmYXVsdDtcbiRncmVlbi05MDA6IHNoYWRlLWNvbG9yKCRncmVlbiwgODAlKSAhZGVmYXVsdDtcblxuJHRlYWwtMTAwOiB0aW50LWNvbG9yKCR0ZWFsLCA4MCUpICFkZWZhdWx0O1xuJHRlYWwtMjAwOiB0aW50LWNvbG9yKCR0ZWFsLCA2MCUpICFkZWZhdWx0O1xuJHRlYWwtMzAwOiB0aW50LWNvbG9yKCR0ZWFsLCA0MCUpICFkZWZhdWx0O1xuJHRlYWwtNDAwOiB0aW50LWNvbG9yKCR0ZWFsLCAyMCUpICFkZWZhdWx0O1xuJHRlYWwtNTAwOiAkdGVhbCAhZGVmYXVsdDtcbiR0ZWFsLTYwMDogc2hhZGUtY29sb3IoJHRlYWwsIDIwJSkgIWRlZmF1bHQ7XG4kdGVhbC03MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCA0MCUpICFkZWZhdWx0O1xuJHRlYWwtODAwOiBzaGFkZS1jb2xvcigkdGVhbCwgNjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTkwMDogc2hhZGUtY29sb3IoJHRlYWwsIDgwJSkgIWRlZmF1bHQ7XG5cbiRjeWFuLTEwMDogdGludC1jb2xvcigkY3lhbiwgODAlKSAhZGVmYXVsdDtcbiRjeWFuLTIwMDogdGludC1jb2xvcigkY3lhbiwgNjAlKSAhZGVmYXVsdDtcbiRjeWFuLTMwMDogdGludC1jb2xvcigkY3lhbiwgNDAlKSAhZGVmYXVsdDtcbiRjeWFuLTQwMDogdGludC1jb2xvcigkY3lhbiwgMjAlKSAhZGVmYXVsdDtcbiRjeWFuLTUwMDogJGN5YW4gIWRlZmF1bHQ7XG4kY3lhbi02MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCAyMCUpICFkZWZhdWx0O1xuJGN5YW4tNzAwOiBzaGFkZS1jb2xvcigkY3lhbiwgNDAlKSAhZGVmYXVsdDtcbiRjeWFuLTgwMDogc2hhZGUtY29sb3IoJGN5YW4sIDYwJSkgIWRlZmF1bHQ7XG4kY3lhbi05MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCA4MCUpICFkZWZhdWx0O1xuXG4kYmx1ZXM6IChcbiAgXCJibHVlLTEwMFwiOiAkYmx1ZS0xMDAsXG4gIFwiYmx1ZS0yMDBcIjogJGJsdWUtMjAwLFxuICBcImJsdWUtMzAwXCI6ICRibHVlLTMwMCxcbiAgXCJibHVlLTQwMFwiOiAkYmx1ZS00MDAsXG4gIFwiYmx1ZS01MDBcIjogJGJsdWUtNTAwLFxuICBcImJsdWUtNjAwXCI6ICRibHVlLTYwMCxcbiAgXCJibHVlLTcwMFwiOiAkYmx1ZS03MDAsXG4gIFwiYmx1ZS04MDBcIjogJGJsdWUtODAwLFxuICBcImJsdWUtOTAwXCI6ICRibHVlLTkwMFxuKSAhZGVmYXVsdDtcblxuJGluZGlnb3M6IChcbiAgXCJpbmRpZ28tMTAwXCI6ICRpbmRpZ28tMTAwLFxuICBcImluZGlnby0yMDBcIjogJGluZGlnby0yMDAsXG4gIFwiaW5kaWdvLTMwMFwiOiAkaW5kaWdvLTMwMCxcbiAgXCJpbmRpZ28tNDAwXCI6ICRpbmRpZ28tNDAwLFxuICBcImluZGlnby01MDBcIjogJGluZGlnby01MDAsXG4gIFwiaW5kaWdvLTYwMFwiOiAkaW5kaWdvLTYwMCxcbiAgXCJpbmRpZ28tNzAwXCI6ICRpbmRpZ28tNzAwLFxuICBcImluZGlnby04MDBcIjogJGluZGlnby04MDAsXG4gIFwiaW5kaWdvLTkwMFwiOiAkaW5kaWdvLTkwMFxuKSAhZGVmYXVsdDtcblxuJHB1cnBsZXM6IChcbiAgXCJwdXJwbGUtMTAwXCI6ICRwdXJwbGUtMjAwLFxuICBcInB1cnBsZS0yMDBcIjogJHB1cnBsZS0xMDAsXG4gIFwicHVycGxlLTMwMFwiOiAkcHVycGxlLTMwMCxcbiAgXCJwdXJwbGUtNDAwXCI6ICRwdXJwbGUtNDAwLFxuICBcInB1cnBsZS01MDBcIjogJHB1cnBsZS01MDAsXG4gIFwicHVycGxlLTYwMFwiOiAkcHVycGxlLTYwMCxcbiAgXCJwdXJwbGUtNzAwXCI6ICRwdXJwbGUtNzAwLFxuICBcInB1cnBsZS04MDBcIjogJHB1cnBsZS04MDAsXG4gIFwicHVycGxlLTkwMFwiOiAkcHVycGxlLTkwMFxuKSAhZGVmYXVsdDtcblxuJHBpbmtzOiAoXG4gIFwicGluay0xMDBcIjogJHBpbmstMTAwLFxuICBcInBpbmstMjAwXCI6ICRwaW5rLTIwMCxcbiAgXCJwaW5rLTMwMFwiOiAkcGluay0zMDAsXG4gIFwicGluay00MDBcIjogJHBpbmstNDAwLFxuICBcInBpbmstNTAwXCI6ICRwaW5rLTUwMCxcbiAgXCJwaW5rLTYwMFwiOiAkcGluay02MDAsXG4gIFwicGluay03MDBcIjogJHBpbmstNzAwLFxuICBcInBpbmstODAwXCI6ICRwaW5rLTgwMCxcbiAgXCJwaW5rLTkwMFwiOiAkcGluay05MDBcbikgIWRlZmF1bHQ7XG5cbiRyZWRzOiAoXG4gIFwicmVkLTEwMFwiOiAkcmVkLTEwMCxcbiAgXCJyZWQtMjAwXCI6ICRyZWQtMjAwLFxuICBcInJlZC0zMDBcIjogJHJlZC0zMDAsXG4gIFwicmVkLTQwMFwiOiAkcmVkLTQwMCxcbiAgXCJyZWQtNTAwXCI6ICRyZWQtNTAwLFxuICBcInJlZC02MDBcIjogJHJlZC02MDAsXG4gIFwicmVkLTcwMFwiOiAkcmVkLTcwMCxcbiAgXCJyZWQtODAwXCI6ICRyZWQtODAwLFxuICBcInJlZC05MDBcIjogJHJlZC05MDBcbikgIWRlZmF1bHQ7XG5cbiRvcmFuZ2VzOiAoXG4gIFwib3JhbmdlLTEwMFwiOiAkb3JhbmdlLTEwMCxcbiAgXCJvcmFuZ2UtMjAwXCI6ICRvcmFuZ2UtMjAwLFxuICBcIm9yYW5nZS0zMDBcIjogJG9yYW5nZS0zMDAsXG4gIFwib3JhbmdlLTQwMFwiOiAkb3JhbmdlLTQwMCxcbiAgXCJvcmFuZ2UtNTAwXCI6ICRvcmFuZ2UtNTAwLFxuICBcIm9yYW5nZS02MDBcIjogJG9yYW5nZS02MDAsXG4gIFwib3JhbmdlLTcwMFwiOiAkb3JhbmdlLTcwMCxcbiAgXCJvcmFuZ2UtODAwXCI6ICRvcmFuZ2UtODAwLFxuICBcIm9yYW5nZS05MDBcIjogJG9yYW5nZS05MDBcbikgIWRlZmF1bHQ7XG5cbiR5ZWxsb3dzOiAoXG4gIFwieWVsbG93LTEwMFwiOiAkeWVsbG93LTEwMCxcbiAgXCJ5ZWxsb3ctMjAwXCI6ICR5ZWxsb3ctMjAwLFxuICBcInllbGxvdy0zMDBcIjogJHllbGxvdy0zMDAsXG4gIFwieWVsbG93LTQwMFwiOiAkeWVsbG93LTQwMCxcbiAgXCJ5ZWxsb3ctNTAwXCI6ICR5ZWxsb3ctNTAwLFxuICBcInllbGxvdy02MDBcIjogJHllbGxvdy02MDAsXG4gIFwieWVsbG93LTcwMFwiOiAkeWVsbG93LTcwMCxcbiAgXCJ5ZWxsb3ctODAwXCI6ICR5ZWxsb3ctODAwLFxuICBcInllbGxvdy05MDBcIjogJHllbGxvdy05MDBcbikgIWRlZmF1bHQ7XG5cbiRncmVlbnM6IChcbiAgXCJncmVlbi0xMDBcIjogJGdyZWVuLTEwMCxcbiAgXCJncmVlbi0yMDBcIjogJGdyZWVuLTIwMCxcbiAgXCJncmVlbi0zMDBcIjogJGdyZWVuLTMwMCxcbiAgXCJncmVlbi00MDBcIjogJGdyZWVuLTQwMCxcbiAgXCJncmVlbi01MDBcIjogJGdyZWVuLTUwMCxcbiAgXCJncmVlbi02MDBcIjogJGdyZWVuLTYwMCxcbiAgXCJncmVlbi03MDBcIjogJGdyZWVuLTcwMCxcbiAgXCJncmVlbi04MDBcIjogJGdyZWVuLTgwMCxcbiAgXCJncmVlbi05MDBcIjogJGdyZWVuLTkwMFxuKSAhZGVmYXVsdDtcblxuJHRlYWxzOiAoXG4gIFwidGVhbC0xMDBcIjogJHRlYWwtMTAwLFxuICBcInRlYWwtMjAwXCI6ICR0ZWFsLTIwMCxcbiAgXCJ0ZWFsLTMwMFwiOiAkdGVhbC0zMDAsXG4gIFwidGVhbC00MDBcIjogJHRlYWwtNDAwLFxuICBcInRlYWwtNTAwXCI6ICR0ZWFsLTUwMCxcbiAgXCJ0ZWFsLTYwMFwiOiAkdGVhbC02MDAsXG4gIFwidGVhbC03MDBcIjogJHRlYWwtNzAwLFxuICBcInRlYWwtODAwXCI6ICR0ZWFsLTgwMCxcbiAgXCJ0ZWFsLTkwMFwiOiAkdGVhbC05MDBcbikgIWRlZmF1bHQ7XG5cbiRjeWFuczogKFxuICBcImN5YW4tMTAwXCI6ICRjeWFuLTEwMCxcbiAgXCJjeWFuLTIwMFwiOiAkY3lhbi0yMDAsXG4gIFwiY3lhbi0zMDBcIjogJGN5YW4tMzAwLFxuICBcImN5YW4tNDAwXCI6ICRjeWFuLTQwMCxcbiAgXCJjeWFuLTUwMFwiOiAkY3lhbi01MDAsXG4gIFwiY3lhbi02MDBcIjogJGN5YW4tNjAwLFxuICBcImN5YW4tNzAwXCI6ICRjeWFuLTcwMCxcbiAgXCJjeWFuLTgwMFwiOiAkY3lhbi04MDAsXG4gIFwiY3lhbi05MDBcIjogJGN5YW4tOTAwXG4pICFkZWZhdWx0O1xuLy8gZnVzdi1lbmFibGVcblxuLy8gQ2hhcmFjdGVycyB3aGljaCBhcmUgZXNjYXBlZCBieSB0aGUgZXNjYXBlLXN2ZyBmdW5jdGlvblxuJGVzY2FwZWQtY2hhcmFjdGVyczogKFxuICAoXCI8XCIsIFwiJTNjXCIpLFxuICAoXCI+XCIsIFwiJTNlXCIpLFxuICAoXCIjXCIsIFwiJTIzXCIpLFxuICAoXCIoXCIsIFwiJTI4XCIpLFxuICAoXCIpXCIsIFwiJTI5XCIpLFxuKSAhZGVmYXVsdDtcblxuLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cblxuJGVuYWJsZS1jYXJldDogICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmVkdWNlZC1tb3Rpb246ICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNtb290aC1zY3JvbGw6ICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtY3NzZ3JpZDogICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1idXR0b24tcG9pbnRlcnM6ICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmZzOiAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1uZWdhdGl2ZS1tYXJnaW5zOiAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzOiAgdHJ1ZSAhZGVmYXVsdDtcblxuLy8gUHJlZml4IGZvciA6cm9vdCBDU1MgdmFyaWFibGVzXG5cbiR2YXJpYWJsZS1wcmVmaXg6ICAgICAgICAgICAgIGJzLSAhZGVmYXVsdDtcblxuLy8gR3JhZGllbnRcbi8vXG4vLyBUaGUgZ3JhZGllbnQgd2hpY2ggaXMgYWRkZWQgdG8gY29tcG9uZW50cyBpZiBgJGVuYWJsZS1ncmFkaWVudHNgIGlzIGB0cnVlYFxuLy8gVGhpcyBncmFkaWVudCBpcyBhbHNvIGFkZGVkIHRvIGVsZW1lbnRzIHdpdGggYC5iZy1ncmFkaWVudGBcbi8vIHNjc3MtZG9jcy1zdGFydCB2YXJpYWJsZS1ncmFkaWVudFxuJGdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKCR3aGl0ZSwgLjE1KSwgcmdiYSgkd2hpdGUsIDApKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdmFyaWFibGUtZ3JhZGllbnRcblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGFjZXItdmFyaWFibGVzLW1hcHNcbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKFxuICAwOiAwLFxuICAxOiAkc3BhY2VyICogLjI1LFxuICAyOiAkc3BhY2VyICogLjUsXG4gIDM6ICRzcGFjZXIsXG4gIDQ6ICRzcGFjZXIgKiAxLjUsXG4gIDU6ICRzcGFjZXIgKiAzLFxuKSAhZGVmYXVsdDtcblxuJG5lZ2F0aXZlLXNwYWNlcnM6IGlmKCRlbmFibGUtbmVnYXRpdmUtbWFyZ2lucywgbmVnYXRpdmlmeS1tYXAoJHNwYWNlcnMpLCBudWxsKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3BhY2VyLXZhcmlhYmxlcy1tYXBzXG5cbi8vIFBvc2l0aW9uXG4vL1xuLy8gRGVmaW5lIHRoZSBlZGdlIHBvc2l0aW9uaW5nIGFuY2hvcnMgb2YgdGhlIHBvc2l0aW9uIHV0aWxpdGllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvc2l0aW9uLW1hcFxuJHBvc2l0aW9uLXZhbHVlczogKFxuICAwOiAwLFxuICA1MDogNTAlLFxuICAxMDA6IDEwMCVcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBvc2l0aW9uLW1hcFxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRib2R5LXRleHQtYWxpZ246ICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4vLyBVdGlsaXRpZXMgbWFwc1xuLy9cbi8vIEV4dGVuZHMgdGhlIGRlZmF1bHQgYCR0aGVtZS1jb2xvcnNgIG1hcHMgdG8gaGVscCBjcmVhdGUgb3VyIHV0aWxpdGllcy5cblxuLy8gQ29tZSB2Niwgd2UnbGwgZGUtZHVwZSB0aGVzZSB2YXJpYWJsZXMuIFVudGlsIHRoZW4sIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB3ZSBrZWVwIHRoZW0gdG8gcmVhc3NpZ24uXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbGl0aWVzLWNvbG9yc1xuJHV0aWxpdGllcy1jb2xvcnM6ICR0aGVtZS1jb2xvcnMtcmdiICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB1dGlsaXRpZXMtY29sb3JzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB1dGlsaXRpZXMtdGV4dC1jb2xvcnNcbiR1dGlsaXRpZXMtdGV4dDogbWFwLW1lcmdlKFxuICAkdXRpbGl0aWVzLWNvbG9ycyxcbiAgKFxuICAgIFwiYmxhY2tcIjogdG8tcmdiKCRibGFjayksXG4gICAgXCJ3aGl0ZVwiOiB0by1yZ2IoJHdoaXRlKSxcbiAgICBcImJvZHlcIjogdG8tcmdiKCRib2R5LWNvbG9yKVxuICApXG4pICFkZWZhdWx0O1xuJHV0aWxpdGllcy10ZXh0LWNvbG9yczogbWFwLWxvb3AoJHV0aWxpdGllcy10ZXh0LCByZ2JhLWNzcy12YXIsIFwiJGtleVwiLCBcInRleHRcIikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHV0aWxpdGllcy10ZXh0LWNvbG9yc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbGl0aWVzLWJnLWNvbG9yc1xuJHV0aWxpdGllcy1iZzogbWFwLW1lcmdlKFxuICAkdXRpbGl0aWVzLWNvbG9ycyxcbiAgKFxuICAgIFwiYmxhY2tcIjogdG8tcmdiKCRibGFjayksXG4gICAgXCJ3aGl0ZVwiOiB0by1yZ2IoJHdoaXRlKSxcbiAgICBcImJvZHlcIjogdG8tcmdiKCRib2R5LWJnKVxuICApXG4pICFkZWZhdWx0O1xuJHV0aWxpdGllcy1iZy1jb2xvcnM6IG1hcC1sb29wKCR1dGlsaXRpZXMtYmcsIHJnYmEtY3NzLXZhciwgXCIka2V5XCIsIFwiYmdcIikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHV0aWxpdGllcy1iZy1jb2xvcnNcblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwcmltYXJ5ICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuJGxpbmstc2hhZGUtcGVyY2VudGFnZTogICAgICAgICAgICAgICAgICAgMjAlICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgc2hpZnQtY29sb3IoJGxpbmstY29sb3IsICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHN0cmV0Y2hlZC1saW5rLXBzZXVkby1lbGVtZW50OiAgICAgICAgICAgYWZ0ZXIgIWRlZmF1bHQ7XG4kc3RyZXRjaGVkLWxpbmstei1pbmRleDogICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuXG4vLyBQYXJhZ3JhcGhzXG4vL1xuLy8gU3R5bGUgcCBlbGVtZW50LlxuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgMS41cmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyaWQtYnJlYWtwb2ludHNcbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4LFxuICB4eGw6IDE0MDBweFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JpZC1icmVha3BvaW50c1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbnRhaW5lci1tYXgtd2lkdGhzXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweCxcbiAgeHhsOiAxMzIwcHhcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbnRhaW5lci1tYXgtd2lkdGhzXG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuJGd1dHRlcnM6ICRzcGFjZXJzICFkZWZhdWx0O1xuXG4vLyBDb250YWluZXIgcGFkZGluZ1xuXG4kY29udGFpbmVyLXBhZGRpbmcteDogJGdyaWQtZ3V0dGVyLXdpZHRoICogLjUgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci12YXJpYWJsZXNcbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItd2lkdGhzOiAoXG4gIDE6IDFweCxcbiAgMjogMnB4LFxuICAzOiAzcHgsXG4gIDQ6IDRweCxcbiAgNTogNXB4XG4pICFkZWZhdWx0O1xuXG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci1yYWRpdXMtdmFyaWFibGVzXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtcGlsbDogICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci1yYWRpdXMtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3gtc2hhZG93LXZhcmlhYmxlc1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1pbnNldDogICAgICAgICAgICBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBib3gtc2hhZG93LXZhcmlhYmxlc1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICAkcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmV0LXZhcmlhYmxlc1xuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2FyZXQtdmFyaWFibGVzXG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbGxhcHNlLXRyYW5zaXRpb25cbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZS13aWR0aDogICB3aWR0aCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbGxhcHNlLXRyYW5zaXRpb25cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4vLyBzY3NzLWRvY3Mtc3RhcnQgYXNwZWN0LXJhdGlvc1xuJGFzcGVjdC1yYXRpb3M6IChcbiAgXCIxeDFcIjogMTAwJSxcbiAgXCI0eDNcIjogY2FsYygzIC8gNCAqIDEwMCUpLFxuICBcIjE2eDlcIjogY2FsYyg5IC8gMTYgKiAxMDAlKSxcbiAgXCIyMXg5XCI6IGNhbGMoOSAvIDIxICogMTAwJSlcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGFzcGVjdC1yYXRpb3Ncbi8vIHN0eWxlbGludC1lbmFibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvbnQtdmFyaWFibGVzXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIGNhbmFkYS10eXBlLWdpYnNvbiwgc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICB2YXIoLS0jeyR2YXJpYWJsZS1wcmVmaXh9Zm9udC1zYW5zLXNlcmlmKSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1jb2RlOiAgICAgICAgICAgIHZhcigtLSN7JHZhcmlhYmxlLXByZWZpeH1mb250LW1vbm9zcGFjZSkgIWRlZmF1bHQ7XG5cbi8vICRmb250LXNpemUtcm9vdCBhZmZlY3RzIHRoZSB2YWx1ZSBvZiBgcmVtYCwgd2hpY2ggaXMgdXNlZCBmb3IgYXMgd2VsbCBmb250IHNpemVzLCBwYWRkaW5ncywgYW5kIG1hcmdpbnNcbi8vICRmb250LXNpemUtYmFzZSBhZmZlY3RzIHRoZSBmb250IHNpemUgb2YgdGhlIGJvZHkgdGV4dFxuJGZvbnQtc2l6ZS1yb290OiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjg3NSAhZGVmYXVsdDtcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1saWdodGVyOiAgICAgICAgIDEwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDIgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMiAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMy4yICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi42ICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMiAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9udC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvbnQtc2l6ZXNcbiRmb250LXNpemVzOiAoXG4gIDE6ICRoMS1mb250LXNpemUsXG4gIDI6ICRoMi1mb250LXNpemUsXG4gIDM6ICRoMy1mb250LXNpemUsXG4gIDQ6ICRoNC1mb250LXNpemUsXG4gIDU6ICRoNS1mb250LXNpemUsXG4gIDY6ICRoNi1mb250LXNpemVcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvbnQtc2l6ZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGhlYWRpbmdzLXZhcmlhYmxlc1xuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXN0eWxlOiAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICAgICAxMDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBoZWFkaW5ncy12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGRpc3BsYXktaGVhZGluZ3NcbiRkaXNwbGF5LWZvbnQtc2l6ZXM6IChcbiAgMTogNXJlbSxcbiAgMjogNC41cmVtLFxuICAzOiA0cmVtLFxuICA0OiAzLjVyZW0sXG4gIDU6IDNyZW0sXG4gIDY6IDIuNXJlbVxuKSAhZGVmYXVsdDtcblxuJGRpc3BsYXktZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGRpc3BsYXktaGVhZGluZ3NcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHR5cGUtdmFyaWFibGVzXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjggIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogICAgICAgICAgICAxMDAgIWRlZmF1bHQ7XG5cbiRzbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgIC44ZW0gIWRlZmF1bHQ7XG5cbiRzdWItc3VwLWZvbnQtc2l6ZTogICAgICAgICAgIC43NWVtICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRpbml0aWFsaXNtLWZvbnQtc2l6ZTogICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRibG9ja3F1b3RlLW1hcmdpbi15OiAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9vdGVyLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9vdGVyLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRoci1jb2xvcjogICAgICAgICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kaHItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGhyLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgLjI1ICFkZWZhdWx0O1xuXG4kbGVnZW5kLW1hcmdpbi1ib3R0b206ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRsZWdlbmQtZm9udC1zaXplOiAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRsZWdlbmQtZm9udC13ZWlnaHQ6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4yZW0gIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICNmY2Y4ZTMgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHR5cGUtdmFyaWFibGVzXG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtdmFyaWFibGVzXG4kdGFibGUtY2VsbC1wYWRkaW5nLXk6ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteDogICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy15LXNtOiAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy14LXNtOiAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY2VsbC12ZXJ0aWNhbC1hbGlnbjogICB0b3AgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OiAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbDtcblxuJHRhYmxlLXN0cmlwZWQtY29sb3I6ICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yOiAgICAgLjA1ICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYmc6ICAgICAgICAgICAgcmdiYSgkYmxhY2ssICR0YWJsZS1zdHJpcGVkLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1hY3RpdmUtY29sb3I6ICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmctZmFjdG9yOiAgICAgIC4xICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgcmdiYSgkYmxhY2ssICR0YWJsZS1hY3RpdmUtYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnLWZhY3RvcjogICAgICAgLjA3NSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAkdGFibGUtaG92ZXItYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci1mYWN0b3I6ICAgICAgICAgLjEgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtb3JkZXI6ICAgICAgICAgb2RkICFkZWZhdWx0O1xuXG4kdGFibGUtZ3JvdXAtc2VwYXJhdG9yLWNvbG9yOiBjdXJyZW50Q29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuXG4kdGFibGUtYmctc2NhbGU6ICAgICAgICAgICAgICAtODAlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRhYmxlLWxvb3BcbiR0YWJsZS12YXJpYW50czogKFxuICBcInByaW1hcnlcIjogICAgc2hpZnQtY29sb3IoJHByaW1hcnksICR0YWJsZS1iZy1zY2FsZSksXG4gIFwic2Vjb25kYXJ5XCI6ICBzaGlmdC1jb2xvcigkc2Vjb25kYXJ5LCAkdGFibGUtYmctc2NhbGUpLFxuICBcInN1Y2Nlc3NcIjogICAgc2hpZnQtY29sb3IoJHN1Y2Nlc3MsICR0YWJsZS1iZy1zY2FsZSksXG4gIFwiaW5mb1wiOiAgICAgICBzaGlmdC1jb2xvcigkaW5mbywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJ3YXJuaW5nXCI6ICAgIHNoaWZ0LWNvbG9yKCR3YXJuaW5nLCAkdGFibGUtYmctc2NhbGUpLFxuICBcImRhbmdlclwiOiAgICAgc2hpZnQtY29sb3IoJGRhbmdlciwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgXCJkYXJrXCI6ICAgICAgICRkYXJrLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGFibGUtbG9vcFxuXG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaW5wdXQtYnRuLXZhcmlhYmxlc1xuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1mYW1pbHk6ICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHk6IC4yNSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgICAgcmdiYSgkY29tcG9uZW50LWFjdGl2ZS1iZywgJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5KSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYmx1cjogICAgICAgICAgMCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogICAgMCAwICRpbnB1dC1idG4tZm9jdXMtYmx1ciAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgaW5wdXQtYnRuLXZhcmlhYmxlc1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCwgYW5kIGJvcmRlciBjb2xvci5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi12YXJpYWJsZXNcbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemU6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ0bi13aGl0ZS1zcGFjZTogICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gU2V0IHRvIGBub3dyYXBgIHRvIHByZXZlbnQgdGV4dCB3cmFwcGluZ1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLCAuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy13aWR0aDogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC42NSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgIGluc2V0IDAgM3B4IDVweCByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1jb2xvcjogICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJGJ0bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuJGJ0bi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kYnRuLWhvdmVyLWJnLXNoYWRlLWFtb3VudDogICAgICAgMTUlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1iZy10aW50LWFtb3VudDogICAgICAgIDE1JSAhZGVmYXVsdDtcbiRidG4taG92ZXItYm9yZGVyLXNoYWRlLWFtb3VudDogICAyMCUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJvcmRlci10aW50LWFtb3VudDogICAgMTAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYmctc2hhZGUtYW1vdW50OiAgICAgIDIwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJnLXRpbnQtYW1vdW50OiAgICAgICAyMCUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3JkZXItc2hhZGUtYW1vdW50OiAgMjUlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm9yZGVyLXRpbnQtYW1vdW50OiAgIDEwJSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYnRuLXZhcmlhYmxlc1xuXG5cbi8vIEZvcm1zXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXRleHQtdmFyaWFibGVzXG4kZm9ybS10ZXh0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLXRleHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXRleHQtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWxhYmVsLXZhcmlhYmxlc1xuJGZvcm0tbGFiZWwtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXN0eWxlOiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tbGFiZWwtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWlucHV0LXZhcmlhYmxlc1xuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAkYm94LXNoYWRvdy1pbnNldCAhZGVmYXVsdDtcblxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9jdXMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHRpbnQtY29sb3IoJGNvbXBvbmVudC1hY3RpdmUtYmcsIDUwJSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAqIDIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCAkaW5wdXQtcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY6ICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC41ZW0sICRpbnB1dC1wYWRkaW5nLXkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyOiAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuMjVlbSwgJGlucHV0LXBhZGRpbmcteSAqIC41KSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15ICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktc20gKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1sZyAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tY29sb3Itd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDNyZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0taW5wdXQtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWNoZWNrLXZhcmlhYmxlc1xuJGZvcm0tY2hlY2staW5wdXQtd2lkdGg6ICAgICAgICAgICAgICAgICAgMWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbWluLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0OiAgICAgICAgICAgICAgICAkZm9ybS1jaGVjay1pbnB1dC13aWR0aCArIC41ZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWxhYmVsLWN1cnNvcjogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1hY3RpdmUtZmlsdGVyOiAgICAgICAgICBicmlnaHRuZXNzKDkwJSkgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWJvcmRlcjogICAgICAgICAgICAgICAgIDFweCBzb2xpZCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcmFkaW8tYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm9yZGVyOiAgICAgICAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1jb2xvcjogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYm9yZGVyLWNvbG9yOiAgICRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWltYWdlOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyMCc+PHBhdGggZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMycgZD0nTTYgMTBsMyAzbDYtNicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXJhZGlvLWNoZWNrZWQtYmctaW1hZ2U6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzInIGZpbGw9JyN7JGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtY29sb3I6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjogICAkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1pbWFnZTogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzMnIGQ9J002IDEwaDgnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWxhYmVsLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAkZm9ybS1jaGVjay1pbnB1dC1kaXNhYmxlZC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stYnRuLWNoZWNrLWRpc2FibGVkLW9wYWNpdHk6ICAgICRidG4tZGlzYWJsZWQtb3BhY2l0eSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi1lbmQ6ICAgIDFyZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tY2hlY2stdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXN3aXRjaC12YXJpYWJsZXNcbiRmb3JtLXN3aXRjaC1jb2xvcjogICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC13aWR0aDogICAgICAgICAgICAgICAyZW0gIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydDogICAgICAgJGZvcm0tc3dpdGNoLXdpZHRoICsgLjVlbSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1iZy1pbWFnZTogICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRmb3JtLXN3aXRjaC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtYm9yZGVyLXJhZGl1czogICAgICAgJGZvcm0tc3dpdGNoLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXRyYW5zaXRpb246ICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tc3dpdGNoLWZvY3VzLWNvbG9yOiAgICAgICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtZm9jdXMtYmctaW1hZ2U6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skZm9ybS1zd2l0Y2gtZm9jdXMtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1zd2l0Y2gtY2hlY2tlZC1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1pbWFnZTogICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skZm9ybS1zd2l0Y2gtY2hlY2tlZC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1wb3NpdGlvbjogcmlnaHQgY2VudGVyICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXN3aXRjaC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGlucHV0LWdyb3VwLXZhcmlhYmxlc1xuJGlucHV0LWdyb3VwLWFkZG9uLXBhZGRpbmcteTogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy14OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1mb250LXdlaWdodDogICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpbnB1dC1ncm91cC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tc2VsZWN0LXZhcmlhYmxlc1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplOiAgICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgICAgJGZvcm0tc2VsZWN0LXBhZGRpbmcteCAqIDMgIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgZm9yIGJhY2tncm91bmQtaW1hZ2VcbiRmb3JtLXNlbGVjdC1mb250LXdlaWdodDogICAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnLXBvc2l0aW9uOiAgICAgICAgICAgcmlnaHQgJGZvcm0tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgICAxNnB4IDEycHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2Jz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNMiA1bDYgNiA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctZW5kOiAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICogMi41ICsgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb246ICAgIGNlbnRlciByaWdodCAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3gtc2hhZG93OiAgICAgICAgICAkYm94LXNoYWRvdy1pbnNldCAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRmb3JtLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1zbTogICAgJGlucHV0LWJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLWxnOiAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXRyYW5zaXRpb246ICAgICAgICAgICRpbnB1dC10cmFuc2l0aW9uICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXNlbGVjdC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tcmFuZ2UtdmFyaWFibGVzXG4kZm9ybS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgICRib3gtc2hhZG93LWluc2V0ICFkZWZhdWx0O1xuXG4kZm9ybS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkZm9ybS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gRWRnZVxuJGZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIHRpbnQtY29sb3IoJGNvbXBvbmVudC1hY3RpdmUtYmcsIDcwJSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItdHJhbnNpdGlvbjogICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1yYW5nZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmlsZS12YXJpYWJsZXNcbiRmb3JtLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgJGlucHV0LWdyb3VwLWFkZG9uLWJnICFkZWZhdWx0O1xuJGZvcm0tZmlsZS1idXR0b24taG92ZXItYmc6ICAgICAgIHNoYWRlLWNvbG9yKCRmb3JtLWZpbGUtYnV0dG9uLWJnLCA1JSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tZmlsZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmxvYXRpbmctdmFyaWFibGVzXG4kZm9ybS1mbG9hdGluZy1oZWlnaHQ6ICAgICAgICAgICAgYWRkKDMuNXJlbSwgJGlucHV0LWhlaWdodC1ib3JkZXIpICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGluZS1oZWlnaHQ6ICAgICAgIDEuMjUgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1wYWRkaW5nLXg6ICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteTogICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy10OiAgIDEuNjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy1iOiAgIC42MjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC1vcGFjaXR5OiAgICAgLjY1ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtOiAgIHNjYWxlKC44NSkgdHJhbnNsYXRlWSgtLjVyZW0pIHRyYW5zbGF0ZVgoLjE1cmVtKSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xcyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIC4xcyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1mbG9hdGluZy12YXJpYWJsZXNcblxuLy8gRm9ybSB2YWxpZGF0aW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWZlZWRiYWNrLXZhcmlhYmxlc1xuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJGZvcm0tdGV4dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXN0eWxlOiAgICAgICAgICAkZm9ybS10ZXh0LWZvbnQtc3R5bGUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICAkc3VjY2VzcyAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgICRkYW5nZXIgIWRlZmF1bHQ7XG5cbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yOiAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEyIDEyJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9Jz48Y2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8+PHBhdGggc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgZD0nTTUuOCAzLjZoLjRMNiA2LjV6Jy8+PGNpcmNsZSBjeD0nNicgY3k9JzguMicgcj0nLjYnIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgc3Ryb2tlPSdub25lJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWZlZWRiYWNrLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IChcbiAgXCJ2YWxpZFwiOiAoXG4gICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcixcbiAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZFxuICApLFxuICBcImludmFsaWRcIjogKFxuICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcixcbiAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkXG4gIClcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgemluZGV4LXN0YWNrXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAgICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW9mZmNhbnZhcy1iYWNrZHJvcDogICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1vZmZjYW52YXM6ICAgICAgICAgICAgICAgICAgMTA0NSAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2Ryb3A6ICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAgICAgICAgICAxMDU1ICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgICAgICAgICAgIDEwODAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHppbmRleC1zdGFja1xuXG5cbi8vIE5hdnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi12YXJpYWJsZXNcbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1mb250LXNpemU6ICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG5hdi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtbGluay10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICRncmF5LTIwMCAkZ3JheS0yMDAgJG5hdi10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogJGdyYXktMzAwICRncmF5LTMwMCAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbmF2LXZhcmlhYmxlc1xuXG5cbi8vIE5hdmJhclxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLXZhcmlhYmxlc1xuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItYnJhbmQtZm9udC1zaXplOiAgICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4vLyBDb21wdXRlIHRoZSBuYXZiYXItYnJhbmQgcGFkZGluZy15IHNvIHRoZSBuYXZiYXItYnJhbmQgd2lsbCBoYXZlIHRoZSBzYW1lIGhlaWdodCBhcyBuYXZiYXItdGV4dCBhbmQgbmF2LWxpbmtcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJG5hdi1saW5rLXBhZGRpbmcteSAqIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLWhlaWdodDogICAgICAgICAgICAgICAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkbmF2YmFyLWJyYW5kLWhlaWdodCkgKiAuNSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtbWFyZ2luLWVuZDogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9jdXMtd2lkdGg6ICAgICAgICAkYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXRyYW5zaXRpb246ICAgICAgICAgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItdGhlbWUtdmFyaWFibGVzXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjU1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKCRibGFjaywgLjcpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgkYmxhY2ssIC45KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEoJGJsYWNrLCAuMykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItbGlnaHQtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLXRoZW1lLXZhcmlhYmxlc1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLXZhcmlhYmxlc1xuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgIHN1YnRyYWN0KCRkcm9wZG93bi1ib3JkZXItcmFkaXVzLCAkZHJvcGRvd24tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRkcm9wZG93bi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAkYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgc2hhZGUtY29sb3IoJGRyb3Bkb3duLWxpbmstY29sb3IsIDEwJSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgJHNwYWNlciAqIC4yNSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZzogICAgICAgICAgICRkcm9wZG93bi1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBkcm9wZG93bi12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLWRhcmstdmFyaWFibGVzXG4kZHJvcGRvd24tZGFyay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1iZzogICAgICAgICAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1ib3JkZXItY29sb3I6ICAgICAgICAkZHJvcGRvd24tYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstZGl2aWRlci1iZzogICAgICAgICAgJGRyb3Bkb3duLWRpdmlkZXItYmcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1ib3gtc2hhZG93OiAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1jb2xvcjogICAgICAgICAgJGRyb3Bkb3duLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWhvdmVyLWNvbG9yOiAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWhvdmVyLWJnOiAgICAgICByZ2JhKCR3aGl0ZSwgLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstYWN0aXZlLWNvbG9yOiAgICRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstYWN0aXZlLWJnOiAgICAgICRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstZGlzYWJsZWQtY29sb3I6ICRncmF5LTUwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWhlYWRlci1jb2xvcjogICAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tZGFyay12YXJpYWJsZXNcblxuXG4vLyBQYWdpbmF0aW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwYWdpbmF0aW9uLXZhcmlhYmxlc1xuJHBhZ2luYXRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydDogICAgICAgICAgIC0kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWNvbG9yOiAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTogICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcGFnaW5hdGlvbi12YXJpYWJsZXNcblxuXG4vLyBQbGFjZWhvbGRlcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBsYWNlaG9sZGVyc1xuJHBsYWNlaG9sZGVyLW9wYWNpdHktbWF4OiAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItb3BhY2l0eS1taW46ICAgICAgICAgICAuMiAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcGxhY2Vob2xkZXJzXG5cbi8vIENhcmRzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJkLXZhcmlhYmxlc1xuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci14OiAgICAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kY2FyZC10aXRsZS1zcGFjZXIteTogICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgc3VidHJhY3QoJGNhcmQtYm9yZGVyLXJhZGl1cywgJGNhcmQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci15ICogLjUgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtcGFkZGluZy14OiAgICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteCAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci13aWR0aCAqIC41ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjYXJkLXZhcmlhYmxlc1xuXG4vLyBBY2NvcmRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFjY29yZGlvbi12YXJpYWJsZXNcbiRhY2NvcmRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgIHN1YnRyYWN0KCRhY2NvcmRpb24tYm9yZGVyLXJhZGl1cywgJGFjY29yZGlvbi1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICAgICAkYWNjb3JkaW9uLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAkYWNjb3JkaW9uLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteDogICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy14ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGFjY29yZGlvbi1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWJnOiAgICAgICAgICAgICAgICAgICAgICRhY2NvcmRpb24tYmcgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAkYnRuLXRyYW5zaXRpb24sIGJvcmRlci1yYWRpdXMgLjE1cyBlYXNlICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgdGludC1jb2xvcigkY29tcG9uZW50LWFjdGl2ZS1iZywgOTAlKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgIHNoYWRlLWNvbG9yKCRwcmltYXJ5LCAxMCUpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGFjY29yZGlvbi1idXR0b24tY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAkYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLXRyYW5zZm9ybTogICAgICAgICAgICAgICAgcm90YXRlKC0xODBkZWcpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1pY29uOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRhY2NvcmRpb24taWNvbi1jb2xvcn0nPjxwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTEuNjQ2IDQuNjQ2YS41LjUgMCAwIDEgLjcwOCAwTDggMTAuMjkzbDUuNjQ2LTUuNjQ3YS41LjUgMCAwIDEgLjcwOC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDggMGwtNi02YS41LjUgMCAwIDEgMC0uNzA4eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uOiAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGFjY29yZGlvbi1pY29uLWFjdGl2ZS1jb2xvcn0nPjxwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTEuNjQ2IDQuNjQ2YS41LjUgMCAwIDEgLjcwOCAwTDggMTAuMjkzbDUuNjQ2LTUuNjQ3YS41LjUgMCAwIDEgLjcwOC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDggMGwtNi02YS41LjUgMCAwIDEgMC0uNzA4eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYWNjb3JkaW9uLXZhcmlhYmxlc1xuXG4vLyBUb29sdGlwc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9vbHRpcC12YXJpYWJsZXNcbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjI1ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0b29sdGlwLXZhcmlhYmxlc1xuXG4vLyBGb3JtIHRvb2x0aXBzIG11c3QgY29tZSBhZnRlciByZWd1bGFyIHRvb2x0aXBzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9vbHRpcC1mZWVkYmFjay12YXJpYWJsZXNcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15OiAgICAgJHRvb2x0aXAtcGFkZGluZy15ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZTogICAgICR0b29sdGlwLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ6ICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eTogICAgICAgJHRvb2x0aXAtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdG9vbHRpcC1mZWVkYmFjay12YXJpYWJsZXNcblxuXG4vLyBQb3BvdmVyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcG9wb3Zlci12YXJpYWJsZXNcbiRwb3BvdmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICBzdWJ0cmFjdCgkcG9wb3Zlci1ib3JkZXItcmFkaXVzLCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgJGJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgICAgICAgIHNoYWRlLWNvbG9yKCRwb3BvdmVyLWJnLCA2JSkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcG9wb3Zlci12YXJpYWJsZXNcblxuXG4vLyBUb2FzdHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvYXN0LXZhcmlhYmxlc1xuJHRvYXN0LW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRvYXN0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAkYm94LXNoYWRvdyAhZGVmYXVsdDtcbiR0b2FzdC1zcGFjaW5nOiAgICAgICAgICAgICAgICAgICAgICRjb250YWluZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kdG9hc3QtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0b2FzdC12YXJpYWJsZXNcblxuXG4vLyBCYWRnZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJhZGdlLXZhcmlhYmxlc1xuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjc1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4zNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjY1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYmFkZ2UtdmFyaWFibGVzXG5cblxuLy8gTW9kYWxzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBtb2RhbC12YXJpYWJsZXNcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW46ICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6ICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXM6IHN1YnRyYWN0KCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMsICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICAkYm94LXNoYWRvdy1zbSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICAgICRib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICAgICAgICA4MDBweCAhZGVmYXVsdDtcbiRtb2RhbC14bDogICAgICAgICAgICAgICAgICAgICAgICAgIDExNDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWZhZGUtdHJhbnNmb3JtOiAgICAgICAgICAgICAgdHJhbnNsYXRlKDAsIC01MHB4KSAhZGVmYXVsdDtcbiRtb2RhbC1zaG93LXRyYW5zZm9ybTogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTogICAgICAgICAgICAgc2NhbGUoMS4wMikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG1vZGFsLXZhcmlhYmxlc1xuXG5cbi8vIEFsZXJ0c1xuLy9cbi8vIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYWxlcnQtdmFyaWFibGVzXG4kYWxlcnQtcGFkZGluZy15OiAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy14OiAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kYWxlcnQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRhbGVydC1iZy1zY2FsZTogICAgICAgICAgICAgICAgLTgwJSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItc2NhbGU6ICAgICAgICAgICAgLTcwJSAhZGVmYXVsdDtcbiRhbGVydC1jb2xvci1zY2FsZTogICAgICAgICAgICAgNDAlICFkZWZhdWx0O1xuJGFsZXJ0LWRpc21pc3NpYmxlLXBhZGRpbmctcjogICAkYWxlcnQtcGFkZGluZy14ICogMyAhZGVmYXVsdDsgLy8gM3ggY292ZXJzIHdpZHRoIG9mIHggcGx1cyBkZWZhdWx0IHBhZGRpbmcgb24gZWl0aGVyIHNpZGVcbi8vIHNjc3MtZG9jcy1lbmQgYWxlcnQtdmFyaWFibGVzXG5cblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcHJvZ3Jlc3MtdmFyaWFibGVzXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjc1ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICAkYm94LXNoYWRvdy1pbnNldCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICAgICAgICRwcmltYXJ5ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nOiAgICAgMXMgbGluZWFyIGluZmluaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci10cmFuc2l0aW9uOiAgICAgICAgICAgd2lkdGggLjZzIGVhc2UgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHByb2dyZXNzLXZhcmlhYmxlc1xuXG5cbi8vIExpc3QgZ3JvdXBcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGxpc3QtZ3JvdXAtdmFyaWFibGVzXG4kbGlzdC1ncm91cC1jb2xvcjogICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLWJnLXNjYWxlOiAgICAgICAgICAtODAlICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1jb2xvci1zY2FsZTogICAgICAgNDAlICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAgICAgJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbGlzdC1ncm91cC12YXJpYWJsZXNcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aHVtYm5haWwtdmFyaWFibGVzXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgICAgICAgICRib3gtc2hhZG93LXNtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aHVtYm5haWwtdmFyaWFibGVzXG5cblxuLy8gRmlndXJlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZmlndXJlLXZhcmlhYmxlc1xuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZmlndXJlLXZhcmlhYmxlc1xuXG5cbi8vIEJyZWFkY3J1bWJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBicmVhZGNydW1iLXZhcmlhYmxlc1xuJGJyZWFkY3J1bWItZm9udC1zaXplOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHF1b3RlKFwiL1wiKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItZmxpcHBlZDogICAgICAgICRicmVhZGNydW1iLWRpdmlkZXIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICBudWxsICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBicmVhZGNydW1iLXZhcmlhYmxlc1xuXG4vLyBDYXJvdXNlbFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2Fyb3VzZWwtdmFyaWFibGVzXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk6ICAgICAuOSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xNXMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1vcGFjaXR5OiAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLW9wYWNpdHk6ICAxICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgIG9wYWNpdHkgLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tcGFkZGluZy15OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1zcGFjZXI6ICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgIDJyZW0gIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nPjxwYXRoIGQ9J00xMS4zNTQgMS42NDZhLjUuNSAwIDAgMSAwIC43MDhMNS43MDcgOGw1LjY0NyA1LjY0NmEuNS41IDAgMCAxLS43MDguNzA4bC02LTZhLjUuNSAwIDAgMSAwLS43MDhsNi02YS41LjUgMCAwIDEgLjcwOCAweicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nPjxwYXRoIGQ9J000LjY0NiAxLjY0NmEuNS41IDAgMCAxIC43MDggMGw2IDZhLjUuNSAwIDAgMSAwIC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDgtLjcwOEwxMC4yOTMgOCA0LjY0NiAyLjM1NGEuNS41IDAgMCAxIDAtLjcwOHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAuNnMgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgdHJhbnNmb3JtICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0ICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuXG4kY2Fyb3VzZWwtZGFyay1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgJGJsYWNrICFkZWZhdWx0O1xuJGNhcm91c2VsLWRhcmstY2FwdGlvbi1jb2xvcjogICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjYXJvdXNlbC1kYXJrLWNvbnRyb2wtaWNvbi1maWx0ZXI6ICBpbnZlcnQoMSkgZ3JheXNjYWxlKDEwMCkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcm91c2VsLXZhcmlhYmxlc1xuXG5cbi8vIFNwaW5uZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLXZhcmlhYmxlc1xuJHNwaW5uZXItd2lkdGg6ICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0OiAgICAgICAgICAkc3Bpbm5lci13aWR0aCAhZGVmYXVsdDtcbiRzcGlubmVyLXZlcnRpY2FsLWFsaWduOiAgLS4xMjVlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aDogICAgLjI1ZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6IC43NXMgIWRlZmF1bHQ7XG5cbiRzcGlubmVyLXdpZHRoLXNtOiAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodC1zbTogICAgICAgJHNwaW5uZXItd2lkdGgtc20gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGgtc206IC4yZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItdmFyaWFibGVzXG5cblxuLy8gQ2xvc2VcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNsb3NlLXZhcmlhYmxlc1xuJGJ0bi1jbG9zZS13aWR0aDogICAgICAgICAgICAxZW0gIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWhlaWdodDogICAgICAgICAgICRidG4tY2xvc2Utd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXBhZGRpbmcteDogICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1wYWRkaW5nLXk6ICAgICAgICAkYnRuLWNsb3NlLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tY2xvc2UtY29sb3I6ICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1iZzogICAgICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skYnRuLWNsb3NlLWNvbG9yfSc+PHBhdGggZD0nTS4yOTMuMjkzYTEgMSAwIDAxMS40MTQgMEw4IDYuNTg2IDE0LjI5My4yOTNhMSAxIDAgMTExLjQxNCAxLjQxNEw5LjQxNCA4bDYuMjkzIDYuMjkzYTEgMSAwIDAxLTEuNDE0IDEuNDE0TDggOS40MTRsLTYuMjkzIDYuMjkzYTEgMSAwIDAxLTEuNDE0LTEuNDE0TDYuNTg2IDggLjI5MyAxLjcwN2ExIDEgMCAwMTAtMS40MTR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1zaGFkb3c6ICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLW9wYWNpdHk6ICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1ob3Zlci1vcGFjaXR5OiAgICAuNzUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWZvY3VzLW9wYWNpdHk6ICAgIDEgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWRpc2FibGVkLW9wYWNpdHk6IC4yNSAhZGVmYXVsdDtcbiRidG4tY2xvc2Utd2hpdGUtZmlsdGVyOiAgICAgaW52ZXJ0KDEpIGdyYXlzY2FsZSgxMDAlKSBicmlnaHRuZXNzKDIwMCUpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjbG9zZS12YXJpYWJsZXNcblxuXG4vLyBPZmZjYW52YXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG9mZmNhbnZhcy12YXJpYWJsZXNcbiRvZmZjYW52YXMtcGFkZGluZy15OiAgICAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWhvcml6b250YWwtd2lkdGg6ICAgICAgICA0MDBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdmVydGljYWwtaGVpZ2h0OiAgICAgICAgIDMwdmggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAuM3MgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkbW9kYWwtY29udGVudC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJvcmRlci13aWR0aDogICAgICAgICAgICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJnLWNvbG9yOiAgICAgICAgICAgICAgICAkbW9kYWwtY29udGVudC1iZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICRtb2RhbC1jb250ZW50LWNvbG9yICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICRtb2RhbC1iYWNrZHJvcC1iZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBvZmZjYW52YXMtdmFyaWFibGVzXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJGtiZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGNvZGUtZm9udC1zaXplICFkZWZhdWx0O1xuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuIiwiLy9cbi8vIEJhc2ljIEJvb3RzdHJhcCB0YWJsZVxuLy9cblxuLnRhYmxlIHtcbiAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9dGFibGUtYmc6ICN7JHRhYmxlLWJnfTtcbiAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9dGFibGUtYWNjZW50LWJnOiAjeyR0YWJsZS1hY2NlbnQtYmd9O1xuICAtLSN7JHZhcmlhYmxlLXByZWZpeH10YWJsZS1zdHJpcGVkLWNvbG9yOiAjeyR0YWJsZS1zdHJpcGVkLWNvbG9yfTtcbiAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9dGFibGUtc3RyaXBlZC1iZzogI3skdGFibGUtc3RyaXBlZC1iZ307XG4gIC0tI3skdmFyaWFibGUtcHJlZml4fXRhYmxlLWFjdGl2ZS1jb2xvcjogI3skdGFibGUtYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9dGFibGUtYWN0aXZlLWJnOiAjeyR0YWJsZS1hY3RpdmUtYmd9O1xuICAtLSN7JHZhcmlhYmxlLXByZWZpeH10YWJsZS1ob3Zlci1jb2xvcjogI3skdGFibGUtaG92ZXItY29sb3J9O1xuICAtLSN7JHZhcmlhYmxlLXByZWZpeH10YWJsZS1ob3Zlci1iZzogI3skdGFibGUtaG92ZXItYmd9O1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBjb2xvcjogJHRhYmxlLWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogJHRhYmxlLWNlbGwtdmVydGljYWwtYWxpZ247XG4gIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcblxuICAvLyBUYXJnZXQgdGggJiB0ZFxuICAvLyBXZSBuZWVkIHRoZSBjaGlsZCBjb21iaW5hdG9yIHRvIHByZXZlbnQgc3R5bGVzIGxlYWtpbmcgdG8gbmVzdGVkIHRhYmxlcyB3aGljaCBkb2Vzbid0IGhhdmUgYSBgLnRhYmxlYCBjbGFzcy5cbiAgLy8gV2UgdXNlIHRoZSB1bml2ZXJzYWwgc2VsZWN0b3JzIGhlcmUgdG8gc2ltcGxpZnkgdGhlIHNlbGVjdG9yIChlbHNlIHdlIHdvdWxkIG5lZWQgNiBkaWZmZXJlbnQgc2VsZWN0b3JzKS5cbiAgLy8gQW5vdGhlciBhZHZhbnRhZ2UgaXMgdGhhdCB0aGlzIGdlbmVyYXRlcyBsZXNzIGNvZGUgYW5kIG1ha2VzIHRoZSBzZWxlY3RvciBsZXNzIHNwZWNpZmljIG1ha2luZyBpdCBlYXNpZXIgdG8gb3ZlcnJpZGUuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXkgJHRhYmxlLWNlbGwtcGFkZGluZy14O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHZhcmlhYmxlLXByZWZpeH10YWJsZS1iZyk7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogJHRhYmxlLWJvcmRlci13aWR0aDtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA5OTk5cHggdmFyKC0tI3skdmFyaWFibGUtcHJlZml4fXRhYmxlLWFjY2VudC1iZyk7XG4gIH1cblxuICA+IHRib2R5IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgfVxuXG4gID4gdGhlYWQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIH1cblxuICAvLyBIaWdobGlnaHQgYm9yZGVyIGNvbG9yIGJldHdlZW4gdGhlYWQsIHRib2R5IGFuZCB0Zm9vdC5cbiAgPiA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3A6ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWdyb3VwLXNlcGFyYXRvci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBDaGFuZ2UgcGxhY2VtZW50IG9mIGNhcHRpb25zIHdpdGggYSBjbGFzc1xuLy9cblxuLmNhcHRpb24tdG9wIHtcbiAgY2FwdGlvbi1zaWRlOiB0b3A7XG59XG5cblxuLy9cbi8vIENvbmRlbnNlZCB0YWJsZSB3LyBoYWxmIHBhZGRpbmdcbi8vXG5cbi50YWJsZS1zbSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXktc20gJHRhYmxlLWNlbGwtcGFkZGluZy14LXNtO1xuICB9XG59XG5cblxuLy8gQm9yZGVyIHZlcnNpb25zXG4vL1xuLy8gQWRkIG9yIHJlbW92ZSBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cbi8vXG4vLyBXaGVuIGJvcmRlcnMgYXJlIGFkZGVkIG9uIGFsbCBzaWRlcyBvZiB0aGUgY2VsbHMsIHRoZSBjb3JuZXJzIGNhbiByZW5kZXIgb2RkIHdoZW5cbi8vIHRoZXNlIGJvcmRlcnMgZG8gbm90IGhhdmUgdGhlIHNhbWUgY29sb3Igb3IgaWYgdGhleSBhcmUgc2VtaS10cmFuc3BhcmVudC5cbi8vIFRoZXJlZm9yIHdlIGFkZCB0b3AgYW5kIGJvcmRlciBib3R0b21zIHRvIHRoZSBgdHJgcyBhbmQgbGVmdCBhbmQgcmlnaHQgYm9yZGVyc1xuLy8gdG8gdGhlIGB0ZGBzIG9yIGB0aGBzXG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gID4gOm5vdChjYXB0aW9uKSA+ICoge1xuICAgIGJvcmRlci13aWR0aDogJHRhYmxlLWJvcmRlci13aWR0aCAwO1xuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgICA+ICoge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICR0YWJsZS1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1ib3JkZXJsZXNzIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgPiA6bm90KGNhcHRpb24pID4gKiA+ICoge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIH1cblxuICA+IDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgfVxufVxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi50YWJsZS1zdHJpcGVkIHtcbiAgPiB0Ym9keSA+IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSA+ICoge1xuICAgIC0tI3skdmFyaWFibGUtcHJlZml4fXRhYmxlLWFjY2VudC1iZzogdmFyKC0tI3skdmFyaWFibGUtcHJlZml4fXRhYmxlLXN0cmlwZWQtYmcpO1xuICAgIGNvbG9yOiB2YXIoLS0jeyR2YXJpYWJsZS1wcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcik7XG4gIH1cbn1cblxuLy8gQWN0aXZlIHRhYmxlXG4vL1xuLy8gVGhlIGAudGFibGUtYWN0aXZlYCBjbGFzcyBjYW4gYmUgYWRkZWQgdG8gaGlnaGxpZ2h0IHJvd3Mgb3IgY2VsbHNcblxuLnRhYmxlLWFjdGl2ZSB7XG4gIC0tI3skdmFyaWFibGUtcHJlZml4fXRhYmxlLWFjY2VudC1iZzogdmFyKC0tI3skdmFyaWFibGUtcHJlZml4fXRhYmxlLWFjdGl2ZS1iZyk7XG4gIGNvbG9yOiB2YXIoLS0jeyR2YXJpYWJsZS1wcmVmaXh9dGFibGUtYWN0aXZlLWNvbG9yKTtcbn1cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICA+IHRib2R5ID4gdHI6aG92ZXIgPiAqIHtcbiAgICAtLSN7JHZhcmlhYmxlLXByZWZpeH10YWJsZS1hY2NlbnQtYmc6IHZhcigtLSN7JHZhcmlhYmxlLXByZWZpeH10YWJsZS1ob3Zlci1iZyk7XG4gICAgY29sb3I6IHZhcigtLSN7JHZhcmlhYmxlLXByZWZpeH10YWJsZS1ob3Zlci1jb2xvcik7XG4gIH1cbn1cblxuXG4vLyBUYWJsZSB2YXJpYW50c1xuLy9cbi8vIFRhYmxlIHZhcmlhbnRzIHNldCB0aGUgdGFibGUgY2VsbCBiYWNrZ3JvdW5kcywgYm9yZGVyIGNvbG9yc1xuLy8gYW5kIHRoZSBjb2xvcnMgb2YgdGhlIHN0cmlwZWQsIGhvdmVyZWQgJiBhY3RpdmUgdGFibGVzXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0YWJsZS12YXJpYW50cyB7XG4gIEBpbmNsdWRlIHRhYmxlLXZhcmlhbnQoJGNvbG9yLCAkdmFsdWUpO1xufVxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgIC50YWJsZS1yZXNwb25zaXZlI3skaW5maXh9IHtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtdmFyaWFudFxuQG1peGluIHRhYmxlLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCkge1xuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAkY29sb3I6IGNvbG9yLWNvbnRyYXN0KG9wYXF1ZSgkYm9keS1iZywgJGJhY2tncm91bmQpKTtcbiAgICAkaG92ZXItYmc6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1ob3Zlci1iZy1mYWN0b3IpKTtcbiAgICAkc3RyaXBlZC1iZzogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yKSk7XG4gICAgJGFjdGl2ZS1iZzogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3IpKTtcblxuICAgIC0tI3skdmFyaWFibGUtcHJlZml4fXRhYmxlLWJnOiAjeyRiYWNrZ3JvdW5kfTtcbiAgICAtLSN7JHZhcmlhYmxlLXByZWZpeH10YWJsZS1zdHJpcGVkLWJnOiAjeyRzdHJpcGVkLWJnfTtcbiAgICAtLSN7JHZhcmlhYmxlLXByZWZpeH10YWJsZS1zdHJpcGVkLWNvbG9yOiAje2NvbG9yLWNvbnRyYXN0KCRzdHJpcGVkLWJnKX07XG4gICAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9dGFibGUtYWN0aXZlLWJnOiAjeyRhY3RpdmUtYmd9O1xuICAgIC0tI3skdmFyaWFibGUtcHJlZml4fXRhYmxlLWFjdGl2ZS1jb2xvcjogI3tjb2xvci1jb250cmFzdCgkYWN0aXZlLWJnKX07XG4gICAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9dGFibGUtaG92ZXItYmc6ICN7JGhvdmVyLWJnfTtcbiAgICAtLSN7JHZhcmlhYmxlLXByZWZpeH10YWJsZS1ob3Zlci1jb2xvcjogI3tjb2xvci1jb250cmFzdCgkaG92ZXItYmcpfTtcblxuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtYm9yZGVyLWZhY3RvcikpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHRhYmxlLXZhcmlhbnRcbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEBpZiBub3QgJG4ge1xuICAgIEBlcnJvciBcImJyZWFrcG9pbnQgYCN7JG5hbWV9YCBub3QgZm91bmQgaW4gYCN7JGJyZWFrcG9pbnRzfWBcIjtcbiAgfVxuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIHJlZHVjZWQgYnkgMC4wMnB4IHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZlxuLy8gYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChtZCwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJG1heCAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46ICBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogIGJyZWFrcG9pbnQtbWF4KCRuZXh0KTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIuZmFkZSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tZmFkZSk7XG5cbiAgJjpub3QoLnNob3cpIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xsYXBzZS1jbGFzc2VzXG4uY29sbGFwc2Uge1xuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2UpO1xuXG4gICYuY29sbGFwc2UtaG9yaXpvbnRhbCB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2Utd2lkdGgpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNvbGxhcHNlLWNsYXNzZXNcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEge1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkdHJhbnNpdGlvbiB7XG4gICAgICBAaWYgJHZhbHVlID09IG51bGwgb3IgJHZhbHVlID09IG5vbmUge1xuICAgICAgICBAd2FybiBcIlRoZSBrZXl3b3JkICdub25lJyBvciAnbnVsbCcgbXVzdCBiZSB1c2VkIGFzIGEgc2luZ2xlIGFyZ3VtZW50LlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIEBpZiAkZW5hYmxlLXJlZHVjZWQtbW90aW9uIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbm9uZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTWFrZSB0aGUgZGl2IGJlaGF2ZSBsaWtlIGEgYnV0dG9uXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAvLyBCcmluZyB0aGUgaG92ZXIsIGZvY3VzZWQsIGFuZCBcImFjdGl2ZVwiIGJ1dHRvbnMgdG8gdGhlIGZyb250IHRvIG92ZXJsYXlcbiAgLy8gdGhlIGJvcmRlcnMgcHJvcGVybHlcbiAgPiAuYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLFxuICA+IC5idG4tY2hlY2s6Zm9jdXMgKyAuYnRuLFxuICA+IC5idG46aG92ZXIsXG4gID4gLmJ0bjpmb2N1cyxcbiAgPiAuYnRuOmFjdGl2ZSxcbiAgPiAuYnRuLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMTtcbiAgfVxufVxuXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXG4uYnRuLXRvb2xiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi5idG4tZ3JvdXAge1xuICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzIHdoZW4gYnV0dG9ucyBhcmUgbmV4dCB0byBlYWNoIG90aGVyXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tbGVmdDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcbiAgfVxuXG4gIC8vIFRoZSBsZWZ0IHJhZGl1cyBzaG91bGQgYmUgMCBpZiB0aGUgYnV0dG9uIGlzOlxuICAvLyAtIHRoZSBcInRoaXJkIG9yIG1vcmVcIiBjaGlsZFxuICAvLyAtIHRoZSBzZWNvbmQgY2hpbGQgYW5kIHRoZSBwcmV2aW91cyBlbGVtZW50IGlzbid0IGAuYnRuLWNoZWNrYCAobWFraW5nIGl0IHRoZSBmaXJzdCBjaGlsZCB2aXN1YWxseSlcbiAgLy8gLSBwYXJ0IG9mIGEgYnRuLWdyb3VwIHdoaWNoIGlzbid0IHRoZSBmaXJzdCBjaGlsZFxuICA+IC5idG46bnRoLWNoaWxkKG4gKyAzKSxcbiAgPiA6bm90KC5idG4tY2hlY2spICsgLmJ0bixcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygwKTtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyBAZXh0ZW5kIC5idG4tc207IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLWxnOyB9XG5cblxuLy9cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vXG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcblxuICAmOjphZnRlcixcbiAgLmRyb3B1cCAmOjphZnRlcixcbiAgLmRyb3BlbmQgJjo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3BzdGFydCAmOjpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4uYnRuLXNtICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xufVxuXG4uYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xufVxuXG5cbi8vIFRoZSBjbGlja2FibGUgYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbWVudVxuLy8gU2V0IHRoZSBzYW1lIGluc2V0IHNoYWRvdyBhcyB0aGUgOmFjdGl2ZSBzdGF0ZVxuLmJ0bi1ncm91cC5zaG93IC5kcm9wZG93bi10b2dnbGUge1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gIC8vIFNob3cgbm8gc2hhZG93IGZvciBgLmJ0bi1saW5rYCBzaW5jZSBpdCBoYXMgbm8gb3RoZXIgYnV0dG9uIHN0eWxlcy5cbiAgJi5idG4tbGluayB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBWZXJ0aWNhbCBidXR0b24gZ3JvdXBzXG4vL1xuXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tdG9wOiAtJGJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG5cbiAgPiAuYnRuIH4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gcmVwbGFjZSBuZWdhdGl2ZSB2YWx1ZXMgd2l0aCAwXG5AZnVuY3Rpb24gdmFsaWQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgJHJldHVybjogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkcmFkaXVzIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IG51bWJlciB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgbWF4KCR2YWx1ZSwgMCkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sICR2YWx1ZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci1yYWRpdXMtbWl4aW5zXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cywgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM6IGZhbHNlKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxuICBAZWxzZSBpZiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cyAhPSBmYWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3Atc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXN0YXJ0LXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXJhZGl1cy1taXhpbnNcbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzIyNzQwI2lzc3VlY29tbWVudC0zMDU4NjgxMDZcbiAgaGVpZ2h0OiAkY2FyZC1oZWlnaHQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjYXJkLWJveC1zaGFkb3cpO1xuXG4gID4gaHIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXAge1xuICAgIGJvcmRlci10b3A6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWJvdHRvbTogaW5oZXJpdDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIER1ZSB0byBzcGVjaWZpY2l0eSBvZiB0aGUgYWJvdmUgc2VsZWN0b3IgKGAuY2FyZCA+IC5saXN0LWdyb3VwYCksIHdlIG11c3RcbiAgLy8gdXNlIGEgY2hpbGQgc2VsZWN0b3IgaGVyZSB0byBwcmV2ZW50IGRvdWJsZSBib3JkZXJzLlxuICA+IC5jYXJkLWhlYWRlciArIC5saXN0LWdyb3VwLFxuICA+IC5saXN0LWdyb3VwICsgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbi5jYXJkLWJvZHkge1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgZm9yIGRlY2tzIGFuZCBncm91cHMgc28gdGhhdCBjYXJkIGJsb2NrcyB0YWtlIHVwXG4gIC8vIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGUsIGVuc3VyaW5nIGZvb3RlcnMgYXJlIGFsaWduZWQgdG8gdGhlIGJvdHRvbS5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBjb2xvcjogJGNhcmQtY29sb3I7XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogJGNhcmQtdGl0bGUtc3BhY2VyLXk7XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogLSRjYXJkLXRpdGxlLXNwYWNlci15ICogLjU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLXRleHQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLWxpbmsge1xuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgfVxuXG4gICsgLmNhcmQtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xuICB9XG59XG5cbi8vXG4vLyBPcHRpb25hbCB0ZXh0dWFsIGNhcHNcbi8vXG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRjYXJkLWNhcC1wYWRkaW5nLXkgJGNhcmQtY2FwLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVtb3ZlcyB0aGUgZGVmYXVsdCBtYXJnaW4tYm90dG9tIG9mIDxoTj5cbiAgY29sb3I6ICRjYXJkLWNhcC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItYm90dG9tOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzIDAgMCk7XG4gIH1cbn1cblxuLmNhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogJGNhcmQtY2FwLXBhZGRpbmcteSAkY2FyZC1jYXAtcGFkZGluZy14O1xuICBjb2xvcjogJGNhcmQtY2FwLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci10b3A6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICB9XG59XG5cblxuLy9cbi8vIEhlYWRlciBuYXZzXG4vL1xuXG4uY2FyZC1oZWFkZXItdGFicyB7XG4gIG1hcmdpbi1yaWdodDogLSRjYXJkLWNhcC1wYWRkaW5nLXggKiAuNTtcbiAgbWFyZ2luLWJvdHRvbTogLSRjYXJkLWNhcC1wYWRkaW5nLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGNhcmQtY2FwLXBhZGRpbmcteCAqIC41O1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIEBpZiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmcgIT0gJGNhcmQtYmcge1xuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtYmc7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY2FyZC1iZztcbiAgICB9XG4gIH1cbn1cblxuLmNhcmQtaGVhZGVyLXBpbGxzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtY2FwLXBhZGRpbmcteCAqIC41O1xuICBtYXJnaW4tbGVmdDogLSRjYXJkLWNhcC1wYWRkaW5nLXggKiAuNTtcbn1cblxuLy8gQ2FyZCBpbWFnZVxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCxcbi5jYXJkLWltZy1ib3R0b20ge1xuICB3aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy1ib3R0b20ge1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vL1xuLy8gQ2FyZCBncm91cHNcbi8vXG5cbi5jYXJkLWdyb3VwIHtcbiAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICA+IC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1ncm91cC1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICAgID4gLmNhcmQge1xuICAgICAgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICArIC5jYXJkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBIYW5kbGUgcm91bmRlZCBjb3JuZXJzXG4gICAgICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmFjY29yZGlvbi1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkYWNjb3JkaW9uLWJ1dHRvbi1wYWRkaW5nLXkgJGFjY29yZGlvbi1idXR0b24tcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcbiAgY29sb3I6ICRhY2NvcmRpb24tYnV0dG9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBSZXNldCBidXR0b24gc3R5bGVcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFjY29yZGlvbi1idXR0b24tYmc7XG4gIGJvcmRlcjogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgb3ZlcmZsb3ctYW5jaG9yOiBub25lO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRhY2NvcmRpb24tdHJhbnNpdGlvbik7XG5cbiAgJjpub3QoLmNvbGxhcHNlZCkge1xuICAgIGNvbG9yOiAkYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWJnO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKCRhY2NvcmRpb24tYm9yZGVyLXdpZHRoICogLTEpIDAgJGFjY29yZGlvbi1ib3JkZXItY29sb3I7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uKTtcbiAgICAgIHRyYW5zZm9ybTogJGFjY29yZGlvbi1pY29uLXRyYW5zZm9ybTtcbiAgICB9XG4gIH1cblxuICAvLyBBY2NvcmRpb24gaWNvblxuICAmOjphZnRlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6ICRhY2NvcmRpb24taWNvbi13aWR0aDtcbiAgICBoZWlnaHQ6ICRhY2NvcmRpb24taWNvbi13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGFjY29yZGlvbi1idXR0b24taWNvbik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRhY2NvcmRpb24taWNvbi13aWR0aDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRhY2NvcmRpb24taWNvbi10cmFuc2l0aW9uKTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGJvcmRlci1jb2xvcjogJGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm94LXNoYWRvdztcbiAgfVxufVxuXG4uYWNjb3JkaW9uLWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5hY2NvcmRpb24taXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhY2NvcmRpb24tYmc7XG4gIGJvcmRlcjogJGFjY29yZGlvbi1ib3JkZXItd2lkdGggc29saWQgJGFjY29yZGlvbi1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkYWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgLmFjY29yZGlvbi1idXR0b24ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cblxuICAvLyBPbmx5IHNldCBhIGJvcmRlci1yYWRpdXMgb24gdGhlIGxhc3QgaXRlbSBpZiB0aGUgYWNjb3JkaW9uIGlzIGNvbGxhcHNlZFxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzKTtcblxuICAgIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICAgICYuY29sbGFwc2VkIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uLWNvbGxhcHNlIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRhY2NvcmRpb24tYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG59XG5cbi5hY2NvcmRpb24tYm9keSB7XG4gIHBhZGRpbmc6ICRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXkgJGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteDtcbn1cblxuXG4vLyBGbHVzaCBhY2NvcmRpb24gaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGFjY29yZGlvbiBpdGVtcyBlZGdlLXRvLWVkZ2UuXG5cbi5hY2NvcmRpb24tZmx1c2gge1xuICAuYWNjb3JkaW9uLWNvbGxhcHNlIHtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7IGJvcmRlci10b3A6IDA7IH1cbiAgICAmOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiAwOyB9XG5cbiAgICAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0LCBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG5cbi8vIFNDU1MgUkZTIG1peGluXG4vL1xuLy8gQXV0b21hdGVkIHJlc3BvbnNpdmUgdmFsdWVzIGZvciBmb250IHNpemVzLCBwYWRkaW5ncywgbWFyZ2lucyBhbmQgbXVjaCBtb3JlXG4vL1xuLy8gTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvYmxvYi9tYWluL0xJQ0VOU0UpXG5cbi8vIENvbmZpZ3VyYXRpb25cblxuLy8gQmFzZSB2YWx1ZVxuJHJmcy1iYXNlLXZhbHVlOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJmcy11bml0OiByZW0gIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLXVuaXQgIT0gcmVtIGFuZCAkcmZzLXVuaXQgIT0gcHgge1xuICBAZXJyb3IgXCJgI3skcmZzLXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLXVuaXQuIFVzZSBgcHhgIG9yIGByZW1gLlwiO1xufVxuXG4vLyBCcmVha3BvaW50IGF0IHdoZXJlIHZhbHVlcyBzdGFydCBkZWNyZWFzaW5nIGlmIHNjcmVlbiB3aWR0aCBpcyBzbWFsbGVyXG4kcmZzLWJyZWFrcG9pbnQ6IDEyMDBweCAhZGVmYXVsdDtcbiRyZnMtYnJlYWtwb2ludC11bml0OiBweCAhZGVmYXVsdDtcblxuQGlmICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHB4IGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBlbSBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcmVtIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1icmVha3BvaW50LXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC4gVXNlIGBweGAsIGBlbWAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIFJlc2l6ZSB2YWx1ZXMgYmFzZWQgb24gc2NyZWVuIGhlaWdodCBhbmQgd2lkdGhcbiRyZnMtdHdvLWRpbWVuc2lvbmFsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFjdG9yIG9mIGRlY3JlYXNlXG4kcmZzLWZhY3RvcjogMTAgIWRlZmF1bHQ7XG5cbkBpZiB0eXBlLW9mKCRyZnMtZmFjdG9yKSAhPSBudW1iZXIgb3IgJHJmcy1mYWN0b3IgPD0gMSB7XG4gIEBlcnJvciBcImAjeyRyZnMtZmFjdG9yfWAgaXMgbm90IGEgdmFsaWQgICRyZnMtZmFjdG9yLCBpdCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxLlwiO1xufVxuXG4vLyBNb2RlLiBQb3NzaWJpbGl0aWVzOiBcIm1pbi1tZWRpYS1xdWVyeVwiLCBcIm1heC1tZWRpYS1xdWVyeVwiXG4kcmZzLW1vZGU6IG1pbi1tZWRpYS1xdWVyeSAhZGVmYXVsdDtcblxuLy8gR2VuZXJhdGUgZW5hYmxlIG9yIGRpc2FibGUgY2xhc3Nlcy4gUG9zc2liaWxpdGllczogZmFsc2UsIFwiZW5hYmxlXCIgb3IgXCJkaXNhYmxlXCJcbiRyZnMtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAxIHJlbSA9ICRyZnMtcmVtLXZhbHVlIHB4XG4kcmZzLXJlbS12YWx1ZTogMTYgIWRlZmF1bHQ7XG5cbi8vIFNhZmFyaSBpZnJhbWUgcmVzaXplIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2lzc3Vlcy8xNFxuJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZSBSRlMgYnkgc2V0dGluZyAkZW5hYmxlLXJmcyB0byBmYWxzZVxuJGVuYWJsZS1yZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIENhY2hlICRyZnMtYmFzZS12YWx1ZSB1bml0XG4kcmZzLWJhc2UtdmFsdWUtdW5pdDogdW5pdCgkcmZzLWJhc2UtdmFsdWUpO1xuXG5AZnVuY3Rpb24gZGl2aWRlKCRkaXZpZGVuZCwgJGRpdmlzb3IsICRwcmVjaXNpb246IDEwKSB7XG4gICRzaWduOiBpZigkZGl2aWRlbmQgPiAwIGFuZCAkZGl2aXNvciA+IDAgb3IgJGRpdmlkZW5kIDwgMCBhbmQgJGRpdmlzb3IgPCAwLCAxLCAtMSk7XG4gICRkaXZpZGVuZDogYWJzKCRkaXZpZGVuZCk7XG4gICRkaXZpc29yOiBhYnMoJGRpdmlzb3IpO1xuICBAaWYgJGRpdmlkZW5kID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAaWYgJGRpdmlzb3IgPT0gMCB7XG4gICAgQGVycm9yIFwiQ2Fubm90IGRpdmlkZSBieSAwXCI7XG4gIH1cbiAgJHJlbWFpbmRlcjogJGRpdmlkZW5kO1xuICAkcmVzdWx0OiAwO1xuICAkZmFjdG9yOiAxMDtcbiAgQHdoaWxlICgkcmVtYWluZGVyID4gMCBhbmQgJHByZWNpc2lvbiA+PSAwKSB7XG4gICAgJHF1b3RpZW50OiAwO1xuICAgIEB3aGlsZSAoJHJlbWFpbmRlciA+PSAkZGl2aXNvcikge1xuICAgICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAtICRkaXZpc29yO1xuICAgICAgJHF1b3RpZW50OiAkcXVvdGllbnQgKyAxO1xuICAgIH1cbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyAkcXVvdGllbnQ7XG4gICAgJGZhY3RvcjogJGZhY3RvciAqIC4xO1xuICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgKiAxMDtcbiAgICAkcHJlY2lzaW9uOiAkcHJlY2lzaW9uIC0gMTtcbiAgICBAaWYgKCRwcmVjaXNpb24gPCAwIGFuZCAkcmVtYWluZGVyID49ICRkaXZpc29yICogNSkge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIDE7XG4gICAgfVxuICB9XG4gICRyZXN1bHQ6ICRyZXN1bHQgKiAkZmFjdG9yICogJHNpZ247XG4gICRkaXZpZGVuZC11bml0OiB1bml0KCRkaXZpZGVuZCk7XG4gICRkaXZpc29yLXVuaXQ6IHVuaXQoJGRpdmlzb3IpO1xuICAkdW5pdC1tYXA6IChcbiAgICBcInB4XCI6IDFweCxcbiAgICBcInJlbVwiOiAxcmVtLFxuICAgIFwiZW1cIjogMWVtLFxuICAgIFwiJVwiOiAxJVxuICApO1xuICBAaWYgKCRkaXZpZGVuZC11bml0ICE9ICRkaXZpc29yLXVuaXQgYW5kIG1hcC1oYXMta2V5KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpKSB7XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIG1hcC1nZXQoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCk7XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRyZnMtYmFzZS12YWx1ZSBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1iYXNlLXZhbHVlLXVuaXQgPT0gcHgge1xuICAkcmZzLWJhc2UtdmFsdWU6IGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUsICRyZnMtYmFzZS12YWx1ZSAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYmFzZS12YWx1ZS11bml0ID09IHJlbSB7XG4gICRyZnMtYmFzZS12YWx1ZTogZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSwgZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBDYWNoZSAkcmZzLWJyZWFrcG9pbnQgdW5pdCB0byBwcmV2ZW50IG11bHRpcGxlIGNhbGxzXG4kcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZTogdW5pdCgkcmZzLWJyZWFrcG9pbnQpO1xuXG4vLyBSZW1vdmUgdW5pdCBmcm9tICRyZnMtYnJlYWtwb2ludCBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gcHgge1xuICAkcmZzLWJyZWFrcG9pbnQ6IGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtYnJlYWtwb2ludCAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IHJlbSBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcImVtXCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6IGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsIGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gQ2FsY3VsYXRlIHRoZSBtZWRpYSBxdWVyeSB2YWx1ZVxuJHJmcy1tcS12YWx1ZTogaWYoJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcHgsICN7JHJmcy1icmVha3BvaW50fXB4LCAje2RpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtcmVtLXZhbHVlKX0jeyRyZnMtYnJlYWtwb2ludC11bml0fSk7XG4kcmZzLW1xLXByb3BlcnR5LXdpZHRoOiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCBtYXgtd2lkdGgsIG1pbi13aWR0aCk7XG4kcmZzLW1xLXByb3BlcnR5LWhlaWdodDogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgbWF4LWhlaWdodCwgbWluLWhlaWdodCk7XG5cbi8vIEludGVybmFsIG1peGluIHVzZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIG1lZGlhIHF1ZXJ5IG5lZWRzIHRvIGJlIHVzZWRcbkBtaXhpbiBfcmZzLW1lZGlhLXF1ZXJ5IHtcbiAgQGlmICRyZnMtdHdvLWRpbWVuc2lvbmFsIHtcbiAgICBAaWYgJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSB7XG4gICAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pLCAoI3skcmZzLW1xLXByb3BlcnR5LWhlaWdodH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSkgYW5kICgjeyRyZnMtbXEtcHJvcGVydHktaGVpZ2h0fTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBkaXNhYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLXJ1bGUge1xuICBAaWYgJHJmcy1jbGFzcyA9PSBkaXNhYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5IHtcbiAgICAvLyBBZGRpbmcgYW4gZXh0cmEgY2xhc3MgaW5jcmVhc2VzIHNwZWNpZmljaXR5LCB3aGljaCBwcmV2ZW50cyB0aGUgbWVkaWEgcXVlcnkgdG8gb3ZlcnJpZGUgdGhlIHByb3BlcnR5XG4gICAgJixcbiAgICAuZGlzYWJsZS1yZnMgJixcbiAgICAmLmRpc2FibGUtcmZzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcmZzLWNsYXNzID09IGVuYWJsZSBhbmQgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgLmVuYWJsZS1yZnMgJixcbiAgICAmLmVuYWJsZS1yZnMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZW5hYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLW1lZGlhLXF1ZXJ5LXJ1bGUge1xuXG4gIEBpZiAkcmZzLWNsYXNzID09IGVuYWJsZSB7XG4gICAgQGlmICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSB7XG4gICAgICAuZW5hYmxlLXJmcyAmLFxuICAgICAgJi5lbmFibGUtcmZzIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHJmcy1jbGFzcyA9PSBkaXNhYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIC5kaXNhYmxlLXJmcyAmLFxuICAgICAgJi5kaXNhYmxlLXJmcyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBmb3JtYXR0ZWQgbm9uLXJlc3BvbnNpdmUgdmFsdWVcbkBmdW5jdGlvbiByZnMtdmFsdWUoJHZhbHVlcykge1xuICAvLyBDb252ZXJ0IHRvIGxpc3RcbiAgJHZhbHVlczogaWYodHlwZS1vZigkdmFsdWVzKSAhPSBsaXN0LCAoJHZhbHVlcywpLCAkdmFsdWVzKTtcblxuICAkdmFsOiAnJztcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArICcgMCc7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICBAaWYgJHVuaXQgPT0gcHgge1xuICAgICAgICAvLyBDb252ZXJ0IHRvIHJlbSBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArICcgJyArIGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArICRyZnMtcmVtLXZhbHVlKX1yZW0sICR2YWx1ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkdW5pdCA9PSByZW0ge1xuICAgICAgICAvLyBDb252ZXJ0IHRvIHB4IGlmIG5lZWRlZFxuICAgICAgICAkdmFsOiAkdmFsICsgJyAnICsgaWYoJHJmcy11bml0ID09IHB4LCAje2RpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAxKSAqICRyZnMtcmVtLXZhbHVlfXB4LCAkdmFsdWUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgICAgJHZhbDogJHZhbCArICcgJyArICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgZmlyc3Qgc3BhY2VcbiAgQHJldHVybiB1bnF1b3RlKHN0ci1zbGljZSgkdmFsLCAyKSk7XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIHJlc3BvbnNpdmUgdmFsdWUgY2FsY3VsYXRlZCBieSBSRlNcbkBmdW5jdGlvbiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlcykge1xuICAvLyBDb252ZXJ0IHRvIGxpc3RcbiAgJHZhbHVlczogaWYodHlwZS1vZigkdmFsdWVzKSAhPSBsaXN0LCAoJHZhbHVlcywpLCAkdmFsdWVzKTtcblxuICAkdmFsOiAnJztcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArICcgMCc7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgLy8gQ2FjaGUgJHZhbHVlIHVuaXRcbiAgICAgICR1bml0OiBpZih0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiwgdW5pdCgkdmFsdWUpLCBmYWxzZSk7XG5cbiAgICAgIC8vIElmICR2YWx1ZSBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkdmFsdWUgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICAgICAgQGlmIG5vdCAkdW5pdCBvciAkdW5pdCAhPSBweCBhbmQgJHVuaXQgIT0gcmVtIHtcbiAgICAgICAgJHZhbDogJHZhbCArICcgJyArICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAvLyBSZW1vdmUgdW5pdCBmcm9tICR2YWx1ZSBmb3IgY2FsY3VsYXRpb25zXG4gICAgICAgICR2YWx1ZTogZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArIGlmKCR1bml0ID09IHB4LCAxLCBkaXZpZGUoMSwgJHJmcy1yZW0tdmFsdWUpKSk7XG5cbiAgICAgICAgLy8gT25seSBhZGQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZSB2YWx1ZSBpcyBncmVhdGVyIHRoYW4gdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgQGlmIGFicygkdmFsdWUpIDw9ICRyZnMtYmFzZS12YWx1ZSBvciBub3QgJGVuYWJsZS1yZnMge1xuICAgICAgICAgICR2YWw6ICR2YWwgKyAnICcgKyAgaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyR2YWx1ZX1weCk7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICAgICR2YWx1ZS1taW46ICRyZnMtYmFzZS12YWx1ZSArIGRpdmlkZShhYnMoJHZhbHVlKSAtICRyZnMtYmFzZS12YWx1ZSwgJHJmcy1mYWN0b3IpO1xuXG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIGRpZmZlcmVuY2UgYmV0d2VlbiAkdmFsdWUgYW5kIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgICAgJHZhbHVlLWRpZmY6IGFicygkdmFsdWUpIC0gJHZhbHVlLW1pbjtcblxuICAgICAgICAgIC8vIEJhc2UgdmFsdWUgZm9ybWF0dGluZ1xuICAgICAgICAgICRtaW4td2lkdGg6IGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZS1taW4sICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JHZhbHVlLW1pbn1weCk7XG5cbiAgICAgICAgICAvLyBVc2UgbmVnYXRpdmUgdmFsdWUgaWYgbmVlZGVkXG4gICAgICAgICAgJG1pbi13aWR0aDogaWYoJHZhbHVlIDwgMCwgLSRtaW4td2lkdGgsICRtaW4td2lkdGgpO1xuXG4gICAgICAgICAgLy8gVXNlIGB2bWluYCBpZiB0d28tZGltZW5zaW9uYWwgaXMgZW5hYmxlZFxuICAgICAgICAgICR2YXJpYWJsZS11bml0OiBpZigkcmZzLXR3by1kaW1lbnNpb25hbCwgdm1pbiwgdncpO1xuXG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB2YXJpYWJsZSB3aWR0aCBiZXR3ZWVuIDAgYW5kICRyZnMtYnJlYWtwb2ludFxuICAgICAgICAgICR2YXJpYWJsZS13aWR0aDogI3tkaXZpZGUoJHZhbHVlLWRpZmYgKiAxMDAsICRyZnMtYnJlYWtwb2ludCl9I3skdmFyaWFibGUtdW5pdH07XG5cbiAgICAgICAgICAvLyBSZXR1cm4gdGhlIGNhbGN1bGF0ZWQgdmFsdWVcbiAgICAgICAgICAkdmFsOiAkdmFsICsgJyBjYWxjKCcgKyAkbWluLXdpZHRoICsgaWYoJHZhbHVlIDwgMCwgJyAtICcsICcgKyAnKSArICR2YXJpYWJsZS13aWR0aCArICcpJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gUkZTIG1peGluXG5AbWl4aW4gcmZzKCR2YWx1ZXMsICRwcm9wZXJ0eTogZm9udC1zaXplKSB7XG4gIEBpZiAkdmFsdWVzICE9IG51bGwge1xuICAgICR2YWw6IHJmcy12YWx1ZSgkdmFsdWVzKTtcbiAgICAkZmx1aWRWYWw6IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWVzKTtcblxuICAgIC8vIERvIG5vdCBwcmludCB0aGUgbWVkaWEgcXVlcnkgaWYgcmVzcG9uc2l2ZSAmIG5vbi1yZXNwb25zaXZlIHZhbHVlcyBhcmUgdGhlIHNhbWVcbiAgICBAaWYgJHZhbCA9PSAkZmx1aWRWYWwge1xuICAgICAgI3skcHJvcGVydHl9OiAkdmFsO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBfcmZzLXJ1bGUge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICR2YWwsICRmbHVpZFZhbCk7XG5cbiAgICAgICAgLy8gSW5jbHVkZSBzYWZhcmkgaWZyYW1lIHJlc2l6ZSBmaXggaWYgbmVlZGVkXG4gICAgICAgIG1pbi13aWR0aDogaWYoJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4LCAoMCAqIDF2dyksIG51bGwpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5LXJ1bGUge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICRmbHVpZFZhbCwgJHZhbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFNob3J0aGFuZCBoZWxwZXIgbWl4aW5zXG5AbWl4aW4gZm9udC1zaXplKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlKTtcbn1cblxuQG1peGluIHBhZGRpbmcoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmcpO1xufVxuXG5AbWl4aW4gcGFkZGluZy10b3AoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctdG9wKTtcbn1cblxuQG1peGluIHBhZGRpbmctcmlnaHQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctcmlnaHQpO1xufVxuXG5AbWl4aW4gcGFkZGluZy1ib3R0b20oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctYm90dG9tKTtcbn1cblxuQG1peGluIHBhZGRpbmctbGVmdCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1sZWZ0KTtcbn1cblxuQG1peGluIG1hcmdpbigkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luKTtcbn1cblxuQG1peGluIG1hcmdpbi10b3AoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi10b3ApO1xufVxuXG5AbWl4aW4gbWFyZ2luLXJpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tcmlnaHQpO1xufVxuXG5AbWl4aW4gbWFyZ2luLWJvdHRvbSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLWJvdHRvbSk7XG59XG5cbkBtaXhpbiBtYXJnaW4tbGVmdCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLWxlZnQpO1xufVxuIiwiLmJyZWFkY3J1bWIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6ICRicmVhZGNydW1iLXBhZGRpbmcteSAkYnJlYWRjcnVtYi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206ICRicmVhZGNydW1iLW1hcmdpbi1ib3R0b207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYnJlYWRjcnVtYi1mb250LXNpemUpO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJlYWRjcnVtYi1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmJyZWFkY3J1bWItaXRlbSB7XG4gIC8vIFRoZSBzZXBhcmF0b3IgYmV0d2VlbiBicmVhZGNydW1icyAoYnkgZGVmYXVsdCwgYSBmb3J3YXJkLXNsYXNoOiBcIi9cIilcbiAgKyAuYnJlYWRjcnVtYi1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZy14O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyAvLyBTdXBwcmVzcyBpbmxpbmUgc3BhY2luZ3MgYW5kIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3JcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZy14O1xuICAgICAgY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgICBjb250ZW50OiB2YXIoLS0jeyR2YXJpYWJsZS1wcmVmaXh9YnJlYWRjcnVtYi1kaXZpZGVyLCBlc2NhcGUtc3ZnKCRicmVhZGNydW1iLWRpdmlkZXIpKSAje1wiLyogcnRsOlwifSB2YXIoLS0jeyR2YXJpYWJsZS1wcmVmaXh9YnJlYWRjcnVtYi1kaXZpZGVyLCBlc2NhcGUtc3ZnKCRicmVhZGNydW1iLWRpdmlkZXItZmxpcHBlZCkpICN7XCIqL1wifTtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjtcbiAgfVxufVxuIiwiLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogJHBhZ2luYXRpb24tY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYmc7XG4gIGJvcmRlcjogJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoIHNvbGlkICRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkcGFnaW5hdGlvbi10cmFuc2l0aW9uKTtcblxuICAmOmhvdmVyIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWZvY3VzLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWZvY3VzLWJnO1xuICAgIG91dGxpbmU6ICRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU7XG4gICAgYm94LXNoYWRvdzogJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdztcbiAgfVxufVxuXG4ucGFnZS1pdGVtIHtcbiAgJjpub3QoOmZpcnN0LWNoaWxkKSAucGFnZS1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogJHBhZ2luYXRpb24tbWFyZ2luLXN0YXJ0O1xuICB9XG5cbiAgJi5hY3RpdmUgLnBhZ2UtbGluayB7XG4gICAgei1pbmRleDogMztcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRwYWdpbmF0aW9uLWFjdGl2ZS1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi5kaXNhYmxlZCAucGFnZS1saW5rIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuXG4vL1xuLy8gU2l6aW5nXG4vL1xuQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteSwgJHBhZ2luYXRpb24tcGFkZGluZy14LCBudWxsLCAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzKTtcblxuLnBhZ2luYXRpb24tbGcge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LWxnLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20sICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1zbSk7XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiLy8gR3JhZGllbnRzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmFkaWVudC1iZy1taXhpblxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcjogbnVsbCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyR2YXJpYWJsZS1wcmVmaXh9Z3JhZGllbnQpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGdyYWRpZW50LWJnLW1peGluXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmFkaWVudC1taXhpbnNcbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiBudWxsLCAkZW5kLXBlcmNlbnQ6IG51bGwpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgZ3JhZGllbnQtbWl4aW5zXG4iLCIvLyBQYWdpbmF0aW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwYWdpbmF0aW9uLW1peGluXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRib3JkZXItcmFkaXVzKSB7XG4gIC5wYWdlLWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gIH1cblxuICAucGFnZS1pdGVtIHtcbiAgICBAaWYgJHBhZ2luYXRpb24tbWFyZ2luLXN0YXJ0ID09ICgtJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWVuZC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAvL0FkZCBib3JkZXItcmFkaXVzIHRvIGFsbCBwYWdlTGlua3MgaW4gY2FzZSB0aGV5IGhhdmUgbGVmdCBtYXJnaW5cbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgcGFnaW5hdGlvbi1taXhpblxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIFJlcXVpcmVzIG9uZSBvZiB0aGUgY29udGV4dHVhbCwgY29sb3IgbW9kaWZpZXIgY2xhc3NlcyBmb3IgYGNvbG9yYCBhbmRcbi8vIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZy15ICRiYWRnZS1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmFkZ2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRiYWRnZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRiYWRnZS1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoKTtcblxuICAvLyBFbXB0eSBiYWRnZXMgY29sbGFwc2UgYXV0b21hdGljYWxseVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG4iLCIvLyBEaXNhYmxlIGFuaW1hdGlvbiBpZiB0cmFuc2l0aW9ucyBhcmUgZGlzYWJsZWRcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHByb2dyZXNzLWtleWZyYW1lc1xuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICBAa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgICAwJSB7IGJhY2tncm91bmQtcG9zaXRpb24teDogJHByb2dyZXNzLWhlaWdodDsgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHByb2dyZXNzLWtleWZyYW1lc1xuXG4ucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIGZvcmNlIHJvdW5kZWQgY29ybmVycyBieSBjcm9wcGluZyBpdFxuICBAaW5jbHVkZSBmb250LXNpemUoJHByb2dyZXNzLWZvbnQtc2l6ZSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHByb2dyZXNzLWJveC1zaGFkb3cpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmc7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHByb2dyZXNzLWJhci10cmFuc2l0aW9uKTtcbn1cblxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRwcm9ncmVzcy1oZWlnaHQgJHByb2dyZXNzLWhlaWdodDtcbn1cblxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgICBhbmltYXRpb246ICRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZyBwcm9ncmVzcy1iYXItc3RyaXBlcztcblxuICAgIEBpZiAkZW5hYmxlLXJlZHVjZWQtbW90aW9uIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxuXG4ubGlzdC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmxpc3QtZ3JvdXAtbnVtYmVyZWQge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGNvdW50ZXItcmVzZXQ6IHNlY3Rpb247XG5cbiAgPiBsaTo6YmVmb3JlIHtcbiAgICAvLyBJbmNyZW1lbnRzIG9ubHkgdGhpcyBpbnN0YW5jZSBvZiB0aGUgc2VjdGlvbiBjb3VudGVyXG4gICAgY29udGVudDogY291bnRlcnMoc2VjdGlvbiwgXCIuXCIpIFwiLiBcIjtcbiAgICBjb3VudGVyLWluY3JlbWVudDogc2VjdGlvbjtcbiAgfVxufVxuXG5cbi8vIEludGVyYWN0aXZlIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2UgYW5jaG9yIG9yIGJ1dHRvbiBlbGVtZW50cyBpbnN0ZWFkIG9mIGBsaWBzIG9yIGBkaXZgcyB0byBjcmVhdGUgaW50ZXJhY3RpdmVcbi8vIGxpc3QgaXRlbXMuIEluY2x1ZGVzIGFuIGV4dHJhIGAuYWN0aXZlYCBtb2RpZmllciBjbGFzcyBmb3Igc2VsZWN0ZWQgaXRlbXMuXG5cbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBiZWNvbWUgMTAwJSBieSBkZWZhdWx0IHRob3VnaClcbiAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGluaGVyaXQpXG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgei1pbmRleDogMTsgLy8gUGxhY2UgaG92ZXIvZm9jdXMgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWhvdmVyLWJnO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vLyBJbmRpdmlkdWFsIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2Ugb24gYGxpYHMgb3IgYGRpdmBzIHdpdGhpbiB0aGUgYC5saXN0LWdyb3VwYCBwYXJlbnQuXG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteSAkbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDtcbiAgY29sb3I6ICRsaXN0LWdyb3VwLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWJnO1xuICBib3JkZXI6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1ncm91cC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoaW5oZXJpdCk7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWJnO1xuICB9XG5cbiAgLy8gSW5jbHVkZSBib3RoIGhlcmUgZm9yIGA8YT5gcyBhbmQgYDxidXR0b24+YHNcbiAgJi5hY3RpdmUge1xuICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJiArICYge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEhvcml6b250YWxcbi8vXG4vLyBDaGFuZ2UgdGhlIGxheW91dCBvZiBsaXN0IGdyb3VwIGl0ZW1zIGZyb20gdmVydGljYWwgKGRlZmF1bHQpIHRvIGhvcml6b250YWwuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5saXN0LWdyb3VwLWhvcml6b250YWwjeyRpbmZpeH0ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgPiAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1zdGFydC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1lbmQtcmFkaXVzKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLWVuZC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1zdGFydC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuXG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZsdXNoIGxpc3QgaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGxpc3QgZ3JvdXAgaXRlbXMgZWRnZS10by1lZGdlLiBNb3N0XG4vLyB1c2VmdWwgd2l0aGluIG90aGVyIGNvbXBvbmVudHMgKGUuZy4sIGNhcmRzKS5cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGxpc3QtZ3JvdXAtbW9kaWZpZXJzXG4vLyBMaXN0IGdyb3VwIGNvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGVhY2ggJHN0YXRlLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICRsaXN0LWdyb3VwLXZhcmlhbnQtYmc6IHNoaWZ0LWNvbG9yKCR2YWx1ZSwgJGxpc3QtZ3JvdXAtaXRlbS1iZy1zY2FsZSk7XG4gICRsaXN0LWdyb3VwLXZhcmlhbnQtY29sb3I6IHNoaWZ0LWNvbG9yKCR2YWx1ZSwgJGxpc3QtZ3JvdXAtaXRlbS1jb2xvci1zY2FsZSk7XG4gIEBpZiAoY29udHJhc3QtcmF0aW8oJGxpc3QtZ3JvdXAtdmFyaWFudC1iZywgJGxpc3QtZ3JvdXAtdmFyaWFudC1jb2xvcikgPCAkbWluLWNvbnRyYXN0LXJhdGlvKSB7XG4gICAgJGxpc3QtZ3JvdXAtdmFyaWFudC1jb2xvcjogbWl4KCR2YWx1ZSwgY29sb3ItY29udHJhc3QoJGxpc3QtZ3JvdXAtdmFyaWFudC1iZyksIGFicygkbGlzdC1ncm91cC1pdGVtLWNvbG9yLXNjYWxlKSk7XG4gIH1cblxuICBAaW5jbHVkZSBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRsaXN0LWdyb3VwLXZhcmlhbnQtYmcsICRsaXN0LWdyb3VwLXZhcmlhbnQtY29sb3IpO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLW1vZGlmaWVyc1xuIiwiLy8gTGlzdCBHcm91cHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGxpc3QtZ3JvdXAtbWl4aW5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAmLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLW1peGluXG4iLCIvLyB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgcHJvcGVydGllcyBpbmNsdWRlZCBmb3IgYnV0dG9uIHZlcnNpb24uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbi5idG4tY2xvc2Uge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgd2lkdGg6ICRidG4tY2xvc2Utd2lkdGg7XG4gIGhlaWdodDogJGJ0bi1jbG9zZS1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRidG4tY2xvc2UtcGFkZGluZy15ICRidG4tY2xvc2UtcGFkZGluZy14O1xuICBjb2xvcjogJGJ0bi1jbG9zZS1jb2xvcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgZXNjYXBlLXN2ZygkYnRuLWNsb3NlLWJnKSBjZW50ZXIgLyAkYnRuLWNsb3NlLXdpZHRoIGF1dG8gbm8tcmVwZWF0OyAvLyBpbmNsdWRlIHRyYW5zcGFyZW50IGZvciBidXR0b24gZWxlbWVudHNcbiAgYm9yZGVyOiAwOyAvLyBmb3IgYnV0dG9uIGVsZW1lbnRzXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoKTtcbiAgb3BhY2l0eTogJGJ0bi1jbG9zZS1vcGFjaXR5O1xuXG4gIC8vIE92ZXJyaWRlIDxhPidzIGhvdmVyIHN0eWxlXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkYnRuLWNsb3NlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvcGFjaXR5OiAkYnRuLWNsb3NlLWhvdmVyLW9wYWNpdHk7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6ICRidG4tY2xvc2UtZm9jdXMtc2hhZG93O1xuICAgIG9wYWNpdHk6ICRidG4tY2xvc2UtZm9jdXMtb3BhY2l0eTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIG9wYWNpdHk6ICRidG4tY2xvc2UtZGlzYWJsZWQtb3BhY2l0eTtcbiAgfVxufVxuXG4uYnRuLWNsb3NlLXdoaXRlIHtcbiAgZmlsdGVyOiAkYnRuLWNsb3NlLXdoaXRlLWZpbHRlcjtcbn1cbiIsIi50b2FzdCB7XG4gIHdpZHRoOiAkdG9hc3QtbWF4LXdpZHRoO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkdG9hc3QtZm9udC1zaXplKTtcbiAgY29sb3I6ICR0b2FzdC1jb2xvcjtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICR0b2FzdC1ib3JkZXItd2lkdGggc29saWQgJHRvYXN0LWJvcmRlci1jb2xvcjtcbiAgYm94LXNoYWRvdzogJHRvYXN0LWJveC1zaGFkb3c7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRvYXN0LWJvcmRlci1yYWRpdXMpO1xuXG4gICYuc2hvd2luZyB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICY6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udG9hc3QtY29udGFpbmVyIHtcbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gID4gOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206ICR0b2FzdC1zcGFjaW5nO1xuICB9XG59XG5cbi50b2FzdC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy15ICR0b2FzdC1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkdG9hc3QtaGVhZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlci1ib3R0b206ICR0b2FzdC1ib3JkZXItd2lkdGggc29saWQgJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHN1YnRyYWN0KCR0b2FzdC1ib3JkZXItcmFkaXVzLCAkdG9hc3QtYm9yZGVyLXdpZHRoKSk7XG5cbiAgLmJ0bi1jbG9zZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkdG9hc3QtcGFkZGluZy14ICogLS41O1xuICAgIG1hcmdpbi1sZWZ0OiAkdG9hc3QtcGFkZGluZy14O1xuICB9XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogJHRvYXN0LXBhZGRpbmcteDsgLy8gYXBwbHkgdG8gYm90aCB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbFxuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG4iLCIvLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc3R1ZmZcblxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAvLyBnbmFybHkgaU9TIFNhZmFyaSBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNDJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luO1xuICAvLyBhbGxvdyBjbGlja3MgdG8gcGFzcyB0aHJvdWdoIGZvciBjdXN0b20gY2xpY2sgaGFuZGxpbmcgdG8gY2xvc2UgbW9kYWxcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgLm1vZGFsLmZhZGUgJiB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtZmFkZS10cmFuc2Zvcm07XG4gIH1cbiAgLm1vZGFsLnNob3cgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2hvdy10cmFuc2Zvcm07XG4gIH1cblxuICAvLyBXaGVuIHRyeWluZyB0byBjbG9zZSwgYW5pbWF0ZSBmb2N1cyB0byBzY2FsZVxuICAubW9kYWwubW9kYWwtc3RhdGljICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTtcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICBoZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5tb2RhbC1ib2R5IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpO1xufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTsgLy8gRW5zdXJlIGAubW9kYWwtY29udGVudGAgZXh0ZW5kcyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgcGFyZW50IGAubW9kYWwtZGlhbG9nYFxuICAvLyBjb3VudGVyYWN0IHRoZSBwb2ludGVyLWV2ZW50czogbm9uZTsgaW4gdGhlIC5tb2RhbC1kaWFsb2dcbiAgY29sb3I6ICRtb2RhbC1jb250ZW50LWNvbG9yO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWNvbnRlbnQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzKTtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgQGluY2x1ZGUgb3ZlcmxheS1iYWNrZHJvcCgkemluZGV4LW1vZGFsLWJhY2tkcm9wLCAkbW9kYWwtYmFja2Ryb3AtYmcsICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5KTtcbn1cblxuLy8gTW9kYWwgaGVhZGVyXG4vLyBUb3Agc2VjdGlvbiBvZiB0aGUgbW9kYWwgdy8gdGl0bGUgYW5kIGRpc21pc3Ncbi5tb2RhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBQdXQgbW9kYWwgaGVhZGVyIGVsZW1lbnRzICh0aXRsZSBhbmQgZGlzbWlzcykgb24gb3Bwb3NpdGUgZW5kc1xuICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206ICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAuYnRuLWNsb3NlIHtcbiAgICBwYWRkaW5nOiAoJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkgKiAuNSkgKCRtb2RhbC1oZWFkZXItcGFkZGluZy14ICogLjUpO1xuICAgIG1hcmdpbjogKCRtb2RhbC1oZWFkZXItcGFkZGluZy15ICogLS41KSAoJG1vZGFsLWhlYWRlci1wYWRkaW5nLXggKiAtLjUpICgkbW9kYWwtaGVhZGVyLXBhZGRpbmcteSAqIC0uNSkgYXV0bztcbiAgfVxufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XG59XG5cbi8vIE1vZGFsIGJvZHlcbi8vIFdoZXJlIGFsbCBtb2RhbCBjb250ZW50IHJlc2lkZXMgKHNpYmxpbmcgb2YgLm1vZGFsLWhlYWRlciBhbmQgLm1vZGFsLWZvb3Rlcilcbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgc28gdGhhdCB0aGUgYm9keSB0YWtlIHVwIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGVcbiAgLy8gd2hlbiB0aGVyZSBzaG91bGQgYmUgYSBmaXhlZCBoZWlnaHQgb24gYC5tb2RhbC1kaWFsb2dgLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXNocmluazogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gdmVydGljYWxseSBjZW50ZXJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgLy8gUmlnaHQgYWxpZ24gYnV0dG9ucyB3aXRoIGZsZXggcHJvcGVydHkgYmVjYXVzZSB0ZXh0LWFsaWduIGRvZXNuJ3Qgd29yayBvbiBmbGV4IGl0ZW1zXG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nIC0gJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbiAqIC41O1xuICBib3JkZXItdG9wOiAkbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gUGxhY2UgbWFyZ2luIGJldHdlZW4gZm9vdGVyIGVsZW1lbnRzXG4gIC8vIFRoaXMgc29sdXRpb24gaXMgZmFyIGZyb20gaWRlYWwgYmVjYXVzZSBvZiB0aGUgdW5pdmVyc2FsIHNlbGVjdG9yIHVzYWdlLFxuICAvLyBidXQgaXMgbmVlZGVkIHRvIGZpeCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0ODAwXG4gID4gKiB7XG4gICAgbWFyZ2luOiAkbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuICogLjU7XG4gIH1cbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC8vIEF1dG9tYXRpY2FsbHkgc2V0IG1vZGFsJ3Mgd2lkdGggZm9yIGxhcmdlciB2aWV3cG9ydHNcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbWQ7XG4gICAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwIGF1dG87XG4gIH1cblxuICAubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICAgIGhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gICAgbWluLWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuICB9XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cCk7XG4gIH1cblxuICAubW9kYWwtc20geyBtYXgtd2lkdGg6ICRtb2RhbC1zbTsgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5tb2RhbC1sZyxcbiAgLm1vZGFsLXhsIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1sZztcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5tb2RhbC14bCB7IG1heC13aWR0aDogJG1vZGFsLXhsOyB9XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBtb2RhbC1mdWxsc2NyZWVuLWxvb3BcbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAkcG9zdGZpeDogaWYoJGluZml4ICE9IFwiXCIsICRpbmZpeCArIFwiLWRvd25cIiwgXCJcIik7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgLm1vZGFsLWZ1bGxzY3JlZW4jeyRwb3N0Zml4fSB7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICB9XG5cbiAgICAgIC5tb2RhbC1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgfVxuXG4gICAgICAubW9kYWwtYm9keSB7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICB9XG5cbiAgICAgIC5tb2RhbC1mb290ZXIge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC1mdWxsc2NyZWVuLWxvb3BcbiIsIi8vIFNoYXJlZCBiZXR3ZWVuIG1vZGFscyBhbmQgb2ZmY2FudmFzZXNcbkBtaXhpbiBvdmVybGF5LWJhY2tkcm9wKCR6aW5kZXgsICRiYWNrZHJvcC1iZywgJGJhY2tkcm9wLW9wYWNpdHkpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tkcm9wLWJnO1xuXG4gIC8vIEZhZGUgZm9yIGJhY2tkcm9wXG4gICYuZmFkZSB7IG9wYWNpdHk6IDA7IH1cbiAgJi5zaG93IHsgb3BhY2l0eTogJGJhY2tkcm9wLW9wYWNpdHk7IH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkemluZGV4LXRvb2x0aXA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46ICR0b29sdGlwLW1hcmdpbjtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkdG9vbHRpcC1mb250LXNpemUpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgdG9vbHRpcCdzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJi5zaG93IHsgb3BhY2l0eTogJHRvb2x0aXAtb3BhY2l0eTsgfVxuXG4gIC50b29sdGlwLWFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtdG9wIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLnRvb2x0aXAtYXJyb3cge1xuICAgIGJvdHRvbTogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IC0xcHg7XG4gICAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggKiAuNSkgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1lbmQge1xuICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAudG9vbHRpcC1hcnJvdyB7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IC0xcHg7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1ib3R0b20ge1xuICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgMDtcblxuICAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggKiAuNSkgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLXN0YXJ0IHtcbiAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgLnRvb2x0aXAtYXJyb3cge1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtMXB4O1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHRvb2x0aXAtYXJyb3ctd2lkdGggKiAuNSkgMCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggKiAuNSkgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1hdXRvIHtcbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXRvcDtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1lbmQ7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWJvdHRvbTtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXN0YXJ0O1xuICB9XG59XG5cbi8vIFdyYXBwZXIgZm9yIHRoZSB0b29sdGlwIGNvbnRlbnRcbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmcteSAkdG9vbHRpcC1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciBvdmVyZmxvdy13cmFwIC8gd29yZC13cmFwLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xufVxuIiwiLnBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMCAje1wiLyogcnRsOmlnbm9yZSAqL1wifTtcbiAgei1pbmRleDogJHppbmRleC1wb3BvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAkcG9wb3Zlci1tYXgtd2lkdGg7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHBvcG92ZXItZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHBvcG92ZXIncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwb3BvdmVyLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwb3BvdmVyLWJveC1zaGFkb3cpO1xuXG4gIC5wb3BvdmVyLWFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci10b3Age1xuICA+IC5wb3BvdmVyLWFycm93IHtcbiAgICBib3R0b206IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWVuZCB7XG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIGxlZnQ6IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWJvdHRvbSB7XG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIHRvcDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSk7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgd2lsbCByZW1vdmUgdGhlIHBvcG92ZXItaGVhZGVyJ3MgYm9yZGVyIGp1c3QgYmVsb3cgdGhlIGFycm93XG4gIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwb3BvdmVyLWhlYWRlci1iZztcbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1zdGFydCB7XG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIHJpZ2h0OiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDAgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICByaWdodDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1hdXRvIHtcbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXRvcDtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1lbmQ7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWJvdHRvbTtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXN0YXJ0O1xuICB9XG59XG5cbi8vIE9mZnNldCB0aGUgcG9wb3ZlciB0byBhY2NvdW50IGZvciB0aGUgcG9wb3ZlciBhcnJvd1xuLnBvcG92ZXItaGVhZGVyIHtcbiAgcGFkZGluZzogJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIFJlYm9vdFxuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcbiAgY29sb3I6ICRwb3BvdmVyLWhlYWRlci1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItaGVhZGVyLWJnO1xuICBib3JkZXItYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5wb3BvdmVyLWJvZHkge1xuICBwYWRkaW5nOiAkcG9wb3Zlci1ib2R5LXBhZGRpbmcteSAkcG9wb3Zlci1ib2R5LXBhZGRpbmcteDtcbiAgY29sb3I6ICRwb3BvdmVyLWJvZHktY29sb3I7XG59XG4iLCIvLyBOb3RlcyBvbiB0aGUgY2xhc3Nlczpcbi8vXG4vLyAxLiAuY2Fyb3VzZWwucG9pbnRlci1ldmVudCBzaG91bGQgaWRlYWxseSBiZSBwYW4teSAodG8gYWxsb3cgZm9yIHVzZXJzIHRvIHNjcm9sbCB2ZXJ0aWNhbGx5KVxuLy8gICAgZXZlbiB3aGVuIHRoZWlyIHNjcm9sbCBhY3Rpb24gc3RhcnRlZCBvbiBhIGNhcm91c2VsLCBidXQgZm9yIGNvbXBhdGliaWxpdHkgKHdpdGggRmlyZWZveClcbi8vICAgIHdlJ3JlIHByZXZlbnRpbmcgYWxsIGFjdGlvbnMgaW5zdGVhZFxuLy8gMi4gVGhlIC5jYXJvdXNlbC1pdGVtLXN0YXJ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1lbmQgaXMgdXNlZCB0byBpbmRpY2F0ZSB3aGVyZVxuLy8gICAgdGhlIGFjdGl2ZSBzbGlkZSBpcyBoZWFkaW5nLlxuLy8gMy4gLmFjdGl2ZS5jYXJvdXNlbC1pdGVtIGlzIHRoZSBjdXJyZW50IHNsaWRlLlxuLy8gNC4gLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXN0YXJ0IGFuZCAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tZW5kIGlzIHRoZSBjdXJyZW50XG4vLyAgICBzbGlkZSBpbiBpdHMgaW4tdHJhbnNpdGlvbiBzdGF0ZS4gT25seSBvbmUgb2YgdGhlc2Ugb2NjdXJzIGF0IGEgdGltZS5cbi8vIDUuIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1zdGFydCBhbmQgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLWVuZFxuLy8gICAgaXMgdGhlIHVwY29taW5nIHNsaWRlIGluIHRyYW5zaXRpb24uXG5cbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLnBvaW50ZXItZXZlbnQge1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLXRyYW5zaXRpb24pO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LFxuLmNhcm91c2VsLWl0ZW0tcHJldiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBydGw6YmVnaW46aWdub3JlICovXG4uY2Fyb3VzZWwtaXRlbS1uZXh0Om5vdCguY2Fyb3VzZWwtaXRlbS1zdGFydCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tZW5kIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1wcmV2Om5vdCguY2Fyb3VzZWwtaXRlbS1lbmQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXN0YXJ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIHRyYW5zaXRpb25zXG4vL1xuXG4uY2Fyb3VzZWwtZmFkZSB7XG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuICAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tc3RhcnQsXG4gIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1lbmQge1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1zdGFydCxcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWVuZCB7XG4gICAgei1pbmRleDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwcyAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbik7XG4gIH1cbn1cblxuXG4vL1xuLy8gTGVmdC9yaWdodCBjb250cm9scyBmb3IgbmF2XG4vL1xuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDE7XG4gIC8vIFVzZSBmbGV4IGZvciBhbGlnbm1lbnQgKDEtMylcbiAgZGlzcGxheTogZmxleDsgLy8gMS4gYWxsb3cgZmxleCBzdHlsZXNcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gMi4gdmVydGljYWxseSBjZW50ZXIgY29udGVudHNcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8vIDMuIGhvcml6b250YWxseSBjZW50ZXIgY29udGVudHNcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5O1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb24pO1xuXG4gIC8vIEhvdmVyL2ZvY3VzIHN0YXRlXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5O1xuICB9XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2IHtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSksIG51bGwpO1xufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBpZigkZW5hYmxlLWdyYWRpZW50cywgbGluZWFyLWdyYWRpZW50KDI3MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSksIG51bGwpO1xufVxuXG4vLyBJY29ucyBmb3Igd2l0aGluXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG59XG5cbi8qIHJ0bDpvcHRpb25zOiB7XG4gIFwiYXV0b1JlbmFtZVwiOiB0cnVlLFxuICBcInN0cmluZ01hcFwiOlsge1xuICAgIFwibmFtZVwiICAgIDogXCJwcmV2LW5leHRcIixcbiAgICBcInNlYXJjaFwiICA6IFwicHJldlwiLFxuICAgIFwicmVwbGFjZVwiIDogXCJuZXh0XCJcbiAgfSBdXG59ICovXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZyk7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZyk7XG59XG5cbi8vIE9wdGlvbmFsIGluZGljYXRvciBwaXBzL2NvbnRyb2xzXG4vL1xuLy8gQWRkIGEgY29udGFpbmVyIChzdWNoIGFzIGEgbGlzdCkgd2l0aCB0aGUgZm9sbG93aW5nIGNsYXNzIGFuZCBhZGQgYW4gaXRlbSAoaWRlYWxseSBhIGZvY3VzYWJsZSBjb250cm9sLFxuLy8gbGlrZSBhIGJ1dHRvbikgd2l0aCBkYXRhLWJzLXRhcmdldCBmb3IgZWFjaCBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIC8vIFVzZSB0aGUgLmNhcm91c2VsLWNvbnRyb2wncyB3aWR0aCBhcyBtYXJnaW4gc28gd2UgZG9uJ3Qgb3ZlcmxheSB0aG9zZVxuICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgW2RhdGEtYnMtdGFyZ2V0XSB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6ICRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg7XG4gICAgaGVpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm9yZGVyOiAwO1xuICAgIC8vIFVzZSB0cmFuc3BhcmVudCBib3JkZXJzIHRvIGluY3JlYXNlIHRoZSBoaXQgYXJlYSBieSAxMHB4IG9uIHRvcCBhbmQgYm90dG9tLlxuICAgIGJvcmRlci10b3A6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1pbmRpY2F0b3Itb3BhY2l0eTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbik7XG4gIH1cblxuICAuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1vcGFjaXR5O1xuICB9XG59XG5cblxuLy8gT3B0aW9uYWwgY2FwdGlvbnNcbi8vXG4vL1xuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpICogLjU7XG4gIGJvdHRvbTogJGNhcm91c2VsLWNhcHRpb24tc3BhY2VyO1xuICBsZWZ0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAqIC41O1xuICBwYWRkaW5nLXRvcDogJGNhcm91c2VsLWNhcHRpb24tcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJGNhcm91c2VsLWNhcHRpb24tcGFkZGluZy15O1xuICBjb2xvcjogJGNhcm91c2VsLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLy8gRGFyayBtb2RlIGNhcm91c2VsXG5cbi5jYXJvdXNlbC1kYXJrIHtcbiAgLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLFxuICAuY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICAgIGZpbHRlcjogJGNhcm91c2VsLWRhcmstY29udHJvbC1pY29uLWZpbHRlcjtcbiAgfVxuXG4gIC5jYXJvdXNlbC1pbmRpY2F0b3JzIFtkYXRhLWJzLXRhcmdldF0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1kYXJrLWluZGljYXRvci1hY3RpdmUtYmc7XG4gIH1cblxuICAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1kYXJrLWNhcHRpb24tY29sb3I7XG4gIH1cbn1cbiIsIi8vIHNjc3MtZG9jcy1zdGFydCBjbGVhcmZpeFxuQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBjbGVhcmZpeFxuIiwiLy9cbi8vIFJvdGF0aW5nIGJvcmRlclxuLy9cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItYm9yZGVyLWtleWZyYW1lc1xuQGtleWZyYW1lcyBzcGlubmVyLWJvcmRlciB7XG4gIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKSAje1wiLyogcnRsOmlnbm9yZSAqL1wifTsgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLWJvcmRlci1rZXlmcmFtZXNcblxuLnNwaW5uZXItYm9yZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGg7XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0O1xuICB2ZXJ0aWNhbC1hbGlnbjogJHNwaW5uZXItdmVydGljYWwtYWxpZ247XG4gIGJvcmRlcjogJHNwaW5uZXItYm9yZGVyLXdpZHRoIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogJHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkIGxpbmVhciBpbmZpbml0ZSBzcGlubmVyLWJvcmRlcjtcbn1cblxuLnNwaW5uZXItYm9yZGVyLXNtIHtcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoLXNtO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodC1zbTtcbiAgYm9yZGVyLXdpZHRoOiAkc3Bpbm5lci1ib3JkZXItd2lkdGgtc207XG59XG5cbi8vXG4vLyBHcm93aW5nIGNpcmNsZVxuLy9cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItZ3Jvdy1rZXlmcmFtZXNcbkBrZXlmcmFtZXMgc3Bpbm5lci1ncm93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLWdyb3cta2V5ZnJhbWVzXG5cbi5zcGlubmVyLWdyb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiAkc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgYW5pbWF0aW9uOiAkc3Bpbm5lci1hbmltYXRpb24tc3BlZWQgbGluZWFyIGluZmluaXRlIHNwaW5uZXItZ3Jvdztcbn1cblxuLnNwaW5uZXItZ3Jvdy1zbSB7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aC1zbTtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQtc207XG59XG5cbkBpZiAkZW5hYmxlLXJlZHVjZWQtbW90aW9uIHtcbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuc3Bpbm5lci1ib3JkZXIsXG4gICAgLnNwaW5uZXItZ3JvdyB7XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246ICRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZCAqIDI7XG4gICAgfVxuICB9XG59XG4iLCIub2ZmY2FudmFzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtb2ZmY2FudmFzO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAkb2ZmY2FudmFzLWNvbG9yO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICRvZmZjYW52YXMtYmctY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIG91dGxpbmU6IDA7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJG9mZmNhbnZhcy1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0KTtcbn1cblxuLm9mZmNhbnZhcy1iYWNrZHJvcCB7XG4gIEBpbmNsdWRlIG92ZXJsYXktYmFja2Ryb3AoJHppbmRleC1vZmZjYW52YXMtYmFja2Ryb3AsICRvZmZjYW52YXMtYmFja2Ryb3AtYmcsICRvZmZjYW52YXMtYmFja2Ryb3Atb3BhY2l0eSk7XG59XG5cbi5vZmZjYW52YXMtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAkb2ZmY2FudmFzLXBhZGRpbmcteSAkb2ZmY2FudmFzLXBhZGRpbmcteDtcblxuICAuYnRuLWNsb3NlIHtcbiAgICBwYWRkaW5nOiAoJG9mZmNhbnZhcy1wYWRkaW5nLXkgKiAuNSkgKCRvZmZjYW52YXMtcGFkZGluZy14ICogLjUpO1xuICAgIG1hcmdpbi10b3A6ICRvZmZjYW52YXMtcGFkZGluZy15ICogLS41O1xuICAgIG1hcmdpbi1yaWdodDogJG9mZmNhbnZhcy1wYWRkaW5nLXggKiAtLjU7XG4gICAgbWFyZ2luLWJvdHRvbTogJG9mZmNhbnZhcy1wYWRkaW5nLXkgKiAtLjU7XG4gIH1cbn1cblxuLm9mZmNhbnZhcy10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAkb2ZmY2FudmFzLXRpdGxlLWxpbmUtaGVpZ2h0O1xufVxuXG4ub2ZmY2FudmFzLWJvZHkge1xuICBmbGV4LWdyb3c6IDE7XG4gIHBhZGRpbmc6ICRvZmZjYW52YXMtcGFkZGluZy15ICRvZmZjYW52YXMtcGFkZGluZy14O1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4ub2ZmY2FudmFzLXN0YXJ0IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogJG9mZmNhbnZhcy1ob3Jpem9udGFsLXdpZHRoO1xuICBib3JkZXItcmlnaHQ6ICRvZmZjYW52YXMtYm9yZGVyLXdpZHRoIHNvbGlkICRvZmZjYW52YXMtYm9yZGVyLWNvbG9yO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG4ub2ZmY2FudmFzLWVuZCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAkb2ZmY2FudmFzLWhvcml6b250YWwtd2lkdGg7XG4gIGJvcmRlci1sZWZ0OiAkb2ZmY2FudmFzLWJvcmRlci13aWR0aCBzb2xpZCAkb2ZmY2FudmFzLWJvcmRlci1jb2xvcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4ub2ZmY2FudmFzLXRvcCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1oZWlnaHQ7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1ib3R0b206ICRvZmZjYW52YXMtYm9yZGVyLXdpZHRoIHNvbGlkICRvZmZjYW52YXMtYm9yZGVyLWNvbG9yO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xufVxuXG4ub2ZmY2FudmFzLWJvdHRvbSB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6ICRvZmZjYW52YXMtdmVydGljYWwtaGVpZ2h0O1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItdG9wOiAkb2ZmY2FudmFzLWJvcmRlci13aWR0aCBzb2xpZCAkb2ZmY2FudmFzLWJvcmRlci1jb2xvcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xufVxuXG4ub2ZmY2FudmFzLnNob3cge1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG4iLCIucGxhY2Vob2xkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiB3YWl0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG9wYWNpdHk6ICRwbGFjZWhvbGRlci1vcGFjaXR5LW1heDtcblxuICAmLmJ0bjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi5wbGFjZWhvbGRlci14cyB7XG4gIG1pbi1oZWlnaHQ6IC42ZW07XG59XG5cbi5wbGFjZWhvbGRlci1zbSB7XG4gIG1pbi1oZWlnaHQ6IC44ZW07XG59XG5cbi5wbGFjZWhvbGRlci1sZyB7XG4gIG1pbi1oZWlnaHQ6IDEuMmVtO1xufVxuXG4vLyBBbmltYXRpb25cbi5wbGFjZWhvbGRlci1nbG93IHtcbiAgLnBsYWNlaG9sZGVyIHtcbiAgICBhbmltYXRpb246IHBsYWNlaG9sZGVyLWdsb3cgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBwbGFjZWhvbGRlci1nbG93IHtcbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAkcGxhY2Vob2xkZXItb3BhY2l0eS1taW47XG4gIH1cbn1cblxuLnBsYWNlaG9sZGVyLXdhdmUge1xuICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTMwZGVnLCAkYmxhY2sgNTUlLCByZ2JhKDAsIDAsIDAsICgxIC0gJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluKSkgNzUlLCAkYmxhY2sgOTUlKTtcbiAgbWFzay1zaXplOiAyMDAlIDEwMCU7XG4gIGFuaW1hdGlvbjogcGxhY2Vob2xkZXItd2F2ZSAycyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgcGxhY2Vob2xkZXItd2F2ZSB7XG4gIDEwMCUge1xuICAgIG1hc2stcG9zaXRpb246IC0yMDAlIDAlO1xuICB9XG59XG4iLCIvKiFcbiAqIG1tZW51LmpzXG4gKiBtbWVudWpzLmNvbVxuICpcbiAqIENvcHlyaWdodCAoYykgRnJlZCBIZXVzc2NoZW5cbiAqIGZyZWJzaXRlLm5sXG4gKlxuICogTGljZW5zZTogQ0MtQlktTkMtNC4wXG4gKiBodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1uYy80LjAvXG4gKi9cblxuLy9cdENvcmVcbkBpbXBvcnQgJ2NvcmUvb25jYW52YXMvbW1lbnUub25jYW52YXMnO1xuXG4vL1x0Q29yZSBhZGQtb25zXG5AaW1wb3J0ICdjb3JlL29mZmNhbnZhcy9tbWVudS5vZmZjYW52YXMnO1xuQGltcG9ydCAnY29yZS9zY3JlZW5yZWFkZXIvbW1lbnUuc2NyZWVucmVhZGVyJztcbi8vQGltcG9ydCAnY29yZS9zY3JvbGxidWdmaXgvbW1lbnUuc2Nyb2xsYnVnZml4JztcblxuLy9cdEFkZC1vbnNcbkBpbXBvcnQgJ2FkZG9ucy9hdXRvaGVpZ2h0L21tZW51LmF1dG9oZWlnaHQnO1xuLy9AaW1wb3J0ICdhZGRvbnMvYmFja2J1dHRvbi9tbWVudS5iYWNrYnV0dG9uJztcbkBpbXBvcnQgJ2FkZG9ucy9jb2x1bW5zL21tZW51LmNvbHVtbnMnO1xuQGltcG9ydCAnYWRkb25zL2NvdW50ZXJzL21tZW51LmNvdW50ZXJzJztcbkBpbXBvcnQgJ2FkZG9ucy9kaXZpZGVycy9tbWVudS5kaXZpZGVycyc7XG5AaW1wb3J0ICdhZGRvbnMvZHJhZy9tbWVudS5kcmFnJztcbkBpbXBvcnQgJ2FkZG9ucy9kcm9wZG93bi9tbWVudS5kcm9wZG93bic7XG4vL0BpbXBvcnQgJ2FkZG9ucy9maXhlZGVsZW1lbnRzL21tZW51LmZpeGVkZWxlbWVudHMnO1xuQGltcG9ydCAnYWRkb25zL2ljb25iYXIvbW1lbnUuaWNvbmJhcic7XG5AaW1wb3J0ICdhZGRvbnMvaWNvbnBhbmVscy9tbWVudS5pY29ucGFuZWxzJztcbkBpbXBvcnQgJ2FkZG9ucy9rZXlib2FyZG5hdmlnYXRpb24vbW1lbnUua2V5Ym9hcmRuYXZpZ2F0aW9uJztcbi8vQGltcG9ydCAnYWRkb25zL2xhenlzdWJtZW51cy9tbWVudS5sYXp5c3VibWVudXMnO1xuQGltcG9ydCAnYWRkb25zL25hdmJhcnMvbW1lbnUubmF2YmFycyc7XG4vL0BpbXBvcnQgJ2FkZG9ucy9wYWdlc2Nyb2xsL21tZW51LnBhZ2VzY3JvbGwnO1xuQGltcG9ydCAnYWRkb25zL3NlYXJjaGZpZWxkL21tZW51LnNlYXJjaGZpZWxkJztcbkBpbXBvcnQgJ2FkZG9ucy9zZWN0aW9uaW5kZXhlci9tbWVudS5zZWN0aW9uaW5kZXhlcic7XG5AaW1wb3J0ICdhZGRvbnMvc2V0c2VsZWN0ZWQvbW1lbnUuc2V0c2VsZWN0ZWQnO1xuQGltcG9ydCAnYWRkb25zL3NpZGViYXIvbW1lbnUuc2lkZWJhcic7XG5AaW1wb3J0ICdhZGRvbnMvdG9nZ2xlcy9tbWVudS50b2dnbGVzJztcblxuLy9cdEV4dGVuc2lvbnNcblxuQGltcG9ydCAnZXh0ZW5zaW9ucy9ib3JkZXJzdHlsZS9tbWVudS5ib3JkZXJzdHlsZSc7XG5AaW1wb3J0ICdleHRlbnNpb25zL2VmZmVjdHMvbW1lbnUuZWZmZWN0cyc7XG5AaW1wb3J0ICdleHRlbnNpb25zL2Z1bGxzY3JlZW4vbW1lbnUuZnVsbHNjcmVlbic7XG5AaW1wb3J0ICdleHRlbnNpb25zL2xpc3R2aWV3L21tZW51Lmxpc3R2aWV3JztcbkBpbXBvcnQgJ2V4dGVuc2lvbnMvbXVsdGlsaW5lL21tZW51Lm11bHRpbGluZSc7XG5AaW1wb3J0ICdleHRlbnNpb25zL3BhZ2VkaW0vbW1lbnUucGFnZWRpbSc7XG5AaW1wb3J0ICdleHRlbnNpb25zL3BvcHVwL21tZW51LnBvcHVwJztcbkBpbXBvcnQgJ2V4dGVuc2lvbnMvcG9zaXRpb25pbmcvbW1lbnUucG9zaXRpb25pbmcnO1xuQGltcG9ydCAnZXh0ZW5zaW9ucy9zaGFkb3dzL21tZW51LnNoYWRvd3MnO1xuQGltcG9ydCAnZXh0ZW5zaW9ucy90aGVtZXMvbW1lbnUudGhlbWVzJztcblxuLy9cdFdyYXBwZXJzXG4vL0BpbXBvcnQgJ3dyYXBwZXJzL2FuZ3VsYXIvbW1lbnUuYW5ndWxhcic7XG5AaW1wb3J0ICd3cmFwcGVycy9ib290c3RyYXAvbW1lbnUuYm9vdHN0cmFwJztcbi8vQGltcG9ydCAnd3JhcHBlcnMvbWFnZW50by9tbWVudS5tYWdlbnRvJztcbi8vQGltcG9ydCAnd3JhcHBlcnMvb2xhcmsvbW1lbnUub2xhcmsnO1xuLy9AaW1wb3J0ICd3cmFwcGVycy90dXJib2xpbmtzL21tZW51LnR1cmJvbGlua3MnO1xuLy9AaW1wb3J0ICd3cmFwcGVycy93b3JkcHJlc3MvbW1lbnUud29yZHByZXNzJztcbiIsIkBpbXBvcnQgJy4uLy4uL21peGlucycsICcuLi8uLi9pbmNsdWRlcycsICcuLi8uLi92YXJpYWJsZXMnO1xuXG4vL1x0VmFyaWFibGVzXG46cm9vdCB7XG4gICAgLy9cdHNpemVzXG4gICAgLS1tbS1saW5lLWhlaWdodDogI3skbW1fbGluZUhlaWdodH07XG4gICAgLS1tbS1saXN0aXRlbS1zaXplOiAjeyRtbV9saXN0aXRlbVNpemV9O1xuICAgIC0tbW0tbmF2YmFyLXNpemU6ICN7JG1tX25hdmJhclNpemV9O1xuXG4gICAgLy9cdHBvc2l0aW9uaW5nXG4gICAgLS1tbS1vZmZzZXQtdG9wOiAjeyRtbV9vZmZzZXRUb3B9O1xuICAgIC0tbW0tb2Zmc2V0LXJpZ2h0OiAjeyRtbV9vZmZzZXRSaWdodH07XG4gICAgLS1tbS1vZmZzZXQtYm90dG9tOiAjeyRtbV9vZmZzZXRCb3R0b219O1xuICAgIC0tbW0tb2Zmc2V0LWxlZnQ6ICN7JG1tX29mZnNldExlZnR9O1xuXG4gICAgLy9cdGNvbG9yc1xuICAgIC0tbW0tY29sb3ItYm9yZGVyOiAjeyRtbV9ib3JkZXJDb2xvcn07XG4gICAgLS1tbS1jb2xvci1idXR0b246ICN7JG1tX2RpbW1lZFRleHRDb2xvcn07XG4gICAgLS1tbS1jb2xvci10ZXh0OiAjeyRtbV90ZXh0Q29sb3J9O1xuICAgIC0tbW0tY29sb3ItdGV4dC1kaW1tZWQ6ICN7JG1tX2RpbW1lZFRleHRDb2xvcn07XG4gICAgLS1tbS1jb2xvci1iYWNrZ3JvdW5kOiAjeyRtbV9iYWNrZ3JvdW5kQ29sb3J9O1xuICAgIC0tbW0tY29sb3ItYmFja2dyb3VuZC1oaWdobGlnaHQ6ICN7JG1tX2hpZ2hsaWdodGVkQmFja2dyb3VuZENvbG9yfTtcbiAgICAtLW1tLWNvbG9yLWJhY2tncm91bmQtZW1waGFzaXM6ICN7JG1tX2VtcGhhc2l6ZWRCYWNrZ3JvdW5kQ29sb3J9O1xuXG4gICAgLy9cdG1pc2NcbiAgICAtLW1tLXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4ubW0taGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5tbS13cmFwcGVyIHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5AaW1wb3J0ICdvbmNhbnZhcy5tZW51JywgJ29uY2FudmFzLm1lbnUucnRsJywgJ29uY2FudmFzLnBhbmVscycsXG4gICAgJ29uY2FudmFzLnBhbmVscy5ydGwnLCAnb25jYW52YXMudmVydGljYWwnLCAnb25jYW52YXMuYnV0dG9ucycsXG4gICAgJ29uY2FudmFzLmJ1dHRvbnMucnRsJywgJ29uY2FudmFzLm5hdmJhcicsICdvbmNhbnZhcy5uYXZiYXIucnRsJyxcbiAgICAnb25jYW52YXMubGlzdHZpZXdzJywgJ29uY2FudmFzLmxpc3R2aWV3cy5ydGwnO1xuIiwiLm1tLW1lbnUge1xuICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgdG9wOiAkbW1fb2Zmc2V0VG9wO1xuICAgICAgICByaWdodDogJG1tX29mZnNldFJpZ2h0O1xuICAgICAgICBib3R0b206ICRtbV9vZmZzZXRCb3R0b207XG4gICAgICAgIGxlZnQ6ICRtbV9vZmZzZXRMZWZ0O1xuXG4gICAgICAgIGJhY2tncm91bmQ6ICRtbV9iYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJG1tX2JvcmRlckNvbG9yO1xuICAgICAgICBjb2xvcjogJG1tX3RleHRDb2xvcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRtbV9saW5lSGVpZ2h0O1xuICAgIH1cblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogdmFyKC0tbW0tb2Zmc2V0LXRvcCk7XG4gICAgcmlnaHQ6IHZhcigtLW1tLW9mZnNldC1yaWdodCk7XG4gICAgYm90dG9tOiB2YXIoLS1tbS1vZmZzZXQtYm90dG9tKTtcbiAgICBsZWZ0OiB2YXIoLS1tbS1vZmZzZXQtbGVmdCk7XG4gICAgei1pbmRleDogMDtcblxuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGF1dG87XG5cbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tbS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLW1tLWNvbG9yLWJvcmRlcik7XG4gICAgY29sb3I6IHZhcigtLW1tLWNvbG9yLXRleHQpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1tbS1saW5lLWhlaWdodCk7XG5cbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHZhcigtLW1tLWNvbG9yLWJhY2tncm91bmQtZW1waGFzaXMpO1xuXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblxuICAgIGEsXG4gICAgYTpsaW5rLFxuICAgIGE6YWN0aXZlLFxuICAgIGE6dmlzaXRlZCxcbiAgICBhOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG59XG4iLCIvL1x0QW5pbWF0aW9uc1xuJG1tX3RyYW5zaXRpb25EdXJhdGlvbjogMC40cyAhZGVmYXVsdDtcbiRtbV90cmFuc2l0aW9uRGVsYXk6IDAuNHMgIWRlZmF1bHQ7XG4kbW1fdHJhbnNpdGlvbkZ1bmN0aW9uOiBlYXNlICFkZWZhdWx0O1xuXG4vL1x0Q29sb3JzXG4kbW1fYmFja2dyb3VuZENvbG9yOiAjZjNmM2YzICFkZWZhdWx0O1xuJG1tX2JvcmRlckNvbG9yOiByZ2JhKCMwMDAsIDAuMSkgIWRlZmF1bHQ7XG4kbW1fZGltbWVkVGV4dENvbG9yOiByZ2JhKCMwMDAsIDAuMykgIWRlZmF1bHQ7XG4kbW1fZW1waGFzaXplZEJhY2tncm91bmRDb2xvcjogcmdiYSgjZmZmLCAwLjQpICFkZWZhdWx0O1xuJG1tX2hpZ2hsaWdodGVkQmFja2dyb3VuZENvbG9yOiByZ2JhKCMwMDAsIDAuMDUpICFkZWZhdWx0O1xuJG1tX25hdmJhckNvbG9yOiByZ2JhKCMwMDAsIDAuMykgIWRlZmF1bHQ7XG4kbW1fdGV4dENvbG9yOiByZ2JhKCMwMDAsIDAuNzUpICFkZWZhdWx0O1xuXG4vL1x0UG9zaXRpb25pbmdcbiRtbV9vZmZzZXRUb3A6IDAgIWRlZmF1bHQ7XG4kbW1fb2Zmc2V0UmlnaHQ6IDAgIWRlZmF1bHQ7XG4kbW1fb2Zmc2V0Qm90dG9tOiAwICFkZWZhdWx0O1xuJG1tX29mZnNldExlZnQ6IDAgIWRlZmF1bHQ7XG5cbi8vXHRTaXplc1xuJG1tX2xpc3RpdGVtU2l6ZTogNDRweCAhZGVmYXVsdDtcbiRtbV9idG5TaXplOiA1MHB4ICFkZWZhdWx0O1xuJG1tX3BhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XG4kbW1fbGluZUhlaWdodDogMjBweCAhZGVmYXVsdDtcblxuJG1tX2xpc3RpdGVtSW5kZW50OiAkbW1fcGFkZGluZyAqIDIgIWRlZmF1bHQ7XG4kbW1fbmF2YmFyU2l6ZTogJG1tX2xpc3RpdGVtU2l6ZSAhZGVmYXVsdDtcbiRtbV9wYW5lbFBhZGRpbmc6ICRtbV9wYWRkaW5nICogMiAhZGVmYXVsdDtcbiRtbV9zdWJvcGVuV2lkdGg6ICRtbV9idG5TaXplICFkZWZhdWx0O1xuJG1tX3N1YnBhbmVsT2Zmc2V0OiAzMCUgIWRlZmF1bHQ7XG5cbiRtbV9tZW51V2lkdGg6IDAuOCAhZGVmYXVsdDtcbiRtbV9tZW51TWluV2lkdGg6IDI0MHB4ICFkZWZhdWx0O1xuJG1tX21lbnVNYXhXaWR0aDogNDQwcHggIWRlZmF1bHQ7XG4kbW1fbWVudUhlaWdodDogMC44ICFkZWZhdWx0O1xuJG1tX21lbnVNaW5IZWlnaHQ6IDE0MHB4ICFkZWZhdWx0O1xuJG1tX21lbnVNYXhIZWlnaHQ6IDg4MHB4ICFkZWZhdWx0O1xuXG4kbW1fb3B0X3NjcmVlbnJlYWRlclx0OiB0cnVlICFkZWZhdWx0O1xuXG4kbW1fY291bnRlcldpZHRoOiAkbW1fYnRuU2l6ZSAhZGVmYXVsdDtcblxuJG1tX2Ryb3Bkb3duU2hhZG93OiAwIDJweCAxMHB4IHJnYmEoICMwMDAsIDAuMyApICFkZWZhdWx0O1xuJG1tX2Ryb3Bkb3duVGlwWDogMjBweCAhZGVmYXVsdDtcbiRtbV9kcm9wZG93blRpcFk6IDEwcHggIWRlZmF1bHQ7XG5cbiRtbV9pY29uYmFyU2l6ZTogJG1tX2J0blNpemUgIWRlZmF1bHQ7XG5cbiRtbV9pY29ucGFuZWxTaXplOiAkbW1fYnRuU2l6ZSAhZGVmYXVsdDtcblxuJG1tX3NlY3Rpb25JbmRleGVyU2l6ZTogMjBweCAhZGVmYXVsdDtcblxuJG1tX3NpZGViYXJDb2xsYXBzZWRTaXplOiAkbW1fYnRuU2l6ZSAhZGVmYXVsdDtcbiRtbV9zaWRlYmFyRXhwYW5kZWRTaXplOiAkbW1fbWVudU1heFdpZHRoICFkZWZhdWx0O1xuXG4kbW1fdG9nZ2xlQ2hlY2tlZENvbG9yOiAjNGJkOTYzICFkZWZhdWx0O1xuJG1tX3RvZ2dsZUhlaWdodDogJG1tX2xpc3RpdGVtU2l6ZSAtICRtbV9wYWRkaW5nICFkZWZhdWx0O1xuJG1tX3RvZ2dsZVdpZHRoOiAoJG1tX3RvZ2dsZUhlaWdodCAqIDIpIC0gJG1tX3BhZGRpbmcgIWRlZmF1bHQ7XG4kbW1fY2hlY2tIZWlnaHQ6ICRtbV9idG5TaXplIC0gJG1tX3BhZGRpbmcgIWRlZmF1bHQ7XG4kbW1fY2hlY2tXaWR0aDogJG1tX2J0blNpemUgLSAkbW1fcGFkZGluZyAhZGVmYXVsdDtcblxuJG1tX2Z1bGxzY3JlZW5fZnVsbDogMSAhZGVmYXVsdDtcbiRtbV9mdWxsc2NyZWVuX21pbjogMTQwcHggIWRlZmF1bHQ7XG4kbW1fZnVsbHNjcmVlbl9tYXg6IDEwMDAwcHggIWRlZmF1bHQ7XG5cbiRtbV9wYWdlZGltT3BhY2l0eTogMC4zICFkZWZhdWx0O1xuJG1tX3BhZ2VkaW1EZWxheTogMC40cyAhZGVmYXVsdDtcbiRtbV9wb3B1cFNoYWRvdzogMCAycHggMTBweCByZ2JhKCAjMDAwLCAwLjMgKSAhZGVmYXVsdDsiLCJAaWYgKCAkbW1faW5jbHVkZV9ydGwgKSB7XG5cdFtkaXI9XCJydGxcIl0gLm1tLW1lbnUge1xuXHRcdGRpcmVjdGlvbjogcnRsO1xuXHR9XG59IiwiJG1tX21vZHVsZTogJy5tbS1wYW5lbCc7XG5cbiN7JG1tX21vZHVsZX0ge1xuICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgYmFja2dyb3VuZDogJG1tX2JhY2tncm91bmRDb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkbW1fYm9yZGVyQ29sb3I7XG4gICAgICAgIGNvbG9yOiAkbW1fdGV4dENvbG9yO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiAkbW1fbGlzdGl0ZW1TaXplO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgei1pbmRleDogMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIGNvbG9yOiB2YXIoLS1tbS1jb2xvci10ZXh0KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLW1tLWNvbG9yLWJvcmRlcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbW0tY29sb3ItYmFja2dyb3VuZCk7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkbW1fdHJhbnNpdGlvbkR1cmF0aW9uICRtbV90cmFuc2l0aW9uRnVuY3Rpb247XG5cbiAgICAvL1x0Rml4ZXMgY3NzIGZyb20gb3RoZXIgc3R5bGVzIGhpZGluZyBzdWJtZW51c1xuICAgICY6bm90KC5tbS1oaWRkZW4pIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLy9cdEJlY2F1c2UgcGFkZGluZy1ib3R0b20gaXMgaWdub3JlZCB3aGVuIGEgRElWIGlzIHNjcm9sbGFibGVcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLW1tLWxpc3RpdGVtLXNpemUpO1xuICAgIH1cblxuICAgICZfb3BlbmVkIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCwgMCk7XG4gICAgfVxuXG4gICAgJl9vcGVuZWQtcGFyZW50IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtJG1tX3N1YnBhbmVsT2Zmc2V0LCAwLCAwKTtcbiAgICB9XG5cbiAgICAmX2hpZ2hlc3Qge1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgICZfbm9hbmltYXRpb24ge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJiN7JG1tX21vZHVsZX1fb3BlbmVkLXBhcmVudCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1tLXBhbmVscyA+ICYge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICB9XG59XG5cbiN7JG1tX21vZHVsZX1fX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6ICRtbV9wYW5lbFBhZGRpbmcgJG1tX3BhbmVsUGFkZGluZyAwO1xufVxuXG4ubW0tcGFuZWxzIHtcbiAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRtbV9iYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJG1tX2JvcmRlckNvbG9yO1xuICAgICAgICBjb2xvcjogJG1tX3RleHRDb2xvcjtcbiAgICB9XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgYmFja2dyb3VuZDogdmFyKC0tbW0tY29sb3ItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tbS1jb2xvci1ib3JkZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1tbS1jb2xvci10ZXh0KTtcbn1cbiIsIkBpZiAoJG1tX2luY2x1ZGVfcnRsKSB7XG4gICAgW2Rpcj0ncnRsJ10gLm1tLXBhbmVsIHtcbiAgICAgICAgJjpub3QoLm1tLXBhbmVsX29wZW5lZCkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLm1tLXBhbmVsX29wZW5lZC1wYXJlbnQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMCUsIDAsIDApO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGlmICgkbW1faW5jbHVkZV92ZXJ0aWNhbCkge1xuICAgIC5tbS1saXN0aXRlbV92ZXJ0aWNhbCA+IC5tbS1wYW5lbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAkbW1fcGFkZGluZyAwICRtbV9wYWRkaW5nICRtbV9wYWRkaW5nO1xuXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1tLWxpc3RpdGVtX29wZW5lZCA+IC5tbS1wYW5lbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5tbS1saXN0aXRlbV92ZXJ0aWNhbCB7XG4gICAgICAgID4gLm1tLWxpc3RpdGVtX19idG4ge1xuICAgICAgICAgICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICAgICAgICAgIGhlaWdodDogJG1tX2xpc3RpdGVtU2l6ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS1tbS1saXN0aXRlbS1zaXplKTtcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5tbS1saXN0aXRlbTpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW0tbGlzdGl0ZW1fb3BlbmVkIHtcbiAgICAgICAgPiAubW0tbGlzdGl0ZW1fX2J0bjphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpO1xuICAgICAgICAgICAgcmlnaHQ6ICRtbV9saXN0aXRlbUluZGVudCAtIDE7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIkbW1fbW9kdWxlOiAnLm1tLWJ0bic7XG5cbiN7JG1tX21vZHVsZX0ge1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJG1tX2J0blNpemU7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkbW1fZGltbWVkVGV4dENvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tbW0tY29sb3ItYnV0dG9uKTtcbiAgICB9XG59XG5cbiVtbV9idG5fYXJyb3cge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xufVxuXG4jeyRtbV9tb2R1bGV9IHtcbiAgICAmX3ByZXY6YmVmb3JlIHtcbiAgICAgICAgQGV4dGVuZCAlbW1fYnRuX2Fycm93O1xuICAgICAgICBAaW5jbHVkZSBtbV9idG5fYXJyb3dfcHJldjtcbiAgICB9XG5cbiAgICAmX25leHQ6YWZ0ZXIge1xuICAgICAgICBAZXh0ZW5kICVtbV9idG5fYXJyb3c7XG4gICAgICAgIEBpbmNsdWRlIG1tX2J0bl9hcnJvd19uZXh0O1xuICAgIH1cblxuICAgICZfY2xvc2Uge1xuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG5cbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIHJpZ2h0OiAkbW1fbGlzdGl0ZW1JbmRlbnQgLSAyO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgcmlnaHQ6ICRtbV9saXN0aXRlbUluZGVudCArIDU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBBcnJvdyBidXR0b25zXG5AbWl4aW4gbW1fYnRuX2Fycm93X3ByZXYge1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSggLTQ1ZGVnICk7XG5cdGxlZnQ6ICRtbV9saXN0aXRlbUluZGVudCArIDM7XG5cdHJpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gbW1fYnRuX2Fycm93X25leHQge1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSggMTM1ZGVnICk7XG5cdHJpZ2h0OiAkbW1fbGlzdGl0ZW1JbmRlbnQgKyAzO1xuXHRsZWZ0OiBhdXRvO1xufVxuXG5cbi8vXHRNaXNjXG5AbWl4aW4gbW1fZWxsaXBzaXMoKSB7XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5AbWl4aW4gbW1fY2xlYXJmaXgoKSB7XG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGNsZWFyOiBib3RoO1xuXHR9XG59XG5AbWl4aW4gbW1fb2ZmY2FudmFzX3NpemUoXG4gICAgJGNsczogJy5tbS1tZW51X29mZmNhbnZhcycsXG4gICAgJHdpZHRoOiAkbW1fbWVudVdpZHRoLFxuICAgICRtaW5XaWR0aDogJG1tX21lbnVNaW5XaWR0aCxcbiAgICAkbWF4V2lkdGg6ICRtbV9tZW51TWF4V2lkdGhcbikge1xuICAgICN7JGNsc30ge1xuICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgkd2lkdGgpO1xuICAgICAgICBtaW4td2lkdGg6ICRtaW5XaWR0aDtcbiAgICAgICAgbWF4LXdpZHRoOiAkbWF4V2lkdGg7XG4gICAgfVxuXG4gICAgLm1tLXdyYXBwZXJfb3BlbmluZyB7XG4gICAgICAgICN7JGNsc30ubW0tbWVudV9vcGVuZWQgfiAubW0tc2xpZGVvdXQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgjeyR3aWR0aCAqIDEwMH12dywgMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvL1x0YWRqdXN0IGZvciBtaW4tIGFuZCBtYXgtd2lkdGhcbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkbWluV2lkdGggLyAkd2lkdGgpIHtcbiAgICAgICAgLm1tLXdyYXBwZXJfb3BlbmluZyB7XG4gICAgICAgICAgICAjeyRjbHN9Lm1tLW1lbnVfb3BlbmVkIH4gLm1tLXNsaWRlb3V0IHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRtaW5XaWR0aCwgMCwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkbWF4V2lkdGggLyAkd2lkdGgpIHtcbiAgICAgICAgLm1tLXdyYXBwZXJfb3BlbmluZyB7XG4gICAgICAgICAgICAjeyRjbHN9Lm1tLW1lbnVfb3BlbmVkIH4gLm1tLXNsaWRlb3V0IHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRtYXhXaWR0aCwgMCwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBtbV9jb2x1bW5zX3NpemUoJG5yKSB7XG4gICAgW2NsYXNzKj0nbW0tbWVudV9jb2x1bW5zLSddIC5tbS1wYW5lbHMgPiAubW0tcGFuZWxfY29sdW1ucy0jeyRucn0ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRuciAqIDEwMCUsIDAsIDApO1xuICAgIH1cblxuICAgIC5tbS1tZW51X2NvbHVtbnMtI3skbnJ9IC5tbS1wYW5lbHMgPiAubW0tcGFuZWwge1xuICAgICAgICB6LWluZGV4OiAkbnI7XG5cbiAgICAgICAgQGlmICgkbnIgPiAwKSB7XG4gICAgICAgICAgICB3aWR0aDogY2VpbCgxMDAlIC8gJG5yICogMTAwKSAvIDEwMDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLm1tLXBhbmVsX29wZW5lZCk6bm90KC5tbS1wYW5lbF9vcGVuZWQtcGFyZW50KSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCgkbnIgKyAxKSAqIDEwMCUsIDAsIDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbW1fb2ZmY2FudmFzX3NpemUoXG4gICAgICAgICcubW0tbWVudV9jb2x1bW5zLSN7JG5yfScsXG4gICAgICAgICRtbV9tZW51V2lkdGgsXG4gICAgICAgICRtbV9tZW51TWluV2lkdGgsXG4gICAgICAgICRtbV9tZW51TWF4V2lkdGggKiAkbnJcbiAgICApO1xuICAgIEBpbmNsdWRlIG1tX3Bvc2l0aW9uX3JpZ2h0KFxuICAgICAgICAnLm1tLW1lbnVfY29sdW1ucy0jeyRucn0nLFxuICAgICAgICAkbW1fbWVudVdpZHRoLFxuICAgICAgICAkbW1fbWVudU1pbldpZHRoLFxuICAgICAgICAkbW1fbWVudU1heFdpZHRoICogJG5yXG4gICAgKTtcbn1cblxuQG1peGluIG1tX2ljb25wYW5lbF9zaXplKCRucikge1xuICAgIC5tbS1wYW5lbF9pY29ucGFuZWwtI3skbnJ9IHtcbiAgICAgICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JG1tX2ljb25wYW5lbFNpemUgKiAkbnJ9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAodmFyKC0tbW0taWNvbnBhbmVsLXNpemUpICogI3skbnJ9KSk7XG4gICAgfVxufVxuXG5AbWl4aW4gbW1fbmF2YmFyX3RhYnNfYm9yZGVycyggJHRvcCwgJGJvdHRvbSwgJGxhc3QsICRmaXJzdCApIHtcblx0Lm1tLW5hdmJhcnNfI3skdG9wfSB7XG5cdFx0Lm1tLW5hdmJhcl90YWJzOm5vdCggOiN7JGxhc3R9LWNoaWxkICkge1xuXHRcdFx0Ym9yZGVyLSN7JGJvdHRvbX0td2lkdGg6IDFweDtcblx0XHRcdGJvcmRlci0jeyRib3R0b219LXN0eWxlOiBzb2xpZDtcblx0XHR9XG5cdFx0Lm1tLW5hdmJhcl9fdGFiX3NlbGVjdGVkIHtcblx0XHRcdGJvcmRlci0jeyRib3R0b219OiBub25lO1xuXHRcdFx0bWFyZ2luLSN7JGJvdHRvbX06IC0xcHg7XG5cdFx0fVxuXHRcdC5tbS1uYXZiYXJfdGFiczojeyRmaXJzdH0tY2hpbGQgLm1tLW5hdmJhcl9fdGFiX3NlbGVjdGVkIHtcblx0XHRcdGJvcmRlci0jeyR0b3B9OiBub25lO1xuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gbW1fZWZmZWN0X2xpc3RpdGVtX2RlbGF5KCAkaSApIHtcblx0JjpudGgtY2hpbGQoICN7JGl9ICkge1xuXHRcdHRyYW5zaXRpb24tZGVsYXk6ICggJGkgKiA1MG1zICk7XG5cdH1cbn1cbi8vXHRQb3NpdGlvbiByaWdodFxuQG1peGluIG1tX3Bvc2l0aW9uX3JpZ2h0KFxuICAgICRjbHM6ICcnLFxuICAgICR3aWR0aDogJG1tX21lbnVXaWR0aCxcbiAgICAkbWluV2lkdGg6ICRtbV9tZW51TWluV2lkdGgsXG4gICAgJG1heFdpZHRoOiAkbW1fbWVudU1heFdpZHRoXG4pIHtcbiAgICAubW0td3JhcHBlcl9vcGVuaW5nIHtcbiAgICAgICAgI3skY2xzfS5tbS1tZW51X3Bvc2l0aW9uLXJpZ2h0Lm1tLW1lbnVfb3BlbmVkIH4gLm1tLXNsaWRlb3V0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoI3stJHdpZHRoICogMTAwfXZ3LCAwLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vXHRhZGp1c3QgZm9yIG1pbi0gYW5kIG1heC13aWR0aFxuICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRtaW5XaWR0aCAvICR3aWR0aCkge1xuICAgICAgICAubW0td3JhcHBlcl9vcGVuaW5nIHtcbiAgICAgICAgICAgICN7JGNsc30ubW0tbWVudV9wb3NpdGlvbi1yaWdodC5tbS1tZW51X29wZW5lZCB+IC5tbS1zbGlkZW91dCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtJG1pbldpZHRoLCAwLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkbWF4V2lkdGggLyAkd2lkdGgpIHtcbiAgICAgICAgLm1tLXdyYXBwZXJfb3BlbmluZyB7XG4gICAgICAgICAgICAjeyRjbHN9Lm1tLW1lbnVfcG9zaXRpb24tcmlnaHQubW0tbWVudV9vcGVuZWQgfiAubW0tc2xpZGVvdXQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLSRtYXhXaWR0aCwgMCwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXHRQb3NpdGlvbiB0b3BcbkBtaXhpbiBtbV9wb3NpdGlvbl90b3AoXG4gICAgJGNsczogJycsXG4gICAgJGhlaWdodDogJG1tX21lbnVIZWlnaHQsXG4gICAgJG1pbkhlaWdodDogJG1tX21lbnVNaW5IZWlnaHQsXG4gICAgJG1heEhlaWdodDogJG1tX21lbnVNYXhIZWlnaHRcbikge1xuICAgICN7JGNsc30ubW0tbWVudV9wb3NpdGlvbi10b3Age1xuICAgICAgICBoZWlnaHQ6ICN7JGhlaWdodCAqIDEwMH12aDtcbiAgICAgICAgbWluLWhlaWdodDogJG1pbkhlaWdodDtcbiAgICAgICAgbWF4LWhlaWdodDogJG1heEhlaWdodDtcbiAgICB9XG59XG5cbi8vXHRQb3NpdGlvbiBib3R0b21cbkBtaXhpbiBtbV9wb3NpdGlvbl9ib3R0b20oXG4gICAgJGNsczogJycsXG4gICAgJGhlaWdodDogJG1tX21lbnVIZWlnaHQsXG4gICAgJG1pbkhlaWdodDogJG1tX21lbnVNaW5IZWlnaHQsXG4gICAgJG1heEhlaWdodDogJG1tX21lbnVNYXhIZWlnaHRcbikge1xuICAgICN7JGNsc30ubW0tbWVudV9wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgICBoZWlnaHQ6ICN7JGhlaWdodCAqIDEwMH12aDtcbiAgICAgICAgbWluLWhlaWdodDogJG1pbkhlaWdodDtcbiAgICAgICAgbWF4LWhlaWdodDogJG1heEhlaWdodDtcbiAgICB9XG59XG4iLCIkbW1fbW9kdWxlOiAnLm1tLWJ0bic7XG5cbkBpZiAoICRtbV9pbmNsdWRlX3J0bCApIHtcblx0W2Rpcj1cInJ0bFwiXSB7XG5cdFx0I3skbW1fbW9kdWxlfSB7XG5cdFx0XHQmX25leHQ6YWZ0ZXIge1xuXHRcdFx0XHRAaW5jbHVkZSBtbV9idG5fYXJyb3dfcHJldjtcblx0XHRcdH1cblx0XHRcblxuXHRcdFx0Jl9wcmV2OmJlZm9yZSB7XG5cdFx0XHRcdEBpbmNsdWRlIG1tX2J0bl9hcnJvd19uZXh0O1xuXHRcdFx0fVxuXG5cdFx0XHQmX2Nsb3NlIHtcblx0XHRcdFx0JjpiZWZvcmUsXG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdHJpZ2h0OiBhdXRvO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdGxlZnQ6ICRtbV9saXN0aXRlbUluZGVudCArIDU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRsZWZ0OiAkbW1fbGlzdGl0ZW1JbmRlbnQgLSAyO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIkbW1fbW9kdWxlOiAnLm1tLW5hdmJhcic7XG5cbiN7JG1tX21vZHVsZX0ge1xuICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgbWluLWhlaWdodDogJG1tX25hdmJhclNpemU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbW1fYm9yZGVyQ29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6ICRtbV9iYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIGNvbG9yOiAkbW1fZGltbWVkVGV4dENvbG9yO1xuXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAkbW1fbmF2YmFyU2l6ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWluLWhlaWdodDogdmFyKC0tbW0tbmF2YmFyLXNpemUpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1tbS1jb2xvci1ib3JkZXIpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW1tLWNvbG9yLWJhY2tncm91bmQpO1xuICAgIGNvbG9yOiB2YXIoLS1tbS1jb2xvci10ZXh0LWRpbW1lZCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRtbV90cmFuc2l0aW9uRHVyYXRpb24gJG1tX3RyYW5zaXRpb25GdW5jdGlvbjtcblxuICAgIEBzdXBwb3J0cyAocG9zaXRpb246IHN0aWNreSkge1xuICAgICAgICAmX3N0aWNreSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgID4gKiB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxufVxuXG4jeyRtbV9tb2R1bGV9X19idG4ge1xuICAgIGZsZXgtZ3JvdzogMDtcbn1cblxuI3skbW1fbW9kdWxlfV9fdGl0bGUge1xuXG4gICAgZmxleDogMSAxIDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctbGVmdDogJG1tX3BhbmVsUGFkZGluZztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkbW1fcGFuZWxQYWRkaW5nO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAvLyBDZW50ZXIgdGhlIGNvbnRlbnQuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICA+IHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBtbV9lbGxpcHNpcztcbiAgICB9XG5cbiAgICAjeyRtbV9tb2R1bGV9X19idG46bm90KC5tbS1oaWRkZW4pICsgJiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJG1tX2J0blNpemU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gL0NlbnRlclxufVxuIiwiJG1tX21vZHVsZTogJy5tbS1uYXZiYXInO1xuXG5AaWYgKCRtbV9pbmNsdWRlX3J0bCkge1xuICAgIFtkaXI9J3J0bCddIHtcbiAgICAgICAgI3skbW1fbW9kdWxlfSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIkbW1fbW9kdWxlOiAnLm1tLWxpc3RpdGVtJztcblxuLm1tLWxpc3R2aWV3IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4jeyRtbV9tb2R1bGV9IHtcbiAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgIGNvbG9yOiAkbW1fdGV4dENvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRtbV9ib3JkZXJDb2xvcjtcbiAgICB9XG5cbiAgICBjb2xvcjogdmFyKC0tbW0tY29sb3ItdGV4dCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tbS1jb2xvci1ib3JkZXIpO1xuXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAkbW1fbGlzdGl0ZW1JbmRlbnQ7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgfVxuXG4gICAgYSxcbiAgICBhOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbn1cblxuJW1tX2xpc3RpdGVtX2NvbnRlbnQge1xuICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgcGFkZGluZzogKCRtbV9saXN0aXRlbVNpemUgLSAkbW1fbGluZUhlaWdodCkgLyAyO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IGNhbGMoKHZhcigtLW1tLWxpc3RpdGVtLXNpemUpIC0gdmFyKC0tbW0tbGluZS1oZWlnaHQpKSAvIDIpO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIGNvbG9yOiBpbmhlcml0O1xufVxuXG4jeyRtbV9tb2R1bGV9X190ZXh0IHtcbiAgICBAZXh0ZW5kICVtbV9saXN0aXRlbV9jb250ZW50O1xuICAgIEBpbmNsdWRlIG1tX2VsbGlwc2lzO1xuXG4gICAgcGFkZGluZy1sZWZ0OiAkbW1fbGlzdGl0ZW1JbmRlbnQ7XG4gICAgcGFkZGluZy1yaWdodDogJG1tX3BhZGRpbmc7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtYmFzaXM6IDEwJTtcbn1cblxuI3skbW1fbW9kdWxlfV9fYnRuIHtcbiAgICBAZXh0ZW5kICVtbV9saXN0aXRlbV9jb250ZW50O1xuXG4gICAgYmFja2dyb3VuZDogcmdiYSgzLCAyLCAxLCAwKTtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogJG1tX3N1Ym9wZW5XaWR0aDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOm5vdCgubW0tbGlzdGl0ZW1fX3RleHQpIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIH1cbn1cblxuI3skbW1fbW9kdWxlfSB7XG4gICAgJl9zZWxlY3RlZCB7XG4gICAgICAgID4gI3skbW1fbW9kdWxlfV9fdGV4dCB7XG4gICAgICAgICAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG1tX2VtcGhhc2l6ZWRCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLW1tLWNvbG9yLWJhY2tncm91bmQtZW1waGFzaXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9vcGVuZWQge1xuICAgICAgICA+ICN7JG1tX21vZHVsZX1fX2J0bixcbiAgICAgICAgPiAubW0tcGFuZWwge1xuICAgICAgICAgICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtbV9oaWdobGlnaHRlZEJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tbW0tY29sb3ItYmFja2dyb3VuZC1oaWdobGlnaHQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiJG1tX21vZHVsZTogJy5tbS1saXN0aXRlbSc7XG5cbkBpZiAoICRtbV9pbmNsdWRlX3J0bCApIHtcblx0W2Rpcj1cInJ0bFwiXSAge1xuXG5cdFx0Ly9cdGludmVydCB0aGUgaW5kZW50IG9uIHRoZSBib3JkZXJcblx0XHQjeyRtbV9tb2R1bGV9OmFmdGVyIHtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRyaWdodDogJG1tX2xpc3RpdGVtSW5kZW50O1xuXHRcdH1cblxuXHRcdCN7JG1tX21vZHVsZX1fX3RleHQge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAkbW1fcGFkZGluZztcblx0XHRcdHBhZGRpbmctcmlnaHQ6ICRtbV9saXN0aXRlbUluZGVudDtcblx0XHR9XG5cblx0XHQjeyRtbV9tb2R1bGV9X19idG4ge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAkbW1fc3Vib3BlbldpZHRoO1xuXHRcdFx0Ym9yZGVyLWxlZnQtd2lkdGg6IDA7XG5cdFx0XHRib3JkZXItbGVmdC1zdHlsZTogbm9uZTtcblxuXHRcdFx0Jjpub3QoICN7JG1tX21vZHVsZX1fX3RleHQgKSB7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cblx0XHRcdFx0Ym9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG5cdFx0XHRcdGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbiIsIkBpbXBvcnQgJy4uLy4uL21peGlucycsICcuLi8uLi9pbmNsdWRlcycsICcuLi8uLi92YXJpYWJsZXMnO1xuXG4vL1x0QW5pbWF0aW9uc1xuLm1tLXBhZ2Uge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubW0tc2xpZGVvdXQge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkbW1fdHJhbnNpdGlvbkR1cmF0aW9uICRtbV90cmFuc2l0aW9uRnVuY3Rpb247XG4gICAgei1pbmRleDogMTtcbn1cblxuLy9cdFdyYXBwZXJcbi5tbS13cmFwcGVyIHtcbiAgICAmX29wZW5lZCB7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5tbS1wYWdlIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfYmFja2dyb3VuZCB7XG4gICAgICAgIC5tbS1wYWdlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXHRNZW51XG4ubW0tbWVudV9vZmZjYW52YXMge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogYXV0bztcbiAgICB6LWluZGV4OiAwO1xuXG4gICAgJjpub3QoLm1tLW1lbnVfb3BlbmVkKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtbV9vZmZjYW52YXNfc2l6ZTtcblxuQGlmICgkbW1faW5jbHVkZV9vZmZjYW52YXNfYmxvY2tlcikge1xuICAgIC5tbS13cmFwcGVyX19ibG9ja2VyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgzLCAyLCAxLCAwKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgLm1tLXdyYXBwZXJfYmxvY2tpbmcge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIGJvZHkge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tbS13cmFwcGVyX19ibG9ja2VyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW1wb3J0ICdvZmZjYW52YXMucnRsJztcbiIsIkBpZiAoICRtbV9pbmNsdWRlX3J0bCApIHtcblx0W2Rpcj1cInJ0bFwiXSAubW0tbWVudV9vZmZjYW52YXMge1xuXHRcdC8qbGVmdDogdW5zZXQ7XG5cdFx0cmlnaHQ6IDA7Ki9cblx0fVxufVxuIiwiQGltcG9ydCBcblx0Jy4uLy4uL21peGlucycsXG5cdCcuLi8uLi9pbmNsdWRlcycsXG5cdCcuLi8uLi92YXJpYWJsZXMnO1xuXG5cbi5tbS1zcm9ubHkge1xuXHRib3JkZXI6IDAgIWltcG9ydGFudDtcblx0Y2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpICFpbXBvcnRhbnQ7XG5cdGNsaXAtcGF0aDogaW5zZXQoNTAlKSAhaW1wb3J0YW50O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiAxcHggIWltcG9ydGFudDtcblx0bWluLXdpZHRoOiAxcHggIWltcG9ydGFudDtcblx0aGVpZ2h0OiAxcHggIWltcG9ydGFudDtcblx0bWluLWhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblx0b3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuXHRwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbn0iLCJAaW1wb3J0ICcuLi8uLi9taXhpbnMnLCAnLi4vLi4vaW5jbHVkZXMnLCAnLi4vLi4vdmFyaWFibGVzJztcblxuLm1tLW1lbnVfYXV0b2hlaWdodCB7XG4gICAgJjpub3QoLm1tLW1lbnVfb2ZmY2FudmFzKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmLm1tLW1lbnVfcG9zaXRpb24ge1xuICAgICAgICAmLXRvcCxcbiAgICAgICAgJi1ib3R0b20ge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogcGVyY2VudGFnZSgkbW1fbWVudUhlaWdodCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLW1lYXN1cmluZyB7XG4gICAgICAgIC5tbS1wYW5lbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1tLXBhbmVscyA+IC5tbS1wYW5lbCB7XG4gICAgICAgICAgICBib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkbW1faW5jbHVkZV92ZXJ0aWNhbCkge1xuICAgICAgICAgICAgLm1tLWxpc3RpdGVtX3ZlcnRpY2FsOm5vdCgubW0tbGlzdGl0ZW1fb3BlbmVkKSAubW0tcGFuZWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL21peGlucycsICcuLi8uLi9pbmNsdWRlcycsICcuLi8uLi92YXJpYWJsZXMnO1xuXG5bY2xhc3MqPSdtbS1tZW51X2NvbHVtbnMtJ10ge1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoO1xuXG4gICAgLm1tLXBhbmVscyB7XG4gICAgICAgID4gLm1tLXBhbmVsIHtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogd2lkdGgsIHRyYW5zZm9ybTtcblxuICAgICAgICAgICAgJl9vcGVuZWQsXG4gICAgICAgICAgICAmX29wZW5lZC1wYXJlbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbltjbGFzcyo9J21tLXBhbmVsX2NvbHVtbnMtJ10ge1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbn1cblxuLm1tLW1lbnVfY29sdW1ucy0xIC5tbS1wYW5lbF9jb2x1bW5zLTAsXG4ubW0tbWVudV9jb2x1bW5zLTIgLm1tLXBhbmVsX2NvbHVtbnMtMSxcbi5tbS1tZW51X2NvbHVtbnMtMyAubW0tcGFuZWxfY29sdW1ucy0yLFxuLm1tLW1lbnVfY29sdW1ucy00IC5tbS1wYW5lbF9jb2x1bW5zLTMge1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuQGluY2x1ZGUgbW1fY29sdW1uc19zaXplKDApO1xuQGluY2x1ZGUgbW1fY29sdW1uc19zaXplKDEpO1xuQGluY2x1ZGUgbW1fY29sdW1uc19zaXplKDIpO1xuQGluY2x1ZGUgbW1fY29sdW1uc19zaXplKDMpO1xuQGluY2x1ZGUgbW1fY29sdW1uc19zaXplKDQpO1xuXG5AaWYgKCRtbV9pbmNsdWRlX3Bvc2l0aW9uaW5nX3RvcCBvciAkbW1faW5jbHVkZV9wb3NpdGlvbmluZ19ib3R0b20pIHtcbiAgICBbY2xhc3MqPSdtbS1tZW51X2NvbHVtbnMtJ10ge1xuICAgICAgICAmLm1tLW1lbnVfcG9zaXRpb24ge1xuICAgICAgICAgICAgJi1ib3R0b20sXG4gICAgICAgICAgICAmLXRvcCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGlmICgkbW1faW5jbHVkZV9wb3NpdGlvbmluZ19mcm9udCkge1xuICAgIC5tbS13cmFwcGVyX29wZW5pbmcgW2NsYXNzKj0nbW0tbWVudV9jb2x1bW5zLSddIHtcbiAgICAgICAgJi5tbS1tZW51X3Bvc2l0aW9uIHtcbiAgICAgICAgICAgICYtZnJvbnQge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoLCBtaW4td2lkdGgsIG1heC13aWR0aCwgdHJhbnNmb3JtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vbWl4aW5zJywgJy4uLy4uL2luY2x1ZGVzJywgJy4uLy4uL3ZhcmlhYmxlcyc7XG5cbiRtbV9tb2R1bGU6ICcubW0tY291bnRlcic7XG5cbiN7JG1tX21vZHVsZX0ge1xuICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgY29sb3I6ICRtbV9kaW1tZWRUZXh0Q29sb3I7XG4gICAgfVxuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiAkbW1fcGFkZGluZyAqIDI7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS1tbS1jb2xvci10ZXh0LWRpbW1lZCk7XG59XG5cbkBpZiAoJG1tX2luY2x1ZGVfc2VhcmNoZmllbGQpIHtcbiAgICAubW0tbGlzdGl0ZW1fbm9zdWJpdGVtcyA+ICN7JG1tX21vZHVsZX0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQGltcG9ydCAnY291bnRlcnMucnRsJztcbiIsIkBpZiAoJG1tX2luY2x1ZGVfcnRsKSB7XG4gICAgW2Rpcj0ncnRsJ10gLm1tLWNvdW50ZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbW1fcGFkZGluZyAqIDI7XG4gICAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vbWl4aW5zJywgJy4uLy4uL2luY2x1ZGVzJywgJy4uLy4uL3ZhcmlhYmxlcyc7XG5cbiRtbV9tb2R1bGU6ICcubW0tZGl2aWRlcic7XG5cbiN7JG1tX21vZHVsZX0ge1xuICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtaW4taGVpZ2h0OiAkbW1fbGluZUhlaWdodDtcbiAgICAgICAgcGFkZGluZzogKCgkbW1fbGlzdGl0ZW1TaXplICogMC42NSkgLSAkbW1fbGluZUhlaWdodCkgKiAwLjU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRtbV9iYWNrZ3JvdW5kQ29sb3I7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG1tX2hpZ2hsaWdodGVkQmFja2dyb3VuZENvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbW1fZWxsaXBzaXM7XG5cbiAgICBAc3VwcG9ydHMgKHBvc2l0aW9uOiBzdGlja3kpIHtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgIC5tbS1uYXZiYXJfc3RpY2t5Om5vdCgubW0taGlkZGVuKSB+IC5tbS1saXN0dmlldyAmIHtcbiAgICAgICAgICAgIHRvcDogdmFyKC0tbW0tbmF2YmFyLXNpemUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbWluLWhlaWdodDogdmFyKC0tbW0tbGluZS1oZWlnaHQpO1xuICAgIHBhZGRpbmc6IGNhbGMoXG4gICAgICAgICgodmFyKC0tbW0tbGlzdGl0ZW0tc2l6ZSkgKiAwLjY1KSAtIHZhcigtLW1tLWxpbmUtaGVpZ2h0KSkgKiAwLjVcbiAgICApO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRtbV9wYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJG1tX2xpc3RpdGVtSW5kZW50O1xuXG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tbS1jb2xvci1iYWNrZ3JvdW5kKTtcblxuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkbW1fdHJhbnNpdGlvbkR1cmF0aW9uICRtbV90cmFuc2l0aW9uRnVuY3Rpb247XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLW1tLWNvbG9yLWJhY2tncm91bmQtaGlnaGxpZ2h0KTtcbiAgICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9taXhpbnMnLCAnLi4vLi4vaW5jbHVkZXMnLCAnLi4vLi4vdmFyaWFibGVzJztcblxuLm1tLXdyYXBwZXJfZHJhZ2dpbmcge1xuICAgIC5tbS1tZW51LFxuICAgIC5tbS1zbGlkZW91dCB7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDBzICFpbXBvcnRhbnQ7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm1tLW1lbnUge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5tbS13cmFwcGVyX19ibG9ja2VyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL21peGlucycsICcuLi8uLi9pbmNsdWRlcycsICcuLi8uLi92YXJpYWJsZXMnO1xuXG5AaWYgKCRtbV9pbmNsdWRlX2Ryb3Bkb3duKSB7XG4gICAgLm1tLW1lbnVfZHJvcGRvd24ge1xuICAgICAgICBib3gtc2hhZG93OiAkbW1fZHJvcGRvd25TaGFkb3c7XG4gICAgICAgIGhlaWdodDogcGVyY2VudGFnZSgkbW1fbWVudUhlaWdodCk7XG4gICAgfVxuXG4gICAgLm1tLXdyYXBwZXJfZHJvcGRvd24ge1xuICAgICAgICAubW0tc2xpZGVvdXQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkbW1faW5jbHVkZV9vZmZjYW52YXNfYmxvY2tlcikge1xuICAgICAgICAgICAgLm1tLXdyYXBwZXJfX2Jsb2NrZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tbS1tZW51X2Ryb3Bkb3duIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIH1cblxuICAgICAgICAmLm1tLXdyYXBwZXJfb3BlbmVkOm5vdCgubW0td3JhcHBlcl9vcGVuaW5nKSAubW0tbWVudV9kcm9wZG93biB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vL1x0VGlwXG5AaWYgKCRtbV9pbmNsdWRlX2Ryb3Bkb3duX3RpcCkge1xuICAgIC5tbS1tZW51X3RpcCB7XG4gICAgICAgICYtbGVmdCxcbiAgICAgICAgJi1yaWdodCxcbiAgICAgICAgJi10b3AsXG4gICAgICAgICYtYm90dG9tIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRtbV9kcm9wZG93blNoYWRvdztcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtbGVmdDpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogMiArICRtbV9kcm9wZG93blRpcFg7XG4gICAgICAgIH1cblxuICAgICAgICAmLXJpZ2h0OmJlZm9yZSB7XG4gICAgICAgICAgICByaWdodDogMiArICRtbV9kcm9wZG93blRpcFg7XG4gICAgICAgIH1cblxuICAgICAgICAmLXRvcDpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiAyIC0gJG1tX2Ryb3Bkb3duVGlwWTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtYm90dG9tOmJlZm9yZSB7XG4gICAgICAgICAgICBib3R0b206IDIgLSAkbW1fZHJvcGRvd25UaXBZO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vbWl4aW5zJywgJy4uLy4uL2luY2x1ZGVzJywgJy4uLy4uL3ZhcmlhYmxlcyc7XG5cbiRtbV9tb2R1bGU6ICcubW0taWNvbmJhcic7XG5cbjpyb290IHtcbiAgICAtLW1tLWljb25iYXItc2l6ZTogI3skbW1faWNvbmJhclNpemV9O1xufVxuXG4ubW0tbWVudV9pY29uYmFyIHtcbiAgICAmLWxlZnQge1xuICAgICAgICAubW0tcGFuZWxzLFxuICAgICAgICAubW0tbmF2YmFyc190b3AsXG4gICAgICAgIC5tbS1uYXZiYXJzX2JvdHRvbSB7XG4gICAgICAgICAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRtbV9pY29uYmFyU2l6ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLW1tLWljb25iYXItc2l6ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLXJpZ2h0IHtcbiAgICAgICAgLm1tLXBhbmVscyxcbiAgICAgICAgLm1tLW5hdmJhcnNfdG9wLFxuICAgICAgICAubW0tbmF2YmFyc19ib3R0b20ge1xuICAgICAgICAgICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJG1tX2ljb25iYXJTaXplO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLW1tLWljb25iYXItc2l6ZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiN7JG1tX21vZHVsZX0ge1xuICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgd2lkdGg6ICRtbV9pY29uYmFyU2l6ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkbW1fYm9yZGVyQ29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6ICRtbV9iYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIGNvbG9yOiAkbW1fZGltbWVkVGV4dENvbG9yO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAubW0tbWVudV9pY29uYmFyLWxlZnQgJixcbiAgICAubW0tbWVudV9pY29uYmFyLXJpZ2h0ICYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgLm1tLW1lbnVfaWNvbmJhci1sZWZ0ICYge1xuICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAubW0tbWVudV9pY29uYmFyLXJpZ2h0ICYge1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgd2lkdGg6IHZhcigtLW1tLWljb25iYXItc2l6ZSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgYm9yZGVyOiAwIHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbW0tY29sb3ItYm9yZGVyKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tbS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICBjb2xvcjogdmFyKC0tbW0tY29sb3ItdGV4dC1kaW1tZWQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3skbW1fbW9kdWxlfV9fdG9wLFxuI3skbW1fbW9kdWxlfV9fYm90dG9tIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcblxuICAgID4gKiB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAoJG1tX2J0blNpemUgLyA0KSAwO1xuICAgIH1cblxuICAgIGEsXG4gICAgYTpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG59XG5cbkBpZiAoJG1tX2luY2x1ZGVfaWNvbmJhcl90YWJzKSB7XG4gICAgI3skbW1fbW9kdWxlfV9fdGFiX3NlbGVjdGVkIHtcbiAgICAgICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG1tX2VtcGhhc2l6ZWRCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tbS1jb2xvci1iYWNrZ3JvdW5kLWVtcGhhc2lzKTtcbiAgICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9taXhpbnMnLCAnLi4vLi4vaW5jbHVkZXMnLCAnLi4vLi4vdmFyaWFibGVzJztcblxuOnJvb3Qge1xuICAgIC0tbW0taWNvbnBhbmVsLXNpemU6ICN7JG1tX2ljb25wYW5lbFNpemV9O1xufVxuXG5AaW5jbHVkZSBtbV9pY29ucGFuZWxfc2l6ZSgxKTtcbkBpbmNsdWRlIG1tX2ljb25wYW5lbF9zaXplKDIpO1xuQGluY2x1ZGUgbW1faWNvbnBhbmVsX3NpemUoMyk7XG5cbi5tbS1wYW5lbF9pY29ucGFuZWwtZmlyc3Qge1xuICAgIH4gLm1tLXBhbmVsIHtcbiAgICAgICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JG1tX2ljb25wYW5lbFNpemV9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1tbS1pY29ucGFuZWwtc2l6ZSkpO1xuICAgIH1cbn1cblxuLm1tLW1lbnVfaWNvbnBhbmVsIC5tbS1wYW5lbHMge1xuICAgID4gLm1tLXBhbmVsIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCB3aWR0aDtcblxuICAgICAgICAmX29wZW5lZCxcbiAgICAgICAgJl9vcGVuZWQtcGFyZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmX29wZW5lZC1wYXJlbnQge1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB1bnNldDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5tbS1wYW5lbF9pY29ucGFuZWwtZmlyc3QpOm5vdCgubW0tcGFuZWxfaWNvbnBhbmVsLTApIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tbS1tZW51X2hpZGVuYXZiYXIgLm1tLXBhbmVsX29wZW5lZC1wYXJlbnQgLm1tLW5hdmJhcixcbi5tbS1tZW51X2hpZGVkaXZpZGVyIC5tbS1wYW5lbF9vcGVuZWQtcGFyZW50IC5tbS1kaXZpZGVyIHtcbiAgICBvcGFjaXR5OiAwO1xufVxuXG5AaWYgKCRtbV9pbmNsdWRlX2ljb25wYW5lbHNfYmxvY2tlcikge1xuICAgIC5tbS1wYW5lbF9fYmxvY2tlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMztcblxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRtbV90cmFuc2l0aW9uRHVyYXRpb24gJG1tX3RyYW5zaXRpb25GdW5jdGlvbjtcblxuICAgICAgICAubW0tcGFuZWxfb3BlbmVkLXBhcmVudCAmIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgICAgIGJvdHRvbTogLTEwMDAwMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW1wb3J0ICdpY29ucGFuZWxzLnJ0bCc7XG4iLCJAaWYgKCRtbV9pbmNsdWRlX2NvdW50ZXJzIGFuZCAkbW1faW5jbHVkZV9pY29ucGFuZWxzKSB7XG4gICAgW2Rpcj0ncnRsJ10gLm1tLW1lbnVfaWNvbnBhbmVsIC5tbS1wYW5lbHMge1xuICAgICAgICA+IC5tbS1wYW5lbCB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIHdpZHRoO1xuXG4gICAgICAgICAgICAmOm5vdCgubW0tcGFuZWxfaWNvbnBhbmVsLWZpcnN0KTpub3QoLm1tLXBhbmVsX2ljb25wYW5lbC0wKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vbWl4aW5zJywgJy4uLy4uL2luY2x1ZGVzJywgJy4uLy4uL3ZhcmlhYmxlcyc7XG5cbi5tbS1tZW51X2tleWJvYXJkZm9jdXMge1xuICAgICYsXG4gICAgJi5tbS1tZW51X29wZW5lZCB+IC5tbS13cmFwcGVyX19ibG9ja2VyIHtcbiAgICAgICAgYTpmb2N1cyB7XG4gICAgICAgICAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG1tX2VtcGhhc2l6ZWRCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLW1tLWNvbG9yLWJhY2tncm91bmQtZW1waGFzaXMpO1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1tLXdyYXBwZXJfX2Jsb2NrZXIge1xuICAgIC5tbS10YWJzdGFydCB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIC5tbS10YWJlbmQge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9taXhpbnMnLCAnLi4vLi4vaW5jbHVkZXMnLCAnLi4vLi4vdmFyaWFibGVzJztcblxuJW1tX25hdmJhcnMge1xufVxuXG5AaWYgKCRtbV9pbmNsdWRlX25hdmJhcnNfdG9wKSB7XG4gICAgLm1tLW5hdmJhcnNfdG9wIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICAgICAgLm1tLW5hdmJhcjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpZiAoJG1tX2luY2x1ZGVfbmF2YmFyc19ib3R0b20pIHtcbiAgICAubW0tbmF2YmFyc19ib3R0b20ge1xuICAgICAgICBmbGV4LXNocmluazogMDtcblxuICAgICAgICAubW0tbmF2YmFyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRtbV9ib3JkZXJDb2xvcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbW0tY29sb3ItYm9yZGVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGltcG9ydCAnbmF2YmFyLnNlYXJjaGZpZWxkJywgJ25hdmJhci5icmVhZGNydW1icycsICduYXZiYXIudGFicyc7XG4iLCJAaWYgKCRtbV9pbmNsdWRlX25hdmJhcnNfc2VhcmNoZmllbGQpIHtcbiAgICAubW0tbmF2YmFyX19zZWFyY2hmaWVsZCB7XG4gICAgICAgIC5tbS1idG46bm90KC5tbS1oaWRkZW4pICsgJiAubW0tc2VhcmNoZmllbGRfX2lucHV0IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSAubW0tc2VhcmNoZmllbGRfX2lucHV0IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaWYgKCRtbV9pbmNsdWRlX25hdmJhcnNfYnJlYWRjcnVtYnMpIHtcbiAgICAubW0tbmF2YmFyX19icmVhZGNydW1icyB7XG4gICAgICAgIEBpbmNsdWRlIG1tX2VsbGlwc2lzO1xuXG4gICAgICAgIGZsZXg6IDEgMSA1MCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgcGFkZGluZzogMCAkbW1fcGFuZWxQYWRkaW5nO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgICAgIH1cblxuICAgICAgICA+IGEge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tbS1idG46bm90KC5tbS1oaWRkZW4pICsgJiB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIkbW1fbW9kdWxlOiAnLm1tLW5hdmJhcic7XG5cbkBpZiAoJG1tX2luY2x1ZGVfbmF2YmFyc190YWJzKSB7XG4gICAgLy8gIEFsbCB0YWJzLlxuICAgICN7JG1tX21vZHVsZX1fdGFicyB7XG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICRtbV9wYWRkaW5nO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAgU2VsZWN0ZWQgdGFiLlxuICAgICN7JG1tX21vZHVsZX1fX3RhYl9zZWxlY3RlZCB7XG4gICAgICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtbV9iYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgICAgICBjb2xvcjogJG1tX3RleHRDb2xvcjtcblxuICAgICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRtbV9ib3JkZXJDb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRtbV9ib3JkZXJDb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLW1tLWNvbG9yLWJhY2tncm91bmQpO1xuXG4gICAgICAgIC8vIFRPRE86IG5vdCBzcGVjaWZpYyBlbm91Z2ggOi8gb3ZlcnJpZGVuIGJ5IC5tbS1tZW51IGEgOi8gOi8gOi9cbiAgICAgICAgY29sb3I6IHZhcigtLW1tLWNvbG9yLXRleHQpO1xuICAgICAgICAvLyAvVE9ET1xuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1tbS1jb2xvci1ib3JkZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tbW0tY29sb3ItYm9yZGVyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gIE5hdmJhcnMgYXQgdGhlIHRvcC5cbkBpZiAoJG1tX2luY2x1ZGVfbmF2YmFyc190b3ApIHtcbiAgICAubW0tbmF2YmFyc190b3Age1xuICAgICAgICAjeyRtbV9tb2R1bGV9X3RhYnMge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vICBCb3JkZXJzLlxuICAgICAgICAjeyRtbV9tb2R1bGV9X3RhYnMgPiAqIHtcbiAgICAgICAgICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbW1fYm9yZGVyQ29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLW1tLWNvbG9yLWJvcmRlcik7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRtbV9tb2R1bGV9X190YWJfc2VsZWN0ZWQge1xuICAgICAgICAgICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRtbV9ib3JkZXJDb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tbW0tY29sb3ItYm9yZGVyKTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gIEJhY2tncm91bmRzXG4gICAgICAgICYubW0tbmF2YmFyc19oYXMtdGFicyB7XG4gICAgICAgICAgICAjeyRtbV9tb2R1bGV9IHtcbiAgICAgICAgICAgICAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtbV9lbXBoYXNpemVkQmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLW1tLWNvbG9yLWJhY2tncm91bmQtZW1waGFzaXMpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRtbV9tb2R1bGV9X3RhYnMgfiAjeyRtbV9tb2R1bGV9IHtcbiAgICAgICAgICAgICAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtbV9iYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tbW0tY29sb3ItYmFja2dyb3VuZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpZiAoJG1tX2luY2x1ZGVfbmF2YmFyc19ib3R0b20pIHtcbiAgICAubW0tbmF2YmFyc19ib3R0b20ge1xuICAgICAgICAjeyRtbV9tb2R1bGV9X3RhYnMge1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vICBCb3JkZXJzLlxuICAgICAgICAjeyRtbV9tb2R1bGV9X3RhYnMgPiAqIHtcbiAgICAgICAgICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkbW1fYm9yZGVyQ29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLW1tLWNvbG9yLWJvcmRlcik7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRtbV9tb2R1bGV9X190YWJfc2VsZWN0ZWQge1xuICAgICAgICAgICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRtbV9ib3JkZXJDb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tbW0tY29sb3ItYm9yZGVyKTtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICAgIC8vICBCYWNrZ3JvdW5kc1xuICAgICAgICAmLm1tLW5hdmJhcnNfaGFzLXRhYnMge1xuICAgICAgICAgICAgI3skbW1fbW9kdWxlfSB7XG4gICAgICAgICAgICAgICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbW1fYmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLW1tLWNvbG9yLWJhY2tncm91bmQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRtbV9tb2R1bGV9X3RhYnMsXG4gICAgICAgICAgICAjeyRtbV9tb2R1bGV9X3RhYnMgfiAjeyRtbV9tb2R1bGV9IHtcbiAgICAgICAgICAgICAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtbV9lbXBoYXNpemVkQmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLW1tLWNvbG9yLWJhY2tncm91bmQtZW1waGFzaXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vbWl4aW5zJywgJy4uLy4uL2luY2x1ZGVzJywgJy4uLy4uL3ZhcmlhYmxlcyc7XG5cbiRtbV9tb2R1bGU6ICcubW0tc2VhcmNoZmllbGQnO1xuXG4jeyRtbV9tb2R1bGV9IHtcbiAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgIGhlaWdodDogJG1tX25hdmJhclNpemU7XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgaGVpZ2h0OiAkbW1fbmF2YmFyU2l6ZSAqIDAuNztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbW1fbmF2YmFyU2l6ZSAqIDAuNztcblxuICAgICAgICAgICAgJixcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbW1faGlnaGxpZ2h0ZWRCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRtbV90ZXh0Q29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBoZWlnaHQ6IHZhcigtLW1tLW5hdmJhci1zaXplKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBpbnB1dCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGNhbGModmFyKC0tbW0tbmF2YmFyLXNpemUpICogMC43KTtcbiAgICAgICAgbWluLWhlaWdodDogdW5zZXQ7XG4gICAgICAgIG1heC1oZWlnaHQ6IHVuc2V0O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgJG1tX3BhZGRpbmc7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBjYWxjKHZhcigtLW1tLW5hdmJhci1zaXplKSAqIDAuNyk7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBmb250OiBpbmhlcml0O1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG5cbiAgICAgICAgJixcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tbS1jb2xvci1iYWNrZ3JvdW5kLWhpZ2hsaWdodCk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tbW0tY29sb3ItdGV4dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dDo6LW1zLWNsZWFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbiN7JG1tX21vZHVsZX1fX2lucHV0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDE7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgJG1tX3BhZGRpbmc7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLm1tLXBhbmVsX19ub3Jlc3VsdHNtc2cge1xuICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgY29sb3I6ICRtbV9kaW1tZWRUZXh0Q29sb3I7XG4gICAgfVxuXG4gICAgcGFkZGluZzogJG1tX2J0blNpemUgMDtcbiAgICBjb2xvcjogdmFyKC0tbW0tY29sb3ItdGV4dC1kaW1tZWQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDE1MCU7XG59XG5cbkBpZiAoJG1tX2luY2x1ZGVfc2VhcmNoZmllbGRfYnRuKSB7XG4gICAgI3skbW1fbW9kdWxlfV9fYnRuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgfVxufVxuXG5AaWYgKCRtbV9pbmNsdWRlX3NlYXJjaGZpZWxkX3NlYXJjaHBhbmVsKSB7XG4gICAgLm1tLXBhbmVsX3NlYXJjaCB7XG4gICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjeyRtbV9tb2R1bGV9X19jYW5jZWwge1xuICAgICAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJG1tX25hdmJhclNpemU7XG4gICAgICAgIH1cblxuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJG1tX3BhZGRpbmc7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTEwMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tbW0tbmF2YmFyLXNpemUpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgdHJhbnNpdGlvbjogbWFyZ2luICRtbV90cmFuc2l0aW9uRHVyYXRpb24gJG1tX3RyYW5zaXRpb25GdW5jdGlvbjtcbiAgICB9XG5cbiAgICAjeyRtbV9tb2R1bGV9X19jYW5jZWwtYWN0aXZlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbn1cblxuLy8gTGlzdGl0ZW0gd2l0aCBubyBzZWFyY2ggcmVzdWx0cyBpbiB0aGUgY2hpbGQgcGFuZWwuXG4ubW0tbGlzdGl0ZW1fbm9zdWJpdGVtcyB7XG4gICAgPiAubW0tbGlzdGl0ZW1fX2J0biB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgPiAubW0tbGlzdGl0ZW1fX3RleHQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbW1fcGFkZGluZztcbiAgICB9XG59XG5cbi8vIExpc3RpdGVtIHdpdGggb25seSBzZWFyY2ggcmVzdWx0cyBpbiB0aGUgY2hpbGQgcGFuZWwgKG5vdCBpbiB0aGUgbGlzdGl0ZW0gaXRzZWxmKS5cbi5tbS1saXN0aXRlbV9vbmx5c3ViaXRlbXMge1xuICAgID4gLm1tLWxpc3RpdGVtX190ZXh0Om5vdCgubW0tbGlzdGl0ZW1fX2J0bikge1xuICAgICAgICAvLyBUaGlzIHNob3VsZCAoc29ydCBvZikgZGlzYWJsZSB0aGUgYW5jaG9yIGluIHRoZSBsaXN0aXRlbS5cbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL21peGlucycsICcuLi8uLi9pbmNsdWRlcycsICcuLi8uLi92YXJpYWJsZXMnO1xuXG4kbW1fbW9kdWxlOiAnLm1tLXNlY3Rpb25pbmRleGVyJztcblxuI3skbW1fbW9kdWxlfSB7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJG1tX3NlY3Rpb25JbmRleGVyU2l6ZTtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAtJG1tX3NlY3Rpb25JbmRleGVyU2l6ZTtcbiAgICB6LWluZGV4OiA1O1xuXG4gICAgdHJhbnNpdGlvbjogcmlnaHQgJG1tX3RyYW5zaXRpb25EdXJhdGlvbiAkbW1fdHJhbnNpdGlvbkZ1bmN0aW9uO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuXG4gICAgYSB7XG4gICAgICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbW1fZGltbWVkVGV4dENvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgY29sb3I6IHZhcigtLW1tLWNvbG9yLXRleHQtZGltbWVkKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgfiAubW0tcGFuZWwge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgICZfYWN0aXZlIHtcbiAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgfiAubW0tcGFuZWwge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJG1tX3NlY3Rpb25JbmRleGVyU2l6ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL21peGlucycsICcuLi8uLi9pbmNsdWRlcycsICcuLi8uLi92YXJpYWJsZXMnO1xuXG4ubW0tbWVudV9zZWxlY3RlZCB7XG4gICAgJi1ob3ZlcixcbiAgICAmLXBhcmVudCB7XG4gICAgICAgIC5tbS1saXN0aXRlbV9fdGV4dCxcbiAgICAgICAgLm1tLWxpc3RpdGVtX19idG4ge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkbW1fdHJhbnNpdGlvbkR1cmF0aW9uXG4gICAgICAgICAgICAgICAgJG1tX3RyYW5zaXRpb25GdW5jdGlvbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtaG92ZXIge1xuICAgICAgICAubW0tbGlzdHZpZXc6aG92ZXIgPiAubW0tbGlzdGl0ZW1fc2VsZWN0ZWQ6bm90KDpob3Zlcikge1xuICAgICAgICAgICAgPiAubW0tbGlzdGl0ZW1fX3RleHQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm1tLWxpc3RpdGVtX190ZXh0LFxuICAgICAgICAubW0tbGlzdGl0ZW1fX2J0biB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtbV9lbXBoYXNpemVkQmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLW1tLWNvbG9yLWJhY2tncm91bmQtZW1waGFzaXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1wYXJlbnQge1xuICAgICAgICAubW0tcGFuZWxfb3BlbmVkLXBhcmVudCAubW0tbGlzdGl0ZW06bm90KC5tbS1saXN0aXRlbV9zZWxlY3RlZC1wYXJlbnQpIHtcbiAgICAgICAgICAgID4gLm1tLWxpc3RpdGVtX190ZXh0IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tbS1saXN0aXRlbV9zZWxlY3RlZC1wYXJlbnQge1xuICAgICAgICAgICAgPiAubW0tbGlzdGl0ZW1fX3RleHQsXG4gICAgICAgICAgICA+IC5tbS1saXN0aXRlbV9fYnRuIHtcbiAgICAgICAgICAgICAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtbV9lbXBoYXNpemVkQmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLW1tLWNvbG9yLWJhY2tncm91bmQtZW1waGFzaXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vbWl4aW5zJywgJy4uLy4uL2luY2x1ZGVzJywgJy4uLy4uL3ZhcmlhYmxlcyc7XG5cbkBpZiAoJG1tX2luY2x1ZGVfc2lkZWJhcl9jb2xsYXBzZWQgb3IgJG1tX2luY2x1ZGVfc2lkZWJhcl9leHBhbmRlZCkge1xuICAgIDpyb290IHtcbiAgICAgICAgLS1tbS1zaWRlYmFyLWNvbGxhcHNlZC1zaXplOiAjeyRtbV9zaWRlYmFyQ29sbGFwc2VkU2l6ZX07XG4gICAgICAgIC0tbW0tc2lkZWJhci1leHBhbmRlZC1zaXplOiAjeyRtbV9zaWRlYmFyRXhwYW5kZWRTaXplfTtcbiAgICB9XG5cbiAgICAubW0td3JhcHBlcl9zaWRlYmFyIHtcbiAgICAgICAgJi1jb2xsYXBzZWQsXG4gICAgICAgICYtZXhwYW5kZWQge1xuICAgICAgICAgICAgYm9keSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubW0tc2xpZGVvdXQge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoLCB0cmFuc2Zvcm07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tbS1wYWdlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWNvbGxhcHNlZCAubW0tbWVudV9zaWRlYmFyLWNvbGxhcHNlZCxcbiAgICAgICAgJi1leHBhbmRlZCAubW0tbWVudV9zaWRlYmFyLWV4cGFuZGVkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgKCRtbV9pbmNsdWRlX3NpZGViYXJfY29sbGFwc2VkKSB7XG4gICAgLm1tLXdyYXBwZXJfc2lkZWJhciB7XG4gICAgICAgICYtY29sbGFwc2VkIHtcbiAgICAgICAgICAgIC5tbS1zbGlkZW91dCB7XG4gICAgICAgICAgICAgICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skbW1fc2lkZWJhckNvbGxhcHNlZFNpemV9KTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkbW1fc2lkZWJhckNvbGxhcHNlZFNpemUsIDAsIDApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1tbS1zaWRlYmFyLWNvbGxhcHNlZC1zaXplKSk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCh2YXIoLS1tbS1zaWRlYmFyLWNvbGxhcHNlZC1zaXplKSwgMCwgMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bm90KC5tbS13cmFwcGVyX29wZW5pbmcpIHtcbiAgICAgICAgICAgICAgICAubW0tbWVudV9oaWRlbmF2YmFyIC5tbS1uYXZiYXIsXG4gICAgICAgICAgICAgICAgLm1tLW1lbnVfaGlkZWRpdmlkZXIgLm1tLWRpdmlkZXIge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGlmICgkbW1faW5jbHVkZV9zaWRlYmFyX2V4cGFuZGVkKSB7XG4gICAgLm1tLXdyYXBwZXJfc2lkZWJhciB7XG4gICAgICAgICYtZXhwYW5kZWQge1xuICAgICAgICAgICAgLm1tLW1lbnVfc2lkZWJhci1leHBhbmRlZCB7XG4gICAgICAgICAgICAgICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJG1tX3NpZGViYXJFeHBhbmRlZFNpemU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgd2lkdGg6IHZhcigtLW1tLXNpZGViYXItZXhwYW5kZWQtc2l6ZSk7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAwMDBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG5cbiAgICAgICAgICAgICAgICBAaWYgKCRtbV9pbmNsdWRlX3NoYWRvd3NfcGFnZSkge1xuICAgICAgICAgICAgICAgICAgICAmLm1tLW1lbnVfcGFnZXNoYWRvdzphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICgkbW1faW5jbHVkZV9vZmZjYW52YXNfYmxvY2tlcikge1xuICAgICAgICAgICAgICAgICYubW0td3JhcHBlcl9ibG9ja2luZyB7XG4gICAgICAgICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICAgICAgIGJvZHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubW0td3JhcHBlcl9fYmxvY2tlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bm90KC5tbS13cmFwcGVyX3NpZGViYXItY2xvc2VkKSB7XG4gICAgICAgICAgICAgICAgLm1tLW1lbnVfc2lkZWJhci1leHBhbmRlZC5tbS1tZW51X29wZW5lZCB7XG4gICAgICAgICAgICAgICAgICAgIH4gLm1tLXNsaWRlb3V0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoJG1tX0lFMTFGYWxsYmFja3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skbW1fc2lkZWJhckV4cGFuZGVkU2l6ZX0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRtbV9zaWRlYmFyRXhwYW5kZWRTaXplLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLW1tLXNpZGViYXItZXhwYW5kZWQtc2l6ZSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS1tbS1zaWRlYmFyLWV4cGFuZGVkLXNpemUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGlmICgkbW1faW5jbHVkZV9zaWRlYmFyX2Jsb2NrZXIpIHtcbiAgICAubW0tbWVudV9fYmxvY2tlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMywgMiwgMSwgMCk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMztcblxuICAgICAgICAubW0tbWVudV9vcGVuZWQgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW1wb3J0ICdzaWRlYmFyLnJ0bCc7XG4iLCJAaWYgKCAkbW1faW5jbHVkZV9ydGwgKSB7XG5cdEBpZiAoICRtbV9pbmNsdWRlX3NpZGViYXJfY29sbGFwc2VkICkge1xuXHRcdFtkaXI9XCJydGxcIl0ge1xuXHRcdFx0Ji5tbS13cmFwcGVyX3NpZGViYXItY29sbGFwc2VkIHtcblx0XHRcdFx0Lm1tLXNsaWRlb3V0IHtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAwLCAwLCAwICk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRAaWYgKCAkbW1faW5jbHVkZV9zaWRlYmFyX2V4cGFuZGVkICkge1xuXHRcdFtkaXI9XCJydGxcIl0ge1xuXHRcdFx0Ji5tbS13cmFwcGVyX3NpZGViYXItZXhwYW5kZWQgLm1tLXNsaWRlb3V0IHtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgMCwgMCApO1xuXHRcdFx0fVxuXG5cdFx0XHQmLm1tLXdyYXBwZXJfc2lkZWJhci1leHBhbmRlZDpub3QoIC5tbS13cmFwcGVyX3NpZGViYXItY2xvc2VkICkge1xuXHRcdFx0XHQubW0tbWVudV9zaWRlYmFyLWV4cGFuZGVkLm1tLW1lbnVfb3BlbmVkIHtcblx0XHRcdFx0XHR+IC5tbS1zbGlkZW91dCB7XG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAwLCAwLCAwICk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9taXhpbnMnLCAnLi4vLi4vaW5jbHVkZXMnLCAnLi4vLi4vdmFyaWFibGVzJztcblxuQGlmICgkbW1faW5jbHVkZV90b2dnbGVzKSB7XG4gICAgaW5wdXQubW0tdG9nZ2xlIHtcbiAgICAgICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogKCRtbV9saXN0aXRlbVNpemUgLSAkbW1fdG9nZ2xlSGVpZ2h0KSAvIDI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbW1fYm9yZGVyQ29sb3I7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbW1fYmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtaW4td2lkdGg6ICRtbV90b2dnbGVXaWR0aDtcbiAgICAgICAgd2lkdGg6ICRtbV90b2dnbGVXaWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkbW1fdG9nZ2xlSGVpZ2h0O1xuICAgICAgICBtYXJnaW46IDAgJG1tX3BhZGRpbmc7XG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGMoKHZhcigtLW1tLWxpc3RpdGVtLXNpemUpIC0gI3skbW1fdG9nZ2xlSGVpZ2h0fSkgLyAyKTtcbiAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLW1tLWNvbG9yLWJvcmRlcik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtbV90b2dnbGVIZWlnaHQ7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6ICRtbV90b2dnbGVIZWlnaHQgLSAyO1xuICAgICAgICAgICAgaGVpZ2h0OiAkbW1fdG9nZ2xlSGVpZ2h0IC0gMjtcbiAgICAgICAgICAgIG1hcmdpbjogMXB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJG1tX3RvZ2dsZUhlaWdodDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLW1tLWNvbG9yLWJhY2tncm91bmQpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbW1fdG9nZ2xlQ2hlY2tlZENvbG9yO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRtbV90b2dnbGVXaWR0aCAtICRtbV90b2dnbGVIZWlnaHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgKCRtbV9pbmNsdWRlX2NoZWNrcykge1xuICAgIGlucHV0Lm1tLWNoZWNrIHtcbiAgICAgICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogKCRtbV9saXN0aXRlbVNpemUgLSAkbW1fY2hlY2tIZWlnaHQpIC8gMjtcbiAgICAgICAgfVxuXG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAkbW1fY2hlY2tXaWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkbW1fY2hlY2tIZWlnaHQ7XG4gICAgICAgIG1hcmdpbjogMCAkbW1fcGFkZGluZztcbiAgICAgICAgbWFyZ2luLXRvcDogY2FsYygodmFyKC0tbW0tbGlzdGl0ZW0tc2l6ZSkgLSAjeyRtbV9jaGVja0hlaWdodH0pIC8gMik7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMjUlIDAgMCAyMCU7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tbS1jb2xvci10ZXh0KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGltcG9ydCAndG9nZ2xlcy5ydGwnO1xuIiwiQGlmICggJG1tX2luY2x1ZGVfcnRsICkge1xuXHRAaWYgKCAkbW1faW5jbHVkZV90b2dnbGVzICkge1xuXHRcdFtkaXI9XCJydGxcIl0gaW5wdXQubW0tdG9nZ2xlOmNoZWNrZWQgfiBsYWJlbC5tbS10b2dnbGU6YmVmb3JlIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdH1cblx0fVxufVxuIiwiQGltcG9ydCAnLi4vLi4vbWl4aW5zJywgJy4uLy4uL2luY2x1ZGVzJywgJy4uLy4uL3ZhcmlhYmxlcyc7XG5cbkBpZiAoJG1tX2luY2x1ZGVfYm9yZGVyc3R5bGVfbm9uZSkge1xuICAgIC5tbS1tZW51X2JvcmRlci1ub25lIHtcbiAgICAgICAgLm1tLWxpc3RpdGVtOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpZiAoJG1tX2luY2x1ZGVfYm9yZGVyc3R5bGVfZnVsbCkge1xuICAgIC5tbS1tZW51X2JvcmRlci1mdWxsIHtcbiAgICAgICAgLm1tLWxpc3RpdGVtOmFmdGVyIHtcbiAgICAgICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL21peGlucycsICcuLi8uLi9pbmNsdWRlcycsICcuLi8uLi92YXJpYWJsZXMnO1xuXG5AaWYgKCRtbV9pbmNsdWRlX2VmZmVjdHNfbWVudXNsaWRlKSB7XG4gICAgLy9cdFNsaWRlIG1lbnVcbiAgICAkbWVudTogJy5tbS1tZW51X2Z4LW1lbnUtc2xpZGUnO1xuICAgICN7JG1lbnV9IHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRtbV90cmFuc2l0aW9uRHVyYXRpb24gJG1tX3RyYW5zaXRpb25GdW5jdGlvbjtcbiAgICB9XG5cbiAgICAvL1x0U2xpZGUgbWVudSBMZWZ0XG4gICAgLm1tLXdyYXBwZXJfb3BlbmVkICN7JG1lbnV9IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtJG1tX3N1YnBhbmVsT2Zmc2V0LCAwLCAwKTtcbiAgICB9XG5cbiAgICAubW0td3JhcHBlcl9vcGVuaW5nICN7JG1lbnV9IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCwgMCk7XG4gICAgfVxuXG4gICAgLy9cdFNsaWRlIG1lbnUgUmlnaHRcbiAgICAkbWVudXJpZ2h0OiAnI3skbWVudX0ubW0tbWVudV9wb3NpdGlvbi1yaWdodCc7XG4gICAgLm1tLXdyYXBwZXJfb3BlbmVkICN7JG1lbnVyaWdodH0ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRtbV9zdWJwYW5lbE9mZnNldCwgMCwgMCk7XG4gICAgfVxuXG4gICAgLm1tLXdyYXBwZXJfb3BlbmluZyAjeyRtZW51cmlnaHR9IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCwgMCk7XG4gICAgfVxufVxuXG5AaWYgKCRtbV9pbmNsdWRlX2VmZmVjdHNfcGFuZWxzbm9uZSkge1xuICAgIC8vXHRObyBlZmZlY3QgcGFuZWxzXG4gICAgLm1tLW1lbnVfZngtcGFuZWxzLW5vbmUgLm1tLXBhbmVsLFxuICAgIC5tbS1wYW5lbF9meC1ub25lIHtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbm9uZTtcblxuICAgICAgICAmLm1tLXBhbmVsX29wZW5lZC1wYXJlbnQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGlmICgkbW1faW5jbHVkZV9lZmZlY3RzX3BhbmVsc3NsaWRlKSB7XG4gICAgLy9cdFNsaWRlIHBhbmVsc1xuICAgIC5tbS1tZW51X2Z4LXBhbmVscy1zbGlkZS0wIC5tbS1wYW5lbF9vcGVuZWQtcGFyZW50IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG5cbiAgICAubW0tbWVudV9meC1wYW5lbHMtc2xpZGUtMTAwIC5tbS1wYW5lbF9vcGVuZWQtcGFyZW50IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vbWl4aW5zJywgJy4uLy4uL2luY2x1ZGVzJywgJy4uLy4uL3ZhcmlhYmxlcyc7XG5cbi8vXHRKdXN0aWZpZWQgbGlzdHZpZXdzXG5AaWYgKCRtbV9pbmNsdWRlX2xpc3R2aWV3X2p1c3RpZnkpIHtcbiAgICAubW0tbWVudV9saXN0dmlldy1qdXN0aWZ5IC5tbS1wYW5lbHMgPiAubW0tcGFuZWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubW0tbGlzdHZpZXcge1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1tLWxpc3RpdGVtIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgICAgbWluLWhlaWdodDogJG1tX2J0blNpemU7IC8qIGZvciBTYWZhcmkgOiggKi9cbiAgICAgICAgfVxuXG4gICAgICAgIC5tbS1saXN0aXRlbV9fdGV4dCB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9cdEluc2V0IGxpc3RzXG5AaWYgKCRtbV9pbmNsdWRlX2xpc3R2aWV3X2luc2V0KSB7XG4gICAgLm1tLWxpc3R2aWV3X2luc2V0IHtcbiAgICAgICAgbGlzdC1zdHlsZTogaW5zaWRlIGRpc2M7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwXG4gICAgICAgICAgICAoJG1tX3BhZGRpbmcgKyAkbW1fbGlzdGl0ZW1JbmRlbnQpXG4gICAgICAgICAgICAoJG1tX3BhZGRpbmcgKiAxLjUpXG4gICAgICAgICAgICAoJG1tX3BhZGRpbmcgKyAkbW1fbGlzdGl0ZW1JbmRlbnQpO1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgLm1tLWxpc3RpdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICgkbW1fcGFkZGluZyAqIDAuNSkgMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL21peGlucycsICcuLi8uLi9pbmNsdWRlcycsICcuLi8uLi92YXJpYWJsZXMnO1xuXG4ubW0tbWVudV9tdWx0aWxpbmUge1xuICAgIC5tbS1saXN0aXRlbV9fdGV4dCB7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGNsaXA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxufVxuIiwiQGltcG9ydCBcblx0Jy4uLy4uL21peGlucycsXG5cdCcuLi8uLi9pbmNsdWRlcycsXG5cdCcuLi8uLi92YXJpYWJsZXMnO1xuXG5cbkBpZiAoICRtbV9pbmNsdWRlX3BhZ2VkaW1fZGVmYXVsdCBvciAkbW1faW5jbHVkZV9wYWdlZGltX2JsYWNrIG9yICRtbV9pbmNsdWRlX3BhZ2VkaW1fd2hpdGUgKSB7XG5cdFtjbGFzcyo9XCJtbS1tZW51X3BhZ2VkaW1cIl0ubW0tbWVudV9vcGVuZWQge1xuXHRcdH4gLm1tLXdyYXBwZXJfX2Jsb2NrZXIge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHR9XG5cdH1cblxuXHQubW0td3JhcHBlcl9vcGVuaW5nIFtjbGFzcyo9XCJtbS1tZW51X3BhZ2VkaW1cIl0ubW0tbWVudV9vcGVuZWQge1xuXHRcdH4gLm1tLXdyYXBwZXJfX2Jsb2NrZXIge1xuXHRcdFx0b3BhY2l0eTogJG1tX3BhZ2VkaW1PcGFjaXR5O1xuXHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAkbW1fdHJhbnNpdGlvbkR1cmF0aW9uICRtbV90cmFuc2l0aW9uRnVuY3Rpb24gJG1tX3BhZ2VkaW1EZWxheTtcblx0XHR9XG5cdH1cblxuXHQubW0tbWVudV9vcGVuZWQge1xuXHRcdEBpZiAoICRtbV9pbmNsdWRlX3BhZ2VkaW1fZGVmYXVsdCApIHtcblx0XHRcdCYubW0tbWVudV9wYWdlZGltIH4gLm1tLXdyYXBwZXJfX2Jsb2NrZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBpbmhlcml0O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpZiAoICRtbV9pbmNsdWRlX3BhZ2VkaW1fYmxhY2sgKSB7XG5cdFx0XHQmLm1tLW1lbnVfcGFnZWRpbS1ibGFjayB+IC5tbS13cmFwcGVyX19ibG9ja2VyIHtcblx0XHRcdFx0YmFja2dyb3VuZDogIzAwMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAaWYgKCAkbW1faW5jbHVkZV9wYWdlZGltX3doaXRlICkge1xuXHRcdFx0Ji5tbS1tZW51X3BhZ2VkaW0td2hpdGUgfiAubW0td3JhcHBlcl9fYmxvY2tlciB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiQGltcG9ydCAnLi4vLi4vbWl4aW5zJywgJy4uLy4uL2luY2x1ZGVzJywgJy4uLy4uL3ZhcmlhYmxlcyc7XG5cbi5tbS1tZW51X3BvcHVwIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRtbV90cmFuc2l0aW9uRHVyYXRpb24gJG1tX3RyYW5zaXRpb25GdW5jdGlvbjtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgYm94LXNoYWRvdzogJG1tX3BvcHVwU2hhZG93O1xuICAgIGhlaWdodDogcGVyY2VudGFnZSgkbW1fbWVudUhlaWdodCk7XG4gICAgbWluLWhlaWdodDogJG1tX21lbnVNaW5IZWlnaHQ7XG4gICAgbWF4LWhlaWdodDogJG1tX21lbnVNYXhIZWlnaHQ7XG5cbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuXG4gICAgJi5tbS1tZW51X29wZW5lZCB7XG4gICAgICAgIH4gLm1tLXNsaWRlb3V0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIH4gLm1tLXdyYXBwZXJfX2Jsb2NrZXIge1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHMgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW0td3JhcHBlcl9vcGVuaW5nICYge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL21peGlucycsICcuLi8uLi9pbmNsdWRlcycsICcuLi8uLi92YXJpYWJsZXMnO1xuXG5AaWYgKCRtbV9pbmNsdWRlX3Bvc2l0aW9uaW5nX3JpZ2h0KSB7XG4gICAgLm1tLW1lbnVfcG9zaXRpb24ge1xuICAgICAgICAmLXJpZ2h0IHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtbV9wb3NpdGlvbl9yaWdodDtcbn1cblxuQGlmIChcbiAgICAkbW1faW5jbHVkZV9wb3NpdGlvbmluZ19mcm9udCBvclxuICAgICAgICAkbW1faW5jbHVkZV9wb3NpdGlvbmluZ190b3Agb3JcbiAgICAgICAgJG1tX2luY2x1ZGVfcG9zaXRpb25pbmdfYm90dG9tXG4pIHtcbiAgICAubW0tbWVudV9wb3NpdGlvbiB7XG4gICAgICAgICYtZnJvbnQsXG4gICAgICAgICYtdG9wLFxuICAgICAgICAmLWJvdHRvbSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG1tX3RyYW5zaXRpb25EdXJhdGlvbiAkbW1fdHJhbnNpdGlvbkZ1bmN0aW9uO1xuXG4gICAgICAgICAgICAmLm1tLW1lbnVfb3BlbmVkIHtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAgICAgICAgICAgfiAubW0tc2xpZGVvdXQge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB+IC5tbS13cmFwcGVyX19ibG9ja2VyIHtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCRtbV9pbmNsdWRlX3Bvc2l0aW9uaW5nX2Zyb250KSB7XG4gICAgICAgIC5tbS1tZW51X3Bvc2l0aW9uIHtcbiAgICAgICAgICAgICYtZnJvbnQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuXG4gICAgICAgICAgICAgICAgQGlmICgkbW1faW5jbHVkZV9wb3NpdGlvbmluZ19yaWdodCkge1xuICAgICAgICAgICAgICAgICAgICAmLm1tLW1lbnVfcG9zaXRpb24tcmlnaHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoJG1tX2luY2x1ZGVfcG9zaXRpb25pbmdfdG9wIG9yICRtbV9pbmNsdWRlX3Bvc2l0aW9uaW5nX2JvdHRvbSkge1xuICAgICAgICAubW0tbWVudV9wb3NpdGlvbiB7XG4gICAgICAgICAgICAmLXRvcCxcbiAgICAgICAgICAgICYtYm90dG9tIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICgkbW1faW5jbHVkZV9wb3NpdGlvbmluZ190b3ApIHtcbiAgICAgICAgLm1tLW1lbnVfcG9zaXRpb24ge1xuICAgICAgICAgICAgJi10b3Age1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1tX3Bvc2l0aW9uX3RvcDtcbiAgICB9XG5cbiAgICBAaWYgKCRtbV9pbmNsdWRlX3Bvc2l0aW9uaW5nX2JvdHRvbSkge1xuICAgICAgICAubW0tbWVudV9wb3NpdGlvbiB7XG4gICAgICAgICAgICAmLWJvdHRvbSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbW1fcG9zaXRpb25fYm90dG9tO1xuICAgIH1cblxuICAgIC5tbS13cmFwcGVyX29wZW5pbmcge1xuICAgICAgICAubW0tbWVudV9wb3NpdGlvbiB7XG4gICAgICAgICAgICAmLWZyb250LFxuICAgICAgICAgICAgJi10b3AsXG4gICAgICAgICAgICAmLWJvdHRvbSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL21peGlucycsICcuLi8uLi9pbmNsdWRlcycsICcuLi8uLi92YXJpYWJsZXMnO1xuXG5AaWYgKCRtbV9pbmNsdWRlX3NoYWRvd3NfcGFnZSkge1xuICAgIC5tbS1tZW51X3NoYWRvdy1wYWdlIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEyMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICAgICAgdG9wOiAtMTAlO1xuICAgICAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKC0yMHB4IDAsIDAgMCwgMCAxMDAlLCAtMjBweCAxMDAlKTtcblxuICAgICAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tbW0tc2hhZG93KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJG1tX2luY2x1ZGVfcG9zaXRpb25pbmdfcmlnaHQpIHtcbiAgICAgICAgICAgICYubW0tbWVudV9wb3NpdGlvbi1yaWdodDphZnRlciB7XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMjBweCAwLCA0MHB4IDAsIDQwcHggMTAwJSwgMjBweCAxMDAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJG1tX2luY2x1ZGVfcG9zaXRpb25pbmdfZnJvbnQpIHtcbiAgICAgICAgICAgICYubW0tbWVudV9wb3NpdGlvbi1mcm9udDphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgKCRtbV9pbmNsdWRlX3NoYWRvd3NfbWVudSkge1xuICAgIC5tbS1tZW51X3NoYWRvdy1tZW51IHtcbiAgICAgICAgQGlmICgkbW1fSUUxMUZhbGxiYWNrcykge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgICAgICB9XG5cbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tbW0tc2hhZG93KTtcbiAgICB9XG59XG5cbkBpZiAoJG1tX2luY2x1ZGVfc2hhZG93c19wYW5lbHMpIHtcbiAgICAubW0tbWVudV9zaGFkb3ctcGFuZWxzIC5tbS1wYW5lbHMgPiAubW0tcGFuZWwge1xuICAgICAgICBAaWYgKCRtbV9JRTExRmFsbGJhY2tzKSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgICAgIH1cblxuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1tbS1zaGFkb3cpO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgXG5cdCcuLi8uLi9taXhpbnMnLFxuXHQnLi4vLi4vaW5jbHVkZXMnLFxuXHQnLi4vLi4vdmFyaWFibGVzJztcblxuXG5AaWYgKCAkbW1faW5jbHVkZV90aGVtZXNfd2hpdGUgKSB7XG5cdC5tbS1tZW51X3RoZW1lLXdoaXRlIHtcblx0XHQtLW1tLWNvbG9yLWJvcmRlciBcdFx0XHRcdDogcmdiYSggMCwwLDAsIDAuMSApO1xuXHRcdC0tbW0tY29sb3ItYnV0dG9uXHRcdFx0XHQ6IHJnYmEoIDAsMCwwLCAwLjMgKTtcblx0XHQtLW1tLWNvbG9yLXRleHQgXHRcdFx0XHQ6IHJnYmEoIDAsMCwwLCAwLjcgKTtcblx0XHQtLW1tLWNvbG9yLXRleHQtZGltbWVkXHRcdFx0OiByZ2JhKCAwLDAsMCwgMC4zICk7XG5cdFx0LS1tbS1jb2xvci1iYWNrZ3JvdW5kIFx0XHRcdDogI2ZmZjtcblx0XHQtLW1tLWNvbG9yLWJhY2tncm91bmQtaGlnaGxpZ2h0XHQ6IHJnYmEoIDAsMCwwLCAwLjA2ICk7XG5cdFx0LS1tbS1jb2xvci1iYWNrZ3JvdW5kLWVtcGhhc2lzXHQ6IHJnYmEoIDAsMCwwLCAwLjAzICk7XG5cdFx0LS1tbS1zaGFkb3dcdFx0XHRcdFx0XHQ6IDAgMCAxMHB4IHJnYmEoIDAsMCwwLCAwLjIgKTtcblx0fVxufVxuXG5AaWYgKCAkbW1faW5jbHVkZV90aGVtZXNfZGFyayApIHtcblx0Lm1tLW1lbnVfdGhlbWUtZGFyayB7XG5cdFx0LS1tbS1jb2xvci1ib3JkZXIgXHRcdFx0XHQ6IHJnYmEoIDAsMCwwLCAwLjMgKTtcblx0XHQtLW1tLWNvbG9yLWJ1dHRvblx0XHRcdFx0OiByZ2JhKCAyNTUsMjU1LDI1NSwgMC40ICk7XG5cdFx0LS1tbS1jb2xvci10ZXh0IFx0XHRcdFx0OiByZ2JhKCAyNTUsMjU1LDI1NSwgMC44NSApO1xuXHRcdC0tbW0tY29sb3ItdGV4dC1kaW1tZWRcdFx0XHQ6IHJnYmEoIDI1NSwyNTUsMjU1LCAwLjQgKTtcblx0XHQtLW1tLWNvbG9yLWJhY2tncm91bmQgXHRcdFx0OiAjMzMzO1xuXHRcdC0tbW0tY29sb3ItYmFja2dyb3VuZC1oaWdobGlnaHRcdDogcmdiYSggMjU1LDI1NSwyNTUsIDAuMDggKTtcblx0XHQtLW1tLWNvbG9yLWJhY2tncm91bmQtZW1waGFzaXNcdDogcmdiYSggMCwwLDAsIDAuMSApO1xuXHRcdC0tbW0tc2hhZG93XHRcdFx0XHRcdFx0OiAwIDAgMjBweCByZ2JhKCAwLDAsMCwgMC41ICk7XG5cdH1cbn1cblxuQGlmICggJG1tX2luY2x1ZGVfdGhlbWVzX2JsYWNrICkge1xuXHQubW0tbWVudV90aGVtZS1ibGFjayB7XG5cdFx0LS1tbS1jb2xvci1ib3JkZXIgXHRcdFx0XHQ6IHJnYmEoIDI1NSwyNTUsMjU1LCAwLjI1ICk7XG5cdFx0LS1tbS1jb2xvci1idXR0b25cdFx0XHRcdDogcmdiYSggMjU1LDI1NSwyNTUsIDAuNCApO1xuXHRcdC0tbW0tY29sb3ItdGV4dCBcdFx0XHRcdDogcmdiYSggMjU1LDI1NSwyNTUsIDAuNzUgKTtcblx0XHQtLW1tLWNvbG9yLXRleHQtZGltbWVkXHRcdFx0OiByZ2JhKCAyNTUsMjU1LDI1NSwgMC40ICk7XG5cdFx0LS1tbS1jb2xvci1iYWNrZ3JvdW5kIFx0XHRcdDogIzAwMDtcblx0XHQtLW1tLWNvbG9yLWJhY2tncm91bmQtaGlnaGxpZ2h0XHQ6IHJnYmEoIDI1NSwyNTUsMjU1LCAwLjIgKTtcblx0XHQtLW1tLWNvbG9yLWJhY2tncm91bmQtZW1waGFzaXNcdDogcmdiYSggMjU1LDI1NSwyNTUsIDAuMTUgKTtcblx0XHQtLW1tLXNoYWRvd1x0XHRcdFx0XHRcdDogbm9uZVxuXHR9XG59XG4iLCJib2R5Lm1vZGFsLW9wZW4gLm1tLXNsaWRlb3V0IHtcbiAgICB6LWluZGV4OiB1bnNldDtcbn0iLCIuYnRuIHtcblx0Zm9udC1zaXplOiBweC10by1yZW0oMTkpO1xuXHRmb250LXdlaWdodDogMTAwO1xuXHRsaW5lLWhlaWdodDogcHgtdG8tcmVtKDI5KTtcblx0cGFkZGluZzogcHgtdG8tcmVtKDEyKSBweC10by1yZW0oNDApO1xuXHRib3JkZXItcmFkaXVzOiAwO1xuXHRib3gtc2hhZG93OiAwIDNweCA1cHggcmdiYSgkYmxhY2ssIDAuMyk7XG59XG5cbi5idG4tZ3JheSB7XG5cdEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRncmF5LTYwMCwgJGdyYXktNjAwLCAkd2hpdGUsICR3aGl0ZSwgJGdyYXktNjAwLCAkZ3JheS02MDApO1xufVxuXG4uYnRuLXB1cnBsZSB7XG5cdEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRwdXJwbGUsICRwdXJwbGUsICRzZWNvbmRhcnksICRzZWNvbmRhcnksICRwdXJwbGUsICRwdXJwbGUpO1xufSIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXZhcmlhbnQtbWl4aW5cbkBtaXhpbiBidXR0b24tdmFyaWFudChcbiAgJGJhY2tncm91bmQsXG4gICRib3JkZXIsXG4gICRjb2xvcjogY29sb3ItY29udHJhc3QoJGJhY2tncm91bmQpLFxuICAkaG92ZXItYmFja2dyb3VuZDogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJhY2tncm91bmQsICRidG4taG92ZXItYmctc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1ob3Zlci1iZy10aW50LWFtb3VudCkpLFxuICAkaG92ZXItYm9yZGVyOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYm9yZGVyLCAkYnRuLWhvdmVyLWJvcmRlci1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRib3JkZXIsICRidG4taG92ZXItYm9yZGVyLXRpbnQtYW1vdW50KSksXG4gICRob3Zlci1jb2xvcjogY29sb3ItY29udHJhc3QoJGhvdmVyLWJhY2tncm91bmQpLFxuICAkYWN0aXZlLWJhY2tncm91bmQ6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWFjdGl2ZS1iZy10aW50LWFtb3VudCkpLFxuICAkYWN0aXZlLWJvcmRlcjogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJvcmRlciwgJGJ0bi1hY3RpdmUtYm9yZGVyLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJvcmRlciwgJGJ0bi1hY3RpdmUtYm9yZGVyLXRpbnQtYW1vdW50KSksXG4gICRhY3RpdmUtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRhY3RpdmUtYmFja2dyb3VuZCksXG4gICRkaXNhYmxlZC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCxcbiAgJGRpc2FibGVkLWJvcmRlcjogJGJvcmRlcixcbiAgJGRpc2FibGVkLWNvbG9yOiBjb2xvci1jb250cmFzdCgkZGlzYWJsZWQtYmFja2dyb3VuZClcbikge1xuICBjb2xvcjogJGNvbG9yO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3cpO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkaG92ZXItY29sb3I7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgfVxuXG4gIC5idG4tY2hlY2s6Zm9jdXMgKyAmLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGhvdmVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peCgkY29sb3IsICRib3JkZXIsIDE1JSksIC41KSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KCRjb2xvciwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tY2hlY2s6Y2hlY2tlZCArICYsXG4gIC5idG4tY2hlY2s6YWN0aXZlICsgJixcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogJGFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIG5vbmUsIG51bGwpO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoJGNvbG9yLCAkYm9yZGVyLCAxNSUpLCAuNSkpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peCgkY29sb3IsICRib3JkZXIsIDE1JSksIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkaXNhYmxlZC1iYWNrZ3JvdW5kO1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBub25lLCBudWxsKTtcbiAgICBib3JkZXItY29sb3I6ICRkaXNhYmxlZC1ib3JkZXI7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLXZhcmlhbnQtbWl4aW5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1vdXRsaW5lLXZhcmlhbnQtbWl4aW5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KFxuICAkY29sb3IsXG4gICRjb2xvci1ob3ZlcjogY29sb3ItY29udHJhc3QoJGNvbG9yKSxcbiAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsXG4gICRhY3RpdmUtYm9yZGVyOiAkY29sb3IsXG4gICRhY3RpdmUtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRhY3RpdmUtYmFja2dyb3VuZClcbikge1xuICBjb2xvcjogJGNvbG9yO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICB9XG5cbiAgLmJ0bi1jaGVjazpmb2N1cyArICYsXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgfVxuXG4gIC5idG4tY2hlY2s6Y2hlY2tlZCArICYsXG4gIC5idG4tY2hlY2s6YWN0aXZlICsgJixcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAmLmRyb3Bkb3duLXRvZ2dsZS5zaG93IHtcbiAgICBjb2xvcjogJGFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi1vdXRsaW5lLXZhcmlhbnQtbWl4aW5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1zaXplLW1peGluXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gIC8vIE1hbnVhbGx5IGRlY2xhcmUgdG8gcHJvdmlkZSBhbiBvdmVycmlkZSB0byB0aGUgYnJvd3NlciBkZWZhdWx0XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMsIDApO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBidG4tc2l6ZS1taXhpblxuIiwiLnRhYmxlIHtcblx0Ym9yZGVyOiAxcHggc29saWQgJHNlY29uZGFyeTtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblxuXHQ+IDpub3QoOmZpcnN0LWNoaWxkKSB7XG5cdFx0Ym9yZGVyLXRvcDogMDtcblx0fVxuXG5cdCZfX2NlbGwge1xuXG5cdFx0JjpudGgtY2hpbGQoMikge1xuXHRcdFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkc2Vjb25kYXJ5O1xuXHRcdH1cblxuXHRcdCY6bnRoLWNoaWxkKDMpIHtcblx0XHRcdGJvcmRlci1pbmxpbmU6IDFweCBzb2xpZCAkc2Vjb25kYXJ5O1xuXHRcdH1cblxuXHRcdCYtLWNlbnRlciB7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdH1cblx0fVxuXG5cdCZfX2hlYWQge1xuXHRcdGJhY2tncm91bmQ6ICRwcmltYXJ5O1xuXG5cdFx0LnRhYmxlX19oZWFkaW5nIHtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0fVxuXHR9XG5cblx0Jl9fYm9keSB7XG5cblx0XHQudGFibGVfX2hlYWRpbmcge1xuXHRcdFx0YmFja2dyb3VuZDogcmdiYSgkcHJpbWFyeSwgMC40KTtcblx0XHR9XG5cdH1cblxuXHQmX19yb3cge1xuXHRcdGJvcmRlci1jb2xvcjogJHNlY29uZGFyeTtcblx0fVxuXG5cdCZfX2xpc3Qge1xuXHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cblx0XHRsaSArIGxpIHtcblx0XHRcdG1hcmdpbi10b3A6IDFyZW07XG5cdFx0fVxuXHR9XG5cblx0Jl9fdGV4dCB7XG5cblx0XHQmLS1ncmVlbiB7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdGNvbG9yOiAkcHJpbWFyeTtcblx0XHRcdGZvbnQtc2l6ZTogcHgtdG8tcmVtKDQwKTtcblx0XHR9XG5cdH1cbn1cbiIsIiRjb2xsYXBzZWQtbmF2YmFyLWhlaWdodDogMTE4cHg7XG4kY29sbGFwc2VkLW5hdmJhci1tb2JpbGUtaGVpZ2h0OiAxMTlweDtcblxuLm1tIHtcblxuICAgICYtbWVudV9fdG9nZ2xlIHtcbiAgICAgICAgLS1tYi1iYXItaGVpZ2h0OiAzcHg7XG4gICAgICAgIC0tbWItYmFyLXNwYWNpbmc6IDdweDtcbiAgICAgICAgLS1tYi1iYXItd2lkdGg6IDE7XG4gICAgICAgIC0tbWItYnV0dG9uLXNpemU6IDI2cHg7XG4gICAgICAgIHotaW5kZXg6IDk5O1xuXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgYiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLW1lbnUge1xuXG4gICAgICAgICZfcG9zaXRpb24tYm90dG9tIHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gI3skY29sbGFwc2VkLW5hdmJhci1tb2JpbGUtaGVpZ2h0fSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICN7JGNvbGxhcHNlZC1uYXZiYXItaGVpZ2h0fSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWxpc3RpdGVtIHtcblxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIG1hcmdpbjogY2FsYygkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSAkZ3JpZC1ndXR0ZXItd2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICAmX190ZXh0IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGdyaWQtZ3V0dGVyLXdpZHRoO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fYnRuIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDc1cHg7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICByaWdodDogKCRncmlkLWd1dHRlci13aWR0aCArIHB4LXRvLXJlbSgxMCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9vcGVuZWQge1xuXG4gICAgICAgICAgICAubW0tbGlzdGl0ZW1fX2J0biB7XG5cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtcGFuZWxzIHtcblxuICAgICAgICA+IC5tbS1wYW5lbCB7XG5cbiAgICAgICAgICAgID4gLm1tLWxpc3R2aWV3IHtcblxuICAgICAgICAgICAgICAgID4gLm1tLWxpc3RpdGVtIHtcblxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgPiAubW0tbGlzdGl0ZW1fX3RleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHB4LXRvLXJlbSgxOCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAubW0tbGlzdHZpZXcge1xuICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgID4gLm1tLWxpc3RpdGVtIHtcbiAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiAubW0tbGlzdGl0ZW1fX3RleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBweC10by1yZW0oMTYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hZG1pbi1iYXIgJiB7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICR3cC1hZG1pbi1iYXItc20tbWF4KSB7XG5cbiAgICAgICAgICAgICYtbWVudSB7XG5cbiAgICAgICAgICAgICAgICAmX3Bvc2l0aW9uLWJvdHRvbSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gKCN7JGNvbGxhcHNlZC1uYXZiYXItbW9iaWxlLWhlaWdodH0gKyA0NnB4KSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICR3cC1hZG1pbi1iYXItbWQtbWluKSB7XG5cbiAgICAgICAgICAgICYtbWVudSB7XG5cbiAgICAgICAgICAgICAgICAmX3Bvc2l0aW9uLWJvdHRvbSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gKCN7JGNvbGxhcHNlZC1uYXZiYXItbW9iaWxlLWhlaWdodH0gKyAzMnB4KSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuXG4gICAgICAgICAgICAmLW1lbnUge1xuXG4gICAgICAgICAgICAgICAgJl9wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICgjeyRjb2xsYXBzZWQtbmF2YmFyLWhlaWdodH0gKyAzMnB4KSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5jb21wb25lbnQtLWJvdXRpcXVlIHtcblxuICAgIC5ib3V0aXF1ZSB7XG5cbiAgICAgICAgJl9fbG9nbyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IHB4LXRvLXJlbSgtMTUwKTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHB4LXRvLXJlbSgyMTQpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xuICAgICAgICAgICAgICAgIHdpZHRoOiBweC10by1yZW0oMzY4KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHB4LXRvLXJlbSg3NSk7XG4gICAgICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDIwJSAwJSwgODAlIDAlLCAxMDAlIDEwMCUsIDAlIDEwMCUpO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmNvbXBvbmVudC0tY29udGVudF9pbWFnZSB7XG5cbiAgICBwIHtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA4cHg7XG4gICAgfVxufSIsIi5jb21wb25lbnQtLWNvbnRlbnRfb2Zmc2V0X2ltYWdlcyB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHB4LXRvLXJlbSgxMDApO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcHgtdG8tcmVtKDE1MCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcHgtdG8tcmVtKDIwMCk7XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiBweC10by1yZW0oNTApIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgICAgICAgICBwYWRkaW5nOiBweC10by1yZW0oMjM0KSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmltYWdlIHtcblxuICAgICAgICAmLS1wcmltYXJ5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTc1cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tc2Vjb25kYXJ5IHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiBweC10by1yZW0oLTEwMCk7XG4gICAgICAgICAgICAgICAgbGVmdDogMTAwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgICAgICAgICAgICAgICB0b3A6IHB4LXRvLXJlbSgtMTUwKTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA2MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkge1xuICAgICAgICAgICAgICAgIHRvcDogcHgtdG8tcmVtKC0yMDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2NrLS1pbWFnZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxufSIsIi5jb21wb25lbnQtLWxhd3llcnMge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAucm93LS1sYXd5ZXJzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgtdG8tcmVtKC00MCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgtdG8tcmVtKC0xOTIpO1xuICAgICAgICB9XG4gICAgfVxuXG5cdC5jb2wtMTIge1xuXHRcdG1hcmdpbi1ib3R0b206IHB4LXRvLXJlbSg0MCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgtdG8tcmVtKDE5Mik7XG4gICAgICAgIH1cblx0fVxuXG4gICAgLmxhd3llciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRib3JkZXI6IDZweCBzb2xpZCAkcHJpbWFyeTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIG1heC13aWR0aDogMzI3cHg7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgIGEge1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuXG4gICAgICAgICAgICAgICAgLmxhd3llcl9fc3VidGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5sYXd5ZXJfX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX190aHVtYm5haWwge1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0XHRcdGFzcGVjdC1yYXRpbzogMC41MTtcblx0XHRcdH1cblxuICAgICAgICAgICAgaW1nIHtcblx0XHRcdFx0b2JqZWN0LWZpdDogY2VudGVyO1xuXHRcdFx0XHRvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fZGV0YWlscyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHNlY29uZGFyeSwgMC44KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHB4LXRvLXJlbSgxNCkgcHgtdG8tcmVtKDgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fdGl0bGUgLFxuICAgICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fc3VidGl0bGUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgtdG8tcmVtKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBweC10by1yZW0oMjIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fbGluayB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBwYWRkaW5nOiBweC10by1yZW0oOSk7XG4gICAgICAgICAgICBib3R0b206IHB4LXRvLXJlbSgxMyk7XG4gICAgICAgICAgICByaWdodDogcHgtdG8tcmVtKDgpO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHB4LXRvLXJlbSgxMyk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBweC10by1yZW0oMTMpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fZGl2aWRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNTB2dztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MHZ3KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoM24rMSkge1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0NTRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDNuKzIpIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtNzAwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNTY4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzbiszKSB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTUzNXB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIxNnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5jb21wb25lbnQtLXNlcnZpY2VzIHtcblxuICAgIC5zZXJ2aWNlIHtcblxuICAgICAgICAmX19kaXNjIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogcHgtdG8tcmVtKDI4MCk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAkZ3JheS02MDAgMCUsICRncmF5LTUwMCAyNSUsICRncmF5LTEwMCA1MCUsICRncmF5LTUwMCA3NSUsICRncmF5LTYwMCAxMDAlKTtcbiAgICBcbiAgICAgICAgICAgICAgICAuc2VydmljZV9fdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcbiAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgLnNlcnZpY2VfX3RodW1ibmFpbCB7XG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHB4LXRvLXJlbSgxMTUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RodW1ibmFpbCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBweC10by1yZW0oNTMpO1xuICAgICAgICAgICAgd2lkdGg6IHB4LXRvLXJlbSgxMjUpO1xuICAgICAgICAgICAgaGVpZ2h0OiBweC10by1yZW0oMTQwKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogcHgtdG8tcmVtKDExMCk7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogOTAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHB4LXRvLXJlbSg0MCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgICAgICBmb250LXNpemU6IHB4LXRvLXJlbSgyOCk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICRzcGFjZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBweC10by1yZW0oMjM0KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHh4bCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgcHgtdG8tcmVtKDEwKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHB4LXRvLXJlbSgyNCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4bCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgtdG8tcmVtKDI1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnN0YWZmIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IHB4LXRvLXJlbSgyMCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gICAgYm94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoJGJsYWNrLCAwLjE2KTtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuXG4gICAgLnNpbmdsZS1sYXd5ZXJzICYge1xuICAgICAgICBtaW4td2lkdGg6IDIxNHB4O1xuICAgIH1cblxuICAgICZfX25hbWUge1xuICAgICAgICBjb2xvcjogJHByaW1hcnkgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zaXplOiBweC10by1yZW0oMjIpO1xuICAgICAgICBsaW5lLWhlaWdodDogcHgtdG8tcmVtKDMwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgtdG8tcmVtKDUpO1xuICAgIH1cblxuICAgICZfX3Bvc2l0aW9uIHtcbiAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG5cbiAgICAmX19saW5rdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG5cbiAgICAmLS1saWdodCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvZHktY29sb3I7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xuXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tZGFyayB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJvZHktY29sb3I7XG5cbiAgICAgICAgICAgIC5zdGFmZl9fcG9zaXRpb24ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnJlc291cmNlLXRpbGUge1xuICBjb2xvcjogJGJvZHktY29sb3IgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHBhZGRpbmc6IHB4LXRvLXJlbSgyMik7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5zZXQ7XG5cbiAgJl9fZmxleCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAmX190aXRsZSwgJl9fbW9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogcHgtdG8tcmVtKDIyKTtcbiAgfVxuXG4gICZfX21vcmUge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG5cbiAgICBzdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IHB4LXRvLXJlbSgyMik7XG4gICAgfVxuICB9XG5cbiAgJi0tZ3JlZW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRncmVlbiwgLjQpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkZ3JlZW4sIC41NSk7XG4gICAgfVxuICB9XG5cbiAgJi0tcHVycGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkcHVycGxlLCAuNCk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRwdXJwbGUsIC41NSk7XG4gICAgfVxuICB9XG59IiwiI2dmb3JtXzEge1xuXG5cdC5nZmllbGRfbGFiZWwge1xuXHRcdGZvbnQtc2l6ZTogcHgtdG8tcmVtKDI2KTtcblx0XHRsaW5lLWhlaWdodDogcHgtdG8tcmVtKDMwKTtcblx0XHRmb250LXdlaWdodDogMTAwO1xuXHR9XG5cblx0LmdmaWVsZF9lcnJvciAuZ2ZpZWxkX2xhYmVsIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHR9XG5cblx0LmdmaWVsZF9yZXF1aXJlZCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5nZm9ybV9mb290ZXIge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRtYXJnaW46ICRzcGFjZXIgMCAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cbn1cblxuI2dmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyXzEge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdGNvbG9yOiAkZ3JheS02MDA7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn0iLCIuZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xuICAgIHBhZGRpbmctdG9wOiBweC10by1yZW0oMTIpO1xuICAgIHBhZGRpbmctYm90dG9tOiBweC10by1yZW0oMTIpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBweC10by1yZW0oMTIpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcHgtdG8tcmVtKDEyKTtcbiAgICB9XG5cbiAgICAmX19jb250YWN0LWRldGFpbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcHgtdG8tcmVtKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHB4LXRvLXJlbSgyMCk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHB4LXRvLXJlbSgxOCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcHgtdG8tcmVtKDIyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBweC10by1yZW0oMTApO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHB4LXRvLXJlbSgyOCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc29jaWFsLW1lbnUge1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHB4LXRvLXJlbSgxOCk7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgbGluZS1oZWlnaHQ6IHB4LXRvLXJlbSgxNSk7XG4gICAgICAgICAgIG1hcmdpbi1yaWdodDogcHgtdG8tcmVtKDIwKTtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIHN2ZyBwYXRoe1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkcHJpbWFyeTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb3B5cmlnaHQge1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgtdG8tcmVtKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBweC10by1yZW0oMTgpO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5uZXdzLWV2ZW50cyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS02MDA7XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIHBhZGRpbmc6IHB4LXRvLXJlbSgyMCk7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG5cbiAgICAmX190aHVtYm5haWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCA2cHggcmdiYSgkYmxhY2ssIDAuMTYpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIGJvdHRvbTogcHgtdG8tcmVtKC0yOCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiBweC10by1yZW0oMTgwKTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoJGJsYWNrLCAwLjE2KTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBmb250LXNpemU6IHB4LXRvLXJlbSgyMCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcHgtdG8tcmVtKDQwKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogdXJsKCRpbWFnZS1kaXJlY3RvcnkgKyAnL2ljb25zL2Fycm93LXJpZ2h0LWJvbGQuc3ZnJyk7XG4gICAgICAgICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDExKTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcblxuICAgICAgICAubmV3cy1ldmVudHNfX2xpbmsge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRwcmltYXJ5LCAzJSk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiI3NlcnZpY2VzLW1vZGFsIHtcblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiBweC10by1yZW0oNzApIHB4LXRvLXJlbSgzMCkgcHgtdG8tcmVtKDMwKTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgJHNlY29uZGFyeSA2MCUsICR3aGl0ZSA0MCUpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHB4LXRvLXJlbSg3NCkgcHgtdG8tcmVtKDcwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2RhbC1ib2R5IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogOTU3cHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHVycGxlO1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcbiAgICAgICAgcGFkZGluZzogcHgtdG8tcmVtKDMwKTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAzcHggMTBweCByZ2JhKCRibGFjaywgMC4yMSk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgcGFkZGluZzogcHgtdG8tcmVtKDExNSkgcHgtdG8tcmVtKDE0MCkgcHgtdG8tcmVtKDUwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2RhbC10aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBweC10by1yZW0oMjApO1xuICAgICAgICBsaW5lLWhlaWdodDogaW5pdGlhbDtcbiAgICB9XG5cbiAgICAuYnRuLWNsb3NlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogcHgtdG8tcmVtKDMwKTtcbiAgICAgICAgdG9wOiBweC10by1yZW0oMzQpO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwwMGQ3XCI7XG4gICAgICAgICAgICBjb2xvcjogJHB1cnBsZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgICAgICBmb250LXNpemU6IHB4LXRvLXJlbSg0Mik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcHgtdG8tcmVtKDI3KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1vZGFsLWFuaW1hdGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBhbmltYXRpb246IG1vZGFsYW5pbWF0ZSAwLjI1cztcbn1cblxuQGtleWZyYW1lcyBtb2RhbGFuaW1hdGUge1xuICAgIGZyb20ge1xuICAgICAgICBib3R0b206IC0xMDAlO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgIH1cbn0iLCIuc2luZ2xlLWxhd3llciB7XG5cdFxuXHQubGF3eWVyIHtcblxuXHRcdCZfX2RldGFpbCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiBweC10by1yZW0oMzApO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IHB4LXRvLXJlbSg1MCk7XG5cdFx0XHR9XG5cblx0XHRcdCYgPiBoMyB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkcHJpbWFyeTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcHgtdG8tcmVtKDE0KTtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IHB4LXRvLXJlbSg1KTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0Y29sb3I6ICRncmF5LTYwMDtcblx0XHRcdH1cblxuXHRcdFx0cCB7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAxMDA7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiYm9keS5zaW5nbGUtcmVzb3VyY2Uge1xuXG4gIC5yZXNvdXJjZSB7XG5cbiAgICAmLWNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKHB4LXRvLXJlbSgxOCkpO1xuXG4gICAgICBoMiwgLmgyIHtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKHB4LXRvLXJlbSgyMCkpO1xuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgICB9XG5cbiAgICAgIGgzLCAuaDMge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKHB4LXRvLXJlbSgxOCkpO1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgICAgIH1cblxuICAgICAgJl9fZGlzY2xhaW1lciB7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShweC10by1yZW0oMjApKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5zaW5nbGUtbmV3cy1ldmVudCB7XG4gICBcbiAgICAuc2VjdGlvbi0tY29udGVudCB7XG4gICAgICAgIFxuICAgICAgICBwOmZpcnN0LWNoaWxkOmZpcnN0LWxldHRlciB7XG4gICAgICAgICAgICBmb250LXNpemU6IHB4LXRvLXJlbSgyMTIpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHB4LXRvLXJlbSgxODApO1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcHgtdG8tcmVtKDIwKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBweC10by1yZW0oMTIxKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcHgtdG8tcmVtKDEwMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sZWFkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgtdG8tcmVtKDIyKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBweC10by1yZW0oNDApO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufSJdfQ== */
