/*!***************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!../styles/main.scss ***!
  \***************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* ==========================================================================
   Settings
   ========================================================================== */
/*@import "../fonts/inlineFonts.scss";*/
/* Variables, Naming may vary from project to project */
/* ==========================================================================
   Fonts (see '_fonts.scss' for more information on license)
   ========================================================================== */
/* @import must be at top of file, otherwise CSS will not work */
/* @import url('//hello.myfonts.net/count/426563'); */
/* ==========================================================================
   Fallbacks sass Variablen
   ========================================================================== */
/* text */
/* dark grey */
/* redy */
/* background */
/* dark grey */
/* light grey */
/* red */
/* line-colors */
/* spacing */
/* grid */
/* form */
/*$form-disabled: #ccc;
$form-error: #dd0000;
$form-ok: #00828C;
$form-initial: #1D1D1B;*/
/* ==========================================================================
   Custom Properties
   ========================================================================== */
:root {
  /* fonts */
  --font-stack-default: "Jost", "Arial", "Helvetica", sans-serif;
  --font-weight-normal: 400;
  --font-weight-bold: 800;
  --letter-spacing: 0.02em;
  /* text  */
  --text-color: #000; /* black */
  --text-color-light: #fff;
  --text-color-link: #B50000;
  --text-color-medium: #8A8A8A;
  /* colors / background */
  --bg-content: #fff;
  --bg-dark: #000; /* dark grey */
  --bg-light: #f9f9f9; /* light grey */
  --color-highlight: #B50000; /* red */
  /* lines */
  --border-basic: #ebebeb;
  --border-outside-width: 20px;
  --border-btn-big: 20px;
  --border-btn-big-negative: -20px;
  /* spacing */
  --spacing-l: 4.8rem;
  --spacing-m: 3rem;
  --spacing-s: 1.6rem;
  --spacing-xs: 0.8rem;
  --header-height: 138px;
  --spacing-title-top: 12rem;
  /* grid */
  --grid-container: 20px;
  --grid-row: -10px;
  --grid-col: 10px;
  /* form */
  --border-form: #979797;
  --border-form-focus: #000;
  /*--form-disabled: #ccc;
  --form-error: #dd0000;
  --form-ok: #00828C;
  --form-initial: #1D1D1B;*/
}

/* ==========================================================================
   Exeptions for different backgrounds
   ========================================================================== */
.c-text-light {
  --text-color: #fff;
  --text-color-link: #fff;
}

.c-sponsors-partner {
  --text-color-link: #000;
}

/* ==========================================================================
   Responsive Custom Properties
   ========================================================================== */
@media only screen and (min-width: 1200px) {
  :root {
    --grid-container: 40px;
    --grid-row: -20px;
    --grid-col: 20px;
  }
}
@media only screen and (max-width: 1200px) {
  :root {
    --header-height: 80px;
  }
}
@media only screen and (max-width: 1300px) {
  :root {
    --border-outside-width: 12px;
    --border-btn-big: 12px;
    --border-btn-big-negative: -12px;
  }
}
@media only screen and (max-width: 980px) {
  :root {
    --spacing-l: 3rem;
    --spacing-m: 1.8rem;
    --border-outside-width: 8px;
    --spacing-title-top: 6rem;
    --border-btn-big: 8px;
    --border-btn-big-negative: -8px;
  }
}
/*@import "common/_fonts";*/
/*! normalize.css v3.0.0 | MIT License | git.io/normalize */
/* =============================================================================
   HTML5 display definitions
   ========================================================================== */
/*
 * Correct `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

/*
 * 1. Correct `inline-block` display not defined in IE 8/9.
* 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/*
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/*
 * Address `[hidden]` styling not present in IE 8/9.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* =============================================================================
   Base
   ========================================================================== */
/*
 * 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units
 *    http://clagnut.com/blog/348/#c790
 * 2. Keeps page centred in all browsers regardless of content height
 * 3. Prevents iOS text size adjust after orientation change, without disabling user zoom
 *    www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/
 * 4. Correct the line height in all browsers.
 */
html {
  font-family: sans-serif; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 4 */
  overflow-y: scroll; /* 2 */
  -webkit-text-size-adjust: 100%; /* 3 */
  -ms-text-size-adjust: 100%; /* 3 */
}

/**
 * Remove default margin.


 */
body {
  margin: 0;
  padding: 0; /* cubegrafik */
}

/* =============================================================================
/**
 * Remove the gray background color from active links in IE 10.

 */
a {
  background: transparent;
}

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted;
}

/* =============================================================================
   Typography
   ========================================================================== */
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/*
* Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

blockquote {
  margin: 1em 40px;
}

/*
 * Address styling not present in Safari 5 and Chrome.
 */
dfn {
  font-style: italic;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/*
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/*
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em;
}

/*
 * Improves readability of pre-formatted text in all browsers
 * Contain overflow in all browsers.
 */
pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
  overflow: auto;
}

/**
 * Set consistent quote types.
 */
q {
  quotes: "“" "”" "‘" "’";
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

/**

 * Prevent `sub` and `sup` affecting `line-height` in all browsers.

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* =============================================================================
   Embedded content
   ========================================================================== */
/*
 * 1. Removes border when inside 'a' element in IE6/7/8/9, FF3
 * 2. Improves image quality when scaled in IE7
 *    code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
 */
img {
  border: 0; /* 1 */
  -ms-interpolation-mode: bicubic; /* 2 */
}

/*
 * Corrects overflow displayed oddly in IE9
 */
svg:not(:root) {
  overflow: hidden;
}

/* =============================================================================
   Figures
   ========================================================================== */
/*
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0;
}

/* =============================================================================
   Forms
   ========================================================================== */
/*
 * Corrects margin displayed oddly in IE6/7
 */
form {
  margin: 0;
}

/*
 * Define consistent border, margin, and padding
 */
fieldset {
  border: 0; /* cubegrafik */
  margin: 0; /* cubegrafik */
  padding: 0; /* cubegrafik */
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
  border: 0;
}

/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.

 * 4. Improves appearance and consistency in all browsers
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit; /* 1 */
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  margin: 0; /* 2 */
  vertical-align: baseline; /* 4 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**

 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/*
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 * and `video` controls.
 * 2. Corrects inability to style clickable `input` types in iOS.
 * 3. Improves usability and consistency of cursor style between image-type
 * `input` and others.
 * 4. Removes inner spacing in IE7 without affecting normal text inputs.
 * Known issue: inner spacing remains in IE6.
 */
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
  *overflow: visible; /* 4 */
}

/*
 * Re-set default cursor for disabled elements
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
input::-moz-focus-inner [type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**

 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).

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

/**

 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto; /* 1 */
  vertical-align: top; /* 2 */
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}

/**
 * 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 */
}

/* =============================================================================
   Tables
   ========================================================================== */
/*
 * Remove most spacing between table cells
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/* ==========================================================================
   Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* ==========================================================================
   Elements cubegrafik
   ========================================================================== */
a:active {
  outline: none;
}

div, p {
  padding: 0;
  margin: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

th, td {
  vertical-align: top;
  text-align: left;
}

input,
textarea {
  /* Removed because of visibilitychange-addition to fancy-forms plugin.
   * 2015/01/22 - Florian Mäder
   * -webkit-appearance: none;*/
  -webkit-border-radius: 0;
}

html {
  -webkit-box-sizing: border-box; /* Safari 3.0 - 5.0, Chrome 1 - 9, Android 2.1 - 3.x */
  -moz-box-sizing: border-box; /* Firefox 1 - 28 */
  box-sizing: border-box; /* Safari 5.1+, Chrome 10+, Firefox 29+, Opera 7+, IE 8+, Android 4.0+, iOS any */
}

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

label[for] {
  cursor: pointer;
  -ms-touch-action: manipulation; /* IE 10  */
  touch-action: manipulation; /* IE 11+ */
}

/* ==========================================================================
   Form Placeholder
   ========================================================================== */
/* ==========================================================================
   Fonts smoothing
   ========================================================================== */
/* ==========================================================================
  Hiding
   ========================================================================== */
.c-hide-visually {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.c-hide-completely {
  display: none;
  visibility: hidden;
}

/* image replacement */
.c-ir {
  display: block;
  border: 0;
  text-indent: -999em;
  overflow: hidden;
  background-color: transparent;
  background-repeat: no-repeat;
  text-align: left;
  direction: ltr;
}

/* ==========================================================================
   Sticky Footer
   ========================================================================== */
html {
  display: flex;
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.c-header,
.c-footer {
  flex-shrink: 0;
}

.c-content {
  flex-grow: 1;
}

/* ==========================================================================
   Components
   ========================================================================== */
/* styles for every project */
/* ==========================================================================
   Base Project
   ========================================================================== */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #fff;
  background-color: var(--bg-content);
  color: #000;
  color: var(--text-color);
  font-family: "Jost", "Arial", "Helvetica", sans-serif;
  font-family: var(--font-stack-default);
  font-weight: normal;
  font-weight: var(--font-weight-normal);
  -webkit-tap-highlight-color: transparent;
}

/* links */
a,
a:visited,
a:focus,
a:hover {
  color: #B50000;
  color: var(--text-color-link);
  text-decoration: none;
}

/* ==========================================================================
   Forms
   ========================================================================== */
input,
select,
textarea {
  color: #000;
  color: var(--text-color);
}

textarea {
  resize: none;
}

/* ==========================================================================
   Standard img / media declaration
   ========================================================================== */
embed,
object,
video,
iframe,
img {
  width: 100%;
}

img {
  height: auto;
}

.c-img-max-width,
.c-content .c-img-max-width {
  width: auto;
  max-width: 100%;
}

img {
  vertical-align: bottom;
}

/* ==========================================================================
   Standard Main Container Declaration
   ========================================================================== */
.c-header,
.c-content,
.c-footer,
.c-container,
.c-container-medium,
.c-container-wide {
  position: relative;
  width: 100%;
  z-index: auto;
}

.c-footer,
.c-footer-main {
  border-bottom: 20px solid #fff;
  border-bottom-width: var(--border-outside-width);
}

.c-content,
.c-footer {
  border-left: 20px solid #fff;
  border-right: 20px solid #fff;
  border-left-width: var(--border-outside-width);
  border-right-width: var(--border-outside-width);
  border-color: var(--bg-content);
}

.c-header-inner {
  padding-left: 40px;
  padding-right: 40px;
  padding-left: calc(var(--border-outside-width) + var(--grid-container));
  padding-right: calc(var(--border-outside-width) + var(--grid-container));
}

/* ==========================================================================
   Standard Padding between Components 
   ========================================================================== */
.c-container,
.c-container-medium,
.c-img-2col .c-col-6,
.c-img-3col .c-col-4,
.c-teaser-3col .c-col-4,
.c-keyfacts .c-col-3,
.c-gallery {
  padding-bottom: 4.8rem;
  padding-bottom: var(--spacing-l);
}

.c-showroom-home,
.c-map-container {
  margin-bottom: 4.8rem;
  margin-bottom: var(--spacing-l);
}

.c-main-title {
  margin-top: 12rem;
  margin-top: var(--spacing-title-top);
}

.c-container-no-padding {
  padding-bottom: 0;
}

.c-section-title {
  padding-bottom: 0;
}

.c-showroom-text-inner {
  padding-top: 4.8rem;
  padding-top: var(--spacing-l);
}

.c-text-only-line .c-col-12 {
  padding-top: 1.6rem;
  padding-top: var(--spacing-s);
}

.c-teaser-btn .c-col-6 {
  padding-bottom: 4.8rem;
  padding-bottom: var(--spacing-l);
}

.c-back + .c-anchornav {
  margin-top: -4.8rem;
  margin-top: calc(var(--spacing-l) * -1);
  padding-top: 3rem;
  padding-top: var(--spacing-m);
}

/* ==========================================================================
   Standard Grid Declaration
   ========================================================================== */
.c-container,
.c-container-medium {
  padding-left: 20px;
  padding-right: 20px;
  padding-left: var(--grid-container);
  padding-right: var(--grid-container);
}

.c-row {
  margin-right: -10px;
  margin-left: -10px;
  margin-right: var(--grid-row);
  margin-left: var(--grid-row);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
}

.c-row-reverse {
  flex-direction: row-reverse;
}

.c-row-justify-left {
  justify-content: flex-start;
}

.c-row-justify-center {
  justify-content: center;
}

.c-row-justify-right {
  justify-content: flex-end;
}

.c-row-justify-around {
  justify-content: space-around;
}

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

.c-row-align-top {
  align-items: flex-start;
}

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

.c-row-align-bottom {
  align-items: flex-end;
}

.c-col-1,
.c-col-2,
.c-col-3,
.c-col-4,
.c-col-5,
.c-col-6,
.c-col-7,
.c-col-8,
.c-col-9,
.c-col-10,
.c-col-11,
.c-col-12 {
  position: relative;
  min-height: 1px;
  padding-right: 10px;
  padding-left: 10px;
  padding-right: var(--grid-col);
  padding-left: var(--grid-col);
}

.c-col-12 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
}

.c-col-11 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 91.66667%;
  -ms-flex: 0 0 91.66667%;
  flex: 0 0 91.66667%;
  max-width: 91.66667%;
}

.c-col-10 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 83.33333%;
  -ms-flex: 0 0 83.33333%;
  flex: 0 0 83.33333%;
  max-width: 83.33333%;
}

.c-col-9 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 75%;
  -ms-flex: 0 0 75%;
  flex: 0 0 75%;
  max-width: 75%;
}

.c-col-8 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 66.66667%;
  -ms-flex: 0 0 66.66667%;
  flex: 0 0 66.66667%;
  max-width: 66.66667%;
}

.c-col-7 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 58.33333%;
  -ms-flex: 0 0 58.33333%;
  flex: 0 0 58.33333%;
  max-width: 58.33333%;
}

.c-col-6 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 50%;
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%;
}

.c-col-5 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 41.66667%;
  -ms-flex: 0 0 41.66667%;
  flex: 0 0 41.66667%;
  max-width: 41.66667%;
}

.c-col-4 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 33.33333%;
  -ms-flex: 0 0 33.33333%;
  flex: 0 0 33.33333%;
  max-width: 33.33333%;
}

.c-col-3 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 25%;
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%;
}

.c-col-2 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 16.66667%;
  -ms-flex: 0 0 16.66667%;
  flex: 0 0 16.66667%;
  max-width: 16.66667%;
}

.c-col-1 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 8.33333%;
  -ms-flex: 0 0 8.33333%;
  flex: 0 0 8.33333%;
  max-width: 8.33333%;
}

/* offset cols */
.c-col-offset-1 {
  margin-left: 8.333%;
}

.c-col-offset-2 {
  margin-left: 16.667%;
}

.c-col-offset-3 {
  margin-left: 25%;
}

.c-col-offset-4 {
  margin-left: 33.333%;
}

.c-col-offset-5 {
  margin-left: 41.667%;
}

.c-col-offset-6 {
  margin-left: 50%;
}

.c-col-offset-7 {
  margin-left: 58.333%;
}

.c-col-offset-8 {
  margin-left: 66.667%;
}

.c-col-offset-9 {
  margin-left: 75%;
}

.c-col-offset-10 {
  margin-left: 83.333%;
}

.c-col-offset-11 {
  margin-left: 91.667%;
}

/* ==========================================================================
   Grid Varianten
   ========================================================================== */
.c-asym-right-edgeless,
.c-asym-left-edgeless {
  overflow: hidden;
}

.c-asym-right-edgeless figure {
  margin-right: -20px;
  margin-right: calc(var(--grid-container) * -1);
}

.c-asym-left-edgeless figure {
  margin-left: -20px;
  margin-left: calc(var(--grid-container) * -1);
}

/* ==========================================================================
   Base
   ========================================================================== */
html {
  font-size: 18px;
}

/* ==========================================================================
   Titles
   ========================================================================== */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  font-weight: 800;
}

h1,
.c-h1 {
  padding-bottom: 0.65em;
  line-height: 1.1;
  font-size: 3rem; /* 60px */
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing);
  color: var(--color-highlight);
  text-transform: uppercase;
}

.c-cta .c-h1 {
  color: var(--text-color);
}

h2,
.c-h2 {
  padding-bottom: 0.75em;
  line-height: 1.1;
  font-size: 2.4rem; /* 48px */
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing);
  text-transform: uppercase;
}

h3,
.c-h3,
.c-text-big {
  line-height: 1.1;
  font-size: 1.6rem;
  padding-bottom: 0.5em;
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing);
  text-transform: uppercase;
}

.c-text-block .c-text-big {
  padding-bottom: 0.5em;
}

h4,
.c-h4 {
  line-height: 1.6;
  font-size: 1rem;
  padding-bottom: 0.45em;
  font-weight: var(--font-weight-bold);
  text-transform: none;
  letter-spacing: 0;
}

/* ==========================================================================
   Basic Text Content
   ========================================================================== */
b, strong {
  font-weight: 800;
  font-weight: var(--font-weight-bold);
}

.c-content,
.c-footer {
  line-height: 1.6;
}

.c-text-block p {
  padding-bottom: 1.6em;
}

.c-teaser-text-img .c-text-block p {
  padding-bottom: 0.5em;
}

.c-text-block p + h2,
.c-text-block p + h3,
.c-text-block p + h4,
.c-text-block ul + p,
.c-text-block ul + h2,
.c-text-block ul + h3,
.c-text-block ul + h4,
.c-text-block ul + ol,
.c-text-block ol + p,
.c-text-block ol + h2,
.c-text-block ol + h3,
.c-text-block ol + h4 {
  padding-top: 1.6em;
}

.c-text-block p:last-child {
  padding-bottom: 0;
}

.c-lead {
  font-size: 1.2rem;
  line-height: 1.33;
  font-weight: 600;
}

.c-section-title .c-lead {
  padding-bottom: 3rem;
  padding-bottom: var(spacing-m);
}

.c-legend {
  display: block;
  padding-top: 0.8rem;
  padding-top: var(--spacing-xs);
}

.c-date {
  display: block;
  color: #8A8A8A;
  color: var(--text-color-medium);
  font-weight: 800;
  font-weight: var(--font-weight-bold);
  padding-bottom: 0.8rem;
  padding-bottom: var(--spacing-xs);
}

.c-footer {
  font-size: 1.4rem;
}

.c-text-small,
.c-text-block blockquote cite,
.c-legend,
.c-header,
.c-footer-nav-list,
.c-link-bold,
.c-btn,
.c-title-small {
  font-size: 0.8rem; /* 16px */
}

.c-title-small {
  color: #ccc;
}

.c-btn-big {
  font-size: 2.4rem;
}

.c-footer-disclaimer {
  font-size: 1rem;
}

.c-keyfact-title {
  display: block;
  min-height: 3.7em;
  padding-bottom: 0.5em;
  font-weight: 800;
  font-weight: var(--font-weight-bold);
}

.c-keyfact-title span {
  display: block;
  font-weight: normal;
}

.c-keyfact-number {
  display: block;
  font-size: 4rem;
  font-weight: 200;
  line-height: 1;
}

.c-directions-distance {
  padding-bottom: 0;
}

.c-directions-time {
  font-weight: 800;
  font-weight: var(--font-weight-bold);
  color: #8A8A8A;
  color: var(--text-color-medium);
}

/* ==========================================================================
   Basic Lists Content 
   ========================================================================== */
.c-text-block ul,
.c-text-block ol {
  margin: 0;
  padding: 0 0 1.6em 0;
  list-style: none;
}

.c-text-block ul:last-child {
  padding-bottom: 0;
}

.c-text-block ul li,
.c-text-block ol li {
  position: relative;
  padding-left: 34px;
}

.c-text-block ul li + li,
.c-text-block ol li + li {
  margin-top: 0.5em;
}

.c-text-block ul li::before {
  content: "";
  position: absolute;
  top: 0.58em;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #000;
  background-color: var(--text-color);
}

.c-text-block ol {
  counter-reset: custom-counter;
}

.c-text-block ol li {
  counter-increment: custom-counter;
}

.c-text-block ol li::before {
  content: counter(custom-counter) ". ";
  position: absolute;
  left: 0;
  top: 0;
  width: 26px;
  color: #000;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  text-align: right;
}

.c-text-block .c-link-list-horizontal li {
  padding-left: 0;
  padding-right: 1em;
  display: inline-block;
}

.c-text-block .c-link-list li,
.c-text-block .c-anchornav-list li {
  padding-left: 0;
}

.c-text-block .c-link-list-horizontal li::before,
.c-text-block .c-link-list li::before,
.c-text-block .c-text-usp-list li::before,
.c-text-block .c-anchornav-list li::before {
  background: none;
}

.c-sponsors-partner-list,
.c-text-usp-list,
.c-text-block .c-text-usp-list {
  display: flex;
  flex-flow: row wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  font-weight: 800;
  font-weight: var(--font-weight-bold);
  margin-right: -10px;
  margin-left: -10px;
  margin-right: var(--grid-row);
  margin-left: var(--grid-row);
}

.c-sponsors-partner-list li {
  flex: 0 0 33.33333%;
  max-width: 33.33333%;
  padding: 0.8em 10px;
  padding: 0.8em var(--grid-col);
}

.c-text-usp-list {
  display: flex;
  flex-flow: row wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  font-weight: 800;
  font-weight: var(--font-weight-bold);
  margin-right: -10px;
  margin-left: -10px;
  margin-right: var(--grid-row);
  margin-left: var(--grid-row);
}

.c-text-usp-list li,
.c-text-block .c-text-usp-list li {
  position: relative;
  flex: 0 0 41.66667%;
  max-width: 41.66667%;
  margin-left: 8.333%;
  margin-top: 0.8em;
  margin-bottom: 0.8em;
  padding-left: 44px;
  padding-right: 44px;
  padding-left: calc(var(--grid-col) + 34px);
  padding-right: calc(var(--grid-col) + 34px);
}

.c-text-usp-list li::before,
.c-text-block .c-text-usp-list li::before {
  content: "";
  position: absolute;
  top: 0.45em;
  left: 10px;
  left: var(--grid-col);
  width: 11px;
  height: 11px;
  border-radius: 0;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #000 #000 transparent transparent;
  transform: rotate(45deg);
}

