/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
main, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}/*! normalize.css v3.0.2 | MIT License | git.io/normalize */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */



html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Remove default margin.
 */

body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */

/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */

audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */

[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */

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

a {
  background-color: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */

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

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

/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */

abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */

b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */

dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */

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

/**
 * Address styling not present in IE 8/9.
 */

mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */

small {
  font-size: 80%;
}

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

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

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

/**
 * Remove border when inside `a` element in IE 8/9/10.
 */

img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */

svg:not(:root) {
  overflow: hidden;
}

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

/**
 * Address margin not present in IE 8/9 and Safari.
 */

figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */

hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */

pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

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

/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */

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

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */

button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */

button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */

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

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

input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */

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

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */

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

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */

input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  /* 2 */
  box-sizing: content-box;
}

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

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

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */

legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */

textarea {
  overflow: auto;
}

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

optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/**
 *
 * FRNT Reset
 * Normalize v3.0.2 + Custom 
 */

* {
  -webkit-font-smoothing: antialiased;
  box-sizing: border-box;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

body {
  line-height: 1;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

.ir {
  display: block;
  text-indent: -999em;
  overflow: hidden;
  background-repeat: no-repeat;
  text-align: left;
  direction: ltr;
}

.group:before,
.group:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden;
}

.group:after {
  clear: both;
}

.group {
  zoom: 1;
}

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

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

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

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

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

/**
 * Remove the margin in all browsers (opinionated).
 */

body {
  margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */

article,
aside,
footer,
header,
nav,
section {
  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
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */

figcaption,
figure,
main {
  /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */

figure {
  margin: 1em 40px;
}

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

/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */

a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */
}

/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 * 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 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */

b,
strong {
  font-weight: inherit;
}

/**
 * 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 style in Android 4.3-.
 */

dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */

mark {
  background-color: #ff0;
  color: #000;
}

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

/**
 * Add the correct display in IE 9-.
 */

audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

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

img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */

svg:not(:root) {
  overflow: hidden;
}

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

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

button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 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;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */

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

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

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

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

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 and cancel buttons in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-cancel-button,
[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 IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */

details,
menu {
  display: block;
}

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

summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

canvas {
  display: inline-block;
}

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

template {
  display: none;
}

/* Hidden
   ========================================================================== */

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

[hidden] {
  display: none;
}

html {
  box-sizing: border-box;
}

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

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

body {
  line-height: 1.4;
}

figure {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}

mark {
  background: none;
  color: inherit;
}

.grid-1 {
  width: 6%;
}

.grid-1-offset-1 {
  width: 8%;
}

.grid-1-offset-2 {
  width: 3%;
}

.grid-2 {
  width: 14%;
}

.grid-2-offset-1 {
  width: 17%;
}

.grid-2-offset-2 {
  width: 11%;
}

.grid-3 {
  width: 23%;
}

.grid-3-offset-1 {
  width: 25%;
}

.grid-3-offset-2 {
  width: 20%;
}

.grid-4 {
  width: 31%;
}

.grid-4-offset-1 {
  width: 34%;
}

.grid-4-offset-2 {
  width: 28%;
}

.grid-5 {
  width: 40%;
}

.grid-5-offset-1 {
  width: 42%;
}

.grid-5-offset-2 {
  width: 37%;
}

.grid-6 {
  width: 48%;
}

.grid-6-offset-1 {
  width: 51%;
}

.grid-6-offset-2 {
  width: 45%;
}

.grid-7 {
  width: 57%;
}

.grid-7-offset-1 {
  width: 59%;
}

.grid-7-offset-2 {
  width: 54%;
}

.grid-8 {
  width: 65%;
}

.grid-8-offset-1 {
  width: 68%;
}

.grid-8-offset-2 {
  width: 62%;
}

.grid-9 {
  width: 74%;
}

.grid-9-offset-1 {
  width: 76%;
}

.grid-9-offset-2 {
  width: 71%;
}

.grid-10 {
  width: 82%;
}

.grid-10-offset-1 {
  width: 85%;
}

.grid-10-offset-2 {
  width: 79%;
}

.grid-11 {
  width: 91%;
}

.grid-11-offset-1 {
  width: 93%;
}

.grid-11-offset-2 {
  width: 88%;
}

.grid-12 {
  width: 100%;
}

.grid-12-offset-1 {
  width: 102%;
}

.grid-12-offset-2 {
  width: 96%;
}

@media only screen and (min-width: 750px) and (max-width: 1029px) {
  .grid-tablet-1 {
    width: 6%;
  }

  .grid-tablet-2 {
    width: 14%;
  }

  .grid-tablet-3 {
    width: 23%;
  }

  .grid-tablet-4 {
    width: 31%;
  }

  .grid-tablet-5 {
    width: 40%;
  }

  .grid-tablet-6 {
    width: 48%;
  }

  .grid-tablet-7 {
    width: 57%;
  }

  .grid-tablet-8 {
    width: 65%;
  }

  .grid-tablet-9 {
    width: 74%;
  }

  .grid-tablet-10 {
    width: 82%;
  }

  .grid-tablet-11 {
    width: 91%;
  }

  .grid-tablet-12 {
    width: 100%;
  }
}

@media only screen and (max-width: 749px) {
  .grid-mobile-1 {
    width: 6%;
  }

  .grid-mobile-2 {
    width: 14%;
  }

  .grid-mobile-3 {
    width: 23%;
  }

  .grid-mobile-4 {
    width: 31%;
  }

  .grid-mobile-5 {
    width: 40%;
  }

  .grid-mobile-6 {
    width: 48%;
  }

  .grid-mobile-7 {
    width: 57%;
  }

  .grid-mobile-8 {
    width: 65%;
  }

  .grid-mobile-9 {
    width: 74%;
  }

  .grid-mobile-10 {
    width: 82%;
  }

  .grid-mobile-11 {
    width: 91%;
  }

  .grid-mobile-12 {
    width: 100%;
  }
}

::-moz-selection {
  background: #000;
  color: #fff;
}

::selection {
  background: #000;
  color: #fff;
}

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

html {
  font-size: 16px;
}

body {
  background: #fff;
  color: #1f1f1f;
  font-family: "Artifakt Element", "Helvetica", sans-serif;
  font-weight: 400;
  overflow-x: hidden;
}

mark {
  background: none;
}

:focus {
  outline: none;
}

input::-ms-clear {
  display: none;
}

.container,
.card-article.is-featured .card-article__main-image,
.block-topic__main-image {
  margin: 0 auto;
  position: relative;
  max-width: 1230px;
  width: 90%;
}

.boxes {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
}

.site {
  padding-top: 92px;
  width: 100%;
}

@media only screen and (max-width: 769px) {
  .site {
    padding-top: 85px;
  }
}

input[type="text"],
input[type="email"],
input[type="password"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0;
}

.prop-full-width {
  display: block;
  height: auto;
  width: 100%;
}

.prop-hide-overflow {
  overflow: hidden;
}

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

.prop-overlay {
  position: relative;
  z-index: 20;
  background: rgba(0, 0, 0, 0.8);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
}

.prop-image-gradient-darken {
  position: relative;
  z-index: 0;
}

.prop-image-gradient-darken > img {
  position: relative;
  z-index: -1;
}

.prop-image-gradient-darken:before {
  position: relative;
  z-index: 10;
  background: rgba(0, 0, 0, 0.8);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.4));
  content: " ";
}

.prop-image-gradient-darken--light {
  position: relative;
}

.prop-image-gradient-darken--light > img {
  position: relative;
  z-index: -1;
}

.prop-image-gradient-darken--light:before {
  position: relative;
  z-index: 10;
  background: rgba(0, 0, 0, 0.8);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  background: linear-gradient(transparent -10%, rgba(0, 0, 0, 0.14));
  content: " ";
}

.prop-darken-image {
  position: relative;
}

.prop-darken-image:before {
  position: relative;
  z-index: 10;
  background: rgba(0, 0, 0, 0.8);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  background: rgba(0, 0, 0, 0.45);
  content: " ";
}

.fade-in-transition {
  opacity: 1;
  transition: all .4s;
  transform: translateY(0);
  visibility: visible;
}

.fade-in-enter,
.fade-in-leave {
  opacity: 0;
  transform: translateY(50px);
  visibility: hidden;
}

.component-button {
  background: none;
  border: 2px solid #9FA5A9;
  border-radius: 30px;
  color: #9FA5A9;
  display: inline-block;
  font-weight: 600;
  transition: all 0.4s;
}

.component-button:hover {
  background: #9FA5A9;
  color: #fff;
}

.component-button.is-file {
  position: relative;
}

.component-button.is-file input[type="file"] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}

.component-button-menu,
.block-search__close {
  border-color: #9FA5A9;
  display: block;
  width: 36px;
}

.component-button-menu .lines .line,
.block-search__close .lines .line {
  background: #9FA5A9;
  height: 2px;
  transition: background 0.4s;
  position: relative;
}

.component-button-menu .lines .line-2,
.block-search__close .lines .line-2 {
  margin: 8px 0;
}

.component-button-menu:hover,
.block-search__close:hover {
  border-color: #000;
  outline: none;
}

.component-button-menu:hover .line,
.block-search__close:hover .line {
  background: #000;
}

.component-button-blocky {
  background: #9FA5A9;
  display: inline-block;
  font-size: 0.625rem;
  letter-spacing: 0.02em;
  padding: 7.5px 15px;
  text-transform: uppercase;
}

.component-button-close {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  border-radius: 100%;
  border: 2px solid #000;
  height: 36px;
  width: 36px;
  border-color: #9FA5A9;
}

.component-button-close .lines {
  width: 50%;
}

.component-button-close .lines .line {
  background: #9FA5A9;
  height: 2px;
  margin: 4px 0;
  position: relative;
}

.component-button-close .lines .line-1 {
  top: 6px;
  transform: rotate(45deg);
}

.component-button-close .lines .line-2 {
  opacity: 0;
}

.component-button-close .lines .line-3 {
  top: -6px;
  transform: rotate(-45deg);
}

.component-button-search {
  border-color: #9FA5A9;
}

.component-button-search svg {
  display: block;
  height: 20px;
  fill: #1f1f1f;
  width: 20px;
}

.component-button-search:focus,
.component-button-search:hover {
  border-color: #000;
  outline: none;
}

.component-button-search:focus svg,
.component-button-search:hover svg {
  fill: #000;
}

.component-button-social {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  border-radius: 100%;
  border: 2px solid #000;
  height: 32px;
  width: 32px;
  border-color: #fff;
  transition: all 0.4s;
}

@media only screen and (max-width: 769px) {
  .component-button-social {
    height: 58px;
    width: 58px;
  }
}

@media only screen and (max-width: 749px) {
  .component-button-social {
    height: 40px;
    width: 40px;
  }
}

.component-button-social svg {
  position: relative;
  z-index: 10;
  display: block;
  fill: #fff;
  height: auto;
  transition: all 0.4s;
}

.component-button-social.is-facebook svg {
  height: 10px;
  width: 6px;
  top: 0px;
}

@media only screen and (max-width: 769px) {
  .component-button-social.is-facebook svg {
    height: auto;
    width: 9px;
  }
}

.component-button-social.is-twitter svg {
  height: 8px;
  width: 10px;
}

@media only screen and (max-width: 769px) {
  .component-button-social.is-twitter svg {
    height: auto;
    width: 15px;
  }
}

.component-button-social.is-google svg {
  height: 10px;
  width: 10px;
}

@media only screen and (max-width: 769px) {
  .component-button-social.is-google svg {
    height: auto;
    width: 15px;
  }
}

.component-button-social.is-linkedin svg {
  height: auto;
  width: 8px;
}

@media only screen and (max-width: 769px) {
  .component-button-social.is-linkedin svg {
    height: auto;
    width: 15px;
  }
}

.component-button-social.is-instagram svg {
  height: 12px;
  width: 12px;
}

@media only screen and (max-width: 769px) {
  .component-button-social.is-instagram svg {
    height: auto;
    width: 15px;
  }
}

.component-button-social.is-rss svg {
  display: block;
  height: 8px;
  width: 7px;
  position: relative;
}

.component-button-pager {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  border-radius: 100%;
  border: 2px solid #000;
  height: 35px;
  width: 35px;
  background: #fff;
  border-color: #9FA5A9;
  border-width: 2px;
  margin: 0 7.5px 0 0;
  transition: background 0.4s;
  overflow: hidden;
}

.component-button-pager svg {
  display: block;
  fill: #9FA5A9;
  position: relative;
  width: 8px;
}

.component-button-pager.is-left svg {
  right: 1px;
}

.component-button-pager.is-left:hover svg {
  animation: pager 0.5s reverse;
}

.component-button-pager.is-right svg {
  left: 1px;
}

.component-button-pager.is-right:hover svg {
  animation: pager 0.5s;
}

.component-button-pager.is-inactive {
  opacity: 0.1;
}

.component-button-more {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  line-height: 0;
  margin-bottom: 30px;
}

.component-button-more svg {
  display: block;
  fill: #DD2222;
  height: 30px;
  margin-left: 15px;
  transform: rotate(90deg);
  width: 30px;
}

.component-button-more > span {
  color: #DD2222;
  display: block;
  font-size: 30px;
}

.component-button-more.has-topstroke {
  border-top: 1px solid #9FA5A9;
  padding-top: 30px !important;
}

.component-button-newsletter {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  color: #1f1f1f;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.component-button-newsletter svg {
  display: block;
  height: auto;
  margin-right: 5px;
  width: 21px;
  fill: #1f1f1f;
}

@media only screen and (max-width: 1199px) {
  .component-button-newsletter svg {
    margin-right: 0;
  }
}

.component-button-newsletter-inline {
  border: 2px solid;
  border-width: 2px 0;
  -o-border-image: linear-gradient(to right, #dd2222 0%, #2c388f 100%);
     border-image: linear-gradient(to right, #dd2222 0%, #2c388f 100%);
  border-image-slice: 1;
  margin: 30px 0;
}

@media only screen and (min-width: 750px) {
  .component-button-newsletter-inline {
    display: none;
  }
}

.component-button-newsletter-inline a {
  display: block;
  font-size: 1rem;
  font-weight: 400;
  padding: 15px 0;
  text-align: left;
}

.component-button-recommended-inline {
  border: 2px solid #2c383c;
  border-width: 2px 0;
  border-image-slice: 1;
  margin: 30px 0;
}

.component-button-recommended-inline a {
  color: #1f1f1f;
  display: block;
  font-size: 24px;
  font-weight: 600;
  padding: 30px 0;
  text-align: center;
}

@keyframes pager {
  0% {
    transform: translateX(0);
  }

  49% {
    transform: translateX(250%);
  }

  50% {
    transform: translateX(-250%);
  }

  0% {
    transform: translateX(0);
  }
}

.component-gradient-button {
  background-image: linear-gradient(to right, #d22, #2b388f) !important;
  color: #fff !important;
  display: block;
  padding: 14px;
  font-size: 16px;
  margin: 30px auto 0;
  max-width: 250px;
  text-align: center;
  width: 100%;
}

.download-button {
  text-align: center;
  background-color: #fff !important;
  border: 0;
  box-shadow: none;
  display: block;
  padding: 15px 25px;
  background-image: linear-gradient(to right, #d22, #2b388f) !important;
  color: #fff !important;
  font-size: 16px;
  margin: 0 auto;
}

.download-button a {
  color: #fff !important;
  text-shadow: none !important;
  text-decoration: none !important;
  background-image: none !important;
}

.component-heading {
  color: #1f1f1f;
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 40px;
  margin-bottom: 30px;
}

@media only screen and (max-width: 769px) {
  .component-heading {
    font-size: 24px;
  }
}

.component-heading svg {
  fill: #1f1f1f;
  display: inline-block;
  height: 30px;
  width: 30px;
  margin-left: 7.5px;
  margin-top: 2px;
}

@media only screen and (max-width: 769px) {
  .component-heading svg {
    height: 22px;
    width: 22px;
  }
}

.component-heading.has-topstroke {
  border-top: 1px solid #9FA5A9;
  padding-top: 30px !important;
}

.component-heading.show-mobile {
  display: none;
}

@media only screen and (max-width: 769px) {
  .component-heading.show-mobile {
    display: block;
  }
}

.is-dark .component-heading {
  color: #fff;
}

.component-gallery {
  position: relative;
  z-index: 10;
  background: #f5f5f5;
}

@media only screen and (max-width: 1029px) {
  .component-gallery {
    background: #fff;
  }
}

.component-gallery .wp-caption {
  height: 100%;
}

.component-gallery .wp-caption-text {
  transform: translateY(0) !important;
}

@media only screen and (min-width: 1030px) {
  .component-gallery .wp-caption-text {
    padding-bottom: 0 !important;
  }
}

.component-gallery .wp-caption-text p {
  font-size: 0.875rem !important;
  transition: height .4s;
  overflow: hidden;
  height: 0;
}

@media only screen and (max-width: 1029px) {
  .component-gallery .wp-caption-text p {
    height: auto;
  }
}

.component-gallery .slick-dots {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  list-style: none;
  margin: 0 0 5px 0;
}

.component-gallery .slick-dots li {
  margin: 0 4px !important;
}

.component-gallery .slick-dots li.slick-active button {
  background: none;
}

.component-gallery .slick-dots button {
  background: #1f1f1f;
  border: 1px solid #1f1f1f;
  border-radius: 100%;
  height: 10px;
  margin: 0;
  padding: 0;
  text-indent: -999999px;
  width: 10px;
}

.component-gallery .component-button-pager {
  background: none;
  border-color: #fff;
}

.component-gallery .component-button-pager svg {
  fill: #fff;
}

.component-gallery .component-button-pager:hover {
  background: rgba(0, 0, 0, 0.8);
}

.component-gallery .component-gallery__numbers {
  position: relative;
  z-index: 10;
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
  margin: 0 0 0 7px;
  padding: 1px 0 0 40px;
}

.component-gallery .component-gallery__numbers > .line {
  background: #000;
  height: 2px;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translate3d(0, -50%, 0);
  width: 25px;
}

@media only screen and (min-width: 1030px) {
  .component-gallery:hover .wp-caption-text p {
    height: 75px;
  }
}

.component-gallery.is-ebook .component-gallery__nav {
  padding: 15px;
}

.component-gallery.is-ebook .component-button-pager {
  border-color: #000;
}

.component-gallery.is-ebook .component-button-pager svg {
  fill: #000;
}

.component-gallery.is-ebook .component-button-pager:hover {
  background: rgba(255, 255, 255, 0.8);
}

.component-gallery__nav {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: row;
      flex-direction: row;
  position: relative;
  z-index: 50;
  margin-bottom: 30px;
}

@media only screen and (max-width: 1029px) {
  .component-gallery__nav {
    display: none;
  }
}

.component-gallery__nav a {
  background-image: none !important;
  text-shadow: none !important;
}

.view-single-post .content .component-gallery .wp-caption {
  margin: 0;
}

.component-magazine-rack {
  background-color: #f5f5f5;
  margin-bottom: 60px;
  padding: 60px 0;
}

@media only screen and (max-width: 829px) {
  .component-magazine-rack {
    border-top: 4px solid #2c383c;
  }
}

.component-magazine-rack .boxes {
  -ms-flex-align: start;
      align-items: flex-start;
}

.component-magazine-rack .boxing {
  -ms-flex-align: start;
      align-items: flex-start;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
}

.component-magazine-rack .boxing figure {
  margin-top: 25px;
}

.component-magazine-rack .component-heading {
  text-transform: capitalize;
}

@media only screen and (max-width: 829px) {
  .component-magazine-rack {
    padding: 30px 0 0;
  }

  .component-magazine-rack > .container,
  .card-article.is-featured .component-magazine-rack > .card-article__main-image,
  .component-magazine-rack > .block-topic__main-image {
    width: 100%;
  }

  .component-magazine-rack .component-heading {
    padding: 0 30px;
  }
}

.component-magazine-rack.is-last {
  margin-bottom: 0;
}

.component-menu {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
}

.component-menu > li {
  margin: 0 15px;
  position: relative;
}

.component-menu > li .action-toggle-submenu {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
}

.component-menu > li .action-toggle-submenu .icon-chevron-down {
  background-image: url(../fonts/chevron-down.svg?e62234319323c0c1adbcfb907c6f0636);
  background-repeat: no-repeat;
  background-position: center center;
  display: block;
  height: 10px;
  margin-left: 5px;
  width: 10px;
}

.tag .component-menu .is-active a:not(.action-toggle-submenu),
.category .component-menu .is-active a:not(.action-toggle-submenu) {
  border-bottom: 2px solid red;
  padding-bottom: 2px;
}

.component-newsletter-policy {
  color: #fff;
  font-size: 12px;
  line-height: 1.7;
}

.component-newsletter-policy a {
  border-bottom: 1px solid #fff;
}

.component-newsletter-policy a:hover {
  color: #fff;
}

.block-newsletter-overlay .component-newsletter-policy,
.block-newsletter-sidebar .component-newsletter-policy {
  color: #000;
}

.block-newsletter-overlay .component-newsletter-policy a,
.block-newsletter-sidebar .component-newsletter-policy a {
  border-bottom: 1px solid #000;
}

.block-newsletter-overlay .component-newsletter-policy a:hover,
.block-newsletter-sidebar .component-newsletter-policy a:hover {
  color: #000;
}

.component-recommended-inline {
  border-bottom: 1px solid #000;
  border-top: 1px solid #000;
  font-size: 30px;
  font-weight: 500;
  margin-bottom: 18.75px;
  padding: 37.5px 0;
}

@media only screen and (min-width: 770px) {
  .component-recommended-inline {
    text-align: center;
  }
}

@media only screen and (max-width: 769px) {
  .component-recommended-inline {
    font-size: 18px;
    padding: 18.75px 0;
  }
}

.component-recommended-inline a {
  color: #DD2222;
}

@media only screen and (max-width: 769px) {
  .component-recommended-inline span {
    text-transform: uppercase;
  }
}

.component-share a {
  display: block;
}

.component-share a:not(:last-child) {
  margin-bottom: 11.25px;
}

@media only screen and (min-width: 770px) {
  .component-share a.show-mobile {
    display: none;
  }
}

.component-share svg {
  fill: #000;
  height: 30px;
  width: 30px;
}

.is-dark .component-share svg {
  fill: #fff;
}

body[data-blogid="8"] .component-share__facebook,
body[data-blogid="8"] .component-share__google,
body[data-blogid="8"] .component-share__twitter {
  display: none;
}

.component-social {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: row;
      flex-direction: row;
}

.component-social a:not(:last-child) {
  margin-right: 10px;
}

@media only screen and (min-width: 830px) {
  .component-social a:not(:last-child) {
    margin-right: 18.75px;
  }
}

.component-social svg {
  display: block;
  height: auto;
  fill: #000;
  height: 30px;
  width: 30px;
}

@media only screen and (min-width: 770px) {
  .component-sticky {
    position: fixed;
    z-index: 1;
  }
}

.component-submenu {
  display: -ms-flexbox;
  display: flex;
  position: fixed;
  left: 0;
  top: 92px;
  background-color: white;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  background-color: #f5f5f5;
  border-bottom: 1px solid #9FA5A9;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 45px;
  padding: 15px 0;
  text-align: center;
  text-transform: uppercase;
  width: 100%;
  border-top: 1px solid transparent;
  height: 0px;
  opacity: 0;
  overflow: hidden;
  padding: 0;
  transition: all .3s;
}

.component-submenu > li {
  margin: 0 15px;
}

.is-dark .component-submenu {
  background: #2c383c;
}

.is-dark .component-submenu a {
  color: #fff;
}

.component-switcher {
  position: relative;
  z-index: 90;
  background: rgba(255, 255, 255, 0.7);
  color: #1f1f1f;
  height: 100%;
  left: 0;
  margin: 0;
  opacity: 0;
  position: fixed;
  text-transform: none;
  top: 0;
  transition: all .3s;
  visibility: hidden;
  width: 100%;
}

@media only screen and (max-width: 769px) {
  .component-switcher {
    background-color: transparent;
  }
}

.component-switcher__current {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
}

.component-switcher__current .icon-chevron-down {
  background-image: url(../fonts/chevron-down-white.svg?2645aade5a27736a7c7cff6f601e7e80);
  background-repeat: no-repeat;
  background-position: center center;
  display: block;
  height: 10px;
  margin-left: 5px;
  width: 10px;
}

.component-switcher__links {
  -ms-flex-align: start;
      align-items: flex-start;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: column;
      flex-direction: column;
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.2);
  background: #fff;
  bottom: 175px;
  left: 50%;
  letter-spacing: 0;
  padding: 25px;
  position: absolute;
  text-align: left;
  width: 370px;
}

@media only screen and (max-width: 769px) {
  .component-switcher__links {
    bottom: auto;
    height: 100vh;
    height: auto;
    left: 100%;
    min-height: 100%;
    top: 0;
    transition: left .5s;
  }
}

@media screen and (max-height: 900px) {
  .component-switcher__links {
    bottom: auto;
    height: 100vh;
    height: auto;
    left: 100%;
    min-height: 100%;
    top: 0;
    transition: left .5s;
  }
}

.component-switcher__links a {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  font-size: 18px;
  width: 100%;
  border-bottom: 1px solid #ddd;
  margin: 0 0 11.25px 0;
  padding: 0 0 11.25px 0;
}

@media only screen and (max-width: 769px) {
  .component-switcher__links a {
    font-size: 16px;
  }
}

@media screen and (max-height: 900px) {
  .component-switcher__links a {
    font-size: 16px;
  }
}

.component-switcher__links h3 {
  font-size: 24px;
  margin-bottom: 8px;
}

.component-switcher__links h4 {
  color: #555;
  font-size: 15px;
  margin-bottom: 37.5px;
}

.component-switcher__links .icon-check {
  background-image: url(../fonts/icon-check_black.svg?e9fa6e92ba956c6d7933afa889803055);
  background-repeat: no-repeat;
  background-position: center center;
  display: block;
  height: 18px;
  margin-left: 5px;
  opacity: 0;
  transition: .3s;
  width: 18px;
}

.component-switcher__link.is-current .icon-check {
  opacity: 1;
}

.component-switcher__link:not(.is-current):hover .icon-check {
  opacity: .2;
}

.card-ad-inline {
  -ms-flex-align: stretch;
      align-items: stretch;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  margin-bottom: 18.75px;
  background-image: none !important;
  text-shadow: none !important;
}

@media screen and (min-width: 601px) {
  .card-ad-inline > .col-1 {
    margin-right: 18.75px;
    max-width: 235px;
  }
}

@media screen and (max-width: 600px) {
  .card-ad-inline > .col-1 {
    margin-bottom: 11.25px;
    width: 100%;
  }
}

.card-ad-inline > .col-2 {
  -ms-flex: 1;
      flex: 1;
}

.is-dark .card-ad-inline .card-ad-inline__action {
  border-color: #fff;
  color: #fff;
}

.card-ad-inline__image {
  display: block;
  height: auto;
  width: 100%;
  width: 100%;
}

@media screen and (min-width: 601px) {
  .card-ad-inline__image {
    border-right: 4px solid #000;
  }
}

@media screen and (max-width: 600px) {
  .card-ad-inline__image {
    border-bottom: 4px solid #000;
  }
}

.card-ad-inline__content {
  font-size: 22px;
}

@media only screen and (min-width: 770px) {
  .card-ad-inline__content {
    margin-bottom: 18.75px;
  }
}

@media only screen and (max-width: 769px) {
  .card-ad-inline__content {
    display: inline;
    font-size: 18px;
  }
}

.card-ad-inline__action {
  border-radius: 0;
  border-width: 1px;
  border-color: #000;
  color: #000;
  font-size: 12px;
  padding: 3px 10px;
  text-transform: uppercase;
}

.card-ad-inline__action:hover {
  background: #000;
}

@media only screen and (max-width: 769px) {
  .card-ad-inline__action {
    display: inline-block;
    color: #DD2222;
    border: none;
    font-size: 18px;
    font-weight: 400;
    padding: 0;
  }
}

@media only screen and (min-width: 770px) and (max-width: 1029px) {
  .card-ad-inline .col-1 {
    margin-right: 0;
  }

  .card-ad-inline .col-1 img {
    max-width: 125px;
  }

  .card-ad-inline .col-2 {
    padding-left: 18.75px;
  }

  .card-ad-inline__content {
    font-size: 16px;
    margin-bottom: 9.375px;
  }
}

.card-ad-sidebar {
  display: block;
}

@media only screen and (min-width: 750px) {
  .card-ad-sidebar {
    margin-top: 7.5px;
    padding-left: 5%;
  }
}

@media only screen and (max-width: 749px) {
  .card-ad-sidebar {
    margin-bottom: 22.5px;
  }
}

@media only screen and (min-width: 750px) {
  .card-ad-sidebar .col-2 {
    padding: 0 18.75px;
  }
}

.card-ad-sidebar__image {
  display: block;
  height: auto;
  width: 100%;
  border-bottom: 4px solid #000;
  margin-bottom: 18.75px;
}

@media only screen and (min-width: 750px) {
  .card-ad-sidebar__content {
    margin-bottom: 18.75px;
  }
}

.card-ad-sidebar__action {
  border-radius: 0;
  border-width: 1px;
  font-size: 12px;
  padding: 3px 10px;
  text-transform: uppercase;
}

@media only screen and (max-width: 749px) {
  .card-ad-sidebar__action {
    color: #DD2222;
    border: none;
    text-transform: capitalize;
    padding: 0;
  }
}

.card-article {
  position: relative;
}

.card-article.is-list figure {
  width: 33%;
}

.card-article.is-list .card-article__header {
  padding-left: 30px;
  width: 66%;
}

@media only screen and (max-width: 769px) {
  .card-article.is-list .card-article__header {
    padding: 0;
    width: 100%;
  }
}

.card-article.is-list .boxing {
  -ms-flex-align: start;
      align-items: flex-start;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: row;
      flex-direction: row;
}

@media only screen and (max-width: 769px) {
  .card-article.is-list .boxing {
    -ms-flex-direction: column;
        flex-direction: column;
    padding: 0 30px 12px 30px;
  }
}

.card-article.is-list .card-article__main-image {
  margin: 0;
}

@media only screen and (max-width: 769px) {
  .card-article.is-list .card-article__main-image {
    width: 100%;
  }
}

.card-article.is-list .card-article__title {
  font-size: 25px;
  line-height: 1.2em;
}

.card-article.is-list .card-article__author {
  color: #2c383c;
  font-size: 13px;
}

.card-article.is-list .card-article__topic {
  display: none;
}

@media only screen and (max-width: 769px) {
  .card-article.is-list {
    border-top: 1px solid #9FA5A9;
    margin-top: 30px;
    padding-top: 30px;
    margin-bottom: 0;
    margin-top: 15px;
  }

  .card-article.is-list:last-child {
    padding-bottom: 30px;
  }

  .card-article.is-list:last-child {
    padding-bottom: 10px;
  }
}

@media only screen and (max-width: 749px) {
  .card-article.is-large {
    padding: 0;
  }
}

.card-article.is-large .boxed {
  background: #fafafa;
}

@media only screen and (max-width: 769px) {
  .card-article.is-large .boxed {
    background: #fff;
  }
}

.card-article.is-large .card-article__title {
  font-size: 2.5rem;
  line-height: 1.2;
  font-size: 40px;
}

@media only screen and (min-width: 750px) and (max-width: 769px) {
  .card-article.is-large .card-article__title {
    font-size: 2rem;
  }
}

@media only screen and (max-width: 749px) {
  .card-article.is-large .card-article__title {
    font-size: 1.375rem;
  }
}

.card-article.is-large .card-article__author {
  font-size: 13px;
}

.card-article.is-large .card-article__topic {
  display: none;
}

.card-article.is-small .card-article__header {
  padding: 0;
}

.card-article.is-small .card-article__main-image {
  margin-bottom: 15px;
}

@media only screen and (min-width: 770px) {
  .card-article.is-small .boxed {
    position: relative;
  }

  .card-article.is-small .card-article__title {
    font-size: 18px;
  }
}

@media only screen and (max-width: 769px) {
  .card-article.is-small .card-article__header {
    position: relative;
    z-index: 10;
    margin: 0;
    max-width: 735px;
    padding-bottom: 30px;
  }

  .card-article.is-small .boxed {
    background: #fff;
  }

  .card-article.is-small .card-article__title {
    font-size: 2.5rem;
    line-height: 1.2;
  }
}

.card-article.is-small .card-article__topic {
  display: none;
}

.card-article.is-small .card-article__title {
  cursor: pointer;
}

@media only screen and (min-width: 770px) {
  .card-article.is-featured {
    background: url(../images/pattern.png?9fd26a76d24e7c15c6bded94c10382f4) center center;
    background-size: 100px;
  }
}

@media only screen and (max-width: 769px) {
  .card-article.is-featured {
    border-top: 1px solid #9FA5A9;
    margin-top: 30px;
    padding-top: 30px;
    padding: 30px 30px 0;
  }

  .card-article.is-featured:last-child {
    padding-bottom: 30px;
  }

  .card-article.is-featured:nth-child(1) {
    border-width: 0;
    padding: 0;
    margin-top: 0;
  }

  .card-article.is-featured:nth-child(1) header {
    padding: 15px 30px 0;
  }

  .card-article.is-featured:nth-child(1) .card-article__title {
    margin-top: 5px;
    line-height: 1.1;
  }
}

.card-article.is-featured .card-article__header {
  background-color: #fff;
  text-align: center;
  width: 100%;
  margin-top: -6px;
  padding-bottom: 30px;
}

@media only screen and (max-width: 769px) {
  .card-article.is-featured .card-article__header {
    text-align: left;
    padding-bottom: 0;
  }
}

.card-article.is-featured .card-article__title {
  font-size: 40px;
  max-width: 1230px;
  margin: 0 auto;
  padding: 15px 90px;
}

@media only screen and (max-width: 769px) {
  .card-article.is-featured .card-article__title {
    margin: 0;
    padding: 0;
  }
}

@media only screen and (max-width: 599px) {
  .card-article.is-featured .card-article__title {
    font-size: 25px;
  }
}

.card-article.is-featured .card-article__author {
  width: 675px;
  display: block;
  margin: 0 auto;
  border-bottom: 1px solid #9FA5A9;
  padding-bottom: 45px;
}

@media only screen and (max-width: 769px) {
  .card-article.is-featured .card-article__author {
    display: none;
  }
}

.card-article.is-featured .card-article__topic a {
  font-size: 13px;
}

.card-article.is-aside,
.card-article.is-on-the-rack {
  width: 31%;
}

.card-article.is-aside .card-article__header,
.card-article.is-on-the-rack .card-article__header {
  border-radius: 100%;
  -ms-flex: 3;
      flex: 3;
  padding-left: 22.5px;
  width: 100%;
}

@media only screen and (min-width: 830px) and (max-width: 1199px) {
  .card-article.is-aside .card-article__header,
  .card-article.is-on-the-rack .card-article__header {
    padding-left: 0;
  }
}

.card-article.is-aside .card-article__title,
.card-article.is-on-the-rack .card-article__title {
  font-size: 16px;
}

@media only screen and (max-width: 769px) {
  .card-article.is-aside .card-article__title a,
  .card-article.is-on-the-rack .card-article__title a {
    font-size: 1.3125rem;
  }
}

.card-article.is-aside figure,
.card-article.is-on-the-rack figure {
  background-size: cover;
  background-position: center;
  border-radius: 50%;
  height: 105px;
  overflow: hidden;
  width: 105px;
}

@media only screen and (max-width: 1199px) {
  .card-article.is-aside figure,
  .card-article.is-on-the-rack figure {
    margin: 25px auto 0;
  }
}

.card-article.is-aside img,
.card-article.is-on-the-rack img {
  display: none;
}

@media only screen and (max-width: 829px) {
  .card-article.is-aside,
  .card-article.is-on-the-rack {
    border-top: 1px solid #9FA5A9;
    margin-top: 30px;
    padding: 30px 30px 0;
    width: 100%;
  }

  .card-article.is-aside:first-child,
  .card-article.is-on-the-rack:first-child {
    margin-top: 0;
  }

  .card-article.is-aside .card-article__main-image,
  .card-article.is-on-the-rack .card-article__main-image {
    height: 80px;
    width: 80px;
  }

  .card-article.is-aside .card-article__main-image img,
  .card-article.is-on-the-rack .card-article__main-image img {
    margin-left: -104%;
    width: 300px;
  }
}

@media only screen and (min-width: 830px) and (max-width: 1199px) {
  .card-article.is-aside .boxing,
  .card-article.is-on-the-rack .boxing {
    -ms-flex-direction: column;
        flex-direction: column;
    margin-top: 30px;
    text-align: center;
  }
}

.card-article__main-image {
  position: relative;
  z-index: 10;
  display: block;
}

.card-article__main-image > a {
  display: block;
  overflow: hidden;
}

.card-article__main-image img {
  transform: scale3d(1, 1, 1);
  transition: transform 5s;
  height: auto;
  max-width: 100%;
  width: 100%;
}

.card-article__main-image .autodesk {
  position: relative;
  z-index: 20;
  bottom: 30px;
  right: 30px;
  position: absolute;
}

@media only screen and (max-width: 749px) {
  .card-article__main-image .autodesk {
    display: none;
  }
}

.card-article__main-image .autodesk svg {
  display: block;
  fill: #fff;
  height: auto;
  width: 150px;
}

.card-article__header {
  padding: 15px 0;
}

.card-article__title {
  color: #1f1f1f;
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 18px;
  padding: 7.5px 0;
}

.card-article__topic a {
  color: #9FA5A9;
  font-size: 12px;
  text-transform: uppercase;
}

@media only screen and (min-width: 750px) and (max-width: 769px) {
  .card-article__topic a {
    font-size: 18px;
  }
}

@media only screen and (max-width: 769px) {
  .card-article__topic a {
    font-size: 15px;
  }
}

.card-article__author {
  color: #2c383c;
  font-size: 12px;
  text-transform: uppercase;
}

@media only screen and (min-width: 750px) and (max-width: 769px) {
  .card-article__author {
    font-size: 18px;
  }
}

@media only screen and (max-width: 769px) {
  .card-article__author {
    font-size: 15px;
  }
}

.card-article__description {
  display: none;
}

@media only screen and (min-width: 770px) {
  .card-article__description {
    display: block;
    margin-top: 15px;
  }
}

/* ================================== 
**** Video Card specific styles *****
===================================== */

.card-article--video {
  background-repeat: no-repeat;
  background-size: cover;
}

.card-article--video .card-article__thumbnail-navitem {
  cursor: pointer;
}

.card-article__main-video {
  background-color: #fff;
  background-image: url(../images/loading_spinner_black.gif?78a89c7221ae5de2c1f4c85809f17b54);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 90px 90px;
}

.card-article__main-video.loading--start iframe {
  opacity: 0;
  transition: opacity 0s;
}

.card-article__main-video.loading--end iframe {
  opacity: 1;
  transition: opacity .9s;
}

.card-article__scrolling-nav {
  max-height: 610px;
}

@media only screen and (min-width: 770px) {
  .card-article__scrolling-nav {
    overflow-y: scroll;
  }
}

@media only screen and (max-width: 769px) {
  .card-article__scrolling-nav {
    display: -ms-flexbox;
    display: flex;
    margin-top: 15px;
    max-height: 200px;
    min-width: 100%;
    overflow-x: auto;
  }
}

.active .card-article__thumbnail-navitem a:after {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  color: #fff;
  content: "Now Playing";
  font-size: 24px;
  height: 100%;
  position: absolute;
  top: 0;
  width: 100%;
}

.card-article__thumbnail-navitem a {
  background-color: #000;
  display: block;
  position: relative;
}

.card-article__thumbnail-navitem img.wp-post-image {
  opacity: 1;
  transition: .3s;
  width: 100%;
}

.active .card-article__thumbnail-navitem img.wp-post-image {
  opacity: 0;
}

.card-article__play-btn {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  background-color: #fff;
  bottom: 0;
  height: 50px;
  left: 0;
  padding: 14px;
  position: absolute;
  width: 50px;
}

.card-article-feature {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  padding: 40px 0 45px;
}

@media only screen and (max-width: 749px) {
  .card-article-feature {
    padding: 0;
  }
}

.card-article-feature > .box-1 {
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  width: 65%;
}

@media only screen and (max-width: 749px) {
  .card-article-feature > .box-1 {
    width: 100%;
  }
}

.card-article-feature > .box-1 img {
  height: auto;
  height: auto;
  max-width: 100%;
  margin-top: 7px;
  width: 100%;
}

@media only screen and (max-width: 979px) {
  .card-article-feature > .box-1 img {
    margin-top: 4px;
  }
}

@media only screen and (max-width: 749px) {
  .card-article-feature > .box-1 img {
    margin-top: 0;
  }
}

.card-article-feature > .box-2 {
  width: 31%;
}

@media only screen and (max-width: 749px) {
  .card-article-feature > .box-2 {
    padding: 37.5px 37.5px;
    width: 100%;
  }
}

.card-article-feature__topic {
  color: #9FA5A9;
  font-size: 13px;
  text-transform: uppercase;
}

.card-article-feature__follow {
  margin-top: 75px;
}

.card-article-feature__title {
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 36px;
  line-height: 1.2em;
  margin-bottom: 7.5px;
}

@media only screen and (max-width: 1399px) {
  .card-article-feature__title {
    font-size: 28px;
  }
}

@media only screen and (max-width: 979px) {
  .card-article-feature__title {
    font-size: 24px;
  }
}

.card-article-feature__subtitle {
  color: #9FA5A9;
  font-size: 13px;
  letter-spacing: 1px;
  margin-bottom: 7.5px;
  text-transform: uppercase;
}

@media only screen and (max-width: 979px) {
  .card-article-feature__subtitle {
    font-size: 10px;
  }
}

.card-article-feature__author {
  color: #2c383c;
  font-size: 16px;
  text-transform: uppercase;
}

@media only screen and (max-width: 979px) {
  .card-article-feature__author {
    font-size: 12px;
  }
}

@media only screen and (max-width: 769px) {
  .card-article-feature__follow {
    display: none;
  }
}

.card-article-feature__description {
  display: none;
}

@media only screen and (min-width: 770px) {
  .card-article-feature__description {
    display: block;
    margin-top: 15px;
  }
}

.card-article-snippet {
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.1);
  background: #fff;
}

.card-article-snippet h2 {
  font-size: 0.9375rem;
  line-height: 1.2;
  padding: 22.5px 15px;
  min-height: 80px;
}

@media only screen and (max-width: 749px) {
  .card-article-snippet {
    width: 100%;
  }
}

@media only screen and (min-width: 770px) and (max-width: 979px) {
  .card-article-snippet {
    width: calc(50% - 10px);
  }
}

.card-article-snippet figure {
  position: relative;
}

.card-article-snippet .component-general-category {
  bottom: 0;
  color: #fff;
  padding: 22.5px 15px;
  position: absolute;
}

.card-article-snippet .component-general-category svg {
  display: block;
  width: 10px;
}

.card-author {
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.1);
  -ms-flex-align: start;
      align-items: flex-start;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  background: #fff;
  margin: 0 0 60px 0;
  padding: 60px 75px;
}

@media only screen and (max-width: 1029px) {
  .card-author {
    padding: 30px 30px;
  }
}

@media only screen and (max-width: 829px) {
  .card-author .box {
    width: 100%;
  }
}

@media only screen and (min-width: 750px) {
  .card-author .box-1 {
    width: 30%;
  }
}

@media only screen and (max-width: 749px) {
  .card-author .box-1 {
    margin: 0 0 30px 0;
  }
}

@media only screen and (min-width: 750px) {
  .card-author .box-2 {
    width: 60%;
  }
}

.card-author header {
  margin: 0 0 15px 0;
}

.card-author h2 {
  font-size: 1.5625rem;
  line-height: 1.2;
}

.card-author p {
  font-size: 0.9375rem;
  line-height: 1.4;
}

.card-author p:not(:last-child) {
  margin: 0 0 1.4em 0;
}

.card-author .avatar {
  display: block;
  height: auto;
  max-width: 100%;
  margin: 0 0 15px 0;
}

@media only screen and (max-width: 749px) {
  .card-author .avatar {
    width: 100%;
  }
}

.card-author .social {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
}

.card-author .social a {
  margin: 0 5px;
}

.card-author .social .component-button-social {
  border-color: #a9b5b8;
}

.card-author .social .component-button-social svg {
  fill: #a9b5b8;
}

.card-author-snippet {
  background: #fff;
  display: block;
}

.card-author-snippet figure {
  position: relative;
}

.card-author-snippet h1 {
  font-size: 0.9375rem;
  line-height: 1.2;
  padding: 22.5px 15px;
}

.card-author-snippet__avatar {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  background: rgba(0, 0, 0, 0.5);
  transition: all .4s;
}

.card-author-snippet__avatar img {
  display: block;
  height: auto;
  width: 100%;
}

.card-author-snippet__blurred {
  height: 250px;
  opacity: .25;
  overflow: hidden;
  filter: blur(5px);
}

.card-speaker {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: column;
      flex-direction: column;
  margin: 15px 15px 0;
}

@media only screen and (min-width: 750px) {
  .card-speaker {
    width: 45%;
    width: calc(50% - 30px);
  }
}

@media only screen and (max-width: 749px) {
  .card-speaker {
    text-align: center;
  }
}

.card-speaker__copy {
  text-align: justify;
  width: 100%;
}

@media only screen and (max-width: 769px) {
  .card-speaker__copy {
    font-size: 21px;
  }
}

.card-speaker__name {
  font-size: 20px;
  margin-bottom: 15px;
}

@media only screen and (max-width: 769px) {
  .card-speaker__name {
    font-size: 23px;
  }
}

.card-speaker__image {
  border-radius: 50%;
  margin-bottom: 15px;
  max-width: 144px;
  width: 100%;
}

.has-one .card-speaker__image {
  max-width: 160px;
}

@media only screen and (max-width: 769px) {
  .has-one .card-speaker__image {
    max-width: 210px;
  }
}

@media only screen and (max-width: 769px) {
  .card-speaker__image {
    max-width: 210px;
  }
}

.card-header {
  color: #fff;
  position: relative;
  text-align: center;
}

@media only screen and (min-width: 770px) {
  .card-header:after {
    position: relative;
    z-index: -1;
    background: url(../images/pattern.png?9fd26a76d24e7c15c6bded94c10382f4) center center;
    background-size: 100px;
    bottom: 0;
    content: " ";
    height: 100%;
    position: absolute;
    padding: 0 9999px;
    margin: 0 -9999px;
  }

  .card-header:before {
    left: 0;
  }
}

.card-header .box {
  position: relative;
  z-index: 10;
  background: #1f1f1f;
  background-size: cover;
  background-position: center center;
  padding: 180px 0;
}

@media only screen and (max-width: 769px) {
  .card-header .box {
    padding: 90px 0;
    width: 100%;
  }
}

.card-header .info {
  position: relative;
  z-index: 10;
}

.card-header .author-image {
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.1);
  border-radius: 100%;
  margin: 0 auto 15px auto;
  width: 120px;
}

@media only screen and (max-width: 769px) {
  .card-header .author-image {
    width: 150px;
  }
}

.card-header .action {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
}

.card-header .action a {
  margin: 0 5px;
}

.card-header.has-description .box {
  padding: 90px 0px;
  background: #fff;
  color: #1f1f1f;
}

@media only screen and (max-width: 769px) {
  .card-header.has-description .box {
    width: 90%;
  }
}

.card-header.has-description .info {
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

.card-header.has-description .info .box {
  padding: 0px 0px;
}

.card-header.has-description .subbox-1 {
  width: 34%;
}

.card-header.has-description .subbox-2 {
  width: 66%;
}

.card-header.has-description .card-header__title {
  font-size: 1.875rem;
  margin: 0 auto 15px;
  max-width: 62%;
}

@media only screen and (max-width: 1029px) {
  .card-header.has-description .grid-4,
  .card-header.has-description .grid-8 {
    width: 100%;
  }
}

.card-header .component-button-social:hover {
  background: #000;
  border-color: #000;
}

.card-header__title {
  font-size: 2.5rem;
  line-height: 1.2;
  font-size: 3.125rem;
  margin: 0 0 15px 0;
}

.card-header__description {
  background: #fff;
  color: #000;
  padding: 60px 30px;
  text-align: left;
  border-left: 1px solid #9FA5A9;
}

@media only screen and (max-width: 1029px) {
  .card-header__description {
    padding: 45px;
    border: none;
    text-align: center;
  }
}

@media only screen and (max-width: 749px) {
  .card-header__description {
    padding: 45px 0;
  }

  .card-header__description p {
    padding: 0 30px;
  }
}

.card-header__description .boxed {
  margin: 0 auto;
  max-width: 600px;
}

.card-header__description p {
  line-height: 1.4;
}

.card-staff {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
}

@media only screen and (max-width: 749px) {
  .card-staff {
    text-align: center;
  }
}

.card-staff .box {
  width: 49%;
}

@media only screen and (max-width: 749px) {
  .card-staff .box {
    width: 100%;
  }
}

.card-staff__position {
  color: #9FA5A9;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .5px;
  margin: 3px 0 0 0;
  text-transform: uppercase;
}

@media only screen and (min-width: 750px) {
  .card-staff__position {
    text-align: right;
  }
}

@media only screen and (max-width: 749px) {
  .card-staff__position {
    margin: 0 0 5px 0;
  }
}

.card-staff__name {
  font-size: 18px;
  font-weight: 400;
}

.block-footer {
  background-color: #000;
  color: #fff;
  padding: 30px;
}

.block-footer-main {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
}

@media only screen and (max-width: 769px) {
  .block-footer-main {
    -ms-flex-direction: column;
        flex-direction: column;
  }
}

@media only screen and (max-width: 769px) {
  .block-footer-main .box-1 {
    border-top: 1px solid #fff;
    -ms-flex-order: 2;
        order: 2;
    padding-top: 18.75px;
    text-align: center;
    width: 100%;
  }
}

@media only screen and (max-width: 769px) {
  .block-footer-main .box-1 .logo img {
    margin: 0 auto;
  }
}

.block-footer-main .box-2 {
  margin: 0 75px;
}

@media only screen and (max-width: 769px) {
  .block-footer-main .box-2 {
    margin: 0 0 18.75px 0;
  }
}

@media only screen and (max-width: 769px) {
  .block-footer-main .box-3 {
    margin: 0 0 18.75px 0;
  }
}

.block-footer__social {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: end;
      justify-content: flex-end;
  -ms-flex-direction: row;
      flex-direction: row;
}

@media only screen and (max-width: 769px) {
  .block-footer__social {
    -ms-flex-pack: center;
        justify-content: center;
  }
}

.block-footer__social svg {
  fill: #fff;
  height: 25px;
  width: 25px;
}

.block-footer__social a:not(:first-child) {
  margin: 0 0 0 18.75px;
}

.block-footer__qr {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: column;
      flex-direction: column;
  margin-left: 18.75px;
}

.block-footer__qr-img {
  margin-bottom: 7.5px;
}

.block-footer__menu {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .1em;
  text-align: center;
  text-transform: uppercase;
  position: relative;
}

@media only screen and (max-width: 769px) {
  .block-footer__menu {
    -ms-flex-align: center;
        align-items: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-direction: column;
        flex-direction: column;
  }
}

.block-footer__menu > a {
  margin: 0 7.5px;
}

@media only screen and (max-width: 769px) {
  .block-footer__menu > a {
    margin: 0 0 7.5px 0;
  }
}

.block-footer-secondary {
  font-size: 12px;
  letter-spacing: .1em;
  margin: 15px 0 0;
  text-align: center;
  text-transform: uppercase;
}

@media only screen and (max-width: 769px) {
  .block-footer-secondary {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
  }
}

.block-footer-secondary a {
  margin: 0 5px;
}

@media only screen and (max-width: 769px) {
  .block-footer-secondary a {
    margin: 5px 0;
  }
}

@media only screen and (min-width: 770px) {
  .block-footer__newsletter {
    display: none;
  }
}

body.state--image-enlarged {
  overflow-y: hidden;
}

.enlargeable {
  cursor: pointer;
}

#image-viewer {
  background-color: rgba(255, 255, 255, 0.95);
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: -1;
  display: -ms-flexbox;
  display: flex;
  opacity: 0;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: start;
      justify-content: flex-start;
  transition: all .3s;
  -ms-flex-direction: column;
      flex-direction: column;
  overflow-y: scroll;
}

#image-viewer.active {
  opacity: 1;
  z-index: 999;
}

#image-viewer__img {
  max-width: calc(100% - 30px);
  padding-top: 115px;
}

#image-viewer__close {
  position: absolute;
  top: 30px;
  right: 30px;
  cursor: pointer;
  font-size: 30px;
}

#image-viewer__caption {
  display: block;
  margin-top: 10px;
  font-size: 13px;
  color: #000;
  text-align: left;
  max-width: calc(100% - 30px);
  padding-bottom: 15px;
}

.block-header {
  position: relative;
  z-index: 60;
  background: #fff;
  border-bottom: 1px solid #9FA5A9;
  height: 92px;
  left: 0;
  position: fixed;
  transition: all .3s;
  top: 0;
  width: 100%;
}

@media only screen and (max-width: 769px) {
  .block-header {
    height: 85px;
  }
}

.block-header .boxes {
  height: 60px;
}

.block-header .boxes > .box-1 {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: row;
      flex-direction: row;
}

@media only screen and (min-width: 770px) {
  .block-header .boxes > .box-1 {
    display: none;
  }
}

.block-header .boxes > .box-2 {
  position: relative;
}

@media only screen and (min-width: 770px) {
  .block-header .boxes > .box-2 {
    -ms-flex: 1;
        flex: 1;
  }
}

@media only screen and (max-width: 769px) {
  .block-header .boxes > .box-2 {
    -ms-flex: 3;
        flex: 3;
  }

  .block-header .boxes > .box-2 img {
    display: block;
    margin: 0 auto;
  }
}

@media only screen and (max-width: 349px) {
  .block-header .boxes > .box-2 {
    height: 40px;
  }

  .block-header .boxes > .box-2 img {
    height: 40px;
  }
}

.block-header .boxes > .box-2 .block-header__postmeta {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
}

.block-header .boxes > .box-2 .block-header__postmeta > div.show-mobile {
  width: 100%;
}

.block-header .boxes > .box-2 .component-share {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  padding: 0 7.5px;
  width: 100%;
}

.block-header .boxes > .box-2 .component-share a {
  margin: 0;
}

.block-header .boxes > .box-2 .component-share svg {
  height: 29px;
  width: 29px;
}

.block-header .boxes > .box-3 {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex: 5;
      flex: 5;
}

@media only screen and (max-width: 769px) {
  .block-header .boxes > .box-3 {
    display: none;
  }
}

.block-header .boxes > .box-3 .block-header__postmeta {
  display: -ms-flexbox;
  display: flex;
  padding: 0 18.75px;
  -ms-flex-pack: center;
      justify-content: center;
  text-align: center;
}

@media only screen and (max-width: 979px) {
  .block-header .boxes > .box-3 .block-header__postmeta {
    display: none;
  }
}

.block-header .boxes > .box-4 {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: end;
      justify-content: flex-end;
  -ms-flex-direction: row;
      flex-direction: row;
}

@media only screen and (max-width: 1399px) {
  .block-header .boxes > .box-4 span {
    display: none;
  }
}

@media only screen and (min-width: 770px) {
  .block-header .boxes > .box-4 {
    -ms-flex: 1;
        flex: 1;
  }
}

@media only screen and (min-width: 770px) {
  .block-header .box-4 > a {
    padding: 0 10px;
  }
}

@media only screen and (max-width: 769px) {
  .block-header .box-4 .component-button-autodesk,
  .block-header .box-4 .component-button-newsletter {
    display: none;
  }
}

@media only screen and (max-width: 829px) {
  .block-header .logo img {
    margin: 0 auto;
    width: auto;
    height: 44px;
    display: block;
  }
}

.block-header .logo-autodesk {
  display: block;
  margin: 0 22.5px 0 0;
  height: auto;
  width: 110px;
}

@media only screen and (max-width: 829px) {
  .block-header .logo-autodesk {
    display: none;
  }
}

.block-header .logo-letter {
  display: block;
  height: auto;
  margin: 0 15px 0 0;
  width: 25px;
}

.block-header .component-button {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  margin: 0 15px 0 0;
  padding: 13.5px 30px;
}

@media only screen and (max-width: 829px) {
  .block-header .component-button {
    margin: 0;
  }
}

.block-header__main {
  padding: 15px;
}

@media only screen and (max-width: 829px) {
  .block-header__main {
    padding: 15px 22.5px;
  }
}

.block-header__main .logo-tease {
  transition: all .5s ease;
}

.block-header__main .logo-tease a {
  display: block;
}

.nav-tease {
  opacity: 1;
  transition: all 400ms ease-out;
}

.block-header__postmeta {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  transition: all .5s ease;
  transform: translateY(100px);
  opacity: 0;
  height: 0;
  padding: 0 30px 0 0;
  visibility: hidden;
  width: 100%;
}

@media only screen and (max-width: 769px) {
  .block-header__postmeta {
    transform: translate3d(0, 100%, 0);
    font-size: 14px;
    padding: 0 15px;
  }
}

.block-header__postmeta strong {
  display: inline-block;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.block-header__postmeta .show-mobile {
  display: block;
}

@media only screen and (min-width: 770px) {
  .block-header__postmeta .show-mobile {
    display: none;
  }
}

.block-header__postmeta .show-desktop {
  display: none;
}

@media only screen and (min-width: 770px) {
  .block-header__postmeta .show-desktop {
    display: block;
  }
}

.block-header__postmeta__reading {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: row;
      flex-direction: row;
  font-size: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 80%;
}

.block-header__postmeta__reading strong {
  margin: 0 10px 0 0;
}

.block-header__postmeta__reading div {
  width: 50%;
}

.block-header__postmeta__share {
  margin-left: 20px;
  width: 15%;
}

@media only screen and (max-width: 1199px) {
  .block-header__postmeta__share {
    width: 10%;
  }
}

@media only screen and (max-width: 749px) {
  .block-header__postmeta__share {
    display: none;
  }
}

@media only screen and (max-width: 1199px) {
  .block-header__postmeta__share strong {
    display: none;
  }
}

@media only screen and (min-width: 770px) {
  .block-header__postmeta-social {
    display: none;
  }
}

.block-header__postmeta-social > div {
  -ms-flex: auto;
      flex: auto;
}

.block-header__postmeta-social .component-share-alt {
  padding: 0 10%;
}

.block-header__postmeta-social a {
  background-color: #000;
  border-width: 0;
}

.block-header__postmeta-social svg {
  fill: #fff;
}

.block-search {
  opacity: 0;
  visibility: hidden;
  position: relative;
  z-index: -1;
  background: #fff;
  padding: 90px 0 90px 0;
  overflow-y: scroll;
  position: fixed;
  left: 0;
  height: 100%;
  position: fixed;
  transform: translate3d(0, 50px, 0);
  transition: all .7s;
  top: 0;
  visibility: visible;
  width: 101%;
}

.block-search .results {
  -ms-flex-align: stretch;
      align-items: stretch;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: row;
      flex-direction: row;
}

.block-search .card-article-snippet {
  margin: 0 0 30px 0;
}

@media only screen and (max-width: 769px) {
  .block-search .card-article-snippet {
    margin: 0 0 9px 0;
    width: 49%;
  }
}

@media only screen and (max-width: 749px) {
  .block-search .card-article-snippet {
    width: 100%;
  }
}

.block-search .card-article-snippet:not(:nth-child(4n+4)) {
  margin-right: 2%;
}

@media only screen and (max-width: 769px) {
  .block-search .card-article-snippet:not(:nth-child(4n+4)) {
    margin-right: 1%;
  }
}

.block-search form {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  margin: 0 0 30px 0;
}

.block-search form .input {
  font-size: 2.5rem;
  line-height: 1.2;
  font-family: "Artifakt Element", "Helvetica", sans-serif;
  font-size: 5rem;
  background: none;
  border: none;
  display: block;
  width: 100%;
}

@media only screen and (max-width: 829px) {
  .block-search form .input {
    font-size: 4.0625rem;
  }
}

@media only screen and (max-width: 749px) {
  .block-search form .input {
    font-size: 1.875rem;
  }
}

.block-search form .input:focus {
  outline: none;
}

.block-search form label {
  display: none;
}

.searchwp-live-search-results-fadeout {
  background: linear-gradient(transparent, #fff 65%);
  width: 100%;
  height: 15%;
  position: fixed;
  bottom: 0;
  z-index: 9999;
}

@media screen and (min-height: 800px) {
  .searchwp-live-search-results-fadeout {
    height: 20%;
  }
}

@media screen and (min-height: 900px) {
  .searchwp-live-search-results-fadeout {
    bottom: 50px;
  }
}

@media screen and (min-height: 1000px) {
  .searchwp-live-search-results-fadeout {
    bottom: 75px;
  }
}

.block-search__close {
  position: absolute;
  right: 45px;
  top: 65px;
}

.block-search__close .line-1 {
  transform: rotate(45deg);
  top: 9px;
}

.block-search__close .line-2 {
  opacity: 0;
}

.block-search__close .line-3 {
  transform: rotate(-45deg);
  top: -10px;
}

@media only screen and (min-width: 750px) {
  .block-search__box1 {
    padding-left: 10px;
  }
}

@media only screen and (min-width: 980px) {
  .block-search__box1 {
    padding-left: 2%;
  }
}

.block-search__box2 {
  display: none;
}

.searchwp-live-search-results-showing {
  -ms-flex-align: stretch;
      align-items: stretch;
  box-shadow: none !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  left: 0 !important;
  width: 100% !important;
}

.searchwp-live-search-results {
  border-radius: 0 !important;
  min-height: none !important;
  max-height: 70vh !important;
}

@media only screen and (max-width: 749px) {
  .searchwp-live-search-results {
    position: fixed !important;
    top: 170px !important;
  }
}

.searchwp-live-search-results .container,
.searchwp-live-search-results .card-article.is-featured .card-article__main-image,
.card-article.is-featured .searchwp-live-search-results .card-article__main-image,
.searchwp-live-search-results .block-topic__main-image {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
}

@media only screen and (min-width: 750px) {
  .searchwp-live-search-results .container,
  .searchwp-live-search-results .card-article.is-featured .card-article__main-image,
  .card-article.is-featured .searchwp-live-search-results .card-article__main-image,
  .searchwp-live-search-results .block-topic__main-image {
    padding-left: 10px;
  }
}

@media only screen and (min-width: 980px) {
  .searchwp-live-search-results .container,
  .searchwp-live-search-results .card-article.is-featured .card-article__main-image,
  .card-article.is-featured .searchwp-live-search-results .card-article__main-image,
  .searchwp-live-search-results .block-topic__main-image {
    padding-left: 2%;
  }
}

.searchwp-live-search-results .spinner {
  left: calc(50% - 15px);
}

.searchwp-live-search-results .spinner > div > div {
  height: 30px !important;
  border-radius: 100px !important;
}

.searchwp-live-search-result {
  margin-bottom: 30px;
}

@media only screen and (max-width: 749px) {
  .searchwp-live-search-result {
    width: 100%;
  }
}

@media only screen and (min-width: 750px) and (max-width: 979px) {
  .searchwp-live-search-result {
    width: calc(50% - 10px);
    margin-right: 10px;
  }
}

@media only screen and (min-width: 980px) {
  .searchwp-live-search-result {
    margin-right: 2%;
  }
}

.searchwp-live-search-result a {
  height: 100%;
}

.searchwp-live-search-result__author {
  position: absolute;
  color: #fff;
  bottom: 15px;
  left: 15px;
  font-size: 1rem;
}

.searchwp-live-search-result__link {
  -ms-flex-align: start;
      align-items: flex-start;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: column;
      flex-direction: column;
  display: flex !important;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  opacity: 1;
  white-space: normal !important;
  transition: opacity .2s;
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.1);
  background: #fff;
}

.searchwp-live-search-result__link:hover {
  opacity: .9;
}

.searchwp-live-search-result__meta {
  font-size: 0.9375rem;
  line-height: 1.2;
  padding: 22.5px 15px;
  min-height: 80px;
}

.searchwp-live-search-result__thumbnail {
  background-color: #000;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: start;
      align-items: flex-start;
  margin-right: 15px;
  width: 100%;
  height: auto;
  position: relative;
}

.searchwp-live-search-result__thumbnail img {
  max-width: 100%;
  height: auto;
  opacity: .7;
}

.searchwp-live-search-no-min-chars:after {
  display: none !important;
}

.block-newsletter form .mktoFormRow:nth-child(2) {
  margin-top: 16px !important;
}

.block-single {
  padding-top: 37.5px;
}

@media only screen and (max-width: 769px) {
  .block-single .box-1,
  .block-single .box-3 {
    display: none;
  }

  .block-single .box-2 {
    width: 100%;
  }
}

.block-single .component-share-alt {
  padding-top: 11.25px;
}

.block-single__top {
  -ms-flex-align: start;
      align-items: flex-start;
  margin-bottom: 18.75px;
}

@media only screen and (max-width: 769px) {
  .block-single__top {
    width: 100%;
  }
}

.block-single__top .component-share {
  -ms-flex-align: end;
      align-items: flex-end;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: column;
      flex-direction: column;
  margin-top: 10.5px;
  margin-left: 56.25px;
}

@media only screen and (max-width: 979px) {
  .block-single__top .component-share {
    margin-left: 18.75px;
  }
}

.block-single__body {
  background-color: #fff;
  padding: 15px 0 30px;
  position: relative;
  z-index: 0;
}

.block-single__body .boxes {
  -ms-flex-align: start;
      align-items: flex-start;
}

@media only screen and (max-width: 769px) {
  .block-single__body .boxes {
    padding: 0 30px;
    width: 100%;
  }
}

.block-single__header {
  margin-bottom: 37.5px;
}

@media only screen and (min-width: 770px) {
  .block-single__header {
    max-width: 60%;
  }
}

@media only screen and (max-width: 769px) {
  .block-single__header {
    padding: 0 30px;
  }
}

.block-single__meta {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: row;
      flex-direction: row;
  font-size: 13px;
  text-transform: uppercase;
}

.block-single__title {
  font-size: 2.5rem;
  line-height: 1.2;
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  color: #1f1f1f;
  margin-bottom: 18.75px;
}

@media only screen and (min-width: 770px) {
  .block-single__title {
    max-width: 1230px;
  }
}

@media only screen and (max-width: 749px) {
  .block-single__title {
    font-size: 1.75rem;
  }
}

.block-single__topic {
  color: #9FA5A9;
}

@media only screen and (min-width: 480px) and (max-width: 769px) {
  .block-single__topic {
    font-size: 1.5rem;
  }
}

@media only screen and (max-width: 479px) {
  .block-single__topic {
    font-size: 0.75rem;
  }
}

.block-single__author {
  color: #2c383c;
  margin-right: 18.75px;
}

@media only screen and (min-width: 480px) and (max-width: 769px) {
  .block-single__author {
    font-size: 1.5rem;
  }
}

@media only screen and (max-width: 769px) {
  .block-single__author {
    margin-bottom: 7.5px;
  }
}

@media only screen and (max-width: 479px) {
  .block-single__author {
    font-size: 0.75rem;
  }
}

.block-single__content {
  color: #1f1f1f;
  position: relative;
}

.block-single__content img,
.block-single__content figure {
  height: auto;
  max-width: 100%;
}

.block-single__content p {
  font-size: 14px;
  line-height: 1.4em;
  margin-bottom: 15px;
}

.block-single__content p:first-of-type {
  font-weight: 600;
}

.block-single__content p:nth-child(2) {
  font-size: 18px;
  margin-bottom: 30px;
}

.block-single__content p a:not([href^="https://cdn"]) {
  text-shadow: 0.03em 0 #fff, -0.03em 0 #fff, 0 0.03em #fff, 0 -0.03em #fff, 0.06em 0 #fff, -0.06em 0 #fff, 0.09em 0 #fff, -0.09em 0 #fff, 0.12em 0 #fff, -0.12em 0 #fff, 0.15em 0 #fff, -0.15em 0 #fff;
  background-image: linear-gradient(rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.9));
  background-size: 1px 1px;
  background-repeat: repeat-x;
  background-position: 0% 95%;
  color: rgba(0, 0, 0, 0.9);
  text-decoration: none;
  display: inline-block;
}

.block-single__content p a:not([href^="https://cdn"])::-moz-selection {
  text-shadow: 0.03em 0 #000, -0.03em 0 #000, 0 0.03em #000, 0 -0.03em #000, 0.06em 0 #000, -0.06em 0 #000, 0.09em 0 #000, -0.09em 0 #000, 0.12em 0 #000, -0.12em 0 #000, 0.15em 0 #000, -0.15em 0 #000;
  background: #000;
}

.block-single__content p a:not([href^="https://cdn"])::selection {
  text-shadow: 0.03em 0 #000, -0.03em 0 #000, 0 0.03em #000, 0 -0.03em #000, 0.06em 0 #000, -0.06em 0 #000, 0.09em 0 #000, -0.09em 0 #000, 0.12em 0 #000, -0.12em 0 #000, 0.15em 0 #000, -0.15em 0 #000;
  background: #000;
}

.block-single__content p a:not([href^="https://cdn"]) *,
.block-single__content p a:not([href^="https://cdn"]) *:after,
.block-single__content p a:not([href^="https://cdn"]):after,
.block-single__content p a:not([href^="https://cdn"]) *:before,
.block-single__content p a:not([href^="https://cdn"]):before {
  text-shadow: none;
}

.block-single__content p a:not([href^="https://cdn"]):visited {
  color: rgba(0, 0, 0, 0.9);
}

.is-dark .block-single__content a:not([href^="https://cdn"]) {
  text-shadow: 0.03em 0 #222d31, -0.03em 0 #222d31, 0 0.03em #222d31, 0 -0.03em #222d31, 0.06em 0 #222d31, -0.06em 0 #222d31, 0.09em 0 #222d31, -0.09em 0 #222d31, 0.12em 0 #222d31, -0.12em 0 #222d31, 0.15em 0 #222d31, -0.15em 0 #222d31;
  background-image: linear-gradient(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9));
  background-size: 1px 1px;
  background-repeat: repeat-x;
  background-position: 0% 95%;
  color: rgba(255, 255, 255, 0.9);
  text-decoration: none;
}

.is-dark .block-single__content a:not([href^="https://cdn"])::-moz-selection {
  text-shadow: 0.03em 0 #fff, -0.03em 0 #fff, 0 0.03em #fff, 0 -0.03em #fff, 0.06em 0 #fff, -0.06em 0 #fff, 0.09em 0 #fff, -0.09em 0 #fff, 0.12em 0 #fff, -0.12em 0 #fff, 0.15em 0 #fff, -0.15em 0 #fff;
  background: #fff;
}

.is-dark .block-single__content a:not([href^="https://cdn"])::selection {
  text-shadow: 0.03em 0 #fff, -0.03em 0 #fff, 0 0.03em #fff, 0 -0.03em #fff, 0.06em 0 #fff, -0.06em 0 #fff, 0.09em 0 #fff, -0.09em 0 #fff, 0.12em 0 #fff, -0.12em 0 #fff, 0.15em 0 #fff, -0.15em 0 #fff;
  background: #fff;
}

.is-dark .block-single__content a:not([href^="https://cdn"]) *,
.is-dark .block-single__content a:not([href^="https://cdn"]) *:after,
.is-dark .block-single__content a:not([href^="https://cdn"]):after,
.is-dark .block-single__content a:not([href^="https://cdn"]) *:before,
.is-dark .block-single__content a:not([href^="https://cdn"]):before {
  text-shadow: none;
}

.is-dark .block-single__content a:not([href^="https://cdn"]):visited {
  color: rgba(255, 255, 255, 0.9);
}

.block-single__content .alignright {
  float: right;
  height: auto;
  margin: 0 0 0 5%;
  max-width: 60%;
}

.block-single__content .alignleft {
  float: left;
  height: auto;
  margin: 0 5% 0 0;
  max-width: 60%;
}

.block-single__box {
  position: relative;
}

@media only screen and (max-width: 749px) {
  .block-single__box {
    padding: 0;
  }
}

.block-single__box .boxed {
  background: #fafafa;
}

@media only screen and (max-width: 769px) {
  .block-single__box .boxed {
    background: #fff;
  }
}

.block-single__main-image {
  position: relative;
  z-index: 10;
}

.block-single__main-image > a {
  display: block;
}

.block-single__main-image img {
  transform: scale3d(1, 1, 1);
  transition: transform 5s;
  height: auto;
  max-width: 100%;
}

@media only screen and (max-width: 769px) {
  .block-single__main-image {
    width: 100%;
  }
}

.block-single__sidebar {
  background-color: #fff;
  z-index: 11;
}

.block-single__recommended {
  border-top: 4px solid #2c383c;
  color: #1f1f1f;
  font-weight: 400;
  padding: 60px 30px;
  margin-top: 60px;
  text-align: left;
}

.block-single__recommended .entry {
  margin-bottom: 30px;
}

.block-single__recommended .entry:last-child .divider {
  display: none;
}

.block-single__recommended .component-heading span {
  font-size: 24px;
  margin-bottom: 15px;
}

.block-single__recommended .category a {
  color: #9FA5A9;
  font-size: 10px;
  margin-bottom: 7.5px;
  text-transform: uppercase;
}

.block-single__recommended .title {
  font-size: 16px;
}

.block-single__recommended .divider {
  background-color: #2c383c;
  display: block;
  height: 1px;
  margin-top: 30px;
  width: 80px;
}

.block-single__tag-list {
  margin-bottom: 45px;
  margin-top: 30px;
}

.block-single__tag,
.block-single__tag-spacer {
  color: #DD2222;
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
}

.is-dark .block-single__tag,
.is-dark .block-single__tag-spacer {
  color: #fff;
}

.block-single__tag:hover {
  text-decoration: underline;
}

body[data-blogid="8"] .block-single__read-time {
  display: none;
}

.block-topic__mobile-title {
  border-bottom: 1px solid #f5f5f5;
  display: none;
  font-size: 30px;
  font-weight: 400;
  line-height: 1;
  padding: 22.5px 0;
  text-align: center;
  text-transform: uppercase;
}

@media only screen and (max-width: 769px) {
  .block-topic__mobile-title {
    display: block;
  }
}

.block-topic__header {
  position: relative;
}

.block-topic__header .block-topic__title {
  font-size: 40px;
  margin-bottom: 30px;
  text-align: center;
}

@media only screen and (max-width: 769px) {
  .block-topic__header .block-topic__title {
    margin-top: 30px;
  }
}

@media only screen and (max-width: 769px) {
  .block-topic__header {
    -ms-flex-align: center;
        align-items: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
  }
}

.block-topic__body {
  background-color: #fff;
  margin-top: -6px;
  padding: 15px 0 30px;
}

@media only screen and (max-width: 769px) {
  .block-topic__body {
    margin-top: 5px;
  }
}

.block-topic__body .boxes {
  -ms-flex-align: start;
      align-items: flex-start;
}

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

@media only screen and (max-width: 769px) {
  .block-topic__entry {
    text-align: left;
  }
}

.block-topic__subtopics {
  background-color: #f5f5f5;
  border-bottom: 1px solid #9FA5A9;
  font-size: 14px;
  font-weight: 500;
  height: 50px;
  padding: 15px 0;
  text-align: center;
  text-transform: uppercase;
  width: 100%;
}

@media only screen and (max-width: 769px) {
  .block-topic__subtopics {
    border-top: 1px solid #9FA5A9;
    margin-bottom: 0;
  }
}

.block-topic__subtopics .slick-list {
  margin: 0 auto;
  width: 75%;
}

@media only screen and (min-width: 770px) {
  .block-topic__subtopics .slick-list {
    width: 600px;
  }
}

.block-topic__subtopics .slick-slide {
  height: 100%;
}

.block-topic__subtopics .is-active {
  border-bottom: 2px solid #DD2222;
  padding-bottom: 2px;
}

.block-topic__subtopics a {
  margin: 0 15px;
}

@media only screen and (max-width: 769px) {
  .block-topic__subtopics a {
    margin: 0;
    padding: 0 11.25px;
  }
}

.block-topic__arrow {
  position: absolute;
  top: 15px;
  right: 64px;
  width: 30px;
}

@media only screen and (min-width: 770px) {
  .block-topic__arrow {
    display: none;
  }
}

.block-topic__arrow.is-right {
  right: 8%;
}

@media only screen and (max-width: 769px) {
  .block-topic__arrow.is-right {
    right: 2.5%;
  }
}

.block-topic__arrow.is-left {
  left: 8%;
}

@media only screen and (max-width: 769px) {
  .block-topic__arrow.is-left {
    left: 5%;
  }
}

.block-topic__arrow.slick-disabled svg {
  fill: #9FA5A9;
}

.block-topic__arrow svg {
  width: 20px;
  fill: #DD2222;
}

@media only screen and (max-width: 769px) {
  .block-topic__arrow {
    top: auto;
    bottom: 10px;
  }
}

.block-topic__title {
  font-size: 2.5rem;
  line-height: 1.2;
  color: #1f1f1f;
  font-size: 35px;
  margin: 15px auto;
  max-width: 90%;
  padding-left: 0 !important;
}

@media only screen and (max-width: 769px) {
  .block-topic__title {
    font-size: 1.875rem;
    margin: 15px 0;
  }
}

.block-topic__topic {
  margin-bottom: 7.5px;
}

.block-topic__topic a {
  color: #9FA5A9;
  font-size: 13px;
  text-transform: uppercase;
}

@media only screen and (max-width: 769px) {
  .block-topic__topic a {
    font-size: 16px;
  }
}

.block-topic__author {
  border: 0 solid !important;
  color: #2c383c;
  display: block;
  font-size: 16px;
  line-height: 100%;
  margin: 0 auto;
  padding-bottom: 30px;
  text-transform: uppercase;
  width: auto;
}

@media only screen and (max-width: 769px) {
  .block-topic__author {
    display: none;
  }
}

.block-topic__content {
  color: #1f1f1f;
}

.block-topic__content img,
.block-topic__content figure {
  height: auto;
  max-width: 100%;
}

.block-topic__content img {
  margin: 22.5px 0;
}

.block-topic__content p {
  font-size: 14px;
  line-height: 1.4em;
  margin-bottom: 15px;
}

.block-topic__content p:nth-child(2) {
  font-size: 18px;
  margin-bottom: 30px;
}

.block-topic__content .alignright {
  float: right;
  height: auto;
  margin: 0 0 0 5%;
  max-width: 60%;
}

.block-topic__content .alignleft {
  float: left;
  height: auto;
  margin: 0 5% 0 0;
  max-width: 60%;
}

.block-topic__box {
  position: relative;
}

@media only screen and (max-width: 749px) {
  .block-topic__box {
    padding: 0;
  }
}

.block-topic__box .boxed {
  background: #fafafa;
}

@media only screen and (max-width: 769px) {
  .block-topic__box .boxed {
    background: #fff;
  }
}

@media only screen and (max-width: 749px) {
  .block-topic__box .container,
  .block-topic__box .card-article.is-featured .card-article__main-image,
  .card-article.is-featured .block-topic__box .card-article__main-image,
  .block-topic__box .block-topic__main-image {
    width: 100%;
  }
}

.block-topic__main-image {
  position: relative;
  z-index: 10;
  display: block;
  margin-bottom: 7.5px;
}

@media only screen and (max-width: 769px) {
  .block-topic__main-image {
    width: 100%;
  }
}

.block-topic__main-image > a {
  display: block;
  overflow: hidden;
}

.block-topic__main-image img {
  transform: scale3d(1, 1, 1);
  transition: transform 5s;
  height: auto;
  max-width: 100%;
}

.block-topic__sidebar {
  margin-top: 8%;
}

.block-topic__recommended {
  border-top: 4px solid #2c383c;
  color: #1f1f1f;
  font-weight: 400;
  padding: 30px;
  margin-top: 60px;
  text-align: left;
}

.block-topic__recommended .entry {
  margin-bottom: 30px;
}

.block-topic__recommended .entry:last-child .divider {
  display: none;
}

.block-topic__recommended .heading {
  font-size: 24px;
  margin-bottom: 15px;
}

.block-topic__recommended .category {
  color: #9FA5A9;
  font-size: 10px;
  margin-bottom: 7.5px;
  text-transform: uppercase;
}

.block-topic__recommended .title {
  font-size: 16px;
}

.block-topic__recommended .divider {
  background-color: #2c383c;
  display: block;
  height: 1px;
  margin-top: 30px;
  width: 80px;
}

.block-topic-section {
  padding: 60px 0;
}

@media only screen and (max-width: 829px) {
  .block-topic-section {
    border-top: 4px solid #000;
    padding: 30px 0;
  }
}

@media only screen and (max-width: 769px) {
  .block-topic-section .component-heading {
    padding-left: 30px;
  }
}

.block-topic-section .card-article.is-video-nav {
  margin-bottom: 60px !important;
}

@media only screen and (max-width: 769px) {
  .block-topic-section .card-article.is-video-nav {
    border: none !important;
    margin: 0 0 0 10px !important;
    min-width: 200px;
    padding: 0 !important;
  }
}

@media only screen and (max-width: 769px) {
  .block-topic-section .card-article {
    border-top: 1px solid #9FA5A9;
    margin-top: 30px;
    padding-top: 30px;
    margin-bottom: 0;
    margin-top: 10px;
    padding: 30px 30px 0 30px !important;
  }

  .block-topic-section .card-article:last-child {
    padding-bottom: 30px;
  }

  .block-topic-section .card-article:first-child {
    margin-top: 0;
  }
}

@media only screen and (max-width: 769px) {
  .block-topic-section .card-article.is-large:last-child {
    padding: 0 !important;
  }
}

@media only screen and (max-width: 769px) {
  .block-topic-section .card-article.is-large:last-child .card-article__header {
    padding: 15px 30px;
  }
}

.block-topic-section .card-article .card-article__main-image {
  background-image: none !important;
}

@media only screen and (max-width: 769px) {
  .block-topic-section .card-article__title {
    font-size: 35px !important;
    line-height: 1.2;
    padding-top: 5px;
  }
}

@media only screen and (max-width: 599px) {
  .block-topic-section .card-article__title {
    font-size: 25px !important;
  }
}

@media only screen and (max-width: 769px) {
  .block-topic-section .card-article__topic a {
    display: block;
    margin-top: 10px;
  }
}

@media only screen and (max-width: 769px) {
  .block-topic-section--video .box {
    width: 100%;
  }
}

.block-featured-section .component-magazine-rack {
  background: #fff;
  margin-bottom: 0;
}

@media only screen and (min-width: 770px) {
  .block-featured-section .component-magazine-rack {
    padding: 22.5px;
  }
}

.block-featured-section__article {
  background-color: #f5f5f5;
}

.block-featured-section__subtitle {
  font-size: 20px;
  margin-bottom: 0;
}

@media only screen and (max-width: 769px) {
  .block-featured-section__subtitle {
    padding: 0 30px;
    font-size: 24px;
    margin-bottom: 30px;
  }
}

.block-featured-section__subtitle > a {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-direction: row;
      flex-direction: row;
}

.block-featured-section__icon-arrow-alt {
  margin-left: 11.25px;
}

@media only screen and (min-width: 770px) {
  .block-featured-section__icon-arrow-alt {
    display: none;
  }
}

.block-featured-section__icon-arrow-alt svg {
  display: block;
  height: auto;
  fill: #000;
  width: 28px;
}

@media only screen and (max-width: 769px) {
  .block-featured-section__icon-arrow-alt svg {
    width: 22px;
  }
}

.block-featured-section__icon-arrow {
  margin-left: 11.25px;
}

@media only screen and (max-width: 769px) {
  .block-featured-section__icon-arrow {
    display: none;
  }
}

@media only screen and (max-width: 749px) {
  .block-featured-section__icon-arrow {
    transform: rotate(90deg);
  }
}

.block-featured-section__icon-arrow svg {
  display: block;
  height: auto;
  fill: #DD2222;
  width: 8px;
}

.block-menu {
  text-transform: uppercase;
}

.block-menu a {
  color: #1f1f1f;
  font-size: 14px;
  font-weight: 500;
}

.block-megamenu {
  opacity: 0;
  visibility: hidden;
  position: relative;
  z-index: 40;
  background: #fff;
  left: 0;
  height: 100vh;
  position: fixed;
  transform: translate3d(0, 50px, 0);
  transition: all .7s;
  top: 0;
  width: 100%;
}

@media only screen and (max-width: 769px) {
  .block-megamenu {
    overflow-y: scroll;
  }
}

.block-megamenu .main-content {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
}

@media only screen and (min-width: 770px) {
  .block-megamenu .main-content {
    height: 100vh;
    overflow-y: scroll;
  }
}

.block-megamenu .navigation-secondary {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  font-size: 1.5625rem;
  line-height: 1.2;
  font-size: 1.875rem;
  -ms-flex-direction: column;
      flex-direction: column;
  line-height: 1;
  padding: 0 0 118px 0;
  text-align: center;
  width: 100%;
}

@media only screen and (max-width: 769px) {
  .block-megamenu .navigation-secondary {
    font-size: 1.5rem;
    padding-top: 85px;
    padding-bottom: 0;
  }
}

@media only screen and (max-width: 749px) {
  .block-megamenu .navigation-secondary {
    font-size: 1rem;
  }
}

.block-megamenu .navigation-secondary a {
  padding: 14px 0;
  width: 100%;
}

.block-megamenu .navigation-secondary a:hover {
  background: rgba(255, 255, 255, 0.5);
}

.block-megamenu .navigation-secondary a svg {
  display: none;
}

@media only screen and (max-width: 769px) {
  .block-megamenu .navigation-secondary a {
    -ms-flex-align: center;
        align-items: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-direction: row;
        flex-direction: row;
    border-bottom: 1px solid #9FA5A9;
    line-height: 0;
    margin-bottom: 0;
    padding: 19.5px 30px;
  }

  .block-megamenu .navigation-secondary a span {
    color: #1f1f1f;
    font-size: 30px;
    text-align: left;
  }

  .block-megamenu .navigation-secondary a svg {
    display: block;
    fill: #1f1f1f;
    width: 30px;
    margin-left: 15px;
  }
}

@media only screen and (max-width: 499px) {
  .block-megamenu .navigation-secondary a span {
    font-size: 22px;
  }
}

@media only screen and (max-width: 349px) {
  .block-megamenu .navigation-secondary a span {
    font-size: 18px;
  }
}

.block-megamenu .block-footer {
  padding: 37.5px 30px 120px 30px;
}

.block-megamenu .block-footer-main .boxes {
  -ms-flex-direction: column;
      flex-direction: column;
}

.block-megamenu .block-footer-main .box {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  margin-bottom: 30px;
  width: 100%;
}

.block-megamenu .block-footer-main .box-1 {
  margin-bottom: 0;
  -ms-flex-order: 1;
      order: 1;
}

.block-megamenu .block-footer-main .box-1 img {
  width: 160px;
}

.block-megamenu .block-footer-main .box-2 {
  font-size: 18px;
  letter-spacing: 0;
}

@media only screen and (min-width: 770px) {
  .block-megamenu .block-footer-main .box-3 {
    border-bottom: 1px solid #9FA5A9;
    padding-bottom: 45px;
    margin-bottom: 45px;
  }
}

@media only screen and (max-width: 769px) {
  .block-megamenu .block-footer-main .box-3 {
    margin-bottom: 18.75px;
  }
}

.block-megamenu .block-footer-main .box-3 a {
  margin: 0 10px;
}

.block-megamenu .block-footer-main .component-button-social {
  background-color: #fff;
  border: 0 solid;
  height: 48px;
  width: 48px;
}

.block-megamenu .block-footer-main .component-button-social svg {
  fill: #000;
  height: 28px;
  width: 28px;
}

.block-articles-aside {
  background-color: #f5f5f5;
  padding: 60px 0;
}

@media only screen and (max-width: 829px) {
  .block-articles-aside {
    border-top: 4px solid #2c383c;
  }
}

.block-articles-aside .boxes {
  -ms-flex-align: start;
      align-items: flex-start;
}

.block-articles-aside .boxing {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
}

@media only screen and (max-width: 829px) {
  .block-articles-aside {
    padding: 30px 0 0;
  }

  .block-articles-aside > .container,
  .card-article.is-featured .block-articles-aside > .card-article__main-image,
  .block-articles-aside > .block-topic__main-image {
    width: 100%;
  }

  .block-articles-aside .component-heading {
    padding: 0 30px;
  }
}

.block-articles-latest {
  padding: 60px 0;
}

.block-articles-latest article {
  margin-bottom: 45px;
}

@media only screen and (max-width: 769px) {
  .block-articles-latest .card-article__main-image {
    margin-bottom: 15px;
  }
}

.block-articles-latest .component-heading {
  margin-bottom: 60px;
}

.block-articles-latest .component-heading.is-centered {
  text-align: center;
}

.block-articles-latest .component-heading.is-bottomcap {
  -ms-flex-pack: center;
      justify-content: center;
  margin: 30px 0 0;
}

@media only screen and (max-width: 769px) {
  .block-articles-latest .component-heading.is-bottomcap {
    border-top: 1px solid #9FA5A9;
    margin-top: 0;
    padding: 20px 0;
  }

  .block-articles-latest .component-heading.is-bottomcap span {
    color: #DD2222;
  }

  .block-articles-latest .component-heading.is-bottomcap svg,
  .block-articles-latest .component-heading.is-bottomcap .st0 {
    stroke: #DD2222;
  }
}

@media only screen and (max-width: 769px) {
  .block-articles-latest .component-heading {
    padding: 0 30px;
    margin-bottom: 30px;
  }
}

@media only screen and (max-width: 769px) {
  .block-articles-latest {
    padding-top: 30px;
    padding-bottom: 0;
  }

  .block-articles-latest > .container,
  .card-article.is-featured .block-articles-latest > .card-article__main-image,
  .block-articles-latest > .block-topic__main-image {
    width: 100%;
  }
}

.block-magazine-rack,
.block-editors-picks {
  background-color: #f5f5f5;
  padding: 60px 0;
}

@media only screen and (max-width: 829px) {
  .block-magazine-rack,
  .block-editors-picks {
    border-top: 4px solid #2c383c;
  }
}

.block-magazine-rack .boxes,
.block-editors-picks .boxes {
  -ms-flex-align: start;
      align-items: flex-start;
}

.block-magazine-rack .boxing,
.block-editors-picks .boxing {
  -ms-flex-align: start;
      align-items: flex-start;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
}

.block-magazine-rack .boxing figure,
.block-editors-picks .boxing figure {
  margin-top: 25px;
}

@media only screen and (max-width: 829px) {
  .block-magazine-rack,
  .block-editors-picks {
    padding: 30px 0;
  }

  .block-magazine-rack > .container,
  .block-editors-picks > .container,
  .card-article.is-featured .block-magazine-rack > .card-article__main-image,
  .card-article.is-featured .block-editors-picks > .card-article__main-image,
  .block-magazine-rack > .block-topic__main-image,
  .block-editors-picks > .block-topic__main-image {
    width: 100%;
  }

  .block-magazine-rack .component-heading,
  .block-editors-picks .component-heading {
    padding: 15px 30px;
  }
}

.block-magazine-rack.is-last,
.is-last.block-editors-picks {
  margin-bottom: 0;
}

.block-newsletter {
  position: relative;
}

.block-newsletter .mktoEmailField {
  z-index: 1;
}

.block-newsletter .title {
  font-size: 2.5rem;
  line-height: 1.2;
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  color: #000;
  font-weight: 400;
  margin-bottom: 10px;
  text-align: center;
}

@media only screen and (max-width: 749px) {
  .block-newsletter .title {
    display: none;
  }
}

.block-newsletter .subtitle {
  display: block;
  text-align: center;
}

.block-newsletter h3 {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #9FA5A9;
  padding: 30px 0;
  text-align: center;
}

@media only screen and (max-width: 749px) {
  .block-newsletter h3 {
    padding: 22.5px 0;
  }
}

.block-newsletter .logo {
  display: block;
  margin: 0 auto 20px;
}

@media only screen and (max-width: 749px) {
  .block-newsletter .logo {
    display: none;
  }
}

.block-newsletter form {
  width: 100% !important;
  /* ======== old styles to clean up============== */
}

.block-newsletter form #FirstName,
.block-newsletter form #LastName {
  display: none;
}

.block-newsletter form .mktoFormRow,
.block-newsletter form .mktoOFFset,
.block-newsletter form .mktoClear {
  display: none;
}

.block-newsletter form .mktoFieldDescriptor.mktoFormCol {
  width: 100%;
}

.block-newsletter form .mktoFormRow:nth-child(2),
.block-newsletter form .mktoFormRow:nth-child(3) {
  display: block;
  margin: 30px 0 60px;
}

@media only screen and (max-width: 769px) {
  .block-newsletter form .mktoFormRow:nth-child(3) {
    margin-bottom: 10px;
  }
}

.block-newsletter form .mktoFormRow label {
  color: #9FA5A9;
  font-size: 12px;
  font-weight: 200;
  text-transform: uppercase !important;
}

.block-newsletter form .mktoFormRow .mktoEmailField {
  background-color: transparent;
  border: 1px solid #000;
  font-family: "Artifakt Element", "Helvetica", sans-serif;
  font-size: 20px;
  font-weight: 300;
  height: 50px;
  margin-bottom: 20px;
  margin-top: -31px;
  transition: background-color .3s;
  width: 100% !important;
}

.block-newsletter form .mktoFormRow .mktoEmailField:focus,
.block-newsletter form .mktoFormRow .mktoEmailField.has-value {
  background-color: #fff;
}

.block-newsletter form .mktoFieldWrap {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: column;
      flex-direction: column;
  float: none !important;
  width: 100%;
}

.block-newsletter form .mktoFormRow:nth-child(3) > .mktoFieldDescriptor > .mktoFieldWrap > label {
  display: none;
}

.block-newsletter form .mktoFormRow:nth-child(3) .mktoRadioList {
  margin-top: -15px;
}

.block-newsletter form .mktoFormRow:nth-child(3) .mktoRadioList label {
  color: #1f1f1f;
  -ms-flex: 1;
      flex: 1;
  font-weight: 400;
  max-width: 100px;
  margin: 0;
  text-align: left !important;
}

.block-newsletter form .mktoFormRow:nth-child(3) .mktoRadioList input {
  margin: 0 10px 0 25px;
}

.block-newsletter form .mktoRadioList {
  font-family: "Artifakt Element", "Helvetica", sans-serif;
  width: 100% !important;
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
}

.block-newsletter form .mktoButtonRow {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  width: 100%;
}

@media only screen and (max-width: 769px) {
  .block-newsletter form .mktoButtonRow {
    margin-bottom: 37.5px;
  }
}

.block-newsletter form .mktoButtonRow > span {
  margin: 0 !important;
}

.block-newsletter form button.mktoButton {
  background-image: linear-gradient(to right, #dd2222, #2b388f) !important;
  border: 0 solid !important;
  font-family: "Artifakt Element", "Helvetica", sans-serif;
  font-size: 15px !important;
  font-weight: 500;
  height: 50px;
  min-width: 170px;
  margin-top: 15px;
  padding: 0 !important;
  padding-top: 2px !important;
  text-transform: uppercase !important;
}

.block-newsletter form .mktoGutter.mktoHasWidth {
  display: none;
}

.block-newsletter form.mktoForm .mktoError .mktoErrorMsg {
  border-radius: 0;
  background-color: #DD2222;
  background-image: none;
  border: 0 solid;
  box-shadow: none;
  padding: 10px 20px;
  text-shadow: transparent 0 -1px 0;
  color: #fff;
}

.block-newsletter form.mktoForm .mktoError .mktoErrorArrow {
  background-color: #DD2222;
  border: 0 solid;
}

.block-newsletter form p {
  margin: 0 0 39.99px 0;
  text-align: center;
  font-size: 12px;
  line-height: 1.4;
}

.block-newsletter form p a {
  color: #DD2222;
  border-bottom: 1px solid #DD2222;
}

.block-newsletter form .row:not(:last-child) {
  margin: 0 0 15px 0;
}

.block-newsletter form .row.touched.invalid {
  outline: 1px solid red;
}

.block-newsletter form .row p {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #DD2222;
  font-size: 10px;
  padding: 7.5px 15px;
}

.block-newsletter form .privacy {
  color: #9FA5A9;
  font-size: 11px;
  line-height: 1.5;
}

.block-newsletter form .privacy label {
  position: static;
}

.block-newsletter form .privacy a {
  color: #000;
  border-bottom: 1px solid #000;
}

.block-newsletter form .is-errored-privacy {
  background: rgba(255, 0, 0, 0.5);
  color: #fff;
  padding: 5px;
}

.block-newsletter form .privacy-message {
  color: red;
  font-size: 12px;
  margin: 10px 0 20px 0;
  text-align: center;
}

.block-newsletter form .input {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  border: none;
  background: #f5f5f5;
  display: block;
  padding: 22.5px 15px;
  margin: 0;
  text-transform: none;
  width: 100%;
}

.block-newsletter form .input:focus {
  outline: none;
}

.block-newsletter form .submit {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  background: #000;
  border: none;
  color: #fff;
  display: block;
  padding: 22.5px 0;
  position: relative;
  text-align: center;
  width: 100%;
}

.block-newsletter form .submit:after {
  background: rgba(255, 255, 255, 0.1);
  content: " ";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: width .4s;
  width: 0;
}

.block-newsletter form .submit span {
  position: relative;
  z-index: 1;
}

.block-newsletter form .submit:hover:after {
  width: 100%;
}

.block-newsletter form .submit:disabled {
  opacity: .5;
}

.block-newsletter form .submit:disabled:after {
  width: 100%;
}

.block-newsletter form .create {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  background: transparent;
  border: 1px solid #9FA5A9;
  color: #9FA5A9;
  display: block;
  padding: 18px 0;
  text-align: center;
  width: 100%;
}

.block-newsletter form .errormsg {
  color: red;
  margin: 10px 0 0 0;
}

.block-newsletter .boxed {
  background: #fff;
  padding: 75px 135px;
  border-bottom: 20px solid;
  -o-border-image: url(../images/pattern_dark.png?8a2df709257fb4b3d3a30bd6e2de7a34) 50 0 repeat;
     border-image: url(../images/pattern_dark.png?8a2df709257fb4b3d3a30bd6e2de7a34) 50 0 repeat;
}

@media only screen and (max-width: 749px) {
  .block-newsletter .boxed {
    padding: 22.5px;
  }
}

.block-newsletter.is-geo .isRadioRow {
  display: none !important;
}

.block-newsletter-sidebar.state-success .block-newsletter__success,
.block-newsletter-inline.state-success .block-newsletter__success,
.block-newsletter-footer.state-success .block-newsletter__success,
.state-success.block-newsletter-inline .block-newsletter__success,
.block-newsletter-unsubscribe.state-success .block-newsletter__success {
  opacity: 1;
  visibility: visible;
}

.block-newsletter-sidebar {
  border-top: 5px solid #000;
}

.block-newsletter-sidebar .boxed {
  padding: 30px 30px;
}

.block-newsletter-sidebar .title,
.block-newsletter-sidebar .subtitle {
  text-align: left;
}

.block-newsletter-sidebar .title {
  font-size: 1.5rem;
  line-height: 1.2;
  margin-bottom: -5px;
}

.block-newsletter-sidebar .subtitle {
  line-height: 1.4;
  margin: 15px 0 0;
}

.block-newsletter-sidebar form {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  margin-top: 15px;
}

.block-newsletter-sidebar form > div:nth-child(2) {
  width: 60%;
  margin-bottom: 0 !important;
}

@media only screen and (max-width: 1199px) {
  .block-newsletter-sidebar form > div:nth-child(2) {
    width: 100%;
    margin-bottom: -10px !important;
  }
}

.block-newsletter-sidebar form > div:nth-child(2) .mktoError {
  right: -64px !important;
  bottom: -40px !important;
}

.block-newsletter-sidebar form > div:nth-child(3) {
  -ms-flex-order: 3;
      order: 3;
  width: 100%;
  margin: -7px 0 -10px !important;
}

@media only screen and (max-width: 1199px) {
  .block-newsletter-sidebar form > div:nth-child(3):nth-child(3) {
    margin-top: 15px !important;
    -ms-flex-order: 0 !important;
        order: 0 !important;
    margin-bottom: 0 !important;
  }
}

.block-newsletter-sidebar form > div:nth-child(5) {
  width: 40%;
  -ms-flex-align: baseline;
      align-items: baseline;
}

@media only screen and (max-width: 1199px) {
  .block-newsletter-sidebar form > div:nth-child(5) {
    width: 100%;
    -ms-flex-align: baseline;
        align-items: baseline;
    margin-bottom: 30px;
  }
}

.block-newsletter-sidebar form > div:nth-child(5) span,
.block-newsletter-sidebar form > div:nth-child(5) button {
  width: 100%;
}

.block-newsletter-sidebar form > div:nth-child(5) button {
  margin-top: 18px;
}

.block-newsletter-sidebar form .mktoFieldWrap {
  -ms-flex-align: left;
      align-items: left;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: column;
      flex-direction: column;
}

.block-newsletter-sidebar form .mktoRadioList {
  margin-top: -15px;
  padding: 0;
  width: 100% !important;
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: end;
      justify-content: flex-end;
  -ms-flex-direction: row;
      flex-direction: row;
}

.block-newsletter-sidebar form .mktoButtonRow {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: left;
      justify-content: left;
  -ms-flex-direction: row;
      flex-direction: row;
  margin-top: -1px;
  width: 100%;
}

.block-newsletter-sidebar form .mktoButtonRow > span {
  margin: 0 !important;
}

.block-newsletter-sidebar form .mktoButtonRow button {
  min-width: 0 !important;
  font-size: 11px !important;
}

.block-newsletter-sidebar form .mktoFormRow .mktoEmailField {
  border: 1px solid #9FA5A9;
  font-size: "Artifakt Element", "Helvetica", sans-serif;
  padding-left: 15px;
  font-size: 12px;
}

.block-newsletter-sidebar form .mktoFormRow label.mktoLabel {
  font-family: "Artifakt Element", "Helvetica", sans-serif;
  font-weight: 300;
  margin-left: 15px;
  width: auto !important;
  font-size: 11px;
}

.block-newsletter-sidebar form .mktoFormRow:nth-child(3) .mktoRadioList input {
  margin: 0 10px 0 0;
  font-size: 11px;
}

.block-newsletter-sidebar form .mktoFormRow:nth-child(3) .mktoRadioList label {
  font-size: 10px;
}

@media only screen and (max-width: 769px) {
  .block-newsletter-sidebar {
    display: none;
  }
}

@media only screen and (max-width: 1199px) {
  .block-newsletter-sidebar .mktoEmailField {
    margin-bottom: 0 !important;
  }

  .block-newsletter-sidebar button.mktoButton {
    margin-top: 0 !important;
  }
}

.block-newsletter-inline__policy {
  margin-top: 18.75px;
  text-align: center;
}

.block-newsletter-sidebar__policy {
  margin-top: 18.75px;
}

.block-newsletter-overlay {
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.1);
  opacity: 0;
  visibility: hidden;
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  position: relative;
  z-index: 10;
  background-image: linear-gradient(to right, rgba(221, 34, 34, 0.95), rgba(43, 56, 143, 0.95));
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  transition: all .7s;
  width: 100%;
}

@media only screen and (min-width: 1030px) {
  .block-newsletter-overlay {
    transform: translate3d(0, 50px, 0);
  }
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay {
    overflow-y: scroll;
  }
}

@media only screen and (max-height: 740px) and (min-width: 750px) and (max-width: 866px) {
  .block-newsletter-overlay {
    -ms-flex-align: start;
        align-items: flex-start;
    overflow-y: scroll;
  }
}

@media only screen and (max-height: 680px) and (min-width: 867px) and (max-width: 1029px) {
  .block-newsletter-overlay {
    -ms-flex-align: start;
        align-items: flex-start;
    overflow-y: scroll;
  }
}

@media only screen and (max-height: 650px) and (min-width: 1030px) {
  .block-newsletter-overlay {
    -ms-flex-align: start;
        align-items: flex-start;
    overflow-y: scroll;
  }
}

.block-newsletter-overlay .box-container {
  position: relative;
  z-index: 20;
  max-width: 1060px;
}

@media only screen and (min-width: 1030px) and (max-width: 1399px) {
  .block-newsletter-overlay .box-container {
    width: 85%;
  }
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay .box-container {
    width: 80%;
  }
}

.block-newsletter-overlay .actions {
  background: #f5f5f5;
  font-size: 1.25rem;
}

.block-newsletter-overlay .actions > .box {
  width: 50%;
}

.block-newsletter-overlay .actions a {
  padding: 37.5px 45px;
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay .actions a {
    padding: 22.5px 22.5px;
  }
}

.block-newsletter-overlay .actions a.is-active {
  background: #fff;
}

.block-newsletter-overlay .title {
  font-size: 30px;
  line-height: 1.3;
}

.block-newsletter-overlay .subtitle {
  font-size: 1.25rem;
  line-height: 1.4;
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay .subtitle {
    font-size: 1.6rem;
    font-weight: 400;
    margin-bottom: 10px;
  }
}

@media only screen and (min-width: 750px) {
  .block-newsletter-overlay .subtitle {
    margin-top: 10px;
  }
}

.block-newsletter-overlay .forms {
  -ms-flex-align: stretch;
      align-items: stretch;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: row;
      flex-direction: row;
  position: relative;
  z-index: 0;
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay .forms {
    border-top: 5px solid #000;
  }
}

.block-newsletter-overlay .featured-image {
  width: 50%;
  background-position: 50%;
  background-size: cover;
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay .featured-image {
    display: none;
  }
}

.block-newsletter-overlay .boxed {
  background: #fff;
  padding: 112.5px 45px 127.5px;
  width: 50%;
  border: 0 solid;
  position: relative;
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay .boxed {
    padding: 82.5px 45px 45px;
    border-bottom: 20px solid;
    -o-border-image: url(../images/pattern_dark.png?8a2df709257fb4b3d3a30bd6e2de7a34) 50 0 repeat;
       border-image: url(../images/pattern_dark.png?8a2df709257fb4b3d3a30bd6e2de7a34) 50 0 repeat;
    width: 100%;
  }
}

@media only screen and (max-width: 479px) {
  .block-newsletter-overlay .boxed {
    padding: 52.5px 30px 30px;
  }
}

@media only screen and (max-height: 780px) and (min-width: 750px) {
  .block-newsletter-overlay .boxed {
    padding-top: 60px;
  }
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay .mktoFormRow {
    height: 0;
  }

  .block-newsletter-overlay .mktoFormRow label {
    text-align: center !important;
  }

  .block-newsletter-overlay .mktoFormRow .mktoEmailField {
    margin-top: -37px !important;
  }
}

.block-newsletter-overlay form .mktoFormRow label {
  font-family: "Artifakt Element", "Helvetica", sans-serif;
  font-weight: 300 !important;
  padding-left: 10px;
  width: 100% !important;
}

.block-newsletter-overlay form .mktoAsterix {
  display: none !important;
}

@media only screen and (max-width: 769px) {
  .block-newsletter-overlay form .mktoLabel.mktoHasWidth {
    position: relative;
    top: -5px;
  }
}

.block-newsletter-overlay form button.mktoButton {
  border-radius: 0;
  font-family: "Artifakt Element", "Helvetica", sans-serif !important;
  font-weight: 500 !important;
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay form button.mktoButton {
    margin-top: 0 !important;
  }
}

@media only screen and (max-width: 749px) {
  .block-newsletter-overlay form .mktoFormRow:nth-child(3) .mktoRadioList {
    margin-top: -20px !important;
  }
}

.block-newsletter-overlay .message {
  text-align: center;
  padding: 0 0 30px 0;
}

.block-newsletter-overlay .block-newsletter__close .line {
  background: #1f1f1f;
}

.block-newsletter-overlay__policy {
  left: 0;
  bottom: 18.75px;
  position: absolute;
  text-align: center;
  width: 100%;
}

@media only screen and (max-width: 479px) {
  .block-newsletter-overlay__policy {
    padding: 0 15px;
  }
}

.block-newsletter-footer,
.block-newsletter-inline {
  background-color: #2c383c;
  position: relative;
  padding: 37.5px 0 0 0;
  z-index: 5;
}

.block-newsletter-footer:before,
.block-newsletter-inline:before {
  background: #fff;
  content: ' ';
  background-image: url(../images/pattern.png?9fd26a76d24e7c15c6bded94c10382f4);
  background-size: 100px auto;
  height: 30px;
  left: 0;
  top: 0;
  position: absolute;
  width: 100%;
}

.block-newsletter-footer .title,
.block-newsletter-inline .title {
  font-size: 2rem;
  margin-bottom: 0;
}

@media only screen and (max-width: 769px) {
  .block-newsletter-footer .title,
  .block-newsletter-inline .title {
    display: block;
    font-size: 1.75rem;
  }
}

.block-newsletter-footer .title,
.block-newsletter-inline .title,
.block-newsletter-footer .subtitle,
.block-newsletter-inline .subtitle {
  color: #fff;
}

.block-newsletter-footer .boxed,
.block-newsletter-inline .boxed {
  background-color: transparent;
  border: 0 solid;
  padding: 30px 33%;
}

@media only screen and (max-width: 479px) {
  .block-newsletter-footer .boxed,
  .block-newsletter-inline .boxed {
    padding: 60px 30px;
  }
}

@media only screen and (min-width: 480px) and (max-width: 829px) {
  .block-newsletter-footer .boxed,
  .block-newsletter-inline .boxed {
    padding: 60px 60px;
  }
}

@media only screen and (min-width: 830px) and (max-width: 1199px) {
  .block-newsletter-footer .boxed,
  .block-newsletter-inline .boxed {
    padding: 30px 25%;
  }
}

.block-newsletter-footer .block-newsletter__success,
.block-newsletter-inline .block-newsletter__success {
  background-color: #2c383c;
  padding: 0;
}

.block-newsletter-footer form,
.block-newsletter-inline form {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  margin-top: 20px;
}

.block-newsletter-footer form > div:nth-child(2),
.block-newsletter-inline form > div:nth-child(2) {
  width: 75%;
  margin-bottom: 0 !important;
}

.block-newsletter-footer form > div:nth-child(2) .mktoError,
.block-newsletter-inline form > div:nth-child(2) .mktoError {
  right: -64px !important;
  bottom: -40px !important;
}

.block-newsletter-footer form > div:nth-child(3),
.block-newsletter-inline form > div:nth-child(3) {
  -ms-flex-order: 3;
      order: 3;
  width: 100%;
  margin: -7px 0 -10px !important;
}

.block-newsletter-footer form > div:nth-child(3) .mktoRadioList,
.block-newsletter-inline form > div:nth-child(3) .mktoRadioList {
  margin-top: 0 !important;
}

.block-newsletter-footer form > div:nth-child(3) .mktoRadioList label,
.block-newsletter-inline form > div:nth-child(3) .mktoRadioList label {
  color: #fff !important;
  position: relative;
  top: 1px;
}

.block-newsletter-footer form > div:nth-child(5),
.block-newsletter-inline form > div:nth-child(5) {
  width: 25%;
  -ms-flex-align: baseline;
      align-items: baseline;
}

.block-newsletter-footer form > div:nth-child(5) span,
.block-newsletter-inline form > div:nth-child(5) span,
.block-newsletter-footer form > div:nth-child(5) button,
.block-newsletter-inline form > div:nth-child(5) button {
  height: 33px;
  margin-top: 3px;
  width: 100%;
}

@media only screen and (max-width: 1199px) {
  .block-newsletter-footer form > div:nth-child(2),
  .block-newsletter-inline form > div:nth-child(2) {
    width: 60%;
  }

  .block-newsletter-footer form > div:nth-child(5),
  .block-newsletter-inline form > div:nth-child(5) {
    width: 40%;
  }

  .block-newsletter-footer form > div:nth-child(5) button,
  .block-newsletter-inline form > div:nth-child(5) button {
    min-width: 0;
  }
}

.block-newsletter-footer form .mktoFieldWrap,
.block-newsletter-inline form .mktoFieldWrap {
  -ms-flex-align: left;
      align-items: left;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: column;
      flex-direction: column;
}

.block-newsletter-footer form button.mktoButton,
.block-newsletter-inline form button.mktoButton {
  border-radius: 0;
  background-color: #fff !important;
  background-image: none !important;
  color: #2c383c !important;
}

.block-newsletter-footer form .mktoFormRow .mktoEmailField,
.block-newsletter-inline form .mktoFormRow .mktoEmailField {
  border: 1px solid #9FA5A9;
  color: #fff;
  height: 33px;
}

.block-newsletter-footer form .mktoFormRow .mktoEmailField:focus,
.block-newsletter-inline form .mktoFormRow .mktoEmailField:focus,
.block-newsletter-footer form .mktoFormRow .mktoEmailField.has-value,
.block-newsletter-inline form .mktoFormRow .mktoEmailField.has-value {
  background-color: #2c383c;
}

.block-newsletter-footer form .mktoFormRow label.mktoLabel.mktoHasWidth,
.block-newsletter-inline form .mktoFormRow label.mktoLabel.mktoHasWidth {
  font-family: "Artifakt Element", "Helvetica", sans-serif;
  font-weight: 300;
  color: #fff;
  left: 10px;
  position: relative;
  top: -8px;
  width: auto !important;
}

.block-newsletter-footer form .mktoFieldDescriptor.mktoFormCol,
.block-newsletter-inline form .mktoFieldDescriptor.mktoFormCol {
  margin-bottom: 5px !important;
}

.block-newsletter-footer form .mktoOffset,
.block-newsletter-inline form .mktoOffset {
  display: none;
}

@media only screen and (max-width: 769px) {
  .block-newsletter-footer,
  .block-newsletter-inline {
    border: 0 solid;
  }
}

.block-newsletter-footer__policy {
  margin-top: 18.75px;
  text-align: center;
}

.block-newsletter-inline {
  border-width: 0;
}

.block-newsletter-inline form > div:nth-child(5) button {
  margin-top: 2px;
}

.block-newsletter-unsubscribe {
  padding-top: 15px;
}

.block-newsletter-unsubscribe .mktoOffset {
  display: none;
}

.block-newsletter-unsubscribe .mktoFieldWrap {
  display: block !important;
}

.block-newsletter-unsubscribe .mktoFormRow:nth-child(2) {
  margin-bottom: 0 !important;
}

.block-newsletter-unsubscribe #Email {
  padding-left: 15px;
}

.block-newsletter-unsubscribe label {
  margin-left: 15px !important;
  width: auto !important;
}

.block-newsletter-unsubscribe button {
  color: #fff !important;
  margin-top: 0 !important;
}

.block-newsletter-unsubscribe .block-newsletter__success {
  margin: -30px -10% 0;
  width: 120%;
}

.block-newsletter-unsubscribe .block-newsletter__success .title {
  display: block;
  font-size: 16px;
}

@media only screen and (max-width: 769px) {
  .block-newsletter-unsubscribe .block-newsletter__success {
    margin: 0 -3% 0;
    width: 106%;
    display: block;
    padding: 60px 0 120px;
  }
}

@media only screen and (max-width: 769px) {
  .block-newsletter-unsubscribe {
    padding-top: 5px !important;
  }

  .block-newsletter-unsubscribe .mktoButtonWrap,
  .block-newsletter-unsubscribe button {
    width: 100% !important;
  }

  .block-newsletter-unsubscribe button {
    margin-top: 0 !important;
  }

  .block-newsletter-unsubscribe .mktoFormRow {
    margin-bottom: 0 !important;
  }
}

.block-newsletter__close {
  right: 10px;
  position: absolute;
  top: 60px;
  transform: translate3d(-50%, -200%, 0);
  width: 18px;
  z-index: 10;
}

.block-newsletter__close .line-1 {
  transform: rotate(45deg);
  top: 9px;
}

.block-newsletter__close .line-2 {
  opacity: 0;
}

.block-newsletter__close .line-3 {
  transform: rotate(-45deg);
  top: -11px;
}

.block-newsletter__success {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  background: #fff;
  height: 100%;
  left: 0;
  padding: 112.5px 45px 127.5px;
  opacity: 0;
  position: absolute;
  top: 0;
  visibility: hidden;
  transition: all .4s ease;
  width: 100%;
  z-index: 2;
}

.block-newsletter__success .boxeded {
  width: 100%;
}

.mktoButtonWrap .is-waiting {
  background-color: #fff !important;
  color: #9FA5A9 !important;
  display: none;
  background-image: none !important;
  border: 0 solid !important;
  font-family: "Artifakt Element", "Helvetica", sans-serif;
  font-size: 15px !important;
  font-weight: 500;
  height: 50px;
  min-width: 170px;
  margin-top: 2px !important;
  opacity: 1;
  padding: 0 !important;
  padding-top: 2px !important;
  text-transform: uppercase !important;
}

.mktoButtonWrap.state-waiting .is-waiting {
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  display: -ms-flexbox;
  display: flex;
}

.mktoButtonWrap.state-waiting button:first-child {
  display: none;
}

#mktoForm_2003 .mktoButtonWrap .is-waiting,
.block-newsletter-sidebar #mktoForm_1919 .mktoButtonWrap .is-waiting {
  background-image: linear-gradient(to right, #dd2222, #2b388f) !important;
  border: 0 solid !important;
  color: #fff !important;
  margin-top: 15px !important;
  opacity: .5;
}

.block-newsletter-sidebar #mktoForm_1919 .mktoButtonWrap .is-waiting {
  top: 3px !important;
  position: relative;
  min-width: 0;
  font-size: 11px !important;
}

.block-newsletter-footer form > div:nth-child(5) button,
.block-newsletter-inline form > div:nth-child(5) button {
  margin-top: 2px !important;
}

/* ========= NEW MARKETO FORM MIGRATION ================= */

#emailsignup__footer,
#emailsignup__inline,
#emailsignup__overlay,
.emailsignup__sidebar {
  margin: 0 auto;
  max-width: 300px;
}

#emailsignup__footer iframe,
#emailsignup__inline iframe,
#emailsignup__overlay iframe,
.emailsignup__sidebar iframe {
  width: 100%;
}

.block-authors {
  -ms-flex-align: stretch;
      align-items: stretch;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
}

.block-authors > .box {
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.1);
  margin: 0 0 35px 0;
  width: 19%;
}

@media only screen and (max-width: 829px) {
  .block-authors > .box {
    width: 30%;
  }
}

@media only screen and (max-width: 749px) {
  .block-authors > .box {
    width: 46%;
    margin: 2%;
  }
}

.block-authors > .box.is-empty {
  opacity: 0;
}

.block-staff {
  margin: 37.5px auto 60px auto;
  max-width: 600px;
}

.block-staff ul {
  margin: 0 0 40px 0;
}

.block-staff li:not(:last-child) {
  margin: 0 0 20px 0;
}

.block-staff__heading {
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: .5px;
  margin: 0 0 25px 0;
  text-align: center;
  text-transform: uppercase;
}

.block-staff__contributers {
  text-align: center;
  color: #9FA5A9;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .5px;
  text-transform: uppercase;
}

.block-staff__contributers a {
  border-bottom: 1px solid #9FA5A9;
}

.block-awards {
  margin: 0 auto;
  max-width: 570px;
}

.block-awards .boxes {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
}

@media only screen and (max-width: 829px) {
  .block-awards .boxes {
    -ms-flex-direction: column;
        flex-direction: column;
  }
}

@media only screen and (min-width: 830px) {
  .block-awards .box:not(:nth-last-child(-n + 3)) {
    margin-bottom: 15px;
  }
}

@media only screen and (max-width: 829px) {
  .block-awards .box:not(:last-child) {
    margin-bottom: 25px;
  }
}

.block-awards__heading {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: .5px;
  margin: 0 0 25px 0;
  text-align: center;
  text-transform: uppercase;
}

.block-event .main-image .wp-post-image {
  width: 100%;
}

.block-event__container {
  padding-bottom: 75px !important;
}

@media only screen and (max-width: 769px) {
  .block-event__container {
    padding-top: 40px !important;
  }
}

.block-event__speakers {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  margin-left: -15px;
  margin-right: -15px;
}

.block-event__speakers.has-one .card-speaker {
  width: auto;
}

.block-event__section {
  letter-spacing: -0.02em;
  margin: 45px 0 0;
  text-align: center;
}

.block-event__section--intro {
  margin: 30px 0;
}

.block-event__section--intro .block-event__subtext {
  margin-bottom: 15px;
}

@media only screen and (max-width: 769px) {
  .block-event__section--intro .block-event__subtext {
    font-size: 21px;
  }
}

.block-event__heading {
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 40px;
  line-height: 1;
  margin-bottom: 15px;
}

.block-event__subtext {
  color: #9FA5A9;
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 20px;
  line-height: 1;
  margin-bottom: 7.5px;
  text-transform: uppercase;
}

@media only screen and (max-width: 769px) {
  .block-event__subtext {
    font-size: 23px;
  }
}

.block-event__copy {
  text-align: left;
  font-size: 18px;
}

@media only screen and (max-width: 769px) {
  .block-event__copy {
    font-size: 1rem;
  }
}

.block-event__copy h2,
.block-event__copy h3,
.block-event__copy h4,
.block-event__copy h5,
.block-event__copy h6 {
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 40px;
  line-height: 1;
  margin-bottom: 15px;
}

.block-event__copy h3 {
  font-size: 32px;
}

.block-event__copy h4 {
  font-size: 24px;
}

.block-event__copy h5 {
  font-size: 18px;
}

.block-event__copy h6 {
  font-size: 12px;
}

.block-event__copy a:not([href^="https://cdn"]) {
  text-shadow: 0.03em 0 #fff, -0.03em 0 #fff, 0 0.03em #fff, 0 -0.03em #fff, 0.06em 0 #fff, -0.06em 0 #fff, 0.09em 0 #fff, -0.09em 0 #fff, 0.12em 0 #fff, -0.12em 0 #fff, 0.15em 0 #fff, -0.15em 0 #fff;
  background-image: linear-gradient(rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.9));
  background-size: 1px 1px;
  background-repeat: repeat-x;
  background-position: 0% 95%;
  color: rgba(0, 0, 0, 0.9);
  text-decoration: none;
  display: inline-block;
}

.block-event__copy a:not([href^="https://cdn"])::-moz-selection {
  text-shadow: 0.03em 0 #000, -0.03em 0 #000, 0 0.03em #000, 0 -0.03em #000, 0.06em 0 #000, -0.06em 0 #000, 0.09em 0 #000, -0.09em 0 #000, 0.12em 0 #000, -0.12em 0 #000, 0.15em 0 #000, -0.15em 0 #000;
  background: #000;
}

.block-event__copy a:not([href^="https://cdn"])::selection {
  text-shadow: 0.03em 0 #000, -0.03em 0 #000, 0 0.03em #000, 0 -0.03em #000, 0.06em 0 #000, -0.06em 0 #000, 0.09em 0 #000, -0.09em 0 #000, 0.12em 0 #000, -0.12em 0 #000, 0.15em 0 #000, -0.15em 0 #000;
  background: #000;
}

.block-event__copy a:not([href^="https://cdn"]) *,
.block-event__copy a:not([href^="https://cdn"]) *:after,
.block-event__copy a:not([href^="https://cdn"]):after,
.block-event__copy a:not([href^="https://cdn"]) *:before,
.block-event__copy a:not([href^="https://cdn"]):before {
  text-shadow: none;
}

.block-event__copy a:not([href^="https://cdn"]):visited {
  color: rgba(0, 0, 0, 0.9);
}

.block-event__cta {
  background-color: #dd2222;
  background-image: linear-gradient(to right, #dd2222 0%, #2c388f 100%);
  color: #fff;
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  margin-top: 30px;
  min-width: 240px;
  padding: 22px 60px;
  text-transform: uppercase;
}

@media only screen and (max-width: 769px) {
  .block-event__cta {
    font-size: 18px;
    padding: 15px 60px;
  }
}

.block-event__divider {
  border-bottom: 2px solid #DD2222;
  height: 0;
  margin: 0 auto;
  width: 105px;
}

.block-event__section--hotel {
  margin-top: 75px;
}

.block-event__hotel-image {
  margin-top: 30px;
  margin-bottom: 67.5px;
}

.block-event__google-map {
  margin-top: 30px;
  margin-bottom: 67.5px;
}

.block-event__url {
  margin: -5px 0 15px;
}

@media only screen and (max-width: 769px) {
  .block-event__url {
    font-size: 18px;
    overflow-wrap: break-word;
  }
}

.block-event__social a {
  margin: 0 5px;
}

@media only screen and (max-width: 769px) {
  .block-event__social a {
    margin: 0 7.5px;
  }
}

.block-event__social svg {
  width: 25px;
}

@media only screen and (max-width: 769px) {
  .block-event__social svg {
    width: 50px;
  }
}

.block-event__footer-content {
  margin-top: 67.5px;
}

.block-event__footer-content h2 {
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 40px;
  line-height: 1;
  margin-bottom: 15px;
}

.block-event__footer-content h3 {
  color: #9FA5A9;
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 20px;
  line-height: 1;
  margin-bottom: 7.5px;
  text-transform: uppercase;
}

@media only screen and (max-width: 769px) {
  .block-event__footer-content h3 {
    font-size: 23px;
  }
}

.block-event__footer-content p a {
  font-weight: 800;
}

.block-event__footer-content figure {
  margin: 30px 0;
  max-width: 100%;
}

.block-event__footer-content figure img {
  height: auto;
  width: 100%;
}

#gated-content--agenda {
  display: none;
  margin: 60px 0;
}

#gate_code--agenda {
  display: block;
  margin: 60px 0 0;
}

.block-event__gate-code .block-event__copy {
  text-align: center;
}

.block-event__gate-code #iframe1 {
  margin-top: 30px;
}

.block-event__gate-code #iframe1 iframe {
  width: 100%;
}

.block-event__gate-code .block-event__gate-code-footer {
  margin-top: 0;
  margin-bottom: 60px;
}

.block-event__gate-code .block-event__divider {
  margin-bottom: 60px;
  margin-top: 20px;
}

#gated-content--agenda {
  text-align: left;
}

#gated-content--agenda p {
  margin-bottom: 30px;
}

@media only screen and (min-width: 770px) {
  .view-author:after {
    position: relative;
    z-index: -1;
    background: url(../images/pattern.png?9fd26a76d24e7c15c6bded94c10382f4) center center;
    background-size: 100px;
    bottom: 0;
    content: " ";
    height: 100%;
    position: absolute;
    padding: 0 9999px;
    margin: 0 -9999px;
  }

  .view-author:before {
    left: 0;
  }

  .view-author:after {
    bottom: auto;
    height: 500px;
    top: 92px;
  }
}

@media only screen and (max-width: 769px) {
  .view-author {
    background: #fafafa;
  }

  .view-author .block-articles-latest .component-heading {
    line-height: 1;
  }
}

.view-author .row {
  -ms-flex-align: start;
      align-items: flex-start;
}

@media only screen and (max-width: 769px) {
  .view-author .row {
    width: 100%;
  }
}

@media only screen and (max-width: 769px) {
  .view-author .row > .box {
    width: 100%;
  }
}

.view-author > .container:first-child,
.card-article.is-featured .view-author > .card-article__main-image:first-child,
.view-author > .block-topic__main-image:first-child {
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.1);
  background-color: #fff;
  margin: 100px auto;
}

@media only screen and (max-width: 769px) {
  .view-author > .container:first-child,
  .card-article.is-featured .view-author > .card-article__main-image:first-child,
  .view-author > .block-topic__main-image:first-child {
    margin: 0;
    padding-bottom: 30px;
  }
}

.view-author .card-header {
  padding-top: 10px;
}

.view-author .card-header .avatar {
  border-radius: 50%;
  height: 120px;
  margin: 0 auto 15px;
  width: 120px;
}

.view-author .card-header:after {
  background: none;
  display: none;
}

.view-author .block-articles-latest {
  padding: 60px;
}

@media only screen and (max-width: 769px) {
  .view-author .block-articles-latest {
    padding: 0;
  }
}

.view-front-page > .row:nth-child(1) {
  position: relative;
}

.view-front-page .container,
.view-front-page .card-article.is-featured .card-article__main-image,
.card-article.is-featured .view-front-page .card-article__main-image,
.view-front-page .block-topic__main-image {
  position: relative;
  z-index: 10;
}

@media only screen and (max-width: 769px) {
  .view-front-page .container,
  .view-front-page .card-article.is-featured .card-article__main-image,
  .card-article.is-featured .view-front-page .card-article__main-image,
  .view-front-page .block-topic__main-image {
    width: 100%;
  }
}

.view-front-page .row {
  -ms-flex-align: start;
      align-items: flex-start;
}

@media only screen and (max-width: 769px) {
  .view-front-page .row > .box {
    width: 100%;
  }
}

@media only screen and (min-width: 750px) and (max-width: 769px) {
  .view-front-page .row > .box-1.has-no-mobile-margin .card-article.is-large {
    margin: 0;
  }
}

@media only screen and (min-width: 750px) and (max-width: 769px) {
  .view-front-page .row > .box-1.grid-8-offset-1:not(.has-no-mobile-margin) .card-article.is-large {
    margin: 0 0 60px 0;
  }
}

.view-front-page .row > .box-2 .card-article.is-small:last-child {
  margin: 0;
}

.view-front-page .row:not(:last-child) {
  margin-bottom: 60px;
  padding-bottom: 1px;
}

@media only screen and (max-width: 749px) {
  .view-front-page .row:not(:last-child) {
    margin-bottom: 0px;
  }
}

@media only screen and (min-width: 750px) {
  .view-front-page .card-article.is-small:first-child {
    margin: 0 0 60px 0;
  }
}

@media only screen and (min-width: 750px) and (max-width: 769px) {
  .view-front-page .card-article.is-small {
    margin: 0 0 60px 0;
  }
}

.view-front-page .button-the-latest {
  border-bottom: 4px solid #2c383c;
  border-top: 1px solid #9FA5A9;
  padding: 30px;
}

@media only screen and (max-width: 769px) {
  .view-front-page .block-editors-picks + .block-topic-section {
    padding-bottom: 0;
  }
}

.view-front-page__bar {
  background: url(../images/pattern.png?9fd26a76d24e7c15c6bded94c10382f4) center center;
  background-size: 100px auto;
  height: 37.5px;
}

.view-page-authors header {
  font-size: 2.5rem;
  line-height: 1.2;
  margin: 0 0 22.5px 0;
  text-align: left;
}

.view-page-authors header h2 {
  color: #1f1f1f;
  margin: 30px 0;
  font-size: 40px;
  text-align: center;
}

.view-page-authors .block-authors__name {
  font-size: 16px;
  line-height: 1.2;
  padding: 22.5px 15px;
}

.view-page {
  padding-bottom: 90px;
}

.view-page .page-container {
  position: relative;
  z-index: 40;
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.1);
  background: #fff;
  margin-top: -90px;
  max-width: 810px;
  padding: 60px 75px 90px 75px;
}

@media only screen and (max-width: 749px) {
  .view-page .page-container {
    padding: 30px;
  }
}

.view-page .stripes-container {
  position: relative;
  z-index: -1;
  margin-bottom: -400px;
  min-height: 500px;
}

.view-page .stripes-container:after {
  position: relative;
  z-index: -1;
  background: url(../images/pattern.png?9fd26a76d24e7c15c6bded94c10382f4) center center;
  background-size: 100px;
  bottom: 0;
  content: " ";
  height: 100%;
  position: absolute;
  padding: 0 9999px;
  margin: 0 -9999px;
}

.view-page .stripes-container:before {
  left: 0;
}

.view-page .main-image {
  position: relative;
  z-index: 10;
}

.view-page .main-image:after {
  position: relative;
  z-index: -1;
  background: url(../images/pattern.png?9fd26a76d24e7c15c6bded94c10382f4) center center;
  background-size: 100px;
  bottom: 0;
  content: " ";
  height: 100%;
  position: absolute;
  padding: 0 9999px;
  margin: 0 -9999px;
}

.view-page .main-image:before {
  left: 0;
}

.view-page .main-image .container,
.view-page .main-image .card-article.is-featured .card-article__main-image,
.card-article.is-featured .view-page .main-image .card-article__main-image,
.view-page .main-image .block-topic__main-image {
  position: relative;
  z-index: 10;
}

@media only screen and (max-width: 769px) {
  .view-page .main-image .container,
  .view-page .main-image .card-article.is-featured .card-article__main-image,
  .card-article.is-featured .view-page .main-image .card-article__main-image,
  .view-page .main-image .block-topic__main-image {
    width: 100%;
  }
}

.view-page header {
  font-size: 2.5rem;
  line-height: 1.2;
  margin: 0 0 22.5px 0;
  text-align: center;
}

.view-page header h2 {
  margin: 0;
}

.view-page header h1,
.view-page header h2,
.view-page header h3,
.view-page header h4,
.view-page header h5 {
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-weight: 400;
}

.view-page__content h1,
.view-page__content h2,
.view-page__content h3,
.view-page__content h4,
.view-page__content h5 {
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-weight: 400;
}

.view-page__content p {
  font-size: 1.125rem;
  line-height: 1.4;
  margin: 0 0 1.4em 0;
}

@media only screen and (max-width: 769px) {
  .view-page__content p {
    font-size: 1.875rem;
  }
}

@media only screen and (max-width: 749px) {
  .view-page__content p {
    font-size: 1rem;
  }
}

.view-page__content p:last-child {
  margin: 0;
}

.view-page__content a:not([href^="https://cdn"]) {
  text-shadow: 0.03em 0 #fff, -0.03em 0 #fff, 0 0.03em #fff, 0 -0.03em #fff, 0.06em 0 #fff, -0.06em 0 #fff, 0.09em 0 #fff, -0.09em 0 #fff, 0.12em 0 #fff, -0.12em 0 #fff, 0.15em 0 #fff, -0.15em 0 #fff;
  background-image: linear-gradient(rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.9));
  background-size: 1px 1px;
  background-repeat: repeat-x;
  background-position: 0% 95%;
  color: rgba(0, 0, 0, 0.9);
  text-decoration: none;
}

.view-page__content a:not([href^="https://cdn"])::-moz-selection {
  text-shadow: 0.03em 0 #000, -0.03em 0 #000, 0 0.03em #000, 0 -0.03em #000, 0.06em 0 #000, -0.06em 0 #000, 0.09em 0 #000, -0.09em 0 #000, 0.12em 0 #000, -0.12em 0 #000, 0.15em 0 #000, -0.15em 0 #000;
  background: #000;
}

.view-page__content a:not([href^="https://cdn"])::selection {
  text-shadow: 0.03em 0 #000, -0.03em 0 #000, 0 0.03em #000, 0 -0.03em #000, 0.06em 0 #000, -0.06em 0 #000, 0.09em 0 #000, -0.09em 0 #000, 0.12em 0 #000, -0.12em 0 #000, 0.15em 0 #000, -0.15em 0 #000;
  background: #000;
}

.view-page__content a:not([href^="https://cdn"]) *,
.view-page__content a:not([href^="https://cdn"]) *:after,
.view-page__content a:not([href^="https://cdn"]):after,
.view-page__content a:not([href^="https://cdn"]) *:before,
.view-page__content a:not([href^="https://cdn"]):before {
  text-shadow: none;
}

.view-page__content a:not([href^="https://cdn"]):visited {
  color: rgba(0, 0, 0, 0.9);
}

.is-dark .view-page__content a:not([href^="https://cdn"]) {
  text-shadow: 0.03em 0 #222d31, -0.03em 0 #222d31, 0 0.03em #222d31, 0 -0.03em #222d31, 0.06em 0 #222d31, -0.06em 0 #222d31, 0.09em 0 #222d31, -0.09em 0 #222d31, 0.12em 0 #222d31, -0.12em 0 #222d31, 0.15em 0 #222d31, -0.15em 0 #222d31;
  background-image: linear-gradient(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9));
  background-size: 1px 1px;
  background-repeat: repeat-x;
  background-position: 0% 95%;
  color: rgba(255, 255, 255, 0.9);
  text-decoration: none;
}

.is-dark .view-page__content a:not([href^="https://cdn"])::-moz-selection {
  text-shadow: 0.03em 0 #fff, -0.03em 0 #fff, 0 0.03em #fff, 0 -0.03em #fff, 0.06em 0 #fff, -0.06em 0 #fff, 0.09em 0 #fff, -0.09em 0 #fff, 0.12em 0 #fff, -0.12em 0 #fff, 0.15em 0 #fff, -0.15em 0 #fff;
  background: #fff;
}

.is-dark .view-page__content a:not([href^="https://cdn"])::selection {
  text-shadow: 0.03em 0 #fff, -0.03em 0 #fff, 0 0.03em #fff, 0 -0.03em #fff, 0.06em 0 #fff, -0.06em 0 #fff, 0.09em 0 #fff, -0.09em 0 #fff, 0.12em 0 #fff, -0.12em 0 #fff, 0.15em 0 #fff, -0.15em 0 #fff;
  background: #fff;
}

.is-dark .view-page__content a:not([href^="https://cdn"]) *,
.is-dark .view-page__content a:not([href^="https://cdn"]) *:after,
.is-dark .view-page__content a:not([href^="https://cdn"]):after,
.is-dark .view-page__content a:not([href^="https://cdn"]) *:before,
.is-dark .view-page__content a:not([href^="https://cdn"]):before {
  text-shadow: none;
}

.is-dark .view-page__content a:not([href^="https://cdn"]):visited {
  color: rgba(255, 255, 255, 0.9);
}

.view-page__content strong,
.view-page__content b {
  font-weight: 800;
}

.view-page__content em {
  font-style: italic;
}

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

.view-page__content .post-password-form input[type="password"] {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  border: none;
  background: #f5f5f5;
  display: block;
  padding: 22.5px 15px;
  margin: 0;
  text-transform: none;
  width: 100%;
}

.view-page__content .post-password-form input[type="password"]:focus {
  outline: none;
}

.view-page__content .post-password-form input[type="submit"] {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  background: #000;
  border: none;
  color: #fff;
  display: block;
  padding: 22.5px 0;
  position: relative;
  text-align: center;
  width: 100%;
}

.view-page__content .post-password-form input[type="submit"]:after {
  background: rgba(255, 255, 255, 0.1);
  content: " ";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: width .4s;
  width: 0;
}

.view-page__content .post-password-form input[type="submit"] span {
  position: relative;
  z-index: 1;
}

.view-page__content .post-password-form input[type="submit"]:hover:after {
  width: 100%;
}

.ebook-container {
  padding: 0 0 25px 0;
  position: relative;
}

.ebook-container .ebook-controls {
  position: relative;
  z-index: 50;
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
  background-color: rgba(255, 255, 255, 0.8);
  top: 0;
  left: 0;
  position: absolute;
}

.ebook-container .slick-arrow {
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 50% auto;
  border: none;
  height: 30px;
  transition: all .4s;
  text-indent: -999999px;
  width: 30px;
}

.ebook-container .slick-arrow.slick-next {
  background-image: url(../fonts/icon-arrow-right.svg?b403f8b74908f4a3e1fda131cc7d7325);
}

.ebook-container .slick-arrow.slick-prev {
  background-image: url(../fonts/icon-arrow-left.svg?f00bf64937e01744a0a3404e50f8af25);
}

.ebook-container .slick-arrow.slick-disabled {
  opacity: .25;
}

.view-single-post .wistia_responsive_padding {
  margin-bottom: 1.4em;
}

.view-single-post .block-magazine-rack,
.view-single-post .block-editors-picks {
  position: relative;
  z-index: 10;
}

.view-single-post .main-image__caption {
  bottom: 90px;
  color: #fff;
  font-size: 14px;
  line-height: 1.5;
  left: 0;
  max-width: 640px;
  opacity: 0;
  padding: 0 75px;
  position: absolute;
  transition: all .4s;
  width: 100%;
}

.view-single-post .main-image__caption > .boxed {
  border-left: 3px solid #fff;
  padding: 0 0 0 15px;
}

.view-single-post .block-single__content h2,
.view-single-post .block-single__content h3,
.view-single-post .block-single__content h4,
.view-single-post .block-single__content h5,
.view-single-post .block-single__content h6 {
  font-size: 1.125rem;
  line-height: 1.4;
  margin-bottom: 7.5px;
}

.view-single-post .container strong,
.view-single-post .card-article.is-featured .card-article__main-image strong,
.card-article.is-featured .view-single-post .card-article__main-image strong,
.view-single-post .block-topic__main-image strong,
.view-single-post .container b,
.view-single-post .card-article.is-featured .card-article__main-image b,
.card-article.is-featured .view-single-post .card-article__main-image b,
.view-single-post .block-topic__main-image b {
  font-weight: 800;
}

.view-single-post .container em,
.view-single-post .card-article.is-featured .card-article__main-image em,
.card-article.is-featured .view-single-post .card-article__main-image em,
.view-single-post .block-topic__main-image em {
  font-style: italic;
}

.view-single-post .container p,
.view-single-post .card-article.is-featured .card-article__main-image p,
.card-article.is-featured .view-single-post .card-article__main-image p,
.view-single-post .block-topic__main-image p {
  position: relative;
  z-index: 10;
}

.view-single-post .container p,
.view-single-post .card-article.is-featured .card-article__main-image p,
.card-article.is-featured .view-single-post .card-article__main-image p,
.view-single-post .block-topic__main-image p,
.view-single-post .container ul,
.view-single-post .card-article.is-featured .card-article__main-image ul,
.card-article.is-featured .view-single-post .card-article__main-image ul,
.view-single-post .block-topic__main-image ul {
  font-size: 1.125rem;
  line-height: 1.4;
  margin: 0 0 1.4em 0;
}

@media only screen and (max-width: 769px) {
  .view-single-post .container p,
  .view-single-post .card-article.is-featured .card-article__main-image p,
  .card-article.is-featured .view-single-post .card-article__main-image p,
  .view-single-post .block-topic__main-image p,
  .view-single-post .container ul,
  .view-single-post .card-article.is-featured .card-article__main-image ul,
  .card-article.is-featured .view-single-post .card-article__main-image ul,
  .view-single-post .block-topic__main-image ul {
    font-size: 1.875rem;
  }
}

@media only screen and (max-width: 749px) {
  .view-single-post .container p,
  .view-single-post .card-article.is-featured .card-article__main-image p,
  .card-article.is-featured .view-single-post .card-article__main-image p,
  .view-single-post .block-topic__main-image p,
  .view-single-post .container ul,
  .view-single-post .card-article.is-featured .card-article__main-image ul,
  .card-article.is-featured .view-single-post .card-article__main-image ul,
  .view-single-post .block-topic__main-image ul {
    font-size: 1rem;
  }
}

.view-single-post .container p:last-child,
.view-single-post .card-article.is-featured .card-article__main-image p:last-child,
.card-article.is-featured .view-single-post .card-article__main-image p:last-child,
.view-single-post .block-topic__main-image p:last-child,
.view-single-post .container ul:last-child,
.view-single-post .card-article.is-featured .card-article__main-image ul:last-child,
.card-article.is-featured .view-single-post .card-article__main-image ul:last-child,
.view-single-post .block-topic__main-image ul:last-child {
  margin: 0;
}

.view-single-post .container ul,
.view-single-post .card-article.is-featured .card-article__main-image ul,
.card-article.is-featured .view-single-post .card-article__main-image ul,
.view-single-post .block-topic__main-image ul {
  margin-left: 1.4em;
}

.view-single-post .container ul li:not(:last-child),
.view-single-post .card-article.is-featured .card-article__main-image ul li:not(:last-child),
.card-article.is-featured .view-single-post .card-article__main-image ul li:not(:last-child),
.view-single-post .block-topic__main-image ul li:not(:last-child) {
  margin: 0 0 5px 0;
}

.view-single-post .container blockquote,
.view-single-post .card-article.is-featured .card-article__main-image blockquote,
.card-article.is-featured .view-single-post .card-article__main-image blockquote,
.view-single-post .block-topic__main-image blockquote {
  border-bottom: 1px solid #a9b5b8;
  border-top: 1px solid #a9b5b8;
  margin: 2.2em 0;
  text-align: center;
}

.view-single-post .container blockquote p,
.view-single-post .card-article.is-featured .card-article__main-image blockquote p,
.card-article.is-featured .view-single-post .card-article__main-image blockquote p,
.view-single-post .block-topic__main-image blockquote p {
  font-weight: 800;
  font-size: 1.5rem;
  margin: 35px auto !important;
}

@media only screen and (min-width: 750px) {
  .view-single-post .container blockquote p,
  .view-single-post .card-article.is-featured .card-article__main-image blockquote p,
  .card-article.is-featured .view-single-post .card-article__main-image blockquote p,
  .view-single-post .block-topic__main-image blockquote p {
    max-width: 70%;
  }
}

@media only screen and (max-width: 769px) {
  .view-single-post .container blockquote p,
  .view-single-post .card-article.is-featured .card-article__main-image blockquote p,
  .card-article.is-featured .view-single-post .card-article__main-image blockquote p,
  .view-single-post .block-topic__main-image blockquote p {
    font-size: 1.875rem;
  }
}

@media only screen and (max-width: 749px) {
  .view-single-post .container blockquote p,
  .view-single-post .card-article.is-featured .card-article__main-image blockquote p,
  .card-article.is-featured .view-single-post .card-article__main-image blockquote p,
  .view-single-post .block-topic__main-image blockquote p {
    font-size: 1.25rem;
  }
}

.view-single-post .container .entry-content-asset,
.view-single-post .card-article.is-featured .card-article__main-image .entry-content-asset,
.card-article.is-featured .view-single-post .card-article__main-image .entry-content-asset,
.view-single-post .block-topic__main-image .entry-content-asset,
.view-single-post .container .wp-video,
.view-single-post .card-article.is-featured .card-article__main-image .wp-video,
.card-article.is-featured .view-single-post .card-article__main-image .wp-video,
.view-single-post .block-topic__main-image .wp-video,
.view-single-post .container .component-gallery,
.view-single-post .card-article.is-featured .card-article__main-image .component-gallery,
.card-article.is-featured .view-single-post .card-article__main-image .component-gallery,
.view-single-post .block-topic__main-image .component-gallery {
  margin: 0 0 1.4em 0;
}

.view-single-post .container .size-full,
.view-single-post .card-article.is-featured .card-article__main-image .size-full,
.card-article.is-featured .view-single-post .card-article__main-image .size-full,
.view-single-post .block-topic__main-image .size-full,
.view-single-post .container .alignnone,
.view-single-post .card-article.is-featured .card-article__main-image .alignnone,
.card-article.is-featured .view-single-post .card-article__main-image .alignnone,
.view-single-post .block-topic__main-image .alignnone {
  display: block;
  height: auto;
  max-width: 100%;
}

@media only screen and (min-width: 770px) {
  .view-single-post .container .is-fullbrowserwidth,
  .view-single-post .card-article.is-featured .card-article__main-image .is-fullbrowserwidth,
  .card-article.is-featured .view-single-post .card-article__main-image .is-fullbrowserwidth,
  .view-single-post .block-topic__main-image .is-fullbrowserwidth {
    position: relative;
    width: 100vw !important;
    max-width: none;
    left: -75px;
    margin: 7% 0 !important;
  }

  .view-single-post .container .is-fullbrowserwidth img,
  .view-single-post .card-article.is-featured .card-article__main-image .is-fullbrowserwidth img,
  .card-article.is-featured .view-single-post .card-article__main-image .is-fullbrowserwidth img,
  .view-single-post .block-topic__main-image .is-fullbrowserwidth img {
    margin-bottom: 0;
  }
}

@media only screen and (min-width: 980px) {
  .view-single-post .container .is-fullbrowserwidth,
  .view-single-post .card-article.is-featured .card-article__main-image .is-fullbrowserwidth,
  .card-article.is-featured .view-single-post .card-article__main-image .is-fullbrowserwidth,
  .view-single-post .block-topic__main-image .is-fullbrowserwidth {
    left: calc( 0px - 5vw + -21%);
  }
}

@media only screen and (min-width: 1400px) {
  .view-single-post .container .is-fullbrowserwidth,
  .view-single-post .card-article.is-featured .card-article__main-image .is-fullbrowserwidth,
  .card-article.is-featured .view-single-post .card-article__main-image .is-fullbrowserwidth,
  .view-single-post .block-topic__main-image .is-fullbrowserwidth {
    left: calc( 0px - ( (100vw - 1230px) / 2) + -21%);
  }
}

.view-single-post .container .is-fullbrowserwidth .alignnone,
.view-single-post .card-article.is-featured .card-article__main-image .is-fullbrowserwidth .alignnone,
.card-article.is-featured .view-single-post .card-article__main-image .is-fullbrowserwidth .alignnone,
.view-single-post .block-topic__main-image .is-fullbrowserwidth .alignnone {
  width: 100% !important;
}

.view-single-post .container .redshift-video-embed.aligncenter > div,
.view-single-post .card-article.is-featured .card-article__main-image .redshift-video-embed.aligncenter > div,
.card-article.is-featured .view-single-post .card-article__main-image .redshift-video-embed.aligncenter > div,
.view-single-post .block-topic__main-image .redshift-video-embed.aligncenter > div {
  width: 100% !important;
}

.view-single-post .container .alignright,
.view-single-post .card-article.is-featured .card-article__main-image .alignright,
.card-article.is-featured .view-single-post .card-article__main-image .alignright,
.view-single-post .block-topic__main-image .alignright {
  float: right;
  height: auto;
  margin: 0 0 0 5%;
  max-width: 60%;
}

@media only screen and (max-width: 749px) {
  .view-single-post .container .alignright,
  .view-single-post .card-article.is-featured .card-article__main-image .alignright,
  .card-article.is-featured .view-single-post .card-article__main-image .alignright,
  .view-single-post .block-topic__main-image .alignright {
    float: none;
    margin: 0;
    max-width: 100%;
    width: 100%;
  }
}

.view-single-post .container .alignleft,
.view-single-post .card-article.is-featured .card-article__main-image .alignleft,
.card-article.is-featured .view-single-post .card-article__main-image .alignleft,
.view-single-post .block-topic__main-image .alignleft {
  float: left;
  height: auto;
  margin: 0 5% 0 0;
  max-width: 60%;
}

@media only screen and (max-width: 749px) {
  .view-single-post .container .alignleft,
  .view-single-post .card-article.is-featured .card-article__main-image .alignleft,
  .card-article.is-featured .view-single-post .card-article__main-image .alignleft,
  .view-single-post .block-topic__main-image .alignleft {
    float: none;
    margin: 0;
    max-width: 100%;
    width: 100%;
  }
}

.view-single-post .container .component-gallery .wp-caption,
.view-single-post .card-article.is-featured .card-article__main-image .component-gallery .wp-caption,
.card-article.is-featured .view-single-post .card-article__main-image .component-gallery .wp-caption,
.view-single-post .block-topic__main-image .component-gallery .wp-caption {
  margin-bottom: 0;
}

.view-single-post .container .wp-caption,
.view-single-post .card-article.is-featured .card-article__main-image .wp-caption,
.card-article.is-featured .view-single-post .card-article__main-image .wp-caption,
.view-single-post .block-topic__main-image .wp-caption {
  margin-bottom: 1.4em;
  overflow: hidden;
  position: relative;
  z-index: 11;
}

.view-single-post .container .wp-caption img,
.view-single-post .card-article.is-featured .card-article__main-image .wp-caption img,
.card-article.is-featured .view-single-post .card-article__main-image .wp-caption img,
.view-single-post .block-topic__main-image .wp-caption img {
  display: block;
  height: auto;
  width: 100%;
}

.view-single-post .container .wp-caption .wp-caption-text,
.view-single-post .card-article.is-featured .card-article__main-image .wp-caption .wp-caption-text,
.card-article.is-featured .view-single-post .card-article__main-image .wp-caption .wp-caption-text,
.view-single-post .block-topic__main-image .wp-caption .wp-caption-text {
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  bottom: 0;
  left: 0;
  font-size: 0.875rem;
  margin: 0;
  padding: 30px;
  position: absolute;
  transform: translateY(100%);
  transition: transform .4s;
  width: 100%;
  z-index: 5;
}

@media only screen and (max-width: 1029px) {
  .view-single-post .container .wp-caption .wp-caption-text,
  .view-single-post .card-article.is-featured .card-article__main-image .wp-caption .wp-caption-text,
  .card-article.is-featured .view-single-post .card-article__main-image .wp-caption .wp-caption-text,
  .view-single-post .block-topic__main-image .wp-caption .wp-caption-text {
    background: #fff;
    color: #9FA5A9;
    position: static;
    transform: none;
  }
}

.view-single-post .container .wp-caption .wp-caption-text a,
.view-single-post .card-article.is-featured .card-article__main-image .wp-caption .wp-caption-text a,
.card-article.is-featured .view-single-post .card-article__main-image .wp-caption .wp-caption-text a,
.view-single-post .block-topic__main-image .wp-caption .wp-caption-text a {
  background: none;
  border-bottom: 1px solid #fff;
  text-shadow: none;
}

.view-single-post .container .wp-caption:hover .wp-caption-text,
.view-single-post .card-article.is-featured .card-article__main-image .wp-caption:hover .wp-caption-text,
.card-article.is-featured .view-single-post .card-article__main-image .wp-caption:hover .wp-caption-text,
.view-single-post .block-topic__main-image .wp-caption:hover .wp-caption-text {
  transform: translateY(0);
}

.block-single__sidebar .site-ad {
  margin-bottom: 40px;
}

.block-single__sidebar .site-ad:last-child {
  margin-bottom: 0;
}

.is-dark,
.is-dark .block-single__body,
.is-dark .block-magazine-rack,
.is-dark .block-editors-picks {
  background-color: #222d31;
  color: #fff;
}

.is-dark .box-4 svg {
  fill: #fff;
}

.is-dark .block-newsletter-footer:before,
.is-dark .block-newsletter-inline:before {
  background-color: transparent !important;
}

.is-dark .block-menu a,
.is-dark .component-button-newsletter,
.is-dark .block-single__title,
.is-dark .block-single__content,
.is-dark .component-heading span {
  color: #fff;
}

.is-dark .block-single__author {
  color: #9FA5A9;
}

.is-dark .block-magazine-rack,
.is-dark .block-editors-picks {
  border-top: 1px solid #9FA5A9;
}

.is-dark .block-magazine-rack .card-article__title,
.is-dark .block-editors-picks .card-article__title,
.is-dark .block-magazine-rack .card-article__author,
.is-dark .block-editors-picks .card-article__author {
  color: #fff;
}

.is-dark.block-header {
  border-color: #fff;
}

.is-dark .component-share-alt {
  background-color: transparent;
}

.is-dark .component-share-alt a {
  border-color: transparent;
}

.is-dark .component-share-alt svg {
  fill: #2c383c;
}

.is-dark .block-single__sidebar {
  background-color: #222d31;
  outline: 30px solid #222d31;
}

.is-dark .block-single__recommended {
  border-color: #9FA5A9;
}

.is-dark .block-single__recommended .title {
  color: #fff;
}

.is-dark .block-single__recommended .divider {
  background-color: #9FA5A9;
}

.is-dark .block-newsletter-sidebar {
  border-color: #9FA5A9;
}

.is-dark .block-newsletter-sidebar .boxed {
  background-color: transparent;
  -o-border-image: url(../images/pattern.png?9fd26a76d24e7c15c6bded94c10382f4) 50 0 repeat;
     border-image: url(../images/pattern.png?9fd26a76d24e7c15c6bded94c10382f4) 50 0 repeat;
}

.is-dark .block-newsletter-sidebar .title,
.is-dark .block-newsletter-sidebar .subtitle {
  color: #fff;
}

.is-dark .block-newsletter-sidebar form button.mktoButton {
  background-color: #fff !important;
  background-image: none !important;
  color: #2c383c !important;
}

.is-dark .block-newsletter-sidebar form .mktoFormRow:nth-child(3) .mktoRadioList label {
  color: #fff;
}

.is-dark .container .wp-caption .wp-caption-text,
.is-dark .card-article.is-featured .card-article__main-image .wp-caption .wp-caption-text,
.card-article.is-featured .is-dark .card-article__main-image .wp-caption .wp-caption-text,
.is-dark .block-topic__main-image .wp-caption .wp-caption-text {
  background-color: #2c383c;
  color: #fff;
}

/* ==== Event pop up hacks ========== */

body[data-blogid="4"] .container p,
body[data-blogid="4"] .card-article.is-featured .card-article__main-image p,
.card-article.is-featured body[data-blogid="4"] .card-article__main-image p,
body[data-blogid="4"] .block-topic__main-image p,
body[data-blogid="4"] .container ul,
body[data-blogid="4"] .card-article.is-featured .card-article__main-image ul,
.card-article.is-featured body[data-blogid="4"] .card-article__main-image ul,
body[data-blogid="4"] .block-topic__main-image ul {
  font-size: 1rem;
}

@media only screen and (max-width: 769px) {
  body[data-blogid="4"] .container p,
  body[data-blogid="4"] .card-article.is-featured .card-article__main-image p,
  .card-article.is-featured body[data-blogid="4"] .card-article__main-image p,
  body[data-blogid="4"] .block-topic__main-image p,
  body[data-blogid="4"] .container ul,
  body[data-blogid="4"] .card-article.is-featured .card-article__main-image ul,
  .card-article.is-featured body[data-blogid="4"] .card-article__main-image ul,
  body[data-blogid="4"] .block-topic__main-image ul {
    font-size: 1.5rem;
  }
}

@media only screen and (max-width: 749px) {
  body[data-blogid="4"] .container p,
  body[data-blogid="4"] .card-article.is-featured .card-article__main-image p,
  .card-article.is-featured body[data-blogid="4"] .card-article__main-image p,
  body[data-blogid="4"] .block-topic__main-image p,
  body[data-blogid="4"] .container ul,
  body[data-blogid="4"] .card-article.is-featured .card-article__main-image ul,
  .card-article.is-featured body[data-blogid="4"] .card-article__main-image ul,
  body[data-blogid="4"] .block-topic__main-image ul {
    font-size: 0.8125rem;
  }
}

#block-single__gated-content {
  display: none;
  margin: 60px 0;
}

#block-single__gate_code {
  display: block;
  margin: 60px 0 0;
}

#block-single__gate_code h3 {
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 40px;
  line-height: 1;
  margin-bottom: 15px;
  margin-top: 60px;
  text-align: center;
}

#block-single__gate_code .block-single__gate-code-footer p {
  color: #9FA5A9;
  font-family: "Artifakt Legend", "Helvetica", sans-serif;
  font-size: 12px;
  font-weight: 100;
  line-height: 1.5;
  margin: 7.5px auto 10px;
  max-width: 500px;
}

#block-single__gate_code .block-single__gate-code-footer p a {
  background-image: none;
  color: #9FA5A9;
  text-decoration: underline;
}

@media only screen and (max-width: 769px) {
  #block-single__gate_code .block-single__gate-code-footer p {
    font-size: 12px;
  }
}

.block-single__gate-code .block-single__copy {
  text-align: center;
}

.block-single__gate-code #iframe1 {
  margin-top: 30px;
}

.block-single__gate-code #iframe1 iframe {
  width: 100%;
}

.block-single__gate-code .block-single__gate-code-footer {
  margin-top: 0;
  margin-bottom: 60px;
}

.block-single__gate-code .block-single__divider {
  margin-bottom: 60px;
  margin-top: 20px;
}

#block-single__gated-content {
  text-align: left;
}

#block-single__gated-content p {
  margin-bottom: 30px;
}

.view-topic-page .block-magazine-rack,
.view-topic-page .block-editors-picks {
  padding: 30px 0 15px 0;
}

.view-topic-page .block-magazine-rack .component-heading,
.view-topic-page .block-editors-picks .component-heading {
  margin-bottom: 7.5px;
}

.view-topic-page .block-magazine-rack .component-heading span,
.view-topic-page .block-editors-picks .component-heading span {
  font-size: 20px;
}

.state-header-shadowed .block-header {
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.1);
  background: #fff;
}

.state-header-shadowed .block-header.is-dark {
  box-shadow: 3px 3px 24px rgba(0, 0, 0, 0.2);
  background: #000;
  color: rgba(255, 255, 255, 0.9);
}

.state-header-shadowed .block-header.is-dark .logo svg {
  fill: rgba(255, 255, 255, 0.9);
}

.state-header-init .nav-tease {
  opacity: 0;
}

.state-header-init .logo-tease {
  height: 60px;
}

@media only screen and (max-width: 769px) {
  .state-header-init .logo-tease {
    transform: translateY(-100px);
    opacity: 0;
  }
}

@media only screen and (max-width: 769px) {
  .state-header-init .logo-image {
    display: none;
  }
}

.state-header-init .block-header__postmeta {
  transform: translateY(-12px);
  opacity: 1;
  visibility: visible;
  height: 14px;
}

@media only screen and (max-width: 769px) {
  .state-header-init .block-header__postmeta {
    transform: translateY(0);
    text-align: center;
  }
}

.state-header-init .block-header__postmeta-social {
  transform: translateY(-60px);
  opacity: 1;
  height: 58px;
}

@media only screen and (min-width: 1030px) and (min-width: 750px) {
  .state-newsletter-open {
    overflow: hidden;
  }
}

@media only screen and (min-width: 1030px) {
  .state-newsletter-open .site {
    overflow: hidden;
    filter: blur(1px);
  }
}

.state-newsletter-open .block-newsletter {
  opacity: 1;
  visibility: visible;
  z-index: 60;
  transform: translate3d(0, 0, 0);
}

.state-newsletter-open .block-newsletter.block-newsletter-overlay.state-success .block-newsletter__success {
  opacity: 1;
  visibility: visible;
}

.state-newsletter-open .component-layout-close-overlay {
  opacity: 1;
  visibility: visible;
  height: 100%;
  position: absolute;
  width: 100%;
  z-index: 1;
}

@media only screen and (max-width: 1029px) {
  .state-newsletter-open .block-user-actions {
    transform: translateY(100%);
  }
}

@media only screen and (min-width: 750px) {
  .state-megamenu-open {
    overflow: hidden;
  }
}

.state-megamenu-open .site {
  overflow: hidden;
  filter: blur(1px);
}

.state-megamenu-open .block-header .navigation-primary {
  opacity: 1;
  visibility: visible;
}

.state-megamenu-open .block-megamenu__bottom,
.state-megamenu-open .block-megamenu {
  opacity: 1;
  visibility: visible;
  transform: translate3d(0, 0, 0);
}

.state-megamenu-open .component-button-menu .line-1,
.state-megamenu-open .block-search__close .line-1 {
  transform: rotate(45deg);
  top: 9px;
}

.state-megamenu-open .component-button-menu .line-2,
.state-megamenu-open .block-search__close .line-2 {
  opacity: 0;
}

.state-megamenu-open .component-button-menu .line-3,
.state-megamenu-open .block-search__close .line-3 {
  transform: rotate(-45deg);
  top: -10px;
}

@media only screen and (max-width: 1029px) {
  .state-megamenu-open .block-user-actions {
    transform: translateY(100%);
  }
}

@media only screen and (min-width: 750px) {
  .state-search-open {
    overflow: hidden;
  }
}

.state-search-open .site {
  overflow: hidden;
  filter: blur(1px);
}

.state-search-open .block-search {
  opacity: 1;
  visibility: visible;
  position: relative;
  z-index: 70;
  position: fixed;
  transform: translate3d(0, 0, 0);
}

.state-submenu-open .component-submenu {
  height: 50px;
  margin-top: 0px;
  padding: 15px 0;
  opacity: 1;
  overflow: hidden;
}

body.state-switcher-open {
  overflow: hidden;
}

.state-switcher-open .component-switcher {
  opacity: 1;
  overflow-y: scroll;
  visibility: visible;
}

@media only screen and (max-width: 769px) {
  .state-switcher-open .component-switcher__links {
    left: 30px;
    width: calc(100% - 30px);
  }
}

@media screen and (max-height: 900px) and (min-width: 770px) {
  .state-switcher-open .component-switcher__links {
    width: 400px;
    left: calc(100% - 400px);
  }
}

@media only screen and (max-width: 769px) {
  body[data-blogid="4"] .block-newsletter-footer .title,
  body[data-blogid="4"] .block-newsletter-inline .title,
  body[data-blogid="4"] .block-newsletter-inline .title,
  body[data-blogid="4"] .block-single__title {
    font-size: 29.4px !important;
  }

  body[data-blogid="4"] .block-topic__mobile-title {
    font-size: 31.5px;
  }

  body[data-blogid="4"] .block-topic-section .card-article__title {
    font-size: 26.25px !important;
  }

  body[data-blogid="4"] .card-article-feature__title,
  body[data-blogid="4"] .block-featured-section__subtitle,
  body[data-blogid="4"] .component-heading {
    font-size: 25.25px;
  }

  body[data-blogid="4"] .card-article.is-on-the-rack .card-article__title,
  body[data-blogid="4"] .view-single-post .container p,
  body[data-blogid="4"] .view-single-post .card-article.is-featured .card-article__main-image p,
  .card-article.is-featured body[data-blogid="4"] .view-single-post .card-article__main-image p,
  body[data-blogid="4"] .view-single-post .block-topic__main-image p,
  body[data-blogid="4"] .block-newsletter .subtitle,
  body[data-blogid="4"] .view-page-authors .block-authors__name {
    font-size: 16.8px;
  }

  body[data-blogid="4"] .card-article__topic a,
  body[data-blogid="4"] .card-article__author {
    font-size: 15.75px;
  }

  body[data-blogid="4"] .block-footer__menu {
    font-size: 14.7px;
  }

  body[data-blogid="4"] .card-article-feature__author,
  body[data-blogid="4"] .block-footer-secondary,
  body[data-blogid="4"] .block-single__author,
  body[data-blogid="4"] .block-single__topic {
    font-size: 12.6px;
  }

  body[data-blogid="4"] .card-article.is-aside .card-article__title a,
  body[data-blogid="4"] .card-article.is-on-the-rack .card-article__title a {
    font-size: 1.378rem;
  }

  body[data-blogid="4"] .card-header.has-description .card-header__title {
    font-size: 1.968rem;
  }
}

@media screen and (min-width: 1400px) {
  body[data-blogid="7"] .block-header__main .component-button-newsletter {
    font-size: 13px;
    padding: 0 2px;
    letter-spacing: unset;
  }
}

@media screen and (min-width: 1541px) {
  body[data-blogid="7"] .block-header__main .component-button-newsletter svg {
    display: block;
  }
}

@media screen and (min-width: 1400px) and (max-width: 1540px) {
  body[data-blogid="7"] .block-header__main .component-button-newsletter svg {
    display: none;
  }
}

.gform_wrapper ul {
  list-style: none;
}

.gform_wrapper .gform_title {
  display: none;
}

.gform_wrapper .gfield_description.validation_message {
  color: #DD2222;
}

.gform_wrapper div.validation_error {
  color: #DD2222 !important;
  border: none !important;
  padding: 0 !important;
  text-align: left !important;
  margin-bottom: 0 !important;
}

.gform_wrapper .gform_fields li.gfield.gfield_error {
  background-color: transparent !important;
  border-bottom: none !important;
  border-top: none !important;
  margin-bottom: 0 !important;
  margin-top: 0 !important;
}

.gform_wrapper li {
  margin: 0 0 15px 0;
}

.gform_wrapper .ginput_complex > span {
  display: block;
}

.gform_wrapper .ginput_complex > span:not(:last-child) {
  margin: 0 0 15px 0;
}

.gform_wrapper label {
  position: absolute;
  left: -999999px;
}

.gform_wrapper .gform_description {
  font-size: 0.9375rem;
  line-height: 1.4;
  display: block;
  margin: 0 0 15px 0;
}

.gform_wrapper ul.gform_fields li.gfield {
  padding-right: 0 !important;
}

.gform_wrapper .ginput_complex.ginput_container {
  -ms-flex-align: start;
      align-items: flex-start;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: row;
      flex-direction: row;
}

.gform_wrapper .ginput_complex.ginput_container > span:not(:last-child) {
  margin-bottom: 0;
}

.gform_wrapper div.ginput_complex.ginput_container.gf_name_has_2 span {
  display: block;
  width: 100%;
}

.gform_wrapper div.ginput_complex.ginput_container.gf_name_has_2 span:first-child {
  margin-bottom: 15px;
}

.gform_wrapper div.ginput_complex.ginput_container.gf_name_has_2 span:last-child {
  margin-bottom: 0px;
}

.gform_wrapper input,
.gform_wrapper textarea {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  border: none;
  background: #f5f5f5;
  display: block;
  padding: 22.5px 15px;
  margin: 0;
  text-transform: none;
  width: 100% !important;
}

.gform_wrapper input:focus,
.gform_wrapper textarea:focus {
  outline: none;
}

.gform_wrapper input[type="submit"].gform_button.button {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  border: none;
  background: #000;
  color: #fff;
  display: block;
  padding: 22.5px 15px;
  margin: 0;
  width: 100%;
}

.gform_wrapper input[type="submit"].gform_button.button:after {
  background: rgba(255, 255, 255, 0.1);
  content: " ";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: width .4s;
  width: 0;
}

.gform_wrapper input[type="submit"].gform_button.button span {
  position: relative;
  z-index: 1;
}

.gform_wrapper input[type="submit"].gform_button.button:hover {
  background: #000;
}

.gform_wrapper input[type="submit"].gform_button.button:hover:after {
  width: 100%;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlc291cmNlcy9zY3NzL2FwcC5zY3NzIiwicmVzb3VyY2VzL3Njc3MvdmVuZG9yL2hlbHBlcnMuY3NzIiwicmVzb3VyY2VzL3Njc3MvdmVuZG9yL2JyZWFrcG9pbnQvaW5kZXguc2NzcyIsInJlc291cmNlcy9zY3NzL3ZlbmRvci9icmVha3BvaW50L3ZhcmlhYmxlcy9faW5kZXguc2NzcyIsInJlc291cmNlcy9zY3NzL3ZlbmRvci9icmVha3BvaW50L2Z1bmN0aW9ucy9faW5kZXguc2NzcyIsInJlc291cmNlcy9zY3NzL3ZlbmRvci9icmVha3BvaW50L2Z1bmN0aW9ucy9fYnJlYWtwb2ludHMtcGFyc2Uuc2NzcyIsInJlc291cmNlcy9zY3NzL3ZlbmRvci9icmVha3BvaW50L2Z1bmN0aW9ucy9fc3RyaW5nLXRvLW51bWJlci5zY3NzIiwicmVzb3VyY2VzL3Njc3MvdmVuZG9yL2JyZWFrcG9pbnQvZnVuY3Rpb25zL19icmVha3BvaW50cy12YWx1ZXMuc2NzcyIsInJlc291cmNlcy9zY3NzL3ZlbmRvci9icmVha3BvaW50L21peGlucy9faW5kZXguc2NzcyIsInJlc291cmNlcy9zY3NzL3ZlbmRvci9icmVha3BvaW50L21peGlucy9fYnJlYWtwb2ludC5zY3NzIiwicmVzb3VyY2VzL3Njc3MvZW52L2luZGV4LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvdmFyaWFibGVzL2luZGV4LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvdmFyaWFibGVzL19jb2xvcnMuc2NzcyIsInJlc291cmNlcy9zY3NzL2Vudi92YXJpYWJsZXMvX2JhY2tncm91bmRzLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvdmFyaWFibGVzL19ncmlkLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvdmFyaWFibGVzL190eXBlLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvZnVuY3Rpb25zL2luZGV4LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvZnVuY3Rpb25zL19ncmlkLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvZnVuY3Rpb25zL190eXBlLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvbWl4aW5zL2luZGV4LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvbWl4aW5zL19pbWFnZS5zY3NzIiwicmVzb3VyY2VzL3Njc3MvZW52L21peGlucy9fbGluay5zY3NzIiwicmVzb3VyY2VzL3Njc3MvZW52L21peGlucy9fbGV2ZWxzLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvbWl4aW5zL19wcm9wcy5zY3NzIiwicmVzb3VyY2VzL3Njc3MvZW52L21peGlucy9fbGF5b3V0LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvbWl4aW5zL19vdmVybGF5LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvbWl4aW5zL190eXBlLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvbWl4aW5zL19zaGFkb3dzLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvc2V0dXAvaW5kZXguc2NzcyIsInJlc291cmNlcy9zY3NzL2Vudi9zZXR1cC9fYmFzZS5zY3NzIiwibm9kZV9tb2R1bGVzL25vcm1hbGl6ZS5jc3Mvbm9ybWFsaXplLmNzcyIsIm5vZGVfbW9kdWxlcy9ycy1icmVha3BvaW50cy9pbmRleC5zY3NzIiwicmVzb3VyY2VzL3Njc3MvZW52L3NldHVwL19ncmlkLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9lbnYvc2V0dXAvX2xheW91dC5zY3NzIiwicmVzb3VyY2VzL3Njc3MvZW52L3NldHVwL19wcm9wcy5zY3NzIiwicmVzb3VyY2VzL3Njc3MvZW52L3NldHVwL190cmFuc2l0aW9ucy5zY3NzIiwicmVzb3VyY2VzL3Njc3MvY29tcG9uZW50cy9pbmRleC5zY3NzIiwicmVzb3VyY2VzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwicmVzb3VyY2VzL3Njc3MvY29tcG9uZW50cy9faGVhZGluZ3Muc2NzcyIsInJlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX2dhbGxlcnkuc2NzcyIsInJlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX21hZ2F6aW5lLXJhY2suc2NzcyIsInJlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsInJlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX25ld3NsZXR0ZXItcG9saWN5LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9jb21wb25lbnRzL19yZWNvbW1lbmRlZC1pbmxpbmUuc2NzcyIsInJlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX3NoYXJlLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9jb21wb25lbnRzL19zb2NpYWwuc2NzcyIsInJlc291cmNlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwicmVzb3VyY2VzL3Njc3MvY29tcG9uZW50cy9fc3VibWVudS5zY3NzIiwicmVzb3VyY2VzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoZXIuc2NzcyIsInJlc291cmNlcy9zY3NzL2NhcmRzL2luZGV4LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9jYXJkcy9fYWQtaW5saW5lLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9jYXJkcy9fYWQtc2lkZWJhci5zY3NzIiwicmVzb3VyY2VzL3Njc3MvY2FyZHMvX2FydGljbGUuc2NzcyIsInJlc291cmNlcy9zY3NzL2NhcmRzL19hcnRpY2xlLWZlYXR1cmUuc2NzcyIsInJlc291cmNlcy9zY3NzL2NhcmRzL19hcnRpY2xlLXNuaXBwZXQuc2NzcyIsInJlc291cmNlcy9zY3NzL2NhcmRzL19hdXRob3Iuc2NzcyIsInJlc291cmNlcy9zY3NzL2NhcmRzL19hdXRob3Itc25pcHBldC5zY3NzIiwicmVzb3VyY2VzL3Njc3MvY2FyZHMvX3NwZWFrZXIuc2NzcyIsInJlc291cmNlcy9zY3NzL2NhcmRzL19oZWFkZXIuc2NzcyIsInJlc291cmNlcy9zY3NzL2NhcmRzL19zdGFmZi5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL2luZGV4LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9ibG9ja3MvX2Zvb3Rlci5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL19oZWFkZXIuc2NzcyIsInJlc291cmNlcy9zY3NzL2Jsb2Nrcy9fc2VhcmNoLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9ibG9ja3MvX3NpbmdsZS5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL190b3BpYy5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL190b3BpYy1zZWN0aW9uLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9ibG9ja3MvX2ZlYXR1cmVkLXNlY3Rpb24uc2NzcyIsInJlc291cmNlcy9zY3NzL2Jsb2Nrcy9fbWVudS5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL19tZWdhbWVudS5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL19hcnRpY2xlcy1hc2lkZS5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL19hcnRpY2xlcy1sYXRlc3Quc2NzcyIsInJlc291cmNlcy9zY3NzL2Jsb2Nrcy9fbWFnYXppbmUtcmFjay5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL19lZGl0b3JzLXBpY2tzLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9ibG9ja3MvX25ld3NsZXR0ZXIuc2NzcyIsInJlc291cmNlcy9zY3NzL2Jsb2Nrcy9fYXV0aG9ycy5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL19zdGFmZi5zY3NzIiwicmVzb3VyY2VzL3Njc3MvYmxvY2tzL19hd2FyZHMuc2NzcyIsInJlc291cmNlcy9zY3NzL2Jsb2Nrcy9fZXZlbnQuc2NzcyIsInJlc291cmNlcy9zY3NzL3ZpZXdzL2luZGV4LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy92aWV3cy9fYXV0aG9yLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy92aWV3cy9fZnJvbnQtcGFnZS5zY3NzIiwicmVzb3VyY2VzL3Njc3Mvdmlld3MvX3BhZ2UtYXV0aG9ycy5zY3NzIiwicmVzb3VyY2VzL3Njc3Mvdmlld3MvX3BhZ2Uuc2NzcyIsInJlc291cmNlcy9zY3NzL3ZpZXdzL19zaW5nbGUuc2NzcyIsInJlc291cmNlcy9zY3NzL3ZpZXdzL190b3BpYy5zY3NzIiwicmVzb3VyY2VzL3Njc3Mvc3RhdGVzL2luZGV4LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9zdGF0ZXMvX2hlYWRlci5zY3NzIiwicmVzb3VyY2VzL3Njc3Mvc3RhdGVzL19uZXdzbGV0dGVyLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9zdGF0ZXMvX21lZ2FtZW51LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9zdGF0ZXMvX3NlYXJjaC5zY3NzIiwicmVzb3VyY2VzL3Njc3Mvc3RhdGVzL19zdWJtZW51LnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9zdGF0ZXMvX3N3aXRjaGVyLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy9nZW9zLnNjc3MiLCJyZXNvdXJjZXMvc2Nzcy92ZW5kb3IvZ3Jhdml0eS9faW5kZXguc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwidmVuZG9yL2hlbHBlcnNcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvYnJlYWtwb2ludC9pbmRleFwiO1xuXG5AaW1wb3J0IFwiZW52L2luZGV4XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9pbmRleFwiO1xuQGltcG9ydCBcImNhcmRzL2luZGV4XCI7XG5AaW1wb3J0IFwiYmxvY2tzL2luZGV4XCI7XG5AaW1wb3J0IFwidmlld3MvaW5kZXhcIjtcbkBpbXBvcnQgXCJzdGF0ZXMvaW5kZXhcIjtcblxuXG4vLyBnZW8gc3BlY2lmaWMgXG5AaW1wb3J0IFwiZ2Vvc1wiO1xuXG4vLyBncmF2aXR5IGZvcm1zXG5AaW1wb3J0IFwidmVuZG9yL2dyYXZpdHkvaW5kZXhcIjtcbiIsIi8qISBub3JtYWxpemUuY3NzIHYzLjAuMiB8IE1JVCBMaWNlbnNlIHwgZ2l0LmlvL25vcm1hbGl6ZSAqL1xuXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gKiBhbmQgRmlyZWZveC5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgbWFyZ2luOiAwOyAvKiAzICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59LyoqXG4gKlxuICogRlJOVCBSZXNldFxuICogTm9ybWFsaXplIHYzLjAuMiArIEN1c3RvbSBcbiAqL1xuXG4qIHtcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5odG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG5hLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXG5kZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXG5zbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxuYiwgdSwgaSwgY2VudGVyLFxuZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbmZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXG5hcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCwgXG5maWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIFxubWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogMDtcblx0Zm9udC1zaXplOiAxMDAlO1xuXHRmb250OiBpbmhlcml0O1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbmJvZHkge1xuXHRsaW5lLWhlaWdodDogMTtcbn1cblxuYmxvY2txdW90ZSwgcSB7XG5cdHF1b3Rlczogbm9uZTtcbn1cblxuYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIsXG5xOmJlZm9yZSwgcTphZnRlciB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRjb250ZW50OiBub25lO1xufS5pciB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0ZXh0LWluZGVudDogLTk5OWVtO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRkaXJlY3Rpb246IGx0cjtcbn1cblxuLmdyb3VwOmJlZm9yZSwgLmdyb3VwOmFmdGVyIHtcblx0Y29udGVudDogXCJcXDAwMjBcIjsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMDsgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmdyb3VwOmFmdGVyIHtcblx0Y2xlYXI6IGJvdGg7XG59XG5cbi5ncm91cCB7XG5cdHpvb206IDE7XG59XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMvaW5kZXgnO1xuQGltcG9ydCAnZnVuY3Rpb25zL2luZGV4JztcbkBpbXBvcnQgJ21peGlucy9pbmRleCc7XG4iLCIkYnJlYWtwb2ludHMtdmFsdWVzOiAoXG4gIG1vYmlsZS1zbWFsbDogMzIwLFxuICBtb2JpbGUtbWVkaXVtOiA0ODAsXG4gIG1vYmlsZS1sYXJnZTogNzUwLFxuXG4gIHRhYmxldC1zbWFsbDogNzcwLFxuICB0YWJsZXQtbWVkaXVtOiA4MzAsXG4gIHRhYmxldC1sYXJnZTogOTgwLFxuXG4gIGRlc2t0b3Atc21hbGw6IDEwMzAsXG4gIGRlc2t0b3AtbWVkaXVtOiAxMjAwLFxuICBkZXNrdG9wLWxhcmdlOiAxNDAwXG4pICFkZWZhdWx0O1xuXG4kYnJlYWtwb2ludHMtaWU4OiBmYWxzZSFkZWZhdWx0O1xuIiwiQGltcG9ydCAnYnJlYWtwb2ludHMtcGFyc2UnO1xuQGltcG9ydCAnc3RyaW5nLXRvLW51bWJlcic7XG5AaW1wb3J0ICdicmVha3BvaW50cy12YWx1ZXMnO1xuIiwiQGZ1bmN0aW9uIF9icmVha3BvaW50cy1wYXJzZSgkc3RyaW5nKSB7XG4gIC8vIHRleHQgdG8gc2VhcmNoIGZvclxuICAkRlJPTTogJ2Zyb20gJztcbiAgJFRPOiAndG8gJztcblxuXG4gIC8vIGNvbnZlcnQgdG8gc3RyaW5nXG4gICRzdHJpbmc6IGluc3BlY3QoJHN0cmluZyk7XG5cblxuICAvLyBmbGFncyBmb3IgbWluIGFuZCBtYXggdmFsdWVzXG4gICRoYXMtbWluOiBmYWxzZTtcbiAgJGhhcy1tYXg6IGZhbHNlO1xuXG5cbiAgLy8gY2hlY2sgd2hhdCB0eXBlIG9mIGJyZWFrcG9pbnRzIHdlIGhhdmVcbiAgQGlmIHR5cGUtb2Yoc3RyLWluZGV4KCRzdHJpbmcsICRGUk9NKSkgPT0gbnVtYmVyIHtcbiAgICAkaGFzLW1pbjogdHJ1ZTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKHN0ci1pbmRleCgkc3RyaW5nLCAkVE8pKSA9PSBudW1iZXIge1xuICAgICRoYXMtbWF4OiB0cnVlO1xuICB9XG5cblxuICAvLyBzbGljZSB0aGUgc3RyaW5nIHRvIHJldHJpZXZlIG1pbiBhbmQgbWF4IHZhbHVlcyBmb3IgYnJlYWtwb2ludHNcbiAgQGlmICRoYXMtbWluIGFuZCAkaGFzLW1heCB7XG4gICAgJG1pbi1icmVha3BvaW50OiBzdHItc2xpY2UoJHN0cmluZywgc3RyLWxlbmd0aCgkRlJPTSkgKyAxLCBzdHItaW5kZXgoJHN0cmluZywgJFRPKSAtIDIpO1xuICAgICRtYXgtYnJlYWtwb2ludDogc3RyLXNsaWNlKCRzdHJpbmcsIHN0ci1pbmRleCgkc3RyaW5nLCAkVE8pICsgc3RyLWxlbmd0aCgkVE8pKTtcblxuICAgIEByZXR1cm4gKCRtaW4tYnJlYWtwb2ludCwgJG1heC1icmVha3BvaW50KTtcbiAgfSBAZWxzZSBpZiAkaGFzLW1pbiA9PSBmYWxzZSB7XG4gICAgJG1heC1icmVha3BvaW50OiBzdHItc2xpY2UoJHN0cmluZywgc3RyLWxlbmd0aCgkVE8pICsgMSk7XG5cbiAgICBAcmV0dXJuIChmYWxzZSwgJG1heC1icmVha3BvaW50KTtcbiAgfSBAZWxzZSBpZiAkaGFzLW1heCA9PSBmYWxzZSB7XG4gICAgJG1pbi1icmVha3BvaW50OiBzdHItc2xpY2UoJHN0cmluZywgc3RyLWxlbmd0aCgkRlJPTSkgKyAxKTtcblxuICAgIEByZXR1cm4gKCRtaW4tYnJlYWtwb2ludCwgZmFsc2UpO1xuICB9XG5cbiAgQHJldHVybiAoZmFsc2UsIGZhbHNlKTtcbn1cbiIsIkBmdW5jdGlvbiBfc3RyaW5nLXRvLW51bWJlcigkc3RyaW5nKSB7XG4gIC8vIGluc3BpcmVkIGJ5IGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTQvMDEvMTUvc2Fzcy1zdHJpbmctdG8tbnVtYmVyL1xuXG4gICRkaWdpdHM6ICcwMTIzNDU2Nzg5JztcbiAgJG51bWJlcjogMDtcbiAgJG5lZ2F0aXZlOiBmYWxzZTtcbiAgJHVuaXRzOiAoXG4gICAgJyUnOiAxJSxcbiAgICAnY2gnOiAxY2gsXG4gICAgJ2NtJzogMWNtLFxuICAgICdlbSc6IDFlbSxcbiAgICAnZXgnOiAxZXgsXG4gICAgJ2luJzogMWluLFxuICAgICdtbSc6IDFtbSxcbiAgICAncGMnOiAxcGMsXG4gICAgJ3BpY2EnOiAxcGljYSxcbiAgICAncHQnOiAxcHQsXG4gICAgJ3B4JzogMXB4LFxuICAgICdyZW0nOiAxcmVtLFxuICAgICd2bWF4JzogMXZtYXgsXG4gICAgJ3ZtaW4nOiAxdm1pbixcbiAgICAndmgnOiAxdmgsXG4gICAgJ3Z3JzogMXZ3XG4gICk7XG4gICR1bml0OiBudWxsO1xuXG4gIC8vIGlzIGl0IG5lZ2F0aXZlP1xuICBAaWYgc3RyLWluZGV4KCRzdHJpbmcsICctJykgPT0gMSB7XG4gICAgJG5lZ2F0aXZlOiB0cnVlO1xuICAgICRzdHJpbmc6IHN0ci1zbGljZSgkc3RyaW5nLCAyKTtcbiAgfVxuXG4gIC8vIHBhcnNlIHRoZSBzdHJpbmcgYW5kIG1hcCBpdCB0byB0aGUgaW5kZXhlcyBvZiAkZGlnaXRzXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkc3RyaW5nKSB7XG4gICAgJGRpZ2l0OiBzdHItc2xpY2UoJHN0cmluZywgJGksICRpKTtcbiAgICAkaW5kZXg6IHN0ci1pbmRleCgkZGlnaXRzLCAkZGlnaXQpO1xuXG4gICAgQGlmIHR5cGUtb2YoJGluZGV4KSA9PSBudW1iZXIge1xuICAgICAgJG51bWJlcjogJG51bWJlciAqIDEwICsgKCRpbmRleCAtIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHVuaXQ6ICR1bml0I3skZGlnaXR9O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbmVnYXRpdmUge1xuICAgICRudW1iZXI6ICRudW1iZXIgKiAoLTEpO1xuICB9XG5cbiAgQGlmICR1bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdHMsICR1bml0KSB7XG4gICAgJG51bWJlcjogJG51bWJlciAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XG4gIH1cblxuICBAaWYgJHN0cmluZyA9PSAkdW5pdCB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIEByZXR1cm4gJG51bWJlcjtcbn1cbiIsIkBmdW5jdGlvbiBfYnJlYWtwb2ludHMtdmFsdWVzKCR2YWx1ZSkge1xuICAvLyB0cnkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSBwcmUtZXhpc3RpbmcgYnJlYWtwb2ludHNcbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cy12YWx1ZXMsICR2YWx1ZSkge1xuICAgICR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMtdmFsdWVzLCAkdmFsdWUpO1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogMXB4O1xuICAgIH1cbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gc3RyaW5nIHtcbiAgICAkdmFsdWU6IF9zdHJpbmctdG8tbnVtYmVyKCR2YWx1ZSk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9IG51bWJlciB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiQGltcG9ydCAnYnJlYWtwb2ludCc7XG4iLCJAbWl4aW4gYnJlYWtwb2ludCgkc3RyaW5nKSB7XG4gICRzdHJpbmc6IF9icmVha3BvaW50cy1wYXJzZSgkc3RyaW5nKTtcbiAgJG1pbi1icmVha3BvaW50OiBfYnJlYWtwb2ludHMtdmFsdWVzKG50aCgkc3RyaW5nLCAxKSk7XG4gICRtYXgtYnJlYWtwb2ludDogX2JyZWFrcG9pbnRzLXZhbHVlcyhudGgoJHN0cmluZywgMikpO1xuXG4gIEBpZiAoJG1pbi1icmVha3BvaW50ID09IGZhbHNlIGFuZCAkbWF4LWJyZWFrcG9pbnQgPT0gZmFsc2UpIG9yICgkbWF4LWJyZWFrcG9pbnQgPT0gZmFsc2UgYW5kICRicmVha3BvaW50cy1pZTgpIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAkbWluLWJyZWFrcG9pbnQgPT0gZmFsc2Uge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1heC1icmVha3BvaW50IC0gMSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXgtYnJlYWtwb2ludCA9PSBmYWxzZSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWluLWJyZWFrcG9pbnQpIGFuZCAobWF4LXdpZHRoOiAkbWF4LWJyZWFrcG9pbnQgLSAxKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXMvaW5kZXhcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaW5kZXhcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaW5kZXhcIjtcbkBpbXBvcnQgXCJzZXR1cC9pbmRleFwiO1xuIiwiQGltcG9ydCBcImNvbG9yc1wiO1xuQGltcG9ydCBcImJhY2tncm91bmRzXCI7XG5AaW1wb3J0IFwiZ3JpZFwiO1xuQGltcG9ydCBcInR5cGVcIjtcbiIsIi8vIGdlbmVyaWNcblxuJFdISVRFOiAjZmZmO1xuJEJMQUNLOiAjMDAwO1xuXG4vLyBicmFuZFxuXG4kV0hJVEUtT0ZGOiAjZmFmYWZhO1xuJEJMQUNLLU9GRjogIzFmMWYxZjtcbiRHUkVZOiAjOUZBNUE5O1xuJEdSRVktQkxVRTogI2E5YjViODtcbiRHUkVZLUxJR0hUOiAjZjVmNWY1O1xuJERBUkstQkxVRTogIzJjMzgzYztcbiRSRUQ6ICNERDIyMjI7XG4kRVJST1I6ICRSRUQ7XG5cbiREQVJLLUFSVElDTEUtQkc6ICMyMjJkMzE7XG5cbiRGQUNFQk9PSzogIzNiNTk5ODtcbiRUV0lUVEVSOiAjNTVhY2VlO1xuJEdPT0dMRTogI2YwMzUzMDtcbiRMSU5LRURJTjogIzAwNzdiNTtcbiIsIi8vIGRpYWdvbmFsIHN0cmlwZWQgcGF0dGVyblxuJFNUUklQRUQ6IHVybCguLi9pbWFnZXMvcGF0dGVybi5wbmcpIGNlbnRlciBjZW50ZXI7IiwiLy8gJENPTFVNTlM6IDIwcHg7XG5cbiRHUklELUNPTDogNzU7XG4kR1JJRC1TUEFDRVI6IDMwO1xuXG4kR1JJRC1DT05UQUlORVI6ICgkR1JJRC1DT0wgKiAxMikgKyAoJEdSSUQtU1BBQ0VSICogMTEpO1xuXG5cbiRIRUFERVJfSEVJR0hUOiA5MnB4O1xuJEhFQURFUl9IRUlHSFRfTU9CSUxFOiA4NXB4O1xuJE5BVklHQVRJT05fQkFSOiA1MnB4O1xuJEZPT1RFUl9IRUlHSFQ6IDkzcHg7XG5cbi8vIGxheW91dFxuJENPTlRBSU5FUjogMCAxMHZ3O1xuIiwiJFRJVExFOiAnQXJ0aWZha3QgTGVnZW5kJywgJ0hlbHZldGljYScsIHNhbnMtc2VyaWY7XG4kU0FOUzogJ0FydGlmYWt0IEVsZW1lbnQnLCdIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmO1xuJFNFUklGOiAnR2VvcmdpYScsIHNlcmlmO1xuXG4kTElORUhFSUdIVDogMS40O1xuXG4kQkFTRS1TSVpFOiAxNnB4O1xuXG4kSDE6IDMwcHg7XG4kSDI6IDI0cHg7XG4kSDM6IDIwcHg7XG4iLCJAaW1wb3J0IFwiZ3JpZFwiO1xuQGltcG9ydCBcInR5cGVcIjtcbiIsIkBmdW5jdGlvbiBncmlkKCRuOiAxKSB7XG4gICAgQHJldHVybiAkR1JJRC1DT0wgKiAkbiArIHB4O1xufVxuXG5AZnVuY3Rpb24gZ3JpZC1waXhlbHMoJGNvbCwkc3BhY2VyKSB7XG4gICAgQHJldHVybiAoJEdSSUQtQ09MICogJGNvbCkgKyAoJEdSSUQtU1BBQ0VSICogJHNwYWNlcikgKyBweDtcbn1cblxuQGZ1bmN0aW9uIGdyaWQtcGVyY2VudGFnZSgkY29sLCRzcGFjZXIpIHtcbiAgICAkbnVtYmVyOiAoKCRHUklELUNPTCAqICRjb2wpICsgKCRHUklELVNQQUNFUiAqICRzcGFjZXIpKSAvICRHUklELUNPTlRBSU5FUjtcbiAgICAkbnVtYmVyOiBmbG9vcigkbnVtYmVyKjEwMCkgLyAxMDA7XG4gICAgQHJldHVybiBwZXJjZW50YWdlKCRudW1iZXIpO1xufVxuIiwiQGZ1bmN0aW9uIHBpeGVscy10by1yZW0oJHBpeGVscykge1xuICAgIEByZXR1cm4gJHBpeGVscy8kQkFTRS1TSVpFICsgcmVtO1xufVxuIiwiQGltcG9ydCBcImltYWdlXCI7XG5AaW1wb3J0IFwibGlua1wiO1xuQGltcG9ydCBcImxldmVsc1wiO1xuQGltcG9ydCBcInByb3BzXCI7XG5AaW1wb3J0IFwibGF5b3V0XCI7XG5AaW1wb3J0IFwib3ZlcmxheVwiO1xuQGltcG9ydCBcInR5cGVcIjtcbkBpbXBvcnQgXCJzaGFkb3dzXCI7XG4iLCJAbWl4aW4gaW1hZ2UtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGltYWdlLWZ1bGwge1xuICAgIEBpbmNsdWRlIGltYWdlLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5AbWl4aW4gaW1hZ2UtbWF4IHtcbiAgICBAaW5jbHVkZSBpbWFnZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG4iLCJAbWl4aW4gbGluay10ZXh0LXVuZGVybGluZS1jcm9wKCRiYWNrZ3JvdW5kKSB7XG4gIHRleHQtc2hhZG93OiAgLjAzZW0gMCAkYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAtLjAzZW0gMCAkYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAwIC4wM2VtICRiYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgIDAgLS4wM2VtICRiYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgIC4wNmVtIDAgJGJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgLS4wNmVtIDAgJGJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgLjA5ZW0gMCAkYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAtLjA5ZW0gMCAkYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAuMTJlbSAwICRiYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgIC0uMTJlbSAwICRiYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgIC4xNWVtIDAgJGJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgLS4xNWVtIDAgJGJhY2tncm91bmQ7XG59XG5cbkBtaXhpbiBsaW5rLXRleHQtdW5kZXJsaW5lKCRjb2xvci1iZywgJGNvbG9yLXRleHQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRjb2xvci10ZXh0LCAkY29sb3ItdGV4dCk7XG4gIGJhY2tncm91bmQtc2l6ZTogMXB4IDFweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSA5NSU7XG59XG5cbkBtaXhpbiBsaW5rLXRleHQtc2VsZWN0aW9uKCRzZWxlY3Rpb24pIHtcblxuICAmOjpzZWxlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGxpbmstdGV4dC11bmRlcmxpbmUtY3JvcCgkc2VsZWN0aW9uKTtcbiAgICBiYWNrZ3JvdW5kOiAkc2VsZWN0aW9uO1xuICB9XG5cbn1cblxuQG1peGluIGxzcy1saW5rLXVuZGVybGluZSgkYmFja2dyb3VuZCwgJHRleHQsICRzZWxlY3Rpb24pe1xuICBAaW5jbHVkZSBsaW5rLXRleHQtdW5kZXJsaW5lLWNyb3AoJGJhY2tncm91bmQpO1xuICBAaW5jbHVkZSBsaW5rLXRleHQtdW5kZXJsaW5lKCRiYWNrZ3JvdW5kLCAkdGV4dCk7XG4gIEBpbmNsdWRlIGxpbmstdGV4dC1zZWxlY3Rpb24oJHNlbGVjdGlvbik7XG5cbiAgY29sb3I6ICR0ZXh0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgKixcbiAgKjphZnRlcixcbiAgJjphZnRlcixcbiAgKjpiZWZvcmUsXG4gICY6YmVmb3JlIHtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6ICR0ZXh0O1xuICB9XG5cbn1cbiIsIkBtaXhpbiBsZXZlbHMoJGxldmVsOiAwKXtcblxuICAgIEBpZigkbGV2ZWwgPT0gMCl7XG4gICAgICAgICRsZXZlbDogLTE7XG4gICAgfVxuXG4gICAgQGlmKCRsZXZlbCA9PSAxKXtcbiAgICAgICAgJGxldmVsOiAxMDtcbiAgICB9XG5cbiAgICBAaWYoJGxldmVsID09IDIpe1xuICAgICAgICAkbGV2ZWw6IDIwO1xuICAgIH1cblxuICAgIEBpZigkbGV2ZWwgPT0gMyl7XG4gICAgICAgICRsZXZlbDogMzA7XG4gICAgfVxuXG4gICAgQGlmKCRsZXZlbCA9PSA0KXtcbiAgICAgICAgJGxldmVsOiA0MDtcbiAgICB9XG5cbiAgICBAaWYoJGxldmVsID09IDUpe1xuICAgICAgICAkbGV2ZWw6IDUwO1xuICAgIH1cblxuICAgIEBpZigkbGV2ZWwgPT0gNil7XG4gICAgICAgICRsZXZlbDogNjA7XG4gICAgfVxuXG4gICAgQGlmKCRsZXZlbCA9PSA3KXtcbiAgICAgICAgJGxldmVsOiA3MDtcbiAgICB9XG5cbiAgICBAaWYoJGxldmVsID09IDgpe1xuICAgICAgICAkbGV2ZWw6IDgwO1xuICAgIH1cblxuICAgIEBpZigkbGV2ZWwgPT0gOSl7XG4gICAgICAgICRsZXZlbDogOTA7XG4gICAgfVxuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6ICRsZXZlbDtcbn1cbiIsIkBtaXhpbiBwcm9wLW1heC13aWR0aCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuXG5AbWl4aW4gcHJvcC1mdWxsLXdpZHRoIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG59XG4iLCJAbWl4aW4gbGF5b3V0LWZsZXgoJGFsaWduOiBjZW50ZXIsICRqdXN0aWZ5OiBzcGFjZS1iZXR3ZWVuLCAkZGlyZWN0aW9uOiByb3cpe1xuICAgIGFsaWduLWl0ZW1zOiAkYWxpZ247XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcbiAgICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cblxuXG5AbWl4aW4gbGF5b3V0LW92ZXJsYXl7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuQG1peGluIGxheW91dC1idXR0b24oJGRpbWVuc2lvbil7XG4gICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGp1c3RpZnk6IGNlbnRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkQkxBQ0s7XG4gICAgaGVpZ2h0OiAkZGltZW5zaW9uO1xuICAgIHdpZHRoOiAkZGltZW5zaW9uO1xufVxuXG5AbWl4aW4gbGF5b3V0LWhpZGRlbntcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuQG1peGluIGxheW91dC12aXNpYmxle1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTs7XG59XG5cbkBtaXhpbiBsYXlvdXQtc3RhdGUtb3BlbntcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2l0ZXtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gbmVlZGVkIGZvciBtb2JpbGUvdGFibGV0c1xuICAgICAgICBmaWx0ZXI6IGJsdXIoMXB4KTtcbiAgICB9XG5cbn1cblxuQG1peGluIGxheW91dC1zdHJpcGVkLWJhY2tncm91bmQtYmFzaWN7XG4gICAgYmFja2dyb3VuZDogJFNUUklQRUQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDBweDtcbn1cblxuQG1peGluIGxheW91dC1zdHJpcGVkLWJhY2tncm91bmR7XG4gICAgJjphZnRlcntcbiAgICAgICAgQGluY2x1ZGUgbGV2ZWxzKC0xKTtcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LXN0cmlwZWQtYmFja2dyb3VuZC1iYXNpYztcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAvLyBoZWlnaHQ6IGNhbGMoMTAwJSAtIDc1cHgpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHBhZGRpbmc6IDAgOTk5OXB4O1xuICAgICAgICBtYXJnaW46IDAgLTk5OTlweDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZXtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG59XG5cbkBtaXhpbiBsYXlvdXQtZGl2aWRlZC1saXN0KCRzcGFjZXI6IDEsICRjb2xvcjogJEdSRVkpIHtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcjtcblx0bWFyZ2luLXRvcDogZ3JpZC1waXhlbHMoMCwgJHNwYWNlcik7XG5cdHBhZGRpbmctdG9wOiBncmlkLXBpeGVscygwLCAkc3BhY2VyKTtcblxuXHQmOmxhc3QtY2hpbGQge1xuXHRcdHBhZGRpbmctYm90dG9tOiBncmlkLXBpeGVscygwLCAkc3BhY2VyKTtcblx0fVxufVxuXG4iLCJAbWl4aW4gbGF5b3V0LW92ZXJsYXkoJGJhY2tncm91bmQ6IHJnYmEoJEJMQUNLLCAuOCkpIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuIiwiQG1peGluIGgxIHtcbiAgICBmb250LXNpemU6ICRIMTtcbn1cblxuQG1peGluIGgyIHtcbiAgICBmb250LXNpemU6ICRIMjtcbn1cblxuQG1peGluIGgzIHtcbiAgICBmb250LXNpemU6ICRIMztcbn1cblxuQG1peGluIHAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogJExJTkVIRUlHSFQ7XG59XG5cbi8vIG9sZFxuXG5AbWl4aW4gdHlwZS1oMSB7XG4gICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDQwcHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbkBtaXhpbiB0eXBlLWgzIHtcbiAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMjVweCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuQG1peGluIHR5cGUtaDQge1xuICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgxNXB4KTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG5cbkBtaXhpbiB0eXBlLXNtYWxsIHtcbiAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMTBweCk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjA3ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuXG5AbWl4aW4gdHlwZS1wIHtcbiAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMTVweCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuXG5cbiIsIkBtaXhpbiBzaGFkb3ctMSB7XG4gICAgYm94LXNoYWRvdzogM3B4IDNweCAyNHB4IHJnYmEoJEJMQUNLLC4xKTtcbn1cblxuQG1peGluIHNoYWRvdy0xLWhvdmVyIHtcbiAgICBib3gtc2hhZG93OiA1cHggNXB4IDU0cHggcmdiYSgkQkxBQ0ssLjIpO1xufVxuXG5AbWl4aW4gc2hhZG93LTIge1xuICAgIGJveC1zaGFkb3c6IDNweCAzcHggMjRweCByZ2JhKCRCTEFDSywuMik7XG59XG4iLCJAaW1wb3J0IFwiYmFzZVwiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJsYXlvdXRcIjtcbkBpbXBvcnQgXCJwcm9wc1wiO1xuQGltcG9ydCBcInRyYW5zaXRpb25zXCI7XG4iLCJAaW1wb3J0IFwifm5vcm1hbGl6ZS5jc3NcIjtcbkBpbXBvcnQgXCJ+cmVzZXQtY3NzL3Jlc2V0LmNzc1wiO1xuQGltcG9ydCBcIn5ycy1icmVha3BvaW50cy9pbmRleFwiO1xuXG5odG1sIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuKiwgOmJlZm9yZSwgKjphZnRlciB7IGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuXG5he1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYWRkcmVzc3tcblxufVxuXG5ib2R5e1xuICAgIGxpbmUtaGVpZ2h0OiAkTElORUhFSUdIVDtcbn1cblxuZmlndXJle1xuICAgIG1hcmdpbjogMDtcbn1cblxuaDEsaDIsaDMsaDQsaDUsaDZ7XG4gICAgbWFyZ2luOiAwO1xufVxuXG5tYXJre1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2Ny4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5tYWluIHsgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LSBhbmQgRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscywgLyogMSAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIFNjcmlwdGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBIaWRkZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIiRicmVha3BvaW50cy12YWx1ZXM6IChcbiAgbW9iaWxlLXNtYWxsOiAzMjAsXG4gIG1vYmlsZS1tZWRpdW06IDQ4MCxcbiAgbW9iaWxlLWxhcmdlOiA2NDAsXG5cbiAgdGFibGV0LXNtYWxsOiA3NjgsXG4gIHRhYmxldC1tZWRpdW06IDgwMCxcbiAgdGFibGV0LWxhcmdlOiA5ODAsXG5cbiAgZGVza3RvcC1zbWFsbDogMTAyNCxcbiAgZGVza3RvcC1tZWRpdW06IDEyMDAsXG4gIGRlc2t0b3AtbGFyZ2U6IDE0MDBcbikgIWRlZmF1bHQ7XG5cbiRicmVha3BvaW50cy1pZTg6IGZhbHNlIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBfYnJlYWtwb2ludHMtcGFyc2UoJHN0cmluZykge1xuICAvLyB0ZXh0IHRvIHNlYXJjaCBmb3JcbiAgJEZST006ICdmcm9tICc7XG4gICRUTzogJ3RvICc7XG5cblxuICAvLyBjb252ZXJ0IHRvIHN0cmluZ1xuICAkc3RyaW5nOiBpbnNwZWN0KCRzdHJpbmcpO1xuXG5cbiAgLy8gZmxhZ3MgZm9yIG1pbiBhbmQgbWF4IHZhbHVlc1xuICAkaGFzLW1pbjogZmFsc2U7XG4gICRoYXMtbWF4OiBmYWxzZTtcblxuXG4gIC8vIGNoZWNrIHdoYXQgdHlwZSBvZiBicmVha3BvaW50cyB3ZSBoYXZlXG4gIEBpZiB0eXBlLW9mKHN0ci1pbmRleCgkc3RyaW5nLCAkRlJPTSkpID09IG51bWJlciB7XG4gICAgJGhhcy1taW46IHRydWU7XG4gIH1cblxuICBAaWYgdHlwZS1vZihzdHItaW5kZXgoJHN0cmluZywgJFRPKSkgPT0gbnVtYmVyIHtcbiAgICAkaGFzLW1heDogdHJ1ZTtcbiAgfVxuXG5cbiAgLy8gc2xpY2UgdGhlIHN0cmluZyB0byByZXRyaWV2ZSBtaW4gYW5kIG1heCB2YWx1ZXMgZm9yIGJyZWFrcG9pbnRzXG4gIEBpZiAkaGFzLW1pbiBhbmQgJGhhcy1tYXgge1xuICAgICRtaW4tYnJlYWtwb2ludDogc3RyLXNsaWNlKCRzdHJpbmcsIHN0ci1sZW5ndGgoJEZST00pICsgMSwgc3RyLWluZGV4KCRzdHJpbmcsICRUTykgLSAyKTtcbiAgICAkbWF4LWJyZWFrcG9pbnQ6IHN0ci1zbGljZSgkc3RyaW5nLCBzdHItaW5kZXgoJHN0cmluZywgJFRPKSArIHN0ci1sZW5ndGgoJFRPKSk7XG5cbiAgICBAcmV0dXJuICgkbWluLWJyZWFrcG9pbnQsICRtYXgtYnJlYWtwb2ludCk7XG4gIH0gQGVsc2UgaWYgJGhhcy1taW4gPT0gZmFsc2Uge1xuICAgICRtYXgtYnJlYWtwb2ludDogc3RyLXNsaWNlKCRzdHJpbmcsIHN0ci1sZW5ndGgoJFRPKSArIDEpO1xuXG4gICAgQHJldHVybiAoZmFsc2UsICRtYXgtYnJlYWtwb2ludCk7XG4gIH0gQGVsc2UgaWYgJGhhcy1tYXggPT0gZmFsc2Uge1xuICAgICRtaW4tYnJlYWtwb2ludDogc3RyLXNsaWNlKCRzdHJpbmcsIHN0ci1sZW5ndGgoJEZST00pICsgMSk7XG5cbiAgICBAcmV0dXJuICgkbWluLWJyZWFrcG9pbnQsIGZhbHNlKTtcbiAgfVxuXG4gIEByZXR1cm4gKGZhbHNlLCBmYWxzZSk7XG59XG5cbkBmdW5jdGlvbiBfc3RyaW5nLXRvLW51bWJlcigkc3RyaW5nKSB7XG4gIC8vIGluc3BpcmVkIGJ5IGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTQvMDEvMTUvc2Fzcy1zdHJpbmctdG8tbnVtYmVyL1xuXG4gICRkaWdpdHM6ICcwMTIzNDU2Nzg5JztcbiAgJG51bWJlcjogMDtcbiAgJG5lZ2F0aXZlOiBmYWxzZTtcbiAgJHVuaXRzOiAoXG4gICAgJyUnOiAxJSxcbiAgICAnY2gnOiAxY2gsXG4gICAgJ2NtJzogMWNtLFxuICAgICdlbSc6IDFlbSxcbiAgICAnZXgnOiAxZXgsXG4gICAgJ2luJzogMWluLFxuICAgICdtbSc6IDFtbSxcbiAgICAncGMnOiAxcGMsXG4gICAgJ3BpY2EnOiAxcGljYSxcbiAgICAncHQnOiAxcHQsXG4gICAgJ3B4JzogMXB4LFxuICAgICdyZW0nOiAxcmVtLFxuICAgICd2bWF4JzogMXZtYXgsXG4gICAgJ3ZtaW4nOiAxdm1pbixcbiAgICAndmgnOiAxdmgsXG4gICAgJ3Z3JzogMXZ3XG4gICk7XG4gICR1bml0OiBudWxsO1xuXG4gIC8vIGlzIGl0IG5lZ2F0aXZlP1xuICBAaWYgc3RyLWluZGV4KCRzdHJpbmcsICctJykgPT0gMSB7XG4gICAgJG5lZ2F0aXZlOiB0cnVlO1xuICAgICRzdHJpbmc6IHN0ci1zbGljZSgkc3RyaW5nLCAyKTtcbiAgfVxuXG4gIC8vIHBhcnNlIHRoZSBzdHJpbmcgYW5kIG1hcCBpdCB0byB0aGUgaW5kZXhlcyBvZiAkZGlnaXRzXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkc3RyaW5nKSB7XG4gICAgJGRpZ2l0OiBzdHItc2xpY2UoJHN0cmluZywgJGksICRpKTtcbiAgICAkaW5kZXg6IHN0ci1pbmRleCgkZGlnaXRzLCAkZGlnaXQpO1xuXG4gICAgQGlmIHR5cGUtb2YoJGluZGV4KSA9PSBudW1iZXIge1xuICAgICAgJG51bWJlcjogJG51bWJlciAqIDEwICsgKCRpbmRleCAtIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHVuaXQ6ICR1bml0I3skZGlnaXR9O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbmVnYXRpdmUge1xuICAgICRudW1iZXI6ICRudW1iZXIgKiAoLTEpO1xuICB9XG5cbiAgQGlmICR1bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdHMsICR1bml0KSB7XG4gICAgJG51bWJlcjogJG51bWJlciAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XG4gIH1cblxuICBAaWYgJHN0cmluZyA9PSAkdW5pdCB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIEByZXR1cm4gJG51bWJlcjtcbn1cblxuQGZ1bmN0aW9uIF9icmVha3BvaW50cy12YWx1ZXMoJHZhbHVlKSB7XG4gIC8vIHRyeSB0byBnZXQgdGhlIHZhbHVlIGZyb20gdGhlIHByZS1leGlzdGluZyBicmVha3BvaW50c1xuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLXZhbHVlcywgJHZhbHVlKSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cy12YWx1ZXMsICR2YWx1ZSk7XG4gICAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAxcHg7XG4gICAgfVxuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBzdHJpbmcge1xuICAgICR2YWx1ZTogX3N0cmluZy10by1udW1iZXIoJHZhbHVlKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gbnVtYmVyIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBfc2V0LW1heC1icmVha3BvaW50KCRtYXgtYnJlYWtwb2ludCkge1xuICBAaWYgJG1heC1icmVha3BvaW50ICE9IGZhbHNlIHtcbiAgICBAaWYgdW5pdCgkbWF4LWJyZWFrcG9pbnQpID09IHB4IHtcbiAgICAgICRtYXgtYnJlYWtwb2ludDogJG1heC1icmVha3BvaW50IC0gMTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRtYXgtYnJlYWtwb2ludDogJG1heC1icmVha3BvaW50O1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG1heC1icmVha3BvaW50O1xufVxuXG5cbkBtaXhpbiBicmVha3BvaW50KCRzdHJpbmcpIHtcbiAgJHN0cmluZzogX2JyZWFrcG9pbnRzLXBhcnNlKCRzdHJpbmcpO1xuICAkbWluLWJyZWFrcG9pbnQ6IF9icmVha3BvaW50cy12YWx1ZXMobnRoKCRzdHJpbmcsIDEpKTtcbiAgJG1heC1icmVha3BvaW50OiBfYnJlYWtwb2ludHMtdmFsdWVzKG50aCgkc3RyaW5nLCAyKSk7XG5cbiAgJG1heC1icmVha3BvaW50OiBfc2V0LW1heC1icmVha3BvaW50KCRtYXgtYnJlYWtwb2ludCk7XG5cbiAgQGlmICgkbWluLWJyZWFrcG9pbnQgPT0gZmFsc2UgYW5kICRtYXgtYnJlYWtwb2ludCA9PSBmYWxzZSkgb3IgKCRtYXgtYnJlYWtwb2ludCA9PSBmYWxzZSBhbmQgJGJyZWFrcG9pbnRzLWllOCkge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmICRtaW4tYnJlYWtwb2ludCA9PSBmYWxzZSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWF4LWJyZWFrcG9pbnQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4LWJyZWFrcG9pbnQgPT0gZmFsc2Uge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1pbi1icmVha3BvaW50KSBhbmQgKG1heC13aWR0aDogJG1heC1icmVha3BvaW50KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyByZXF1aXJlIGJyZWFrcG9pbnRcbkBtaXhpbiB0bygkbWVkaWEtcXVlcnkpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byAkbWVkaWEtcXVlcnkpIHtcbiAgICBAY29udGVudDtcbiAgfTtcbn1cblxuQG1peGluIGZyb20oJG1lZGlhLXF1ZXJ5KSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSAkbWVkaWEtcXVlcnkpIHtcbiAgICBAY29udGVudDtcbiAgfTtcbn1cblxuQG1peGluIGZyb20tdG8oJG1pbiwgJG1heCkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gJG1pbiB0byAkbWF4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH07XG59XG5cblxuIiwiXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoIDEyIHtcblxuICAgIC5ncmlkLSN7JGl9IHtcbiAgICAgICAgd2lkdGg6IGdyaWQtcGVyY2VudGFnZSgkaSwkaSAtIDEpO1xuICAgIH1cblxuICAgIC5ncmlkLSN7JGl9LW9mZnNldC0xIHtcbiAgICAgICAgd2lkdGg6IGdyaWQtcGVyY2VudGFnZSgkaSwkaSk7XG4gICAgfVxuXG4gICAgLmdyaWQtI3skaX0tb2Zmc2V0LTIge1xuICAgICAgICB3aWR0aDogZ3JpZC1wZXJjZW50YWdlKCRpLCRpIC0gMi4yNSk7XG4gICAgfVxufVxuXG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbGFyZ2UgdG8gZGVza3RvcC1zbWFsbCkge1xuXG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDEyIHtcblxuICAgICAgICAuZ3JpZC10YWJsZXQtI3skaX0ge1xuICAgICAgICAgICAgd2lkdGg6IGdyaWQtcGVyY2VudGFnZSgkaSwkaSAtIDEpO1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuXG5AaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuXG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDEyIHtcblxuICAgICAgICAuZ3JpZC1tb2JpbGUtI3skaX0ge1xuICAgICAgICAgICAgd2lkdGg6IGdyaWQtcGVyY2VudGFnZSgkaSwkaSAtIDEpO1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cbiIsIjo6c2VsZWN0aW9ue1xuICAgIGJhY2tncm91bmQ6ICRCTEFDSztcbiAgICBjb2xvcjogJFdISVRFO1xufVxuXG5he1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuaHRtbHtcbiAgICBmb250LXNpemU6ICRCQVNFLVNJWkU7XG59XG5cbmJvZHl7XG4gICAgYmFja2dyb3VuZDogJFdISVRFO1xuICAgIGNvbG9yOiAkQkxBQ0stT0ZGO1xuICAgIGZvbnQtZmFtaWx5OiAkU0FOUztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxubWFya3tcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG46Zm9jdXN7b3V0bGluZTogbm9uZX1cbmlucHV0OjotbXMtY2xlYXIge2Rpc3BsYXk6IG5vbmV9XG5cbi5jb250YWluZXJ7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogJEdSSUQtQ09OVEFJTkVSICsgcHg7XG4gICAgd2lkdGg6IDkwJTtcbn1cblxuLmJveGVze1xuICAgIEBpbmNsdWRlIGxheW91dC1mbGV4O1xufVxuXG4uc2l0ZXtcbiAgICBwYWRkaW5nLXRvcDogJEhFQURFUl9IRUlHSFQ7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogJEhFQURFUl9IRUlHSFRfTU9CSUxFO1xuICAgIH1cblxufVxuXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxpbnB1dFt0eXBlPVwiZW1haWxcIl0saW5wdXRbdHlwZT1cInBhc3N3b3JkXCJde1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbn1cbiIsIi5wcm9wLWZ1bGwtd2lkdGh7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ucHJvcC1oaWRlLW92ZXJmbG93e1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wcm9wLW1heC13aWR0aHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ucHJvcC1vdmVybGF5e1xuICAgIEBpbmNsdWRlIGxldmVscygyKTtcbiAgICBAaW5jbHVkZSBsYXlvdXQtb3ZlcmxheTtcbiAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkanVzdGlmeTogY2VudGVyKTtcbn1cblxuLnByb3AtaW1hZ2UtZ3JhZGllbnQtZGFya2Vue1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuXG4gICAgPiBpbWd7XG4gICAgICAgIEBpbmNsdWRlIGxldmVscygwKTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZXtcbiAgICAgICAgQGluY2x1ZGUgbGV2ZWxzKDEpO1xuICAgICAgICBAaW5jbHVkZSBsYXlvdXQtb3ZlcmxheTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LHJnYmEoJEJMQUNLLC40KSk7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIH1cblxufVxuXG4ucHJvcC1pbWFnZS1ncmFkaWVudC1kYXJrZW4tLWxpZ2h0e1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgID4gaW1ne1xuICAgICAgICBAaW5jbHVkZSBsZXZlbHMoMCk7XG4gICAgfVxuXG4gICAgJjpiZWZvcmV7XG4gICAgICAgIEBpbmNsdWRlIGxldmVscygxKTtcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LW92ZXJsYXk7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCAtMTAlLHJnYmEoJEJMQUNLLC4xNCkpO1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICB9XG59XG5cbi5wcm9wLWRhcmtlbi1pbWFnZXtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICA+IGltZ3tcbiAgICAgICAgLy9AaW5jbHVkZSBsZXZlbHMoMSk7XG4gICAgfVxuXG4gICAgJjpiZWZvcmV7XG4gICAgICAgIEBpbmNsdWRlIGxldmVscygxKTtcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LW92ZXJsYXk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJEJMQUNLLC40NSk7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIH1cblxufVxuIiwiLmZhZGUtaW4tdHJhbnNpdGlvbntcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5mYWRlLWluLWVudGVyLFxuLmZhZGUtaW4tbGVhdmV7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTBweCk7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuIiwiQGltcG9ydCBcImJ1dHRvbnNcIjtcbkBpbXBvcnQgXCJoZWFkaW5nc1wiO1xuQGltcG9ydCBcImdhbGxlcnlcIjtcbkBpbXBvcnQgXCJtYWdhemluZS1yYWNrXCI7XG5AaW1wb3J0IFwibWVudVwiO1xuQGltcG9ydCBcIm5ld3NsZXR0ZXItcG9saWN5XCI7XG5AaW1wb3J0IFwicmVjb21tZW5kZWQtaW5saW5lXCI7XG5AaW1wb3J0IFwic2hhcmVcIjtcbkBpbXBvcnQgXCJzb2NpYWxcIjtcbkBpbXBvcnQgXCJzdGlja3lcIjtcbkBpbXBvcnQgXCJzdWJtZW51XCI7XG5AaW1wb3J0IFwic3dpdGNoZXJcIjtcbiIsIi5jb21wb25lbnQtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAycHggc29saWQgJEdSRVk7XG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gIGNvbG9yOiAkR1JFWTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC40cztcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkR1JFWTtcbiAgICBjb2xvcjogJFdISVRFO1xuICB9XG5cbiAgJi5pcy1maWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxufVxuXG4uY29tcG9uZW50LWJ1dHRvbi1tZW51IHtcbiAgYm9yZGVyLWNvbG9yOiAkR1JFWTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzNnB4O1xuXG4gIC5saW5lcyB7XG4gICAgLy93aWR0aDogNTAlO1xuXG4gICAgLmxpbmUge1xuICAgICAgYmFja2dyb3VuZDogJEdSRVk7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC40cztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAubGluZS0yIHtcbiAgICAgIG1hcmdpbjogOHB4IDA7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkQkxBQ0s7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgIC5saW5lIHtcbiAgICAgIGJhY2tncm91bmQ6ICRCTEFDSztcbiAgICB9XG4gIH1cbn1cblxuLmNvbXBvbmVudC1idXR0b24tYmxvY2t5IHtcbiAgYmFja2dyb3VuZDogJEdSRVk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDEwcHgpO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICBwYWRkaW5nOiBncmlkLXBpeGVscygwLCAwLjI1KSBncmlkLXBpeGVscygwLCAwLjUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uY29tcG9uZW50LWJ1dHRvbi1jbG9zZSB7XG4gIEBpbmNsdWRlIGxheW91dC1idXR0b24oMzZweCk7XG4gIGJvcmRlci1jb2xvcjogJEdSRVk7XG5cbiAgLmxpbmVzIHtcbiAgICB3aWR0aDogNTAlO1xuXG4gICAgLmxpbmUge1xuICAgICAgYmFja2dyb3VuZDogJEdSRVk7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIG1hcmdpbjogNHB4IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmxpbmUtMSB7XG4gICAgICB0b3A6IDZweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG5cbiAgICAubGluZS0yIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgLmxpbmUtMyB7XG4gICAgICB0b3A6IC02cHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbiAgfVxufVxuXG4uY29tcG9uZW50LWJ1dHRvbi1zZWFyY2gge1xuICBib3JkZXItY29sb3I6ICRHUkVZO1xuXG4gIHN2ZyB7XG4gICAgJGQ6IDIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAkZDtcbiAgICBmaWxsOiAkQkxBQ0stT0ZGO1xuICAgIHdpZHRoOiAkZDtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogJEJMQUNLO1xuICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICBzdmcge1xuICAgICAgZmlsbDogJEJMQUNLO1xuICAgIH1cbiAgfVxufVxuXG4uY29tcG9uZW50LWJ1dHRvbi1zb2NpYWwge1xuICBAaW5jbHVkZSBsYXlvdXQtYnV0dG9uKDMycHgpO1xuICBib3JkZXItY29sb3I6ICRXSElURTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAkZGltZW5zaW9uOiA1OHB4O1xuICAgIGhlaWdodDogJGRpbWVuc2lvbjtcbiAgICB3aWR0aDogJGRpbWVuc2lvbjtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgJGRpbWVuc2lvbjogNDBweDtcbiAgICBoZWlnaHQ6ICRkaW1lbnNpb247XG4gICAgd2lkdGg6ICRkaW1lbnNpb247XG4gIH1cblxuICBzdmcge1xuICAgIEBpbmNsdWRlIGxldmVscygxKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmaWxsOiAkV0hJVEU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjRzO1xuICB9XG5cbiAgJi5pcy1mYWNlYm9vayB7XG4gICAgc3ZnIHtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIHdpZHRoOiA2cHg7XG4gICAgICB0b3A6IDBweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogOXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuaXMtdHdpdHRlciB7XG4gICAgc3ZnIHtcbiAgICAgIGhlaWdodDogOHB4O1xuICAgICAgd2lkdGg6IDEwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5pcy1nb29nbGUge1xuICAgIHN2ZyB7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICB3aWR0aDogMTBweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmlzLWxpbmtlZGluIHtcbiAgICBzdmcge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDhweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmlzLWluc3RhZ3JhbSB7XG4gICAgc3ZnIHtcbiAgICAgIGhlaWdodDogMTJweDtcbiAgICAgIHdpZHRoOiAxMnB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuaXMtcnNzIHtcbiAgICBzdmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDhweDtcbiAgICAgIHdpZHRoOiA3cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICB9XG59XG5cbi5jb21wb25lbnQtYnV0dG9uLXBhZ2VyIHtcbiAgJEZJTEw6ICRHUkVZO1xuXG4gIEBpbmNsdWRlIGxheW91dC1idXR0b24oMzVweCk7XG4gIGJhY2tncm91bmQ6ICRXSElURTtcbiAgYm9yZGVyLWNvbG9yOiAkRklMTDtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIG1hcmdpbjogMCBncmlkLXBpeGVscygwLCAwLjI1KSAwIDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC40cztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBzdmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZpbGw6ICRGSUxMO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogOHB4O1xuICB9XG5cbiAgJi5pcy1sZWZ0IHtcbiAgICBzdmcge1xuICAgICAgcmlnaHQ6IDFweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHN2ZyB7XG4gICAgICAgIGFuaW1hdGlvbjogcGFnZXIgMC41cyByZXZlcnNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuaXMtcmlnaHQge1xuICAgIHN2ZyB7XG4gICAgICBsZWZ0OiAxcHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBzdmcge1xuICAgICAgICBhbmltYXRpb246IHBhZ2VyIDAuNXM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5pcy1pbmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMC4xO1xuICB9XG59XG5cbi5jb21wb25lbnQtYnV0dG9uLW1vcmUge1xuICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkanVzdGlmeTogY2VudGVyKTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsIDEpO1xuXG4gIHN2ZyB7XG4gICAgJGQ6IDMwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmlsbDogJFJFRDtcbiAgICBoZWlnaHQ6ICRkO1xuICAgIG1hcmdpbi1sZWZ0OiBncmlkLXBpeGVscygwLCAwLjUpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB3aWR0aDogJGQ7XG4gIH1cblxuICA+IHNwYW4ge1xuICAgIGNvbG9yOiAkUkVEO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgfVxuXG4gICYuaGFzLXRvcHN0cm9rZSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRHUkVZO1xuICAgIHBhZGRpbmctdG9wOiBncmlkLXBpeGVscygwLCAxKSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5jb21wb25lbnQtYnV0dG9uLW5ld3NsZXR0ZXIge1xuICBAaW5jbHVkZSBsYXlvdXQtZmxleDtcbiAgY29sb3I6ICRCTEFDSy1PRkY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICBzdmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB3aWR0aDogMjFweDtcbiAgICBmaWxsOiAkQkxBQ0stT0ZGO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBkZXNrdG9wLW1lZGl1bSkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4uY29tcG9uZW50LWJ1dHRvbi1uZXdzbGV0dGVyLWlubGluZSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDJweCAwO1xuICAtbW96LWJvcmRlci1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQocmlnaHQsICNkZDIyMjIgMCUsICMyYzM4OGYgMTAwJSk7XG4gIC13ZWJraXQtYm9yZGVyLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChcbiAgICByaWdodCxcbiAgICAjZGQyMjIyIDAlLFxuICAgICMyYzM4OGYgMTAwJVxuICApO1xuICBib3JkZXItaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2RkMjIyMiAwJSwgIzJjMzg4ZiAxMDAlKTtcbiAgYm9yZGVyLWltYWdlLXNsaWNlOiAxO1xuICBtYXJnaW46IGdyaWQtcGl4ZWxzKDAsIDEpIDA7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIG1vYmlsZS1sYXJnZSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLCAwLjUpIDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4uY29tcG9uZW50LWJ1dHRvbi1yZWNvbW1lbmRlZC1pbmxpbmUge1xuICBib3JkZXI6IDJweCBzb2xpZCAkREFSSy1CTFVFO1xuICBib3JkZXItd2lkdGg6IDJweCAwO1xuICBib3JkZXItaW1hZ2Utc2xpY2U6IDE7XG4gIG1hcmdpbjogZ3JpZC1waXhlbHMoMCwgMSkgMDtcblxuICBhIHtcbiAgICBjb2xvcjogJEJMQUNLLU9GRjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLCAxKSAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHBhZ2VyIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDQ5JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MCUpO1xuICB9XG5cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MCUpO1xuICB9XG5cbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG4uY29tcG9uZW50LWdyYWRpZW50LWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2QyMiwgIzJiMzg4ZikgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbWFyZ2luOiAzMHB4IGF1dG8gMDtcbiAgbWF4LXdpZHRoOiAyNTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8gRG93bmxvYWQgYnV0dG9uXG4uZG93bmxvYWQtYnV0dG9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDE1cHggMjVweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZDIyLCAjMmIzODhmKSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDE2cHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuXG4gIGEge1xuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi5jb21wb25lbnQtaGVhZGluZyB7XG4gIGNvbG9yOiAkQkxBQ0stT0ZGO1xuICBmb250LWZhbWlseTogJFRJVExFO1xuICBmb250LXNpemU6IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsMSk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cblxuICBzdmcge1xuICAgIGZpbGw6ICRCTEFDSy1PRkY7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMzBweDtcbiAgICB3aWR0aDogMzBweDtcbiAgICBtYXJnaW4tbGVmdDogZ3JpZC1waXhlbHMoMCwgLjI1KTtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgd2lkdGg6IDIycHg7XG4gICAgfVxuICB9XG5cbiAgJi5oYXMtdG9wc3Ryb2tlIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJEdSRVk7XG4gICAgcGFkZGluZy10b3A6IGdyaWQtcGl4ZWxzKDAsIDEpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmLnNob3ctbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kYXJrICYge1xuICAgIGNvbG9yOiAkV0hJVEU7XG4gIH1cbn1cbiIsIi5jb21wb25lbnQtZ2FsbGVyeXtcbiAgICBAaW5jbHVkZSBsZXZlbHMoMSk7XG4gICAgYmFja2dyb3VuZDogJEdSRVktTElHSFQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIGRlc2t0b3Atc21hbGwpIHtcbiAgICAgICAgYmFja2dyb3VuZDogJFdISVRFO1xuICAgIH1cblxuICAgIC53cC1jYXB0aW9ue2hlaWdodDogMTAwJX1cblxuICAgIC53cC1jYXB0aW9uLXRleHR7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSAhaW1wb3J0YW50O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBkZXNrdG9wLXNtYWxsKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgcHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgxNHB4KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IC40cztcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gZGVza3RvcC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuc2xpY2stZG90c3tcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGp1c3RpZnk6IGNlbnRlcik7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMCAwIDVweCAwO1xuXG4gICAgICAgIGxpe1xuICAgICAgICAgICAgbWFyZ2luOiAwIDRweCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAmLnNsaWNrLWFjdGl2ZSBidXR0b257XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9ue1xuICAgICAgICAgICAgJGQ6IDEwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkQkxBQ0stT0ZGO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJEJMQUNLLU9GRjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRkO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiAtOTk5OTk5cHg7XG4gICAgICAgICAgICB3aWR0aDogJGQ7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5jb21wb25lbnQtYnV0dG9uLXBhZ2Vye1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6ICRXSElURTtcblxuICAgICAgICBzdmd7ZmlsbDogJFdISVRFfVxuXG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRCTEFDSywuOCk7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5jb21wb25lbnQtZ2FsbGVyeV9fbnVtYmVyc3tcbiAgICAgICAgQGluY2x1ZGUgbGV2ZWxzKDEpO1xuICAgICAgICBjb2xvcjogJFdISVRFO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDAgMCAwIDdweDtcbiAgICAgICAgcGFkZGluZzogMXB4IDAgMCA0MHB4O1xuXG4gICAgICAgID4gLmxpbmV7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkQkxBQ0s7XG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNTAlLDApO1xuICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICY6aG92ZXJ7XG4gICAgICAgIC53cC1jYXB0aW9uLXRleHR7XG4gICAgICAgICAgICBwe1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBkZXNrdG9wLXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNzVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWVib29re1xuICAgICAgICAuY29tcG9uZW50LWdhbGxlcnlfX25hdntcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY29tcG9uZW50LWJ1dHRvbi1wYWdlcntcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJEJMQUNLO1xuICAgICAgICAgICAgc3Zne2ZpbGw6ICRCTEFDS31cblxuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRXSElURSwuOCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4uY29tcG9uZW50LWdhbGxlcnlfX25hdntcbiAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkanVzdGlmeTogZmxleC1zdGFydCk7XG4gICAgQGluY2x1ZGUgbGV2ZWxzKDUpO1xuICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsMSk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIGRlc2t0b3Atc21hbGwpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBhe1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG59XG5cblxuXG4vLyBUT0RPOiBicmVhayBvdXQgc2luZ2xlIHBhZ2UgaW50byBzbWFsbGVyIHNlY3Rpb25zIHRvIGhlbHAgd2l0aCB0aGlzXG4udmlldy1zaW5nbGUtcG9zdHtcbiAgICAuY29udGVudHtcbiAgICAgICAgLmNvbXBvbmVudC1nYWxsZXJ5e1xuICAgICAgICAgICAgLndwLWNhcHRpb257bWFyZ2luOiAwfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmNvbXBvbmVudC1tYWdhemluZS1yYWNrIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJEdSRVktTElHSFQ7XG5cdG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsIDIpO1xuXHRwYWRkaW5nOiBncmlkLXBpeGVscygwLCAyKSAwO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LW1lZGl1bSkge1xuXHRcdGJvcmRlci10b3A6IDRweCBzb2xpZCAkREFSSy1CTFVFO1xuXHR9XG5cblx0LmJveGVzIHtcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0fVxuXHQuYm94aW5nIHtcblx0XHRAaW5jbHVkZSBsYXlvdXQtZmxleChmbGV4LXN0YXJ0LCBjZW50ZXIsIHJvdyk7XG5cblx0XHRmaWd1cmUge1xuXHRcdFx0bWFyZ2luLXRvcDogMjVweDtcblx0XHR9XG5cdH1cblxuXHQuY29tcG9uZW50LWhlYWRpbmcge1xuXHRcdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbWVkaXVtKSB7XG5cdFx0cGFkZGluZzogZ3JpZC1waXhlbHMoMCwxKSAwIDA7XG5cbiAgICAgICAgPiAuY29udGFpbmVyIHtcbiAgICAgICAgXHR3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb21wb25lbnQtaGVhZGluZyAge1xuICAgICAgICBcdHBhZGRpbmc6IDAgZ3JpZC1waXhlbHMoMCwgMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWxhc3Qge1xuICAgIFx0bWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG4iLCIuY29tcG9uZW50LW1lbnV7XG4gIEBpbmNsdWRlIGxheW91dC1mbGV4O1xuXG4gID4gbGl7XG4gICAgbWFyZ2luOiAwIGdyaWQoLjIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5hY3Rpb24tdG9nZ2xlLXN1Ym1lbnUge1xuICAgIFx0QGluY2x1ZGUgbGF5b3V0LWZsZXg7XG5cbiAgICBcdC5pY29uLWNoZXZyb24tZG93biB7XG4gICAgXHRcdCRkOiAxMHB4O1xuXG4gICAgXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2NoZXZyb24tZG93bi5zdmcnKTtcbiAgICBcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBcdFx0ZGlzcGxheTogYmxvY2s7XG4gICAgXHRcdGhlaWdodDogJGQ7XG4gICAgXHRcdG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgXHRcdHdpZHRoOiAkZDtcbiAgICBcdH1cbiAgICB9XG4gIH1cblxuICAudGFnICYsIC5jYXRlZ29yeSAmIHtcbiAgXHQuaXMtYWN0aXZlIHtcblxuICBcdFx0YTpub3QoLmFjdGlvbi10b2dnbGUtc3VibWVudSkge1xuICBcdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgcmVkO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDJweDtcbiAgXHRcdH1cblxuICBcdH1cbiAgfVxuXG59XG4iLCIuY29tcG9uZW50LW5ld3NsZXR0ZXItcG9saWN5e1xuICBjb2xvcjogJFdISVRFO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjc7XG5cbiAgYXtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJFdISVRFO1xuICAgICY6aG92ZXJ7Y29sb3I6ICRXSElURTt9XG4gIH1cblxuICAuYmxvY2stbmV3c2xldHRlci1vdmVybGF5ICYsIC5ibG9jay1uZXdzbGV0dGVyLXNpZGViYXIgJiB7XG4gIFx0Y29sb3I6ICRCTEFDSztcblxuICBcdGF7XG5cdCAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJEJMQUNLO1xuXHQgICAgJjpob3Zlcntjb2xvcjogJEJMQUNLO31cblx0ICB9XG4gIH1cbn1cbiIsIi5jb21wb25lbnQtcmVjb21tZW5kZWQtaW5saW5le1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJEJMQUNLO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJEJMQUNLO1xuICBmb250LXNpemU6IDMwcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbi1ib3R0b206IGdyaWQoLjI1KTtcbiAgcGFkZGluZzogZ3JpZCguNSkgMDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKXtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCl7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHBhZGRpbmc6IGdyaWQoLjI1KSAwO1xuICB9XG5cbiAgYXtjb2xvcjogJFJFRDt9XG5cbiAgc3BhbntcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCl7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgfVxufVxuIiwiLmNvbXBvbmVudC1zaGFyZXtcblxuICBhe1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ3JpZCguMTUpO1xuICAgIH1cblxuICAgICYuc2hvdy1tb2JpbGV7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKXtkaXNwbGF5OiBub25lO31cbiAgICB9XG4gIH1cblxuICBzdmd7XG4gICAgJGQ6IDMwcHg7XG4gICAgZmlsbDogJEJMQUNLO1xuICAgIGhlaWdodDogJGQ7XG4gICAgd2lkdGg6ICRkO1xuICB9XG5cbiAgLmlzLWRhcmsgJiBzdmd7XG4gICAgZmlsbDogJFdISVRFO1xuICB9XG59XG5cbmJvZHlbZGF0YS1ibG9naWQ9XCI4XCJdIC5jb21wb25lbnQtc2hhcmVfX2ZhY2Vib29rLFxuYm9keVtkYXRhLWJsb2dpZD1cIjhcIl0gLmNvbXBvbmVudC1zaGFyZV9fZ29vZ2xlLFxuYm9keVtkYXRhLWJsb2dpZD1cIjhcIl0gLmNvbXBvbmVudC1zaGFyZV9fdHdpdHRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIuY29tcG9uZW50LXNvY2lhbHtcbiAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGp1c3RpZnk6IGZsZXgtc3RhcnQpO1xuXG4gIGF7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LW1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGdyaWQoLjI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzdmd7XG4gICAgJGQ6IDMwcHg7XG4gICAgQGluY2x1ZGUgaW1hZ2UtYmxvY2s7XG4gICAgZmlsbDogJEJMQUNLO1xuICAgIGhlaWdodDogJGQ7XG4gICAgd2lkdGg6ICRkO1xuICB9XG59XG4iLCIuY29tcG9uZW50LXN0aWNreXtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCl7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbn1cbiIsIi5jb21wb25lbnQtc3VibWVudXtcblx0ZGlzcGxheTogZmxleDtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDkycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5RkE1QTk7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luLWJvdHRvbTogNDVweDtcblx0cGFkZGluZzogMTVweCAwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0aGVpZ2h0OiAwcHg7XG5cdG9wYWNpdHk6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAuM3M7XG5cblxuXHQ+IGxpe1xuXHRcdG1hcmdpbjogMCBncmlkKC4yKTtcblx0fVxuXG5cdC5pcy1kYXJrICYge1xuXHRcdGJhY2tncm91bmQ6ICREQVJLLUJMVUU7XG5cdFx0YXtjb2xvcjogJFdISVRFfVxuXHR9XG59XG4iLCIuY29tcG9uZW50LXN3aXRjaGVye1xuICBAaW5jbHVkZSBsZXZlbHMoJGxldmVsOiA5KTtcblxuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC43KTtcbiAgY29sb3I6ICRCTEFDSy1PRkY7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB0b3A6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAuM3M7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpe1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi5jb21wb25lbnQtc3dpdGNoZXJfX2N1cnJlbnR7XG4gIEBpbmNsdWRlIGxheW91dC1mbGV4O1xuXG4gIC5pY29uLWNoZXZyb24tZG93biB7XG4gICAgJGQ6IDEwcHg7XG5cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jaGV2cm9uLWRvd24td2hpdGUuc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogJGQ7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICB3aWR0aDogJGQ7XG4gIH1cbn1cblxuXG4uY29tcG9uZW50LXN3aXRjaGVyX19saW5rc3tcbiAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoICRhbGlnbjogZmxleC1zdGFydCwgJGRpcmVjdGlvbjogY29sdW1uLCAkanVzdGlmeTogZmxleC1zdGFydCApO1xuICBAaW5jbHVkZSBzaGFkb3ctMjtcblxuICBiYWNrZ3JvdW5kOiAkV0hJVEU7XG4gIGJvdHRvbTogMTc1cHg7XG4gIGxlZnQ6IDUwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIHBhZGRpbmc6IDI1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2lkdGg6IDM3MHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKXtcbiAgICBib3R0b206IGF1dG87XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IC41cztcblx0XHR9XG5cdFx0XG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDkwMHB4ICkge1xuXHRcdFx0XHRib3R0b206IGF1dG87XG5cdFx0XHRcdGhlaWdodDogMTAwdmg7XG5cdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0bGVmdDogMTAwJTtcblx0XHRcdFx0bWluLWhlaWdodDogMTAwJTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBsZWZ0IC41cztcblx0XHR9XG5cbiAgYXtcbiAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCggJGFsaWduOiBjZW50ZXIsICRqdXN0aWZ5OiBzcGFjZS1iZXR3ZWVuICk7XG5cbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG4gICAgbWFyZ2luOiAwIDAgIGdyaWQoLjE1KSAwO1xuICAgIHBhZGRpbmc6IDAgMCAgZ3JpZCguMTUpIDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCl7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDkwMHB4ICkge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHR9XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgfVxuICBoNCB7XG4gICAgY29sb3I6ICM1NTU7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsIDEuMjUpO1xuICB9XG5cbiAgLmljb24tY2hlY2sge1xuICAgICRkOiAxOHB4O1xuXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbi1jaGVja19ibGFjay5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAkZDtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogLjNzO1xuICAgIHdpZHRoOiAkZDtcbiAgfVxufVxuXG4uY29tcG9uZW50LXN3aXRjaGVyX19saW5rICB7XG4gICYuaXMtY3VycmVudCB7XG4gICAgLmljb24tY2hlY2sge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAmOm5vdCguaXMtY3VycmVudCk6aG92ZXIge1xuICAgIC5pY29uLWNoZWNrIHtcbiAgICAgIG9wYWNpdHk6IC4yO1xuICAgIH1cbiAgfSBcbn1cbiIsIkBpbXBvcnQgXCJhZC1pbmxpbmVcIjtcbkBpbXBvcnQgXCJhZC1zaWRlYmFyXCI7XG5AaW1wb3J0IFwiYXJ0aWNsZVwiO1xuQGltcG9ydCBcImFydGljbGUtZmVhdHVyZVwiO1xuQGltcG9ydCBcImFydGljbGUtc25pcHBldFwiO1xuQGltcG9ydCBcImF1dGhvclwiO1xuQGltcG9ydCBcImF1dGhvci1zbmlwcGV0XCI7XG5AaW1wb3J0IFwic3BlYWtlclwiO1xuQGltcG9ydCBcImhlYWRlclwiO1xuQGltcG9ydCBcInN0YWZmXCI7XG4iLCIuY2FyZC1hZC1pbmxpbmV7XG4gIEBpbmNsdWRlIGxheW91dC1mbGV4KCRhbGlnbjogc3RyZXRjaCk7XG4gIG1hcmdpbi1ib3R0b206IGdyaWQoLjI1KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gID4gLmNvbC0xe1xuICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtc21hbGwpe1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDFweCkge1x0XG4gICAgICBtYXJnaW4tcmlnaHQ6IGdyaWQoLjI1KTtcblx0ICBtYXgtd2lkdGg6IDIzNXB4O1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBncmlkKC4xNSk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgPiAuY29sLTJ7XG4gICAgZmxleDogMTtcbiAgfVxuXG4gIC5pcy1kYXJrICYge1xuICAgIC5jYXJkLWFkLWlubGluZV9fYWN0aW9ue1xuICAgICAgYm9yZGVyLWNvbG9yOiAkV0hJVEU7XG4gICAgICBjb2xvcjogJFdISVRFO1xuICAgIH1cbiAgfVxuXG59XG5cbi5jYXJkLWFkLWlubGluZV9faW1hZ2V7XG4gIEBpbmNsdWRlIGltYWdlLWZ1bGw7XG5cbiAgd2lkdGg6IDEwMCU7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAxcHgpIHtcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiA0cHggc29saWQgJEJMQUNLO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRCTEFDSztcblx0XHRcdFx0Ly8gd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmNhcmQtYWQtaW5saW5lX19jb250ZW50e1xuICBmb250LXNpemU6IDIycHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCl7XG4gICAgbWFyZ2luLWJvdHRvbTogZ3JpZCguMjUpO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpe1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cbn1cblxuLmNhcmQtYWQtaW5saW5lX19hY3Rpb257XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItY29sb3I6ICRCTEFDSztcbiAgY29sb3I6ICRCTEFDSztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBwYWRkaW5nOiAzcHggMTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAmOmhvdmVye2JhY2tncm91bmQ6ICRCTEFDSzt9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpe1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogJFJFRDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLyBtaWQtc2l6ZWQgZGV2aWNlIGN1c3RvbWl6YXRpb25zXG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtc21hbGwgdG8gZGVza3RvcC1zbWFsbCl7XG5cblx0Ly8gLmNhcmQtYWQtaW5saW5lX19jb250ZW50IHtcblx0Ly8gXHRtYXJnaW4tYm90dG9tOiAwO1xuXHQvLyB9XG4vLyB9XG5cbi8vIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gZGVza3RvcC1zbWFsbCl7XG5cdC5jYXJkLWFkLWlubGluZSB7XG5cdFx0LmNvbC0xIHtcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcblxuXHRcdFx0aW1nIHtcblx0XHRcdFx0Ly8gYm9yZGVyLXdpZHRoOiAwO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEyNXB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuY29sLTIge1xuXHRcdFx0Ly8gYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAkQkxBQ0s7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IGdyaWQoLjI1KTtcblx0XHRcdC8vIG1hcmdpbi1sZWZ0OiBncmlkKC4yNSk7XG5cdFx0fVxuXHR9XG5cblx0LmNhcmQtYWQtaW5saW5lX19jb250ZW50IHtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogZ3JpZCguMTI1KTtcblx0fVxufVxuXG4vLyB2ZXJ5IHNtYWxsIG1vYmlsZSBkZXZpY2UgY3VzdG9taXphdGlvbnNcblxuLy8gQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzUwcHgpIHtcbi8vIFx0LmNhcmQtYWQtaW5saW5lIHtcbi8vIFx0XHQuY29sLTEge1xuLy8gXHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXG4vLyBcdFx0XHRpbWcge1xuLy8gXHRcdFx0XHRtYXgtd2lkdGg6IDgwcHg7XG4vLyBcdFx0XHR9XG4vLyBcdFx0fVxuLy8gXHRcdC5jb2wtMiB7XG5cdFx0XHRcbi8vIFx0XHR9XG4vLyBcdH1cblxuLy8gXHQuY2FyZC1hZC1pbmxpbmVfX2NvbnRlbnQge1xuLy8gXHRcdGZvbnQtc2l6ZTogMTNweDtcbi8vIFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuLy8gXHR9XG5cbi8vIFx0LmNhcmQtYWQtaW5saW5lX19hY3Rpb257XG4vLyBcdFx0Zm9udC1zaXplOiAxM3B4O1xuLy8gXHR9XG4vLyB9IiwiLmNhcmQtYWQtc2lkZWJhcntcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIG1vYmlsZS1sYXJnZSl7XG4gICAgbWFyZ2luLXRvcDogNy41cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1JTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKXtcbiAgICBtYXJnaW4tYm90dG9tOiBncmlkKC4zKTtcbiAgfVxuXG4gIC5jb2wtMntcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gbW9iaWxlLWxhcmdlKXtcbiAgICAgIHBhZGRpbmc6IDAgZ3JpZCguMjUpO1xuICAgIH1cbiAgfVxufVxuXG4uY2FyZC1hZC1zaWRlYmFyX19pbWFnZXtcbiAgQGluY2x1ZGUgaW1hZ2UtZnVsbDtcbiAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRCTEFDSztcbiAgbWFyZ2luLWJvdHRvbTogZ3JpZCguMjUpO1xufVxuXG4uY2FyZC1hZC1zaWRlYmFyX19jb250ZW50e1xuICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gbW9iaWxlLWxhcmdlKXtcbiAgICBtYXJnaW4tYm90dG9tOiBncmlkKC4yNSk7XG4gIH1cbn1cblxuLmNhcmQtYWQtc2lkZWJhcl9fYWN0aW9ue1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBwYWRkaW5nOiAzcHggMTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSl7XG4gICAgY29sb3I6ICRSRUQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbiIsIi5jYXJkLWFydGljbGV7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpob3ZlcntcbiAgICAgICAgLmNhcmQtYXJ0aWNsZV9fbWFpbi1pbWFnZSBpbWd7XG4gICAgICAgICAgICAvLyB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLDEuMSwxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtbGlzdCB7XG5cbiAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMyU7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyZC1hcnRpY2xlX19oZWFkZXIge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBncmlkLXBpeGVscygwLCAxKTtcbiAgICAgICAgICAgIHdpZHRoOiA2NiU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJveGluZyB7XG4gICAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGp1c3RpZnk6IGZsZXgtc3RhcnQsICRhbGlnbjogZmxleC1zdGFydCk7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgZ3JpZC1waXhlbHMoMCwgMSkgZ3JpZC1waXhlbHMoMCwgLjQpIGdyaWQtcGl4ZWxzKDAsIDEpO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtYXJ0aWNsZV9fbWFpbi1pbWFnZXtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWFydGljbGVfX3RpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtYXJ0aWNsZV9fYXV0aG9yIHtcbiAgICAgICAgICAgIGNvbG9yOiAkREFSS19CTFVFO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtYXJ0aWNsZV9fdG9waWMge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsYXlvdXQtZGl2aWRlZC1saXN0KCk7XG5cbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1sYXJnZXtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYm94ZWR7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkV0hJVEUtT0ZGO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRXSElURTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWFydGljbGVfX3RpdGxle1xuICAgICAgICAgICAgQGluY2x1ZGUgdHlwZS1oMTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIG1vYmlsZS1sYXJnZSB0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMzJweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgyMnB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWFydGljbGVfX2F1dGhvciB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyZC1hcnRpY2xlX190b3BpY3tkaXNwbGF5OiBub25lO31cblxuICAgIH1cblxuICAgICYuaXMtc21hbGx7XG5cbiAgICAgICAgLmNhcmQtYXJ0aWNsZV9faGVhZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyZC1hcnRpY2xlX19tYWluLWltYWdle1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgLmJveGVke1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1hcnRpY2xlX190aXRsZXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuXG4gICAgICAgICAgICAuY2FyZC1hcnRpY2xlX19oZWFkZXIge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBsZXZlbHMoMSk7XG4gICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiBncmlkLXBpeGVscyg3LDcpO1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwxKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJveGVke1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkV0hJVEU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jYXJkLWFydGljbGVfX3RpdGxlIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwZS1oMTtcbiAgICAgICAgICAgICAgLy8gbWFyZ2luOiAwIDAgZ3JpZC1waXhlbHMoMCwuNSkgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWFydGljbGVfX3RvcGlje1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWFydGljbGVfX3RpdGxlIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtZmVhdHVyZWR7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxheW91dC1zdHJpcGVkLWJhY2tncm91bmQtYmFzaWM7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgIEBpbmNsdWRlIGxheW91dC1kaXZpZGVkLWxpc3QoKTtcbiAgICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLCAxKSBncmlkLXBpeGVscygwLCAxKSAwO1xuXG4gICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgICAgIGhlYWRlciB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsIC41KSBncmlkLXBpeGVscygwLCAxKSAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2FyZC1hcnRpY2xlX190aXRsZSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWFydGljbGVfX21haW4taW1hZ2Uge1xuICAgICAgICAgICAgQGV4dGVuZCAuY29udGFpbmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtYXJ0aWNsZV9faGVhZGVye1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJFdISVRFO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IGdyaWQtcGl4ZWxzKDAsMSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWFydGljbGVfX3RpdGxle1xuICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkR1JJRC1DT05UQUlORVIgKyBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwuNSkgZ3JpZC1waXhlbHMoMCwzKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byA2MDBweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWFydGljbGVfX2F1dGhvcntcbiAgICAgICAgICAgIHdpZHRoOiBncmlkLXBpeGVscyg5LCAwKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJEdSRVk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwxLjUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyZC1hcnRpY2xlX190b3BpYyB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hc2lkZSwgJi5pcy1vbi10aGUtcmFjayB7IC8vIG5lZWQgdG8gcmVmYWN0b3IgYWxsIC5pcy1hc2lkZSBtZW50aW9uc1xuICAgICAgICB3aWR0aDogMzElO1xuXG4gICAgICAgIC5jYXJkLWFydGljbGVfX2hlYWRlciB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgICAgZmxleDogMztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogZ3JpZC1waXhlbHMoMCwuNzUpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtbWVkaXVtIHRvIGRlc2t0b3AtbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtYXJ0aWNsZV9fdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMjFweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDVweDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHdpZHRoOiAxMDVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBkZXNrdG9wLW1lZGl1bSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMjVweCBhdXRvIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1tZWRpdW0pIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkR1JFWTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGdyaWQtcGl4ZWxzKDAsMSk7XG4gICAgICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLDEpIGdyaWQtcGl4ZWxzKDAsIDEpIDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNhcmQtYXJ0aWNsZV9fbWFpbi1pbWFnZXtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEwNCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1tZWRpdW0gdG8gZGVza3RvcC1tZWRpdW0pIHtcbiAgICAgICAgICAgIC5ib3hpbmcge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogZ3JpZC1waXhlbHMoMCwgMSk7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2FyZC1hcnRpY2xlX19tYWluLWltYWdle1xuICAgIEBpbmNsdWRlIGxldmVscygxKTtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgID4gYXtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgaW1ne1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwxLDEpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNXM7XG4gICAgICAgIGhlaWdodDogYXV0bztcblx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuYXV0b2Rlc2t7XG4gICAgICAgIEBpbmNsdWRlIGxldmVscygyKTtcbiAgICAgICAgYm90dG9tOiBncmlkLXBpeGVscygwLDEpO1xuICAgICAgICByaWdodDogZ3JpZC1waXhlbHMoMCwxKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgc3Zne1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmaWxsOiAkV0hJVEU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG4uY2FyZC1hcnRpY2xlX19oZWFkZXIge1xuICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsLjUpIDA7XG59XG5cbi5jYXJkLWFydGljbGVfX3RpdGxle1xuICBjb2xvcjogJEJMQUNLLU9GRjtcbiAgZm9udC1mYW1pbHk6ICRUSVRMRTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBwYWRkaW5nOiBncmlkLXBpeGVscygwLC4yNSkgMDtcbn1cblxuLmNhcmQtYXJ0aWNsZV9fdG9waWN7XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRHUkVZO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIG1vYmlsZS1sYXJnZSB0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhcmQtYXJ0aWNsZV9fYXV0aG9ye1xuICBjb2xvcjogJERBUktfQkxVRTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbGFyZ2UgdG8gdGFibGV0LXNtYWxsKSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gIH1cbn1cblxuLmNhcmQtYXJ0aWNsZV9fZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogZ3JpZC1waXhlbHMoMCwgLjUpO1xuICAgIH0gXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gXG4qKioqIFZpZGVvIENhcmQgc3BlY2lmaWMgc3R5bGVzICoqKioqXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY2FyZC1hcnRpY2xlLS12aWRlbyB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICAgLmNhcmQtYXJ0aWNsZV9fdGh1bWJuYWlsLW5hdml0ZW0ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxufVxuXG4uY2FyZC1hcnRpY2xlX19tYWluLXZpZGVvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkV0hJVEU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2xvYWRpbmdfc3Bpbm5lcl9ibGFjay5naWZcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogOTBweCA5MHB4O1xuXG4gICAgJi5sb2FkaW5nLS1zdGFydCB7XG4gICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDBzO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbiAgICAmLmxvYWRpbmctLWVuZCB7XG4gICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTsgXG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuOXM7IFxuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbn1cbi5jYXJkLWFydGljbGVfX3Njcm9sbGluZy1uYXYge1xuICAgIC8vIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LWhlaWdodDogNjEwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tdG9wOiBncmlkLXBpeGVscygwLCAuNSk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgfVxufVxuLmNhcmQtYXJ0aWNsZV9fdGh1bWJuYWlsLW5hdml0ZW0ge1xuICAgIC5hY3RpdmUgJiBhOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoIGNlbnRlciwgY2VudGVyICk7XG5cbiAgICAgICAgY29sb3I6ICRXSElURTtcbiAgICAgICAgY29udGVudDogXCJOb3cgUGxheWluZ1wiO1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJEJMQUNLO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICBpbWcud3AtcG9zdC1pbWFnZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IC4zcztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5hY3RpdmUgJiBpbWcud3AtcG9zdC1pbWFnZSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfSAgICBcbn1cbi5jYXJkLWFydGljbGVfX3BsYXktYnRuIHtcbiAgICBAaW5jbHVkZSBsYXlvdXQtZmxleDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkV0hJVEU7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogNTBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDE0cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA1MHB4O1xufVxuIiwiLmNhcmQtYXJ0aWNsZS1mZWF0dXJle1xuICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkYWxpZ246IGNlbnRlcik7XG5cbiAgcGFkZGluZzogNDBweCAwIDQ1cHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2Upe1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICA+IC5ib3gtMXtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIHdpZHRoOiA2NSU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSl7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBpbWcge1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0bWFyZ2luLXRvcDogN3B4O1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LWxhcmdlKXtcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSl7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgPiAuYm94LTJ7XG4gICAgLy8gcGFkZGluZzogZ3JpZCguNSkgMCBncmlkKC41KSAwO1xuICAgIHdpZHRoOiAzMSU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSl7XG4gICAgICBwYWRkaW5nOiBncmlkKC41KSBncmlkKC41KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4uY2FyZC1hcnRpY2xlLWZlYXR1cmVfX3RvcGlje1xuICBjb2xvcjogJEdSRVk7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmNhcmQtYXJ0aWNsZS1mZWF0dXJlX19oZWFkZXJ7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtbGFyZ2Upe1xuICAgIC8vIG1hcmdpbi1ib3R0b206IGdyaWQoMSk7XG4gIH1cbn1cblxuLmNhcmQtYXJ0aWNsZS1mZWF0dXJlX19mb2xsb3cge1xuICBtYXJnaW4tdG9wOiBncmlkKDEpO1xufVxuXG4uY2FyZC1hcnRpY2xlLWZlYXR1cmVfX3RpdGxlIHtcbiAgZm9udC1mYW1pbHk6ICRUSVRMRTtcbiAgZm9udC1zaXplOiAzNnB4O1xuICBsaW5lLWhlaWdodDogMS4yZW07XG4gIG1hcmdpbi1ib3R0b206IGdyaWQoLjEpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gZGVza3RvcC1sYXJnZSl7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbGFyZ2Upe1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxufVxuXG4uY2FyZC1hcnRpY2xlLWZlYXR1cmVfX3N1YnRpdGxle1xuICBjb2xvcjogJEdSRVk7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgbWFyZ2luLWJvdHRvbTogZ3JpZCguMSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbGFyZ2Upe1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgfVxufVxuXG4uY2FyZC1hcnRpY2xlLWZlYXR1cmVfX2F1dGhvciB7XG4gIGNvbG9yOiAkREFSS19CTFVFO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbGFyZ2Upe1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxufVxuXG4uY2FyZC1hcnRpY2xlLWZlYXR1cmVfX2ZvbGxvd3tcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpe2Rpc3BsYXk6IG5vbmV9XG59XG5cbi5jYXJkLWFydGljbGUtZmVhdHVyZV9fZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogZ3JpZC1waXhlbHMoMCwgLjUpO1xuICAgIH0gXG59XG4iLCIuY2FyZC1hcnRpY2xlLXNuaXBwZXR7XG4gICAgQGluY2x1ZGUgc2hhZG93LTE7XG4gICAgYmFja2dyb3VuZDogJFdISVRFO1xuXG4gICAgaDJ7XG4gICAgICAgIEBpbmNsdWRlIHR5cGUtaDQ7XG4gICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsLjc1KSBncmlkLXBpeGVscygwLC41KTtcbiAgICAgICAgbWluLWhlaWdodDogODBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsIHRvIHRhYmxldC1sYXJnZSkge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICB9XG5cbiAgICBmaWd1cmV7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuY29tcG9uZW50LWdlbmVyYWwtY2F0ZWdvcnl7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29sb3I6ICRXSElURTtcbiAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwuNzUpIGdyaWQtcGl4ZWxzKDAsLjUpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgc3Zne1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG4iLCIuY2FyZC1hdXRob3J7XG4gICAgQGluY2x1ZGUgc2hhZG93LTE7XG4gICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGFsaWduOiBmbGV4LXN0YXJ0KTtcbiAgICBiYWNrZ3JvdW5kOiAkV0hJVEU7XG4gICAgbWFyZ2luOiAwIDAgZ3JpZC1waXhlbHMoMCwyKSAwO1xuICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsMikgZ3JpZC1waXhlbHMoMSwwKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gZGVza3RvcC1zbWFsbCkge1xuICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLDEpIGdyaWQtcGl4ZWxzKDAsMSk7XG4gICAgfVxuXG4gICAgLmJveHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbWVkaXVtKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ib3gtMXtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgd2lkdGg6IGdyaWQtcGVyY2VudGFnZSg1LDApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2Upe1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgZ3JpZC1waXhlbHMoMCwxKSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJveC0ye1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogZ3JpZC1wZXJjZW50YWdlKDEwLDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGVhZGVye1xuICAgICAgICBtYXJnaW46IDAgMCBncmlkLXBpeGVscygwLC41KSAwO1xuICAgIH1cblxuICAgIGgye1xuICAgICAgICBAaW5jbHVkZSB0eXBlLWgzO1xuICAgIH1cblxuICAgIHB7XG4gICAgICAgIEBpbmNsdWRlIHR5cGUtcDtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS40ZW0gMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hdmF0YXJ7XG4gICAgICAgIEBpbmNsdWRlIHByb3AtbWF4LXdpZHRoO1xuICAgICAgICBtYXJnaW46IDAgMCBncmlkLXBpeGVscygwLC41KSAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zb2NpYWx7XG4gICAgICAgIEBpbmNsdWRlIGxheW91dC1mbGV4KCRqdXN0aWZ5OiBjZW50ZXIpO1xuXG4gICAgICAgIGF7bWFyZ2luOiAwIDVweH1cblxuICAgICAgICAuY29tcG9uZW50LWJ1dHRvbi1zb2NpYWx7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6JEdSRVktQkxVRTtcblxuICAgICAgICAgICAgc3Zne1xuICAgICAgICAgICAgICAgIGZpbGw6ICRHUkVZLUJMVUU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG4iLCIuY2FyZC1hdXRob3Itc25pcHBldHtcbiAgICBiYWNrZ3JvdW5kOiAkV0hJVEU7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBmaWd1cmV7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICBoMXtcbiAgICAgICAgQGluY2x1ZGUgdHlwZS1oNDtcbiAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwuNzUpIGdyaWQtcGl4ZWxzKDAsLjUpO1xuICAgIH1cblxuXG59XG5cbi5jYXJkLWF1dGhvci1zbmlwcGV0X19hdmF0YXJ7XG4gICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGp1c3RpZnk6IGNlbnRlcik7XG4gICAgYmFja2dyb3VuZDogcmdiYSgkQkxBQ0ssLjUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XG5cbiAgICBpbWd7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxufVxuXG5cbi5jYXJkLWF1dGhvci1zbmlwcGV0X19ibHVycmVke1xuICAgIGhlaWdodDogMjUwcHg7XG4gICAgb3BhY2l0eTogLjI1O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZmlsdGVyOiBibHVyKDVweCk7XG59XG4iLCIuY2FyZC1zcGVha2Vye1xuICAgIEBpbmNsdWRlIGxheW91dC1mbGV4KCRkaXJlY3Rpb246IGNvbHVtbik7XG4gICAgXG4gICAgbWFyZ2luOiAxNXB4IDE1cHggMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbGFyZ2Upe1xuICAgICAgICB3aWR0aDogNDUlO1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAzMHB4KTtcbiAgICB9ICAgIFxuICAgIFxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2Upe1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG59XG4uY2FyZC1zcGVha2VyX19jb3B5e1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICB9XG5cbn1cblxuLmNhcmQtc3BlYWtlcl9fbmFtZXtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwgLjUpO1xuICAgIFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgZm9udC1zaXplOiAyM3B4O1xuICAgIH1cbn1cbi5jYXJkLXNwZWFrZXJfX2ltYWdle1xuICAgICRtb2JpbGUtd2lkdGg6IDIxMHB4O1xuXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsIC41KTtcbiAgICBtYXgtd2lkdGg6IDE0NHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmhhcy1vbmUgJiB7XG4gICAgICAgIG1heC13aWR0aDogMTYwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogJG1vYmlsZS13aWR0aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIG1heC13aWR0aDogJG1vYmlsZS13aWR0aDtcbiAgICB9XG59XG4iLCIuY2FyZC1oZWFkZXJ7XG4gICAgY29sb3I6ICRXSElURTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBAaW5jbHVkZSBsYXlvdXQtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC5ib3h7XG4gICAgICAgIEBpbmNsdWRlIGxldmVscygxKTtcbiAgICAgICAgYmFja2dyb3VuZDogJEJMQUNLLU9GRjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCw2KSAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLDMpIDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmluZm97XG4gICAgICAgIEBpbmNsdWRlIGxldmVscygxKTtcbiAgICB9XG5cbiAgICAuYXV0aG9yLWltYWdle1xuICAgICAgICBAaW5jbHVkZSBzaGFkb3ctMTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTVweCBhdXRvO1xuICAgICAgICB3aWR0aDogMTIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmFjdGlvbntcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGp1c3RpZnk6IGNlbnRlcik7XG4gICAgICAgIGF7bWFyZ2luOiAwIDVweDt9XG4gICAgfVxuXG4gICAgJi5oYXMtZGVzY3JpcHRpb257XG5cbiAgICAgICAgLmJveHtcbiAgICAgICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsMykgZ3JpZC1waXhlbHMoMCwwKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRXSElURTtcbiAgICAgICAgICAgIGNvbG9yOiAkQkxBQ0stT0ZGO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5pbmZvIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuXG4gICAgICAgICAgICAuYm94IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLDApIGdyaWQtcGl4ZWxzKDAsMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3ViYm94LTEge1xuICAgICAgICAgICAgd2lkdGg6IDM0JTtcbiAgICAgICAgfVxuICAgICAgICAuc3ViYm94LTIge1xuICAgICAgICAgICAgd2lkdGg6IDY2JTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWhlYWRlcl9fdGl0bGV7XG4gICAgICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMzBweCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAxNXB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA2MiU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIGRlc2t0b3Atc21hbGwpIHtcbiAgICAgICAgICAgIC5ncmlkLTQsIC5ncmlkLTgge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuY29tcG9uZW50LWJ1dHRvbi1zb2NpYWw6aG92ZXJ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRCTEFDSztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkQkxBQ0s7XG4gICAgfVxuXG59XG5cbi5jYXJkLWhlYWRlcl9fdGl0bGV7XG4gICAgQGluY2x1ZGUgdHlwZS1oMTtcbiAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oNTBweCk7XG4gICAgbWFyZ2luOiAwIDAgZ3JpZC1waXhlbHMoMCwuNSkgMDtcbn1cblxuXG4uY2FyZC1oZWFkZXJfX2Rlc2NyaXB0aW9ue1xuICAgIGJhY2tncm91bmQ6ICRXSElURTtcbiAgICBjb2xvcjogJEJMQUNLO1xuICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsMikgZ3JpZC1waXhlbHMoMCwxKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJEdSRVk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIGRlc2t0b3Atc21hbGwpIHtcbiAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwxLjUpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLDEuNSkgMDtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgZ3JpZC1waXhlbHMoMCwxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ib3hlZHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogZ3JpZC1waXhlbHMoOCwwKTtcbiAgICB9XG5cbiAgICBwe1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIH1cbn1cbiIsIi5jYXJkLXN0YWZme1xuICAgIEBpbmNsdWRlIGxheW91dC1mbGV4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2Upe1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmJveHtcbiAgICAgICAgd2lkdGg6IDQ5JTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSl7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG4uY2FyZC1zdGFmZl9fcG9zaXRpb257XG4gICAgY29sb3I6ICRHUkVZO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAuNXB4O1xuICAgIG1hcmdpbjogM3B4IDAgMCAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gbW9iaWxlLWxhcmdlKXtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2Upe1xuICAgICAgICBtYXJnaW46IDAgMCA1cHggMDtcbiAgICB9XG5cbn1cblxuLmNhcmQtc3RhZmZfX25hbWV7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4iLCJAaW1wb3J0IFwiZm9vdGVyXCI7XG5AaW1wb3J0IFwiaGVhZGVyXCI7XG5AaW1wb3J0IFwic2VhcmNoXCI7XG5AaW1wb3J0IFwic2luZ2xlXCI7XG5AaW1wb3J0IFwidG9waWNcIjtcbkBpbXBvcnQgXCJ0b3BpYy1zZWN0aW9uXCI7XG5AaW1wb3J0IFwiZmVhdHVyZWQtc2VjdGlvblwiO1xuQGltcG9ydCBcIm1lbnVcIjtcbkBpbXBvcnQgXCJtZWdhbWVudVwiO1xuQGltcG9ydCBcImFydGljbGVzLWFzaWRlXCI7XG5AaW1wb3J0IFwiYXJ0aWNsZXMtbGF0ZXN0XCI7XG5AaW1wb3J0IFwibWFnYXppbmUtcmFja1wiO1xuQGltcG9ydCBcImVkaXRvcnMtcGlja3NcIjsgLy8gZXh0ZW5kcyBtYWdhemluZS1yYWNrXG5AaW1wb3J0IFwibmV3c2xldHRlclwiO1xuQGltcG9ydCBcImF1dGhvcnNcIjtcbkBpbXBvcnQgXCJzdGFmZlwiO1xuQGltcG9ydCBcImF3YXJkc1wiO1xuQGltcG9ydCBcImV2ZW50XCI7XG4iLCIuYmxvY2stZm9vdGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJEJMQUNLO1x0Y29sb3I6ICRXSElURTtcblx0cGFkZGluZzogZ3JpZC1waXhlbHMoMCwxKTtcbn1cblxuLmJsb2NrLWZvb3Rlci1tYWlue1xuXHRAaW5jbHVkZSBsYXlvdXQtZmxleCgkYWxpZ246IGNlbnRlciwgJGp1c3RpZnk6IGNlbnRlcik7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpe1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdH1cblxuXHQuYm94LTEge1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJFdISVRFO1xuXHRcdFx0b3JkZXI6IDI7XG5cdFx0XHRwYWRkaW5nLXRvcDogZ3JpZCguMjUpO1xuXHQgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdCAgfVxuXG5cdCAgLmxvZ28gaW1nIHtcblx0ICBcdEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG5cdCAgXHRcdG1hcmdpbjogMCBhdXRvO1xuXHQgIFx0fVxuXHRcdH1cblx0fVxuXG5cdC5ib3gtMiB7XG5cdFx0bWFyZ2luOiAwIGdyaWQoMSk7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuXHRcdFx0bWFyZ2luOiAwIDAgZ3JpZCguMjUpIDA7XG5cdFx0fVxuXHR9XG5cblx0LmJveC0zIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuXHRcdFx0bWFyZ2luOiAwIDAgZ3JpZCguMjUpIDA7XG5cdFx0fVxuXHR9XG59XG5cbi5ibG9jay1mb290ZXJfX3NvY2lhbHtcblx0QGluY2x1ZGUgbGF5b3V0LWZsZXgoJGp1c3RpZnk6IGZsZXgtZW5kKTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCl7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdH1cblxuXHRzdmcge1xuXHRcdCRkOiAyNXB4O1xuXHRcdGZpbGw6ICRXSElURTtcblx0XHRoZWlnaHQ6ICRkO1xuXHRcdHdpZHRoOiAkZDtcblx0fVxuXG5cdGEge1xuXHRcdCY6bm90KDpmaXJzdC1jaGlsZCl7XG5cdFx0XHRtYXJnaW46IDAgMCAwIGdyaWQoLjI1KTtcblx0XHR9XG5cdH1cbn1cblxuLmJsb2NrLWZvb3Rlcl9fcXIge1xuXHRAaW5jbHVkZSBsYXlvdXQtZmxleCgkZGlyZWN0aW9uOiBjb2x1bW4sICRhbGlnbjogY2VudGVyLCAkanVzdGlmeTogY2VudGVyKTtcblxuXHRtYXJnaW4tbGVmdDogZ3JpZCguMjUpO1xuXG5cdCYtaW1nIHtcblx0XHRtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLCAuMjUpO1xuXHR9XG59XG5cbi5ibG9jay1mb290ZXJfX21lbnV7XG5cdEBpbmNsdWRlIGxheW91dC1mbGV4KCRhbGlnbjogY2VudGVyLCAkanVzdGlmeTogY2VudGVyKTtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRsZXR0ZXItc3BhY2luZzogLjFlbTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpe1xuXHRcdEBpbmNsdWRlIGxheW91dC1mbGV4KCRkaXJlY3Rpb246IGNvbHVtbik7XG5cdH1cblxuXHQ+IGEge1xuXHRcdG1hcmdpbjogMCBncmlkKC4xKTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKXtcblx0XHRcdG1hcmdpbjogMCAwIGdyaWQoLjEpIDA7XG5cdFx0fVxuXHR9XG59XG5cbi5ibG9jay1mb290ZXItc2Vjb25kYXJ5IHtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRsZXR0ZXItc3BhY2luZzogLjFlbTtcblx0bWFyZ2luOiBncmlkLXBpeGVscygwLC41KSAwIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuXHRcdCBkaXNwbGF5OiBmbGV4O1xuXHRcdCBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG5cbiAgYSB7XG4gIFx0bWFyZ2luOiAwIDVweDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG5cdFx0XHRtYXJnaW46IDVweCAwO1xuXHRcdH1cbiAgfVxufVxuXG4uYmxvY2stZm9vdGVyX19uZXdzbGV0dGVye1xuXHRAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKXtkaXNwbGF5OiBub25lfVxufVxuXG5cbi8vIEltYWdlIGVubGFyZ2VtZW50IHRlc3RcblxuYm9keS5zdGF0ZS0taW1hZ2UtZW5sYXJnZWQge1xuXHRvdmVyZmxvdy15OiBoaWRkZW47XG59XG4uZW5sYXJnZWFibGUge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbiNpbWFnZS12aWV3ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC45NSk7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHR3aWR0aDogMTAwdnc7XG5cdGhlaWdodDogMTAwdmg7XG5cdHotaW5kZXg6IC0xO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRvcGFjaXR5OiAwO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdHRyYW5zaXRpb246IGFsbCAuM3M7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG92ZXJmbG93LXk6IHNjcm9sbDtcblxuXHQmLmFjdGl2ZSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR6LWluZGV4OiA5OTk7XG5cdH1cblxuXHQmX19pbWcge1xuXHRcdG1heC13aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XG5cdFx0cGFkZGluZy10b3A6IDExNXB4O1xuXHR9XG5cdCZfX2Nsb3NlIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAzMHB4O1xuXHRcdHJpZ2h0OiAzMHB4O1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRmb250LXNpemU6IDMwcHg7XG5cdH1cblx0Jl9fY2FwdGlvbiB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luLXRvcDogMTBweDtcblx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0Y29sb3I6ICMwMDA7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xuXHRcdHBhZGRpbmctYm90dG9tOiAxNXB4O1xuXHR9XG59XG4iLCIuYmxvY2staGVhZGVye1xuICAgIEBpbmNsdWRlIGxldmVscyg2KTtcbiAgICBiYWNrZ3JvdW5kOiAkV0hJVEU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRHUkVZO1xuICAgIGhlaWdodDogJEhFQURFUl9IRUlHSFQ7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBoZWlnaHQ6ICRIRUFERVJfSEVJR0hUX01PQklMRTtcbiAgICB9XG5cbiAgICAuYm94ZXN7XG4gICAgICAgIGhlaWdodDogNjBweDtcblxuICAgICAgICA+IC5ib3h7XG5cbiAgICAgICAgICAgICYtMSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGp1c3RpZnk6IGZsZXgtc3RhcnQpO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0yIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtc21hbGwpIHtmbGV4OiAxO31cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIGZsZXg6IDM7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byAzNTBweCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLmJsb2NrLWhlYWRlcl9fcG9zdG1ldGF7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICA+IGRpdi5zaG93LW1vYmlsZXt3aWR0aDogMTAwJX1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC5jb21wb25lbnQtc2hhcmV7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGFsaWduOiBjZW50ZXIpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgZ3JpZCguMSk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBhe21hcmdpbjogMH1cbiAgICAgICAgICAgICAgICBzdmd7XG4gICAgICAgICAgICAgICAgICAkZDogMjlweDtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogJGQ7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogJGQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0ze1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxheW91dC1mbGV4KCRqdXN0aWZ5OiBjZW50ZXIpO1xuICAgICAgICAgICAgICAgIGZsZXg6IDU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5ibG9jay1oZWFkZXJfX3Bvc3RtZXRhIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCBncmlkKC4yNSk7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi00e1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxheW91dC1mbGV4KCRqdXN0aWZ5OiBmbGV4LWVuZCk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIGRlc2t0b3AtbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmJveC00IHtcbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKXtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgLmNvbXBvbmVudC1idXR0b24tYXV0b2Rlc2ssIC5jb21wb25lbnQtYnV0dG9uLW5ld3NsZXR0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmxvZ28ge1xuXG4gICAgICAgIGltZ3tcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LW1lZGl1bSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDRweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5sb2dvLWF1dG9kZXNre1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1tZWRpdW0pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGdyaWQtcGl4ZWxzKDAsLjc1KSAwIDA7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDExMHB4O1xuXG5cblxuICAgIH1cblxuICAgIC5sb2dvLWxldHRlcntcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIDE1cHggMCAwO1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICB9XG5cbiAgICAuY29tcG9uZW50LWJ1dHRvbntcbiAgICAgICAgQGluY2x1ZGUgdHlwZS1zbWFsbDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICBtYXJnaW46IDAgZ3JpZC1waXhlbHMoMCwuNSkgMCAwO1xuICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLC40NSkgZ3JpZC1waXhlbHMoMCwxKTtcbiAgICB9XG5cbn1cblxuXG4uYmxvY2staGVhZGVyX19tYWluIHtcbiAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLC41KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LW1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLC41KSBncmlkLXBpeGVscygwLC43NSk7XG4gICAgfVxuXG4gIC5sb2dvLXRlYXNle1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZTtcbiAgICBhe2Rpc3BsYXk6IGJsb2NrfVxuICB9XG59XG5cblxuLm5hdi10ZWFzZXtcbiAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwcHgpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDQwMG1zIGVhc2Utb3V0O1xuICAgIC8vIGhlaWdodDogMDtcbiAgICAvLyBwYWRkaW5nOiAwIDMwcHggMCAwO1xuICAgIC8vIHdpZHRoOiAxMDAlO1xufVxuXG4uYmxvY2staGVhZGVyX19wb3N0bWV0YXtcbiAgICBAaW5jbHVkZSBsYXlvdXQtZmxleDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2U7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMHB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nOiAwIDMwcHggMCAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKXtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgfVxuXG4gICAgc3Ryb25ne1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4xZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLnNob3ctbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zaG93LWRlc2t0b3Age1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5ibG9jay1oZWFkZXJfX3Bvc3RtZXRhX19yZWFkaW5ne1xuICAgIEBpbmNsdWRlIGxheW91dC1mbGV4KCRqdXN0aWZ5OiBmbGV4LXN0YXJ0KTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBzdHJvbmd7bWFyZ2luOiAwIDEwcHggMCAwO31cbiAgICB3aGl0ZS1zcGFjZTpub3dyYXA7XG4gICAgd2lkdGg6IDgwJTtcblxuICAgIGRpdnt3aWR0aDogNTAlfVxuXG59XG5cbi5ibG9jay1oZWFkZXJfX3Bvc3RtZXRhX19zaGFyZXtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICB3aWR0aDogMTUlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBkZXNrdG9wLW1lZGl1bSkge1xuICAgICAgICB3aWR0aDogMTAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgc3Ryb25ne1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIGRlc2t0b3AtbWVkaXVtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5ibG9jay1oZWFkZXJfX3Bvc3RtZXRhLXNvY2lhbCB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKXtkaXNwbGF5OiBub25lfVxuXG5cbiAgICA+IGRpdiB7XG4gICAgICAgIGZsZXg6IGF1dG87XG4gICAgfVxuXG4gICAgLmNvbXBvbmVudC1zaGFyZS1hbHQge1xuICAgICAgICBwYWRkaW5nOiAwIDEwJTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJEJMQUNLO1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgfVxuICAgIHN2ZyB7XG4gICAgICAgIGZpbGw6ICRXSElURTtcbiAgICB9XG59XG4iLCIuYmxvY2stc2VhcmNoe1xuICAgIEBpbmNsdWRlIGxheW91dC1oaWRkZW47XG4gICAgQGluY2x1ZGUgbGV2ZWxzKDApO1xuICAgIGJhY2tncm91bmQ6ICRXSElURTtcbiAgICAvLyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJFdISVRFIDEwJSxyZ2JhKCRXSElURSwuODUpKTtcbiAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLDMpIDAgZ3JpZC1waXhlbHMoMCwzKSAwO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCw1MHB4LDApO1xuICAgIHRyYW5zaXRpb246IGFsbCAuN3M7XG4gICAgdG9wOiAwO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgd2lkdGg6IDEwMSU7XG5cbiAgICAucmVzdWx0c3tcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGFsaWduOiBzdHJldGNoLCAkanVzdGlmeTogZmxleC1zdGFydCk7XG4gICAgfVxuXG4gICAgLmNhcmQtYXJ0aWNsZS1zbmlwcGV0e1xuICAgICAgICBtYXJnaW46IDAgMCBncmlkLXBpeGVscygwLDEpIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIGdyaWQtcGl4ZWxzKDAsLjMpIDA7XG4gICAgICAgICAgICB3aWR0aDogNDklO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOm50aC1jaGlsZCg0bis0KSl7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6Z3JpZC1wZXJjZW50YWdlKDAsMSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBmb3Jte1xuICAgICAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgpO1xuXG4gICAgICAgIG1hcmdpbjogMCAwIGdyaWQtcGl4ZWxzKDAsMSkgMDtcblxuICAgICAgICAuaW5wdXR7XG4gICAgICAgICAgICBAaW5jbHVkZSB0eXBlLWgxO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRTQU5TO1xuICAgICAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDgwcHgpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LW1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSg2NXB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMzBweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXN7b3V0bGluZTpub25lfVxuXG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuLnNlYXJjaHdwLWxpdmUtc2VhcmNoLXJlc3VsdHMtZmFkZW91dCB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCB0cmFuc3BhcmVudCwgJFdISVRFIDY1JSApO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTUlO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogOTk5OTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4taGVpZ2h0OiA4MDBweCl7XG4gICAgICAgIGhlaWdodDogMjAlO1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLWhlaWdodDogOTAwcHgpe1xuICAgICAgICBib3R0b206IDUwcHg7XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4taGVpZ2h0OiAxMDAwcHgpe1xuICAgICAgICBib3R0b206IDc1cHhcbiAgICB9XG59XG5cblxuLmJsb2NrLXNlYXJjaF9fY2xvc2V7XG4gICAgQGV4dGVuZCAuY29tcG9uZW50LWJ1dHRvbi1tZW51O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogNDVweDtcbiAgICB0b3A6IDY1cHg7XG5cbiAgICAkdG9wOiA5cHg7XG5cbiAgICAubGluZS0xe1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIHRvcDogJHRvcDtcbiAgICB9XG5cbiAgICAubGluZS0ye29wYWNpdHk6IDA7fVxuXG4gICAgLmxpbmUtM3tcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgdG9wOiAtICR0b3AgLSAxO1xuICAgIH1cblxufVxuXG4uYmxvY2stc2VhcmNoX19ib3gxIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICB9XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1sYXJnZSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIlO1xuICAgIH1cbn1cblxuLmJsb2NrLXNlYXJjaF9fYm94MiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNlYXJjaHdwLWxpdmUtc2VhcmNoLXJlc3VsdHMtc2hvd2luZyB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuLnNlYXJjaHdwLWxpdmUtc2VhcmNoLXJlc3VsdHMge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWF4LWhlaWdodDogNzB2aCAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gICAgICAgIHRvcDogMTcwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LWxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cblxuICAgIC5zcGlubmVyIHtcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAxNXB4KTtcbiAgICAgICAgXG4gICAgICAgID4gZGl2ID4gZGl2IHtcbiAgICAgICAgICAgIGhlaWdodDogMzBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgfVxufVxuLnNlYXJjaHdwLWxpdmUtc2VhcmNoLXJlc3VsdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbGFyZ2UgdG8gdGFibGV0LWxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1sYXJnZSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxufVxuLnNlYXJjaHdwLWxpdmUtc2VhcmNoLXJlc3VsdF9fYXV0aG9yIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29sb3I6ICRXSElURTtcbiAgICBib3R0b206IDE1cHg7XG4gICAgbGVmdDogMTVweDtcbiAgICBmb250LXNpemU6IDFyZW07XG59XG4uc2VhcmNod3AtbGl2ZS1zZWFyY2gtcmVzdWx0X19saW5rIHtcbiAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkZGlyZWN0aW9uOiBjb2x1bW4sICRhbGlnbjogZmxleC1zdGFydCwgJGp1c3RpZnk6IGZsZXgtc3RhcnQpO1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycztcblxuICAgIEBpbmNsdWRlIHNoYWRvdy0xO1xuICAgIGJhY2tncm91bmQ6ICRXSElURTtcblxuICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICBvcGFjaXR5OiAuOTtcblxuICAgIH1cbn1cbi5zZWFyY2h3cC1saXZlLXNlYXJjaC1yZXN1bHRfX21ldGEge1xuICAgIEBpbmNsdWRlIHR5cGUtaDQ7XG4gICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwuNzUpIGdyaWQtcGl4ZWxzKDAsLjUpO1xuICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG59XG4uc2VhcmNod3AtbGl2ZS1zZWFyY2gtcmVzdWx0X190aHVtYm5haWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRCTEFDSztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG9wYWNpdHk6IC43O1xuICAgIH1cblxufVxuLnNlYXJjaHdwLWxpdmUtc2VhcmNoLXJlc3VsdF9fbWV0YSB7XG4gICAgc3Ryb25nIHtcbiAgICAgICAgLy8gZm9udC1zaXplOiAxOHB4O1xuICAgIH1cbn1cbi5zZWFyY2h3cC1saXZlLXNlYXJjaC1uby1taW4tY2hhcnM6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn0iLCIvLyAqKioqKiBUZW1wIHNpZ251cCBmb3JtIGZpeCAqKioqKlxuLmJsb2NrLW5ld3NsZXR0ZXIgZm9ybSAubWt0b0Zvcm1Sb3c6bnRoLWNoaWxkKDIpIHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4ICFpbXBvcnRhbnQ7XG59XG4vLyAqKioqKiogRW5kIHRlbXAgZml4ICoqKioqKioqXG5cbi5ibG9jay1zaW5nbGUge1xuICBwYWRkaW5nLXRvcDogZ3JpZCguNSk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcblxuICAgICAgLmJveC0xLCAuYm94LTMge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAuYm94LTIge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICB9XG5cbiAgLmNvbXBvbmVudC1zaGFyZS1hbHQge1xuICAgIHBhZGRpbmctdG9wOiBncmlkKC4xNSk7XG4gIH1cbn1cblxuLmJsb2NrLXNpbmdsZV9fdG9we1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgbWFyZ2luLWJvdHRvbTogZ3JpZCguMjUpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKXtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5jb21wb25lbnQtc2hhcmV7XG4gICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGRpcmVjdGlvbjogY29sdW1uLCAkYWxpZ246IGZsZXgtZW5kKTtcbiAgICBtYXJnaW4tdG9wOiBncmlkKC4xNCk7XG4gICAgbWFyZ2luLWxlZnQ6IGdyaWQoLjc1KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LWxhcmdlKXtcbiAgICAgIG1hcmdpbi1sZWZ0OiBncmlkKC4yNSk7XG4gICAgfVxuICB9XG59XG5cbi5ibG9jay1zaW5nbGVfX2JvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRXSElURTtcbiAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLC41KSAwIGdyaWQtcGl4ZWxzKDAsMSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG5cbiAgICAuYm94ZXMge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCBncmlkLXBpeGVscygwLCAxKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYmxvY2stc2luZ2xlX19oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiBncmlkKC41KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKXtcbiAgICBtYXgtd2lkdGg6IDYwJTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKXtcbiAgICBwYWRkaW5nOiAwIGdyaWQtcGl4ZWxzKDAsMSk7XG4gIH1cbn1cblxuLmJsb2NrLXNpbmdsZV9fbWV0YXtcbiAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGp1c3RpZnk6IGZsZXgtc3RhcnQpO1xuICBmb250LXNpemU6IDEzcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5ibG9jay1zaW5nbGVfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSB0eXBlLWgxO1xuICAgIGZvbnQtZmFtaWx5OiAkVElUTEU7XG4gICAgY29sb3I6ICRCTEFDSy1PRkY7XG4gICAgbWFyZ2luLWJvdHRvbTogZ3JpZCguMjUpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCl7XG4gICAgICBtYXgtd2lkdGg6ICRHUklELUNPTlRBSU5FUiArIHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbGFyZ2UgdG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIC8vIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgzMnB4KTsgIC8vIG5lZWQgdG8gbG9vayBpbnRvIHRoaXMgYW5kIHBvc3NpYmx5IHJlbW92ZS5cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDI4cHgpO1xuICAgIH1cbn1cblxuLmJsb2NrLXNpbmdsZV9fdG9waWMge1xuICBjb2xvcjogJEdSRVk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIG1vYmlsZS1tZWRpdW0gdG8gdGFibGV0LXNtYWxsKSB7XG4gICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDI0cHgpO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbWVkaXVtKSB7XG4gICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDEycHgpO1xuICB9XG59XG5cbi5ibG9jay1zaW5nbGVfX2F1dGhvciB7XG4gICAgY29sb3I6ICREQVJLX0JMVUU7XG4gICAgbWFyZ2luLXJpZ2h0OiBncmlkKC4yNSk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gbW9iaWxlLW1lZGl1bSB0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDI0cHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKXtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQoLjEpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLW1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMTJweCk7XG4gICAgfVxufVxuXG4uYmxvY2stc2luZ2xlX19jb250ZW50IHtcbiAgICBjb2xvcjogJEJMQUNLLU9GRjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBpbWcsIGZpZ3VyZSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIC8vIG1hcmdpbjogZ3JpZC1waXhlbHMoMCwuNzUpIDAgMDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsLjUpO1xuXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZXtmb250LXdlaWdodDogNjAwO31cblxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgYTpub3QoW2hyZWZePVwiaHR0cHM6Ly9jZG5cIl0pe1xuICAgICAgICAgIEBpbmNsdWRlIGxzcy1saW5rLXVuZGVybGluZSgkV0hJVEUsIHJnYmEoJEJMQUNLLC45KSwgJEJMQUNLKTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7O1xuICAgICAgICB9XG4gICAgfVxuXG5cblxuXG4gICAgLmlzLWRhcmsgJiB7XG4gICAgICBhOm5vdChbaHJlZl49XCJodHRwczovL2NkblwiXSl7XG4gICAgICAgIEBpbmNsdWRlIGxzcy1saW5rLXVuZGVybGluZSgkREFSSy1BUlRJQ0xFLUJHLCByZ2JhKCRXSElURSwuOSksICRXSElURSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFsaWducmlnaHQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIDAgMCA1JTtcbiAgICAgICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgfVxuXG4gICAgLmFsaWdubGVmdCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMCA1JSAwIDA7XG4gICAgICAgIG1heC13aWR0aDogNjAlO1xuICAgIH1cbn1cblxuLmJsb2NrLXNpbmdsZV9fYm94IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuXG4gICAgLmJveGVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogJFdISVRFLU9GRjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJFdISVRFO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYmxvY2stc2luZ2xlX19tYWluLWltYWdlIHtcbiAgICBAaW5jbHVkZSBsZXZlbHMoMSk7XG5cbiAgICA+IGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwxLDEpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNXM7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLmJsb2NrLXNpbmdsZV9fc2lkZWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJFdISVRFO1xuICAgIHotaW5kZXg6IDExO1xufVxuLmJsb2NrLXNpbmdsZV9fcmVjb21tZW5kZWQge1xuICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCAkREFSS19CTFVFO1xuICAgIGNvbG9yOiAkQkxBQ0stT0ZGO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwgMikgZ3JpZC1waXhlbHMoMCwxKTtcbiAgICBtYXJnaW4tdG9wOiBncmlkLXBpeGVscygwLDIpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAuZW50cnkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLDEpO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuXG4gICAgICAgICAgICAgICAgLmRpdmlkZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29tcG9uZW50LWhlYWRpbmcgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwuNSk7XG4gICAgfVxuXG4gICAgLmNhdGVnb3J5IGF7XG4gICAgICAgIGNvbG9yOiAkR1JFWTtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLC4yNSk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cblxuICAgIC5kaXZpZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJERBUktfQkxVRTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiBncmlkLXBpeGVscygwLDEpO1xuICAgICAgICB3aWR0aDogODBweDtcbiAgICB9XG5cbn1cbi5ibG9jay1zaW5nbGVfX3RhZy1saXN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLCAxLjUpO1xuICAgIG1hcmdpbi10b3A6IGdyaWQtcGl4ZWxzKDAsIDEpO1xufVxuLmJsb2NrLXNpbmdsZV9fdGFnLCAuYmxvY2stc2luZ2xlX190YWctc3BhY2VyIHtcbiAgICBjb2xvcjogJFJFRDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgLmlzLWRhcmsgJiB7XG4gICAgICAgIGNvbG9yOiAkV0hJVEU7XG4gICAgfVxufVxuLmJsb2NrLXNpbmdsZV9fdGFnIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn1cblxuYm9keVtkYXRhLWJsb2dpZD1cIjhcIl0gLmJsb2NrLXNpbmdsZV9fcmVhZC10aW1lIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi5ibG9jay10b3BpY3tcbiAgLmNhcmQtYXJ0aWNsZS1mZWF0dXJlID4gLmJveC0ye1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtc21hbGwpIHtcbiAgICAgIC8vIG1pbi1oZWlnaHQ6IDQyN3B4O1xuICAgIH1cbiAgfVxufVxuXG4uYmxvY2stdG9waWNfX21vYmlsZS10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRHUkVZLUxJR0hUO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwgLjc1KSAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbn1cbi5ibG9jay10b3BpY19faGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuYmxvY2stdG9waWNfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLDEpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGdyaWQtcGl4ZWxzKDAsIDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UpO1xuICAgIH1cbn1cblxuLmJsb2NrLXRvcGljX19ib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkV0hJVEU7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLC41KSAwIGdyaWQtcGl4ZWxzKDAsMSk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgfVxuXG4gICAgLmJveGVzIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxufVxuXG4uYmxvY2stdG9waWNfX2VudHJ5IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbn1cblxuLmJsb2NrLXRvcGljX19zdWJ0b3BpY3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRHUkVZLUxJR0hUO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkR1JFWTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwuNSkgMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkR1JFWTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuc2xpY2stbGlzdCB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHdpZHRoOiA3NSU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay1zbGlkZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRSRUQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAycHg7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBtYXJnaW46IDAgZ3JpZCguMik7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCBncmlkKC4xNSk7XG4gICAgICB9XG4gICAgfVxufVxuXG4uYmxvY2stdG9waWNfX2Fycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNXB4O1xuICAgIHJpZ2h0OiA2NHB4O1xuICAgIHdpZHRoOiAzMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCl7ZGlzcGxheTogbm9uZX1cblxuICAgICYuaXMtcmlnaHQge1xuICAgICAgICByaWdodDogOCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIHJpZ2h0OiAyLjUlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1sZWZ0IHtcbiAgICAgICAgbGVmdDogOCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIGxlZnQ6IDUlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5zbGljay1kaXNhYmxlZHtcbiAgICAgIHN2Z3tmaWxsOiAkR1JFWTt9XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGZpbGw6ICRSRUQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206IDEwcHg7XG4gICAgfVxufVxuXG4uYmxvY2stdG9waWNfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSB0eXBlLWgxO1xuXG4gICAgY29sb3I6ICRCTEFDSy1PRkY7XG4gICAgZm9udC1zaXplOiAzNXB4O1xuICAgIG1hcmdpbjogZ3JpZC1waXhlbHMoMCwuNSkgYXV0bztcbiAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgzMHB4KTtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgfVxufVxuXG4uYmxvY2stdG9waWNfX3RvcGljIHtcbiAgbWFyZ2luLWJvdHRvbTogZ3JpZCguMSk7XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRHUkVZO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJsb2NrLXRvcGljX19hdXRob3Ige1xuICAgIGJvcmRlcjogMCBzb2xpZCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkREFSS19CTFVFO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwxKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5ibG9jay10b3BpY19fY29udGVudCB7XG4gICAgY29sb3I6ICRCTEFDSy1PRkY7XG5cbiAgICBpbWcsIGZpZ3VyZSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIG1hcmdpbjogZ3JpZC1waXhlbHMoMCwuNzUpIDA7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLC41KTtcblxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFsaWducmlnaHQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIDAgMCA1JTtcbiAgICAgICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgfVxuXG4gICAgLmFsaWdubGVmdCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMCA1JSAwIDA7XG4gICAgICAgIG1heC13aWR0aDogNjAlO1xuICAgIH1cbn1cblxuLmJsb2NrLXRvcGljX19ib3gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIC5ibG9jay10b3BpY19fbWFpbi1pbWFnZSBpbWcge1xuICAgICAgICAgICAgLy8gdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwxLjEsMSk7IC8vICoqKipOb3Qgc3VyZSBpZiB3ZSBhcmUgdXNpbmcgdGhpcyBvciBub3QuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYm94ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkV0hJVEUtT0ZGO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkV0hJVEU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGFpbmVye1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxufVxuXG4uYmxvY2stdG9waWNfX21haW4taW1hZ2Uge1xuICAgIEBleHRlbmQgLmNvbnRhaW5lcjtcbiAgICBAaW5jbHVkZSBsZXZlbHMoMSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogZ3JpZCguMSk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICA+IGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwxLDEpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNXM7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLmJsb2NrLXRvcGljX19zaWRlYmFyIHtcbiAgICBtYXJnaW4tdG9wOiA4JTtcbn1cbi5ibG9jay10b3BpY19fcmVjb21tZW5kZWQge1xuICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCAkREFSS19CTFVFO1xuICAgIGNvbG9yOiAkQkxBQ0stT0ZGO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwxKTtcbiAgICBtYXJnaW4tdG9wOiBncmlkLXBpeGVscygwLDIpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAuZW50cnkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLDEpO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuXG4gICAgICAgICAgICAgICAgLmRpdmlkZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwuNSk7XG4gICAgfVxuXG4gICAgLmNhdGVnb3J5IHtcbiAgICAgICAgY29sb3I6ICRHUkVZO1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsLjI1KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgLmRpdmlkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkREFSS19CTFVFO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IGdyaWQtcGl4ZWxzKDAsMSk7XG4gICAgICAgIHdpZHRoOiA4MHB4O1xuICAgIH1cblxufVxuIiwiLmJsb2NrLXRvcGljLXNlY3Rpb24ge1xuICBwYWRkaW5nOiBncmlkLXBpeGVscygwLCAyKSAwO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LW1lZGl1bSkge1xuICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCAkQkxBQ0s7XG5cdFx0cGFkZGluZzogZ3JpZC1waXhlbHMoMCwxKSAwO1xuICB9XG5cbiAgLmNvbXBvbmVudC1oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiBncmlkLXBpeGVscygwLCAxKTtcbiAgICB9XG4gIH1cblxuICAuY2FyZC1hcnRpY2xlIHtcbiAgICAmLmlzLXZpZGVvLW5hdiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLCAyKSAhaW1wb3J0YW50O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBAaW5jbHVkZSBsYXlvdXQtZGl2aWRlZC1saXN0KCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMzBweCAwIDMwcHggIWltcG9ydGFudDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICYuaXMtbGFyZ2U6bGFzdC1jaGlsZHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKXtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAuY2FyZC1hcnRpY2xlX19oZWFkZXJ7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKXtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyZC1hcnRpY2xlX19tYWluLWltYWdlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gIH1cblxuICAuY2FyZC1hcnRpY2xlX190aXRsZSB7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAzNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIDYwMHB4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyNXB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgfVxuXG4gIC5jYXJkLWFydGljbGVfX3RvcGljIHtcbiAgICAgIGEge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgfVxufVxuXG4uYmxvY2stdG9waWMtc2VjdGlvbi0tdmlkZW8ge1xuICAuYm94IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG4iLCIuYmxvY2stZmVhdHVyZWQtc2VjdGlvbiB7XG4gIC5jb21wb25lbnQtbWFnYXppbmUtcmFja3tcbiAgICBiYWNrZ3JvdW5kOiAkV0hJVEU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtc21hbGwpe1xuICAgICAgcGFkZGluZzogZ3JpZCguMyk7XG4gICAgfVxuICB9XG59XG5cbi5ibG9jay1mZWF0dXJlZC1zZWN0aW9uX19hcnRpY2xle1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkR1JFWS1MSUdIVDtcbn1cblxuXG4uYmxvY2stZmVhdHVyZWQtc2VjdGlvbl9fc3VidGl0bGV7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCl7XG4gICAgcGFkZGluZzogMCBncmlkKC40KTtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogZ3JpZCguNCk7XG4gIH1cblxuICA+IGF7XG4gICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGp1c3RpZnk6IGZsZXgtc3RhcnQpO1xuICB9XG59XG5cbi5ibG9jay1mZWF0dXJlZC1zZWN0aW9uX19pY29uLWFycm93LWFsdHtcbiAgbWFyZ2luLWxlZnQ6IGdyaWQoLjE1KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKXtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgc3Zne1xuICAgIEBpbmNsdWRlIGltYWdlLWJsb2NrO1xuICAgIGZpbGw6ICRCTEFDSztcbiAgICB3aWR0aDogMjhweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpe1xuICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgIH1cbiAgfVxufVxuXG4uYmxvY2stZmVhdHVyZWQtc2VjdGlvbl9faWNvbi1hcnJvd3tcbiAgbWFyZ2luLWxlZnQ6IGdyaWQoLjE1KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCl7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKXtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIH1cblxuICBzdmd7XG4gICAgQGluY2x1ZGUgaW1hZ2UtYmxvY2s7XG4gICAgZmlsbDogJFJFRDtcbiAgICB3aWR0aDogOHB4O1xuICB9XG59XG4iLCIuYmxvY2stbWVudSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgYSB7XG4gICAgY29sb3I6ICRCTEFDSy1PRkY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cbn1cbiIsIi5ibG9jay1tZWdhbWVudXtcbiAgICBAaW5jbHVkZSBsYXlvdXQtaGlkZGVuO1xuICAgIEBpbmNsdWRlIGxldmVscyg0KTtcbiAgICBiYWNrZ3JvdW5kOiAkV0hJVEU7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsNTBweCwwKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjdzO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICB9XG5cblxuICAgIC5tYWluLWNvbnRlbnR7XG4gICAgICAgIEBpbmNsdWRlIGxheW91dC1mbGV4KCRqdXN0aWZ5OiBjZW50ZXIpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5uYXZpZ2F0aW9uLXNlY29uZGFyeXtcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXg7XG4gICAgICAgIEBpbmNsdWRlIHR5cGUtaDM7XG4gICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgzMHB4KTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAoJEZPT1RFUl9IRUlHSFQgKyAyNSkgMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDI0cHgpO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRIRUFERVJfSEVJR0hUX01PQklMRTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgxNnB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGF7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNHB4IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRXSElURSwuNSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkanVzdGlmeTogc3BhY2UtYmV0d2Vlbik7XG5cbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJEdSRVk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLCAuNjUpIGdyaWQtcGl4ZWxzKDAsIDEpO1xuXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkQkxBQ0stT0ZGO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRCTEFDSy1PRkY7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogZ3JpZC1waXhlbHMoMCwgLjUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byA1MDBweCkge1xuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIDM1MHB4KSB7XG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2stZm9vdGVyIHtcbiAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsIDEuMjUpIGdyaWQtcGl4ZWxzKDAsMSkgZ3JpZC1waXhlbHMoMCwgNCkgZ3JpZC1waXhlbHMoMCwxKTtcbiAgICB9XG5cbiAgICAuYmxvY2stZm9vdGVyLW1haW4ge1xuICAgICAgICAuYm94ZXMge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3gge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwgMSk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3gtMSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBvcmRlcjogMTtcblxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTYwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJveC0yIHtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYm94LTMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtc21hbGwpe1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRHUkVZO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IGdyaWQtcGl4ZWxzKDAsIDEuNSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLCAxLjUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKXtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQoLjI1KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbXBvbmVudC1idXR0b24tc29jaWFsICB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkV0hJVEU7XG4gICAgICAgICAgICBib3JkZXI6IDAgc29saWQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgICB3aWR0aDogNDhweDtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkQkxBQ0s7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmJsb2NrLWFydGljbGVzLWFzaWRlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJEdSRVktTElHSFQ7XG5cdHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsIDIpIDA7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbWVkaXVtKSB7XG5cdFx0Ym9yZGVyLXRvcDogNHB4IHNvbGlkICREQVJLLUJMVUU7XG5cdH1cblxuXHQuYm94ZXMge1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHR9XG5cdC5ib3hpbmcge1xuXHRcdEBpbmNsdWRlIGxheW91dC1mbGV4KGNlbnRlciwgY2VudGVyLCByb3cpO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbWVkaXVtKSB7XG5cdFx0cGFkZGluZzogZ3JpZC1waXhlbHMoMCwxKSAwIDA7XG5cbiAgICAgICAgPiAuY29udGFpbmVyIHtcbiAgICAgICAgXHR3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb21wb25lbnQtaGVhZGluZyAge1xuICAgICAgICBcdHBhZGRpbmc6IDAgZ3JpZC1waXhlbHMoMCwgMSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuYmxvY2stYXJ0aWNsZXMtbGF0ZXN0IHtcblx0cGFkZGluZzogZ3JpZC1waXhlbHMoMCwgMikgMDtcblxuXHRhcnRpY2xlIHtcblx0XHRtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLDEuNSk7XG5cdH1cblxuXHQuY2FyZC1hcnRpY2xlX19tYWluLWltYWdle1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiBncmlkKC4yKTtcblx0XHR9XG5cdH1cblxuXHQuY29tcG9uZW50LWhlYWRpbmcge1xuXHRcdG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsMik7XG5cblx0XHQmLmlzLWNlbnRlcmVkIHtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR9XG5cblx0XHQmLmlzLWJvdHRvbWNhcCB7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdG1hcmdpbjogZ3JpZC1waXhlbHMoMCwxKSAwIDA7XG5cblx0ICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuXHQgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJEdSRVk7XG5cdCAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG5cdCAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcblxuXHQgICAgICAgICAgICBzcGFuIHtcblx0ICAgICAgICAgICAgICAgIGNvbG9yOiAkUkVEO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIHN2ZywgLnN0MCB7XG5cdFx0XHRcdFx0c3Ryb2tlOiAkUkVEO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgfVxuXHQgICAgfVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcblx0XHRcdHBhZGRpbmc6IDAgZ3JpZC1waXhlbHMoMCwgMSk7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLCAxKTtcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuXG5cdFx0cGFkZGluZy10b3A6IGdyaWQtcGl4ZWxzKDAsIDEpO1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICAgPiAuY29udGFpbmVyIHtcblxuICAgICAgIFx0XHR3aWR0aDogMTAwJTtcbiAgICAgICB9XG4gICAgfVxufVxuIiwiLmJsb2NrLW1hZ2F6aW5lLXJhY2sge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkR1JFWS1MSUdIVDtcblx0cGFkZGluZzogZ3JpZC1waXhlbHMoMCwgMikgMDtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1tZWRpdW0pIHtcblx0XHRib3JkZXItdG9wOiA0cHggc29saWQgJERBUkstQkxVRTtcblx0fVxuXG5cdC5ib3hlcyB7XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdH1cblx0LmJveGluZyB7XG5cdFx0QGluY2x1ZGUgbGF5b3V0LWZsZXgoZmxleC1zdGFydCwgY2VudGVyLCByb3cpO1xuXG5cdFx0ZmlndXJlIHtcblx0XHRcdG1hcmdpbi10b3A6IDI1cHg7XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbWVkaXVtKSB7XG5cdFx0cGFkZGluZzogZ3JpZC1waXhlbHMoMCwxKSAwO1xuXG4gICAgICAgID4gLmNvbnRhaW5lciB7XG4gICAgICAgIFx0d2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuY29tcG9uZW50LWhlYWRpbmcgIHtcbiAgICAgICAgXHRwYWRkaW5nOiBncmlkLXBpeGVscygwLCAuNSkgZ3JpZC1waXhlbHMoMCwgMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWxhc3Qge1xuICAgIFx0bWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG4iLCIuYmxvY2stZWRpdG9ycy1waWNrcyB7XG5cdEBleHRlbmQgLmJsb2NrLW1hZ2F6aW5lLXJhY2s7XG59IiwiLmJsb2NrLW5ld3NsZXR0ZXJ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAubWt0b0VtYWlsRmllbGQge1xuICAgICAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgICAudGl0bGV7XG4gICAgICAgIEBpbmNsdWRlIHR5cGUtaDE7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkVElUTEU7XG4gICAgICAgIGNvbG9yOiAkQkxBQ0s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgaDN7XG4gICAgICAgIEBpbmNsdWRlIHR5cGUtc21hbGw7XG4gICAgICAgIGNvbG9yOiAkR1JFWTtcbiAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwxKSAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsLjc1KSAwO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAubG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBmb3JtIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgICAgICAjRmlyc3ROYW1lLCAjTGFzdE5hbWUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ta3RvRm9ybVJvdywubWt0b09GRnNldCwgLm1rdG9DbGVhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1rdG9GaWVsZERlc2NyaXB0b3IubWt0b0Zvcm1Db2wge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAubWt0b0Zvcm1Sb3c6bnRoLWNoaWxkKDIpLCAubWt0b0Zvcm1Sb3c6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDMwcHggMCA2MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1rdG9Gb3JtUm93Om50aC1jaGlsZCgzKXtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWt0b0Zvcm1Sb3cgbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICRHUkVZO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWt0b0Zvcm1Sb3cgLm1rdG9FbWFpbEZpZWxkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJEJMQUNLO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRTQU5TO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMzFweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJjpmb2N1cywgJi5oYXMtdmFsdWUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWt0b0ZpZWxkV3JhcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkYWxpZ246IGNlbnRlciwgJGp1c3RpZnk6IGNlbnRlciwgJGRpcmVjdGlvbjogY29sdW1uKTtcbiAgICAgICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ta3RvRm9ybVJvdzpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgPiAubWt0b0ZpZWxkRGVzY3JpcHRvciA+IC5ta3RvRmllbGRXcmFwID4gbGFiZWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubWt0b1JhZGlvTGlzdCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTE1cHg7XG5cbiAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkQkxBQ0stT0ZGO1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTBweCAwIDI1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1rdG9SYWRpb0xpc3Qge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkU0FOUztcbiAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgIEBpbmNsdWRlIGxheW91dC1mbGV4KCRhbGlnbjogY2VudGVyLCAkanVzdGlmeTogY2VudGVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ta3RvQnV0dG9uUm93IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxheW91dC1mbGV4KCRhbGlnbjogY2VudGVyLCAkanVzdGlmeTogY2VudGVyKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBncmlkKC41KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbi5ta3RvQnV0dG9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyMjEsMzQsMzQsMSksIHJnYmEoNDMsNTYsMTQzLDEpKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyOiAwIHNvbGlkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJFNBTlM7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDE3MHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAycHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ta3RvR3V0dGVyLm1rdG9IYXNXaWR0aCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5ta3RvRm9ybSAubWt0b0Vycm9yIC5ta3RvRXJyb3JNc2cge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRFUlJPUjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXI6IDAgc29saWQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IHRyYW5zcGFyZW50IDAgLTFweCAwO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cblxuICAgICAgICAmLm1rdG9Gb3JtIC5ta3RvRXJyb3IgLm1rdG9FcnJvckFycm93IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRFUlJPUjtcbiAgICAgICAgICAgIGJvcmRlcjogMCBzb2xpZDtcbiAgICAgICAgfVxuXG4vKiA9PT09PT09PSBvbGQgc3R5bGVzIHRvIGNsZWFuIHVwPT09PT09PT09PT09PT0gKi9cbiAgICAgICAgcHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIGdyaWQtcGl4ZWxzKDAsMS4zMzMpIDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkUkVEO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkUkVEO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAucm93e1xuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIGdyaWQtcGl4ZWxzKDAsLjUpIDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYudG91Y2hlZC5pbnZhbGlke1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCByZWQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHlwZS1zbWFsbDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJEVSUk9SO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLC4yNSkgZ3JpZC1waXhlbHMoMCwuNSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcml2YWN5e1xuICAgICAgICAgICAgY29sb3I6ICRHUkVZO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICAgICAgICAgbGFiZWx7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICBjb2xvcjogJEJMQUNLO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkQkxBQ0s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5pcy1lcnJvcmVkLXByaXZhY3l7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwwLDAsLjUpO1xuICAgICAgICAgICAgY29sb3I6ICRXSElURTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcml2YWN5LW1lc3NhZ2V7XG4gICAgICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMjBweCAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmlucHV0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHR5cGUtc21hbGw7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkR1JFWS1MSUdIVDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwuNzUpIGdyaWQtcGl4ZWxzKDAsLjUpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgJjpmb2N1c3tvdXRsaW5lOiBub25lfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN1Ym1pdHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHR5cGUtc21hbGw7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkQkxBQ0s7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogJFdISVRFO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLC43NSkgMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJFdISVRFLC4xKTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIC40cztcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbntcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAmOmFmdGVye3dpZHRoOiAxMDAlfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmRpc2FibGVke1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7d2lkdGg6IDEwMCV9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5jcmVhdGV7XG4gICAgICAgICAgICBAaW5jbHVkZSB0eXBlLXNtYWxsO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkR1JFWTtcbiAgICAgICAgICAgIGNvbG9yOiAkR1JFWTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwuNikgMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVycm9ybXNne1xuICAgICAgICAgICAgY29sb3I6IHJlZDtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwIDAgMDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmJveGVke1xuICAgICAgICBiYWNrZ3JvdW5kOiAkV0hJVEU7XG4gICAgICAgIHBhZGRpbmc6ICBncmlkLXBpeGVscygwLDIuNSkgZ3JpZC1waXhlbHMoMCw0LjUpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkO1xuICAgICAgICBib3JkZXItaW1hZ2U6IHVybCguLi9pbWFnZXMvcGF0dGVybl9kYXJrLnBuZykgNTAgMCByZXBlYXQ7XG4gICAgICAgIC8vIGJvcmRlci1pbWFnZS1zbGljZTogMTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZzogIGdyaWQtcGl4ZWxzKDAsLjc1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbGFyZ2UgdG8gZGVza3RvcC1tZWRpdW0pIHtcbiAgICAgICAgICAgIC8vIHBhZGRpbmc6ICBncmlkLXBpeGVscygwLDIuNSkgZ3JpZC1waXhlbHMoMCwyLjUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYuaXMtZ2VvIC5pc1JhZGlvUm93e1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG59XG4uYmxvY2stbmV3c2xldHRlci1zaWRlYmFyLCAuYmxvY2stbmV3c2xldHRlci1pbmxpbmUsIC5ibG9jay1uZXdzbGV0dGVyLWZvb3RlciwgLmJsb2NrLW5ld3NsZXR0ZXItdW5zdWJzY3JpYmUge1xuICAgICYuc3RhdGUtc3VjY2Vzc3tcbiAgICAgIC5ibG9jay1uZXdzbGV0dGVyX19zdWNjZXNze1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgfVxuICAgIH1cbn1cbi5ibG9jay1uZXdzbGV0dGVyLXNpZGViYXIge1xuICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCAkQkxBQ0s7XG5cbiAgICAuYm94ZWQge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDMwcHg7XG4gICAgfVxuXG4gICAgLnRpdGxlLCAuc3VidGl0bGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtNXB4O1xuICAgIH1cblxuICAgIC5zdWJ0aXRsZSB7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBtYXJnaW46IDE1cHggMCAwO1xuICAgIH1cblxuICAgIGZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuXG4gICAgICAgID4gZGl2IHtcblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMil7XG4gICAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIGRlc2t0b3AtbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTEwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC5ta3RvRXJyb3Ige1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtNjRweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTQwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMyl7XG4gICAgICAgICAgICAgIG9yZGVyOiAzO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgbWFyZ2luOiAtN3B4IDAgLTEwcHggIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIGRlc2t0b3AtbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMyl7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiAtMjVweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgb3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoNSl7XG4gICAgICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuXG4gICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIGRlc2t0b3AtbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgIHNwYW4sIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxOHB4O1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1rdG9GaWVsZFdyYXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGFsaWduOiBsZWZ0LCAkanVzdGlmeTogY2VudGVyLCAkZGlyZWN0aW9uOiBjb2x1bW4pO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1rdG9SYWRpb0xpc3Qge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxheW91dC1mbGV4KCRhbGlnbjogY2VudGVyLCAkanVzdGlmeTogZmxleC1lbmQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1rdG9CdXR0b25Sb3cge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGFsaWduOiBjZW50ZXIsICRqdXN0aWZ5OiBsZWZ0KTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDExcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ta3RvRm9ybVJvdyAubWt0b0VtYWlsRmllbGQge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJEdSRVk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRTQU5TO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1rdG9Gb3JtUm93IGxhYmVsLm1rdG9MYWJlbCB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRTQU5TO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIH1cblxuICAgICAgICAubWt0b0Zvcm1Sb3c6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgIC5ta3RvUmFkaW9MaXN0IHtcbiAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIC5ta3RvRXJyb3Ige1xuICAgICAgICAgICAgLy8gICAgIHJpZ2h0OiA2MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAvLyAgICAgYm90dG9tOiAtMjBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgLy8gfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIGRlc2t0b3AtbWVkaXVtKSB7XG4gICAgICAgIC5ta3RvRW1haWxGaWVsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBidXR0b24ubWt0b0J1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ibG9jay1uZXdzbGV0dGVyLWlubGluZV9fcG9saWN5e21hcmdpbi10b3A6IGdyaWQoLjI1KTsgdGV4dC1hbGlnbjogY2VudGVyfVxuLmJsb2NrLW5ld3NsZXR0ZXItc2lkZWJhcl9fcG9saWN5e21hcmdpbi10b3A6IGdyaWQoLjI1KX1cblxuLmJsb2NrLW5ld3NsZXR0ZXItb3ZlcmxheXtcbiAgICBAaW5jbHVkZSBzaGFkb3ctMTtcbiAgICBAaW5jbHVkZSBsYXlvdXQtaGlkZGVuO1xuICAgIEBpbmNsdWRlIGxheW91dC1mbGV4KCRhbGlnbjogY2VudGVyLCAkanVzdGlmeTogY2VudGVyKTtcbiAgICBAaW5jbHVkZSBsZXZlbHMoMSk7XG5cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjIxLDM0LDM0LC45NSksIHJnYmEoNDMsNTYsMTQzLC45NSkpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIC43cztcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBkZXNrdG9wLXNtYWxsKXtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDUwcHgsMCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cbiAgICBcbiAgICAvLyBBZGp1c3RtZW50cyBmb3Igc2hvcnQgYnJvd3NlciB3aW5kb3dzXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNzQwcHggKSBhbmQgKG1pbi13aWR0aDogNzUwcHgpIGFuZCAobWF4LXdpZHRoOiA4NjZweCkge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA2ODBweCApIGFuZCAobWluLXdpZHRoOiA4NjdweCkgYW5kIChtYXgtd2lkdGg6IDEwMjlweCkge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA2NTBweCApIGFuZCAobWluLXdpZHRoOiAxMDMwcHgpIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICB9XG5cbiAgICAuYm94LWNvbnRhaW5lcntcbiAgICAgICAgQGluY2x1ZGUgbGV2ZWxzKDIpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwNjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gZGVza3RvcC1zbWFsbCB0byBkZXNrdG9wLWxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogIDg1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbnN7XG4gICAgICAgIGJhY2tncm91bmQ6ICRHUkVZLUxJR0hUO1xuICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMjBweCk7XG5cbiAgICAgICAgPiAuYm94e3dpZHRoOiA1MCV9XG5cbiAgICAgICAgYXtcbiAgICAgICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsMS4yNSkgZ3JpZC1waXhlbHMoMCwxLjUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsLjc1KSBncmlkLXBpeGVscygwLC43NSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaXMtYWN0aXZle2JhY2tncm91bmQ6ICRXSElURTt9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnRpdGxlIHtcbiAgICAgIEBpbmNsdWRlIGgxO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICB9XG5cbiAgICAuc3VidGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtcyB7XG4gICAgICAgIEBpbmNsdWRlIGxheW91dC1mbGV4KCRhbGlnbjogc3RyZXRjaCwgJGp1c3RpZnk6IGNlbnRlcik7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICRCTEFDSztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ib3hlZHtcbiAgICAgICAgYmFja2dyb3VuZDogJFdISVRFO1xuICAgICAgICBwYWRkaW5nOiAgZ3JpZC1waXhlbHMoMCwzLjc1KSBncmlkLXBpeGVscygwLDEuNSkgZ3JpZC1waXhlbHMoMCw0LjI1KTtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgYm9yZGVyOiAwIHNvbGlkO1xuICAgICAgICAvLyBib3JkZXItaW1hZ2Utc2xpY2U6IDE7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgIHBhZGRpbmc6ICBncmlkLXBpeGVscygwLDIuNzUpIGdyaWQtcGl4ZWxzKDAsMS41KSBncmlkLXBpeGVscygwLDEuNSk7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMjBweCBzb2xpZDtcbiAgICAgICAgICBib3JkZXItaW1hZ2U6IHVybCguLi9pbWFnZXMvcGF0dGVybl9kYXJrLnBuZykgNTAgMCByZXBlYXQ7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1tZWRpdW0pIHtcbiAgICAgICAgICBwYWRkaW5nOiAgZ3JpZC1waXhlbHMoMCwxLjc1KSBncmlkLXBpeGVscygwLDEpIGdyaWQtcGl4ZWxzKDAsMSk7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA3ODBweCApIGFuZCAobWluLXdpZHRoOiA3NTBweCkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IGdyaWQtcGl4ZWxzKDAsIDIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1rdG9Gb3JtUm93IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgICAgIGhlaWdodDogMDtcblxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWt0b0VtYWlsRmllbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0zN3B4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmb3Jte1xuICAgICAgLm1rdG9Gb3JtUm93IGxhYmVse1xuICAgICAgICBmb250LWZhbWlseTogJFNBTlM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAubWt0b0FzdGVyaXh7ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O31cblxuICAgICAgLm1rdG9MYWJlbC5ta3RvSGFzV2lkdGh7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogLTVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGZvcm0gYnV0dG9uLm1rdG9CdXR0b24ge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkU0FOUyAhaW1wb3J0YW50O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3JtIC5ta3RvRm9ybVJvdzpudGgtY2hpbGQoMykgLm1rdG9SYWRpb0xpc3Qge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTIwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZXNzYWdle1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAzMHB4IDA7XG4gICAgfVxuXG4gICAgLmJsb2NrLW5ld3NsZXR0ZXJfX2Nsb3Nle1xuICAgICAgICAubGluZXtiYWNrZ3JvdW5kOiAkQkxBQ0stT0ZGfVxuICAgIH1cblxufVxuXG4uYmxvY2stbmV3c2xldHRlci1vdmVybGF5X19wb2xpY3kge1xuICBsZWZ0OiAwO1xuICBib3R0b206IGdyaWQoLjI1KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLW1lZGl1bSkge1xuICAgIHBhZGRpbmc6IDAgZ3JpZCguMik7XG4gIH1cbn1cblxuLmJsb2NrLW5ld3NsZXR0ZXItZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkREFSSy1CTFVFO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiBncmlkKC41KSAwIDAgMDtcbiAgICB6LWluZGV4OiA1O1xuXG4gICAgJjpiZWZvcmV7XG4gICAgICBiYWNrZ3JvdW5kOiAkV0hJVEU7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3BhdHRlcm4ucG5nKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwcHggYXV0bztcbiAgICAgIGhlaWdodDogZ3JpZCguNCk7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnN1YnRpdGxlIHtcblxuICAgIH1cblxuICAgIC50aXRsZSwgLnN1YnRpdGxlIHtcbiAgICAgICAgY29sb3I6ICRXSElURTtcbiAgICB9XG5cbiAgICAuYm94ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAwIHNvbGlkO1xuICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLCAxKSAzMyU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLCAyKSBncmlkLXBpeGVscygwLCAxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBtb2JpbGUtbWVkaXVtIHRvIHRhYmxldC1tZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsIDIpIGdyaWQtcGl4ZWxzKDAsIDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1tZWRpdW0gdG8gZGVza3RvcC1tZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsIDEpIDI1JTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ibG9jay1uZXdzbGV0dGVyX19zdWNjZXNzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJERBUkstQkxVRTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICBmb3JtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgICA+IGRpdiB7XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpe1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgLm1rdG9FcnJvciB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtNjRweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IC00MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMyl7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAtN3B4IDAgLTEwcHggIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgIC5ta3RvUmFkaW9MaXN0IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkV0hJVEUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoNSl7XG4gICAgICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuXG4gICAgICAgICAgICAgICBzcGFuLCBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMzcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gZGVza3RvcC1tZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKXtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg1KXtcbiAgICAgICAgICAgICAgICAgICB3aWR0aDogNDAlO1xuXG4gICAgICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWt0b0ZpZWxkV3JhcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkYWxpZ246IGxlZnQsICRqdXN0aWZ5OiBjZW50ZXIsICRkaXJlY3Rpb246IGNvbHVtbik7XG4gICAgICAgIH1cblxuICAgICAgICBidXR0b24ubWt0b0J1dHRvbiB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkV0hJVEUgIWltcG9ydGFudDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgY29sb3I6ICREQVJLLUJMVUUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWt0b0Zvcm1Sb3c6bnRoLWNoaWxkKDMpIC5ta3RvUmFkaW9MaXN0IGxhYmVsIHtcbiAgICAgICAgICAgIC8vIGNvbG9yOiAkV0hJVEU7XG4gICAgICAgIH1cblxuICAgICAgICAubWt0b0Zvcm1Sb3cgLm1rdG9FbWFpbEZpZWxkIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRHUkVZO1xuICAgICAgICAgICAgY29sb3I6ICRXSElURTtcbiAgICAgICAgICAgIGhlaWdodDogMzNweDtcblxuICAgICAgICAgICAgJjpmb2N1cywgJi5oYXMtdmFsdWUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICREQVJLLUJMVUU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWt0b0Zvcm1Sb3cgbGFiZWwubWt0b0xhYmVsLm1rdG9IYXNXaWR0aCB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJFNBTlM7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgY29sb3I6ICRXSElURTtcbiAgICAgICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IC04cHg7XG4gICAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1rdG9GaWVsZERlc2NyaXB0b3IubWt0b0Zvcm1Db2wge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAubWt0b09mZnNldCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG5cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIGJvcmRlcjogMCBzb2xpZDtcbiAgICB9XG59XG5cbi5ibG9jay1uZXdzbGV0dGVyLWZvb3Rlcl9fcG9saWN5e1xuICBtYXJnaW4tdG9wOiBncmlkKC4yNSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmJsb2NrLW5ld3NsZXR0ZXItaW5saW5lIHtcbiAgICBAZXh0ZW5kIC5ibG9jay1uZXdzbGV0dGVyLWZvb3RlcjtcbiAgICBib3JkZXItd2lkdGg6IDA7XG5cbiAgICBmb3JtID4gZGl2Om50aC1jaGlsZCg1KSBidXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgfVxuXG59XG5cbi5ibG9jay1uZXdzbGV0dGVyLXVuc3Vic2NyaWJlIHtcbiAgICBwYWRkaW5nLXRvcDogZ3JpZC1waXhlbHMoMCwgLjUpO1xuICAgIC5ta3RvT2Zmc2V0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubWt0b0ZpZWxkV3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm1rdG9Gb3JtUm93Om50aC1jaGlsZCgyKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjRW1haWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGdyaWQtcGl4ZWxzKDAsIC41KTtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBncmlkLXBpeGVscygwLCAuNSkgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBidXR0b24ge1xuICAgICAgICBjb2xvcjogJFdISVRFICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYmxvY2stbmV3c2xldHRlcl9fc3VjY2VzcyB7XG4gICAgICAgIG1hcmdpbjogLTMwcHggLTEwJSAwO1xuICAgICAgICB3aWR0aDogMTIwJTtcblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIC0zJSAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwNiU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsIDIpIDAgZ3JpZC1waXhlbHMoMCwgNCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogNXB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLm1rdG9CdXR0b25XcmFwLCBidXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5ta3RvRm9ybVJvdyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ibG9jay1uZXdzbGV0dGVyX19jbG9zZXtcbiAgICByaWdodDogMTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA2MHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwtMjAwJSwwKTtcbiAgICB3aWR0aDogMThweDtcbiAgICB6LWluZGV4OiAxMDtcblxuICAgICR0b3A6IDlweDtcblxuICAgIC5saW5lLTF7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgdG9wOiAkdG9wO1xuICAgIH1cblxuICAgIC5saW5lLTJ7b3BhY2l0eTogMDt9XG5cbiAgICAubGluZS0ze1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB0b3A6IC0gJHRvcCAtIDI7XG4gICAgfVxuXG59XG5cbi5ibG9jay1uZXdzbGV0dGVyX19zdWNjZXNze1xuICBAaW5jbHVkZSBsYXlvdXQtZmxleDtcbiAgYmFja2dyb3VuZDogJFdISVRFO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6ICBncmlkLXBpeGVscygwLDMuNzUpIGdyaWQtcGl4ZWxzKDAsMS41KSBncmlkLXBpeGVscygwLDQuMjUpO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2U7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAyO1xuXG4gIC5ib3hlZGVke3dpZHRoOiAxMDAlfVxufVxuXG4ubWt0b0J1dHRvbldyYXAge1xuICAgIC5pcy13YWl0aW5nIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJFdISVRFICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAkR1JFWSAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMCBzb2xpZCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LWZhbWlseTogXCJBcnRpZmFrdCBFbGVtZW50XCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMTcwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDJweCAhaW1wb3J0YW50O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycHggIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYuc3RhdGUtd2FpdGluZyB7XG4gICAgICAgIC5pcy13YWl0aW5nIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICAgICAgYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4jbWt0b0Zvcm1fMjAwMyAubWt0b0J1dHRvbldyYXAsIC5ibG9jay1uZXdzbGV0dGVyLXNpZGViYXIgI21rdG9Gb3JtXzE5MTkgLm1rdG9CdXR0b25XcmFwIHtcbiAgICAuaXMtd2FpdGluZyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2RkMjIyMiwgIzJiMzg4ZikgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAwIHNvbGlkICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAkV0hJVEUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweCAhaW1wb3J0YW50O1xuICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICB9XG59XG4uYmxvY2stbmV3c2xldHRlci1zaWRlYmFyICNta3RvRm9ybV8xOTE5IC5ta3RvQnV0dG9uV3JhcCB7XG4gICAgLmlzLXdhaXRpbmcge1xuICAgICAgICB0b3A6IDNweCAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLy8gcXVpY2sgZml4LiBOZWVkcyB0IGJlIHJlZmFjdG9yZWRcbi5ibG9jay1uZXdzbGV0dGVyLWZvb3RlciBmb3JtID4gZGl2Om50aC1jaGlsZCg1KSBidXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDJweCAhaW1wb3J0YW50O1xufVxuXG4vKiA9PT09PT09PT0gTkVXIE1BUktFVE8gRk9STSBNSUdSQVRJT04gPT09PT09PT09PT09PT09PT0gKi9cblxuI2VtYWlsc2lnbnVwX19mb290ZXIsICNlbWFpbHNpZ251cF9faW5saW5lLCAjZW1haWxzaWdudXBfX292ZXJsYXksIC5lbWFpbHNpZ251cF9fc2lkZWJhciB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcblxuICAgIGlmcmFtZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn0iLCIuYmxvY2stYXV0aG9yc3tcbiAgQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGFsaWduOiBzdHJldGNoKTtcblxuICA+IC5ib3h7XG4gICAgQGluY2x1ZGUgc2hhZG93LTE7XG4gICAgbWFyZ2luOiAwIDAgMzVweCAwO1xuICAgIHdpZHRoOiAxOSU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1tZWRpdW0pIHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgIHdpZHRoOiA0NiU7XG4gICAgICBtYXJnaW46IDIlO1xuICAgIH1cblxuICAgICYuaXMtZW1wdHl7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG59XG4iLCIuYmxvY2stc3RhZmZ7XG4gIG1hcmdpbjogZ3JpZCguNSkgYXV0byA2MHB4IGF1dG87XG4gIG1heC13aWR0aDogNjAwcHg7XG5cbiAgdWx7XG4gICAgbWFyZ2luOiAwIDAgNDBweCAwO1xuICB9XG5cbiAgbGl7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICAgIH1cbiAgfVxufVxuXG4uYmxvY2stc3RhZmZfX2hlYWRpbmd7XG4gIGZvbnQtZmFtaWx5OiAkVElUTEU7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC41cHg7XG4gIG1hcmdpbjogMCAwIDI1cHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYmxvY2stc3RhZmZfX2NvbnRyaWJ1dGVyc3tcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogJEdSRVk7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC41cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgYXtib3JkZXItYm90dG9tOiAxcHggc29saWQgJEdSRVl9XG59XG4iLCIuYmxvY2stYXdhcmRze1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogNTcwcHg7XG5cbiAgICAuYm94ZXN7XG4gICAgICAgIEBpbmNsdWRlIGxheW91dC1mbGV4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LW1lZGl1bSl7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuYm94e1xuXG4gICAgICAgICY6bm90KDpudGgtbGFzdC1jaGlsZCgtbiArIDMpKXtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSB0YWJsZXQtbWVkaXVtKXtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1tZWRpdW0pe1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxufVxuXG4uYmxvY2stYXdhcmRzX19oZWFkaW5ne1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAuNXB4O1xuICAgIG1hcmdpbjogMCAwIDI1cHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiIsIi5ibG9jay1ldmVudHtcbiAgLy8gQGluY2x1ZGUgbGF5b3V0LWZsZXgoJGFsaWduOiBzdHJldGNoKTtcblxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtbWVkaXVtKSB7XG5cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuXG4gICAgfVxuXG4gICAgLm1haW4taW1hZ2Uge1xuICAgICAgLndwLXBvc3QtaW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbn1cbi5ibG9jay1ldmVudF9fY29udGFpbmVyIHtcbiAgLy8gYmFja2dyb3VuZC1jb2xvcjogJFdISVRFLU9GRiAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwgMi41KSAhaW1wb3J0YW50O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgcGFkZGluZy10b3A6IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICBcbn1cbi5ibG9jay1ldmVudF9fc3BlYWtlcnMge1xuICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkanVzdGlmeTogc3BhY2UtYmV0d2Vlbik7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcblxuICAmLmhhcy1vbmUge1xuICAgIC5jYXJkLXNwZWFrZXIge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG4uYmxvY2stZXZlbnRfX3NlY3Rpb24ge1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgbWFyZ2luOiBncmlkLXBpeGVscygwLCAxLjUpIDAgMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICYtLWludHJvIHtcbiAgICBtYXJnaW46IGdyaWQtcGl4ZWxzKDAsIDEpIDA7XG4gICAgXG4gICAgLmJsb2NrLWV2ZW50X19zdWJ0ZXh0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsIC41KTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgfVxuICAgIH0gICAgXG4gIH1cbn1cbi5ibG9jay1ldmVudF9faGVhZGluZyB7XG4gIGZvbnQtZmFtaWx5OiAkVElUTEU7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsIC41KTtcbn1cbi5ibG9jay1ldmVudF9fc3VidGV4dCB7XG4gIGNvbG9yOiAkR1JFWTtcbiAgZm9udC1mYW1pbHk6ICRUSVRMRTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwgLjI1KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgfVxufVxuLmJsb2NrLWV2ZW50X19jb3B5IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC1zaXplOiAxOHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG5cbiAgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICBmb250LWZhbWlseTogJFRJVExFO1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLCAuNSk7XG4gIH1cbiAgaDMsIHtcbiAgICBmb250LXNpemU6IDMycHg7XG4gIH1cbiAgaDQsIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cbiAgaDUsIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cbiAgaDYsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cblxuICBhOm5vdChbaHJlZl49XCJodHRwczovL2NkblwiXSl7XG4gICAgQGluY2x1ZGUgbHNzLWxpbmstdW5kZXJsaW5lKCRXSElURSwgcmdiYSgkQkxBQ0ssLjkpLCAkQkxBQ0spO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazs7XG4gIH1cbn1cbi5ibG9jay1ldmVudF9fY3RhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkMjIyMjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZGQyMjIyIDAlLCAjMmMzODhmIDEwMCUpO1xuICBjb2xvcjogJFdISVRFO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgbWFyZ2luLXRvcDogZ3JpZC1waXhlbHMoMCwgMSk7XG4gIG1pbi13aWR0aDogMjQwcHg7XG4gIHBhZGRpbmc6IDIycHggZ3JpZC1waXhlbHMoMCwgMik7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgcGFkZGluZzogMTVweCBncmlkLXBpeGVscygwLCAyKTtcbiAgfSBcbn1cbi5ibG9jay1ldmVudF9fZGl2aWRlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkUkVEO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTA1cHg7XG59XG4uYmxvY2stZXZlbnRfX3NlY3Rpb24tLWhvdGVsIHtcbiAgbWFyZ2luLXRvcDogZ3JpZC1waXhlbHMoMCwgMi41KTtcbn1cbi5ibG9jay1ldmVudF9faG90ZWwtaW1hZ2Uge1xuICBtYXJnaW4tdG9wOiBncmlkLXBpeGVscygwLCAxKTtcbiAgbWFyZ2luLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwgMi4yNSk7XG59XG4uYmxvY2stZXZlbnRfX2dvb2dsZS1tYXAge1xuICBtYXJnaW4tdG9wOiBncmlkLXBpeGVscygwLCAxKTtcbiAgbWFyZ2luLWJvdHRvbTogZ3JpZC1waXhlbHMoMCwgMi4yNSk7XG59XG4uYmxvY2stZXZlbnRfX3VybCB7XG4gIG1hcmdpbjogLTVweCAwIDE1cHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgfSAgXG59XG4uYmxvY2stZXZlbnRfX3NvY2lhbCB7XG4gIGEge1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgIG1hcmdpbjogMCA3LjVweDtcbiAgICB9XG4gIH1cbiAgc3ZnIHtcbiAgICB3aWR0aDogMjVweDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgfVxuICB9XG59XG4uYmxvY2stZXZlbnRfX2Zvb3Rlci1jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogZ3JpZC1waXhlbHMoMCwgMi4yNSk7XG5cbiAgaDIge1xuICAgIGZvbnQtZmFtaWx5OiAkVElUTEU7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsIC41KTtcbiAgfVxuICBoMyB7XG4gICAgY29sb3I6ICRHUkVZO1xuICAgIGZvbnQtZmFtaWx5OiAkVElUTEU7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IGdyaWQtcGl4ZWxzKDAsIC4yNSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgfVxuICB9XG4gIHAge1xuICAgIGEge1xuICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICB9XG4gIH1cbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IGdyaWQtcGl4ZWxzKDAsIDEpIDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIFxuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8gR2F0ZWQgQ29udGVudCBzdHlsZXNcbiNnYXRlZC1jb250ZW50LS1hZ2VuZGF7XG4gIGRpc3BsYXk6bm9uZTtcbiAgbWFyZ2luOjYwcHggMDtcbn1cbiNnYXRlX2NvZGUtLWFnZW5kYXtcbiAgZGlzcGxheTpibG9jaztcbiAgbWFyZ2luOiA2MHB4IDAgMDtcbn1cblxuLmJsb2NrLWV2ZW50X19nYXRlLWNvZGUge1xuICAuYmxvY2stZXZlbnRfX2NvcHkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAjaWZyYW1lMSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcblxuICAgIGlmcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgLmJsb2NrLWV2ZW50X19nYXRlLWNvZGUtZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIH1cbiAgLmJsb2NrLWV2ZW50X19kaXZpZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbn1cblxuI2dhdGVkLWNvbnRlbnQtLWFnZW5kYSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxufSIsIkBpbXBvcnQgXCJhdXRob3JcIjtcbkBpbXBvcnQgXCJmcm9udC1wYWdlXCI7XG5AaW1wb3J0IFwicGFnZS1hdXRob3JzXCI7XG5AaW1wb3J0IFwicGFnZVwiO1xuQGltcG9ydCBcInNpbmdsZVwiO1xuQGltcG9ydCBcInRvcGljXCI7IiwiLnZpZXctYXV0aG9ye1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICBcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6IDUwMHB4O1xuICAgICAgICAgICAgdG9wOiAkSEVBREVSX0hFSUdIVDsgICBcbiAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgIH0gICAgXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkV0hJVEUtT0ZGO1xuXG4gICAgICAgIC5ibG9jay1hcnRpY2xlcy1sYXRlc3QgLmNvbXBvbmVudC1oZWFkaW5nIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJvd3tcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gJjpsYXN0LWNoaWxke1xuICAgICAgICAvLyAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwyKSAwO1xuICAgICAgICAvLyB9XG5cbiAgICAgICAgPiAuYm94e1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICA+IC5jb250YWluZXIge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNoYWRvdy0xO1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkV0hJVEU7XG4gICAgICAgICAgICBtYXJnaW46IDEwMHB4IGF1dG87XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBncmlkLXBpeGVscygwLCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuXG4gICAgICAgIC5hdmF0YXIge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDE1cHg7XG4gICAgICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2NrLWFydGljbGVzLWxhdGVzdCB7XG4gICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsMik7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIi52aWV3LWZyb250LXBhZ2V7XG5cbiAgICA+IC5yb3c6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5jb250YWluZXJ7XG4gICAgICAgIEBpbmNsdWRlIGxldmVscygxKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5yb3d7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgID4gLmJveHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IC5ib3gtMXtcblxuICAgICAgICAgICAgJi5oYXMtbm8tbW9iaWxlLW1hcmdpbntcblxuICAgICAgICAgICAgICAgIC5jYXJkLWFydGljbGV7XG4gICAgICAgICAgICAgICAgICAgICYuaXMtbGFyZ2V7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gbW9iaWxlLWxhcmdlIHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmdyaWQtOC1vZmZzZXQtMTpub3QoLmhhcy1uby1tb2JpbGUtbWFyZ2luKXtcblxuICAgICAgICAgICAgICAgIC5jYXJkLWFydGljbGV7XG4gICAgICAgICAgICAgICAgICAgICYuaXMtbGFyZ2V7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gbW9iaWxlLWxhcmdlIHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIGdyaWQtcGl4ZWxzKDAsMikgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICA+IC5ib3gtMntcblxuICAgICAgICAgICAgLmNhcmQtYXJ0aWNsZXtcblxuICAgICAgICAgICAgICAgICYuaXMtc21hbGx7XG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZHttYXJnaW46MH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnJvdzpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLDIpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLDApO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuY2FyZC1hcnRpY2xle1xuXG4gICAgICAgICYuaXMtc21hbGx7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCBncmlkLXBpeGVscygwLDIpIDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gbW9iaWxlLWxhcmdlIHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIGdyaWQtcGl4ZWxzKDAsMikgMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuYnV0dG9uLXRoZS1sYXRlc3Qge1xuICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJERBUkstQkxVRTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRHUkVZO1xuICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLCAxKTtcbiAgICB9XG5cblxuICAuYmxvY2stZWRpdG9ycy1waWNrcyArIC5ibG9jay10b3BpYy1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCl7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4udmlldy1mcm9udC1wYWdlX19iYXJ7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcGF0dGVybi5wbmcpIGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwcHggYXV0bztcbiAgaGVpZ2h0OiBncmlkKC41KTtcbn1cbiIsIi52aWV3LXBhZ2UtYXV0aG9yc3tcblxuICAgIGhlYWRlcntcbiAgICAgICAgQGluY2x1ZGUgdHlwZS1oMTtcbiAgICAgICAgbWFyZ2luOiAwIDAgZ3JpZC1waXhlbHMoMCwuNzUpIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgaDJ7XG4gICAgICAgIFx0Y29sb3I6ICRCTEFDSy1PRkY7XG4gICAgICAgIFx0bWFyZ2luOiAzMHB4IDA7XG4gICAgICAgIFx0Zm9udC1zaXplOiA0MHB4O1xuICAgICAgICBcdHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ibG9jay1hdXRob3JzX19uYW1lIHtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHRwYWRkaW5nOiBncmlkLXBpeGVscygwLCAuNzUpIGdyaWQtcGl4ZWxzKDAsIC41KTtcbiAgICB9XG5cbn1cbiIsIi52aWV3LXBhZ2V7XG4gICAgcGFkZGluZy1ib3R0b206IGdyaWQtcGl4ZWxzKDAsMyk7XG5cbiAgICAucGFnZS1jb250YWluZXJ7XG4gICAgICAgIEBpbmNsdWRlIGxldmVscyg0KTtcbiAgICAgICAgQGluY2x1ZGUgc2hhZG93LTE7XG4gICAgICAgIGJhY2tncm91bmQ6ICRXSElURTtcbiAgICAgICAgbWFyZ2luLXRvcDogZ3JpZC1waXhlbHMoMCwtMyk7XG4gICAgICAgIG1heC13aWR0aDogZ3JpZC1waXhlbHMoOCw3KTtcbiAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwyKSBncmlkLXBpeGVscygxLDApIGdyaWQtcGl4ZWxzKDAsMykgZ3JpZC1waXhlbHMoMSwwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdHJpcGVzLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGxheW91dC1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICAgIEBpbmNsdWRlIGxldmVscygwKTtcblxuICAgICAgICBtYXJnaW4tYm90dG9tOiAtNDAwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDUwMHB4O1xuICAgIH1cblxuICAgIC5tYWluLWltYWdle1xuICAgICAgICBAaW5jbHVkZSBsYXlvdXQtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgICBAaW5jbHVkZSBsZXZlbHMoMSk7XG5cbiAgICAgICAgLmNvbnRhaW5lcntcbiAgICAgICAgICAgIEBpbmNsdWRlIGxldmVscygxKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBoZWFkZXJ7XG4gICAgICAgIEBpbmNsdWRlIHR5cGUtaDE7XG4gICAgICAgIG1hcmdpbjogMCAwIGdyaWQtcGl4ZWxzKDAsLjc1KSAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGgye21hcmdpbjowfVxuXG4gICAgICAgIGgxLGgyLGgzLGg0LGg1e1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkVElUTEU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4udmlldy1wYWdlX19jb250ZW50e1xuXG4gICAgaDEsaDIsaDMsaDQsaDV7XG4gICAgICBmb250LWZhbWlseTogJFRJVExFO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG5cbiAgICBwe1xuICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMThweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuNGVtIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgzMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMTZweCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGR7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIGE6bm90KFtocmVmXj1cImh0dHBzOi8vY2RuXCJdKXtcbiAgICAgIEBpbmNsdWRlIGxzcy1saW5rLXVuZGVybGluZSgkV0hJVEUsIHJnYmEoJEJMQUNLLC45KSwgJEJMQUNLKTtcbiAgICB9XG5cbiAgICAuaXMtZGFyayAmIHtcbiAgICAgIGE6bm90KFtocmVmXj1cImh0dHBzOi8vY2RuXCJdKXtcbiAgICAgICAgQGluY2x1ZGUgbHNzLWxpbmstdW5kZXJsaW5lKCREQVJLLUFSVElDTEUtQkcsIHJnYmEoJFdISVRFLC45KSwgJFdISVRFKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzdHJvbmcsYntmb250LXdlaWdodDogODAwfVxuICAgIGVte2ZvbnQtc3R5bGU6IGl0YWxpY31cblxuICAgIGltZ3toZWlnaHQ6YXV0bzttYXgtd2lkdGg6IDEwMCV9XG5cbiAgICAucG9zdC1wYXNzd29yZC1mb3Jte1xuXG4gICAgICAgIGxhYmVse1xuXG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHlwZS1zbWFsbDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRHUkVZLUxJR0hUO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiBncmlkLXBpeGVscygwLC43NSkgZ3JpZC1waXhlbHMoMCwuNSk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAmOmZvY3Vze291dGxpbmU6IG5vbmV9XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJde1xuICAgICAgICAgICAgQGluY2x1ZGUgdHlwZS1zbWFsbDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRCTEFDSztcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAkV0hJVEU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsLjc1KSAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkV0hJVEUsLjEpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjRzO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFue1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7d2lkdGg6IDEwMCV9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cblxuLmVib29rLWNvbnRhaW5lcntcbiAgICBwYWRkaW5nOiAwIDAgMjVweCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5lYm9vay1jb250cm9sc3tcbiAgICAgICAgQGluY2x1ZGUgbGV2ZWxzKDUpO1xuICAgICAgICBAaW5jbHVkZSBsYXlvdXQtZmxleDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkV0hJVEUsLjgpO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAuc2xpY2stYXJyb3d7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDUwJSBhdXRvO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5OTlweDtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG5cbiAgICAgICAgJi5zbGljay1uZXh0e1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9pY29uLWFycm93LXJpZ2h0LnN2Zyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLnNsaWNrLXByZXZ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb24tYXJyb3ctbGVmdC5zdmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zbGljay1kaXNhYmxlZHtcbiAgICAgICAgICAgIG9wYWNpdHk6IC4yNTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG4iLCIudmlldy1zaW5nbGUtcG9zdCB7XG5cblx0Lndpc3RpYV9yZXNwb25zaXZlX3BhZGRpbmcge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMS40ZW07XG5cdH1cblxuICAuYmxvY2stbWFnYXppbmUtcmFja3tcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTA7XG4gIH1cblxuICAgIC5tYWluLWltYWdlX19jYXB0aW9ue1xuICAgICAgICBib3R0b206IGdyaWQtcGl4ZWxzKDAsMyk7XG4gICAgICAgIGNvbG9yOiAkV0hJVEU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWF4LXdpZHRoOiA2NDBweDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcGFkZGluZzogMCBncmlkLXBpeGVscygxLDApO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgID4gLmJveGVke1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAkV0hJVEU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCBncmlkLXBpeGVscygwLC41KTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmJsb2NrLXNpbmdsZV9fY29udGVudHtcbiAgICAgIGgyLGgzLGg0LGg1LGg2e1xuICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMThweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGdyaWQoLjEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWluZXJ7XG5cbiAgICAgICAgc3Ryb25nLCBie1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGVte1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICB9XG5cbiAgICAgICAgcHtAaW5jbHVkZSBsZXZlbHMoMSk7fVxuXG4gICAgICAgIHAsIHVse1xuICAgICAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDE4cHgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuNGVtIDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDMwcHgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgxNnB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxke1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHVse1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEuNGVtO1xuXG4gICAgICAgICAgICBsaTpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDVweCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICBibG9ja3F1b3Rle1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRHUkVZLUJMVUU7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJEdSRVktQkxVRTtcbiAgICAgICAgICAgIG1hcmdpbjogMi4yZW0gMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgcHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgyNHB4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDM1cHggYXV0byAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDcwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHBpeGVscy10by1yZW0oMzBweCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDIwcHgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAuZW50cnktY29udGVudC1hc3NldCwgLndwLXZpZGVvLCAuY29tcG9uZW50LWdhbGxlcnl7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjRlbSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNpemUtZnVsbCwuYWxpZ25ub25le1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuaXMtZnVsbGJyb3dzZXJ3aWR0aCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGZyb20gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtIDc1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA3JSAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIHRhYmxldC1sYXJnZSkge1xuICAgICAgICAgICAgICAgIC8vIGxlZnQ6IGNhbGMoIDBweCAtICggKCgxMDB2dyAtICggMTAwdncgKiAuOSkpIC8gMikpIC0gNiUgKTsgLy8gKCh3aW5kb3cgd2lkdGggLSBjb250YWluZXIgd2lkdGgpIC8gMikgLSBCb3ggMSdzIHdpZHRoXG4gICAgICAgICAgICAgICAgbGVmdDogY2FsYyggMHB4IC0gNXZ3ICsgLTIxJSApOyAvLyBTZWUgZnVsbCBjYWxjdWxhdGlvbiBhYm92ZSBmb3IgcmVmZXJlbmNlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZnJvbSBkZXNrdG9wLWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbGVmdDogY2FsYyggMHB4IC0gKCAoMTAwdncgLSAxMjMwcHgpIC8gMikgKyAtMjElICk7IC8vICgod2luZG93IHdpZHRoIC0gY29udGFpbmVyIHdpZHRoKSAvIDIpIC0gQm94IDEncyB3aWR0aFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYWxpZ25ub25lIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJlZHNoaWZ0LXZpZGVvLWVtYmVke1xuXG4gICAgICAgICAgICAmLmFsaWduY2VudGVye1xuICAgICAgICAgICAgICAgID4gZGl2e1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmFsaWducmlnaHR7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDUlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA2MCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gbW9iaWxlLWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmFsaWdubGVmdHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDUlIDAgMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIG1vYmlsZS1sYXJnZSkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb21wb25lbnQtZ2FsbGVyeSAud3AtY2FwdGlvbnttYXJnaW4tYm90dG9tOiAwfVxuXG4gICAgICAgIC53cC1jYXB0aW9ue1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS40ZW07XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTE7XG5cbiAgICAgICAgICAgIGltZ3tcbiAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJvcC1mdWxsLXdpZHRoO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAud3AtY2FwdGlvbi10ZXh0e1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJEJMQUNLLC41KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJFdISVRFO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgxNHB4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogZ3JpZC1waXhlbHMoMCwxKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNHM7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogNTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gZGVza3RvcC1zbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkV0hJVEU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkR1JFWTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkV0hJVEU7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgIC53cC1jYXB0aW9uLXRleHR7dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO31cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG59XG5cbi5ibG9jay1zaW5nbGVfX3NpZGViYXIge1xuXG4gICAgLnNpdGUtYWQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmlzLWRhcmsge1xuXG4gICAgJiwgJiAuYmxvY2stc2luZ2xlX19ib2R5LCAmIC5ibG9jay1tYWdhemluZS1yYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJERBUkstQVJUSUNMRS1CRztcbiAgICAgICAgY29sb3I6ICRXSElURTtcbiAgICB9XG5cbiAgICAuYm94LTQgc3ZnIHtcbiAgICAgICAgZmlsbDogJFdISVRFO1xuICAgIH1cblxuICAgIC5ibG9jay1uZXdzbGV0dGVyLWZvb3RlciB7XG4gICAgICAmOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50fVxuICAgIH1cblxuICAgIC5ibG9jay1tZW51IGEsIC5jb21wb25lbnQtYnV0dG9uLW5ld3NsZXR0ZXIsIC5ibG9jay1zaW5nbGVfX3RpdGxlLCAuYmxvY2stc2luZ2xlX19jb250ZW50LCAuY29tcG9uZW50LWhlYWRpbmcgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkV0hJVEU7XG4gICAgfVxuXG4gICAgLmJsb2NrLXNpbmdsZV9fYXV0aG9yLCB7XG4gICAgICAgIGNvbG9yOiAkR1JFWTtcbiAgICB9XG5cbiAgICAuYmxvY2stbWFnYXppbmUtcmFjayB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkR1JFWTtcblxuICAgICAgICAuY2FyZC1hcnRpY2xlX190aXRsZSwgLmNhcmQtYXJ0aWNsZV9fYXV0aG9yIHtcbiAgICAgICAgICAgIGNvbG9yOiAkV0hJVEU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29tcG9uZW50LXN1Ym1lbnUgYSB7XG4gICAgICAvLyBjb2xvcjogJERBUkstQkxVRTtcbiAgICB9XG5cbiAgICAmLmJsb2NrLWhlYWRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJFdISVRFO1xuICAgIH1cblxuICAgIC5jb21wb25lbnQtc2hhcmUtYWx0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGZpbGw6ICREQVJLLUJMVUU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2stc2luZ2xlX19zaWRlYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJERBUkstQVJUSUNMRS1CRztcbiAgICAgICAgb3V0bGluZTogMzBweCBzb2xpZCAkREFSSy1BUlRJQ0xFLUJHO1xuICAgIH1cblxuICAgIC5ibG9jay1zaW5nbGVfX3JlY29tbWVuZGVkIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkR1JFWTtcblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgY29sb3I6ICRXSElURTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kaXZpZGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRHUkVZO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2NrLW5ld3NsZXR0ZXItc2lkZWJhciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJEdSRVk7XG5cbiAgICAgICAgLmJveGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3BhdHRlcm4ucG5nKSA1MCAwIHJlcGVhdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50aXRsZSwgLnN1YnRpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkV0hJVEU7XG4gICAgICAgIH1cblxuICAgICAgICBmb3JtIHtcbiAgICAgICAgICAgIGJ1dHRvbi5ta3RvQnV0dG9uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkV0hJVEUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICREQVJLLUJMVUUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1rdG9Gb3JtUm93Om50aC1jaGlsZCgzKSAubWt0b1JhZGlvTGlzdCBsYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRXSElURTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWluZXIgLndwLWNhcHRpb24gLndwLWNhcHRpb24tdGV4dCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICREQVJLLUJMVUU7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbn1cbi8vIEpQIHNwZWNpZmljIHR3ZWFrc1xuLyogPT09PSBFdmVudCBwb3AgdXAgaGFja3MgPT09PT09PT09PSAqL1xuYm9keVtkYXRhLWJsb2dpZD1cIjRcIl0ge1xuICAuY29udGFpbmVyIHtcbiAgICBwLCB1bCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgxNnB4KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiBwaXhlbHMtdG8tcmVtKDI0cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBtb2JpbGUtbGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcGl4ZWxzLXRvLXJlbSgxM3B4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBHYXRlZCBDb250ZW50IHN0eWxlc1xuI2Jsb2NrLXNpbmdsZV9fZ2F0ZWQtY29udGVudHtcbiAgZGlzcGxheTpub25lO1xuICBtYXJnaW46NjBweCAwO1xufVxuI2Jsb2NrLXNpbmdsZV9fZ2F0ZV9jb2Rle1xuICBkaXNwbGF5OmJsb2NrO1xuICBtYXJnaW46IDYwcHggMCAwO1xuXG4gICAgaDMge1xuICAgICAgICBmb250LWZhbWlseTogJFRJVExFO1xuICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBncmlkLXBpeGVscygwLCAuNSk7XG4gICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuYmxvY2stc2luZ2xlX19nYXRlLWNvZGUtZm9vdGVyIHAge1xuICAgICAgICBjb2xvcjogJEdSRVk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkVElUTEU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgbWFyZ2luOiBncmlkLXBpeGVscygwLCAuMjUpIGF1dG8gMTBweDtcbiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgICAgLy8gdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogJEdSRVk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ibG9jay1zaW5nbGVfX2dhdGUtY29kZSB7XG4gIC5ibG9jay1zaW5nbGVfX2NvcHkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAjaWZyYW1lMSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcblxuICAgIGlmcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgLmJsb2NrLXNpbmdsZV9fZ2F0ZS1jb2RlLWZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG4gIC5ibG9jay1zaW5nbGVfX2RpdmlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxufVxuXG4jYmxvY2stc2luZ2xlX19nYXRlZC1jb250ZW50IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG5cbn0iLCIudmlldy10b3BpYy1wYWdlIHtcbiAgLmJsb2NrLW1hZ2F6aW5lLXJhY2t7XG4gICAgcGFkZGluZzogZ3JpZCguNCkgMCBncmlkKC4yKSAwO1xuXG4gICAgLmNvbXBvbmVudC1oZWFkaW5ne1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ3JpZCguMSk7XG4gICAgICBzcGFue2ZvbnQtc2l6ZTogMjBweDt9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiaGVhZGVyXCI7XG5AaW1wb3J0IFwibmV3c2xldHRlclwiO1xuQGltcG9ydCBcIm1lZ2FtZW51XCI7XG5AaW1wb3J0IFwic2VhcmNoXCI7XG5AaW1wb3J0IFwic3VibWVudVwiO1xuQGltcG9ydCBcInN3aXRjaGVyXCI7IiwiLnN0YXRlLWhlYWRlciB7XG4gICAgJi1zaGFkb3dlZHtcbiAgICAgICAgLmJsb2NrLWhlYWRlcntcbiAgICAgICAgICAgIEBpbmNsdWRlIHNoYWRvdy0xO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJFdISVRFO1xuICAgICAgICAgICAgJi5pcy1kYXJre1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNoYWRvdy0yO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRCTEFDSztcbiAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgkV0hJVEUsLjkpO1xuXG4gICAgICAgICAgICAgICAgLmxvZ28gc3Zne1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiByZ2JhKCRXSElURSwuOSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWluaXR7XG4gICAgICAgIC5uYXYtdGVhc2Uge1xuICAgICAgICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDBweCk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvZ28tdGVhc2Uge1xuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwcHgpO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAubG9nby1pbWFnZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYmxvY2staGVhZGVyX19wb3N0bWV0YSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEycHgpO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKXtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYmxvY2staGVhZGVyX19wb3N0bWV0YS1zb2NpYWwge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02MHB4KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBoZWlnaHQ6IDU4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIi5zdGF0ZS1uZXdzbGV0dGVyLW9wZW4ge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChmcm9tIGRlc2t0b3Atc21hbGwpIHtcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LXN0YXRlLW9wZW47XG4gICAgfVxuXG4gICAgLmJsb2NrLW5ld3NsZXR0ZXJ7XG4gICAgICAgIEBpbmNsdWRlIGxheW91dC12aXNpYmxlO1xuICAgICAgICB6LWluZGV4OiA2MDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cbiAgICAgICAgJi5ibG9jay1uZXdzbGV0dGVyLW92ZXJsYXkuc3RhdGUtc3VjY2Vzc3tcbiAgICAgICAgICAuYmxvY2stbmV3c2xldHRlcl9fc3VjY2Vzc3tcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb21wb25lbnQtbGF5b3V0LWNsb3NlLW92ZXJsYXl7XG4gICAgICAgIEBpbmNsdWRlIGxheW91dC12aXNpYmxlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLmJsb2NrLXVzZXItYWN0aW9uc3tcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIGRlc2t0b3Atc21hbGwpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG4iLCIuc3RhdGUtbWVnYW1lbnUtb3BlbntcbiAgICBAaW5jbHVkZSBsYXlvdXQtc3RhdGUtb3BlbjtcblxuICAgIC5ibG9jay1oZWFkZXJ7XG4gICAgICAgIC5uYXZpZ2F0aW9uLXByaW1hcnl7XG4gICAgICAgICAgICBAaW5jbHVkZSBsYXlvdXQtdmlzaWJsZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ibG9jay1tZWdhbWVudV9fYm90dG9tLFxuICAgIC5ibG9jay1tZWdhbWVudXtcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LXZpc2libGU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIH1cblxuICAgIC5jb21wb25lbnQtYnV0dG9uLW1lbnUge1xuICAgICAgICAkdG9wOiA5cHg7XG5cbiAgICAgICAgLmxpbmUtMXtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgIHRvcDogJHRvcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5saW5lLTJ7b3BhY2l0eTogMDt9XG5cbiAgICAgICAgLmxpbmUtM3tcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICB0b3A6IC0gJHRvcCAtIDE7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5ibG9jay11c2VyLWFjdGlvbnN7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byBkZXNrdG9wLXNtYWxsKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuIiwiLnN0YXRlLXNlYXJjaC1vcGVue1xuICAgIEBpbmNsdWRlIGxheW91dC1zdGF0ZS1vcGVuO1xuXG4gICAgLmJsb2NrLXNlYXJjaHtcbiAgICAgICAgQGluY2x1ZGUgbGF5b3V0LXZpc2libGU7XG4gICAgICAgIEBpbmNsdWRlIGxldmVscyg3KTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB9XG5cbn1cbiIsIi5zdGF0ZS1zdWJtZW51LW9wZW57XG5cbiAgICAuc2l0ZSB7XG4gICAgXHQvLyBwYWRkaW5nLXRvcDogMTQxcHg7XG4gICAgfVxuXG4gICAgLmNvbXBvbmVudC1zdWJtZW51e1xuICAgIFx0Ly8gZGlzcGxheTogZmxleDtcbiAgICBcdGhlaWdodDogNTBweDtcblx0XHRtYXJnaW4tdG9wOiAwcHg7XG5cdFx0cGFkZGluZzogMTVweCAwO1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcbiAgICB9XG5cbn1cbiIsImJvZHkuc3RhdGUtc3dpdGNoZXItb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zdGF0ZS1zd2l0Y2hlci1vcGVuIC5jb21wb25lbnQtc3dpdGNoZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5zdGF0ZS1zd2l0Y2hlci1vcGVuIC5jb21wb25lbnQtc3dpdGNoZXJfX2xpbmtzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvIHRhYmxldC1zbWFsbCl7XG4gICAgICBsZWZ0OiAzMHB4O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICAgIH1cblx0XHRcdFx0XG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA5MDBweCApIGFuZCAobWluLXdpZHRoOiA3NzBweCkge1xuICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgbGVmdDogY2FsYygxMDAlIC0gNDAwcHgpO1xuICAgIH1cblx0XHRcdFx0XG59IiwiLy8gSlAgKGJsb2dpZCA9IDQpXG5ib2R5W2RhdGEtYmxvZ2lkPVwiNFwiXSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0byB0YWJsZXQtc21hbGwpIHtcblxuICAgICAgICAvLyAyOHB4IC8gMS43NXJlbVxuICAgICAgICAuYmxvY2stbmV3c2xldHRlci1mb290ZXIgLnRpdGxlLCAuYmxvY2stbmV3c2xldHRlci1pbmxpbmUgLnRpdGxlLCAuYmxvY2stc2luZ2xlX190aXRsZSB7XG4gICAgICAgICAgICAvLyBmb250LXNpemU6IDMwLjhweCAhaW1wb3J0YW50OyAvLyBXYXNcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjkuNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAzMHB4XG4gICAgICAgIC5ibG9jay10b3BpY19fbW9iaWxlLXRpdGxlIHtcbiAgICAgICAgICAgIC8vIGZvbnQtc2l6ZTogMzNweDsgLy8gV2FzXG4gICAgICAgICAgICBmb250LXNpemU6IDMxLjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIDI1cHhcbiAgICAgICAgLmJsb2NrLXRvcGljLXNlY3Rpb24gLmNhcmQtYXJ0aWNsZV9fdGl0bGUge1xuICAgICAgICAgICAgLy8gZm9udC1zaXplOiAyNy41cHggIWltcG9ydGFudDsgLy8gV2FzXG4gICAgICAgICAgICBmb250LXNpemU6IDI2LjI1cHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICAvLyAyNHB4XG4gICAgICAgIC5jYXJkLWFydGljbGUtZmVhdHVyZV9fdGl0bGUsIC5ibG9jay1mZWF0dXJlZC1zZWN0aW9uX19zdWJ0aXRsZSwgLmNvbXBvbmVudC1oZWFkaW5nIHtcbiAgICAgICAgICAgIC8vIGZvbnQtc2l6ZTogMjYuNXB4OyAvLyBXYXNcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjUuMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIDE2cHggLyAxcmVtXG4gICAgICAgIC5jYXJkLWFydGljbGUuaXMtb24tdGhlLXJhY2sgLmNhcmQtYXJ0aWNsZV9fdGl0bGUsIC52aWV3LXNpbmdsZS1wb3N0IC5jb250YWluZXIgcCwgLmJsb2NrLW5ld3NsZXR0ZXIgLnN1YnRpdGxlLCAudmlldy1wYWdlLWF1dGhvcnMgLmJsb2NrLWF1dGhvcnNfX25hbWUge1xuICAgICAgICAgICAgLy8gZm9udC1zaXplOiAxNy42cHg7IC8vIFdhc1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNi44cHg7XG4gICAgICAgIH0gICAgICAgIFxuXG4gICAgICAgIC8vIDE1cHhcbiAgICAgICAgLmNhcmQtYXJ0aWNsZV9fdG9waWMgYSwgLmNhcmQtYXJ0aWNsZV9fYXV0aG9yIHtcbiAgICAgICAgICAgIC8vIGZvbnQtc2l6ZTogMTYuNXB4OyAvLyBXYXNcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTUuNzVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIDE0cHhcbiAgICAgICAgLmJsb2NrLWZvb3Rlcl9fbWVudSB7XG4gICAgICAgICAgICAvLyBmb250LXNpemU6IDE1LjRweDsgLy8gV2FzXG4gICAgICAgICAgICBmb250LXNpemU6IDE0LjdweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIDEycHggLyAuNzVyZW1cbiAgICAgICAgLmNhcmQtYXJ0aWNsZS1mZWF0dXJlX19hdXRob3IsIC5ibG9jay1mb290ZXItc2Vjb25kYXJ5LCAuYmxvY2stc2luZ2xlX19hdXRob3IsIC5ibG9jay1zaW5nbGVfX3RvcGljIHtcbiAgICAgICAgICAgIC8vIGZvbnQtc2l6ZTogMTMuMnB4OyAvLyBXYXNcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTIuNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLy9yZW1zXG4gICAgICAgIC8vMS4zMTI1XG4gICAgICAgIC5jYXJkLWFydGljbGUuaXMtYXNpZGUgLmNhcmQtYXJ0aWNsZV9fdGl0bGUgYSwgLmNhcmQtYXJ0aWNsZS5pcy1vbi10aGUtcmFjayAuY2FyZC1hcnRpY2xlX190aXRsZSBhIHtcbiAgICAgICAgICAgIC8vIGZvbnQtc2l6ZTogMS40NDRyZW07IC8vIFdhc1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjM3OHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vMS44NzVcbiAgICAgICAgLmNhcmQtaGVhZGVyLmhhcy1kZXNjcmlwdGlvbiAuY2FyZC1oZWFkZXJfX3RpdGxlIHtcbiAgICAgICAgICAgIC8vIGZvbnQtc2l6ZTogMi4wNnJlbTsgLy8gV2FzXG4gICAgICAgICAgICBmb250LXNpemU6IDEuOTY4cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIEVTIChibG9naWQgPSA3KVxuYm9keVtkYXRhLWJsb2dpZD1cIjdcIl0geyAvLyA2IGZvciB0ZXN0aW5nLCA3IGZvciBsaXZlXG5cblx0LmJsb2NrLWhlYWRlcl9fbWFpbiB7XG5cblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDAwcHgpIHtcdFx0XHRcblx0XHRcdC5jb21wb25lbnQtYnV0dG9uLW5ld3NsZXR0ZXIge1xuXHRcdFx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0XHRcdHBhZGRpbmc6IDAgMnB4O1xuXHRcdFx0XHRsZXR0ZXItc3BhY2luZzogdW5zZXQ7XG5cdFx0XHR9XHRcdFxuXHRcdH1cblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNTQxcHgpIHtcdFx0XHRcblx0XHRcdC5jb21wb25lbnQtYnV0dG9uLW5ld3NsZXR0ZXIge1xuXHRcdFx0XHRcblx0XHRcdFx0c3ZnIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0fVxuXHRcdFx0fVx0XHRcblx0XHR9XG5cdFx0XG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQwMHB4KSBhbmQgKG1heC13aWR0aDogMTU0MHB4ICkge1x0XHRcdFxuXHRcdFx0LmNvbXBvbmVudC1idXR0b24tbmV3c2xldHRlciB7XG5cdFx0XG5cdFx0XHRcdHN2ZyB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVx0XG5cdFx0XHR9XHRcdFxuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQodG8gdGFibGV0LXNtYWxsKSB7XG5cblx0fVxufSIsIi5nZm9ybV93cmFwcGVye1xuXG4gICAgdWx7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLmdmb3JtX3RpdGxle1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5nZmllbGRfZGVzY3JpcHRpb24udmFsaWRhdGlvbl9tZXNzYWdle2NvbG9yOiAkUkVEfVxuXG4gICAgZGl2LnZhbGlkYXRpb25fZXJyb3J7XG4gICAgICBjb2xvcjogJFJFRCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9ye1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci10b3A6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cblxuICAgIGxpe1xuICAgICAgICBtYXJnaW46IDAgMCBncmlkLXBpeGVscygwLC41KSAwO1xuICAgIH1cblxuICAgIC5naW5wdXRfY29tcGxleCA+IHNwYW57XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKXtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIGdyaWQtcGl4ZWxzKDAsLjUpIDA7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIGxhYmVse1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC05OTk5OTlweDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fZGVzY3JpcHRpb257XG4gICAgICAgIEBpbmNsdWRlIHR5cGUtcDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAwIGdyaWQtcGl4ZWxzKDAsLjUpIDA7XG4gICAgfVxuXG4gICAgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCB7cGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50fVxuXG4gICAgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXJ7XG4gICAgICBAaW5jbHVkZSBsYXlvdXQtZmxleCgkYWxpZ246IGZsZXgtc3RhcnQpO1xuXG4gICAgICA+IHNwYW46bm90KDpsYXN0LWNoaWxkKXttYXJnaW4tYm90dG9tOiAwO31cbiAgICB9XG5cbiAgICBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc18yIHNwYW57XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkeyBtYXJnaW4tYm90dG9tOiAgMTVweDt9XG4gICAgICAmOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTogMHB4fVxuICAgIH1cblxuICAgIGlucHV0LCB0ZXh0YXJlYXtcbiAgICAgICAgQGluY2x1ZGUgdHlwZS1zbWFsbDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkR1JFWS1MSUdIVDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsLjc1KSBncmlkLXBpeGVscygwLC41KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgICAgICAmOmZvY3Vze291dGxpbmU6IG5vbmV9XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5nZm9ybV9idXR0b24uYnV0dG9ue1xuICAgICAgICBAaW5jbHVkZSB0eXBlLXNtYWxsO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRCTEFDSztcbiAgICAgICAgY29sb3I6ICRXSElURTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IGdyaWQtcGl4ZWxzKDAsLjc1KSBncmlkLXBpeGVscygwLC41KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkV0hJVEUsLjEpO1xuICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjRzO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFue1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkQkxBQ0s7XG4gICAgICAgICAgICAmOmFmdGVye3dpZHRoOiAxMDAlfVxuICAgICAgICB9XG5cbiAgICB9XG5cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUNBQSw0REFBNEQ7QUFFNUQ7Ozs7R0FJRztBNEJMSCxPQUFPLENBQVAseUJBQU87QTVCT1AsQUFBQSxJQUFJLENBQUM7RUFDSCxXQUFXLEVBQUUsVUFBVTtFQUFFLE9BQU87RUFDaEMsb0JBQW9CLEVBQUUsSUFBSTtFQUFFLE9BQU87RUFDbkMsd0JBQXdCLEVBQUUsSUFBSTtFQUFFLE9BQU87Q0FDeEM7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLElBQUksQ0FBQztFQUNILE1BQU0sRUFBRSxDQUFDO0NBQ1Y7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7OztHQUtHO0FBRUgsQUFBQSxPQUFPO0FBQ1AsS0FBSztBQUNMLE9BQU87QUFDUCxVQUFVO0FBQ1YsTUFBTTtBQUNOLE1BQU07QUFDTixNQUFNO0FBQ04sTUFBTTtBQUNOLElBQUk7QUFDSixJQUFJO0FBQ0osR0FBRztBQUNILE9BQU87QUFDUCxPQUFPLENBQUM7RUFDTixPQUFPLEVBQUUsS0FBSztDQUNmOztBQUVEOzs7R0FHRztBQUVILEFBQUEsS0FBSztBQUNMLE1BQU07QUFDTixRQUFRO0FBQ1IsS0FBSyxDQUFDO0VBQ0osT0FBTyxFQUFFLFlBQVk7RUFBRSxPQUFPO0VBQzlCLGNBQWMsRUFBRSxRQUFRO0VBQUUsT0FBTztDQUNsQzs7QUFFRDs7O0dBR0c7QUFFSCxBQUFBLEtBQUssQUFBQSxJQUFLLEVBQUEsQUFBQSxRQUFDLEFBQUEsR0FBVztFQUNwQixPQUFPLEVBQUUsSUFBSTtFQUNiLE1BQU0sRUFBRSxDQUFDO0NBQ1Y7O0FBRUQ7OztHQUdHO0NBRUgs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Q0FBSztFQUNqQixLQUFLLEVmREQsR0FBbUI7Q2VFMUI7O0FBVkQsQUFBQSxPQUFPLENBQUs7RUFDUixLQUFLLEVmT0QsR0FBbUI7Q2VOMUI7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBSztFQUNqQixLQUFLLEVmR0QsR0FBbUI7Q2VGMUI7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBSztFQUNqQixLQUFLLEVmREQsR0FBbUI7Q2VFMUI7O0FBVkQsQUFBQSxPQUFPLENBQUs7RUFDUixLQUFLLEVmT0QsR0FBbUI7Q2VOMUI7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBSztFQUNqQixLQUFLLEVmR0QsR0FBbUI7Q2VGMUI7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBSztFQUNqQixLQUFLLEVmREQsR0FBbUI7Q2VFMUI7O0FBVkQsQUFBQSxPQUFPLENBQUs7RUFDUixLQUFLLEVmT0QsR0FBbUI7Q2VOMUI7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBSztFQUNqQixLQUFLLEVmR0QsR0FBbUI7Q2VGMUI7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBSztFQUNqQixLQUFLLEVmREQsR0FBbUI7Q2VFMUI7O0FBVkQsQUFBQSxPQUFPLENBQUs7RUFDUixLQUFLLEVmT0QsR0FBbUI7Q2VOMUI7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBSztFQUNqQixLQUFLLEVmR0QsR0FBbUI7Q2VGMUI7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBSztFQUNqQixLQUFLLEVmREQsR0FBbUI7Q2VFMUI7O0FBVkQsQUFBQSxRQUFRLENBQUk7RUFDUixLQUFLLEVmT0QsR0FBbUI7Q2VOMUI7O0FBRUQsQUFBQSxpQkFBaUIsQ0FBSTtFQUNqQixLQUFLLEVmR0QsR0FBbUI7Q2VGMUI7O0FBRUQsQUFBQSxpQkFBaUIsQ0FBSTtFQUNqQixLQUFLLEVmREQsR0FBbUI7Q2VFMUI7O0FBVkQsQUFBQSxRQUFRLENBQUk7RUFDUixLQUFLLEVmT0QsR0FBbUI7Q2VOMUI7O0FBRUQsQUFBQSxpQkFBaUIsQ0FBSTtFQUNqQixLQUFLLEVmR0QsR0FBbUI7Q2VGMUI7O0FBRUQsQUFBQSxpQkFBaUIs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 */