/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
@import url("//fonts.googleapis.com/css?family=Cinzel:400,700");
@import url("//fonts.googleapis.com/css?family=Spectral:300,400");
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; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

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

.visuallyhidden {
  margin: -1px;
  padding: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  position: absolute; }

.clearfix {
  content: "";
  display: table;
  clear: both; }

/**
 * Foundation for Sites by ZURB
 * Version 6.3.1
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
       ========================================================================== */
/**
     * 1. Change the default font family in all browsers (opinionated).
     * 2. Correct the line height in all browsers.
     * 3. Prevent adjustments of font size after orientation changes in
     *    IE on Windows Phone and in iOS.
     */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

/* 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-.
     */
figcaption,
figure {
  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 */ }

/**
     * Add the correct display in IE.
     */
main {
  display: block; }

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

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

/**
     * Remove the outline on focused links when they are also active or hovered
     * in all browsers (opinionated).
     */
a:active,
a:hover {
  outline-width: 0; }

/* Text-level semantics
       ========================================================================== */
/**
     * 1. Remove the bottom border in 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.
     */
button {
  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 */ }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  /**
       * Remove the inner border and padding in Firefox.
       */
  /**
       * Restore the focus styles unset by the previous rule.
       */ }

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

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

/**
     * Show the overflow in Edge.
     */
input {
  overflow: visible; }

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

/**
     * Change the border, margin, and padding in all browsers (opinionated).
     */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
     * 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 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  color: inherit;
  /* 2 */
  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; }

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

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

/*
     * Add the correct display in IE 9-.
     */
menu {
  display: block; }

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

.foundation-mq {
  font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; }

html {
  box-sizing: border-box;
  font-size: 100%; }

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

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 3px; }

select {
  box-sizing: border-box;
  width: 100%;
  border-radius: 3px; }

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
  border-radius: 3px;
  background: transparent;
  line-height: 1; }

[data-whatinput='mouse'] button {
  outline: 0; }

pre {
  overflow: auto; }

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

.row {
  max-width: 76.25rem;
  margin-right: auto;
  margin-left: auto; }

.row::before, .row::after {
  display: table;
  content: ' '; }

.row::after {
  clear: both; }

.row.collapse > .column, .row.collapse > .columns {
  padding-right: 0;
  padding-left: 0; }

.row .row {
  margin-right: -0.875rem;
  margin-left: -0.875rem; }

@media print, screen and (min-width: 40em) {
  .row .row {
    margin-right: -0.875rem;
    margin-left: -0.875rem; } }

@media print, screen and (min-width: 64em) {
  .row .row {
    margin-right: -0.875rem;
    margin-left: -0.875rem; } }

.row .row.collapse {
  margin-right: 0;
  margin-left: 0; }

.row.expanded {
  max-width: none; }

.row.expanded .row {
  margin-right: auto;
  margin-left: auto; }

.row:not(.expanded) .row {
  max-width: none; }

.column, .columns {
  width: 100%;
  float: left;
  padding-right: 0.875rem;
  padding-left: 0.875rem; }

.column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
  float: right; }

.column.end:last-child:last-child, .end.columns:last-child:last-child {
  float: left; }

.column.row.row, .row.row.columns {
  float: none; }

.row .column.row.row, .row .row.row.columns {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0; }

.small-1 {
  width: 8.33333%; }

.small-push-1 {
  position: relative;
  left: 8.33333%; }

.small-pull-1 {
  position: relative;
  left: -8.33333%; }

.small-offset-0 {
  margin-left: 0%; }

.small-2 {
  width: 16.66667%; }

.small-push-2 {
  position: relative;
  left: 16.66667%; }

.small-pull-2 {
  position: relative;
  left: -16.66667%; }

.small-offset-1 {
  margin-left: 8.33333%; }

.small-3 {
  width: 25%; }

.small-push-3 {
  position: relative;
  left: 25%; }

.small-pull-3 {
  position: relative;
  left: -25%; }

.small-offset-2 {
  margin-left: 16.66667%; }

.small-4 {
  width: 33.33333%; }

.small-push-4 {
  position: relative;
  left: 33.33333%; }

.small-pull-4 {
  position: relative;
  left: -33.33333%; }

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

.small-5 {
  width: 41.66667%; }

.small-push-5 {
  position: relative;
  left: 41.66667%; }

.small-pull-5 {
  position: relative;
  left: -41.66667%; }

.small-offset-4 {
  margin-left: 33.33333%; }

.small-6 {
  width: 50%; }

.small-push-6 {
  position: relative;
  left: 50%; }

.small-pull-6 {
  position: relative;
  left: -50%; }

.small-offset-5 {
  margin-left: 41.66667%; }

.small-7 {
  width: 58.33333%; }

.small-push-7 {
  position: relative;
  left: 58.33333%; }

.small-pull-7 {
  position: relative;
  left: -58.33333%; }

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

.small-8 {
  width: 66.66667%; }

.small-push-8 {
  position: relative;
  left: 66.66667%; }

.small-pull-8 {
  position: relative;
  left: -66.66667%; }

.small-offset-7 {
  margin-left: 58.33333%; }

.small-9 {
  width: 75%; }

.small-push-9 {
  position: relative;
  left: 75%; }

.small-pull-9 {
  position: relative;
  left: -75%; }

.small-offset-8 {
  margin-left: 66.66667%; }

.small-10 {
  width: 83.33333%; }

.small-push-10 {
  position: relative;
  left: 83.33333%; }

.small-pull-10 {
  position: relative;
  left: -83.33333%; }

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

.small-11 {
  width: 91.66667%; }

.small-push-11 {
  position: relative;
  left: 91.66667%; }

.small-pull-11 {
  position: relative;
  left: -91.66667%; }

.small-offset-10 {
  margin-left: 83.33333%; }

.small-12 {
  width: 100%; }

.small-offset-11 {
  margin-left: 91.66667%; }

.small-up-1 > .column, .small-up-1 > .columns {
  float: left;
  width: 100%; }

.small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {
  clear: none; }

.small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {
  clear: both; }

.small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {
  float: left; }

.small-up-2 > .column, .small-up-2 > .columns {
  float: left;
  width: 50%; }

.small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {
  clear: none; }

.small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {
  clear: both; }

.small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {
  float: left; }

.small-up-3 > .column, .small-up-3 > .columns {
  float: left;
  width: 33.33333%; }

.small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {
  clear: none; }

.small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {
  clear: both; }

.small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {
  float: left; }

.small-up-4 > .column, .small-up-4 > .columns {
  float: left;
  width: 25%; }

.small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {
  clear: none; }

.small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {
  clear: both; }

.small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {
  float: left; }

.small-up-5 > .column, .small-up-5 > .columns {
  float: left;
  width: 20%; }

.small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {
  clear: none; }

.small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {
  clear: both; }

.small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {
  float: left; }

.small-up-6 > .column, .small-up-6 > .columns {
  float: left;
  width: 16.66667%; }

.small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {
  clear: none; }

.small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {
  clear: both; }

.small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {
  float: left; }

.small-up-7 > .column, .small-up-7 > .columns {
  float: left;
  width: 14.28571%; }

.small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {
  clear: none; }

.small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {
  clear: both; }

.small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {
  float: left; }

.small-up-8 > .column, .small-up-8 > .columns {
  float: left;
  width: 12.5%; }

.small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {
  clear: none; }

.small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {
  clear: both; }

.small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {
  float: left; }

.small-collapse > .column, .small-collapse > .columns {
  padding-right: 0;
  padding-left: 0; }

.small-collapse .row {
  margin-right: 0;
  margin-left: 0; }

.expanded.row .small-collapse.row {
  margin-right: 0;
  margin-left: 0; }

.small-uncollapse > .column, .small-uncollapse > .columns {
  padding-right: 0.875rem;
  padding-left: 0.875rem; }

.small-centered {
  margin-right: auto;
  margin-left: auto; }

.small-centered, .small-centered:last-child:not(:first-child) {
  float: none;
  clear: both; }

.small-uncentered,
.small-push-0,
.small-pull-0 {
  position: static;
  float: left;
  margin-right: 0;
  margin-left: 0; }

@media print, screen and (min-width: 40em) {
  .medium-1 {
    width: 8.33333%; }
  .medium-push-1 {
    position: relative;
    left: 8.33333%; }
  .medium-pull-1 {
    position: relative;
    left: -8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    width: 16.66667%; }
  .medium-push-2 {
    position: relative;
    left: 16.66667%; }
  .medium-pull-2 {
    position: relative;
    left: -16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    width: 25%; }
  .medium-push-3 {
    position: relative;
    left: 25%; }
  .medium-pull-3 {
    position: relative;
    left: -25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    width: 33.33333%; }
  .medium-push-4 {
    position: relative;
    left: 33.33333%; }
  .medium-pull-4 {
    position: relative;
    left: -33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    width: 41.66667%; }
  .medium-push-5 {
    position: relative;
    left: 41.66667%; }
  .medium-pull-5 {
    position: relative;
    left: -41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    width: 50%; }
  .medium-push-6 {
    position: relative;
    left: 50%; }
  .medium-pull-6 {
    position: relative;
    left: -50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    width: 58.33333%; }
  .medium-push-7 {
    position: relative;
    left: 58.33333%; }
  .medium-pull-7 {
    position: relative;
    left: -58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    width: 66.66667%; }
  .medium-push-8 {
    position: relative;
    left: 66.66667%; }
  .medium-pull-8 {
    position: relative;
    left: -66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    width: 75%; }
  .medium-push-9 {
    position: relative;
    left: 75%; }
  .medium-pull-9 {
    position: relative;
    left: -75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    width: 83.33333%; }
  .medium-push-10 {
    position: relative;
    left: 83.33333%; }
  .medium-pull-10 {
    position: relative;
    left: -83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    width: 91.66667%; }
  .medium-push-11 {
    position: relative;
    left: 91.66667%; }
  .medium-pull-11 {
    position: relative;
    left: -91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-up-1 > .column, .medium-up-1 > .columns {
    float: left;
    width: 100%; }
  .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {
    clear: none; }
  .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {
    clear: both; }
  .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {
    float: left; }
  .medium-up-2 > .column, .medium-up-2 > .columns {
    float: left;
    width: 50%; }
  .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {
    clear: none; }
  .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {
    clear: both; }
  .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {
    float: left; }
  .medium-up-3 > .column, .medium-up-3 > .columns {
    float: left;
    width: 33.33333%; }
  .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {
    clear: none; }
  .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {
    clear: both; }
  .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {
    float: left; }
  .medium-up-4 > .column, .medium-up-4 > .columns {
    float: left;
    width: 25%; }
  .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {
    clear: none; }
  .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {
    clear: both; }
  .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {
    float: left; }
  .medium-up-5 > .column, .medium-up-5 > .columns {
    float: left;
    width: 20%; }
  .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {
    clear: none; }
  .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {
    clear: both; }
  .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {
    float: left; }
  .medium-up-6 > .column, .medium-up-6 > .columns {
    float: left;
    width: 16.66667%; }
  .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {
    clear: none; }
  .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {
    clear: both; }
  .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {
    float: left; }
  .medium-up-7 > .column, .medium-up-7 > .columns {
    float: left;
    width: 14.28571%; }
  .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) {
    clear: none; }
  .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) {
    clear: both; }
  .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child {
    float: left; }
  .medium-up-8 > .column, .medium-up-8 > .columns {
    float: left;
    width: 12.5%; }
  .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) {
    clear: none; }
  .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) {
    clear: both; }
  .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child {
    float: left; }
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .medium-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .medium-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 0.875rem;
    padding-left: 0.875rem; }
  .medium-centered {
    margin-right: auto;
    margin-left: auto; }
  .medium-centered, .medium-centered:last-child:not(:first-child) {
    float: none;
    clear: both; }
  .medium-uncentered,
  .medium-push-0,
  .medium-pull-0 {
    position: static;
    float: left;
    margin-right: 0;
    margin-left: 0; } }

@media print, screen and (min-width: 64em) {
  .large-1 {
    width: 8.33333%; }
  .large-push-1 {
    position: relative;
    left: 8.33333%; }
  .large-pull-1 {
    position: relative;
    left: -8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    width: 16.66667%; }
  .large-push-2 {
    position: relative;
    left: 16.66667%; }
  .large-pull-2 {
    position: relative;
    left: -16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    width: 25%; }
  .large-push-3 {
    position: relative;
    left: 25%; }
  .large-pull-3 {
    position: relative;
    left: -25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    width: 33.33333%; }
  .large-push-4 {
    position: relative;
    left: 33.33333%; }
  .large-pull-4 {
    position: relative;
    left: -33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    width: 41.66667%; }
  .large-push-5 {
    position: relative;
    left: 41.66667%; }
  .large-pull-5 {
    position: relative;
    left: -41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    width: 50%; }
  .large-push-6 {
    position: relative;
    left: 50%; }
  .large-pull-6 {
    position: relative;
    left: -50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    width: 58.33333%; }
  .large-push-7 {
    position: relative;
    left: 58.33333%; }
  .large-pull-7 {
    position: relative;
    left: -58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    width: 66.66667%; }
  .large-push-8 {
    position: relative;
    left: 66.66667%; }
  .large-pull-8 {
    position: relative;
    left: -66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    width: 75%; }
  .large-push-9 {
    position: relative;
    left: 75%; }
  .large-pull-9 {
    position: relative;
    left: -75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    width: 83.33333%; }
  .large-push-10 {
    position: relative;
    left: 83.33333%; }
  .large-pull-10 {
    position: relative;
    left: -83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    width: 91.66667%; }
  .large-push-11 {
    position: relative;
    left: 91.66667%; }
  .large-pull-11 {
    position: relative;
    left: -91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-up-1 > .column, .large-up-1 > .columns {
    float: left;
    width: 100%; }
  .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {
    clear: none; }
  .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {
    clear: both; }
  .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {
    float: left; }
  .large-up-2 > .column, .large-up-2 > .columns {
    float: left;
    width: 50%; }
  .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {
    clear: none; }
  .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {
    clear: both; }
  .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {
    float: left; }
  .large-up-3 > .column, .large-up-3 > .columns {
    float: left;
    width: 33.33333%; }
  .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {
    clear: none; }
  .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {
    clear: both; }
  .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {
    float: left; }
  .large-up-4 > .column, .large-up-4 > .columns {
    float: left;
    width: 25%; }
  .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {
    clear: none; }
  .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {
    clear: both; }
  .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {
    float: left; }
  .large-up-5 > .column, .large-up-5 > .columns {
    float: left;
    width: 20%; }
  .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {
    clear: none; }
  .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {
    clear: both; }
  .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {
    float: left; }
  .large-up-6 > .column, .large-up-6 > .columns {
    float: left;
    width: 16.66667%; }
  .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {
    clear: none; }
  .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {
    clear: both; }
  .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {
    float: left; }
  .large-up-7 > .column, .large-up-7 > .columns {
    float: left;
    width: 14.28571%; }
  .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) {
    clear: none; }
  .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) {
    clear: both; }
  .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child {
    float: left; }
  .large-up-8 > .column, .large-up-8 > .columns {
    float: left;
    width: 12.5%; }
  .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) {
    clear: none; }
  .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) {
    clear: both; }
  .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child {
    float: left; }
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .large-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .large-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 0.875rem;
    padding-left: 0.875rem; }
  .large-centered {
    margin-right: auto;
    margin-left: auto; }
  .large-centered, .large-centered:last-child:not(:first-child) {
    float: none;
    clear: both; }
  .large-uncentered,
  .large-push-0,
  .large-pull-0 {
    position: static;
    float: left;
    margin-right: 0;
    margin-left: 0; } }

.column-block {
  margin-bottom: 1.75rem; }

.column-block > :last-child {
  margin-bottom: 0; }

.slide-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.slide-in-down.mui-enter.mui-enter-active {
  -ms-transform: translateY(0);
  transform: translateY(0); }

.slide-in-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: translateX(-100%);
  transform: translateX(-100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.slide-in-left.mui-enter.mui-enter-active {
  -ms-transform: translateX(0);
  transform: translateX(0); }

.slide-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: translateY(100%);
  transform: translateY(100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.slide-in-up.mui-enter.mui-enter-active {
  -ms-transform: translateY(0);
  transform: translateY(0); }

.slide-in-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: translateX(100%);
  transform: translateX(100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.slide-in-right.mui-enter.mui-enter-active {
  -ms-transform: translateX(0);
  transform: translateX(0); }

.slide-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: translateY(0);
  transform: translateY(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.slide-out-down.mui-leave.mui-leave-active {
  -ms-transform: translateY(100%);
  transform: translateY(100%); }

.slide-out-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: translateX(0);
  transform: translateX(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.slide-out-right.mui-leave.mui-leave-active {
  -ms-transform: translateX(100%);
  transform: translateX(100%); }

.slide-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: translateY(0);
  transform: translateY(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.slide-out-up.mui-leave.mui-leave-active {
  -ms-transform: translateY(-100%);
  transform: translateY(-100%); }

.slide-out-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: translateX(0);
  transform: translateX(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.slide-out-left.mui-leave.mui-leave-active {
  -ms-transform: translateX(-100%);
  transform: translateX(-100%); }

.fade-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 0;
  transition-property: opacity; }

.fade-in.mui-enter.mui-enter-active {
  opacity: 1; }

.fade-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 1;
  transition-property: opacity; }

.fade-out.mui-leave.mui-leave-active {
  opacity: 0; }

.hinge-in-from-top.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateX(-90deg);
  -ms-transform-origin: top;
  transform-origin: top;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-top.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateY(-90deg);
  -ms-transform-origin: right;
  transform-origin: right;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-right.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-bottom.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateX(90deg);
  -ms-transform-origin: bottom;
  transform-origin: bottom;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-bottom.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateY(90deg);
  -ms-transform-origin: left;
  transform-origin: left;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-left.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-x.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateX(-90deg);
  -ms-transform-origin: center;
  transform-origin: center;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-middle-x.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-y.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateY(-90deg);
  -ms-transform-origin: center;
  transform-origin: center;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-middle-y.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-out-from-top.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: top;
  transform-origin: top;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-top.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: right;
  transform-origin: right;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-right.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.hinge-out-from-bottom.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: bottom;
  transform-origin: bottom;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-bottom.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(90deg);
  opacity: 0; }

.hinge-out-from-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: left;
  transform-origin: left;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-left.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(90deg);
  opacity: 0; }

.hinge-out-from-middle-x.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: center;
  transform-origin: center;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-middle-x.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-middle-y.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: center;
  transform-origin: center;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-middle-y.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.scale-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: scale(0.5);
  transform: scale(0.5);
  transition-property: transform, opacity;
  opacity: 0; }

.scale-in-up.mui-enter.mui-enter-active {
  -ms-transform: scale(1);
  transform: scale(1);
  opacity: 1; }

.scale-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: scale(1.5);
  transform: scale(1.5);
  transition-property: transform, opacity;
  opacity: 0; }

.scale-in-down.mui-enter.mui-enter-active {
  -ms-transform: scale(1);
  transform: scale(1);
  opacity: 1; }

.scale-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: scale(1);
  transform: scale(1);
  transition-property: transform, opacity;
  opacity: 1; }

.scale-out-up.mui-leave.mui-leave-active {
  -ms-transform: scale(1.5);
  transform: scale(1.5);
  opacity: 0; }

.scale-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: scale(1);
  transform: scale(1);
  transition-property: transform, opacity;
  opacity: 1; }

.scale-out-down.mui-leave.mui-leave-active {
  -ms-transform: scale(0.5);
  transform: scale(0.5);
  opacity: 0; }

.spin-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: rotate(-0.75turn);
  transform: rotate(-0.75turn);
  transition-property: transform, opacity;
  opacity: 0; }

.spin-in.mui-enter.mui-enter-active {
  -ms-transform: rotate(0);
  transform: rotate(0);
  opacity: 1; }

.spin-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: rotate(0);
  transform: rotate(0);
  transition-property: transform, opacity;
  opacity: 1; }

.spin-out.mui-leave.mui-leave-active {
  -ms-transform: rotate(0.75turn);
  transform: rotate(0.75turn);
  opacity: 0; }

.spin-in-ccw.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: rotate(0.75turn);
  transform: rotate(0.75turn);
  transition-property: transform, opacity;
  opacity: 0; }

.spin-in-ccw.mui-enter.mui-enter-active {
  -ms-transform: rotate(0);
  transform: rotate(0);
  opacity: 1; }

.spin-out-ccw.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: rotate(0);
  transform: rotate(0);
  transition-property: transform, opacity;
  opacity: 1; }

.spin-out-ccw.mui-leave.mui-leave-active {
  -ms-transform: rotate(-0.75turn);
  transform: rotate(-0.75turn);
  opacity: 0; }

.slow {
  transition-duration: 750ms !important; }

.fast {
  transition-duration: 250ms !important; }

.linear {
  transition-timing-function: linear !important; }

.ease {
  transition-timing-function: ease !important; }

.ease-in {
  transition-timing-function: ease-in !important; }

.ease-out {
  transition-timing-function: ease-out !important; }

.ease-in-out {
  transition-timing-function: ease-in-out !important; }

.bounce-in {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  transition-delay: 300ms !important; }

.long-delay {
  transition-delay: 700ms !important; }

.shake {
  animation-name: shake-7; }

@keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    transform: translateX(-7%); } }

.spin-cw {
  animation-name: spin-cw-1turn; }

@keyframes spin-cw-1turn {
  0% {
    transform: rotate(-1turn); }
  100% {
    transform: rotate(0); } }

.spin-ccw {
  animation-name: spin-cw-1turn; }

@keyframes spin-cw-1turn {
  0% {
    transform: rotate(0); }
  100% {
    transform: rotate(1turn); } }

.wiggle {
  animation-name: wiggle-7deg; }

