/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Imports
	# Custom properties
	# Reset
	# Typography
	# Elements
	# Links
# Accessibility
# Layout
# Forms
# Header
	# Main navigation menu
# Content navigation
# Footer
# Infinite scroll
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Imports
--------------------------------------------------------------*/

/**
 * Custom Properties
 * aka CSS variables.
 *
 * @link: https://developer.mozilla.org/en-US/docs/Web/CSS/--*
 **/

:root {
	--pad: 2vw;
	--pad-neg: calc( var( --pad ) * -1 );
	--pad2: calc( var( --pad ) * 2 );

	--global-font-color: #000000;
	/* --global-font-family: "Crimson Text", serif; */
	--font-serif: 'Times New Roman', EBGaramond, Times, serif;
	--font-sans: Arial, Helvetica, sans-serif;
	--font-mono: 'NotCourier', Courier, 'Courier New', monospace;

	--global-font-size: 20;
	--global-font-line-height: 1.4;
	/* --highlight-font-family: "Roboto Condensed", "Helvetica Neue", "Arial Narrow", sans-serif; */
	--content-width: 70vw;
	--dropdown-symbol-width: 0.7em;
	--menubar-width: 45px;

	/* Custom editor colors */
	--color-theme-primary: #e36d60;
	--color-theme-secondary: #41848f;
	--color-theme-yellow: #ffff00;
	--color-theme-blue: rgb(32, 145, 252);

	--color-theme-black: #000000;
	--color-theme-grey: #95a5a6;
	--color-theme-white: #ffffff;

	--color-link: #000;
	--color-link-visited: #000;/*#333;*/
	--color-link-active: #000;/*#00a0d2;*/

	--color-quote-border: #000;
	--color-quote-citation: #6c7781;

	/* Custom editor font sizes */

	/* default font-sizes, used for mobile */
	--font-size-small: 0.8rem;
	--font-size-regular: 1rem;
	--font-size-big: 1.5rem;
	--font-size-large: 2.2rem;
	--font-size-larger: 2.8rem;

	--font-size-intro: 1.8rem;

	--line-height-header: 1.1;

	--shadow-size: 1em;
	--shadow-size-negative: -1em;
	--box-shadow-color: rgba(0, 0, 0, 0.3);
	--box-shadow: 0 0 var(--shadow-size) var(--box-shadow-color);
	--box-shadow-top-inset: inset 0 var(--shadow-size) var(--shadow-size) var(--box-shadow-color);
	--box-shadow-bottom-inset: inset 0 var(--shadow-size-negative) var(--shadow-size) var(--box-shadow-color);
	--box-shadow-bottom: 0 var(--shadow-size) var(--shadow-size) var(--box-shadow-color);
	--box-shadow-top: 0 var(--shadow-size-negative) var(--shadow-size) var(--box-shadow-color);
	--box-shadow-left: var(--shadow-size-negative) 0 var(--shadow-size) var(--box-shadow-color);
	--box-shadow-right: var(--shadow-size) 0 var(--shadow-size) var(--box-shadow-color);

	--z-menu: 1000;
	--z-header: 0;
	--z-interface: 10;

	--bounce: cubic-bezier(1, .005, .47, 1.375);
	--bounce2: cubic-bezier(.2,-1.5,.8,2.2);
}

@media screen and (min-width: 37.5em) {

	:root {

		/* responsive font-sizes for desktop */
		--font-size-small: calc(20 / var(--global-font-size) * 1.5vw);
		--font-size-regular: calc(28 / var(--global-font-size) * 1.5vw);
		--font-size-big: calc(36 / var(--global-font-size) * 1.5vw);
		--font-size-large: calc(60 / var(--global-font-size) * 1.5vw);
		--font-size-larger: calc(72 / var(--global-font-size) * 1.5vw);

		--font-size-intro: calc(48 / var(--global-font-size) * 1.5vw);
	}
}

/*
CSS normalization based in part on normalize.css by
Nicolas Gallagher and Jonathan Neal http://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
	line-height: 1.15; /* 1 */
	-webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
	margin: 0;
}

