/*! purgecss start ignore */
/*! tailwindcss v2.2.19 | MIT License | https://tailwindcss.com */
/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */
/*
Document
========
*/
/**
Use a better box model (opinionated).
*/
*,
::before,
::after {
	box-sizing: border-box;
}
/**
Use a more readable tab size (opinionated).
*/
html {
	-moz-tab-size: 4;
	-o-tab-size: 4;
	   tab-size: 4;
}
/**
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;
}
/**
Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
*/
body {
	font-family:
		system-ui,
		-apple-system, /* Firefox supports this but not yet `system-ui` */
		'Segoe UI',
		Roboto,
		Helvetica,
		Arial,
		sans-serif,
		'Apple Color Emoji',
		'Segoe UI Emoji';
}
/*
Grouping content
================
*/
/**
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
*/
hr {
	height: 0; /* 1 */
	color: inherit; /* 2 */
}
/*
Text-level semantics
====================
*/
/**
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr[title] {
	-webkit-text-decoration: underline dotted;
	        text-decoration: underline dotted;
}
/**
Add the correct font weight in Edge and Safari.
*/
b,
strong {
	font-weight: bolder;
}
/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the odd 'em' font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
	font-family:
		ui-monospace,
		SFMono-Regular,
		Consolas,
		'Liberation Mono',
		Menlo,
		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;
}
/*
Tabular data
============
*/
/**
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
*/
table {
	text-indent: 0; /* 1 */
	border-color: inherit; /* 2 */
}
/*
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 */
}
/**
Remove the inheritance of text transform in Edge and Firefox.
1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
	text-transform: none;
}
/**
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.
*/
::-moz-focus-inner {
	border-style: none;
	padding: 0;
}
/**
Restore the focus styles unset by the previous rule.
*/
:-moz-focusring {
	outline: 1px dotted ButtonText;
}
/**
Remove the additional ':invalid' styles in Firefox.
See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
*/
:-moz-ui-invalid {
	box-shadow: none;
}
/**
Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
*/
legend {
	padding: 0;
}
/**
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
	vertical-align: baseline;
}
/**
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-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.
*/
::-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.
*/
::-webkit-file-upload-button {
	-webkit-appearance: button; /* 1 */
	font: inherit; /* 2 */
}
/*
Interactive
===========
*/
/*
Add the correct display in Chrome and Safari.
*/
summary {
	display: list-item;
}
/**
 * Manually forked from SUIT CSS Base: https://github.com/suitcss/base
 * A thin layer on top of normalize.css that provides a starting point more
 * suitable for web applications.
 */
/**
 * Removes the default spacing and border for appropriate elements.
 */
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}
button {
  background-color: transparent;
  background-image: none;
}
fieldset {
  margin: 0;
  padding: 0;
}
ol,
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
/**
 * Tailwind custom reset styles
 */
/**
 * 1. Use the user's configured `sans` font-family (with Tailwind's default
 *    sans-serif font stack as a fallback) as a sane default.
 * 2. Use Tailwind's default "normal" line-height so the user isn't forced
 *    to override it to ensure consistency even when using the default theme.
 */
html {
  font-family: "Roboto", "Arial", sans-serif; /* 1 */
  line-height: 1.5; /* 2 */
}
/**
 * Inherit font-family and line-height from `html` so users can set them as
 * a class directly on the `html` element.
 */
body {
  font-family: inherit;
  line-height: inherit;
}
/**
 * 1. Prevent padding and border from affecting element width.
 *
 *    We used to set this in the html element and inherit from
 *    the parent element for everything else. This caused issues
 *    in shadow-dom-enhanced elements like <details> where the content
 *    is wrapped by a div with box-sizing set to `content-box`.
 *
 *    https://github.com/mozdevs/cssremedy/issues/4
 *
 *
 * 2. Allow adding a border to an element by just adding a border-width.
 *
 *    By default, the way the browser specifies that an element should have no
 *    border is by setting it's border-style to `none` in the user-agent
 *    stylesheet.
 *
 *    In order to easily add borders to elements by just setting the `border-width`
 *    property, we change the default border-style for all elements to `solid`, and
 *    use border-width to hide them instead. This way our `border` utilities only
 *    need to set the `border-width` property instead of the entire `border`
 *    shorthand, making our border utilities much more straightforward to compose.
 *
 *    https://github.com/tailwindcss/tailwindcss/pull/116
 */
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: currentColor; /* 2 */
}
/*
 * Ensure horizontal rules are visible by default
 */
hr {
  border-top-width: 1px;
}
/**
 * Undo the `border-style: none` reset that Normalize applies to images so that
 * our `border-{width}` utilities have the expected effect.
 *
 * The Normalize reset is unnecessary for us since we default the border-width
 * to 0 on all elements.
 *
 * https://github.com/tailwindcss/tailwindcss/issues/362
 */
img {
  border-style: solid;
}
textarea {
  resize: vertical;
}
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  color: #a1a1aa;
}
input::placeholder,
textarea::placeholder {
  opacity: 1;
  color: #a1a1aa;
}
button,
[role="button"] {
  cursor: pointer;
}
/**
 * Override legacy focus reset from Normalize with modern Firefox focus styles.
 *
 * This is actually an improvement over the new defaults in Firefox in our testing,
 * as it triggers the better focus styles even for links, which still use a dotted
 * outline in Firefox by default.
 */
:-moz-focusring {
	outline: auto;
}
table {
  border-collapse: collapse;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
/**
 * Reset links to optimize for opt-in styling instead of
 * opt-out.
 */
a {
  color: inherit;
  text-decoration: inherit;
}
/**
 * Reset form element properties that are easy to forget to
 * style explicitly so you don't inadvertently introduce
 * styles that deviate from your design system. These styles
 * supplement a partial reset that is already applied by
 * normalize.css.
 */
button,
input,
optgroup,
select,
textarea {
  padding: 0;
  line-height: inherit;
  color: inherit;
}
/**
 * Use the configured 'mono' font family for elements that
 * are expected to be rendered with a monospace font, falling
 * back to the system monospace stack if there is no configured
 * 'mono' font family.
 */
pre,
code,
kbd,
samp {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
/**
 * 1. Make replaced elements `display: block` by default as that's
 *    the behavior you want almost all of the time. Inspired by
 *    CSS Remedy, with `svg` added as well.
 *
 *    https://github.com/mozdevs/cssremedy/issues/14
 * 
 * 2. Add `vertical-align: middle` to align replaced elements more
 *    sensibly by default when overriding `display` by adding a
 *    utility like `inline`.
 *
 *    This can trigger a poorly considered linting error in some
 *    tools but is included by design.
 * 
 *    https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210
 */
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}
/**
 * Constrain images and videos to the parent width and preserve
 * their intrinsic aspect ratio.
 *
 * https://github.com/mozdevs/cssremedy/issues/14
 */
img,
video {
  max-width: 100%;
  height: auto;
}
/**
 * Ensure the default browser behavior of the `hidden` attribute.
 */
[hidden] {
  display: none;
}
*, ::before, ::after {
	--tw-translate-x: 0;
	--tw-translate-y: 0;
	--tw-rotate: 0;
	--tw-skew-x: 0;
	--tw-skew-y: 0;
	--tw-scale-x: 1;
	--tw-scale-y: 1;
	--tw-transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
	border-color: currentColor;
	--tw-ring-offset-shadow: 0 0 #0000;
	--tw-ring-shadow: 0 0 #0000;
	--tw-shadow: 0 0 #0000;
	--tw-blur: var(--tw-empty,/*!*/ /*!*/);
	--tw-brightness: var(--tw-empty,/*!*/ /*!*/);
	--tw-contrast: var(--tw-empty,/*!*/ /*!*/);
	--tw-grayscale: var(--tw-empty,/*!*/ /*!*/);
	--tw-hue-rotate: var(--tw-empty,/*!*/ /*!*/);
	--tw-invert: var(--tw-empty,/*!*/ /*!*/);
	--tw-saturate: var(--tw-empty,/*!*/ /*!*/);
	--tw-sepia: var(--tw-empty,/*!*/ /*!*/);
	--tw-drop-shadow: var(--tw-empty,/*!*/ /*!*/);
	--tw-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.aspect-w-1,
.aspect-w-2,
.aspect-w-3,
.aspect-w-4,
.aspect-w-5,
.aspect-w-6,
.aspect-w-7,
.aspect-w-8,
.aspect-w-9,
.aspect-w-10,
.aspect-w-11,
.aspect-w-12,
.aspect-w-13,
.aspect-w-14,
.aspect-w-15,
.aspect-w-16,
.aspect-w-auto,
.aspect-w-square,
.aspect-w-video {
	position: relative;
	padding-bottom: calc(var(--tw-aspect-h) / var(--tw-aspect-w) * 100%);
}
.aspect-w-1 > *,
.aspect-w-2 > *,
.aspect-w-3 > *,
.aspect-w-4 > *,
.aspect-w-5 > *,
.aspect-w-6 > *,
.aspect-w-7 > *,
.aspect-w-8 > *,
.aspect-w-9 > *,
.aspect-w-10 > *,
.aspect-w-11 > *,
.aspect-w-12 > *,
.aspect-w-13 > *,
.aspect-w-14 > *,
.aspect-w-15 > *,
.aspect-w-16 > *,
.aspect-w-auto > *,
.aspect-w-square > *,
.aspect-w-video > * {
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.aspect-w-9 {
	--tw-aspect-w: 9;
}
.aspect-h-5 {
	--tw-aspect-h: 5;
}
.container, .container-fluid {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	padding-right: var(--bs-gutter-x, calc(30px / 2));
	padding-left: var(--bs-gutter-x, calc(30px / 2));
}
@media (min-width: 575px) {
	.container {
		max-width: 575px;
	}
}
@media (min-width: 768px) {
	.container {
		max-width: 768px;
	}
}
@media (min-width: 992px) {
	.container {
		max-width: 992px;
	}
}
@media (min-width: 1200px) {
	.container {
		max-width: 1200px;
	}
}
.row {
	--bs-gutter-x: 30px;
	--bs-gutter-y: 0;
	display: flex;
	flex-wrap: wrap;
	margin-top: calc(var(--bs-gutter-y) * -1);
	margin-right: calc(var(--bs-gutter-x) / -2);
	margin-left: calc(var(--bs-gutter-x) / -2);
}
.row > * {
	box-sizing: border-box;
	flex-shrink: 0;
	width: 100%;
	max-width: 100%;
	padding-right: calc(var(--bs-gutter-x) / 2);
	padding-left: calc(var(--bs-gutter-x) / 2);
	margin-top: var(--bs-gutter-y);
}
.col {
	flex: 1 0 0%;
}
.col-6 {
	flex: 0 0 auto;
	width: 50%;
}
.col-12 {
	flex: 0 0 auto;
	width: 100%;
}
/*! purgecss end ignore */
/* COLOURS */
:root {
  --black: #000;
  --white: #fff;
  --grey: #E1E1E1;
  --primary: #E87F9C;
  --secondary: #1A2558;
  --dark: #000032;
  --light: #FFA1B6;
  --success: #38a169;
  --danger: #e53e3e;
  --app-height: 100%;
}

/* BREAKPOINTS */
/* MIXINS */
h1, h2, h3, h4, h5, h6, ol, ul, li, blockquote, p, a, img, a img, hr, fieldset, form, table, tbody, tr, td, input[type=checkbox], input[type=radio], textarea, select, button {
  margin: 0;
  padding: 0;
  text-decoration: none;
  border: 0 none;
}

strong, b {
  font-weight: 700;
}

html, html a {
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale;
}

a[href^=tel] {
  color: inherit;
  text-decoration: none;
}

button:active, button:focus, input:active, input:focus, a:active, a:focus {
  outline: none;
}

a[href^=mailto] {
	word-break: break-all;
}
@media (min-width: 992px) {
  a[href^=mailto] {
		overflow-wrap: normal;
		word-break: normal;
	}
}

body, html {
	height: auto;
	background-color: var(--white);
	font-family: "Roboto Condensed", "Arial", sans-serif;
	font-size: 1rem;
	line-height: 1.5rem;
	font-weight: 300;
	color: var(--black);
  scroll-behavior: smooth;
  scroll-padding-top: 72px;
}
@media (min-width: 575px) {
  body, html {
		height: 100vh;
	}
}

body {
	overflow-x: hidden;
}

.image-fade {
	background-color: var(--black);
  transition: all 1s ease-in-out;
}

.image-mask {
	position: relative;
}
.image-mask img {
	z-index: 10;
	margin-top: 2.5rem;
	display: block;
  -webkit-mask-image: url(/build/images/image-mask.e3c8af44.png);
  mask-image: url(/build/images/image-mask.e3c8af44.png);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  transition: all 1s ease-in-out;
}
@media (min-width: 992px) {
  .image-mask img {
		margin-top: 0px;
	}
}

#map {
  height: 400px;
}

.grecaptcha-badge {
	visibility: hidden;
}

h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
	font-family: "Roboto Condensed", "Arial", sans-serif;
	text-transform: uppercase;
}
h6 span, .h6 span, h5 span, .h5 span, h4 span, .h4 span, h3 span, .h3 span, h2 span, .h2 span, h1 span, .h1 span {
	color: var(--primary);
}

h1, .h1 {
	margin-bottom: 2rem;
	font-size: 3rem;
	line-height: 1;
	font-weight: 900;
}

h2, .h2 {
	margin-bottom: 1.5rem;
	font-size: 2.25rem;
	line-height: 2.5rem;
	font-weight: 900;
}

h3, .h3 {
	margin-bottom: 1.25rem;
	font-size: 1.875rem;
	line-height: 2.25rem;
	font-weight: 700;
}

h4, .h4 {
	margin-bottom: 1rem;
	font-size: 1.5rem;
	line-height: 2rem;
	font-weight: 700;
}

h5, .h5 {
	margin-bottom: 0.75rem;
	font-size: 1.25rem;
	line-height: 1.75rem;
	font-weight: 700;
}

h6, .h6 {
	margin-bottom: 0.5rem;
	font-size: 1.125rem;
	line-height: 1.75rem;
	font-weight: 700;
}

p {
	margin-bottom: 1.25rem;
}
p:last-of-type {
	margin-bottom: 0px;
}
p:last-of-type + * {
	margin-bottom: 1.25rem;
}
p:last-of-type + *:last-of-type {
	margin-bottom: 0px;
}

a {
	color: var(--primary);
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}

.cms-area p + .btn {
	margin-top: 1.25rem;
}
.cms-area em {
	color: var(--primary);
}
.cms-area ul {
	list-style-type: disc;
	margin-bottom: 1.25rem;
	padding-left: 2rem;
}
.cms-area ul li + li {
	margin-top: 0.75rem;
}
.cms-area ol {
	list-style-type: decimal;
	margin-bottom: 1.25rem;
	padding-left: 2rem;
}
.cms-area ol li + li {
	margin-top: 0.75rem;
}

label, legend {
	font-weight: 300;
	margin-bottom: 0.5rem;
	display: block;
	border-style: none;
}
label.required:after, legend.required:after {
  content: " *";
}

.form-group {
	margin-bottom: 2rem;
	position: relative;
}

.form-control {
	width: 100%;
	border-radius: 0px;
	border-width: 1px;
	border-style: solid;
	border-color: var(--secondary);
	background-color: var(--secondary);
	color: var(--primary);
	padding-left: 0.5rem;
	padding-right: 0.5rem;
  min-height: 40px;
  -webkit-appearance: none;
}
.form-control:focus {
	--tw-shadow: 0 0 #0000;
	box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
	outline: 2px solid transparent;
	outline-offset: 2px;
	border-color: var(--white);
}

textarea.form-control {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
  min-height: 100px;
  resize: none;
}

.control-label {
	font-weight: 400;
	color: var(--white);
}

.input-group-addon {
	border-radius: 0px;
	border-color: var(--primary);
	background-color: var(--primary);
	color: var(--white);
}

div.select {
	position: relative;
	border-radius: 0px;
	border-bottom-width: 1px;
	border-color: var(--dark);
  height: 40px;
}
div.select:focus-within {
	border-color: var(--white);
}
div.select:before {
	font-weight: 300;
	color: var(--white);
	position: absolute;
	top: 1rem;
	right: 1rem;
	pointer-events: none;
  content: "\f078";
  font-family: "Font Awesome 5 Pro";
  font-size: 12px;
}
div.select select {
	background-color: transparent;
	text-transform: uppercase;
	color: var(--dark);
	height: 100%;
	width: 100%;
	padding: 1rem;
	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
}
div.select select:focus {
	--tw-shadow: 0 0 #0000;
	box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
	outline: 2px solid transparent;
	outline-offset: 2px;
}
div.select select::-ms-expand {
	display: none;
}

p.success {
	border-radius: 0.375rem;
	background-color: var(--success);
	padding: 1rem;
	color: var(--white);
}

p.error {
	margin-bottom: 2rem;
	border-radius: 0.375rem;
	background-color: var(--danger);
	padding: 1rem;
	color: var(--white);
}

.help-block {
	color: var(--white);
}

.btn {
	position: relative;
	display: inline-block;
	max-width: 100%;
	white-space: normal;
	border-style: none;
	text-align: center;
	font-size: 1.5rem;
	line-height: 2rem;
	text-transform: uppercase;
	padding: 0px;
  min-width: 17rem;
  min-height: 4rem;
  transition: all 0.5s;
}
.btn:hover, .btn:focus, .btn:active {
	text-decoration: none;
}

.btn {
	font-weight: 700;
	color: var(--white);
}
.btn span {
	position: relative;
	z-index: 20;
	display: block;
	height: 100%;
	width: 100%;
	padding-top: 1rem;
	padding-bottom: 1rem;
	padding-left: 2.5rem;
	padding-right: 2.5rem;
}
.btn:after {
  content: "";
  position: absolute;
  top: 0px;
  right: 0px;
  z-index: 10;
  display: block;
  height: 100%;
  width: 5px;
  transition: all 0.5s ease-in-out;
}
.btn:hover:after {
	width: 100%;
}
.btn--full {
	width: 100%;
}
.btn--border {
  border: solid 5px var(--white);
}

.btn-primary {
	background-color: var(--primary);
}
.btn-primary:after {
	background-color: var(--white);
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary.active:active {
	color: var(--primary);
}

.btn-secondary {
	background-color: var(--secondary);
}
.btn-secondary:after {
	background-color: var(--primary);
}
.btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active, .btn-secondary.active:hover, .btn-secondary.active:focus, .btn-secondary.active:active {
	color: var(--white);
}

.btn-form {
	background-color: var(--secondary);
}
.btn-form:after {
	background-color: var(--white);
}
.btn-form:hover, .btn-form:focus, .btn-form:active, .btn-form.active:hover, .btn-form.active:focus, .btn-form.active:active {
	color: var(--secondary);
}

.btn-invader {
	margin-top: 3.5rem;
}
.btn-invader:before {
  content: "";
  position: absolute;
  display: block;
  background-size: cover;
  background-position: center;
  background-image: url(/build/images/invader.a4d08e19.png);
  width: 76px;
  height: 58px;
  top: -50px;
  left: 50%;
  transform: translate(-38px);
}
.btn-invader:hover, .btn-invader:focus, .btn-invader:active, .btn-invader.active:hover, .btn-invader.active:focus, .btn-invader.active:active {
	color: var(--primary);
}
.btn-invader:hover:before {
  animation: invader 0.5s linear 0s infinite normal both;
}

@keyframes invader {
  0% {
    background-image: url(/build/images/invader.a4d08e19.png);
  }
  49% {
    background-image: url(/build/images/invader.a4d08e19.png);
  }
  50% {
    background-image: url(/build/images/invader2.4a35c749.png);
  }
  100% {
    background-image: url(/build/images/invader2.4a35c749.png);
  }
}
.btn-offset {
	z-index: 40;
  margin-top: -2rem;
}

.scroll-btn {
	display: block;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 2.5rem;
	width: 2.5rem;
	margin-left: auto;
	margin-right: auto;
	padding: 1rem;
	border-radius: 9999px;
	background-color: transparent;
	color: var(--primary);
	border-width: 1px;
	border-style: solid;
	border-color: var(--primary);
}
.scroll-btn:hover {
	text-decoration: none;
}

.btn-mob {
	width: 100%;
}
@media (min-width: 575px) {
  .btn-mob {
		width: auto;
	}
}

.hero {
	position: relative;
	min-height: 100vh;
	width: 100vw;
	overflow: hidden;
	background-color: var(--black);
	background-size: cover;
	background-position: top;
	text-align: center;
	color: var(--white);
	display: flex;
	flex-wrap: wrap;
	align-content: flex-end;
	justify-content: center;
  background-image: url(/build/images/three-wise-birds.76c9322b.jpg), url(/build/images/hero-tile.80c7c910.jpg);
  background-repeat: no-repeat, repeat-x;
  min-height: var(--app-height);
}
@media (min-width: 992px) {
  .hero {
		background-size: contain;
	}
}
.hero--text:last-child {
	margin-bottom: 3rem;
}
.hero:after, .hero:before {
  mix-blend-mode: lighten;
  pointer-events: none;
  display: none;
}
@media (min-width: 768px) {
  .hero:after, .hero:before {
		display: block;
	}
}
.hero:after {
  content: "";
  position: absolute;
  z-index: 20;
  opacity: 0.3;
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: 120%;
  bottom: -50px;
  left: -50px;
  width: calc(100% + 100px);
  height: calc(100% + 100px);
  animation: smokeblock 60s ease-out 0s infinite normal forwards;
  background-image: url(/build/images/smoke-background1.baaffe18.jpg);
}
.hero:before {
  content: "";
  position: absolute;
  z-index: 10;
  height: 100%;
  background-size: cover;
  background-position: bottom;
  opacity: 0.5;
  width: 200%;
  animation: smokeyblock 60s ease-out 0s 1 normal forwards;
  background-image: url(/build/images/smoke-background2.b6400bdb.jpg);
}
.hero p {
	margin-bottom: 2.5rem;
	font-size: 1.5rem;
	line-height: 2rem;
	font-weight: 400;
	text-transform: uppercase;
	line-height: 1;
	color: var(--white);
}
@media (min-width: 768px) {
  .hero p {
		font-size: 1.875rem;
		line-height: 2.25rem;
	}
}
@media (min-width: 1200px) {
  .hero p {
		font-size: 2.25rem;
		line-height: 2.5rem;
	}
}
.hero p strong {
	font-size: 2.25rem;
	line-height: 2.5rem;
	font-weight: 700;
}
@media (min-width: 768px) {
  .hero p strong {
		font-size: 3rem;
		line-height: 1;
	}
}
@media (min-width: 1200px) {
  .hero p strong {
		font-size: 4.5rem;
		line-height: 1;
	}
}
.hero p span {
	color: var(--primary);
}
.hero p:first-of-type {
	color: var(--primary);
}
.hero p:last-of-type {
	font-size: 1.125rem;
	line-height: 1.75rem;
	font-weight: 300;
	color: var(--white);
  text-transform: initial;
}
@media (min-width: 768px) {
  .hero p:last-of-type {
		font-size: 1.25rem;
		line-height: 1.75rem;
	}
}
@media (min-width: 1200px) {
  .hero p:last-of-type {
		font-size: 1.5rem;
		line-height: 2rem;
	}
}

.smoke1, .smoke2 {
	pointer-events: none;
	position: absolute;
	bottom: 0px;
	z-index: 30;
  mix-blend-mode: lighten;
  display: none;
}
@media (min-width: 768px) {
  .smoke1, .smoke2 {
		display: block;
	}
}

.smoke1 {
	right: 0px;
	--tw-rotate: 180deg;
	transform: var(--tw-transform);
  opacity: 0.08;
  animation: smoke 50s ease-out 0s 1 normal forwards;
}

.smoke2 {
	left: 0px;
	opacity: 0.1;
  animation: smoked 55s ease-out 0s 1 normal forwards;
}

@keyframes smoke {
  from {
    right: 15%;
    bottom: -20%;
    transform: rotate(180);
  }
  to {
    right: 60%;
    bottom: 100%;
    transform: rotate(-90deg);
    opacity: 0;
  }
}
@keyframes smoked {
  from {
    left: 10%;
    bottom: -30%;
    transform: rotate(0);
  }
  to {
    left: 50%;
    bottom: 100%;
    transform: rotate(60deg);
    opacity: 0;
  }
}
@keyframes smokeblock {
  from {
    -webkit-transform: rotate(0deg) translateX(50px) rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg) translateX(50px) rotate(-360deg);
  }
}
@keyframes smokeyblock {
  from {
    right: -50%;
  }
  to {
    right: 0;
    opacity: 0;
  }
}
.site-header {
	position: absolute;
	top: 0px;
	z-index: 50;
	width: 100%;
	background-color: transparent;
}

.site-navbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	padding-left: 0px;
	padding-right: 0px;
	padding-top: 2rem;
	padding-bottom: 2rem;
  border-bottom: solid 1px var(--primary);
}
.site-navbar__toggler {
	z-index: 50;
	display: block;
	height: 1.5rem;
	width: 1.5rem;
	margin-left: 1.5rem;
	padding: 0px;
}
@media (min-width: 768px) {
  .site-navbar__toggler {
		display: none;
	}
}
.site-navbar__toggler .toggler__line {
	z-index: 50;
	display: block;
	width: 100%;
	background-color: var(--white);
  height: 2px;
  margin: 6px 0;
  transition: 0.2s all;
}
.site-navbar__toggler .toggler__line:first-child {
	margin-top: 0px;
}
.site-navbar__toggler .toggler__line:last-child {
	margin-bottom: 0px;
}
.site-navbar__toggler[aria-expanded=true] .toggler__line {
	position: relative;
  transform-origin: left;
}
.site-navbar__toggler[aria-expanded=true] .toggler__line:first-child {
  left: 5px;
  transform: rotate(45deg);
}
.site-navbar__toggler[aria-expanded=true] .toggler__line:nth-child(2) {
	width: 0px;
	opacity: 0;
}
.site-navbar__toggler[aria-expanded=true] .toggler__line:last-child {
  left: 5px;
  transform: rotate(-45deg);
}
.site-navbar__list {
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;
	position: absolute;
	z-index: 40;
	height: 0px;
	width: 0px;
	background-color: var(--primary);
	opacity: 0;
  top: 50%;
  right: 50%;
  overflow: hidden;
}
@media (min-width: 768px) {
  .site-navbar__list {
		position: relative;
	}
  .site-navbar__list {
		top: auto;
		right: auto;
		bottom: auto;
		left: auto;
	}
  .site-navbar__list {
		height: auto;
	}
  .site-navbar__list {
		width: auto;
	}
  .site-navbar__list {
		background-color: transparent;
	}
  .site-navbar__list {
		opacity: 1;
	}
  .site-navbar__list {
    top: auto;
    right: auto;
    overflow: initial;
  }
}
.site-navbar__list ul {
	margin-bottom: 0px;
	display: flex;
	list-style-type: none;
	flex-direction: column;
	padding-left: 0px;
}
@media (min-width: 768px) {
  .site-navbar__list ul {
		flex-direction: row;
	}
}
.site-navbar__list ul li {
	position: relative;
}
.site-navbar__list ul li a {
	position: relative;
	display: flex;
	align-content: center;
	justify-content: center;
	font-size: 1.25rem;
	line-height: 1.75rem;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--white);
  transition: color 0.5s ease-in-out;
}
.site-navbar__list ul li a:hover, .site-navbar__list ul li a:focus, .site-navbar__list ul li a:active {
	color: var(--secondary);
	text-decoration: none;
}
@media (min-width: 768px) {
  .site-navbar__list ul li a:hover, .site-navbar__list ul li a:focus, .site-navbar__list ul li a:active {
		color: var(--primary);
	}
}
.site-navbar__list ul li a:hover:after {
  content: "";
  position: absolute;
  display: block;
  border-radius: 9999px;
  background-color: var(--primary);
  height: 0.625rem;
  width: 0.625rem;
  top: -10px;
  animation: none;
}
@media (min-width: 768px) {
  .site-navbar__list ul li a:hover:after {
    animation: menuegg 0.75s ease-in-out 0.1s 1 normal forwards;
  }
}
.site-navbar__list ul li:first-child a {
	visibility: hidden;
	width: auto;
}
@media (min-width: 768px) {
  .site-navbar__list ul li:first-child a {
		width: 0px;
	}
}
.site-navbar__list ul li:first-child a:before {
  content: "";
  visibility: visible;
  position: absolute;
  background-repeat: no-repeat;
  margin-top: -0.625rem;
  width: 35px;
  height: 40px;
  background-image: url(/build/images/birdbox.5a6cf34b.png);
  background-size: 35px 120px;
  background-position: center center;
}
@media (min-width: 768px) {
  .site-navbar__list ul li:first-child a:before {
		right: 0px;
	}
}
.site-navbar__list ul li:first-child a:hover:before {
  background-position: top center;
}
@media (min-width: 768px) {
  .site-navbar__list ul li:first-child a:hover:before {
    background-position: bottom center;
  }
}
.site-navbar__list ul li:first-child a:hover:after {
	display: none;
}
.site-navbar__list ul li ul {
	display: none;
}
.site-navbar__list ul li:hover ul {
	position: absolute;
	display: block;
	top: 100%;
	padding-left: 1rem;
	padding-right: 1rem;
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
}
.site-navbar__list ul li + li {
	margin-left: 0px;
	margin-top: 1rem;
}
@media (min-width: 768px) {
  .site-navbar__list ul li + li {
		margin-top: 0px;
	}
  .site-navbar__list ul li + li {
		margin-left: 2rem;
	}
}
.site-navbar .mobilemenu {
	position: fixed;
	top: 0px;
	right: 0px;
	width: 100vw;
	opacity: 1;
  height: var(--app-height);
  transition: all 0.5s ease-in-out;
}