@keyframes wiggle-7deg {
  40%, 50%, 60% {
    transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    transform: rotate(0); } }

.shake,
.spin-cw,
.spin-ccw,
.wiggle {
  animation-duration: 500ms; }

.infinite {
  animation-iteration-count: infinite; }

.slow {
  animation-duration: 750ms !important; }

.fast {
  animation-duration: 250ms !important; }

.linear {
  animation-timing-function: linear !important; }

.ease {
  animation-timing-function: ease !important; }

.ease-in {
  animation-timing-function: ease-in !important; }

.ease-out {
  animation-timing-function: ease-out !important; }

.ease-in-out {
  animation-timing-function: ease-in-out !important; }

.bounce-in {
  animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  animation-delay: 300ms !important; }

.long-delay {
  animation-delay: 700ms !important; }

.text--white {
  color: #fff; }

.text--background-grey {
  color: #f4f4f3; }

.text--dark {
  color: #323945; }

.text--recess-grey {
  color: #c1c6c8; }

.text--strong-grey {
  color: #53535a; }

.text--dark-grey {
  color: #404044; }

.text--black {
  color: #2a2a2d; }

.bg--white {
  background-color: #fff; }

.bg--white--darken {
  background-color: #e6e6e6; }

.bg--background-grey {
  background-color: #f4f4f3; }

.bg--background-grey--darken {
  background-color: #dcdcd8; }

.bg--dark {
  background-color: #323945; }

.bg--dark--darken {
  background-color: #1d2127; }

.bg--recess-grey {
  background-color: #c1c6c8; }

.bg--recess-grey--darken {
  background-color: #a6adb0; }

.bg--strong-grey {
  background-color: #53535a; }

.bg--strong-grey--darken {
  background-color: #3b3b3f; }

.bg--dark-grey {
  background-color: #404044; }

.bg--dark-grey--darken {
  background-color: #27272a; }

.bg--black {
  background-color: #2a2a2d; }

.bg--black--darken {
  background-color: #111113; }

.box-shadow--full {
  -webkit-box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.18);
  -moz-box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.18);
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.18);
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px; }

.border-top--grey {
  border-top: solid 2px #f4f4f3;
  margin-bottom: 10px; }

body, html, body > form {
  height: 100%; }

body > iframe {
  display: none; }

.button {
  font-size: 1.0625rem;
  line-height: 2.125rem;
  padding: 0 0.6rem 0 0.3rem;
  cursor: pointer;
  border-radius: 0;
  border: solid 2px transparent;
  font-weight: normal;
  letter-spacing: -0.03em;
  font-family: 'Cinzel', serif;
  text-decoration: none;
  display: inline-block; }
  .button > [class^="icon-"],
  .button > [class*=" icon-"] {
    vertical-align: initial;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 0;
    line-height: 1.5rem;
    font-size: 0.8rem;
    text-align: center;
    font-weight: bold; }
  .button.is-focus, .button:focus {
    outline: 1px solid;
    outline-color: #008a4d;
    outline-style: outset; }

.p--small,
.p3 {
  font-weight: normal;
  letter-spacing: -0.03em;
  font-family: 'Cinzel', serif;
  font-size: 0.75rem; }

.input,
input[type="text"],
input[type="textarea"],
input[type="email"],
input[type="password"],
textarea {
  border: 0.0625rem solid #c1c6c8;
  box-sizing: border-box;
  color: #404044;
  padding: 0.625rem 0.9375rem;
  text-align: left;
  font-weight: normal;
  letter-spacing: -0.03em;
  font-family: 'Cinzel', serif;
  font-family: 'Cinzel', serif;
  font-weight: bold;
  letter-spacing: 0em;
  width: 100%;
  margin-bottom: 0.625rem;
  line-height: 1rem;
  position: relative; }
  .input.is-focused, .input:focus,
  input[type="text"].is-focused,
  input[type="text"]:focus,
  input[type="textarea"].is-focused,
  input[type="textarea"]:focus,
  input[type="email"].is-focused,
  input[type="email"]:focus,
  input[type="password"].is-focused,
  input[type="password"]:focus,
  textarea.is-focused,
  textarea:focus {
    outline: solid 0.125rem !important; }

textarea {
  resize: none;
  height: 14.5rem;
  width: 100%;
  overflow: auto; }

input[type="checkbox"] {
  width: 1.875rem;
  text-align: left;
  left: -rem(10);
  height: 0.875rem; }

.app {
  font-family: 'Spectral', serif;
  line-height: 1.375rem;
  font-size: 0.9375rem;
  font-weight: 300;
  height: 100%;
  background-image: url("/assets/dist/images/got-tapestry/bg-app.png");
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0; }
  .app.background-lighter {
    background-image: url("/assets/dist/images/got-tapestry/bg-app-lighter.png"); }
    @media screen and (min-width: 768px) {
      .app.background-lighter {
        background-image: url("/assets/dist/images/got-tapestry/bg-app.png"); } }

.app-header__spacer {
  height: 50px; }

.app-header {
  color: white;
  position: fixed;
  left: 0;
  right: 0;
  z-index: 4;
  top: 0;
  background-image: url("/assets/dist/images/got-tapestry/Top_Nav_01.png");
  background-repeat: repeat-x;
  background-size: 183px 58px; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .app-header {
      background-image: url("/assets/dist/images/got-tapestry/Top_Nav_01@2x.png"); } }
  @media screen and (orientation: landscape) and (max-device-width: 1024px) {
    .app-header {
      display: none !important; } }

.app-header__heading {
  font-weight: normal;
  letter-spacing: -0.03em;
  font-family: 'Cinzel', serif;
  text-align: center;
  font-size: 1.25rem;
  line-height: 3.75rem;
  height: 57px;
  margin: 0; }

.app-header__btn-settings {
  background-color: transparent;
  color: #fff;
  position: absolute;
  right: 0;
  top: 0; }
  .app-header__btn-settings .icon {
    line-height: 1.5rem;
    font-size: 3.5rem; }
    @media screen and (min-width: 768px) {
      .app-header__btn-settings .icon {
        line-height: 8px;
        font-size: 5.375rem; } }

.app-header__btn-audio {
  background-color: transparent;
  color: #fff;
  position: absolute;
  left: 0;
  top: 0;
  margin-left: 4px; }
  .app-header__btn-audio .icon-sound-off,
  .app-header__btn-audio .icon-sound-on {
    line-height: 51px;
    font-size: 1.0625rem; }
  @media screen and (orientation: landscape) and (max-device-width: 1024px) {
    .app-header__btn-audio {
      display: none !important; } }

.app-logo {
  display: block;
  height: 26px;
  margin: 14px auto 0;
  width: 185px;
  /* EN PNG */
  background-image: url("/assets/dist/images/got-tapestry/logo-en.svg");
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: 185px 26px; }
  .app-logo.de {
    background-image: url("/assets/dist/images/got-tapestry/logo-de.svg"); }
  .app-logo.es {
    background-image: url("/assets/dist/images/got-tapestry/logo-es.svg"); }
  .app-logo.fr {
    background-image: url("/assets/dist/images/got-tapestry/logo-fr.svg"); }
  .app-logo.it {
    background-image: url("/assets/dist/images/got-tapestry/logo-it.svg"); }
  .app-logo.nl {
    background-image: url("/assets/dist/images/got-tapestry/logo-nl.svg"); }

.app-tabs {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  color: white;
  text-align: center;
  height: 70px;
  font-family: 'Cinzel', serif;
  z-index: 4;
  background-image: url("/assets/dist/images/got-tapestry/bg-tabs-top.png");
  background-repeat: repeat-x;
  background-position: bottom center;
  background-size: 245px 64px; }
  @media screen and (min-width: 768px) {
    .app-tabs {
      height: 80px; } }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .app-tabs {
      background-image: url("/assets/dist/images/got-tapestry/bg-tabs-top@2x.png"); } }
  @media screen and (min-width: 768px) {
    .app-tabs {
      background-image: none; } }
  @media screen and (orientation: landscape) and (max-device-width: 1024px) {
    .app-tabs {
      display: none; } }

@media screen and (min-width: 768px) {
  .app-tabs__constrainer {
    margin: 0 auto;
    max-width: 600px; } }

.app.background-lighter .app-tabs {
  background-image: url("/assets/dist/images/got-tapestry/bg-tabs-top.png"), url("/assets/dist/images/got-tapestry/episode-drawer-top.png");
  background-repeat: repeat-x, repeat-x;
  background-position: bottom center, top center;
  background-size: 245px 64px, 375px 106px; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .app.background-lighter .app-tabs {
      background-image: url("/assets/dist/images/got-tapestry/bg-tabs-top@2x.png"), url("/assets/dist/images/got-tapestry/episode-drawer-top@2x.png"); } }
  @media screen and (min-width: 768px) {
    .app.background-lighter .app-tabs {
      background-image: url("/assets/dist/images/got-tapestry/episode-drawer-top.png");
      background-repeat: repeat-x;
      background-position: top center; } }

.app-tabs__tab {
  vertical-align: top;
  position: relative;
  cursor: pointer;
  display: inline-block;
  text-align: center;
  width: 33%;
  padding: 13px 0px 13px; }
  @media screen and (min-width: 768px) {
    .app-tabs__tab {
      padding: 13px 0px; } }

.app-tabs__tab:after {
  content: "";
  width: 2px;
  background-color: white;
  position: absolute;
  right: -1px;
  top: 22px;
  bottom: 22px; }
  @media screen and (min-width: 768px) {
    .app-tabs__tab:after {
      top: 22px;
      bottom: 22px; } }

.app-tabs__tab:last-child:after {
  content: none; }

.app-tabs__tab__icon {
  font-size: 1.25rem;
  margin-bottom: 7px;
  opacity: 0.27;
  line-height: 1rem;
  font-size: 1.5rem;
  margin-top: 5px; }
  @media screen and (min-width: 768px) {
    .app-tabs__tab__icon {
      font-size: 1.75rem;
      margin-top: 10px; } }
  .app-tabs__tab--active .app-tabs__tab__icon {
    opacity: 1; }

.app-tabs__tab__text {
  line-height: 0.8125rem;
  padding-left: 4px;
  padding-right: 4px;
  word-break: break-word;
  opacity: 0.27; }
  @media screen and (min-width: 768px) {
    .app-tabs__tab__text {
      line-height: 0.875rem;
      font-size: 1.125rem;
      margin-top: 11px; } }
  .app-tabs__tab--active .app-tabs__tab__text {
    opacity: 1; }

.cookie-panel {
  display: block;
  color: #dddddd;
  background-color: #323945;
  background-image: url("/assets/dist/images/got-tapestry/bg-app.png"); }
  .cookie-panel div {
    margin: 0 auto;
    padding: 20px;
    position: relative;
    bottom: -10px;
    text-align: center;
    font-weight: normal;
    letter-spacing: -0.03em;
    font-family: 'Cinzel', serif;
    background-image: url("/assets/dist/images/got-tapestry/bg-cookie-banner.png");
    background-repeat: repeat-x;
    background-position: bottom left;
    background-size: 358px 74px; }
    @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
      .cookie-panel div {
        background-image: url("/assets/dist/images/got-tapestry/bg-cookie-banner@2x.png"); } }
    .cookie-panel div:after {
      content: "";
      display: block;
      clear: both; }
  .cookie-panel p {
    margin: 0 auto 1.25rem;
    width: 75%;
    max-width: 900px; }
    @media screen and (min-width: 375px) {
      .cookie-panel p {
        width: auto;
        margin-bottom: 0.9375rem; } }
  .cookie-panel a {
    color: white;
    display: block;
    margin-bottom: 1em;
    text-decoration: underline;
    padding: 0;
    text-align: top;
    width: 302px;
    margin: auto;
    margin-bottom: 0.625rem;
    font-size: 0.875rem;
    white-space: nowrap; }
  .cookie-panel .cookie_submit {
    font-size: 1.5rem;
    display: inline-block;
    margin-bottom: 1.25rem;
    padding: 0;
    text-decoration: none;
    width: auto;
    border-bottom: 1px solid;
    line-height: 1; }
  @media screen and (min-width: 640px) {
    .cookie-panel p {
      float: none;
      width: auto; }
    .cookie-panel .cookie_submit {
      font-size: 1.4em;
      margin-right: 10px; } }
  @media screen and (min-width: 375px) {
    .cookie-panel div {
      padding: 5px; } }

.cookie-panel__wrap {
  left: 0;
  position: fixed;
  transform: translateY(-800px);
  right: 0;
  display: none !important;
  z-index: 6; }
  .cookie-panel__wrap .cookie-panel {
    display: block; }

.cookie-panel {
  display: none; }

.discover-section {
  color: white;
  padding: 0 20px;
  position: relative;
  background-image: url("/assets/dist/images/got-tapestry/discover/blank-tapestry.png");
  background-size: 375px 160px;
  background-position: center top; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .discover-section {
      background-image: url("/assets/dist/images/got-tapestry/discover/blank-tapestry@2x.png"); } }
  .discover-section:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }
  .discover-section:before {
    content: "";
    position: absolute;
    top: -20px;
    right: 0;
    bottom: 0;
    left: 0;
    background-image: url("/assets/dist/images/got-tapestry/discover/bg-discover-section.png");
    background-size: 375px 150px;
    background-repeat: repeat-x; }
    @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
      .discover-section:before {
        background-image: url("/assets/dist/images/got-tapestry/discover/bg-discover-section@2x.png"); } }
  @media screen and (min-width: 768px) {
    .discover-section {
      max-width: 600px;
      margin-left: auto;
      margin-right: auto;
      box-shadow: 0px 0px 7px 4px rgba(0, 0, 0, 0.7); } }

.discover-section__title {
  font-weight: normal;
  letter-spacing: -0.03em;
  font-family: 'Cinzel', serif;
  text-align: center;
  font-size: 1.25rem;
  position: relative;
  z-index: 1;
  cursor: pointer;
  line-height: 1.25rem;
  padding: 1.875rem 0; }
  @media screen and (min-width: 768px) {
    .discover-section__title {
      padding: 2.8125rem 0;
      font-size: 1.25rem; } }

.discover-section__scrollbar {
  width: 100%;
  position: relative;
  z-index: 1;
  overflow: hidden;
  overflow-x: scroll; }

.discover-section__collection {
  position: relative;
  z-index: 1;
  padding: 0;
  padding-bottom: 1.25rem; }

.discover-section__collection-item {
  position: relative;
  font-weight: normal;
  letter-spacing: -0.03em;
  font-family: 'Cinzel', serif;
  font-family: 'Cinzel', serif;
  font-weight: bold;
  letter-spacing: 0em;
  font-size: 1.3125rem;
  line-height: 1;
  text-align: center;
  display: block;
  padding: 1.25rem 0; }

.discover-section__collection-link {
  display: block;
  width: 130px;
  box-sizing: border-box;
  padding: 0 0 0.625rem 0;
  cursor: pointer;
  text-align: left;
  margin: auto;
  position: relative;
  text-shadow: 1px 1px 3px rgba(141, 89, 5, 0.8); }
  .discover-section__collection-link:after {
    content: "";
    height: 1px;
    width: 1.5625rem;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: 0; }

.discover-section__sub-collection {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 0;
  text-align: center;
  padding-bottom: 3.125rem; }

.discover-section__second-children {
  font-weight: normal;
  letter-spacing: -0.03em;
  font-family: 'Cinzel', serif;
  font-family: 'Cinzel', serif;
  font-weight: bold;
  letter-spacing: 0em;
  font-size: 1.25rem;
  position: relative;
  max-width: 200px;
  margin: auto;
  text-align: left;
  line-height: 1;
  padding: 1.25rem 0; }

.discover-section__icon {
  display: inline-block;
  width: 30px;
  height: 30px;
  background-size: 31px 33px;
  vertical-align: middle;
  position: relative;
  top: -2px; }
  @media screen and (min-width: 768px) {
    .discover-section__icon {
      width: 35px;
      height: 35px;
      background-size: 35px 36px; } }

.discover-section__icon--character {
  background-image: url("/assets/dist/images/got-tapestry/icon-character.png"); }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .discover-section__icon--character {
      background-image: url("/assets/dist/images/got-tapestry/icon-character@2x.png"); } }

.discover-section__icon--geography {
  background-image: url("/assets/dist/images/got-tapestry/icon-locations.png"); }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .discover-section__icon--geography {
      background-image: url("/assets/dist/images/got-tapestry/icon-locations@2x.png"); } }

.discover-section__icon--keybattle {
  background-image: url("/assets/dist/images/got-tapestry/icon-battles.png"); }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .discover-section__icon--keybattle {
      background-image: url("/assets/dist/images/got-tapestry/icon-battles@2x.png"); } }

.discover-section__icon--untimelyend {
  background-image: url("/assets/dist/images/got-tapestry/icon-death.png"); }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .discover-section__icon--untimelyend {
      background-image: url("/assets/dist/images/got-tapestry/icon-death@2x.png"); } }

.discover-section__icon--traditionofthesevenkingdom {
  background-image: url("/assets/dist/images/got-tapestry/icon-trials.png"); }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .discover-section__icon--traditionofthesevenkingdom {
      background-image: url("/assets/dist/images/got-tapestry/icon-trials@2x.png"); } }

.discover-section__icon--wedding {
  background-image: url("/assets/dist/images/got-tapestry/icon-love.png"); }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .discover-section__icon--wedding {
      background-image: url("/assets/dist/images/got-tapestry/icon-love@2x.png"); } }

.discover-section--character {
  background-image: url("/assets/dist/images/got-tapestry/discover/discover-03.png");
  background-size: 375px 650px; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .discover-section--character {
      background-size: 375px 898px;
      background-image: url("/assets/dist/images/got-tapestry/discover/discover-03@2x.png"); } }
  .discover-section--character:after {
    background-color: rgba(221, 139, 5, 0.4); }

.discover-section--geography {
  background-image: url("/assets/dist/images/got-tapestry/discover/discover-04.png"); }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .discover-section--geography {
      background-image: url("/assets/dist/images/got-tapestry/discover/discover-04@2x.png"); } }
  .discover-section--geography:after {
    background-color: rgba(71, 94, 53, 0.4); }

.discover-section--keybattle {
  background-image: url("/assets/dist/images/got-tapestry/discover/discover-05.png"); }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .discover-section--keybattle {
      background-image: url("/assets/dist/images/got-tapestry/discover/discover-05@2x.png"); } }
  .discover-section--keybattle:after {
    background-color: rgba(40, 53, 77, 0.4); }

.discover-section--untimelyend {
  background-image: url("/assets/dist/images/got-tapestry/discover/discover.png"); }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .discover-section--untimelyend {
      background-image: url("/assets/dist/images/got-tapestry/discover/discover@2x.png"); } }
  .discover-section--untimelyend:after {
    background-color: rgba(92, 92, 92, 0.4); }

.discover-section--traditionofthesevenkingdom {
  background-image: url("/assets/dist/images/got-tapestry/discover/discover-06.png"); }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .discover-section--traditionofthesevenkingdom {
      background-image: url("/assets/dist/images/got-tapestry/discover/discover-06@2x.png"); } }
  .discover-section--traditionofthesevenkingdom:after {
    background-color: rgba(135, 102, 80, 0.4); }

.discover-section--wedding {
  background-image: url("/assets/dist/images/got-tapestry/discover/discover-07.png"); }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .discover-section--wedding {
      background-image: url("/assets/dist/images/got-tapestry/discover/discover-07@2x.png"); } }
  .discover-section--wedding:after {
    background-color: rgba(133, 10, 42, 0.4); }

.discover-screen {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 3;
  overflow-y: scroll;
  /* has to be scroll, not auto */
  -webkit-overflow-scrolling: touch;
  background: url("/assets/dist/images/got-tapestry/bg-app.png") repeat center center;
  z-index: 3; }
  @media screen and (orientation: landscape) and (max-device-width: 1024px) {
    .discover-screen {
      display: none; } }

.episode-info {
  font-family: 'Cinzel', serif;
  text-align: center;
  color: white;
  padding-left: 25px;
  padding-right: 25px;
  padding-bottom: 5px;
  position: relative;
  /* To hide episode drawer text when it animates up, otherwise can see below navigator tapestry */
  overflow: hidden;
  padding-top: 15px;
  background-image: url("/assets/dist/images/got-tapestry/episode-drawer-top.png");
  /* Small background-size on purpose to make shorter */
  background-size: 375px 67px;
  background-repeat: repeat-x; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .episode-info {
      background-image: url("/assets/dist/images/got-tapestry/episode-drawer-top@2x.png"); } }
  @media screen and (min-width: 768px) {
    .episode-info {
      background-size: 375px 90px;
      padding-top: 20px; } }

.episode-info__wrapper {
  margin-top: -20px;
  position: relative; }
  @media screen and (min-width: 768px) {
    .episode-info__wrapper {
      padding-bottom: 3px;
      margin-top: -55px; } }
  @media screen and (orientation: landscape) and (max-device-width: 1024px) {
    .episode-info__wrapper {
      margin-top: -20px;
      padding-bottom: 20px;
      overflow: hidden;
      position: absolute;
      z-index: 0;
      bottom: 26px;
      width: 100%; } }
  @media screen and (orientation: landscape) and (max-device-width: 1024px) and (min-width: 768px) {
    .episode-info__wrapper {
      bottom: 46px; } }

.episode-info__toggle {
  color: white;
  position: absolute;
  left: 50%;
  margin-left: -50px;
  top: -13px;
  padding: 3px 9px;
  width: 99px;
  height: 36px;
  cursor: pointer;
  text-align: center;
  z-index: 2;
  background: url("/assets/dist/images/got-tapestry/bg-menu-toggle.png") no-repeat -7px center transparent;
  background-size: 122px 36px; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .episode-info__toggle {
      background-image: url("/assets/dist/images/got-tapestry/bg-menu-toggle@2x.png"); } }
  @media screen and (min-width: 768px) {
    .episode-info__toggle {
      background-image: url("/assets/dist/images/got-tapestry/bg-menu-toggle@2x.png");
      background-size: 200px 56px;
      margin-left: -85px;
      top: -31px;
      width: 179px;
      height: 72px;
      font-size: 1.625rem;
      padding-left: 0px;
      padding-top: 15px; } }
  @media screen and (orientation: landscape) and (max-device-width: 1024px) {
    .episode-info__toggle {
      display: none; } }

.episode-info__title {
  margin-bottom: 5px;
  font-size: 1.1875rem;
  position: relative;
  z-index: 1; }
  @media screen and (min-width: 768px) {
    .episode-info__title {
      font-size: 1.5625rem;
      margin-bottom: 8px; } }
  @media screen and (orientation: landscape) and (max-device-width: 1024px) {
    .episode-info__title {
      display: none; } }
  @media screen and (orientation: landscape) and (max-device-width: 1024px) {
    .episode-info__title {
      display: none; } }

.episode-info__subtitle {
  position: relative;
  font-size: 0.875rem;
  margin-bottom: 3px; }
  @media screen and (min-width: 768px) {
    .episode-info__subtitle {
      font-size: 1.125rem; } }
  @media screen and (orientation: landscape) and (max-device-width: 1024px) {
    .episode-info__subtitle {
      display: none; } }

.episode-info__episode-number {
  font-weight: bold; }

.episode-info__share {
  cursor: pointer;
  margin-left: 10px; }

.episode-info__description {
  margin: 0 auto;
  padding-bottom: 7px;
  max-width: 850px;
  font-size: 0.875rem; }
  @media screen and (min-width: 768px) {
    .episode-info__description {
      font-size: 1.125rem;
      line-height: 1.5625rem;
      margin-bottom: 5px; } }
  @media screen and (orientation: landscape) and (max-device-width: 1024px) {
    .episode-info__description {
      display: none; } }

.episode-info__slider {
  max-height: 360px;
  overflow-y: auto; }
  @media screen and (min-width: 768px) {
    .episode-info__slider {
      max-height: none;
      overflow-y: visible; } }
  @media screen and (orientation: landscape) and (max-device-width: 1024px) {
    .episode-info__slider {
      display: none; } }

.explore-screen {
  height: 100%; }

.footer-drawer {
  background-image: url("/assets/dist/images/got-tapestry/bg-app.png");
  position: fixed;
  left: 0;
  right: 0;
  bottom: 70px; }
  @media screen and (min-width: 768px) {
    .footer-drawer {
      bottom: 80px; } }
  @media screen and (orientation: landscape) and (max-device-width: 1024px) {
    .footer-drawer {
      bottom: 0.9375rem; } }

.explore-screen-guided .footer-drawer {
  bottom: 55px; }
  @media screen and (min-width: 768px) {
    .explore-screen-guided .footer-drawer {
      bottom: 65px; } }
  @media screen and (orientation: landscape) and (max-device-width: 1024px) {
    .explore-screen-guided .footer-drawer {
      display: none; } }

.guided-explore-nav {
  height: 80px;
  padding: 0 20px;
  color: white;
  position: relative;
  position: relative;
  top: 5px;
  z-index: 1;
  background-image: url("/assets/dist/images/got-tapestry/guided-explore.png");
  background-position: bottom center;
  background-size: 237px 109px; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .guided-explore-nav {
      background-image: url("/assets/dist/images/got-tapestry/guided-explore@2x.png"); } }
  @media screen and (orientation: landscape) and (max-device-width: 1024px) {
    .guided-explore-nav {
      top: 0; } }

.guided-explore-nav__text {
  position: absolute;
  top: 50%;
  left: 10px;
  right: 10px;
  left: 25px;
  right: 25px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%); }

.guided-explore-nav__next {
  right: 10px;
  text-align: right; }

.guided-explore-nav__previous {
  left: 10px; }

.guided-explore-nav__next,
.guided-explore-nav__previous {
  position: absolute;
  z-index: 1;
  font-size: 1.5rem;
  cursor: pointer;
  top: 0;
  width: 154px;
  height: 74px; }
  .guided-explore-nav__next [class^="icon-"],
  .guided-explore-nav__next [class*=" icon-"],
  .guided-explore-nav__previous [class^="icon-"],
  .guided-explore-nav__previous [class*=" icon-"] {
    top: 1.5625rem;
    position: relative; }

.guided-explore-nav__title {
  text-align: center;
  font-family: 'Cinzel', serif;
  font-size: 1.3125rem;
  line-height: 1.3125rem;
  margin-bottom: 3px;
  margin-top: -3px; }
  @media screen and (min-width: 768px) {
    .guided-explore-nav__title {
      font-size: 1.5rem; } }

.guided-explore-nav__subtitle {
  text-align: center;
  font-family: 'Cinzel', serif;
  line-height: 0.9375rem; }
  @media screen and (min-width: 768px) {
    .guided-explore-nav__subtitle {
      font-size: 1.25rem;
      margin-top: 5px; } }

.intro-loading-screen {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
  background: black;
  background-attachment: local;
  z-index: 5;
  transition: opacity 500ms ease-out, top 0ms ease-out;
  transition-delay: 0ms, 750ms; }
  .intro-loading-screen.hide {
    opacity: 0;
    top: 100%; }

.intro-loading-screen__logo {
  width: 300px;
  height: 50px;
  margin: 0 auto;
  background-image: url("/assets/dist/images/got-tapestry/logo-en.svg");
  background-position: 50% 0px;
  background-repeat: no-repeat;
  background-size: 300px 41px; }
  .intro-loading-screen__logo.de {
    background-image: url("/assets/dist/images/got-tapestry/logo-de.svg"); }
  .intro-loading-screen__logo.es {
    background-image: url("/assets/dist/images/got-tapestry/logo-es.svg"); }
  .intro-loading-screen__logo.fr {
    background-image: url("/assets/dist/images/got-tapestry/logo-fr.svg"); }
  .intro-loading-screen__logo.it {
    background-image: url("/assets/dist/images/got-tapestry/logo-it.svg"); }
  .intro-loading-screen__logo.nl {
    background-image: url("/assets/dist/images/got-tapestry/logo-nl.svg"); }

.intro-loading-screen__video {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%; }
  .intro-loading-screen.hide .intro-loading-screen__video {
    top: 100%; }

.intro-loading-screen__body {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%); }

.intro-loading-screen__progress {
  position: relative;
  background-image: url("/assets/dist/images/got-tapestry/loading-bar.png");
  background-size: 275px 25px;
  width: 275px;
  height: 25px;
  margin: 20px auto 0;
  border-radius: 2px; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .intro-loading-screen__progress {
      background-image: url("/assets/dist/images/got-tapestry/loading-bar@2x.png"); } }

.intro-loading-screen__progress-container {
  max-width: 300px;
  margin: 20px auto 0px;
  opacity: 0.9; }

.intro-loading-screen__progress-done {
  position: absolute;
  border-radius: 3px;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  background-image: url("/assets/dist/images/got-tapestry/loading-bar-inside.png");
  background-size: 275px 25px;
  width: 0%;
  transition: width 250ms; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .intro-loading-screen__progress-done {
      background-image: url("/assets/dist/images/got-tapestry/loading-bar-inside@2x.png"); } }

.main-screens-container__body {
  position: absolute;
  top: 50px;
  z-index: 0;
  left: 0;
  right: 0;
  bottom: 65px; }
  @media screen and (min-width: 768px) {
    .main-screens-container__body {
      bottom: 75px; } }
  @media screen and (orientation: landscape) and (max-device-width: 1024px) {
    .main-screens-container__body {
      top: 0px;
      bottom: 0px; } }

.point-of-interest-screen {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 5;
  color: white;
  overflow-y: scroll;
  /* has to be scroll, not auto */
  -webkit-overflow-scrolling: touch; }
  @media screen and (min-width: 768px) {
    .point-of-interest-screen {
      background: rgba(0, 0, 0, 0.5);
      overflow-y: auto;
      -webkit-overflow-scrolling: auto; } }
  @media screen and (orientation: landscape) and (max-device-width: 1024px) {
    .point-of-interest-screen {
      display: none !important; } }

@media screen and (min-width: 768px) {
  .point-of-interest-screen__modal {
    border-radius: 10px;
    background: url("/assets/dist/images/got-tapestry/bg-app.png");
    position: static;
    max-width: 600px;
    margin: 100px auto 0;
    box-shadow: 0px 0px 15px 2px rgba(0, 0, 0, 0.5);
    margin-bottom: 100px; } }

.point-of-interest-screen__header {
  padding: 25px 25px 5px;
  font-family: 'Cinzel', serif;
  position: fixed;
  top: 0px;
  left: 0px;
  right: 0px;
  background-size: 375px 158px;
  z-index: 2; }
  .point-of-interest-screen__header:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0.9; }
  .point-of-interest-screen__header:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(1, 12, 43, 0.7); }
  @media screen and (min-width: 768px) {
    .point-of-interest-screen__header {
      height: auto;
      padding-top: 38px;
      position: relative;
      background: none !important; }
      .point-of-interest-screen__header:before, .point-of-interest-screen__header:after {
        content: normal; } }