.c-anchornav-list,
.c-text-block .c-anchornav-list {
  position: relative;
  padding-top: calc(3rem - 0.35em);
  padding-top: calc(var(--spacing-m) - 0.35em);
  padding-bottom: 0;
}

.c-anchornav-list::before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 280px;
  height: 2px;
  background-color: #B50000;
  background-color: var(--color-highlight);
}

/* ==========================================================================
   Text helpers
   ========================================================================== */
.c-text-right {
  text-align: right;
}

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

.c-text-light {
  color: #fff;
  color: var(--text-color-light);
}

/* ==========================================================================
   Text sizes responsive
   ========================================================================== */
@media only screen and (min-width: 1500px) {
  html {
    font-size: 20px;
  }
  .c-header,
.c-footer-nav-list,
.c-link-bold,
.c-btn,
.c-title-small {
    font-size: 0.9rem;
  }
  .c-btn-big {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 1360px) {
  h1, .c-h1,
h2, .c-h2,
h3, .c-h3,
.c-text-big,
.c-btn-big {
    overflow-wrap: break-word;
    word-wrap: break-word;
    -ms-word-break: break-all;
    word-break: break-all;
    word-break: break-word;
    -ms-hyphens: auto;
    -moz-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
  }
}
@media only screen and (max-width: 1400px) {
  h1, .c-h1 {
    font-size: 2.4rem;
  }
  h2, .c-h2,
.c-btn-big {
    font-size: 1.8rem;
  }
  h3, .c-h3,
.c-text-big {
    font-size: 1.25rem;
  }
  .c-keyfact-number {
    font-size: 3.4rem;
  }
  .c-offcanvas-nav {
    font-size: 1rem;
  }
  .c-offcanvas-nav-list {
    font-size: 1.1rem;
  }
}
@media only screen and (max-width: 767px) {
  html {
    font-size: 18px;
  }
  h1, .c-h1 {
    font-size: 2rem;
  }
  h2, .c-h2,
.c-btn-big {
    font-size: 1.5rem;
  }
  h3, .c-h3,
.c-text-big {
    font-size: 1.125rem;
  }
  .c-keyfact-number {
    font-size: 2.8rem;
  }
  .c-offcanvas-nav,
.c-offcanvas-nav-list,
.c-lead {
    font-size: 1rem;
  }
  .c-text-small,
.c-text-block blockquote cite,
.c-legend,
.c-header,
.c-footer-nav-list,
.c-link-bold,
.c-title-small {
    font-size: 0.85rem;
  }
}
/* ==========================================================================
   Header
   ========================================================================== */
.c-header {
  background-color: #fff;
  background-color: var(--bg-content);
  z-index: 10;
}

.c-header-inner {
  height: 138px;
  height: var(--header-height);
  display: flex;
  flex-flow: row;
  justify-content: space-between;
}

.c-header-logo {
  position: relative;
  padding-top: 16px;
  width: 300px;
}

.c-header-logo a {
  display: block;
}

/* ==========================================================================
   main nav 
   ========================================================================== */
.c-main-nav {
  display: flex;
  justify-content: flex-end;
  text-transform: uppercase;
}

.c-main-nav a {
  color: #000;
  color: var(--text-color);
}

.c-main-nav-list {
  display: flex;
  flex-flow: row wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  font-weight: 800;
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing);
}

.c-main-nav-list li + li {
  padding-left: 0;
}

.c-main-nav-list a,
.c-main-nav-list span {
  display: inline-block;
  position: relative;
}

.c-main-nav-list a {
  padding: 60px 16px 0.5em 16px;
  transition: color 0.2s linear;
}

.c-main-nav-list a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 0;
  background-color: #B50000;
  background-color: var(--color-highlight);
  transition: all 0.2s linear;
}

.c-main-nav-list a:focus::before,
.c-main-nav-list a:hover::before,
.c-main-nav-list .current_page_item a::before {
  height: 100%;
}

.c-main-nav-list a:focus,
.c-main-nav-list a:hover,
.c-main-nav-list .current_page_item a {
  color: #fff;
  color: var(--text-color-light);
}

/* ==========================================================================
   Lang
   ========================================================================== */
.c-header-inner .wpml-ls-legacy-list-horizontal {
  display: inline-block;
  padding-top: calc(60px - 0.5em);
}

.c-header-inner .wpml-ls-legacy-list-horizontal ul {
  margin: 0 0 0 2em;
  padding: 0;
  list-style: none;
}

.c-header-inner .wpml-ls-legacy-list-horizontal li {
  display: inline-block;
}

.c-header-inner .wpml-ls-legacy-list-horizontal li + li {
  padding-left: 1em;
}

.c-header-inner .wpml-ls-legacy-list-horizontal a {
  display: inline-block;
  position: relative;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}

.c-header-inner .wpml-ls-legacy-list-horizontal a:focus,
.c-header-inner .wpml-ls-legacy-list-horizontal a:hover,
.c-header-inner .wpml-ls-legacy-list-horizontal .wpml-ls-current-language a {
  color: #B50000;
  color: var(--color-highlight);
}

/* ==========================================================================
   Footer
   ========================================================================== */
.c-footer {
  padding-top: 48px;
  background-color: #000;
  background-color: var(--bg-dark);
}

.c-footer-main {
  padding-top: 4.8rem;
  padding-bottom: 3rem;
  padding-top: var(--spacing-l);
  padding-bottom: var(--spacing-m);
}

.c-footer-disclaimer {
  padding-top: 1.6rem;
  padding-bottom: 1.6rem;
  padding-top: var(--spacing-s);
  padding-bottom: var(--spacing-s);
}

.c-footer-disclaimer-list,
.c-footer-nav-list,
.c-footer-social-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-footer-nav-list {
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing);
  font-weight: 800;
  font-weight: var(--font-weight-bold);
}

.c-footer-nav-list li {
  padding-bottom: 0.75em;
}

.c-footer-disclaimer-list li {
  display: inline-block;
}

.c-footer-disclaimer-list > li + li {
  padding-left: 1em;
}

.c-footer-social-list {
  padding-top: 1.6rem;
}

.c-footer a,
.c-footer a:visited {
  color: #000;
  color: var(--text-color);
}

.c-footer a:hover,
.c-footer a:focus {
  color: #000;
  color: var(--text-color);
}

/* optional styles */
/* ==========================================================================
   Offcanvas trigger
   ========================================================================== */
.c-offcanvas-trigger {
  position: absolute;
  display: block;
  top: 20px;
  right: 20px;
  right: var(--grid-container);
  width: 40px;
  height: 40px;
  margin: 0;
  color: transparent;
  transform: perspective(1px) translateZ(0);
  transition: all 0.2s ease-in-out;
  overflow: hidden;
}

.c-offcanvas-trigger-open {
  display: none;
}

.c-offcanvas-trigger::before,
.c-offcanvas-trigger::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
}

.c-offcanvas-trigger-open::before,
.c-offcanvas-trigger-open::after {
  width: 20px;
  transition: width 0.2s ease-in-out;
}

.c-offcanvas-trigger-open::before {
  height: 14px;
  margin-top: -7px;
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
  border-color: var(--text-color);
}

.c-offcanvas-trigger-open::after {
  height: 2px;
  background-color: #000;
  background-color: var(--text-color);
  margin-top: -1px;
}

.c-offcanvas-trigger-open:focus::before,
.c-offcanvas-trigger-open:hover::before {
  border-color: var(--color-highlight);
}

.c-offcanvas-trigger-open:focus::after,
.c-offcanvas-trigger-open:hover::after {
  width: 15px;
  background-color: #B50000;
  background-color: var(--color-highlight);
}

.c-offcanvas-trigger-close::before,
.c-offcanvas-trigger-close::after {
  background-color: #B50000;
  background-color: var(--color-highlight);
  margin-top: -2px;
  height: 2px;
  width: 20px;
  transition: all 0.5s;
}

.c-offcanvas-trigger-close::before {
  transform: rotate(-45deg);
}

.c-offcanvas-trigger-close::after {
  transform: rotate(45deg);
}

/* ==========================================================================
   Offcanvas nav main container
   ========================================================================== */
.c-offcanvas-nav {
  /*display: none;*/
  position: absolute;
  top: 0;
  left: 0;
  background-color: #000;
  background-color: var(--bg-dark);
  color: var(--text-color-light);
  z-index: 10;
  width: 0;
  height: 0;
  overflow-y: auto;
  transition: height 0.2s ease-out 0s;
}

#open-navigation:not(:target) .c-offcanvas-nav {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
}

.c-offcanvas-inner {
  position: relative;
  width: 100%;
  min-height: 100vh;
  overflow-y: auto;
}

/* ==========================================================================
   Offcanvas Content
   ========================================================================== */
.c-offcanvas-content {
  padding-bottom: 4.8rem;
  padding-bottom: calc(var(--spacing-l) * 2);
}

.c-offcanvas-nav-list {
  margin: 0;
  padding: 0;
  list-style: none;
  text-transform: uppercase;
  font-weight: 800;
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing);
}

.c-offcanvas-nav-list li + li {
  padding-top: 16px;
}

.c-offcanvas-nav-list a {
  display: inline-block;
  position: relative;
  padding: 1em 24px;
  width: 50%;
  text-align: right;
  color: #fff;
  color: var(--text-color-light);
}

.c-offcanvas-nav-list span {
  display: inline-block;
  position: relative;
}

.c-offcanvas-nav-list a::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 0;
  height: 100%;
  background-color: #B50000;
  background-color: var(--color-highlight);
  transition: all 0.2s linear;
}

.c-offcanvas-nav-list a:focus::before,
.c-offcanvas-nav-list a:hover::before,
.c-offcanvas-nav-list .current_page_item a::before {
  width: calc(100% + 20px);
  width: calc(100% + var(--grid-container));
}

/* ==========================================================================
   Lang
   ========================================================================== */
.c-offcanvas-content .wpml-ls-legacy-list-horizontal {
  display: inline-block;
  padding-bottom: 4.8rem;
  padding-bottom: var(--spacing-l);
}

.c-offcanvas-content .wpml-ls-legacy-list-horizontal ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-offcanvas-content .wpml-ls-legacy-list-horizontal li {
  display: inline-block;
}

.c-offcanvas-content .wpml-ls-legacy-list-horizontal li + li {
  padding-left: 1em;
}

.c-offcanvas-content .wpml-ls-legacy-list-horizontal a {
  display: inline-block;
  position: relative;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  color: #fff;
  color: var(--text-color-light);
}

.c-offcanvas-content .wpml-ls-legacy-list-horizontal a:focus,
.c-offcanvas-content .wpml-ls-legacy-list-horizontal a:hover,
.c-offcanvas-content .wpml-ls-legacy-list-horizontal .wpml-ls-current-language a {
  color: #B50000;
  color: var(--color-highlight);
}

/* ==========================================================================
   Offcanvas nav open
   ========================================================================== */
#open-navigation:target {
  position: relative;
  top: auto;
  height: auto;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

#open-navigation:target .c-offcanvas-nav {
  width: 100%;
  height: 100vh;
  overflow-y: auto;
}
#open-navigation:target .c-offcanvas-trigger-open {
  display: none;
}

/*@import "components/_tables";*/
/* ==========================================================================
   Deco
   ========================================================================== */
.c-deco {
  display: block;
  position: absolute;
  background-position: 0 0;
  background-repeat: repeat;
}

.c-deco-white {
  background-image: url(deko-white_20e6.svg);
}

.c-deco-dark {
  background-image: url(deko-black_5859.svg);
}

.c-deco-title {
  background-image: url(deko-title_102f.svg);
}

.c-deco-footer {
  top: 0;
  left: 0;
  width: 100%;
  height: 48px;
}

.c-deco-title {
  top: -64px;
  left: 0;
  width: 100%;
  height: 112px;
}

.c-main-title .c-deco-title {
  top: 0;
  background-image: url(deko-black_5859.svg);
}

.c-text-img .c-deco-img {
  top: 0;
  width: 80px;
  height: 16px;
}

.c-asym-left-edgeless .c-deco-img {
  right: 10px;
  right: var(--grid-col);
}

.c-asym-right-edgeless .c-deco-img {
  left: 10px;
  left: var(--grid-col);
}

.c-text-img .c-deco-text {
  top: 0;
  height: 16px;
  width: 100%;
}

.c-asym-left-edgeless .c-deco-text {
  left: -10px;
  left: calc(var(--grid-col) * -1);
}

.c-asym-right-edgeless .c-deco-text {
  left: 10px;
  left: var(--grid-col);
  background-position: right top;
}

.c-deco-text-line {
  --widthBorder: calc(var(--grid-container) * 2);
  top: 0;
  left: 0;
  left: var(--grid-container);
  height: 16px;
  width: 100%;
  width: calc(100% - var(--widthBorder));
  background-position-y: -16px;
}

.c-deco-separator {
  position: relative;
  border: none;
  height: 16px;
  margin: 0;
  padding: 0;
  background-position-y: -16px;
}

.c-deco-cta-left,
.c-deco-cta-right {
  top: 0;
  width: 176px;
  height: 100%;
}

.c-deco-cta-left {
  left: 0;
}

.c-deco-cta-right {
  right: 0;
}

/* ==========================================================================
   Showroom / Main title
   ========================================================================== */
.c-showroom-home,
.c-main-title-img {
  overflow: hidden;
}

.c-showroom-img {
  position: relative;
  height: calc(85vh - var(--header-height));
  overflow: hidden;
  z-index: auto;
}

.c-main-title-img .c-showroom-img {
  height: calc(66vh - var(--header-height));
}

.c-showroom-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-showroom-home .c-box {
  margin-top: -10rem;
}

.c-main-title-img .c-box {
  margin-top: -7.2rem;
}

.c-main-title .c-box {
  margin-top: -3.6rem;
}

.c-box {
  padding: 1.5em 20px 0 20px;
  padding: 1.5em var(--grid-container) 0 var(--grid-container);
  background-color: #fff;
  background-color: var(--bg-content);
}

/* ==========================================================================
   img text / news text only line
   ========================================================================== */
.c-text-img-inner,
.c-text-only-line {
  padding-top: 4.8rem;
  padding-top: var(--spacing-l);
}

.c-text-img-no-line .c-deco {
  display: none;
}

.c-text-img-no-line .c-text-img-inner {
  padding-top: 0;
}

/* ==========================================================================
   teaser 3 col
   ========================================================================== */
.c-teaser-3col figure + h3 {
  margin-top: 1.6rem;
  margin-top: var(--spacing-s);
}

/* ==========================================================================
   cta
   ========================================================================== */
.c-cta-box {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  min-height: 400px;
}

.c-cta-box-inner {
  padding: 1.6rem 200px;
  padding: var(--spacing-s) 200px;
}

/* ==========================================================================
   teaser btn
   ========================================================================== */
.c-teaser-btn .c-col-6,
.c-teaser-btn .c-btn-big {
  display: flex;
  flex-flow: column;
}

.c-teaser-btn .c-btn-big,
.c-teaser-btn .c-btn-big span {
  flex-grow: 1;
}

.c-teaser-btn .c-btn-big span {
  display: flex;
  align-items: center;
}

.c-teaser-btn .c-btn-big {
  margin-right: var(--border-btn-big);
}

/* ==========================================================================
  logowall / Spnsors
   ========================================================================== */
.c-logowall-list,
.c-sponsors-list {
  display: flex;
  flex-flow: row wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  margin-right: -10px;
  margin-left: -10px;
  margin-right: var(--grid-row);
  margin-left: var(--grid-row);
}

.c-logowall-list li,
.c-sponsors-list li {
  position: relative;
  padding-right: 10px;
  padding-left: 10px;
  padding-right: var(--grid-col);
  padding-left: var(--grid-col);
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}

.c-logowall-gold-list li {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 33.33333%;
  -ms-flex: 0 0 33.33333%;
  flex: 0 0 33.33333%;
  max-width: 33.33333%;
}

.c-logowall-silver-list li {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 25%;
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%;
}

.c-logowall-bronze-list li {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 16.66667%;
  -ms-flex: 0 0 16.66667%;
  flex: 0 0 16.66667%;
  max-width: 16.66667%;
}

.c-sponsors-container {
  width: 120px;
  max-width: 120px;
  margin-left: auto;
  margin-right: auto;
}

.c-logowall-logo {
  position: relative;
  display: flex;
  /*flex-grow: 1;*/
  flex: 1 0 auto;
  height: auto;
  text-align: center;
  align-items: center;
  justify-content: center;
}

.c-logowall-logo::before {
  content: "";
  display: block;
  padding-top: 75%;
  float: left;
}

.c-sponsors-container .c-logowall-logo::before {
  padding-top: 100%;
}

.c-logowall-logo img {
  position: absolute;
  width: 80%;
  height: 80%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: contain;
}

.c-sponsors-list .c-logowall-logo img {
  width: 100%;
  height: 100%;
  left: 0;
  transform: translate(0, -50%);
}

/* ==========================================================================
  keyfacts
   ========================================================================== */
.c-keyfact-icon {
  max-width: 250px;
  margin: 0 auto 0.5em auto;
}

/* ==========================================================================
 map
   ========================================================================== */
.c-map-container {
  background-color: var(--text-color-medium);
  overflow: hidden;
}

.c-map {
  box-sizing: content-box;
  height: 600px;
}

.c-directions-panel {
  box-sizing: border-box;
  position: absolute;
  right: 0;
  top: 50%;
  width: 450px;
  padding: 20px;
  padding: var(--grid-container);
  background-color: #fff;
  z-index: 1;
  transition: all 0.5s ease-in-out;
  transform: translateY(-50%);
}
.c-directions-panel.hidden {
  margin-right: -450px;
}

.c-directions-info {
  padding-bottom: 1em;
  min-height: 6em;
}

.c-direction-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-direction-list li {
  display: inline-block;
  overflow: hidden;
}

/* ==========================================================================
 gallery 
   ========================================================================== */
.c-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 20vw);
  grid-gap: 20px;
  grid-gap: var(--border-outside-width);
}

.c-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-gallery .c-gallery-item-1 {
  grid-column: 1/span 1;
  grid-row: 1/span 3;
}

.c-gallery .c-gallery-item-4 {
  grid-column: 2/span 2;
  grid-row: 2/span 2;
}

/* ==========================================================================
  Cookie notice
   ========================================================================== */
.c-cookie-notice {
  display: none;
  position: fixed;
  right: 0;
  bottom: 0;
  width: 400px;
  padding: 1.5rem 20px;
  background-color: #fff;
  background-color: var(--bg-content);
  color: var(--text-color);
  line-height: 1.5;
  text-align: left;
  border: solid 2px #000;
  border-color: var(--text-color);
  border-right: none;
  border-bottom: none;
  z-index: 10;
}

.c-text-block .c-cookie-notice-list {
  padding-bottom: 0;
}

.c-text-block .c-cookie-notice-list li::before {
  background: transparent;
}

.c-text-block .c-cookie-notice-list li {
  /*display: block;*/
  padding: 0.5em 0.5em 0 0;
}

@media only screen and (max-width: 767px) {
  .c-cookie-notice {
    width: 100%;
    bottom: 0;
    border: none;
    border-top: solid 2px #000;
    border-color: var(--text-color);
  }
}
/* ==========================================================================
   Link colors and styles
   ========================================================================== */
a[href^="tel:"] {
  color: inherit;
  cursor: pointer;
  text-decoration: none;
}

.c-link-bold[href^="tel:"] {
  color: #B50000;
  color: var(--text-color-link);
}

.c-text-block a,
.c-text-block .c-link-icon span {
  background-image: linear-gradient(to bottom, #B50000 0%, #B50000 100%);
  background-image: linear-gradient(to bottom, var(--text-color-link) 0%, var(--text-color-link) 100%);
  background-position: 0 100%;
  background-repeat: repeat-x;
  background-size: 2px 2px;
  transition: background 0.1s;
}

.c-text-block a:focus,
.c-text-block a:hover,
.c-text-block .c-link-icon span:focus,
.c-text-block .c-link-icon span:hover {
  background-size: 4px 4px;
}

.c-text-block .c-btn,
.c-text-block .c-link-icon {
  background-image: none;
}

/* ==========================================================================
   Button 
   ========================================================================== */
.c-btn {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 0;
  background-color: #B50000;
  background-color: var(--color-highlight);
  transform: translateY(4px);
  line-height: 1.1;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing);
  border: none;
}

.c-btn span {
  display: block;
  position: relative;
  padding: 0.75em 20px;
  border: solid 2px #B50000;
  border-color: var(--color-highlight);
  background-color: #fff;
  background-color: var(--bg-content);
  transition: all 0.2s ease-out;
  transform: translate3d(4px, -4px, 0px);
  transform-style: preserve-3d;
}

.c-btn,
.c-btn:visited,
.c-btn:hover,
.c-btn:focus {
  color: #B50000;
  color: var(--color-highlight);
}

.c-btn:hover span,
.c-btn:focus span {
  text-decoration: none;
  transform: translate3d(0px, 0px, 0px);
}

.c-btn-big {
  transform: translateY(var(--border-btn-big));
}

.c-btn-big span {
  padding: 1.1em 20px;
  padding: 1.1em var(--grid-container);
  transform: translate3d(var(--border-btn-big), var(--border-btn-big-negative), 0px);
}

.c-btn-small span {
  padding: 0.5em 16px;
  text-align: left;
}

.c-cookie-notice .c-btn-small {
  display: block;
  width: 100%;
}

.c-btn-directions-close,
.c-btn-directions-open {
  display: block;
  position: absolute;
  top: 0;
  left: -50px;
  width: 50px;
  height: 50px;
  background-color: #fff;
  background-color: var(--bg-content);
  transition: background 0.2s ease-out;
}

.c-btn-directions-close::before,
.c-btn-directions-open::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -16px;
  margin-top: -11px;
  width: 22px;
  height: 22px;
  border-radius: 0;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #B50000 #B50000 transparent transparent;
  border-color: var(--color-highlight) var(--color-highlight) transparent transparent;
  transform: rotate(45deg);
}

.c-btn-directions-open::before {
  margin-left: -6px;
  transform: rotate(225deg);
}

.c-btn-directions-open {
  display: none;
  background-color: #B50000;
  background-color: var(--color-highlight);
}

.c-btn-directions-close:focus,
.c-btn-directions-close:hover,
.c-btn-directions-open:focus,
.c-btn-directions-open:hover {
  background-color: #B50000;
  background-color: #B50000;
  background-color: var(--color-highlight);
}

