@charset "UTF-8";
/* ================ 
MIXINS & FUNCTIONS 
=========== */
/*============== 
VARS 
================*/
/*===================
BUTTONS
====================*/
/*===================
RADIUS
====================*/
/*===================
FONT FAMILIES
====================*/
/*===================
FONT SIZES
====================*/
/*===================
FONT WEIGHTS
====================*/
/*===================
LETTER SPACING
====================*/
/*===================
BORDER SIZES
====================*/
/*===================
GUTTERS & PADDINGS SIZES
====================*/
/*=======
GRID
======*/
/*========
Z-INDEX
========*/
/*===================
COLUMN SIZES
====================*/
/*===================
Widths
====================*/
/*===================
Root custom props
====================*/
:root {
  --header-height: 4.7222222222rem;
  --section-space: 1.3333333333rem;
}
@media (min-width: 768px) {
  :root {
    --header-height: 5.3333333333rem;
    --section-space: 2.6666666667rem;
  }
}
@media (min-width: 1150px) {
  :root {
    --header-height: 11.2222222222rem;
  }
}

@font-face {
  font-family: "FONT-NAME";
  font-style: "normal";
  font-weight: "400";
  src: url("/assets/fonts/NAME.woff2") format("woff2"), url("/assets/fonts/NAME.woff") format("woff");
  font-display: swap;
}
/*======CSS VARS=======*/
:root {
  --main-bg-color: #f5fbfd;
  --main-body-color: #3c3c3c;
  --red-color:#780000;
  --main-font-family: Forum, sans-serif;
}

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

body.navigation--open {
  overflow: hidden;
  padding-right: 15px; /* Adjust for scrollbar width (usually 15–17px) */
}

/*FOCUS*/
/* 1) Baseline for everything that can be focused */
:where(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus {
  outline: none; /* only because we add a replacement below */
}

/* 2) Show the ring when it matters (keyboard, etc.) */
:where(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
  outline: 1px solid #780000;
  outline-offset: 2px;
}

/* 3) Fallback for browsers that don’t support :focus-visible */
@supports not selector(:focus-visible) {
  :where(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus {
    outline: 1px solid #780000;
    outline-offset: 2px;
  }
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

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

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

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

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

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

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

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

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

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

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

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

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

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

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

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

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

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

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

/*Basic Reset of styles*/
/*** box sizing border-box for all elements ***/
*,
*::before,
*::after {
  box-sizing: border-box;
}

a {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

button {
  background-color: transparent;
  color: inherit;
  border-width: 0;
  padding: 0;
  cursor: pointer;
}

figure {
  margin: 0;
}

input::-moz-focus-inner {
  border: 0;
  padding: 0;
  margin: 0;
}

ul, ol, dd {
  margin: 0;
  padding: 0;
  list-style: none;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}

p {
  margin: 0;
}

cite {
  font-style: normal;
}

fieldset {
  border-width: 0;
  padding: 0;
  margin: 0;
}

html {
  line-height: 1.3;
  font-weight: 400;
  font-family: "Forum", sans-serif;
  font-size: 18px;
}

body {
  color: #3c3c3c;
  letter-spacing: 0.0722222222em;
}
button,
input,
optgroup,
select,
textarea {
  line-height: 1.3;
}

p {
  margin-bottom: 0.8888888889rem;
}
img + p {
  margin-top: 0.8888888889rem;
}

.u-heading-font-styles {
  text-transform: uppercase;
  letter-spacing: 0.3em;
}

.u-titlecase-font-styles {
  text-transform: capitalize;
  letter-spacing: 0.0722222222em;
}

.u-body-font-styles {
  letter-spacing: 0.0722222222em;
}

h1, h2, h3, .u-h1, .u-h2, .u-h3 {
  font-family: "Forum", sans-serif;
  line-height: 1.1;
  font-weight: 400;
  margin-bottom: 0.8888888889rem;
  text-transform: uppercase;
  letter-spacing: 0.3em;
}

h4, h5, .u-h4, .u-h5 {
  margin-bottom: 0.8888888889rem;
}

h2, h3, h4, h5, .u-h2, .u-h3, .u-h4, .u-h5 {
  margin-top: 0.8888888889rem;
  font-weight: 400;
}
.l-content p + h2:not([class]), .l-content p + h3:not([class]), .l-content p + h4:not([class]), .l-content p + h5:not([class]), .l-content p + .u-h2:not([class]), .l-content p + .u-h3:not([class]), .l-content p + .u-h4:not([class]), .l-content p + .u-h5:not([class]) {
  margin-top: 2.6666666667rem;
  margin-bottom: 1.3333333333rem;
}

.checkout h1, .checkout h2, .checkout h3, .checkout .u-h1, .checkout .u-h2, .checkout .u-h3 {
  color: #3c3c3c !important;
}

h1, .u-h1 {
  font-size: 1.3333333333rem;
}
@media (min-width: 1150px) {
  h1, .u-h1 {
    font-size: 1.5555555556rem;
  }
}

h2, .u-h2 {
  font-size: 1.2222222222rem;
}
@media (min-width: 768px) {
  h2, .u-h2 {
    font-size: 1.4444444444rem;
  }
}
.l-grid h2, .l-grid .u-h2 {
  color: #780000;
}

h3, .u-h3 {
  font-size: 1.1111111111rem;
}

h4, .u-h4 {
  font-size: 1rem;
  line-height: 1.5;
  color: #780000;
  font-weight: normal;
}

h5, .u-h5 {
  line-height: 1.5;
}

/*LINKS*/
a {
  text-decoration: none;
  color: #780000;
}
a:hover {
  text-decoration: underline;
  text-decoration-color: #eff8fb;
  background-size: 0% 2px;
  text-underline-offset: 0.2222222222rem;
}

.content-header__intro {
  font-size: 1rem;
}
main ul, main ol {
  margin: 1.3333333333rem 0;
}
main ul:last-child, main ol:last-child {
  margin-bottom: 0;
}
main ul li, main ol li {
  margin: 0 0 10px 30px;
  padding-left: 5px;
}
@media (min-width: 768px) {
  main ul li, main ol li {
    margin-left: 40px;
  }
}
main ul li:last-child, main ol li:last-child {
  margin-bottom: 0;
}
main ul {
  list-style-type: disc;
}
main ol {
  list-style-type: decimal;
}

/*====
tag order specific styles
=====*/
h2 + h3 {
  margin-top: 2.6666666667rem;
}

ul + h3, p + h3 {
  margin-top: 2.6666666667rem;
}

/*====================
COLOURS
====================*/
@media (min-width: 1000px) {
  .u-bg--50\/50 {
    background: linear-gradient(to right, #f5fbfd 0 50%, #ffffff 50% 100%);
  }
}
@media (min-width: 1000px) {
  .u-bg--30\/70 {
    background: linear-gradient(to right, #f5fbfd 0 30%, #ffffff 30% 100%);
  }
}

.u-bg-color__1 {
  background-color: #3c3c3c !important;
}
.u-bg-color__1--75 {
  background-color: rgb(108.75, 108.75, 108.75) !important;
}
.u-bg-color__1--50 {
  background-color: rgb(157.5, 157.5, 157.5) !important;
}
.u-bg-color__1--25 {
  background-color: rgb(206.25, 206.25, 206.25) !important;
}

.u-txt-color__1 {
  color: #3c3c3c !important;
}
.u-txt-color__1--75 {
  color: rgb(108.75, 108.75, 108.75) !important;
}
.u-txt-color__1--50 {
  color: rgb(157.5, 157.5, 157.5) !important;
}
.u-txt-color__1--25 {
  color: rgb(206.25, 206.25, 206.25) !important;
}

.u-brd-color__1 {
  border: solid 2px #3c3c3c 2px !important;
}
.u-brd-color__1--top {
  border-style: solid;
  border-color: #3c3c3c;
  border-width: 2px 0 0 0 !important;
}
.u-brd-color__1--btm {
  border-style: solid;
  border-color: #3c3c3c;
  border-width: 0 0 2px 0 !important;
}
.u-brd-color__1--right {
  border-style: solid;
  border-color: #3c3c3c;
  border-width: 0 2px 0 0 !important;
}
.u-brd-color__1--left {
  border-style: solid;
  border-color: #3c3c3c;
  border-width: 0 0 0 2px !important;
}
.u-brd-color__1--top-btm {
  border-style: solid;
  border-color: #3c3c3c;
  border-width: 2px 0 2px 0 !important;
}
.u-brd-color__1--left-right {
  border-style: solid;
  border-color: #3c3c3c;
  border-width: 0 2px 0 2px !important;
}

.u-bg-color__2 {
  background-color: #780000 !important;
}
.u-bg-color__2--75 {
  background-color: rgb(217.5, 0, 0) !important;
}
.u-bg-color__2--50 {
  background-color: #ff3c3c !important;
}
.u-bg-color__2--25 {
  background-color: rgb(255, 157.5, 157.5) !important;
}

.u-txt-color__2 {
  color: #780000 !important;
}
.u-txt-color__2--75 {
  color: rgb(217.5, 0, 0) !important;
}
.u-txt-color__2--50 {
  color: #ff3c3c !important;
}
.u-txt-color__2--25 {
  color: rgb(255, 157.5, 157.5) !important;
}

.u-brd-color__2 {
  border: solid 2px #780000 2px !important;
}
.u-brd-color__2--top {
  border-style: solid;
  border-color: #780000;
  border-width: 2px 0 0 0 !important;
}
.u-brd-color__2--btm {
  border-style: solid;
  border-color: #780000;
  border-width: 0 0 2px 0 !important;
}
.u-brd-color__2--right {
  border-style: solid;
  border-color: #780000;
  border-width: 0 2px 0 0 !important;
}
.u-brd-color__2--left {
  border-style: solid;
  border-color: #780000;
  border-width: 0 0 0 2px !important;
}
.u-brd-color__2--top-btm {
  border-style: solid;
  border-color: #780000;
  border-width: 2px 0 2px 0 !important;
}
.u-brd-color__2--left-right {
  border-style: solid;
  border-color: #780000;
  border-width: 0 2px 0 2px !important;
}

.u-bg-color__3 {
  background-color: #eff8fb !important;
}
.u-bg-color__3--75 {
  background-color: rgb(243, 249.75, 252) !important;
}
.u-bg-color__3--50 {
  background-color: rgb(247, 251.5, 253) !important;
}
.u-bg-color__3--25 {
  background-color: rgb(251, 253.25, 254) !important;
}

.u-txt-color__3 {
  color: #eff8fb !important;
}
.u-txt-color__3--75 {
  color: rgb(243, 249.75, 252) !important;
}
.u-txt-color__3--50 {
  color: rgb(247, 251.5, 253) !important;
}
.u-txt-color__3--25 {
  color: rgb(251, 253.25, 254) !important;
}

.u-brd-color__3 {
  border: solid 2px #eff8fb 2px !important;
}
.u-brd-color__3--top {
  border-style: solid;
  border-color: #eff8fb;
  border-width: 2px 0 0 0 !important;
}
.u-brd-color__3--btm {
  border-style: solid;
  border-color: #eff8fb;
  border-width: 0 0 2px 0 !important;
}
.u-brd-color__3--right {
  border-style: solid;
  border-color: #eff8fb;
  border-width: 0 2px 0 0 !important;
}
.u-brd-color__3--left {
  border-style: solid;
  border-color: #eff8fb;
  border-width: 0 0 0 2px !important;
}
.u-brd-color__3--top-btm {
  border-style: solid;
  border-color: #eff8fb;
  border-width: 2px 0 2px 0 !important;
}
.u-brd-color__3--left-right {
  border-style: solid;
  border-color: #eff8fb;
  border-width: 0 2px 0 2px !important;
}

.u-bg-color__4 {
  background-color: #f5fbfd !important;
}
.u-bg-color__4--75 {
  background-color: rgb(247.5, 252, 253.5) !important;
}
.u-bg-color__4--50 {
  background-color: #fafdfe !important;
}
.u-bg-color__4--25 {
  background-color: rgb(252.5, 254, 254.5) !important;
}

.u-txt-color__4 {
  color: #f5fbfd !important;
}
.u-txt-color__4--75 {
  color: rgb(247.5, 252, 253.5) !important;
}
.u-txt-color__4--50 {
  color: #fafdfe !important;
}
.u-txt-color__4--25 {
  color: rgb(252.5, 254, 254.5) !important;
}

.u-brd-color__4 {
  border: solid 2px #f5fbfd 2px !important;
}
.u-brd-color__4--top {
  border-style: solid;
  border-color: #f5fbfd;
  border-width: 2px 0 0 0 !important;
}
.u-brd-color__4--btm {
  border-style: solid;
  border-color: #f5fbfd;
  border-width: 0 0 2px 0 !important;
}
.u-brd-color__4--right {
  border-style: solid;
  border-color: #f5fbfd;
  border-width: 0 2px 0 0 !important;
}
.u-brd-color__4--left {
  border-style: solid;
  border-color: #f5fbfd;
  border-width: 0 0 0 2px !important;
}
.u-brd-color__4--top-btm {
  border-style: solid;
  border-color: #f5fbfd;
  border-width: 2px 0 2px 0 !important;
}
.u-brd-color__4--left-right {
  border-style: solid;
  border-color: #f5fbfd;
  border-width: 0 2px 0 2px !important;
}

.u-bg-color__5 {
  background-color: #f5fbfd !important;
}
.u-bg-color__5--75 {
  background-color: rgb(247.5, 252, 253.5) !important;
}
.u-bg-color__5--50 {
  background-color: #fafdfe !important;
}
.u-bg-color__5--25 {
  background-color: rgb(252.5, 254, 254.5) !important;
}

.u-txt-color__5 {
  color: #f5fbfd !important;
}
.u-txt-color__5--75 {
  color: rgb(247.5, 252, 253.5) !important;
}
.u-txt-color__5--50 {
  color: #fafdfe !important;
}
.u-txt-color__5--25 {
  color: rgb(252.5, 254, 254.5) !important;
}

.u-brd-color__5 {
  border: solid 2px #f5fbfd 2px !important;
}
.u-brd-color__5--top {
  border-style: solid;
  border-color: #f5fbfd;
  border-width: 2px 0 0 0 !important;
}
.u-brd-color__5--btm {
  border-style: solid;
  border-color: #f5fbfd;
  border-width: 0 0 2px 0 !important;
}
.u-brd-color__5--right {
  border-style: solid;
  border-color: #f5fbfd;
  border-width: 0 2px 0 0 !important;
}
.u-brd-color__5--left {
  border-style: solid;
  border-color: #f5fbfd;
  border-width: 0 0 0 2px !important;
}
.u-brd-color__5--top-btm {
  border-style: solid;
  border-color: #f5fbfd;
  border-width: 2px 0 2px 0 !important;
}
.u-brd-color__5--left-right {
  border-style: solid;
  border-color: #f5fbfd;
  border-width: 0 2px 0 2px !important;
}

.u-bg-color__6 {
  background-color: #dae0e1 !important;
}
.u-bg-color__6--75 {
  background-color: rgb(227.25, 231.75, 232.5) !important;
}
.u-bg-color__6--50 {
  background-color: rgb(236.5, 239.5, 240) !important;
}
.u-bg-color__6--25 {
  background-color: rgb(245.75, 247.25, 247.5) !important;
}

.u-txt-color__6 {
  color: #dae0e1 !important;
}
.u-txt-color__6--75 {
  color: rgb(227.25, 231.75, 232.5) !important;
}
.u-txt-color__6--50 {
  color: rgb(236.5, 239.5, 240) !important;
}
.u-txt-color__6--25 {
  color: rgb(245.75, 247.25, 247.5) !important;
}

.u-brd-color__6 {
  border: solid 2px #dae0e1 2px !important;
}
.u-brd-color__6--top {
  border-style: solid;
  border-color: #dae0e1;
  border-width: 2px 0 0 0 !important;
}
.u-brd-color__6--btm {
  border-style: solid;
  border-color: #dae0e1;
  border-width: 0 0 2px 0 !important;
}
.u-brd-color__6--right {
  border-style: solid;
  border-color: #dae0e1;
  border-width: 0 2px 0 0 !important;
}
.u-brd-color__6--left {
  border-style: solid;
  border-color: #dae0e1;
  border-width: 0 0 0 2px !important;
}
.u-brd-color__6--top-btm {
  border-style: solid;
  border-color: #dae0e1;
  border-width: 2px 0 2px 0 !important;
}
.u-brd-color__6--left-right {
  border-style: solid;
  border-color: #dae0e1;
  border-width: 0 2px 0 2px !important;
}

.u-bg-color__white {
  background-color: white !important;
}
.u-bg-color__white--75 {
  background-color: white !important;
}
.u-bg-color__white--50 {
  background-color: white !important;
}
.u-bg-color__white--25 {
  background-color: white !important;
}

.u-txt-color__white {
  color: white !important;
}
.u-txt-color__white--75 {
  color: white !important;
}
.u-txt-color__white--50 {
  color: white !important;
}
.u-txt-color__white--25 {
  color: white !important;
}

.u-brd-color__white {
  border: solid 2px white 2px !important;
}
.u-brd-color__white--top {
  border-style: solid;
  border-color: white;
  border-width: 2px 0 0 0 !important;
}
.u-brd-color__white--btm {
  border-style: solid;
  border-color: white;
  border-width: 0 0 2px 0 !important;
}
.u-brd-color__white--right {
  border-style: solid;
  border-color: white;
  border-width: 0 2px 0 0 !important;
}
.u-brd-color__white--left {
  border-style: solid;
  border-color: white;
  border-width: 0 0 0 2px !important;
}
.u-brd-color__white--top-btm {
  border-style: solid;
  border-color: white;
  border-width: 2px 0 2px 0 !important;
}
.u-brd-color__white--left-right {
  border-style: solid;
  border-color: white;
  border-width: 0 2px 0 2px !important;
}

/*====================
GENERAL FORMATTING
====================*/
.u-error, .form__row-error {
  color: red !important;
}

.u-center {
  text-align: center !important;
}

.u-lowercase {
  text-transform: lowercase !important;
}

.u-uppercase {
  text-transform: uppercase !important;
}

.u-titlecase {
  text-transform: capitalize !important;
}

.u-transform-none {
  text-transform: none !important;
}

.u-rounded-corners {
  border-radius: 40px;
}
.u-rounded-corners--top {
  border-radius: 40px 40px 0 0;
}
.u-rounded-corners--top-left {
  border-top-left-radius: 40px;
}
.u-rounded-corners--top-right {
  border-top-right-radius: 40px;
}
.u-rounded-corners--left {
  border-radius: 40px 0 40px 0;
}
.u-rounded-corners--right {
  border-radius: 0 40px 0 40px;
}
.u-rounded-corners--btm {
  border-radius: 0 0 40px 40px;
}
.u-rounded-corners--btm-left {
  border-bottom-left-radius: 40px;
}
.u-rounded-corners--btm-right {
  border-bottom-right-radius: 40px;
}

.u-cursor--pointer {
  cursor: pointer;
}
.u-cursor--default {
  cursor: default;
}

.u-link-styles {
  text-decoration: none;
}
.u-link-styles:hover {
  color: #780000;
  text-decoration: none;
}

.u-flex {
  display: flex;
}
.u-flex-justify--end {
  justify-content: flex-end;
}
.u-flex-justify--start {
  justify-content: flex-start;
}
.u-flex-justify--center {
  justify-content: center;
}
.u-flex-align--end {
  align-items: flex-end;
}
.u-flex-align--start {
  align-items: flex-end;
}
.u-flex-align--center {
  align-items: center;
}

.u-border {
  border: 1px solid #3c3c3c;
}

hr, .u-hr {
  border: 0;
  border-top: 2px solid #f5fbfd;
  margin: 0.8888888889rem 0;
}
@media (min-width: 768px) {
  hr, .u-hr {
    margin: 1.3333333333rem 0;
  }
}
hr.content-hr, .u-hr.content-hr {
  margin: 3.5555555556rem 0;
}
hr.content-hr--transparent, .u-hr.content-hr--transparent {
  border-color: transparent;
}

/*===========================
HIDE ASSETS BUT RENDER IN DOM
===========================*/
.u-visually-hidden, .form--nolabel .form__label, .form__label--hide, .u-sr {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

/*===========================
HIDE ELEMENTS
===========================*/
.u-hide {
  display: none !important;
}
@media (max-width: 768px) {
  .u-hide--sm {
    display: none !important;
  }
}
@media (medium-width: 768px) {
  .u-hide--med {
    display: none !important;
  }
}

/*===========
SCROLL/OVERFLOW CLASSES
============*/
.u-model--open {
  overflow: hidden;
}

.u-overflow--hidden {
  overflow: hidden;
}
.u-overflow--scroll {
  overflow: scroll;
}
.u-overflow--scroll-y {
  overflow-y: scroll;
}
.u-overflow--scroll-x {
  overflow-x: scroll;
}

/*===========
FONT CLASSES
============*/
.u-txt--small {
  font-size: 0.6666666667rem;
}
.u-txt--large {
  font-size: 0.8888888889rem;
}

/*====================
tooltip styles
====================*/
.tooltip-old {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 20px;
  height: 20px;
  right: 0px;
  top: 0px;
  position: absolute;
}
.tooltip-old .a-icon__svg {
  width: 20px;
  height: 20px;
}
.tooltip-old__wrap {
  position: relative;
  padding-right: 22px;
}

/*====================
Paddings
====================*/
.u-no-margin {
  margin: 0 !important;
}
.u-no-margin--top {
  margin-top: 0 !important;
}
.u-no-margin--bottom {
  margin-bottom: 0 !important;
}
.u-no-margin--right {
  margin-right: 0 !important;
}
.u-no-margin--left {
  margin-left: 0 !important;
}
.u-no-margin--top-bottom {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.u-no-margin--left-right {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.u-no-pad {
  padding: 0 !important;
}
.u-no-pad--top {
  padding-top: 0 !important;
}
.u-no-pad--bottom {
  padding-bottom: 0 !important;
}
.u-no-pad--right {
  padding-right: 0 !important;
}
.u-no-pad--left {
  padding-left: 0 !important;
}
.u-no-pad--top-bottom {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.u-no-pad--left-right {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/*====================
Video
====================*/
.u-video {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 */
  height: 0;
  overflow: hidden;
}
.u-video iframe, .u-video embed, .u-video object {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

/*======
AJAX LOADER
=======*/
.u-loader {
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><rect fill="%23780000" stroke="%23780000" stroke-width="15" width="30" height="30" x="25" y="85"><animate attributeName="opacity" calcMode="spline" dur="2" values="1;0;1;" keySplines=".5 0 .5 1;.5 0 .5 1" repeatCount="indefinite" begin="-.4"></animate></rect><rect fill="%23780000" stroke="%23780000" stroke-width="15" width="30" height="30" x="85" y="85"><animate attributeName="opacity" calcMode="spline" dur="2" values="1;0;1;" keySplines=".5 0 .5 1;.5 0 .5 1" repeatCount="indefinite" begin="-.2"></animate></rect><rect fill="%23780000" stroke="%23780000" stroke-width="15" width="30" height="30" x="145" y="85"><animate attributeName="opacity" calcMode="spline" dur="2" values="1;0;1;" keySplines=".5 0 .5 1;.5 0 .5 1" repeatCount="indefinite" begin="0"></animate></rect></svg>') no-repeat center;
  min-height: 300px;
  background-size: 100px;
}
.u-loader--overlay {
  z-index: 2;
  height: 100%;
  width: 100%;
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.2);
}

/*====================
COLLAPSABLE TOGGLE
====================*/
.u-collapsable-toggle {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  top: 0;
  left: 0;
}
.u-collapsable-toggle__content {
  display: none;
}
.u-collapsable-toggle:checked + .u-collapsable-toggle__title + .u-collapsable-toggle__content {
  display: block;
}

.l-grid {
  display: grid;
  gap: 1.3333333333rem;
  grid-template-columns: minmax(0, 1fr);
  margin: 1.3333333333rem 0;
}
.l-grid--checkout .l-grid__col:first-child {
  border-right: 2px solid #f5fbfd;
  padding-right: 1.3333333333rem;
}
.l-container__inner > .l-grid:first-child, .l-content > .l-grid:first-child {
  margin-top: 0;
}
.l-grid--no-margin {
  margin: 0;
}
@media (min-width: 1000px) {
  .l-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
.l-grid__col--content {
  padding: 1.3333333333rem;
}
@media (min-width: 768px) {
  .l-grid__col--content {
    padding: 2.6666666667rem 3.5555555556rem;
  }
}
@media (min-width: 1000px) {
  .l-grid--3 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  }
}
.l-grid--4 {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
@media (min-width: 768px) {
  .l-grid--4 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media (min-width: 1000px) {
  .l-grid--4 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media (min-width: 768px) {
  .l-grid--50\/50 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media (min-width: 768px) {
  .l-grid--75\/25 {
    grid-template-columns: minmax(0, 1fr) minmax(500px, 500px);
  }
}
@media (min-width: 768px) {
  .l-grid--25\/75 {
    grid-template-columns: minmax(500px, 500px) minmax(0, 1fr);
  }
}

.l-grid-flex {
  display: flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.3333333333rem;
}
.l-grid-flex > .l-grid__col {
  flex-basis: 100%;
}
@media (min-width: 768px) {
  .l-grid-flex > .l-grid__col {
    flex: 0 1 calc((100% - 4rem) / 2);
  }
}
@media (min-width: 1150px) {
  .l-grid-flex > .l-grid__col {
    flex: 0 1 calc((100% - 4rem) / 4);
  }
}

.l-site__wrapper {
  min-height: 100vh;
  display: grid;
  grid-template-rows: auto 1fr auto;
}

.l-container {
  padding: 0.8888888889rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 100vw;
}
.l-container--main, .l-container--breadcrumbs {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
@media (min-width: 768px) {
  .l-container {
    padding: 1.3333333333rem;
  }
}
.l-container__inner {
  width: 100%;
  max-width: 1280px;
}
.l-container--content .l-container__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 1800px;
}
@media (min-width: 768px) {
  .l-container.backtotop {
    padding-left: 0;
    display: flex;
  }
}

@media (min-width: 768px) {
  .l-side-nav {
    background: linear-gradient(to right, #f5fbfd 0 50%, #ffffff 50% 100%);
  }
}
.l-side-nav__inner {
  display: grid;
  grid-template-columns: 1fr;
  height: 100%;
  gap: 1.3333333333rem;
}
@media (min-width: 768px) {
  .l-side-nav__inner {
    grid-template-columns: 300px 1fr;
  }
}
.l-side-nav__col {
  padding-top: 2.6666666667rem;
  padding-bottom: 2.6666666667rem;
}
.l-side-nav__col-aside, .l-side-nav__col-main {
  width: 100vw;
  margin-left: -0.8888888889rem;
  padding-left: 0.8888888889rem;
  padding-right: 0.8888888889rem;
}
@media (min-width: 768px) {
  .l-side-nav__col-aside, .l-side-nav__col-main {
    width: auto;
    margin-left: 0;
  }
}
.l-side-nav__col > *:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.l-side-nav__col-aside {
  background-color: #f5fbfd;
}
.l-side-nav__col-main {
  background-color: #ffffff;
}
@media (min-width: 768px) {
  .l-side-nav__col-main {
    padding-left: 2.6666666667rem;
  }
}
.l-side-nav .l-container {
  height: 100%;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.l-side-nav .l-container__inner {
  height: 100%;
}

.l-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding-top: var(--section-space);
  padding-bottom: var(--section-space);
}
.l-section > *:first-child, .l-section > .l-section__inner > *:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.l-section > *:last-child, .l-section > .l-section__inner > *:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.l-section__inner {
  width: 100%;
  max-width: 1800px;
}
.l-section__inner--contained {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1280px;
}
.l-section--bg {
  background-color: #f5fbfd;
}
.l-section--bg + .l-section--bg {
  padding-top: 0;
}
.l-section:not(.l-section--bg) + .l-section:not(.l-section--bg):not(.l-section--bg) {
  padding-top: 0;
}
.l-section:has(> .l-section__inner > .card--wide:first-child) {
  padding-top: 0;
}

.l-section22 {
  margin-top: 3.5555555556rem;
}
.l-section--bg + .l-section22 {
  margin-top: 0;
}
.l-section22--no-margin, .l-section22--bg + .l-section22--bg {
  margin-top: 0 !important;
}
.l-site__main .l-section22:first-child {
  margin-top: 0;
}
.l-section22--bg {
  background-color: #f5fbfd;
  padding-bottom: 3.5555555556rem;
}
.l-section22--bg .l-section__inner:not(:has(> :first-child.card)) {
  padding-top: 1.3333333333rem;
}
@media (min-width: 768px) {
  .l-section22--bg .l-section__inner:not(:has(> :first-child.card)) {
    padding-top: 2.6666666667rem;
  }
}
.l-section22--bg-white {
  background-color: #ffffff;
}
.l-section22__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1900px;
}
.l-section22__inner h2:first-child {
  margin-top: 0;
}
.l-section22__inner > *:last-child {
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .l-section22__inner {
    padding: 0 1.3333333333rem;
  }
}
.l-section22__inner--no-pad {
  padding: 0 !important;
}
.l-section22__inner--no-pad > *:not(.card--wide) {
  margin-left: 2.6666666667rem;
  margin-right: 2.6666666667rem;
}
.l-section22__inner--full-bleed {
  max-width: 100%;
}
.l-section22__inner--contained {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1280px;
}

.l-content {
  width: 100%;
  max-width: 1280px;
  padding: 2.6666666667rem 0;
}
.l-content + .l-content {
  padding-top: 0;
}
.l-content img {
  display: block;
  width: 100%;
  max-width: 100%;
}
.l-content--contained {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
.l-commerce .l-content--contained {
  max-width: 1280px;
}
.l-content--contained-wide {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
.l-content--wide {
  max-width: 1800px;
}
.l-content:first-child {
  padding-top: 0;
}

.content-block {
  max-width: 720px;
  margin: 0 auto;
}
.content-block--wide {
  max-width: none;
}

.l-section__home-last {
  display: flex;
  flex-direction: column;
}
.l-section__home-last .home__tiles {
  order: 2;
}
@media (min-width: 768px) {
  .l-section__home-last .home__tiles {
    order: 2;
    margin-top: 1.3333333333rem;
  }
}

.a-icon__svg {
  height: 16px;
  width: 16px;
  fill: currentColor;
}
.a-icon__svg--x1-5 {
  height: 24px;
  width: 24px;
}
.a-icon__svg--x2 {
  height: 32px;
  width: 32px;
}
.a-icon__svg--x2-5 {
  height: 40px;
  width: 40px;
}
.a-icon__svg--x3 {
  height: 48px;
  width: 48px;
}
.a-icon__svg--x4 {
  height: 64px;
  width: 64px;
}
.a-icon__svg--x5 {
  height: 80px;
  width: 80px;
}

.logo {
  display: none;
  width: 100%;
  max-width: 60px;
}
.logo--sm {
  display: block;
}
@media (min-width: 400px) {
  .logo {
    max-width: 90px;
  }
}
@media (min-width: 768px) {
  .logo {
    display: block;
    max-width: 390px;
    min-width: 390px;
  }
  .logo--sm {
    display: none;
  }
}
.header {
  border-bottom: 2px solid #f5fbfd;
  z-index: 900;
}
.header__logout .a-icon__svg {
  width: 29px !important;
}
@media (min-width: 1150px) {
  .search--open .header {
    background-color: transparent;
  }
}
.is-sticky .header {
  position: fixed !important;
  background-color: #ffffff;
  overflow: visible;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 900;
}
@media (min-width: 1150px) {
  .is-sticky .header .header__inner {
    display: none;
  }
}
.header.l-container {
  padding: 0;
  position: relative;
}
@media (min-width: 1150px) {
  .header.l-container {
    padding: 1.3333333333rem 1.3333333333rem 0 1.3333333333rem;
  }
}
.header__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  padding: 1.3333333333rem 0.8888888889rem 0.8888888889rem 0.8888888889rem;
  z-index: 2;
}
.navigation--open .header__inner {
  background-color: #eff8fb;
}
@media (min-width: 1150px) {
  .navigation--open .header__inner {
    background-color: transparent;
  }
}
@media (min-width: 1150px) {
  .header__inner {
    padding: 0;
  }
}
@media (min-width: 1150px) {
  .header__inner {
    position: relative;
  }
}
.header__account-link {
  display: flex;
  align-items: center;
  gap: 5px;
}
.header__account-link:hover {
  text-decoration: none !important;
}
.header__account-link .header__account-text {
  opacity: 0;
  transition: opacity 0.3s ease;
}
.header__account-link:hover {
  color: #780000;
}
.header__account-link:hover .header__account-text {
  text-decoration: none;
  opacity: 1;
  color: #780000;
}
.header__account--logged-in .header__account-link {
  color: #780000;
}
.header__icons {
  color: #3c3c3c;
}
.header__icons:hover {
  color: #780000;
}
.header__icons a {
  color: #3c3c3c;
}
.header__icons a:hover {
  color: #780000;
}
.header__icons .a-icon__svg {
  height: 26px;
  width: 26px;
}
.header__icons--basket {
  position: relative;
  display: flex;
  color: #3c3c3c;
}
.active .header__icons--basket {
  color: #780000;
}
.header__icons--basket .a-icon__svg {
  fill: transparent;
  stroke: currentColor;
  width: 34px;
  height: 30px;
}
.header__left {
  display: flex;
  height: 100%;
  align-items: center;
  gap: 0.8888888889rem;
}
.header .logo__wrap {
  display: flex;
  justify-content: center;
}
.header__basket {
  position: relative;
}
.header__basket-count {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
  top: 8px;
  font-size: 14px;
  line-height: 1;
  margin-top: 4px;
}
@media (min-width: 1150px) {
  .header__basket-count {
    display: inline-block;
  }
}
.header__search-btn {
  display: flex;
  padding: 0;
  border: none;
  background: none;
}
.header__search-btn .a-icon__svg {
  height: 26px;
  width: 26px;
}
.header__account {
  display: flex;
  gap: 0.8333333333rem;
  padding-left: 0.8333333333rem;
  font-size: 0.7777777778rem;
  text-align: center;
}
@media (min-width: 1150px) {
  .header__account {
    text-align: left;
    font-size: 0.8888888889rem;
  }
}
.header__utilities {
  display: flex;
  gap: 15px;
  justify-content: flex-end;
  align-items: center;
}
.header__utilities-links {
  display: none;
}
@media (min-width: 1150px) {
  .header__utilities-links {
    display: block;
  }
}

/*==Content Header==*/
/*==Content Header==*/
.content-header {
  padding-top: 2.6666666667rem;
  padding-bottom: 0.4444444444rem;
}
.l-container--breadcrumbs + .content-header {
  padding-top: 0;
}
.content-header[class*=u-bg-color], .content-header[class^=u-bg-color], .content-header.header--content {
  padding-bottom: 2.6666666667rem;
}
.content-header__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 41.6666666667rem;
}
.content-header__intro {
  max-width: 40.8333333333rem;
}

#cc-panel {
  padding: 25px !important;
}
#cc-panel #ccc-necessary-title {
  text-transform: uppercase;
  letter-spacing: 0.3em;
}

#ccc-notify * {
  text-align: center !important;
}

#ccc-button-holder {
  display: flex;
  gap: 0.6666666667rem;
}

#ccc-notify-title > span {
  font-size: 30px;
  color: #780000 !important;
  font-weight: normal;
  display: flex;
  align-items: center;
}

.ccc-notify-text {
  margin: 0 !important;
}
.ccc-notify-text h1 {
  margin: 0 !important;
  padding: 0 !important;
}

#cookie_icon {
  margin-right: 10px;
  fill: #780000 !important;
  color: #780000 !important;
  margin: 0 auto;
}

#cookie_icon svg {
  height: 40px;
  fill: #780000;
}

#ccc .ccc-module--popup #ccc-content {
  background: #ffffff !important;
  border-radius: 0 !important;
  max-height: 61.1111111111rem !important;
}

body #ccc .ccc-notify-button.ccc-accept-button, body #ccc .ccc-notify-button.ccc-reject-button, body #ccc .ccc-notify-button#ccc-notify-reject, #ccc #ccc-button-holder button#ccc-recommended-settings {
  display: inline-block;
  background-color: #ffffff;
  padding: 0.3333333333rem 1.1111111111rem;
  color: #780000;
  transition: background-color 0.5s, color 0.5s;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  border: 1px solid #780000 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  position: relative;
  background-color: transparent;
  border-left: none;
  border-right: none;
  color: #780000;
  padding: 0.5555555556rem 0.2222222222rem 0.5555555556rem 0.5555555556rem;
  border-radius: 0 !important;
  padding-bottom: 0;
  white-space: nowrap;
  margin: 0 auto !important;
}
body #ccc .ccc-notify-button.ccc-accept-button:hover, a.card:hover body #ccc .ccc-notify-button.ccc-accept-button, body #ccc .ccc-notify-button.ccc-reject-button:hover, a.card:hover body #ccc .ccc-notify-button.ccc-reject-button, body #ccc .ccc-notify-button#ccc-notify-reject:hover, a.card:hover body #ccc .ccc-notify-button#ccc-notify-reject, #ccc #ccc-button-holder button#ccc-recommended-settings:hover, a.card:hover #ccc #ccc-button-holder button#ccc-recommended-settings {
  background-color: transparent;
  color: #780000;
}
body #ccc .ccc-notify-button.ccc-accept-button:hover::after, body #ccc .ccc-notify-button.ccc-accept-button:hover::before, a.card:hover body #ccc .ccc-notify-button.ccc-accept-button::after, a.card:hover body #ccc .ccc-notify-button.ccc-accept-button::before, body #ccc .ccc-notify-button.ccc-reject-button:hover::after, body #ccc .ccc-notify-button.ccc-reject-button:hover::before, a.card:hover body #ccc .ccc-notify-button.ccc-reject-button::after, a.card:hover body #ccc .ccc-notify-button.ccc-reject-button::before, body #ccc .ccc-notify-button#ccc-notify-reject:hover::after, body #ccc .ccc-notify-button#ccc-notify-reject:hover::before, a.card:hover body #ccc .ccc-notify-button#ccc-notify-reject::after, a.card:hover body #ccc .ccc-notify-button#ccc-notify-reject::before, #ccc #ccc-button-holder button#ccc-recommended-settings:hover::after, #ccc #ccc-button-holder button#ccc-recommended-settings:hover::before, a.card:hover #ccc #ccc-button-holder button#ccc-recommended-settings::after, a.card:hover #ccc #ccc-button-holder button#ccc-recommended-settings::before {
  height: 100%;
}
body #ccc .ccc-notify-button.ccc-accept-button::after, body #ccc .ccc-notify-button.ccc-accept-button::before, body #ccc .ccc-notify-button.ccc-reject-button::after, body #ccc .ccc-notify-button.ccc-reject-button::before, body #ccc .ccc-notify-button#ccc-notify-reject::after, body #ccc .ccc-notify-button#ccc-notify-reject::before, #ccc #ccc-button-holder button#ccc-recommended-settings::after, #ccc #ccc-button-holder button#ccc-recommended-settings::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 0;
  background: #780000;
  transition: height 0.3s ease;
}
body #ccc .ccc-notify-button.ccc-accept-button::after, body #ccc .ccc-notify-button.ccc-reject-button::after, body #ccc .ccc-notify-button#ccc-notify-reject::after, #ccc #ccc-button-holder button#ccc-recommended-settings::after {
  top: 0;
  right: 0;
}
body #ccc .ccc-notify-button.ccc-accept-button::before, body #ccc .ccc-notify-button.ccc-reject-button::before, body #ccc .ccc-notify-button#ccc-notify-reject::before, #ccc #ccc-button-holder button#ccc-recommended-settings::before {
  bottom: 0;
  left: 0;
}

button.ccc-notify-link span {
  font-size: 1rem;
  color: #780000 !important;
}
button.ccc-notify-link span:hover {
  text-decoration: underline;
  text-decoration-color: #eff8fb;
  background-size: 0% 2px;
  text-underline-offset: 0.2222222222rem;
}

button.ccc-notify-link {
  text-decoration: none;
}

#ccc .ccc-notify-button.ccc-notify-link {
  padding: 0.8888888889rem 0 0 0 !important;
}

.ccc-notify-button span, body #ccc .ccc-notify-button.ccc-accept-button span {
  display: block !important;
}

#ccc-notify-dismiss {
  display: none !important;
}

#ccc, #ccc-title {
  font-family: "Forum", serif !important;
}

#ccc #ccc-notify p {
  font-size: 20px !important;
}

#ccc #ccc-notify {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
@media (min-width: 768px) {
  #ccc #ccc-notify {
    padding: 1.3333333333rem !important;
  }
}

#ccc .checkbox-toggle--dark .checkbox-toggle-toggle {
  background-color: #780000 !important;
}

/*code to center the buttons*/
.ccc-notify-buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 1.3333333333rem;
  row-gap: 0.8888888889rem;
  margin-top: 0 !important;
  padding-right: 0 !important;
}

/* Settings button: third child in markup */
.ccc-notify-link {
  order: -1;
  grid-column: 1/-1; /* spans full width, its own row */
  justify-self: center;
  margin: 0 !important;
}

/* Accept and reject sit on the row below, side by side */
.ccc-accept-button {
  order: 1;
}

.ccc-reject-button {
  order: 2;
}

/*====cookie heading icon===*/
.cookies-logo {
  color: #780000;
  --logo-font-size: 2.6666666667rem;
  --logo-letter-spacing: 0.3em;
  --cookie-x: 32px;
  --cookie-y: 8px;
  --cookie-scale: 0.0725;
}

.cookies-logo text {
  font-family: Forum, serif;
  font-size: var(--logo-font-size);
  fill: currentColor;
  letter-spacing: var(--logo-letter-spacing);
}

.cookies-logo__icon {
  fill: currentColor;
  transform: translate(var(--cookie-x), var(--cookie-y)) scale(var(--cookie-scale));
  transform-origin: 0 0;
}

.hamburger {
  position: relative;
  width: 27px;
  height: 43px;
  cursor: pointer;
}
@media (min-width: 1150px) {
  .hamburger {
    display: none;
  }
}
.hamburger .line {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background: #3c3c3c;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transform-origin: center center;
}
.hamburger .line:nth-child(1) {
  top: 25%;
}
.hamburger .line:nth-child(2) {
  top: 50%;
}
.hamburger .line:nth-child(3) {
  top: 75%;
}

.hamburger--active .line:nth-child(2) {
  opacity: 0;
}
.hamburger--active .line:nth-child(1),
.hamburger--active .line:nth-child(3) {
  top: 50%;
}
.hamburger--active .line:nth-child(1) {
  transform: rotate(45deg);
}
.hamburger--active .line:nth-child(3) {
  transform: rotate(-45deg);
}

@media (min-width: 1150px) {
  #mainNav.is-sticky {
    position: fixed;
    overflow: visible;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  }
}

.navigation__wrapper {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0%;
  left: 0;
  background-color: #eff8fb;
  width: 100%;
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s ease;
  display: flex;
  justify-content: center;
}
@media (min-width: 1150px) {
  .navigation__wrapper {
    overflow: visible;
    position: static;
    max-height: none !important;
    height: auto;
    background-color: #ffffff;
  }
}
.navigation--open .navigation__wrapper {
  max-height: 100vh;
  max-height: 100dvh;
}
.navigation__inner {
  padding: 6.6666666667rem 0.8888888889rem 0.8888888889rem 0.8888888889rem;
  overflow: auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
}
@media (min-width: 1150px) {
  .navigation__inner {
    overflow: visible;
    max-width: 1100px;
    display: block;
    padding: 0;
  }
}
.navigation__items {
  display: flex;
  flex-direction: column;
}
@media (min-width: 1150px) {
  .navigation__items {
    flex-direction: row;
    justify-content: space-between;
  }
}
.navigation__item {
  font-weight: 600;
  color: #3c3c3c;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  position: relative;
}
@media (min-width: 1150px) {
  .navigation__item {
    margin: 1.5555555556rem 0;
  }
}
@media (min-width: 1150px) {
  .navigation__item {
    position: static;
  }
}
.navigation__item--active .navigation__link, .navigation__item:hover .navigation__link {
  color: #780000;
}
.navigation__item > a, .navigation__item > span, .navigation__item > button {
  appearance: none;
  -webkit-appearance: none;
  transition: color 0.5s;
  color: inherit;
  cursor: pointer;
  font-size: 1rem;
  font-family: "Forum", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  font-weight: 400;
  padding: 0.8333333333rem 0;
  text-decoration: none;
  display: flex;
  align-items: center;
}
@media (min-width: 1150px) {
  .navigation__item > a, .navigation__item > span, .navigation__item > button {
    padding: 0.4444444444rem 0;
  }
}
@media (min-width: 1150px) {
  .navigation__item > a, .navigation__item > span, .navigation__item > button {
    padding: 0;
  }
}
.navigation__footer {
  padding-bottom: 0.8888888889rem;
  padding-top: 1.3333333333rem;
  margin-top: 1.3333333333rem;
  border-top: 1px solid #f5fbfd;
}
@media (min-width: 1150px) {
  .navigation__footer {
    display: none;
  }
}
.navigation__footer-list {
  display: flex;
  flex-direction: column;
  gap: 0.4444444444rem;
}
.navigation__footer-item {
  display: flex;
  align-items: center;
  gap: calc(0.4444444444rem - 4px);
  color: #780000;
}
.navigation__footer-item .navigation__footer-item-icon {
  width: 20px;
}
.navigation__footer-link {
  display: flex;
  align-items: center;
  gap: 0.4444444444rem;
}

.side-nav__wrap h2 {
  margin-bottom: 2.6666666667rem;
}
.side-nav ul {
  margin-top: 0;
}
.side-nav__link {
  color: #3c3c3c;
  display: block;
  padding: 0.2222222222rem 0;
}
.side-nav__link:hover {
  color: #780000;
}
.side-nav__item {
  margin: 0;
  padding: 0%;
  list-style: none;
}
.side-nav__item--active .side-nav__link {
  color: #780000;
}
.side-nav__footer {
  margin-top: 1.3333333333rem;
}
.side-nav__footer .side-nav__link {
  text-transform: uppercase;
  letter-spacing: 0.3em;
}

.megamenu {
  background-color: #eff8fb;
  justify-content: center;
  pointer-events: none;
  width: 100%;
  padding: 0 2.6666666667rem;
  text-transform: none;
  opacity: 0;
  visibility: hidden;
  display: flex;
  pointer-events: none;
  z-index: 2;
  padding: 0;
  overflow: hidden;
  height: 0;
}
@media (min-width: 1150px) {
  .megamenu {
    position: absolute;
    top: 0;
    left: 0;
    transition: transform 0.45s ease, opacity 0.45s ease, visibility 0s linear 0.45s;
    transform: translateX(-110%);
    padding: 2.6666666667rem 1.3333333333rem;
    transform: translateX(0);
    visibility: hidden;
    transition: opacity 0.5s ease-in-out, visibility 0s linear 0.5s;
    top: auto;
    left: 0;
    right: auto;
    margin-top: 1.5555555556rem;
  }
}
.megamenu--active .megamenu {
  pointer-events: auto;
  transition: transform 0.45s ease, opacity 0.45s ease, visibility 0s;
  transform: translateX(0); /* slide into view */
  opacity: 1;
  overflow: auto;
  height: auto;
}
@media (max-width: 1150px) {
  .megamenu--active .megamenu {
    min-height: 100%;
    visibility: visible;
  }
}
@media (min-width: 1150px) {
  .navigation__item--has-megamenu:hover .megamenu, .navigation__item--has-megamenu.megamenu--hover-active .megamenu {
    pointer-events: auto;
    transition: opacity 0.5s ease-in-out, visibility 0s;
    visibility: visible;
    opacity: 1;
    height: auto;
  }
}
.megamenu--active .megamenu__close-button {
  transform: rotate(90deg);
}
@media (min-width: 1150px) {
  .megamenu__close-button {
    display: none;
  }
}
.megamenu__inner {
  width: 100%;
  max-width: 1280px;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
  position: relative;
}
@media (min-width: 1150px) {
  .megamenu__inner {
    grid-template-columns: 1fr minmax(37.7777777778rem, 1fr);
  }
}
.megamenu__menu {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.megamenu__menu-item {
  margin: 0;
  font-size: 1rem;
  letter-spacing: 0.0722222222em;
}
.megamenu__menu-item a {
  display: inline-block;
  color: #3c3c3c;
  padding: 0.2222222222rem 0;
}
.megamenu__menu-item a:hover {
  color: #780000;
  text-decoration: none;
}
.megamenu__left {
  margin-left: 0.6666666667rem;
}
@media (min-width: 1150px) {
  .megamenu__left {
    margin-left: 0;
  }
}
.megamenu__right {
  margin: 0.6666666667rem;
}
@media (min-width: 1150px) {
  .megamenu__right {
    margin-left: 0;
  }
}
.megamenu__right .l-grid {
  margin: 0;
}
.megamenu .product-card {
  color: #3c3c3c;
}

.navigation__item--has-sub {
  position: relative;
}
.navigation__item--has-sub:hover .sub_navigation {
  visibility: visible;
  opacity: 1;
  margin-top: 0;
  transform: translateY(0);
}

.sub_navigation {
  display: none;
  opacity: 0;
  visibility: hidden;
  text-transform: none;
  letter-spacing: 0.0722222222em;
  margin: 0;
  padding: 0;
  position: relative;
  width: 100vw;
  margin-left: -0.8888888889rem;
  z-index: 1000;
  background: #ffffff;
  padding: 0.6666666667rem 1.3333333333rem;
}
.sub_navigation--active {
  display: block;
}
@media (min-width: 1150px) {
  .sub_navigation {
    position: absolute;
    padding: 0.6666666667rem 0.8888888889rem;
    width: auto;
    margin-left: 0;
    top: 100%;
    left: -0.6666666667rem;
    transition: all 0.2s ease;
    z-index: 1000;
  }
  .last .sub_navigation {
    left: auto;
    right: -0.6666666667rem;
    text-align: right;
  }
}
.navigation__item--has-sub.sub_navigation--hover-active .sub_navigation, .navigation__item--has-sub.sub_navigation--active .sub_navigation {
  display: block;
  opacity: 1;
  visibility: visible;
}
@media (hover: hover) and (pointer: fine) {
  .navigation__item--has-sub:hover .sub_navigation {
    display: block;
    opacity: 1;
    visibility: visible;
  }
}
.sub_navigation .sub_navigation__item {
  white-space: nowrap;
}
.sub_navigation .sub_navigation__item .sub_navigation__link {
  display: block;
  padding: 0.2777777778rem 0;
  color: #3c3c3c;
}
.sub_navigation .sub_navigation__item .sub_navigation__link:hover {
  text-decoration: none;
  color: #780000;
}
.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 1.3333333333rem 0 0.8888888889rem 0;
  font-size: 0.7777777778rem;
  letter-spacing: 0.0722222222em;
}
@media (min-width: 400px) {
  .breadcrumbs {
    font-size: 0.8888888889rem;
  }
}
.breadcrumbs li {
  display: flex;
  align-items: center;
  color: #3c3c3c;
  margin: 0;
  padding: 0;
}
.breadcrumbs li:empty {
  display: none;
}
.breadcrumbs li:not(:first-child)::before {
  content: "/";
  margin: 0 0.5em;
  color: #3c3c3c;
}
.breadcrumbs li a {
  text-decoration: none;
  color: inherit;
}
.breadcrumbs li a:hover {
  text-decoration: underline;
}
.breadcrumbs--back .a-icon__svg {
  margin-right: 5px;
}
.footer__row {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.footer__top {
  background-color: #f5fbfd;
  padding: 2.6666666667rem 0;
}
@media (min-width: 1000px) {
  .footer__top {
    padding: 2.6666666667rem 1.3333333333rem 2.6666666667rem 1.3333333333rem;
  }
}
.footer__top .footer__col {
  text-align: center;
}
@media (min-width: 1000px) {
  .footer__top .footer__col {
    text-align: left;
  }
}
.footer__inner {
  width: 100%;
  max-width: 1280px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 0.4444444444rem;
  justify-content: space-between;
}
@media (min-width: 1000px) {
  .footer__inner {
    display: flex;
    flex-wrap: wrap;
    gap: 2.6666666667rem;
  }
}
.footer__btm .footer__inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: center;
  gap: 0;
}
.footer__heading {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  padding: 0.4444444444rem 0;
  font-size: 1.1111111111rem;
}
@media (min-width: 1150px) {
  .footer__heading {
    padding: 0;
  }
}
.footer__items {
  display: none;
  background-color: #eff8fb;
  padding: 0.6666666667rem 0;
}
.footer__heading--active + .footer__items {
  display: block;
}
@media (min-width: 1000px) {
  .footer__items {
    display: block;
    background-color: transparent;
    padding: 0.6666666667rem 0 0 0;
  }
}
.footer__items li {
  font-size: 0.9444444444rem;
}
.footer__items a {
  display: block;
  color: #3c3c3c;
  padding: 0.2777777778rem 0;
}
.footer__items a:hover {
  text-decoration: none;
  color: #780000;
}
.footer__btm .footer__socials {
  display: flex;
  flex-direction: column;
  gap: 0.8888888889rem;
  width: 100%;
  justify-content: center;
  margin-bottom: 1.3333333333rem;
}
@media (min-width: 768px) {
  .footer__btm .footer__socials {
    flex-direction: column;
  }
}
@media (min-width: 1150px) {
  .footer__btm .footer__socials {
    display: none;
  }
}
.footer__top .footer__socials {
  display: none;
}
@media (min-width: 1150px) {
  .footer__top .footer__socials {
    display: block;
  }
}
.footer__btm {
  background-color: #ffffff;
  padding: 1.3333333333rem;
}
.footer__btm .footer__socials {
  display: flex;
}
@media (min-width: 1150px) {
  .footer__btm .footer__socials {
    display: none;
  }
}
.footer__legal {
  display: flex;
  gap: 0.8888888889rem;
  flex-direction: column;
}
@media (min-width: 768px) {
  .footer__legal {
    flex-direction: row;
  }
}
.footer__btm-links {
  display: flex;
  justify-content: center;
  width: 100%;
  gap: 0.8888888889rem;
  font-size: 0.8333333333rem;
  flex-direction: column;
}
@media (min-width: 768px) {
  .footer__btm-links {
    flex-direction: row;
  }
}
.footer__btm-links a {
  color: #3c3c3c;
}
.footer__btm-links a:hover {
  text-decoration: none;
  color: #780000;
}
.blockquotes {
  margin: 2.6666666667rem;
}
.blockquotes:last-child {
  margin-bottom: 0;
}
.blockquotes blockquote {
  font-size: 2.7777777778rem;
  text-align: center;
  margin: 0;
}
.blockquotes cite {
  text-align: right;
  width: 100%;
  display: inline-block;
}

.hero__wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 1800px;
}
.hero__wrap .f-carousel__viewport {
  width: 100%;
}
.hero__container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.hero__inner {
  width: 100%;
  max-width: 1800px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.hero__img {
  max-width: 1800px;
  position: relative;
  width: 100%;
}
.hero__img-caption {
  opacity: 0;
  transition: opacity 0.3s ease;
  position: absolute;
  bottom: 0;
  left: 0;
  background: rgba(245, 251, 253, 0.8);
  width: 100%;
  padding: 0.8888888889rem;
}
.hero__img-caption P:last-child {
  margin-bottom: 0;
}
@media (hover: hover) {
  .hero__img:hover .hero__img-caption {
    opacity: 1;
  }
}
.hero__img--active .hero__img-caption {
  opacity: 1;
}
.hero__img img {
  display: block;
  object-fit: cover;
  object-position: center;
  aspect-ratio: 1/1;
  width: 100%;
}
@media (min-width: 768px) {
  .hero__img img {
    aspect-ratio: auto;
  }
}
.hero__slide {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.hero__txt {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.3333333333rem;
  text-align: center;
  max-width: 41.6666666667rem;
}
.hero__txt h1, .hero__txt h2 {
  font-size: 1.4444444444rem;
  text-transform: uppercase;
  letter-spacing: 0.3em;
}
@media (min-width: 768px) {
  .hero__txt h1, .hero__txt h2 {
    font-size: 1.4444444444rem;
  }
}
@media (min-width: 768px) {
  .hero__txt {
    padding: 2.6666666667rem;
  }
}
.hero-sub {
  display: flex;
  justify-content: center;
}
.hero-sub__img img {
  display: block;
  width: 100%;
}
.hero-sub__inner {
  width: 100%;
  max-width: 1280px;
}
.hero-sub--full-width .hero-sub__inner {
  max-width: none;
}

.hero--video {
  position: relative;
  height: 67vh;
}
.hero--video .hero__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.hero--video .hero__overlay {
  background-color: rgba(0, 0, 0, 0.3);
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.hero--video .hero__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  padding: 1.3636363636rem;
  /* background: rgba(246, 242, 235, .5); */
  color: white;
}

/*===================
VARIABLES
====================*/
input, textarea, select, button {
  letter-spacing: 0.0722222222em;
}
input:disabled, textarea:disabled, select:disabled, button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

input[type=number] {
  text-align: center;
  padding-right: 0; /* remove space reserved for spinner */
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  display: none;
  -webkit-appearance: textfield;
  margin: 0;
  appearance: textfield;
}

.placeholder, .form__textarea::placeholder, .form__input::placeholder {
  color: #3c3c3c;
  opacity: 1;
}

.form {
  /*===================
  INPUT
  ====================*/
  /*===================
  TEXT AREA
  ====================*/
  /*===================
  SELECT DROPDOWNS
  ====================*/
  /*===================
  CHECKBOXES
  ====================*/
  /*===================
  RADIO
  ====================*/
}
.form--account {
  margin-bottom: 2.6666666667rem;
}
.form__wrap {
  padding: 1.3333333333rem 2.6666666667rem;
}
.form__wrap--nopad {
  padding: 0;
}
.form__wrap h2 {
  color: #3c3c3c;
}
@media (min-width: 768px) {
  .form__wrap--narrow {
    max-width: 580px;
  }
}
.form__row {
  margin-bottom: 1.1111111111rem;
  display: flex;
  flex-direction: column;
}
.form__row:last-child {
  margin-bottom: 0;
}
.form__row--inline {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.1111111111rem;
}
@media (min-width: 768px) {
  .form__row--inline {
    grid-template-columns: 1fr 1fr;
  }
}
.form__label {
  padding: 0.8888888889rem 0.8888888889rem 0.8888888889rem 0;
}
.form--inline .form__label {
  padding: 0.8888888889rem;
}
.form__text {
  margin: 0.8888888889rem 0 0 0;
}
.form__input {
  padding: 0.8888888889rem;
  border: none;
  width: 100%;
  background-color: #f5fbfd;
}
.form--white .form__input {
  background-color: #ffffff;
}
.form__input--wbtn {
  display: flex;
  width: 100%;
}
.form__textarea {
  width: 100%;
  padding: 0.8888888889rem;
  background-color: #f5fbfd;
  border: none;
  min-height: 9.1666666667rem;
}
.form--white .form__textarea {
  background-color: #ffffff;
}
.form__select {
  background-color: #f5fbfd;
  width: 100%;
  position: relative;
  margin-bottom: auto;
}
.form--white .form__select {
  background-color: #ffffff;
}
.form__select-input {
  appearance: none;
  color: #3c3c3c;
  width: 100%;
  border: none;
  background: none;
  padding: 0.8888888889rem;
}
.form__select-input--icon {
  padding-right: 1.7777777778rem;
}
.form__select-icon {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  display: flex;
  align-items: center;
  padding-right: 0.4444444444rem;
  color: #780000;
  pointer-events: none;
}
.form__checkbox {
  display: block;
  margin-right: 5px;
}
.form__checkbox-label {
  display: flex;
}
.form__checkbox-styled {
  display: block;
  position: relative;
  padding-left: calc(25px + 0.8888888889rem);
  cursor: pointer;
  user-select: none;
}
.form__checkbox-styled ~ .form__checkbox-styled {
  margin-top: 0.8888888889rem;
}
.form__checkbox-styled-tick {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: #f5fbfd;
}
.form__checkbox-styled-tick::after {
  content: "";
  position: absolute;
  display: none;
  left: 9px;
  top: 5px;
  width: 5px;
  height: 10px;
  border: solid #f5fbfd;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
}
.form__checkbox-styled input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.form__checkbox-styled input ~ .form__checkbox-styled-tick {
  background-color: #eff8fb;
}
.form__checkbox-styled input:checked ~ .form__checkbox-styled-tick {
  background-color: #780000;
}
.form__checkbox-styled input:checked ~ .form__checkbox-styled-tick::after {
  display: block;
}
.form__radio-styled {
  display: block;
  position: relative;
  padding-left: calc(24px + 0.8888888889rem);
  margin-bottom: 0.8888888889rem;
  cursor: pointer;
  user-select: none;
}
.form__radio-styled-dot {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 24px;
  width: 24px;
  background-color: transparent;
  border-radius: 50%;
  border: 1px solid #3c3c3c;
}
.form__radio-styled-dot::after {
  content: "";
  display: none;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  background-color: #780000;
}
.form__radio-styled input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.form__radio-styled input:checked ~ .form__radio-styled-dot {
  border-color: #3c3c3c;
  background-color: transparent;
}
.form__radio-styled input:checked ~ .form__radio-styled-dot::after {
  display: block;
}
.form__inline-btn {
  padding: 0 1.3333333333rem;
  background-color: #f5fbfd;
}
.form__inline-btn svg {
  fill: #780000;
}

/*====MY DETAILS FORM====*/
.form__wrap--mydetails {
  padding: 0;
}
.form__wrap--mydetails h1 {
  margin-bottom: 2.6666666667rem;
  text-transform: none;
  letter-spacing: 0.0722222222em;
}

.form__toggle {
  display: inline-flex;
  font-size: 0.7777777778rem;
  overflow: hidden;
}
.form__toggle input[type=radio] {
  display: none;
}
.form__toggle input[type=radio]:checked + label {
  border: 1px solid #780000;
}
.form__toggle label {
  padding: 6px 10px;
  cursor: pointer;
  background: #ffffff;
  color: #3c3c3c;
  line-height: 1;
  user-select: none;
  transition: all 0.2s ease;
}

.form-address {
  background-color: #ffffff;
}
.form-address .form__row {
  display: grid;
  grid-template-columns: 16.6666666667rem 1fr;
}
.form-address .form__row.form__row--wide {
  grid-template-columns: 1fr;
}
.form-address .form__row:last-child {
  margin-bottom: 0;
}
/*====CONTACT FORM====*/
.form-contact__icon {
  display: flex;
  justify-self: center;
  justify-content: center;
  align-items: center;
  color: #780000;
}
.form-contact__wrap {
  padding: 1.3333333333rem;
  border: 2px solid #f5fbfd;
  display: flex;
  justify-content: center;
  width: 100%;
}
@media (min-width: 768px) {
  .form-contact__wrap {
    padding: 2.6666666667rem 2.6666666667rem 1.3333333333rem 2.6666666667rem;
  }
}
.form-contact__inner {
  width: 100%;
  max-width: 66.6666666667rem;
}

/*===password reveal styles==*/
.input__reveal {
  display: flex;
  background-color: #f5fbfd;
}
.input__reveal:focus-within {
  outline: 1px solid #780000;
  outline-offset: 2px;
}
.input__reveal input:focus {
  outline: none;
}
.form--white .input__reveal {
  background-color: #ffffff;
}
.input__reveal button {
  display: flex;
  align-items: center;
  color: #780000;
  padding-right: 5px;
}
.input__reveal button .input__reveal-icon--on {
  display: none;
}
.input__reveal button[aria-pressed=true] .input__reveal-icon--off {
  display: none;
}
.input__reveal button[aria-pressed=true] .input__reveal-icon--on {
  display: block;
}

:root {
  --hsf-global__font-family: Forum, sans-serif;
  --hsf-global__font-size: 18px;
  --hsf-global__color: #3c3c3c;
  --hsf-background__background-color: transparent;
  --hsf-row__horizontal-spacing: 1.3333333333rem;
  --hsf-button__font-family: Forum, sans-serif;
  --hsf-button__color: #780000;
  --hsf-button__background-color: transparent;
  --hsf-button__border-radius: none;
  --hsf-field-input__background-color: #f5fbfd;
  --hsf-field-input__border-color: #f5fbfd;
  --hsf-field-input__padding: 0.8888888889rem;
  --hsf-field-input__placeholder-color: #3c3c3c;
  --hsf-field-input__border-radius: none;
  --hsf-field-checkbox__background-color: #f5fbfd;
  --hsf-field-checkbox__color: #780000;
  --hsf-field-label-requiredindicator__color: #780000;
  --hsf-erroralert__color: #780000;
}

input[type=checkbox] {
  --hsf-field-input__padding: 10px;
}

.hsfc-Button {
  --hsf-default-button__border-color: #780000;
  --hsf-default-button__border-width:1px 0 1px 0;
  --hsf-default-button__border-style: solid;
  --hsf-button__padding: 0.5555555556rem 0.2222222222rem 0.5555555556rem 0.5555555556rem;
  display: inline-block;
  background-color: #ffffff;
  padding: 0.3333333333rem 1.1111111111rem;
  color: #780000;
  transition: background-color 0.5s, color 0.5s;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  margin-right: auto !important;
  position: relative;
  background-color: transparent;
  border-left: none;
  border-right: none;
  color: #780000;
  padding: 0.5555555556rem 0.2222222222rem 0.5555555556rem 0.5555555556rem;
}
.hsfc-Button:hover {
  transform: translateY(0px) !important;
}
.hsfc-Button:hover, a.card:hover .hsfc-Button {
  background-color: transparent;
  color: #780000;
}
.hsfc-Button:hover::after, .hsfc-Button:hover::before, a.card:hover .hsfc-Button::after, a.card:hover .hsfc-Button::before {
  height: 100%;
}
.hsfc-Button::after, .hsfc-Button::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 0;
  background: #780000;
  transition: height 0.3s ease;
}
.hsfc-Button::after {
  top: 0;
  right: 0;
}
.hsfc-Button::before {
  bottom: 0;
  left: 0;
}

.hsfc-NavigationRow__Buttons:has(> :only-child) .hsfc-Button {
  margin-right: 0 !important;
}

.product__tech-table {
  line-height: 1.2;
}
.product__tech-table table + table {
  margin-top: 1.3333333333rem;
}
.product__tech-table th {
  text-transform: capitalize;
  letter-spacing: 0.0722222222em;
}

.profile-widget {
  display: flex;
  visibility: hidden;
  overflow: hidden;
  max-height: 0;
  background-color: #eff8fb;
  justify-content: center;
  width: 100%;
  position: absolute;
  top: var(--header-height);
  left: 0;
  transition: max-height 500ms ease, visibility 500ms ease;
}
.profile-widget__inner {
  padding: 0.8888888889rem;
  max-width: 600px;
  width: 100%;
}
.profile-widget.is-open {
  visibility: visible;
  max-height: 17.7777777778rem;
  opacity: 1;
  display: flex;
}
.profile-widget p {
  margin-bottom: 0.4444444444rem;
}
.profile-widget .form__input, .profile-widget .form__inline-btn {
  background-color: #ffffff;
}
.profile-widget__register {
  width: 100%;
}

.btn {
  display: inline-block;
  background-color: #ffffff;
  padding: 0.3333333333rem 1.1111111111rem;
  color: #780000;
  transition: background-color 0.5s, color 0.5s;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  border: 1px solid #780000;
  align-self: flex-start;
  font-size: 0.8888888889rem;
}
.btn .btn {
  font-size: 1.1111111111rem;
}
.btn--right {
  align-self: flex-end;
}
.btn__wrap {
  padding-top: 0.8888888889rem;
}
.l-site__main .l-content > .btn, .l-site__main .l-grid__col > .btn {
  margin-bottom: 0.8888888889rem;
}
.btn__block {
  display: block;
}
.btn__block:not(.u-no-margin) {
  margin: 0.8888888889rem 0 !important;
}
.btn__block:last-child {
  margin-bottom: 0 !important;
}
.btn__block--right {
  display: flex;
  justify-content: flex-end;
}
.btn__block--center {
  display: flex;
  justify-content: center;
}
.btn--sm {
  margin-left: auto;
  margin-right: auto;
}
.btn:hover, a.card:hover .btn {
  background-color: #780000;
  color: #ffffff;
  text-decoration: none;
}
.btn--alt {
  background-color: #780000;
  padding: 0.8888888889rem;
  color: #eff8fb;
  font-weight: 600;
}
.btn--alt:hover, a.card:hover .btn--alt {
  background-color: #ffffff;
  color: #780000;
}
.btn--outline {
  position: relative;
  margin-top: 5px;
  margin-bottom: 5px;
  border: none;
  background-color: transparent;
}
.btn--outline:before, .btn--outline:after {
  position: absolute;
  top: -5px;
  left: 0;
  content: "";
  height: 2px;
  width: 100%;
  background-color: #780000;
}
.btn--outline:after {
  top: auto;
  bottom: -5px;
}
.btn--buy {
  background-color: #780000;
}
.btn--icon {
  display: flex;
  gap: 0.6666666667rem;
}
.btn--simple {
  position: relative;
  background-color: transparent;
  border-left: none;
  border-right: none;
  color: #780000;
  padding: 0.5555555556rem 0.2222222222rem 0.5555555556rem 0.5555555556rem;
}
.btn--simple:hover, a.card:hover .btn--simple {
  background-color: transparent;
  color: #780000;
}
.btn--simple:hover::after, .btn--simple:hover::before, a.card:hover .btn--simple::after, a.card:hover .btn--simple::before {
  height: 100%;
}
.btn--simple::after, .btn--simple::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 0;
  background: #780000;
  transition: height 0.3s ease;
}
.btn--simple::after {
  top: 0;
  right: 0;
}
.btn--simple::before {
  bottom: 0;
  left: 0;
}

.btn-reset {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
}
.btn-reset svg {
  fill: #780000;
}

.btn-backtotop {
  display: flex;
  align-items: center;
  gap: 0.6666666667rem;
}
.btn-backtotop:hover {
  color: #780000;
}
.btn-backtotop__icon {
  display: flex;
  color: #780000;
}

/*===Button Layout===*/
.btn__group {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.3333333333rem;
  margin-bottom: 1.3333333333rem;
}
.btn__group--2 {
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .btn__group--2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.btn__group--3 {
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .btn__group--3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1000px) {
  .btn__group--3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
.btn__group--4 {
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .btn__group--4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1000px) {
  .btn__group--4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
.btn__group-item {
  display: inline;
}

.btn-account {
  text-align: left;
  padding: 0.8888888889rem;
  border: 1px solid #f5fbfd;
}
.btn-account--icon {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.btn-account__icon {
  display: flex;
  align-items: center;
}
.btn-account__icon svg {
  fill: #780000;
}

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

.header__search {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1px;
}
@media (min-width: 1150px) {
  .header__search {
    position: relative;
  }
}
.header__search-input-wrap {
  position: relative;
  display: inline-block;
}

.header__search-input {
  padding: 0.4rem 0.6rem;
  border: none;
  width: 100%;
  border-bottom: 1px solid #780000;
}
@media (min-width: 1150px) {
  .header__search-input {
    border-bottom: none;
  }
}
.header__search-input:focus-within, .header__search-input:focus {
  outline: none;
}
.header__search-input-wrap {
  width: 0;
  opacity: 0;
  pointer-events: none;
  border: 0;
  position: absolute;
  left: 0;
  bottom: -3.6111111111rem;
  padding: 0.8888888889rem;
  display: flex;
  justify-content: center;
}
@media (min-width: 1150px) {
  .header__search-input-wrap {
    transition: width 200ms ease, opacity 200ms ease, padding 200ms ease;
    padding: 0 0 0 1.5555555556rem;
    bottom: auto;
  }
}
.is-open .header__search-input-wrap {
  width: 100%; /* adjust */
  opacity: 1;
  pointer-events: auto;
  background-color: #ffffff;
}
@media (min-width: 1150px) {
  .is-open .header__search-input-wrap {
    background-color: transparent;
    border-bottom: 1px solid #780000;
    width: 14rem;
  }
}
.header__search-input-wrap .search__submit {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 1150px) {
  .header__search-input-wrap .search__submit {
    display: none;
  }
}
.header__search-input-inner {
  width: 100%;
  max-width: 600px;
  display: flex;
  background-color: #ffffff;
  padding-right: 0.1666666667rem;
  transition: opacity 900ms ease;
  opacity: 1;
  position: relative;
}
.is-open .header__search-input-inner {
  opacity: 1;
}
@media (min-width: 1150px) {
  .header__search-input-inner {
    background-color: transparent;
  }
}

.search__clear {
  align-items: center;
  display: none;
}

.header__search.has-value .search__clear {
  background: #f5fbfd;
  display: flex;
}

#search-typeahead {
  position: fixed;
  z-index: 9999;
  margin: 0;
  padding: 0;
  list-style: none;
  background: #fff;
  border: 1px solid #ddd;
  border-top: none;
  border-radius: 0 0 4px 4px;
  overflow: hidden;
}
#search-typeahead li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  font-size: 14px;
  border-bottom: 1px solid #f0f0f0;
  cursor: pointer;
  transition: background 0.1s ease;
}
#search-typeahead li:last-child {
  border-bottom: none;
}
#search-typeahead li:hover, #search-typeahead li.is-active {
  background: #f5f5f5;
}
#search-typeahead li .search-typeahead__name {
  color: #222;
}
#search-typeahead li .search-typeahead__category {
  font-size: 11px;
  color: #888;
  text-transform: capitalize;
}

.search__item h3 {
  letter-spacing: 0.0722222222em;
}

.search__results h2 {
  letter-spacing: 0.0722222222em;
}

.filters-bar__filters {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.6666666667rem;
}
@media (min-width: 768px) {
  .filters-bar__filters--blog .filters-bar__filters-item {
    grid-column: 3;
  }
}
@media (min-width: 768px) {
  .filters-bar__filters {
    gap: 1.3333333333rem;
    grid-template-columns: repeat(3, 1fr);
  }
}
.filters-bar__filters .btn-reset {
  position: absolute;
  top: -2.05rem;
  right: 0;
}
.filters-bar__wrap {
  padding-top: 2.0555555556rem;
}
#filter-app .filters-bar__wrap {
  padding-top: 0;
}
.filters-bar__wrap + #googlemap {
  margin-top: 1.3333333333rem;
}

a.card {
  text-decoration: none;
}
a.card:hover {
  text-decoration: none;
}

.card {
  display: flex;
  flex-direction: column;
  margin-bottom: 1.3333333333rem;
  align-items: center;
  padding: 0 0.8888888889rem;
}
.l-grid .card, .l-grid-flex .card {
  margin-bottom: 0;
}
.l-grid .l-grid__col:last-child .card {
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .card {
    margin-bottom: 0;
  }
}
.card--img {
  padding: 0;
}
.card__img {
  overflow: hidden;
  width: 100%;
}
@media (min-width: 768px) {
  .card__img {
    padding: 0;
  }
}
.card__img img {
  aspect-ratio: 1/1;
  object-fit: cover;
  display: block;
  width: 100%;
}
@media (min-width: 768px) {
  .card__img--portrait img {
    aspect-ratio: 70/99;
  }
}
.card__details {
  padding: 1.3333333333rem;
}
.card__header {
  font-size: 1.4444444444rem;
  text-transform: uppercase;
}
@media (min-width: 768px) {
  .card__header {
    font-size: 1.4444444444rem;
  }
}
.card__txt {
  padding: 1.3333333333rem 1.3333333333rem 0 1.3333333333rem;
  text-align: center;
  max-width: 25rem;
}
.card__txt *:first-child {
  margin-top: 0;
}
.card__txt > *:not(.btn) {
  color: #3c3c3c;
}
.card__txt br {
  display: none;
}
@media (min-width: 768px) {
  .card__txt {
    padding: 2.6666666667rem 1.3333333333rem 0 1.3333333333rem;
  }
  .card__txt br {
    display: inline;
  }
}

a.card--pop {
  transition: scale 0.3s ease;
}
a.card--pop .card__img--landscape {
  background-color: rgba(0, 0, 0, 0.2);
}
a.card--pop .card__img--landscape::before {
  background-color: rgba(0, 0, 0, 0.2);
}
a.card--pop .card__img--landscape + .card__txt .card__header {
  color: #ffffff;
}
a.card--pop:hover {
  scale: 1.02;
}
a.card--pop:hover .card__img--landscape::before {
  background-color: rgba(245, 251, 253, 0.7);
}
a.card--pop:hover .card__img--landscape + .card__txt .card__header {
  color: #3c3c3c;
}

/*======
CARD landscape
======*/
.card__img--landscape {
  padding: 0;
}
.card__img--landscape img {
  aspect-ratio: 2/1;
}

/*======
CARD WIDE
======*/
.carousel .card {
  padding: 0;
  margin-bottom: 0;
}
.carousel .card .card__txt {
  width: 100%;
  max-width: none;
}
.carousel .card .card__header {
  width: 100%;
  text-transform: none;
  margin-bottom: 0;
}
.card--wide {
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 1800px;
  margin-left: auto;
  margin-right: auto;
}
.card--wide .card__img {
  padding: 0;
}
.card--wide .card__img img {
  aspect-ratio: auto;
}
.card--wide .card__txt {
  max-width: 41.6666666667rem;
  text-align: center;
}
.card--simple {
  padding: 0;
}
.card--simple .card__txt {
  padding: 0;
  text-align: left;
  width: 100%;
  padding: 0.4444444444rem 0 0 0;
}
.card--simple .card__header {
  font-size: 1.2222222222rem;
  color: #3c3c3c;
  padding: 0;
  text-transform: uppercase;
  letter-spacing: 0.3em;
}
.card--text {
  padding: 0;
  align-items: center;
}
.card--text .card__txt {
  max-width: 50rem;
}
.card--img {
  padding: 0;
  position: relative;
}
.card--img .card__img {
  position: relative;
}
.card--img .card__img::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
}
.card--img .card__txt {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  max-width: none;
}
.card--img .card__header {
  margin: 0;
}

.card--overlay {
  position: relative;
}
.card--overlay .card__txt {
  position: absolute;
  top: 20%;
}

/*==========
CARD CONTACT
===========*/
.card-contact {
  background-color: #f5fbfd;
  height: 100%;
}
.card-contact__inner {
  padding: 1.3333333333rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media (min-width: 768px) {
  .card-contact__inner {
    padding: 2.6666666667rem 3.5555555556rem;
  }
}
.card-contact__row {
  margin-bottom: 1.1111111111rem;
}
.card-contact P {
  margin: 0;
}
.card-contact__title {
  color: #3c3c3c !important;
  text-transform: uppercase;
  letter-spacing: 0.3em;
}
.card-contact a {
  color: #3c3c3c;
  text-decoration: none;
}
.card-contact a:hover {
  color: #780000;
}

#googlemap .card-contact__inner {
  padding: 10px !important;
  background: none !important;
}
#googlemap .card-contact__row {
  margin: 0 !important;
}
#googlemap .card-contact__row.card-contact__title {
  margin-bottom: 10px !important;
}
#googlemap p {
  margin-bottom: 9px !important;
}

.video-thumb {
  width: 100%;
  max-width: 50rem;
  overflow: hidden;
}

.video-thumb video {
  width: 100%;
  display: block;
}

.commerce-loader .c-checkout {
  opacity: 0.3;
}

.checkout {
  position: relative;
}
.checkout__loader {
  position: fixed;
  display: none;
  top: 30vh;
  left: 0;
  height: 30px;
  width: 100%;
}
.commerce-loader .checkout__loader {
  display: block;
}
.checkout__details .l-grid {
  margin-top: 0;
}
.checkout__steps .checkout__step:last-child {
  border: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
.checkout__step {
  display: grid;
  margin-bottom: 2.6666666667rem;
  padding-bottom: 2.6666666667rem;
  border-bottom: 2px solid #f5fbfd;
}
.checkout__step *:last-child {
  margin-bottom: 0;
}
.checkout__step *:first-child {
  margin-top: 0;
}
.checkout__step-subtitle {
  text-transform: none;
  letter-spacing: 0.0722222222em;
  margin-top: 0;
}
.checkout__step-content {
  padding: 1.3333333333rem 0.8888888889rem;
}
.checkout__step-title {
  color: #3c3c3c !important;
}
.checkout__step-row {
  position: relative;
  margin-bottom: 1.3333333333rem;
}
.checkout__step-details .l-grid {
  margin-top: 0;
}
.checkout-step-option-nopad {
  padding: 0;
}
.checkout-step-option__title {
  background-color: transparent;
  text-align: left;
  padding: 0.8888888889rem;
  border: 1px solid #f5fbfd;
  display: flex;
  gap: 1.3333333333rem;
  justify-content: space-between;
}
.checkout-step-option__icon {
  order: 2;
}
.checkout__notes {
  margin-top: 2.6666666667rem;
  padding-top: 2.6666666667rem;
  border-top: 2px solid #f5fbfd;
}
.checkout__footer {
  margin-top: 2.6666666667rem;
  border-top: 2px solid #f5fbfd;
}
.checkout__footer .l-grid__col:first-child {
  padding-right: 16.6666666667rem;
}

.checkout-payment__logos {
  margin-top: 1.3333333333rem;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}
.checkout-payment__logo {
  border: 1px solid #dae0e1;
  border-radius: 3px;
  overflow: hidden;
}
.checkout-payment__logo img {
  text-align: center;
  flex-shrink: 1;
  min-height: 16px;
  max-height: 48px;
  padding-top: 0;
  padding-left: 0;
}

.checkout-step-option .checkout-step-option__icon--checked {
  display: none;
}
.checkout-step-option .checkout-step-option__icon--unchecked {
  display: block;
}

.checkout-step-option--active + .u-collapsable-toggle__title .checkout-step-option__title, .checkout-step-option--active .u-collapsable-toggle__title .checkout-step-option__title, .u-collapsable-toggle:checked + .u-collapsable-toggle__title .checkout-step-option__title, .u-collapsable-toggle:checked .u-collapsable-toggle__title .checkout-step-option__title {
  background-color: #eff8fb;
  color: #3c3c3c;
}
.checkout-step-option--active + .u-collapsable-toggle__title .checkout-step-option__icon--checked, .checkout-step-option--active .u-collapsable-toggle__title .checkout-step-option__icon--checked, .u-collapsable-toggle:checked + .u-collapsable-toggle__title .checkout-step-option__icon--checked, .u-collapsable-toggle:checked .u-collapsable-toggle__title .checkout-step-option__icon--checked {
  display: block;
}
.checkout-step-option--active + .u-collapsable-toggle__title .checkout-step-option__icon--unchecked, .checkout-step-option--active .u-collapsable-toggle__title .checkout-step-option__icon--unchecked, .u-collapsable-toggle:checked + .u-collapsable-toggle__title .checkout-step-option__icon--unchecked, .u-collapsable-toggle:checked .u-collapsable-toggle__title .checkout-step-option__icon--unchecked {
  display: none;
}
.checkout-step-option--active + .u-collapsable-toggle__title + .checkout__step-content, .checkout-step-option--active .u-collapsable-toggle__title + .checkout__step-content, .u-collapsable-toggle:checked + .u-collapsable-toggle__title + .checkout__step-content, .u-collapsable-toggle:checked .u-collapsable-toggle__title + .checkout__step-content {
  border: 1px solid #f5fbfd;
}

.product-card {
  position: relative;
  overflow: hidden;
  color: #3c3c3c;
  display: block;
}
.product-card:hover {
  text-decoration: none;
}
.product-card img {
  display: block;
  width: 100%;
}
.product-card__title {
  display: flex;
  justify-content: space-between;
  text-transform: uppercase;
  letter-spacing: 0.3em;
}
.product-card__title:has(.product-card__download:hover) {
  color: #780000;
}
.product-card__title-colourway {
  display: block;
  text-transform: capitalize;
  letter-spacing: 0.0722222222em;
}
.megamenu .product-card__title {
  font-size: 0.7777777778rem;
}
.product-card__img {
  position: relative;
}
.product-card__img-lifestyle {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
}
.product-card__img:hover .product-card__img-lifestyle {
  opacity: 1;
}
.product-card__download {
  color: #3c3c3c;
  transition: transform 0.3s ease, color 0.3s ease;
}
.product-card__download .a-icon__svg {
  width: 1.2777777778rem;
  height: 1.2777777778rem;
}
.product-card__download:hover {
  color: #780000;
  transform: scale(1.1);
}
.product-card__footer {
  padding-top: 0.4444444444rem;
}
.product-card__ribbon-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  width: 25%;
  aspect-ratio: 1/1;
  transform: rotate(45deg);
  z-index: 1;
}
.product-card__ribbon-wrap .product-card__ribbon {
  position: absolute;
  width: 400px;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  padding: 5px 0;
  background-color: #f5fbfd;
  color: #780000;
}
.megamenu .product-card__ribbon-wrap .product-card__ribbon {
  font-size: 0.5555555556rem;
  text-transform: uppercase;
  letter-spacing: 0.3em;
}

.newsletter-signup {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #eff8fb;
  padding: 2.6666666667rem 1.3333333333rem;
}
@media (min-width: 768px) {
  .newsletter-signup {
    padding: 1.3333333333rem 1.3333333333rem;
  }
}
.newsletter-signup__inner {
  width: 100%;
  max-width: 1280px;
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  gap: 1.3333333333rem;
  position: relative;
}
@media (min-width: 768px) {
  .newsletter-signup__inner {
    display: flex;
    justify-content: center;
  }
  .newsletter-signup__inner .btn-backtotop {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }
}
.newsletter-signup .btn-backtotop {
  order: 2;
}
@media (max-width: 768px) {
  .newsletter-signup .btn-backtotop {
    margin-left: auto;
    margin-right: auto;
  }
}
.newsletter-signup__btn {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
@media (max-width: 768px) {
  .newsletter-signup__btn {
    margin-left: auto;
    margin-right: auto;
  }
}
.newsletter-signup__btn .btn {
  align-self: inherit;
}

#newsletterOverlay {
  width: 100%;
  max-width: 580px;
  --f-html-padding: 0;
  --f-close-button-color: setcolor(1);
}
#newsletterOverlay .newsletter-widget {
  border: none;
}

.newsletter-widget {
  margin: auto;
  border: 2px solid #f5fbfd;
  max-width: 32.2222222222rem;
  width: 100%;
  padding: 1.3333333333rem;
}
.l-content .newsletter-widget {
  margin: 2.6666666667rem auto;
}
@media (min-width: 768px) {
  .newsletter-widget {
    padding: 3.5555555556rem;
  }
}
.newsletter-widget__top {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.newsletter-widget__title {
  text-transform: uppercase;
  letter-spacing: 0.3em;
  text-align: center;
  margin-top: 0;
}
.newsletter-widget__title span {
  display: block;
  text-transform: none;
  letter-spacing: 0.0722222222em;
}
.newsletter-widget__icon svg {
  fill: #780000;
}

/*===================
styles for the newsletter widget
===================*/
.newsletter-widget--hubspot {
  max-width: 40rem;
  padding: 1.3333333333rem 0.8888888889rem;
}
.newsletter-widget--hubspot form {
  text-align: left;
}

.tiles__wrap {
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  gap: 0;
}
@media (min-width: 1000px) {
  .tiles__wrap {
    gap: 1.3333333333rem;
  }
}
.tiles__item {
  padding: 2.6666666667rem;
  background-color: #eff8fb;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
}
@media (min-width: 1000px) {
  .tiles__item {
    padding: 1.3333333333rem;
    aspect-ratio: 1/0.5;
  }
}
.tiles__item-heading {
  text-align: center;
  text-transform: uppercase;
}

.product__top {
  display: grid;
  grid-template-columns: 1fr;
  column-gap: 2rem;
  row-gap: 0; /* key: no forced vertical gaps */
  align-items: start;
  grid-template-areas: "heading" "left" "right";
}
@media (min-width: 1000px) {
  .product__top {
    grid-template-columns: minmax(0, 50%) 1fr minmax(0, 650px);
    grid-template-areas: "left . right";
    justify-content: end;
  }
}

.product__left {
  grid-area: left;
}

.product__right {
  grid-area: right;
}

.product__header--desktop {
  display: none;
}
@media (min-width: 1000px) {
  .product__header--desktop {
    display: block;
  }
}
.product__header--mobile {
  grid-area: heading;
}
@media (min-width: 1000px) {
  .product__header--mobile {
    display: none;
  }
}

.product__description--desktop {
  padding-top: 0.8888888889rem;
  display: none;
}
@media (min-width: 1000px) {
  .product__description--desktop {
    display: block;
  }
}
@media (min-width: 1000px) {
  .product__description--mobile {
    display: none;
  }
}

.product h4 {
  color: #3c3c3c;
  margin: 0 0 0.8888888889rem 0;
}
.product__top {
  padding-bottom: 2.6666666667rem;
}
.product__section {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.3333333333rem;
}
.product__section-inner {
  border-top: 2px solid #f5fbfd;
  padding-top: 1.3333333333rem;
  width: 100%;
  max-width: 1280px;
}
.product__section h2 {
  text-transform: none;
  letter-spacing: 0.0722222222em;
  text-align: center;
  color: #780000;
  font-weight: normal;
}
.product__title {
  margin-bottom: 0;
}
.product__title-variant {
  padding-top: 0.4444444444rem;
  font-size: 1.1111111111rem;
}
.product__title-variant span {
  font-style: italic;
}
.product__title + .product__title-variant {
  padding-top: 0;
}
.product__price {
  margin: 0.6666666667rem 0;
}
.product__price-fig {
  font-size: 1.1111111111rem;
}
.product__swatches {
  display: grid;
  gap: 0.4444444444rem;
  grid-template-columns: repeat(5, minmax(2.2222222222rem, 1fr));
  padding-bottom: 5px;
}
@media (min-width: 768px) {
  .product__swatches {
    gap: 0.8888888889rem;
    grid-template-columns: repeat(4, minmax(2.2222222222rem, 1fr));
  }
}
@media (min-width: 768px) {
  .product__swatches {
    gap: 0.8888888889rem;
    grid-template-columns: repeat(4, minmax(2.2222222222rem, 1fr));
  }
}
@media (min-width: 1000px) {
  .product__swatches {
    grid-template-columns: repeat(5, minmax(2.2222222222rem, 1fr));
  }
}
@media (min-width: 1150px) {
  .product__swatches {
    gap: 1.3333333333rem;
  }
}
.gallery-thumbnails .product__swatches-item {
  padding: 10px;
}
.product__swatches-item--selected img, .product__swatches-item.is-selected img {
  outline-offset: 3px;
  outline: 1px solid #780000;
}
.product__swatches-item img {
  display: block;
  width: 100%;
}
.product__additional {
  display: grid;
  grid-template-columns: 1fr;
}
.product__tech-details {
  text-align: left;
}
.product__tech-details h4 {
  color: #3c3c3c;
  text-transform: none;
}
.product__tech-details th {
  min-width: 180px;
  padding-right: 50px;
}
.product__tech-details div.product__tech-table tr *:first-child {
  min-width: 180px;
  padding-right: 50px;
}
.product__fabric_care_img {
  width: 100%;
  max-height: 1.1111111111rem;
}
.product__options {
  display: grid;
  grid-template-columns: 1fr;
  padding: 1.3333333333rem 0;
}
.product__options-title {
  text-transform: none;
  color: #3c3c3c;
  font-weight: normal;
  margin-bottom: 0.4444444444rem;
  margin-top: 0.4444444444rem;
}
.product__selection {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: flext-start;
  margin-bottom: 0.4444444444rem;
}
.product__selection-info {
  margin-top: -3px;
}
.product__selection-type {
  width: 100%;
}
.product__meterage-price {
  display: flex;
  align-items: center;
}
.product__form {
  container-type: inline-size;
  background-color: #f5fbfd;
  padding: 1.3333333333rem;
}
.product__form-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  margin-bottom: 0.8888888889rem;
}
.product__form .form__select {
  max-width: 7.7777777778rem;
}
.product__form-qty {
  width: 60px;
  border: none;
  text-align: center;
  height: 100%;
  margin: 0 10px;
  padding: 10px 0;
}
.product__form-control {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.2222222222rem 0.5555555556rem;
  background-color: #ffffff;
  color: #780000;
  height: 100%;
  touch-action: manipulation;
}
.product__form-control svg {
  pointer-events: none;
}
.product__form-control-wrap {
  display: flex;
  align-items: center;
  margin-left: auto;
}
.product-links {
  display: flex;
  align-items: flex-end;
}
.product-links__list {
  width: 100%;
  display: flex;
  gap: 0.4444444444rem;
  flex-direction: column;
}
.product-links__item {
  display: flex;
  align-items: center;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  color: #780000;
  font-weight: normal;
}
.product-links__item-icon {
  display: inline-flex;
  margin-right: 0.4444444444rem;
}

.f-button:hover svg {
  color: #780000;
}

#goesWithProduct .f-button {
  top: calc(var(--img-height) / 2) !important;
}

.carousel {
  margin: 1.3333333333rem 2.6666666667rem;
  --per-page: 1;
  --f-carousel-gap: 24px;
  --f-carousel-slide-width: calc(
      (100% - ((var(--per-page) - 1) * var(--f-carousel-gap)))
      / var(--per-page)
  );
  /*ARROWS*/
  --f-arrow-pos: -50px;
}
.carousel .f-button {
  top: calc(var(--img-height) / 2) !important;
  cursor: pointer;
}
.carousel .f-button:hover {
  color: #780000;
}
@media (min-width: 768px) {
  .carousel {
    --per-page: 2;
  }
}
@media (min-width: 1000px) {
  .carousel {
    --per-page: 3;
  }
}
@media (min-width: 1380px) {
  .carousel {
    --per-page: var(--max-per-page, 4);
    margin-left: 0;
    margin-right: 0;
  }
}
.l-section__inner--no-pad .carousel {
  margin-left: 2.6666666667rem !important;
  margin-right: 2.6666666667rem !important;
}
.carousel__cta {
  margin-top: 0;
  margin-bottom: 0;
}

.carousel-columns {
  margin: 1.3333333333rem 1.3333333333rem 0 1.3333333333rem;
  --per-page: 1;
  --f-carousel-gap: 24px;
  --f-carousel-slide-width: calc(
      (100% - ((var(--per-page) - 1) * var(--f-carousel-gap)))
      / var(--per-page)
  );
  /*ARROWS*/
  --f-arrow-pos: -50px;
}
@media (min-width: 1000px) {
  .carousel-columns {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.3333333333rem;
  }
  .carousel-columns .f-carousel__slide {
    grid-area: auto;
  }
}
.l-section__inner--no-pad .carousel-columns {
  margin-left: 2.6666666667rem !important;
  margin-right: 2.6666666667rem !important;
  --f-arrow-pos: -50px !important;
}

/*product carousel*/
#productCarousel.f-carousel {
  --per-page: 5;
  --f-carousel-gap: 10px;
  --f-carousel-slide-width: calc(
      (100% - ((var(--per-page) - 1) * var(--f-carousel-gap)))
      / var(--per-page)
  );
  /*ARROWS*/
  --f-arrow-pos: -50px;
}
@media (min-width: 1000px) {
  #productCarousel.f-carousel {
    --f-carousel-gap: 10px;
  }
}

.gallery-slide a {
  cursor: url("../img/icons/magnifying-glass-solid-full.svg") 8 8, zoom-in;
}

.product-carousel__wrap {
  padding: 1.3333333333rem 2.6666666667rem;
}
.product-carousel .is-prev {
  justify-content: flex-start;
}
.product-carousel .is-next {
  justify-content: flex-end;
}

.gallery-thumbnails {
  display: none;
}
@media (min-width: 1000px) {
  .gallery-thumbnails {
    display: block;
  }
}
.gallery-thumbnails .f-button:hover svg {
  color: #780000;
}

.gallery__main {
  --f-carousel-dots-height: 45px;
}
.gallery__main .f-button {
  background: rgba(0, 0, 0, 0.2);
}
.gallery__main .f-button svg {
  color: white;
}
.gallery__main .f-button:hover {
  background: rgba(0, 0, 0, 0.6);
}
.gallery__main .f-button:hover svg {
  color: #780000;
}
.gallery__main .f-carousel__dots {
  padding: 0.4444444444rem 0 1.3333333333rem 0;
}

.fancybox__backdrop {
  --fancybox-backdrop-bg: #eff8fb !important;
  --f-drag-opacity: .9;
}

#goesWithProduct.f-carousel {
  margin: 0 1.3333333333rem;
  --per-page: 1;
  --f-carousel-gap: 30px;
  --f-carousel-slide-width: calc(
      (100% - ((var(--per-page) - 1) * var(--f-carousel-gap)))
      / var(--per-page)
  );
  /*ARROWS*/
  --f-arrow-pos: -50px;
}
@media (min-width: 400px) {
  #goesWithProduct.f-carousel {
    --per-page: 2;
  }
}
@media (min-width: 768px) {
  #goesWithProduct.f-carousel {
    --per-page: 3;
  }
}
@media (min-width: 1380px) {
  #goesWithProduct.f-carousel {
    --per-page: 4;
    margin: 0;
    --f-arrow-pos: -50px;
  }
}

.gallery-slide img {
  width: 100%;
  display: block;
}

.blog-card {
  color: #3c3c3c;
  background-color: #f5fbfd;
}
.blog-card img {
  width: 100%;
}
.blog-card__details {
  padding: 1.3333333333rem 0.8888888889rem;
}
.blog-card__meta {
  display: flex;
  font-size: 0.8888888889rem;
}
.blog-card__meta-item {
  border-right: 1px solid #780000;
  padding: 0 0.8888888889rem;
}
.blog-card__meta-item:first-child {
  padding-left: 0;
}
.blog-card__meta-item:last-child {
  border-right: none;
}
.blog-card__desc {
  margin-bottom: 1.3333333333rem;
}
.blog-card__title {
  text-transform: uppercase;
}

.article .content-block {
  max-width: 720px;
  margin: 0 auto;
}

.events__wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #f5fbfd;
  padding: 0 1.3333333333rem;
  max-width: 55.5555555556rem;
  margin: 0 auto;
}
.events__item {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.3333333333rem;
  border-bottom: 1px solid #ffffff;
  width: 100%;
  max-width: 800px;
  font-size: 1.1111111111rem;
  padding: 2.6666666667rem 0.8888888889rem;
}
@media (min-width: 768px) {
  .events__item {
    grid-template-columns: 1fr 6.9444444444rem;
  }
}
.events__item p, .events__item h2 {
  margin: 0;
}
.events__item-date {
  text-transform: uppercase;
  letter-spacing: 0.3em;
  font-size: 1.1111111111rem;
}
.events__item-title {
  font-size: 1.3333333333rem;
  color: #780000;
  text-transform: uppercase;
  letter-spacing: 0.3em;
}
.events__item-time {
  font-size: 1.1111111111rem;
}
.events__item-content {
  font-size: 1.1111111111rem;
}
.events__item:last-child {
  border-bottom: none;
}
.events__item-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.events__item .btn {
  width: 100%;
  text-align: center;
  align-self: auto;
}
@media (min-width: 768px) {
  .events__item .btn {
    width: auto;
  }
}

/*=====
WIDGET SAMPLE FORM
======*/
.samples-form {
  background-color: #f5fbfd;
  padding: 1.3333333333rem 1.3333333333rem;
  container-type: inline-size;
  position: relative;
}
@media (min-width: 1000px) {
  .samples-form {
    max-width: 31.1111111111rem;
  }
}
.samples-form__row {
  display: flex;
  flex-direction: column;
}
.samples-form__row .product__selection {
  margin-bottom: 0;
}
.samples-form__row .form__label {
  width: 100%;
}
.samples-form__row .form__select-input {
  background: #ffffff;
}
@container (min-width: 600px) {
  .samples-form__row {
    flex-direction: row;
  }
  .samples-form .form__label {
    width: 35%;
  }
}

.widget--3-blocks {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-areas: "content img1 img2";
  gap: 1.3333333333rem;
  row-gap: 0;
}
.widget--3-blocks video, .widget--3-blocks img {
  display: block;
  width: 100%;
  max-width: 100%;
}
.widget--3-blocks .widget__col {
  padding: 1.3333333333rem;
}
.widget--3-blocks .widget__col--content {
  grid-area: content;
  background-color: #f5fbfd;
}
.widget--3-blocks .widget__col--img {
  padding: 0;
}
.widget--3-blocks .widget__col--img:nth-of-type(2) {
  grid-area: img1;
}
.widget--3-blocks .widget__col--img:nth-of-type(3) {
  grid-area: img2;
}
@media (max-width: 1000px) {
  .widget--3-blocks {
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "img1 img2" "content content";
  }
}
@media (min-width: 1000px) {
  .widget--content-middle {
    grid-template-areas: "img1 content img2";
  }
}

.overlay__wrap {
  margin: auto;
  max-width: 32.2222222222rem;
  width: 100%;
  padding: 1.3333333333rem;
}
.overlay__wrap--narrow {
  max-width: 27.7777777778rem;
}
@media (min-width: 768px) {
  .overlay__wrap {
    padding: 2.6666666667rem 3.5555555556rem;
  }
}

.tooltip {
  position: absolute;
  top: 0;
  right: 0;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
}
.tooltip__trigger {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}
.tooltip.is-open .tooltip__panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.tooltip__panel {
  position: absolute;
  bottom: calc(100% + 18px); /* Above the trigger */
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  position: absolute;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
  z-index: 20;
  color: #3c3c3c;
  padding: 1.3333333333rem;
  width: max-content;
  max-width: 400px;
  min-width: 400px;
  min-height: 100px;
  --a: 90deg; /* angle */
  --h: 1em; /* height */
  --p: 50%; /* triangle position (0%:left 100%:right) */
  --b: 1px; /* border width */
  padding: 1.3333333333rem;
  clip-path: polygon(0 100%, 0 0, 100% 0, 100% 100%, min(100%, var(--p) + var(--h) * tan(var(--a) / 2)) 100%, var(--p) calc(100% + var(--h)), max(0%, var(--p) - var(--h) * tan(var(--a) / 2)) 100%);
  border-image: fill 0//var(--h) 0 conic-gradient(#780000 0 0); /* the border color */
}
.tooltip__panel:before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: var(--b) 0;
  clip-path: polygon(0 100%, 0 0, 100% 0, 100% 100%, min(100% - var(--b), var(--p) + var(--h) * tan(var(--a) / 2) - var(--b) * tan(45deg - var(--a) / 4)) 100%, var(--p) calc(100% + var(--h) + var(--b) * (1 - 1 / sin(var(--a) / 2))), max(var(--b), var(--p) - var(--h) * tan(var(--a) / 2) + var(--b) * tan(45deg - var(--a) / 4)) 100%);
  border-image: fill 0/0 var(--b)/var(--h) 0 conic-gradient(#ffffff 0 0); /* the background color */
}
.tooltip__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 18px;
  height: 18px;
  border: 0;
  background: none;
  padding: 0;
  cursor: pointer;
}
.tooltip__close::before, .tooltip__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 18px;
  height: 1px;
  background: #222;
}
.tooltip__close::before {
  transform: rotate(45deg);
}
.tooltip__close::after {
  transform: rotate(-45deg);
}
.tooltip__title {
  display: block;
}
.tooltip__content {
  display: block;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.08em;
}
.tooltip .a-icon__svg {
  width: 20px;
  height: 20px;
}
.tooltip__wrap {
  position: relative;
  padding-right: 22px;
}

.calculator__units {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}
.calculator input {
  text-align: left;
}

.panels--required {
  color: #780000;
}

.panel-shape__wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 200px;
}
.panel-shape__item {
  background-color: white;
  border: 1px solid #3c3c3c;
  height: 150px;
  width: 150px;
}
.panel-shape__item-width {
  display: flex;
  align-items: center;
  justify-content: center;
}
.panel-shape__item-height {
  display: flex;
  align-items: center;
  justify-content: center;
}
.panel-shape__item-unit {
  padding: 0.4444444444rem;
}

.accordion {
  margin: 0;
  border-bottom: 2px solid #eff8fb;
}
.accordion__heading {
  margin: 0;
  color: #780000;
  border-top: 2px solid #eff8fb;
  letter-spacing: 0.0722222222em;
}
.accordion__heading button {
  color: inherit;
  font-size: inherit;
}
.accordion > li, .accordion > .accordion__item {
  margin: 0;
  list-style: none;
  padding-left: 0;
}
.accordion dd {
  padding: 0;
}
.accordion__trigger {
  background: none;
  display: grid;
  grid-template-columns: 1fr 30px;
  color: hsl(0, 0%, 13%);
  padding-left: 0.8888888889rem;
  font-weight: bold;
  margin: 0;
  padding: 1.3333333333rem 1.3333333333rem 1.3333333333rem 1.3333333333rem;
  position: relative;
  text-align: left;
  width: 100%;
  outline: none;
  border: 0;
  text-transform: none;
  letter-spacing: 0.0722222222em;
}
.accordion__trigger-icon {
  display: flex;
}
.accordion__trigger-icon svg {
  transition: transform 0.2s ease-in-out;
}
.accordion__trigger[aria-expanded=true] {
  background-color: #780000;
  color: #ffffff;
}
.accordion__trigger[aria-expanded=true] .accordion__trigger-icon svg {
  transform: rotate(90deg);
}
.accordion__trigger:focus {
  outline: 4px solid transparent;
}
.accordion__content {
  transition: all 0.5s cubic-bezier(0.41, 0.97, 0.36, 0.78);
  overflow: hidden;
}
.accordion__content-inner {
  padding: 1.3333333333rem;
}
.accordion__content-inner > :last-child {
  margin-bottom: 0;
}
.accordion--expanded {
  background-color: #f5fbfd;
}
.accordion--alt .accordion__trigger {
  border: none;
}
.accordion--alt .accordion__content-inner {
  padding-left: 0;
  padding-right: 0;
  margin: 0 1.3333333333rem;
}

.property .accordion__content-inner {
  border-top: 0;
}
.property .accordion__content-inner {
  padding-top: 5px;
}

.glossary {
  border-top: 2px solid #f5fbfd;
}
.glossary__item {
  padding: 2.6666666667rem 0;
  border-bottom: 2px solid #f5fbfd;
}
.glossary__term {
  color: #3c3c3c;
  text-transform: uppercase;
  margin-top: 0;
}
.glossary__definition p:last-child {
  margin-bottom: 0;
}

.cart {
  container-type: inline-size;
  container-name: cart;
}
.cart__items {
  --cart-columns: 65px 1fr 1fr;
  --cart-areas:
      "image details details"
      "image qty price";
  --cart-columns-gap: 1.3333333333rem;
  --cart-row-gap: 0;
  --cart-item-padding: 0.8888888889rem;
}
@container cart (min-width: 600px) {
  .cart__items {
    --cart-columns: 100px minmax(200px, 1fr) 1fr minmax(60px, max-content) 1fr;
    --cart-areas:
        "image details price qty subtotal";
  }
}
@container cart (min-width: 1000px) {
  .cart__items {
    --cart-columns: 100px 1fr 150px 150px 150px 150px;
    --cart-areas:
     "image details price qty type subtotal";
  }
}
.cart__head, .cart__item {
  display: grid;
  grid-template-columns: var(--cart-columns);
  grid-template-areas: var(--cart-areas);
  column-gap: var(--cart-columns-gap);
  row-gap: var(--cart-row-gap);
}
.cart__head {
  display: none;
}
@container cart (min-width: 600px) {
  .cart__head {
    display: grid;
  }
}
.cart__head-item {
  padding: 0.4444444444rem 0;
}
.cart__head-item:last-child {
  text-align: right;
}
.cart__head-product {
  grid-area: image;
}
.cart__head-details {
  grid-area: details;
}
.cart__head-price {
  grid-area: price;
}
.cart__head-quantity {
  grid-area: qty;
}
.cart__head-type {
  grid-area: type;
}
.cart__head-subtotal {
  grid-area: subtotal;
}
.cart__head-type {
  display: none;
}
@container cart (min-width: 600px) {
  .cart__head-type {
    display: flex;
  }
}
.cart__item {
  align-items: center;
  position: relative;
  border-top: 2px solid #f5fbfd;
  padding-top: var(--cart-item-padding);
  margin-bottom: var(--cart-item-padding);
}
.cart__item:last-child {
  padding-bottom: var(--cart-item-padding);
  border-bottom: 2px solid #f5fbfd;
}
.cart__item p {
  margin: 0;
}
.cart__item-col {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.cart__item-col:last-child {
  text-align: right;
}
@container cart (min-width: 600px) {
  .cart__item-col:not(.cart__item-details):not(.cart__item-image) {
    justify-content: flex-end;
    padding-bottom: var(--cart-item-padding);
  }
}
.cart__item-image {
  grid-area: image;
}
.cart__item-details {
  grid-area: details;
}
.cart__item-price {
  grid-area: price;
  text-align: right;
}
@container cart (min-width: 600px) {
  .cart__item-price {
    text-align: left;
  }
}
.cart__item-quantity {
  grid-area: qty;
}
.cart__item-type {
  grid-area: type;
}
.cart__item-subtotal {
  grid-area: subtotal;
}
.cart__item-title {
  margin: 0;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.3em;
}
.cart__item-title a {
  color: #3c3c3c;
}
.cart__item-title a:hover {
  color: #780000;
}
.cart__item-meta-code {
  display: none;
}
@container cart (min-width: 600px) {
  .cart__item-meta-code {
    display: block;
  }
}
.cart__item-type, .cart__item-subtotal {
  display: none;
}
@container cart (min-width: 600px) {
  .cart__item-subtotal {
    display: flex;
  }
}
@container cart (min-width: 1000px) {
  .cart__item-type {
    display: flex;
  }
}
.cart__item-remove {
  position: absolute;
  top: var(--cart-item-padding);
  right: 0;
  font-size: 1.5rem;
  cursor: pointer;
  padding: 0;
  color: #780000;
}
.cart__item-product {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 12px;
  align-items: center;
}
.cart__footer {
  display: flex;
  justify-content: flex-end;
}
.cart__footer button {
  color: #780000;
}

.cart--aside .cart__title {
  color: #3c3c3c;
  margin-top: 0;
}

.cart-nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.cart-nav__inner {
  width: 100%;
  max-width: 1280px;
}
.cart-nav__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  margin: 0;
}
.cart-nav__item {
  position: relative;
  text-align: center;
  background-color: #f5fbfd;
  line-height: 1;
  padding: 1.3333333333rem;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  clip-path: polygon(0% 0%, calc(100% - 20px) 0%, 100% 50%, calc(100% - 20px) 100%, 0% 100%, 20px 50%);
}
.cart-nav__item:last-child::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  width: 24px;
  background-color: #f5fbfd;
  clip-path: polygon(0% 0%, calc(100% - 20px) 0%, 100% 50%, calc(100% - 20px) 100%, 0% 100%, 20px 50%);
  z-index: -1;
}
.cart-nav__item--active + .cart-nav__item:last-child::before {
  content: none;
}
.cart-nav__item:first-child {
  clip-path: polygon(0% 0%, calc(100% - 20px) 0%, 100% 50%, calc(100% - 20px) 100%, 0% 100%);
}
.cart-nav__item:last-child {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%, 20px 50%);
}
.cart-nav__item:not(:first-child) {
  margin-left: -20px;
}
.cart-nav__item a {
  color: #3c3c3c;
}
.cart-nav__item--active {
  background-color: #780000;
  color: #ffffff;
  z-index: 2;
}
.cart-nav__item--active a {
  color: #ffffff;
}

.cart-old__head {
  display: none;
}
@media (min-width: 768px) {
  .cart-old__head {
    display: grid;
  }
}
.cart-old__head div:first-child {
  text-align: left;
}
.cart-old__items {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 1rem;
  table-layout: auto;
}
.cart-old__item td {
  padding: 1.3333333333rem;
  vertical-align: middle;
  background-color: #f5fbfd;
}
.cart-old__item-cat {
  display: block;
  font-size: 0.7777777778rem;
}
.cart-old__item .cart__item-title {
  text-transform: none !important;
  margin: 0 0 0.4444444444rem 0;
}
.cart-old__item p {
  margin: 0;
}
.cart-old__item-image {
  width: 7rem;
}
.cart-old__item-image img {
  max-width: 100px;
  min-width: 100px;
}
.cart-old__item-details {
  width: 100%;
}
.cart-old__item-price, .cart-old__item-subtotal {
  white-space: nowrap;
}
.cart-old__item-quantity {
  white-space: nowrap;
  text-align: center;
}
.cart-old__item-quantity-wrap {
  display: flex;
}

.cart__summary {
  max-width: 19.4444444444rem;
  margin-left: auto;
  width: 100%;
}
.cart__summary-wrap {
  display: grid;
  gap: 1.3333333333rem;
  grid-template-columns: 1fr 1fr;
  margin-top: 2.6666666667rem;
}
.cart__summary-table {
  width: 100%;
}
.cart__summary-table .value {
  text-align: right;
}
.cart__summary-table th {
  text-align: left;
  font-weight: 800;
}
.cart__summary-btns {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.cart__summary-total-text {
  padding-top: 0.8888888889rem;
  font-size: 1.1111111111rem;
  color: #780000;
  text-transform: uppercase;
}
.cart__summary-total-text td {
  padding-top: 0.8888888889rem;
}

/*=====cart drawer=====*/
body.cart-drawer-open {
  overflow: hidden;
}

.cart-drawer {
  position: fixed;
  inset: 0;
  z-index: 900;
  pointer-events: none;
}
.cart-drawer__header {
  text-transform: uppercase;
  letter-spacing: 0.3em;
}
.cart-drawer__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.cart-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  left: auto;
  width: min(420px, 90vw);
  height: 100%;
  background: #fff;
  transform: translateX(100%);
  box-shadow: -8px 0 24px rgba(0, 0, 0, 0.12);
  transition: transform 0.3s ease;
  display: flex;
  flex-direction: column;
}
.cart-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.3333333333rem;
  border-bottom: 1px solid #f5fbfd;
}
.cart-drawer__close {
  border: 0;
  background: none;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  color: #780000;
}
.cart-drawer__body {
  flex: 1;
  overflow-y: auto;
  padding: 1.3333333333rem;
}
.cart-drawer__items {
  list-style: none;
  margin: 0;
  padding: 0;
}
.cart-drawer__footer {
  border-top: 1px solid #f5fbfd;
  padding: 1.3333333333rem;
}
.cart-drawer__summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.cart-drawer.is-open {
  pointer-events: auto;
}
.cart-drawer.is-open .cart-drawer__overlay {
  opacity: 1;
}
.cart-drawer.is-open .cart-drawer__panel {
  transform: translateX(0);
}

.cart-aside {
  background-color: #f5fbfd;
  padding: 1.3333333333rem;
}
.cart-aside__items {
  border-bottom: 1px solid #ffffff;
  padding-bottom: 0.8888888889rem;
  margin: 0 0 0.8888888889rem 0;
}
.cart-aside__item {
  padding: 0.4444444444rem 0;
  margin: 0;
  list-style: none;
}
.cart-aside__item p {
  margin: 0;
}
.cart-aside__item-title {
  font-size: 1rem;
  text-transform: none !important;
  letter-spacing: 0.0722222222em;
  margin: 0;
  color: #780000;
}
.cart-aside__item-top {
  display: flex;
  justify-content: space-between;
  gap: 0.6666666667rem;
}
.cart-aside__item-price {
  font-weight: 600;
}

.cart__edit-cart {
  display: block;
  text-align: right;
}

/*==========
CART SUMMERY
==========*/
.summary-address__icon {
  position: absolute;
  top: 0.8888888889rem;
  right: 0.8888888889rem;
}
.summary-address__type {
  letter-spacing: 0.0722222222em;
  text-transform: none;
  margin-top: 0;
}
.summary-address__wrap {
  display: flex;
  flex-direction: column;
  margin-bottom: 1.3333333333rem;
}
.summary-address__content {
  position: relative;
  padding: 0.8888888889rem;
  background-color: #f5fbfd;
}

/*=====cart drawer=====*/
body.cart-drawer-open {
  overflow: hidden;
}

.cart-drawer {
  position: fixed;
  inset: 0;
  z-index: 900;
  pointer-events: none;
}
.cart-drawer__header {
  text-transform: uppercase;
  letter-spacing: 0.3em;
}
.cart-drawer__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.cart-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  left: auto;
  width: min(420px, 90vw);
  height: 100%;
  background: #fff;
  transform: translateX(100%);
  box-shadow: -8px 0 24px rgba(0, 0, 0, 0.12);
  transition: transform 0.3s ease;
  display: flex;
  flex-direction: column;
}
.cart-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.3333333333rem;
  border-bottom: 1px solid #f5fbfd;
}
.cart-drawer__close {
  border: 0;
  background: none;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  color: #780000;
}
.cart-drawer__body {
  flex: 1;
  overflow-y: auto;
  padding: 1.3333333333rem;
}
.cart-drawer__items {
  list-style: none;
  margin: 0;
  padding: 0;
}
.cart-drawer__footer {
  border-top: 1px solid #f5fbfd;
  padding: 1.3333333333rem;
}
.cart-drawer--empty .cart-drawer__footer {
  display: none;
}
.cart-drawer__summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.cart-drawer.is-open {
  pointer-events: auto;
}
.cart-drawer.is-open .cart-drawer__overlay {
  opacity: 1;
}
.cart-drawer.is-open .cart-drawer__panel {
  transform: translateX(0);
}

.cart-aside {
  background-color: #f5fbfd;
  padding: 1.3333333333rem;
}
.cart-aside__items {
  border-bottom: 1px solid #ffffff;
  padding-bottom: 0.8888888889rem;
  margin: 0 0 0.8888888889rem 0;
}
.cart-aside__item {
  padding: 0.4444444444rem 0;
  margin: 0;
  list-style: none;
}
.cart-aside__item p {
  margin: 0;
}
.cart-aside__item-title {
  font-size: 1rem;
  text-transform: none !important;
  letter-spacing: 0.0722222222em;
  margin: 0;
  color: #780000;
}
.cart-aside__item-top {
  display: flex;
  justify-content: space-between;
  gap: 0.6666666667rem;
}
.cart-aside__item-price {
  font-weight: 600;
}

.cart__edit-cart {
  display: block;
  text-align: right;
}

.account-addresses__wrap {
  display: flex;
  flex-direction: column;
  gap: 1.3333333333rem;
}
.account-addresses__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.3333333333rem;
}
.account-addresses__fields {
  margin-bottom: 1.3333333333rem;
}
/**
 * Use this file to add in temporary styles.  For example overriding legacy styles.
 * These styles will be added with the intention to remove them  once time to refactor
 *
 */
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFic3RyYWN0cy9faW5kZXguc2NzcyIsImJhc2UvX2ZvbnRzLnNjc3MiLCJiYXNlL19nZW5lcmFsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLmNzcy9ub3JtYWxpemUuY3NzIiwiYmFzZS9fcmVzZXQuc2NzcyIsImJhc2UvX3R5cG9ncmFwaHkuc2NzcyIsImJhc2UvX3V0aWxpdGllcy5zY3NzIiwibGF5b3V0L19ncmlkLnNjc3MiLCJsYXlvdXQvX3NlY3Rpb25zLnNjc3MiLCJsYXlvdXQvX2NvbnRlbnQuc2NzcyIsInBhZ2VzL19ob21lLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzLzAxLUZvdW5kYXRpb25zL0ljb25zL2ljb25zLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzLzAyLWxvZ28vX2xvZ28uc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvMDQtaGVhZGVyL19oZWFkZXIuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvY29va2llcy9fY29va2llYmFubmVyLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzLzA1LW5hdmlnYXRpb24vX2hhbWJ1cmdlci5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy8wNS1uYXZpZ2F0aW9uL19uYXZpZ2F0aW9uLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzLzA1LW5hdmlnYXRpb24vX25hdmlnYXRpb24tc2lkZS5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy8wNS1uYXZpZ2F0aW9uL19uYXZpZ2F0aW9uLW1lZ2FtZW51LnNjc3MiLCIuLi8uLi9jb21wb25lbnRzLzA1LW5hdmlnYXRpb24vX25hdmlnYXRpb24tc3ViLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL2JyZWFkY3J1bWJzL19icmVhZGNydW1icy5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy8wNi1mb290ZXIvX2Zvb3Rlci5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9xdW90ZXMvX3F1b3RlLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzLzA3LWhlcm8vaGVyby5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy8wOC1Gb3Jtcy9mb3JtLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzLzA4LUZvcm1zL2Zvcm1zLWh1YnNwb3Quc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX3RhYmxlcy5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9Qcm9maWxlL19wcm9maWxlLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzLzA5LWJ1dHRvbnMvYnV0dG9uLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzLzEwLVNlYXJjaC9zZWFyY2guc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvZmlsdGVycy9maWx0ZXJzLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzLzExLUNhcmRzL2NhcmQuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvVmlkZW8vX3ZpZGVvLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL0NoZWNrb3V0L19jaGVja291dC5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy8xMS1DYXJkcy9Qcm9kdWN0cy9fcHJvZHVjdC1jYXJkLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL25ld3NsZXR0ZXIvX25ld3NsZXR0ZXIuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvdGlsZXMvX3RpbGVzLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL1Byb2R1Y3RzL19wcm9kdWN0LnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL2Nhcm91c2VsL19jYXJvdXNlbC5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9nYWxsZXJ5L19nYWxsZXJ5LnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL0Jsb2cvX2Jsb2cuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvZXZlbnRzL2V2ZW50cy5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy93aWRnZXRzL193aWRnZXRzLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL292ZXJsYXkvb3ZlcmxheS5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy90b29sdGlwcy9fdG9vbHRpcHMuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvQ2FsY3VsYXRvci9fY2FsY3VsYXRvci5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9hY2NvcmRpb24vX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9nbG9zc2FyeS9fZ2xvc3Nhcnkuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvY2FydC9jYXJ0LnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL2NhcnQvY2FydC1kcmF3ZXIuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvY2FydC9jYXJ0LWFzaWRlLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL2FjY291bnQvX2FjY291bnQuc2NzcyIsIl9zaGFtZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFTQTtBQUFBO0FBQUE7QUF1S0U7QUFBQTtBQUFBO0FBeUNGO0FBQUE7QUFBQTtBQWtCQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFVQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBQUE7QUFxQkE7QUFBQTtBQUFBO0FBUUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBNkJBO0FBQUE7QUFBQTtBQU9BO0FBQUE7QUFBQTtBQUdBO0VBQ0U7RUFHQTs7QUE3TkU7RUF5Tko7SUFPSTtJQUdDOzs7QUFuT0Q7RUF5Tko7SUFjSTs7OztBQ3pXSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBRUE7O0FDTEo7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFNRjtFQUNJO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTs7O0FBT0Y7QUFFQTtBQUNGO0VBQ0U7OztBQUdGO0FBQ0E7RUFDRTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7SUFDRTtJQUNBOzs7QUMzQ0o7QUFFQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtFQUdFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUtFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUEsUUFDUTtFQUNOOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUEsU0FDUztFQUNQOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtFQUlFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtFQUlFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0VBSUU7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7RUFFRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0VB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O0FBRUo7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7OztBQXRETjtFQUNFOztBQUNBO0VBQ0k7O0FBRUo7RUFDSTs7QUFFSjtFQUNJOzs7QUFHTjtFQUNFOztBQUNBO0VBQ0k7O0FBRUo7RUFDSTs7QUFFSjtFQUNJOzs7QUFHTjtFQUNFOztBQUNBO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBOzs7QUF0RE47RUFDRTs7QUFDQTtFQUNJOztBQUVKO0VBQ0k7O0FBRUo7RUFDSTs7O0FBR047RUFDRTs7QUFDQTtFQUNJOztBQUVKO0VBQ0k7O0FBRUo7RUFDSTs7O0FBR047RUFDRTs7QUFDQTtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7O0FBdEROO0VBQ0U7O0FBQ0E7RUFDSTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7OztBQUdOO0VBQ0U7O0FBQ0E7RUFDSTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7OztBQUdOO0VBQ0U7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7OztBQXRETjtFQUNFOztBQUNBO0VBQ0k7O0FBRUo7RUFDSTs7QUFFSjtFQUNJOzs7QUFHTjtFQUNFOztBQUNBO0VBQ0k7O0FBRUo7RUFDSTs7QUFFSjtFQUNJOzs7QUFHTjtFQUNFOztBQUNBO0VBQ0k7RUFDQTtFQUNBOztBQUVK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Q0EsZ0JsRHVQRjtFa0R0UEU7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQSxLbEQ2UEk7O0FrRDNQUjtFQUNJOzs7QUFJWjtFQUNDO0VBQ0E7OztBQzlCRztFQUNJO0VBQ0E7RUFDQSxLbkRzUlE7O0FtRG5SWjtFQUNJO0VBQ0E7RUFDQSxLbkRnUlE7O0FtRDdRWjtFQUNJLGVuRHVRUTs7QW9EelJoQjtBQUFBO0FBQUE7QUFBQTtBQUFBIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQHVzZSBcInNhc3M6Y29sb3JcIjtcbkB1c2UgJ3Nhc3M6bWF0aCc7XG5AdXNlIFwic2FzczptZXRhXCI7XG5AdXNlIFwic2FzczptYXBcIjtcblxuLy9AZm9yd2FyZCBcIm1hcHB5LWJwXCIgYXMgbWJwLSo7XG5cbi8vICRiYXNlLXNpemU6IDIycHg7XG4kYmFzZS1zaXplOiAxOHB4O1xuLyogPT09PT09PT09PT09PT09PSBcbk1JWElOUyAmIEZVTkNUSU9OUyBcbj09PT09PT09PT09ICovXG5AbWl4aW4gYnRuLXNpbXBsZS1zdHlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0Om5vbmU7XG4gICAgYm9yZGVyLXJpZ2h0Om5vbmU7XG4gICAgY29sb3I6IHNldGNvbG9yKDIpO1xuICAgIHBhZGRpbmc6IHJlbTIoMTBweCkgcmVtMig0cHgpIHJlbTIoMTBweCkgcmVtMigxMHB4KTsgLy9BbGxvdyBmb3IgbGV0dGVyIHNwYWNpbmcgdG8gcmlnaHQgb2YgZmluYWwgY2hhcmFjdGVyXG4gICAgJjpob3ZlciwgYS5jYXJkOmhvdmVyICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuICAgICAgICAmOjphZnRlciwgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmOjphZnRlciwgJjo6YmVmb3Jle1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIFxuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHNldGNvbG9yKDIpO1xuICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cbn1cblxuXG5AbWl4aW4gYnRuLW91dGxpbmUtc3R5bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTVweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206IC01cHg7XG4gICAgfVxufVxuXG5cbi8vIE91ciBmdW5jdGlvbiBmb3Igc2hvcnRlciB1c2FnZSBvZiBtYXAuZ2V0KCk7XG5AZnVuY3Rpb24gc2V0Y29sb3IoJGluZGV4LCAkc2hhZGU6IDEwMCUpIHtcbiAgICAkc2hhZGU6ICgxMDAgLSBzdHJpcC11bml0KCRzaGFkZSkpICsgMCU7XG4gICAgIC8vbWFwLmdldChtYXAuZ2V0KCRtYWluY29sb3JzLCAkc2NoZW1lKSwgYmFzZSk7XG4gICAgQGlmICRzaGFkZSA9PSAxMDAlIHtcbiAgICAgIEByZXR1cm4gbWFwLmdldChtYXAuZ2V0KCRzd2F0Y2hlcywgJGluZGV4KSwgaGV4KTtcbiAgICB9XG4gICAgQHJldHVybiBjb2xvci5zY2FsZSggbWFwLmdldChtYXAuZ2V0KCRzd2F0Y2hlcywgJGluZGV4KSwgaGV4KSwgJGxpZ2h0bmVzczogJHNoYWRlICk7XG4gIH1cbiAgXG4gIFxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bWJlcikge1xuICBAaWYgbWV0YS50eXBlLW9mKCRudW1iZXIpID09ICdudW1iZXInIGFuZCBub3QgbWF0aC5pcy11bml0bGVzcygkbnVtYmVyKSB7XG4gICAgQHJldHVybiBtYXRoLmRpdigkbnVtYmVyLCAxKTsgLy8gU2ltcGxpZmllZCBkaXZpc2lvblxuICB9XG4gIEByZXR1cm4gJG51bWJlcjsgLy8gUmV0dXJuIGFzLWlzIGlmIG5vIHVuaXRcbn1cbiAgXG4gIC8vQ29udmVydCB2YWx1ZSB0byBlbS5cbiAgQGZ1bmN0aW9uIGVtKCRzaXplLCAkYmFzZS1mb250LXNpemU6ICRiYXNlLXNpemUpIHtcbiAgICBAcmV0dXJuIG1hdGguZGl2KCBzdHJpcC11bml0KCRzaXplKSwgc3RyaXAtdW5pdCgkYmFzZS1mb250LXNpemUpICkgKiAxZW07XG4gIH1cbiAgXG4gIC8vLyBDb252ZXJ0IHZhbHVlIHRvIHJlbS5cbiAgQGZ1bmN0aW9uIHJlbTIoJHNpemUsICRiYXNlLWZvbnQtc2l6ZTogJGJhc2Utc2l6ZSkge1xuICAgIEByZXR1cm4gbWF0aC5kaXYoIHN0cmlwLXVuaXQoJHNpemUpLCBzdHJpcC11bml0KCRiYXNlLWZvbnQtc2l6ZSkgKSAqIDFyZW07XG4gIFxuICB9XG4gIFxuICAvL0dlbmVyaWMgY29udGFpbmVyIGlubmVyIHN0eWxlc1xuICBAbWl4aW4gY29udGFpbmVyLWlubmVyLXN0eWxlcyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogJG1heDtcbiAgfVxuICBcbiAgXG4gIC8vIFNpbXBsZSBib3JkZXIgbWl4aW5cbiAgQG1peGluIGJvcmRlci1kZWZhdWx0KCRzaXplOiAkYm9yZGVyLXNpemUsICRjb2xvcjokYm9yZGVyLWNvbG9yKSB7XG4gICAgYm9yZGVyOiAkc2l6ZSBzb2xpZCAkY29sb3I7XG4gIH1cblxuLy8gbWl4aW4gZ290IGFwcGx5IGNhcHMgYW5kIGxldHRlciBzcGFjaW5nIGZvciBmb3J1bSBmb250XG5AbWl4aW4gdXBwZXJjYXNlLXNwYWNlZCgkc3BhY2luZzogJGxzLWhlYWRpbmdzKSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAkc3BhY2luZztcbn1cbkBtaXhpbiB0aXRsZWNhc2Utc3BhY2VkKCRzcGFjaW5nOiAkbHMtYm9keSkge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgbGV0dGVyLXNwYWNpbmc6ICRzcGFjaW5nO1xufVxuXG4vLy8gTWl4aW4gZm9yIGJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtICRicmVha3BvaW50IHtTdHJpbmd9IC0gVGhlIGJyZWFrcG9pbnQga2V5IChlLmcuLCAnc21hbGwnLCAnbWVkaXVtJykuXG4vLy8gQHBhcmFtICR0eXBlIHtTdHJpbmd9IC0gVGhlIG1lZGlhIHF1ZXJ5IHR5cGU6ICdtaW4nIG9yICdtYXgnLiBEZWZhdWx0cyB0byAnbWluJy5cbkBtaXhpbiBtYXBweS1icCgkYnJlYWtwb2ludCwgJHR5cGU6ICdtaW4nKSB7XG4gICR2YWx1ZTogbWFwLmdldCgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KTtcblxuICBAaWYgJHZhbHVlICE9IG51bGwge1xuICAgIEBtZWRpYSAoI3skdHlwZX0td2lkdGg6ICN7JHZhbHVlfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgXCJCcmVha3BvaW50ICcjeyRicmVha3BvaW50fScgbm90IGZvdW5kIGluIHRoZSBcXCRicmVha3BvaW50cyBtYXAuXCI7XG4gIH1cbn1cbi8vLyBBcHBseSBhIGJvcmRlciB0byBvbmUgb3IgbW9yZSBzaWRlcy5cbi8vLyBAcGFyYW0ge2xpc3R8c3RyaW5nfSAkc2lkZXMgLSB0b3AgfCByaWdodCB8IGJvdHRvbSB8IGxlZnQgfCB4IHwgeSB8IGFsbCB8ICh0b3AgcmlnaHQgLi4uKVxuLy8vIEBwYXJhbSB7bGVuZ3RofSAkd2lkdGhcbi8vLyBAcGFyYW0ge3N0cmluZ30gJHN0eWxlXG4vLy8gQHBhcmFtIHsqfSAkY29sb3ItaW5kZXggLSBwYXNzZWQgaW50byBzZXRjb2xvcigpXG5AbWl4aW4gYm9yZGVyLXNpZGVzKCRzaWRlczogdG9wLCAkd2lkdGg6IDJweCwgJHN0eWxlOiBzb2xpZCwgJGNvbG9yLWluZGV4OiA0KSB7XG4gICRib3JkZXI6ICR3aWR0aCAkc3R5bGUgc2V0Y29sb3IoJGNvbG9yLWluZGV4KTtcblxuICBAaWYgJHNpZGVzID09IGFsbCB7XG4gICAgYm9yZGVyOiAkYm9yZGVyO1xuICB9IEBlbHNlIGlmICRzaWRlcyA9PSB4IHtcbiAgICBib3JkZXItbGVmdDogJGJvcmRlcjtcbiAgICBib3JkZXItcmlnaHQ6ICRib3JkZXI7XG4gIH0gQGVsc2UgaWYgJHNpZGVzID09IHkge1xuICAgIGJvcmRlci10b3A6ICRib3JkZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfSBAZWxzZSB7XG4gICAgQGlmIG1ldGEudHlwZS1vZigkc2lkZXMpICE9IGxpc3Qge1xuICAgICAgJHNpZGVzOiAoJHNpZGVzKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2lkZSBpbiAkc2lkZXMge1xuICAgICAgQGlmICRzaWRlID09IHRvcCB7XG4gICAgICAgIGJvcmRlci10b3A6ICRib3JkZXI7XG4gICAgICB9IEBlbHNlIGlmICRzaWRlID09IHJpZ2h0IHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyO1xuICAgICAgfSBAZWxzZSBpZiAkc2lkZSA9PSBib3R0b20ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgICAgfSBAZWxzZSBpZiAkc2lkZSA9PSBsZWZ0IHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRib3JkZXI7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGVycm9yIFwiYm9yZGVyLXNpZGVzKCk6IGludmFsaWQgc2lkZSAnI3skc2lkZX0nLiBVc2UgdG9wL3JpZ2h0L2JvdHRvbS9sZWZ0LCB4LCB5LCBhbGwsIG9yIGEgbGlzdC5cIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cbiAgLyo9PT09PT09PT09PT09PSBcbiAgVkFSUyBcbiAgPT09PT09PT09PT09PT09PSovXG4vL2ZpZ21hIHVzaW5nICAgI0Y2RjRGMCBmb3IgbGlnaHQgY3JlYW0uXG4gIC8vQ29sb3VyIHBhbGV0dGUuXG4gICRzd2F0Y2hlczogKFxuICAgIDE6IChoZXg6ICMzQzNDM0MsIG5hbWU6ICdHcmV5JyksXG4gICAgMjogKGhleDogIzc4MDAwMCwgbmFtZTogJ1JlZCcpLFxuICAgIDM6IChoZXg6ICNlZmY4ZmIsIG5hbWU6ICdEYXJrIFR1cnF1b2lzZScpLFxuICAgIDQ6IChoZXg6ICNmNWZiZmQsIG5hbWU6ICdMaWdodCBUdXJxdW9pc2UnKSxcbiAgICA1OiAoaGV4OiAjZjVmYmZkLCBuYW1lOiAnUmVwZWF0IG9mIDUnKSxcbiAgICA2OiAoaGV4OiAjZGFlMGUxLCBuYW1lOiAnTGlnaHQgb2ZmIFdoaXRlJyksXG4gICAgJ3doaXRlJzogKGhleDogI0ZGRkZGRiwgbmFtZTogJ1doaXRlJyksIFxuKTtcbi8vICAgJHN3YXRjaGVzOiAoXG4vLyAgICAgMTogKGhleDogIzNDM0MzQywgbmFtZTogJ0dyZXknKSxcbi8vICAgICAyOiAoaGV4OiAjNzgwMDAwLCBuYW1lOiAnUmVkJyksXG4vLyAgICAgMzogKGhleDogI2RjZDVjNSwgbmFtZTogJ0Jyb3duJyksXG4vLyAgICAgNDogKGhleDogI2U5ZTVkYywgbmFtZTogJ0Jyb3duIEFsdCcpLFxuLy8gICAgIDU6IChoZXg6ICNmNmYyZWIsIG5hbWU6ICdMaWdodCBDcmVhbScpLFxuLy8gICAgIDY6IChoZXg6ICNmNmYyZWMsIG5hbWU6ICdMaWdodCBvZmYgV2hpdGUnKSxcbi8vICAgICAnd2hpdGUnOiAoaGV4OiAjRkZGRkZGLCBuYW1lOiAnV2hpdGUnKSwgXG4vLyApO1xuXG4vL0NvbG91cnNcbiRjb2xvci1tYWluOiAgc2V0Y29sb3IoMSk7XG4gJGNvbG9yLWJvZHk6IHNldGNvbG9yKDEpO1xuJGNvbG9yLWFuY2hvcjogc2V0Y29sb3IoMik7XG4kY29sb3ItYm9yZGVyOiBzZXRjb2xvcigxKTsgLy9HZW5lcmFsIGJvcmRlciBjb2xvdXJcbiRjb2xvci1wbGFjZWhvbGRlcjogc2V0Y29sb3IoMSk7XG5cbi8vVGhlbWUgQ29sb3Vyc1xuXG4kdGhlbWUtY29sb3ItMTogc2V0Y29sb3IoMSk7IC8vTmF2eVxuJHRoZW1lLWNvbG9yLTI6IHNldGNvbG9yKDIpOyAvL09yYW5nZSA4MCVcbiR0aGVtZS1jb2xvci0zOiBzZXRjb2xvcigzKTsgLy9UdXJxdW9pc2VcbiR0aGVtZS1jb2xvci00OiBzZXRjb2xvcig0KTsgLy9SZWRcblxuXG5cblxuLyo9PT09PT09PT09PT09PT09PT09XG5CVVRUT05TXG49PT09PT09PT09PT09PT09PT09PSovXG4kYnRuLW1haW46IHNldGNvbG9yKDIpO1xuJGJ0bi1tYWluLXR4dDogI2ZmZmZmZjtcbiRidG4tbWFpbi1icmQ6ICNmZmZmZmY7XG4kYnRuLW1haW4taG92ZXI6IHNldGNvbG9yKDIpO1xuJGJ0bi1tYWluLWhvdmVyLXR4dDogI2ZmZmZmZjtcbiRidG4tbWFpbi1ob3Zlci1icmQ6ICNmZmZmZmY7XG5cbiRidG4tYWx0OiBzZXRjb2xvcigyKTtcbiRidG4tYWx0LXR4dDogc2V0Y29sb3IoMyk7XG4kYnRuLWFsdC1ob3Zlci1icmQ6IHNldGNvbG9yKDMpO1xuJGJ0bi1hbHQtaG92ZXI6ICNmZmZmZmY7XG4kYnRuLWFsdC1ob3Zlci10eHQ6IHNldGNvbG9yKDIpO1xuJGJ0bi1hbHQtaG92ZXItYnJkOiBzZXRjb2xvcigzKTtcblxuXG4vKj09PT09PT09PT09PT09PT09PT1cblJBRElVU1xuPT09PT09PT09PT09PT09PT09PT0qL1xuJHJvdW5kZWQtY29ybmVyOjQwcHg7XG5cbi8qPT09PT09PT09PT09PT09PT09PVxuRk9OVCBGQU1JTElFU1xuPT09PT09PT09PT09PT09PT09PT0qL1xuJGZvbnQtbWFpbjogXCJGb3J1bVwiLCBzYW5zLXNlcmlmO1xuJGZvbnQtYWx0OiAgXCJGb3J1bVwiLCBzYW5zLXNlcmlmO1xuXG4vKj09PT09PT09PT09PT09PT09PT1cbkZPTlQgU0laRVNcbj09PT09PT09PT09PT09PT09PT09Ki9cbiRiYXNlLWZvbnQtc2l6ZTogMThweDtcbiRmbnQtc2l6ZS14bGFyZ2U6IHJlbTIoMjRweCk7IC8vQWRqdXN0ZWRcbiRmbnQtc2l6ZS1sYXJnZTogIHJlbTIoMThweCk7Ly9BZGp1c3RlZFxuJGZudC1zaXplLW5vcm1hbDogcmVtMigxOHB4KTsvL0FkanVzdGVkXG4kZm50LXNpemUtc21hbGw6ICByZW0yKDE1cHgpOy8vQWRqdXN0ZWRcbiRmbnQtc2l6ZS14c21hbGw6IHJlbTIoMTBweCk7Ly9BZGp1c3RlZFxuXG4vKj09PT09PT09PT09PT09PT09PT1cbkZPTlQgV0VJR0hUU1xuPT09PT09PT09PT09PT09PT09PT0qL1xuJGZudC13ZWlnaHQtbm9ybWFsOiA0MDA7XG4kZm50LXdlaWdodC1ib2xkOiA3MDA7XG4kZm50LXdlaWdodC14Ym9sZDogOTAwOyAvL05vdCB1c2VkIGFueW1vcmVcbi8qPT09PT09PT09PT09PT09PT09PVxuTEVUVEVSIFNQQUNJTkdcbj09PT09PT09PT09PT09PT09PT09Ki9cbiRscy1oZWFkaW5nczogMC4zZW07XG4kbHMtYm9keTogZW0oMS4zcHgpO1xuXG4vKj09PT09PT09PT09PT09PT09PT1cbkJPUkRFUiBTSVpFU1xuPT09PT09PT09PT09PT09PT09PT0qL1xuJGJvcmRlci1jb2xvcjogc2V0Y29sb3IoMSk7XG4kYm9yZGVyLXNpemU6MXB4O1xuJGJvcmRlci1zaXplLWxyZzogMnB4O1xuXG4vKj09PT09PT09PT09PT09PT09PT1cbkdVVFRFUlMgJiBQQURESU5HUyBTSVpFU1xuPT09PT09PT09PT09PT09PT09PT0qL1xuJGVsZW0tcGFkLXh4c206IHJlbTIoOHB4KTsgXG4kZWxlbS1wYWQteHNtOiAgcmVtMigxMnB4KTtcbiRlbGVtLXBhZC1zbTogICByZW0yKDE2cHgpO1xuJGVsZW0tcGFkOiAgICAgIHJlbTIoMjRweCk7IFxuJGVsZW0tcGFkLWxyZzogIHJlbTIoNDhweCk7IFxuJGVsZW0tcGFkLXhscmc6IHJlbTIoNjRweCk7ICAgXG4kZWxlbS1tYXJnaW46ICAgcmVtMigyMHB4KTtcblxuJGd1dHRlcjogICAgICAgIHJlbTIoMjRweCk7IFxuJGd1dHRlci1scmc6ICAgIHJlbTIoNjRweCk7IFxuJGd1dHRlci14OiAkZ3V0dGVyO1xuJGd1dHRlci15OiAkZ3V0dGVyO1xuXG4kdGV4dC1tYXgtd2lkdGg6IHJlbTIoOTAwcHgpO1xuXG4kaGVyby10eHQtbWF4LXdpZHRoOiByZW0yKDc1MHB4KTtcbiRjYXJkLXR4dC1tYXgtd2lkdGg6IHJlbTIoNDUwcHgpO1xuJGNhcmQtd2lkZS10eHQtbWF4LXdpZHRoOiAkaGVyby10eHQtbWF4LXdpZHRoO1xuLyo9PT09PT09XG5HUklEXG49PT09PT0qL1xuLy8gJGdyaWQtY29sOnJlbTIoNzApO1xuLy8gJGdyaWQtZ2FwOnJlbTIoMzApO1xuXG5cblxuLyo9PT09PT09PVxuWi1JTkRFWFxuPT09PT09PT0qL1xuJHotaW5kZXgtLW9udG9wOiA5MDA7XG4vKj09PT09PT09PT09PT09PT09PT1cbkNPTFVNTiBTSVpFU1xuPT09PT09PT09PT09PT09PT09PT0qL1xuXG4kYXNpZGUtd2lkdGgtbWluOiA1MDBweDtcbiRhc2lkZS13aWR0aC1tYXg6ICRhc2lkZS13aWR0aC1taW47XG4kYXNpZGUtbWF4OiAkYXNpZGUtd2lkdGgtbWluO1xuXG5cbi8vQnJlYWsgUG9pbnRzXG4kbWF4OiAxMjgwcHg7XG4kbWF4LXdpdGgtZ3V0dGVyOiAkbWF4ICsgMTAwcHg7XG4kbWF4LWZ1bGwtYmxlZWQ6IDE4MDBweDtcbiRtYXgtZnVsbC1ibGVlZC13LWd1dHRlcjogJG1heC1mdWxsLWJsZWVkICsgMTAwcHg7XG4kY29udGFpbmVkLWFydGljbGUtd2lkdGg6IDcyMHB4O1xuJGNvbnRhaW5lZC13aWR0aDogJGNvbnRhaW5lZC1hcnRpY2xlLXdpZHRoO1xuJGNvbnRhaW5lZC13aWRlLXdpZHRoOiAxMDAwcHg7XG4kY29tbWVyY2Utd2lkdGg6ICRtYXg7XG5cbiRicmVha3BvaW50czogKFxuICAneHNtYWxsJzogNDAwcHgsXG4gICdzbWFsbCc6IDc2OHB4LFxuICAnbWVkaXVtJzogMTAwMHB4LFxuICAnbGFyZ2UnOiAxMTUwcHgsXG4gICd4bGFyZ2UnOiAxNDAwcHgsXG4gICdtYXgnOiAkbWF4LFxuICAnbWF4LXdpdGgtZ3V0dGVyJzogJG1heC13aXRoLWd1dHRlcixcbik7XG5cbi8qPT09PT09PT09PT09PT09PT09PVxuV2lkdGhzXG49PT09PT09PT09PT09PT09PT09PSovXG4vLyAkbWF4OiBtYXAuZ2V0KCRicmVha3BvaW50cywgbWF4KTtcbi8vICRtYXgtd2l0aC1ndXR0ZXI6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCBtYXgtd2l0aC1ndXR0ZXIpO1xuXG5cbi8qPT09PT09PT09PT09PT09PT09PVxuUm9vdCBjdXN0b20gcHJvcHNcbj09PT09PT09PT09PT09PT09PT09Ki9cbjpyb290IHtcbiAgLS1oZWFkZXItaGVpZ2h0OiAje3JlbTIoODVweCl9OyBcblxuICAgIC8vcGFkZGluZ3NcbiAgLS1zZWN0aW9uLXNwYWNlOiAjeyRlbGVtLXBhZH07XG5cbiAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAtLWhlYWRlci1oZWlnaHQ6ICN7cmVtMig5NnB4KX07XG5cbiAgICAvL1BhZGRpbmdcbiAgICAgLS1zZWN0aW9uLXNwYWNlOiAjeyRlbGVtLXBhZC1scmd9O1xuICB9XG5cbiAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2UpIHsgXG4gICAgLS1oZWFkZXItaGVpZ2h0OiAje3JlbTIoMjAycHgpfTtcbiAgfVxuXG59IiwiQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdGT05ULU5BTUUnO1xuICAgIGZvbnQtc3R5bGU6ICdub3JtYWwnO1xuICAgIGZvbnQtd2VpZ2h0OiAnNDAwJztcbiAgICBzcmM6IHVybCgnL2Fzc2V0cy9mb250cy9OQU1FLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy9hc3NldHMvZm9udHMvTkFNRS53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuIiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuLyo9PT09PT1DU1MgVkFSUz09PT09PT0qL1xuXG46cm9vdCB7XG4gIC0tbWFpbi1iZy1jb2xvcjogI3tzZXRjb2xvcig1KX07XG4gIC0tbWFpbi1ib2R5LWNvbG9yOiAje3NldGNvbG9yKDEpfTtcbiAgLS1yZWQtY29sb3I6I3tzZXRjb2xvcigyKX07XG4gIC0tbWFpbi1mb250LWZhbWlseTogI3skZm9udC1tYWlufTtcbn1cblxuaHRtbCwgYm9keSB7XG4gICBcbn1cbmltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbn1cbmJvZHkubmF2aWdhdGlvbi0tb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyAvKiBBZGp1c3QgZm9yIHNjcm9sbGJhciB3aWR0aCAodXN1YWxseSAxNeKAkzE3cHgpICovXG4gIH1cblxuICAuY29udGVudC1ibG9jayB7XG4vL1VzZWQgdG8gd3JhcCBSVEUgZWxlbWVudHMuXG4gIH1cblxuICAvKkZPQ1VTKi9cblxuICAvKiAxKSBCYXNlbGluZSBmb3IgZXZlcnl0aGluZyB0aGF0IGNhbiBiZSBmb2N1c2VkICovXG46d2hlcmUoYSwgYnV0dG9uLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgc3VtbWFyeSwgW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PVwiLTFcIl0pKTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IC8qIG9ubHkgYmVjYXVzZSB3ZSBhZGQgYSByZXBsYWNlbWVudCBiZWxvdyAqL1xufVxuXG4vKiAyKSBTaG93IHRoZSByaW5nIHdoZW4gaXQgbWF0dGVycyAoa2V5Ym9hcmQsIGV0Yy4pICovXG46d2hlcmUoYSwgYnV0dG9uLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgc3VtbWFyeSwgW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PVwiLTFcIl0pKTpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogMXB4IHNvbGlkIHNldGNvbG9yKDIpO1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4vKiAzKSBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb27igJl0IHN1cHBvcnQgOmZvY3VzLXZpc2libGUgKi9cbkBzdXBwb3J0cyBub3Qgc2VsZWN0b3IoOmZvY3VzLXZpc2libGUpIHtcbiAgOndoZXJlKGEsIGJ1dHRvbiwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIHN1bW1hcnksIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD1cIi0xXCJdKSk6Zm9jdXMge1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCBzZXRjb2xvcigyKTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICB9XG59IiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkB1c2UgXCIuL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3NcIjtcblxuXG4vKkJhc2ljIFJlc2V0IG9mIHN0eWxlcyovXG4vKioqIGJveCBzaXppbmcgYm9yZGVyLWJveCBmb3IgYWxsIGVsZW1lbnRzICoqKi9cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlcntib3gtc2l6aW5nOmJvcmRlci1ib3g7fVxuYXt0ZXh0LWRlY29yYXRpb246bm9uZTsgY29sb3I6aW5oZXJpdDsgY3Vyc29yOnBvaW50ZXI7fVxuYnV0dG9ue2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7IGNvbG9yOmluaGVyaXQ7IGJvcmRlci13aWR0aDowOyBwYWRkaW5nOjA7IGN1cnNvcjpwb2ludGVyO31cbmZpZ3VyZXttYXJnaW46MDt9XG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7Ym9yZGVyOjA7IHBhZGRpbmc6MDsgbWFyZ2luOjA7fVxudWwsIG9sLCBkZHttYXJnaW46MDsgcGFkZGluZzowOyBsaXN0LXN0eWxlOm5vbmU7fVxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNnttYXJnaW46MDsgZm9udC1zaXplOmluaGVyaXQ7IGZvbnQtd2VpZ2h0OmluaGVyaXQ7fVxucHttYXJnaW46MDt9XG5jaXRlIHtmb250LXN0eWxlOm5vcm1hbDt9XG5maWVsZHNldHtib3JkZXItd2lkdGg6MDsgcGFkZGluZzowOyBtYXJnaW46MDt9XG4iLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG5cblxuaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1tYWluO1xuICAgIC8vIGZvbnQtc2l6ZTogMThweDtcbiAgICAgZm9udC1zaXplOiAkYmFzZS1zaXplO1xuICB9XG5cblxuYm9keSB7XG4gICAgY29sb3I6ICRjb2xvci1ib2R5O1xuICAgIC8vIGxldHRlci1zcGFjaW5nOiByZW0yKDEuM3B4KTtcbiAgICBsZXR0ZXItc3BhY2luZzogJGxzLWJvZHk7XG4gICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAvLyBmb250LXNpemU6IHJlbTIoMTVweCk7XG4gICAgfVxufVxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiBsaW5lLWhlaWdodDogMS4zO1xufVxuXG5wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZWxlbS1wYWQtc207XG5cbiAgICBpbWcgKyAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDokZWxlbS1wYWQtc207XG5cbiAgICB9XG59XG4udS1oZWFkaW5nLWZvbnQtc3R5bGVzIHtcbiAgICBAaW5jbHVkZSB1cHBlcmNhc2Utc3BhY2VkKCk7XG59XG5cbi51LXRpdGxlY2FzZS1mb250LXN0eWxlcyB7XG4gICAgIEBpbmNsdWRlIHRpdGxlY2FzZS1zcGFjZWQoKTtcbn1cbi51LWJvZHktZm9udC1zdHlsZXMge1xuICAgIGxldHRlci1zcGFjaW5nOiAkbHMtYm9keTtcbn1cblxuXG5oMSwgaDIsIGgzLCAudS1oMSwgLnUtaDIsIC51LWgzIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtYWx0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZWxlbS1wYWQtc207XG4gICAgQGluY2x1ZGUgdXBwZXJjYXNlLXNwYWNlZCgpO1xuXG59XG5cblxuaDQsIGg1LCAudS1oNCwgLnUtaDUge1xuICAgLy8gbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBtYXJnaW4tYm90dG9tOiAkZWxlbS1wYWQtc207XG59XG5cbmgyLCBoMywgaDQsIGg1LCAudS1oMiwgLnUtaDMsIC51LWg0LCAudS1oNSB7XG4gICAgXG4gICAgbWFyZ2luLXRvcDogJGVsZW0tcGFkLXNtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgLmwtY29udGVudCBwICsgJjpub3QoW2NsYXNzXSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAkZWxlbS1wYWQtbHJnO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZWxlbS1wYWQ7XG4gICAgfVxuXG4gICAgLy8gLmwtY29udGVudCAmIHtcbiAgICAvLyAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAvLyB9XG59XG5cbi5jaGVja291dCB7XG4gICAgaDEsIGgyLCBoMywgLnUtaDEsIC51LWgyLCAudS1oMyB7XG4gICAgICAgIGNvbG9yOnNldGNvbG9yKDEpICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5oMSwgLnUtaDEge1xuICAgIC8vIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgLy8gbGV0dGVyLXNwYWNpbmc6IDAuM2VtO1xuICAgIGZvbnQtc2l6ZTogcmVtMigyNHB4KTsgLy9BZGp1c3RlZFxuXG4gICAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0yKDI4cHgpOyAvL0FkanVzdGVkXG4gICAgfVxufVxuXG5oMiwgLnUtaDIge1xuICAgIGZvbnQtc2l6ZTogcmVtMigyMnB4KTsgLy9BZGp1c3RlZFxuICAgIC8vIGxldHRlci1zcGFjaW5nOiAkbHMtaGVhZGluZ3M7XG4gICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0yKDI2cHgpOyAvL0FkanVzdGVkXG4gICAgfVxuICAgIC5sLWdyaWQgJntcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpOyAvL21pZ2h0IG5vdCBuZWVkIHRvIGJlIHRoaXMgc3BlY2lmaWMsIGJ1dCBmb3Igbm93IGl0IGlzXG4gICAgfVxufVxuXG5cbmgzLCAudS1oMyB7XG4gICAgZm9udC1zaXplOiByZW0yKDIwcHgpOyAvL0FkanVzdGVkXG5cbn1cblxuaDQsIC51LWg0IHtcbiAgICBmb250LXNpemU6IHJlbTIoMThweCk7ICAvL0FkanVzdGVkXG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAvLyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5oNSwgLnUtaDUge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi8qTElOS1MqL1xuYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiRjb2xvci1hbmNob3I7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHNldGNvbG9yKDMpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDAlIDJweDtcbiAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiByZW0yKDRweCk7XG4gICAgfVxuXG59XG5cbi5jb250ZW50LWhlYWRlcl9faW50cm8ge1xuICAgIGZvbnQtc2l6ZTogcmVtMigxOHB4KTsgIC8vQWRqdXN0ZWRcbiAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuXG4gICAgfVxufVxuXG5tYWluIHtcbiAgICAvL1RhcmdldCBlbGVtZW50cyB0aGF0IGFyZSBwYXJ0IG9mIHRoZSBtYWluIHRhZy4gIFVzZWZ1bCBmb3IgZ2VuZXJpYyBlbGVtZW50IHRhZ3MgdGhhdCBhIHVzZXIgbWF5IGFkZCB2aWEgYW4gUlRFXG4gICAgdWwsIG9sIHtcbiAgICAgICAgbWFyZ2luOiRlbGVtLXBhZCAwO1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW46MCAwIDEwcHggMzBweDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgICB9XG4gICAgb2wge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG4gICAgfVxufVxuXG5cblxuLyo9PT09XG50YWcgb3JkZXIgc3BlY2lmaWMgc3R5bGVzXG49PT09PSovXG5cbmgyICsgaDMge1xuICAgIG1hcmdpbi10b3A6ICRlbGVtLXBhZC1scmc7XG59XG5cbnVsICsgaDMsIHAgKyBoMyB7XG4gICAgbWFyZ2luLXRvcDogJGVsZW0tcGFkLWxyZztcbn1cbiIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcblxuXG5cbi8qPT09PT09PT09PT09PT09PT09PT1cbkNPTE9VUlNcbj09PT09PT09PT09PT09PT09PT09Ki9cbi51LWJne1xuICAgICYtLTUwXFwvNTAge1xuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobWVkaXVtKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICB0byByaWdodCxcbiAgICAgICAgICAgIHNldGNvbG9yKDUpIDAgNTAlLFxuICAgICAgICAgICAgI2ZmZmZmZiA1MCUgMTAwJVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICAmLS0zMFxcLzcwIHtcbiAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKG1lZGl1bSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgdG8gcmlnaHQsXG4gICAgICAgICAgICBzZXRjb2xvcig1KSAwIDMwJSxcbiAgICAgICAgICAgICNmZmZmZmYgMzAlIDEwMCVcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBlYWNoICRrZXksICR2YWwgaW4gJHN3YXRjaGVzIHtcbiAgLnUtYmctY29sb3JfXyN7JGtleX0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6c2V0Y29sb3IoJGtleSkgIWltcG9ydGFudDtcbiAgICAmLS03NSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6c2V0Y29sb3IoJGtleSwgNzUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICYtLTUwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjpzZXRjb2xvcigka2V5LCA1MCkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJi0tMjUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOnNldGNvbG9yKCRrZXksIDI1KSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAudS10eHQtY29sb3JfXyN7JGtleX0ge1xuICAgIGNvbG9yOnNldGNvbG9yKCRrZXkpICFpbXBvcnRhbnQ7XG4gICAgJi0tNzUge1xuICAgICAgICBjb2xvcjpzZXRjb2xvcigka2V5LCA3NSkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJi0tNTAge1xuICAgICAgICBjb2xvcjpzZXRjb2xvcigka2V5LCA1MCkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJi0tMjUge1xuICAgICAgICBjb2xvcjpzZXRjb2xvcigka2V5LCAyNSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgLnUtYnJkLWNvbG9yX18jeyRrZXl9IHtcbiAgICBib3JkZXI6IHNvbGlkIDJweCBzZXRjb2xvcigka2V5KSAycHggIWltcG9ydGFudDtcbiAgICAmLS10b3Age1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IHNldGNvbG9yKCRrZXkpO1xuICAgICAgICBib3JkZXItd2lkdGg6IDJweCAwIDAgMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmLS1idG0ge1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IHNldGNvbG9yKCRrZXkpO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAycHggMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmLS1yaWdodCB7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogc2V0Y29sb3IoJGtleSk7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAycHggMCAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICYtLWxlZnQge1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IHNldGNvbG9yKCRrZXkpO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAwIDJweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmLS10b3AtYnRtIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBzZXRjb2xvcigka2V5KTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHggMCAycHggMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmLS1sZWZ0LXJpZ2h0IHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiAgc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogc2V0Y29sb3IoJGtleSk7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAycHggMCAycHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PVxuR0VORVJBTCBGT1JNQVRUSU5HXG49PT09PT09PT09PT09PT09PT09PSovXG4udS1lcnJvciwgLmZvcm1fX3Jvdy1lcnJvciB7XG4gICAgY29sb3I6IHJlZCAhaW1wb3J0YW50O1xufVxuLnUtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLnUtbG93ZXJjYXNlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7XG59XG4udS11cHBlcmNhc2Uge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDtcbn1cbi51LXRpdGxlY2FzZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDtcbn1cbi51LXRyYW5zZm9ybS1ub25lIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xufVxuLnUtcm91bmRlZC1jb3JuZXJzIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcm91bmRlZC1jb3JuZXI7XG4gICAgJi0tdG9wIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czokcm91bmRlZC1jb3JuZXIgJHJvdW5kZWQtY29ybmVyIDAgMDtcbiAgICAgICAgJi1sZWZ0IHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6JHJvdW5kZWQtY29ybmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1yaWdodCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJvdW5kZWQtY29ybmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbGVmdCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRyb3VuZGVkLWNvcm5lciAwICRyb3VuZGVkLWNvcm5lciAwO1xuICAgIH1cbiAgICAmLS1yaWdodCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgJHJvdW5kZWQtY29ybmVyIDAgJHJvdW5kZWQtY29ybmVyO1xuICAgIH1cblxuICAgICYtLWJ0bSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6MCAwICRyb3VuZGVkLWNvcm5lciAkcm91bmRlZC1jb3JuZXI7XG4gICAgICAgICYtbGVmdCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcm91bmRlZC1jb3JuZXI7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgJi1yaWdodCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJvdW5kZWQtY29ybmVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udS1jdXJzb3Ige1xuICAgICYtLXBvaW50ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgICYtLWRlZmF1bHQge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxufVxuLnUtbGluay1zdHlsZXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuLy9GbGV4IGFsaWduXG4udS1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgJi1qdXN0aWZ5IHtcbiAgICAgICAgJi0tZW5kIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIH1cbiAgICAgICAgJi0tc3RhcnQge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICAgICYtLWNlbnRlciB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtYWxpZ24ge1xuICAgICAgICAmLS1lbmQge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICB9XG4gICAgICAgICYtLXN0YXJ0IHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgfVxuICAgICAgICAmLS1jZW50ZXIge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnUtYm9yZGVyIHtcbiAgICBib3JkZXI6MXB4IHNvbGlkICRjb2xvci1ib3JkZXI7XG5cbn1cblxuaHIsIC51LWhyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXNpZGVzKHRvcCwgMnB4KTtcbiAgICBtYXJnaW46ICRlbGVtLXBhZC1zbSAwO1xuICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbjogJGVsZW0tcGFkIDA7XG4gICAgfVxuICAgICYuY29udGVudC1ociB7XG4gICAgICAgIG1hcmdpbjogJGVsZW0tcGFkLXhscmcgMDtcblxuICAgICAgICAmLS10cmFuc3BhcmVudCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICB9XG4gICAgXG59XG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PVxuSElERSBBU1NFVFMgQlVUIFJFTkRFUiBJTiBET01cbj09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbi51LXZpc3VhbGx5LWhpZGRlbiwgLnUtc3Ige1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG59XG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PVxuSElERSBFTEVNRU5UU1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuLnUtaGlkZSB7XG4gICAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XG5cbiAgICAmLS1zbSB7XG4gICAgICAgIC8vSGlkZSBvbiBzbWFsbCBzY3JlZW4gb25seVxuICAgICAgICBAaW5jbHVkZSBtYXBweS1icCgnc21hbGwnLCAnbWF4Jykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbWVkIHtcbiAgICAgICAgLy9IaWRlIG9uIG1lZGl1bSBzY3JlZW5zIGFuZCBiZWxvd1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icCgnc21hbGwnLCAnbWVkaXVtJykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8qPT09PT09PT09PT1cblNDUk9MTC9PVkVSRkxPVyBDTEFTU0VTXG49PT09PT09PT09PT0qL1xuLnUtbW9kZWwtLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4udS1vdmVyZmxvdyB7XG4gICAgJi0taGlkZGVuIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgJi0tc2Nyb2xsIHtcbiAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICB9XG5cbiAgICAmLS1zY3JvbGwteSB7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICB9XG5cbiAgICAmLS1zY3JvbGwteCB7XG4gICAgICAgIG92ZXJmbG93LXg6IHNjcm9sbDtcbiAgICB9XG59XG4vKj09PT09PT09PT09XG5GT05UIENMQVNTRVNcbj09PT09PT09PT09PSovXG5cbi51LXR4dCB7XG4gICAgJi0tc21hbGwge1xuICAgICAgICBmb250LXNpemU6IHJlbTIoMTJweCk7IC8vQWRqdXN0ZWRcbiAgICB9XG4gICAgJi0tbGFyZ2Uge1xuICAgICAgICBmb250LXNpemU6IHJlbTIoMTZweCk7IC8vQWRqdXN0ZWRcbiAgICB9XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT1cbnRvb2x0aXAgc3R5bGVzXG49PT09PT09PT09PT09PT09PT09PSovXG4udG9vbHRpcC1vbGQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC8vIGZvbnQtc2l6ZTogcmVtMigxM3B4KTtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgLy8gYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIC8vIGJvcmRlcjoxcHggc29saWQgIHNldGNvbG9yKDEpO1xuICAgIHJpZ2h0OjBweDtcbiAgICB0b3A6MHB4O1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIC5hLWljb25fX3N2ZyB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgfVxuICAgICZfX3dyYXAge1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDoyMnB4O1xuICAgIH1cbn1cbi8qPT09PT09PT09PT09PT09PT09PT1cblBhZGRpbmdzXG49PT09PT09PT09PT09PT09PT09PSovXG4udS1uby1tYXJnaW4ge1xuICAgIG1hcmdpbjowICFpbXBvcnRhbnQ7XG4gICAgJi0tdG9wIHtcbiAgICAgICAgbWFyZ2luLXRvcDowICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICYtLWJvdHRvbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MCAhaW1wb3J0YW50OyAgICBcbiAgICB9XG4gICAgJi0tcmlnaHQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6MCAhaW1wb3J0YW50OyAgICBcbiAgICB9XG4gICAgJi0tbGVmdCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OjAgIWltcG9ydGFudDsgIFxuICAgIH1cbiAgICAmLS10b3AtYm90dG9tIHtcbiAgICAgICAgbWFyZ2luLXRvcDowICFpbXBvcnRhbnQ7ICBcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyAgXG4gICAgfVxuICAgICAmLS1sZWZ0LXJpZ2h0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6MCAhaW1wb3J0YW50OyAgXG4gICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyAgXG4gICAgfVxufVxuLnUtbm8tcGFkIHtcbiAgICBwYWRkaW5nOjAgIWltcG9ydGFudDtcbiAgICAmLS10b3Age1xuICAgICAgICBwYWRkaW5nLXRvcDowICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICYtLWJvdHRvbSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOjAgIWltcG9ydGFudDsgICAgXG4gICAgfVxuICAgICYtLXJpZ2h0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDowICFpbXBvcnRhbnQ7ICAgIFxuICAgIH1cbiAgICAmLS1sZWZ0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OjAgIWltcG9ydGFudDsgIFxuICAgIH1cbiAgICAmLS10b3AtYm90dG9tIHtcbiAgICAgICAgcGFkZGluZy10b3A6MCAhaW1wb3J0YW50OyAgXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7ICBcbiAgICB9XG4gICAgICYtLWxlZnQtcmlnaHQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6MCAhaW1wb3J0YW50OyAgXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgIFxuICAgIH1cbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PVxuVmlkZW9cbj09PT09PT09PT09PT09PT09PT09Ki9cbi51LXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDU2LjI1JTsgLyogMTY6OSAqL1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJiBpZnJhbWUsXG4gICAgJiBlbWJlZCxcbiAgICAmIG9iamVjdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlcjogMDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG59XG5cblxuXG5cbi8qPT09PT09XG5BSkFYIExPQURFUlxuPT09PT09PSovXG4udS1sb2FkZXIge1xuICAgIGJhY2tncm91bmQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjAwIDIwMFwiPjxyZWN0IGZpbGw9XCIlMjM3ODAwMDBcIiBzdHJva2U9XCIlMjM3ODAwMDBcIiBzdHJva2Utd2lkdGg9XCIxNVwiIHdpZHRoPVwiMzBcIiBoZWlnaHQ9XCIzMFwiIHg9XCIyNVwiIHk9XCI4NVwiPjxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9XCJvcGFjaXR5XCIgY2FsY01vZGU9XCJzcGxpbmVcIiBkdXI9XCIyXCIgdmFsdWVzPVwiMTswOzE7XCIga2V5U3BsaW5lcz1cIi41IDAgLjUgMTsuNSAwIC41IDFcIiByZXBlYXRDb3VudD1cImluZGVmaW5pdGVcIiBiZWdpbj1cIi0uNFwiPjwvYW5pbWF0ZT48L3JlY3Q+PHJlY3QgZmlsbD1cIiUyMzc4MDAwMFwiIHN0cm9rZT1cIiUyMzc4MDAwMFwiIHN0cm9rZS13aWR0aD1cIjE1XCIgd2lkdGg9XCIzMFwiIGhlaWdodD1cIjMwXCIgeD1cIjg1XCIgeT1cIjg1XCI+PGFuaW1hdGUgYXR0cmlidXRlTmFtZT1cIm9wYWNpdHlcIiBjYWxjTW9kZT1cInNwbGluZVwiIGR1cj1cIjJcIiB2YWx1ZXM9XCIxOzA7MTtcIiBrZXlTcGxpbmVzPVwiLjUgMCAuNSAxOy41IDAgLjUgMVwiIHJlcGVhdENvdW50PVwiaW5kZWZpbml0ZVwiIGJlZ2luPVwiLS4yXCI+PC9hbmltYXRlPjwvcmVjdD48cmVjdCBmaWxsPVwiJTIzNzgwMDAwXCIgc3Ryb2tlPVwiJTIzNzgwMDAwXCIgc3Ryb2tlLXdpZHRoPVwiMTVcIiB3aWR0aD1cIjMwXCIgaGVpZ2h0PVwiMzBcIiB4PVwiMTQ1XCIgeT1cIjg1XCI+PGFuaW1hdGUgYXR0cmlidXRlTmFtZT1cIm9wYWNpdHlcIiBjYWxjTW9kZT1cInNwbGluZVwiIGR1cj1cIjJcIiB2YWx1ZXM9XCIxOzA7MTtcIiBrZXlTcGxpbmVzPVwiLjUgMCAuNSAxOy41IDAgLjUgMVwiIHJlcGVhdENvdW50PVwiaW5kZWZpbml0ZVwiIGJlZ2luPVwiMFwiPjwvYW5pbWF0ZT48L3JlY3Q+PC9zdmc+Jykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMHB4O1xuXG4gICAgJi0tb3ZlcmxheSB7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICB9XG59XG5cblxuLyo9PT09PT09PT09PT09PT09PT09PVxuQ09MTEFQU0FCTEUgVE9HR0xFXG49PT09PT09PT09PT09PT09PT09PSovXG4udS1jb2xsYXBzYWJsZS10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgJjpjaGVja2VkKy51LWNvbGxhcHNhYmxlLXRvZ2dsZV9fdGl0bGUrLnUtY29sbGFwc2FibGUtdG9nZ2xlX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufSIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcblxuLmwtZ3JpZCB7XG4gICAgLy9HZW5lcmljIEdyaWQgc3lzdGVtIHVzZWQgYWNyb3NzIG1vc3Qgb2YgdGhlIHNpdGUuXG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6ICRndXR0ZXI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcbiAgICBtYXJnaW46ICRlbGVtLXBhZCAwO1xuXG4gICAgJi0tY2hlY2tvdXQge1xuXG4gICAgICAgIC5sLWdyaWRfX2NvbCB7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCBzZXRjb2xvcig0KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5sLWNvbnRhaW5lcl9faW5uZXIgPiAmOmZpcnN0LWNoaWxkLCAubC1jb250ZW50ID4gJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6MDtcbiAgICB9XG4gICAgJi0tbm8tbWFyZ2luIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtYXBweS1icChtZWRpdW0pIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSAgbWlubWF4KDAsIDFmcik7XG4gICAgfVxuXG5cbiAgICBcbiAgICAmX19jb2wge1xuXG4gICAgICAgICYtLWNvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZzokZWxlbS1wYWQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6JGVsZW0tcGFkLWxyZyAkZWxlbS1wYWQteGxyZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tMyB7XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKG1lZGl1bSkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLS00IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKTtcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgbWlubWF4KDAsIDFmcikgbWlubWF4KDAsIDFmcik7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobWVkaXVtKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAxZnIpO1xuICAgICAgICB9XG4gICAgfVxuICAgICYtLTUwXFwvNTB7XG4gICAgICAgIC8vRXF1YWwgQ29sc1xuICAgICAgICAvLyRhc2lkZS13aWR0aFxuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLTc1XFwvMjV7XG4gICAgICAgIC8vTGFyZ2UgLyBTbWFsbCBDb2xzXG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgbWlubWF4KCRhc2lkZS13aWR0aC1tYXgsICRhc2lkZS13aWR0aC1tYXgpO1xuICAgICAgICAgICAgfVxuICAgIH1cblxuICAgICYtLTI1XFwvNzV7XG4gICAgICAgIC8vU21hbGwgLyBMYXJnZSBDb2xzXG4gICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgkYXNpZGUtd2lkdGgtbWF4LCAkYXNpZGUtd2lkdGgtbWF4KSBtaW5tYXgoMCwgMWZyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmwtZ3JpZC1mbGV4IHtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAkZ3V0dGVyO1xuXG4gICAgJiA+IC5sLWdyaWRfX2NvbCB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgY2FsYygoMTAwJSAtICN7MyAqICRndXR0ZXJ9KSAvIDIpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgY2FsYygoMTAwJSAtICN7MyAqICRndXR0ZXJ9KSAvIDQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gICAgICYtLWNhcmQtaW1nIHtcbiAgICAvLyAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcbiAgICAvLyAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICBcbiAgICAvLyAgICAgcGFkZGluZzokZWxlbS1wYWQgMDtcbiAgICAvLyAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgLy8gICAgICAgICBwYWRkaW5nOiRlbGVtLXBhZC1scmcgMDtcbiAgICAvLyAgICAgfVxuICAgIC8vICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgIC8vICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKTtcbiAgICAvLyAgICAgfVxuICAgIC8vICAgICBAaW5jbHVkZSBtYXBweS1icChsYXJnZSkge1xuICAgIC8vICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKTtcbiAgICAvLyAgICAgfVxuICAgIC8vIH1cbn0iLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG5cbi5sLXNpdGVfX3dyYXBwZXIge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmciBhdXRvO1xuXG59XG5cblxuLmwtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiRlbGVtLXBhZC1zbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuXG5cbiAgICAmLS1tYWluLCAmLS1icmVhZGNydW1ic3tcbiAgICAgICAgcGFkZGluZy10b3A6MCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTowICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgcGFkZGluZzokZWxlbS1wYWQ7XG4gICAgfVxuXG4gICAgJl9faW5uZXIge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXItaW5uZXItc3R5bGVzO1xuICAgICAgICAubC1jb250YWluZXItLWNvbnRlbnQgJiB7XG4gICAgICAgICAgICAvL2FkZGVkIGNvbnRlbnQgbW9kaWZpZXIgc28gZnVsbCB3aWR0aCBjb250ZW50IGNhbiBiZSB1c2VkIG9uIGNvbnRlbnRwYWdlIHdpdGhvdXQgYW55IGtub2NrIG9uIGVmZmVjdHMgdG8gb3RoZXIgdGVtcGxhdGVzLlxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkbWF4LWZ1bGwtYmxlZWQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5iYWNrdG90b3Age1xuICAgICAgICAvLyBkaXNwbGF5OiBub25lO1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICB9XG59XG5cblxuLmwtc2lkZS1uYXYge1xuICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgICAgICB0byByaWdodCxcbiAgICAgICAgICAgICAgICBzZXRjb2xvcig1KSAwIDUwJSxcbiAgICAgICAgICAgICAgICAjZmZmZmZmIDUwJSAxMDAlXG4gICAgICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgJl9faW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBnYXA6ICRlbGVtLXBhZDtcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzAwcHggMWZyO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2NvbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkZWxlbS1wYWQtbHJnO1xuICAgICAgICAgcGFkZGluZy1ib3R0b206ICRlbGVtLXBhZC1scmc7XG5cbiAgICAgICAgJi1hc2lkZSwgJi1tYWluIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGVsZW0tcGFkLXNtO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiRlbGVtLXBhZC1zbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6JGVsZW0tcGFkLXNtO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDphdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJi1hc2lkZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcig1KTtcbiAgICAgICAgfVxuICAgICAgICAmLW1haW4ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZWxlbS1wYWQtbHJnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICB9XG4gICAgLmwtY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDowICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOjAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmwtY29udGFpbmVyX19pbm5lciB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBcbn0gICBcblxuLmwtc2VjdGlvbiB7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDp2YXIoLS1zZWN0aW9uLXNwYWNlKTtcbiAgICBwYWRkaW5nLWJvdHRvbTp2YXIoLS1zZWN0aW9uLXNwYWNlKTtcbiAgICAubC1zaXRlX19tYWluID4gJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIC8vIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgICAmID4gKjpmaXJzdC1jaGlsZCwgJiA+IC5sLXNlY3Rpb25fX2lubmVyID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJiA+ICo6bGFzdC1jaGlsZCwgJiA+IC5sLXNlY3Rpb25fX2lubmVyID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmX19pbm5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6ICRtYXgtZnVsbC1ibGVlZDtcbiAgICAgICAgJi0tY29udGFpbmVkIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OmF1dG87XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6YXV0bztcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lci1pbm5lci1zdHlsZXM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi0tYmcge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcig1KTtcbiAgICAgICAgJiArICYge1xuICAgICAgICAgICAgLy9SZW1vdmUgdG9wIHBhZGRpbmcgaWYgZm9sbG93aW5nIGFub3RoZXIgc2VjdGlvbiB3aXRoIGEgYmFja2dyb3VuZCwgdG8gYXZvaWQgbGFyZ2UgZ2FwcyBiZXR3ZWVuIHNlY3Rpb25zXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfSAgIFxuICAgIH1cbiAgICAmOm5vdCgubC1zZWN0aW9uLS1iZykge1xuICAgICAgICAvL1JlbW92ZSB0b3AgcGFkZGluZyBpZiBmb2xsb3dpbmcgYW5vdGhlciBzZWN0aW9uIHdpdGhvdXQgYSBiYWNrZ3JvdW5kLCB0byBhdm9pZCBsYXJnZSBnYXBzIGJldHdlZW4gc2VjdGlvbnNcbiAgICAgICAgJiArICY6bm90KC5sLXNlY3Rpb24tLWJnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmOmhhcyg+IC5sLXNlY3Rpb25fX2lubmVyID4gLmNhcmQtLXdpZGU6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxufVxuXG4ubC1zZWN0aW9uMjIge1xuICAgIG1hcmdpbi10b3A6ICRndXR0ZXItbHJnO1xuICAgIC8vICYgKyAmIHtcbiAgICAvLyAgICAgbWFyZ2luLXRvcDogJGd1dHRlcjtcbiAgICAvLyB9XG4gICAgLmwtc2VjdGlvbi0tYmcgKyAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgJi0tbm8tbWFyZ2luLCAmLS1iZyArICAmLS1iZ3tcbiAgICAgICAgbWFyZ2luLXRvcDowICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgXG4gICAgLmwtc2l0ZV9fbWFpbiAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgJi0tYmcge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcig1KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRndXR0ZXItbHJnO1xuICAgICAgICAubC1zZWN0aW9uX19pbm5lcjpub3QoOmhhcyg+IDpmaXJzdC1jaGlsZC5jYXJkKSkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRlbGVtLXBhZDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRlbGVtLXBhZC1scmc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICAmLXdoaXRlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIH1cbiAgICAgICAgJiArIC5sLXNlY3Rpb24gIHtcbiAgICAgICAgICAgLy8gbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2lubmVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6YXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OmF1dG87XG4gICAgICAgIG1heC13aWR0aDogJG1heC1mdWxsLWJsZWVkLXctZ3V0dGVyO1xuXG4gICAgICAgICYgaDI6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICB9XG4gICAgICAgID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6MCAkZWxlbS1wYWQ7XG4gICAgICAgIH1cbiAgICAgICAgJi0tbm8tcGFkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6MCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAmID4gKjpub3QoLmNhcmQtLXdpZGUpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiRlbGVtLXBhZC1scmc7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6JGVsZW0tcGFkLWxyZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWZ1bGwtYmxlZWQge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgICYtLWNvbnRhaW5lZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDphdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OmF1dG87XG4gICAgICAgICAgICBAaW5jbHVkZSBjb250YWluZXItaW5uZXItc3R5bGVzO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG4ubC1jb250ZW50IHtcbiAgICAgQGluY2x1ZGUgY29udGFpbmVyLWlubmVyLXN0eWxlcztcbiAgICBwYWRkaW5nOiRlbGVtLXBhZC1scmcgMDtcbiAgICAmICsgJiB7XG4gICAgICAgIHBhZGRpbmctdG9wOjA7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgICYtLWNvbnRhaW5lZCB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lZC13aWR0aDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6YXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OmF1dG87XG5cbiAgICAgICAgLmwtY29tbWVyY2UgJiB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRjb21tZXJjZS13aWR0aDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLS1jb250YWluZWQtd2lkZSB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lZC13aWRlLXdpZHRoO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAmLS13aWRlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkbWF4LWZ1bGwtYmxlZWQ7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXRvcDowO1xuICAgIH1cbn1cblxuLmNvbnRlbnQtYmxvY2sge1xuICAgIG1heC13aWR0aDogJGNvbnRhaW5lZC13aWR0aDtcbiAgICBtYXJnaW46MCBhdXRvO1xuXG4gICAgJi0td2lkZSB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG59IiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuXG4ubC1zZWN0aW9uX19ob21lLWxhc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAubmV3c2xldHRlci1zaWdudXAge1xuICAgICAgIC8vIG9yZGVyOjM7XG4gICAgfVxuXG4gICAgLmhvbWVfX3RpbGVzIHtcbiAgICAgICAgb3JkZXI6MjtcbiAgICAgICAgLy9tYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAuaG9tZV9fdGlsZXMge1xuICAgICAgICAgICAgb3JkZXI6MjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICAkZWxlbS1wYWQgO1xuICAgICAgICB9XG4gICAgICAgIC5uZXdzbGV0dGVyLXNpZ251cCB7XG4gICAgICAgICAgIC8vIG9yZGVyOjE7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuJHN2Z1NpemU6IDE2cHg7XG5cbi5hLWljb24ge1xuICAgICZfX3N2ZyB7XG4gICAgICAgIGhlaWdodDogJHN2Z1NpemU7XG4gICAgICAgIHdpZHRoOiAkc3ZnU2l6ZTtcbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgICAmLS14MS01IHtcbiAgICAgICAgICAgIGhlaWdodDogJHN2Z1NpemUgKiAxLjU7XG4gICAgICAgICAgICB3aWR0aDogJHN2Z1NpemUgKiAxLjU7XG4gICAgICAgIH1cbiAgICAgICAgJi0teDIge1xuICAgICAgICAgICAgaGVpZ2h0OiAkc3ZnU2l6ZSAqIDI7XG4gICAgICAgICAgICB3aWR0aDogJHN2Z1NpemUgKiAyO1xuICAgICAgICB9XG4gICAgICAgICYtLXgyLTUge1xuICAgICAgICAgICAgaGVpZ2h0OiAkc3ZnU2l6ZSAqIDIuNTtcbiAgICAgICAgICAgIHdpZHRoOiAkc3ZnU2l6ZSAqIDIuNTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXgzIHtcbiAgICAgICAgICAgIGhlaWdodDogJHN2Z1NpemUgKiAzO1xuICAgICAgICAgICAgd2lkdGg6ICRzdmdTaXplICogMztcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXg0IHtcbiAgICAgICAgICAgIGhlaWdodDogJHN2Z1NpemUgKiA0O1xuICAgICAgICAgICAgd2lkdGg6ICRzdmdTaXplICogNDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXg1IHtcbiAgICAgICAgICAgIGhlaWdodDogJHN2Z1NpemUgKiA1O1xuICAgICAgICAgICAgd2lkdGg6ICRzdmdTaXplICogNTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG5cbi5sb2dvIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNjBweDtcbiAgICAmLS1zbSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtYXBweS1icCh4c21hbGwpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5MHB4O1xuICAgIH1cbiAgICBcbiAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiAzOTBweDtcbiAgICAgICAgbWluLXdpZHRoOiAzOTBweDtcbiAgICAgICAgJi0tc20ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtYXBweS1icChtZWRpdW0pIHtcbiAgICAgICAgLy8gbWF4LXdpZHRoOiAzOTBweDtcbiAgICB9XG59XG4iLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG5cblxuXG4uaGVhZGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgc2V0Y29sb3IoNCk7XG4gICAgei1pbmRleDogJHotaW5kZXgtLW9udG9wO1xuICAgICZfX2xvZ291dCB7XG4gICAgICAgIC5hLWljb25fX3N2ZyB7XG4gICAgICAgICAgICB3aWR0aDoyOXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgIH1cbiAgICBcbiAgICAuc2VhcmNoLS1vcGVuICYge1xuICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcigzKTtcbiAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtc3RpY2t5ICZ7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTs7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB6LWluZGV4OiAkei1pbmRleC0tb250b3A7XG4gICAgICAgICAgICAvLyBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLDAsMCwwLjEyKTtcblxuICAgICAgICAgICAgLmhlYWRlcl9faW5uZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgIH1cbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjMWZhZWRkO1xuICAgIC8vIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgIC8vIHN2ZyB7XG4gICAgLy8gICAgIGZpbGw6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgLy8gfVxuLy8gcGFkZGluZzokZWxlbS1wYWQ7XG4gICAgJi5sLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZzokZWxlbS1wYWQgJGVsZW0tcGFkIDAgJGVsZW0tcGFkO1xuICAgICAgICB9XG4gICAgfVxuICAgJl9faW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAvL2dyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgYXV0byBtaW5tYXgoMCwgMWZyKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogJGVsZW0tcGFkICRlbGVtLXBhZC1zbSAkZWxlbS1wYWQtc20gJGVsZW0tcGFkLXNtO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAubmF2aWdhdGlvbi0tb3BlbiAmICB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcigzKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2Upe1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgICAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2UpIHtcbiAgICAgICAgICAgIC8vb25seSBvbiBmdWxsIFxuICAgICAgICAgICAgLy8gZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgbWlubWF4KDQwMHB4LCAxZnIpIDFmcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgfVxuICAgXG4gICAgJl9fYWNjb3VudCB7XG5cbiAgICAgICAgJi1saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiA1cHg7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmhlYWRlcl9fYWNjb3VudC10ZXh0IHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuICAgICAgICAgICAgICAgIC5oZWFkZXJfX2FjY291bnQtdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYtLWxvZ2dlZC1pbiB7XG4gICAgICAgICAgICAuaGVhZGVyX19hY2NvdW50LWxpbmsge1xuICAgICAgICAgICAgICAgIGNvbG9yOnNldGNvbG9yKDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX2ljb25zIHtcbiAgICAgICAgIGNvbG9yOnNldGNvbG9yKDEpO1xuICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMik7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjpzZXRjb2xvcigxKTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgIFxuICAgICAgICBcbiAgICAgICAgLmEtaWNvbl9fc3ZnIHtcbiAgICAgICAgICAgIC8vIGNvbG9yOnNldGNvbG9yKDEpO1xuICAgICAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICAgIH1cbiAgICAgICAgJi0tYmFza2V0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMSk7XG4gICAgICAgICAgICAuYWN0aXZlICYge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hLWljb25fX3N2ZyB7XG4gICAgICAgICAgICAgICAgZmlsbDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDM0cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgIH1cblxuICAgICZfX2xlZnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDokZWxlbS1wYWQtc207XG4gICAgfVxuXG4gICAgLmxvZ29fX3dyYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgJl9fYmFza2V0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICYtY291bnQge1xuICAgICAgICAgICAgLy8gZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOjRweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2VhcmNoIHtcbiAgICAgICAgJi1idG4ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgLmEtaWNvbl9fc3ZnICB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgICAgICAgICAgICB3aWR0aDogMjZweDtcbiAgICAgICAgICAgICAgICAvLyBtYXJnaW4tdG9wOi03cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hY2NvdW50IHtcbiAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICBnYXA6cmVtMigxNXB4KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OnJlbTIoMTVweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtMigxNHB4KTtcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbTIoMTZweCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fdXRpbGl0aWVzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOjE1cHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgJi1saW5rcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG59XG5cblxuLyo9PUNvbnRlbnQgSGVhZGVyPT0qL1xuXG5cbi8qPT1Db250ZW50IEhlYWRlcj09Ki9cbi5jb250ZW50LWhlYWRlciB7XG4gICAgcGFkZGluZy10b3A6ICRlbGVtLXBhZC1scmc7XG4gICAgcGFkZGluZy1ib3R0b206JGVsZW0tcGFkLXh4c207XG4gICAgLmwtY29udGFpbmVyLS1icmVhZGNydW1icyArICYge1xuICAgICAgICBwYWRkaW5nLXRvcDowO1xuICAgIH1cbiAgICAmW2NsYXNzKj1cInUtYmctY29sb3JcIl0sICZbY2xhc3NePVwidS1iZy1jb2xvclwiXSwgJi5oZWFkZXItLWNvbnRlbnQge1xuICAgICAgICAvLyBwYWRkaW5nLXRvcDogJGVsZW0tcGFkLXhscmc7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiRlbGVtLXBhZC1scmc7XG4gICAgfVxuICAgICZfX2lubmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXgtd2lkdGg6ICRoZXJvLXR4dC1tYXgtd2lkdGg7XG4gICAgfVxuICAgICZfX2ludHJvIHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0yKDczNXB4KTsgLy9BZGp1c3RlZFxuICAgIH1cbn0iLCJcbkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcblxuXG4jY2MtcGFuZWwge1xuICAgICBwYWRkaW5nOjI1cHggIWltcG9ydGFudDtcblxuICAgIC8vICBoMiwgaDMsIGg0IHtcbiAgICAvLyAgICAgbGV0dGVyLXNwYWNpbmc6ICRscy1ib2R5ICFpbXBvcnRhbnQ7XG4gICAgLy8gIH1cblxuICAgICAjY2NjLW5lY2Vzc2FyeS10aXRsZSB7XG4gICAgICAgICBAaW5jbHVkZSB1cHBlcmNhc2Utc3BhY2VkO1xuICAgICB9XG59XG4jY2NjLW5vdGlmeSB7XG4gICAgKiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIH1cbn1cbiNjY2MtYnV0dG9uLWhvbGRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6JGVsZW0tcGFkLXhzbTtcbn1cbiNjY2Mtbm90aWZ5LXRpdGxlID4gc3BhbntcbmZvbnQtc2l6ZTozMHB4O1xuY29sb3I6c2V0Y29sb3IoMikgIWltcG9ydGFudDtcbmZvbnQtd2VpZ2h0Om5vcm1hbDtcbmRpc3BsYXk6IGZsZXg7XG5hbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmNjYy1ub3RpZnktdGV4dCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgaDEge1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIH1cbn1cbiNjb29raWVfaWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OjEwcHg7XG5maWxsOnNldGNvbG9yKDIpICFpbXBvcnRhbnQ7XG5jb2xvcjpzZXRjb2xvcigyKSAgIWltcG9ydGFudDtcbm1hcmdpbjowIGF1dG87XG59XG4jY29va2llX2ljb24gc3Zne1xuaGVpZ2h0OjQwcHg7XG5cbmZpbGw6c2V0Y29sb3IoMik7XG4gICAgXG59XG4jY2NjLXRpdGxlIHtcbn1cbiNjY2MgLmNjYy1tb2R1bGUtLXBvcHVwICNjY2MtY29udGVudCB7XG5iYWNrZ3JvdW5kOiNmZmZmZmYgIWltcG9ydGFudDtcbmJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbm1heC1oZWlnaHQ6IHJlbTIoMTEwMHB4KSAhaW1wb3J0YW50O1xufVxuYm9keSAjY2NjIC5jY2Mtbm90aWZ5LWJ1dHRvbiB7XG5cbn1cbmJvZHkgI2NjYyAuY2NjLW5vdGlmeS1idXR0b24uY2NjLWFjY2VwdC1idXR0b24sIGJvZHkgI2NjYyAuY2NjLW5vdGlmeS1idXR0b24uY2NjLXJlamVjdC1idXR0b24sIGJvZHkgI2NjYyAuY2NjLW5vdGlmeS1idXR0b24jY2NjLW5vdGlmeS1yZWplY3QsICNjY2MgI2NjYy1idXR0b24taG9sZGVyIGJ1dHRvbiNjY2MtcmVjb21tZW5kZWQtc2V0dGluZ3MgIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBwYWRkaW5nOiByZW0yKDZweCkgcmVtMigyMHB4KTtcbiAgICBjb2xvcjogJGJ0bi1tYWluO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgY29sb3IgMC41cztcbiAgICBAaW5jbHVkZSB1cHBlcmNhc2Utc3BhY2VkO1xuICAgIGJvcmRlcjoxcHggc29saWQgJGJ0bi1tYWluICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWxlZnQ6MCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yaWdodDowICFpbXBvcnRhbnQ7XG4gICAgXG4gICAgQGluY2x1ZGUgYnRuLXNpbXBsZS1zdHlsZTtcbiAgICAvL2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHNldGNvbG9yKDIpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czowICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206MDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgbWFyZ2luOjAgYXV0byAhaW1wb3J0YW50O1xuXG59XG5ib2R5ICNjY2MgLmNjYy1ub3RpZnktYnV0dG9uI2NjYy1ub3RpZnktcmVqZWN0e1xuICAgIFxuICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgIC8vIG1hcmdpbi1sZWZ0OiAkZWxlbS1wYWQgIWltcG9ydGFudDtcbiAgICB9XG59XG5idXR0b24uY2NjLW5vdGlmeS1saW5rIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjpzZXRjb2xvcigyKSAhaW1wb3J0YW50O1xuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBzZXRjb2xvcigzKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAwJSAycHg7XG4gICAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogcmVtMig0cHgpO1xuICAgIH1cbn1cbmJ1dHRvbi5jY2Mtbm90aWZ5LWxpbmsge1xuIHRleHQtZGVjb3JhdGlvbjpub25lO1xuXG59XG4jY2NjIC5jY2Mtbm90aWZ5LWJ1dHRvbi5jY2Mtbm90aWZ5LWxpbmsge1xuIHBhZGRpbmc6JGVsZW0tcGFkLXNtIDAgMCAwICFpbXBvcnRhbnQ7XG59XG4uY2NjLW5vdGlmeS1idXR0b24gc3BhbiwgYm9keSAjY2NjIC5jY2Mtbm90aWZ5LWJ1dHRvbi5jY2MtYWNjZXB0LWJ1dHRvbiBzcGFuIHtcbi8vcGFkZGluZy1ib3R0b206OHB4O1xuZGlzcGxheTpibG9jayAhaW1wb3J0YW50O1xuLy9ib3JkZXItYm90dG9tOjFweCBzb2xpZCBzZXRjb2xvcigyKSAhaW1wb3J0YW50O1xufVxuI2NjYy1ub3RpZnktZGlzbWlzcyB7XG5kaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcbn1cbiNjY2MsICNjY2MtdGl0bGUge1xuZm9udC1mYW1pbHk6IFwiRm9ydW1cIiwgc2VyaWYgIWltcG9ydGFudDtcbn1cblxuI2NjYy10aXRsZSB7XG4gLy90ZXh0LWFsaWduOmNlbnRlciAhaW1wb3J0YW50Oztcbn1cblxuI2NjYyAjY2NjLW5vdGlmeSBwIHtcbmZvbnQtc2l6ZToyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbiNjY2MgI2NjYy1ub3RpZnkge1xuICAgIGRpc3BsYXk6ZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtZGlyZWN0aW9uOmNvbHVtbiAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBcbkBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgcGFkZGluZzogJGVsZW0tcGFkICFpbXBvcnRhbnQ7XG59XG5cbn1cblxuI2NjYyAjY2NjLWJ1dHRvbi1ob2xkZXIgYnV0dG9uI2NjYy1yZWNvbW1lbmRlZC1zZXR0aW5ncyB7XG4vLyBiYWNrZ3JvdW5kLWNvbG9yOnNldGNvbG9yKDIpICFpbXBvcnRhbnQ7XG4vLyBjb2xvcjojZmZmZmZmICFpbXBvcnRhbnQ7XG59XG4jY2NjICNjY2MtYnV0dG9uLWhvbGRlciBidXR0b24jY2NjLXJlY29tbWVuZGVkLXNldHRpbmdzIHNwYW57XG4vLyBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4vLyBjb2xvcjojZmZmZmZmICFpbXBvcnRhbnQ7XG5cbn1cbiNjY2MgLmNoZWNrYm94LXRvZ2dsZS0tZGFyayAuY2hlY2tib3gtdG9nZ2xlLXRvZ2dsZSB7XG5iYWNrZ3JvdW5kLWNvbG9yOnNldGNvbG9yKDIpICFpbXBvcnRhbnQ7XG59XG5cblxuXG4vKmNvZGUgdG8gY2VudGVyIHRoZSBidXR0b25zKi9cbi5jY2Mtbm90aWZ5LWJ1dHRvbnMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gIGNvbHVtbi1nYXA6ICRlbGVtLXBhZDtcbiAgcm93LWdhcDogJGVsZW0tcGFkLXNtO1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLyogU2V0dGluZ3MgYnV0dG9uOiB0aGlyZCBjaGlsZCBpbiBtYXJrdXAgKi9cbi5jY2Mtbm90aWZ5LWxpbmsge1xuICBvcmRlcjogLTE7XG4gIGdyaWQtY29sdW1uOiAxIC8gLTE7IC8qIHNwYW5zIGZ1bGwgd2lkdGgsIGl0cyBvd24gcm93ICovXG4gIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuXG4vKiBBY2NlcHQgYW5kIHJlamVjdCBzaXQgb24gdGhlIHJvdyBiZWxvdywgc2lkZSBieSBzaWRlICovXG4uY2NjLWFjY2VwdC1idXR0b24ge1xuICBvcmRlcjogMTtcblxufVxuXG4uY2NjLXJlamVjdC1idXR0b24ge1xuICBvcmRlcjogMjtcbn1cblxuXG5cbi8qPT09PWNvb2tpZSBoZWFkaW5nIGljb249PT0qL1xuLmNvb2tpZXMtbG9nbyB7XG4gIGNvbG9yOiBzZXRjb2xvcigyKTtcblxuICAtLWxvZ28tZm9udC1zaXplOiAje3JlbTIoNDhweCl9O1xuICAtLWxvZ28tbGV0dGVyLXNwYWNpbmc6ICN7JGxzLWhlYWRpbmdzfTtcblxuICAtLWNvb2tpZS14OiAzMnB4O1xuICAtLWNvb2tpZS15OiA4cHg7XG4gIC0tY29va2llLXNjYWxlOiAwLjA3MjU7XG59XG5cbi5jb29raWVzLWxvZ28gdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBGb3J1bSwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbG9nby1mb250LXNpemUpO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sb2dvLWxldHRlci1zcGFjaW5nKTtcbn1cblxuLmNvb2tpZXMtbG9nb19faWNvbiB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tY29va2llLXgpLCB2YXIoLS1jb29raWUteSkpIHNjYWxlKHZhcigtLWNvb2tpZS1zY2FsZSkpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG59IiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuXG4uaGFtYnVyZ2VyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDI3cHg7ICAgICAgLy8gd2hhdGV2ZXIgeW91ciBidXJnZXIgd2lkdGggaXNcbiAgICBoZWlnaHQ6IDQzcHg7IC8vMzhweCAgICAvLyBkaXR0byBmb3IgaGVpZ2h0XG4gICAgLy8gbWFyZ2luLXRvcDotN3B4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaW5jbHVkZSBtYXBweS1icChsYXJnZSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmxpbmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBiYWNrZ3JvdW5kOiBzZXRjb2xvcigxKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UsIG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICB9XG4gIFxuICAgIC8vIHN0YWNrIHRoZW0gYXQgMS80LCAxLzIsIDMvNCBvZiB0aGUgY29udGFpbmVyIGhlaWdodFxuICAgIC5saW5lOm50aC1jaGlsZCgxKSB7IHRvcDogMjUlOyB9XG4gICAgLmxpbmU6bnRoLWNoaWxkKDIpIHsgdG9wOiA1MCU7IH1cbiAgICAubGluZTpudGgtY2hpbGQoMykgeyB0b3A6IDc1JTsgfVxuICB9XG4gIC5oYW1idXJnZXItLWFjdGl2ZSB7XG4gICAgLmxpbmU6bnRoLWNoaWxkKDIpIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIC5saW5lOm50aC1jaGlsZCgxKSxcbiAgICAubGluZTpudGgtY2hpbGQoMykge1xuICAgICAgdG9wOiA1MCU7ICAgICAgICAgICAgICAvLyBicmluZyBib3RoIG91dGVyIGxpbmVzIHRvIHRoZSB2ZXJ0aWNhbCBjZW50ZXJcbiAgICB9XG4gICAgLmxpbmU6bnRoLWNoaWxkKDEpIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG4gICAgLmxpbmU6bnRoLWNoaWxkKDMpIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgfVxuICB9XG4gICIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcblxuI21haW5OYXYuaXMtc3RpY2t5IHtcbiAgICBcbiAgICBAaW5jbHVkZSBtYXBweS1icChsYXJnZSkge1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlOztcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDA7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLDAsMCwwLjEyKTtcbiAgICB9XG59XG5cbi5uYXZpZ2F0aW9uIHtcblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICAvL2ZvbnQtc2l6ZTogcmVtMigxNnB4KTtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKDMpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICBcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjNzIGVhc2U7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChsYXJnZSkge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIC8vIG1hcmdpbjogJGVsZW0tcGFkLXhzbSAwO1xuICAgICAgICB9XG4gICAgICAgICBAaW5jbHVkZSBtYXBweS1icChtZWRpdW0pIHtcbiAgICAgICAgICAgIFxuXG4gICAgICAgICB9XG4gICAgICAgIC5uYXZpZ2F0aW9uLS1vcGVuICYge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDBkdmg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faW5uZXIge1xuICAgICAgICBwYWRkaW5nOiByZW0yKDEyMHB4KSAkZWxlbS1wYWQtc20gJGVsZW0tcGFkLXNtICRlbGVtLXBhZC1zbTsgLy9BZGp1c3RlZFxuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTEwMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgIH1cbiAgICB9IFxuICAgICZfX2l0ZW1zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgLy8gbWFyZ2luOiAkZWxlbS1wYWQteHNtIDA7XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuICAgIH0gICAgIFxuICAgIFxuICAgICZfX2l0ZW0ge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IoMSk7XG4gICAgICAgIEBpbmNsdWRlIHVwcGVyY2FzZS1zcGFjZWQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbjpyZW0yKDI4cHgpIDA7IC8vQWRqdXN0ZWRcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChsYXJnZSkge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgfVxuICAgICAgICAmLS1hY3RpdmUsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAubmF2aWdhdGlvbl9fbGluayB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJiA+IGEsICYgPiBzcGFuLCAmID4gYnV0dG9uIHtcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuNXM7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtMigxOHB4KTsgXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtbWFpbjtcbiAgICAgICAgICAgIEBpbmNsdWRlIHVwcGVyY2FzZS1zcGFjZWQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgcGFkZGluZzpyZW0yKDE1cHgpIDA7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzokZWxlbS1wYWQteHhzbSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOjA7IFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRlbGVtLXBhZC1zbTtcbiAgICAgICAgcGFkZGluZy10b3A6ICRlbGVtLXBhZDtcbiAgICAgICAgbWFyZ2luLXRvcDogJGVsZW0tcGFkO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgc2V0Y29sb3IoNCk7XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1saXN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiAkZWxlbS1wYWQteHhzbTtcbiAgICAgICAgfVxuICAgICAgICAmLWl0ZW0ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6IGNhbGMoJGVsZW0tcGFkLXh4c20gLSA0cHgpO1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuICAgICAgICAgICAgLm5hdmlnYXRpb25fX2Zvb3Rlci1pdGVtLWljb24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYtbGluayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogJGVsZW0tcGFkLXh4c207XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBcbn0iLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG4uc2lkZS1uYXYge1xuXG4gICAgJl9fd3JhcCB7XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRlbGVtLXBhZC1scmc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdWwge1xuICAgICAgICBtYXJnaW4tdG9wOjA7XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcigxKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IHJlbTIoNHB4KSAwO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgfVxuICAgICAgIFxuICAgIH1cbiAgICAmX19pdGVtIHtcbiAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgIHBhZGRpbmc6MCU7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICAgICAuc2lkZS1uYXZfX2xpbmsge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Zvb3RlciB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRlbGVtLXBhZDtcbiAgICAgICAgLnNpZGUtbmF2X19saW5rIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHVwcGVyY2FzZS1zcGFjZWQ7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuXG5cblxuLm1lZ2FtZW51IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcigzKTtcbiAgICBcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwICRlbGVtLXBhZC1scmc7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgXG4gICAgei1pbmRleDogMjtcbiAgICBwYWRkaW5nOjAgO1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IDA7XG4gICAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2UpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6MDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC40NXMgZWFzZSwgb3BhY2l0eSAuNDVzIGVhc2UsIHZpc2liaWxpdHkgMHMgbGluZWFyIC40NXM7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTEwJSk7XG4gICAgICAgIHBhZGRpbmc6ICRlbGVtLXBhZC1scmcgJGVsZW0tcGFkO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UtaW4tb3V0LCB2aXNpYmlsaXR5IDBzIGxpbmVhciAwLjVzO1xuICAgICAgICB0b3A6YXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6cmVtMigyOHB4KTtcbiAgICB9XG4gICAgXG4gICAgLm1lZ2FtZW51LS1hY3RpdmUgJntcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNDVzIGVhc2UsIG9wYWNpdHkgLjQ1cyBlYXNlLCB2aXNpYmlsaXR5IDBzO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7ICAvKiBzbGlkZSBpbnRvIHZpZXcgKi9cbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2UsICdtYXgnKSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZpZ2F0aW9uX19pdGVtLS1oYXMtbWVnYW1lbnU6aG92ZXIgJixcbiAgICAubmF2aWdhdGlvbl9faXRlbS0taGFzLW1lZ2FtZW51Lm1lZ2FtZW51LS1ob3Zlci1hY3RpdmUgJiB7XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgICAgICAvLyBib3JkZXItdG9wOnJlbTIoMjhweCkgc29saWQgI2ZmZmZmZjtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UtaW4tb3V0LCB2aXNpYmlsaXR5IDBzOyBcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9IFxuICAgIH1cblxuICAgICZfX2Nsb3NlLWJ1dHRvbiB7XG4gICAgICAgIC5tZWdhbWVudS0tYWN0aXZlICYge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHBhZGRpbmc6JGVsZW0tcGFkLXh4c207XG4gICAgICAgIC8vIHRvcDowO1xuICAgICAgICAvLyBsZWZ0OnJlbTIoLThweCk7IFxuICAgICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAvLyBoZWlnaHQ6MjRweDtcbiAgICAgICAgICAgIC8vIHdpZHRoOiAyNHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2UpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faW5uZXIge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXItaW5uZXItc3R5bGVzO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2UpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIG1pbm1heChyZW0yKDY4MHB4KSwgMWZyKTsgLy9BZGp1c3RlZFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWVudSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtMigxOHB4KTsgLy9BZGp1c3RlZFxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRscy1ib2R5O1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigxKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOnJlbTIoNHB4KSAwOyAvL05vdCBBZGp1c3RlZFxuICAgICAgICAgICAgICAgICY6aG92ZXIgeyBcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGVmdCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiRlbGVtLXBhZC14c207XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDowO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcmlnaHQge1xuICAgICAgIG1hcmdpbjokZWxlbS1wYWQteHNtO1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6MDtcbiAgICAgICAgfVxuICAgICAgICAubC1ncmlkIHtcbiAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX21lbnUge1xuXG4gICAgfVxuXG4gICAgLnByb2R1Y3QtY2FyZCB7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcigxKTtcbiAgICB9XG59IiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuXG4ubmF2aWdhdGlvbl9faXRlbSB7XG5cbiAgICAmLS1oYXMtc3ViIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5zdWJfbmF2aWdhdGlvbiB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3ViX25hdmlnYXRpb24ge1xuICAgZGlzcGxheTogbm9uZSA7XG4gICBvcGFjaXR5OiAwO1xuICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiAkbHMtYm9keTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIG1hcmdpbi1sZWZ0OiAtI3skZWxlbS1wYWQtc219O1xuICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgIFxuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgYmFja2dyb3VuZDojZmZmZmZmO1xuICAgIHBhZGRpbmc6JGVsZW0tcGFkLXhzbSAkZWxlbS1wYWQ7XG4gICAgXG4gICAgJi0tYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcGFkZGluZzokZWxlbS1wYWQteHNtICRlbGVtLXBhZC1zbTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIC8vIG1pbi13aWR0aDogMzAwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OjA7XG4gICAgICAgIFxuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IC0jeyRlbGVtLXBhZC14c219O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICAubGFzdCAmIHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogLSN7JGVsZW0tcGFkLXhzbX07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgIFxuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgICAgIFxuICAgIH1cbiAgICAubmF2aWdhdGlvbl9faXRlbS0taGFzLXN1Yi5zdWJfbmF2aWdhdGlvbi0taG92ZXItYWN0aXZlICYsIC5uYXZpZ2F0aW9uX19pdGVtLS1oYXMtc3ViLnN1Yl9uYXZpZ2F0aW9uLS1hY3RpdmUgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICAgICAgIC5uYXZpZ2F0aW9uX19pdGVtLS1oYXMtc3ViOmhvdmVyICYge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc3ViX25hdmlnYXRpb25fX2l0ZW0ge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBcblxuICAgICAgICAuc3ViX25hdmlnYXRpb25fX2xpbmsge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0yKDVweCkgMDtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigxKTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgIC5zdWJfbmF2aWdhdGlvbl9fbGluayB7XG4gICAgICAgICAgICAgICAvLyBjb2xvcjogc2V0Y29sb3IoMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG59IiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuLmJyZWFkY3J1bWJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAkZWxlbS1wYWQgMCAkZWxlbS1wYWQtc20gMDtcbiAgICBmb250LXNpemU6IHJlbTIoMTRweCk7IFxuICAgIGxldHRlci1zcGFjaW5nOiAkbHMtYm9keTtcbiAgICBAaW5jbHVkZSBtYXBweS1icCh4c21hbGwpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtMigxNnB4KTtcbiAgICB9XG4gICAgbGkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBjb2xvcjogc2V0Y29sb3IoMSk7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgJjplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgICAgbWFyZ2luOiAwIDAuNWVtO1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IoMSk7XG4gICAgICB9XG5cbiAgICAgIFxuICBcbiAgICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgY29sb3I6IGluaGVyaXQ7XG4gIFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLWJhY2sge1xuICAgICAgLmEtaWNvbl9fc3ZnIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICB9XG5cbiAgICAgIGxpIHtcbiAgICAgICBcbiAgICAgICAgLy8gJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIC8vICAgJjo6YmVmb3JlIHtcbiAgICAgICAgLy8gICAgICAgY29udGVudDogXCI8XCI7XG4gICAgICAgIC8vICAgICAgIG1hcmdpbjogMCAwLjVlbTtcbiAgICAgICAgLy8gICAgICAgY29sb3I6IHNldGNvbG9yKDEpO1xuICAgICAgICAvLyAgIH1cbiAgICAgICAgLy8gfVxuICAgICAgfVxuICAgIH1cbiAgfSIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcblxuLmZvb3RlciB7XG4gICAgJl9fcm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgXG4gICAgfVxuICAgICZfX3RvcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKDUpO1xuICAgICAgICBwYWRkaW5nOiRlbGVtLXBhZC1scmcgMDtcbiAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKG1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZzokZWxlbS1wYWQtbHJnICRlbGVtLXBhZCAkZWxlbS1wYWQtbHJnICRlbGVtLXBhZDtcbiAgICAgICAgIH1cbiAgICB9XG4gICAgJl9fY29sIHtcbiAgICAgICAgLmZvb3Rlcl9fdG9wICYge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX2lubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyLWlubmVyLXN0eWxlcztcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgLy8gZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgICAgICAgZ2FwOiAkZWxlbS1wYWQteHhzbTtcblxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKG1lZGl1bSkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGdhcDogJGVsZW0tcGFkLWxyZztcbiAgICAgICAgfVxuICAgICAgICAvLyBAaW5jbHVkZSBtYXBweS1icChtZWRpdW0pIHtcbiAgICAgICAgLy8gICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC8vIH1cbiAgICAgICAgLmZvb3Rlcl9fYnRtICYge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6MDtcbiAgICAgICAgfVxuICAgIH0gXG4gICAgJl9faGVhZGluZyB7XG4gICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgQGluY2x1ZGUgdXBwZXJjYXNlLXNwYWNlZCgpO1xuICAgICAgICBwYWRkaW5nOiRlbGVtLXBhZC14eHNtIDA7IFxuICAgICAgICBmb250LXNpemU6IHJlbTIoMjBweCk7XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faXRlbXMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcigzKTtcbiAgICAgICAgcGFkZGluZzokZWxlbS1wYWQteHNtIDA7XG4gICAgICAgIC5mb290ZXJfX2hlYWRpbmctLWFjdGl2ZSArICYge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobWVkaXVtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcGFkZGluZzokZWxlbS1wYWQteHNtIDAgMCAwO1xuICAgICAgICB9XG4gICAgICAgIC8vIEBpbmNsdWRlIG1hcHB5LWJwKG1lZGl1bSkge1xuICAgICAgICAvLyAgICAgcGFkZGluZzowO1xuICAgICAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIC8vIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0yKDE3cHgpO1xuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigxKTtcbiAgICAgICAgICAgIHBhZGRpbmc6cmVtMig1cHgpIDA7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmX19zb2NpYWxzIHtcbiAgICAgICAgLmZvb3Rlcl9fYnRtICYge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBnYXA6ICRlbGVtLXBhZC1zbTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZWxlbS1wYWQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtYXBweS1icChsYXJnZSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZvb3Rlcl9fdG9wICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICBAaW5jbHVkZSBtYXBweS1icChsYXJnZSkge1xuICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idG0geyAgICAgICBcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgcGFkZGluZzokZWxlbS1wYWQ7XG4gICAgICAgIC5mb290ZXJfX3NvY2lhbHMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGVnYWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6JGVsZW0tcGFkLXNtO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19idG0tbGlua3Mge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC8vIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDokZWxlbS1wYWQtc207XG4gICAgICAgIGZvbnQtc2l6ZTogJGZudC1zaXplLXNtYWxsO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOnNldGNvbG9yKDEpO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19sZWdhbCB7XG4gICAgICAgIFxuICAgIH1cbn1cbiIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcbi5ibG9ja3F1b3RlcyB7XG4gICAgbWFyZ2luOiAkZWxlbS1wYWQtbHJnO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtMig1MHB4KTsgXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICBjaXRlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICB9XG59IiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuXG4uaGVybyB7XG5cbiAgICAmX193cmFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6ICRtYXgtZnVsbC1ibGVlZDtcbiAgICAgICAgXG4gICAgICAgIC5mLWNhcm91c2VsX192aWV3cG9ydCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgICZfX2lubmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogJG1heC1mdWxsLWJsZWVkO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICAmX19pbWcge1xuICAgICAgICBtYXgtd2lkdGg6ICRtYXgtZnVsbC1ibGVlZDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAvLyB3aWR0aDogMTAwJTtcbiAgICAgICAgLy8gaGVpZ2h0OiBjYWxjKDUwdmggLSAxMTBweCk7XG4gICAgICAgIC8vIG1heC1oZWlnaHQ6IGNhbGMoNTB2aCAtIDExMHB4KTsgICAgICAgIFxuICAgICAgICB3aWR0aDogMTAwJTtcblxuXG4gICAgICAgICYtY2FwdGlvbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYShzZXRjb2xvcig1KSwgMC44KTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzokZWxlbS1wYWQtc207XG5cbiAgICAgICAgICAgIFAge1xuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICAgICAvL1ByZXZlbnQgY2FwdGlvbiBmcm9tIHNob3dpbmcgb24gbW9iaWxlIHdoZW4gdGFwcGluZyB0aGUgaW1hZyBhcyBubyB3YXkgb2YgdW5ob3ZlcmluZ1xuICAgICAgICAgICAgICY6aG92ZXIgJi1jYXB0aW9uIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYtLWFjdGl2ZSAmLWNhcHRpb24ge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjsgXG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NsaWRlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fdHh0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzokZWxlbS1wYWQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWF4LXdpZHRoOiAkaGVyby10eHQtbWF4LXdpZHRoO1xuICAgICAgICBoMSwgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0yKDI2cHgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdXBwZXJjYXNlLXNwYWNlZCgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbTIoMjZweCk7IC8vQWRqdXN0ZWRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBAaW5jbHVkZSBjb250YWluZXItaW5uZXItc3R5bGVzO1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgcGFkZGluZzogJGVsZW0tcGFkLWxyZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtc3ViIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICZfX2ltZyB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2lubmVyIHtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lci1pbm5lci1zdHlsZXM7XG4gICAgICAgICAgICAgLmhlcm8tc3ViLS1mdWxsLXdpZHRoICYge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4uaGVyby0tdmlkZW8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDY3dmg7XG4gICAgLmhlcm9fX3ZpZGVvIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyOyBcbiAgICB9XG4gICAgLmhlcm9fX292ZXJsYXkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOjA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5oZXJvX19pbm5lciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMS4zNjM2MzYzNjM2cmVtO1xuICAgICAgICAvKiBiYWNrZ3JvdW5kOiByZ2JhKDI0NiwgMjQyLCAyMzUsIC41KTsgKi9cbiAgICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgfVxufSIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcbkB1c2UgJ2Jhc2UvdXRpbGl0aWVzJztcblxuLyo9PT09PT09PT09PT09PT09PT09XG5WQVJJQUJMRVNcbj09PT09PT09PT09PT09PT09PT09Ki9cbi8vQ2hlY2tib3hlc1xuJGNoZWNrYm94LXdpZHRoOjI1cHg7XG4kY2hlY2tib3gtaGVpZ2h0OiAkY2hlY2tib3gtd2lkdGg7XG4kY2hlY2tib3gtdGljazogI2ZmZmZmZjtcbiRjaGVja2JveC10aWNrLXdpZHRoOiA1cHg7XG4kY2hlY2tib3gtdGljay1oZWlnaHQ6IDEwcHg7XG4kY2hlY2tib3gtYmc6IHNldGNvbG9yKDMpO1xuJGNoZWNrYm94LXRpY2s6IHNldGNvbG9yKDUpO1xuJGNoZWNrYm94LWFjdGl2ZS1iZzogc2V0Y29sb3IoMik7XG5cbi8vUmFkaW9zXG4kcmFkaW8td2lkdGg6IDI0cHg7XG4kcmFkaW8taGVpZ2h0OiAkcmFkaW8td2lkdGg7XG4kcmFkaW8tZG90OiBzZXRjb2xvcigyKTs7XG4kcmFkaW8tZG90LXdpZHRoOiA4cHg7XG4kcmFkaW8tZG90LWhlaWdodDogJHJhZGlvLWRvdC13aWR0aDtcbiRyYWRpby1ib3JkZXI6c2V0Y29sb3IoMSk7XG4kcmFkaW8tYWN0aXZlLWJvcmRlcjogJHJhZGlvLWJvcmRlcjtcbiRyYWRpby1iZzogdHJhbnNwYXJlbnQ7XG4kcmFkaW8tYWN0aXZlLWJnOiB0cmFuc3BhcmVudDtcblxuXG5pbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCwgYnV0dG9uICAge1xuICAgIGxldHRlci1zcGFjaW5nOiAkbHMtYm9keTtcbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICBjdXJzb3I6bm90LWFsbG93ZWQ7XG4gICAgfVxufVxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy1yaWdodDogMDsgLyogcmVtb3ZlIHNwYWNlIHJlc2VydmVkIGZvciBzcGlubmVyICovXG4gIFxufVxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIGFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbn1cblxuLy8gaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbi8vIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuLy8gICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbi8vICAgICBtYXJnaW46IDA7XG4vLyB9XG5cblxuLnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGNvbG9yLXBsYWNlaG9sZGVyO1xuICAgIG9wYWNpdHk6IDE7XG59XG4uZm9ybSB7XG4gICAgJi0tYWNjb3VudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRlbGVtLXBhZC1scmc7XG4gICAgfVxuICAgICZfX3dyYXAge1xuICAgICAgICBwYWRkaW5nOiRlbGVtLXBhZCAkZWxlbS1wYWQtbHJnO1xuICAgICAgICAmLS1ub3BhZCB7XG4gICAgICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgIH1cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgY29sb3I6c2V0Y29sb3IoMSk7XG4gICAgICAgIH1cbiAgICAgICAgJi0tbmFycm93IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1ODBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19yb3cge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZWxlbS1tYXJnaW47XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAgIC8vIC5mb3JtLS1pbmxpbmUgJjpub3QoLmZvcm1fX3Jvdy0tYmxvY2spIHtcbiAgICAgICAgLy8gICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIC8vIH1cblxuICAgICAgICAmLS1pbmxpbmUge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICAgICAgZ2FwOiAkZWxlbS1tYXJnaW47XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgXG4gICAgfVxuXG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIHBhZGRpbmc6ICRlbGVtLXBhZC1zbSAkZWxlbS1wYWQtc20gJGVsZW0tcGFkLXNtIDA7XG5cbiAgICAgICAgLmZvcm0tLWlubGluZSAmIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRlbGVtLXBhZC1zbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3JtLS1ub2xhYmVsICYsICYtLWhpZGUge1xuICAgICAgICAgICAgQGV4dGVuZCAudS12aXN1YWxseS1oaWRkZW47XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBtYXJnaW46ICRlbGVtLXBhZC1zbSAwIDAgMDtcbiAgICB9XG5cbiAgICAvKj09PT09PT09PT09PT09PT09PT1cbiAgICBJTlBVVFxuICAgID09PT09PT09PT09PT09PT09PT09Ki9cbiAgICAmX19pbnB1dCB7XG4gICAgICAgIHBhZGRpbmc6ICRlbGVtLXBhZC1zbTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoNSk7XG4gICAgICAgIC8vIGJvcmRlcjoxcHggc29saWQgIHNldGNvbG9yKDUpO1xuICAgICAgICAuZm9ybS0td2hpdGUgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB9XG4gICAgICAgICYtLXdidG4ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIEBleHRlbmQgLnBsYWNlaG9sZGVyO1xuICAgICAgICB9XG5cblxuICAgICAgICBcblxuICAgICAgICBcbiAgICB9XG5cbiAgICAvKj09PT09PT09PT09PT09PT09PT1cbiAgICBURVhUIEFSRUFcbiAgICA9PT09PT09PT09PT09PT09PT09PSovXG4gICAgJl9fdGV4dGFyZWEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogJGVsZW0tcGFkLXNtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcig1KTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0yKDE2NXB4KTsgLy9BZGp1c3RlZFxuICAgICAgICAuZm9ybS0td2hpdGUgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB9XG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIEBleHRlbmQgLnBsYWNlaG9sZGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyo9PT09PT09PT09PT09PT09PT09XG4gICAgU0VMRUNUIERST1BET1dOU1xuICAgID09PT09PT09PT09PT09PT09PT09Ki9cbiAgICAmX19zZWxlY3Qge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcig1KTtcbiAgICAgICAvLyBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgXG4gICAgICAgLy8gcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOmF1dG87XG5cbiAgICAgICAgLmZvcm0tLXdoaXRlICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgfVxuICAgICAgICAmLWlucHV0IHtcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXBsYWNlaG9sZGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzokZWxlbS1wYWQtc207XG4gICAgICAgICAgICAmLS1pY29uIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0yKDMycHgpOyAvL0FkanVzdGVkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgXG5cbiAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0yKDhweCk7IC8vQWRqdXN0ZWRcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKj09PT09PT09PT09PT09PT09PT1cbiAgICBDSEVDS0JPWEVTXG4gICAgPT09PT09PT09PT09PT09PT09PT0qL1xuICAgICZfX2NoZWNrYm94IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuXG4gICAgICAgICYtbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJl9fY2hlY2tib3gtc3R5bGVkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKCRjaGVja2JveC13aWR0aCArICRlbGVtLXBhZC1zbSk7XG4gICAgICAgIFxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAmIH4gJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkZWxlbS1wYWQtc207XG4gICAgICAgIH1cbiAgICAgICAgJi10aWNrIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6ICRjaGVja2JveC1oZWlnaHQ7XG4gICAgICAgICAgICB3aWR0aDogJGNoZWNrYm94LXdpZHRoO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNoZWNrYm94LXRpY2s7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDlweDtcbiAgICAgICAgICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogJGNoZWNrYm94LXRpY2std2lkdGg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkY2hlY2tib3gtdGljay1oZWlnaHQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAkY2hlY2tib3gtdGljaztcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgM3B4IDNweCAwO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMDtcblxuICAgICAgICAgICAgJn4uZm9ybV9fY2hlY2tib3gtc3R5bGVkLXRpY2sge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjaGVja2JveC1iZztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpjaGVja2Vkfi5mb3JtX19jaGVja2JveC1zdHlsZWQtdGljayB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNoZWNrYm94LWFjdGl2ZS1iZztcblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvKj09PT09PT09PT09PT09PT09PT1cbiAgICBSQURJT1xuICAgID09PT09PT09PT09PT09PT09PT09Ki9cbiAgICAmX19yYWRpby1zdHlsZWQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoJHJhZGlvLXdpZHRoICsgJGVsZW0tcGFkLXNtKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGVsZW0tcGFkLXNtO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAgICYtZG90IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgaGVpZ2h0OiAkcmFkaW8taGVpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6ICRyYWRpby13aWR0aDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHJhZGlvLWJvcmRlcjtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRyYWRpby1kb3Qtd2lkdGg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkcmFkaW8tZG90LWhlaWdodDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmFkaW8tZG90O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuXG4gICAgICAgICAgICAmOmNoZWNrZWR+LmZvcm1fX3JhZGlvLXN0eWxlZC1kb3Qge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHJhZGlvLWFjdGl2ZS1ib3JkZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJhZGlvLWFjdGl2ZS1iZztcblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAmX19pbmxpbmUtYnRuIHtcbiAgICAgICAgcGFkZGluZzogMCAkZWxlbS1wYWQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKDUpO1xuICAgICAgICBzdmcge1xuICAgICAgICAgICAgZmlsbDogc2V0Y29sb3IoMik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLyo9PT09TVkgREVUQUlMUyBGT1JNPT09PSovXG4uZm9ybV9fd3JhcC0tbXlkZXRhaWxzIHtcbiAgICBwYWRkaW5nOjA7XG5cbiAgIGgxIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZWxlbS1wYWQtbHJnO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiAkbHMtYm9keTtcbiAgIH1cbn1cbi5mb3JtX190b2dnbGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZm9udC1zaXplOiByZW0yKDE0cHgpOyBcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICY6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkIHNldGNvbG9yKDIpO1xuICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQ6IHNldGNvbG9yKDIpOztcbiAgICAgICAgICAgICAgICAvLyBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBwYWRkaW5nOiA2cHggMTBweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgfVxufVxuXG5cbi5mb3JtLWFkZHJlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG5cbiAgICAgLmZvcm1fX3JvdyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczpyZW0yKDMwMHB4KSAxZnI7XG5cbiAgICAgICAgJi5mb3JtX19yb3ctLXdpZGUge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICAvL2JhY2tncm91bmQ6I2ZmZmZmZjtcbiAgICB9XG4gICAgLmZvcm1fX2lucHV0IHtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgICAuZm9ybV9fbGFiZWwge1xuICAgICAgICAvLyBwYWRkaW5nOiAkZWxlbS1wYWQtc207XG4gICAgICAgIFxuICAgIH1cbiAgICBcbn1cbi8qPT09PUNPTlRBQ1QgRk9STT09PT0qL1xuLmZvcm0tY29udGFjdCB7XG4gICAgJl9faWNvbiB7XG4gICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiAkZWxlbS1wYWQtbHJnO1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IoMik7XG4gICAgfVxuICAgICZfX3dyYXAge1xuICAgICAgICBwYWRkaW5nOiAkZWxlbS1wYWQ7XG4gICAgICAgIGJvcmRlcjoycHggc29saWQgc2V0Y29sb3IoNSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgICAgICBwYWRkaW5nOiAkZWxlbS1wYWQtbHJnICRlbGVtLXBhZC1scmcgJGVsZW0tcGFkICRlbGVtLXBhZC1scmc7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxuXG4gICAgJl9faW5uZXIge1xuICAgICAgICB3aWR0aDogMTAwJTs7XG4gICAgICAgIG1heC13aWR0aDogcmVtMigxMjAwcHgpO1xuICAgIH1cbn1cblxuXG4vKj09PXBhc3N3b3JkIHJldmVhbCBzdHlsZXM9PSovXG4uaW5wdXQge1xuICAgICZfX3JldmVhbCB7XG4gICAgICAgIFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcig1KTtcbiAgICAgICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgc2V0Y29sb3IoMik7XG4gICAgICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5mb3JtLS13aGl0ZSAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIH1cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDo1cHg7XG4gICAgICAgICAgICAuaW5wdXRfX3JldmVhbC1pY29uLS1vZmYge1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmlucHV0X19yZXZlYWwtaWNvbi0tb24ge1xuICAgICAgICAgICAgICAgIC8vIG1hcmdpbi10b3A6LTRweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJlthcmlhLXByZXNzZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgICAgICAuaW5wdXRfX3JldmVhbC1pY29uLS1vZmYge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuaW5wdXRfX3JldmVhbC1pY29uLS1vbiB7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG46cm9vdCB7XG4gIC0taHNmLWdsb2JhbF9fZm9udC1mYW1pbHk6ICN7JGZvbnQtbWFpbn07XG4gIC0taHNmLWdsb2JhbF9fZm9udC1zaXplOiAxOHB4O1xuICAtLWhzZi1nbG9iYWxfX2NvbG9yOiAje3NldGNvbG9yKDEpfTtcbiAgLS1oc2YtYmFja2dyb3VuZF9fYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgLy9Sb3dzXG4gIC0taHNmLXJvd19faG9yaXpvbnRhbC1zcGFjaW5nOiAjeyRlbGVtLXBhZH07XG5cblxuICAvL0J1dHRvbnNcbiAgLS1oc2YtYnV0dG9uX19mb250LWZhbWlseTogI3skZm9udC1tYWlufTtcbiAgLS1oc2YtYnV0dG9uX19jb2xvcjogI3tzZXRjb2xvcigyKX07XG4gIC0taHNmLWJ1dHRvbl9fYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0taHNmLWJ1dHRvbl9fYm9yZGVyLXJhZGl1czogbm9uZTtcblxuXG5cblxuICAvL0lOcHV0c1xuICAtLWhzZi1maWVsZC1pbnB1dF9fYmFja2dyb3VuZC1jb2xvcjogI3tzZXRjb2xvcig1KX07XG4gIC0taHNmLWZpZWxkLWlucHV0X19ib3JkZXItY29sb3I6ICN7c2V0Y29sb3IoNSl9O1xuICAtLWhzZi1maWVsZC1pbnB1dF9fcGFkZGluZzogI3skZWxlbS1wYWQtc219O1xuICAgIC0taHNmLWZpZWxkLWlucHV0X19wbGFjZWhvbGRlci1jb2xvcjogI3tzZXRjb2xvcigxKX07XG4gIC0taHNmLWZpZWxkLWlucHV0X19ib3JkZXItcmFkaXVzOiBub25lO1xuXG4gIC8vQ2hlY2tib3hlcyAgXG4gICAgLS1oc2YtZmllbGQtY2hlY2tib3hfX2JhY2tncm91bmQtY29sb3I6ICN7c2V0Y29sb3IoNSl9O1xuICAgIC0taHNmLWZpZWxkLWNoZWNrYm94X19jb2xvcjogI3tzZXRjb2xvcigyKX07XG5cblxuICAgIC8vUmVxdWlyZWQgaW5kaWNhdG9yXG4gICAgLS1oc2YtZmllbGQtbGFiZWwtcmVxdWlyZWRpbmRpY2F0b3JfX2NvbG9yOiAje3NldGNvbG9yKDIpfTtcblxuICAgIC8vRXJyb3JcbiAgICAtLWhzZi1lcnJvcmFsZXJ0X19jb2xvcjogI3tzZXRjb2xvcigyKX07XG59XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAtLWhzZi1maWVsZC1pbnB1dF9fcGFkZGluZzogMTBweDtcbiAgICAvLyAgLS1oc2YtZmllbGQtaW5wdXRfX2JvcmRlci1jb2xvcjogI3tzZXRjb2xvcigxKX07XG59XG5cbi5oc2ZjLUJ1dHRvbntcbiAgICAgIC0taHNmLWRlZmF1bHQtYnV0dG9uX19ib3JkZXItY29sb3I6ICN7c2V0Y29sb3IoMil9O1xuICAtLWhzZi1kZWZhdWx0LWJ1dHRvbl9fYm9yZGVyLXdpZHRoOjFweCAwIDFweCAwO1xuICAtLWhzZi1kZWZhdWx0LWJ1dHRvbl9fYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgLS1oc2YtYnV0dG9uX19wYWRkaW5nOiAje3JlbTIoMTBweCl9ICN7cmVtMig0cHgpfSAje3JlbTIoMTBweCl9ICN7cmVtMigxMHB4KX07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgcGFkZGluZzogcmVtMig2cHgpIHJlbTIoMjBweCk7XG4gICAgY29sb3I6ICRidG4tbWFpbjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgQGluY2x1ZGUgdXBwZXJjYXNlLXNwYWNlZDtcbiAgICAvLyBtYXJnaW4tbGVmdDphdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OmF1dG8gIWltcG9ydGFudDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJ0bi1zaW1wbGUtc3R5bGU7XG5cbn1cbi5oc2ZjLU5hdmlnYXRpb25Sb3dfX0J1dHRvbnM6aGFzKD46b25seS1jaGlsZCkge1xuICAuaHNmYy1CdXR0b24ge1xuICAgIG1hcmdpbi1yaWdodDowICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcbi5wcm9kdWN0X190ZWNoLXRhYmxlIHtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHRhYmxlICsgdGFibGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAkZWxlbS1wYWQ7XG4gICAgfVxuICAgIHRoIHtcbiAgICAgICAgLy8gQGluY2x1ZGUgdXBwZXJjYXNlLXNwYWNlZCgpO1xuICAgICAgICBAaW5jbHVkZSB0aXRsZWNhc2Utc3BhY2VkKCk7XG4gICAgfVxufSIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcbi5wcm9maWxlLXdpZGdldCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKDMpO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCA1MDBtcyBlYXNlLCB2aXNpYmlsaXR5IDUwMG1zIGVhc2U7XG5cbiAgICAmX19pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6JGVsZW0tcGFkLXNtO1xuICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cblxuICAgICYuaXMtb3BlbiB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIG1heC1oZWlnaHQ6IHJlbTIoMzIwcHgpOyAvL0FkanVzdGVkXG4gICAgICAgIC8vIGhlaWdodDogYXV0bztcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRlbGVtLXBhZC14eHNtO1xuICAgIH1cbiAgICBcbiAgICAuZm9ybV9faW5wdXQsIC5mb3JtX19pbmxpbmUtYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICB9XG5cbiAgICAmX19yZWdpc3RlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn0iLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG5cbi5idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHBhZGRpbmc6IHJlbTIoNnB4KSByZW0yKDIwcHgpO1xuICAgIGNvbG9yOiAkYnRuLW1haW47XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBjb2xvciAwLjVzO1xuICAgIEBpbmNsdWRlIHVwcGVyY2FzZS1zcGFjZWQ7XG4gICAgYm9yZGVyOjFweCBzb2xpZCAkYnRuLW1haW47XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAvLyBmb250LXNpemU6IHJlbTIoMTZweCk7XG4gICAgLy8gQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAvLyAgICAgZm9udC1zaXplOiByZW0yKDE4cHgpO1xuICAgIC8vIH1cbiAgICBmb250LXNpemU6IHJlbTIoMTZweCk7IFxuICAgIC5idG4ge1xuICAgICAgICBmb250LXNpemU6IHJlbTIoMjBweCk7IC8vQWRqdXN0ZWRcbiAgICB9XG4gICAgJi0tcmlnaHQge1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICB9XG4gICAgJl9fd3JhcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkZWxlbS1wYWQtc207XG4gICAgfVxuICAgIC5sLXNpdGVfX21haW4gLmwtY29udGVudCA+ICYsIC5sLXNpdGVfX21haW4gLmwtZ3JpZF9fY29sID4gJiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRlbGVtLXBhZC1zbTtcbiAgICB9XG4gICAgJl9fYmxvY2sge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgJjpub3QoLnUtbm8tbWFyZ2luKXtcbiAgICAgICAgICAgIG1hcmdpbjogJGVsZW0tcGFkLXNtIDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAmLS1yaWdodCB7XG4gICAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgfVxuICAgICAgICAgJi0tY2VudGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXNtIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6YXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OmF1dG87XG4gICAgfVxuICAgICY6aG92ZXIsIGEuY2FyZDpob3ZlciAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ0bi1tYWluLWhvdmVyO1xuICAgICAgICBjb2xvcjogJGJ0bi1tYWluLWhvdmVyLXR4dDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgICYtLWFsdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidG4tYWx0O1xuICAgICAgICBwYWRkaW5nOiAkZWxlbS1wYWQtc207XG4gICAgICAgIGNvbG9yOiAkYnRuLWFsdC10eHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgXG4gICAgICAgICY6aG92ZXIsIGEuY2FyZDpob3ZlciAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidG4tYWx0LWhvdmVyO1xuICAgICAgICAgICAgY29sb3I6ICRidG4tYWx0LWhvdmVyLXR4dDtcbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tb3V0bGluZXtcbiAgICAgICAgQGluY2x1ZGUgYnRuLW91dGxpbmUtc3R5bGU7XG4gICAgfVxuXG4gICAgJi0tYnV5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoMik7XG4gICAgfVxuXG4gICAgJi0taWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDokZWxlbS1wYWQteHNtO1xuICAgIH1cblxuICAgICYtLXNpbXBsZSB7XG4gICAgICAgIEBpbmNsdWRlIGJ0bi1zaW1wbGUtc3R5bGU7XG4gICAgICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIC8vIGJvcmRlci1sZWZ0Om5vbmU7XG4gICAgICAgIC8vIGJvcmRlci1yaWdodDpub25lO1xuICAgICAgICAvLyBjb2xvcjogc2V0Y29sb3IoMik7XG4gICAgICAgIC8vIHBhZGRpbmc6IHJlbTIoMTBweCkgcmVtMig0cHgpIHJlbTIoMTBweCkgcmVtMigxMHB4KTsgLy9BbGxvdyBmb3IgbGV0dGVyIHNwYWNpbmcgdG8gcmlnaHQgb2YgZmluYWwgY2hhcmFjdGVyXG4gICAgICAgIC8vICY6aG92ZXIsIGEuY2FyZDpob3ZlciAmIHtcbiAgICAgICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAvLyAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuICAgICAgICAvLyAgICAgJjo6YWZ0ZXIsICY6OmJlZm9yZSB7XG4gICAgICAgIC8vICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAvLyAgICAgfVxuICAgICAgICAvLyB9XG4gICAgICAgIC8vICY6OmFmdGVyLCAmOjpiZWZvcmV7XG4gICAgICAgIC8vICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAvLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgXG4gICAgICAgIC8vICAgICB3aWR0aDogMXB4O1xuICAgICAgICAvLyAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAvLyAgICAgYmFja2dyb3VuZDogc2V0Y29sb3IoMik7XG4gICAgICAgIC8vICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlO1xuICAgICAgICAvLyB9XG5cbiAgICAgICAgLy8gJjo6YWZ0ZXIge1xuICAgICAgICAvLyAgICAgdG9wOiAwO1xuICAgICAgICAvLyAgICAgcmlnaHQ6IDA7XG4gICAgICAgIC8vIH1cbiAgICAgICAgLy8gJjo6YmVmb3JlIHtcbiAgICAgICAgLy8gICAgIGJvdHRvbTogMDtcbiAgICAgICAgLy8gICAgIGxlZnQ6IDA7XG4gICAgICAgIC8vIH1cbiAgICB9XG59XG4gLmJ0bi1yZXNldCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNXB4O1xuXG4gICAgc3ZnIHtcbiAgICAgICAgZmlsbDpzZXRjb2xvcigyKTtcbiAgICB9XG59XG5cbi5idG4tYmFja3RvdG9wIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAkZWxlbS1wYWQteHNtO1xuICAgIC8vIEBpbmNsdWRlIHRpdGxlY2FzZS1zcGFjZWQoKTtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IoMik7XG4gICAgfVxufVxuXG4vKj09PUJ1dHRvbiBMYXlvdXQ9PT0qL1xuLmJ0bl9fZ3JvdXAge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgZ2FwOiAkZWxlbS1wYWQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJGVsZW0tcGFkO1xuICAgICYtLTIge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICAgfVxuICAgIH1cbiAgICAmLS0zIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICAgfVxuICAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobWVkaXVtKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgICAgfVxuICAgIH1cbiAgICAmLS00IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICAgfVxuICAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobWVkaXVtKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG5cbiAgICAmLWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxufVxuXG5cbi8vQWNjb3VudCBlZGl0IGJ1dHRvblxuXG4uYnRuLWFjY291bnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogJGVsZW0tcGFkLXNtO1xuICAgIGJvcmRlcjoxcHggc29saWQgc2V0Y29sb3IoNSk7XG5cbiAgICAmLS1pY29uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICAmX19pY29uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGZpbGw6IHNldGNvbG9yKDIpO1xuICAgICAgICB9XG4gICAgfVxufSIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbi5oZWFkZXJfX3NlYXJjaCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC41cmVtO1xuICAgIG1hcmdpbi10b3A6MXB4OyAvL2p1c3Qgc2hpZnQgdGhlIGljb24gZG93biBzbGlnaHRseSB0byBhbGlnbiB3aXRoIGhhbWJ1cmdlclxuICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBtYXBweS1icChsYXJnZSkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJi1pbnB1dC13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxufVxuXG4uaGVhZGVyX19zZWFyY2gtaW5wdXR7XG4gICAgcGFkZGluZzogLjRyZW0gLjZyZW07XG4gICAgYm9yZGVyOm5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHNldGNvbG9yKDIpO1xuICAgICBAaW5jbHVkZSBtYXBweS1icChsYXJnZSkge1xuICAgICAgICBib3JkZXItYm90dG9tOm5vbmVcbiAgICAgfVxuXG4gICAgJjpmb2N1cy13aXRoaW4sICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgICAvLyBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuXG4gICAgLy8gIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG5cbiAgICAvLyAgICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gIH1cbiAgICAmLXdyYXAge1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206cmVtMigtNjVweCk7IC8vQWRqdXN0ZWRcbiAgICAgICAgcGFkZGluZzokZWxlbS1wYWQtc207XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2UpIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDIwMG1zIGVhc2UsIG9wYWNpdHkgMjAwbXMgZWFzZSwgcGFkZGluZyAyMDBtcyBlYXNlO1xuICAgICAgICAgICAgcGFkZGluZzowIDAgMCByZW0yKDI4cHgpOyAvL0FkanVzdGVkXG4gICAgICAgICAgICBib3R0b206YXV0bztcbiAgICAgICAgfVxuICAgICAgICAuaXMtb3BlbiAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyAgICAgICAgICAgLyogYWRqdXN0ICovXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgICAgICAvLyBib3JkZXItYm90dG9tOjFweCBzb2xpZCBzZXRjb2xvcigyKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgc2V0Y29sb3IoMik7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE0cmVtOyAgICBcbiAgICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICAuc2VhcmNoX19zdWJtaXQge1xuICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBcblxuICAgICYtaW5uZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgcGFkZGluZy1yaWdodDpyZW0yKDNweCk7XG4gICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDkwMG1zIGVhc2U7XG4gICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgLmlzLW9wZW4gJiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgfVxuICAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2UpIHtcbiAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgIH1cbiAgICB9XG5cbn1cbi5zZWFyY2hfX2NsZWFyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyByaWdodDogMDtcbiAgICAvLyB0b3A6IDUwJTtcbiAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhlYWRlcl9fc2VhcmNoLmhhcy12YWx1ZSAuc2VhcmNoX19jbGVhciB7XG4gICAgYmFja2dyb3VuZDpzZXRjb2xvcig1KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG5cbiNzZWFyY2gtdHlwZWFoZWFkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA5OTk5O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YwZjBmMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzIGVhc2U7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gICAgfVxuXG4gICAgLnNlYXJjaC10eXBlYWhlYWRfX25hbWUge1xuICAgICAgY29sb3I6ICMyMjI7XG4gICAgfVxuXG4gICAgLnNlYXJjaC10eXBlYWhlYWRfX2NhdGVnb3J5IHtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGNvbG9yOiAjODg4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgfVxuICB9XG59XG4vL1NlYXJjaCByZXN1bHRzIHBhZ2Vcbi5zZWFyY2hfX2l0ZW0ge1xuICAgIGgzIHtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRscy1ib2R5O1xuICAgIH1cbn1cbi5zZWFyY2hfX3Jlc3VsdHMge1xuICAgIGgyIHtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRscy1ib2R5O1xuICAgIH1cbn0iLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG4uZmlsdGVycy1iYXIgeyAgXG4gICAgJl9fZmlsdGVycyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGdhcDokZWxlbS1wYWQteHNtO1xuXG4gICAgICAgICYtaXRlbSB7XG4gICAgICAgICAgICAuZmlsdGVycy1iYXJfX2ZpbHRlcnMtLWJsb2cgJiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgZ2FwOiRndXR0ZXI7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgICB9XG4gICAgICAgIC5idG4tcmVzZXQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOi0yLjA1cmVtO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICZfX3dyYXAge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtMigzN3B4KTtcblxuICAgICAgICAjZmlsdGVyLWFwcCAmIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOjA7XG4gICAgICAgIH1cblxuICAgICAgICAmICsgI2dvb2dsZW1hcCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiRlbGVtLXBhZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIFxufSIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcblxuLmNhcmRzIHtcbiAgICAvLyAmX193cmFwIHtcbiAgICAgICAgXG4gICAgLy8gICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgLy8gICAgICAgICBwYWRkaW5nOjAgJGVsZW0tcGFkO1xuICAgIC8vICAgICB9XG5cbiAgICAvLyAgICAgJi0tY29udGFpbmVkIHtcbiAgICAvLyAgICAgICAgIG1hcmdpbi1sZWZ0OmF1dG87XG4gICAgLy8gICAgICAgICBtYXJnaW4tcmlnaHQ6YXV0bztcbiAgICAvLyAgICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lci1pbm5lci1zdHlsZXM7XG4gICAgLy8gICAgIH1cbiAgICAvLyB9XG59XG5cbmEuY2FyZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuLmNhcmQge1xuICAgIC8vIGhlaWdodDogNjB2aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luLWJvdHRvbTogJGVsZW0tcGFkO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzowICRlbGVtLXBhZC1zbTtcbiAgICAubC1ncmlkICYsIC5sLWdyaWQtZmxleCAmIHsgICAgXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIC8vIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgIC8vICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAvLyB9XG4gICAgfVxuICAgIC8vIC5sLWdyaWQgLmwtZ3JpZF9fY29sOmxhc3QtY2hpbGQgJntcbiAgICAvLyAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAvLyB9XG4gICAgLmwtZ3JpZCAubC1ncmlkX19jb2w6bGFzdC1jaGlsZCAme1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJi0taW1nIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgXG4gICAgJl9faW1nIHsgXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IFxuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgLy8gbWF4LWhlaWdodDogNjB2aDtcbiAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgIC8vIGFzcGVjdC1yYXRpbzogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICAvLyB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIC8vIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXBvcnRyYWl0IHtcbiAgICAgICAgICAgIC8vQWRqdXN0IGZvciBkZXNrdG9wIG9ubHlcbiAgICAgICAgICAgIGltZ3tcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiA3MCAvIDk5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgXG4gICAgJl9fZGV0YWlscyB7XG4gICAgICAgIHBhZGRpbmc6ICRlbGVtLXBhZDtcbiAgICB9XG5cbiAgICAmX19oZWFkZXIge1xuICAgICAgICBmb250LXNpemU6IHJlbTIoMjZweCk7IC8vQWRqdXN0ZWRcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgIGZvbnQtc2l6ZTogcmVtMigyNnB4KTsgLy9BZGp1c3RlZFxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKG1lZGl1bSkge1xuICAgICAgICAvLyAgICBmb250LXNpemU6IHJlbTIoNDBweCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fdHh0IHtcbiAgICAgICAgcGFkZGluZzokZWxlbS1wYWQgJGVsZW0tcGFkIDAgJGVsZW0tcGFkO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1heC13aWR0aDogJGNhcmQtdHh0LW1heC13aWR0aDtcbiAgICAgICAgJiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAgJiA+ICo6bm90KC5idG4pIHtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigxKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBmb250LXNpemU6IHJlbTIoMjhweCk7XG4gICAgICAgIGJyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgcGFkZGluZzokZWxlbS1wYWQtbHJnICRlbGVtLXBhZCAwICRlbGVtLXBhZDtcbiAgICAgICAgICAgIC8vIHBhZGRpbmctdG9wOiRlbGVtLXBhZC1zbTtcbiAgICAgICAgICAgIGJyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vQ2FyZCBwb3Agb24gaG92ZXJcbmEuY2FyZC0tcG9wIHtcbiAgICB0cmFuc2l0aW9uOiBzY2FsZSAwLjNzIGVhc2U7XG4gICAgLmNhcmRfX2ltZy0tbGFuZHNjYXBlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICB9XG4gICAgICAgICYgKyAuY2FyZF9fdHh0IC5jYXJkX19oZWFkZXIge1xuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHNjYWxlOiAxLjAyO1xuICAgICAgICBcbiAgICAgICAgLmNhcmRfX2ltZy0tbGFuZHNjYXBlIHtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHNldGNvbG9yKDUpLCAwLjcpO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmICsgLmNhcmRfX3R4dCAuY2FyZF9faGVhZGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLyo9PT09PT1cbkNBUkQgbGFuZHNjYXBlXG49PT09PT0qL1xuLmNhcmRfX2ltZy0tbGFuZHNjYXBlIHtcbiAgICBwYWRkaW5nOjA7XG4gICAgaW1nIHtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAyIC8gMTtcbiAgICB9XG59XG5cbi8qPT09PT09XG5DQVJEIFdJREVcbj09PT09PSovXG4uY2FyZCB7XG5cbiAgICAvLyAmOm5vdCg6aGFzKH4gLmNhcmQpKSArIGRpdiB7XG4gICAgLy8gICAgIG1hcmdpbi10b3A6ICRlbGVtLXBhZDtcbiAgICAvLyB9XG4gICAgLmNhcm91c2VsICYge1xuICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgICAgLmNhcmRfX3R4dCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAuY2FyZF9faGVhZGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgICAgIH0gICAgICAgICAgICBcbiAgICB9XG4gICAgJi0td2lkZSB7XG4gICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWF4LXdpZHRoOiAkbWF4LWZ1bGwtYmxlZWQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgICAvL2hlaWdodDogOTB2aDtcbiAgICAgICAgfVxuICAgICAgICAuY2FyZF9faW1nIHtcbiAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNhcmRfX2hlYWRlciB7XG4gICAgICAgICAgICAvLyBtYXJnaW4tdG9wOnJlbTIoMzJweCk7IC8vQWRqdXN0ZWRcbiAgICAgICAgfVxuICAgICAgICAuY2FyZF9fdHh0IHtcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGNvbnRhaW5lci1pbm5lci1zdHlsZXM7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRjYXJkLXdpZGUtdHh0LW1heC13aWR0aDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXNpbXBsZSB7XG4gICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgLmNhcmRfX3R4dCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzokZWxlbS1wYWQteHhzbSAwIDAgMDtcbiAgICAgICAgfVxuICAgICAgICAuY2FyZF9faGVhZGVyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtMigyMnB4KTsgXG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMSk7XG4gICAgICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgICAgICBAaW5jbHVkZSB1cHBlcmNhc2Utc3BhY2VkO1xuICAgICAgICB9XG4gICAgfVxuICAgICYtLXRleHQge1xuICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC5jYXJkX190eHQge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkdGV4dC1tYXgtd2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgLy8gLmNhcm91c2VsICYge1xuICAgICAgICAvLyAgICAgLmNhcmRfX3R4dCB7XG4gICAgICAgIC8vICAgICAgICBwYWRkaW5nLXRvcDogJGVsZW0tcGFkOyBcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfVxuICAgIH1cbiAgICBcbiAgICAmLS1pbWcge1xuICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLmNhcmRfX2ltZyB7XG4gICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDowO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC43KTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyZF9fdHh0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDowO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAuY2FyZF9faGVhZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4uY2FyZCB7XG4gICAgJi0tb3ZlcmxheSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuY2FyZF9fdHh0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMjAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICBcbn1cblxuXG4vKj09PT09PT09PT1cbkNBUkQgQ09OVEFDVFxuPT09PT09PT09PT0qL1xuXG4uY2FyZC1jb250YWN0e1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKDUpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAmX19pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6ICRlbGVtLXBhZDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgcGFkZGluZzogJGVsZW0tcGFkLWxyZyAkZWxlbS1wYWQteGxyZztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19yb3cge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiRlbGVtLW1hcmdpbjtcbiAgICB9XG4gICAgUCB7XG4gICAgICAgbWFyZ2luOjA7XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKDEpICFpbXBvcnRhbnQ7XG4gICAgICAgIEBpbmNsdWRlIHVwcGVyY2FzZS1zcGFjZWQoKTtcbiAgICAgICAgLy9tYXJnaW46MDtcbiAgICB9XG4gICAgYSAge1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IoMSk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNnb29nbGVtYXAge1xuICAgIC8vQ2FyZCBsb2FkaW5nIGluc2lkZSBvZiBnb29nbGUgbWFwXG4gICAgLmNhcmQtY29udGFjdF9faW5uZXIge1xuICAgICAgICBwYWRkaW5nOjEwcHggIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZDpub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC5jYXJkLWNvbnRhY3RfX3JvdyB7XG4gICAgICAgIG1hcmdpbjowICFpbXBvcnRhbnQ7XG4gICAgICAgICYuY2FyZC1jb250YWN0X190aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9ICBcbiAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufSIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcbi52aWRlby10aHVtYiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiByZW0yKDkwMHB4KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udmlkZW8tdGh1bWIgdmlkZW8ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8vIGN1cnNvcjogcG9pbnRlcjtcbn0iLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG5cbi5jb21tZXJjZS1sb2FkZXIgIHtcbiAgICAuYy1jaGVja291dCB7XG4gICAgICAgIG9wYWNpdHk6IC4zO1xuICAgIH1cbn1cblxuLmNoZWNrb3V0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJl9fbG9hZGVyIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB0b3A6IDMwdmg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIFxuICAgICAgICAuY29tbWVyY2UtbG9hZGVyICYge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fZGV0YWlscyB7XG4gICAgICAgIC5sLWdyaWQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3RlcHMge1xuICAgICAgICAuY2hlY2tvdXRfX3N0ZXA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOjA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fc3RlcCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIC8vIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVtMigxOTBweCkgMWZyOyAvL0FkanVzdGVkXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRlbGVtLXBhZC1scmc7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkZWxlbS1wYWQtbHJnO1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgc2V0Y29sb3IoNCk7XG5cbiAgICAgICAgKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgICAgfVxuICAgICAgICAqOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6MDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtc3VidGl0bGV7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkbHMtYm9keTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6MDtcbiAgICAgICAgfVxuICAgICAgICAmLWNvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZzokZWxlbS1wYWQgJGVsZW0tcGFkLXNtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi10aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIC8vIGxldHRlci1zcGFjaW5nOiAkbHMtYm9keTtcbiAgICAgICAgICAgIC8vIG1hcmdpbjowO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1yb3cge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGVsZW0tcGFkO1xuXG5cbiAgICAgICAgfSAgXG4gICAgICAgICYtZGV0YWlscyB7XG4gICAgICAgICAgICAubC1ncmlkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOjA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLXN0ZXAtb3B0aW9uIHtcbiAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoNSk7XG4gICAgICAgIC8vIGJvcmRlci1sZWZ0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgLy8gZGlzcGxheTogYmxvY2s7XG4gICAgICAgIC8vIHBhZGRpbmc6ICRlbGVtLXBhZC1zbTtcbiAgICAgICAgLy8gYm9yZGVyOjFweCBzb2xpZCBzZXRjb2xvcig1KTtcblxuICAgICAgICAmLW5vcGFkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZzogJGVsZW0tcGFkLXNtO1xuICAgICAgICAgICAgYm9yZGVyOjFweCBzb2xpZCBzZXRjb2xvcig1KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBnYXA6ICRndXR0ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cbiAgICAgICAgJl9faWNvbiB7XG4gICAgICAgICAgICBvcmRlcjoyO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAmX19ub3RlcyB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRlbGVtLXBhZC1scmc7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkZWxlbS1wYWQtbHJnO1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgc2V0Y29sb3IoNCk7XG4gICAgfVxuXG5cbiAgICAmX19mb290ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAkZWxlbS1wYWQtbHJnO1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgc2V0Y29sb3IoNCk7XG5cbiAgICAgICAgLmwtZ3JpZF9fY29sOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbTIoMzAwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5jaGVja291dC1wYXltZW50IHtcbiAgICAmX19sb2dvcyB7XG4gICAgICAgIG1hcmdpbi10b3A6JGVsZW0tcGFkO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgJl9fbG9nbyB7XG4gICAgICAgIGJvcmRlcjoxcHggc29saWQgc2V0Y29sb3IoNik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTZweDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4uY2hlY2tvdXQtc3RlcC1vcHRpb24ge1xuICAgIC5jaGVja291dC1zdGVwLW9wdGlvbl9faWNvbi0tY2hlY2tlZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IFxuICAgIH1cbiAgICAuY2hlY2tvdXQtc3RlcC1vcHRpb25fX2ljb24tLXVuY2hlY2tlZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyBcbiAgICB9XG59XG4uY2hlY2tvdXQtc3RlcC1vcHRpb24tLWFjdGl2ZSwgLnUtY29sbGFwc2FibGUtdG9nZ2xlOmNoZWNrZWQge1xuXG4gICAgKy51LWNvbGxhcHNhYmxlLXRvZ2dsZV9fdGl0bGUsIC51LWNvbGxhcHNhYmxlLXRvZ2dsZV9fdGl0bGUge1xuICAgICAgICAuY2hlY2tvdXQtc3RlcC1vcHRpb25fX3RpdGxlIHtcbiAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcigzKTtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigxKTtcbiAgICAgICAgfVxuICAgICAgIFxuICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcigzKTtcbiAgICAgICAgLy8gYm9yZGVyLWNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgLmNoZWNrb3V0LXN0ZXAtb3B0aW9uX19pY29uLS1jaGVja2VkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyBcbiAgICAgICAgfVxuICAgICAgICAuY2hlY2tvdXQtc3RlcC1vcHRpb25fX2ljb24tLXVuY2hlY2tlZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyBcbiAgICAgICAgfVxuICAgICAgICArLmNoZWNrb3V0X19zdGVwLWNvbnRlbnQge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgc2V0Y29sb3IoNSk7XG4gICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcig1KTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG4ucHJvZHVjdCB7XG5cbiAgICAmLWNhcmQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcigxKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBAaW5jbHVkZSB1cHBlcmNhc2Utc3BhY2VkO1xuICAgICAgICAgICAgJjpoYXMoLnByb2R1Y3QtY2FyZF9fZG93bmxvYWQ6aG92ZXIpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjpzZXRjb2xvcigyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtY29sb3Vyd2F5IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGl0bGVjYXNlLXNwYWNlZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm1lZ2FtZW51ICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtMigxNHB4KTsgLy9BZGp1c3RlZFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2ltZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICYtbGlmZXN0eWxlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIgJi1saWZlc3R5bGUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9fZG93bmxvYWQge1xuICAgICAgICAgICAgY29sb3I6c2V0Y29sb3IoMSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLCBjb2xvciAwLjNzIGVhc2U7XG4gICAgICAgICAgICAuYS1pY29uX19zdmcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiByZW0yKDIzcHgpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtMigyM3B4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOnNldGNvbG9yKDIpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19mb290ZXIge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6JGVsZW0tcGFkLXh4c207XG4gICAgICAgIH1cbiAgICAgICAgJl9fcmliYm9uLXdyYXAge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgICAucHJvZHVjdC1jYXJkX19yaWJib24ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDAwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHVwcGVyY2FzZS1zcGFjZWQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoNSk7XG4gICAgICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuICAgICAgICAgICAgICAgIFxuXG4gICAgICAgICAgICAgICAgLm1lZ2FtZW51ICYge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbTIoMTBweCk7IC8vQWRqdXN0ZWRcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdXBwZXJjYXNlLXNwYWNlZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuXG5cblxuLm5ld3NsZXR0ZXItc2lnbnVwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcigzKTtcbiAgICBwYWRkaW5nOiRlbGVtLXBhZC1scmcgJGVsZW0tcGFkO1xuICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmc6JGVsZW0tcGFkICRlbGVtLXBhZDtcbiAgICB9XG4gICAgJl9faW5uZXIge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXItaW5uZXItc3R5bGVzO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGdhcDogJGVsZW0tcGFkO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgIC5idG4tYmFja3RvdG9wIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJ0bi1iYWNrdG90b3Age1xuICAgICAgICBvcmRlcjoyO1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCwgXCJtYXhcIikge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fYnRuIHtcbiAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCwgXCJtYXhcIikge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5idG4ge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjppbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIC5mb290ZXJfX2lubmVyIHtcbiAgICAvLyAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAvLyAgICBAaW5jbHVkZSBtYXBweS1icChtZWRpdW0pIHtcbiAgICAvLyAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIC8vICAgICAgfVxuICAgIC8vIH1cbiAgICAvLyAmX193cmFwIHtcbiAgICAvLyAgICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLy8gICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLy8gICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcigzKTtcbiAgICAvLyAgICAgcGFkZGluZzogJGVsZW0tcGFkLWxyZyAkZWxlbS1wYWQ7ICAgICAgICBcbiAgICAvLyB9XG4gICAgLy8gJl9faW5uZXIge1xuICAgIC8vICAgICBmb250LXNpemU6IHJlbTIoMjJweCk7IC8vQWRqdXN0ZWRcbiAgICAvLyAgICAgZGlzcGxheTogZmxleDtcbiAgICAvLyAgICAgZ2FwOiByZW0yKDE2cHgpOyAvL0FkanVzdGVkXG4gICAgLy8gICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLy8gICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLy8gICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLy8gICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgLy8gICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIC8vICAgICB9XG4gICAgLy8gfVxuXG4gICAgLy8gJl9fZm9ybSB7XG4gICAgLy8gICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLy8gICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLy8gICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLy8gICAgIHBhZGRpbmc6MCAkZWxlbS1wYWQteHhzbTtcbiAgICAvLyB9XG4gICAgLy8gJl9faW5wdXQge1xuICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIC8vICAgICBmb250LXNpemU6IHJlbTIoMTZweCk7IC8vQWRqdXN0ZWRcbiAgICAvLyAgICAgYm9yZGVyOm5vbmU7XG4gICAgLy8gICAgIHBhZGRpbmc6JGVsZW0tcGFkLXNtO1xuICAgIC8vICAgICB3aWR0aDogMTAwJTtcbiAgICAvLyAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgLy8gICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAvLyAgICAgICAgIG1pbi13aWR0aDogcmVtMigyOTBweCk7IC8vQWRqdXN0ZWRcbiAgICAvLyAgICAgfVxuICAgIC8vIH1cbiAgICAvLyAmX19idG4ge1xuICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIC8vIH1cblxuICAgIC8vIC5iYWNrdG90b3Age1xuICAgIC8vICAgICBvcmRlcjo0O1xuICAgIC8vICAgICAuYnRuLWJhY2t0b3RvcCB7XG4gICAgLy8gICAgICAgICBtYXJnaW46MCBhdXRvO1xuICAgIC8vICAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobWVkaXVtKSB7XG4gICAgLy8gICAgICAgICAgICAgbWFyZ2luOjA7XG5cbiAgICAvLyAgICAgICAgIH1cbiAgICAvLyAgICAgfVxuICAgIC8vICAgICBAaW5jbHVkZSBtYXBweS1icChtZWRpdW0pIHtcbiAgICAvLyAgICAgICAgIG9yZGVyOmluaXRpYWw7XG4gICAgLy8gICAgIH1cbiAgICAvLyB9XG5cblxuICAgIFxufVxuXG4jbmV3c2xldHRlck92ZXJsYXl7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA1ODBweDtcbiAgICAtLWYtaHRtbC1wYWRkaW5nOiAwO1xuICAgIC0tZi1jbG9zZS1idXR0b24tY29sb3I6IHNldGNvbG9yKDEpO1xuICAgIC8vIGRpc3BsYXk6IG5vbmU7XG4gICAgLm5ld3NsZXR0ZXItd2lkZ2V0IHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cbn1cbi5uZXdzbGV0dGVyLXdpZGdldCB7XG4gICAgbWFyZ2luOmF1dG87XG4gICAgYm9yZGVyOiAycHggc29saWQgc2V0Y29sb3IoNSk7XG4gICAgbWF4LXdpZHRoOiByZW0yKDU4MHB4KTsgLy9BZGp1c3RlZFxuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICRlbGVtLXBhZDtcbiAgICBcbiAgICAgLmwtY29udGVudCAme1xuICAgICAgICBtYXJnaW46ICRlbGVtLXBhZC1scmcgYXV0bztcbiAgICAgfVxuICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmc6ICRlbGVtLXBhZC14bHJnO1xuICAgIH1cbiAgICAmX190b3Age1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICAmX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIHVwcGVyY2FzZS1zcGFjZWQoKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOjA7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkbHMtYm9keTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBzdmcge1xuICAgICAgICAgICAgZmlsbDpzZXRjb2xvcigyKTtcbiAgICAgICAgICAgIC8vIHdpZHRoOiByZW0yKDMwcHgpO1xuICAgICAgICAgICAgLy8gaGVpZ2h0OiBhdXRvOztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG59XG5cblxuLyo9PT09PT09PT09PT09PT09PT09XG5zdHlsZXMgZm9yIHRoZSBuZXdzbGV0dGVyIHdpZGdldFxuPT09PT09PT09PT09PT09PT09PSovXG4ubmV3c2xldHRlci13aWRnZXQtLWh1YnNwb3Qge1xuICAgIG1heC13aWR0aDogcmVtMig3MjBweCk7IC8vQWRqdXN0ZWRcbiAgICBwYWRkaW5nOiAgJGVsZW0tcGFkICRlbGVtLXBhZC1zbTtcbiAgICBmb3JtIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG59IiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuLnRpbGVzIHtcbiAgICAvLyBkaXNwbGF5OiBncmlkO1xuICAgIC8vIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG5cbiAgICAmX193cmFwIHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyLWlubmVyLXN0eWxlcztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDphdXRvO1xuICAgICAgICBnYXA6IDA7XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKG1lZGl1bSkge1xuICAgICAgICAgICAgZ2FwOiAkZ3V0dGVyO1xuICAgICAgICB9XG4gICAgICAgIC8vIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIC8vIGdhcDogJGd1dHRlcjtcbiAgICAgICAgLy8gZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSAgbWlubWF4KDAsIDFmcikgIG1pbm1heCgwLCAxZnIpO1xuICAgIH1cbiAgICAmX19pdGVtIHtcbiAgICAgICAgcGFkZGluZzogJGVsZW0tcGFkLWxyZztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoMyk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChtZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRlbGVtLXBhZDtcbiAgICAgICAgICAgIC8vYXNwZWN0LXJhdGlvOiAxIC8gMTsgIFxuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMC41OyAgXG4gICAgICAgIH1cbiAgICAgICAgJi1oZWFkaW5nIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuXG4ucHJvZHVjdCB7XG4gICAgXG4gICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgLy8gbWFyZ2luLXRvcDokZWxlbS1wYWQtbHJnO1xuICAgIH1cbn1cbi5wcm9kdWN0X190b3B7XG4gIGRpc3BsYXk6Z3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGNvbHVtbi1nYXA6IDJyZW07XG4gIHJvdy1nYXA6IDA7ICAgICAgICAgICAgICAvKiBrZXk6IG5vIGZvcmNlZCB2ZXJ0aWNhbCBnYXBzICovXG4gIGFsaWduLWl0ZW1zOnN0YXJ0O1xuICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgIFwiaGVhZGluZ1wiXG4gICAgXCJsZWZ0XCJcbiAgICBcInJpZ2h0XCI7XG4gIFxuXG4gICAgLy8gIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgLy8gICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAvLyAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAvLyAgICAgXCJsZWZ0IGhlYWRpbmdcIlxuICAgIC8vICAgICBcImxlZnQgZGV0YWlsc1wiXG4gICAgLy8gICAgIFwibGVmdCBhZGRpdGlvbmFsXCI7XG4gICAgLy8gfVxuICAgICBAaW5jbHVkZSBtYXBweS1icChtZWRpdW0pIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgNTAlKSAxZnIgbWlubWF4KDAsIDY1MHB4KTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgICBcImxlZnQgLiByaWdodFwiO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDsgXG4gICAgfVxufVxuXG5cblxuLnByb2R1Y3RfX2xlZnQge1xuICAgIGdyaWQtYXJlYTogbGVmdDsgXG59XG4ucHJvZHVjdF9fcmlnaHQge1xuICAgIGdyaWQtYXJlYTogcmlnaHQ7IFxufVxuXG4ucHJvZHVjdF9faGVhZGVyIHtcbiAgICAmLS1kZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobWVkaXVtKSB7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuICAgICYtLW1vYmlsZSB7XG4gICAgICAgIGdyaWQtYXJlYTogaGVhZGluZztcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobWVkaXVtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyAgICBcbiAgICAgICAgfVxuICAgIH0gICAgICBcbn1cblxuLnByb2R1Y3RfX2Rlc2NyaXB0aW9uIHtcbiAgICBcblxuICAgICYtLWRlc2t0b3Age1xuICAgICAgICBwYWRkaW5nLXRvcDokZWxlbS1wYWQtc207XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKG1lZGl1bSkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi0tbW9iaWxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobWVkaXVtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0IHtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiAkZWxlbS1wYWQtbHJnO1xuICAgICAgICAmLS1icmQge1xuICAgICAgICB9XG4gICAgfVxuICAgIGg0IHtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKDEpO1xuICAgICAgICBtYXJnaW46MCAwICRlbGVtLXBhZC1zbSAwO1xuICAgIH0gIFxuICAgICZfX3RvcCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkZWxlbS1wYWQtbHJnO1xuICAgICAgICAvLyBkaXNwbGF5OiBncmlkO1xuICAgICAgICAvLyBjb2x1bW4tZ2FwOiAkZWxlbS1wYWQtbHJnO1xuICAgICAgICAvLyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblxuICAgICAgICAvLyBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAvLyAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICAvLyB9XG5cbiAgICAgICAgLy8gQGluY2x1ZGUgbWFwcHktYnAobGFyZ2UpIHtcbiAgICAgICAgLy8gICAgIGNvbHVtbi1nYXA6IDEwJTtcbiAgICAgICAgLy8gICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTAlIDFmcjtcbiAgICAgICAgLy8gfVxuICAgIH1cblxuICAgICZfX2RldGFpbHMge1xuIFxuICAgIH1cblxuICAgICZfX3NlY3Rpb24ge1xuICAgICAgIFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiRlbGVtLXBhZDtcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgICAgIC8vIHBhZGRpbmc6JGVsZW0tcGFkO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKG1heCkge1xuICAgICAgICAgICAgLy8gbWFyZ2luLXRvcDogJGVsZW0tcGFkLWxyZztcbiAgICAgICAgfVxuICAgICAgICAmLWlubmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1zaWRlcyh0b3AsIDJweCk7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJGVsZW0tcGFkO1xuICAgICAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyLWlubmVyLXN0eWxlcztcbiAgICAgICAgfVxuICAgICAgICAmLS1ndyB7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC8vIHBhZGRpbmctdG9wOiRlbGVtLXBhZC1scmc7XG4gICAgICAgICAgICAvLyBwYWRkaW5nLWJvdHRvbTokZWxlbS1wYWQtbHJnO1xuICAgICAgICB9XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRscy1ib2R5O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgJi12YXJpYW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkZWxlbS1wYWQteHhzbTtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5wcm9kdWN0X190aXRsZSArICYge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0yKDIwcHgpOyAgLy9BZGp1c3RlZFxuICAgICAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJpY2Uge1xuICAgICAgICAgbWFyZ2luOiAkZWxlbS1wYWQteHNtIDA7XG4gICAgICAgICYtZmlnIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtMigyMHB4KTsgLy9BZGp1c3RlZFxuICAgICAgICB9XG4gICAgICAgXG4gICAgfVxuXG4gICAgJl9fc3dhdGNoZXMge1xuICAgICAgICAvLyBtYXJnaW46ICRlbGVtLXBhZC14c20gMDtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOnJlbTIoOHB4KTsgIC8vQWRqdXN0ZWRcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgbWlubWF4KHJlbTIoNDBweCksIDFmcikpOyAvL0FkanVzdGVkXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7IC8vc2FtZSBhcyBhY3RpdmUgb3V0bGluZSBvZmZzZXQgYW5kIGJvcmRlclxuICAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgICAgIGdhcDpyZW0yKDE2cHgpOyAvL0FkanVzdGVkXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgocmVtMig0MHB4KSwgMWZyKSk7IC8vQWRqdXN0ZWRcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgZ2FwOnJlbTIoMTZweCk7IC8vQWRqdXN0ZWRcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heChyZW0yKDQwcHgpLCAxZnIpKTsgLy9BZGp1c3RlZFxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKG1lZGl1bSkge1xuXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCBtaW5tYXgocmVtMig0MHB4KSwgMWZyKSk7IC8vQWRqdXN0ZWRcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChsYXJnZSkge1xuICAgICAgICAgICAgZ2FwOnJlbTIoMjRweCk7IC8vQWRqdXN0ZWRcbiAgICAgICAgfVxuICAgICAgICAmLWl0ZW0ge1xuICAgICAgICAgICAgLmdhbGxlcnktdGh1bWJuYWlscyAmIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOjEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLS1zZWxlY3RlZCwgJi5pcy1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDNweDtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHNldGNvbG9yKDIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nYWxsZXJ5IHtcblxuICAgICAgICAvLyBAaW5jbHVkZSBtYXBweS1icChtZWRpdW0pIHtcbiAgICAgICAgLy8gICAgIGdyaWQtcm93OiBzcGFuIDI7XG4gICAgICAgIC8vIH1cbiAgICB9XG4gICAgJl9fYWRkaXRpb25hbHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIC8vIGdhcDogJGVsZW0tcGFkLXNtO1xuICAgICAgICBcbiAgICAgICAgLy8gQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgLy8gICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gICAgICAgIC8vIH1cbiAgICAgICAgLy8gQGluY2x1ZGUgbWFwcHktYnAobWVkaXVtKSB7XG5cbiAgICAgICAgLy8gICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICAvLyB9XG4gICAgICAgIC8vIEBpbmNsdWRlIG1hcHB5LWJwKHhsYXJnZSkge1xuICAgICAgICAvLyAgICAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICAgICAgICAvLyAgICAgZ2FwOiAkZWxlbS1wYWQ7XG4gICAgICAgIC8vICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgIC8vIH1cbiAgICB9XG4gICAgJl9fdGVjaC1kZXRhaWxzIHtcbiAgICAgICAgLy93aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBjb2xvcjpzZXRjb2xvcigxKTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgIH1cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxODBweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7IFxuICAgICAgICB9XG5cbiAgICAgICAgZGl2LnByb2R1Y3RfX3RlY2gtdGFibGUge1xuICAgICAgICAgICAgLy9JZiB3ZSdyZSBpbnNpZGUgYSBkaXYgdGhlbiBzdHlsZSBkaWZmZXJudGx5XG5cbiAgICAgICAgICAgIHRyICo6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTgwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDsgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fZmFicmljX2NhcmVfaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IHJlbTIoMjBweCk7IFxuICAgICAgICAvLyBtYXgtd2lkdGg6IHJlbTIoMTQ4cHgpOyBcbiAgICB9XG4gICAgJl9fb3B0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIFxuICAgICAgICAvLyBtYXgtd2lkdGg6IHJlbTIoNTAwcHgpO1xuICAgICAgIHBhZGRpbmc6JGVsZW0tcGFkIDA7XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKG1heCkge1xuICAgICAgICAgICAgLy8gbWF4LXdpZHRoOiBpbml0aWFsO1xuICAgICAgICAgICAgLy8gZ2FwOiAkZWxlbS1wYWQ7XG4gICAgICAgICAgICAvLyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgIH1cbiAgICAgICAgJi10aXRsZSB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTpub25lO1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKDEpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRlbGVtLXBhZC14eHNtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGVsZW0tcGFkLXh4c207XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fc2VsZWN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLy8gcGFkZGluZzowICRlbGVtLXBhZC14eHNtO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXh0LXN0YXJ0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZWxlbS1wYWQteHhzbTtcbiAgICAgICAgJi1pbmZvIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0zcHg7IFxuICAgICAgICB9XG4gICAgICAgICYtdHlwZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vICBAY29udGFpbmVyIChtaW4td2lkdGg6IDYxNXB4KSB7XG5cbiAgICAgICAgLy8gICAgICYtdHlwZSB7XG4gICAgICAgIC8vICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgLy8gICAgIH1cblxuICAgICAgICAvLyB9XG5cbiAgICB9XG5cbiAgIFxuICAgICZfX21ldGVyYWdlLXByaWNlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgJl9fZm9ybSB7XG4gICAgICAgIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcig1KTtcbiAgICAgICAgcGFkZGluZzokZWxlbS1wYWQ7XG4gICAgICAgICYtaW5uZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZWxlbS1wYWQtc207XG4gICAgICAgIH1cbiAgICAgICAgLmZvcm1fX3NlbGVjdCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbTIoMTQwcHgpOyAvL0FkanVzdGVkXG4gICAgICAgIH1cbiAgICAgICAgJi1xdHkge1xuICAgICAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46MCAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZzoxMHB4IDA7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgICYtY29udHJvbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzpyZW0yKDRweCkgcmVtMigxMHB4KTsgIC8vQWRqdXN0ZWRcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMik7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLXdyYXAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtbGlua3Mge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIFxuICAgICAgICAvLyBtYXJnaW4tdG9wOiRlbGVtLXBhZC1zbTtcbiAgICAgICAgLy8gcGFkZGluZy10b3A6JGVsZW0tcGFkO1xuXG4gICAgICAgICZfX2xpc3Qge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZ2FwOiAkZWxlbS1wYWQteHhzbTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIHVwcGVyY2FzZS1zcGFjZWQoKTtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0yKDhweCk7IC8vQWRqdXN0ZWRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufSIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcblxuLy9HZW5lcmFsIGNhcm91c2VsIHN0eWxlc1xuLmYtYnV0dG9uIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2dvZXNXaXRoUHJvZHVjdCB7XG4gICAgLmYtYnV0dG9uIHtcbiAgICAgICAgdG9wOiBjYWxjKHZhcigtLWltZy1oZWlnaHQpIC8gMikgIWltcG9ydGFudDtcbiAgICAgfVxufVxuLmNhcm91c2VsIHtcbiAgICBtYXJnaW46JGVsZW0tcGFkICRlbGVtLXBhZC1scmc7XG4gICAgLS1wZXItcGFnZTogMTtcbiAgICAtLWYtY2Fyb3VzZWwtZ2FwOiAyNHB4O1xuICAgIC0tZi1jYXJvdXNlbC1zbGlkZS13aWR0aDogY2FsYyhcbiAgICAgICAgKDEwMCUgLSAoKHZhcigtLXBlci1wYWdlKSAtIDEpICogdmFyKC0tZi1jYXJvdXNlbC1nYXApKSlcbiAgICAgICAgLyB2YXIoLS1wZXItcGFnZSlcbiAgICApO1xuICAgIC8qQVJST1dTKi9cbiAgICAgICAgIC0tZi1hcnJvdy1wb3M6IC01MHB4O1xuICAgIC5mLWJ1dHRvbiB7XG4gICAgICAgIHRvcDogY2FsYyh2YXIoLS1pbWctaGVpZ2h0KSAvIDIpICFpbXBvcnRhbnQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMik7XG4gICAgICAgIH1cblxuICAgICB9XG4gICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgLy8gbWFyZ2luOiRlbGVtLXBhZCAkZ3V0dGVyICAkZ3V0dGVyICRndXR0ZXI7XG5cbiAgICAgICAgLS1wZXItcGFnZTogMjtcblxuICAgIH1cbiAgICBAaW5jbHVkZSBtYXBweS1icChtZWRpdW0pIHtcbiAgICAgICAgLS1wZXItcGFnZTogMztcblxuICAgIH1cbiAgICBAaW5jbHVkZSBtYXBweS1icChtYXgtd2l0aC1ndXR0ZXIpIHtcbiAgICAgICAgLS1wZXItcGFnZTogdmFyKC0tbWF4LXBlci1wYWdlLCA0KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6MDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OjA7XG4gICAgfVxuICAgIC5sLXNlY3Rpb25fX2lubmVyLS1uby1wYWQgJiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiRlbGVtLXBhZC1scmcgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiRlbGVtLXBhZC1scmcgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmX19jdGEge1xuICAgICAgICBtYXJnaW4tdG9wOjA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICB9XG59XG5cblxuLmNhcm91c2VsLWNvbHVtbnMge1xuICAgIG1hcmdpbjokZWxlbS1wYWQgJGd1dHRlciAwICRndXR0ZXI7XG4gICAgLS1wZXItcGFnZTogMTtcbiAgICAtLWYtY2Fyb3VzZWwtZ2FwOiAyNHB4O1xuICAgIC0tZi1jYXJvdXNlbC1zbGlkZS13aWR0aDogY2FsYyhcbiAgICAgICAgKDEwMCUgLSAoKHZhcigtLXBlci1wYWdlKSAtIDEpICogdmFyKC0tZi1jYXJvdXNlbC1nYXApKSlcbiAgICAgICAgLyB2YXIoLS1wZXItcGFnZSlcbiAgICApO1xuICAgIC8qQVJST1dTKi9cbiAgICAtLWYtYXJyb3ctcG9zOiAtNTBweDtcbiAgICAvLyBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgIC8vICAgICAtLXBlci1wYWdlOiAyO1xuXG4gICAgLy8gfVxuICAgIEBpbmNsdWRlIG1hcHB5LWJwKG1lZGl1bSkge1xuICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgICAgIGdhcDogJGd1dHRlcjtcbiAgICAgICAgLmYtY2Fyb3VzZWxfX3NsaWRlIHsgXG4gICAgICAgICAgICBncmlkLWFyZWE6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gQGluY2x1ZGUgbWFwcHktYnAobWF4LXdpdGgtZ3V0dGVyKSB7XG4gICAgLy8gICAgIC0tcGVyLXBhZ2U6IHZhcigtLW1heC1wZXItcGFnZSwgNCk7XG4gICAgLy8gICAgIG1hcmdpbi1sZWZ0OjA7XG4gICAgLy8gICAgIG1hcmdpbi1yaWdodDowO1xuICAgIC8vICAgICAtLWYtYXJyb3ctcG9zOiAtNTBweDtcbiAgICAvLyB9XG4gICAgLmwtc2VjdGlvbl9faW5uZXItLW5vLXBhZCAmIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6JGVsZW0tcGFkLWxyZyAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6JGVsZW0tcGFkLWxyZyAhaW1wb3J0YW50O1xuICAgICAgICAtLWYtYXJyb3ctcG9zOiAtNTBweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuXG4vKnByb2R1Y3QgY2Fyb3VzZWwqL1xuI3Byb2R1Y3RDYXJvdXNlbCB7XG4gICAgJi5mLWNhcm91c2VsIHtcbiAgICAgICAgLS1wZXItcGFnZTogNTtcbiAgICAgICAgLS1mLWNhcm91c2VsLWdhcDogMTBweDtcbiAgICAgICAgLS1mLWNhcm91c2VsLXNsaWRlLXdpZHRoOiBjYWxjKFxuICAgICAgICAgICAgKDEwMCUgLSAoKHZhcigtLXBlci1wYWdlKSAtIDEpICogdmFyKC0tZi1jYXJvdXNlbC1nYXApKSlcbiAgICAgICAgICAgIC8gdmFyKC0tcGVyLXBhZ2UpXG4gICAgICAgICk7XG5cbiAgICAgICAgLypBUlJPV1MqL1xuICAgICAgICAtLWYtYXJyb3ctcG9zOiAtNTBweDtcblxuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChtZWRpdW0pIHtcbiAgICAgICAgICAgIC0tZi1jYXJvdXNlbC1nYXA6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5nYWxsZXJ5LXNsaWRlIHtcbiAgICBhIHtcbiAgICAgICAgY3Vyc29yOiB1cmwoJy4uL2ltZy9pY29ucy9tYWduaWZ5aW5nLWdsYXNzLXNvbGlkLWZ1bGwuc3ZnJykgOCA4LCB6b29tLWluXG4gICAgfVxufVxuLnByb2R1Y3QtY2Fyb3VzZWx7XG4gICAgJl9fd3JhcCB7XG4gICAgICAgIHBhZGRpbmc6JGVsZW0tcGFkICRlbGVtLXBhZC1scmc7XG4gICAgfVxuXG4gICAgLmlzLXByZXZ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgLmlzLW5leHR7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxufVxuXG4uZ2FsbGVyeS10aHVtYm5haWxzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBpbmNsdWRlIG1hcHB5LWJwKG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLmYtYnV0dG9uIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi5nYWxsZXJ5X19tYWluIHtcbiAgICAtLWYtY2Fyb3VzZWwtZG90cy1oZWlnaHQ6IDQ1cHg7XG4gICAgLmYtYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICBzdmcge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxuICAgIC5mLWNhcm91c2VsX19kb3RzIHtcbiAgICAgICAgcGFkZGluZzogJGVsZW0tcGFkLXh4c20gMCAkZWxlbS1wYWQgMDtcbiAgICB9XG59XG4uZmFuY3lib3hfX2JhY2tkcm9wIHtcbiAgICAtLWZhbmN5Ym94LWJhY2tkcm9wLWJnOiAje3NldGNvbG9yKDMpfSAhaW1wb3J0YW50O1xuICAgIC0tZi1kcmFnLW9wYWNpdHk6IC45O1xuICAgIC8vIG9wYWNpdHk6IC44O1xufVxuXG5cbiNnb2VzV2l0aFByb2R1Y3Qge1xuXG4gICAgJi5mLWNhcm91c2VsIHtcbiAgICAgICAgbWFyZ2luOjAgJGd1dHRlcjtcbiAgICAgICAgLS1wZXItcGFnZTogMTtcbiAgICAgICAgLS1mLWNhcm91c2VsLWdhcDogMzBweDtcbiAgICAgICAgLS1mLWNhcm91c2VsLXNsaWRlLXdpZHRoOiBjYWxjKFxuICAgICAgICAgICAgKDEwMCUgLSAoKHZhcigtLXBlci1wYWdlKSAtIDEpICogdmFyKC0tZi1jYXJvdXNlbC1nYXApKSlcbiAgICAgICAgICAgIC8gdmFyKC0tcGVyLXBhZ2UpXG4gICAgICAgICk7XG5cbiAgICAgICAgLypBUlJPV1MqL1xuICAgICAgICAtLWYtYXJyb3ctcG9zOiAtNTBweDtcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoeHNtYWxsKSB7XG4gICAgICAgICAgICAtLXBlci1wYWdlOiAyO1xuXG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgICAgIC0tcGVyLXBhZ2U6IDM7XG5cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChtYXgtd2l0aC1ndXR0ZXIpIHtcbiAgICAgICAgICAgIC0tcGVyLXBhZ2U6IDQ7XG4gICAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICAgIC0tZi1hcnJvdy1wb3M6IC01MHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuLmdhbGxlcnkge1xuXG4gICAgJi1zbGlkZSB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufSIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcbi5ibG9nLWNhcmQge1xuICAgIGNvbG9yOiBzZXRjb2xvcigxKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcig1KTtcbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19kZXRhaWxzIHtcbiAgICAgICAgcGFkZGluZzogJGVsZW0tcGFkICAkZWxlbS1wYWQtc207XG4gICAgfVxuICAgICZfX21ldGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmb250LXNpemU6IHJlbTIoMTZweCk7XG4gICAgICAgICYtaXRlbSB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHNldGNvbG9yKDIpO1xuICAgICAgICAgICAgcGFkZGluZzogMCAkZWxlbS1wYWQtc207XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTsgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX2Rlc2Mge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiRlbGVtLXBhZDtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG59XG5cbi5hcnRpY2xlIHtcbiAgICAuY29udGVudC1ibG9jayB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lZC1hcnRpY2xlLXdpZHRoO1xuICAgICAgICBtYXJnaW46MCBhdXRvO1xuICAgIH1cbn0iLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG5cblxuLmV2ZW50cyB7XG4gICAgJl9fd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKDUpO1xuICAgICAgICBwYWRkaW5nOiAwICRlbGVtLXBhZDtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0yKDEwMDBweCk7IC8vbm90IEFkanVzdGVkXG4gICAgICAgIG1hcmdpbjowIGF1dG9cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGdhcDogJGd1dHRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2ZmZmZmZjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtMigyMHB4KTtcbiAgICAgICAgcGFkZGluZzokZWxlbS1wYWQtbHJnICAkZWxlbS1wYWQtc207XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciByZW0yKDEyNXB4KTsgLy9BZGp1c3RlZFxuICAgICAgICB9XG5cbiAgICAgICAgcCwgaDIge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgICYtZGF0ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB1cHBlcmNhc2Utc3BhY2VkKCk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbTIoMjBweCk7IC8vQWRqdXN0ZWRcbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgICYtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0yKDI0cHgpO1xuICAgICAgICAgICAgY29sb3I6c2V0Y29sb3IoMik7XG4gICAgICAgICAgICBAaW5jbHVkZSB1cHBlcmNhc2Utc3BhY2VkKCk7XG4gICAgICAgIH1cbiAgICAgICAgJi10aW1lIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtMigyMHB4KTsgLy9BZGp1c3RlZFxuICAgICAgICB9XG4gICAgICAgICYtY29udGVudCB7XG4gICAgICAgICAgICAgZm9udC1zaXplOiByZW0yKDIwcHgpOyAvL0FkanVzdGVkXG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206bm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmLXJpZ2h0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idG4ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOmF1dG87XG4gICAgICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcbi8qPT09PT1cbldJREdFVCBTQU1QTEUgRk9STVxuPT09PT09Ki9cblxuLnNhbXBsZXMtZm9ybSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoNSk7XG4gICAgcGFkZGluZzogJGVsZW0tcGFkICRlbGVtLXBhZDtcbiAgICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7IFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBtYXBweS1icChtZWRpdW0pIHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0yKDU2MHB4KTsgLy9BZGp1c3RlZFxuICAgIH1cbiAgICAmX19yb3cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAucHJvZHVjdF9fc2VsZWN0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgICAgfVxuICAgICAgIC5mb3JtX19sYWJlbCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAuZm9ybV9fc2VsZWN0LWlucHV0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6I2ZmZmZmZlxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIC5idG4ge1xuICAgIC8vICAgICB3aWR0aDogMTAwJTtcbiAgICAvLyB9XG5cbiAgICBAY29udGFpbmVyIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICZfX3JvdyB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICB9XG4gICAgICAgIC5mb3JtX19sYWJlbCB7IFxuICAgICAgICAgICAgd2lkdGg6IDM1JTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4ud2lkZ2V0IHtcbiAgJi0tMy1ibG9ja3Mge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImNvbnRlbnQgaW1nMSBpbWcyXCI7XG4gICAgZ2FwOiAkZ3V0dGVyO1xuICAgIHJvdy1nYXA6IDA7XG4gICAgdmlkZW8sIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAud2lkZ2V0X19jb2wge1xuICAgICAgcGFkZGluZzogJGVsZW0tcGFkO1xuXG4gICAgICAmLS1jb250ZW50IHtcbiAgICAgICAgZ3JpZC1hcmVhOiBjb250ZW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcig1KTtcbiAgICAgIH1cblxuICAgICAgJi0taW1nIHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICBncmlkLWFyZWE6IGltZzE7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1vZi10eXBlKDMpIHtcbiAgICAgICAgICBncmlkLWFyZWE6IGltZzI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgIEBpbmNsdWRlIG1hcHB5LWJwKG1lZGl1bSwgJ21heCcpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICBcbiAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgIFwiaW1nMSBpbWcyXCJcbiAgICAgICAgXCJjb250ZW50IGNvbnRlbnRcIjtcbiAgICB9XG4gIH1cblxuICAmLS1jb250ZW50LW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgbWFwcHktYnAobWVkaXVtKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImltZzEgY29udGVudCBpbWcyXCI7XG4gICAgfVxuICB9XG59IiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuLm92ZXJsYXkge1xuICAgICZfX3dyYXAge1xuICAgIG1hcmdpbjphdXRvO1xuICAgIG1heC13aWR0aDogcmVtMig1ODBweCk7IFxuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICRlbGVtLXBhZDtcbiAgICAmLS1uYXJyb3cge1xuICAgICAgICAgbWF4LXdpZHRoOiByZW0yKDUwMHB4KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgcGFkZGluZzogJGVsZW0tcGFkLWxyZyAkZWxlbS1wYWQteGxyZztcbiAgICB9XG4gICAgfVxufVxuIiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG5cbiAgJl9fdHJpZ2dlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgJi5pcy1vcGVuIHtcbiAgICAudG9vbHRpcF9fcGFuZWwge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDApO1xuICAgIH1cbiAgfVxuICAmX19wYW5lbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogY2FsYygxMDAlICsgMThweCk7IC8qIEFib3ZlIHRoZSB0cmlnZ2VyICovXG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDhweCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIG9wYWNpdHkgLjJzIGVhc2UsXG4gICAgICB0cmFuc2Zvcm0gLjJzIGVhc2UsXG4gICAgICB2aXNpYmlsaXR5IC4ycztcbiAgICB6LWluZGV4OiAyMDtcblxuICAgIGNvbG9yOiBzZXRjb2xvcigxKTtcbiAgICBwYWRkaW5nOiAkZWxlbS1wYWQ7O1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuXHRcdG1pbi13aWR0aDogNDAwcHg7XG5cdFx0bWluLWhlaWdodDogMTAwcHg7XG4gIC0tYTogOTBkZWc7IC8qIGFuZ2xlICovXG4gIC0taDogMWVtOyAvKiBoZWlnaHQgKi9cblxuICAtLXA6IDUwJTsgLyogdHJpYW5nbGUgcG9zaXRpb24gKDAlOmxlZnQgMTAwJTpyaWdodCkgKi9cbiAgLS1iOiAxcHg7IC8qIGJvcmRlciB3aWR0aCAqL1xuXG4gIHBhZGRpbmc6ICRlbGVtLXBhZDtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMTAwJSwwIDAsMTAwJSAwLDEwMCUgMTAwJSxcbiAgICBtaW4oMTAwJSx2YXIoLS1wKSArIHZhcigtLWgpKnRhbih2YXIoLS1hKS8yKSkgMTAwJSxcbiAgICB2YXIoLS1wKSBjYWxjKDEwMCUgKyB2YXIoLS1oKSksXG4gICAgbWF4KDAlICAsdmFyKC0tcCkgLSB2YXIoLS1oKSp0YW4odmFyKC0tYSkvMikpIDEwMCUpO1xuICBib3JkZXItaW1hZ2U6ICN7J2ZpbGwgMC8vdmFyKC0taCkgMCd9IGNvbmljLWdyYWRpZW50KCN7c2V0Y29sb3IoMil9IDAgMCk7IC8qIHRoZSBib3JkZXIgY29sb3IgKi9cblxuICAgICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBpbnNldDogdmFyKC0tYikgMDtcbiAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDEwMCUsMCAwLDEwMCUgMCwxMDAlIDEwMCUsXG4gICAgICAgIG1pbigxMDAlIC0gdmFyKC0tYiksdmFyKC0tcCkgKyB2YXIoLS1oKSp0YW4odmFyKC0tYSkvMikgLSB2YXIoLS1iKSp0YW4oNDVkZWcgLSB2YXIoLS1hKS80KSkgMTAwJSxcbiAgICAgICAgdmFyKC0tcCkgY2FsYygxMDAlICsgdmFyKC0taCkgKyB2YXIoLS1iKSooMSAtIDEvc2luKHZhcigtLWEpLzIpKSksXG4gICAgICAgIG1heCggICAgICAgdmFyKC0tYiksdmFyKC0tcCkgLSB2YXIoLS1oKSp0YW4odmFyKC0tYSkvMikgKyB2YXIoLS1iKSp0YW4oNDVkZWcgLSB2YXIoLS1hKS80KSkgMTAwJSk7XG4gICAgICBib3JkZXItaW1hZ2U6ICN7J2ZpbGwgMC8wIHZhcigtLWIpL3ZhcigtLWgpIDAgY29uaWMtZ3JhZGllbnQoI2ZmZmZmZiAwIDApJ307IC8qIHRoZSBiYWNrZ3JvdW5kIGNvbG9yICovXG4gICAgfVxuICAgICAgXG4gIH1cblxuICAmX19jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTJweDtcbiAgICByaWdodDogMTJweDtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjIyO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS43O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gIH1cblxuICAgICAgLmEtaWNvbl9fc3ZnIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICB9XG4gICAgJl9fd3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OjIycHg7XG4gICAgfVxufSIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcbkB1c2UgJ2Jhc2UvdXRpbGl0aWVzJztcblxuLmNhbGN1bGF0b3Ige1xuICAgICZfX3VuaXRzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG59XG5cbi5wYW5lbHMge1xuICAgICYtLXJlcXVpcmVkIHtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuICAgIH1cbn1cbi5wYW5lbC1zaGFwZXtcbiAgICAmX193cmFwIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYm9yZGVyOjFweCBzb2xpZCBzZXRjb2xvcigxKTtcbiAgICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICAgICAgd2lkdGg6IDE1MHB4O1xuXG4gICAgICAgICYtd2lkdGgge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICAmLWhlaWdodCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgICYtdW5pdCB7XG4gICAgICAgICAgICBwYWRkaW5nOiRlbGVtLXBhZC14eHNtO1xuICAgICAgICB9XG4gICAgfVxuXG59IiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuQHVzZSBcInNhc3M6bWFwXCI7XG4uYWNjb3JkaW9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHNldGNvbG9yKDMpO1xuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIC8vIGZvbnQtc2l6ZTogcmVtMigxNHB4KTsgLy9BZGp1c3RlZFxuICAgICAgICBjb2xvcjogc2V0Y29sb3IoMik7XG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCBzZXRjb2xvcigzKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRscy1ib2R5O1xuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cbiAgICA+bGksID4uYWNjb3JkaW9uX19pdGVtIHtcbiAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgICBcbiAgICAgICAgXG4gICAgfVxuICAgIFxuICAgIGRkIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICZfX3RyaWdnZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAzMHB4O1xuICAgICAgICBjb2xvcjogaHNsKDBkZWcgMCUgMTMlKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OnJlbTIoMTZweCk7IC8vQWRqdXN0ZWRcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIC8vIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAkZWxlbS1wYWQgcmVtMigyNHB4KSAkZWxlbS1wYWQgJGVsZW0tcGFkOyAvL0FkanVzdGVkXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAkbHMtYm9keTtcbiAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvL3RyYW5zZm9ybTogcm90YXRlKDkwZGVnKSA7XG4gICAgICAgICAgICAvL2NvbG9yOnNldGNvbG9yKDEpO1xuICAgICAgICB9XG4gICAgICAgIC8vICY6OmFmdGVyIHtcbiAgICAgICAgLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgLy8gICAgIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzEyJyBoZWlnaHQ9JzgnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J00wIDEuNjA0QzAgMS4xNTcuMjY5Ljc1NS42ODIuNTg0YTEuMTA1IDEuMTA1IDAgMCAxIDEuMjAyLjI0TDYgNC45MzggMTAuMTE2LjgyM2ExLjEwMyAxLjEwMyAwIDEgMSAxLjU2IDEuNTYyTDYuNzggNy4yOGExLjEwMyAxLjEwMyAwIDAgMS0uNzguMzIzIDEuMTAzIDEuMTAzIDAgMCAxLS43OC0uMzIzTC4zMjQgMi4zODVBMS4xMDEgMS4xMDEgMCAwIDEgMCAxLjYwNFonIGZpbGw9JyUyMzEyMTIxMicvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgLy8gICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgICAvLyAgICAgdG9wOiAxcmVtO1xuICAgICAgICAvLyAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgLy8gfVxuXG4gICAgICAgICZbYXJpYS1leHBhbmRlZD10cnVlXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgLy8gYm9yZGVyLXRvcDoycHggc29saWQgc2V0Y29sb3IoMikgIWltcG9ydGFudDtcbiAgICAgICAgICAgIC8vIGJvcmRlci1ib3R0b206MnB4IHNvbGlkIHNldGNvbG9yKDIpICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIC5hY2NvcmRpb25fX3RyaWdnZXItaWNvbiB7XG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvL2NvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gJjo6YWZ0ZXIge1xuICAgICAgICAgICAgLy8gICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgICAgICAgICAgLy8gfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gJjpmb2N1cywgJjpob3ZlciwgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgIC8vICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAvLyAgICAgYmFja2dyb3VuZDogc2V0Y29sb3IoMyk7XG4gICAgICAgIC8vIH1cblxuICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHJnYmEoc2V0Y29sb3IoMiksIDAuMik7XG4gICAgICAgICAgICAvLyBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNXMgY3ViaWMtYmV6aWVyKC40MSwuOTcsLjM2LC43OCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgJi1pbm5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZWxlbS1wYWQ7XG5cbiAgICAgICAgICAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYtLWV4cGFuZGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoNSk7XG4gICAgfVxuXG5cbiAgICAmLS1hbHQge1xuICAgICAgICA+bGksID4uYWNjb3JkaW9uX19pdGVtIHtcbiAgICAgICAgICAgIC8vIG1hcmdpbi1ib3R0b206ICRlbGVtLXBhZDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQGV4dGVuZCAudS1zaGFkb3cgIW9wdGlvbmFsO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gLmFjY29yZGlvbl9faGVhZGluZyB7XG4gICAgICAgIC8vICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAvLyB9XG5cbiAgICAgICAgLmFjY29yZGlvbl9fdHJpZ2dlciB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAvL3BhZGRpbmc6JGVsZW0tcGFkIDA7XG4gICAgICAgICAgICAvLyBtYXJnaW46MCAkZWxlbS1wYWQ7XG4gICAgICAgICAgICAvLyB3aWR0aDogY2FsYygxMDAlIC0gKCRlbGVtLXBhZCAqIDIpKTtcblxuICAgICAgICAgICAgLy8gJjpob3ZlciB7XG4gICAgICAgICAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgfVxuICAgICAgICAuYWNjb3JkaW9uX19jb250ZW50LWlubmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW46MCAkZWxlbS1wYWQ7XG4gICAgICAgICAgICAvLyBib3JkZXItdG9wOjFweCBzb2xpZCBzZXRjb2xvcigxKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb3BlcnR5IHtcbiAgICAuYWNjb3JkaW9uX19jb250ZW50LWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDs7XG4gICAgfVxuICAgIC5hY2NvcmRpb25fX2NvbnRlbnQtaW5uZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIH1cbn0iLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG4uZ2xvc3Nhcnkge1xuXG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHNldGNvbG9yKDQpO1xuICAgICZfX2l0ZW0ge1xuICAgICAgICBwYWRkaW5nOiRlbGVtLXBhZC1scmcgMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHNldGNvbG9yKDQpO1xuICAgIH1cbiAgICAmX190ZXJtIHtcbiAgICAgICAgY29sb3I6c2V0Y29sb3IoMSk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIG1hcmdpbi10b3A6MDtcblxuICAgIH1cblxuICAgICZfX2RlZmluaXRpb24ge1xuICAgICAgICBwOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgICB9XG4gICAgfVxufSIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcblxuLmNhcnQge1xuICAgIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcbiAgICBjb250YWluZXItbmFtZTogY2FydDtcbiAgICAkY2FydC1zaXplLXNtOiA2MDBweDsgLy9jc3MgdmFycyBkb24ndCB3b3JraW5nIHdpdGggY29udGFpbmVyXG4gICAgJGNhcnQtc2l6ZS1scmc6IDEwMDBweDtcbiAgICAmX19pdGVtcyB7XG4gICAgICAgIC0tY2FydC1jb2x1bW5zOiA2NXB4IDFmciAxZnI7XG4gICAgICAgIC0tY2FydC1hcmVhczpcbiAgICAgICAgICAgIFwiaW1hZ2UgZGV0YWlscyBkZXRhaWxzXCJcbiAgICAgICAgICAgIFwiaW1hZ2UgcXR5IHByaWNlXCI7XG4gICAgICAgIC0tY2FydC1jb2x1bW5zLWdhcDogI3skZWxlbS1wYWR9O1xuICAgICAgICAtLWNhcnQtcm93LWdhcDogMDtcbiAgICAgICAgLS1jYXJ0LWl0ZW0tcGFkZGluZzogI3skZWxlbS1wYWQtc219O1xuXG4gICAgICAgIEBjb250YWluZXIgY2FydCAobWluLXdpZHRoOiAjeyRjYXJ0LXNpemUtc219KSB7XG4gICAgICAgICAgICAtLWNhcnQtY29sdW1uczogMTAwcHggbWlubWF4KDIwMHB4LCAxZnIpIDFmciAgbWlubWF4KDYwcHgsIG1heC1jb250ZW50KSAxZnI7XG4gICAgICAgICAgICAtLWNhcnQtYXJlYXM6XG4gICAgICAgICAgICAgICAgXCJpbWFnZSBkZXRhaWxzIHByaWNlIHF0eSBzdWJ0b3RhbFwiO1xuICAgICAgICB9XG4gICAgICAgIEBjb250YWluZXIgY2FydCAobWluLXdpZHRoOiAjeyRjYXJ0LXNpemUtbHJnfSkge1xuICAgICAgICAgICAgLy8gZHJvcCBcInR5cGVcIiBhbmQgXCJxdHlcIiBjb2x1bW5zIGVudGlyZWx5IGF0IHRoaXMgYnJlYWtwb2ludFxuICAgICAgICAgICAtLWNhcnQtY29sdW1uczogMTAwcHggMWZyIDE1MHB4IDE1MHB4ICAxNTBweCAxNTBweDtcbiAgICAgICAgICAgLS1jYXJ0LWFyZWFzOlxuICAgICAgICAgICAgXCJpbWFnZSBkZXRhaWxzIHByaWNlIHF0eSB0eXBlIHN1YnRvdGFsXCI7XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWQsXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tY2FydC1jb2x1bW5zKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogdmFyKC0tY2FydC1hcmVhcyk7XG4gICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWNhcnQtY29sdW1ucy1nYXApO1xuICAgICAgICByb3ctZ2FwOiB2YXIoLS1jYXJ0LXJvdy1nYXApO1xuICAgIH1cblxuICAgICZfX2hlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgQGNvbnRhaW5lciBjYXJ0IChtaW4td2lkdGg6ICN7JGNhcnQtc2l6ZS1zbX0pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIH1cbiAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRlbGVtLXBhZC14eHNtIDA7XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICB9XG4gICAgICAgICYtcHJvZHVjdCAgIHsgZ3JpZC1hcmVhOiBpbWFnZTsgfVxuICAgICAgICAmLWRldGFpbHMgICB7IGdyaWQtYXJlYTogZGV0YWlsczsgfVxuICAgICAgICAmLXByaWNlICAgICB7IGdyaWQtYXJlYTogcHJpY2U7IH1cbiAgICAgICAgJi1xdWFudGl0eSAgeyBncmlkLWFyZWE6IHF0eTsgfVxuICAgICAgICAmLXR5cGUgICAgICB7IGdyaWQtYXJlYTogdHlwZTsgfVxuICAgICAgICAmLXN1YnRvdGFsICB7IGdyaWQtYXJlYTogc3VidG90YWw7IH1cblxuICAgICAgICAmLXR5cGUgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICBAY29udGFpbmVyIGNhcnQgKG1pbi13aWR0aDogI3skY2FydC1zaXplLXNtfSkge1xuICAgICAgICAgICAgJi10eXBlIHsgZGlzcGxheTogZmxleDsgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHNldGNvbG9yKDQpO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tY2FydC1pdGVtLXBhZGRpbmcpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1jYXJ0LWl0ZW0tcGFkZGluZyk7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tY2FydC1pdGVtLXBhZGRpbmcpO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHNldGNvbG9yKDQpO1xuXG4gICAgICAgIH1cbiAgICAgICAgcCB7IG1hcmdpbjogMDsgfVxuXG4gICAgICAgICYtY29sIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICAgICAgQGNvbnRhaW5lciBjYXJ0IChtaW4td2lkdGg6ICN7JGNhcnQtc2l6ZS1zbX0pIHtcbiAgICAgICAgICAgICAgICAmOm5vdCguY2FydF9faXRlbS1kZXRhaWxzKTpub3QoLmNhcnRfX2l0ZW0taW1hZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLWNhcnQtaXRlbS1wYWRkaW5nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWltYWdlICAgICB7IGdyaWQtYXJlYTogaW1hZ2U7IH1cbiAgICAgICAgJi1kZXRhaWxzICAgeyBncmlkLWFyZWE6IGRldGFpbHM7IH1cbiAgICAgICAgJi1wcmljZSAgICAgeyBcbiAgICAgICAgICAgIGdyaWQtYXJlYTogcHJpY2U7IFxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBAY29udGFpbmVyIGNhcnQgKG1pbi13aWR0aDogI3skY2FydC1zaXplLXNtfSkge1xuICAgICAgICAgICAgICAgICYgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi1xdWFudGl0eSAgeyBncmlkLWFyZWE6IHF0eTsgfVxuICAgICAgICAmLXR5cGUgICAgICB7IGdyaWQtYXJlYTogdHlwZTsgfVxuICAgICAgICAmLXN1YnRvdGFsICB7IGdyaWQtYXJlYTogc3VidG90YWw7IH1cbiAgICAgICAgJi10aXRsZSB7IFxuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0yKDE4cHgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdXBwZXJjYXNlLXNwYWNlZCgpO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKDEpO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBcbiAgICAgICAgfVxuICAgICAgICAmLW1ldGEge1xuICAgICAgICAgICAgJi1jb2RlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIEBjb250YWluZXIgY2FydCAobWluLXdpZHRoOiAjeyRjYXJ0LXNpemUtc219KSB7XG4gICAgICAgICAgICAgICAgICAgICYgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtdHlwZSwgJi1zdWJ0b3RhbCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgQGNvbnRhaW5lciBjYXJ0IChtaW4td2lkdGg6ICN7JGNhcnQtc2l6ZS1zbX0pIHtcbiAgICAgICAgICAgICYtc3VidG90YWwgeyBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgIH1cbiAgICAgICAgQGNvbnRhaW5lciBjYXJ0IChtaW4td2lkdGg6ICN7JGNhcnQtc2l6ZS1scmd9KSB7XG4gICAgICAgICAgICAgJi10eXBlIHsgZGlzcGxheTogZmxleDsgfVxuICAgICAgICB9XG4gICAgICAgICYtcmVtb3ZlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogdmFyKC0tY2FydC1pdGVtLXBhZGRpbmcpO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMik7XG4gICAgICAgIH1cblxuICAgICAgICAmLXByb2R1Y3Qge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNzBweCAxZnI7XG4gICAgICAgICAgICBnYXA6IDEycHg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZm9vdGVye1xuICAgICAgICBcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGNvbG9yOnNldGNvbG9yKDIpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2FydC0tYXNpZGUge1xuICAgIC5jYXJ0X190aXRsZSB7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcigxKTtcbiAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgIH1cbn1cblxuLmNhcnQtbmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAmX19pbm5lciB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lci1pbm5lci1zdHlsZXM7XG4gICAgfVxuICAgICZfX2xpc3Qge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgICAgICBtYXJnaW46MDtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKDUpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgcGFkZGluZzogJGVsZW0tcGFkO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIEBpbmNsdWRlIHVwcGVyY2FzZS1zcGFjZWQoKTtcbiAgICAgICAgXG4gICAgICAgIC8vIFRoZSBjaGV2cm9uIHNoYXBlOiBwb2ludCBvdXQgb24gdGhlIHJpZ2h0LCBub3RjaCBpbiBvbiB0aGUgbGVmdFxuICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oXG4gICAgICAgICAgICAwJSAwJSxcbiAgICAgICAgICAgIGNhbGMoMTAwJSAtIDIwcHgpIDAlLFxuICAgICAgICAgICAgMTAwJSA1MCUsXG4gICAgICAgICAgICBjYWxjKDEwMCUgLSAyMHB4KSAxMDAlLFxuICAgICAgICAgICAgMCUgMTAwJSxcbiAgICAgICAgICAgIDIwcHggNTAlXG4gICAgICAgICk7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMXB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMXB4O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcig0KTsgLy8geW91ciBib3JkZXIgY29sb3VyXG4gICAgICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKFxuICAgICAgICAgICAgICAgICAgICAwJSAwJSxcbiAgICAgICAgICAgICAgICAgICAgY2FsYygxMDAlIC0gMjBweCkgMCUsXG4gICAgICAgICAgICAgICAgICAgIDEwMCUgNTAlLFxuICAgICAgICAgICAgICAgICAgICBjYWxjKDEwMCUgLSAyMHB4KSAxMDAlLFxuICAgICAgICAgICAgICAgICAgICAwJSAxMDAlLFxuICAgICAgICAgICAgICAgICAgICAyMHB4IDUwJVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY2FydC1uYXZfX2l0ZW0tLWFjdGl2ZSArICYge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAvLyBGaXJzdCBpdGVtIGRvZXNuJ3QgbmVlZCB0aGUgbGVmdCBub3RjaFxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbihcbiAgICAgICAgICAgICAgICAwJSAwJSxcbiAgICAgICAgICAgICAgICBjYWxjKDEwMCUgLSAyMHB4KSAwJSxcbiAgICAgICAgICAgICAgICAxMDAlIDUwJSxcbiAgICAgICAgICAgICAgICBjYWxjKDEwMCUgLSAyMHB4KSAxMDAlLFxuICAgICAgICAgICAgICAgIDAlIDEwMCVcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBMYXN0IGl0ZW0gZG9lc24ndCBuZWVkIHRoZSByaWdodCBwb2ludFxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKFxuICAgICAgICAgICAgICAgIDAlIDAlLFxuICAgICAgICAgICAgICAgIDEwMCUgMCUsXG4gICAgICAgICAgICAgICAgMTAwJSAxMDAlLFxuICAgICAgICAgICAgICAgIDAlIDEwMCUsXG4gICAgICAgICAgICAgICAgMjBweCA1MCVcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQdWxsIGl0ZW1zIHRvZ2V0aGVyIHNvIHRoZSBub3RjaC9wb2ludCBvdmVybGFwIHNsaWdodGx5IChvcHRpb25hbCwgYXZvaWRzIGdhcHMpXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKDEpO1xuICAgICAgICB9XG4gICAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgICAgIGNvbG9yOiNmZmZmZmY7XG4gICAgICAgICAgICB6LWluZGV4OiAyOyAvLyBzaXRzIG9uIHRvcCBzbyBpdHMgcG9pbnQgb3ZlcmxhcHMgdGhlIG5leHQgaXRlbSdzIG5vdGNoIGNsZWFubHlcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiNmZmZmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4uY2FydC1vbGQge1xuICAgICZfX2hlYWQge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgICBkaXNwbGF5OmdyaWQ7XG4gICAgICAgIH1cbiAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19pdGVtcyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgICAgICBib3JkZXItc3BhY2luZzogMCAxcmVtO1xuICAgICAgICB0YWJsZS1sYXlvdXQ6IGF1dG87XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRlbGVtLXBhZDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcig1KTtcbiAgICAgICAgfVxuICAgICAgICAmLWNhdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtMigxNHB4KTsgLy9BZGp1c3RlZFxuICAgICAgICB9XG4gICAgICAgIC5jYXJ0X19pdGVtLXRpdGxlIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAkZWxlbS1wYWQteHhzbSAwO1xuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbS1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiA3cmVtO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0tZGV0YWlscyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICZfX2l0ZW0tcHJpY2UsXG4gICAgJl9faXRlbS1zdWJ0b3RhbCB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgJl9faXRlbS1xdWFudGl0eSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgJi13cmFwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5idG4ge1xuICAgICYtLXJlbW92ZSB7XG4gICAgICAgIC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgLy8gbWFyZ2luLXRvcDogMC43NXJlbTtcbiAgICAgICAgLy8gcGFkZGluZzogMDtcbiAgICAgICAgLy8gYm9yZGVyOiAwO1xuICAgICAgICAvLyBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAvLyBjb2xvcjogI2MwMzkyYjtcbiAgICAgICAgLy8gZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgLy8gY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIC8vICY6aG92ZXIge1xuICAgICAgICAvLyAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIC8vIH1cbiAgICB9XG59XG5cbi8vIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsLCBtYXgpIHtcbi8vICAgICAuY2FydCB7XG4vLyAgICAgICAgICZfX2l0ZW1zLFxuLy8gICAgICAgICAmX19pdGVtcyB0Ym9keSxcbi8vICAgICAgICAgJl9faXRlbXMgdHIsXG4vLyAgICAgICAgICZfX2l0ZW1zIHRkIHtcbi8vICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8gICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4vLyAgICAgICAgIH1cblxuLy8gICAgICAgICAmX19pdGVtcyB7XG4vLyAgICAgICAgICAgICBib3JkZXItc3BhY2luZzogMDtcbi8vICAgICAgICAgfVxuXG4vLyAgICAgICAgICZfX2l0ZW0ge1xuLy8gICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuLy8gICAgICAgICAgICAgdGQge1xuLy8gICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbi8vICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4vLyAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZThlOGU4O1xuLy8gICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlOGU4ZTg7XG4vLyAgICAgICAgICAgICB9XG5cbi8vICAgICAgICAgICAgIHRkOmZpcnN0LWNoaWxkIHtcbi8vICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U4ZThlODtcbi8vICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxcmVtO1xuLy8gICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxcmVtO1xuLy8gICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4vLyAgICAgICAgICAgICB9XG5cbi8vICAgICAgICAgICAgIHRkOmxhc3QtY2hpbGQge1xuLy8gICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlOGU4O1xuLy8gICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuLy8gICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxcmVtO1xuLy8gICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDFyZW07XG4vLyAgICAgICAgICAgICB9XG4vLyAgICAgICAgIH1cblxuLy8gICAgICAgICAmX19pdGVtLWltYWdlIHtcbi8vICAgICAgICAgICAgIGltZyB7XG4vLyAgICAgICAgICAgICAgICAgd2lkdGg6IDZyZW07XG4vLyAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2cmVtO1xuLy8gICAgICAgICAgICAgfVxuLy8gICAgICAgICB9XG5cbi8vICAgICAgICAgJl9faXRlbS1wcmljZSxcbi8vICAgICAgICAgJl9faXRlbS1xdWFudGl0eSxcbi8vICAgICAgICAgJl9faXRlbS1zdWJ0b3RhbCB7XG4vLyAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4vLyAgICAgICAgIH1cbi8vICAgICB9XG4vLyB9XG5cblxuXG4uY2FydF9fc3VtbWFyeXtcbiAgICBtYXgtd2lkdGg6IHJlbTIoMzUwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgICYtd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdhcDogJGVsZW0tcGFkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IC8vQWRqdXN0ZWRcbiAgICAgICAgbWFyZ2luLXRvcDogJGVsZW0tcGFkLWxyZztcbiAgICB9XG4gICAgJi10YWJsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAudmFsdWUge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICB0aCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi1idG5zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cbiAgICAmLXRvdGFsLXRleHQge1xuICAgICAgICBwYWRkaW5nLXRvcDogJGVsZW0tcGFkLXNtO1xuICAgICAgICBmb250LXNpemU6IHJlbTIoMjBweCk7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdGQge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRlbGVtLXBhZC1zbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cblxuLyo9PT09PWNhcnQgZHJhd2VyPT09PT0qL1xuYm9keS5jYXJ0LWRyYXdlci1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmNhcnQtZHJhd2VyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgaW5zZXQ6IDA7XG4gICAgei1pbmRleDogJHotaW5kZXgtLW9udG9wO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICZfX2hlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIHVwcGVyY2FzZS1zcGFjZWQoKTtcbiAgICB9XG4gICAgJl9fb3ZlcmxheSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgIH1cblxuICAgICZfX3BhbmVsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB3aWR0aDogbWluKDQyMHB4LCA5MHZ3KTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgIGJveC1zaGFkb3c6IC04cHggMCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBwYWRkaW5nOiAkZWxlbS1wYWQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBzZXRjb2xvcig0KTtcbiAgICB9XG4gICAgLy8gICAmX190aXRsZSB7XG4gICAgLy8gICAgIG1hcmdpbjogMDtcbiAgICAvLyAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIC8vICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIC8vICAgfVxuXG4gICAgJl9fY2xvc2Uge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuICAgIH1cblxuICAgICZfX2JvZHkge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAkZWxlbS1wYWQ7XG4gICAgfVxuXG4gICAgJl9faXRlbXMge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJl9fZm9vdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHNldGNvbG9yKDQpO1xuICAgICAgICBwYWRkaW5nOiAkZWxlbS1wYWQ7XG4gICAgfVxuXG4gICAgJl9fc3VtbWFyeSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIH1cblxuXG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcblxuICAgICAgICAuY2FydC1kcmF3ZXJfX292ZXJsYXkge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcnQtZHJhd2VyX19wYW5lbCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLmNhcnQtaXRlbS1vbGQge1xuLy8gICAgIGRpc3BsYXk6IGdyaWQ7XG4vLyAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZW0yKDY1cHgpIDFmcjsgLy9BZGp1c3RlZFxuLy8gICAgIGdhcDogMXJlbTtcbi8vICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbi8vICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuLy8gICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBzZXRjb2xvcig0KTtcbi8vICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbi8vICAgICAmX19tZXRhIHtcbi8vICAgICAgICAgbWFyZ2luOjA7XG4vLyAgICAgfVxuLy8gICAgICY6bGFzdC1jaGlsZCB7XG4vLyAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4vLyAgICAgfVxuXG4vLyAgICAgJl9faW1hZ2Uge1xuLy8gICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuLy8gICAgICAgICBpbWcge1xuLy8gICAgICAgICBkaXNwbGF5OiBibG9jaztcbi8vICAgICAgICAgd2lkdGg6IDEwMCU7XG4vLyAgICAgICAgIGhlaWdodDogYXV0bztcbi8vICAgICAgICAgfVxuLy8gICAgIH1cblxuLy8gICAgICZfX2NvbnRlbnQge1xuLy8gICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0yKDE2cHgpOyAvL0FkanVzdGVkXG4vLyAgICAgfVxuXG5cbi8vICAgICAmX190aXRsZSB7XG4vLyAgICAgICAgIG1hcmdpbjogMDtcbi8vICAgICAgICAgZm9udC1zaXplOiByZW0yKDE4cHgpO1xuLy8gICAgICAgICBAaW5jbHVkZSB1cHBlcmNhc2Utc3BhY2VkKCk7XG4vLyAgICAgICAgIGEge1xuLy8gICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKDEpO1xuLy8gICAgICAgICAgICAgJjpob3ZlciB7XG4vLyAgICAgICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuLy8gICAgICAgICAgICAgfVxuLy8gICAgICAgICB9XG4vLyAgICAgfVxuXG4vLyAgICAgJl9fZm9vdGVyIHtcbi8vICAgICAgICAgZGlzcGxheTogZmxleDtcbi8vICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuLy8gICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuLy8gICAgICAgICBnYXA6IDFyZW07XG4vLyAgICAgICAgIG1hcmdpbi10b3A6IDAuNzVyZW07XG4vLyAgICAgfVxuXG4vLyAgICAgJl9fcXR5IHtcblxuLy8gICAgIH1cblxuXG5cbi8vICAgICAmX19yZW1vdmUge1xuLy8gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgICAgICAgIHRvcDogMDtcbi8vICAgICAgICAgcmlnaHQ6IDA7XG4vLyAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuLy8gICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4vLyAgICAgICAgIHBhZGRpbmc6IDA7XG4vLyAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbi8vICAgICB9XG4vLyB9XG5cblxuLmNhcnQtYXNpZGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKDUpO1xuICAgIHBhZGRpbmc6ICRlbGVtLXBhZDtcbiAgICAmX19pdGVtcyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNmZmZmZmY7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiRlbGVtLXBhZC1zbTtcbiAgICAgICAgbWFyZ2luOjAgMCAkZWxlbS1wYWQtc20gMDtcbiAgICB9XG4gICAgJl9faXRlbSB7XG4gICAgICAgIHBhZGRpbmc6ICRlbGVtLXBhZC14eHNtIDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTs7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgICYtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0yKDE4cHgpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkbHMtYm9keTtcbiAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuICAgICAgICB9XG4gICAgICAgICYtdG9wIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBnYXA6ICRlbGVtLXBhZC14c207XG4gICAgICAgIH1cbiAgICAgICAgJi1wcmljZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG4gICAgfVxufVxuLmNhcnRfX2VkaXQtY2FydCB7XG4gZGlzcGxheTogYmxvY2s7XG4gdGV4dC1hbGlnbjogcmlnaHQ7XG59ICAgXG5cblxuXG4vKj09PT09PT09PT1cbkNBUlQgU1VNTUVSWVxuPT09PT09PT09PSovXG5cbi5zdW1tYXJ5IHtcbiAgICAmLWFkZHJlc3Mge1xuICAgICAgICAmX19pY29uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogJGVsZW0tcGFkLXNtO1xuICAgICAgICAgICAgcmlnaHQ6ICRlbGVtLXBhZC1zbTtcbiAgICAgICAgfVxuICAgICAgICAmX190eXBlIHtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkbHMtYm9keTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICB9XG4gICAgICAgICZfX3dyYXAge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZWxlbS1wYWQ7XG4gICAgICAgIH1cbiAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZWxlbS1wYWQtc207XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcig1KTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG4vKj09PT09Y2FydCBkcmF3ZXI9PT09PSovXG5ib2R5LmNhcnQtZHJhd2VyLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4uY2FydC1kcmF3ZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBpbnNldDogMDtcbiAgICB6LWluZGV4OiAkei1pbmRleC0tb250b3A7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgdXBwZXJjYXNlLXNwYWNlZCgpO1xuICAgIH1cbiAgICAmX19vdmVybGF5IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gICAgfVxuXG4gICAgJl9fcGFuZWwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiBtaW4oNDIwcHgsIDkwdncpO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgYm94LXNoYWRvdzogLThweCAwIDI0cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAmX19oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHBhZGRpbmc6ICRlbGVtLXBhZDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHNldGNvbG9yKDQpO1xuICAgIH1cbiAgICAvLyAgICZfX3RpdGxlIHtcbiAgICAvLyAgICAgbWFyZ2luOiAwO1xuICAgIC8vICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgLy8gICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgLy8gICB9XG5cbiAgICAmX19jbG9zZSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IoMik7XG4gICAgfVxuXG4gICAgJl9fYm9keSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6ICRlbGVtLXBhZDtcbiAgICB9XG5cbiAgICAmX19pdGVtcyB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmX19mb290ZXIge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgc2V0Y29sb3IoNCk7XG4gICAgICAgIHBhZGRpbmc6ICRlbGVtLXBhZDtcblxuICAgICAgICAuY2FydC1kcmF3ZXItLWVtcHR5ICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N1bW1hcnkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG5cblxuICAgICYuaXMtb3BlbiB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXG4gICAgICAgIC5jYXJ0LWRyYXdlcl9fb3ZlcmxheSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FydC1kcmF3ZXJfX3BhbmVsIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAuY2FydC1pdGVtLW9sZCB7XG4vLyAgICAgZGlzcGxheTogZ3JpZDtcbi8vICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlbTIoNjVweCkgMWZyOyAvL0FkanVzdGVkXG4vLyAgICAgZ2FwOiAxcmVtO1xuLy8gICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuLy8gICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4vLyAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHNldGNvbG9yKDQpO1xuLy8gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuLy8gICAgICZfX21ldGEge1xuLy8gICAgICAgICBtYXJnaW46MDtcbi8vICAgICB9XG4vLyAgICAgJjpsYXN0LWNoaWxkIHtcbi8vICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbi8vICAgICB9XG5cbi8vICAgICAmX19pbWFnZSB7XG4vLyAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4vLyAgICAgICAgIGltZyB7XG4vLyAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8gICAgICAgICB3aWR0aDogMTAwJTtcbi8vICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuLy8gICAgICAgICB9XG4vLyAgICAgfVxuXG4vLyAgICAgJl9fY29udGVudCB7XG4vLyAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbTIoMTZweCk7IC8vQWRqdXN0ZWRcbi8vICAgICB9XG5cblxuLy8gICAgICZfX3RpdGxlIHtcbi8vICAgICAgICAgbWFyZ2luOiAwO1xuLy8gICAgICAgICBmb250LXNpemU6IHJlbTIoMThweCk7XG4vLyAgICAgICAgIEBpbmNsdWRlIHVwcGVyY2FzZS1zcGFjZWQoKTtcbi8vICAgICAgICAgYSB7XG4vLyAgICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMSk7XG4vLyAgICAgICAgICAgICAmOmhvdmVyIHtcbi8vICAgICAgICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMik7XG4vLyAgICAgICAgICAgICB9XG4vLyAgICAgICAgIH1cbi8vICAgICB9XG5cbi8vICAgICAmX19mb290ZXIge1xuLy8gICAgICAgICBkaXNwbGF5OiBmbGV4O1xuLy8gICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4vLyAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4vLyAgICAgICAgIGdhcDogMXJlbTtcbi8vICAgICAgICAgbWFyZ2luLXRvcDogMC43NXJlbTtcbi8vICAgICB9XG5cbi8vICAgICAmX19xdHkge1xuXG4vLyAgICAgfVxuXG5cblxuLy8gICAgICZfX3JlbW92ZSB7XG4vLyAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vICAgICAgICAgdG9wOiAwO1xuLy8gICAgICAgICByaWdodDogMDtcbi8vICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4vLyAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbi8vICAgICAgICAgcGFkZGluZzogMDtcbi8vICAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuLy8gICAgIH1cbi8vIH1cblxuIiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuLmNhcnQtYXNpZGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKDUpO1xuICAgIHBhZGRpbmc6ICRlbGVtLXBhZDtcbiAgICAmX19pdGVtcyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNmZmZmZmY7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiRlbGVtLXBhZC1zbTtcbiAgICAgICAgbWFyZ2luOjAgMCAkZWxlbS1wYWQtc20gMDtcbiAgICB9XG4gICAgJl9faXRlbSB7XG4gICAgICAgIHBhZGRpbmc6ICRlbGVtLXBhZC14eHNtIDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTs7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgICYtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0yKDE4cHgpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkbHMtYm9keTtcbiAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuICAgICAgICB9XG4gICAgICAgICYtdG9wIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBnYXA6ICRlbGVtLXBhZC14c207XG4gICAgICAgIH1cbiAgICAgICAgJi1wcmljZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG4gICAgfVxufVxuLmNhcnRfX2VkaXQtY2FydCB7XG4gZGlzcGxheTogYmxvY2s7XG4gdGV4dC1hbGlnbjogcmlnaHQ7XG59ICAgIiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuXG5cblxuLmFjY291bnQtYWRkcmVzc2VzIHtcbiAgICAmX193cmFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAkZ3V0dGVyO1xuICAgIH1cblxuICAgICZfX2lubmVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICBnYXA6ICRndXR0ZXI7XG4gICAgfVxuXG4gICAgJl9fZmllbGRzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGVsZW0tcGFkO1xuICAgIH1cbiAgICAmX19jb2wge1xuICAgICAgICBcbiAgICB9XG59IiwiLyoqXG4gKiBVc2UgdGhpcyBmaWxlIHRvIGFkZCBpbiB0ZW1wb3Jhcnkgc3R5bGVzLiAgRm9yIGV4YW1wbGUgb3ZlcnJpZGluZyBsZWdhY3kgc3R5bGVzLlxuICogVGhlc2Ugc3R5bGVzIHdpbGwgYmUgYWRkZWQgd2l0aCB0aGUgaW50ZW50aW9uIHRvIHJlbW92ZSB0aGVtICBvbmNlIHRpbWUgdG8gcmVmYWN0b3JcbiAqXG4gKi9cblxuXG4gYm9keSwgaHRtbCB7XG4gICAvLyBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDsgLy9PdmVyd3JpdGUgYm9vdHN0cmFwIHN0eWxlXG4gfSJdfQ== */