.dropdown:hover > .dropdown-menu {
	display: block;
	top: 100%;
}

body:not(.page-home) .site-header {
	width: 100%;
	border-bottom-width: 1px;
	border-style: solid;
	border-color: var(--primary);
	background-color: var(--dark);
}
body:not(.page-home) .site-navbar {
  border-bottom: none;
}

.sticky-menu {
	position: fixed;
	top: -100%;
	width: 100%;
	opacity: 0;
	border-bottom-width: 1px;
	border-style: solid;
	border-color: var(--primary);
  background-color: rgba(26, 37, 88, 0.85) !important;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
}
.sticky-menu .site-navbar {
	padding-top: 1rem;
	padding-bottom: 1rem;
  border-bottom: none;
}

.menu-fade {
	top: 0px;
	opacity: 1;
  transition: all 0.8s ease-in-out;
}

@keyframes menuegg {
  0% {
    top: -10px;
    width: 10px;
    height: 10px;
  }
  50% {
    top: -20px;
    width: 10px;
    height: 12px;
  }
  70% {
    top: -10px;
    width: 10px;
    height: 10px;
  }
  85% {
    top: -8px;
    width: 12px;
    height: 8px;
  }
  100% {
    top: -10px;
    width: 10px;
    height: 10px;
  }
}
ul.news-menu {
	position: relative;
	list-style-type: none;
	padding-top: 1.5rem;
	padding-left: 0px;
}
ul.news-menu:before {
  content: "";
  position: absolute;
  top: 0px;
  left: 0px;
  height: 3px;
  width: 60px;
  background-color: var(--primary);
}
ul.news-menu li + li {
	margin-top: 0.25rem;
}
ul.news-menu a {
	display: block;
	font-size: 1.125rem;
	line-height: 1.75rem;
	color: var(--dark);
}
ul.news-menu a:hover, ul.news-menu a:focus {
	color: var(--primary);
	text-decoration: none;
}
ul.news-menu li.active a {
	position: relative;
	padding-right: 2rem;
	font-weight: 700;
}
ul.news-menu li.active a:after {
  content: "\f0ab";
  position: absolute;
  right: 0px;
  font-weight: 900;
  font-family: "Font Awesome 6 Pro";
}
@media (min-width: 768px) {
  ul.news-menu li.active a:after {
    content: "\f0a9";
  }
}

ul.pagination {
	margin-top: 2.5rem;
	list-style-type: none;
	padding: 0px;
}
ul.pagination li {
	display: inline;
	color: var(--dark);
}
ul.pagination li + li {
	margin-left: 0.5rem;
}
ul.pagination li a {
	color: var(--dark);
}
ul.pagination li a:hover, ul.pagination li a:focus {
	color: var(--primary);
	text-decoration: none;
}
ul.pagination li.disabled {
	cursor: not-allowed;
	opacity: 0.25;
}
ul.pagination li.active {
	font-weight: 700;
}
ul.pagination li a, ul.pagination li span {
	padding: 0.5rem;
}

.site-footer {
	background-color: var(--dark);
	color: var(--white);
	padding-top: 3rem;
	padding-bottom: 5rem;
}
@media (min-width: 768px) {
  .site-footer {
		padding-bottom: 3rem;
	}
}
.site-footer a:not(.social-light):hover, .site-footer a:not(.social-light):active, .site-footer a:not(.social-light):focus {
	text-decoration: none;
	color: var(--white);
}
.site-footer-content--right p {
	text-align: left;
}
@media (min-width: 992px) {
  .site-footer-content--right p {
		text-align: right;
	}
}
.site-footer-menu ul {
	list-style-type: none;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-bottom: 1rem;
	margin-top: 0px;
	padding-left: 0px;
}
@media (min-width: 992px) {
  .site-footer-menu ul {
		margin-top: 1rem;
	}
  .site-footer-menu ul {
		justify-content: flex-end;
	}
}
.site-footer-menu ul li + li:before {
  content: "|";
  position: relative;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  left: 0.1rem;
}
.site-footer-menu ul li a:hover, .site-footer-menu ul li a:active, .site-footer-menu ul li a:focus {
	color: var(--white);
}

.logo-slider div {
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}

main {
	background-color: var(--dark);
  border-top: solid 1px var(--primary);
}
main h5 {
	color: var(--primary);
}

.intro {
	padding-top: 3rem;
	padding-bottom: 3rem;
	color: var(--white);
}

.services {
	padding-top: 3rem;
	padding-bottom: 3rem;
}
.services--circle {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;
	border-radius: 9999px;
	margin-bottom: 2.5rem;
	padding: 0.5rem;
  width: 175px;
  height: 175px;
  border: solid 1px var(--primary);
  margin-left: auto;
  margin-right: auto;
}
.services--circle img.create {
  animation: shake 1s ease-in-out 0s infinite normal both;
}
@keyframes bounce {
	0%, 100% {
		transform: translateY(-25%);
		animation-timing-function: cubic-bezier(0.8,0,1,1);
	}
	50% {
		transform: none;
		animation-timing-function: cubic-bezier(0,0,0.2,1);
	}
}
.services--circle img.code {
	animation: bounce 1s infinite;
}
.services .beak:after {
	position: absolute;
	z-index: 10;
	display: block;
	background-position: center;
	background-repeat: no-repeat;
  content: "";
  top: 58px;
  width: 16px;
  height: 16px;
  background-image: url(/build/images/beak.827419e4.png);
  background-size: 100% 100%;
  animation: squawk 0.6s ease-in-out 0s infinite normal both;
}
.services ul {
	list-style-type: none;
	padding: 0px;
	font-size: 1.125rem;
	line-height: 1.75rem;
	font-weight: 700;
	text-transform: uppercase;
}
.services ul h3 {
	margin: 0px;
}
.services ul li {
	padding-top: 1.25rem;
	padding-bottom: 1.25rem;
}
.services ul li:first-child {
	padding-top: 0px;
}
.services ul li + li {
  border-top: solid 1px var(--primary);
}

