/**
 * Table of Contents:

 * 1.0  - Variables
 * 2.0  - Normalize
 * 3.0  - General
 * 4.0  - Form
 * 5.0  - Typography
 * 6.0  - Grid
 * 7.0  - Keyframes
*/
/* 1.0  - Variables */
@keyframes fadeInUpPx {
	from {
		opacity: 0;
		transform: translateY(100px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes scaleImage {
	from {
		transform: scale(0);
	}
	to {
		transform: scale(1);
	}
}
body {
	--wp--style--gallery-gap-default: 1rem;
	--lmav--transition-speed: 0.35s;
	--lmav--transition-timing-function: ease-in-out;
	--lmav--full-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px));
	--lmav--full-width: calc(100vw - var(--lmav-js-scrollbar, 1rem));
}
@media (prefers-reduced-motion: reduce) {
	body {
		--lmav--transition-speed: 0s;
		--lmav--transition-timing-function: linear;
	}
}
body.loaded {
	--lmav--full-width: calc(100vw - var(--lmav-js-scrollbar, 0px));
}

/* 2.0  - Normalize */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	line-height: 1.5;
	text-size-adjust: 100%;
}

body {
	margin: 0;
}

main {
	display: block;
}

b,
strong {
	font-weight: 700;
}

kbd,
samp {
	font-family: monospace;
	font-size: 1em;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 65%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.7em;
}

img {
	border-style: none;
}

button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.5;
	margin: 0;
}

button,
input {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
	appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

fieldset {
	padding: 0.35em 0.75em 0.625em;
}

legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

progress {
	vertical-align: baseline;
}

textarea {
	overflow: auto;
}

[type=checkbox],
[type=radio] {
	box-sizing: border-box;
	padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height: auto;
}

[type=search] {
	appearance: textfield;
	outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
	appearance: none;
}

::-webkit-file-upload-button {
	appearance: button;
	font: inherit;
}

details {
	display: block;
}

summary {
	display: list-item;
}

template {
	display: none;
}

[hidden] {
	display: none;
}

img,
svg {
	height: auto;
	max-width: 100%;
	vertical-align: middle;
}

svg {
	max-height: 100%;
}

iframe[src*="google.com"], iframe[data-src*="google.com"] {
	border-radius: 1.25rem;
	width: 100%;
}

/* 3.0  - General */
html {
	font-size: clamp(1rem, 0.833vw, 0.833vw);
	overscroll-behavior: none;
	scrollbar-color: var(--wp--preset--color--black) var(--wp--preset--color--bg-alt);
	scrollbar-width: thin;
}
html::-webkit-scrollbar {
	width: 0.25rem;
}
html::-webkit-scrollbar-track {
	background: var(--wp--preset--color--bg-alt);
}
html::-webkit-scrollbar-thumb {
	background-color: var(--wp--preset--color--black);
	border: 0;
	border-radius: 0;
}
html[data-popup] {
	overflow: hidden;
}

*:focus {
	outline: 0.125rem solid var(--wp--preset--color--secondary);
	outline-offset: 0.125rem;
}
body.has-mouse-event *:focus {
	outline: none;
}

.site__wrapper {
	display: flex;
	flex-direction: column;
	min-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px));
	overflow-x: clip;
	padding-left: clamp(1rem, 2.2008253095vw, 2rem);
	padding-right: clamp(1rem, 2.2008253095vw, 2rem);
}
.site__main {
	flex: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.site__content::after {
	clear: both;
	content: "";
	display: table;
}

.breadcrumbs {
	color: var(--wp--preset--color--white);
	font-size: 0.75rem;
	margin-bottom: 1.25rem;
}
@media (max-width: 781px) {
	.breadcrumbs {
		margin-bottom: 0.5rem;
	}
}
.breadcrumbs .sep {
	color: var(--wp--preset--color--white);
	padding: 0 0.3125rem;
}
.breadcrumbs a {
	color: currentColor;
	background-image: linear-gradient(currentcolor, currentcolor);
	background-position: 100% 100%;
	background-repeat: no-repeat;
	background-size: 0% 0.0625rem;
	transition: background-size calc(var(--lmav--transition-speed) * 1) ease 0s, color var(--lmav--transition-speed) ease;
}
.breadcrumbs a:hover {
	background-position: 0 100%;
	background-size: 100% 0.0625rem;
}

.module {
	margin-left: calc(clamp(1rem, 2.2008253095vw, 2rem) * -1);
	margin-right: calc(clamp(1rem, 2.2008253095vw, 2rem) * -1);
	padding-left: clamp(1rem, 2.2008253095vw, 2rem);
	padding-right: clamp(1rem, 2.2008253095vw, 2rem);
}
.module.has-light-bg {
	background-color: var(--wp--preset--color--bg-light);
}
.module.has-blue-bg {
	background-color: var(--wp--preset--color--primary);
	background-image: url("../images/bg.jpg");
	background-position: center;
	background-repeat: repeat-y;
	background-size: 100% auto;
	color: var(--wp--preset--color--bg-light);
}
.module.has-blue-bg .title {
	color: var(--wp--preset--color--secondary);
}
.module.has-20-pt {
	padding-top: 1.25rem;
}
.module.has-40-pt {
	padding-top: clamp(1.5625rem, 2.7510316369vw, 2.5rem);
}
.module.has-60-pt {
	padding-top: clamp(1.875rem, 4.1265474553vw, 3.75rem);
}
.module.has-80-pt {
	padding-top: clamp(2.5rem, 5.5020632737vw, 5rem);
}
.module.has-100-pt {
	padding-top: clamp(3.125rem, 6.8775790922vw, 6.25rem);
}
.module.has-120-pt {
	padding-top: clamp(3.75rem, 8.2530949106vw, 7.5rem);
}
.module.has-20-pb {
	padding-bottom: 1.25rem;
}
.module.has-40-pb {
	padding-bottom: clamp(1.5625rem, 2.7510316369vw, 2.5rem);
}
.module.has-60-pb {
	padding-bottom: clamp(1.875rem, 4.1265474553vw, 3.75rem);
}
.module.has-80-pb {
	padding-bottom: clamp(2.5rem, 5.5020632737vw, 5rem);
}
.module.has-100-pb {
	padding-bottom: clamp(3.125rem, 6.8775790922vw, 6.25rem);
}
.module.has-120-pb {
	padding-bottom: clamp(3.75rem, 8.2530949106vw, 7.5rem);
}

/* 4.0  - Form */
label {
	cursor: pointer;
	display: block;
	margin-bottom: 0.625rem;
}

input[type=text],
input[type=email],
input[type=number],
input[type=search],
input[type=password],
input[type=tel],
input[type=url],
textarea,
select {
	appearance: none;
	background-color: var(--wp--preset--color--white);
	border-color: color-mix(in srgb, var(--wp--preset--color--primary) 30%, transparent);
	border-radius: 0.375rem;
	border-style: solid;
	border-width: 0.0625rem;
	box-shadow: none;
	color: var(--wp--preset--color--black);
	display: block;
	height: 3.875rem;
	margin-bottom: 0.625rem;
	margin-top: 0.625rem;
	max-width: 100%;
	padding: 1.125rem 0.8125rem !important;
	width: 100%;
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=number]::placeholder,
input[type=search]::placeholder,
input[type=password]::placeholder,
input[type=tel]::placeholder,
input[type=url]::placeholder,
textarea::placeholder,
select::placeholder {
	color: var(--wp--preset--color--black);
	opacity: 1;
}

input[type=checkbox],
input[type=radio] {
	appearance: none;
	background-color: var(--wp--preset--color--white);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 0;
	border-color: #ccc8c5;
	border-radius: 0.125rem;
	border-style: solid;
	border-width: 0.0625rem;
	box-shadow: none;
	cursor: pointer;
	height: 0.875rem;
	margin: 0;
	min-width: 0.875rem;
	transition: background-size calc(var(--lmav--transition-speed) / 2) var(--lmav--transition-timing-function), border-color calc(var(--lmav--transition-speed) / 2) var(--lmav--transition-timing-function);
	width: 0.875rem;
}
input[type=checkbox]:checked,
input[type=radio]:checked {
	background-size: 0.5rem auto;
	border-color: var(--wp--preset--color--black);
}
input[type=checkbox]:checked::before,
input[type=radio]:checked::before {
	content: none;
}
input[type=checkbox] + label,
input[type=radio] + label {
	display: inline;
	margin-bottom: 0;
	margin-left: 0.5rem;
}

input[type=checkbox] {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSI4IiB2aWV3Qm94PSIwIDAgOCA4IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KCTxyZWN0IHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSIyIiBmaWxsPSIjMjMwOTAzIi8+DQo8L3N2Zz4=);
}

input[type=radio] {
	background-image: url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbi1yYWRpbyIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQoJPHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGZpbGw9Im5vbmUiIHN0cm9rZS13aWR0aD0iMTBweCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBkPSJNMTUuODMzLDI0LjMzNGMyLjE3OS0wLjQ0Myw0Ljc2Ni0zLjk5NSw2LjU0NS01LjM1OSBjMS43Ni0xLjM1LDQuMTQ0LTMuNzMyLDYuMjU2LTQuMzM5Yy0zLjk4MywzLjg0NC02LjUwNCw5LjU1Ni0xMC4wNDcsMTMuODI3Yy0yLjMyNSwyLjgwMi01LjM4Nyw2LjE1My02LjA2OCw5Ljg2NiBjMi4wODEtMC40NzQsNC40ODQtMi41MDIsNi40MjUtMy40ODhjNS43MDgtMi44OTcsMTEuMzE2LTYuODA0LDE2LjYwOC0xMC40MThjNC44MTItMy4yODcsMTEuMTMtNy41MywxMy45MzUtMTIuOTA1IGMtMC43NTksMy4wNTktMy4zNjQsNi40MjEtNC45NDMsOS4yMDNjLTIuNzI4LDQuODA2LTYuMDY0LDguNDE3LTkuNzgxLDEyLjQ0NmMtNi44OTUsNy40NzctMTUuMTA3LDE0LjEwOS0yMC43NzksMjIuNjA4IGMzLjUxNS0wLjc4NCw3LjEwMy0yLjk5NiwxMC4yNjMtNC42MjhjNi40NTUtMy4zMzUsMTIuMjM1LTguMzgxLDE3LjY4NC0xMy4xNWM1LjQ5NS00LjgxLDEwLjg0OC05LjY4LDE1Ljg2Ni0xNC45ODggYzEuOTA1LTIuMDE2LDQuMTc4LTQuNDIsNS41NTYtNi44MzhjMC4wNTEsMS4yNTYtMC42MDQsMi41NDItMS4wMywzLjY3MmMtMS40MjQsMy43NjctMy4wMTEsNy40MzItNC43MjMsMTEuMDc2IGMtMi43NzIsNS45MDQtNi4zMTIsMTEuMzQyLTkuOTIxLDE2Ljc2M2MtMy4xNjcsNC43NTctNy4wODIsOC45NC0xMC44NTQsMTMuMjA1Yy0yLjQ1NiwyLjc3Ny00Ljg3Niw1Ljk3Ny03LjYyNyw4LjQ0OCBjOS4zNDEtNy41MiwxOC45NjUtMTQuNjI5LDI3LjkyNC0yMi42NTZjNC45OTUtNC40NzQsOS41NTctOS4wNzUsMTMuNTg2LTE0LjQ0NmMxLjQ0My0xLjkyNCwyLjQyNy00LjkzOSwzLjc0LTYuNTYgYy0wLjQ0NiwzLjMyMi0yLjE4Myw2Ljg3OC0zLjMxMiwxMC4wMzJjLTIuMjYxLDYuMzA5LTUuMzUyLDEyLjUzLTguNDE4LDE4LjQ4MmMtMy40Niw2LjcxOS04LjEzNCwxMi42OTgtMTEuOTU0LDE5LjIwMyBjLTAuNzI1LDEuMjM0LTEuODMzLDIuNDUxLTIuMjY1LDMuNzdjMi4zNDctMC40OCw0LjgxMi0zLjE5OSw3LjAyOC00LjI4NmM0LjE0NC0yLjAzMyw3Ljc4Ny00LjkzOCwxMS4xODQtOC4wNzIgYzMuMTQyLTIuOSw1LjM0NC02Ljc1OCw3LjkyNS0xMC4xNDFjMS40ODMtMS45NDQsMy4zMDYtNC4wNTYsNC4zNDEtNi4yODNjMC4wNDEsMS4xMDItMC41MDcsMi4zNDUtMC44NzYsMy4zODggYy0xLjQ1Niw0LjExNC0zLjM2OSw4LjE4NC01LjA1OSwxMi4yMTJjLTEuNTAzLDMuNTgzLTMuNDIxLDcuMDAxLTUuMjc3LDEwLjQxMWMtMC45NjcsMS43NzUtMi40NzEsMy41MjgtMy4yODcsNS4yOTggYzIuNDktMS4xNjMsNS4yMjktMy45MDYsNy4yMTItNS44MjhjMi4wOTQtMi4wMjgsNS4wMjctNC43MTYsNi4zMy03LjMzNWMtMC4yNTYsMS40Ny0yLjA3LDMuNTc3LTMuMDIsNC44MDkiLz4NCjwvc3ZnPg==);
	border-radius: 100%;
}

select {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDMiIGhlaWdodD0iNDMiIHZpZXdCb3g9IjAgMCA0MyA0MyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCgk8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTMxLjI5MDYgMTYuNDM5OUMzMS43MTA0IDE2Ljg1OTcgMzEuNzEwNCAxNy41NDAzIDMxLjI5MDYgMTcuOTYwMUwyMS44MzA2IDI3LjQyMDFDMjEuNjI1OSAyNy42MjQ4IDIxLjM0NzQgMjcuNzM4MyAyMS4wNTggMjcuNzM0OUMyMC43Njg2IDI3LjczMTYgMjAuNDkyNyAyNy42MTE2IDIwLjI5MjkgMjcuNDAyM0wxMS4yNjI5IDE3Ljk0MjNDMTAuODUyOSAxNy41MTI4IDEwLjg2ODcgMTYuODMyMyAxMS4yOTgyIDE2LjQyMjRDMTEuNzI3NyAxNi4wMTI1IDEyLjQwODEgMTYuMDI4MyAxMi44MTgxIDE2LjQ1NzdMMjEuMDg4NCAyNS4xMjE4TDI5Ljc3MDMgMTYuNDM5OUMzMC4xOTAxIDE2LjAyIDMwLjg3MDggMTYuMDIgMzEuMjkwNiAxNi40Mzk5WiIgZmlsbD0iIzFDMjAyNiIvPg0KPC9zdmc+);
	background-position: right 0.8125rem center;
	background-repeat: no-repeat;
	background-size: 2.6875rem;
	cursor: pointer;
}

input:autofill,
input:autofill:hover,
input:autofill:focus,
input:autofill:active {
	box-shadow: 0 0 0 3.125rem var(--wp--preset--color--white) inset !important;
}

input[type=search] {
	appearance: textfield;
	appearance: none;
	appearance: none;
}

input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button {
	appearance: none;
}

textarea {
	display: block;
	height: 8.0625rem;
	resize: none;
	width: 100%;
}