.c-btn-directions-close:focus::before,
.c-btn-directions-close:hover::before,
.c-btn-directions-open::before,
.c-btn-directions-open:focus::before,
.c-btn-directions-open:hover::before {
  border-color: #fff #fff transparent transparent;
  border-color: var(--text-color-light) var(--text-color-light) transparent transparent;
}

/* ==========================================================================
  links with icons
   ========================================================================== */
.c-icon {
  position: relative;
}

.c-icon::before,
.c-icon::after {
  content: "";
  position: absolute;
  background-image: url(sprite_ef85.svg);
  background-repeat: no-repeat;
}

.c-link-bold {
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing);
  text-transform: uppercase;
}

.c-link-icon {
  display: inline-block;
  margin-left: 34px;
}

.c-link-back {
  margin-left: 20px;
}

.c-link-arrow::before,
.c-link-back::before {
  top: 0.35em;
  left: -20px;
  width: 28px;
  height: 16px;
  background-position: 0 0;
  transition: 0.1s ease-in-out;
}

.c-link-back::before {
  background-position: 0 -120px;
}

.c-link-download::before {
  top: 0.3em;
  left: -34px;
  width: 21px;
  height: 21px;
  background-position: 0 -40px;
}

.c-link-extern::before {
  top: 0.27em;
  left: -34px;
  width: 21px;
  height: 21px;
  background-position: 0 -80px;
}

.c-icon-social-fb {
  display: inline-block;
  width: 52px;
  height: 52px;
}

.c-icon-social-fb::before {
  top: 0;
  left: 0;
  width: 52px;
  height: 52px;
  background-position: 0 -140px;
}

.c-btn-search {
  display: block;
  position: absolute;
  top: 50%;
  margin-top: -25px;
  right: 0;
  width: 52px;
  height: 50px;
  border: none;
  background-color: transparent;
  transition: all 0.2s ease-out;
}

.c-btn-search::before {
  top: 50%;
  left: 50%;
  margin-top: -16px;
  margin-left: -16px;
  width: 32px;
  height: 32px;
  background-position: 0 -220px;
}

.c-btn-search:focus::before,
.c-btn-search:hover::before {
  background-position: -50px -220px;
}

.c-btn-search:focus,
.c-btn-search:hover {
  background-color: #B50000;
  background-color: var(--color-highlight);
}

/* ==========================================================================
  responsive
   ========================================================================== */
@media only screen and (min-width: 1500px) {
  .c-link-arrow::before,
.c-link-back::before {
    top: 0.4em;
  }
  .c-link-download::before {
    top: 0.4em;
  }
  .c-link-extern::before {
    top: 0.3em;
  }
}
/* ==========================================================================
   Ratio Box
   ========================================================================== */
.c-ratiobox {
  position: relative;
  height: 0;
  display: block;
  overflow: hidden;
}

.c-ratiobox > img,
.c-ratiobox > iframe,
.c-ratiobox > object {
  position: absolute !important;
  top: 0;
  left: 0;
}

.c-ratiobox > img {
  width: 100%;
  height: auto;
}

.c-ratiobox > iframe,
.c-ratiobox > object {
  width: 100% !important;
  height: 100% !important;
  background-color: #000;
}

.c-ratiobox-16by9 {
  padding-bottom: 56.25%;
}

.c-ratiobox-4by3 {
  padding-bottom: 75%;
}

.c-ratiobox-1by1 {
  padding-bottom: 100%;
}

.c-ratiobox-showroom {
  padding-bottom: 38.6904761905%;
}

.c-ratiobox-showroom img,
.c-ratiobox-1by1 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ==========================================================================
   Form
   ========================================================================== */
/* safari form fix */
input,
input[type=text],
input[type=email],
textarea {
  -webkit-appearance: none;
  -webkit-border-radius: 0;
  -webkit-box-shadow: none;
}

/* remove chrome autofill yellow color */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-transition-delay: 2000s;
}

.c-form-item {
  position: relative;
  width: 100%;
  padding-bottom: 1.6rem;
  padding-bottom: var(--spacing-s);
}

/* ==========================================================================
   formfields
   ========================================================================== */
.c-form-standard input[type=text],
.c-form-standard input[type=email],
.c-form-standard input[type=url],
.c-form-standard input[type=date],
.c-form-standard textarea {
  width: 100%;
  border: solid 2px #979797;
  border-color: var(--border-form);
  color: #000;
  color: var(--text-color);
  padding: 0.75em 10px;
  background-color: #fff;
  background-color: var(--bg-content);
}

.c-form-standard input[type=text]:focus,
.c-form-standard input[type=email]:focus,
.c-form-standard input[type=url]:focus,
.c-form-standard input[type=date]:focus,
.c-form-standard textarea:focus {
  border-color: #000;
  border-color: var(--border-form-focus);
  outline: none;
}

/* ==========================================================================
  Form directions
   ========================================================================== */
.c-form-directions .c-form-item {
  position: relative;
  width: 100%;
  margin-bottom: 1.6rem;
  margin-bottom: var(--spacing-s);
}

.c-form-directions .c-form-text {
  width: calc(100% - 64px);
  width: 100%;
  border: solid 2px #979797;
  border-color: var(--border-form);
  color: #000;
  color: var(--text-color);
  padding: 0.4em 10px;
  line-height: 50px;
  height: 50px;
  background-color: #fff;
  background-color: var(--bg-content);
}

.c-form-directions .c-form-text:focus {
  border-color: #000;
  border-color: var(--border-form-focus);
  outline: none;
}

.c-direction-list input[type=radio]:checked,
.c-direction-list input[type=radio]:not(:checked) {
  position: absolute;
  left: -9999px;
}

.c-travel-icon {
  display: block;
  position: relative;
  width: 76px;
  height: 76px;
  background-color: #fff;
  background-color: var(--bg-content);
}

.c-travel-icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50px;
  margin-left: -25px;
  background-image: url(sprite-directions_95ca.svg);
  background-repeat: no-repeat;
}

.c-travel-walk::before {
  margin-top: -15px;
  height: 31px;
  background-position: 0 0;
}

.c-travel-bike::before {
  margin-top: -14px;
  height: 29px;
  background-position: 0 -60px;
}

.c-travel-car::before {
  margin-top: -14px;
  height: 29px;
  background-position: 0 -120px;
}

.c-travel-transit::before {
  margin-top: -24px;
  height: 48px;
  background-position: 0 -180px;
}

.c-direction-list input[type=radio]:checked + .c-travel-icon {
  background-color: #B50000;
  background-color: var(--color-highlight);
}

.c-direction-list input[type=radio]:checked + .c-travel-walk::before {
  background-position: -100px 0;
}

.c-direction-list input[type=radio]:checked + .c-travel-bike::before {
  background-position: -100px -60px;
}

.c-direction-list input[type=radio]:checked + .c-travel-car::before {
  background-position: -100px -120px;
}

.c-direction-list input[type=radio]:checked + .c-travel-transit::before {
  background-position: -100px -180px;
}

.c-form-directions .c-form-text {
  width: calc(100% - 50px);
}

.c-form-directions .c-form-item {
  padding-bottom: 0;
  margin-bottom: 1.5em;
}

/*@import "components/_social-media";*/
/* styles for every project */
/* ==========================================================================
   Viewport
   ========================================================================== */
@-ms-viewport {
  width: device-width;
}
/* ==========================================================================
   Mediaqueries
   ========================================================================== */