.point-of-interest-screen__header__bottom-image {
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  bottom: -24px;
  height: 30px;
  background-color: transparent;
  background-image: url("/assets/dist/images/got-tapestry/point-of-interest-top.png");
  background-position: top center;
  background-repeat: repeat-x;
  background-size: 375px 30px; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .point-of-interest-screen__header__bottom-image {
      background-image: url("/assets/dist/images/got-tapestry/point-of-interest-top@2x.png"); } }
  @media screen and (min-width: 768px) {
    .point-of-interest-screen__header__bottom-image {
      display: none; } }

.point-of-interest-screen__header-episode-info {
  font-size: 0.9375rem;
  font-weight: bold;
  text-align: center; }
  @media screen and (min-width: 768px) {
    .point-of-interest-screen__header-episode-info {
      font-size: 1.25rem;
      display: inline-block;
      margin-right: 16px;
      vertical-align: top;
      margin-top: 4px; } }

.point-of-interest-screen__header-top {
  position: relative;
  z-index: 10; }
  @media screen and (min-width: 768px) {
    .point-of-interest-screen__header-top {
      display: none; } }

.point-of-interest-screen__header-top.desktop {
  display: none;
  padding-left: 35px; }
  @media screen and (min-width: 768px) {
    .point-of-interest-screen__header-top.desktop {
      display: block; } }

.point-of-interest-screen__header-back {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 11;
  width: 70px;
  height: 60px;
  cursor: pointer;
  font-size: 1.25rem; }
  .point-of-interest-screen__header-back [class^="icon-"],
  .point-of-interest-screen__header-back [class*=" icon-"] {
    position: relative;
    top: 24px;
    left: 25px; }
  @media screen and (min-width: 768px) {
    .point-of-interest-screen__header-back {
      display: none; } }

.point-of-interest-screen__header-back.desktop {
  display: none;
  left: auto;
  right: 15px;
  font-size: 1.5625rem;
  top: 15px;
  cursor: pointer; }
  @media screen and (min-width: 768px) {
    .point-of-interest-screen__header-back.desktop {
      display: block; } }

.point-of-interest-screen__header-share {
  position: absolute;
  font-weight: bold;
  right: 0;
  z-index: 100;
  cursor: pointer;
  font-size: 1.125rem;
  padding: 25px;
  top: 0; }
  @media screen and (min-width: 768px) {
    .point-of-interest-screen__header-share {
      display: none; }
      .desktop .point-of-interest-screen__header-share {
        display: inline-block;
        position: relative;
        vertical-align: top;
        top: 2px;
        right: 0;
        font-size: 1.375rem;
        padding: 0; } }

.point-of-interest-screen__header-title {
  text-align: center;
  font-size: 1.5rem;
  margin: 0.75rem 0 1.875rem;
  position: relative;
  z-index: 10;
  overflow: hidden;
  line-height: 1.75rem; }
  @media screen and (min-width: 768px) {
    .point-of-interest-screen__header-title {
      margin: 0;
      font-size: 1.75rem;
      text-align: left;
      max-width: 300px;
      margin-right: 20px;
      line-height: 1.875rem;
      display: inline-block;
      max-height: none; } }

.point-of-interest-screen__body {
  background-image: url("/assets/dist/images/got-tapestry/bg-app.png");
  background-attachment: local;
  padding: 30px 35px;
  background-color: #1a2133;
  position: absolute;
  top: 116px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  overflow-y: auto; }
  .point-of-interest-screen__body p {
    margin-bottom: 1.25rem; }
  @media screen and (min-width: 768px) {
    .point-of-interest-screen__body {
      position: static;
      background: none;
      padding-left: 60px;
      padding-right: 60px;
      padding-top: 20px; } }

.point-of-interest-screen__body-quote {
  font-family: 'Cinzel', serif;
  font-size: 1.1875rem;
  line-height: 1.3125rem;
  margin-bottom: 1.25rem;
  display: block; }

.point-of-interest-screen__body-subtitle {
  font-weight: normal;
  letter-spacing: -0.03em;
  font-family: 'Cinzel', serif;
  font-family: 'Cinzel', serif;
  font-weight: bold;
  letter-spacing: 0em;
  margin-bottom: 0.625rem;
  margin-top: 1.5rem; }

.point-of-interest-screen__body-paragraph {
  font-family: 'Spectral', serif;
  line-height: 1.375rem;
  font-size: 0.9375rem;
  font-weight: 300; }

.point-of-interest-screen__body-images {
  margin-top: 35px; }

.point-of-interest-screen__body-images-item {
  display: inline-block;
  margin-bottom: 1.25rem; }

.point-of-interest-screen__body-link {
  margin-top: 35px;
  font-weight: normal;
  letter-spacing: -0.03em;
  font-family: 'Cinzel', serif;
  font-family: 'Cinzel', serif;
  font-weight: bold;
  letter-spacing: 0em;
  text-align: center;
  font-size: 0.8125rem; }
  @media screen and (min-width: 768px) {
    .point-of-interest-screen__body-link {
      font-size: 1.5rem; } }
  .point-of-interest-screen__body-link a {
    color: white;
    text-decoration: none; }

.point-of-interest-screen__link-icon {
  vertical-align: middle;
  margin-left: 10px;
  font-size: 1.25rem; }

.point-of-interest-screen--character {
  background-image: url("/assets/dist/images/got-tapestry/discover/discover-03.png");
  background-size: 375px 650px; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .point-of-interest-screen--character {
      background-image: url("/assets/dist/images/got-tapestry/discover/discover-03@2x.png"); } }

.point-of-interest-screen--geography {
  background-image: url("/assets/dist/images/got-tapestry/discover/discover-04.png");
  background-size: 375px 158px; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .point-of-interest-screen--geography {
      background-image: url("/assets/dist/images/got-tapestry/discover/discover-04@2x.png"); } }

.point-of-interest-screen--keybattle {
  background-image: url("/assets/dist/images/got-tapestry/discover/discover-05.png");
  background-size: 375px 158px; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .point-of-interest-screen--keybattle {
      background-image: url("/assets/dist/images/got-tapestry/discover/discover-05@2x.png"); } }

.point-of-interest-screen--untimelyend {
  background-size: 375px 160px;
  background-image: url("/assets/dist/images/got-tapestry/discover/discover.png"); }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .point-of-interest-screen--untimelyend {
      background-image: url("/assets/dist/images/got-tapestry/discover/discover@2x.png"); } }

.point-of-interest-screen--traditionofthesevenkingdom {
  background-image: url("/assets/dist/images/got-tapestry/discover/discover-06.png");
  background-size: 375px 158px; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .point-of-interest-screen--traditionofthesevenkingdom {
      background-image: url("/assets/dist/images/got-tapestry/discover/discover-06@2x.png"); } }

.point-of-interest-screen--wedding {
  background-image: url("/assets/dist/images/got-tapestry/discover/discover-07.png");
  background-size: 375px 158px; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .point-of-interest-screen--wedding {
      background-image: url("/assets/dist/images/got-tapestry/discover/discover-07@2x.png"); } }

.settings-screen {
  position: absolute;
  top: 50px;
  left: 0;
  right: 0;
  bottom: 65px;
  z-index: 3;
  overflow-y: scroll;
  /* has to be scroll, not auto */
  -webkit-overflow-scrolling: touch;
  background-image: url("/assets/dist/images/got-tapestry/bg-app-lighter.png");
  background-attachment: local;
  padding: 15px 35px 30px;
  color: white; }
  @media screen and (min-width: 768px) {
    .settings-screen {
      top: 0;
      bottom: 0;
      background: rgba(0, 0, 0, 0.5);
      position: fixed;
      z-index: 10; } }
  @media screen and (orientation: landscape) and (max-device-width: 1024px) {
    .settings-screen {
      display: none !important; } }

.settings-screen__modal {
  min-height: 400px; }
  @media screen and (min-width: 768px) {
    .settings-screen__modal {
      position: absolute;
      right: 0;
      top: 0;
      bottom: 0;
      background-image: url("/assets/dist/images/got-tapestry/bg-app-lighter.png");
      background-attachment: local;
      max-width: 600px;
      padding: 45px 65px; } }

.settings-screen__close {
  display: none; }
  @media screen and (min-width: 768px) {
    .settings-screen__close {
      cursor: pointer;
      display: block;
      position: absolute;
      top: 20px;
      right: 20px;
      font-size: 1.5rem; } }

.settings-screen__list {
  margin-bottom: 40px; }

.settings-screen__list-item {
  font-weight: normal;
  letter-spacing: -0.03em;
  font-family: 'Cinzel', serif;
  font-size: 1.25rem;
  padding: 28px 0px;
  position: relative; }
  @media screen and (min-width: 768px) {
    .settings-screen__list-item {
      font-size: 1.5rem;
      padding: 48px 0; } }
  .settings-screen__list-item:after {
    position: absolute;
    width: 75px;
    height: 2px;
    background-color: white;
    content: "";
    left: 0px;
    bottom: 0px; }

.settings-screen__list-item-body {
  cursor: pointer; }

.settings-screen__setting-icon {
  float: right;
  margin-left: 40px;
  font-size: 1.875rem;
  margin-top: -2px; }
  @media screen and (min-width: 768px) {
    .settings-screen__setting-icon {
      top: 40px; } }
  .settings-screen__setting-icon .settings-screen__flag-icon {
    display: block;
    font-size: 1.5rem; }

.settings-screen__setting-icon-flag {
  right: 5px; }

.settings-screen p {
  font-family: 'Spectral', serif;
  line-height: 1.375rem;
  font-size: 0.9375rem;
  font-weight: 300; }

.settings-screen__visit-ireland {
  text-align: center;
  margin-top: 1.5rem; }

.settings-screen__visit-ireland h3 {
  font-weight: normal;
  letter-spacing: -0.03em;
  font-family: 'Cinzel', serif;
  font-size: 1.25rem;
  margin-bottom: 0.375rem; }
  @media screen and (min-width: 768px) {
    .settings-screen__visit-ireland h3 {
      font-size: 1.625rem; } }

.settings-screen__visit-ireland img {
  width: 50px;
  margin-top: 5px; }

.settings-screen__visit-ireland a {
  color: #fff;
  text-decoration: none; }
  .settings-screen__visit-ireland a:hover {
    text-decoration: underline; }

.settings-screen__languages-item {
  margin-top: 15px; }
  .settings-screen__languages-item a {
    display: block;
    color: white;
    text-decoration: none; }
    .settings-screen__languages-item a:hover {
      text-decoration: underline; }
  .settings-screen__languages-item .settings-screen__flag-icon {
    margin-right: 5px; }

.settings-screen__languages-item-name.active {
  text-decoration: underline; }

/* Flags */
.settings-screen__flag-icon {
  background-size: contain;
  background-position: 50%;
  background-repeat: no-repeat;
  position: relative;
  display: inline-block;
  width: 1.33333333em;
  line-height: 1em; }

.settings-screen__flag-icon:before {
  content: "\00a0"; }

.settings-screen__flag-icon-gb {
  background-image: url("/assets/dist/images/got-tapestry/flags/gb.svg"); }

.settings-screen__flag-icon-fr {
  background-image: url("/assets/dist/images/got-tapestry/flags/fr.svg"); }

.settings-screen__flag-icon-nl {
  background-image: url("/assets/dist/images/got-tapestry/flags/nl.svg"); }

.settings-screen__flag-icon-it {
  background-image: url("/assets/dist/images/got-tapestry/flags/it.svg"); }

.settings-screen__flag-icon-de {
  background-image: url("/assets/dist/images/got-tapestry/flags/de.svg"); }

.settings-screen__flag-icon-es {
  background-image: url("/assets/dist/images/got-tapestry/flags/es.svg"); }

.settings-screen__flag-icon-world {
  background-image: url("/assets/dist/images/got-tapestry/flags/world.svg"); }

.story-screen {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  overflow-y: scroll;
  /* has to be scroll, not auto */
  -webkit-overflow-scrolling: touch;
  background-image: url("/assets/dist/images/got-tapestry/bg-app-lighter.png");
  background-attachment: local;
  padding: 30px;
  color: white; }
  @media screen and (min-width: 768px) {
    .story-screen {
      background-image: url("/assets/dist/images/got-tapestry/bg-app.png"); } }
  @media screen and (min-width: 768px) {
    .story-screen {
      background-image: url("/assets/dist/images/got-tapestry/bg-app.png"); } }
  @media screen and (orientation: landscape) and (max-device-width: 1024px) {
    .story-screen {
      display: none !important; } }

@media screen and (min-width: 768px) {
  .story-screen-constrainer {
    max-width: 600px;
    margin: 0 auto; } }

.story-screen h2 {
  font-weight: normal;
  letter-spacing: -0.03em;
  font-family: 'Cinzel', serif; }
  @media screen and (min-width: 768px) {
    .story-screen h2 {
      font-size: 1.1875rem;
      line-height: 1rem;
      margin-top: 2.625rem;
      margin-bottom: 1.125rem; } }