.filters {
	align-items: center;
	display: flex;
	font-size: 1rem;
	margin-top: clamp(2.5rem, 4.8143053645vw, 4.375rem);
	min-height: 2.625rem;
}
.filters__header {
	display: none;
}
.filters__list {
	align-items: center;
	display: flex;
	flex-wrap: nowrap;
	-ms-overflow-style: none;
	overflow-x: auto;
	scrollbar-width: none;
}
@media (max-width: 991px) {
	.filters__list {
		margin-right: calc(clamp(1rem, 2.2008253095vw, 2rem) * -1);
		min-width: 0;
		width: calc(100% + clamp(1rem, 2.2008253095vw, 2rem));
	}
}
@media (min-width: 992px) {
	.filters__list {
		flex-wrap: wrap;
		overflow-x: visible;
	}
}
.filters__list::-webkit-scrollbar {
	display: none;
}
.filters__selected {
	display: none;
	gap: 0.5rem;
	margin-top: 1.25rem;
}
.filters__selected:has(button:not(.clear)) {
	display: flex;
	margin-top: 1.25rem;
}
.filters__selected button {
	background-color: rgba(255, 255, 255, 0.1);
	border: 0;
	border-radius: 2.5rem;
	color: #c6cacd;
	font-size: 0.75rem;
	line-height: 120%;
	padding: 0.25rem 1.5rem 0.25rem 0.5rem;
	position: relative;
}
.filters__selected button::after {
	background-color: currentColor;
	bottom: 0;
	content: "";
	mask-image: url("data:image/svg+xml,%3Csvg width='11' height='11' viewBox='0 0 11 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.78638 2.75501L5.49864 5.04274L3.2109 2.75501L2.75308 3.21283L5.04081 5.50057L2.75377 7.78762L3.2109 8.24475L5.49795 5.9577L7.78569 8.24544L8.24351 7.78762L5.95577 5.49988L8.24351 3.21214L7.78638 2.75501Z' fill='%23C6CACD'/%3E%3C/svg%3E%0A");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: 0.6875rem;
	position: absolute;
	right: 0.5rem;
	top: 0;
	width: 0.6875rem;
}
.filters__selected button:hover, .filters__selected button:focus {
	background-color: var(--wp--preset--color--blue-light);
	color: var(--wp--preset--color--bg-alt);
}
.filters__selected button.clear {
	background-color: transparent;
	background-position: 0.75rem calc(100% - 0.375rem) !important;
	background-size: calc(100% - 1.5rem) 0.0625rem !important;
	color: var(--wp--preset--color--bg-alt);
	order: 10;
	padding-right: 0.75rem;
	background-image: linear-gradient(currentcolor, currentcolor);
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 100% 0.0625rem;
	transition: background-size calc(var(--lmav--transition-speed) * 1) ease 0s, color var(--lmav--transition-speed) ease;
}
.filters__selected button.clear:hover {
	background-position: 100% 100%;
	background-size: 0% 0.0625rem;
}
.filters__selected button.clear::after {
	content: none;
}
.filters__selected button.clear:hover, .filters__selected button.clear:focus {
	background-color: transparent;
	background-position: calc(100% - 0.75rem) calc(100% - 0.375rem) !important;
	background-size: 0% 0.0625rem !important;
	color: var(--wp--preset--color--black);
}
.filters__desktop {
	align-items: center;
	background: transparent !important;
	border: 0;
	border-radius: 0;
	color: currentColor !important;
	display: inline-flex;
	display: none;
	height: 3.5rem;
	margin-right: 0.75rem;
	padding: 0 1.25rem;
}
@media (min-width: 992px) {
	.filters__desktop {
		display: inline-flex;
	}
}
.filters__apply {
	display: none;
}
.filters__results {
	color: var(--wp--preset--color--primary);
	flex-grow: 1;
	font-size: 1rem;
	padding: 0 1.25rem;
	text-align: right;
}

body:not(.has-mouse-event) .dropdown-wrapper__inner:focus-within {
	outline: none;
}

.dropdown-wrapper {
	background-color: var(--wp--preset--color--white);
	border-radius: 2.75rem;
	margin-right: 0.5rem;
	position: relative;
	transition: background-color var(--lmav--transition-speed) var(--lmav--transition-timing-function);
	z-index: 3;
}
@media (hover: hover) {
	.dropdown-wrapper:hover {
		background-color: var(--wp--preset--color--secondary);
		color: var(--wp--preset--color--white);
	}
	.dropdown-wrapper:hover .dropdown-wrapper__label::after {
		filter: brightness(0) invert(1);
	}
}
.dropdown-wrapper:not(:has(.dropdown-wrapper__menu > li)) {
	display: none;
}
.dropdown-wrapper:has(.dropdown-wrapper__inner.active) {
	background-color: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--white);
}
.dropdown-wrapper:has(.dropdown-wrapper__inner.active) .dropdown-wrapper__label::after {
	filter: brightness(0) invert(1);
}
.dropdown-wrapper__inner.active .dropdown-wrapper__label::after {
	transform: translateY(-50%) rotate(180deg);
}
.dropdown-wrapper__inner.active .dropdown-wrapper__dropdown {
	display: block;
}
.dropdown-wrapper__label {
	align-items: center;
	color: inherit;
	cursor: pointer;
	display: flex;
	font-size: inherit;
	font-weight: inherit;
	height: 2.625rem;
	margin: 0;
	padding: 0 2.5rem 0 1.25rem;
	position: relative;
	transition: color var(--lmav--transition-speed) var(--lmav--transition-timing-function);
}
.dropdown-wrapper__label::after {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0zLjU1MDg3IDUuNDUwMDJMOS4wMDAwOSAxMC44OTkyTDE0LjQ0OTMgNS40NTAwMkwxNS4xOTc5IDYuMTk4NjRMOS4wMDAwOSAxMi4zOTY1TDIuODAyMjUgNi4xOTg2NEwzLjU1MDg3IDUuNDUwMDJaIiBmaWxsPSIjMUMyQjNBIi8+DQo8L3N2Zz4NCg==);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 1.125rem 1.125rem;
	content: "";
	height: 1.125rem;
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%) rotate(0deg);
	transition: transform var(--lmav--transition-speed) var(--lmav--transition-timing-function);
	width: 1.125rem;
}
.dropdown-wrapper__menu {
	background-color: var(--wp--preset--color--white);
	border-radius: 0.5rem;
	box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.19);
	list-style: none;
	padding: 1rem 0;
}
.dropdown-wrapper__menu li {
	align-items: center;
	display: flex;
	position: relative;
}
.dropdown-wrapper__menu li:hover input[type=checkbox]:not(:checked) {
	border-color: var(--wp--preset--color--secondary);
}
.dropdown-wrapper__menu li:hover label {
	background-color: transparent;
	color: var(--wp--preset--color--secondary);
}
.dropdown-wrapper__menu li.option-title {
	color: var(--wp--preset--color--primary);
	font-weight: 700;
	padding: 0.3125rem 1.25rem 0;
}
.dropdown-wrapper__menu li input[type=checkbox] {
	background-color: var(--wp--preset--color--blue-light);
	background-image: url("data:image/svg+xml,%3Csvg width='11' height='7' viewBox='0 0 11 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.745519 2.24371L3.98817 5.45689L9.53096 -8.64216e-05L10.2734 0.754739L3.9861 6.94482L4.70899e-08 2.99595L0.745519 2.24371Z' fill='white'/%3E%3C/svg%3E");
	border-color: var(--wp--preset--color--blue-light);
	border-radius: 0.0625rem;
	height: 1.125rem;
	left: 1.25rem;
	min-width: 1.125rem;
	pointer-events: none;
	position: absolute;
	width: 1.125rem;
}
.dropdown-wrapper__menu li input[type=checkbox]:checked {
	background-color: var(--wp--preset--color--secondary);
	background-size: 0.6875rem auto;
	border-color: var(--wp--preset--color--secondary);
}
.dropdown-wrapper__menu li input[type=checkbox]:checked ~ label {
	color: var(--wp--preset--color--bg-alt);
}
.dropdown-wrapper__menu li label {
	color: var(--wp--preset--color--bg-alt);
	cursor: pointer;
	display: block;
	font-size: 1rem;
	line-height: 120%;
	margin: 0;
	padding: 0.5rem 1.25rem 0.5rem 3.125rem;
	transition: color var(--lmav--transition-speed) var(--lmav--transition-timing-function);
	white-space: nowrap;
	width: 100%;
}
.dropdown-wrapper__dropdown {
	cursor: default;
	display: none;
	left: 0;
	margin: 0;
	max-height: 18.75rem;
	min-width: 100%;
	padding: 0;
	position: absolute;
	top: 100%;
	z-index: 100;
}
.dropdown-wrapper__type {
	display: block;
	padding: 0.4375rem 0.5rem;
}

@media (max-width: 991px) {
	.filters__list .dropdown-wrapper {
		flex-shrink: 0;
	}
}
/* 5.0  - Typography */
.skip-link {
	background-image: none;
	height: 0.0625rem;
	left: -62.4375rem;
	overflow: hidden;
	position: absolute;
	text-decoration: none;
	width: 0.0625rem;
	z-index: -999;
}
.skip-link:focus, .skip-link:active {
	background-color: var(--wp--preset--color--white);
	border: 0.0625rem solid var(--wp--preset--color--primary);
	border-radius: 0.25rem;
	height: auto;
	left: 1.25rem;
	margin: 0;
	min-width: 9.375rem;
	outline: none;
	overflow: auto;
	padding: 0.6875rem 0.9375rem;
	text-align: center;
	top: 1.25rem;
	white-space: nowrap;
	width: auto;
	z-index: 999;
}
.admin-bar .skip-link:focus, .admin-bar .skip-link:active {
	top: 3.25rem;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 0.0625rem;
	margin: -0.0625rem;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 0.0625rem;
	word-wrap: normal !important;
}

body {
	background-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--body-font);
	font-size: var(--wp--preset--font-size--text-medium);
	letter-spacing: 0.02em;
	line-height: 1.6;
	-ms-word-wrap: break-word;
	word-wrap: break-word;
}
body a {
	color: var(--wp--preset--color--black);
	text-decoration: none;
	background-image: linear-gradient(currentcolor, currentcolor);
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 100% 0.0625rem;
	transition: background-size calc(var(--lmav--transition-speed) * 1) ease 0s, color var(--lmav--transition-speed) ease;
}
body a:hover {
	background-position: 100% 100%;
	background-size: 0% 0.0625rem;
}
body .has-text-color:not(.has-link-color) a {
	color: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6,
p.title {
	clear: both;
	color: var(--wp--preset--color--black);
	font-family: var(--wp--preset--font-family--heading-add-font);
	line-height: 1.2;
	margin-bottom: var(--wp--preset--spacing--36);
	margin-top: var(--wp--preset--spacing--36);
}
h1 i,
h2 i,
h3 i,
h4 i,
h5 i,
h6 i,
p.title i {
	font-family: var(--wp--preset--font-family--heading-add-font);
	font-style: italic;
}

h1 {
	font-size: var(--wp--preset--font-size--heading-1);
}
@media (max-width: 781px) {
	h1 {
		font-size: 3.5rem;
	}
}

h2,
p.title {
	font-size: var(--wp--preset--font-size--heading-2);
}
@media (max-width: 781px) {
	h2,
	p.title {
		font-size: 2.375rem;
	}
}

h3 {
	font-size: var(--wp--preset--font-size--heading-3);
	line-height: 110%;
}
@media (max-width: 781px) {
	h3 {
		font-size: 1.75rem;
	}
}

h4 {
	font-size: var(--wp--preset--font-size--heading-4);
}
@media (max-width: 781px) {
	h4 {
		font-size: 1.5rem;
	}
}

h5 {
	font-size: var(--wp--preset--font-size--heading-5);
	line-height: 110%;
}
@media (max-width: 781px) {
	h5 {
		font-size: 1.375rem;
	}
}

h6 {
	font-size: var(--wp--preset--font-size--heading-5);
}

p.title {
	font-weight: bold;
}

.title span,
p.title span {
	font-family: var(--wp--preset--font-family--heading-add-font);
	font-style: italic;
	font-weight: 400;
}
.title--h1,
p.title--h1 {
	font-size: var(--wp--preset--font-size--heading-1);
}
.title--h2,
p.title--h2 {
	font-size: var(--wp--preset--font-size--heading-2);
}
.title--desc,
p.title--desc {
	font-size: var(--wp--preset--font-size--heading-5);
}

.subtitle span {
	font-family: var(--wp--preset--font-family--heading-add-font);
	font-style: italic;
	font-weight: 400;
}

.description > *:first-child {
	margin-top: 0;
}
.description > *:last-child {
	margin-bottom: 0;
}
.description ul {
	list-style: none;
	padding: 0;
}
.description ul li {
	padding-left: 1.5rem;
	position: relative;
}
.description ul li::before {
	background: url("data:image/svg+xml,%3Csvg viewBox='0 0 10 10' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='5' cy='5' r='5' /%3E%3C/svg%3E%0A") center center no-repeat;
	background-size: 100%;
	content: "";
	height: 0.25rem;
	left: 0.625rem;
	position: absolute;
	top: 0.6875rem;
	width: 0.25rem;
}

input[type=submit],
.button {
	align-items: center;
	background-color: var(--wp--preset--color--secondary);
	background-image: none;
	border: 0.0625rem solid var(--wp--preset--color--secondary);
	border-radius: 0.25rem;
	box-shadow: none;
	color: var(--wp--preset--color--white);
	cursor: pointer;
	display: inline-flex;
	font-size: var(--wp--preset--font-size--button-main);
	font-weight: 500;
	gap: 0.375rem;
	line-height: 1;
	padding: 0.75rem 1.25rem;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color var(--lmav--transition-speed) var(--lmav--transition-timing-function), border-color var(--lmav--transition-speed) var(--lmav--transition-timing-function), color var(--lmav--transition-speed) var(--lmav--transition-timing-function), padding var(--lmav--transition-speed) var(--lmav--transition-timing-function);
}
input[type=submit]:hover, input[type=submit]:focus,
.button:hover,
.button:focus {
	background-color: #e44f1f;
	border-color: #e44f1f;
	color: var(--wp--preset--color--white);
}

input[type=submit] {
	background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.0548 16.0547L16.2272 10.8823L1.76485 10.8823V9.70587L16.2272 9.70587L11.0548 4.53353L11.8866 3.70173L18.479 10.2941L11.8866 16.8865L11.0548 16.0547Z' fill='white'/%3E%3C/svg%3E");
	background-position: right 1rem center;
	background-repeat: no-repeat;
	background-size: 1.25rem 1.25rem;
	padding-right: 2.875rem;
}

.button::after {
	background-color: currentColor;
	content: "";
	flex-shrink: 0;
	height: 1.25rem;
	mask-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.0548 16.0547L16.2272 10.8823L1.76485 10.8823V9.70587L16.2272 9.70587L11.0548 4.53353L11.8866 3.70173L18.479 10.2941L11.8866 16.8865L11.0548 16.0547Z' fill='white'/%3E%3C/svg%3E");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	width: 1.25rem;
}

.button--no-arrow::after {
	display: none;
}

.button--outline {
	background-color: rgba(255, 94, 43, 0.06);
	color: var(--wp--preset--color--secondary);
}
.button--outline:hover {
	background-color: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--white);
}

.button--calendar {
	color: var(--wp--preset--color--bg-light);
}
.button--calendar::before {
	background-color: currentColor;
	content: "";
	height: 1.375rem;
	margin-right: 0.8125rem;
	mask-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzQiIGhlaWdodD0iMzQiIHZpZXdCb3g9IjAgMCAzNCAzNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMwIDdWMjhINVY3SDMwWk03IDI2SDI4VjE1SDdWMjZaTTcgMTNIMjhWOUg3VjEzWiIgZmlsbD0id2hpdGUiLz4KPGNpcmNsZSBjeD0iMjQiIGN5PSIxMSIgcj0iMSIgZmlsbD0id2hpdGUiLz4KPGNpcmNsZSBjeD0iMTEiIGN5PSIxMSIgcj0iMSIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==);
	mask-position: center;
	mask-repeat: repeat;
	mask-size: 1.75rem 1.75rem;
	min-width: 1.375rem;
	transition: mask-position var(--lmav--transition-speed) var(--lmav--transition-timing-function);
	width: 1.375rem;
}