@keyframes shake {
  10%, 90% {
    transform: translate3d(-1px, 0, 0);
  }
  20%, 80% {
    transform: translate3d(2px, 0, 0);
  }
  30%, 50%, 70% {
    transform: translate3d(-4px, 0, 0);
  }
  40%, 60% {
    transform: translate3d(4px, 0, 0);
  }
}
@keyframes squawk {
  0% {
    background-size: 100% 100%;
  }
  50% {
    background-size: 100% 40%;
  }
  100% {
    background-size: 100% 100%;
  }
}
.work, .office, .news {
	padding-bottom: 3rem;
	color: var(--secondary);
}
.work h2, .work h1, .office h2, .office h1, .news h2, .news h1 {
	color: var(--white);
}
.work-top, .office-top, .news-top {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;
  min-height: 500px;
}
.work-top h2, .work-top h1, .work-top p, .work-top img, .office-top h2, .office-top h1, .office-top p, .office-top img, .news-top h2, .news-top h1, .news-top p, .news-top img {
	position: relative;
	z-index: 20;
}
.work-top p, .office-top p, .news-top p {
	color: var(--white);
}
.work-top:after, .office-top:after, .news-top:after {
  content: "";
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  z-index: 10;
  display: block;
  height: 100%;
  width: 100%;
  filter: grayscale(100%);
  opacity: 0.15;
  background-attachment: initial;
}
@media (min-width: 575px) {
  .work-top:after, .office-top:after, .news-top:after {
    background-attachment: fixed;
  }
}
.work-content, .office-content, .news-content {
	position: relative;
	z-index: 30;
  margin-top: -210px;
}
.work .work-top, .office .work-top, .news .work-top {
	background-color: var(--black);
}
.work .work-top h2, .work .work-top h1, .office .work-top h2, .office .work-top h1, .news .work-top h2, .news .work-top h1 {
	margin-bottom: 20rem;
}
@media (min-width: 768px) {
  .work .work-top h2, .work .work-top h1, .office .work-top h2, .office .work-top h1, .news .work-top h2, .news .work-top h1 {
		margin-bottom: 2rem;
	}
}
.work .work-top:after, .office .work-top:after, .news .work-top:after {
	background-position: center;
  background-image: url(/build/images/80s-header.050dbbf3.jpg);
}
.work .office-top, .office .office-top, .news .office-top {
	background-color: var(--dark);
  min-height: 350px;
}
@media (min-width: 768px) {
  .work .office-top, .office .office-top, .news .office-top {
    min-height: 500px;
  }
}
.work .office-top h2, .work .office-top h1, .office .office-top h2, .office .office-top h1, .news .office-top h2, .news .office-top h1 {
	margin-bottom: 12rem;
}
@media (min-width: 768px) {
  .work .office-top h2, .work .office-top h1, .office .office-top h2, .office .office-top h1, .news .office-top h2, .news .office-top h1 {
		margin-bottom: 3rem;
	}
}
.work .office-top:after, .office .office-top:after, .news .office-top:after {
	background-position: center;
  background-image: url(/build/images/office.d5c2677e.jpg);
}
.work .news-top, .office .news-top, .news .news-top {
	background-color: var(--dark);
  min-height: 350px;
}
@media (min-width: 768px) {
  .work .news-top, .office .news-top, .news .news-top {
    min-height: 350px;
  }
}
.work .news-top h2, .work .news-top h1, .office .news-top h2, .office .news-top h1, .news .news-top h2, .news .news-top h1 {
	margin-bottom: 12rem;
}
@media (min-width: 768px) {
  .work .news-top h2, .work .news-top h1, .office .news-top h2, .office .news-top h1, .news .news-top h2, .news .news-top h1 {
		margin-bottom: 3rem;
	}
}
.work .news-top:after, .office .news-top:after, .news .news-top:after {
	background-position: center;
  background-image: url(/build/images/office.d5c2677e.jpg);
}
.work .work-content, .office .work-content, .news .work-content {
	padding-left: 2rem;
	padding-right: 2rem;
	padding-top: 2.5rem;
	padding-bottom: 3.5rem;
	background-color: var(--primary);
}
@media (min-width: 768px) {
  .work .work-content, .office .work-content, .news .work-content {
		padding-left: 4rem;
		padding-right: 4rem;
	}
}
.work .work-content h3, .office .work-content h3, .news .work-content h3 {
	color: var(--white);
}
.work .work-content:after, .office .work-content:after, .news .work-content:after {
  content: "";
  position: absolute;
  z-index: 40;
  display: block;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url(/build/images/guile.bbdd0af3.png);
  top: 0;
  right: 20px;
  width: 102px;
  height: 160px;
  margin-top: -140px;
  animation: guile 1s ease-in-out 0.3s infinite normal both;
}
.work .work-content:before, .office .work-content:before, .news .work-content:before {
  content: "";
  position: absolute;
  z-index: 40;
  display: block;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url(/build/images/ryu.d73e40e6.png);
  top: 0;
  left: 20px;
  width: 85px;
  height: 160px;
  margin-top: -140px;
  animation: ryu 1s ease-in-out 0s infinite normal both;
}
.work .work-content .img-edge, .office .work-content .img-edge, .news .work-content .img-edge {
	position: relative;
}
.work .work-content .img-edge--block, .office .work-content .img-edge--block, .news .work-content .img-edge--block {
	position: absolute;
	top: 0px;
	background-color: var(--black);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
  background-image: url(/build/images/tea-lb.782eea97.jpg);
  width: 200%;
  height: 85%;
  left: 30px;
}
.work .work-content .img-edge:after, .office .work-content .img-edge:after, .news .work-content .img-edge:after {
  content: "";
  position: absolute;
  top: 0px;
  display: block;
  background-color: var(--black);
  width: 200%;
  height: 85%;
  left: 30px;
  z-index: -1;
}
.work .office-content--text, .office .office-content--text, .news .office-content--text {
	background-color: var(--white);
	margin-top: 0px;
	margin-left: 0px;
  padding: 2rem 0 0 0;
}
.work .office-content--text h6, .work .office-content--text h5, .office .office-content--text h6, .office .office-content--text h5, .news .office-content--text h6, .news .office-content--text h5 {
	color: var(--primary);
}
@media (min-width: 768px) {
  .work .office-content--text, .office .office-content--text, .news .office-content--text {
    margin-top: 210px;
    margin-left: -100%;
    padding: 4rem 0 0 4rem;
  }
}
@media (min-width: 992px) {
  .work .office-content--text, .office .office-content--text, .news .office-content--text {
    padding: 4rem 0 0 4rem;
  }
}
@media (min-width: 1200px) {
  .work .office-content--text, .office .office-content--text, .news .office-content--text {
    padding: 5rem 0 0 5rem;
    min-height: 550px;
  }
}
.work .news-content, .office .news-content, .news .news-content {
  margin-top: -75px;
}
.work .news-content--text, .office .news-content--text, .news .news-content--text {
	background-color: var(--white);
	margin-top: 0px;
	margin-left: 0px;
	margin-bottom: 2rem;
	position: relative;
	z-index: 30;
}
.work .news-content--text h6, .work .news-content--text h5, .office .news-content--text h6, .office .news-content--text h5, .news .news-content--text h6, .news .news-content--text h5 {
	color: var(--primary);
}
@media (min-width: 992px) {
  .work .news-content--text, .office .news-content--text, .news .news-content--text {
    padding: 4rem 0 0 4rem;
    min-height: 225px;
    margin-top: 210px;
    margin-left: -100%;
  }
}
@media (min-width: 1200px) {
  .work .news-content--text, .office .news-content--text, .news .news-content--text {
    padding: 5rem 0 0 5rem;
    min-height: 388px;
  }
  .work .news-content--text, .office .news-content--text, .news .news-content--text {
		margin-bottom: 0px;
	}
}
.work .news-content img, .office .news-content img, .news .news-content img {
  filter: grayscale(1);
  margin-bottom: 2.5rem;
}

@keyframes ryu {
  0% {
    top: 0;
    left: 20px;
    margin-top: -140px;
  }
  25% {
    top: 0;
    left: 22px;
    margin-top: -144px;
  }
  50% {
    top: 0;
    left: 24px;
    margin-top: -140px;
  }
  75% {
    top: 0;
    left: 22px;
    margin-top: -144px;
  }
  100% {
    top: 0;
    left: 20px;
    margin-top: -140px;
  }
}
@keyframes guile {
  0% {
    top: 0;
    right: 20px;
    margin-top: -140px;
  }
  25% {
    top: 0;
    right: 22px;
    margin-top: -144px;
  }
  50% {
    top: 0;
    right: 24px;
    margin-top: -140px;
  }
  75% {
    top: 0;
    right: 22px;
    margin-top: -144px;
  }
  100% {
    top: 0;
    right: 20px;
    margin-top: -140px;
  }
}
.portfolio {
	padding-bottom: 3rem;
}
.portfolio h2 {
	text-align: center;
	color: var(--dark);
}
.portfolio h2 span {
	display: block;
	font-size: 1.125rem;
	line-height: 1.75rem;
	font-weight: 300;
	text-transform: none;
	color: var(--primary);
}
.portfolio-wrap--item:nth-child(-n+5) {
	margin-bottom: 2rem;
}
@media (min-width: 575px) {
  .portfolio-wrap--item:nth-child(-n+5) {
		margin-bottom: 0px;
	}
  .portfolio-wrap--item:nth-child(-n+4) {
		margin-bottom: 2rem;
	}
}
@media (min-width: 768px) {
  .portfolio-wrap--item:nth-child(-n+4), .portfolio-wrap--item:nth-child(-n+5) {
		margin-bottom: 0px;
	}
  .portfolio-wrap--item:nth-child(-n+3) {
		margin-bottom: 2rem;
	}
}

.partnerships h2 {
	text-align: center;
	color: var(--white);
}
.partnerships h2 span {
	display: block;
	font-size: 1.125rem;
	line-height: 1.75rem;
	font-weight: 300;
	text-transform: none;
	color: var(--primary);
}

.flock {
	padding-top: 3rem;
	padding-bottom: 3rem;
	color: var(--secondary);
}
.flock h2 {
	text-align: center;
}
.flock h2 span {
	display: block;
	font-size: 1.125rem;
	line-height: 1.75rem;
	font-weight: 300;
	text-transform: none;
	color: var(--primary);
}
.flock-profile {
	margin: auto;
	text-align: center;
}
.flock-profile img {
	margin-left: auto;
	margin-right: auto;
}
.flock-profile h5, .flock-profile h6 {
	margin-bottom: 0px;
}
.flock-profile h6 {
	font-weight: 300;
	color: var(--primary);
}
.flock-profile a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 2rem;
	width: 2rem;
	border-radius: 9999px;
	background-color: var(--primary);
	font-weight: 400;
	color: var(--white);
	text-decoration: none;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1rem;
	margin-bottom: 1rem;
	padding-left: 0.625rem;
	padding-right: 0.625rem;
  transition: all 0.5s ease-in-out;
}
.flock-profile a:hover, .flock-profile a:active, .flock-profile a:focus {
	background-color: var(--secondary);
}
.flock .flip-card {
	background-color: transparent;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1rem;
	max-width: 100%;
  width: 225px;
  height: 225px;
  perspective: 1000px;
}
.flock .flip-card-inner {
	position: relative;
	text-align: center;
	height: 100%;
	width: 100%;
  transition: transform 0.8s;
  transform-style: preserve-3d;
}
.flock .flip-card:hover .flip-card-inner {
  transform: rotateY(180deg);
}
.flock .flip-card-front, .flock .flip-card-back {
	position: absolute;
	height: 100%;
	width: 100%;
  backface-visibility: hidden;
}
.flock .flip-card-back {
  transform: rotateY(180deg);
}

.contact {
	padding-top: 3rem;
	padding-bottom: 3rem;
	background-color: var(--primary);
}
.contact h2 {
	text-align: center;
	color: var(--secondary);
}
.contact h2 span {
	display: block;
	font-size: 1.125rem;
	line-height: 1.75rem;
	font-weight: 300;
	text-transform: none;
	color: var(--white);
}

.content-page {
	padding-top: 3rem;
	padding-bottom: 3rem;
	color: var(--dark);
}
.content-page ul, .content-page ol {
	margin-bottom: 2rem;
}

.blog-list {
	margin-bottom: 3rem;
}
.blog-list p, .blog-list a {
	color: var(--dark);
}
.blog-list a:hover, .blog-list a:active, .blog-list a:focus {
	text-decoration: none;
  color: initial;
}
.blog-list:nth-last-child(-n+1) {
	margin-bottom: 0px;
}
@media (min-width: 992px) {
  .blog-list:nth-last-child(-n+2) {
		margin-bottom: 0px;
	}
}
.blog-list img {
  transition: all 0.5s;
}
.blog-list a:hover img {
  filter: grayscale(1);
}

.social-links {
	right: 2.5rem;
	top: 0px;
	z-index: 40;
	height: 100vh;
}
.social-links ul {
	list-style-type: none;
}
.social-links ul li {
	display: flex;
	justify-content: flex-end;
}
.social-links ul li a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 2rem;
	width: 2rem;
	border-radius: 9999px;
	background-color: var(--primary);
	font-weight: 400;
	color: var(--white);
	text-decoration: none;
	padding-left: 0.625rem;
	padding-right: 0.625rem;
  transition: all 0.5s ease-in-out;
}
.social-links ul li a span {
	position: absolute;
	margin-left: 1.5rem;
	width: 0px;
	opacity: 0;
	pointer-events: none;
}
.social-links ul li a:hover, .social-links ul li a:active, .social-links ul li a:focus {
	justify-content: flex-start;
	background-color: var(--secondary);
	width: 12rem;
}
.social-links ul li a:hover span, .social-links ul li a:active span, .social-links ul li a:focus span {
	width: auto;
	opacity: 1;
  transition: all 0.5s ease-in 0.3s;
}
.social-links ul li + li {
	margin-top: 0.5rem;
}
.social-links ul li a.social-dark {
	background-color: var(--secondary);
}

.social-footer {
	height: auto;
}
.social-footer ul {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	margin-bottom: 1rem;
	margin-top: 1rem;
	padding-left: 0px;
}
@media (min-width: 992px) {
  .social-footer ul {
		margin-bottom: 0px;
	}
  .social-footer ul {
		margin-top: 0px;
	}
  .social-footer ul {
		justify-content: flex-end;
	}
}
.social-footer ul li + li {
	margin-top: 0px;
	margin-left: 0.5rem;
}
.social-footer ul li a span {
	display: none;
}
.social-footer ul li a:hover, .social-footer ul li a:active, .social-footer ul li a:focus {
	justify-content: center;
	width: 2rem;
}

#cookies-bar, #cookies-bar-tab {
	position: fixed;
	bottom: 0px;
	left: 0px;
	z-index: 50;
}

.cookies-bar-tab {
	display: block;
	margin-left: 1rem;
	margin-bottom: 1rem;
	border-style: none;
	padding: 1rem;
	cursor: pointer;
	text-align: center;
	background-position: bottom;
	background-repeat: no-repeat;
  width: 35px;
  height: 36px;
  background-size: 35px 72px;
  background-image: url(/build/images/cookies-icon.308ddc5b.png);
}

.cookies-dark {
	background-position: top;
	background-repeat: no-repeat;
}

#cookies-bar {
	width: 100%;
	padding-top: 2rem;
	padding-bottom: 2rem;
	background-color: var(--white);
  border-top: 1px solid var(--primary);
}

.error404 {
	position: relative;
	z-index: 30;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: transparent;
	color: var(--white);
	height: 100vh;
	width: 100vw;
}
.error404 h1 {
	margin-bottom: 0.5rem;
}
.error404 h3 {
	margin-bottom: 2rem;
	color: var(--secondary);
}
.error404 img {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 2rem;
}

.overlay {
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 20;
	display: block;
	height: 100%;
	width: 100%;
	background-color: var(--primary);
  mix-blend-mode: overlay;
}

video#video404 {
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 10;
	height: 100vh;
	width: 100vw;
	-o-object-fit: cover;
	   object-fit: cover;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border-width: 0;
}

.invisible {
	visibility: hidden;
}

.static {
	position: static;
}

.fixed {
	position: fixed;
}

.sticky {
	position: sticky;
}

.top-24 {
	top: 6rem;
}

.my-8 {
	margin-top: 2rem;
	margin-bottom: 2rem;
}

.\!my-6 {
	margin-top: 1.5rem !important;
	margin-bottom: 1.5rem !important;
}

.mb-2 {
	margin-bottom: 0.5rem;
}

.mr-1 {
	margin-right: 0.25rem;
}

.mb-4 {
	margin-bottom: 1rem;
}

.\!mb-4 {
	margin-bottom: 1rem !important;
}

.ml-2 {
	margin-left: 0.5rem;
}

.mb-8 {
	margin-bottom: 2rem;
}

.mb-6 {
	margin-bottom: 1.5rem;
}

.mt-8 {
	margin-top: 2rem;
}

.mb-0 {
	margin-bottom: 0px;
}

.mt-5 {
	margin-top: 1.25rem;
}

.mt-12 {
	margin-top: 3rem;
}

.mt-6 {
	margin-top: 1.5rem;
}

.block {
	display: block;
}

.inline-block {
	display: inline-block;
}

.flex {
	display: flex;
}

.table {
	display: table;
}

.hidden {
	display: none;
}

.h-auto {
	height: auto;
}

.max-w-full {
	max-width: 100%;
}

.flex-col {
	flex-direction: column;
}

.items-center {
	align-items: center;
}

.justify-end {
	justify-content: flex-end;
}

.justify-between {
	justify-content: space-between;
}

.rounded-full {
	border-radius: 9999px;
}

.border {
	border-width: 1px;
}

.bg-success {
	background-color: var(--success);
}

.bg-danger {
	background-color: var(--danger);
}

.bg-dark {
	background-color: var(--dark);
}

.px-3 {
	padding-left: 0.75rem;
	padding-right: 0.75rem;
}