.story-screen p {
  font-family: 'Spectral', serif;
  line-height: 1.375rem;
  font-size: 0.9375rem;
  font-weight: 300;
  margin-bottom: 1.25rem; }
  @media screen and (min-width: 768px) {
    .story-screen p {
      margin-top: 0.625rem;
      margin-bottom: 1.375rem; } }

.story-screen figure {
  margin: 1rem 0; }
  @media screen and (min-width: 768px) {
    .story-screen figure {
      margin: 1.375rem 0; } }

.story-screen a {
  text-decoration: underline;
  color: white; }
  .story-screen a:hover {
    text-decoration: none; }

.story-screen figure figcaption {
  margin-top: 0.625rem;
  font-style: italic;
  line-height: 1.25rem; }

.tapestry-explorer {
  position: relative;
  cursor: move;
  cursor: -webkit-grab;
  cursor: -moz-grab;
  height: calc(100% - 50px - 73px); }
  @media screen and (min-width: 768px) {
    .tapestry-explorer {
      height: calc(100% - 70px - 83px); } }
  @media screen and (orientation: landscape) and (max-device-width: 1024px) {
    .tapestry-explorer {
      height: calc(100% - 50px - 30px);
      /* tablet */ } }
  @media screen and (orientation: landscape) and (max-device-width: 1024px) and (min-width: 768px) {
    .tapestry-explorer {
      height: calc(100% - 50px - 30px - 20px); } }

.explore-screen-guided .tapestry-explorer {
  height: calc(100% - 80px - 73px + 15px); }
  @media screen and (min-width: 768px) {
    .explore-screen-guided .tapestry-explorer {
      height: calc(100% - 80px - 83px + 15px); } }
  @media screen and (orientation: landscape) and (max-device-width: 1024px) {
    .explore-screen-guided .tapestry-explorer {
      top: -5px;
      height: calc(100% - 75px);
      position: relative; } }

.tapestry-explorer__viewer {
  width: 100%;
  height: 100%; }

.tapestry-explorer__poi {
  width: 42px;
  height: 44px;
  background-repeat: none;
  cursor: pointer;
  background-size: 42px 44px; }
  @media screen and (orientation: landscape) and (max-device-width: 1024px) {
    .tapestry-explorer__poi {
      display: none !important; } }
  .tapestry-explorer__poi.is-hidden {
    display: none !important; }

.tapestry-explorer__poi--character {
  background-image: url("/assets/dist/images/got-tapestry/icon-character.png"); }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .tapestry-explorer__poi--character {
      background-image: url("/assets/dist/images/got-tapestry/icon-character@2x.png"); } }

.tapestry-explorer__poi--geography {
  background-image: url("/assets/dist/images/got-tapestry/icon-locations.png"); }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .tapestry-explorer__poi--geography {
      background-image: url("/assets/dist/images/got-tapestry/icon-locations@2x.png"); } }

.tapestry-explorer__poi--keybattle {
  background-image: url("/assets/dist/images/got-tapestry/icon-battles.png"); }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .tapestry-explorer__poi--keybattle {
      background-image: url("/assets/dist/images/got-tapestry/icon-battles@2x.png"); } }

.tapestry-explorer__poi--untimelyend {
  background-image: url("/assets/dist/images/got-tapestry/icon-death.png"); }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .tapestry-explorer__poi--untimelyend {
      background-image: url("/assets/dist/images/got-tapestry/icon-death@2x.png"); } }

.tapestry-explorer__poi--traditionofthesevenkingdom {
  background-image: url("/assets/dist/images/got-tapestry/icon-trials.png"); }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .tapestry-explorer__poi--traditionofthesevenkingdom {
      background-image: url("/assets/dist/images/got-tapestry/icon-trials@2x.png"); } }

.tapestry-explorer__poi--wedding {
  background-image: url("/assets/dist/images/got-tapestry/icon-love.png"); }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .tapestry-explorer__poi--wedding {
      background-image: url("/assets/dist/images/got-tapestry/icon-love@2x.png"); } }

.tapestry-explorer__modal {
  text-align: center;
  border: 3px solid whitesmoke;
  box-shadow: 0px 0px 4px 4px rgba(93, 85, 85, 0.68);
  color: white;
  padding: 20px;
  background-color: #20263d;
  white-space: nowrap;
  background-image: url("/assets/dist/images/got-tapestry/bg-app.png"); }

.tapestry-explorer__landscape-indicator {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -120px;
  margin-top: -75px;
  width: 240px;
  height: 150px;
  z-index: 1;
  font-weight: normal;
  letter-spacing: -0.03em;
  font-family: 'Cinzel', serif;
  font-size: 1.125rem;
  line-height: 1.625rem;
  display: none;
  opacity: 0; }

.tapestry-explorer__landscape-icon {
  width: 75px;
  margin: 15px auto 0; }
  .tapestry-explorer__landscape-icon img {
    display: block; }

@media screen and (orientation: landscape) and (max-device-width: 1024px) {
  .tapestry-explorer__weaving-in-progress {
    display: none !important; } }

.tapestry-explorer__weaving-in-progress h2 {
  font-weight: normal;
  letter-spacing: -0.03em;
  font-family: 'Cinzel', serif;
  font-size: 1.375rem;
  margin-bottom: 1.25rem;
  margin-top: 5px; }

.tapestry-explorer__weaving-in-progress h3 {
  font-weight: normal;
  letter-spacing: -0.03em;
  font-family: 'Cinzel', serif;
  font-size: 1.125rem;
  margin-bottom: 0.625rem; }

.tapestry-explorer__weaving-in-progress p {
  font-weight: normal;
  letter-spacing: -0.03em;
  font-family: 'Cinzel', serif;
  font-size: 1.875rem; }

.tapestry-navigator {
  bottom: 70px;
  height: 50px;
  cursor: move;
  cursor: -webkit-grab;
  cursor: -moz-grab; }
  @media screen and (min-width: 768px) {
    .tapestry-navigator {
      bottom: 80px;
      height: 70px; } }
  .tapestry-navigator:before {
    content: "";
    position: absolute;
    background-image: url("/assets/dist/images/got-tapestry/tapestry-navigator.png");
    left: 0;
    right: 0;
    bottom: 0;
    height: 63px; }
    @media screen and (min-width: 768px) {
      .tapestry-navigator:before {
        height: 83px; } }
  .tapestry-navigator:after {
    content: "";
    width: 21px;
    height: 100%;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    background: url("/assets/dist/images/got-tapestry/bg-middle-menu.png") no-repeat bottom center transparent;
    background-size: 21px 50px; }
    @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
      .tapestry-navigator:after {
        background-image: url("/assets/dist/images/got-tapestry/bg-middle-menu@2x.png"); } }
    @media screen and (min-width: 768px) {
      .tapestry-navigator:after {
        background-size: 21px 75px;
        background-image: url("/assets/dist/images/got-tapestry/bg-middle-menu-desktop.png"); } }
  .tapestry-navigator * {
    outline: none; }

.explore-screen-guided .tapestry-navigator {
  display: none; }

.tapestry-navigator__episode-notch {
  background-color: #212b3d;
  width: 4px;
  height: 9px;
  bottom: 0;
  top: auto !important; }

.modal {
  position: absolute;
  top: 2.5rem;
  right: 2.5rem;
  left: 2.5rem;
  max-width: 25rem;
  opacity: 0;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2.5rem;
  background: url("/assets/dist/images/got-tapestry/bg-app.png");
  color: white;
  z-index: 100;
  border: solid 0.1875rem white;
  padding: 1.5625rem 2.625rem 2.5rem; }
  @media screen and (min-width: 0px) {
    .modal {
      top: 0.625rem;
      right: 0.625rem;
      left: 0.625rem;
      padding: 1.5625rem 2rem;
      width: 17.5rem; } }
  @media screen and (min-width: 375px) {
    .modal {
      top: 1.25rem;
      padding: 1.5625rem 2.625rem; } }
  @media screen and (min-width: 768px) {
    .modal {
      width: 25rem;
      margin: auto;
      left: 0;
      right: 0;
      top: 2.5rem; } }

.modal__bg-fade {
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  top: 0rem;
  right: 0rem;
  left: 0rem;
  bottom: 0rem;
  z-index: 99;
  opacity: 0; }

.modal__title {
  font-weight: normal;
  letter-spacing: -0.03em;
  font-family: 'Cinzel', serif;
  font-size: 1.5rem;
  line-height: 1.2;
  text-align: center;
  margin-top: 0; }

.modal__message {
  font-weight: normal;
  letter-spacing: -0.03em;
  font-family: 'Cinzel', serif;
  font-size: 0.9375rem;
  margin-bottom: 0.625rem; }

.modal__back-button {
  position: absolute;
  left: 1.25rem;
  top: 1.75rem;
  font-size: 1.25rem;
  cursor: pointer; }

.modal__close {
  font-size: 1.25rem;
  position: absolute;
  top: 0.9375rem;
  right: 0.9375rem;
  cursor: pointer; }

.sharing-modal {
  width: 330px; }
  @media screen and (orientation: landscape) and (max-device-width: 1024px) {
    .sharing-modal {
      display: none; } }
  @media screen and (min-width: 0px) {
    .sharing-modal {
      width: 280px; } }

.sharing-modal__title {
  padding: 0 20px; }

.sharing-modal__image-container {
  margin: 0 auto;
  background-color: white;
  margin-bottom: 1.25rem; }
  @media screen and (min-width: 0px) {
    .sharing-modal__image-container {
      width: 9.375rem; } }
  @media screen and (min-width: 375px) {
    .sharing-modal__image-container {
      width: 12.5rem; } }

.sharing-modal__description {
  font-weight: normal;
  letter-spacing: -0.03em;
  font-family: 'Cinzel', serif;
  color: #2a2a2d;
  font-size: 0.875rem;
  padding: 0.3125rem 0.625rem;
  max-height: 6.25rem;
  overflow: auto; }
  @media screen and (min-width: 0px) {
    .sharing-modal__description {
      max-height: 3.375rem;
      font-size: 0.75rem; } }
  @media screen and (min-width: 375px) {
    .sharing-modal__description {
      max-height: 6.25rem;
      font-size: 0.875rem; } }

.sharing-modal__share-links {
  margin: 0 auto; }
  @media screen and (min-width: 0px) {
    .sharing-modal__share-links {
      max-width: 9.375rem;
      text-align: center; } }
  @media screen and (min-width: 375px) {
    .sharing-modal__share-links {
      max-width: 12.5rem;
      text-align: left; } }

.sharing-modal__share-link {
  font-weight: normal;
  letter-spacing: -0.03em;
  font-family: 'Cinzel', serif;
  font-size: 0.9375rem;
  position: relative;
  padding: 0.625rem 0;
  display: block;
  color: #fff;
  text-decoration: none;
  cursor: pointer; }
  @media screen and (min-width: 0px) {
    .sharing-modal__share-link {
      display: inline-block;
      width: 33%;
      margin-right: -4px; } }
  @media screen and (min-width: 375px) {
    .sharing-modal__share-link {
      display: block;
      width: auto;
      margin-right: 0; } }
  .sharing-modal__share-link:after {
    content: "";
    height: 1px;
    width: 1.5625rem;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: 0; }
    @media screen and (min-width: 0px) {
      .sharing-modal__share-link:after {
        display: none; } }
    @media screen and (min-width: 375px) {
      .sharing-modal__share-link:after {
        display: block; } }
  .sharing-modal__share-link:nth-child(3):after {
    display: none; }

.sharing-modal__share-link__icon {
  font-size: 1.25rem;
  margin-right: 0.3125rem; }

div.atclear {
  display: none; }

@media screen and (min-width: 0px) {
  .sharing-modal__share-link__text {
    display: none; } }

@media screen and (min-width: 375px) {
  .sharing-modal__share-link__text {
    display: inline; } }

.sharing-modal__short-link {
  z-index: 1000;
  overflow: hidden;
  margin: auto; }

.flex-video {
  position: relative;
  padding-top: 1.38889rem;
  padding-bottom: 50%;
  height: 0;
  margin-bottom: 0.88889rem;
  overflow: hidden; }
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

