.wc-atcp *,
.wc-atcp *::before,
.wc-atcp *::after {
	box-sizing: border-box;
}

.wc-atcp img {
	max-width: 100%;
}

.wc-atcp {
	/* Firefox */
}

.wc-atcp ::-webkit-scrollbar-track {
	border-radius: 4px;
	background-color: #f5f5f5;
}

.wc-atcp ::-webkit-scrollbar {
	width: 8px;
	background-color: #f5f5f5;
}

.wc-atcp ::-webkit-scrollbar-thumb {
	border-radius: 4px;
	background-color: #ccc;
}

.wc-atcp input::-webkit-outer-spin-button,
.wc-atcp input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.wc-atcp input[type="number"] {
	-moz-appearance: textfield;
}

body.wc-atcp-no-scrolling {
	overflow: hidden;
}

.wc-atcp-has-loader .wc-atcp-loader {
	position: absolute;
	left: 0;
	right: 0;
	z-index: 1;
	height: 100%;
	width: 100%;
	display: none;
	place-content: center;
	background: rgba(255, 255, 255, 0.5);
}

.wc-atcp-has-loader .wc-atcp-loader--show {
	display: grid;
}

.wc-atcp-has-loader .wc-atcp-loader .wc-atcp-loader-1__spinner {
	margin: 100px auto;
	width: 40px;
	height: 40px;
	position: relative;
	text-align: center;
	animation: atcp-loader-1-rotate 2s infinite linear;
}

.wc-atcp-has-loader .wc-atcp-loader .wc-atcp-loader-1__dot1, .wc-atcp-has-loader .wc-atcp-loader .wc-atcp-loader-1__dot2 {
	width: 60%;
	height: 60%;
	display: inline-block;
	position: absolute;
	top: 0;
	background-color: #2d2d2d;
	border-radius: 100%;
	animation: actp-loader-1-bounce 2s infinite ease-in-out;
}

.wc-atcp-has-loader .wc-atcp-loader .wc-atcp-loader-1__dot2 {
	top: auto;
	bottom: 0;
	animation-delay: -1s;
}

@keyframes atcp-loader-1-rotate {
	100% {
		transform: rotate(360deg);
		-webkit-transform: rotate(360deg);
	}
}

@keyframes actp-loader-1-bounce {
	0%,
	100% {
		transform: scale(0);
		-webkit-transform: scale(0);
	}
	50% {
		transform: scale(1);
		-webkit-transform: scale(1);
	}
}

.wc-atcp-has-loader .wc-atcp-loader .wc-atcp-loader-2__spinner {
	width: 40px;
	height: 40px;
	margin: 100px auto;
	background-color: #333;
	border-radius: 100%;
	animation: atcp-loader-2-scaleout 1s infinite ease-in-out;
}

@keyframes atcp-loader-2-scaleout {
	0% {
		transform: scale(0);
	}
	100% {
		transform: scale(1);
		opacity: 0;
	}
}

.wc-atcp-btn {
	height: 40px;
	border-radius: 4px;
	display: block;
	line-height: 40px;
	text-align: center;
	transition: all 200ms ease-in-out;
	text-decoration: none;
}

.wc-atcp-btn--primary {
	background-color: var(--atcp-primary-bg-color);
	color: var(--atcp-primary-text-color);
	flex: 1;
}

.wc-atcp-btn--primary:hover {
	box-shadow: 0 6px 20px -10px rgba(0, 0, 0, 0.5);
	color: var(--atcp-primary-text-color);
}

.wc-atcp-btn--secondary {
	background-color: var(--atcp-secondary-bg-color);
	color: var(--atcp-secondary-text-color);
	flex: 1;
}

.wc-atcp-btn--secondary:hover {
	box-shadow: 0 6px 20px -10px rgba(0, 0, 0, 0.5);
	color: var(--atcp-secondary-text-color);
}

.wc-atcp {
	display: none;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 99999999999;
}

.wc-atcp--open {
	display: flex;
}

.wc-atcp-popup {
	position: relative;
	width: 900px;
	max-width: 94%;
	z-index: 99999;
	background-color: #fff;
	box-shadow: 0 4px 75px rgba(0, 0, 0, 0.3);
}

.wc-atcp-popup__body {
	overflow-y: auto;
	overflow-x: hidden;
	min-height: 100px;
	max-height: 80vh;
	margin: 15px 0;
}

.wc-atcp-popup-notice {
	display: flex;
	align-items: center;
}

.wc-atcp-popup-notice svg {
	color: var(--atcp-primary-bg-color);
	margin-right: 10px;
}

.wc-atcp-popup-notice span {
	color: #9f9f9f;
	font-size: 16px;
}

.wc-atcp-popup-close {
	background-color: var(--atcp-secondary-bg-color);
	color: var(--atcp-secondary-text-color);
	width: 34px;
	height: 34px;
	border-radius: 50%;
	position: absolute;
	right: -17px;
	top: -17px;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	z-index: 99999999;
	transform: scale(1);
	transition: all 300ms ease-in-out;
	-webkit-user-select: none;
	        user-select: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	-webkit-tap-highlight-color: transparent;
}

.wc-atcp-popup-close:hover {
	box-shadow: 0 0 30px rgba(28, 28, 28, 0.25);
	border-color: transparent;
	transform: scale(1.3);
}

.wc-atcp-popup-close:active {
	transition: all 50ms ease-in-out;
	box-shadow: 0 0 10px rgba(28, 28, 28, 0.25);
}

.wc-atcp-popup-close svg,
.wc-atcp-popup-close img {
	width: 14px;
}

.wc-atcp-popup-errors {
	margin: 30px;
}

@media (max-width: 768px) {
	.wc-atcp-popup {
		max-width: 90%;
	}
	.wc-atcp-popup__body {
		max-height: 84vh;
	}
}

.wc-atcp-product {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}

.wc-atcp-product__col1, .wc-atcp-product__col2 {
	flex: 1;
	padding: 15px;
	position: relative;
}

.wc-atcp-product__image {
	width: 100%;
	min-height: 276px;
	height: 100%;
	max-height: 600px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	border-radius: 4px;
	position: relative;
}