.img_container-credit {
	position: relative;
}

.credit_img {
	background-color: var(--wp--preset--color--secondary);
	border-radius: 25px;
	bottom: 15px;
	cursor: pointer;
	height: 25px;
	overflow-x: scroll;
	overflow-y: hidden;
	position: absolute;
	right: 15px;
	scrollbar-width: none !important;
	width: 25px;
	z-index: 3;
	scrollbar-color: transparent transparent;
	scrollbar-width: thin;
}
.credit_img::-webkit-scrollbar {
	width: 0.25rem;
}
.credit_img::-webkit-scrollbar-track {
	background: transparent;
}
.credit_img::-webkit-scrollbar-thumb {
	background-color: transparent;
	border: 0;
	border-radius: 0;
}
.credit_img::-webkit-scrollbar {
	background: transparent !important;
	width: 0 !important;
}
.credit_img .inner {
	align-items: center;
	display: flex;
	flex-wrap: nowrap;
	height: 25px;
}
.credit_img .inner span,
.credit_img .inner svg {
	display: block;
	flex-shrink: 0;
}
.credit_img .inner span {
	color: #ffffff;
	display: block;
	font-size: 11px;
	font-style: italic;
	padding-right: 11px;
}

/* 6.0  - Grid */
.container {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--wp--style--global--wide-size);
	width: 100%;
}
.container--lg {
	max-width: 88rem;
}
.container--sm {
	max-width: var(--wp--style--global--content-size);
}
.container--xs {
	max-width: 46.875rem;
}
.container--full {
	margin-left: calc(clamp(1rem, 2.2008253095vw, 2rem) * -1);
	margin-right: calc(clamp(1rem, 2.2008253095vw, 2rem) * -1);
	max-width: none;
}