link {
	display: none;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
	-webkit-box-sizing: content-box;
	        box-sizing: content-box; /* 1 */
	height: 0; /* 1 */
	overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
	font-family: monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
	border-bottom: none; /* 1 */
	text-decoration: underline; /* 2 */
	-webkit-text-decoration: underline dotted;
	        text-decoration: underline dotted; /* 2 */  /* phpcs:ignore */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
	font-family: monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

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

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
	border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
	font-family: inherit; /* 1 */
	font-size: 100%; /* 1 */
	line-height: 1.15; /* 1 */
	margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input {
	overflow: visible; /* 1 */
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select {
	text-transform: none; /* 1 */
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

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

/**
 * Remove the inner border and padding in Firefox.
 */

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

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

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

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box; /* 1 */
	color: inherit; /* 2 */
	display: table; /* 1 */
	max-width: 100%; /* 1 */
	padding: 0; /* 3 */
	white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box; /* 1 */
	padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

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

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
	-webkit-appearance: textfield; /* 1 */
	outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

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

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

/* stylelint-disable */

::-webkit-file-upload-button {
	-webkit-appearance: button; /* 1 */
	font: inherit; /* 2 */
}

/* stylelint-enable */

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
	display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
	display: none;
}

/**
 * Hide lazy load placeholders when browser does not have JS enabled.
 * Should override everything, therefore !important.
 */

.no-js .lazy {
	display: none !important;
}

@font-face {
	font-family: 'NotCourier';
	font-style: normal;
	font-weight: normal;
	src: local('NotCourier'), url('../fonts/notcouriersans/NotCourierSans.woff') format('woff');
}

/* @font-face {
	font-family: 'Freeserif';
	font-style: normal;
	font-weight: normal;
	src: local('Freeserif'), url('../fonts/freeserif/FreeSerif.ttf') format('truetype'), url('../fonts/freeserif/FreeSerif.otf') format('opentype');
} */

/* embed EB_Garamond from ../fonts/EB_Garamond/EBGaramond-Italic-VariableFont_wght.ttf and EBGaramond-VariableFont_wght.ttf */

@font-face {
	font-family: 'EBGaramond';
	font-style: normal;
	font-weight: normal;
	src: local('EBGaramond'), url('../fonts/EB_Garamond/EBGaramond-VariableFont_wght.ttf') format('truetype');
}

@font-face {
	font-family: 'EBGaramond';
	font-style: italic;
	font-weight: normal;
	src: local('EBGaramond'), url('../fonts/EB_Garamond/EBGaramond-Italic-VariableFont_wght.ttf') format('truetype');
}

.sans {
	font-family: Arial, Helvetica, sans-serif;
	font-family: var(--font-sans);
}

.serif {
	font-family: 'Times New Roman', EBGaramond, Times, serif;
	font-family: var(--font-serif);
}

.mono {
	font-family: 'NotCourier', Courier, 'Courier New', monospace;
	font-family: var(--font-mono);
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/

/* stylelint-disable */

html{
	font-size: 24px; /* base font size */
}

body,
button,
input,
select,
optgroup,
textarea {
	color: #000000;
	color: var(--global-font-color);
	font-family: Arial, Helvetica, sans-serif;
	font-family: var(--font-sans);
	line-height: 1.4;
	line-height: var(--global-font-line-height);
	font-size: 1rem;
	font-size: 1rem;
	font-size: var( --font-size-regular );
	font-weight: normal !important;
}

b, strong {
	font-weight: normal !important;
}

@media screen and (min-width: 37.5em) {
	body,
	button,
	input,
	select,
	optgroup,
	textarea {
		/* font-size: var(--font-size-regular); */
		/* font-size: 1.8vw; */
		font-size: 1rem;
		font-size: var(--font-size-regular);
	}
}

/* stylelint-enable */

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--highlight-font-family);
	/* font-stretch: condensed; */
	clear: both;
	font-weight: normal; 
	line-height: 1.1; 
	line-height: var( --line-height-header );
}

h1,
h2 {
	font-size: 2.2rem;
	font-size: var( --font-size-large );
}

.entry-header h1.entry-title,
.page-header .page-title {
	font-size: 2.2rem;
	font-size: var(--font-size-large);
	font-family: 'Times New Roman', EBGaramond, Times, serif;
	font-family: var( --font-serif );
	margin-top: 0;
/* 	margin-bottom: 1em; */
    max-width: 70vw;
    max-width: var( --content-width );
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote,
q {
	quotes: "" "";
}

blockquote {
	border-left: 4px solid #000;
	border-left: 4px solid var(--color-quote-border);
	margin: 0;
}

.entry-content > blockquote {
	padding-left: 1em;
	margin-left: 1.5rem;
}

@media screen and (min-width: 48em) {

	.entry-content > blockquote {
		margin-left: auto;
	}
}

blockquote cite {
	color: #6c7781;
	color: var(--color-quote-citation);
	font-size: 13px;
	margin-top: 1em;
	position: relative;
	font-style: normal;
}

address {
	margin: 0 0 1.5em;
}

/* stylelint-disable */

pre {
	/* background: #eee;
	font-family: "Courier 10 Pitch", Courier, monospace;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin-bottom: 1.5em;
	max-width: 100%;
	overflow: auto;
	padding: 1.5em; */
}

/* stylelint-enable */

code,
kbd,
tt,
var {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	font-size: 0.8rem;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/

/* stylelint-disable */

html {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

/* stylelint-enable */

/**
 * Inherit box-sizing to make it easier to change the property for
 * components that leverage other behavior; see
 * http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */

*,
*::before,
*::after {
	-webkit-box-sizing: inherit;
	        box-sizing: inherit;
}

/* stylelint-disable */

body {
	background: var( --theme-color-white );
	/* Fallback for when there is no custom background color defined. */
}

/* stylelint-enable */

/* stylelint-disable */

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

/* stylelint-enable */

ul,
ol {
	margin: 0 0 1.5em 1.5em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* stylelint-disable */

img {
	display: block;
	height: auto;
	max-width: 100%;
}

/* stylelint-enable */

/* Extra wide images within figure tags don't overflow the content area. */

figure {
	margin: 0.5em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

date {
	line-height: 1.1;
	line-height: var( --line-height-header );
}

figcaption {
	font-family: 'NotCourier', Courier, 'Courier New', monospace;
	font-family: var( --font-mono );
	max-width: 50rem;
	margin: 0 auto;
	font-size: 0.8rem !important;
	font-size: var( --font-size-small ) !important;
	padding-bottom: 2vw;
	padding-bottom: var( --pad );
}

em {
	/* font-style: normal; */
}

strong {
	font-style: normal;
}

p.has-indented-attribute {
	padding-left: 2em;
}

/*--------------------------------------------------------------
# Links
--------------------------------------------------------------*/

/* stylelint-disable */

a {
	color: black;
	text-decoration: none;
}

button, 
a{
	color: black;
	border-bottom: 1px solid #000000;
	border-bottom: 1px solid var( --color-theme-black );
	text-decoration: none;	
}

button > *, a > * {
		border-bottom: none;
	}

button:hover,
	button:focus,
	button:active,
	a:hover,
	a:focus,
	a:active {
		/* color: var(--color-link-active); */
		border-bottom: 2px solid #000000;
		border-bottom: 2px solid var( --color-theme-black );
	}

button:focus, a:focus {
		outline: thin dotted	
	}

button:hover,
	button	:active,
	a:hover,
	a	:active {
		outline: 0;
	}

.tribe-events-content a, .page-content a, .entry-content a, .entry-summary a {
		font-family: 'Times New Roman', EBGaramond, Times, serif;
		font-family: var( --font-serif );
		font-style: italic;
		font-size: 1.1em;
	}

.block-link {
	display: inline;
}

.block-link:before {
		content: "";
		display: block;
	}

/* stylelint-enable */

h1 a,
a h1 {
	/* box-shadow: inset 0 -0.2rem 0 #000, inset 0 -0.4rem 0 #fff; */
	/* text-shadow: -2px 2px 0px black, 2px 2px 0px black, 2px -2px 0px black, -2px -2px 0px black; */
	/* text-decoration: none; */
	/* transition: box-shadow 0.3s ease; */
}

h1 a:hover,
h1 a:focus,
h1 a:active,
a h1:hover,
a h1:focus,
a h1:active {
	/* color: var(--color-link-active); */
	/* box-shadow: inset 0 -0.1rem 0 #000, inset 0 -0.4rem 0 #fff; */
}

.fancy a {
	/* display: inline-block; */
	border: none;
	-webkit-transition: border .2s cubic-bezier(.2,-1.5,.8,2.2), color .4s cubic-bezier(.2,-1.5,.8,2.2);
	transition: border .2s cubic-bezier(.2,-1.5,.8,2.2), color .4s cubic-bezier(.2,-1.5,.8,2.2);
	-webkit-transition: border .2s var(--bounce2), color .4s var(--bounce2);
	transition: border .2s var(--bounce2), color .4s var(--bounce2);
	text-decoration: none;
	font-size: 1.2em;
	border-bottom: 1px solid #000000;
	border-bottom: 1px solid var( --color-theme-black );
	color: black;
}

.fancy a:hover {
		color: #000000 !important;
		color: var(--color-theme-black) !important;
		border-bottom: 3px solid #000000;
		border-bottom: 3px solid var( --color-theme-black );
		border-color: #000000 !important;
		border-color: var( --color-theme-black ) !important;
		/* font-size: 1.15em; */
		/* animation: rubberBand 1s 1; */
	}

.inverted .fancy a:hover {
		color: #ffff00 !important;
		color: var(--color-theme-yellow) !important;
		border-bottom: 3px solid #ffff00;
		border-bottom: 3px solid var( --color-theme-yellow );
		border-color: #ffff00 !important;
		border-color: var( --color-theme-yellow ) !important;
		/* font-size: 1.15em; */
		/* animation: rubberBand 1s 1; */
	}

.inverted a {
	color: #ffffff;
	color: var( --color-theme-white );
	border-color: #ffffff;
	border-color: var( --color-theme-white );
}

.inverted a:hover {
	color: #ffff00;
	color: var( --color-theme-yellow );
	border-color: #ffff00;
	border-color: var( --color-theme-yellow );
	text-decoration: none;
}

.col-2,
.col-3 {
	display: block;
}

.col-2.nb > *, .col-3.nb > * {
		border: none !important;
	}

.col-2 > *,
.col-3 > * {
	padding: 2vw;
	padding: var(--pad);
}

.col-2 > *:empty, .col-3 > *:empty {
		padding: 0;
	}

.col-2 > *:nth-child (even) {
	border-left: none;
}

.mw-c {
	max-width: none;
}

a.cln {
	border-bottom: none;
}

a.cln:hover {
		border-bottom: none;
	}

@media screen and (min-width: 37.5em) {

	.mw-c {
		max-width: 70vw;
	}

	.col-2,
	.col-3 {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
	}

	.col-2 > *,
	.col-3 > * {
		grid-column: span 2;
	}

	.col-2 > *:nth-child(odd),
	.col-3 > *:nth-child(odd) {
		border-right: 1px solid #000000;
		border-right: 1px solid var(--color-theme-black);
	}
}

/* adjust col-3 for wider screens */

@media screen and (min-width: 60em) {

	.col-3 {
		display: grid;
		grid-template-columns: repeat(6, 1fr);
	}

	.col-3 > * {
		border-right: 1px solid #000000;
		border-right: 1px solid var(--color-theme-black);
		grid-column: span 2;
	}

	/* one dangling article. center it and add border */
	.col-3 > *:nth-last-child(1):nth-child(3n+1) {
		grid-column: 3 / span 2;
		border-left: 1px solid #000000;
		border-left: 1px solid var(--color-theme-black);
	}

	/* two dangling articles. center + border */
	.col-3 > *:nth-last-child(2):nth-child(3n+1) {
		grid-column: 2/span 2;
	}

	.col-3 > *:nth-last-child(1):nth-child(3n+2) {
		/* border-right: 1px solid var(--color-theme-black); */
	}

	.col-3 > *:nth-child(3n) {
		border-right: none;
	}
}

.inverted.col-2 > *:nth-child(2) {
	border-left: 1px solid #ffff00;
	border-left: 1px solid var(--color-theme-yellow);
}

/*--------------------------------------------------------------
# Imports Partials
--------------------------------------------------------------*/

/* Marquee styles */

.marquee {
	--gap: 1rem;
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	overflow: hidden;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
	grid-gap: var(--gap);
	gap: var(--gap);
	border-bottom: 1px solid black;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	background-color: white;
	background-color: var(--marquee-bg, white);
	-webkit-box-shadow: 0 -1em 1em rgba(0, 0, 0, 0.3);
	        box-shadow: 0 -1em 1em rgba(0, 0, 0, 0.3);
	-webkit-box-shadow: var(--box-shadow-top);
	        box-shadow: var(--box-shadow-top);
}

.marquee__content {
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: distribute;
	    justify-content: space-around;
	grid-gap: var(--gap);
	gap: var(--gap);
	min-width: 100%;
	-webkit-animation: scroll 10s linear infinite;
	        animation: scroll 10s linear infinite;
	-webkit-animation: scroll var(--marquee-duration, 10s) linear infinite;
	        animation: scroll var(--marquee-duration, 10s) linear infinite;
	list-style: none;
	margin: 0;
}

.marquee__content p {
	margin: 0;
}

@-webkit-keyframes scroll {
	from {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}

	to {
		-webkit-transform: translateX(calc(-100% - var(--gap)));
		        transform: translateX(calc(-100% - var(--gap)));
	}
}

@keyframes scroll {
	from {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}

	to {
		-webkit-transform: translateX(calc(-100% - var(--gap)));
		        transform: translateX(calc(-100% - var(--gap)));
	}
}

/* Pause animation when reduced-motion is set */

@media (prefers-reduced-motion: reduce) {
	.marquee__content {
		-webkit-animation-play-state: paused !important;
		        animation-play-state: paused !important;
	}
}

/* Reverse animation */

.marquee--reverse .marquee__content {
	animation-direction: reverse;
}

/* Pause on hover */

.marquee--hover-pause:hover .marquee__content {
	-webkit-animation-play-state: paused;
	        animation-play-state: paused;
}

/* Attempt to size parent based on content. Keep in mind that the parent width is equal to both content containers that stretch to fill the parent. */

.marquee--fit-content {
	max-width: -webkit-fit-content;
	max-width: -moz-fit-content;
	max-width: fit-content;
}

/* A fit-content sizing fix: Absolute position the duplicate container. This will set the size of the parent wrapper to a single child container. Shout out to Olavi's article that had this solution 👏 @link: https://olavihaapala.fi/2021/02/23/modern-marquee.html  */

.marquee--pos-absolute .marquee__content:last-child {
	position: absolute;
	top: 0;
	left: 0;
}

/* Enable position absolute animation on the duplicate content (last-child) */

.enable-animation .marquee--pos-absolute .marquee__content:last-child {
	-webkit-animation-name: scroll-abs;
	        animation-name: scroll-abs;
}

@-webkit-keyframes scroll-abs {
	from {
		-webkit-transform: translateX(calc(100% + var(--gap)));
		        transform: translateX(calc(100% + var(--gap)));
	}

	to {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
}

@keyframes scroll-abs {
	from {
		-webkit-transform: translateX(calc(100% + var(--gap)));
		        transform: translateX(calc(100% + var(--gap)));
	}

	to {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
}

/* fixed marquee bar */

.marquee-bar {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: clip;
	width: 100%;
	border-bottom: 1px solid black;
}

.marquee-bar ul {
		margin: 0;
		padding: 0;
		list-style: none;
	}

.marquee-bar ul li {
			display: inline;
		}

.marquee-bar ul li::after {
				content: " | ";
			}

.site-header {
	padding: 0;
	margin: 0 45px 0 0;
	margin: 0 var(--menubar-width) 0 0;
	overflow: hidden;
	-webkit-transition: background-color 0.3s ease;
	transition: background-color 0.3s ease;
	position: relative;
	z-index: 0;
	z-index: var(--z-header);
}

.site-header .newsletter-signup svg circle {
			-webkit-transition: fill 0.3s ease;
			transition: fill 0.3s ease;
		}

.site-header .newsletter-signup:hover svg circle {
			fill: #ffffff !important;
			fill: var(--color-theme-white) !important;
		}

.site-header .header-image svg .fill {
		-webkit-transition: fill 0.6s ease;
		transition: fill 0.6s ease;
	}

.site-header:hover {
		background-color: #ffff00;
		background-color: var(--color-theme-yellow);
	}

.site-header:hover .header-image svg .fill {
			fill: #ffff00;
			fill: var(--color-theme-yellow);
		}

.full-width {
	margin: 0 0 0 calc(2vw * -1);
	margin: 0 0 0 calc(var(--pad) * -1);
}

.header-image {
	height: 5em;
	overflow: hidden;
	padding-right: 3em;
	position: relative;
}

.header-image svg {
		position: absolute;
		bottom: 0;
		max-width: 85vw;
	}

@media screen and (min-width: 37.5em) {

.header-image {
		height: 8em
}

		.header-image svg {
			max-width: 90vw;
			bottom: -0.5rem;
		}
	}

a.home-link {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	overflow: hidden;
}

.newsletter-signup {
	position: absolute;
	top: 0;
	z-index: 1;
	right: 2vw;
	right: var(--pad);
}

@media screen and (min-width: 37.5em) {

.newsletter-signup {
		right: 45px;
		right: var(--menubar-width)
}
	}

.signup-link {
	position: absolute;
	width: 25vw;
	top: -12vw;
	right: 0;
}

@media screen and (min-width: 37.5em) {

	.signup-link {
		width: 15vw;
		top: -7.5vw;
	}
}

/* shadow on the header for pages that dont have an element that drop the shadow there */

.page-template .site-main, .page-template-default .site-main {
		position: relative;
	}

.page-template .site-main::before, .page-template-default .site-main::before {
			content: "";
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100px;
			-webkit-box-shadow: 0 -1em 1em rgba(0, 0, 0, 0.3);
			        box-shadow: 0 -1em 1em rgba(0, 0, 0, 0.3);
			-webkit-box-shadow: var(--box-shadow-top);
			        box-shadow: var(--box-shadow-top);
			z-index: 0;
			z-index: var(--z-header);
			pointer-events: none;
		}

.socials {
	padding: 0;
	margin: 0;
	list-style: none;
	position: absolute;
	top: 10px;
	left: 2vw;
	left: var(--pad);
}

.socials a {
		border-bottom: 0;
	}

.socials li {
		display: inline;
	}

.socials li svg {
			width: 2vw;
			min-width: 30px;
			max-width: 60px;
			height: 2vw;
			min-height: 30px;
			max-height: 60px;
			-webkit-transition: fill 0.3s ease;
			transition: fill 0.3s ease;
		}

.socials li:hover svg {
			fill: white;
		}

/* @import "partials/_dossier.css"; */

.flickity-slider .slide {
        position: relative;
        width: 100%;
        padding-bottom: 50%;
        height: 0;
        overflow: hidden;
        min-height: 400px;
    }

.flickity-slider .slide-content-wrapper {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

.flickity-slider .slide-content-wrapper h3 {
            margin: 0;
            padding-left: 2vw;
            padding-left: var( --pad );
            /* font-family: var( --font-serif ); */
        }

.flickity-slider .slide-content {
        position: absolute;
        top: 4.5rem;
        left: 0;
        right: 0;
        bottom: 0;
    }

.flickity-slider .video-oembed,
    .flickity-slider .slide-bg {
        position: absolute;
        top: 0;
        left: 0;
        right: calc( 25% - 2vw / 2 );
        right: calc( 25% - var( --pad ) / 2 );
        bottom: 0;
    }

.flickity-slider .has-video {
        cursor: pointer;
    }

.flickity-slider .video-oembed:before,
        .flickity-slider .video-oembed:after {
            content: '';
            display: block;
            position: absolute;
            top: 50%;
            left: 50%;
            -webkit-transform: translate( -50%, -50% );
                    transform: translate( -50%, -50% );
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
        }

.flickity-slider .video-oembed:before {
            --button-size: 4vw;
            --half-size: calc( var( --button-size ) / 2 );
            width: var( --button-size );
            height: var( --button-size );
            border-style: solid;
            border-width: var( --half-size ) 0px var( --half-size ) var( --button-size );
            border-color: transparent transparent transparent white;
            -webkit-transition: all 0.3s cubic-bezier(.2,-1.5,.8,2.2);
            transition: all 0.3s cubic-bezier(.2,-1.5,.8,2.2);
            -webkit-transition: all 0.3s var( --bounce2 );
            transition: all 0.3s var( --bounce2 );
        }

.flickity-slider .video-oembed:after {
            --button-size: 8vw;
            --half-size: calc( var( --button-size ) / 2 );
            width: var( --button-size );
            height: var( --button-size );
            /* border: solid 1px white; */
            border-radius: 50%;
            -webkit-transform: translate( -55%, -50% );
                    transform: translate( -55%, -50% );
            background-color: rgba( 255, 255, 255, 0.5 );
            -webkit-transition: all 0.6s cubic-bezier(.2,-1.5,.8,2.2);
            transition: all 0.6s cubic-bezier(.2,-1.5,.8,2.2);
            -webkit-transition: all 0.6s var( --bounce2 );
            transition: all 0.6s var( --bounce2 );
        }

.flickity-slider .video-oembed iframe {
            width: 100%;
            height: 100%;
            display: none;
        }

.flickity-slider .video-oembed:hover:after {
                --button-size: 0px;
                background-color: rgba( 255, 255, 255, .7 );
            }

.flickity-slider .video-oembed:hover:before {
                --button-size: 60px;
            }

.flickity-slider .video-oembed.hide-play-button:before,
            .flickity-slider .video-oembed.hide-play-button:after {
                display: none;
            }

.flickity-slider .slide-bg {
        background-size: cover;
        background-position: center center;
    }

.flickity-slider .slide-descr {
        background-color: #ffffff;
        background-color: var( --color-theme-white );
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        width: 100%;
        padding: 0 2vw;
        padding: 0 var( --pad );
        -webkit-transition: -webkit-transform 0.5s ease;
        transition: -webkit-transform 0.5s ease;
        transition: transform 0.5s ease;
        transition: transform 0.5s ease, -webkit-transform 0.5s ease;
        -webkit-transform: translateX( 75% );
                transform: translateX( 75% );
        overflow-y: scroll;
        -webkit-box-shadow: -10px 0 10px rgba(0, 0, 0, 0.3);
                box-shadow: -10px 0 10px rgba(0, 0, 0, 0.3);
        -webkit-box-shadow: -10px 0 10px var( --box-shadow-color );
                box-shadow: -10px 0 10px var( --box-shadow-color );
        z-index: 10;
    }

.flickity-slider .slide .slide-descr.hover {
        -webkit-transform: translateX( 0 );
                transform: translateX( 0 );
    }

.carousel-wrapper {
    position: relative;
}

.carousel-wrapper .next-speaker {
        position: relative;
        z-index: 10;
        z-index: var( --z-interface );
        cursor: e-resize;
        padding-left: 2vw;
        padding-left: var( --pad );
    }

.carousel-wrapper .carousel-counter {
        position: absolute;
        right: 2vw;
        right: var( --pad );
    }

@media screen and (min-width: 37.5em) {

        .flickity-slider .slide-descr {
            width: 50%;
/*             width: calc(50% - (var(--pad)/2)); */
            -webkit-transform: translateX( 50% );
                    transform: translateX( 50% );
        }
    
        .flickity-slider .slide-descr.hover {
            -webkit-transform: translateX( 0 );
                    transform: translateX( 0 );
        }

    .carousel-wrapper {
        position: relative;
    }
    
        .carousel-wrapper .next-speaker {
            position: absolute;
            right: 2vw;
            right: var( --pad );
            z-index: 10;
            z-index: var( --z-interface );
            cursor: e-resize;
            padding-left: 0;
        }
    
        .carousel-wrapper .carousel-counter {
            display: inline;
            position: absolute;
            left: 50%;
            right: auto;
            -webkit-transform: translateX(-50%);
                    transform: translateX(-50%);
            z-index: 10;
            z-index: var( --z-interface );
        }
}

.icon {
}

.icon:after {
	display: inline-block;
	content: '';
	background-repeat: no-repeat;
	background-position: center center;
}

.icon-after:after {
	margin-left: 0.5rem;
}

.icon:before {
	display: inline-block;
	content: '';
	background-repeat: no-repeat;
	background-position: center center;
}

.icon-before::before {
	margin-right: 0.5rem;
}

.icon-hide-text {
	
}

.icon-arrow-e.icon-before:before,
.icon-arrow-e.icon-after:after {
	background-image: url( '../svg/arrow-e.svg' );
	background-size: 24px 16px;
	width: 24px;
	height: 16px;
}

.icon-arrow-w.icon-before:before,
.icon-arrow-w.icon-after:after {
	background-image: url( '../svg/arrow-w.svg' );
	background-size: 24px 16px;
	width: 24px;
	height: 16px;
}

.pulse {
	-webkit-animation-name: pulse;
	animation-name: pulse;
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}

@-webkit-keyframes pulse {
	0% {
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
	50% {
		-webkit-transform: scale3d(1.05, 1.05, 1.05);
		transform: scale3d(1.05, 1.05, 1.05);
	}
	100% {
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
}

@-webkit-keyframes fade-in {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

@-webkit-keyframes fade-out {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

@keyframes pulse {
	0% {
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
	50% {
		-webkit-transform: scale3d(1.05, 1.05, 1.05);
		transform: scale3d(1.2, 1.2, 1.2);
	}
	100% {
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
}

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

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

@-webkit-keyframes wobble-hor-bottom {
	0%,
	100% {
			  -webkit-transform: translateX(0%);
			          transform: translateX(0%);
			  -webkit-transform-origin: 50% 50%;
			          transform-origin: 50% 50%;
	}
	15% {
			  -webkit-transform: translateX(-30px) rotate(-6deg);
			          transform: translateX(-30px) rotate(-6deg);
	}
	30% {
			  -webkit-transform: translateX(15px) rotate(6deg);
			          transform: translateX(15px) rotate(6deg);
	}
	45% {
			  -webkit-transform: translateX(-15px) rotate(-3.6deg);
			          transform: translateX(-15px) rotate(-3.6deg);
	}
	60% {
			  -webkit-transform: translateX(9px) rotate(2.4deg);
			          transform: translateX(9px) rotate(2.4deg);
	}
	75% {
			  -webkit-transform: translateX(-6px) rotate(-1.2deg);
			          transform: translateX(-6px) rotate(-1.2deg);
	}
  }

@keyframes wobble-hor-bottom {
	0%,
	100% {
			  -webkit-transform: translateX(0%);
			          transform: translateX(0%);
			  -webkit-transform-origin: 50% 50%;
			          transform-origin: 50% 50%;
	}
	15% {
			  -webkit-transform: translateX(-30px) rotate(-6deg);
			          transform: translateX(-30px) rotate(-6deg);
	}
	30% {
			  -webkit-transform: translateX(15px) rotate(6deg);
			          transform: translateX(15px) rotate(6deg);
	}
	45% {
			  -webkit-transform: translateX(-15px) rotate(-3.6deg);
			          transform: translateX(-15px) rotate(-3.6deg);
	}
	60% {
			  -webkit-transform: translateX(9px) rotate(2.4deg);
			          transform: translateX(9px) rotate(2.4deg);
	}
	75% {
			  -webkit-transform: translateX(-6px) rotate(-1.2deg);
			          transform: translateX(-6px) rotate(-1.2deg);
	}
  }

@-webkit-keyframes slide-in-blurred-top {
	0% {
			  -webkit-transform: translateY(-1000px) scaleY(2.5) scaleX(0.2);
			          transform: translateY(-1000px) scaleY(2.5) scaleX(0.2);
			  -webkit-transform-origin: 50% 0%;
			          transform-origin: 50% 0%;
			  -webkit-filter: blur(40px);
			          filter: blur(40px);
				opacity: 0;
	}
	100% {
			  -webkit-transform: translateY(0) scaleY(1) scaleX(1);
			          transform: translateY(0) scaleY(1) scaleX(1);
			  -webkit-transform-origin: 50% 50%;
			          transform-origin: 50% 50%;
			  -webkit-filter: blur(0);
			          filter: blur(0);
				opacity: 1;
	}
  }

@keyframes slide-in-blurred-top {
	0% {
			  -webkit-transform: translateY(-1000px) scaleY(2.5) scaleX(0.2);
			          transform: translateY(-1000px) scaleY(2.5) scaleX(0.2);
			  -webkit-transform-origin: 50% 0%;
			          transform-origin: 50% 0%;
			  -webkit-filter: blur(40px);
			          filter: blur(40px);
				opacity: 0;
	}
	100% {
			  -webkit-transform: translateY(0) scaleY(1) scaleX(1);
			          transform: translateY(0) scaleY(1) scaleX(1);
			  -webkit-transform-origin: 50% 50%;
			          transform-origin: 50% 50%;
			  -webkit-filter: blur(0);
			          filter: blur(0);
				opacity: 1;
	}
  }

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

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

/*
"Say 'Nevermore,'" said Shadow.
"Fuck you," said the raven.”
*/

.sh-t {
	-webkit-box-shadow: inset 0 1em 1em rgba(0, 0, 0, 0.3);
	        box-shadow: inset 0 1em 1em rgba(0, 0, 0, 0.3);
	-webkit-box-shadow: var(--box-shadow-top-inset);
	        box-shadow: var(--box-shadow-top-inset);
}

.sh-to {
	-webkit-box-shadow: 0 -1em 1em rgba(0, 0, 0, 0.3);
	        box-shadow: 0 -1em 1em rgba(0, 0, 0, 0.3);
	-webkit-box-shadow: var(--box-shadow-top);
	        box-shadow: var(--box-shadow-top);
}

.sh-b {
	-webkit-box-shadow: inset 0 -1em 1em rgba(0, 0, 0, 0.3);
	        box-shadow: inset 0 -1em 1em rgba(0, 0, 0, 0.3);
	-webkit-box-shadow: var(--box-shadow-bottom-inset);
	        box-shadow: var(--box-shadow-bottom-inset);
}

.sh-bo {
	-webkit-box-shadow: 0 1em 1em rgba(0, 0, 0, 0.3);
	        box-shadow: 0 1em 1em rgba(0, 0, 0, 0.3);
	-webkit-box-shadow: var(--box-shadow-bottom);
	        box-shadow: var(--box-shadow-bottom);
}

.sh-tb {
	-webkit-box-shadow: inset 0 1em 1em rgba(0, 0, 0, 0.3), inset 0 -1em 1em rgba(0, 0, 0, 0.3);
	        box-shadow: inset 0 1em 1em rgba(0, 0, 0, 0.3), inset 0 -1em 1em rgba(0, 0, 0, 0.3);
	-webkit-box-shadow: var(--box-shadow-top-inset), var(--box-shadow-bottom-inset);
	        box-shadow: var(--box-shadow-top-inset), var(--box-shadow-bottom-inset);
}

.sh-tbo {
	-webkit-box-shadow: 0 -1em 1em rgba(0, 0, 0, 0.3), 0 1em 1em rgba(0, 0, 0, 0.3);
	        box-shadow: 0 -1em 1em rgba(0, 0, 0, 0.3), 0 1em 1em rgba(0, 0, 0, 0.3);
	-webkit-box-shadow: var(--box-shadow-top), var(--box-shadow-bottom);
	        box-shadow: var(--box-shadow-top), var(--box-shadow-bottom);
}

/* .shadow-t {
	box-shadow: var(--box-shadow-top);
}

.shadow-b {
	box-shadow: var(--box-shadow-bottom);
}

.shadow-ti {
	box-shadow: var(--box-shadow-top-inset);
}

.shadow-bi {
	box-shadow: var(--box-shadow-bottom-inset);
}

.shadow-t-b {
	box-shadow: var(--box-shadow-top), var(--box-shadow-bottom);
}

.shadow-t-bi {
	box-shadow: var(--box-shadow-top), var(--box-shadow-bottom-inset);
}

.shadow-ti-b {
	box-shadow: var(--box-shadow-top-inset), var(--box-shadow-bottom);
}

.shadow-ti-bi {
	box-shadow: var(--box-shadow-top-inset), var(--box-shadow-bottom-inset);
} */

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/

/**
 * Text meant only for screen readers.
 * Re: word-wrap: Many screen reader and browser combinations announce broken
 * words as they would appear visually.
 */

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

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	-webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	        box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */

#primary[tabindex="-1"]:focus {
	outline: 0;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

.site {
	margin: 0;
	max-width: 100%;
}

.site-main {
	margin-right: 45px;
	margin-right: var(--menubar-width);
	background-color: #ffffff;
	background-color: var(--color-theme-white);
}

@media screen and (min-width: 37.5em) {
	.home .site-main {
		padding-left: 0;
	}
}

@media screen and (min-width: 60em) {
	.has-sidebar .site {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}

	.site-header {
		grid-column: span 2;
	}

	.site-main {
		grid-column: 1;
		min-width: 0;
	}

	.primary-sidebar {
		grid-column: 2;
		min-width: 0;
	}
}

.sticky {
	position: sticky;
	top: -1px;
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/

textarea {
	width: 100%;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: none;
	border-radius: 0;
	background: none;
	font-size: inherit;
	line-height: 1;
	padding: 0;
	cursor: pointer;
	border-bottom-width: 1px;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/

.header-image {
	margin: 0 auto;
}

.header-image img {
	display: block;
	margin: 0 auto;
}

.custom-logo-link {
	display: inline-block;
	margin: 0 auto 1em;
}

.site-branding {
	text-align: center;
	padding: 60px 0 1.75em;
}

.site-title {
	margin: 0 1em;
	font-family: var(--highlight-font-family);
	font-stretch: condensed;
	font-size: 38px;
	line-height: 1.2;
	color: #333332;
}

.site-title a {
	text-decoration: none;
	color: inherit;
}

.site-description {
	margin: 0.4375em 0 0;
	font-family: var(--highlight-font-family);
	font-stretch: condensed;
	font-size: 17px;
	line-height: 1.4;
	word-wrap: break-word;
	color: #757575;
}

/*--------------------------------------------------------------
## Basic navigation menus - handles submenu and small screen toggle
--------------------------------------------------------------*/

.nav--toggle-small .menu-toggle {
	display: block;
	margin: 1.2em auto;
	padding: 0.6em 1.2em 0.5em;
	font-family: var(--highlight-font-family);
	font-stretch: condensed;
	font-size: 80%;
	text-transform: uppercase;
	border: 2px solid #000;
	border-radius: 0;
	background: transparent;
}

.nav--toggle-small .menu {
	display: none;
}

.nav--toggle-sub .dropdown,
.nav--toggle-sub .dropdown-toggle {
	display: none;
}

@media screen and (max-width: 37.5em) {
	.nav--toggle-small.nav--toggled-on .menu {
		display: block;
	}
}

@media screen and (min-width: 37.5em) {
	.nav--toggle-small .menu-toggle {
		display: none;
	}

	.nav--toggle-small .menu {
		display: block;
	}

	.nav--toggle-sub ul ul {
		display: none;
		position: absolute;
		top: 100%;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		background: #fff;
		margin-left: 0;
		-webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
		        box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
		z-index: 1;
	}

	.nav--toggle-sub .dropdown,
	.nav--toggle-sub .dropdown-toggle {
		display: block;
		background: transparent;
		position: absolute;
		right: 0;
		top: 50%;
		width: 0.7em;
		width: var(--dropdown-symbol-width);
		height: 0.7em;
		height: var(--dropdown-symbol-width);
		font-size: inherit;
		line-height: inherit;
		margin: 0;
		padding: 0;
		border: none;
		border-radius: 0;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
		overflow: visible;
	}

	.nav--toggle-sub .dropdown-symbol {
		display: block;
		background: transparent;
		position: absolute;
		right: 20%;
		top: 35%;
		width: 60%;
		height: 60%;
		border: solid #000;
		border-width: 0 2px 2px 0;
		-webkit-transform: translateY(-50%) rotate(45deg);
		        transform: translateY(-50%) rotate(45deg);
	}

	.nav--toggle-sub ul ul .dropdown,
	.nav--toggle-sub ul ul .dropdown-toggle {
		top: 40%;
		right: 0.2em;
	}

	.nav--toggle-sub ul ul .dropdown-symbol {
		-webkit-transform: rotate(-45deg);
		        transform: rotate(-45deg);
	}

	.nav--toggle-sub .dropdown-toggle:hover,
	.nav--toggle-sub .menu-item--has-toggle:hover .dropdown-toggle {
		pointer-events: none;
	}

	/* Need menu-item-has-children for non-JS */
	.nav--toggle-sub li.menu-item-has-children,
	.nav--toggle-sub li.menu-item--has-toggle {
		position: relative;
		padding-right: 0.7em;
		padding-right: var(--dropdown-symbol-width);
	}

	/*
	 * If the dropdown toggle is active with JS, then
	 * we'll take care of showing the submenu with JS.
	 */
	.nav--toggle-sub li:hover > ul,
	.nav--toggle-sub li.menu-item--toggled-on > ul,
	.nav--toggle-sub li:not(.menu-item--has-toggle):focus > ul {
		display: block;
	}

	/*
	 * "focus-within" is an alternative to focus class for
	 * supporting browsers (all but IE/Edge) for no-JS context
	 * (e.g. AMP) See https://caniuse.com/#feat=css-focus-within
	 *
	 * This selector needs to stay separated, otherwise submenus
	 * will not be displayed with IE/Edge.
	 */
	.nav--toggle-sub li:not(.menu-item--has-toggle)[focus-within] > ul {
		display: block;
	}
	.nav--toggle-sub li:not(.menu-item--has-toggle):focus-within > ul {
		display: block;
	}
}

/*--------------------------------------------------------------
## Main navigation menu
--------------------------------------------------------------*/

.main-navigation {
	clear: both;
	display: block;
	margin: 0 auto 2em;
	padding: 0 1em;
	max-width: 70vw;
	max-width: var(--content-width);
	font-family: var(--highlight-font-family);
	font-stretch: condensed;
}

.main-navigation a {
	display: block;
	width: 100%;
	padding: 0.5em 1em 0.5em 0;
	text-decoration: none;
	color: #000;
}

.main-navigation a:hover,
.main-navigation a:focus {
	text-decoration: underline;
}

.main-navigation ul {
	display: block;
	list-style: none;
	margin: 0;
	padding: 0;
}

.main-navigation ul ul li {
	padding-left: 1em;
}

@media screen and (min-width: 37.5em) {
	.main-navigation ul li a {
		padding: 0.4em 0.5em;
	}

	.main-navigation ul li {
		margin: 0 0 0 0.5em;
	}

	.main-navigation ul li:first-child {
		margin-left: 0;
	}

	.main-navigation ul ul a {
		width: 200px;
	}

	/* stylelint-disable */
	.main-navigation ul ul li {
		padding-left: 0;
		margin-left: 0;
	}
	/* stylelint-enable */

	.main-navigation ul ul li a {
		width: 218px;
		background: none;
	}

	.main-navigation ul ul ul {
		top: 0;
		left: 100%;
		min-height: 100%;
	}

	.main-navigation .menu {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}
}

/*--------------------------------------------------------------
# Content navigation
--------------------------------------------------------------*/

@media screen and (min-width: 48em) {
	.site-main .comment-navigation,
	.site-main .posts-navigation,
	.site-main .post-navigation,
	.site-main .pagination {
		padding-left: 0;
		padding-right: 0;
	}
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	display: inline;
}

.comment-navigation .nav-previous:not(:last-child)::after, .posts-navigation .nav-previous:not(:last-child)::after, .post-navigation .nav-previous:not(:last-child)::after {
		content: " / ";
	}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	display: inline;
}

.post-navigation-sub span {
	color: #000000;
	color: var(--global-font-color);
	text-decoration: none;
	display: inline-block;
}

.site-main .pagination {
	margin-bottom: 1.5em;
}

.pagination .nav-links {
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}

.pagination .page-numbers {
	display: inline-block;
	margin-bottom: 0.5em;
	margin-right: 1em;
	border: 1px solid #000;
	border: 1px solid var(--color-link);
	min-width: 1.75em;
	line-height: 1.75;
	text-align: center;
	text-decoration: none;
}

.pagination a:visited {
	color: #000;
	color: var(--color-link);
}

.pagination a:hover,
.pagination a:focus,
.pagination a:active {
	border-color: #00a0d2;
}

.pagination .prev,
.pagination .next {
	min-width: auto;
	border-color: transparent;
	text-decoration: underline;
}

.pagination .prev:hover,
.pagination .prev:focus,
.pagination .prev:active,
.pagination .next:hover,
.pagination .next:focus,
.pagination .next:active {
	border-color: transparent;
}

.pagination .dots {
	min-width: auto;
	border: none;
}

.pagination .current {
	border-color: #000000;
	border-color: var(--global-font-color);
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/

.site-footer {

	font-family: var(--highlight-font-family);
	font-stretch: condensed;
	height: 100vh;
}

@media screen and (min-width: 37.5em) {

.site-footer {
		margin: 0 45px 0 0;
		margin: 0 var(--menubar-width) 0 0
}
	}

.site-footer > canvas {
		width: 100%;
		height: 100%;

		z-index: -1;
		position: fixed;
		top: 0;
	}

.site-info {
	text-align: center;
}

.page article, .single article {
		padding-bottom: calc( 2vw * 2 );
		padding-bottom: var(--pad2);
	}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/

/* Globally hidden elements when Infinite Scroll is supported and in use. */

.infinite-scroll .posts-navigation,
.infinite-scroll .pagination,
.infinite-scroll.neverending .site-footer {
	/* Theme Footer (when set to scrolling) */
	display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that
were hidden (via .neverending) before. */

.infinity-end.neverending .site-footer {
	display: block;
}

.clr::after {
	content: "";
	display: table;
	clear: both;
}

.outer {
	padding: 0 2vw;
	padding: 0 var(--pad);
}

.inverted {
	background-color: #000000;
	background-color: var(--color-theme-black);
	color: #ffffff;
	color: var(--color-theme-white);
}

.ptb {
	padding-top: 2vw;
	padding-top: var(--pad);
	padding-bottom: 2vw;
	padding-bottom: var(--pad);
}

.max {
	margin-left: calc(2vw * -1);
	margin-left: calc(var(--pad) * -1);
}

@media screen and (max-width: 37.5em) {
	.dossier-intro {
		display: block;
	}
}

.welcome-text {
	text-align: center;
	overflow: hidden;
	line-height: 1;
	margin: 0 auto;
}

/* width: 66%; */

@media screen and (min-width: 37.5em) {

.welcome-text {
		/* font-size: var(--font-size-intro); */
		width: 80%
}
	}

.welcome-text p {
		margin: 0;
		font-size: 1.2em;
	}

.welcome-text .welcome-inner {
	}

.alignfull {
	overflow: hidden;
}

.alignfull .wp-block-embed__wrapper {
		margin: 0;
	}

.disabled {
	color: #000000;
	color: var(--color-theme-black);
}

.footnote_plugin_tooltip_text {
	top: 0.5em !important;
}

.footnote_plugin_text,
.footnote_plugin_index,
.footnote_container_prepare,
.footnote_container_prepare p {
	font-family: 'NotCourier', Courier, 'Courier New', monospace;
	font-family: var(--font-mono);
	font-size: 0.8rem;
	font-size: var(--font-size-small);
	border-bottom: none !important;
}

.image-size > * {
	top: 0px;
	width: 100%;
	width: calc(100vw - 45px);
	width: calc(100vw - var(--menubar-width));
}

.post-navigation-bar {
	text-align: center;
	border-bottom: 1px solid black;
	z-index: 0;
	z-index: var(--z-header);
}

.post-navigation-bar.col-2 > div {
		padding: 10px 2vw;
		padding: 10px var(--pad);
	}

.post-navigation-bar button {
		background: none;
		border-bottom: 1px solid #000000;
		border-bottom: 1px solid var(--color-theme-black);
		border-radius: 0;
		padding: 0;
		display: inline;
		font-size: 1rem;
		font-size: var(--font-size-regular);
	}

.post-navigation-bar button:hover {
			border-bottom-width: 2px;
		}

.post-navigation-bar.top {
	-webkit-box-shadow: 0 -1em 1em rgba(0, 0, 0, 0.3);
	        box-shadow: 0 -1em 1em rgba(0, 0, 0, 0.3);
	-webkit-box-shadow: var(--box-shadow-top);
	        box-shadow: var(--box-shadow-top);
	margin-bottom: 2vw;
	margin-bottom: var(--pad);
}

.post-navigation-bar.bottom {
	border-top: 1px solid black;
	border-bottom: none;
}

.vdm-close-wrapper {
	background-color: transparent !important;
}

.vdm-close-wrapper a {
		border-bottom: none;
	}

.vdm-ticket-frame-wrapper.open {
	width: calc(50vw + 45px / 2) !important;
	width: calc(50vw + var(--menubar-width) / 2) !important;
}

.page-template-dossiers-page h3 {
		margin-top: 0;
		padding-top: 2vw;
		padding-top: var(--pad);
	}

.page-template-dossiers-page main.site-main {
		padding-left: 0;
	}

/* fix for voordemensen plugin getting covered by the sidebar */

.tingle-enabled .primary-sidebar {
	display: none;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9nbG9iYWwuY3NzIiwic3JjL19jdXN0b20tcHJvcGVydGllcy5jc3MiLCJzcmMvX3Jlc2V0LmNzcyIsInNyYy9fdHlwb2dyYXBoeS5jc3MiLCJzcmMvX2VsZW1lbnRzLmNzcyIsInNyYy9fbGlua3MuY3NzIiwic3JjL19jb2x1bW5zLmNzcyIsInNyYy9wYXJ0aWFscy9fbWFycXVlZS5jc3MiLCJzcmMvcGFydGlhbHMvX2hlYWRlci5jc3MiLCJzcmMvcGFydGlhbHMvX2ZsaWNraXR5LWN1c3RvbS5jc3MiLCJzcmMvcGFydGlhbHMvX2ljb25zLmNzcyIsInNyYy9wYXJ0aWFscy9fYW5pbWF0aW9ucy5jc3MiLCJzcmMvcGFydGlhbHMvX3NoYWRvd3MuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztnRUFpQmdFOztBQUVoRTs7Z0VBRWdFOztBQ3JCaEU7Ozs7O0lBS0k7O0FBRUo7Q0FDQyxXQUFXO0NBQ1gscUNBQXFDO0NBQ3JDLGlDQUFpQzs7Q0FFakMsNkJBQTZCO0NBQzdCLGtEQUFrRDtDQUNsRCwwREFBMEQ7Q0FDMUQsMENBQTBDO0NBQzFDLDZEQUE2RDs7Q0FFN0QsdUJBQXVCO0NBQ3ZCLCtCQUErQjtDQUMvQixnR0FBZ0c7Q0FDaEcsc0JBQXNCO0NBQ3RCLCtCQUErQjtDQUMvQixzQkFBc0I7O0NBRXRCLDBCQUEwQjtDQUMxQiwrQkFBK0I7Q0FDL0IsaUNBQWlDO0NBQ2pDLDhCQUE4QjtDQUM5QixzQ0FBc0M7O0NBRXRDLDZCQUE2QjtDQUM3Qiw0QkFBNEI7Q0FDNUIsNkJBQTZCOztDQUU3QixtQkFBbUI7Q0FDbkIsMkJBQTJCLFNBQVM7Q0FDcEMsMEJBQTBCLFlBQVk7O0NBRXRDLDJCQUEyQjtDQUMzQixnQ0FBZ0M7O0NBRWhDLDhCQUE4Qjs7Q0FFOUIseUNBQXlDO0NBQ3pDLDBCQUEwQjtDQUMxQiwwQkFBMEI7Q0FDMUIsd0JBQXdCO0NBQ3hCLDBCQUEwQjtDQUMxQiwyQkFBMkI7O0NBRTNCLDBCQUEw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QkFBb0I7Q0FDcEI7O0FBRUQ7Q0FDQyx5Q0FBeUM7Q0FLekM7O0FBSEE7RUFDQyxvQkFBb0I7RUFDcEI7O0FBR0Y7Q0FDQyx3Q0FBd0Q7Q0FBeEQsd0RBQXdEO0NBQ3hEOztBQUdBO0VBQ0MsY0FBYztFQUNkLGlCQUF3QjtFQUF4Qix3QkFBd0I7RUFDeEI7O0FBRUQ7RUFDQyxnQkFBZ0I7RUFDaEI7O0FBR0YsZ0VBQWdFOztBQUVoRTtDQUNDLGNBQWM7Q0FDZCIsImZpbGUiOiJnbG9iYWwubWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbj4+PiBUQUJMRSBPRiBDT05URU5UUzpcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgSW1wb3J0c1xuXHQjIEN1c3RvbSBwcm9wZXJ0aWVzXG5cdCMgUmVzZXRcblx0IyBUeXBvZ3JhcGh5XG5cdCMgRWxlbWVudHNcblx0IyBMaW5rc1xuIyBBY2Nlc3NpYmlsaXR5XG4jIExheW91dFxuIyBGb3Jtc1xuIyBIZWFkZXJcblx0IyBNYWluIG5hdmlnYXRpb24gbWVudVxuIyBDb250ZW50IG5hdmlnYXRpb25cbiMgRm9vdGVyXG4jIEluZmluaXRlIHNjcm9sbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEltcG9ydHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgXCJfY3VzdG9tLXByb3BlcnRpZXMuY3NzXCI7XG5AaW1wb3J0IFwiX3Jlc2V0LmNzc1wiO1xuQGltcG9ydCBcIl90eXBvZ3JhcGh5LmNzc1wiO1xuQGltcG9ydCBcIl9lbGVtZW50cy5jc3NcIjtcbkBpbXBvcnQgXCJfbGlua3MuY3NzXCI7XG5AaW1wb3J0IFwiX2NvbHVtbnMuY3NzXCI7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgSW1wb3J0cyBQYXJ0aWFsc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCBcInBhcnRpYWxzL19tYXJxdWVlLmNzc1wiO1xuQGltcG9ydCBcInBhcnRpYWxzL19oZWFkZXIuY3NzXCI7XG4vKiBAaW1wb3J0IFwicGFydGlhbHMvX2Rvc3NpZXIuY3NzXCI7ICovXG5AaW1wb3J0IFwicGFydGlhbHMvX2ZsaWNraXR5LWN1c3RvbS5jc3NcIjtcbkBpbXBvcnQgXCJwYXJ0aWFscy9faWNvbnMuY3NzXCI7XG5AaW1wb3J0IFwicGFydGlhbHMvX2FuaW1hdGlvbnMuY3NzXCI7XG5AaW1wb3J0IFwicGFydGlhbHMvX3NoYWRvd3MuY3NzXCI7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgQWNjZXNzaWJpbGl0eVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKipcbiAqIFRleHQgbWVhbnQgb25seSBmb3Igc2NyZWVuIHJlYWRlcnMuXG4gKiBSZTogd29yZC13cmFwOiBNYW55IHNjcmVlbiByZWFkZXIgYW5kIGJyb3dzZXIgY29tYmluYXRpb25zIGFubm91bmNlIGJyb2tlblxuICogd29yZHMgYXMgdGhleSB3b3VsZCBhcHBlYXIgdmlzdWFsbHkuXG4gKi9cbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuXHRjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6IDFweDtcblx0d2lkdGg6IDFweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0d29yZC13cmFwOiBub3JtYWwgIWltcG9ydGFudDtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG5cdGNsaXA6IGF1dG8gIWltcG9ydGFudDtcblx0Y29sb3I6ICMyMTc1OWI7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXNpemU6IDAuODc1cmVtO1xuXHRoZWlnaHQ6IGF1dG87XG5cdGxlZnQ6IDVweDtcblx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0cGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dG9wOiA1cHg7XG5cdHdpZHRoOiBhdXRvO1xuXHR6LWluZGV4OiAxMDAwMDA7IC8qIEFib3ZlIFdQIHRvb2xiYXIuICovXG59XG5cbi8qIERvIG5vdCBzaG93IHRoZSBvdXRsaW5lIG9uIHRoZSBza2lwIGxpbmsgdGFyZ2V0LiAqL1xuI3ByaW1hcnlbdGFiaW5kZXg9XCItMVwiXTpmb2N1cyB7XG5cdG91dGxpbmU6IDA7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgTGF5b3V0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnNpdGUge1xuXHRtYXJnaW46IDA7XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuLnNpdGUtbWFpbiB7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tbWVudWJhci13aWR0aCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRoZW1lLXdoaXRlKTtcbn1cblxuQG1lZGlhICgtLXdpZGUtbWVudS1xdWVyeSkge1xuXHQuaG9tZSAuc2l0ZS1tYWluIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdH1cbn1cblxuQG1lZGlhICgtLXNpZGViYXItcXVlcnkpIHtcblx0Lmhhcy1zaWRlYmFyIC5zaXRlIHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0fVxuXG5cdC5zaXRlLWhlYWRlciB7XG5cdFx0Z3JpZC1jb2x1bW46IHNwYW4gMjtcblx0fVxuXG5cdC5zaXRlLW1haW4ge1xuXHRcdGdyaWQtY29sdW1uOiAxO1xuXHRcdG1pbi13aWR0aDogMDtcblx0fVxuXG5cdC5wcmltYXJ5LXNpZGViYXIge1xuXHRcdGdyaWQtY29sdW1uOiAyO1xuXHRcdG1pbi13aWR0aDogMDtcblx0fVxufVxuXG4uc3RpY2t5IHtcblx0cG9zaXRpb246IHN0aWNreTtcblx0dG9wOiAtMXB4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEZvcm1zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbnRleHRhcmVhIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbmJ1dHRvbixcbmlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiAwO1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRmb250LXNpemU6IGluaGVyaXQ7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRwYWRkaW5nOiAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBIZWFkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmhlYWRlci1pbWFnZSB7XG5cdG1hcmdpbjogMCBhdXRvO1xufVxuXG4uaGVhZGVyLWltYWdlIGltZyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW46IDAgYXV0bztcbn1cblxuLmN1c3RvbS1sb2dvLWxpbmsge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbjogMCBhdXRvIDFlbTtcbn1cblxuLnNpdGUtYnJhbmRpbmcge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDYwcHggMCAxLjc1ZW07XG59XG5cbi5zaXRlLXRpdGxlIHtcblx0bWFyZ2luOiAwIDFlbTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWhpZ2hsaWdodC1mb250LWZhbWlseSk7XG5cdGZvbnQtc3RyZXRjaDogY29uZGVuc2VkO1xuXHRmb250LXNpemU6IDM4cHg7XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdGNvbG9yOiAjMzMzMzMyO1xufVxuXG4uc2l0ZS10aXRsZSBhIHtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjb2xvcjogaW5oZXJpdDtcbn1cblxuLnNpdGUtZGVzY3JpcHRpb24ge1xuXHRtYXJnaW46IDAuNDM3NWVtIDAgMDtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWhpZ2hsaWdodC1mb250LWZhbWlseSk7XG5cdGZvbnQtc3RyZXRjaDogY29uZGVuc2VkO1xuXHRmb250LXNpemU6IDE3cHg7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcblx0Y29sb3I6ICM3NTc1NzU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMjIEJhc2ljIG5hdmlnYXRpb24gbWVudXMgLSBoYW5kbGVzIHN1Ym1lbnUgYW5kIHNtYWxsIHNjcmVlbiB0b2dnbGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5uYXYtLXRvZ2dsZS1zbWFsbCAubWVudS10b2dnbGUge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luOiAxLjJlbSBhdXRvO1xuXHRwYWRkaW5nOiAwLjZlbSAxLjJlbSAwLjVlbTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWhpZ2hsaWdodC1mb250LWZhbWlseSk7XG5cdGZvbnQtc3RyZXRjaDogY29uZGVuc2VkO1xuXHRmb250LXNpemU6IDgwJTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Ym9yZGVyOiAycHggc29saWQgIzAwMDtcblx0Ym9yZGVyLXJhZGl1czogMDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5uYXYtLXRvZ2dsZS1zbWFsbCAubWVudSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5uYXYtLXRvZ2dsZS1zdWIgLmRyb3Bkb3duLFxuLm5hdi0tdG9nZ2xlLXN1YiAuZHJvcGRvd24tdG9nZ2xlIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhICgtLW5hcnJvdy1tZW51LXF1ZXJ5KSB7XG5cdC5uYXYtLXRvZ2dsZS1zbWFsbC5uYXYtLXRvZ2dsZWQtb24gLm1lbnUge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG5cbkBtZWRpYSAoLS13aWRlLW1lbnUtcXVlcnkpIHtcblx0Lm5hdi0tdG9nZ2xlLXNtYWxsIC5tZW51LXRvZ2dsZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5uYXYtLXRvZ2dsZS1zbWFsbCAubWVudSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQubmF2LS10b2dnbGUtc3ViIHVsIHVsIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDEwMCU7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdGJveC1zaGFkb3c6IDAgM3B4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG5cdFx0ei1pbmRleDogMTtcblx0fVxuXG5cdC5uYXYtLXRvZ2dsZS1zdWIgLmRyb3Bkb3duLFxuXHQubmF2LS10b2dnbGUtc3ViIC5kcm9wZG93bi10b2dnbGUge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMDtcblx0XHR0b3A6IDUwJTtcblx0XHR3aWR0aDogdmFyKC0tZHJvcGRvd24tc3ltYm9sLXdpZHRoKTtcblx0XHRoZWlnaHQ6IHZhcigtLWRyb3Bkb3duLXN5bWJvbC13aWR0aCk7XG5cdFx0Zm9udC1zaXplOiBpbmhlcml0O1xuXHRcdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0fVxuXG5cdC5uYXYtLXRvZ2dsZS1zdWIgLmRyb3Bkb3duLXN5bWJvbCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAyMCU7XG5cdFx0dG9wOiAzNSU7XG5cdFx0d2lkdGg6IDYwJTtcblx0XHRoZWlnaHQ6IDYwJTtcblx0XHRib3JkZXI6IHNvbGlkICMwMDA7XG5cdFx0Ym9yZGVyLXdpZHRoOiAwIDJweCAycHggMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcblx0fVxuXG5cdC5uYXYtLXRvZ2dsZS1zdWIgdWwgdWwgLmRyb3Bkb3duLFxuXHQubmF2LS10b2dnbGUtc3ViIHVsIHVsIC5kcm9wZG93bi10b2dnbGUge1xuXHRcdHRvcDogNDAlO1xuXHRcdHJpZ2h0OiAwLjJlbTtcblx0fVxuXG5cdC5uYXYtLXRvZ2dsZS1zdWIgdWwgdWwgLmRyb3Bkb3duLXN5bWJvbCB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblx0fVxuXG5cdC5uYXYtLXRvZ2dsZS1zdWIgLmRyb3Bkb3duLXRvZ2dsZTpob3Zlcixcblx0Lm5hdi0tdG9nZ2xlLXN1YiAubWVudS1pdGVtLS1oYXMtdG9nZ2xlOmhvdmVyIC5kcm9wZG93bi10b2dnbGUge1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR9XG5cblx0LyogTmVlZCBtZW51LWl0ZW0taGFzLWNoaWxkcmVuIGZvciBub24tSlMgKi9cblx0Lm5hdi0tdG9nZ2xlLXN1YiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuLFxuXHQubmF2LS10b2dnbGUtc3ViIGxpLm1lbnUtaXRlbS0taGFzLXRvZ2dsZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLWRyb3Bkb3duLXN5bWJvbC13aWR0aCk7XG5cdH1cblxuXHQvKlxuXHQgKiBJZiB0aGUgZHJvcGRvd24gdG9nZ2xlIGlzIGFjdGl2ZSB3aXRoIEpTLCB0aGVuXG5cdCAqIHdlJ2xsIHRha2UgY2FyZSBvZiBzaG93aW5nIHRoZSBzdWJtZW51IHdpdGggSlMuXG5cdCAqL1xuXHQubmF2LS10b2dnbGUtc3ViIGxpOmhvdmVyID4gdWwsXG5cdC5uYXYtLXRvZ2dsZS1zdWIgbGkubWVudS1pdGVtLS10b2dnbGVkLW9uID4gdWwsXG5cdC5uYXYtLXRvZ2dsZS1zdWIgbGk6bm90KC5tZW51LWl0ZW0tLWhhcy10b2dnbGUpOmZvY3VzID4gdWwge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0Lypcblx0ICogXCJmb2N1cy13aXRoaW5cIiBpcyBhbiBhbHRlcm5hdGl2ZSB0byBmb2N1cyBjbGFzcyBmb3Jcblx0ICogc3VwcG9ydGluZyBicm93c2VycyAoYWxsIGJ1dCBJRS9FZGdlKSBmb3Igbm8tSlMgY29udGV4dFxuXHQgKiAoZS5nLiBBTVApIFNlZSBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1mb2N1cy13aXRoaW5cblx0ICpcblx0ICogVGhpcyBzZWxlY3RvciBuZWVkcyB0byBzdGF5IHNlcGFyYXRlZCwgb3RoZXJ3aXNlIHN1Ym1lbnVzXG5cdCAqIHdpbGwgbm90IGJlIGRpc3BsYXllZCB3aXRoIElFL0VkZ2UuXG5cdCAqL1xuXHQubmF2LS10b2dnbGUtc3ViIGxpOm5vdCgubWVudS1pdGVtLS1oYXMtdG9nZ2xlKTpmb2N1cy13aXRoaW4gPiB1bCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyMgTWFpbiBuYXZpZ2F0aW9uIG1lbnVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5tYWluLW5hdmlnYXRpb24ge1xuXHRjbGVhcjogYm90aDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbjogMCBhdXRvIDJlbTtcblx0cGFkZGluZzogMCAxZW07XG5cdG1heC13aWR0aDogdmFyKC0tY29udGVudC13aWR0aCk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1oaWdobGlnaHQtZm9udC1mYW1pbHkpO1xuXHRmb250LXN0cmV0Y2g6IGNvbmRlbnNlZDtcbn1cblxuLm1haW4tbmF2aWdhdGlvbiBhIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiAwLjVlbSAxZW0gMC41ZW0gMDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjb2xvcjogIzAwMDtcbn1cblxuLm1haW4tbmF2aWdhdGlvbiBhOmhvdmVyLFxuLm1haW4tbmF2aWdhdGlvbiBhOmZvY3VzIHtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5tYWluLW5hdmlnYXRpb24gdWwge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4ubWFpbi1uYXZpZ2F0aW9uIHVsIHVsIGxpIHtcblx0cGFkZGluZy1sZWZ0OiAxZW07XG59XG5cbkBtZWRpYSAoLS13aWRlLW1lbnUtcXVlcnkpIHtcblx0Lm1haW4tbmF2aWdhdGlvbiB1bCBsaSBhIHtcblx0XHRwYWRkaW5nOiAwLjRlbSAwLjVlbTtcblx0fVxuXG5cdC5tYWluLW5hdmlnYXRpb24gdWwgbGkge1xuXHRcdG1hcmdpbjogMCAwIDAgMC41ZW07XG5cdH1cblxuXHQubWFpbi1uYXZpZ2F0aW9uIHVsIGxpOmZpcnN0LWNoaWxkIHtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0fVxuXG5cdC5tYWluLW5hdmlnYXRpb24gdWwgdWwgYSB7XG5cdFx0d2lkdGg6IDIwMHB4O1xuXHR9XG5cblx0Lyogc3R5bGVsaW50LWRpc2FibGUgKi9cblx0Lm1haW4tbmF2aWdhdGlvbiB1bCB1bCBsaSB7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHR9XG5cdC8qIHN0eWxlbGludC1lbmFibGUgKi9cblxuXHQubWFpbi1uYXZpZ2F0aW9uIHVsIHVsIGxpIGEge1xuXHRcdHdpZHRoOiAyMThweDtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHR9XG5cblx0Lm1haW4tbmF2aWdhdGlvbiB1bCB1bCB1bCB7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDEwMCU7XG5cdFx0bWluLWhlaWdodDogMTAwJTtcblx0fVxuXG5cdC5tYWluLW5hdmlnYXRpb24gLm1lbnUge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgQ29udGVudCBuYXZpZ2F0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbkBtZWRpYSAoLS1jb250ZW50LXF1ZXJ5KSB7XG5cdC5zaXRlLW1haW4gLmNvbW1lbnQtbmF2aWdhdGlvbixcblx0LnNpdGUtbWFpbiAucG9zdHMtbmF2aWdhdGlvbixcblx0LnNpdGUtbWFpbiAucG9zdC1uYXZpZ2F0aW9uLFxuXHQuc2l0ZS1tYWluIC5wYWdpbmF0aW9uIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0cGFkZGluZy1yaWdodDogMDtcblx0fVxufVxuXG4uY29tbWVudC1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMsXG4ucG9zdHMtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzLFxuLnBvc3QtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzIHtcblx0ZGlzcGxheTogaW5saW5lO1xuXG5cdCY6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiIC8gXCI7XG5cdH1cbn1cblxuLmNvbW1lbnQtbmF2aWdhdGlvbiAubmF2LW5leHQsXG4ucG9zdHMtbmF2aWdhdGlvbiAubmF2LW5leHQsXG4ucG9zdC1uYXZpZ2F0aW9uIC5uYXYtbmV4dCB7XG5cdGRpc3BsYXk6IGlubGluZTtcbn1cblxuLnBvc3QtbmF2aWdhdGlvbi1zdWIgc3BhbiB7XG5cdGNvbG9yOiB2YXIoLS1nbG9iYWwtZm9udC1jb2xvcik7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uc2l0ZS1tYWluIC5wYWdpbmF0aW9uIHtcblx0bWFyZ2luLWJvdHRvbTogMS41ZW07XG59XG5cbi5wYWdpbmF0aW9uIC5uYXYtbGlua3Mge1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0ZmxleC13cmFwOiB3cmFwO1xufVxuXG4ucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW4tYm90dG9tOiAwLjVlbTtcblx0bWFyZ2luLXJpZ2h0OiAxZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWxpbmspO1xuXHRtaW4td2lkdGg6IDEuNzVlbTtcblx0bGluZS1oZWlnaHQ6IDEuNzU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ucGFnaW5hdGlvbiBhOnZpc2l0ZWQge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG59XG5cbi5wYWdpbmF0aW9uIGE6aG92ZXIsXG4ucGFnaW5hdGlvbiBhOmZvY3VzLFxuLnBhZ2luYXRpb24gYTphY3RpdmUge1xuXHRib3JkZXItY29sb3I6ICMwMGEwZDI7XG59XG5cbi5wYWdpbmF0aW9uIC5wcmV2LFxuLnBhZ2luYXRpb24gLm5leHQge1xuXHRtaW4td2lkdGg6IGF1dG87XG5cdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ucGFnaW5hdGlvbiAucHJldjpob3Zlcixcbi5wYWdpbmF0aW9uIC5wcmV2OmZvY3VzLFxuLnBhZ2luYXRpb24gLnByZXY6YWN0aXZlLFxuLnBhZ2luYXRpb24gLm5leHQ6aG92ZXIsXG4ucGFnaW5hdGlvbiAubmV4dDpmb2N1cyxcbi5wYWdpbmF0aW9uIC5uZXh0OmFjdGl2ZSB7XG5cdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5wYWdpbmF0aW9uIC5kb3RzIHtcblx0bWluLXdpZHRoOiBhdXRvO1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbi5wYWdpbmF0aW9uIC5jdXJyZW50IHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1nbG9iYWwtZm9udC1jb2xvcik7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgRm9vdGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uc2l0ZS1mb290ZXIge1xuXHRAbWVkaWEgKC0td2lkZS1tZW51LXF1ZXJ5KSB7XG5cdFx0bWFyZ2luOiAwIHZhcigtLW1lbnViYXItd2lkdGgpIDAgMDtcblx0fVxuXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1oaWdobGlnaHQtZm9udC1mYW1pbHkpO1xuXHRmb250LXN0cmV0Y2g6IGNvbmRlbnNlZDtcblx0aGVpZ2h0OiAxMDB2aDtcblxuXHQmID4gY2FudmFzIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cblx0XHR6LWluZGV4OiAtMTtcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0dG9wOiAwO1xuXHR9XG59XG5cbi5zaXRlLWluZm8ge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wYWdlLFxuLnNpbmdsZSB7XG5cdCYgYXJ0aWNsZSB7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLXBhZDIpO1xuXHR9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgSW5maW5pdGUgc2Nyb2xsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIEdsb2JhbGx5IGhpZGRlbiBlbGVtZW50cyB3aGVuIEluZmluaXRlIFNjcm9sbCBpcyBzdXBwb3J0ZWQgYW5kIGluIHVzZS4gKi9cbi5pbmZpbml0ZS1zY3JvbGwgLnBvc3RzLW5hdmlnYXRpb24sXG4uaW5maW5pdGUtc2Nyb2xsIC5wYWdpbmF0aW9uLFxuLmluZmluaXRlLXNjcm9sbC5uZXZlcmVuZGluZyAuc2l0ZS1mb290ZXIge1xuXHQvKiBUaGVtZSBGb290ZXIgKHdoZW4gc2V0IHRvIHNjcm9sbGluZykgKi9cblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogV2hlbiBJbmZpbml0ZSBTY3JvbGwgaGFzIHJlYWNoZWQgaXRzIGVuZCB3ZSBuZWVkIHRvIHJlLWRpc3BsYXkgZWxlbWVudHMgdGhhdFxud2VyZSBoaWRkZW4gKHZpYSAubmV2ZXJlbmRpbmcpIGJlZm9yZS4gKi9cbi5pbmZpbml0eS1lbmQubmV2ZXJlbmRpbmcgLnNpdGUtZm9vdGVyIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5jbHI6OmFmdGVyIHtcblx0Y29udGVudDogXCJcIjtcblx0ZGlzcGxheTogdGFibGU7XG5cdGNsZWFyOiBib3RoO1xufVxuXG4ub3V0ZXIge1xuXHRwYWRkaW5nOiAwIHZhcigtLXBhZCk7XG59XG5cbi5pbnZlcnRlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRoZW1lLWJsYWNrKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXRoZW1lLXdoaXRlKTtcbn1cblxuLnB0YiB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1wYWQpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tcGFkKTtcbn1cblxuLm1heCB7XG5cdG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLXBhZCkgKiAtMSk7XG59XG5cbkBtZWRpYSAoLS1uYXJyb3ctbWVudS1xdWVyeSkge1xuXHQuZG9zc2llci1pbnRybyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cblxuLndlbGNvbWUtdGV4dCB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHQvKiB3aWR0aDogNjYlOyAqL1xuXG5cdEBtZWRpYSAoLS13aWRlLW1lbnUtcXVlcnkpIHtcblx0XHQvKiBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1pbnRybyk7ICovXG5cdFx0d2lkdGg6IDgwJTtcblx0fVxuXG5cdCYgcCB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGZvbnQtc2l6ZTogMS4yZW07XG5cdH1cblxuXHQud2VsY29tZS1pbm5lciB7XG5cdH1cbn1cblxuLmFsaWduZnVsbCB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0JiAud3AtYmxvY2stZW1iZWRfX3dyYXBwZXIge1xuXHRcdG1hcmdpbjogMDtcblx0fVxufVxuXG4uZGlzYWJsZWQge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItdGhlbWUtYmxhY2spO1xufVxuXG4uZm9vdG5vdGVfcGx1Z2luX3Rvb2x0aXBfdGV4dCB7XG5cdHRvcDogMC41ZW0gIWltcG9ydGFudDtcbn1cblxuLmZvb3Rub3RlX3BsdWdpbl90ZXh0LFxuLmZvb3Rub3RlX3BsdWdpbl9pbmRleCxcbi5mb290bm90ZV9jb250YWluZXJfcHJlcGFyZSxcbi5mb290bm90ZV9jb250YWluZXJfcHJlcGFyZSBwIHtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcblx0Ym9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uaW1hZ2Utc2l6ZSA+ICoge1xuXHR0b3A6IDBweDtcblx0d2lkdGg6IDEwMCU7XG5cdHdpZHRoOiBjYWxjKDEwMHZ3IC0gdmFyKC0tbWVudWJhci13aWR0aCkpO1xufVxuXG4ucG9zdC1uYXZpZ2F0aW9uLWJhciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJsYWNrO1xuXHR6LWluZGV4OiB2YXIoLS16LWhlYWRlcik7XG5cblx0Ji5jb2wtMiA+IGRpdiB7XG5cdFx0cGFkZGluZzogMTBweCB2YXIoLS1wYWQpO1xuXHR9XG5cblx0JiBidXR0b24ge1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXRoZW1lLWJsYWNrKTtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0ZGlzcGxheTogaW5saW5lO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXJlZ3VsYXIpO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG5cdFx0fVxuXHR9XG59XG5cbi5wb3N0LW5hdmlnYXRpb24tYmFyLnRvcCB7XG5cdGJveC1zaGFkb3c6IHZhcigtLWJveC1zaGFkb3ctdG9wKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tcGFkKTtcbn1cblxuLnBvc3QtbmF2aWdhdGlvbi1iYXIuYm90dG9tIHtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIGJsYWNrO1xuXHRib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4udmRtLWNsb3NlLXdyYXBwZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG5cdCYgYSB7XG5cdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0fVxufVxuXG4udmRtLXRpY2tldC1mcmFtZS13cmFwcGVyLm9wZW4ge1xuXHR3aWR0aDogY2FsYyg1MHZ3ICsgdmFyKC0tbWVudWJhci13aWR0aCkgLyAyKSAhaW1wb3J0YW50O1xufVxuXG4ucGFnZS10ZW1wbGF0ZS1kb3NzaWVycy1wYWdlIHtcblx0JiBoMyB7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0XHRwYWRkaW5nLXRvcDogdmFyKC0tcGFkKTtcblx0fVxuXG5cdCYgbWFpbi5zaXRlLW1haW4ge1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblx0fVxufVxuXG4vKiBmaXggZm9yIHZvb3JkZW1lbnNlbiBwbHVnaW4gZ2V0dGluZyBjb3ZlcmVkIGJ5IHRoZSBzaWRlYmFyICovXG5cbi50aW5nbGUtZW5hYmxlZCAucHJpbWFyeS1zaWRlYmFyIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qKlxuICogQ3VzdG9tIFByb3BlcnRpZXNcbiAqIGFrYSBDU1MgdmFyaWFibGVzLlxuICpcbiAqIEBsaW5rOiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvLS0qXG4gKiovXG5cbjpyb290IHtcblx0LS1wYWQ6IDJ2dztcblx0LS1wYWQtbmVnOiBjYWxjKCB2YXIoIC0tcGFkICkgKiAtMSApO1xuXHQtLXBhZDI6IGNhbGMoIHZhciggLS1wYWQgKSAqIDIgKTtcblxuXHQtLWdsb2JhbC1mb250LWNvbG9yOiAjMDAwMDAwO1xuXHQvKiAtLWdsb2JhbC1mb250LWZhbWlseTogXCJDcmltc29uIFRleHRcIiwgc2VyaWY7ICovXG5cdC0tZm9udC1zZXJpZjogJ1RpbWVzIE5ldyBSb21hbicsIEVCR2FyYW1vbmQsIFRpbWVzLCBzZXJpZjtcblx0LS1mb250LXNhbnM6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5cdC0tZm9udC1tb25vOiAnTm90Q291cmllcicsIENvdXJpZXIsICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTtcblxuXHQtLWdsb2JhbC1mb250LXNpemU6IDIwO1xuXHQtLWdsb2JhbC1mb250LWxpbmUtaGVpZ2h0OiAxLjQ7XG5cdC8qIC0taGlnaGxpZ2h0LWZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkFyaWFsIE5hcnJvd1wiLCBzYW5zLXNlcmlmOyAqL1xuXHQtLWNvbnRlbnQtd2lkdGg6IDcwdnc7XG5cdC0tZHJvcGRvd24tc3ltYm9sLXdpZHRoOiAwLjdlbTtcblx0LS1tZW51YmFyLXdpZHRoOiA0NXB4O1xuXG5cdC8qIEN1c3RvbSBlZGl0b3IgY29sb3JzICovXG5cdC0tY29sb3ItdGhlbWUtcHJpbWFyeTogI2UzNmQ2MDtcblx0LS1jb2xvci10aGVtZS1zZWNvbmRhcnk6ICM0MTg0OGY7XG5cdC0tY29sb3ItdGhlbWUteWVsbG93OiAjZmZmZjAwO1xuXHQtLWNvbG9yLXRoZW1lLWJsdWU6IHJnYigzMiwgMTQ1LCAyNTIpO1xuXG5cdC0tY29sb3ItdGhlbWUtYmxhY2s6ICMwMDAwMDA7XG5cdC0tY29sb3ItdGhlbWUtZ3JleTogIzk1YTVhNjtcblx0LS1jb2xvci10aGVtZS13aGl0ZTogI2ZmZmZmZjtcblxuXHQtLWNvbG9yLWxpbms6ICMwMDA7XG5cdC0tY29sb3ItbGluay12aXNpdGVkOiAjMDAwOy8qIzMzMzsqL1xuXHQtLWNvbG9yLWxpbmstYWN0aXZlOiAjMDAwOy8qIzAwYTBkMjsqL1xuXG5cdC0tY29sb3ItcXVvdGUtYm9yZGVyOiAjMDAwO1xuXHQtLWNvbG9yLXF1b3RlLWNpdGF0aW9uOiAjNmM3NzgxO1xuXG5cdC8qIEN1c3RvbSBlZGl0b3IgZm9udCBzaXplcyAqL1xuXG5cdC8qIGRlZmF1bHQgZm9udC1zaXplcywgdXNlZCBmb3IgbW9iaWxlICovXG5cdC0tZm9udC1zaXplLXNtYWxsOiAwLjhyZW07XG5cdC0tZm9udC1zaXplLXJlZ3VsYXI6IDFyZW07XG5cdC0tZm9udC1zaXplLWJpZzogMS41cmVtO1xuXHQtLWZvbnQtc2l6ZS1sYXJnZTogMi4ycmVtO1xuXHQtLWZvbnQtc2l6ZS1sYXJnZXI6IDIuOHJlbTtcblxuXHQtLWZvbnQtc2l6ZS1pbnRybzogMS44cmVtO1xuXG5cdC0tbGluZS1oZWlnaHQtaGVhZGVyOiAxLjE7XG5cblx0LS1zaGFkb3ctc2l6ZTogMWVtO1xuXHQtLXNoYWRvdy1zaXplLW5lZ2F0aXZlOiAtMWVtO1xuXHQtLWJveC1zaGFkb3ctY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTtcblx0LS1ib3gtc2hhZG93OiAwIDAgdmFyKC0tc2hhZG93LXNpemUpIHZhcigtLWJveC1zaGFkb3ctY29sb3IpO1xuXHQtLWJveC1zaGFkb3ctdG9wLWluc2V0OiBpbnNldCAwIHZhcigtLXNoYWRvdy1zaXplKSB2YXIoLS1zaGFkb3ctc2l6ZSkgdmFyKC0tYm94LXNoYWRvdy1jb2xvcik7XG5cdC0tYm94LXNoYWRvdy1ib3R0b20taW5zZXQ6IGluc2V0IDAgdmFyKC0tc2hhZG93LXNpemUtbmVnYXRpdmUpIHZhcigtLXNoYWRvdy1zaXplKSB2YXIoLS1ib3gtc2hhZG93LWNvbG9yKTtcblx0LS1ib3gtc2hhZG93LWJvdHRvbTogMCB2YXIoLS1zaGFkb3ctc2l6ZSkgdmFyKC0tc2hhZG93LXNpemUpIHZhcigtLWJveC1zaGFkb3ctY29sb3IpO1xuXHQtLWJveC1zaGFkb3ctdG9wOiAwIHZhcigtLXNoYWRvdy1zaXplLW5lZ2F0aXZlKSB2YXIoLS1zaGFkb3ctc2l6ZSkgdmFyKC0tYm94LXNoYWRvdy1jb2xvcik7XG5cdC0tYm94LXNoYWRvdy1sZWZ0OiB2YXIoLS1zaGFkb3ctc2l6ZS1uZWdhdGl2ZSkgMCB2YXIoLS1zaGFkb3ctc2l6ZSkgdmFyKC0tYm94LXNoYWRvdy1jb2xvcik7XG5cdC0tYm94LXNoYWRvdy1yaWdodDogdmFyKC0tc2hhZG93LXNpemUpIDAgdmFyKC0tc2hhZG93LXNpemUpIHZhcigtLWJveC1zaGFkb3ctY29sb3IpO1xuXG5cdC0tei1tZW51OiAxMDAwO1xuXHQtLXotaGVhZGVyOiAwO1xuXHQtLXotaW50ZXJmYWNlOiAxMDtcblxuXHQtLWJvdW5jZTogY3ViaWMtYmV6aWVyKDEsIC4wMDUsIC40NywgMS4zNzUpO1xuXHQtLWJvdW5jZTI6IGN1YmljLWJlemllciguMiwtMS41LC44LDIuMik7XG59XG5cbkBtZWRpYSAoLS13aWRlLW1lbnUtcXVlcnkpIHtcblxuXHQ6cm9vdCB7XG5cblx0XHQvKiByZXNwb25zaXZlIGZvbnQtc2l6ZXMgZm9yIGRlc2t0b3AgKi9cblx0XHQtLWZvbnQtc2l6ZS1zbWFsbDogY2FsYygyMCAvIHZhcigtLWdsb2JhbC1mb250LXNpemUpICogMS41dncpO1xuXHRcdC0tZm9udC1zaXplLXJlZ3VsYXI6IGNhbGMoMjggLyB2YXIoLS1nbG9iYWwtZm9udC1zaXplKSAqIDEuNXZ3KTtcblx0XHQtLWZvbnQtc2l6ZS1iaWc6IGNhbGMoMzYgLyB2YXIoLS1nbG9iYWwtZm9udC1zaXplKSAqIDEuNXZ3KTtcblx0XHQtLWZvbnQtc2l6ZS1sYXJnZTogY2FsYyg2MCAvIHZhcigtLWdsb2JhbC1mb250LXNpemUpICogMS41dncpO1xuXHRcdC0tZm9udC1zaXplLWxhcmdlcjogY2FsYyg3MiAvIHZhcigtLWdsb2JhbC1mb250LXNpemUpICogMS41dncpO1xuXG5cdFx0LS1mb250LXNpemUtaW50cm86IGNhbGMoNDggLyB2YXIoLS1nbG9iYWwtZm9udC1zaXplKSAqIDEuNXZ3KTtcblx0fVxufVxuXG5cbiAgIiwiLypcbkNTUyBub3JtYWxpemF0aW9uIGJhc2VkIGluIHBhcnQgb24gbm9ybWFsaXplLmNzcyBieVxuTmljb2xhcyBHYWxsYWdoZXIgYW5kIEpvbmF0aGFuIE5lYWwgaHR0cDovL25lY29sYXMuZ2l0aHViLmlvL25vcm1hbGl6ZS5jc3MvXG4qL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIE5vcm1hbGl6ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuXHRsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuXHQtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuXHRtYXJnaW46IDA7XG59XG5cbmxpbmsge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuXHRmb250LXNpemU6IDJlbTtcblx0bWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuXHRib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuXHRoZWlnaHQ6IDA7IC8qIDEgKi9cblx0b3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG5cdGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IC8qIDEgKi9cblx0Zm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovICAvKiBwaHBjczppZ25vcmUgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuXHRmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuXHRmb250LWZhbWlseTogbW9ub3NwYWNlOyAvKiAxICovXG5cdGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuXHRmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuXHRmb250LXNpemU6IDc1JTtcblx0bGluZS1oZWlnaHQ6IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuXHRib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG5cdHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcblx0Ym9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuXHRmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuXHRmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cblx0bGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cblx0bWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHtcblx0b3ZlcmZsb3c6IHZpc2libGU7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuXHR0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLyogMSAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcblx0Ym9yZGVyLXN0eWxlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG5cdG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuXHRwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cblx0Y29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cblx0ZGlzcGxheTogdGFibGU7IC8qIDEgKi9cblx0bWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG5cdHBhZGRpbmc6IDA7IC8qIDMgKi9cblx0d2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuXHRvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cblx0cGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcblx0aGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuXHRvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG5cdGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcblx0ZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEhpZGUgbGF6eSBsb2FkIHBsYWNlaG9sZGVycyB3aGVuIGJyb3dzZXIgZG9lcyBub3QgaGF2ZSBKUyBlbmFibGVkLlxuICogU2hvdWxkIG92ZXJyaWRlIGV2ZXJ5dGhpbmcsIHRoZXJlZm9yZSAhaW1wb3J0YW50LlxuICovXG4ubm8tanMgLmxhenkge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCJAaW1wb3J0IFwiX2N1c3RvbS1wcm9wZXJ0aWVzLmNzc1wiO1xuXG5AZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6ICdOb3RDb3VyaWVyJztcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRzcmM6IGxvY2FsKCdOb3RDb3VyaWVyJyksIHVybCgnLi4vZm9udHMvbm90Y291cmllcnNhbnMvTm90Q291cmllclNhbnMud29mZicpIGZvcm1hdCgnd29mZicpO1xufVxuXG4vKiBAZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6ICdGcmVlc2VyaWYnO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdHNyYzogbG9jYWwoJ0ZyZWVzZXJpZicpLCB1cmwoJy4uL2ZvbnRzL2ZyZWVzZXJpZi9GcmVlU2VyaWYudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoJy4uL2ZvbnRzL2ZyZWVzZXJpZi9GcmVlU2VyaWYub3RmJykgZm9ybWF0KCdvcGVudHlwZScpO1xufSAqL1xuXG4vKiBlbWJlZCBFQl9HYXJhbW9uZCBmcm9tIC4uL2ZvbnRzL0VCX0dhcmFtb25kL0VCR2FyYW1vbmQtSXRhbGljLVZhcmlhYmxlRm9udF93Z2h0LnR0ZiBhbmQgRUJHYXJhbW9uZC1WYXJpYWJsZUZvbnRfd2dodC50dGYgKi9cbkBmb250LWZhY2Uge1xuXHRmb250LWZhbWlseTogJ0VCR2FyYW1vbmQnO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdHNyYzogbG9jYWwoJ0VCR2FyYW1vbmQnKSwgdXJsKCcuLi9mb250cy9FQl9HYXJhbW9uZC9FQkdhcmFtb25kLVZhcmlhYmxlRm9udF93Z2h0LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiAnRUJHYXJhbW9uZCc7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0c3JjOiBsb2NhbCgnRUJHYXJhbW9uZCcpLCB1cmwoJy4uL2ZvbnRzL0VCX0dhcmFtb25kL0VCR2FyYW1vbmQtSXRhbGljLVZhcmlhYmxlRm9udF93Z2h0LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbn1cblxuLnNhbnMge1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTtcbn1cblxuLnNlcmlmIHtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpO1xufVxuXG4ubW9ubyB7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgVHlwb2dyYXBoeVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cblxuaHRtbHtcblx0Zm9udC1zaXplOiAyNHB4OyAvKiBiYXNlIGZvbnQgc2l6ZSAqL1xufVxuXG5ib2R5LFxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG5vcHRncm91cCxcbnRleHRhcmVhIHtcblx0Y29sb3I6IHZhcigtLWdsb2JhbC1mb250LWNvbG9yKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1nbG9iYWwtZm9udC1saW5lLWhlaWdodCk7XG5cdGZvbnQtc2l6ZTogMXJlbTtcblx0Zm9udC1zaXplOiB2YXIoIC0tZm9udC1zaXplLXJlZ3VsYXIgKTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG5iLCBzdHJvbmcge1xuXHRmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG59XG5cblxuQG1lZGlhICgtLXdpZGUtbWVudS1xdWVyeSkge1xuXHRib2R5LFxuXHRidXR0b24sXG5cdGlucHV0LFxuXHRzZWxlY3QsXG5cdG9wdGdyb3VwLFxuXHR0ZXh0YXJlYSB7XG5cdFx0LyogZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtcmVndWxhcik7ICovXG5cdFx0LyogZm9udC1zaXplOiAxLjh2dzsgKi9cblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1yZWd1bGFyKTtcblx0fVxufVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1oaWdobGlnaHQtZm9udC1mYW1pbHkpO1xuXHQvKiBmb250LXN0cmV0Y2g6IGNvbmRlbnNlZDsgKi9cblx0Y2xlYXI6IGJvdGg7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7IFxuXHRsaW5lLWhlaWdodDogdmFyKCAtLWxpbmUtaGVpZ2h0LWhlYWRlciApO1xufVxuXG5oMSxcbmgyIHtcblx0Zm9udC1zaXplOiB2YXIoIC0tZm9udC1zaXplLWxhcmdlICk7XG59XG5cbi5lbnRyeS1oZWFkZXIgaDEuZW50cnktdGl0bGUsXG4ucGFnZS1oZWFkZXIgLnBhZ2UtdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sYXJnZSk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoIC0tZm9udC1zZXJpZiApO1xuXHRtYXJnaW4tdG9wOiAwO1xuLyogXHRtYXJnaW4tYm90dG9tOiAxZW07ICovXG4gICAgbWF4LXdpZHRoOiB2YXIoIC0tY29udGVudC13aWR0aCApO1xufVxuXG5kZm4sXG5jaXRlLFxuZW0sXG5pIHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5ibG9ja3F1b3RlLFxucSB7XG5cdHF1b3RlczogXCJcIiBcIlwiO1xufVxuXG5ibG9ja3F1b3RlIHtcblx0Ym9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1jb2xvci1xdW90ZS1ib3JkZXIpO1xuXHRtYXJnaW46IDA7XG59XG5cbi5lbnRyeS1jb250ZW50ID4gYmxvY2txdW90ZSB7XG5cdHBhZGRpbmctbGVmdDogMWVtO1xuXHRtYXJnaW4tbGVmdDogMS41cmVtO1xufVxuXG5AbWVkaWEgKC0tY29udGVudC1xdWVyeSkge1xuXG5cdC5lbnRyeS1jb250ZW50ID4gYmxvY2txdW90ZSB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdH1cbn1cblxuYmxvY2txdW90ZSBjaXRlIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXF1b3RlLWNpdGF0aW9uKTtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRtYXJnaW4tdG9wOiAxZW07XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5hZGRyZXNzIHtcblx0bWFyZ2luOiAwIDAgMS41ZW07XG59XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG5wcmUge1xuXHQvKiBiYWNrZ3JvdW5kOiAjZWVlO1xuXHRmb250LWZhbWlseTogXCJDb3VyaWVyIDEwIFBpdGNoXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcblx0Zm9udC1zaXplOiAwLjkzNzVyZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjY7XG5cdG1hcmdpbi1ib3R0b206IDEuNWVtO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdG92ZXJmbG93OiBhdXRvO1xuXHRwYWRkaW5nOiAxLjVlbTsgKi9cbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cblxuY29kZSxcbmtiZCxcbnR0LFxudmFyIHtcblx0Zm9udC1mYW1pbHk6IE1vbmFjbywgQ29uc29sYXMsIFwiQW5kYWxlIE1vbm9cIiwgXCJEZWphVnUgU2FucyBNb25vXCIsIG1vbm9zcGFjZTtcblx0Zm9udC1zaXplOiAwLjhyZW07XG59XG5cbmFiYnIsXG5hY3JvbnltIHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjNjY2O1xuXHRjdXJzb3I6IGhlbHA7XG59XG5cbm1hcmssXG5pbnMge1xuXHRiYWNrZ3JvdW5kOiAjZmZmOWMwO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmJpZyB7XG5cdGZvbnQtc2l6ZTogMTI1JTtcbn1cblxuIiwiQGltcG9ydCBcIl9jdXN0b20tcHJvcGVydGllcy5jc3NcIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBFbGVtZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbmh0bWwge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuXG4vKipcbiAqIEluaGVyaXQgYm94LXNpemluZyB0byBtYWtlIGl0IGVhc2llciB0byBjaGFuZ2UgdGhlIHByb3BlcnR5IGZvclxuICogY29tcG9uZW50cyB0aGF0IGxldmVyYWdlIG90aGVyIGJlaGF2aW9yOyBzZWVcbiAqIGh0dHA6Ly9jc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UvXG4gKi9cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG5cdGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG5ib2R5IHtcblx0YmFja2dyb3VuZDogdmFyKCAtLXRoZW1lLWNvbG9yLXdoaXRlICk7XG5cdC8qIEZhbGxiYWNrIGZvciB3aGVuIHRoZXJlIGlzIG5vIGN1c3RvbSBiYWNrZ3JvdW5kIGNvbG9yIGRlZmluZWQuICovXG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG5ociB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG5cdGJvcmRlcjogMDtcblx0aGVpZ2h0OiAxcHg7XG5cdG1hcmdpbi1ib3R0b206IDEuNWVtO1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuXG51bCxcbm9sIHtcblx0bWFyZ2luOiAwIDAgMS41ZW0gMS41ZW07XG59XG5cbnVsIHtcblx0bGlzdC1zdHlsZTogZGlzYztcbn1cblxub2wge1xuXHRsaXN0LXN0eWxlOiBkZWNpbWFsO1xufVxuXG5saSA+IHVsLFxubGkgPiBvbCB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cdG1hcmdpbi1sZWZ0OiAxLjVlbTtcbn1cblxuZHQge1xuXHRmb250LXdlaWdodDogNzAwO1xufVxuXG5kZCB7XG5cdG1hcmdpbjogMCAxLjVlbSAxLjVlbTtcbn1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbmltZyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRoZWlnaHQ6IGF1dG87XG5cdG1heC13aWR0aDogMTAwJTtcbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cblxuLyogRXh0cmEgd2lkZSBpbWFnZXMgd2l0aGluIGZpZ3VyZSB0YWdzIGRvbid0IG92ZXJmbG93IHRoZSBjb250ZW50IGFyZWEuICovXG5maWd1cmUge1xuXHRtYXJnaW46IDAuNWVtIDA7XG59XG5cbnRhYmxlIHtcblx0bWFyZ2luOiAwIDAgMS41ZW07XG5cdHdpZHRoOiAxMDAlO1xufVxuXG5cbmRhdGUge1xuXHRsaW5lLWhlaWdodDogdmFyKCAtLWxpbmUtaGVpZ2h0LWhlYWRlciApO1xufVxuXG5maWdjYXB0aW9uIHtcblx0Zm9udC1mYW1pbHk6IHZhciggLS1mb250LW1vbm8gKTtcblx0bWF4LXdpZHRoOiA1MHJlbTtcblx0bWFyZ2luOiAwIGF1dG87XG5cdGZvbnQtc2l6ZTogdmFyKCAtLWZvbnQtc2l6ZS1zbWFsbCApICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoIC0tcGFkICk7XG59XG5cbmVtIHtcblx0LyogZm9udC1zdHlsZTogbm9ybWFsOyAqL1xufVxuXG5zdHJvbmcge1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbnAuaGFzLWluZGVudGVkLWF0dHJpYnV0ZSB7XG5cdHBhZGRpbmctbGVmdDogMmVtO1xufSIsIkBpbXBvcnQgXCJfY3VzdG9tLXByb3BlcnRpZXMuY3NzXCI7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG5cbmEge1xuXHRjb2xvcjogYmxhY2s7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYnV0dG9uLCBcbmF7XG5cdGNvbG9yOiBibGFjaztcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhciggLS1jb2xvci10aGVtZS1ibGFjayApO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFxuXHQmID4gKiB7XG5cdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0fVxuXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMsXG5cdCY6YWN0aXZlIHtcblx0XHQvKiBjb2xvcjogdmFyKC0tY29sb3ItbGluay1hY3RpdmUpOyAqL1xuXHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoIC0tY29sb3ItdGhlbWUtYmxhY2sgKTtcblx0fVxuXHRcblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogdGhpbiBkb3R0ZWRcdFxuXHR9XG5cdFxuXHQmOmhvdmVyLFxuXHQmXHQ6YWN0aXZlIHtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XHRcbn1cblxuLnRyaWJlLWV2ZW50cy1jb250ZW50LFxuLnBhZ2UtY29udGVudCxcbi5lbnRyeS1jb250ZW50LFxuLmVudHJ5LXN1bW1hcnkge1xuXHQmIGEge1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoIC0tZm9udC1zZXJpZiApO1xuXHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRmb250LXNpemU6IDEuMWVtO1xuXHR9XG59XG5cbi5ibG9jay1saW5rIHtcblx0ZGlzcGxheTogaW5saW5lO1xuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cbmgxIGEsXG5hIGgxIHtcblx0LyogYm94LXNoYWRvdzogaW5zZXQgMCAtMC4ycmVtIDAgIzAwMCwgaW5zZXQgMCAtMC40cmVtIDAgI2ZmZjsgKi9cblx0LyogdGV4dC1zaGFkb3c6IC0ycHggMnB4IDBweCBibGFjaywgMnB4IDJweCAwcHggYmxhY2ssIDJweCAtMnB4IDBweCBibGFjaywgLTJweCAtMnB4IDBweCBibGFjazsgKi9cblx0LyogdGV4dC1kZWNvcmF0aW9uOiBub25lOyAqL1xuXHQvKiB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MgZWFzZTsgKi9cbn1cblxuaDEgYTpob3ZlcixcbmgxIGE6Zm9jdXMsXG5oMSBhOmFjdGl2ZSxcbmEgaDE6aG92ZXIsXG5hIGgxOmZvY3VzLFxuYSBoMTphY3RpdmUge1xuXHQvKiBjb2xvcjogdmFyKC0tY29sb3ItbGluay1hY3RpdmUpOyAqL1xuXHQvKiBib3gtc2hhZG93OiBpbnNldCAwIC0wLjFyZW0gMCAjMDAwLCBpbnNldCAwIC0wLjRyZW0gMCAjZmZmOyAqL1xufVxuXG4uZmFuY3kgYSB7XG5cdC8qIGRpc3BsYXk6IGlubGluZS1ibG9jazsgKi9cblx0Ym9yZGVyOiBub25lO1xuXHR0cmFuc2l0aW9uOiBib3JkZXIgLjJzIHZhcigtLWJvdW5jZTIpLCBjb2xvciAuNHMgdmFyKC0tYm91bmNlMik7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Zm9udC1zaXplOiAxLjJlbTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhciggLS1jb2xvci10aGVtZS1ibGFjayApO1xuXHRjb2xvcjogYmxhY2s7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IHZhcigtLWNvbG9yLXRoZW1lLWJsYWNrKSAhaW1wb3J0YW50O1xuXHRcdGJvcmRlci1ib3R0b206IDNweCBzb2xpZCB2YXIoIC0tY29sb3ItdGhlbWUtYmxhY2sgKTtcblx0XHRib3JkZXItY29sb3I6IHZhciggLS1jb2xvci10aGVtZS1ibGFjayApICFpbXBvcnRhbnQ7XG5cdFx0LyogZm9udC1zaXplOiAxLjE1ZW07ICovXG5cdFx0LyogYW5pbWF0aW9uOiBydWJiZXJCYW5kIDFzIDE7ICovXG5cdH1cbn1cblxuLmludmVydGVkIC5mYW5jeSBhe1xuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogdmFyKC0tY29sb3ItdGhlbWUteWVsbG93KSAhaW1wb3J0YW50O1xuXHRcdGJvcmRlci1ib3R0b206IDNweCBzb2xpZCB2YXIoIC0tY29sb3ItdGhlbWUteWVsbG93ICk7XG5cdFx0Ym9yZGVyLWNvbG9yOiB2YXIoIC0tY29sb3ItdGhlbWUteWVsbG93ICkgIWltcG9ydGFudDtcblx0XHQvKiBmb250LXNpemU6IDEuMTVlbTsgKi9cblx0XHQvKiBhbmltYXRpb246IHJ1YmJlckJhbmQgMXMgMTsgKi9cblx0fVxufVxuXG4uaW52ZXJ0ZWQgYSB7XG5cdGNvbG9yOiB2YXIoIC0tY29sb3ItdGhlbWUtd2hpdGUgKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoIC0tY29sb3ItdGhlbWUtd2hpdGUgKTtcbn1cblxuLmludmVydGVkIGE6aG92ZXIge1xuXHRjb2xvcjogdmFyKCAtLWNvbG9yLXRoZW1lLXllbGxvdyApO1xuXHRib3JkZXItY29sb3I6IHZhciggLS1jb2xvci10aGVtZS15ZWxsb3cgKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuIiwiXG5cbi5jb2wtMixcbi5jb2wtMyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXG5cdCYubmIgPiAqIHtcblx0XHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0fVxufVxuXG4uY29sLTIgPiAqLFxuLmNvbC0zID4gKiB7XG5cdHBhZGRpbmc6IHZhcigtLXBhZCk7XG5cblx0JjplbXB0eSB7XG5cdFx0cGFkZGluZzogMDtcblx0fVxufVxuXG4uY29sLTIgPiAqOm50aC1jaGlsZCAoZXZlbikge1xuXHRib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLm13LWMge1xuXHRtYXgtd2lkdGg6IG5vbmU7XG59XG5cbmEuY2xuIHtcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblxuXHQmOmhvdmVyIHtcblx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHR9XG59XG5cblxuQG1lZGlhICgtLXdpZGUtbWVudS1xdWVyeSkge1xuXG5cdC5tdy1jIHtcblx0XHRtYXgtd2lkdGg6IDcwdnc7XG5cdH1cblxuXHQuY29sLTIsXG5cdC5jb2wtMyB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuXHR9XG5cblx0LmNvbC0yID4gKixcblx0LmNvbC0zID4gKiB7XG5cdFx0Z3JpZC1jb2x1bW46IHNwYW4gMjtcblx0fVxuXG5cdC5jb2wtMiA+ICo6bnRoLWNoaWxkKG9kZCksXG5cdC5jb2wtMyA+ICo6bnRoLWNoaWxkKG9kZCkge1xuXHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXRoZW1lLWJsYWNrKTtcblx0fVxufVxuXG4vKiBhZGp1c3QgY29sLTMgZm9yIHdpZGVyIHNjcmVlbnMgKi9cbkBtZWRpYSAoLS1zaWRlYmFyLXF1ZXJ5KSB7XG5cblx0LmNvbC0zIHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIDFmcik7XG5cdH1cblxuXHQuY29sLTMgPiAqIHtcblx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci10aGVtZS1ibGFjayk7XG5cdFx0Z3JpZC1jb2x1bW46IHNwYW4gMjtcblx0fVxuXG5cdC8qIG9uZSBkYW5nbGluZyBhcnRpY2xlLiBjZW50ZXIgaXQgYW5kIGFkZCBib3JkZXIgKi9cblx0LmNvbC0zID4gKjpudGgtbGFzdC1jaGlsZCgxKTpudGgtY2hpbGQoM24rMSkge1xuXHRcdGdyaWQtY29sdW1uOiAzIC8gc3BhbiAyO1xuXHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY29sb3ItdGhlbWUtYmxhY2spO1xuXHR9XG5cblx0LyogdHdvIGRhbmdsaW5nIGFydGljbGVzLiBjZW50ZXIgKyBib3JkZXIgKi9cblx0LmNvbC0zID4gKjpudGgtbGFzdC1jaGlsZCgyKTpudGgtY2hpbGQoM24rMSkge1xuXHRcdGdyaWQtY29sdW1uOiAyL3NwYW4gMjtcblx0fVxuXG5cdC5jb2wtMyA+ICo6bnRoLWxhc3QtY2hpbGQoMSk6bnRoLWNoaWxkKDNuKzIpIHtcblx0XHQvKiBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci10aGVtZS1ibGFjayk7ICovXG5cdH1cblxuXHQuY29sLTMgPiAqOm50aC1jaGlsZCgzbikge1xuXHRcdGJvcmRlci1yaWdodDogbm9uZTtcblx0fVxufVxuXG4uaW52ZXJ0ZWQuY29sLTIgPiAqOm50aC1jaGlsZCgyKSB7XG5cdGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY29sb3ItdGhlbWUteWVsbG93KTtcbn1cbiIsIi8qIE1hcnF1ZWUgc3R5bGVzICovXG4ubWFycXVlZSB7XG5cdC0tZ2FwOiAxcmVtO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHRnYXA6IHZhcigtLWdhcCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBibGFjaztcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWFycXVlZS1iZywgd2hpdGUpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1ib3gtc2hhZG93LXRvcCk7XG59XG5cbi5tYXJxdWVlX19jb250ZW50IHtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuXHRnYXA6IHZhcigtLWdhcCk7XG5cdG1pbi13aWR0aDogMTAwJTtcblx0YW5pbWF0aW9uOiBzY3JvbGwgdmFyKC0tbWFycXVlZS1kdXJhdGlvbiwgMTBzKSBsaW5lYXIgaW5maW5pdGU7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbjogMDtcbn1cblxuLm1hcnF1ZWVfX2NvbnRlbnQgcCB7XG5cdG1hcmdpbjogMDtcbn1cblxuQGtleWZyYW1lcyBzY3JvbGwge1xuXHRmcm9tIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cblxuXHR0byB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTEwMCUgLSB2YXIoLS1nYXApKSk7XG5cdH1cbn1cblxuLyogUGF1c2UgYW5pbWF0aW9uIHdoZW4gcmVkdWNlZC1tb3Rpb24gaXMgc2V0ICovXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuXHQubWFycXVlZV9fY29udGVudCB7XG5cdFx0YW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZCAhaW1wb3J0YW50O1xuXHR9XG59XG5cbi8qIFJldmVyc2UgYW5pbWF0aW9uICovXG4ubWFycXVlZS0tcmV2ZXJzZSAubWFycXVlZV9fY29udGVudCB7XG5cdGFuaW1hdGlvbi1kaXJlY3Rpb246IHJldmVyc2U7XG59XG5cbi8qIFBhdXNlIG9uIGhvdmVyICovXG4ubWFycXVlZS0taG92ZXItcGF1c2U6aG92ZXIgLm1hcnF1ZWVfX2NvbnRlbnQge1xuXHRhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xufVxuXG4vKiBBdHRlbXB0IHRvIHNpemUgcGFyZW50IGJhc2VkIG9uIGNvbnRlbnQuIEtlZXAgaW4gbWluZCB0aGF0IHRoZSBwYXJlbnQgd2lkdGggaXMgZXF1YWwgdG8gYm90aCBjb250ZW50IGNvbnRhaW5lcnMgdGhhdCBzdHJldGNoIHRvIGZpbGwgdGhlIHBhcmVudC4gKi9cbi5tYXJxdWVlLS1maXQtY29udGVudCB7XG5cdG1heC13aWR0aDogZml0LWNvbnRlbnQ7XG59XG5cbi8qIEEgZml0LWNvbnRlbnQgc2l6aW5nIGZpeDogQWJzb2x1dGUgcG9zaXRpb24gdGhlIGR1cGxpY2F0ZSBjb250YWluZXIuIFRoaXMgd2lsbCBzZXQgdGhlIHNpemUgb2YgdGhlIHBhcmVudCB3cmFwcGVyIHRvIGEgc2luZ2xlIGNoaWxkIGNvbnRhaW5lci4gU2hvdXQgb3V0IHRvIE9sYXZpJ3MgYXJ0aWNsZSB0aGF0IGhhZCB0aGlzIHNvbHV0aW9uIPCfkY8gQGxpbms6IGh0dHBzOi8vb2xhdmloYWFwYWxhLmZpLzIwMjEvMDIvMjMvbW9kZXJuLW1hcnF1ZWUuaHRtbCAgKi9cbi5tYXJxdWVlLS1wb3MtYWJzb2x1dGUgLm1hcnF1ZWVfX2NvbnRlbnQ6bGFzdC1jaGlsZCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xufVxuXG4vKiBFbmFibGUgcG9zaXRpb24gYWJzb2x1dGUgYW5pbWF0aW9uIG9uIHRoZSBkdXBsaWNhdGUgY29udGVudCAobGFzdC1jaGlsZCkgKi9cbi5lbmFibGUtYW5pbWF0aW9uIC5tYXJxdWVlLS1wb3MtYWJzb2x1dGUgLm1hcnF1ZWVfX2NvbnRlbnQ6bGFzdC1jaGlsZCB7XG5cdGFuaW1hdGlvbi1uYW1lOiBzY3JvbGwtYWJzO1xufVxuXG5Aa2V5ZnJhbWVzIHNjcm9sbC1hYnMge1xuXHRmcm9tIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygxMDAlICsgdmFyKC0tZ2FwKSkpO1xuXHR9XG5cblx0dG8ge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0fVxufVxuXG5cbi8qIGZpeGVkIG1hcnF1ZWUgYmFyICovXG4ubWFycXVlZS1iYXIge1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBjbGlwO1xuXHR3aWR0aDogMTAwJTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJsYWNrO1xuXG5cdHVsIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXG5cdFx0bGkge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lO1xuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiBcIiB8IFwiO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi5zaXRlLWhlYWRlciB7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMCB2YXIoLS1tZW51YmFyLXdpZHRoKSAwIDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IHZhcigtLXotaGVhZGVyKTtcblxuXG5cdCYgLm5ld3NsZXR0ZXItc2lnbnVwIHtcblxuXHRcdCYgc3ZnIGNpcmNsZSB7XG5cdFx0XHR0cmFuc2l0aW9uOiBmaWxsIDAuM3MgZWFzZTtcblx0XHR9XG5cblx0XHQmOmhvdmVyIHN2ZyBjaXJjbGUge1xuXHRcdFx0ZmlsbDogdmFyKC0tY29sb3ItdGhlbWUtd2hpdGUpICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG5cblx0JiAuaGVhZGVyLWltYWdlIHN2ZyAuZmlsbCB7XG5cdFx0dHJhbnNpdGlvbjogZmlsbCAwLjZzIGVhc2U7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10aGVtZS15ZWxsb3cpO1xuXG5cdFx0JiAuaGVhZGVyLWltYWdlIHN2ZyAuZmlsbCB7XG5cdFx0XHRmaWxsOiB2YXIoLS1jb2xvci10aGVtZS15ZWxsb3cpO1xuXHRcdH1cblx0fVxufVxuXG4uZnVsbC13aWR0aCB7XG5cdG1hcmdpbjogMCAwIDAgY2FsYyh2YXIoLS1wYWQpICogLTEpO1xufVxuXG4uaGVhZGVyLWltYWdlIHtcblx0aGVpZ2h0OiA1ZW07XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmctcmlnaHQ6IDNlbTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdCYgc3ZnIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdG1heC13aWR0aDogODV2dztcblx0fVxuXG5cdEBtZWRpYSAoLS13aWRlLW1lbnUtcXVlcnkpIHtcblx0XHRoZWlnaHQ6IDhlbTtcblxuXHRcdCYgc3ZnIHtcblx0XHRcdG1heC13aWR0aDogOTB2dztcblx0XHRcdGJvdHRvbTogLTAuNXJlbTtcblx0XHR9XG5cdH1cbn1cblxuYS5ob21lLWxpbmsge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5uZXdzbGV0dGVyLXNpZ251cCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHR6LWluZGV4OiAxO1xuXHRyaWdodDogdmFyKC0tcGFkKTtcblxuXHRAbWVkaWEgKC0td2lkZS1tZW51LXF1ZXJ5KSB7XG5cdFx0cmlnaHQ6IHZhcigtLW1lbnViYXItd2lkdGgpO1xuXHR9XG59XG5cbi5zaWdudXAtbGluayB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDI1dnc7XG5cdHRvcDogLTEydnc7XG5cdHJpZ2h0OiAwO1xufVxuXG5AbWVkaWEgKC0td2lkZS1tZW51LXF1ZXJ5KSB7XG5cblx0LnNpZ251cC1saW5rIHtcblx0XHR3aWR0aDogMTV2dztcblx0XHR0b3A6IC03LjV2dztcblx0fVxufVxuXG4vKiBzaGFkb3cgb24gdGhlIGhlYWRlciBmb3IgcGFnZXMgdGhhdCBkb250IGhhdmUgYW4gZWxlbWVudCB0aGF0IGRyb3AgdGhlIHNoYWRvdyB0aGVyZSAqL1xuLnBhZ2UtdGVtcGxhdGUsXG4ucGFnZS10ZW1wbGF0ZS1kZWZhdWx0IHtcblxuXHQmIC5zaXRlLW1haW4ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMHB4O1xuXHRcdFx0Ym94LXNoYWRvdzogdmFyKC0tYm94LXNoYWRvdy10b3ApO1xuXHRcdFx0ei1pbmRleDogdmFyKC0tei1oZWFkZXIpO1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbi5zb2NpYWxzIHtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMTBweDtcblx0bGVmdDogdmFyKC0tcGFkKTtcblxuXHQmIGEge1xuXHRcdGJvcmRlci1ib3R0b206IDA7XG5cdH1cblxuXHQmIGxpIHtcblx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cblx0XHQmIHN2ZyB7XG5cdFx0XHR3aWR0aDogMnZ3O1xuXHRcdFx0bWluLXdpZHRoOiAzMHB4O1xuXHRcdFx0bWF4LXdpZHRoOiA2MHB4O1xuXHRcdFx0aGVpZ2h0OiAydnc7XG5cdFx0XHRtaW4taGVpZ2h0OiAzMHB4O1xuXHRcdFx0bWF4LWhlaWdodDogNjBweDtcblx0XHRcdHRyYW5zaXRpb246IGZpbGwgMC4zcyBlYXNlO1xuXHRcdH1cblxuXHRcdCY6aG92ZXIgc3ZnIHtcblx0XHRcdGZpbGw6IHdoaXRlO1xuXHRcdH1cblx0fVxufSIsIi5mbGlja2l0eS1zbGlkZXIge1xuXG4gICAgJiAuc2xpZGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTAlO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgIH1cblxuICAgICYgLnNsaWRlLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBcbiAgICAgICAgJiBoMyB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhciggLS1wYWQgKTtcbiAgICAgICAgICAgIC8qIGZvbnQtZmFtaWx5OiB2YXIoIC0tZm9udC1zZXJpZiApOyAqL1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiAuc2xpZGUtY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA0LjVyZW07XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgfVxuXG4gICAgJiAudmlkZW8tb2VtYmVkLFxuICAgICYgLnNsaWRlLWJnIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiBjYWxjKCAyNSUgLSB2YXIoIC0tcGFkICkgLyAyICk7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmIC5oYXMtdmlkZW8ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJiAudmlkZW8tb2VtYmVkIHtcblxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSggLTUwJSwgLTUwJSApO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAtLWJ1dHRvbi1zaXplOiA0dnc7XG4gICAgICAgICAgICAtLWhhbGYtc2l6ZTogY2FsYyggdmFyKCAtLWJ1dHRvbi1zaXplICkgLyAyICk7XG4gICAgICAgICAgICB3aWR0aDogdmFyKCAtLWJ1dHRvbi1zaXplICk7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhciggLS1idXR0b24tc2l6ZSApO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogdmFyKCAtLWhhbGYtc2l6ZSApIDBweCB2YXIoIC0taGFsZi1zaXplICkgdmFyKCAtLWJ1dHRvbi1zaXplICk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHdoaXRlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgdmFyKCAtLWJvdW5jZTIgKTtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIC0tYnV0dG9uLXNpemU6IDh2dztcbiAgICAgICAgICAgIC0taGFsZi1zaXplOiBjYWxjKCB2YXIoIC0tYnV0dG9uLXNpemUgKSAvIDIgKTtcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoIC0tYnV0dG9uLXNpemUgKTtcbiAgICAgICAgICAgIGhlaWdodDogdmFyKCAtLWJ1dHRvbi1zaXplICk7XG4gICAgICAgICAgICAvKiBib3JkZXI6IHNvbGlkIDFweCB3aGl0ZTsgKi9cbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCAtNTUlLCAtNTAlICk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCAyNTUsIDI1NSwgMjU1LCAwLjUgKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzIHZhciggLS1ib3VuY2UyICk7XG4gICAgICAgIH1cblxuICAgICAgICAmIGlmcmFtZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgLS1idXR0b24tc2l6ZTogMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoIDI1NSwgMjU1LCAyNTUsIC43ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAtLWJ1dHRvbi1zaXplOiA2MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5oaWRlLXBsYXktYnV0dG9uIHtcbiAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgJiAuc2xpZGUtYmcge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIH1cblxuICAgICYgLnNsaWRlLWRlc2NyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLWNvbG9yLXRoZW1lLXdoaXRlICk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCB2YXIoIC0tcGFkICk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCggNzUlICk7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgYm94LXNoYWRvdzogLTEwcHggMCAxMHB4IHZhciggLS1ib3gtc2hhZG93LWNvbG9yICk7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgIH1cblxuICAgICYgLnNsaWRlIC5zbGlkZS1kZXNjci5ob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCggMCApO1xuICAgIH1cbn1cblxuXG4uY2Fyb3VzZWwtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJiAubmV4dC1zcGVha2VyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiB2YXIoIC0tei1pbnRlcmZhY2UgKTtcbiAgICAgICAgY3Vyc29yOiBlLXJlc2l6ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoIC0tcGFkICk7XG4gICAgfVxuXG4gICAgJiAuY2Fyb3VzZWwtY291bnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IHZhciggLS1wYWQgKTtcbiAgICB9XG59XG5cbkBtZWRpYSAoLS13aWRlLW1lbnUtcXVlcnkpIHtcbiAgICAuZmxpY2tpdHktc2xpZGVyIHtcblxuICAgICAgICAmIC5zbGlkZS1kZXNjciB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuLyogICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gKHZhcigtLXBhZCkvMikpOyAqL1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCA1MCUgKTtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAmIC5zbGlkZS1kZXNjci5ob3ZlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoIDAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJvdXNlbC13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgICAgICAmIC5uZXh0LXNwZWFrZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IHZhciggLS1wYWQgKTtcbiAgICAgICAgICAgIHotaW5kZXg6IHZhciggLS16LWludGVyZmFjZSApO1xuICAgICAgICAgICAgY3Vyc29yOiBlLXJlc2l6ZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAmIC5jYXJvdXNlbC1jb3VudGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgei1pbmRleDogdmFyKCAtLXotaW50ZXJmYWNlICk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIi5pY29uIHtcbn1cblxuLmljb246YWZ0ZXIge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGNvbnRlbnQ6ICcnO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xufVxuXG4uaWNvbi1hZnRlcjphZnRlciB7XG5cdG1hcmdpbi1sZWZ0OiAwLjVyZW07XG59XG5cbi5pY29uOmJlZm9yZSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0Y29udGVudDogJyc7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG59XG5cbi5pY29uLWJlZm9yZTo6YmVmb3JlIHtcblx0bWFyZ2luLXJpZ2h0OiAwLjVyZW07XG59XG5cbi5pY29uLWhpZGUtdGV4dCB7XG5cdFxufVxuXG4uaWNvbi1hcnJvdy1lLmljb24tYmVmb3JlOmJlZm9yZSxcbi5pY29uLWFycm93LWUuaWNvbi1hZnRlcjphZnRlciB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCggJy4uL3N2Zy9hcnJvdy1lLnN2ZycgKTtcblx0YmFja2dyb3VuZC1zaXplOiAyNHB4IDE2cHg7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi5pY29uLWFycm93LXcuaWNvbi1iZWZvcmU6YmVmb3JlLFxuLmljb24tYXJyb3ctdy5pY29uLWFmdGVyOmFmdGVyIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCAnLi4vc3ZnL2Fycm93LXcuc3ZnJyApO1xuXHRiYWNrZ3JvdW5kLXNpemU6IDI0cHggMTZweDtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMTZweDtcbn0iLCIucHVsc2Uge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcblx0YW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xuXHQtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG5cdGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG5cdC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcblx0YW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcblx0MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcblx0fVxuXHQ1MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcblx0fVxuXHQxMDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG5cdH1cbn1cblxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZS1pbiB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGUtb3V0IHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuXG5cblxuQGtleWZyYW1lcyBwdWxzZSB7XG5cdDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG5cdH1cblx0NTAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMS4yLCAxLjIsIDEuMik7XG5cdH1cblx0MTAwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuXHR9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBydWJiZXJCYW5kIHtcblx0MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcblx0fVxuXHQzMCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcblx0fVxuXHQ0MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcblx0fVxuXHQ1MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcblx0fVxuXHQ2NSUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcblx0fVxuXHQ3NSUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcblx0fVxuXHQxMDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBydWJiZXJCYW5kIHtcblx0MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcblx0fVxuXHQzMCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcblx0fVxuXHQ0MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcblx0fVxuXHQ1MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcblx0fVxuXHQ2NSUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcblx0fVxuXHQ3NSUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcblx0fVxuXHQxMDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG5cdH1cbn1cblxuXG5Aa2V5ZnJhbWVzIHdvYmJsZS1ob3ItYm90dG9tIHtcblx0MCUsXG5cdDEwMCUge1xuXHRcdFx0ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuXHRcdFx0ICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuXHR9XG5cdDE1JSB7XG5cdFx0XHQgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCkgcm90YXRlKC02ZGVnKTtcblx0fVxuXHQzMCUge1xuXHRcdFx0ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTVweCkgcm90YXRlKDZkZWcpO1xuXHR9XG5cdDQ1JSB7XG5cdFx0XHQgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTVweCkgcm90YXRlKC0zLjZkZWcpO1xuXHR9XG5cdDYwJSB7XG5cdFx0XHQgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg5cHgpIHJvdGF0ZSgyLjRkZWcpO1xuXHR9XG5cdDc1JSB7XG5cdFx0XHQgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGUoLTEuMmRlZyk7XG5cdH1cbiAgfVxuXG5cbiAgQGtleWZyYW1lcyBzbGlkZS1pbi1ibHVycmVkLXRvcCB7XG5cdDAlIHtcblx0XHRcdCAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAwcHgpIHNjYWxlWSgyLjUpIHNjYWxlWCgwLjIpO1xuXHRcdFx0ICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMCU7XG5cdFx0XHQgIGZpbHRlcjogYmx1cig0MHB4KTtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0fVxuXHQxMDAlIHtcblx0XHRcdCAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlWSgxKSBzY2FsZVgoMSk7XG5cdFx0XHQgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG5cdFx0XHQgIGZpbHRlcjogYmx1cigwKTtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0fVxuICB9XG5cblxuICBAa2V5ZnJhbWVzIGplbGxvMiB7XG5cdGZyb20sIDExLjElLCB0byB7XG5cdCAgdHJhbnNmb3JtOiBub25lO1xuXHR9XG4gIFxuXHQyMi4yJSB7XG5cdCAgdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuXHR9XG4gIFxuXHQzMy4zJSB7XG5cdCAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcblx0fVxuICBcblx0NDQuNCUge1xuXHQgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuXHR9XG4gIFxuXHQ1NS41JSB7XG5cdCAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG5cdH1cbiAgXG5cdDY2LjYlIHtcblx0ICB0cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG5cdH1cbiAgXG5cdDc3LjclIHtcblx0ICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG5cdH1cbiAgXG5cdDg4LjglIHtcblx0ICB0cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuXHR9XG4gIH1cbiAgXG4gICIsIi8qXG5cIlNheSAnTmV2ZXJtb3JlLCdcIiBzYWlkIFNoYWRvdy5cblwiRnVjayB5b3UsXCIgc2FpZCB0aGUgcmF2ZW4u4oCdXG4qL1xuXG5cbi5zaC10IHtcblx0Ym94LXNoYWRvdzogdmFyKC0tYm94LXNoYWRvdy10b3AtaW5zZXQpO1xufVxuXG4uc2gtdG8ge1xuXHRib3gtc2hhZG93OiB2YXIoLS1ib3gtc2hhZG93LXRvcCk7XG59XG5cbi5zaC1iIHtcblx0Ym94LXNoYWRvdzogdmFyKC0tYm94LXNoYWRvdy1ib3R0b20taW5zZXQpO1xufVxuXG4uc2gtYm8ge1xuXHRib3gtc2hhZG93OiB2YXIoLS1ib3gtc2hhZG93LWJvdHRvbSk7XG59XG5cbi5zaC10YiB7XG5cdGJveC1zaGFkb3c6IHZhcigtLWJveC1zaGFkb3ctdG9wLWluc2V0KSwgdmFyKC0tYm94LXNoYWRvdy1ib3R0b20taW5zZXQpO1xufVxuXG4uc2gtdGJvIHtcblx0Ym94LXNoYWRvdzogdmFyKC0tYm94LXNoYWRvdy10b3ApLCB2YXIoLS1ib3gtc2hhZG93LWJvdHRvbSk7XG59XG5cbi8qIC5zaGFkb3ctdCB7XG5cdGJveC1zaGFkb3c6IHZhcigtLWJveC1zaGFkb3ctdG9wKTtcbn1cblxuLnNoYWRvdy1iIHtcblx0Ym94LXNoYWRvdzogdmFyKC0tYm94LXNoYWRvdy1ib3R0b20pO1xufVxuXG4uc2hhZG93LXRpIHtcblx0Ym94LXNoYWRvdzogdmFyKC0tYm94LXNoYWRvdy10b3AtaW5zZXQpO1xufVxuXG4uc2hhZG93LWJpIHtcblx0Ym94LXNoYWRvdzogdmFyKC0tYm94LXNoYWRvdy1ib3R0b20taW5zZXQpO1xufVxuXG4uc2hhZG93LXQtYiB7XG5cdGJveC1zaGFkb3c6IHZhcigtLWJveC1zaGFkb3ctdG9wKSwgdmFyKC0tYm94LXNoYWRvdy1ib3R0b20pO1xufVxuXG4uc2hhZG93LXQtYmkge1xuXHRib3gtc2hhZG93OiB2YXIoLS1ib3gtc2hhZG93LXRvcCksIHZhcigtLWJveC1zaGFkb3ctYm90dG9tLWluc2V0KTtcbn1cblxuLnNoYWRvdy10aS1iIHtcblx0Ym94LXNoYWRvdzogdmFyKC0tYm94LXNoYWRvdy10b3AtaW5zZXQpLCB2YXIoLS1ib3gtc2hhZG93LWJvdHRvbSk7XG59XG5cbi5zaGFkb3ctdGktYmkge1xuXHRib3gtc2hhZG93OiB2YXIoLS1ib3gtc2hhZG93LXRvcC1pbnNldCksIHZhcigtLWJveC1zaGFkb3ctYm90dG9tLWluc2V0KTtcbn0gKi9cbiJdfQ== */