.wc-atcp-product__image a {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

.wc-atcp-product__name {
	margin: 0;
	margin-top: 20px;
	font-size: 28px;
	position: relative;
}

.wc-atcp-product__name a {
	color: inherit;
	text-decoration: none;
}

.wc-atcp-product__price {
	font-size: 20px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 40px;
	margin-bottom: 20px;
}

.wc-atcp-product__qty {
	display: inline-flex;
	align-items: center;
	vertical-align: middle;
	margin-bottom: 20px;
}

.wc-atcp-product__qty-minus, .wc-atcp-product__qty-plus {
	width: 26px;
	height: 26px;
	border: 1px solid #9f9f9f;
	border-radius: 50%;
	font-size: 23px;
	line-height: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	transform: scale(1);
	transition: all 300ms ease-in-out;
	-webkit-user-select: none;
	        user-select: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	-webkit-tap-highlight-color: transparent;
}

.wc-atcp-product__qty-minus:hover, .wc-atcp-product__qty-plus:hover {
	box-shadow: 0 0 30px rgba(28, 28, 28, 0.25);
	border-color: transparent;
	transform: scale(1.3);
}

.wc-atcp-product__qty-minus:active, .wc-atcp-product__qty-plus:active {
	transition: all 50ms ease-in-out;
	box-shadow: 0 0 10px rgba(28, 28, 28, 0.25);
}

.wc-atcp-product__qty-minus svg, .wc-atcp-product__qty-plus svg {
	width: 16px;
	height: 16px;
}

.wc-atcp-product__qty input {
	width: 40px !important;
	padding: 0 !important;
	margin: 0 10px !important;
	border: none !important;
	border-bottom: 1px solid transparent !important;
	box-shadow: none !important;
	background: transparent !important;
	text-align: center !important;
	outline: none !important;
}

.wc-atcp-product__qty input:focus {
	border-bottom: 1px solid #2d2d2d !important;
}

.wc-atcp-product-grid ul.products {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
	list-style: none !important;
}

.wc-atcp-product-grid--3 li.product,
.wc-atcp-product-grid--3 li.product.last {
	width: 27.32% !important;
	margin-top: 5px !important;
	margin-right: 3% !important;
	margin-bottom: 20px !important;
	margin-left: 3% !important;
}

@media (min-width: 768px) {
	.wc-atcp-product-grid--3 ul.products li.product.last {
		margin-right: 3% !important;
		margin-left: 3% !important;
	}
}

@media (max-width: 768px) {
	.wc-atcp-product__col1, .wc-atcp-product__col2 {
		flex: none;
		width: 100%;
	}
	.wc-atcp-product-grid ul.products {
		flex-wrap: wrap;
	}
	.wc-atcp-product-grid--3 li.product,
	.wc-atcp-product-grid--3 li.product.last {
		width: 94% !important;
		margin-top: 20px !important;
		margin-right: 3% !important;
		margin-bottom: 20px !important;
		margin-left: 3% !important;
	}
}

.wc-atcp-cart {
	box-shadow: 0 -15px 30px -22px rgba(0, 0, 0, 0.15);
	width: 100%;
	background-color: #fff;
}

.wc-atcp-cart__row {
	display: flex;
	align-items: center;
}

.wc-atcp-cart__row:first-child {
	padding-top: 20px;
}

.wc-atcp-cart__row:last-child {
	padding-bottom: 20px;
}

.wc-atcp-cart__label, .wc-atcp-cart__value {
	flex: 1;
}

.wc-atcp-cart__label {
	font-weight: 700;
}

.wc-atcp-cart__value {
	text-align: right;
}

.wc-atcp-cart__cta {
	display: flex;
	width: 100%;
}

.wc-atcp-cart__cta a:first-child {
	margin-right: 5px;
}

.wc-atcp-cart__cta a:last-child {
	margin-left: 5px;
}

@media (max-width: 768px) {
	.wc-atcp-cart {
		position: sticky;
		width: 100%;
	}
	.wc-atcp-cart__cta {
		position: sticky;
		width: 100%;
	}
}

.wc-atcp-dark-mode {
	--atcp-dark-bg-level-1: #222831;
	--atcp-dark-bg-level-2: #2a313c;
	--atcp-dark-text: #eee;
	--atcp-dark-text-dull: #8d8d8d;
	--atcp-dark-shadow: 0 30px 30px -30px rgba(0, 0, 0, 0.4);
	--atcp-dark-shadow-full: 0 0 30px rgba(0, 0, 0, 0.4);
}

.wc-atcp-dark-mode .wc-atcp-loader {
	background: rgba(0, 0, 0, 0.5);
}

.wc-atcp-dark-mode .wc-atcp-loader .wc-atcp-loader-1__dot1, .wc-atcp-dark-mode .wc-atcp-loader .wc-atcp-loader-1__dot2 {
	background-color: var(--atcp-dark-text-dull);
}

.wc-atcp-dark-mode .wc-atcp-loader .wc-atcp-loader-2__spinner {
	background-color: var(--atcp-dark-text-dull);
}

.wc-atcp-dark-mode .wc-atcp-cart,
.wc-atcp-dark-mode .wc-atcp-cart *,
.wc-atcp-dark-mode .wc-atcp-suggested-products * {
	background-color: transparent;
	color: var(--atcp-dark-text);
}

.wc-atcp-dark-mode .wc-atcp-popup img {
	opacity: 0.6;
	transition: all 300ms ease-in-out;
}

.wc-atcp-dark-mode .wc-atcp-popup img:hover {
	opacity: 1;
}

.wc-atcp-dark-mode .wc-atcp-popup {
	background-color: var(--atcp-dark-bg-level-1);
	border-radius: 8px;
}

.wc-atcp-dark-mode .wc-atcp-popup__body {
	margin-top: 0;
}

.wc-atcp-dark-mode .wc-atcp-popup-notice span {
	color: var(--atcp-dark-text-dull);
}

.wc-atcp-dark-mode .wc-atcp-product__name, .wc-atcp-dark-mode .wc-atcp-product__price, .wc-atcp-dark-mode .wc-atcp-product__qty,
.wc-atcp-dark-mode .wc-atcp-product__qty input {
	color: var(--atcp-dark-text);
}

.wc-atcp-dark-mode .wc-atcp-product__image {
	opacity: 0.6;
	transition: all 300ms ease-in-out;
}

.wc-atcp-dark-mode .wc-atcp-product__image:hover {
	opacity: 1;
}

.wc-atcp-dark-mode .wc-atcp-cart {
	box-shadow: 0 -15px 30px -22px rgba(0, 0, 0, 0.35);
}

.wc-atcp-dark-mode .wc-atcp-suggested-products {
	box-shadow: 0 -15px 30px -22px rgba(0, 0, 0, 0.35);
	margin-top: 10px;
	padding-top: 10px;
}

.wc-atcp-dark-mode .wc-atcp-suggested-products .products li {
	padding: 15px;
	background-color: var(--atcp-dark-bg-level-2);
	border-radius: 8px;
}

.wc-atcp-glass-mode {
	--atcp-glass-text: #333;
	--atcp-glass-text-dull: #555;
}

.wc-atcp-glass-mode .wc-atcp-popup {
	background-color: rgba(255, 255, 255, 0.55);
	-webkit-backdrop-filter: saturate(200%) blur(10px) brightness(1.2);
	        backdrop-filter: saturate(200%) blur(10px) brightness(1.2);
}

.wc-atcp-glass-mode .wc-atcp-cart,
.wc-atcp-glass-mode .wc-atcp-cart *,
.wc-atcp-glass-mode .wc-atcp-suggested-products * {
	background-color: transparent;
	color: var(--atcp-glass-text);
}

.wc-atcp-glass-mode .wc-atcp-popup-notice span {
	color: var(--atcp-glass-text-dull);
}

.wc-atcp-glass-mode .wc-atcp-product__name, .wc-atcp-glass-mode .wc-atcp-product__price, .wc-atcp-glass-mode .wc-atcp-product__qty,
.wc-atcp-glass-mode .wc-atcp-product__qty input {
	color: var(--atcp-glass-text);
}

.wc-atcp-glass-mode .wc-atcp-cart {
	box-shadow: 0 -15px 30px -22px rgba(0, 0, 0, 0.2);
}

.wc-atcp-glass-mode .wc-atcp-suggested-products {
	box-shadow: 0 -15px 30px -22px rgba(0, 0, 0, 0.2);
	margin-top: 10px;
	padding-top: 10px;
}

.wc-atcp-glass-mode .wc-atcp-suggested-products .products li {
	padding: 15px;
	background-color: rgba(255, 255, 255, 0.4);
	border-radius: 8px;
	transition: all 300ms ease-in-out;
}

.wc-atcp-glass-mode .wc-atcp-suggested-products .products li:hover {
	background-color: rgba(255, 255, 255, 0.6);
}

body.rtl .wc-atcp-popup-close {
	right: auto;
	left: -17px;
}

body.rtl .wc-atcp-popup-notice svg {
	margin-right: 0;
	margin-left: 10px;
}

body.rtl .wc-atcp-product__price {
	margin-right: 0;
	margin-left: 40px;
}

body.rtl .wc-atcp-cart__value {
	text-align: left;
}

body.rtl .wc-atcp-cart__cta a:first-child {
	margin-right: 0;
	margin-left: 5px;
}

/*!
 * animate.css - https://animate.style/
 * Version - 4.1.1
 * Licensed under the MIT license - https://opensource.org/licenses/MIT
 *
 * Copyright (c) 2021 Animate.css
 */
:root {
	--animate-duration: 1s;
	--animate-delay: 1s;
	--animate-repeat: 1;
}

.animate__animated {
	animation-duration: 1s;
	animation-duration: var(--animate-duration);
	animation-fill-mode: both;
}

.animate__animated.animate__infinite {
	animation-iteration-count: infinite;
}

.animate__animated.animate__repeat-1 {
	animation-iteration-count: 1;
	animation-iteration-count: var(--animate-repeat);
}

.animate__animated.animate__repeat-2 {
	animation-iteration-count: calc(1 * 2);
	animation-iteration-count: calc(var(--animate-repeat) * 2);
}

.animate__animated.animate__repeat-3 {
	animation-iteration-count: calc(1 * 3);
	animation-iteration-count: calc(var(--animate-repeat) * 3);
}

.animate__animated.animate__delay-1s {
	animation-delay: 1s;
	animation-delay: var(--animate-delay);
}

.animate__animated.animate__delay-2s {
	animation-delay: calc(1s * 2);
	animation-delay: calc(var(--animate-delay) * 2);
}

.animate__animated.animate__delay-3s {
	animation-delay: calc(1s * 3);
	animation-delay: calc(var(--animate-delay) * 3);
}

.animate__animated.animate__delay-4s {
	animation-delay: calc(1s * 4);
	animation-delay: calc(var(--animate-delay) * 4);
}

.animate__animated.animate__delay-5s {
	animation-delay: calc(1s * 5);
	animation-delay: calc(var(--animate-delay) * 5);
}

.animate__animated.animate__faster {
	animation-duration: calc(1s / 2);
	animation-duration: calc(var(--animate-duration) / 2);
}

.animate__animated.animate__fast {
	animation-duration: calc(1s * 0.8);
	animation-duration: calc(var(--animate-duration) * 0.8);
}

.animate__animated.animate__slow {
	animation-duration: calc(1s * 2);
	animation-duration: calc(var(--animate-duration) * 2);
}

.animate__animated.animate__slower {
	animation-duration: calc(1s * 3);
	animation-duration: calc(var(--animate-duration) * 3);
}

@media print, (prefers-reduced-motion: reduce) {
	.animate__animated {
		animation-duration: 1ms !important;
		transition-duration: 1ms !important;
		animation-iteration-count: 1 !important;
	}
	.animate__animated[class*="Out"] {
		opacity: 0;
	}
}

/* Attention seekers  */

@keyframes bounce {
	from,
	20%,
	53%,
	to {
		animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
		transform: translate3d(0, 0, 0);
	}
	40%,
	43% {
		animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
		transform: translate3d(0, -30px, 0) scaleY(1.1);
	}
	70% {
		animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
		transform: translate3d(0, -15px, 0) scaleY(1.05);
	}
	80% {
		transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
		transform: translate3d(0, 0, 0) scaleY(0.95);
	}
	90% {
		transform: translate3d(0, -4px, 0) scaleY(1.02);
	}
}

.animate__bounce {
	animation-name: bounce;
	transform-origin: center bottom;
}

@keyframes flash {
	from,
	50%,
	to {
		opacity: 1;
	}
	25%,
	75% {
		opacity: 0;
	}
}

.animate__flash {
	animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@keyframes pulse {
	from {
		transform: scale3d(1, 1, 1);
	}
	50% {
		transform: scale3d(1.05, 1.05, 1.05);
	}
	to {
		transform: scale3d(1, 1, 1);
	}
}

.animate__pulse {
	animation-name: pulse;
	animation-timing-function: ease-in-out;
}

@keyframes rubberBand {
	from {
		transform: scale3d(1, 1, 1);
	}
	30% {
		transform: scale3d(1.25, 0.75, 1);
	}
	40% {
		transform: scale3d(0.75, 1.25, 1);
	}
	50% {
		transform: scale3d(1.15, 0.85, 1);
	}
	65% {
		transform: scale3d(0.95, 1.05, 1);
	}
	75% {
		transform: scale3d(1.05, 0.95, 1);
	}
	to {
		transform: scale3d(1, 1, 1);
	}
}

.animate__rubberBand {
	animation-name: rubberBand;
}

@keyframes shakeX {
	from,
	to {
		transform: translate3d(0, 0, 0);
	}
	10%,
	30%,
	50%,
	70%,
	90% {
		transform: translate3d(-10px, 0, 0);
	}
	20%,
	40%,
	60%,
	80% {
		transform: translate3d(10px, 0, 0);
	}
}

.animate__shakeX {
	animation-name: shakeX;
}

@keyframes shakeY {
	from,
	to {
		transform: translate3d(0, 0, 0);
	}
	10%,
	30%,
	50%,
	70%,
	90% {
		transform: translate3d(0, -10px, 0);
	}
	20%,
	40%,
	60%,
	80% {
		transform: translate3d(0, 10px, 0);
	}
}

.animate__shakeY {
	animation-name: shakeY;
}

@keyframes headShake {
	0% {
		transform: translateX(0);
	}
	6.5% {
		transform: translateX(-6px) rotateY(-9deg);
	}
	18.5% {
		transform: translateX(5px) rotateY(7deg);
	}
	31.5% {
		transform: translateX(-3px) rotateY(-5deg);
	}
	43.5% {
		transform: translateX(2px) rotateY(3deg);
	}
	50% {
		transform: translateX(0);
	}
}

.animate__headShake {
	animation-timing-function: ease-in-out;
	animation-name: headShake;
}

@keyframes swing {
	20% {
		transform: rotate3d(0, 0, 1, 15deg);
	}
	40% {
		transform: rotate3d(0, 0, 1, -10deg);
	}
	60% {
		transform: rotate3d(0, 0, 1, 5deg);
	}
	80% {
		transform: rotate3d(0, 0, 1, -5deg);
	}
	to {
		transform: rotate3d(0, 0, 1, 0deg);
	}
}

.animate__swing {
	transform-origin: top center;
	animation-name: swing;
}

@keyframes tada {
	from {
		transform: scale3d(1, 1, 1);
	}
	10%,
	20% {
		transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
	}
	30%,
	50%,
	70%,
	90% {
		transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
	}
	40%,
	60%,
	80% {
		transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
	}
	to {
		transform: scale3d(1, 1, 1);
	}
}

.animate__tada {
	animation-name: tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@keyframes wobble {
	from {
		transform: translate3d(0, 0, 0);
	}
	15% {
		transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
	}
	30% {
		transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
	}
	45% {
		transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
	}
	60% {
		transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
	}
	75% {
		transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
	}
	to {
		transform: translate3d(0, 0, 0);
	}
}

.animate__wobble {
	animation-name: wobble;
}

@keyframes jello {
	from,
	11.1%,
	to {
		transform: translate3d(0, 0, 0);
	}
	22.2% {
		transform: skewX(-12.5deg) skewY(-12.5deg);
	}
	33.3% {
		transform: skewX(6.25deg) skewY(6.25deg);
	}
	44.4% {
		transform: skewX(-3.125deg) skewY(-3.125deg);
	}
	55.5% {
		transform: skewX(1.5625deg) skewY(1.5625deg);
	}
	66.6% {
		transform: skewX(-0.78125deg) skewY(-0.78125deg);
	}
	77.7% {
		transform: skewX(0.390625deg) skewY(0.390625deg);
	}
	88.8% {
		transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
	}
}

.animate__jello {
	animation-name: jello;
	transform-origin: center;
}

@keyframes heartBeat {
	0% {
		transform: scale(1);
	}
	14% {
		transform: scale(1.3);
	}
	28% {
		transform: scale(1);
	}
	42% {
		transform: scale(1.3);
	}
	70% {
		transform: scale(1);
	}
}

.animate__heartBeat {
	animation-name: heartBeat;
	animation-duration: calc(1s * 1.3);
	animation-duration: calc(var(--animate-duration) * 1.3);
	animation-timing-function: ease-in-out;
}

/* Back entrances */

@keyframes backInDown {
	0% {
		transform: translateY(-1200px) scale(0.7);
		opacity: 0.7;
	}
	80% {
		transform: translateY(0) scale(0.7);
		opacity: 0.7;
	}
	100% {
		transform: scale(1);
		opacity: 1;
	}
}

.animate__backInDown {
	animation-name: backInDown;
}

@keyframes backInLeft {
	0% {
		transform: translateX(-2000px) scale(0.7);
		opacity: 0.7;
	}
	80% {
		transform: translateX(0) scale(0.7);
		opacity: 0.7;
	}
	100% {
		transform: scale(1);
		opacity: 1;
	}
}

.animate__backInLeft {
	animation-name: backInLeft;
}

@keyframes backInRight {
	0% {
		transform: translateX(2000px) scale(0.7);
		opacity: 0.7;
	}
	80% {
		transform: translateX(0) scale(0.7);
		opacity: 0.7;
	}
	100% {
		transform: scale(1);
		opacity: 1;
	}
}

.animate__backInRight {
	animation-name: backInRight;
}

@keyframes backInUp {
	0% {
		transform: translateY(1200px) scale(0.7);
		opacity: 0.7;
	}
	80% {
		transform: translateY(0) scale(0.7);
		opacity: 0.7;
	}
	100% {
		transform: scale(1);
		opacity: 1;
	}
}

.animate__backInUp {
	animation-name: backInUp;
}

/* Back exits */

@keyframes backOutDown {
	0% {
		transform: scale(1);
		opacity: 1;
	}
	20% {
		transform: translateY(0) scale(0.7);
		opacity: 0.7;
	}
	100% {
		transform: translateY(700px) scale(0.7);
		opacity: 0.7;
	}
}

.animate__backOutDown {
	animation-name: backOutDown;
}

@keyframes backOutLeft {
	0% {
		transform: scale(1);
		opacity: 1;
	}
	20% {
		transform: translateX(0) scale(0.7);
		opacity: 0.7;
	}
	100% {
		transform: translateX(-2000px) scale(0.7);
		opacity: 0.7;
	}
}

.animate__backOutLeft {
	animation-name: backOutLeft;
}

@keyframes backOutRight {
	0% {
		transform: scale(1);
		opacity: 1;
	}
	20% {
		transform: translateX(0) scale(0.7);
		opacity: 0.7;
	}
	100% {
		transform: translateX(2000px) scale(0.7);
		opacity: 0.7;
	}
}

.animate__backOutRight {
	animation-name: backOutRight;
}

@keyframes backOutUp {
	0% {
		transform: scale(1);
		opacity: 1;
	}
	20% {
		transform: translateY(0) scale(0.7);
		opacity: 0.7;
	}
	100% {
		transform: translateY(-700px) scale(0.7);
		opacity: 0.7;
	}
}

.animate__backOutUp {
	animation-name: backOutUp;
}

/* Bouncing entrances  */

@keyframes bounceIn {
	from,
	20%,
	40%,
	60%,
	80%,
	to {
		animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	0% {
		opacity: 0;
		transform: scale3d(0.3, 0.3, 0.3);
	}
	20% {
		transform: scale3d(1.1, 1.1, 1.1);
	}
	40% {
		transform: scale3d(0.9, 0.9, 0.9);
	}
	60% {
		opacity: 1;
		transform: scale3d(1.03, 1.03, 1.03);
	}
	80% {
		transform: scale3d(0.97, 0.97, 0.97);
	}
	to {
		opacity: 1;
		transform: scale3d(1, 1, 1);
	}
}

.animate__bounceIn {
	animation-duration: calc(1s * 0.75);
	animation-duration: calc(var(--animate-duration) * 0.75);
	animation-name: bounceIn;
}

@keyframes bounceInDown {
	from,
	60%,
	75%,
	90%,
	to {
		animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	0% {
		opacity: 0;
		transform: translate3d(0, -3000px, 0) scaleY(3);
	}
	60% {
		opacity: 1;
		transform: translate3d(0, 25px, 0) scaleY(0.9);
	}
	75% {
		transform: translate3d(0, -10px, 0) scaleY(0.95);
	}
	90% {
		transform: translate3d(0, 5px, 0) scaleY(0.985);
	}
	to {
		transform: translate3d(0, 0, 0);
	}
}

.animate__bounceInDown {
	animation-name: bounceInDown;
}

@keyframes bounceInLeft {
	from,
	60%,
	75%,
	90%,
	to {
		animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	0% {
		opacity: 0;
		transform: translate3d(-3000px, 0, 0) scaleX(3);
	}
	60% {
		opacity: 1;
		transform: translate3d(25px, 0, 0) scaleX(1);
	}
	75% {
		transform: translate3d(-10px, 0, 0) scaleX(0.98);
	}
	90% {
		transform: translate3d(5px, 0, 0) scaleX(0.995);
	}
	to {
		transform: translate3d(0, 0, 0);
	}
}

.animate__bounceInLeft {
	animation-name: bounceInLeft;
}

@keyframes bounceInRight {
	from,
	60%,
	75%,
	90%,
	to {
		animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	from {
		opacity: 0;
		transform: translate3d(3000px, 0, 0) scaleX(3);
	}
	60% {
		opacity: 1;
		transform: translate3d(-25px, 0, 0) scaleX(1);
	}
	75% {
		transform: translate3d(10px, 0, 0) scaleX(0.98);
	}
	90% {
		transform: translate3d(-5px, 0, 0) scaleX(0.995);
	}
	to {
		transform: translate3d(0, 0, 0);
	}
}

.animate__bounceInRight {
	animation-name: bounceInRight;
}

@keyframes bounceInUp {
	from,
	60%,
	75%,
	90%,
	to {
		animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	from {
		opacity: 0;
		transform: translate3d(0, 3000px, 0) scaleY(5);
	}
	60% {
		opacity: 1;
		transform: translate3d(0, -20px, 0) scaleY(0.9);
	}
	75% {
		transform: translate3d(0, 10px, 0) scaleY(0.95);
	}
	90% {
		transform: translate3d(0, -5px, 0) scaleY(0.985);
	}
	to {
		transform: translate3d(0, 0, 0);
	}
}

.animate__bounceInUp {
	animation-name: bounceInUp;
}

/* Bouncing exits  */

@keyframes bounceOut {
	20% {
		transform: scale3d(0.9, 0.9, 0.9);
	}
	50%,
	55% {
		opacity: 1;
		transform: scale3d(1.1, 1.1, 1.1);
	}
	to {
		opacity: 0;
		transform: scale3d(0.3, 0.3, 0.3);
	}
}

.animate__bounceOut {
	animation-duration: calc(1s * 0.75);
	animation-duration: calc(var(--animate-duration) * 0.75);
	animation-name: bounceOut;
}

@keyframes bounceOutDown {
	20% {
		transform: translate3d(0, 10px, 0) scaleY(0.985);
	}
	40%,
	45% {
		opacity: 1;
		transform: translate3d(0, -20px, 0) scaleY(0.9);
	}
	to {
		opacity: 0;
		transform: translate3d(0, 2000px, 0) scaleY(3);
	}
}

.animate__bounceOutDown {
	animation-name: bounceOutDown;
}

@keyframes bounceOutLeft {
	20% {
		opacity: 1;
		transform: translate3d(20px, 0, 0) scaleX(0.9);
	}
	to {
		opacity: 0;
		transform: translate3d(-2000px, 0, 0) scaleX(2);
	}
}

.animate__bounceOutLeft {
	animation-name: bounceOutLeft;
}

@keyframes bounceOutRight {
	20% {
		opacity: 1;
		transform: translate3d(-20px, 0, 0) scaleX(0.9);
	}
	to {
		opacity: 0;
		transform: translate3d(2000px, 0, 0) scaleX(2);
	}
}

.animate__bounceOutRight {
	animation-name: bounceOutRight;
}

@keyframes bounceOutUp {
	20% {
		transform: translate3d(0, -10px, 0) scaleY(0.985);
	}
	40%,
	45% {
		opacity: 1;
		transform: translate3d(0, 20px, 0) scaleY(0.9);
	}
	to {
		opacity: 0;
		transform: translate3d(0, -2000px, 0) scaleY(3);
	}
}

.animate__bounceOutUp {
	animation-name: bounceOutUp;
}

/* Fading entrances  */

@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

.animate__fadeIn {
	animation-name: fadeIn;
}

@keyframes fadeInDown {
	from {
		opacity: 0;
		transform: translate3d(0, -100%, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.animate__fadeInDown {
	animation-name: fadeInDown;
}

@keyframes fadeInDownBig {
	from {
		opacity: 0;
		transform: translate3d(0, -2000px, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.animate__fadeInDownBig {
	animation-name: fadeInDownBig;
}

@keyframes fadeInLeft {
	from {
		opacity: 0;
		transform: translate3d(-100%, 0, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.animate__fadeInLeft {
	animation-name: fadeInLeft;
}

@keyframes fadeInLeftBig {
	from {
		opacity: 0;
		transform: translate3d(-2000px, 0, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.animate__fadeInLeftBig {
	animation-name: fadeInLeftBig;
}

@keyframes fadeInRight {
	from {
		opacity: 0;
		transform: translate3d(100%, 0, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.animate__fadeInRight {
	animation-name: fadeInRight;
}

@keyframes fadeInRightBig {
	from {
		opacity: 0;
		transform: translate3d(2000px, 0, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.animate__fadeInRightBig {
	animation-name: fadeInRightBig;
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translate3d(0, 100%, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.animate__fadeInUp {
	animation-name: fadeInUp;
}

@keyframes fadeInUpBig {
	from {
		opacity: 0;
		transform: translate3d(0, 2000px, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.animate__fadeInUpBig {
	animation-name: fadeInUpBig;
}

@keyframes fadeInTopLeft {
	from {
		opacity: 0;
		transform: translate3d(-100%, -100%, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.animate__fadeInTopLeft {
	animation-name: fadeInTopLeft;
}

@keyframes fadeInTopRight {
	from {
		opacity: 0;
		transform: translate3d(100%, -100%, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.animate__fadeInTopRight {
	animation-name: fadeInTopRight;
}

@keyframes fadeInBottomLeft {
	from {
		opacity: 0;
		transform: translate3d(-100%, 100%, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.animate__fadeInBottomLeft {
	animation-name: fadeInBottomLeft;
}

@keyframes fadeInBottomRight {
	from {
		opacity: 0;
		transform: translate3d(100%, 100%, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.animate__fadeInBottomRight {
	animation-name: fadeInBottomRight;
}

/* Fading exits */

@keyframes fadeOut {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
	}
}

.animate__fadeOut {
	animation-name: fadeOut;
}

@keyframes fadeOutDown {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
		transform: translate3d(0, 100%, 0);
	}
}

.animate__fadeOutDown {
	animation-name: fadeOutDown;
}

@keyframes fadeOutDownBig {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
		transform: translate3d(0, 2000px, 0);
	}
}

.animate__fadeOutDownBig {
	animation-name: fadeOutDownBig;
}

@keyframes fadeOutLeft {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
		transform: translate3d(-100%, 0, 0);
	}
}

.animate__fadeOutLeft {
	animation-name: fadeOutLeft;
}

@keyframes fadeOutLeftBig {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
		transform: translate3d(-2000px, 0, 0);
	}
}

.animate__fadeOutLeftBig {
	animation-name: fadeOutLeftBig;
}

@keyframes fadeOutRight {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
		transform: translate3d(100%, 0, 0);
	}
}

.animate__fadeOutRight {
	animation-name: fadeOutRight;
}

@keyframes fadeOutRightBig {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
		transform: translate3d(2000px, 0, 0);
	}
}

.animate__fadeOutRightBig {
	animation-name: fadeOutRightBig;
}

@keyframes fadeOutUp {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
		transform: translate3d(0, -100%, 0);
	}
}

.animate__fadeOutUp {
	animation-name: fadeOutUp;
}

@keyframes fadeOutUpBig {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
		transform: translate3d(0, -2000px, 0);
	}
}

.animate__fadeOutUpBig {
	animation-name: fadeOutUpBig;
}

@keyframes fadeOutTopLeft {
	from {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
	to {
		opacity: 0;
		transform: translate3d(-100%, -100%, 0);
	}
}

.animate__fadeOutTopLeft {
	animation-name: fadeOutTopLeft;
}

@keyframes fadeOutTopRight {
	from {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
	to {
		opacity: 0;
		transform: translate3d(100%, -100%, 0);
	}
}

.animate__fadeOutTopRight {
	animation-name: fadeOutTopRight;
}

@keyframes fadeOutBottomRight {
	from {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
	to {
		opacity: 0;
		transform: translate3d(100%, 100%, 0);
	}
}

.animate__fadeOutBottomRight {
	animation-name: fadeOutBottomRight;
}

@keyframes fadeOutBottomLeft {
	from {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
	to {
		opacity: 0;
		transform: translate3d(-100%, 100%, 0);
	}
}

.animate__fadeOutBottomLeft {
	animation-name: fadeOutBottomLeft;
}

/* Flippers */

@keyframes flip {
	from {
		transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
		animation-timing-function: ease-out;
	}
	40% {
		transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
		animation-timing-function: ease-out;
	}
	50% {
		transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
		animation-timing-function: ease-in;
	}
	80% {
		transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
		animation-timing-function: ease-in;
	}
	to {
		transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
		animation-timing-function: ease-in;
	}
}

.animate__animated.animate__flip {
	backface-visibility: visible;
	animation-name: flip;
}

@keyframes flipInX {
	from {
		transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
		animation-timing-function: ease-in;
		opacity: 0;
	}
	40% {
		transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
		animation-timing-function: ease-in;
	}
	60% {
		transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
		opacity: 1;
	}
	80% {
		transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
	}
	to {
		transform: perspective(400px);
	}
}

.animate__flipInX {
	backface-visibility: visible !important;
	animation-name: flipInX;
}

@keyframes flipInY {
	from {
		transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
		animation-timing-function: ease-in;
		opacity: 0;
	}
	40% {
		transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
		animation-timing-function: ease-in;
	}
	60% {
		transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
		opacity: 1;
	}
	80% {
		transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
	}
	to {
		transform: perspective(400px);
	}
}

.animate__flipInY {
	backface-visibility: visible !important;
	animation-name: flipInY;
}

@keyframes flipOutX {
	from {
		transform: perspective(400px);
	}
	30% {
		transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
		opacity: 1;
	}
	to {
		transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
		opacity: 0;
	}
}

.animate__flipOutX {
	animation-duration: calc(1s * 0.75);
	animation-duration: calc(var(--animate-duration) * 0.75);
	animation-name: flipOutX;
	backface-visibility: visible !important;
}

@keyframes flipOutY {
	from {
		transform: perspective(400px);
	}
	30% {
		transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
		opacity: 1;
	}
	to {
		transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
		opacity: 0;
	}
}

.animate__flipOutY {
	animation-duration: calc(1s * 0.75);
	animation-duration: calc(var(--animate-duration) * 0.75);
	backface-visibility: visible !important;
	animation-name: flipOutY;
}

/* Lightspeed */

@keyframes lightSpeedInRight {
	from {
		transform: translate3d(100%, 0, 0) skewX(-30deg);
		opacity: 0;
	}
	60% {
		transform: skewX(20deg);
		opacity: 1;
	}
	80% {
		transform: skewX(-5deg);
	}
	to {
		transform: translate3d(0, 0, 0);
	}
}

.animate__lightSpeedInRight {
	animation-name: lightSpeedInRight;
	animation-timing-function: ease-out;
}

@keyframes lightSpeedInLeft {
	from {
		transform: translate3d(-100%, 0, 0) skewX(30deg);
		opacity: 0;
	}
	60% {
		transform: skewX(-20deg);
		opacity: 1;
	}
	80% {
		transform: skewX(5deg);
	}
	to {
		transform: translate3d(0, 0, 0);
	}
}

.animate__lightSpeedInLeft {
	animation-name: lightSpeedInLeft;
	animation-timing-function: ease-out;
}

@keyframes lightSpeedOutRight {
	from {
		opacity: 1;
	}
	to {
		transform: translate3d(100%, 0, 0) skewX(30deg);
		opacity: 0;
	}
}

.animate__lightSpeedOutRight {
	animation-name: lightSpeedOutRight;
	animation-timing-function: ease-in;
}

@keyframes lightSpeedOutLeft {
	from {
		opacity: 1;
	}
	to {
		transform: translate3d(-100%, 0, 0) skewX(-30deg);
		opacity: 0;
	}
}

.animate__lightSpeedOutLeft {
	animation-name: lightSpeedOutLeft;
	animation-timing-function: ease-in;
}

/* Rotating entrances */

@keyframes rotateIn {
	from {
		transform: rotate3d(0, 0, 1, -200deg);
		opacity: 0;
	}
	to {
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}

.animate__rotateIn {
	animation-name: rotateIn;
	transform-origin: center;
}

@keyframes rotateInDownLeft {
	from {
		transform: rotate3d(0, 0, 1, -45deg);
		opacity: 0;
	}
	to {
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}

.animate__rotateInDownLeft {
	animation-name: rotateInDownLeft;
	transform-origin: left bottom;
}

@keyframes rotateInDownRight {
	from {
		transform: rotate3d(0, 0, 1, 45deg);
		opacity: 0;
	}
	to {
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}

.animate__rotateInDownRight {
	animation-name: rotateInDownRight;
	transform-origin: right bottom;
}

@keyframes rotateInUpLeft {
	from {
		transform: rotate3d(0, 0, 1, 45deg);
		opacity: 0;
	}
	to {
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}

.animate__rotateInUpLeft {
	animation-name: rotateInUpLeft;
	transform-origin: left bottom;
}

@keyframes rotateInUpRight {
	from {
		transform: rotate3d(0, 0, 1, -90deg);
		opacity: 0;
	}
	to {
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}

.animate__rotateInUpRight {
	animation-name: rotateInUpRight;
	transform-origin: right bottom;
}

/* Rotating exits */

@keyframes rotateOut {
	from {
		opacity: 1;
	}
	to {
		transform: rotate3d(0, 0, 1, 200deg);
		opacity: 0;
	}
}

.animate__rotateOut {
	animation-name: rotateOut;
	transform-origin: center;
}

@keyframes rotateOutDownLeft {
	from {
		opacity: 1;
	}
	to {
		transform: rotate3d(0, 0, 1, 45deg);
		opacity: 0;
	}
}

.animate__rotateOutDownLeft {
	animation-name: rotateOutDownLeft;
	transform-origin: left bottom;
}

@keyframes rotateOutDownRight {
	from {
		opacity: 1;
	}
	to {
		transform: rotate3d(0, 0, 1, -45deg);
		opacity: 0;
	}
}

.animate__rotateOutDownRight {
	animation-name: rotateOutDownRight;
	transform-origin: right bottom;
}

@keyframes rotateOutUpLeft {
	from {
		opacity: 1;
	}
	to {
		transform: rotate3d(0, 0, 1, -45deg);
		opacity: 0;
	}
}

.animate__rotateOutUpLeft {
	animation-name: rotateOutUpLeft;
	transform-origin: left bottom;
}

@keyframes rotateOutUpRight {
	from {
		opacity: 1;
	}
	to {
		transform: rotate3d(0, 0, 1, 90deg);
		opacity: 0;
	}
}

.animate__rotateOutUpRight {
	animation-name: rotateOutUpRight;
	transform-origin: right bottom;
}

/* Specials */

@keyframes hinge {
	0% {
		animation-timing-function: ease-in-out;
	}
	20%,
	60% {
		transform: rotate3d(0, 0, 1, 80deg);
		animation-timing-function: ease-in-out;
	}
	40%,
	80% {
		transform: rotate3d(0, 0, 1, 60deg);
		animation-timing-function: ease-in-out;
		opacity: 1;
	}
	to {
		transform: translate3d(0, 700px, 0);
		opacity: 0;
	}
}

.animate__hinge {
	animation-duration: calc(1s * 2);
	animation-duration: calc(var(--animate-duration) * 2);
	animation-name: hinge;
	transform-origin: top left;
}

@keyframes jackInTheBox {
	from {
		opacity: 0;
		transform: scale(0.1) rotate(30deg);
		transform-origin: center bottom;
	}
	50% {
		transform: rotate(-10deg);
	}
	70% {
		transform: rotate(3deg);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

.animate__jackInTheBox {
	animation-name: jackInTheBox;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@keyframes rollIn {
	from {
		opacity: 0;
		transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.animate__rollIn {
	animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@keyframes rollOut {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
		transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
	}
}

.animate__rollOut {
	animation-name: rollOut;
}

/* Zooming entrances */

@keyframes zoomIn {
	from {
		opacity: 0;
		transform: scale3d(0.3, 0.3, 0.3);
	}
	50% {
		opacity: 1;
	}
}

.animate__zoomIn {
	animation-name: zoomIn;
}

@keyframes zoomInDown {
	from {
		opacity: 0;
		transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
		animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
	}
	60% {
		opacity: 1;
		transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
		animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
	}
}

.animate__zoomInDown {
	animation-name: zoomInDown;
}

@keyframes zoomInLeft {
	from {
		opacity: 0;
		transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
		animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
	}
	60% {
		opacity: 1;
		transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
		animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
	}
}

.animate__zoomInLeft {
	animation-name: zoomInLeft;
}

@keyframes zoomInRight {
	from {
		opacity: 0;
		transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
		animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
	}
	60% {
		opacity: 1;
		transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
		animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
	}
}

.animate__zoomInRight {
	animation-name: zoomInRight;
}

@keyframes zoomInUp {
	from {
		opacity: 0;
		transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
		animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
	}
	60% {
		opacity: 1;
		transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
		animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
	}
}

.animate__zoomInUp {
	animation-name: zoomInUp;
}

/* Zooming exits */

@keyframes zoomOut {
	from {
		opacity: 1;
	}
	50% {
		opacity: 0;
		transform: scale3d(0.3, 0.3, 0.3);
	}
	to {
		opacity: 0;
	}
}

.animate__zoomOut {
	animation-name: zoomOut;
}

@keyframes zoomOutDown {
	40% {
		opacity: 1;
		transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
		animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
	}
	to {
		opacity: 0;
		transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
		animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
	}
}

.animate__zoomOutDown {
	animation-name: zoomOutDown;
	transform-origin: center bottom;
}

@keyframes zoomOutLeft {
	40% {
		opacity: 1;
		transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
	}
	to {
		opacity: 0;
		transform: scale(0.1) translate3d(-2000px, 0, 0);
	}
}

.animate__zoomOutLeft {
	animation-name: zoomOutLeft;
	transform-origin: left center;
}

@keyframes zoomOutRight {
	40% {
		opacity: 1;
		transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
	}
	to {
		opacity: 0;
		transform: scale(0.1) translate3d(2000px, 0, 0);
	}
}

.animate__zoomOutRight {
	animation-name: zoomOutRight;
	transform-origin: right center;
}

@keyframes zoomOutUp {
	40% {
		opacity: 1;
		transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
		animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
	}
	to {
		opacity: 0;
		transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
		animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
	}
}

.animate__zoomOutUp {
	animation-name: zoomOutUp;
	transform-origin: center bottom;
}

/* Sliding entrances */

@keyframes slideInDown {
	from {
		transform: translate3d(0, -100%, 0);
		visibility: visible;
	}
	to {
		transform: translate3d(0, 0, 0);
	}
}

.animate__slideInDown {
	animation-name: slideInDown;
}

@keyframes slideInLeft {
	from {
		transform: translate3d(-100%, 0, 0);
		visibility: visible;
	}
	to {
		transform: translate3d(0, 0, 0);
	}
}

.animate__slideInLeft {
	animation-name: slideInLeft;
}

@keyframes slideInRight {
	from {
		transform: translate3d(100%, 0, 0);
		visibility: visible;
	}
	to {
		transform: translate3d(0, 0, 0);
	}
}

.animate__slideInRight {
	animation-name: slideInRight;
}

@keyframes slideInUp {
	from {
		transform: translate3d(0, 100%, 0);
		visibility: visible;
	}
	to {
		transform: translate3d(0, 0, 0);
	}
}

.animate__slideInUp {
	animation-name: slideInUp;
}

/* Sliding exits */

@keyframes slideOutDown {
	from {
		transform: translate3d(0, 0, 0);
	}
	to {
		visibility: hidden;
		transform: translate3d(0, 100%, 0);
	}
}

.animate__slideOutDown {
	animation-name: slideOutDown;
}

@keyframes slideOutLeft {
	from {
		transform: translate3d(0, 0, 0);
	}
	to {
		visibility: hidden;
		transform: translate3d(-100%, 0, 0);
	}
}

.animate__slideOutLeft {
	animation-name: slideOutLeft;
}

@keyframes slideOutRight {
	from {
		transform: translate3d(0, 0, 0);
	}
	to {
		visibility: hidden;
		transform: translate3d(100%, 0, 0);
	}
}

.animate__slideOutRight {
	animation-name: slideOutRight;
}

@keyframes slideOutUp {
	from {
		transform: translate3d(0, 0, 0);
	}
	to {
		visibility: hidden;
		transform: translate3d(0, -100%, 0);
	}
}

.animate__slideOutUp {
	animation-name: slideOutUp;
}

.wc-atcp-product-grid .products > div {
	width: 27.32% !important;
	margin-top: 5px !important;
	margin-right: 3% !important;
	margin-bottom: 20px !important;
	margin-left: 3% !important;
}

@media (max-width: 768px) {
	.wc-atcp-product-grid .products > div {
		width: 94% !important;
		margin-top: 20px !important;
		margin-right: 3% !important;
		margin-bottom: 20px !important;
		margin-left: 3% !important;
	}
}

/*# sourceMappingURL=data:application/json;base64,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QkFBOEI7Q0FDOUIsMEJBQTBCO0FBQzNCOztBQUVBO0NBQ0M7RUFDQyxxQkFBcUI7RUFDckIsMkJBQTJCO0VBQzNCLDJCQUEyQjtFQUMzQiw4QkFBOEI7RUFDOUIsMEJBQTBCO0NBQzNCO0FBQ0QiLCJmaWxlIjoiYXRjcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIud2MtYXRjcCAqLFxuLndjLWF0Y3AgKjo6YmVmb3JlLFxuLndjLWF0Y3AgKjo6YWZ0ZXIge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ud2MtYXRjcCBpbWcge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi53Yy1hdGNwIHtcblx0LyogRmlyZWZveCAqL1xufVxuXG4ud2MtYXRjcCA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xufVxuXG4ud2MtYXRjcCA6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcblx0d2lkdGg6IDhweDtcblx0YmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbn1cblxuLndjLWF0Y3AgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogI2NjYztcbn1cblxuLndjLWF0Y3AgaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4ud2MtYXRjcCBpbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0bWFyZ2luOiAwO1xufVxuXG4ud2MtYXRjcCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcblx0LW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG59XG5cbmJvZHkud2MtYXRjcC1uby1zY3JvbGxpbmcge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ud2MtYXRjcC1oYXMtbG9hZGVyIC53Yy1hdGNwLWxvYWRlciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdHotaW5kZXg6IDE7XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcblx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuXG4ud2MtYXRjcC1oYXMtbG9hZGVyIC53Yy1hdGNwLWxvYWRlci0tc2hvdyB7XG5cdGRpc3BsYXk6IGdyaWQ7XG59XG5cbi53Yy1hdGNwLWhhcy1sb2FkZXIgLndjLWF0Y3AtbG9hZGVyIC53Yy1hdGNwLWxvYWRlci0xX19zcGlubmVyIHtcblx0bWFyZ2luOiAxMDBweCBhdXRvO1xuXHR3aWR0aDogNDBweDtcblx0aGVpZ2h0OiA0MHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0LXdlYmtpdC1hbmltYXRpb246IGF0Y3AtbG9hZGVyLTEtcm90YXRlIDJzIGluZmluaXRlIGxpbmVhcjtcblx0YW5pbWF0aW9uOiBhdGNwLWxvYWRlci0xLXJvdGF0ZSAycyBpbmZpbml0ZSBsaW5lYXI7XG59XG5cbi53Yy1hdGNwLWhhcy1sb2FkZXIgLndjLWF0Y3AtbG9hZGVyIC53Yy1hdGNwLWxvYWRlci0xX19kb3QxLCAud2MtYXRjcC1oYXMtbG9hZGVyIC53Yy1hdGNwLWxvYWRlciAud2MtYXRjcC1sb2FkZXItMV9fZG90MiB7XG5cdHdpZHRoOiA2MCU7XG5cdGhlaWdodDogNjAlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMmQyZDJkO1xuXHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHQtd2Via2l0LWFuaW1hdGlvbjogYWN0cC1sb2FkZXItMS1ib3VuY2UgMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XG5cdGFuaW1hdGlvbjogYWN0cC1sb2FkZXItMS1ib3VuY2UgMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XG59XG5cbi53Yy1hdGNwLWhhcy1sb2FkZXIgLndjLWF0Y3AtbG9hZGVyIC53Yy1hdGNwLWxvYWRlci0xX19kb3QyIHtcblx0dG9wOiBhdXRvO1xuXHRib3R0b206IDA7XG5cdC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMXM7XG5cdGFuaW1hdGlvbi1kZWxheTogLTFzO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYXRjcC1sb2FkZXItMS1yb3RhdGUge1xuXHQxMDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBhdGNwLWxvYWRlci0xLXJvdGF0ZSB7XG5cdDEwMCUge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuXHR9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBhY3RwLWxvYWRlci0xLWJvdW5jZSB7XG5cdDAlLFxuXHQxMDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG5cdH1cblx0NTAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBhY3RwLWxvYWRlci0xLWJvdW5jZSB7XG5cdDAlLFxuXHQxMDAlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDApO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcblx0fVxuXHQ1MCUge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR9XG59XG5cbi53Yy1hdGNwLWhhcy1sb2FkZXIgLndjLWF0Y3AtbG9hZGVyIC53Yy1hdGNwLWxvYWRlci0yX19zcGlubmVyIHtcblx0d2lkdGg6IDQwcHg7XG5cdGhlaWdodDogNDBweDtcblx0bWFyZ2luOiAxMDBweCBhdXRvO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuXHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHQtd2Via2l0LWFuaW1hdGlvbjogYXRjcC1sb2FkZXItMi1zY2FsZW91dCAxcyBpbmZpbml0ZSBlYXNlLWluLW91dDtcblx0YW5pbWF0aW9uOiBhdGNwLWxvYWRlci0yLXNjYWxlb3V0IDFzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYXRjcC1sb2FkZXItMi1zY2FsZW91dCB7XG5cdDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG5cdH1cblx0MTAwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBhdGNwLWxvYWRlci0yLXNjYWxlb3V0IHtcblx0MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDApO1xuXHR9XG5cdDEwMCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn1cblxuLndjLWF0Y3AtYnRuIHtcblx0aGVpZ2h0OiA0MHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRsaW5lLWhlaWdodDogNDBweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1pbi1vdXQ7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLndjLWF0Y3AtYnRuLS1wcmltYXJ5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYXRjcC1wcmltYXJ5LWJnLWNvbG9yKTtcblx0Y29sb3I6IHZhcigtLWF0Y3AtcHJpbWFyeS10ZXh0LWNvbG9yKTtcblx0ZmxleDogMTtcbn1cblxuLndjLWF0Y3AtYnRuLS1wcmltYXJ5OmhvdmVyIHtcblx0Ym94LXNoYWRvdzogMCA2cHggMjBweCAtMTBweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG5cdGNvbG9yOiB2YXIoLS1hdGNwLXByaW1hcnktdGV4dC1jb2xvcik7XG59XG5cbi53Yy1hdGNwLWJ0bi0tc2Vjb25kYXJ5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYXRjcC1zZWNvbmRhcnktYmctY29sb3IpO1xuXHRjb2xvcjogdmFyKC0tYXRjcC1zZWNvbmRhcnktdGV4dC1jb2xvcik7XG5cdGZsZXg6IDE7XG59XG5cbi53Yy1hdGNwLWJ0bi0tc2Vjb25kYXJ5OmhvdmVyIHtcblx0Ym94LXNoYWRvdzogMCA2cHggMjBweCAtMTBweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG5cdGNvbG9yOiB2YXIoLS1hdGNwLXNlY29uZGFyeS10ZXh0LWNvbG9yKTtcbn1cblxuLndjLWF0Y3Age1xuXHRkaXNwbGF5OiBub25lO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHotaW5kZXg6IDk5OTk5OTk5OTk5O1xufVxuXG4ud2MtYXRjcC0tb3BlbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi53Yy1hdGNwLXBvcHVwIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogOTAwcHg7XG5cdG1heC13aWR0aDogOTQlO1xuXHR6LWluZGV4OiA5OTk5OTtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0Ym94LXNoYWRvdzogMCA0cHggNzVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi53Yy1hdGNwLXBvcHVwX19ib2R5IHtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xuXHRtaW4taGVpZ2h0OiAxMDBweDtcblx0bWF4LWhlaWdodDogODB2aDtcblx0bWFyZ2luOiAxNXB4IDA7XG59XG5cbi53Yy1hdGNwLXBvcHVwLW5vdGljZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi53Yy1hdGNwLXBvcHVwLW5vdGljZSBzdmcge1xuXHRjb2xvcjogdmFyKC0tYXRjcC1wcmltYXJ5LWJnLWNvbG9yKTtcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4ud2MtYXRjcC1wb3B1cC1ub3RpY2Ugc3BhbiB7XG5cdGNvbG9yOiAjOWY5ZjlmO1xuXHRmb250LXNpemU6IDE2cHg7XG59XG5cbi53Yy1hdGNwLXBvcHVwLWNsb3NlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYXRjcC1zZWNvbmRhcnktYmctY29sb3IpO1xuXHRjb2xvcjogdmFyKC0tYXRjcC1zZWNvbmRhcnktdGV4dC1jb2xvcik7XG5cdHdpZHRoOiAzNHB4O1xuXHRoZWlnaHQ6IDM0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogLTE3cHg7XG5cdHRvcDogLTE3cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHotaW5kZXg6IDk5OTk5OTk5O1xuXHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG5cdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi53Yy1hdGNwLXBvcHVwLWNsb3NlOmhvdmVyIHtcblx0Ym94LXNoYWRvdzogMCAwIDMwcHggcmdiYSgyOCwgMjgsIDI4LCAwLjI1KTtcblx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0dHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xufVxuXG4ud2MtYXRjcC1wb3B1cC1jbG9zZTphY3RpdmUge1xuXHR0cmFuc2l0aW9uOiBhbGwgNTBtcyBlYXNlLWluLW91dDtcblx0Ym94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgyOCwgMjgsIDI4LCAwLjI1KTtcbn1cblxuLndjLWF0Y3AtcG9wdXAtY2xvc2Ugc3ZnLFxuLndjLWF0Y3AtcG9wdXAtY2xvc2UgaW1nIHtcblx0d2lkdGg6IDE0cHg7XG59XG5cbi53Yy1hdGNwLXBvcHVwLWVycm9ycyB7XG5cdG1hcmdpbjogMzBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC53Yy1hdGNwLXBvcHVwIHtcblx0XHRtYXgtd2lkdGg6IDkwJTtcblx0fVxuXHQud2MtYXRjcC1wb3B1cF9fYm9keSB7XG5cdFx0bWF4LWhlaWdodDogODR2aDtcblx0fVxufVxuXG4ud2MtYXRjcC1wcm9kdWN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi53Yy1hdGNwLXByb2R1Y3RfX2NvbDEsIC53Yy1hdGNwLXByb2R1Y3RfX2NvbDIge1xuXHRmbGV4OiAxO1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi53Yy1hdGNwLXByb2R1Y3RfX2ltYWdlIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1pbi1oZWlnaHQ6IDI3NnB4O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG1heC1oZWlnaHQ6IDYwMHB4O1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi53Yy1hdGNwLXByb2R1Y3RfX2ltYWdlIGEge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0Ym90dG9tOiAwO1xuXHRyaWdodDogMDtcbn1cblxuLndjLWF0Y3AtcHJvZHVjdF9fbmFtZSB7XG5cdG1hcmdpbjogMDtcblx0bWFyZ2luLXRvcDogMjBweDtcblx0Zm9udC1zaXplOiAyOHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi53Yy1hdGNwLXByb2R1Y3RfX25hbWUgYSB7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi53Yy1hdGNwLXByb2R1Y3RfX3ByaWNlIHtcblx0Zm9udC1zaXplOiAyMHB4O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdG1hcmdpbi1yaWdodDogNDBweDtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLndjLWF0Y3AtcHJvZHVjdF9fcXR5IHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi53Yy1hdGNwLXByb2R1Y3RfX3F0eS1taW51cywgLndjLWF0Y3AtcHJvZHVjdF9fcXR5LXBsdXMge1xuXHR3aWR0aDogMjZweDtcblx0aGVpZ2h0OiAyNnB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCAjOWY5ZjlmO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGZvbnQtc2l6ZTogMjNweDtcblx0bGluZS1oZWlnaHQ6IDA7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLndjLWF0Y3AtcHJvZHVjdF9fcXR5LW1pbnVzOmhvdmVyLCAud2MtYXRjcC1wcm9kdWN0X19xdHktcGx1czpob3ZlciB7XG5cdGJveC1zaGFkb3c6IDAgMCAzMHB4IHJnYmEoMjgsIDI4LCAyOCwgMC4yNSk7XG5cdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbn1cblxuLndjLWF0Y3AtcHJvZHVjdF9fcXR5LW1pbnVzOmFjdGl2ZSwgLndjLWF0Y3AtcHJvZHVjdF9fcXR5LXBsdXM6YWN0aXZlIHtcblx0dHJhbnNpdGlvbjogYWxsIDUwbXMgZWFzZS1pbi1vdXQ7XG5cdGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMjgsIDI4LCAyOCwgMC4yNSk7XG59XG5cbi53Yy1hdGNwLXByb2R1Y3RfX3F0eS1taW51cyBzdmcsIC53Yy1hdGNwLXByb2R1Y3RfX3F0eS1wbHVzIHN2ZyB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi53Yy1hdGNwLXByb2R1Y3RfX3F0eSBpbnB1dCB7XG5cdHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblx0bWFyZ2luOiAwIDEwcHggIWltcG9ydGFudDtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cdHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuXHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi53Yy1hdGNwLXByb2R1Y3RfX3F0eSBpbnB1dDpmb2N1cyB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMmQyZDJkICFpbXBvcnRhbnQ7XG59XG5cbi53Yy1hdGNwLXByb2R1Y3QtZ3JpZCB1bC5wcm9kdWN0cyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcblx0bGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ud2MtYXRjcC1wcm9kdWN0LWdyaWQtLTMgbGkucHJvZHVjdCxcbi53Yy1hdGNwLXByb2R1Y3QtZ3JpZC0tMyBsaS5wcm9kdWN0Lmxhc3Qge1xuXHR3aWR0aDogMjcuMzIlICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi10b3A6IDVweCAhaW1wb3J0YW50O1xuXHRtYXJnaW4tcmlnaHQ6IDMlICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcblx0bWFyZ2luLWxlZnQ6IDMlICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuXHQud2MtYXRjcC1wcm9kdWN0LWdyaWQtLTMgdWwucHJvZHVjdHMgbGkucHJvZHVjdC5sYXN0IHtcblx0XHRtYXJnaW4tcmlnaHQ6IDMlICFpbXBvcnRhbnQ7XG5cdFx0bWFyZ2luLWxlZnQ6IDMlICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC53Yy1hdGNwLXByb2R1Y3RfX2NvbDEsIC53Yy1hdGNwLXByb2R1Y3RfX2NvbDIge1xuXHRcdGZsZXg6IG5vbmU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblx0LndjLWF0Y3AtcHJvZHVjdC1ncmlkIHVsLnByb2R1Y3RzIHtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdH1cblx0LndjLWF0Y3AtcHJvZHVjdC1ncmlkLS0zIGxpLnByb2R1Y3QsXG5cdC53Yy1hdGNwLXByb2R1Y3QtZ3JpZC0tMyBsaS5wcm9kdWN0Lmxhc3Qge1xuXHRcdHdpZHRoOiA5NCUgIWltcG9ydGFudDtcblx0XHRtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG5cdFx0bWFyZ2luLXJpZ2h0OiAzJSAhaW1wb3J0YW50O1xuXHRcdG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcblx0XHRtYXJnaW4tbGVmdDogMyUgIWltcG9ydGFudDtcblx0fVxufVxuXG4ud2MtYXRjcC1jYXJ0IHtcblx0Ym94LXNoYWRvdzogMCAtMTVweCAzMHB4IC0yMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdHdpZHRoOiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4ud2MtYXRjcC1jYXJ0X19yb3cge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ud2MtYXRjcC1jYXJ0X19yb3c6Zmlyc3QtY2hpbGQge1xuXHRwYWRkaW5nLXRvcDogMjBweDtcbn1cblxuLndjLWF0Y3AtY2FydF9fcm93Omxhc3QtY2hpbGQge1xuXHRwYWRkaW5nLWJvdHRvbTogMjBweDtcbn1cblxuLndjLWF0Y3AtY2FydF9fbGFiZWwsIC53Yy1hdGNwLWNhcnRfX3ZhbHVlIHtcblx0ZmxleDogMTtcbn1cblxuLndjLWF0Y3AtY2FydF9fbGFiZWwge1xuXHRmb250LXdlaWdodDogNzAwO1xufVxuXG4ud2MtYXRjcC1jYXJ0X192YWx1ZSB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ud2MtYXRjcC1jYXJ0X19jdGEge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLndjLWF0Y3AtY2FydF9fY3RhIGE6Zmlyc3QtY2hpbGQge1xuXHRtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLndjLWF0Y3AtY2FydF9fY3RhIGE6bGFzdC1jaGlsZCB7XG5cdG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQud2MtYXRjcC1jYXJ0IHtcblx0XHRwb3NpdGlvbjogc3RpY2t5O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cdC53Yy1hdGNwLWNhcnRfX2N0YSB7XG5cdFx0cG9zaXRpb246IHN0aWNreTtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuXG4ud2MtYXRjcC1kYXJrLW1vZGUge1xuXHQtLWF0Y3AtZGFyay1iZy1sZXZlbC0xOiAjMjIyODMxO1xuXHQtLWF0Y3AtZGFyay1iZy1sZXZlbC0yOiAjMmEzMTNjO1xuXHQtLWF0Y3AtZGFyay10ZXh0OiAjZWVlO1xuXHQtLWF0Y3AtZGFyay10ZXh0LWR1bGw6ICM4ZDhkOGQ7XG5cdC0tYXRjcC1kYXJrLXNoYWRvdzogMCAzMHB4IDMwcHggLTMwcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuXHQtLWF0Y3AtZGFyay1zaGFkb3ctZnVsbDogMCAwIDMwcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuXG4ud2MtYXRjcC1kYXJrLW1vZGUgLndjLWF0Y3AtbG9hZGVyIHtcblx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuXG4ud2MtYXRjcC1kYXJrLW1vZGUgLndjLWF0Y3AtbG9hZGVyIC53Yy1hdGNwLWxvYWRlci0xX19kb3QxLCAud2MtYXRjcC1kYXJrLW1vZGUgLndjLWF0Y3AtbG9hZGVyIC53Yy1hdGNwLWxvYWRlci0xX19kb3QyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYXRjcC1kYXJrLXRleHQtZHVsbCk7XG59XG5cbi53Yy1hdGNwLWRhcmstbW9kZSAud2MtYXRjcC1sb2FkZXIgLndjLWF0Y3AtbG9hZGVyLTJfX3NwaW5uZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hdGNwLWRhcmstdGV4dC1kdWxsKTtcbn1cblxuLndjLWF0Y3AtZGFyay1tb2RlIC53Yy1hdGNwLWNhcnQsXG4ud2MtYXRjcC1kYXJrLW1vZGUgLndjLWF0Y3AtY2FydCAqLFxuLndjLWF0Y3AtZGFyay1tb2RlIC53Yy1hdGNwLXN1Z2dlc3RlZC1wcm9kdWN0cyAqIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiB2YXIoLS1hdGNwLWRhcmstdGV4dCk7XG59XG5cbi53Yy1hdGNwLWRhcmstbW9kZSAud2MtYXRjcC1wb3B1cCBpbWcge1xuXHRvcGFjaXR5OiAwLjY7XG5cdHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcbn1cblxuLndjLWF0Y3AtZGFyay1tb2RlIC53Yy1hdGNwLXBvcHVwIGltZzpob3ZlciB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi53Yy1hdGNwLWRhcmstbW9kZSAud2MtYXRjcC1wb3B1cCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWF0Y3AtZGFyay1iZy1sZXZlbC0xKTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4ud2MtYXRjcC1kYXJrLW1vZGUgLndjLWF0Y3AtcG9wdXBfX2JvZHkge1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuXG4ud2MtYXRjcC1kYXJrLW1vZGUgLndjLWF0Y3AtcG9wdXAtbm90aWNlIHNwYW4ge1xuXHRjb2xvcjogdmFyKC0tYXRjcC1kYXJrLXRleHQtZHVsbCk7XG59XG5cbi53Yy1hdGNwLWRhcmstbW9kZSAud2MtYXRjcC1wcm9kdWN0X19uYW1lLCAud2MtYXRjcC1kYXJrLW1vZGUgLndjLWF0Y3AtcHJvZHVjdF9fcHJpY2UsIC53Yy1hdGNwLWRhcmstbW9kZSAud2MtYXRjcC1wcm9kdWN0X19xdHksXG4ud2MtYXRjcC1kYXJrLW1vZGUgLndjLWF0Y3AtcHJvZHVjdF9fcXR5IGlucHV0IHtcblx0Y29sb3I6IHZhcigtLWF0Y3AtZGFyay10ZXh0KTtcbn1cblxuLndjLWF0Y3AtZGFyay1tb2RlIC53Yy1hdGNwLXByb2R1Y3RfX2ltYWdlIHtcblx0b3BhY2l0eTogMC42O1xuXHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XG59XG5cbi53Yy1hdGNwLWRhcmstbW9kZSAud2MtYXRjcC1wcm9kdWN0X19pbWFnZTpob3ZlciB7XG5cdG9wYWNpdHk6IDE7XG59XG5cbi53Yy1hdGNwLWRhcmstbW9kZSAud2MtYXRjcC1jYXJ0IHtcblx0Ym94LXNoYWRvdzogMCAtMTVweCAzMHB4IC0yMnB4IHJnYmEoMCwgMCwgMCwgMC4zNSk7XG59XG5cbi53Yy1hdGNwLWRhcmstbW9kZSAud2MtYXRjcC1zdWdnZXN0ZWQtcHJvZHVjdHMge1xuXHRib3gtc2hhZG93OiAwIC0xNXB4IDMwcHggLTIycHggcmdiYSgwLCAwLCAwLCAwLjM1KTtcblx0bWFyZ2luLXRvcDogMTBweDtcblx0cGFkZGluZy10b3A6IDEwcHg7XG59XG5cbi53Yy1hdGNwLWRhcmstbW9kZSAud2MtYXRjcC1zdWdnZXN0ZWQtcHJvZHVjdHMgLnByb2R1Y3RzIGxpIHtcblx0cGFkZGluZzogMTVweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYXRjcC1kYXJrLWJnLWxldmVsLTIpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi53Yy1hdGNwLWdsYXNzLW1vZGUge1xuXHQtLWF0Y3AtZ2xhc3MtdGV4dDogIzMzMztcblx0LS1hdGNwLWdsYXNzLXRleHQtZHVsbDogIzU1NTtcbn1cblxuLndjLWF0Y3AtZ2xhc3MtbW9kZSAud2MtYXRjcC1wb3B1cCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSk7XG5cdGJhY2tkcm9wLWZpbHRlcjogc2F0dXJhdGUoMjAwJSkgYmx1cigxMHB4KSBicmlnaHRuZXNzKDEuMik7XG59XG5cbi53Yy1hdGNwLWdsYXNzLW1vZGUgLndjLWF0Y3AtY2FydCxcbi53Yy1hdGNwLWdsYXNzLW1vZGUgLndjLWF0Y3AtY2FydCAqLFxuLndjLWF0Y3AtZ2xhc3MtbW9kZSAud2MtYXRjcC1zdWdnZXN0ZWQtcHJvZHVjdHMgKiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogdmFyKC0tYXRjcC1nbGFzcy10ZXh0KTtcbn1cblxuLndjLWF0Y3AtZ2xhc3MtbW9kZSAud2MtYXRjcC1wb3B1cC1ub3RpY2Ugc3BhbiB7XG5cdGNvbG9yOiB2YXIoLS1hdGNwLWdsYXNzLXRleHQtZHVsbCk7XG59XG5cbi53Yy1hdGNwLWdsYXNzLW1vZGUgLndjLWF0Y3AtcHJvZHVjdF9fbmFtZSwgLndjLWF0Y3AtZ2xhc3MtbW9kZSAud2MtYXRjcC1wcm9kdWN0X19wcmljZSwgLndjLWF0Y3AtZ2xhc3MtbW9kZSAud2MtYXRjcC1wcm9kdWN0X19xdHksXG4ud2MtYXRjcC1nbGFzcy1tb2RlIC53Yy1hdGNwLXByb2R1Y3RfX3F0eSBpbnB1dCB7XG5cdGNvbG9yOiB2YXIoLS1hdGNwLWdsYXNzLXRleHQpO1xufVxuXG4ud2MtYXRjcC1nbGFzcy1tb2RlIC53Yy1hdGNwLWNhcnQge1xuXHRib3gtc2hhZG93OiAwIC0xNXB4IDMwcHggLTIycHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4ud2MtYXRjcC1nbGFzcy1tb2RlIC53Yy1hdGNwLXN1Z2dlc3RlZC1wcm9kdWN0cyB7XG5cdGJveC1zaGFkb3c6IDAgLTE1cHggMzBweCAtMjJweCByZ2JhKDAsIDAsIDAsIDAuMik7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG5cdHBhZGRpbmctdG9wOiAxMHB4O1xufVxuXG4ud2MtYXRjcC1nbGFzcy1tb2RlIC53Yy1hdGNwLXN1Z2dlc3RlZC1wcm9kdWN0cyAucHJvZHVjdHMgbGkge1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0dHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xufVxuXG4ud2MtYXRjcC1nbGFzcy1tb2RlIC53Yy1hdGNwLXN1Z2dlc3RlZC1wcm9kdWN0cyAucHJvZHVjdHMgbGk6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG59XG5cbmJvZHkucnRsIC53Yy1hdGNwLXBvcHVwLWNsb3NlIHtcblx0cmlnaHQ6IGF1dG87XG5cdGxlZnQ6IC0xN3B4O1xufVxuXG5ib2R5LnJ0bCAud2MtYXRjcC1wb3B1cC1ub3RpY2Ugc3ZnIHtcblx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuYm9keS5ydGwgLndjLWF0Y3AtcHJvZHVjdF9fcHJpY2Uge1xuXHRtYXJnaW4tcmlnaHQ6IDA7XG5cdG1hcmdpbi1sZWZ0OiA0MHB4O1xufVxuXG5ib2R5LnJ0bCAud2MtYXRjcC1jYXJ0X192YWx1ZSB7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbmJvZHkucnRsIC53Yy1hdGNwLWNhcnRfX2N0YSBhOmZpcnN0LWNoaWxkIHtcblx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRtYXJnaW4tbGVmdDogNXB4O1xufVxuXG4vKiFcbiAqIGFuaW1hdGUuY3NzIC0gaHR0cHM6Ly9hbmltYXRlLnN0eWxlL1xuICogVmVyc2lvbiAtIDQuMS4xXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgLSBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqIENvcHlyaWdodCAoYykgMjAyMSBBbmltYXRlLmNzc1xuICovXG46cm9vdCB7XG5cdC0tYW5pbWF0ZS1kdXJhdGlvbjogMXM7XG5cdC0tYW5pbWF0ZS1kZWxheTogMXM7XG5cdC0tYW5pbWF0ZS1yZXBlYXQ6IDE7XG59XG5cbi5hbmltYXRlX19hbmltYXRlZCB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcblx0YW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcblx0LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IHZhcigtLWFuaW1hdGUtZHVyYXRpb24pO1xuXHRhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWFuaW1hdGUtZHVyYXRpb24pO1xuXHQtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG5cdGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19pbmZpbml0ZSB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG5cdGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xufVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fcmVwZWF0LTEge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG5cdGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG5cdC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tYW5pbWF0ZS1yZXBlYXQpO1xuXHRhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1hbmltYXRlLXJlcGVhdCk7XG59XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19yZXBlYXQtMiB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYygxICogMik7XG5cdGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGMoMSAqIDIpO1xuXHQtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGModmFyKC0tYW5pbWF0ZS1yZXBlYXQpICogMik7XG5cdGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGModmFyKC0tYW5pbWF0ZS1yZXBlYXQpICogMik7XG59XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19yZXBlYXQtMyB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYygxICogMyk7XG5cdGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGMoMSAqIDMpO1xuXHQtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGModmFyKC0tYW5pbWF0ZS1yZXBlYXQpICogMyk7XG5cdGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGModmFyKC0tYW5pbWF0ZS1yZXBlYXQpICogMyk7XG59XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19kZWxheS0xcyB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxcztcblx0YW5pbWF0aW9uLWRlbGF5OiAxcztcblx0LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IHZhcigtLWFuaW1hdGUtZGVsYXkpO1xuXHRhbmltYXRpb24tZGVsYXk6IHZhcigtLWFuaW1hdGUtZGVsYXkpO1xufVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZGVsYXktMnMge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDIpO1xuXHRhbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiAyKTtcblx0LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiAyKTtcblx0YW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogMik7XG59XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19kZWxheS0zcyB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogMyk7XG5cdGFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDMpO1xuXHQtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDMpO1xuXHRhbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiAzKTtcbn1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2RlbGF5LTRzIHtcblx0LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiA0KTtcblx0YW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogNCk7XG5cdC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogNCk7XG5cdGFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDQpO1xufVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZGVsYXktNXMge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDUpO1xuXHRhbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiA1KTtcblx0LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiA1KTtcblx0YW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogNSk7XG59XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19mYXN0ZXIge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAvIDIpO1xuXHRhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgLyAyKTtcblx0LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgLyAyKTtcblx0YW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pIC8gMik7XG59XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19mYXN0IHtcblx0LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjgpO1xuXHRhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjgpO1xuXHQtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuOCk7XG5cdGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuOCk7XG59XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19zbG93IHtcblx0LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAyKTtcblx0YW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMik7XG5cdC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMik7XG5cdGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDIpO1xufVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fc2xvd2VyIHtcblx0LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAzKTtcblx0YW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMyk7XG5cdC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMyk7XG5cdGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDMpO1xufVxuXG5AbWVkaWEgcHJpbnQsIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcblx0LmFuaW1hdGVfX2FuaW1hdGVkIHtcblx0XHQtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7XG5cdFx0YW5pbWF0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDtcblx0XHQtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDFtcyAhaW1wb3J0YW50O1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDFtcyAhaW1wb3J0YW50O1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xuXHRcdGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcblx0fVxuXHQuYW5pbWF0ZV9fYW5pbWF0ZWRbY2xhc3MqPVwiT3V0XCJdIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbi8qIEF0dGVudGlvbiBzZWVrZXJzICAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7XG5cdGZyb20sXG5cdDIwJSxcblx0NTMlLFxuXHR0byB7XG5cdFx0LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxuXHQ0MCUsXG5cdDQzJSB7XG5cdFx0LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcblx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApIHNjYWxlWSgxLjEpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApIHNjYWxlWSgxLjEpO1xuXHR9XG5cdDcwJSB7XG5cdFx0LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcblx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApIHNjYWxlWSgxLjA1KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKSBzY2FsZVkoMS4wNSk7XG5cdH1cblx0ODAlIHtcblx0XHQtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlWSgwLjk1KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlWSgwLjk1KTtcblx0fVxuXHQ5MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKSBzY2FsZVkoMS4wMik7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKSBzY2FsZVkoMS4wMik7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2Uge1xuXHRmcm9tLFxuXHQyMCUsXG5cdDUzJSxcblx0dG8ge1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdH1cblx0NDAlLFxuXHQ0MyUge1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKSBzY2FsZVkoMS4xKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKSBzY2FsZVkoMS4xKTtcblx0fVxuXHQ3MCUge1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKSBzY2FsZVkoMS4wNSk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCkgc2NhbGVZKDEuMDUpO1xuXHR9XG5cdDgwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZVkoMC45NSk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZVkoMC45NSk7XG5cdH1cblx0OTAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCkgc2NhbGVZKDEuMDIpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCkgc2NhbGVZKDEuMDIpO1xuXHR9XG59XG5cbi5hbmltYXRlX19ib3VuY2Uge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG5cdGFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG5cdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcblx0dHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsYXNoIHtcblx0ZnJvbSxcblx0NTAlLFxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHQyNSUsXG5cdDc1JSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGZsYXNoIHtcblx0ZnJvbSxcblx0NTAlLFxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHQyNSUsXG5cdDc1JSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuXG4uYW5pbWF0ZV9fZmxhc2gge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcblx0YW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZSB7XG5cdGZyb20ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcblx0fVxuXHQ1MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcblx0fVxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuXHRmcm9tIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG5cdH1cblx0NTAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG5cdH1cblx0dG8ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fcHVsc2Uge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcblx0YW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xuXHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuXHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xuXHRmcm9tIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG5cdH1cblx0MzAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG5cdH1cblx0NDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG5cdH1cblx0NTAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG5cdH1cblx0NjUlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XG5cdH1cblx0NzUlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XG5cdH1cblx0dG8ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xuXHRmcm9tIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG5cdH1cblx0MzAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG5cdH1cblx0NDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG5cdH1cblx0NTAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG5cdH1cblx0NjUlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XG5cdH1cblx0NzUlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XG5cdH1cblx0dG8ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fcnViYmVyQmFuZCB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJ1YmJlcmJhbmQ7XG5cdGFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2VYIHtcblx0ZnJvbSxcblx0dG8ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHR9XG5cdDEwJSxcblx0MzAlLFxuXHQ1MCUsXG5cdDcwJSxcblx0OTAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuXHR9XG5cdDIwJSxcblx0NDAlLFxuXHQ2MCUsXG5cdDgwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBzaGFrZVgge1xuXHRmcm9tLFxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdH1cblx0MTAlLFxuXHQzMCUsXG5cdDUwJSxcblx0NzAlLFxuXHQ5MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG5cdH1cblx0MjAlLFxuXHQ0MCUsXG5cdDYwJSxcblx0ODAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fc2hha2VYIHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2V4O1xuXHRhbmltYXRpb24tbmFtZTogc2hha2VYO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2VZIHtcblx0ZnJvbSxcblx0dG8ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHR9XG5cdDEwJSxcblx0MzAlLFxuXHQ1MCUsXG5cdDcwJSxcblx0OTAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuXHR9XG5cdDIwJSxcblx0NDAlLFxuXHQ2MCUsXG5cdDgwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBzaGFrZVkge1xuXHRmcm9tLFxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdH1cblx0MTAlLFxuXHQzMCUsXG5cdDUwJSxcblx0NzAlLFxuXHQ5MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG5cdH1cblx0MjAlLFxuXHQ0MCUsXG5cdDYwJSxcblx0ODAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fc2hha2VZIHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2V5O1xuXHRhbmltYXRpb24tbmFtZTogc2hha2VZO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGVhZFNoYWtlIHtcblx0MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0fVxuXHQ2LjUlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG5cdH1cblx0MTguNSUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuXHR9XG5cdDMxLjUlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG5cdH1cblx0NDMuNSUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuXHR9XG5cdDUwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgaGVhZFNoYWtlIHtcblx0MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0fVxuXHQ2LjUlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG5cdH1cblx0MTguNSUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuXHR9XG5cdDMxLjUlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG5cdH1cblx0NDMuNSUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuXHR9XG5cdDUwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHR9XG59XG5cbi5hbmltYXRlX19oZWFkU2hha2Uge1xuXHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuXHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGVhZHNoYWtlO1xuXHRhbmltYXRpb24tbmFtZTogaGVhZFNoYWtlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmcge1xuXHQyMCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG5cdH1cblx0NDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG5cdH1cblx0NjAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcblx0fVxuXHQ4MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG5cdH1cblx0dG8ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgc3dpbmcge1xuXHQyMCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG5cdH1cblx0NDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG5cdH1cblx0NjAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcblx0fVxuXHQ4MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG5cdH1cblx0dG8ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuXHR9XG59XG5cbi5hbmltYXRlX19zd2luZyB7XG5cdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcblx0dHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7XG5cdGFuaW1hdGlvbi1uYW1lOiBzd2luZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHRhZGEge1xuXHRmcm9tIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG5cdH1cblx0MTAlLFxuXHQyMCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuXHR9XG5cdDMwJSxcblx0NTAlLFxuXHQ3MCUsXG5cdDkwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuXHR9XG5cdDQwJSxcblx0NjAlLFxuXHQ4MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuXHR9XG5cdHRvIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyB0YWRhIHtcblx0ZnJvbSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuXHR9XG5cdDEwJSxcblx0MjAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcblx0fVxuXHQzMCUsXG5cdDUwJSxcblx0NzAlLFxuXHQ5MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcblx0fVxuXHQ0MCUsXG5cdDYwJSxcblx0ODAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcblx0fVxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuXHR9XG59XG5cbi5hbmltYXRlX190YWRhIHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogdGFkYTtcblx0YW5pbWF0aW9uLW5hbWU6IHRhZGE7XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHdvYmJsZSB7XG5cdGZyb20ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHR9XG5cdDE1JSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcblx0fVxuXHQzMCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcblx0fVxuXHQ0NSUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG5cdH1cblx0NjAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG5cdH1cblx0NzUlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcblx0fVxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyB3b2JibGUge1xuXHRmcm9tIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxuXHQxNSUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG5cdH1cblx0MzAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG5cdH1cblx0NDUlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuXHR9XG5cdDYwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuXHR9XG5cdDc1JSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG5cdH1cblx0dG8ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHR9XG59XG5cbi5hbmltYXRlX193b2JibGUge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG5cdGFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBqZWxsbyB7XG5cdGZyb20sXG5cdDExLjElLFxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdH1cblx0MjIuMiUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuXHRcdHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcblx0fVxuXHQzMy4zJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuXHRcdHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG5cdH1cblx0NDQuNCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG5cdFx0dHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG5cdH1cblx0NTUuNSUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG5cdFx0dHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG5cdH1cblx0NjYuNiUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuXHRcdHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcblx0fVxuXHQ3Ny43JSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG5cdFx0dHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuXHR9XG5cdDg4LjglIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG5cdFx0dHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGplbGxvIHtcblx0ZnJvbSxcblx0MTEuMSUsXG5cdHRvIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxuXHQyMi4yJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG5cdFx0dHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuXHR9XG5cdDMzLjMlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG5cdFx0dHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcblx0fVxuXHQ0NC40JSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcblx0XHR0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcblx0fVxuXHQ1NS41JSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcblx0XHR0cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcblx0fVxuXHQ2Ni42JSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG5cdFx0dHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuXHR9XG5cdDc3LjclIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcblx0XHR0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG5cdH1cblx0ODguOCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcblx0XHR0cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuXHR9XG59XG5cbi5hbmltYXRlX19qZWxsbyB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xuXHRhbmltYXRpb24tbmFtZTogamVsbG87XG5cdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuXHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBoZWFydEJlYXQge1xuXHQwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdH1cblx0MTQlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG5cdH1cblx0MjglIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0fVxuXHQ0MiUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcblx0fVxuXHQ3MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgaGVhcnRCZWF0IHtcblx0MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR9XG5cdDE0JSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuXHR9XG5cdDI4JSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdH1cblx0NDIlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG5cdH1cblx0NzAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0fVxufVxuXG4uYW5pbWF0ZV9faGVhcnRCZWF0IHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGVhcnRiZWF0O1xuXHRhbmltYXRpb24tbmFtZTogaGVhcnRCZWF0O1xuXHQtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDEuMyk7XG5cdGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDEuMyk7XG5cdC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMS4zKTtcblx0YW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMS4zKTtcblx0LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcblx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG59XG5cbi8qIEJhY2sgZW50cmFuY2VzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja0luRG93biB7XG5cdDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTIwMHB4KSBzY2FsZSgwLjcpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTIwMHB4KSBzY2FsZSgwLjcpO1xuXHRcdG9wYWNpdHk6IDAuNztcblx0fVxuXHQ4MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDAuNyk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDAuNyk7XG5cdFx0b3BhY2l0eTogMC43O1xuXHR9XG5cdDEwMCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBiYWNrSW5Eb3duIHtcblx0MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMjAwcHgpIHNjYWxlKDAuNyk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMjAwcHgpIHNjYWxlKDAuNyk7XG5cdFx0b3BhY2l0eTogMC43O1xuXHR9XG5cdDgwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMC43KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMC43KTtcblx0XHRvcGFjaXR5OiAwLjc7XG5cdH1cblx0MTAwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fYmFja0luRG93biB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tpbmRvd247XG5cdGFuaW1hdGlvbi1uYW1lOiBiYWNrSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja0luTGVmdCB7XG5cdDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuXHRcdG9wYWNpdHk6IDAuNztcblx0fVxuXHQ4MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHNjYWxlKDAuNyk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHNjYWxlKDAuNyk7XG5cdFx0b3BhY2l0eTogMC43O1xuXHR9XG5cdDEwMCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBiYWNrSW5MZWZ0IHtcblx0MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG5cdFx0b3BhY2l0eTogMC43O1xuXHR9XG5cdDgwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgc2NhbGUoMC43KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgc2NhbGUoMC43KTtcblx0XHRvcGFjaXR5OiAwLjc7XG5cdH1cblx0MTAwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fYmFja0luTGVmdCB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tpbmxlZnQ7XG5cdGFuaW1hdGlvbi1uYW1lOiBiYWNrSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja0luUmlnaHQge1xuXHQwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG5cdFx0b3BhY2l0eTogMC43O1xuXHR9XG5cdDgwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgc2NhbGUoMC43KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgc2NhbGUoMC43KTtcblx0XHRvcGFjaXR5OiAwLjc7XG5cdH1cblx0MTAwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGJhY2tJblJpZ2h0IHtcblx0MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuXHRcdG9wYWNpdHk6IDAuNztcblx0fVxuXHQ4MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHNjYWxlKDAuNyk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHNjYWxlKDAuNyk7XG5cdFx0b3BhY2l0eTogMC43O1xuXHR9XG5cdDEwMCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuLmFuaW1hdGVfX2JhY2tJblJpZ2h0IHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja2lucmlnaHQ7XG5cdGFuaW1hdGlvbi1uYW1lOiBiYWNrSW5SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tJblVwIHtcblx0MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEyMDBweCkgc2NhbGUoMC43KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTIwMHB4KSBzY2FsZSgwLjcpO1xuXHRcdG9wYWNpdHk6IDAuNztcblx0fVxuXHQ4MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDAuNyk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDAuNyk7XG5cdFx0b3BhY2l0eTogMC43O1xuXHR9XG5cdDEwMCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBiYWNrSW5VcCB7XG5cdDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMjAwcHgpIHNjYWxlKDAuNyk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEyMDBweCkgc2NhbGUoMC43KTtcblx0XHRvcGFjaXR5OiAwLjc7XG5cdH1cblx0ODAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgwLjcpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgwLjcpO1xuXHRcdG9wYWNpdHk6IDAuNztcblx0fVxuXHQxMDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cbi5hbmltYXRlX19iYWNrSW5VcCB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tpbnVwO1xuXHRhbmltYXRpb24tbmFtZTogYmFja0luVXA7XG59XG5cbi8qIEJhY2sgZXhpdHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrT3V0RG93biB7XG5cdDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdDIwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMC43KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMC43KTtcblx0XHRvcGFjaXR5OiAwLjc7XG5cdH1cblx0MTAwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpIHNjYWxlKDAuNyk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KSBzY2FsZSgwLjcpO1xuXHRcdG9wYWNpdHk6IDAuNztcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGJhY2tPdXREb3duIHtcblx0MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0MjAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgwLjcpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgwLjcpO1xuXHRcdG9wYWNpdHk6IDAuNztcblx0fVxuXHQxMDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCkgc2NhbGUoMC43KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpIHNjYWxlKDAuNyk7XG5cdFx0b3BhY2l0eTogMC43O1xuXHR9XG59XG5cbi5hbmltYXRlX19iYWNrT3V0RG93biB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tvdXRkb3duO1xuXHRhbmltYXRpb24tbmFtZTogYmFja091dERvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrT3V0TGVmdCB7XG5cdDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdDIwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgc2NhbGUoMC43KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgc2NhbGUoMC43KTtcblx0XHRvcGFjaXR5OiAwLjc7XG5cdH1cblx0MTAwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcblx0XHRvcGFjaXR5OiAwLjc7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBiYWNrT3V0TGVmdCB7XG5cdDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdDIwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgc2NhbGUoMC43KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgc2NhbGUoMC43KTtcblx0XHRvcGFjaXR5OiAwLjc7XG5cdH1cblx0MTAwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcblx0XHRvcGFjaXR5OiAwLjc7XG5cdH1cbn1cblxuLmFuaW1hdGVfX2JhY2tPdXRMZWZ0IHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja291dGxlZnQ7XG5cdGFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tPdXRSaWdodCB7XG5cdDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdDIwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgc2NhbGUoMC43KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgc2NhbGUoMC43KTtcblx0XHRvcGFjaXR5OiAwLjc7XG5cdH1cblx0MTAwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG5cdFx0b3BhY2l0eTogMC43O1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgYmFja091dFJpZ2h0IHtcblx0MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0MjAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSBzY2FsZSgwLjcpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSBzY2FsZSgwLjcpO1xuXHRcdG9wYWNpdHk6IDAuNztcblx0fVxuXHQxMDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcblx0XHRvcGFjaXR5OiAwLjc7XG5cdH1cbn1cblxuLmFuaW1hdGVfX2JhY2tPdXRSaWdodCB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tvdXRyaWdodDtcblx0YW5pbWF0aW9uLW5hbWU6IGJhY2tPdXRSaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tPdXRVcCB7XG5cdDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdDIwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMC43KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMC43KTtcblx0XHRvcGFjaXR5OiAwLjc7XG5cdH1cblx0MTAwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTcwMHB4KSBzY2FsZSgwLjcpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzAwcHgpIHNjYWxlKDAuNyk7XG5cdFx0b3BhY2l0eTogMC43O1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgYmFja091dFVwIHtcblx0MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0MjAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgwLjcpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgwLjcpO1xuXHRcdG9wYWNpdHk6IDAuNztcblx0fVxuXHQxMDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzAwcHgpIHNjYWxlKDAuNyk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MDBweCkgc2NhbGUoMC43KTtcblx0XHRvcGFjaXR5OiAwLjc7XG5cdH1cbn1cblxuLmFuaW1hdGVfX2JhY2tPdXRVcCB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tvdXR1cDtcblx0YW5pbWF0aW9uLW5hbWU6IGJhY2tPdXRVcDtcbn1cblxuLyogQm91bmNpbmcgZW50cmFuY2VzICAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluIHtcblx0ZnJvbSxcblx0MjAlLFxuXHQ0MCUsXG5cdDYwJSxcblx0ODAlLFxuXHR0byB7XG5cdFx0LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblx0fVxuXHQwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG5cdH1cblx0MjAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG5cdH1cblx0NDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG5cdH1cblx0NjAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcblx0fVxuXHQ4MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbiB7XG5cdGZyb20sXG5cdDIwJSxcblx0NDAlLFxuXHQ2MCUsXG5cdDgwJSxcblx0dG8ge1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cdH1cblx0MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuXHR9XG5cdDIwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuXHR9XG5cdDQwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuXHR9XG5cdDYwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG5cdH1cblx0ODAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuXHR9XG59XG5cbi5hbmltYXRlX19ib3VuY2VJbiB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG5cdGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuXHQtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuXHRhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlaW47XG5cdGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG5cdGZyb20sXG5cdDYwJSxcblx0NzUlLFxuXHQ5MCUsXG5cdHRvIHtcblx0XHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXHR9XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKSBzY2FsZVkoMyk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKSBzY2FsZVkoMyk7XG5cdH1cblx0NjAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKSBzY2FsZVkoMC45KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApIHNjYWxlWSgwLjkpO1xuXHR9XG5cdDc1JSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45NSk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuXHR9XG5cdDkwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCkgc2NhbGVZKDAuOTg1KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCkgc2NhbGVZKDAuOTg1KTtcblx0fVxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuXHRmcm9tLFxuXHQ2MCUsXG5cdDc1JSxcblx0OTAlLFxuXHR0byB7XG5cdFx0LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblx0fVxuXHQwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCkgc2NhbGVZKDMpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCkgc2NhbGVZKDMpO1xuXHR9XG5cdDYwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCkgc2NhbGVZKDAuOSk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKSBzY2FsZVkoMC45KTtcblx0fVxuXHQ3NSUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk1KTtcblx0fVxuXHQ5MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApIHNjYWxlWSgwLjk4NSk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApIHNjYWxlWSgwLjk4NSk7XG5cdH1cblx0dG8ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHR9XG59XG5cbi5hbmltYXRlX19ib3VuY2VJbkRvd24ge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VpbmRvd247XG5cdGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuXHRmcm9tLFxuXHQ2MCUsXG5cdDc1JSxcblx0OTAlLFxuXHR0byB7XG5cdFx0LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblx0fVxuXHQwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuXHR9XG5cdDYwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuXHR9XG5cdDc1JSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuXHR9XG5cdDkwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcblx0fVxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuXHRmcm9tLFxuXHQ2MCUsXG5cdDc1JSxcblx0OTAlLFxuXHR0byB7XG5cdFx0LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblx0fVxuXHQwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuXHR9XG5cdDYwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuXHR9XG5cdDc1JSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuXHR9XG5cdDkwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcblx0fVxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdH1cbn1cblxuLmFuaW1hdGVfX2JvdW5jZUluTGVmdCB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZWlubGVmdDtcblx0YW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuXHRmcm9tLFxuXHQ2MCUsXG5cdDc1JSxcblx0OTAlLFxuXHR0byB7XG5cdFx0LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblx0fVxuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApIHNjYWxlWCgzKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuXHR9XG5cdDYwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApIHNjYWxlWCgxKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKSBzY2FsZVgoMSk7XG5cdH1cblx0NzUlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuXHR9XG5cdDkwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpO1xuXHR9XG5cdHRvIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuXHRmcm9tLFxuXHQ2MCUsXG5cdDc1JSxcblx0OTAlLFxuXHR0byB7XG5cdFx0LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblx0fVxuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApIHNjYWxlWCgzKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuXHR9XG5cdDYwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApIHNjYWxlWCgxKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKSBzY2FsZVgoMSk7XG5cdH1cblx0NzUlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuXHR9XG5cdDkwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpO1xuXHR9XG5cdHRvIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fYm91bmNlSW5SaWdodCB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZWlucmlnaHQ7XG5cdGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5VcCB7XG5cdGZyb20sXG5cdDYwJSxcblx0NzUlLFxuXHQ5MCUsXG5cdHRvIHtcblx0XHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXHR9XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCkgc2NhbGVZKDUpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKSBzY2FsZVkoNSk7XG5cdH1cblx0NjAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG5cdH1cblx0NzUlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuXHR9XG5cdDkwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApIHNjYWxlWSgwLjk4NSk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKSBzY2FsZVkoMC45ODUpO1xuXHR9XG5cdHRvIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuXHRmcm9tLFxuXHQ2MCUsXG5cdDc1JSxcblx0OTAlLFxuXHR0byB7XG5cdFx0LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblx0fVxuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApIHNjYWxlWSg1KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCkgc2NhbGVZKDUpO1xuXHR9XG5cdDYwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpO1xuXHR9XG5cdDc1JSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk1KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk1KTtcblx0fVxuXHQ5MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKSBzY2FsZVkoMC45ODUpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCkgc2NhbGVZKDAuOTg1KTtcblx0fVxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdH1cbn1cblxuLmFuaW1hdGVfX2JvdW5jZUluVXAge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VpbnVwO1xuXHRhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbn1cblxuLyogQm91bmNpbmcgZXhpdHMgICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0IHtcblx0MjAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG5cdH1cblx0NTAlLFxuXHQ1NSUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dCB7XG5cdDIwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuXHR9XG5cdDUwJSxcblx0NTUlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG5cdH1cbn1cblxuLmFuaW1hdGVfX2JvdW5jZU91dCB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG5cdGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuXHQtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuXHRhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlb3V0O1xuXHRhbmltYXRpb24tbmFtZTogYm91bmNlT3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG5cdDIwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk4NSk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45ODUpO1xuXHR9XG5cdDQwJSxcblx0NDUlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCkgc2NhbGVZKDMpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcblx0MjAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTg1KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk4NSk7XG5cdH1cblx0NDAlLFxuXHQ0NSUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApIHNjYWxlWSgzKTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fYm91bmNlT3V0RG93biB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZW91dGRvd247XG5cdGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG5cdDIwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG5cdDIwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuXHR9XG59XG5cbi5hbmltYXRlX19ib3VuY2VPdXRMZWZ0IHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlb3V0bGVmdDtcblx0YW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG5cdDIwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApIHNjYWxlWCgwLjkpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApIHNjYWxlWCgwLjkpO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApIHNjYWxlWCgyKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuXHQyMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApIHNjYWxlWCgyKTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fYm91bmNlT3V0UmlnaHQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VvdXRyaWdodDtcblx0YW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuXHQyMCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTg1KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45ODUpO1xuXHR9XG5cdDQwJSxcblx0NDUlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKSBzY2FsZVkoMC45KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApIHNjYWxlWSgwLjkpO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG5cdDIwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45ODUpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk4NSk7XG5cdH1cblx0NDAlLFxuXHQ0NSUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApIHNjYWxlWSgwLjkpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCkgc2NhbGVZKDAuOSk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApIHNjYWxlWSgzKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApIHNjYWxlWSgzKTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fYm91bmNlT3V0VXAge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VvdXR1cDtcblx0YW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xufVxuXG4vKiBGYWRpbmcgZW50cmFuY2VzICAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cbi5hbmltYXRlX19mYWRlSW4ge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlaW47XG5cdGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93biB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fZmFkZUluRG93biB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVpbmRvd247XG5cdGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fZmFkZUluRG93bkJpZyB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVpbmRvd25iaWc7XG5cdGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdCB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdH1cbn1cblxuLmFuaW1hdGVfX2ZhZGVJbkxlZnQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlaW5sZWZ0O1xuXHRhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdH1cbn1cblxuLmFuaW1hdGVfX2ZhZGVJbkxlZnRCaWcge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlaW5sZWZ0YmlnO1xuXHRhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fZmFkZUluUmlnaHQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlaW5yaWdodDtcblx0YW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdH1cbn1cblxuLmFuaW1hdGVfX2ZhZGVJblJpZ2h0QmlnIHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZWlucmlnaHRiaWc7XG5cdGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fZmFkZUluVXAge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlaW51cDtcblx0YW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwQmlnIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdH1cbn1cblxuLmFuaW1hdGVfX2ZhZGVJblVwQmlnIHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZWludXBiaWc7XG5cdGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblRvcExlZnQge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblRvcExlZnQge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fZmFkZUluVG9wTGVmdCB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVpbnRvcGxlZnQ7XG5cdGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Ub3BMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVG9wUmlnaHQge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5Ub3BSaWdodCB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fZmFkZUluVG9wUmlnaHQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlaW50b3ByaWdodDtcblx0YW5pbWF0aW9uLW5hbWU6IGZhZGVJblRvcFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluQm90dG9tTGVmdCB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkJvdHRvbUxlZnQge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdH1cbn1cblxuLmFuaW1hdGVfX2ZhZGVJbkJvdHRvbUxlZnQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlaW5ib3R0b21sZWZ0O1xuXHRhbmltYXRpb24tbmFtZTogZmFkZUluQm90dG9tTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkJvdHRvbVJpZ2h0IHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkJvdHRvbVJpZ2h0IHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fZmFkZUluQm90dG9tUmlnaHQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlaW5ib3R0b21yaWdodDtcblx0YW5pbWF0aW9uLW5hbWU6IGZhZGVJbkJvdHRvbVJpZ2h0O1xufVxuXG4vKiBGYWRpbmcgZXhpdHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbi5hbmltYXRlX19mYWRlT3V0IHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZW91dDtcblx0YW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93biB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93biB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG5cdH1cbn1cblxuLmFuaW1hdGVfX2ZhZGVPdXREb3duIHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZW91dGRvd247XG5cdGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuXHR9XG59XG5cbi5hbmltYXRlX19mYWRlT3V0RG93bkJpZyB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVvdXRkb3duYmlnO1xuXHRhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuXHR9XG59XG5cbi5hbmltYXRlX19mYWRlT3V0TGVmdCB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVvdXRsZWZ0O1xuXHRhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG5cdH1cbn1cblxuLmFuaW1hdGVfX2ZhZGVPdXRMZWZ0QmlnIHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZW91dGxlZnRiaWc7XG5cdGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuXHR9XG59XG5cbi5hbmltYXRlX19mYWRlT3V0UmlnaHQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlb3V0cmlnaHQ7XG5cdGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuXHR9XG59XG5cbi5hbmltYXRlX19mYWRlT3V0UmlnaHRCaWcge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlb3V0cmlnaHRiaWc7XG5cdGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXAge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXAge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG5cdH1cbn1cblxuLmFuaW1hdGVfX2ZhZGVPdXRVcCB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVvdXR1cDtcblx0YW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuXHR9XG59XG5cbi5hbmltYXRlX19mYWRlT3V0VXBCaWcge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlb3V0dXBiaWc7XG5cdGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VG9wTGVmdCB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFRvcExlZnQge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fZmFkZU91dFRvcExlZnQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlb3V0dG9wbGVmdDtcblx0YW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRUb3BMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFRvcFJpZ2h0IHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFRvcFJpZ2h0IHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuXHR9XG59XG5cbi5hbmltYXRlX19mYWRlT3V0VG9wUmlnaHQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlb3V0dG9wcmlnaHQ7XG5cdGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VG9wUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0Qm90dG9tUmlnaHQge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dEJvdHRvbVJpZ2h0IHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fZmFkZU91dEJvdHRvbVJpZ2h0IHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZW91dGJvdHRvbXJpZ2h0O1xuXHRhbmltYXRpb24tbmFtZTogZmFkZU91dEJvdHRvbVJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dEJvdHRvbUxlZnQge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0Qm90dG9tTGVmdCB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fZmFkZU91dEJvdHRvbUxlZnQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlb3V0Ym90dG9tbGVmdDtcblx0YW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRCb3R0b21MZWZ0O1xufVxuXG4vKiBGbGlwcGVycyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXAge1xuXHRmcm9tIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG5cdFx0dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcblx0XHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuXHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuXHR9XG5cdDQwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcblx0XHR0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcblx0XHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuXHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuXHR9XG5cdDUwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcblx0XHR0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcblx0XHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcblx0fVxuXHQ4MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgwLjk1LCAwLjk1LCAwLjk1KSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcblx0XHR0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDAuOTUsIDAuOTUsIDAuOTUpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcblx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuXHR9XG5cdHRvIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG5cdFx0dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcblx0XHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXAge1xuXHRmcm9tIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG5cdFx0dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcblx0XHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuXHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuXHR9XG5cdDQwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcblx0XHR0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcblx0XHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuXHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuXHR9XG5cdDUwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcblx0XHR0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcblx0XHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcblx0fVxuXHQ4MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgwLjk1LCAwLjk1LCAwLjk1KSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcblx0XHR0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDAuOTUsIDAuOTUsIDAuOTUpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcblx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuXHR9XG5cdHRvIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG5cdFx0dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcblx0XHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcblx0fVxufVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZmxpcCB7XG5cdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcblx0YmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcDtcblx0YW5pbWF0aW9uLW5hbWU6IGZsaXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YIHtcblx0ZnJvbSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG5cdFx0dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcblx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblx0NDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG5cdFx0dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcblx0XHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcblx0fVxuXHQ2MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuXHRcdHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdDgwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG5cdFx0dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuXHR9XG5cdHRvIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuXHRcdHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgZmxpcEluWCB7XG5cdGZyb20ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuXHRcdHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcblx0XHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cdDQwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuXHRcdHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG5cdFx0LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuXHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG5cdH1cblx0NjAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcblx0XHR0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHQ4MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuXHRcdHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcblx0fVxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcblx0XHR0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fZmxpcEluWCB7XG5cdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuXHRiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBpbng7XG5cdGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWSB7XG5cdGZyb20ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuXHRcdHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcblx0XHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cdDQwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuXHRcdHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG5cdFx0LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuXHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG5cdH1cblx0NjAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcblx0XHR0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHQ4MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuXHRcdHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcblx0fVxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcblx0XHR0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBJblkge1xuXHRmcm9tIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcblx0XHR0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG5cdFx0LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuXHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHQ0MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcblx0XHR0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcblx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuXHR9XG5cdDYwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG5cdFx0dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0ODAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcblx0XHR0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG5cdH1cblx0dG8ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG5cdFx0dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG5cdH1cbn1cblxuLmFuaW1hdGVfX2ZsaXBJblkge1xuXHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcblx0YmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwaW55O1xuXHRhbmltYXRpb24tbmFtZTogZmxpcEluWTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHtcblx0ZnJvbSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcblx0XHR0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcblx0fVxuXHQzMCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcblx0XHR0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0dG8ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuXHRcdHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgZmxpcE91dFgge1xuXHRmcm9tIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuXHRcdHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuXHR9XG5cdDMwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuXHRcdHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG5cdFx0dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn1cblxuLmFuaW1hdGVfX2ZsaXBPdXRYIHtcblx0LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcblx0YW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG5cdC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG5cdGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwb3V0eDtcblx0YW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuXHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcblx0YmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkge1xuXHRmcm9tIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuXHRcdHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuXHR9XG5cdDMwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuXHRcdHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG5cdFx0dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmbGlwT3V0WSB7XG5cdGZyb20ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG5cdFx0dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG5cdH1cblx0MzAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG5cdFx0dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdHRvIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcblx0XHR0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuXG4uYW5pbWF0ZV9fZmxpcE91dFkge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuXHRhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcblx0LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcblx0YW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG5cdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuXHRiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBvdXR5O1xuXHRhbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG59XG5cbi8qIExpZ2h0c3BlZWQgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW5SaWdodCB7XG5cdGZyb20ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cdDYwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcblx0XHR0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdDgwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcblx0XHR0cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcblx0fVxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW5SaWdodCB7XG5cdGZyb20ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cdDYwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcblx0XHR0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdDgwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcblx0XHR0cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcblx0fVxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdH1cbn1cblxuLmFuaW1hdGVfX2xpZ2h0U3BlZWRJblJpZ2h0IHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRzcGVlZGlucmlnaHQ7XG5cdGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5SaWdodDtcblx0LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcblx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW5MZWZ0IHtcblx0ZnJvbSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblx0NjAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTIwZGVnKTtcblx0XHR0cmFuc2Zvcm06IHNrZXdYKC0yMGRlZyk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHQ4MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg1ZGVnKTtcblx0XHR0cmFuc2Zvcm06IHNrZXdYKDVkZWcpO1xuXHR9XG5cdHRvIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbkxlZnQge1xuXHRmcm9tIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHQ2MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMjBkZWcpO1xuXHRcdHRyYW5zZm9ybTogc2tld1goLTIwZGVnKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdDgwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDVkZWcpO1xuXHRcdHRyYW5zZm9ybTogc2tld1goNWRlZyk7XG5cdH1cblx0dG8ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHR9XG59XG5cbi5hbmltYXRlX19saWdodFNwZWVkSW5MZWZ0IHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRzcGVlZGlubGVmdDtcblx0YW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbkxlZnQ7XG5cdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG5cdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dFJpZ2h0IHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dFJpZ2h0IHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbi5hbmltYXRlX19saWdodFNwZWVkT3V0UmlnaHQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodHNwZWVkb3V0cmlnaHQ7XG5cdGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0UmlnaHQ7XG5cdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcblx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRMZWZ0IHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRMZWZ0IHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuXG4uYW5pbWF0ZV9fbGlnaHRTcGVlZE91dExlZnQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodHNwZWVkb3V0bGVmdDtcblx0YW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRMZWZ0O1xuXHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG5cdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59XG5cbi8qIFJvdGF0aW5nIGVudHJhbmNlcyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluIHtcblx0ZnJvbSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluIHtcblx0ZnJvbSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fcm90YXRlSW4ge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVpbjtcblx0YW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xuXHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcblx0dHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG5cdGZyb20ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cdHRvIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG5cdGZyb20ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cdHRvIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cbi5hbmltYXRlX19yb3RhdGVJbkRvd25MZWZ0IHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlaW5kb3dubGVmdDtcblx0YW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XG5cdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG5cdHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuXHRmcm9tIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblx0dG8ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG5cdGZyb20ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fcm90YXRlSW5Eb3duUmlnaHQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVpbmRvd25yaWdodDtcblx0YW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xuXHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcblx0dHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xuXHRmcm9tIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblx0dG8ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG5cdGZyb20ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fcm90YXRlSW5VcExlZnQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVpbnVwbGVmdDtcblx0YW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xuXHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuXHR0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG5cdGZyb20ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cdHRvIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcblx0ZnJvbSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblx0dG8ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuLmFuaW1hdGVfX3JvdGF0ZUluVXBSaWdodCB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZWludXByaWdodDtcblx0YW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcblx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG5cdHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbn1cblxuLyogUm90YXRpbmcgZXhpdHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXQge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdHRvIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0dG8ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbi5hbmltYXRlX19yb3RhdGVPdXQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVvdXQ7XG5cdGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7XG5cdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuXHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0dG8ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbi5hbmltYXRlX19yb3RhdGVPdXREb3duTGVmdCB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZW91dGRvd25sZWZ0O1xuXHRhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG5cdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG5cdHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdHRvIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuXG4uYW5pbWF0ZV9fcm90YXRlT3V0RG93blJpZ2h0IHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlb3V0ZG93bnJpZ2h0O1xuXHRhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0O1xuXHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcblx0dHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdHRvIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuXG4uYW5pbWF0ZV9fcm90YXRlT3V0VXBMZWZ0IHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlb3V0dXBsZWZ0O1xuXHRhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xuXHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuXHR0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdHRvIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbi5hbmltYXRlX19yb3RhdGVPdXRVcFJpZ2h0IHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlb3V0dXByaWdodDtcblx0YW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG5cdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuXHR0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG59XG5cbi8qIFNwZWNpYWxzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGluZ2Uge1xuXHQwJSB7XG5cdFx0LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcblx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcblx0fVxuXHQyMCUsXG5cdDYwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcblx0XHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuXHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuXHR9XG5cdDQwJSxcblx0ODAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgaGluZ2Uge1xuXHQwJSB7XG5cdFx0LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcblx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcblx0fVxuXHQyMCUsXG5cdDYwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcblx0XHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuXHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuXHR9XG5cdDQwJSxcblx0ODAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHR0byB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbi5hbmltYXRlX19oaW5nZSB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMik7XG5cdGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDIpO1xuXHQtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDIpO1xuXHRhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAyKTtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGluZ2U7XG5cdGFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcblx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcblx0dHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBqYWNrSW5UaGVCb3gge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG5cdH1cblx0NTAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcblx0fVxuXHQ3MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBqYWNrSW5UaGVCb3gge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG5cdH1cblx0NTAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcblx0fVxuXHQ3MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdH1cbn1cblxuLmFuaW1hdGVfX2phY2tJblRoZUJveCB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGphY2tpbnRoZWJveDtcblx0YW5pbWF0aW9uLW5hbWU6IGphY2tJblRoZUJveDtcbn1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgcm9sbEluIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHR9XG59XG5cbi5hbmltYXRlX19yb2xsSW4ge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsaW47XG5cdGFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxPdXQge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHJvbGxPdXQge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fcm9sbE91dCB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxvdXQ7XG5cdGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xufVxuXG4vKiBab29taW5nIGVudHJhbmNlcyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbiB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuXHR9XG5cdDUwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21JbiB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuXHR9XG5cdDUwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fem9vbUluIHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbWluO1xuXHRhbmltYXRpb24tbmFtZTogem9vbUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluRG93biB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cdH1cblx0NjAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcblx0XHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuXHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluRG93biB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cdH1cblx0NjAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcblx0XHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuXHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuXHR9XG59XG5cbi5hbmltYXRlX196b29tSW5Eb3duIHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbWluZG93bjtcblx0YW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5MZWZ0IHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG5cdFx0LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcblx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcblx0fVxuXHQ2MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5MZWZ0IHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG5cdFx0LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcblx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcblx0fVxuXHQ2MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG5cdH1cbn1cblxuLmFuaW1hdGVfX3pvb21JbkxlZnQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29taW5sZWZ0O1xuXHRhbmltYXRpb24tbmFtZTogem9vbUluTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblJpZ2h0IHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cdH1cblx0NjAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5SaWdodCB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcblx0XHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuXHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuXHR9XG5cdDYwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcblx0XHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuXHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuXHR9XG59XG5cbi5hbmltYXRlX196b29tSW5SaWdodCB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21pbnJpZ2h0O1xuXHRhbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5VcCB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcblx0XHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuXHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuXHR9XG5cdDYwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcblx0XHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuXHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluVXAge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG5cdFx0LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcblx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcblx0fVxuXHQ2MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG5cdFx0LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcblx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fem9vbUluVXAge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29taW51cDtcblx0YW5pbWF0aW9uLW5hbWU6IHpvb21JblVwO1xufVxuXG4vKiBab29taW5nIGV4aXRzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dCB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0NTAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXQge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdDUwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn1cblxuLmFuaW1hdGVfX3pvb21PdXQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tb3V0O1xuXHRhbmltYXRpb24tbmFtZTogem9vbU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXREb3duIHtcblx0NDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcblx0XHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuXHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dERvd24ge1xuXHQ0MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG5cdFx0LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcblx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG5cdH1cbn1cblxuLmFuaW1hdGVfX3pvb21PdXREb3duIHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbW91dGRvd247XG5cdGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjtcblx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuXHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dExlZnQge1xuXHQ0MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuXHR9XG5cdHRvIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHtcblx0NDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG5cdH1cbn1cblxuLmFuaW1hdGVfX3pvb21PdXRMZWZ0IHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbW91dGxlZnQ7XG5cdGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0TGVmdDtcblx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcblx0dHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0UmlnaHQge1xuXHQ0MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG5cdDQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcblx0fVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuXHR9XG59XG5cbi5hbmltYXRlX196b29tT3V0UmlnaHQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tb3V0cmlnaHQ7XG5cdGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7XG5cdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuXHR0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0VXAge1xuXHQ0MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0VXAge1xuXHQ0MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cdH1cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG5cdH1cbn1cblxuLmFuaW1hdGVfX3pvb21PdXRVcCB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21vdXR1cDtcblx0YW5pbWF0aW9uLW5hbWU6IHpvb21PdXRVcDtcblx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuXHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xufVxuXG4vKiBTbGlkaW5nIGVudHJhbmNlcyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHtcblx0ZnJvbSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHR9XG5cdHRvIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHtcblx0ZnJvbSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHR9XG5cdHRvIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fc2xpZGVJbkRvd24ge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZWluZG93bjtcblx0YW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuXHRmcm9tIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuXHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdH1cblx0dG8ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuXHRmcm9tIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuXHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdH1cblx0dG8ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHR9XG59XG5cbi5hbmltYXRlX19zbGlkZUluTGVmdCB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlaW5sZWZ0O1xuXHRhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xuXHRmcm9tIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHR9XG5cdHRvIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG5cdGZyb20ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuXHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdH1cblx0dG8ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHR9XG59XG5cbi5hbmltYXRlX19zbGlkZUluUmlnaHQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZWlucmlnaHQ7XG5cdGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluVXAge1xuXHRmcm9tIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHR9XG5cdHRvIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG5cdGZyb20ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuXHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdH1cblx0dG8ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHR9XG59XG5cbi5hbmltYXRlX19zbGlkZUluVXAge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZWludXA7XG5cdGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG59XG5cbi8qIFNsaWRpbmcgZXhpdHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuXHRmcm9tIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxuXHR0byB7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXREb3duIHtcblx0ZnJvbSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdH1cblx0dG8ge1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fc2xpZGVPdXREb3duIHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVvdXRkb3duO1xuXHRhbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcblx0ZnJvbSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdH1cblx0dG8ge1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcblx0ZnJvbSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdH1cblx0dG8ge1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuXHR9XG59XG5cbi5hbmltYXRlX19zbGlkZU91dExlZnQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZW91dGxlZnQ7XG5cdGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcblx0ZnJvbSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdH1cblx0dG8ge1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuXHRmcm9tIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0fVxuXHR0byB7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuXHR9XG59XG5cbi5hbmltYXRlX19zbGlkZU91dFJpZ2h0IHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVvdXRyaWdodDtcblx0YW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwIHtcblx0ZnJvbSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdH1cblx0dG8ge1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRVcCB7XG5cdGZyb20ge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHR9XG5cdHRvIHtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcblx0fVxufVxuXG4uYW5pbWF0ZV9fc2xpZGVPdXRVcCB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlb3V0dXA7XG5cdGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwO1xufVxuXG4ud2MtYXRjcC1wcm9kdWN0LWdyaWQgLnByb2R1Y3RzID4gZGl2IHtcblx0d2lkdGg6IDI3LjMyJSAhaW1wb3J0YW50O1xuXHRtYXJnaW4tdG9wOiA1cHggIWltcG9ydGFudDtcblx0bWFyZ2luLXJpZ2h0OiAzJSAhaW1wb3J0YW50O1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi1sZWZ0OiAzJSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LndjLWF0Y3AtcHJvZHVjdC1ncmlkIC5wcm9kdWN0cyA+IGRpdiB7XG5cdFx0d2lkdGg6IDk0JSAhaW1wb3J0YW50O1xuXHRcdG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDtcblx0XHRtYXJnaW4tcmlnaHQ6IDMlICFpbXBvcnRhbnQ7XG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuXHRcdG1hcmdpbi1sZWZ0OiAzJSAhaW1wb3J0YW50O1xuXHR9XG59XG4iXX0= */