body {
  font-family: serif;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0); }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ290LXRhcGVzdHJ5L2dsb2JhbC5jc3MiLCJzb3VyY2VzIjpbImdvdC10YXBlc3RyeS9nbG9iYWwuc2NzcyIsImdvdC10YXBlc3RyeS91dGlsaXRpZXMvX19pbXBvcnQuc2NzcyIsImdvdC10YXBlc3RyeS91dGlsaXRpZXMvX3Jlc2V0LnNjc3MiLCJnb3QtdGFwZXN0cnkvdXRpbGl0aWVzL19mdW5jdGlvbnMuc2NzcyIsImdvdC10YXBlc3RyeS91dGlsaXRpZXMvX2hlbHBlcnMuc2NzcyIsImdvdC10YXBlc3RyeS92ZW5kb3IvX19pbXBvcnQuc2NzcyIsImdvdC10YXBlc3RyeS92ZW5kb3IvX2ZvdW5kYXRpb24uc2NzcyIsImdvdC10YXBlc3RyeS92YXJpYWJsZXMvX19pbXBvcnQuc2NzcyIsImdvdC10YXBlc3RyeS92YXJpYWJsZXMvX2NvbG91cnMuc2NzcyIsImdvdC10YXBlc3RyeS92YXJpYWJsZXMvX2RpbWVuc2lvbnMuc2NzcyIsImdvdC10YXBlc3RyeS92YXJpYWJsZXMvX3otaW5kZXhlcy5zY3NzIiwiZ290LXRhcGVzdHJ5L21peGlucy9fX2ltcG9ydC5zY3NzIiwiZ290LXRhcGVzdHJ5L21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsImdvdC10YXBlc3RyeS9taXhpbnMvX2ZvbnRzLnNjc3MiLCJnb3QtdGFwZXN0cnkvbWl4aW5zL19zdHlsZXMuc2NzcyIsImdvdC10YXBlc3RyeS9iYXNpY3MvX19pbXBvcnQuc2NzcyIsImdvdC10YXBlc3RyeS9iYXNpY3MvX2JvZHkuc2NzcyIsImdvdC10YXBlc3RyeS9iYXNpY3MvX2J1dHRvbnMuc2NzcyIsImdvdC10YXBlc3RyeS9iYXNpY3MvX3BhcmFncmFwaHMuc2NzcyIsImdvdC10YXBlc3RyeS9iYXNpY3MvX2lucHV0cy5zY3NzIiwiZ290LXRhcGVzdHJ5L2NvbXBvbmVudHMvX19pbXBvcnQuc2NzcyIsImdvdC10YXBlc3RyeS9jb21wb25lbnRzL19hcHAuc2NzcyIsImdvdC10YXBlc3RyeS9jb21wb25lbnRzL19hcHAtaGVhZGVyLnNjc3MiLCJnb3QtdGFwZXN0cnkvY29tcG9uZW50cy9fYXBwLXRhYnMuc2NzcyIsImdvdC10YXBlc3RyeS9jb21wb25lbnRzL19jb29raWUtcGFuZWwuc2NzcyIsImdvdC10YXBlc3RyeS9jb21wb25lbnRzL19kaXNjb3Zlci1zZWN0aW9uLnNjc3MiLCJnb3QtdGFwZXN0cnkvY29tcG9uZW50cy9fZGlzY292ZXItc2NyZWVuLnNjc3MiLCJnb3QtdGFwZXN0cnkvY29tcG9uZW50cy9fZXBpc29kZS1pbmZvLnNjc3MiLCJnb3QtdGFwZXN0cnkvY29tcG9uZW50cy9fZXhwbG9yZS1zY3JlZW4uc2NzcyIsImdvdC10YXBlc3RyeS9jb21wb25lbnRzL19mb290ZXItZHJhd2VyLnNjc3MiLCJnb3QtdGFwZXN0cnkvY29tcG9uZW50cy9fZ3VpZGVkLWV4cGxvcmUtbmF2LnNjc3MiLCJnb3QtdGFwZXN0cnkvY29tcG9uZW50cy9faW50cm8tbG9hZGluZy1zY3JlZW4uc2NzcyIsImdvdC10YXBlc3RyeS9jb21wb25lbnRzL19tYWluLXNjcmVlbnMtY29udGFpbmVyLnNjc3MiLCJnb3QtdGFwZXN0cnkvY29tcG9uZW50cy9fcG9pbnQtb2YtaW50ZXJlc3Qtc2NyZWVuLnNjc3MiLCJnb3QtdGFwZXN0cnkvY29tcG9uZW50cy9fc2V0dGluZ3Mtc2NyZWVuLnNjc3MiLCJnb3QtdGFwZXN0cnkvY29tcG9uZW50cy9fc3Rvcnktc2NyZWVuLnNjc3MiLCJnb3QtdGFwZXN0cnkvY29tcG9uZW50cy9fdGFwZXN0cnktZXhwbG9yZXIuc2NzcyIsImdvdC10YXBlc3RyeS9jb21wb25lbnRzL190YXBlc3RyeS1uYXZpZ2F0b3Iuc2NzcyIsImdvdC10YXBlc3RyeS9jb21wb25lbnRzL19tb2RhbC5zY3NzIiwiZ290LXRhcGVzdHJ5L2NvbXBvbmVudHMvX3NoYXJpbmctbW9kYWwuc2NzcyIsImdvdC10YXBlc3RyeS9jb21wb25lbnRzL19mbGV4LXZpZGVvLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiJElNR19VUkw6ICcvYXNzZXRzL2Rpc3QvaW1hZ2VzL2dvdC10YXBlc3RyeS8nO1xuXG4vLyBVdGlsc1xuQGltcG9ydCBcInV0aWxpdGllcy9fX2ltcG9ydC5zY3NzXCI7XG5cbi8vIFZlbmRvcnNcbkBpbXBvcnQgXCJ2ZW5kb3IvX19pbXBvcnQuc2Nzc1wiO1xuXG4vLyBWYXJpYWJsZXNcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvX19pbXBvcnQuc2Nzc1wiO1xuXG4vLyBNaXhpbnNcbkBpbXBvcnQgXCJtaXhpbnMvX19pbXBvcnQuc2Nzc1wiO1xuXG4vLyBCYXNpY3NcbkBpbXBvcnQgXCJiYXNpY3MvX19pbXBvcnQuc2Nzc1wiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fX2ltcG9ydC5zY3NzXCI7XG5cbmJvZHkge1xuICAgIGZvbnQtZmFtaWx5OiBzZXJpZjtcbiAgICBAaW5jbHVkZSByZW1vdmUtdGFwLWhpZ2hsaWdodDtcbn0iLCJcbkBpbXBvcnQgXCJyZXNldFwiO1xuQGltcG9ydCBcImZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcImhlbHBlcnNcIjsiLCIvKiBodHRwOi8vbWV5ZXJ3ZWIuY29tL2VyaWMvdG9vbHMvY3NzL3Jlc2V0LyBcbiAgIHYyLjAgfCAyMDExMDEyNlxuICAgTGljZW5zZTogbm9uZSAocHVibGljIGRvbWFpbilcbiovXG5cbmh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSxcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSxcbmEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcbmRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCxcbnNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsXG5iLCB1LCBpLCBjZW50ZXIsXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxuZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG50YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbmFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGVtYmVkLCBcbmZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgXG5tZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSxcbnRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbi8qIEhUTUw1IGRpc3BsYXktcm9sZSByZXNldCBmb3Igb2xkZXIgYnJvd3NlcnMgKi9cbmFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsIFxuZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBzZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbmJvZHkge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xufVxub2wsIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxudGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG59IiwiXG5cbi8vLyBDb252ZXJ0IG51bWJlciB0byBwaXhlbCB1bml0XG4vLy8gQGdyb3VwIHV0aWxzXG4vLy8gQHBhcmFtIHtOdW1iZXJ9IFBpeGVsIHNpemVcbkBmdW5jdGlvbiBweCgkbnVtYmVyKSB7XG4gIEByZXR1cm4gI3skbnVtYmVyfXB4XG59XG5cbkBmdW5jdGlvbiByZW0oJHNpemUpIHtcbiAgICAkcmVtU2l6ZTogJHNpemUgLyAxNjtcbiAgICBAcmV0dXJuICN7JHJlbVNpemV9cmVtO1xufSIsIiV2aXN1YWxseWhpZGRlbiB7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLnZpc3VhbGx5aGlkZGVuIHtcbiAgICBAZXh0ZW5kICV2aXN1YWxseWhpZGRlbjtcbn1cbi5jbGVhcmZpeCB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbn1cbiIsIkBpbXBvcnQgXCJfZm91bmRhdGlvbi5zY3NzXCI7IiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuMy4xXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cbi8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi8gfVxuXG4vKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5maWdjYXB0aW9uLFxuZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cztcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovIH1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cbiAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi8gfVxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgICAqL1xuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICAgKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi9cbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovIH1cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00MGVtJmxhcmdlPTY0ZW0meGxhcmdlPTc1ZW0meHhsYXJnZT05MGVtXCI7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnJvdyB7XG4gIG1heC13aWR0aDogNzYuMjVyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnJvdzo6YmVmb3JlLCAucm93OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5yb3c6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAucm93IC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogLTAuODc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC44NzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC44NzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC44NzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjg3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjg3NXJlbTsgfSB9XG4gICAgLnJvdyAucm93LmNvbGxhcHNlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5yb3cuZXhwYW5kZWQge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAgIC5yb3cuZXhwYW5kZWQgLnJvdyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAucm93Om5vdCguZXhwYW5kZWQpIC5yb3cge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuXG4uY29sdW1uLCAuY29sdW1ucyB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC44NzVyZW07XG4gIHBhZGRpbmctbGVmdDogMC44NzVyZW07IH1cbiAgLmNvbHVtbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAuY29sdW1uczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmNvbHVtbi5lbmQ6bGFzdC1jaGlsZDpsYXN0LWNoaWxkLCAuZW5kLmNvbHVtbnM6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uY29sdW1uLnJvdy5yb3csIC5yb3cucm93LmNvbHVtbnMge1xuICBmbG9hdDogbm9uZTsgfVxuXG4ucm93IC5jb2x1bW4ucm93LnJvdywgLnJvdyAucm93LnJvdy5jb2x1bW5zIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5zbWFsbC0xIHtcbiAgd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC1wdWxsLTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC04LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLnNtYWxsLTIge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC0yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXB1c2gtMyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMjUlOyB9XG5cbi5zbWFsbC1wdWxsLTMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0yNSU7IH1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtNCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdWxsLTQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0zMy4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uc21hbGwtNSB7XG4gIHdpZHRoOiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtNSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC00MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtNiB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXB1c2gtNiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNTAlOyB9XG5cbi5zbWFsbC1wdWxsLTYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC01MCU7IH1cblxuLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC1wdWxsLTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC01OC4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uc21hbGwtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtOCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTgge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC02Ni42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtOSB7XG4gIHdpZHRoOiA3NSU7IH1cblxuLnNtYWxsLXB1c2gtOSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNzUlOyB9XG5cbi5zbWFsbC1wdWxsLTkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC03NSU7IH1cblxuLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTEwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtMTAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC04My4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTExIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtMTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC05MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLTEyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTEgPiAuY29sdW1uLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC0yID4gLmNvbHVtbiwgLnNtYWxsLXVwLTIgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC0zID4gLmNvbHVtbiwgLnNtYWxsLXVwLTMgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC00ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTQgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC01ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTUgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMjAlOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC02ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTYgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbC11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC03ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTcgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5zbWFsbC11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC04ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTggPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTIuNSU7IH1cbiAgLnNtYWxsLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnNtYWxsLWNvbGxhcHNlIC5yb3cge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5leHBhbmRlZC5yb3cgLnNtYWxsLWNvbGxhcHNlLnJvdyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1yaWdodDogMC44NzVyZW07XG4gIHBhZGRpbmctbGVmdDogMC44NzVyZW07IH1cblxuLnNtYWxsLWNlbnRlcmVkIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAuc21hbGwtY2VudGVyZWQsIC5zbWFsbC1jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4uc21hbGwtdW5jZW50ZXJlZCxcbi5zbWFsbC1wdXNoLTAsXG4uc21hbGwtcHVsbC0wIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tcHVzaC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMjUlOyB9XG4gIC5tZWRpdW0tcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tcHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlOyB9XG4gIC5tZWRpdW0tcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tcHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlOyB9XG4gIC5tZWRpdW0tcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTIgPiAuY29sdW1uLCAubWVkaXVtLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTMgPiAuY29sdW1uLCAubWVkaXVtLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAubWVkaXVtLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTQgPiAuY29sdW1uLCAubWVkaXVtLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTUgPiAuY29sdW1uLCAubWVkaXVtLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTYgPiAuY29sdW1uLCAubWVkaXVtLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAubWVkaXVtLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTcgPiAuY29sdW1uLCAubWVkaXVtLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTggPiAuY29sdW1uLCAubWVkaXVtLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5tZWRpdW0tY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5leHBhbmRlZC5yb3cgLm1lZGl1bS1jb2xsYXBzZS5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC44NzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjg3NXJlbTsgfVxuICAubWVkaXVtLWNlbnRlcmVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAubWVkaXVtLWNlbnRlcmVkLCAubWVkaXVtLWNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLXVuY2VudGVyZWQsXG4gIC5tZWRpdW0tcHVzaC0wLFxuICAubWVkaXVtLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTgzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC5sYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0yID4gLmNvbHVtbiwgLmxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC5sYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY29sdW1uLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC5sYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY29sdW1uLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC04ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubGFyZ2UtY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5leHBhbmRlZC5yb3cgLmxhcmdlLWNvbGxhcHNlLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC44NzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjg3NXJlbTsgfVxuICAubGFyZ2UtY2VudGVyZWQge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC5sYXJnZS1jZW50ZXJlZCwgLmxhcmdlLWNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtdW5jZW50ZXJlZCxcbiAgLmxhcmdlLXB1c2gtMCxcbiAgLmxhcmdlLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4uY29sdW1uLWJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTsgfVxuICAuY29sdW1uLWJsb2NrID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG5cbi5mYWRlLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zbG93IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbi5zaGFrZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZS03OyB9XG5cbkBrZXlmcmFtZXMgc2hha2UtNyB7XG4gIDAlLCAxMCUsIDIwJSwgMzAlLCA0MCUsIDUwJSwgNjAlLCA3MCUsIDgwJSwgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNyUpOyB9XG4gIDUlLCAxNSUsIDI1JSwgMzUlLCA0NSUsIDU1JSwgNjUlLCA3NSUsIDg1JSwgOTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTclKTsgfSB9XG5cbi5zcGluLWN3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xdHVybik7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc3Bpbi1jY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMXR1cm4pOyB9IH1cblxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB3aWdnbGUtN2RlZzsgfVxuXG5Aa2V5ZnJhbWVzIHdpZ2dsZS03ZGVnIHtcbiAgNDAlLCA1MCUsIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoN2RlZyk7IH1cbiAgMzUlLCA0NSUsIDU1JSwgNjUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtN2RlZyk7IH1cbiAgMCUsIDMwJSwgNzAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zaGFrZSxcbi5zcGluLWN3LFxuLnNwaW4tY2N3LFxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7IH1cblxuLmluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuLnNsb3cge1xuICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICBhbmltYXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cbiIsIlxuQGltcG9ydCBcImNvbG91cnNcIjtcbkBpbXBvcnQgXCJkaW1lbnNpb25zXCI7XG5AaW1wb3J0IFwiei1pbmRleGVzXCI7IiwiLy8vIENvbG91ciB2YXJpYWJsZXMgdXNlZCBpbiB0aGUgb3JpZ2luYWwgYnVpbGRcbi8vLyBAZ3JvdXAgY29sb3JzXG4vLy8gQHR5cGUgY29sb3Jcbi8vLyBDb2xvdXJzIGFyZSBuYW1lZCBoZXJlOiBodHRwOi8vY2hpci5hZy9wcm9qZWN0cy9uYW1lLXRoYXQtY29sb3IvXG5cbiRjb2xvcnM6IChcbiAgXCJ3aGl0ZVwiOiAjZmZmLFxuICBcImJhY2tncm91bmQtZ3JleVwiOiAjZjRmNGYzLFxuICBcImRhcmtcIjogIzMyMzk0NSxcbiAgXCJyZWNlc3MtZ3JleVwiOiAjYzFjNmM4LFxuICBcInN0cm9uZy1ncmV5XCI6ICM1MzUzNWEsXG4gIFwiZGFyay1ncmV5XCI6ICM0MDQwNDQsXG4gIFwiYmxhY2tcIjogIzJhMmEyZFxuKTtcblxuXG4vLyBDb2xvdXIgbW9kaWZpZXJzXG4vLyBcbkBlYWNoICRpdGVtLCAkYmdjb2xvdXIgaW4gJGNvbG9ycyB7XG4gIC50ZXh0LS0jeyRpdGVtfSB7XG4gICAgY29sb3I6ICRiZ2NvbG91cjtcbiAgfVxufVxuXG5AZWFjaCAkaXRlbSwgJGJnY29sb3VyIGluICRjb2xvcnMge1xuICAuYmctLSN7JGl0ZW19IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdjb2xvdXI7XG4gIH1cbiAgLmJnLS0jeyRpdGVtfS0tZGFya2VuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJnY29sb3VyLCAxMCUpO1xuICB9XG59XG4iLCJcblxuLy8vIENvbHVtbnMgLSBudW1iZXIgb2YgY29sdW1ucyB0byB1c2UgZm9yIHRoZSBncmlkXG4vLy8gQGdyb3VwIGRpbWVuc2lvbnNcbi8vLyBAdHlwZSBkaW1lbnNpb25cbiRjb2x1bW5zOiAxMjtcblxuLy8vIEd1dHRlciAtIGRlc2t0b3AgZ3V0dGVyIHdpZHRoXG4vLy8gQGdyb3VwIGRpbWVuc2lvbnNcbi8vLyBAdHlwZSBkaW1lbnNpb25cbiRndXR0ZXJMYXJnZURlc2t0b3A6IDIuOHJlbTtcblxuLy8vIEd1dHRlciBEZXNrdG9wIC0gZGVza3RvcCBndXR0ZXIgd2lkdGhcbi8vLyBAZ3JvdXAgZGltZW5zaW9uc1xuLy8vIEB0eXBlIGRpbWVuc2lvblxuJGd1dHRlckRlc2t0b3A6IDIuOHJlbTtcblxuLy8vIEd1dHRlciBTbWFsbCBEZXNrdG9wIC0gc21hbGwgZGVza3RvcCBndXR0ZXIgd2lkdGhcbi8vLyBAZ3JvdXAgZGltZW5zaW9uc1xuLy8vIEB0eXBlIGRpbWVuc2lvblxuJGd1dHRlclNtYWxsRGVza3RvcDogMi44cmVtO1xuXG4vLy8gR3V0dGVyIFRhYmxldCAtIHRhYmxldCBndXR0ZXIgd2lkdGhcbi8vLyBAZ3JvdXAgZGltZW5zaW9uc1xuLy8vIEB0eXBlIGRpbWVuc2lvblxuJGd1dHRlclRhYmxldDogMS42cmVtO1xuXG4vLy8gR3V0dGVyIE1vYmlsZSAtIG1vYmlsZSBndXR0ZXIgd2lkdGhcbi8vLyBAZ3JvdXAgZGltZW5zaW9uc1xuLy8vIEB0eXBlIGRpbWVuc2lvblxuJGd1dHRlck1vYmlsZTogMS4ycmVtO1xuXG4vLy8gUmVhZGluZyBXaWR0aCAtIHJlYWRpbmcgd2lkdGhcbi8vLyBAZ3JvdXAgZGltZW5zaW9uc1xuLy8vIEB0eXBlIGRpbWVuc2lvblxuJHJlYWRpbmdXaWR0aDogNTcuOHJlbSArICRndXR0ZXJMYXJnZURlc2t0b3AvMjtcblxuLy8vIEJvZHkgV2lkdGggLSBib2R5IHdpZHRoXG4vLy8gQGdyb3VwIGRpbWVuc2lvbnNcbi8vLyBAdHlwZSBkaW1lbnNpb25cbiRib2R5V2lkdGg6IDEwOC4wcmVtO1xuXG5cbi8vLyBTcGFjZXIgc21hbGwgKHZlcnRpY2FsIHNwYWNpbmcgLSB1c2luZyBtYXJnaW4tYm90dG9tKVxuLy8vIEBncm91cCBkaW1lbnNpb25zXG4vLy8gQHR5cGUgZGltZW5zaW9uXG4kc3BhY2VyLXM6IDMuMHJlbTtcblxuLy8vIFNwYWNlciBtZWRpdW0gKHZlcnRpY2FsIHNwYWNpbmcgLSB1c2luZyBtYXJnaW4tYm90dG9tKVxuLy8vIEBncm91cCBkaW1lbnNpb25zXG4vLy8gQHR5cGUgZGltZW5zaW9uXG4kc3BhY2VyLW06IDQuMHJlbTtcblxuLy8vIFNwYWNlciBsYXJnZSAodmVydGljYWwgc3BhY2luZyAtIHVzaW5nIG1hcmdpbi1ib3R0b20pXG4vLy8gQGdyb3VwIGRpbWVuc2lvbnNcbi8vLyBAdHlwZSBkaW1lbnNpb25cbiRzcGFjZXItbDogOC4wcmVtO1xuXG4vLy8gU3BhY2VyIGV4dHJhIGxhcmdlICh2ZXJ0aWNhbCBzcGFjaW5nIC0gdXNpbmcgbWFyZ2luLWJvdHRvbSlcbi8vLyBAZ3JvdXAgZGltZW5zaW9uc1xuLy8vIEB0eXBlIGRpbWVuc2lvblxuJHNwYWNlci14bDogMTYuMHJlbTtcblxuXG5cbi8vLyBwYWRkaW5nIHNtYWxsICh2ZXJ0aWNhbCBzcGFjaW5nIC0gdXNpbmcgcGFkZGluZy10b3ApXG4vLy8gQGdyb3VwIGRpbWVuc2lvbnNcbi8vLyBAdHlwZSBkaW1lbnNpb25cbiRwYWRkaW5nLXM6IDMuNXJlbTtcblxuLy8vIHBhZGRpbmcgbWVkaXVtICh2ZXJ0aWNhbCBzcGFjaW5nIC0gdXNpbmcgcGFkZGluZy10b3ApXG4vLy8gQGdyb3VwIGRpbWVuc2lvbnNcbi8vLyBAdHlwZSBkaW1lbnNpb25cbiRwYWRkaW5nLW06IDUuNXJlbTtcblxuLy8vIHBhZGRpbmcgbGFyZ2UgKHZlcnRpY2FsIHNwYWNpbmcgLSB1c2luZyBwYWRkaW5nLXRvcClcbi8vLyBAZ3JvdXAgZGltZW5zaW9uc1xuLy8vIEB0eXBlIGRpbWVuc2lvblxuJHBhZGRpbmctbDogMTEuMHJlbTtcblxuXG4vLy8gQmFzZSBmb250IHNpemUgLSBzcGFjaW5nIGFuZCB3aWR0aHMgZGVmaW5lZCBpbiBSRU0uIFxuLy8vIFVzZSB0aGlzIGFzIGJhc2UsIGFsbCBSRU0gdW5pdHMgYXJlIHRoaXMgZGl2aWRlZCBieSAxMCAtIGVnIDEuMnJlbSA9IDEycHguXG4vLy8gXG4vLy8gQGdyb3VwIHVuaXRzXG4vLy8gQHR5cGUgdW5pdFxuJGZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHg7XG5cbi8vLyBCYXNlIGxpbmUgaGVpZ2h0XG4vLy8gQGdyb3VwIHVuaXRzXG4vLy8gQHR5cGUgdW5pdFxuJGxpbmUtaGVpZ2h0LWJvZHk6ICAgICAgICAgICAgICAgICAgICAgIDEuNTtcblxuLy8vIEhlYWRpbmcgbGluZSBoZWlnaHRcbi8vLyBAZ3JvdXAgdW5pdHNcbi8vLyBAdHlwZSB1bml0XG4kbGluZS1oZWlnaHQtaGVhZGluZzogICAgICAgICAgICAgICAgICAgMTtcblxuXG4vLy8gQm90dG9tIG5hdiBzaXplXG4kYXBwLXRhYnMtaGVpZ2h0OiA3MHB4O1xuJGFwcC10YWJzLWRlc2t0b3AtaGVpZ2h0OiA4MHB4O1xuXG4kdGFwZXN0cnktbmF2aWdhdG9yLWhlaWdodDogNTBweDtcbiR0YXBlc3RyeS1uYXZpZ2F0b3ItZGVza3RvcC1oZWlnaHQ6IDcwcHg7XG5cbiRlcC1kcmF3ZXItaGVpZ2h0OiA3M3B4O1xuJGVwLWRyYXdlci1kZXNrdG9wLWhlaWdodDogODNweDtcblxuJGd1aWRlZC1uYXYtaGVpZ2h0OiA4MHB4O1xuJGd1aWRlZC1uYXYtZGVza3RvcC1oZWlnaHQ6IDgwcHg7XG5cbiRndWlkZWQtYm90dG9tLW9mZnNldDogMTVweDtcbiRndWlkZWQtYm90dG9tLWRlc2t0b3Atb2Zmc2V0OiAxMHB4O1xuXG4kbWF4LWRlc2t0b3AtYm9keS13aWR0aDogNjAwcHg7IiwiJHotaW5kZXg6IChcbiAgICBcImd1aWRlZC1leHBsb3JlLW5hdlwiOiAxLFxuXG4gICAgXCJkaXNjb3Zlci1zY3JlZW5cIjogMyxcbiAgICBcInNldHRpbmdzLXNjcmVlblwiOiAzLFxuICAgIFwic3Rvcnktc2NyZWVuXCI6IDMsXG5cbiAgICBcImFwcC1oZWFkZXJcIjogNCxcbiAgICBcImFwcC10YWJzXCI6IDQsXG5cbiAgICBcImludHJvLWxvYWRpbmctc2NyZWVuXCI6IDUsXG4gICAgXCJwb2ludC1vZi1pbnRlcmVzdC1zY3JlZW5cIjogNSxcblxuICAgIFwiY29va2llLXBhbmVsXCI6IDZcbik7IiwiXG5AaW1wb3J0IFwiYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCJmb250c1wiO1xuQGltcG9ydCBcInN0eWxlc1wiOyIsIi8vIGJyZWFrcG9pbnRzXG5cbkBtaXhpbiBicCgkcG9pbnQpIHtcbiAgICBAaWYgJHBvaW50ID09IGxhcmdlLWRlc2t0b3Age1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHBvaW50ID09IGRlc2t0b3Age1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHBvaW50ID09IHNtYWxsLWRlc2t0b3Age1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gdGFibGV0IHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHBvaW50ID09IG1vYmlsZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM3NXB4KSB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwb2ludCA9PSBzbWFsbC1tb2JpbGUge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHBvaW50ID09IHJldGluYSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkgXG4gICAgICAgIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHBvaW50ID09IGxhbmRzY2FwZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDEwMjRweClcbiAgICAgICAgeyBAY29udGVudDsgfVxuICAgIH1cbn1cblxuQG1peGluIHZicCgkcG9pbnQpIHtcbiAgICBAaWYgJHBvaW50ID09IGxhcmdlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi1oZWlnaHQ6IDkwMHB4KSB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwb2ludCA9PSBtZWRpdW0ge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogOTAwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHBvaW50ID09IHNtYWxsIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDc2OHB4KSB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwb2ludCA9PSB4LXNtYWxsIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDU3MHB4KSB7IEBjb250ZW50OyB9XG4gICAgfVxufSIsIlxuQGltcG9ydCB1cmwoJy8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1DaW56ZWw6NDAwLDcwMCcpO1xuQGltcG9ydCB1cmwoJy8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1TcGVjdHJhbDozMDAsNDAwJyk7XG5cblxuLy8vIEhlYWRpbmcgRm9udCBtaXhpblxuLy8vIEBncm91cCBmb250c1xuLy8vIEBwYXJhbSB7c3RyaW5nIHwgJ3JlZ3VsYXInfSAkdHlwZSAtIGxpZ2h0IHwgbWVkaXVtIFxuXG5AbWl4aW4gZm9udEhlYWRpbmcoJHR5cGU6ICdub3JtYWwnKXtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gIGZvbnQtZmFtaWx5OiAnQ2luemVsJywgc2VyaWY7XG5cbiAgQGlmICR0eXBlID09ICdib2xkJyB7XG4gICAgZm9udC1mYW1pbHk6ICdDaW56ZWwnLCBzZXJpZjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsZXR0ZXItc3BhY2luZzogMGVtO1xuICB9XG59XG5cbkBtaXhpbiBmb250UGFyYWdyYXBoKCkge1xuICBmb250LWZhbWlseTogJ1NwZWN0cmFsJywgc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiByZW0oMjIpO1xuICBmb250LXNpemU6IHJlbSgxNSk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IFxufSIsIkBtaXhpbiBib3gtc2hhZG93KCRobGVuZ3RoOiAwLCAkdmxlbmd0aDogNHB4LCAkYmx1cjogMTBweCwgJHNwcmVhZDogMCwgJGNvbG9yOiByZ2JhKDAsMCwwLDAuMTgpKSB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAkaGxlbmd0aCAkdmxlbmd0aCAkYmx1ciAkc3ByZWFkICRjb2xvcjtcbiAgICAtbW96LWJveC1zaGFkb3c6ICRobGVuZ3RoICR2bGVuZ3RoICRibHVyICRzcHJlYWQgJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRobGVuZ3RoICR2bGVuZ3RoICRibHVyICRzcHJlYWQgJGNvbG9yO1xufVxuXG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6MnB4KSB7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xufVxuXG4uYm94LXNoYWRvdy0tZnVsbCB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoKTtcbn1cblxuLmJvcmRlci10b3AtLWdyZXkge1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDJweCBtYXAtZ2V0KCRjb2xvcnMsIFwiYmFja2dyb3VuZC1ncmV5XCIpO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbkBtaXhpbiByZW1vdmUtdGFwLWhpZ2hsaWdodCB7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsgXG59IiwiQGltcG9ydCBcImJvZHlcIjtcbkBpbXBvcnQgXCJidXR0b25zXCI7XG5AaW1wb3J0IFwicGFyYWdyYXBoc1wiO1xuQGltcG9ydCBcImlucHV0c1wiOyIsImJvZHksaHRtbCxib2R5ID4gZm9ybSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuYm9keSA+IGlmcmFtZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn0iLCJcbi8vLyBCdXR0b24gXG4vLy8gQGdyb3VwIGVsZW1zIFxuLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07IC8vICgxN3B4IC8gMTZweClcbiAgICBsaW5lLWhlaWdodDogMi4xMjVyZW07IC8vICgzNHB4IC8gMTZweClcbiAgICBwYWRkaW5nOiAwIDAuNnJlbSAwIDAuM3JlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyOiBzb2xpZCAycHggdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgZm9udEhlYWRpbmcoJ21lZGl1bScpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICA+IFtjbGFzc149XCJpY29uLVwiXSwgXG4gICAgPiBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgICAgICAgLy9pY29uIHN0eWxlcyBoZXJlXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBpbml0aWFsO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gICAgJi5pcy1mb2N1cyxcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkO1xuICAgICAgICBvdXRsaW5lLWNvbG9yOiAjMDA4YTRkO1xuICAgICAgICBvdXRsaW5lLXN0eWxlOiBvdXRzZXQ7XG4gICAgfVxufVxuIiwiLnAtLXNtYWxsLFxuLnAzIHtcbiAgICBAaW5jbHVkZSBmb250SGVhZGluZyhub3JtYWwpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbn0iLCJcbi5pbnB1dCwgXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJ0ZXh0YXJlYVwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbnRleHRhcmVhIHtcbiAgICBib3JkZXI6IHJlbSgxKSBzb2xpZCBtYXAtZ2V0KCRjb2xvcnMsICdyZWNlc3MtZ3JleScpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgJ2RhcmstZ3JleScpO1xuICAgIHBhZGRpbmc6IHJlbSgxMCkgcmVtKDE1KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIEBpbmNsdWRlIGZvbnRIZWFkaW5nKGJvbGQpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMCk7XG5cbiAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIGZpeCBmb3IgU2FmYXJpIGNyb3BwaW5nIGVycm9yIHN0YXRlIGJvcmRlciBvbiBpbnZhbGlkIGZpZWxkc1xuICAgIFxuICAgICYuaXMtZm9jdXNlZCxcbiAgICAmOmZvY3VzIHtcblx0ICAgIG91dGxpbmU6IHNvbGlkIHJlbSgyKSBtYXAtZ2V0KCRjb2xvcnMsIFwicG9zaXRpdmUtYmx1ZVwiKSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbnRleHRhcmVhIHtcbiAgICByZXNpemU6IG5vbmU7XG4gICAgaGVpZ2h0OiAxNC41cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBhdXRvOyBcbn1cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgd2lkdGg6IHJlbSgzMCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBsZWZ0OiAtcmVtKDEwKTtcbiAgICBoZWlnaHQ6IHJlbSgxNCk7XG59IiwiQGltcG9ydCBcImFwcFwiO1xuQGltcG9ydCBcImFwcC1oZWFkZXJcIjtcbkBpbXBvcnQgXCJhcHAtdGFic1wiO1xuQGltcG9ydCBcImNvb2tpZS1wYW5lbFwiO1xuQGltcG9ydCBcImRpc2NvdmVyLXNlY3Rpb25cIjtcbkBpbXBvcnQgXCJkaXNjb3Zlci1zY3JlZW5cIjtcbkBpbXBvcnQgXCJlcGlzb2RlLWluZm9cIjtcbkBpbXBvcnQgXCJleHBsb3JlLXNjcmVlblwiO1xuQGltcG9ydCBcImZvb3Rlci1kcmF3ZXJcIjtcbkBpbXBvcnQgXCJndWlkZWQtZXhwbG9yZS1uYXZcIjtcbkBpbXBvcnQgXCJpbnRyby1sb2FkaW5nLXNjcmVlblwiO1xuQGltcG9ydCBcIm1haW4tc2NyZWVucy1jb250YWluZXJcIjtcbkBpbXBvcnQgXCJwb2ludC1vZi1pbnRlcmVzdC1zY3JlZW5cIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy1zY3JlZW5cIjtcbkBpbXBvcnQgXCJzdG9yeS1zY3JlZW5cIjtcbkBpbXBvcnQgXCJ0YXBlc3RyeS1leHBsb3JlclwiO1xuQGltcG9ydCBcInRhcGVzdHJ5LW5hdmlnYXRvclwiO1xuQGltcG9ydCBcIm1vZGFsXCI7XG5AaW1wb3J0IFwic2hhcmluZy1tb2RhbFwiO1xuQGltcG9ydCBcImZsZXgtdmlkZW9cIjsiLCIuYXBwIHtcbiAgICBAaW5jbHVkZSBmb250UGFyYWdyYXBoO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnYmctYXBwLnBuZycpO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgJi5iYWNrZ3JvdW5kLWxpZ2h0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnYmctYXBwLWxpZ2h0ZXIucG5nJyk7XG4gICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsLWRlc2t0b3ApIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdiZy1hcHAucG5nJyk7XG4gICAgICAgIH1cbiAgICB9ICAgIFxufSIsIi5hcHAtaGVhZGVyX19zcGFjZXIge1xuICAgIGhlaWdodDogNTBweFxufVxuLmFwcC1oZWFkZXIge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDowO1xuICAgIHJpZ2h0OjA7XG4gICAgei1pbmRleDogbWFwLWdldCgkei1pbmRleCwgJ2FwcC1oZWFkZXInKTtcbiAgICB0b3A6IDA7XG5cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnVG9wX05hdl8wMS5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxODNweCA1OHB4O1xuICAgIEBpbmNsdWRlIGJwKHJldGluYSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnVG9wX05hdl8wMUAyeC5wbmcnKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnAobGFuZHNjYXBlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG4uYXBwLWhlYWRlcl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgZm9udEhlYWRpbmcoJ21lZGl1bScpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbSg2MCk7XG4gICAgaGVpZ2h0OiA1N3B4O1xuICAgIG1hcmdpbjogMDtcbn1cbi5hcHAtaGVhZGVyX19idG4tc2V0dGluZ3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIFwid2hpdGVcIik7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICAuaWNvbiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjQpO1xuICAgICAgICBmb250LXNpemU6IHJlbSg1Nik7XG4gICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsLWRlc2t0b3ApIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA4cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSg4Nik7XG4gICAgICAgIH1cbiAgICB9XG59XG4uYXBwLWhlYWRlcl9fYnRuLWF1ZGlvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLCBcIndoaXRlXCIpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgIC5pY29uLXNvdW5kLW9mZixcbiAgICAuaWNvbi1zb3VuZC1vbiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1MXB4O1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNyk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJwKGxhbmRzY2FwZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLmFwcC1sb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgbWFyZ2luOiAxNHB4IGF1dG8gMDtcbiAgICB3aWR0aDogMTg1cHg7XG5cbiAgICAvKiBFTiBQTkcgKi9cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnbG9nby1lbi5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxODVweCAyNnB4O1xuXG4gICAgJi5kZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdsb2dvLWRlLnN2ZycpO1xuICAgIH1cbiAgICAmLmVzIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2xvZ28tZXMuc3ZnJyk7XG4gICAgfVxuICAgICYuZnIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnbG9nby1mci5zdmcnKTtcbiAgICB9XG4gICAgJi5pdCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdsb2dvLWl0LnN2ZycpO1xuICAgIH1cbiAgICAmLm5sIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2xvZ28tbmwuc3ZnJyk7XG4gICAgfVxufSIsIi5hcHAtdGFicyB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAkYXBwLXRhYnMtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIGJwKHNtYWxsLWRlc2t0b3ApIHtcbiAgICAgICAgaGVpZ2h0OiAkYXBwLXRhYnMtZGVza3RvcC1oZWlnaHQ7XG4gICAgfVxuICAgIGZvbnQtZmFtaWx5OiAnQ2luemVsJywgc2VyaWY7XG4gICAgei1pbmRleDogbWFwLWdldCgkei1pbmRleCwgJ2FwcC10YWJzJyk7XG5cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnYmctdGFicy10b3AucG5nJyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyNDVweCA2NHB4O1xuICAgIEBpbmNsdWRlIGJwKHJldGluYSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnYmctdGFicy10b3BAMngucG5nJyk7ICAgICAgICBcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChzbWFsbC1kZXNrdG9wKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJwKGxhbmRzY2FwZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbi5hcHAtdGFic19fY29uc3RyYWluZXIge1xuICAgIEBpbmNsdWRlIGJwKHNtYWxsLWRlc2t0b3ApIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogJG1heC1kZXNrdG9wLWJvZHktd2lkdGg7XG4gICAgfVxufVxuLmFwcC5iYWNrZ3JvdW5kLWxpZ2h0ZXIgLmFwcC10YWJzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnYmctdGFicy10b3AucG5nJyksIHVybCgkSU1HX1VSTCArICdlcGlzb2RlLWRyYXdlci10b3AucG5nJyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14LCByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyLCB0b3AgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjQ1cHggNjRweCwgMzc1cHggMTA2cHg7XG4gICAgQGluY2x1ZGUgYnAocmV0aW5hKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdiZy10YWJzLXRvcEAyeC5wbmcnKSwgdXJsKCRJTUdfVVJMICsgJ2VwaXNvZGUtZHJhd2VyLXRvcEAyeC5wbmcnKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnAoc21hbGwtZGVza3RvcCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnZXBpc29kZS1kcmF3ZXItdG9wLnBuZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7ICAgICAgICBcbiAgICB9XG59XG4uYXBwLXRhYnNfX3RhYiB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7ICAgIFxuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAzMyU7XG4gICAgcGFkZGluZzogMTNweCAwcHggMTNweDtcbiAgICBAaW5jbHVkZSBicChzbWFsbC1kZXNrdG9wKSB7XG4gICAgICAgIHBhZGRpbmc6IDEzcHggMHB4O1xuICAgIH1cbn1cblxuLmFwcC10YWJzX190YWI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC0xcHg7XG4gICAgdG9wOiAyMnB4O1xuICAgIGJvdHRvbTogMjJweDtcbiAgICBAaW5jbHVkZSBicChzbWFsbC1kZXNrdG9wKSB7XG4gICAgICAgIHRvcDogMjJweDtcbiAgICAgICAgYm90dG9tOiAyMnB4O1xuICAgIH1cbn1cbi5hcHAtdGFic19fdGFiOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7XG59XG4uYXBwLXRhYnNfX3RhYl9faWNvbiB7XG4gICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgICBvcGFjaXR5OiAwLjI3O1xuICAgIGxpbmUtaGVpZ2h0OiByZW0oMTYpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgQGluY2x1ZGUgYnAoc21hbGwtZGVza3RvcCkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuICAgIC5hcHAtdGFic19fdGFiLS1hY3RpdmUgJiB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuLmFwcC10YWJzX190YWJfX3RleHQge1xuICAgIGxpbmUtaGVpZ2h0OiByZW0oMTMpO1xuICAgIHBhZGRpbmctbGVmdDogNHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIEBpbmNsdWRlIGJwKHNtYWxsLWRlc2t0b3ApIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgxNCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTFweDtcbiAgICB9XG4gICAgb3BhY2l0eTogMC4yNztcbiAgICAuYXBwLXRhYnNfX3RhYi0tYWN0aXZlICYge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH0gICAgXG59IiwiLmNvb2tpZS1wYW5lbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICNkZGRkZGQ7XG4gICAgYmFja2dyb3VuZC1jb2xvciA6IG1hcC1nZXQoJGNvbG9ycywgJ2RhcmsnKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnYmctYXBwLnBuZycpO1xuXG4gICAgZGl2IHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm90dG9tOiAtMTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBmb250SGVhZGluZyhub3JtYWwpO1xuXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdiZy1jb29raWUtYmFubmVyLnBuZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBsZWZ0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDM1OHB4IDc0cHg7XG4gICAgICAgIEBpbmNsdWRlIGJwKHJldGluYSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2JnLWNvb2tpZS1iYW5uZXJAMngucG5nJyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB9XG4gICAgfSBcbiAgICBwIHsgXG4gICAgICAgIG1hcmdpbjowIGF1dG8gIHJlbSgyMCk7XG4gICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgICAgIEBpbmNsdWRlIGJwKG1vYmlsZSkge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGEge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiB0b3A7XG4gICAgICAgIHdpZHRoOiAzMDJweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTApO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICAgIC5jb29raWVfc3VibWl0IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfSBcbiAgICAvLy5jb29raWUtcGFuZWxcbiAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIC5jb29raWVfc3VibWl0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLy5jb29raWUtcGFuZWxcbiAgICBAaW5jbHVkZSBicChtb2JpbGUpIHtcbiAgICAgICAgZGl2IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNvb2tpZS1wYW5lbF9fd3JhcCAge1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtODAwcHgpO1xuICAgIHJpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xuICAgIHotaW5kZXg6IG1hcC1nZXQoJHotaW5kZXgsICdjb29raWUtcGFuZWwnKTtcbiAgICBcbiAgICAuY29va2llLXBhbmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4uY29va2llLXBhbmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5cbiIsIi5kaXNjb3Zlci1zZWN0aW9uIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdkaXNjb3Zlci9ibGFuay10YXBlc3RyeS5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDM3NXB4IDE2MHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG4gICAgQGluY2x1ZGUgYnAocmV0aW5hKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdkaXNjb3Zlci9ibGFuay10YXBlc3RyeUAyeC5wbmcnKTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7ICAgICBcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMjBweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDsgXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdkaXNjb3Zlci9iZy1kaXNjb3Zlci1zZWN0aW9uLnBuZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDM3NXB4IDE1MHB4O1xuICAgICAgICBAaW5jbHVkZSBicChyZXRpbmEpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdkaXNjb3Zlci9iZy1kaXNjb3Zlci1zZWN0aW9uQDJ4LnBuZycpO1xuICAgICAgICB9ICAgIFxuICAgICAgICBcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKHNtYWxsLWRlc2t0b3ApIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkbWF4LWRlc2t0b3AtYm9keS13aWR0aDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCA3cHggNHB4IHJnYmEoMCwwLDAsMC43KVxuICAgIH1cbn1cbi5kaXNjb3Zlci1zZWN0aW9uX190aXRsZSB7XG4gICAgQGluY2x1ZGUgZm9udEhlYWRpbmcobm9ybWFsKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGxpbmUtaGVpZ2h0OiByZW0oMjApO1xuICAgIHBhZGRpbmc6IHJlbSgzMCkgMDtcblxuICAgIEBpbmNsdWRlIGJwKHNtYWxsLWRlc2t0b3ApIHtcbiAgICAgICAgcGFkZGluZzogcmVtKDQ1KSAwO1xuICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgfVxufVxuLmRpc2NvdmVyLXNlY3Rpb25fX3Njcm9sbGJhciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG59XG4uZGlzY292ZXItc2VjdGlvbl9fY29sbGVjdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcGFkZGluZzogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTpyZW0oMjApO1xufVxuLmRpc2NvdmVyLXNlY3Rpb25fX2NvbGxlY3Rpb24taXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIGZvbnRIZWFkaW5nKGJvbGQpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDIxKTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogcmVtKDIwKSAwO1xufVxuLmRpc2NvdmVyLXNlY3Rpb25fX2NvbGxlY3Rpb24tbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEzMHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZzogMCAwIHJlbSgxMCkgMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDNweCByZ2JhKDE0MSwgODksIDUsIDAuOCk7XG4gICAgXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICB3aWR0aDogcmVtKDI1KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxufVxuLmRpc2NvdmVyLXNlY3Rpb25fX3N1Yi1jb2xsZWN0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDUwKTtcbn1cbi5kaXNjb3Zlci1zZWN0aW9uX19zZWNvbmQtY2hpbGRyZW4ge1xuICAgIEBpbmNsdWRlIGZvbnRIZWFkaW5nKGJvbGQpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nOiByZW0oMjApIDA7XG59XG5cbi5kaXNjb3Zlci1zZWN0aW9uX19pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMzFweCAzM3B4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTJweDtcbiAgICBAaW5jbHVkZSBicChzbWFsbC1kZXNrdG9wKSB7XG4gICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzVweCAzNnB4O1xuICAgIH1cbn1cbi5kaXNjb3Zlci1zZWN0aW9uX19pY29uLS1jaGFyYWN0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdpY29uLWNoYXJhY3Rlci5wbmcnKTtcbiAgICBAaW5jbHVkZSBicChyZXRpbmEpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2ljb24tY2hhcmFjdGVyQDJ4LnBuZycpO1xuICAgIH1cbn1cbi5kaXNjb3Zlci1zZWN0aW9uX19pY29uLS1nZW9ncmFwaHkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdpY29uLWxvY2F0aW9ucy5wbmcnKTtcbiAgICBAaW5jbHVkZSBicChyZXRpbmEpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2ljb24tbG9jYXRpb25zQDJ4LnBuZycpO1xuICAgIH1cbn1cbi5kaXNjb3Zlci1zZWN0aW9uX19pY29uLS1rZXliYXR0bGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdpY29uLWJhdHRsZXMucG5nJyk7XG4gICAgQGluY2x1ZGUgYnAocmV0aW5hKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdpY29uLWJhdHRsZXNAMngucG5nJyk7XG4gICAgfVxufVxuLmRpc2NvdmVyLXNlY3Rpb25fX2ljb24tLXVudGltZWx5ZW5kIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnaWNvbi1kZWF0aC5wbmcnKTtcbiAgICBAaW5jbHVkZSBicChyZXRpbmEpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2ljb24tZGVhdGhAMngucG5nJyk7XG4gICAgfVxufVxuLmRpc2NvdmVyLXNlY3Rpb25fX2ljb24tLXRyYWRpdGlvbm9mdGhlc2V2ZW5raW5nZG9tIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnaWNvbi10cmlhbHMucG5nJyk7XG4gICAgQGluY2x1ZGUgYnAocmV0aW5hKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdpY29uLXRyaWFsc0AyeC5wbmcnKTtcbiAgICB9XG59XG4uZGlzY292ZXItc2VjdGlvbl9faWNvbi0td2VkZGluZyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2ljb24tbG92ZS5wbmcnKTtcbiAgICBAaW5jbHVkZSBicChyZXRpbmEpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2ljb24tbG92ZUAyeC5wbmcnKTtcbiAgICB9XG59XG5cblxuLmRpc2NvdmVyLXNlY3Rpb24tLWNoYXJhY3RlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2Rpc2NvdmVyL2Rpc2NvdmVyLTAzLnBuZycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMzc1cHggNjUwcHg7XG4gICAgQGluY2x1ZGUgYnAocmV0aW5hKSB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzc1cHggODk4cHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdkaXNjb3Zlci9kaXNjb3Zlci0wM0AyeC5wbmcnKTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIxLCAxMzksIDUsIDAuNCk7XG4gICAgfVxufVxuLmRpc2NvdmVyLXNlY3Rpb24tLWdlb2dyYXBoeSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2Rpc2NvdmVyL2Rpc2NvdmVyLTA0LnBuZycpO1xuICAgIEBpbmNsdWRlIGJwKHJldGluYSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnZGlzY292ZXIvZGlzY292ZXItMDRAMngucG5nJyk7XG4gICAgfSAgICBcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjNDc1ZTM1LCAwLjQpO1xuICAgIH1cbn1cbi5kaXNjb3Zlci1zZWN0aW9uLS1rZXliYXR0bGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdkaXNjb3Zlci9kaXNjb3Zlci0wNS5wbmcnKTtcbiAgICBAaW5jbHVkZSBicChyZXRpbmEpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2Rpc2NvdmVyL2Rpc2NvdmVyLTA1QDJ4LnBuZycpO1xuICAgIH0gICAgXG4gICAgXG4gICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoIzI4MzU0ZCwgMC40KTtcbiAgICB9XG59XG4uZGlzY292ZXItc2VjdGlvbi0tdW50aW1lbHllbmQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdkaXNjb3Zlci9kaXNjb3Zlci5wbmcnKTtcbiAgICBAaW5jbHVkZSBicChyZXRpbmEpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2Rpc2NvdmVyL2Rpc2NvdmVyQDJ4LnBuZycpO1xuICAgIH0gICAgXG4gICAgXG4gICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoIzVjNWM1YywgMC40KTtcbiAgICB9XG59XG4uZGlzY292ZXItc2VjdGlvbi0tdHJhZGl0aW9ub2Z0aGVzZXZlbmtpbmdkb20ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdkaXNjb3Zlci9kaXNjb3Zlci0wNi5wbmcnKTtcbiAgICBAaW5jbHVkZSBicChyZXRpbmEpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2Rpc2NvdmVyL2Rpc2NvdmVyLTA2QDJ4LnBuZycpO1xuICAgIH0gICAgXG4gICAgXG4gICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoIzg3NjY1MCwgMC40KTtcbiAgICB9XG59XG4uZGlzY292ZXItc2VjdGlvbi0td2VkZGluZyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2Rpc2NvdmVyL2Rpc2NvdmVyLTA3LnBuZycpO1xuICAgIEBpbmNsdWRlIGJwKHJldGluYSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnZGlzY292ZXIvZGlzY292ZXItMDdAMngucG5nJyk7XG4gICAgfSAgICBcbiAgICBcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjODUwYTJhLCAwLjQpO1xuICAgIH1cbn0iLCIuZGlzY292ZXItc2NyZWVuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IG1hcC1nZXQoJHotaW5kZXgsICdkaXNjb3Zlci1zY3JlZW4nKTtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7IC8qIGhhcyB0byBiZSBzY3JvbGwsIG5vdCBhdXRvICovXG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIGJhY2tncm91bmQ6IHVybCgkSU1HX1VSTCArICdiZy1hcHAucG5nJykgcmVwZWF0IGNlbnRlciBjZW50ZXIgO1xuICAgIHotaW5kZXg6IDM7XG5cbiAgICBAaW5jbHVkZSBicChsYW5kc2NhcGUpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59IiwiLmVwaXNvZGUtaW5mbyB7XG4gICAgZm9udC1mYW1pbHk6ICdDaW56ZWwnLCBzZXJpZjsgICAgXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8qIFRvIGhpZGUgZXBpc29kZSBkcmF3ZXIgdGV4dCB3aGVuIGl0IGFuaW1hdGVzIHVwLCBvdGhlcndpc2UgY2FuIHNlZSBiZWxvdyBuYXZpZ2F0b3IgdGFwZXN0cnkgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuOyBcblxuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdlcGlzb2RlLWRyYXdlci10b3AucG5nJyk7XG4gICAgLyogU21hbGwgYmFja2dyb3VuZC1zaXplIG9uIHB1cnBvc2UgdG8gbWFrZSBzaG9ydGVyICovXG4gICAgYmFja2dyb3VuZC1zaXplOiAzNzVweCA2N3B4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBAaW5jbHVkZSBicChyZXRpbmEpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2VwaXNvZGUtZHJhd2VyLXRvcEAyeC5wbmcnKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnAoc21hbGwtZGVza3RvcCkge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDM3NXB4IDkwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIH1cbn1cbi5lcGlzb2RlLWluZm9fX3dyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IC0yMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBicChzbWFsbC1kZXNrdG9wKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC01NXB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicChsYW5kc2NhcGUpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIGJvdHRvbTogMjZweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsLWRlc2t0b3ApIHtcbiAgICAgICAgICAgIGJvdHRvbTogNDZweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5lcGlzb2RlLWluZm9fX3RvZ2dsZSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC01MHB4O1xuICAgIHRvcDogLTEzcHg7XG4gICAgcGFkZGluZzogM3B4IDlweDtcbiAgICB3aWR0aDogOTlweDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgYmFja2dyb3VuZDogdXJsKCRJTUdfVVJMICsgJ2JnLW1lbnUtdG9nZ2xlLnBuZycpIG5vLXJlcGVhdCAtN3B4IGNlbnRlciB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEyMnB4IDM2cHg7XG4gICAgQGluY2x1ZGUgYnAocmV0aW5hKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdiZy1tZW51LXRvZ2dsZUAyeC5wbmcnKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnAoc21hbGwtZGVza3RvcCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnYmctbWVudS10b2dnbGVAMngucG5nJyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjAwcHggNTZweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC04NXB4O1xuICAgICAgICB0b3A6IC0zMXB4O1xuICAgICAgICB3aWR0aDogMTc5cHg7XG4gICAgICAgIGhlaWdodDogNzJweDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjYpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAobGFuZHNjYXBlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuLmVwaXNvZGUtaW5mb19fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBmb250LXNpemU6IHJlbSgxOSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgQGluY2x1ZGUgYnAoc21hbGwtZGVza3RvcCkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyNSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChsYW5kc2NhcGUpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChsYW5kc2NhcGUpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4uZXBpc29kZS1pbmZvX19zdWJ0aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgQGluY2x1ZGUgYnAoc21hbGwtZGVza3RvcCkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAobGFuZHNjYXBlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuLmVwaXNvZGUtaW5mb19fZXBpc29kZS1udW1iZXIge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmVwaXNvZGUtaW5mb19fc2hhcmUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbn1cbi5lcGlzb2RlLWluZm9fX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nLWJvdHRvbTogN3B4O1xuICAgIG1heC13aWR0aDogJG1heC1kZXNrdG9wLWJvZHktd2lkdGggKyAyNTBweDtcbiAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgQGluY2x1ZGUgYnAoc21hbGwtZGVza3RvcCkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJwKGxhbmRzY2FwZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxufVxuLmVwaXNvZGUtaW5mb19fc2xpZGVyIHtcbiAgICBtYXgtaGVpZ2h0OiAzNjBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvOyAgICBcbiAgICBAaW5jbHVkZSBicChzbWFsbC1kZXNrdG9wKSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJwKGxhbmRzY2FwZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiIsIi5leHBsb3JlLXNjcmVlbiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xufSIsIi5mb290ZXItZHJhd2VyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnYmctYXBwLnBuZycpO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OjA7XG4gICAgYm90dG9tOiAkYXBwLXRhYnMtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIGJwKHNtYWxsLWRlc2t0b3ApIHtcbiAgICAgICAgYm90dG9tOiAkYXBwLXRhYnMtZGVza3RvcC1oZWlnaHQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJwKGxhbmRzY2FwZSkge1xuICAgICAgICBib3R0b206IHJlbSgxNSk7XG4gICAgfVxufVxuLmV4cGxvcmUtc2NyZWVuLWd1aWRlZCAuZm9vdGVyLWRyYXdlciB7XG4gICAgYm90dG9tOiAkYXBwLXRhYnMtaGVpZ2h0IC0gJGd1aWRlZC1ib3R0b20tb2Zmc2V0O1xuICAgIEBpbmNsdWRlIGJwKHNtYWxsLWRlc2t0b3ApIHtcbiAgICAgICAgYm90dG9tOiAkYXBwLXRhYnMtZGVza3RvcC1oZWlnaHQgLSAkZ3VpZGVkLWJvdHRvbS1kZXNrdG9wLW9mZnNldCAtIDVweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnAobGFuZHNjYXBlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufSIsIi5ndWlkZWQtZXhwbG9yZS1uYXYge1xuICAgIGhlaWdodDogODBweDtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiA1cHg7XG4gICAgei1pbmRleDogbWFwLWdldCgkei1pbmRleCwgJ2d1aWRlZC1leHBsb3JlLW5hdicpO1xuXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2d1aWRlZC1leHBsb3JlLnBuZycpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyMzdweCAxMDlweDtcbiAgICBAaW5jbHVkZSBicChyZXRpbmEpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2d1aWRlZC1leHBsb3JlQDJ4LnBuZycpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicChsYW5kc2NhcGUpIHtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cbn1cbi5ndWlkZWQtZXhwbG9yZS1uYXZfX3RleHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIGxlZnQ6IDI1cHg7XG4gICAgcmlnaHQ6IDI1cHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG4uZ3VpZGVkLWV4cGxvcmUtbmF2X19uZXh0IHtcbiAgICByaWdodDogMTBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5ndWlkZWQtZXhwbG9yZS1uYXZfX3ByZXZpb3VzIHtcbiAgICBsZWZ0OiAxMHB4O1xufVxuLmd1aWRlZC1leHBsb3JlLW5hdl9fbmV4dCxcbi5ndWlkZWQtZXhwbG9yZS1uYXZfX3ByZXZpb3VzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTU0cHg7XG4gICAgaGVpZ2h0OiA3NHB4O1xuXG4gICAgW2NsYXNzXj1cImljb24tXCJdLFxuICAgIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICAgICAgICB0b3A6IHJlbSgyNSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG59XG4uZ3VpZGVkLWV4cGxvcmUtbmF2X190aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiAnQ2luemVsJywgc2VyaWY7XG4gICAgZm9udC1zaXplOiByZW0oMjEpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0oMjEpO1xuICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgIEBpbmNsdWRlIGJwKHNtYWxsLWRlc2t0b3ApIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgIH1cbn1cbi5ndWlkZWQtZXhwbG9yZS1uYXZfX3N1YnRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6ICdDaW56ZWwnLCBzZXJpZjtcbiAgICBsaW5lLWhlaWdodDogcmVtKDE1KTtcbiAgICBAaW5jbHVkZSBicChzbWFsbC1kZXNrdG9wKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIH1cbn0iLCIuaW50cm8tbG9hZGluZy1zY3JlZW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGxvY2FsO1xuICAgIHotaW5kZXg6IG1hcC1nZXQoJHotaW5kZXgsICdpbnRyby1sb2FkaW5nLXNjcmVlbicpO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSA1MDBtcyBlYXNlLW91dCwgdG9wIDBtcyBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwbXMsIDc1MG1zO1xuICAgICYuaGlkZSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICB9XG59XG4uaW50cm8tbG9hZGluZy1zY3JlZW5fX2xvZ28ge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnbG9nby1lbi5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMHB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAzMDBweCA0MXB4O1xuXG4gICAgJi5kZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdsb2dvLWRlLnN2ZycpO1xuICAgIH1cbiAgICAmLmVzIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2xvZ28tZXMuc3ZnJyk7XG4gICAgfVxuICAgICYuZnIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnbG9nby1mci5zdmcnKTtcbiAgICB9XG4gICAgJi5pdCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdsb2dvLWl0LnN2ZycpO1xuICAgIH1cbiAgICAmLm5sIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2xvZ28tbmwuc3ZnJyk7XG4gICAgfVxuXG59XG4uaW50cm8tbG9hZGluZy1zY3JlZW5fX3ZpZGVvIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAuaW50cm8tbG9hZGluZy1zY3JlZW4uaGlkZSAmIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgIH1cbn1cblxuLmludHJvLWxvYWRpbmctc2NyZWVuX19ib2R5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbi5pbnRyby1sb2FkaW5nLXNjcmVlbl9fcHJvZ3Jlc3Mge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnbG9hZGluZy1iYXIucG5nJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyNzVweCAyNXB4O1xuICAgIEBpbmNsdWRlIGJwKHJldGluYSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnbG9hZGluZy1iYXJAMngucG5nJyk7XG4gICAgfTtcbiAgICB3aWR0aDogMjc1cHg7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIG1hcmdpbjogMjBweCBhdXRvIDA7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuLmludHJvLWxvYWRpbmctc2NyZWVuX19wcm9ncmVzcy1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG8gMHB4O1xuICAgIG9wYWNpdHk6IDAuOTtcbn1cbi5pbnRyby1sb2FkaW5nLXNjcmVlbl9fcHJvZ3Jlc3MtZG9uZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB0b3A6IDBweDtcbiAgICBsZWZ0OiAwcHg7XG4gICAgcmlnaHQ6IDBweDtcbiAgICBib3R0b206IDBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnbG9hZGluZy1iYXItaW5zaWRlLnBuZycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjc1cHggMjVweDtcbiAgICBAaW5jbHVkZSBicChyZXRpbmEpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2xvYWRpbmctYmFyLWluc2lkZUAyeC5wbmcnKTtcbiAgICB9O1xuICAgIHdpZHRoOiAwJTtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAyNTBtcztcbn0iLCIubWFpbi1zY3JlZW5zLWNvbnRhaW5lcl9fYm9keSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTBweDtcbiAgICB6LWluZGV4OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG5cbiAgICBib3R0b206ICRhcHAtdGFicy1oZWlnaHQgLSA1cHg7XG4gICAgQGluY2x1ZGUgYnAoc21hbGwtZGVza3RvcCkge1xuICAgICAgICBib3R0b206ICRhcHAtdGFicy1kZXNrdG9wLWhlaWdodCAtIDVweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnAobGFuZHNjYXBlKSB7XG4gICAgICAgIHRvcDogMHB4O1xuICAgICAgICBib3R0b206IDBweDtcbiAgICB9ICAgIFxufSIsIi5wb2ludC1vZi1pbnRlcmVzdC1zY3JlZW4ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogbWFwLWdldCgkei1pbmRleCwgJ3BvaW50LW9mLWludGVyZXN0LXNjcmVlbicpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7IC8qIGhhcyB0byBiZSBzY3JvbGwsIG5vdCBhdXRvICovXG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIEBpbmNsdWRlIGJwKHNtYWxsLWRlc2t0b3ApIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjUpO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogYXV0bztcbiAgICB9ICAgIFxuICAgIEBpbmNsdWRlIGJwKGxhbmRzY2FwZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4ucG9pbnQtb2YtaW50ZXJlc3Qtc2NyZWVuX19tb2RhbCB7XG4gICAgQGluY2x1ZGUgYnAoc21hbGwtZGVza3RvcCkge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJElNR19VUkwgKyAnYmctYXBwLnBuZycpO1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICBtYXgtd2lkdGg6ICRtYXgtZGVza3RvcC1ib2R5LXdpZHRoO1xuICAgICAgICBtYXJnaW46IDEwMHB4IGF1dG8gMDtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAxNXB4IDJweCByZ2JhKDAsMCwwLDAuNSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgIH1cbn1cblxuLnBvaW50LW9mLWludGVyZXN0LXNjcmVlbl9faGVhZGVyIHtcbiAgICBwYWRkaW5nOiAyNXB4IDI1cHggNXB4O1xuICAgIGZvbnQtZmFtaWx5OiAnQ2luemVsJywgc2VyaWY7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMHB4O1xuICAgIGxlZnQ6IDBweDtcbiAgICByaWdodDogMHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMzc1cHggMTU4cHg7XG4gICAgei1pbmRleDogMjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7ICAgIFxuICAgICAgICBvcGFjaXR5OiAwLjk7XG4gICAgfVxuXG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7ICAgICBcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMDEwYzJiLCAwLjcpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKHNtYWxsLWRlc2t0b3ApIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nLXRvcDogMzhweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBub3JtYWw7XG4gICAgICAgIH1cbiAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbi5wb2ludC1vZi1pbnRlcmVzdC1zY3JlZW5fX2hlYWRlcl9fYm90dG9tLWltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogLTI0cHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdwb2ludC1vZi1pbnRlcmVzdC10b3AucG5nJyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAzNzVweCAzMHB4O1xuICAgIEBpbmNsdWRlIGJwKHJldGluYSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAncG9pbnQtb2YtaW50ZXJlc3QtdG9wQDJ4LnBuZycpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicChzbWFsbC1kZXNrdG9wKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuLnBvaW50LW9mLWludGVyZXN0LXNjcmVlbl9faGVhZGVyLWVwaXNvZGUtaW5mbyB7XG4gICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBicChzbWFsbC1kZXNrdG9wKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICB9XG59XG4ucG9pbnQtb2YtaW50ZXJlc3Qtc2NyZWVuX19oZWFkZXItdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTA7XG4gICAgQGluY2x1ZGUgYnAoc21hbGwtZGVza3RvcCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbi5wb2ludC1vZi1pbnRlcmVzdC1zY3JlZW5fX2hlYWRlci10b3AuZGVza3RvcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gICAgQGluY2x1ZGUgYnAoc21hbGwtZGVza3RvcCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG4ucG9pbnQtb2YtaW50ZXJlc3Qtc2NyZWVuX19oZWFkZXItYmFjayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDExO1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIGhlaWdodDogNjBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiByZW0oMjApO1xuXG4gICAgW2NsYXNzXj1cImljb24tXCJdLCBcbiAgICBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDI0cHg7XG4gICAgICAgIGxlZnQ6IDI1cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwtZGVza3RvcCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH0gICAgXG59XG4ucG9pbnQtb2YtaW50ZXJlc3Qtc2NyZWVuX19oZWFkZXItYmFjay5kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgZm9udC1zaXplOiByZW0oMjUpO1xuICAgIHRvcDogMTVweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgYnAoc21hbGwtZGVza3RvcCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG4ucG9pbnQtb2YtaW50ZXJlc3Qtc2NyZWVuX19oZWFkZXItc2hhcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICBwYWRkaW5nOiAyNXB4O1xuICAgIHRvcDogMDtcbiAgICBcbiAgICBAaW5jbHVkZSBicChzbWFsbC1kZXNrdG9wKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgLmRlc2t0b3AgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDIyKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4ucG9pbnQtb2YtaW50ZXJlc3Qtc2NyZWVuX19oZWFkZXItdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgbWFyZ2luOiByZW0oMTIpIDAgcmVtKDMwKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBsaW5lLWhlaWdodDogcmVtKDI4KTtcblxuICAgIEBpbmNsdWRlIGJwKHNtYWxsLWRlc2t0b3ApIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgzMCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICB9XG59XG4ucG9pbnQtb2YtaW50ZXJlc3Qtc2NyZWVuX19ib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnYmctYXBwLnBuZycpO1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogbG9jYWw7XG4gICAgcGFkZGluZzogMzBweCAzNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYTIxMzM7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTE2cHg7XG4gICAgYm90dG9tOiAwcHg7XG4gICAgbGVmdDogMHB4O1xuICAgIHJpZ2h0OiAwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjApO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKHNtYWxsLWRlc2t0b3ApIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICB9XG5cbn1cbi5wb2ludC1vZi1pbnRlcmVzdC1zY3JlZW5fX2JvZHktcXVvdGUge1xuICAgIGZvbnQtZmFtaWx5OiAnQ2luemVsJywgc2VyaWY7XG4gICAgZm9udC1zaXplOiByZW0oMTkpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0oMjEpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4ucG9pbnQtb2YtaW50ZXJlc3Qtc2NyZWVuX19ib2R5LXN1YnRpdGxlIHtcbiAgICBAaW5jbHVkZSBmb250SGVhZGluZyhib2xkKTsgICAgXG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwKTtcbiAgICBtYXJnaW4tdG9wOiByZW0oMjQpO1xufVxuLnBvaW50LW9mLWludGVyZXN0LXNjcmVlbl9fYm9keS1wYXJhZ3JhcGgge1xuICAgIEBpbmNsdWRlIGZvbnRQYXJhZ3JhcGgoKTtcbn1cbi5wb2ludC1vZi1pbnRlcmVzdC1zY3JlZW5fX2JvZHktaW1hZ2VzIHtcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xuXG59XG4ucG9pbnQtb2YtaW50ZXJlc3Qtc2NyZWVuX19ib2R5LWltYWdlcy1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwKVxufVxuLnBvaW50LW9mLWludGVyZXN0LXNjcmVlbl9fYm9keS1saW5rIHtcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgIEBpbmNsdWRlIGZvbnRIZWFkaW5nKGJvbGQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICBAaW5jbHVkZSBicChzbWFsbC1kZXNrdG9wKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbn1cbi5wb2ludC1vZi1pbnRlcmVzdC1zY3JlZW5fX2xpbmstaWNvbiB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBmb250LXNpemU6IHJlbSgyMCk7XG59XG5cblxuLnBvaW50LW9mLWludGVyZXN0LXNjcmVlbi0tY2hhcmFjdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnZGlzY292ZXIvZGlzY292ZXItMDMucG5nJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAzNzVweCA2NTBweDtcbiAgICBAaW5jbHVkZSBicChyZXRpbmEpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2Rpc2NvdmVyL2Rpc2NvdmVyLTAzQDJ4LnBuZycpO1xuICAgIH1cbn1cbi5wb2ludC1vZi1pbnRlcmVzdC1zY3JlZW4tLWdlb2dyYXBoeSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2Rpc2NvdmVyL2Rpc2NvdmVyLTA0LnBuZycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMzc1cHggMTU4cHg7XG4gICAgQGluY2x1ZGUgYnAocmV0aW5hKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdkaXNjb3Zlci9kaXNjb3Zlci0wNEAyeC5wbmcnKTtcbiAgICB9XG59XG4ucG9pbnQtb2YtaW50ZXJlc3Qtc2NyZWVuLS1rZXliYXR0bGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdkaXNjb3Zlci9kaXNjb3Zlci0wNS5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDM3NXB4IDE1OHB4O1xuICAgIEBpbmNsdWRlIGJwKHJldGluYSkge1xuICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2Rpc2NvdmVyL2Rpc2NvdmVyLTA1QDJ4LnBuZycpO1xuICAgIH1cbn1cbi5wb2ludC1vZi1pbnRlcmVzdC1zY3JlZW4tLXVudGltZWx5ZW5kIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDM3NXB4IDE2MHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdkaXNjb3Zlci9kaXNjb3Zlci5wbmcnKTtcbiAgICBAaW5jbHVkZSBicChyZXRpbmEpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2Rpc2NvdmVyL2Rpc2NvdmVyQDJ4LnBuZycpOyAgIFxuICAgIH1cbn1cbi5wb2ludC1vZi1pbnRlcmVzdC1zY3JlZW4tLXRyYWRpdGlvbm9mdGhlc2V2ZW5raW5nZG9tIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnZGlzY292ZXIvZGlzY292ZXItMDYucG5nJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAzNzVweCAxNThweDtcbiAgICBAaW5jbHVkZSBicChyZXRpbmEpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2Rpc2NvdmVyL2Rpc2NvdmVyLTA2QDJ4LnBuZycpO1xuICAgIH1cbn1cbi5wb2ludC1vZi1pbnRlcmVzdC1zY3JlZW4tLXdlZGRpbmcge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdkaXNjb3Zlci9kaXNjb3Zlci0wNy5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDM3NXB4IDE1OHB4O1xuICAgIEBpbmNsdWRlIGJwKHJldGluYSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnZGlzY292ZXIvZGlzY292ZXItMDdAMngucG5nJyk7ICAgXG4gICAgfVxufSIsIi5zZXR0aW5ncy1zY3JlZW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwcHg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206ICRhcHAtdGFicy1oZWlnaHQgLSA1cHg7XG4gICAgei1pbmRleDogbWFwLWdldCgkei1pbmRleCwgJ3NldHRpbmdzLXNjcmVlbicpO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgLyogaGFzIHRvIGJlIHNjcm9sbCwgbm90IGF1dG8gKi9cbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2JnLWFwcC1saWdodGVyLnBuZycpO1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogbG9jYWw7XG4gICAgcGFkZGluZzogMTVweCAzNXB4IDMwcHg7ICAgIFxuICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgIEBpbmNsdWRlIGJwKHNtYWxsLWRlc2t0b3ApIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC41KTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnAobGFuZHNjYXBlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG4uc2V0dGluZ3Mtc2NyZWVuX19tb2RhbCB7XG5cbiAgICBtaW4taGVpZ2h0OiA0MDBweDsgLy8gZml4IGZvciBpT1Mgd2hlcmUgc2Nyb2xsIHBhbmUgaXMgbm90IHJlc3BlY3RlZCB3aGVuIHNob3dpbmcgZXhwYW5kaW5nIGNvbnRlbnRcblxuICAgIEBpbmNsdWRlIGJwKHNtYWxsLWRlc2t0b3ApIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdiZy1hcHAtbGlnaHRlci5wbmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBsb2NhbDsgIFxuICAgICAgICBtYXgtd2lkdGg6ICRtYXgtZGVza3RvcC1ib2R5LXdpZHRoO1xuICAgICAgICBwYWRkaW5nOiA0NXB4IDY1cHg7XG4gICAgfVxufVxuLnNldHRpbmdzLXNjcmVlbl9fY2xvc2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQGluY2x1ZGUgYnAoc21hbGwtZGVza3RvcCkge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICB9XG59XG4uc2V0dGluZ3Mtc2NyZWVuX19saXN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuLnNldHRpbmdzLXNjcmVlbl9fbGlzdC1pdGVtIHtcbiAgICBAaW5jbHVkZSBmb250SGVhZGluZygpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICBwYWRkaW5nOiAyOHB4IDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgYnAoc21hbGwtZGVza3RvcCkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgICAgIHBhZGRpbmc6IDQ4cHggMDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDc1cHg7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICBib3R0b206IDBweDtcbiAgICB9XG59XG4uc2V0dGluZ3Mtc2NyZWVuX19saXN0LWl0ZW0tYm9keSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnNldHRpbmdzLXNjcmVlbl9fc2V0dGluZy1pY29uIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgZm9udC1zaXplOiByZW0oMzApO1xuICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgQGluY2x1ZGUgYnAoc21hbGwtZGVza3RvcCkge1xuICAgICAgICB0b3A6IDQwcHg7XG4gICAgfVxuICAgIC5zZXR0aW5ncy1zY3JlZW5fX2ZsYWctaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgfVxufVxuLnNldHRpbmdzLXNjcmVlbl9fc2V0dGluZy1pY29uLWZsYWcge1xuICAgIHJpZ2h0OiA1cHg7XG59XG4uc2V0dGluZ3Mtc2NyZWVuIHAge1xuICAgIEBpbmNsdWRlIGZvbnRQYXJhZ3JhcGg7XG59XG4uc2V0dGluZ3Mtc2NyZWVuX192aXNpdC1pcmVsYW5kIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogcmVtKDI0KTtcbn1cbi5zZXR0aW5ncy1zY3JlZW5fX3Zpc2l0LWlyZWxhbmQgaDMge1xuICAgIEBpbmNsdWRlIGZvbnRIZWFkaW5nKCk7XG4gICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSg2KTtcbiAgICBAaW5jbHVkZSBicChzbWFsbC1kZXNrdG9wKSB7ICAgIFxuICAgICAgICBmb250LXNpemU6IHJlbSgyNik7XG4gICAgfVxufVxuLnNldHRpbmdzLXNjcmVlbl9fdmlzaXQtaXJlbGFuZCBpbWcge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIG1hcmdpbi10b3A6IDVweDtcbn1cbi5zZXR0aW5ncy1zY3JlZW5fX3Zpc2l0LWlyZWxhbmQgYSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG59XG4uc2V0dGluZ3Mtc2NyZWVuX19sYW5ndWFnZXMtaXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zZXR0aW5ncy1zY3JlZW5fX2ZsYWctaWNvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cbn1cbi5zZXR0aW5ncy1zY3JlZW5fX2xhbmd1YWdlcy1pdGVtLW5hbWUge1xuICAgICYuYWN0aXZlIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxufVxuXG4vKiBGbGFncyAqL1xuLnNldHRpbmdzLXNjcmVlbl9fZmxhZy1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMS4zMzMzMzMzM2VtO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG59XG4uc2V0dGluZ3Mtc2NyZWVuX19mbGFnLWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMDBhMFwiO1xufVxuJGZsYWdzOiAoXCJnYlwiLCBcImZyXCIsIFwibmxcIiwgXCJpdFwiLCBcImRlXCIsIFwiZXNcIiwgXCJ3b3JsZFwiKTtcbkBlYWNoICRmbGFnIGluICRmbGFncyB7XG4gICAgLnNldHRpbmdzLXNjcmVlbl9fZmxhZy1pY29uLSN7JGZsYWd9IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdmbGFncy8jeyRmbGFnfS5zdmcnKTtcbiAgICB9XG59IiwiLnN0b3J5LXNjcmVlbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiBtYXAtZ2V0KCR6LWluZGV4LCAnc3Rvcnktc2NyZWVuJyk7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyAvKiBoYXMgdG8gYmUgc2Nyb2xsLCBub3QgYXV0byAqL1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnYmctYXBwLWxpZ2h0ZXIucG5nJyk7XG4gICAgXG4gICAgQGluY2x1ZGUgYnAoc21hbGwtZGVza3RvcCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnYmctYXBwLnBuZycpO1xuICAgIH1cbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGxvY2FsO1xuICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgY29sb3I6IHdoaXRlO1xuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwtZGVza3RvcCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnYmctYXBwLnBuZycpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicChsYW5kc2NhcGUpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbi5zdG9yeS1zY3JlZW4tY29uc3RyYWluZXIge1xuICAgIEBpbmNsdWRlIGJwKHNtYWxsLWRlc2t0b3ApIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkbWF4LWRlc2t0b3AtYm9keS13aWR0aDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxufVxuLnN0b3J5LXNjcmVlbiBoMiB7XG4gICAgQGluY2x1ZGUgZm9udEhlYWRpbmcobm9ybWFsKTtcbiAgICBAaW5jbHVkZSBicChzbWFsbC1kZXNrdG9wKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE5KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgxNik7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSg0Mik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxOCk7XG4gICAgfSAgICBcbn1cbi5zdG9yeS1zY3JlZW4gcCB7XG4gICAgQGluY2x1ZGUgZm9udFBhcmFncmFwaDtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMjApO1xuICAgIEBpbmNsdWRlIGJwKHNtYWxsLWRlc2t0b3ApIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDEwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIyKTsgICAgICAgIFxuICAgIH1cbn1cbi5zdG9yeS1zY3JlZW4gZmlndXJlIHtcbiAgICBtYXJnaW46IHJlbSgxNikgMDtcbiAgICBAaW5jbHVkZSBicChzbWFsbC1kZXNrdG9wKSB7XG4gICAgICAgIG1hcmdpbjogcmVtKDIyKSAwO1xuICAgIH1cbn1cbi5zdG9yeS1zY3JlZW4gYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuLnN0b3J5LXNjcmVlbiBmaWd1cmUgZmlnY2FwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogcmVtKDEwKTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IHJlbSgyMCk7XG59IiwiLnRhcGVzdHJ5LWV4cGxvcmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBtb3ZlO1xuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xuICAgIGN1cnNvcjogLW1vei1ncmFiO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gI3skdGFwZXN0cnktbmF2aWdhdG9yLWhlaWdodH0gLSAjeyRlcC1kcmF3ZXItaGVpZ2h0fSk7XG4gICAgQGluY2x1ZGUgYnAoc21hbGwtZGVza3RvcCkge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICN7JHRhcGVzdHJ5LW5hdmlnYXRvci1kZXNrdG9wLWhlaWdodH0gLSAjeyRlcC1kcmF3ZXItZGVza3RvcC1oZWlnaHR9KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnAobGFuZHNjYXBlKSB7XG4gICAgICAgICRsYW5kc2NhcGUtbmF2aWdhdG9yLXBhZGRpbmc6IDMwcHg7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gI3skdGFwZXN0cnktbmF2aWdhdG9yLWhlaWdodH0gLSAjeyRsYW5kc2NhcGUtbmF2aWdhdG9yLXBhZGRpbmd9KTtcbiAgICAgICAgLyogdGFibGV0ICovXG4gICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsLWRlc2t0b3ApIHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gI3skdGFwZXN0cnktbmF2aWdhdG9yLWhlaWdodH0gLSAjeyRsYW5kc2NhcGUtbmF2aWdhdG9yLXBhZGRpbmd9IC0gMjBweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4uZXhwbG9yZS1zY3JlZW4tZ3VpZGVkIC50YXBlc3RyeS1leHBsb3JlciB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAjeyRndWlkZWQtbmF2LWhlaWdodH0gLSAjeyRlcC1kcmF3ZXItaGVpZ2h0fSArICN7JGd1aWRlZC1ib3R0b20tb2Zmc2V0fSk7XG4gICAgQGluY2x1ZGUgYnAoc21hbGwtZGVza3RvcCkge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICN7JGd1aWRlZC1uYXYtZGVza3RvcC1oZWlnaHR9IC0gI3skZXAtZHJhd2VyLWRlc2t0b3AtaGVpZ2h0fSArICN7JGd1aWRlZC1ib3R0b20tb2Zmc2V0fSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJwKGxhbmRzY2FwZSkge1xuICAgICAgICAkb3ZlcmxhcDogNXB4O1xuICAgICAgICB0b3A6IC0kb3ZlcmxhcDtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAjeyRndWlkZWQtbmF2LWhlaWdodCAtICRvdmVybGFwfSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG59XG4udGFwZXN0cnktZXhwbG9yZXJfX3ZpZXdlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuLnRhcGVzdHJ5LWV4cGxvcmVyX19wb2kge1xuICAgIHdpZHRoOiA0MnB4O1xuICAgIGhlaWdodDogNDRweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgYnAobGFuZHNjYXBlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgYmFja2dyb3VuZC1zaXplOiA0MnB4IDQ0cHg7XG5cbiAgICAmLmlzLWhpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi50YXBlc3RyeS1leHBsb3Jlcl9fcG9pLS1jaGFyYWN0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdpY29uLWNoYXJhY3Rlci5wbmcnKTtcbiAgICBAaW5jbHVkZSBicChyZXRpbmEpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2ljb24tY2hhcmFjdGVyQDJ4LnBuZycpO1xuICAgIH1cbn1cbi50YXBlc3RyeS1leHBsb3Jlcl9fcG9pLS1nZW9ncmFwaHkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdpY29uLWxvY2F0aW9ucy5wbmcnKTtcbiAgICBAaW5jbHVkZSBicChyZXRpbmEpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2ljb24tbG9jYXRpb25zQDJ4LnBuZycpO1xuICAgIH1cbn1cbi50YXBlc3RyeS1leHBsb3Jlcl9fcG9pLS1rZXliYXR0bGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdpY29uLWJhdHRsZXMucG5nJyk7XG4gICAgQGluY2x1ZGUgYnAocmV0aW5hKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdpY29uLWJhdHRsZXNAMngucG5nJyk7XG4gICAgfVxufVxuLnRhcGVzdHJ5LWV4cGxvcmVyX19wb2ktLXVudGltZWx5ZW5kIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnaWNvbi1kZWF0aC5wbmcnKTtcbiAgICBAaW5jbHVkZSBicChyZXRpbmEpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2ljb24tZGVhdGhAMngucG5nJyk7XG4gICAgfVxufVxuLnRhcGVzdHJ5LWV4cGxvcmVyX19wb2ktLXRyYWRpdGlvbm9mdGhlc2V2ZW5raW5nZG9tIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnaWNvbi10cmlhbHMucG5nJyk7XG4gICAgQGluY2x1ZGUgYnAocmV0aW5hKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkSU1HX1VSTCArICdpY29uLXRyaWFsc0AyeC5wbmcnKTtcbiAgICB9XG59XG4udGFwZXN0cnktZXhwbG9yZXJfX3BvaS0td2VkZGluZyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2ljb24tbG92ZS5wbmcnKTtcbiAgICBAaW5jbHVkZSBicChyZXRpbmEpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2ljb24tbG92ZUAyeC5wbmcnKTtcbiAgICB9XG59XG5cblxuLnRhcGVzdHJ5LWV4cGxvcmVyX19tb2RhbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkIHdoaXRlc21va2U7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCA0cHggNHB4IHJnYmEoOTMsIDg1LCA4NSwgMC42OCk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDMyLCAzOCwgNjEpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2JnLWFwcC5wbmcnKTtcbn1cblxuLnRhcGVzdHJ5LWV4cGxvcmVyX19sYW5kc2NhcGUtaW5kaWNhdG9yIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTIwcHg7XG4gICAgbWFyZ2luLXRvcDogLTc1cHg7XG4gICAgd2lkdGg6IDI0MHB4O1xuICAgIGhlaWdodDogMTUwcHg7XG4gICAgei1pbmRleDogMTtcblxuICAgIEBpbmNsdWRlIGZvbnRIZWFkaW5nKCk7XG4gICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0oMjYpO1xuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xufVxuLnRhcGVzdHJ5LWV4cGxvcmVyX19sYW5kc2NhcGUtaWNvbiB7XG4gICAgd2lkdGg6IDc1cHg7XG4gICAgbWFyZ2luOiAxNXB4IGF1dG8gMDtcbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG4udGFwZXN0cnktZXhwbG9yZXJfX3dlYXZpbmctaW4tcHJvZ3Jlc3Mge1xuICAgIEBpbmNsdWRlIGJwKGxhbmRzY2FwZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLnRhcGVzdHJ5LWV4cGxvcmVyX193ZWF2aW5nLWluLXByb2dyZXNzIGgyIHtcbiAgICBAaW5jbHVkZSBmb250SGVhZGluZygpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDIyKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMjApO1xuICAgIG1hcmdpbi10b3A6IDVweDtcbn1cbi50YXBlc3RyeS1leHBsb3Jlcl9fd2VhdmluZy1pbi1wcm9ncmVzcyBoMyB7XG4gICAgQGluY2x1ZGUgZm9udEhlYWRpbmcoKTtcbiAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwKTtcbn1cbi50YXBlc3RyeS1leHBsb3Jlcl9fd2VhdmluZy1pbi1wcm9ncmVzcyBwIHtcbiAgICBAaW5jbHVkZSBmb250SGVhZGluZygpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDMwKTtcbn0iLCIudGFwZXN0cnktbmF2aWdhdG9yIHtcbiAgICBib3R0b206ICRhcHAtdGFicy1oZWlnaHQ7ICAgXG4gICAgaGVpZ2h0OiAkdGFwZXN0cnktbmF2aWdhdG9yLWhlaWdodDtcbiAgICBjdXJzb3I6IG1vdmU7XG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gICAgY3Vyc29yOiAtbW96LWdyYWI7XG4gICAgQGluY2x1ZGUgYnAoc21hbGwtZGVza3RvcCkge1xuICAgICAgICBib3R0b206ICRhcHAtdGFicy1kZXNrdG9wLWhlaWdodDsgICBcbiAgICAgICAgaGVpZ2h0OiAkdGFwZXN0cnktbmF2aWdhdG9yLWRlc2t0b3AtaGVpZ2h0O1xuICAgIH1cbiAgICBcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ3RhcGVzdHJ5LW5hdmlnYXRvci5wbmcnKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgaGVpZ2h0OiAkdGFwZXN0cnktbmF2aWdhdG9yLWhlaWdodCArIDEzcHg7XG4gICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsLWRlc2t0b3ApIHtcbiAgICAgICAgICAgIGhlaWdodDogJHRhcGVzdHJ5LW5hdmlnYXRvci1kZXNrdG9wLWhlaWdodCArIDEzcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDIxcHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG5cbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCRJTUdfVVJMICsgJ2JnLW1pZGRsZS1tZW51LnBuZycpIG5vLXJlcGVhdCBib3R0b20gY2VudGVyIHRyYW5zcGFyZW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIxcHggNTBweDtcbiAgICAgICAgQGluY2x1ZGUgYnAocmV0aW5hKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJElNR19VUkwgKyAnYmctbWlkZGxlLW1lbnVAMngucG5nJyk7ICAgIFxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsLWRlc2t0b3ApIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjFweCA3NXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRJTUdfVVJMICsgJ2JnLW1pZGRsZS1tZW51LWRlc2t0b3AucG5nJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAqIHtcbiAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbn1cbi5leHBsb3JlLXNjcmVlbi1ndWlkZWQgLnRhcGVzdHJ5LW5hdmlnYXRvciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi50YXBlc3RyeS1uYXZpZ2F0b3JfX2VwaXNvZGUtbm90Y2gge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTJiM2Q7XG4gICAgd2lkdGg6IDRweDtcbiAgICBoZWlnaHQ6IDlweDtcbiAgICBib3R0b206IDA7XG4gICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG59IiwiLm1vZGFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiByZW0oNDApO1xuICAgIHJpZ2h0OiByZW0oNDApO1xuICAgIGxlZnQ6IHJlbSg0MCk7XG4gICAgbWF4LXdpZHRoOiByZW0oNDAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oNDApO1xuICAgIGJhY2tncm91bmQ6IHVybCgkSU1HX1VSTCArICdiZy1hcHAucG5nJyk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBib3JkZXI6IHNvbGlkIHJlbSgzKSB3aGl0ZTtcbiAgICBwYWRkaW5nOiByZW0oMjUpIHJlbSg0MikgcmVtKDQwKTtcblxuICAgIEBpbmNsdWRlIGJwKHNtYWxsLW1vYmlsZSkge1xuICAgICAgICB0b3A6IHJlbSgxMCk7XG4gICAgICAgIHJpZ2h0OiByZW0oMTApO1xuICAgICAgICBsZWZ0OiByZW0oMTApO1xuICAgICAgICBwYWRkaW5nOiByZW0oMjUpIHJlbSgzMik7XG4gICAgICAgIHdpZHRoOiByZW0oMjgwKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtb2JpbGUpIHtcbiAgICAgICAgdG9wOiByZW0oMjApO1xuICAgICAgICBwYWRkaW5nOiByZW0oMjUpIHJlbSg0Mik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwtZGVza3RvcCkge1xuICAgICAgICB3aWR0aDogcmVtKDQwMCk7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogcmVtKDQwKTtcbiAgICB9XG5cbn1cblxuLm1vZGFsX19iZy1mYWRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuOCk7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogcmVtKDApO1xuICAgIHJpZ2h0OiByZW0oMCk7XG4gICAgbGVmdDogcmVtKDApO1xuICAgIGJvdHRvbTogcmVtKDApO1xuICAgIHotaW5kZXg6IDk5O1xuICAgIG9wYWNpdHk6IDA7XG59XG4ubW9kYWxfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBmb250SGVhZGluZyhub3JtYWwpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuLm1vZGFsX19tZXNzYWdlIHtcbiAgICBAaW5jbHVkZSBmb250SGVhZGluZyhub3JtYWwpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMTApO1xufVxuLm1vZGFsX19iYWNrLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IHJlbSgyMCk7XG4gICAgdG9wOiByZW0oMjgpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubW9kYWxfX2Nsb3NlIHtcbiAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogcmVtKDE1KTtcbiAgICByaWdodDogcmVtKDE1KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59IiwiLnNoYXJpbmctbW9kYWwge1xuICAgIHdpZHRoOiAzMzBweDtcblxuICAgIEBpbmNsdWRlIGJwKGxhbmRzY2FwZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICBAaW5jbHVkZSBicChzbWFsbC1tb2JpbGUpIHtcbiAgICAgICAgd2lkdGg6IDI4MHB4O1xuICAgIH1cbn1cblxuLnNoYXJpbmctbW9kYWxfX3RpdGxlIHtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG59XG5cbi5zaGFyaW5nLW1vZGFsX19pbWFnZS1jb250YWluZXIge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XG5cbiAgICBAaW5jbHVkZSBicChzbWFsbC1tb2JpbGUpIHtcbiAgICAgICAgd2lkdGg6IHJlbSgxNTApO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKG1vYmlsZSkge1xuICAgICAgICB3aWR0aDogcmVtKDIwMCk7XG4gICAgfVxufVxuXG4uc2hhcmluZy1tb2RhbF9fZGVzY3JpcHRpb24ge1xuICAgIEBpbmNsdWRlIGZvbnRIZWFkaW5nKG5vcm1hbCk7XG4gICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgJ2JsYWNrJyk7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIHBhZGRpbmc6IHJlbSg1KSByZW0oMTApO1xuICAgIG1heC1oZWlnaHQ6IHJlbSgxMDApO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwtbW9iaWxlKSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IHJlbSg1NCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnAobW9iaWxlKSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IHJlbSgxMDApO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgfVxufVxuXG4uc2hhcmluZy1tb2RhbF9fc2hhcmUtbGlua3Mge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgQGluY2x1ZGUgYnAoc21hbGwtbW9iaWxlKSB7XG4gICAgICAgIG1heC13aWR0aDogcmVtKDE1MCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtb2JpbGUpIHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0oMjAwKTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG59XG5cbi5zaGFyaW5nLW1vZGFsX19zaGFyZS1saW5rIHtcbiAgICBAaW5jbHVkZSBmb250SGVhZGluZyhub3JtYWwpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogcmVtKDEwKSAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgXG4gICAgQGluY2x1ZGUgYnAoc21hbGwtbW9iaWxlKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDMzJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicChtb2JpbGUpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICAgIFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgd2lkdGg6IHJlbSgyNSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsLW1vYmlsZSkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicChtb2JpbGUpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gYWRkVGhpcyBhZGRzIGFuIGV4dHJhIGRpdiB0byB0aGUgYmxvY2suIFRoZXJlZm9yZSBsYXN0LWNoaWxkIGRvZXMgbm90IHdvcmtcbiAgICAmOm50aC1jaGlsZCgzKTphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuLnNoYXJpbmctbW9kYWxfX3NoYXJlLWxpbmtfX2ljb24ge1xuICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbSg1KTsgXG59XG5kaXYuYXRjbGVhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5zaGFyaW5nLW1vZGFsX19zaGFyZS1saW5rX190ZXh0IHtcbiAgICBAaW5jbHVkZSBicChzbWFsbC1tb2JpbGUpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnAobW9iaWxlKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG59XG5cbi5zaGFyaW5nLW1vZGFsX19zaG9ydC1saW5rIHtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luOiBhdXRvO1xufSIsIi5mbGV4LXZpZGVvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDEuMzg4ODlyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDUwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMC44ODg4OXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGlmcmFtZSxcbiAgICBvYmplY3QsXG4gICAgZW1iZWQsXG4gICAgdmlkZW8ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG59Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBRUFBOzs7RUFHRTtBV0ZGLE9BQU8sQ0FBQyx1REFBSTtBQUNaLE9BQU8sQ0FBQyx5REFBSTtBWEdaLEFBQUEsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTTtBQUM3QyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLEdBQUc7QUFDMUMsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSTtBQUMxQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUk7QUFDdkMsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRztBQUN4QyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNO0FBQ2YsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO0FBQ3RCLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU07QUFDN0IsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVB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 */