@media only screen and (min-width: 1401px) {
  .c-showroom-home .c-box {
    margin-top: -11rem;
  }
  .c-main-title-img .c-box {
    margin-top: -7.8rem;
  }
  .c-main-title .c-box {
    margin-top: -4.2rem;
  }
}
@media only screen and (min-width: 1330px) {
  /* container max width */
  .c-container {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
  }
  .c-asym-right-edgeless,
.c-asym-left-edgeless {
    max-width: none;
    width: calc(660px + 50%);
  }
  .c-asym-right-edgeless {
    margin-right: 0;
  }
  .c-asym-left-edgeless {
    margin-left: 0;
  }
  .c-text-img .c-asym-col-grid {
    flex: 0 0 640px;
    max-width: 640px; /* 1/2 content width - 1/2 padding (20px) */
  }
  .c-text-img .c-asym-col-edgeless {
    flex: 0 0 calc(100% - 640px); /* width - 1/2 padding (20px) */
    max-width: calc(100% - 640px); /* width - 1/2 padding (20px) */
  }
  .c-asym-left-edgeless .c-text-img-inner {
    margin-left: 110px; /* difference 5 col  */
  }
  .c-asym-right-edgeless .c-text-img-inner {
    margin-right: 110px;
  }
}
@media only screen and (max-width: 1500px) {
  .c-header-logo {
    width: 200px;
  }
}
@media only screen and (max-width: 1329px) {
  .c-teaser-text-img .c-col-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-teaser-text-img figure {
    max-width: 90%;
  }
}
@media only screen and (max-width: 1300px) {
  .c-main-nav-list a {
    padding-left: 10px;
    padding-right: 10px;
  }
}
/* header show offcanvas */
@media only screen and (max-width: 1200px) {
  .c-offcanvas-trigger-open {
    display: block;
  }
  .c-main-nav {
    display: none;
  }
}
@media only screen and (max-width: 1100px) {
  .c-showroom-home .c-col-6,
.c-main-title-img .c-col-6,
.c-main-title .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.66667%;
    -ms-flex: 0 0 66.66667%;
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
}
@media only screen and (max-width: 980px) {
  .c-header-logo {
    width: 120px;
  }
  .c-deco-cta-left,
.c-deco-cta-right {
    width: 96px;
  }
  .c-cta-box {
    min-height: 304px;
  }
  .c-cta-box-inner {
    padding-left: 120px;
    padding-right: 120px;
  }
  .c-text-usp-list li,
.c-text-block .c-text-usp-list li {
    flex: 0 0 50%;
    max-width: 50%;
    margin-left: 0;
  }
  .c-logowall-bronze-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 20%;
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%;
  }
}
@media only screen and (max-width: 900px) {
  .c-footer .c-col-5,
.c-footer .c-col-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-footer .c-col-7 {
    padding-top: var(--spacing-m);
  }
  .c-teaser-3col .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media only screen and (max-width: 850px) {
  .c-keyfacts .c-col-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-keyfact-icon {
    max-width: 170px;
  }
}
@media only screen and (max-width: 768px) {
  .c-text-only .c-col-8,
.c-section-title .c-col-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-showroom-home .c-col-6,
.c-main-title .c-col-6,
.c-main-title-img .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 91.66667%;
    -ms-flex: 0 0 91.66667%;
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
  .c-showroom-home .c-box,
.c-main-title .c-box,
.c-main-title-img .c-box {
    margin-top: -32px;
    margin-left: calc(var(--grid-container) * -1);
  }
  .c-main-title .c-box {
    margin-top: 32px;
  }
  .c-showroom-img {
    height: 75vw;
  }
  .c-showroom-home .c-showroom-img {
    height: 100vw;
  }
  .c-sponsors-partner-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-sponsors-container {
    width: 90px;
    max-width: 90px;
  }
  .c-anchornav-list::before {
    width: 60px;
  }
  .c-directions-panel {
    position: relative;
    top: auto;
    width: 100%;
    height: auto;
    transform: translateY(0%);
    padding-bottom: var(--spacing-s);
  }
  .c-travel-icon {
    width: 60px;
    height: 60px;
  }
  .c-map {
    height: 60vh;
  }
}
@media only screen and (max-width: 750px) {
  .c-footer-disclaimer .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-footer-disclaimer .c-col-6 {
    text-align: left;
  }
  .c-footer-disclaimer-list li {
    padding-bottom: 1.6rem;
    padding-bottom: var(--spacing-s);
  }
  .c-footer-disclaimer .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-text-usp-list li,
.c-text-block .c-text-usp-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media only screen and (max-width: 700px) {
  .c-text-img .c-col-6,
.c-teaser-3col .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-asym-left-edgeless figure {
    margin-right: -20px;
    margin-right: calc(var(--grid-container) * -1);
  }
  .c-asym-right-edgeless figure {
    margin-left: -20px;
    margin-left: calc(var(--grid-container) * -1);
  }
  .c-text-img .c-legend {
    padding-left: var(--grid-container);
    padding-right: var(--grid-container);
  }
  .c-text-img .c-deco-dark {
    display: none;
  }
  .c-text-img .c-text-img-inner {
    padding-top: 1.6rem;
    padding-top: var(--spacing-s);
  }
  .c-text-img .c-deco-white {
    left: 0;
    right: auto;
    width: 100%;
    top: -4.8rem;
    top: calc(var(--spacing-l) * -1);
    margin-top: -16px;
    background-image: url(deko-black_5859.svg);
    background-position: -16px 0;
  }
  .c-text-img {
    padding-top: calc(4.8rem + 16px);
    padding-top: calc(var(--spacing-l) + 16px);
  }
  .c-text-img-no-line {
    padding-top: 0;
  }
  .c-logowall-gold-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-logowall-silver-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.33333%;
    -ms-flex: 0 0 33.33333%;
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  .c-logowall-bronze-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }
}
@media only screen and (max-width: 620px) {
  .c-footer-main .c-col-6,
.c-teaser-btn .c-col-6,
.c-teaser-text-img .c-col-6,
.c-teaser-text-img .c-col-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-img-2col .c-col-6,
.c-img-3col .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-deco-cta-left,
.c-deco-cta-right {
    width: 100%;
    height: 48px;
  }
  .c-deco-cta-right {
    top: auto;
    bottom: 0;
  }
  .c-cta-box {
    min-height: 0;
  }
  .c-cta-box-inner {
    padding-top: calc(48px + var(--spacing-m));
    padding-bottom: calc(48px + var(--spacing-m));
    padding-left: 0;
    padding-right: 0;
  }
  .c-teaser-text-img figure {
    max-width: 60%;
    /*margin-left: auto;*/
    margin-right: auto;
    padding-bottom: 3rem;
    padding-bottom: var(--spacing-m);
  }
  .c-sponsors-partner-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-gallery {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(4, 30vw);
  }
  .c-gallery .c-gallery-item-1 {
    grid-row: 1/span 2;
  }
  .c-gallery .c-gallery-item-4 {
    grid-column: 1/span 2;
    grid-row: 3/span 2;
  }
}
@media only screen and (max-width: 480px) {
  .c-logowall-gold-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-logowall-silver-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-logowall-bronze-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-offcanvas-nav-list a {
    width: 60%;
  }
}
@media only screen and (max-width: 400px) {
  .c-keyfacts .c-col-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/* ==========================================================================
   Print CSS
   ========================================================================== */
@media print {
  /* base styles */
  * {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
a:visited {
    text-decoration: underline;
  }
  .c-ir a:after,
a[href^="javascript:"]:after,
a[href]:after {
    content: none !important;
  }
  pre,
blockquote {
    border: none;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p,
h2,
h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
h3 {
    break-after: avoid;
    page-break-after: avoid;
  }
  /* font-sizes */
  html,
body {
    width: 100%;
    height: auto;
    /*overflow: auto;*/
  }
  body {
    font-size: 12px;
  }
  h1, .c-h1 {
    font-size: 24px;
  }
  .c-lead,
.c-text-block .c-lead,
h2, .c-h2,
h3, .c-h3,
.c-text-block blockquote p {
    font-size: 16px;
  }
  /* project styles */
  .c-container {
    padding-bottom: 2em;
  }
  .c-footer {
    display: none;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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bUJMOUNRO0VLK0NSO0FONndCSjs7QU0xd0JBO0VBQ0Msc0JMckRXO0VLc0RSO0FONndCSjs7QU0xd0JBO0VBQ0k7RUFDQTtFQUNBLGlCTDNEUTtFSzREUjtBTjZ3Qko7O0FNMXdCQTs7K0VBQUE7QUFJQTs7RUFFSSxrQkw5RGE7RUsrRGIsbUJML0RhO0VLZ0ViO0VBQ0E7QU40d0JKOztBTXp3QkE7RUFDSSxtQkxwRU87RUtxRVAsa0JMckVPO0VLc0VQO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNJO0VBQ0k7QU40d0JaOztBTXp3QkE7RUFDSTtBTjR3Qko7O0FNendCQTtFQUNJO0FONHdCSjs7QU16d0JBO0VBQ0k7QU40d0JKOztBTXp3QkE7RUFDSTtBTjR3Qko7O0FNendCQTtFQUNJO0FONHdCSjs7QU16d0JBO0VBQ0k7QU40d0JKOztBTXp3QkE7RUFDSTtBTjR3Qko7O0FNendCQTtFQUNJO0FONHdCSjs7QU16d0JBO0VBQ0k7QU40d0JKOztBTXp3QkE7Ozs7Ozs7Ozs7OztFQVlJO0VBQ0E7RUFDQSxtQkxwSU87RUtxSVAsa0JMcklPO0VLc0lQO0VBQ0E7QU40d0JKOztBTXp3QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONHdCSjs7QU16d0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjR3Qko7O0FNendCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU40d0JKOztBTXp3QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONHdCSjs7QU16d0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjR3Qko7O0FNendCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU40d0JKOztBTXp3QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONHdCSjs7QU16d0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjR3Qko7O0FNendCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU40d0JKOztBTXp3QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNB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QmU7RU96Qlo7RUFDSDtFQUNBO0VBQ0E7QVIraUREOztBUTNpREE7RUFDQztFQUNHO0VBQ0g7QVI4aUREOztBUTNpREE7RUFDQztBUjhpREQ7O0FRM2lEQTs7K0VBQUE7QUFJQTtFQUNJO0VBQ0g7RUFDRztBUjZpREo7O0FRMWlEQTtFQUNDLFdQdkJZO0VPd0JUO0FSNmlESjs7QVExaURBO0VBQ0k7RUFDQTtFQUNIO0VBQ0E7RUFDQTtFQUNHO0VBQ0E7RUFDQTtBUjZpREo7O0FRMWlEQTtFQUNDO0FSNmlERDs7QVExaURBOztFQUVDO0VBQ0E7QVI2aUREOztBUTFpREE7RUFDQztFQUNHO0FSNmlESjs7QVExaURBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJQbkRpQjtFT29EZDtFQUNIO0FSNmlERDs7QVExaURBOzs7RUFHQztBUjZpREQ7O0FRMWlEQTs7O0VBR0MsV1B6RWtCO0VPMEVmO0FSNmlESjs7QVExaURBOzsrRUFBQTtBQUlBO0VBQ0k7RUFDQTtBUjRpREo7O0FRemlEQTtFQUNJO0VBQ0E7RUFDQTtBUjRpREo7O0FRemlEQTtFQUNDO0FSNGlERDs7QVF6aURBO0VBQ0M7QVI0aUREOztBUXppREE7RUFDQztFQUNHO0VBQ0E7RUFDQTtBUjRpREo7O0FRemlEQTs7O0VBR0MsY1B0R2lCO0VPdUdkO0FSNGlESjs7QVM1cURBOzsrRUFBQTtBQUlBO0VBQ0M7RUFDRyxzQlJpQk07RVFoQk47QVQ4cURKOztBUzNxREE7RUFDSSxtQlJxQlE7RVFwQlIsb0JScUJRO0VRcEJSO0VBQ0E7QVQ4cURKOztBUzNxREE7RUFDQyxtQlJnQlc7RVFmUixzQlJlUTtFUWRSO0VBQ0E7QVQ4cURKOztBUzNxREE7OztFQUdDO0VBQ0E7RUFDQTtBVDhxREQ7O0FTM3FEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FUOHFESjs7QVMzcURBO0VBQ0M7QVQ4cUREOztBUzNxREE7RUFDQztBVDhxREQ7O0FTM3FEQTtFQUNDO0FUOHFERDs7QVMzcURBO0VBQ0MsbUJSbEJXO0FEZ3NEWjs7QVMzcURBOztFQUVD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djlEQTtFQUNJO0FYMDlESjs7QVd2OURBO0VBQ0k7QVgwOURKOztBV3Y5REE7OytFQUFBO0FBS0E7O0VBRUM7QVh3OUREOztBV3A5REE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBWHU5REo7O0FXcDlEQTtFQUNJO0FYdTlESjs7QVdwOURBO0VBQ0M7RUFDQTtFQUNBO0FYdTlERDs7QVdwOURBO0VBQ0k7QVh1OURKOztBV3A5REE7RUFDSTtBWHU5REo7O0FXcDlEQTtFQUNJO0FYdTlESjs7QVdwOURBO0VBQ0k7RUFDQTtFQUNBLHNCVnRJUztFVXVJVDtBWHU5REo7O0FXbjlEQTs7K0VBQUE7QUFHQTs7RUFFSSxtQlZ0SVE7RVV1SVI7QVhzOURKOztBV245REE7RUFDSTtBWHM5REo7O0FXbjlEQTtFQUNJO0FYczlESjs7QVduOURBOzsrRUFBQTtBQUdBO0VBQ0ksa0JWcEpRO0VVcUpSO0FYczlESjs7QVduOURBOzsrRUFBQTtBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWHM5REo7O0FXbjlEQTtFQUNJO0VBQ0E7QVhzOURKOztBV245REE7OytFQUFBO0FBR0E7O0VBRUk7RUFDQTtBWHM5REo7O0FXbjlEQTs7RUFFSTtBWHM5REo7O0FXbjlEQTtFQUNJO0VBQ0E7QVhzOURKOztBV245REE7RUFDSTtBWHM5REo7O0FXajlEQTs7K0VBQUE7QUFLQTs7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0csbUJWdE1PO0VVdU1QLGtCVnZNTztFVXdNUDtFQUNBO0FYazlESjs7QVcvOERBOztFQUVDO0VBQ0EsbUJWOU1VO0VVK01QLGtCVi9NTztFVWdOUDtFQUNBO0VBQ0E7RUFDQTtBWGs5REo7O0FXOThEQTtFQUNDO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7QVhpOURKOztBVzk4REE7RUFDQztFQUNHO0VBQ0E7RUFDQTtFQUNBO0FYaTlESjs7QVc5OERBO0VBQ0M7RUFDRztFQUNBO0VBQ0E7RUFDQTtBWGk5REo7O0FXNzhEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FYZzlESjs7QVc3OERBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDRztFQUNIO0VBQ0E7RUFDQTtBWGc5REQ7O0FXNzhEQTtFQUNFO0VBQ0U7RUFDQTtFQUNIO0FYZzlERDs7QVc3OERBO0VBQ0k7QVhnOURKOztBVzc4REE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWGc5REo7O0FXNzhEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FYZzlESjs7QVc3OERBOzsrRUFBQTtBQUdBO0VBQ0k7RUFDQTtBWGc5REo7O0FXNzhEQTs7K0VBQUE7QUFJQTtFQUNJO0VBQ0E7QVgrOERKOztBVzU4REE7RUFDQztFQUNBO0FYKzhERDs7QVc1OERBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGFWNVRnQjtFVTZUYjtFQUNILHNCVmhWWTtFVWlWWjtFQUNHO0VBQ0E7QVgrOERKO0FXNzhESTtFQUNJO0FYKzhEUjs7QVcxOERBO0VBQ0M7RUFDQTtBWDY4REQ7O0FXMThEQTtFQUNDO0VBQ0E7RUFDQTtBWDY4REQ7O0FXMThEQTtFQUNDO0VBQ0E7QVg2OEREOztBVzE4REE7OytFQUFBO0FBSUE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxjVjVXcUI7RVU2V25CO0FYNDhESjs7QVd6OERBO0VBQ0U7RUFDQTtFQUNBO0FYNDhERjs7QVd6OERBO0VBQ0U7RUFDQTtBWDQ4REY7O0FXejhEQTtFQUNFO0VBQ0E7QVg0OERGOztBV3Y4REE7OytFQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0g7RUFDRztFQUNBO0VBQ0E7RUFDQSxzQlZwWlM7RVVxWlQ7RUFDQTtFQUNBO0VBQ0E7RUFDSDtFQUNHO0VBQ0g7RUFDRztFQUNBO0FYeThESjs7QVd0OERBO0VBQ0k7QVh5OERKOztBV3Q4REE7RUFDSTtBWHk4REo7O0FXdDhEQTtFQUNJO0VBQ0E7QVh5OERKOztBV3Q4REE7RUFDQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ007RVh5OEROO0FBQ0Y7QVluNUVBOzsrRUFBQTtBQUlBO0VBQ0M7RUFDQTtFQUNBO0FabzVFRDs7QVlqNUVBO0VBQ0MsY1hPaUI7RVdOZDtBWm81RUo7O0FZajVFQTs7RUFFQztFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0Q7QVpvNUVIOztBWWo1RUE7Ozs7RUFJQztBWm81RUQ7O0FZajVFQTs7RUFFQztBWm81RUQ7O0FZajVFQTs7K0VBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJYckJjO0VXc0JkO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVptNUVKOztBWWg1RUE7RUFDSTtFQUNBO0VBQ0g7RUFDQTtFQUNHO0VBQ0gsc0JYekNZO0VXMENUO0VBQ0E7RUFDQTtFQUNBO0FabTVFSjs7QVloNUVBOzs7O0VBSUksY1hqRGM7RVdrRGQ7QVptNUVKOztBWWg1RUE7O0VBRUk7RUFDQTtBWm01RUo7O0FZaDVFQTtFQUNJO0FabTVFSjs7QVloNUVBO0VBQ0k7RUFDQTtFQUNBO0FabTVFSjs7QVloNUVBO0VBQ0k7RUFDQTtBWm01RUo7O0FZaDVFQTtFQUNJO0VBQ0E7QVptNUVKOztBWTk0RUE7O0VBRUk7RUFDSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esc0JYNUZZO0VXNkZUO0VBQ0g7QVppNUVEOztBWTk0RUE7O0VBRUM7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWmk1RUo7O0FZNzRFQTtFQUNJO0VBQ0g7QVpnNUVEOztBWTc0RUE7RUFDQztFQUNHLHlCWHhIYztFV3lIZDtBWmc1RUo7O0FZNTRFQTs7OztFQUlDLHlCWGpJaUI7RVdrSWQseUJYbEljO0VXbUlkO0FaKzRFSjs7QVk1NEVBOzs7OztFQUtDO0VBQ0c7QVorNEVKOztBWTE0RUE7OytFQUFBO0FBSUE7RUFDQztBWjQ0RUQ7O0FZejRFQTs7RUFFQztFQUNBO0VBQ0E7RUFDQTtBWjQ0RUQ7O0FZejRFQTtFQUNDO0VBQ0c7RUFDQTtFQUNBO0FaNDRFSjs7QVl6NEVBO0VBQ0M7RUFDQTtBWjQ0RUQ7O0FZejRFQTtFQUNDO0FaNDRFRDs7QVl6NEVBOztFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWjQ0RUQ7O0FZeDRFQTtFQUNDO0FaMjRFRDs7QVl4NEVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWjI0RUQ7O0FZeDRFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVoyNEVEOztBWXg0RUE7RUFDSTtFQUNBO0VBQ0E7QVoyNEVKOztBWXg0RUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaMjRFRDs7QVl4NEVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVoyNEVEOztBWXg0RUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWjI0RUQ7O0FZeDRFQTs7RUFFQztBWjI0RUQ7O0FZeDRFQTs7RUFFQyx5Qlg1UGlCO0VXNlBkO0FaMjRFSjs7QVl4NEVBOzsrRUFBQTtBQUlBO0VBQ0M7O0lBRU87RVowNEVOO0VZdjRFRTtJQUNJO0VaeTRFTjtFWXQ0RUU7SUFDSTtFWnc0RU47QUFDRjtBYWpyRkE7OytFQUFBO0FBSUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBYmtyRkQ7O0FhL3FGQTs7O0VBR0M7RUFDQTtFQUNBO0Fia3JGRDs7QWEvcUZBO0VBQ0M7RUFDQTtBYmtyRkQ7O0FhL3FGQTs7RUFFQztFQUNBO0VBQ0E7QWJrckZEOztBYS9xRkE7RUFDQztBYmtyRkQ7O0FhL3FGQTtFQUNDO0Fia3JGRDs7QWEvcUZBO0VBQ0M7QWJrckZEOztBYS9xRkE7RUFDSTtBYmtyRko7O0FhL3FGQTs7RUFFQztFQUNBO0VBQ0E7QWJrckZEOztBY3J1RkE7OytFQUFBO0FBR0E7QUFDQTs7OztFQUlJO0VBQ0E7RUFDSDtBZHd1RkQ7O0FjcnVGQTtBQUNBOzs7O0VBSUM7QWR3dUZEOztBY3J1RkE7RUFDQztFQUNBO0VBQ0Esc0JiVVc7RWFUUjtBZHd1Rko7O0FjcnVGQTs7K0VBQUE7QUFJQTs7Ozs7RUFLQztFQUNBO0VBQ0c7RUFDSCxXYnhCWTtFYXlCVDtFQUNIO0VBQ0Esc0JickJZO0Vhc0JUO0FkdXVGSjs7QWNwdUZBOzs7OztFQUtDLGtCYkxtQjtFYU1oQjtFQUNIO0FkdXVGRDs7QWNwdUZBOzsrRUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBLHFCYjlCUTtFYStCUjtBZHN1Rko7O0FjbnVGQTtFQUNJO0VBQ0E7RUFDSDtFQUNHO0VBQ0gsV2J6RFk7RWEwRFQ7RUFDSDtFQUNHO0VBQ0E7RUFDSCxzQmJ4RFk7RWF5RFQ7QWRzdUZKOztBY251RkE7RUFDSSxrQmJwQ2dCO0VhcUNoQjtFQUNIO0Fkc3VGRDs7QWNudUZBOztFQUVJO0VBQ0E7QWRzdUZKOztBY251RkE7RUFDQztFQUNHO0VBQ0g7RUFDQTtFQUNBLHNCYjdFWTtFYThFVDtBZHN1Rko7O0FjbnVGQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0c7RUFDQTtFQUNBO0VBQ0g7QWRzdUZEOztBY251RkE7RUFDQztFQUNBO0VBQ0E7QWRzdUZEOztBY251RkE7RUFDQztFQUNBO0VBQ0E7QWRzdUZEOztBY251RkE7RUFDQztFQUNBO0VBQ0E7QWRzdUZEOztBY251RkE7RUFDQztFQUNBO0VBQ0E7QWRzdUZEOztBY2x1RkE7RUFDQyx5QmJuSGlCO0Vhb0hkO0FkcXVGSjs7QWNsdUZBO0VBQ0M7QWRxdUZEOztBY2x1RkE7RUFDQztBZHF1RkQ7O0FjbHVGQTtFQUNDO0FkcXVGRDs7QWNsdUZBO0VBQ0M7QWRxdUZEOztBY2p1RkE7RUFDQztBZG91RkQ7O0FjanVGQTtFQUNDO0VBQ0E7QWRvdUZEOztBQTcyRkE7QUFHQTtBZWpDQTs7K0VBQUE7QUFJQTtFQUNDO0FmKzRGRDtBZTU0RkE7OytFQUFBO0FBSUE7RUFDSTtJQUNJO0VmNjRGTjtFZTE0RkU7SUFDSTtFZjQ0Rk47RWV6NEZEO0lBQ087RWYyNEZOO0FBQ0Y7QWV4NEZBO0VBQ0M7RUFDQTtJQUNPO0lBQ0E7SUFDTjtFZjA0RkE7RWV2NEZFOztJQUVJO0lBQ0E7RWZ5NEZOO0VldDRGRTtJQUNJO0VmdzRGTjtFZXI0RkU7SUFDSTtFZnU0Rk47RWVwNEZFO0lBQ0k7SUFDQTtFZnM0Rk47RWVuNEZFO0lBQ0k7SUFDQTtFZnE0Rk47RWVsNEZFO0lBQ0k7RWZvNEZOO0VlajRGRTtJQUNJO0VmbTRGTjtBQUNGO0FlaDRGQTtFQUNDO0lBQ0M7RWZrNEZBO0FBQ0Y7QWUvM0ZBO0VBQ0M7SUFDQztJQUNNO0lBQ0E7SUFDQTtJQUNBO0VmaTRGTjtFZTkzRkU7SUFDSTtFZmc0Rk47QUFDRjtBZTczRkE7RUFDQztJQUNPO0lBQ0E7RWYrM0ZOO0FBQ0Y7QWU1M0ZBO0FBQ0E7RUFDQztJQUNDO0VmODNGQTtFZTMzRkQ7SUFDQztFZjYzRkE7QUFDRjtBZTEzRkE7RUFDQzs7O0lBR0M7SUFDTTtJQUNBO0lBQ0E7SUFDQTtFZjQzRk47QUFDRjtBZXozRkE7RUFDQztJQUNDO0VmMjNGQTtFZXgzRkU7O0lBRUk7RWYwM0ZOO0VldjNGRTtJQUNJO0VmeTNGTjtFZXQzRkU7SUFDSTtJQUNBO0VmdzNGTjtFZXIzRkU7O0lBRUk7SUFDQTtJQUNBO0VmdTNGTjtFZXAzRkU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VmczNGTjtBQUNGO0FlbjNGQTtFQUNJOztJQUVJO0lBQ047SUFDQTtJQUNBO0lBQ0E7RWZxM0ZBO0VlbDNGRTtJQUNJO0VmbzNGTjtFZWozRkU7SUFDSztJQUNQO0lBQ0E7SUFDQTtJQUNBO0VmbTNGQTtBQUNGO0FlaDNGQTtFQUNJO0lBQ0s7SUFDUDtJQUNBO0lBQ0E7SUFDQTtFZmszRkE7RWUvMkZFO0lBQ0k7RWZpM0ZOO0FBQ0Y7QWU5MkZBO0VBQ0M7O0lBRUM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFZmczRkE7RWU3MkZFOzs7SUFHRjtJQUNNO0lBQ0E7SUFDQTtJQUNBO0VmKzJGTjtFZTUyRkU7OztJQUdJO0lBQ0E7RWY4MkZOO0VlMzJGRTtJQUNJO0VmNjJGTjtFZTEyRkU7SUFDSTtFZjQyRk47RWV6MkZFO0lBQ0k7RWYyMkZOO0VleDJGRTtJQUNJO0lBQ047SUFDQTtJQUNBO0lBQ0E7RWYwMkZBO0VldjJGRTtJQUNJO0lBQ0E7RWZ5MkZOO0VldDJGRTtJQUNJO0VmdzJGTjtFZXIyRkU7SUFDRjtJQUNNO0lBQ047SUFDQTtJQUNBO0lBQ007RWZ1MkZOO0VlcDJGRDtJQUNDO0lBQ0E7RWZzMkZBO0VlbjJGRDtJQUNDO0VmcTJGQTtBQUNGO0FlbDJGQTtFQUNJO0lBQ0k7SUFDTjtJQUNBO0lBQ0E7SUFDQTtFZm8yRkE7RWVqMkZFO0lBQ0k7RWZtMkZOO0VlaDJGRTtJQUNJLHNCZHBQSTtJY3FQSjtFZmsyRk47RWUvMUZFO0lBQ0k7SUFDTjtJQUNBO0lBQ0E7SUFDQTtFZmkyRkE7RWU5MUZFOztJQUVJO0lBQ047SUFDQTtJQUNBO0lBQ0E7RWZnMkZBO0FBQ0Y7QWU3MUZBO0VBQ0k7O0lBRUk7SUFDTjtJQUNBO0lBQ0E7SUFDQTtFZisxRkE7RWU1MUZFO0lBQ0k7SUFDQTtFZjgxRk47RWUzMUZFO0lBQ0k7SUFDQTtFZjYxRk47RWUxMUZFO0lBQ0k7SUFDQTtFZjQxRk47RWV6MUZFO0lBQ0k7RWYyMUZOO0VleDFGRTtJQUNJLG1CZHhTSTtJY3lTSjtFZjAxRk47RWV2MUZFO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFZnkxRk47RWV0MUZFO0lBQ0k7SUFDQTtFZncxRk47RWVyMUZFO0lBQ0k7RWZ1MUZOO0VlcDFGRTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWZzMUZOO0VlbjFGRTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWZxMUZOO0VlbDFGRTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWZvMUZOO0FBQ0Y7QWVqMUZBO0VBQ0k7Ozs7SUFJSTtJQUNOO0lBQ0E7SUFDQTtJQUNBO0VmbTFGQTtFZWgxRkU7O0lBRUk7SUFDTjtJQUNBO0lBQ0E7SUFDQTtFZmsxRkE7RWUvMEZFOztJQUVJO0lBQ0E7RWZpMUZOO0VlOTBGRTtJQUNJO0lBQ0E7RWZnMUZOO0VlNzBGRTtJQUNJO0VmKzBGTjtFZTUwRkU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtFZjgwRk47RWUzMEZFO0lBQ0k7SUFDQTtJQUNBO0lBQ0Esb0JkellJO0ljMFlKO0VmNjBGTjtFZTEwRkU7SUFDSTtJQUNOO0lBQ0E7SUFDQTtJQUNBO0VmNDBGQTtFZXgwRkU7SUFDSTtJQUNBO0VmMDBGTjtFZXYwRkU7SUFDSTtFZnkwRk47RWV0MEZFO0lBQ0k7SUFDQTtFZncwRk47QUFDRjtBZXAwRkE7RUFDSTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWZzMEZOO0VlbjBGRTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWZxMEZOO0VlbDBGRTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWZvMEZOO0VlajBGRTtJQUNJO0VmbTBGTjtBQUNGO0FlL3pGQTtFQUNJO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFZmkwRk47QUFDRjtBZ0I5eUdBOzsrRUFBQTtBQUdBO0VBQ0k7RUFDQTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0VoQmd6R047RWdCN3lHRDs7SUFFTztFaEIreUdOO0VnQjV5R0U7OztJQUdGO0VoQjh5R0E7RWdCM3lHRTs7SUFFSTtJQUNBO0VoQjZ5R047RWdCMXlHRTtJQUNJO0VoQjR5R047RWdCenlHRTs7SUFFSTtFaEIyeUdOO0VnQnh5R0U7SUFDSTtFaEIweUdOO0VnQnZ5R0U7SUFDSTtFaEJ5eUdOO0VnQnR5R0U7OztJQUdJO0lBQ0E7RWhCd3lHTjtFZ0JyeUdFOztJQUVJO0lBQ0E7RWhCdXlHTjtFZ0JweUdFO0VBRUg7O0lBRUM7SUFDQTtJQUNBO0VoQnF5R0E7RWdCbHlHRTtJQUNJO0VoQm95R047RWdCanlHRDtJQUNDO0VoQm15R0E7RWdCaHlHRDs7Ozs7SUFLQztFaEJreUdBO0VnQi94R0Q7RUFDQTtJQUNDO0VoQml5R0E7RWdCOXhHRDtJQUNDO0VoQmd5R0E7QUFDRixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL21haW4uc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tbW9uL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tbW9uL19ub3JtYWxpemUuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tbW9uL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tbW9uL19oZWxwZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fZ3JpZC5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL190eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fb2ZmY2FudmFzLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2NvbnRlbnRlbGVtZW50cy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19idXR0b24tbGlua3Muc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fcmF0aW9ib3guc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fZm9ybS5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19yZXNwb25zaXZlLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX3ByaW50LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2V0dGluZ3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qQGltcG9ydCBcIi4uL2ZvbnRzL2lubGluZUZvbnRzLnNjc3NcIjsqL1xuQGltcG9ydCBcImNvbW1vbi9fdmFyaWFibGVzXCI7XG4vKkBpbXBvcnQgXCJjb21tb24vX2ZvbnRzXCI7Ki9cbkBpbXBvcnQgXCJjb21tb24vX25vcm1hbGl6ZVwiO1xuQGltcG9ydCBcImNvbW1vbi9fbWl4aW5zXCI7XG5AaW1wb3J0IFwiY29tbW9uL19oZWxwZXJzXCI7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBzdHlsZXMgZm9yIGV2ZXJ5IHByb2plY3QgKi9cbkBpbXBvcnQgXCJjb21wb25lbnRzL19iYXNlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fZ3JpZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3R5cG9ncmFwaHlcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19oZWFkZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19mb290ZXJcIjtcblxuLyogb3B0aW9uYWwgc3R5bGVzICovXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fb2ZmY2FudmFzXCI7XG4vKkBpbXBvcnQgXCJjb21wb25lbnRzL190YWJsZXNcIjsqL1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2NvbnRlbnRlbGVtZW50c1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2J1dHRvbi1saW5rc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3JhdGlvYm94XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fZm9ybVwiO1xuLypAaW1wb3J0IFwiY29tcG9uZW50cy9fc29jaWFsLW1lZGlhXCI7Ki9cblxuXG4vKiBzdHlsZXMgZm9yIGV2ZXJ5IHByb2plY3QgKi9cbkBpbXBvcnQgXCJjb21wb25lbnRzL19yZXNwb25zaXZlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fcHJpbnRcIjsiLCIvKiBWYXJpYWJsZXMsIE5hbWluZyBtYXkgdmFyeSBmcm9tIHByb2plY3QgdG8gcHJvamVjdCAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9udHMgKHNlZSAnX2ZvbnRzLnNjc3MnIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGxpY2Vuc2UpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBAaW1wb3J0IG11c3QgYmUgYXQgdG9wIG9mIGZpbGUsIG90aGVyd2lzZSBDU1Mgd2lsbCBub3Qgd29yayAqL1xuLyogQGltcG9ydCB1cmwoJy8vaGVsbG8ubXlmb250cy5uZXQvY291bnQvNDI2NTYzJyk7ICovXG5cbiRmb250LXN0YWNrLWRlZmF1bHQ6ICdKb3N0JywgJ0FyaWFsJywgJ0hlbHZldGljYScsIHNhbnMtc2VyaWY7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGYWxsYmFja3Mgc2FzcyBWYXJpYWJsZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIHRleHQgKi9cbiR0ZXh0LWNvbG9yOiAjMDAwOyAvKiBkYXJrIGdyZXkgKi9cbiR0ZXh0LWNvbG9yLWxpZ2h0OiAjZmZmO1xuJHRleHQtY29sb3ItbGluazogI0I1MDAwMDsgLyogcmVkeSAqL1xuJHRleHQtY29sb3ItbWVkaXVtOiAjOEE4QThBO1xuXG4vKiBiYWNrZ3JvdW5kICovXG4kYmctY29udGVudDogI2ZmZjtcbiRiZy1kYXJrOiAjMDAwOyAvKiBkYXJrIGdyZXkgKi9cbiRiZy1saWdodDogI2Y5ZjlmOTsgLyogbGlnaHQgZ3JleSAqL1xuJGNvbG9yLWhpZ2hsaWdodDogI0I1MDAwMDsgLyogcmVkICovXG5cbi8qIGxpbmUtY29sb3JzICovXG4kYm9yZGVyLWJhc2ljOiAjZWJlYmViO1xuJGJvcmRlci1vdXRzaWRlLXdpZHRoOiAyMHB4O1xuXG4vKiBzcGFjaW5nICovXG4kc3BhY2luZy1sOiA0LjhyZW07XG4kc3BhY2luZy1tOiAzcmVtO1xuJHNwYWNpbmctczogMS42cmVtO1xuJHNwYWNpbmcteHM6IDAuOHJlbTtcbiRoZWFkZXItaGVpZ2h0OiAxMzhweDtcbiRzcGFjaW5nLXRpdGxlLXRvcDogMTJyZW07XG5cbi8qIGdyaWQgKi9cbiRncmlkLWNvbnRhaW5lcjogMjBweDtcbiRncmlkLXJvdzogLTEwcHg7XG4kZ3JpZC1jb2w6IDEwcHg7XG5cblxuLyogZm9ybSAqL1xuJGJvcmRlci1mb3JtOiAjOTc5Nzk3O1xuJGJvcmRlci1mb3JtLWZvY3VzOiAjMDAwO1xuLyokZm9ybS1kaXNhYmxlZDogI2NjYztcbiRmb3JtLWVycm9yOiAjZGQwMDAwO1xuJGZvcm0tb2s6ICMwMDgyOEM7XG4kZm9ybS1pbml0aWFsOiAjMUQxRDFCOyovXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEN1c3RvbSBQcm9wZXJ0aWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbjpyb290IHtcbiAgICAvKiBmb250cyAqL1xuICAgIC0tZm9udC1zdGFjay1kZWZhdWx0OiAnSm9zdCcsICdBcmlhbCcsICdIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmO1xuICAgIC0tZm9udC13ZWlnaHQtbm9ybWFsOiA0MDA7XG4gICAgLS1mb250LXdlaWdodC1ib2xkOiA4MDA7XG4gICAgLS1sZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgIFxuICAgIC8qIHRleHQgICovXG4gICAgLS10ZXh0LWNvbG9yOiAjMDAwOyAvKiBibGFjayAqL1xuICAgIC0tdGV4dC1jb2xvci1saWdodDogI2ZmZjtcbiAgICAtLXRleHQtY29sb3ItbGluazogI0I1MDAwMDtcbiAgICAtLXRleHQtY29sb3ItbWVkaXVtOiAjOEE4QThBO1xuICAgIFxuICAgIFxuICAgIC8qIGNvbG9ycyAvIGJhY2tncm91bmQgKi9cbiAgICAtLWJnLWNvbnRlbnQ6ICNmZmY7XG4gICAgLS1iZy1kYXJrOiAjMDAwOyAvKiBkYXJrIGdyZXkgKi9cbiAgICAtLWJnLWxpZ2h0OiAjZjlmOWY5OyAvKiBsaWdodCBncmV5ICovXG4gICAgLS1jb2xvci1oaWdobGlnaHQ6ICNCNTAwMDA7IC8qIHJlZCAqL1xuICAgIFxuICAgIC8qIGxpbmVzICovXG4gICAgLS1ib3JkZXItYmFzaWM6ICNlYmViZWI7XG4gICAgLS1ib3JkZXItb3V0c2lkZS13aWR0aDogMjBweDtcbiAgICAtLWJvcmRlci1idG4tYmlnOiAyMHB4O1xuICAgIC0tYm9yZGVyLWJ0bi1iaWctbmVnYXRpdmU6IC0yMHB4O1xuICAgIFxuICAgIC8qIHNwYWNpbmcgKi9cbiAgICAtLXNwYWNpbmctbDogNC44cmVtO1xuICAgIC0tc3BhY2luZy1tOiAzcmVtOyBcbiAgICAtLXNwYWNpbmctczogMS42cmVtO1xuICAgIC0tc3BhY2luZy14czogMC44cmVtO1xuICAgIC0taGVhZGVyLWhlaWdodDogMTM4cHg7XG4gICAgLS1zcGFjaW5nLXRpdGxlLXRvcDogMTJyZW07XG4gICAgXG4gICAgXG4gICAgLyogZ3JpZCAqL1xuICAgIC0tZ3JpZC1jb250YWluZXI6IDIwcHg7XG4gICAgLS1ncmlkLXJvdzogLTEwcHg7XG4gICAgLS1ncmlkLWNvbDogMTBweDtcbiAgICBcbiAgICAvKiBmb3JtICovXG4gICAgLS1ib3JkZXItZm9ybTogIzk3OTc5NzsgXG4gICAgLS1ib3JkZXItZm9ybS1mb2N1czogIzAwMDtcbiAgICAvKi0tZm9ybS1kaXNhYmxlZDogI2NjYztcbiAgICAtLWZvcm0tZXJyb3I6ICNkZDAwMDA7XG4gICAgLS1mb3JtLW9rOiAjMDA4MjhDO1xuICAgIC0tZm9ybS1pbml0aWFsOiAjMUQxRDFCOyovXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFeGVwdGlvbnMgZm9yIGRpZmZlcmVudCBiYWNrZ3JvdW5kc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtdGV4dC1saWdodCB7XG4gICAgLS10ZXh0LWNvbG9yOiAjZmZmO1xuICAgIC0tdGV4dC1jb2xvci1saW5rOiAjZmZmO1xufVxuXG4uYy1zcG9uc29ycy1wYXJ0bmVyIHtcbiAgICAtLXRleHQtY29sb3ItbGluazogIzAwMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFJlc3BvbnNpdmUgQ3VzdG9tIFByb3BlcnRpZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMjAwcHgpIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIC0tZ3JpZC1jb250YWluZXI6IDQwcHg7XG4gICAgICAgIC0tZ3JpZC1yb3c6IC0yMHB4O1xuICAgICAgICAtLWdyaWQtY29sOiAyMHB4O1xuICAgIH1cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTIwMHB4KSB7XG4gICAgOnJvb3Qge1xuICAgICAgICAtLWhlYWRlci1oZWlnaHQ6IDgwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTMwMHB4KSB7XG4gICAgOnJvb3Qge1xuICAgICAgICAtLWJvcmRlci1vdXRzaWRlLXdpZHRoOiAxMnB4O1xuICAgICAgICAtLWJvcmRlci1idG4tYmlnOiAxMnB4O1xuICAgICAgICAtLWJvcmRlci1idG4tYmlnLW5lZ2F0aXZlOiAtMTJweDtcbiAgICB9XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjk4MHB4KSB7XG4gICAgOnJvb3Qge1xuICAgICAgICAtLXNwYWNpbmctbDogM3JlbTtcbiAgICAgICAgLS1zcGFjaW5nLW06IDEuOHJlbTsgXG4gICAgICAgIC0tYm9yZGVyLW91dHNpZGUtd2lkdGg6IDhweDtcbiAgICAgICAgLS1zcGFjaW5nLXRpdGxlLXRvcDogNnJlbTtcbiAgICAgICAgLS1ib3JkZXItYnRuLWJpZzogOHB4O1xuICAgICAgICAtLWJvcmRlci1idG4tYmlnLW5lZ2F0aXZlOiAtOHB4O1xuICAgIH1cbn1cbiIsIi8qISBub3JtYWxpemUuY3NzIHYzLjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0LmlvL25vcm1hbGl6ZSAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMDtcbn1cblxuLypcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb3JyZWN0cyB0ZXh0IHJlc2l6aW5nIG9kZGx5IGluIElFNi83IHdoZW4gYm9keSBmb250LXNpemUgaXMgc2V0IHVzaW5nIGVtIHVuaXRzXG4gKiAgICBodHRwOi8vY2xhZ251dC5jb20vYmxvZy8zNDgvI2M3OTBcbiAqIDIuIEtlZXBzIHBhZ2UgY2VudHJlZCBpbiBhbGwgYnJvd3NlcnMgcmVnYXJkbGVzcyBvZiBjb250ZW50IGhlaWdodFxuICogMy4gUHJldmVudHMgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb21cbiAqICAgIHd3dy40NTZiZXJlYXN0cmVldC5jb20vYXJjaGl2ZS8yMDEwMTIvY29udHJvbGxpbmdfdGV4dF9zaXplX2luX3NhZmFyaV9mb3JfaW9zX3dpdGhvdXRfZGlzYWJsaW5nX3VzZXJfem9vbS9cbiAqIDQuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5odG1sIHtcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuXHRsaW5lLWhlaWdodDogMS4xNTsgLyogNCAqL1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgLyogMiAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG59XG5cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG5cblxuICovXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgLyogY3ViZWdyYWZpayAqL1xufVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAqL1xuXG5hIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdXRsaW5lYCBpbmNvbnNpc3RlbmN5IGJldHdlZW4gQ2hyb21lIGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5hOmZvY3VzIHtcbiAgICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVHlwb2dyYXBoeVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qXG4qIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5tYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmYwO1xuICAgIGNvbG9yOiAjMDAwO1xufVxuXG4vKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDFlbTtcbn1cblxuLypcbiAqIEltcHJvdmVzIHJlYWRhYmlsaXR5IG9mIHByZS1mb3JtYXR0ZWQgdGV4dCBpbiBhbGwgYnJvd3NlcnNcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIFNldCBjb25zaXN0ZW50IHF1b3RlIHR5cGVzLlxuICovXG5cbnEge1xuICAgIHF1b3RlczogXCJcXDIwMUNcIiBcIlxcMjAxRFwiIFwiXFwyMDE4XCIgXCJcXDIwMTlcIjtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5cbnNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG5cbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cblxuICovXG5cbnN1YixcbnN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZW1vdmVzIGJvcmRlciB3aGVuIGluc2lkZSAnYScgZWxlbWVudCBpbiBJRTYvNy84LzksIEZGM1xuICogMi4gSW1wcm92ZXMgaW1hZ2UgcXVhbGl0eSB3aGVuIHNjYWxlZCBpbiBJRTdcbiAqICAgIGNvZGUuZmxpY2tyLmNvbS9ibG9nLzIwMDgvMTEvMTIvb24tdWktcXVhbGl0eS10aGUtbGl0dGxlLXRoaW5ncy1jbGllbnQtc2lkZS1pbWFnZS1yZXNpemluZy9cbiAqL1xuXG5pbWcge1xuICAgIGJvcmRlcjogMDsgLyogMSAqL1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IC8qIDIgKi9cbn1cblxuLypcbiAqIENvcnJlY3RzIG92ZXJmbG93IGRpc3BsYXllZCBvZGRseSBpbiBJRTlcbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRmlndXJlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpIDUuXG4gKi9cblxuZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ29ycmVjdHMgbWFyZ2luIGRpc3BsYXllZCBvZGRseSBpbiBJRTYvN1xuICovXG5cbmZvcm0ge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLypcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZ1xuICovXG5cbmZpZWxkc2V0IHtcbiAgICBib3JkZXI6MDsgLyogY3ViZWdyYWZpayAqL1xuICAgIG1hcmdpbjowOyAvKiBjdWJlZ3JhZmlrICovXG4gICAgcGFkZGluZzowOyAvKiBjdWJlZ3JhZmlrICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICBib3JkZXI6IDA7XG59XG5cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuXG4gKiA0LiBJbXByb3ZlcyBhcHBlYXJhbmNlIGFuZCBjb25zaXN0ZW5jeSBpbiBhbGwgYnJvd3NlcnNcbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDQgKi9cbn1cblxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdHMgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmVzIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogYGlucHV0YCBhbmQgb3RoZXJzLlxuICogNC4gUmVtb3ZlcyBpbm5lciBzcGFjaW5nIGluIElFNyB3aXRob3V0IGFmZmVjdGluZyBub3JtYWwgdGV4dCBpbnB1dHMuXG4gKiBLbm93biBpc3N1ZTogaW5uZXIgc3BhY2luZyByZW1haW5zIGluIElFNi5cbiAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xuICAgICpvdmVyZmxvdzogdmlzaWJsZTsgLyogNCAqL1xufVxuXG4vKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50c1xuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcblxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5cbi8qKlxuXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LlxuICogMi4gSW1wcm92ZSByZWFkYWJpbGl0eSBhbmQgYWxpZ25tZW50IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87IC8qIDEgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyAvKiAyICovXG59XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHNcbiAqL1xuXG50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFbGVtZW50cyBjdWJlZ3JhZmlrXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5hOmFjdGl2ZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuXG5kaXYsIHAge1xuICAgIHBhZGRpbmc6MDtcbiAgICBtYXJnaW46MDtcbn1cblxuaHIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgICBtYXJnaW46IDFlbSAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbnRoLCB0ZCB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB0ZXh0LWFsaWduOmxlZnQ7XG59XG5cbmlucHV0LFxudGV4dGFyZWEge1xuICAgIC8qIFJlbW92ZWQgYmVjYXVzZSBvZiB2aXNpYmlsaXR5Y2hhbmdlLWFkZGl0aW9uIHRvIGZhbmN5LWZvcm1zIHBsdWdpbi5cbiAgICAgKiAyMDE1LzAxLzIyIC0gRmxvcmlhbiBNw6RkZXJcbiAgICAgKiAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7Ki9cbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG59XG5cbmh0bWwge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogU2FmYXJpIDMuMCAtIDUuMCwgQ2hyb21lIDEgLSA5LCBBbmRyb2lkIDIuMSAtIDMueCAqL1xuICAgICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogRmlyZWZveCAxIC0gMjggKi9cbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIFNhZmFyaSA1LjErLCBDaHJvbWUgMTArLCBGaXJlZm94IDI5KywgT3BlcmEgNyssIElFIDgrLCBBbmRyb2lkIDQuMCssIGlPUyBhbnkgKi9cbn1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgICAgLW1vei1ib3gtc2l6aW5nOiBpbmhlcml0O1xuICAgICAgICAgICAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxubGFiZWxbZm9yXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyAvKiBJRSAxMCAgKi9cbiAgICAgICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IC8qIElFIDExKyAqL1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3JtIFBsYWNlaG9sZGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgICAge0Bjb250ZW50fVxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICB7QGNvbnRlbnR9XG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgIHtAY29udGVudH0gIFxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9udHMgc21vb3RoaW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoJHZhbHVlOiBvbikge1xuICAgIEBpZiAkdmFsdWUgPT0gb24ge1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGF1dG87XG4gICAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEhpZGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtaGlkZS12aXN1YWxseSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICBib3JkZXI6IDA7XG59XG5cbi5jLWhpZGUtY29tcGxldGVseSB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLyogaW1hZ2UgcmVwbGFjZW1lbnQgKi9cbi5jLWlyIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGJvcmRlcjogMDtcblx0dGV4dC1pbmRlbnQ6IC05OTllbTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdGRpcmVjdGlvbjogbHRyO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGlja3kgRm9vdGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5odG1sIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG5ib2R5IHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5jLWhlYWRlcixcbi5jLWZvb3RlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5jLWNvbnRlbnQge1xuICAgIGZsZXgtZ3JvdzogMTtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZSBQcm9qZWN0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5ib2R5IHtcblx0QGluY2x1ZGUgZm9udC1zbW9vdGhpbmcob24pO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcblx0Zm9udC1mYW1pbHk6ICRmb250LXN0YWNrLWRlZmF1bHQ7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc3RhY2stZGVmYXVsdCk7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG5cdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIGxpbmtzICovXG5hLFxuYTp2aXNpdGVkLFxuYTpmb2N1cyxcbmE6aG92ZXIge1xuXHRjb2xvcjogJHRleHQtY29sb3ItbGluaztcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saW5rKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG59XG5cbnRleHRhcmVhIHtcblx0cmVzaXplOiBub25lO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGFuZGFyZCBpbWcgLyBtZWRpYSBkZWNsYXJhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuZW1iZWQsXG5vYmplY3QsXG52aWRlbyxcbmlmcmFtZSxcbmltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbmltZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uYy1pbWctbWF4LXdpZHRoLFxuLmMtY29udGVudCAuYy1pbWctbWF4LXdpZHRoIHtcblx0d2lkdGg6IGF1dG87XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuaW1nIHsgXG5cdHZlcnRpY2FsLWFsaWduOiBib3R0b207IFxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGFuZGFyZCBNYWluIENvbnRhaW5lciBEZWNsYXJhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtaGVhZGVyLFxuLmMtY29udGVudCxcbi5jLWZvb3Rlcixcbi5jLWNvbnRhaW5lcixcbi5jLWNvbnRhaW5lci1tZWRpdW0sXG4uYy1jb250YWluZXItd2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IGF1dG87XG59XG5cbi5jLWZvb3Rlcixcbi5jLWZvb3Rlci1tYWluIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyLW91dHNpZGUtd2lkdGggc29saWQgJGJnLWNvbnRlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogdmFyKC0tYm9yZGVyLW91dHNpZGUtd2lkdGgpO1xufVxuXG4uYy1jb250ZW50LFxuLmMtZm9vdGVyIHtcbiAgICBib3JkZXItbGVmdDogJGJvcmRlci1vdXRzaWRlLXdpZHRoIHNvbGlkICRiZy1jb250ZW50O1xuICAgIGJvcmRlci1yaWdodDogJGJvcmRlci1vdXRzaWRlLXdpZHRoIHNvbGlkICRiZy1jb250ZW50O1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiB2YXIoLS1ib3JkZXItb3V0c2lkZS13aWR0aCk7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiB2YXIoLS1ib3JkZXItb3V0c2lkZS13aWR0aCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcbn1cblxuLmMtaGVhZGVyLWlubmVye1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygkYm9yZGVyLW91dHNpZGUtd2lkdGggKyAkZ3JpZC1jb250YWluZXIpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoJGJvcmRlci1vdXRzaWRlLXdpZHRoICsgJGdyaWQtY29udGFpbmVyKTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tYm9yZGVyLW91dHNpZGUtd2lkdGgpICsgdmFyKC0tZ3JpZC1jb250YWluZXIpKTtcbiAgICBwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tYm9yZGVyLW91dHNpZGUtd2lkdGgpICsgdmFyKC0tZ3JpZC1jb250YWluZXIpKTtcbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGFuZGFyZCBQYWRkaW5nIGJldHdlZW4gQ29tcG9uZW50cyBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWNvbnRhaW5lcixcbi5jLWNvbnRhaW5lci1tZWRpdW0sXG4uYy1pbWctMmNvbCAuYy1jb2wtNixcbi5jLWltZy0zY29sIC5jLWNvbC00LFxuLmMtdGVhc2VyLTNjb2wgLmMtY29sLTQsXG4uYy1rZXlmYWN0cyAuYy1jb2wtMyxcbi5jLWdhbGxlcnkge1xuXHRwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sKTtcbn1cblxuLmMtc2hvd3Jvb20taG9tZSxcbi5jLW1hcC1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLWw7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sKTtcbn1cblxuLmMtbWFpbi10aXRsZSB7XG5cdG1hcmdpbi10b3A6ICRzcGFjaW5nLXRpdGxlLXRvcDtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLXRpdGxlLXRvcCk7XG59XG5cbi5jLWNvbnRhaW5lci1uby1wYWRkaW5nIHtcblx0cGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jLXNlY3Rpb24tdGl0bGUge1xuXHRwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuXG4uYy1zaG93cm9vbS10ZXh0LWlubmVyIHtcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctbDtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1sKTtcbn1cblxuLmMtdGV4dC1vbmx5LWxpbmUgLmMtY29sLTEyIHtcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctcztcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1zKTtcbn1cblxuLmMtdGVhc2VyLWJ0biAuYy1jb2wtNiB7XG5cdHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1sO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLWwpO1xufVxuXG4uYy1iYWNrICsgLmMtYW5jaG9ybmF2IHtcbiAgICBtYXJnaW4tdG9wOiAtJHNwYWNpbmctbDtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNpbmctbCkgKiAtMSk7XG4gICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLW07XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbSk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGFuZGFyZCBHcmlkIERlY2xhcmF0aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1jb250YWluZXIsXG4uYy1jb250YWluZXItbWVkaXVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWNvbnRhaW5lcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1jb250YWluZXI7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ncmlkLWNvbnRhaW5lcik7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xufVxuXG4uYy1yb3cge1xuICAgIG1hcmdpbi1yaWdodDogJGdyaWQtcm93O1xuICAgIG1hcmdpbi1sZWZ0OiAkZ3JpZC1yb3c7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1ncmlkLXJvdyk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLWdyaWQtcm93KTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgLXdlYmtpdC1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAtbXMtZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG5cbi5jLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LWxlZnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmMtcm93LWp1c3RpZnktY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmMtcm93LWp1c3RpZnktcmlnaHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmMtcm93LWFsaWduLXRvcCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5jLXJvdy1hbGlnbi1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jLXJvdy1hbGlnbi1ib3R0b20ge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLmMtY29sLTEsXG4uYy1jb2wtMixcbi5jLWNvbC0zLFxuLmMtY29sLTQsXG4uYy1jb2wtNSxcbi5jLWNvbC02LFxuLmMtY29sLTcsXG4uYy1jb2wtOCxcbi5jLWNvbC05LFxuLmMtY29sLTEwLFxuLmMtY29sLTExLFxuLmMtY29sLTEyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLWNvbDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWNvbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1ncmlkLWNvbCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ncmlkLWNvbCk7XG59XG5cbi5jLWNvbC0xMiB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuICAgIC1tcy1mbGV4OiAwIDAgMTAwJTtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7ICAgIFxufVxuXG4uYy1jb2wtMTEge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIC1tcy1mbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7XG59XG5cbi5jLWNvbC0xMCB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTtcbn1cblxuLmMtY29sLTkge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNzUlO1xuICAgIC1tcy1mbGV4OiAwIDAgNzUlO1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7XG59XG5cbi5jLWNvbC04IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclO1xufVxuXG4uYy1jb2wtNyB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTtcbn1cblxuLmMtY29sLTYge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuICAgIC1tcy1mbGV4OiAwIDAgNTAlO1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG59XG5cbi5jLWNvbC01IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclO1xufVxuXG4uYy1jb2wtNCB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTtcbn1cblxuLmMtY29sLTMge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMjUlO1xuICAgIC1tcy1mbGV4OiAwIDAgMjUlO1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG59XG5cbi5jLWNvbC0yIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclO1xufVxuXG4uYy1jb2wtMSB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICAtbXMtZmxleDogMCAwIDguMzMzMzMlO1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlO1xufVxuXG4vKiBvZmZzZXQgY29scyAqL1xuLmMtY29sLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzJTtcbn1cblxuLmMtY29sLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7XG59XG5cbi5jLWNvbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY3JTtcbn1cblxuLmMtY29sLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTtcbn1cblxuLmMtY29sLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjclO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY3JTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdyaWQgVmFyaWFudGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1hc3ltLXJpZ2h0LWVkZ2VsZXNzLFxuLmMtYXN5bS1sZWZ0LWVkZ2VsZXNzIHtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG59XG5cbi5jLWFzeW0tcmlnaHQtZWRnZWxlc3MgZmlndXJlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1jb250YWluZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWdyaWQtY29udGFpbmVyKSAqIC0xKTtcbn1cblxuLmMtYXN5bS1sZWZ0LWVkZ2VsZXNzIGZpZ3VyZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1jb250YWluZXI7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tZ3JpZC1jb250YWluZXIpICogLTEpO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5odG1sIHtcblx0Zm9udC1zaXplOiAxOHB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGl0bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbn1cblxuaDEsXG4uYy1oMSB7XG5cdHBhZGRpbmctYm90dG9tOiAuNjVlbTtcblx0bGluZS1oZWlnaHQ6IDEuMTtcblx0Zm9udC1zaXplOiAzcmVtOyAvKiA2MHB4ICovXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmMtY3RhIC5jLWgxIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG59XG5cbmgyLFxuLmMtaDIge1xuXHRwYWRkaW5nLWJvdHRvbTogLjc1ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjE7XG5cdGZvbnQtc2l6ZTogMi40cmVtOyAvKiA0OHB4ICovXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmcpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbmgzLFxuLmMtaDMsXG4uYy10ZXh0LWJpZyB7XG5cdGxpbmUtaGVpZ2h0OiAxLjE7XG5cdGZvbnQtc2l6ZTogMS42cmVtO1xuXHRwYWRkaW5nLWJvdHRvbTogMC41ZW07XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmcpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cblxuLmMtdGV4dC1ibG9jayAuYy10ZXh0LWJpZyB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNWVtO1xufVxuXG5oNCxcbi5jLWg0IHtcblx0bGluZS1oZWlnaHQ6IDEuNjtcblx0Zm9udC1zaXplOiAxcmVtO1xuXHRwYWRkaW5nLWJvdHRvbTogMC40NWVtO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNpYyBUZXh0IENvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5iLCBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uYy1jb250ZW50LFxuLmMtZm9vdGVyIHtcblx0bGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLmMtdGV4dC1ibG9jayBwIHtcblx0cGFkZGluZy1ib3R0b206IDEuNmVtO1xufVxuXG4uYy10ZWFzZXItdGV4dC1pbWcgLmMtdGV4dC1ibG9jayBwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41ZW07XG59XG5cbi5jLXRleHQtYmxvY2sgcCArIGgyLFxuLmMtdGV4dC1ibG9jayBwICsgaDMsXG4uYy10ZXh0LWJsb2NrIHAgKyBoNCxcbi5jLXRleHQtYmxvY2sgdWwgKyBwLFxuLmMtdGV4dC1ibG9jayB1bCArIGgyLFxuLmMtdGV4dC1ibG9jayB1bCArIGgzLFxuLmMtdGV4dC1ibG9jayB1bCArIGg0LFxuLmMtdGV4dC1ibG9jayB1bCArIG9sLFxuLmMtdGV4dC1ibG9jayBvbCArIHAsXG4uYy10ZXh0LWJsb2NrIG9sICsgaDIsXG4uYy10ZXh0LWJsb2NrIG9sICsgaDMsXG4uYy10ZXh0LWJsb2NrIG9sICsgaDQge1xuXHRwYWRkaW5nLXRvcDogMS42ZW07XG59XG5cbi5jLXRleHQtYmxvY2sgcDpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmMtbGVhZCB7XG5cdGZvbnQtc2l6ZTogMS4ycmVtO1xuXHRsaW5lLWhlaWdodDogMS4zMztcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uYy1zZWN0aW9uLXRpdGxlIC5jLWxlYWQge1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1tO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoc3BhY2luZy1tKTtcbn1cblxuXG4uYy1sZWdlbmQge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZy10b3A6ICRzcGFjaW5nLXhzO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLXhzKTtcbn1cblxuLmMtZGF0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLW1lZGl1bTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1tZWRpdW0pO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy14cztcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy14cyk7XG59XG5cbi5jLWZvb3RlciB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG59XG5cbi5jLXRleHQtc21hbGwsXG4uYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgY2l0ZSxcbi5jLWxlZ2VuZCxcbi5jLWhlYWRlcixcbi5jLWZvb3Rlci1uYXYtbGlzdCxcbi5jLWxpbmstYm9sZCxcbi5jLWJ0bixcbi5jLXRpdGxlLXNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuOHJlbTsgLyogMTZweCAqL1xufVxuLmMtdGl0bGUtc21hbGwge1xuICAgIGNvbG9yOiAjY2NjO1xufVxuXG4uYy1idG4tYmlnIHtcblx0Zm9udC1zaXplOiAyLjRyZW07XG59XG5cbi5jLWZvb3Rlci1kaXNjbGFpbWVyIHtcbiAgICBmb250LXNpemU6IDFyZW07XG59XG5cbi5jLWtleWZhY3QtdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1pbi1oZWlnaHQ6IDMuN2VtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVlbTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmMta2V5ZmFjdC10aXRsZSBzcGFue1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5jLWtleWZhY3QtbnVtYmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmMtZGlyZWN0aW9ucy1kaXN0YW5jZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jLWRpcmVjdGlvbnMtdGltZSB7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLW1lZGl1bTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1tZWRpdW0pO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzaWMgTGlzdHMgQ29udGVudCBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXRleHQtYmxvY2sgdWwsXG4uYy10ZXh0LWJsb2NrIG9sIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwIDAgMS42ZW0gMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmMtdGV4dC1ibG9jayB1bDpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmMtdGV4dC1ibG9jayB1bCBsaSxcbi5jLXRleHQtYmxvY2sgb2wgbGkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctbGVmdDogMzRweDtcbn1cblxuLmMtdGV4dC1ibG9jayB1bCBsaSArIGxpLFxuLmMtdGV4dC1ibG9jayBvbCBsaSArIGxpIHtcblx0bWFyZ2luLXRvcDogMC41ZW07XG59XG5cbi5jLXRleHQtYmxvY2sgdWwgbGk6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuNThlbTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiA2cHg7XG4gICAgaGVpZ2h0OiA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xufVxuXG4uYy10ZXh0LWJsb2NrIG9sIHtcblx0Y291bnRlci1yZXNldDogY3VzdG9tLWNvdW50ZXI7XG59XG5cbi5jLXRleHQtYmxvY2sgb2wgbGkge1xuXHRjb3VudGVyLWluY3JlbWVudDogY3VzdG9tLWNvdW50ZXI7XG59XG5cbi5jLXRleHQtYmxvY2sgb2wgbGk6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IGNvdW50ZXIoY3VzdG9tLWNvdW50ZXIpIFwiLiBcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdHdpZHRoOiAyNnB4O1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtbGluay1saXN0LWhvcml6b250YWwgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstbGlzdCBsaSxcbi5jLXRleHQtYmxvY2sgLmMtYW5jaG9ybmF2LWxpc3QgbGl7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstbGlzdC1ob3Jpem9udGFsIGxpOjpiZWZvcmUsXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstbGlzdCBsaTo6YmVmb3JlLFxuLmMtdGV4dC1ibG9jayAuYy10ZXh0LXVzcC1saXN0IGxpOjpiZWZvcmUsXG4uYy10ZXh0LWJsb2NrIC5jLWFuY2hvcm5hdi1saXN0IGxpOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cblxuLmMtc3BvbnNvcnMtcGFydG5lci1saXN0LFxuLmMtdGV4dC11c3AtbGlzdCxcbi5jLXRleHQtYmxvY2sgLmMtdGV4dC11c3AtbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ3JpZC1yb3c7XG4gICAgbWFyZ2luLWxlZnQ6ICRncmlkLXJvdztcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWdyaWQtcm93KTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tZ3JpZC1yb3cpO1xufVxuXG4uYy1zcG9uc29ycy1wYXJ0bmVyLWxpc3QgbGkge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG4gICAgcGFkZGluZzogMC44ZW0gJGdyaWQtY29sO1xuICAgIHBhZGRpbmc6IDAuOGVtIHZhcigtLWdyaWQtY29sKTtcbn1cblxuLmMtdGV4dC11c3AtbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ3JpZC1yb3c7XG4gICAgbWFyZ2luLWxlZnQ6ICRncmlkLXJvdztcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWdyaWQtcm93KTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tZ3JpZC1yb3cpO1xufVxuXG5cblxuLmMtdGV4dC11c3AtbGlzdCBsaSxcbi5jLXRleHQtYmxvY2sgLmMtdGV4dC11c3AtbGlzdCBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzJTtcbiAgICBtYXJnaW4tdG9wOiAwLjhlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjhlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoJGdyaWQtY29sICsgMzRweCk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYygkZ3JpZC1jb2wgKyAzNHB4KTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tZ3JpZC1jb2wpICsgMzRweCk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1ncmlkLWNvbCkgKyAzNHB4KTtcbn1cblxuLmMtdGV4dC11c3AtbGlzdCBsaTo6YmVmb3JlLFxuLmMtdGV4dC1ibG9jayAuYy10ZXh0LXVzcC1saXN0IGxpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC40NWVtO1xuICAgIGxlZnQ6ICRncmlkLWNvbDtcbiAgICBsZWZ0OiB2YXIoLS1ncmlkLWNvbCk7XG4gICAgd2lkdGg6IDExcHg7XG4gICAgaGVpZ2h0OiAxMXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDJweCAycHggMCAwO1xuICAgIGJvcmRlci1jb2xvcjogJHRleHQtY29sb3IgJHRleHQtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4uYy1hbmNob3JuYXYtbGlzdCxcbi5jLXRleHQtYmxvY2sgLmMtYW5jaG9ybmF2LWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygkc3BhY2luZy1tIC0gMC4zNWVtKTtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nLW0pIC0gMC4zNWVtKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmMtYW5jaG9ybmF2LWxpc3Q6OmJlZm9yZSB7XG4gICAgY29udGVudDonJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDI4MHB4O1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGV4dCBoZWxwZXJzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy10ZXh0LXJpZ2h0IHtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jLXRleHQtY2VudGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYy10ZXh0LWxpZ2h0IHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRleHQgc2l6ZXMgcmVzcG9uc2l2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjE1MDBweCkge1xuICAgIGh0bWwge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuXG4gICAgLmMtaGVhZGVyLFxuICAgIC5jLWZvb3Rlci1uYXYtbGlzdCxcbiAgICAuYy1saW5rLWJvbGQsXG4gICAgLmMtYnRuLFxuICAgIC5jLXRpdGxlLXNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgfVxuICAgIFxuICAgIC5jLWJ0bi1iaWcge1xuICAgICAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMzYwcHgpIHtcblx0aDEsIC5jLWgxLFxuXHRoMiwgLmMtaDIsXG5cdGgzLCAuYy1oMyxcbiAgICAuYy10ZXh0LWJpZyxcbiAgICAuYy1idG4tYmlnIHtcblx0XHRvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuXHRcdHdvcmQtd3JhcDogYnJlYWstd29yZDtcblx0XHQtbXMtd29yZC1icmVhazogYnJlYWstYWxsO1xuXHRcdHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcblx0XHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXHRcdC1tcy1oeXBoZW5zOiBhdXRvO1xuXHRcdC1tb3otaHlwaGVuczogYXV0bztcblx0XHQtd2Via2l0LWh5cGhlbnM6IGF1dG87XG5cdFx0aHlwaGVuczogYXV0bztcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTQwMHB4KSB7XG4gICAgaDEsIC5jLWgxIHtcblx0XHRmb250LXNpemU6IDIuNHJlbTtcblx0fVxuXG5cdGgyLCAuYy1oMixcbiAgICAuYy1idG4tYmlnIHtcblx0XHRmb250LXNpemU6IDEuOHJlbTtcblx0fVxuXG5cdGgzLCAuYy1oMyxcbiAgICAuYy10ZXh0LWJpZyB7XG5cdFx0Zm9udC1zaXplOiAxLjI1cmVtO1xuXHR9XG4gICAgXG4gICAgLmMta2V5ZmFjdC1udW1iZXIge1xuICAgICAgICBmb250LXNpemU6IDMuNHJlbTtcbiAgICB9XG4gICAgXG4gICAgLmMtb2ZmY2FudmFzLW5hdiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG4gICAgXG4gICAgLmMtb2ZmY2FudmFzLW5hdi1saXN0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCkge1xuXG5cdGh0bWwge1xuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0fVxuXG5cdGgxLCAuYy1oMSB7XG5cdFx0Zm9udC1zaXplOiAycmVtO1xuXHR9XG5cblx0aDIsIC5jLWgyLFxuICAgIC5jLWJ0bi1iaWcge1xuXHRcdGZvbnQtc2l6ZTogMS41cmVtO1xuXHR9XG5cblx0aDMsIC5jLWgzLFxuICAgIC5jLXRleHQtYmlnIHtcblx0XHRmb250LXNpemU6IDEuMTI1cmVtO1xuXHR9XG4gICAgXG4gICAgLmMta2V5ZmFjdC1udW1iZXIge1xuICAgICAgICBmb250LXNpemU6IDIuOHJlbTtcbiAgICB9XG4gICAgXG4gICAgLmMtb2ZmY2FudmFzLW5hdixcbiAgICAuYy1vZmZjYW52YXMtbmF2LWxpc3QsIFxuICAgIC5jLWxlYWQge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxuXG5cdC5jLXRleHQtc21hbGwsXG4gICAgLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIGNpdGUsXG4gICAgLmMtbGVnZW5kLFxuICAgIC5jLWhlYWRlcixcbiAgICAuYy1mb290ZXItbmF2LWxpc3QsXG4gICAgLmMtbGluay1ib2xkLFxuICAgIC5jLXRpdGxlLXNtYWxsIHtcblx0XHRmb250LXNpemU6IDAuODVyZW07XG5cdH1cbn1cblxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVhZGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtaGVhZGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG5cdHotaW5kZXg6IDEwO1xufVxuXG4uYy1oZWFkZXItaW5uZXIge1xuXHRoZWlnaHQ6ICRoZWFkZXItaGVpZ2h0O1xuICAgIGhlaWdodDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZmxvdzogcm93O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cblxuLmMtaGVhZGVyLWxvZ28ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDE2cHg7XG5cdHdpZHRoOiAzMDBweDtcbn1cblxuLmMtaGVhZGVyLWxvZ28gYSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgbWFpbiBuYXYgXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1tYWluLW5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYy1tYWluLW5hdiBhIHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbn1cblxuLmMtbWFpbi1uYXYtbGlzdCB7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmcpO1xufVxuXG4uYy1tYWluLW5hdi1saXN0IGxpICsgbGkge1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5jLW1haW4tbmF2LWxpc3QgYSxcbi5jLW1haW4tbmF2LWxpc3Qgc3BhbiB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1tYWluLW5hdi1saXN0IGEge1xuXHRwYWRkaW5nOiA2MHB4IDE2cHggMC41ZW0gMTZweDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGxpbmVhcjtcbn1cblxuLmMtbWFpbi1uYXYtbGlzdCBhOjpiZWZvcmUge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG59XG5cbi5jLW1haW4tbmF2LWxpc3QgYTpmb2N1czo6YmVmb3JlLFxuLmMtbWFpbi1uYXYtbGlzdCBhOmhvdmVyOjpiZWZvcmUsXG4uYy1tYWluLW5hdi1saXN0IC5jdXJyZW50X3BhZ2VfaXRlbSBhOjpiZWZvcmUge1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5jLW1haW4tbmF2LWxpc3QgYTpmb2N1cyxcbi5jLW1haW4tbmF2LWxpc3QgYTpob3Zlcixcbi5jLW1haW4tbmF2LWxpc3QgLmN1cnJlbnRfcGFnZV9pdGVtIGEge1xuXHRjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTGFuZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtaGVhZGVyLWlubmVyIC53cG1sLWxzLWxlZ2FjeS1saXN0LWhvcml6b250YWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXRvcDogY2FsYyg2MHB4IC0gMC41ZW0pO1xufVxuXG4uYy1oZWFkZXItaW5uZXIgLndwbWwtbHMtbGVnYWN5LWxpc3QtaG9yaXpvbnRhbCB1bCB7XG4gICAgbWFyZ2luOiAwIDAgMCAyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy1oZWFkZXItaW5uZXIgLndwbWwtbHMtbGVnYWN5LWxpc3QtaG9yaXpvbnRhbCBsaSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmMtaGVhZGVyLWlubmVyIC53cG1sLWxzLWxlZ2FjeS1saXN0LWhvcml6b250YWwgbGkgKyBsaSB7XG5cdHBhZGRpbmctbGVmdDogMWVtO1xufVxuXG4uYy1oZWFkZXItaW5uZXIgLndwbWwtbHMtbGVnYWN5LWxpc3QtaG9yaXpvbnRhbCBhIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogMC41ZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNWVtO1xufVxuXG4uYy1oZWFkZXItaW5uZXIgLndwbWwtbHMtbGVnYWN5LWxpc3QtaG9yaXpvbnRhbCBhOmZvY3VzLFxuLmMtaGVhZGVyLWlubmVyIC53cG1sLWxzLWxlZ2FjeS1saXN0LWhvcml6b250YWwgYTpob3Zlcixcbi5jLWhlYWRlci1pbm5lciAud3BtbC1scy1sZWdhY3ktbGlzdC1ob3Jpem9udGFsIC53cG1sLWxzLWN1cnJlbnQtbGFuZ3VhZ2UgYSB7XG5cdGNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9vdGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mb290ZXIge1xuXHRwYWRkaW5nLXRvcDogNDhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZGFyaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1kYXJrKTtcbn1cblxuLmMtZm9vdGVyLW1haW4ge1xuICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy1sO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1tO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLWwpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLW0pO1xufVxuXG4uYy1mb290ZXItZGlzY2xhaW1lciB7XG5cdHBhZGRpbmctdG9wOiAkc3BhY2luZy1zO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1zO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLXMpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXMpO1xufVxuXG4uYy1mb290ZXItZGlzY2xhaW1lci1saXN0LFxuLmMtZm9vdGVyLW5hdi1saXN0LFxuLmMtZm9vdGVyLXNvY2lhbC1saXN0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy1mb290ZXItbmF2LWxpc3Qge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nKTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmMtZm9vdGVyLW5hdi1saXN0IGxpIHtcblx0cGFkZGluZy1ib3R0b206IDAuNzVlbTtcbn1cblxuLmMtZm9vdGVyLWRpc2NsYWltZXItbGlzdCBsaSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmMtZm9vdGVyLWRpc2NsYWltZXItbGlzdCA+IGxpICsgbGkge1xuXHRwYWRkaW5nLWxlZnQ6IDFlbTtcbn1cblxuLmMtZm9vdGVyLXNvY2lhbC1saXN0IHtcblx0cGFkZGluZy10b3A6ICRzcGFjaW5nLXM7XG59XG5cbi5jLWZvb3RlciBhLFxuLmMtZm9vdGVyIGE6dmlzaXRlZCB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG59XG5cbi5jLWZvb3RlciBhOmhvdmVyLFxuLmMtZm9vdGVyIGE6Zm9jdXMge1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPZmZjYW52YXMgdHJpZ2dlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0b3A6IDIwcHg7XG5cdHJpZ2h0OiAkZ3JpZC1jb250YWluZXI7XG4gICAgcmlnaHQ6IHZhcigtLWdyaWQtY29udGFpbmVyKTtcblx0d2lkdGg6IDQwcHg7XG5cdGhlaWdodDogNDBweDtcblx0bWFyZ2luOiAwO1xuXHRjb2xvcjogdHJhbnNwYXJlbnQ7XG5cdHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3BlbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyOjpiZWZvcmUsXG4uYy1vZmZjYW52YXMtdHJpZ2dlcjo6YWZ0ZXIge1xuXHRjb250ZW50OicnO1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMDtcblx0dG9wOiA1MCU7XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW46OmJlZm9yZSxcbi5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW46OmFmdGVyIHtcblx0d2lkdGg6IDIwcHg7XG5cdHRyYW5zaXRpb246IHdpZHRoIC4ycyBlYXNlLWluLW91dDtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3Blbjo6YmVmb3JlIHtcblx0aGVpZ2h0OiAxNHB4O1xuXHRtYXJnaW4tdG9wOiAtN3B4O1xuXHRib3JkZXItdG9wOiAycHggc29saWQgJHRleHQtY29sb3I7XG5cdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkdGV4dC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuOjphZnRlciB7XG5cdGhlaWdodDogMnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcblx0bWFyZ2luLXRvcDogLTFweDtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3Blbjpmb2N1czo6YmVmb3JlLFxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3Blbjpob3Zlcjo6YmVmb3JlIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuOmZvY3VzOjphZnRlcixcbi5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW46aG92ZXI6OmFmdGVyIHtcblx0d2lkdGg6IDE1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1jbG9zZTo6YmVmb3JlLFxuLmMtb2ZmY2FudmFzLXRyaWdnZXItY2xvc2U6OmFmdGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIC41cztcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItY2xvc2U6OmJlZm9yZSB7XG5cdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyLWNsb3NlOjphZnRlciB7XG5cdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9mZmNhbnZhcyBuYXYgbWFpbiBjb250YWluZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLW9mZmNhbnZhcy1uYXYge1xuXHQvKmRpc3BsYXk6IG5vbmU7Ki9cblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1kYXJrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG5cdHotaW5kZXg6IDEwO1xuXHR3aWR0aDogMDtcblx0aGVpZ2h0OiAwO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHR0cmFuc2l0aW9uOiBoZWlnaHQgLjJzIGVhc2Utb3V0IDBzO1xufVxuXG4jb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KSAuYy1vZmZjYW52YXMtbmF2IHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jLW9mZmNhbnZhcy1pbm5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG5cdG1pbi1oZWlnaHQ6IDEwMHZoO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2ZmY2FudmFzIENvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1vZmZjYW52YXMtY29udGVudCB7XG5cdHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1sO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXNwYWNpbmctbCkgKiAyKTtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nKTtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IGxpICsgbGkge1xuXHRwYWRkaW5nLXRvcDogMTZweDtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IGEge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogMWVtIDI0cHg7XG4gICAgd2lkdGg6IDUwJTsgICAgXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IHNwYW4ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IGE6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cmlnaHQ6IDA7XG5cdGJvdHRvbTogMDtcblx0d2lkdGg6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG59XG5cbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCBhOmZvY3VzOjpiZWZvcmUsXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgYTpob3Zlcjo6YmVmb3JlLFxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IC5jdXJyZW50X3BhZ2VfaXRlbSBhOjpiZWZvcmV7XG5cdHdpZHRoOiBjYWxjKDEwMCUgKyAkZ3JpZC1jb250YWluZXIpO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyB2YXIoLS1ncmlkLWNvbnRhaW5lcikpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTGFuZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtb2ZmY2FudmFzLWNvbnRlbnQgLndwbWwtbHMtbGVnYWN5LWxpc3QtaG9yaXpvbnRhbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1sO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLWwpO1xufVxuXG4uYy1vZmZjYW52YXMtY29udGVudCAud3BtbC1scy1sZWdhY3ktbGlzdC1ob3Jpem9udGFsIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy1vZmZjYW52YXMtY29udGVudCAud3BtbC1scy1sZWdhY3ktbGlzdC1ob3Jpem9udGFsIGxpIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYy1vZmZjYW52YXMtY29udGVudCAud3BtbC1scy1sZWdhY3ktbGlzdC1ob3Jpem9udGFsIGxpICsgbGkge1xuXHRwYWRkaW5nLWxlZnQ6IDFlbTtcbn1cblxuLmMtb2ZmY2FudmFzLWNvbnRlbnQgLndwbWwtbHMtbGVnYWN5LWxpc3QtaG9yaXpvbnRhbCBhIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogMC41ZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNWVtO1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG59XG5cbi5jLW9mZmNhbnZhcy1jb250ZW50IC53cG1sLWxzLWxlZ2FjeS1saXN0LWhvcml6b250YWwgYTpmb2N1cyxcbi5jLW9mZmNhbnZhcy1jb250ZW50IC53cG1sLWxzLWxlZ2FjeS1saXN0LWhvcml6b250YWwgYTpob3Zlcixcbi5jLW9mZmNhbnZhcy1jb250ZW50IC53cG1sLWxzLWxlZ2FjeS1saXN0LWhvcml6b250YWwgLndwbWwtbHMtY3VycmVudC1sYW5ndWFnZSBhIHtcblx0Y29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodClcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9mZmNhbnZhcyBuYXYgb3BlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQge1xuXHQuYy1vZmZjYW52YXMtbmF2IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMHZoO1xuXHRcdG92ZXJmbG93LXk6IGF1dG87XG5cdH1cblx0XG5cdC5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW4ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn0iLCJcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRGVjb1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZGVjbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xufVxuXG4uYy1kZWNvLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCguLi8uLi9pbWFnZXMvZGVrby13aGl0ZS5zdmcpOyBcbn1cblxuLmMtZGVjby1kYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCguLi8uLi9pbWFnZXMvZGVrby1ibGFjay5zdmcpOyBcbn1cblxuLmMtZGVjby10aXRsZXtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCguLi8uLi9pbWFnZXMvZGVrby10aXRsZS5zdmcpOyBcbn1cblxuLmMtZGVjby1mb290ZXIge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNDhweDtcbn1cblxuLmMtZGVjby10aXRsZSB7XG4gICAgdG9wOiAtNjRweDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTEycHg7XG59XG5cbi5jLW1haW4tdGl0bGUgLmMtZGVjby10aXRsZSB7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uLy4uL2ltYWdlcy9kZWtvLWJsYWNrLnN2Zyk7IFxufVxuXG4uYy10ZXh0LWltZyAuYy1kZWNvLWltZyB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogMTZweDtcbn1cblxuLmMtYXN5bS1sZWZ0LWVkZ2VsZXNzIC5jLWRlY28taW1nIHtcbiAgICByaWdodDogJGdyaWQtY29sO1xuICAgIHJpZ2h0OiB2YXIoLS1ncmlkLWNvbCk7XG59XG5cbi5jLWFzeW0tcmlnaHQtZWRnZWxlc3MgLmMtZGVjby1pbWcge1xuICAgIGxlZnQ6ICRncmlkLWNvbDtcbiAgICBsZWZ0OiB2YXIoLS1ncmlkLWNvbCk7XG59XG5cbi5jLXRleHQtaW1nIC5jLWRlY28tdGV4dCB7XG4gICAgdG9wOiAwOyAgXG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uYy1hc3ltLWxlZnQtZWRnZWxlc3MgLmMtZGVjby10ZXh0IHtcbiAgICBsZWZ0OiAtJGdyaWQtY29sO1xuICAgIGxlZnQ6IGNhbGModmFyKC0tZ3JpZC1jb2wpICogLTEpO1xufVxuXG4uYy1hc3ltLXJpZ2h0LWVkZ2VsZXNzIC5jLWRlY28tdGV4dCB7XG4gICAgbGVmdDogJGdyaWQtY29sO1xuICAgIGxlZnQ6IHZhcigtLWdyaWQtY29sKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCB0b3A7XG59XG5cbi5jLWRlY28tdGV4dC1saW5lIHtcbiAgICAtLXdpZHRoQm9yZGVyOiBjYWxjKHZhcigtLWdyaWQtY29udGFpbmVyKSAqIDIpO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGxlZnQ6IHZhcigtLWdyaWQtY29udGFpbmVyKTtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLXdpZHRoQm9yZGVyKSk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtMTZweDtcbn1cblxuLmMtZGVjby1zZXBhcmF0b3Ige1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogLTE2cHg7XG59XG5cbi5jLWRlY28tY3RhLWxlZnQsXG4uYy1kZWNvLWN0YS1yaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxNzZweDtcbiAgICBoZWlnaHQ6IDEwMCVcbn1cblxuLmMtZGVjby1jdGEtbGVmdCB7XG4gICAgbGVmdDogMDtcbn1cblxuLmMtZGVjby1jdGEtcmlnaHQge1xuICAgIHJpZ2h0OiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2hvd3Jvb20gLyBNYWluIHRpdGxlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi5jLXNob3dyb29tLWhvbWUsXG4uYy1tYWluLXRpdGxlLWltZyB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cblxuLmMtc2hvd3Jvb20taW1nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiBjYWxjKDg1dmggLSB2YXIoLS1oZWFkZXItaGVpZ2h0KSk7IFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgei1pbmRleDogYXV0bztcbn1cblxuLmMtbWFpbi10aXRsZS1pbWcgLmMtc2hvd3Jvb20taW1nIHtcbiAgICBoZWlnaHQ6IGNhbGMoNjZ2aCAtIHZhcigtLWhlYWRlci1oZWlnaHQpKTsgXG59XG5cbi5jLXNob3dyb29tLWltZyBpbWcge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLmMtc2hvd3Jvb20taG9tZSAuYy1ib3gge1xuICAgIG1hcmdpbi10b3A6IC0xMHJlbTtcbn1cblxuLmMtbWFpbi10aXRsZS1pbWcgLmMtYm94IHtcbiAgICBtYXJnaW4tdG9wOiAtNy4ycmVtO1xufVxuXG4uYy1tYWluLXRpdGxlIC5jLWJveCB7XG4gICAgbWFyZ2luLXRvcDogLTMuNnJlbTtcbn1cblxuLmMtYm94IHtcbiAgICBwYWRkaW5nOiAxLjVlbSAkZ3JpZC1jb250YWluZXIgMCAkZ3JpZC1jb250YWluZXI7XG4gICAgcGFkZGluZzogMS41ZW0gdmFyKC0tZ3JpZC1jb250YWluZXIpIDAgIHZhcigtLWdyaWQtY29udGFpbmVyKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgaW1nIHRleHQgLyBuZXdzIHRleHQgb25seSBsaW5lXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtdGV4dC1pbWctaW5uZXIsXG4uYy10ZXh0LW9ubHktbGluZSB7XG4gICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLWw7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbCk7XG59XG5cbi5jLXRleHQtaW1nLW5vLWxpbmUgLmMtZGVjbyB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmMtdGV4dC1pbWctbm8tbGluZSAuYy10ZXh0LWltZy1pbm5lciB7XG4gICAgcGFkZGluZy10b3A6IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICB0ZWFzZXIgMyBjb2xcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy10ZWFzZXItM2NvbCBmaWd1cmUgKyBoMyB7XG4gICAgbWFyZ2luLXRvcDogJHNwYWNpbmctcztcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLXMpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgY3RhXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtY3RhLWJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtaW4taGVpZ2h0OiA0MDBweDtcbn1cblxuLmMtY3RhLWJveC1pbm5lciB7XG4gICAgcGFkZGluZzogJHNwYWNpbmctcyAyMDBweDtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLXMpIDIwMHB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgdGVhc2VyIGJ0blxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXRlYXNlci1idG4gLmMtY29sLTYsXG4uYy10ZWFzZXItYnRuIC5jLWJ0bi1iaWd7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbn1cblxuLmMtdGVhc2VyLWJ0biAuYy1idG4tYmlnLFxuLmMtdGVhc2VyLWJ0biAuYy1idG4tYmlnIHNwYW4ge1xuICAgIGZsZXgtZ3JvdzogMTtcbn1cblxuLmMtdGVhc2VyLWJ0biAuYy1idG4tYmlnIHNwYW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmMtdGVhc2VyLWJ0biAuYy1idG4tYmlnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWJvcmRlci1idG4tYmlnKTtcbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIGxvZ293YWxsIC8gU3Buc29yc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4uYy1sb2dvd2FsbC1saXN0LFxuLmMtc3BvbnNvcnMtbGlzdCB7XG5cdGRpc3BsYXk6ZmxleDtcblx0ZmxleC1mbG93OiByb3cgd3JhcDtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1yaWdodDogJGdyaWQtcm93O1xuICAgIG1hcmdpbi1sZWZ0OiAkZ3JpZC1yb3c7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1ncmlkLXJvdyk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLWdyaWQtcm93KTtcbn1cblxuLmMtbG9nb3dhbGwtbGlzdCBsaSxcbi5jLXNwb25zb3JzLWxpc3QgbGkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctcmlnaHQ6ICRncmlkLWNvbDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWNvbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1ncmlkLWNvbCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ncmlkLWNvbCk7XG4gICAgbWFyZ2luLXRvcDogMC44ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC44ZW07XG59XG5cblxuLmMtbG9nb3dhbGwtZ29sZC1saXN0IGxpIHtcblx0LXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTtcbn1cblxuLmMtbG9nb3dhbGwtc2lsdmVyLWxpc3QgbGkge1xuXHQtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDI1JTtcbiAgICAtbXMtZmxleDogMCAwIDI1JTtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogIDI1JTtcbn1cblxuLmMtbG9nb3dhbGwtYnJvbnplLWxpc3QgbGkge1xuXHQtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclO1xufVxuXG5cbi5jLXNwb25zb3JzLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uYy1sb2dvd2FsbC1sb2dvIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHQvKmZsZXgtZ3JvdzogMTsqL1xuXHRmbGV4OiAxIDAgYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jLWxvZ293YWxsLWxvZ286OmJlZm9yZSB7XG4gXHRjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogNzUlO1xuXHRmbG9hdDpsZWZ0O1xufVxuXG4uYy1zcG9uc29ycy1jb250YWluZXIgLmMtbG9nb3dhbGwtbG9nbzo6YmVmb3Jle1xuICAgIHBhZGRpbmctdG9wOiAxMDAlO1xufVxuXG4uYy1sb2dvd2FsbC1sb2dvIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA4MCU7XG4gICAgaGVpZ2h0OiA4MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbi5jLXNwb25zb3JzLWxpc3QgLmMtbG9nb3dhbGwtbG9nbyBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBrZXlmYWN0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWtleWZhY3QtaWNvbiB7XG4gICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICBtYXJnaW46IDAgYXV0byAwLjVlbSBhdXRvO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIG1hcFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtbWFwLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1jb2xvci1tZWRpdW0pO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLW1hcCB7XG5cdGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXHRoZWlnaHQ6IDYwMHB4O1xufVxuXG4uYy1kaXJlY3Rpb25zLXBhbmVsIHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMDtcblx0dG9wOiA1MCU7XG5cdHdpZHRoOiA0NTBweDtcblx0cGFkZGluZzogJGdyaWQtY29udGFpbmVyO1xuICAgIHBhZGRpbmc6IHZhcigtLWdyaWQtY29udGFpbmVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG5cdHotaW5kZXg6IDE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gICAgJi5oaWRkZW57XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTQ1MHB4O1xuICAgIH1cblx0XG59XG5cbi5jLWRpcmVjdGlvbnMtaW5mbyB7XG5cdHBhZGRpbmctYm90dG9tOiAxZW07XG5cdG1pbi1oZWlnaHQ6IDZlbTtcbn1cblxuLmMtZGlyZWN0aW9uLWxpc3Qge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jLWRpcmVjdGlvbi1saXN0IGxpIHtcblx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gZ2FsbGVyeSBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWdhbGxlcnkge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgzLCAyMHZ3KTtcbiAgZ3JpZC1nYXA6ICRib3JkZXItb3V0c2lkZS13aWR0aDtcbiAgICBncmlkLWdhcDogdmFyKC0tYm9yZGVyLW91dHNpZGUtd2lkdGgpO1xufVxuXG4uYy1nYWxsZXJ5LWl0ZW0gaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5jLWdhbGxlcnkgLmMtZ2FsbGVyeS1pdGVtLTEge1xuICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMTtcbiAgZ3JpZC1yb3c6IDEgLyBzcGFuIDM7XG59XG5cbi5jLWdhbGxlcnkgLmMtZ2FsbGVyeS1pdGVtLTQge1xuICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMjtcbiAgZ3JpZC1yb3c6IDIgLyBzcGFuIDI7XG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBDb29raWUgbm90aWNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1jb29raWUtbm90aWNle1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuXHRyaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDQwMHB4O1xuICAgIHBhZGRpbmc6IDEuNXJlbSAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cdGJvcmRlcjogc29saWQgMnB4ICR0ZXh0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG5cdGJvcmRlci1yaWdodDogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIHotaW5kZXg6IDEwO1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLWNvb2tpZS1ub3RpY2UtbGlzdCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtY29va2llLW5vdGljZS1saXN0IGxpOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLWNvb2tpZS1ub3RpY2UtbGlzdCBsaSB7XG4gICAgLypkaXNwbGF5OiBibG9jazsqL1xuICAgIHBhZGRpbmc6IDAuNWVtIDAuNWVtIDAgMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KSB7ICAgIFxuXHQuYy1jb29raWUtbm90aWNlIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRib3R0b206IDA7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGJvcmRlci10b3A6IHNvbGlkIDJweCAkdGV4dC1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcblx0fVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaW5rIGNvbG9ycyBhbmQgc3R5bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5hW2hyZWZePVwidGVsOlwiXSB7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmMtbGluay1ib2xkW2hyZWZePVwidGVsOlwiXXtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yLWxpbms7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGluayk7XG59XG5cbi5jLXRleHQtYmxvY2sgYSxcbi5jLXRleHQtYmxvY2sgLmMtbGluay1pY29uIHNwYW4ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCR0ZXh0LWNvbG9yLWxpbmsgMCUsJHRleHQtY29sb3ItbGluayAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLHZhcigtLXRleHQtY29sb3ItbGluaykgMCUsdmFyKC0tdGV4dC1jb2xvci1saW5rKSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMnB4IDJweDtcbiAgXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4xcztcbn1cblxuLmMtdGV4dC1ibG9jayBhOmZvY3VzLFxuLmMtdGV4dC1ibG9jayBhOmhvdmVyLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWljb24gc3Bhbjpmb2N1cyxcbi5jLXRleHQtYmxvY2sgLmMtbGluay1pY29uIHNwYW46aG92ZXIge1xuXHRiYWNrZ3JvdW5kLXNpemU6IDRweCA0cHg7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtYnRuLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWljb24ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQnV0dG9uIFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZyk7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4uYy1idG4gc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiAwLjc1ZW0gMjBweDtcblx0Ym9yZGVyOiBzb2xpZCAycHggJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNHB4LCAtNHB4LCAwcHgpO1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG59XG5cbi5jLWJ0bixcbi5jLWJ0bjp2aXNpdGVkLFxuLmMtYnRuOmhvdmVyLCBcbi5jLWJ0bjpmb2N1c3tcbiAgICBjb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmMtYnRuOmhvdmVyIHNwYW4sIFxuLmMtYnRuOmZvY3VzIHNwYW4ge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xufVxuXG4uYy1idG4tYmlnIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkodmFyKC0tYm9yZGVyLWJ0bi1iaWcpKTtcbn1cblxuLmMtYnRuLWJpZyBzcGFuIHtcbiAgICBwYWRkaW5nOiAxLjFlbSAkZ3JpZC1jb250YWluZXI7XG4gICAgcGFkZGluZzogMS4xZW0gdmFyKC0tZ3JpZC1jb250YWluZXIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QodmFyKC0tYm9yZGVyLWJ0bi1iaWcpLCB2YXIoLS1ib3JkZXItYnRuLWJpZy1uZWdhdGl2ZSksIDBweCk7XG59XG5cbi5jLWJ0bi1zbWFsbCBzcGFuIHtcbiAgICBwYWRkaW5nOiAwLjVlbSAxNnB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5jLWNvb2tpZS1ub3RpY2UgLmMtYnRuLXNtYWxsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuXG5cbi5jLWJ0bi1kaXJlY3Rpb25zLWNsb3NlLFxuLmMtYnRuLWRpcmVjdGlvbnMtb3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAtNTBweDtcblx0d2lkdGg6IDUwcHg7XG5cdGhlaWdodDogNTBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLW91dDtcbn1cblxuLmMtYnRuLWRpcmVjdGlvbnMtY2xvc2U6OmJlZm9yZSxcbi5jLWJ0bi1kaXJlY3Rpb25zLW9wZW46OmJlZm9yZSB7XG5cdGNvbnRlbnQ6Jyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTE2cHg7XG4gICAgbWFyZ2luLXRvcDogLTExcHg7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDJweCAycHggMCAwO1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodCAkY29sb3ItaGlnaGxpZ2h0IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KSB2YXIoLS1jb2xvci1oaWdobGlnaHQpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuXG4uYy1idG4tZGlyZWN0aW9ucy1vcGVuOjpiZWZvcmUge1xuICAgIG1hcmdpbi1sZWZ0OiAtNnB4O1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpO1xufVxuXG4uYy1idG4tZGlyZWN0aW9ucy1vcGVuIHtcblx0ZGlzcGxheTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgXG59XG5cbi5jLWJ0bi1kaXJlY3Rpb25zLWNsb3NlOmZvY3VzLFxuLmMtYnRuLWRpcmVjdGlvbnMtY2xvc2U6aG92ZXIsXG4uYy1idG4tZGlyZWN0aW9ucy1vcGVuOmZvY3VzLFxuLmMtYnRuLWRpcmVjdGlvbnMtb3Blbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1idG4tZGlyZWN0aW9ucy1jbG9zZTpmb2N1czo6YmVmb3JlLFxuLmMtYnRuLWRpcmVjdGlvbnMtY2xvc2U6aG92ZXI6OmJlZm9yZSxcbi5jLWJ0bi1kaXJlY3Rpb25zLW9wZW46OmJlZm9yZSxcbi5jLWJ0bi1kaXJlY3Rpb25zLW9wZW46Zm9jdXM6OmJlZm9yZSxcbi5jLWJ0bi1kaXJlY3Rpb25zLW9wZW46aG92ZXI6OmJlZm9yZSB7XG5cdGJvcmRlci1jb2xvcjogJHRleHQtY29sb3ItbGlnaHQgJHRleHQtY29sb3ItbGlnaHQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KSB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIGxpbmtzIHdpdGggaWNvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWljb24ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLWljb246OmJlZm9yZSxcbi5jLWljb246OmFmdGVyIHtcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRiYWNrZ3JvdW5kLWltYWdlOnVybCguLi8uLi9pbWFnZXMvc3ByaXRlLnN2Zyk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi5jLWxpbmstYm9sZCB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmcpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5jLWxpbmstaWNvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luLWxlZnQ6IDM0cHg7XG59XG5cbi5jLWxpbmstYmFjayB7XG5cdG1hcmdpbi1sZWZ0OiAyMHB4O1xufVxuXG4uYy1saW5rLWFycm93OjpiZWZvcmUsXG4uYy1saW5rLWJhY2s6OmJlZm9yZSB7XG5cdHRvcDogMC4zNWVtO1xuXHRsZWZ0OiAtMjBweDtcblx0d2lkdGg6IDI4cHg7XG5cdGhlaWdodDogMTZweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuXHR0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xufVxuXG5cbi5jLWxpbmstYmFjazo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTIwcHg7XG59XG5cbi5jLWxpbmstZG93bmxvYWQ6OmJlZm9yZSB7XG5cdHRvcDogMC4zZW07XG5cdGxlZnQ6IC0zNHB4O1xuXHR3aWR0aDogMjFweDtcblx0aGVpZ2h0OiAyMXB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00MHB4O1xufVxuXG4uYy1saW5rLWV4dGVybjo6YmVmb3JlIHtcblx0dG9wOiAwLjI3ZW07XG5cdGxlZnQ6IC0zNHB4O1xuXHR3aWR0aDogMjFweDtcblx0aGVpZ2h0OiAyMXB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC04MHB4O1xufVxuXG4uYy1pY29uLXNvY2lhbC1mYiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA1MnB4O1xuICAgIGhlaWdodDogNTJweDtcbn1cblxuLmMtaWNvbi1zb2NpYWwtZmI6OmJlZm9yZSB7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDUycHg7XG5cdGhlaWdodDogNTJweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTQwcHg7XG59XG5cbi5jLWJ0bi1zZWFyY2gge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0bWFyZ2luLXRvcDogLTI1cHg7XG5cdHJpZ2h0OiAwO1xuXHR3aWR0aDogNTJweDtcblx0aGVpZ2h0OiA1MHB4O1xuXHRib3JkZXI6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbn1cblxuLmMtYnRuLXNlYXJjaDo6YmVmb3JlIHtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDUwJTtcblx0bWFyZ2luLXRvcDogLTE2cHg7XG5cdG1hcmdpbi1sZWZ0OiAtMTZweDtcblx0d2lkdGg6IDMycHg7XG5cdGhlaWdodDogMzJweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjIwcHg7XG59XG5cbi5jLWJ0bi1zZWFyY2g6Zm9jdXM6OmJlZm9yZSxcbi5jLWJ0bi1zZWFyY2g6aG92ZXI6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4IC0yMjBweDtcbn1cblxuLmMtYnRuLXNlYXJjaDpmb2N1cyxcbi5jLWJ0bi1zZWFyY2g6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIHJlc3BvbnNpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxNTAwcHgpIHsgICBcblx0LmMtbGluay1hcnJvdzo6YmVmb3JlLFxuICAgIC5jLWxpbmstYmFjazo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwLjRlbTtcbiAgICB9XG5cbiAgICAuYy1saW5rLWRvd25sb2FkOjpiZWZvcmUge1xuICAgICAgICB0b3A6IDAuNGVtO1xuICAgIH1cblxuICAgIC5jLWxpbmstZXh0ZXJuOjpiZWZvcmUge1xuICAgICAgICB0b3A6IDAuM2VtO1xuICAgIH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUmF0aW8gQm94XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1yYXRpb2JveCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0aGVpZ2h0OiAwO1xuXHRkaXNwbGF5OiBibG9jaztcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmMtcmF0aW9ib3ggPiBpbWcsXG4uYy1yYXRpb2JveCA+IGlmcmFtZSxcbi5jLXJhdGlvYm94ID4gb2JqZWN0IHtcblx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcbn1cblxuLmMtcmF0aW9ib3ggPiBpbWcge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiBhdXRvO1x0XG59XG5cbi5jLXJhdGlvYm94ID4gaWZyYW1lLFxuLmMtcmF0aW9ib3ggPiBvYmplY3Qge1xuXHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbn1cblxuLmMtcmF0aW9ib3gtMTZieTkge1xuXHRwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xufVxuXG4uYy1yYXRpb2JveC00YnkzIHtcblx0cGFkZGluZy1ib3R0b206IDc1JTtcbn1cblxuLmMtcmF0aW9ib3gtMWJ5MSB7XG5cdHBhZGRpbmctYm90dG9tOiAxMDAlO1xufVxuXG4uYy1yYXRpb2JveC1zaG93cm9vbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDM4LjY5MDQ3NjE5MDQ3NjE5JTtcbn1cblxuLmMtcmF0aW9ib3gtc2hvd3Jvb20gaW1nLFxuLmMtcmF0aW9ib3gtMWJ5MSBpbWcge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvYmplY3QtZml0OiBjb3Zlcjtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIHNhZmFyaSBmb3JtIGZpeCAqL1xuaW5wdXQsXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbnRleHRhcmVhIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xuXHQtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIHJlbW92ZSBjaHJvbWUgYXV0b2ZpbGwgeWVsbG93IGNvbG9yICovXG5pbnB1dDotd2Via2l0LWF1dG9maWxsLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG5cdC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMjAwMHM7XG59XG5cbi5jLWZvcm0taXRlbSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1zO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXMpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgZm9ybWZpZWxkc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidXJsXCJdLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbi5jLWZvcm0tc3RhbmRhcmQgdGV4dGFyZWEge1xuXHR3aWR0aDogMTAwJTtcblx0Ym9yZGVyOiBzb2xpZCAycHggJGJvcmRlci1mb3JtO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWZvcm0pO1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuXHRwYWRkaW5nOiAwLjc1ZW0gMTBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImRhdGVcIl06Zm9jdXMsXG4uYy1mb3JtLXN0YW5kYXJkIHRleHRhcmVhOmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiAkYm9yZGVyLWZvcm0tZm9jdXM7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZm9ybS1mb2N1cyk7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEZvcm0gZGlyZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9ybS1kaXJlY3Rpb25zIC5jLWZvcm0taXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXM7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zKTtcbn1cblxuLmMtZm9ybS1kaXJlY3Rpb25zIC5jLWZvcm0tdGV4dCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDY0cHgpO1xuICAgIHdpZHRoOiAxMDAlO1xuXHRib3JkZXI6IHNvbGlkIDJweCAkYm9yZGVyLWZvcm07XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZm9ybSk7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG5cdHBhZGRpbmc6IDAuNGVtIDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcbn1cblxuLmMtZm9ybS1kaXJlY3Rpb25zIC5jLWZvcm0tdGV4dDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWZvcm0tZm9jdXM7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZm9ybS1mb2N1cyk7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi5jLWRpcmVjdGlvbi1saXN0IGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkLFxuLmMtZGlyZWN0aW9uLWxpc3QgaW5wdXRbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtOTk5OXB4O1xufVxuXG4uYy10cmF2ZWwtaWNvbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDc2cHg7XG5cdGhlaWdodDogNzZweDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG59XG5cbi5jLXRyYXZlbC1pY29uOjpiZWZvcmUge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0yNXB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uLy4uL2ltYWdlcy9zcHJpdGUtZGlyZWN0aW9ucy5zdmcpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyAgICBcbn1cblxuLmMtdHJhdmVsLXdhbGs6OmJlZm9yZSB7XG5cdG1hcmdpbi10b3A6IC0xNXB4O1xuXHRoZWlnaHQ6IDMxcHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbn1cblxuLmMtdHJhdmVsLWJpa2U6OmJlZm9yZSB7XG5cdG1hcmdpbi10b3A6IC0xNHB4O1xuXHRoZWlnaHQ6IDI5cHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTYwcHg7XG59XG5cbi5jLXRyYXZlbC1jYXI6OmJlZm9yZSB7XG5cdG1hcmdpbi10b3A6IC0xNHB4O1xuXHRoZWlnaHQ6IDI5cHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyMHB4O1xufVxuXG4uYy10cmF2ZWwtdHJhbnNpdDo6YmVmb3JlIHtcblx0bWFyZ2luLXRvcDogLTI0cHg7XG5cdGhlaWdodDogNDhweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTgwcHg7XG59XG5cblxuLmMtZGlyZWN0aW9uLWxpc3QgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQrLmMtdHJhdmVsLWljb24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5jLWRpcmVjdGlvbi1saXN0IGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkKy5jLXRyYXZlbC13YWxrOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggMDtcbn1cblxuLmMtZGlyZWN0aW9uLWxpc3QgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQrLmMtdHJhdmVsLWJpa2U6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtNjBweDtcbn1cblxuLmMtZGlyZWN0aW9uLWxpc3QgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQrLmMtdHJhdmVsLWNhcjo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC0xMjBweDtcbn1cblxuLmMtZGlyZWN0aW9uLWxpc3QgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQrLmMtdHJhdmVsLXRyYW5zaXQ6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtMTgwcHg7XG59XG5cblxuLmMtZm9ybS1kaXJlY3Rpb25zIC5jLWZvcm0tdGV4dCB7XG5cdHdpZHRoOiBjYWxjKDEwMCUgLSA1MHB4KTtcbn1cblxuLmMtZm9ybS1kaXJlY3Rpb25zIC5jLWZvcm0taXRlbSB7XG5cdHBhZGRpbmctYm90dG9tOiAwO1xuXHRtYXJnaW4tYm90dG9tOiAxLjVlbTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBWaWV3cG9ydFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQC1tcy12aWV3cG9ydCB7XG5cdHdpZHRoOiBkZXZpY2Utd2lkdGg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNZWRpYXF1ZXJpZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxNDAxcHgpIHsgIFxuICAgIC5jLXNob3dyb29tLWhvbWUgLmMtYm94IHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTExcmVtO1xuICAgIH1cbiAgICBcbiAgICAuYy1tYWluLXRpdGxlLWltZyAuYy1ib3gge1xuICAgICAgICBtYXJnaW4tdG9wOiAtNy44cmVtO1xuICAgIH1cbiAgICBcblx0LmMtbWFpbi10aXRsZSAuYy1ib3gge1xuICAgICAgICBtYXJnaW4tdG9wOiAtNC4ycmVtO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEzMzBweCkge1xuXHQvKiBjb250YWluZXIgbWF4IHdpZHRoICovXG5cdC5jLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTMyMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgIFxuICAgIC5jLWFzeW0tcmlnaHQtZWRnZWxlc3MsXG4gICAgLmMtYXN5bS1sZWZ0LWVkZ2VsZXNzIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICB3aWR0aDogY2FsYyg2NjBweCArIDUwJSk7XG4gICAgfVxuICAgIFxuICAgIC5jLWFzeW0tcmlnaHQtZWRnZWxlc3Mge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICAgIFxuICAgIC5jLWFzeW0tbGVmdC1lZGdlbGVzcyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICBcbiAgICAuYy10ZXh0LWltZyAuYy1hc3ltLWNvbC1ncmlkIHtcbiAgICAgICAgZmxleDogMCAwIDY0MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDY0MHB4OyAvKiAxLzIgY29udGVudCB3aWR0aCAtIDEvMiBwYWRkaW5nICgyMHB4KSAqL1xuICAgIH1cbiAgICBcbiAgICAuYy10ZXh0LWltZyAuYy1hc3ltLWNvbC1lZGdlbGVzcyB7XG4gICAgICAgIGZsZXg6IDAgMCBjYWxjKDEwMCUgLSA2NDBweCk7IC8qIHdpZHRoIC0gMS8yIHBhZGRpbmcgKDIwcHgpICovXG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNjQwcHgpOyAvKiB3aWR0aCAtIDEvMiBwYWRkaW5nICgyMHB4KSAqL1xuICAgIH1cbiAgICBcbiAgICAuYy1hc3ltLWxlZnQtZWRnZWxlc3MgLmMtdGV4dC1pbWctaW5uZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTEwcHg7IC8qIGRpZmZlcmVuY2UgNSBjb2wgICovXG4gICAgfVxuICAgIFxuICAgIC5jLWFzeW0tcmlnaHQtZWRnZWxlc3MgLmMtdGV4dC1pbWctaW5uZXIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDExMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjE1MDBweCkgeyAgXG5cdC5jLWhlYWRlci1sb2dvIHtcblx0XHR3aWR0aDogMjAwcHg7ICBcdFxuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMzI5cHgpIHsgIFxuXHQuYy10ZWFzZXItdGV4dC1pbWcgLmMtY29sLTUge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDUwJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA1MCU7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuXHR9XG4gICAgXG4gICAgLmMtdGVhc2VyLXRleHQtaW1nIGZpZ3VyZSB7XG4gICAgICAgIG1heC13aWR0aDogOTAlO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjEzMDBweCkgeyAgXG5cdC5jLW1haW4tbmF2LWxpc3QgYSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICB9XG59XG5cbi8qIGhlYWRlciBzaG93IG9mZmNhbnZhcyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjEyMDBweCkgeyAgXG5cdC5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW4ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cdFxuXHQuYy1tYWluLW5hdiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTEwMHB4KSB7ICBcblx0LmMtc2hvd3Jvb20taG9tZSAuYy1jb2wtNixcbiAgICAuYy1tYWluLXRpdGxlLWltZyAuYy1jb2wtNixcbiAgICAuYy1tYWluLXRpdGxlIC5jLWNvbC02e1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgICAgIG1heC13aWR0aDogNjYuNjY2NjclO1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo5ODBweCkgeyAgXG5cdC5jLWhlYWRlci1sb2dvIHtcblx0XHR3aWR0aDogMTIwcHg7XG5cdH1cbiAgICBcbiAgICAuYy1kZWNvLWN0YS1sZWZ0LFxuICAgIC5jLWRlY28tY3RhLXJpZ2h0IHtcbiAgICAgICAgd2lkdGg6IDk2cHg7XG4gICAgfVxuICAgIFxuICAgIC5jLWN0YS1ib3gge1xuICAgICAgICBtaW4taGVpZ2h0OiAzMDRweDtcbiAgICB9XG4gICAgXG4gICAgLmMtY3RhLWJveC1pbm5lciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTIwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEyMHB4O1xuICAgIH1cbiAgICBcbiAgICAuYy10ZXh0LXVzcC1saXN0IGxpLFxuICAgIC5jLXRleHQtYmxvY2sgLmMtdGV4dC11c3AtbGlzdCBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gICAgXG4gICAgLmMtbG9nb3dhbGwtYnJvbnplLWxpc3QgbGkge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCAyMCU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgMjAlO1xuICAgICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgICBtYXgtd2lkdGg6IDIwJTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo5MDBweCkgeyAgXG4gICAgLmMtZm9vdGVyIC5jLWNvbC01LFxuICAgIC5jLWZvb3RlciAuYy1jb2wtNyB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAuYy1mb290ZXIgLmMtY29sLTcge1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1tKTtcbiAgICB9XG4gICAgXG4gICAgLmMtdGVhc2VyLTNjb2wgLmMtY29sLTQge1xuICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG5cdFx0LW1zLWZsZXg6IDAgMCA1MCU7XG5cdFx0ZmxleDogMCAwIDUwJTtcblx0XHRtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo4NTBweCkgeyAgXG4gICAgLmMta2V5ZmFjdHMgLmMtY29sLTMge1xuICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG5cdFx0LW1zLWZsZXg6IDAgMCA1MCU7XG5cdFx0ZmxleDogMCAwIDUwJTtcblx0XHRtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgXG4gICAgLmMta2V5ZmFjdC1pY29uIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNzBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjhweCkgeyAgXG5cdC5jLXRleHQtb25seSAuYy1jb2wtOCxcblx0LmMtc2VjdGlvbi10aXRsZSAuYy1jb2wtOCB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7ICAgIFx0XG5cdH1cbiAgICBcbiAgICAuYy1zaG93cm9vbS1ob21lIC5jLWNvbC02LFxuXHQuYy1tYWluLXRpdGxlIC5jLWNvbC02LFxuICAgIC5jLW1haW4tdGl0bGUtaW1nIC5jLWNvbC02IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgICAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgICAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgICBcdFxuXHR9XG4gICAgXG4gICAgLmMtc2hvd3Jvb20taG9tZSAuYy1ib3gsXG5cdC5jLW1haW4tdGl0bGUgLmMtYm94LFxuICAgIC5jLW1haW4tdGl0bGUtaW1nIC5jLWJveCB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0zMnB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1ncmlkLWNvbnRhaW5lcikgKiAtMSk7XG4gICAgfVxuICAgIFxuICAgIC5jLW1haW4tdGl0bGUgLmMtYm94IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICB9XG4gICAgXG4gICAgLmMtc2hvd3Jvb20taW1nIHtcbiAgICAgICAgaGVpZ2h0OiA3NXZ3O1xuICAgIH1cbiAgICBcbiAgICAuYy1zaG93cm9vbS1ob21lIC5jLXNob3dyb29tLWltZyB7XG4gICAgICAgIGhlaWdodDogMTAwdnc7XG4gICAgfVxuICAgIFxuICAgIC5jLXNwb25zb3JzLXBhcnRuZXItbGlzdCBsaSB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgNTAlO1xuXHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0bWF4LXdpZHRoOiA1MCU7XG4gICAgfVxuICAgIFxuICAgIC5jLXNwb25zb3JzLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDkwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jLWFuY2hvcm5hdi1saXN0OjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICB9XG4gICAgXG4gICAgLmMtZGlyZWN0aW9ucy1wYW5lbCB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IGF1dG87XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXMpO1xuXHR9XG5cdFxuXHQuYy10cmF2ZWwtaWNvbiB7XG5cdFx0d2lkdGg6IDYwcHg7XG5cdFx0aGVpZ2h0OiA2MHB4O1xuXHR9XG5cdFxuXHQuYy1tYXAge1xuXHRcdGhlaWdodDogNjB2aDtcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzUwcHgpIHsgIFxuICAgIC5jLWZvb3Rlci1kaXNjbGFpbWVyIC5jLWNvbC02IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIC5jLWZvb3Rlci1kaXNjbGFpbWVyIC5jLWNvbC02IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9vdGVyLWRpc2NsYWltZXItbGlzdCBsaSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1zO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zKTtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9vdGVyLWRpc2NsYWltZXIgLmMtY29sLTYge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgLmMtdGV4dC11c3AtbGlzdCBsaSxcbiAgICAuYy10ZXh0LWJsb2NrIC5jLXRleHQtdXNwLWxpc3QgbGkge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3MDBweCkgeyAgXG4gICAgLmMtdGV4dC1pbWcgLmMtY29sLTYsXG4gICAgLmMtdGVhc2VyLTNjb2wgLmMtY29sLTQge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgLmMtYXN5bS1sZWZ0LWVkZ2VsZXNzIGZpZ3VyZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLSRncmlkLWNvbnRhaW5lcjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWdyaWQtY29udGFpbmVyKSAqIC0xKTtcbiAgICB9XG5cbiAgICAuYy1hc3ltLXJpZ2h0LWVkZ2VsZXNzIGZpZ3VyZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJGdyaWQtY29udGFpbmVyO1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1ncmlkLWNvbnRhaW5lcikgKiAtMSk7XG4gICAgfVxuICAgIFxuICAgIC5jLXRleHQtaW1nIC5jLWxlZ2VuZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1ncmlkLWNvbnRhaW5lcik7XG4gICAgfVxuICAgIFxuICAgIC5jLXRleHQtaW1nIC5jLWRlY28tZGFyayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5jLXRleHQtaW1nIC5jLXRleHQtaW1nLWlubmVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLXM7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLXMpO1xuICAgIH1cbiAgICBcbiAgICAuYy10ZXh0LWltZyAuYy1kZWNvLXdoaXRlIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0b3A6IC0kc3BhY2luZy1sO1xuICAgICAgICB0b3A6IGNhbGModmFyKC0tc3BhY2luZy1sKSAqIC0xKTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTE2cHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uLy4uL2ltYWdlcy9kZWtvLWJsYWNrLnN2Zyk7IFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAwO1xuICAgIH1cbiAgICBcbiAgICAuYy10ZXh0LWltZyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKCRzcGFjaW5nLWwgKyAxNnB4KTtcbiAgICAgICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tc3BhY2luZy1sKSArIDE2cHgpO1xuICAgIH1cbiAgICBcbiAgICAuYy10ZXh0LWltZy1uby1saW5lIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICAgIFxuICAgIC5jLWxvZ293YWxsLWdvbGQtbGlzdCBsaSB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDUwJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA1MCU7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgIH1cblxuICAgIC5jLWxvZ293YWxsLXNpbHZlci1saXN0IGxpIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG4gICAgfVxuXG4gICAgLmMtbG9nb3dhbGwtYnJvbnplLWxpc3QgbGkge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCAyNSU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgMjUlO1xuICAgICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgICBtYXgtd2lkdGg6ICAyNSU7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjIwcHgpIHsgIFxuICAgIC5jLWZvb3Rlci1tYWluIC5jLWNvbC02LFxuICAgIC5jLXRlYXNlci1idG4gLmMtY29sLTYsXG4gICAgLmMtdGVhc2VyLXRleHQtaW1nIC5jLWNvbC02LFxuICAgIC5jLXRlYXNlci10ZXh0LWltZyAuYy1jb2wtNSB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAuYy1pbWctMmNvbCAuYy1jb2wtNixcbiAgICAuYy1pbWctM2NvbCAuYy1jb2wtNCB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAuYy1kZWNvLWN0YS1sZWZ0LFxuICAgIC5jLWRlY28tY3RhLXJpZ2h0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICB9XG4gICAgXG4gICAgLmMtZGVjby1jdGEtcmlnaHQge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gICAgXG4gICAgLmMtY3RhLWJveCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgfVxuICAgIFxuICAgIC5jLWN0YS1ib3gtaW5uZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogY2FsYyg0OHB4ICsgdmFyKC0tc3BhY2luZy1tKSk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDQ4cHggKyB2YXIoLS1zcGFjaW5nLW0pKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgICBcbiAgICAuYy10ZWFzZXItdGV4dC1pbWcgZmlndXJlIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgICAgIC8qbWFyZ2luLWxlZnQ6IGF1dG87Ki9cbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbSk7XG4gICAgfVxuICAgIFxuICAgIC5jLXNwb25zb3JzLXBhcnRuZXItbGlzdCBsaSB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICBcbiAgICAuYy1nYWxsZXJ5IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoNCwgMzB2dyk7XG4gICAgfVxuXG4gICAgLmMtZ2FsbGVyeSAuYy1nYWxsZXJ5LWl0ZW0tMSB7XG4gICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAyO1xuICAgIH1cblxuICAgIC5jLWdhbGxlcnkgLmMtZ2FsbGVyeS1pdGVtLTQge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcbiAgICAgICAgZ3JpZC1yb3c6IDMgLyBzcGFuIDI7XG4gICAgfVxuXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo0ODBweCkgeyAgXG4gICAgLmMtbG9nb3dhbGwtZ29sZC1saXN0IGxpIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5jLWxvZ293YWxsLXNpbHZlci1saXN0IGxpIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDUwJTtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgfVxuXG4gICAgLmMtbG9nb3dhbGwtYnJvbnplLWxpc3QgbGkge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNTAlO1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgXG4gICAgLmMtb2ZmY2FudmFzLW5hdi1saXN0IGEge1xuICAgICAgICB3aWR0aDogNjAlO1xuICAgIH1cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDAwcHgpIHsgIFxuICAgIC5jLWtleWZhY3RzIC5jLWNvbC0zIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJpbnQgQ1NTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIHByaW50IHtcbiAgICAvKiBiYXNlIHN0eWxlcyAqL1xuICAgICoge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyBcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblx0XG5cdGEsXG4gICAgYTp2aXNpdGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICAgIFxuICAgIC5jLWlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLFxuICAgIGFbaHJlZl06YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcblx0ICB9XG4gICAgXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG4gICAgXG4gICAgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IFxuICAgIH1cbiAgICBcbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuICAgIFxuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAgICAgXG4gICAgQHBhZ2Uge1xuICAgICAgICBtYXJnaW46IDAuNWNtO1xuICAgIH1cbiAgICBcbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgb3JwaGFuczogMztcbiAgICAgICAgd2lkb3dzOiAzO1xuICAgIH1cbiAgICBcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIGJyZWFrLWFmdGVyOmF2b2lkO1xuICAgICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICB9XG4gICAgXG4gICAgLyogZm9udC1zaXplcyAqL1xuXHRcblx0aHRtbCxcblx0Ym9keSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdC8qb3ZlcmZsb3c6IGF1dG87Ki9cblx0fVxuICAgIFxuICAgIGJvZHkge1xuICAgICAgICBmb250LXNpemU6MTJweDsgICAgXG4gICAgfVxuXHRcblx0aDEsIC5jLWgxIHtcblx0XHRmb250LXNpemU6IDI0cHg7XG5cdH1cblx0XG5cdC5jLWxlYWQsXG5cdC5jLXRleHQtYmxvY2sgLmMtbGVhZCxcblx0aDIsIC5jLWgyLFxuXHRoMywgLmMtaDMsXG5cdC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBwIHtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdH1cblx0XG5cdC8qIHByb2plY3Qgc3R5bGVzICovXG5cdC5jLWNvbnRhaW5lciB7XG5cdFx0cGFkZGluZy1ib3R0b206IDJlbTtcblx0fVxuXHRcblx0LmMtZm9vdGVyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cblxuXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/