/* 7.0  - Keyframes */
@keyframes fadeInUpPx {
	from {
		opacity: 0;
		transform: translateY(100px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes scaleImage {
	from {
		transform: scale(0);
	}
	to {
		transform: scale(1);
	}
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3AtY29udGVudC90aGVtZXMvbGUtbW9uZGUtYS12ZWxvL2Fzc2V0cy9jc3Mvc3R5bGUuY3NzIiwibWFwcGluZ3MiOiJBQUVBOzs7Ozs7Ozs7O0NBQUE7QUFZQTtBQ2RBO0NBQ0M7RUFDQztFQUNBO0NEYUQ7Q0NWQTtFQUNDO0VBQ0E7Q0RZRDtBQUNEO0FDVEE7Q0FDQztFQUNDO0NEV0Q7Q0NSQTtFQUNDO0NEVUQ7QUFDRDtBRTFCQTtDQUNDO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QUY0QkQ7QUUxQkM7Q0FQRDtFQVFFO0VBQ0E7Q0Y2QkQ7QUFDRDtBRTNCQztDQUNDO0FGNkJGOztBQTNCQTtBR2ZBOzs7Q0FHQztBSDhDRDs7QUczQ0E7Q0FDQztDQUNBO0FIOENEOztBRzNDQTtDQUNDO0FIOENEOztBRzNDQTtDQUNDO0FIOENEOztBRzNDQTs7Q0FFQyxnQkNxQm1CO0FKeUJwQjs7QUczQ0E7O0NBRUM7Q0FDQTtBSDhDRDs7QUczQ0E7Q0FDQztBSDhDRDs7QUczQ0E7O0NBRUM7Q0FDQTtDQUNBO0NBQ0E7QUg4Q0Q7O0FHM0NBO0NBQ0M7QUg4Q0Q7O0FHM0NBO0NBQ0M7QUg4Q0Q7O0FHM0NBO0NBQ0M7QUg4Q0Q7O0FHM0NBOzs7OztDQUtDO0NBQ0E7Q0FDQTtDQUNBO0FIOENEOztBRzNDQTs7Q0FFQztBSDhDRDs7QUczQ0E7O0NBRUM7QUg4Q0Q7O0FHM0NBOzs7O0NBSUM7QUg4Q0Q7O0FHM0NBOzs7O0NBSUM7Q0FDQTtBSDhDRDs7QUczQ0E7Q0FDQztBSDhDRDs7QUczQ0E7Q0FDQztDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QUg4Q0Q7O0FHM0NBO0NBQ0M7QUg4Q0Q7O0FHM0NBO0NBQ0M7QUg4Q0Q7O0FHM0NBOztDQUVDO0NBQ0E7QUg4Q0Q7O0FHM0NBOztDQUVDO0FIOENEOztBRzNDQTtDQUNDO0NBQ0E7QUg4Q0Q7O0FHM0NBO0NBQ0M7QUg4Q0Q7O0FHM0NBO0NBQ0M7Q0FDQTtBSDhDRDs7QUczQ0E7Q0FDQztBSDhDRDs7QUczQ0E7Q0FDQztBSDhDRDs7QUczQ0E7Q0FDQztBSDhDRDs7QUczQ0E7Q0FDQztBSDhDRDs7QUczQ0E7O0NBRUM7Q0FDQTtDQUNBO0FIOENEOztBRzNDQTtDQUNDO0FIOENEOztBRzFDQztDQUVDO0NBQ0E7QUg0Q0Y7O0FBaE1BO0FLcEJBO0NBQ0M7Q0FDQTtDQ3VCQTtDQUNBO0FOa01EO0FNaE1DO0NBQ0M7QU5rTUY7QU0vTEM7Q0FDQyw0Q0ZqQmM7QUprTmhCO0FNOUxDO0NBQ0MsaURGNUJhO0NFNkJiO0NBQ0E7QU5nTUY7QUtqT0M7Q0FDQztBTG1PRjs7QUsvTkE7Q0FDQztDQUNBO0FMa09EO0FLaE9DO0NBQ0M7QUxrT0Y7O0FLN05DO0NBQ0M7Q0FDQTtDQUNBO0NBQ0E7Q0FDQSwrQ0RyQmdCO0NDc0JoQixnRER0QmdCO0FKc1BsQjtBSzdOQztDQUNDO0NBQ0E7Q0FDQTtBTCtORjtBSzNORTtDQUNDO0NBQ0E7Q0FDQTtBTDZOSDs7QUt4TkE7Q0FDQyxzQ0R0Q2M7Q0N1Q2Q7Q0FDQTtBTDJORDtBT2tURTtDRmhoQkY7RUFNRTtDTDRORDtBQUNEO0FLMU5DO0NBQ0Msc0NEL0NhO0NDZ0RiO0FMNE5GO0FLek5DO0NBQ0M7Q0M3REQ7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBTnlSRDtBTXZSQztDQUNDO0NBQ0E7QU55UkY7O0FLOU5BO0NBQ0M7Q0FDQTtDQUNBLCtDRGhFaUI7Q0NpRWpCLGdERGpFaUI7QUprU2xCO0FLL05DO0NBQ0Msb0REeERnQjtBSnlSbEI7QUs5TkM7Q0FDQyxtRERsRWU7Q0NtRWY7Q0FDQTtDQUNBO0NBQ0E7Q0FDQSx5Q0RqRWdCO0FKaVNsQjtBSzlORTtDQUNDLDBDRHpFZ0I7QUp5U25CO0FLNU5DO0NBQ0M7QUw4TkY7QUszTkM7Q0FDQztBTDZORjtBSzFOQztDQUNDO0FMNE5GO0FLek5DO0NBQ0M7QUwyTkY7QUt4TkM7Q0FDQztBTDBORjtBS3ZOQztDQUNDO0FMeU5GO0FLdE5DO0NBQ0M7QUx3TkY7QUtyTkM7Q0FDQztBTHVORjtBS3BOQztDQUNDO0FMc05GO0FLbk5DO0NBQ0M7QUxxTkY7QUtsTkM7Q0FDQztBTG9ORjtBS2pOQztDQUNDO0FMbU5GOztBQWpVQTtBUXhCQTtDQUNDO0NBQ0E7Q0FDQTtBUjZWRDs7QVExVkE7Ozs7Ozs7OztDQVNDO0NBQ0EsaURKUmM7Q0lTZCxvRkphc0I7Q0ladEIsdUJKaURzQjtDSWhEdEIsbUJKd0RxQjtDSXREckI7Q0FDQTtDQUVBLHNDSmZjO0NJZ0JkO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0FSMlZEO0FRelZDOzs7Ozs7Ozs7Q0FDQyxzQ0p6QmE7Q0kwQmI7QVJtV0Y7O0FRL1ZBOztDQUVDO0NBQ0EsaURKbENjO0NJbUNkO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQSxtQkoyQnFCO0NJMUJyQjtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0FSa1dEO0FRaFdDOztDQUNDO0NBQ0EsNkNKbkRhO0FKc1pmO0FRaldFOztDQUNDO0FSb1dIO0FRaFdDOztDQUNDO0NBQ0E7Q0FDQTtBUm1XRjs7QVEvVkE7Q0FDQztBUmtXRDs7QVEvVkE7Q0FDQztDQUNBO0FSa1dEOztBUS9WQTtDQUNDO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QVJrV0Q7O0FRL1ZBOzs7O0NBSUM7QVJrV0Q7O0FRL1ZBO0NBQ0M7Q0FDQTtDQUNBO0FSa1dEOztBUS9WQTs7Q0FFQztBUmtXRDs7QVEvVkE7Q0FDQztDQUNBO0NBQ0E7Q0FDQTtBUmtXRDs7QVEvVkE7Q0FDQztDQUNBO0NBQ0E7Q0FDQTtDQUNBO0FSa1dEO0FRaFdDO0NBQ0M7QVJrV0Y7QVEvVkM7Q0FDQztDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QVJpV0Y7QU91RkU7Q0M5YkQ7RUFTRTtFQUNBO0VBQ0E7Q1JrV0Y7QUFDRDtBT2dGRTtDQzliRDtFQWVFO0VBQ0E7Q1JtV0Y7QUFDRDtBUWpXRTtDQUNDO0FSbVdIO0FRL1ZDO0NBQ0M7Q0FDQTtDQUNBO0FSaVdGO0FRL1ZFO0NBQ0M7Q0FDQTtBUmlXSDtBUTlWRTtDQUNDO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QVJnV0g7QVE5Vkc7Q0FDQztDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0FSZ1dKO0FRN1ZHO0NBRUMsc0RKN0tnQjtDSThLaEIsdUNKNUtZO0FKMGdCaEI7QVEzVkc7Q0FDQztDQUNBO0NBQ0E7Q0FDQSx1Q0puTFk7Q0lvTFo7Q0FDQTtDRnpMSDtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0FOdWhCRDtBTXJoQkM7Q0FDQztDQUNBO0FOdWhCRjtBUWxXSTtDQUNDO0FSb1dMO0FRaldJO0NBRUM7Q0FDQTtDQUNBO0NBQ0Esc0NKek1VO0FKMmlCZjtBUTVWQztDQUNDO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0FSOFZGO0FPSEU7Q0NyV0Q7RUFhRTtDUitWRjtBQUNEO0FRNVZDO0NBQ0M7QVI4VkY7QVEzVkM7Q0FDQyx3Q0puT2U7Q0lvT2Y7Q0FDQTtDQUNBO0NBQ0E7QVI2VkY7O0FRdlZFO0NBQ0M7QVIwVkg7O0FRclZBO0NBQ0MsaURKdlBjO0NJd1BkO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QVJ3VkQ7QVF0VkM7Q0FDQztFQUNDLHFESjVQZ0I7RUk2UGhCLHNDSmpRWTtDSnlsQmQ7Q1F0VkU7RUFDQztDUndWSDtBQUNEO0FRcFZDO0NBQ0M7QVJzVkY7QVFuVkM7Q0FDQyxxREoxUWlCO0NJMlFqQixzQ0ovUWE7QUpvbUJmO0FRblZFO0NBQ0M7QVJxVkg7QVE3VUs7Q0FDQztBUitVTjtBUTNVSTtDQUNDO0FSNlVMO0FRdlVDO0NBQ0M7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBUnlVRjtBUXZVRTtDQUNDO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBUnlVSDtBUXJVQztDQUNDLGlESnBVYTtDSXFVYjtDQUNBO0NBQ0E7Q0FDQTtBUnVVRjtBUXJVRTtDQUNDO0NBQ0E7Q0FDQTtBUnVVSDtBUXBVSTtDQUNDLGlESjdVYztBSm1wQm5CO0FRblVJO0NBQ0M7Q0FDQSwwQ0psVmM7QUp1cEJuQjtBUWpVRztDQUNDLHdDSnhWYTtDSXlWYixnQkp6VGdCO0NJMFRoQjtBUm1VSjtBUWhVRztDQUNDLHNESjNWZ0I7Q0k0VmhCO0NBQ0Esa0RKN1ZnQjtDSThWaEI7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QVJrVUo7QVFoVUk7Q0FDQyxxREp6V2M7Q0kwV2Q7Q0FDQSxpREozV2M7QUo2cUJuQjtBUTlURztDQUNDLHVDSjVXWTtBSjRxQmhCO0FRN1RHO0NBQ0MsdUNKaFhZO0NJaVhaO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBUitUSjtBUTFUQztDQUNDO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FFQTtDQUNBO0NBRUE7Q0FDQTtDQUNBO0FSMFRGO0FRdlRDO0NBQ0M7Q0FFQTtBUndURjs7QU8zSkU7Q0N2SkE7RUFDQztDUnNURjtBQUNEO0FBbHNCQTtBUzVCQTtDQUNDO0NBQ0E7Q0FDQTtDQUVBO0NBRUE7Q0FDQTtDQUNBO0NBQ0E7QVQrdEJEO0FTN3RCQztDQUVDLGlETE5hO0NLT2I7Q0FDQTtDQUVBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FFQTtBVDR0QkY7QVMxdEJFO0NBQ0M7QVQ0dEJIOztBU3Z0QkE7Q0FDQztDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBVDB0QkQ7O0FTdnRCQTtDQUNDLGlETDVDYztDSzZDZCx3Q0wxQ2dCO0NLMkNoQixzRExkbUI7Q0tlbkIsb0RMRHdCO0NLRXhCO0NBQ0E7Q0FDQTtDQUNBO0FUMHRCRDtBU3h0QkM7Q0FDQyxzQ0xyRGE7Q0tzRGI7Q0huREQ7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBTjh3QkQ7QU01d0JDO0NBQ0M7Q0FDQTtBTjh3QkY7QVM5dEJDO0NBQ0M7QVRndUJGOztBUzV0QkE7Ozs7Ozs7Q0FPQztDQUNBLHNDTHhFYztDS3lFZCw2REx6QzBCO0NLMEMxQjtDQUNBLDZDTFlVO0NLWFYsMENMV1U7QUpvdEJYO0FTN3RCQzs7Ozs7OztDQUNDLDZETC9DeUI7Q0tnRHpCO0FUcXVCRjs7QVNqdUJBO0NBQ0Msa0RMaERlO0FKb3hCaEI7QU9yUUU7Q0VoZUY7RUFJRTtDVHF1QkQ7QUFDRDs7QVNsdUJBOztDQUVDLGtETHhEZTtBSjZ4QmhCO0FPL1FFO0NFeGRGOztFQUtFO0NUdXVCRDtBQUNEOztBU3B1QkE7Q0FDQyxrREwvRGU7Q0tnRWY7QVR1dUJEO0FPMVJFO0NFL2NGO0VBS0U7Q1R3dUJEO0FBQ0Q7O0FTcnVCQTtDQUNDLGtETHZFZTtBSit5QmhCO0FPblNFO0NFdGNGO0VBSUU7Q1R5dUJEO0FBQ0Q7O0FTdHVCQTtDQUNDLGtETDlFZTtDSytFZjtBVHl1QkQ7QU83U0U7Q0U5YkY7RUFLRTtDVDB1QkQ7QUFDRDs7QVN2dUJBO0NBQ0Msa0RMdkZlO0FKaTBCaEI7O0FTdnVCQTtDQUNDO0FUMHVCRDs7QVNydUJDOztDQUNDLDZETDFHeUI7Q0syR3pCO0NBQ0E7QVR5dUJGO0FTdHVCQzs7Q0FDQyxrREwzR2M7QUpvMUJoQjtBU3R1QkM7O0NBQ0Msa0RMOUdjO0FKdTFCaEI7QVN0dUJDOztDQUNDLGtETC9HYztBSncxQmhCOztBU3B1QkM7Q0FDQyw2REw5SHlCO0NLK0h6QjtDQUNBO0FUdXVCRjs7QVNqdUJFO0NBQ0M7QVRvdUJIO0FTanVCRTtDQUNDO0FUbXVCSDtBUy90QkM7Q0FDQztDQUNBO0FUaXVCRjtBUy90QkU7Q0FDQztDQUNBO0FUaXVCSDtBUy90Qkc7Q0FDQztDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0FUaXVCSjs7QVMzdEJBOztDQUVDO0NBQ0EscURMck1rQjtDS3NNbEI7Q0FDQTtDQUNBO0NBQ0E7Q0FDQSxzQ0w5TWM7Q0srTWQ7Q0FDQTtDQUNBLG9ETDlKd0I7Q0srSnhCO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QVQ4dEJEO0FTNXRCQzs7O0NBRUM7Q0FDQTtDQUNBLHNDTC9OYTtBSjg3QmY7O0FTM3RCQTtDQUNDO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QVQ4dEJEOztBUzF0QkM7Q0FDQztDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QVQ2dEJGOztBU3h0QkM7Q0FDQztBVDJ0QkY7O0FTdnRCQTtDQUNDO0NBQ0EsMENMN1BrQjtBSnU5Qm5CO0FTeHRCQztDQUNDLHFETGhRaUI7Q0tpUWpCLHNDTHJRYTtBSis5QmY7O0FTdHRCQTtDQUNDLHlDTGpRaUI7QUowOUJsQjtBU3Z0QkM7Q0FDQztDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0FUeXRCRjs7QVNydEJBO0NBQ0M7QVR3dEJEOztBU3J0QkE7Q0FDQyxxREw1UmtCO0NLNlJsQjtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NIMVJBO0NBQ0E7QU5tL0JEO0FNai9CQztDQUNDO0FObS9CRjtBTWgvQkM7Q0FDQyx1QkdvUitCO0FUOHRCakM7QU0vK0JDO0NBQ0MsNkJHZ1JrQjtDSC9RbEI7Q0FDQTtBTmkvQkY7QVNqdUJDO0NBQ0M7Q0FDQTtBVG11QkY7QVNodUJDO0NBQ0M7Q0FDQTtDQUNBO0NBQ0E7QVRrdUJGO0FTaHVCRTs7Q0FFQztDQUNBO0FUa3VCSDtBUy90QkU7Q0FDQztDQUNBO0NBQ0E7Q0FDQTtDQUNBO0FUaXVCSDs7QUE5Z0NBO0FVaENBO0NBQ0M7Q0FDQTtDQUNBLDhDTkRvQjtDTUVwQjtBVmtqQ0Q7QVVoakNDO0NBQ0M7QVZrakNGO0FVL2lDQztDQUNDLGlETlZjO0FKMmpDaEI7QVU5aUNDO0NBQ0M7QVZnakNGO0FVN2lDQztDQUNDO0NBQ0E7Q0FDQTtBVitpQ0Y7O0FBaGlDQTtBQ3RDQTtDQUNDO0VBQ0M7RUFDQTtDRDBrQ0Q7Q0N2a0NBO0VBQ0M7RUFDQTtDRHlrQ0Q7QUFDRDtBQ3RrQ0E7Q0FDQztFQUNDO0NEd2tDRDtDQ3JrQ0E7RUFDQztDRHVrQ0Q7QUFDRCxDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbG1hdi1lbnYvLi93cC1jb250ZW50L3RoZW1lcy9sZS1tb25kZS1hLXZlbG8vYXNzZXRzL2Nzcy9zdHlsZS5zY3NzIiwid2VicGFjazovL2xtYXYtZW52Ly4vd3AtY29udGVudC90aGVtZXMvbGUtbW9uZGUtYS12ZWxvL2Fzc2V0cy9jc3MvX3NldHRpbmdzL19rZXlmcmFtZXMuc2NzcyIsIndlYnBhY2s6Ly9sbWF2LWVudi8uL3dwLWNvbnRlbnQvdGhlbWVzL2xlLW1vbmRlLWEtdmVsby9hc3NldHMvY3NzL19nbG9iYWwvX2Nzcy12YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9sbWF2LWVudi8uL3dwLWNvbnRlbnQvdGhlbWVzL2xlLW1vbmRlLWEtdmVsby9hc3NldHMvY3NzL19nbG9iYWwvX25vcm1hbGl6ZS5zY3NzIiwid2VicGFjazovL2xtYXYtZW52Ly4vd3AtY29udGVudC90aGVtZXMvbGUtbW9uZGUtYS12ZWxvL2Fzc2V0cy9jc3MvX3NldHRpbmdzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9sbWF2LWVudi8uL3dwLWNvbnRlbnQvdGhlbWVzL2xlLW1vbmRlLWEtdmVsby9hc3NldHMvY3NzL19nbG9iYWwvX2dlbmVyYWwuc2NzcyIsIndlYnBhY2s6Ly9sbWF2LWVudi8uL3dwLWNvbnRlbnQvdGhlbWVzL2xlLW1vbmRlLWEtdmVsby9hc3NldHMvY3NzL19zZXR0aW5ncy9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vbG1hdi1lbnYvLi93cC1jb250ZW50L3RoZW1lcy9sZS1tb25kZS1hLXZlbG8vYXNzZXRzL2Nzcy9fc2V0dGluZ3MvX2luY2x1ZGUtbWVkaWEuc2NzcyIsIndlYnBhY2s6Ly9sbWF2LWVudi8uL3dwLWNvbnRlbnQvdGhlbWVzL2xlLW1vbmRlLWEtdmVsby9hc3NldHMvY3NzL19nbG9iYWwvX2Zvcm0uc2NzcyIsIndlYnBhY2s6Ly9sbWF2LWVudi8uL3dwLWNvbnRlbnQvdGhlbWVzL2xlLW1vbmRlLWEtdmVsby9hc3NldHMvY3NzL19nbG9iYWwvX3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly9sbWF2LWVudi8uL3dwLWNvbnRlbnQvdGhlbWVzL2xlLW1vbmRlLWEtdmVsby9hc3NldHMvY3NzL19nbG9iYWwvX2dyaWQuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICdfc2V0dGluZ3MvaW5pdCc7XHJcblxyXG4vKipcclxuICogVGFibGUgb2YgQ29udGVudHM6XHJcblxyXG4gKiAxLjAgIC0gVmFyaWFibGVzXHJcbiAqIDIuMCAgLSBOb3JtYWxpemVcclxuICogMy4wICAtIEdlbmVyYWxcclxuICogNC4wICAtIEZvcm1cclxuICogNS4wICAtIFR5cG9ncmFwaHlcclxuICogNi4wICAtIEdyaWRcclxuICogNy4wICAtIEtleWZyYW1lc1xyXG4qL1xyXG5cclxuLyogMS4wICAtIFZhcmlhYmxlcyAqL1xyXG5cclxuQGltcG9ydCAnX2dsb2JhbC9jc3MtdmFyaWFibGVzJztcclxuXHJcbi8qIDIuMCAgLSBOb3JtYWxpemUgKi9cclxuXHJcbkBpbXBvcnQgJ19nbG9iYWwvbm9ybWFsaXplJztcclxuXHJcbi8qIDMuMCAgLSBHZW5lcmFsICovXHJcblxyXG5AaW1wb3J0ICdfZ2xvYmFsL2dlbmVyYWwnO1xyXG5cclxuLyogNC4wICAtIEZvcm0gKi9cclxuXHJcbkBpbXBvcnQgJ19nbG9iYWwvZm9ybSc7XHJcblxyXG4vKiA1LjAgIC0gVHlwb2dyYXBoeSAqL1xyXG5cclxuQGltcG9ydCAnX2dsb2JhbC90eXBvZ3JhcGh5JztcclxuXHJcbi8qIDYuMCAgLSBHcmlkICovXHJcblxyXG5AaW1wb3J0ICdfZ2xvYmFsL2dyaWQnO1xyXG5cclxuLyogNy4wICAtIEtleWZyYW1lcyAqL1xyXG5cclxuQGltcG9ydCAnX3NldHRpbmdzL2tleWZyYW1lcyc7XHJcbiIsIkBrZXlmcmFtZXMgZmFkZUluVXBQeCB7XHJcblx0ZnJvbSB7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMHB4KTtcclxuXHR9XHJcblxyXG5cdHRvIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcblx0fVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNjYWxlSW1hZ2Uge1xyXG5cdGZyb20ge1xyXG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuXHR9XHJcblxyXG5cdHRvIHtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcblx0fVxyXG59XHJcbiIsIkBpbXBvcnQgJy4uL19zZXR0aW5ncy9pbml0JztcclxuQGltcG9ydCAnLi4vX3NldHRpbmdzL2tleWZyYW1lcyc7XHJcblxyXG5ib2R5IHtcclxuXHQtLXdwLS1zdHlsZS0tZ2FsbGVyeS1nYXAtZGVmYXVsdDogMXJlbTtcclxuXHQtLWxtYXYtLXRyYW5zaXRpb24tc3BlZWQ6IDAuMzVzO1xyXG5cdC0tbG1hdi0tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG5cdC0tbG1hdi0tZnVsbC1oZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS13cC1hZG1pbi0tYWRtaW4tYmFyLS1oZWlnaHQsIDBweCkpO1xyXG5cdC0tbG1hdi0tZnVsbC13aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLWxtYXYtanMtc2Nyb2xsYmFyLCAxcmVtKSk7XHJcblxyXG5cdEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XHJcblx0XHQtLWxtYXYtLXRyYW5zaXRpb24tc3BlZWQ6IDBzO1xyXG5cdFx0LS1sbWF2LS10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG5cdH1cclxuXHJcblx0Ji5sb2FkZWQge1xyXG5cdFx0LS1sbWF2LS1mdWxsLXdpZHRoOiBjYWxjKDEwMHZ3IC0gdmFyKC0tbG1hdi1qcy1zY3JvbGxiYXIsIDBweCkpO1xyXG5cdH1cclxufVxyXG4iLCJAaW1wb3J0ICcuLi9fc2V0dGluZ3MvdmFyaWFibGVzJztcclxuQGltcG9ydCAnLi4vX3NldHRpbmdzL21peGlucyc7XHJcblxyXG4qLFxyXG4qOjpiZWZvcmUsXHJcbio6OmFmdGVyIHtcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG5odG1sIHtcclxuXHRsaW5lLWhlaWdodDogMS41O1xyXG5cdHRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XHJcbn1cclxuXHJcbmJvZHkge1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxubWFpbiB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbmIsXHJcbnN0cm9uZyB7XHJcblx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC0tYm9sZDtcclxufVxyXG5cclxua2JkLFxyXG5zYW1wIHtcclxuXHRmb250LWZhbWlseTogbW9ub3NwYWNlO1xyXG5cdGZvbnQtc2l6ZTogMWVtO1xyXG59XHJcblxyXG5zbWFsbCB7XHJcblx0Zm9udC1zaXplOiA4MCU7XHJcbn1cclxuXHJcbnN1Yixcclxuc3VwIHtcclxuXHRmb250LXNpemU6IDY1JTtcclxuXHRsaW5lLWhlaWdodDogMDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG59XHJcblxyXG5zdWIge1xyXG5cdGJvdHRvbTogLTAuMjVlbTtcclxufVxyXG5cclxuc3VwIHtcclxuXHR0b3A6IC0wLjdlbTtcclxufVxyXG5cclxuaW1nIHtcclxuXHRib3JkZXItc3R5bGU6IG5vbmU7XHJcbn1cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQsXHJcbm9wdGdyb3VwLFxyXG5zZWxlY3QsXHJcbnRleHRhcmVhIHtcclxuXHRmb250LWZhbWlseTogaW5oZXJpdDtcclxuXHRmb250LXNpemU6IDEwMCU7XHJcblx0bGluZS1oZWlnaHQ6IDEuNTtcclxuXHRtYXJnaW46IDA7XHJcbn1cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQge1xyXG5cdG92ZXJmbG93OiB2aXNpYmxlO1xyXG59XHJcblxyXG5idXR0b24sXHJcbnNlbGVjdCB7XHJcblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbn1cclxuXHJcbmJ1dHRvbixcclxuW3R5cGU9J2J1dHRvbiddLFxyXG5bdHlwZT0ncmVzZXQnXSxcclxuW3R5cGU9J3N1Ym1pdCddIHtcclxuXHRhcHBlYXJhbmNlOiBidXR0b247XHJcbn1cclxuXHJcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcclxuW3R5cGU9J2J1dHRvbiddOjotbW96LWZvY3VzLWlubmVyLFxyXG5bdHlwZT0ncmVzZXQnXTo6LW1vei1mb2N1cy1pbm5lcixcclxuW3R5cGU9J3N1Ym1pdCddOjotbW96LWZvY3VzLWlubmVyIHtcclxuXHRib3JkZXItc3R5bGU6IG5vbmU7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuZmllbGRzZXQge1xyXG5cdHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcclxufVxyXG5cclxubGVnZW5kIHtcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdGNvbG9yOiBpbmhlcml0O1xyXG5cdGRpc3BsYXk6IHRhYmxlO1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbn1cclxuXHJcbnByb2dyZXNzIHtcclxuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuXHJcbnRleHRhcmVhIHtcclxuXHRvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuW3R5cGU9J2NoZWNrYm94J10sXHJcblt0eXBlPSdyYWRpbyddIHtcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcblt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcclxuW3R5cGU9J251bWJlciddOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuXHRoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcblt0eXBlPSdzZWFyY2gnXSB7XHJcblx0YXBwZWFyYW5jZTogdGV4dGZpZWxkO1xyXG5cdG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xyXG59XHJcblxyXG5bdHlwZT0nc2VhcmNoJ106Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xyXG5cdGFwcGVhcmFuY2U6IG5vbmU7XHJcbn1cclxuXHJcbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xyXG5cdGFwcGVhcmFuY2U6IGJ1dHRvbjtcclxuXHRmb250OiBpbmhlcml0O1xyXG59XHJcblxyXG5kZXRhaWxzIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuc3VtbWFyeSB7XHJcblx0ZGlzcGxheTogbGlzdC1pdGVtO1xyXG59XHJcblxyXG50ZW1wbGF0ZSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuW2hpZGRlbl0ge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbmltZyxcclxuc3ZnIHtcclxuXHRoZWlnaHQ6IGF1dG87XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbnN2ZyB7XHJcblx0bWF4LWhlaWdodDogMTAwJTtcclxufVxyXG5cclxuaWZyYW1lIHtcclxuXHQmW3NyYyo9J2dvb2dsZS5jb20nXSxcclxuXHQmW2RhdGEtc3JjKj0nZ29vZ2xlLmNvbSddIHtcclxuXHRcdGJvcmRlci1yYWRpdXM6IHJlbSgyMCk7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcbn1cclxuIiwiQGltcG9ydCAnbWl4aW5zJztcclxuXHJcbi8vIExheW91dFxyXG4kbGF5b3V0LS13aWR0aDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLWNvbnRlbnQtc2l6ZSk7XHJcbiRsYXlvdXQtLXdpZGUtd2lkdGg6IHZhcigtLXdwLS1zdHlsZS0tZ2xvYmFsLS13aWRlLXNpemUpO1xyXG4kbGF5b3V0LS1wYWRkaW5nLS1taW46IDE2O1xyXG4kbGF5b3V0LS1wYWRkaW5nLS1tYXg6IDMyO1xyXG4kbGF5b3V0LS1wYWRkaW5nOiB2dygkbGF5b3V0LS1wYWRkaW5nLS1taW4sICRsYXlvdXQtLXBhZGRpbmctLW1heCk7XHJcblxyXG4vLyBDb2xvcnNcclxuJGNvbG9yLS13aGl0ZTogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlKTtcclxuJGNvbG9yLS1ibGFjazogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrKTtcclxuXHJcbiRjb2xvci0tcHJpbWFyeTogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXByaW1hcnkpO1xyXG4kY29sb3ItLXNlY29uZGFyeTogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXNlY29uZGFyeSk7XHJcbiRjb2xvci0tdGVydGlhcnk6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS10ZXJ0aWFyeSk7XHJcbiRjb2xvci0tYmx1ZS1saWdodDogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJsdWUtbGlnaHQpO1xyXG5cclxuJGNvbG9yLS1iZy1hbHQ6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1iZy1hbHQpO1xyXG4kY29sb3ItLWJnLWxpZ2h0OiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmctbGlnaHQpO1xyXG5cclxuJGNvbG9yLS1hbGVydDogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWFsZXJ0KTtcclxuJGNvbG9yLS1zdWNjZXNzOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tc3VjY2Vzcyk7XHJcbiRjb2xvci0tZXJyb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1lcnJvcik7XHJcblxyXG4kY29sb3ItLXRleHQ6ICRjb2xvci0tcHJpbWFyeTtcclxuJGNvbG9yLS1saW5rOiAkY29sb3ItLWJsYWNrO1xyXG4kY29sb3ItLWhlYWRpbmdzOiAkY29sb3ItLWJsYWNrO1xyXG4kY29sb3ItLWNvbnRlbnQtYmc6ICRjb2xvci0tYmctYWx0O1xyXG5cclxuJGNvbG9yLS1maWVsZHMtdGV4dDogJGNvbG9yLS1ibGFjaztcclxuJGNvbG9yLS1maWVsZHMtYmc6ICRjb2xvci0td2hpdGU7XHJcbiRjb2xvci0tZmllbGRzLWJvcmRlcjogY29sb3ItbWl4KGluIHNyZ2IsICRjb2xvci0tcHJpbWFyeSAzMCUsIHRyYW5zcGFyZW50KTtcclxuXHJcbi8vIEdsb2JhbFxyXG4kZnVsbC1oZWlnaHQ6IHZhcigtLWxtYXYtLWZ1bGwtaGVpZ2h0KTtcclxuJGZ1bGwtd2lkdGg6IHZhcigtLWxtYXYtLWZ1bGwtd2lkdGgpO1xyXG5cclxuJGhlYWRlci0tbW9iaWxlLW1heDogJ2xnJztcclxuJGZpbHRlcnMtLW1vYmlsZS1tYXg6ICdsZyc7XHJcblxyXG4vLyBGb250c1xyXG4kZm9udC1mYW1pbHktLWJvZHk6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtZmFtaWx5LS1ib2R5LWZvbnQpO1xyXG4kZm9udC1mYW1pbHktLWhlYWRpbmctYWRkOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LWZhbWlseS0taGVhZGluZy1hZGQtZm9udCk7XHJcblxyXG4kZm9udC13ZWlnaHQtLWJvbGQ6IDcwMDtcclxuXHJcbi8vIEhlYWRpbmdzXHJcbiRmb250LXNpemUtLWgxOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWhlYWRpbmctMSk7XHJcbiRmb250LXNpemUtLWgyOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWhlYWRpbmctMik7XHJcbiRmb250LXNpemUtLWgzOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWhlYWRpbmctMyk7XHJcbiRmb250LXNpemUtLWg0OiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWhlYWRpbmctNCk7XHJcbiRmb250LXNpemUtLWg1OiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWhlYWRpbmctNSk7XHJcblxyXG4vLyBUZXh0XHJcbiRmb250LXNpemUtLXRleHQtbGFyZ2U6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tdGV4dC1sYXJnZSk7XHJcbiRmb250LXNpemUtLXRleHQtbWVkaXVtOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXRleHQtbWVkaXVtKTtcclxuJGZvbnQtc2l6ZS0tdGV4dC1zbWFsbDogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS10ZXh0LXNtYWxsKTtcclxuJGZvbnQtc2l6ZS0tdGV4dC14c21hbGw6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tdGV4dC14c21hbGwpO1xyXG5cclxuLy8gQnV0dG9uc1xyXG4kZm9udC1zaXplLS1idXR0b24tbWFpbjogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1idXR0b24tbWFpbik7XHJcbiRmb250LXNpemUtLWJ1dHRvbi1yZWFkbW9yZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1idXR0b24tcmVhZG1vcmUpO1xyXG5cclxuLy8gUHJpY2VzXHJcbiRmb250LXNpemUtLXByaWNlLWRlZmF1bHQ6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tcHJpY2UtZGVmYXVsdCk7XHJcbiRmb250LXNpemUtLXByaWNlLWJpZzogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1wcmljZS1iaWcpO1xyXG5cclxuLy8gQm9yZGVyIFJhZGl1c2VzXHJcbiRib3JkZXItcmFkaXVzLS1pbnB1dDogcmVtKDYpO1xyXG4kYm9yZGVyLXJhZGl1cy0tY2hlY2tib3g6IHJlbSgyKTtcclxuXHJcbi8vIElucHV0c1xyXG4kaW5wdXQtLWhlaWdodDogNjI7XHJcbiRpbnB1dC0tcGFkZGluZy0teDogMTM7XHJcbiRpbnB1dC0tcGFkZGluZy0teTogMTg7XHJcbiRpbnB1dC0tYm9yZGVyLXdpZHRoOiAwO1xyXG4kaW5wdXQtLWJvcmRlci1zdHlsZTogc29saWQ7XHJcbiRpbnB1dC0tYm9yZGVyLWNvbG9yOiAkY29sb3ItLWZpZWxkcy1ib3JkZXI7XHJcblxyXG4vLyBUcmFuc2l0aW9uc1xyXG4kdHJhbnNpdGlvbi0tc3BlZWQ6IHZhcigtLWxtYXYtLXRyYW5zaXRpb24tc3BlZWQpO1xyXG4kdHJhbnNpdGlvbi0tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1sbWF2LS10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbik7XHJcbiR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi0tc3BlZWQgJHRyYW5zaXRpb24tLXRpbWluZy1mdW5jdGlvbjtcclxuXHJcbi8vIEJyZWFrcG9pbnRzXHJcbiRicmVha3BvaW50czogKFxyXG5cdHhzOiAzNzVweCxcclxuXHRzbTogNTc2cHgsXHJcblx0bWQ6IDc4MnB4LFxyXG5cdGxnOiA5OTJweCxcclxuXHR4bDogMTIwMHB4LFxyXG5cdHh4bDogMTQ0MHB4LFxyXG5cdG1heDogMTU4NXB4XHJcbik7XHJcblxyXG4vLyBTcGFjaW5nXHJcbiRzcGFjZXItMTogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tMjQpO1xyXG4kc3BhY2VyLTI6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTM2KTtcclxuJHNwYWNlci0zOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS02MCk7XHJcbiRzcGFjZXItNDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tODApO1xyXG4kc3BhY2VyLTU6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTEwMCk7XHJcbiRzcGFjZXItNjogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tMTIwKTtcclxuIiwiQGltcG9ydCAnLi4vX3NldHRpbmdzL2luaXQnO1xyXG5cclxuaHRtbCB7XHJcblx0Zm9udC1zaXplOiBjbGFtcCgxcmVtLCAwLjgzM3Z3LCAwLjgzM3Z3KTtcclxuXHRvdmVyc2Nyb2xsLWJlaGF2aW9yOiBub25lO1xyXG5cclxuXHRAaW5jbHVkZSBzY3JvbGxiYXIoJGNvbG9yLS1ibGFjaywgJGNvbG9yLS1jb250ZW50LWJnKTtcclxuXHJcblx0JltkYXRhLXBvcHVwXSB7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdH1cclxufVxyXG5cclxuKjpmb2N1cyB7XHJcblx0b3V0bGluZTogcmVtKDIpIHNvbGlkICRjb2xvci0tc2Vjb25kYXJ5O1xyXG5cdG91dGxpbmUtb2Zmc2V0OiByZW0oMik7XHJcblxyXG5cdGJvZHkuaGFzLW1vdXNlLWV2ZW50ICYge1xyXG5cdFx0b3V0bGluZTogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcbi5zaXRlIHtcclxuXHQmX193cmFwcGVyIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0bWluLWhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLXdwLWFkbWluLS1hZG1pbi1iYXItLWhlaWdodCwgMHB4KSk7XHJcblx0XHRvdmVyZmxvdy14OiBjbGlwO1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAkbGF5b3V0LS1wYWRkaW5nO1xyXG5cdFx0cGFkZGluZy1yaWdodDogJGxheW91dC0tcGFkZGluZztcclxuXHR9XHJcblxyXG5cdCZfX21haW4ge1xyXG5cdFx0ZmxleDogMTtcclxuXHRcdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG5cdFx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuXHR9XHJcblxyXG5cdCZfX2NvbnRlbnQge1xyXG5cdFx0Jjo6YWZ0ZXIge1xyXG5cdFx0XHRjbGVhcjogYm90aDtcclxuXHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdGRpc3BsYXk6IHRhYmxlO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmJyZWFkY3J1bWJzIHtcclxuXHRjb2xvcjogJGNvbG9yLS13aGl0ZTtcclxuXHRmb250LXNpemU6IHJlbSgxMik7XHJcblx0bWFyZ2luLWJvdHRvbTogcmVtKDIwKTtcclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IHJlbSg4KTtcclxuXHR9XHJcblxyXG5cdC5zZXAge1xyXG5cdFx0Y29sb3I6ICRjb2xvci0td2hpdGU7XHJcblx0XHRwYWRkaW5nOiAwIHJlbSg1KTtcclxuXHR9XHJcblxyXG5cdGEge1xyXG5cdFx0Y29sb3I6IGN1cnJlbnRDb2xvcjtcclxuXHJcblx0XHRAaW5jbHVkZSBsaW5rKCk7XHJcblx0fVxyXG59XHJcblxyXG4ubW9kdWxlIHtcclxuXHRtYXJnaW4tbGVmdDogY2FsYygkbGF5b3V0LS1wYWRkaW5nICogLTEpO1xyXG5cdG1hcmdpbi1yaWdodDogY2FsYygkbGF5b3V0LS1wYWRkaW5nICogLTEpO1xyXG5cdHBhZGRpbmctbGVmdDogJGxheW91dC0tcGFkZGluZztcclxuXHRwYWRkaW5nLXJpZ2h0OiAkbGF5b3V0LS1wYWRkaW5nO1xyXG5cclxuXHQmLmhhcy1saWdodC1iZyB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItLWJnLWxpZ2h0O1xyXG5cdH1cclxuXHJcblx0Ji5oYXMtYmx1ZS1iZyB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItLXByaW1hcnk7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9iZy5qcGcnKTtcclxuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHRcdGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xyXG5cdFx0Y29sb3I6ICRjb2xvci0tYmctbGlnaHQ7XHJcblxyXG5cdFx0LnRpdGxlIHtcclxuXHRcdFx0Y29sb3I6ICRjb2xvci0tc2Vjb25kYXJ5O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5oYXMtMjAtcHQge1xyXG5cdFx0cGFkZGluZy10b3A6IHJlbSgyMCk7XHJcblx0fVxyXG5cclxuXHQmLmhhcy00MC1wdCB7XHJcblx0XHRwYWRkaW5nLXRvcDogdncoMjUsIDQwKTtcclxuXHR9XHJcblxyXG5cdCYuaGFzLTYwLXB0IHtcclxuXHRcdHBhZGRpbmctdG9wOiB2dygzMCwgNjApO1xyXG5cdH1cclxuXHJcblx0Ji5oYXMtODAtcHQge1xyXG5cdFx0cGFkZGluZy10b3A6IHZ3KDQwLCA4MCk7XHJcblx0fVxyXG5cclxuXHQmLmhhcy0xMDAtcHQge1xyXG5cdFx0cGFkZGluZy10b3A6IHZ3KDUwLCAxMDApO1xyXG5cdH1cclxuXHJcblx0Ji5oYXMtMTIwLXB0IHtcclxuXHRcdHBhZGRpbmctdG9wOiB2dyg2MCwgMTIwKTtcclxuXHR9XHJcblxyXG5cdCYuaGFzLTIwLXBiIHtcclxuXHRcdHBhZGRpbmctYm90dG9tOiByZW0oMjApO1xyXG5cdH1cclxuXHJcblx0Ji5oYXMtNDAtcGIge1xyXG5cdFx0cGFkZGluZy1ib3R0b206IHZ3KDI1LCA0MCk7XHJcblx0fVxyXG5cclxuXHQmLmhhcy02MC1wYiB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogdncoMzAsIDYwKTtcclxuXHR9XHJcblxyXG5cdCYuaGFzLTgwLXBiIHtcclxuXHRcdHBhZGRpbmctYm90dG9tOiB2dyg0MCwgODApO1xyXG5cdH1cclxuXHJcblx0Ji5oYXMtMTAwLXBiIHtcclxuXHRcdHBhZGRpbmctYm90dG9tOiB2dyg1MCwgMTAwKTtcclxuXHR9XHJcblxyXG5cdCYuaGFzLTEyMC1wYiB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogdncoNjAsIDEyMCk7XHJcblx0fVxyXG59XHJcbiIsIkBtaXhpbiBsaW5rKCRoZWlnaHQ6IDEsICR4X3NwZWVkOiAxKSB7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KGN1cnJlbnRjb2xvciwgY3VycmVudGNvbG9yKTtcclxuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwMCU7XHJcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRiYWNrZ3JvdW5kLXNpemU6IDAlIHJlbSgkaGVpZ2h0KTtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXNpemUgY2FsYygkdHJhbnNpdGlvbi0tc3BlZWQgKiAkeF9zcGVlZCkgZWFzZSAwcywgY29sb3IgJHRyYW5zaXRpb24tLXNwZWVkIGVhc2U7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xyXG5cdFx0YmFja2dyb3VuZC1zaXplOiAxMDAlIHJlbSgkaGVpZ2h0KTtcclxuXHR9XHJcbn1cclxuXHJcbkBtaXhpbiBsaW5rLXVuZGVybGluZSgkaGVpZ2h0OiAxLCAkeF9zcGVlZDogMSkge1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChjdXJyZW50Y29sb3IsIGN1cnJlbnRjb2xvcik7XHJcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xyXG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0YmFja2dyb3VuZC1zaXplOiAxMDAlIHJlbSgkaGVpZ2h0KTtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXNpemUgY2FsYygkdHJhbnNpdGlvbi0tc3BlZWQgKiAkeF9zcGVlZCkgZWFzZSAwcywgY29sb3IgJHRyYW5zaXRpb24tLXNwZWVkIGVhc2U7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlO1xyXG5cdFx0YmFja2dyb3VuZC1zaXplOiAwJSByZW0oJGhlaWdodCk7XHJcblx0fVxyXG59XHJcblxyXG5AbWl4aW4gc2Nyb2xsYmFyKCRjb2xvci1zY3JvbGxiYXIsICRjb2xvci1zY3JvbGxiYXItYmcpIHtcclxuXHRzY3JvbGxiYXItY29sb3I6ICRjb2xvci1zY3JvbGxiYXIgJGNvbG9yLXNjcm9sbGJhci1iZztcclxuXHRzY3JvbGxiYXItd2lkdGg6IHRoaW47XHJcblxyXG5cdCY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuXHRcdHdpZHRoOiByZW0oNCk7XHJcblx0fVxyXG5cclxuXHQmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcblx0XHRiYWNrZ3JvdW5kOiAkY29sb3Itc2Nyb2xsYmFyLWJnO1xyXG5cdH1cclxuXHJcblx0Jjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNjcm9sbGJhcjtcclxuXHRcdGJvcmRlcjogMDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDA7XHJcblx0fVxyXG59XHJcblxyXG5AbWl4aW4gc2Nyb2xsYmFyLWhpZGRlbigpIHtcclxuXHRzY3JvbGxiYXItd2lkdGg6IG5vbmU7XHJcblxyXG5cdCY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR3aWR0aDogMDtcclxuXHR9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiByZW0oJHNpemVWYWx1ZTogMTYpIHtcclxuXHRAaWYgKHR5cGUtb2YoJHNpemVWYWx1ZSkgPT0gJ251bWJlcicpIHtcclxuXHRcdEByZXR1cm4gY2FsYygkc2l6ZVZhbHVlIC8gMTYpICsgcmVtO1xyXG5cdH1cclxuXHJcblx0QGVsc2Uge1xyXG5cdFx0QHJldHVybiAjeyRzaXplVmFsdWV9O1xyXG5cdH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHZ3KCRtaW4sICRtYXgsICR1c2UtdmFyOiAwLCAkbWF4LXY6IDE0NTQpIHtcclxuXHQkdnctdW5pdDogaWYoJHVzZS12YXIgPT0gMSwgdmFyKC0tbG1hdi0tdncsIDEwMHZ3KSwgMTAwdncpO1xyXG5cclxuXHRAcmV0dXJuIGNsYW1wKFxyXG5cdFx0I3tyZW0oJG1pbil9LFxyXG5cdFx0I3tjYWxjKCRtYXggLyAkbWF4LXYgKiAkdnctdW5pdCl9LFxyXG5cdFx0I3tyZW0oJG1heCl9XHJcblx0KTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHZ3ZnQoJG1pbiwgJG1heCwgJG1pbi12OiA3NjgsICRtYXgtdjogMTQ1NCwgJHVzZS12YXI6IDApIHtcclxuXHQkdnctdW5pdDogaWYoJHVzZS12YXIgPT0gMSwgdmFyKC0tbG1hdi0tdncsIDEwMHZ3KSwgMTAwdncpO1xyXG5cclxuXHRAcmV0dXJuIGNsYW1wKFxyXG5cdFx0I3tyZW0oJG1pbil9LFxyXG5cdFx0Y2FsYygoKCRtYXggLSAkbWluKSAvICgkbWF4LXYgLSAkbWluLXYpKSAqICgkdnctdW5pdCAtICN7Y2FsYygkbWluLXYgLyAxNil9cmVtKSArICN7cmVtKCRtaW4pfSksXHJcblx0XHQje3JlbSgkbWF4KX1cclxuXHQpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6ICcnKSB7XHJcblx0JGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XHJcblxyXG5cdEBpZiAkaW5kZXgge1xyXG5cdFx0QHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xyXG5cdH1cclxuXHJcblx0QHJldHVybiAkc3RyaW5nO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZXNjYXBlLXN2Zygkc3RyaW5nKSB7XHJcblx0QGlmIHN0ci1pbmRleCgkc3RyaW5nLCAnZGF0YTppbWFnZS9zdmcreG1sJykge1xyXG5cdFx0QGVhY2ggJGNoYXIsICRlbmNvZGVkIGluIChcclxuXHRcdFx0KCc8JywgJyUzYycpLFxyXG5cdFx0XHQoJz4nLCAnJTNlJyksXHJcblx0XHRcdCgnIycsICclMjMnKSxcclxuXHRcdFx0KCcoJywgJyUyOCcpLFxyXG5cdFx0XHQoJyknLCAnJTI5JyksXHJcblx0XHQpIHtcclxuXHRcdFx0QGlmIHN0ci1pbmRleCgkc3RyaW5nLCAndXJsKCcpID09IDEge1xyXG5cdFx0XHRcdCRzdHJpbmc6IHVybCgnI3tzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgNiwgLTMpLCAkY2hhciwgJGVuY29kZWQpfScpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAZWxzZSB7XHJcblx0XHRcdFx0JHN0cmluZzogc3RyLXJlcGxhY2UoJHN0cmluZywgJGNoYXIsICRlbmNvZGVkKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0QHJldHVybiAkc3RyaW5nO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xyXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXHJcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xyXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxyXG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XHJcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XHJcbi8vXHJcbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXHJcbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjEuNC45XHJcbi8vXHJcbi8vICAgICAgICBodHRwczovL2VkdWFyZG9ib3VjYXMuZ2l0aHViLmlvL2luY2x1ZGUtbWVkaWFcclxuLy9cclxuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXHJcbi8vICAgICAgICAgICAgICAgICAgS2l0dHkgR2lyYXVkZWwgKEBraXR0eWdpcmF1ZGVsKVxyXG4vL1xyXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxyXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vL1xyXG5cclxuLy8vXHJcbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcclxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XHJcbi8vL1xyXG4kYnJlYWtwb2ludHM6IChcclxuXHQncGhvbmUnOiAzMjBweCxcclxuXHQndGFibGV0JzogNzY4cHgsXHJcblx0J2Rlc2t0b3AnOiAxMDI0cHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxyXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxyXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxyXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXHJcbi8vLyAgKTtcclxuLy8vXHJcbiRtZWRpYS1leHByZXNzaW9uczogKFxyXG5cdCdzY3JlZW4nOiAnc2NyZWVuJyxcclxuXHQncHJpbnQnOiAncHJpbnQnLFxyXG5cdCdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXHJcblx0J2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxyXG5cdCdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXHJcblx0J3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcclxuXHQncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XHJcbi8vL1xyXG4kdW5pdC1pbnRlcnZhbHM6IChcclxuXHQncHgnOiAxLFxyXG5cdCdlbSc6IDAuMDEsXHJcblx0J3JlbSc6IDAuMSxcclxuXHQnJzogMFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcclxuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAuZm9vIHtcclxuLy8vICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgfVxyXG4vLy9cclxuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXHJcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgLmZvbyB7XHJcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xyXG4vLy9cclxuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xyXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAgLmZvbyB7XHJcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogTm8gb3V0cHV0ICovXHJcbi8vL1xyXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xyXG5cclxuLy8vL1xyXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXHJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuLy8vXHJcbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxyXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcclxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXHJcbi8vL1xyXG5cclxuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xyXG5cdEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XHJcblx0XHRAZXJyb3IgJG1lc3NhZ2U7XHJcblx0fVxyXG5cclxuXHRAZWxzZSB7XHJcblx0XHRAd2FybiAkbWVzc2FnZTtcclxuXHRcdCRfOiBub29wKCk7XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuICRtZXNzYWdlO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcclxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxyXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxyXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xyXG4vLy9cclxuXHJcbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcclxuXHRAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxyXG59XHJcblxyXG4vLy9cclxuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcclxuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXHJcbi8vL1xyXG5cclxuQGZ1bmN0aW9uIG5vb3AoKSB7fVxyXG5cclxuLy8vXHJcbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxyXG4vLy9cclxuXHJcbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XHJcblx0JG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XHJcblxyXG5cdEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xyXG5cdFx0QGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XHJcblx0fVxyXG5cclxuXHRAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcclxuXHRcdEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcblx0XHRcdCRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XHJcblx0XHRcdCRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xyXG5cdFx0XHQkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XHJcblxyXG5cdFx0XHRAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcclxuXHRcdFx0XHQoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIHtcclxuXHRcdFx0XHRAcmV0dXJuIGZhbHNlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0QGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xyXG5cdFx0XHRAcmV0dXJuIGZhbHNlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0QHJldHVybiB0cnVlO1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBQYXJzaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcbi8vL1xyXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxyXG4vLy9cclxuXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xyXG5cdEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xyXG5cdFx0QGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcblx0XHRcdEByZXR1cm4gJG9wZXJhdG9yO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xyXG5cdC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXHJcblx0Ly8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcblx0Ly8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcclxuXHQvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXHJcblx0JF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcclxufVxyXG5cclxuLy8vXHJcbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcclxuLy8vXHJcblxyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuXHQkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuXHQkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcclxuXHQkZGltZW5zaW9uOiAnd2lkdGgnO1xyXG5cclxuXHRAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcclxuXHRcdCRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xyXG5cdH1cclxuXHJcblx0QHJldHVybiAkZGltZW5zaW9uO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXHJcbi8vL1xyXG5cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcclxuXHRAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcclxufVxyXG5cclxuLy8vXHJcbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxyXG4vLy9cclxuXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcblx0JG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcblx0JHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XHJcblxyXG5cdEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xyXG5cdFx0JHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcclxuXHR9XHJcblxyXG5cdEBlbHNlIHtcclxuXHRcdCR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XHJcblx0fVxyXG5cclxuXHQkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xyXG5cclxuXHRAaWYgbm90ICRpbnRlcnZhbCB7XHJcblx0XHQvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcblx0XHQvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxyXG5cdFx0Ly8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcblx0XHQvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG5cdFx0Ly8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxyXG5cdFx0JF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xyXG5cdH1cclxuXHJcblx0QGlmICRvcGVyYXRvciA9PSAnPicge1xyXG5cdFx0JHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XHJcblx0fVxyXG5cclxuXHRAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcclxuXHRcdCR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xyXG5cdH1cclxuXHJcblx0QHJldHVybiAkdmFsdWU7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxyXG4vLy9cclxuXHJcbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XHJcblx0Ly8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxyXG5cdC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXHJcblxyXG5cdEBpZiBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XHJcblx0XHRAcmV0dXJuIG1hcC1nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XHJcblx0fVxyXG5cclxuXHQkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcclxuXHQkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcblx0JHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XHJcblx0JHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuXHJcblx0QHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xyXG4vLy9cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxyXG4vLy9cclxuXHJcbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XHJcblx0QGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xyXG5cdFx0QHJldHVybiAoKTtcclxuXHR9XHJcblxyXG5cdCRyZXN1bHQ6ICgpO1xyXG5cclxuXHRAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XHJcblx0XHQkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xyXG5cdH1cclxuXHJcblx0QHJldHVybiAkcmVzdWx0O1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcbi8vL1xyXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XHJcbi8vL1xyXG5cclxuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcclxuXHRAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcclxuXHRcdEByZXR1cm4gJHZhbHVlO1xyXG5cdH1cclxuXHJcblx0QGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcclxuXHRcdCRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XHJcblx0fVxyXG5cclxuXHQkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcclxuXHQkcmVzdWx0OiAwO1xyXG5cdCRkaWdpdHM6IDA7XHJcblx0JG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xyXG5cdCRudW1iZXJzOiAoJzAnOiAwLCAnMSc6IDEsICcyJzogMiwgJzMnOiAzLCAnNCc6IDQsICc1JzogNSwgJzYnOiA2LCAnNyc6IDcsICc4JzogOCwgJzknOiA5KTtcclxuXHJcblx0Ly8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXHJcblxyXG5cdEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcclxuXHRcdCR2YWx1ZTogc3RyLXNsaWNlKCR2YWx1ZSwgMik7XHJcblx0fVxyXG5cclxuXHRAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XHJcblx0XHQkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xyXG5cclxuXHRcdEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcclxuXHRcdFx0QHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSk7XHJcblx0XHR9XHJcblxyXG5cdFx0QGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcclxuXHRcdFx0JGRpZ2l0czogMTtcclxuXHRcdH1cclxuXHJcblx0XHRAZWxzZSBpZiAkZGlnaXRzID09IDAge1xyXG5cdFx0XHQkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcclxuXHRcdH1cclxuXHJcblx0XHRAZWxzZSB7XHJcblx0XHRcdCRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcclxuXHRcdFx0JHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxyXG4vLy9cclxuXHJcbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xyXG5cdCR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XHJcblxyXG5cdEBpZiBub3QgaW5kZXgobWFwLWtleXMoJHVuaXRzKSwgJHVuaXQpIHtcclxuXHRcdCRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xyXG5cdH1cclxuXHJcblx0QHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxyXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxyXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXHJcbi8vLyBmb3IgaW5zdGFuY2UuXHJcbi8vL1xyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxyXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuXHJcbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcclxuXHQvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcblx0JGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xyXG5cdCRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcclxuXHJcblx0Ly8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcblx0JGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XHJcblx0JG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XHJcblxyXG5cdC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuXHQkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcclxuXHQkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcclxuXHJcblx0QGNvbnRlbnQ7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXHJcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8vXHJcblxyXG4vLy9cclxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cclxuLy8vXHJcblxyXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcclxuXHRAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXHJcblx0XHQobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xyXG5cdFx0QGNvbnRlbnQ7XHJcblx0fVxyXG5cclxuXHRAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XHJcblx0XHRAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XHJcblx0XHRcdC8vIFJlY3Vyc2l2ZSBjYWxsXHJcblx0XHRcdCRzbGljZWQtY29uZGl0aW9uczogc2xpY2UoJGNvbmRpdGlvbnMsIDIpO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJHNsaWNlZC1jb25kaXRpb25zLi4uKSB7XHJcblx0XHRcdFx0QGNvbnRlbnQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiQGltcG9ydCAnLi4vX3NldHRpbmdzL2luaXQnO1xyXG5cclxubGFiZWwge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRtYXJnaW4tYm90dG9tOiByZW0oMTApO1xyXG59XHJcblxyXG5pbnB1dFt0eXBlPSd0ZXh0J10sXHJcbmlucHV0W3R5cGU9J2VtYWlsJ10sXHJcbmlucHV0W3R5cGU9J251bWJlciddLFxyXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSxcclxuaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSxcclxuaW5wdXRbdHlwZT0ndGVsJ10sXHJcbmlucHV0W3R5cGU9J3VybCddLFxyXG50ZXh0YXJlYSxcclxuc2VsZWN0IHtcclxuXHRhcHBlYXJhbmNlOiBub25lO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci0tZmllbGRzLWJnO1xyXG5cdGJvcmRlci1jb2xvcjogJGlucHV0LS1ib3JkZXItY29sb3I7XHJcblx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtLWlucHV0O1xyXG5cdGJvcmRlci1zdHlsZTogJGlucHV0LS1ib3JkZXItc3R5bGU7XHJcblxyXG5cdGJvcmRlci13aWR0aDogcmVtKDEpO1xyXG5cdGJveC1zaGFkb3c6IG5vbmU7XHJcblxyXG5cdGNvbG9yOiAkY29sb3ItLWZpZWxkcy10ZXh0O1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGhlaWdodDogcmVtKCRpbnB1dC0taGVpZ2h0KTtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0oMTApO1xyXG5cdG1hcmdpbi10b3A6IHJlbSgxMCk7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmc6IHJlbSgkaW5wdXQtLXBhZGRpbmctLXkpIHJlbSgkaW5wdXQtLXBhZGRpbmctLXgpICFpbXBvcnRhbnQ7XHJcblx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdCY6OnBsYWNlaG9sZGVyIHtcclxuXHRcdGNvbG9yOiAkY29sb3ItLWZpZWxkcy10ZXh0O1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHR9XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9J2NoZWNrYm94J10sXHJcbmlucHV0W3R5cGU9J3JhZGlvJ10ge1xyXG5cdGFwcGVhcmFuY2U6IG5vbmU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLS1maWVsZHMtYmc7XHJcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0YmFja2dyb3VuZC1zaXplOiAwO1xyXG5cdGJvcmRlci1jb2xvcjogI2NjYzhjNTtcclxuXHRib3JkZXItcmFkaXVzOiByZW0oJGJvcmRlci1yYWRpdXMtLWNoZWNrYm94KTtcclxuXHRib3JkZXItc3R5bGU6ICRpbnB1dC0tYm9yZGVyLXN0eWxlO1xyXG5cdGJvcmRlci13aWR0aDogcmVtKDEpO1xyXG5cdGJveC1zaGFkb3c6IG5vbmU7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGhlaWdodDogcmVtKDE0KTtcclxuXHRtYXJnaW46IDA7XHJcblx0bWluLXdpZHRoOiByZW0oMTQpO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSBjYWxjKCR0cmFuc2l0aW9uLS1zcGVlZCAvIDIpICR0cmFuc2l0aW9uLS10aW1pbmctZnVuY3Rpb24sIGJvcmRlci1jb2xvciBjYWxjKCR0cmFuc2l0aW9uLS1zcGVlZCAvIDIpICR0cmFuc2l0aW9uLS10aW1pbmctZnVuY3Rpb247XHJcblx0d2lkdGg6IHJlbSgxNCk7XHJcblxyXG5cdCY6Y2hlY2tlZCB7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IHJlbSg4KSBhdXRvO1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItLWJsYWNrO1xyXG5cclxuXHRcdCY6OmJlZm9yZSB7XHJcblx0XHRcdGNvbnRlbnQ6IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQrIGxhYmVsIHtcclxuXHRcdGRpc3BsYXk6IGlubGluZTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRtYXJnaW4tbGVmdDogcmVtKDgpO1xyXG5cdH1cclxufVxyXG5cclxuaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCdAaW1hZ2VzL2ljb24tYmctY2hlY2tib3guc3ZnJyk7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9J3JhZGlvJ10ge1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnQGltYWdlcy9pY29uLWJnLXJhZGlvLnN2ZycpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbn1cclxuXHJcbnNlbGVjdCB7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCdAaW1hZ2VzL2ljb24tYmctc2VsZWN0LnN2ZycpO1xyXG5cdGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IHJlbSgxMykgY2VudGVyO1xyXG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0YmFja2dyb3VuZC1zaXplOiByZW0oNDMpO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuaW5wdXQ6YXV0b2ZpbGwsXHJcbmlucHV0OmF1dG9maWxsOmhvdmVyLFxyXG5pbnB1dDphdXRvZmlsbDpmb2N1cyxcclxuaW5wdXQ6YXV0b2ZpbGw6YWN0aXZlIHtcclxuXHRib3gtc2hhZG93OiAwIDAgMCByZW0oNTApICRjb2xvci0tZmllbGRzLWJnIGluc2V0ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcclxuXHRhcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XHJcblx0YXBwZWFyYW5jZTogbm9uZTtcclxuXHRhcHBlYXJhbmNlOiBub25lO1xyXG59XHJcblxyXG5pbnB1dFt0eXBlPSdzZWFyY2gnXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcclxuaW5wdXRbdHlwZT0nc2VhcmNoJ106Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24ge1xyXG5cdGFwcGVhcmFuY2U6IG5vbmU7XHJcbn1cclxuXHJcbnRleHRhcmVhIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRoZWlnaHQ6IHJlbSgxMjkpO1xyXG5cdHJlc2l6ZTogbm9uZTtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmZpbHRlcnMge1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmb250LXNpemU6IHJlbSgxNik7XHJcblx0bWFyZ2luLXRvcDogdncoNDAsIDcwKTtcclxuXHRtaW4taGVpZ2h0OiByZW0oNDIpO1xyXG5cclxuXHQmX19oZWFkZXIge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdCZfX2xpc3Qge1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcclxuXHRcdC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcclxuXHRcdG92ZXJmbG93LXg6IGF1dG87XHJcblx0XHRzY3JvbGxiYXItd2lkdGg6IG5vbmU7XHJcblxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJzwjeyRmaWx0ZXJzLS1tb2JpbGUtbWF4fScpIHtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiBjYWxjKCN7JGxheW91dC0tcGFkZGluZ30gKiAtMSk7XHJcblx0XHRcdG1pbi13aWR0aDogMDtcclxuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSArICN7JGxheW91dC0tcGFkZGluZ30pO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PSN7JGZpbHRlcnMtLW1vYmlsZS1tYXh9Jykge1xyXG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0XHRcdG92ZXJmbG93LXg6IHZpc2libGU7XHJcblx0XHR9XHJcblxyXG5cdFx0Jjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Jl9fc2VsZWN0ZWQge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdGdhcDogcmVtKDgpO1xyXG5cdFx0bWFyZ2luLXRvcDogcmVtKDIwKTtcclxuXHJcblx0XHQmOmhhcyhidXR0b246bm90KC5jbGVhcikpIHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0bWFyZ2luLXRvcDogcmVtKDIwKTtcclxuXHRcdH1cclxuXHJcblx0XHRidXR0b24ge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XHJcblx0XHRcdGJvcmRlcjogMDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogcmVtKDQwKTtcclxuXHRcdFx0Y29sb3I6ICNjNmNhY2Q7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDEyKTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDEyMCU7XHJcblx0XHRcdHBhZGRpbmc6IHJlbSg0KSByZW0oMjQpIHJlbSg0KSByZW0oOCk7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHRcdCY6OmFmdGVyIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XHJcblx0XHRcdFx0Ym90dG9tOiAwO1xyXG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRcdG1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzExJyBoZWlnaHQ9JzExJyB2aWV3Qm94PScwIDAgMTEgMTEnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J003Ljc4NjM4IDIuNzU1MDFMNS40OTg2NCA1LjA0Mjc0TDMuMjEwOSAyLjc1NTAxTDIuNzUzMDggMy4yMTI4M0w1LjA0MDgxIDUuNTAwNTdMMi43NTM3NyA3Ljc4NzYyTDMuMjEwOSA4LjI0NDc1TDUuNDk3OTUgNS45NTc3TDcuNzg1NjkgOC4yNDU0NEw4LjI0MzUxIDcuNzg3NjJMNS45NTU3NyA1LjQ5OTg4TDguMjQzNTEgMy4yMTIxNEw3Ljc4NjM4IDIuNzU1MDFaJyBmaWxsPSclMjNDNkNBQ0QnLyUzRSUzQy9zdmclM0UlMEFcIik7XHJcblx0XHRcdFx0bWFzay1wb3NpdGlvbjogY2VudGVyO1xyXG5cdFx0XHRcdG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRcdFx0bWFzay1zaXplOiByZW0oMTEpO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRyaWdodDogcmVtKDgpO1xyXG5cdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHR3aWR0aDogcmVtKDExKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Jjpob3ZlcixcclxuXHRcdFx0Jjpmb2N1cyB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLS1ibHVlLWxpZ2h0O1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3ItLWJnLWFsdDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5jbGVhciB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogcmVtKDEyKSBjYWxjKDEwMCUgLSByZW0oNikpICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBjYWxjKDEwMCUgLSByZW0oMjQpKSByZW0oMSkgIWltcG9ydGFudDtcclxuXHRcdFx0XHRjb2xvcjogJGNvbG9yLS1iZy1hbHQ7XHJcblx0XHRcdFx0b3JkZXI6IDEwO1xyXG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IHJlbSgxMik7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGxpbmstdW5kZXJsaW5lKCk7XHJcblxyXG5cdFx0XHRcdCY6OmFmdGVyIHtcclxuXHRcdFx0XHRcdGNvbnRlbnQ6IG5vbmU7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOmhvdmVyLFxyXG5cdFx0XHRcdCY6Zm9jdXMge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSByZW0oMTIpKSBjYWxjKDEwMCUgLSByZW0oNikpICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDAlIHJlbSgxKSAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRjb2xvci0tYmxhY2s7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmX19kZXNrdG9wIHtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdFx0Ym9yZGVyOiAwO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcclxuXHRcdGNvbG9yOiBjdXJyZW50Q29sb3IgIWltcG9ydGFudDtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdGhlaWdodDogcmVtKDU2KTtcclxuXHRcdG1hcmdpbi1yaWdodDogcmVtKDEyKTtcclxuXHRcdHBhZGRpbmc6IDAgcmVtKDIwKTtcclxuXHJcblx0XHRAaW5jbHVkZSBtZWRpYSgnPj0jeyRmaWx0ZXJzLS1tb2JpbGUtbWF4fScpIHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmX19hcHBseSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0Jl9fcmVzdWx0cyB7XHJcblx0XHRjb2xvcjogJGNvbG9yLS1wcmltYXJ5O1xyXG5cdFx0ZmxleC1ncm93OiAxO1xyXG5cdFx0Zm9udC1zaXplOiByZW0oMTYpO1xyXG5cdFx0cGFkZGluZzogMCByZW0oMjApO1xyXG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0fVxyXG59XHJcblxyXG5ib2R5Om5vdCguaGFzLW1vdXNlLWV2ZW50KSB7XHJcblx0LmRyb3Bkb3duLXdyYXBwZXJfX2lubmVyIHtcclxuXHRcdCY6Zm9jdXMtd2l0aGluIHtcclxuXHRcdFx0b3V0bGluZTogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5kcm9wZG93bi13cmFwcGVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItLXdoaXRlO1xyXG5cdGJvcmRlci1yYWRpdXM6IHJlbSg0NCk7XHJcblx0bWFyZ2luLXJpZ2h0OiByZW0oOCk7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb247XHJcblx0ei1pbmRleDogMztcclxuXHJcblx0QG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItLXNlY29uZGFyeTtcclxuXHRcdFx0Y29sb3I6ICRjb2xvci0td2hpdGU7XHJcblxyXG5cdFx0XHQuZHJvcGRvd24td3JhcHBlcl9fbGFiZWw6OmFmdGVyIHtcclxuXHRcdFx0XHRmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmOm5vdCg6aGFzKC5kcm9wZG93bi13cmFwcGVyX19tZW51ID4gbGkpKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0JjpoYXMoLmRyb3Bkb3duLXdyYXBwZXJfX2lubmVyLmFjdGl2ZSkge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLS1zZWNvbmRhcnk7XHJcblx0XHRjb2xvcjogJGNvbG9yLS13aGl0ZTtcclxuXHJcblx0XHQuZHJvcGRvd24td3JhcHBlcl9fbGFiZWw6OmFmdGVyIHtcclxuXHRcdFx0ZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCZfX2lubmVyIHtcclxuXHRcdCYuYWN0aXZlIHtcclxuXHRcdFx0LmRyb3Bkb3duLXdyYXBwZXIge1xyXG5cdFx0XHRcdCZfX2xhYmVsIHtcclxuXHRcdFx0XHRcdCY6OmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxODBkZWcpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Jl9fZHJvcGRvd24ge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmX19sYWJlbCB7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0Y29sb3I6IGluaGVyaXQ7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0Zm9udC1zaXplOiBpbmhlcml0O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGluaGVyaXQ7XHJcblx0XHRoZWlnaHQ6IHJlbSg0Mik7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRwYWRkaW5nOiAwIHJlbSg0MCkgMCByZW0oMjApO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0dHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb247XHJcblxyXG5cdFx0Jjo6YWZ0ZXIge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ0BpbWFnZXMvaWNvbi1iZy1zZWxlY3QtYXJyb3cuc3ZnJyk7XHJcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOiByZW0oMTgpIHJlbSgxOCk7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRoZWlnaHQ6IHJlbSgxOCk7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0cmlnaHQ6IHJlbSgxNik7XHJcblx0XHRcdHRvcDogNTAlO1xyXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDBkZWcpO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XHJcblx0XHRcdHdpZHRoOiByZW0oMTgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Jl9fbWVudSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItLXdoaXRlO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogcmVtKDgpO1xyXG5cdFx0Ym94LXNoYWRvdzogMCA0cHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xOSk7XHJcblx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0cGFkZGluZzogcmVtKDE2KSAwO1xyXG5cclxuXHRcdGxpIHtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0aW5wdXRbdHlwZT0nY2hlY2tib3gnXTpub3QoOmNoZWNrZWQpIHtcclxuXHRcdFx0XHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLS1zZWNvbmRhcnk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRsYWJlbCB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdFx0XHRcdGNvbG9yOiAkY29sb3ItLXNlY29uZGFyeTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYub3B0aW9uLXRpdGxlIHtcclxuXHRcdFx0XHRjb2xvcjogJGNvbG9yLS10ZXh0O1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtLWJvbGQ7XHJcblx0XHRcdFx0cGFkZGluZzogcmVtKDUpIHJlbSgyMCkgMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLS1ibHVlLWxpZ2h0O1xyXG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzExJyBoZWlnaHQ9JzcnIHZpZXdCb3g9JzAgMCAxMSA3JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNMC43NDU1MTkgMi4yNDM3MUwzLjk4ODE3IDUuNDU2ODlMOS41MzA5NiAtOC42NDIxNmUtMDVMMTAuMjczNCAwLjc1NDczOUwzLjk4NjEgNi45NDQ4Mkw0LjcwODk5ZS0wOCAyLjk5NTk1TDAuNzQ1NTE5IDIuMjQzNzFaJyBmaWxsPSd3aGl0ZScvJTNFJTNDL3N2ZyUzRVwiKTtcclxuXHRcdFx0XHRib3JkZXItY29sb3I6ICRjb2xvci0tYmx1ZS1saWdodDtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiByZW0oMSk7XHJcblx0XHRcdFx0aGVpZ2h0OiByZW0oMTgpO1xyXG5cdFx0XHRcdGxlZnQ6IHJlbSgyMCk7XHJcblx0XHRcdFx0bWluLXdpZHRoOiByZW0oMTgpO1xyXG5cdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHR3aWR0aDogcmVtKDE4KTtcclxuXHJcblx0XHRcdFx0JjpjaGVja2VkIHtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci0tc2Vjb25kYXJ5O1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiByZW0oMTEpIGF1dG87XHJcblx0XHRcdFx0XHRib3JkZXItY29sb3I6ICRjb2xvci0tc2Vjb25kYXJ5O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkIH4gbGFiZWwge1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3ItLWJnLWFsdDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0bGFiZWwge1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3ItLWJnLWFsdDtcclxuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMTYpO1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxMjAlO1xyXG5cdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHRwYWRkaW5nOiByZW0oOCkgcmVtKDIwKSByZW0oOCkgcmVtKDUwKTtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbjtcclxuXHRcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmX19kcm9wZG93biB7XHJcblx0XHRjdXJzb3I6IGRlZmF1bHQ7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdG1heC1oZWlnaHQ6IHJlbSgzMDApO1xyXG5cclxuXHRcdG1pbi13aWR0aDogMTAwJTtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblxyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAxMDAlO1xyXG5cdFx0ei1pbmRleDogMTAwO1xyXG5cdH1cclxuXHJcblx0Jl9fdHlwZSB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHJcblx0XHRwYWRkaW5nOiByZW0oNykgcmVtKDgpO1xyXG5cdH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEoJzwjeyRmaWx0ZXJzLS1tb2JpbGUtbWF4fScpIHtcclxuXHQuZmlsdGVyc19fbGlzdCB7XHJcblx0XHQuZHJvcGRvd24td3JhcHBlciB7XHJcblx0XHRcdGZsZXgtc2hyaW5rOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCJAaW1wb3J0ICcuLi9fc2V0dGluZ3MvaW5pdCc7XHJcblxyXG4uc2tpcC1saW5rIHtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG5cdGhlaWdodDogcmVtKDEpO1xyXG5cdGxlZnQ6IHJlbSgtOTk5KTtcclxuXHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHR3aWR0aDogcmVtKDEpO1xyXG5cdHotaW5kZXg6IC05OTk7XHJcblxyXG5cdCY6Zm9jdXMsXHJcblx0JjphY3RpdmUge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLS13aGl0ZTtcclxuXHRcdGJvcmRlcjogcmVtKDEpIHNvbGlkICRjb2xvci0tcHJpbWFyeTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IHJlbSg0KTtcclxuXHJcblx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRsZWZ0OiByZW0oMjApO1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0bWluLXdpZHRoOiByZW0oMTUwKTtcclxuXHRcdG91dGxpbmU6IG5vbmU7XHJcblx0XHRvdmVyZmxvdzogYXV0bztcclxuXHRcdHBhZGRpbmc6IHJlbSgxMSkgcmVtKDE1KTtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdHRvcDogcmVtKDIwKTtcclxuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHJcblx0XHR6LWluZGV4OiA5OTk7XHJcblxyXG5cdFx0LmFkbWluLWJhciAmIHtcclxuXHRcdFx0dG9wOiByZW0oNTIpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnNjcmVlbi1yZWFkZXItdGV4dCB7XHJcblx0Ym9yZGVyOiAwO1xyXG5cdGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcclxuXHRjbGlwLXBhdGg6IGluc2V0KDUwJSk7XHJcblx0aGVpZ2h0OiByZW0oMSk7XHJcblx0bWFyZ2luOiByZW0oLTEpO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0cGFkZGluZzogMDtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0d2lkdGg6IHJlbSgxKTtcclxuXHR3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5ib2R5IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItLXdoaXRlO1xyXG5cdGNvbG9yOiAkY29sb3ItLXRleHQ7XHJcblx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS0tYm9keTtcclxuXHRmb250LXNpemU6ICRmb250LXNpemUtLXRleHQtbWVkaXVtO1xyXG5cdGxldHRlci1zcGFjaW5nOiAwLjAyZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuNjtcclxuXHQtbXMtd29yZC13cmFwOiBicmVhay13b3JkO1xyXG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuXHJcblx0YSB7XHJcblx0XHRjb2xvcjogJGNvbG9yLS1saW5rO1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuXHRcdEBpbmNsdWRlIGxpbmstdW5kZXJsaW5lKCk7XHJcblx0fVxyXG5cclxuXHQuaGFzLXRleHQtY29sb3I6bm90KC5oYXMtbGluay1jb2xvcikgYSB7XHJcblx0XHRjb2xvcjogaW5oZXJpdDtcclxuXHR9XHJcbn1cclxuXHJcbmgxLFxyXG5oMixcclxuaDMsXHJcbmg0LFxyXG5oNSxcclxuaDYsXHJcbnAudGl0bGUge1xyXG5cdGNsZWFyOiBib3RoO1xyXG5cdGNvbG9yOiAkY29sb3ItLWhlYWRpbmdzO1xyXG5cdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktLWhlYWRpbmctYWRkO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjI7XHJcblx0bWFyZ2luLWJvdHRvbTogJHNwYWNlci0yO1xyXG5cdG1hcmdpbi10b3A6ICRzcGFjZXItMjtcclxuXHJcblx0aSB7XHJcblx0XHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LS1oZWFkaW5nLWFkZDtcclxuXHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHR9XHJcbn1cclxuXHJcbmgxIHtcclxuXHRmb250LXNpemU6ICRmb250LXNpemUtLWgxO1xyXG5cclxuXHRAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xyXG5cdFx0Zm9udC1zaXplOiByZW0oNTYpO1xyXG5cdH1cclxufVxyXG5cclxuaDIsXHJcbnAudGl0bGUge1xyXG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS0taDI7XHJcblxyXG5cdEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XHJcblx0XHRmb250LXNpemU6IHJlbSgzOCk7XHJcblx0fVxyXG59XHJcblxyXG5oMyB7XHJcblx0Zm9udC1zaXplOiAkZm9udC1zaXplLS1oMztcclxuXHRsaW5lLWhlaWdodDogMTEwJTtcclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtKDI4KTtcclxuXHR9XHJcbn1cclxuXHJcbmg0IHtcclxuXHRmb250LXNpemU6ICRmb250LXNpemUtLWg0O1xyXG5cclxuXHRAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xyXG5cdFx0Zm9udC1zaXplOiByZW0oMjQpO1xyXG5cdH1cclxufVxyXG5cclxuaDUge1xyXG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS0taDU7XHJcblx0bGluZS1oZWlnaHQ6IDExMCU7XHJcblxyXG5cdEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XHJcblx0XHRmb250LXNpemU6IHJlbSgyMik7XHJcblx0fVxyXG59XHJcblxyXG5oNiB7XHJcblx0Zm9udC1zaXplOiAkZm9udC1zaXplLS1oNTtcclxufVxyXG5cclxucC50aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi50aXRsZSxcclxucC50aXRsZSB7XHJcblx0c3BhbiB7XHJcblx0XHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LS1oZWFkaW5nLWFkZDtcclxuXHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0fVxyXG5cclxuXHQmLS1oMSB7XHJcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtLWgxO1xyXG5cdH1cclxuXHJcblx0Ji0taDIge1xyXG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLS1oMjtcclxuXHR9XHJcblxyXG5cdCYtLWRlc2Mge1xyXG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLS1oNTtcclxuXHR9XHJcbn1cclxuXHJcbi5zdWJ0aXRsZSB7XHJcblx0c3BhbiB7XHJcblx0XHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LS1oZWFkaW5nLWFkZDtcclxuXHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0fVxyXG59XHJcblxyXG4uZGVzY3JpcHRpb24ge1xyXG5cdD4gKiB7XHJcblx0XHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdH1cclxuXHJcblx0XHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0dWwge1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblxyXG5cdFx0bGkge1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbSgyNCk7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHRcdCY6OmJlZm9yZSB7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB2aWV3Qm94PScwIDAgMTAgMTAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NjaXJjbGUgY3g9JzUnIGN5PSc1JyByPSc1JyAvJTNFJTNDL3N2ZyUzRSUwQVwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XHJcblx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0aGVpZ2h0OiByZW0oNCk7XHJcblx0XHRcdFx0bGVmdDogcmVtKDEwKTtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0dG9wOiByZW0oMTEpO1xyXG5cdFx0XHRcdHdpZHRoOiByZW0oNCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9J3N1Ym1pdCddLFxyXG4uYnV0dG9uIHtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci0tc2Vjb25kYXJ5O1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcblx0Ym9yZGVyOiByZW0oMSkgc29saWQgJGNvbG9yLS1zZWNvbmRhcnk7XHJcblx0Ym9yZGVyLXJhZGl1czogcmVtKDQpO1xyXG5cdGJveC1zaGFkb3c6IG5vbmU7XHJcblx0Y29sb3I6ICRjb2xvci0td2hpdGU7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS0tYnV0dG9uLW1haW47XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRnYXA6IHJlbSg2KTtcclxuXHRsaW5lLWhlaWdodDogMTtcclxuXHRwYWRkaW5nOiByZW0oMTIpIHJlbSgyMCk7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbiwgY29sb3IgJHRyYW5zaXRpb24sIHBhZGRpbmcgJHRyYW5zaXRpb247XHJcblxyXG5cdCY6aG92ZXIsXHJcblx0Jjpmb2N1cyB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZTQ0ZjFmO1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAjZTQ0ZjFmO1xyXG5cdFx0Y29sb3I6ICRjb2xvci0td2hpdGU7XHJcblx0fVxyXG59XHJcblxyXG5pbnB1dFt0eXBlPSdzdWJtaXQnXSB7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMjAnIGhlaWdodD0nMjAnIHZpZXdCb3g9JzAgMCAyMCAyMCcgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTExLjA1NDggMTYuMDU0N0wxNi4yMjcyIDEwLjg4MjNMMS43NjQ4NSAxMC44ODIzVjkuNzA1ODdMMTYuMjI3MiA5LjcwNTg3TDExLjA1NDggNC41MzM1M0wxMS44ODY2IDMuNzAxNzNMMTguNDc5IDEwLjI5NDFMMTEuODg2NiAxNi44ODY1TDExLjA1NDggMTYuMDU0N1onIGZpbGw9J3doaXRlJy8lM0UlM0Mvc3ZnJTNFXCIpO1xyXG5cdGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IHJlbSgxNikgY2VudGVyO1xyXG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0YmFja2dyb3VuZC1zaXplOiByZW0oMjApIHJlbSgyMCk7XHJcblx0cGFkZGluZy1yaWdodDogcmVtKDQ2KTtcclxufVxyXG5cclxuLmJ1dHRvbiB7XHJcblx0Jjo6YWZ0ZXIge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHRmbGV4LXNocmluazogMDtcclxuXHRcdGhlaWdodDogcmVtKDIwKTtcclxuXHRcdG1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzIwJyBoZWlnaHQ9JzIwJyB2aWV3Qm94PScwIDAgMjAgMjAnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J00xMS4wNTQ4IDE2LjA1NDdMMTYuMjI3MiAxMC44ODIzTDEuNzY0ODUgMTAuODgyM1Y5LjcwNTg3TDE2LjIyNzIgOS43MDU4N0wxMS4wNTQ4IDQuNTMzNTNMMTEuODg2NiAzLjcwMTczTDE4LjQ3OSAxMC4yOTQxTDExLjg4NjYgMTYuODg2NUwxMS4wNTQ4IDE2LjA1NDdaJyBmaWxsPSd3aGl0ZScvJTNFJTNDL3N2ZyUzRVwiKTtcclxuXHRcdG1hc2stcG9zaXRpb246IGNlbnRlcjtcclxuXHRcdG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRtYXNrLXNpemU6IGNvbnRhaW47XHJcblx0XHR3aWR0aDogcmVtKDIwKTtcclxuXHR9XHJcbn1cclxuXHJcbi5idXR0b24tLW5vLWFycm93IHtcclxuXHQmOjphZnRlciB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuLmJ1dHRvbi0tb3V0bGluZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDk0LCA0MywgMC4wNik7XHJcblx0Y29sb3I6ICRjb2xvci0tc2Vjb25kYXJ5O1xyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci0tc2Vjb25kYXJ5O1xyXG5cdFx0Y29sb3I6ICRjb2xvci0td2hpdGU7XHJcblx0fVxyXG59XHJcblxyXG4uYnV0dG9uLS1jYWxlbmRhciB7XHJcblx0Y29sb3I6ICRjb2xvci0tYmctbGlnaHQ7XHJcblxyXG5cdCY6OmJlZm9yZSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdGhlaWdodDogcmVtKDIyKTtcclxuXHRcdG1hcmdpbi1yaWdodDogcmVtKDEzKTtcclxuXHRcdG1hc2staW1hZ2U6IHVybCgnQGltYWdlcy9pY29uLWJ1dHRvbi1zY2hlZHVsZS5zdmcnKTtcclxuXHRcdG1hc2stcG9zaXRpb246IGNlbnRlcjtcclxuXHRcdG1hc2stcmVwZWF0OiByZXBlYXQ7XHJcblx0XHRtYXNrLXNpemU6IHJlbSgyOCkgcmVtKDI4KTtcclxuXHRcdG1pbi13aWR0aDogcmVtKDIyKTtcclxuXHRcdHRyYW5zaXRpb246IG1hc2stcG9zaXRpb24gJHRyYW5zaXRpb247XHJcblx0XHR3aWR0aDogcmVtKDIyKTtcclxuXHR9XHJcbn1cclxuXHJcbi5pbWdfY29udGFpbmVyLWNyZWRpdCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uY3JlZGl0X2ltZyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLS1zZWNvbmRhcnk7XHJcblx0Ym9yZGVyLXJhZGl1czogMjVweDtcclxuXHRib3R0b206IDE1cHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGhlaWdodDogMjVweDtcclxuXHRvdmVyZmxvdy14OiBzY3JvbGw7XHJcblx0b3ZlcmZsb3cteTogaGlkZGVuO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRyaWdodDogMTVweDtcclxuXHRzY3JvbGxiYXItd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcclxuXHR3aWR0aDogMjVweDtcclxuXHR6LWluZGV4OiAzO1xyXG5cclxuXHRAaW5jbHVkZSBzY3JvbGxiYXIodHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50KTtcclxuXHJcblx0Jjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRcdHdpZHRoOiAwICFpbXBvcnRhbnQ7XHJcblx0fTtcclxuXHJcblx0LmlubmVyIHtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC13cmFwOiBub3dyYXA7XHJcblx0XHRoZWlnaHQ6IDI1cHg7XHJcblxyXG5cdFx0c3BhbixcclxuXHRcdHN2ZyB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRmbGV4LXNocmluazogMDtcclxuXHRcdH1cclxuXHJcblx0XHRzcGFuIHtcclxuXHRcdFx0Y29sb3I6ICNmZmZmZmY7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRmb250LXNpemU6IDExcHg7XHJcblx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRcdFx0cGFkZGluZy1yaWdodDogMTFweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiQGltcG9ydCAnLi4vX3NldHRpbmdzL2luaXQnO1xyXG5cclxuLmNvbnRhaW5lciB7XHJcblx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG5cdG1heC13aWR0aDogJGxheW91dC0td2lkZS13aWR0aDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHJcblx0Ji0tbGcge1xyXG5cdFx0bWF4LXdpZHRoOiByZW0oMTQwOCk7XHJcblx0fVxyXG5cclxuXHQmLS1zbSB7XHJcblx0XHRtYXgtd2lkdGg6ICRsYXlvdXQtLXdpZHRoO1xyXG5cdH1cclxuXHJcblx0Ji0teHMge1xyXG5cdFx0bWF4LXdpZHRoOiByZW0oNzUwKTtcclxuXHR9XHJcblxyXG5cdCYtLWZ1bGwge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IGNhbGMoJGxheW91dC0tcGFkZGluZyAqIC0xKTtcclxuXHRcdG1hcmdpbi1yaWdodDogY2FsYygkbGF5b3V0LS1wYWRkaW5nICogLTEpO1xyXG5cdFx0bWF4LXdpZHRoOiBub25lO1xyXG5cdH1cclxufVxyXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/