/*
* Pages Mixins
*/
body {
  background: #f7f7f9;
}

.bg-body {
  background: #f7f7f9 !important;
}

.text-primary {
  color: #666cff !important;
}

.text-body[href]:hover {
  color: #5c61e6 !important;
}

.bg-primary {
  background-color: #666cff !important;
}

a.bg-primary:hover, a.bg-primary:focus {
  background-color: #6167f2 !important;
}

.dropdown-notifications-item:not(.mark-as-read) .dropdown-notifications-read span {
  background-color: #666cff;
}

.bg-label-primary {
  background-color: #e8e9ff !important;
  color: #666cff !important;
}

.page-item.active .page-link, .page-item.active .page-link:hover, .page-item.active .page-link:focus,
.pagination li.active > a:not(.page-link),
.pagination li.active > a:not(.page-link):hover,
.pagination li.active > a:not(.page-link):focus {
  border-color: #666cff;
  background-color: #666cff;
  color: #fff;
}
.page-item.active .page-link.waves-effect .waves-ripple,
.pagination li.active > a:not(.page-link).waves-effect .waves-ripple {
  background: radial-gradient(rgba(255, 255, 255, 0.2) 0, rgba(255, 255, 255, 0.3) 40%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
}

.pagination-outline-primary .page-item.active .page-link, .pagination-outline-primary .page-item.active .page-link:hover, .pagination-outline-primary .page-item.active .page-link:focus,
.pagination-outline-primary.pagination li.active > a:not(.page-link),
.pagination-outline-primary.pagination li.active > a:not(.page-link):hover,
.pagination-outline-primary.pagination li.active > a:not(.page-link):focus {
  border-color: #b3b6ff;
  color: #666cff;
  background-color: #f7f8ff;
}
.pagination-outline-primary .page-item.active .page-link.waves-effect .waves-ripple,
.pagination-outline-primary.pagination li.active > a:not(.page-link).waves-effect .waves-ripple {
  background: radial-gradient(rgba(102, 108, 255, 0.2) 0, rgba(102, 108, 255, 0.3) 40%, rgba(102, 108, 255, 0.4) 50%, rgba(102, 108, 255, 0.5) 60%, rgba(76, 78, 100, 0) 70%);
}

.modal-onboarding .carousel-indicators [data-bs-target] {
  background-color: #666cff;
}

.carousel-control-prev,
.carousel-control-next {
  color: #666cff;
}
.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #666cff;
}

.list-group-item-primary {
  background-color: #ededff;
  color: #5c61e6 !important;
}

a.list-group-item-primary,
button.list-group-item-primary {
  color: #5c61e6;
}
a.list-group-item-primary:hover, a.list-group-item-primary:focus,
button.list-group-item-primary:hover,
button.list-group-item-primary:focus {
  background-color: #e1e1f2;
  color: #5c61e6;
}
a.list-group-item-primary.active,
button.list-group-item-primary.active {
  border-color: #666cff;
  background-color: #666cff;
  color: #5c61e6;
}

.list-group-item.active {
  background-color: #f3f3ff;
  color: #636578;
}
.list-group-item.active.waves-effect .waves-ripple {
  background: radial-gradient(rgba(102, 108, 255, 0.2) 0, rgba(102, 108, 255, 0.3) 40%, rgba(102, 108, 255, 0.4) 50%, rgba(102, 108, 255, 0.5) 60%, rgba(76, 78, 100, 0) 70%);
}

.list-group.list-group-timeline .list-group-timeline-primary:before {
  background-color: #666cff;
}

.alert-primary {
  background-color: #ededff;
  border-color: #ededff;
  color: #5c61e6;
}
.alert-primary .btn-close {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%235c61e6'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/></svg>");
}
.alert-primary .alert-link {
  color: #5c61e6;
}

.card .alert-primary hr {
  background-color: #5c61e6 !important;
}

.alert-outline-primary {
  border-color: #666cff;
  color: #5c61e6;
}
.alert-outline-primary .btn-close {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23666cff'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/></svg>");
}
.alert-outline-primary .alert-link {
  color: #5c61e6;
}

.card .alert-outline-primary hr {
  background-color: #5c61e6 !important;
}

.alert-solid-primary {
  background-color: #666cff;
  color: #fff;
}
.alert-solid-primary .btn-close {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/></svg>");
}
.alert-solid-primary .alert-link {
  color: #fff;
}

.card .alert-solid-primary hr {
  background-color: #fff !important;
}

.accordion.accordion-header-primary .accordion-item.active .accordion-button {
  color: #666cff !important;
}

.tooltip-primary .tooltip-inner, .tooltip-primary > .tooltip .tooltip-inner {
  background: #666cff;
  color: #fff;
}
.tooltip-primary.bs-tooltip-auto[data-popper-placement=top] .tooltip-arrow::before, .tooltip-primary > .tooltip.bs-tooltip-auto[data-popper-placement=top] .tooltip-arrow::before {
  border-top-color: #666cff;
}
.tooltip-primary.bs-tooltip-auto[data-popper-placement=left] .tooltip-arrow::before, .tooltip-primary > .tooltip.bs-tooltip-auto[data-popper-placement=left] .tooltip-arrow::before {
  border-left-color: #666cff;
}
.tooltip-primary.bs-tooltip-auto[data-popper-placement=bottom] .tooltip-arrow::before, .tooltip-primary > .tooltip.bs-tooltip-auto[data-popper-placement=bottom] .tooltip-arrow::before {
  border-bottom-color: #666cff;
}
.tooltip-primary.bs-tooltip-auto[data-popper-placement=right] .tooltip-arrow::before, .tooltip-primary > .tooltip.bs-tooltip-auto[data-popper-placement=right] .tooltip-arrow::before {
  border-right-color: #666cff;
}

.popover-primary, .popover-primary > .popover {
  border-color: transparent;
  background: #666cff;
}
.popover-primary .popover-header, .popover-primary > .popover .popover-header {
  border-color: rgba(255, 255, 255, 0.2);
  background: transparent;
  color: #fff;
}
.popover-primary .popover-body, .popover-primary > .popover .popover-body {
  background: transparent;
  color: rgba(255, 255, 255, 0.8);
}
.popover-primary > .popover-arrow::before, .popover-primary > .popover > .popover-arrow::before {
  border-color: transparent;
}
.popover-primary.bs-popover-auto[data-popper-placement=top] > .popover-arrow::after, .popover-primary > .popover.bs-popover-auto[data-popper-placement=top] > .popover-arrow::after {
  border-top-color: #666cff !important;
}
.popover-primary.bs-popover-auto[data-popper-placement=right] > .popover-arrow::after, .popover-primary > .popover.bs-popover-auto[data-popper-placement=right] > .popover-arrow::after {
  border-right-color: #666cff !important;
}
.popover-primary.bs-popover-auto[data-popper-placement=bottom] > .popover-arrow::after, .popover-primary > .popover.bs-popover-auto[data-popper-placement=bottom] > .popover-arrow::after {
  border-bottom-color: #666cff !important;
}
.popover-primary.bs-popover-auto[data-popper-placement=left] > .popover-arrow::after, .popover-primary > .popover.bs-popover-auto[data-popper-placement=left] > .popover-arrow::after {
  border-left-color: #666cff !important;
}
.popover-primary.bs-popover-auto[data-popper-placement=bottom] .popover-header::before, .popover-primary > .popover.bs-popover-auto[data-popper-placement=bottom] .popover-header::before {
  border-bottom: 1px solid transparent !important;
}

.table-primary {
  --bs-table-bg: #e0e2ff;
  --bs-table-striped-bg: #d9dbf7;
  --bs-table-striped-color: #4c4e64;
  --bs-table-active-bg: #d4d6f3;
  --bs-table-active-color: #4c4e64;
  --bs-table-hover-bg: #d9dbf7;
  --bs-table-hover-color: #4c4e64;
  color: #4c4e64;
  border-color: #ced0ec;
}
.table-primary .btn-icon {
  color: #4c4e64;
}

.btn-primary {
  color: #fff;
  background-color: #666cff;
  border-color: #666cff;
}
.btn-primary:hover {
  color: #fff !important;
  background-color: #5a5fe0 !important;
  border-color: #5a5fe0 !important;
}
.btn-check:focus + .btn-primary, .btn-primary:focus, .btn-primary.focus {
  color: #fff;
  background-color: #5a5fe0;
  border-color: #5a5fe0;
  box-shadow: none;
}
.btn-check:checked + .btn-primary, .btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active, .btn-primary.show.dropdown-toggle, .show > .btn-primary.dropdown-toggle {
  color: #fff !important;
  background-color: #5256cc !important;
  border-color: #5256cc !important;
}
.btn-check:checked + .btn-primary:focus, .btn-check:active + .btn-primary:focus, .btn-primary:active:focus, .btn-primary.active:focus, .btn-primary.show.dropdown-toggle:focus, .show > .btn-primary.dropdown-toggle:focus {
  box-shadow: none;
}

.btn-group .btn-primary,
.input-group .btn-primary {
  border-right: 1px solid #5256cc;
  border-left: 1px solid #5256cc;
}

.btn-label-primary {
  color: #666cff;
  border-color: #e7e7ff;
  background: #e7e7ff;
}
.btn-label-primary.waves-effect .waves-ripple {
  background: radial-gradient(rgba(102, 108, 255, 0.2) 0, rgba(102, 108, 255, 0.3) 40%, rgba(102, 108, 255, 0.4) 50%, rgba(102, 108, 255, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
}
.btn-label-primary:hover {
  border-color: #dadcff !important;
  background: #dadcff !important;
  color: #666cff !important;
}
.btn-label-primary:focus, .btn-label-primary.focus {
  color: #666cff;
  background: #d4d6ff;
  border-color: #d4d6ff;
}
.btn-label-primary:active, .btn-label-primary.active, .btn-label-primary.show.dropdown-toggle, .show > .btn-label-primary.dropdown-toggle {
  color: #666cff !important;
  background-color: #d1d3ff !important;
  border-color: #d1d3ff !important;
}

.btn-group .btn-label-primary,
.input-group .btn-label-primary {
  border-right: 1px solid #d1d3ff;
  border-left: 1px solid #d1d3ff;
}

.btn-text-primary {
  color: #666cff;
}
.btn-text-primary.waves-effect .waves-ripple {
  background: radial-gradient(rgba(102, 108, 255, 0.2) 0, rgba(102, 108, 255, 0.3) 40%, rgba(102, 108, 255, 0.4) 50%, rgba(102, 108, 255, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
}
.btn-text-primary:hover {
  border-color: transparent;
  background: #f7f8ff;
  color: #666cff;
}
.btn-text-primary:focus, .btn-text-primary.focus {
  color: #666cff;
  background: #f0f0ff;
}
.btn-text-primary:active, .btn-text-primary.active, .btn-text-primary.show.dropdown-toggle, .show > .btn-text-primary.dropdown-toggle {
  color: #666cff !important;
  background: #e8e9ff !important;
  border-color: transparent !important;
}

.btn-outline-primary {
  color: #666cff;
  border-color: #b3b6ff;
  background: transparent;
}
.btn-outline-primary.waves-effect .waves-ripple {
  background: radial-gradient(rgba(102, 108, 255, 0.2) 0, rgba(102, 108, 255, 0.3) 40%, rgba(102, 108, 255, 0.4) 50%, rgba(102, 108, 255, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
}
.btn-outline-primary:hover {
  color: #666cff !important;
  background-color: #e8e9ff !important;
  border-color: #b3b6ff !important;
}
.btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus {
  color: #666cff;
  background-color: #dadcff;
  border-color: #b3b6ff;
}
.btn-check:checked + .btn-outline-primary, .btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show {
  color: #666cff !important;
  background-color: #d4d6ff !important;
  border-color: #b3b6ff !important;
}

.btn-outline-primary .badge {
  background: #666cff;
  border-color: #666cff;
  color: #fff;
}

.btn-outline-primary:hover .badge,
.btn-outline-primary:focus:hover .badge,
.btn-outline-primary:active .badge,
.btn-outline-primary.active .badge,
.show > .btn-outline-primary.dropdown-toggle .badge {
  background: #666cff;
  border-color: #666cff;
  color: #fff;
}

.dropdown-item.waves-effect .waves-ripple {
  background: radial-gradient(rgba(102, 108, 255, 0.2) 0, rgba(102, 108, 255, 0.3) 40%, rgba(102, 108, 255, 0.4) 50%, rgba(102, 108, 255, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
}
.dropdown-item:not(.disabled).active, .dropdown-item:not(.disabled):active {
  background-color: rgba(102, 108, 255, 0.1);
  color: #666cff !important;
}

.dropdown-menu > li:not(.disabled) > a:not(.dropdown-item):active,
.dropdown-menu > li.active:not(.disabled) > a:not(.dropdown-item) {
  background-color: rgba(102, 108, 255, 0.1);
  color: #666cff !important;
}
.dropdown-menu > li:not(.disabled) > a:not(.dropdown-item):active.btn,
.dropdown-menu > li.active:not(.disabled) > a:not(.dropdown-item).btn {
  color: #fff !important;
}

.nav .nav-link:hover, .nav .nav-link:focus {
  color: #5c61e6;
}

.nav-pills .nav-link.active, .nav-pills .nav-link.active:hover, .nav-pills .nav-link.active:focus {
  background-color: #666cff;
  color: #fff;
}

.nav-tabs .nav-link.active, .nav-tabs .nav-link.active:hover, .nav-tabs .nav-link.active:focus {
  color: #666cff;
}
.nav-tabs .nav-link.waves-effect .waves-ripple {
  background: radial-gradient(rgba(102, 108, 255, 0.2) 0, rgba(102, 108, 255, 0.3) 40%, rgba(102, 108, 255, 0.4) 50%, rgba(102, 108, 255, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
}
.nav-tabs .tab-slider {
  background-color: #666cff;
}

.form-control:focus,
.form-select:focus {
  border-color: #666cff;
}
.form-floating-outline .form-control:focus,
.form-floating-outline .form-select:focus {
  border-color: #666cff;
}

.input-group:not(.input-group-floating):focus-within .form-control,
.input-group:not(.input-group-floating):focus-within .input-group-text {
  border-color: #666cff;
}

.form-check-input:focus {
  border-color: #666cff;
}
.form-check-input:active {
  border-color: #666cff;
}
.form-check-input:hover::after {
  background: rgba(102, 108, 255, 0.1);
}
.form-check-input:checked {
  background-color: #666cff;
  border-color: #666cff;
}
.form-check-input:checked::after {
  background: rgba(102, 108, 255, 0.15);
}
.form-check-input[type=checkbox]:indeterminate {
  background-color: #666cff;
  border-color: #666cff;
}

.custom-option.checked {
  border: 2px solid #666cff;
  margin: 0;
}

.form-switch .form-check-input:focus {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23666cff'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}

.form-control:focus ~ .form-label {
  border-color: #666cff;
}
.form-control:focus ~ .form-label::after {
  border-color: inherit;
}

.form-range::-webkit-slider-thumb {
  background-color: #666cff;
}
.form-range::-webkit-slider-thumb:hover {
  box-shadow: 0 0 0 8px rgba(102, 108, 255, 0.15), 0px 5px 5px -3px rgba(76, 78, 100, 0.2), 0px 8px 10px 1px rgba(76, 78, 100, 0.14), 0px 3px 14px 2px rgba(76, 78, 100, 0.12);
}
.form-range::-webkit-slider-thumb:active {
  background-color: #666cff;
  box-shadow: 0 0 0 10px rgba(102, 108, 255, 0.2), 0px 5px 5px -3px rgba(76, 78, 100, 0.2), 0px 8px 10px 1px rgba(76, 78, 100, 0.14), 0px 3px 14px 2px rgba(76, 78, 100, 0.12);
}
.form-range::-moz-range-thumb:hover {
  box-shadow: 0 0 0 8px rgba(102, 108, 255, 0.15), 0px 5px 5px -3px rgba(76, 78, 100, 0.2), 0px 8px 10px 1px rgba(76, 78, 100, 0.14), 0px 3px 14px 2px rgba(76, 78, 100, 0.12);
}
.form-range::-moz-range-thumb:active {
  box-shadow: 0 0 0 10px rgba(102, 108, 255, 0.2), 0px 5px 5px -3px rgba(76, 78, 100, 0.2), 0px 8px 10px 1px rgba(76, 78, 100, 0.14), 0px 3px 14px 2px rgba(76, 78, 100, 0.12);
}
.form-range::-webkit-slider-runnable-track {
  background-color: #666cff;
}
.form-range::-moz-range-track {
  background-color: #666cff;
}

.switch-input:checked ~ .switch-toggle-slider {
  background: rgba(102, 108, 255, 0.5);
}
.switch-input:checked ~ .switch-toggle-slider::after {
  background: #666cff;
}

.switch-input:checked:hover ~ .switch-toggle-slider::before {
  background: rgba(102, 108, 255, 0.15);
}

.switch-primary.switch .switch-input:checked ~ .switch-toggle-slider {
  background: rgba(102, 108, 255, 0.5);
}
.switch-primary.switch .switch-input:checked ~ .switch-toggle-slider::after {
  background: #666cff;
}

.switch-primary.switch .switch-input:checked:hover ~ .switch-toggle-slider::before {
  background: rgba(102, 108, 255, 0.15);
}

.timeline .timeline-point-primary {
  background-color: #666cff !important;
  outline: 3px solid rgba(102, 108, 255, 0.12);
}
.timeline.timeline-outline .timeline-point-primary {
  border: 2px solid #666cff !important;
}

.timeline .timeline-indicator-primary {
  background-color: lavender !important;
}
.timeline .timeline-indicator-primary i {
  color: #666cff !important;
}

.divider.divider-primary.divider-vertical:before, .divider.divider-primary.divider-vertical:after,
.divider.divider-primary .divider-text:before,
.divider.divider-primary .divider-text:after {
  border-color: #666cff;
}

.navbar.bg-primary {
  color: #dfe1ff;
}
.layout-navbar-fixed .window-scrolled .navbar.bg-primary.layout-navbar, .layout-horizontal .navbar.bg-primary.layout-navbar {
  background-color: rgba(102, 108, 255, 0.9) !important;
}
.layout-navbar-fixed .window-scrolled .navbar.bg-primary.layout-navbar .search-input-wrapper .search-input,
.layout-navbar-fixed .window-scrolled .navbar.bg-primary.layout-navbar .search-input-wrapper .search-toggler, .layout-horizontal .navbar.bg-primary.layout-navbar .search-input-wrapper .search-input,
.layout-horizontal .navbar.bg-primary.layout-navbar .search-input-wrapper .search-toggler {
  background-color: #666cff !important;
}
[dir=rtl] .navbar.bg-primary.layout-navbar .navbar-search-wrapper .search-toggler > i:before {
  transform: scaleX(-1) !important;
}
.navbar.bg-primary .navbar-brand,
.navbar.bg-primary .navbar-brand a {
  color: #fff;
}
.navbar.bg-primary .navbar-brand:hover, .navbar.bg-primary .navbar-brand:focus,
.navbar.bg-primary .navbar-brand a:hover,
.navbar.bg-primary .navbar-brand a:focus {
  color: #fff;
}
.navbar.bg-primary .navbar-search-wrapper .navbar-search-icon,
.navbar.bg-primary .navbar-search-wrapper .search-input {
  color: #dfe1ff;
}
.navbar.bg-primary .search-input-wrapper .search-input,
.navbar.bg-primary .search-input-wrapper .search-toggler {
  color: #dfe1ff;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.navbar.bg-primary .navbar-nav > .nav-link,
.navbar.bg-primary .navbar-nav > .nav-item > .nav-link,
.navbar.bg-primary .navbar-nav > .nav > .nav-item > .nav-link {
  color: #dfe1ff;
}
.navbar.bg-primary .navbar-nav > .nav-link:hover, .navbar.bg-primary .navbar-nav > .nav-link:focus,
.navbar.bg-primary .navbar-nav > .nav-item > .nav-link:hover,
.navbar.bg-primary .navbar-nav > .nav-item > .nav-link:focus,
.navbar.bg-primary .navbar-nav > .nav > .nav-item > .nav-link:hover,
.navbar.bg-primary .navbar-nav > .nav > .nav-item > .nav-link:focus {
  color: #fff;
}
.navbar.bg-primary .navbar-nav > .nav-link.disabled,
.navbar.bg-primary .navbar-nav > .nav-item > .nav-link.disabled,
.navbar.bg-primary .navbar-nav > .nav > .nav-item > .nav-link.disabled {
  color: #afb2ff !important;
}
.navbar.bg-primary .navbar-nav .show > .nav-link,
.navbar.bg-primary .navbar-nav .active > .nav-link,
.navbar.bg-primary .navbar-nav .nav-link.show,
.navbar.bg-primary .navbar-nav .nav-link.active {
  color: #fff;
}
.navbar.bg-primary .navbar-toggler {
  color: #dfe1ff;
  border-color: rgba(255, 255, 255, 0.15);
}
.navbar.bg-primary .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(255, 255, 255, 0.8)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>");
}
.navbar.bg-primary .navbar-text {
  color: #dfe1ff;
}
.navbar.bg-primary .navbar-text a {
  color: #fff;
}
.navbar.bg-primary .navbar-text a:hover, .navbar.bg-primary .navbar-text a:focus {
  color: #fff;
}
.navbar.bg-primary hr {
  border-color: rgba(255, 255, 255, 0.15);
}

.menu.bg-primary {
  background-color: #666cff !important;
  color: #dfe1ff;
}
.menu.bg-primary .menu-link,
.menu.bg-primary .menu-horizontal-prev,
.menu.bg-primary .menu-horizontal-next {
  color: #dfe1ff;
}
.menu.bg-primary .menu-link:hover, .menu.bg-primary .menu-link:focus,
.menu.bg-primary .menu-horizontal-prev:hover,
.menu.bg-primary .menu-horizontal-prev:focus,
.menu.bg-primary .menu-horizontal-next:hover,
.menu.bg-primary .menu-horizontal-next:focus {
  color: #fff;
}
.menu.bg-primary .menu-link.active,
.menu.bg-primary .menu-horizontal-prev.active,
.menu.bg-primary .menu-horizontal-next.active {
  color: #fff;
}
.menu.bg-primary .menu-item.disabled .menu-link,
.menu.bg-primary .menu-horizontal-prev.disabled,
.menu.bg-primary .menu-horizontal-next.disabled {
  color: #afb2ff !important;
}
.menu.bg-primary .menu-item.active:not(.open) > .menu-link:not(.menu-toggle), .menu.bg-primary .menu-item.active:not(.open) > .menu-link:not(.menu-toggle)::before {
  color: #fff !important;
}
.menu.bg-primary .menu-item.active > .menu-link:not(.menu-toggle) {
  background-color: #6a70ff;
}
.menu.bg-primary.menu-horizontal .menu-sub > .menu-item.active > .menu-link:not(.menu-toggle), .menu.bg-primary.menu-horizontal .menu-sub > .menu-item.active > .menu-link:not(.menu-toggle)::before {
  background-color: #edeeff;
  color: #6a70ff !important;
}
.menu.bg-primary.menu-horizontal .menu-inner > .menu-item.active > .menu-link.menu-toggle {
  background: #6a70ff;
}
.menu.bg-primary.menu-horizontal .menu-inner > .menu-item.active > .menu-link.menu-toggle, .menu.bg-primary.menu-horizontal .menu-inner > .menu-item.active > .menu-link.menu-toggle:after {
  color: #fff;
}
.menu.bg-primary .menu-inner-shadow {
  background: linear-gradient(#666cff 5%, rgba(102, 108, 255, 0.75) 45%, rgba(102, 108, 255, 0.2) 80%, transparent);
}
.menu.bg-primary .menu-text {
  color: #fff;
}
.menu.bg-primary .menu-header {
  color: #c1c4ff;
}
.menu.bg-primary hr,
.menu.bg-primary .menu-divider,
.menu.bg-primary .menu-inner > .menu-item.open > .menu-sub::before {
  border-color: rgba(255, 255, 255, 0.15) !important;
}
.menu.bg-primary .menu-block::before {
  background-color: #c1c4ff;
}
.menu.bg-primary .ps__thumb-y,
.menu.bg-primary .ps__rail-y.ps--clicking > .ps__thumb-y {
  background: rgba(255, 255, 255, 0.5928847059) !important;
}

.footer.bg-primary {
  color: #dfe1ff;
}
.footer.bg-primary .footer-link {
  color: #dfe1ff;
}
.footer.bg-primary .footer-link:hover, .footer.bg-primary .footer-link:focus {
  color: #fff;
}
.footer.bg-primary .footer-link.disabled {
  color: #afb2ff !important;
}
.footer.bg-primary .footer-text {
  color: #fff;
}
.footer.bg-primary .show > .footer-link,
.footer.bg-primary .active > .footer-link,
.footer.bg-primary .footer-link.show,
.footer.bg-primary .footer-link.active {
  color: #fff;
}
.footer.bg-primary hr {
  border-color: rgba(255, 255, 255, 0.15);
}

.form-floating > .form-control:focus:not(:-moz-placeholder-shown) ~ label, .form-floating > .form-select:focus:not(:-moz-placeholder-shown) ~ label {
  color: #666cff;
}

.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:focus:not(:placeholder-shown) ~ label,
.form-floating > .form-select:focus ~ label,
.form-floating > .form-select:focus:not(:placeholder-shown) ~ label {
  color: #666cff;
}

.form-floating-focused {
  background-color: #666cff;
}

.form-floating-outline :not(select):focus + label,
.form-floating-outline :not(select):focus + span {
  color: #666cff;
}
.form-floating-outline label::after,
.form-floating-outline > span::after {
  background: #fff;
}
.form-floating-outline label.bg-body::after,
.form-floating-outline > span.bg-body::after {
  background: #f7f7f9 !important;
}

.svg-illustration svg {
  fill: #666cff;
}

.jstree-default .jstree-wholerow-clicked,
.jstree-default .jstree-wholerow-hovered {
  background: #e8e9ff;
}

.jstree-default-dark .jstree-wholerow-hovered,
.jstree-default-dark .jstree-wholerow-clicked {
  background: #575a9c;
}

html:not([dir=rtl]) .border-primary,
html[dir=rtl] .border-primary {
  border-color: #666cff !important;
}

a {
  color: #666cff;
}
a:hover {
  color: #757bff;
}

.fill-primary {
  fill: #666cff;
}

.noUi-target:not([disabled]) {
  background: rgba(102, 108, 255, 0.4);
}
.noUi-target:not([disabled]) .noUi-connect {
  background: #666cff;
}
.noUi-target:not([disabled]) .noUi-handle {
  background: #666cff;
}
.noUi-target:not([disabled]) .noUi-handle:hover {
  box-shadow: 0 0 0 8px rgba(102, 108, 255, 0.15);
}
.noUi-target:not([disabled]) .noUi-handle:active {
  box-shadow: 0 0 0 10px rgba(102, 108, 255, 0.2);
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #666cff !important;
  color: #fff !important;
}
.select2-container--default.select2-container--focus .select2-selection, .select2-container--default.select2-container--open .select2-selection {
  border-width: 2px;
  border-color: #666cff !important;
}

.form-floating.select2-focus label {
  color: #666cff;
}

.select2-primary .select2-container--default .select2-selection--multiple .select2-selection__choice {
  background: #666cff !important;
  color: #fff !important;
}

.tagify--focus {
  border-color: #666cff !important;
}
.tagify--focus ~ label {
  color: #666cff;
}

.tagify__dropdown__item--active {
  background: #666cff !important;
}

table.dataTable.dtr-column > tbody > tr > td.control:before,
table.dataTable.dtr-column > tbody > tr > th.control:before {
  background-color: #666cff;
  border: 2px solid #fff;
  box-shadow: 0 0 3px rgba(76, 78, 100, 0.8);
}

.bootstrap-select .dropdown-menu.inner a[aria-selected=true] {
  background: #666cff !important;
  color: #fff !important;
}
.bootstrap-select .dropdown-toggle.show {
  border-width: 2px;
  border-color: #666cff;
}

.form-floating:has(.bootstrap-select .dropdown-toggle.show) label {
  color: #666cff;
}

.datepicker table tr td.active, .datepicker table tr td.active.highlighted,
.datepicker table tr td .focused,
.datepicker table tr td span.active,
.datepicker table tr td span.active.disabled, .datepicker table tr td.range-start, .datepicker table tr td.range-end {
  background: #666cff !important;
  color: #fff !important;
}
.datepicker table tr td.range, .datepicker table tr td.range.highlighted, .datepicker table tr td.range.today {
  color: #4c4e64 !important;
  background: #f0f0ff !important;
}
.datepicker table tr td.range.focused, .datepicker table tr td.range.highlighted.focused, .datepicker table tr td.range.today.focused {
  background: #d1d1ff !important;
}
.datepicker table tr td.range.disabled, .datepicker table tr td.range.highlighted.disabled, .datepicker table tr td.range.today.disabled {
  background: rgba(240, 240, 255, 0.5) !important;
  color: rgba(76, 78, 100, 0.5) !important;
}
.datepicker table tr td.today:not(.active) {
  box-shadow: 0 0 0 1px #666cff;
}

.flatpickr-day.today {
  border-color: #666cff;
}
.flatpickr-day.inRange, .flatpickr-day.nextMonthDay.inRange, .flatpickr-day.prevMonthDay.inRange, .flatpickr-day.today.inRange, .flatpickr-day.prevMonthDay.today.inRange, .flatpickr-day.nextMonthDay.today.inRange {
  color: #4c4e64 !important;
  background: #f0f0ff !important;
  border-color: #f0f0ff !important;
}
.flatpickr-day.selected, .flatpickr-day.selected.inRange, .flatpickr-day.selected:focus, .flatpickr-day.selected:hover, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange, .flatpickr-day.startRange.inRange, .flatpickr-day.startRange:focus, .flatpickr-day.startRange:hover, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange, .flatpickr-day.endRange.inRange, .flatpickr-day.endRange:focus, .flatpickr-day.endRange:hover, .flatpickr-day.endRange.nextMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.week.selected {
  color: #fff !important;
  background: #666cff !important;
  border-color: #666cff !important;
}

.daterangepicker td.active:not(.off) {
  background: #666cff !important;
  color: #fff;
}

.daterangepicker .start-date:not(.end-date):not(.off),
.daterangepicker .end-date:not(.start-date):not(.off) {
  background-color: #666cff;
  color: #fff;
  border: 0 !important;
}
.daterangepicker .start-date:not(.end-date):not(.off):hover,
.daterangepicker .end-date:not(.start-date):not(.off):hover {
  background-color: #666cff !important;
}

.daterangepicker .input-mini.active {
  border-color: #666cff !important;
}

.daterangepicker td.in-range:not(.start-date):not(.end-date):not(.off) {
  color: #4c4e64 !important;
  background-color: #f0f0ff !important;
}

.ranges li.active {
  color: #fff !important;
  background-color: #666cff !important;
}

li.ui-timepicker-selected,
.ui-timepicker-list .ui-timepicker-selected:hover {
  color: #fff !important;
  background: #666cff !important;
}

.ql-snow.ql-toolbar button:hover,
.ql-snow.ql-toolbar button:focus,
.ql-snow.ql-toolbar button.ql-active,
.ql-snow.ql-toolbar .ql-picker-label:hover,
.ql-snow.ql-toolbar .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker-item:hover,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected,
.ql-snow .ql-toolbar button:hover,
.ql-snow .ql-toolbar button:focus,
.ql-snow .ql-toolbar button.ql-active,
.ql-snow .ql-toolbar .ql-picker-label:hover,
.ql-snow .ql-toolbar .ql-picker-label.ql-active,
.ql-snow .ql-toolbar .ql-picker-item:hover,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected {
  color: #666cff !important;
}
.ql-snow.ql-toolbar button:hover .ql-fill,
.ql-snow.ql-toolbar button:focus .ql-fill,
.ql-snow.ql-toolbar button.ql-active .ql-fill,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,
.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,
.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,
.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,
.ql-snow .ql-toolbar button:hover .ql-fill,
.ql-snow .ql-toolbar button:focus .ql-fill,
.ql-snow .ql-toolbar button.ql-active .ql-fill,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,
.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,
.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,
.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill {
  fill: #666cff !important;
}
.ql-snow.ql-toolbar button:hover .ql-stroke,
.ql-snow.ql-toolbar button:focus .ql-stroke,
.ql-snow.ql-toolbar button.ql-active .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,
.ql-snow.ql-toolbar button:hover .ql-stroke-miter,
.ql-snow.ql-toolbar button:focus .ql-stroke-miter,
.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,
.ql-snow .ql-toolbar button:hover .ql-stroke,
.ql-snow .ql-toolbar button:focus .ql-stroke,
.ql-snow .ql-toolbar button.ql-active .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,
.ql-snow .ql-toolbar button:hover .ql-stroke-miter,
.ql-snow .ql-toolbar button:focus .ql-stroke-miter,
.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter {
  stroke: #666cff !important;
}

.tt-suggestion:active,
.tt-cursor {
  background: #666cff !important;
  color: #fff !important;
}

.dropzone.dz-drag-hover {
  border-color: #666cff !important;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active,
.swiper-pagination.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #666cff !important;
}

.sk-primary.sk-plane,
.sk-primary .sk-chase-dot:before,
.sk-primary .sk-bounce-dot,
.sk-primary .sk-wave-rect,
.sk-primary.sk-pulse,
.sk-primary .sk-swing-dot,
.sk-primary .sk-circle-dot:before,
.sk-primary .sk-circle-fade-dot:before,
.sk-primary .sk-grid-cube,
.sk-primary .sk-fold-cube:before {
  background-color: #666cff;
}

.plyr input[type=range]::-ms-fill-lower {
  background: #666cff !important;
}

.plyr input[type=range]:active::-webkit-slider-thumb {
  background: #666cff !important;
}
.plyr input[type=range]:active::-moz-range-thumb {
  background: #666cff !important;
}
.plyr input[type=range]:active::-ms-thumb {
  background: #666cff !important;
}

.plyr--video .plyr__control.plyr__control--overlaid,
.plyr--video .plyr__controls button.tab-focus:focus,
.plyr--video .plyr__control[aria-expanded=true],
.plyr--video .plyr__controls button:hover {
  background: #666cff !important;
  color: #fff !important;
}

.plyr--audio .plyr__controls button.tab-focus:focus,
.plyr--audio .plyr__control[aria-expanded=true],
.plyr--audio .plyr__controls button:hover {
  background: #666cff !important;
  color: #fff !important;
}

.plyr__play-large {
  background: #666cff !important;
  color: #fff !important;
}

.plyr__progress--played,
.plyr__volume--display {
  color: #666cff !important;
}

.plyr--full-ui input[type=range] {
  color: #666cff !important;
}

.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before {
  background: #666cff !important;
}

.fc .fc-event-primary:not(.fc-list-event) {
  background-color: #e8e9ff !important;
  color: #666cff !important;
}
.fc .fc-event-primary.fc-list-event .fc-list-event-dot {
  border-color: #666cff !important;
}
.fc .fc-button-primary:not(.fc-prev-button):not(.fc-next-button) {
  background-color: transparent !important;
  border-color: #666cff;
  color: #666cff;
}
.fc .fc-button-primary:not(.fc-prev-button):not(.fc-next-button):not(:last-child) {
  border-right: 1px solid #666cff !important;
}
.fc .fc-button-primary:not(.fc-prev-button):not(.fc-next-button):hover {
  background-color: rgba(102, 108, 255, 0.05) !important;
  border-color: #666cff;
  color: #666cff;
}
.fc .fc-button-primary:not(.fc-prev-button):not(.fc-next-button):active, .fc .fc-button-primary:not(.fc-prev-button):not(.fc-next-button).fc-button-active {
  background-color: rgba(102, 108, 255, 0.1) !important;
  border-color: #666cff !important;
  color: #666cff;
}

.swal2-progress-steps[class] .swal2-progress-step.swal2-active-progress-step,
.swal2-progress-steps[class] .swal2-progress-step-line,
.swal2-progress-steps[class] .swal2-active-progress-step,
.swal2-progress-steps[class] .swal2-progress-step {
  background: #666cff;
  color: #fff;
}

.swal2-progress-steps[class] .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step,
.swal2-progress-steps[class] .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step-line {
  background: #e8e9ff;
}

.pcr-app .pcr-type.active,
.pcr-app .pcr-save {
  background: #666cff !important;
}

.icon-card.active {
  outline: 1px solid #666cff;
}
.icon-card.active i,
.icon-card.active svg {
  color: #666cff;
}

.bs-stepper:not(.wizard-icons) .bs-stepper-header .line {
  border-color: #d1d3ff;
}
.bs-stepper:not(.wizard-icons) .bs-stepper-header .line:before {
  background-color: #d1d3ff;
}
.bs-stepper.wizard-icons .step.crossed .bs-stepper-label, .bs-stepper.wizard-icons .step.active .bs-stepper-label {
  color: #666cff;
}
.bs-stepper .step.active .bs-stepper-circle {
  background-color: transparent;
  border: 3px solid #666cff;
  color: #666cff;
}
.bs-stepper .step.active .bs-stepper-icon i {
  color: #666cff !important;
}
.bs-stepper .step.active .bs-stepper-icon svg {
  fill: #666cff !important;
}
.bs-stepper .step.crossed .step-trigger .bs-stepper-circle {
  background-color: #666cff !important;
  color: #fff !important;
  border-color: #666cff !important;
}
.bs-stepper .step.crossed .step-trigger .bs-stepper-circle i {
  visibility: visible;
}
.bs-stepper .step.crossed .step-trigger .bs-stepper-icon svg {
  fill: #666cff !important;
}
.bs-stepper .step.crossed .step-trigger .bs-stepper-icon i {
  color: #666cff !important;
}
.bs-stepper .step.crossed + .line {
  border-color: #666cff;
}
.bs-stepper .step.crossed + .line svg {
  fill: #666cff;
}
.bs-stepper .step.crossed + .line i {
  color: #666cff;
}
.bs-stepper .step.crossed + .line:before {
  background-color: #666cff;
}

.app-chat .sidebar-body .chat-contact-list li.active {
  background-color: #666cff;
}
.app-chat .app-chat-history .chat-history .chat-message.chat-message-right .chat-message-text {
  background-color: #666cff !important;
}

.bg-navbar-theme {
  color: #636578;
}
.layout-navbar-fixed .window-scrolled .bg-navbar-theme.layout-navbar, .layout-horizontal .bg-navbar-theme.layout-navbar {
  background-color: rgba(255, 255, 255, 0.9) !important;
}
.layout-navbar-fixed .window-scrolled .bg-navbar-theme.layout-navbar .search-input-wrapper .search-input,
.layout-navbar-fixed .window-scrolled .bg-navbar-theme.layout-navbar .search-input-wrapper .search-toggler, .layout-horizontal .bg-navbar-theme.layout-navbar .search-input-wrapper .search-input,
.layout-horizontal .bg-navbar-theme.layout-navbar .search-input-wrapper .search-toggler {
  background-color: #fff !important;
}
[dir=rtl] .bg-navbar-theme.layout-navbar .navbar-search-wrapper .search-toggler > i:before {
  transform: scaleX(-1) !important;
}
.bg-navbar-theme .navbar-brand,
.bg-navbar-theme .navbar-brand a {
  color: #636578;
}
.bg-navbar-theme .navbar-brand:hover, .bg-navbar-theme .navbar-brand:focus,
.bg-navbar-theme .navbar-brand a:hover,
.bg-navbar-theme .navbar-brand a:focus {
  color: #636578;
}
.bg-navbar-theme .navbar-search-wrapper .navbar-search-icon,
.bg-navbar-theme .navbar-search-wrapper .search-input {
  color: #636578;
}
.bg-navbar-theme .search-input-wrapper .search-input,
.bg-navbar-theme .search-input-wrapper .search-toggler {
  color: #636578;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.bg-navbar-theme .navbar-nav > .nav-link,
.bg-navbar-theme .navbar-nav > .nav-item > .nav-link,
.bg-navbar-theme .navbar-nav > .nav > .nav-item > .nav-link {
  color: #636578;
}
.bg-navbar-theme .navbar-nav > .nav-link:hover, .bg-navbar-theme .navbar-nav > .nav-link:focus,
.bg-navbar-theme .navbar-nav > .nav-item > .nav-link:hover,
.bg-navbar-theme .navbar-nav > .nav-item > .nav-link:focus,
.bg-navbar-theme .navbar-nav > .nav > .nav-item > .nav-link:hover,
.bg-navbar-theme .navbar-nav > .nav > .nav-item > .nav-link:focus {
  color: #636578;
}
.bg-navbar-theme .navbar-nav > .nav-link.disabled,
.bg-navbar-theme .navbar-nav > .nav-item > .nav-link.disabled,
.bg-navbar-theme .navbar-nav > .nav > .nav-item > .nav-link.disabled {
  color: #a1a3ae !important;
}
.bg-navbar-theme .navbar-nav .show > .nav-link,
.bg-navbar-theme .navbar-nav .active > .nav-link,
.bg-navbar-theme .navbar-nav .nav-link.show,
.bg-navbar-theme .navbar-nav .nav-link.active {
  color: #636578;
}
.bg-navbar-theme .navbar-toggler {
  color: #636578;
  border-color: rgba(99, 101, 120, 0.075);
}
.bg-navbar-theme .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(76, 78, 100, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>");
}
.bg-navbar-theme .navbar-text {
  color: #636578;
}
.bg-navbar-theme .navbar-text a {
  color: #636578;
}
.bg-navbar-theme .navbar-text a:hover, .bg-navbar-theme .navbar-text a:focus {
  color: #636578;
}
.bg-navbar-theme hr {
  border-color: rgba(99, 101, 120, 0.075);
}

.layout-horizontal .layout-navbar {
  box-shadow: 0 1px 0 #eaeaec;
}

.bg-menu-theme {
  background-color: #f7f7f9 !important;
  color: #636578;
}
.bg-menu-theme .menu-link,
.bg-menu-theme .menu-horizontal-prev,
.bg-menu-theme .menu-horizontal-next {
  color: #636578;
}
.bg-menu-theme .menu-link:hover, .bg-menu-theme .menu-link:focus,
.bg-menu-theme .menu-horizontal-prev:hover,
.bg-menu-theme .menu-horizontal-prev:focus,
.bg-menu-theme .menu-horizontal-next:hover,
.bg-menu-theme .menu-horizontal-next:focus {
  color: #636578;
}
.bg-menu-theme .menu-link.active,
.bg-menu-theme .menu-horizontal-prev.active,
.bg-menu-theme .menu-horizontal-next.active {
  color: #636578;
}
.bg-menu-theme .menu-item.disabled .menu-link,
.bg-menu-theme .menu-horizontal-prev.disabled,
.bg-menu-theme .menu-horizontal-next.disabled {
  color: #9e9fac !important;
}
.bg-menu-theme .menu-item.active:not(.open) > .menu-link:not(.menu-toggle), .bg-menu-theme .menu-item.active:not(.open) > .menu-link:not(.menu-toggle)::before {
  color: #fff !important;
}
.bg-menu-theme .menu-item.active > .menu-link:not(.menu-toggle) {
  background-color: #666cff;
}
.bg-menu-theme.menu-horizontal .menu-sub > .menu-item.active > .menu-link:not(.menu-toggle), .bg-menu-theme.menu-horizontal .menu-sub > .menu-item.active > .menu-link:not(.menu-toggle)::before {
  background-color: #ededff;
  color: #666cff !important;
}
.bg-menu-theme.menu-horizontal .menu-inner > .menu-item.active > .menu-link.menu-toggle {
  background: #666cff;
}
.bg-menu-theme.menu-horizontal .menu-inner > .menu-item.active > .menu-link.menu-toggle, .bg-menu-theme.menu-horizontal .menu-inner > .menu-item.active > .menu-link.menu-toggle:after {
  color: #fff;
}
.bg-menu-theme .menu-inner-shadow {
  background: linear-gradient(#f7f7f9 5%, rgba(247, 247, 249, 0.75) 45%, rgba(247, 247, 249, 0.2) 80%, transparent);
}
.bg-menu-theme .menu-text {
  color: #636578;
}
.bg-menu-theme .menu-header {
  color: #888a98;
}
.bg-menu-theme hr,
.bg-menu-theme .menu-divider,
.bg-menu-theme .menu-inner > .menu-item.open > .menu-sub::before {
  border-color: transparent !important;
}
.bg-menu-theme .menu-block::before {
  background-color: #888a98;
}
.bg-menu-theme .ps__thumb-y,
.bg-menu-theme .ps__rail-y.ps--clicking > .ps__thumb-y {
  background: rgba(99, 101, 120, 0.2121913726) !important;
}

@media (min-width: 1200px) {
  .layout-menu-collapsed.layout-menu-hover .bg-menu-theme {
    box-shadow: 0 0.625rem 0.875rem rgba(76, 78, 100, 0.1);
  }
}
.bg-menu-theme.menu-horizontal {
  background-color: rgba(255, 255, 255, 0.9) !important;
}
.bg-menu-theme.menu-horizontal .menu-inner .menu-item:not(.menu-item-closing) > .menu-sub {
  background: #fff;
}

.bg-footer-theme {
  color: #828393;
}
.bg-footer-theme .footer-link {
  color: #828393;
}
.bg-footer-theme .footer-link:hover, .bg-footer-theme .footer-link:focus {
  color: #636578;
}
.bg-footer-theme .footer-link.disabled {
  color: #b1b1bc !important;
}
.bg-footer-theme .footer-text {
  color: #636578;
}
.bg-footer-theme .show > .footer-link,
.bg-footer-theme .active > .footer-link,
.bg-footer-theme .footer-link.show,
.bg-footer-theme .footer-link.active {
  color: #636578;
}
.bg-footer-theme hr {
  border-color: rgba(99, 101, 120, 0.0765239216);
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZlbmRvci9zY3NzL3BhZ2VzL19taXhpbnMuc2NzcyIsInZlbmRvci9zY3NzL3RoZW1lLWRlZmF1bHQuc2NzcyIsInZlbmRvci9zY3NzL19ib290c3RyYXAtZXh0ZW5kZWQvbWl4aW5zL19taXNjLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwidmVuZG9yL3Njc3MvX2Jvb3RzdHJhcC1leHRlbmRlZC9taXhpbnMvX21vZGFsLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwidmVuZG9yL3Njc3MvX2Jvb3RzdHJhcC1leHRlbmRlZC9fdmFyaWFibGVzLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL21peGlucy9fYWxlcnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyYWRpZW50cy5zY3NzIiwidmVuZG9yL3Njc3MvX2Jvb3RzdHJhcC1leHRlbmRlZC9taXhpbnMvX2FjY29yZGlvbi5zY3NzIiwidmVuZG9yL3Njc3MvX2Jvb3RzdHJhcC1leHRlbmRlZC9taXhpbnMvX3Rvb2x0aXAuc2NzcyIsInZlbmRvci9zY3NzL19ib290c3RyYXAtZXh0ZW5kZWQvbWl4aW5zL19wb3BvdmVyLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL21peGlucy9fdGFibGUtdmFyaWFudHMuc2NzcyIsInZlbmRvci9zY3NzL19ib290c3RyYXAtZXh0ZW5kZWQvbWl4aW5zL19idXR0b25zLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL21peGlucy9fZHJvcGRvd24uc2NzcyIsInZlbmRvci9zY3NzL190aGVtZS9fY29tbW9uLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL21peGlucy9fbmF2cy5zY3NzIiwidmVuZG9yL3Njc3MvX2Jvb3RzdHJhcC1leHRlbmRlZC9taXhpbnMvX2Zvcm1zLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fY29tcG9uZW50cy9taXhpbnMvX3N3aXRjaC5zY3NzIiwidmVuZG9yL3Njc3MvX2NvbXBvbmVudHMvbWl4aW5zL190aW1lbGluZS5zY3NzIiwidmVuZG9yL3Njc3MvX2NvbXBvbmVudHMvbWl4aW5zL190ZXh0LWRpdmlkZXIuc2NzcyIsInZlbmRvci9zY3NzL19jb21wb25lbnRzL21peGlucy9fbmF2YmFyLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fY3VzdG9tLXZhcmlhYmxlcy9fc3VwcG9ydC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwidmVuZG9yL3Njc3MvX2NvbXBvbmVudHMvbWl4aW5zL19tZW51LnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fY29tcG9uZW50cy9taXhpbnMvX2Zvb3Rlci5zY3NzIiwidmVuZG9yL3Njc3MvX2NvbXBvbmVudHMvbWl4aW5zL19taXNjLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fY29tcG9uZW50cy9taXhpbnMvX3RyZWV2aWV3LnNjc3MiLCJ2ZW5kb3IvbGlicy9ub3Vpc2xpZGVyL19taXhpbnMuc2NzcyIsInZlbmRvci9saWJzL3NlbGVjdDIvX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvdGFnaWZ5L19taXhpbnMuc2NzcyIsInZlbmRvci9saWJzL2RhdGF0YWJsZXMtcmVzcG9uc2l2ZS1iczUvX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvYm9vdHN0cmFwLXNlbGVjdC9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvbGlicy9ib290c3RyYXAtZGF0ZXBpY2tlci9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvbGlicy9mbGF0cGlja3IvX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvYm9vdHN0cmFwLWRhdGVyYW5nZXBpY2tlci9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvbGlicy9qcXVlcnktdGltZXBpY2tlci9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvbGlicy9xdWlsbC9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvbGlicy90eXBlYWhlYWQtanMvX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvZHJvcHpvbmUvX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvc3dpcGVyL19taXhpbnMuc2NzcyIsInZlbmRvci9saWJzL3NwaW5raXQvX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvcGx5ci9fbWl4aW5zLnNjc3MiLCJ2ZW5kb3IvbGlicy9mdWxsY2FsZW5kYXIvX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvc3dlZXRhbGVydDIvX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvcGlja3IvX21peGlucy5zY3NzIiwidmVuZG9yL2xpYnMvYnMtc3RlcHBlci9fbWl4aW5zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQ1FBO0VBQ0UsWUFIUTs7O0FBTVY7RUFDRTs7O0FDd0dBO0VBQ0U7OztBQUdGO0VBQ0U7OztBQTFDRjtFQUNFOzs7QUFJQTtFQUVFOzs7QUFNRjtFQUNFLGtCRHpGVTs7O0FDeUdkO0VBQ0U7RUFDQTs7O0FDekdBO0FBQUE7QUFBQTtBQUFBO0VBR0UsY0ZMVTtFRU1WLGtCRk5VO0VFUVY7O0FBSUE7QUFBQTtFQUNFOzs7QUFnQko7QUFBQTtBQUFBO0FBQUE7RUFHRTtFQUNBLE9GakNVO0VFa0NWOztBQUdBO0FBQUE7RUFDRTs7O0FDckNGO0VBQ0Usa0JIRlE7OztBR01kO0FBQUE7RUFFRSxPSFJZOztBR1NaO0FBQUE7QUFBQTtFQUVFLE9IWFU7OztBSWNkO0VBQ0Usa0JBWmlCO0VBYWpCOzs7QUFHRjtBQUFBO0VBRUUsT0FiTTs7QUFjTjtBQUFBO0FBQUE7RUFFRSxrQkFYZTtFQVlmLE9BakJJOztBQW9CTjtBQUFBO0VBQ0UsY0o3QlU7RUk4QlYsa0JKOUJV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QUVBO0VBRUU7O0FBR0Y7RUFDRTs7QUFJSjtFQUNFOztBQUdGO0FBQUE7QUFBQTtBQUFBO0VBSUU7O0FBR0Y7RUFDRSIsImZpbGUiOiJ2ZW5kb3Ivc2Nzcy90aGVtZS1kZWZhdWx0LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4qIFBhZ2VzIE1peGluc1xuKi9cbkBpbXBvcnQgJy4uLy4uL3Njc3MvX2Jvb3RzdHJhcC1leHRlbmRlZC9mdW5jdGlvbnMnO1xuXG5AbWl4aW4gaWNvbi10aGVtZSgkY29sb3IpIHtcbiAgLmljb24tY2FyZC5hY3RpdmUge1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCAkY29sb3I7XG4gICAgaSxcbiAgICBzdmcge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gQXBwIENoYXRcbkBtaXhpbiBhcHAtY2hhdC10aGVtZSgkY29sb3IpIHtcbiAgLmFwcC1jaGF0IHtcbiAgICAuc2lkZWJhci1ib2R5IHtcbiAgICAgIC5jaGF0LWNvbnRhY3QtbGlzdCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5hcHAtY2hhdC1oaXN0b3J5IHtcbiAgICAgIC5jaGF0LWhpc3Rvcnkge1xuICAgICAgICAuY2hhdC1tZXNzYWdlIHtcbiAgICAgICAgICAmLmNoYXQtbWVzc2FnZS1yaWdodCB7XG4gICAgICAgICAgICAuY2hhdC1tZXNzYWdlLXRleHQge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4vX2NvbXBvbmVudHMvaW5jbHVkZSc7XG5AaW1wb3J0ICcuL190aGVtZS9jb21tb24nO1xuQGltcG9ydCAnLi9fdGhlbWUvbGlicyc7XG5AaW1wb3J0ICcuL190aGVtZS9wYWdlcyc7XG5cbiRwcmltYXJ5LWNvbG9yOiAjNjY2Y2ZmO1xuJGJvZHktYmc6ICNmN2Y3Zjk7XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kOiAkYm9keS1iZztcbn1cblxuLmJnLWJvZHkge1xuICBiYWNrZ3JvdW5kOiAkYm9keS1iZyAhaW1wb3J0YW50O1xufVxuXG5AaW5jbHVkZSB0ZW1wbGF0ZS1jb21tb24tdGhlbWUoJHByaW1hcnktY29sb3IpO1xuQGluY2x1ZGUgdGVtcGxhdGUtbGlicy10aGVtZSgkcHJpbWFyeS1jb2xvcik7XG5AaW5jbHVkZSB0ZW1wbGF0ZS1wYWdlcy10aGVtZSgkcHJpbWFyeS1jb2xvcik7XG5cbi8vIE5hdmJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSB0ZW1wbGF0ZS1uYXZiYXItc3R5bGUoJy5iZy1uYXZiYXItdGhlbWUnLCAkY2FyZC1iZywgJGNvbG9yOiAkaGVhZGluZ3MtY29sb3IsICRhY3RpdmUtY29sb3I6ICRoZWFkaW5ncy1jb2xvcik7XG5cbi5sYXlvdXQtaG9yaXpvbnRhbCAubGF5b3V0LW5hdmJhciB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDAgJGJvcmRlci1jb2xvcjtcbn1cblxuLy8gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIHRlbXBsYXRlLW1lbnUtc3R5bGUoXG4gICcuYmctbWVudS10aGVtZScsXG4gICRib2R5LWJnLFxuICAkY29sb3I6ICRoZWFkaW5ncy1jb2xvcixcbiAgJGFjdGl2ZS1jb2xvcjogJGhlYWRpbmdzLWNvbG9yLFxuICAkYm9yZGVyOiB0cmFuc3BhcmVudCxcbiAgJGFjdGl2ZS1iZzogJHByaW1hcnktY29sb3Jcbik7XG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5sYXlvdXQtbWVudS1jb2xsYXBzZWQubGF5b3V0LW1lbnUtaG92ZXIgLmJnLW1lbnUtdGhlbWUge1xuICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxnO1xuICB9XG59XG4uYmctbWVudS10aGVtZSB7XG4gICYubWVudS1ob3Jpem9udGFsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjYXJkLWJnLCAwLjkpICFpbXBvcnRhbnQ7XG4gICAgLm1lbnUtaW5uZXIgLm1lbnUtaXRlbTpub3QoLm1lbnUtaXRlbS1jbG9zaW5nKSA+IC5tZW51LXN1YiB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY2FyZC1iZztcbiAgICB9XG4gIH1cbn1cblxuLy8gRm9vdGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIHRlbXBsYXRlLWZvb3Rlci1zdHlsZSgnLmJnLWZvb3Rlci10aGVtZScsICRib2R5LWJnLCAkY29sb3I6ICRib2R5LWNvbG9yLCAkYWN0aXZlLWNvbG9yOiAkaGVhZGluZ3MtY29sb3IpO1xuIiwiLy8gKiBMaWdodC9EYXJrIGxheW91dFxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuQG1peGluIGxpZ2h0LWxheW91dC1vbmx5KCkge1xuICBAaWYgJGRhcmstc3R5bGUge1xuICAgIGh0bWw6bm90KC5kYXJrLXN0eWxlKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBkYXJrLWxheW91dC1vbmx5KCkge1xuICBAaWYgJGRhcmstc3R5bGUge1xuICAgIC5kYXJrLXN0eWxlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyAqIFJUTC9MVFJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuQG1peGluIGx0ci1vbmx5KCkge1xuICBAaWYgJHJ0bC1zdXBwb3J0IHtcbiAgICBodG1sOm5vdChbZGlyPSdydGwnXSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcnRsLW9ubHkoKSB7XG4gIEBpZiAkcnRsLXN1cHBvcnQge1xuICAgIFtkaXI9J3J0bCddIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbHRyLXN0eWxlKCkge1xuICBAaWYgJHJ0bC1zdXBwb3J0IHtcbiAgICBodG1sOm5vdChbZGlyPSdydGwnXSkgJiB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBydGwtc3R5bGUoKSB7XG4gIEBpZiAkcnRsLXN1cHBvcnQge1xuICAgIFtkaXI9J3J0bCddICYge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vICogS2V5ZnJhbWVzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcbiAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIEAtbW96LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyAqIENvbG9yc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5AbWl4aW4gYmctY29sb3ItdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRydGgtY29sb3I6ICMwMDApIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cblxuICBhI3skcGFyZW50fSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAwLjk1KSwgJGJhY2tncm91bmQ6ICRydGgtY29sb3IpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8hIEZpeDogRHJvcGRvd24gbm90aWZpY2F0aW9uIHJlYWQgYmFkZ2UgYmcgY29sb3JcbiAgLmRyb3Bkb3duLW5vdGlmaWNhdGlvbnMtaXRlbTpub3QoLm1hcmstYXMtcmVhZCkge1xuICAgIC5kcm9wZG93bi1ub3RpZmljYXRpb25zLXJlYWQgc3BhbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJHJ0aC1jb2xvcjogIzAwMCkge1xuICBAaW5jbHVkZSBiZy1jb2xvci12YXJpYW50KCRwYXJlbnQsICRjb2xvcik7XG59XG5cbi8vIEJHIExhYmVsXG5AbWl4aW4gYmctbGFiZWwtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiAkYmFja2dyb3VuZCkge1xuICAkbGFiZWwtYmFja2dyb3VuZDogaWYoXG4gICAgJGRhcmstc3R5bGUsXG4gICAgc2hhZGUtY29sb3IoJGJhY2tncm91bmQsICRidG4tbGFiZWwtYmctc2hhZGUtYW1vdW50LCAkY2FyZC1iZyksXG4gICAgdGludC1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1sYWJlbC1iZy10aW50LWFtb3VudCwgJGNhcmQtYmcpXG4gICk7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsYWJlbC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCBjb2xvci1jb250cmFzdCgkYmcpKSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiB0ZXh0LXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICAvLyEgRml4OiB0ZXh0LWJvZHkgaG92ZXIgY29sb3JcbiAgLnRleHQtYm9keVtocmVmXTpob3ZlciB7XG4gICAgY29sb3I6IHNoaWZ0LWNvbG9yKCRjb2xvciwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSkgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gUGFnaW5hdGlvblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4vLyBCYXNpYyBQYWdpbmF0aW9uXG5AbWl4aW4gdGVtcGxhdGUtcGFnaW5hdGlvbi12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgI3skcGFyZW50fSAucGFnZS1pdGVtLmFjdGl2ZSAucGFnZS1saW5rLFxuICAjeyRwYXJlbnR9LnBhZ2luYXRpb24gbGkuYWN0aXZlID4gYTpub3QoLnBhZ2UtbGluaykge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgIC8vIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRwYWdpbmF0aW9uLWFjdGl2ZS1iZyk7XG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKSk7XG4gICAgfVxuXG4gICAgJi53YXZlcy1lZmZlY3Qge1xuICAgICAgLndhdmVzLXJpcHBsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChcbiAgICAgICAgICByZ2JhKCR3aGl0ZSwgMC4yKSAwLFxuICAgICAgICAgIHJnYmEoJHdoaXRlLCAwLjMpIDQwJSxcbiAgICAgICAgICByZ2JhKCR3aGl0ZSwgMC40KSA1MCUsXG4gICAgICAgICAgcmdiYSgkd2hpdGUsIDAuNSkgNjAlLFxuICAgICAgICAgIHJnYmEoJHdoaXRlLCAwKSA3MCVcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gUGFnaW5hdGlvbiBPdXRsaW5lIFZhcmlhbnRcbkBtaXhpbiB0ZW1wbGF0ZS1wYWdpbmF0aW9uLW91dGxpbmUtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICN7JHBhcmVudH0gLnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGluayxcbiAgI3skcGFyZW50fS5wYWdpbmF0aW9uIGxpLmFjdGl2ZSA+IGE6bm90KC5wYWdlLWxpbmspIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIDAuNSksICRyZ2JhLXRvLWhleC1iZyk7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAwLjA1KSwgJHJnYmEtdG8taGV4LWJnKTtcbiAgICB9XG4gICAgJi53YXZlcy1lZmZlY3Qge1xuICAgICAgLndhdmVzLXJpcHBsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChcbiAgICAgICAgICByZ2JhKCRiYWNrZ3JvdW5kLCAwLjIpIDAsXG4gICAgICAgICAgcmdiYSgkYmFja2dyb3VuZCwgMC4zKSA0MCUsXG4gICAgICAgICAgcmdiYSgkYmFja2dyb3VuZCwgMC40KSA1MCUsXG4gICAgICAgICAgcmdiYSgkYmFja2dyb3VuZCwgMC41KSA2MCUsXG4gICAgICAgICAgcmdiYSgkYmxhY2ssIDApIDcwJVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdGVtcGxhdGUtcGFnaW5hdGlvbi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gIEBpbmNsdWRlIHRlbXBsYXRlLXBhZ2luYXRpb24tdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XG59XG4iLCIvLyBNb2RhbFxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5AbWl4aW4gdGVtcGxhdGUtbW9kYWwtb25ib2FyZGluZy10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5tb2RhbC1vbmJvYXJkaW5nIHtcbiAgICAuY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gICAgICBbZGF0YS1icy10YXJnZXRdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4gIC5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gTGlzdCBncm91cHNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZTogbnVsbCwgJGJhY2tncm91bmQ6IG51bGwsICRjb2xvcjogbnVsbCkge1xufVxuXG4vLyBCYXNpYyBMaXN0IGdyb3Vwc1xuQG1peGluIHRlbXBsYXRlLWxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgJGJhY2tncm91bmQtY29sb3I6IGlmKFxuICAgICRkYXJrLXN0eWxlLFxuICAgIHNoaWZ0LWNvbG9yKCRiYWNrZ3JvdW5kLCAtJGxpc3QtZ3JvdXAtaXRlbS1iZy1zY2FsZSwgJGNhcmQtYmcpLFxuICAgIHNoaWZ0LWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlzdC1ncm91cC1pdGVtLWJnLXNjYWxlLCAkY2FyZC1iZylcbiAgKTtcbiAgJGNvbG9yOiBpZihcbiAgICAkcGFyZW50ID09ICcubGlzdC1ncm91cC1pdGVtLWRhcmsnIGFuZCAkZGFyay1zdHlsZSxcbiAgICBjb2xvci1jb250cmFzdCgkYmFja2dyb3VuZCksXG4gICAgc2hpZnQtY29sb3IoJGJhY2tncm91bmQsICRsaXN0LWdyb3VwLWl0ZW0tY29sb3Itc2NhbGUpXG4gICk7XG4gICRob3Zlci1iYWNrZ3JvdW5kOiBzaGFkZS1jb2xvcigkYmFja2dyb3VuZC1jb2xvciwgJGxpc3QtZ3JvdXAtaXRlbS1iZy1ob3Zlci1zY2FsZSk7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuXG4gIGEjeyRwYXJlbnR9LFxuICBidXR0b24jeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCBjb2xvci1jb250cmFzdCgkYmFja2dyb3VuZCkpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdGVtcGxhdGUtbGlzdC1ncm91cC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gIEBpbmNsdWRlIHRlbXBsYXRlLWxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCcubGlzdC1ncm91cC1pdGVtLXByaW1hcnknLCAkYmFja2dyb3VuZCk7XG5cbiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIDAuMDgpLCAkcmdiYS10by1oZXgtYmcpO1xuICAgIGNvbG9yOiAkaGVhZGluZ3MtY29sb3I7XG4gICAgJi53YXZlcy1lZmZlY3Qge1xuICAgICAgLndhdmVzLXJpcHBsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChcbiAgICAgICAgICByZ2JhKCRiYWNrZ3JvdW5kLCAwLjIpIDAsXG4gICAgICAgICAgcmdiYSgkYmFja2dyb3VuZCwgMC4zKSA0MCUsXG4gICAgICAgICAgcmdiYSgkYmFja2dyb3VuZCwgMC40KSA1MCUsXG4gICAgICAgICAgcmdiYSgkYmFja2dyb3VuZCwgMC41KSA2MCUsXG4gICAgICAgICAgcmdiYSgkYmxhY2ssIDApIDcwJVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdGVtcGxhdGUtbGlzdC1ncm91cC10aW1lbGluZS12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kKSB7XG4gIC5saXN0LWdyb3VwIHtcbiAgICAmLmxpc3QtZ3JvdXAtdGltZWxpbmUge1xuICAgICAgI3skcGFyZW50fSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cbi8vXG4vLyAoQykgQ3VzdG9tIHZhcmlhYmxlcyBmb3IgZXh0ZW5kZWQgY29tcG9uZW50cyBvZiBib290c3RyYXAgb25seVxuXG4vLyAqIENvbG9yIHN5c3RlbVxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvci12YXJpYWJsZXNcbiR3aGl0ZTogI2ZmZiAhZGVmYXVsdDtcbiRibGFjazogIzRjNGU2NCAhZGVmYXVsdDtcbiRncmF5LTI1OiByZ2JhKCRibGFjaywgMC4wMTUpICFkZWZhdWx0OyAvLyAoQylcbiRncmF5LTUwOiByZ2JhKCRibGFjaywgMC4wMykgIWRlZmF1bHQ7IC8vIChDKVxuJGdyYXktMTAwOiByZ2JhKCRibGFjaywgMC4wNikgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6IHJnYmEoJGJsYWNrLCAwLjEyKSAhZGVmYXVsdDtcbiRncmF5LTMwMDogcmdiYSgkYmxhY2ssIDAuMjIpICFkZWZhdWx0O1xuJGdyYXktNDAwOiByZ2JhKCRibGFjaywgMC4zOCkgIWRlZmF1bHQ7XG4kZ3JheS01MDA6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuJGdyYXktNjAwOiByZ2JhKCRibGFjaywgMC42KSAhZGVmYXVsdDtcbiRncmF5LTcwMDogcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG4kZ3JheS04MDA6IHJnYmEoJGJsYWNrLCAwLjgpICFkZWZhdWx0O1xuJGdyYXktOTAwOiByZ2JhKCRibGFjaywgMC44NykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGdyYXktY29sb3ItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmF5LWNvbG9ycy1tYXBcbiRncmF5czogKFxuICAnMjUnOiAkZ3JheS0yNSxcbiAgJzUwJzogJGdyYXktNTBcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGdyYXktY29sb3JzLW1hcFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItdmFyaWFibGVzXG4kYmx1ZTogIzI2YzZmOSAhZGVmYXVsdDtcbiRpbmRpZ286ICM2NjZjZmYgIWRlZmF1bHQ7XG4kcHVycGxlOiAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICNlODNlOGMgIWRlZmF1bHQ7XG4kcmVkOiAjZmY0ZDQ5ICFkZWZhdWx0O1xuJG9yYW5nZTogI2ZkYjUyOCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICNmZmQ5NTAgIWRlZmF1bHQ7XG4kZ3JlZW46ICM3MmUxMjggIWRlZmF1bHQ7XG4kdGVhbDogIzIwYzk5NyAhZGVmYXVsdDtcbiRjeWFuOiAjMjhjM2Q3ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWNvbG9yLXZhcmlhYmxlc1xuJHByaW1hcnk6ICRpbmRpZ28gIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAjNmQ3ODhkICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAkYmx1ZSAhZGVmYXVsdDtcbiR3YXJuaW5nOiAkb3JhbmdlICFkZWZhdWx0O1xuJGRhbmdlcjogJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogI2RmZGZlMyAhZGVmYXVsdDtcbiRkYXJrOiAjNGI0YjRiICFkZWZhdWx0O1xuJGdyYXk6ICRncmF5LTEwMCAhZGVmYXVsdDsgLy8gKEMpXG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWNvbG9yLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtY29sb3JzLW1hcFxuJHRoZW1lLWNvbG9yczogKFxuICAncHJpbWFyeSc6ICRwcmltYXJ5LFxuICAnc2Vjb25kYXJ5JzogJHNlY29uZGFyeSxcbiAgJ3N1Y2Nlc3MnOiAkc3VjY2VzcyxcbiAgJ2luZm8nOiAkaW5mbyxcbiAgJ3dhcm5pbmcnOiAkd2FybmluZyxcbiAgJ2Rhbmdlcic6ICRkYW5nZXIsXG4gICdsaWdodCc6ICRsaWdodCxcbiAgJ2RhcmsnOiAkZGFyayxcbiAgJ2dyYXknOiAkZ3JheVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtY29sb3JzLW1hcFxuXG4kY29sb3Itc2NoZW1lOiAnbGlnaHQnICFkZWZhdWx0OyAvLyAoQylcbi8vIFRoZSBjb250cmFzdCByYXRpbyB0byByZWFjaCBhZ2FpbnN0IHdoaXRlLCB0byBkZXRlcm1pbmUgaWYgY29sb3IgY2hhbmdlcyBmcm9tIFwibGlnaHRcIiB0byBcImRhcmtcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgZm9yIFdDQUcgMi4wIGFyZSAzLCA0LjUgYW5kIDcuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcyMC8jdmlzdWFsLWF1ZGlvLWNvbnRyYXN0LWNvbnRyYXN0XG4kbWluLWNvbnRyYXN0LXJhdGlvOiAxLjYgIWRlZmF1bHQ7XG5cbi8vICogT3B0aW9uc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kZW5hYmxlLW5lZ2F0aXZlLW1hcmdpbnM6IHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBQcmVmaXggZm9yIDpyb290IENTUyB2YXJpYWJsZXNcbiR2YXJpYWJsZS1wcmVmaXg6IGJzLSAhZGVmYXVsdDtcblxuLy8gKiBTcGFjaW5nXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG5cbiRzaXplcy1weDogKFxuICBweC0xODogMThweCxcbiAgcHgtMjA6IDIwcHgsXG4gIHB4LTMwOiAzMHB4LFxuICBweC00MDogNDBweCxcbiAgcHgtNTA6IDUwcHgsXG4gIHB4LTc1OiA3NXB4LFxuICBweC0xMDA6IDEwMHB4LFxuICBweC0xMjA6IDEyMHB4LFxuICBweC0xNTA6IDE1MHB4LFxuICBweC0yMDA6IDIwMHB4LFxuICBweC0yNTA6IDI1MHB4LFxuICBweC0zMDA6IDMwMHB4LFxuICBweC0zNTA6IDM1MHB4LFxuICBweC00MDA6IDQwMHB4LFxuICBweC01MDA6IDUwMHB4LFxuICBweC02MDA6IDYwMHB4LFxuICBweC03MDA6IDcwMHB4LFxuICBweC04MDA6IDgwMHB4LFxuICBhdXRvOiBhdXRvXG4pICFkZWZhdWx0OyAvLyAoQylcblxuLy8gKiBCb2R5XG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiRib2R5LWJnOiAjZjdmN2Y5ICFkZWZhdWx0O1xuJHJnYmEtdG8taGV4LWJnOiAjZmZmICFkZWZhdWx0OyAvLyAoQylcbiRib2R5LWNvbG9yOiByZ2JhLXRvLWhleCgkZ3JheS03MDAsICRyZ2JhLXRvLWhleC1iZykgIWRlZmF1bHQ7XG4kcmdiYS10by1oZXgtYmctaW52ZXJ0ZWQ6ICMwMDAgIWRlZmF1bHQ7IC8vIChDKVxuXG4vLyAqIExpbmtzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiRsaW5rLWNvbG9yOiAkcHJpbWFyeSAhZGVmYXVsdDtcbiRsaW5rLWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kbGluay1zaGFkZS1wZXJjZW50YWdlOiAxMCUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogc2hpZnQtY29sb3IoJGxpbmstY29sb3IsICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogbnVsbCAhZGVmYXVsdDtcblxuLy8gKiBHcmlkXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29udGFpbmVyLW1heC13aWR0aHNcbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTQwcHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk2MHB4LFxuICB4bDogMTE0MHB4LFxuICB4eGw6IDE0NDBweCAvLyBDdXN0b20geHhsIHNpemVcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbnRhaW5lci1tYXgtd2lkdGhzXG5cbiRncmlkLWd1dHRlci13aWR0aDogMS41cmVtICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLXg6IDEuNXJlbSAhZGVmYXVsdDsgLy8gKEMpXG4kY29udGFpbmVyLXBhZGRpbmcteC1zbTogMXJlbSAhZGVmYXVsdDsgLy8gKEMpXG4kY29udGFpbmVyLXBhZGRpbmcteTogMS41cmVtICFkZWZhdWx0OyAvLyAoQylcblxuLy8gKiBDb21wb25lbnRzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3JkZXItdmFyaWFibGVzXG4kYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiByZ2JhLXRvLWhleCgkZ3JheS0yMDAsICRyZ2JhLXRvLWhleC1iZykgIWRlZmF1bHQ7XG4kYm9yZGVyLWlubmVyLWNvbG9yOiByZ2JhKCRibGFjaywgMC4wNzUpICFkZWZhdWx0OyAvLyAoQylcbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXJhZGl1cy12YXJpYWJsZXNcbiRib3JkZXItcmFkaXVzOiAwLjVyZW0gIWRlZmF1bHQ7XG4vLyBNYXRlcmlhbCBVSSB1c2luZyBzYW1lIHJhZGl1cyBmb3IgYWxsIHRoZSBzaXplc1xuJGJvcmRlci1yYWRpdXMteGw6ICRib3JkZXItcmFkaXVzICFkZWZhdWx0OyAvLyAoQylcbiRib3JkZXItcmFkaXVzLWxnOiAwLjYyNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAwLjM3NXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXhzOiAwLjI1cmVtICFkZWZhdWx0OyAvLyAoQylcbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXJhZGl1cy12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJveC1zaGFkb3ctdmFyaWFibGVzXG4kYm94LXNoYWRvdzogMCAwLjI1cmVtIDAuNXJlbSByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LXNtOiAwIDAuMTI1cmVtIDAuMjVyZW0gcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogMCAwLjYyNXJlbSAwLjg3NXJlbSByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYm94LXNoYWRvdy12YXJpYWJsZXNcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAkcHJpbWFyeSAhZGVmYXVsdDtcblxuJGNvbXBvbmVudC1saW5lLWhlaWdodDogMS40NyAhZGVmYXVsdDsgLy8gKEMpXG4kY29tcG9uZW50LWZvY3VzLXNoYWRvdy13aWR0aDogMHB4ICFkZWZhdWx0OyAvLyAoQylcblxuJGZsb2F0aW5nLWNvbXBvbmVudC1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAwLjA1KSAhZGVmYXVsdDsgLy8gKEMpXG4vLyAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdzogMCAwLjMxMjVyZW0gMS4yNXJlbSByZ2JhKCRibGFjaywgMC4zKSAhZGVmYXVsdDsgLy8gKEMpXG4kZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdzogMHB4IDVweCA1cHggLTNweCByZ2JhKCRibGFjaywgMC4yKSwgMHB4IDhweCAxMHB4IDFweCByZ2JhKCRibGFjaywgMC4xNCksXG4gIDBweCAzcHggMTRweCAycHggcmdiYSgkYmxhY2ssIDAuMTIpICFkZWZhdWx0OyAvLyAoQylcblxuJGhyLWNvbG9yOiAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGhyLW9wYWNpdHk6IDEgIWRlZmF1bHQ7XG4kYm9yZGVyZWQtcm93LWJvcmRlci1jb2xvcjogJGhyLWNvbG9yICFkZWZhdWx0OyAvLyAoQylcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmV0LXZhcmlhYmxlc1xuJGNhcmV0LXdpZHRoOiAwLjQyZW0gIWRlZmF1bHQ7XG4kY2FyZXQtdmVydGljYWwtYWxpZ246IG1pZGRsZSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAwLjVlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2FyZXQtdmFyaWFibGVzXG5cbi8vICogVHlwb2dyYXBoeVxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9udC12YXJpYWJsZXNcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAnSW50ZXInLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsICdPeHlnZW4nLCAnVWJ1bnR1JywgJ0NhbnRhcmVsbCcsXG4gICdGaXJhIFNhbnMnLCAnRHJvaWQgU2FucycsICdIZWx2ZXRpY2EgTmV1ZScsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktc2VyaWY6IEdlb3JnaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZiAhZGVmYXVsdDsgLy8gKEMpXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAnU0ZNb25vLVJlZ3VsYXInLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktYmFzZTogdmFyKC0tI3skdmFyaWFibGUtcHJlZml4fWZvbnQtc2Fucy1zZXJpZikgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktY29kZTogdmFyKC0tI3skdmFyaWFibGUtcHJlZml4fWZvbnQtbW9ub3NwYWNlKSAhZGVmYXVsdDtcblxuLy8gJGZvbnQtc2l6ZS1yb290IGVmZmVjdHMgdGhlIHZhbHVlIG9mIGByZW1gLCB3aGljaCBpcyB1c2VkIGZvciBhcyB3ZWxsIGZvbnQgc2l6ZXMsIHBhZGRpbmdzIGFuZCBtYXJnaW5zXG4vLyAkZm9udC1zaXplLWJhc2UgZWZmZWN0cyB0aGUgZm9udCBzaXplIG9mIHRoZSBib2R5IHRleHRcbiRmb250LXNpemUtcm9vdDogMTZweCAhZGVmYXVsdDtcbiRmb250LXNpemUtYmFzZTogMC45Mzc1cmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUteGw6IDEuMjVyZW0gIWRlZmF1bHQ7IC8vIChDKVxuJGZvbnQtc2l6ZS1sZzogMS4wNjI1cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbTogMC44MTI1cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS14czogMC43NXJlbSAhZGVmYXVsdDsgLy8gKEMpXG5cbiRmb250LXdlaWdodC1tZWRpdW06IDUwMCAhZGVmYXVsdDsgLy8gKEMpXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQ6IDYwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6IDkwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1saWdodGVyOiAxMDAgIWRlZmF1bHQ7XG5cbiRsaW5lLWhlaWdodC1iYXNlOiAxLjQ3ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXhsOiAxLjUgIWRlZmF1bHQ7IC8vIChDKVxuJGxpbmUtaGVpZ2h0LWxnOiAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206IDEuMiAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC14czogMS4yICFkZWZhdWx0OyAvLyAoQylcblxuJGgxLWZvbnQtc2l6ZTogMi4zNzVyZW0gIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAycmVtICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogMS42MjVyZW0gIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxLjM3NXJlbSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IDEuMTI1cmVtICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogMC45Mzc1cmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb250LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaGVhZGluZ3MtdmFyaWFibGVzXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogJHNwYWNlciAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogMS4xICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiByZ2JhLXRvLWhleCgkZ3JheS05MDAsICRyZ2JhLXRvLWhleC1iZykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGhlYWRpbmdzLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZGlzcGxheS1oZWFkaW5nc1xuJGRpc3BsYXktZm9udC1zaXplczogKFxuICAxOiA0cmVtLFxuICAyOiAzLjVyZW0sXG4gIDM6IDNyZW0sXG4gIDQ6IDIuNXJlbSxcbiAgNTogMnJlbSxcbiAgNjogMS41cmVtXG4pICFkZWZhdWx0O1xuXG4kZGlzcGxheS1mb250LXdlaWdodDogNTAwICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3MtZW5kIGRpc3BsYXktaGVhZGluZ3NcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHR5cGUtdmFyaWFibGVzXG4kbGVhZC1mb250LXNpemU6IDEuMTI1cmVtICFkZWZhdWx0O1xuJHRpbnktZm9udC1zaXplOiA3MCUgIWRlZmF1bHQ7IC8vIChDKVxuJHNtYWxsLWZvbnQtc2l6ZTogODUlICFkZWZhdWx0O1xuJGJpZy1mb250LXNpemU6IDExMiUgIWRlZmF1bHQ7IC8vIChDKVxuJGxhcmdlLWZvbnQtc2l6ZTogMTUwJSAhZGVmYXVsdDsgLy8gKEMpXG4keGxhcmdlLWZvbnQtc2l6ZTogMTcwJSAhZGVmYXVsdDsgLy8gKEMpXG5cbiR0ZXh0LW11dGVkOiByZ2JhLXRvLWhleCgkZ3JheS00MDAsICRyZ2JhLXRvLWhleC1iZykgIWRlZmF1bHQ7XG4kdGV4dC1tdXRlZC1ob3ZlcjogcmdiYS10by1oZXgoJGdyYXktNjAwLCAkcmdiYS10by1oZXgtYmcpICFkZWZhdWx0OyAvLyAoQylcblxuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiR0ZXh0LWxpZ2h0OiByZ2JhLXRvLWhleCgkZ3JheS00MDAsICRyZ2JhLXRvLWhleC1iZykgIWRlZmF1bHQ7IC8vIChDKVxuJHRleHQtbGlnaHRlcjogcmdiYS10by1oZXgoJGdyYXktMzAwLCAkcmdiYS10by1oZXgtYmcpICFkZWZhdWx0OyAvLyAoQylcbiR0ZXh0LWxpZ2h0ZXN0OiByZ2JhLXRvLWhleCgkZ3JheS0yMDAsICRyZ2JhLXRvLWhleC1iZykgIWRlZmF1bHQ7IC8vIChDKVxuLy8gc2Nzcy1kb2NzLWVuZCB0eXBlLXZhcmlhYmxlc1xuXG4vLyAqIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJHppbmRleC1tZW51LWZpeGVkOiAxMDgwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogMTA5MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2Ryb3A6ICR6aW5kZXgtbW9kYWwgLSAxICFkZWZhdWx0O1xuLy8gJHppbmRleC1tb2RhbC10b3A6IDEwOTAgIWRlZmF1bHQ7IC8vIChDKVxuJHppbmRleC1vZmZjYW52YXM6IDEwOTAgIWRlZmF1bHQ7XG4kemluZGV4LW9mZmNhbnZhcy1iYWNrZHJvcDogJHppbmRleC1vZmZjYW52YXMgLSAxICFkZWZhdWx0O1xuJHppbmRleC1sYXlvdXQtbW9iaWxlOiAxMTAwICFkZWZhdWx0OyAvLyAoQylcbiR6aW5kZXgtcG9wb3ZlcjogMTA5MSAhZGVmYXVsdDtcbiR6aW5kZXgtdG9hc3Q6IDEwOTUgIWRlZmF1bHQ7IC8vIChDKVxuJHppbmRleC10b29sdGlwOiAxMDk5ICFkZWZhdWx0O1xuJHppbmRleC1ub3RpZmljYXRpb246IDk5OTk5OSAhZGVmYXVsdDsgLy8gKEMpXG5cbi8vICogVGFibGVzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0YWJsZS12YXJpYWJsZXNcbiR0YWJsZS1jZWxsLXBhZGRpbmcteTogMC42NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteDogMS4yNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteS1zbTogMC4zMTI1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy14LXNtOiAwLjYyNXJlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWNlbGwtdmVydGljYWwtYWxpZ246IG1pZGRsZSAhZGVmYXVsdDtcblxuJHRhYmxlLXRoLWNvbG9yOiAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7IC8vIChDKVxuJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaWJvbGQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1hY3RpdmUtY29sb3I6ICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3I6IDAuMDggIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiByZ2JhKCRwcmltYXJ5LCAkdGFibGUtYWN0aXZlLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ob3Zlci1iZy1mYWN0b3I6IDAuMDUgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6IHJnYmEoJGJsYWNrLCAkdGFibGUtaG92ZXItYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci1mYWN0b3I6IDAuMTIgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiByZ2JhLXRvLWhleChyZ2JhKCRibGFjaywgJHRhYmxlLWJvcmRlci1mYWN0b3IpLCAkcmdiYS10by1oZXgtYmcpICFkZWZhdWx0O1xuJHRhYmxlLWdyb3VwLXNlcGFyYXRvci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1iZy1zY2FsZTogLTgwJSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRhYmxlLWxvb3BcbiR0YWJsZS12YXJpYW50czogKFxuICAncHJpbWFyeSc6IHNoaWZ0LWNvbG9yKCRwcmltYXJ5LCAkdGFibGUtYmctc2NhbGUpLFxuICAnc2Vjb25kYXJ5Jzogc2hpZnQtY29sb3IoJHNlY29uZGFyeSwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgJ3N1Y2Nlc3MnOiBzaGlmdC1jb2xvcigkc3VjY2VzcywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgJ2luZm8nOiBzaGlmdC1jb2xvcigkaW5mbywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgJ3dhcm5pbmcnOiBzaGlmdC1jb2xvcigkd2FybmluZywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgJ2Rhbmdlcic6IHNoaWZ0LWNvbG9yKCRkYW5nZXIsICR0YWJsZS1iZy1zY2FsZSksXG4gICdsaWdodCc6IHJnYmEtdG8taGV4KCRncmF5LTEwMCwgJHJnYmEtdG8taGV4LWJnKSxcbiAgJ2RhcmsnOiAkZGFya1xuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGFibGUtbG9vcFxuXG4vLyAqIEJ1dHRvbnMgKyBGb3Jtc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogMC40NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAxLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogMC4wNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eTogMC4xICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogcmdiYSgkY29tcG9uZW50LWFjdGl2ZS1iZywgJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5KSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYmx1cjogMC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogMCAwICRpbnB1dC1idG4tZm9jdXMtYmx1ciAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXhzOiAwLjA4N3JlbSAhZGVmYXVsdDsgLy8gKEMpXG4kaW5wdXQtYnRuLXBhZGRpbmcteC14czogMC41OXJlbSAhZGVmYXVsdDsgLy8gKEMpXG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS14czogJGZvbnQtc2l6ZS14cyAhZGVmYXVsdDsgLy8gKEMpXG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXhzOiAkbGluZS1oZWlnaHQteHMgIWRlZmF1bHQ7IC8vIChDKVxuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogMC4zNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogMC45NjlyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6IDAuNjFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogMS42MjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc6ICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXhsOiAwLjcycmVtICFkZWZhdWx0OyAvLyAoQylcbiRpbnB1dC1idG4tcGFkZGluZy14LXhsOiAxLjg3NXJlbSAhZGVmYXVsdDsgLy8gKEMpXG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS14bDogJGZvbnQtc2l6ZS14bCAhZGVmYXVsdDsgLy8gKEMpXG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXhsOiAkbGluZS1oZWlnaHQteGwgIWRlZmF1bHQ7IC8vIChDKVxuXG4vLyAqIEJ1dHRvbnNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJGJ0bi1wYWRkaW5nLXkteHM6ICRpbnB1dC1idG4tcGFkZGluZy15LXhzICFkZWZhdWx0OyAvLyAoQylcbiRidG4tcGFkZGluZy14LXhzOiAkaW5wdXQtYnRuLXBhZGRpbmcteC14cyAhZGVmYXVsdDsgLy8gKEMpXG4kYnRuLWZvbnQtc2l6ZS14czogJGlucHV0LWJ0bi1mb250LXNpemUteHMgIWRlZmF1bHQ7IC8vIChDKVxuXG4kYnRuLXBhZGRpbmcteS14bDogJGlucHV0LWJ0bi1wYWRkaW5nLXkteGwgIWRlZmF1bHQ7IC8vIChDKVxuJGJ0bi1wYWRkaW5nLXgteGw6ICRpbnB1dC1idG4tcGFkZGluZy14LXhsICFkZWZhdWx0OyAvLyAoQylcbiRidG4tZm9udC1zaXplLXhsOiAkaW5wdXQtYnRuLWZvbnQtc2l6ZS14bCAhZGVmYXVsdDsgLy8gKEMpXG5cbiRidG4tbGluZS1oZWlnaHQteHM6ICRpbnB1dC1idG4tbGluZS1oZWlnaHQteHMgIWRlZmF1bHQ7IC8vIChDKVxuJGJ0bi1saW5lLWhlaWdodC1zbTogJGxpbmUtaGVpZ2h0LXNtOyAvLyhDKVxuJGJ0bi1saW5lLWhlaWdodC1sZzogJGxpbmUtaGVpZ2h0LWxnOyAvLyhDKVxuJGJ0bi1saW5lLWhlaWdodC14bDogJGlucHV0LWJ0bi1saW5lLWhlaWdodC14bCAhZGVmYXVsdDsgLy8gKEMpXG5cbiRidG4tZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW0gIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6IDBweCA0cHggOHB4IC00cHggcmdiYSgkYmxhY2ssIDAuNDIpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogMCA2cHggMThweCAtOHB4IHJnYmEoJGJsYWNrLCAwLjU2KSAhZGVmYXVsdDtcblxuJGJ0bi1mYWItYm94LXNoYWRvdzogMHB4IDNweCA1cHggLTFweCByZ2JhKCRibGFjaywgMC4yKSwgMHB4IDVweCA4cHggcmdiYSgkYmxhY2ssIDAuMTQpLCAwcHggMXB4IDE0cHggcmdiYSgkYmxhY2ssIDAuMTIpICFkZWZhdWx0O1xuJGJ0bi1mYWItYWN0aXZlLWJveC1zaGFkb3c6IDBweCA3cHggOHB4IC00cHggcmdiYSgkYmxhY2ssIDAuMiksIDBweCAxMnB4IDE3cHggMnB4IHJnYmEoJGJsYWNrLCAwLjE0KSxcbiAgMHB4IDVweCAyMnB4IDRweCByZ2JhKCRibGFjaywgMC4xMikgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMteHM6ICRib3JkZXItcmFkaXVzLXhzICFkZWZhdWx0OyAvLyAoQylcbiRidG4tYm9yZGVyLXJhZGl1cy14bDogJGJvcmRlci1yYWRpdXMteGwgIWRlZmF1bHQ7IC8vIChDKVxuXG4kYnRuLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJGJ0bi10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0OyAvLyAoQylcbiRidG4tbGV0dGVyLXNwYWNpbmc6IDAuNHB4ICFkZWZhdWx0OyAvLyAoQylcblxuJGJ0bi1sYWJlbC1iZy1zaGFkZS1hbW91bnQ6IDg0JSAhZGVmYXVsdDsgLy8gKEMpXG4kYnRuLWxhYmVsLWJnLXRpbnQtYW1vdW50OiA4NSUgIWRlZmF1bHQ7IC8vIChDKVxuJGJ0bi1sYWJlbC1ob3Zlci1zaGFkZS1hbW91bnQ6IDI2JSAhZGVmYXVsdDsgLy8gKEMpXG4kYnRuLWxhYmVsLWhvdmVyLXRpbnQtYW1vdW50OiA3NiUgIWRlZmF1bHQ7IC8vIChDKVxuJGJ0bi1sYWJlbC1mb2N1cy1zaGFkZS1hbW91bnQ6IDEyJSAhZGVmYXVsdDsgLy8gKEMpXG4kYnRuLWxhYmVsLWZvY3VzLXRpbnQtYW1vdW50OiA3MiUgIWRlZmF1bHQ7IC8vIChDKVxuJGJ0bi1sYWJlbC1hY3RpdmUtc2hhZGUtYW1vdW50OiAxMCUgIWRlZmF1bHQ7IC8vIChDKVxuJGJ0bi1sYWJlbC1hY3RpdmUtdGludC1hbW91bnQ6IDcwJSAhZGVmYXVsdDsgLy8gKEMpXG4vLyAkYnRuLWxhYmVsLWRpc2FibGVkLWJnLXNoYWRlLWFtb3VudDogODQlICFkZWZhdWx0OyAvLyAoQylcbi8vICRidG4tbGFiZWwtZGlzYWJsZWQtYmctdGludC1hbW91bnQ6IDg1JSAhZGVmYXVsdDsgLy8gKEMpXG5cbiRidG4tdGV4dC1ob3Zlci1zaGFkZS1hbW91bnQ6IDI2JSAhZGVmYXVsdDsgLy8gKEMpXG4kYnRuLXRleHQtaG92ZXItdGludC1hbW91bnQ6IDk1JSAhZGVmYXVsdDsgLy8gKEMpXG4kYnRuLXRleHQtZm9jdXMtc2hhZGUtYW1vdW50OiAzMCUgIWRlZmF1bHQ7IC8vIChDKVxuJGJ0bi10ZXh0LWZvY3VzLXRpbnQtYW1vdW50OiA5MCUgIWRlZmF1bHQ7IC8vIChDKVxuJGJ0bi10ZXh0LWFjdGl2ZS1zaGFkZS1hbW91bnQ6IDM0JSAhZGVmYXVsdDsgLy8gKEMpXG4kYnRuLXRleHQtYWN0aXZlLXRpbnQtYW1vdW50OiA4NSUgIWRlZmF1bHQ7IC8vIChDKVxuLy8gJGJ0bi10ZXh0LWRpc2FibGVkLXNoYWRlLWFtb3VudDogODQlICFkZWZhdWx0OyAvLyAoQylcbi8vICRidG4tdGV4dC1kaXNhYmxlZC10aW50LWFtb3VudDogODUlICFkZWZhdWx0OyAvLyAoQylcblxuJGJ0bi1ob3Zlci1iZy1zaGFkZS1hbW91bnQ6IDEyJSAhZGVmYXVsdDtcbiRidG4taG92ZXItYmctdGludC1hbW91bnQ6IDkyJSAhZGVmYXVsdDtcbiRidG4taG92ZXItYm9yZGVyLXNoYWRlLWFtb3VudDogMTIlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1ib3JkZXItdGludC1hbW91bnQ6IDkyJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJnLXNoYWRlLWFtb3VudDogMjAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQ6IDgwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJvcmRlci1zaGFkZS1hbW91bnQ6IDIwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJvcmRlci10aW50LWFtb3VudDogODAlICFkZWZhdWx0O1xuXG4vLyBPdXRsaW5lIGJ1dHRvbnNcbiRidG4tb3V0bGluZS1ob3Zlci1iZy1zaGFkZS1hbW91bnQ6IDg0JSAhZGVmYXVsdDsgLy8gKEMpXG4kYnRuLW91dGxpbmUtaG92ZXItYmctdGludC1hbW91bnQ6IDg1JSAhZGVmYXVsdDsgLy8gKEMpXG4kYnRuLW91dGxpbmUtYm9yZGVyLXNoYWRlLWFtb3VudDogNTAlICFkZWZhdWx0OyAvLyAoQylcbiRidG4tb3V0bGluZS1ib3JkZXItdGludC1hbW91bnQ6IDUwJSAhZGVmYXVsdDsgLy8gKEMpXG4kYnRuLW91dGxpbmUtZm9jdXMtYmctc2hhZGUtYW1vdW50OiA3NSUgIWRlZmF1bHQ7IC8vIChDKVxuJGJ0bi1vdXRsaW5lLWZvY3VzLWJnLXRpbnQtYW1vdW50OiA3NiUgIWRlZmF1bHQ7IC8vIChDKVxuJGJ0bi1vdXRsaW5lLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQ6IDcxJSAhZGVmYXVsdDsgLy8gKEMpXG4kYnRuLW91dGxpbmUtYWN0aXZlLWJnLXRpbnQtYW1vdW50OiA3MiUgIWRlZmF1bHQ7IC8vIChDKVxuLy8gJGJ0bi1vdXRsaW5lLWJvcmRlci1zaGFkZS1hbW91bnQ6IDUwJSAhZGVmYXVsdDsgLy8gKEMpXG4vLyAkYnRuLW91dGxpbmUtYm9yZGVyLXRpbnQtYW1vdW50OiA1MCUgIWRlZmF1bHQ7IC8vIChDKVxuXG4vLyAqIEZvcm1zXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXRleHQtdmFyaWFibGVzXG4kZm9ybS10ZXh0LW1hcmdpbi10b3A6IDAuM3JlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS10ZXh0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1sYWJlbC12YXJpYWJsZXNcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogMC44MzEyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQgIWRlZmF1bHQ7IC8vKEMpXG4kZm9ybS1sYWJlbC10ZXh0LXRyYW5zZm9ybTogaW5oZXJpdCAhZGVmYXVsdDsgLy8oQylcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1sYWJlbC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0taW5wdXQtdmFyaWFibGVzXG4kaW5wdXQtcGFkZGluZy15OiAwLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAwLjg3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1zbTogJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAwLjYyNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXktbGc6ICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogMS4yNXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6IHJnYmEtdG8taGV4KCRncmF5LTEwMCkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiByZ2JhLXRvLWhleCgkZ3JheS0zMDAsICRyZ2JhLXRvLWhleC1iZykgIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1ib3JkZXItd2lkdGg6IDJweDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvci1zY2FsZTogNTAlICFkZWZhdWx0OyAvLyhDKVxuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogdGludC1jb2xvcigkY29tcG9uZW50LWFjdGl2ZS1iZywgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogcmdiYS10by1oZXgoJGdyYXktNDAwLCAkcmdiYS10by1oZXgtYmcpICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiBhZGQoKCRpbnB1dC1idG4tZm9udC1zaXplICogJGlucHV0LWJ0bi1saW5lLWhlaWdodCksICgkaW5wdXQtYnRuLXBhZGRpbmcteSAqIDIpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItc206IGFkZChcbiAgKCRpbnB1dC1idG4tZm9udC1zaXplLXNtICogJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSksXG4gICgkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAqIDIpXG4pICFkZWZhdWx0OyAvLyAoQylcbiRpbnB1dC1oZWlnaHQtaW5uZXItbGc6IGFkZCgoJGZvbnQtc2l6ZS1sZyAqICRsaW5lLWhlaWdodC1sZyksICgkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAqIDIpKSAhZGVmYXVsdDsgLy8gKEMpXG5cbiRpbnB1dC1oZWlnaHQ6IGFkZCgoJGlucHV0LWxpbmUtaGVpZ2h0ICogMXJlbSksICgkaW5wdXQtcGFkZGluZy15ICogMikpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogYWRkKCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxcmVtKSwgKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiBhZGQoKCRpbnB1dC1saW5lLWhlaWdodCAqIDFyZW0pLCAoJGlucHV0LXBhZGRpbmcteS1zbSAqIDIpKSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWlucHV0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1jaGVjay12YXJpYWJsZXNcbiRmb3JtLWNoZWNrLWlucHV0LXdpZHRoOiAxLjI1ZW0gIWRlZmF1bHQ7XG4kZm9ybS1kYXRhdGFibGVzLWNoZWNrLWlucHV0LXNpemU6ICRmb3JtLWNoZWNrLWlucHV0LXdpZHRoICFkZWZhdWx0OyAvLyAoQykgRm9yIGRhdGF0YWJsZXMgd2l0aCBjaGVja2JveC0gdXBkYXRlIGFjY29yZGluZyB0byAkZm9ybS1jaGVjay1pbnB1dC13aWR0aFxuJGZvcm0tY2hlY2stbWluLWhlaWdodDogJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0OiAkZm9ybS1jaGVjay1pbnB1dC13aWR0aCArIDAuNzVlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWJvcmRlcjogJGlucHV0LWZvY3VzLWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1sYWJlbC1jdXJzb3I6IHBvaW50ZXIgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1kaXNhYmxlZC1jb2xvcjogJHRleHQtbXV0ZWQgIWRlZmF1bHQ7IC8vIChDKVJcblxuJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyLXJhZGl1czogMC4xMjVlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3I6ICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTkgMjAnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J001IDEwbDMgM2w2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWJnLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPSd0cmFuc3BhcmVudCcgc3Ryb2tlPScjeyRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWNvbG9yOiAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNiAxMGg4Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWNoZWNrLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1zd2l0Y2gtdmFyaWFibGVzXG4kZm9ybS1zd2l0Y2gtY29sb3I6ICRncmF5LTMwMCAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC13aWR0aDogMmVtICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQ6ICRmb3JtLXN3aXRjaC13aWR0aCArIDAuNWVtICFkZWZhdWx0O1xuXG4kZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1wb3NpdGlvbi1ydGw6IGxlZnQgY2VudGVyICFkZWZhdWx0OyAvLyhDKVxuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXN3aXRjaC12YXJpYWJsZXNcblxuLy9pbnB1dC1ncm91cC12YXJpYWJsZXNcbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGlucHV0LWdyb3VwLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1zZWxlY3QtdmFyaWFibGVzXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15OiAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXg6ICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXggKyAxcmVtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1iZzogJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnLXNpemU6IDE3cHggMTJweCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3I6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDSUFBQUFZQ0FZQUFBQ2ZwaThKQUFBQUNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUNEU1VSQlZIZ0I3ZFN4Q1lBd0VJWGhwNDZpWU84T05oYVp3ckdjSXEwNzJJdmdMT1lLUVNSR3ZWd0s1WDRJcERxK2F3N1FOTzJqWldEV21iN05nUllDdVRsakFXYkxQSzFWM2RBbUpTSWloTFVESHlLQjJSSDBqNExFWUk0SUVRZ0hjMGFJUWQ1Z2ZBaFJ5QlBNRlVJY0VzS0VFRWtnUHN3ZElubDA5SXg3MERUdHoyMUtRRUN0bUpWZEV3QUFBQUJKUlU1RXJrSmdnZz09JykgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXJ0bDogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNJQUFBQVlDQVlBQUFDZnBpOEpBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQ0NTVVJCVkhnQjdkU3hDWUF3RUlYaHA0NmlZTzhPTmhhWndyR2NJbTEyc0JmQldVd3NCRWtNTVhjcGhQdmhyankrNmdCSmtuNWFOYWw1cklFUkROazdSdXZGSUtObTM5YWo2d2RVUUF0Q0ZNUUZjWXVLb1NKdUNBWERnWGhBY2pCY0NBL3lCY09KQ0VKU01OeUlWMGdNVXdJUmhZUXdwUkRKdWFlbjdFQ1NKTW52QkdLZlEyakJTSFJhQUFBQUFFbEZUa1N1UW1DQycpICFkZWZhdWx0OyAvLyAoQylcblxuJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXktc206ICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1zbTogJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1sZzogJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtcGFkZGluZy14LWxnOiAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tc2VsZWN0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1yYW5nZS12YXJpYWJsZXNcbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogMC4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1kaXNhYmxlZC1iZzogJGdyYXktMjAwICFkZWZhdWx0OyAvLyAoQylcbiRmb3JtLXJhbmdlLXRodW1iLXdpZHRoOiAxLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0OiAkZm9ybS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnOiByZ2JhLXRvLWhleCgkZ3JheS00MDAsICRyZ2JhLXRvLWhleC1iZykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tcmFuZ2UtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWZsb2F0aW5nLXZhcmlhYmxlc1xuJGZvcm0tZmxvYXRpbmctcGFkZGluZy14OiAwLjc4MTNyZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1wYWRkaW5nLXk6IDAuNzgxM3JlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDogKCRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteSAqIDEuNSkgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLWI6IGNhbGMoKCRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteSAqIDAuNSkgKyAkYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWlucHV0LWJnOiByZ2JhLXRvLWhleCgkZ3JheS01MCwgJHJnYmEtdG8taGV4LWJnKSAhZGVmYXVsdDsgLy8gKEMpXG4kZm9ybS1mbG9hdGluZy1oZWlnaHQ6IGNhbGMoXG4gICgkZm9udC1zaXplLWJhc2UgKiAkZm9ybS1mbG9hdGluZy1saW5lLWhlaWdodCkgKyAoJGZvcm0tZmxvYXRpbmctcGFkZGluZy15ICogMikgKyAoJGJvcmRlci13aWR0aCAqIDIpXG4pICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtaGVpZ2h0OiAxLjc1ZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC1vcGFjaXR5OiAwLjc1ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gMC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybS1zY2FsZTogMC44OyAvLyAoQylcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTogc2NhbGUoJGZvcm0tZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtLXNjYWxlKSB0cmFuc2xhdGVZKC0wLjZyZW0pIHRyYW5zbGF0ZVgoMC4xNXJlbSkgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC10cmFuc2Zvcm0tcnRsOiBzY2FsZSgkZm9ybS1mbG9hdGluZy1sYWJlbC10cmFuc2Zvcm0tc2NhbGUpIHRyYW5zbGF0ZVkoLTAuNnJlbSkgdHJhbnNsYXRlWCgtMC4xNXJlbSkgIWRlZmF1bHQ7IC8vIChDKVxuXG4vLyBPdXRsaW5lXG4kZm9ybS1mbG9hdGluZy1vdXRsaW5lLWxhYmVsLXRyYW5zZm9ybTogc2NhbGUoJGZvcm0tZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtLXNjYWxlKSB0cmFuc2xhdGVZKC0wLjdyZW0pXG4gIHRyYW5zbGF0ZVgoLSRpbnB1dC1mb2N1cy1ib3JkZXItd2lkdGgpICFkZWZhdWx0OyAvLyAoQylcbiRmb3JtLWZsb2F0aW5nLW91dGxpbmUtbGFiZWwtdHJhbnNmb3JtLXJ0bDogc2NhbGUoJGZvcm0tZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtLXNjYWxlKSB0cmFuc2xhdGVZKC0wLjdyZW0pXG4gIHRyYW5zbGF0ZVgoLSRpbnB1dC1mb2N1cy1ib3JkZXItd2lkdGgpICFkZWZhdWx0OyAvLyAoQylcblxuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWZsb2F0aW5nLXZhcmlhYmxlc1xuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmVlZGJhY2stdmFyaWFibGVzXG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogJHN1Y2Nlc3MgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAkZGFuZ2VyICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nOiAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgKyAkaW5wdXQtaGVpZ2h0LWlubmVyICFkZWZhdWx0OyAvLyAoQylcbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctc206ICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyArICRpbnB1dC1oZWlnaHQtaW5uZXItc20gIWRlZmF1bHQ7IC8vIChDKVxuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1sZzogJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICsgJGlucHV0LWhlaWdodC1pbm5lci1sZyAhZGVmYXVsdDsgLy8gKEMpXG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tZmVlZGJhY2stdmFyaWFibGVzXG5cbi8vICogTmF2c1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kbmF2LXNwYWNlcjogMC4xMjVyZW0gIWRlZmF1bHQ7IC8vIChDKVxuXG4kbmF2LWxpbmstcGFkZGluZy15OiAwLjgxMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6IDEuMzc1cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWNvbG9yOiAkdGV4dC1tdXRlZC1ob3ZlciAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogJHRleHQtbGlnaHRlciAhZGVmYXVsdDtcbiRuYXYtbGluay1saW5lLWhlaWdodDogJGNvbXBvbmVudC1saW5lLWhlaWdodCAhZGVmYXVsdDsgLy8gKEMpXG5cbiRuYXYtbGluay1wYWRkaW5nLXktbGc6IDAuODc1cmVtICFkZWZhdWx0OyAvLyAoQylcbiRuYXYtbGluay1wYWRkaW5nLXgtbGc6IDEuMzEyNXJlbSAhZGVmYXVsdDsgLy8gKEMpXG4kbmF2LWxpbmstbGluZS1oZWlnaHQtbGc6ICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDsgLy8gKEMpXG5cbiRuYXYtbGluay1wYWRkaW5nLXktc206IDAuMzEyNXJlbSAhZGVmYXVsdDsgLy8gKEMpXG4kbmF2LWxpbmstcGFkZGluZy14LXNtOiAwLjg3NXJlbSAhZGVmYXVsdDsgLy8gKEMpXG4kbmF2LWxpbmstbGluZS1oZWlnaHQtc206ICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDsgLy8gKEMpXG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1wYWRkaW5nLXk6IDAuNXJlbSAhZGVmYXVsdDsgLy8gKEMpXG4kbmF2LXBpbGxzLXBhZGRpbmcteDogJG5hdi1saW5rLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gKEMpXG5cbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyAqIE5hdmJhclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAwLjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAwLjdyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAwLjYyNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1kYXJrLWNvbG9yOiByZ2JhKCR3aGl0ZSwgMC44KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiByZ2JhKCR3aGl0ZSwgMC40KSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogJGdyYXktNTAwICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgMC4wNikgIWRlZmF1bHQ7XG5cbi8vICogRHJvcGRvd25zXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiRkcm9wZG93bi1wYWRkaW5nLXk6IDAuMzEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1iZzogJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogJGZsb2F0aW5nLWNvbXBvbmVudC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICRkcm9wZG93bi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogJGZsb2F0aW5nLWNvbXBvbmVudC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogJGdyYXktMTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstbGluZS1oZWlnaHQ6ICRjb21wb25lbnQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7IC8vIChDKVxuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiByZ2JhKCRwcmltYXJ5LCAwLjEpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6IDAuNDgzcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAxcmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogJHRleHQtbGlnaHRlciAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuXG4vLyAqIFBhZ2luYXRpb25cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJHBhZ2luYXRpb24tcGFkZGluZy15OiAwLjQ2OXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogMC4zMTI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAwLjM0NHJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogMC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogMC42NTdyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6IDAuNXJlbSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6IDEgIWRlZmF1bHQ7IC8vIChjKVxuXG4kcGFnaW5hdGlvbi1jb2xvcjogJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogNTAlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbWFyZ2luLXN0YXJ0OiAkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICR0ZXh0LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWNvbG9yOiAkcGFnaW5hdGlvbi1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLWJnOiByZ2JhLXRvLWhleChyZ2JhKCRibGFjaywgMC4wNSksICRyZ2JhLXRvLWhleC1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogJHBhZ2luYXRpb24tY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogJHBhZ2luYXRpb24tZm9jdXMtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogJHByaW1hcnkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAkcGFnaW5hdGlvbi1mb2N1cy1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1zbTogJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGc6ICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbi8vICogQ2FyZHNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJGNhcmQtc3BhY2VyLXk6ICRzcGFjZXIgKiAxLjM3NSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci14OiAkc3BhY2VyICogMS4yNSAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLXNwYWNlci15OiAkc3BhY2VyICogMC44NzUgIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteC1zbTogMXJlbSAhZGVmYXVsdDsgLy8gKEMpXG4kY2FyZC1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAwLjYyNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJveC1zaGFkb3c6IDAgMC4xMjVyZW0gMC42MjVyZW0gMCByZ2JhKCRibGFjaywgMC4yMikgIWRlZmF1bHQ7XG4kY2FyZC1pbm5lci1ib3JkZXItY29sb3I6ICRib3JkZXItaW5uZXItY29sb3IgIWRlZmF1bHQ7IC8vIChDKVxuJGNhcmQtY2FwLXBhZGRpbmcteTogMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGNhcmQtY2FwLWNvbG9yOiAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vICogQWNjb3JkaW9uXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiRhY2NvcmRpb24tcGFkZGluZy15OiAwLjg0NXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tcGFkZGluZy14OiAxLjI1cmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbi1jb2xvcjogJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJnOiAkY2FyZC1iZyAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLXdpZHRoOiAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib3JkZXItY29sb3I6ICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLWNvbG9yOiAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRyYW5zaXRpb246IDAuM3MgYWxsIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSkgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtYmc6ICRhY2NvcmRpb24tYmcgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtY29sb3I6ICRhY2NvcmRpb24tYnV0dG9uLWNvbG9yICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3JkZXItY29sb3I6ICRhY2NvcmRpb24tYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1pY29uLXdpZHRoOiAxLjRyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tY29sb3I6ICRhY2NvcmRpb24tYnV0dG9uLWNvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLWFjdGl2ZS1jb2xvcjogJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1pY29uOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgIGZpbGw9JyN7JGFjY29yZGlvbi1pY29uLWNvbG9yfScgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3RpdGxlJTNFY2hldnJvbi1kb3duJTNDL3RpdGxlJTNFJTNDcGF0aCBkPSdNNy40MSw4LjU4TDEyLDEzLjE3TDE2LjU5LDguNThMMTgsMTBMMTIsMTZMNiwxMEw3LjQxLDguNThaJyAvJTNFJTNDL3N2ZyUzRVwiKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgIGZpbGw9JyN7JGFjY29yZGlvbi1pY29uLWFjdGl2ZS1jb2xvcn0nIHZpZXdCb3g9JzAgMCAyNCAyNCclM0UlM0N0aXRsZSUzRWNoZXZyb24tZG93biUzQy90aXRsZSUzRSUzQ3BhdGggZD0nTTcuNDEsOC41OEwxMiwxMy4xN0wxNi41OSw4LjU4TDE4LDEwTDEyLDE2TDYsMTBMNy40MSw4LjU4WicgLyUzRSUzQy9zdmclM0VcIikgIWRlZmF1bHQ7XG5cbi8vICogVG9vbHRpcHNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJHRvb2x0aXAtZm9udC1zaXplOiAkZm9udC1zaXplLXhzICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6IHJnYmEtdG8taGV4KCRncmF5LTkwMCwgJHJnYmEtdG8taGV4LWJnKSAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogMSAhZGVmYXVsdDtcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6IDAuMzc1cmVtICFkZWZhdWx0O1xuXG4vLyAqIFBvcG92ZXJzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiRwb3BvdmVyLWJnOiAkY2FyZC1iZyAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogMHB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogJGZsb2F0aW5nLWNvbXBvbmVudC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1iZzogJGNhcmQtYmcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICRzcGFjZXIgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAxLjEyNXJlbSAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogMS4xMjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogMS4xMjVyZW0gIWRlZmF1bHQ7XG5cbi8vICogVG9hc3RzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4kdG9hc3QtcGFkZGluZy15OiAwLjQwNnJlbSAhZGVmYXVsdDtcbiR0b2FzdC1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY2FyZC1iZywgMC44NSk7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAwcmVtICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1jb2xvcjogJGdyYXktMTAwICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjYXJkLWJnLCAwLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAkY2FyZC1pbm5lci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kdG9hc3QtYm94LXNoYWRvdzogMHB4IDRweCAyNHB4IC0ycHggcmdiYSgkYmxhY2ssIDAuNDIpICFkZWZhdWx0O1xuJHRvYXN0LXNwYWNpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vICogQmFkZ2VzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiRiYWRnZS1mb250LXNpemU6IDAuODVlbSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6IDAuMzVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6IDAuNTgzZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogMC4xODc1cmVtICFkZWZhdWx0O1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6IDAuNTgzZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAxMHJlbSAhZGVmYXVsdDtcblxuJGJhZGdlLWhlaWdodDogMS41cmVtICFkZWZhdWx0OyAvLyAoQylcbiRiYWRnZS13aWR0aDogMS41cmVtICFkZWZhdWx0OyAvLyAoQylcbiRiYWRnZS1jZW50ZXItZm9udC1zaXplOiAkZm9udC1zaXplLXNtICFkZWZhdWx0OyAvLyAoQylcblxuLy8gKiBNb2RhbHNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJG1vZGFsLWlubmVyLXBhZGRpbmc6IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogMC42MjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAwIDAgMS4yNXJlbSAwIHJnYmEoJGJsYWNrLCAwLjQpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6IDAuNSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1wYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteSAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteSAhZGVmYXVsdDsgLy8gKEMpXG5cbiRtb2RhbC1sZzogNTByZW0gIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6IDM1cmVtICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAyMi41cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtZmFkZS10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMHB4KSBzY2FsZSgwLjgpICFkZWZhdWx0O1xuJG1vZGFsLXNob3ctdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpICFkZWZhdWx0O1xuXG4kbW9kYWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXMgIWRlZmF1bHQ7IC8vIChDKVxuJG1vZGFsLXRyYW5zaXRpb246IHRyYW5zZm9ybSAkbW9kYWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLW91dCAhZGVmYXVsdDtcblxuJG1vZGFsLXNpbXBsZS1wYWRkaW5nOiAzcmVtICFkZWZhdWx0OyAvLyAoQylcbiRtb2RhbC1zaW1wbGUtY2xvc2UtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7IC8vIChDKVxuXG4vLyAqIEFsZXJ0c1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kYWxlcnQtcGFkZGluZy15OiAkc3BhY2VyIC0gMC4yMTlyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtYmctc2NhbGU6IC04OCUgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXNjYWxlOiAtODglICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yLXNjYWxlOiAxMCUgIWRlZmF1bHQ7XG5cbi8vICogUHJvZ3Jlc3MgYmFyc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAwLjc1cmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogMC42MjVyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmctc2NhbGU6IDg4JSAhZGVmYXVsdDsgLy8gKEMpXG4kcHJvZ3Jlc3MtYmc6IHNoaWZ0LWNvbG9yKCRwcmltYXJ5LCAkcHJvZ3Jlc3MtYmctc2NhbGUsICRyZ2JhLXRvLWhleC1iZykgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gICBncm91cFxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbGlzdC1ncm91cC12YXJpYWJsZXNcbiRsaXN0LWdyb3VwLWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogJHRleHQtbGlnaHRlciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAwLjczNXJlbSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAxcmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1iZy1zY2FsZTogLTg4JSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tY29sb3Itc2NhbGU6IDEwJSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tYmctaG92ZXItc2NhbGU6IDUlICFkZWZhdWx0OyAvLyAgKGMpXG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiByZ2JhLXRvLWhleChyZ2JhKCRibGFjaywgMC4wNSksICRyZ2JhLXRvLWhleC1iZykgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogcmdiYS10by1oZXgocmdiYSgkcHJpbWFyeSwgMC4wOCksICRyZ2JhLXRvLWhleC1iZykgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkbGlzdC1ncm91cC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogcmdiYS10by1oZXgocmdiYSgkcHJpbWFyeSwgMC4wOCksICRyZ2JhLXRvLWhleC1iZykgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1lbmQgbGlzdC1ncm91cC12YXJpYWJsZXNcblxuLy8gKiBJbWFnZSB0aHVtYm5haWxzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiR0aHVtYm5haWwtcGFkZGluZzogMCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6IDBweCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogMHB4ICFkZWZhdWx0O1xuXG4vLyAqIEZpZ3VyZXNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcblxuLy8gKiBCcmVhZGNydW1ic1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kYnJlYWRjcnVtYi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6IDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6IDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteDogMC41cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAnLycgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWZsaXBwZWQ6ICdcXFxcJyAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWNvbG9yOiAkYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yICFkZWZhdWx0OyAvLyAoQylcblxuLy8gU3Bpbm5lcnNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJHNwaW5uZXItd2lkdGgtbGc6IDNyZW0gIWRlZmF1bHQ7IC8vIChDKVxuJHNwaW5uZXItaGVpZ2h0LWxnOiAkc3Bpbm5lci13aWR0aC1sZyAhZGVmYXVsdDsgLy8gKEMpXG4kc3Bpbm5lci1ib3JkZXItd2lkdGgtbGc6IDAuM2VtICFkZWZhdWx0OyAvLyAoQylcblxuLy8gKiBDbG9zZVxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kYnRuLWNsb3NlLXdpZHRoOiAwLjY1cmVtICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWZvY3VzLW9wYWNpdHk6IDAuNzUgIWRlZmF1bHQ7XG5cbiRjbG9zZS1mb250LXdlaWdodDogMzAwICFkZWZhdWx0OyAvLyAoQylcblxuLy8gKiBPZmZjYW52YXNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG9mZmNhbnZhcy12YXJpYWJsZXNcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yNXMgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG9mZmNhbnZhcy12YXJpYWJsZXNcblxuLy8gVXRpbGl0aWVzXG4kb3ZlcmZsb3dzOiBhdXRvLCBoaWRkZW4sIHNjcm9sbCwgdmlzaWJsZSAhZGVmYXVsdDtcblxuLy8gQ29uZmlnXG4kcnRsLXN1cHBvcnQ6IGZhbHNlICFkZWZhdWx0O1xuJGRhcmstc3R5bGU6IGZhbHNlICFkZWZhdWx0O1xuIiwiLy8gQWxlcnRzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kOiBudWxsLCAkYm9yZGVyOiBudWxsLCAkY29sb3I6IG51bGwpIHtcbn1cblxuLy8gQmFzaWMgQWxlcnRzXG5AbWl4aW4gdGVtcGxhdGUtYWxlcnQtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCkge1xuICAkYm9yZGVyOiBpZihcbiAgICAkZGFyay1zdHlsZSxcbiAgICBzaGlmdC1jb2xvcigkYmFja2dyb3VuZCwgLSRhbGVydC1ib3JkZXItc2NhbGUsICRjYXJkLWJnKSxcbiAgICBzaGlmdC1jb2xvcigkYmFja2dyb3VuZCwgJGFsZXJ0LWJvcmRlci1zY2FsZSwgJGNhcmQtYmcpXG4gICk7XG4gICRjb2xvcjogaWYoJGRhcmstc3R5bGUsIHNoaWZ0LWNvbG9yKCRiYWNrZ3JvdW5kLCAtJGFsZXJ0LWNvbG9yLXNjYWxlKSwgc2hpZnQtY29sb3IoJGJhY2tncm91bmQsICRhbGVydC1jb2xvci1zY2FsZSkpO1xuICAkYmFja2dyb3VuZDogaWYoXG4gICAgJGRhcmstc3R5bGUsXG4gICAgc2hpZnQtY29sb3IoJGJhY2tncm91bmQsIC0kYWxlcnQtYmctc2NhbGUsICRjYXJkLWJnKSxcbiAgICBzaGlmdC1jb2xvcigkYmFja2dyb3VuZCwgJGFsZXJ0LWJnLXNjYWxlLCAkY2FyZC1iZylcbiAgKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgLmJ0bi1jbG9zZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkYnRuLWNsb3NlLWJnLCAnI3skYnRuLWNsb3NlLWNvbG9yfScsICRjb2xvciksICcjJywgJyUyMycpO1xuICAgIH1cblxuICAgIC5hbGVydC1saW5rIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmNhcmQge1xuICAgICN7JHBhcmVudH0ge1xuICAgICAgaHIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU29saWQgQWxlcnRzXG5AbWl4aW4gdGVtcGxhdGUtYWxlcnQtc29saWQtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKSk7XG5cbiAgI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAuYnRuLWNsb3NlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRidG4tY2xvc2UtYmcsICcjeyRidG4tY2xvc2UtY29sb3J9JywgJGNvbG9yKSwgJyMnLCAnJTIzJyk7XG4gICAgfVxuXG4gICAgLmFsZXJ0LWxpbmsge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cblxuICAuY2FyZCB7XG4gICAgI3skcGFyZW50fSB7XG4gICAgICBociB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPdXRsaW5lIEFsZXJ0c1xuQG1peGluIHRlbXBsYXRlLWFsZXJ0LW91dGxpbmUtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICRjb2xvcjogaWYoJGRhcmstc3R5bGUsIHNoaWZ0LWNvbG9yKCRiYWNrZ3JvdW5kLCAtJGFsZXJ0LWNvbG9yLXNjYWxlKSwgc2hpZnQtY29sb3IoJGJhY2tncm91bmQsICRhbGVydC1jb2xvci1zY2FsZSkpO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICAuYnRuLWNsb3NlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRidG4tY2xvc2UtYmcsICcjeyRidG4tY2xvc2UtY29sb3J9JywgJGJhY2tncm91bmQpLCAnIycsICclMjMnKTtcbiAgICB9XG5cbiAgICAuYWxlcnQtbGluayB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5jYXJkIHtcbiAgICAjeyRwYXJlbnR9IHtcbiAgICAgIGhyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBHcmFkaWVudHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYWRpZW50LWJnLW1peGluXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yOiBudWxsKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgZ3JhZGllbnQtYmctbWl4aW5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYWRpZW50LW1peGluc1xuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IG51bGwsICRlbmQtcGVyY2VudDogbnVsbCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBncmFkaWVudC1taXhpbnNcbiIsIi8vIEFjY29yZGlvblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4vLyBIZWFkZXIgdGV4dCBjb2xvciBhY2NvcmRpb25cbkBtaXhpbiB0ZW1wbGF0ZS1hY2NvcmRpb24taGVhZGVyLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQpIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgJiN7JHBhcmVudH0ge1xuICAgICAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gVG9vbHRpcHNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuQG1peGluIHRlbXBsYXRlLXRvb2x0aXAtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIC50b29sdGlwLWlubmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCBjb2xvci1jb250cmFzdCgkYmFja2dyb3VuZCkpO1xuICAgIH1cblxuICAgICYuYnMtdG9vbHRpcC1hdXRvIHtcbiAgICAgICZbZGF0YS1wb3BwZXItcGxhY2VtZW50PSd0b3AnXSAudG9vbHRpcC1hcnJvdzo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICB9XG5cbiAgICAgICZbZGF0YS1wb3BwZXItcGxhY2VtZW50PSdsZWZ0J10gLnRvb2x0aXAtYXJyb3c6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZbZGF0YS1wb3BwZXItcGxhY2VtZW50PSdib3R0b20nXSAudG9vbHRpcC1hcnJvdzo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICB9XG5cbiAgICAgICZbZGF0YS1wb3BwZXItcGxhY2VtZW50PSdyaWdodCddIC50b29sdGlwLWFycm93OjpiZWZvcmUge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gUG9wb3ZlcnNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuQG1peGluIHRlbXBsYXRlLXBvcG92ZXItdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKSk7XG5cbiAgI3skcGFyZW50fSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAgIC5wb3BvdmVyLWhlYWRlciB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoY29sb3ItY29udHJhc3QoJGJhY2tncm91bmQpLCAwLjIpO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cblxuICAgIC5wb3BvdmVyLWJvZHkge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogcmdiYSgkY29sb3IsIDAuOCk7XG4gICAgfVxuXG4gICAgPiAucG9wb3Zlci1hcnJvdzo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgICYuYnMtcG9wb3Zlci1hdXRvIHtcbiAgICAgICZbZGF0YS1wb3BwZXItcGxhY2VtZW50PSd0b3AnXSA+IC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICZbZGF0YS1wb3BwZXItcGxhY2VtZW50PSdyaWdodCddID4gLnBvcG92ZXItYXJyb3c6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZbZGF0YS1wb3BwZXItcGxhY2VtZW50PSdib3R0b20nXSA+IC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICZbZGF0YS1wb3BwZXItcGxhY2VtZW50PSdsZWZ0J10gPiAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnQ9J2JvdHRvbSddIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZXNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuQG1peGluIHRlbXBsYXRlLXRhYmxlLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRsYXlvdXQtY29sb3I6ICR3aGl0ZSkge1xuICAudGFibGUtI3skcGFyZW50fSB7XG4gICAgJGNvbG9yOiBjb2xvci1jb250cmFzdChvcGFxdWUoJGJvZHktYmcsICRiYWNrZ3JvdW5kKSk7XG4gICAgJGhvdmVyLWJnOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtaG92ZXItYmctZmFjdG9yKSk7XG4gICAgJHN0cmlwZWQtYmc6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1zdHJpcGVkLWJnLWZhY3RvcikpO1xuICAgICRhY3RpdmUtYmc6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1hY3RpdmUtYmctZmFjdG9yKSk7XG5cbiAgICAtLSN7JHZhcmlhYmxlLXByZWZpeH10YWJsZS1iZzogI3skYmFja2dyb3VuZH07XG4gICAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9dGFibGUtc3RyaXBlZC1iZzogI3skc3RyaXBlZC1iZ307XG4gICAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcjogI3tjb2xvci1jb250cmFzdCgkc3RyaXBlZC1iZyl9O1xuICAgIC0tI3skdmFyaWFibGUtcHJlZml4fXRhYmxlLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJnfTtcbiAgICAtLSN7JHZhcmlhYmxlLXByZWZpeH10YWJsZS1hY3RpdmUtY29sb3I6ICN7Y29sb3ItY29udHJhc3QoJGFjdGl2ZS1iZyl9O1xuICAgIC0tI3skdmFyaWFibGUtcHJlZml4fXRhYmxlLWhvdmVyLWJnOiAjeyRob3Zlci1iZ307XG4gICAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9dGFibGUtaG92ZXItY29sb3I6ICN7Y29sb3ItY29udHJhc3QoJGhvdmVyLWJnKX07XG5cbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLWJvcmRlci1mYWN0b3IpKTtcbiAgICAuYnRuLWljb24ge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbnNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLy8gQmFzaWNcbkBtaXhpbiBidXR0b24tdmFyaWFudChcbiAgJGJhY2tncm91bmQ6IG51bGwsXG4gICRib3JkZXI6IG51bGwsXG4gICRob3Zlci1iYWNrZ3JvdW5kOiBudWxsLFxuICAkaG92ZXItYm9yZGVyOiBudWxsLFxuICAkYWN0aXZlLWJhY2tncm91bmQ6IG51bGwsXG4gICRhY3RpdmUtYm9yZGVyOiBudWxsXG4pIHtcbn1cbkBtaXhpbiB0ZW1wbGF0ZS1idXR0b24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsLCAkYm9yZGVyOiBudWxsKSB7XG4gICRiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgJGJvcmRlcjogJGJhY2tncm91bmQ7XG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKSk7XG4gICRob3Zlci1iYWNrZ3JvdW5kOiBpZihcbiAgICAkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LFxuICAgIHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWhvdmVyLWJnLXNoYWRlLWFtb3VudCksXG4gICAgdGludC1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1ob3Zlci1iZy10aW50LWFtb3VudClcbiAgKTtcbiAgJGhvdmVyLWJvcmRlcjogaWYoXG4gICAgJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCxcbiAgICBzaGFkZS1jb2xvcigkYm9yZGVyLCAkYnRuLWhvdmVyLWJvcmRlci1zaGFkZS1hbW91bnQpLFxuICAgIHRpbnQtY29sb3IoJGJvcmRlciwgJGJ0bi1ob3Zlci1ib3JkZXItdGludC1hbW91bnQpXG4gICk7XG4gICRob3Zlci1jb2xvcjogY29sb3ItY29udHJhc3QoJGhvdmVyLWJhY2tncm91bmQpO1xuXG4gICRhY3RpdmUtYmFja2dyb3VuZDogaWYoXG4gICAgJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCxcbiAgICBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1hY3RpdmUtYmctc2hhZGUtYW1vdW50KSxcbiAgICB0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWFjdGl2ZS1iZy10aW50LWFtb3VudClcbiAgKTtcbiAgJGFjdGl2ZS1ib3JkZXI6IGlmKFxuICAgICRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsXG4gICAgc2hhZGUtY29sb3IoJGJvcmRlciwgJGJ0bi1hY3RpdmUtYm9yZGVyLXNoYWRlLWFtb3VudCksXG4gICAgdGludC1jb2xvcigkYm9yZGVyLCAkYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQpXG4gICk7XG4gICRhY3RpdmUtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRhY3RpdmUtYmFja2dyb3VuZCk7XG5cbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkaG92ZXItY29sb3IgIWltcG9ydGFudDtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmJ0bi1jaGVjazpmb2N1cyArICYsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkaG92ZXItY29sb3I7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIC5idG4tY2hlY2s6Y2hlY2tlZCArICYsXG4gICAgLmJ0bi1jaGVjazphY3RpdmUgKyAmLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlLFxuICAgICYuc2hvdy5kcm9wZG93bi10b2dnbGUsXG4gICAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICBjb2xvcjogJGFjdGl2ZS1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBub25lICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlciAhaW1wb3J0YW50O1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBCdXR0b24gZ3JvdXBzXG4gIC5idG4tZ3JvdXAgI3skcGFyZW50fSxcbiAgLmlucHV0LWdyb3VwICN7JHBhcmVudH0ge1xuICAgIGJvcmRlci1yaWdodDogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1sZWZ0OiAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCBzb2xpZCAkYWN0aXZlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIHRlbXBsYXRlLWJ1dHRvbi10ZXh0LXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCwgJGJvcmRlcjogbnVsbCkge1xuICAkYm9yZGVyOiB0cmFuc3BhcmVudDtcblxuICAkbGFiZWwtY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCAkYmFja2dyb3VuZCk7XG5cbiAgJGhvdmVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgJGhvdmVyLWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAkaG92ZXItYmFja2dyb3VuZDogaWYoXG4gICAgJGhvdmVyLWNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCxcbiAgICBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi10ZXh0LWhvdmVyLXNoYWRlLWFtb3VudCwgJGNhcmQtYmcpLFxuICAgIHRpbnQtY29sb3IoJGJhY2tncm91bmQsICRidG4tdGV4dC1ob3Zlci10aW50LWFtb3VudCwgJGNhcmQtYmcpXG4gICk7XG5cbiAgJGZvY3VzLWJhY2tncm91bmQ6IGlmKFxuICAgICRob3Zlci1jb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsXG4gICAgc2hhZGUtY29sb3IoJGJhY2tncm91bmQsICRidG4tdGV4dC1mb2N1cy1zaGFkZS1hbW91bnQsICRjYXJkLWJnKSxcbiAgICB0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLXRleHQtZm9jdXMtdGludC1hbW91bnQsICRjYXJkLWJnKVxuICApO1xuXG4gICRhY3RpdmUtY29sb3I6ICRob3Zlci1jb2xvcjtcbiAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBpZihcbiAgICAkYWN0aXZlLWNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCxcbiAgICBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi10ZXh0LWFjdGl2ZS1zaGFkZS1hbW91bnQsICRjYXJkLWJnKSxcbiAgICB0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLXRleHQtYWN0aXZlLXRpbnQtYW1vdW50LCAkY2FyZC1iZylcbiAgKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuICAgICYud2F2ZXMtZWZmZWN0IHtcbiAgICAgIC53YXZlcy1yaXBwbGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoXG4gICAgICAgICAgcmdiYSgkYmFja2dyb3VuZCwgMC4yKSAwLFxuICAgICAgICAgIHJnYmEoJGJhY2tncm91bmQsIDAuMykgNDAlLFxuICAgICAgICAgIHJnYmEoJGJhY2tncm91bmQsIDAuNCkgNTAlLFxuICAgICAgICAgIHJnYmEoJGJhY2tncm91bmQsIDAuNSkgNjAlLFxuICAgICAgICAgIHJnYmEoJHdoaXRlLCAwKSA3MCVcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAgIGJhY2tncm91bmQ6ICRob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgY29sb3I6ICRob3Zlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgY29sb3I6ICRob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQ6ICRmb2N1cy1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlLFxuICAgICYuc2hvdy5kcm9wZG93bi10b2dnbGUsXG4gICAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICBjb2xvcjogJGFjdGl2ZS1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogJGFjdGl2ZS1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBub25lICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIExhYmVsXG5AbWl4aW4gYnV0dG9uLWxhYmVsLXZhcmlhbnQoJGJhY2tncm91bmQ6IG51bGwsICRib3JkZXI6IG51bGwsICRhY3RpdmUtYmFja2dyb3VuZDogbnVsbCwgJGFjdGl2ZS1ib3JkZXI6IG51bGwpIHtcbn1cblxuQG1peGluIHRlbXBsYXRlLWJ1dHRvbi1sYWJlbC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwsICRib3JkZXI6IG51bGwpIHtcbiAgLy8gVXNpbmcgdGhlICRkYXJrLXN0eWxlIHZhcmlhYmxlIGZvciBjb25kaXRpb24gYXMgaW4gbGFiZWwgc3R5bGUgdGV4dCBjb2xvciBjYW4ndCBjb21wYXJlIHdpdGggJGNvbG9yLWNvbnRyYXN0LWxpZ2h0L2RhcmtcbiAgJGJvcmRlcjogdHJhbnNwYXJlbnQ7XG5cbiAgJGxhYmVsLWNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgJGJhY2tncm91bmQpO1xuICAkaG92ZXItY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCBjb2xvci1jb250cmFzdCgkYmFja2dyb3VuZCkpO1xuXG4gICRsYWJlbC1iYWNrZ3JvdW5kOiBpZihcbiAgICAkaG92ZXItY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LFxuICAgIHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWxhYmVsLWJnLXNoYWRlLWFtb3VudCwgJGNhcmQtYmcpLFxuICAgIHRpbnQtY29sb3IoJGJhY2tncm91bmQsICRidG4tbGFiZWwtYmctdGludC1hbW91bnQsICRjYXJkLWJnKVxuICApO1xuXG4gICRob3Zlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICRob3Zlci1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgJGhvdmVyLWJhY2tncm91bmQ6IGlmKFxuICAgICRob3Zlci1jb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsXG4gICAgc2hhZGUtY29sb3IoJGJhY2tncm91bmQsICRidG4tbGFiZWwtaG92ZXItc2hhZGUtYW1vdW50LCAkY2FyZC1iZyksXG4gICAgdGludC1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1sYWJlbC1ob3Zlci10aW50LWFtb3VudCwgJGNhcmQtYmcpXG4gICk7XG5cbiAgJGZvY3VzLWJhY2tncm91bmQ6IGlmKFxuICAgICRob3Zlci1jb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsXG4gICAgc2hhZGUtY29sb3IoJGJhY2tncm91bmQsICRidG4tbGFiZWwtZm9jdXMtc2hhZGUtYW1vdW50LCAkY2FyZC1iZyksXG4gICAgdGludC1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1sYWJlbC1mb2N1cy10aW50LWFtb3VudCwgJGNhcmQtYmcpXG4gICk7XG5cbiAgJGFjdGl2ZS1jb2xvcjogJGhvdmVyLWNvbG9yO1xuICAkYWN0aXZlLWJhY2tncm91bmQ6IGlmKFxuICAgICRhY3RpdmUtY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LFxuICAgIHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWxhYmVsLWFjdGl2ZS1zaGFkZS1hbW91bnQsICRjYXJkLWJnKSxcbiAgICB0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWxhYmVsLWFjdGl2ZS10aW50LWFtb3VudCwgJGNhcmQtYmcpXG4gICk7XG5cbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgICYud2F2ZXMtZWZmZWN0IHtcbiAgICAgIC53YXZlcy1yaXBwbGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoXG4gICAgICAgICAgcmdiYSgkYmFja2dyb3VuZCwgMC4yKSAwLFxuICAgICAgICAgIHJnYmEoJGJhY2tncm91bmQsIDAuMykgNDAlLFxuICAgICAgICAgIHJnYmEoJGJhY2tncm91bmQsIDAuNCkgNTAlLFxuICAgICAgICAgIHJnYmEoJGJhY2tncm91bmQsIDAuNSkgNjAlLFxuICAgICAgICAgIHJnYmEoJHdoaXRlLCAwKSA3MCVcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQ6ICRob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJGhvdmVyLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kOiAkZm9jdXMtYmFja2dyb3VuZDtcbiAgICAgIGJvcmRlci1jb2xvcjogJGZvY3VzLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUsXG4gICAgJi5zaG93LmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgIGNvbG9yOiAkYWN0aXZlLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIG5vbmUgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJ1dHRvbiBncm91cHNcbiAgLmJ0bi1ncm91cCAjeyRwYXJlbnR9LFxuICAuaW5wdXQtZ3JvdXAgI3skcGFyZW50fSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCBzb2xpZCAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWxlZnQ6ICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoIHNvbGlkICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgfVxufVxuXG4vLyBPdXRsaW5lXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3I6IG51bGwsICRjb2xvci1ob3ZlcjogbnVsbCwgJGhvdmVyLWNvbG9yOiBudWxsKSB7XG59XG5cbkBtaXhpbiB0ZW1wbGF0ZS1idXR0b24tb3V0bGluZS12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGhvdmVyLWNvbG9yOiBudWxsKSB7XG4gICRjb2xvcjogJGNvbG9yO1xuICAkY29sb3ItaG92ZXI6ICRjb2xvcjtcblxuICAkYm9yZGVyLWNvbG9yOiBpZihcbiAgICAkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LFxuICAgIHNoYWRlLWNvbG9yKCRjb2xvciwgJGJ0bi1vdXRsaW5lLWJvcmRlci1zaGFkZS1hbW91bnQsICRjYXJkLWJnKSxcbiAgICB0aW50LWNvbG9yKCRjb2xvciwgJGJ0bi1vdXRsaW5lLWJvcmRlci10aW50LWFtb3VudCwgJGNhcmQtYmcpXG4gICk7XG5cbiAgJGhvdmVyLWJhY2tncm91bmQ6IGlmKFxuICAgICRjb2xvci1ob3ZlciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsXG4gICAgc2hhZGUtY29sb3IoJGNvbG9yLCAkYnRuLW91dGxpbmUtaG92ZXItYmctc2hhZGUtYW1vdW50LCAkY2FyZC1iZyksXG4gICAgdGludC1jb2xvcigkY29sb3IsICRidG4tb3V0bGluZS1ob3Zlci1iZy10aW50LWFtb3VudCwgJGNhcmQtYmcpXG4gICk7XG5cbiAgJGZvY3VzLWJhY2tncm91bmQ6IGlmKFxuICAgICRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsXG4gICAgc2hhZGUtY29sb3IoJGNvbG9yLCAkYnRuLW91dGxpbmUtZm9jdXMtYmctc2hhZGUtYW1vdW50LCAkY2FyZC1iZyksXG4gICAgdGludC1jb2xvcigkY29sb3IsICRidG4tb3V0bGluZS1mb2N1cy1iZy10aW50LWFtb3VudCwgJGNhcmQtYmcpXG4gICk7XG4gICRhY3RpdmUtYmFja2dyb3VuZDogaWYoXG4gICAgJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCxcbiAgICBzaGFkZS1jb2xvcigkY29sb3IsICRidG4tb3V0bGluZS1hY3RpdmUtYmctc2hhZGUtYW1vdW50LCAkY2FyZC1iZyksXG4gICAgdGludC1jb2xvcigkY29sb3IsICRidG4tb3V0bGluZS1hY3RpdmUtYmctdGludC1hbW91bnQsICRjYXJkLWJnKVxuICApO1xuICAkYWN0aXZlLWJvcmRlcjogJGJvcmRlci1jb2xvcjtcbiAgJGFjdGl2ZS1jb2xvcjogJGNvbG9yO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICYud2F2ZXMtZWZmZWN0IHtcbiAgICAgIC53YXZlcy1yaXBwbGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoXG4gICAgICAgICAgcmdiYSgkY29sb3IsIDAuMikgMCxcbiAgICAgICAgICByZ2JhKCRjb2xvciwgMC4zKSA0MCUsXG4gICAgICAgICAgcmdiYSgkY29sb3IsIDAuNCkgNTAlLFxuICAgICAgICAgIHJnYmEoJGNvbG9yLCAwLjUpIDYwJSxcbiAgICAgICAgICByZ2JhKCR3aGl0ZSwgMCkgNzAlXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGNvbG9yLWhvdmVyICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmJ0bi1jaGVjazpmb2N1cyArICYsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvY3VzLWJhY2tncm91bmQ7XG4gICAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICAgIH1cblxuICAgIC5idG4tY2hlY2s6Y2hlY2tlZCArICYsXG4gICAgLmJ0bi1jaGVjazphY3RpdmUgKyAmLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlLFxuICAgICYuZHJvcGRvd24tdG9nZ2xlLnNob3cge1xuICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3IgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlciAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICN7JHBhcmVudH0gLmJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRjb2xvcik7XG4gIH1cblxuICAjeyRwYXJlbnR9OmhvdmVyIC5iYWRnZSxcbiAgI3skcGFyZW50fTpmb2N1czpob3ZlciAuYmFkZ2UsXG4gICN7JHBhcmVudH06YWN0aXZlIC5iYWRnZSxcbiAgI3skcGFyZW50fS5hY3RpdmUgLmJhZGdlLFxuICAuc2hvdyA+ICN7JHBhcmVudH0uZHJvcGRvd24tdG9nZ2xlIC5iYWRnZSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiBjb2xvci1jb250cmFzdCgkY29sb3ItaG92ZXIpO1xuICB9XG59XG4iLCIvLyAqIERyb3Bkb3duc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5AbWl4aW4gdGVtcGxhdGUtZHJvcGRvd24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICN7JHBhcmVudH0gLmRyb3Bkb3duLWl0ZW0ge1xuICAgICYud2F2ZXMtZWZmZWN0IHtcbiAgICAgIC53YXZlcy1yaXBwbGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoXG4gICAgICAgICAgcmdiYSgkY29sb3IsIDAuMikgMCxcbiAgICAgICAgICByZ2JhKCRjb2xvciwgMC4zKSA0MCUsXG4gICAgICAgICAgcmdiYSgkY29sb3IsIDAuNCkgNTAlLFxuICAgICAgICAgIHJnYmEoJGNvbG9yLCAwLjUpIDYwJSxcbiAgICAgICAgICByZ2JhKCR3aGl0ZSwgMCkgNzAlXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAgICY6bm90KC5kaXNhYmxlZCk6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCBjb2xvci1jb250cmFzdCgkYmFja2dyb3VuZCkpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgI3skcGFyZW50fS5kcm9wZG93bi1tZW51ID4gbGk6bm90KC5kaXNhYmxlZCkgPiBhOm5vdCguZHJvcGRvd24taXRlbSk6YWN0aXZlLFxuICAjeyRwYXJlbnR9LmRyb3Bkb3duLW1lbnUgPiBsaS5hY3RpdmU6bm90KC5kaXNhYmxlZCkgPiBhOm5vdCguZHJvcGRvd24taXRlbSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgY29sb3ItY29udHJhc3QoJGJhY2tncm91bmQpKSAhaW1wb3J0YW50O1xuICAgICYuYnRuIHtcbiAgICAgIGNvbG9yOiBjb2xvci1jb250cmFzdCgkYmFja2dyb3VuZCkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRlbXBsYXRlLWRyb3Bkb3duLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgQGluY2x1ZGUgdGVtcGxhdGUtZHJvcGRvd24tdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XG59XG4iLCIvLyBUaGVtZSBtaXhpblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5AbWl4aW4gdGVtcGxhdGUtY29tbW9uLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgQGluY2x1ZGUgdGV4dC12YXJpYW50KCcudGV4dC1wcmltYXJ5JywgJGJhY2tncm91bmQpO1xuICBAaW5jbHVkZSBiZy12YXJpYW50KCcuYmctcHJpbWFyeScsICRiYWNrZ3JvdW5kKTtcbiAgQGluY2x1ZGUgYmctbGFiZWwtdmFyaWFudCgnLmJnLWxhYmVsLXByaW1hcnknLCAkYmFja2dyb3VuZCk7XG4gIEBpbmNsdWRlIHRlbXBsYXRlLXBhZ2luYXRpb24tdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XG4gIEBpbmNsdWRlIHRlbXBsYXRlLXBhZ2luYXRpb24tb3V0bGluZS12YXJpYW50KCcucGFnaW5hdGlvbi1vdXRsaW5lLXByaW1hcnknLCAkYmFja2dyb3VuZCk7XG4gIEBpbmNsdWRlIHRlbXBsYXRlLW1vZGFsLW9uYm9hcmRpbmctdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XG4gIEBpbmNsdWRlIHRlbXBsYXRlLWxpc3QtZ3JvdXAtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XG4gIEBpbmNsdWRlIHRlbXBsYXRlLWxpc3QtZ3JvdXAtdGltZWxpbmUtdmFyaWFudCgnLmxpc3QtZ3JvdXAtdGltZWxpbmUtcHJpbWFyeScsICRiYWNrZ3JvdW5kKTtcbiAgQGluY2x1ZGUgdGVtcGxhdGUtYWxlcnQtdmFyaWFudCgnLmFsZXJ0LXByaW1hcnknLCAkYmFja2dyb3VuZCk7XG4gIEBpbmNsdWRlIHRlbXBsYXRlLWFsZXJ0LW91dGxpbmUtdmFyaWFudCgnLmFsZXJ0LW91dGxpbmUtcHJpbWFyeScsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xuICBAaW5jbHVkZSB0ZW1wbGF0ZS1hbGVydC1zb2xpZC12YXJpYW50KCcuYWxlcnQtc29saWQtcHJpbWFyeScsICRiYWNrZ3JvdW5kLCAkY29sb3IpO1xuICBAaW5jbHVkZSB0ZW1wbGF0ZS1hY2NvcmRpb24taGVhZGVyLXZhcmlhbnQoJy5hY2NvcmRpb24taGVhZGVyLXByaW1hcnknLCAkYmFja2dyb3VuZCk7XG4gIEBpbmNsdWRlIHRlbXBsYXRlLXRvb2x0aXAtdmFyaWFudCgnLnRvb2x0aXAtcHJpbWFyeSwgLnRvb2x0aXAtcHJpbWFyeSA+IC50b29sdGlwJywgJGJhY2tncm91bmQsICRjb2xvcik7XG4gIEBpbmNsdWRlIHRlbXBsYXRlLXBvcG92ZXItdmFyaWFudCgnLnBvcG92ZXItcHJpbWFyeSwgLnBvcG92ZXItcHJpbWFyeSA+IC5wb3BvdmVyJywgJGJhY2tncm91bmQsICRjb2xvcik7XG5cbiAgLy8gTmVlZCB0byBhZGQgc2hpZnQtY29sb3IgYXMgQlM1IHVwZGF0ZWQgd2l0aCB0YWJsZSB2YXJpYW50IGNvbG9ycyBsaWtlIHRoaXNcblxuICBAaW5jbHVkZSB0ZW1wbGF0ZS10YWJsZS12YXJpYW50KCdwcmltYXJ5Jywgc2hpZnQtY29sb3IoJGJhY2tncm91bmQsICR0YWJsZS1iZy1zY2FsZSkpO1xuICBAaW5jbHVkZSB0ZW1wbGF0ZS1idXR0b24tdmFyaWFudCgnLmJ0bi1wcmltYXJ5JywgJGJhY2tncm91bmQsICRjb2xvcik7XG4gIEBpbmNsdWRlIHRlbXBsYXRlLWJ1dHRvbi1sYWJlbC12YXJpYW50KCcuYnRuLWxhYmVsLXByaW1hcnknLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcbiAgQGluY2x1ZGUgdGVtcGxhdGUtYnV0dG9uLXRleHQtdmFyaWFudCgnLmJ0bi10ZXh0LXByaW1hcnknLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcbiAgQGluY2x1ZGUgdGVtcGxhdGUtYnV0dG9uLW91dGxpbmUtdmFyaWFudCgnLmJ0bi1vdXRsaW5lLXByaW1hcnknLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcbiAgQGluY2x1ZGUgdGVtcGxhdGUtZHJvcGRvd24tdGhlbWUocmdiYSgkYmFja2dyb3VuZCwgMC4xKSwgJGJhY2tncm91bmQpO1xuICBAaW5jbHVkZSB0ZW1wbGF0ZS1uYXYtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XG4gIEBpbmNsdWRlIHRlbXBsYXRlLWZvcm0tY29udHJvbC10aGVtZSgkYmFja2dyb3VuZCk7XG4gIEBpbmNsdWRlIHRlbXBsYXRlLWZvcm0tY2hlY2stdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcik7XG4gIEBpbmNsdWRlIHRlbXBsYXRlLWZvcm0tc3dpdGNoLXRoZW1lKCRiYWNrZ3JvdW5kKTtcbiAgQGluY2x1ZGUgdGVtcGxhdGUtZmlsZS1pbnB1dC10aGVtZSgkYmFja2dyb3VuZCk7XG5cbiAgQGluY2x1ZGUgdGVtcGxhdGUtbWF0ZXJpYWwtZm9ybS1yYW5nZS12YXJpYW50KCcnLCAkYmFja2dyb3VuZCk7XG4gIEBpbmNsdWRlIHRlbXBsYXRlLW1hdGVyaWFsLXN3aXRjaC12YXJpYW50KCcnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTsgLy8gRm9yIGRlZmF1bHQgc3dpdGNoXG4gIEBpbmNsdWRlIHRlbXBsYXRlLW1hdGVyaWFsLXN3aXRjaC12YXJpYW50KCcuc3dpdGNoLXByaW1hcnknLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcblxuICBAaW5jbHVkZSB0ZW1wbGF0ZS10aW1lbGluZS1wb2ludC12YXJpYW50KCcudGltZWxpbmUtcG9pbnQtcHJpbWFyeScsICRiYWNrZ3JvdW5kKTtcbiAgQGluY2x1ZGUgdGVtcGxhdGUtdGltZWxpbmUtaW5kaWNhdG9yLXZhcmlhbnQoJy50aW1lbGluZS1pbmRpY2F0b3ItcHJpbWFyeScsICRiYWNrZ3JvdW5kKTtcbiAgQGluY2x1ZGUgdGVtcGxhdGUtdGV4dC1kaXZpZGVyLXZhcmlhbnQoJy5kaXZpZGVyLXByaW1hcnknLCAkYmFja2dyb3VuZCk7XG5cbiAgQGluY2x1ZGUgdGVtcGxhdGUtbmF2YmFyLXN0eWxlKCcubmF2YmFyLmJnLXByaW1hcnknLCAkcHJpbWFyeS1jb2xvcik7XG4gIEBpbmNsdWRlIHRlbXBsYXRlLW1lbnUtc3R5bGUoJy5tZW51LmJnLXByaW1hcnknLCAkcHJpbWFyeS1jb2xvcik7XG4gIEBpbmNsdWRlIHRlbXBsYXRlLWZvb3Rlci1zdHlsZSgnLmZvb3Rlci5iZy1wcmltYXJ5JywgJHByaW1hcnktY29sb3IpO1xuICBAaW5jbHVkZSB0ZW1wbGF0ZS1mbG9hdC1sYWJlbC10aGVtZSgkcHJpbWFyeS1jb2xvcik7XG4gIEBpbmNsdWRlIHRlbXBsYXRlLXN2Zy1jb2xvcigkcHJpbWFyeS1jb2xvcik7XG4gIEBpbmNsdWRlIHRlbXBsYXRlLXRyZWV2aWV3LWNsaWNrZWQtYmcoJHByaW1hcnktY29sb3IpO1xuXG4gIGh0bWw6bm90KFtkaXI9J3J0bCddKSAuYm9yZGVyLXByaW1hcnksXG4gIGh0bWxbZGlyPSdydGwnXSAuYm9yZGVyLXByaW1hcnkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgfVxuICBhIHtcbiAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogdGludC1jb2xvcigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICB9XG4gIH1cbiAgLmZpbGwtcHJpbWFyeSB7XG4gICAgZmlsbDogJGJhY2tncm91bmQ7XG4gIH1cbn1cbiIsIi8vIE5hdnNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuQG1peGluIHRlbXBsYXRlLW5hdi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCkge1xuICA+IC5uYXYgLm5hdi1saW5rLFxuICAmLm5hdiAubmF2LWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxufVxuXG5AbWl4aW4gdGVtcGxhdGUtbmF2LXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICAvLyAubmF2LWxpbmsgY2xhc3MgaG92ZXIgdGhlbWUgY29sb3IgZm9yIGJhc2ljIG5hdlxuICAubmF2IC5uYXYtbGluayB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBzaGlmdC1jb2xvcigkYmFja2dyb3VuZCwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSk7XG4gICAgfVxuICB9XG5cbiAgJHBpbGxzLXNlbGVjdG9yOiBpZigkcGFyZW50PT0gJycsICcubmF2LXBpbGxzJywgJyN7JHBhcmVudH0ubmF2LXBpbGxzLCAjeyRwYXJlbnR9ID4gLm5hdi1waWxscycpO1xuXG4gICN7JHBpbGxzLXNlbGVjdG9yfSAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgIGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgY29sb3ItY29udHJhc3QoJGJhY2tncm91bmQpKTtcbiAgICB9XG4gIH1cblxuICAjeyRwYXJlbnR9Lm5hdi10YWJzIHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgJi5hY3RpdmUge1xuICAgICAgICAmLFxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYud2F2ZXMtZWZmZWN0IHtcbiAgICAgICAgLndhdmVzLXJpcHBsZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KFxuICAgICAgICAgICAgcmdiYSgkYmFja2dyb3VuZCwgMC4yKSAwLFxuICAgICAgICAgICAgcmdiYSgkYmFja2dyb3VuZCwgMC4zKSA0MCUsXG4gICAgICAgICAgICByZ2JhKCRiYWNrZ3JvdW5kLCAwLjQpIDUwJSxcbiAgICAgICAgICAgIHJnYmEoJGJhY2tncm91bmQsIDAuNSkgNjAlLFxuICAgICAgICAgICAgcmdiYSgkd2hpdGUsIDApIDcwJVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnRhYi1zbGlkZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0ZW1wbGF0ZS1uYXYtdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICBAaW5jbHVkZSB0ZW1wbGF0ZS1uYXYtdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XG59XG4iLCIvLyAqIEZvcm0gY29udHJvbHNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLy8gRm9ybSBjb250cm9sXG5AbWl4aW4gdGVtcGxhdGUtZm9ybS1jb250cm9sLXRoZW1lKCRjb2xvcikge1xuICAuZm9ybS1jb250cm9sOmZvY3VzLFxuICAuZm9ybS1zZWxlY3Q6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIC5mb3JtLWZsb2F0aW5nLW91dGxpbmUgJiB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBVc2luZyA6Zm9jdXMtd2l0aGluIHRvIGFwcGx5IGZvY3VzIGJvcmRlciBjb2xvciB0byBkZWZhdWx0IGFuZCBtZXJnZWQgaW5wdXQtZ3JvdXBcbiAgLmlucHV0LWdyb3VwOm5vdCguaW5wdXQtZ3JvdXAtZmxvYXRpbmcpIHtcbiAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAuZm9ybS1jb250cm9sLFxuICAgICAgLmlucHV0LWdyb3VwLXRleHQge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmxvYXQgbGFiZWxzXG5AbWl4aW4gdGVtcGxhdGUtZmxvYXQtbGFiZWwtdGhlbWUoJGNvbG9yKSB7XG4gIC5mb3JtLWZsb2F0aW5nIHtcbiAgICA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gICAgPiAuZm9ybS1jb250cm9sOmZvY3VzOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pLFxuICAgID4gLmZvcm0tc2VsZWN0OmZvY3VzLFxuICAgID4gLmZvcm0tc2VsZWN0OmZvY3VzOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pIHtcbiAgICAgIH4gbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBGbG9hdGluZyBsYWJlbCAoRmlsbGVkKSBib3JkZXIgYm90dG9tIHRoZW1lIGNvbG9yXG4gIC5mb3JtLWZsb2F0aW5nLWZvY3VzZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC5mb3JtLWZsb2F0aW5nLW91dGxpbmUge1xuICAgIDpub3Qoc2VsZWN0KTpmb2N1cyArIHtcbiAgICAgIGxhYmVsLFxuICAgICAgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICAgIGxhYmVsLFxuICAgID4gc3BhbiB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIC8vIFNldCAkY2FyZC1iZyB0byBmbG9hdGluZyBsYWJlbCBiZyBsaW5lXG4gICAgICAgIGJhY2tncm91bmQ6ICRjYXJkLWJnO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vICFGSVg6IHVzaW5nIGZsb2F0aW5nIGlucHV0IGxhYmVsIHdpdGggYmctYm9keVxuICAgIGxhYmVsLmJnLWJvZHksXG4gICAgPiBzcGFuLmJnLWJvZHkge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAvLyBTZXQgJGNhcmQtYmcgdG8gZmxvYXRpbmcgbGFiZWwgYmcgbGluZVxuICAgICAgICBiYWNrZ3JvdW5kOiAkYm9keS1iZyAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGb3JtIFN3aXRjaFxuQG1peGluIHRlbXBsYXRlLWZvcm0tc3dpdGNoLXRoZW1lKCRiYWNrZ3JvdW5kKSB7XG4gICRmb2N1cy1jb2xvcjogJGJhY2tncm91bmQ7XG4gICRmb2N1cy1iZy1pbWFnZTogc3RyLXJlcGxhY2UoXG4gICAgc3RyLXJlcGxhY2UoJGZvcm0tc3dpdGNoLWZvY3VzLWJnLWltYWdlLCAnI3skZm9ybS1zd2l0Y2gtZm9jdXMtY29sb3J9JywgJGZvY3VzLWNvbG9yKSxcbiAgICAnIycsXG4gICAgJyUyMydcbiAgKTtcblxuICAkY2hlY2tlZC1jb2xvcjogJGNvbXBvbmVudC1hY3RpdmUtY29sb3I7XG4gICRjaGVja2VkLWJnLWltYWdlOiBzdHItcmVwbGFjZShcbiAgICBzdHItcmVwbGFjZSgkZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1pbWFnZSwgJyN7JGZvcm0tc3dpdGNoLWNoZWNrZWQtY29sb3J9JywgJGNoZWNrZWQtY29sb3IpLFxuICAgICcjJyxcbiAgICAnJTIzJ1xuICApO1xuXG4gIC5mb3JtLXN3aXRjaCB7XG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGZvY3VzLWJnLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjaGVja2VkLWJnLWltYWdlKSwgdmFyKC0tI3skdmFyaWFibGUtcHJlZml4fWdyYWRpZW50KTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY2hlY2tlZC1iZy1pbWFnZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmlsZSBJbnB1dFxuQG1peGluIHRlbXBsYXRlLWZpbGUtaW5wdXQtdGhlbWUoJGNvbG9yKSB7XG4gIC5mb3JtLWNvbnRyb2w6Zm9jdXMgfiAuZm9ybS1sYWJlbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEZvcm0gcmFuZ2UgdmFyaWFudFxuQG1peGluIHRlbXBsYXRlLW1hdGVyaWFsLWZvcm0tcmFuZ2UtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCkge1xuICAjeyRwYXJlbnR9IC5mb3JtLXJhbmdlIHtcbiAgICAvLyBDaHJvbWUgc3BlY2lmaWNcbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCA4cHggcmdiYSgkYmFja2dyb3VuZCwgMC4xNSksICRmbG9hdGluZy1jb21wb25lbnQtc2hhZG93O1xuICAgICAgfVxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCByZ2JhKCRiYWNrZ3JvdW5kLCAwLjIpLCAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNb3ppbGxhIHNwZWNpZmljXG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCA4cHggcmdiYSgkYmFja2dyb3VuZCwgMC4xNSksICRmbG9hdGluZy1jb21wb25lbnQtc2hhZG93O1xuICAgICAgfVxuICAgICAgJjphY3RpdmUge1xuICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCByZ2JhKCRiYWNrZ3JvdW5kLCAwLjIpLCAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLyBGb3JtIENoZWNrXG5AbWl4aW4gdGVtcGxhdGUtbWF0ZXJpYWwtZm9ybS1jaGVjay12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgY29sb3ItY29udHJhc3QoJGJhY2tncm91bmQpKTtcbiAgJGZvY3VzLWJvcmRlcjogJGJhY2tncm91bmQ7XG4gICRmb2N1cy1jb2xvcjogMCAwICRpbnB1dC1idG4tZm9jdXMtYmx1ciAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsICRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eSk7XG5cbiAgI3skcGFyZW50fSAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRmb2N1cy1ib3JkZXI7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZm9jdXMtYm9yZGVyO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRiYWNrZ3JvdW5kLCAwLjEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Y2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJhY2tncm91bmQsIDAuMTUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZbdHlwZT0nY2hlY2tib3gnXTppbmRldGVybWluYXRlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBDdXN0b20gb3B0aW9uc1xuICAjeyRwYXJlbnR9LmN1c3RvbS1vcHRpb24ge1xuICAgICYuY2hlY2tlZCB7XG4gICAgICBib3JkZXI6ICRpbnB1dC1mb2N1cy1ib3JkZXItd2lkdGggc29saWQgJGJhY2tncm91bmQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0ZW1wbGF0ZS1mb3JtLWNoZWNrLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgQGluY2x1ZGUgdGVtcGxhdGUtbWF0ZXJpYWwtZm9ybS1jaGVjay12YXJpYW50KCcnLCAkYmFja2dyb3VuZCwgJGNvbG9yKTtcbn1cblxuLy8gRm9ybSBWYWxpZGF0aW9uXG5cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoXG4gICRzdGF0ZTogbnVsbCxcbiAgJGNvbG9yOiBudWxsLFxuICAkaWNvbjogbnVsbCxcbiAgJHRvb2x0aXAtY29sb3I6IG51bGwsXG4gICR0b29sdGlwLWJnLWNvbG9yOiBudWxsLFxuICAkZm9jdXMtYm94LXNoYWRvdzogbnVsbFxuKSB7XG59XG5cbkBtaXhpbiB0ZW1wbGF0ZS1mb3JtLXZhbGlkYXRpb24tc3RhdGUoXG4gICRzdGF0ZSxcbiAgJGNvbG9yLFxuICAkaWNvbixcbiAgJHRvb2x0aXAtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRjb2xvciksXG4gICR0b29sdGlwLWJnLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KSxcbiAgJGZvY3VzLWJveC1zaGFkb3c6IG5vbmVcbikge1xuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZSk7XG4gICAgZm9udC1zdHlsZTogJGZvcm0tZmVlZGJhY2stZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteSAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDtcbiAgICBtYXJnaW4tdG9wOiAwLjFyZW07XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmctY29sb3I7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIGJvcmRlci13aWR0aDogJGlucHV0LWZvY3VzLWJvcmRlci13aWR0aDtcbiAgICAgIH4gLmlucHV0LWdyb3VwLXRleHQge1xuICAgICAgICBib3JkZXItd2lkdGg6ICRpbnB1dC1mb2N1cy1ib3JkZXItd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIC5kYXJrLXN0eWxlICYge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkaWNvbik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjtcblxuICAgICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAkZm9jdXMtYm94LXNoYWRvdztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZUxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIGxlZnQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIGJvcmRlci13aWR0aDogJGlucHV0LWZvY3VzLWJvcmRlci13aWR0aDtcbiAgICAgIH4gLmlucHV0LWdyb3VwLXRleHQge1xuICAgICAgICBib3JkZXItd2lkdGg6ICRpbnB1dC1mb2N1cy1ib3JkZXItd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRmb3JtLXNlbGVjdC1iZy1zaXplLCAkZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplO1xuICAgICAgICBAaW5jbHVkZSBsdHItc3R5bGUge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGZvcm0tc2VsZWN0LWluZGljYXRvciksIGVzY2FwZS1zdmcoJGljb24pO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctZW5kO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRmb3JtLXNlbGVjdC1iZy1wb3NpdGlvbiwgJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb247XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcnRsKSwgZXNjYXBlLXN2ZygkaWNvbik7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLWVuZDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXggY2VudGVyLCBjZW50ZXIgbGVmdCAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7IC8vIFJUTFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogJGZvY3VzLWJveC1zaGFkb3c7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRmb2N1cy1ib3gtc2hhZG93O1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5mb3JtLWNoZWNrLWlubGluZSAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICAgIEBpbmNsdWRlIGx0ci1zdHlsZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBmbG9hdGluZyBsYWJlbCB2YWxpZGF0aW9uIGNvbG9yXG4gIC5mb3JtLWZsb2F0aW5nIHtcbiAgICA+IC5mb3JtLWNvbnRyb2wsXG4gICAgPiAuZm9ybS1zZWxlY3Qge1xuICAgICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgICB+IGxhYmVsIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gLmZvcm0tY29udHJvbDpmb2N1cyxcbiAgICA+IC5mb3JtLWNvbnRyb2w6Zm9jdXM6bm90KDpwbGFjZWhvbGRlci1zaG93biksXG4gICAgPiAuZm9ybS1zZWxlY3Q6Zm9jdXMsXG4gICAgPiAuZm9ybS1zZWxlY3Q6Zm9jdXM6bm90KDpwbGFjZWhvbGRlci1zaG93bikge1xuICAgICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfiBsYWJlbCB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE9uIHZhbGlkYXRpb24gLmlucHV0LWdyb3VwICYgLmlucHV0LWdyb3VwLW1lcmdlZCwgc2V0dXAgcHJvcGVyIGJvcmRlciBjb2xvciAmIGJveC1zaGFkb3dcbiAgLmlucHV0LWdyb3VwIHtcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgICAgfiAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgLy8gPyAuaW5wdXQtZ3JvdXAgaGFzIC5pbnB1dC1ncm91cC10ZXh0IGxhc3Qvc2libGluZ1xuICAgICAgICAgIH4gLmlucHV0LWdyb3VwLXRleHQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCxcbiAgLmlucHV0LWdyb3VwIC5mb3JtLXNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgei1pbmRleDogMztcbiAgICB9XG4gIH1cblxuICAvLyFGSVg6IElucHV0IGdyb3VwIGZvcm0gZmxvYXRpbmcgbGFiZWwgLmlucHV0LWdyb3VwLXRleHQgYm9yZGVyIGNvbG9yIG9uIHZhbGlkYXRpb24gc3RhdGVcbiAgLy8/IENhbid0IHVzZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IgbWl4aW4gZHVlIHRvIDpoYXMgc2VsZWN0b3JcbiAgLndhcy12YWxpZGF0ZWQgLmlucHV0LWdyb3VwOmhhcyguaW5wdXQtZ3JvdXAtdGV4dCk6aGFzKC5mb3JtLWNvbnRyb2w6aW52YWxpZCkgLmlucHV0LWdyb3VwLXRleHQsXG4gIC53YXMtdmFsaWRhdGVkIC5pbnB1dC1ncm91cDpoYXMoLmlucHV0LWdyb3VwLXRleHQpOmhhcyguZm9ybS1jb250cm9sOnZhbGlkKSAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwOmhhcyguaW5wdXQtZ3JvdXAtdGV4dCk6aGFzKC5mb3JtLWNvbnRyb2wuaXMtdmFsaWQpIC5pbnB1dC1ncm91cC10ZXh0LFxuICAuaW5wdXQtZ3JvdXA6aGFzKC5pbnB1dC1ncm91cC10ZXh0KTpoYXMoLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkKSAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gICAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtZm9jdXMtYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgQGlmICgkc3RhdGUgPT0gJ2ludmFsaWQnKSB7XG4gICAgLndhcy12YWxpZGF0ZWQgLmlucHV0LWdyb3VwOmhhcyguaW5wdXQtZ3JvdXAtdGV4dCk6aGFzKC5mb3JtLWNvbnRyb2w6aW52YWxpZCkgLmlucHV0LWdyb3VwLXRleHQsXG4gICAgLmlucHV0LWdyb3VwOmhhcyguaW5wdXQtZ3JvdXAtdGV4dCk6aGFzKC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZCkgLmlucHV0LWdyb3VwLXRleHQge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgfVxuICAgIC53YXMtdmFsaWRhdGVkIC5pbnB1dC1ncm91cDpoYXMoaW5wdXQ6aW52YWxpZCkge1xuICAgICAgLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgKCRzdGF0ZSA9PSAndmFsaWQnKSB7XG4gICAgLndhcy12YWxpZGF0ZWQgLmlucHV0LWdyb3VwOmhhcyguaW5wdXQtZ3JvdXAtdGV4dCk6aGFzKC5mb3JtLWNvbnRyb2w6dmFsaWQpIC5pbnB1dC1ncm91cC10ZXh0LFxuICAgIC5pbnB1dC1ncm91cDpoYXMoLmlucHV0LWdyb3VwLXRleHQpOmhhcyguZm9ybS1jb250cm9sLmlzLXZhbGlkKSAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gICAgLndhcy12YWxpZGF0ZWQgLmlucHV0LWdyb3VwOmhhcyhpbnB1dDp2YWxpZCkge1xuICAgICAgLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gKiBTd2l0Y2hlc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5AbWl4aW4gdGVtcGxhdGUtc3dpdGNoLXNpemUtYmFzZShcbiAgJHNpemUsXG4gICR3aWR0aCxcbiAgJGhlaWdodCxcbiAgJGZvbnQtc2l6ZSxcbiAgJGZvcm0tbGFiZWwtZm9udC1zaXplLFxuICAkbGFiZWwtbGluZS1oZWlnaHQsXG4gICRpbm5lci1zcGFjZXJcbikge1xuICBtaW4taGVpZ2h0OiAkaGVpZ2h0O1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGxhYmVsLWxpbmUtaGVpZ2h0O1xuXG4gICRkZWx0YTogcHgtdG8tcmVtKGNlaWwocmVtLXRvLXB4KCRoZWlnaHQgKiAwLjEyNSkpKTtcbiAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkOiAkZm9ybS1sYWJlbC1mb250LXNpemUgKiAkbGFiZWwtbGluZS1oZWlnaHQ7XG4gIC5zd2l0Y2gtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzd2l0Y2gtZ3V0dGVyO1xuICB9XG4gIC5zd2l0Y2gtaW5wdXQgfiAuc3dpdGNoLWxhYmVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICR3aWR0aCArICRzd2l0Y2gtZ3V0dGVyO1xuICB9XG5cbiAgLnN3aXRjaC10b2dnbGUtc2xpZGVyIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGhlaWdodDogJGhlaWdodCAtICgkZGVsdGEgKiAyKTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWlnaHQ7XG5cbiAgICBpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICAgICAgQGlmICgkc2l6ZT09ICdsZycpIHtcbiAgICAgICAgdG9wOiAtMnB4O1xuICAgICAgfSBAZWxzZSBpZiAoJHNpemU9PSAnc20nKSB7XG4gICAgICAgIHRvcDogLTJweDtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB0b3A6IC0xLjM1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgPiAkaGVpZ2h0KSB7XG4gICAgICB0b3A6ICgoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC0gJGhlaWdodCkgKiAwLjUpICsgJGRlbHRhO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdG9wOiAwICsgJGRlbHRhO1xuICAgIH1cbiAgfVxuXG4gIC5zd2l0Y2gtbGFiZWwge1xuICAgIEBpZiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIDwgJGhlaWdodCkge1xuICAgICAgdG9wOiAoJGhlaWdodCAtICRsaW5lLWhlaWdodC1jb21wdXRlZCkgKiAwLjU7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLnN3aXRjaC1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaC10b2dnbGUtc2xpZGVyOjphZnRlciB7XG4gICAgbGVmdDogJHdpZHRoIC0gJGhlaWdodDtcbiAgfVxuXG4gIC5zd2l0Y2gtdG9nZ2xlLXNsaWRlcjo6YWZ0ZXIge1xuICAgIHRvcDogJGRlbHRhICogLTE7XG4gICAgbWFyZ2luOiAkaW5uZXItc3BhY2VyIDAgMCAkaW5uZXItc3BhY2VyO1xuICAgIHdpZHRoOiBmbG9vcihyZW0tdG8tcHgoJGhlaWdodCAtICRpbm5lci1zcGFjZXIgKiAyKSk7XG4gICAgaGVpZ2h0OiBmbG9vcihyZW0tdG8tcHgoJGhlaWdodCAtICRpbm5lci1zcGFjZXIgKiAyKSk7XG4gIH1cblxuICAuc3dpdGNoLW9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRpbm5lci1zcGFjZXI7XG4gICAgcGFkZGluZy1yaWdodDogJGhlaWdodCAtICRpbm5lci1zcGFjZXI7XG4gIH1cblxuICAuc3dpdGNoLW9mZiB7XG4gICAgcGFkZGluZy1sZWZ0OiAkaGVpZ2h0IC0gJGlubmVyLXNwYWNlcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkaW5uZXItc3BhY2VyO1xuICB9XG5cbiAgLnN3aXRjaC1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaC10b2dnbGUtc2xpZGVyOjpiZWZvcmUge1xuICAgIGxlZnQ6ICR3aWR0aCAtICRoZWlnaHQ7XG4gIH1cblxuICAuc3dpdGNoLXRvZ2dsZS1zbGlkZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAkZGVsdGEgKiAtMTtcbiAgICB3aWR0aDogJGhlaWdodDtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH1cblxuICBAaWYgJHJ0bC1zdXBwb3J0IHtcbiAgICBbZGlyPSdydGwnXSAmIC5zd2l0Y2gtbGFiZWwge1xuICAgICAgcGFkZGluZy1yaWdodDogJHdpZHRoICsgJHN3aXRjaC1ndXR0ZXI7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgW2Rpcj0ncnRsJ10gJiAuc3dpdGNoLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXRvZ2dsZS1zbGlkZXI6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogJHdpZHRoIC0gJGhlaWdodDtcbiAgICB9XG5cbiAgICBbZGlyPSdydGwnXSAmIC5zd2l0Y2gtdG9nZ2xlLXNsaWRlcjo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRpbm5lci1zcGFjZXI7XG4gICAgfVxuXG4gICAgW2Rpcj0ncnRsJ10gJiAuc3dpdGNoLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXRvZ2dsZS1zbGlkZXI6OmJlZm9yZSB7XG4gICAgICByaWdodDogJHdpZHRoIC0gJGhlaWdodDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgW2Rpcj0ncnRsJ10gJiAuc3dpdGNoLW9uIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJGhlaWdodCAtICRpbm5lci1zcGFjZXI7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5uZXItc3BhY2VyO1xuICAgIH1cblxuICAgIFtkaXI9J3J0bCddICYgLnN3aXRjaC1vZmYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAkaW5uZXItc3BhY2VyO1xuICAgICAgcGFkZGluZy1yaWdodDogJGhlaWdodCAtICRpbm5lci1zcGFjZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIFN3aXRjaCBzaXplXG5AbWl4aW4gdGVtcGxhdGUtc3dpdGNoLXNpemUoXG4gICRzaXplLFxuICAkd2lkdGgsXG4gICRoZWlnaHQsXG4gICRmb250LXNpemUsXG4gICRmb3JtLWxhYmVsLWZvbnQtc2l6ZSxcbiAgJGxhYmVsLWxpbmUtaGVpZ2h0LFxuICAkaW5uZXItc3BhY2VyOiAkc3dpdGNoLWlubmVyLXNwYWNlclxuKSB7XG4gIC5zd2l0Y2gtI3skc2l6ZX0ge1xuICAgIEBpbmNsdWRlIHRlbXBsYXRlLXN3aXRjaC1zaXplLWJhc2UoXG4gICAgICAkc2l6ZSxcbiAgICAgICR3aWR0aCxcbiAgICAgICRoZWlnaHQsXG4gICAgICAkZm9udC1zaXplLFxuICAgICAgJGZvcm0tbGFiZWwtZm9udC1zaXplLFxuICAgICAgJGxhYmVsLWxpbmUtaGVpZ2h0LFxuICAgICAgJGlubmVyLXNwYWNlclxuICAgICk7XG4gIH1cbn1cblxuLy8gU3dpdGNoIHZhcmlhbnRcbkBtaXhpbiB0ZW1wbGF0ZS1tYXRlcmlhbC1zd2l0Y2gtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICRzZWxlY3RvcjogaWYoJHBhcmVudD09ICcnLCAnJywgJyN7JHBhcmVudH0uc3dpdGNoJyk7XG5cbiAgI3skc2VsZWN0b3J9IC5zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtdG9nZ2xlLXNsaWRlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgkYmFja2dyb3VuZCwgMC41KTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuICAjeyRzZWxlY3Rvcn0gLnN3aXRjaC1pbnB1dDpjaGVja2VkOmhvdmVyIH4gLnN3aXRjaC10b2dnbGUtc2xpZGVyIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmFja2dyb3VuZCwgMC4xNSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFN3aXRjaCB0aGVtZVxuQG1peGluIHRlbXBsYXRlLXN3aXRjaC10aGVtZSgkcGFyZW50LCAkYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSB0ZW1wbGF0ZS1tYXRlcmlhbC1zd2l0Y2gtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCk7XG59XG5cbi8vIFN3aXRjaCB2YWxpZGF0aW9uXG5AbWl4aW4gdGVtcGxhdGUtbWF0ZXJpYWwtc3dpdGNoLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IpIHtcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgLy9CUyAmIGpRdWVyeSB2YWxpZGF0aW9uXG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pbnZhbGlkLFxuICAgIC8vanFcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5zd2l0Y2gtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICB+IC5zd2l0Y2gtdG9nZ2xlLXNsaWRlcltjbGFzc10ge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvciwgMC41KTtcbiAgICAgIH1cblxuICAgICAgJjpjaGVja2VkIH4gLnN3aXRjaC10b2dnbGUtc2xpZGVyIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsIDAuMTUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB+IC5zd2l0Y2hlci1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBUaW1lbGluZVxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4vLyBUaW1lbGluZSBwb2ludFxuQG1peGluIHRlbXBsYXRlLXRpbWVsaW5lLXBvaW50LXZhcmlhbnQoJHBvaW50LWNvbG9yLCAkYmFja2dyb3VuZCkge1xuICAudGltZWxpbmUge1xuICAgICN7JHBvaW50LWNvbG9yfSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgICAgb3V0bGluZTogM3B4IHNvbGlkIHJnYmEoJGJhY2tncm91bmQsIDAuMTIpO1xuICAgIH1cblxuICAgIC8vIFRpbWVsaW5lLW91dGxpbmUgc3R5bGVzXG4gICAgJi50aW1lbGluZS1vdXRsaW5lIHtcbiAgICAgICN7JHBvaW50LWNvbG9yfSB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0ZW1wbGF0ZS10aW1lbGluZS1pbmRpY2F0b3ItdmFyaWFudCgkaW5kaWNhdG9yLWNvbG9yLCAkYmFja2dyb3VuZCkge1xuICAkY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAkYmFja2dyb3VuZDogc2hpZnQtY29sb3IoJGJhY2tncm91bmQsICR0aW1lbGluZS1wb2ludC1pbmRpY2F0b3ItYmctc2NhbGUsICRib2R5LWJnKTtcblxuICAudGltZWxpbmUge1xuICAgICN7JGluZGljYXRvci1jb2xvcn0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICAgIGkge1xuICAgICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBUZXh0IERpdmlkZXJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuQG1peGluIHRlbXBsYXRlLXRleHQtZGl2aWRlci12YXJpYW50KCRkaXZpZGVyLWNvbG9yLCAkYmFja2dyb3VuZCkge1xuICAkZGl2aWRlci1zZWxlY3RvcjogaWYoJGRpdmlkZXItY29sb3I9PSAnJywgJycsICcjeyRkaXZpZGVyLWNvbG9yfScpO1xuICAuZGl2aWRlciB7XG4gICAgJiN7JGRpdmlkZXItc2VsZWN0b3J9IHtcbiAgICAgICYuZGl2aWRlci12ZXJ0aWNhbCxcbiAgICAgIC5kaXZpZGVyLXRleHQge1xuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTmF2YmFyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbkBtaXhpbiB0ZW1wbGF0ZS1uYXZiYXItc3R5bGUoJHBhcmVudCwgJGJnLCAkY29sb3I6IG51bGwsICRhY3RpdmUtY29sb3I6IG51bGwsICRib3JkZXI6IG51bGwpIHtcbiAgJGNvbG9yczogZ2V0LW5hdmJhci1wcm9wKCRiZywgJGFjdGl2ZS1jb2xvciwgJGNvbG9yLCAkYm9yZGVyKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XG4gICAgJi5sYXlvdXQtbmF2YmFyIHtcbiAgICAgIC5sYXlvdXQtbmF2YmFyLWZpeGVkIC53aW5kb3ctc2Nyb2xsZWQgJixcbiAgICAgIC5sYXlvdXQtaG9yaXpvbnRhbCAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShtYXAtZ2V0KCRjb2xvcnMsIGJnKSwgMC45KSAhaW1wb3J0YW50O1xuICAgICAgICAuc2VhcmNoLWlucHV0LXdyYXBwZXIge1xuICAgICAgICAgIC5zZWFyY2gtaW5wdXQsXG4gICAgICAgICAgLnNlYXJjaC10b2dnbGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZyAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLm5hdmJhci1zZWFyY2gtd3JhcHBlciB7XG4gICAgICAgIC5zZWFyY2gtdG9nZ2xlciB7XG4gICAgICAgICAgPiBpOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBhcHAtcnRsIHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5hdmJhci1icmFuZCxcbiAgICAubmF2YmFyLWJyYW5kIGEge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5hdmJhciBzZWFyY2ggY29sb3JcbiAgICAubmF2YmFyLXNlYXJjaC13cmFwcGVyIHtcbiAgICAgIC5uYXZiYXItc2VhcmNoLWljb24sXG4gICAgICAuc2VhcmNoLWlucHV0IHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgICAuc2VhcmNoLWlucHV0LXdyYXBwZXIge1xuICAgICAgLnNlYXJjaC1pbnB1dCxcbiAgICAgIC5zZWFyY2gtdG9nZ2xlciB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5hdmJhci1uYXYge1xuICAgICAgPiAubmF2LWxpbmssXG4gICAgICA+IC5uYXYtaXRlbSA+IC5uYXYtbGluayxcbiAgICAgID4gLm5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluayB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgZGlzYWJsZWQtY29sb3IpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuICAgICAgLm5hdi1saW5rLnNob3csXG4gICAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2YmFyLXRvZ2dsZXIge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlcik7XG4gICAgfVxuXG4gICAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWYoXG4gICAgICAgIG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKSA9PSAjZmZmLFxuICAgICAgICAkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnLFxuICAgICAgICAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICAubmF2YmFyLXRleHQge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaHIge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlcik7XG4gICAgfVxuICB9XG59XG4iLCIkZW5hYmxlLWxpZ2h0LXN0eWxlOiB0cnVlO1xuJGVuYWJsZS1kYXJrLXN0eWxlOiB0cnVlO1xuJGVuYWJsZS1ydGwtc3VwcG9ydDogdHJ1ZTtcblxuQG1peGluIGFwcC1sdHIoJGhhcy1jaGlsZDogdHJ1ZSkge1xuICBAaWYgJGVuYWJsZS1ydGwtc3VwcG9ydCB7XG4gICAgQGlmICRoYXMtY2hpbGQge1xuICAgICAgaHRtbDpub3QoW2Rpcj0ncnRsJ10pICYge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIGh0bWw6bm90KFtkaXI9J3J0bCddKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGFwcC1sdHItc3R5bGUoKSB7XG4gIEBpZiAkZW5hYmxlLXJ0bC1zdXBwb3J0IHtcbiAgICAmOm5vdChbZGlyPSdydGwnXSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYXBwLXJ0bCgkaGFzLWNoaWxkOiB0cnVlKSB7XG4gIEBpZiAkZW5hYmxlLXJ0bC1zdXBwb3J0IHtcbiAgICBAaWYgJGhhcy1jaGlsZCB7XG4gICAgICBbZGlyPSdydGwnXSAmIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBbZGlyPSdydGwnXSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXBwLXJ0bC1zdHlsZSgpIHtcbiAgQGlmICRlbmFibGUtcnRsLXN1cHBvcnQge1xuICAgICZbZGlyPSdydGwnXSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gcmVwbGFjZSBuZWdhdGl2ZSB2YWx1ZXMgd2l0aCAwXG5AZnVuY3Rpb24gdmFsaWQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgJHJldHVybjogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkcmFkaXVzIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IG51bWJlciB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgbWF4KCR2YWx1ZSwgMCkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sICR2YWx1ZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci1yYWRpdXMtbWl4aW5zXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cywgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM6IGZhbHNlKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxuICBAZWxzZSBpZiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cyAhPSBmYWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3Atc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXN0YXJ0LXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXJhZGl1cy1taXhpbnNcbiIsIi8vIE1lbnVcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuQG1peGluIHRlbXBsYXRlLW1lbnUtc3R5bGUoJHBhcmVudCwgJGJnLCAkY29sb3I6IG51bGwsICRhY3RpdmUtY29sb3I6IG51bGwsICRib3JkZXI6IG51bGwsICRhY3RpdmUtYmc6IG51bGwpIHtcbiAgJGNvbG9yczogZ2V0LW5hdmJhci1wcm9wKCRiZywgJGFjdGl2ZS1jb2xvciwgJGNvbG9yLCAkYm9yZGVyKTtcbiAgJGNvbnRyYXN0LXBlcmNlbnQ6IG1hcC1nZXQoJGNvbG9ycywgY29udHJhc3QtcGVyY2VudCk7XG5cbiAgQGlmIG5vdCAkYWN0aXZlLWJnIHtcbiAgICAkYWN0aXZlLWJnOiByZ2JhLXRvLWhleChcbiAgICAgIHJnYmEobWFwLWdldCgkY29sb3JzLCBiZyksIDEgLSBpZigkY29udHJhc3QtcGVyY2VudCA8IDAuNzUsIDAuMDI1LCAwLjA1KSksXG4gICAgICBpZigkY29udHJhc3QtcGVyY2VudCA+IDAuMjUsICNmZmYsICMzMDMzNGUpXG4gICAgKTtcbiAgfVxuXG4gICRtZW51LWFjdGl2ZS1iZzogcmdiYS10by1oZXgoXG4gICAgcmdiYSgkYWN0aXZlLWJnLCAxIC0gaWYoJGNvbnRyYXN0LXBlcmNlbnQgPCAwLjc1LCAwLjg4LCAwLjg4KSksXG4gICAgaWYoJGNvbnRyYXN0LXBlcmNlbnQgPiAwLjI1LCAjZmZmLCAjMzAzMzRlKVxuICApO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYmcpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgY29sb3IpO1xuXG4gICAgLm1lbnUtbGluayxcbiAgICAubWVudS1ob3Jpem9udGFsLXByZXYsXG4gICAgLm1lbnUtaG9yaXpvbnRhbC1uZXh0IHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51LWl0ZW0uZGlzYWJsZWQgLm1lbnUtbGluayxcbiAgICAubWVudS1ob3Jpem9udGFsLXByZXYuZGlzYWJsZWQsXG4gICAgLm1lbnUtaG9yaXpvbnRhbC1uZXh0LmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGRpc2FibGVkLWNvbG9yKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5tZW51LWl0ZW0uYWN0aXZlOm5vdCgub3BlbikgPiAubWVudS1saW5rOm5vdCgubWVudS10b2dnbGUpIHtcbiAgICAgICYsXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogY29sb3ItY29udHJhc3QoJGFjdGl2ZS1iZykgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvL3ZlcnRpY2FsIG1lbnUgYWN0aXZlIGl0ZW0gYmcgY29sb3JcbiAgICAubWVudS1pdGVtLmFjdGl2ZSA+IC5tZW51LWxpbms6bm90KC5tZW51LXRvZ2dsZSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iZztcbiAgICB9XG5cbiAgICAvLy1cbiAgICAmLm1lbnUtaG9yaXpvbnRhbCAubWVudS1zdWIgPiAubWVudS1pdGVtLmFjdGl2ZSA+IC5tZW51LWxpbms6bm90KC5tZW51LXRvZ2dsZSkge1xuICAgICAgJixcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZW51LWFjdGl2ZS1iZztcbiAgICAgICAgY29sb3I6ICRhY3RpdmUtYmcgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm1lbnUtaG9yaXpvbnRhbCAubWVudS1pbm5lciA+IC5tZW51LWl0ZW0uYWN0aXZlID4gLm1lbnUtbGluay5tZW51LXRvZ2dsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWN0aXZlLWJnO1xuICAgICAgJixcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogY29sb3ItY29udHJhc3QoJGFjdGl2ZS1iZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnUtaW5uZXItc2hhZG93IHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkYmcgNSUsIHJnYmEoJGJnLCAwLjc1KSA0NSUsIHJnYmEoJGJnLCAwLjIpIDgwJSwgdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGFjdGl2ZS1jb2xvcik7XG4gICAgfVxuXG4gICAgLm1lbnUtaGVhZGVyIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIG11dGVkLWNvbG9yKTtcbiAgICB9XG5cbiAgICBocixcbiAgICAubWVudS1kaXZpZGVyLFxuICAgIC5tZW51LWlubmVyID4gLm1lbnUtaXRlbS5vcGVuID4gLm1lbnUtc3ViOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGJvcmRlcikgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubWVudS1ibG9jazo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgbXV0ZWQtY29sb3IpO1xuICAgIH1cblxuICAgIC5wc19fdGh1bWIteSxcbiAgICAucHNfX3JhaWwteS5wcy0tY2xpY2tpbmcgPiAucHNfX3RodW1iLXkge1xuICAgICAgYmFja2dyb3VuZDogcmdiYShcbiAgICAgICAgbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpLFxuICAgICAgICBpZigkY29udHJhc3QtcGVyY2VudCA+IDAuNzUsIG1hcC1nZXQoJGNvbG9ycywgb3BhY2l0eSkgLSAwLjQsIG1hcC1nZXQoJGNvbG9ycywgb3BhY2l0eSkgLSAwLjIpXG4gICAgICApICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb290ZXJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuQG1peGluIHRlbXBsYXRlLWZvb3Rlci1zdHlsZSgkcGFyZW50LCAkYmcsICRjb2xvcjogbnVsbCwgJGFjdGl2ZS1jb2xvcjogbnVsbCwgJGJvcmRlcjogbnVsbCkge1xuICAkY29sb3JzOiBnZXQtbmF2YmFyLXByb3AoJGJnLCAkYWN0aXZlLWNvbG9yLCAkY29sb3IsICRib3JkZXIpO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGNvbG9yKTtcblxuICAgIC5mb290ZXItbGluayB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBjb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgYWN0aXZlLWNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIGRpc2FibGVkLWNvbG9yKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mb290ZXItdGV4dCB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgIH1cblxuICAgIC5zaG93ID4gLmZvb3Rlci1saW5rLFxuICAgIC5hY3RpdmUgPiAuZm9vdGVyLWxpbmssXG4gICAgLmZvb3Rlci1saW5rLnNob3csXG4gICAgLmZvb3Rlci1saW5rLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBhY3RpdmUtY29sb3IpO1xuICAgIH1cblxuICAgIGhyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLCBib3JkZXIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gU1ZHIENvbG9yXG5AbWl4aW4gdGVtcGxhdGUtc3ZnLWNvbG9yKCRiYWNrZ3JvdW5kKSB7XG4gIC5zdmctaWxsdXN0cmF0aW9uIHN2ZyB7XG4gICAgZmlsbDogJGJhY2tncm91bmQ7XG4gIH1cbn1cbiIsIi8vIFRyZWV2aWV3XG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi8vIFRyZWV2aWV3IGNsaWNrXG5AbWl4aW4gdGVtcGxhdGUtdHJlZXZpZXctY2xpY2tlZC1iZygkYmFja2dyb3VuZCkge1xuICAuanN0cmVlLWRlZmF1bHQge1xuICAgIC5qc3RyZWUtd2hvbGVyb3ctY2xpY2tlZCxcbiAgICAuanN0cmVlLXdob2xlcm93LWhvdmVyZWQge1xuICAgICAgYmFja2dyb3VuZDogbWl4KCR3aGl0ZSwgJGJhY2tncm91bmQsIDg1JSk7XG4gICAgfVxuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1kYXJrIHtcbiAgICAuanN0cmVlLXdob2xlcm93LWhvdmVyZWQsXG4gICAgLmpzdHJlZS13aG9sZXJvdy1jbGlja2VkIHtcbiAgICAgIGJhY2tncm91bmQ6IG1peCgkZGFyaywgJGJhY2tncm91bmQsIDU1JSk7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gbm91aXNsaWRlci12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kKSB7XG4gICN7JHBhcmVudH0ubm9VaS10YXJnZXQge1xuICAgIC8vIElmIHNsaWRlciBpcyBub3QgZGlzYWJsZWRcbiAgICAmOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRiYWNrZ3JvdW5kLCAwLjQpO1xuICAgICAgLm5vVWktY29ubmVjdCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgfVxuXG4gICAgICAubm9VaS1oYW5kbGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgOHB4IHJnYmEoJGJhY2tncm91bmQsIDAuMTUpO1xuICAgICAgICB9XG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxMHB4IHJnYmEoJGJhY2tncm91bmQsIDAuMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG5vdWlzbGlkZXItdGhlbWUoJGJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgbm91aXNsaWRlci12YXJpYW50KCcnLCAkYmFja2dyb3VuZCk7XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9zY3NzL19ib290c3RyYXAtZXh0ZW5kZWQvaW5jbHVkZSc7XG5AbWl4aW4gc2VsZWN0Mi12YXJpYW50KCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgY29sb3ItY29udHJhc3QoJGJhY2tncm91bmQpKTtcblxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIHNlbGVjdDItdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRib3JkZXIpIHtcbiAgLmlzLSN7JHN0YXRlfSAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLFxuICAuaXMtI3skc3RhdGV9LnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbiB7XG4gICAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtZm9jdXMtYm9yZGVyLXdpZHRoO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlciAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBzZWxlY3QyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgY29sb3ItY29udHJhc3QoJGJhY2tncm91bmQpKTtcblxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQge1xuICAgIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWRbYXJpYS1zZWxlY3RlZF0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLnNlbGVjdDItY29udGFpbmVyLS1mb2N1cyAuc2VsZWN0Mi1zZWxlY3Rpb24sXG4gICAgJi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1zZWxlY3Rpb24ge1xuICAgICAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtZm9jdXMtYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAuZm9ybS1mbG9hdGluZy5zZWxlY3QyLWZvY3VzIHtcbiAgICBsYWJlbCB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLnNlbGVjdDItcHJpbWFyeSB7XG4gICAgQGluY2x1ZGUgc2VsZWN0Mi12YXJpYW50KCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xuICB9XG59XG4iLCJAbWl4aW4gdGFnaWZ5LXRoZW1lKCRjb2xvcikge1xuICAudGFnaWZ5LS1mb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgICB+IGxhYmVsIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG4gIC50YWdpZnlfX2Ryb3Bkb3duX19pdGVtLS1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG59XG4iLCJAbWl4aW4gYnMtZGF0YXRhYmxlcy10aGVtZSgkYmFja2dyb3VuZCkge1xuICAvLyBTdHlsZSBmb3IgcmVzcG9uc2l2ZSBpY29uXG4gIHRhYmxlLmRhdGFUYWJsZS5kdHItY29sdW1uID4gdGJvZHkgPiB0ciA+IHRkLmNvbnRyb2w6YmVmb3JlLFxuICB0YWJsZS5kYXRhVGFibGUuZHRyLWNvbHVtbiA+IHRib2R5ID4gdHIgPiB0aC5jb250cm9sOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAycHggc29saWQgJHJnYmEtdG8taGV4LWJnO1xuICAgIGJveC1zaGFkb3c6IDAgMCAzcHggJGdyYXktODAwO1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9zY3NzL19ib290c3RyYXAtZXh0ZW5kZWQvZnVuY3Rpb25zJztcblxuQG1peGluIGJzLXNlbGVjdC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKSk7XG5cbiAgLmJvb3RzdHJhcC1zZWxlY3Qge1xuICAgIC5kcm9wZG93bi1tZW51LmlubmVyIGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC8vIEZpeDogVG8gYWRkIGZvY3VzIGJvcmRlciwgLmJvb3RzdHJhcC1zZWxlY3QgYWRkaW5nIGJvcmRlciBidXQgbm90IGFibGUgdG8gdXBkYXRlIGFzIHdlIGNhbiBub3QgaGF2ZSB0aGUgZm9jdXMgb24gZGl2XG4gICAgLmRyb3Bkb3duLXRvZ2dsZS5zaG93IHtcbiAgICAgIGJvcmRlci13aWR0aDogJGlucHV0LWZvY3VzLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG4gIC8vIEZvcm0gZmxvYXRpbmcgbGFiZWwgY29sb3Igb24gaG92ZXIvZm9jdXNcbiAgLmZvcm0tZmxvYXRpbmc6aGFzKC5ib290c3RyYXAtc2VsZWN0IC5kcm9wZG93bi10b2dnbGUuc2hvdykge1xuICAgIGxhYmVsIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL3Njc3MvX2Jvb3RzdHJhcC1leHRlbmRlZC9mdW5jdGlvbnMnO1xuXG5AbWl4aW4gYnMtZGF0ZXBpY2tlci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKSk7XG4gICRyYW5nZS1iZzogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgMC4xKSwgI2ZmZik7XG4gICRyYW5nZS1jb2xvcjogY29sb3ItY29udHJhc3QoJHJhbmdlLWJnKTtcblxuICAuZGF0ZXBpY2tlciB7XG4gICAgdGFibGUge1xuICAgICAgdHIgdGQge1xuICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgJi5hY3RpdmUuaGlnaGxpZ2h0ZWQsXG4gICAgICAgIC5mb2N1c2VkLFxuICAgICAgICBzcGFuLmFjdGl2ZSxcbiAgICAgICAgc3Bhbi5hY3RpdmUuZGlzYWJsZWQsXG4gICAgICAgICYucmFuZ2Utc3RhcnQsXG4gICAgICAgICYucmFuZ2UtZW5kIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgICAgICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICYucmFuZ2UsXG4gICAgICAgICYucmFuZ2UuaGlnaGxpZ2h0ZWQsXG4gICAgICAgICYucmFuZ2UudG9kYXkge1xuICAgICAgICAgIGNvbG9yOiAkcmFuZ2UtY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkcmFuZ2UtYmcgIWltcG9ydGFudDtcblxuICAgICAgICAgICYuZm9jdXNlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJHJhbmdlLWJnLCA2JSkgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKCRyYW5nZS1iZywgMC41KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50aXplKCRyYW5nZS1jb2xvciwgMC41KSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYudG9kYXk6bm90KC5hY3RpdmUpIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJzLWRhdGVwaWNrZXItZGFyay10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKSk7XG4gICRyYW5nZS1iZzogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgMC4xKSwgIzI1MjgyZSk7XG4gICRyYW5nZS1jb2xvcjogY29sb3ItY29udHJhc3QoJHJhbmdlLWJnKTtcblxuICAuZGF0ZXBpY2tlciB7XG4gICAgdGFibGUge1xuICAgICAgdHIgdGQge1xuICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgJi5hY3RpdmUuaGlnaGxpZ2h0ZWQsXG4gICAgICAgIC5mb2N1c2VkLFxuICAgICAgICBzcGFuLmFjdGl2ZSxcbiAgICAgICAgc3Bhbi5hY3RpdmUuZGlzYWJsZWQsXG4gICAgICAgICYucmFuZ2Utc3RhcnQsXG4gICAgICAgICYucmFuZ2UtZW5kIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICYucmFuZ2UsXG4gICAgICAgICYucmFuZ2UuaGlnaGxpZ2h0ZWQsXG4gICAgICAgICYucmFuZ2UudG9kYXkge1xuICAgICAgICAgIGNvbG9yOiAkcmFuZ2UtY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkcmFuZ2UtYmcgIWltcG9ydGFudDtcblxuICAgICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50aXplKCRyYW5nZS1jb2xvciwgMC41KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJHJhbmdlLWJnLCAwLjUpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5mb2N1c2VkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkcmFuZ2UtYmcsIDYlKSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYudG9kYXk6bm90KC5hY3RpdmUpIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL3Njc3MvX2Jvb3RzdHJhcC1leHRlbmRlZC9mdW5jdGlvbnMnO1xuXG5AbWl4aW4gZmxhdHBpY2tyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgJGluLXJhbmdlLWJnOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAwLjEpLCAjZmZmKTtcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgY29sb3ItY29udHJhc3QoJGJhY2tncm91bmQpKTtcbiAgJGluLXJhbmdlLWNvbG9yOiBjb2xvci1jb250cmFzdCgkaW4tcmFuZ2UtYmcpO1xuXG4gIC5mbGF0cGlja3ItZGF5IHtcbiAgICAmLnRvZGF5IHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJi5pblJhbmdlLFxuICAgICYubmV4dE1vbnRoRGF5LmluUmFuZ2UsXG4gICAgJi5wcmV2TW9udGhEYXkuaW5SYW5nZSxcbiAgICAmLnRvZGF5LmluUmFuZ2UsXG4gICAgJi5wcmV2TW9udGhEYXkudG9kYXkuaW5SYW5nZSxcbiAgICAmLm5leHRNb250aERheS50b2RheS5pblJhbmdlIHtcbiAgICAgIGNvbG9yOiAkaW4tcmFuZ2UtY29sb3IgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQ6ICRpbi1yYW5nZS1iZyAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkaW4tcmFuZ2UtYmcgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLnNlbGVjdGVkLFxuICAgICYuc2VsZWN0ZWQuaW5SYW5nZSxcbiAgICAmLnNlbGVjdGVkOmZvY3VzLFxuICAgICYuc2VsZWN0ZWQ6aG92ZXIsXG4gICAgJi5zZWxlY3RlZC5uZXh0TW9udGhEYXksXG4gICAgJi5zZWxlY3RlZC5wcmV2TW9udGhEYXksXG4gICAgJi5zdGFydFJhbmdlLFxuICAgICYuc3RhcnRSYW5nZS5pblJhbmdlLFxuICAgICYuc3RhcnRSYW5nZTpmb2N1cyxcbiAgICAmLnN0YXJ0UmFuZ2U6aG92ZXIsXG4gICAgJi5zdGFydFJhbmdlLm5leHRNb250aERheSxcbiAgICAmLnN0YXJ0UmFuZ2UucHJldk1vbnRoRGF5LFxuICAgICYuZW5kUmFuZ2UsXG4gICAgJi5lbmRSYW5nZS5pblJhbmdlLFxuICAgICYuZW5kUmFuZ2U6Zm9jdXMsXG4gICAgJi5lbmRSYW5nZTpob3ZlcixcbiAgICAmLmVuZFJhbmdlLm5leHRNb250aERheSxcbiAgICAmLmVuZFJhbmdlLnByZXZNb250aERheSxcbiAgICAmLndlZWsuc2VsZWN0ZWQge1xuICAgICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZsYXRwaWNrci1kYXJrLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgY29sb3ItY29udHJhc3QoJGJhY2tncm91bmQpKTtcbiAgJGluLXJhbmdlLWJnOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAwLjEpLCAjMjUyODJlKTtcbiAgJGluLXJhbmdlLWNvbG9yOiBjb2xvci1jb250cmFzdCgkaW4tcmFuZ2UtYmcpO1xuXG4gIC5mbGF0cGlja3ItY2FsZW5kYXIgLm51bUlucHV0V3JhcHBlciBzcGFuIHtcbiAgICAmLmFycm93VXA6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xuICAgIH1cblxuICAgICYuYXJyb3dEb3duOmFmdGVyIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cblxuICAuZmxhdHBpY2tyLWRheSB7XG4gICAgJi50b2RheSB7XG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICYuaW5SYW5nZSxcbiAgICAmLm5leHRNb250aERheS5pblJhbmdlLFxuICAgICYucHJldk1vbnRoRGF5LmluUmFuZ2UsXG4gICAgJi50b2RheS5pblJhbmdlLFxuICAgICYubmV4dE1vbnRoRGF5LnRvZGF5LmluUmFuZ2UsXG4gICAgJi5wcmV2TW9udGhEYXkudG9kYXkuaW5SYW5nZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRpbi1yYW5nZS1iZyAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogJGluLXJhbmdlLWJnICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJGluLXJhbmdlLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi5zZWxlY3RlZCxcbiAgICAmLnNlbGVjdGVkLmluUmFuZ2UsXG4gICAgJi5zZWxlY3RlZDpmb2N1cyxcbiAgICAmLnNlbGVjdGVkOmhvdmVyLFxuICAgICYuc2VsZWN0ZWQucHJldk1vbnRoRGF5LFxuICAgICYuc2VsZWN0ZWQubmV4dE1vbnRoRGF5LFxuICAgICYuc3RhcnRSYW5nZSxcbiAgICAmLnN0YXJ0UmFuZ2UuaW5SYW5nZSxcbiAgICAmLnN0YXJ0UmFuZ2U6Zm9jdXMsXG4gICAgJi5zdGFydFJhbmdlOmhvdmVyLFxuICAgICYuc3RhcnRSYW5nZS5wcmV2TW9udGhEYXksXG4gICAgJi5zdGFydFJhbmdlLm5leHRNb250aERheSxcbiAgICAmLmVuZFJhbmdlLFxuICAgICYuZW5kUmFuZ2UuaW5SYW5nZSxcbiAgICAmLmVuZFJhbmdlOmZvY3VzLFxuICAgICYuZW5kUmFuZ2U6aG92ZXIsXG4gICAgJi5lbmRSYW5nZS5uZXh0TW9udGhEYXksXG4gICAgJi5lbmRSYW5nZS5wcmV2TW9udGhEYXksXG4gICAgJi53ZWVrLnNlbGVjdGVkIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9zY3NzL19ib290c3RyYXAtZXh0ZW5kZWQvZnVuY3Rpb25zJztcblxuQG1peGluIGJzLWRhdGVyYW5nZXBpY2tlci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKSk7XG5cbiAgJGhpZ2hsaWdodGVkLWJnOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAwLjEpLCAjZmZmKTtcbiAgJGhpZ2hsaWdodGVkLWNvbG9yOiBjb2xvci1jb250cmFzdCgkaGlnaGxpZ2h0ZWQtYmcpO1xuXG4gIC5kYXRlcmFuZ2VwaWNrZXIgdGQuYWN0aXZlOm5vdCgub2ZmKSB7XG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgLmRhdGVyYW5nZXBpY2tlciB7XG4gICAgLnN0YXJ0LWRhdGU6bm90KC5lbmQtZGF0ZSk6bm90KC5vZmYpLFxuICAgIC5lbmQtZGF0ZTpub3QoLnN0YXJ0LWRhdGUpOm5vdCgub2ZmKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmRhdGVyYW5nZXBpY2tlciAuaW5wdXQtbWluaS5hY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kYXRlcmFuZ2VwaWNrZXIgdGQuaW4tcmFuZ2U6bm90KC5zdGFydC1kYXRlKTpub3QoLmVuZC1kYXRlKTpub3QoLm9mZikge1xuICAgIGNvbG9yOiAkaGlnaGxpZ2h0ZWQtY29sb3IgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGlnaGxpZ2h0ZWQtYmcgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5yYW5nZXMgbGkuYWN0aXZlIHtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gYnMtZGF0ZXJhbmdlcGlja2VyLWRhcmstdGhlbWUoJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICAkY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCBjb2xvci1jb250cmFzdCgkYmFja2dyb3VuZCkpO1xuXG4gICRoaWdobGlnaHRlZC1iZzogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgMC4xKSwgIzI1MjgyZSk7XG4gICRoaWdobGlnaHRlZC1jb2xvcjogY29sb3ItY29udHJhc3QoJGhpZ2hsaWdodGVkLWJnKTtcblxuICAuZGF0ZXJhbmdlcGlja2VyIHRhYmxlIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICYucHJldixcbiAgICAgICYubmV4dCB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc2VsZWN0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmRhdGVyYW5nZXBpY2tlciB0ZC5hY3RpdmU6bm90KC5vZmYpIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAuZGF0ZXJhbmdlcGlja2VyIHtcbiAgICAuc3RhcnQtZGF0ZTpub3QoLmVuZC1kYXRlKTpub3QoLm9mZiksXG4gICAgLmVuZC1kYXRlOm5vdCguc3RhcnQtZGF0ZSk6bm90KC5vZmYpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZGF0ZXJhbmdlcGlja2VyIC5pbnB1dC1taW5pLmFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmRhdGVyYW5nZXBpY2tlciB0ZC5pbi1yYW5nZTpub3QoLnN0YXJ0LWRhdGUpOm5vdCguZW5kLWRhdGUpOm5vdCgub2ZmKSB7XG4gICAgY29sb3I6ICRoaWdobGlnaHRlZC1jb2xvciAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoaWdobGlnaHRlZC1iZyAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnJhbmdlcyBsaS5hY3RpdmUge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9zY3NzL19ib290c3RyYXAtZXh0ZW5kZWQvX2Z1bmN0aW9ucyc7XG5cbkBtaXhpbiB0aW1lcGlja2VyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgY29sb3ItY29udHJhc3QoJGJhY2tncm91bmQpKTtcblxuICBsaS51aS10aW1lcGlja2VyLXNlbGVjdGVkLFxuICAudWktdGltZXBpY2tlci1saXN0IC51aS10aW1lcGlja2VyLXNlbGVjdGVkOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiQG1peGluIHF1aWxsLWdlbmVyYXRlLWxpc3RzKCRpbmRlbnQpIHtcbiAgJHF1aWxsLWxpc3QtdHlwZXM6IChcbiAgICAxOiBsb3dlci1hbHBoYSxcbiAgICAyOiBsb3dlci1yb21hbixcbiAgICAzOiBkZWNpbWFsLFxuICAgIDQ6IGxvd2VyLWFscGhhLFxuICAgIDU6IGxvd2VyLXJvbWFuLFxuICAgIDY6IGRlY2ltYWwsXG4gICAgNzogbG93ZXItYWxwaGEsXG4gICAgODogbG93ZXItcm9tYW4sXG4gICAgOTogZGVjaW1hbFxuICApO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggOSB7XG4gICAgb2wgbGkucWwtaW5kZW50LSN7JGl9IHtcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBsaXN0LSN7JGl9O1xuXG4gICAgICBAaWYgJGkgPCA5IHtcbiAgICAgICAgJGxpc3RzOiAnJztcblxuICAgICAgICBAZm9yICRsIGZyb20gJGkgKyAxIHRocm91Z2ggOSB7XG4gICAgICAgICAgJGxpc3RzOiAnI3skbGlzdHN9IGxpc3QtI3skbH0nO1xuICAgICAgICB9XG5cbiAgICAgICAgY291bnRlci1yZXNldDogI3skbGlzdHN9O1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBjb3VudGVyKGxpc3QtI3skaX0sIG1hcC1nZXQoJHF1aWxsLWxpc3QtdHlwZXMsICRpKSkgJy4gJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucWwtaW5kZW50LSN7JGl9Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAkaW5kZW50ICogJGk7XG5cbiAgICAgIFtkaXI9J3J0bCddICYge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5kZW50ICogJGk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgbGkucWwtaW5kZW50LSN7JGl9Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAkaW5kZW50ICogKCRpICsgMSk7XG5cbiAgICAgIFtkaXI9J3J0bCddICYge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5kZW50ICogKCRpICsgMSk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnFsLWluZGVudC0jeyRpfS5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbmRlbnQgKiAkaTtcblxuICAgICAgW2Rpcj0ncnRsJ10gJiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGluZGVudCAqICRpO1xuICAgICAgfVxuICAgIH1cbiAgICBsaS5xbC1pbmRlbnQtI3skaX0ucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5kZW50ICogKCRpICsgMSk7XG5cbiAgICAgIFtkaXI9J3J0bCddICYge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpbmRlbnQgKiAoJGkgKyAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHF1aWxsLXRoZW1lKCRjb2xvcikge1xuICAucWwtc25vdy5xbC10b29sYmFyLFxuICAucWwtc25vdyAucWwtdG9vbGJhciB7XG4gICAgYnV0dG9uOmhvdmVyLFxuICAgIGJ1dHRvbjpmb2N1cyxcbiAgICBidXR0b24ucWwtYWN0aXZlLFxuICAgIC5xbC1waWNrZXItbGFiZWw6aG92ZXIsXG4gICAgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUsXG4gICAgLnFsLXBpY2tlci1pdGVtOmhvdmVyLFxuICAgIC5xbC1waWNrZXItaXRlbS5xbC1zZWxlY3RlZCB7XG4gICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYnV0dG9uOmhvdmVyIC5xbC1maWxsLFxuICAgIGJ1dHRvbjpmb2N1cyAucWwtZmlsbCxcbiAgICBidXR0b24ucWwtYWN0aXZlIC5xbC1maWxsLFxuICAgIC5xbC1waWNrZXItbGFiZWw6aG92ZXIgLnFsLWZpbGwsXG4gICAgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUgLnFsLWZpbGwsXG4gICAgLnFsLXBpY2tlci1pdGVtOmhvdmVyIC5xbC1maWxsLFxuICAgIC5xbC1waWNrZXItaXRlbS5xbC1zZWxlY3RlZCAucWwtZmlsbCxcbiAgICBidXR0b246aG92ZXIgLnFsLXN0cm9rZS5xbC1maWxsLFxuICAgIGJ1dHRvbjpmb2N1cyAucWwtc3Ryb2tlLnFsLWZpbGwsXG4gICAgYnV0dG9uLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLnFsLWZpbGwsXG4gICAgLnFsLXBpY2tlci1sYWJlbDpob3ZlciAucWwtc3Ryb2tlLnFsLWZpbGwsXG4gICAgLnFsLXBpY2tlci1sYWJlbC5xbC1hY3RpdmUgLnFsLXN0cm9rZS5xbC1maWxsLFxuICAgIC5xbC1waWNrZXItaXRlbTpob3ZlciAucWwtc3Ryb2tlLnFsLWZpbGwsXG4gICAgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkIC5xbC1zdHJva2UucWwtZmlsbCB7XG4gICAgICBmaWxsOiAkY29sb3IgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBidXR0b246aG92ZXIgLnFsLXN0cm9rZSxcbiAgICBidXR0b246Zm9jdXMgLnFsLXN0cm9rZSxcbiAgICBidXR0b24ucWwtYWN0aXZlIC5xbC1zdHJva2UsXG4gICAgLnFsLXBpY2tlci1sYWJlbDpob3ZlciAucWwtc3Ryb2tlLFxuICAgIC5xbC1waWNrZXItbGFiZWwucWwtYWN0aXZlIC5xbC1zdHJva2UsXG4gICAgLnFsLXBpY2tlci1pdGVtOmhvdmVyIC5xbC1zdHJva2UsXG4gICAgLnFsLXBpY2tlci1pdGVtLnFsLXNlbGVjdGVkIC5xbC1zdHJva2UsXG4gICAgYnV0dG9uOmhvdmVyIC5xbC1zdHJva2UtbWl0ZXIsXG4gICAgYnV0dG9uOmZvY3VzIC5xbC1zdHJva2UtbWl0ZXIsXG4gICAgYnV0dG9uLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLW1pdGVyLFxuICAgIC5xbC1waWNrZXItbGFiZWw6aG92ZXIgLnFsLXN0cm9rZS1taXRlcixcbiAgICAucWwtcGlja2VyLWxhYmVsLnFsLWFjdGl2ZSAucWwtc3Ryb2tlLW1pdGVyLFxuICAgIC5xbC1waWNrZXItaXRlbTpob3ZlciAucWwtc3Ryb2tlLW1pdGVyLFxuICAgIC5xbC1waWNrZXItaXRlbS5xbC1zZWxlY3RlZCAucWwtc3Ryb2tlLW1pdGVyIHtcbiAgICAgIHN0cm9rZTogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9zY3NzL19ib290c3RyYXAtZXh0ZW5kZWQvZnVuY3Rpb25zJztcblxuQG1peGluIHR5cGVhaGVhZC10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKSk7XG5cbiAgLnR0LXN1Z2dlc3Rpb246YWN0aXZlLFxuICAudHQtY3Vyc29yIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiQG1peGluIGRyb3B6b25lLXRoZW1lKCRib3JkZXIpIHtcbiAgLmRyb3B6b25lLmR6LWRyYWctaG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlciAhaW1wb3J0YW50O1xuICB9XG59XG4iLCJAbWl4aW4gc3dpcGVyLXRoZW1lKCRiYWNrZ3JvdW5kKSB7XG4gIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSxcbiAgLnN3aXBlci1wYWdpbmF0aW9uLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICB9XG59XG4iLCJAbWl4aW4gc3BpbmtpdC10aGVtZSgkYmFja2dyb3VuZCkge1xuICAuc2stcHJpbWFyeS5zay1wbGFuZSxcbiAgLnNrLXByaW1hcnkgLnNrLWNoYXNlLWRvdDpiZWZvcmUsXG4gIC5zay1wcmltYXJ5IC5zay1ib3VuY2UtZG90LFxuICAuc2stcHJpbWFyeSAuc2std2F2ZS1yZWN0LFxuICAuc2stcHJpbWFyeS5zay1wdWxzZSxcbiAgLnNrLXByaW1hcnkgLnNrLXN3aW5nLWRvdCxcbiAgLnNrLXByaW1hcnkgLnNrLWNpcmNsZS1kb3Q6YmVmb3JlLFxuICAuc2stcHJpbWFyeSAuc2stY2lyY2xlLWZhZGUtZG90OmJlZm9yZSxcbiAgLnNrLXByaW1hcnkgLnNrLWdyaWQtY3ViZSxcbiAgLnNrLXByaW1hcnkgLnNrLWZvbGQtY3ViZTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9zY3NzL19ib290c3RyYXAtZXh0ZW5kZWQvZnVuY3Rpb25zJztcblxuLy8gTGlnaHQgc3R5bGVcbkBtaXhpbiBwbHlyLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgY29sb3ItY29udHJhc3QoJGJhY2tncm91bmQpKTtcblxuICAucGx5ciBpbnB1dFt0eXBlPSdyYW5nZSddOjotbXMtZmlsbC1sb3dlciB7XG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wbHlyIGlucHV0W3R5cGU9J3JhbmdlJ106YWN0aXZlIHtcbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAucGx5ci0tdmlkZW8gLnBseXJfX2NvbnRyb2wucGx5cl9fY29udHJvbC0tb3ZlcmxhaWQsXG4gIC5wbHlyLS12aWRlbyAucGx5cl9fY29udHJvbHMgYnV0dG9uLnRhYi1mb2N1czpmb2N1cyxcbiAgLnBseXItLXZpZGVvIC5wbHlyX19jb250cm9sW2FyaWEtZXhwYW5kZWQ9J3RydWUnXSxcbiAgLnBseXItLXZpZGVvIC5wbHlyX19jb250cm9scyBidXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBseXItLWF1ZGlvIC5wbHlyX19jb250cm9scyBidXR0b24udGFiLWZvY3VzOmZvY3VzLFxuICAucGx5ci0tYXVkaW8gLnBseXJfX2NvbnRyb2xbYXJpYS1leHBhbmRlZD0ndHJ1ZSddLFxuICAucGx5ci0tYXVkaW8gLnBseXJfX2NvbnRyb2xzIGJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGx5cl9fcGxheS1sYXJnZSB7XG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGx5cl9fcHJvZ3Jlc3MtLXBsYXllZCxcbiAgLnBseXJfX3ZvbHVtZS0tZGlzcGxheSB7XG4gICAgY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT0ncmFuZ2UnXSB7XG4gICAgY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPSdtZW51aXRlbXJhZGlvJ11bYXJpYS1jaGVja2VkPSd0cnVlJ106OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiQG1peGluIGZ1bGxjYWxlbmRhci10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5mYyB7XG4gICAgLy8gRkMgZXZlbnRcbiAgICBAaW5jbHVkZSBiZy1sYWJlbC12YXJpYW50KCcuZmMtZXZlbnQtcHJpbWFyeTpub3QoLmZjLWxpc3QtZXZlbnQpJywgJGJhY2tncm91bmQpO1xuXG4gICAgLy8gRkMgbGlzdCBldmVudFxuICAgIC5mYy1ldmVudC1wcmltYXJ5LmZjLWxpc3QtZXZlbnQge1xuICAgICAgLmZjLWxpc3QtZXZlbnQtZG90IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mYy1idXR0b24tcHJpbWFyeTpub3QoLmZjLXByZXYtYnV0dG9uKTpub3QoLmZjLW5leHQtYnV0dG9uKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmFja2dyb3VuZCwgMC4wNSkgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgICAgJjphY3RpdmUsXG4gICAgICAmLmZjLWJ1dHRvbi1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRiYWNrZ3JvdW5kLCAwLjEpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL2Z1bmN0aW9ucyc7XG5cbkBtaXhpbiBzd2VldGFsZXJ0Mi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKSk7XG5cbiAgLnN3YWwyLXByb2dyZXNzLXN0ZXBzW2NsYXNzXSAuc3dhbDItcHJvZ3Jlc3Mtc3RlcC5zd2FsMi1hY3RpdmUtcHJvZ3Jlc3Mtc3RlcCxcbiAgLnN3YWwyLXByb2dyZXNzLXN0ZXBzW2NsYXNzXSAuc3dhbDItcHJvZ3Jlc3Mtc3RlcC1saW5lLFxuICAuc3dhbDItcHJvZ3Jlc3Mtc3RlcHNbY2xhc3NdIC5zd2FsMi1hY3RpdmUtcHJvZ3Jlc3Mtc3RlcCxcbiAgLnN3YWwyLXByb2dyZXNzLXN0ZXBzW2NsYXNzXSAuc3dhbDItcHJvZ3Jlc3Mtc3RlcCB7XG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC5zd2FsMi1wcm9ncmVzcy1zdGVwc1tjbGFzc10gLnN3YWwyLXByb2dyZXNzLXN0ZXAuc3dhbDItYWN0aXZlLXByb2dyZXNzLXN0ZXAgfiAuc3dhbDItcHJvZ3Jlc3Mtc3RlcCxcbiAgLnN3YWwyLXByb2dyZXNzLXN0ZXBzW2NsYXNzXSAuc3dhbDItcHJvZ3Jlc3Mtc3RlcC5zd2FsMi1hY3RpdmUtcHJvZ3Jlc3Mtc3RlcCB+IC5zd2FsMi1wcm9ncmVzcy1zdGVwLWxpbmUge1xuICAgIGJhY2tncm91bmQ6IG1peCgkd2hpdGUsICRiYWNrZ3JvdW5kLCA4NSUpO1xuICB9XG59XG5cbkBtaXhpbiBzd2VldGFsZXJ0Mi1kYXJrLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgJGNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgY29sb3ItY29udHJhc3QoJGJhY2tncm91bmQpKTtcblxuICAuc3dhbDItcHJvZ3Jlc3Mtc3RlcHNbY2xhc3NdIC5zd2FsMi1wcm9ncmVzcy1zdGVwLnN3YWwyLWFjdGl2ZS1wcm9ncmVzcy1zdGVwLFxuICAuc3dhbDItcHJvZ3Jlc3Mtc3RlcHNbY2xhc3NdIC5zd2FsMi1wcm9ncmVzcy1zdGVwLWxpbmUsXG4gIC5zd2FsMi1wcm9ncmVzcy1zdGVwc1tjbGFzc10gLnN3YWwyLWFjdGl2ZS1wcm9ncmVzcy1zdGVwLFxuICAuc3dhbDItcHJvZ3Jlc3Mtc3RlcHNbY2xhc3NdIC5zd2FsMi1wcm9ncmVzcy1zdGVwIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLnN3YWwyLXByb2dyZXNzLXN0ZXBzW2NsYXNzXSAuc3dhbDItcHJvZ3Jlc3Mtc3RlcC5zd2FsMi1hY3RpdmUtcHJvZ3Jlc3Mtc3RlcCB+IC5zd2FsMi1wcm9ncmVzcy1zdGVwLFxuICAuc3dhbDItcHJvZ3Jlc3Mtc3RlcHNbY2xhc3NdIC5zd2FsMi1wcm9ncmVzcy1zdGVwLnN3YWwyLWFjdGl2ZS1wcm9ncmVzcy1zdGVwIH4gLnN3YWwyLXByb2dyZXNzLXN0ZXAtbGluZSB7XG4gICAgYmFja2dyb3VuZDogbWl4KCRkYXJrLCAkYmFja2dyb3VuZCwgNTUlKTtcbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vc2Nzcy9fY3VzdG9tLXZhcmlhYmxlcy9saWJzJztcblxuLy8gQmFja2dyb3VuZCAmIFByaW1hcnkgY29sb3IgZm9yIHBpY2tlclxuQG1peGluIGNvbG9yUGlja2VyLXRoZW1lKCRiYWNrZ3JvdW5kKSB7XG4gIC5wY3ItYXBwIHtcbiAgICAucGNyLXR5cGUuYWN0aXZlLFxuICAgIC5wY3Itc2F2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gU3RlcHBlciBNaXhpblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuQG1peGluIGJzLXN0ZXBwZXItdGhlbWUoJGNvbG9yKSB7XG4gIC5icy1zdGVwcGVyIHtcbiAgICAmOm5vdCgud2l6YXJkLWljb25zKSB7XG4gICAgICAuYnMtc3RlcHBlci1oZWFkZXIge1xuICAgICAgICAubGluZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgMC4zKSwgJHJnYmEtdG8taGV4LWJnKTtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhLXRvLWhleChyZ2JhKCRjb2xvciwgMC4zKSwgJHJnYmEtdG8taGV4LWJnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi53aXphcmQtaWNvbnMge1xuICAgICAgLnN0ZXAge1xuICAgICAgICAmLmNyb3NzZWQsXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAuYnMtc3RlcHBlci1sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuc3RlcCB7XG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIC5icy1zdGVwcGVyLWNpcmNsZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJGNvbG9yO1xuICAgICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLmJzLXN0ZXBwZXItaWNvbiB7XG4gICAgICAgICAgaSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBmaWxsOiAkY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuY3Jvc3NlZCB7XG4gICAgICAgIC5zdGVwLXRyaWdnZXIge1xuICAgICAgICAgIC5icy1zdGVwcGVyLWNpcmNsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmJzLXN0ZXBwZXItaWNvbiBzdmcge1xuICAgICAgICAgICAgZmlsbDogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5icy1zdGVwcGVyLWljb24gaSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICsgLmxpbmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBmaWxsOiAkY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICAgIGkge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwgeHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQGlmIG5vdCAkbiB7XG4gICAgQGVycm9yIFwiYnJlYWtwb2ludCBgI3skbmFtZX1gIG5vdCBmb3VuZCBpbiBgI3skYnJlYWtwb2ludHN9YFwiO1xuICB9XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIHJlZHVjZWQgYnkgMC4wMnB4IHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZlxuLy8gYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChtZCwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1heCBhbmQgJG1heCA+IDAsICRtYXggLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46ICBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogIGJyZWFrcG9pbnQtbWF4KCRuZXh0LCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmV4dCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiJdfQ== */

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZlbmRvci9zY3NzL3BhZ2VzL19taXhpbnMuc2NzcyIsInZlbmRvci9zY3NzL3RoZW1lLWRlZmF1bHQuY3NzIiwidmVuZG9yL3Njc3MvX2Jvb3RzdHJhcC1leHRlbmRlZC9taXhpbnMvX2FsZXJ0LnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy90aGVtZS1kZWZhdWx0LnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL21peGlucy9fbWlzYy5zY3NzIiwidmVuZG9yL3Njc3MvX2Jvb3RzdHJhcC1leHRlbmRlZC9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsInZlbmRvci9zY3NzL19ib290c3RyYXAtZXh0ZW5kZWQvbWl4aW5zL19tb2RhbC5zY3NzIiwidmVuZG9yL3Njc3MvX2Jvb3RzdHJhcC1leHRlbmRlZC9taXhpbnMvX3BvcG92ZXIuc2NzcyIsInZlbmRvci9zY3NzL19ib290c3RyYXAtZXh0ZW5kZWQvbWl4aW5zL190b29sdGlwLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL21peGlucy9fdGFibGUtdmFyaWFudHMuc2NzcyIsInZlbmRvci9zY3NzL19ib290c3RyYXAtZXh0ZW5kZWQvbWl4aW5zL19idXR0b25zLnNjc3MiLCJ2ZW5kb3Ivc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL192YXJpYWJsZXMuc2NzcyIsInZlbmRvci9zY3NzL19ib290c3RyYXAtZXh0ZW5kZWQvbWl4aW5zL19hY2NvcmRpb24uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Q0FBQTtBQ1FBO0VBQ0UsbUJBSFE7QUFEVjs7QUFPQTtFQUNFLDhCQUFBO0FBSkY7O0FBNEdFO0VDekZFLHlCQUFBO0FEZko7O0FBNEdFO0VDdEZJLHlCQUFBO0FEbEJOOztBQStERTtFRXhEQSxvQ0FBQTtBRkhGOztBRU1JO0VBQUEsb0NBQUE7QUZGSjs7QUVTTTtFQUNBLHlCRjlCVTtBQXdCaEI7O0FDVEU7RUVoQkEsb0NBQUE7RUZrQkUseUJBQUE7QURZSjs7QUl0QkE7Ozs7RUpGTSxxQkFMVTtFS2dIZCx5QkxoSGM7RUFRVixXQUFBO0FBOEJOO0FBMUJNOztFQUNFLDZLQUFBO0FBNkJSOztBQWJJOzs7O0VNM0JBLHFCQUFBO0VBQUEsY05GWTtFTUVaLHlCQUFBO0FOaURKO0FNM0NNOztFTjhCRSwyS0FBQTtBQWlCUjs7QUF0RE07RUlNTix5QkpQZ0I7QUEyRGhCOztBS3FERTs7RUx4R0UsY0FSWTtBQWdFaEI7QUF2REk7OztFSzRHQSxjTHJIWTtBQXFFaEI7O0FLTUU7RUFDRSx5QkRwRUY7RUpRRSx5QkFBQTtBQTBESjs7QUtRTTs7RUw3REYsY0FiTTtBQXVFVjtBS1NJOzs7RUxoRUUseUJBWGU7RUFZZixjQWpCSTtBQTZFVjtBS3NCSTs7RUw5RUUscUJBN0JVO0VBOEJWLHlCQTlCVTtFTUVaLGNBQUE7QU55Rko7O0FNL0VNO0VBQUEseUJBQUE7RUFDRSxjTjZOUztBQTFJakI7QUFyRE07RU1kRiwyS0FBQTtBTnNFSjs7QUF2Q1E7RU90RE4seUJQTmM7QUF1R2hCOztBSzNCSTtFRHhFRix5QkpLYTtFQVFYLHFCSVRGO0VDd0VFLGNMeEVNO0FBcUdWO0FLM0JNO0VMOURBLDBVQUFBO0FBNEZOO0FLdkJNO0VMakVBLGNBaEJJO0FBMkdWOztBQXJGTTtFTTVCRixvQ0FBQTtBTnFISjs7QU85R0k7RUFFRSxxQlBYVTtFQXFFWixjTzVEQTtBUG1ISjtBQXRESTtFRXhERiwwVUFBQTtBRmlIRjtBQXJESTtFQUNFLGNPbEVGO0FQeUhKOztBRTVHSTtFQUFBLG9DQUFBO0FGZ0hKOztBTXpIUTtFRlROLHlCSkpjO0VBMkNaLFdNL0JFO0FOK0hOO0FNOUdJO0VBQUEsdVVBQUE7QU5pSEo7QU03R007RUFDQSxXQXRCQTtBTnFJTjs7QUF6Rk07RU92REEsaUNBQUE7QVBvSk47O0FBakpVO0VBQ0UseUJBQUE7QUFvSlo7O0FBekpJO0VBQ0UsbUJBRFU7RUlPaEIsV0FBQTtBSnVKQTtBSzlDRTtFQUNFLHlCTGpIWTtBQWlLaEI7QUs3Q0U7RUFDRSwwQkxySFk7QUFvS2hCO0FBbkpNO0VLK0RGLDRCTGhGWTtBQXVLaEI7QUFsSk07RUttRUYsMkJMeEZZO0FBMEtoQjs7QUF6S0U7RUlNRix5QkFBQTtFQUNFLG1CSlJjO0FBK0toQjtBQTFLSTtFSzJHRixzQ0FBQTtFQUNFLHVCQUFBO0VMekdFLFdJSko7QUpnTEY7QUsvREk7RUx6R0UsdUJBQUE7RUFDQSwrQkFBQTtBQTJLTjtBQXhLSTtFQUNFLHlCQUFBO0FBMEtOO0FBdktNO0VBQ0Usb0NBQUE7QUF5S1I7QUF0S007RUFDRSxzQ0FBQTtBQXdLUjtBTS9MSTtFQUFBLHVDQUFBO0FOa01KO0FNL0xNO0VBQ0EscUNBQUE7QU5pTU47QUE3Sk07RUFDRSwrQ0FBQTtBQStKUjs7QUl0TUU7RUpDRSxzQkFBQTtFSzJHRiw4QkFBQTtFQUNFLGlDQUFBO0VMekdBLDZCQUFBO0VBQ0EsZ0NBQUE7RUsyR0YsNEJBQUE7RUFDRSwrQkFBQTtFTHhHQSxjQWJRO0VLMkVWLHFCQUFBO0FMMklGO0FLMUlJO0VMNURFLGNBaEJNO0FBeU5aOztBTW5OTTtFQUVBLFdENkdGO0VEakhGLHlCSkpjO0VNWVYscUJOWlU7QUErTmhCO0FNbE5RO0VONkJGLHNCQUFBO0VJdENKLG9DSnVDeUI7RU1kdkIsZ0NBQUE7QU51TUo7QU12TUk7RUFLRSxXRHNERjtFRHBGRix5QkpRbUI7RU15QmYscUJOcEJXO0VNb0JYLGdCQUFBO0FOcU1OO0FBbExJO0VPbERGLHNCQUFBO0VBRUUsb0NBQUE7RUFDQSxnQ0FBQTtBUHNPSjtBT3BPTTtFUDBERSxnQkFBQTtBQTZLUjs7QUF2S0U7O0VFeERBLCtCQUFBO0VBRUUsOEJBQUE7QUZtT0o7O0FReE9JO0VBQ0UsY0NqQkY7RVQyTEEscUJBN0JpQjtFUTFJZixtQlIwSWU7QUFnR3JCO0FBaEVNO0VRdEtBLDZLQUFBO0FSeU9OO0FRdE5RO0VSK0pGLGdDQUFBO0VBQ0EsOEJBQUE7RVU1TUoseUJBQUE7QVZ1UUY7QVUvUEk7RUFFQSxjVlRZO0VVVVosbUJGVEY7RUVVRSxxQkZWRjtBUjBRRjtBQXJESTtFQUlFLHlCQUFBO0VXdExKLG9DQUFBO0VBR0UsZ0NBQUE7QVh5T0o7O0FXcE9NOztFQUdGLCtCQUFBO0VBR0UsOEJBQUE7QVhvT047O0FDcFFJO0VEMkZBLGNBeEJZO0FBcU1oQjtBQ3RRTTtFRDRGRSw2S0FBQTtBQTZLUjtBQ3pOSTtFQUNBLHlCQzdDRTtFRm9HQSxtQkk1SFU7RUhzRVosY0R0RVk7QUFrU2hCO0FDeE5JO0VEd0RFLGNBbElVO0VBbUlWLG1CWXVHVztBWjREakI7QUFoS0k7RUMzRkEseUJBQUE7RURnR0UsOEJBQUE7RUFHQSxvQ0FBQTtBQTZKTjs7QUFoQ0U7RVdyREUsY1h0Tlk7RVcwTlYscUJYd0JXO0VXdkJYLHVCQUFBO0FYc0ZOO0FBakNNO0VBQ0UsNktBQUE7QUFtQ1I7QVdyTU07RUFDRSx5QkFBQTtFWDZLRixvQ0FBQTtFV25LRixnQ0FBQTtBWCtMSjtBVzVMTTtFQUdGLGNYaElZO0VXa0lWLHlCWDRIZTtFVzNIZixxQlgrR1c7QUE0RWpCO0FXcExNO0VBaUlKLHlCQUFBO0VBQ0Usb0NBQUE7RUFDQSxnQ0FBQTtBWHNESjs7QVdsRFE7RVhtQ0osbUJBcFRZO0VXMlJaLHFCWDNSWTtFVzRSVixXQUFBO0FYNkNOOztBQWhCRTs7Ozs7RUFLRSxtQkE5VFk7RVd3U1oscUJYeFNZO0VXNlNWLFdBQUE7QVhzQ047O0FBbFZNO0VJTU4sNktBQUE7QUpnVkE7QUtsT0k7RUx4R0UsMENBUTZCO0VLc0RqQyx5QkFBQTtBTGdSRjs7QUszUUk7O0VMNURBLDBDQUMrQjtFQUEvQix5QkFBQTtBQTRVSjtBS3pRSTs7RUFDRSxzQkFBQTtBTDRRTjs7QUtqUEU7RUx4R0ksY0FBQTtBQTZWTjs7QUt2Uk07RUFNRix5Qkx4Rlk7RUt5RlYsV0FBQTtBTHFSTjs7QUFoVlE7RU01QkosY05GWTtBQWtYaEI7QU0xV007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QTtBQTJwQ047QUt4bENJOzs7OztFTGhFSSxjQUFBO0FBK3BDUjtBSzdrQ0k7OztFQUNBLGNBQUE7QUxpbENKO0FNMXJDSTs7O0VBR0UseUJBQUE7QU40ckNOO0FNcnJDTTtFQUNFLHNCQUFBO0FOdXJDUjtBTXZxQ0k7RUFBQSx5Qk43Qlk7QUF1c0NoQjtBTWxxQ007RUFDRSx5Qk43Qlc7RUE4Q1gseUJBQUE7QUFvcENSO0FBaHBDSTtFQUNFLG1CQTVEVTtBQThzQ2hCO0FPeHNDRTtFQUVFLFdBQUE7QVB5c0NKO0FPeHNDSTtFQUVFLGlIQUFBO0FQeXNDTjtBQTlvQ0k7RUV4REYsY0FBQTtBRnlzQ0Y7QUE3b0NJO0VBQ0UsY0FBQTtBQStvQ047QUVyc0NJOzs7RUFDQSxvQ0FBQTtBRnlzQ0o7QUV0c0NNO0VGNERBLHlCQUFBO0FBNm9DTjtBRXJzQ007O0VBRUEsdURBQUE7QUZ1c0NOOztBT3B1Q1E7RURHRjtJQUNBLHNER1lFO0VUeXRDTjtBQUNGO0FNaHVDTTtFQUNFLHFEQUFBO0FOa3VDUjtBQXJzQ0k7RUFDRSxnQktxRUo7QUxrb0NGOztBQWp2Q0U7RUlNRixjQUFBO0FKK3VDQTtBQWx2Q0k7RUFDRSxjQUFBO0FBb3ZDTjtBS3hvQ0k7RUx4R0ksY0FBQTtBQW12Q1I7QUFodkNNO0VBQ0UseUJBQUE7QUFrdkNSO0FBOXVDSTtFSytEQSxjQUFBO0FMa3JDSjtBQTd1Q0k7Ozs7RUFJRSxjQUFBO0FBK3VDTjtBSzdwQ0k7RUw5RUUsOENBQUE7QUE4dUNOO0FBQ0EsNmk0S0FBNmk0SyIsImZpbGUiOiJ2ZW5kb3Ivc2Nzcy90aGVtZS1kZWZhdWx0LmRpc3QuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiogUGFnZXMgTWl4aW5zXG4qL1xuQGltcG9ydCAnLi4vLi4vc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL2Z1bmN0aW9ucyc7XG5cbkBtaXhpbiBpY29uLXRoZW1lKCRjb2xvcikge1xuICAuaWNvbi1jYXJkLmFjdGl2ZSB7XG4gICAgb3V0bGluZTogMXB4IHNvbGlkICRjb2xvcjtcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBcHAgQ2hhdFxuQG1peGluIGFwcC1jaGF0LXRoZW1lKCRjb2xvcikge1xuICAuYXBwLWNoYXQge1xuICAgIC5zaWRlYmFyLWJvZHkge1xuICAgICAgLmNoYXQtY29udGFjdC1saXN0IHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmFwcC1jaGF0LWhpc3Rvcnkge1xuICAgICAgLmNoYXQtaGlzdG9yeSB7XG4gICAgICAgIC5jaGF0LW1lc3NhZ2Uge1xuICAgICAgICAgICYuY2hhdC1tZXNzYWdlLXJpZ2h0IHtcbiAgICAgICAgICAgIC5jaGF0LW1lc3NhZ2UtdGV4dCB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLypcbiogUGFnZXMgTWl4aW5zXG4qL1xuQGltcG9ydCAnLi4vLi4vc2Nzcy9fYm9vdHN0cmFwLWV4dGVuZGVkL2Z1bmN0aW9ucyc7XG5cbkBtaXhpbiBpY29uLXRoZW1lKCRjb2xvcikge1xuICAuaWNvbi1jYXJkLmFjdGl2ZSB7XG4gICAgb3V0bGluZTogMXB4IHNvbGlkICRjb2xvcjtcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBcHAgQ2hhdFxuQG1peGluIGFwcC1jaGF0LXRoZW1lKCRjb2xvcikge1xuICAuYXBwLWNoYXQge1xuICAgIC5zaWRlYmFyLWJvZHkge1xuICAgICAgLmNoYXQtY29udGFjdC1saXN0IHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmFwcC1jaGF0LWhpc3Rvcnkge1xuICAgICAgLmNoYXQtaGlzdG9yeSB7XG4gICAgICAgIC5jaGF0LW1lc3NhZ2Uge1xuICAgICAgICAgICYuY2hhdC1tZXNzYWdlLXJpZ2h0IHtcbiAgICAgICAgICAgIC5jaGF0LW1lc3NhZ2UtdGV4dCB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQWxlcnRzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kOiBudWxsLCAkYm9yZGVyOiBudWxsLCAkY29sb3I6IG51bGwpIHtcbn1cblxuLy8gQmFzaWMgQWxlcnRzXG5AbWl4aW4gdGVtcGxhdGUtYWxlcnQtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCkge1xuICAkYm9yZGVyOiBpZihcbiAgICAkZGFyay1zdHlsZSxcbiAgICBzaGlmdC1jb2xvcigkYmFja2dyb3VuZCwgLSRhbGVydC1ib3JkZXItc2NhbGUsICRjYXJkLWJnKSxcbiAgICBzaGlmdC1jb2xvcigkYmFja2dyb3VuZCwgJGFsZXJ0LWJvcmRlci1zY2FsZSwgJGNhcmQtYmcpXG4gICk7XG4gICRjb2xvcjogaWYoJGRhcmstc3R5bGUsIHNoaWZ0LWNvbG9yKCRiYWNrZ3JvdW5kLCAtJGFsZXJ0LWNvbG9yLXNjYWxlKSwgc2hpZnQtY29sb3IoJGJhY2tncm91bmQsICRhbGVydC1jb2xvci1zY2FsZSkpO1xuICAkYmFja2dyb3VuZDogaWYoXG4gICAgJGRhcmstc3R5bGUsXG4gICAgc2hpZnQtY29sb3IoJGJhY2tncm91bmQsIC0kYWxlcnQtYmctc2NhbGUsICRjYXJkLWJnKSxcbiAgICBzaGlmdC1jb2xvcigkYmFja2dyb3VuZCwgJGFsZXJ0LWJnLXNjYWxlLCAkY2FyZC1iZylcbiAgKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgLmJ0bi1jbG9zZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBzdHItcmVwbGFjZShzdHItcmVwbGFjZSgkYnRuLWNsb3NlLWJnLCAnI3skYnRuLWNsb3NlLWNvbG9yfScsICRjb2xvciksICcjJywgJyUyMycpO1xuICAgIH1cblxuICAgIC5hbGVydC1saW5rIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmNhcmQge1xuICAgICN7JHBhcmVudH0ge1xuICAgICAgaHIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU29saWQgQWxlcnRzXG5AbWl4aW4gdGVtcGxhdGUtYWxlcnQtc29saWQtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKSk7XG5cbiAgI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAuYnRuLWNsb3NlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRidG4tY2xvc2UtYmcsICcjeyRidG4tY2xvc2UtY29sb3J9JywgJGNvbG9yKSwgJyMnLCAnJTIzJyk7XG4gICAgfVxuXG4gICAgLmFsZXJ0LWxpbmsge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cblxuICAuY2FyZCB7XG4gICAgI3skcGFyZW50fSB7XG4gICAgICBociB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPdXRsaW5lIEFsZXJ0c1xuQG1peGluIHRlbXBsYXRlLWFsZXJ0LW91dGxpbmUtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICRjb2xvcjogaWYoJGRhcmstc3R5bGUsIHNoaWZ0LWNvbG9yKCRiYWNrZ3JvdW5kLCAtJGFsZXJ0LWNvbG9yLXNjYWxlKSwgc2hpZnQtY29sb3IoJGJhY2tncm91bmQsICRhbGVydC1jb2xvci1zY2FsZSkpO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICAuYnRuLWNsb3NlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHN0ci1yZXBsYWNlKHN0ci1yZXBsYWNlKCRidG4tY2xvc2UtYmcsICcjeyRidG4tY2xvc2UtY29sb3J9JywgJGJhY2tncm91bmQpLCAnIycsICclMjMnKTtcbiAgICB9XG5cbiAgICAuYWxlcnQtbGluayB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5jYXJkIHtcbiAgICAjeyRwYXJlbnR9IHtcbiAgICAgIGhyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBMaXN0IGdyb3Vwc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlOiBudWxsLCAkYmFja2dyb3VuZDogbnVsbCwgJGNvbG9yOiBudWxsKSB7XG59XG5cbi8vIEJhc2ljIExpc3QgZ3JvdXBzXG5AbWl4aW4gdGVtcGxhdGUtbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCkge1xuICAkYmFja2dyb3VuZC1jb2xvcjogaWYoXG4gICAgJGRhcmstc3R5bGUsXG4gICAgc2hpZnQtY29sb3IoJGJhY2tncm91bmQsIC0kbGlzdC1ncm91cC1pdGVtLWJnLXNjYWxlLCAkY2FyZC1iZyksXG4gICAgc2hpZnQtY29sb3IoJGJhY2tncm91bmQsICRsaXN0LWdyb3VwLWl0ZW0tYmctc2NhbGUsICRjYXJkLWJnKVxuICApO1xuICAkY29sb3I6IGlmKFxuICAgICRwYXJlbnQgPT0gJy5saXN0LWdyb3VwLWl0ZW0tZGFyaycgYW5kICRkYXJrLXN0eWxlLFxuICAgIGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKSxcbiAgICBzaGlmdC1jb2xvcigkYmFja2dyb3VuZCwgJGxpc3QtZ3JvdXAtaXRlbS1jb2xvci1zY2FsZSlcbiAgKTtcbiAgJGhvdmVyLWJhY2tncm91bmQ6IHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLWNvbG9yLCAkbGlzdC1ncm91cC1pdGVtLWJnLWhvdmVyLXNjYWxlKTtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG5cbiAgYSN7JHBhcmVudH0sXG4gIGJ1dHRvbiN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0ZW1wbGF0ZS1saXN0LWdyb3VwLXRoZW1lKCRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgQGluY2x1ZGUgdGVtcGxhdGUtbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJy5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeScsICRiYWNrZ3JvdW5kKTtcblxuICAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYS10by1oZXgocmdiYSgkYmFja2dyb3VuZCwgMC4wOCksICRyZ2JhLXRvLWhleC1iZyk7XG4gICAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcbiAgICAmLndhdmVzLWVmZmVjdCB7XG4gICAgICAud2F2ZXMtcmlwcGxlIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KFxuICAgICAgICAgIHJnYmEoJGJhY2tncm91bmQsIDAuMikgMCxcbiAgICAgICAgICByZ2JhKCRiYWNrZ3JvdW5kLCAwLjMpIDQwJSxcbiAgICAgICAgICByZ2JhKCRiYWNrZ3JvdW5kLCAwLjQpIDUwJSxcbiAgICAgICAgICByZ2JhKCRiYWNrZ3JvdW5kLCAwLjUpIDYwJSxcbiAgICAgICAgICByZ2JhKCRibGFjaywgMCkgNzAlXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0ZW1wbGF0ZS1saXN0LWdyb3VwLXRpbWVsaW5lLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQpIHtcbiAgLmxpc3QtZ3JvdXAge1xuICAgICYubGlzdC1ncm91cC10aW1lbGluZSB7XG4gICAgICAjeyRwYXJlbnR9IHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBHcmFkaWVudHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYWRpZW50LWJnLW1peGluXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yOiBudWxsKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgZ3JhZGllbnQtYmctbWl4aW5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYWRpZW50LW1peGluc1xuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IG51bGwsICRlbmQtcGVyY2VudDogbnVsbCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBncmFkaWVudC1taXhpbnNcbiIsIkBpbXBvcnQgJy4vX2NvbXBvbmVudHMvaW5jbHVkZSc7XG5AaW1wb3J0ICcuL190aGVtZS9jb21tb24nO1xuQGltcG9ydCAnLi9fdGhlbWUvbGlicyc7XG5AaW1wb3J0ICcuL190aGVtZS9wYWdlcyc7XG5cbiRwcmltYXJ5LWNvbG9yOiAjNjY2Y2ZmO1xuJGJvZHktYmc6ICNmN2Y3Zjk7XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kOiAkYm9keS1iZztcbn1cblxuLmJnLWJvZHkge1xuICBiYWNrZ3JvdW5kOiAkYm9keS1iZyAhaW1wb3J0YW50O1xufVxuXG5AaW5jbHVkZSB0ZW1wbGF0ZS1jb21tb24tdGhlbWUoJHByaW1hcnktY29sb3IpO1xuQGluY2x1ZGUgdGVtcGxhdGUtbGlicy10aGVtZSgkcHJpbWFyeS1jb2xvcik7XG5AaW5jbHVkZSB0ZW1wbGF0ZS1wYWdlcy10aGVtZSgkcHJpbWFyeS1jb2xvcik7XG5cbi8vIE5hdmJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSB0ZW1wbGF0ZS1uYXZiYXItc3R5bGUoJy5iZy1uYXZiYXItdGhlbWUnLCAkY2FyZC1iZywgJGNvbG9yOiAkaGVhZGluZ3MtY29sb3IsICRhY3RpdmUtY29sb3I6ICRoZWFkaW5ncy1jb2xvcik7XG5cbi5sYXlvdXQtaG9yaXpvbnRhbCAubGF5b3V0LW5hdmJhciB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDAgJGJvcmRlci1jb2xvcjtcbn1cblxuLy8gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIHRlbXBsYXRlLW1lbnUtc3R5bGUoXG4gICcuYmctbWVudS10aGVtZScsXG4gICRib2R5LWJnLFxuICAkY29sb3I6ICRoZWFkaW5ncy1jb2xvcixcbiAgJGFjdGl2ZS1jb2xvcjogJGhlYWRpbmdzLWNvbG9yLFxuICAkYm9yZGVyOiB0cmFuc3BhcmVudCxcbiAgJGFjdGl2ZS1iZzogJHByaW1hcnktY29sb3Jcbik7XG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5sYXlvdXQtbWVudS1jb2xsYXBzZWQubGF5b3V0LW1lbnUtaG92ZXIgLmJnLW1lbnUtdGhlbWUge1xuICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxnO1xuICB9XG59XG4uYmctbWVudS10aGVtZSB7XG4gICYubWVudS1ob3Jpem9udGFsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjYXJkLWJnLCAwLjkpICFpbXBvcnRhbnQ7XG4gICAgLm1lbnUtaW5uZXIgLm1lbnUtaXRlbTpub3QoLm1lbnUtaXRlbS1jbG9zaW5nKSA+IC5tZW51LXN1YiB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY2FyZC1iZztcbiAgICB9XG4gIH1cbn1cblxuLy8gRm9vdGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIHRlbXBsYXRlLWZvb3Rlci1zdHlsZSgnLmJnLWZvb3Rlci10aGVtZScsICRib2R5LWJnLCAkY29sb3I6ICRib2R5LWNvbG9yLCAkYWN0aXZlLWNvbG9yOiAkaGVhZGluZ3MtY29sb3IpO1xuIiwiLy8gKiBMaWdodC9EYXJrIGxheW91dFxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuQG1peGluIGxpZ2h0LWxheW91dC1vbmx5KCkge1xuICBAaWYgJGRhcmstc3R5bGUge1xuICAgIGh0bWw6bm90KC5kYXJrLXN0eWxlKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBkYXJrLWxheW91dC1vbmx5KCkge1xuICBAaWYgJGRhcmstc3R5bGUge1xuICAgIC5kYXJrLXN0eWxlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyAqIFJUTC9MVFJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuQG1peGluIGx0ci1vbmx5KCkge1xuICBAaWYgJHJ0bC1zdXBwb3J0IHtcbiAgICBodG1sOm5vdChbZGlyPSdydGwnXSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcnRsLW9ubHkoKSB7XG4gIEBpZiAkcnRsLXN1cHBvcnQge1xuICAgIFtkaXI9J3J0bCddIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbHRyLXN0eWxlKCkge1xuICBAaWYgJHJ0bC1zdXBwb3J0IHtcbiAgICBodG1sOm5vdChbZGlyPSdydGwnXSkgJiB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBydGwtc3R5bGUoKSB7XG4gIEBpZiAkcnRsLXN1cHBvcnQge1xuICAgIFtkaXI9J3J0bCddICYge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vICogS2V5ZnJhbWVzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcbiAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIEAtbW96LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyAqIENvbG9yc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5AbWl4aW4gYmctY29sb3ItdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRydGgtY29sb3I6ICMwMDApIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cblxuICBhI3skcGFyZW50fSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEtdG8taGV4KHJnYmEoJGNvbG9yLCAwLjk1KSwgJGJhY2tncm91bmQ6ICRydGgtY29sb3IpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8hIEZpeDogRHJvcGRvd24gbm90aWZpY2F0aW9uIHJlYWQgYmFkZ2UgYmcgY29sb3JcbiAgLmRyb3Bkb3duLW5vdGlmaWNhdGlvbnMtaXRlbTpub3QoLm1hcmstYXMtcmVhZCkge1xuICAgIC5kcm9wZG93bi1ub3RpZmljYXRpb25zLXJlYWQgc3BhbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJHJ0aC1jb2xvcjogIzAwMCkge1xuICBAaW5jbHVkZSBiZy1jb2xvci12YXJpYW50KCRwYXJlbnQsICRjb2xvcik7XG59XG5cbi8vIEJHIExhYmVsXG5AbWl4aW4gYmctbGFiZWwtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiAkYmFja2dyb3VuZCkge1xuICAkbGFiZWwtYmFja2dyb3VuZDogaWYoXG4gICAgJGRhcmstc3R5bGUsXG4gICAgc2hhZGUtY29sb3IoJGJhY2tncm91bmQsICRidG4tbGFiZWwtYmctc2hhZGUtYW1vdW50LCAkY2FyZC1iZyksXG4gICAgdGludC1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1sYWJlbC1iZy10aW50LWFtb3VudCwgJGNhcmQtYmcpXG4gICk7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsYWJlbC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCBjb2xvci1jb250cmFzdCgkYmcpKSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiB0ZXh0LXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICAvLyEgRml4OiB0ZXh0LWJvZHkgaG92ZXIgY29sb3JcbiAgLnRleHQtYm9keVtocmVmXTpob3ZlciB7XG4gICAgY29sb3I6IHNoaWZ0LWNvbG9yKCRjb2xvciwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSkgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gUGFnaW5hdGlvblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4vLyBCYXNpYyBQYWdpbmF0aW9uXG5AbWl4aW4gdGVtcGxhdGUtcGFnaW5hdGlvbi12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgI3skcGFyZW50fSAucGFnZS1pdGVtLmFjdGl2ZSAucGFnZS1saW5rLFxuICAjeyRwYXJlbnR9LnBhZ2luYXRpb24gbGkuYWN0aXZlID4gYTpub3QoLnBhZ2UtbGluaykge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgIC8vIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRwYWdpbmF0aW9uLWFjdGl2ZS1iZyk7XG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKSk7XG4gICAgfVxuXG4gICAgJi53YXZlcy1lZmZlY3Qge1xuICAgICAgLndhdmVzLXJpcHBsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChcbiAgICAgICAgICByZ2JhKCR3aGl0ZSwgMC4yKSAwLFxuICAgICAgICAgIHJnYmEoJHdoaXRlLCAwLjMpIDQwJSxcbiAgICAgICAgICByZ2JhKCR3aGl0ZSwgMC40KSA1MCUsXG4gICAgICAgICAgcmdiYSgkd2hpdGUsIDAuNSkgNjAlLFxuICAgICAgICAgIHJnYmEoJHdoaXRlLCAwKSA3MCVcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gUGFnaW5hdGlvbiBPdXRsaW5lIFZhcmlhbnRcbkBtaXhpbiB0ZW1wbGF0ZS1wYWdpbmF0aW9uLW91dGxpbmUtdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICN7JHBhcmVudH0gLnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGluayxcbiAgI3skcGFyZW50fS5wYWdpbmF0aW9uIGxpLmFjdGl2ZSA+IGE6bm90KC5wYWdlLWxpbmspIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEtdG8taGV4KHJnYmEoJGJhY2tncm91bmQsIDAuNSksICRyZ2JhLXRvLWhleC1iZyk7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhLXRvLWhleChyZ2JhKCRiYWNrZ3JvdW5kLCAwLjA1KSwgJHJnYmEtdG8taGV4LWJnKTtcbiAgICB9XG4gICAgJi53YXZlcy1lZmZlY3Qge1xuICAgICAgLndhdmVzLXJpcHBsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChcbiAgICAgICAgICByZ2JhKCRiYWNrZ3JvdW5kLCAwLjIpIDAsXG4gICAgICAgICAgcmdiYSgkYmFja2dyb3VuZCwgMC4zKSA0MCUsXG4gICAgICAgICAgcmdiYSgkYmFja2dyb3VuZCwgMC40KSA1MCUsXG4gICAgICAgICAgcmdiYSgkYmFja2dyb3VuZCwgMC41KSA2MCUsXG4gICAgICAgICAgcmdiYSgkYmxhY2ssIDApIDcwJVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdGVtcGxhdGUtcGFnaW5hdGlvbi10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gIEBpbmNsdWRlIHRlbXBsYXRlLXBhZ2luYXRpb24tdmFyaWFudCgnJywgJGJhY2tncm91bmQsICRjb2xvcik7XG59XG4iLCIvLyBNb2RhbFxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5AbWl4aW4gdGVtcGxhdGUtbW9kYWwtb25ib2FyZGluZy10aGVtZSgkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5tb2RhbC1vbmJvYXJkaW5nIHtcbiAgICAuY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gICAgICBbZGF0YS1icy10YXJnZXRdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4gIC5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUG9wb3ZlcnNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuQG1peGluIHRlbXBsYXRlLXBvcG92ZXItdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsKSB7XG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKSk7XG5cbiAgI3skcGFyZW50fSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAgIC5wb3BvdmVyLWhlYWRlciB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoY29sb3ItY29udHJhc3QoJGJhY2tncm91bmQpLCAwLjIpO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cblxuICAgIC5wb3BvdmVyLWJvZHkge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogcmdiYSgkY29sb3IsIDAuOCk7XG4gICAgfVxuXG4gICAgPiAucG9wb3Zlci1hcnJvdzo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgICYuYnMtcG9wb3Zlci1hdXRvIHtcbiAgICAgICZbZGF0YS1wb3BwZXItcGxhY2VtZW50PSd0b3AnXSA+IC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICZbZGF0YS1wb3BwZXItcGxhY2VtZW50PSdyaWdodCddID4gLnBvcG92ZXItYXJyb3c6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZbZGF0YS1wb3BwZXItcGxhY2VtZW50PSdib3R0b20nXSA+IC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICZbZGF0YS1wb3BwZXItcGxhY2VtZW50PSdsZWZ0J10gPiAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICAgICAgQGluY2x1ZGUgcnRsLXN0eWxlIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnQ9J2JvdHRvbSddIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBUb29sdGlwc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5AbWl4aW4gdGVtcGxhdGUtdG9vbHRpcC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgLnRvb2x0aXAtaW5uZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICBjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKSk7XG4gICAgfVxuXG4gICAgJi5icy10b29sdGlwLWF1dG8ge1xuICAgICAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnQ9J3RvcCddIC50b29sdGlwLWFycm93OjpiZWZvcmUge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgIH1cblxuICAgICAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnQ9J2xlZnQnXSAudG9vbHRpcC1hcnJvdzo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICBAaW5jbHVkZSBydGwtc3R5bGUge1xuICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnQ9J2JvdHRvbSddIC50b29sdGlwLWFycm93OjpiZWZvcmUge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgIH1cblxuICAgICAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnQ9J3JpZ2h0J10gLnRvb2x0aXAtYXJyb3c6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC1zdHlsZSB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZXNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuQG1peGluIHRlbXBsYXRlLXRhYmxlLXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRsYXlvdXQtY29sb3I6ICR3aGl0ZSkge1xuICAudGFibGUtI3skcGFyZW50fSB7XG4gICAgJGNvbG9yOiBjb2xvci1jb250cmFzdChvcGFxdWUoJGJvZHktYmcsICRiYWNrZ3JvdW5kKSk7XG4gICAgJGhvdmVyLWJnOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtaG92ZXItYmctZmFjdG9yKSk7XG4gICAgJHN0cmlwZWQtYmc6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1zdHJpcGVkLWJnLWZhY3RvcikpO1xuICAgICRhY3RpdmUtYmc6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1hY3RpdmUtYmctZmFjdG9yKSk7XG5cbiAgICAtLSN7JHZhcmlhYmxlLXByZWZpeH10YWJsZS1iZzogI3skYmFja2dyb3VuZH07XG4gICAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9dGFibGUtc3RyaXBlZC1iZzogI3skc3RyaXBlZC1iZ307XG4gICAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcjogI3tjb2xvci1jb250cmFzdCgkc3RyaXBlZC1iZyl9O1xuICAgIC0tI3skdmFyaWFibGUtcHJlZml4fXRhYmxlLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJnfTtcbiAgICAtLSN7JHZhcmlhYmxlLXByZWZpeH10YWJsZS1hY3RpdmUtY29sb3I6ICN7Y29sb3ItY29udHJhc3QoJGFjdGl2ZS1iZyl9O1xuICAgIC0tI3skdmFyaWFibGUtcHJlZml4fXRhYmxlLWhvdmVyLWJnOiAjeyRob3Zlci1iZ307XG4gICAgLS0jeyR2YXJpYWJsZS1wcmVmaXh9dGFibGUtaG92ZXItY29sb3I6ICN7Y29sb3ItY29udHJhc3QoJGhvdmVyLWJnKX07XG5cbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLWJvcmRlci1mYWN0b3IpKTtcbiAgICAuYnRuLWljb24ge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbnNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLy8gQmFzaWNcbkBtaXhpbiBidXR0b24tdmFyaWFudChcbiAgJGJhY2tncm91bmQ6IG51bGwsXG4gICRib3JkZXI6IG51bGwsXG4gICRob3Zlci1iYWNrZ3JvdW5kOiBudWxsLFxuICAkaG92ZXItYm9yZGVyOiBudWxsLFxuICAkYWN0aXZlLWJhY2tncm91bmQ6IG51bGwsXG4gICRhY3RpdmUtYm9yZGVyOiBudWxsXG4pIHtcbn1cbkBtaXhpbiB0ZW1wbGF0ZS1idXR0b24tdmFyaWFudCgkcGFyZW50LCAkYmFja2dyb3VuZCwgJGNvbG9yOiBudWxsLCAkYm9yZGVyOiBudWxsKSB7XG4gICRiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgJGJvcmRlcjogJGJhY2tncm91bmQ7XG4gICRjb2xvcjogaWYoJGNvbG9yLCAkY29sb3IsIGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKSk7XG4gICRob3Zlci1iYWNrZ3JvdW5kOiBpZihcbiAgICAkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LFxuICAgIHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWhvdmVyLWJnLXNoYWRlLWFtb3VudCksXG4gICAgdGludC1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1ob3Zlci1iZy10aW50LWFtb3VudClcbiAgKTtcbiAgJGhvdmVyLWJvcmRlcjogaWYoXG4gICAgJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCxcbiAgICBzaGFkZS1jb2xvcigkYm9yZGVyLCAkYnRuLWhvdmVyLWJvcmRlci1zaGFkZS1hbW91bnQpLFxuICAgIHRpbnQtY29sb3IoJGJvcmRlciwgJGJ0bi1ob3Zlci1ib3JkZXItdGludC1hbW91bnQpXG4gICk7XG4gICRob3Zlci1jb2xvcjogY29sb3ItY29udHJhc3QoJGhvdmVyLWJhY2tncm91bmQpO1xuXG4gICRhY3RpdmUtYmFja2dyb3VuZDogaWYoXG4gICAgJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCxcbiAgICBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1hY3RpdmUtYmctc2hhZGUtYW1vdW50KSxcbiAgICB0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWFjdGl2ZS1iZy10aW50LWFtb3VudClcbiAgKTtcbiAgJGFjdGl2ZS1ib3JkZXI6IGlmKFxuICAgICRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsXG4gICAgc2hhZGUtY29sb3IoJGJvcmRlciwgJGJ0bi1hY3RpdmUtYm9yZGVyLXNoYWRlLWFtb3VudCksXG4gICAgdGludC1jb2xvcigkYm9yZGVyLCAkYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQpXG4gICk7XG4gICRhY3RpdmUtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRhY3RpdmUtYmFja2dyb3VuZCk7XG5cbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkaG92ZXItY29sb3IgIWltcG9ydGFudDtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmJ0bi1jaGVjazpmb2N1cyArICYsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkaG92ZXItY29sb3I7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIC5idG4tY2hlY2s6Y2hlY2tlZCArICYsXG4gICAgLmJ0bi1jaGVjazphY3RpdmUgKyAmLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlLFxuICAgICYuc2hvdy5kcm9wZG93bi10b2dnbGUsXG4gICAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICBjb2xvcjogJGFjdGl2ZS1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBub25lICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlciAhaW1wb3J0YW50O1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBCdXR0b24gZ3JvdXBzXG4gIC5idG4tZ3JvdXAgI3skcGFyZW50fSxcbiAgLmlucHV0LWdyb3VwICN7JHBhcmVudH0ge1xuICAgIGJvcmRlci1yaWdodDogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1sZWZ0OiAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCBzb2xpZCAkYWN0aXZlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIHRlbXBsYXRlLWJ1dHRvbi10ZXh0LXZhcmlhbnQoJHBhcmVudCwgJGJhY2tncm91bmQsICRjb2xvcjogbnVsbCwgJGJvcmRlcjogbnVsbCkge1xuICAkYm9yZGVyOiB0cmFuc3BhcmVudDtcblxuICAkbGFiZWwtY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCAkYmFja2dyb3VuZCk7XG5cbiAgJGhvdmVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgJGhvdmVyLWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAkaG92ZXItYmFja2dyb3VuZDogaWYoXG4gICAgJGhvdmVyLWNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCxcbiAgICBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi10ZXh0LWhvdmVyLXNoYWRlLWFtb3VudCwgJGNhcmQtYmcpLFxuICAgIHRpbnQtY29sb3IoJGJhY2tncm91bmQsICRidG4tdGV4dC1ob3Zlci10aW50LWFtb3VudCwgJGNhcmQtYmcpXG4gICk7XG5cbiAgJGZvY3VzLWJhY2tncm91bmQ6IGlmKFxuICAgICRob3Zlci1jb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsXG4gICAgc2hhZGUtY29sb3IoJGJhY2tncm91bmQsICRidG4tdGV4dC1mb2N1cy1zaGFkZS1hbW91bnQsICRjYXJkLWJnKSxcbiAgICB0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLXRleHQtZm9jdXMtdGludC1hbW91bnQsICRjYXJkLWJnKVxuICApO1xuXG4gICRhY3RpdmUtY29sb3I6ICRob3Zlci1jb2xvcjtcbiAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBpZihcbiAgICAkYWN0aXZlLWNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCxcbiAgICBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi10ZXh0LWFjdGl2ZS1zaGFkZS1hbW91bnQsICRjYXJkLWJnKSxcbiAgICB0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLXRleHQtYWN0aXZlLXRpbnQtYW1vdW50LCAkY2FyZC1iZylcbiAgKTtcblxuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuICAgICYud2F2ZXMtZWZmZWN0IHtcbiAgICAgIC53YXZlcy1yaXBwbGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoXG4gICAgICAgICAgcmdiYSgkYmFja2dyb3VuZCwgMC4yKSAwLFxuICAgICAgICAgIHJnYmEoJGJhY2tncm91bmQsIDAuMykgNDAlLFxuICAgICAgICAgIHJnYmEoJGJhY2tncm91bmQsIDAuNCkgNTAlLFxuICAgICAgICAgIHJnYmEoJGJhY2tncm91bmQsIDAuNSkgNjAlLFxuICAgICAgICAgIHJnYmEoJHdoaXRlLCAwKSA3MCVcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAgIGJhY2tncm91bmQ6ICRob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgY29sb3I6ICRob3Zlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgY29sb3I6ICRob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQ6ICRmb2N1cy1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlLFxuICAgICYuc2hvdy5kcm9wZG93bi10b2dnbGUsXG4gICAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICBjb2xvcjogJGFjdGl2ZS1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogJGFjdGl2ZS1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBub25lICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIExhYmVsXG5AbWl4aW4gYnV0dG9uLWxhYmVsLXZhcmlhbnQoJGJhY2tncm91bmQ6IG51bGwsICRib3JkZXI6IG51bGwsICRhY3RpdmUtYmFja2dyb3VuZDogbnVsbCwgJGFjdGl2ZS1ib3JkZXI6IG51bGwpIHtcbn1cblxuQG1peGluIHRlbXBsYXRlLWJ1dHRvbi1sYWJlbC12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kLCAkY29sb3I6IG51bGwsICRib3JkZXI6IG51bGwpIHtcbiAgLy8gVXNpbmcgdGhlICRkYXJrLXN0eWxlIHZhcmlhYmxlIGZvciBjb25kaXRpb24gYXMgaW4gbGFiZWwgc3R5bGUgdGV4dCBjb2xvciBjYW4ndCBjb21wYXJlIHdpdGggJGNvbG9yLWNvbnRyYXN0LWxpZ2h0L2RhcmtcbiAgJGJvcmRlcjogdHJhbnNwYXJlbnQ7XG5cbiAgJGxhYmVsLWNvbG9yOiBpZigkY29sb3IsICRjb2xvciwgJGJhY2tncm91bmQpO1xuICAkaG92ZXItY29sb3I6IGlmKCRjb2xvciwgJGNvbG9yLCBjb2xvci1jb250cmFzdCgkYmFja2dyb3VuZCkpO1xuXG4gICRsYWJlbC1iYWNrZ3JvdW5kOiBpZihcbiAgICAkaG92ZXItY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LFxuICAgIHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWxhYmVsLWJnLXNoYWRlLWFtb3VudCwgJGNhcmQtYmcpLFxuICAgIHRpbnQtY29sb3IoJGJhY2tncm91bmQsICRidG4tbGFiZWwtYmctdGludC1hbW91bnQsICRjYXJkLWJnKVxuICApO1xuXG4gICRob3Zlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICRob3Zlci1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgJGhvdmVyLWJhY2tncm91bmQ6IGlmKFxuICAgICRob3Zlci1jb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsXG4gICAgc2hhZGUtY29sb3IoJGJhY2tncm91bmQsICRidG4tbGFiZWwtaG92ZXItc2hhZGUtYW1vdW50LCAkY2FyZC1iZyksXG4gICAgdGludC1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1sYWJlbC1ob3Zlci10aW50LWFtb3VudCwgJGNhcmQtYmcpXG4gICk7XG5cbiAgJGZvY3VzLWJhY2tncm91bmQ6IGlmKFxuICAgICRob3Zlci1jb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsXG4gICAgc2hhZGUtY29sb3IoJGJhY2tncm91bmQsICRidG4tbGFiZWwtZm9jdXMtc2hhZGUtYW1vdW50LCAkY2FyZC1iZyksXG4gICAgdGludC1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1sYWJlbC1mb2N1cy10aW50LWFtb3VudCwgJGNhcmQtYmcpXG4gICk7XG5cbiAgJGFjdGl2ZS1jb2xvcjogJGhvdmVyLWNvbG9yO1xuICAkYWN0aXZlLWJhY2tncm91bmQ6IGlmKFxuICAgICRhY3RpdmUtY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LFxuICAgIHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWxhYmVsLWFjdGl2ZS1zaGFkZS1hbW91bnQsICRjYXJkLWJnKSxcbiAgICB0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWxhYmVsLWFjdGl2ZS10aW50LWFtb3VudCwgJGNhcmQtYmcpXG4gICk7XG5cbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgICYud2F2ZXMtZWZmZWN0IHtcbiAgICAgIC53YXZlcy1yaXBwbGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoXG4gICAgICAgICAgcmdiYSgkYmFja2dyb3VuZCwgMC4yKSAwLFxuICAgICAgICAgIHJnYmEoJGJhY2tncm91bmQsIDAuMykgNDAlLFxuICAgICAgICAgIHJnYmEoJGJhY2tncm91bmQsIDAuNCkgNTAlLFxuICAgICAgICAgIHJnYmEoJGJhY2tncm91bmQsIDAuNSkgNjAlLFxuICAgICAgICAgIHJnYmEoJHdoaXRlLCAwKSA3MCVcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQ6ICRob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJGhvdmVyLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kOiAkZm9jdXMtYmFja2dyb3VuZDtcbiAgICAgIGJvcmRlci1jb2xvcjogJGZvY3VzLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUsXG4gICAgJi5zaG93LmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgIGNvbG9yOiAkYWN0aXZlLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIG5vbmUgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJ1dHRvbiBncm91cHNcbiAgLmJ0bi1ncm91cCAjeyRwYXJlbnR9LFxuICAuaW5wdXQtZ3JvdXAgI3skcGFyZW50fSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCBzb2xpZCAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWxlZnQ6ICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoIHNvbGlkICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgfVxufVxuXG4vLyBPdXRsaW5lXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3I6IG51bGwsICRjb2xvci1ob3ZlcjogbnVsbCwgJGhvdmVyLWNvbG9yOiBudWxsKSB7XG59XG5cbkBtaXhpbiB0ZW1wbGF0ZS1idXR0b24tb3V0bGluZS12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGhvdmVyLWNvbG9yOiBudWxsKSB7XG4gICRjb2xvcjogJGNvbG9yO1xuICAkY29sb3ItaG92ZXI6ICRjb2xvcjtcblxuICAkYm9yZGVyLWNvbG9yOiBpZihcbiAgICAkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LFxuICAgIHNoYWRlLWNvbG9yKCRjb2xvciwgJGJ0bi1vdXRsaW5lLWJvcmRlci1zaGFkZS1hbW91bnQsICRjYXJkLWJnKSxcbiAgICB0aW50LWNvbG9yKCRjb2xvciwgJGJ0bi1vdXRsaW5lLWJvcmRlci10aW50LWFtb3VudCwgJGNhcmQtYmcpXG4gICk7XG5cbiAgJGhvdmVyLWJhY2tncm91bmQ6IGlmKFxuICAgICRjb2xvci1ob3ZlciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsXG4gICAgc2hhZGUtY29sb3IoJGNvbG9yLCAkYnRuLW91dGxpbmUtaG92ZXItYmctc2hhZGUtYW1vdW50LCAkY2FyZC1iZyksXG4gICAgdGludC1jb2xvcigkY29sb3IsICRidG4tb3V0bGluZS1ob3Zlci1iZy10aW50LWFtb3VudCwgJGNhcmQtYmcpXG4gICk7XG5cbiAgJGZvY3VzLWJhY2tncm91bmQ6IGlmKFxuICAgICRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsXG4gICAgc2hhZGUtY29sb3IoJGNvbG9yLCAkYnRuLW91dGxpbmUtZm9jdXMtYmctc2hhZGUtYW1vdW50LCAkY2FyZC1iZyksXG4gICAgdGludC1jb2xvcigkY29sb3IsICRidG4tb3V0bGluZS1mb2N1cy1iZy10aW50LWFtb3VudCwgJGNhcmQtYmcpXG4gICk7XG4gICRhY3RpdmUtYmFja2dyb3VuZDogaWYoXG4gICAgJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCxcbiAgICBzaGFkZS1jb2xvcigkY29sb3IsICRidG4tb3V0bGluZS1hY3RpdmUtYmctc2hhZGUtYW1vdW50LCAkY2FyZC1iZyksXG4gICAgdGludC1jb2xvcigkY29sb3IsICRidG4tb3V0bGluZS1hY3RpdmUtYmctdGludC1hbW91bnQsICRjYXJkLWJnKVxuICApO1xuICAkYWN0aXZlLWJvcmRlcjogJGJvcmRlci1jb2xvcjtcbiAgJGFjdGl2ZS1jb2xvcjogJGNvbG9yO1xuXG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICYud2F2ZXMtZWZmZWN0IHtcbiAgICAgIC53YXZlcy1yaXBwbGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoXG4gICAgICAgICAgcmdiYSgkY29sb3IsIDAuMikgMCxcbiAgICAgICAgICByZ2JhKCRjb2xvciwgMC4zKSA0MCUsXG4gICAgICAgICAgcmdiYSgkY29sb3IsIDAuNCkgNTAlLFxuICAgICAgICAgIHJnYmEoJGNvbG9yLCAwLjUpIDYwJSxcbiAgICAgICAgICByZ2JhKCR3aGl0ZSwgMCkgNzAlXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGNvbG9yLWhvdmVyICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmJ0bi1jaGVjazpmb2N1cyArICYsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvY3VzLWJhY2tncm91bmQ7XG4gICAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICAgIH1cblxuICAgIC5idG4tY2hlY2s6Y2hlY2tlZCArICYsXG4gICAgLmJ0bi1jaGVjazphY3RpdmUgKyAmLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlLFxuICAgICYuZHJvcGRvd24tdG9nZ2xlLnNob3cge1xuICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3IgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlciAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICN7JHBhcmVudH0gLmJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRjb2xvcik7XG4gIH1cblxuICAjeyRwYXJlbnR9OmhvdmVyIC5iYWRnZSxcbiAgI3skcGFyZW50fTpmb2N1czpob3ZlciAuYmFkZ2UsXG4gICN7JHBhcmVudH06YWN0aXZlIC5iYWRnZSxcbiAgI3skcGFyZW50fS5hY3RpdmUgLmJhZGdlLFxuICAuc2hvdyA+ICN7JHBhcmVudH0uZHJvcGRvd24tdG9nZ2xlIC5iYWRnZSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiBjb2xvci1jb250cmFzdCgkY29sb3ItaG92ZXIpO1xuICB9XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuLy9cbi8vIChDKSBDdXN0b20gdmFyaWFibGVzIGZvciBleHRlbmRlZCBjb21wb25lbnRzIG9mIGJvb3RzdHJhcCBvbmx5XG5cbi8vICogQ29sb3Igc3lzdGVtXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmF5LWNvbG9yLXZhcmlhYmxlc1xuJHdoaXRlOiAjZmZmICFkZWZhdWx0O1xuJGJsYWNrOiAjNGM0ZTY0ICFkZWZhdWx0O1xuJGdyYXktMjU6IHJnYmEoJGJsYWNrLCAwLjAxNSkgIWRlZmF1bHQ7IC8vIChDKVxuJGdyYXktNTA6IHJnYmEoJGJsYWNrLCAwLjAzKSAhZGVmYXVsdDsgLy8gKEMpXG4kZ3JheS0xMDA6IHJnYmEoJGJsYWNrLCAwLjA2KSAhZGVmYXVsdDtcbiRncmF5LTIwMDogcmdiYSgkYmxhY2ssIDAuMTIpICFkZWZhdWx0O1xuJGdyYXktMzAwOiByZ2JhKCRibGFjaywgMC4yMikgIWRlZmF1bHQ7XG4kZ3JheS00MDA6IHJnYmEoJGJsYWNrLCAwLjM4KSAhZGVmYXVsdDtcbiRncmF5LTUwMDogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG4kZ3JheS02MDA6IHJnYmEoJGJsYWNrLCAwLjYpICFkZWZhdWx0O1xuJGdyYXktNzAwOiByZ2JhKCRibGFjaywgMC43KSAhZGVmYXVsdDtcbiRncmF5LTgwMDogcmdiYSgkYmxhY2ssIDAuOCkgIWRlZmF1bHQ7XG4kZ3JheS05MDA6IHJnYmEoJGJsYWNrLCAwLjg3KSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYXktY29sb3JzLW1hcFxuJGdyYXlzOiAoXG4gICcyNSc6ICRncmF5LTI1LFxuICAnNTAnOiAkZ3JheS01MFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvcnMtbWFwXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvci12YXJpYWJsZXNcbiRibHVlOiAjMjZjNmY5ICFkZWZhdWx0O1xuJGluZGlnbzogIzY2NmNmZiAhZGVmYXVsdDtcbiRwdXJwbGU6ICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICNmZjRkNDkgIWRlZmF1bHQ7XG4kb3JhbmdlOiAjZmRiNTI4ICFkZWZhdWx0O1xuJHllbGxvdzogI2ZmZDk1MCAhZGVmYXVsdDtcbiRncmVlbjogIzcyZTEyOCAhZGVmYXVsdDtcbiR0ZWFsOiAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICMyOGMzZDcgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbG9yLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtY29sb3ItdmFyaWFibGVzXG4kcHJpbWFyeTogJGluZGlnbyAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICM2ZDc4OGQgIWRlZmF1bHQ7XG4kc3VjY2VzczogJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICRibHVlICFkZWZhdWx0O1xuJHdhcm5pbmc6ICRvcmFuZ2UgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAjZGZkZmUzICFkZWZhdWx0O1xuJGRhcms6ICM0YjRiNGIgIWRlZmF1bHQ7XG4kZ3JheTogJGdyYXktMTAwICFkZWZhdWx0OyAvLyAoQylcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtY29sb3ItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvcnMtbWFwXG4kdGhlbWUtY29sb3JzOiAoXG4gICdwcmltYXJ5JzogJHByaW1hcnksXG4gICdzZWNvbmRhcnknOiAkc2Vjb25kYXJ5LFxuICAnc3VjY2Vzcyc6ICRzdWNjZXNzLFxuICAnaW5mbyc6ICRpbmZvLFxuICAnd2FybmluZyc6ICR3YXJuaW5nLFxuICAnZGFuZ2VyJzogJGRhbmdlcixcbiAgJ2xpZ2h0JzogJGxpZ2h0LFxuICAnZGFyayc6ICRkYXJrLFxuICAnZ3JheSc6ICRncmF5XG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1jb2xvcnMtbWFwXG5cbiRjb2xvci1zY2hlbWU6ICdsaWdodCcgIWRlZmF1bHQ7IC8vIChDKVxuLy8gVGhlIGNvbnRyYXN0IHJhdGlvIHRvIHJlYWNoIGFnYWluc3Qgd2hpdGUsIHRvIGRldGVybWluZSBpZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJsaWdodFwiIHRvIFwiZGFya1wiLiBBY2NlcHRhYmxlIHZhbHVlcyBmb3IgV0NBRyAyLjAgYXJlIDMsIDQuNSBhbmQgNy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvV0NBRzIwLyN2aXN1YWwtYXVkaW8tY29udHJhc3QtY29udHJhc3RcbiRtaW4tY29udHJhc3QtcmF0aW86IDEuNiAhZGVmYXVsdDtcblxuLy8gKiBPcHRpb25zXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiRlbmFibGUtbmVnYXRpdmUtbWFyZ2luczogdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFByZWZpeCBmb3IgOnJvb3QgQ1NTIHZhcmlhYmxlc1xuJHZhcmlhYmxlLXByZWZpeDogYnMtICFkZWZhdWx0O1xuXG4vLyAqIFNwYWNpbmdcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcblxuJHNpemVzLXB4OiAoXG4gIHB4LTE4OiAxOHB4LFxuICBweC0yMDogMjBweCxcbiAgcHgtMzA6IDMwcHgsXG4gIHB4LTQwOiA0MHB4LFxuICBweC01MDogNTBweCxcbiAgcHgtNzU6IDc1cHgsXG4gIHB4LTEwMDogMTAwcHgsXG4gIHB4LTEyMDogMTIwcHgsXG4gIHB4LTE1MDogMTUwcHgsXG4gIHB4LTIwMDogMjAwcHgsXG4gIHB4LTI1MDogMjUwcHgsXG4gIHB4LTMwMDogMzAwcHgsXG4gIHB4LTM1MDogMzUwcHgsXG4gIHB4LTQwMDogNDAwcHgsXG4gIHB4LTUwMDogNTAwcHgsXG4gIHB4LTYwMDogNjAwcHgsXG4gIHB4LTcwMDogNzAwcHgsXG4gIHB4LTgwMDogODAwcHgsXG4gIGF1dG86IGF1dG9cbikgIWRlZmF1bHQ7IC8vIChDKVxuXG4vLyAqIEJvZHlcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJGJvZHktYmc6ICNmN2Y3ZjkgIWRlZmF1bHQ7XG4kcmdiYS10by1oZXgtYmc6ICNmZmYgIWRlZmF1bHQ7IC8vIChDKVxuJGJvZHktY29sb3I6IHJnYmEtdG8taGV4KCRncmF5LTcwMCwgJHJnYmEtdG8taGV4LWJnKSAhZGVmYXVsdDtcbiRyZ2JhLXRvLWhleC1iZy1pbnZlcnRlZDogIzAwMCAhZGVmYXVsdDsgLy8gKEMpXG5cbi8vICogTGlua3Ncbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJGxpbmstY29sb3I6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRsaW5rLXNoYWRlLXBlcmNlbnRhZ2U6IDEwJSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiBzaGlmdC1jb2xvcigkbGluay1jb2xvciwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiBudWxsICFkZWZhdWx0O1xuXG4vLyAqIEdyaWRcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLy8gR3JpZCBjb250YWluZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb250YWluZXItbWF4LXdpZHRoc1xuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHgsXG4gIHh4bDogMTQ0MHB4IC8vIEN1c3RvbSB4eGwgc2l6ZVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29udGFpbmVyLW1heC13aWR0aHNcblxuJGdyaWQtZ3V0dGVyLXdpZHRoOiAxLjVyZW0gIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmcteDogMS41cmVtICFkZWZhdWx0OyAvLyAoQylcbiRjb250YWluZXItcGFkZGluZy14LXNtOiAxcmVtICFkZWZhdWx0OyAvLyAoQylcbiRjb250YWluZXItcGFkZGluZy15OiAxLjVyZW0gIWRlZmF1bHQ7IC8vIChDKVxuXG4vLyAqIENvbXBvbmVudHNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci12YXJpYWJsZXNcbiRib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6IHJnYmEtdG8taGV4KCRncmF5LTIwMCwgJHJnYmEtdG8taGV4LWJnKSAhZGVmYXVsdDtcbiRib3JkZXItaW5uZXItY29sb3I6IHJnYmEoJGJsYWNrLCAwLjA3NSkgIWRlZmF1bHQ7IC8vIChDKVxuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3JkZXItcmFkaXVzLXZhcmlhYmxlc1xuJGJvcmRlci1yYWRpdXM6IDAuNXJlbSAhZGVmYXVsdDtcbi8vIE1hdGVyaWFsIFVJIHVzaW5nIHNhbWUgcmFkaXVzIGZvciBhbGwgdGhlIHNpemVzXG4kYm9yZGVyLXJhZGl1cy14bDogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7IC8vIChDKVxuJGJvcmRlci1yYWRpdXMtbGc6IDAuNjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206IDAuMzc1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMteHM6IDAuMjVyZW0gIWRlZmF1bHQ7IC8vIChDKVxuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItcmFkaXVzLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm94LXNoYWRvdy12YXJpYWJsZXNcbiRib3gtc2hhZG93OiAwIDAuMjVyZW0gMC41cmVtIHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctc206IDAgMC4xMjVyZW0gMC4yNXJlbSByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWxnOiAwIDAuNjI1cmVtIDAuODc1cmVtIHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBib3gtc2hhZG93LXZhcmlhYmxlc1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICRwcmltYXJ5ICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWxpbmUtaGVpZ2h0OiAxLjQ3ICFkZWZhdWx0OyAvLyAoQylcbiRjb21wb25lbnQtZm9jdXMtc2hhZG93LXdpZHRoOiAwcHggIWRlZmF1bHQ7IC8vIChDKVxuXG4kZmxvYXRpbmctY29tcG9uZW50LWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMDUpICFkZWZhdWx0OyAvLyAoQylcbi8vICRmbG9hdGluZy1jb21wb25lbnQtc2hhZG93OiAwIDAuMzEyNXJlbSAxLjI1cmVtIHJnYmEoJGJsYWNrLCAwLjMpICFkZWZhdWx0OyAvLyAoQylcbiRmbG9hdGluZy1jb21wb25lbnQtc2hhZG93OiAwcHggNXB4IDVweCAtM3B4IHJnYmEoJGJsYWNrLCAwLjIpLCAwcHggOHB4IDEwcHggMXB4IHJnYmEoJGJsYWNrLCAwLjE0KSxcbiAgMHB4IDNweCAxNHB4IDJweCByZ2JhKCRibGFjaywgMC4xMikgIWRlZmF1bHQ7IC8vIChDKVxuXG4kaHItY29sb3I6ICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kaHItb3BhY2l0eTogMSAhZGVmYXVsdDtcbiRib3JkZXJlZC1yb3ctYm9yZGVyLWNvbG9yOiAkaHItY29sb3IgIWRlZmF1bHQ7IC8vIChDKVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZXQtdmFyaWFibGVzXG4kY2FyZXQtd2lkdGg6IDAuNDJlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFkZWZhdWx0O1xuJGNhcmV0LXNwYWNpbmc6IDAuNWVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjYXJldC12YXJpYWJsZXNcblxuLy8gKiBUeXBvZ3JhcGh5XG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb250LXZhcmlhYmxlc1xuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICdJbnRlcicsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ094eWdlbicsICdVYnVudHUnLCAnQ2FudGFyZWxsJyxcbiAgJ0ZpcmEgU2FucycsICdEcm9pZCBTYW5zJywgJ0hlbHZldGljYSBOZXVlJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1zZXJpZjogR2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmICFkZWZhdWx0OyAvLyAoQylcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICdTRk1vbm8tUmVndWxhcicsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1iYXNlOiB2YXIoLS0jeyR2YXJpYWJsZS1wcmVmaXh9Zm9udC1zYW5zLXNlcmlmKSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1jb2RlOiB2YXIoLS0jeyR2YXJpYWJsZS1wcmVmaXh9Zm9udC1tb25vc3BhY2UpICFkZWZhdWx0O1xuXG4vLyAkZm9udC1zaXplLXJvb3QgZWZmZWN0cyB0aGUgdmFsdWUgb2YgYHJlbWAsIHdoaWNoIGlzIHVzZWQgZm9yIGFzIHdlbGwgZm9udCBzaXplcywgcGFkZGluZ3MgYW5kIG1hcmdpbnNcbi8vICRmb250LXNpemUtYmFzZSBlZmZlY3RzIHRoZSBmb250IHNpemUgb2YgdGhlIGJvZHkgdGV4dFxuJGZvbnQtc2l6ZS1yb290OiAxNnB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1iYXNlOiAwLjkzNzVyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS14bDogMS4yNXJlbSAhZGVmYXVsdDsgLy8gKEMpXG4kZm9udC1zaXplLWxnOiAxLjA2MjVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAwLjgxMjVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXhzOiAwLjc1cmVtICFkZWZhdWx0OyAvLyAoQylcblxuJGZvbnQtd2VpZ2h0LW1lZGl1bTogNTAwICFkZWZhdWx0OyAvLyAoQylcbiRmb250LXdlaWdodC1zZW1pYm9sZDogNjAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogOTAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWxpZ2h0ZXI6IDEwMCAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LWJhc2U6IDEuNDcgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQteGw6IDEuNSAhZGVmYXVsdDsgLy8gKEMpXG4kbGluZS1oZWlnaHQtbGc6IDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogMS4yICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXhzOiAxLjIgIWRlZmF1bHQ7IC8vIChDKVxuXG4kaDEtZm9udC1zaXplOiAyLjM3NXJlbSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IDJyZW0gIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAxLjYyNXJlbSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6IDEuMzc1cmVtICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMS4xMjVyZW0gIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAwLjkzNzVyZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvbnQtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBoZWFkaW5ncy12YXJpYWJsZXNcbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAkc3BhY2VyICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6IHJnYmEtdG8taGV4KCRncmF5LTkwMCwgJHJnYmEtdG8taGV4LWJnKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgaGVhZGluZ3MtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkaXNwbGF5LWhlYWRpbmdzXG4kZGlzcGxheS1mb250LXNpemVzOiAoXG4gIDE6IDRyZW0sXG4gIDI6IDMuNXJlbSxcbiAgMzogM3JlbSxcbiAgNDogMi41cmVtLFxuICA1OiAycmVtLFxuICA2OiAxLjVyZW1cbikgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5LWZvbnQtd2VpZ2h0OiA1MDAgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1lbmQgZGlzcGxheS1oZWFkaW5nc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdHlwZS12YXJpYWJsZXNcbiRsZWFkLWZvbnQtc2l6ZTogMS4xMjVyZW0gIWRlZmF1bHQ7XG4kdGlueS1mb250LXNpemU6IDcwJSAhZGVmYXVsdDsgLy8gKEMpXG4kc21hbGwtZm9udC1zaXplOiA4NSUgIWRlZmF1bHQ7XG4kYmlnLWZvbnQtc2l6ZTogMTEyJSAhZGVmYXVsdDsgLy8gKEMpXG4kbGFyZ2UtZm9udC1zaXplOiAxNTAlICFkZWZhdWx0OyAvLyAoQylcbiR4bGFyZ2UtZm9udC1zaXplOiAxNzAlICFkZWZhdWx0OyAvLyAoQylcblxuJHRleHQtbXV0ZWQ6IHJnYmEtdG8taGV4KCRncmF5LTQwMCwgJHJnYmEtdG8taGV4LWJnKSAhZGVmYXVsdDtcbiR0ZXh0LW11dGVkLWhvdmVyOiByZ2JhLXRvLWhleCgkZ3JheS02MDAsICRyZ2JhLXRvLWhleC1iZykgIWRlZmF1bHQ7IC8vIChDKVxuXG4kYmxvY2txdW90ZS1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJHRleHQtbGlnaHQ6IHJnYmEtdG8taGV4KCRncmF5LTQwMCwgJHJnYmEtdG8taGV4LWJnKSAhZGVmYXVsdDsgLy8gKEMpXG4kdGV4dC1saWdodGVyOiByZ2JhLXRvLWhleCgkZ3JheS0zMDAsICRyZ2JhLXRvLWhleC1iZykgIWRlZmF1bHQ7IC8vIChDKVxuJHRleHQtbGlnaHRlc3Q6IHJnYmEtdG8taGV4KCRncmF5LTIwMCwgJHJnYmEtdG8taGV4LWJnKSAhZGVmYXVsdDsgLy8gKEMpXG4vLyBzY3NzLWRvY3MtZW5kIHR5cGUtdmFyaWFibGVzXG5cbi8vICogWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kemluZGV4LW1lbnUtZml4ZWQ6IDEwODAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAxMDkwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogJHppbmRleC1tb2RhbCAtIDEgIWRlZmF1bHQ7XG4vLyAkemluZGV4LW1vZGFsLXRvcDogMTA5MCAhZGVmYXVsdDsgLy8gKEMpXG4kemluZGV4LW9mZmNhbnZhczogMTA5MCAhZGVmYXVsdDtcbiR6aW5kZXgtb2ZmY2FudmFzLWJhY2tkcm9wOiAkemluZGV4LW9mZmNhbnZhcyAtIDEgIWRlZmF1bHQ7XG4kemluZGV4LWxheW91dC1tb2JpbGU6IDExMDAgIWRlZmF1bHQ7IC8vIChDKVxuJHppbmRleC1wb3BvdmVyOiAxMDkxICFkZWZhdWx0O1xuJHppbmRleC10b2FzdDogMTA5NSAhZGVmYXVsdDsgLy8gKEMpXG4kemluZGV4LXRvb2x0aXA6IDEwOTkgIWRlZmF1bHQ7XG4kemluZGV4LW5vdGlmaWNhdGlvbjogOTk5OTk5ICFkZWZhdWx0OyAvLyAoQylcblxuLy8gKiBUYWJsZXNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRhYmxlLXZhcmlhYmxlc1xuJHRhYmxlLWNlbGwtcGFkZGluZy15OiAwLjY1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy14OiAxLjI1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy15LXNtOiAwLjMxMjVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXgtc206IDAuNjI1cmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY2VsbC12ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFkZWZhdWx0O1xuXG4kdGFibGUtdGgtY29sb3I6ICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDsgLy8gKEMpXG4kdGFibGUtdGgtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pYm9sZCAhZGVmYXVsdDtcblxuJHRhYmxlLWFjdGl2ZS1jb2xvcjogJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnLWZhY3RvcjogMC4wOCAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6IHJnYmEoJHByaW1hcnksICR0YWJsZS1hY3RpdmUtYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWhvdmVyLWJnLWZhY3RvcjogMC4wNSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogcmdiYSgkYmxhY2ssICR0YWJsZS1ob3Zlci1iZy1mYWN0b3IpICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLWZhY3RvcjogMC4xMiAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6IHJnYmEtdG8taGV4KHJnYmEoJGJsYWNrLCAkdGFibGUtYm9yZGVyLWZhY3RvciksICRyZ2JhLXRvLWhleC1iZykgIWRlZmF1bHQ7XG4kdGFibGUtZ3JvdXAtc2VwYXJhdG9yLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWJnLXNjYWxlOiAtODAlICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtbG9vcFxuJHRhYmxlLXZhcmlhbnRzOiAoXG4gICdwcmltYXJ5Jzogc2hpZnQtY29sb3IoJHByaW1hcnksICR0YWJsZS1iZy1zY2FsZSksXG4gICdzZWNvbmRhcnknOiBzaGlmdC1jb2xvcigkc2Vjb25kYXJ5LCAkdGFibGUtYmctc2NhbGUpLFxuICAnc3VjY2Vzcyc6IHNoaWZ0LWNvbG9yKCRzdWNjZXNzLCAkdGFibGUtYmctc2NhbGUpLFxuICAnaW5mbyc6IHNoaWZ0LWNvbG9yKCRpbmZvLCAkdGFibGUtYmctc2NhbGUpLFxuICAnd2FybmluZyc6IHNoaWZ0LWNvbG9yKCR3YXJuaW5nLCAkdGFibGUtYmctc2NhbGUpLFxuICAnZGFuZ2VyJzogc2hpZnQtY29sb3IoJGRhbmdlciwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgJ2xpZ2h0JzogcmdiYS10by1oZXgoJGdyYXktMTAwLCAkcmdiYS10by1oZXgtYmcpLFxuICAnZGFyayc6ICRkYXJrXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS1sb29wXG5cbi8vICogQnV0dG9ucyArIEZvcm1zXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiRpbnB1dC1idG4tcGFkZGluZy15OiAwLjQ1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6IDEuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAwLjA1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5OiAwLjEgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiByZ2JhKCRjb21wb25lbnQtYWN0aXZlLWJnLCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHkpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ibHVyOiAwLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAwIDAgJGlucHV0LWJ0bi1mb2N1cy1ibHVyICRpbnB1dC1idG4tZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXkteHM6IDAuMDg3cmVtICFkZWZhdWx0OyAvLyAoQylcbiRpbnB1dC1idG4tcGFkZGluZy14LXhzOiAwLjU5cmVtICFkZWZhdWx0OyAvLyAoQylcbiRpbnB1dC1idG4tZm9udC1zaXplLXhzOiAkZm9udC1zaXplLXhzICFkZWZhdWx0OyAvLyAoQylcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQteHM6ICRsaW5lLWhlaWdodC14cyAhZGVmYXVsdDsgLy8gKEMpXG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAwLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAwLjk2OXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTogJGxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogMC42MXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAxLjYyNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXkteGw6IDAuNzJyZW0gIWRlZmF1bHQ7IC8vIChDKVxuJGlucHV0LWJ0bi1wYWRkaW5nLXgteGw6IDEuODc1cmVtICFkZWZhdWx0OyAvLyAoQylcbiRpbnB1dC1idG4tZm9udC1zaXplLXhsOiAkZm9udC1zaXplLXhsICFkZWZhdWx0OyAvLyAoQylcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQteGw6ICRsaW5lLWhlaWdodC14bCAhZGVmYXVsdDsgLy8gKEMpXG5cbi8vICogQnV0dG9uc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kYnRuLXBhZGRpbmcteS14czogJGlucHV0LWJ0bi1wYWRkaW5nLXkteHMgIWRlZmF1bHQ7IC8vIChDKVxuJGJ0bi1wYWRkaW5nLXgteHM6ICRpbnB1dC1idG4tcGFkZGluZy14LXhzICFkZWZhdWx0OyAvLyAoQylcbiRidG4tZm9udC1zaXplLXhzOiAkaW5wdXQtYnRuLWZvbnQtc2l6ZS14cyAhZGVmYXVsdDsgLy8gKEMpXG5cbiRidG4tcGFkZGluZy15LXhsOiAkaW5wdXQtYnRuLXBhZGRpbmcteS14bCAhZGVmYXVsdDsgLy8gKEMpXG4kYnRuLXBhZGRpbmcteC14bDogJGlucHV0LWJ0bi1wYWRkaW5nLXgteGwgIWRlZmF1bHQ7IC8vIChDKVxuJGJ0bi1mb250LXNpemUteGw6ICRpbnB1dC1idG4tZm9udC1zaXplLXhsICFkZWZhdWx0OyAvLyAoQylcblxuJGJ0bi1saW5lLWhlaWdodC14czogJGlucHV0LWJ0bi1saW5lLWhlaWdodC14cyAhZGVmYXVsdDsgLy8gKEMpXG4kYnRuLWxpbmUtaGVpZ2h0LXNtOiAkbGluZS1oZWlnaHQtc207IC8vKEMpXG4kYnRuLWxpbmUtaGVpZ2h0LWxnOiAkbGluZS1oZWlnaHQtbGc7IC8vKEMpXG4kYnRuLWxpbmUtaGVpZ2h0LXhsOiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXhsICFkZWZhdWx0OyAvLyAoQylcblxuJGJ0bi1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bSAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogMHB4IDRweCA4cHggLTRweCByZ2JhKCRibGFjaywgMC40MikgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAwIDZweCAxOHB4IC04cHggcmdiYSgkYmxhY2ssIDAuNTYpICFkZWZhdWx0O1xuXG4kYnRuLWZhYi1ib3gtc2hhZG93OiAwcHggM3B4IDVweCAtMXB4IHJnYmEoJGJsYWNrLCAwLjIpLCAwcHggNXB4IDhweCByZ2JhKCRibGFjaywgMC4xNCksIDBweCAxcHggMTRweCByZ2JhKCRibGFjaywgMC4xMikgIWRlZmF1bHQ7XG4kYnRuLWZhYi1hY3RpdmUtYm94LXNoYWRvdzogMHB4IDdweCA4cHggLTRweCByZ2JhKCRibGFjaywgMC4yKSwgMHB4IDEycHggMTdweCAycHggcmdiYSgkYmxhY2ssIDAuMTQpLFxuICAwcHggNXB4IDIycHggNHB4IHJnYmEoJGJsYWNrLCAwLjEyKSAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy14czogJGJvcmRlci1yYWRpdXMteHMgIWRlZmF1bHQ7IC8vIChDKVxuJGJ0bi1ib3JkZXItcmFkaXVzLXhsOiAkYm9yZGVyLXJhZGl1cy14bCAhZGVmYXVsdDsgLy8gKEMpXG5cbiRidG4tdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kYnRuLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7IC8vIChDKVxuJGJ0bi1sZXR0ZXItc3BhY2luZzogMC40cHggIWRlZmF1bHQ7IC8vIChDKVxuXG4kYnRuLWxhYmVsLWJnLXNoYWRlLWFtb3VudDogODQlICFkZWZhdWx0OyAvLyAoQylcbiRidG4tbGFiZWwtYmctdGludC1hbW91bnQ6IDg1JSAhZGVmYXVsdDsgLy8gKEMpXG4kYnRuLWxhYmVsLWhvdmVyLXNoYWRlLWFtb3VudDogMjYlICFkZWZhdWx0OyAvLyAoQylcbiRidG4tbGFiZWwtaG92ZXItdGludC1hbW91bnQ6IDc2JSAhZGVmYXVsdDsgLy8gKEMpXG4kYnRuLWxhYmVsLWZvY3VzLXNoYWRlLWFtb3VudDogMTIlICFkZWZhdWx0OyAvLyAoQylcbiRidG4tbGFiZWwtZm9jdXMtdGludC1hbW91bnQ6IDcyJSAhZGVmYXVsdDsgLy8gKEMpXG4kYnRuLWxhYmVsLWFjdGl2ZS1zaGFkZS1hbW91bnQ6IDEwJSAhZGVmYXVsdDsgLy8gKEMpXG4kYnRuLWxhYmVsLWFjdGl2ZS10aW50LWFtb3VudDogNzAlICFkZWZhdWx0OyAvLyAoQylcbi8vICRidG4tbGFiZWwtZGlzYWJsZWQtYmctc2hhZGUtYW1vdW50OiA4NCUgIWRlZmF1bHQ7IC8vIChDKVxuLy8gJGJ0bi1sYWJlbC1kaXNhYmxlZC1iZy10aW50LWFtb3VudDogODUlICFkZWZhdWx0OyAvLyAoQylcblxuJGJ0bi10ZXh0LWhvdmVyLXNoYWRlLWFtb3VudDogMjYlICFkZWZhdWx0OyAvLyAoQylcbiRidG4tdGV4dC1ob3Zlci10aW50LWFtb3VudDogOTUlICFkZWZhdWx0OyAvLyAoQylcbiRidG4tdGV4dC1mb2N1cy1zaGFkZS1hbW91bnQ6IDMwJSAhZGVmYXVsdDsgLy8gKEMpXG4kYnRuLXRleHQtZm9jdXMtdGludC1hbW91bnQ6IDkwJSAhZGVmYXVsdDsgLy8gKEMpXG4kYnRuLXRleHQtYWN0aXZlLXNoYWRlLWFtb3VudDogMzQlICFkZWZhdWx0OyAvLyAoQylcbiRidG4tdGV4dC1hY3RpdmUtdGludC1hbW91bnQ6IDg1JSAhZGVmYXVsdDsgLy8gKEMpXG4vLyAkYnRuLXRleHQtZGlzYWJsZWQtc2hhZGUtYW1vdW50OiA4NCUgIWRlZmF1bHQ7IC8vIChDKVxuLy8gJGJ0bi10ZXh0LWRpc2FibGVkLXRpbnQtYW1vdW50OiA4NSUgIWRlZmF1bHQ7IC8vIChDKVxuXG4kYnRuLWhvdmVyLWJnLXNoYWRlLWFtb3VudDogMTIlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1iZy10aW50LWFtb3VudDogOTIlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1ib3JkZXItc2hhZGUtYW1vdW50OiAxMiUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJvcmRlci10aW50LWFtb3VudDogOTIlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYmctc2hhZGUtYW1vdW50OiAyMCUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1iZy10aW50LWFtb3VudDogODAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm9yZGVyLXNoYWRlLWFtb3VudDogMjAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm9yZGVyLXRpbnQtYW1vdW50OiA4MCUgIWRlZmF1bHQ7XG5cbi8vIE91dGxpbmUgYnV0dG9uc1xuJGJ0bi1vdXRsaW5lLWhvdmVyLWJnLXNoYWRlLWFtb3VudDogODQlICFkZWZhdWx0OyAvLyAoQylcbiRidG4tb3V0bGluZS1ob3Zlci1iZy10aW50LWFtb3VudDogODUlICFkZWZhdWx0OyAvLyAoQylcbiRidG4tb3V0bGluZS1ib3JkZXItc2hhZGUtYW1vdW50OiA1MCUgIWRlZmF1bHQ7IC8vIChDKVxuJGJ0bi1vdXRsaW5lLWJvcmRlci10aW50LWFtb3VudDogNTAlICFkZWZhdWx0OyAvLyAoQylcbiRidG4tb3V0bGluZS1mb2N1cy1iZy1zaGFkZS1hbW91bnQ6IDc1JSAhZGVmYXVsdDsgLy8gKEMpXG4kYnRuLW91dGxpbmUtZm9jdXMtYmctdGludC1hbW91bnQ6IDc2JSAhZGVmYXVsdDsgLy8gKEMpXG4kYnRuLW91dGxpbmUtYWN0aXZlLWJnLXNoYWRlLWFtb3VudDogNzElICFkZWZhdWx0OyAvLyAoQylcbiRidG4tb3V0bGluZS1hY3RpdmUtYmctdGludC1hbW91bnQ6IDcyJSAhZGVmYXVsdDsgLy8gKEMpXG4vLyAkYnRuLW91dGxpbmUtYm9yZGVyLXNoYWRlLWFtb3VudDogNTAlICFkZWZhdWx0OyAvLyAoQylcbi8vICRidG4tb3V0bGluZS1ib3JkZXItdGludC1hbW91bnQ6IDUwJSAhZGVmYXVsdDsgLy8gKEMpXG5cbi8vICogRm9ybXNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdGV4dC12YXJpYWJsZXNcbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogMC4zcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXRleHQtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWxhYmVsLXZhcmlhYmxlc1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiAwLjgzMTI1cmVtICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW0gIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1sZXR0ZXItc3BhY2luZzogaW5oZXJpdCAhZGVmYXVsdDsgLy8oQylcbiRmb3JtLWxhYmVsLXRleHQtdHJhbnNmb3JtOiBpbmhlcml0ICFkZWZhdWx0OyAvLyhDKVxuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWxhYmVsLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1pbnB1dC12YXJpYWJsZXNcbiRpbnB1dC1wYWRkaW5nLXk6IDAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6IDAuODc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206IDAuNjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteS1sZzogJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LWxnOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogcmdiYS10by1oZXgoJGdyYXktMTAwKSAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6IHJnYmEtdG8taGV4KCRncmF5LTMwMCwgJHJnYmEtdG8taGV4LWJnKSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJvcmRlci13aWR0aDogMnB4O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yLXNjYWxlOiA1MCUgIWRlZmF1bHQ7IC8vKEMpXG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiB0aW50LWNvbG9yKCRjb21wb25lbnQtYWN0aXZlLWJnLCAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiByZ2JhLXRvLWhleCgkZ3JheS00MDAsICRyZ2JhLXRvLWhleC1iZykgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6IGFkZCgoJGlucHV0LWJ0bi1mb250LXNpemUgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0KSwgKCRpbnB1dC1idG4tcGFkZGluZy15ICogMikpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1zbTogYWRkKFxuICAoJGlucHV0LWJ0bi1mb250LXNpemUtc20gKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtKSxcbiAgKCRpbnB1dC1idG4tcGFkZGluZy15LXNtICogMilcbikgIWRlZmF1bHQ7IC8vIChDKVxuJGlucHV0LWhlaWdodC1pbm5lci1sZzogYWRkKCgkZm9udC1zaXplLWxnICogJGxpbmUtaGVpZ2h0LWxnKSwgKCRpbnB1dC1idG4tcGFkZGluZy15LWxnICogMikpICFkZWZhdWx0OyAvLyAoQylcblxuJGlucHV0LWhlaWdodDogYWRkKCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxcmVtKSwgKCRpbnB1dC1wYWRkaW5nLXkgKiAyKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiBhZGQoKCRpbnB1dC1saW5lLWhlaWdodCAqIDFyZW0pLCAoJGlucHV0LXBhZGRpbmcteS1sZyAqIDIpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206IGFkZCgoJGlucHV0LWxpbmUtaGVpZ2h0ICogMXJlbSksICgkaW5wdXQtcGFkZGluZy15LXNtICogMikpICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0taW5wdXQtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWNoZWNrLXZhcmlhYmxlc1xuJGZvcm0tY2hlY2staW5wdXQtd2lkdGg6IDEuMjVlbSAhZGVmYXVsdDtcbiRmb3JtLWRhdGF0YWJsZXMtY2hlY2staW5wdXQtc2l6ZTogJGZvcm0tY2hlY2staW5wdXQtd2lkdGggIWRlZmF1bHQ7IC8vIChDKSBGb3IgZGF0YXRhYmxlcyB3aXRoIGNoZWNrYm94LSB1cGRhdGUgYWNjb3JkaW5nIHRvICRmb3JtLWNoZWNrLWlucHV0LXdpZHRoXG4kZm9ybS1jaGVjay1taW4taGVpZ2h0OiAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQ6ICRmb3JtLWNoZWNrLWlucHV0LXdpZHRoICsgMC43NWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyOiAkaW5wdXQtZm9jdXMtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWxhYmVsLWN1cnNvcjogcG9pbnRlciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAkdGV4dC1tdXRlZCAhZGVmYXVsdDsgLy8gKEMpUlxuXG4kZm9ybS1jaGVjay1pbnB1dC1ib3JkZXItcmFkaXVzOiAwLjEyNWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1jb2xvcjogJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxOSAyMCc+PHBhdGggZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMicgZD0nTTUgMTBsMyAzbDYtNicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXJhZGlvLWNoZWNrZWQtYmctaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9J3RyYW5zcGFyZW50JyBzdHJva2U9JyN7JGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtY29sb3I6ICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J002IDEwaDgnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tY2hlY2stdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXN3aXRjaC12YXJpYWJsZXNcbiRmb3JtLXN3aXRjaC1jb2xvcjogJGdyYXktMzAwICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXdpZHRoOiAyZW0gIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydDogJGZvcm0tc3dpdGNoLXdpZHRoICsgMC41ZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLXBvc2l0aW9uLXJ0bDogbGVmdCBjZW50ZXIgIWRlZmF1bHQ7IC8vKEMpXG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tc3dpdGNoLXZhcmlhYmxlc1xuXG4vL2lucHV0LWdyb3VwLXZhcmlhYmxlc1xuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgaW5wdXQtZ3JvdXAtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXNlbGVjdC12YXJpYWJsZXNcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXk6ICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteDogJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogJGZvcm0tc2VsZWN0LXBhZGRpbmcteCArIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWJnOiAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmctc2l6ZTogMTdweCAxMnB4ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvcjogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNJQUFBQVlDQVlBQUFDZnBpOEpBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQ0RTVVJCVkhnQjdkU3hDWUF3RUlYaHA0NmlZTzhPTmhhWndyR2NJcTA3Mkl2Z0xPWUtRU1JHdlZ3SzVYNElwRHErYXc3UU5PMmpaV0RXbWI3TmdSWUN1VGxqQVdiTFBLMVYzZEFtSlNJaWhMVURIeUtCMlJIMGo0TEVZSTRJRVFnSGMwYUlRZDVnZkFoUnlCUE1GVUljRXNLRUVFa2dQc3dkSW5sMDlJeDcwRFR0ejIxS1FFQ3RtSlZkRXdBQUFBQkpSVTVFcmtKZ2dnPT0nKSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcnRsOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0lBQUFBWUNBWUFBQUNmcGk4SkFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFDQ1NVUkJWSGdCN2RTeENZQXdFSVhocDQ2aVlPOE9OaGFad3JHY0ltMTJzQmZCV1V3c0JFa01NWGNwaFB2aHJqeSs2Z0JKa241YU5hbDVySUVSRE5rN1J1dkZJS05tMzlhajZ3ZFVRQXRDRk1RRmNZdUtvU0p1Q0FYRGdYaEFjakJjQ0EveUJjT0pDRUpTTU55SVYwZ01Vd0lSaFlRd3BSREp1YWVuN0VDU0pNbnZCR0tmUTJqQlNIUmFBQUFBQUVsRlRrU3VRbUNDJykgIWRlZmF1bHQ7IC8vIChDKVxuXG4kZm9ybS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1zbTogJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtcGFkZGluZy14LXNtOiAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15LWxnOiAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1zZWxlY3QtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXJhbmdlLXZhcmlhYmxlc1xuJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0OiAwLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWRpc2FibGVkLWJnOiAkZ3JheS0yMDAgIWRlZmF1bHQ7IC8vIChDKVxuJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGg6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc6IHJnYmEtdG8taGV4KCRncmF5LTQwMCwgJHJnYmEtdG8taGV4LWJnKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1yYW5nZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmxvYXRpbmctdmFyaWFibGVzXG4kZm9ybS1mbG9hdGluZy1wYWRkaW5nLXg6IDAuNzgxM3JlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteTogMC43ODEzcmVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy10OiAoJGZvcm0tZmxvYXRpbmctcGFkZGluZy15ICogMS41KSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjogY2FsYygoJGZvcm0tZmxvYXRpbmctcGFkZGluZy15ICogMC41KSArICRib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctaW5wdXQtYmc6IHJnYmEtdG8taGV4KCRncmF5LTUwLCAkcmdiYS10by1oZXgtYmcpICFkZWZhdWx0OyAvLyAoQylcbiRmb3JtLWZsb2F0aW5nLWhlaWdodDogY2FsYyhcbiAgKCRmb250LXNpemUtYmFzZSAqICRmb3JtLWZsb2F0aW5nLWxpbmUtaGVpZ2h0KSArICgkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXkgKiAyKSArICgkYm9yZGVyLXdpZHRoICogMilcbikgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC1oZWlnaHQ6IDEuNzVlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLW9wYWNpdHk6IDAuNzUgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSAwLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtLXNjYWxlOiAwLjg7IC8vIChDKVxuJGZvcm0tZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtOiBzY2FsZSgkZm9ybS1mbG9hdGluZy1sYWJlbC10cmFuc2Zvcm0tc2NhbGUpIHRyYW5zbGF0ZVkoLTAuNnJlbSkgdHJhbnNsYXRlWCgwLjE1cmVtKSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybS1ydGw6IHNjYWxlKCRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybS1zY2FsZSkgdHJhbnNsYXRlWSgtMC42cmVtKSB0cmFuc2xhdGVYKC0wLjE1cmVtKSAhZGVmYXVsdDsgLy8gKEMpXG5cbi8vIE91dGxpbmVcbiRmb3JtLWZsb2F0aW5nLW91dGxpbmUtbGFiZWwtdHJhbnNmb3JtOiBzY2FsZSgkZm9ybS1mbG9hdGluZy1sYWJlbC10cmFuc2Zvcm0tc2NhbGUpIHRyYW5zbGF0ZVkoLTAuN3JlbSlcbiAgdHJhbnNsYXRlWCgtJGlucHV0LWZvY3VzLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7IC8vIChDKVxuJGZvcm0tZmxvYXRpbmctb3V0bGluZS1sYWJlbC10cmFuc2Zvcm0tcnRsOiBzY2FsZSgkZm9ybS1mbG9hdGluZy1sYWJlbC10cmFuc2Zvcm0tc2NhbGUpIHRyYW5zbGF0ZVkoLTAuN3JlbSlcbiAgdHJhbnNsYXRlWCgtJGlucHV0LWZvY3VzLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7IC8vIChDKVxuXG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tZmxvYXRpbmctdmFyaWFibGVzXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1mZWVkYmFjay12YXJpYWJsZXNcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAkc3VjY2VzcyAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICRkYW5nZXIgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmc6ICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyArICRpbnB1dC1oZWlnaHQtaW5uZXIgIWRlZmF1bHQ7IC8vIChDKVxuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1zbTogJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICsgJGlucHV0LWhlaWdodC1pbm5lci1zbSAhZGVmYXVsdDsgLy8gKEMpXG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLWxnOiAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgKyAkaW5wdXQtaGVpZ2h0LWlubmVyLWxnICFkZWZhdWx0OyAvLyAoQylcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1mZWVkYmFjay12YXJpYWJsZXNcblxuLy8gKiBOYXZzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiRuYXYtc3BhY2VyOiAwLjEyNXJlbSAhZGVmYXVsdDsgLy8gKEMpXG5cbiRuYXYtbGluay1wYWRkaW5nLXk6IDAuODExcmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogMS4zNzVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstY29sb3I6ICR0ZXh0LW11dGVkLWhvdmVyICFkZWZhdWx0O1xuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAkdGV4dC1saWdodGVyICFkZWZhdWx0O1xuJG5hdi1saW5rLWxpbmUtaGVpZ2h0OiAkY29tcG9uZW50LWxpbmUtaGVpZ2h0ICFkZWZhdWx0OyAvLyAoQylcblxuJG5hdi1saW5rLXBhZGRpbmcteS1sZzogMC44NzVyZW0gIWRlZmF1bHQ7IC8vIChDKVxuJG5hdi1saW5rLXBhZGRpbmcteC1sZzogMS4zMTI1cmVtICFkZWZhdWx0OyAvLyAoQylcbiRuYXYtbGluay1saW5lLWhlaWdodC1sZzogJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0OyAvLyAoQylcblxuJG5hdi1saW5rLXBhZGRpbmcteS1zbTogMC4zMTI1cmVtICFkZWZhdWx0OyAvLyAoQylcbiRuYXYtbGluay1wYWRkaW5nLXgtc206IDAuODc1cmVtICFkZWZhdWx0OyAvLyAoQylcbiRuYXYtbGluay1saW5lLWhlaWdodC1zbTogJGxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0OyAvLyAoQylcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLXBhZGRpbmcteTogMC41cmVtICFkZWZhdWx0OyAvLyAoQylcbiRuYXYtcGlsbHMtcGFkZGluZy14OiAkbmF2LWxpbmstcGFkZGluZy14ICFkZWZhdWx0OyAvLyAoQylcblxuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vICogTmF2YmFyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6IDAuNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6IDAuN3JlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6IDAuNjI1cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRhcmstY29sb3I6IHJnYmEoJHdoaXRlLCAwLjgpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6IHJnYmEoJHdoaXRlLCAwLjQpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICRncmF5LTMwMCAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAwLjA2KSAhZGVmYXVsdDtcblxuLy8gKiBEcm9wZG93bnNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJGRyb3Bkb3duLXBhZGRpbmcteTogMC4zMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAkZmxvYXRpbmctY29tcG9uZW50LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogJGRyb3Bkb3duLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAkZHJvcGRvd24tbGluay1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1saW5lLWhlaWdodDogJGNvbXBvbmVudC1saW5lLWhlaWdodCAhZGVmYXVsdDsgLy8gKEMpXG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogJHByaW1hcnkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6IHJnYmEoJHByaW1hcnksIDAuMSkgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogMC40ODNyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6IDFyZW0gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAkdGV4dC1saWdodGVyICFkZWZhdWx0O1xuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG5cbi8vICogUGFnaW5hdGlvblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6IDAuNDY5cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAwLjMxMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206IDAuMzQ0cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAwLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAwLjY1N3JlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogMC41cmVtICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1saW5lLWhlaWdodDogMSAhZGVmYXVsdDsgLy8gKGMpXG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiA1MCUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1tYXJnaW4tc3RhcnQ6ICRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogJHRleHQtbGlnaHRlciAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9jdXMtY29sb3I6ICRwYWdpbmF0aW9uLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJsYWNrLCAwLjA1KSwgJHJnYmEtdG8taGV4LWJnKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAkcGFnaW5hdGlvbi1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAkcGFnaW5hdGlvbi1mb2N1cy1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAkcHJpbWFyeSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICRwYWdpbmF0aW9uLWZvY3VzLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtOiAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZzogJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuLy8gKiBDYXJkc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kY2FyZC1zcGFjZXIteTogJHNwYWNlciAqIDEuMzc1ICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICRzcGFjZXIgKiAxLjI1ICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtc3BhY2VyLXk6ICRzcGFjZXIgKiAwLjg3NSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci14LXNtOiAxcmVtICFkZWZhdWx0OyAvLyAoQylcbiRjYXJkLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6IDAuNjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtYm94LXNoYWRvdzogMCAwLjEyNXJlbSAwLjYyNXJlbSAwIHJnYmEoJGJsYWNrLCAwLjIyKSAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1jb2xvcjogJGJvcmRlci1pbm5lci1jb2xvciAhZGVmYXVsdDsgLy8gKEMpXG4kY2FyZC1jYXAtcGFkZGluZy15OiAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtYmc6ICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8gKiBBY2NvcmRpb25cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJGFjY29yZGlvbi1wYWRkaW5nLXk6IDAuODQ1cmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbi1wYWRkaW5nLXg6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbG9yOiAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYmc6ICRjYXJkLWJnICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib3JkZXItd2lkdGg6ICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1idXR0b24tY29sb3I6ICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdHJhbnNpdGlvbjogMC4zcyBhbGwgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1iZzogJGFjY29yZGlvbi1iZyAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogJGFjY29yZGlvbi1idXR0b24tY29sb3IgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLWZvY3VzLWJvcmRlci1jb2xvcjogJGFjY29yZGlvbi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWljb24td2lkdGg6IDEuNHJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi1jb2xvcjogJGFjY29yZGlvbi1idXR0b24tY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tYWN0aXZlLWNvbG9yOiAkYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLWljb246IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyAgZmlsbD0nI3skYWNjb3JkaW9uLWljb24tY29sb3J9JyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDdGl0bGUlM0VjaGV2cm9uLWRvd24lM0MvdGl0bGUlM0UlM0NwYXRoIGQ9J003LjQxLDguNThMMTIsMTMuMTdMMTYuNTksOC41OEwxOCwxMEwxMiwxNkw2LDEwTDcuNDEsOC41OFonIC8lM0UlM0Mvc3ZnJTNFXCIpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWljb246IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyAgZmlsbD0nI3skYWNjb3JkaW9uLWljb24tYWN0aXZlLWNvbG9yfScgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3RpdGxlJTNFY2hldnJvbi1kb3duJTNDL3RpdGxlJTNFJTNDcGF0aCBkPSdNNy40MSw4LjU4TDEyLDEzLjE3TDE2LjU5LDguNThMMTgsMTBMMTIsMTZMNiwxMEw3LjQxLDguNThaJyAvJTNFJTNDL3N2ZyUzRVwiKSAhZGVmYXVsdDtcblxuLy8gKiBUb29sdGlwc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kdG9vbHRpcC1mb250LXNpemU6ICRmb250LXNpemUteHMgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogcmdiYS10by1oZXgoJGdyYXktOTAwLCAkcmdiYS10by1oZXgtYmcpICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAxICFkZWZhdWx0O1xuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWhlaWdodDogMC4zNzVyZW0gIWRlZmF1bHQ7XG5cbi8vICogUG9wb3ZlcnNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJHBvcG92ZXItYmc6ICRjYXJkLWJnICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAwcHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAkZmxvYXRpbmctY29tcG9uZW50LXNoYWRvdyAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWJnOiAkY2FyZC1iZyAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogJHNwYWNlciAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6IDEuMTI1cmVtICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAxLjEyNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAxLjEyNXJlbSAhZGVmYXVsdDtcblxuLy8gKiBUb2FzdHNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiR0b2FzdC1wYWRkaW5nLXk6IDAuNDA2cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJHRvYXN0LWNvbG9yOiAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjYXJkLWJnLCAwLjg1KTtcbiR0b2FzdC1ib3JkZXItd2lkdGg6IDByZW0gIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLWNvbG9yOiAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNhcmQtYmcsIDAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICRjYXJkLWlubmVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiR0b2FzdC1ib3gtc2hhZG93OiAwcHggNHB4IDI0cHggLTJweCByZ2JhKCRibGFjaywgMC40MikgIWRlZmF1bHQ7XG4kdG9hc3Qtc3BhY2luZzogMXJlbSAhZGVmYXVsdDtcblxuLy8gKiBCYWRnZXNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJGJhZGdlLWZvbnQtc2l6ZTogMC44NWVtICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteTogMC4zNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogMC41ODNlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAwLjE4NzVyZW0gIWRlZmF1bHQ7XG5cbiRiYWRnZS1waWxsLXBhZGRpbmcteDogMC41ODNlbSAhZGVmYXVsdDtcbiRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXM6IDEwcmVtICFkZWZhdWx0O1xuXG4kYmFkZ2UtaGVpZ2h0OiAxLjVyZW0gIWRlZmF1bHQ7IC8vIChDKVxuJGJhZGdlLXdpZHRoOiAxLjVyZW0gIWRlZmF1bHQ7IC8vIChDKVxuJGJhZGdlLWNlbnRlci1mb250LXNpemU6ICRmb250LXNpemUtc20gIWRlZmF1bHQ7IC8vIChDKVxuXG4vLyAqIE1vZGFsc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kbW9kYWwtaW5uZXItcGFkZGluZzogMS4yNXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAwLjYyNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6IDAgMCAxLjI1cmVtIDAgcmdiYSgkYmxhY2ssIDAuNCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzICFkZWZhdWx0O1xuXG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogMC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLXBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0OyAvLyAoQylcblxuJG1vZGFsLWxnOiA1MHJlbSAhZGVmYXVsdDtcbiRtb2RhbC1tZDogMzVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtc206IDIyLjVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1mYWRlLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwcHgpIHNjYWxlKDAuOCkgIWRlZmF1bHQ7XG4kbW9kYWwtc2hvdy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSkgIWRlZmF1bHQ7XG5cbiRtb2RhbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cyAhZGVmYXVsdDsgLy8gKEMpXG4kbW9kYWwtdHJhbnNpdGlvbjogdHJhbnNmb3JtICRtb2RhbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4kbW9kYWwtc2ltcGxlLXBhZGRpbmc6IDNyZW0gIWRlZmF1bHQ7IC8vIChDKVxuJG1vZGFsLXNpbXBsZS1jbG9zZS1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDsgLy8gKEMpXG5cbi8vICogQWxlcnRzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiRhbGVydC1wYWRkaW5nLXk6ICRzcGFjZXIgLSAwLjIxOXJlbSAhZGVmYXVsdDtcbiRhbGVydC1iZy1zY2FsZTogLTg4JSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItc2NhbGU6IC04OCUgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3Itc2NhbGU6IDEwJSAhZGVmYXVsdDtcblxuLy8gKiBQcm9ncmVzcyBiYXJzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDAuNzVyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAwLjYyNXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZy1zY2FsZTogODglICFkZWZhdWx0OyAvLyAoQylcbiRwcm9ncmVzcy1iZzogc2hpZnQtY29sb3IoJHByaW1hcnksICRwcm9ncmVzcy1iZy1zY2FsZSwgJHJnYmEtdG8taGV4LWJnKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLyAgIGdyb3VwXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBsaXN0LWdyb3VwLXZhcmlhYmxlc1xuJGxpc3QtZ3JvdXAtYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAkdGV4dC1saWdodGVyICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6IDAuNzM1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6IDFyZW0gIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLWJnLXNjYWxlOiAtODglICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1jb2xvci1zY2FsZTogMTAlICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1iZy1ob3Zlci1zY2FsZTogNSUgIWRlZmF1bHQ7IC8vICAoYylcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6IHJnYmEtdG8taGV4KHJnYmEoJGJsYWNrLCAwLjA1KSwgJHJnYmEtdG8taGV4LWJnKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiByZ2JhLXRvLWhleChyZ2JhKCRwcmltYXJ5LCAwLjA4KSwgJHJnYmEtdG8taGV4LWJnKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRsaXN0LWdyb3VwLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiByZ2JhLXRvLWhleChyZ2JhKCRwcmltYXJ5LCAwLjA4KSwgJHJnYmEtdG8taGV4LWJnKSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLXZhcmlhYmxlc1xuXG4vLyAqIEltYWdlIHRodW1ibmFpbHNcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuJHRodW1ibmFpbC1wYWRkaW5nOiAwICFkZWZhdWx0O1xuJHRodW1ibmFpbC1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogMHB4ICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAwcHggIWRlZmF1bHQ7XG5cbi8vICogRmlndXJlc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuXG4vLyAqIEJyZWFkY3J1bWJzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiRicmVhZGNydW1iLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteTogMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZy14OiAwLjVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICcvJyAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItZmxpcHBlZDogJ1xcXFwnICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3IgIWRlZmF1bHQ7IC8vIChDKVxuXG4vLyBTcGlubmVyc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kc3Bpbm5lci13aWR0aC1sZzogM3JlbSAhZGVmYXVsdDsgLy8gKEMpXG4kc3Bpbm5lci1oZWlnaHQtbGc6ICRzcGlubmVyLXdpZHRoLWxnICFkZWZhdWx0OyAvLyAoQylcbiRzcGlubmVyLWJvcmRlci13aWR0aC1sZzogMC4zZW0gIWRlZmF1bHQ7IC8vIChDKVxuXG4vLyAqIENsb3NlXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiRidG4tY2xvc2Utd2lkdGg6IDAuNjVyZW0gIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWZvY3VzLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtZm9jdXMtb3BhY2l0eTogMC43NSAhZGVmYXVsdDtcblxuJGNsb3NlLWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7IC8vIChDKVxuXG4vLyAqIE9mZmNhbnZhc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgb2ZmY2FudmFzLXZhcmlhYmxlc1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjI1cyAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgb2ZmY2FudmFzLXZhcmlhYmxlc1xuXG4vLyBVdGlsaXRpZXNcbiRvdmVyZmxvd3M6IGF1dG8sIGhpZGRlbiwgc2Nyb2xsLCB2aXNpYmxlICFkZWZhdWx0O1xuXG4vLyBDb25maWdcbiRydGwtc3VwcG9ydDogZmFsc2UgIWRlZmF1bHQ7XG4kZGFyay1zdHlsZTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvLyBBY2NvcmRpb25cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLy8gSGVhZGVyIHRleHQgY29sb3IgYWNjb3JkaW9uXG5AbWl4aW4gdGVtcGxhdGUtYWNjb3JkaW9uLWhlYWRlci12YXJpYW50KCRwYXJlbnQsICRiYWNrZ3JvdW5kKSB7XG4gIC5hY2NvcmRpb24ge1xuICAgICYjeyRwYXJlbnR9IHtcbiAgICAgIC5hY2NvcmRpb24taXRlbSB7XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICAgICAgICBjb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ== */