.py-2 {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

.pt-\[106px\] {
	padding-top: 106px;
}

.pt-\[136px\] {
	padding-top: 136px;
}

.pt-12 {
	padding-top: 3rem;
}

.pb-16 {
	padding-bottom: 4rem;
}

.text-left {
	text-align: left;
}

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

.text-right {
	text-align: right;
}

.align-bottom {
	vertical-align: bottom;
}

.text-xs {
	font-size: 0.75rem;
	line-height: 1rem;
}

.text-sm {
	font-size: 0.875rem;
	line-height: 1.25rem;
}

.text-success {
	color: var(--success);
}

.text-danger {
	color: var(--danger);
}

.text-white {
	color: var(--white);
}

.text-dark {
	color: var(--dark);
}

.text-primary {
	color: var(--primary);
}

.filter {
	filter: var(--tw-filter);
}

@media (min-width: 575px) {
	.sm\:col-4 {
		flex: 0 0 auto;
		width: 33.333333333333336%;
	}
	.sm\:col-5 {
		flex: 0 0 auto;
		width: 41.66666666666667%;
	}
	.sm\:col-6 {
		flex: 0 0 auto;
		width: 50%;
	}
	.sm\:col-7 {
		flex: 0 0 auto;
		width: 58.333333333333336%;
	}
	.sm\:col-8 {
		flex: 0 0 auto;
		width: 66.66666666666667%;
	}
	.sm\:mb-0 {
		margin-bottom: 0px;
	}
	.sm\:block {
		display: block;
	}
}

@media (min-width: 768px) {
	.md\:col-3 {
		flex: 0 0 auto;
		width: 25%;
	}
	.md\:col-4 {
		flex: 0 0 auto;
		width: 33.333333333333336%;
	}
	.md\:col-5 {
		flex: 0 0 auto;
		width: 41.66666666666667%;
	}
	.md\:col-6 {
		flex: 0 0 auto;
		width: 50%;
	}
	.md\:col-7 {
		flex: 0 0 auto;
		width: 58.333333333333336%;
	}
	.md\:col-8 {
		flex: 0 0 auto;
		width: 66.66666666666667%;
	}
	.md\:col-9 {
		flex: 0 0 auto;
		width: 75%;
	}
	.md\:col-12 {
		flex: 0 0 auto;
		width: 100%;
	}
	.md\:offset-2 {
		margin-left: 16.666666666666668%;
	}
	.md\:mt-6 {
		margin-top: 1.5rem;
	}
	.md\:\!block {
		display: block !important;
	}
	.md\:inline-block {
		display: inline-block;
	}
	.md\:hidden {
		display: none;
	}
}

@media (min-width: 992px) {
	.lg\:col-3 {
		flex: 0 0 auto;
		width: 25%;
	}
	.lg\:col-4 {
		flex: 0 0 auto;
		width: 33.333333333333336%;
	}
	.lg\:col-5 {
		flex: 0 0 auto;
		width: 41.66666666666667%;
	}
	.lg\:col-6 {
		flex: 0 0 auto;
		width: 50%;
	}
	.lg\:col-8 {
		flex: 0 0 auto;
		width: 66.66666666666667%;
	}
	.lg\:col-9 {
		flex: 0 0 auto;
		width: 75%;
	}
	.lg\:offset-1 {
		margin-left: 8.333333333333334%;
	}
	.lg\:offset-2 {
		margin-left: 16.666666666666668%;
	}
	.lg\:flex {
		display: flex;
	}
	.lg\:hidden {
		display: none;
	}
}

@media (min-width: 1200px) {
	.xl\:col-2 {
		flex: 0 0 auto;
		width: 16.666666666666668%;
	}
	.xl\:col-3 {
		flex: 0 0 auto;
		width: 25%;
	}
	.xl\:col-4 {
		flex: 0 0 auto;
		width: 33.333333333333336%;
	}
	.xl\:col-5 {
		flex: 0 0 auto;
		width: 41.66666666666667%;
	}
	.xl\:col-9 {
		flex: 0 0 auto;
		width: 75%;
	}
	.xl\:block {
		display: block;
	}
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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Q0FBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBOztBQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTs7QUFBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7O0FBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBOztBQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTs7QUFBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7O0FBQUE7Q0FBQTtDQUFBO0FBQUE7Q0FBQTtDQUFBO0FBQUE7Q0FBQTtDQUFBO0FBQUE7Q0FBQTtDQUFBOztBQUFBO0NBQUE7Q0FBQTtDQUFBO0FBQUE7Q0FBQTtDQUFBOztBQUFBO0NBQUE7Q0FBQTtBQUFBO0NBQUE7Q0FBQTtBQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7QUFBQTtDQUFBO0NBQUE7QUFBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0FBQUE7Q0FBQTtDQUFBOztBQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtBSUtJO0VBQ0k7QVArS1I7O0FHckxBO0NBQUE7Q0FBQTtDQUFBOztBQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0VJbUJJO0VBQ0E7Q0pwQko7QUFBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTs7QUFBQTtDQUFBO0NBQUE7RUk2Qkk7RUFDQTtDSjlCSjs7QUFBQTtDQUFBO0NBQUE7Q0FBQTs7QUFBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7O0FBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtFSTRDSTtDSjVDSjtBQUFBO0NBQUE7Q0FBQTtBQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0VJb0RRO0VBQ0E7RUFDQTtDSnREUjtBQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7SUFBQTtTQUFBO0NBQUE7QUFBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7QUFBQTtDQUFBO0NBQUE7O0FBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBOztBQUFBO0NBQUE7Q0FB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QVM7SUFBUTtJQUFhO0VaODVCaEM7RVk3NUJFO0lBQVM7SUFBUTtJQUFhO0VaazZCaEM7RVlqNkJFO0lBQVM7SUFBUTtJQUFhO0VaczZCaEM7RVlyNkJFO0lBQVM7SUFBUTtJQUFhO0VaMDZCaEM7QUFDRjtBRzNxQ0E7Q0FBQTtDQUFBO0FBQUE7Q0FBQTtDQUFBO0NBQUE7QUFBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0FBQUE7Q0FBQTtDQUFBO0FTaVJZO0VUalJaO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBSGdzQ0E7QVl2NkJZO0VUelJaO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBSHdzQ0E7O0FHeHNDQTtDQUFBO0NBQUE7Q0FBQTtBQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7O0FBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtBQUFBO0NBQUE7Q0FBQTtBQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7QUFBQTtDQUFBO0NBQUE7Q0FBQTtBQUFBO0NBQUE7Q0FBQTtDQUFBO0FBQUE7Q0FBQTtDQUFBO0FBQUE7Q0FBQTtDQUFBO0NBQUE7QUFBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7RVN5VVk7Q1R6VVo7QUFBQTtDQUFBO0NBQUE7QUFBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7RVNrVlE7RUFDQTtFQUNBO0NUcFZSO0FBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtFU3dWWTtFQUNBO0NUelZaO0FTMlZRO0VBQ0k7QVpzNkJaO0FHbHdDQTtDQUFBO0NBQUE7Q0FBQTtFU2tXWTtDVGxXWjtBU29XUTtFQUNJO0FaczZCWjs7QUczd0NBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7QUFBQTtDQUFBO0NBQUE7Q0FBQTtBQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7O0FBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtBQUFBO0NBQUE7Q0FBQTs7QUFBQTtDQUFBO0NBQUE7QUFBQTtDQUFBO0NBQUE7QUFBQTtDQUFBO0VTcVlRO0NUcllSO0FBQUE7Q0FBQTtDQUFBO0FTMFlJO0VUMVlKO0VBQUE7RUFBQTtBSGt6Q0E7QVluNkJJO0VBQ0k7QVpxNkJSO0FZbjZCSTtFQUNJO0FacTZCUjs7QUd4ekNBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtBQUFBO0NBQUE7Q0FBQTtBQUFBO0NBQUE7Q0FBQTtDQUFBO0FBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtFVVdnQjtDVlhoQjtBQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0FBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtBQUFBO0NBQUE7Q0FBQTtFVXFCd0I7Q1ZyQnhCO0FBQUE7Q0FBQTtDQUFBO0FBQUE7Q0FBQTtDQUFBOztBQUFBO0NBQUE7Q0FBQTtBQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7QVUwQ1E7RVYxQ1I7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0FIdzJDQTtBR3gyQ0E7Q0FBQTtDQUFBO0NBQUE7QUFBQTtDQUFBO0NBQUE7QUFBQTtDQUFBO0NBQUE7Q0FBQTs7QUFBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7O0FBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7RVdTSTtFQUFhO0VBQ2I7RUFDQTtDWFhKOztBQUFBO0NBQUE7Q0FBQTtDQUFBOztBQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7RVdxQkk7Q1hyQko7O0FBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtBQUFBO0NBQUE7Q0FBQTtBQUFBO0NBQUE7Q0FBQTtDQUFBO0FBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTs7QUFBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7RVlrQkk7Q1psQko7O0FBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtJQUFBO0NBQUE7O0FhQUE7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUVBO0VBRUE7RUFDQTtBaEJzNkNKOztBZ0JwNkNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEJ1NkNKO0FnQnI2Q0k7RUFDSTtBaEJ1NkNSO0FnQnA2Q0k7RUFDSTtFQUNBO0FoQnM2Q1I7O0FnQm42Q0E7O0VBTUk7QWhCczZDSjs7QWdCbjZDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEJzNkNKO0FnQnA2Q0k7RUFFSTtFQUNBO0FoQnE2Q1I7QWdCbDZDSTtFQUNJO0FoQm82Q1I7QWdCajZDSTtFQUNJO0FoQm02Q1I7O0FnQmg2Q0E7RUFDSTtFQUNBO0VBQ0E7RUFXQTtBaEJ5NUNKO0FnQm42Q0k7RUFDSTtBaEJxNkNSO0FnQm42Q0k7RUFDSTtBaEJxNkNSO0FnQm42Q0k7RUFDSTtBaEJxNkNSO0FnQmg2Q0k7RUFDSTtBaEJrNkNSO0FnQi81Q0k7RUFDSTtBaEJpNkNSO0FnQjk1Q0k7RUFDSTtBaEJnNkNSO0FnQjc1Q0k7RUFDSTtFQUNBO0VBQ0E7QWhCKzVDUjs7QWdCNTVDQTtFQUNJO0FoQis1Q0o7O0FBeitDQTtDR3hCQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7Q0FBQTtDQUFBO0NBQUE7QUh3QkE7O0FBQUE7Q0d4QkE7QUh3QkE7O0FBQUE7Q0d4QkE7QUh3QkE7O0FBQUE7Q0d4QkE7QUh3QkE7O0FBQUE7Q0d4QkE7QUh3QkE7O0FBQUE7Q0d4QkE7QUh3QkE7O0FBQUE7Q0d4QkE7Q0FBQTtBSHdCQTs7QUFBQTtDR3hCQTtDQUFBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0FId0JBOztBQUFBO0NHeEJBO0NBQUE7QUh3QkE7O0FBQUE7Q0d4QkE7Q0FBQTtBSHdCQTs7QUFBQTtDR3hCQTtBSHdCQTs7QUFBQTtDR3hCQTtBSHdCQTs7QUFBQTtDR3hCQTtBSHdCQTs7QUFBQTtDR3hCQTtBSHdCQTs7QUFBQTtDR3hCQTtBSHdCQTs7QUFBQTtDR3hCQTtBSHdCQTs7QUFBQTtDR3hCQTtBSHdCQTs7QUFBQTtDR3hCQTtBSHdCQTs7QUFBQTtDR3hCQTtDQUFBO0FId0JBOztBQUFBO0NHeEJBO0NBQUE7QUh3QkE7O0FBQUE7Q0d4QkE7QUh3QkE7O0FBQUE7Q0d4QkE7QUh3QkE7O0FBQUE7Q0d4QkE7QUh3QkE7O0FBQUE7Q0d4QkE7QUh3QkE7O0FBQUE7Q0d4QkE7QUh3QkE7O0FBQUE7Q0d4QkE7QUh3QkE7O0FBeEJBO0NHQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtBSHdCQTs7QUF4QkE7Q0dBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0FId0JBOztBQXhCQTtDR0FBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtBSHdCQTs7QUF4QkE7Q0dBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUE7RUFBQTtFQUFBO0NBQUE7RUFBQTtFQUFBO0FId0JBLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbGlnaHRjbXMvLi9hcHAuc2NzcyIsIndlYnBhY2s6Ly9mbGlnaHRjbXMvLi9hc3NldHMvc2Nzcy8lM0NpbnB1dCUyMGNzcyUyMGRtTUc0bCUzRSIsIndlYnBhY2s6Ly9mbGlnaHRjbXMvLi9hc3NldHMvc2Nzcy8lM0NpbnB1dCUyMGNzcyUyMFFnUVhzWCUzRSIsIndlYnBhY2s6Ly9mbGlnaHRjbXMvPG5vIHNvdXJjZT4iLCJ3ZWJwYWNrOi8vZmxpZ2h0Y21zLy4vX3NldHRpbmdzLnNjc3MiLCJ3ZWJwYWNrOi8vZmxpZ2h0Y21zLy4vZ2VuZXJpYy9fYm9keS5zY3NzIiwid2VicGFjazovL2ZsaWdodGNtcy8uL2dlbmVyaWMvX21pc2Muc2NzcyIsIndlYnBhY2s6Ly9mbGlnaHRjbXMvLi9lbGVtZW50cy9fZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly9mbGlnaHRjbXMvLi9lbGVtZW50cy9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovL2ZsaWdodGNtcy8uL2NvbXBvbmVudHMvX2hlcm8uc2NzcyIsIndlYnBhY2s6Ly9mbGlnaHRjbXMvLi9jb21wb25lbnRzL19uYXYuc2NzcyIsIndlYnBhY2s6Ly9mbGlnaHRjbXMvLi9jb21wb25lbnRzL19mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly9mbGlnaHRjbXMvLi9jb21wb25lbnRzL19zZWN0aW9ucy5zY3NzIiwid2VicGFjazovL2ZsaWdodGNtcy8uL2NvbXBvbmVudHMvX3NvY2lhbC5zY3NzIiwid2VicGFjazovL2ZsaWdodGNtcy8uL29iamVjdHMvX2NvbnNlbnQuc2NzcyIsIndlYnBhY2s6Ly9mbGlnaHRjbXMvLi9vYmplY3RzL19lcnJvci5zY3NzIiwid2VicGFjazovL2ZsaWdodGNtcy8uLi8uLi9ub2RlX21vZHVsZXMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgcHVyZ2Vjc3Mgc3RhcnQgaWdub3JlICovXG5AdGFpbHdpbmQgYmFzZTtcbkB0YWlsd2luZCBjb21wb25lbnRzO1xuLyohIHB1cmdlY3NzIGVuZCBpZ25vcmUgKi9cblxuQGltcG9ydCAnc2V0dGluZ3MnO1xuQGltcG9ydCAnZ2VuZXJpYy9ib2R5JztcbkBpbXBvcnQgJ2dlbmVyaWMvbWlzYyc7XG5AaW1wb3J0ICdlbGVtZW50cy90ZXh0JztcbkBpbXBvcnQgJ2VsZW1lbnRzL2Zvcm1zJztcbkBpbXBvcnQgJ2VsZW1lbnRzL2J1dHRvbnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9oZXJvJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbmF2JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZm9vdGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2VjdGlvbnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zb2NpYWwnO1xuQGltcG9ydCAnb2JqZWN0cy9jb25zZW50JztcbkBpbXBvcnQgJ29iamVjdHMvZXJyb3InO1xuXG4vLyBAaW1wb3J0ICdkaWFnbm9zdGljcyc7XG5cbkBpbXBvcnQgJ35zbGljay1jYXJvdXNlbC9zbGljay9zbGljayc7XG5cbkB0YWlsd2luZCB1dGlsaXRpZXM7XG4iLCIvKiEgbW9kZXJuLW5vcm1hbGl6ZSB2MS4xLjAgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kcmVzb3JodXMvbW9kZXJuLW5vcm1hbGl6ZSAqL1xuXG4vKlxuRG9jdW1lbnRcbj09PT09PT09XG4qL1xuXG4vKipcblVzZSBhIGJldHRlciBib3ggbW9kZWwgKG9waW5pb25hdGVkKS5cbiovXG5cbiosXG46OmJlZm9yZSxcbjo6YWZ0ZXIge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKipcblVzZSBhIG1vcmUgcmVhZGFibGUgdGFiIHNpemUgKG9waW5pb25hdGVkKS5cbiovXG5cbmh0bWwge1xuXHQtbW96LXRhYi1zaXplOiA0O1xuXHR0YWItc2l6ZTogNDtcbn1cblxuLyoqXG4xLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4yLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiovXG5cbmh0bWwge1xuXHRsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuXHQtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLypcblNlY3Rpb25zXG49PT09PT09PVxuKi9cblxuLyoqXG5SZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4qL1xuXG5ib2R5IHtcblx0bWFyZ2luOiAwO1xufVxuXG4vKipcbkltcHJvdmUgY29uc2lzdGVuY3kgb2YgZGVmYXVsdCBmb250cyBpbiBhbGwgYnJvd3NlcnMuIChodHRwczovL2dpdGh1Yi5jb20vc2luZHJlc29yaHVzL21vZGVybi1ub3JtYWxpemUvaXNzdWVzLzMpXG4qL1xuXG5ib2R5IHtcblx0Zm9udC1mYW1pbHk6XG5cdFx0c3lzdGVtLXVpLFxuXHRcdC1hcHBsZS1zeXN0ZW0sIC8qIEZpcmVmb3ggc3VwcG9ydHMgdGhpcyBidXQgbm90IHlldCBgc3lzdGVtLXVpYCAqL1xuXHRcdCdTZWdvZSBVSScsXG5cdFx0Um9ib3RvLFxuXHRcdEhlbHZldGljYSxcblx0XHRBcmlhbCxcblx0XHRzYW5zLXNlcmlmLFxuXHRcdCdBcHBsZSBDb2xvciBFbW9qaScsXG5cdFx0J1NlZ29lIFVJIEVtb2ppJztcbn1cblxuLypcbkdyb3VwaW5nIGNvbnRlbnRcbj09PT09PT09PT09PT09PT1cbiovXG5cbi8qKlxuMS4gQWRkIHRoZSBjb3JyZWN0IGhlaWdodCBpbiBGaXJlZm94LlxuMi4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2Ugb2YgYm9yZGVyIGNvbG9yIGluIEZpcmVmb3guIChodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA2NTUpXG4qL1xuXG5ociB7XG5cdGhlaWdodDogMDsgLyogMSAqL1xuXHRjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKlxuVGV4dC1sZXZlbCBzZW1hbnRpY3Ncbj09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4vKipcbkFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuKi9cblxuYWJiclt0aXRsZV0ge1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG59XG5cbi8qKlxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIEVkZ2UgYW5kIFNhZmFyaS5cbiovXG5cbmIsXG5zdHJvbmcge1xuXHRmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbjEuIEltcHJvdmUgY29uc2lzdGVuY3kgb2YgZGVmYXVsdCBmb250cyBpbiBhbGwgYnJvd3NlcnMuIChodHRwczovL2dpdGh1Yi5jb20vc2luZHJlc29yaHVzL21vZGVybi1ub3JtYWxpemUvaXNzdWVzLzMpXG4yLiBDb3JyZWN0IHRoZSBvZGQgJ2VtJyBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4qL1xuXG5jb2RlLFxua2JkLFxuc2FtcCxcbnByZSB7XG5cdGZvbnQtZmFtaWx5OlxuXHRcdHVpLW1vbm9zcGFjZSxcblx0XHRTRk1vbm8tUmVndWxhcixcblx0XHRDb25zb2xhcyxcblx0XHQnTGliZXJhdGlvbiBNb25vJyxcblx0XHRNZW5sbyxcblx0XHRtb25vc3BhY2U7IC8qIDEgKi9cblx0Zm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG5BZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiovXG5cbnNtYWxsIHtcblx0Zm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuUHJldmVudCAnc3ViJyBhbmQgJ3N1cCcgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiovXG5cbnN1YixcbnN1cCB7XG5cdGZvbnQtc2l6ZTogNzUlO1xuXHRsaW5lLWhlaWdodDogMDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG5cdGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcblx0dG9wOiAtMC41ZW07XG59XG5cbi8qXG5UYWJ1bGFyIGRhdGFcbj09PT09PT09PT09PVxuKi9cblxuLyoqXG4xLiBSZW1vdmUgdGV4dCBpbmRlbnRhdGlvbiBmcm9tIHRhYmxlIGNvbnRlbnRzIGluIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTk5MDg4LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMjk3KVxuMi4gQ29ycmVjdCB0YWJsZSBib3JkZXIgY29sb3IgaW5oZXJpdGFuY2UgaW4gYWxsIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTM1NzI5LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1MDE2KVxuKi9cblxudGFibGUge1xuXHR0ZXh0LWluZGVudDogMDsgLyogMSAqL1xuXHRib3JkZXItY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLypcbkZvcm1zXG49PT09PVxuKi9cblxuLyoqXG4xLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbjIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG5cdGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuXHRsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuXHRtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG5SZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UgYW5kIEZpcmVmb3guXG4xLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4qL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbkNvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4qL1xuXG5idXR0b24sXG5bdHlwZT0nYnV0dG9uJ10sXG5bdHlwZT0ncmVzZXQnXSxcblt0eXBlPSdzdWJtaXQnXSB7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcblJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4qL1xuXG46Oi1tb3otZm9jdXMtaW5uZXIge1xuXHRib3JkZXItc3R5bGU6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuKi9cblxuOi1tb3otZm9jdXNyaW5nIHtcblx0b3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcblJlbW92ZSB0aGUgYWRkaXRpb25hbCAnOmludmFsaWQnIHN0eWxlcyBpbiBGaXJlZm94LlxuU2VlOiBodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9nZWNrby1kZXYvYmxvYi8yZjllYWNkOWQzZDk5NWM5MzdiNDI1MWE1NTU3ZDk1ZDQ5NGM5YmUxL2xheW91dC9zdHlsZS9yZXMvZm9ybXMuY3NzI0w3MjgtTDczN1xuKi9cblxuOi1tb3otdWktaW52YWxpZCB7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qKlxuUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dCAnZmllbGRzZXQnIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiovXG5cbmxlZ2VuZCB7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUgYW5kIEZpcmVmb3guXG4qL1xuXG5wcm9ncmVzcyB7XG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG5Db3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBTYWZhcmkuXG4qL1xuXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG46Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuXHRoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4yLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiovXG5cblt0eXBlPSdzZWFyY2gnXSB7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG5cdG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuKi9cblxuOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4yLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvICdpbmhlcml0JyBpbiBTYWZhcmkuXG4qL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cblx0Zm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKlxuSW50ZXJhY3RpdmVcbj09PT09PT09PT09XG4qL1xuXG4vKlxuQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4qL1xuXG5zdW1tYXJ5IHtcblx0ZGlzcGxheTogbGlzdC1pdGVtO1xufVxuIiwiLyoqXG4gKiBNYW51YWxseSBmb3JrZWQgZnJvbSBTVUlUIENTUyBCYXNlOiBodHRwczovL2dpdGh1Yi5jb20vc3VpdGNzcy9iYXNlXG4gKiBBIHRoaW4gbGF5ZXIgb24gdG9wIG9mIG5vcm1hbGl6ZS5jc3MgdGhhdCBwcm92aWRlcyBhIHN0YXJ0aW5nIHBvaW50IG1vcmVcbiAqIHN1aXRhYmxlIGZvciB3ZWIgYXBwbGljYXRpb25zLlxuICovXG5cbi8qKlxuICogUmVtb3ZlcyB0aGUgZGVmYXVsdCBzcGFjaW5nIGFuZCBib3JkZXIgZm9yIGFwcHJvcHJpYXRlIGVsZW1lbnRzLlxuICovXG5cbmJsb2NrcXVvdGUsXG5kbCxcbmRkLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxuaHIsXG5maWd1cmUsXG5wLFxucHJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbm9sLFxudWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogVGFpbHdpbmQgY3VzdG9tIHJlc2V0IHN0eWxlc1xuICovXG5cbi8qKlxuICogMS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mYW1pbHkgKHdpdGggVGFpbHdpbmQncyBkZWZhdWx0XG4gKiAgICBzYW5zLXNlcmlmIGZvbnQgc3RhY2sgYXMgYSBmYWxsYmFjaykgYXMgYSBzYW5lIGRlZmF1bHQuXG4gKiAyLiBVc2UgVGFpbHdpbmQncyBkZWZhdWx0IFwibm9ybWFsXCIgbGluZS1oZWlnaHQgc28gdGhlIHVzZXIgaXNuJ3QgZm9yY2VkXG4gKiAgICB0byBvdmVycmlkZSBpdCB0byBlbnN1cmUgY29uc2lzdGVuY3kgZXZlbiB3aGVuIHVzaW5nIHRoZSBkZWZhdWx0IHRoZW1lLlxuICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogdGhlbWUoJ2ZvbnRGYW1pbHkuc2FucycsIHVpLXNhbnMtc2VyaWYsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiKTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS41OyAvKiAyICovXG59XG5cblxuLyoqXG4gKiBJbmhlcml0IGZvbnQtZmFtaWx5IGFuZCBsaW5lLWhlaWdodCBmcm9tIGBodG1sYCBzbyB1c2VycyBjYW4gc2V0IHRoZW0gYXNcbiAqIGEgY2xhc3MgZGlyZWN0bHkgb24gdGhlIGBodG1sYCBlbGVtZW50LlxuICovXG5cbmJvZHkge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogMS4gUHJldmVudCBwYWRkaW5nIGFuZCBib3JkZXIgZnJvbSBhZmZlY3RpbmcgZWxlbWVudCB3aWR0aC5cbiAqXG4gKiAgICBXZSB1c2VkIHRvIHNldCB0aGlzIGluIHRoZSBodG1sIGVsZW1lbnQgYW5kIGluaGVyaXQgZnJvbVxuICogICAgdGhlIHBhcmVudCBlbGVtZW50IGZvciBldmVyeXRoaW5nIGVsc2UuIFRoaXMgY2F1c2VkIGlzc3Vlc1xuICogICAgaW4gc2hhZG93LWRvbS1lbmhhbmNlZCBlbGVtZW50cyBsaWtlIDxkZXRhaWxzPiB3aGVyZSB0aGUgY29udGVudFxuICogICAgaXMgd3JhcHBlZCBieSBhIGRpdiB3aXRoIGJveC1zaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAuXG4gKlxuICogICAgaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy80XG4gKlxuICpcbiAqIDIuIEFsbG93IGFkZGluZyBhIGJvcmRlciB0byBhbiBlbGVtZW50IGJ5IGp1c3QgYWRkaW5nIGEgYm9yZGVyLXdpZHRoLlxuICpcbiAqICAgIEJ5IGRlZmF1bHQsIHRoZSB3YXkgdGhlIGJyb3dzZXIgc3BlY2lmaWVzIHRoYXQgYW4gZWxlbWVudCBzaG91bGQgaGF2ZSBub1xuICogICAgYm9yZGVyIGlzIGJ5IHNldHRpbmcgaXQncyBib3JkZXItc3R5bGUgdG8gYG5vbmVgIGluIHRoZSB1c2VyLWFnZW50XG4gKiAgICBzdHlsZXNoZWV0LlxuICpcbiAqICAgIEluIG9yZGVyIHRvIGVhc2lseSBhZGQgYm9yZGVycyB0byBlbGVtZW50cyBieSBqdXN0IHNldHRpbmcgdGhlIGBib3JkZXItd2lkdGhgXG4gKiAgICBwcm9wZXJ0eSwgd2UgY2hhbmdlIHRoZSBkZWZhdWx0IGJvcmRlci1zdHlsZSBmb3IgYWxsIGVsZW1lbnRzIHRvIGBzb2xpZGAsIGFuZFxuICogICAgdXNlIGJvcmRlci13aWR0aCB0byBoaWRlIHRoZW0gaW5zdGVhZC4gVGhpcyB3YXkgb3VyIGBib3JkZXJgIHV0aWxpdGllcyBvbmx5XG4gKiAgICBuZWVkIHRvIHNldCB0aGUgYGJvcmRlci13aWR0aGAgcHJvcGVydHkgaW5zdGVhZCBvZiB0aGUgZW50aXJlIGBib3JkZXJgXG4gKiAgICBzaG9ydGhhbmQsIG1ha2luZyBvdXIgYm9yZGVyIHV0aWxpdGllcyBtdWNoIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGNvbXBvc2UuXG4gKlxuICogICAgaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kY3NzL3RhaWx3aW5kY3NzL3B1bGwvMTE2XG4gKi9cblxuKixcbjo6YmVmb3JlLFxuOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgYm9yZGVyLXdpZHRoOiAwOyAvKiAyICovXG4gIGJvcmRlci1zdHlsZTogc29saWQ7IC8qIDIgKi9cbiAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7IC8qIDIgKi9cbn1cblxuLypcbiAqIEVuc3VyZSBob3Jpem9udGFsIHJ1bGVzIGFyZSB2aXNpYmxlIGJ5IGRlZmF1bHRcbiAqL1xuXG5ociB7XG4gIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbn1cblxuLyoqXG4gKiBVbmRvIHRoZSBgYm9yZGVyLXN0eWxlOiBub25lYCByZXNldCB0aGF0IE5vcm1hbGl6ZSBhcHBsaWVzIHRvIGltYWdlcyBzbyB0aGF0XG4gKiBvdXIgYGJvcmRlci17d2lkdGh9YCB1dGlsaXRpZXMgaGF2ZSB0aGUgZXhwZWN0ZWQgZWZmZWN0LlxuICpcbiAqIFRoZSBOb3JtYWxpemUgcmVzZXQgaXMgdW5uZWNlc3NhcnkgZm9yIHVzIHNpbmNlIHdlIGRlZmF1bHQgdGhlIGJvcmRlci13aWR0aFxuICogdG8gMCBvbiBhbGwgZWxlbWVudHMuXG4gKlxuICogaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kY3NzL3RhaWx3aW5kY3NzL2lzc3Vlcy8zNjJcbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbmlucHV0OjpwbGFjZWhvbGRlcixcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiB0aGVtZSgnY29sb3JzLmdyYXkuNDAwJywgI2ExYTFhYSk7XG59XG5cbmJ1dHRvbixcbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKipcbiAqIE92ZXJyaWRlIGxlZ2FjeSBmb2N1cyByZXNldCBmcm9tIE5vcm1hbGl6ZSB3aXRoIG1vZGVybiBGaXJlZm94IGZvY3VzIHN0eWxlcy5cbiAqXG4gKiBUaGlzIGlzIGFjdHVhbGx5IGFuIGltcHJvdmVtZW50IG92ZXIgdGhlIG5ldyBkZWZhdWx0cyBpbiBGaXJlZm94IGluIG91ciB0ZXN0aW5nLFxuICogYXMgaXQgdHJpZ2dlcnMgdGhlIGJldHRlciBmb2N1cyBzdHlsZXMgZXZlbiBmb3IgbGlua3MsIHdoaWNoIHN0aWxsIHVzZSBhIGRvdHRlZFxuICogb3V0bGluZSBpbiBGaXJlZm94IGJ5IGRlZmF1bHQuXG4gKi9cbiBcbjotbW96LWZvY3VzcmluZyB7XG5cdG91dGxpbmU6IGF1dG87XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBSZXNldCBsaW5rcyB0byBvcHRpbWl6ZSBmb3Igb3B0LWluIHN0eWxpbmcgaW5zdGVhZCBvZlxuICogb3B0LW91dC5cbiAqL1xuXG5hIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBSZXNldCBmb3JtIGVsZW1lbnQgcHJvcGVydGllcyB0aGF0IGFyZSBlYXN5IHRvIGZvcmdldCB0b1xuICogc3R5bGUgZXhwbGljaXRseSBzbyB5b3UgZG9uJ3QgaW5hZHZlcnRlbnRseSBpbnRyb2R1Y2VcbiAqIHN0eWxlcyB0aGF0IGRldmlhdGUgZnJvbSB5b3VyIGRlc2lnbiBzeXN0ZW0uIFRoZXNlIHN0eWxlc1xuICogc3VwcGxlbWVudCBhIHBhcnRpYWwgcmVzZXQgdGhhdCBpcyBhbHJlYWR5IGFwcGxpZWQgYnlcbiAqIG5vcm1hbGl6ZS5jc3MuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vKipcbiAqIFVzZSB0aGUgY29uZmlndXJlZCAnbW9ubycgZm9udCBmYW1pbHkgZm9yIGVsZW1lbnRzIHRoYXRcbiAqIGFyZSBleHBlY3RlZCB0byBiZSByZW5kZXJlZCB3aXRoIGEgbW9ub3NwYWNlIGZvbnQsIGZhbGxpbmdcbiAqIGJhY2sgdG8gdGhlIHN5c3RlbSBtb25vc3BhY2Ugc3RhY2sgaWYgdGhlcmUgaXMgbm8gY29uZmlndXJlZFxuICogJ21vbm8nIGZvbnQgZmFtaWx5LlxuICovXG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IHRoZW1lKCdmb250RmFtaWx5Lm1vbm8nLCB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UpO1xufVxuXG4vKipcbiAqIDEuIE1ha2UgcmVwbGFjZWQgZWxlbWVudHMgYGRpc3BsYXk6IGJsb2NrYCBieSBkZWZhdWx0IGFzIHRoYXQnc1xuICogICAgdGhlIGJlaGF2aW9yIHlvdSB3YW50IGFsbW9zdCBhbGwgb2YgdGhlIHRpbWUuIEluc3BpcmVkIGJ5XG4gKiAgICBDU1MgUmVtZWR5LCB3aXRoIGBzdmdgIGFkZGVkIGFzIHdlbGwuXG4gKlxuICogICAgaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNFxuICogXG4gKiAyLiBBZGQgYHZlcnRpY2FsLWFsaWduOiBtaWRkbGVgIHRvIGFsaWduIHJlcGxhY2VkIGVsZW1lbnRzIG1vcmVcbiAqICAgIHNlbnNpYmx5IGJ5IGRlZmF1bHQgd2hlbiBvdmVycmlkaW5nIGBkaXNwbGF5YCBieSBhZGRpbmcgYVxuICogICAgdXRpbGl0eSBsaWtlIGBpbmxpbmVgLlxuICpcbiAqICAgIFRoaXMgY2FuIHRyaWdnZXIgYSBwb29ybHkgY29uc2lkZXJlZCBsaW50aW5nIGVycm9yIGluIHNvbWVcbiAqICAgIHRvb2xzIGJ1dCBpcyBpbmNsdWRlZCBieSBkZXNpZ24uXG4gKiBcbiAqICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9qZW5zaW1tb25zL2Nzc3JlbWVkeS9pc3N1ZXMvMTQjaXNzdWVjb21tZW50LTYzNDkzNDIxMFxuICovXG5cbmltZyxcbnN2ZyxcbnZpZGVvLFxuY2FudmFzLFxuYXVkaW8sXG5pZnJhbWUsXG5lbWJlZCxcbm9iamVjdCB7XG4gIGRpc3BsYXk6IGJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb25zdHJhaW4gaW1hZ2VzIGFuZCB2aWRlb3MgdG8gdGhlIHBhcmVudCB3aWR0aCBhbmQgcHJlc2VydmVcbiAqIHRoZWlyIGludHJpbnNpYyBhc3BlY3QgcmF0aW8uXG4gKlxuICogaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNFxuICovXG5cbmltZyxcbnZpZGVvIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogRW5zdXJlIHRoZSBkZWZhdWx0IGJyb3dzZXIgYmVoYXZpb3Igb2YgdGhlIGBoaWRkZW5gIGF0dHJpYnV0ZS5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLG51bGwsIi8qIENPTE9VUlMgKi9cblxuOnJvb3Qge1xuICAgIC0tYmxhY2s6ICMwMDA7XG4gICAgLS13aGl0ZTogI2ZmZjtcbiAgICAtLWdyZXk6ICNFMUUxRTE7XG4gICAgLS1wcmltYXJ5OiAjRTg3RjlDO1xuICAgIC0tc2Vjb25kYXJ5OiAjMUEyNTU4O1xuICAgIC0tZGFyazogIzAwMDAzMjtcbiAgICAtLWxpZ2h0OiAjRkZBMUI2O1xuICAgIC0tc3VjY2VzczogIzM4YTE2OTtcbiAgICAtLWRhbmdlcjogI2U1M2UzZTtcbiAgICAtLWFwcC1oZWlnaHQ6IDEwMCU7XG59XG5cbi8qIEJSRUFLUE9JTlRTICovXG4vLyBUaGUgYmVsb3cgbWl4aW5zIHNob3VsZCBvbmx5IGJlIHVzZWQgd2hlbiBhYnNvbHV0ZWx5IG5lY2Vzc2FyeSwgb3RoZXJ3aXNlIHJlZmVyIHRvOiBodHRwczovL3YyLnRhaWx3aW5kY3NzLmNvbS9kb2NzL2Z1bmN0aW9ucy1hbmQtZGlyZWN0aXZlcyNzY3JlZW5cblxuJGRlc2t0b3A6IDExOTlweDtcbiR0YWJsZXQ6IDk5MXB4O1xuJG1vYmlsZTogNzY3cHg7XG4keHM6IDU3NXB4O1xuXG4kZGVza3RvcC1taW46IDEyMDBweDtcbiR0YWJsZXQtbWluOiA5OTJweDtcbiRtb2JpbGUtbWluOiA3NjhweDtcbiR4cy1taW46IDU3NnB4O1xuXG5AbWl4aW4gcmVzcG9uZCgkYnJlYWtwb2ludCkge1xuICBAaWYgJGJyZWFrcG9pbnQgPT0geHMge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHhzKSB7IEBjb250ZW50IH07XG4gIH1cbiAgQGlmICRicmVha3BvaW50ID09IG1vYmlsZSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbW9iaWxlKSB7IEBjb250ZW50IH07XG4gIH1cbiAgQGlmICRicmVha3BvaW50ID09IHRhYmxldCB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkdGFibGV0KSB7IEBjb250ZW50IH07XG4gIH1cbiAgQGlmICRicmVha3BvaW50ID09IGRlc2t0b3Age1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGRlc2t0b3ApIHsgQGNvbnRlbnQgfTtcbiAgfVxufVxuXG5AbWl4aW4gcmVzcG9uZC1taW4oJGJyZWFrcG9pbnQpIHtcbiAgQGlmICRicmVha3BvaW50ID09IHhzIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR4cy1taW4pIHsgQGNvbnRlbnQgfTtcbiAgfVxuICBAaWYgJGJyZWFrcG9pbnQgPT0gbW9iaWxlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtb2JpbGUtbWluKSB7IEBjb250ZW50IH07XG4gIH1cbiAgQGlmICRicmVha3BvaW50ID09IHRhYmxldCB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdGFibGV0LW1pbikgeyBAY29udGVudCB9O1xuICB9XG4gIEBpZiAkYnJlYWtwb2ludCA9PSBkZXNrdG9wIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkZXNrdG9wLW1pbikgeyBAY29udGVudCB9O1xuICB9XG59XG5cbi8qIE1JWElOUyAqL1xuXG5AbWl4aW4gZmxleC1jZW50ZXIge1xuICAgIEBhcHBseSBmbGV4IGp1c3RpZnktY2VudGVyIGNvbnRlbnQtY2VudGVyIGZsZXgtd3JhcDtcbn1cbkBtaXhpbiBmbGV4LWNlbnRlci1lbmQge1xuICAgIEBhcHBseSBmbGV4IGp1c3RpZnktY2VudGVyIGNvbnRlbnQtZW5kIGZsZXgtd3JhcDtcbn1cbkBtaXhpbiBmbGV4LWNlbnRlci1zdGFydCB7XG4gICAgQGFwcGx5IGZsZXgganVzdGlmeS1jZW50ZXIgY29udGVudC1zdGFydCBmbGV4LXdyYXA7XG59XG4iLCJoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBvbCwgdWwsIGxpLCBibG9ja3F1b3RlLCBwLCBhLCBpbWcsIGEgaW1nLCBociwgZmllbGRzZXQsIGZvcm0sIHRhYmxlLCB0Ym9keSwgdHIsIHRkLCBpbnB1dFt0eXBlPWNoZWNrYm94XSwgaW5wdXRbdHlwZT1yYWRpb10sIHRleHRhcmVhLCBzZWxlY3QsIGJ1dHRvbiB7IG1hcmdpbjowOyBwYWRkaW5nOjA7IHRleHQtZGVjb3JhdGlvbjpub25lOyBib3JkZXI6MCBub25lOyB9XG5zdHJvbmcsIGIgeyBmb250LXdlaWdodDo3MDA7fVxuaHRtbCwgaHRtbCBhIHsgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQgIWltcG9ydGFudDsgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuYVtocmVmXj10ZWxdIHsgY29sb3I6IGluaGVyaXQ7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuYnV0dG9uOmFjdGl2ZSwgYnV0dG9uOmZvY3VzLCBpbnB1dDphY3RpdmUsIGlucHV0OmZvY3VzLCBhOmFjdGl2ZSwgYTpmb2N1cyB7IG91dGxpbmU6bm9uZTsgfVxuXG5hW2hyZWZePW1haWx0b10ge1xuICAgIEBhcHBseSBicmVhay1hbGw7XG5cbiAgICBAc2NyZWVuIGxnIHtcbiAgICAgICAgQGFwcGx5IGJyZWFrLW5vcm1hbDtcbiAgICB9XG59XG5cbmJvZHksIGh0bWwge1xuICAgIEBhcHBseSBoLWF1dG87XG4gICAgQGFwcGx5IGJnLXdoaXRlO1xuICAgIEBhcHBseSBmb250LXNhbnMtY29uZGVuc2VkIGZvbnQtbGlnaHQgdGV4dC1ibGFjayB0ZXh0LWJhc2U7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gICAgc2Nyb2xsLXBhZGRpbmctdG9wOiA3MnB4O1xuICAgIEBzY3JlZW4gc20ge1xuICAgICAgICBAYXBwbHkgaC1zY3JlZW47XG4gICAgfVxufVxuXG5ib2R5IHtcbiAgICBAYXBwbHkgb3ZlcmZsb3cteC1oaWRkZW47XG59XG4iLCIuaW1hZ2UtZmFkZSB7XG4gICAgQGFwcGx5IGJnLWJsYWNrO1xuICAgIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDtcbn1cblxuLmltYWdlLW1hc2sge1xuICAgIEBhcHBseSByZWxhdGl2ZTtcbiAgICBpbWcge1xuICAgICAgICBAYXBwbHkgYmxvY2sgei0xMCBtdC0xMDtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9pbWFnZS1tYXNrLnBuZycpO1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9pbWFnZS1tYXNrLnBuZycpO1xuICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgICBtYXNrLXNpemU6IDEwMCUgMTAwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuICAgICAgICBAc2NyZWVuIGxnIHtcbiAgICAgICAgICAgIEBhcHBseSBtdC0wO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jbWFwIHtcbiAgICBoZWlnaHQ6IDQwMHB4O1xufVxuXG4uZ3JlY2FwdGNoYS1iYWRnZSB7XG4gICAgQGFwcGx5IGludmlzaWJsZTtcbn1cbiIsImxhYmVsLCBsZWdlbmQge1xuICAgIEBhcHBseSBmb250LWxpZ2h0O1xuICAgIEBhcHBseSBtYi0yO1xuICAgIEBhcHBseSBibG9jaztcbiAgICBAYXBwbHkgYm9yZGVyLW5vbmU7XG4gICAgJi5yZXF1aXJlZDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiICpcIlxuICAgIH1cbn1cblxuLmZvcm0tZ3JvdXAge1xuICAgIEBhcHBseSBtYi04O1xuICAgIEBhcHBseSByZWxhdGl2ZTtcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICAgQGFwcGx5IGJvcmRlciBib3JkZXItc29saWQgYm9yZGVyLXNlY29uZGFyeSByb3VuZGVkLW5vbmUgdy1mdWxsO1xuICAgIEBhcHBseSBiZy1zZWNvbmRhcnkgdGV4dC1wcmltYXJ5O1xuICAgIEBhcHBseSBweC0yO1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICY6Zm9jdXMge1xuICAgICAgICBAYXBwbHkgc2hhZG93LW5vbmUgb3V0bGluZS1ub25lO1xuICAgICAgICBAYXBwbHkgYm9yZGVyLXdoaXRlO1xuICAgIH1cbn1cblxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgICBAYXBwbHkgcHktMjtcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgICByZXNpemU6IG5vbmU7XG59XG5cbi5jb250cm9sLWxhYmVsIHtcbiAgICBAYXBwbHkgdGV4dC13aGl0ZSBmb250LW5vcm1hbDtcbn1cblxuLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICBAYXBwbHkgYmctcHJpbWFyeSBib3JkZXItcHJpbWFyeSB0ZXh0LXdoaXRlIHJvdW5kZWQtbm9uZTtcbn1cblxuZGl2LnNlbGVjdCB7XG4gICAgQGFwcGx5IHJlbGF0aXZlO1xuICAgIEBhcHBseSBib3JkZXItYiBib3JkZXItZGFyayByb3VuZGVkLW5vbmU7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgQGFwcGx5IGJvcmRlci13aGl0ZTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBAYXBwbHkgdGV4dC13aGl0ZSBmb250LWxpZ2h0O1xuICAgICAgICBAYXBwbHkgYWJzb2x1dGUgdG9wLTQgcmlnaHQtNDtcbiAgICAgICAgQGFwcGx5IHBvaW50ZXItZXZlbnRzLW5vbmU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMDc4XCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IFByb1wiO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuICAgIHNlbGVjdCB7XG4gICAgICAgIEBhcHBseSBiZy10cmFuc3BhcmVudCB0ZXh0LWRhcmsgdXBwZXJjYXNlO1xuICAgICAgICBAYXBwbHkgaC1mdWxsIHctZnVsbDtcbiAgICAgICAgQGFwcGx5IHAtNDtcbiAgICAgICAgQGFwcGx5IGFwcGVhcmFuY2Utbm9uZTtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBAYXBwbHkgc2hhZG93LW5vbmUgb3V0bGluZS1ub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgICAgIEBhcHBseSBoaWRkZW47XG4gICAgfVxufVxucC5zdWNjZXNzIHtcbiAgICBAYXBwbHkgdGV4dC13aGl0ZSBiZy1zdWNjZXNzIHAtNCByb3VuZGVkLW1kO1xufVxuXG5wLmVycm9yIHtcbiAgICBAYXBwbHkgdGV4dC13aGl0ZSBiZy1kYW5nZXIgcC00IHJvdW5kZWQtbWQgbWItODtcbn1cblxuLmhlbHAtYmxvY2sge1xuICAgIEBhcHBseSB0ZXh0LXdoaXRlO1xufVxuXG4iLCIlYnRuIHtcbiAgICBAYXBwbHkgcmVsYXRpdmUgaW5saW5lLWJsb2NrIG1heC13LWZ1bGwgYm9yZGVyLW5vbmUgd2hpdGVzcGFjZS1ub3JtYWw7XG4gICAgQGFwcGx5IHRleHQtY2VudGVyIHRleHQtMnhsIHVwcGVyY2FzZTtcbiAgICBAYXBwbHkgcC0wO1xuXHRtaW4td2lkdGg6IDE3cmVtOyBtaW4taGVpZ2h0OiA0cmVtO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSwgJi5hY3RpdmU6aG92ZXIsICYuYWN0aXZlOmZvY3VzLCAmLmFjdGl2ZTphY3RpdmUge1xuICAgICAgICBAYXBwbHkgbm8tdW5kZXJsaW5lO1xuICAgIH1cbn1cblxuLmJ0biB7XG4gICAgQGV4dGVuZCAlYnRuO1xuICAgIEBhcHBseSB0ZXh0LXdoaXRlIGZvbnQtYm9sZDtcbiAgICBzcGFuIHtcbiAgICAgICAgQGFwcGx5IHJlbGF0aXZlIGJsb2NrIHotMjA7XG4gICAgICAgIEBhcHBseSAgdy1mdWxsIGgtZnVsbDtcbiAgICAgICAgQGFwcGx5IHB5LTQgcHgtMTA7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBAYXBwbHkgYmxvY2sgYWJzb2x1dGUgdG9wLTAgcmlnaHQtMCB6LTEwO1xuICAgICAgICBAYXBwbHkgaC1mdWxsO1xuICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICB9XG4gICAgJjpob3ZlcjphZnRlciB7XG4gICAgICAgIEBhcHBseSB3LWZ1bGw7XG4gICAgfVxuICAgICYtLWZ1bGwge1xuICAgICAgICBAYXBwbHkgdy1mdWxsO1xuICAgIH1cbiAgICAmLS1ib3JkZXIge1xuICAgICAgICBib3JkZXI6IHNvbGlkIDVweCB2YXIoLS13aGl0ZSk7XG4gICAgfVxufVxuXG4uYnRuLXByaW1hcnkge1xuICAgIEBhcHBseSBiZy1wcmltYXJ5O1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBAYXBwbHkgYmctd2hpdGU7XG4gICAgfVxuXHQmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSwgJi5hY3RpdmU6aG92ZXIsICYuYWN0aXZlOmZvY3VzLCAmLmFjdGl2ZTphY3RpdmUge1xuICAgICAgICBAYXBwbHkgdGV4dC1wcmltYXJ5O1xuICAgIH1cbn1cblxuLmJ0bi1zZWNvbmRhcnkge1xuICAgIEBhcHBseSBiZy1zZWNvbmRhcnk7XG4gICAgJjphZnRlciB7XG4gICAgICAgIEBhcHBseSBiZy1wcmltYXJ5O1xuICAgIH1cblx0Jjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUsICYuYWN0aXZlOmhvdmVyLCAmLmFjdGl2ZTpmb2N1cywgJi5hY3RpdmU6YWN0aXZlIHtcbiAgICAgICAgQGFwcGx5IHRleHQtd2hpdGU7XG4gICAgfVxufVxuXG4uYnRuLWZvcm0ge1xuICAgIEBhcHBseSBiZy1zZWNvbmRhcnk7XG4gICAgJjphZnRlciB7XG4gICAgICAgIEBhcHBseSBiZy13aGl0ZTtcbiAgICB9XG5cdCY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlLCAmLmFjdGl2ZTpob3ZlciwgJi5hY3RpdmU6Zm9jdXMsICYuYWN0aXZlOmFjdGl2ZSB7XG4gICAgICAgIEBhcHBseSB0ZXh0LXNlY29uZGFyeTtcbiAgICB9XG59XG5cbi5idG4taW52YWRlciB7XG4gICAgQGFwcGx5IG10LTE0O1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgQGFwcGx5IGJsb2NrIGFic29sdXRlO1xuICAgICAgICBAYXBwbHkgYmctY292ZXIgYmctY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9pbnZhZGVyLnBuZycpO1xuICAgICAgICB3aWR0aDogNzZweDsgaGVpZ2h0OiA1OHB4O1xuICAgICAgICB0b3A6IC01MHB4OyBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogIHRyYW5zbGF0ZSgtMzhweCk7XG4gICAgfVxuICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlLCAmLmFjdGl2ZTpob3ZlciwgJi5hY3RpdmU6Zm9jdXMsICYuYWN0aXZlOmFjdGl2ZSB7XG4gICAgICAgIEBhcHBseSB0ZXh0LXByaW1hcnk7XG4gICAgfVxuICAgICY6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgYW5pbWF0aW9uOiBpbnZhZGVyIDAuNXMgbGluZWFyIDBzIGluZmluaXRlIG5vcm1hbCBib3RoO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBpbnZhZGVyIHtcbiAgICAwJSAgICB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL2ludmFkZXIucG5nJyk7IH1cbiAgICA0OSUgICAgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9pbnZhZGVyLnBuZycpOyB9XG4gICAgNTAlICAgIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWFnZXMvaW52YWRlcjIucG5nJyk7IH1cbiAgICAxMDAlICB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL2ludmFkZXIyLnBuZycpOyB9XG59XG5cbi5idG4tb2Zmc2V0IHtcbiAgICBAYXBwbHkgei00MDtcbiAgICBtYXJnaW4tdG9wOiAtMnJlbTtcbn1cblxuLnNjcm9sbC1idG4ge1xuICAgIEBhcHBseSBibG9jayBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlcjtcbiAgICBAYXBwbHkgdy0xMCBoLTEwO1xuICAgIEBhcHBseSBteC1hdXRvIHAtNDtcbiAgICBAYXBwbHkgcm91bmRlZC1mdWxsIGJnLXRyYW5zcGFyZW50IHRleHQtcHJpbWFyeTtcbiAgICBAYXBwbHkgYm9yZGVyIGJvcmRlci1zb2xpZCBib3JkZXItcHJpbWFyeTtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgQGFwcGx5IG5vLXVuZGVybGluZTtcbiAgICB9XG59XG5cbi5idG4tbW9iIHtcbiAgICBAYXBwbHkgdy1mdWxsO1xuICAgIEBzY3JlZW4gc20ge1xuICAgICAgICBAYXBwbHkgdy1hdXRvO1xuICAgIH1cbn1cblxuIiwiLmhlcm8ge1xuICAgIEBhcHBseSByZWxhdGl2ZSB3LXNjcmVlbiBtaW4taC1zY3JlZW4gb3ZlcmZsb3ctaGlkZGVuO1xuICAgIEBhcHBseSBiZy10b3AgYmctY292ZXIgYmctYmxhY2s7XG4gICAgQGFwcGx5IHRleHQtd2hpdGUgdGV4dC1jZW50ZXI7XG4gICAgQGluY2x1ZGUgZmxleC1jZW50ZXItZW5kO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL3RocmVlLXdpc2UtYmlyZHMuanBnJyksIHVybCgnLi4vLi4vaW1hZ2VzL2hlcm8tdGlsZS5qcGcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0LCByZXBlYXQteDtcbiAgICBtaW4taGVpZ2h0OiB2YXIoLS1hcHAtaGVpZ2h0KTtcbiAgICBAc2NyZWVuIGxnIHtcbiAgICAgICAgQGFwcGx5IGJnLWNvbnRhaW47XG4gICAgfVxuICAgICYtLXRleHQge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgQGFwcGx5IG1iLTEyO1xuICAgICAgICB9XG4gICAgfVxuICAgICY6YWZ0ZXIsICY6YmVmb3JlIHtcbiAgICAgICAgbWl4LWJsZW5kLW1vZGU6IGxpZ2h0ZW47XG4gICAgICAgIEBhcHBseSBoaWRkZW4gcG9pbnRlci1ldmVudHMtbm9uZTtcbiAgICAgICAgQHNjcmVlbiBtZCB7XG4gICAgICAgICAgICBAYXBwbHkgYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBhcHBseSBhYnNvbHV0ZSBvcGFjaXR5LTMwIHotMjA7XG4gICAgICAgIEBhcHBseSBiZy1ib3R0b20gYmctbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEyMCU7XG4gICAgICAgIGJvdHRvbTogLTUwcHg7IGxlZnQ6IC01MHB4O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMTAwcHgpOyBoZWlnaHQ6IGNhbGMoMTAwJSArIDEwMHB4KTtcbiAgICAgICAgYW5pbWF0aW9uOiBzbW9rZWJsb2NrIDYwcyBlYXNlLW91dCAwcyBpbmZpbml0ZSBub3JtYWwgZm9yd2FyZHM7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL3Ntb2tlLWJhY2tncm91bmQxLmpwZycpO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBhcHBseSBhYnNvbHV0ZSBoLWZ1bGwgYmctYm90dG9tIGJnLWNvdmVyIHotMTA7XG4gICAgICAgIEBhcHBseSBvcGFjaXR5LTUwO1xuICAgICAgICB3aWR0aDogMjAwJTtcbiAgICAgICAgYW5pbWF0aW9uOiBzbW9rZXlibG9jayA2MHMgZWFzZS1vdXQgMHMgMSBub3JtYWwgZm9yd2FyZHM7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL3Ntb2tlLWJhY2tncm91bmQyLmpwZycpO1xuICAgIH1cbiAgICBwIHtcbiAgICAgICAgQGFwcGx5IHRleHQtMnhsIHRleHQtd2hpdGUgZm9udC1ub3JtYWwgdXBwZXJjYXNlIGxlYWRpbmctbm9uZSBtYi0xMDtcbiAgICAgICAgQHNjcmVlbiBtZCB7XG4gICAgICAgICAgICBAYXBwbHkgdGV4dC0zeGw7XG4gICAgICAgIH1cbiAgICAgICAgQHNjcmVlbiB4bCB7XG4gICAgICAgICAgICBAYXBwbHkgdGV4dC00eGw7XG4gICAgICAgIH1cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIEBhcHBseSB0ZXh0LTR4bCBmb250LWJvbGQ7XG4gICAgICAgICAgICBAc2NyZWVuIG1kIHtcbiAgICAgICAgICAgICAgICBAYXBwbHkgdGV4dC01eGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAc2NyZWVuIHhsIHtcbiAgICAgICAgICAgICAgICBAYXBwbHkgdGV4dC03eGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAYXBwbHkgdGV4dC1wcmltYXJ5O1xuICAgICAgICB9XG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBAYXBwbHkgdGV4dC1wcmltYXJ5O1xuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIEBhcHBseSB0ZXh0LWxnIHRleHQtd2hpdGUgZm9udC1saWdodDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgICAgICAgICAgQHNjcmVlbiBtZCB7XG4gICAgICAgICAgICAgICAgQGFwcGx5IHRleHQteGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAc2NyZWVuIHhsIHtcbiAgICAgICAgICAgICAgICBAYXBwbHkgdGV4dC0yeGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zbW9rZTEsIC5zbW9rZTIge1xuICAgIEBhcHBseSBhYnNvbHV0ZSBib3R0b20tMCB6LTMwIHBvaW50ZXItZXZlbnRzLW5vbmU7XG4gICAgbWl4LWJsZW5kLW1vZGU6IGxpZ2h0ZW47XG4gICAgQGFwcGx5IGhpZGRlbjtcbiAgICBAc2NyZWVuIG1kIHtcbiAgICAgICAgQGFwcGx5IGJsb2NrO1xuICAgIH1cbn1cblxuLnNtb2tlMSB7XG4gICAgQGFwcGx5IHJpZ2h0LTAgcm90YXRlLTE4MDtcbiAgICBvcGFjaXR5OiAwLjA4O1xuICAgIGFuaW1hdGlvbjogc21va2UgNTBzIGVhc2Utb3V0IDBzIDEgbm9ybWFsIGZvcndhcmRzO1xufVxuXG4uc21va2UyIHtcbiAgICBAYXBwbHkgbGVmdC0wIG9wYWNpdHktMTA7XG4gICAgYW5pbWF0aW9uOiBzbW9rZWQgNTVzIGVhc2Utb3V0IDBzIDEgbm9ybWFsIGZvcndhcmRzO1xufVxuXG5Aa2V5ZnJhbWVzIHNtb2tlIHtcbiAgICBmcm9tICAgeyByaWdodDogMTUlOyBib3R0b206IC0yMCU7IHRyYW5zZm9ybTogcm90YXRlKDE4MCk7IH1cbiAgICB0byB7IHJpZ2h0OiA2MCU7IGJvdHRvbTogMTAwJTsgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsgb3BhY2l0eTogMDsgfVxufVxuXG5Aa2V5ZnJhbWVzIHNtb2tlZCB7XG4gICAgZnJvbSAgIHsgbGVmdDogMTAlOyBib3R0b206IC0zMCU7IHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gICAgdG8geyBsZWZ0OiA1MCU7IGJvdHRvbTogMTAwJTsgdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpOyBvcGFjaXR5OiAwOyB9XG59XG5cbkBrZXlmcmFtZXMgc21va2VibG9jayB7XG4gICAgZnJvbSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgdHJhbnNsYXRlWCg1MHB4KSByb3RhdGUoMGRlZyk7IH1cbiAgICB0byAgIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpIHRyYW5zbGF0ZVgoNTBweCkgcm90YXRlKC0zNjBkZWcpOyB9XG59XG5cbkBrZXlmcmFtZXMgc21va2V5YmxvY2sge1xuICAgIGZyb20gICB7IHJpZ2h0OiAtNTAlOyB9XG4gICAgdG8geyByaWdodDogMDsgb3BhY2l0eTogMDsgfVxufVxuIiwiLnNpdGUtaGVhZGVyIHtcbiAgICBAYXBwbHkgYWJzb2x1dGUgdG9wLTAgei01MDtcbiAgICBAYXBwbHkgYmctdHJhbnNwYXJlbnQgdy1mdWxsO1xufVxuXG4uc2l0ZS1uYXZiYXIge1xuICAgIEBhcHBseSBmbGV4IGZsZXgtd3JhcCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuO1xuICAgIEBhcHBseSBweC0wIHB5LTg7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IHZhcigtLXByaW1hcnkpO1xuICAgICZfX3RvZ2dsZXIge1xuICAgICAgICBAYXBwbHkgYmxvY2sgei01MDtcbiAgICAgICAgQGFwcGx5IHctNiBoLTY7XG4gICAgICAgIEBhcHBseSBwLTAgbWwtNjtcbiAgICAgICAgQHNjcmVlbiBtZCB7XG4gICAgICAgICAgICBAYXBwbHkgaGlkZGVuO1xuICAgICAgICB9XG4gICAgICAgIC50b2dnbGVyX19saW5lIHtcbiAgICAgICAgICAgIEBhcHBseSBibG9jayB3LWZ1bGwgei01MDtcbiAgICAgICAgICAgIEBhcHBseSBiZy13aGl0ZTtcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgbWFyZ2luOiA2cHggMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMnMgYWxsO1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgQGFwcGx5IG10LTA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIEBhcHBseSBtYi0wO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICAgICAgLnRvZ2dsZXJfX2xpbmUge1xuICAgICAgICAgICAgICAgIEBhcHBseSByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgICAgICBAYXBwbHkgb3BhY2l0eS0wIHctMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19saXN0IHtcbiAgICAgICAgQGFwcGx5IGZsZXggZmxleC13cmFwIGNvbnRlbnQtY2VudGVyIGp1c3RpZnktY2VudGVyO1xuICAgICAgICBAYXBwbHkgYWJzb2x1dGUgdy0wIGgtMCB6LTQwO1xuICAgICAgICBAYXBwbHkgYmctcHJpbWFyeSBvcGFjaXR5LTA7XG4gICAgICAgIHRvcDogNTAlOyByaWdodDogNTAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBAc2NyZWVuIG1kIHtcbiAgICAgICAgICAgIEBhcHBseSByZWxhdGl2ZSB3LWF1dG8gaC1hdXRvIGluc2V0LWF1dG87XG4gICAgICAgICAgICBAYXBwbHkgYmctdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBAYXBwbHkgb3BhY2l0eS0xMDA7XG4gICAgICAgICAgICB0b3A6IGF1dG87IHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgQGFwcGx5IGZsZXggZmxleC1jb2wgbWItMCBsaXN0LW5vbmUgcGwtMDtcbiAgICAgICAgICAgIEBzY3JlZW4gbWQge1xuICAgICAgICAgICAgICAgIEBhcHBseSBmbGV4LXJvdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBAYXBwbHkgcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIEBhcHBseSByZWxhdGl2ZSBmbGV4IGp1c3RpZnktY2VudGVyIGNvbnRlbnQtY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBAYXBwbHkgdGV4dC14bCB0ZXh0LXdoaXRlIGZvbnQtYm9sZCB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBhcHBseSB0ZXh0LXNlY29uZGFyeSBuby11bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBAc2NyZWVuIG1kIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAYXBwbHkgdGV4dC1wcmltYXJ5O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAYXBwbHkgYmxvY2sgYWJzb2x1dGUgYmctcHJpbWFyeSByb3VuZGVkLWZ1bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGFwcGx5IGgtMi41IHctMi41O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBzY3JlZW4gbWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb246IG1lbnVlZ2cgMC43NXMgZWFzZS1pbi1vdXQgMC4xcyAxIG5vcm1hbCBmb3J3YXJkcztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIGEge1xuICAgICAgICAgICAgICAgICAgICBAYXBwbHkgaW52aXNpYmxlIHctYXV0bztcbiAgICAgICAgICAgICAgICAgICAgQHNjcmVlbiBtZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAYXBwbHkgdy0wO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGFwcGx5IHZpc2libGUgYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBAYXBwbHkgYmctbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgQGFwcGx5IC1tdC0yLjU7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzVweDsgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWFnZXMvYmlyZGJveC5wbmcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzVweCAxMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBAc2NyZWVuIG1kIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAYXBwbHkgcmlnaHQtMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBzY3JlZW4gbWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBhcHBseSBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgIEBhcHBseSBoaWRkZW47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB1bHtcbiAgICAgICAgICAgICAgICAgICAgQGFwcGx5IGJsb2NrIGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBAYXBwbHkgdG9wLWZ1bGw7XG4gICAgICAgICAgICAgICAgICAgIEBhcHBseSBweC00IHB5LTY7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgKyBsaSB7XG4gICAgICAgICAgICAgICAgICAgIEBhcHBseSBtbC0wIG10LTQ7XG4gICAgICAgICAgICAgICAgICAgIEBzY3JlZW4gbWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGFwcGx5IG10LTAgbWwtODtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAubW9iaWxlbWVudSB7XG4gICAgICAgIEBhcHBseSB3LXNjcmVlbiBmaXhlZCB0b3AtMCByaWdodC0wIG9wYWNpdHktMTAwO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLWFwcC1oZWlnaHQpO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICB9XG59XG5cbi5kcm9wZG93bjpob3ZlciB7XG4gICAgPiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgIEBhcHBseSBibG9jaztcbiAgICAgICAgQGFwcGx5IHRvcC1mdWxsO1xuICAgIH1cbn1cblxuYm9keTpub3QoLnBhZ2UtaG9tZSkge1xuICAgIC5zaXRlLWhlYWRlciB7XG4gICAgICAgIEBhcHBseSBiZy1kYXJrIHctZnVsbCBib3JkZXItYiBib3JkZXItc29saWQgYm9yZGVyLXByaW1hcnk7O1xuICAgIH1cbiAgICAuc2l0ZS1uYXZiYXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbn1cblxuLnN0aWNreS1tZW51IHtcbiAgICBAYXBwbHkgZml4ZWQgLXRvcC1mdWxsIHctZnVsbCBvcGFjaXR5LTA7XG4gICAgQGFwcGx5IGJvcmRlci1iIGJvcmRlci1zb2xpZCBib3JkZXItcHJpbWFyeTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvcjogIzFBMjU1OCwgJGFscGhhOiAwLjg1KSAhaW1wb3J0YW50O1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig0cHgpO1xuICAgIC5zaXRlLW5hdmJhciB7XG4gICAgICAgIEBhcHBseSBweS00O1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbn1cblxuLm1lbnUtZmFkZSB7XG4gICAgQGFwcGx5IHRvcC0wIG9wYWNpdHktMTAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzIGVhc2UtaW4tb3V0O1xufVxuXG5Aa2V5ZnJhbWVzIG1lbnVlZ2cge1xuICAgIDAlICAgICAgeyB0b3A6IC0xMHB4OyB3aWR0aDogMTBweDsgaGVpZ2h0OiAxMHB4OyB9XG4gICAgNTAlICAgICB7IHRvcDogLTIwcHg7IHdpZHRoOiAxMHB4OyBoZWlnaHQ6IDEycHg7IH1cbiAgICA3MCUgICAgIHsgdG9wOiAtMTBweDsgd2lkdGg6IDEwcHg7IGhlaWdodDogMTBweDsgfVxuICAgIDg1JSAgICAgeyB0b3A6IC04cHg7IHdpZHRoOiAxMnB4OyBoZWlnaHQ6IDhweDsgfVxuICAgIDEwMCUgICAgeyB0b3A6IC0xMHB4OyB3aWR0aDogMTBweDsgaGVpZ2h0OiAxMHB4OyB9XG59XG5cbnVsLm5ld3MtbWVudSB7XG4gICAgQGFwcGx5IGxpc3Qtbm9uZSBwdC02IHBsLTAgcmVsYXRpdmU7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgQGFwcGx5IGFic29sdXRlIHRvcC0wIGxlZnQtMCB3LVs2MHB4XSBoLVszcHhdIGJnLXByaW1hcnk7XG4gICAgfVxuICAgIGxpICsgbGkge1xuICAgICAgICBAYXBwbHkgbXQtMTtcbiAgICB9XG4gICAgYSB7XG4gICAgICAgIEBhcHBseSB0ZXh0LWRhcmsgdGV4dC1sZyBibG9jaztcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICBAYXBwbHkgdGV4dC1wcmltYXJ5IG5vLXVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBsaS5hY3RpdmUge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBhcHBseSBmb250LWJvbGQgcHItOCByZWxhdGl2ZTtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwYWInO1xuICAgICAgICAgICAgICAgIEBhcHBseSBhYnNvbHV0ZSByaWdodC0wO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDYgUHJvXCI7XG4gICAgICAgICAgICAgICAgQHNjcmVlbiBtZCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwYTknO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxudWwucGFnaW5hdGlvbiB7XG4gICAgQGFwcGx5IGxpc3Qtbm9uZSBwLTAgbXQtMTA7XG4gICAgbGkge1xuICAgICAgICBAYXBwbHkgaW5saW5lIHRleHQtZGFyaztcbiAgICAgICAgJiArIGxpIHtcbiAgICAgICAgICAgIEBhcHBseSBtbC0yO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGFwcGx5IHRleHQtZGFyaztcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIEBhcHBseSBuby11bmRlcmxpbmUgdGV4dC1wcmltYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgICAgQGFwcGx5IGN1cnNvci1ub3QtYWxsb3dlZCBvcGFjaXR5LTI1O1xuICAgICAgICB9XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIEBhcHBseSBmb250LWJvbGQ7XG4gICAgICAgIH1cbiAgICAgICAgYSwgc3BhbiB7XG4gICAgICAgICAgICBAYXBwbHkgcC0yO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnNpdGUtZm9vdGVyIHtcbiAgICBAYXBwbHkgYmctZGFyaztcbiAgICBAYXBwbHkgdGV4dC13aGl0ZTtcbiAgICBAYXBwbHkgcHQtMTIgcGItMjA7XG4gICAgQHNjcmVlbiBtZCB7XG4gICAgICAgIEBhcHBseSBwYi0xMjtcbiAgICB9XG4gICAgYTpub3QoLnNvY2lhbC1saWdodCkge1xuICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgICAgICAgICBAYXBwbHkgbm8tdW5kZXJsaW5lO1xuICAgICAgICAgICAgQGFwcGx5IHRleHQtd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi1jb250ZW50IHtcbiAgICAgICAgJi0tcmlnaHQge1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgQGFwcGx5IHRleHQtbGVmdDtcbiAgICAgICAgICAgICAgICBAc2NyZWVuIGxnIHtcbiAgICAgICAgICAgICAgICAgICAgQGFwcGx5IHRleHQtcmlnaHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYtbWVudSB7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIEBhcHBseSBsaXN0LW5vbmU7XG4gICAgICAgICAgICBAYXBwbHkgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1zdGFydDtcbiAgICAgICAgICAgIEBhcHBseSBtYi00IHBsLTAgbXQtMDtcbiAgICAgICAgICAgIEBzY3JlZW4gbGcge1xuICAgICAgICAgICAgICAgIEBhcHBseSBqdXN0aWZ5LWVuZCBtdC00O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICYrbGkge1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnfCc7XG4gICAgICAgICAgICAgICAgICAgICAgICBAYXBwbHkgcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBAYXBwbHkgcHgtMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDAuMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGFwcGx5IHRleHQtd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJtYWluIHtcbiAgICBAYXBwbHkgYmctZGFyaztcbiAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggdmFyKC0tcHJpbWFyeSk7XG4gICAgaDUge1xuICAgICAgICBAYXBwbHkgdGV4dC1wcmltYXJ5O1xuICAgIH1cbn1cblxuLmludHJvIHtcbiAgICBAYXBwbHkgcHktMTIgdGV4dC13aGl0ZTtcbn1cblxuLnNlcnZpY2VzIHtcbiAgICBAYXBwbHkgcHktMTI7XG4gICAgJi0tY2lyY2xlIHtcbiAgICAgICAgQGFwcGx5IHJlbGF0aXZlIGZsZXggZmxleC13cmFwIGp1c3RpZnktY2VudGVyIGNvbnRlbnQtY2VudGVyO1xuICAgICAgICBAYXBwbHkgcm91bmRlZC1mdWxsO1xuICAgICAgICBAYXBwbHkgcC0yIG1iLTEwO1xuICAgICAgICB3aWR0aDogMTc1cHg7IGhlaWdodDogMTc1cHg7XG4gICAgICAgIGJvcmRlcjogc29saWQgMXB4IHZhcigtLXByaW1hcnkpO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBpbWcuY3JlYXRlIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogc2hha2UgMXMgZWFzZS1pbi1vdXQgMHMgaW5maW5pdGUgbm9ybWFsIGJvdGg7XG4gICAgICAgIH1cbiAgICAgICAgaW1nLmNvZGUge1xuICAgICAgICAgICAgQGFwcGx5IGFuaW1hdGUtYm91bmNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5iZWFrOmFmdGVyIHtcbiAgICAgICAgQGFwcGx5IGJsb2NrIGFic29sdXRlIHotMTAgYmctbm8tcmVwZWF0IGJnLWNlbnRlcjtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdG9wOiA1OHB4O1xuICAgICAgICB3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9iZWFrLnBuZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICAgICAgYW5pbWF0aW9uOiBzcXVhd2sgMC42cyBlYXNlLWluLW91dCAwcyBpbmZpbml0ZSBub3JtYWwgYm90aDtcbiAgICB9XG4gICAgdWwge1xuICAgICAgICBAYXBwbHkgbGlzdC1ub25lIHAtMDtcbiAgICAgICAgQGFwcGx5IHRleHQtbGcgZm9udC1ib2xkIHVwcGVyY2FzZTtcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgQGFwcGx5IG0tMDtcbiAgICAgICAgfVxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBAYXBwbHkgcHktNTtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIEBhcHBseSBwdC0wO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgKyBsaSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogc29saWQgMXB4IHZhcigtLXByaW1hcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcbiAgICAxMCUsIDkwJSAgICAgICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xcHgsIDAsIDApOyB9XG4gICAgMjAlLCA4MCUgICAgICAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgycHgsIDAsIDApOyB9XG4gICAgMzAlLCA1MCUsIDcwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNHB4LCAwLCAwKTsgfVxuICAgIDQwJSwgNjAlICAgICAgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNHB4LCAwLCAwKTsgfVxufVxuXG5Aa2V5ZnJhbWVzIHNxdWF3ayB7XG4gICAgMCUgICAgICB7IGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlOyB9XG4gICAgNTAlICAgICB7IGJhY2tncm91bmQtc2l6ZTogMTAwJSA0MCU7IH1cbiAgICAxMDAlICAgIHsgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7IH1cbn1cblxuLndvcmssIC5vZmZpY2UsIC5uZXdzIHtcbiAgICBAYXBwbHkgcGItMTI7XG4gICAgQGFwcGx5IHRleHQtc2Vjb25kYXJ5O1xuICAgIGgyLCBoMSB7XG4gICAgICAgIEBhcHBseSB0ZXh0LXdoaXRlO1xuICAgIH1cbiAgICAmLXRvcCB7XG4gICAgICAgIEBhcHBseSByZWxhdGl2ZSBmbGV4IGZsZXgtd3JhcCBqdXN0aWZ5LWNlbnRlciBjb250ZW50LWNlbnRlcjtcbiAgICAgICAgbWluLWhlaWdodDogNTAwcHg7XG4gICAgICAgIGgyLCBoMSwgcCwgaW1nIHtcbiAgICAgICAgICAgIEBhcHBseSByZWxhdGl2ZSB6LTIwO1xuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGFwcGx5IHRleHQtd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgQGFwcGx5IGJnLWNvdmVyIGJnLW5vLXJlcGVhdDtcbiAgICAgICAgICAgIEBhcHBseSBibG9jayBhYnNvbHV0ZSB3LWZ1bGwgaC1mdWxsIGluc2V0LTAgei0xMDtcbiAgICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xuICAgICAgICAgICAgb3BhY2l0eTogMC4xNTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogaW5pdGlhbDtcbiAgICAgICAgICAgIEBzY3JlZW4gc20ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi1jb250ZW50IHtcbiAgICAgICAgQGFwcGx5IHJlbGF0aXZlIHotMzA7XG4gICAgICAgIG1hcmdpbi10b3A6IC0yMTBweDtcbiAgICB9XG4gICAgLndvcmstdG9wIHtcbiAgICAgICAgQGFwcGx5IGJnLWJsYWNrO1xuICAgICAgICBoMiwgaDEge1xuICAgICAgICAgICAgQGFwcGx5IG1iLTgwO1xuICAgICAgICAgICAgQHNjcmVlbiBtZCB7XG4gICAgICAgICAgICAgICAgQGFwcGx5IG1iLTg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAYXBwbHkgYmctY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWFnZXMvODBzLWhlYWRlci5qcGcnKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAub2ZmaWNlLXRvcCB7XG4gICAgICAgIEBhcHBseSBiZy1kYXJrO1xuICAgICAgICBtaW4taGVpZ2h0OiAzNTBweDtcbiAgICAgICAgQHNjcmVlbiBtZCB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA1MDBweDtcbiAgICAgICAgfVxuICAgICAgICBoMiwgaDEge1xuICAgICAgICAgICAgQGFwcGx5IG1iLTQ4O1xuICAgICAgICAgICAgQHNjcmVlbiBtZCB7XG4gICAgICAgICAgICAgICAgQGFwcGx5IG1iLTEyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGFwcGx5IGJnLWNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL29mZmljZS5qcGcnKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubmV3cy10b3Age1xuICAgICAgICBAYXBwbHkgYmctZGFyaztcbiAgICAgICAgbWluLWhlaWdodDogMzUwcHg7XG4gICAgICAgIEBzY3JlZW4gbWQge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMzUwcHg7XG4gICAgICAgIH1cbiAgICAgICAgaDIsIGgxIHtcbiAgICAgICAgICAgIEBhcHBseSBtYi00ODtcbiAgICAgICAgICAgIEBzY3JlZW4gbWQge1xuICAgICAgICAgICAgICAgIEBhcHBseSBtYi0xMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBhcHBseSBiZy1jZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9vZmZpY2UuanBnJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLndvcmstY29udGVudCB7XG4gICAgICAgIEBhcHBseSBwdC0xMCBwYi0xNCBweC04O1xuICAgICAgICBAYXBwbHkgYmctcHJpbWFyeTtcbiAgICAgICAgQHNjcmVlbiBtZCB7XG4gICAgICAgICAgICBAYXBwbHkgcHgtMTY7XG4gICAgICAgIH1cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgQGFwcGx5IHRleHQtd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgQGFwcGx5IGJsb2NrIGFic29sdXRlIHotNDA7XG4gICAgICAgICAgICBAYXBwbHkgYmctY292ZXIgYmctbm8tcmVwZWF0IGJnLWNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL2d1aWxlLnBuZycpO1xuICAgICAgICAgICAgdG9wOiAwOyByaWdodDogMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDJweDsgaGVpZ2h0OiAxNjBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xNDBweDtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogZ3VpbGUgMXMgZWFzZS1pbi1vdXQgMC4zcyBpbmZpbml0ZSBub3JtYWwgYm90aDtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgQGFwcGx5IGJsb2NrIGFic29sdXRlIHotNDA7XG4gICAgICAgICAgICBAYXBwbHkgYmctY292ZXIgYmctbm8tcmVwZWF0IGJnLWNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL3J5dS5wbmcnKTtcbiAgICAgICAgICAgIHRvcDogMDsgbGVmdDogMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiA4NXB4OyBoZWlnaHQ6IDE2MHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTE0MHB4O1xuICAgICAgICAgICAgYW5pbWF0aW9uOiByeXUgMXMgZWFzZS1pbi1vdXQgMHMgaW5maW5pdGUgbm9ybWFsIGJvdGg7XG4gICAgICAgIH1cbiAgICAgICAgLmltZy1lZGdlIHtcbiAgICAgICAgICAgIEBhcHBseSByZWxhdGl2ZTtcbiAgICAgICAgICAgICYtLWJsb2NrIHtcbiAgICAgICAgICAgICAgICBAYXBwbHkgYWJzb2x1dGUgdG9wLTA7XG4gICAgICAgICAgICAgICAgQGFwcGx5IGJnLWJsYWNrIGJnLWNvdmVyIGJnLW5vLXJlcGVhdCBiZy1jZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWFnZXMvdGVhLWxiLmpwZycpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMDAlOyBoZWlnaHQ6IDg1JTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBAYXBwbHkgYmxvY2sgYWJzb2x1dGUgYmctYmxhY2sgdG9wLTA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwMCU7IGhlaWdodDogODUlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAub2ZmaWNlLWNvbnRlbnQge1xuICAgICAgICAmLS10ZXh0IHtcbiAgICAgICAgICAgIEBhcHBseSBiZy13aGl0ZTtcbiAgICAgICAgICAgIEBhcHBseSBtdC0wIG1sLTA7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDAgMCAwO1xuICAgICAgICAgICAgaDYsIGg1IHtcbiAgICAgICAgICAgICAgICBAYXBwbHkgdGV4dC1wcmltYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQHNjcmVlbiBtZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjEwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRyZW0gMCAwIDRyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAc2NyZWVuIGxnIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cmVtIDAgMCA0cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQHNjcmVlbiB4bCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXJlbSAwIDAgNXJlbTtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA1NTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgfVxuICAgLm5ld3MtY29udGVudCB7XG4gICAgICAgIG1hcmdpbi10b3A6IC03NXB4O1xuICAgICAgICAmLS10ZXh0IHtcbiAgICAgICAgICAgIEBhcHBseSBiZy13aGl0ZTtcbiAgICAgICAgICAgIEBhcHBseSBtdC0wIG1sLTAgbWItODtcbiAgICAgICAgICAgIEBhcHBseSByZWxhdGl2ZSB6LTMwO1xuICAgICAgICAgICAgaDYsIGg1IHtcbiAgICAgICAgICAgICAgICBAYXBwbHkgdGV4dC1wcmltYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQHNjcmVlbiBsZyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNHJlbSAwIDAgNHJlbTtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyMjVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMTBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAc2NyZWVuIHhsIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cmVtIDAgMCA1cmVtO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM4OHB4O1xuICAgICAgICAgICAgICAgIEBhcHBseSBtYi0wO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTtcbiAgICAgICAgICAgIEBhcHBseSBtYi0xMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGtleWZyYW1lcyByeXUge1xuICAgIDAlICAgICB7IHRvcDogMDsgbGVmdDogMjBweDsgbWFyZ2luLXRvcDogLTE0MHB4OyB9XG4gICAgMjUlICAgIHsgdG9wOiAwOyBsZWZ0OiAyMnB4OyBtYXJnaW4tdG9wOiAtMTQ0cHg7IH1cbiAgICA1MCUgICAgeyB0b3A6IDA7IGxlZnQ6IDI0cHg7IG1hcmdpbi10b3A6IC0xNDBweDsgfVxuICAgIDc1JSAgICB7IHRvcDogMDsgbGVmdDogMjJweDsgbWFyZ2luLXRvcDogLTE0NHB4OyB9XG4gICAgMTAwJSAgIHsgdG9wOiAwOyBsZWZ0OiAyMHB4OyBtYXJnaW4tdG9wOiAtMTQwcHg7IH1cbn1cblxuQGtleWZyYW1lcyBndWlsZSB7XG4gICAgMCUgICAgIHsgdG9wOiAwOyByaWdodDogMjBweDsgbWFyZ2luLXRvcDogLTE0MHB4OyB9XG4gICAgMjUlICAgIHsgdG9wOiAwOyByaWdodDogMjJweDsgbWFyZ2luLXRvcDogLTE0NHB4OyB9XG4gICAgNTAlICAgIHsgdG9wOiAwOyByaWdodDogMjRweDsgbWFyZ2luLXRvcDogLTE0MHB4OyB9XG4gICAgNzUlICAgIHsgdG9wOiAwOyByaWdodDogMjJweDsgbWFyZ2luLXRvcDogLTE0NHB4OyB9XG4gICAgMTAwJSAgIHsgdG9wOiAwOyByaWdodDogMjBweDsgbWFyZ2luLXRvcDogLTE0MHB4OyB9XG59XG5cbi5wb3J0Zm9saW8ge1xuICAgIEBhcHBseSBwYi0xMjtcbiAgICBoMiB7XG4gICAgICAgIEBhcHBseSB0ZXh0LWNlbnRlciB0ZXh0LWRhcms7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgQGFwcGx5IGJsb2NrO1xuICAgICAgICAgICAgQGFwcGx5IHRleHQtcHJpbWFyeSB0ZXh0LWxnIGZvbnQtbGlnaHQgbm9ybWFsLWNhc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi13cmFwIHtcbiAgICAgICAgJi0taXRlbSB7XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgtbis1KSB7XG4gICAgICAgICAgICAgICAgQGFwcGx5IG1iLTg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAc2NyZWVuIHNtIHtcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgtbis1KSB7XG4gICAgICAgICAgICAgICAgICAgIEBhcHBseSBtYi0wO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgtbis0KSB7XG4gICAgICAgICAgICAgICAgICAgIEBhcHBseSBtYi04O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBzY3JlZW4gbWQge1xuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKC1uKzQpLCAmOm50aC1jaGlsZCgtbis1KSB7XG4gICAgICAgICAgICAgICAgICAgIEBhcHBseSBtYi0wO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgtbiszKSB7XG4gICAgICAgICAgICAgICAgICAgIEBhcHBseSBtYi04O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBhcnRuZXJzaGlwcyB7XG4gICAgaDIge1xuICAgICAgICBAYXBwbHkgdGV4dC1jZW50ZXIgdGV4dC13aGl0ZTtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAYXBwbHkgYmxvY2s7XG4gICAgICAgICAgICBAYXBwbHkgdGV4dC1wcmltYXJ5IHRleHQtbGcgZm9udC1saWdodCBub3JtYWwtY2FzZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZsb2NrIHtcbiAgICBAYXBwbHkgcHktMTI7XG4gICAgQGFwcGx5IHRleHQtc2Vjb25kYXJ5O1xuICAgIGgyIHtcbiAgICAgICAgQGFwcGx5IHRleHQtY2VudGVyO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIEBhcHBseSBibG9jaztcbiAgICAgICAgICAgIEBhcHBseSB0ZXh0LXByaW1hcnkgdGV4dC1sZyBmb250LWxpZ2h0IG5vcm1hbC1jYXNlO1xuICAgICAgICB9XG4gICAgfVxuICAgICYtcHJvZmlsZSB7XG4gICAgICAgIEBhcHBseSB0ZXh0LWNlbnRlciBtLWF1dG87XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBAYXBwbHkgbXgtYXV0bztcbiAgICAgICAgfVxuICAgICAgICBoNSwgaDYge1xuICAgICAgICAgICAgQGFwcGx5IG1iLTA7XG4gICAgICAgIH1cbiAgICAgICAgaDYge1xuICAgICAgICAgICAgQGFwcGx5IGZvbnQtbGlnaHQgdGV4dC1wcmltYXJ5O1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGFwcGx5IHJlbGF0aXZlIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyO1xuICAgICAgICAgICAgQGFwcGx5IHJvdW5kZWQtZnVsbCB3LTggaC04O1xuICAgICAgICAgICAgQGFwcGx5IGJnLXByaW1hcnkgdGV4dC13aGl0ZSBuby11bmRlcmxpbmUgZm9udC1ub3JtYWw7XG4gICAgICAgICAgICBAYXBwbHkgcHgtMi41IG14LWF1dG8gbXktNDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgJjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIEBhcHBseSBiZy1zZWNvbmRhcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZsaXAtY2FyZCB7XG4gICAgICAgIEBhcHBseSBiZy10cmFuc3BhcmVudDtcbiAgICAgICAgQGFwcGx5IG1iLTQgbWF4LXctZnVsbCBteC1hdXRvO1xuICAgICAgICB3aWR0aDogMjI1cHg7XG4gICAgICAgIGhlaWdodDogMjI1cHg7XG4gICAgICAgIHBlcnNwZWN0aXZlOiAxMDAwcHg7XG4gICAgICAgICYtaW5uZXIge1xuICAgICAgICAgICAgQGFwcGx5IHJlbGF0aXZlIHRleHQtY2VudGVyO1xuICAgICAgICAgICAgQGFwcGx5IHctZnVsbCBoLWZ1bGw7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC44cztcbiAgICAgICAgICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciAuZmxpcC1jYXJkLWlubmVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpO1xuICAgICAgICB9XG4gICAgICAgICYtZnJvbnQsICYtYmFjayB7XG4gICAgICAgICAgICBAYXBwbHkgYWJzb2x1dGU7XG4gICAgICAgICAgICBAYXBwbHkgdy1mdWxsIGgtZnVsbDtcbiAgICAgICAgICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICAgICYtYmFjayB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNvbnRhY3Qge1xuICAgIEBhcHBseSBweS0xMjtcbiAgICBAYXBwbHkgYmctcHJpbWFyeTtcbiAgICBoMiB7XG4gICAgICAgIEBhcHBseSB0ZXh0LWNlbnRlciB0ZXh0LXNlY29uZGFyeTtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAYXBwbHkgYmxvY2s7XG4gICAgICAgICAgICBAYXBwbHkgdGV4dC13aGl0ZSB0ZXh0LWxnIGZvbnQtbGlnaHQgbm9ybWFsLWNhc2U7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jb250ZW50LXBhZ2Uge1xuICAgIEBhcHBseSBweS0xMjtcbiAgICBAYXBwbHkgdGV4dC1kYXJrO1xuICAgIHVsLCBvbCB7XG4gICAgICAgIEBhcHBseSBtYi04O1xuICAgIH1cbn1cblxuLmJsb2ctbGlzdCB7XG4gICAgQGFwcGx5IG1iLTEyO1xuICAgIHAsIGEge1xuICAgICAgICBAYXBwbHkgdGV4dC1kYXJrO1xuICAgIH1cbiAgICBhOmhvdmVyLCBhOmFjdGl2ZSwgYTpmb2N1cyB7XG4gICAgICAgIEBhcHBseSBuby11bmRlcmxpbmU7XG4gICAgICAgIGNvbG9yOiBpbml0aWFsO1xuICAgIH1cbiAgICAmOm50aC1sYXN0LWNoaWxkKC1uKzEpIHtcbiAgICAgICAgQGFwcGx5IG1iLTA7XG4gICAgfVxuICAgIEBzY3JlZW4gbGcge1xuICAgICAgICAmOm50aC1sYXN0LWNoaWxkKC1uKzIpIHtcbiAgICAgICAgICAgIEBhcHBseSBtYi0wO1xuICAgICAgICB9XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuICAgIH1cbiAgICBhOmhvdmVyIGltZyB7XG4gICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpO1xuICAgIH1cbn1cbiIsIi5zb2NpYWwtbGlua3Mge1xuICAgIEBhcHBseSBoLXNjcmVlbiByaWdodC0xMCB0b3AtMCB6LTQwO1xuICAgIHVsIHtcbiAgICAgICAgQGFwcGx5IGxpc3Qtbm9uZTtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgQGFwcGx5IGZsZXgganVzdGlmeS1lbmQ7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBAYXBwbHkgcmVsYXRpdmUgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXI7XG4gICAgICAgICAgICAgICAgQGFwcGx5IHJvdW5kZWQtZnVsbCB3LTggaC04O1xuICAgICAgICAgICAgICAgIEBhcHBseSBiZy1wcmltYXJ5IHRleHQtd2hpdGUgbm8tdW5kZXJsaW5lIGZvbnQtbm9ybWFsO1xuICAgICAgICAgICAgICAgIEBhcHBseSBweC0yLjU7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIEBhcHBseSBhYnNvbHV0ZSB3LTAgb3BhY2l0eS0wIG1sLTY7XG4gICAgICAgICAgICAgICAgICAgIEBhcHBseSBwb2ludGVyLWV2ZW50cy1ub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIEBhcHBseSBiZy1zZWNvbmRhcnkganVzdGlmeS1zdGFydDtcbiAgICAgICAgICAgICAgICAgICAgQGFwcGx5IHctNDg7XG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGFwcGx5IHctYXV0byBvcGFjaXR5LTEwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4gMC4zcztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYrbGkge1xuICAgICAgICAgICAgICAgIEBhcHBseSBtdC0yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGEuc29jaWFsLWRhcmsge1xuICAgICAgICAgICAgICAgIEBhcHBseSBiZy1zZWNvbmRhcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zb2NpYWwtZm9vdGVyIHtcbiAgICBAYXBwbHkgaC1hdXRvO1xuICAgIHVsIHtcbiAgICAgICAgQGFwcGx5IGZsZXggZmxleC1yb3cganVzdGlmeS1zdGFydDtcbiAgICAgICAgQGFwcGx5IHBsLTAgbWItNCBtdC00O1xuICAgICAgICBAc2NyZWVuIGxnIHtcbiAgICAgICAgICAgIEBhcHBseSBqdXN0aWZ5LWVuZCBtYi0wIG10LTA7XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgJitsaSB7XG4gICAgICAgICAgICAgICAgQGFwcGx5IG10LTAgbWwtMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBAYXBwbHkgaGlkZGVuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIEBhcHBseSBqdXN0aWZ5LWNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgQGFwcGx5IHctODtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIjY29va2llcy1iYXIsICNjb29raWVzLWJhci10YWIge1xuICAgIEBhcHBseSBmaXhlZCBib3R0b20tMCBsZWZ0LTAgei01MDtcbn1cblxuLmNvb2tpZXMtYmFyLXRhYiB7XG4gICAgQGFwcGx5IGJsb2NrO1xuICAgIEBhcHBseSBwLTQgbWwtNCBtYi00IGJvcmRlci1ub25lO1xuICAgIEBhcHBseSBjdXJzb3ItcG9pbnRlciB0ZXh0LWNlbnRlcjtcbiAgICBAYXBwbHkgYmctbm8tcmVwZWF0IGJnLWJvdHRvbTtcbiAgICB3aWR0aDogMzVweDsgaGVpZ2h0OiAzNnB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMzVweCA3MnB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL2Nvb2tpZXMtaWNvbi5wbmcnKTtcbn1cblxuLmNvb2tpZXMtZGFyayB7XG4gICAgQGFwcGx5IGJnLW5vLXJlcGVhdCBiZy10b3A7XG59XG5cbiNjb29raWVzLWJhciB7XG4gICAgQGFwcGx5IHctZnVsbCBweS04O1xuICAgIEBhcHBseSBiZy13aGl0ZTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeSk7XG59XG4iLCIuZXJyb3I0MDQge1xuICAgIEBhcHBseSByZWxhdGl2ZSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB6LTMwO1xuICAgIEBhcHBseSBiZy10cmFuc3BhcmVudCB0ZXh0LXdoaXRlO1xuICAgIEBhcHBseSB3LXNjcmVlbiBoLXNjcmVlbjtcbiAgICBoMSB7XG4gICAgICAgIEBhcHBseSBtYi0yO1xuICAgIH1cbiAgICBoMyB7XG4gICAgICAgIEBhcHBseSB0ZXh0LXNlY29uZGFyeSBtYi04O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBAYXBwbHkgbXgtYXV0byBtYi04O1xuICAgIH1cbn1cblxuLm92ZXJsYXkge1xuICAgIEBhcHBseSBmaXhlZCBibG9jayB3LWZ1bGwgaC1mdWxsIHotMjAgdG9wLTAgbGVmdC0wO1xuICAgIEBhcHBseSBiZy1wcmltYXJ5O1xuICAgIG1peC1ibGVuZC1tb2RlOiBvdmVybGF5O1xufVxuXG52aWRlbyN2aWRlbzQwNCB7XG4gICAgQGFwcGx5IGZpeGVkIHctc2NyZWVuIGgtc2NyZWVuIHRvcC0wIGxlZnQtMCBvYmplY3QtY292ZXIgei0xMDtcbn1cbiIsIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/